diff --git a/index.html b/index.html new file mode 100644 index 0000000..846c6f5 --- /dev/null +++ b/index.html @@ -0,0 +1,668 @@ + +PICO-8 Cartridge + + + + + + + + + + + + + +
+
+ + + +
+ +
+ +
+ + + +
+ +
+
+ + + + + + + diff --git a/index.js b/index.js new file mode 100644 index 0000000..f96c99c --- /dev/null +++ b/index.js @@ -0,0 +1,8059 @@ +var _cartname=['main.p8']; +var _cdpos=0; var iii=0; var ciii=0; +var _cartdat=[ +0,0,0,0,0,0,0,0,0,0,0,153,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,0,0,0,153,9,13,0,0,0,0,0,0,0,0,0,0,0,0,0,153,9,0,0,0,0,0,144,145,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,9,208,0,0,0,0,208,209,209,0,0,0,0,0,96,119,96,7,0,0,0,0,144,145,145,0,0,0,0,0,32,34,34,0,0,0,0,0,0,145,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,209,209,13,0,0,0,0,144,153,153,13,0,0,0,0,208,118,103,119,0,0,0,0,32,34,34,0,0,0,0,112,119,214,118,119,0,0,0,0,0,34,2,0,0,0,0,0,0,145,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,153,153,208,0,0,0,112,119,102,118,215,0,0,0,0,208,102,119,118,0,0, +0,0,119,214,118,7,0,0,0,119,103,45,109,119,7,0,0,0,0,214,6,0,0,0,0,0,0,215,7,0,0,0,0,0,0,145,1,0,0,0,0,0,119,102,118,7,13,0,0,119,103,150,102,119,7,0,0,0,0,109,119,118,0,0,0,112,103,45,109,119,0,0,112,103,214,153,217,118,119,0,0,0,103,45,109,7,0,0,0,0,112,45,125,0,0,0,0,0,0,39,7,0,0,0,0,112,103,150,102,119,0,0,112,103,102,221,109,102,119,0,0,0,34,210,118,118,0,0,0,119,103,157,109,119,7,0,112,102,45,34,34,109,118,0,0,112,214,153,217,118,0,0,0,0,215,153,217,7,0,0,0,0,112,150,118,0,0,0,0,119,102,221,109,118,7,0,96,102,119,150,118,103,102,0,0,32,146,146,109,98,0,0,0,119,214,34,210,118,7,0,96,221,153,153,153,217,109,0,0,102,45,34,34,109,6,0,0,0,45,34,34,13,0,0,0,0,96,34,98,0,0,0,112,103,118,150,118,102,119,0,0,112,103,214,102,119,0,0,0,145,146,146,210,146,153,0, +0,103,157,153,153,109,7,0,0,0,34,34,34,2,0,0,0,0,144,153,153,0,0,0,0,0,0,153,9,0,0,0,0,0,0,153,9,0,0,0,112,102,119,214,118,103,118,0,0,119,102,153,105,118,7,0,17,145,146,146,146,146,25,9,0,214,45,34,34,221,6,0,0,0,153,153,153,9,0,0,0,0,32,34,34,0,0,0,0,0,0,34,2,0,0,0,0,0,0,16,0,0,0,0,96,118,103,150,102,119,102,0,0,102,214,221,221,102,6,0,0,145,146,146,146,146,153,9,0,0,153,153,153,9,0,0,0,0,34,34,34,2,0,0,0,0,144,153,153,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,112,102,221,109,118,0,0,0,0,153,153,153,9,0,0,0,32,146,146,146,146,153,0,0,0,34,34,34,2,0,0,0,0,144,153,153,0,0,0,0,0,0,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,150,153,153,102,0,0,0,0,208,221,221,0,0,0,0,0,146,146,34,0,0,0, +0,0,144,153,153,0,0,0,0,0,0,17,1,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,221,221,0,0,0,0,0,0,17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,1,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,1,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,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,16,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,0,0,0,0,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,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,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,118,7,0,0,0,0,0,0,0,96,7,0,0,0,0,0,0,0,0,0,0,0,0,0,118,119,0,0,0,0,0,0,0,109,119,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,119,0,0,0,0,0,0,118,96,119,0,0,0,0,96,7,112,7,0,0,0,0,0,109,119,7,0,0,0,0,0,0,109,118,7,0,0,0,0,0,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,103,118,7,0,0,0,0,0,118,103,118,7,0,0,0,109,119,118,119,0,0, +0,0,146,221,118,119,0,0,0,0,32,41,217,118,7,0,0,0,0,0,109,7,0,0,0,0,0,0,125,0,0,0,0,0,0,0,0,0,0,0,0,0,102,119,102,119,0,0,0,0,144,102,119,118,7,0,0,0,109,119,103,119,0,0,0,144,146,146,109,118,146,0,0,0,41,41,41,109,39,9,0,0,144,146,210,6,0,0,0,0,0,0,210,7,0,0,0,0,0,0,118,0,0,0,0,208,105,118,103,118,217,0,0,0,157,109,118,102,151,13,0,0,208,118,103,119,0,0,0,145,146,146,210,109,18,9,0,16,41,41,41,217,38,145,0,0,146,146,146,109,18,0,0,0,0,146,146,125,1,0,0,0,0,144,98,23,0,0,0,209,217,102,214,102,25,9,0,16,157,157,102,109,150,145,0,0,34,109,103,118,0,0,17,145,146,146,146,210,146,9,16,17,41,41,41,41,45,153,0,17,146,146,146,210,146,0,0,0,16,146,146,210,9,0,0,0,0,145,146,146,0,0,17,209,217,217,217,105,217,9,16,17,157,157,157,157,150,157,0,32,146,210,118,98,0,0, +0,145,146,146,210,109,18,9,0,16,41,41,41,217,38,145,0,0,146,146,146,109,18,0,0,0,0,146,146,125,1,0,0,0,0,144,98,23,0,0,0,209,217,102,214,102,25,9,0,16,157,157,102,109,150,145,0,145,146,146,109,146,153,0,0,144,146,146,109,118,146,0,0,0,41,41,41,109,39,9,0,0,144,146,210,6,0,0,0,0,0,0,210,7,0,0,0,0,0,0,118,0,0,0,0,208,105,118,103,118,217,0,0,0,157,109,118,102,151,13,17,145,146,146,210,146,25,9,0,0,146,221,118,119,0,0,0,0,32,41,217,118,7,0,0,0,0,0,109,7,0,0,0,0,0,0,125,0,0,0,0,0,0,0,0,0,0,0,0,0,102,119,102,119,208,0,0,0,144,102,119,118,215,208,0,145,146,146,146,146,153,9,0,0,0,109,119,7,0,0,0,0,0,0,109,119,7,0,0,0,0,0,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,103,118,7,13,13,0,0,0,118,103,118,13,0,0,32,146,146,146,146,153,0, +0,0,0,118,119,0,0,0,0,0,0,0,109,119,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,119,208,0,0,0,0,0,118,96,119,0,0,0,0,146,146,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,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,118,7,0,0,0,0,0,0,0,96,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,145,121,17,17,17,0,3,0,0,3,0,0,0,0,0,9,208,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,7,0,0,0,119,119,119,7,0,0,17,17,17,145,121,17,17,17,0,144,144,0,0,0,0,0,0,0,0,208,221,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,32,34,34,34,34,2,0,0,0,0,0,0,0,112,119,118,119,22,0,0,102,119,119,119,119,0,0,17,17,17,145,121,17,17,17,208,144,153,208,0,0,0,0,144,0,0,25,153,144,0,0,0,0,0,153,153,0,0,0,0,0,0,0,0,34,34,34,34,34,34,0,0,0,0,0,0,0,112,119,102,119,22,1,0,118,119,103,118,119,0,0,17,17,17,145,121,23,17,17, +0,19,51,0,208,0,0,0,0,0,0,153,153,0,0,0,0,0,144,153,119,9,0,0,0,0,0,0,34,146,153,153,153,153,41,34,0,0,0,0,0,0,112,119,23,113,215,1,16,97,103,29,113,103,0,0,17,17,17,153,153,121,23,17,3,51,51,113,7,0,45,0,0,144,0,144,153,0,45,0,0,0,153,153,121,151,0,0,0,0,0,34,102,102,102,102,102,102,102,102,2,0,0,0,0,0,96,102,119,29,209,17,17,97,221,113,119,102,0,0,17,17,153,153,153,153,121,23,0,48,51,97,119,7,45,0,0,0,0,32,118,215,45,0,0,32,153,153,153,119,9,0,0,0,32,34,34,34,34,34,34,34,34,34,34,2,0,0,0,0,16,221,118,215,209,34,34,17,29,113,119,102,0,0,17,145,153,25,145,153,153,121,13,0,17,211,118,119,45,0,0,0,0,153,109,119,45,0,0,32,153,153,153,121,9,0,0,0,146,153,153,153,153,153,153,153,153,153,153,41,0,0,0,0,16,209,109,214,33,119,119,34,17,118,103,102,0,0,145,153,25,17,17,145,153,153, +0,3,51,211,102,119,39,0,144,144,0,34,109,119,39,0,0,32,153,153,153,153,9,0,0,32,102,102,102,102,102,102,102,102,102,102,102,102,2,0,0,0,0,17,221,221,114,153,153,39,209,102,102,1,0,0,153,25,17,17,17,17,145,153,0,0,17,17,109,118,39,0,0,0,0,153,217,118,119,144,0,32,146,153,153,153,9,0,0,32,34,34,34,34,34,34,34,34,34,34,34,34,2,0,0,0,0,16,209,45,146,153,153,41,210,221,29,1,0,0,121,17,17,17,17,17,17,145,0,0,48,51,211,102,38,0,0,0,0,34,34,109,102,0,0,0,34,153,153,153,0,0,0,32,153,153,153,153,153,153,153,153,153,153,153,153,2,0,0,0,0,102,17,33,153,153,153,153,210,221,17,0,0,0,121,17,17,17,17,17,17,145,0,0,0,17,17,221,45,0,0,0,0,153,153,217,221,0,0,0,32,146,153,9,0,0,0,32,102,102,102,102,102,102,102,102,102,102,102,102,2,0,0,0,119,103,102,45,153,153,153,153,18,17,97,118,119,0,121,17,17,17,17,17,17,145, +0,0,0,50,51,3,45,0,0,0,0,33,34,34,45,0,0,0,0,34,34,0,0,0,0,32,34,34,34,34,34,34,34,34,34,34,34,34,2,0,119,119,119,102,102,45,146,153,153,41,210,109,102,118,119,119,121,17,17,17,17,17,17,145,0,0,32,210,221,221,45,0,0,0,16,209,221,221,45,0,0,0,0,0,0,0,0,0,0,32,153,153,153,153,153,153,153,153,153,153,153,153,2,0,119,119,119,214,221,221,34,153,153,34,221,221,109,102,118,119,121,17,17,17,17,17,17,145,0,0,32,208,221,221,45,0,0,0,16,208,221,221,45,0,0,0,0,0,0,0,0,0,0,32,102,102,102,102,102,102,102,102,102,102,102,102,2,0,102,118,17,17,17,17,146,34,34,41,17,17,17,17,97,119,121,17,17,17,17,17,17,145,0,0,32,32,34,34,34,0,0,0,16,32,34,34,34,0,0,0,0,0,0,0,0,0,0,32,34,34,34,34,34,34,34,34,34,34,34,34,2,0,17,102,102,102,221,221,34,153,153,34,221,221,102,102,102,23,121,17,17,17,17,17,17,145, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,34,34,114,0,0,32,153,153,153,153,153,153,153,153,153,153,153,153,2,0,16,209,102,102,214,221,33,34,34,18,221,109,102,102,102,17,121,17,17,17,17,17,17,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,17,17,17,17,34,7,0,32,102,102,102,102,102,102,102,102,102,102,102,102,2,0,0,17,221,221,221,221,17,34,34,17,221,221,221,221,29,1,121,17,17,17,17,17,17,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,1,0,0,0,32,7,0,32,34,34,34,34,34,34,34,34,34,34,34,34,2,0,0,16,17,221,17,17,17,17,17,17,17,17,209,29,17,0,121,17,17,17,17,17,17,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,32,7,0,32,153,153,153,153,153,153,153,153,153,153,153,153,2,0,0,0,16,17,209,221,29,221,209,29,221,221,17,17,0,0,121,17,17,17,17,17,17,145, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,121,0,0,0,32,7,0,32,153,153,153,153,38,34,34,98,153,153,153,153,2,0,0,0,0,102,118,215,209,221,209,221,113,103,22,0,0,0,121,17,17,17,17,17,17,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,153,153,7,153,32,7,0,32,153,153,153,153,38,17,17,98,153,153,153,153,2,0,0,0,96,102,118,22,102,214,209,102,22,119,102,6,0,0,121,17,17,17,17,17,17,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,0,32,153,153,153,153,38,17,17,98,153,153,153,153,2,0,0,0,96,102,103,113,103,221,209,118,103,113,103,118,0,0,153,119,23,17,17,17,17,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,34,34,34,34,34,34,0,32,153,153,153,153,38,17,17,98,153,153,153,153,2,0,0,0,112,118,23,119,103,29,17,102,119,22,119,119,0,0,145,153,119,17,17,17,153,25, +109,102,102,118,0,0,0,0,109,102,102,102,102,102,102,118,16,17,17,17,17,17,17,1,0,32,153,153,153,153,38,17,17,98,153,153,153,153,2,0,0,0,112,119,103,119,102,29,16,97,119,103,118,119,0,0,17,153,153,23,17,145,153,17,210,102,102,103,0,0,0,0,210,102,102,102,102,102,102,103,16,17,34,34,34,34,34,7,0,32,153,153,153,153,38,17,17,98,153,153,153,153,2,0,0,0,112,119,119,119,214,17,0,102,118,119,119,119,0,0,17,17,153,121,151,153,17,17,34,221,221,102,0,0,0,0,34,221,221,221,221,221,221,102,16,33,34,34,34,34,34,7,0,32,153,153,153,153,38,17,17,98,153,153,153,153,2,0,0,0,112,119,119,103,22,1,0,102,102,119,119,119,0,0,17,17,17,153,153,25,17,17,34,221,221,102,0,0,0,0,34,221,221,221,221,221,221,102,16,34,34,34,34,34,34,7,0,32,153,153,153,153,38,17,17,98,153,153,153,153,2,0,0,0,0,119,119,103,1,0,0,0,102,119,119,119,0,0,17,17,17,145,153,17,17,17, +34,221,221,102,0,0,0,0,34,221,221,221,221,221,221,102,16,33,34,34,34,34,114,7,0,32,146,153,153,153,38,17,17,98,153,153,153,41,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,145,121,17,17,17,34,221,221,102,0,0,0,0,34,221,221,221,221,221,221,102,0,17,34,34,34,34,119,0,0,0,34,153,153,153,38,17,17,98,153,153,153,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,145,121,17,17,17,210,51,51,109,0,0,0,0,210,51,51,51,51,51,51,109,0,0,0,0,0,0,0,0,0,0,32,34,146,153,38,17,17,98,153,153,41,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,145,121,17,17,17,61,51,51,211,0,0,0,0,61,51,51,51,51,51,51,211,0,0,0,0,0,0,0,0,0,0,0,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,145,121,17,17,17, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,51,51,144,9,0,0,0,0,144,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,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,49,61,51,211,61,221,51,144,41,0,0,0,0,146,9,33,34,34,34,2,16,34,34,34,2,16,34,34,34,2,16,34,34,34,34,0,33,34,34,34,2,16,34,34,34,34,0,112,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,19,211,51,0,32,2,0,0,32,2,0,34,121,119,119,34,33,157,119,119,34,33,157,119,119,34,33,157,119,119,39,18,210,121,119,119,34,33,157,119,119,39,2,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,51,51,115,51,51,19,51,19, +0,0,34,0,0,34,0,0,210,41,34,146,39,33,157,153,153,39,33,157,153,153,39,33,157,153,153,121,18,210,153,153,153,39,33,157,153,153,121,2,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,211,51,151,55,51,51,51,51,0,0,144,153,153,9,0,0,210,41,16,146,39,33,157,153,121,34,33,157,153,121,34,33,157,153,153,39,18,210,153,153,121,34,33,157,153,153,39,2,112,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,211,125,51,51,51,211,19,0,0,153,153,153,153,0,0,210,41,34,146,39,33,157,34,34,18,33,157,34,34,23,33,34,34,153,39,16,34,34,146,121,2,33,34,34,153,39,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,49,51,51,51,0,144,153,153,153,153,9,0,210,153,153,121,34,33,157,119,119,34,33,157,119,119,34,17,17,210,121,34,0,17,33,157,39,2,16,17,210,121,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,51,51, +0,153,153,153,153,153,153,0,210,153,153,34,2,33,157,153,153,39,33,157,153,153,39,1,33,157,39,2,0,16,210,121,34,0,0,33,157,39,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,49,211,61,51,51,51,51,0,153,112,153,153,112,153,0,210,121,119,119,34,33,157,153,121,34,33,157,153,121,34,17,210,121,2,0,0,33,157,39,0,0,16,210,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,49,51,51,51,211,51,51,0,41,0,153,153,0,146,0,210,41,34,146,39,33,157,34,34,18,33,157,34,34,18,33,157,39,34,34,16,210,121,34,34,2,33,157,39,34,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,115,51,51,0,41,146,9,144,41,146,0,210,41,16,146,39,33,157,119,119,34,33,157,119,119,34,33,157,121,119,39,18,210,153,119,119,34,33,157,121,119,39,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,151,55,51, +0,153,153,153,153,153,153,0,210,41,34,146,39,33,157,153,153,39,33,157,153,153,39,33,157,153,153,121,18,210,153,153,153,39,33,157,153,153,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,49,19,61,51,115,51,61,0,144,153,153,153,153,9,0,34,153,153,121,34,33,157,153,121,34,33,157,153,121,34,33,157,153,153,39,18,210,153,153,121,34,33,157,153,153,39,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,51,51,0,0,153,153,153,153,0,0,33,34,34,34,2,16,34,34,34,18,17,34,34,34,2,16,34,34,34,34,0,33,34,34,34,2,16,34,34,34,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,51,51,51,51,211,19,51,0,0,144,153,153,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,19,51,51,51,51,51, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +100,101,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,142,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,117,94,95,94,95,94,95,94,95,94,95,94,95,94,95,94,95,94,95,94,95,94,95,158,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,115,110,112,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,64,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,127,126,127,126,127,112,127,126,127,126,127,126,127,126,127,126,127,126,127,126,127,80,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +78,79,78,79,78,79,78,79,78,114,115,79,78,79,78,79,78,79,78,112,114,115,114,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,95,94,95,94,95,94,95,94,95,94,95,94,95,94,95,94,95,112,114,115,114,115,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, +110,111,110,111,110,111,110,111,110,111,110,111,112,111,110,111,110,112,114,115,110,100,101,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,127,126,127,126,100,101,127,126,127,126,112,114,115,126,127,112,114,115,127,126,116,117,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, +78,79,78,79,78,116,117,79,78,114,115,114,115,114,115,112,114,115,112,112,114,115,112,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,138,95,94,112,114,115,112,112,112,112,114,115,112,95,114,115,94,112,112,114,115,114,115,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +110,111,112,114,115,114,115,94,95,94,112,114,110,111,110,111,110,111,110,112,110,111,110,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,115,114,115,112,112,111,110,111,112,114,115,126,127,126,127,126,112,114,115,126,127,126,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,84,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,3,68,4,5,6,68,7,8,9,68,10,11,12,70,129,5,67,0,4,8,70,0,4,2,70,0,10,11,76,0,15,3,67,0,16,6,64,0,17,3,67,0,18,140,67,0,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,25,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68, +128,55,0,0,0,0,0,0,0,0,0,0,152,55,0,0,128,55,0,0,0,0,0,0,152,55,0,0,0,0,0,0,128,55,0,0,152,55,0,0,0,0,0,0,0,0,0,0,128,55,0,0,0,0,0,0,0,0,0,0,152,55,0,0,1,16,0,0,24,70,24,6,24,6,24,6,24,6,24,6,24,6,24,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,71,99,7,99,7,99,7,99,7,99,7,99,7,99,87,95,71,95,7,95,7,95,7,95,7,95,7,95,7,95,87,1,16,0,0,28,70,28,6,28,6,28,6,28,6,28,6,28,6,28,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,16,0,0,36,70,36,6,36,6,36,6,36,6,36,6,36,6,36,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,71,95,7,95,7,95,7,95,7,95,7,95,7,95,87,92,71,92,7, +92,7,92,7,92,7,92,7,92,7,92,87,1,16,0,0,26,70,26,6,26,6,26,6,26,6,26,6,26,6,26,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,71,97,7,97,7,97,7,97,7,97,7,97,7,97,87,93,71,93,7,93,7,93,7,93,7,93,7,93,7,93,87,1,16,0,0,28,70,28,6,28,6,28,6,28,6,28,6,28,6,28,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,16,0,0,38,70,38,6,38,6,38,6,38,6,38,6,38,6,38,86,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,71,93,7,93,7,93,7,93,7,93,7,93,7,93,87,90,71,90,7,90,7,90,7,90,7,90,7,90,7,90,87,1,16,0,0,26,70,26,6,26,6,26,6,26,6,26,6,26,6,26,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,71,95,7, +95,7,95,7,95,7,95,7,95,7,95,87,99,71,99,7,99,7,99,7,99,7,99,7,99,7,99,87,1,16,0,0,29,70,29,6,29,6,29,6,29,6,29,6,29,6,29,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,16,0,0,38,70,38,6,38,6,38,6,38,6,38,6,38,6,38,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,71,92,7,92,7,92,7,92,7,92,7,92,7,92,87,95,71,95,7,95,7,95,7,95,7,95,7,95,7,95,87,1,16,0,0,24,70,24,6,24,6,24,6,24,6,24,6,24,6,24,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,71,99,7,99,7,99,7,99,7,99,7,99,7,99,87,95,71,95,7,95,7,95,7,95,7,95,7,95,7,95,55,1,16,0,0,28,70,28,6,28,6,28,6,28,6,28,6,28,6,28,86,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,95,71,95,7,95,7,95,7,95,7,95,7,95,7,95,87,92,71,92,7,92,7,92,7,92,7,92,7,92,7,92,55,1,16,0,0,36,70,36,6,36,6,36,6,36,6,36,6,36,6,36,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,71,92,7,92,7,92,7,92,7,92,7,92,7,92,87,88,71,88,7,88,7,88,7,88,7,88,7,88,7,88,55,1,16,0,0,141,4,138,4,137,4,136,4,135,4,134,4,133,4,132,4,131,4,131,4,131,4,131,4,131,4,131,4,131,4,131,4,131,4,131,4,131,4,131,4,131,4,131,4,131,4,132,4,133,4,134,4,135,4,136,4,137,4,138,4,139,4,141,4,0,7,0,0,73,5,71,5,71,5,70,5,69,5,69,5,69,5,69,5,69,5,70,5,71,5,72,5,73,5,73,5,73,5,73,5,73,5,72,5,71,5,71,5,70,5,70,5,69,5,68,5,68,5,68,5,68,5,68,5,68,5,68,5,68,5,68,5,0,3,0,0,24,42,24,42, +24,42,24,90,24,42,24,42,24,42,24,58,24,42,24,42,24,42,24,90,24,42,24,42,24,42,24,58,28,42,28,42,28,42,28,90,28,42,28,42,28,42,28,58,29,42,29,42,29,42,29,90,31,42,31,42,31,42,31,58,1,16,0,0,29,42,29,42,29,42,29,90,29,42,29,42,29,42,29,58,29,42,29,42,29,42,29,90,29,42,29,42,29,42,29,58,31,42,31,42,31,42,31,90,31,42,31,42,31,42,31,58,26,42,26,42,26,42,26,90,28,42,28,42,28,42,28,58,1,16,0,0,24,42,24,42,24,42,24,90,24,42,24,42,24,42,24,58,33,42,33,42,33,42,33,90,31,42,31,42,31,42,31,58,29,42,29,42,29,42,29,90,28,42,28,42,28,42,28,58,29,42,29,42,29,42,29,90,26,42,26,42,26,42,26,58,1,16,0,0,24,42,24,42,24,42,24,90,24,42,24,42,24,42,24,58,24,42,24,42,24,42,24,90,24,42,24,42,24,42,24,58,28,42,28,42,28,42,28,90,26,42,26,42,26,42,26,58,28,42,28,42,28,42,28,90, +31,42,31,42,31,42,31,58,1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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, +58,99,58,0,102,42,0,0,0,45,0,45,2,14,17,17,17,60,19,17,31,1,60,45,37,2,33,31,1,60,42,53,53,2,32,17,15,20,26,21,15,13,24,60,45,0,45,0,45,1,18,33,26,15,32,21,27,26,2,13,14,31,59,14,27,36,42,27,43,63,36,60,30,27,24,33,32,17,2,61,19,2,18,27,30,2,27,14,22,17,15,32,2,27,1,2,24,27,63,46,61,40,51,2,44,45,1,62,34,56,36,4,60,29,27,56,60,91,50,60,27,36,61,73,37,61,137,60,27,61,41,37,63,82,5,63,130,5,63,178,61,137,60,27,63,82,30,17,32,33,30,26,68,45,1,17,26,16,1,71,134,21,27,33,42,27,4,57,27,5,71,54,21,26,32,17,30,31,70,24,73,33,27,34,17,30,2,33,26,60,59,18,2,32,35,27,72,84,77,52,65,81,28,17,30,15,17,26,32,13,19,17,63,28,2,46,3,57,4,47,57,2,4,2,21,31,61,42,18,75,33,25,13,32,15,20,75,149,59,27,74,43,78,125,4,43,61,188,73,37,80,121,69,20,2,1, +82,20,2,36,57,37,2,15,27,27,30,16,21,26,13,32,17,31,68,47,70,170,81,99,80,53,25,13,36,42,66,71,81,21,57,65,69,81,31,66,119,81,49,62,149,37,62,117,37,68,140,81,61,25,21,26,64,122,5,64,122,69,37,64,90,62,213,37,62,117,37,71,122,13,30,17,13,70,255,92,82,82,61,59,62,50,71,71,3,57,67,41,74,31,92,34,4,43,2,53,61,102,89,19,0,45,71,41,61,38,65,217,14,27,32,20,98,36,102,26,97,89,27,4,65,100,71,142,65,21,77,116,65,108,71,135,61,142,66,116,64,91,5,64,203,75,47,64,107,81,37,64,203,75,40,61,142,70,111,99,124,74,159,52,2,99,20,75,74,106,27,66,85,99,94,77,49,43,102,214,16,17,14,33,19,59,21,26,18,27,31,42,92,29,95,20,15,13,25,17,30,13,42,43,93,47,30,17,31,17,32,61,82,119,26,114,30,17,2,16,30,13,35,21,26,19,67,31,21,18,42,14,32,26,42,3,43,43,2,32,20,17,103,19,30,106,22,42,0,34,0,139,0,34,57,97, +23,50,9,57,10,43,2,109,35,62,104,4,62,216,0,145,62,24,50,4,9,62,251,65,19,5,65,211,0,148,62,43,11,57,37,65,227,6,67,219,0,131,62,88,67,253,42,7,70,213,0,142,67,109,70,230,8,72,222,0,151,72,62,72,124,74,84,32,25,30,54,0,34,56,56,28,56,60,25,74,62,72,24,10,115,17,76,83,28,56,36,61,79,36,76,59,5,7,61,205,37,63,76,37,78,56,6,5,63,42,127,60,140,72,142,18,31,102,28,19,17,26,84,24,140,253,28,24,13,37,105,29,21,26,21,32,42,67,33,51,44,1,2,2,26,87,20,51,0,34,14,13,30,30,37,0,34,57,61,16,32,27,32,59,28,24,26,51,107,24,122,38,15,33,25,33,24,13,32,21,34,17,2,28,27,24,24,17,121,24,61,20,30,62,195,30,30,130,31,62,128,122,30,64,51,4,64,84,123,30,150,28,13,14,24,64,100,93,96,31,24,27,35,16,27,35,100,39,2,31,28,17,17,91,17,65,61,31,28,16,51,6,68,64,61,103,65,36,61,71,71,20,36,51,9,7, +69,79,132,197,57,2,0,82,0,69,0,76,0,65,0,84,0,73,0,86,0,69,2,0,84,0,79,2,0,84,0,72,0,69,2,0,83,0,67,0,82,0,69,0,69,0,78,74,23,37,63,35,74,31,156,29,51,44,36,4,51,4,57,37,60,37,36,5,51,4,7,57,37,60,38,45,75,81,74,22,21,31,159,44,149,40,2,69,24,74,232,31,102,29,32,17,61,59,59,31,32,78,105,18,21,30,31,61,108,149,59,20,17,2,13,26,21,146,26,140,61,62,61,38,51,5,73,102,62,55,31,21,38,64,40,18,24,28,59,36,51,18,13,24,31,72,18,75,53,20,27,33,24,16,64,51,65,81,14,17,62,22,21,28,28,17,16,2,20,27,30,21,38,27,153,31,24,24,163,22,63,61,37,63,253,63,253,63,93,159,30,32,174,40,63,59,13,174,52,67,169,15,13,26,0,39,157,30,162,21,118,18,62,80,159,40,32,30,33,75,33,103,27,51,3,93,55,165,52,26,179,16,32,21,123,19,1,2,45,168,210,98,91,123,33,98,43,79,19,42,28,56,31,28,57,105, +39,103,46,60,45,77,16,60,104,61,24,76,53,60,88,128,28,173,193,105,40,103,120,106,37,51,182,36,13,16,16,42,107,34,57,104,152,17,17,13,32,30,21,15,17,0,34,103,79,14,33,38,38,57,191,41,26,17,16,21,15,32,60,59,24,38,135,25,14,61,54,37,27,26,15,95,22,27,193,26,2,35,13,26,57,2,30,33,194,21,62,70,37,57,2,23,21,30,60,63,56,56,56,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,250,109,74,122,98,109,251,109,75,124,97,109,252,109,252,109,252,109,252,109,252,109,252,109,252,109,252,113,249,109,252,109,252,109,252,109,252,109,252,109,252,208,30,102,251,102,59,30,32,30,13,26,16,102,251,102,251,102,251,102,251,102,251,152,245,152,245,152,245,152,245,152,245,152,245,152,245,152,245,152,245,152,245,152,245,152,245,152,245,152,245,152,245,152,245,102,251,102,251,152,247,152,247,152,247,152,247,152,247,152,247,152,247,152,247,156,244,156,244,152,247,152, +247,152,247,152,247,152,247,102,251,145,198,144,64,145,246,145,246,145,246,145,246,145,246,195,240,195,240,195,240,195,240,195,240,195,240,195,240,195,240,195,240,195,240,195,240,195,240,195,240,195,240,195,240,195,240,145,246,145,246,195,242,195,242,195,242,195,242,195,242,195,242,195,242,195,242,198,255,198,255,195,242,195,242,195,242,195,242,195,242,145,102,235,153,200,27,33,235,17,19,232,29,235,230,235,128,235,207,193,180,1,234,44,32,17,36,32,222,33,17,31,1,2,16,32,14,61,157,25,17,26,33,239,120,0,45,0,45,31,32,27,30,37,61,144,59,33,28,16,227,31,51,61,72,60,77,61,56,204,32,61,86,204,43,246,59,0,45,0,45,49,11,246,47,65,36,222,18,16,208,44,30,27,248,81,61,53,247,215,67,189,16,227,17,69,16,33,31,21,15,42,3,253,25,67,107,70,50,67,106,67,72,71,53,67,119,65,208,71,66,65,66,50,51,4,1,219,16,42,14,32,26,28,42,7,43,43,231,44,250,40,69,57,254,127,218,33,64,249,66,65,218,35,15,24,31,218, +106,4,5,11,57,8,9,57,3,57,5,57,5,61,99,6,3,57,6,5,57,4,9,57,11,61,52,240,19,26,32,42,214,47,0,45,20,27,234,27,57,238,47,29,33,214,24,0,34,57,5,9,62,43,12,62,134,28,30,17,31,31,2,0,142,212,17,2,31,32,13,30,132,22,66,17,9,3,57,9,225,26,71,23,16,32,48,4,8,71,117,65,90,2,2,2,60,19,0,142,64,30,12,57,9,4,64,62,17,242,16,62,241,64,108,62,49,232,19,65,65,49,6,3,76,118,83,66,61,60,71,86,68,19,54,0,34,74,34,11,9,72,173,44,20,17,13,214,28,30,37,57,31,13,30,13,28,17,24,22,13,25,13,21,31,45,56,21,32,15,20,56,21,27,0,34,77,18,12,6,75,175,15,27,16,17,64,42,7,57,4,3,78,30,77,136,13,74,24,15,20,17,63,138,6,62,35,10,79,171,92,51,68,39,81,22,214,25,81,149,0,64,24,27,33,21,31,245,23,24,21,80,30,7,3,57,4,5,4,84,41,110,159,99,51,110,233,90,207,91,77,25,31,19,59,31, +17,32,42,4,110,52,106,104,26,21,24,98,101,94,68,98,246,64,110,93,222,98,21,65,136,253,61,230,30,7,43,2,51,51,2,0,34,17,25,28,32,37,0,34,99,125,97,80,106,113,117,33,113,106,106,81,118,36,113,55,2,120,16,119,50,16,21,31,28,42,0,34,0,139,57,0,145,57,0,148,57,0,131,54,214,44,55,92,73,92,79,2,2,0,151,54,215,89,42,242,23,13,19,251,28,222,28,23,250,34,43,55,2,0,142,54,15,20,27,27,31,17,52,129,25,2,16,21,13,24,27,19,33,17,0,34,57,17,36,28,24,62,29,230,44,128,60,108,156,120,108,62,147,133,81,63,149,2,221,35,21,32,65,16,21,31,61,65,134,210,221,25,59,66,229,222,46,43,65,59,92,25,221,38,2,35,21,24,24,108,64,2,13,60,19,2,223,43,27,25,217,17,31,65,28,27,221,17,35,21,32,20,61,168,214,53,29,33,13,26,32,21,32,236,30,227,31,56,240,26,24,30,42,30,26,16,42,25,13,28,59,35,21,16,32,20,0,45,7,70,16,28,56,244,51,2, +53,2,11,43,50,85,16,213,246,141,35,64,33,240,30,64,145,20,17,21,19,20,32,64,242,64,18,66,79,226,100,67,101,113,22,65,76,15,248,52,247,25,21,25,28,30,241,18,16,71,109,26,21,15,17,152,22,33,31,31,21,13,26,135,216,18,226,25,17,30,151,84,26,14,30,77,63,15,30,17,223,20,63,42,33,25,14,17,30,215,35,62,88,253,24,32,35,240,30,2,4,146,54,63,17,237,26,64,84,51,44,45,155,36,232,16,2,21,224,22,64,29,2,16,27,251,38,246,23,66,87,246,58,230,21,79,241,0,45,6,5,43,50,4,9,43,231,252,78,70,230,38,78,244,32,63,69,3,43,235,41,231,127,5,231,47,6,231,47,134,21,231,31,5,12,231,255,231,79,232,32,10,238,93,232,240,232,33,14,31,59,15,24,30,51,4,243,80,14,13,31,17,236,36,27,30,57,247,20,226,29,143,26,15,20,13,26,19,17,233,48,61,58,63,90,63,87,0,45,0,45,93,105,7,73,29,6,73,93,18,245,17,24,62,191,235,28,247,85,235,204,177,29,90,135,9, +90,86,100,243,226,48,160,248,2,20,218,30,182,102,63,39,33,32,243,55,30,33,140,19,214,43,106,140,24,13,15,17,187,34,37,17,31,2,21,2,23,26,27,35,2,21,32,0,39,31,64,50,217,37,17,26,19,251,24,20,2,19,21,25,188,25,13,2,14,93,30,23,1,66,49,51,232,47,108,240,32,20,52,6,43,50,60,173,218,248,89,87,107,250,107,26,63,108,60,126,219,178,3,219,51,7,219,52,11,90,48,5,219,244,221,31,57,2,15,232,30,17,30,253,20,246,22,254,45,16,226,17,220,74,10,220,250,220,154,84,251,217,76,240,61,84,240,124,51,45,188,218,131,245,201,62,241,16,28,203,19,126,97,51,184,31,53,6,61,65,123,65,61,98,207,53,117,86,113,123,210,79,181,17,209,85,89,45,84,66,212,105,210,60,185,19,17,32,217,213,204,62,61,39,233,170,215,24,133,61,203,56,28,56,221,49,215,80,217,65,189,68,31,141,37,236,34,67,64,28,138,27,97,39,56,36,50,60,55,236,60,53,7,64,45,37,61,73,37,61,217,220,50,27,240,20, +30,221,58,146,90,35,61,16,17,232,19,126,60,148,43,149,40,31,57,151,242,157,71,224,54,15,228,20,30,13,143,171,130,56,245,46,81,57,62,16,243,28,70,17,0,45,9,69,16,60,46,37,60,30,37,60,62,73,71,17,30,93,34,165,30,249,38,248,31,156,49,136,76,32,35,27,2,27,14,22,17,15,75,17,239,16,126,121,1,2,32,24,30,26,15,51,3,56,4,77,110,82,242,239,55,80,146,231,102,170,160,224,194,171,170,224,137,170,241,170,17,236,49,21,26,19,243,237,243,84,66,243,227,58,88,62,227,29,250,240,17,30,56,2,6,3,18,28,244,24,229,57,26,27,32,166,19,253,77,229,126,160,39,20,17,15,23,152,54,248,45,54,2,31,13,124,23,142,97,173,105,232,25,24,27,15,253,29,28,36,2,51,93,41,61,129,37,61,49,173,28,64,79,13,26,21,82,30,63,67,236,31,98,61,197,43,151,24,237,99,174,58,64,55,101,52,238,21,223,53,62,143,49,51,2,5,62,239,50,63,96,38,64,66,65,55,2,118,68,233,27,185,51,85,95,64, +95,69,80,252,48,161,36,254,31,24,17,18,66,47,246,71,251,27,69,195,110,32,6,5,70,65,18,24,28,98,17,32,30,33,157,62,168,38,249,28,99,54,2,49,67,22,172,45,99,46,100,56,48,9,211,30,73,108,101,75,0,45,101,28,183,41,31,28,73,41,75,34,61,227,240,89,78,85,65,38,64,165,63,241,63,34,78,53,78,92,74,163,30,192,33,73,135,4,73,247,73,231,18,13,67,93,73,184,48,134,143,0,45,134,31,74,196,49,74,244,36,50,74,244,61,227,74,228,66,162,207,226,75,204,65,236,75,252,89,111,33,146,22,89,96,5,89,240,139,48,88,111,211,23,75,248,127,24,89,144,37,89,48,37,89,240,59,37,89,240,130,28,89,240,89,144,65,38,89,208,64,244,89,240,103,99,16,27,35,111,94,102,38,6,102,246,73,214,102,245,73,37,88,77,225,92,88,142,74,82,88,254,59,37,88,254,153,29,103,242,74,178,66,179,88,255,75,187,88,255,104,251,118,190,2,42,0,88,43,239,46,32,27,16,27,2,32,13,24,23,2,35,52,161,49,119, +124,28,42,8,119,189,137,71,119,48,122,73,27,137,20,214,39,169,79,127,243,127,243,127,163,141,226,158,20,169,35,242,25,174,17,252,35,57,143,63,56,56,236,28,143,73,210,49,24,24,169,56,43,236,70,127,48,145,43,59,228,121,59,251,29,42,14,131,149,226,71,70,42,165,17,248,28,146,158,127,51,51,28,231,57,179,48,28,219,43,123,173,128,81,224,38,20,67,28,2,35,229,24,78,27,0,63,150,123,79,41,122,123,70,247,70,103,14,56,240,26,56,36,4,0,45,51,8,60,143,37,60,207,36,5,50,61,190,60,111,74,247,74,247,141,67,68,58,144,108,89,49,59,32,27,76,94,137,131,146,54,68,111,67,193,60,207,36,5,70,205,60,95,160,117,170,42,95,38,163,129,19,17,32,59,113,38,213,44,79,94,163,34,204,65,242,49,219,36,151,98,193,24,25,13,36,151,44,249,49,152,74,245,28,52,168,30,61,41,246,23,2,50,2,146,23,244,67,202,42,232,28,24,24,27,173,27,44,0,34,20,17,37,39,0,34,57,0,34,19,30,17,17,184,45,31, +56,60,29,20,21,61,35,20,27,35,16,61,60,14,27,26,22,27,33,30,62,55,27,27,16,2,16,13,37,56,0,34,45,64,73,27,23,64,54,89,34,98,31,153,59,64,47,37,27,33,2,27,23,13,37,0,63,65,27,21,0,39,25,217,30,26,17,66,39,91,42,250,40,14,172,19,206,51,62,25,67,34,93,34,20,13,21,61,77,29,33,203,23,69,37,24,13,2,28,30,27,14,13,14,21,24,21,32,0,195,0,169,2,16,17,2,34,27,21,30,239,29,2,25,17,31,31,206,46,64,40,61,23,3,56,3,3,8,41,69,118,15,21,13,73,78,31,17,17,66,35,74,34,61,36,68,51,33,228,25,64,39,74,42,62,80,2,31,27,27,67,50,32,20,13,26,23,76,20,45,239,146,92,177,17,17,239,16,16,32,14,59,16,21,31,28,221,41,56,26,219,28,56,56,0,34,54,2,0,34,56,56,81,140,46,4,50,84,45,30,26,16,42,40,83,130,43,43,47,242,31,185,32,63,25,86,87,182,17,64,39,86,90,202,123,66,244,66,52,21,78,22,203,16,32,27, +27,2,25,33,222,20,250,79,39,0,34,101,40,69,246,69,54,15,13,26,74,50,32,13,23,79,38,74,26,25,17,0,63,63,48,202,63,94,92,48,94,123,203,135,208,66,29,32,51,25,21,26,96,139,0,45,98,112,237,34,61,118,73,145,110,52,74,145,0,45,51,29,207,37,103,81,101,25,50,61,65,125,167,77,211,48,77,243,212,57,83,248,77,84,16,27,26,0,39,32,77,74,17,26,27,33,19,77,104,139,19,77,58,87,241,87,65,150,30,102,40,81,50,13,26,102,28,77,230,49,220,149,76,222,76,244,76,244,76,180,75,83,76,132,77,85,205,94,209,93,97,248,97,184,27,23,97,245,27,23,97,66,126,149,101,252,101,188,109,41,101,251,110,46,101,74,165,122,211,67,251,59,249,120,15,20,27,21,15,17,59,96,41,248,74,62,252,252,132,136,146,159,53,31,21,244,30,24,37,242,31,243,130,2,35,21,32,20,2,14,24,161,34,25,13,19,21,15,166,50,244,181,8,251,122,31,18,36,42,4,6,147,47,244,206,137,26,5,213,17,242,124,245,59,248,169, +6,248,137,245,249,62,253,7,67,129,248,246,65,250,10,69,142,249,21,18,21,30,137,19,32,30,37,173,46,152,17,178,20,174,23,20,21,34,105,95,154,38,153,40,61,39,59,61,39,42,248,159,253,21,183,22,156,41,63,118,183,21,64,76,181,32,17,15,32,155,137,186,59,18,184,100,18,24,27,35,17,30,184,119,184,136,61,73,42,18,184,161,198,118,14,30,17,13,23,57,2,21,16,23,2,154,23,185,33,199,43,20,13,118,57,247,251,81,247,85,27,5,81,216,0,45,81,248,88,169,6,81,217,62,254,91,199,65,252,90,129,102,228,242,60,102,233,200,248,151,89,249,25,21,27,33,42,28,135,43,43,2,49,51,2,56,4,53,32,24,30,26,15,254,125,30,17,32,33,30,155,20,230,53,253,81,61,84,67,240,106,173,89,151,66,151,91,47,66,56,5,66,215,31,32,27,30,37,92,28,21,32,186,52,67,246,67,246,74,246,74,86,90,118,73,157,18,73,59,73,200,147,157,18,56,189,29,220,43,60,40,226,34,75,247,75,247,82,247,235,38,234,18,59,17,36, +28,24,27,30,120,63,59,33,28,16,13,32,174,99,236,111,30,248,25,27,25,2,25,27,33,34,17,25,17,26,156,25,239,39,124,99,201,50,110,25,17,30,26,220,34,233,77,177,37,235,28,50,51,4,174,123,125,96,149,128,179,42,124,56,60,73,124,26,123,140,63,98,83,40,63,242,124,16,63,99,96,46,65,126,242,249,242,57,97,253,2,75,242,140,77,247,56,76,255,61,77,245,27,17,13,15,20,242,63,175,37,79,246,32,193,37,79,68,17,36,32,2,234,18,17,31,194,70,66,114,215,59,254,26,53,53,68,162,2,0,45,2,16,30,13,35,215,24,61,41,0,45,0,45,85,205,61,43,199,82,31,28,30,198,61,31,107,59,56,36,183,60,37,184,50,143,57,60,138,185,54,18,24,28,59,62,68,60,42,37,223,90,205,114,137,38,65,78,65,91,138,39,65,44,60,56,36,60,71,37,60,78,65,79,60,139,64,236,136,64,70,76,104,38,254,17,19,17,26,17,30,253,18,137,75,140,33,27,93,23,28,13,138,29,155,37,14,218,16,24,30,57,60,60,60,25, +79,107,144,17,225,42,63,85,228,29,17,25,28,32,37,144,23,226,31,28,21,31,32,225,29,230,18,242,45,31,233,26,250,26,252,27,108,83,108,20,158,133,66,23,12,57,4,250,25,250,55,143,33,231,16,173,23,33,69,114,80,79,68,44,68,21,36,68,25,37,68,77,80,23,60,88,176,43,70,31,43,254,20,66,118,49,66,149,235,42,21,51,4,72,20,245,45,151,74,174,40,17,13,33,32,21,18,33,24,250,86,2,14,21,32,31,173,54,2,112,18,16,21,18,176,22,127,25,59,36,51,42,9,50,42,21,53,4,10,43,43,41,77,69,31,38,53,11,211,57,62,168,37,51,42,10,62,40,7,251,29,62,232,213,50,31,17,32,81,20,36,50,65,189,73,33,61,178,37,57,12,217,52,62,63,233,24,63,241,63,241,63,161,66,240,57,64,35,66,242,66,242,63,243,69,245,203,185,118,246,133,120,102,105,182,117,122,20,182,16,94,61,33,15,23,131,35,15,24,31,201,35,135,55,61,108,15,249,24,30,13,184,46,60,62,33,30,30,135,31,237,53,135,74,62,64, +42,62,23,110,27,62,46,110,40,120,70,117,36,100,61,139,17,21,30,243,23,13,28,124,54,91,20,3,57,60,29,59,35,21,16,32,20,52,4,9,183,69,185,32,22,61,250,184,63,63,26,42,5,7,57,2,3,57,2,4,9,53,21,60,54,22,57,2,5,60,19,219,199,147,50,194,78,117,190,75,71,190,68,132,138,191,85,57,115,157,132,98,226,43,135,243,128,76,134,101,138,77,139,117,66,187,81,76,79,76,78,116,253,34,63,74,200,84,242,165,250,29,3,56,5,8,53,28,251,240,123,18,32,116,28,180,44,116,47,254,74,61,85,230,49,118,101,137,46,11,7,57,5,57,12,60,20,119,43,66,240,10,66,240,66,240,66,240,66,192,9,11,65,44,66,80,68,213,72,191,49,250,21,72,186,221,63,16,27,17,131,77,35,27,30,23,124,146,75,118,0,45,77,129,216,74,98,42,24,2,27,18,18,118,21,51,251,103,4,9,43,116,139,5,50,61,78,113,17,60,89,118,152,61,109,50,4,61,255,63,252,62,88,63,254,63,190,62,97,99,212,167,34,167,145,157, +86,252,46,0,45,0,45,49,11,251,46,202,60,167,92,203,56,237,27,21,32,21,13,213,30,252,72,167,219,205,204,241,27,111,63,111,119,51,4,5,11,53,4,56,8,61,67,20,17,21,19,20,32,61,36,176,82,119,87,15,27,27,30,16,21,26,197,17,31,239,48,157,43,116,55,119,48,51,203,20,119,50,60,25,103,151,196,202,198,23,16,124,62,249,75,176,19,21,32,248,29,253,65,67,19,7,60,44,252,28,64,45,127,74,191,58,28,27,31,73,30,201,44,28,56,66,57,28,56,37,51,10,62,29,1,2,206,83,51,219,78,207,64,61,22,184,35,61,84,184,46,186,172,79,64,209,58,186,245,26,195,102,64,175,196,61,207,95,250,63,209,206,56,2,6,3,18,28,193,29,212,232,249,188,249,219,249,106,210,147,252,72,210,193,62,92,7,9,253,51,209,245,209,197,68,81,248,58,202,28,222,31,24,17,18,221,30,219,33,32,26,42,3,43,255,144,196,62,51,245,67,167,40,254,28,147,54,177,35,86,53,82,25,0,45,148,56,48,9,7,248,122,90,74,0,45, +51,235,74,31,28,221,28,236,39,61,210,250,83,61,249,66,54,88,17,133,30,0,45,11,65,132,219,191,247,127,227,74,148,238,30,101,42,73,114,180,19,73,226,249,91,73,162,48,106,136,0,45,106,24,73,206,49,73,254,50,73,254,61,194,73,110,72,124,65,142,7,223,28,104,75,38,2,53,2,74,163,64,246,73,255,87,156,2,42,0,88,43,250,125,32,13,24,23,2,35,52,160,84,213,17,88,27,28,42,8,247,101,126,82,21,31,28,42,0,34,117,24,32,0,34,199,33,0,45,139,25,92,71,90,50,244,53,178,21,23,215,72,162,90,97,240,246,245,161,191,148,18,91,84,91,30,161,38,91,30,0,45,144,35,163,117,52,164,16,162,95,2,50,2,205,31,250,214,113,243,114,250,251,55,247,244,247,244,139,184,246,252,139,161,241,96,196,252,196,252,196,252,196,252,196,252,196,188,87,96,145,53,42,193,27,193,30,60,70,6,193,25,162,19,101,52,188,76,186,246,75,243,155,150,90,34,17,14,33,19,151,29,18,27,31,42,8,57,8,156,202,158,140,150,41,27, +16,210,21,27,33,30,150,19,37,170,24,2,27,24,21,7,4,7,52,14,14,31,139,62,171,30,148,25,20,248,25,14,17,199,40,2,37,27,33,146,83,33,31,140,45,162,31,56,162,32,27,28,219,35,255,16,28,13,30,215,20,152,19,251,46,252,44,26,33,25,14,252,28,65,28,24,21,26,180,16,32,20,13,32,2,13,213,17,100,36,200,37,16,56,71,17,18,13,33,24,155,28,31,2,6,56,224,129,168,44,164,51,64,20,63,61,253,17,170,32,29,33,17,33,51,44,45,60,141,18,60,126,62,106,51,6,107,60,63,105,251,100,62,179,65,102,215,94,59,175,43,15,24,17,13,26,95,151,75,60,35,21,76,22,13,16,16,2,13,2,28,21,17,15,17,78,41,99,49,229,88,69,32,56,60,122,75,41,28,30,27,15,17,31,31,17,63,19,33,32,27,154,32,80,42,37,73,220,116,54,32,36,32,57,82,39,14,13,15,23,253,21,195,66,72,68,74,35,196,66,235,42,79,47,51,0,34,0,34,61,147,200,23,16,61,194,15,20,13,30,62,148,33,28,199,22, +244,95,220,49,124,31,40,63,89,50,60,41,65,53,49,5,12,151,112,74,22,42,86,56,57,67,99,253,52,68,176,146,90,69,116,69,109,56,224,46,69,36,61,77,69,126,253,63,210,108,40,75,16,243,66,70,111,31,33,14,76,53,21,57,21,240,47,73,104,74,80,65,53,73,39,71,78,74,100,51,0,34,2,0,34,162,117,74,23,233,63,229,46,74,146,49,151,28,164,120,65,230,0,34,0,45,72,42,63,139,248,117,64,93,66,76,83,53,58,83,22,236,111,78,240,236,112,79,42,101,109,57,102,110,71,34,89,92,51,51,26,21,112,44,241,54,61,117,204,20,63,254,18,93,144,196,103,213,105,100,45,32,20,205,22,2,33,26,16,17,30,31,15,117,37,28,30,17,18,21,36,113,53,25,133,36,233,56,208,103,33,31,17,57,235,26,26,0,39,235,55,219,25,13,14,27,33,137,50,25,114,155,107,189,158,99,100,134,238,106,114,163,238,67,75,103,62,111,57,0,34,161,34,253,50,113,48,33,103,72,218,28,229,42,24,217,37,219,25,154,201,115,58,26,232,20, +126,34,68,96,63,90,208,19,95,157,69,169,0,45,4,246,69,70,173,46,21,47,51,61,192,50,4,47,68,159,62,120,64,186,47,113,55,31,18,36,42,5,164,228,69,123,242,35,93,88,131,118,46,4,47,58,51,3,129,172,61,103,239,37,76,68,17,24,89,152,63,170,136,44,61,157,61,124,61,75,85,192,69,171,244,60,23,17,2,31,33,160,25,144,61,150,48,247,122,150,28,151,38,131,27,17,13,15,20,231,71,17,145,213,230,135,125,33,145,99,49,72,123,74,85,87,109,74,132,89,180,85,25,211,85,135,69,95,98,187,31,19,254,19,86,189,62,117,93,81,31,86,55,75,80,61,237,64,241,89,42,65,206,63,148,27,25,28,24,163,17,132,39,63,141,49,51,138,40,63,90,100,136,66,43,128,38,63,84,231,57,102,151,63,150,232,114,208,98,233,149,93,246,229,37,30,17,32,33,30,235,52,228,89,132,77,65,174,80,199,108,60,0,45,80,54,166,59,27,32,69,136,234,123,98,95,111,56,48,84,152,80,159,155,36,21,75,206,50,65,53,62,212,146,57,77, +245,77,37,154,44,64,54,60,121,73,67,119,147,65,81,148,130,141,21,148,146,250,26,111,47,3,63,88,244,75,63,176,151,18,56,63,176,124,143,9,63,213,91,247,91,151,121,206,93,212,158,172,68,133,88,241,66,244,66,228,95,250,95,90,73,121,249,99,244,19,93,255,94,176,137,97,62,59,63,109,248,201,121,245,226,34,211,136,236,126,17,34,17,30,37,242,45,212,52,232,38,192,238,231,92,245,76,231,21,231,65,229,121,238,59,123,240,246,59,120,240,120,240,122,117,27,18,18,237,17,167,40,126,214,48,123,207,193,114,63,81,125,205,0,45,157,156,193,113,30,17,15,32,18,210,27,42,5,57,4,5,8,0,45,128,207,53,11,61,37,61,41,57,98,54,113,251,120,43,127,194,154,212,133,65,146,83,125,181,203,126,28,30,175,23,42,0,34,0,92,36,11,17,0,34,57,4,4,67,35,3,57,4,190,112,172,135,74,203,200,63,63,93,164,222,57,7,57,21,53,11,50,4,4,12,0,45,42,142,192,50,80,74,43,73,25,10,196,194,249,62,87,77,240,37,221, +41,88,117,89,20,59,36,57,89,43,59,37,249,200,187,17,30,27,16,33,239,58,249,251,249,43,31,20,27,27,32,247,20,0,146,249,110,0,146,246,35,189,31,233,24,31,2,25,37,2,31,21,19,26,13,136,21,158,30,0,45,0,45,46,46,238,31,234,53,254,36,31,54,239,29,240,16,0,36,33,4,2,51,195,75,248,46,236,70,42,3,217,46,124,87,224,20,26,27,62,130,128,89,143,37,63,47,14,40,40,64,16,14,231,24,254,17,15,27,24,27,30,57,2,40,40,51,2,102,22,63,126,255,48,57,2,3,0,45,4,8,63,205,27,63,61,199,29,67,59,63,62,69,86,15,65,55,70,94,61,135,16,66,62,180,19,13,37,2,246,31,80,31,42,3,0,45,12,12,69,148,254,19,25,208,34,62,68,21,166,39,72,101,17,17,16,17,16,57,207,47,2,0,36,18,40,40,73,143,159,36,15,30,17,177,22,253,16,15,33,31,250,16,75,140,18,36,234,74,32,56,75,201,64,18,79,25,31,28,17,15,21,249,31,17,18,18,106,28,173,37,97,85,13,26,86, +51,244,22,214,46,122,33,15,218,35,130,54,36,36,216,29,31,32,17,13,16,88,38,13,78,81,126,22,111,51,122,41,21,216,31,27,194,27,18,13,33,24,84,31,14,13,89,20,250,29,217,23,249,23,61,120,15,27,26,18,21,19,127,46,252,25,20,13,34,192,19,126,21,33,28,253,40,233,42,24,223,49,32,21,34,17,24,37,68,228,4,9,133,38,66,140,232,43,175,28,119,53,25,27,64,27,75,33,47,47,0,45,0,45,254,29,0,45,0,45,51,51,66,76,33,30,64,31,231,20,51,51,61,57,61,60,97,56,68,92,200,34,136,29,30,71,107,83,63,20,17,30,145,44,0,45,0,45,47,47,1,0,146,105,53,59,25,31,19,59,15,26,18,99,26,44,137,47,73,129,96,16,2,221,31,4,8,57,61,168,20,21,19,20,24,60,20,32,2,5,1,70,42,61,189,95,111,6,63,23,63,54,191,28,238,26,85,27,13,15,109,29,2,7,1,2,7,64,62,26,17,35,2,106,52,61,106,100,30,10,66,56,14,24,21,28,2,31,27,244,17,2,167,27,4,62, +111,110,27,70,25,61,89,10,69,22,6,69,22,148,47,0,45,60,19,60,70,60,124,122,69,31,23,64,25,225,41,52,18,13,31,247,23,21,26,21,31,20,66,50,33,32,32,245,21,11,68,140,116,24,13,246,74,186,47,60,27,17,170,21,0,39,0,142,0,39,61,255,61,127,110,97,12,1,45,1,83,154,31,32,203,20,13,30,16,2,34,191,22,13,14,24,247,18,253,29,32,2,17,16,21,32,83,247,19,59,251,21,84,166,155,41,85,149,233,30,62,192,250,31,221,55,92,36,65,34,107,114,109,24,89,41,92,90,68,125,109,192,107,53,14,177,58,13,28,28,24,21,232,20,172,28,172,59,76,49,18,75,54,133,23,105,22,114,25,138,34,54,117,29,21,194,61,229,46,35,95,45,2,21,16,51,110,118,74,31,30,139,37,61,62,21,165,23,4,56,142,26,239,67,31,13,223,42,95,27,118,32,3,4,2,19,107,27,31,121,20,35,13,34,37,139,59,216,61,118,59,63,21,69,31,13,33,32,27,0,45,21,139,29,36,125,26,80,61,27,244,156,119,54,27,25, +25,17,26,63,57,31,21,25,21,24,13,118,40,69,23,246,22,21,238,16,205,54,73,35,34,27,21,128,21,117,17,33,31,247,20,126,60,85,61,17,24,18,85,25,24,33,147,65,226,41,36,2,42,186,44,2,36,226,70,59,16,37,61,81,155,31,228,59,18,36,34,2,42,131,23,63,55,62,85,15,2,42,145,61,229,74,60,46,95,101,64,86,14,126,22,148,181,121,33,152,165,26,27,151,108,59,27,2,42,147,180,62,253,62,173,21,25,19,2,42,21,25,13,19,125,19,78,41,2,18,30,141,175,140,18,30,21,243,24,24,21,31,32,73,81,33,28,16,72,16,202,86,57,176,28,100,29,25,27,224,80,234,58,204,40,65,111,16,2,65,31,65,57,80,17,143,66,91,58,163,93,74,184,128,227,149,28,128,82,90,47,1,209,123,42,21,57,151,24,34,63,67,18,24,27,13,32,158,31,150,50,135,146,18,21,30,31,32,57,2,35,17,2,19,209,27,145,40,86,45,254,33,87,48,75,21,43,2,14,37,176,31,98,93,245,79,89,33,51,136,150,31,32,30,189,21, +91,176,56,88,50,51,159,42,91,58,61,136,90,27,167,30,90,60,57,2,13,16,16,165,62,221,29,153,37,13,24,164,18,92,28,30,242,27,17,199,22,106,49,37,2,28,27,31,21,222,46,163,46,144,50,68,249,68,185,254,22,66,107,51,71,25,42,69,112,50,77,80,61,129,51,3,56,3,181,16,249,26,146,60,111,17,145,29,80,242,80,242,148,35,155,118,233,49,232,51,116,59,30,215,19,27,25,2,36,78,111,158,60,71,250,80,243,71,250,71,250,71,138,16,36,51,30,26,16,251,27,0,45,60,39,5,73,243,73,83,237,26,142,213,189,37,165,59,25,17,31,31,104,30,31,165,104,127,126,144,96,56,247,138,121,94,124,85,179,61,182,125,134,48,123,232,2,17,25,28,98,29,130,108,35,235,29,253,47,183,55,132,97,245,22,28,200,17,215,25,56,138,32,26,251,63,28,250,18,92,79,186,17,176,125,16,2,0,39,164,39,0,39,2,23,17,37,137,55,189,25,135,52,187,27,219,26,129,22,95,95,245,40,167,49,101,16,65,41,179,240,19,59,13,30,37, +51,178,62,64,29,17,28,107,79,173,64,35,20,120,18,174,47,219,31,189,20,146,33,149,66,33,15,23,17,30,203,24,63,100,195,45,24,169,41,222,59,74,91,27,74,113,63,160,62,55,167,139,235,22,255,16,15,166,23,200,41,0,39,2,170,39,0,39,200,44,0,36,15,3,12,248,18,17,26,0,36,15,205,39,31,61,49,79,22,60,47,56,62,71,30,17,15,83,45,62,42,28,27,24,246,18,62,59,175,21,153,29,162,19,203,57,2,2,0,92,26,230,23,32,162,29,81,17,34,17,30,235,29,33,15,15,90,27,18,33,24,114,28,218,18,62,17,209,23,103,32,208,19,25,13,159,20,187,18,30,75,20,240,26,234,58,64,18,68,46,17,26,17,30,19,37,68,63,253,46,211,33,156,17,21,225,20,70,44,20,208,30,69,156,72,243,66,97,28,17,30,31,27,26,21,18,21,15,13,0,45,69,44,186,58,137,95,20,17,213,27,20,221,95,67,86,65,136,232,18,77,105,66,109,2,18,175,19,31,57,74,19,166,16,16,27,91,38,79,235,78,92,251,24,13,62, +30,173,24,75,24,106,27,225,57,145,86,74,114,65,119,0,45,214,77,20,27,120,17,0,45,77,94,215,63,80,46,16,33,89,78,249,21,24,123,40,84,192,143,25,179,45,83,56,73,68,24,28,235,33,219,62,175,21,28,13,26,123,61,85,23,180,38,233,34,17,26,27,33,19,126,21,17,83,72,181,25,26,16,83,244,229,54,33,30,34,63,36,243,40,37,17,13,30,31,80,32,116,54,117,28,95,58,19,27,27,113,36,217,31,57,78,125,154,24,35,83,21,96,56,15,13,133,19,93,35,14,13,15,23,56,2,19,27,57,72,119,99,101,96,155,95,61,169,39,64,252,74,57,253,47,14,149,34,96,66,65,35,151,101,93,194,27,26,24,194,23,89,51,35,27,30,23,249,61,202,43,247,19,101,23,204,77,31,246,23,79,83,96,175,39,109,66,0,39,236,46,0,39,109,36,35,17,24,75,32,77,99,251,39,239,59,16,33,223,53,39,222,72,0,39,249,101,193,50,180,75,78,30,0,36,21,203,29,167,18,21,200,26,205,41,108,65,252,81,0,92,26,0,92,26,163, +28,205,23,218,29,13,37,0,36,16,3,7,56,56,56,0,36,16,36,36,63,112,65,110,24,27,27,23,240,35,108,40,62,24,11,209,37,31,28,61,21,37,0,36,18,36,36,63,35,218,105,0,63,0,36,16,6,3,67,25,64,22,20,25,25,57,97,19,35,2,13,14,245,27,241,23,25,106,20,0,36,27,63,16,27,4,9,122,31,4,0,36,14,4,3,249,114,246,18,0,36,14,36,36,72,95,62,51,33,4,244,25,17,30,249,21,247,31,0,63,0,36,33,3,65,44,64,33,68,20,126,20,19,17,17,38,17,57,213,45,0,92,125,27,72,28,218,44,5,240,20,191,31,252,23,226,16,220,20,13,31,17,78,99,0,39,238,63,245,28,141,58,156,58,200,29,247,18,184,198,51,44,62,71,199,105,140,59,189,25,158,95,254,39,228,23,198,90,26,2,145,201,1,63,118,189,154,17,32,42,21,16,218,21,253,23,210,43,245,111,1,63,172,193,29,244,17,64,174,243,33,236,32,0,45,0,45,157,18,68,128,153,89,63,205,71,70,62,123,214,64,15,27,33,26,241, +55,251,213,200,81,59,211,19,67,35,137,44,252,28,57,40,158,195,46,21,16,47,215,19,251,50,94,38,226,120,198,44,199,19,42,203,204,57,211,47,253,46,229,112,252,38,15,51,31,33,14,62,170,65,89,57,2,213,25,21,43,246,49,63,19,233,33,253,43,59,15,209,162,15,26,18,46,4,47,62,84,14,19,233,64,62,55,14,62,231,5,62,103,232,191,65,51,27,65,227,6,65,99,243,45,59,36,157,51,60,59,37,68,51,193,24,3,252,50,207,42,60,74,223,27,216,146,245,39,61,121,237,64,252,25,248,42,72,51,238,23,51,243,19,73,91,187,31,30,114,80,65,78,17,24,65,95,78,78,238,19,13,239,21,98,124,162,41,18,207,55,239,46,51,232,120,43,213,95,238,57,51,87,43,254,19,45,254,40,88,39,50,89,38,202,61,236,29,28,142,24,17,42,43,1,203,45,1,0,45,0,45,60,63,167,105,96,100,54,33,102,137,63,147,92,252,233,89,92,72,165,16,177,41,235,228,50,4,47,246,44,26,231,17,32,33,30,26,2,0,34,68,100,0,34,212, +64,239,80,32,238,253,47,56,15,232,117,91,185,65,103,62,48,172,38,51,51,0,39,0,36,0,39,183,60,42,15,60,28,15,0,39,2,181,16,60,42,14,60,122,18,61,116,16,61,126,27,62,120,21,0,39,43,70,52,250,47,247,244,56,31,23,28,51,32,30,246,64,73,254,68,23,62,240,75,174,5,64,240,77,206,6,66,192,247,68,252,31,51,32,27,224,18,112,214,65,64,15,56,56,82,245,64,23,15,247,39,196,59,22,51,21,86,243,118,59,86,53,78,83,75,96,75,242,22,47,56,114,25,105,16,80,38,115,240,64,54,87,73,64,126,82,23,64,254,64,174,14,64,110,107,25,64,240,85,77,68,254,68,174,106,43,252,152,18,36,46,114,30,47,90,37,108,193,69,252,90,79,74,250,74,170,115,34,74,92,146,16,73,252,94,37,78,250,78,170,27,78,250,128,103,78,250,98,57,83,248,110,154,7,83,26,126,32,78,254,82,62,110,78,111,68,253,31,107,252,107,43,33,89,136,112,255,104,248,104,248,106,248,104,248,108,120,98,247,98,199,97,243,88,21,26, +105,243,105,147,43,84,113,74,151,135,35,135,55,178,206,200,52,180,30,176,253,182,17,202,32,42,227,21,37,177,48,131,83,238,42,146,26,249,36,17,25,28,32,152,25,239,28,168,223,177,202,47,2,51,51,210,22,135,201,63,60,135,86,190,23,187,20,13,2,14,32,26,28,155,108,140,81,61,19,171,173,166,39,11,47,130,64,188,174,63,42,51,247,16,147,62,184,56,208,22,28,210,18,1,2,35,20,21,24,17,181,183,48,147,242,179,74,21,16,23,62,30,37,245,47,202,20,2,32,30,37,212,39,32,181,71,30,17,13,235,61,181,34,254,29,70,43,69,249,69,89,139,217,21,51,154,210,0,45,189,23,141,187,71,62,141,85,152,71,72,16,224,39,31,17,30,21,27,33,31,24,37,184,20,32,31,2,22,33,31,32,190,52,34,21,32,193,21,207,117,31,32,33,18,18,74,27,206,160,32,166,56,85,220,160,36,198,161,148,63,80,253,21,170,19,160,95,89,203,32,49,191,163,232,25,50,65,252,65,172,180,33,156,250,66,80,200,32,31,18,36,42,4,7,146,57, +71,169,213,43,168,94,14,83,22,23,55,178,95,220,44,221,25,13,26,234,25,17,37,239,30,174,37,244,43,35,13,26,77,71,254,16,23,17,17,28,173,29,13,16,240,18,57,2,19,27,2,13,20,87,25,92,23,212,72,213,163,195,28,213,127,195,30,94,106,21,48,216,163,180,254,177,181,180,204,26,27,254,78,180,108,184,244,172,148,174,98,73,36,35,27,26,32,98,46,255,48,238,26,28,242,39,56,199,53,59,36,50,214,230,7,159,54,89,248,186,35,59,14,210,49,187,252,61,41,39,51,2,4,9,166,136,30,17,15,32,18,21,24,24,42,36,50,59,122,34,50,59,37,0,45,4,57,2,60,46,89,165,67,65,62,64,50,8,57,197,240,165,32,174,58,168,85,69,251,69,123,214,27,174,134,31,28,30,180,253,150,79,68,243,73,124,16,70,55,201,248,163,21,71,45,68,165,0,45,0,45,120,82,28,30,27,14,251,29,37,2,19,17,32,32,248,56,233,62,27,30,17,16,209,30,35,57,2,30,21,19,20,32,0,63,81,240,81,112,95,31,81,240,61,89,81, +208,250,103,36,51,72,240,72,112,62,185,37,51,72,253,72,125,193,61,254,59,7,254,28,6,194,111,196,79,61,195,74,20,253,27,201,250,218,31,57,68,46,0,45,5,50,21,7,60,42,37,60,26,22,60,26,221,248,179,21,202,59,196,136,174,178,239,91,37,17,28,57,229,49,25,33,15,20,115,31,30,17,145,60,67,255,67,175,88,249,88,249,88,249,100,22,98,244,128,41,212,78,136,252,107,52,33,26,161,47,4,84,155,21,26,17,105,151,103,39,105,247,105,183,104,241,143,244,239,47,168,53,0,92,26,218,156,128,66,254,39,37,118,246,8,217,60,194,86,165,23,101,72,161,46,13,25,2,0,136,2,17,34,248,20,162,65,103,66,180,26,102,21,136,63,181,21,251,43,163,49,21,101,62,148,92,153,50,250,55,179,228,21,49,162,228,130,128,94,241,227,43,12,121,20,122,249,7,47,123,46,15,27,31,238,185,21,26,43,124,80,60,27,61,250,233,244,3,47,239,42,64,193,50,51,3,56,3,8,175,249,185,178,135,217,188,59,135,20,254,43,241,126,159,33,5, +3,43,200,18,189,60,16,17,18,90,27,16,156,30,20,254,239,195,22,162,85,254,147,17,76,199,33,30,250,36,205,124,162,160,178,45,195,46,180,37,163,89,15,13,107,20,1,117,70,160,22,253,243,253,51,228,229,102,48,28,16,42,21,21,184,17,21,52,6,208,24,88,80,0,45,0,45,17,26,22,27,37,250,43,2,31,15,30,21,28,32,2,54,43,0,45,0,45,214,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; + +var Module = typeof Module !== "undefined" ? Module : {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} + +Module.expectedDataFileDownloads++; + +(function() { + var loadPackage = function(metadata) { + function runWithFS() { + var fileData0 = []; + fileData0.push.apply(fileData0, [ 67, 80, 79, 68, 68, 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, 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, 0, 0, 0, 0, 0, 99, 70, 73, 76, 0, 0, 0, 0, 123, 144, 0, 0, 112, 111, 100, 47, 112, 105, 99, 111, 56, 95, 98, 111, 111, 116, 46, 112, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 1, 0, 0, 242, 16, 112, 105, 99, 111, 45, 56, 32, 99, 97, 114, 116, 114, 105, 100, 103, 101, 32, 47, 47, 32, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 31, 0, 255, 13, 46, 99, 111, 109, 10, 118, 101, 114, 115, 105, 111, 110, 32, 56, 10, 95, 95, 108, 117, 97, 95, 95, 10, 10, 45, 45, 62, 56, 6, 0, 25, 159, 95, 95, 103, 102, 120, 95, 95, 10, 48, 1, 0, 108, 15, 129, 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, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 1, 137, 64, 31, 102, 137, 64, 112, 15, 139, 1, 109, 15, 1, 1, 239, 95, 95, 95, 109, 97, 112, 10, 2, 240, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 50, 95, 95, 115, 187, 98, 48, 49, 48, 99, 17, 0, 161, 51, 48, 53, 53, 53, 50, 98, 53, 54, 53, 10, 0, 64, 51, 53, 53, 52, 5, 0, 128, 49, 53, 51, 53, 55, 48, 53, 48, 3, 0, 15, 5, 0, 106, 0, 169, 0, 16, 56, 12, 0, 115, 50, 52, 48, 51, 53, 50, 52, 26, 0, 15, 91, 2, 130, 30, 49, 154, 0, 15, 169, 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, 238, 113, 95, 95, 109, 117, 115, 105, 99, 114, 74, 50, 32, 52, 49, 2, 0, 15, 12, 0, 255, 255, 224, 80, 49, 52, 49, 10, 10, 99, 70, 73, 76, 0, 0, 0, 0, 44, 206, 11, 0, 112, 111, 100, 47, 103, 102, 120, 49, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 57, 0, 0, 243, 22, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 103, 102, 120, 49, 46, 112, 111, 100, 0, 47, 112, 97, 98, 97, 47, 112, 105, 99, 111, 56, 47, 112, 111, 100, 47, 25, 0, 47, 249, 0, 1, 0, 11, 177, 67, 66, 77, 80, 20, 0, 1, 0, 128, 0, 0, 4, 0, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 79, 77, 0, 255, 255, 4, 0, 73, 47, 0, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 63, 163, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 75, 47, 170, 204, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 79, 39, 236, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 255, 12, 47, 168, 119, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 15, 1, 0, 77, 79, 54, 228, 0, 255, 4, 0, 73, 15, 160, 1, 77, 63, 156, 118, 131, 4, 0, 74, 15, 160, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 15, 1, 0, 77, 79, 255, 173, 41, 255, 4, 0, 73, 15, 99, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 36, 97, 67, 80, 65, 76, 0, 3, 11, 0, 255, 36, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 95, 87, 79, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 236, 39, 0, 228, 54, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 0, 0, 2, 2, 4, 8, 3, 0, 133, 17, 9, 3, 0, 15, 48, 0, 29, 9, 54, 0, 63, 3, 5, 10, 48, 0, 10, 12, 60, 0, 14, 48, 0, 15, 150, 0, 11, 56, 3, 5, 10, 3, 0, 255, 33, 41, 24, 20, 17, 29, 53, 66, 33, 54, 18, 83, 89, 116, 47, 41, 73, 51, 59, 162, 136, 121, 243, 239, 125, 190, 18, 80, 255, 108, 36, 168, 231, 46, 0, 181, 67, 6, 90, 181, 117, 70, 101, 255, 110, 89, 255, 157, 129, 102, 0, 5, 62, 205, 7, 78, 152, 1, 15, 3, 0, 255, 17, 255, 2, 67, 66, 77, 80, 164, 1, 0, 0, 40, 0, 0, 0, 10, 0, 0, 0, 8, 68, 3, 24, 15, 44, 0, 20, 63, 9, 7, 15, 39, 0, 17, 95, 10, 7, 7, 7, 14, 41, 0, 17, 51, 11, 7, 13, 10, 0, 66, 7, 7, 7, 7, 5, 0, 20, 0, 5, 0, 22, 7, 25, 0, 37, 0, 12, 39, 0, 0, 3, 0, 5, 4, 0, 4, 16, 0, 0, 10, 0, 1, 3, 0, 23, 0, 79, 0, 14, 40, 0, 3, 99, 0, 9, 40, 0, 5, 7, 0, 10, 80, 0, 1, 18, 0, 12, 40, 0, 6, 165, 0, 9, 159, 0, 31, 7, 180, 4, 54, 57, 79, 72, 67, 180, 4, 90, 231, 39, 0, 231, 86, 180, 4, 15, 1, 0, 30, 240, 3, 28, 0, 73, 109, 24, 69, 0, 122, 44, 160, 72, 50, 52, 54, 53, 173, 177, 183, 100, 14, 240, 8, 0, 77, 255, 132, 0, 255, 255, 39, 0, 226, 50, 41, 173, 255, 174, 75, 176, 255, 136, 188, 255, 214, 197, 48, 0, 32, 48, 102, 144, 0, 177, 131, 72, 171, 82, 54, 63, 65, 65, 180, 182, 188, 48, 0, 49, 42, 255, 163, 79, 0, 96, 231, 86, 41, 162, 255, 132, 48, 0, 245, 7, 175, 255, 217, 177, 0, 0, 0, 32, 51, 123, 140, 28, 60, 0, 131, 49, 171, 100, 54, 80, 80, 80, 120, 0, 35, 255, 155, 9, 0, 97, 63, 155, 255, 132, 112, 169, 192, 0, 0, 75, 0, 255, 0, 28, 24, 87, 135, 37, 77, 0, 147, 60, 0, 0, 0, 69, 69, 69, 180, 0, 2, 98, 146, 133, 174, 255, 105, 154, 48, 0, 48, 55, 67, 91, 19, 0, 143, 135, 81, 0, 0, 0, 86, 70, 59, 48, 0, 2, 53, 131, 118, 156, 12, 0, 53, 37, 55, 77, 12, 0, 63, 101, 91, 82, 32, 1, 14, 53, 43, 55, 66, 12, 0, 63, 79, 72, 67, 48, 0, 15, 37, 62, 83, 12, 0, 63, 95, 87, 79, 48, 0, 14, 79, 29, 43, 83, 0, 1, 0, 255, 4, 48, 255, 0, 255, 180, 4, 158, 20, 48, 0, 0, 128, 0, 0, 0, 96, 180, 4, 15, 1, 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, 26, 0, 28, 48, 83, 36, 0, 0, 0, 4, 4, 0, 9, 28, 48, 241, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 72, 48, 33, 0, 1, 72, 48, 0, 76, 48, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 79, 77, 0, 255, 255, 4, 0, 73, 47, 0, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 63, 163, 255, 255, 4, 0, 72, 15, 32, 170, 78, 47, 170, 204, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 79, 39, 236, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 255, 12, 47, 168, 119, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 15, 1, 0, 77, 79, 54, 228, 0, 255, 4, 0, 73, 15, 160, 1, 77, 63, 156, 118, 131, 4, 0, 74, 15, 160, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 15, 1, 0, 77, 79, 255, 173, 41, 255, 4, 0, 73, 15, 99, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 36, 151, 67, 66, 77, 80, 84, 0, 0, 0, 8, 4, 0, 4, 1, 0, 20, 8, 1, 0, 36, 2, 2, 8, 0, 36, 2, 2, 8, 0, 42, 2, 2, 8, 0, 8, 40, 0, 3, 1, 0, 15, 92, 0, 18, 36, 15, 15, 8, 0, 36, 15, 15, 8, 0, 42, 15, 15, 8, 0, 8, 40, 0, 15, 92, 0, 25, 6, 147, 0, 3, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 33, 40, 15, 15, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 32, 47, 2, 2, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 15, 92, 0, 26, 47, 15, 15, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 15, 184, 0, 33, 68, 2, 2, 8, 2, 183, 0, 7, 40, 2, 13, 200, 0, 15, 184, 0, 33, 68, 15, 15, 8, 15, 183, 0, 7, 40, 2, 13, 200, 0, 15, 40, 2, 29, 5, 90, 1, 7, 8, 0, 3, 22, 0, 7, 248, 2, 15, 40, 2, 35, 5, 90, 1, 7, 8, 0, 3, 22, 0, 7, 248, 2, 12, 40, 2, 155, 20, 48, 0, 0, 128, 0, 0, 0, 96, 92, 0, 15, 1, 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, 29, 1, 28, 48, 18, 64, 28, 48, 30, 128, 28, 48, 15, 1, 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, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42, 0, 28, 64, 95, 36, 0, 0, 0, 2, 148, 112, 0, 244, 1, 0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 44, 0, 23, 8, 48, 0, 5, 44, 0, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 88, 0, 10, 255, 0, 10, 4, 9, 2, 8, 3, 11, 1, 12, 13, 14, 5, 15, 6, 7, 24, 113, 9, 34, 6, 7, 1, 0, 33, 13, 6, 1, 0, 0, 8, 0, 33, 5, 5, 8, 0, 129, 5, 5, 5, 5, 6, 7, 13, 5, 1, 0, 8, 32, 0, 2, 8, 0, 2, 1, 0, 31, 6, 92, 0, 10, 3, 37, 0, 18, 7, 52, 0, 8, 8, 0, 33, 5, 5, 8, 0, 1, 100, 0, 34, 13, 7, 100, 0, 6, 32, 0, 2, 1, 0, 31, 6, 184, 0, 26, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 56, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 23, 31, 5, 1, 0, 44, 0, 92, 0, 19, 44, 84, 0, 31, 3, 20, 1, 4, 19, 1, 236, 0, 18, 1, 1, 0, 1, 144, 0, 32, 20, 32, 68, 2, 61, 0, 0, 32, 160, 66, 255, 0, 5, 1, 2, 1, 13, 6, 2, 4, 9, 3, 13, 5, 13, 6, 0, 1, 0, 221, 11, 88, 3, 15, 255, 0, 221, 16, 5, 0, 2, 30, 13, 0, 2, 15, 160, 34, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 19, 4, 4, 0, 9, 28, 32, 255, 0, 5, 6, 7, 2, 4, 9, 10, 1, 13, 14, 15, 3, 11, 12, 8, 44, 0, 18, 67, 3, 11, 8, 2, 160, 34, 19, 35, 164, 32, 28, 5, 168, 32, 81, 0, 0, 6, 6, 0, 164, 32, 34, 0, 6, 131, 0, 19, 45, 39, 0, 12, 43, 0, 11, 174, 0, 17, 2, 2, 0, 31, 0, 40, 151, 12, 7, 106, 0, 0, 99, 0, 1, 113, 0, 2, 118, 0, 11, 8, 0, 4, 32, 0, 14, 20, 1, 15, 92, 0, 33, 47, 8, 8, 92, 0, 20, 83, 164, 0, 0, 0, 12, 4, 0, 8, 92, 0, 31, 11, 1, 0, 124, 0, 172, 0, 19, 76, 164, 0, 27, 7, 172, 0, 3, 35, 35, 31, 5, 8, 0, 29, 15, 84, 0, 9, 2, 183, 34, 47, 6, 5, 8, 0, 29, 15, 168, 0, 12, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 16, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 14, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 168, 0, 10, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 13, 168, 36, 6, 4, 32, 0, 4, 48, 0, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 6, 84, 0, 6, 4, 32, 0, 4, 48, 0, 15, 144, 4, 10, 65, 13, 13, 0, 13, 6, 0, 32, 0, 13, 6, 0, 15, 44, 0, 10, 0, 136, 4, 96, 11, 7, 6, 6, 11, 11, 151, 4, 30, 0, 172, 0, 15, 74, 5, 17, 79, 10, 10, 10, 10, 30, 0, 6, 15, 84, 0, 70, 15, 120, 104, 5, 79, 1, 0, 0, 1, 4, 0, 102, 15, 127, 0, 111, 31, 1, 127, 0, 236, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 196, 68, 19, 51, 0, 0, 14, 7, 0, 19, 14, 7, 0, 10, 16, 0, 5, 32, 0, 15, 32, 69, 32, 5, 24, 0, 36, 8, 8, 130, 217, 9, 16, 0, 5, 32, 0, 15, 92, 0, 33, 42, 14, 0, 168, 0, 4, 185, 0, 5, 16, 0, 31, 0, 92, 0, 39, 42, 8, 0, 168, 0, 4, 185, 0, 5, 16, 0, 15, 92, 0, 40, 4, 1, 0, 34, 7, 7, 7, 0, 2, 13, 66, 18, 7, 12, 0, 2, 20, 0, 47, 0, 7, 92, 0, 44, 4, 66, 0, 17, 7, 82, 0, 47, 7, 7, 92, 0, 59, 3, 187, 0, 8, 93, 0, 47, 7, 7, 92, 0, 49, 1, 187, 104, 1, 172, 0, 8, 4, 0, 3, 20, 0, 15, 184, 0, 46, 6, 165, 0, 6, 8, 0, 2, 114, 0, 15, 92, 0, 45, 40, 7, 0, 89, 0, 4, 110, 1, 3, 182, 0, 15, 92, 0, 48, 22, 7, 2, 0, 3, 1, 0, 7, 19, 0, 9, 120, 1, 15, 132, 2, 36, 6, 99, 1, 5, 14, 1, 15, 112, 1, 3, 16, 100, 146, 68, 15, 92, 221, 12, 41, 8, 8, 177, 221, 4, 10, 0, 23, 2, 10, 0, 4, 6, 0, 12, 10, 0, 9, 200, 221, 15, 108, 0, 26, 25, 15, 10, 0, 23, 15, 10, 0, 4, 6, 0, 12, 10, 0, 15, 108, 0, 39, 0, 66, 223, 27, 2, 90, 225, 15, 20, 0, 9, 15, 216, 0, 42, 0, 189, 224, 11, 106, 225, 15, 20, 0, 6, 15, 104, 223, 183, 15, 92, 0, 13, 2, 191, 224, 39, 2, 8, 2, 0, 22, 2, 69, 2, 7, 16, 0, 4, 231, 224, 15, 92, 0, 24, 2, 191, 224, 39, 15, 8, 2, 0, 22, 15, 53, 2, 7, 16, 0, 4, 231, 224, 15, 20, 1, 25, 3, 17, 2, 3, 123, 225, 15, 8, 0, 6, 12, 57, 2, 15, 184, 227, 21, 2, 159, 227, 6, 12, 0, 15, 8, 0, 1, 12, 41, 2, 15, 112, 228, 22, 9, 96, 228, 30, 8, 72, 226, 15, 0, 227, 37, 4, 181, 0, 23, 15, 176, 227, 14, 72, 226, 15, 0, 227, 35, 21, 2, 113, 1, 6, 8, 0, 8, 248, 2, 42, 2, 2, 8, 0, 15, 184, 0, 27, 4, 113, 1, 6, 8, 0, 8, 248, 2, 42, 15, 15, 8, 0, 15, 60, 3, 28, 3, 1, 2, 2, 185, 227, 5, 29, 229, 3, 8, 0, 4, 24, 0, 7, 146, 228, 15, 92, 0, 26, 38, 15, 15, 185, 227, 5, 29, 229, 3, 8, 0, 4, 24, 0, 7, 146, 228, 15, 224, 229, 32, 11, 88, 4, 15, 80, 4, 53, 14, 88, 4, 15, 80, 4, 17, 14, 112, 79, 15, 14, 7, 2, 19, 6, 68, 113, 7, 82, 7, 19, 7, 208, 79, 4, 212, 79, 15, 1, 0, 28, 8, 60, 0, 8, 84, 0, 8, 108, 0, 12, 28, 80, 82, 1, 0, 0, 20, 0, 4, 0, 15, 232, 9, 15, 41, 7, 6, 111, 0, 9, 188, 0, 14, 196, 0, 14, 153, 0, 15, 1, 0, 216, 14, 4, 1, 15, 44, 1, 3, 14, 84, 1, 15, 56, 83, 7, 48, 5, 0, 0, 84, 78, 31, 36, 244, 181, 33, 0, 104, 0, 23, 6, 4, 0, 41, 7, 7, 15, 0, 15, 204, 1, 3, 15, 220, 1, 1, 15, 249, 0, 20, 15, 39, 0, 46, 31, 6, 144, 0, 255, 255, 255, 154, 15, 108, 0, 53, 15, 164, 4, 15, 15, 100, 88, 22, 98, 56, 19, 0, 0, 70, 0, 4, 0, 15, 32, 187, 64, 1, 120, 121, 1, 88, 88, 15, 8, 0, 3, 2, 229, 14, 47, 6, 6, 38, 0, 7, 14, 112, 5, 15, 137, 0, 35, 15, 70, 0, 123, 31, 6, 57, 7, 48, 15, 70, 0, 34, 15, 114, 8, 140, 15, 24, 1, 119, 15, 48, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53, 15, 164, 1, 255, 6, 15, 70, 0, 49, 15, 82, 18, 53, 31, 0, 164, 107, 53, 15, 236, 28, 17, 3, 156, 29, 3, 136, 29, 11, 253, 30, 5, 33, 31, 5, 9, 0, 15, 236, 28, 26, 3, 156, 29, 3, 136, 29, 11, 253, 30, 5, 33, 31, 5, 9, 0, 14, 164, 29, 15, 184, 0, 22, 14, 8, 0, 14, 208, 0, 15, 184, 0, 37, 14, 8, 0, 14, 208, 0, 15, 184, 0, 31, 10, 8, 0, 46, 2, 2, 8, 0, 15, 184, 0, 39, 10, 8, 0, 46, 15, 15, 8, 0, 10, 184, 0, 16, 141, 72, 108, 3, 4, 0, 15, 104, 21, 42, 22, 1, 10, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 37, 7, 1, 33, 0, 5, 34, 0, 35, 1, 7, 137, 40, 23, 69, 211, 37, 31, 8, 103, 0, 1, 2, 99, 0, 2, 4, 0, 17, 1, 42, 0, 19, 1, 14, 0, 6, 127, 0, 0, 6, 0, 15, 226, 0, 24, 38, 1, 0, 170, 0, 20, 1, 149, 0, 1, 11, 0, 42, 7, 1, 11, 0, 51, 1, 1, 7, 193, 0, 37, 1, 7, 11, 0, 2, 213, 0, 2, 11, 0, 2, 34, 0, 29, 1, 248, 0, 63, 0, 1, 1, 149, 0, 13, 15, 160, 0, 41, 14, 138, 0, 15, 149, 0, 28, 83, 245, 0, 0, 0, 15, 4, 0, 15, 116, 23, 60, 6, 30, 2, 11, 34, 2, 3, 15, 0, 6, 222, 0, 9, 213, 0, 9, 110, 1, 42, 0, 0, 114, 1, 27, 0, 225, 0, 12, 229, 0, 12, 233, 0, 6, 237, 0, 12, 158, 0, 14, 253, 0, 15, 81, 144, 89, 31, 0, 253, 0, 111, 14, 106, 108, 12, 126, 146, 1, 141, 111, 3, 167, 109, 30, 13, 8, 0, 4, 32, 0, 7, 118, 146, 15, 84, 0, 15, 34, 6, 6, 154, 109, 82, 8, 8, 8, 7, 6, 8, 0, 23, 8, 8, 0, 4, 32, 0, 15, 84, 0, 34, 82, 9, 9, 9, 7, 6, 8, 0, 23, 9, 8, 0, 15, 84, 0, 42, 82, 10, 10, 10, 7, 6, 8, 0, 23, 10, 8, 0, 15, 84, 0, 42, 82, 11, 11, 11, 7, 6, 8, 0, 23, 11, 8, 0, 15, 84, 0, 42, 82, 12, 12, 12, 7, 6, 8, 0, 23, 12, 8, 0, 15, 84, 0, 42, 82, 14, 14, 14, 7, 6, 8, 0, 23, 14, 8, 0, 14, 84, 0, 15, 248, 1, 66, 19, 55, 235, 115, 15, 84, 0, 3, 1, 29, 0, 51, 1, 1, 13, 226, 2, 0, 5, 0, 1, 20, 0, 15, 63, 0, 25, 10, 7, 10, 10, 63, 0, 15, 210, 0, 5, 23, 0, 217, 4, 34, 1, 1, 97, 3, 23, 1, 206, 48, 1, 8, 0, 15, 114, 3, 0, 15, 84, 0, 97, 6, 91, 0, 39, 1, 0, 115, 49, 2, 92, 0, 1, 16, 0, 14, 168, 5, 15, 84, 0, 103, 3, 67, 0, 15, 8, 0, 6, 47, 0, 0, 84, 0, 81, 15, 232, 46, 27, 9, 1, 0, 14, 17, 45, 15, 92, 0, 37, 42, 7, 7, 145, 46, 8, 11, 0, 14, 102, 0, 15, 48, 46, 31, 42, 7, 0, 200, 45, 4, 84, 47, 31, 7, 180, 48, 53, 5, 107, 0, 3, 3, 48, 3, 8, 0, 31, 0, 180, 48, 50, 7, 149, 46, 7, 156, 46, 15, 160, 47, 49, 13, 121, 1, 15, 92, 0, 49, 5, 11, 1, 9, 2, 0, 14, 127, 14, 15, 132, 2, 40, 42, 7, 7, 4, 0, 14, 92, 0, 15, 128, 50, 47, 6, 32, 2, 14, 232, 2, 15, 40, 2, 40, 11, 8, 0, 15, 112, 1, 48, 27, 7, 43, 3, 7, 212, 1, 15, 92, 0, 56, 31, 0, 132, 2, 64, 11, 126, 50, 6, 200, 0, 31, 0, 184, 0, 53, 8, 80, 4, 15, 60, 3, 63, 25, 7, 40, 2, 15, 112, 1, 66, 14, 8, 0, 11, 92, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 60, 3, 13, 20, 6, 159, 123, 0, 205, 157, 2, 146, 17, 45, 13, 6, 9, 0, 4, 27, 0, 3, 46, 0, 3, 213, 122, 15, 109, 0, 21, 5, 178, 52, 0, 86, 158, 2, 160, 3, 45, 13, 7, 9, 0, 4, 27, 0, 3, 46, 0, 5, 9, 0, 4, 118, 0, 15, 218, 0, 41, 19, 6, 191, 0, 13, 9, 0, 15, 218, 0, 56, 4, 182, 0, 13, 9, 0, 15, 218, 0, 74, 5, 191, 0, 5, 180, 1, 15, 218, 0, 61, 0, 2, 11, 3, 182, 0, 3, 9, 0, 20, 14, 200, 0, 7, 27, 0, 10, 218, 0, 18, 14, 1, 0, 15, 218, 0, 50, 14, 227, 0, 15, 218, 0, 63, 14, 227, 0, 15, 218, 0, 17, 98, 20, 1, 0, 0, 16, 0, 4, 0, 14, 59, 15, 15, 232, 227, 236, 15, 28, 1, 4, 28, 7, 1, 0, 11, 31, 5, 15, 16, 0, 205, 15, 56, 2, 13, 15, 43, 1, 233, 15, 46, 4, 29, 21, 1, 203, 12, 53, 13, 7, 13, 13, 20, 11, 18, 0, 15, 231, 12, 3, 15, 41, 7, 1, 15, 18, 3, 76, 15, 109, 0, 19, 46, 7, 0, 126, 11, 25, 7, 246, 59, 11, 99, 8, 14, 47, 10, 15, 109, 0, 21, 7, 36, 10, 15, 9, 0, 4, 6, 255, 4, 8, 238, 25, 9, 138, 2, 15, 109, 0, 19, 14, 242, 11, 14, 11, 61, 14, 18, 0, 13, 54, 0, 15, 218, 0, 22, 8, 109, 60, 26, 7, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 96, 162, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 127, 166, 4, 28, 0, 53, 105, 102, 102, 4, 0, 79, 8, 4, 2, 255, 4, 0, 255, 255, 83, 8, 116, 2, 8, 124, 2, 63, 103, 102, 102, 4, 0, 255, 255, 84, 12, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 85, 15, 124, 2, 255, 255, 103, 8, 132, 2, 15, 128, 2, 255, 255, 255, 255, 255, 174, 63, 77, 0, 255, 128, 2, 255, 255, 104, 191, 0, 155, 255, 255, 232, 241, 255, 255, 188, 204, 255, 128, 2, 255, 255, 96, 34, 39, 231, 124, 2, 4, 4, 0, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 124, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 80, 57, 255, 246, 15, 128, 2, 105, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 51, 31, 103, 124, 82, 255, 255, 46, 78, 105, 102, 102, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 255, 3, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 0, 1, 0, 3, 14, 156, 2, 15, 4, 0, 255, 255, 69, 15, 124, 2, 0, 15, 36, 20, 255, 255, 96, 15, 124, 2, 255, 255, 103, 12, 132, 2, 14, 124, 2, 15, 156, 122, 255, 255, 255, 255, 255, 255, 255, 255, 31, 63, 77, 0, 255, 128, 2, 255, 255, 104, 191, 0, 155, 255, 255, 232, 241, 255, 255, 188, 204, 255, 128, 2, 255, 255, 96, 34, 39, 231, 124, 2, 4, 4, 0, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 172, 1, 214, 53, 167, 171, 178, 4, 0, 15, 16, 0, 1, 8, 20, 0, 14, 16, 0, 15, 80, 0, 15, 14, 36, 0, 15, 80, 0, 6, 14, 64, 0, 15, 128, 2, 100, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 15, 44, 4, 225, 8, 248, 1, 8, 16, 2, 14, 12, 0, 15, 48, 0, 6, 15, 32, 0, 34, 14, 48, 0, 15, 128, 2, 127, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 234, 15, 144, 4, 0, 15, 48, 2, 38, 14, 64, 2, 15, 128, 2, 31, 14, 192, 2, 15, 0, 5, 103, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 235, 14, 20, 0, 15, 0, 5, 42, 15, 128, 2, 194, 15, 20, 10, 16, 15, 252, 9, 17, 15, 0, 5, 254, 12, 16, 0, 15, 160, 9, 16, 15, 80, 5, 38, 15, 80, 0, 8, 15, 128, 2, 65, 15, 156, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 31, 8, 28, 190, 255, 255, 110, 0, 60, 0, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11, 15, 88, 0, 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 248, 8, 68, 58, 15, 16, 0, 17, 8, 20, 0, 8, 32, 0, 15, 228, 0, 0, 15, 80, 0, 34, 15, 84, 0, 25, 4, 12, 0, 15, 8, 0, 9, 14, 60, 0, 14, 32, 0, 15, 80, 0, 4, 15, 156, 0, 9, 15, 128, 2, 255, 59, 15, 8, 0, 57, 15, 240, 1, 0, 15, 20, 0, 10, 12, 32, 0, 14, 48, 0, 15, 80, 0, 6, 15, 128, 2, 21, 15, 240, 0, 69, 15, 0, 5, 255, 59, 15, 176, 4, 13, 15, 240, 1, 41, 14, 100, 2, 15, 128, 2, 11, 15, 100, 4, 0, 15, 160, 0, 13, 15, 64, 0, 29, 15, 128, 2, 49, 15, 0, 5, 255, 187, 15, 8, 5, 37, 15, 64, 0, 0, 15, 0, 5, 255, 163, 14, 120, 1, 15, 16, 9, 14, 15, 128, 2, 34, 15, 112, 10, 0, 15, 80, 10, 34, 15, 80, 2, 0, 14, 0, 5, 15, 128, 2, 20, 14, 164, 0, 15, 16, 10, 10, 14, 4, 10, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 255, 196, 8, 8, 0, 12, 180, 0, 15, 48, 20, 24, 15, 128, 2, 255, 255, 24, 15, 8, 0, 0, 15, 128, 14, 30, 15, 24, 0, 0, 15, 0, 5, 255, 255, 28, 15, 224, 4, 0, 15, 4, 22, 9, 15, 64, 0, 1, 15, 0, 5, 255, 255, 52, 14, 100, 2, 14, 124, 2, 15, 16, 0, 20, 15, 0, 30, 255, 255, 52, 31, 54, 0, 10, 23, 15, 128, 2, 255, 255, 36, 15, 4, 0, 64, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 53, 143, 147, 154, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 5, 15, 80, 0, 8, 15, 36, 0, 10, 14, 128, 0, 15, 16, 0, 55, 15, 112, 0, 21, 15, 156, 0, 1, 12, 8, 0, 15, 48, 0, 4, 15, 32, 0, 29, 15, 128, 2, 255, 7, 8, 8, 0, 15, 12, 0, 0, 15, 48, 0, 13, 15, 32, 0, 34, 15, 240, 1, 0, 15, 144, 0, 13, 15, 32, 0, 34, 14, 112, 0, 14, 8, 2, 15, 144, 0, 4, 15, 240, 0, 50, 14, 120, 0, 15, 0, 5, 255, 12, 15, 128, 2, 29, 15, 64, 5, 4, 15, 128, 2, 26, 15, 192, 4, 17, 15, 124, 5, 0, 15, 128, 2, 38, 14, 156, 5, 15, 128, 2, 46, 15, 0, 5, 255, 47, 14, 208, 1, 15, 0, 5, 187, 15, 168, 4, 25, 12, 16, 3, 15, 240, 0, 52, 15, 128, 2, 255, 19, 15, 0, 10, 8, 14, 64, 4, 15, 0, 10, 52, 15, 128, 2, 32, 15, 48, 10, 54, 15, 52, 2, 4, 15, 32, 6, 1, 15, 32, 0, 25, 15, 0, 5, 255, 14, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 113, 31, 103, 124, 82, 255, 255, 46, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 255, 2, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 156, 2, 8, 15, 4, 0, 255, 255, 83, 15, 124, 2, 5, 63, 207, 195, 197, 4, 0, 255, 255, 76, 143, 224, 210, 212, 255, 242, 227, 229, 255, 160, 22, 1, 127, 140, 134, 135, 255, 173, 164, 166, 128, 2, 255, 255, 76, 0, 124, 2, 4, 4, 0, 8, 28, 30, 113, 75, 75, 74, 255, 107, 104, 104, 132, 2, 14, 160, 12, 15, 4, 0, 255, 255, 61, 49, 196, 184, 186, 128, 2, 53, 189, 177, 181, 144, 7, 0, 128, 2, 0, 4, 0, 14, 124, 2, 15, 4, 0, 255, 255, 69, 127, 174, 156, 166, 255, 138, 129, 134, 128, 2, 255, 255, 255, 49, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 200, 82, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 208, 173, 63, 168, 119, 255, 0, 5, 255, 255, 96, 68, 50, 226, 0, 255, 140, 251, 14, 124, 2, 15, 128, 2, 255, 216, 12, 92, 178, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 132, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 73, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 31, 8, 28, 190, 255, 255, 38, 15, 128, 2, 57, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11, 15, 88, 0 ]); + fileData0.push.apply(fileData0, [ 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 56, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 49, 93, 85, 88, 4, 0, 0, 132, 2, 15, 128, 82, 255, 255, 95, 4, 124, 2, 0, 4, 0, 0, 120, 2, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 12, 128, 2, 63, 75, 65, 68, 124, 2, 255, 255, 92, 9, 132, 2, 111, 65, 68, 255, 75, 56, 63, 4, 0, 255, 255, 52, 15, 124, 2, 25, 9, 132, 2, 47, 56, 63, 4, 0, 255, 255, 56, 14, 124, 2, 15, 132, 2, 19, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 208, 67, 66, 77, 80, 244, 0, 0, 0, 32, 0, 0, 0, 7, 132, 2, 7, 28, 0, 31, 5, 1, 0, 49, 31, 13, 1, 0, 4, 3, 31, 0, 31, 6, 55, 0, 5, 3, 8, 0, 34, 7, 6, 1, 0, 27, 13, 8, 0, 15, 155, 0, 49, 0, 252, 0, 19, 84, 244, 0, 27, 8, 252, 0, 115, 0, 0, 6, 6, 6, 7, 6, 9, 0, 3, 18, 0, 4, 26, 0, 15, 88, 1, 113, 15, 1, 0, 44, 4, 88, 1, 13, 8, 0, 15, 183, 1, 12, 31, 13, 88, 1, 46, 15, 96, 1, 1, 15, 88, 1, 27, 19, 69, 84, 1, 12, 88, 1, 0, 73, 0, 0, 196, 0, 15, 173, 1, 0, 1, 23, 0, 5, 105, 0, 15, 77, 0, 17, 9, 88, 0, 4, 75, 0, 0, 2, 0, 3, 3, 0, 3, 14, 0, 6, 84, 0, 15, 77, 0, 22, 21, 6, 86, 0, 2, 63, 0, 4, 83, 0, 15, 77, 0, 33, 2, 223, 0, 25, 6, 77, 0, 3, 91, 0, 47, 0, 0, 154, 0, 35, 27, 6, 154, 0, 31, 6, 154, 0, 32, 4, 74, 0, 1, 34, 0, 36, 6, 0, 150, 0, 28, 13, 65, 3, 14, 129, 1, 15, 1, 0, 40, 0, 77, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 77, 0, 7, 20, 7, 8, 0, 36, 7, 7, 8, 0, 40, 7, 7, 8, 0, 4, 26, 0, 20, 7, 44, 0, 4, 42, 0, 15, 109, 0, 30, 5, 57, 0, 15, 9, 0, 6, 1, 117, 0, 22, 7, 106, 0, 7, 18, 0, 15, 109, 0, 27, 19, 7, 2, 0, 12, 232, 0, 15, 18, 0, 13, 11, 54, 0, 15, 218, 0, 22, 40, 0, 7, 66, 0, 9, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 33, 12, 10, 0, 4, 45, 1, 22, 7, 118, 0, 3, 100, 0, 4, 85, 2, 31, 0, 110, 2, 54, 15, 77, 0, 151, 147, 148, 0, 2, 0, 160, 0, 0, 0, 205, 131, 6, 7, 31, 0, 31, 255, 4, 0, 255, 255, 119, 14, 107, 20, 15, 4, 0, 255, 255, 69, 15, 124, 2, 255, 255, 107, 14, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 86, 15, 128, 2, 255, 255, 255, 255, 255, 179, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 31, 179, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 163, 181, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 12, 47, 186, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 124, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 56, 57, 255, 255, 47, 15, 64, 0, 49, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 157, 14, 60, 2, 15, 128, 2, 255, 255, 89, 15, 124, 2, 44, 15, 128, 2, 45, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 47, 15, 128, 82, 255, 255, 68, 15, 192, 107, 32, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 40, 15, 128, 2, 37, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 32, 15, 128, 2, 45, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 28, 15, 132, 2, 53, 15, 124, 2, 255, 255, 108, 14, 132, 2, 15, 124, 2, 255, 255, 12, 15, 4, 0, 255, 255, 188, 255, 3, 67, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 1, 0, 89, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 2, 13, 0, 18, 13, 1, 0, 14, 87, 1, 12, 124, 0, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 9, 12, 1, 0, 47, 0, 6, 25, 1, 2, 13, 0, 14, 48, 0, 1, 83, 0, 14, 73, 1, 13, 75, 0, 47, 7, 7, 96, 0, 23, 5, 183, 0, 15, 192, 0, 2, 6, 123, 0, 4, 192, 0, 5, 135, 0, 9, 60, 1, 10, 73, 1, 8, 87, 1, 5, 35, 2, 4, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 6, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 14, 243, 1, 15, 64, 2, 4, 15, 243, 1, 24, 13, 160, 2, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 158, 5, 79, 15, 28, 6, 255, 255, 79, 16, 14, 1, 0, 15, 28, 6, 23, 0, 46, 0, 63, 5, 14, 14, 28, 6, 22, 0, 47, 0, 0, 48, 0, 31, 6, 28, 6, 20, 0, 47, 0, 10, 48, 0, 14, 28, 6, 15, 96, 0, 0, 15, 28, 6, 22, 4, 192, 0, 15, 28, 6, 22, 1, 32, 1, 15, 28, 6, 255, 255, 255, 255, 232, 10, 197, 4, 2, 42, 6, 31, 6, 56, 12, 21, 1, 104, 5, 47, 14, 14, 56, 12, 22, 2, 201, 5, 31, 14, 56, 12, 22, 9, 42, 6, 14, 56, 12, 15, 96, 0, 5, 15, 56, 12, 22, 8, 192, 0, 15, 56, 12, 18, 7, 42, 6, 15, 28, 6, 255, 255, 255, 138, 14, 197, 4, 15, 48, 0, 10, 46, 14, 14, 49, 0, 15, 155, 0, 9, 2, 94, 10, 15, 48, 0, 25, 8, 239, 10, 15, 48, 0, 16, 1, 220, 3, 15, 144, 0, 4, 15, 192, 0, 48, 10, 239, 10, 15, 84, 18, 255, 255, 255, 255, 255, 255, 43, 15, 28, 6, 255, 69, 10, 171, 19, 15, 28, 6, 14, 4, 252, 7, 14, 28, 6, 15, 92, 8, 22, 14, 243, 1, 14, 188, 8, 15, 111, 5, 0, 15, 28, 9, 23, 14, 111, 5, 15, 188, 8, 68, 31, 6, 28, 6, 255, 255, 255, 107, 9, 199, 3, 15, 28, 6, 15, 9, 248, 3, 15, 28, 6, 16, 12, 9, 18, 15, 28, 6, 13, 0, 135, 4, 7, 48, 0, 15, 28, 6, 11, 15, 96, 0, 23, 5, 51, 1, 14, 192, 0, 15, 28, 6, 12, 8, 184, 4, 15, 56, 12, 255, 255, 255, 255, 255, 153, 4, 226, 5, 15, 96, 0, 20, 5, 19, 6, 15, 56, 12, 20, 5, 163, 6, 15, 56, 12, 20, 5, 91, 11, 15, 28, 6, 20, 6, 3, 7, 15, 28, 6, 19, 14, 139, 11, 14, 28, 6, 14, 71, 20, 15, 28, 6, 255, 255, 219, 14, 31, 3, 14, 28, 6, 14, 48, 0, 15, 196, 42, 255, 255, 255, 255, 220, 83, 69, 0, 0, 0, 7, 4, 0, 15, 28, 6, 1, 86, 6, 9, 9, 9, 6, 7, 0, 2, 153, 0, 0, 176, 1, 3, 14, 0, 15, 77, 0, 27, 3, 63, 0, 72, 5, 5, 5, 6, 14, 0, 31, 6, 77, 0, 33, 4, 22, 0, 241, 2, 9, 7, 15, 0, 0, 0, 10, 7, 7, 7, 14, 0, 0, 0, 11, 7, 13, 22, 0, 31, 12, 231, 0, 28, 0, 239, 1, 6, 7, 0, 15, 231, 0, 44, 70, 12, 12, 12, 6, 7, 0, 15, 77, 0, 43, 35, 13, 13, 7, 0, 63, 13, 13, 13, 7, 0, 2, 15, 52, 1, 27, 18, 7, 6, 0, 18, 7, 6, 0, 8, 14, 0, 4, 28, 0, 15, 77, 0, 30, 4, 64, 0, 3, 79, 0, 47, 7, 7, 77, 0, 33, 1, 145, 4, 15, 7, 0, 8, 31, 0, 231, 0, 35, 18, 7, 6, 0, 46, 7, 7, 175, 0, 15, 206, 1, 22, 70, 10, 10, 10, 6, 7, 0, 15, 2, 3, 46, 3, 7, 0, 6, 64, 4, 11, 7, 0, 15, 77, 0, 16, 34, 8, 8, 3, 0, 83, 8, 8, 8, 7, 8, 1, 0, 2, 15, 0, 1, 29, 0, 23, 8, 30, 3, 15, 129, 1, 21, 33, 11, 11, 5, 0, 66, 11, 11, 11, 0, 4, 0, 2, 18, 0, 17, 0, 5, 0, 5, 7, 0, 15, 77, 0, 16, 18, 10, 6, 0, 33, 10, 10, 5, 0, 65, 10, 7, 10, 10, 8, 0, 37, 10, 0, 7, 0, 5, 37, 0, 15, 77, 0, 14, 49, 9, 9, 9, 7, 0, 33, 1, 9, 13, 0, 49, 1, 9, 9, 20, 0, 65, 9, 9, 0, 9, 14, 0, 4, 1, 0, 15, 77, 0, 18, 98, 15, 15, 15, 0, 0, 15, 7, 0, 3, 57, 13, 1, 9, 0, 32, 0, 15, 46, 4, 1, 48, 4, 3, 7, 0, 15, 231, 0, 16, 32, 4, 4, 117, 0, 85, 2, 2, 2, 7, 2, 7, 0, 85, 8, 8, 8, 15, 8, 7, 0, 16, 2, 1, 0, 15, 52, 1, 20, 5, 159, 2, 22, 7, 7, 0, 17, 6, 21, 0, 2, 15, 2, 47, 6, 0, 183, 5, 22, 82, 4, 4, 4, 4, 10, 125, 0, 48, 7, 2, 2, 229, 0, 28, 15, 7, 0, 2, 1, 0, 15, 231, 0, 24, 0, 252, 7, 0, 135, 3, 50, 8, 8, 14, 7, 0, 22, 8, 7, 0, 0, 29, 0, 15, 52, 1, 40, 0, 146, 0, 21, 14, 7, 0, 15, 52, 1, 12, 15, 235, 6, 76, 9, 93, 3, 15, 79, 3, 44, 102, 0, 6, 8, 8, 8, 6, 7, 0, 15, 54, 4, 43, 33, 1, 1, 3, 0, 32, 8, 8, 3, 0, 17, 1, 154, 0, 1, 15, 0, 32, 8, 1, 29, 0, 34, 8, 1, 37, 0, 4, 238, 13, 82, 1, 0, 0, 16, 0, 4, 0, 9, 77, 0, 25, 32, 1, 0, 71, 0, 32, 32, 7, 1, 0, 72, 32, 32, 32, 7, 31, 0, 31, 7, 16, 0, 159, 11, 208, 0, 12, 240, 0, 0, 28, 1, 38, 120, 0, 128, 4, 8, 28, 1, 10, 9, 1, 2, 81, 0, 15, 10, 0, 52, 5, 1, 0, 0, 128, 0, 19, 84, 120, 0, 27, 8, 128, 0, 1, 161, 0, 0, 8, 0, 38, 7, 7, 8, 0, 5, 169, 1, 1, 236, 0, 7, 15, 0, 26, 7, 44, 0, 63, 32, 32, 32, 92, 0, 9, 12, 93, 0, 20, 32, 8, 0, 11, 64, 1, 3, 34, 0, 27, 32, 91, 0, 31, 0, 92, 0, 10, 3, 93, 0, 19, 32, 85, 0, 35, 32, 7, 8, 0, 21, 32, 117, 0, 3, 10, 0, 0, 24, 0, 19, 7, 8, 0, 36, 32, 32, 56, 0, 15, 184, 0, 14, 26, 32, 85, 0, 8, 152, 0, 9, 216, 0, 9, 99, 0, 31, 32, 184, 0, 4, 15, 93, 0, 23, 15, 91, 0, 5, 47, 0, 32, 184, 0, 16, 35, 0, 0, 62, 0, 2, 99, 1, 4, 115, 1, 5, 26, 2, 8, 12, 0, 2, 45, 0, 39, 7, 32, 55, 0, 15, 92, 0, 12, 8, 93, 0, 6, 227, 2, 42, 7, 7, 4, 0, 7, 60, 2, 8, 53, 0, 15, 92, 0, 13, 5, 93, 1, 3, 84, 0, 42, 0, 32, 80, 0, 35, 32, 7, 140, 2, 37, 7, 7, 39, 0, 8, 201, 4, 15, 96, 3, 5, 49, 0, 0, 16, 1, 0, 0, 9, 0, 2, 231, 8, 16, 16, 10, 0, 1, 110, 17, 15, 10, 0, 16, 6, 50, 0, 1, 38, 14, 5, 20, 0, 21, 16, 90, 0, 15, 128, 0, 14, 19, 0, 38, 0, 69, 0, 0, 16, 7, 58, 0, 63, 6, 15, 15, 10, 0, 19, 6, 50, 0, 38, 7, 7, 20, 0, 21, 16, 90, 0, 15, 0, 1, 15, 0, 39, 0, 4, 9, 0, 6, 58, 0, 15, 10, 0, 50, 3, 90, 0, 15, 0, 1, 22, 7, 206, 0, 15, 10, 0, 13, 20, 7, 10, 0, 5, 246, 0, 20, 7, 119, 0, 13, 1, 1, 15, 0, 2, 32, 10, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 5, 246, 1, 35, 7, 7, 129, 0, 17, 16, 155, 17, 8, 1, 2, 15, 128, 0, 139, 10, 128, 1, 6, 88, 1, 21, 7, 88, 2, 3, 10, 0, 24, 7, 10, 0, 20, 6, 10, 0, 4, 148, 1, 5, 117, 0, 1, 51, 0, 14, 128, 1, 15, 128, 2, 19, 5, 57, 0, 31, 7, 10, 0, 1, 15, 108, 2, 1, 14, 30, 0, 15, 128, 2, 39, 7, 206, 0, 36, 14, 14, 88, 2, 15, 10, 0, 3, 15, 128, 3, 21, 15, 128, 4, 110, 15, 128, 0, 244, 16, 36, 231, 11, 3, 4, 0, 15, 176, 11, 6, 15, 44, 0, 32, 16, 245, 192, 13, 3, 4, 0, 15, 8, 12, 14, 5, 190, 7, 2, 14, 0, 1, 170, 0, 5, 53, 7, 17, 6, 30, 0, 0, 18, 0, 1, 42, 0, 53, 6, 32, 32, 30, 7, 67, 32, 7, 7, 13, 4, 8, 2, 14, 0, 0, 15, 0, 47, 7, 32, 15, 0, 3, 3, 82, 20, 7, 30, 0, 1, 61, 10, 15, 15, 0, 32, 3, 16, 0, 31, 32, 192, 0, 2, 0, 253, 0, 94, 19, 1, 0, 0, 17, 253, 0, 15, 1, 0, 51, 26, 17, 1, 0, 58, 0, 17, 7, 1, 0, 116, 17, 17, 7, 7, 13, 13, 7, 2, 0, 2, 17, 0, 7, 34, 0, 16, 13, 17, 0, 7, 33, 0, 17, 13, 17, 0, 15, 68, 0, 0, 17, 7, 48, 1, 2, 69, 0, 14, 34, 0, 13, 136, 0, 15, 1, 0, 7, 15, 32, 14, 70, 15, 61, 3, 17, 1, 146, 18, 47, 5, 16, 10, 0, 24, 2, 40, 2, 10, 20, 0, 14, 189, 3, 15, 128, 0, 51, 6, 108, 0, 14, 118, 0, 14, 61, 4, 15, 128, 0, 53, 15, 118, 0, 7, 15, 189, 4, 63, 15, 88, 1, 11, 7, 118, 0, 15, 61, 5, 68, 15, 118, 0, 7, 15, 189, 5, 83, 15, 118, 0, 7, 15, 128, 0, 89, 15, 61, 7, 255, 46, 4, 69, 1, 15, 128, 0, 91, 11, 60, 3, 31, 0, 128, 0, 83, 15, 40, 4, 6, 15, 0, 1, 74, 15, 40, 4, 7, 15, 128, 0, 73, 14, 10, 5, 15, 0, 1, 81, 15, 148, 5, 21, 11, 148, 0, 15, 128, 2, 44, 15, 10, 6, 27, 15, 128, 1, 0, 15, 128, 6, 64, 15, 138, 7, 26, 13, 128, 0, 15, 77, 8, 7, 5, 186, 12, 23, 16, 44, 13, 19, 16, 30, 14, 4, 14, 0, 21, 16, 42, 0, 0, 77, 0, 98, 184, 31, 0, 0, 90, 0, 4, 0, 47, 8, 0, 1, 0, 255, 25, 0, 146, 25, 1, 2, 0, 0, 8, 0, 2, 163, 25, 0, 3, 0, 12, 38, 0, 4, 34, 0, 47, 0, 14, 90, 0, 23, 3, 2, 0, 1, 51, 0, 23, 14, 16, 0, 15, 38, 0, 0, 31, 0, 90, 0, 27, 47, 14, 0, 90, 0, 17, 20, 14, 4, 0, 15, 180, 0, 69, 31, 0, 180, 0, 26, 4, 143, 0, 3, 90, 0, 47, 14, 0, 90, 0, 5, 4, 138, 1, 15, 28, 2, 113, 15, 1, 0, 9, 15, 38, 0, 15, 31, 0, 1, 0, 255, 239, 49, 13, 13, 0, 2, 0, 2, 63, 33, 2, 16, 0, 4, 12, 0, 15, 89, 0, 43, 1, 4, 0, 4, 2, 0, 10, 12, 0, 15, 90, 0, 52, 2, 242, 33, 9, 12, 0, 15, 180, 0, 55, 12, 190, 0, 7, 1, 0, 15, 63, 3, 33, 4, 92, 1, 5, 172, 0, 6, 196, 0, 9, 95, 4, 5, 124, 4, 15, 1, 0, 60, 2, 185, 4, 15, 90, 0, 67, 31, 0, 90, 0, 70, 47, 14, 14, 90, 0, 72, 14, 31, 6, 15, 147, 5, 48, 15, 91, 5, 122, 4, 18, 3, 2, 196, 2, 22, 5, 61, 37, 15, 134, 3, 52, 3, 74, 0, 22, 5, 32, 3, 14, 90, 0, 15, 89, 0, 36, 2, 8, 0, 15, 90, 0, 58, 9, 74, 0, 8, 180, 0, 47, 13, 13, 104, 1, 56, 23, 5, 165, 38, 10, 55, 4, 15, 44, 7, 255, 177, 15, 1, 0, 61, 47, 0, 0, 126, 9, 255, 239, 2, 7, 0, 12, 8, 0, 31, 0, 69, 5, 56, 47, 0, 0, 70, 5, 58, 11, 164, 0, 6, 235, 4, 15, 84, 6, 55, 14, 180, 0, 15, 126, 9, 43, 12, 143, 5, 12, 112, 1, 25, 0, 126, 9, 31, 0, 126, 9, 69, 31, 14, 90, 0, 52, 15, 180, 0, 86, 14, 233, 14, 15, 126, 9, 191, 1, 66, 12, 3, 4, 0, 8, 37, 2, 15, 202, 8, 51, 8, 244, 12, 4, 118, 9, 15, 90, 0, 52, 45, 13, 13, 124, 3, 15, 180, 0, 64, 5, 230, 3, 15, 90, 0, 54, 11, 57, 4, 14, 90, 0, 15, 1, 0, 55, 15, 126, 9, 255, 255, 255, 40, 5, 20, 5, 2, 105, 4, 5, 28, 5, 6, 44, 5, 10, 108, 4, 2, 20, 8, 22, 5, 28, 0, 12, 84, 5, 6, 42, 0, 47, 0, 13, 88, 17, 2, 42, 13, 13, 116, 17, 46, 0, 13, 172, 13, 4, 24, 0, 5, 12, 0, 15, 180, 0, 6, 12, 28, 5, 5, 110, 17, 12, 180, 0, 3, 19, 15, 5, 90, 0, 14, 249, 18, 15, 22, 18, 2, 8, 204, 0, 15, 180, 0, 1, 31, 0, 180, 0, 21, 5, 34, 0, 10, 194, 18, 42, 13, 0, 128, 1, 26, 0, 19, 15, 7, 28, 0, 7, 12, 0, 31, 0, 182, 13, 255, 88, 15, 1, 0, 255, 255, 255, 255, 224, 15, 13, 32, 10, 2, 148, 58, 31, 5, 1, 0, 1, 18, 13, 6, 0, 4, 54, 5, 2, 6, 0, 15, 167, 40, 17, 2, 195, 13, 15, 184, 28, 2, 3, 179, 69, 112, 0, 13, 13, 13, 13, 13, 0, 99, 70, 73, 76, 0, 0, 0, 0, 84, 45, 0, 0, 112, 111, 100, 47, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 242, 14, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 0, 105, 120, 101, 100, 10, 0, 6, 1, 0, 47, 1, 0, 1, 0, 10, 255, 2, 67, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 43, 0, 255, 255, 255, 255, 255, 137, 20, 255, 3, 0, 1, 12, 0, 15, 43, 0, 9, 111, 255, 0, 255, 255, 0, 255, 86, 0, 18, 0, 43, 0, 37, 255, 255, 6, 0, 15, 43, 0, 10, 1, 35, 0, 4, 42, 0, 15, 129, 0, 13, 2, 5, 0, 2, 7, 0, 15, 86, 0, 11, 4, 3, 0, 1, 90, 0, 15, 2, 1, 12, 31, 255, 45, 1, 23, 6, 47, 1, 31, 255, 88, 1, 14, 5, 45, 0, 15, 215, 0, 15, 1, 167, 0, 47, 0, 255, 215, 0, 13, 5, 92, 1, 47, 0, 255, 4, 2, 23, 1, 45, 0, 15, 43, 0, 15, 1, 135, 1, 15, 90, 2, 26, 15, 2, 1, 12, 7, 46, 1, 14, 129, 0, 13, 4, 2, 5, 179, 1, 31, 255, 217, 1, 13, 6, 86, 0, 15, 43, 0, 13, 5, 88, 2, 15, 43, 0, 19, 2, 93, 0, 14, 129, 0, 15, 6, 3, 0, 3, 49, 0, 15, 219, 2, 15, 7, 135, 0, 15, 86, 0, 11, 1, 3, 0, 30, 255, 2, 1, 15, 172, 0, 5, 31, 0, 129, 0, 21, 31, 255, 86, 0, 21, 15, 215, 0, 21, 4, 222, 2, 3, 6, 0, 15, 43, 0, 21, 47, 255, 0, 47, 2, 16, 3, 54, 3, 15, 129, 0, 14, 2, 173, 2, 2, 6, 0, 15, 88, 1, 12, 3, 4, 0, 14, 133, 2, 15, 4, 2, 7, 15, 221, 3, 16, 4, 176, 2, 0, 56, 0, 15, 172, 0, 12, 15, 10, 5, 21, 47, 0, 0, 180, 4, 23, 5, 93, 2, 47, 0, 0, 43, 0, 17, 5, 182, 2, 31, 0, 86, 0, 16, 30, 255, 86, 0, 15, 43, 0, 11, 47, 0, 0, 172, 0, 20, 15, 215, 0, 17, 31, 0, 45, 1, 24, 4, 10, 6, 31, 255, 43, 0, 24, 31, 0, 129, 0, 16, 4, 48, 1, 15, 43, 0, 14, 6, 184, 3, 15, 45, 1, 17, 3, 222, 1, 15, 174, 1, 22, 15, 135, 3, 16, 31, 255, 217, 1, 25, 4, 13, 5, 15, 98, 6, 16, 4, 182, 4, 15, 219, 2, 20, 31, 0, 172, 0, 20, 3, 7, 0, 15, 174, 1, 21, 14, 98, 6, 15, 47, 2, 4, 1, 8, 0, 15, 90, 2, 21, 15, 86, 0, 22, 31, 255, 176, 2, 19, 31, 0, 47, 2, 22, 6, 235, 8, 15, 223, 4, 17, 15, 184, 6, 18, 8, 133, 2, 15, 10, 5, 17, 31, 255, 96, 5, 17, 10, 101, 7, 15, 10, 5, 12, 15, 20, 10, 21, 11, 224, 0, 15, 61, 9, 13, 14, 86, 0, 15, 227, 6, 7, 15, 92, 3, 19, 8, 173, 2, 15, 20, 10, 14, 6, 3, 1, 31, 0, 131, 1, 14, 15, 188, 8, 23, 3, 215, 1, 14, 96, 5, 15, 43, 0, 10, 47, 0, 0, 172, 0, 20, 15, 188, 8, 15, 15, 45, 1, 25, 15, 104, 9, 25, 47, 255, 0, 96, 5, 18, 5, 174, 4, 15, 96, 5, 15, 31, 255, 96, 5, 23, 8, 93, 5, 47, 255, 0, 174, 1, 23, 31, 0, 4, 2, 15, 14, 96, 5, 15, 133, 2, 12, 14, 174, 1, 15, 59, 8, 1, 15, 96, 5, 18, 47, 255, 255, 45, 1, 22, 25, 0, 106, 10, 31, 0, 174, 1, 21, 15, 241, 13, 15, 15, 96, 5, 21, 8, 3, 3, 15, 86, 0, 22, 31, 255, 176, 2, 16, 14, 96, 5, 15, 151, 11, 6, 15, 96, 5, 21, 4, 141, 8, 15, 231, 8, 17, 4, 126, 1, 31, 0, 14, 7, 15, 47, 255, 0, 88, 1, 22, 5, 177, 5, 15, 145, 8, 17, 5, 196, 12, 14, 10, 5, 15, 186, 7, 4, 5, 2, 1, 95, 55, 0, 0, 0, 7, 49, 3, 1, 15, 1, 0, 15, 15, 63, 0, 10, 15, 2, 0, 15, 15, 63, 0, 11, 9, 132, 0, 8, 197, 8, 4, 70, 3, 15, 63, 0, 9, 6, 193, 4, 4, 39, 5, 5, 18, 0, 15, 63, 0, 17, 5, 91, 6, 2, 57, 0, 15, 14, 0, 1, 15, 126, 0, 10, 4, 152, 6, 24, 255, 131, 12, 5, 161, 1, 15, 63, 0, 16, 5, 55, 0, 27, 255, 253, 16, 3, 28, 0, 15, 252, 0, 12, 47, 0, 255, 56, 0, 4, 3, 155, 0, 15, 126, 0, 19, 5, 113, 1, 4, 124, 1, 14, 126, 0, 15, 189, 0, 7, 7, 245, 0, 7, 126, 0, 31, 255, 252, 0, 24, 6, 255, 3, 7, 208, 17, 15, 248, 1, 21, 27, 255, 248, 1, 31, 0, 248, 1, 19, 43, 255, 255, 39, 2, 5, 181, 1, 15, 244, 2, 17, 8, 232, 0, 6, 7, 2, 9, 16, 1, 15, 181, 2, 26, 4, 173, 4, 15, 189, 0, 19, 8, 54, 3, 31, 0, 248, 1, 33, 31, 0, 191, 3, 0, 9, 1, 0, 15, 189, 0, 20, 7, 122, 0, 3, 219, 16, 15, 189, 0, 29, 7, 135, 1, 25, 255, 74, 19, 15, 248, 1, 12, 10, 238, 0, 10, 10, 1, 15, 55, 2, 20, 10, 189, 0, 15, 122, 1, 22, 5, 221, 2, 4, 229, 5, 8, 135, 0, 47, 0, 0, 63, 0, 19, 9, 135, 16, 9, 224, 10, 15, 122, 1, 19, 11, 82, 21, 15, 244, 2, 26, 15, 14, 0, 2, 15, 232, 5, 23, 15, 7, 0, 1, 15, 173, 20, 21, 11, 98, 2, 15, 43, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 80, 0, 0, 0, 0, 0, 99, 70, 73, 76, 0, 0, 0, 0, 177, 93, 7, 0, 112, 111, 100, 47, 102, 95, 100, 101, 109, 111, 115, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 108, 0, 0, 175, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 1, 0, 15, 31, 12, 32, 0, 12, 64, 67, 70, 73, 76, 8, 0, 239, 80, 151, 0, 0, 100, 101, 109, 111, 115, 47, 97, 112, 105, 0, 1, 0, 35, 242, 16, 112, 105, 99, 111, 45, 56, 32, 99, 97, 114, 116, 114, 105, 100, 103, 101, 32, 47, 47, 32, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 31, 0, 243, 11, 46, 99, 111, 109, 10, 118, 101, 114, 115, 105, 111, 110, 32, 52, 10, 95, 95, 108, 117, 97, 95, 95, 10, 45, 45, 32, 63, 0, 144, 97, 112, 105, 32, 116, 101, 115, 116, 32, 63, 0, 96, 98, 121, 32, 122, 101, 112, 30, 0, 0, 157, 0, 195, 110, 115, 116, 114, 97, 116, 101, 115, 32, 97, 108, 108, 47, 0, 0, 27, 0, 242, 43, 102, 117, 110, 99, 116, 105, 111, 110, 115, 32, 97, 110, 100, 32, 115, 111, 109, 101, 32, 108, 117, 97, 10, 10, 99, 108, 115, 40, 41, 32, 45, 45, 32, 99, 108, 101, 97, 114, 32, 115, 99, 114, 101, 101, 110, 10, 114, 101, 99, 116, 40, 48, 44, 48, 44, 49, 50, 55, 4, 0, 33, 41, 10, 127, 0, 240, 10, 108, 97, 121, 32, 109, 117, 115, 105, 99, 32, 102, 114, 111, 109, 32, 112, 97, 116, 116, 101, 114, 110, 32, 48, 50, 30, 0, 240, 7, 40, 108, 111, 111, 112, 32, 98, 97, 99, 107, 32, 102, 108, 97, 103, 32, 115, 101, 116, 32, 105, 110, 37, 0, 81, 32, 49, 51, 41, 10, 56, 0, 39, 40, 48, 74, 0, 242, 14, 115, 111, 117, 110, 100, 32, 48, 32, 111, 110, 32, 99, 104, 97, 110, 110, 101, 108, 32, 51, 10, 115, 102, 120, 40, 48, 44, 32, 51, 40, 0, 241, 1, 100, 114, 97, 119, 32, 112, 97, 108, 101, 116, 116, 101, 10, 120, 61, 51, 155, 0, 241, 59, 102, 105, 108, 108, 40, 49, 44, 49, 44, 55, 44, 55, 44, 53, 41, 10, 102, 111, 114, 32, 105, 61, 48, 44, 49, 53, 32, 100, 111, 10, 32, 112, 114, 105, 110, 116, 40, 105, 44, 120, 44, 50, 44, 105, 41, 10, 32, 120, 32, 61, 32, 120, 32, 43, 32, 54, 32, 43, 32, 102, 108, 114, 40, 105, 47, 49, 48, 41, 42, 52, 10, 101, 110, 100, 100, 0, 241, 8, 103, 102, 120, 32, 115, 104, 97, 112, 101, 115, 10, 99, 97, 109, 101, 114, 97, 40, 45, 49, 48, 44, 48, 23, 1, 81, 115, 104, 105, 102, 116, 134, 0, 23, 115, 123, 0, 32, 48, 44, 3, 0, 114, 56, 44, 50, 48, 44, 56, 41, 46, 1, 17, 50, 20, 0, 17, 50, 20, 0, 113, 57, 41, 10, 99, 105, 114, 99, 44, 0, 162, 51, 53, 44, 49, 53, 44, 53, 44, 49, 48, 21, 0, 36, 40, 52, 17, 0, 160, 49, 41, 10, 108, 105, 110, 101, 40, 53, 50, 58, 0, 17, 53, 58, 0, 162, 49, 50, 41, 10, 112, 115, 101, 116, 40, 54, 99, 0, 20, 51, 15, 0, 1, 36, 0, 36, 112, 103, 26, 0, 177, 41, 43, 49, 41, 10, 99, 108, 105, 112, 40, 55, 26, 0, 17, 56, 96, 0, 5, 161, 0, 8, 187, 1, 19, 54, 41, 0, 2, 80, 1, 134, 115, 112, 114, 105, 116, 101, 115, 10, 44, 0, 241, 6, 54, 48, 44, 50, 52, 44, 56, 53, 44, 51, 51, 44, 49, 53, 41, 10, 115, 112, 114, 40, 49, 204, 0, 5, 13, 0, 16, 50, 13, 0, 16, 44, 113, 1, 192, 116, 114, 117, 101, 41, 10, 112, 97, 108, 40, 49, 53, 173, 0, 0, 35, 1, 240, 1, 114, 101, 109, 97, 112, 32, 49, 53, 32, 116, 111, 32, 49, 50, 10, 115, 52, 0, 32, 56, 44, 148, 0, 65, 56, 44, 32, 51, 59, 0, 0, 97, 0, 5, 55, 0, 2, 89, 1, 1, 217, 1, 178, 115, 111, 108, 105, 100, 32, 98, 108, 97, 99, 107, 30, 0, 0, 39, 0, 10, 65, 0, 27, 54, 65, 0, 3, 115, 0, 0, 92, 2, 3, 23, 2, 129, 32, 109, 97, 112, 112, 105, 110, 103, 224, 0, 96, 109, 97, 112, 10, 10, 109, 51, 1, 80, 51, 44, 51, 44, 109, 49, 1, 240, 0, 49, 44, 51, 41, 43, 50, 41, 10, 109, 97, 112, 40, 48, 44, 51, 219, 0, 64, 51, 53, 44, 52, 10, 0, 49, 41, 10, 102, 94, 1, 4, 218, 0, 96, 32, 45, 45, 112, 105, 110, 191, 2, 64, 111, 119, 101, 114, 80, 0, 226, 111, 110, 108, 121, 32, 99, 101, 108, 115, 32, 119, 105, 116, 104, 216, 2, 16, 50, 218, 2, 5, 79, 0, 21, 53, 79, 0, 19, 50, 99, 1, 224, 101, 116, 32, 99, 117, 114, 115, 111, 114, 32, 112, 111, 115, 105, 118, 3, 1, 117, 3, 98, 99, 111, 108, 111, 114, 10, 26, 0, 64, 40, 48, 44, 57, 17, 2, 0, 19, 0, 51, 40, 55, 41, 187, 0, 38, 116, 104, 31, 0, 64, 55, 48, 41, 10, 185, 2, 240, 1, 99, 111, 115, 40, 48, 46, 49, 50, 53, 41, 32, 43, 32, 109, 105, 100, 143, 1, 34, 44, 51, 28, 0, 64, 40, 120, 37, 49, 23, 0, 130, 97, 98, 115, 40, 45, 49, 41, 10, 249, 2, 161, 34, 120, 58, 32, 34, 46, 46, 120, 41, 10, 87, 0, 88, 99, 111, 108, 108, 101, 252, 3, 244, 8, 116, 114, 105, 110, 103, 115, 10, 97, 61, 123, 125, 10, 97, 100, 100, 40, 97, 44, 32, 49, 49, 41, 32, 11, 0, 37, 50, 41, 22, 0, 22, 51, 22, 0, 99, 52, 41, 10, 100, 101, 108, 22, 0, 162, 10, 115, 116, 114, 61, 34, 97, 58, 32, 34, 123, 3, 0, 230, 3, 97, 97, 108, 108, 40, 97, 41, 128, 3, 0, 30, 0, 177, 115, 116, 114, 46, 46, 105, 46, 46, 34, 32, 34, 104, 3, 2, 155, 0, 50, 115, 116, 114, 236, 0, 113, 102, 111, 114, 101, 97, 99, 104, 145, 0, 70, 97, 110, 111, 110, 160, 4, 147, 10, 116, 111, 116, 97, 108, 61, 48, 10, 35, 0, 0, 115, 0, 21, 10, 31, 0, 16, 40, 208, 3, 18, 32, 35, 0, 1, 6, 0, 64, 43, 105, 10, 32, 96, 0, 5, 253, 0, 1, 22, 0, 1, 1, 1, 1, 10, 0, 4, 5, 1, 48, 97, 108, 108, 153, 4, 2, 3, 1, 88, 105, 110, 112, 117, 116, 79, 5, 112, 117, 116, 111, 109, 97, 116, 105, 38, 0, 32, 121, 32, 198, 4, 16, 115, 30, 0, 1, 181, 1, 224, 97, 108, 108, 115, 32, 95, 117, 112, 100, 97, 116, 101, 40, 41, 20, 0, 0, 27, 0, 16, 95, 191, 2, 240, 5, 40, 41, 32, 111, 110, 99, 101, 32, 112, 101, 114, 32, 102, 114, 97, 109, 101, 32, 105, 102, 29, 0, 208, 116, 104, 101, 121, 32, 101, 120, 105, 115, 116, 10, 10, 116, 202, 0, 3, 189, 0, 6, 71, 0, 114, 10, 32, 116, 61, 116, 43, 49, 130, 4, 6, 31, 0, 2, 85, 0, 34, 10, 10, 121, 4, 32, 111, 119, 71, 2, 247, 2, 114, 101, 110, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 116, 10, 32, 229, 3, 128, 57, 48, 44, 51, 48, 44, 57, 54, 4, 5, 20, 32, 0, 1, 2, 252, 0, 120, 44, 49, 44, 57, 49, 44, 55, 77, 0, 65, 115, 116, 97, 116, 69, 0, 64, 98, 117, 116, 116, 106, 1, 5, 52, 0, 3, 17, 0, 80, 58, 32, 34, 44, 32, 251, 3, 0, 57, 0, 48, 32, 10, 10, 166, 1, 144, 32, 112, 61, 48, 44, 55, 32, 100, 111, 133, 1, 3, 103, 5, 2, 102, 5, 0, 89, 2, 240, 2, 61, 53, 10, 32, 32, 105, 102, 40, 98, 116, 110, 40, 105, 44, 112, 41, 41, 252, 0, 17, 110, 26, 0, 49, 56, 43, 105, 153, 1, 22, 32, 177, 0, 81, 52, 48, 43, 105, 42, 60, 5, 194, 48, 43, 112, 42, 51, 44, 10, 32, 32, 32, 52, 56, 20, 0, 65, 32, 49, 48, 49, 21, 0, 0, 61, 0, 18, 41, 212, 1, 1, 5, 0, 2, 36, 1, 8, 1, 0, 149, 95, 95, 103, 102, 120, 95, 95, 10, 48, 1, 0, 32, 102, 102, 3, 0, 19, 52, 1, 0, 19, 98, 1, 0, 4, 30, 0, 4, 24, 0, 31, 48, 1, 0, 60, 48, 10, 48, 55, 7, 0, 29, 55, 129, 0, 19, 51, 1, 0, 15, 129, 0, 79, 34, 48, 55, 128, 0, 32, 48, 102, 1, 0, 51, 48, 52, 50, 2, 1, 18, 51, 2, 0, 15, 129, 0, 80, 50, 48, 55, 55, 131, 1, 79, 49, 102, 102, 49, 2, 1, 11, 19, 50, 129, 0, 31, 101, 129, 0, 67, 39, 102, 102, 131, 1, 19, 50, 1, 0, 3, 160, 1, 18, 48, 128, 0, 17, 50, 129, 0, 63, 101, 55, 101, 131, 1, 65, 0, 100, 0, 6, 234, 0, 6, 115, 1, 63, 55, 97, 55, 2, 1, 74, 5, 133, 2, 70, 48, 57, 57, 57, 236, 1, 7, 244, 1, 29, 55, 4, 2, 31, 51, 131, 1, 59, 4, 1, 0, 63, 102, 48, 102, 129, 0, 2, 29, 98, 129, 0, 31, 98, 129, 0, 57, 15, 1, 0, 34, 15, 129, 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, 255, 255, 255, 99, 17, 49, 111, 58, 36, 49, 102, 21, 0, 8, 16, 0, 27, 54, 1, 0, 1, 10, 59, 52, 98, 51, 51, 8, 0, 1, 48, 0, 1, 11, 57, 21, 49, 146, 59, 8, 16, 0, 27, 53, 1, 0, 1, 69, 0, 52, 55, 54, 54, 8, 0, 15, 2, 1, 111, 99, 102, 48, 56, 48, 56, 102, 2, 0, 1, 246, 57, 10, 16, 0, 73, 54, 54, 54, 53, 3, 1, 26, 53, 2, 0, 99, 52, 48, 57, 48, 57, 52, 2, 0, 60, 48, 52, 48, 16, 0, 73, 53, 53, 53, 49, 3, 1, 26, 49, 2, 0, 15, 4, 2, 115, 34, 101, 56, 2, 0, 19, 48, 212, 59, 4, 16, 0, 25, 101, 4, 2, 47, 53, 54, 1, 0, 1, 0, 50, 0, 34, 97, 57, 2, 0, 2, 64, 0, 21, 97, 16, 0, 25, 97, 3, 2, 47, 49, 53, 1, 0, 1, 15, 2, 1, 115, 38, 52, 101, 6, 0, 26, 48, 94, 62, 47, 52, 54, 1, 0, 12, 0, 37, 0, 38, 56, 97, 6, 0, 41, 48, 56, 64, 0, 30, 56, 247, 0, 15, 2, 1, 125, 0, 136, 64, 20, 102, 136, 64, 127, 49, 48, 49, 48, 51, 48, 49, 149, 0, 97, 15, 146, 5, 238, 31, 48, 10, 2, 111, 95, 109, 97, 112, 95, 95, 9, 1, 238, 15, 1, 1, 255, 244, 0, 208, 7, 31, 54, 1, 1, 231, 19, 51, 2, 0, 15, 1, 1, 230, 127, 50, 48, 50, 48, 53, 48, 50, 1, 1, 229, 14, 6, 6, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 16, 52, 95, 95, 115, 186, 98, 1, 46, 35, 67, 51, 53, 48, 55, 5, 0, 0, 166, 95, 116, 51, 51, 48, 55, 48, 50, 98, 15, 0, 4, 10, 0, 16, 54, 35, 0, 99, 53, 48, 50, 55, 48, 52, 5, 0, 96, 98, 48, 51, 48, 50, 57, 105, 27, 48, 98, 48, 50, 35, 0, 49, 49, 48, 51, 125, 34, 1, 128, 34, 15, 5, 0, 41, 11, 177, 0, 34, 48, 49, 22, 0, 76, 50, 56, 48, 55, 29, 0, 6, 20, 0, 37, 50, 57, 10, 0, 31, 98, 40, 0, 10, 5, 30, 0, 46, 50, 100, 20, 0, 15, 100, 0, 2, 31, 54, 20, 0, 0, 63, 52, 48, 55, 169, 0, 7, 31, 52, 129, 0, 9, 6, 1, 0, 47, 49, 102, 40, 0, 14, 15, 80, 0, 66, 6, 169, 0, 31, 50, 238, 0, 19, 47, 49, 100, 22, 1, 14, 15, 80, 0, 66, 6, 169, 0, 31, 57, 49, 0, 0, 15, 69, 0, 1, 31, 98, 15, 2, 0, 5, 89, 0, 6, 72, 1, 6, 169, 0, 78, 49, 99, 48, 55, 144, 0, 15, 86, 4, 32, 15, 118, 37, 86, 15, 169, 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, 155, 33, 95, 95, 76, 147, 0, 74, 42, 242, 3, 49, 32, 48, 49, 48, 50, 52, 49, 52, 49, 10, 48, 50, 32, 48, 51, 48, 52, 12, 0, 98, 48, 32, 52, 48, 52, 49, 12, 0, 23, 51, 12, 0, 79, 48, 32, 52, 49, 12, 0, 255, 255, 186, 20, 10, 156, 151, 36, 13, 158, 156, 151, 0, 240, 146, 111, 105, 100, 101, 46, 112, 56, 156, 151, 92, 16, 119, 114, 151, 1, 209, 146, 65, 99, 116, 111, 114, 120, 147, 33, 105, 115, 211, 146, 36, 45, 45, 165, 151, 18, 10, 28, 0, 113, 61, 32, 123, 125, 32, 45, 45, 49, 0, 0, 45, 0, 16, 115, 66, 147, 83, 119, 111, 114, 108, 100, 10, 148, 82, 107, 101, 32, 97, 110, 28, 0, 4, 138, 146, 48, 97, 100, 100, 98, 149, 103, 103, 108, 111, 98, 97, 108, 214, 147, 0, 32, 0, 241, 1, 120, 44, 121, 32, 109, 101, 97, 110, 115, 32, 99, 101, 110, 116, 101, 114, 43, 146, 38, 104, 101, 65, 0, 32, 105, 110, 26, 149, 246, 4, 32, 116, 105, 108, 101, 115, 32, 40, 110, 111, 116, 32, 112, 105, 120, 101, 108, 115, 41, 126, 146, 0, 117, 0, 17, 95, 49, 0, 129, 40, 120, 44, 32, 121, 41, 10, 32, 34, 148, 49, 32, 97, 46, 64, 151, 0, 9, 0, 80, 121, 32, 61, 32, 121, 9, 0, 16, 100, 19, 0, 17, 48, 10, 0, 20, 121, 10, 0, 32, 115, 112, 216, 0, 32, 49, 54, 12, 0, 2, 14, 147, 3, 25, 0, 20, 116, 9, 0, 112, 105, 110, 101, 114, 116, 105, 97, 15, 0, 17, 46, 39, 0, 48, 98, 111, 117, 64, 147, 0, 55, 0, 5, 54, 0, 81, 115, 61, 50, 10, 32, 181, 146, 146, 104, 97, 108, 102, 45, 119, 105, 100, 116, 39, 148, 1, 15, 0, 98, 104, 101, 105, 103, 104, 116, 212, 146, 16, 108, 11, 0, 0, 176, 147, 241, 0, 101, 115, 115, 32, 116, 104, 97, 110, 32, 48, 46, 53, 32, 115, 111, 30, 0, 240, 8, 116, 104, 97, 116, 32, 119, 105, 108, 108, 32, 102, 105, 116, 32, 116, 104, 114, 111, 117, 103, 104, 32, 49, 80, 0, 18, 101, 94, 0, 80, 111, 108, 101, 115, 46, 119, 0, 17, 119, 145, 0, 16, 52, 11, 0, 20, 104, 11, 0, 18, 10, 249, 148, 0, 14, 1, 48, 44, 97, 41, 16, 0, 140, 114, 101, 116, 117, 114, 110, 32, 97, 180, 147, 64, 105, 110, 105, 116, 209, 147, 4, 183, 1, 0, 217, 152, 248, 2, 101, 114, 32, 116, 111, 112, 32, 108, 101, 102, 116, 10, 32, 112, 108, 32, 61, 93, 1, 16, 50, 40, 150, 52, 32, 112, 108, 49, 1, 54, 55, 10, 32, 62, 0, 33, 97, 32, 20, 1, 209, 121, 32, 98, 97, 108, 108, 10, 32, 108, 111, 99, 97, 108, 12, 0, 10, 68, 0, 96, 56, 46, 53, 44, 55, 46, 246, 147, 0, 28, 0, 3, 74, 0, 35, 51, 51, 15, 0, 116, 100, 120, 61, 48, 46, 48, 53, 14, 0, 99, 121, 61, 45, 48, 46, 49, 14, 0, 3, 132, 1, 111, 61, 48, 46, 53, 10, 32, 97, 0, 7, 43, 55, 44, 93, 0, 38, 52, 57, 93, 0, 7, 79, 0, 123, 100, 121, 61, 48, 46, 49, 53, 93, 0, 4, 30, 0, 3, 224, 1, 0, 84, 1, 51, 56, 10, 32, 232, 0, 129, 116, 105, 110, 121, 32, 103, 117, 121, 101, 1, 15, 118, 0, 1, 1, 75, 2, 39, 61, 53, 18, 2, 18, 52, 116, 2, 71, 61, 49, 47, 56, 72, 2, 20, 61, 86, 0, 4, 200, 153, 0, 160, 148, 16, 97, 93, 0, 160, 105, 118, 101, 110, 32, 112, 111, 105, 110, 116, 91, 154, 51, 116, 104, 101, 26, 152, 32, 44, 32, 230, 151, 33, 32, 105, 29, 3, 81, 114, 101, 32, 105, 115, 181, 3, 3, 180, 149, 55, 114, 101, 46, 217, 1, 1, 155, 152, 3, 10, 3, 1, 184, 0, 65, 103, 114, 97, 98, 85, 3, 66, 99, 101, 108, 108, 146, 149, 16, 10, 7, 0, 17, 61, 101, 152, 3, 51, 3, 1, 42, 0, 80, 99, 104, 101, 99, 107, 102, 0, 1, 46, 152, 16, 49, 103, 0, 0, 20, 152, 50, 40, 116, 104, 123, 2, 211, 111, 114, 97, 110, 103, 101, 32, 116, 111, 103, 103, 108, 101, 142, 149, 33, 32, 105, 169, 0, 2, 65, 0, 2, 165, 153, 133, 32, 101, 100, 105, 116, 111, 114, 41, 124, 2, 16, 102, 105, 0, 119, 118, 97, 108, 44, 32, 49, 41, 247, 0, 1, 170, 0, 104, 95, 97, 114, 101, 97, 10, 125, 0, 17, 97, 121, 149, 32, 97, 110, 100, 0, 98, 111, 118, 101, 114, 108, 97, 214, 150, 1, 200, 152, 0, 39, 1, 0, 251, 0, 16, 115, 66, 0, 100, 40, 116, 104, 105, 115, 32, 212, 4, 1, 242, 152, 113, 119, 111, 114, 107, 115, 32, 102, 61, 4, 3, 162, 4, 6, 103, 3, 49, 111, 110, 101, 74, 4, 92, 32, 98, 105, 103, 41, 51, 1, 1, 137, 0, 165, 40, 120, 44, 121, 44, 119, 44, 104, 41, 10, 189, 0, 36, 10, 32, 83, 1, 166, 45, 119, 44, 121, 45, 104, 41, 32, 111, 114, 20, 0, 31, 43, 20, 0, 0, 0, 40, 0, 31, 43, 40, 0, 0, 51, 43, 104, 41, 21, 150, 37, 45, 45, 209, 1, 18, 97, 237, 3, 48, 104, 105, 116, 80, 152, 34, 116, 104, 190, 153, 2, 110, 5, 32, 97, 102, 19, 5, 205, 109, 111, 118, 105, 110, 103, 32, 100, 120, 44, 100, 121, 180, 0, 1, 127, 2, 32, 97, 44, 30, 0, 66, 32, 100, 121, 41, 236, 150, 37, 97, 50, 217, 152, 0, 32, 0, 2, 221, 152, 1, 109, 0, 97, 50, 32, 33, 61, 32, 97, 237, 150, 0, 197, 150, 2, 70, 3, 246, 2, 120, 61, 40, 97, 46, 120, 43, 100, 120, 41, 32, 45, 32, 97, 50, 46, 120, 27, 0, 16, 121, 27, 0, 67, 121, 43, 100, 121, 27, 0, 49, 121, 10, 32, 73, 0, 32, 40, 40, 187, 153, 242, 0, 120, 41, 32, 60, 32, 40, 97, 46, 119, 43, 97, 50, 46, 119, 41, 101, 152, 17, 32, 1, 0, 1, 32, 0, 19, 121, 32, 0, 16, 104, 32, 0, 48, 104, 41, 41, 3, 153, 2, 105, 151, 1, 38, 0, 1, 5, 0, 36, 45, 45, 225, 0, 64, 116, 111, 103, 101, 0, 1, 20, 63, 24, 0, 1, 222, 1, 100, 97, 108, 108, 111, 119, 115, 110, 6, 36, 116, 111, 29, 0, 3, 26, 2, 16, 32, 199, 4, 17, 105, 255, 152, 4, 26, 0, 0, 40, 2, 152, 111, 117, 116, 32, 115, 116, 105, 99, 107, 89, 0, 5, 116, 0, 0, 193, 0, 32, 100, 120, 11, 1, 18, 48, 162, 6, 3, 204, 0, 3, 188, 0, 17, 32, 17, 0, 64, 97, 46, 120, 45, 13, 1, 37, 41, 41, 47, 1, 65, 32, 32, 118, 61, 68, 6, 16, 43, 12, 1, 34, 100, 121, 20, 0, 3, 86, 6, 51, 118, 47, 50, 16, 0, 27, 50, 17, 0, 3, 73, 2, 1, 242, 1, 1, 18, 0, 2, 95, 152, 8, 141, 0, 26, 121, 141, 0, 30, 121, 141, 0, 16, 121, 141, 0, 30, 121, 141, 0, 29, 121, 141, 0, 41, 121, 61, 139, 0, 47, 121, 61, 137, 0, 20, 39, 45, 45, 32, 0, 5, 23, 0, 2, 35, 0, 5, 214, 152, 5, 211, 3, 70, 97, 108, 115, 101, 206, 2, 1, 189, 3, 98, 115, 32, 98, 111, 116, 104, 159, 3, 6, 80, 8, 29, 115, 180, 2, 9, 176, 2, 40, 105, 102, 127, 3, 2, 136, 2, 18, 44, 116, 2, 34, 44, 10, 210, 0, 87, 119, 44, 97, 46, 104, 249, 0, 8, 199, 0, 8, 148, 0, 15, 19, 3, 3, 27, 32, 249, 6, 52, 109, 111, 118, 183, 5, 19, 97, 34, 5, 1, 44, 157, 0, 24, 0, 4, 120, 3, 97, 108, 111, 110, 103, 32, 120, 28, 0, 2, 116, 5, 0, 185, 157, 48, 117, 108, 116, 78, 2, 4, 27, 157, 18, 10, 108, 2, 48, 108, 108, 32, 150, 8, 4, 143, 2, 2, 165, 4, 2, 158, 5, 1, 221, 0, 0, 29, 0, 7, 248, 0, 0, 45, 2, 100, 44, 32, 48, 41, 32, 10, 208, 0, 0, 167, 8, 33, 43, 61, 25, 0, 98, 10, 32, 101, 108, 115, 101, 121, 1, 0, 151, 0, 0, 181, 2, 66, 119, 105, 115, 101, 92, 7, 35, 101, 10, 108, 2, 101, 42, 61, 32, 45, 97, 46, 20, 0, 0, 120, 160, 35, 50, 41, 117, 154, 1, 162, 158, 65, 105, 116, 116, 111, 9, 4, 31, 121, 132, 0, 2, 17, 48, 135, 0, 38, 121, 41, 130, 0, 19, 121, 130, 0, 18, 121, 130, 0, 2, 105, 0, 31, 121, 105, 0, 9, 2, 240, 5, 99, 97, 112, 112, 108, 121, 32, 215, 6, 35, 10, 32, 68, 158, 1, 170, 4, 0, 243, 9, 64, 122, 101, 114, 111, 128, 0, 50, 121, 111, 117, 153, 0, 150, 111, 110, 39, 116, 32, 119, 97, 110, 116, 52, 0, 21, 10, 212, 0, 5, 32, 7, 3, 159, 9, 10, 19, 0, 2, 112, 0, 48, 100, 118, 97, 153, 7, 0, 201, 5, 2, 171, 9, 83, 101, 118, 101, 114, 121, 159, 7, 20, 109, 192, 1, 0, 203, 1, 130, 115, 32, 49, 47, 52, 32, 111, 102, 56, 0, 1, 247, 5, 38, 10, 32, 227, 9, 35, 43, 61, 88, 3, 0, 246, 4, 63, 42, 32, 52, 26, 0, 1, 27, 121, 26, 0, 37, 37, 61, 218, 7, 18, 10, 32, 10, 17, 43, 1, 10, 11, 97, 2, 130, 99, 111, 110, 116, 114, 111, 108, 95, 81, 9, 51, 40, 112, 108, 102, 2, 0, 203, 156, 64, 102, 97, 115, 116, 26, 1, 96, 97, 99, 99, 101, 108, 101, 240, 162, 18, 10, 12, 0, 1, 108, 8, 17, 49, 174, 1, 1, 149, 156, 48, 48, 41, 41, 107, 9, 83, 100, 120, 32, 45, 61, 34, 0, 6, 29, 0, 21, 49, 29, 0, 30, 43, 29, 0, 19, 50 ]); + fileData0.push.apply(fileData0, [ 29, 0, 31, 121, 58, 0, 1, 21, 51, 29, 0, 6, 58, 0, 36, 10, 32, 215, 162, 19, 97, 217, 162, 35, 105, 102, 148, 5, 1, 27, 0, 17, 40, 100, 1, 48, 32, 52, 32, 80, 5, 51, 115, 41, 10, 79, 0, 0, 37, 1, 1, 133, 0, 36, 41, 43, 11, 0, 66, 121, 41, 32, 62, 199, 0, 1, 125, 4, 48, 110, 100, 32, 23, 0, 149, 116, 37, 52, 41, 32, 61, 61, 32, 48, 113, 2, 0, 73, 2, 21, 49, 73, 2, 10, 62, 1, 7, 107, 158, 15, 73, 1, 0, 21, 32, 93, 159, 1, 226, 10, 7, 205, 3, 27, 41, 72, 0, 0, 147, 158, 6, 231, 3, 3, 207, 6, 17, 115, 125, 160, 0, 114, 3, 48, 42, 32, 56, 211, 6, 21, 52, 26, 0, 18, 121, 26, 0, 23, 121, 26, 0, 0, 207, 161, 2, 31, 12, 20, 43, 249, 1, 159, 44, 32, 115, 120, 44, 32, 115, 121, 41, 2, 159, 4, 17, 32, 151, 164, 34, 10, 32, 100, 161, 2, 2, 0, 93, 49, 54, 44, 49, 54, 187, 0, 6, 160, 0, 1, 82, 1, 4, 2, 161, 0, 4, 159, 65, 112, 108, 46, 120, 8, 163, 54, 48, 44, 55, 32, 159, 19, 121, 27, 0, 69, 121, 44, 54, 52, 28, 0, 2, 135, 0, 12, 89, 158, 18, 51, 72, 158, 48, 55, 100, 99, 1, 0, 49, 55, 55, 48, 8, 0, 23, 99, 138, 17, 0, 23, 0, 15, 8, 0, 5, 15, 41, 61, 48, 3, 69, 88, 33, 98, 100, 7, 0, 35, 55, 55, 8, 0, 80, 99, 49, 48, 49, 49, 113, 94, 5, 145, 0, 15, 8, 0, 5, 15, 129, 0, 50, 20, 55, 129, 0, 50, 48, 99, 100, 112, 157, 6, 90, 0, 16, 99, 247, 98, 31, 99, 8, 0, 5, 15, 2, 1, 61, 15, 129, 0, 1, 95, 53, 102, 102, 53, 99, 8, 0, 4, 15, 129, 0, 68, 47, 48, 48, 2, 1, 6, 20, 99, 16, 0, 30, 99, 2, 1, 15, 129, 0, 61, 0, 6, 2, 58, 48, 49, 99, 1, 0, 28, 48, 9, 0, 15, 2, 1, 80, 15, 133, 2, 76, 19, 49, 1, 0, 19, 53, 8, 0, 3, 17, 0, 6, 42, 0, 18, 99, 5, 0, 20, 99, 13, 0, 24, 99, 8, 0, 31, 48, 2, 1, 39, 19, 97, 1, 0, 2, 93, 160, 38, 48, 48, 8, 0, 15, 232, 21, 84, 20, 97, 27, 100, 65, 48, 100, 102, 102, 120, 1, 4, 8, 0, 15, 129, 0, 91, 15, 2, 1, 112, 130, 56, 56, 50, 50, 56, 56, 102, 102, 8, 0, 15, 129, 0, 95, 32, 102, 48, 121, 0, 0, 11, 0, 1, 8, 0, 31, 102, 131, 1, 96, 50, 56, 53, 53, 129, 0, 3, 8, 0, 15, 129, 0, 94, 17, 53, 3, 0, 1, 4, 0, 47, 48, 53, 129, 0, 88, 4, 135, 3, 0, 53, 102, 33, 54, 54, 7, 0, 1, 9, 0, 15, 184, 68, 95, 2, 14, 4, 0, 131, 6, 3, 118, 164, 15, 129, 0, 92, 19, 97, 5, 0, 6, 244, 163, 15, 129, 0, 91, 18, 97, 127, 7, 34, 97, 55, 8, 0, 31, 55, 129, 0, 227, 0, 7, 0, 3, 122, 0, 15, 129, 0, 224, 15, 133, 2, 110, 15, 135, 3, 111, 88, 48, 56, 56, 56, 56, 8, 0, 15, 129, 0, 93, 34, 56, 56, 122, 0, 4, 8, 0, 15, 129, 0, 93, 18, 50, 121, 0, 20, 56, 8, 0, 15, 129, 0, 95, 3, 107, 109, 25, 50, 132, 109, 15, 129, 0, 218, 3, 124, 1, 47, 50, 50, 131, 1, 100, 3, 130, 0, 6, 8, 0, 15, 129, 0, 94, 19, 48, 226, 171, 5, 8, 0, 15, 129, 0, 85, 15, 97, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 124, 7, 89, 158, 0, 76, 151, 14, 74, 151, 15, 89, 158, 255, 224, 31, 50, 2, 0, 3, 15, 32, 2, 213, 31, 10, 229, 0, 0, 6, 112, 162, 15, 1, 1, 224, 25, 51, 9, 1, 31, 50, 88, 157, 211, 8, 237, 2, 10, 110, 164, 47, 51, 48, 2, 2, 212, 10, 247, 0, 31, 49, 3, 3, 223, 31, 50, 254, 1, 1, 15, 4, 4, 225, 8, 3, 1, 31, 50, 5, 5, 227, 2, 7, 1, 19, 49, 253, 0, 31, 51, 5, 5, 211, 27, 52, 22, 10, 1, 8, 74, 15, 7, 7, 221, 14, 10, 6, 15, 3, 3, 228, 8, 6, 10, 31, 52, 1, 1, 217, 15, 204, 234, 3, 31, 51, 9, 9, 217, 0, 250, 137, 10, 8, 12, 0, 16, 0, 15, 89, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 1, 31, 49, 178, 1, 149, 19, 49, 192, 97, 80, 53, 48, 49, 50, 53, 40, 255, 41, 53, 49, 93, 92, 15, 5, 0, 114, 5, 169, 0, 48, 51, 48, 55, 94, 21, 216, 55, 53, 48, 50, 49, 55, 50, 48, 49, 49, 55, 49, 48, 3, 89, 15, 5, 0, 109, 15, 7, 157, 148, 15, 169, 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, 179, 7, 89, 158, 1, 101, 155, 95, 50, 52, 51, 52, 52, 12, 0, 255, 255, 228, 5, 89, 158, 37, 202, 145, 89, 158, 62, 97, 115, 116, 83, 158, 15, 89, 158, 77, 15, 108, 156, 1, 33, 112, 108, 154, 157, 33, 112, 108, 155, 157, 32, 49, 50, 10, 0, 17, 121, 10, 0, 1, 21, 0, 22, 122, 11, 0, 17, 100, 17, 147, 34, 50, 53, 13, 0, 18, 122, 138, 157, 183, 112, 108, 46, 106, 101, 116, 112, 97, 99, 107, 61, 128, 150, 6, 218, 149, 16, 99, 191, 153, 6, 119, 154, 3, 224, 154, 13, 173, 145, 35, 109, 122, 40, 0, 2, 21, 146, 37, 99, 111, 11, 155, 7, 61, 0, 175, 49, 54, 45, 99, 111, 108, 42, 48, 46, 50, 161, 146, 6, 10, 174, 147, 1, 216, 152, 0, 173, 0, 17, 61, 12, 147, 130, 43, 48, 46, 48, 50, 41, 37, 49, 229, 146, 8, 186, 147, 14, 41, 0, 36, 57, 56, 41, 0, 8, 199, 147, 68, 32, 111, 114, 32, 180, 147, 3, 245, 151, 8, 228, 147, 1, 71, 0, 82, 109, 61, 48, 46, 50, 54, 150, 16, 109, 223, 156, 20, 50, 211, 151, 1, 130, 152, 34, 99, 111, 152, 147, 49, 41, 42, 109, 20, 0, 0, 107, 1, 56, 115, 105, 110, 20, 0, 0, 82, 0, 32, 109, 122, 18, 0, 0, 121, 151, 49, 42, 51, 44, 147, 1, 129, 43, 100, 121, 42, 51, 41, 32, 62, 201, 147, 1, 153, 1, 16, 45, 95, 158, 8, 125, 152, 0, 50, 0, 17, 61, 55, 0, 11, 102, 0, 1, 27, 0, 33, 121, 61, 71, 0, 11, 109, 0, 5, 70, 152, 1, 167, 150, 19, 122, 250, 159, 3, 121, 158, 66, 102, 101, 101, 116, 255, 0, 1, 113, 0, 51, 62, 61, 32, 152, 0, 16, 44, 75, 0, 1, 92, 154, 3, 12, 2, 38, 62, 61, 75, 148, 3, 54, 2, 9, 43, 0, 40, 10, 32, 53, 2, 3, 209, 150, 1, 18, 0, 17, 61, 6, 0, 0, 155, 1, 21, 49, 60, 0, 1, 6, 0, 18, 43, 32, 0, 27, 10, 133, 1, 53, 52, 41, 41, 176, 154, 3, 154, 0, 3, 129, 2, 0, 157, 1, 3, 162, 153, 10, 167, 0, 17, 60, 87, 0, 48, 43, 48, 46, 225, 148, 5, 48, 1, 2, 126, 0, 18, 45, 115, 158, 7, 8, 1, 15, 180, 148, 0, 54, 51, 100, 40, 155, 2, 71, 101, 108, 122, 48, 168, 2, 2, 166, 157, 208, 97, 108, 99, 117, 108, 97, 116, 101, 32, 118, 105, 101, 119, 63, 1, 164, 110, 101, 32, 40, 108, 105, 110, 101, 41, 10, 44, 0, 17, 118, 104, 3, 71, 118, 46, 120, 48, 7, 2, 1, 149, 0, 16, 32, 23, 0, 39, 121, 48, 10, 2, 3, 172, 0, 71, 118, 46, 120, 49, 45, 0, 20, 45, 22, 0, 39, 121, 49, 44, 0, 2, 22, 0, 18, 10, 103, 156, 48, 115, 120, 61, 166, 148, 16, 55, 95, 156, 0, 214, 149, 98, 121, 61, 49, 50, 55, 10, 188, 152, 192, 99, 97, 109, 101, 114, 97, 32, 98, 97, 115, 101, 100, 204, 158, 3, 229, 1, 98, 112, 111, 115, 10, 32, 32, 57, 2, 50, 10, 32, 32, 39, 2, 49, 10, 32, 32, 154, 1, 48, 122, 45, 49, 59, 0, 176, 49, 32, 117, 110, 105, 116, 32, 104, 105, 103, 104, 77, 0, 128, 105, 120, 61, 102, 108, 114, 40, 120, 79, 1, 33, 105, 121, 12, 0, 1, 227, 1, 150, 116, 100, 105, 115, 116, 61, 48, 10, 32, 193, 3, 65, 105, 120, 44, 105, 28, 0, 0, 56, 1, 23, 61, 194, 3, 4, 82, 153, 0, 59, 1, 16, 32, 15, 5, 49, 32, 118, 101, 98, 162, 4, 232, 156, 80, 116, 61, 115, 120, 47, 190, 0, 49, 32, 32, 118, 188, 155, 0, 58, 1, 146, 42, 32, 40, 49, 45, 116, 41, 32, 43, 28, 1, 48, 42, 32, 116, 31, 0, 0, 69, 3, 1, 66, 1, 8, 31, 0, 20, 121, 31, 0, 64, 100, 105, 114, 95, 65, 0, 115, 115, 103, 110, 40, 118, 120, 41, 18, 0, 20, 121, 18, 0, 1, 148, 159, 81, 32, 115, 107, 105, 112, 38, 0, 32, 49, 47, 59, 151, 2, 40, 0, 1, 21, 0, 22, 121, 21, 0, 2, 43, 0, 0, 118, 2, 3, 76, 0, 39, 32, 62, 67, 151, 16, 32, 254, 0, 2, 68, 0, 100, 45, 40, 120, 37, 49, 41, 232, 2, 6, 25, 0, 35, 32, 32, 25, 0, 40, 110, 100, 73, 0, 31, 121, 73, 0, 1, 18, 121, 73, 0, 29, 121, 73, 0, 18, 121, 73, 0, 20, 121, 73, 0, 23, 10, 97, 0, 3, 9, 0, 19, 42, 208, 0, 23, 10, 51, 0, 3, 9, 0, 3, 27, 0, 19, 121, 21, 2, 81, 115, 116, 97, 114, 116, 19, 0, 17, 112, 93, 152, 1, 244, 0, 19, 61, 111, 156, 0, 12, 0, 48, 115, 61, 48, 43, 0, 32, 119, 104, 165, 159, 16, 40, 18, 0, 19, 41, 93, 2, 2, 31, 0, 35, 32, 61, 8, 0, 52, 43, 32, 49, 190, 4, 3, 134, 0, 19, 60, 116, 0, 7, 164, 4, 97, 105, 120, 61, 105, 120, 43, 146, 1, 1, 16, 0, 130, 108, 97, 115, 116, 95, 100, 105, 114, 24, 4, 30, 32, 175, 0, 19, 45, 211, 0, 1, 29, 0, 1, 96, 2, 35, 32, 61, 8, 0, 24, 43, 27, 0, 5, 2, 1, 5, 249, 0, 5, 53, 1, 0, 163, 2, 33, 105, 121, 117, 0, 28, 121, 117, 0, 2, 24, 153, 12, 63, 1, 3, 117, 0, 31, 121, 117, 0, 7, 26, 121, 173, 0, 3, 83, 1, 36, 32, 32, 145, 1, 1, 192, 153, 48, 114, 101, 118, 247, 2, 80, 32, 112, 114, 111, 112, 51, 155, 16, 101, 105, 3, 0, 27, 3, 33, 48, 61, 57, 4, 2, 21, 3, 32, 48, 61, 6, 0, 3, 52, 0, 63, 110, 101, 119, 51, 0, 3, 11, 78, 3, 13, 79, 3, 1, 243, 157, 19, 32, 153, 152, 80, 105, 120, 46, 46, 34, 156, 152, 35, 105, 121, 9, 0, 69, 99, 111, 108, 41, 64, 158, 0, 163, 1, 0, 83, 0, 51, 61, 49, 53, 76, 5, 1, 245, 1, 1, 192, 7, 7, 193, 0, 208, 100, 105, 115, 99, 97, 114, 100, 32, 99, 108, 111, 115, 101, 14, 161, 20, 115, 61, 0, 2, 11, 1, 1, 88, 154, 6, 220, 1, 0, 77, 2, 48, 99, 114, 101, 78, 0, 86, 112, 97, 99, 101, 10, 178, 160, 17, 115, 176, 4, 1, 236, 0, 17, 45, 233, 0, 2, 17, 0, 33, 40, 115, 163, 3, 65, 54, 52, 41, 47, 81, 0, 6, 26, 0, 0, 6, 0, 66, 43, 32, 54, 52, 163, 155, 100, 114, 105, 122, 111, 110, 32, 86, 1, 0, 145, 5, 49, 32, 103, 114, 21, 155, 33, 116, 111, 49, 1, 1, 158, 163, 4, 156, 0, 0, 60, 0, 56, 60, 32, 115, 117, 2, 32, 45, 45, 138, 5, 161, 40, 115, 120, 44, 115, 121, 49, 45, 49, 44, 9, 0, 16, 44, 136, 1, 2, 20, 1, 16, 103, 13, 1, 19, 51, 250, 159, 17, 40, 168, 0, 83, 32, 60, 32, 49, 54, 29, 1, 1, 31, 0, 37, 49, 49, 154, 159, 15, 77, 0, 1, 21, 103, 97, 1, 107, 115, 121, 61, 115, 121, 49, 11, 2, 1, 181, 0, 1, 212, 167, 33, 105, 102, 70, 5, 56, 101, 114, 10, 141, 1, 82, 101, 108, 122, 32, 60, 34, 1, 7, 184, 0, 12, 62, 1, 2, 61, 1, 15, 62, 1, 8, 15, 63, 1, 9, 31, 32, 32, 1, 7, 15, 210, 0, 2, 3, 74, 7, 4, 44, 3, 48, 42, 49, 43, 49, 155, 10, 226, 0, 4, 19, 1, 5, 145, 160, 2, 212, 0, 0, 9, 0, 38, 45, 45, 85, 4, 21, 10, 18, 0, 160, 120, 10, 10, 32, 99, 117, 114, 115, 111, 114, 139, 155, 16, 41, 217, 2, 0, 171, 165, 5, 82, 155, 0, 132, 6, 8, 13, 0, 21, 121, 13, 0, 64, 115, 116, 97, 116, 171, 9, 3, 224, 160, 15, 232, 155, 8, 0, 120, 158, 161, 111, 32, 100, 111, 58, 32, 115, 107, 121, 63, 225, 4, 49, 115, 63, 10, 193, 164, 65, 102, 105, 108, 108, 4, 156, 51, 49, 50, 55, 4, 0, 40, 41, 10, 227, 7, 0, 33, 1, 1, 7, 3, 5, 30, 1, 49, 109, 97, 112, 96, 0, 4, 58, 156, 81, 51, 50, 44, 51, 50, 207, 8, 34, 115, 101, 176, 0, 33, 42, 56, 103, 8, 76, 42, 56, 44, 49, 25, 0, 7, 136, 9, 19, 50, 37, 0, 7, 128, 9, 67, 50, 44, 49, 51, 114, 157, 4, 213, 0, 12, 54, 156, 4, 175, 152, 19, 50, 1, 0, 3, 249, 253, 35, 51, 52, 1, 0, 9, 215, 253, 0, 210, 253, 3, 1, 0, 3, 75, 143, 35, 56, 57, 1, 0, 4, 247, 148, 19, 98, 1, 0, 4, 217, 153, 19, 100, 1, 0, 19, 101, 1, 0, 19, 102, 1, 0, 15, 129, 0, 113, 17, 55, 3, 0, 15, 2, 1, 105, 1, 17, 146, 15, 129, 0, 107, 15, 131, 1, 233, 15, 6, 3, 239, 15, 30, 144, 110, 15, 129, 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, 255, 255, 255, 255, 255, 255, 255, 33, 7, 54, 156, 14, 1, 0, 15, 54, 156, 255, 228, 31, 102, 2, 0, 43, 15, 10, 2, 175, 15, 195, 0, 43, 15, 1, 1, 224, 21, 101, 76, 146, 31, 101, 1, 1, 195, 31, 97, 50, 0, 12, 10, 87, 159, 15, 1, 1, 190, 17, 97, 2, 0, 15, 1, 1, 232, 4, 2, 2, 31, 49, 1, 1, 231, 19, 48, 54, 154, 19, 49, 49, 151, 27, 57, 37, 225, 15, 1, 1, 210, 14, 2, 2, 15, 5, 5, 216, 15, 1, 0, 15, 21, 49, 34, 2, 15, 1, 1, 228, 31, 48, 8, 8, 235, 25, 48, 90, 158, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 210, 0, 225, 0, 2, 62, 162, 0, 94, 166, 62, 52, 48, 53, 221, 233, 15, 1, 1, 255, 205, 0, 20, 16, 128, 57, 48, 57, 48, 56, 48, 56, 48, 85, 233, 63, 54, 48, 54, 1, 1, 255, 221, 49, 98, 48, 98, 66, 241, 83, 100, 48, 100, 48, 101, 2, 0, 15, 1, 1, 255, 220, 30, 101, 2, 0, 15, 1, 1, 255, 255, 255, 225, 15, 1, 0, 0, 15, 1, 1, 255, 255, 205, 15, 31, 31, 42, 15, 73, 175, 238, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 4, 86, 188, 12, 22, 146, 0, 2, 0, 31, 52, 12, 0, 255, 255, 228, 5, 22, 146, 36, 35, 176, 22, 146, 111, 100, 114, 105, 112, 112, 121, 22, 146, 83, 21, 50, 22, 146, 15, 26, 135, 3, 128, 41, 10, 120, 61, 54, 52, 32, 121, 5, 0, 63, 99, 61, 56, 113, 135, 1, 34, 112, 115, 162, 145, 63, 44, 99, 41, 145, 145, 25, 79, 120, 61, 120, 45, 132, 145, 5, 75, 120, 61, 120, 43, 28, 0, 5, 89, 145, 60, 121, 61, 121, 56, 0, 23, 51, 28, 0, 20, 43, 175, 145, 48, 99, 61, 99, 64, 143, 2, 38, 0, 16, 99, 182, 144, 5, 203, 137, 83, 99, 32, 61, 32, 56, 39, 0, 0, 47, 143, 160, 105, 61, 49, 44, 49, 48, 48, 32, 100, 111, 184, 136, 192, 120, 50, 32, 61, 32, 114, 110, 100, 40, 49, 50, 56, 202, 135, 27, 121, 16, 0, 113, 99, 111, 108, 32, 61, 32, 112, 152, 146, 49, 50, 44, 121, 238, 135, 3, 76, 139, 39, 126, 61, 10, 139, 36, 112, 115, 34, 0, 32, 43, 49, 103, 138, 46, 41, 32, 97, 144, 11, 239, 135, 0, 238, 131, 36, 48, 48, 8, 0, 4, 88, 132, 64, 51, 51, 98, 51, 4, 0, 15, 154, 5, 73, 0, 160, 132, 0, 85, 152, 33, 102, 102, 155, 52, 2, 8, 0, 6, 129, 0, 2, 1, 0, 15, 126, 0, 70, 126, 99, 99, 48, 56, 57, 57, 56, 2, 1, 18, 50, 129, 0, 4, 114, 133, 9, 53, 0, 47, 55, 55, 129, 0, 63, 18, 102, 162, 133, 20, 102, 8, 0, 27, 52, 1, 0, 9, 127, 0, 0, 1, 0, 15, 131, 1, 63, 0, 120, 0, 36, 48, 48, 8, 0, 15, 129, 0, 0, 24, 55, 128, 0, 31, 55, 125, 0, 56, 18, 48, 163, 8, 0, 155, 134, 18, 48, 7, 0, 34, 97, 97, 129, 0, 24, 50, 129, 0, 33, 55, 97, 117, 0, 18, 102, 128, 0, 31, 102, 132, 0, 52, 0, 127, 1, 0, 135, 1, 17, 10, 79, 67, 67, 97, 48, 48, 56, 24, 0, 15, 2, 1, 5, 1, 27, 135, 4, 99, 135, 15, 129, 0, 59, 21, 56, 126, 0, 47, 48, 48, 131, 1, 2, 21, 98, 129, 0, 5, 132, 0, 15, 131, 1, 58, 31, 48, 104, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 10, 118, 59, 4, 192, 192, 6, 120, 60, 4, 251, 58, 2, 8, 0, 6, 232, 192, 16, 55, 230, 192, 31, 54, 129, 0, 48, 10, 120, 60, 6, 129, 0, 4, 120, 60, 50, 49, 52, 52, 32, 0, 1, 8, 0, 12, 105, 193, 15, 2, 1, 63, 3, 91, 0, 4, 105, 0, 13, 2, 1, 18, 49, 24, 0, 4, 18, 194, 15, 129, 0, 46, 18, 102, 34, 194, 20, 102, 8, 0, 27, 54, 1, 0, 18, 52, 144, 60, 20, 52, 8, 0, 27, 53, 1, 0, 15, 2, 1, 48, 4, 127, 58, 2, 135, 58, 12, 129, 0, 11, 152, 60, 31, 53, 129, 0, 64, 0, 243, 194, 18, 48, 7, 0, 34, 101, 101, 129, 0, 24, 53, 129, 0, 10, 152, 60, 2, 128, 1, 15, 129, 0, 59, 1, 3, 0, 3, 228, 61, 30, 52, 2, 1, 10, 152, 60, 15, 2, 1, 64, 21, 52, 126, 0, 0, 17, 0, 14, 129, 0, 10, 152, 60, 14, 129, 0, 15, 239, 135, 51, 15, 249, 136, 242, 3, 239, 134, 15, 207, 102, 236, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 108, 4, 239, 134, 15, 178, 1, 149, 15, 169, 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, 174, 8, 47, 177, 11, 188, 0, 15, 9, 0, 255, 255, 30, 5, 111, 176, 36, 216, 186, 111, 176, 111, 106, 101, 108, 112, 105, 0, 111, 176, 83, 21, 52, 111, 176, 32, 45, 45, 41, 175, 241, 0, 32, 97, 100, 118, 101, 110, 116, 117, 114, 101, 115, 32, 111, 102, 32, 139, 0, 0, 27, 0, 113, 98, 121, 32, 122, 101, 112, 10, 38, 0, 80, 111, 32, 100, 111, 58, 10, 0, 241, 4, 108, 101, 118, 101, 108, 115, 32, 97, 110, 100, 32, 109, 111, 110, 115, 116, 101, 114, 115, 33, 0, 241, 5, 105, 116, 108, 101, 32, 47, 32, 114, 101, 115, 116, 97, 114, 116, 32, 108, 111, 103, 105, 99, 69, 0, 146, 108, 111, 99, 107, 32, 108, 111, 111, 116, 72, 0, 225, 112, 45, 115, 111, 108, 105, 100, 32, 103, 114, 111, 117, 110, 100, 34, 0, 193, 101, 116, 116, 101, 114, 32, 100, 117, 112, 105, 110, 103, 110, 0, 248, 12, 99, 111, 110, 102, 105, 103, 58, 32, 110, 117, 109, 95, 112, 108, 97, 121, 101, 114, 115, 32, 49, 32, 111, 114, 32, 50, 10, 19, 0, 242, 18, 61, 32, 49, 10, 99, 111, 114, 114, 117, 112, 116, 95, 109, 111, 100, 101, 32, 61, 32, 102, 97, 108, 115, 101, 10, 109, 97, 120, 95, 97, 99, 116, 111, 36, 0, 65, 50, 56, 10, 10, 186, 3, 167, 40, 48, 44, 32, 48, 44, 32, 51, 41, 10, 31, 177, 66, 109, 97, 107, 101, 45, 0, 48, 40, 107, 44, 65, 177, 240, 13, 100, 41, 10, 9, 108, 111, 99, 97, 108, 32, 97, 32, 61, 32, 123, 125, 10, 9, 97, 46, 107, 105, 110, 100, 32, 61, 32, 107, 12, 0, 65, 108, 105, 102, 101, 123, 0, 240, 4, 9, 97, 46, 120, 61, 120, 32, 97, 46, 121, 61, 121, 32, 97, 46, 100, 120, 61, 48, 7, 0, 48, 121, 61, 48, 27, 0, 240, 23, 100, 100, 121, 32, 61, 32, 48, 46, 48, 54, 32, 45, 45, 32, 103, 114, 97, 118, 105, 116, 121, 10, 32, 97, 46, 119, 61, 48, 46, 51, 32, 97, 46, 104, 61, 48, 46, 53, 28, 0, 160, 104, 97, 108, 102, 45, 119, 105, 100, 116, 104, 31, 0, 240, 1, 100, 61, 100, 32, 97, 46, 98, 111, 117, 110, 99, 101, 61, 48, 46, 56, 20, 0, 65, 102, 114, 97, 109, 116, 0, 16, 32, 13, 0, 16, 48, 88, 0, 0, 23, 0, 33, 116, 61, 7, 0, 133, 115, 116, 97, 110, 100, 105, 110, 103, 255, 0, 3, 9, 177, 65, 117, 110, 116, 40, 217, 0, 70, 41, 32, 60, 32, 19, 1, 5, 28, 177, 50, 97, 100, 100, 32, 0, 66, 44, 32, 97, 41, 16, 177, 155, 9, 114, 101, 116, 117, 114, 110, 32, 97, 68, 178, 1, 37, 1, 113, 115, 112, 97, 114, 107, 108, 101, 102, 178, 1, 146, 0, 1, 80, 177, 34, 10, 32, 45, 1, 18, 115, 45, 1, 32, 32, 115, 21, 1, 0, 7, 0, 48, 121, 61, 121, 7, 0, 1, 42, 0, 17, 61, 6, 0, 0, 15, 0, 112, 99, 111, 108, 61, 99, 111, 108, 11, 0, 96, 116, 61, 48, 32, 115, 46, 153, 0, 16, 116, 11, 178, 16, 43, 222, 177, 32, 52, 41, 26, 0, 32, 100, 120, 227, 0, 0, 9, 0, 18, 121, 236, 0, 20, 115, 79, 1, 17, 10, 182, 0, 3, 138, 0, 83, 44, 115, 41, 10, 32, 178, 0, 31, 115, 178, 0, 1, 2, 41, 2, 128, 40, 120, 44, 32, 121, 44, 32, 100, 38, 179, 0, 53, 178, 7, 242, 1, 56, 49, 44, 32, 29, 0, 114, 46, 99, 104, 97, 114, 103, 101, 105, 0, 150, 112, 108, 46, 115, 117, 112, 101, 114, 32, 15, 0, 70, 99, 111, 114, 101, 15, 0, 2, 164, 1, 5, 15, 0, 86, 100, 101, 108, 97, 121, 30, 0, 81, 105, 100, 32, 32, 32, 15, 0, 0, 228, 1, 2, 138, 0, 33, 32, 49, 27, 0, 50, 112, 97, 108, 27, 0, 245, 24, 123, 49, 44, 50, 44, 51, 44, 52, 44, 53, 44, 54, 44, 55, 44, 56, 44, 57, 44, 49, 48, 44, 49, 49, 44, 49, 50, 44, 49, 51, 44, 49, 52, 44, 49, 53, 125, 10, 32, 229, 0, 34, 112, 108, 230, 0, 0, 35, 3, 146, 97, 108, 108, 101, 100, 32, 97, 116, 32, 112, 3, 50, 98, 121, 32, 234, 3, 7, 249, 179, 65, 105, 110, 105, 116, 247, 179, 1, 237, 0, 4, 160, 1, 2, 60, 1, 3, 14, 0, 16, 10, 157, 0, 83, 115, 112, 97, 119, 110, 163, 0, 2, 140, 179, 96, 121, 61, 48, 44, 54, 51, 139, 179, 0, 14, 0, 33, 120, 61, 140, 180, 51, 32, 100, 111, 101, 179, 34, 109, 103, 109, 180, 119, 41, 32, 61, 61, 32, 52, 56, 110, 179, 2, 231, 0, 27, 61, 127, 1, 48, 121, 43, 49, 197, 180, 34, 10, 32, 63, 0, 7, 196, 3, 54, 61, 61, 50, 62, 0, 3, 63, 0, 28, 50, 64, 0, 36, 43, 50, 66, 0, 7, 37, 0, 0, 97, 1, 0, 134, 3, 8, 19, 0, 0, 89, 1, 1, 86, 1, 23, 51, 86, 1, 44, 49, 49, 87, 1, 64, 53, 44, 55, 125, 7, 180, 2, 8, 180, 24, 32, 18, 180, 2, 9, 0, 18, 116, 198, 1, 130, 10, 32, 100, 101, 97, 116, 104, 95, 15, 0, 5, 122, 1, 176, 108, 101, 97, 114, 95, 99, 101, 108, 32, 117, 115, 118, 3, 208, 110, 101, 105, 103, 104, 98, 111, 117, 114, 32, 118, 97, 108, 33, 0, 210, 112, 114, 101, 102, 101, 114, 32, 101, 109, 112, 116, 121, 44, 236, 180, 70, 110, 111, 110, 45, 241, 4, 1, 19, 0, 70, 108, 101, 102, 116, 60, 0, 6, 182, 1, 5, 95, 0, 1, 183, 2, 32, 41, 10, 86, 0, 0, 242, 3, 2, 116, 1, 51, 45, 49, 44, 20, 0, 21, 49, 20, 0, 18, 43, 20, 0, 0, 90, 1, 2, 44, 0, 0, 116, 2, 35, 111, 114, 37, 0, 53, 61, 32, 48, 98, 1, 20, 109, 37, 182, 16, 48, 240, 3, 49, 108, 115, 101, 142, 1, 64, 111, 116, 32, 102, 73, 0, 0, 48, 0, 62, 44, 49, 41, 46, 0, 0, 25, 0, 3, 49, 0, 11, 23, 0, 19, 48, 56, 4, 2, 71, 181, 6, 84, 5, 33, 111, 118, 47, 4, 199, 119, 110, 115, 40, 120, 48, 44, 32, 121, 48, 41, 10, 106, 2, 176, 115, 116, 117, 102, 102, 32, 99, 108, 111, 115, 101, 89, 6, 102, 120, 48, 44, 121, 48, 10, 121, 2, 34, 51, 50, 106, 2, 2, 123, 2, 178, 120, 48, 45, 49, 48, 44, 120, 48, 43, 49, 48, 23, 0, 0, 216, 0, 5, 252, 0, 1, 250, 0, 145, 32, 32, 109, 32, 61, 32, 110, 105, 108, 98, 2, 0, 130, 1, 84, 105, 99, 107, 117, 112, 111, 2, 4, 221, 0, 52, 44, 32, 53, 163, 182, 2, 245, 1, 2, 56, 0, 7, 15, 4, 120, 50, 44, 120, 43, 48, 46, 53, 110, 2, 18, 109, 112, 5, 0, 219, 1, 3, 15, 0, 3, 140, 5, 4, 18, 0, 9, 98, 0, 39, 52, 41, 206, 2, 36, 32, 109, 182, 4, 0, 148, 0, 70, 122, 101, 114, 111, 7, 6, 6, 125, 2, 2, 1, 183, 1, 183, 0, 3, 80, 7, 14, 184, 0, 4, 91, 183, 15, 180, 0, 1, 23, 51, 180, 0, 23, 45, 181, 0, 27, 61, 179, 0, 4, 16, 0, 6, 244, 2, 20, 32, 205, 2, 16, 32, 205, 2, 34, 105, 102, 158, 1, 144, 101, 100, 32, 115, 111, 109, 101, 116, 104, 141, 7, 3, 138, 0, 49, 109, 32, 126, 96, 1, 7, 134, 0, 8, 167, 2, 38, 121, 41, 89, 0, 11, 91, 183, 0, 238, 2, 48, 101, 115, 116, 70, 0, 177, 97, 32, 112, 111, 105, 110, 116, 32, 105, 115, 32, 2, 8, 6, 47, 2, 2, 17, 8, 3, 240, 2, 16, 9, 113, 0, 50, 120, 32, 60, 196, 2, 17, 120, 51, 184, 51, 50, 56, 32, 123, 0, 20, 9, 162, 6, 66, 116, 114, 117, 101, 179, 6, 89, 9, 9, 9, 10, 9, 20, 2, 1, 71, 0, 3, 202, 6, 6, 69, 1, 28, 49, 25, 185, 1, 166, 2, 2, 43, 2, 56, 40, 97, 41, 104, 7, 0, 101, 7, 0, 187, 0, 1, 134, 1, 216, 108, 114, 40, 40, 116, 47, 52, 41, 32, 37, 32, 50, 41, 80, 3, 59, 45, 45, 32, 52, 0, 32, 43, 49, 21, 0, 5, 17, 3, 11, 106, 0, 2, 206, 4, 68, 112, 108, 41, 10, 52, 7, 50, 98, 32, 61, 43, 6, 3, 155, 185, 35, 112, 108, 94, 8, 8, 181, 3, 23, 32, 134, 4, 2, 239, 4, 4, 46, 185, 4, 41, 3, 89, 32, 32, 32, 115, 61, 163, 7, 2, 21, 0, 0, 92, 0, 32, 120, 44, 6, 0, 211, 121, 45, 48, 46, 54, 44, 32, 57, 54, 44, 32, 48, 41, 50, 0, 2, 102, 7, 181, 99, 111, 115, 40, 105, 47, 51, 50, 41, 47, 50, 24, 0, 0, 180, 2, 60, 115, 105, 110, 24, 0, 4, 170, 7, 34, 51, 48, 61, 3, 6, 150, 7, 34, 46, 48, 153, 0, 5, 239, 7, 33, 57, 54, 206, 7, 21, 51, 108, 0, 2, 175, 185, 24, 55, 249, 2, 19, 32, 220, 0, 19, 108, 133, 8, 0, 25, 1, 5, 23, 0, 99, 115, 102, 120, 40, 49, 54, 206, 2, 1, 188, 9, 4, 220, 2, 0, 26, 0, 17, 53, 76, 6, 2, 226, 1, 3, 110, 2, 0, 229, 6, 0, 199, 2, 1, 142, 0, 21, 53, 79, 1, 3, 209, 7, 54, 62, 32, 49, 81, 1, 7, 41, 0, 18, 56, 62, 0, 52, 32, 10, 32, 10, 5, 37, 112, 108, 80, 9, 13, 49, 0, 2, 8, 0, 51, 47, 32, 50, 54, 0, 39, 32, 10, 219, 7, 149, 99, 111, 110, 116, 114, 111, 108, 10, 9, 100, 187, 36, 44, 98, 111, 4, 0, 165, 2, 34, 112, 108, 113, 1, 2, 8, 0, 18, 45, 77, 0, 17, 59, 15, 0, 19, 61, 75, 187, 5, 59, 0, 25, 49, 59, 0, 10, 58, 0, 25, 43, 58, 0, 3, 104, 187, 1, 58, 0, 1, 59, 0, 64, 52, 44, 98, 41, 57, 3, 1, 174, 187, 1, 71, 0, 0, 170, 11, 81, 10, 45, 45, 9, 9, 103, 3, 17, 40, 20, 2, 0, 19, 2, 5, 98, 0, 31, 32, 245, 0, 0, 2, 118, 0, 0, 221, 1, 82, 45, 48, 46, 55, 10, 119, 1, 35, 56, 41, 109, 1, 1, 58, 4, 1, 90, 1, 7, 84, 188, 50, 53, 44, 98, 109, 0, 7, 72, 9, 2, 178, 9, 38, 110, 100, 32, 9, 9, 219, 2, 8, 114, 9, 33, 49, 53, 81, 1, 28, 32, 238, 0, 0, 8, 0, 98, 32, 42, 32, 48, 46, 52, 32, 0, 15, 169, 1, 9, 20, 32, 181, 0, 2, 8, 0, 82, 45, 32, 48, 46, 50, 148, 4, 51, 32, 10, 32, 197, 0, 16, 49, 72, 2, 5, 247, 1, 4, 201, 0, 1, 237, 4, 44, 10, 9, 54, 2, 0, 132, 4, 35, 10, 9, 75, 3, 3, 14, 10, 21, 62, 193, 0, 16, 9, 22, 0, 4, 0, 4, 113, 53, 51, 10, 9, 32, 10, 9, 160, 0, 65, 97, 98, 115, 40, 192, 0, 16, 41, 46, 0, 37, 46, 52, 70, 0, 20, 32, 26, 0, 18, 121, 26, 0, 53, 50, 10, 9, 218, 4, 0, 61, 0, 5, 218, 3, 0, 217, 3, 39, 9, 32, 91, 11, 10, 223, 3, 19, 9, 221, 3, 17, 43, 102, 0, 100, 42, 105, 47, 51, 44, 32, 21, 0, 17, 121, 21, 0, 16, 121, 21, 0, 1, 2, 1, 33, 51, 44, 26, 0, 5, 147, 3, 17, 44, 227, 0, 210, 116, 42, 51, 43, 105, 41, 37, 57, 43, 55, 41, 10, 9, 86, 1, 0, 31, 0, 16, 50, 44, 12, 21, 49, 147, 0, 8, 187, 3, 18, 9, 186, 3, 21, 9, 59, 4, 18, 45, 125, 0, 0, 223, 189, 2, 21, 0, 3, 47, 2, 98, 48, 53, 42, 105, 47, 52, 20, 0, 0, 40, 0, 0, 6, 0, 17, 43, 188, 189, 130, 48, 46, 54, 41, 45, 48, 46, 51, 28, 0, 1, 103, 4, 44, 46, 121, 28, 0, 8, 74, 6, 17, 9, 187, 1, 56, 9, 10, 9, 42, 2, 48, 109, 97, 120, 202, 13, 5, 61, 2, 1, 26, 4, 13, 186, 1, 8, 101, 2, 3, 123, 2, 53, 32, 49, 48, 198, 8, 7, 22, 0, 2, 80, 0, 4, 17, 0, 37, 45, 49, 230, 2, 5, 2, 12, 8, 116, 0, 1, 18, 0, 1, 37, 0, 1, 62, 2, 1, 255, 1, 22, 9, 192, 5, 12, 72, 3, 1, 35, 2, 0, 66, 8, 17, 40, 9, 0, 22, 43, 27, 2, 49, 42, 50, 43, 85, 6, 19, 52, 148, 0, 15, 43, 0, 8, 20, 47, 43, 0, 6, 185, 2, 11, 103, 2, 80, 60, 32, 48, 46, 49, 220, 190, 6, 245, 0, 2, 138, 5, 34, 52, 56, 87, 0, 41, 61, 48, 103, 0, 3, 181, 2, 48, 52, 57, 43, 224, 6, 1, 34, 0, 17, 41, 110, 1, 5, 138, 6, 0, 170, 3, 3, 88, 11, 28, 41, 86, 0, 38, 32, 61, 11, 0, 83, 43, 55, 53, 45, 52, 72, 5, 31, 9, 248, 6, 1, 3, 214, 8, 98, 40, 109, 41, 10, 32, 109, 58, 2, 18, 109, 219, 3, 19, 109, 218, 3, 83, 48, 50, 10, 10, 9, 105, 9, 36, 40, 109, 251, 0, 17, 109, 37, 1, 21, 51, 37, 1, 6, 123, 9, 96, 49, 49, 50, 32, 43, 32, 185, 0, 0, 45, 0, 4, 216, 192, 1, 252, 14, 2, 152, 16, 6, 19, 15, 0, 15, 0, 1, 54, 192, 34, 48, 48, 218, 2, 5, 34, 1, 19, 109, 176, 2, 24, 49, 175, 8, 10, 186, 0, 2, 97, 9, 2, 177, 7, 5, 4, 17, 209, 32, 114, 101, 112, 108, 97, 99, 101, 32, 119, 105, 116, 104, 135, 13, 86, 98, 97, 99, 107, 115, 2, 2, 2, 44, 16, 21, 61, 70, 3, 29, 32, 255, 7, 8, 196, 1, 7, 49, 0, 27, 50, 49, 0, 2, 154, 8, 5, 49, 0, 13, 48, 0, 26, 51, 48, 0, 4, 104, 1, 41, 112, 108, 193, 2, 3, 10, 1, 19, 61, 27, 16, 1, 202, 0, 17, 120, 50, 0, 64, 109, 101, 110, 116, 93, 3, 50, 32, 120, 49, 209, 1, 4, 111, 5, 51, 120, 32, 43, 65, 8, 52, 115, 103, 110, 98, 2, 0, 169, 1, 19, 51, 23, 0, 5, 192, 8, 82, 114, 111, 107, 101, 95, 226, 17, 4, 125, 16, 0, 167, 0, 1, 161, 5, 2, 111, 6, 51, 120, 49, 44, 128, 8, 40, 53, 41, 92, 6, 28, 120, 115, 0, 48, 32, 10, 9, 160, 2, 1, 17, 17, 128, 105, 116, 32, 119, 97, 108, 108, 10, 218, 9, 1, 55, 12, 81, 101, 97, 114, 99, 104, 30, 5, 0, 103, 7, 50, 97, 99, 116, 76, 10, 151, 10, 9, 32, 119, 104, 105, 108, 101, 32, 113, 0, 3, 85, 0, 6, 186, 0, 16, 42, 3, 5, 23, 32, 133, 0, 2, 91, 5, 10, 132, 0, 11, 233, 0, 0, 210, 4, 3, 153, 11, 2, 7, 10, 4, 37, 6, 114, 44, 32, 98, 114, 101, 97, 107, 214, 18, 0, 158, 0, 10, 120, 4, 9, 39, 11, 17, 9, 203, 8, 15, 83, 6, 1, 3, 64, 9, 15, 86, 6, 3, 27, 32, 227, 12, 22, 49, 189, 0, 1, 184, 13, 15, 116, 12, 11, 7, 152, 11, 7, 122, 1, 37, 10, 32, 85, 9, 4, 0, 10, 10, 188, 1, 0, 79, 11, 37, 10, 32, 127, 9, 1, 142, 12, 168, 97, 107, 101, 32, 100, 101, 98, 114, 105, 115, 26, 0, 0, 133, 1, 16, 98, 167, 13, 21, 49, 125, 10, 2, 20, 0, 26, 120, 20, 0, 15, 147, 10, 4, 0, 245, 6, 17, 53, 117, 4, 112, 120, 49, 41, 32, 43, 32, 98, 65, 6, 61, 53, 44, 32, 31, 0, 5, 188, 0, 0, 37, 0, 17, 121, 37, 0, 4, 36, 0, 38, 50, 50, 199, 10, 5, 201, 10, 49, 40, 98, 120, 47, 0, 16, 47, 40, 8, 8, 202, 10, 61, 40, 98, 121, 25, 0, 13, 203, 10, 9, 205, 10, 3, 242, 10, 5, 169, 10, 6, 9, 0, 2, 192, 10, 2, 66, 6, 47, 32, 32, 236, 7, 1, 8, 207, 16, 3, 114, 1, 33, 50, 41, 62, 4, 74, 104, 117, 109, 112, 79, 0, 9, 9, 11, 0, 9, 21, 32, 117, 109, 3, 21, 100, 32, 107, 105, 108, 108, 115, 97, 9, 29, 32, 68, 2, 56, 60, 32, 50, 44, 2, 12, 184, 18, 11, 89, 0, 2, 180, 7, 6, 205, 2, 2, 182, 18, 19, 9, 74, 9, 6, 227, 6, 25, 61, 154, 2, 0, 80, 3, 7, 34, 2, 10, 98, 9, 6, 159, 9, 16, 42, 240, 7, 37, 53, 10, 198, 14, 15, 162, 4, 6, 2, 199, 9, 20, 61, 206, 9, 37, 45, 49, 76, 0, 36, 61, 48, 63, 0, 18, 9, 67, 6, 0, 165, 0, 21, 121, 161, 4, 6, 247, 4, 71, 100, 121, 32, 60, 37, 3, 0, 85, 21, 16, 111, 46, 1, 38, 117, 112, 25, 10, 6, 3, 4, 87, 45, 48, 46, 50, 44, 15, 9, 32, 45, 49, 23, 11, 0, 118, 0, 6, 36, 0, 30, 43, 36, 0, 0, 86, 2, 9, 77, 10, 39, 61, 48, 46, 15, 3, 136, 4, 35, 117, 112, 139, 4, 49, 108, 108, 105, 81, 23, 2, 141, 4, 36, 32, 32, 142, 4, 1, 63, 1, 1, 242, 2, 15, 145, 0, 1, 15, 139, 0, 11, 0, 133, 0, 1, 220, 2, 3, 74, 3, 0, 20, 0, 2, 210, 10, 2, 209, 10, 39, 48, 49, 54, 16, 4, 139, 2, 8, 37, 0, 2, 81, 5, 22, 121, 86, 1, 2, 150, 5, 6, 49, 1, 79, 100, 111, 119, 110, 48, 1, 14, 15, 46, 1, 15, 4, 119, 4, 39, 10, 9, 88, 2, 7, 242, 4, 3, 31, 21, 0, 242, 4, 1, 131, 12, 6, 243, 4, 36, 100, 121, 43, 3, 38, 10, 32, 111, 1, 11, 189, 11, 17, 42, 96, 10, 6, 86, 0, 2, 235, 0, 4, 41, 0, 5, 215, 6, 5, 185, 4, 4, 62, 0, 2, 2, 3, 10, 90, 17, 68, 115, 110, 97, 112, 247, 0, 8, 50, 6, 3, 149, 4, 11, 165, 1, 1, 29, 13, 3, 255, 0, 13, 1, 1, 1, 29, 0, 2, 26, 0, 2, 167, 1, 0, 37, 21, 10, 127, 1, 0, 2, 11, 5, 33, 14, 0, 127, 0, 48, 112, 111, 112, 52, 2, 64, 101, 118, 101, 110, 29, 1, 1, 212, 0, 3, 94, 17, 1, 141, 0, 31, 40, 129, 0, 0, 16, 45, 208, 9, 31, 41, 5, 2, 6, 4, 97, 0, 13, 65, 0, 31, 43, 65, 0, 29, 31, 32, 71, 2, 11, 5, 30, 21, 5, 104, 15, 6, 206, 24, 1, 216, 1, 49, 102, 114, 105, 51, 9, 42, 10, 9, 192, 1, 2, 64, 0, 0, 136, 2, 12, 216, 1, 83, 48, 46, 57, 53, 10, 136, 8, 5, 62, 0, 15, 64, 11, 4, 44, 32, 9, 113, 4, 0, 19, 25, 2, 212, 2, 15, 28, 0, 1, 54, 57, 10, 9, 162, 14, 0, 2, 25, 0, 159, 26, 0, 32, 0, 18, 116, 39, 0, 91, 116, 32, 43, 32, 49, 236, 9, 1, 200, 3, 48, 100, 101, 95, 160, 1, 145, 116, 40, 97, 49, 44, 32, 97, 50, 41, 199, 8, 33, 97, 49, 203, 4, 23, 61, 81, 202, 0, 22, 0, 19, 50, 22, 0, 4, 187, 22, 4, 245, 2, 35, 97, 50, 117, 11, 55, 61, 54, 52, 161, 5, 37, 97, 49, 71, 12, 52, 49, 50, 48, 19, 0, 1, 185, 0, 2, 8, 0, 51, 42, 32, 50, 3, 6, 0, 16, 0, 19, 121, 24, 0, 1, 194, 1, 3, 121, 4, 47, 97, 49, 230, 25, 0, 4, 96, 6, 43, 51, 41, 72, 20, 62, 103, 101, 109, 147, 0, 43, 56, 48, 147, 0, 1, 205, 24, 22, 61, 11, 0, 0, 25, 1, 4, 84, 0, 25, 57, 83, 0, 6, 164, 17, 0, 25, 1, 38, 10, 32, 221, 2, 5, 8, 16, 33, 32, 111, 193, 27, 23, 101, 196, 20, 11, 45, 1, 3, 12, 6, 13, 232, 20, 0, 101, 1, 15, 29, 9, 2, 39, 97, 49, 28, 9, 5, 143, 3, 0, 47, 0, 18, 121, 40, 1, 0, 209, 11, 33, 97, 50, 234, 2, 23, 55, 220, 0, 0, 168, 5, 49, 108, 111, 119, 240, 3, 5, 213, 24, 15, 116, 1, 0, 2, 216, 16, 41, 32, 32, 116, 1, 2, 210, 6, 53, 55, 45, 45, 61, 16, 6, 159, 7, 121, 101, 120, 112, 108, 111, 100, 101, 131, 19, 47, 49, 54, 131, 19, 12, 32, 97, 50, 131, 19, 3, 167, 0, 40, 53, 44, 135, 15, 26, 55, 138, 19, 1, 7, 0, 4, 40, 15, 16, 52, 12, 15, 11, 146, 19, 2, 86, 3, 14, 32, 0, 15, 154, 19, 18, 15, 113, 8, 2, 0, 105, 8, 8, 142, 1, 7, 230, 12, 26, 105, 190, 13, 6, 110, 2, 0, 162, 27, 13, 20, 2, 5, 115, 5, 3, 108, 6, 23, 32, 25, 19, 1, 190, 20, 4, 106, 1, 0, 223, 20, 75, 61, 48, 10, 10, 49, 22, 0, 62, 0, 15, 55, 21, 4, 4, 80, 1, 35, 115, 112, 230, 15, 146, 115, 112, 46, 116, 32, 62, 32, 115, 112, 247, 0, 5, 250, 1, 0, 146, 0, 5, 25, 28, 22, 112, 102, 13, 34, 115, 112, 134, 16, 18, 112, 233, 11, 65, 112, 46, 100, 120, 21, 0, 1, 84, 1, 0, 7, 0, 2, 21, 0, 34, 121, 10, 7, 0, 18, 61, 7, 0, 2, 21, 0, 3, 22, 0, 18, 116, 43, 0, 7, 61, 4, 13, 62, 4, 8, 56, 4, 0, 165, 2, 51, 61, 61, 97, 31, 4, 4, 189, 27, 1, 143, 0, 2, 56, 13, 4, 136, 2, 1, 8, 20, 53, 50, 46, 120, 24, 0, 3, 136, 2, 18, 121, 24, 0, 22, 121, 231, 15, 2, 228, 15, 151, 97, 49, 46, 119, 43, 97, 50, 46, 119, 143, 4, 3, 32, 0, 19, 121, 32, 0, 16, 104, 32, 0, 22, 104, 15, 3, 15, 221, 4, 4, 6, 168, 23, 15, 12, 5, 0, 0, 212, 8, 51, 115, 40, 41, 147, 25, 32, 97, 49, 13, 2, 52, 97, 108, 108, 77, 30, 1, 241, 2, 4, 247, 0, 2, 229, 1, 59, 44, 97, 49, 166, 14, 2, 201, 27, 11, 55, 24, 15, 79, 0, 7, 11, 80, 0, 18, 50, 81, 0, 12, 78, 24, 5, 159, 15, 129, 111, 117, 116, 103, 97, 109, 101, 95, 102, 32, 5, 218, 208, 4, 40, 23, 8, 76, 13, 6, 60, 23, 4, 10, 0, 2, 232, 4, 10, 48, 0, 22, 51, 164, 8, 1, 69, 21, 5, 67, 21, 21, 53, 18, 10, 31, 32, 140, 22, 4, 8, 12, 0, 3, 149, 12, 224, 100, 112, 97, 108, 61, 123, 48, 44, 49, 44, 49, 44, 32, 50, 7, 0, 53, 51, 44, 54, 190, 12, 226, 32, 32, 32, 52, 44, 52, 44, 57, 44, 51, 44, 32, 49, 51, 30, 0, 55, 49, 52, 125, 31, 0, 5, 65, 3, 32, 97, 108, 27, 33, 57, 32, 102, 97, 118, 4, 52, 48, 44, 52, 11, 27, 2, 143, 13, 16, 106, 137, 4, 22, 53, 123, 13, 2, 178, 19, 23, 106, 157, 13, 224, 107, 61, 49, 44, 40, 40, 105, 43, 40, 106, 37, 53, 41, 41, 205, 24, 6, 168, 13, 0, 146, 31, 0, 178, 0, 92, 91, 99, 111, 108, 93, 250, 12, 0, 132, 0, 32, 40, 106, 233, 31, 4, 17, 27, 6, 13, 13, 111, 102, 108, 105, 112, 40, 41, 89, 4, 2, 4, 6, 34, 0, 149, 34, 1, 127, 21, 98, 111, 102, 32, 115, 108, 105, 202, 9, 66, 32, 114, 117, 110, 56, 0, 14, 133, 2, 12, 178, 210, 132, 9, 102, 111, 114, 101, 97, 99, 104, 169, 32, 6, 152, 17, 54, 41, 9, 9, 30, 0, 4, 248, 3, 9, 51, 4, 42, 41, 10, 207, 2, 9, 151, 28, 2, 104, 2, 2, 31, 25, 1, 10, 0, 16, 121, 70, 2, 12, 88, 2, 3, 165, 17, 8, 101, 34, 9, 205, 2, 0, 3, 6, 4, 121, 1, 65, 112, 111, 107, 101, 68, 21, 32, 48, 120, 32, 146, 34, 41, 44, 12, 0, 0, 122, 18, 9, 203, 2, 124, 32, 10, 9, 116, 61, 116, 43, 134, 8, 0, 201, 211, 6, 237, 4, 5, 123, 0, 2, 128, 21, 8, 210, 2, 4, 120, 0, 5, 242, 1, 0, 163, 1, 33, 105, 44, 41, 0, 10, 52, 3, 83, 32, 115, 112, 114, 40, 147, 25, 16, 44, 135, 21, 64, 42, 56, 45, 52, 9, 0, 16, 121, 9, 0, 0, 240, 0, 0, 59, 0, 31, 41, 137, 0, 1, 8, 251, 18, 3, 154, 9, 0, 93, 31, 14, 208, 3, 7, 139, 0, 37, 45, 45, 141, 0, 3, 230, 32, 59, 91, 105, 93, 146, 0, 15, 47, 17, 1, 7, 31, 12, 15, 194, 21, 2, 5, 105, 0, 28, 50, 244, 0, 49, 55, 43, 40, 204, 22, 32, 47, 50, 36, 20, 21, 56, 104, 1, 34, 45, 45, 34, 0, 91, 50, 44, 55, 41, 10, 123, 0, 2, 84, 8, 15, 122, 0, 1, 2, 26, 0, 15, 121, 0, 18, 25, 54, 121, 0, 58, 50, 41, 41, 37, 11, 50, 9, 115, 112, 85, 21, 2, 122, 1, 2, 58, 21, 3, 126, 1, 33, 112, 108, 127, 1, 17, 56, 23, 0, 50, 49, 44, 32, 223, 17, 50, 100, 32, 60, 211, 16, 15, 148, 1, 3, 4, 231, 213, 2, 69, 31, 177, 107, 121, 10, 9, 99, 97, 109, 101, 114, 97, 32, 211, 36, 1, 238, 28, 2, 56, 214, 26, 32, 57, 214, 1, 99, 13, 34, 45, 45, 90, 31, 34, 49, 44, 195, 33, 1, 160, 3, 48, 99, 116, 40, 227, 33, 97, 45, 121, 42, 50, 46, 53, 45, 0, 5, 13, 0, 38, 54, 41, 230, 25, 0, 220, 20, 3, 185, 32, 0, 69, 26, 32, 32, 115, 218, 0, 146, 56, 56, 44, 48, 44, 56, 44, 56, 44, 108, 0, 16, 56, 4, 0, 4, 16, 23, 48, 115, 107, 121, 31, 12, 32, 100, 105, 188, 15, 6, 152, 21, 4, 83, 1, 4, 228, 31, 5, 79, 34, 0, 126, 4, 16, 115, 203, 18, 242, 2, 56, 56, 44, 40, 121, 43, 40, 121, 37, 52, 41, 42, 54, 41, 32, 47, 32, 255, 27, 129, 108, 105, 110, 101, 40, 48, 44, 121, 163, 0, 19, 121, 114, 36, 7, 81, 2, 1, 196, 30, 145, 111, 117, 100, 115, 32, 98, 101, 104, 105, 149, 38, 116, 117, 110, 116, 97, 105, 110, 115, 85, 7, 0, 108, 7, 97, 116, 32, 47, 32, 56, 10, 11, 0, 49, 120, 32, 37, 19, 38, 3, 30, 0, 1, 225, 15, 49, 109, 97, 112, 97, 1, 146, 49, 54, 44, 32, 51, 50, 44, 32, 45, 21, 36, 0, 15, 0, 19, 49, 51, 29, 12, 35, 0, 62, 49, 50, 56, 38, 0, 22, 10, 26, 21, 18, 103, 133, 5, 34, 49, 51, 241, 10, 5, 148, 0, 0, 222, 1, 33, 53, 44, 31, 0, 19, 41, 164, 2, 2, 13, 0, 2, 27, 0, 0, 42, 6, 18, 41, 4, 21, 179, 103, 104, 108, 105, 103, 104, 116, 115, 32, 10, 32, 216, 14, 3, 167, 0, 1, 245, 1, 0, 132, 0, 28, 48, 128, 0, 18, 9, 60, 2, 19, 32, 140, 1, 49, 109, 97, 112, 226, 2, 2, 248, 37, 1, 52, 2, 17, 95, 127, 23, 33, 105, 100, 241, 24, 2, 2, 5, 177, 42, 56, 45, 54, 52, 44, 49, 48, 50, 52, 45, 200, 1, 15, 194, 7, 10, 4, 67, 0, 1, 117, 33, 7, 71, 0, 29, 50, 72, 0, 0, 40, 29, 2, 72, 22, 2, 52, 0, 6, 55, 29, 0, 118, 27, 0, 20, 0, 28, 121, 139, 0, 99, 121, 42, 54, 45, 52, 48, 78, 2, 4, 34, 0, 38, 56, 52, 237, 2, 1, 74, 0, 17, 44, 26, 0, 4, 48, 1, 119, 50, 44, 48, 41, 9, 10, 9, 27, 1, 21, 48, 151, 2, 0, 143, 0, 20, 41, 81, 3, 29, 32, 44, 6, 8, 114, 5, 29, 41, 106, 6, 6, 7, 5, 19, 41, 149, 18, 50, 102, 111, 114, 11, 3, 0, 89, 1, 0, 82, 29, 15, 117, 0, 5, 1, 37, 13, 6, 26, 30, 1, 95, 13, 34, 10, 32, 197, 0, 0, 44, 0, 2, 153, 6, 48, 111, 114, 40, 2, 12, 12, 187, 8, 23, 54, 186, 26, 240, 3, 114, 105, 110, 116, 40, 34, 112, 114, 101, 115, 115, 32, 98, 117, 116, 116, 111, 110, 159, 11, 3, 93, 7, 17, 34, 82, 8, 48, 49, 56, 45, 55, 217, 81, 45, 48, 44, 56, 43, 167, 32, 63, 37, 50, 41, 59, 0, 22, 0, 23, 37, 26, 55, 144, 24, 9, 174, 3, 168, 32, 99, 117, 114, 115, 111, 114, 40, 48, 44, 85, 0, 2, 79, 2, 72, 58, 34, 46, 46, 100, 40, 7, 33, 0, 1, 241, 0, 0, 32, 0, 3, 216, 1, 1, 16, 0, 6, 32, 0, 64, 115, 116, 97, 116, 102, 218, 8, 59, 36, 12, 132, 217, 10, 1, 0, 15, 132, 217, 13, 19, 101, 4, 214, 16, 100, 162, 153, 2, 6, 0, 8, 10, 0, 43, 55, 99, 1, 0, 4, 195, 216, 64, 50, 53, 53, 50, 4, 0, 57, 99, 99, 53, 24, 0, 14, 129, 0, 15, 132, 217, 6, 2, 48, 155, 17, 50, 130, 0, 64, 55, 102, 53, 100, 139, 157, 20, 53, 120, 0, 3, 10, 0, 43, 55, 54, 128, 0, 35, 53, 53, 106, 0, 2, 127, 0, 49, 50, 53, 99, 60, 154, 62, 99, 99, 53, 129, 0, 17, 55, 3, 0, 4, 254, 215, 13, 132, 217, 0, 128, 0, 80, 55, 101, 48, 50, 50, 9, 0, 96, 102, 102, 53, 53, 100, 100, 50, 157, 17, 100, 1, 0, 4, 10, 0, 45, 54, 54, 128, 0, 41, 53, 50, 2, 1, 3, 128, 0, 15, 2, 1, 2, 47, 55, 55, 128, 215, 3, 5, 128, 0, 0, 1, 0, 15, 129, 0, 26, 37, 53, 53, 130, 0, 8, 2, 1, 1, 27, 0, 63, 50, 48, 50, 129, 0, 21, 31, 55, 129, 0, 38, 67, 99, 53, 99, 50, 130, 0, 13, 4, 2, 3, 24, 0, 15, 131, 1, 0, 7, 132, 217, 22, 50, 132, 217, 4, 147, 1, 15, 129, 0, 24, 35, 53, 53, 2, 1, 38, 53, 50, 2, 1, 35, 53, 53, 29, 0, 0, 24, 0, 14, 133, 2, 15, 134, 218, 9, 49, 48, 50, 100, 137, 0, 0, 6, 159, 32, 101, 102, 17, 159, 36, 100, 54, 23, 159, 4, 10, 0, 40, 100, 54, 128, 0, 20, 99, 128, 0, 38, 53, 50, 4, 2, 38, 99, 99, 2, 1, 31, 53, 129, 0, 19, 4, 10, 3, 16, 100, 53, 158, 18, 50, 114, 0, 18, 101, 112, 0, 4, 151, 159, 5, 10, 0, 27, 100, 0, 1, 5, 130, 0, 5, 4, 2, 23, 99, 2, 1, 33, 50, 53, 129, 0, 34, 54, 55, 101, 157, 1, 67, 1, 113, 49, 48, 49, 48, 49, 50, 50, 133, 1, 53, 48, 52, 48, 5, 218, 49, 48, 101, 48, 150, 158, 15, 89, 220, 7, 2, 92, 2, 11, 23, 0, 1, 161, 1, 0, 106, 0, 19, 100, 1, 0, 21, 48, 24, 4, 1, 2, 0, 23, 100, 129, 0, 0, 127, 0, 72, 54, 55, 49, 49, 129, 0, 99, 52, 52, 48, 98, 51, 98, 76, 0, 79, 57, 57, 48, 57, 129, 0, 7, 9, 30, 158, 4, 52, 221, 32, 100, 100, 122, 0, 1, 106, 0, 11, 129, 0, 3, 2, 1, 0, 129, 0, 0, 225, 161, 0, 65, 0, 1, 128, 0, 115, 99, 48, 49, 48, 48, 49, 49, 12, 4, 1, 133, 3, 2, 129, 0, 99, 97, 57, 55, 55, 55, 100, 12, 5, 15, 7, 219, 0, 9, 159, 158, 4, 41, 219, 1, 124, 0, 0, 132, 0, 4, 130, 0, 42, 50, 53, 2, 1, 31, 100, 129, 0, 1, 36, 49, 49, 2, 1, 2, 129, 0, 22, 48, 129, 0, 16, 57, 133, 1, 72, 50, 101, 101, 102, 123, 0, 2, 48, 5, 8, 2, 1, 4, 170, 219, 24, 100, 122, 0, 1, 8, 0, 41, 53, 50, 2, 1, 16, 100, 129, 0, 2, 121, 0, 0, 196, 1, 1, 202, 5, 0, 29, 0, 5, 131, 1, 2, 133, 4, 2, 133, 1, 31, 100, 129, 0, 4, 3, 178, 5, 2, 4, 2, 39, 53, 99, 52, 222, 22, 100, 126, 1, 3, 240, 0, 27, 53, 2, 1, 15, 129, 0, 6, 40, 49, 50, 7, 5, 1, 146, 6, 66, 57, 48, 57, 57, 193, 1, 73, 50, 49, 49, 101, 128, 0, 16, 97, 130, 0, 34, 53, 53, 119, 3, 6, 52, 222, 4, 128, 0, 38, 53, 100, 10, 3, 11, 2, 1, 68, 50, 100, 100, 10, 125, 2, 49, 99, 99, 99, 5, 0, 3, 1, 1, 2, 3, 1, 7, 131, 1, 0, 150, 161, 46, 48, 101, 252, 1, 64, 51, 51, 97, 55, 130, 0, 5, 4, 2, 4, 129, 0, 42, 100, 100, 122, 0, 3, 2, 0, 13, 4, 2, 4, 127, 3, 6, 129, 0, 1, 208, 3, 23, 50, 4, 1, 3, 129, 0, 5, 16, 4, 11, 129, 0, 10, 2, 1, 4, 48, 222, 1, 0, 3, 14, 128, 0, 29, 50, 6, 3, 10, 253, 222, 7, 1, 0, 26, 50, 2, 0, 10, 243, 1, 14, 1, 0, 19, 98, 1, 0, 15, 8, 4, 21, 4, 1, 0, 22, 10, 110, 0, 10, 138, 0, 0, 133, 1, 38, 50, 50, 136, 0, 15, 129, 0, 1, 31, 98, 129, 0, 0, 45, 55, 55, 128, 0, 14, 8, 4, 9, 129, 0, 8, 232, 0, 38, 52, 50, 139, 6, 1, 18, 0, 36, 50, 50, 156, 0, 7, 2, 1, 36, 57, 97, 117, 0, 45, 97, 98, 10, 1, 10, 45, 223, 22, 100, 138, 2, 15, 2, 1, 5, 7, 128, 0, 47, 50, 50, 128, 1, 5, 2, 154, 224, 1, 150, 6, 0, 128, 0, 36, 55, 97, 245, 0, 31, 51, 129, 0, 2, 25, 55, 0, 1, 47, 100, 50, 2, 1, 11, 3, 110, 1, 5, 106, 0, 7, 4, 0, 2, 24, 0, 20, 49, 4, 2, 34, 101, 48, 129, 0, 63, 57, 97, 57, 132, 1, 2, 1, 16, 0, 7, 49, 224, 3, 128, 0, 15, 2, 1, 12, 44, 52, 50, 236, 0, 23, 52, 16, 1, 3, 10, 0, 16, 50, 4, 2, 51, 55, 51, 55, 131, 1, 28, 57, 125, 0, 4, 129, 0, 24, 51, 129, 0, 0, 123, 0, 5, 128, 0, 15, 2, 1, 11, 11, 126, 0, 10, 0, 2, 3, 4, 1, 4, 143, 3, 31, 51, 1, 0, 12, 8, 136, 4, 7, 128, 0, 15, 4, 2, 9, 15, 2, 0, 19, 15, 129, 0, 28, 56, 55, 100, 53, 2, 2, 14, 2, 1, 15, 43, 58, 7, 27, 102, 4, 0, 13, 123, 4, 23, 98, 1, 0, 6, 145, 0, 4, 149, 6, 8, 185, 226, 15, 63, 226, 17, 29, 10, 113, 0, 2, 121, 12, 7, 8, 0, 11, 137, 0, 25, 98, 1, 0, 6, 129, 0, 3, 7, 0, 15, 129, 0, 32, 12, 113, 0, 33, 49, 102, 174, 169, 5, 8, 0, 3, 24, 0, 5, 128, 0, 14, 122, 2, 14, 131, 1, 15, 129, 0, 26, 11, 113, 0, 1, 250, 12, 22, 101, 8, 0, 4, 24, 0, 3, 231, 8, 11, 114, 0, 28, 98, 14, 0, 15, 129, 0, 31, 12, 113, 0, 20, 48, 15, 13, 3, 8, 0, 5, 24, 0, 2, 129, 0, 14, 248, 0, 17, 49, 3, 0, 12, 2, 1, 15, 1, 0, 1, 15, 176, 60, 4, 11, 113, 0, 0, 173, 169, 1, 248, 1, 3, 188, 169, 5, 24, 0, 2, 49, 0, 6, 129, 0, 3, 135, 0, 64, 49, 51, 49, 49, 130, 0, 30, 98, 129, 0, 15, 131, 0, 17, 2, 38, 170, 9, 121, 0, 12, 18, 3, 4, 32, 0, 6, 129, 0, 8, 0, 2, 0, 128, 0, 2, 130, 0, 14, 2, 1, 15, 130, 0, 17, 0, 169, 171, 3, 116, 0, 31, 102, 168, 1, 6, 14, 130, 9, 7, 129, 1, 3, 1, 0, 14, 129, 0, 15, 130, 0, 19, 22, 10, 43, 2, 4, 121, 172, 10, 67, 2, 42, 101, 55, 2, 0, 31, 48, 1, 0, 37, 24, 101, 15, 171, 8, 129, 0, 19, 55, 24, 14, 1, 125, 0, 19, 54, 137, 13, 21, 55, 8, 0, 6, 20, 14, 14, 51, 233, 15, 113, 0, 25, 3, 220, 14, 5, 8, 0, 4, 24, 0, 34, 10, 55, 223, 2, 34, 55, 54, 8, 0, 0, 162, 11, 0, 25, 172, 20, 55, 8, 0, 130, 50, 102, 102, 50, 50, 102, 102, 102, 4, 0, 47, 50, 50, 128, 0, 25, 23, 102, 113, 0, 16, 101, 207, 3, 23, 49, 8, 0, 3, 24, 0, 75, 10, 55, 48, 98, 129, 0, 1, 147, 172, 20, 55, 8, 0, 0, 117, 0, 37, 50, 102, 2, 0, 15, 129 ]); + fileData0.push.apply(fileData0, [ 0, 23, 13, 113, 0, 2, 207, 3, 5, 8, 0, 3, 24, 0, 64, 10, 55, 48, 97, 41, 1, 49, 55, 54, 48, 146, 11, 34, 54, 55, 149, 173, 20, 55, 8, 0, 6, 125, 0, 15, 2, 1, 29, 11, 113, 0, 103, 101, 99, 99, 99, 101, 48, 8, 0, 2, 24, 0, 97, 10, 55, 48, 55, 99, 56, 129, 0, 16, 55, 137, 0, 15, 131, 1, 1, 4, 125, 0, 0, 8, 0, 15, 129, 0, 24, 10, 113, 0, 1, 213, 2, 0, 208, 3, 18, 56, 228, 2, 4, 32, 0, 15, 133, 2, 1, 0, 122, 1, 5, 8, 0, 15, 133, 2, 38, 5, 33, 14, 3, 121, 0, 8, 240, 172, 7, 137, 0, 15, 135, 3, 72, 19, 56, 115, 0, 31, 56, 34, 0, 8, 15, 59, 66, 3, 13, 221, 11, 15, 188, 66, 77, 35, 100, 101, 183, 1, 4, 242, 4, 15, 129, 0, 92, 33, 100, 49, 127, 2, 81, 48, 101, 100, 55, 102, 25, 176, 79, 52, 51, 57, 57, 129, 0, 88, 48, 100, 49, 100, 129, 20, 128, 48, 101, 100, 101, 102, 55, 102, 48, 117, 11, 47, 57, 55, 130, 0, 87, 0, 16, 8, 64, 101, 100, 49, 100, 11, 237, 97, 102, 101, 100, 101, 48, 57, 158, 177, 34, 97, 57, 168, 176, 15, 131, 1, 82, 32, 101, 102, 128, 0, 0, 130, 0, 0, 13, 2, 4, 32, 178, 18, 97, 37, 177, 15, 133, 2, 82, 19, 101, 44, 11, 2, 248, 8, 2, 130, 0, 35, 48, 97, 2, 0, 15, 129, 0, 81, 11, 1, 0, 2, 167, 178, 3, 43, 178, 15, 129, 0, 80, 15, 191, 182, 249, 31, 55, 129, 0, 101, 4, 53, 6, 47, 48, 55, 129, 0, 107, 6, 128, 0, 31, 55, 197, 185, 255, 239, 11, 91, 14, 33, 55, 54, 2, 0, 33, 48, 48, 52, 185, 18, 48, 18, 0, 17, 48, 190, 9, 14, 67, 185, 15, 129, 0, 34, 12, 113, 0, 81, 55, 55, 56, 55, 55, 8, 0, 19, 101, 159, 2, 4, 96, 21, 14, 8, 0, 15, 2, 1, 49, 7, 113, 0, 1, 102, 20, 4, 237, 22, 4, 8, 0, 12, 18, 1, 13, 8, 0, 15, 129, 0, 48, 9, 113, 0, 103, 55, 49, 55, 55, 55, 49, 8, 0, 6, 18, 1, 15, 8, 0, 0, 15, 129, 0, 49, 14, 113, 0, 15, 145, 0, 11, 11, 8, 0, 15, 2, 1, 61, 18, 97, 145, 12, 66, 48, 48, 57, 97, 8, 0, 13, 145, 0, 11, 8, 0, 15, 129, 0, 46, 19, 57, 128, 8, 4, 121, 0, 25, 48, 134, 7, 6, 24, 0, 15, 8, 0, 3, 15, 6, 3, 49, 23, 97, 117, 0, 15, 0, 8, 1, 23, 97, 28, 0, 7, 12, 0, 14, 47, 8, 15, 211, 192, 255, 255, 255, 112, 48, 99, 51, 100, 189, 29, 118, 51, 99, 51, 48, 48, 100, 51, 18, 0, 47, 48, 53, 131, 1, 215, 32, 97, 51, 4, 0, 34, 98, 51, 10, 0, 4, 12, 0, 47, 99, 51, 2, 1, 221, 23, 99, 6, 0, 4, 22, 0, 15, 2, 1, 157, 47, 98, 49, 179, 22, 5, 79, 97, 49, 97, 50, 2, 1, 11, 46, 99, 51, 2, 0, 15, 4, 2, 149, 50, 98, 49, 99, 0, 1, 107, 50, 99, 50, 100, 48, 102, 8, 1, 0, 252, 0, 111, 97, 49, 97, 51, 97, 51, 4, 1, 3, 1, 26, 0, 15, 236, 0, 4, 15, 2, 1, 145, 22, 99, 248, 0, 33, 50, 100, 10, 0, 83, 100, 48, 99, 49, 100, 165, 24, 35, 98, 49, 252, 0, 4, 2, 0, 20, 50, 12, 2, 14, 20, 2, 15, 2, 1, 165, 36, 100, 48, 248, 0, 32, 100, 49, 46, 19, 6, 2, 0, 2, 28, 1, 47, 97, 51, 2, 0, 0, 5, 20, 2, 47, 97, 49, 2, 1, 178, 9, 248, 0, 9, 2, 0, 35, 49, 100, 228, 2, 15, 2, 0, 7, 15, 2, 1, 178, 15, 2, 0, 8, 15, 2, 1, 255, 255, 255, 255, 221, 6, 11, 0, 27, 57, 4, 0, 15, 129, 0, 19, 15, 2, 1, 187, 8, 2, 0, 15, 2, 1, 223, 10, 0, 1, 14, 4, 1, 15, 2, 1, 168, 111, 49, 99, 50, 99, 51, 99, 129, 0, 14, 3, 38, 28, 18, 53, 4, 0, 63, 97, 48, 98, 2, 1, 182, 127, 100, 49, 100, 50, 100, 51, 100, 2, 1, 20, 4, 2, 0, 79, 98, 48, 57, 49, 2, 1, 181, 143, 101, 49, 101, 50, 101, 51, 101, 48, 6, 3, 15, 3, 6, 2, 18, 55, 0, 1, 15, 6, 3, 183, 127, 102, 49, 102, 50, 102, 51, 102, 8, 4, 233, 15, 129, 0, 16, 31, 51, 2, 0, 5, 15, 2, 1, 214, 0, 184, 41, 15, 2, 0, 3, 47, 57, 51, 2, 1, 209, 38, 56, 50, 2, 0, 34, 54, 48, 2, 0, 6, 18, 0, 15, 2, 1, 207, 47, 57, 51, 2, 1, 9, 31, 55, 2, 1, 208, 40, 56, 51, 2, 0, 5, 2, 1, 5, 18, 0, 15, 2, 1, 207, 14, 6, 5, 14, 12, 5, 15, 10, 5, 203, 47, 50, 48, 2, 0, 10, 15, 58, 29, 255, 255, 214, 9, 132, 217, 0, 249, 3, 68, 49, 56, 49, 49, 5, 4, 34, 49, 48, 30, 12, 0, 6, 0, 4, 16, 0, 0, 2, 0, 8, 28, 0, 4, 74, 0, 6, 87, 9, 6, 38, 0, 15, 92, 12, 5, 6, 38, 0, 5, 66, 0, 19, 50, 4, 0, 47, 48, 49, 54, 0, 3, 2, 32, 0, 15, 150, 3, 40, 47, 56, 48, 60, 154, 139, 15, 132, 218, 255, 255, 255, 255, 255, 255, 146, 47, 53, 54, 1, 1, 236, 31, 48, 4, 4, 255, 255, 12, 8, 40, 74, 15, 1, 1, 226, 15, 1, 0, 61, 27, 53, 4, 0, 15, 1, 1, 198, 21, 53, 2, 0, 9, 65, 2, 30, 57, 178, 29, 15, 1, 1, 196, 15, 1, 0, 4, 0, 151, 24, 62, 55, 48, 56, 177, 29, 15, 1, 1, 148, 79, 52, 98, 52, 99, 1, 1, 46, 6, 170, 27, 0, 11, 1, 15, 1, 1, 155, 59, 53, 98, 53, 1, 1, 143, 51, 54, 50, 57, 50, 57, 51, 55, 50, 0, 5, 43, 49, 53, 1, 1, 57, 97, 53, 51, 173, 28, 15, 1, 0, 88, 47, 49, 53, 3, 3, 64, 32, 50, 55, 112, 23, 31, 50, 1, 1, 7, 22, 52, 147, 74, 7, 170, 28, 48, 97, 53, 50, 255, 0, 47, 49, 57, 1, 1, 90, 63, 52, 49, 53, 1, 1, 40, 2, 236, 1, 12, 240, 1, 1, 1, 1, 46, 55, 50, 203, 2, 15, 123, 22, 3, 3, 1, 1, 35, 55, 48, 255, 0, 15, 1, 1, 93, 31, 52, 1, 1, 40, 35, 50, 56, 237, 0, 9, 240, 1, 4, 22, 0, 9, 252, 0, 84, 57, 49, 56, 48, 50, 196, 64, 33, 48, 50, 16, 0, 4, 1, 1, 2, 3, 5, 6, 6, 0, 15, 215, 2, 52, 31, 48, 212, 8, 19, 15, 2, 2, 25, 30, 53, 237, 2, 60, 54, 50, 56, 240, 1, 4, 99, 25, 2, 247, 0, 2, 4, 0, 1, 38, 0, 1, 250, 0, 33, 50, 51, 217, 73, 81, 56, 50, 56, 51, 57, 7, 1, 15, 157, 24, 4, 47, 49, 53, 1, 1, 38, 31, 52, 2, 2, 89, 5, 4, 2, 23, 48, 167, 59, 48, 49, 50, 49, 151, 73, 48, 57, 51, 56, 118, 26, 35, 51, 56, 142, 27, 2, 253, 0, 17, 51, 2, 0, 2, 56, 0, 1, 142, 28, 1, 23, 1, 11, 155, 24, 46, 51, 57, 199, 0, 15, 246, 1, 21, 47, 49, 52, 61, 1, 16, 26, 54, 113, 1, 15, 1, 1, 19, 2, 69, 27, 8, 1, 1, 2, 0, 2, 25, 56, 241, 2, 15, 127, 31, 2, 41, 50, 56, 2, 0, 23, 55, 1, 1, 31, 51, 2, 0, 2, 63, 55, 51, 57, 131, 79, 5, 42, 48, 48, 136, 0, 40, 49, 53, 245, 0, 79, 49, 53, 49, 52, 61, 1, 14, 0, 148, 0, 9, 114, 1, 31, 10, 115, 2, 35, 8, 102, 28, 46, 48, 48, 123, 31, 2, 240, 3, 1, 10, 0, 15, 255, 0, 0, 15, 2, 0, 8, 1, 30, 0, 1, 54, 4, 13, 57, 5, 25, 55, 1, 1, 2, 253, 0, 6, 203, 2, 0, 10, 0, 27, 53, 5, 3, 30, 55, 12, 0, 13, 31, 32, 95, 10, 50, 53, 49, 52, 93, 4, 35, 2, 239, 2, 10, 93, 0, 6, 236, 4, 65, 50, 51, 50, 49, 228, 2, 31, 56, 2, 0, 9, 40, 48, 54, 2, 0, 7, 24, 0, 11, 24, 3, 10, 38, 4, 18, 55, 240, 3, 23, 52, 1, 1, 1, 14, 0, 9, 2, 2, 15, 98, 4, 3, 14, 1, 1, 1, 53, 0, 31, 52, 116, 2, 0, 20, 54, 67, 82, 10, 93, 4, 31, 55, 93, 0, 8, 43, 50, 48, 207, 2, 29, 49, 189, 0, 15, 2, 0, 12, 34, 55, 48, 4, 0, 14, 169, 0, 15, 15, 1, 6, 31, 51, 235, 0, 21, 15, 2, 0, 3, 63, 10, 48, 51, 2, 0, 32, 7, 235, 2, 7, 245, 2, 31, 48, 210, 3, 0, 22, 49, 34, 0, 15, 2, 0, 131, 63, 10, 50, 50, 163, 0, 9, 7, 125, 72, 14, 28, 0, 3, 233, 2, 7, 245, 2, 14, 2, 0, 11, 5, 1, 14, 76, 0, 15, 1, 1, 111, 6, 197, 0, 14, 1, 0, 26, 48, 199, 0, 14, 240, 1, 15, 2, 0, 22, 10, 39, 1, 7, 112, 0, 15, 1, 1, 115, 15, 2, 0, 9, 25, 52, 8, 0, 17, 49, 2, 0, 14, 253, 0, 15, 2, 0, 39, 47, 50, 50, 1, 1, 136, 4, 253, 0, 15, 2, 0, 76, 15, 241, 0, 88, 7, 151, 30, 2, 1, 0, 31, 10, 243, 0, 7, 15, 253, 0, 144, 31, 48, 54, 35, 49, 14, 241, 0, 15, 242, 1, 149, 31, 48, 1, 1, 130, 47, 48, 50, 219, 2, 15, 15, 1, 1, 122, 5, 100, 186, 18, 49, 12, 9, 112, 49, 56, 53, 55, 48, 49, 99, 5, 0, 143, 102, 53, 55, 48, 50, 52, 53, 55, 20, 0, 0, 16, 54, 20, 0, 16, 54, 20, 0, 16, 54, 20, 0, 21, 54, 20, 0, 16, 53, 20, 0, 16, 53, 20, 0, 16, 53, 20, 0, 64, 53, 48, 49, 97, 5, 0, 18, 100, 20, 0, 16, 52, 20, 0, 16, 52, 20, 0, 16, 51, 20, 0, 16, 51, 20, 0, 108, 51, 48, 50, 51, 53, 51, 20, 0, 16, 49, 38, 17, 112, 49, 100, 53, 49, 48, 50, 49, 5, 0, 16, 52, 5, 0, 99, 51, 53, 49, 53, 10, 48, 48, 255, 80, 50, 52, 48, 52, 53, 179, 87, 17, 53, 145, 14, 32, 50, 56, 15, 0, 98, 98, 48, 52, 53, 48, 99, 20, 0, 2, 239, 14, 64, 53, 50, 57, 48, 1, 89, 84, 48, 49, 54, 50, 100, 20, 0, 97, 51, 48, 55, 53, 53, 51, 175, 95, 0, 100, 47, 0, 210, 10, 2, 60, 0, 0, 93, 60, 80, 54, 50, 54, 48, 51, 15, 0, 16, 50, 10, 0, 34, 52, 50, 80, 0, 21, 52, 80, 0, 21, 51, 100, 0, 49, 49, 48, 52, 15, 0, 52, 54, 49, 102, 20, 0, 150, 49, 99, 48, 52, 50, 49, 99, 48, 50, 169, 0, 96, 49, 56, 55, 52, 53, 49, 247, 16, 34, 49, 99, 5, 0, 64, 52, 53, 49, 100, 5, 0, 21, 56, 15, 0, 0, 250, 94, 48, 49, 97, 55, 209, 0, 0, 10, 0, 18, 100, 35, 0, 0, 145, 93, 0, 20, 0, 0, 92, 69, 1, 25, 0, 32, 50, 51, 15, 0, 21, 49, 50, 0, 21, 100, 45, 0, 0, 60, 0, 47, 49, 98, 80, 0, 0, 21, 50, 20, 0, 1, 30, 0, 21, 56, 120, 0, 20, 102, 40, 0, 5, 169, 0, 66, 51, 48, 53, 52, 22, 1, 6, 154, 81, 52, 51, 101, 54, 15, 0, 96, 99, 51, 48, 51, 49, 56, 20, 0, 0, 0, 97, 3, 34, 16, 15, 40, 0, 0, 0, 5, 0, 1, 40, 0, 255, 0, 50, 57, 53, 50, 54, 51, 50, 53, 49, 53, 50, 57, 53, 49, 53, 40, 0, 6, 36, 51, 48, 80, 0, 0, 15, 0, 22, 49, 40, 0, 86, 50, 52, 54, 48, 52, 45, 0, 5, 169, 0, 192, 48, 48, 52, 55, 53, 48, 99, 52, 55, 53, 49, 56, 10, 0, 1, 15, 0, 26, 97, 10, 0, 31, 99, 15, 0, 14, 32, 49, 49, 5, 0, 21, 51, 25, 0, 30, 99, 70, 0, 15, 80, 0, 2, 1, 60, 0, 20, 54, 15, 0, 36, 49, 54, 135, 0, 36, 49, 49, 30, 0, 7, 251, 1, 160, 48, 55, 50, 49, 97, 48, 55, 53, 49, 98, 10, 0, 16, 102, 5, 0, 16, 101, 15, 0, 16, 102, 5, 0, 19, 101, 20, 0, 48, 53, 50, 55, 5, 0, 96, 54, 48, 55, 55, 50, 52, 10, 0, 20, 48, 25, 0, 0, 55, 0, 21, 55, 65, 0, 18, 53, 80, 0, 48, 56, 48, 54, 5, 0, 16, 53, 5, 0, 16, 52, 5, 0, 47, 51, 53, 16, 22, 38, 4, 82, 1, 32, 99, 51, 94, 0, 80, 51, 55, 53, 50, 52, 10, 0, 16, 102, 5, 0, 32, 98, 51, 189, 0, 0, 5, 0, 66, 57, 51, 55, 49, 15, 0, 21, 56, 5, 0, 16, 55, 20, 0, 96, 54, 51, 53, 49, 49, 53, 25, 87, 33, 52, 51, 24, 87, 0, 244, 0, 85, 51, 48, 50, 49, 52, 5, 0, 20, 56, 5, 0, 3, 109, 13, 15, 5, 0, 34, 9, 169, 0, 30, 51, 74, 0, 15, 5, 0, 118, 5, 92, 17, 0, 221, 1, 49, 48, 49, 102, 206, 84, 0, 5, 0, 16, 97, 194, 13, 16, 52, 102, 5, 14, 123, 88, 15, 15, 28, 101, 1, 83, 1, 208, 50, 98, 55, 54, 48, 50, 101, 55, 53, 48, 51, 97, 55, 224, 91, 115, 55, 52, 48, 51, 55, 55, 51, 20, 0, 0, 111, 1, 4, 5, 0, 96, 50, 48, 51, 53, 55, 49, 30, 0, 16, 49, 45, 0, 16, 49, 20, 0, 4, 10, 0, 18, 99, 5, 0, 50, 48, 48, 51, 198, 99, 15, 5, 0, 54, 20, 10, 180, 9, 16, 50, 242, 76, 0, 22, 102, 48, 48, 49, 51, 5, 0, 16, 48, 186, 85, 112, 99, 54, 52, 48, 48, 101, 54, 120, 7, 48, 54, 50, 48, 145, 2, 48, 48, 48, 98, 5, 0, 16, 52, 5, 0, 16, 50, 121, 101, 96, 98, 54, 49, 48, 48, 56, 5, 0, 16, 51, 5, 0, 16, 55, 20, 0, 0, 195, 19, 32, 49, 51, 5, 0, 1, 94, 4, 20, 100, 10, 0, 32, 49, 49, 15, 0, 20, 101, 10, 0, 37, 49, 50, 20, 0, 33, 97, 54, 46, 86, 0, 198, 21, 17, 54, 17, 23, 1, 18, 19, 8, 5, 0, 6, 82, 1, 32, 50, 53, 72, 3, 0, 5, 0, 48, 55, 53, 54, 10, 0, 16, 53, 10, 0, 4, 5, 0, 32, 98, 53, 231, 5, 2, 61, 102, 49, 51, 53, 50, 57, 94, 21, 55, 5, 0, 16, 98, 5, 0, 133, 101, 53, 49, 53, 51, 48, 53, 49, 10, 0, 16, 48, 10, 0, 28, 48, 10, 0, 2, 5, 0, 16, 51, 20, 0, 20, 98, 25, 0, 7, 10, 0, 20, 101, 30, 0, 7, 40, 0, 0, 20, 0, 6, 82, 1, 0, 11, 7, 176, 50, 53, 48, 52, 51, 49, 54, 48, 50, 51, 49, 97, 6, 32, 48, 52, 15, 7, 31, 51, 164, 2, 116, 19, 49, 70, 42, 0, 120, 2, 192, 49, 54, 53, 55, 51, 49, 98, 53, 55, 53, 49, 100, 15, 0, 16, 49, 15, 0, 16, 51, 15, 0, 16, 54, 15, 0, 20, 98, 30, 0, 37, 50, 50, 15, 0, 16, 56, 30, 0, 16, 98, 15, 0, 108, 102, 53, 55, 51, 50, 52, 15, 0, 16, 54, 154, 6, 16, 54, 15, 0, 16, 54, 45, 0, 32, 54, 49, 169, 8, 1, 177, 1, 51, 51, 50, 98, 172, 1, 16, 49, 5, 0, 160, 51, 51, 48, 53, 51, 49, 51, 55, 53, 51, 72, 1, 0, 23, 100, 53, 53, 50, 49, 172, 1, 22, 51, 82, 1, 64, 98, 48, 55, 49, 206, 5, 16, 49, 176, 5, 16, 49, 176, 5, 17, 49, 162, 77, 0, 117, 90, 0, 98, 2, 66, 55, 49, 48, 52, 5, 0, 16, 54, 15, 0, 16, 54, 118, 9, 16, 54, 15, 0, 16, 53, 10, 0, 16, 53, 47, 43, 17, 52, 110, 43, 0, 5, 0, 17, 50, 86, 43, 0, 30, 0, 47, 49, 49, 82, 1, 60, 241, 16, 50, 101, 49, 55, 48, 50, 57, 49, 55, 48, 49, 55, 49, 55, 51, 49, 97, 49, 55, 49, 50, 51, 49, 54, 51, 49, 100, 49, 54, 49, 49, 208, 5, 176, 52, 49, 54, 49, 48, 99, 49, 50, 51, 48, 97, 63, 104, 1, 202, 0, 2, 226, 2, 15, 5, 0, 79, 0, 169, 0, 21, 52, 144, 10, 36, 50, 50, 139, 10, 36, 50, 50, 134, 10, 42, 49, 100, 10, 0, 1, 164, 10, 26, 54, 10, 0, 16, 51, 5, 0, 25, 49, 10, 0, 16, 48, 199, 10, 37, 48, 100, 20, 0, 3, 224, 10, 69, 54, 48, 49, 57, 184, 10, 0, 50, 3, 34, 50, 52, 5, 0, 0, 243, 16, 37, 53, 50, 10, 0, 4, 139, 10, 3, 10, 0, 1, 246, 3, 47, 49, 48, 1, 0, 143, 15, 169, 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, 108, 7, 100, 186, 247, 1, 49, 32, 48, 49, 52, 51, 52, 49, 52, 52, 10, 48, 48, 32, 48, 50, 12, 0, 48, 49, 48, 51, 253, 129, 100, 10, 48, 50, 32, 48, 50, 12, 0, 35, 48, 32, 198, 51, 15, 12, 0, 255, 255, 181, 5, 36, 187, 36, 150, 183, 36, 187, 111, 109, 97, 110, 100, 101, 108, 36, 187, 83, 24, 51, 36, 187, 2, 121, 0, 184, 98, 114, 111, 116, 32, 122, 111, 111, 109, 101, 114, 30, 187, 84, 115, 99, 97, 108, 101, 57, 166, 4, 32, 147, 36, 48, 10, 192, 146, 114, 48, 10, 111, 102, 102, 115, 101, 68, 182, 2, 6, 0, 148, 115, 104, 111, 119, 95, 105, 110, 115, 116, 121, 167, 15, 233, 149, 1, 19, 121, 231, 185, 1, 5, 152, 4, 49, 0, 5, 153, 145, 4, 240, 149, 1, 123, 146, 16, 32, 28, 149, 55, 55, 44, 48, 131, 145, 145, 40, 97, 41, 32, 40, 98, 41, 32, 58, 177, 0, 2, 148, 154, 49, 100, 32, 58, 3, 153, 2, 254, 145, 67, 32, 56, 44, 49, 132, 158, 1, 107, 0, 20, 56, 188, 150, 32, 10, 9, 230, 187, 32, 111, 119, 45, 146, 114, 32, 102, 105, 114, 115, 116, 10, 106, 153, 66, 32, 121, 61, 121, 92, 150, 17, 52, 68, 169, 23, 9, 28, 184, 4, 19, 0, 33, 9, 99, 140, 167, 32, 120, 45, 2, 161, 34, 42, 32, 28, 1, 18, 43, 3, 148, 1, 31, 0, 1, 146, 167, 31, 121, 31, 0, 0, 16, 121, 31, 0, 18, 122, 249, 185, 18, 122, 57, 1, 0, 48, 0, 0, 40, 147, 3, 201, 161, 4, 20, 0, 3, 193, 163, 64, 122, 120, 42, 122, 210, 157, 64, 122, 121, 42, 122, 27, 166, 17, 52, 236, 148, 9, 49, 0, 16, 60, 69, 150, 3, 153, 0, 80, 9, 116, 101, 109, 112, 95, 0, 1, 56, 0, 17, 45, 54, 0, 33, 43, 99, 149, 0, 129, 9, 122, 121, 61, 50, 42, 122, 120, 18, 0, 18, 121, 18, 0, 33, 120, 61, 48, 0, 46, 10, 9, 133, 0, 9, 15, 0, 0, 78, 156, 51, 9, 9, 9, 138, 180, 18, 112, 28, 183, 2, 23, 150, 40, 45, 40, 42, 0, 16, 37, 159, 152, 3, 41, 0, 2, 233, 166, 15, 84, 1, 18, 0, 230, 154, 16, 9, 146, 1, 160, 115, 104, 111, 117, 108, 100, 32, 119, 101, 32, 248, 1, 16, 63, 22, 0, 3, 33, 1, 0, 218, 162, 7, 249, 180, 34, 9, 9, 179, 154, 1, 174, 153, 2, 25, 0, 98, 32, 43, 32, 52, 44, 32, 213, 164, 33, 9, 9, 138, 176, 9, 32, 0, 32, 44, 32, 6, 159, 31, 52, 32, 0, 6, 3, 64, 0, 1, 36, 0, 1, 98, 0, 3, 200, 171, 1, 130, 0, 2, 199, 0, 16, 48, 185, 183, 4, 107, 1, 1, 130, 0, 39, 121, 48, 237, 177, 49, 32, 120, 48, 192, 188, 1, 227, 171, 1, 12, 0, 21, 48, 190, 181, 3, 209, 1, 33, 120, 48, 197, 1, 3, 67, 0, 2, 26, 0, 7, 79, 2, 63, 43, 120, 48, 82, 2, 2, 9, 85, 2, 63, 43, 121, 48, 88, 2, 0, 3, 39, 0, 13, 93, 2, 15, 96, 2, 4, 15, 99, 2, 39, 15, 102, 2, 11, 15, 105, 2, 2, 12, 108, 2, 15, 111, 2, 19, 4, 114, 2, 3, 218, 0, 2, 119, 2, 17, 43, 107, 185, 63, 43, 121, 48, 125, 2, 6, 0, 1, 0, 1, 125, 1, 38, 120, 48, 74, 0, 4, 135, 1, 3, 8, 0, 2, 37, 176, 2, 116, 2, 33, 102, 105, 133, 173, 37, 9, 9, 111, 4, 2, 220, 2, 48, 120, 43, 51, 106, 0, 49, 51, 44, 32, 186, 152, 5, 61, 0, 5, 221, 2, 47, 10, 9, 211, 157, 5, 54, 9, 10, 9, 51, 180, 23, 48, 132, 180, 4, 58, 5, 2, 8, 0, 19, 45, 196, 1, 50, 42, 32, 52, 158, 150, 5, 27, 181, 6, 238, 172, 10, 50, 0, 31, 43, 50, 0, 5, 26, 50, 50, 0, 19, 121, 50, 0, 31, 121, 100, 0, 7, 31, 51, 50, 0, 5, 12, 100, 0, 7, 203, 0, 23, 52, 203, 0, 4, 18, 6, 4, 45, 0, 58, 48, 46, 57, 97, 0, 5, 11, 175, 14, 44, 0, 35, 49, 46, 211, 181, 5, 237, 159, 20, 53, 120, 189, 1, 59, 0, 20, 105, 104, 0, 5, 20, 6, 2, 218, 175, 6, 20, 155, 17, 9, 117, 185, 0, 18, 3, 1, 236, 160, 0, 161, 156, 34, 51, 48, 212, 188, 2, 253, 160, 2, 231, 180, 2, 113, 0, 17, 60, 35, 164, 5, 153, 175, 6, 0, 164, 1, 182, 185, 80, 101, 114, 114, 111, 114, 108, 6, 82, 111, 118, 101, 114, 121, 32, 0, 162, 103, 97, 98, 108, 97, 114, 98, 108, 101, 40, 49, 178, 19, 9, 156, 161, 12, 194, 151, 22, 55, 17, 135, 31, 55, 194, 151, 15, 31, 48, 185, 139, 2, 19, 97, 95, 149, 5, 73, 139, 12, 96, 62, 20, 48, 235, 151, 4, 93, 149, 26, 54, 138, 123, 4, 86, 121, 15, 194, 151, 9, 31, 48, 3, 135, 0, 2, 112, 0, 16, 57, 130, 0, 33, 50, 53, 130, 0, 1, 127, 0, 37, 56, 55, 130, 0, 47, 54, 54, 129, 0, 15, 32, 53, 55, 222, 50, 0, 6, 0, 15, 194, 151, 9, 23, 48, 186, 126, 7, 210, 151, 4, 52, 140, 1, 27, 149, 167, 50, 50, 52, 98, 56, 102, 98, 51, 50, 56, 129, 0, 31, 54, 2, 1, 35, 12, 194, 151, 27, 48, 122, 122, 4, 81, 151, 51, 51, 98, 57, 129, 0, 2, 108, 146, 0, 125, 0, 0, 67, 138, 7, 129, 0, 31, 54, 129, 0, 2, 3, 104, 65, 22, 10, 10, 139, 2, 7, 0, 15, 192, 150, 7, 31, 55, 129, 0, 4, 2, 132, 1, 1, 194, 47, 48, 50, 52, 48, 16, 0, 42, 101, 55, 129, 0, 31, 54, 129, 0, 2, 2, 24, 0, 37, 10, 55, 42, 139, 1, 7, 0, 31, 55, 194, 151, 5, 34, 48, 102, 128, 0, 19, 102, 132, 0, 4, 210, 151, 4, 176, 145, 2, 111, 147, 32, 52, 48, 185, 2, 32, 50, 101, 129, 0, 0, 231, 153, 4, 121, 0, 15, 129, 0, 8, 54, 48, 55, 55, 129, 0, 47, 55, 55, 2, 1, 6, 2, 190, 154, 9, 6, 1, 1, 82, 55, 4, 50, 146, 6, 129, 0, 2, 18, 0, 34, 48, 49, 147, 148, 3, 120, 0, 15, 129, 0, 3, 3, 76, 49, 3, 143, 129, 2, 150, 129, 15, 194, 151, 5, 2, 54, 142, 40, 102, 102, 21, 145, 21, 101, 187, 139, 18, 98, 19, 1, 38, 52, 52, 16, 0, 71, 49, 49, 100, 100, 121, 0, 15, 129, 0, 3, 16, 54, 128, 46, 2, 169, 149, 38, 98, 98, 75, 1, 1, 120, 0, 3, 208, 62, 4, 11, 140, 15, 56, 68, 17, 15, 20, 0, 0, 3, 99, 153, 44, 54, 54, 51, 144, 3, 129, 0, 32, 100, 10, 186, 0, 5, 129, 0, 48, 97, 98, 98, 116, 46, 1, 129, 0, 31, 50, 129, 0, 30, 15, 27, 125, 0, 63, 100, 100, 54, 129, 0, 14, 16, 49, 130, 55, 71, 52, 48, 98, 97, 77, 2, 1, 2, 1, 17, 53, 212, 1, 15, 129, 0, 23, 0, 214, 134, 14, 128, 0, 32, 54, 54, 132, 0, 4, 130, 0, 42, 54, 54, 129, 0, 0, 192, 150, 27, 50, 131, 1, 3, 18, 1, 3, 212, 1, 31, 52, 129, 0, 24, 61, 56, 57, 57, 128, 1, 6, 122, 0, 31, 54, 129, 0, 0, 1, 65, 151, 3, 244, 1, 44, 98, 98, 2, 1, 0, 187, 147, 47, 53, 52, 131, 1, 40, 7, 255, 1, 3, 240, 0, 31, 54, 129, 0, 1, 7, 2, 1, 25, 97, 2, 1, 2, 219, 4, 24, 49, 1, 0, 16, 100, 33, 117, 6, 12, 0, 8, 26, 0, 15, 128, 2, 3, 5, 120, 0, 5, 6, 3, 14, 131, 1, 73, 49, 53, 52, 50, 2, 1, 22, 53, 6, 3, 22, 52, 4, 2, 47, 49, 100, 123, 0, 4, 3, 16, 0, 15, 128, 2, 2, 12, 132, 3, 15, 129, 0, 1, 1, 38, 53, 63, 50, 52, 52, 4, 2, 1, 24, 52, 129, 0, 11, 116, 0, 2, 134, 0, 4, 18, 1, 47, 100, 100, 0, 3, 2, 15, 129, 0, 14, 31, 54, 194, 151, 24, 15, 233, 107, 36, 12, 8, 4, 10, 209, 4, 47, 55, 55, 194, 151, 22, 15, 128, 0, 40, 9, 129, 0, 5, 132, 160, 5, 129, 0, 15, 194, 151, 20, 15, 1, 1, 44, 15, 2, 1, 7, 15, 194, 151, 26, 15, 0, 1, 34, 10, 129, 0, 12, 198, 145, 15, 194, 151, 16, 25, 53, 194, 151, 15, 128, 0, 31, 15, 2, 1, 12, 15, 194, 151, 29, 15, 128, 0, 25, 4, 254, 4, 15, 2, 1, 9, 15, 194, 151, 18, 23, 53, 194, 151, 15, 0, 1, 25, 7, 128, 0, 15, 129, 0, 7, 15, 194, 151, 29, 15, 128, 0, 22, 4, 115, 0, 47, 54, 54, 131, 1, 11, 31, 48, 1, 0, 108, 15, 129, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 31, 49, 129, 0, 109, 47, 98, 99, 129, 0, 107, 0, 60, 35, 5, 51, 80, 15, 15, 1, 95, 160, 10, 99, 98, 99, 100, 102, 98, 102, 48, 48, 4, 0, 14, 223, 168, 15, 2, 1, 87, 2, 7, 0, 47, 50, 50, 129, 0, 94, 48, 100, 100, 99, 3, 0, 2, 9, 1, 63, 99, 98, 99, 193, 83, 97, 18, 48, 246, 183, 14, 11, 126, 15, 2, 1, 84, 2, 207, 27, 2, 9, 1, 14, 8, 32, 15, 137, 4, 81, 14, 255, 2, 15, 2, 1, 96, 5, 1, 0, 15, 2, 1, 102, 31, 48, 2, 1, 255, 255, 255, 255, 255, 255, 255, 138, 15, 48, 24, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 129, 4, 255, 198, 2, 8, 0, 4, 155, 57, 6, 120, 60, 4, 251, 58, 2, 157, 136, 4, 20, 205, 0, 165, 211, 30, 54, 3, 184, 15, 177, 24, 34, 3, 255, 198, 2, 8, 0, 6, 129, 0, 4, 120, 60, 50, 49, 52, 52, 32, 0, 1, 8, 0, 6, 129, 0, 10, 58, 53, 15, 2, 1, 55, 3, 91, 0, 6, 2, 208, 11, 2, 1, 18, 49, 24, 0, 14, 134, 55, 15, 129, 0, 36, 33, 102, 56, 1, 0, 20, 102, 8, 0, 12, 28, 54, 2, 30, 191, 4, 38, 191, 59, 57, 52, 53, 1, 0, 15, 2, 1, 48, 22, 56, 118, 59, 62, 56, 48, 48, 157, 54, 4, 231, 182, 1, 167, 190, 31, 53, 129, 0, 64, 8, 198, 197, 18, 101, 129, 0, 24, 53, 129, 0, 3, 25, 192, 18, 97, 34, 192, 2, 128, 1, 15, 129, 0, 59, 1, 3, 0, 3, 206, 54, 30, 52, 2, 1, 2, 109, 183, 3, 255, 149, 31, 56, 2, 1, 64, 21, 52, 126, 0, 47, 48, 48, 131, 1, 1, 25, 56, 125, 150, 15, 129, 0, 62, 9, 194, 151, 21, 49, 2, 0, 28, 50, 98, 151, 7, 26, 0, 2, 72, 127, 27, 50, 99, 24, 4, 32, 0, 47, 49, 48, 1, 0, 132, 15, 194, 151, 255, 255, 255, 31, 63, 53, 48, 54, 1, 1, 231, 15, 3, 3, 255, 24, 31, 50, 1, 1, 237, 31, 48, 1, 1, 196, 11, 0, 4, 15, 194, 151, 23, 31, 50, 4, 4, 255, 198, 14, 18, 6, 15, 1, 1, 217, 15, 14, 75, 11, 12, 41, 74, 15, 1, 1, 192, 6, 5, 1, 14, 25, 76, 44, 51, 51, 50, 216, 0, 8, 0, 15, 1, 1, 175, 15, 8, 8, 255, 15, 14, 20, 4, 15, 10, 10, 255, 230, 14, 10, 2, 15, 2, 2, 255, 23, 4, 15, 208, 14, 81, 1, 14, 99, 1, 15, 1, 1, 124, 15, 87, 154, 49, 14, 63, 174, 15, 92, 2, 0, 15, 2, 2, 131, 21, 56, 129, 215, 15, 124, 0, 56, 15, 163, 210, 3, 15, 1, 1, 129, 2, 255, 0, 15, 3, 1, 67, 15, 97, 176, 23, 31, 52, 123, 1, 72, 14, 194, 151, 15, 255, 0, 2, 8, 3, 1, 15, 19, 3, 23, 9, 147, 230, 15, 43, 1, 42, 14, 185, 0, 15, 109, 158, 26, 3, 35, 234, 2, 6, 0, 4, 84, 0, 15, 194, 151, 18, 5, 255, 0, 47, 49, 57, 19, 3, 17, 15, 49, 178, 60, 21, 51, 115, 14, 53, 52, 48, 51, 18, 0, 10, 80, 0, 8, 30, 2, 8, 225, 0, 14, 144, 0, 15, 217, 148, 8, 15, 1, 1, 6, 33, 49, 57, 92, 155, 12, 255, 0, 15, 19, 3, 7, 30, 50, 194, 151, 15, 94, 141, 40, 21, 50, 173, 0, 1, 241, 136, 3, 18, 0, 30, 50, 16, 150, 15, 192, 149, 47, 15, 1, 0, 8, 43, 49, 51, 20, 2, 8, 17, 1, 12, 236, 219, 31, 50, 194, 151, 3, 15, 31, 3, 6, 14, 222, 3, 31, 52, 79, 1, 5, 14, 209, 0, 15, 189, 146, 56, 45, 48, 98, 141, 0, 5, 151, 86, 20, 49, 196, 151, 2, 67, 132, 47, 57, 49, 95, 2, 9, 6, 210, 149, 15, 194, 151, 8, 15, 192, 1, 20, 15, 207, 146, 48, 15, 194, 151, 255, 42, 8, 91, 150, 15, 194, 151, 214, 11, 213, 0, 4, 173, 150, 15, 194, 151, 255, 3, 14, 253, 0, 15, 194, 151, 255, 188, 31, 51, 194, 151, 255, 53, 8, 199, 150, 15, 194, 151, 192, 15, 185, 4, 45, 15, 1, 1, 164, 46, 48, 50, 253, 0, 15, 3, 1, 175, 15, 1, 1, 26, 15, 253, 0, 189, 14, 1, 1, 10, 186, 3, 15, 1, 0, 18, 31, 48, 1, 0, 172, 31, 10, 237, 0, 7, 15, 1, 1, 213, 14, 1, 0, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 4, 47, 48, 101, 1, 1, 237, 15, 1, 0, 12, 15, 1, 1, 238, 14, 9, 1, 15, 1, 1, 255, 228, 15, 3, 3, 236, 15, 4, 4, 255, 204, 7, 226, 183, 176, 50, 48, 52, 49, 102, 51, 99, 48, 55, 48, 51, 132, 202, 16, 51, 48, 121, 32, 51, 53, 5, 0, 16, 51, 5, 0, 21, 54, 15, 0, 16, 55, 52, 196, 17, 53, 57, 196, 0, 91, 66, 16, 100, 5, 0, 16, 57, 5, 0, 48, 56, 48, 53, 10, 0, 0, 211, 183, 0, 5, 0, 49, 101, 48, 53, 70, 176, 0, 57, 176, 16, 53, 6, 177, 19, 52, 5, 0, 16, 97, 58, 0, 16, 102, 25, 218, 16, 98, 118, 40, 20, 55, 5, 0, 17, 49, 20, 0, 16, 53, 5, 0, 0, 2, 31, 34, 49, 53, 184, 66, 0, 242, 180, 2, 34, 180, 24, 49, 231, 181, 16, 53, 81, 181, 18, 53, 140, 130, 8, 5, 0, 15, 20, 0, 25, 0, 246, 173, 17, 53, 40, 176, 15, 80, 0, 42, 21, 53, 20, 0, 20, 102, 85, 0, 7, 231, 181, 96, 50, 55, 50, 49, 98, 50, 34, 0, 33, 50, 50, 10, 0, 48, 50, 49, 102, 36, 174, 4, 25, 0, 0, 15, 0, 16, 55, 44, 38, 16, 55, 48, 121, 80, 55, 52, 50, 55, 50, 199, 176, 0, 243, 177, 64, 57, 50, 55, 51, 15, 0, 0, 176, 37, 67, 55, 50, 50, 55, 35, 0, 2, 50, 0, 69, 48, 99, 50, 49, 10, 0, 1, 75, 0, 68, 50, 50, 49, 100, 30, 0, 1, 10, 0, 37, 50, 50, 15, 0, 66, 98, 50, 55, 49, 30, 0, 68, 56, 50, 55, 49, 70, 0, 44, 50, 49, 62, 181, 9, 186, 183, 69, 50, 52, 54, 55, 226, 183, 18, 55, 226, 183, 0, 198, 182, 15, 40, 0, 8, 5, 186, 183, 14, 80, 0, 15, 40, 0, 13, 86, 49, 56, 54, 55, 49, 40, 0, 0, 5, 0, 15, 226, 183, 163, 31, 48, 49, 55, 255, 61, 15, 226, 183, 148, 15, 241, 177, 150, 15, 169, 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, 99, 7, 226, 183, 1, 202, 183, 4, 139, 87, 2, 12, 0, 31, 51, 12, 0, 14, 1, 21, 86, 5, 12, 0, 63, 51, 48, 52, 36, 0, 2, 4, 24, 0, 6, 31, 1, 15, 12, 0, 255, 255, 129, 5, 226, 183, 36, 18, 147, 226, 183, 207, 98, 117, 116, 116, 101, 114, 102, 108, 121, 46, 112, 56, 226, 183, 77, 23, 52, 226, 183, 160, 116, 114, 97, 110, 115, 100, 105, 109, 101, 110, 27, 0, 53, 97, 108, 32, 137, 0, 52, 10, 45, 45, 233, 183, 97, 99, 108, 115, 40, 41, 10, 190, 3, 67, 40, 48, 41, 10, 205, 183, 16, 100, 131, 178, 63, 45, 52, 48, 236, 178, 0, 0, 117, 177, 97, 43, 61, 32, 49, 10, 32, 37, 0, 80, 109, 105, 110, 40, 100, 169, 178, 140, 48, 46, 49, 44, 32, 54, 52, 41, 36, 179, 3, 252, 183, 0, 158, 177, 84, 100, 120, 62, 54, 51, 37, 178, 2, 121, 0, 1, 45, 0, 114, 115, 114, 97, 110, 100, 40, 48, 37, 0, 114, 116, 37, 56, 41, 61, 61, 48, 16, 178, 1, 37, 0, 2, 6, 178, 148, 120, 61, 123, 125, 32, 121, 61, 123, 125, 69, 178, 18, 49, 155, 181, 240, 14, 32, 32, 120, 91, 105, 93, 61, 54, 52, 43, 99, 111, 115, 40, 105, 47, 51, 43, 116, 42, 48, 46, 48, 48, 50, 41, 42, 54, 48, 8, 184, 3, 30, 0, 62, 115, 105, 110, 30, 0, 1, 90, 0, 244, 6, 10, 32, 110, 61, 48, 10, 32, 108, 111, 99, 97, 108, 32, 120, 48, 61, 120, 91, 49, 93, 32, 16, 0, 118, 121, 48, 61, 121, 91, 49, 93, 117, 0, 50, 53, 49, 50, 119, 0, 144, 110, 61, 102, 108, 114, 40, 114, 110, 100, 91, 179, 32, 43, 49, 137, 0, 112, 48, 61, 40, 120, 91, 110, 93, 214, 181, 33, 47, 50, 132, 184, 48, 61, 40, 121, 17, 0, 19, 121, 17, 0, 2, 84, 0, 160, 99, 111, 108, 61, 56, 43, 40, 116, 47, 52, 178, 180, 0, 66, 0, 80, 49, 41, 41, 37, 56, 233, 184, 1, 244, 180, 129, 48, 45, 49, 54, 44, 121, 48, 44, 136, 180, 3, 21, 0, 120, 49, 50, 56, 45, 120, 48, 43, 25, 0, 3, 189, 0, 128, 120, 48, 61, 48, 32, 120, 61, 49, 12, 0, 1, 227, 181, 130, 40, 120, 32, 60, 32, 100, 120, 41, 167, 0, 2, 144, 183, 1, 124, 183, 2, 17, 0, 1, 127, 0, 3, 35, 183, 16, 121, 96, 0, 20, 32, 91, 183, 53, 62, 32, 48, 195, 179, 2, 45, 183, 112, 61, 32, 56, 32, 43, 32, 40, 30, 0, 114, 45, 56, 41, 43, 120, 47, 53, 168, 0, 2, 124, 0, 244, 0, 32, 32, 108, 105, 110, 101, 40, 120, 48, 44, 121, 44, 120, 44, 121, 176, 0, 2, 22, 0, 2, 177, 0, 49, 44, 121, 44, 9, 0, 7, 30, 0, 20, 10, 62, 0, 2, 181, 181, 0, 9, 0, 0, 8, 0, 18, 43, 163, 1, 114, 120, 47, 52, 48, 41, 42, 50, 222, 0, 1, 30, 2, 6, 126, 179, 15, 102, 167, 107, 15, 129, 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, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 9, 126, 179, 15, 1, 0, 64, 15, 55, 110, 255, 63, 31, 48, 126, 179, 255, 78, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 5, 94, 147, 15, 200, 105, 148, 11, 99, 145, 36, 48, 50, 99, 145, 39, 99, 52, 10, 0, 144, 48, 48, 99, 50, 51, 49, 48, 97, 49, 173, 145, 0, 15, 0, 1, 5, 0, 4, 35, 0, 0, 30, 0, 5, 79, 145, 96, 49, 55, 49, 49, 56, 49, 75, 0, 19, 49, 80, 0, 0, 194, 143, 18, 50, 15, 0, 67, 99, 52, 55, 50, 20, 0, 34, 49, 55, 15, 147, 35, 48, 48, 70, 0, 21, 54, 35, 0, 16, 53, 65, 0, 1, 40, 0, 17, 54, 50, 0, 1, 15, 0, 6, 94, 147, 20, 55, 17, 144, 208, 49, 102, 51, 55, 50, 50, 98, 48, 50, 53, 51, 98, 54, 54, 0, 9, 42, 144, 6, 15, 0, 242, 3, 49, 56, 51, 48, 51, 50, 98, 51, 48, 53, 51, 48, 54, 55, 53, 51, 99, 51, 124, 0, 22, 51, 40, 0, 2, 35, 0, 18, 52, 40, 0, 65, 51, 50, 51, 57, 141, 146, 80, 51, 48, 53, 49, 102, 132, 148, 10, 40, 0, 67, 51, 99, 54, 48, 10, 0, 0, 120, 0, 0, 72, 189, 64, 53, 51, 57, 54, 208, 146, 23, 51, 82, 1, 176, 49, 56, 53, 55, 54, 50, 52, 55, 54, 54, 50, 28, 218, 128, 49, 56, 55, 52, 50, 50, 52, 55, 124, 0, 32, 53, 54, 10, 0, 197, 53, 53, 50, 54, 53, 52, 50, 49, 56, 55, 55, 53, 40, 0, 16, 54, 40, 0, 129, 53, 50, 52, 53, 55, 50, 49, 97, 20, 0, 5, 40, 0, 16, 98, 40, 0, 48, 55, 55, 54, 45, 148, 16, 53, 15, 0, 176, 52, 53, 50, 55, 53, 55, 50, 50, 54, 55, 54, 25, 0, 117, 53, 50, 50, 57, 55, 52, 55, 120, 0, 0, 85, 0, 0, 95, 0, 18, 53, 95, 0, 0, 40, 0, 0, 95, 0, 137, 53, 52, 53, 50, 50, 55, 55, 50, 169, 0, 16, 50, 114, 0, 3, 119, 0, 30, 56, 10, 0, 82, 50, 54, 53, 55, 54, 15, 0, 16, 54, 15, 0, 99, 55, 53, 55, 49, 49, 98, 10, 0, 22, 53, 10, 0, 32, 50, 57, 15, 0, 16, 102, 15, 0, 19, 98, 15, 0, 16, 49, 15, 0, 51, 53, 50, 98, 25, 0, 1, 20, 0, 1, 30, 0, 17, 54, 40, 0, 120, 49, 100, 53, 55, 55, 49, 98, 55, 0, 17, 55, 70, 0, 32, 50, 99, 15, 0, 70, 101, 53, 55, 54, 164, 2, 1, 118, 147, 96, 52, 51, 53, 50, 49, 52, 146, 148, 64, 56, 51, 53, 53, 10, 0, 131, 53, 48, 56, 51, 52, 50, 49, 51, 30, 0, 16, 53, 40, 0, 144, 55, 49, 52, 52, 54, 51, 49, 52, 51, 30, 0, 18, 52, 50, 0, 96, 54, 48, 56, 52, 54, 54, 20, 0, 66, 50, 49, 54, 52, 40, 0, 99, 50, 49, 52, 51, 52, 55, 80, 0, 1, 40, 0, 18, 51, 60, 0, 0, 85, 0, 116, 55, 54, 49, 52, 52, 53, 50, 40, 0, 17, 54, 50, 0, 16, 51, 20, 0, 17, 53, 70, 0, 65, 48, 56, 52, 52, 17, 148, 1, 40, 0, 6, 2, 150, 34, 48, 53, 31, 148, 0, 142, 220, 0, 39, 0, 49, 53, 52, 54, 46, 148, 0, 10, 0, 19, 53, 136, 148, 0, 145, 149, 6, 40, 0, 0, 10, 0, 66, 50, 49, 49, 51, 40, 0, 16, 55, 40, 0, 66, 54, 49, 49, 49, 139, 0, 19, 54, 40, 0, 37, 51, 53, 50, 0, 25, 52, 80, 0, 0, 218, 149, 1, 179, 0, 20, 53, 33, 1, 3, 10, 0, 0, 120, 0, 1, 248, 149, 34, 49, 52, 43, 1, 0, 249, 0, 23, 52, 169, 0, 0, 44, 2, 80, 48, 99, 53, 52, 52, 200, 150, 48, 54, 49, 54, 10, 0, 11, 20, 0, 31, 52, 20, 0, 0, 31, 51, 20, 0, 20, 15, 60, 0, 1, 31, 54, 60, 0, 13, 18, 53, 20, 0, 39, 98, 53, 169, 0, 32, 49, 51, 126, 3, 25, 51, 226, 3, 66, 51, 55, 54, 55, 116, 3, 143, 50, 98, 52, 55, 53, 51, 55, 52, 5, 4, 3, 6, 40, 0, 9, 20, 4, 1, 246, 3, 15, 80, 0, 44, 17, 102, 25, 151, 8, 246, 3, 4, 72, 3, 81, 50, 53, 50, 52, 48, 46, 152, 0, 20, 0, 18, 48, 72, 3, 2, 16, 220, 11, 10, 0, 1, 30, 0, 16, 51, 86, 152, 15, 40, 0, 1, 6, 70, 0, 36, 51, 48, 30, 0, 6, 50, 0, 15, 80, 0, 1, 41, 51, 48, 120, 0, 1, 40, 0, 6, 60, 0, 5, 166, 152, 240, 4, 51, 48, 49, 55, 54, 50, 101, 50, 54, 54, 50, 101, 52, 53, 54, 50, 98, 51, 52, 5, 0, 112, 55, 54, 50, 57, 52, 54, 54, 79, 4, 96, 54, 50, 55, 49, 52, 54, 216, 3, 16, 54, 136, 152, 32, 54, 50, 139, 2, 80, 50, 52, 51, 54, 54, 64, 4, 65, 54, 50, 50, 49, 196, 3, 144, 54, 54, 49, 102, 50, 54, 54, 49, 100, 7, 3, 16, 100, 52, 3, 48, 98, 55, 54, 191, 1, 0, 5, 0, 0, 35, 0, 32, 56, 50, 246, 1, 0, 122, 3, 144, 54, 51, 54, 54, 49, 51, 55, 55, 54, 49, 153, 112, 54, 48, 102, 49, 54, 54, 48, 60, 0, 0, 231, 5, 16, 54, 40, 6, 191, 54, 48, 99, 55, 54, 54, 48, 97, 53, 54, 54, 94, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 29, 101, 52, 50, 48, 51, 52, 52, 12, 0, 16, 52, 12, 0, 20, 49, 34, 147, 22, 56, 82, 147, 3, 36, 0, 53, 53, 48, 56, 24, 0, 16, 53, 48, 0, 3, 12, 0, 38, 54, 48, 72, 0, 2, 12, 0, 23, 97, 106, 147, 19, 57, 12, 0, 0, 60, 0, 5, 24, 0, 21, 52, 120, 0, 16, 48, 79, 40, 2, 12, 0, 55, 56, 48, 54, 12, 0, 0, 49, 187, 5, 36, 0, 0, 19, 39, 55, 10, 48, 50, 12, 0, 85, 48, 32, 52, 49, 52, 72, 0, 15, 12, 0, 255, 255, 32, 5, 94, 147, 36, 117, 145, 94, 147, 110, 115, 116, 111, 109, 112, 121, 88, 147, 15, 94, 147, 75, 13, 50, 147, 1, 122, 145, 240, 1, 32, 40, 110, 111, 116, 32, 98, 116, 110, 40, 52, 41, 32, 97, 110, 100, 236, 144, 1, 1, 0, 4, 23, 0, 32, 53, 41, 150, 145, 20, 32, 119, 147, 245, 0, 112, 114, 105, 110, 116, 40, 34, 34, 44, 48, 44, 52, 48, 44, 55, 17, 0, 130, 112, 108, 97, 121, 105, 110, 103, 32, 220, 0, 22, 34, 24, 0, 65, 114, 101, 115, 115, 199, 147, 80, 111, 110, 32, 116, 111, 32, 0, 82, 112, 34, 41, 10, 10, 156, 146, 64, 56, 44, 49, 52, 227, 145, 147, 114, 101, 99, 116, 102, 105, 108, 108, 40, 20, 147, 112, 116, 42, 105, 47, 49, 53, 48, 242, 146, 84, 44, 32, 56, 48, 44, 149, 0, 42, 32, 32, 33, 0, 50, 43, 48, 46, 24, 147, 56, 44, 32, 57, 38, 0, 18, 105, 167, 147, 0, 232, 0, 17, 116, 233, 147, 100, 50, 10, 102, 108, 105, 112, 190, 147, 2, 10, 1, 161, 45, 49, 44, 53, 48, 48, 41, 32, 45, 45, 150, 0, 33, 115, 32, 23, 0, 63, 10, 10, 10, 193, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 21, 20, 49, 245, 139, 80, 50, 55, 48, 50, 57, 5, 0, 64, 54, 50, 53, 48, 235, 138, 48, 48, 49, 56, 5, 0, 96, 49, 50, 54, 48, 48, 97, 5, 0, 16, 53, 5, 0, 16, 51, 5, 0, 18, 48, 5, 0, 21, 53, 5, 0, 31, 48, 5, 0, 77, 7, 193, 145, 19, 51, 88, 145, 1, 68, 145, 5, 123, 145, 49, 53, 48, 99, 31, 140, 10, 25, 0, 37, 97, 51, 15, 0, 20, 53, 55, 0, 5, 50, 0, 0, 158, 139, 53, 53, 48, 51, 50, 0, 1, 70, 0, 21, 51, 228, 145, 34, 51, 53, 233, 145, 3, 25, 0, 0, 133, 144, 0, 178, 141, 48, 53, 48, 102, 30, 0, 16, 53, 25, 0, 17, 102, 25, 0, 19, 52, 25, 0, 0, 161, 142, 7, 203, 141, 0, 68, 141, 48, 50, 98, 54, 103, 141, 34, 53, 48, 10, 0, 1, 153, 145, 1, 10, 0, 0, 237, 145, 48, 51, 51, 99, 86, 141, 16, 57, 25, 0, 65, 98, 54, 52, 52, 10, 0, 2, 227, 0, 17, 48, 123, 141, 0, 251, 0, 70, 98, 54, 51, 53, 80, 0, 50, 48, 99, 48, 240, 140, 27, 51, 40, 0, 34, 48, 99, 80, 0, 47, 55, 53, 80, 0, 11, 1, 243, 145, 10, 19, 147, 1, 164, 145, 0, 227, 141, 32, 53, 50, 101, 144, 18, 50, 69, 145, 0, 94, 143, 19, 52, 25, 0, 52, 49, 49, 98, 39, 147, 0, 10, 0, 18, 49, 50, 0, 16, 51, 126, 144, 17, 54, 185, 146, 4, 25, 0, 1, 4, 147, 0, 79, 145, 0, 235, 144, 96, 53, 55, 49, 100, 53, 51, 10, 0, 64, 49, 55, 50, 50, 20, 0, 25, 102, 20, 0, 1, 19, 145, 32, 50, 50, 20, 0, 25, 102, 20, 0, 2, 40, 0, 20, 56, 20, 0, 6, 251, 1, 32, 51, 53, 1, 146, 2, 194, 1, 1, 10, 0, 240, 4, 54, 50, 51, 53, 49, 50, 53, 50, 57, 50, 52, 50, 50, 97, 49, 50, 50, 50, 57, 1, 142, 224, 57, 48, 50, 52, 50, 57, 51, 53, 53, 50, 55, 48, 55, 55, 213, 141, 48, 53, 50, 52, 133, 0, 0, 190, 145, 33, 50, 50, 143, 145, 0, 189, 0, 0, 191, 1, 0, 111, 146, 49, 50, 49, 98, 179, 0, 19, 50, 148, 147, 33, 49, 54, 209, 0, 1, 64, 145, 0, 201, 146, 16, 51, 50, 0, 16, 51, 166, 144, 0, 30, 2, 1, 146, 144, 0, 180, 144, 16, 55, 246, 144, 1, 251, 1, 16, 50, 196, 144, 7, 111, 144, 34, 99, 55, 71, 146, 0, 230, 146, 1, 237, 143, 0, 89, 0, 2, 19, 147, 0, 79, 2, 11, 10, 0, 56, 55, 55, 53, 35, 0, 11, 15, 0, 4, 10, 0, 1, 84, 147, 38, 50, 52, 15, 0, 9, 10, 0, 3, 114, 147, 15, 25, 0, 6, 4, 10, 0, 10, 29, 143, 1, 145, 148, 64, 49, 98, 49, 54, 174, 0, 115, 53, 54, 49, 98, 50, 52, 54, 20, 0, 0, 195, 142, 17, 100, 20, 0, 16, 55, 20, 0, 0, 225, 142, 16, 100, 255, 142, 16, 56, 178, 145, 50, 100, 51, 52, 219, 0, 33, 49, 100, 24, 143, 16, 49, 20, 0, 80, 52, 52, 54, 49, 97, 4, 143, 16, 100, 24, 143, 32, 102, 51, 20, 0, 16, 53, 20, 0, 1, 49, 143, 16, 49, 79, 143, 16, 50, 20, 0, 0, 80, 0, 17, 97, 24, 147, 1, 99, 143, 0, 80, 0, 48, 102, 49, 52, 95, 0, 0, 20, 0, 0, 12, 148, 48, 50, 53, 53, 129, 143, 39, 52, 54, 169, 0, 44, 49, 55, 5, 0, 1, 252, 143, 15, 5, 0, 116, 7, 251, 1, 3, 242, 149, 4, 227, 149, 1, 56, 148, 3, 31, 144, 16, 53, 119, 2, 2, 31, 148, 15, 40, 0, 5, 31, 53, 40, 0, 5, 24, 55, 50, 0, 15, 10, 0, 3, 0, 100, 0, 96, 53, 54, 48, 99, 49, 51, 10, 0, 18, 49, 182, 1, 144, 50, 52, 50, 53, 54, 51, 48, 49, 51, 10, 0, 24, 49, 82, 1, 32, 55, 55, 235, 108, 24, 55, 10, 0, 20, 102, 10, 0, 0, 250, 144, 144, 48, 50, 98, 55, 55, 48, 51, 48, 55, 170, 148, 0, 5, 0, 16, 98, 5, 0, 16, 52, 248, 2, 25, 100, 10, 0, 0, 55, 0, 1, 143, 149, 16, 48, 50, 4, 0, 55, 6, 0, 10, 0, 0, 167, 1, 20, 102, 20, 0, 0, 122, 3, 64, 48, 50, 98, 49, 80, 0, 80, 53, 55, 54, 51, 53, 109, 145, 0, 29, 149, 0, 4, 149, 3, 43, 3, 18, 100, 34, 147, 2, 48, 3, 15, 24, 145, 151, 15, 193, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 1, 2, 0, 5, 37, 145, 23, 53, 12, 0, 31, 51, 12, 0, 4, 31, 52, 24, 0, 0, 23, 56, 72, 0, 57, 56, 48, 57, 84, 0, 63, 56, 48, 57, 12, 0, 1, 70, 52, 49, 48, 54, 145, 145, 2, 24, 0, 23, 52, 144, 0, 15, 12, 0, 255, 255, 80, 5, 193, 145, 21, 192, 193, 145, 62, 119, 111, 111, 190, 145, 15, 193, 145, 179, 15, 186, 145, 128, 242, 3, 10, 105, 102, 32, 40, 102, 97, 108, 115, 101, 41, 32, 116, 104, 101, 110, 10, 32, 131, 0, 48, 48, 44, 51, 130, 0, 34, 32, 32, 177, 0, 186, 115, 116, 97, 116, 40, 49, 54, 43, 105, 41, 41, 20, 0, 34, 50, 48, 20, 0, 0, 88, 0, 1, 255, 145, 15, 11, 146, 22, 15, 12, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 26, 31, 49, 178, 1, 147, 4, 109, 141, 16, 55, 123, 145, 34, 55, 51, 141, 144, 17, 53, 158, 143, 1, 15, 0, 36, 48, 55, 15, 0, 36, 49, 51, 15, 0, 36, 48, 55, 15, 0, 36, 49, 51, 15, 0, 12, 60, 0, 20, 53, 208, 145, 7, 60, 0, 1, 223, 145, 26, 53, 60, 0, 20, 53, 45, 0, 0, 12, 144, 2, 248, 145, 7, 60, 0, 17, 49, 37, 144, 28, 51, 12, 146, 0, 84, 147, 80, 53, 50, 98, 52, 54, 144, 0, 81, 54, 53, 51, 55, 54, 94, 145, 34, 54, 53, 30, 0, 21, 51, 10, 0, 5, 20, 0, 23, 51, 40, 0, 32, 51, 53, 35, 0, 99, 52, 52, 49, 102, 52, 52, 40, 0, 51, 100, 52, 54, 65, 0, 20, 100, 40, 0, 112, 51, 53, 52, 54, 53, 50, 57, 20, 0, 5, 80, 0, 1, 115, 0, 36, 51, 53, 45, 0, 4, 80, 0, 2, 65, 0, 17, 52, 45, 0, 6, 82, 1, 159, 101, 50, 54, 53, 49, 97, 50, 54, 53, 10, 0, 52, 16, 99, 10, 0, 31, 56, 10, 0, 20, 31, 97, 10, 0, 14, 6, 82, 1, 49, 100, 52, 54, 5, 0, 53, 50, 49, 49, 5, 0, 32, 100, 52, 121, 144, 3, 10, 0, 48, 50, 50, 50, 5, 0, 21, 52, 10, 0, 16, 54, 25, 0, 20, 102, 5, 0, 42, 50, 57, 20, 0, 21, 100, 55, 0, 0, 200, 144, 36, 50, 52, 60, 0, 64, 49, 56, 52, 54, 196, 142, 2, 45, 0, 56, 48, 50, 98, 60, 0, 48, 55, 50, 101, 10, 0, 16, 100, 50, 0, 0, 72, 1, 36, 50, 54, 55, 0, 7, 176, 148, 3, 204, 107, 15, 209, 107, 52, 16, 51, 226, 148, 128, 50, 101, 50, 55, 50, 50, 98, 51, 236, 146, 0, 216, 146, 0, 186, 146, 112, 50, 57, 51, 55, 50, 50, 54, 30, 0, 16, 52, 30, 0, 32, 48, 51, 154, 143, 0, 181, 146, 144, 100, 50, 55, 55, 50, 48, 51, 54, 55, 130, 2, 162, 55, 49, 100, 51, 53, 55, 49, 97, 52, 52, 99, 147, 6, 7, 148, 1, 253, 147, 16, 52, 69, 0, 2, 56, 146, 21, 50, 15, 0, 20, 52, 84, 0, 37, 52, 51, 86, 146, 6, 15, 0, 31, 52, 50, 0, 4, 96, 54, 53, 55, 49, 50, 54, 20, 0, 17, 54, 15, 0, 0, 47, 3, 16, 97, 40, 0, 0, 20, 0, 0, 22, 146, 26, 50, 20, 0, 23, 50, 45, 0, 0, 158, 0, 0, 122, 148, 51, 54, 49, 51, 132, 148, 6, 82, 1, 0, 14, 0, 16, 55, 171, 1, 0, 198, 0, 0, 121, 144, 0, 10, 0, 33, 100, 52, 213, 0, 0, 56, 148, 0, 60, 0, 16, 51, 135, 0, 32, 52, 52, 96, 148, 1, 233, 147, 2, 35, 0, 18, 54, 170, 0, 0, 67, 3, 0, 15, 0, 16, 51, 50, 0, 36, 50, 55, 80, 0, 16, 55, 15, 0, 19, 54, 80, 0, 16, 102, 40, 0, 16, 100, 40, 0, 16, 97, 40, 0, 96, 56, 52, 50, 53, 48, 101, 35, 0, 21, 51, 115, 0, 21, 97, 40, 0, 2, 77, 1, 0, 40, 0, 71, 51, 52, 50, 55, 169, 0, 48, 48, 55, 50, 131, 1, 21, 50, 10, 0, 96, 54, 49, 102, 50, 55, 54, 156, 1, 2, 10, 0, 3, 245, 146, 32, 48, 55, 195, 2, 3, 10, 0, 37, 49, 100, 40, 0, 21, 50, 40, 0, 16, 98, 15, 0, 16, 98, 206, 148, 32, 54, 49, 124, 145, 19, 48, 221, 1, 0, 251, 1, 16, 55, 72, 1, 16, 55, 127, 1, 0, 226, 1, 0, 15, 0, 0, 40, 0, 16, 52, 251, 1, 16, 102, 40, 0, 37, 97, 49, 30, 0, 0, 20, 2, 34, 97, 50, 201, 148, 31, 55, 99, 145, 150, 15, 12, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 31, 49, 244, 145, 11, 63, 51, 48, 52, 12, 0, 4, 17, 56, 12, 0, 33, 52, 52, 14, 0, 1, 12, 0, 0, 22, 0, 40, 54, 48, 60, 0, 21, 54, 12, 0, 16, 54, 84, 0, 25, 50, 60, 0, 15, 244, 145, 1, 15, 12, 146, 255, 255, 105, 21, 241, 12, 146, 143, 104, 101, 108, 108, 111, 46, 112, 56, 12, 146, 91, 49, 45, 45, 32, 121, 0, 96, 32, 119, 111, 114, 108, 100, 15, 0, 100, 98, 121, 32, 122, 101, 112, 27, 146, 7, 44, 146, 80, 102, 117, 110, 99, 116, 62, 0, 160, 95, 117, 112, 100, 97, 116, 101, 40, 41, 10, 91, 145, 51, 61, 32, 49, 14, 145, 5, 32, 0, 64, 100, 114, 97, 119, 30, 0, 2, 41, 146, 36, 32, 32, 105, 145, 66, 49, 44, 49, 49, 106, 145, 0, 16, 0, 98, 106, 48, 61, 48, 44, 55, 16, 0, 224, 106, 32, 61, 32, 55, 45, 106, 48, 10, 32, 32, 99, 111, 108, 13, 0, 115, 43, 106, 10, 32, 32, 116, 49, 191, 145, 241, 1, 105, 42, 52, 32, 45, 32, 106, 42, 50, 10, 32, 32, 120, 32, 61, 32, 1, 146, 242, 4, 48, 41, 42, 53, 10, 32, 32, 121, 32, 61, 32, 51, 56, 32, 43, 32, 106, 32, 43, 25, 0, 51, 49, 47, 53, 28, 0, 144, 112, 97, 108, 40, 55, 44, 99, 111, 108, 135, 0, 49, 115, 112, 114, 216, 145, 96, 44, 32, 56, 43, 105, 42, 50, 0, 64, 120, 44, 32, 121, 26, 0, 0, 192, 0, 2, 5, 0, 5, 242, 145, 146, 34, 116, 104, 105, 115, 32, 105, 115, 32, 63, 1, 18, 34, 91, 146, 160, 51, 55, 44, 32, 55, 48, 44, 32, 49, 52, 228, 145, 196, 56, 43, 40, 116, 47, 52, 41, 37, 56, 41, 10, 10, 55, 0, 64, 110, 105, 99, 101, 230, 146, 132, 109, 101, 101, 116, 32, 121, 111, 117, 57, 0, 17, 52, 198, 146, 61, 32, 49, 50, 57, 0, 2, 152, 0, 96, 44, 32, 54, 52, 45, 52, 197, 146, 3, 81, 146, 10, 1, 0, 15, 61, 146, 127, 32, 56, 56 ]); + fileData0.push.apply(fileData0, [ 3, 0, 15, 129, 0, 103, 16, 56, 1, 0, 47, 55, 56, 129, 0, 108, 47, 56, 56, 131, 1, 106, 31, 56, 131, 1, 106, 1, 130, 0, 15, 146, 51, 108, 31, 56, 199, 86, 255, 110, 36, 55, 55, 4, 0, 36, 55, 55, 12, 0, 40, 48, 48, 8, 0, 2, 24, 0, 7, 47, 0, 11, 48, 0, 12, 56, 0, 47, 55, 55, 129, 0, 36, 12, 121, 0, 6, 8, 0, 15, 129, 0, 3, 14, 4, 0, 14, 48, 0, 15, 129, 0, 66, 31, 55, 129, 0, 61, 6, 75, 1, 15, 129, 0, 18, 7, 115, 1, 14, 56, 0, 15, 2, 1, 81, 0, 1, 1, 15, 131, 1, 67, 47, 55, 55, 8, 0, 9, 31, 48, 133, 2, 2, 15, 64, 0, 3, 15, 129, 0, 18, 15, 61, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 116, 4, 166, 104, 208, 52, 55, 50, 48, 48, 52, 54, 50, 48, 99, 51, 52, 48, 5, 0, 64, 51, 49, 56, 52, 109, 91, 50, 52, 51, 49, 73, 141, 128, 48, 52, 49, 53, 48, 48, 51, 55, 30, 0, 17, 48, 10, 0, 1, 170, 144, 16, 53, 15, 0, 0, 20, 0, 2, 242, 141, 17, 51, 10, 0, 0, 88, 145, 64, 50, 48, 53, 51, 33, 141, 114, 53, 52, 48, 49, 49, 52, 51, 25, 0, 144, 50, 52, 53, 53, 53, 50, 52, 55, 49, 105, 0, 240, 2, 55, 51, 48, 97, 52, 55, 48, 49, 54, 51, 53, 50, 49, 100, 48, 55, 53, 59, 141, 251, 5, 53, 49, 54, 52, 49, 50, 48, 97, 50, 49, 49, 50, 50, 48, 50, 53, 50, 101, 51, 49, 148, 145, 80, 50, 52, 52, 48, 53, 187, 141, 128, 51, 51, 57, 52, 48, 51, 51, 99, 68, 145, 0, 10, 0, 130, 49, 56, 53, 52, 51, 50, 98, 53, 189, 0, 2, 30, 0, 12, 40, 0, 50, 48, 54, 48, 45, 0, 4, 30, 0, 6, 40, 0, 30, 50, 80, 0, 64, 52, 53, 51, 50, 189, 0, 9, 40, 0, 28, 55, 40, 0, 6, 5, 0, 7, 153, 143, 163, 55, 53, 53, 50, 55, 55, 53, 55, 50, 57, 10, 0, 21, 53, 20, 0, 16, 53, 20, 0, 28, 49, 20, 0, 29, 98, 40, 0, 6, 60, 0, 51, 55, 50, 48, 25, 0, 21, 55, 35, 0, 6, 20, 0, 21, 50, 20, 0, 48, 50, 50, 50, 10, 0, 21, 54, 60, 0, 1, 10, 0, 0, 162, 143, 0, 10, 0, 21, 50, 20, 0, 23, 49, 251, 1, 16, 49, 196, 1, 32, 48, 53, 211, 1, 20, 53, 10, 0, 15, 20, 0, 4, 48, 49, 56, 48, 217, 145, 35, 48, 54, 10, 0, 3, 40, 0, 0, 10, 0, 19, 51, 25, 0, 32, 48, 53, 40, 0, 17, 49, 10, 0, 35, 51, 54, 10, 0, 18, 99, 60, 0, 24, 55, 40, 0, 96, 97, 49, 52, 53, 49, 54, 20, 0, 35, 97, 51, 10, 0, 32, 49, 49, 20, 0, 17, 100, 10, 0, 19, 51, 10, 0, 6, 143, 147, 32, 98, 53, 13, 143, 16, 53, 208, 0, 0, 95, 2, 176, 54, 53, 49, 55, 49, 98, 53, 51, 54, 49, 102, 138, 144, 48, 50, 53, 49, 190, 144, 80, 49, 50, 49, 98, 55, 40, 0, 33, 55, 54, 248, 0, 240, 5, 55, 50, 54, 55, 52, 55, 49, 98, 55, 52, 54, 49, 102, 55, 51, 54, 50, 50, 55, 49, 48, 1, 64, 49, 50, 49, 56, 80, 0, 32, 98, 53, 51, 144, 0, 80, 0, 16, 50, 80, 0, 96, 56, 55, 51, 54, 49, 98, 176, 143, 50, 100, 55, 51, 40, 0, 64, 50, 52, 53, 52, 59, 148, 80, 51, 55, 50, 57, 53, 144, 2, 0, 40, 0, 0, 30, 0, 64, 49, 52, 55, 52, 35, 0, 102, 52, 53, 50, 101, 55, 52, 169, 0, 92, 50, 55, 53, 52, 50, 5, 0, 64, 101, 53, 52, 49, 5, 0, 0, 231, 1, 32, 52, 49, 164, 2, 16, 50, 5, 0, 18, 53, 10, 0, 101, 52, 53, 52, 52, 50, 52, 45, 0, 16, 57, 45, 0, 19, 57, 10, 0, 0, 13, 145, 0, 25, 0, 0, 5, 0, 16, 101, 5, 0, 17, 98, 5, 0, 3, 65, 0, 0, 149, 0, 7, 55, 0, 2, 30, 0, 50, 51, 48, 55, 115, 0, 1, 50, 0, 17, 55, 40, 0, 81, 51, 48, 53, 52, 54, 65, 0, 5, 169, 0, 144, 51, 48, 53, 53, 53, 51, 48, 55, 54, 213, 0, 19, 55, 129, 2, 48, 57, 53, 54, 54, 0, 0, 160, 146, 2, 89, 2, 0, 51, 1, 17, 48, 76, 1, 0, 48, 147, 0, 20, 0, 49, 98, 48, 55, 109, 0, 18, 55, 149, 0, 35, 52, 48, 129, 0, 48, 49, 98, 52, 5, 0, 85, 53, 52, 53, 49, 98, 15, 0, 19, 100, 154, 0, 1, 153, 145, 4, 209, 0, 0, 109, 147, 34, 52, 53, 5, 0, 0, 243, 145, 0, 75, 0, 0, 15, 0, 1, 5, 0, 34, 57, 52, 214, 0, 23, 55, 164, 2, 31, 50, 5, 0, 58, 48, 49, 49, 48, 196, 1, 51, 49, 49, 55, 10, 0, 0, 233, 1, 97, 51, 49, 50, 49, 49, 102, 10, 0, 32, 48, 51, 148, 145, 224, 51, 55, 48, 102, 48, 52, 49, 49, 98, 49, 52, 55, 48, 102, 181, 4, 16, 98, 133, 147, 112, 54, 48, 53, 49, 50, 50, 49, 10, 0, 16, 50, 100, 2, 47, 51, 54, 148, 145, 111, 0, 177, 1, 19, 53, 10, 0, 1, 106, 148, 26, 48, 15, 0, 4, 30, 0, 15, 61, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 108, 32, 48, 32, 45, 42, 69, 52, 50, 48, 56, 12, 0, 21, 49, 12, 0, 21, 49, 49, 146, 5, 12, 0, 18, 49, 12, 0, 4, 49, 146, 12, 12, 0, 55, 51, 48, 53, 12, 0, 31, 54, 24, 0, 14, 16, 50, 129, 39, 20, 50, 12, 0, 19, 51, 217, 143, 95, 50, 52, 51, 52, 52, 12, 0, 255, 255, 84, 5, 61, 146, 36, 31, 148, 61, 146, 110, 98, 111, 117, 110, 99, 101, 62, 146, 15, 61, 146, 65, 24, 56, 61, 146, 1, 121, 0, 112, 121, 32, 98, 97, 108, 108, 32, 139, 0, 8, 66, 146, 176, 115, 105, 122, 101, 32, 32, 61, 32, 49, 48, 10, 32, 0, 0, 184, 145, 33, 54, 52, 11, 0, 0, 179, 145, 0, 30, 0, 129, 10, 102, 108, 111, 111, 114, 95, 121, 37, 0, 32, 48, 10, 61, 0, 241, 5, 115, 116, 97, 114, 116, 105, 110, 103, 32, 118, 101, 108, 111, 99, 105, 116, 121, 10, 118, 101, 59, 0, 128, 114, 110, 100, 40, 54, 41, 45, 51, 16, 0, 24, 121, 16, 0, 15, 121, 146, 4, 69, 55, 41, 10, 32, 150, 145, 112, 112, 114, 101, 115, 115, 32, 151, 153, 145, 67, 98, 117, 109, 112, 149, 145, 0, 152, 145, 113, 50, 44, 49, 48, 44, 32, 54, 45, 0, 179, 114, 101, 99, 116, 102, 105, 108, 108, 40, 48, 44, 153, 0, 65, 44, 49, 50, 55, 4, 0, 16, 56, 86, 0, 49, 105, 114, 99, 31, 0, 1, 206, 0, 17, 44, 201, 0, 16, 44, 199, 0, 49, 44, 49, 52, 64, 0, 2, 201, 145, 1, 30, 0, 48, 45, 52, 45, 184, 0, 36, 44, 32, 105, 0, 1, 46, 0, 2, 22, 0, 19, 121, 226, 145, 12, 81, 147, 48, 54, 48, 40, 16, 146, 114, 45, 45, 32, 109, 111, 118, 101, 84, 1, 241, 0, 108, 101, 102, 116, 47, 114, 105, 103, 104, 116, 10, 10, 32, 105, 102, 21, 0, 33, 120, 43, 19, 1, 65, 60, 32, 48, 43, 99, 1, 33, 111, 114, 101, 0, 7, 27, 0, 97, 62, 32, 49, 50, 56, 45, 98, 1, 132, 32, 116, 104, 101, 110, 10, 32, 32, 172, 1, 209, 101, 32, 111, 110, 32, 115, 105, 100, 101, 33, 10, 32, 32, 45, 0, 80, 42, 61, 32, 45, 49, 168, 0, 211, 115, 102, 120, 40, 49, 41, 10, 32, 101, 108, 115, 101, 10, 80, 0, 0, 224, 147, 0, 38, 0, 5, 31, 147, 9, 158, 0, 118, 117, 112, 47, 100, 111, 119, 110, 155, 0, 33, 121, 43, 158, 1, 15, 155, 0, 1, 3, 27, 0, 35, 62, 32, 91, 1, 15, 159, 0, 8, 1, 34, 0, 130, 47, 99, 101, 105, 108, 105, 110, 103, 167, 0, 0, 242, 1, 1, 7, 0, 99, 42, 32, 45, 48, 46, 57, 174, 0, 18, 48, 94, 148, 0, 62, 0, 36, 105, 102, 65, 0, 227, 119, 97, 115, 32, 116, 111, 111, 32, 115, 109, 97, 108, 108, 44, 92, 0, 176, 117, 109, 112, 32, 105, 110, 116, 111, 32, 97, 105, 147, 0, 52, 105, 102, 32, 169, 0, 66, 32, 97, 110, 100, 165, 1, 3, 160, 0, 68, 45, 48, 46, 53, 151, 0, 28, 32, 125, 2, 21, 32, 142, 0, 16, 45, 20, 0, 98, 53, 41, 45, 52, 10, 32, 141, 0, 21, 51, 74, 148, 25, 32, 68, 1, 19, 121, 68, 1, 24, 121, 68, 1, 146, 103, 114, 97, 118, 105, 116, 121, 33, 10, 79, 0, 99, 43, 61, 32, 48, 46, 50, 28, 0, 2, 173, 2, 128, 97, 32, 98, 117, 116, 116, 111, 110, 180, 2, 113, 114, 97, 110, 111, 109, 108, 121, 30, 0, 198, 99, 104, 111, 111, 115, 101, 32, 97, 32, 110, 101, 119, 37, 3, 0, 210, 0, 148, 40, 98, 116, 110, 112, 40, 53, 41, 41, 190, 0, 14, 189, 0, 10, 60, 3, 19, 56, 71, 1, 34, 50, 41, 155, 0, 2, 151, 2, 14, 107, 148, 50, 100, 100, 100, 12, 141, 17, 102, 3, 0, 81, 48, 102, 102, 102, 102, 242, 43, 0, 175, 45, 15, 59, 51, 80, 17, 100, 1, 0, 22, 48, 122, 0, 66, 49, 102, 102, 49, 128, 0, 63, 50, 50, 50, 129, 0, 73, 17, 55, 3, 0, 32, 48, 100, 120, 0, 18, 100, 179, 191, 23, 49, 2, 1, 16, 50, 8, 0, 15, 129, 0, 74, 3, 7, 143, 86, 100, 53, 102, 102, 53, 2, 1, 18, 102, 250, 0, 48, 102, 48, 50, 24, 0, 15, 129, 0, 82, 5, 2, 1, 18, 48, 114, 1, 3, 122, 1, 14, 2, 1, 15, 131, 1, 67, 36, 100, 100, 5, 2, 19, 102, 243, 1, 17, 52, 3, 0, 46, 50, 50, 5, 2, 15, 133, 2, 77, 2, 220, 47, 3, 129, 0, 15, 133, 2, 80, 4, 129, 0, 5, 5, 0, 1, 125, 3, 5, 142, 3, 6, 111, 48, 15, 129, 0, 68, 15, 1, 0, 19, 15, 129, 0, 255, 255, 255, 46, 15, 107, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 150, 0, 112, 144, 17, 48, 34, 95, 255, 10, 49, 49, 49, 50, 48, 53, 49, 49, 56, 48, 51, 49, 49, 101, 48, 50, 49, 50, 56, 48, 49, 49, 51, 97, 48, 178, 1, 117, 1, 126, 107, 96, 49, 97, 55, 54, 48, 49, 225, 146, 16, 50, 62, 145, 2, 117, 98, 15, 5, 0, 120, 34, 10, 48, 236, 96, 48, 48, 48, 99, 69, 149, 17, 49, 74, 149, 112, 52, 54, 48, 48, 102, 52, 54, 10, 0, 32, 53, 48, 129, 145, 80, 48, 49, 51, 52, 51, 15, 0, 16, 50, 15, 0, 32, 50, 48, 231, 148, 128, 48, 49, 100, 52, 50, 48, 50, 50, 176, 253, 48, 55, 52, 49, 30, 0, 1, 70, 0, 4, 5, 0, 48, 102, 52, 48, 55, 0, 0, 40, 145, 9, 20, 0, 37, 48, 102, 15, 0, 31, 48, 5, 0, 24, 7, 169, 0, 16, 53, 62, 150, 50, 53, 53, 48, 22, 150, 32, 56, 53, 154, 0, 160, 53, 50, 48, 49, 102, 53, 49, 48, 49, 100, 80, 148, 21, 56, 5, 0, 32, 102, 53, 200, 97, 0, 10, 0, 25, 100, 15, 0, 37, 50, 98, 10, 0, 16, 57, 5, 0, 21, 52, 5, 0, 1, 15, 0, 21, 55, 35, 0, 0, 5, 0, 47, 48, 48, 5, 0, 22, 15, 30, 145, 150, 15, 169, 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, 10, 9, 107, 148, 14, 219, 147, 15, 12, 0, 255, 255, 218, 5, 107, 148, 36, 198, 147, 107, 148, 78, 115, 111, 114, 116, 105, 148, 15, 107, 148, 80, 34, 115, 111, 25, 148, 12, 103, 148, 247, 4, 103, 32, 61, 32, 123, 51, 44, 53, 44, 55, 44, 50, 44, 57, 44, 49, 44, 50, 125, 92, 147, 0, 19, 148, 227, 95, 103, 105, 114, 97, 102, 102, 101, 40, 120, 44, 121, 44, 108, 100, 147, 66, 98, 111, 100, 121, 179, 147, 243, 0, 51, 51, 44, 120, 45, 56, 44, 121, 45, 56, 44, 50, 44, 49, 41, 134, 145, 241, 5, 110, 101, 99, 107, 32, 102, 111, 114, 32, 108, 32, 115, 101, 103, 109, 101, 110, 116, 115, 10, 16, 0, 162, 105, 61, 49, 44, 108, 32, 100, 111, 10, 32, 241, 147, 64, 56, 44, 32, 120, 61, 0, 88, 45, 105, 42, 56, 41, 228, 145, 145, 112, 117, 116, 32, 104, 101, 97, 100, 32, 197, 145, 18, 112, 109, 0, 18, 50, 46, 0, 65, 49, 54, 45, 108, 47, 0, 12, 11, 148, 8, 195, 148, 57, 49, 50, 41, 149, 148, 53, 49, 48, 48, 145, 148, 30, 51, 223, 148, 19, 142, 43, 146, 102, 100, 111, 109, 105, 122, 101, 228, 148, 175, 32, 50, 50, 44, 32, 50, 44, 32, 55, 41, 16, 149, 1, 0, 87, 1, 7, 44, 0, 98, 51, 50, 44, 32, 49, 48, 45, 0, 6, 240, 0, 18, 55, 240, 0, 9, 77, 1, 65, 105, 42, 49, 54, 147, 0, 69, 103, 91, 105, 93, 249, 0, 15, 218, 148, 2, 4, 216, 148, 5, 113, 0, 47, 10, 32, 178, 146, 2, 2, 173, 147, 50, 108, 111, 111, 122, 1, 146, 97, 32, 112, 97, 105, 114, 32, 111, 102, 24, 0, 3, 121, 0, 242, 0, 101, 115, 32, 111, 117, 116, 32, 111, 102, 32, 112, 108, 97, 99, 101, 2, 148, 4, 169, 0, 18, 54, 169, 0, 33, 10, 32, 228, 147, 16, 40, 155, 0, 149, 32, 62, 32, 103, 91, 105, 43, 49, 93, 24, 147, 2, 32, 0, 0, 83, 0, 49, 116, 104, 101, 99, 149, 244, 0, 32, 111, 110, 101, 32, 105, 115, 32, 116, 97, 108, 108, 101, 114, 44, 31, 0, 112, 115, 111, 32, 115, 119, 97, 112, 39, 0, 33, 109, 33, 21, 0, 80, 116, 101, 109, 112, 32, 213, 150, 0, 90, 0, 1, 18, 0, 1, 99, 0, 3, 18, 0, 37, 43, 49, 20, 0, 81, 43, 49, 93, 32, 61, 47, 0, 17, 10, 19, 0, 5, 175, 148, 6, 125, 0, 50, 106, 117, 115, 121, 0, 1, 100, 0, 0, 194, 0, 50, 110, 111, 119, 103, 0, 101, 98, 114, 101, 97, 107, 32, 46, 0, 2, 86, 148, 3, 90, 2, 3, 97, 2, 1, 81, 1, 10, 243, 1, 7, 84, 1, 24, 52, 84, 1, 11, 198, 1, 1, 179, 0, 80, 61, 102, 108, 114, 40, 8, 148, 37, 57, 41, 184, 148, 7, 4, 150, 3, 104, 0, 2, 19, 148, 14, 18, 148, 15, 21, 85, 231, 3, 18, 148, 4, 18, 0, 17, 57, 3, 0, 15, 2, 1, 90, 40, 55, 55, 18, 0, 17, 97, 3, 0, 15, 129, 0, 105, 0, 1, 0, 31, 48, 131, 1, 104, 62, 97, 97, 49, 131, 0, 15, 133, 2, 89, 1, 2, 1, 15, 129, 0, 105, 30, 48, 130, 1, 15, 129, 0, 222, 47, 57, 57, 129, 0, 237, 47, 97, 57, 4, 2, 236, 31, 57, 129, 0, 238, 15, 131, 1, 109, 31, 97, 6, 3, 103, 16, 97, 124, 0, 31, 57, 129, 0, 102, 33, 54, 97, 129, 0, 47, 97, 97, 131, 1, 100, 35, 54, 48, 125, 0, 15, 129, 0, 101, 20, 48, 129, 0, 47, 57, 57, 129, 0, 102, 2, 251, 57, 20, 57, 3, 58, 15, 129, 0, 94, 18, 97, 121, 0, 31, 97, 129, 0, 231, 31, 48, 18, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 19, 49, 188, 244, 64, 53, 48, 50, 56, 5, 0, 18, 102, 140, 145, 15, 178, 1, 127, 1, 203, 243, 32, 49, 98, 187, 146, 16, 100, 5, 0, 23, 98, 5, 0, 16, 52, 197, 146, 16, 51, 25, 0, 1, 5, 0, 30, 50, 117, 146, 15, 5, 0, 36, 15, 192, 146, 255, 110, 15, 18, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 80, 51, 52, 52, 10, 10 ]); + Module["FS_createDataFile"]("/", "data.pod", fileData0, true, true, false); + } + if (Module["calledRun"]) { + runWithFS(); + } else { + if (!Module["preRun"]) Module["preRun"] = []; + Module["preRun"].push(runWithFS); + } + }; + loadPackage({ + "files": [] + }); +})(); + +var moduleOverrides = {}; + +var key; + +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +Module["arguments"] = []; + +Module["thisProgram"] = "./this.program"; + +Module["quit"] = function(status, toThrow) { + throw toThrow; +}; + +Module["preRun"] = []; + +Module["postRun"] = []; + +var ENVIRONMENT_IS_WEB = false; + +var ENVIRONMENT_IS_WORKER = false; + +var ENVIRONMENT_IS_NODE = false; + +var ENVIRONMENT_IS_SHELL = false; + +ENVIRONMENT_IS_WEB = typeof window === "object"; + +ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; + +ENVIRONMENT_IS_NODE = typeof process === "object" && typeof require === "function" && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; + +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } else { + return scriptDirectory + path; + } +} + +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + var nodeFS; + var nodePath; + Module["read"] = function shell_read(filename, binary) { + var ret; + ret = tryParseAsDataURI(filename); + if (!ret) { + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename); + } + return binary ? ret : ret.toString(); + }; + Module["readBinary"] = function readBinary(filename) { + var ret = Module["read"](filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + Module["thisProgram"] = process["argv"][1].replace(/\\/g, "/"); + } + Module["arguments"] = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module; + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + process["on"]("unhandledRejection", abort); + Module["quit"] = function(status) { + process["exit"](status); + }; + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + Module["read"] = function shell_read(f) { + var data = tryParseAsDataURI(f); + if (data) { + return intArrayToString(data); + } + return read(f); + }; + } + Module["readBinary"] = function readBinary(f) { + var data; + data = tryParseAsDataURI(f); + if (data) { + return data; + } + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)); + } + 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; + } + if (typeof quit === "function") { + Module["quit"] = function(status) { + quit(status); + }; + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + Module["read"] = function shell_read(url) { + try { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return intArrayToString(data); + } + throw err; + } + }; + if (ENVIRONMENT_IS_WORKER) { + Module["readBinary"] = function readBinary(url) { + try { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return data; + } + throw err; + } + }; + } + Module["readAsync"] = function readAsync(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); + return; + } + var data = tryParseAsDataURI(url); + if (data) { + onload(data.buffer); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + Module["setWindowTitle"] = function(title) { + document.title = title; + }; +} else {} + +var out = Module["print"] || (typeof console !== "undefined" ? console.log.bind(console) : typeof print !== "undefined" ? print : null); + +var err = Module["printErr"] || (typeof printErr !== "undefined" ? printErr : typeof console !== "undefined" && console.warn.bind(console) || out); + +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } +} + +moduleOverrides = undefined; + +var STACK_ALIGN = 16; + +function dynamicAlloc(size) { + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end <= _emscripten_get_heap_size()) { + HEAP32[DYNAMICTOP_PTR >> 2] = end; + } else { + return 0; + } + return ret; +} + +function getNativeTypeSize(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 4; + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8; + } else { + return 0; + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } +} + +var jsCallStartIndex = 1; + +var functionPointers = new Array(0); + +var funcWrappers = {}; + +function dynCall(sig, ptr, args) { + if (args && args.length) { + return Module["dynCall_" + sig].apply(null, [ ptr ].concat(args)); + } else { + return Module["dynCall_" + sig].call(null, ptr); + } +} + +var tempRet0 = 0; + +var setTempRet0 = function(value) { + tempRet0 = value; +}; + +var getTempRet0 = function() { + return tempRet0; +}; + +var GLOBAL_BASE = 8; + +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 getValue: " + type); + } + return null; +} + +var ABORT = false; + +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func; +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + } + }; + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 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); + } +} + +var ALLOC_NORMAL = 0; + +var ALLOC_NONE = 3; + +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, stackAlloc, dynamicAlloc ][allocator](Math.max(size, singleType ? 1 : types.length)); + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (;ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0; + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0; + } + return ret; + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue; + } + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + return ret; +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size); +} + +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + } + return str; +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 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 (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; + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx; +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 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 len += 4; + } + return len; +} + +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer); +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + HEAP8[buffer++ >> 0] = str.charCodeAt(i); + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0; +} + +function demangle(func) { + return func; +} + +function demangleAll(text) { + var regex = /__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]"; + }); +} + +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() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js); +} + +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferViews() { + Module["HEAP8"] = HEAP8 = new Int8Array(buffer); + Module["HEAP16"] = HEAP16 = new Int16Array(buffer); + Module["HEAP32"] = HEAP32 = new Int32Array(buffer); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer); +} + +var STACK_BASE = 5109104, DYNAMIC_BASE = 10351984, DYNAMICTOP_PTR = 5108848; + +var TOTAL_STACK = 5242880; + +var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 134217728; + +if (TOTAL_MEMORY < TOTAL_STACK) err("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); + +if (Module["buffer"]) { + buffer = Module["buffer"]; +} else { + { + buffer = new ArrayBuffer(TOTAL_MEMORY); + } + Module["buffer"] = buffer; +} + +updateGlobalBufferViews(); + +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue; + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func); + } else { + Module["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); +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +var Math_abs = Math.abs; + +var Math_ceil = Math.ceil; + +var Math_floor = Math.floor; + +var Math_min = Math.min; + +var runDependencies = 0; + +var runDependencyWatcher = null; + +var dependenciesFulfilled = null; + +function getUniqueRunDependency(id) { + return id; +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } +} + +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["preloadedImages"] = {}; + +Module["preloadedAudios"] = {}; + +var memoryInitializer = null; + +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0; +} + +var ASM_CONSTS = [ function() { + if (typeof _cartdat !== "undefined") return 1; + return 0; +}, function() { + return _cartdat.length / 32768; +}, function() { + _cdpos = _cdpos + 1; + return _cartdat[_cdpos - 1]; +}, function($0) { + ciii = $0; + iii = 0; +}, function() { + iii = iii + 1; + return _cartname[ciii].charCodeAt(iii - 1); +}, function() { + Module.pico8Reset = function() { + codo_command = 1; + }; + Module.pico8ToggleSound = function() { + codo_command = 3; + }; + Module.pico8TogglePaused = function() { + codo_command = 4; + }; + Module.pico8SetPaused = function(p) { + codo_command = 5; + codo_command_p = 0; + if (p) codo_command_p = 1; + }; + Module.pico8ToggleControlMenu = function() { + codo_command = 7; + }; +}, function() { + function mkdir_0(d) { + try { + stat = FS.stat(d); + console.log("found directory: " + d); + } catch (e) { + FS.mkdir(d); + console.log("created directory: " + d); + } + } + console.log("mounting /user_data"); + mkdir_0("/user_data"); + FS.mount(IDBFS, {}, "/user_data"); + FS.syncfs(true, function(err) { + if (!err) { + console.log("codo: mounted filesystem.\n"); + codo_mounted_filesystem = 1; + mkdir_0("/user_data/cdata"); + mkdir_0("/user_data/cstore"); + mkdir_0("/user_data/carts"); + mkdir_0("/user_data/backup"); + mkdir_0("/user_data/plates"); + mkdir_0("/user_data/bbs"); + mkdir_0("/user_data/bbs/carts"); + mkdir_0("/user_data/bbs/labels"); + } else { + console.log("** could not mount filesystem\n"); + console.log(err); + } + }); +}, function($0, $1, $2, $3) { + if (typeof pico8_state !== "undefined") { + pico8_state.is_paused = $0; + pico8_state.sound_volume = $1; + pico8_state.frame_number = $2; + pico8_state.has_focus = $3; + } +}, function() { + var val = 0; + if (typeof codo_command !== "undefined") { + val = codo_command; + codo_command = 0; + } + return val; +}, function() { + var val = 0; + if (typeof codo_command_p !== "undefined") { + val = codo_command_p; + codo_command_p = 0; + } + return val; +}, function() { + button_i = 0; +}, function() { + var val = -1; + if (typeof pico8_buttons !== "undefined") { + val = pico8_buttons[button_i]; + button_i++; + } + return val; +}, function() { + var val = 0; + if (typeof pico8_gamepads !== "undefined") { + val = pico8_gamepads.count; + } + return val; +}, function() { + if (typeof on_module_load !== "undefined") { + if (on_module_load) on_module_load(); + } +}, function($0, $1) { + if (typeof pico8_state !== "undefined") { + if (typeof pico8_state.system_messages === "undefined") pico8_state.system_messages = new Array(); + pico8_state.system_messages.push(UTF8ToString($0, $1)); + } +}, function($0) { + var str = window.location.hostname; + return allocate(intArrayFromString(str), "i8", ALLOC_NORMAL); +}, function($0, $1) { + if (typeof pico8_gpio !== "undefined") pico8_gpio[$0] = $1; +}, function($0) { + var val = 0; + if (typeof pico8_gpio !== "undefined") val = pico8_gpio[$0]; + return val; +}, function() { + FS.syncfs(false, function(err) {}); +}, function() { + var val = 0; + if (typeof codo_mounted_filesystem !== "undefined") val = 1; + return val; +}, function() { + return document.hidden ? 1 : 0; +}, function() { + if (typeof codo_key_buffer === "undefined") codo_key_buffer = []; + document.addEventListener("keydown", function(e) { + var val = -1; + if (e.key.length == 1) { + val = e.key.charCodeAt(0); + } else { + if (e.key == "Tab") val = 9; + if (e.key == "Enter") val = 13; + if (e.key == "Backspace") val = 8; + if (e.key == "Escape") val = 27; + if (val == -1) {} + } + var el = document.getElementById("codo_textarea"); + codo_key_buffer.push(val); + }); +}, function() { +}, function() { + document.addEventListener("wheel", function(e) { + dx = e.deltaX; + if (dx < 0) dx = -1; + if (dx > 0) dx = 1; + if (e.deltaMode == 2) dx *= 4; + codo_wheel_dx -= dx; + dy = e.deltaY; + if (dy < 0) dy = -1; + if (dy > 0) dy = 1; + if (e.deltaMode == 2) dy *= 4; + codo_wheel_dy -= dy; + }); +}, function($0) { + function log(msg) { + if (window.console && window.console.log) { + window.console.log(msg); + } + } + log("audio_init"); + var codo_audio_context; + if (typeof Module === "undefined") log(" *** Module undefined"); else if (typeof Module.ccall === "undefined") log(" **** Module.ccall undefined"); else { + var webAudioAPI = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext; + if (webAudioAPI) { + if (typeof pico8_audio_context !== "undefined") codo_audio_context = pico8_audio_context; else if (typeof voxatron_audio_context !== "undefined") codo_audio_context = voxatron_audio_context; else codo_audio_context = new webAudioAPI(); + if (codo_audio_context) { + log("Sample Rate: " + codo_audio_context.sampleRate); + node = codo_audio_context.createScriptProcessor($0, 1, 1); + node.onaudioprocess = function(e) { + var data = e.outputBuffer.getChannelData(0); + var r = 22050 / codo_audio_context.sampleRate; + var len0 = Math.floor(data.length * r); + var len1 = data.length; + var ptr = Module.ccall("mix_0", "number", [ "number", "number" ], [ len0, len1 ]); + for (var j = 0; j < data.length; j++) data[j] = Module.getValue(ptr + j * 2, "i16") / 32768; + }; + node.connect(codo_audio_context.destination); + } else { + log("** failed to create codo_audio_context"); + } + } else { + log("** webAudioAPI not found"); + } + } +}, function() { + if (typeof codo_key_buffer === "undefined") codo_key_buffer = []; + return codo_key_buffer.length > 0 ? 1 : 0; +}, function() { + if (typeof codo_key_buffer === "undefined") codo_key_buffer = []; + return codo_key_buffer.shift() | 0; +}, function() { + temp = typeof codo_wheel_dx !== "undefined" ? codo_wheel_dx : 0; + codo_wheel_dx = 0; + return temp; +}, function() { + temp = typeof codo_wheel_dy !== "undefined" ? codo_wheel_dy : 0; + codo_wheel_dy = 0; + return temp; +}, function() { + if (document.hidden) return 0; + el = document.getElementById("codo_textarea"); + if (el) return el == document.activeElement; + el = document.activeElement; + return !el || el.tagName.toLowerCase() != "input" && el.tagName.toLowerCase() != "textarea"; +}, function() { + el = document.getElementById("codo_textarea"); + if (el) { + el.focus(); + el.select(); + } +}, function() { + el = document.getElementById("codo_textarea"); + if (el) { + el.select(); + } +}, function() { + var ret = 0; + if (typeof pico8_mouse !== "undefined") ret = 1; + return ret; +}, function() { + return pico8_mouse[0]; +}, function() { + return pico8_mouse[1]; +}, function() { + return pico8_mouse[2]; +}, function() { + _dir_name = ""; +}, function($0) { + _dir_name = _dir_name + String.fromCharCode($0); +}, function() { + console.log("@@ mkdir directory (nocheck): " + _dir_name); + FS.createPath("", _dir_name, true, true); +}, function() { + el = document.getElementById("codo_textarea"); + if (el) {} +}, function() { + _codo_str_out = ""; +}, function($0) { + _codo_str_out = _codo_str_out + String.fromCharCode($0); +}, function() { + el = document.getElementById("codo_textarea"); + if (el) { + el.value = _codo_str_out; + return 0; + } else return 1; +}, function() { + el = document.getElementById("codo_textarea"); + if (el) { + _codo_text_value = el.value; + return 1; + } + return 0; +}, function() { + return typeof _codo_text_value === "undefined" ? 1 : 0; +}, function() { + iii = 0; +}, function() { + iii = iii + 1; + return _codo_text_value.charCodeAt(iii - 1); +} ]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code](); +} + +function _emscripten_asm_const_ii(code, a0) { + return ASM_CONSTS[code](a0); +} + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + +function _emscripten_asm_const_iiiii(code, a0, a1, a2, a3) { + return ASM_CONSTS[code](a0, a1, a2, a3); +} + +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor(); + } +}); + +memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAAAwnAAA6bYAADmcAABBnAAASpwAAFGcAABYnAAAkLYAAEGcAABenAAAZZwAAGucAAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHxgYGBoIry8vITkVFQQYmIEYhRRUBcAAAAAAAAAAAABAgIDAwMDBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi6tgAA47YAAMG2AACktgAAqbYAAJm2AABMtwAAnbYAAJC2AADetgAAobYAAO22AADEtgAA6bYAALa2AAC+tgAA0bYAAMq2AACTwgAAR7cAANi2AACwtgAAms0AAHqeAAAboAAAHqAAACGgAAAkoAAAJ6AAADeoAAAqoAAAM6AAADqgAAAAAAAAAAAAAAAAAAAGBgYGBwcHBwcHCgkFBAMDAwMDAwMDAwMDAwICAQEAALakAAC+pAAAyaQAAM6kAADVpAAA26QAAOCkAADmpAAA7KQAAPKkAAD4pAAA/qQAAASlAAAKpQAAD6UAABSlAAAdpQAAAAAAAAAAAAAAAAAAMrkAAAG5AABztwAAd7cAAAq5AAARuQAAfrcAAIG3AACItwAAhbcAAPe4AAD8uAAAjrcAAJy3AAAfuQAAJLkAAKq3AAC0twAAK7kAAD65AABEuQAA1aYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAABQAAAAEAAAAFAAAABQAAAAUAAAABAAAAAQAAAAEAAAAFAAAAAAAAAAEAAAADAAAABQAAAAQAAAACAAAACwAAAA8AAAAHAAAADAAAAA0AAAAJAAAACAAAAAYAAAAKAAAADgAAAI7EAACaxAAApsQAALLEAAC+xAAAycQAANTEAADgxAAA7MQAAPjEAAAExQAAD8UAABrFAAAAAAAAAAAAAAAAAABPxAAAVMQAAFrEAABdxAAAYsQAAGzEAAB2xAAAeMQAAHrEAAB8xAAAfsQAAILEAACExAAAAAAAAAAAAAAAAAAAUMgAAFfIAABiyAAAasgAAHTIAAB9yAAAh8gAAJTIAACeyAAApcgAAK7IAAC4yAAAAAAAAAAAAAAAAAAAAAAAAFz0TQDAyAAAxsgAAMzIAADSyAAA2MgAAAAAAAAAAAAAY29kbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAQKCgAAAAofCh8KHxQfBR8RAgQIEQgUHRINBAQAAAAECAgIBAQCAgIEFQ4fDhUEBB8EBAAAAAgQAAAfAAAAAAAABAECBAgQHxERER8EDAQEHx8BHxAfHwEHAR8RER8BAR8QHwEfEBAfER8fAQEBAR8RHxEfHxEfAQEABAAEAAAEAAQIAwwQDAMADgAOABgGAQYYHwEHAAQfER0VHR8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8MCAgIDBAIBAIBBgICAgYECgAAAAAAAAAfBAIAAAAfER8RER4RHhEfDxAQEA8eERERHx8QHBAfHxAeEBAOEBARDxERHxERDgQEBA4CAgISDBIUGBQSEBAQEB8RGxUREREZFRMRDhEREQ4eER4QEB8RERMfHhEeEREPEA4BHh8EBAQEEREREQ4REREKBBERFRsREQoEChEREQ4EBB8CBAgfBAQIBAQEBAQEBAQEAgQEBQoAAAAAAAAAHwAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP7/AAD+/wAA/v8AAP7/AAD+/wAA/f8AAP3/AAD9/wAA/f8AAPz/AAD8/wAA/P8AAPz/AAD7/wAA+/8AAPv/AAD6/wAA+v8AAPr/AAD5/wAA+f8AAPn/AAD4/wAA+P8AAPf/AAD3/wAA9/8AAPb/AAD2/wAA9f8AAPX/AAD0/wAA9P8AAPP/AADz/wAA8v8AAPL/AADx/wAA8f8AAPD/AADw/wAA7/8AAO//AADu/wAA7f8AAO3/AADs/wAA7P8AAOv/AADq/wAA6v8AAOn/AADo/wAA6P8AAOf/AADm/wAA5v8AAOX/AADk/wAA4/8AAOP/AADi/wAA4f8AAOD/AADg/wAA3/8AAN7/AADd/wAA3P8AANz/AADb/wAA2v8AANn/AADY/wAA1/8AANb/AADV/wAA1f8AANT/AADT/wAA0v8AANH/AADQ/wAAz/8AAM7/AADN/wAAzP8AAMv/AADK/wAAyf8AAMj/AADH/wAAxv8AAMX/AADE/wAAwv8AAMH/AADA/wAAv/8AAL7/AAC9/wAAvP8AALv/AAC5/wAAuP8AALf/AAC2/wAAtf8AALT/AACy/wAAsf8AALD/AACv/wAArf8AAKz/AACr/wAAqf8AAKj/AACn/wAApv8AAKT/AACj/wAAov8AAKD/AACf/wAAnf8AAJz/AACb/wAAmf8AAJj/AACW/wAAlf8AAJT/AACS/wAAkf8AAI//AACO/wAAjP8AAIv/AACJ/wAAiP8AAIb/AACF/wAAg/8AAIL/AACA/wAAfv8AAH3/AAB7/wAAev8AAHj/AAB2/wAAdf8AAHP/AABx/wAAcP8AAG7/AABs/wAAa/8AAGn/AABn/wAAZv8AAGT/AABi/wAAYP8AAF//AABd/wAAW/8AAFn/AABY/wAAVv8AAFT/AABS/wAAUP8AAE7/AABN/wAAS/8AAEn/AABH/wAARf8AAEP/AABB/wAAP/8AAD3/AAA7/wAAOv8AADj/AAA2/wAANP8AADL/AAAw/wAALv8AACz/AAAq/wAAKP8AACX/AAAj/wAAIf8AAB//AAAd/wAAG/8AABn/AAAX/wAAFf8AABP/AAAQ/wAADv8AAAz/AAAK/wAACP8AAAb/AAAD/wAAAf8AAP/+AAD9/gAA+/4AAPj+AAD2/gAA9P4AAPH+AADv/gAA7f4AAOv+AADo/gAA5v4AAOT+AADh/gAA3/4AAN3+AADa/gAA2P4AANX+AADT/gAA0f4AAM7+AADM/gAAyf4AAMf+AADE/gAAwv4AAL/+AAC9/gAAuv4AALj+AAC1/gAAs/4AALD+AACu/gAAq/4AAKn+AACm/gAApP4AAKH+AACe/gAAnP4AAJn+AACX/gAAlP4AAJH+AACP/gAAjP4AAIn+AACH/gAAhP4AAIH+AAB+/gAAfP4AAHn+AAB2/gAAc/4AAHH+AABu/gAAa/4AAGj+AABm/gAAY/4AAGD+AABd/gAAWv4AAFf+AABV/gAAUv4AAE/+AABM/gAASf4AAEb+AABD/gAAQP4AAD3+AAA6/gAAN/4AADT+AAAx/gAALv4AACv+AAAo/gAAJf4AACL+AAAf/gAAHP4AABn+AAAW/gAAE/4AABD+AAAN/gAACv4AAAf+AAAE/gAAAf4AAP39AAD6/QAA9/0AAPT9AADx/QAA7v0AAOr9AADn/QAA5P0AAOH9AADd/QAA2v0AANf9AADU/QAA0P0AAM39AADK/QAAx/0AAMP9AADA/QAAvf0AALn9AAC2/QAAs/0AAK/9AACs/QAAqP0AAKX9AACi/QAAnv0AAJv9AACX/QAAlP0AAJD9AACN/QAAif0AAIb9AACD/QAAf/0AAHz9AAB4/QAAdP0AAHH9AABt/QAAav0AAGb9AABj/QAAX/0AAFv9AABY/QAAVP0AAFH9AABN/QAASf0AAEb9AABC/QAAPv0AADv9AAA3/QAAM/0AADD9AAAs/QAAKP0AACT9AAAh/QAAHf0AABn9AAAV/QAAEv0AAA79AAAK/QAABv0AAAL9AAD+/AAA+/wAAPf8AADz/AAA7/wAAOv8AADn/AAA4/wAAN/8AADc/AAA2PwAANT8AADQ/AAAzPwAAMj8AADE/AAAwPwAALz8AAC4/AAAtPwAALD8AACs/AAAqPwAAKT8AACg/AAAm/wAAJf8AACT/AAAj/wAAIv8AACH/AAAg/wAAH/8AAB7/AAAdvwAAHL8AABu/AAAavwAAGb8AABh/AAAXfwAAFn8AABV/AAAUfwAAEz8AABI/AAARPwAAD/8AAA7/AAAN/wAADP8AAAu/AAAKvwAACb8AAAh/AAAHfwAABj8AAAU/AAAEPwAAAv8AAAH/AAAAvwAAP77AAD6+wAA9fsAAPH7AADs+wAA6PsAAOP7AADf+wAA2vsAANb7AADR+wAAzfsAAMj7AADE+wAAv/sAALv7AAC2+wAAsfsAAK37AACo+wAApPsAAJ/7AACa+wAAlvsAAJH7AACM+wAAiPsAAIP7AAB++wAAevsAAHX7AABw+wAAa/sAAGf7AABi+wAAXfsAAFj7AABU+wAAT/sAAEr7AABF+wAAQPsAADz7AAA3+wAAMvsAAC37AAAo+wAAI/sAAB/7AAAa+wAAFfsAABD7AAAL+wAABvsAAAH7AAD8+gAA9/oAAPL6AADt+gAA6PoAAOP6AADe+gAA2foAANT6AADP+gAAyvoAAMX6AADA+gAAu/oAALb6AACx+gAArPoAAKf6AACh+gAAnPoAAJf6AACS+gAAjfoAAIj6AACD+gAAffoAAHj6AABz+gAAbvoAAGn6AABj+gAAXvoAAFn6AABU+gAATvoAAEn6AABE+gAAPvoAADn6AAA0+gAAL/oAACn6AAAk+gAAH/oAABn6AAAU+gAADvoAAAn6AAAE+gAA/vkAAPn5AADz+QAA7vkAAOj5AADj+QAA3vkAANj5AADT+QAAzfkAAMj5AADC+QAAvfkAALf5AACy+QAArPkAAKb5AACh+QAAm/kAAJb5AACQ+QAAivkAAIX5AAB/+QAAevkAAHT5AABu+QAAafkAAGP5AABd+QAAWPkAAFL5AABM+QAARvkAAEH5AAA7+QAANfkAADD5AAAq+QAAJPkAAB75AAAY+QAAE/kAAA35AAAH+QAAAfkAAPv4AAD1+AAA8PgAAOr4AADk+AAA3vgAANj4AADS+AAAzPgAAMb4AADA+AAAuvgAALT4AACv+AAAqfgAAKP4AACd+AAAl/gAAJH4AACL+AAAhfgAAH74AAB4+AAAcvgAAGz4AABm+AAAYPgAAFr4AABU+AAATvgAAEj4AABC+AAAO/gAADX4AAAv+AAAKfgAACP4AAAd+AAAFvgAABD4AAAK+AAABPgAAP73AAD39wAA8fcAAOv3AADl9wAA3vcAANj3AADS9wAAy/cAAMX3AAC/9wAAuPcAALL3AACs9wAApfcAAJ/3AACZ9wAAkvcAAIz3AACF9wAAf/cAAHn3AABy9wAAbPcAAGX3AABf9wAAWPcAAFL3AABL9wAARfcAAD73AAA49wAAMfcAACv3AAAk9wAAHvcAABf3AAAQ9wAACvcAAAP3AAD99gAA9vYAAO/2AADp9gAA4vYAANv2AADV9gAAzvYAAMf2AADB9gAAuvYAALP2AACt9gAApvYAAJ/2AACY9gAAkvYAAIv2AACE9gAAffYAAHf2AABw9gAAafYAAGL2AABb9gAAVPYAAE72AABH9gAAQPYAADn2AAAy9gAAK/YAACT2AAAd9gAAFvYAABD2AAAJ9gAAAvYAAPv1AAD09QAA7fUAAOb1AADf9QAA2PUAANH1AADK9QAAw/UAALz1AAC19QAArvUAAKb1AACf9QAAmPUAAJH1AACK9QAAg/UAAHz1AAB19QAAbvUAAGb1AABf9QAAWPUAAFH1AABK9QAAQ/UAADv1AAA09QAALfUAACb1AAAe9QAAF/UAABD1AAAJ9QAAAfUAAPr0AADz9AAA6/QAAOT0AADd9AAA1fQAAM70AADH9AAAv/QAALj0AACx9AAAqfQAAKL0AACa9AAAk/QAAIz0AACE9AAAffQAAHX0AABu9AAAZvQAAF/0AABX9AAAUPQAAEj0AABB9AAAOfQAADL0AAAq9AAAI/QAABv0AAAT9AAADPQAAAT0AAD98wAA9fMAAO3zAADm8wAA3vMAANfzAADP8wAAx/MAAMDzAAC48wAAsPMAAKjzAACh8wAAmfMAAJHzAACK8wAAgvMAAHrzAABy8wAAavMAAGPzAABb8wAAU/MAAEvzAABD8wAAPPMAADTzAAAs8wAAJPMAABzzAAAU8wAADPMAAATzAAD98gAA9fIAAO3yAADl8gAA3fIAANXyAADN8gAAxfIAAL3yAAC18gAArfIAAKXyAACd8gAAlfIAAI3yAACF8gAAffIAAHXyAABt8gAAZfIAAF3yAABU8gAATPIAAETyAAA88gAANPIAACzyAAAk8gAAG/IAABPyAAAL8gAAA/IAAPvxAADz8QAA6vEAAOLxAADa8QAA0vEAAMnxAADB8QAAufEAALHxAACo8QAAoPEAAJjxAACP8QAAh/EAAH/xAAB28QAAbvEAAGbxAABd8QAAVfEAAEzxAABE8QAAPPEAADPxAAAr8QAAIvEAABrxAAAR8QAACfEAAAHxAAD48AAA8PAAAOfwAADf8AAA1vAAAM7wAADF8AAAvPAAALTwAACr8AAAo/AAAJrwAACS8AAAifAAAIDwAAB48AAAb/AAAGfwAABe8AAAVfAAAE3wAABE8AAAO/AAADPwAAAq8AAAIfAAABjwAAAQ8AAAB/AAAP7vAAD17wAA7e8AAOTvAADb7wAA0u8AAMrvAADB7wAAuO8AAK/vAACm7wAAne8AAJXvAACM7wAAg+8AAHrvAABx7wAAaO8AAF/vAABW7wAATe8AAEXvAAA87wAAM+8AACrvAAAh7wAAGO8AAA/vAAAG7wAA/e4AAPTuAADr7gAA4u4AANnuAADQ7gAAx+4AAL3uAAC07gAAq+4AAKLuAACZ7gAAkO4AAIfuAAB+7gAAde4AAGvuAABi7gAAWe4AAFDuAABH7gAAPu4AADTuAAAr7gAAIu4AABnuAAAP7gAABu4AAP3tAAD07QAA6u0AAOHtAADY7QAAz+0AAMXtAAC87QAAs+0AAKntAACg7QAAl+0AAI3tAACE7QAAeu0AAHHtAABo7QAAXu0AAFXtAABL7QAAQu0AADjtAAAv7QAAJu0AABztAAAT7QAACe0AAADtAAD27AAA7ewAAOPsAADa7AAA0OwAAMbsAAC97AAAs+wAAKrsAACg7AAAl+wAAI3sAACD7AAAeuwAAHDsAABm7AAAXewAAFPsAABK7AAAQOwAADbsAAAs7AAAI+wAABnsAAAP7AAABuwAAPzrAADy6wAA6OsAAN/rAADV6wAAy+sAAMHrAAC36wAArusAAKTrAACa6wAAkOsAAIbrAAB86wAAc+sAAGnrAABf6wAAVesAAEvrAABB6wAAN+sAAC3rAAAj6wAAGesAAA/rAAAG6wAA/OoAAPLqAADo6gAA3uoAANTqAADK6gAAwOoAALbqAACr6gAAoeoAAJfqAACN6gAAg+oAAHnqAABv6gAAZeoAAFvqAABR6gAAR+oAADzqAAAy6gAAKOoAAB7qAAAU6gAACuoAAP/pAAD16QAA6+kAAOHpAADX6QAAzOkAAMLpAAC46QAArukAAKPpAACZ6QAAj+kAAIXpAAB66QAAcOkAAGbpAABb6QAAUekAAEfpAAA86QAAMukAACfpAAAd6QAAE+kAAAjpAAD+6AAA8+gAAOnoAADf6AAA1OgAAMroAAC/6AAAtegAAKroAACg6AAAlegAAIvoAACA6AAAdugAAGvoAABh6AAAVugAAEzoAABB6AAANugAACzoAAAh6AAAF+gAAAzoAAAB6AAA9+cAAOznAADi5wAA1+cAAMznAADC5wAAt+cAAKznAACh5wAAl+cAAIznAACB5wAAd+cAAGznAABh5wAAVucAAEznAABB5wAANucAACvnAAAg5wAAFucAAAvnAAAA5wAA9eYAAOrmAADf5gAA1eYAAMrmAAC/5gAAtOYAAKnmAACe5gAAk+YAAIjmAAB95gAAcuYAAGfmAABc5gAAUuYAAEfmAAA85gAAMeYAACbmAAAb5gAAEOYAAAXmAAD55QAA7uUAAOPlAADY5QAAzeUAAMLlAAC35QAArOUAAKHlAACW5QAAi+UAAH/lAAB05QAAaeUAAF7lAABT5QAASOUAAD3lAAAx5QAAJuUAABvlAAAQ5QAABOUAAPnkAADu5AAA4+QAANfkAADM5AAAweQAALbkAACq5AAAn+QAAJTkAACI5AAAfeQAAHLkAABm5AAAW+QAAFDkAABE5AAAOeQAAC7kAAAi5AAAF+QAAAvkAAAA5AAA9OMAAOnjAADe4wAA0uMAAMfjAAC74wAAsOMAAKTjAACZ4wAAjeMAAILjAAB24wAAa+MAAF/jAABT4wAASOMAADzjAAAx4wAAJeMAABrjAAAO4wAAAuMAAPfiAADr4gAA3+IAANTiAADI4gAAveIAALHiAACl4gAAmeIAAI7iAACC4gAAduIAAGviAABf4gAAU+IAAEfiAAA84gAAMOIAACTiAAAY4gAADeIAAAHiAAD14QAA6eEAAN3hAADR4QAAxuEAALrhAACu4QAAouEAAJbhAACK4QAAfuEAAHLhAABn4QAAW+EAAE/hAABD4QAAN+EAACvhAAAf4QAAE+EAAAfhAAD74AAA7+AAAOPgAADX4AAAy+AAAL/gAACz4AAAp+AAAJvgAACP4AAAg+AAAHfgAABq4AAAXuAAAFLgAABG4AAAOuAAAC7gAAAi4AAAFuAAAAngAAD93wAA8d8AAOXfAADZ3wAAzd8AAMDfAAC03wAAqN8AAJzfAACP3wAAg98AAHffAABr3wAAXt8AAFLfAABG3wAAOd8AAC3fAAAh3wAAFd8AAAjfAAD83gAA8N4AAOPeAADX3gAAyt4AAL7eAACy3gAApd4AAJneAACM3gAAgN4AAHTeAABn3gAAW94AAE7eAABC3gAANd4AACneAAAc3gAAEN4AAAPeAAD33QAA6t0AAN7dAADR3QAAxd0AALjdAACr3QAAn90AAJLdAACG3QAAed0AAGzdAABg3QAAU90AAEfdAAA63QAALd0AACHdAAAU3QAAB90AAPvcAADu3AAA4dwAANXcAADI3AAAu9wAAK7cAACi3AAAldwAAIjcAAB73AAAb9wAAGLcAABV3AAASNwAADvcAAAv3AAAItwAABXcAAAI3AAA+9sAAO7bAADh2wAA1dsAAMjbAAC72wAArtsAAKHbAACU2wAAh9sAAHrbAABt2wAAYNsAAFPbAABG2wAAOdsAACzbAAAf2wAAEtsAAAXbAAD42gAA69oAAN7aAADR2gAAxNoAALfaAACq2gAAndoAAJDaAACD2gAAdtoAAGnaAABc2gAAT9oAAEHaAAA02gAAJ9oAABraAAAN2gAAANoAAPLZAADl2QAA2NkAAMvZAAC+2QAAsNkAAKPZAACW2QAAidkAAHvZAABu2QAAYdkAAFTZAABG2QAAOdkAACzZAAAe2QAAEdkAAATZAAD22AAA6dgAANzYAADO2AAAwdgAALTYAACm2AAAmdgAAIvYAAB+2AAAcdgAAGPYAABW2AAASNgAADvYAAAt2AAAINgAABLYAAAF2AAA+NcAAOrXAADc1wAAz9cAAMHXAAC01wAAptcAAJnXAACL1wAAftcAAHDXAABj1wAAVdcAAEfXAAA61wAALNcAAB/XAAAR1wAAA9cAAPbWAADo1gAA2tYAAM3WAAC/1gAAsdYAAKTWAACW1gAAiNYAAHrWAABt1gAAX9YAAFHWAABE1gAANtYAACjWAAAa1gAADNYAAP/VAADx1QAA49UAANXVAADH1QAAutUAAKzVAACe1QAAkNUAAILVAAB01QAAZtUAAFnVAABL1QAAPdUAAC/VAAAh1QAAE9UAAAXVAAD31AAA6dQAANvUAADN1AAAv9QAALHUAACj1AAAldQAAIfUAAB51AAAa9QAAF3UAABP1AAAQdQAADPUAAAl1AAAF9QAAAnUAAD70wAA7dMAAN/TAADQ0wAAwtMAALTTAACm0wAAmNMAAIrTAAB80wAAbdMAAF/TAABR0wAAQ9MAADXTAAAm0wAAGNMAAArTAAD80gAA7tIAAN/SAADR0gAAw9IAALXSAACm0gAAmNIAAIrSAAB70gAAbdIAAF/SAABQ0gAAQtIAADTSAAAl0gAAF9IAAAnSAAD60QAA7NEAAN7RAADP0QAAwdEAALLRAACk0QAAldEAAIfRAAB50QAAatEAAFzRAABN0QAAP9EAADDRAAAi0QAAE9EAAAXRAAD20AAA6NAAANnQAADL0AAAvNAAAK7QAACf0AAAkNAAAILQAABz0AAAZdAAAFbQAABH0AAAOdAAACrQAAAc0AAADdAAAP7PAADwzwAA4c8AANLPAADEzwAAtc8AAKbPAACYzwAAic8AAHrPAABrzwAAXc8AAE7PAAA/zwAAMM8AACLPAAATzwAABM8AAPXOAADnzgAA2M4AAMnOAAC6zgAAq84AAJzOAACOzgAAf84AAHDOAABhzgAAUs4AAEPOAAA0zgAAJc4AABfOAAAIzgAA+c0AAOrNAADbzQAAzM0AAL3NAACuzQAAn80AAJDNAACBzQAAcs0AAGPNAABUzQAARc0AADbNAAAnzQAAGM0AAAnNAAD6zAAA68wAANzMAADNzAAAvswAAK7MAACfzAAAkMwAAIHMAAByzAAAY8wAAFTMAABFzAAANcwAACbMAAAXzAAACMwAAPnLAADqywAA2ssAAMvLAAC8ywAArcsAAJ7LAACOywAAf8sAAHDLAABhywAAUcsAAELLAAAzywAAI8sAABTLAAAFywAA9coAAObKAADXygAAx8oAALjKAACpygAAmcoAAIrKAAB7ygAAa8oAAFzKAABNygAAPcoAAC7KAAAeygAAD8oAAP/JAADwyQAA4ckAANHJAADCyQAAsskAAKPJAACTyQAAhMkAAHTJAABlyQAAVckAAEbJAAA2yQAAJ8kAABfJAAAHyQAA+MgAAOjIAADZyAAAycgAALrIAACqyAAAmsgAAIvIAAB7yAAAa8gAAFzIAABMyAAAPMgAAC3IAAAdyAAADcgAAP7HAADuxwAA3scAAM/HAAC/xwAAr8cAAKDHAACQxwAAgMcAAHDHAABhxwAAUccAAEHHAAAxxwAAIccAABLHAAACxwAA8sYAAOLGAADSxgAAwsYAALPGAACjxgAAk8YAAIPGAABzxgAAY8YAAFPGAABExgAANMYAACTGAAAUxgAABMYAAPTFAADkxQAA1MUAAMTFAAC0xQAApMUAAJTFAACExQAAdMUAAGTFAABUxQAARMUAADTFAAAkxQAAFMUAAATFAAD0xAAA5MQAANTEAADExAAAtMQAAKTEAACUxAAAg8QAAHPEAABjxAAAU8QAAEPEAAAzxAAAI8QAABPEAAACxAAA8sMAAOLDAADSwwAAwsMAALHDAAChwwAAkcMAAIHDAABxwwAAYMMAAFDDAABAwwAAMMMAAB/DAAAPwwAA/8IAAO7CAADewgAAzsIAAL7CAACtwgAAncIAAI3CAAB8wgAAbMIAAFzCAABLwgAAO8IAACrCAAAawgAACsIAAPnBAADpwQAA2MEAAMjBAAC4wQAAp8EAAJfBAACGwQAAdsEAAGXBAABVwQAARMEAADTBAAAjwQAAE8EAAALBAADywAAA4cAAANHAAADAwAAAsMAAAJ/AAACPwAAAfsAAAG7AAABdwAAATMAAADzAAAArwAAAG8AAAArAAAD5vwAA6b8AANi/AADHvwAAt78AAKa/AACVvwAAhb8AAHS/AABjvwAAU78AAEK/AAAxvwAAIb8AABC/AAD/vgAA7r4AAN6+AADNvgAAvL4AAKu+AACbvgAAir4AAHm+AABovgAAV74AAEe+AAA2vgAAJb4AABS+AAADvgAA8r0AAOK9AADRvQAAwL0AAK+9AACevQAAjb0AAHy9AABrvQAAWr0AAEq9AAA5vQAAKL0AABe9AAAGvQAA9bwAAOS8AADTvAAAwrwAALG8AACgvAAAj7wAAH68AABtvAAAXLwAAEu8AAA6vAAAKbwAABi8AAAHvAAA9rsAAOW7AADUuwAAw7sAALG7AACguwAAj7sAAH67AABtuwAAXLsAAEu7AAA6uwAAKLsAABe7AAAGuwAA9boAAOS6AADTugAAwboAALC6AACfugAAjroAAH26AABrugAAWroAAEm6AAA4ugAAJroAABW6AAAEugAA87kAAOG5AADQuQAAv7kAAK65AACcuQAAi7kAAHq5AABouQAAV7kAAEa5AAA0uQAAI7kAABK5AAAAuQAA77gAAN24AADMuAAAu7gAAKm4AACYuAAAhrgAAHW4AABkuAAAUrgAAEG4AAAvuAAAHrgAAAy4AAD7twAA6bcAANi3AADGtwAAtbcAAKO3AACStwAAgLcAAG+3AABdtwAATLcAADq3AAAptwAAF7cAAAW3AAD0tgAA4rYAANG2AAC/tgAArbYAAJy2AACKtgAAebYAAGe2AABVtgAARLYAADK2AAAgtgAAD7YAAP21AADrtQAA2rUAAMi1AAC2tQAApbUAAJO1AACBtQAAb7UAAF61AABMtQAAOrUAACi1AAAXtQAABbUAAPO0AADhtAAA0LQAAL60AACstAAAmrQAAIi0AAB3tAAAZbQAAFO0AABBtAAAL7QAAB20AAALtAAA+rMAAOizAADWswAAxLMAALKzAACgswAAjrMAAHyzAABqswAAWLMAAEezAAA1swAAI7MAABGzAAD/sgAA7bIAANuyAADJsgAAt7IAAKWyAACTsgAAgbIAAG+yAABdsgAAS7IAADmyAAAnsgAAFbIAAAOyAADwsQAA3rEAAMyxAAC6sQAAqLEAAJaxAACEsQAAcrEAAGCxAABOsQAAO7EAACmxAAAXsQAABbEAAPOwAADhsAAAzrAAALywAACqsAAAmLAAAIawAAB0sAAAYbAAAE+wAAA9sAAAK7AAABiwAAAGsAAA9K8AAOKvAADPrwAAva8AAKuvAACZrwAAhq8AAHSvAABirwAAT68AAD2vAAArrwAAGK8AAAavAAD0rgAA4a4AAM+uAAC9rgAAqq4AAJiuAACFrgAAc64AAGGuAABOrgAAPK4AACmuAAAXrgAABa4AAPKtAADgrQAAza0AALutAACorQAAlq0AAIOtAABxrQAAXq0AAEytAAA5rQAAJ60AABStAAACrQAA76wAAN2sAADKrAAAuKwAAKWsAACTrAAAgKwAAG2sAABbrAAASKwAADasAAAjrAAAEawAAP6rAADrqwAA2asAAMarAACzqwAAoasAAI6rAAB7qwAAaasAAFarAABDqwAAMasAAB6rAAALqwAA+aoAAOaqAADTqgAAwaoAAK6qAACbqgAAiKoAAHaqAABjqgAAUKoAAD2qAAAqqgAAGKoAAAWqAADyqQAA36kAAM2pAAC6qQAAp6kAAJSpAACBqQAAbqkAAFypAABJqQAANqkAACOpAAAQqQAA/agAAOqoAADXqAAAxagAALKoAACfqAAAjKgAAHmoAABmqAAAU6gAAECoAAAtqAAAGqgAAAeoAAD0pwAA4acAAM6nAAC7pwAAqKcAAJWnAACCpwAAb6cAAFynAABJpwAANqcAACOnAAAQpwAA/aYAAOqmAADXpgAAxKYAALGmAACepgAAi6YAAHimAABlpgAAUqYAAD6mAAArpgAAGKYAAAWmAADypQAA36UAAMylAAC4pQAApaUAAJKlAAB/pQAAbKUAAFmlAABFpQAAMqUAAB+lAAAMpQAA+aQAAOWkAADSpAAAv6QAAKykAACYpAAAhaQAAHKkAABfpAAAS6QAADikAAAlpAAAEqQAAP6jAADrowAA2KMAAMSjAACxowAAnqMAAIqjAAB3owAAZKMAAFCjAAA9owAAKqMAABajAAADowAA76IAANyiAADJogAAtaIAAKKiAACOogAAe6IAAGiiAABUogAAQaIAAC2iAAAaogAABqIAAPOhAADfoQAAzKEAALmhAACloQAAkqEAAH6hAABroQAAV6EAAEOhAAAwoQAAHKEAAAmhAAD1oAAA4qAAAM6gAAC7oAAAp6AAAJSgAACAoAAAbKAAAFmgAABFoAAAMqAAAB6gAAAKoAAA958AAOOfAADQnwAAvJ8AAKifAACVnwAAgZ8AAG2fAABanwAARp8AADKfAAAfnwAAC58AAPeeAADjngAA0J4AALyeAACongAAlZ4AAIGeAABtngAAWZ4AAEaeAAAyngAAHp4AAAqeAAD3nQAA450AAM+dAAC7nQAAp50AAJSdAACAnQAAbJ0AAFidAABEnQAAMZ0AAB2dAAAJnQAA9ZwAAOGcAADNnAAAuZwAAKacAACSnAAAfpwAAGqcAABWnAAAQpwAAC6cAAAanAAABpwAAPKbAADemwAAypsAALebAACjmwAAj5sAAHubAABnmwAAU5sAAD+bAAArmwAAF5sAAAObAADvmgAA25oAAMeaAACzmgAAn5oAAIuaAAB3mgAAY5oAAE+aAAA6mgAAJpoAABKaAAD+mQAA6pkAANaZAADCmQAArpkAAJqZAACGmQAAcpkAAF2ZAABJmQAANZkAACGZAAANmQAA+ZgAAOWYAADQmAAAvJgAAKiYAACUmAAAgJgAAGyYAABXmAAAQ5gAAC+YAAAbmAAAB5gAAPKXAADelwAAypcAALaXAAChlwAAjZcAAHmXAABllwAAUJcAADyXAAAolwAAE5cAAP+WAADrlgAA15YAAMKWAACulgAAmpYAAIWWAABxlgAAXZYAAEiWAAA0lgAAIJYAAAuWAAD3lQAA4pUAAM6VAAC6lQAApZUAAJGVAAB9lQAAaJUAAFSVAAA/lQAAK5UAABaVAAAClQAA7pQAANmUAADFlAAAsJQAAJyUAACHlAAAc5QAAF6UAABKlAAANZQAACGUAAAMlAAA+JMAAOOTAADPkwAAupMAAKaTAACRkwAAfZMAAGiTAABUkwAAP5MAACqTAAAWkwAAAZMAAO2SAADYkgAAxJIAAK+SAACakgAAhpIAAHGSAABdkgAASJIAADOSAAAfkgAACpIAAPWRAADhkQAAzJEAALeRAACjkQAAjpEAAHmRAABlkQAAUJEAADuRAAAnkQAAEpEAAP2QAADpkAAA1JAAAL+QAACqkAAAlpAAAIGQAABskAAAV5AAAEOQAAAukAAAGZAAAASQAADwjwAA248AAMaPAACxjwAAnI8AAIiPAABzjwAAXo8AAEmPAAA0jwAAH48AAAuPAAD2jgAA4Y4AAMyOAAC3jgAAoo4AAI2OAAB5jgAAZI4AAE+OAAA6jgAAJY4AABCOAAD7jQAA5o0AANGNAAC8jQAAp40AAJONAAB+jQAAaY0AAFSNAAA/jQAAKo0AABWNAAAAjQAA64wAANaMAADBjAAArIwAAJeMAACCjAAAbYwAAFiMAABDjAAALowAABmMAAAEjAAA74sAANqLAADFiwAAr4sAAJqLAACFiwAAcIsAAFuLAABGiwAAMYsAAByLAAAHiwAA8ooAAN2KAADHigAAsooAAJ2KAACIigAAc4oAAF6KAABJigAANIoAAB6KAAAJigAA9IkAAN+JAADKiQAAtIkAAJ+JAACKiQAAdYkAAGCJAABKiQAANYkAACCJAAALiQAA9ogAAOCIAADLiAAAtogAAKGIAACLiAAAdogAAGGIAABMiAAANogAACGIAAAMiAAA9ocAAOGHAADMhwAAt4cAAKGHAACMhwAAd4cAAGGHAABMhwAAN4cAACGHAAAMhwAA94YAAOGGAADMhgAAtoYAAKGGAACMhgAAdoYAAGGGAABMhgAANoYAACGGAAALhgAA9oUAAOCFAADLhQAAtoUAAKCFAACLhQAAdYUAAGCFAABKhQAANYUAAB+FAAAKhQAA9YQAAN+EAADKhAAAtIQAAJ+EAACJhAAAdIQAAF6EAABJhAAAM4QAAB2EAAAIhAAA8oMAAN2DAADHgwAAsoMAAJyDAACHgwAAcYMAAFyDAABGgwAAMIMAABuDAAAFgwAA8IIAANqCAADEggAAr4IAAJmCAACEggAAboIAAFiCAABDggAALYIAABeCAAACggAA7IEAANaBAADBgQAAq4EAAJWBAACAgQAAaoEAAFSBAAA/gQAAKYEAABOBAAD+gAAA6IAAANKAAAC8gAAAp4AAAJGAAAB7gAAAZoAAAFCAAAA6gAAAJIAAAA+AAAD5fwAA438AAM1/AAC3fwAAon8AAIx/AAB2fwAAYH8AAEp/AAA1fwAAH38AAAl/AADzfgAA3X4AAMh+AACyfgAAnH4AAIZ+AABwfgAAWn4AAER+AAAvfgAAGX4AAAN+AADtfQAA130AAMF9AACrfQAAlX0AAH99AABqfQAAVH0AAD59AAAofQAAEn0AAPx8AADmfAAA0HwAALp8AACkfAAAjnwAAHh8AABifAAATHwAADZ8AAAgfAAACnwAAPR7AADeewAAyHsAALJ7AACcewAAhnsAAHB7AABaewAARHsAAC57AAAYewAAAnsAAOx6AADWegAAwHoAAKp6AACUegAAfnoAAGh6AABSegAAPHoAACZ6AAAQegAA+XkAAON5AADNeQAAt3kAAKF5AACLeQAAdXkAAF95AABJeQAAMnkAABx5AAAGeQAA8HgAANp4AADEeAAArXgAAJd4AACBeAAAa3gAAFV4AAA/eAAAKHgAABJ4AAD8dwAA5ncAANB3AAC5dwAAo3cAAI13AAB3dwAAYHcAAEp3AAA0dwAAHncAAAh3AADxdgAA23YAAMV2AACudgAAmHYAAIJ2AABsdgAAVXYAAD92AAApdgAAEnYAAPx1AADmdQAA0HUAALl1AACjdQAAjXUAAHZ1AABgdQAASnUAADN1AAAddQAAB3UAAPB0AADadAAAw3QAAK10AACXdAAAgHQAAGp0AABUdAAAPXQAACd0AAAQdAAA+nMAAORzAADNcwAAt3MAAKBzAACKcwAAc3MAAF1zAABHcwAAMHMAABpzAAADcwAA7XIAANZyAADAcgAAqXIAAJNyAAB8cgAAZnIAAFByAAA5cgAAI3IAAAxyAAD2cQAA33EAAMlxAACycQAAm3EAAIVxAABucQAAWHEAAEFxAAArcQAAFHEAAP5wAADncAAA0XAAALpwAACjcAAAjXAAAHZwAABgcAAASXAAADNwAAAccAAABXAAAO9vAADYbwAAwm8AAKtvAACUbwAAfm8AAGdvAABQbwAAOm8AACNvAAANbwAA9m4AAN9uAADJbgAAsm4AAJtuAACFbgAAbm4AAFduAABBbgAAKm4AABNuAAD8bQAA5m0AAM9tAAC4bQAAom0AAIttAAB0bQAAXm0AAEdtAAAwbQAAGW0AAANtAADsbAAA1WwAAL5sAACobAAAkWwAAHpsAABjbAAATWwAADZsAAAfbAAACGwAAPFrAADbawAAxGsAAK1rAACWawAAf2sAAGlrAABSawAAO2sAACRrAAANawAA9moAAOBqAADJagAAsmoAAJtqAACEagAAbWoAAFdqAABAagAAKWoAABJqAAD7aQAA5GkAAM1pAAC2aQAAoGkAAIlpAAByaQAAW2kAAERpAAAtaQAAFmkAAP9oAADoaAAA0WgAALpoAACjaAAAjWgAAHZoAABfaAAASGgAADFoAAAaaAAAA2gAAOxnAADVZwAAvmcAAKdnAACQZwAAeWcAAGJnAABLZwAANGcAAB1nAAAGZwAA72YAANhmAADBZgAAqmYAAJNmAAB8ZgAAZWYAAE5mAAA3ZgAAIGYAAAlmAADyZQAA22UAAMNlAACsZQAAlWUAAH5lAABnZQAAUGUAADllAAAiZQAAC2UAAPRkAADdZAAAxmQAAK5kAACXZAAAgGQAAGlkAABSZAAAO2QAACRkAAANZAAA9WMAAN5jAADHYwAAsGMAAJljAACCYwAAa2MAAFNjAAA8YwAAJWMAAA5jAAD3YgAA4GIAAMhiAACxYgAAmmIAAINiAABsYgAAVGIAAD1iAAAmYgAAD2IAAPhhAADgYQAAyWEAALJhAACbYQAAg2EAAGxhAABVYQAAPmEAACZhAAAPYQAA+GAAAOFgAADJYAAAsmAAAJtgAACEYAAAbGAAAFVgAAA+YAAAJmAAAA9gAAD4XwAA4V8AAMlfAACyXwAAm18AAINfAABsXwAAVV8AAD1fAAAmXwAAD18AAPdeAADgXgAAyV4AALFeAACaXgAAg14AAGteAABUXgAAPF4AACVeAAAOXgAA9l0AAN9dAADIXQAAsF0AAJldAACBXQAAal0AAFNdAAA7XQAAJF0AAAxdAAD1XAAA3lwAAMZcAACvXAAAl1wAAIBcAABoXAAAUVwAADpcAAAiXAAAC1wAAPNbAADcWwAAxFsAAK1bAACVWwAAflsAAGZbAABPWwAAN1sAACBbAAAIWwAA8VoAANlaAADCWgAAqloAAJNaAAB7WgAAZFoAAExaAAA1WgAAHVoAAAZaAADuWQAA11kAAL9ZAACoWQAAkFkAAHlZAABhWQAASlkAADJZAAAaWQAAA1kAAOtYAADUWAAAvFgAAKVYAACNWAAAdVgAAF5YAABGWAAAL1gAABdYAAD/VwAA6FcAANBXAAC5VwAAoVcAAIlXAAByVwAAWlcAAENXAAArVwAAE1cAAPxWAADkVgAAzFYAALVWAACdVgAAhVYAAG5WAABWVgAAPlYAACdWAAAPVgAA91UAAOBVAADIVQAAsFUAAJlVAACBVQAAaVUAAFJVAAA6VQAAIlUAAAtVAADzVAAA21QAAMNUAACsVAAAlFQAAHxUAABkVAAATVQAADVUAAAdVAAABlQAAO5TAADWUwAAvlMAAKdTAACPUwAAd1MAAF9TAABIUwAAMFMAABhTAAAAUwAA6FIAANFSAAC5UgAAoVIAAIlSAAByUgAAWlIAAEJSAAAqUgAAElIAAPtRAADjUQAAy1EAALNRAACbUQAAg1EAAGxRAABUUQAAPFEAACRRAAAMUQAA9FAAAN1QAADFUAAArVAAAJVQAAB9UAAAZVAAAE1QAAA2UAAAHlAAAAZQAADuTwAA1k8AAL5PAACmTwAAjk8AAHdPAABfTwAAR08AAC9PAAAXTwAA/04AAOdOAADPTgAAt04AAJ9OAACHTgAAcE4AAFhOAABATgAAKE4AABBOAAD4TQAA4E0AAMhNAACwTQAAmE0AAIBNAABoTQAAUE0AADhNAAAgTQAACE0AAPBMAADYTAAAwEwAAKhMAACQTAAAeUwAAGFMAABJTAAAMUwAABlMAAABTAAA6UsAANFLAAC5SwAAoUsAAIlLAABxSwAAWEsAAEBLAAAoSwAAEEsAAPhKAADgSgAAyEoAALBKAACYSgAAgEoAAGhKAABQSgAAOEoAACBKAAAISgAA8EkAANhJAADASQAAqEkAAJBJAAB4SQAAX0kAAEdJAAAvSQAAF0kAAP9IAADnSAAAz0gAALdIAACfSAAAh0gAAG9IAABWSAAAPkgAACZIAAAOSAAA9kcAAN5HAADGRwAArkcAAJVHAAB9RwAAZUcAAE1HAAA1RwAAHUcAAAVHAADsRgAA1EYAALxGAACkRgAAjEYAAHRGAABcRgAAQ0YAACtGAAATRgAA+0UAAONFAADLRQAAskUAAJpFAACCRQAAakUAAFJFAAA5RQAAIUUAAAlFAADxRAAA2UQAAMBEAACoRAAAkEQAAHhEAABgRAAAR0QAAC9EAAAXRAAA/0MAAOZDAADOQwAAtkMAAJ5DAACFQwAAbUMAAFVDAAA9QwAAJEMAAAxDAAD0QgAA3EIAAMNCAACrQgAAk0IAAHtCAABiQgAASkIAADJCAAAaQgAAAUIAAOlBAADRQQAAuEEAAKBBAACIQQAAb0EAAFdBAAA/QQAAJ0EAAA5BAAD2QAAA3kAAAMVAAACtQAAAlUAAAHxAAABkQAAATEAAADNAAAAbQAAAA0AAAOo/AADSPwAAuj8AAKE/AACJPwAAcT8AAFg/AABAPwAAKD8AAA8/AAD3PgAA3z4AAMY+AACuPgAAlT4AAH0+AABlPgAATD4AADQ+AAAcPgAAAz4AAOs9AADSPQAAuj0AAKI9AACJPQAAcT0AAFg9AABAPQAAKD0AAA89AAD3PAAA3jwAAMY8AACuPAAAlTwAAH08AABkPAAATDwAADM8AAAbPAAAAzwAAOo7AADSOwAAuTsAAKE7AACIOwAAcDsAAFg7AAA/OwAAJzsAAA47AAD2OgAA3ToAAMU6AACsOgAAlDoAAHs6AABjOgAASjoAADI6AAAaOgAAAToAAOk5AADQOQAAuDkAAJ85AACHOQAAbjkAAFY5AAA9OQAAJTkAAAw5AAD0OAAA2zgAAMM4AACqOAAAkjgAAHk4AABhOAAASDgAADA4AAAXOAAA/jcAAOY3AADNNwAAtTcAAJw3AACENwAAazcAAFM3AAA6NwAAIjcAAAk3AADxNgAA2DYAAMA2AACnNgAAjjYAAHY2AABdNgAARTYAACw2AAAUNgAA+zUAAOI1AADKNQAAsTUAAJk1AACANQAAaDUAAE81AAA2NQAAHjUAAAU1AADtNAAA1DQAALs0AACjNAAAijQAAHI0AABZNAAAQDQAACg0AAAPNAAA9zMAAN4zAADFMwAArTMAAJQzAAB8MwAAYzMAAEozAAAyMwAAGTMAAAAzAADoMgAAzzIAALcyAACeMgAAhTIAAG0yAABUMgAAOzIAACMyAAAKMgAA8TEAANkxAADAMQAApzEAAI8xAAB2MQAAXjEAAEUxAAAsMQAAFDEAAPswAADiMAAAyjAAALEwAACYMAAAfzAAAGcwAABOMAAANTAAAB0wAAAEMAAA6y8AANMvAAC6LwAAoS8AAIkvAABwLwAAVy8AAD8vAAAmLwAADS8AAPQuAADcLgAAwy4AAKouAACSLgAAeS4AAGAuAABHLgAALy4AABYuAAD9LQAA5S0AAMwtAACzLQAAmi0AAIItAABpLQAAUC0AADctAAAfLQAABi0AAO0sAADULAAAvCwAAKMsAACKLAAAcSwAAFksAABALAAAJywAAA4sAAD2KwAA3SsAAMQrAACrKwAAkysAAHorAABhKwAASCsAADArAAAXKwAA/ioAAOUqAADMKgAAtCoAAJsqAACCKgAAaSoAAFEqAAA4KgAAHyoAAAYqAADtKQAA1SkAALwpAACjKQAAiikAAHEpAABZKQAAQCkAACcpAAAOKQAA9SgAAN0oAADEKAAAqygAAJIoAAB5KAAAYCgAAEgoAAAvKAAAFigAAP0nAADkJwAAzCcAALMnAACaJwAAgScAAGgnAABPJwAANycAAB4nAAAFJwAA7CYAANMmAAC6JgAAoiYAAIkmAABwJgAAVyYAAD4mAAAlJgAADCYAAPQlAADbJQAAwiUAAKklAACQJQAAdyUAAF4lAABGJQAALSUAABQlAAD7JAAA4iQAAMkkAACwJAAAlyQAAH8kAABmJAAATSQAADQkAAAbJAAAAiQAAOkjAADQIwAAuCMAAJ8jAACGIwAAbSMAAFQjAAA7IwAAIiMAAAkjAADwIgAA1yIAAL8iAACmIgAAjSIAAHQiAABbIgAAQiIAACkiAAAQIgAA9yEAAN4hAADGIQAArSEAAJQhAAB7IQAAYiEAAEkhAAAwIQAAFyEAAP4gAADlIAAAzCAAALMgAACaIAAAgiAAAGkgAABQIAAANyAAAB4gAAAFIAAA7B8AANMfAAC6HwAAoR8AAIgfAABvHwAAVh8AAD0fAAAkHwAACx8AAPMeAADaHgAAwR4AAKgeAACPHgAAdh4AAF0eAABEHgAAKx4AABIeAAD5HQAA4B0AAMcdAACuHQAAlR0AAHwdAABjHQAASh0AADEdAAAYHQAA/xwAAOYcAADNHAAAtBwAAJscAACCHAAAaRwAAFEcAAA4HAAAHxwAAAYcAADtGwAA1BsAALsbAACiGwAAiRsAAHAbAABXGwAAPhsAACUbAAAMGwAA8xoAANoaAADBGgAAqBoAAI8aAAB2GgAAXRoAAEQaAAArGgAAEhoAAPkZAADgGQAAxxkAAK4ZAACVGQAAfBkAAGMZAABKGQAAMRkAABgZAAD/GAAA5hgAAM0YAAC0GAAAmxgAAIIYAABpGAAAUBgAADcYAAAdGAAABBgAAOsXAADSFwAAuRcAAKAXAACHFwAAbhcAAFUXAAA8FwAAIxcAAAoXAADxFgAA2BYAAL8WAACmFgAAjRYAAHQWAABbFgAAQhYAACkWAAAQFgAA9xUAAN4VAADFFQAArBUAAJMVAAB6FQAAYRUAAEgVAAAuFQAAFRUAAPwUAADjFAAAyhQAALEUAACYFAAAfxQAAGYUAABNFAAANBQAABsUAAACFAAA6RMAANATAAC3EwAAnhMAAIUTAABsEwAAUhMAADkTAAAgEwAABxMAAO4SAADVEgAAvBIAAKMSAACKEgAAcRIAAFgSAAA/EgAAJhIAAA0SAAD0EQAA2hEAAMERAACoEQAAjxEAAHYRAABdEQAARBEAACsRAAASEQAA+RAAAOAQAADHEAAArhAAAJQQAAB7EAAAYhAAAEkQAAAwEAAAFxAAAP4PAADlDwAAzA8AALMPAACaDwAAgQ8AAGcPAABODwAANQ8AABwPAAADDwAA6g4AANEOAAC4DgAAnw4AAIYOAABtDgAAUw4AADoOAAAhDgAACA4AAO8NAADWDQAAvQ0AAKQNAACLDQAAcg0AAFkNAAA/DQAAJg0AAA0NAAD0DAAA2wwAAMIMAACpDAAAkAwAAHcMAABdDAAARAwAACsMAAASDAAA+QsAAOALAADHCwAArgsAAJULAAB8CwAAYgsAAEkLAAAwCwAAFwsAAP4KAADlCgAAzAoAALMKAACaCgAAgAoAAGcKAABOCgAANQoAABwKAAADCgAA6gkAANEJAAC4CQAAngkAAIUJAABsCQAAUwkAADoJAAAhCQAACAkAAO8IAADVCAAAvAgAAKMIAACKCAAAcQgAAFgIAAA/CAAAJggAAA0IAADzBwAA2gcAAMEHAACoBwAAjwcAAHYHAABdBwAARAcAACoHAAARBwAA+AYAAN8GAADGBgAArQYAAJQGAAB7BgAAYQYAAEgGAAAvBgAAFgYAAP0FAADkBQAAywUAALIFAACYBQAAfwUAAGYFAABNBQAANAUAABsFAAACBQAA6QQAAM8EAAC2BAAAnQQAAIQEAABrBAAAUgQAADkEAAAgBAAABgQAAO0DAADUAwAAuwMAAKIDAACJAwAAcAMAAFYDAAA9AwAAJAMAAAsDAADyAgAA2QIAAMACAACnAgAAjQIAAHQCAABbAgAAQgIAACkCAAAQAgAA9wEAAN4BAADEAQAAqwEAAJIBAAB5AQAAYAEAAEcBAAAuAQAAFAEAAPsAAADiAAAAyQAAALAAAACXAAAAfgAAAGUAAABLAAAAMgAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAKAAAADwAAABQAAAAZAAAAHwAAACQAAAApAAAALgAAADMAAAA4AAAAPQAAAEIAAABHAAAATAAAAFEAAABXAAAAXAAAAGEAAABmAAAAawAAAHAAAAB1AAAAegAAAH8AAACEAAAAigAAAI8AAACUAAAAmQAAAJ4AAACjAAAAqAAAAK0AAACyAAAAtwAAALwAAADCAAAAxwAAAMwAAADRAAAA1gAAANsAAADgAAAA5QAAAOoAAADvAAAA9AAAAPoAAAD/AAAABAEAAAkBAAAOAQAAEwEAABgBAAAdAQAAIgEAACcBAAAsAQAAMQEAADcBAAA8AQAAQQEAAEYBAABLAQAAUAEAAFUBAABaAQAAXwEAAGQBAABpAQAAbwEAAHQBAAB5AQAAfgEAAIMBAACIAQAAjQEAAJIBAACXAQAAnAEAAKEBAACmAQAArAEAALEBAAC2AQAAuwEAAMABAADFAQAAygEAAM8BAADUAQAA2QEAAN4BAADjAQAA6QEAAO4BAADzAQAA+AEAAP0BAAACAgAABwIAAAwCAAARAgAAFgIAABsCAAAgAgAAJgIAACsCAAAwAgAANQIAADoCAAA/AgAARAIAAEkCAABOAgAAUwIAAFgCAABdAgAAYgIAAGgCAABtAgAAcgIAAHcCAAB8AgAAgQIAAIYCAACLAgAAkAIAAJUCAACaAgAAnwIAAKQCAACpAgAArwIAALQCAAC5AgAAvgIAAMMCAADIAgAAzQIAANICAADXAgAA3AIAAOECAADmAgAA6wIAAPACAAD2AgAA+wIAAAADAAAFAwAACgMAAA8DAAAUAwAAGQMAAB4DAAAjAwAAKAMAAC0DAAAyAwAANwMAADwDAABBAwAARwMAAEwDAABRAwAAVgMAAFsDAABgAwAAZQMAAGoDAABvAwAAdAMAAHkDAAB+AwAAgwMAAIgDAACNAwAAkgMAAJcDAACcAwAAogMAAKcDAACsAwAAsQMAALYDAAC7AwAAwAMAAMUDAADKAwAAzwMAANQDAADZAwAA3gMAAOMDAADoAwAA7QMAAPIDAAD3AwAA/AMAAAEEAAAHBAAADAQAABEEAAAWBAAAGwQAACAEAAAlBAAAKgQAAC8EAAA0BAAAOQQAAD4EAABDBAAASAQAAE0EAABSBAAAVwQAAFwEAABhBAAAZgQAAGsEAABwBAAAdQQAAHoEAAB/BAAAhAQAAIkEAACOBAAAlAQAAJkEAACeBAAAowQAAKgEAACtBAAAsgQAALcEAAC8BAAAwQQAAMYEAADLBAAA0AQAANUEAADaBAAA3wQAAOQEAADpBAAA7gQAAPMEAAD4BAAA/QQAAAIFAAAHBQAADAUAABEFAAAWBQAAGwUAACAFAAAlBQAAKgUAAC8FAAA0BQAAOQUAAD4FAABDBQAASAUAAE0FAABSBQAAVwUAAFwFAABhBQAAZgUAAGsFAABwBQAAdQUAAHoFAAB/BQAAhAUAAIkFAACOBQAAkwUAAJgFAACdBQAAogUAAKcFAACsBQAAsQUAALYFAAC7BQAAwAUAAMUFAADKBQAAzwUAANQFAADZBQAA3gUAAOMFAADoBQAA7QUAAPIFAAD3BQAA/AUAAAEGAAAGBgAACwYAABAGAAAVBgAAGgYAAB8GAAAkBgAAKQYAAC4GAAAzBgAAOAYAAD0GAABCBgAARwYAAEwGAABRBgAAVgYAAFsGAABgBgAAZQYAAGoGAABuBgAAcwYAAHgGAAB9BgAAggYAAIcGAACMBgAAkQYAAJYGAACbBgAAoAYAAKUGAACqBgAArwYAALQGAAC5BgAAvgYAAMMGAADIBgAAzQYAANIGAADXBgAA3AYAAOEGAADlBgAA6gYAAO8GAAD0BgAA+QYAAP4GAAADBwAACAcAAA0HAAASBwAAFwcAABwHAAAhBwAAJgcAACsHAAAwBwAANQcAADkHAAA+BwAAQwcAAEgHAABNBwAAUgcAAFcHAABcBwAAYQcAAGYHAABrBwAAcAcAAHUHAAB6BwAAfgcAAIMHAACIBwAAjQcAAJIHAACXBwAAnAcAAKEHAACmBwAAqwcAALAHAAC1BwAAuQcAAL4HAADDBwAAyAcAAM0HAADSBwAA1wcAANwHAADhBwAA5gcAAOsHAADvBwAA9AcAAPkHAAD+BwAAAwgAAAgIAAANCAAAEggAABcIAAAcCAAAIAgAACUIAAAqCAAALwgAADQIAAA5CAAAPggAAEMIAABICAAATAgAAFEIAABWCAAAWwgAAGAIAABlCAAAaggAAG8IAABzCAAAeAgAAH0IAACCCAAAhwgAAIwIAACRCAAAlggAAJoIAACfCAAApAgAAKkIAACuCAAAswgAALgIAAC9CAAAwQgAAMYIAADLCAAA0AgAANUIAADaCAAA3wgAAOMIAADoCAAA7QgAAPIIAAD3CAAA/AgAAAEJAAAFCQAACgkAAA8JAAAUCQAAGQkAAB4JAAAiCQAAJwkAACwJAAAxCQAANgkAADsJAAA/CQAARAkAAEkJAABOCQAAUwkAAFgJAABcCQAAYQkAAGYJAABrCQAAcAkAAHUJAAB5CQAAfgkAAIMJAACICQAAjQkAAJIJAACWCQAAmwkAAKAJAAClCQAAqgkAAK4JAACzCQAAuAkAAL0JAADCCQAAxgkAAMsJAADQCQAA1QkAANoJAADeCQAA4wkAAOgJAADtCQAA8gkAAPYJAAD7CQAAAAoAAAUKAAAKCgAADgoAABMKAAAYCgAAHQoAACIKAAAmCgAAKwoAADAKAAA1CgAAOQoAAD4KAABDCgAASAoAAE0KAABRCgAAVgoAAFsKAABgCgAAZAoAAGkKAABuCgAAcwoAAHcKAAB8CgAAgQoAAIYKAACLCgAAjwoAAJQKAACZCgAAngoAAKIKAACnCgAArAoAALEKAAC1CgAAugoAAL8KAADECgAAyAoAAM0KAADSCgAA1woAANsKAADgCgAA5QoAAOkKAADuCgAA8woAAPgKAAD8CgAAAQsAAAYLAAALCwAADwsAABQLAAAZCwAAHgsAACILAAAnCwAALAsAADALAAA1CwAAOgsAAD8LAABDCwAASAsAAE0LAABRCwAAVgsAAFsLAABgCwAAZAsAAGkLAABuCwAAcgsAAHcLAAB8CwAAgAsAAIULAACKCwAAjwsAAJMLAACYCwAAnQsAAKELAACmCwAAqwsAAK8LAAC0CwAAuQsAAL0LAADCCwAAxwsAAMsLAADQCwAA1QsAANkLAADeCwAA4wsAAOcLAADsCwAA8QsAAPULAAD6CwAA/wsAAAMMAAAIDAAADQwAABEMAAAWDAAAGwwAAB8MAAAkDAAAKQwAAC0MAAAyDAAANwwAADsMAABADAAARQwAAEkMAABODAAAUwwAAFcMAABcDAAAYAwAAGUMAABqDAAAbgwAAHMMAAB4DAAAfAwAAIEMAACGDAAAigwAAI8MAACTDAAAmAwAAJ0MAAChDAAApgwAAKsMAACvDAAAtAwAALgMAAC9DAAAwgwAAMYMAADLDAAAzwwAANQMAADZDAAA3QwAAOIMAADmDAAA6wwAAPAMAAD0DAAA+QwAAP0MAAACDQAABw0AAAsNAAAQDQAAFA0AABkNAAAeDQAAIg0AACcNAAArDQAAMA0AADQNAAA5DQAAPg0AAEINAABHDQAASw0AAFANAABUDQAAWQ0AAF4NAABiDQAAZw0AAGsNAABwDQAAdA0AAHkNAAB9DQAAgg0AAIcNAACLDQAAkA0AAJQNAACZDQAAnQ0AAKINAACmDQAAqw0AAK8NAAC0DQAAuQ0AAL0NAADCDQAAxg0AAMsNAADPDQAA1A0AANgNAADdDQAA4Q0AAOYNAADqDQAA7w0AAPMNAAD4DQAA/A0AAAEOAAAFDgAACg4AAA8OAAATDgAAGA4AABwOAAAhDgAAJQ4AACoOAAAuDgAAMw4AADcOAAA8DgAAQA4AAEUOAABJDgAATg4AAFIOAABWDgAAWw4AAF8OAABkDgAAaA4AAG0OAABxDgAAdg4AAHoOAAB/DgAAgw4AAIgOAACMDgAAkQ4AAJUOAACaDgAAng4AAKMOAACnDgAArA4AALAOAAC0DgAAuQ4AAL0OAADCDgAAxg4AAMsOAADPDgAA1A4AANgOAADcDgAA4Q4AAOUOAADqDgAA7g4AAPMOAAD3DgAA/A4AAAAPAAAEDwAACQ8AAA0PAAASDwAAFg8AABsPAAAfDwAAIw8AACgPAAAsDwAAMQ8AADUPAAA6DwAAPg8AAEIPAABHDwAASw8AAFAPAABUDwAAWA8AAF0PAABhDwAAZg8AAGoPAABuDwAAcw8AAHcPAAB8DwAAgA8AAIQPAACJDwAAjQ8AAJEPAACWDwAAmg8AAJ8PAACjDwAApw8AAKwPAACwDwAAtQ8AALkPAAC9DwAAwg8AAMYPAADKDwAAzw8AANMPAADXDwAA3A8AAOAPAADlDwAA6Q8AAO0PAADyDwAA9g8AAPoPAAD/DwAAAxAAAAcQAAAMEAAAEBAAABQQAAAZEAAAHRAAACEQAAAmEAAAKhAAAC4QAAAzEAAANxAAADsQAABAEAAARBAAAEgQAABNEAAAURAAAFUQAABaEAAAXhAAAGIQAABnEAAAaxAAAG8QAABzEAAAeBAAAHwQAACAEAAAhRAAAIkQAACNEAAAkhAAAJYQAACaEAAAnhAAAKMQAACnEAAAqxAAALAQAAC0EAAAuBAAALwQAADBEAAAxRAAAMkQAADOEAAA0hAAANYQAADaEAAA3xAAAOMQAADnEAAA6xAAAPAQAAD0EAAA+BAAAP0QAAABEQAABREAAAkRAAAOEQAAEhEAABYRAAAaEQAAHxEAACMRAAAnEQAAKxEAADARAAA0EQAAOBEAADwRAABAEQAARREAAEkRAABNEQAAUREAAFYRAABaEQAAXhEAAGIRAABmEQAAaxEAAG8RAABzEQAAdxEAAHwRAACAEQAAhBEAAIgRAACMEQAAkREAAJURAACZEQAAnREAAKERAACmEQAAqhEAAK4RAACyEQAAthEAALsRAAC/EQAAwxEAAMcRAADLEQAAzxEAANQRAADYEQAA3BEAAOARAADkEQAA6REAAO0RAADxEQAA9REAAPkRAAD9EQAAAhIAAAYSAAAKEgAADhIAABISAAAWEgAAGhIAAB8SAAAjEgAAJxIAACsSAAAvEgAAMxIAADcSAAA8EgAAQBIAAEQSAABIEgAATBIAAFASAABUEgAAWRIAAF0SAABhEgAAZRIAAGkSAABtEgAAcRIAAHUSAAB6EgAAfhIAAIISAACGEgAAihIAAI4SAACSEgAAlhIAAJoSAACfEgAAoxIAAKcSAACrEgAArxIAALMSAAC3EgAAuxIAAL8SAADDEgAAxxIAAMwSAADQEgAA1BIAANgSAADcEgAA4BIAAOQSAADoEgAA7BIAAPASAAD0EgAA+BIAAPwSAAABEwAABRMAAAkTAAANEwAAERMAABUTAAAZEwAAHRMAACETAAAlEwAAKRMAAC0TAAAxEwAANRMAADkTAAA9EwAAQRMAAEUTAABJEwAATRMAAFETAABVEwAAWhMAAF4TAABiEwAAZhMAAGoTAABuEwAAchMAAHYTAAB6EwAAfhMAAIITAACGEwAAihMAAI4TAACSEwAAlhMAAJoTAACeEwAAohMAAKYTAACqEwAArhMAALITAAC2EwAAuhMAAL4TAADCEwAAxhMAAMoTAADOEwAA0hMAANYTAADaEwAA3hMAAOITAADmEwAA6RMAAO0TAADxEwAA9RMAAPkTAAD9EwAAARQAAAUUAAAJFAAADRQAABEUAAAVFAAAGRQAAB0UAAAhFAAAJRQAACkUAAAtFAAAMRQAADUUAAA5FAAAPRQAAEAUAABEFAAASBQAAEwUAABQFAAAVBQAAFgUAABcFAAAYBQAAGQUAABoFAAAbBQAAHAUAABzFAAAdxQAAHsUAAB/FAAAgxQAAIcUAACLFAAAjxQAAJMUAACXFAAAmxQAAJ4UAACiFAAAphQAAKoUAACuFAAAshQAALYUAAC6FAAAvhQAAMEUAADFFAAAyRQAAM0UAADRFAAA1RQAANkUAADdFAAA4BQAAOQUAADoFAAA7BQAAPAUAAD0FAAA+BQAAPsUAAD/FAAAAxUAAAcVAAALFQAADxUAABMVAAAWFQAAGhUAAB4VAAAiFQAAJhUAACoVAAAtFQAAMRUAADUVAAA5FQAAPRUAAEEVAABEFQAASBUAAEwVAABQFQAAVBUAAFgVAABbFQAAXxUAAGMVAABnFQAAaxUAAG4VAAByFQAAdhUAAHoVAAB+FQAAgRUAAIUVAACJFQAAjRUAAJEVAACUFQAAmBUAAJwVAACgFQAApBUAAKcVAACrFQAArxUAALMVAAC3FQAAuhUAAL4VAADCFQAAxhUAAMkVAADNFQAA0RUAANUVAADYFQAA3BUAAOAVAADkFQAA6BUAAOsVAADvFQAA8xUAAPcVAAD6FQAA/hUAAAIWAAAGFgAACRYAAA0WAAARFgAAFBYAABgWAAAcFgAAIBYAACMWAAAnFgAAKxYAAC8WAAAyFgAANhYAADoWAAA+FgAAQRYAAEUWAABJFgAATBYAAFAWAABUFgAAWBYAAFsWAABfFgAAYxYAAGYWAABqFgAAbhYAAHEWAAB1FgAAeRYAAH0WAACAFgAAhBYAAIgWAACLFgAAjxYAAJMWAACWFgAAmhYAAJ4WAAChFgAApRYAAKkWAACsFgAAsBYAALQWAAC3FgAAuxYAAL8WAADCFgAAxhYAAMoWAADNFgAA0RYAANUWAADYFgAA3BYAAOAWAADjFgAA5xYAAOsWAADuFgAA8hYAAPYWAAD5FgAA/RYAAAAXAAAEFwAACBcAAAsXAAAPFwAAExcAABYXAAAaFwAAHRcAACEXAAAlFwAAKBcAACwXAAAwFwAAMxcAADcXAAA6FwAAPhcAAEIXAABFFwAASRcAAEwXAABQFwAAVBcAAFcXAABbFwAAXhcAAGIXAABmFwAAaRcAAG0XAABwFwAAdBcAAHgXAAB7FwAAfxcAAIIXAACGFwAAiRcAAI0XAACRFwAAlBcAAJgXAACbFwAAnxcAAKIXAACmFwAAqhcAAK0XAACxFwAAtBcAALgXAAC7FwAAvxcAAMIXAADGFwAAyRcAAM0XAADRFwAA1BcAANgXAADbFwAA3xcAAOIXAADmFwAA6RcAAO0XAADwFwAA9BcAAPcXAAD7FwAA/hcAAAIYAAAGGAAACRgAAA0YAAAQGAAAFBgAABcYAAAbGAAAHhgAACIYAAAlGAAAKRgAACwYAAAwGAAAMxgAADcYAAA6GAAAPhgAAEEYAABFGAAASBgAAEwYAABPGAAAUxgAAFYYAABaGAAAXRgAAGAYAABkGAAAZxgAAGsYAABuGAAAchgAAHUYAAB5GAAAfBgAAIAYAACDGAAAhxgAAIoYAACOGAAAkRgAAJQYAACYGAAAmxgAAJ8YAACiGAAAphgAAKkYAACtGAAAsBgAALMYAAC3GAAAuhgAAL4YAADBGAAAxRgAAMgYAADMGAAAzxgAANIYAADWGAAA2RgAAN0YAADgGAAA4xgAAOcYAADqGAAA7hgAAPEYAAD1GAAA+BgAAPsYAAD/GAAAAhkAAAYZAAAJGQAADBkAABAZAAATGQAAFxkAABoZAAAdGQAAIRkAACQZAAAoGQAAKxkAAC4ZAAAyGQAANRkAADgZAAA8GQAAPxkAAEMZAABGGQAASRkAAE0ZAABQGQAAUxkAAFcZAABaGQAAXRkAAGEZAABkGQAAaBkAAGsZAABuGQAAchkAAHUZAAB4GQAAfBkAAH8ZAACCGQAAhhkAAIkZAACMGQAAkBkAAJMZAACWGQAAmhkAAJ0ZAACgGQAApBkAAKcZAACqGQAArhkAALEZAAC0GQAAuBkAALsZAAC+GQAAwhkAAMUZAADIGQAAzBkAAM8ZAADSGQAA1RkAANkZAADcGQAA3xkAAOMZAADmGQAA6RkAAO0ZAADwGQAA8xkAAPYZAAD6GQAA/RkAAAAaAAAEGgAABxoAAAoaAAANGgAAERoAABQaAAAXGgAAGxoAAB4aAAAhGgAAJBoAACgaAAArGgAALhoAADEaAAA1GgAAOBoAADsaAAA+GgAAQhoAAEUaAABIGgAASxoAAE8aAABSGgAAVRoAAFgaAABcGgAAXxoAAGIaAABlGgAAaRoAAGwaAABvGgAAchoAAHYaAAB5GgAAfBoAAH8aAACDGgAAhhoAAIkaAACMGgAAjxoAAJMaAACWGgAAmRoAAJwaAACfGgAAoxoAAKYaAACpGgAArBoAALAaAACzGgAAthoAALkaAAC8GgAAwBoAAMMaAADGGgAAyRoAAMwaAADPGgAA0xoAANYaAADZGgAA3BoAAN8aAADjGgAA5hoAAOkaAADsGgAA7xoAAPIaAAD2GgAA+RoAAPwaAAD/GgAAAhsAAAUbAAAJGwAADBsAAA8bAAASGwAAFRsAABgbAAAcGwAAHxsAACIbAAAlGwAAKBsAACsbAAAuGwAAMhsAADUbAAA4GwAAOxsAAD4bAABBGwAARBsAAEgbAABLGwAAThsAAFEbAABUGwAAVxsAAFobAABdGwAAYRsAAGQbAABnGwAAahsAAG0bAABwGwAAcxsAAHYbAAB5GwAAfRsAAIAbAACDGwAAhhsAAIkbAACMGwAAjxsAAJIbAACVGwAAmBsAAJwbAACfGwAAohsAAKUbAACoGwAAqxsAAK4bAACxGwAAtBsAALcbAAC6GwAAvRsAAMEbAADEGwAAxxsAAMobAADNGwAA0BsAANMbAADWGwAA2RsAANwbAADfGwAA4hsAAOUbAADoGwAA6xsAAO4bAADyGwAA9RsAAPgbAAD7GwAA/hsAAAEcAAAEHAAABxwAAAocAAANHAAAEBwAABMcAAAWHAAAGRwAABwcAAAfHAAAIhwAACUcAAAoHAAAKxwAAC4cAAAxHAAANBwAADccAAA6HAAAPRwAAEAcAABDHAAARhwAAEkcAABMHAAATxwAAFIcAABVHAAAWBwAAFscAABeHAAAYRwAAGQcAABnHAAAahwAAG0cAABwHAAAcxwAAHYcAAB5HAAAfBwAAH8cAACCHAAAhRwAAIgcAACLHAAAjhwAAJEcAACUHAAAlxwAAJocAACdHAAAoBwAAKMcAACmHAAAqRwAAKwcAACvHAAAshwAALUcAAC4HAAAuxwAAL4cAADBHAAAwxwAAMYcAADJHAAAzBwAAM8cAADSHAAA1RwAANgcAADbHAAA3hwAAOEcAADkHAAA5xwAAOocAADtHAAA8BwAAPMcAAD1HAAA+BwAAPscAAD+HAAAAR0AAAQdAAAHHQAACh0AAA0dAAAQHQAAEx0AABYdAAAYHQAAGx0AAB4dAAAhHQAAJB0AACcdAAAqHQAALR0AADAdAAAzHQAANR0AADgdAAA7HQAAPh0AAEEdAABEHQAARx0AAEodAABNHQAATx0AAFIdAABVHQAAWB0AAFsdAABeHQAAYR0AAGQdAABmHQAAaR0AAGwdAABvHQAAch0AAHUdAAB4HQAAex0AAH0dAACAHQAAgx0AAIYdAACJHQAAjB0AAI4dAACRHQAAlB0AAJcdAACaHQAAnR0AAKAdAACiHQAApR0AAKgdAACrHQAArh0AALEdAACzHQAAth0AALkdAAC8HQAAvx0AAMIdAADEHQAAxx0AAModAADNHQAA0B0AANMdAADVHQAA2B0AANsdAADeHQAA4R0AAOMdAADmHQAA6R0AAOwdAADvHQAA8R0AAPQdAAD3HQAA+h0AAP0dAAD/HQAAAh4AAAUeAAAIHgAACx4AAA0eAAAQHgAAEx4AABYeAAAZHgAAGx4AAB4eAAAhHgAAJB4AACYeAAApHgAALB4AAC8eAAAyHgAANB4AADceAAA6HgAAPR4AAD8eAABCHgAARR4AAEgeAABKHgAATR4AAFAeAABTHgAAVR4AAFgeAABbHgAAXh4AAGAeAABjHgAAZh4AAGkeAABrHgAAbh4AAHEeAAB0HgAAdh4AAHkeAAB8HgAAfx4AAIEeAACEHgAAhx4AAIoeAACMHgAAjx4AAJIeAACUHgAAlx4AAJoeAACdHgAAnx4AAKIeAAClHgAAqB4AAKoeAACtHgAAsB4AALIeAAC1HgAAuB4AALoeAAC9HgAAwB4AAMMeAADFHgAAyB4AAMseAADNHgAA0B4AANMeAADVHgAA2B4AANseAADeHgAA4B4AAOMeAADmHgAA6B4AAOseAADuHgAA8B4AAPMeAAD2HgAA+B4AAPseAAD+HgAAAB8AAAMfAAAGHwAACB8AAAsfAAAOHwAAEB8AABMfAAAWHwAAGB8AABsfAAAeHwAAIB8AACMfAAAmHwAAKB8AACsfAAAuHwAAMB8AADMfAAA2HwAAOB8AADsfAAA9HwAAQB8AAEMfAABFHwAASB8AAEsfAABNHwAAUB8AAFMfAABVHwAAWB8AAFofAABdHwAAYB8AAGIfAABlHwAAaB8AAGofAABtHwAAbx8AAHIfAAB1HwAAdx8AAHofAAB8HwAAfx8AAIIfAACEHwAAhx8AAIofAACMHwAAjx8AAJEfAACUHwAAlx8AAJkfAACcHwAAnh8AAKEfAACkHwAAph8AAKkfAACrHwAArh8AALAfAACzHwAAth8AALgfAAC7HwAAvR8AAMAfAADDHwAAxR8AAMgfAADKHwAAzR8AAM8fAADSHwAA1R8AANcfAADaHwAA3B8AAN8fAADhHwAA5B8AAOYfAADpHwAA7B8AAO4fAADxHwAA8x8AAPYfAAD4HwAA+x8AAP0fAAAAIAAAAAAAAAAAAAAAAAAAEAAAABEAAAASAAAAAAAAAAgAAAAHAAAACQAAAAYAAAAKAAAABQAAAAsAAAAEAAAADAAAAAMAAAANAAAAAgAAAA4AAAABAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAA0AAAAPAAAAEQAAABMAAAAXAAAAGwAAAB8AAAAjAAAAKwAAADMAAAA7AAAAQwAAAFMAAABjAAAAcwAAAIMAAACjAAAAwwAAAOMAAAACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAcAAAAJAAAADQAAABEAAAAZAAAAIQAAADEAAABBAAAAYQAAAIEAAADBAAAAAQEAAIEBAAABAgAAAQMAAAEEAAABBgAAAQgAAAEMAAABEAAAARgAAAEgAAABMAAAAUAAAAFgAAAAAAAAAAAAAAgAAAAIAAAABAAAAAQAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAAAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAMAAAACAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAALAgAAKgIAAEsCAABuAgAAkwIAALoCAADkAgAAEAMAAD8DAABwAwAApAMAANgDAAAWBAAAAAAAAAAAAAAAAAAAXPRNAFz0TQBc9E0AXPRNAErPAABMzwAATs8AAFDPAABSzwAAVM8AAFbPAABYzwAAWs8AAFzPAABezwAAYM8AAGLPAABkzwAAZs8AAGjPAABqzwAAbM8AAG7PAABwzwAAcs8AAHTPAAB2zwAAeM8AAHrPAAB8zwAAfs8AAIDPAACCzwAAhM8AAIbPAACIzwAAis8AAIzPAACOzwAAkM8AAJLPAACZzwAAoM8AAKrPAACuzwAAtM8AALbPAAC4zwAAus8AALzPAADCzwAAxM8AAMbPAADIzwAAys8AAL7mAADMzwAAzs8AANfPAADazwAA3c8AAODPAADjzwAA5s8AAOnPAADszwAA788AAPLPAAD2zwAA+s8AAP7PAAAK0AAAFdAAABvQAAAi0AAAJ9AAAC7QAAA10AAAOdAAAELQAABI0AAATdAAAFLQAABV0AAAXdAAAGbQAABv0AAAeNAAAIHQAACO0AAAl9AAAKDQAACp0AAAstAAALvQAADE0AAAzdAAANbQAADf0AAA6NAAAFz0TQDx0AAA/dAAAAPRAAAM0QAAENEAABTRAAAY0QAAHNEAACDRAAAk0QAAKNEAACzRAAAw0QAANNEAADjRAAA80QAARNEAAEnRAABO0QAAVdEAAFrRAABg0QAAZdEAAGnRAABu0QAAdNEAAHnRAAB+0QAAh9EAAFz0TQBc9E0AXPRNAJLRAACb0QAAXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0ArNEAALXRAAC80QAAw9EAAMnRAACSzwAAz9EAANnRAADd0QAA4tEAAPDRAAD20QAAXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQD80QAABtIAABHSAAAk0gAANdIAAELSAABS0gAAW9IAAGTSAABt0gAAdtIAAIHSAACS0gAAm9IAAKTSAACt0gAAttIAAL/SAADI0gAA09IAANzSAADl0gAA7tIAAPfSAAAA0wAACtMAABPTAAAd0wAAJtMAAC/TAAA80wAARdMAAE7TAABe0wAAb9MAAH/TAACN0wAAoNMAALPTAADE0wAAz9MAANzTAADu0wAA/NMAAAnUAAAY1AAAXPRNAFz0TQAr1AAANdQAAEDUAABJ1AAAUtQAAF3UAABp1AAAc9QAAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQB91AAAiNQAAJLUAACc1AAAptQAALDUAAC61AAAxtQAAMrUAADP1AAA2tQAAOPUAADt1AAA9dQAAP3UAAAI1QAAENUAABvVAAAo1QAAN9UAAETVAABS1QAAYdUAAG7VAAB51QAAf9UAAIXVAACK1QAAj9UAAJvVAABc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQDilogAAAAA4paSAAAAAPCfkLEAAADirIfvuI8A4paRAAAAAOKcvQAAAADil48AAAAA4pmlAAAAAOKYiQAAAADsm4MAAAAA4oyCAAAAAOKshe+4jwDwn5iQAAAA4pmqAAAAAPCfhb7vuI/il4YAAAAA4oCmAAAAAOKeoe+4jwDimIUAAAAA4qeXAAAAAOKshu+4jwDLhwAAAAAA4oinAAAAAOKdjgAAAADilqQAAAAA4palAAAAAAAAAAAAAAAAAACLAwAAhAMAAH4DAAB3AwAAcQMAAGsDAABkAwAAXgMAAFgDAABSAwAATAMAAEYDAABAAwAAOgMAADQDAAAuAwAAKAMAACIDAAAcAwAAFwMAABEDAAALAwAABgMAAAADAAD6AgAA9QIAAPACAADqAgAA5QIAAOACAADaAgAA1QIAANACAADLAgAAxQIAAMACAAC7AgAAtgIAALECAACsAgAApgIAAKMCAACeAgAAmQIAAJQCAACPAgAAiwIAAIYCAACAAgAAfAIAAHgCAAB0AgAAbwIAAGsCAABmAgAAYgIAAFwCAABZAgAAVQIAAFACAABMAgAASAIAAEQCAAA/AgAAOgIAADcCAAAzAgAALwIAACsCAAAnAgAAIwIAAB8CAAAaAgAAFwIAABQCAAAQAgAADAIAAAgCAAAEAgAAAQIAAPwBAAD5AQAA9gEAAPIBAADuAQAA6wEAAOcBAADkAQAA4AEAAN0BAADaAQAA1gEAANMBAADPAQAAzAEAAMkBAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUF//////YBAAAZkw0KGgoAAH0GAADvvq3eZ0UjAQkAAADvvq3eZ0UjAQ/OAAD/////AAA8AAEAAAA8gwAABQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAADYkzkAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg9E0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9wiQD/CS8PvuYAAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAFz0TQBc9E0AXPRNAH9/f39/f39/f39/f39/AAByb290X3BhdGgAY2RhdGFfcGF0aABqb3lzdGlja19pbmRleAAgJWQAYnV0dG9uX2tleXMAICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkAGxpdmVfbm90ZXMAY3Vyc29yX3NuYXAAZ3VpX3RoZW1lAHNoaWZ0X2dseXBocwBzaG93X2JhY2t1cF9tZXNzYWdlcwBob3N0X2ZyYW1lcmF0ZV9jb250cm9sAGNvbnRlbnRfZmlsdGVyAHZlcnNpb24gJXMKCgAwLjEuMTJjAC8vIGF1ZGlvIHZvbHVtZTogMC4uMjU2IAoAdm9sdW1lICVkCgoACi8vIExvY2F0aW9uIG9mIHBpY28tOCdzIHJvb3QgZm9sZGVyCgByb290X3BhdGggJXMKCgAKLy8gTG9jYXRpb24gb2YgY2FydHJpZGdlIHNhdmUgZGF0YQoAY2RhdGFfcGF0aCAlcwoKAAovLyBTcGVjaWZ5IHdoaWNoIHBsYXllciBpbmRleCBqb3lzdGljayBjb250cm9sIGJlZ2lucyBhdCAoMC4uNykKAGpveXN0aWNrX2luZGV4ICVkCgoACi8vIEN1c3RvbSBrZXlib2FyZCBzY2FuY29kZXMgZm9yIGJ1dHRvbnMuIHBsYXllcjAgMC4uNiwgcGxheWVyMSAwLi41CgBidXR0b25fa2V5cyAAJWQgAAoKAC8vIFBsYXkgbm90ZXMgYXMgdGhleSBhcmUgcGxvdHRlZCBpbiBmcmVxdWVuY3kgbW9kZQoAbGl2ZV9ub3RlcyAlZAoKAC8vIGlmZiAxOiB3aGVuIHVzaW5nIGtleWJvYXJkIGN1cnNvciwgc25hcCB0byBjbG9zZXN0IHBpeGVsIC8gbWFwIGNlbAoAY3Vyc29yX3NuYXAgJWQKCgAvLyBtYXhpbXVtIGxlbmd0aCBvZiBnaWYgaW4gc2Vjb25kcyAoMS4uMTIwLCBkZWZhdWx0IDgpCgBnaWZfbGVuICVkCgoALy8gMCBkZWZhdWx0ICAxIGRhcmsgYmx1ZSBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAyIGJsYWNrIGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgICAzIGdyYXkgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgIAoAZ3VpX3RoZW1lICVkCgoALy8gc2NhbGUgb2Ygc2NyZWVuc2hvdHMgYW5kIGdpZnMgLy8gMiBtZWFucyAyNTZ4MjU2CgBzY3JlZW5zaG90X3NjYWxlICVkCgBnaWZfc2NhbGUgJWQKCgAvLyB3aGVuIDEgY2FuIGVudGVyIGdseXBocyB1c2luZyBzaGlmdC1BLi5aCgBzaGlmdF9nbHlwaHMgJWQKCgAvLyAwIGZvciBvZmYuIDEgdG8gYWxsb3cgY29udHJvbCBvZiBhIGNhcnQncyBmcmFtZXJhdGUgZHVlIHRvIGhvc3QgbWFjaGluZSdzIGNwdSBjYXBhY2l0eSAocmVjb21tZW5kZWQpCgBob3N0X2ZyYW1lcmF0ZV9jb250cm9sICVkCgoALy8gZmlsdGVyIHNwbG9yZSBjYXJ0cmlkZ2VzCgAvLyAwIG9mZiAgIDEgb24gKGV4Y2x1ZGUgY2FydHJpZGdlIHRhZ2dlZCBhcyAnbWF0dXJlJyBieSBjb21tdW5pdHkpCgBzcGxvcmVfZmlsdGVyICVkCgoALy8gdGFiIGRpc3BsYXkgd2lkdGggKDEgfiA0IHNwYWNlcykKAHRhYl93aWR0aCAlZAoKAHtjaWlpID0gJDA7IGlpaSA9IDA7fQAie2lpaSA9IGlpaSsxOyByZXR1cm4gX2NhcnRuYW1lW2NpaWldLmNoYXJDb2RlQXQoaWlpLTEpOyB9IgBnZXRfY2FydC5waHA/Y2F0PTcmbGlkPQBiYnNfd2dldF9vbmxvYWQ6IHNldCBjdXJyZW50X2ZpbGVuYW1lIHRvICVzCgAqKiBjYXJ0IGZvcm1hdCBlcnJvciAlZCAqKgoAY291bGQgbm90IGFjY2VzcyBjYXJ0ACJ7IGlmICh0eXBlb2YgX2NhcnRkYXQgIT09J3VuZGVmaW5lZCcpIHJldHVybiAxOyByZXR1cm4gMDt9IgAie3JldHVybiBfY2FydGRhdC5sZW5ndGggLyAzMjc2OH0iACJ7IF9jZHBvcz1fY2Rwb3MrMTsgcmV0dXJuIF9jYXJ0ZGF0W19jZHBvcy0xXTsgfSIAc3RhcnRpbmcgZG93bmxvYWQKAGxvYWRpbmcgZW1iZWRkZWQgY2FydHJpZGdlCgBqb3lzdGljawBraW9zawBncGlvX2Jhc2UAZ2xpdGNoX3Rlc3QAeABleGVjAHBhcmFtAGFjY2VwdF9mdXR1cmUAZnVuY3Rpb24gbWtkaXJfMChkKSB7IHRyeSB7IHN0YXQgPSBGUy5zdGF0KGQpOyBjb25zb2xlLmxvZygiZm91bmQgZGlyZWN0b3J5OiAiK2QpOyB9IGNhdGNoIChlKSB7IEZTLm1rZGlyKGQpOyBjb25zb2xlLmxvZygiY3JlYXRlZCBkaXJlY3Rvcnk6ICIrZCk7IH0gfSBjb25zb2xlLmxvZygibW91bnRpbmcgL3VzZXJfZGF0YSIpOyBta2Rpcl8wKCcvdXNlcl9kYXRhJyk7IEZTLm1vdW50KElEQkZTLCB7fSwgJy91c2VyX2RhdGEnKTsgRlMuc3luY2ZzKHRydWUsIGZ1bmN0aW9uIChlcnIpIHsgaWYgKCFlcnIpIHsgY29uc29sZS5sb2coImNvZG86IG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIpOyBjb2RvX21vdW50ZWRfZmlsZXN5c3RlbSA9IDE7IG1rZGlyXzAoJy91c2VyX2RhdGEvY2RhdGEnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jc3RvcmUnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jYXJ0cycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2JhY2t1cCcpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL3BsYXRlcycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2JicycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2Jicy9jYXJ0cycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2Jicy9sYWJlbHMnKTsgfSBlbHNlIHsgY29uc29sZS5sb2coIioqIGNvdWxkIG5vdCBtb3VudCBmaWxlc3lzdGVtXG4iKTsgY29uc29sZS5sb2coZXJyKTsgfSB9ICk7ACJ7IE1vZHVsZS5waWNvOFJlc2V0ID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDE7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVNvdW5kID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDM7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVBhdXNlZCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSA0O30gOyBNb2R1bGUucGljbzhTZXRQYXVzZWQgPSBmdW5jdGlvbihwKSB7IGNvZG9fY29tbWFuZCA9IDU7IGNvZG9fY29tbWFuZF9wID0gMDsgaWYgKHApIGNvZG9fY29tbWFuZF9wPTE7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZUNvbnRyb2xNZW51ID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDc7fSA7IH0iAHBpY28tOABjYXJ0cy8AY2RhdGEvAHBpY284LmRhdABkYXRhLnBvZABSVU5OSU5HOiAlcwoAY291bGRuJ3QgbG9hZCAlcwoAY291bGQgbm90IGxvYWQgJXMKAC4vAGxydWRveHAlZCBqb3lzdGlja3MgZGV0ZWN0ZWQALS1tb3JlLS0AY29udGludWUAcmVzZXQgY2FydABzb3VuZCBvZmYgKGN0cmwtbSkAc291bmQgb24gKGN0cmwtbSkAcGljby04IDAuMS4xMmMAKGMpIDIwMTQtMTkgbGV4YWxvZmZsZSBnYW1lcyBsbHAAYm9vdGluZyBjYXJ0cmlkZ2UuLgBkb3dubG9hZCB0aW1lZCBvdXQAZG93bmxvYWRpbmcuLiBjYW5jZWxsZWQALm5mbwAvdGVtcC0AY291bGQgbm90IGZpbmQgY2FydABkb3dubG9hZGluZy4uIG9rAGxvYWRlZCAjJXMgKCVkIGNoYXJzKQBjb3VsZCBub3QgZmV0Y2ggY2FydABjb3VsZCBub3QgY29ubmVjdCB0byBiYnMAZnV0dXJlIHZlcnNpb24uIHBsZWFzZSB1cGRhdGUhAHsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gJ3VuZGVmaW5lZCcpeyBwaWNvOF9zdGF0ZS5pc19wYXVzZWQgPSAkMDsgcGljbzhfc3RhdGUuc291bmRfdm9sdW1lID0gJDE7IHBpY284X3N0YXRlLmZyYW1lX251bWJlciA9ICQyOyBwaWNvOF9zdGF0ZS5oYXNfZm9jdXMgPSAkMzsgfSB9ACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fY29tbWFuZCAhPT0gJ3VuZGVmaW5lZCcpIHt2YWw9Y29kb19jb21tYW5kOyBjb2RvX2NvbW1hbmQ9MDt9IHJldHVybiB2YWx9IgAie3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBjb2RvX2NvbW1hbmRfcCAhPT0gJ3VuZGVmaW5lZCcpIHt2YWw9Y29kb19jb21tYW5kX3A7IGNvZG9fY29tbWFuZF9wPTA7fSByZXR1cm4gdmFsfSIAIntidXR0b25faSA9IDB9IgAie3ZhciB2YWw9LTE7IGlmICh0eXBlb2YgcGljbzhfYnV0dG9ucyAhPT0gJ3VuZGVmaW5lZCcpIHt2YWwgPSBwaWNvOF9idXR0b25zW2J1dHRvbl9pXTsgYnV0dG9uX2kgKys7fSByZXR1cm4gdmFsO30iACJ7dmFyIHZhbCA9IDA7IGlmICh0eXBlb2YgcGljbzhfZ2FtZXBhZHMgIT09ICd1bmRlZmluZWQnKSB7dmFsID0gcGljbzhfZ2FtZXBhZHMuY291bnQ7fSByZXR1cm4gdmFsO30iAGpveXN0aWNrICVkIGNvbm5lY3RlZABqb3lzdGljayAlZCBkaXNjb25uZWN0ZWQAaWYgKHR5cGVvZiBvbl9tb2R1bGVfbG9hZCAhPT0gJ3VuZGVmaW5lZCcpIHsgaWYgKG9uX21vZHVsZV9sb2FkKSBvbl9tb2R1bGVfbG9hZCgpOyB9ACoqIGNvdWxkIG5vdCBkb3dubG9hZABsb2FkaW5nIGZ1dHVyZSBjYXJ0IHZlcnNpb24AZnV0dXJlX3ZlcnNpb246ICVkACVzJXMucDglcwAlcyVzJXMucDgAdW50aXRsZWQAYmFja3VwLwBwcm9ncmFtIG92ZXIgc2l6ZSBsaW1pdAoAY29tcHJlc3NlZCBjb2RlIHNpemUgdG9vIGxhcmdlCgAlZCAvICVkIGJ5dGVzAHdhcm5pbmc6IGNvbXByZXNzZWQgY29kZSB0b28gYmlnAHRvIGJlIGV4cG9ydGVkIG9yIHNhdmVkIGFzIHBuZwAoc2F2aW5nIC5wOCBhbnl3YXkpCgBmbGF0dGVuZWQgI2luY2x1ZGVzACoqIGZhaWxlZCB0byBzYXZlICoqAC91c2VyX2RhdGEvY3N0b3JlLyVzJXMAX18AbGVnYWN5OiBwYXQgJWQgc3dhcCBjaGFuOiAlZCAlZABwcmludCgiYXJjaGVvcyIsOTgsMzQsNykALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gbGVnYWN5IDAuMS4xIGFwaSBpbmplY3RlZAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gX3ZhbGlkYXRlKGMpIGlmIChjLl9udW09PW5pbCkgdGhlbiBsb2NhbCBpPTAgd2hpbGUoY1tpKzFdfj1uaWwpIGRvIGk9aSsxIGVuZCBjLl9udW09aSBjLl9tYXg9aSAJYy5fbWluPWkrMSBjLl9udW0gPSBpIGMuX2NpID0gaSBlbmQgZW5kIAlmdW5jdGlvbiBmb3JlYWNoKGMsIGYpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBpZiAoYy5fbWF4ID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIGZvciBpPTEsYy5fbWF4IGRvIGlmIChjW2ldIH49IG5pbCkgdGhlbiBjLl9jaSA9IGkgZihjW2ldKSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBhbGwoYykgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBmdW5jdGlvbigpIGVuZCBlbmQgX3ZhbGlkYXRlKGMpIGxvY2FsIGk9MCByZXR1cm4gZnVuY3Rpb24oKSBpPWkrMSB3aGlsZSAoY1tpXT09bmlsIGFuZCBpPGMuX21heCkgZG8gaT1pKzEgZW5kIGlmIChjW2ldIH49IG5pbCkgdGhlbiBjLl9jaT1pIHJldHVybiBjW2ldIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGFkZChjLCBpKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgZm9yIGo9Yy5fbWluLGMuX21heCsxIGRvIGlmIChjW2pdID09IG5pbCkgdGhlbiBjLl9tYXggPSBtYXgoYy5fbWF4LGopIGMuX21pbiA9IGorMSBjLl9udW0gPSBjLl9udW0rMSBjW2pdPWkgcmV0dXJuIGkgZW5kIGVuZCBlbmQgZnVuY3Rpb24gY291bnQoYykgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiAwIGVuZCBfdmFsaWRhdGUoYykgcmV0dXJuIGMuX251bSBlbmQgZnVuY3Rpb24gZGVsKGMsaSkgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGlmIChpPT1uaWwpIHRoZW4gcmV0dXJuIGVuZCBpZiAoYy5fY2k9PWkpIHRoZW4gY1tjLl9jaV09bmlsIGMuX21pbj1taW4oYy5fbWluLCBjLl9jaSkgYy5fbnVtPWMuX251bS0xIHJldHVybiBlbHNlIGZvciBqPTEsYy5fbWF4IGRvIGlmIChjW2pdPT1pKSB0aGVuIGNbal09bmlsIGMuX21pbj1taW4oYy5fbWluLGopIGMuX251bT1jLl9udW0tMSByZXR1cm4gZW5kIGVuZCBlbmQgd2hpbGUgKGMuX21heD4xIGFuZCBjW2MuX21heF09PW5pbCkgZG8gYy5fbWF4PWMuX21heC0xIGVuZCBlbmQgIG5kPTAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgBsZWdhY3k6IDAuMS4xIGFwaSBpbmplY3RlZAAuYmluAGxvYWRlZCBleHRlcm5hbCBjaGFuZ2VzACVzXyUwM2QucG5nAHNhdmluZyBzY3JlZW5zaG90IHRvOiAlcwoAbW91bnRfZW1iZWRkZWRfY2FydDogJXMgJXMKAG5vIHZhbHVlAGJvb2xlYW4AdXNlcmRhdGEAbnVtYmVyAHN0cmluZwB0YWJsZQB0aHJlYWQAcHJvdG8AdXB2YWwAc3RhY2sgb3ZlcmZsb3cAQyBzdGFjayBvdmVyZmxvdwB0YWJsZSBvdmVyZmxvdwAnZm9yJyBpbml0aWFsIHZhbHVlIG11c3QgYmUgYSBudW1iZXIAJ2ZvcicgbGltaXQgbXVzdCBiZSBhIG51bWJlcgAnZm9yJyBzdGVwIG11c3QgYmUgYSBudW1iZXIAbk4AeFgAYkIAYXR0ZW1wdCB0byBjb21wYXJlIHR3byAlcyB2YWx1ZXMAYXR0ZW1wdCB0byBjb21wYXJlICVzIHdpdGggJXMAc3RyaW5nIGxlbmd0aCBvdmVyZmxvdwBjb25jYXRlbmF0ZQA/AHVwdmFsdWUAYXR0ZW1wdCB0byAlcyAlcyAnJXMnIChhICVzIHZhbHVlKQBhdHRlbXB0IHRvICVzIGEgJXMgdmFsdWUAX0VOVgBnbG9iYWwAZmllbGQAbWV0aG9kAGNvbnN0YW50ACUwLjVmAC45OTk5AC4wMDAwACUwLjNmACUwLjRmAGdldCBsZW5ndGggb2YAcGVyZm9ybSBhcml0aG1ldGljIG9uAHRhYmxlIGluZGV4IGlzIG5pbABtZW1vcnkgYWxsb2NhdGlvbiBlcnJvcjogYmxvY2sgdG9vIGJpZwBpbmRleABsb29wIGluIHNldHRhYmxlAGxvb3AgaW4gZ2V0dGFibGUAY2FsbAAuLi4AW3N0cmluZyAiACJdACVwACUAaW52YWxpZCBvcHRpb24gJyUlJWMnIHRvICdsdWFfcHVzaGZzdHJpbmcnAGVycm9yIGluIGVycm9yIGhhbmRsaW5nAGF0dGVtcHQgdG8gbG9hZCBhICVzIGNodW5rIChtb2RlIGlzICclcycpAGJpbmFyeQB0ZXh0AGNvbnRyb2wgc3RydWN0dXJlIHRvbyBsb25nAGxhYmVscy9nb3RvcwBubyB2aXNpYmxlIGxhYmVsICclcycgZm9yIDxnb3RvPiBhdCBsaW5lICVkICh0YWIgJWQpADwlcz4gYXQgbGluZSAlZCBub3QgaW5zaWRlIGEgbG9vcAA8Z290byAlcz4gYXQgbGluZSAlZCAodGFiICVkKSBqdW1wcyBpbnRvIHRoZSBzY29wZSBvZiBsb2NhbCAnJXMnAHRvbyBtYW55ICVzIChsaW1pdCBpcyAlZCkAJXM6JWQ6ICVzAGxleGljYWwgZWxlbWVudCB0b28gbG9uZwAnJXMnACclYycAJXMgbmVhciAlcwA9PQA+PQA8PQB+PQA6OgA8bnVtYmVyPgA8bmFtZT4APHN0cmluZz4Ab3Bjb2RlcwAlcyBleHBlY3RlZABDIGxldmVscwAoZm9yIGluZGV4KQAoZm9yIGxpbWl0KQAoZm9yIHN0ZXApAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gdG9vIGNvbXBsZXgAKGZvciBnZW5lcmF0b3IpAChmb3Igc3RhdGUpAChmb3IgY29udHJvbCkAJz0nIG9yICdpbicgZXhwZWN0ZWQAbGFiZWwgJyVzJyBhbHJlYWR5IGRlZmluZWQgb24gbGluZSAlZCAodGFiICVkKQB1bmV4cGVjdGVkIHN5bWJvbABmdW5jdGlvbiBhcmd1bWVudHMgZXhwZWN0ZWQAaXRlbXMgaW4gYSBjb25zdHJ1Y3RvcgBmdW5jdGlvbnMAc2VsZgA8bmFtZT4gb3IgJy4uLicgZXhwZWN0ZWQAY29uc3RhbnRzAGxvY2FsIHZhcmlhYmxlcwBjYW5ub3QgdXNlICcuLi4nIG91dHNpZGUgYSB2YXJhcmcgZnVuY3Rpb24AJXMgZXhwZWN0ZWQgKHRvIGNsb3NlICVzIGF0IGxpbmUgJWQgKHRhYiAlZCkpAGZ1bmN0aW9uIGF0IGxpbmUgJWQgKHRhYiAlZCkAbWFpbiBmdW5jdGlvbgB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpIGluICVzAGludmFsaWQgbG9uZyBzdHJpbmcgZGVsaW1pdGVyAHVuZmluaXNoZWQgc3RyaW5nAGhleGFkZWNpbWFsIGRpZ2l0IGV4cGVjdGVkAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlAGRlY2ltYWwgZXNjYXBlIHRvbyBsYXJnZQBYeABFZQBQcAArLQBtYWxmb3JtZWQgbnVtYmVyAHVuZmluaXNoZWQgbG9uZyBjb21tZW50AHVuZmluaXNoZWQgbG9uZyBzdHJpbmcAY2h1bmsgaGFzIHRvbyBtYW55IGxpbmVzAHVwdmFsdWVzAGJpbmFyeSBzdHJpbmcAdHJ1bmNhdGVkAG5vdCBhAHZlcnNpb24gbWlzbWF0Y2ggaW4AaW5jb21wYXRpYmxlAGNvcnJ1cHRlZAAlczogJXMgcHJlY29tcGlsZWQgY2h1bmsAaW52YWxpZCBrZXkgdG8gJ25leHQnAHN0YWNrIHRyYWNlYmFjazoACgkuLi4AU2xudAAKCSVzOgAlZDoAIGluIABmdW5jdGlvbiAnJXMnAG1haW4gY2h1bmsAZnVuY3Rpb24gPCVzOiVkPgAKCSguLi50YWlsIGNhbGxzLi4uKQA9W0NdAD0/AG1haW4ATHVhAGZvciBpdGVyYXRvcgBtZXRhbWV0aG9kAGJhZCBhcmd1bWVudCAjJWQgKCVzKQBuAGNhbGxpbmcgJyVzJyBvbiBiYWQgc2VsZiAoJXMpAGJhZCBhcmd1bWVudCAjJWQgdG8gJyVzJyAoJXMpAFNsACVzOiVkOiAAJXMgZXhwZWN0ZWQsIGdvdCAlcwB2YWx1ZSBleHBlY3RlZABfX2luZGV4AF9fbmV3aW5kZXgAX19nYwBfX21vZGUAX19sZW4AX19lcQBfX2FkZABfX3N1YgBfX211bABfX2RpdgBfX21vZABfX3BvdwBfX3VubQBfX2x0AF9fbGUAX19jb25jYXQAX19jYWxsAF9fbWV0YXRhYmxlAG5pbCBvciB0YWJsZSBleHBlY3RlZABjYW5ub3QgY2hhbmdlIGEgcHJvdGVjdGVkIG1ldGF0YWJsZQB0YWJsZSBvciBzdHJpbmcgZXhwZWN0ZWQAX19wYWlycwBhc3NlcnRpb24gZmFpbGVkIQBjb3JvdXRpbmUgZXhwZWN0ZWQAY29yb2xpYjogdG9vIG1hbnkgYXJndW1lbnRzIHRvIHJlc3VtZQBjb3JvbGliOiBjYW5ub3QgcmVzdW1lIGRlYWQgY29yb3V0aW5lAGNvcm9saWI6IHRvbyBtYW55IHJlc3VsdHMgdG8gcmVzdW1lAGNhbm5vdCByZXN1bWUgbm9uLXN1c3BlbmRlZCBjb3JvdXRpbmUAY2Fubm90IHJlc3VtZSBkZWFkIGNvcm91dGluZQBhdHRlbXB0IHRvIHlpZWxkIGFjcm9zcyBhIEMtY2FsbCBib3VuZGFyeQBhdHRlbXB0IHRvIHlpZWxkIGZyb20gb3V0c2lkZSBhIGNvcm91dGluZQBydW5uaW5nAHN1c3BlbmRlZABub3JtYWwAZGVhZAB1cGxvYWQAeyBpZiAodHlwZW9mIHBpY284X3N0YXRlICE9PSAndW5kZWZpbmVkJyl7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzID09PSAndW5kZWZpbmVkJykgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzID0gbmV3IEFycmF5KCk7IHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcy5wdXNoKFVURjhUb1N0cmluZygkMCwgJDEpKTsgfSB9AF9lbmRfb2ZfcHJvZ3JhbQB0byBjbG9zZSAnAGF0IGxpbmUgACVkICh0YWIgJWQpAHVuY2xvc2VkICVzIGF0IGxpbmUgJWQgKHRhYiAlZCkKAHVuY2xvc2VkICVzAC0tIHBpY28tOCBoZWFkZXIAYXNzZXJ0aW9uIGZhaWxlZABub3QgZW5vdWdoIG1lbW9yeQA8ZW9mPgB0aGVtZSAAdGhlbWUAYmx1ZQBzZXQgdGhlbWUgdG8gYmx1ZQBhdXRvAHNldCB0aGVtZSB0byBhdXRvAGNsYXNzaWMAc2V0IHRoZW1lIHRvIGNsYXNzaWMAY29uZmlnIHRoZW1lIFt2YWx1ZV0AYXZhaWxhYmxlIHRoZW1lczoAc3Bsb3JlX2ZpbHRlciAAc3Bsb3JlX2ZpbHRlcgBvbgBmaWx0ZXIgb24Ab2ZmAGZpbHRlciBvZmYAY29uZmlnIGZpbHRlciBbb24gfCBvZmZdAHdoZW4gb24sIGNhcnRyaWRnZXMgdGFnZ2VkIGFzAG1hdHVyZSB3aWxsIG5vdCBiZSBkb3dubG9hZGVkLgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvbgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvZmYAdm9sdW1lIABzZXQgdm9sdW1lOiAlZABjb25maWcgdm9sdW1lIFt2YWxdAHZhbDogOCBxdWlldCAuLiAyNTYgbG91ZABjdXJyZW50IHZvbHVtZTogJWQAZ2lmX2xlbiAAc2V0IGdpZl9sZW46ICVkAGdpZl9sZW4AY29uZmlnIGdpZl9sZW4gW3NlY29uZHNdAGN1cnJlbnQgZ2lmX2xlbjogJWQAZ2lmX3NjYWxlIABzZXQgZ2lmX3NjYWxlOiAlZABnaWZfc2NhbGUAY29uZmlnIGdpZl9zY2FsZSBbc2l6ZV0AY3VycmVudCBnaWZfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUgAHNldCBzY3JlZW5zaG90X3NjYWxlOiAlZABzY3JlZW5zaG90X3NjYWxlAGNvbmZpZyBzY3JlZW5zaG90X3NjYWxlIFtzaXplXQBjdXJyZW50IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHRhYl93aWR0aCAAc2V0IHRhYl93aWR0aDogJWQAdGFiX3dpZHRoAGNvbmZpZyB0YWJfd2lkdGggW3dpZHRoXQBjdXJyZW50IHRhYl93aWR0aDogJWQAY29uZmlnIFtzZXR0aW5nXQBhdmFpbGFibGUgc2V0dGluZ3M6AHByb2dyYW0gZXhjZWVkcyBjaGFyIGxpbWl0ACVkIC8gJWQgY2hhcnMKAHByb2dyYW0gdG9vIGxhcmdlACVkIC8gJWQgdG9rZW5zCgAtLSBwaWNvLTggaGVhZGVyCglfcGF1c2VtZW51PXt9CWZ1bmN0aW9uIG1lbnVpdGVtKGluZGV4LCBsYWJlbCwgY2FsbGJhY2spCQlpZiAoaW5kZXggPCAxIG9yIGluZGV4ID4gNSkgdGhlbiByZXR1cm4gZW5kCQlfcGF1c2VtZW51W2luZGV4XSA9IHt9CQlfcGF1c2VtZW51W2luZGV4XS5sYWJlbCA9IGxhYmVsCQlfcGF1c2VtZW51W2luZGV4XS5jYWxsYmFjayA9IGNhbGxiYWNrCQlfbWVudWl0ZW0oaW5kZXgsIGxhYmVsKQllbmQJZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCBvciAjYyA9PSAwKSB0aGVuIHJldHVybiBmdW5jdGlvbigpIGVuZCBlbmQgCSAJbG9jYWwgaT0xIAkgCWxvY2FsIGxpPW5pbCAJCV9fcmVmdW5kX2NwdV9fKC0xNikJIAlyZXR1cm4gZnVuY3Rpb24oKQkgCQlpZiAoY1tpXSA9PSBsaSkgdGhlbiBpPWkrMSBlbmQJIAkJd2hpbGUoY1tpXT09bmlsIGFuZCBpIDw9ICNjKSBkbyBpPWkrMSBlbmQJIAkJbGk9Y1tpXQkJCV9fcmVmdW5kX2NwdV9fKC0xNykJIAkJcmV0dXJuIGxpCSAJZW5kCWVuZAlmdW5jdGlvbiBmb3JlYWNoKGMsX2YpIGZvciBpIGluIGFsbChjKSBkbyBfZihpKSBlbmQgZW5kIAlmdW5jdGlvbiBjb3VudChjKSAJCWxvY2FsIHRvdGFsPTAJCWZvciBpPTEsI2MgZG8gaWYgY1tpXX49bmlsIHRoZW4gdG90YWw9dG90YWwrMSBlbmQgZW5kCQlyZXR1cm4gdG90YWwJZW5kCWZ1bmN0aW9uIGFkZChjLGkpIGlmIChjPT1uaWwpIHRoZW4gcmV0dXJuIGVuZCBsb2NhbCBudW09I2MgY1tudW0rMV09aSByZXR1cm4gaSBlbmQgCWZ1bmN0aW9uIGRlbChjLGkpIGlmIChjPT1uaWwpIHRoZW4gcmV0dXJuIGVuZCBsb2NhbCBudW09I2MgaWYgKG51bSA8IDEpIHRoZW4gcmV0dXJuIGVuZCAJbG9jYWwgaiBsb2NhbCBrCWZvciBqPTEsbnVtIGRvIGlmIGNbal09PWkgdGhlbgkJZm9yIGs9aixudW0tMSBkbwkJCWNba109Y1trKzFdCQllbmQgY1tudW1dPW5pbAlyZXR1cm4gaSBlbmQgZW5kIGVuZCAJiz0wIJE9MSCUPTIggz0zII49NCCXPTUgjz02IAkKADEwMzg4ACBuZD0wIAAlcygpACVzKCIlcyIpAHNwbG9yZSgpAGNvbmZpZwByZXN1bWUAaWYgKF9tYWlubG9vcCkgdGhlbiBfbWFpbmxvb3AoKSBlbHNlIHByaW50KCJubyBfbWFpbmxvb3AoKSIpIGVuZAAKIF9lbmRfb2ZfcHJvZ3JhbSA9IDEgCgAKCSAgICBfZW5kX29mX3Byb2dyYW0gPSAxIAoJICAgIGlmIChfaW5pdCB+PSBuaWwpIHRoZW4gX2luaXQoKSBlbmQKICAgICAgICAgICAgX3NldF9tYWlubG9vcF9leGlzdHMoMCkKCSAgICBpZiAoX21haW5sb29wIH49IG5pbCkgdGhlbiBfc2V0X21haW5sb29wX2V4aXN0cygxKSBlbmQKCSAgICBpZiAoX3VwZGF0ZTYwIH49IG5pbCkgdGhlbiBfc2V0X2Zwcyg2MCkgX3VwZGF0ZT1uaWwgZWxzZSBfc2V0X2ZwcygzMCkgZW5kCgkgICAgaWYgKF9tYWlubG9vcCA9PSBuaWwgYW5kIChfZHJhdyB+PSBuaWwgb3IgX3VwZGF0ZSB+PSBuaWwgb3IgX3VwZGF0ZTYwIH49IG5pbCkpIHRoZW4KCSAgICAJX3NldF9tYWlubG9vcF9leGlzdHMoMikKCQkgICAgX21haW5sb29wID0gZnVuY3Rpb24oKSAKCSAgICAgICAgCXdoaWxlICh0cnVlKSBkbwoJICAgICAgICAJCV91cGRhdGVfYnV0dG9ucyhfdXBkYXRlNjAgYW5kIDEgb3IgMikKCQkJCSAgICBfc3RhcnRmcmFtZSgpIAoJCQkJICAgIGlmIChzdGF0KDcpID09IDYwKSB0aGVuCgkJCQkgICAgCV9tYXJrX2NwdSgwKSBfdXBkYXRlNjAoKSAKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMzAgYW5kIF91cGRhdGU2MCkgdGhlbgoJCQkJICAgIAlfdXBkYXRlNjAoKSBfdXBkYXRlX2J1dHRvbnMoMSkgX21hcmtfY3B1KDApIF91cGRhdGU2MCgpCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDMwIGFuZCBfdXBkYXRlKSB0aGVuCgkJCQkgICAgCV9tYXJrX2NwdSgwKSBfdXBkYXRlKCkgCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDE1IGFuZCBfdXBkYXRlKSB0aGVuCgkJCQkgICAgCV91cGRhdGUoKSAgX3VwZGF0ZV9idXR0b25zKDIpIF9tYXJrX2NwdSgwKSBfdXBkYXRlKCkKCQkJCSAgICBlbmQKCQkJCSAgICBfbWFya19jcHUoMSkKCQkJCSAgICBpZiAoX2RyYXcgfj0gbmlsKSB0aGVuIF9kcmF3KCkgZW5kCgkJCQkgICAgX21hcmtfY3B1KDIpCgkJCQkgICAgZmxpcCgpCgkJCQkgICAgX3VwZGF0ZV9mcmFtZXJhdGUoKQoJCQkJICAgIGZvciBpPTEsNSBkbwoJCQkJICAgICBpZiAoX2dldF9tZW51X2l0ZW1fc2VsZWN0ZWQoaSkpIHRoZW4KCQkJCSAgICAgIF9wYXVzZW1lbnVbaV0uY2FsbGJhY2soKQoJCQkJICAgICBlbmQKCQkJCSAgICBlbmQKCQkJICAgIGVuZAoJCSAgICBlbmQKCSAgICBlbmQKICAgICAgICBpZiAoX21haW5sb29wIH49IG5pbCkgdGhlbiBfbWFpbmxvb3AoKSBlbmQKICAgICAgICAKAHN5bnRheCBlcnJvcgBzeW50YXggZXJyb3IgbGluZSAlZCAodGFiICVkKQB1bmV4cGVjdGVkIHN5bWJvbCBuZWFyICdlbmQnAHVuZXhwZWN0ZWQgZW5kIG9mIGxpbmUAX3A4X3Byb2dyYW0AJXMgbGluZSAlZAoAYmJzLwBzdGFjayB0cmFjZWJhY2sAJ19tYWlubG9vcABpbiBmdW5jdGlvbiAnAGluICVzIGxpbmUgJWQgKHRhYiAlZCkAaW4gbWFpbiBjaHVuawBhdCBsaW5lICVkICh0YWIgJWQpAGdjIG5vdCBydW5uaW5nOyBjb3VsZCBub3QgcGVyZm9ybSBlbWVyZ2VuY3kgY29sbGVjdGlvbgoAZ2MgaGFyZCBjb2xsZWN0OiAlZCAtPiAlZCAob3ZlcmhlYWQ6JWQpCgBvdXQgb2YgbWVtb3J5AHJ1bnRpbWUgZXJyb3IgbGluZSAlZCB0YWIgJWQAcnVudGltZSBlcnJvcgBbWwBdXQBrZXl3b3JkIGhhc2ggY29sbGlzaW9uOiAlcyAlcwoAZnVuY3Rpb24AZW5kAGZvcgBpZgBlbHNlAGVsc2VpZgB3aGlsZQBub3QAYW5kAG9yAGRvAGxvY2FsAHJldHVybgByZXBlYXQAdW50aWwAZ290bwBicmVhawBuaWwAaW4AZm9yZWFjaABhbGwAYWRkAGRlbABtZW51aXRlbQAlc18lZC5naWYAc2F2aW5nIHZpZGVvIHRvOiAlcwoATkVUU0NBUEUyLjAAW2NhcnRdAFsvY2FydF0AdHJ1ZQBmYWxzZQAucDhsACVzJXMlcy5wOGwAZmxpcABjYW1lcmEAY2xpcABjbHMAZm9sZGVyAGxzAGRpcgBjZABta2RpcgBpbnN0YWxsX2RlbW9zAGluc3RhbGxfZ2FtZXMAa2V5Y29uZmlnAHNwbG9yZQBwc2V0AHBnZXQAY29sb3IAcHJpbnQAcHJpbnRoAGN1cnNvcgB0b251bQB0b3N0cgBzcHIAc3NwcgByZWN0AHJlY3RmaWxsAGNpcmMAY2lyY2ZpbGwAbGluZQBwYWwAcGFsdABmaWxscABtYXBkcmF3AG1hcABtZ2V0AG1zZXQAZmdldABmc2V0AHNnZXQAc3NldABzZngAcGVlawBwb2tlAHNlcmlhbABwZWVrMgBwb2tlMgBwZWVrNABwb2tlNABtZW1jcHkAbWVtc2V0AHJlbG9hZABjc3RvcmUAcm5kAHNyYW5kAGZscgBjZWlsAHNnbgBhYnMAbWluAG1heABjb3MAc2luAHNxcnQAYXRhbjIAYmFuZABib3IAYnhvcgBibm90AHNobABzaHIAbHNocgByb3RsAHJvdHIAbG9hZABzYXZlAHJ1bgBzdG9wAHJlYm9vdABzaHV0ZG93bgBleGl0AGluZm8AZXhwb3J0AGltcG9ydABoZWxwAHRpbWUAdABsb2dpbgBsb2dvdXQAYmJzcmVxAHNjb3Jlc3ViAGV4dGNtZAByYWRpbwBzZXRfZHJhd19zbGljZQBidG4AYnRucABfbWVudWl0ZW0AY2FydGRhdGEAZGdldABkc2V0AHN0YXQAc3ViAHBhaXJzAHR5cGUAbmV4dABzZXRtZXRhdGFibGUAZ2V0bWV0YXRhYmxlAHJhd2VxdWFsAHJhd2xlbgByYXdnZXQAcmF3c2V0AGFzc2VydABjb2NyZWF0ZQBjb3Jlc3VtZQB5aWVsZABjb3N0YXR1cwB0cmFjZQBob2xkZnJhbWUAX3N0YXJ0ZnJhbWUAX2dldF9tZW51X2l0ZW1fc2VsZWN0ZWQAX3VwZGF0ZV9idXR0b25zAF91cGRhdGVfZnJhbWVyYXRlAF9zZXRfbWFpbmxvb3BfZXhpc3RzAF9zZXRfZnBzAF9tYXJrX2NwdQBfc2V0X3BhdXNlZABfX3JlZnVuZF9jcHVfXwBkZXZraXQga2V5Ym9hcmQgZW5hYmxlZABkZXZraXQgbW91c2UgZW5hYmxlZAB7IHZhciBzdHIgPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7IHJldHVybiBhbGxvY2F0ZShpbnRBcnJheUZyb21TdHJpbmcoc3RyKSwgJ2k4JywgQUxMT0NfTk9STUFMKTsgfQAqKiBkc2V0IGNhbGxlZCBiZWZvcmUgY2FydGRhdGEoKQAqKiBkZ2V0IGNhbGxlZCBiZWZvcmUgY2FydGRhdGEoKQBsYWJlbABzYXZlZCBsYWJlbABzY3JlZW4Ac2F2ZWQgc2NyZWVuc2hvdCB0byBkZXNrdG9wAHJlYwB2aWRlbwBzYXZlZCBnaWYgdG8gZGVza3RvcABwYXVzZQByZXNldABicmVhZGNydW1iAGdvX2JhY2sAY2FuIG5vdCBjb25uZWN0IHRvIHNjb3JlcyBob3N0AGNhbiBub3QgY29ubmVjdCB0byBiYnNyZXEgaG9zdABsb2dpbiB1bmF2YWlsYWJsZS4AcGxlYXNlIHVwZGF0ZSBwaWNvLTghAGNvbW1hbmRzAGxvYWQgPGZpbGVuYW1lPiAgc2F2ZSA8ZmlsZW5hbWU+AHJ1biAob3IgY3RybC1yKSAgcmVzdW1lAHNodXRkb3duICAgICAgICAgcmVib290AGluc3RhbGxfZGVtb3MgICAgbHMAY2QgPGRpcm5hbWU+ICAgICBta2RpciA8ZGlybmFtZT4AY2QgLi4gICAgICB0byBnbyB1cCBhIGRpcmVjdG9yeQBrZXljb25maWcgIHRvIGNob29zZSBidXR0b25zAHNwbG9yZSAgICAgdG8gZXhwbG9yZSBjYXJ0cmlkZ2VzAHByZXNzIGVzYyB0byB0b2dnbGUgZWRpdG9yIHZpZXcAYWx0K2VudGVyIHRvIHRvZ2dsZSBmdWxsc2NyZWVuAGFsdCtmNCBvciBjdHJsLXEgdG8gZmFzdHF1aXQAc2VlIHBpY284LnR4dCBmb3IgbW9yZSBpbmZvAG9yIHZpc2l0OiB3d3cucGljby04LmNvbQAlcyVzJXMAaW1wb3J0ZWQgJXMlcwBwbGVhc2Ugc3BlY2lmeSBhIGZpbGUAZmlsZTogJXMlcwB0b2tlbnM6ICAgICAlNWQgLyAgJWQAY2hhcnM6ICAgICAgJTVkIC8gJWQAY29tcHJlc3NlZDogJTVkIC8gJWQAdW5zYXZlZCBjaGFuZ2VzAGV4dGVybmFsIGNoYW5nZXMAY29udGludWUgd2l0aCBzaHV0ZG93bj8gW3kvbl0AY29udGludWUgd2l0aCByZWJvb3Q/IFt5L25dAGZpbGVuYW1lIHRvbyBsb25nAHBsZWFzZSBzcGVjaWZ5IGZpbGVuYW1lAEBjbGlwAEBjbGlwLnA4AEBjbGlwLnBuZwBAY2xpcC5wOC5wbmcAd2FybmluZzogbGFiZWwgaXMgYmxhbmsAcnVuIGNhcnQgYW5kIHVzZSBmNyB0byBjYXB0dXJlAF9jbGlwLnA4LnBuZwBfY2xpcC5wOC5wbmcuaGV4AGNvcGllZCB0byB0ZXh0ZmllbGQgLS0gcHJlc3MAY3RybC1jIHRvIGNvcHkgdG8gY2xpcGJvYXJkIQBmYWlsZWQgdG8gc2F2ZSB0byBjbGlwYm9hcmQAZmlsZSBhbHJlYWR5IGV4aXN0cwBvdmVyd3JpdGU/IFt5L25dAHNhdmVkICVzJXMAL2Jicy9nZXRfY2FydC5waHA/Y2F0PTcmbGlkPSVzAHNvcnJ5LCBAY2xpcCBpcyBub3QgYXZhaWxhYmxlAGxvYWRlZCAlcyVzICglZCBjaGFycykAY291bGQgbm90IGxvYWQ6IGZ1dHVyZSB2ZXJzaW9uAGNvdWxkIG5vdCBsb2FkAGNzdG9yZS8AcDhfY3N0b3JlOiBzdG9yaW5nICVkIGJ5dGVzIGFzOiAlcwoAc2FuZGJveGVkX2NzdG9yZSBmaWxlIG5vdCBmb3VuZDogJXMKACAgLS0+IHVzaW5nIGludGVybmFsIGZpbGU6ICVzCgAgIHJlbG9hZCgpaW5nICVkIGJ5dGVzIGZyb206ICVzCgAweCUwNHguJTA0eABbJXNdAHByZXNzIGN0cmwtYyB0byBjb21wbGV0ZSBjb3B5AFtjbGlwYm9hcmQgaXMgdW5hdmFpbGFibGVdAHByaW50aDogYmFkIGxvZyBmaWxlIG5hbWUAcHJpbnRoOiB0b28gbXVjaCBsb2cgZGF0YSAoMTBtYiBtYXgpAHwlcwB0b28gbWFueSBwcmludGggZmlsZXMAJXMKAHByaW50aDogY291bGQgbm90IG9wZW4gbG9nIGZpbGUAc29ycnksIHNwbG9yZSBpcyBub3QgYXZhaWxhYmxlAGluc3RhbGxlZCBzYW1wbGUgZ2FtZXMAdG8gc3Bsb3JlIGZhdm91cml0ZXMAbWtkaXIgW25hbWVdACVzJXMlcy8AZGlyZWN0b3J5OiAvJXMAJXMlcy8AY2Q6IGZhaWxlZABkaXJlY3Rvcnkgbm90IGZvdW5kAC8lcwBiYWQgbWVtb3J5IGFjY2VzcwBwcmludCglcykAIT0AKz0ALT0AKj0ALz0AJT0AJXMgPSAlcyAlYyAoJXMpICVzAGlmKABpZiAAdGhlbgAlcyB0aGVuICVzIGVuZCAAXgogMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6ISMlKCl7fVtdPD4rPS8qOjsuLH5fAGlmKF91cGRhdGU2MClfdXBkYXRlPWZ1bmN0aW9uKClfdXBkYXRlNjAoKV91cGRhdGU2MCgpZW5kAGlmKF91cGRhdGU2MClfdXBkYXRlPWZ1bmN0aW9uKClfdXBkYXRlNjAoKV91cGRhdGVfYnV0dG9ucygpX3VwZGF0ZTYwKCllbmQAR0lGODdhAEdJRjg5YQAAAQMHDx8/f/8lcyVzLnA4ZC50eHQAJTA4eABjYXJ0ZGF0YSgpIGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlAGNhcnQgZGF0YSBpZCB0b28gbG9uZwBjYXJ0IGRhdGEgaWQ6IGJhZCBjaGFyAHBsYXllciBrZXkgY29uZmlnAHNhdmVkIGNvbmZpZy4AcHJlc3MgZXNjYXBlAHRvIGNvbnRpbnVlAHByZXNzIGtleSBmb3I6AGRlbCBmb3IgZGVmYXVsdABlc2MgdG8gY2FuY2VsACVzIDogJXMAbGVmdAByaWdodAB1cABkb3duAHogLyBjIC8gbgB4IC8gdiAvIG0AcwBmAGUAZAB0YWIAcQBwIC8gZW50ZXIAcDEgbGVmdCAgICAAcDEgcmlnaHQgICAAcDEgdXAgICAgICAAcDEgZG93biAgICAAcDEgjiAgICAgIABwMSCXICAgICAgAHAyIGxlZnQgICAgAHAyIHJpZ2h0ICAgAHAyIHVwICAgICAgAHAyIGRvd24gICAgAHAyII4gICAgICAAcDIglyAgICAgIABwYXVzZSAgICAgIAAucG5nAHwlLTIwcyB8JS0yMHMgfCUtNmQgfCUtMTZzIHwlLTIwcyB8JXMKAGJicwBiYnMvJWQvACVzdGVtcC0lZC5uZm8AJXMlZC5wOC5wbmcAYmJzL2NhcnRzACVzL3RlbXAtJXMubmZvACVzLyVzLnA4LnBuZwAlcy9iYnMvZ2V0X2NhcnQucGhwP2NhdD03JmxpZD0lcwBiYnMvbGFiZWxzLwAlcyVzLnBuZwBydW4gY2FydAByZW1vdmUgZnJvbSBmYXZvdXJpdGVzAGZhdm91cml0ZQBzZWFyY2ggQCVzAGJicyB0aHJlYWQgKGJyb3dzZXIpAG9wdGlvbnMAZWRpdCBjYXJ0AHJlLWRvd25sb2FkAG9wZW4gaW4gYnJvd3NlcgBiYWNrAHZvbHVtZQBmdWxsc2NyZWVuAHNodXRkb3duIHBpY28tOABjYXQ9NyZzZWFyY2g9JXMmbWF4PTMyAGJicy90ZW1wXyVzX18ucGlwLnBuZwBiYnMvdGVtcF8lcy5waXAucG5nAGJicy8lcy5waXAucG5nAGh0dHA6Ly93d3cubGV4YWxvZmZsZS5jb20vYmJzL2Nwb3N0X2xpc3RlcjMucGhwP21heD0zMiZzdGFydF9pbmRleD0lZCYlcyZ2ZXJzaW9uPSVzJWMmY2ZpbD0lZAAwMDAxMTJjAGRvd25sb2FkIGZhaWxlZABodHRwOi8vd3d3LmxleGFsb2ZmbGUuY29tACoALnA4ACBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkAY2FuY2VsbGVkAGRvd25sb2FkIGNhbmNlbGxlZAB0aXRsZQBhdXRob3IAbGlkAG1pZABjYXRzdWIAUElDTy04AHsgaWYgKHR5cGVvZiBwaWNvOF9ncGlvICE9PSAndW5kZWZpbmVkJykgcGljbzhfZ3Bpb1skMF09JDF9AHt2YXIgdmFsPTA7IGlmICh0eXBlb2YgcGljbzhfZ3BpbyAhPT0gJ3VuZGVmaW5lZCcpIHZhbCA9IHBpY284X2dwaW9bJDBdOyByZXR1cm4gdmFsfQBhcGkucDgAY29sbGlkZS5wOABjYXN0LnA4AGRyaXBweS5wOABqZWxwaS5wOABtYW5kZWwucDgAYnV0dGVyZmx5LnA4AHN0b21weS5wOAB3b28ucDgAaGVsbG8ucDgAYm91bmNlLnA4AHNvcnQucDgAMTUxMzMAMTk2MzkAMTAwMjIAMTk0ODgAMTg5NzMAaW5zdGFsbGluZyBkZW1vIGNhcnRzIHRvIC9kZW1vcy8AZGVtb3MvAHcAZmF2b3VyaXRlcy50eHQAYQAKLS0+OAoAY291bGQgbm90IGZpbmQgdGFiICVkACNpbmNsdWRlIAB0b28gbWFueSAjaW5jbHVkZXMAI2luY2x1ZGUgZmlsZSB0b28gbG9uZzoAY291bGQgbm90ICNpbmNsdWRlIGZpbGU6AIIgdHJ5IHdpdGhvdXQgdGhlIHF1b3RlcwAlcwA+Y29kb19pbml0CgBwbGF0Zm9ybTogJXMKAEVtc2NyaXB0ZW4AY29kb19zeXN0ZW1faW5pdAoAY29kb19yZXNldF90aW1lcgoAY29kb19ndWlfaW5pdAoAY29kb19rZXlzX2luaXQKAGNvZG9fdGV4dF9pbml0CgBjb2RvX3ZpZGVvX2luaXQKAGNvZG9fbW91c2VfaW5pdAoAY29kb19qb3lzdGlja19pbml0CgA8b2sKAHdpZHRoAGhlaWdodABzaG93X2ZwcwB3aW5kb3dlZAB3aW5kb3dfeAB3aW5kb3dfeQBmcmFtZWxlc3MAZnVsbHNjcmVlbl9tZXRob2QAZm9yZWdyb3VuZF9zbGVlcF9tcwBzb3VuZF92b2x1bWUAbXVzaWNfdm9sdW1lAHNvdW5kAG11c2ljAG1peF9idWZmZXJfc2l6ZQBzb2Z0d2FyZV9ibGl0AHNvZnR3YXJlX2JsaXR0ZXIAaG9tZQBkZXNrdG9wAHBpeGVsX3BlcmZlY3QAZHJhd19yZWN0AHRpbWVvdXQAaGVhZGxlc3MAYmFja2dyb3VuZF9zbGVlcF9tcwBlbXVsYXRlX3RleHRpbnB1dABkZWZlcnJlZF9kZWFsbG9jAGV4dF9kaXNwbGF5AHByZWJsaXRfc2NhbGUAZGlzcGxheQBsb2dfc3lzdGVtX2luZm8AJWQAJWQsJWQsJWQsJWQAPmNvZG9fZXhpdAoAY211c2ljX3N0b3AKAGNvZG9fbWFpbl9leGl0CgBjb2RvX2NvbmZpZ19zYXZlCgBjb2RvX3NvdW5kX2V4aXQKAGNvZG9fdmlkZW9fZXhpdAoAY29kb19qb3lzdGlja19leGl0CgBjb2RvX3N5c3RlbV9leGl0CgBjb2RvX2l0ZW1zX2NyZWF0ZWQ6ICVkCgBAQCBzeW5jaW5nAEZTLnN5bmNmcyggZmFsc2UsIGZ1bmN0aW9uIChlcnIpIHsgfSApOwBjb2RvX2Rlc3Ryb3lfcG9kOiBjcG9kLT5pdGVtcyAhPSAwCgBCYWQgY3BvZF9hZGRfaXRlbSB0eXBlAEJhZCBjcG9kX2FkZF9pdGVtAGNvZG9fbG9hZF9wb2RfZmlsZTogVW5rbm93biBDaHVuayEKAHJiAGZhaWxlZABvawBjb2RvX2xvYWRfcG9kOiAlcyAlcyAKACoqIHdlYiBmaWxlIHN5c3RlbSBub3QgbW91bnRlZC4gcmV0dXJuaW5nIHZkaXNrIGZpbGU6ICVzICglcykKAGNvZG9fZm9wZW4gJXMgKCVzKSAlcwoAb3BlbmVkACAtPiByZXR1cm5pbmcgdmRpc2sgZmlsZTogJXMgKCVzKQoALi4AfgAKQXNzZXJ0aW9uIGZhaWxlZDogJXMKAENvdWxkIG5vdCBhbGxvY2F0ZSB2ZXJ0ZXgAQ291bGQgbm90IGFsbG9jYXRlIGJvbmVfdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBwb2x5AGFjdG9yJWQAIABJSERSAFBMVEUAYktHRABwSFlzAElEQVQAdElNRQB6VFh0AExvZGVQTkcAMjAxMTAyMjEAaVRYdAB0RVh0AHRSTlMAY29kb19mcmVlIGZhaWwgJXggJXgKACUwOHglMDh4JTA4eCUwOHglMDh4ACJ7cmV0dXJuIGRvY3VtZW50LmhpZGRlbiA/IDEgOiAwO30iAGNvZG9fc291bmRfaW5pdCBtaXhfYnVmZmVyX3NpemU6ICVkCgBjb2RvX3NldF9zY3JlZW4gJWQgJWQgJWQgJXgKAHJldHJpZXZpbmcgZGVza3RvcCByZXNvbHV0aW9uOiAlZCAlZAoAIHdpbmRvdyBzaXplOiAlZCAlZAoAJVktJW0tJWQgJUg6JU06JVMAJXMvJXMAJWQtJWQtJWQgJWQ6JWQ6JWQAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaADEAMgAzADQANQA2ADcAOAA5ADAAUmV0dXJuAEVzY2FwZQBCYWNrc3BhY2UAVGFiAFNwYWNlAC0APQBbAF0AU2xhc2gAIwA7ACcAYAAsAC8AQ2Fwc0xvY2sARjEARjIARjMARjQARjUARjYARjcARjgARjkARjEwAEYxMQBGMTIAUHJpbnRTY3JlZW4AU2Nyb2xsTG9jawBQYXVzZQBJbnNlcnQASG9tZQBQYWdlVXAARGVsZXRlAEVuZABQYWdlRG93bgBSaWdodABMZWZ0AERvd24AVXAATnVtbG9jawBLZXlwYWQgLwBLZXlwYWQgKgBLZXlwYWQgLQBLZXlwYWQgKwBLZXlwYWQgRW50ZXIAS2V5cGFkIDEAS2V5cGFkIDIAS2V5cGFkIDMAS2V5cGFkIDQAS2V5cGFkIDUAS2V5cGFkIDYAS2V5cGFkIDcAS2V5cGFkIDgAS2V5cGFkIDkAS2V5cGFkIDAAS2V5cGFkIC4AQXBwbGljYXRpb24AUG93ZXIAS2V5cGFkID0ARjEzAEYxNABGMTUARjE2AEYxNwBGMTgARjE5AEYyMABGMjEARjIyAEYyMwBGMjQARXhlY3V0ZQBIZWxwAE1lbnUAU2VsZWN0AFN0b3AAQWdhaW4AVW5kbwBDdXQAQ29weQBQYXN0ZQBGaW5kAE11dGUAVm9sdW1lVXAAVm9sdW1lRG93bgBLZXlwYWQgLABLZXlwYWQgPSAoQVM0MDApAEFsdEVyYXNlAFN5c1JlcQBDYW5jZWwAQ2xlYXIAUHJpb3IAU2VwYXJhdG9yAE91dABPcGVyAENsZWFyIC8gQWdhaW4AQ3JTZWwARXhTZWwAS2V5cGFkIDAwAEtleXBhZCAwMDAAVGhvdXNhbmRzU2VwYXJhdG9yAERlY2ltYWxTZXBhcmF0b3IAQ3VycmVuY3lVbml0AEN1cnJlbmN5U3ViVW5pdABLZXlwYWQgKABLZXlwYWQgKQBLZXlwYWQgewBLZXlwYWQgfQBLZXlwYWQgVGFiAEtleXBhZCBCYWNrc3BhY2UAS2V5cGFkIEEAS2V5cGFkIEIAS2V5cGFkIEMAS2V5cGFkIEQAS2V5cGFkIEUAS2V5cGFkIEYAS2V5cGFkIFhPUgBLZXlwYWQgXgBLZXlwYWQgJQBLZXlwYWQgPABLZXlwYWQgPgBLZXlwYWQgJgBLZXlwYWQgJiYAS2V5cGFkIHwAS2V5cGFkIHx8AEtleXBhZCA6AEtleXBhZCAjAEtleXBhZCBTcGFjZQBLZXlwYWQgQABLZXlwYWQgIQBLZXlwYWQgTWVtU3RvcmUAS2V5cGFkIE1lbVJlY2FsbABLZXlwYWQgTWVtQ2xlYXIAS2V5cGFkIE1lbUFkZABLZXlwYWQgTWVtU3VidHJhY3QAS2V5cGFkIE1lbU11bHRpcGx5AEtleXBhZCBNZW1EaXZpZGUAS2V5cGFkICsvLQBLZXlwYWQgQ2xlYXIAS2V5cGFkIENsZWFyRW50cnkAS2V5cGFkIEJpbmFyeQBLZXlwYWQgT2N0YWwAS2V5cGFkIERlY2ltYWwAS2V5cGFkIEhleGFkZWNpbWFsAExlZnQgQ3RybABMZWZ0IFNoaWZ0AExlZnQgQWx0AExlZnQgR1VJAFJpZ2h0IEN0cmwAUmlnaHQgU2hpZnQAUmlnaHQgQWx0AFJpZ2h0IEdVSQBNb2RlU3dpdGNoAEF1ZGlvTmV4dABBdWRpb1ByZXYAQXVkaW9TdG9wAEF1ZGlvUGxheQBBdWRpb011dGUATWVkaWFTZWxlY3QAV1dXAE1haWwAQ2FsY3VsYXRvcgBDb21wdXRlcgBBQyBTZWFyY2gAQUMgSG9tZQBBQyBCYWNrAEFDIEZvcndhcmQAQUMgU3RvcABBQyBSZWZyZXNoAEFDIEJvb2ttYXJrcwBCcmlnaHRuZXNzRG93bgBCcmlnaHRuZXNzVXAARGlzcGxheVN3aXRjaABLQkRJbGx1bVRvZ2dsZQBLQkRJbGx1bURvd24AS0JESWxsdW1VcABFamVjdABTbGVlcABBcHAxAEFwcDIAQXVkaW9SZXdpbmQAQXVkaW9GYXN0Rm9yd2FyZABVbmFibGUgdG8gaW5pdGlhbGl6ZSBTREwAaWYgKHR5cGVvZiBjb2RvX2tleV9idWZmZXIgPT09ICd1bmRlZmluZWQnKSBjb2RvX2tleV9idWZmZXIgPSBbXTsgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpeyB2YXIgdmFsID0gLTE7IGlmIChlLmtleS5sZW5ndGggPT0gMSkgeyB2YWwgPSBlLmtleS5jaGFyQ29kZUF0KDApOyB9IGVsc2UgeyBpZiAoZS5rZXkgPT0gIlRhYiIpIHZhbCA9IDk7IGlmIChlLmtleSA9PSAiRW50ZXIiKSB2YWwgPSAxMzsgaWYgKGUua2V5ID09ICJCYWNrc3BhY2UiKSB2YWwgPSA4OyBpZiAoZS5rZXkgPT0gIkVzY2FwZSIpIHZhbCA9IDI3OyBpZiAodmFsID09IC0xKXsgfSB9IHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIik7IGNvZG9fa2V5X2J1ZmZlci5wdXNoKHZhbCk7IH0pOwB2YXIgX2NvZG9fdGV4dF92YWx1ZSA9ICIiOyB2YXIgX2NvZG9fc3RyX291dCA9ICIiOyB2YXIgY29kb193aGVlbF9keCA9IDA7IHZhciBjb2RvX3doZWVsX2R5ID0gMDsAZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBmdW5jdGlvbihlKXsgZHggPSBlLmRlbHRhWDsgaWYgKGR4IDwgMCkgZHggPSAtMTsgaWYgKGR4ID4gMCkgZHggPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHggKj0gNDsgY29kb193aGVlbF9keCAtPSBkeDsgZHkgPSBlLmRlbHRhWTsgaWYgKGR5IDwgMCkgZHkgPSAtMTsgaWYgKGR5ID4gMCkgZHkgPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHkgKj0gNDsgY29kb193aGVlbF9keSAtPSBkeTsgfSk7AAoKKiogRkFUQUwgRVJST1I6ICVzCgoAU0RMIEVycm9yOiAlcwoAZnVuY3Rpb24gbG9nKG1zZykgeyBpZiAod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7IHdpbmRvdy5jb25zb2xlLmxvZyhtc2cpOyB9IH0gbG9nKCJhdWRpb19pbml0Iik7IHZhciBjb2RvX2F1ZGlvX2NvbnRleHQ7IGlmICh0eXBlb2YgTW9kdWxlID09PSAndW5kZWZpbmVkJykgbG9nKCIgKioqIE1vZHVsZSB1bmRlZmluZWQiKTsgZWxzZSBpZiAodHlwZW9mIE1vZHVsZS5jY2FsbCA9PT0gJ3VuZGVmaW5lZCcpIGxvZygiICoqKiogTW9kdWxlLmNjYWxsIHVuZGVmaW5lZCIpOyBlbHNlIHsgdmFyIHdlYkF1ZGlvQVBJID0gd2luZG93LkF1ZGlvQ29udGV4dCB8fCB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0IHx8IHdpbmRvdy5tb3pBdWRpb0NvbnRleHQgfHwgd2luZG93Lm9BdWRpb0NvbnRleHQgfHwgd2luZG93Lm1zQXVkaW9Db250ZXh0OyBpZiAod2ViQXVkaW9BUEkpIHsgaWYgKHR5cGVvZiBwaWNvOF9hdWRpb19jb250ZXh0ICE9PSAndW5kZWZpbmVkJykgY29kb19hdWRpb19jb250ZXh0ID0gcGljbzhfYXVkaW9fY29udGV4dDsgZWxzZSBpZiAodHlwZW9mIHZveGF0cm9uX2F1ZGlvX2NvbnRleHQgIT09ICd1bmRlZmluZWQnKSBjb2RvX2F1ZGlvX2NvbnRleHQgPSB2b3hhdHJvbl9hdWRpb19jb250ZXh0OyBlbHNlIGNvZG9fYXVkaW9fY29udGV4dCA9IG5ldyB3ZWJBdWRpb0FQSTsgaWYgKGNvZG9fYXVkaW9fY29udGV4dCkgeyBsb2coIlNhbXBsZSBSYXRlOiAiK2NvZG9fYXVkaW9fY29udGV4dC5zYW1wbGVSYXRlKTsgbm9kZSA9IGNvZG9fYXVkaW9fY29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoJDAsIDEsIDEpOyBub2RlLm9uYXVkaW9wcm9jZXNzID0gZnVuY3Rpb24oZSkgeyB2YXIgZGF0YSA9IGUub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOyB2YXIgciA9IDIyMDUwLjAgLyBjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZTsgdmFyIGxlbjAgPSBNYXRoLmZsb29yKGRhdGEubGVuZ3RoICogcik7IHZhciBsZW4xID0gZGF0YS5sZW5ndGg7IHZhciBwdHIgPSBNb2R1bGUuY2NhbGwoJ21peF8wJywgJ251bWJlcicsIFsnbnVtYmVyJywnbnVtYmVyJ10sIFtsZW4wLCBsZW4xXSk7IGZvciAodmFyIGogPSAwOyBqIDwgZGF0YS5sZW5ndGg7IGorKykgZGF0YVtqXSA9IE1vZHVsZS5nZXRWYWx1ZShwdHIgKyBqKjIsICdpMTYnKSAvIDB4ODAwMDsgfTsgbm9kZS5jb25uZWN0KGNvZG9fYXVkaW9fY29udGV4dC5kZXN0aW5hdGlvbik7IH0gZWxzZSB7IGxvZygiKiogZmFpbGVkIHRvIGNyZWF0ZSBjb2RvX2F1ZGlvX2NvbnRleHQiKTsgfSB9IGVsc2UgeyBsb2coIioqIHdlYkF1ZGlvQVBJIG5vdCBmb3VuZCIpOyB9IH0AImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IHJldHVybiBjb2RvX2tleV9idWZmZXIubGVuZ3RoID4gMCA/IDEgOiAwOyIAImlmICh0eXBlb2YgY29kb19rZXlfYnVmZmVyID09PSAndW5kZWZpbmVkJykgY29kb19rZXlfYnVmZmVyID0gW107IHJldHVybiBjb2RvX2tleV9idWZmZXIuc2hpZnQoKSB8IDA7IgByZWFkIGN1cnNvciBrZXkgJWQKACJ7dGVtcCA9ICh0eXBlb2YgY29kb193aGVlbF9keCAhPT0gJ3VuZGVmaW5lZCcpID8gY29kb193aGVlbF9keDowOyBjb2RvX3doZWVsX2R4ID0gMDsgcmV0dXJuIHRlbXA7fSIAInt0ZW1wID0gKHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAndW5kZWZpbmVkJykgPyBjb2RvX3doZWVsX2R5OjA7IGNvZG9fd2hlZWxfZHkgPSAwOyByZXR1cm4gdGVtcDt9IgAieyBpZiAoZG9jdW1lbnQuaGlkZGVuKSByZXR1cm4gMDsgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImNvZG9fdGV4dGFyZWFcIik7IGlmIChlbCkgcmV0dXJuIChlbCA9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KTsgZWwgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OyByZXR1cm4gKCFlbCB8fCAoZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9IFwiaW5wdXRcIiAmJiBlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gXCJ0ZXh0YXJlYVwiKSk7IH0iAGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKTsgaWYgKGVsKSB7IGVsLmZvY3VzKCk7IGVsLnNlbGVjdCgpOyB9AGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKTsgaWYgKGVsKSB7IGVsLnNlbGVjdCgpOyB9ACJ7dmFyIHJldCA9IDA7IGlmICh0eXBlb2YgcGljbzhfbW91c2UgIT09ICd1bmRlZmluZWQnKSByZXQ9MTsgcmV0dXJuIHJldDt9IgAie3JldHVybiBwaWNvOF9tb3VzZVswXX0iACJ7cmV0dXJuIHBpY284X21vdXNlWzFdfSIAIntyZXR1cm4gcGljbzhfbW91c2VbMl19IgAvdXNlcl9kYXRhLyVzACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fbW91bnRlZF9maWxlc3lzdGVtICE9PSAndW5kZWZpbmVkJykgdmFsPTE7IHJldHVybiB2YWw7fSIAQEAgY29kb19ta2RpciBmYWlsZWQ7IGZpbGVzeXN0ZW0gbm90IGZvdW5kZWQAX2Rpcl9uYW1lPSIiOwB7X2Rpcl9uYW1lPV9kaXJfbmFtZStTdHJpbmcuZnJvbUNoYXJDb2RlKCQwKTt9AGNvbnNvbGUubG9nKCJAQCBta2RpciBkaXJlY3RvcnkgKG5vY2hlY2spOiAiK19kaXJfbmFtZSk7IEZTLmNyZWF0ZVBhdGgoIiIsIF9kaXJfbmFtZSwgdHJ1ZSwgdHJ1ZSk7AGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKTsgaWYgKGVsKSB7IH0AX2NvZG9fc3RyX291dD0iIjsAe19jb2RvX3N0cl9vdXQ9X2NvZG9fc3RyX291dCtTdHJpbmcuZnJvbUNoYXJDb2RlKCQwKTt9ACJ7IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb2RvX3RleHRhcmVhXCIpOyBpZiAoZWwpIHsgZWwudmFsdWUgPSBfY29kb19zdHJfb3V0OyByZXR1cm4gMDsgfSBlbHNlIHJldHVybiAxOyB9IgAie3JldHVybiAodHlwZW9mIF9jb2RvX3RleHRfdmFsdWUgPT09ICd1bmRlZmluZWQnKSA/IDEgOiAwO30iAGlpaSA9IDA7ACJ7aWlpID0gaWlpKzE7IHJldHVybiBfY29kb190ZXh0X3ZhbHVlLmNoYXJDb2RlQXQoaWlpLTEpOyB9IgAiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImNvZG9fdGV4dGFyZWFcIik7IGlmIChlbCkgeyBfY29kb190ZXh0X3ZhbHVlID0gZWwudmFsdWU7IHJldHVybiAxOyB9IHJldHVybiAwOyIAJXMlcwBwaWNvLTggY2FydHJpZGdlAHZlcnNpb24gJWQAX19sdWFfXwBfX2dmeF9fAF9fZ2ZmX18AX19tYXBfXwBfX3NmeF9fAF9fbXVzaWNfXwBfX2xhYmVsX18AJTAyeCUwMnglMDJ4JTAyeAAlMDJ4JTF4JTF4JTF4ACUwMnggAHIAcGljby04IGNhcnRyaWRnZSAvLyBodHRwOi8vd3d3LnBpY28tOC5jb20KAHZlcnNpb24gJWQKAF9fbHVhX18KAAoAX19nZnhfXwoAJXgAX19sYWJlbF9fCgBfX2dmZl9fCgAlMDJ4AF9fbWFwX18KAF9fc2Z4X18KACUwMngleCV4JXgAX19tdXNpY19fCgAlMDJ4JTAyeCUwMnglMDJ4CgB3YgAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAAAQIEBwMGBQBpbmZpbml0eQBuYW4AcndhAC4="; + +var tempDoublePtr = 5109088; + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + return value; +} + +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (;up; up--) { + parts.unshift(".."); + } + } + return parts; + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p; + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: function(path) { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + extname: function(path) { + return PATH.splitPath(path)[3]; + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")); + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r); + }, + resolve: function() { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/"; + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p; + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: function(from, to) { + from = PATH.resolve(from).substr(1); + to = PATH.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (;start < arr.length; start++) { + if (arr[start] !== "") break; + } + var end = arr.length - 1; + for (;end >= 0; end--) { + if (arr[end] !== "") break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } +}; + +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops); + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + var isPosixPlatform = process.platform != "win32"; + var fd = process.stdin.fd; + if (isPosixPlatform) { + var usingDevice = false; + try { + fd = fs.openSync("/dev/stdin", "r"); + usingDevice = true; + } catch (e) {} + } + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e; + } + if (usingDevice) { + fs.closeSync(fd); + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8"); + } else { + result = null; + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n"; + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n"; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } +}; + +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + } + return node; + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; + } + return node.contents; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return; + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + node.usedBytes = newSize; + return; + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[ERRNO_CODES.ENOENT]; + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + delete parent.contents[name]; + }, + readdir: function(node) { + var entries = [ ".", ".." ]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return node.link; + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); + } + buffer.set(contents, ptr); + } + return { + ptr: ptr, + allocated: allocated + }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (mmapFlags & 2) { + return 0; + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } + } +}; + +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret; + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments); + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback); + }); + }); + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db); + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); + } + if (!req) { + return callback("Unable to connect to IndexedDB"); + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }); + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + }, + getLocalSet: function(mount, callback) { + var entries = {}; + function isRealDir(p) { + return p !== "." && p !== ".."; + } + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); + }; + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); + } + entries[path] = { + timestamp: stat.mtime + }; + } + return callback(null, { + type: "local", + entries: entries + }); + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }); + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue(); + }; + } catch (e) { + return callback(e); + } + }); + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }); + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }); + } else { + return callback(new Error("node type not supported")); + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode); + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }); + } else { + return callback(new Error("node type not supported")); + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } + callback(null); + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); + } + } catch (e) { + return callback(e); + } + callback(null); + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++; + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++; + } + }); + if (!total) { + return callback(null); + } + var errored = false; + var completed = 0; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return callback(err); + } + return; + } + if (++completed >= total) { + return callback(null); + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done); + }); + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done); + } else { + IDBFS.removeRemoteEntry(store, path, done); + } + }); + } +}; + +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"]; + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + }; + }, + bufferFrom: function(arrayBuffer) { + return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); + }, + mount: function(mount) { + assert(ENVIRONMENT_IS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0); + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2; + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return stat.mode; + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k; + } + } + if (!flags) { + return newFlags; + } else { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return node; + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + } + } +}; + +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); + } + parent = createdParents[curr]; + } + return parent; + } + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1]; + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)); + }); + }); + return root; + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date()).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents; + } else { + node.size = 4096; + node.contents = {}; + } + if (parent) { + parent.contents[name] = node; + } + return node; + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + }; + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }, + readdir: function(node) { + var entries = [ ".", ".." ]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }, + readlink: function(node) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size; + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + } + } +}; + +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno); + }, + lookupPath: function(path, opts) { + path = PATH.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(40); + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p; + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(40); + } + } + } + } + return { + path: current_path, + node: current + }; + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path; + } + path = path ? node.name + "/" + path : node.name; + node = node.parent; + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0; + } + return (parentid + hash >>> 0) % FS.nameTable.length; + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode; + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode; + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode); + } + } + }); + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: function(node) { + FS.hashRemoveNode(node); + }, + isRoot: function(node) { + return node === node.parent; + }, + isMountpoint: function(node) { + return !!node.mounted; + }, + isFile: function(mode) { + return (mode & 61440) === 32768; + }, + isDir: function(mode) { + return (mode & 61440) === 16384; + }, + isLink: function(mode) { + return (mode & 61440) === 40960; + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192; + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576; + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096; + }, + isSocket: function(mode) { + return (mode & 49152) === 49152; + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: function(flag) { + var perms = [ "r", "w", "rw" ][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 13; + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 13; + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 13; + } + return 0; + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 13; + return 0; + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 17; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 20; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 16; + } + } else { + if (FS.isDir(node.mode)) { + return 21; + } + } + return 0; + }, + mayOpen: function(node, flags) { + if (!node) { + return 2; + } + if (FS.isLink(node.mode)) { + return 40; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 21; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(24); + }, + getStream: function(fd) { + return FS.streams[fd]; + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node; + }, + set: function(val) { + this.node = val; + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1; + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0; + } + }, + isAppend: { + get: function() { + return this.flags & 1024; + } + } + }); + } + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: function(fd) { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, + llseek: function() { + throw new FS.ErrnoError(29); + } + }, + major: function(dev) { + return dev >> 8; + }, + minor: function(dev) { + return dev & 255; + }, + makedev: function(ma, mi) { + return ma << 8 | mi; + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + }; + }, + getDevice: function(dev) { + return FS.devices[dev]; + }, + getMounts: function(mount) { + var mounts = []; + var check = [ mount ]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err); + } + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(16); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(16); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(20); + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(22); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name); + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(22); + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(1); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 17) throw e; + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: function(oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(2); + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(2); + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(1); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node; + } catch (e) { + throw new FS.ErrnoError(16); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(2); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(18); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(22); + } + relative = PATH.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(39); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err); + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(1); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(16); + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err); + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path); + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message); + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path); + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message); + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(1); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(16); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message); + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(20); + } + return node.node_ops.readdir(node); + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(1); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(16); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message); + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(2); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(22); + } + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(2); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(1); + } + return node.node_ops.getattr(node); + }, + lstat: function(path) { + return FS.stat(path, true); + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(1); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(9); + } + FS.chmod(stream.node, mode); + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(1); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }); + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(9); + } + FS.chown(stream.node, uid, gid); + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(22); + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(1); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(21); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(22); + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(9); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(22); + } + FS.truncate(stream.node, len); + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(2); + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(17); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(2); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(20); + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err); + } + } + if (flags & 512) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path); + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags); + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message); + } + return stream; + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(9); + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed: function(stream) { + return stream.fd === null; + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(9); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(29); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(22); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(22); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(9); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(9); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(21); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(22); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(29); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(22); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(9); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(9); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(21); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(22); + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(29); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path); + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message); + } + return bytesWritten; + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(9); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(22); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(9); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(19); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(95); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(13); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(19); + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: function(stream) { + return 0; + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(25); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: function() { + return FS.currentPath; + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(2); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(20); + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0; + }, + write: function(stream, buffer, offset, length, pos) { + return length; + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0]; + }; + } catch (e) { + random_device = function() { + return Math.random() * 256 | 0; + }; + } + } else { + random_device = function() { + abort("random_device"); + }; + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(9); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path; + } + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, {}, "/proc/self/fd"); + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + var stdin = FS.open("/dev/stdin", "r"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + var stdout = FS.open("/dev/stdout", "w"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")"); + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + if (this.stack) Object.defineProperty(this, "stack", { + value: new Error().stack, + writable: true + }); + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [ 2 ].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + }; + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path; + }, + absolutePath: function(relative, base) { + return PATH.resolve(base, relative); + }, + standardizePath: function(path) { + return PATH.normalize(path); + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path; + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) {} + parent = current; + } + return current; + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(5); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(11); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(5); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (Module["read"]) { + try { + obj.contents = intArrayFromString(Module["read"](obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + if (!success) ___setErrNo(5); + return success; + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || "", true); + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + }; + } else { + var properties = { + isDevice: false, + url: url + }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length; + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(5); + } + return fn.apply(null, arguments); + }; + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(5); + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + }, + indexedDB: function() { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: function() { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly"); + } catch (e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; + +function _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() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now()) | 0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); + }; + 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 (typeof setImmediate === "undefined") { + var setImmediates = []; + var emscriptenMainLoopMessageId = "setimmediate"; + var Browser_setImmediate_messageHandler = function(event) { + if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + }; + addEventListener("message", Browser_setImmediate_messageHandler, true); + setImmediate = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module["setImmediates"] === undefined) Module["setImmediates"] = []; + Module["setImmediates"].push(func); + postMessage({ + target: emscriptenMainLoopMessageId + }); + } else postMessage(emscriptenMainLoopMessageId, "*"); + }; + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + setImmediate(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = "immediate"; + } + return 0; +} + +function _emscripten_get_now() { + abort(); +} + +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 browserIterationFunc; + if (typeof arg !== "undefined") { + browserIterationFunc = function() { + Module["dynCall_vi"](func, arg); + }; + } else { + browserIterationFunc = function() { + Module["dynCall_v"](func); + }; + } + 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(); + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + setTimeout(Browser.mainLoop.runner, 0); + return; + } + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + if (Browser.mainLoop.method === "timeout" && Module.ctx) { + err("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(browserIterationFunc); + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + if (typeof SDL === "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + Browser.mainLoop.scheduler(); + }; + if (!noSetTiming) { + if (fps && fps > 0) _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 < expected) { + Module["setStatus"](message + " (" + (expected - remaining) + "/" + expected + ")"); + } else { + Module["setStatus"](message); + } + } else { + Module["setStatus"](""); + } + } + }, + runIter: function(func) { + if (ABORT) return; + if (Module["preMainLoop"]) { + var preRet = Module["preMainLoop"](); + if (preRet === false) { + return; + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === "object" && e.stack) err("exception thrown: " + [ e, e.stack ]); + throw e; + } + } + if (Module["postMainLoop"]) Module["postMainLoop"](); + } + }, + isFullscreen: false, + pointerLock: false, + moduleContextCreatedCallbacks: [], + workers: [], + init: function() { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; + if (Browser.initted) return; + Browser.initted = true; + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch (e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : !Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null; + Browser.URLObject = typeof window != "undefined" ? window.URL ? window.URL : window.webkitURL : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === "undefined") { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + var imagePlugin = {}; + imagePlugin["canHandle"] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin["handle"] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([ byteArray ], { + type: Browser.getMimetype(name) + }); + if (b.size !== byteArray.length) { + b = new Blob([ new Uint8Array(byteArray).buffer ], { + type: Browser.getMimetype(name) + }); + } + } catch (e) { + warnOnce("Blob constructor present but fails: " + e + "; falling back to blob builder"); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append(new Uint8Array(byteArray).buffer); + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, "Image " + name + " could not be decoded"); + var canvas = document.createElement("canvas"); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext("2d"); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log("Image " + url + " could not be decoded"); + if (onerror) onerror(); + }; + img.src = url; + }; + Module["preloadPlugins"].push(imagePlugin); + var audioPlugin = {}; + audioPlugin["canHandle"] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { + ".ogg": 1, + ".wav": 1, + ".mp3": 1 + }; + }; + audioPlugin["handle"] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([ byteArray ], { + type: Browser.getMimetype(name) + }); + } catch (e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); + var audio = new Audio(); + audio.addEventListener("canplaythrough", function() { + finish(audio); + }, false); + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log("warning: browser could not fully decode audio " + name + ", trying slower base64 approach"); + function encode64(data) { + var BASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var PAD = "="; + var ret = ""; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = leftchar << 8 | data[i]; + leftbits += 8; + while (leftbits >= 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); + function pointerLockChange() { + Browser.pointerLock = document["pointerLockElement"] === Module["canvas"] || document["mozPointerLockElement"] === Module["canvas"] || document["webkitPointerLockElement"] === Module["canvas"] || document["msPointerLockElement"] === Module["canvas"]; + } + var canvas = Module["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 && Module["canvas"].requestPointerLock) { + Module["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, + majorVersion: 1 + }; + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + if (typeof GL !== "undefined") { + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } + } 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) { + lockPointer = false; + console.log("forcing lockPointer to false"); + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === "undefined") Browser.lockPointer = false; + 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["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvasContainer) { + canvas.exitFullscreen = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) { + Browser.setFullscreenCanvasSize(); + } else { + Browser.updateCanvasDimensions(canvas); + } + } else { + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + if (Browser.resizeCanvas) { + Browser.setWindowedCanvasSize(); + } else { + Browser.updateCanvasDimensions(canvas); + } + } + if (Module["onFullScreen"]) Module["onFullScreen"](Browser.isFullscreen); + if (Module["onFullscreen"]) Module["onFullscreen"](Browser.isFullscreen); + } + 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) || (canvasContainer["webkitRequestFullScreen"] ? function() { + canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]); + } : null); + if (vrDevice) { + canvasContainer.requestFullscreen({ + vrDisplay: vrDevice + }); + } else { + canvasContainer.requestFullscreen(); + } + }, + requestFullScreen: function(lockPointer, resizeCanvas, vrDevice) { + err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + }; + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + }, + 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; + } + }, + asyncLoad: function(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + Module["readAsync"](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + }, + 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 >> 2]; + flags = flags | 8388608; + HEAP32[SDL.screen >> 2] = flags; + } + Browser.updateCanvasDimensions(Module["canvas"]); + Browser.updateResizeListeners(); + }, + setWindowedCanvasSize: function() { + if (typeof SDL != "undefined") { + var flags = HEAPU32[SDL.screen >> 2]; + flags = flags & ~8388608; + HEAP32[SDL.screen >> 2] = flags; + } + Browser.updateCanvasDimensions(Module["canvas"]); + 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 < Module["forcedAspectRatio"]) { + w = Math.round(h * Module["forcedAspectRatio"]); + } else { + h = Math.round(w / Module["forcedAspectRatio"]); + } + } + if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvas.parentNode && typeof screen != "undefined") { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != "undefined") { + canvas.style.removeProperty("width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != "undefined") { + if (w != wNative || h != hNative) { + canvas.style.setProperty("width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty("width"); + canvas.style.removeProperty("height"); + } + } + } + }, + wgetRequests: {}, + nextWgetRequestHandle: 0, + getNextWgetRequestHandle: function() { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + } +}; + +function _SDL_GetTicks() { + return Date.now() - SDL.startTime | 0; +} + +function _SDL_LockSurface(surf) { + var surfData = SDL.surfaces[surf]; + surfData.locked++; + if (surfData.locked > 1) return 0; + if (!surfData.buffer) { + surfData.buffer = _malloc(surfData.width * surfData.height * 4); + HEAP32[surf + 20 >> 2] = surfData.buffer; + } + HEAP32[surf + 20 >> 2] = surfData.buffer; + if (surf == SDL.screen && Module.screenIsReadOnly && surfData.image) return 0; + if (SDL.defaults.discardOnLock) { + if (!surfData.image) { + surfData.image = surfData.ctx.createImageData(surfData.width, surfData.height); + } + if (!SDL.defaults.opaqueFrontBuffer) return; + } else { + surfData.image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height); + } + if (surf == SDL.screen && SDL.defaults.opaqueFrontBuffer) { + var data = surfData.image.data; + var num = data.length; + for (var i = 0; i < num / 4; i++) { + data[i * 4 + 3] = 255; + } + } + if (SDL.defaults.copyOnLock && !SDL.defaults.discardOnLock) { + if (surfData.isFlagSet(2097152)) { + throw "CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set" + new Error().stack; + } else { + HEAPU8.set(surfData.image.data, surfData.buffer); + } + } + return 0; +} + +var SDL = { + defaults: { + width: 320, + height: 200, + copyOnLock: false, + discardOnLock: true, + opaqueFrontBuffer: false + }, + version: null, + surfaces: {}, + canvasPool: [], + events: [], + fonts: [ null ], + audios: [ null ], + rwops: [ null ], + music: { + audio: null, + volume: 1 + }, + mixerFrequency: 22050, + mixerFormat: 32784, + mixerNumChannels: 2, + mixerChunkSize: 1024, + channelMinimumNumber: 0, + GL: false, + glAttributes: { + 0: 3, + 1: 3, + 2: 2, + 3: 0, + 4: 0, + 5: 1, + 6: 16, + 7: 0, + 8: 0, + 9: 0, + 10: 0, + 11: 0, + 12: 0, + 13: 0, + 14: 0, + 15: 1, + 16: 0, + 17: 0, + 18: 0 + }, + keyboardState: null, + keyboardMap: {}, + canRequestFullscreen: false, + isRequestingFullscreen: false, + textInput: false, + startTime: null, + initFlags: 0, + buttonState: 0, + modState: 0, + DOMButtons: [ 0, 0, 0 ], + DOMEventToSDLEvent: {}, + TOUCH_DEFAULT_ID: 0, + eventHandler: null, + eventHandlerContext: null, + eventHandlerTemp: 0, + keyCodes: { + 16: 1249, + 17: 1248, + 18: 1250, + 20: 1081, + 33: 1099, + 34: 1102, + 35: 1101, + 36: 1098, + 37: 1104, + 38: 1106, + 39: 1103, + 40: 1105, + 44: 316, + 45: 1097, + 46: 127, + 91: 1251, + 93: 1125, + 96: 1122, + 97: 1113, + 98: 1114, + 99: 1115, + 100: 1116, + 101: 1117, + 102: 1118, + 103: 1119, + 104: 1120, + 105: 1121, + 106: 1109, + 107: 1111, + 109: 1110, + 110: 1123, + 111: 1108, + 112: 1082, + 113: 1083, + 114: 1084, + 115: 1085, + 116: 1086, + 117: 1087, + 118: 1088, + 119: 1089, + 120: 1090, + 121: 1091, + 122: 1092, + 123: 1093, + 124: 1128, + 125: 1129, + 126: 1130, + 127: 1131, + 128: 1132, + 129: 1133, + 130: 1134, + 131: 1135, + 132: 1136, + 133: 1137, + 134: 1138, + 135: 1139, + 144: 1107, + 160: 94, + 161: 33, + 162: 34, + 163: 35, + 164: 36, + 165: 37, + 166: 38, + 167: 95, + 168: 40, + 169: 41, + 170: 42, + 171: 43, + 172: 124, + 173: 45, + 174: 123, + 175: 125, + 176: 126, + 181: 127, + 182: 129, + 183: 128, + 188: 44, + 190: 46, + 191: 47, + 192: 96, + 219: 91, + 220: 92, + 221: 93, + 222: 39, + 224: 1251 + }, + scanCodes: { + 8: 42, + 9: 43, + 13: 40, + 27: 41, + 32: 44, + 35: 204, + 39: 53, + 44: 54, + 46: 55, + 47: 56, + 48: 39, + 49: 30, + 50: 31, + 51: 32, + 52: 33, + 53: 34, + 54: 35, + 55: 36, + 56: 37, + 57: 38, + 58: 203, + 59: 51, + 61: 46, + 91: 47, + 92: 49, + 93: 48, + 96: 52, + 97: 4, + 98: 5, + 99: 6, + 100: 7, + 101: 8, + 102: 9, + 103: 10, + 104: 11, + 105: 12, + 106: 13, + 107: 14, + 108: 15, + 109: 16, + 110: 17, + 111: 18, + 112: 19, + 113: 20, + 114: 21, + 115: 22, + 116: 23, + 117: 24, + 118: 25, + 119: 26, + 120: 27, + 121: 28, + 122: 29, + 127: 76, + 305: 224, + 308: 226, + 316: 70 + }, + loadRect: function(rect) { + return { + x: HEAP32[rect + 0 >> 2], + y: HEAP32[rect + 4 >> 2], + w: HEAP32[rect + 8 >> 2], + h: HEAP32[rect + 12 >> 2] + }; + }, + updateRect: function(rect, r) { + HEAP32[rect >> 2] = r.x; + HEAP32[rect + 4 >> 2] = r.y; + HEAP32[rect + 8 >> 2] = r.w; + HEAP32[rect + 12 >> 2] = r.h; + }, + intersectionOfRects: function(first, second) { + var leftX = Math.max(first.x, second.x); + var leftY = Math.max(first.y, second.y); + var rightX = Math.min(first.x + first.w, second.x + second.w); + var rightY = Math.min(first.y + first.h, second.y + second.h); + return { + x: leftX, + y: leftY, + w: Math.max(leftX, rightX) - leftX, + h: Math.max(leftY, rightY) - leftY + }; + }, + checkPixelFormat: function(fmt) {}, + loadColorToCSSRGB: function(color) { + var rgba = HEAP32[color >> 2]; + return "rgb(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + ")"; + }, + loadColorToCSSRGBA: function(color) { + var rgba = HEAP32[color >> 2]; + return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >> 24 & 255) / 255 + ")"; + }, + translateColorToCSSRGBA: function(rgba) { + return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >>> 24) / 255 + ")"; + }, + translateRGBAToCSSRGBA: function(r, g, b, a) { + return "rgba(" + (r & 255) + "," + (g & 255) + "," + (b & 255) + "," + (a & 255) / 255 + ")"; + }, + translateRGBAToColor: function(r, g, b, a) { + return r | g << 8 | b << 16 | a << 24; + }, + makeSurface: function(width, height, flags, usePageCanvas, source, rmask, gmask, bmask, amask) { + flags = flags || 0; + var is_SDL_HWSURFACE = flags & 1; + var is_SDL_HWPALETTE = flags & 2097152; + var is_SDL_OPENGL = flags & 67108864; + var surf = _malloc(60); + var pixelFormat = _malloc(44); + var bpp = is_SDL_HWPALETTE ? 1 : 4; + var buffer = 0; + if (!is_SDL_HWSURFACE && !is_SDL_OPENGL) { + buffer = _malloc(width * height * 4); + } + HEAP32[surf >> 2] = flags; + HEAP32[surf + 4 >> 2] = pixelFormat; + HEAP32[surf + 8 >> 2] = width; + HEAP32[surf + 12 >> 2] = height; + HEAP32[surf + 16 >> 2] = width * bpp; + HEAP32[surf + 20 >> 2] = buffer; + HEAP32[surf + 36 >> 2] = 0; + HEAP32[surf + 40 >> 2] = 0; + HEAP32[surf + 44 >> 2] = Module["canvas"].width; + HEAP32[surf + 48 >> 2] = Module["canvas"].height; + HEAP32[surf + 56 >> 2] = 1; + HEAP32[pixelFormat >> 2] = -2042224636; + HEAP32[pixelFormat + 4 >> 2] = 0; + HEAP8[pixelFormat + 8 >> 0] = bpp * 8; + HEAP8[pixelFormat + 9 >> 0] = bpp; + HEAP32[pixelFormat + 12 >> 2] = rmask || 255; + HEAP32[pixelFormat + 16 >> 2] = gmask || 65280; + HEAP32[pixelFormat + 20 >> 2] = bmask || 16711680; + HEAP32[pixelFormat + 24 >> 2] = amask || 4278190080; + SDL.GL = SDL.GL || is_SDL_OPENGL; + var canvas; + if (!usePageCanvas) { + if (SDL.canvasPool.length > 0) { + canvas = SDL.canvasPool.pop(); + } else { + canvas = document.createElement("canvas"); + } + canvas.width = width; + canvas.height = height; + } else { + canvas = Module["canvas"]; + } + var webGLContextAttributes = { + antialias: SDL.glAttributes[13] != 0 && SDL.glAttributes[14] > 1, + depth: SDL.glAttributes[6] > 0, + stencil: SDL.glAttributes[7] > 0, + alpha: SDL.glAttributes[3] > 0 + }; + var ctx = Browser.createContext(canvas, is_SDL_OPENGL, usePageCanvas, webGLContextAttributes); + SDL.surfaces[surf] = { + width: width, + height: height, + canvas: canvas, + ctx: ctx, + surf: surf, + buffer: buffer, + pixelFormat: pixelFormat, + alpha: 255, + flags: flags, + locked: 0, + usePageCanvas: usePageCanvas, + source: source, + isFlagSet: function(flag) { + return flags & flag; + } + }; + return surf; + }, + copyIndexedColorData: function(surfData, rX, rY, rW, rH) { + if (!surfData.colors) { + return; + } + var fullWidth = Module["canvas"].width; + var fullHeight = Module["canvas"].height; + var startX = rX || 0; + var startY = rY || 0; + var endX = (rW || fullWidth - startX) + startX; + var endY = (rH || fullHeight - startY) + startY; + var buffer = surfData.buffer; + if (!surfData.image.data32) { + surfData.image.data32 = new Uint32Array(surfData.image.data.buffer); + } + var data32 = surfData.image.data32; + var colors32 = surfData.colors32; + for (var y = startY; y < endY; ++y) { + var base = y * fullWidth; + for (var x = startX; x < endX; ++x) { + data32[base + x] = colors32[HEAPU8[buffer + base + x >> 0]]; + } + } + }, + freeSurface: function(surf) { + var refcountPointer = surf + 56; + var refcount = HEAP32[refcountPointer >> 2]; + if (refcount > 1) { + HEAP32[refcountPointer >> 2] = refcount - 1; + return; + } + var info = SDL.surfaces[surf]; + if (!info.usePageCanvas && info.canvas) SDL.canvasPool.push(info.canvas); + if (info.buffer) _free(info.buffer); + _free(info.pixelFormat); + _free(surf); + SDL.surfaces[surf] = null; + if (surf === SDL.screen) { + SDL.screen = null; + } + }, + blitSurface: function(src, srcrect, dst, dstrect, scale) { + var srcData = SDL.surfaces[src]; + var dstData = SDL.surfaces[dst]; + var sr, dr; + if (srcrect) { + sr = SDL.loadRect(srcrect); + } else { + sr = { + x: 0, + y: 0, + w: srcData.width, + h: srcData.height + }; + } + if (dstrect) { + dr = SDL.loadRect(dstrect); + } else { + dr = { + x: 0, + y: 0, + w: srcData.width, + h: srcData.height + }; + } + if (dstData.clipRect) { + var widthScale = !scale || sr.w === 0 ? 1 : sr.w / dr.w; + var heightScale = !scale || sr.h === 0 ? 1 : sr.h / dr.h; + dr = SDL.intersectionOfRects(dstData.clipRect, dr); + sr.w = dr.w * widthScale; + sr.h = dr.h * heightScale; + if (dstrect) { + SDL.updateRect(dstrect, dr); + } + } + var blitw, blith; + if (scale) { + blitw = dr.w; + blith = dr.h; + } else { + blitw = sr.w; + blith = sr.h; + } + if (sr.w === 0 || sr.h === 0 || blitw === 0 || blith === 0) { + return 0; + } + var oldAlpha = dstData.ctx.globalAlpha; + dstData.ctx.globalAlpha = srcData.alpha / 255; + dstData.ctx.drawImage(srcData.canvas, sr.x, sr.y, sr.w, sr.h, dr.x, dr.y, blitw, blith); + dstData.ctx.globalAlpha = oldAlpha; + if (dst != SDL.screen) { + warnOnce("WARNING: copying canvas data to memory for compatibility"); + _SDL_LockSurface(dst); + dstData.locked--; + } + return 0; + }, + downFingers: {}, + savedKeydown: null, + receiveEvent: function(event) { + function unpressAllPressedKeys() { + for (var code in SDL.keyboardMap) { + SDL.events.push({ + type: "keyup", + keyCode: SDL.keyboardMap[code] + }); + } + } + switch (event.type) { + case "touchstart": + case "touchmove": + { + event.preventDefault(); + var touches = []; + if (event.type === "touchstart") { + for (var i = 0; i < event.touches.length; i++) { + var touch = event.touches[i]; + if (SDL.downFingers[touch.identifier] != true) { + SDL.downFingers[touch.identifier] = true; + touches.push(touch); + } + } + } else { + touches = event.touches; + } + var firstTouch = touches[0]; + if (firstTouch) { + if (event.type == "touchstart") { + SDL.DOMButtons[0] = 1; + } + var mouseEventType; + switch (event.type) { + case "touchstart": + mouseEventType = "mousedown"; + break; + + case "touchmove": + mouseEventType = "mousemove"; + break; + } + var mouseEvent = { + type: mouseEventType, + button: 0, + pageX: firstTouch.clientX, + pageY: firstTouch.clientY + }; + SDL.events.push(mouseEvent); + } + for (var i = 0; i < touches.length; i++) { + var touch = touches[i]; + SDL.events.push({ + type: event.type, + touch: touch + }); + } + break; + } + + case "touchend": + { + event.preventDefault(); + for (var i = 0; i < event.changedTouches.length; i++) { + var touch = event.changedTouches[i]; + if (SDL.downFingers[touch.identifier] === true) { + delete SDL.downFingers[touch.identifier]; + } + } + var mouseEvent = { + type: "mouseup", + button: 0, + pageX: event.changedTouches[0].clientX, + pageY: event.changedTouches[0].clientY + }; + SDL.DOMButtons[0] = 0; + SDL.events.push(mouseEvent); + for (var i = 0; i < event.changedTouches.length; i++) { + var touch = event.changedTouches[i]; + SDL.events.push({ + type: "touchend", + touch: touch + }); + } + break; + } + + case "DOMMouseScroll": + case "mousewheel": + case "wheel": + var delta = -Browser.getMouseWheelDelta(event); + delta = delta == 0 ? 0 : delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1); + var button = delta > 0 ? 3 : 4; + SDL.events.push({ + type: "mousedown", + button: button, + pageX: event.pageX, + pageY: event.pageY + }); + SDL.events.push({ + type: "mouseup", + button: button, + pageX: event.pageX, + pageY: event.pageY + }); + SDL.events.push({ + type: "wheel", + deltaX: 0, + deltaY: delta + }); + event.preventDefault(); + break; + + case "mousemove": + if (SDL.DOMButtons[0] === 1) { + SDL.events.push({ + type: "touchmove", + touch: { + identifier: 0, + deviceID: -1, + pageX: event.pageX, + pageY: event.pageY + } + }); + } + if (Browser.pointerLock) { + if ("mozMovementX" in event) { + event["movementX"] = event["mozMovementX"]; + event["movementY"] = event["mozMovementY"]; + } + if (event["movementX"] == 0 && event["movementY"] == 0) { + event.preventDefault(); + return; + } + } + + case "keydown": + case "keyup": + case "keypress": + case "mousedown": + case "mouseup": + if (event.type !== "keydown" || !SDL.unicode && !SDL.textInput || (event.keyCode === 8 || event.keyCode === 9)) {} + if (event.type == "mousedown") { + SDL.DOMButtons[event.button] = 1; + SDL.events.push({ + type: "touchstart", + touch: { + identifier: 0, + deviceID: -1, + pageX: event.pageX, + pageY: event.pageY + } + }); + } else if (event.type == "mouseup") { + if (!SDL.DOMButtons[event.button]) { + return; + } + SDL.events.push({ + type: "touchend", + touch: { + identifier: 0, + deviceID: -1, + pageX: event.pageX, + pageY: event.pageY + } + }); + SDL.DOMButtons[event.button] = 0; + } + if (event.type === "keydown" || event.type === "mousedown") { + SDL.canRequestFullscreen = true; + } else if (event.type === "keyup" || event.type === "mouseup") { + if (SDL.isRequestingFullscreen) { + Module["requestFullscreen"](false, true); + SDL.isRequestingFullscreen = false; + } + SDL.canRequestFullscreen = false; + } + if (event.type === "keypress" && SDL.savedKeydown) { + SDL.savedKeydown.keypressCharCode = event.charCode; + SDL.savedKeydown = null; + } else if (event.type === "keydown") { + SDL.savedKeydown = event; + } + if (event.type !== "keypress" || SDL.textInput) { + SDL.events.push(event); + } + break; + + case "mouseout": + for (var i = 0; i < 3; i++) { + if (SDL.DOMButtons[i]) { + SDL.events.push({ + type: "mouseup", + button: i, + pageX: event.pageX, + pageY: event.pageY + }); + SDL.DOMButtons[i] = 0; + } + } + event.preventDefault(); + break; + + case "focus": + SDL.events.push(event); + event.preventDefault(); + break; + + case "blur": + SDL.events.push(event); + unpressAllPressedKeys(); + event.preventDefault(); + break; + + case "visibilitychange": + SDL.events.push({ + type: "visibilitychange", + visible: !document.hidden + }); + unpressAllPressedKeys(); + event.preventDefault(); + break; + + case "unload": + if (Browser.mainLoop.runner) { + SDL.events.push(event); + Browser.mainLoop.runner(); + } + return; + + case "resize": + SDL.events.push(event); + if (event.preventDefault) { + event.preventDefault(); + } + break; + } + if (SDL.events.length >= 1e4) { + err("SDL event queue full, dropping events"); + SDL.events = SDL.events.slice(0, 1e4); + } + SDL.flushEventsToHandler(); + return; + }, + lookupKeyCodeForEvent: function(event) { + var code = event.keyCode; + if (code >= 65 && code <= 90) { + code += 32; + } else { + code = SDL.keyCodes[event.keyCode] || event.keyCode; + if (event.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT && code >= (224 | 1 << 10) && code <= (227 | 1 << 10)) { + code += 4; + } + } + return code; + }, + handleEvent: function(event) { + if (event.handled) return; + event.handled = true; + switch (event.type) { + case "touchstart": + case "touchend": + case "touchmove": + { + Browser.calculateMouseEvent(event); + break; + } + + case "keydown": + case "keyup": + { + var down = event.type === "keydown"; + var code = SDL.lookupKeyCodeForEvent(event); + HEAP8[SDL.keyboardState + code >> 0] = down; + SDL.modState = (HEAP8[SDL.keyboardState + 1248 >> 0] ? 64 : 0) | (HEAP8[SDL.keyboardState + 1249 >> 0] ? 1 : 0) | (HEAP8[SDL.keyboardState + 1250 >> 0] ? 256 : 0) | (HEAP8[SDL.keyboardState + 1252 >> 0] ? 128 : 0) | (HEAP8[SDL.keyboardState + 1253 >> 0] ? 2 : 0) | (HEAP8[SDL.keyboardState + 1254 >> 0] ? 512 : 0); + if (down) { + SDL.keyboardMap[code] = event.keyCode; + } else { + delete SDL.keyboardMap[code]; + } + break; + } + + case "mousedown": + case "mouseup": + if (event.type == "mousedown") { + SDL.buttonState |= 1 << event.button; + } else if (event.type == "mouseup") { + SDL.buttonState &= ~(1 << event.button); + } + + case "mousemove": + { + Browser.calculateMouseEvent(event); + break; + } + } + }, + flushEventsToHandler: function() { + if (!SDL.eventHandler) return; + while (SDL.pollEvent(SDL.eventHandlerTemp)) { + Module["dynCall_iii"](SDL.eventHandler, SDL.eventHandlerContext, SDL.eventHandlerTemp); + } + }, + pollEvent: function(ptr) { + if (SDL.initFlags & 512 && SDL.joystickEventState) { + SDL.queryJoysticks(); + } + if (ptr) { + while (SDL.events.length > 0) { + if (SDL.makeCEvent(SDL.events.shift(), ptr) !== false) return 1; + } + return 0; + } else { + return SDL.events.length > 0; + } + }, + makeCEvent: function(event, ptr) { + if (typeof event === "number") { + _memcpy(ptr, event, 28); + _free(event); + return; + } + SDL.handleEvent(event); + switch (event.type) { + case "keydown": + case "keyup": + { + var down = event.type === "keydown"; + var key = SDL.lookupKeyCodeForEvent(event); + var scan; + if (key >= 1024) { + scan = key - 1024; + } else { + scan = SDL.scanCodes[key] || key; + } + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP8[ptr + 8 >> 0] = down ? 1 : 0; + HEAP8[ptr + 9 >> 0] = 0; + HEAP32[ptr + 12 >> 2] = scan; + HEAP32[ptr + 16 >> 2] = key; + HEAP16[ptr + 20 >> 1] = SDL.modState; + HEAP32[ptr + 24 >> 2] = event.keypressCharCode || key; + break; + } + + case "keypress": + { + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + var cStr = intArrayFromString(String.fromCharCode(event.charCode)); + for (var i = 0; i < cStr.length; ++i) { + HEAP8[ptr + (8 + i) >> 0] = cStr[i]; + } + break; + } + + case "mousedown": + case "mouseup": + case "mousemove": + { + if (event.type != "mousemove") { + var down = event.type === "mousedown"; + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP32[ptr + 4 >> 2] = 0; + HEAP32[ptr + 8 >> 2] = 0; + HEAP32[ptr + 12 >> 2] = 0; + HEAP8[ptr + 16 >> 0] = event.button + 1; + HEAP8[ptr + 17 >> 0] = down ? 1 : 0; + HEAP32[ptr + 20 >> 2] = Browser.mouseX; + HEAP32[ptr + 24 >> 2] = Browser.mouseY; + } else { + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP32[ptr + 4 >> 2] = 0; + HEAP32[ptr + 8 >> 2] = 0; + HEAP32[ptr + 12 >> 2] = 0; + HEAP32[ptr + 16 >> 2] = SDL.buttonState; + HEAP32[ptr + 20 >> 2] = Browser.mouseX; + HEAP32[ptr + 24 >> 2] = Browser.mouseY; + HEAP32[ptr + 28 >> 2] = Browser.mouseMovementX; + HEAP32[ptr + 32 >> 2] = Browser.mouseMovementY; + } + break; + } + + case "wheel": + { + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP32[ptr + 16 >> 2] = event.deltaX; + HEAP32[ptr + 20 >> 2] = event.deltaY; + break; + } + + case "touchstart": + case "touchend": + case "touchmove": + { + var touch = event.touch; + if (!Browser.touches[touch.identifier]) break; + var w = Module["canvas"].width; + var h = Module["canvas"].height; + var x = Browser.touches[touch.identifier].x / w; + var y = Browser.touches[touch.identifier].y / h; + var lx = Browser.lastTouches[touch.identifier].x / w; + var ly = Browser.lastTouches[touch.identifier].y / h; + var dx = x - lx; + var dy = y - ly; + if (touch["deviceID"] === undefined) touch.deviceID = SDL.TOUCH_DEFAULT_ID; + if (dx === 0 && dy === 0 && event.type === "touchmove") return false; + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP32[ptr + 4 >> 2] = _SDL_GetTicks(); + tempI64 = [ touch.deviceID >>> 0, (tempDouble = touch.deviceID, +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 + 8 >> 2] = tempI64[0], HEAP32[ptr + 12 >> 2] = tempI64[1]; + tempI64 = [ touch.identifier >>> 0, (tempDouble = touch.identifier, +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 + 16 >> 2] = tempI64[0], HEAP32[ptr + 20 >> 2] = tempI64[1]; + HEAPF32[ptr + 24 >> 2] = x; + HEAPF32[ptr + 28 >> 2] = y; + HEAPF32[ptr + 32 >> 2] = dx; + HEAPF32[ptr + 36 >> 2] = dy; + if (touch.force !== undefined) { + HEAPF32[ptr + 40 >> 2] = touch.force; + } else { + HEAPF32[ptr + 40 >> 2] = event.type == "touchend" ? 0 : 1; + } + break; + } + + case "unload": + { + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + break; + } + + case "resize": + { + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP32[ptr + 4 >> 2] = event.w; + HEAP32[ptr + 8 >> 2] = event.h; + break; + } + + case "joystick_button_up": + case "joystick_button_down": + { + var state = event.type === "joystick_button_up" ? 0 : 1; + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP8[ptr + 4 >> 0] = event.index; + HEAP8[ptr + 5 >> 0] = event.button; + HEAP8[ptr + 6 >> 0] = state; + break; + } + + case "joystick_axis_motion": + { + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP8[ptr + 4 >> 0] = event.index; + HEAP8[ptr + 5 >> 0] = event.axis; + HEAP32[ptr + 8 >> 2] = SDL.joystickAxisValueConversion(event.value); + break; + } + + case "focus": + { + var SDL_WINDOWEVENT_FOCUS_GAINED = 12; + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP32[ptr + 4 >> 2] = 0; + HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_GAINED; + break; + } + + case "blur": + { + var SDL_WINDOWEVENT_FOCUS_LOST = 13; + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP32[ptr + 4 >> 2] = 0; + HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_LOST; + break; + } + + case "visibilitychange": + { + var SDL_WINDOWEVENT_SHOWN = 1; + var SDL_WINDOWEVENT_HIDDEN = 2; + var visibilityEventID = event.visible ? SDL_WINDOWEVENT_SHOWN : SDL_WINDOWEVENT_HIDDEN; + HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; + HEAP32[ptr + 4 >> 2] = 0; + HEAP8[ptr + 8 >> 0] = visibilityEventID; + break; + } + + default: + throw "Unhandled SDL event: " + event.type; + } + }, + makeFontString: function(height, fontName) { + if (fontName.charAt(0) != "'" && fontName.charAt(0) != '"') { + fontName = '"' + fontName + '"'; + } + return height + "px " + fontName + ", serif"; + }, + estimateTextWidth: function(fontData, text) { + var h = fontData.size; + var fontString = SDL.makeFontString(h, fontData.name); + var tempCtx = SDL.ttfContext; + tempCtx.save(); + tempCtx.font = fontString; + var ret = tempCtx.measureText(text).width | 0; + tempCtx.restore(); + return ret; + }, + allocateChannels: function(num) { + if (SDL.numChannels && SDL.numChannels >= num && num != 0) return; + SDL.numChannels = num; + SDL.channels = []; + for (var i = 0; i < num; i++) { + SDL.channels[i] = { + audio: null, + volume: 1 + }; + } + }, + setGetVolume: function(info, volume) { + if (!info) return 0; + var ret = info.volume * 128; + if (volume != -1) { + info.volume = Math.min(Math.max(volume, 0), 128) / 128; + if (info.audio) { + try { + info.audio.volume = info.volume; + if (info.audio.webAudioGainNode) info.audio.webAudioGainNode["gain"]["value"] = info.volume; + } catch (e) { + err("setGetVolume failed to set audio volume: " + e); + } + } + } + return ret; + }, + setPannerPosition: function(info, x, y, z) { + if (!info) return; + if (info.audio) { + if (info.audio.webAudioPannerNode) { + info.audio.webAudioPannerNode["setPosition"](x, y, z); + } + } + }, + playWebAudio: function(audio) { + if (!audio) return; + if (audio.webAudioNode) return; + if (!SDL.webAudioAvailable()) return; + try { + var webAudio = audio.resource.webAudio; + audio.paused = false; + if (!webAudio.decodedBuffer) { + if (webAudio.onDecodeComplete === undefined) abort("Cannot play back audio object that was not loaded"); + webAudio.onDecodeComplete.push(function() { + if (!audio.paused) SDL.playWebAudio(audio); + }); + return; + } + audio.webAudioNode = SDL.audioContext["createBufferSource"](); + audio.webAudioNode["buffer"] = webAudio.decodedBuffer; + audio.webAudioNode["loop"] = audio.loop; + audio.webAudioNode["onended"] = function() { + audio["onended"](); + }; + audio.webAudioPannerNode = SDL.audioContext["createPanner"](); + audio.webAudioPannerNode["setPosition"](0, 0, -.5); + audio.webAudioPannerNode["panningModel"] = "equalpower"; + audio.webAudioGainNode = SDL.audioContext["createGain"](); + audio.webAudioGainNode["gain"]["value"] = audio.volume; + audio.webAudioNode["connect"](audio.webAudioPannerNode); + audio.webAudioPannerNode["connect"](audio.webAudioGainNode); + audio.webAudioGainNode["connect"](SDL.audioContext["destination"]); + audio.webAudioNode["start"](0, audio.currentPosition); + audio.startTime = SDL.audioContext["currentTime"] - audio.currentPosition; + } catch (e) { + err("playWebAudio failed: " + e); + } + }, + pauseWebAudio: function(audio) { + if (!audio) return; + if (audio.webAudioNode) { + try { + audio.currentPosition = (SDL.audioContext["currentTime"] - audio.startTime) % audio.resource.webAudio.decodedBuffer.duration; + audio.webAudioNode["onended"] = undefined; + audio.webAudioNode.stop(0); + audio.webAudioNode = undefined; + } catch (e) { + err("pauseWebAudio failed: " + e); + } + } + audio.paused = true; + }, + openAudioContext: function() { + if (!SDL.audioContext) { + if (typeof AudioContext !== "undefined") SDL.audioContext = new AudioContext(); else if (typeof webkitAudioContext !== "undefined") SDL.audioContext = new webkitAudioContext(); + } + }, + webAudioAvailable: function() { + return !!SDL.audioContext; + }, + fillWebAudioBufferFromHeap: function(heapPtr, sizeSamplesPerChannel, dstAudioBuffer) { + var numChannels = SDL.audio.channels; + for (var c = 0; c < numChannels; ++c) { + var channelData = dstAudioBuffer["getChannelData"](c); + if (channelData.length != sizeSamplesPerChannel) { + throw "Web Audio output buffer length mismatch! Destination size: " + channelData.length + " samples vs expected " + sizeSamplesPerChannel + " samples!"; + } + if (SDL.audio.format == 32784) { + for (var j = 0; j < sizeSamplesPerChannel; ++j) { + channelData[j] = HEAP16[heapPtr + (j * numChannels + c) * 2 >> 1] / 32768; + } + } else if (SDL.audio.format == 8) { + for (var j = 0; j < sizeSamplesPerChannel; ++j) { + var v = HEAP8[heapPtr + (j * numChannels + c) >> 0]; + channelData[j] = (v >= 0 ? v - 128 : v + 128) / 128; + } + } else if (SDL.audio.format == 33056) { + for (var j = 0; j < sizeSamplesPerChannel; ++j) { + channelData[j] = HEAPF32[heapPtr + (j * numChannels + c) * 4 >> 2]; + } + } else { + throw "Invalid SDL audio format " + SDL.audio.format + "!"; + } + } + }, + debugSurface: function(surfData) { + console.log("dumping surface " + [ surfData.surf, surfData.source, surfData.width, surfData.height ]); + var image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height); + var data = image.data; + var num = Math.min(surfData.width, surfData.height); + for (var i = 0; i < num; i++) { + console.log(" diagonal " + i + ":" + [ data[i * surfData.width * 4 + i * 4 + 0], data[i * surfData.width * 4 + i * 4 + 1], data[i * surfData.width * 4 + i * 4 + 2], data[i * surfData.width * 4 + i * 4 + 3] ]); + } + }, + joystickEventState: 1, + lastJoystickState: {}, + joystickNamePool: {}, + recordJoystickState: function(joystick, state) { + var buttons = new Array(state.buttons.length); + for (var i = 0; i < state.buttons.length; i++) { + buttons[i] = SDL.getJoystickButtonState(state.buttons[i]); + } + SDL.lastJoystickState[joystick] = { + buttons: buttons, + axes: state.axes.slice(0), + timestamp: state.timestamp, + index: state.index, + id: state.id + }; + }, + getJoystickButtonState: function(button) { + if (typeof button === "object") { + return button["pressed"]; + } else { + return button > 0; + } + }, + queryJoysticks: function() { + for (var joystick in SDL.lastJoystickState) { + var state = SDL.getGamepad(joystick - 1); + var prevState = SDL.lastJoystickState[joystick]; + if (typeof state === "undefined") return; + if (state === null) return; + if (typeof state.timestamp !== "number" || state.timestamp !== prevState.timestamp || !state.timestamp) { + var i; + for (i = 0; i < state.buttons.length; i++) { + var buttonState = SDL.getJoystickButtonState(state.buttons[i]); + if (buttonState !== prevState.buttons[i]) { + SDL.events.push({ + type: buttonState ? "joystick_button_down" : "joystick_button_up", + joystick: joystick, + index: joystick - 1, + button: i + }); + } + } + for (i = 0; i < state.axes.length; i++) { + if (state.axes[i] !== prevState.axes[i]) { + SDL.events.push({ + type: "joystick_axis_motion", + joystick: joystick, + index: joystick - 1, + axis: i, + value: state.axes[i] + }); + } + } + SDL.recordJoystickState(joystick, state); + } + } + }, + joystickAxisValueConversion: function(value) { + value = Math.min(1, Math.max(value, -1)); + return Math.ceil((value + 1) * 32767.5 - 32768); + }, + getGamepads: function() { + var fcn = navigator.getGamepads || navigator.webkitGamepads || navigator.mozGamepads || navigator.gamepads || navigator.webkitGetGamepads; + if (fcn !== undefined) { + return fcn.apply(navigator); + } else { + return []; + } + }, + getGamepad: function(deviceIndex) { + var gamepads = SDL.getGamepads(); + if (gamepads.length > deviceIndex && deviceIndex >= 0) { + return gamepads[deviceIndex]; + } + return null; + } +}; + +function _SDL_ClearError() {} + +function _SDL_GetError() { + if (!SDL.errorMessage) { + SDL.errorMessage = allocate(intArrayFromString("unknown SDL-emscripten error"), "i8", ALLOC_NORMAL); + } + return SDL.errorMessage; +} + +function _SDL_GetModState() { + return SDL.modState; +} + +function _SDL_GetMouseState(x, y) { + if (x) HEAP32[x >> 2] = Browser.mouseX; + if (y) HEAP32[y >> 2] = Browser.mouseY; + return SDL.buttonState; +} + +function _SDL_GetWindowSize(window, width, height) { + var w = Module["canvas"].width; + var h = Module["canvas"].height; + if (width) HEAP32[width >> 2] = w; + if (height) HEAP32[height >> 2] = h; +} + +function _SDL_Init(initFlags) { + SDL.startTime = Date.now(); + SDL.initFlags = initFlags; + if (!Module["doNotCaptureKeyboard"]) { + var keyboardListeningElement = Module["keyboardListeningElement"] || document; + keyboardListeningElement.addEventListener("keydown", SDL.receiveEvent); + keyboardListeningElement.addEventListener("keyup", SDL.receiveEvent); + keyboardListeningElement.addEventListener("keypress", SDL.receiveEvent); + window.addEventListener("focus", SDL.receiveEvent); + window.addEventListener("blur", SDL.receiveEvent); + document.addEventListener("visibilitychange", SDL.receiveEvent); + } + window.addEventListener("unload", SDL.receiveEvent); + SDL.keyboardState = _malloc(65536); + _memset(SDL.keyboardState, 0, 65536); + SDL.DOMEventToSDLEvent["keydown"] = 768; + SDL.DOMEventToSDLEvent["keyup"] = 769; + SDL.DOMEventToSDLEvent["keypress"] = 771; + SDL.DOMEventToSDLEvent["mousedown"] = 1025; + SDL.DOMEventToSDLEvent["mouseup"] = 1026; + SDL.DOMEventToSDLEvent["mousemove"] = 1024; + SDL.DOMEventToSDLEvent["wheel"] = 1027; + SDL.DOMEventToSDLEvent["touchstart"] = 1792; + SDL.DOMEventToSDLEvent["touchend"] = 1793; + SDL.DOMEventToSDLEvent["touchmove"] = 1794; + SDL.DOMEventToSDLEvent["unload"] = 256; + SDL.DOMEventToSDLEvent["resize"] = 28673; + SDL.DOMEventToSDLEvent["visibilitychange"] = 512; + SDL.DOMEventToSDLEvent["focus"] = 512; + SDL.DOMEventToSDLEvent["blur"] = 512; + SDL.DOMEventToSDLEvent["joystick_axis_motion"] = 1536; + SDL.DOMEventToSDLEvent["joystick_button_down"] = 1539; + SDL.DOMEventToSDLEvent["joystick_button_up"] = 1540; + return 0; +} + +function _SDL_LockAudio() {} + +function _SDL_PollEvent(ptr) { + return SDL.pollEvent(ptr); +} + +var GL = { + counter: 1, + lastError: 0, + buffers: [], + mappedBuffers: {}, + programs: [], + framebuffers: [], + renderbuffers: [], + textures: [], + uniforms: [], + shaders: [], + vaos: [], + contexts: {}, + currentContext: null, + offscreenCanvases: {}, + timerQueriesEXT: [], + programInfos: {}, + stringCache: {}, + unpackAlignment: 4, + init: function() { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i + 1); + } + }, + recordError: function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + }, + getNewId: function(table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + }, + MINI_TEMP_BUFFER_SIZE: 256, + miniTempBuffer: null, + miniTempBufferViews: [ 0 ], + getSource: function(shader, count, string, length) { + var source = ""; + for (var i = 0; i < count; ++i) { + var len = length ? HEAP32[length + i * 4 >> 2] : -1; + source += UTF8ToString(HEAP32[string + i * 4 >> 2], len < 0 ? undefined : len); + } + return source; + }, + createContext: function(canvas, webGLContextAttributes) { + var ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + return ctx && GL.registerContext(ctx, webGLContextAttributes); + }, + registerContext: function(ctx, webGLContextAttributes) { + var handle = _malloc(8); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes.majorVersion, + GLctx: ctx + }; + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) { + GL.initExtensions(context); + } + return handle; + }, + makeContextCurrent: function(contextHandle) { + GL.currentContext = GL.contexts[contextHandle]; + Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx; + return !(contextHandle && !GLctx); + }, + getContext: function(contextHandle) { + return GL.contexts[contextHandle]; + }, + deleteContext: function(contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === "object") JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; + _free(GL.contexts[contextHandle]); + GL.contexts[contextHandle] = null; + }, + initExtensions: function(context) { + if (!context) context = GL.currentContext; + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + var GLctx = context.GLctx; + if (context.version < 2) { + var instancedArraysExt = GLctx.getExtension("ANGLE_instanced_arrays"); + if (instancedArraysExt) { + GLctx["vertexAttribDivisor"] = function(index, divisor) { + instancedArraysExt["vertexAttribDivisorANGLE"](index, divisor); + }; + GLctx["drawArraysInstanced"] = function(mode, first, count, primcount) { + instancedArraysExt["drawArraysInstancedANGLE"](mode, first, count, primcount); + }; + GLctx["drawElementsInstanced"] = function(mode, count, type, indices, primcount) { + instancedArraysExt["drawElementsInstancedANGLE"](mode, count, type, indices, primcount); + }; + } + var vaoExt = GLctx.getExtension("OES_vertex_array_object"); + if (vaoExt) { + GLctx["createVertexArray"] = function() { + return vaoExt["createVertexArrayOES"](); + }; + GLctx["deleteVertexArray"] = function(vao) { + vaoExt["deleteVertexArrayOES"](vao); + }; + GLctx["bindVertexArray"] = function(vao) { + vaoExt["bindVertexArrayOES"](vao); + }; + GLctx["isVertexArray"] = function(vao) { + return vaoExt["isVertexArrayOES"](vao); + }; + } + var drawBuffersExt = GLctx.getExtension("WEBGL_draw_buffers"); + if (drawBuffersExt) { + GLctx["drawBuffers"] = function(n, bufs) { + drawBuffersExt["drawBuffersWEBGL"](n, bufs); + }; + } + } + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2" ]; + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); + } + }); + } + }, + populateUniformTable: function(program) { + var p = GL.programs[program]; + var ptable = GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, + maxAttributeLength: -1, + maxUniformBlockNameLength: -1 + }; + var utable = ptable.uniforms; + var numUniforms = GLctx.getProgramParameter(p, 35718); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length + 1); + var ls = name.lastIndexOf("["); + if (ls > 0) { + name = name.slice(0, ls); + } + var loc = GLctx.getUniformLocation(p, name); + if (loc) { + var id = GL.getNewId(GL.uniforms); + utable[name] = [ u.size, id ]; + GL.uniforms[id] = loc; + for (var j = 1; j < u.size; ++j) { + var n = name + "[" + j + "]"; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + GL.uniforms[id] = loc; + } + } + } + } +}; + +function _SDL_SetVideoMode(width, height, depth, flags) { + [ "touchstart", "touchend", "touchmove", "mousedown", "mouseup", "mousemove", "DOMMouseScroll", "mousewheel", "wheel", "mouseout" ].forEach(function(event) { + Module["canvas"].addEventListener(event, SDL.receiveEvent, true); + }); + var canvas = Module["canvas"]; + if (width == 0 && height == 0) { + width = canvas.width; + height = canvas.height; + } + if (!SDL.addedResizeListener) { + SDL.addedResizeListener = true; + Browser.resizeListeners.push(function(w, h) { + if (!SDL.settingVideoMode) { + SDL.receiveEvent({ + type: "resize", + w: w, + h: h + }); + } + }); + } + SDL.settingVideoMode = true; + Browser.setCanvasSize(width, height); + SDL.settingVideoMode = false; + if (SDL.screen) { + SDL.freeSurface(SDL.screen); + assert(!SDL.screen); + } + if (SDL.GL) flags = flags | 67108864; + SDL.screen = SDL.makeSurface(width, height, flags, true, "screen"); + return SDL.screen; +} + +function _SDL_UnlockAudio() {} + +function _SDL_UnlockSurface(surf) { + assert(!SDL.GL); + var surfData = SDL.surfaces[surf]; + if (!surfData.locked || --surfData.locked > 0) { + return; + } + if (surfData.isFlagSet(2097152)) { + SDL.copyIndexedColorData(surfData); + } else if (!surfData.colors) { + var data = surfData.image.data; + var buffer = surfData.buffer; + assert(buffer % 4 == 0, "Invalid buffer offset: " + buffer); + var src = buffer >> 2; + var dst = 0; + var isScreen = surf == SDL.screen; + var num; + if (typeof CanvasPixelArray !== "undefined" && data instanceof CanvasPixelArray) { + num = data.length; + while (dst < num) { + var val = HEAP32[src]; + data[dst] = val & 255; + data[dst + 1] = val >> 8 & 255; + data[dst + 2] = val >> 16 & 255; + data[dst + 3] = isScreen ? 255 : val >> 24 & 255; + src++; + dst += 4; + } + } else { + var data32 = new Uint32Array(data.buffer); + if (isScreen && SDL.defaults.opaqueFrontBuffer) { + num = data32.length; + data32.set(HEAP32.subarray(src, src + num)); + var data8 = new Uint8Array(data.buffer); + var i = 3; + var j = i + 4 * num; + if (num % 8 == 0) { + while (i < j) { + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + } + } else { + while (i < j) { + data8[i] = 255; + i = i + 4 | 0; + } + } + } else { + data32.set(HEAP32.subarray(src, src + data32.length)); + } + } + } else { + var width = Module["canvas"].width; + var height = Module["canvas"].height; + var s = surfData.buffer; + var data = surfData.image.data; + var colors = surfData.colors; + for (var y = 0; y < height; y++) { + var base = y * width * 4; + for (var x = 0; x < width; x++) { + var val = HEAPU8[s++ >> 0] * 4; + var start = base + x * 4; + data[start] = colors[val]; + data[start + 1] = colors[val + 1]; + data[start + 2] = colors[val + 2]; + } + s += width * 3; + } + } + surfData.ctx.putImageData(surfData.image, 0, 0); +} + +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = "C.UTF-8"; + ENV["_"] = Module["thisProgram"]; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr; + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2]; + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length; + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!"); + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1; + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0; +} + +function ___lock() {} + +var ERRNO_CODES = { + EPERM: 1, + ENOENT: 2, + ESRCH: 3, + EINTR: 4, + EIO: 5, + ENXIO: 6, + E2BIG: 7, + ENOEXEC: 8, + EBADF: 9, + ECHILD: 10, + EAGAIN: 11, + EWOULDBLOCK: 11, + ENOMEM: 12, + EACCES: 13, + EFAULT: 14, + ENOTBLK: 15, + EBUSY: 16, + EEXIST: 17, + EXDEV: 18, + ENODEV: 19, + ENOTDIR: 20, + EISDIR: 21, + EINVAL: 22, + ENFILE: 23, + EMFILE: 24, + ENOTTY: 25, + ETXTBSY: 26, + EFBIG: 27, + ENOSPC: 28, + ESPIPE: 29, + EROFS: 30, + EMLINK: 31, + EPIPE: 32, + EDOM: 33, + ERANGE: 34, + ENOMSG: 42, + EIDRM: 43, + ECHRNG: 44, + EL2NSYNC: 45, + EL3HLT: 46, + EL3RST: 47, + ELNRNG: 48, + EUNATCH: 49, + ENOCSI: 50, + EL2HLT: 51, + EDEADLK: 35, + ENOLCK: 37, + EBADE: 52, + EBADR: 53, + EXFULL: 54, + ENOANO: 55, + EBADRQC: 56, + EBADSLT: 57, + EDEADLOCK: 35, + EBFONT: 59, + ENOSTR: 60, + ENODATA: 61, + ETIME: 62, + ENOSR: 63, + ENONET: 64, + ENOPKG: 65, + EREMOTE: 66, + ENOLINK: 67, + EADV: 68, + ESRMNT: 69, + ECOMM: 70, + EPROTO: 71, + EMULTIHOP: 72, + EDOTDOT: 73, + EBADMSG: 74, + ENOTUNIQ: 76, + EBADFD: 77, + EREMCHG: 78, + ELIBACC: 79, + ELIBBAD: 80, + ELIBSCN: 81, + ELIBMAX: 82, + ELIBEXEC: 83, + ENOSYS: 38, + ENOTEMPTY: 39, + ENAMETOOLONG: 36, + ELOOP: 40, + EOPNOTSUPP: 95, + EPFNOSUPPORT: 96, + ECONNRESET: 104, + ENOBUFS: 105, + EAFNOSUPPORT: 97, + EPROTOTYPE: 91, + ENOTSOCK: 88, + ENOPROTOOPT: 92, + ESHUTDOWN: 108, + ECONNREFUSED: 111, + EADDRINUSE: 98, + ECONNABORTED: 103, + ENETUNREACH: 101, + ENETDOWN: 100, + ETIMEDOUT: 110, + EHOSTDOWN: 112, + EHOSTUNREACH: 113, + EINPROGRESS: 115, + EALREADY: 114, + EDESTADDRREQ: 89, + EMSGSIZE: 90, + EPROTONOSUPPORT: 93, + ESOCKTNOSUPPORT: 94, + EADDRNOTAVAIL: 99, + ENETRESET: 102, + EISCONN: 106, + ENOTCONN: 107, + ETOOMANYREFS: 109, + EUSERS: 87, + EDQUOT: 122, + ESTALE: 116, + ENOTSUP: 95, + ENOMEDIUM: 123, + EILSEQ: 84, + EOVERFLOW: 75, + ECANCELED: 125, + ENOTRECOVERABLE: 131, + EOWNERDEAD: 130, + ESTRPIPE: 86 +}; + +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + }, + doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -ERRNO_CODES.ENOTDIR; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + HEAP32[buf + 36 >> 2] = stat.size; + HEAP32[buf + 40 >> 2] = 4096; + HEAP32[buf + 44 >> 2] = stat.blocks; + HEAP32[buf + 48 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 52 >> 2] = 0; + HEAP32[buf + 56 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ino; + return 0; + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0; + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + + default: + return -ERRNO_CODES.EINVAL; + } + FS.mknod(path, mode, dev); + return 0; + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len; + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -ERRNO_CODES.EINVAL; + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES; + } + return 0; + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + } + return ret; + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret; + }, + getStreamFromFD: function() { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream; + }, + getSocketFromFD: function() { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket; + }, + getSocketAddress: function(allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; + }, + get64: function() { + var low = SYSCALLS.get(), high = SYSCALLS.get(); + return low; + }, + getZero: function() { + SYSCALLS.get(); + } +}; + +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; + 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 ___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; + } +} + +function ___syscall146(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} + +function ___syscall195(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var path = SYSCALLS.getStr(), buf = SYSCALLS.get(); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} + +function ___syscall220(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), dirp = SYSCALLS.get(), count = SYSCALLS.get(); + if (!stream.getdents) { + stream.getdents = FS.readdir(stream.path); + } + var pos = 0; + while (stream.getdents.length > 0 && pos + 268 <= count) { + var id; + var type; + var name = stream.getdents.pop(); + if (name[0] === ".") { + id = 1; + type = 4; + } else { + var child = FS.lookupNode(stream.node, name); + id = child.id; + type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8; + } + HEAP32[dirp + pos >> 2] = id; + HEAP32[dirp + pos + 4 >> 2] = stream.position; + HEAP16[dirp + pos + 8 >> 1] = 268; + HEAP8[dirp + pos + 10 >> 0] = type; + stringToUTF8(name, dirp + pos + 11, 256); + pos += 268; + } + return pos; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); + switch (cmd) { + case 0: + { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -ERRNO_CODES.EINVAL; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + + case 1: + case 2: + return 0; + + case 3: + return stream.flags; + + case 4: + { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + + case 12: + { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + + 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 ___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 ___syscall54(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21509: + case 21505: + { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: + { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + + case 21519: + { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + + case 21520: + { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL; + } + + case 21531: + { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + + case 21523: + { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + + case 21524: + { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + + default: + abort("bad ioctl syscall " + op); + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} + +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 ___unlock() {} + +function _abort() { + Module["abort"](); +} + +function _emscripten_async_wget_data(url, arg, onload, onerror) { + Browser.asyncLoad(UTF8ToString(url), function(byteArray) { + var buffer = _malloc(byteArray.length); + HEAPU8.set(byteArray, buffer); + dynCall_viii(onload, arg, buffer, byteArray.length); + _free(buffer); + }, function() { + if (onerror) dynCall_vi(onerror, arg); + }, true); +} + +function _emscripten_get_heap_size() { + return TOTAL_MEMORY; +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes. 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 allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "); +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize); +} + +function _exit(status) { + exit(status); +} + +var ___tm_current = 5108944; + +var ___tm_timezone = (stringToUTF8("GMT", 5108992, 4), 5108992); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr; +} + +function _gmtime(time) { + return _gmtime_r(time, ___tm_current); +} + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60; + var winter = new Date(2e3, 0, 1); + var summer = new Date(2e3, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr; + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr; + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr; +} + +function _localtime(time) { + return _localtime_r(time, ___tm_current); +} + +function _longjmp(env, value) { + _setThrew(env, value || 1); + throw "longjmp"; +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest); +} + +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 ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(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.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0; + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()); + } + } + return compare; + } + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + 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) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 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 < 12) { + 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() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate(); + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate(); + } + return leadingNulls(Math.ceil(daysDifference / 7), 2); + }, + "%w": function(date) { + var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0); + return day.getDay(); + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2); + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00"; + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2); + }, + "%Y": function(date) { + return date.tm_year + 1900; + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 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 _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret; + } + return ret; +} + +FS.staticInit(); + +__ATINIT__.unshift(function() { + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); +}); + +__ATMAIN__.push(function() { + FS.ignorePermissions = false; +}); + +__ATEXIT__.push(function() { + FS.quit(); +}); + +Module["FS_createFolder"] = FS.createFolder; + +Module["FS_createPath"] = FS.createPath; + +Module["FS_createDataFile"] = FS.createDataFile; + +Module["FS_createPreloadedFile"] = FS.createPreloadedFile; + +Module["FS_createLazyFile"] = FS.createLazyFile; + +Module["FS_createLink"] = FS.createLink; + +Module["FS_createDevice"] = FS.createDevice; + +Module["FS_unlink"] = FS.unlink; + +__ATINIT__.unshift(function() { + TTY.init(); +}); + +__ATEXIT__.push(function() { + TTY.shutdown(); +}); + +if (ENVIRONMENT_IS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit(); +} + +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { + err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); + Module["requestFullScreen"] = Module["requestFullscreen"]; + Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice); +}; + +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); +}; + +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6; + }; +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow; +} else if (typeof self === "object" && self["performance"] && typeof self["performance"]["now"] === "function") { + _emscripten_get_now = function() { + return self["performance"]["now"](); + }; +} else if (typeof performance === "object" && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"](); + }; +} else { + _emscripten_get_now = Date.now; +} + +var GLctx; + +GL.init(); + +var ASSERTIONS = false; + +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; +} + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 255) { + if (ASSERTIONS) { + assert(false, "Character code " + chr + " (" + String.fromCharCode(chr) + ") at offset " + i + " not in 0x00-0xFF."); + } + chr &= 255; + } + ret.push(String.fromCharCode(chr)); + } + return ret.join(""); +} + +var decodeBase64 = typeof atob === "function" ? atob : function(input) { + var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + chr1 = enc1 << 2 | enc2 >> 4; + chr2 = (enc2 & 15) << 4 | enc3 >> 2; + chr3 = (enc3 & 3) << 6 | enc4; + output = output + String.fromCharCode(chr1); + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + return output; +}; + +function intArrayFromBase64(s) { + if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0; i < decoded.length; ++i) { + bytes[i] = decoded.charCodeAt(i); + } + return bytes; + } catch (_) { + throw new Error("Converting base64 string to bytes failed."); + } +} + +function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); +} + +function invoke_vii(index, a1, a2) { + var sp = stackSave(); + try { + dynCall_vii(index, a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0 && e !== "longjmp") throw e; + _setThrew(1, 0); + } +} + +var asmGlobalArg = { + "Math": Math, + "Int8Array": Int8Array, + "Int16Array": Int16Array, + "Int32Array": Int32Array, + "Uint8Array": Uint8Array, + "Uint16Array": Uint16Array, + "Float32Array": Float32Array, + "Float64Array": Float64Array, + "NaN": NaN, + Infinity: Infinity +}; + +var asmLibraryArg = { + "a": abort, + "b": setTempRet0, + "c": getTempRet0, + "d": invoke_vii, + "e": _SDL_ClearError, + "f": _SDL_GetError, + "g": _SDL_GetModState, + "h": _SDL_GetMouseState, + "i": _SDL_GetTicks, + "j": _SDL_GetWindowSize, + "k": _SDL_Init, + "l": _SDL_LockAudio, + "m": _SDL_LockSurface, + "n": _SDL_PollEvent, + "o": _SDL_SetVideoMode, + "p": _SDL_UnlockAudio, + "q": _SDL_UnlockSurface, + "r": ___buildEnvironment, + "s": ___lock, + "t": ___setErrNo, + "u": ___syscall140, + "v": ___syscall145, + "w": ___syscall146, + "x": ___syscall195, + "y": ___syscall220, + "z": ___syscall221, + "A": ___syscall5, + "B": ___syscall54, + "C": ___syscall6, + "D": ___unlock, + "E": __addDays, + "F": __arraySum, + "G": __isLeapYear, + "H": _abort, + "I": _emscripten_asm_const_i, + "J": _emscripten_asm_const_ii, + "K": _emscripten_asm_const_iii, + "L": _emscripten_asm_const_iiiii, + "M": _emscripten_async_wget_data, + "N": _emscripten_get_heap_size, + "O": _emscripten_get_now, + "P": _emscripten_memcpy_big, + "Q": _emscripten_resize_heap, + "R": _emscripten_set_main_loop, + "S": _emscripten_set_main_loop_timing, + "T": _exit, + "U": _gmtime, + "V": _gmtime_r, + "W": _localtime, + "X": _localtime_r, + "Y": _longjmp, + "Z": _strftime, + "_": _time, + "$": _tzset, + "aa": abortOnCannotGrowMemory, + "ab": tempDoublePtr, + "ac": DYNAMICTOP_PTR +}; + +// EMSCRIPTEN_START_ASM + + +var asm = (/** @suppress {uselessCode} */ function(global,env,buffer) { +"use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.ab|0,i=env.ac|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.abs,u=global.Math.sqrt,v=global.Math.cos,w=global.Math.sin,x=global.Math.atan,y=global.Math.atan2,z=global.Math.imul,A=global.Math.clz32,B=env.a,C=env.b,D=env.c,E=env.d,F=env.e,G=env.f,H=env.g,I=env.h,J=env.i,K=env.j,L=env.k,M=env.l,N=env.m,O=env.n,P=env.o,Q=env.p,R=env.q,S=env.r,T=env.s,U=env.t,V=env.u,W=env.v,X=env.w,Y=env.x,Z=env.y,_=env.z,$=env.A,aa=env.B,ba=env.C,ca=env.D,da=env.E,ea=env.F,fa=env.G,ga=env.H,ha=env.I,ia=env.J,ja=env.K,ka=env.L,la=env.M,ma=env.N,na=env.O,oa=env.P,pa=env.Q,qa=env.R,ra=env.S,sa=env.T,ta=env.U,ua=env.V,va=env.W,wa=env.X,xa=env.Y,ya=env.Z,za=env._,Aa=env.$,Ba=env.aa,Ca=5109104,Da=10351984,Ea=0.0; +// EMSCRIPTEN_START_FUNCS +function lg(){var 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,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;c[1276623]=c[1276624];c[1276624]=c[1276625];c[1276625]=c[1276626];c[1276626]=c[1276627];c[1276627]=c[1276628];c[1276628]=c[1276629];c[1276629]=c[1276630];c[1276630]=c[1276631];c[1276631]=c[1276632];c[1276632]=c[1276633];c[1276633]=c[1276634];c[1276634]=c[1276635];c[1276635]=c[1276636];c[1276636]=c[1276637];c[1276637]=c[1276638];c[1276638]=c[1276639];c[1276639]=c[1276640];c[1276640]=c[1276641];c[1276641]=c[1276642];c[1276642]=c[1276643];c[1276643]=c[1276644];c[1276644]=c[1276645];c[1276645]=c[1276646];c[1276646]=c[1276647];c[1276647]=c[1276648];c[1276648]=c[1276649];c[1276649]=c[1276650];c[1276650]=c[1276651];c[1276651]=c[1276652];c[1276652]=Bo()|0;a=c[1276623]|0;b=c[1276624]|0;d=c[1276625]|0;e=c[1276626]|0;f=c[1276627]|0;g=c[1276628]|0;h=c[1276629]|0;i=c[1276630]|0;j=c[1276631]|0;k=c[1276632]|0;l=c[1276633]|0;m=c[1276634]|0;n=c[1276635]|0;o=c[1276636]|0;p=c[1276637]|0;q=c[1276638]|0;r=c[1276639]|0;s=c[1276640]|0;t=c[1276641]|0;u=c[1276642]|0;v=c[1276643]|0;w=c[1276644]|0;x=c[1276645]|0;y=c[1276646]|0;z=c[1276647]|0;A=c[1276648]|0;B=c[1276649]|0;C=c[1276650]|0;E=c[1276651]|0;F=c[1276652]|0;G=((a|0)!=0&1)+((b|0)!=0&1)+((d|0)!=0&1)+((e|0)!=0&1)+((f|0)!=0&1)+((g|0)!=0&1)+((h|0)!=0&1)+((i|0)!=0&1)+((j|0)!=0&1)+((k|0)!=0&1)+((l|0)!=0&1)+((m|0)!=0&1)+((n|0)!=0&1)+((o|0)!=0&1)+((p|0)!=0&1)+((q|0)!=0&1)+((r|0)!=0&1)+((s|0)!=0&1)+((t|0)!=0&1)+((u|0)!=0&1)+((v|0)!=0&1)+((w|0)!=0&1)+((x|0)!=0&1)+((y|0)!=0&1)+((z|0)!=0&1)+((A|0)!=0&1)+((B|0)!=0&1)+((C|0)!=0&1)+((E|0)!=0&1)+((F|0)!=0&1)|0;H=c[1276657]|0;I=c[1276655]|0;if((H|0)>(I|0)){J=H-I|0;I=Js(J|0,((J|0)<0)<<31>>31|0,16)|0;J=D()|0;H=c[1276654]|0;K=Es(I|0,J|0,4194304/(((H|0)>1?H:1)>>>0)|0|0,0)|0;D()|0;H=c[1276594]|0;c[1276593]=H;c[1276594]=K;J=(H|0)==0|(H|0)<(K|0)?K:H;L=(K|0)==0|(J|0)>(K|0)?J:K}else L=1048576;K=c[1276660]|0;J=c[1276658]|0;if((K|0)>(J|0)){H=c[1043534]|0;M=K-J+(c[1276591]|0)+((H|0)>0?H:0)|0}else M=1e3;H=(c[1043464]|0)==0;J=H?1e4:(F+(E+(C+(B+(A+(z+(y+(x+(w+(v+(u+(t+(s+(r+(q+(p+(o+(n+(m+(l+(k+(j+(i+(h+(g+(f+(e+(d+(b+a))))))))))))))))))))))))))))|0)/(((G|0)==0?1:G)|0)|0;G=c[1276653]|0;a=c[1276654]|0;if((c[1043536]|0)!=0&(G|0)==(a|0)){c[1276653]=(G|0)/2|0;c[1043536]=0;return}c[1043536]=0;if((G|0)==60?(J|0)<58&(a|0)==60:0){c[1276653]=30;if(jp()|0?(b=Vo()|0,(b-(c[1276592]|0)|0)<200):0){b=(c[1276591]|0)+1|0;c[1276591]=(b|0)<10?b:10}c[1276592]=Vo()|0;return}if((G|0)>=(a|0)|(J|0)<(a+-2|0))return;if(!((L|0)<63488&((M|0)<17|H|(a|0)==30)))return;c[1276653]=a;return}function mg(){c[795236]=0;c[1052295]=0;return}function ng(a){a=a|0;Kk(3180944+(c[1052295]<<6)|0,a)|0;c[1052295]=(c[1052295]|0)+1;return}function og(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=c[1052296]|0;a[3197328]=0;c[1052296]=0;e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:{g=4;break a;break}case 45:{g=5;break a;break}case 13:case 9:case 8:case 32:break;default:{h=f;break a}}e=e+1|0}if((g|0)==4){c[1052296]=-1e3;i=e;return i|0}if((g|0)==5)if((a[e+1>>0]|0)==45){c[1052296]=-995;b:do if((a[e+2>>0]|0)==91?(a[e+3>>0]|0)==91:0){b=e+4|0;j=1;while(1){k=Xr(b,46699)|0;l=Xr(b,46702)|0;if(!l)break b;m=(k|0)!=0&k>>>0>>0;j=(m?1:-1)+j|0;n=(m?k:l)+2|0;if((j|0)<=0){i=n;break}else b=n}return i|0}while(0);b=e;j=45;c:while(1){switch(j<<24>>24){case 0:case 10:{i=b;break c;break}default:{}}n=b+1|0;b=n;j=a[n>>0]|0}return i|0}else h=45;if(a[992+(h&255)>>0]|0){c[1052296]=0;j=c[8388]|0;b=f<<24>>24;if(!(a[1248+(b&255)>>0]|0)){o=j;p=0;q=e}else{n=j;j=0;l=e;k=b;b=f;while(1){m=(z(k,n)|0)&8191^7266;r=j+1|0;a[3197328+j>>0]=b;s=l+1|0;b=a[s>>0]|0;k=b<<24>>24;if(!(a[1248+(k&255)>>0]|0)){o=m;p=r;q=s;break}else{n=m;j=r;l=s}}}a[3197328+p>>0]=0;switch(d|0){case 46:case 58:break;default:{d=c[3262864+(o*20|0)+16>>2]|0;if(d|0?(Oq(3262864+(o*20|0)|0,3197328)|0)==0:0){c[1052296]=d;i=q;return i|0}}}c[1052296]=-998;i=q;return i|0}if((h+-48&255)<=9){c[1052296]=0;d:do if(f<<24>>24!=48)if(f<<24>>24==46|(f+-48&255)<10)g=34;else{t=0;u=e}else{q=a[e+1>>0]|0;switch((q|32)<<24>>24){case 120:break;case 98:{a[3197328]=48;a[3197329]=q;d=0;o=e+2|0;while(1){p=a[o>>0]|0;switch(p<<24>>24){case 46:case 48:case 49:break;default:{t=d;u=o;break d}}a[3197328+d>>0]=p;d=d+1|0;o=o+1|0}break}default:{g=34;break d}}a[3197328]=48;a[3197329]=q;o=0;d=e+2|0;while(1){p=a[d>>0]|0;if((p+-48&255)>=10)switch(p<<24>>24){case 46:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{t=o;u=d;break d}}a[3197328+o>>0]=p;o=o+1|0;d=d+1|0}}while(0);if((g|0)==34){d=0;o=e;q=f;while(1){p=d+1|0;a[3197328+d>>0]=q;l=o+1|0;q=a[l>>0]|0;if(!(q<<24>>24==46|(q+-48&255)<10)){t=p;u=l;break}else{d=p;o=l}}}a[3197328+t>>0]=0;c[1052296]=-997;i=u;return i|0}switch(h<<24>>24){case 91:{u=e+1|0;t=a[u>>0]|0;if(t<<24>>24==91){c[1052296]=-996;a[3197328]=0;o=e+2|0;d=1;while(1){q=Xr(o,46699)|0;l=Xr(o,46702)|0;if(!l)break;p=(q|0)!=0&q>>>0>>0;d=(p?1:-1)+d|0;j=(p?q:l)+2|0;if((d|0)<=0){i=j;g=80;break}else o=j}if((g|0)==80)return i|0;i=e+(Yq(e)|0)|0;return i|0}else{v=u;w=t}break}case 34:{a[3197328]=34;t=e;u=1;e:while(1){o=t+1|0;d=a[o>>0]|0;switch(d<<24>>24){case 34:{g=48;break e;break}case 10:case 0:{x=o;y=u;break e;break}case 92:{j=t+2|0;a[3197328+u>>0]=92;A=u+1|0;B=j;C=a[j>>0]|0;break}default:{A=u;B=o;C=d}}a[3197328+A>>0]=C;t=B;u=A+1|0}if((g|0)==48){a[3197328+u>>0]=34;x=t+2|0;y=u+1|0}a[3197328+y>>0]=0;c[1052296]=-996;i=x;return i|0}case 39:{a[3197328]=39;x=e;y=1;f:while(1){u=x+1|0;t=a[u>>0]|0;switch(t<<24>>24){case 39:{g=54;break f;break}case 10:case 0:{D=y;E=u;break f;break}case 92:{A=x+2|0;a[3197328+y>>0]=92;F=A;G=y+1|0;H=a[A>>0]|0;break}default:{F=u;G=y;H=t}}a[3197328+G>>0]=H;x=F;y=G+1|0}if((g|0)==54){a[3197328+y>>0]=39;D=y+1|0;E=x+2|0}a[3197328+D>>0]=0;c[1052296]=-996;i=E;return i|0}case 10:{c[1052297]=(c[1052297]|0)+1;c[1052296]=-999;i=e+1|0;return i|0}case 46:{E=e+1|0;D=a[E>>0]|0;if(D<<24>>24==46){c[1052296]=-962;i=e+2|0;return i|0}else{v=E;w=D}break}default:{D=e+1|0;v=D;w=a[D>>0]|0}}g:do if(w<<24>>24!=61){if(h<<24>>24==47&w<<24>>24==47){c[1052296]=-995;D=e;E=f;h:while(1){switch(E<<24>>24){case 0:case 10:{i=D;break h;break}default:{}}x=D+1|0;D=x;E=a[x>>0]|0}return i|0}}else do switch(h<<24>>24){case 60:{c[1052296]=-968;i=e+2|0;return i|0}case 62:{c[1052296]=-967;i=e+2|0;return i|0}case 126:{c[1052296]=-965;i=e+2|0;return i|0}case 33:{c[1052296]=-965;i=e+2|0;return i|0}case 61:{c[1052296]=-964;i=e+2|0;return i|0}case 43:{c[1052296]=-963;i=e+2|0;return i|0}case 45:{c[1052296]=-963;i=e+2|0;return i|0}case 42:{c[1052296]=-963;i=e+2|0;return i|0}case 47:{c[1052296]=-963;i=e+2|0;return i|0}case 37:{c[1052296]=-963;i=e+2|0;return i|0}default:break g}while(0);while(0);if(kq(e,51510,9)|0){c[1052296]=h<<24>>24;i=v;return i|0}c[1052296]=-960;v=e;e=f;i:while(1){switch(e<<24>>24){case 0:case 10:{i=v;break i;break}default:{}}f=v+1|0;v=f;e=a[f>>0]|0}return i|0}function pg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ca;Ca=Ca+16|0;f=e+8|0;g=e;if((Yq(b)|0)>>>0>15){Ca=e;return}h=c[8388]|0;i=a[b>>0]|0;if(!(i<<24>>24))j=h;else{k=b;l=h;h=i;while(1){i=(z(l,h<<24>>24)|0)&8191^7266;k=k+1|0;h=a[k>>0]|0;if(!(h<<24>>24)){j=i;break}else l=i}}l=3262864+(j*20|0)+16|0;h=3262864+(j*20|0)|0;if((c[l>>2]|0)==0?(a[h>>0]|0)==0:0){c[l>>2]=d;Kk(h,b)|0;Ca=e;return}c[g>>2]=h;c[g+4>>2]=b;os(46705,g)|0;c[f>>2]=h;c[f+4>>2]=b;mq(3552704,46705,f)|0;Ok(3552704);sa(0)}function qg(a){a=a|0;c[8388]=a;Ps(3262864,0,163840)|0;pg(46736,-993);pg(46745,-992);pg(46749,-991);pg(46753,-990);pg(49811,-989);pg(46756,-988);pg(46761,-987);pg(46768,-986);pg(46774,-974);pg(46778,-973);pg(46782,-972);pg(46785,-985);pg(46788,-983);pg(46794,-982);pg(46801,-981);pg(46808,-980);pg(46814,-979);pg(46819,-978);pg(46919,-961);pg(46924,-961);pg(46825,-961);pg(46829,-984);pg(46832,-977);pg(46840,-977);pg(46844,-977);pg(46848,-977);pg(46852,-977);if((c[1052295]|0)<=0)return;a=0;do{pg(3180944+(a<<6)|0,-977);a=a+1|0}while((a|0)<(c[1052295]|0));return}function rg(b){b=b|0;var c=0;c=og(b)|0;if(!c)return 0;else return ((c|0)==(b|0)&(a[c>>0]|0)!=0?c+1|0:c)|0;return 0}function sg(b){b=b|0;var d=0,e=0;qg(c[8388]|0);c[1052296]=0;c[1052298]=b;d=og(b)|0;if(!d){e=0;return e|0}e=(d|0)==(b|0)&(a[d>>0]|0)!=0?d+1|0:d;return e|0}function tg(){return c[1052296]|0}function ug(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=-1;e=0;while(1){if((d|0)==-1){qg(c[8388]|0);c[1052296]=0;c[1052298]=b;f=og(b)|0;if(!f){g=0;h=0}else{g=0;h=(f|0)==(b|0)&(a[f>>0]|0)!=0?f+1|0:f}}else{if(!(a[e>>0]|0))break;f=og(e)|0;if(!f){g=d;h=0}else{g=d;h=(f|0)==(e|0)&(a[f>>0]|0)!=0?f+1|0:f}}f=c[1052296]|0;d=g+((f|2|0)!=46&((f|32|0)!=125&((f|4|0)!=-995&(f|0)!=-983&(f|0)!=-1e3&(f|0)!=59&(f|0)!=41)&(f|0)!=-992)&(f|0)!=58&(f|0)!=-960&1)|0;e=h}return d|0}function vg(a){a=a|0;return}function wg(){return}function xg(){return}function yg(){return}function zg(a){a=a|0;return}function Ag(){return}function Bg(){return}function Cg(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+4|0;f=b+8|0;b=32;do{g=b<<1;h=0;do{i=c[(c[(c[e>>2]|0)+16>>2]|0)+((h>>>6)+g<<2)>>2]|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]=((d[i+(j|1)>>0]|0)<<4)+(d[i+j>>0]|0);h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function Dg(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+8|0;f=b+4|0;b=32;do{g=b<<1;h=0;do{i=(h>>>6)+g|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+j>>0]=a[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]&15;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(j|1)>>0]=(d[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]|0)>>>4;h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function Eg(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;b=Ca;Ca=Ca+2832|0;e=b+2824|0;f=b+2816|0;g=b+1792|0;h=b+768|0;i=b;j=b+2828|0;c[j>>2]=0;k=0;while(1){c[f>>2]=rk()|0;c[f+4>>2]=k;mq(g,46861,f)|0;dp(g,h);if(!(Fo(h)|0))break;else k=k+1|0}k=uj(h,0,j)|0;if(!k){l=1;Ca=b;return l|0}c[e>>2]=h;mq(3552704,46871,e)|0;Ok(3552704);e=c[943655]<<7;h=al(e,e,8)|0;if(0>0){e=0;j=16;while(1){g=c[3]|0;f=0;m=j;do{m=(d[g+f>>0]|0)>15?256:m;f=f+1|0}while((f|0)!=16384);e=e+1|0;if((e|0)>=0)break;else j=m}if((m|0)>0){n=m;o=10}else p=m}else{n=16;o=10}if((o|0)==10){o=c[1231623]|0;m=0;do{a[i+(m*3|0)>>0]=a[o+(m*3|0)>>0]|0;a[i+(m*3|0)+1>>0]=a[o+(m*3|0)+1>>0]|0;a[i+(m*3|0)+2>>0]=a[o+(m*3|0)+2>>0]|0;m=m+1|0}while((m|0)!=(n|0));p=n}n=tj(1<<(Dj(p)|0),i)|0;i=c[h>>2]|0;c[k>>2]=i;m=h+4|0;o=c[m>>2]|0;c[k+4>>2]=o;c[k+8>>2]=p;c[k+12>>2]=0;c[k+20>>2]=n;a:do if(0>0){j=h+16|0;e=0;f=i;g=o;while(1){gl(0,h,0,0,f,g,0);q=Fj(k,0)|0;c[q>>2]=0;c[q+4>>2]=0;r=c[h>>2]|0;c[q+8>>2]=r;s=c[m>>2]|0;c[q+12>>2]=s;a[q+16>>0]=0;c[q+20>>2]=n;t=Np(z(s,r)|0)|0;r=q+24|0;c[r>>2]=t;Ps(t|0,0,z(c[m>>2]|0,c[h>>2]|0)|0)|0;t=c[m>>2]|0;if((t|0)>0){s=0;u=t;t=c[h>>2]|0;while(1){if((t|0)>0){v=0;w=t;do{a[(c[r>>2]|0)+((z(w,s)|0)+v)>>0]=(d[(c[(c[j>>2]|0)+(s<<2)>>2]|0)+v>>0]|0|0)%(p|0)|0;v=v+1|0;w=c[h>>2]|0}while((v|0)<(w|0));x=w;y=c[m>>2]|0}else{x=t;y=u}s=s+1|0;if((s|0)>=(y|0))break;else{u=y;t=x}}}t=(e|0)==0;u=t?3:1;s=q+28|0;c[s>>2]=u;r=Np(u*12|0)|0;u=q+32|0;c[u>>2]=r;Ps(r|0,0,(c[s>>2]|0)*12|0)|0;s=c[u>>2]|0;if(t){c[s+8>>2]=255;c[s>>2]=11;t=Np(12)|0;c[s+4>>2]=t;r=t;t=46892;v=r+12|0;do{a[r>>0]=a[t>>0]|0;r=r+1|0;t=t+1|0}while((r|0)<(v|0));t=c[u>>2]|0;c[t+20>>2]=0;c[t+12>>2]=3;r=Np(3)|0;c[t+16>>2]=r;a[r>>0]=1;a[r+1>>0]=0;a[r+2>>0]=0;A=2;B=t}else{A=0;B=s}c[B+(A*12|0)+8>>2]=249;c[B+(A*12|0)>>2]=4;t=Np(4)|0;r=B+(A*12|0)+4|0;c[r>>2]=t;a[t>>0]=8;a[(c[r>>2]|0)+1>>0]=3;a[(c[r>>2]|0)+2>>0]=0;a[(c[r>>2]|0)+3>>0]=0;r=e+1|0;if((r|0)>=0)break a;e=r;f=c[h>>2]|0;g=c[m>>2]|0}}while(0);m=Cj(k)|0;bl(h)|0;l=(m|0)==0&1;Ca=b;return l|0}function Fg(a){a=a|0;return}function Gg(){return}function Hg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=Ca;Ca=Ca+16|0;f=e;g=Ar(a,52470)|0;if(!g){h=1;Ca=e;return h|0}a=En(1048576)|0;i=ms(a,1,1048576,g)|0;Gr(g)|0;g=Ar(b,51462)|0;if(!g){h=2;Ca=e;return h|0}bs(46904,6,1,g)|0;if((i|0)>0){b=0;do{c[f>>2]=d[a+b>>0];Ur(g,58930,f)|0;b=b+1|0}while((b|0)!=(i|0))}bs(46911,7,1,g)|0;Gr(g)|0;h=0;Ca=e;return h|0}function Ig(a){a=a|0;bl(c[(c[15088]|0)+44316>>2]|0)|0;a=al(128,128,8)|0;c[(c[15088]|0)+44316>>2]=a;Nm(c[1231642]|0,a,0,0,0,0,128,128);return 0}function Jg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Ca;Ca=Ca+1040|0;g=f+1024|0;h=f;if((b|0)==0|(d|0)==0){i=1;Ca=f;return i|0}j=Yq(b)|0;k=Yq(5059976)|0;if((e|0)>1023|(j+4+k+(Yq(5061e3)|0)|0)>>>0>=e>>>0){i=1;Ca=f;return i|0}Kk(h,b)|0;if(Xr(h,52634)|0){i=1;Ca=f;return i|0}b=a[h>>0]|0;a:do if(b<<24>>24){e=h;k=b;b:while(1){if(!((k+-97&255)<26|(k+-48&255)<10))switch(k<<24>>24){case 32:case 46:case 47:case 95:break;default:{i=1;break b}}e=e+1|0;k=a[e>>0]|0;if(!(k<<24>>24))break a}Ca=f;return i|0}while(0);b=Yq(h)|0;if(b>>>0>3?(Oq(h+b+-4|0,46930)|0)==0:0)a[h+(b+-4)>>0]=0;c[g>>2]=5059976;c[g+4>>2]=5061e3;c[g+8>>2]=h;mq(d,46935,g)|0;i=0;Ca=f;return i|0}function Kg(a){a=a|0;mg();od(a,5,0);sd(a,46946);ng(46946);od(a,6,0);sd(a,46951);ng(46951);od(a,7,0);sd(a,46958);ng(46958);od(a,8,0);sd(a,46963);ng(46963);od(a,9,0);sd(a,46967);ng(46967);od(a,10,0);sd(a,46974);ng(46974);od(a,10,0);sd(a,46977);ng(46977);od(a,11,0);sd(a,46981);ng(46981);od(a,12,0);sd(a,46984);ng(46984);od(a,13,0);sd(a,46990);ng(46990);od(a,14,0);sd(a,47004);ng(47004);od(a,15,0);sd(a,47018);ng(47018);od(a,16,0);sd(a,47028);ng(47028);od(a,17,0);sd(a,47035);ng(47035);od(a,18,0);sd(a,47040);ng(47040);od(a,19,0);sd(a,47045);ng(47045);od(a,20,0);sd(a,47051);ng(47051);od(a,21,0);sd(a,47057);ng(47057);od(a,22,0);sd(a,47064);ng(47064);od(a,23,0);sd(a,47071);ng(47071);od(a,24,0);sd(a,47077);ng(47077);od(a,25,0);sd(a,47083);ng(47083);od(a,26,0);sd(a,47087);ng(47087);od(a,27,0);sd(a,47092);ng(47092);od(a,28,0);sd(a,47097);ng(47097);od(a,29,0);sd(a,47106);ng(47106);od(a,30,0);sd(a,47111);ng(47111);od(a,31,0);sd(a,47120);ng(47120);od(a,32,0);sd(a,47125);ng(47125);od(a,33,0);sd(a,47129);ng(47129);od(a,34,0);sd(a,47134);ng(47134);od(a,35,0);sd(a,47140);ng(47140);od(a,35,0);sd(a,47148);ng(47148);od(a,36,0);sd(a,47152);ng(47152);od(a,37,0);sd(a,47157);ng(47157);od(a,38,0);sd(a,47162);ng(47162);od(a,39,0);sd(a,47167);ng(47167);od(a,40,0);sd(a,47172);ng(47172);od(a,41,0);sd(a,47177);ng(47177);od(a,42,0);sd(a,51924);ng(51924);od(a,43,0);sd(a,47182);ng(47182);od(a,44,0);sd(a,47186);ng(47186);od(a,45,0);sd(a,47191);ng(47191);od(a,46,0);sd(a,47196);ng(47196);od(a,47,0);sd(a,47203);ng(47203);od(a,48,0);sd(a,47209);ng(47209);od(a,49,0);sd(a,47215);ng(47215);od(a,50,0);sd(a,47221);ng(47221);od(a,51,0);sd(a,47227);ng(47227);od(a,52,0);sd(a,47234);ng(47234);od(a,53,0);sd(a,47241);ng(47241);od(a,54,0);sd(a,47248);ng(47248);od(a,55,0);sd(a,47255);ng(47255);od(a,56,0);sd(a,47259);ng(47259);od(a,57,0);sd(a,47265);ng(47265);od(a,58,0);sd(a,47269);ng(47269);od(a,59,0);sd(a,47274);ng(47274);od(a,60,0);sd(a,47278);ng(47278);od(a,61,0);sd(a,47282);ng(47282);od(a,62,0);sd(a,47286);ng(47286);od(a,63,0);sd(a,51117);ng(51117);od(a,64,0);sd(a,47290);ng(47290);od(a,65,0);sd(a,47294);ng(47294);od(a,66,0);sd(a,47298);ng(47298);od(a,67,0);sd(a,47303);ng(47303);od(a,68,0);sd(a,47309);ng(47309);od(a,69,0);sd(a,47314);ng(47314);od(a,70,0);sd(a,47318);ng(47318);od(a,71,0);sd(a,47323);ng(47323);od(a,72,0);sd(a,47328);ng(47328);od(a,73,0);sd(a,47332);ng(47332);od(a,74,0);sd(a,47336);ng(47336);od(a,75,0);sd(a,47341);ng(47341);od(a,76,0);sd(a,47346);ng(47346);od(a,77,0);sd(a,47351);ng(47351);od(a,78,0);sd(a,47356);ng(47356);od(a,79,0);sd(a,47361);ng(47361);od(a,80,0);sd(a,47365);ng(47365);od(a,81,0);sd(a,47370);ng(47370);od(a,82,0);sd(a,47377);ng(47377);od(a,82,0);sd(a,47386);ng(47386);od(a,83,0);sd(a,47391);ng(47391);od(a,84,0);sd(a,47396);ng(47396);od(a,85,0);sd(a,47403);ng(47403);od(a,86,0);sd(a,47410);ng(47410);od(a,87,0);sd(a,47415);ng(47415);od(a,87,0);sd(a,47420);od(a,88,0);sd(a,47422);ng(47422);od(a,89,0);sd(a,47428);ng(47428);od(a,90,0);sd(a,47435);ng(47435);od(a,91,0);sd(a,47442);ng(47442);od(a,92,0);sd(a,47451);ng(47451);od(a,93,0);sd(a,47458);od(a,94,0);sd(a,47464);ng(47464);od(a,95,0);sd(a,47479);ng(47479);od(a,96,0);sd(a,47483);ng(47483);od(a,97,0);sd(a,47488);od(a,98,0);sd(a,47498);ng(47498);od(a,99,0);sd(a,47507);ng(47507);od(a,100,0);sd(a,47512);ng(47512);od(a,101,0);sd(a,47517);ng(47517);od(a,102,0);sd(a,47522);ng(47522);od(a,103,0);sd(a,47526);ng(47526);od(a,104,0);sd(a,47532);ng(47532);od(a,4,0);sd(a,47537);ng(47537);od(a,105,0);sd(a,47542);ng(47542);od(a,106,0);sd(a,47555);ng(47555);od(a,107,0);sd(a,47568);ng(47568);od(a,108,0);sd(a,47577);ng(47577);od(a,109,0);sd(a,47584);ng(47584);od(a,110,0);sd(a,47591);ng(47591);od(a,111,0);sd(a,47598);ng(47598);od(a,112,0);sd(a,47605);ng(47605);od(a,113,0);sd(a,47614);ng(47614);od(a,114,0);sd(a,47623);ng(47623);od(a,115,0);sd(a,47629);ng(47629);od(a,116,0);sd(a,47638);ng(47638);od(a,117,0);sd(a,47644);od(a,117,0);sd(a,47654);od(a,118,0);sd(a,47666);od(a,119,0);sd(a,47690);od(a,120,0);sd(a,47706);od(a,121,0);sd(a,47724);od(a,122,0);sd(a,47745);od(a,123,0);sd(a,47754);od(a,124,0);sd(a,47764);od(a,125,0);sd(a,47776);return}function Lg(a){a=a|0;mb();c[1231638]=0;c[1231639]=0;c[1231636]=0;dj();c[1231644]=0;return zf(a,0,0,0)|0}function Mg(a){a=a|0;var b=0,d=0;b=cd(a,1,0)|0;d=cd(a,2,0)|0;Wi(4926528,c[1268394]|0,24360,b>>>16&255);Wi(4926528,c[1268394]|0,24361,b>>24);Wi(4926528,c[1268394]|0,24362,d>>>16&255);Wi(4926528,c[1268394]|0,24363,d>>24);return 0}function Ng(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;if((Zc(a)|0)>3){b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;e=(cd(a,3,0)|0)>>16;f=(cd(a,4,0)|0)>>16;g=e;h=d;i=b}else{f=128;g=128;h=0;i=0}c[1267491]=i;c[1267492]=h;b=g+i|0;c[1267493]=b;g=f+h|0;c[1267494]=g;if((i|0)<128)if((i|0)>0){j=i;k=5}else l=0;else{j=128;k=5}if((k|0)==5)l=j;c[1267491]=l;l=(h|0)<128?h:128;c[1267492]=(l|0)>0?l:0;l=(b|0)<128?b:128;c[1267493]=(l|0)>0?l:0;l=(g|0)<128?g:128;c[1267494]=(l|0)>0?l:0;hg(16);_k(c[1231641]|0,c[1267491]|0,c[1267492]|0,c[1267493]|0,c[1267494]|0);return 0}function Og(a){a=a|0;var b=0;if((Zc(a)|0)>0)b=(cd(a,1,0)|0)>>16;else b=0;c[1267497]=0;c[1267496]=0;c[1267492]=0;c[1267491]=0;c[1267494]=128;c[1267493]=128;fl(c[1231641]|0);Zk(c[1231641]|0,0,0,127,127,b);hg(1024);return 0}function Pg(a){a=a|0;var b=0;a=Ca;Ca=Ca+1040|0;b=a+1024|0;c[b>>2]=5059976;c[b+4>>2]=5061e3;mq(a,58700,b)|0;Ca=a;return 0}function Qg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ca;Ca=Ca+1840|0;e=d+1024|0;f=d;c[1276924]=17;a[4172796]=0;g=(c[1267391]|0)==0;h=(Zc(b)|0)>0;if(g){if(h)es(4172796,ed(b,1,0)|0,1023)|0;kb();i=0;Ca=d;return i|0}if(h){i=0;Ca=d;return i|0}bp(49242,f);Co(f,51027,e,-1)|0;rd(b,0,100);f=e+256|0;h=1;while(1){if((Xr(f,51029)|0)!=0?(ir(f,126)|0)==0:0){kd(b,f)|0;td(b,-2,h<<16);j=h+1|0}else j=h;if(!(Do(e)|0))h=j;else{i=1;break}}Ca=d;return i|0}function Rg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ca;Ca=Ca+2912|0;e=d+2080|0;f=d+2064|0;g=d+2056|0;h=d+2048|0;i=d+1024|0;j=d;k=d+2088|0;if((Zc(b)|0)>0?(l=ed(b,1,0)|0,l|0):0){if((Yq(l)|0)>>>0>511){Ca=d;return 0}if((a[l>>0]|0)==47){c[g>>2]=5059976;c[g+4>>2]=l+1;mq(i,49697,g)|0}else{c[f>>2]=5059976;c[f+4>>2]=5061e3;c[f+8>>2]=l;mq(i,49674,f)|0}bm(i,j);if(!(Xr(j,5059976)|0)){Pf(49703,7);Ca=d;return 0}i=Co(j,51027,k,-1)|0;Eo(k)|0;if(i|0){Pf(49714,7);Ca=d;return 0}Kk(5061e3,j+(Yq(5059976)|0)|0)|0;if(!(Oq(5061e3,53196)|0))a[5061e3]=0;c[e>>2]=5061e3;mq(3557312,49734,e)|0;Pf(3557312,12);Ca=d;return 0}c[h>>2]=5061e3;mq(3557312,49682,h)|0;Pf(3557312,12);Ca=d;return 0}function Sg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ca;Ca=Ca+1040|0;d=b+1024|0;e=b;if((Zc(a)|0)<1){Qf(49661);f=0;Ca=b;return f|0}g=ed(a,1,0)|0;if((Yq(g)|0)>>>0>511){hd(a,0);f=1;Ca=b;return f|0}else{c[d>>2]=5059976;c[d+4>>2]=5061e3;c[d+8>>2]=g;mq(e,49674,d)|0;ep(e)|0;f=0;Ca=b;return f|0}return 0}function Tg(a){a=a|0;wk();return 0}function Ug(a){a=a|0;Qj();xk();Rj();Qf(49617);Qf(49640);return 0}function Vg(a){a=a|0;Kj();c[1276925]=1;cj();return 0}function Wg(a){a=a|0;Qf(49586);return 0}function Xg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((Zc(a)|0)<2)return 0;b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;e=c[1267495]&255;if((Zc(a)|0)>=3){f=cd(a,3,0)|0;a=f>>>16&255;c[1267495]=a;if(!((f&268435456|0)==0|(Xi(4926528,c[1268394]|0,24372)|0)!=1)?(g=f&65535,c[1267505]=g,(f&16777216|0)!=0):0){c[1267505]=g|65536;h=a}else h=a}else h=e;Qi(c[1231641]|0,b-(c[1267500]|0)|0,d-(c[1267501]|0)|0,c[5069836+(h>>>4<<2)>>2]<<4&240|c[5069836+((h&15)<<2)>>2]&15,c[1267505]|0);return 0}function Yg(a){a=a|0;var b=0,d=0;if((Zc(a)|0)<2){hd(a,0);return 1}else{b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;hd(a,(il(c[1231641]|0,b-(c[1267500]|0)|0,d-(c[1267501]|0)|0)|0)<<16);return 1}return 0}function Zg(a){a=a|0;var b=0;if(!(Zc(a)|0))c[1267495]=0;if((Zc(a)|0)<1)return 0;b=cd(a,1,0)|0;c[1267495]=b>>>16&255;if((b&268435456|0)==0|(Xi(4926528,c[1268394]|0,24372)|0)!=1)return 0;a=b&65535;c[1267505]=a;if(!(b&16777216))return 0;c[1267505]=a|65536;return 0}function _g(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ca;Ca=Ca+16|0;d=b;e=Zc(a)|0;if(!e){Ca=b;return 0}f=ad(a,1)|0;do if((f+-3|0)>>>0>=2)if((f|0)==1){g=(dd(a,1)|0)==0;h=g?46924:46919;break}else{c[d>>2]=bd(a,f)|0;mq(3557312,49399,d)|0;h=3557312;break}else h=ed(a,1,0)|0;while(0);if((e|0)>2){d=(cd(a,2,0)|0)>>16;f=(cd(a,3,0)|0)>>16;c[1267496]=d;c[1267497]=f}f=c[1267495]&255;if((Zc(a)|0)>=4){d=cd(a,4,0)|0;a=d>>>16&255;c[1267495]=a;if(!((d&268435456|0)==0|(Xi(4926528,c[1268394]|0,24372)|0)!=1)?(g=d&65535,c[1267505]=g,(d&16777216|0)!=0):0){c[1267505]=g|65536;i=a}else i=a}else i=f;f=(c[1267497]|0)-(c[1267501]|0)|0;a=Gl(c[1231641]|0,h,c[1231654]|0,(c[1267496]|0)-(c[1267500]|0)|0,f,(c[1267390]|0)==2?17:1,c[5069836+(i>>>4<<2)>>2]<<4&240|c[5069836+((i&15)<<2)>>2]&15)|0;if(!((e|0)!=1|(a|0)<(f|0))){e=a;do{Ua();e=e+-6|0}while((e|0)>=(f|0))}hg((Yq(h)|0)<<3|2);Ca=b;return 0}function $g(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;d=Ca;Ca=Ca+2096|0;e=d+2080|0;f=d+2072|0;g=d+2064|0;h=d+1040|0;i=d;j=ad(b,1)|0;do if((j+-3|0)>>>0>=2)if((j|0)==1){k=(dd(b,1)|0)==0;l=k?46924:46919;break}else{c[g>>2]=bd(b,j)|0;mq(3557312,49399,g)|0;l=3557312;break}else l=ed(b,1,0)|0;while(0);if((Zc(b)|0)<=1){js(l)|0;Ir(c[8398]|0)|0;Ca=d;return 0}g=ed(b,2,0)|0;if(!g){Ca=d;return 0}if((Zc(b)|0)>2)m=dd(b,3)|0;else m=0;if(!(Oq(g,48855)|0)){b=zp(l,0)|0;kp(b)|0;if(!(lp(b)|0))nb(49404,1500);else nb(49434,1500);Hn(b);Hn(c[944505]|0);c[944505]=mp()|0;Ca=d;return 0}if(Jg(g,h,1023)|0){tb(49461);Ca=d;return 0}g=c[1043197]|0;b=(Yq(l)|0)+g|0;if(b>>>0>10485759){tb(49487);Ca=d;return 0}c[1043197]=b;c[f>>2]=h;mq(i,49524,f)|0;do if(!(Xr(4107252,i)|0)){f=0;b=0;a:while(1){switch(a[4107252+f>>0]|0){case 0:{break a;break}case 124:{n=b+1|0;break}default:n=b}f=f+1|0;b=n}if((b|0)<=63){gr(4107252,i)|0;break}tb(49528);Ca=d;return 0}while(0);i=Ar(h,(m|0)==0?51479:51462)|0;if(!i){tb(49554);Ca=d;return 0}else{c[e>>2]=l;Ur(i,49550,e)|0;Gr(i)|0;Ca=d;return 0}return 0}function ah(a){a=a|0;var b=0,d=0;b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;c[1267496]=b;c[1267497]=d;if((Zc(a)|0)<3)return 0;d=cd(a,3,0)|0;c[1267495]=d>>>16&255;if((d&268435456|0)==0|(Xi(4926528,c[1268394]|0,24372)|0)!=1)return 0;a=d&65535;c[1267505]=a;if(!(d&16777216))return 0;c[1267505]=a|65536;return 0}function bh(b){b=b|0;var d=0,e=0,f=0,g=0;d=Ca;Ca=Ca+16|0;e=d;switch(ad(b,1)|0){case 3:{hd(b,cd(b,1,0)|0);f=1;break}case 4:{c[e>>2]=0;g=cd(b,1,e)|0;if(!(c[e>>2]|0))f=0;else{e=(g|0)>-1&(a[(ed(b,1,0)|0)>>0]|0)==45;hd(b,e?0-g|0:g);f=1}break}default:f=0}Ca=d;return f|0}function ch(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ca;Ca=Ca+16|0;d=b+8|0;e=b;f=ad(a,1)|0;switch(f|0){case 4:{kd(a,ed(a,1,0)|0)|0;Ca=b;return 1}case 3:{if((Zc(a)|0)>1?dd(a,2)|0:0){g=cd(a,1,0)|0;c[e>>2]=g>>>16;c[e+4>>2]=g&65535;mq(3557312,49387,e)|0;kd(a,3557312)|0;Ca=b;return 1}kd(a,ed(a,1,0)|0)|0;Ca=b;return 1}case 1:{e=(dd(a,1)|0)==0;kd(a,e?46924:46919)|0;Ca=b;return 1}default:{c[d>>2]=bd(a,f)|0;mq(3557312,49399,d)|0;kd(a,3557312)|0;Ca=b;return 1}}return 0}function dh(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;b=Ca;Ca=Ca+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=Zc(a)|0;l=cd(a,1,0)|0;m=l>>16;n=(cd(a,2,0)|0)>>16;o=(cd(a,3,0)|0)>>16;if(l>>>0>16777215){Ca=b;return 0}if((k|0)>3){l=cd(a,4,0)|0;p=l<<3>>16;l=(cd(a,5,0)|0)<<3>>16;if((k|0)>5){q=dd(a,6)|0;if((k|0)==6){r=0;s=q;t=l;u=p}else{r=dd(a,7)|0;s=q;t=l;u=p}}else{r=0;s=0;t=l;u=p}}else{r=0;s=0;t=8;u=8}if((u|0)<1|(t|0)<1){Ca=b;return 0}p=(u|0)<128?u:128;u=(t|0)<128?t:128;t=n-(c[1267500]|0)|0;n=o-(c[1267501]|0)|0;o=al(p,u,8)|0;Li(c[(c[1268394]|0)+4>>2]|0,o,m<<3&120,((m|0)/16|0)<<3,0,0,p,u,s,r,5069836);Ni(o,c[1231641]|0,0,0,t,n,p,u,5069836);bl(o)|0;c[d>>2]=p;c[e>>2]=u;c[g>>2]=0;c[h>>2]=0;c[i>>2]=t;c[j>>2]=n;n=0-p|0;if((p|0)<0){c[g>>2]=p;c[d>>2]=n;v=n}else v=p;c[f>>2]=v;c[f+4>>2]=u;dl(f,c[1231641]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=z(d,j)|0;hg((d|j|0)<0?0:e);Ca=b;return 0}function eh(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,A=0,B=0,C=0;b=Ca;Ca=Ca+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=Zc(a)|0;l=(cd(a,1,0)|0)>>16;m=(cd(a,2,0)|0)>>16;n=cd(a,3,0)|0;o=n>>16;p=cd(a,4,0)|0;q=p>>16;r=(cd(a,5,0)|0)>>16;s=(cd(a,6,0)|0)>>16;if((k|0)>6){t=(cd(a,7,0)|0)>>16;u=(cd(a,8,0)|0)>>16;if((k|0)>8){v=dd(a,9)|0;if((k|0)==9){w=0;x=v;y=u;A=t}else{w=dd(a,10)|0;x=v;y=u;A=t}}else{w=0;x=0;y=u;A=t}}else{w=0;x=0;y=q;A=o}if((p+-65536|n+-65536)>>>0>8388607){Ca=b;return 0}if((A|0)==0|(y|0)==0){Ca=b;return 0}n=(A|0)<0;p=r-(c[1267500]|0)+(n?A:0)|0;r=n?0-A|0:A;A=(y|0)<0;t=s-(c[1267501]|0)+(A?y:0)|0;s=A?0-y|0:y;y=al(o,q,8)|0;Li(c[(c[1268394]|0)+4>>2]|0,y,l,m,0,0,o,q,n?(x|0)==0&1:x,A?(w|0)==0&1:w,5069836);Mi(y,c[1231641]|0,p,t,r,s,5069836);bl(y)|0;c[d>>2]=r;c[e>>2]=s;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=t;t=0-r|0;if((r|0)<0){c[g>>2]=r;c[d>>2]=t;B=t}else B=r;r=0-s|0;if((s|0)<0){c[h>>2]=s;c[e>>2]=r;C=r}else C=s;c[f>>2]=B;c[f+4>>2]=C;dl(f,c[1231641]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=z(d,j)|0;hg((d|j|0)<0?0:e);Ca=b;return 0}function fh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;e=(cd(a,3,0)|0)>>16;f=(cd(a,4,0)|0)>>16;g=c[1267495]&255;if((Zc(a)|0)>=5){h=cd(a,5,0)|0;a=h>>>16&255;c[1267495]=a;if(!((h&268435456|0)==0|(Xi(4926528,c[1268394]|0,24372)|0)!=1)?(i=h&65535,c[1267505]=i,(h&16777216|0)!=0):0){c[1267505]=i|65536;j=a}else j=a}else j=g;g=c[5069836+(j>>>4<<2)>>2]<<4&240|c[5069836+((j&15)<<2)>>2]&15;j=c[1267500]|0;a=b-j|0;b=c[1267501]|0;i=d-b|0;d=e-j|0;j=f-b|0;Ui(c[1231641]|0,a,i,d,i,g)|0;Ui(c[1231641]|0,a,j,d,j,g)|0;Ui(c[1231641]|0,a,i,a,j,g)|0;Ui(c[1231641]|0,d,i,d,j,g)|0;g=c[1231641]|0;b=(d|0)<(a|0);f=b?a:d;e=b?d:a;a=(j|0)<(i|0);d=a?j:i;b=a?i:j;j=c[g+36>>2]|0;if((b|0)<(j|0))return 0;i=c[g+40>>2]|0;if((d|0)>=(i|0))return 0;a=c[g+28>>2]|0;if((f|0)<(a|0))return 0;h=c[g+32>>2]|0;if((e|0)>=(h|0))return 0;g=h+-1|0;k=(f|0)<(g|0)?f:g;l=(e|0)<(g|0)?e:g;g=i+-1|0;m=(b|0)<(g|0)?b:g;n=(d|0)<(g|0)?d:g;g=((j|0)>(m|0)?j:m)-((j|0)>(n|0)?j:n)+-1|0;n=(3-((a|0)>(l|0)?a:l)+((a|0)>(k|0)?a:k)|0)/4|0;k=((g|0)>0?g:0)>>>1;hg(((f|0)<(h|0)?k:0)+((e|0)<(j|0)?0:k)+(((d|0)<(j|0)?0:n)+((b|0)<(i|0)?n:0))|0);return 0}function gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0;b=Ca;Ca=Ca+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=(cd(a,1,0)|0)>>16;l=(cd(a,2,0)|0)>>16;m=(cd(a,3,0)|0)>>16;n=(cd(a,4,0)|0)>>16;o=c[1267495]&255;if((Zc(a)|0)>=5){p=cd(a,5,0)|0;a=p>>>16&255;c[1267495]=a;if(!((p&268435456|0)==0|(Xi(4926528,c[1268394]|0,24372)|0)!=1)?(q=p&65535,c[1267505]=q,(p&16777216|0)!=0):0){c[1267505]=q|65536;r=a}else r=a}else r=o;o=c[5069836+(r>>>4<<2)>>2]<<4&240|c[5069836+((r&15)<<2)>>2]&15;r=c[1267500]|0;a=k-r|0;k=c[1267501]|0;q=l-k|0;l=m-r|0;r=n-k|0;k=(l|0)<(a|0);n=k?a:l;m=k?l:a;a=(r|0)<(q|0);l=a?q:r;k=a?r:q;q=k;while(1){Si(c[1231641]|0,m,n,q,o,c[1267505]|0);if((q|0)<(l|0))q=q+1|0;else break}q=n-m|0;n=q+1|0;o=l-k|0;l=o+1|0;c[d>>2]=n;c[e>>2]=l;c[g>>2]=0;c[h>>2]=0;c[i>>2]=m;c[j>>2]=k;k=~q;if((q|0)<-1){c[g>>2]=n;c[d>>2]=k;s=k}else s=n;n=~o;if((o|0)>=-1){t=l;c[f>>2]=s;u=f+4|0;c[u>>2]=t;v=c[1231641]|0;dl(f,v,g,h,i,j,d,e);w=c[d>>2]|0;x=c[e>>2]|0;y=x|w;A=(y|0)<0;B=z(x,w)|0;C=(B|0)/16|0;D=A?0:C;hg(D);Ca=b;return 0}c[h>>2]=l;c[e>>2]=n;t=n;c[f>>2]=s;u=f+4|0;c[u>>2]=t;v=c[1231641]|0;dl(f,v,g,h,i,j,d,e);w=c[d>>2]|0;x=c[e>>2]|0;y=x|w;A=(y|0)<0;B=z(x,w)|0;C=(B|0)/16|0;D=A?0:C;hg(D);Ca=b;return 0}function hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Zc(a)|0;if((b|0)<2)return 0;d=(cd(a,1,0)|0)>>16;e=(cd(a,2,0)|0)>>16;if((b|0)==2)f=4;else f=(cd(a,3,0)|0)>>16;b=c[1267495]&255;if((Zc(a)|0)>=4){g=cd(a,4,0)|0;a=g>>>16&255;c[1267495]=a;if(!((g&268435456|0)==0|(Xi(4926528,c[1268394]|0,24372)|0)!=1)?(h=g&65535,c[1267505]=h,(g&16777216|0)!=0):0){c[1267505]=h|65536;i=a}else i=a}else i=b;b=d-(c[1267500]|0)|0;d=e-(c[1267501]|0)|0;if((f|0)<0)return 0;Pi(c[1231641]|0,b,d,f,c[5069836+(i>>>4<<2)>>2]<<4&240|c[5069836+((i&15)<<2)>>2]&15);i=c[1231641]|0;if((b+f|0)<(c[i+28>>2]|0))return 0;if((b-f|0)>=(c[i+32>>2]|0))return 0;b=d+f|0;e=c[i+36>>2]|0;if((b|0)<(e|0))return 0;a=d-f|0;f=c[i+40>>2]|0;if((a|0)>=(f|0))return 0;i=(b|0)<(f|0)?b:f;hg((((e|0)>(i|0)?e:i)-((e|0)>(a|0)?e:a)<<1)+2|0);return 0}function ih(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=Ca;Ca=Ca+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=Zc(a)|0;if((k|0)<2){Ca=b;return 0}l=(cd(a,1,0)|0)>>16;m=(cd(a,2,0)|0)>>16;do if((k|0)!=2){n=cd(a,3,0)|0;if((n|0)<0){Ca=b;return 0}else{o=n>>>16;break}}else o=4;while(0);k=c[1267495]&255;if((Zc(a)|0)>=4){n=cd(a,4,0)|0;a=n>>>16&255;c[1267495]=a;if(!((n&268435456|0)==0|(Xi(4926528,c[1268394]|0,24372)|0)!=1)?(p=n&65535,c[1267505]=p,(n&16777216|0)!=0):0){c[1267505]=p|65536;q=a}else q=a}else q=k;k=l-(c[1267500]|0)|0;l=m-(c[1267501]|0)|0;Ri(c[1231641]|0,k,l,o,c[5069836+(q>>>4<<2)>>2]<<4&240|c[5069836+((q&15)<<2)>>2]&15);q=o<<1;m=q|1;c[d>>2]=m;c[e>>2]=m;c[g>>2]=0;c[h>>2]=0;c[i>>2]=k-o;c[j>>2]=l-o;c[f>>2]=m;c[f+4>>2]=m;dl(f,c[1231641]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=(z(d,j)|0)/16|0;hg(((d|j|0)<0?0:e)+q|0);Ca=b;return 0}function jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;if((Zc(a)|0)==2){e=c[1267507]|0;f=c[1267506]|0;g=d;h=b}else{i=(cd(a,3,0)|0)>>16;j=(cd(a,4,0)|0)>>16;e=j;f=i;g=j;h=i}c[1267506]=h;c[1267507]=g;g=c[1267495]&255;if((Zc(a)|0)>=5){h=cd(a,5,0)|0;a=h>>>16&255;c[1267495]=a;if(!((h&268435456|0)==0|(Xi(4926528,c[1268394]|0,24372)|0)!=1)?(i=h&65535,c[1267505]=i,(h&16777216|0)!=0):0){c[1267505]=i|65536;k=a}else k=a}else k=g;g=c[1267500]|0;a=c[1267501]|0;hg(((Ui(c[1231641]|0,b-g|0,d-a|0,f-g|0,e-a|0,c[5069836+(k>>>4<<2)>>2]<<4&240|c[5069836+((k&15)<<2)>>2]&15)|0)/2|0)+1|0);return 0}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;b=Zc(a)|0;if((b|0)<=1){c[1267475]=0;c[1267460]=1;c[1267476]=1;c[1267461]=2;c[1267477]=2;c[1267462]=3;c[1267478]=3;c[1267463]=4;c[1267479]=4;c[1267464]=5;c[1267480]=5;c[1267465]=6;c[1267481]=6;c[1267466]=7;c[1267482]=7;c[1267467]=8;c[1267483]=8;c[1267468]=9;c[1267484]=9;c[1267469]=10;c[1267485]=10;c[1267470]=11;c[1267486]=11;c[1267471]=12;c[1267487]=12;c[1267472]=13;c[1267488]=13;c[1267473]=14;c[1267489]=14;c[1267474]=15;c[1267490]=15;c[1267459]=16;return 0}d=(cd(a,1,0)|0)>>>16;e=(cd(a,2,0)|0)>>16;f=d&15;if((b|0)!=2?(cd(a,3,0)|0)>>>0>=65536:0){c[5069900+(f<<2)>>2]=e;return 0}a=5069836+(f<<2)|0;c[a>>2]=c[a>>2]&16|e&15;return 0}function lh(a){a=a|0;var b=0,d=0,e=0,f=0;if((Zc(a)|0)>1){b=(cd(a,1,0)|0)>>>16;d=dd(a,2)|0;a=5069836+((b&15)<<2)|0;b=c[a>>2]&15;c[a>>2]=b;if(!d)return 0;else{e=a;f=b}}else{b=c[1267459]&15;c[1267460]=c[1267460]&15;c[1267461]=c[1267461]&15;c[1267462]=c[1267462]&15;c[1267463]=c[1267463]&15;c[1267464]=c[1267464]&15;c[1267465]=c[1267465]&15;c[1267466]=c[1267466]&15;c[1267467]=c[1267467]&15;c[1267468]=c[1267468]&15;c[1267469]=c[1267469]&15;c[1267470]=c[1267470]&15;c[1267471]=c[1267471]&15;c[1267472]=c[1267472]&15;c[1267473]=c[1267473]&15;c[1267474]=c[1267474]&15;e=5069836;f=b}c[e>>2]=f|16;return 0}function mh(a){a=a|0;var b=0,d=0;if(!(Zc(a)|0))b=0;else{d=cd(a,1,0)|0;b=d<<1&65536|d>>>16}c[1267505]=b;return 0}function nh(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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=Ca;Ca=Ca+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=(cd(a,1,0)|0)>>16;l=(cd(a,2,0)|0)>>16;m=(cd(a,3,0)|0)>>16;n=(cd(a,4,0)|0)>>16;if((Zc(a)|0)>4){o=(cd(a,5,0)|0)>>16;p=(cd(a,6,0)|0)>>16;q=o;r=(cd(a,7,0)|0)>>16;s=p}else{q=128;r=0;s=32}if((s|0)<1|(q|0)<1){Ca=b;return 0}p=m-(c[1267500]|0)|0;m=n-(c[1267501]|0)|0;n=c[1268394]|0;a=c[n+8>>2]|0;o=c[n+4>>2]|0;n=c[1267491]|0;t=c[1267492]|0;if((p|0)<(n+-7|0)){u=(n-p|0)/8|0;v=u+k|0;w=(u<<3)+p|0;x=q-u|0}else{v=k;w=p;x=q}if((m|0)<(t+-7|0)){q=(t-m|0)/8|0;y=q+l|0;A=(q<<3)+m|0;B=s-q|0}else{y=l;A=m;B=s}s=((7-n+(c[1267493]|0)|0)/8|0)+1|0;n=(s|0)<(x|0)?s:x;x=((7-t+(c[1267494]|0)|0)/8|0)+1|0;t=(x|0)<(B|0)?x:B;if((t|0)>0){B=(n|0)>0;x=(r|0)==0;s=f+4|0;m=0;l=0;while(1){a:do if(B){q=l+y|0;p=(l<<3)+A|0;if(x){k=0;u=m;while(1){C=il(a,k+v|0,q)|0;if(!C)D=u;else{E=(k<<3)+w|0;Oi(o,c[1231641]|0,C<<3&120,((C|0)/16|0)<<3,E,p,8,8,5069836);c[d>>2]=8;c[e>>2]=8;c[g>>2]=0;c[h>>2]=0;c[i>>2]=E;c[j>>2]=p;c[f>>2]=8;c[s>>2]=8;dl(f,c[1231641]|0,g,h,i,j,d,e);E=c[d>>2]|0;C=c[e>>2]|0;F=z(C,E)|0;D=((C|E|0)<0?0:F)+u|0}k=k+1|0;if((k|0)>=(n|0)){G=D;break a}else u=D}}u=0;k=m;while(1){F=il(a,u+v|0,q)|0;if((F|0)!=0?(c[(c[1268394]|0)+43292+(F<<2)>>2]&r|0)!=0:0){E=(u<<3)+w|0;Oi(o,c[1231641]|0,F<<3&120,((F|0)/16|0)<<3,E,p,8,8,5069836);c[d>>2]=8;c[e>>2]=8;c[g>>2]=0;c[h>>2]=0;c[i>>2]=E;c[j>>2]=p;c[f>>2]=8;c[s>>2]=8;dl(f,c[1231641]|0,g,h,i,j,d,e);E=c[d>>2]|0;F=c[e>>2]|0;C=z(F,E)|0;H=((F|E|0)<0?0:C)+k|0}else H=k;u=u+1|0;if((u|0)>=(n|0)){G=H;break}else k=H}}else G=m;while(0);l=l+1|0;if((l|0)>=(t|0)){I=G;break}else m=G}}else I=0;hg(I);Ca=b;return 0}function oh(a){a=a|0;var b=0,d=0;b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;hd(a,(il(c[(c[1268394]|0)+8>>2]|0,b,d)|0)<<16);return 1}function ph(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=cd(b,1,0)|0;e=d>>16;f=cd(b,2,0)|0;g=f>>16;h=cd(b,3,0)|0;b=h>>>16;cl(c[(c[1268394]|0)+8>>2]|0,e,g,b&255);if(!(d>>>0<8388608&(f&-2097152|0)==2097152))return 0;f=(g<<7)+e|0;e=f>>6;g=f<<1&126;a[(c[(c[(c[(c[1268394]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=b&15;a[(c[(c[(c[(c[1268394]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+(g|1)>>0]=h>>>20&15;return 0}function qh(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(Zc(a)|0)){b=0;return b|0}d=cd(a,1,0)|0;e=d>>16;if((Zc(a)|0)==1){hd(a,c[(c[1268394]|0)+43292+(e<<2)>>2]<<16&16711680);b=1;return b|0}f=cd(a,2,0)|0;if(d>>>0>16777215){pd(a,0);b=1;return b|0}if(f>>>0>524287){pd(a,0);b=1;return b|0}else{pd(a,(c[(c[1268394]|0)+43292+(e<<2)>>2]&1<<(f>>16)|0)!=0&1);b=1;return b|0}return 0}function rh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Zc(a)|0;if((b|0)<2)return 0;d=cd(a,1,0)|0;e=d>>16;f=cd(a,2,0)|0;g=f>>16;if(d>>>0>16777215)return 0;if((b|0)==2){c[(c[1268394]|0)+43292+(e<<2)>>2]=g&255;return 0}b=dd(a,3)|0;if(f>>>0>524287)return 0;f=1<>2];c[g>>2]=e;if(!b)return 0;c[g>>2]=e|f;return 0}function sh(a){a=a|0;var b=0,d=0;b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;hd(a,(il(c[(c[1268394]|0)+4>>2]|0,b,d)|0)<<16);return 1}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=cd(a,1,0)|0;d=cd(a,2,0)|0;e=(cd(a,3,0)|0)>>>16&15;if((d|0)>8388607|((b|0)>8388607|(d|b|0)<0))return 0;a=(d>>16<<6)+((b>>16|0)/2|0)|0;d=Xi(4926528,c[1268394]|0,a)|0;if(!(b&65536))f=d&240|e;else f=d&15|e<<4;Wi(4926528,c[1268394]|0,a,f);return 0}function uh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[1268394]|0;d=(cd(a,1,0)|0)>>16;if((Zc(a)|0)>1)e=(cd(a,2,0)|0)>>16;else e=0;if((Zc(a)|0)>2)f=(cd(a,3,0)|0)>>16;else f=0;if((d|0)==-1){ro(0,e);hg(16);return 0}else{a=(d|0)<63?d:63;lo(b,(a|0)>0?a:0,e);c[1267778]=f;hg(16);return 0}return 0}function vh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((Zc(a)|0)<1)return 0;b=cd(a,1,0)|0;d=b>>16;if((Zc(a)|0)>1){e=cd(a,2,0)|0;if((e+131072|0)>>>0>393215)return 0;else f=e>>16}else f=-1;if((Zc(a)|0)>2)g=(cd(a,3,0)|0)>>16;else g=0;if((Zc(a)|0)>3)h=(cd(a,4,0)|0)>>16;else h=0;switch(d|0){case -1:{co(0,0,0,c[1268394]|0,f)|0;return 0}case -2:{jo(f);return 0}default:{if((f|0)!=-2){a=(d|0)<63?d:63;e=(a|0)>0?a:0;a=(g|0)<31?g:31;eo((c[1268394]|0)+12+(e*656|0)|0);g=c[1268394]|0;co(g+12+(e*656|0)|0,(a|0)>0?a:0,h,g,f)|0;hg(16);return 0}if(b>>>0>=4194304)return 0;eo((c[1268394]|0)+12+(d*656|0)|0);return 0}}return 0}function wh(a){a=a|0;var b=0;if((Zc(a)|0)==1)ig(-2);b=(cd(a,1,0)|0)>>16;hd(a,(Xi(4926528,c[1268394]|0,b)|0)<<16);return 1}function xh(a){a=a|0;var b=0,d=0;if((Zc(a)|0)==2)ig(-3);b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;Wi(4926528,c[1268394]|0,b,d);return 0}function yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;cd(a,1,0)|0;if((Zc(a)|0)==2?(ad(a,2)|0)==4:0){if(!(ed(a,2,0)|0))return 0;return 0}cd(a,2,0)|0;b=(cd(a,3,0)|0)>>13;if((Zc(a)|0)>3){c=cd(a,4,0)|0;a=c>>16;if((c|0)>65535){d=a;e=7}else f=a}else{d=1;e=7}if((e|0)==7){e=0;do e=e+1|0;while((e|0)!=(d|0));f=d}hg((z(f,b)|0)/64|0);return 0}function zh(a){a=a|0;var b=0,d=0;if((Zc(a)|0)==1)ig(-2);b=(cd(a,1,0)|0)>>16;d=(Xi(4926528,c[1268394]|0,b)|0)<<16;hd(a,((Xi(4926528,c[1268394]|0,b+1|0)|0)<<24)+d|0);return 1}function Ah(a){a=a|0;var b=0,d=0;if((Zc(a)|0)==2)ig(-2);b=(cd(a,1,0)|0)>>16;d=cd(a,2,0)|0;Wi(4926528,c[1268394]|0,b,d>>>16&255);Wi(4926528,c[1268394]|0,b+1|0,d>>>24);return 0}function Bh(a){a=a|0;var b=0,d=0,e=0;if((Zc(a)|0)==1)ig(-2);b=(cd(a,1,0)|0)>>16;d=Xi(4926528,c[1268394]|0,b)|0;e=((Xi(4926528,c[1268394]|0,b+1|0)|0)<<8)+d|0;d=e+((Xi(4926528,c[1268394]|0,b+2|0)|0)<<16)|0;hd(a,d+((Xi(4926528,c[1268394]|0,b+3|0)|0)<<24)|0);return 1}function Ch(a){a=a|0;var b=0,d=0;if((Zc(a)|0)==2)ig(-2);b=(cd(a,1,0)|0)>>16;d=cd(a,2,0)|0;Wi(4926528,c[1268394]|0,b,d&255);Wi(4926528,c[1268394]|0,b+1|0,d>>>8&255);Wi(4926528,c[1268394]|0,b+2|0,d>>>16&255);Wi(4926528,c[1268394]|0,b+3|0,d>>>24);return 0}function Dh(a){a=a|0;var b=0,d=0,e=0;b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;e=(cd(a,3,0)|0)>>16;hg(e+1|0);Yi(4926528,c[1268394]|0,b,d,e);return 0}function Eh(a){a=a|0;var b=0,d=0,e=0;b=(cd(a,1,0)|0)>>16;d=(cd(a,2,0)|0)>>16;e=(cd(a,3,0)|0)>>16;hg((e+1|0)/2|0);Zi(4926528,c[1268394]|0,b,d,e);return 0}function Fh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Ca;Ca=Ca+1056|0;e=d+1040|0;f=d+1032|0;g=d+1024|0;h=d+1048|0;i=d;if((Zc(b)|0)>2){j=(cd(b,1,0)|0)>>16;k=(cd(b,2,0)|0)>>16;l=(cd(b,3,0)|0)>>16;m=j;n=l;o=k;p=((l|0)<4096?l:4096)<<3}else{m=0;n=17152;o=0;p=32768}hg(p);if((Zc(b)|0)==4?(ad(b,4)|0)==4:0){p=ed(b,4,h)|0;if((a[p>>0]|0)==95?(a[p+1>>0]|0)==95:0){hd(b,0);Ca=d;return 1}a[i>>0]=0;if(!(Tb(p,1)|0)){bp(49242,i);gr(i,(a[p>>0]|0)==47?p+1|0:p)|0}else{Kk(i,Kb(Tb(p,1)|0)|0)|0;h=Tl(i,58830)|0;if(!h){c[g>>2]=i;mq(3552704,49286,g)|0;Ok(3552704);c[f>>2]=p;mq(3552704,49323,f)|0;Ok(3552704);Kk(i,p)|0}Ul(h)}c[e>>2]=n;c[e+4>>2]=i;mq(3552704,49354,e)|0;Ok(3552704);if(!(Nb(i,m,o,n)|0)){hd(b,n<<16);Ca=d;return 1}else{hd(b,0);Ca=d;return 1}}_i(4926528,c[1268394]|0,m,o,n);hd(b,n<<16);Ca=d;return 1}function Gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Ca;Ca=Ca+1040|0;e=d+1024|0;f=d;g=d+1032|0;if((Zc(b)|0)>2){h=(cd(b,1,0)|0)>>16;i=(cd(b,2,0)|0)>>16;j=(cd(b,3,0)|0)>>16;k=h;l=i;m=j;n=((j|0)<4096?j:4096)<<6}else{k=0;l=0;m=17152;n=262144}hg(n);do if((Zc(b)|0)>3?(ad(b,4)|0)==4:0){n=ed(b,4,g)|0;if((Yq(n)|0)>>>0>511){hd(b,0);Ca=d;return 1}if((a[n>>0]|0)==95?(a[n+1>>0]|0)==95:0){hd(b,0);Ca=d;return 1}if(!(Tb(n,1)|0)){bp(49242,f);gr(f,(a[n>>0]|0)==47?n+1|0:n)|0;o=0;break}else{Kk(f,Kb(Tb(n,1)|0)|0)|0;o=0;break}}else p=13;while(0);if((p|0)==13){Kk(f,Kb(5064080)|0)|0;o=1}c[e>>2]=m;c[e+4>>2]=f;mq(3552704,49250,e)|0;Ok(3552704);if(!(Ob(f,k,l,m,o)|0)){hd(b,m<<16);Ca=d;return 1}else{hd(b,0);Ca=d;return 1}return 0}function Hh(a){a=a|0;var b=0,c=0;if((Zc(a)|0)>0)b=cd(a,1,0)|0;else b=65536;c=oj(b)|0;hg(4);hd(a,c);return 1}function Ih(a){a=a|0;nj((cd(a,1,0)|0)&2147483647);return 0}function Jh(a){a=a|0;var b=0;b=cd(a,1,0)|0;if((Zc(a)|0)==1)ig(-2);hd(a,b&-65536);return 1}function Kh(a){a=a|0;var b=0;b=cd(a,1,0)|0;if((Zc(a)|0)==1)ig(-2);hd(a,b+65535&-65536);return 1}function Lh(a){a=a|0;hd(a,(cd(a,1,0)|0)>>31&-131072|65536);return 1}function Mh(a){a=a|0;var b=0;b=cd(a,1,0)|0;if((b|0)==-2147483648){hd(a,2147483647);return 1}else{hd(a,(b|0)<0?0-b|0:b);return 1}return 0}function Nh(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=cd(a,2,0)|0;hd(a,(b|0)<(c|0)?b:c);return 1}function Oh(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=cd(a,2,0)|0;hd(a,(b|0)>(c|0)?b:c);return 1}function Ph(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=cd(a,1,0)|0;c=cd(a,2,0)|0;d=cd(a,3,0)|0;e=(b|0)<(c|0);f=(b|0)<(d|0);do if(!(e&f))if((c|0)<(b|0)&(c|0)<(d|0)){g=f?b:d;break}else{g=e?b:c;break}else g=(c|0)<(d|0)?c:d;while(0);hd(a,g);return 1}function Qh(a){a=a|0;hd(a,Bm(cd(a,1,0)|0)|0);return 1}function Rh(a){a=a|0;hd(a,Cm(cd(a,1,0)|0)|0);return 1}function Sh(a){a=a|0;var b=0;b=cd(a,1,0)|0;hg(16);hd(a,lj(b)|0);return 1}function Th(a){a=a|0;var b=0;b=cd(a,1,0)|0;hd(a,mj(b,cd(a,2,0)|0)|0);return 1}function Uh(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=cd(a,2,0)|0;if((Zc(a)|0)==2)ig(-3);hd(a,c&b);return 1}function Vh(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=cd(a,2,0)|0;if((Zc(a)|0)==2)ig(-3);hd(a,c|b);return 1}function Wh(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=cd(a,2,0)|0;if((Zc(a)|0)==2)ig(-3);hd(a,c^b);return 1}function Xh(a){a=a|0;var b=0;b=cd(a,1,0)|0;if((Zc(a)|0)==1)ig(-2);hd(a,~b);return 1}function Yh(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=cd(a,2,0)|0;if((Zc(a)|0)==2)ig(-3);if((c|0)>2097151){hd(a,0);return 1}else{hd(a,b<<(c>>16));return 1}return 0}function Zh(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=cd(a,2,0)|0;if((Zc(a)|0)==2)ig(-3);if((c|0)>2097151){hd(a,b>>31);return 1}else{hd(a,b>>(c>>16));return 1}return 0}function _h(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=cd(a,2,0)|0;if((Zc(a)|0)==2)ig(-3);if((c|0)>2097151){hd(a,0);return 1}else{hd(a,b>>>(c>>16));return 1}return 0}function $h(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=(cd(a,2,0)|0)>>16;if((Zc(a)|0)==2)ig(-3);hd(a,pj(b,c)|0);return 1}function ai(a){a=a|0;var b=0,c=0;b=cd(a,1,0)|0;c=(cd(a,2,0)|0)>>16;if((Zc(a)|0)==2)ig(-3);hd(a,pj(b,32-c|0)|0);return 1}function bi(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;d=Ca;Ca=Ca+6176|0;e=d+6152|0;f=d+6144|0;g=d+5120|0;h=d+4096|0;i=d+3072|0;j=d+2048|0;k=d+1024|0;l=d;m=d+6164|0;c[m>>2]=255;if((c[1231649]|0)>0){n=0;Ca=d;return n|0}if((ad(b,1)|0)!=4){n=0;Ca=d;return n|0}if((Zc(b)|0)<=1)if(!(c[1267391]|0)){If();o=0}else o=0;else o=ed(b,2,0)|0;if((Zc(b)|0)>2?(ed(b,3,0)|0)!=0:0)es(5072161,ed(b,3,0)|0,1024)|0;else a[5072161]=0;if((Zc(b)|0)<=0){n=0;Ca=d;return n|0}p=ed(b,1,m)|0;if(!p){n=0;Ca=d;return n|0}Kk(k,5063056)|0;Kk(l,5061e3)|0;if((a[p>>0]|0)==47){Kk(l,5108828)|0;q=p+1|0}else q=p;Kk(g,q)|0;switch(a[q>>0]|0){case 95:{if((a[q+1>>0]|0)!=95)r=20;break}case 35:{p=c[943608]|0;c[f>>2]=q+1;mq(p,49112,f)|0;_a();c[1267393]=30;if(o|0?(Yq(o)|0)>>>0>1:0)Hf(k,o,1);c[1231638]=0;c[1231639]=0;c[1231636]=0;c[1231644]=0;n=zf(b,0,0,0)|0;Ca=d;return n|0}default:r=20}do if((r|0)==20){if((((Oq(q,48855)|0)!=0?(Oq(q,48861)|0)!=0:0)?(Oq(q,48870)|0)!=0:0)?(Oq(q,48880)|0)!=0:0){if(Mb(g)|0)break;am(5063056,h,i,j);f=Yq(c[c[15088]>>2]|0)|0;c[e>>2]=i;c[e+4>>2]=j;c[e+8>>2]=f;mq(3557312,49173,e)|0;if(!(c[1267391]|0))Qf(3557312);if(o|0?(Yq(o)|0)>>>0>1:0)Hf(k,o,0);Yf();f=c[1264991]|0;p=f+336|0;c[f+324>>2]=0;c[f+320>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;_i(4926528,c[1268394]|0,0,0,17152);hg(4194304);if((c[1231650]|0)==0&(c[1267391]|0)!=0?(c[1267390]=1,Oq(5063056,k)|0):0)c[1267393]=30}else Qf(49143);pd(b,1);n=1;Ca=d;return n|0}while(0);do if(!(c[1267391]|0))if((c[1266041]|0)==1){Qf(49196);c[1266041]=0;break}else{Qf(49227);break}while(0);n=0;Ca=d;return n|0}function ci(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ca;Ca=Ca+4128|0;e=d+4112|0;f=d+4096|0;g=d+4120|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;c[g>>2]=255;if((c[1231650]|0)==0&(c[1267391]|0)!=0){Ca=d;return 0}if((Zc(b)|0)>0?(ad(b,1)|0)==4:0){l=ed(b,1,g)|0;if((Yq(l)|0)>>>0>511){Qf(48813);Ca=d;return 0}if(l|0?a[l>>0]|0:0){if(((Oq(l,48855)|0?Oq(l,48861)|0:0)?Oq(l,48870)|0:0)?Oq(l,48880)|0:0){c[f>>2]=5059976;c[f+4>>2]=5061e3;c[f+8>>2]=l;mq(h,48604,f)|0;Fb(h,h);do if(Fo(h)|0){if(c[1276926]|0){c[1276926]=0;break}Qf(49064);Pf(49084,14);c[1276926]=1;Ca=d;return 0}while(0);if(Hb(h)|0){Ca=d;return 0}Kk(5063056,h)|0;am(h,i,j,k);c[e>>2]=j;c[e+4>>2]=k;mq(3557312,49101,e)|0;Qf(3557312);Ca=d;return 0}if(!(c[(c[15088]|0)+44316>>2]|0)){Pf(48893,9);Pf(48917,10)}bp(48948,i);if(((Bb(c[15088]|0,i)|0)==0?(bp(48961,h),(Hg(i,h)|0)==0):0)?(np(h)|0)==0:0){i=hm(h)|0;if(i|0){Nl(0,i);lp(c[i+12>>2]|0)|0;Kn(i)}Qf(48978);Qf(49007);Ca=d;return 0}Qf(49036);Ca=d;return 0}}Qf(48831);Ca=d;return 0}function di(b){b=b|0;if((c[1231649]|0)>0)return 0;if((Zc(b)|0)>0)es(5072161,ed(b,1,0)|0,1024)|0;else a[5072161]=0;c[1267390]=1;return 0}function ei(a){a=a|0;var b=0;if((c[1231649]|0)>0){b=0;return b|0}c[1267390]=2;c[1267501]=0;c[1267500]=0;_g(a)|0;b=zf(a,0,0,0)|0;return b|0}function fi(a){a=a|0;var b=0;if(c[1267391]|0){b=0;return b|0}if(Wb(48785)|0){b=0;return b|0}if(Ub()|0)Gb(5063056,0)|0;c[1267390]=3;c[943611]=0;b=zf(a,0,0,0)|0;return b|0}function gi(a){a=a|0;var b=0;if((c[1231650]|0)==0&(c[1267391]|0)!=0){b=0;return b|0}if(Wb(48755)|0){b=0;return b|0}if(Ub()|0)Gb(5063056,0)|0;b=zf(a,0,0,0)|0;return b|0}function hi(b){b=b|0;var d=0,e=0,f=0;b=Ca;Ca=Ca+3088|0;d=b+3072|0;e=b+1024|0;f=b;am(5063056,b+2048|0,e,f);if(a[5063056]|0){if(!(a[f>>0]|0))Kk(f,51029)|0;c[d>>2]=e;c[d+4>>2]=f;mq(3557312,48647,d)|0;Pf(3557312,14)}bg();d=En(262144)|0;if(Ak(c[c[15088]>>2]|0,d)|0){Hn(d);Ca=b;return 0}f=En(65536)|0;e=rj(d,f,Yq(d)|0)|0;Hn(f);f=ug(d)|0;Sf(48658,f,8192,(f|0)<8193?6:9);f=Yq(d)|0;Sf(48680,f,65535,f>>>0<65536?6:9);Sf(48701,e,15360,(e|0)<15361?6:9);if(Ub()|0)Rf(48722,0,0);if(Vb()|0?(c[(c[15088]|0)+44320>>2]|0)==18:0)Rf(48738,0,0);Hn(d);Ca=b;return 0}function ii(b){b=b|0;var d=0,e=0,f=0,g=0;d=Ca;Ca=Ca+1040|0;e=d+1024|0;f=d;c[e>>2]=255;if(((Zc(b)|0)>0?(g=ed(b,1,e)|0,g|0):0)?a[g>>0]|0:0){Kk(f,g)|0;hg(4096);Ca=d;return 0}Qf(48625);Ca=d;return 0}function ji(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ca;Ca=Ca+4128|0;d=b+4112|0;e=b+4096|0;f=b+4120|0;g=b+3072|0;h=b+1024|0;i=b;c[f>>2]=255;if((Zc(a)|0)<=0){Ca=b;return 0}j=ed(a,1,f)|0;if(!j){Ca=b;return 0}c[e>>2]=5059976;c[e+4>>2]=5061e3;c[e+8>>2]=j;mq(g,48604,e)|0;hg(4096);am(g,b+2048|0,h,i);c[d>>2]=h;c[d+4>>2]=i;mq(3557312,48611,d)|0;Ca=b;return 0}function ki(a){a=a|0;if(c[1267391]|0)return 0;Qf(5108828);Pf(48222,12);Qf(5108828);Qf(48231);Qf(48264);Qf(48288);Qf(48312);Qf(48332);Qf(48365);Qf(48397);Pf(48426,14);Qf(5108828);Qf(48459);Qf(48491);Qf(48522);Qf(5108828);Pf(48551,12);Pf(48579,12);Qf(5108828);return 0}function li(a){a=a|0;var b=0,d=0;b=c[1231633]|0;d=Js(b|0,((b|0)<0)<<31>>31|0,16)|0;b=Es(d|0,D()|0,60,0)|0;D()|0;hd(a,b);return 1}function mi(a){a=a|0;Qf(48181);Qf(48200);gd(a);return 1}function ni(a){a=a|0;gd(a);return 1}function oi(a){a=a|0;if(!(c[1052300]|0))nb(48150,2e3);c[1052300]=1;gd(a);return 1}function pi(a){a=a|0;if(!(c[1052299]|0))nb(48119,2e3);c[1052299]=1;gd(a);hd(a,0);return 2}function qi(a){a=a|0;var b=0,d=0,e=0,f=0;b=ed(a,1,0)|0;if(!b){d=0;return d|0}if(!(Oq(b,48004)|0)){eb();Ig(c[1231642]|0)|0;nb(48010,1500)}if(!(Oq(b,48022)|0)){eb();Qb(c[1231642]|0)|0;nb(48029,1500)}if(!(Oq(b,48057)|0))Gg();if(!(Oq(b,48061)|0)){eb();Eg()|0;nb(48067,1500)}if(!(Oq(b,48088)|0)){c[944502]=1;lb();c[944504]=0}e=Oq(b,48094)|0;if((c[1231649]|e|0)==0?(e=Vo()|0,(e|0)>((c[1043537]|0)+500|0)):0){c[1231649]=1;c[1043537]=Vo()|0}if(!((Oq(b,48100)|0)!=0?(Oq(b,48111)|0)!=0:0))f=17;if((f|0)==17?Kf()|0:0){Nf();d=zf(a,0,0,0)|0;return d|0}if(Oq(b,47377)|0){d=0;return d|0}c[1267390]=2;d=zf(a,0,0,0)|0;return d|0}function ri(a){a=a|0;gd(a);hd(a,0);return 2}function si(a){a=a|0;return 0}function ti(a){a=a|0;c[1276661]=1;Ki(a,0);return 1}function ui(a){a=a|0;c[1276661]=1;Ki(a,1);return 1}function vi(b){b=b|0;var c=0,d=0,e=0;c=cd(b,1,0)|0;d=c>>16;e=ed(b,2,0)|0;if(!e){a[5073186+(d<<6)>>0]=0;return 0}if((c+-65536|0)>>>0>327679)return 0;es(5073186+(d<<6)|0,e,16)|0;return 0}function wi(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ca;Ca=Ca+16|0;d=b;c[d>>2]=255;if((Zc(a)|0)>0?(e=ed(a,1,d)|0,(e|0)!=0):0){pd(a,(Hj(e)|0)==0&1);f=1}else f=0;Ca=b;return f|0}function xi(b){b=b|0;var d=0,e=0;d=cd(b,1,0)|0;if((a[5064168]|0)==0&(((a[5066476]|0)!=0&(c[1267391]|0)!=0|(c[943613]|0)!=0)^1)){tb(47971);e=zf(b,0,0,0)|0;return e|0}if(d>>>0>4194303){hd(b,0);e=1;return e|0}else{hd(b,c[5065192+(d>>16<<2)>>2]|0);e=1;return e|0}return 0}function yi(b){b=b|0;var d=0,e=0,f=0;d=cd(b,1,0)|0;e=cd(b,2,0)|0;if((a[5064168]|0)==0&(((a[5066476]|0)!=0&(c[1267391]|0)!=0|(c[943613]|0)!=0)^1)){tb(47938);f=zf(b,0,0,0)|0;return f|0}if(d>>>0>4194303){f=0;return f|0}c[5065192+(d>>>16<<2)>>2]=e;c[1276662]=1;f=0;return f|0}function zi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=Ca;Ca=Ca+112|0;e=d+64|0;f=d+108|0;g=d+104|0;h=d+100|0;i=d+72|0;j=d;hg(16);a:do if((Zc(b)|0)>0){k=(cd(b,1,0)|0)>>16;switch(k|0){case 1:{l=4;break a;break}case 5:{m=1179648;break a;break}case 0:{n=(c[1276589]|0)+(c[1267508]|0)|0;o=((n|0)<2097152?n:2097152)<<6;m=(o|0)>0?o:0;break a;break}case 2:{m=kg(c[1231639]|0)|0;break a;break}case 4:{o=c[944505]|0;if(!o){jd(b,5108828,0)|0;Ca=d;return 1}else{jd(b,o,Yq(o)|0)|0;Ca=d;return 1}break}case 6:{o=Yq(5071136)|0;jd(b,5071136,o>>>0<1024?o:1024)|0;Ca=d;return 1}case 7:{m=c[1276653]<<16;break a;break}default:{o=(k|0)==8?c[1276654]<<16:0;switch(k|0){case 9:{m=(Bo()|0)<<16;break a;break}case 13:{lb();m=4128768-((((c[944503]<<3)+8|0)/2|0)<<16)|0;break a;break}case 15:{lb();m=((((c[944503]<<3)+8|0)/2|0)<<16)+4194304|0;break a;break}default:{n=(k|0)==14;switch(k|0){case 10:{p=c[1276591]<<16;l=18;break}case 12:{if(n){q=12;l=19}else{r=12;s=1507328}break}default:{p=o;l=18}}if((l|0)==18)if(n){q=k;l=19}else{r=k;s=p}if((l|0)==19){r=q;s=6815744}k=r&-4;if((k|0)==16){n=io(r+-16|0)|0;o=c[1268394]|0;t=0;u=-65536;do{u=(n|0)==(o+12+(t*656|0)|0)?t<<16:u;t=t+1|0}while((t|0)!=64);if((u|0)==-65536){t=io(r+-12|0)|0;o=c[1268394]|0;n=0;v=-65536;while(1){w=(t|0)==(o+12+(n*656|0)|0)?n<<16:v;n=n+1|0;if((n|0)==64){x=w;break}else v=w}}else x=u}else x=s;do if((k|0)==20){v=io(r+-20|0)|0;if(!v){n=io(r+-16|0)|0;if(!n){y=-65536;break}else z=n}else z=v;y=(ho(z)|0)<<16}else y=x;while(0);switch(r|0){case 24:{k=c[1052793]<<16;u=(to()|0)==0;m=u?-65536:k;break a;break}case 25:{k=c[1052792]<<16;u=(to()|0)==0;m=u?-65536:k;break a;break}case 26:{k=(vo()|0)<<16;u=(to()|0)==0;m=u?-65536:k;break a;break}case 29:{m=Yo()|0;break a;break}default:{k=(r|0)==30;u=(r|0)==31;if((r|1|0)==31){if((Xi(4926528,c[1268394]|0,24365)|0)!=1){if(k)pd(b,0);if(!u){Ca=d;return 1}jd(b,5108828,0)|0;Ca=d;return 1}if(!((a[5066476]|0)!=0&(c[1267391]|0)!=0|(c[943613]|0)!=0)){v=c[943608]|0;if(v|0?a[v>>0]|0:0)l=44}else l=44;if((l|0)==44){if(!(c[1276588]|0))nb(47791,2e3);c[1276588]=1}if(k){pd(b,(c[1277056]|0)>0&1);Ca=d;return 1}if(u){if(!(c[1277056]|0)){jd(b,5108828,0)|0;Ca=d;return 1}jd(b,5107968,1)|0;u=0;do{k=u;u=u+1|0;a[5107968+k>>0]=a[5107968+u>>0]|0}while((u|0)!=255);c[1277056]=(c[1277056]|0)+-1;Ca=d;return 1}}if((r+-32|0)>>>0<5?(Xi(4926528,c[1268394]|0,24365)|0)==1:0){if(!((a[5066476]|0)!=0&(c[1267391]|0)!=0|(c[943613]|0)!=0)){u=c[943608]|0;if(u|0?a[u>>0]|0:0)l=60}else l=60;if((l|0)==60){if(!(c[1276588]|0))nb(47815,2e3);c[1276588]=1}ap(f,g,h);A=((r|0)==36?c[1267766]|0:(r|0)==35?c[1267765]|0:(r|0)==34?c[h>>2]|0:(r|0)==33?c[g>>2]|0:(r|0)==32?c[f>>2]|0:y)<<16}else A=y;switch(r|0){case 48:{gd(b);Ca=d;return 1}case 49:{jd(b,5108828,0)|0;Ca=d;return 1}default:{if((r+-50|0)>>>0<8){gd(b);Ca=d;return 1}if((r+-58|0)>>>0<6){jd(b,5108828,0)|0;Ca=d;return 1}if((r&-8|0)==64){gd(b);Ca=d;return 1}if((r+-80|0)>>>0>=6)if((r+-90|0)>>>0<6){Go(i,1);B=((r|0)==95?c[i+24>>2]|0:(r|0)==94?c[i+20>>2]|0:(r|0)==93?c[i+16>>2]|0:(r|0)==92?c[i+12>>2]|0:(r|0)==91?c[i+8>>2]|0:(r|0)==90?c[i+4>>2]|0:A)<<16}else B=A;else{Go(i,0);B=((r|0)==85?c[i+24>>2]|0:(r|0)==84?c[i+20>>2]|0:(r|0)==83?c[i+16>>2]|0:(r|0)==82?c[i+12>>2]|0:(r|0)==81?c[i+8>>2]|0:(r|0)==80?c[i+4>>2]|0:A)<<16}switch(r|0){case 100:{if(!(Jf()|0)){gd(b);Ca=d;return 1}else{u=Jf()|0;jd(b,u,Yq(Jf()|0)|0)|0;Ca=d;return 1}break}case 101:{if((a[5066476]|0)!=0&(c[1267391]|0)!=0){jd(b,5066476,Yq(5066476)|0)|0;Ca=d;return 1}else{gd(b);Ca=d;return 1}break}case 102:{u=ia(15,0)|0;k=u;if(!u){gd(b);Ca=d;return 1}else{jd(b,k,Yq(k)|0)|0;Ca=d;return 1}break}case 103:{jd(b,5064121,Yq(5064121)|0)|0;Ca=d;return 1}case 104:{pd(b,0);Ca=d;return 1}case 106:{c[e>>2]=5071136;c[e+4>>2]=5064121;mq(3557312,58700,e)|0;On(3557312,Yq(3557312)|0,j)|0;jd(b,j,Yq(j)|0)|0;Ca=d;return 1}default:{m=B;break a}}}}}}}}}}}else l=4;while(0);if((l|0)==4)m=kg((c[1231637]|0)+(c[1231638]|0)|0)|0;hd(b,m);Ca=d;return 1}function Ai(a){a=a|0;return zf(a,0,0,0)|0}function Bi(a){a=a|0;c[1231644]=1;if(c[1276590]|0)return 0;c[1276590]=1;return 0}function Ci(b){b=b|0;var c=0,d=0,e=0,f=0;c=cd(b,1,0)|0;if((c+-65536|0)>>>0>327679){d=0;return d|0}e=5073570+(c>>>16)|0;if(!(a[e>>0]|0))f=0;else{a[e>>0]=0;f=1}pd(b,f);d=1;return d|0}function Di(a){a=a|0;var b=0;b=(cd(a,1,0)|0)>>16;c[1231633]=(c[1231633]|0)+b;ej();return 0}function Ei(a){a=a|0;lg();return 0}function Fi(a){a=a|0;c[1267776]=(cd(a,1,0)|0)>>16;return 0}function Gi(a){a=a|0;var b=0;b=(cd(a,1,0)|0)>>16;c[1276653]=b;c[1276654]=b;return 0}function Hi(a){a=a|0;var b=0;b=(cd(a,1,0)|0)>>16;a=(b|0)<2?b:2;b=(a|0)>0?a:0;c[5106620+(b<<2)>>2]=c[1231638];c[5106632+(b<<2)>>2]=Vo()|0;return 0}function Ii(a){a=a|0;var b=0;b=(cd(a,1,0)|0)>>16;c[1231648]=b;c[1052786]=b;return 0}function Ji(a){a=a|0;if(!(c[1231640]|0))return 0;ig((cd(a,1,0)|0)>>16);return 0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=(cd(a,1,0)|0)>>16;e=(d|0)<7?d:7;d=(e|0)>0?e:0;if(!(Zc(a)|0)){e=(b|0)==0;id(a,((((e?c[1267524]|0:c[1267716]|0)|0)==0?0:32768)|((((e?c[1267523]|0:c[1267715]|0)|0)==0?0:16384)|((((e?c[1267522]|0:c[1267714]|0)|0)==0?0:8192)|((((e?c[1267521]|0:c[1267713]|0)|0)==0?0:4096)|((((e?c[1267520]|0:c[1267712]|0)|0)==0?0:2048)|((((e?c[1267519]|0:c[1267711]|0)|0)==0?0:1024)|((((e?c[1267518]|0:c[1267710]|0)|0)==0?0:512)|((((e?c[1267517]|0:c[1267709]|0)|0)==0?0:256)|((((e?c[1267516]|0:c[1267708]|0)|0)==0?0:128)|((((e?c[1267515]|0:c[1267707]|0)|0)==0?0:64)|((((e?c[1267514]|0:c[1267706]|0)|0)==0?0:32)|((((e?c[1267513]|0:c[1267705]|0)|0)==0?0:16)|((((e?c[1267512]|0:c[1267704]|0)|0)==0?0:8)|((((e?c[1267511]|0:c[1267703]|0)|0)==0?0:4)|((((e?c[1267510]|0:c[1267702]|0)|0)==0?0:2)|((e?c[1267509]|0:c[1267701]|0)|0)!=0)))))))))))))))<<16);return}if((Zc(a)|0)>1)f=(cd(a,2,0)|0)>>16;else f=0;if((f|d)>>>0<8)if(!b)g=c[5070036+(f<<5)+(d<<2)>>2]|0;else g=c[5070804+(f<<5)+(d<<2)>>2]|0;else g=0;pd(a,g);hg(4);return}function Li(b,d,e,f,g,h,i,j,k,l,m){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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;n=Ca;Ca=Ca+32|0;o=n+20|0;p=n+16|0;q=n+12|0;r=n+8|0;s=n+4|0;t=n;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;dl(b,d,o,p,q,r,s,t);j=(k|0)!=0;k=(l|0)!=0;l=c[t>>2]|0;i=(l|0)>0;if(j&k){if(!i){Ca=n;return}h=b+16|0;g=d+16|0;f=0;e=l;u=c[s>>2]|0;while(1){if((u|0)>0){v=~f;w=0;x=e;y=u;while(1){a[(c[(c[g>>2]|0)+((c[r>>2]|0)+f<<2)>>2]|0)+((c[q>>2]|0)+w)>>0]=c[m+((a[(c[(c[h>>2]|0)+((c[p>>2]|0)+v+x<<2)>>2]|0)+(y+~w+(c[o>>2]|0))>>0]&15)<<2)>>2];w=w+1|0;z=c[s>>2]|0;A=c[t>>2]|0;if((w|0)>=(z|0)){B=z;C=A;break}else{x=A;y=z}}}else{B=u;C=e}f=f+1|0;if((f|0)>=(C|0))break;else{e=C;u=B}}Ca=n;return}if(k){if(!i){Ca=n;return}k=b+16|0;B=d+16|0;u=0;C=l;e=c[s>>2]|0;while(1){if((e|0)>0){f=~u;h=0;g=C;while(1){a[(c[(c[B>>2]|0)+((c[r>>2]|0)+u<<2)>>2]|0)+((c[q>>2]|0)+h)>>0]=c[m+((a[(c[(c[k>>2]|0)+((c[p>>2]|0)+f+g<<2)>>2]|0)+((c[o>>2]|0)+h)>>0]&15)<<2)>>2];h=h+1|0;y=c[s>>2]|0;x=c[t>>2]|0;if((h|0)>=(y|0)){D=y;E=x;break}else g=x}}else{D=e;E=C}u=u+1|0;if((u|0)>=(E|0))break;else{C=E;e=D}}Ca=n;return}if(j){if(!i){Ca=n;return}j=b+16|0;D=d+16|0;e=0;E=l;C=c[s>>2]|0;while(1){if((C|0)>0){u=0;k=C;do{a[(c[(c[D>>2]|0)+((c[r>>2]|0)+e<<2)>>2]|0)+((c[q>>2]|0)+u)>>0]=c[m+((a[(c[(c[j>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(k+~u+(c[o>>2]|0))>>0]&15)<<2)>>2];u=u+1|0;k=c[s>>2]|0}while((u|0)<(k|0));F=c[t>>2]|0;G=k}else{F=E;G=C}e=e+1|0;if((e|0)>=(F|0))break;else{E=F;C=G}}Ca=n;return}else{if(!i){Ca=n;return}i=b+16|0;b=d+16|0;d=0;G=c[s>>2]|0;C=l;while(1){if((G|0)>0){l=0;do{a[(c[(c[b>>2]|0)+((c[r>>2]|0)+d<<2)>>2]|0)+((c[q>>2]|0)+l)>>0]=c[m+((a[(c[(c[i>>2]|0)+((c[p>>2]|0)+d<<2)>>2]|0)+((c[o>>2]|0)+l)>>0]&15)<<2)>>2];l=l+1|0;H=c[s>>2]|0}while((l|0)<(H|0));I=c[t>>2]|0;J=H}else{I=C;J=G}d=d+1|0;if((d|0)>=(I|0))break;else{G=J;C=I}}Ca=n;return}}function Mi(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;i=Ca;Ca=Ca+32|0;j=i+20|0;k=i+16|0;l=i+12|0;m=i+8|0;n=i+4|0;o=i;p=(b|0)!=0;q=(d|0)!=0;r=p&q;if((g|0)==0|p&q^1|(h|0)==0){Ca=i;return}q=c[b>>2]|0;p=c[b+4>>2]|0;if(!((q|0)==(g|0)&(p|0)==(h|0))){s=(q<<16|0)/(g|0)|0;q=(p<<16|0)/(h|0)|0;t=c[d+36>>2]|0;u=(t|0)>(f|0);v=t-f|0;w=h-(u?v:0)|0;x=u?t:f;t=c[d+28>>2]|0;y=(t|0)>(e|0);A=t-e|0;B=z(A,s)|0;C=(y?B:0)+((s|0)/2|0)|0;B=g-(y?A:0)|0;A=y?t:e;t=(c[d+32>>2]|0)-A|0;y=(B|0)<(t|0)?B:t;t=(c[d+40>>2]|0)-x|0;B=(w|0)<(t|0)?w:t;t=B+x|0;if((B|0)<=0){Ca=i;return}B=b+16|0;w=d+16|0;if((y|0)<=0){Ca=i;return}D=z(v,q)|0;v=x;x=((q|0)<0?p:0)+((q|0)/2|0)+(u?D:0)|0;while(1){D=c[(c[B>>2]|0)+(x>>16<<2)>>2]|0;u=(c[(c[w>>2]|0)+(v<<2)>>2]|0)+A|0;p=C;E=0;while(1){F=a[D+(p>>16)>>0]|0;if((F&255)<=15)a[u>>0]=F;E=E+1|0;if((E|0)>=(y|0))break;else{u=u+1|0;p=p+s|0}}v=v+1|0;if((v|0)>=(t|0))break;else x=x+q|0}Ca=i;return}c[j>>2]=0;c[k>>2]=0;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;a:do if(r?(dl(b,d,j,k,l,m,n,o),h=c[n>>2]|0,g=c[o>>2]|0,(h|0)>0&(g|0)>0):0){f=b+16|0;e=d+16|0;q=0;x=g;g=h;while(1){if(!g)G=x;else{h=(c[(c[f>>2]|0)+((c[k>>2]|0)+q<<2)>>2]|0)+(c[j>>2]|0)|0;t=g;v=(c[(c[e>>2]|0)+((c[m>>2]|0)+q<<2)>>2]|0)+(c[l>>2]|0)|0;while(1){s=a[h>>0]|0;if((s&255)<=15)a[v>>0]=s;t=t+-1|0;if(!t)break;else{h=h+1|0;v=v+1|0}}G=c[o>>2]|0}v=q+1|0;if((v|0)>=(G|0))break a;q=v;x=G;g=c[n>>2]|0}}while(0);Ca=i;return}function Ni(b,d,e,f,g,h,i,j,k){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;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=Ca;Ca=Ca+32|0;l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;if(!((b|0)!=0&(d|0)!=0)){Ca=k;return}dl(b,d,l,m,n,o,p,q);j=c[p>>2]|0;i=c[q>>2]|0;if(!((i|0)>0&(j|0)>0)){Ca=k;return}h=b+16|0;b=d+16|0;d=0;g=j;j=i;while(1){if(!g)r=j;else{i=(c[(c[h>>2]|0)+((c[m>>2]|0)+d<<2)>>2]|0)+(c[l>>2]|0)|0;f=g;e=(c[(c[b>>2]|0)+((c[o>>2]|0)+d<<2)>>2]|0)+(c[n>>2]|0)|0;while(1){s=a[i>>0]|0;if((s&255)<=15)a[e>>0]=s;f=f+-1|0;if(!f)break;else{i=i+1|0;e=e+1|0}}r=c[q>>2]|0}e=d+1|0;if((e|0)>=(r|0))break;d=e;g=c[p>>2]|0;j=r}Ca=k;return}function Oi(b,d,e,f,g,h,i,j,k){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;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=Ca;Ca=Ca+32|0;m=l+20|0;n=l+16|0;o=l+12|0;p=l+8|0;q=l+4|0;r=l;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;if(!((b|0)!=0&(d|0)!=0)){Ca=l;return}dl(b,d,m,n,o,p,q,r);j=c[q>>2]|0;if(!((c[r>>2]|0)>0&(j|0)>0)){Ca=l;return}i=b+16|0;b=d+16|0;d=0;h=j;while(1){if(h|0){j=(c[(c[b>>2]|0)+((c[p>>2]|0)+d<<2)>>2]|0)+(c[o>>2]|0)|0;g=(c[(c[i>>2]|0)+((c[n>>2]|0)+d<<2)>>2]|0)+(c[m>>2]|0)|0;f=h;while(1){e=c[k+((a[g>>0]&15)<<2)>>2]|0;if(!(e&240))a[j>>0]=e;f=f+-1|0;if(!f)break;else{j=j+1|0;g=g+1|0}}}g=d+1|0;if((g|0)>=(c[r>>2]|0))break;d=g;h=c[q>>2]|0}Ca=l;return}function Pi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=c[1267505]|0;if((f|0)<0)return;i=b+28|0;j=b+32|0;k=b+36|0;l=b+40|0;m=(h&65536|0)==0;n=b+16|0;b=1-f|0;o=0;p=f;while(1){f=p+d|0;q=o+e|0;r=c[i>>2]|0;if(((((r|0)<=(f|0)?(c[j>>2]|0)>(f|0):0)?(c[k>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0)?(s=h>>(q<<2&12^12)>>>(f&3^3)&1,m|(s|0)==0):0){a[(c[(c[n>>2]|0)+(q<<2)>>2]|0)+f>>0]=g>>(s<<2);t=c[i>>2]|0}else t=r;r=o+d|0;s=p+e|0;if(((((t|0)<=(r|0)?(c[j>>2]|0)>(r|0):0)?(c[k>>2]|0)<=(s|0):0)?(c[l>>2]|0)>(s|0):0)?(u=h>>(s<<2&12^12)>>>(r&3^3)&1,m|(u|0)==0):0){a[(c[(c[n>>2]|0)+(s<<2)>>2]|0)+r>>0]=g>>(u<<2);v=c[i>>2]|0}else v=t;u=d-p|0;if(((((v|0)<=(u|0)?(c[j>>2]|0)>(u|0):0)?(c[k>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0)?(w=h>>(q<<2&12^12)>>>(u&3^3)&1,m|(w|0)==0):0){a[(c[(c[n>>2]|0)+(q<<2)>>2]|0)+u>>0]=g>>(w<<2);x=c[i>>2]|0}else x=v;w=d-o|0;if(((((x|0)<=(w|0)?(c[j>>2]|0)>(w|0):0)?(c[k>>2]|0)<=(s|0):0)?(c[l>>2]|0)>(s|0):0)?(q=h>>(s<<2&12^12)>>>(w&3^3)&1,m|(q|0)==0):0){a[(c[(c[n>>2]|0)+(s<<2)>>2]|0)+w>>0]=g>>(q<<2);y=c[i>>2]|0}else y=x;q=e-o|0;if(((((y|0)<=(u|0)?(c[j>>2]|0)>(u|0):0)?(c[k>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0)?(s=h>>(q<<2&12^12)>>>(u&3^3)&1,m|(s|0)==0):0){a[(c[(c[n>>2]|0)+(q<<2)>>2]|0)+u>>0]=g>>(s<<2);z=c[i>>2]|0}else z=y;s=e-p|0;if(((((z|0)<=(w|0)?(c[j>>2]|0)>(w|0):0)?(c[k>>2]|0)<=(s|0):0)?(c[l>>2]|0)>(s|0):0)?(u=h>>(s<<2&12^12)>>>(w&3^3)&1,m|(u|0)==0):0){a[(c[(c[n>>2]|0)+(s<<2)>>2]|0)+w>>0]=g>>(u<<2);A=c[i>>2]|0}else A=z;if(((((A|0)<=(f|0)?(c[j>>2]|0)>(f|0):0)?(c[k>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0)?(u=h>>(q<<2&12^12)>>>(f&3^3)&1,m|(u|0)==0):0){a[(c[(c[n>>2]|0)+(q<<2)>>2]|0)+f>>0]=g>>(u<<2);B=c[i>>2]|0}else B=A;if(((((B|0)<=(r|0)?(c[j>>2]|0)>(r|0):0)?(c[k>>2]|0)<=(s|0):0)?(c[l>>2]|0)>(s|0):0)?(u=h>>(s<<2&12^12)>>>(r&3^3)&1,m|(u|0)==0):0)a[(c[(c[n>>2]|0)+(s<<2)>>2]|0)+r>>0]=g>>(u<<2);u=o+1|0;r=(b|0)<0;s=p+-1|0;p=r?p:s;if((p|0)<=(o|0))break;else{b=(u-(r?0:s)<<1|1)+b|0;o=u}}return}function Qi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((c[b+28>>2]|0)>(d|0))return;if((c[b+32>>2]|0)<=(d|0))return;if((c[b+36>>2]|0)>(e|0))return;if((c[b+40>>2]|0)<=(e|0))return;h=g>>(e<<2&12^12)>>>(d&3^3)&1;if(!((g&65536|0)==0|(h|0)==0))return;a[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=f>>(h<<2);return}function Ri(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((e|0)<0)return;g=0;h=e;i=1-e|0;while(1){e=b-h|0;j=h+b|0;Si(a,e,j,g+d|0,f,c[1267505]|0);Si(a,e,j,d-g|0,f,c[1267505]|0);j=b-g|0;e=g+b|0;if((i|0)>-1){Si(a,j,e,h+d|0,f,c[1267505]|0);Si(a,j,e,d-h|0,f,c[1267505]|0)}e=g+1|0;j=(i|0)<0;k=h+-1|0;h=j?h:k;if((h|0)<=(g|0))break;else{g=e;i=(e-(j?0:k)<<1|1)+i|0}}return}function Si(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=Ca;Ca=Ca+16|0;j=i;if((c[b+36>>2]|0)>(f|0)){Ca=i;return}if((c[b+40>>2]|0)<=(f|0)){Ca=i;return}k=g&15;l=(h&65536|0)!=0;m=l?16:g>>>4&15;g=h>>(12-(f<<2)&12);a[j>>0]=(g&8|0)==0?k:m;a[j+1>>0]=(g&4|0)==0?k:m;a[j+2>>0]=(g&2|0)==0?k:m;a[j+3>>0]=(g&1|0)==0?k:m;m=(e|0)<(d|0);k=m?d:e;g=m?e:d;d=c[b+28>>2]|0;e=(g|0)<(d|0)?d:g;g=c[b+32>>2]|0;d=(k|0)<(g|0)?k:g+-1|0;g=(c[(c[b+16>>2]|0)+(f<<2)>>2]|0)+e|0;f=(e|0)>(d|0);if(!l){if(f){Ca=i;return}l=g;b=e;while(1){a[l>>0]=a[j+(b&3)>>0]|0;if((b|0)<(d|0)){l=l+1|0;b=b+1|0}else break}Ca=i;return}if(f){Ca=i;return}f=g;g=e;while(1){e=a[j+(g&3)>>0]|0;if(e<<24>>24!=16)a[f>>0]=e;if((g|0)<(d|0)){f=f+1|0;g=g+1|0}else break}Ca=i;return}function Ti(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=Ca;Ca=Ca+128|0;j=i+64|0;k=i;l=k;m=1504;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if((h|0)==1){l=j;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));if(!((e|0)>(g|0)|(d|0)>(f|0))){l=c[b+16>>2]|0;n=e;while(1){h=c[l+(n<<2)>>2]|0;m=d;while(1){o=j+(c[1568+((a[h+m>>0]&15)<<2)>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;if((m|0)<(f|0))m=m+1|0;else break}if((n|0)<(g|0))n=n+1|0;else break}}n=(z(1-d+f<<1,1-e+g|0)|0)/3|0;l=(c[j+4>>2]|0)+(c[j>>2]|0)-n|0;m=(l|0)<0?0-l|0:l;l=(c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))-n|0;h=(l|0)<0?0-l|0:l;l=(h|0)<(m|0);o=l?h:m;m=(c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))-n|0;h=(m|0)<0?0-m|0:m;m=(h|0)<(o|0);p=m?h:o;o=(c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))-n|0;h=(o|0)<0?0-o|0:o;o=(h|0)<(p|0);q=o?h:p;p=(c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))-n|0;h=(p|0)<0?0-p|0:p;p=(h|0)<(q|0);r=p?h:q;q=(c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))-n|0;h=(q|0)<0?0-q|0:q;q=(h|0)<(r|0);s=q?h:r;r=(c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))-n|0;h=(r|0)<0?0-r|0:r;r=(h|0)<(s|0);t=r?h:s;s=(c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))-n|0;h=(s|0)<0?0-s|0:s;s=(h|0)<(t|0);u=s?h:t;t=(c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))-n|0;h=(t|0)<0?0-t|0:t;t=(h|0)<(u|0);v=t?h:u;u=(c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))-n|0;h=(u|0)<0?0-u|0:u;u=(h|0)<(v|0);w=u?h:v;v=(c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))-n|0;h=(v|0)<0?0-v|0:v;v=(h|0)<(w|0);x=v?12:u?11:t?10:s?9:r?8:q?7:p?6:o?5:m?4:l?3:2;l=v?h:w;w=(c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))-n|0;h=(w|0)<0?0-w|0:w;w=(x|0)==-1|(h|0)<(l|0);v=w?13:x;x=w?h:l;l=(c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))))-n|0;h=(l|0)<0?0-l|0:l;l=(v|0)==-1|(h|0)<(x|0);w=l?14:v;v=(c[j+56>>2]|0)+((c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))))-n|0;n=((w|0)==-1?1:(((v|0)<0?0-v|0:v)|0)<((l?h:x)|0))?15:w;if(!(xl(225)|0)){c[k>>2]=(n|0)<1&1;c[k+4>>2]=(n|0)<2&1;c[k+8>>2]=(n|0)<4&1;c[k+12>>2]=(n|0)<6&1;c[k+16>>2]=(n|0)<5&1;c[k+20>>2]=(n|0)<3&1;c[k+24>>2]=(n|0)<12&1;c[k+28>>2]=(n|0)<16&1;c[k+32>>2]=(n|0)<8&1;c[k+36>>2]=(n|0)<13&1;c[k+40>>2]=(n|0)<14&1;c[k+44>>2]=(n|0)<10&1;c[k+48>>2]=(n|0)<9&1;c[k+52>>2]=(n|0)<7&1;c[k+56>>2]=(n|0)<11&1;c[k+60>>2]=(n|0)<15&1}}if((e|0)>(g|0)){Ca=i;return}n=b+16|0;if((d|0)>(f|0)){Ca=i;return}b=e;while(1){e=d;while(1){w=(c[(c[n>>2]|0)+(b<<2)>>2]|0)+e|0;a[w>>0]=c[k+((a[w>>0]&15)<<2)>>2];if((e|0)<(f|0))e=e+1|0;else break}if((b|0)<(g|0))b=b+1|0;else break}Ca=i;return}function Ui(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=c[1267505]|0;j=(g|0)<(e|0);k=j?d:f;l=j?e:g;m=j?g:e;e=j?f:d;d=k-e|0;f=((d|0)<0)<<31>>31;j=l-m|0;g=((j|0)<0)<<31>>31;n=(f|0)<0;o=Bs(0,0,d|0,f|0)|0;p=D()|0;q=n?o:d;o=n?p:f;p=(g|0)<0;n=Bs(0,0,j|0,g|0)|0;r=D()|0;s=p?n:j;n=p?r:g;r=(o|0)>(n|0)|(o|0)==(n|0)&q>>>0>s>>>0;n=r?q:s;s=(n|0)==0?1:n;n=Js(d|0,f|0,16)|0;f=((s|0)<0)<<31>>31;d=Es(n|0,D()|0,s|0,f|0)|0;n=D()|0;q=Js(j|0,g|0,16)|0;g=Es(q|0,D()|0,s|0,f|0)|0;f=D()|0;q=e<<16|32768;j=m<<16|32768;r=b+36|0;o=c[r>>2]|0;if((l|0)<(o|0)){t=0;return t|0}p=b+40|0;u=c[p>>2]|0;if((m|0)>=(u|0)){t=0;return t|0}v=b+28|0;w=c[v>>2]|0;x=(w|0)>(e|0);y=(w|0)>(k|0);if(x&y){t=0;return t|0}z=b+32|0;A=c[z>>2]|0;B=(e|0)<(A|0);C=(k|0)<(A|0);if(!(B|C)){t=0;return t|0}if((o|0)>(m|0)){E=o-m<<16;m=Js(E|0,((E|0)<0)<<31>>31|0,16)|0;E=Es(m|0,D()|0,g|0,f|0)|0;D()|0;m=E>>16;F=(m|0)>0?m:0}else F=0;if((l|0)<(u|0))G=0;else{m=(l-u<<16)+65536|0;u=Js(m|0,((m|0)<0)<<31>>31|0,16)|0;m=Es(u|0,D()|0,g|0,f|0)|0;D()|0;u=m>>16;G=(u|0)>0?u:0}if(x){x=w-e<<16;u=Js(x|0,((x|0)<0)<<31>>31|0,16)|0;x=Es(u|0,D()|0,d|0,n|0)|0;D()|0;u=x>>16;H=(F|0)>(u|0)?F:u}else H=F;if(B)I=H;else{B=(e-A<<16)+65536|0;e=Js(B|0,((B|0)<0)<<31>>31|0,16)|0;B=D()|0;F=Bs(0,0,d|0,n|0)|0;u=Es(e|0,B|0,F|0,D()|0)|0;D()|0;F=u>>16;I=(H|0)>(F|0)?H:F}if(y){y=w-k<<16;F=Js(y|0,((y|0)<0)<<31>>31|0,16)|0;y=D()|0;H=Bs(0,0,d|0,n|0)|0;u=Es(F|0,y|0,H|0,D()|0)|0;D()|0;H=u>>16;J=(G|0)>(H|0)?G:H}else J=G;if(C)K=J;else{C=(k-A<<16)+65536|0;A=Js(C|0,((C|0)<0)<<31>>31|0,16)|0;C=Es(A|0,D()|0,d|0,n|0)|0;D()|0;A=C>>16;K=(J|0)>(A|0)?J:A}A=I+-1|0;I=(A|0)>0?A:0;A=K+-1|0;K=Gs(d|0,n|0,I|0,0)|0;J=As(K|0,D()|0,q|0,((q|0)<0)<<31>>31|0)|0;q=D()|0;K=Gs(g|0,f|0,I|0,0)|0;C=As(K|0,D()|0,j|0,((j|0)<0)<<31>>31|0)|0;j=D()|0;K=s-I-((A|0)>0?A:0)|0;A=(K|0)>0?K:0;if((K|0)<=-1){t=A;return t|0}I=b+16|0;if(!(i&65536)){b=K;s=J;k=q;G=C;H=j;u=w;while(1){y=Is(s|0,k|0,16)|0;D()|0;F=Is(G|0,H|0,16)|0;B=D()|0;if((((u|0)<=(y|0)?(c[z>>2]|0)>(y|0):0)?(c[r>>2]|0)<=(F|0):0)?(c[p>>2]|0)>(F|0):0){e=Js(F|0,B|0,2)|0;D()|0;a[(c[(c[I>>2]|0)+(F<<2)>>2]|0)+y>>0]=h>>(i>>(e&12^12)>>>(y&3^3)<<2&4)}if((b|0)<=0){t=A;break}y=As(G|0,H|0,g|0,f|0)|0;e=D()|0;F=As(s|0,k|0,d|0,n|0)|0;B=D()|0;b=b+-1|0;s=F;k=B;G=y;H=e;u=c[v>>2]|0}return t|0}u=h&255;h=K;K=J;J=q;q=C;C=j;j=w;while(1){w=Is(K|0,J|0,16)|0;D()|0;H=Is(q|0,C|0,16)|0;G=D()|0;if(((((j|0)<=(w|0)?(c[z>>2]|0)>(w|0):0)?(c[r>>2]|0)<=(H|0):0)?(c[p>>2]|0)>(H|0):0)?(k=Js(H|0,G|0,2)|0,D()|0,(i>>(k&12^12)&1<<(w&3^3)|0)==0):0)a[(c[(c[I>>2]|0)+(H<<2)>>2]|0)+w>>0]=u;if((h|0)<=0){t=A;break}w=As(q|0,C|0,g|0,f|0)|0;H=D()|0;k=As(K|0,J|0,d|0,n|0)|0;G=D()|0;h=h+-1|0;K=k;J=G;q=w;C=H;j=c[v>>2]|0}return t|0}function Vi(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;a=(b|0)!=0;if(!e){if(!a){f=0;return f|0}g=b+-4|0;h=c[g>>2]|0;Hn(g);c[1267508]=(c[1267508]|0)-h;f=0;return f|0}h=c[1267508]|0;if((h-(c[1276589]|0)|0)>2097152){c[1276664]=1;Gf(c[1052292]|0);g=c[1267508]|0;if((g-(c[1276589]|0)|0)>134217728){c[1276665]=1;f=0;return f|0}else i=g}else i=h;if(a){h=b+-4|0;g=c[h>>2]|0;c[1267508]=i-g;i=Gn(h,e+4|0)|0;j=(g|0)==0?0:e;k=i}else{j=0;k=Gn(0,e+4|0)|0}i=(b|0)==0;b=i&(d|0)==0&(c[1276587]|0)!=0?0:i&(d+-7|0)>>>0<13?32:a?j:(d|0)!=2&(i&d>>>0<7)?e:0;c[1267508]=b+(c[1267508]|0);c[k>>2]=b;f=k+4|0;return f|0}function Wi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if(e>>>0>32767){tb(49738);return}g=f&255;h=g>>>0>127?f|-256:g;i=(b|0)==0;if(!i)a[b+147052+e>>0]=f;if((e|0)<4096){b=d+4|0;j=e>>>6;k=e<<1&126;a[(c[(c[(c[b>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+k>>0]=f&15;a[(c[(c[(c[b>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+(k|1)>>0]=f>>>4&15;return}if((e|0)<8192){k=d+4|0;j=e>>>6;b=e<<1&126;a[(c[(c[(c[k>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[k>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(e>>>7<<2)>>2]|0)+(e&127)>>0]=f;return}if((e|0)<12288){b=e+-8192|0;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(b>>7<<2)>>2]|0)+(b&127)>>0]=f;return}if((e|0)<12544){c[d+43292+(e+-12288<<2)>>2]=g;return}if((e|0)<12800){b=e+-12544|0;j=(b|0)/4|0;k=b&3;c[d+41996+(j<<4)+(k<<2)>>2]=f&127;b=1<>2]|0;c[k>>2]=j&~b;if(!(f&128))return;c[k>>2]=j|b;return}if((e|0)<17152){b=e+-12800|0;j=(b|0)/68|0;k=b-(j*68|0)|0;if((k|0)<64){b=(k|0)/2|0;if(!(k&1)){c[d+12+(j*656|0)+16+(b*20|0)>>2]=f&63;l=d+12+(j*656|0)+16+(b*20|0)+4|0;c[l>>2]=c[l>>2]&4|f>>>6&3;return}else{l=d+12+(j*656|0)+16+(b*20|0)+4|0;c[l>>2]=c[l>>2]&3|f<<2&4;c[d+12+(j*656|0)+16+(b*20|0)+8>>2]=f>>>1&7;c[d+12+(j*656|0)+16+(b*20|0)+12>>2]=f>>>4&7;c[d+12+(j*656|0)+16+(b*20|0)+16>>2]=f&128;return}}switch(k|0){case 64:{c[d+12+(j*656|0)>>2]=g;return}case 65:{c[d+12+(j*656|0)+4>>2]=g;return}case 66:{c[d+12+(j*656|0)+8>>2]=g;return}case 67:{c[d+12+(j*656|0)+12>>2]=g;return}default:return}}if(i|(e|0)<24064)return;if((e|0)<24320){if(c[1231649]|0)return;i=e+-24064|0;j=i<<3&24;d=5065192+(((i|0)/4|0)<<2)|0;c[d>>2]=c[d>>2]&~(255<=24448)if((e|0)<24576){uk(e+-24448|0,g);return}else{j=e+-24576|0;d=j>>6;i=j<<1&126;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(d<<2)>>2]|0)+i>>0]=f&15;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(d<<2)>>2]|0)+(i|1)>>0]=f>>>4&15;return}if((e|0)<24336){c[5069836+(e+-24320<<2)>>2]=g;return}if((e|0)<24352){c[5069900+(e+-24336<<2)>>2]=g;return}if((e|0)<24356){c[5069964+(e+-24352<<2)>>2]=g;_k(c[1231641]|0,c[1267491]|0,c[1267492]|0,c[1267493]|0,c[1267494]|0);return}do switch(e|0){case 24357:{c[1267495]=g;return}case 24358:{c[1267496]=g;return}case 24359:{c[1267497]=g;return}case 24360:{c[1267500]=c[1267500]&-256|h;return}case 24361:{c[1267500]=c[1267500]&255|h<<8;return}case 24362:{c[1267501]=c[1267501]&-256|h;return}case 24363:{c[1267501]=c[1267501]&255|h<<8;return}case 24364:{c[1267503]=g;return}case 24369:{c[1267505]=c[1267505]&-256|g;return}case 24370:{c[1267505]=c[1267505]&-65536|g<<8;return}case 24371:{c[1267505]=c[1267505]&-65537|g<<16;return}case 24380:{c[1267506]=c[1267506]&-256|h;return}case 24381:{c[1267506]=c[1267506]&255|h<<8;return}case 24382:{c[1267507]=c[1267507]&-256|h;return}case 24383:{c[1267507]=c[1267507]&255|h<<8;return}case 24384:{c[1267779]=f&15;return}case 24385:{c[1267780]=f&15;return}case 24386:{c[1267781]=f&15;return}case 24387:{c[1267782]=f&15;return}default:return}while(0)}function Xi(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;if(f>>>0>32767){g=0;return g|0}h=(b|0)==0;if(h)i=0;else i=d[b+147052+f>>0]|0;a:do if((f|0)>=8192){if((f|0)<12288){b=f+-8192|0;j=d[(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(b>>7<<2)>>2]|0)+(b&127)>>0]|0;break}if((f|0)<12544){j=c[e+43292+(f+-12288<<2)>>2]|0;break}if((f|0)<12800){b=f+-12544|0;k=(b|0)/4|0;l=b&3;b=c[e+41996+(k<<4)+(l<<2)>>2]&127;j=(c[e+43020+(k<<2)>>2]&1<>2]<<6&192|c[e+12+(l*656|0)+16+(b*20|0)>>2];break}else{j=c[e+12+(l*656|0)+16+(b*20|0)+8>>2]<<1&14|(c[e+12+(l*656|0)+16+(b*20|0)+4>>2]|0)>>>2&1|c[e+12+(l*656|0)+16+(b*20|0)+12>>2]<<4&112|c[e+12+(l*656|0)+16+(b*20|0)+16>>2]&128;break}}switch(k|0){case 64:{j=c[e+12+(l*656|0)>>2]|0;break a;break}case 65:{j=c[e+12+(l*656|0)+4>>2]|0;break a;break}case 66:{j=c[e+12+(l*656|0)+8>>2]|0;break a;break}case 67:{j=c[e+12+(l*656|0)+12>>2]|0;break a;break}default:{j=i;break a}}}if(h){g=0;return g|0}if((f|0)<24064)j=i;else{if((f|0)<24320){l=f+-24064|0;j=(c[5065192+(((l|0)/4|0)<<2)>>2]|0)>>>(l<<3&24)&255;break}if((f|0)>=24448)if((f|0)<24576){j=vk(f+-24448|0)|0;break}else{l=f+-24576|0;k=c[(c[(c[1231641]|0)+16>>2]|0)+(l>>6<<2)>>2]|0;b=l<<1&126;j=(a[k+(b|1)>>0]<<4&255|a[k+b>>0]&15)&255;break}b:do if((f|0)<24336)m=c[5069836+(f+-24320<<2)>>2]|0;else{if((f|0)<24352){m=c[5069900+(f+-24336<<2)>>2]|0;break}if((f|0)<24356){m=c[5069964+(f+-24352<<2)>>2]|0;break}do switch(f|0){case 24357:{m=c[1267495]|0;break b;break}case 24358:{m=c[1267496]|0;break b;break}case 24359:{m=c[1267497]|0;break b;break}case 24360:{m=c[1267500]&255;break b;break}case 24361:{m=c[1267500]>>8;break b;break}case 24362:{m=c[1267501]&255;break b;break}case 24363:{m=c[1267501]>>8;break b;break}case 24364:{m=c[1267503]|0;break b;break}case 24369:{m=c[1267505]&255;break b;break}case 24370:{m=(c[1267505]|0)>>>8&255;break b;break}case 24371:{m=(c[1267505]|0)>>>16&255;break b;break}case 24380:{m=c[1267506]&255;break b;break}case 24381:{m=c[1267506]>>8;break b;break}case 24382:{m=c[1267507]&255;break b;break}case 24383:{m=c[1267507]>>8;break b;break}default:{m=i;break b}}while(0)}while(0);j=m&255}}else{b=c[(c[(c[e+4>>2]|0)+16>>2]|0)+(f>>>6<<2)>>2]|0;k=f<<1&126;j=((d[b+(k|1)>>0]|0)<<4)+(d[b+k>>0]|0)|0}while(0);g=j&255;return g|0}function Yi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)>32767)return;f=(e|0)>0;if((c|0)<(d|0)){if(!f)return;g=0;do{Wi(a,b,g+c|0,Xi(a,b,g+d|0)|0);g=g+1|0}while((g|0)!=(e|0));return}else{if(!f)return;f=e;do{e=f;f=f+-1|0;Wi(a,b,f+c|0,Xi(a,b,f+d|0)|0)}while((e|0)>1);return}}function Zi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((e+-1|0)>>>0>=32767)return;f=0;do{Wi(a,b,f+c|0,d);f=f+1|0}while((f|0)<(e|0));return}function _i(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((g|0)>32767)return;if((g|0)>0){h=0;do{Wi(b,d,h+e|0,Xi(0,c[15088]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}if(!(a[5068524]|0))return;a[5068524]=0;c[1267393]=30;return}function $i(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;d=Ca;Ca=Ca+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;a:do if(b>>>0>7)h=0;else{Zo(b-(c[943615]|0)|0,e,f,g);if((a|0)>=4)switch(a|0){case 4:{h=(c[g>>2]&9|0)==0?0:255;break a;break}case 5:{h=(c[g>>2]&6|0)==0?0:255;break a;break}case 6:{h=(c[g>>2]&64|0)==0?0:255;break a;break}default:{h=0;break a}}i=c[e>>2]|0;j=z((i|0)/2|0,i)|0;k=c[f>>2]|0;b:do if(((z((k|0)/2|0,k)|0)+j|0)>134217728)switch(a|0){case 0:{l=i<<8;m=0-l|0;if((32767-l|0)>>>0>8388606){h=(m|0)<-32767?0:255;break a}h=(m|0)/32768|0;break a;break}case 1:{if((i+127|0)>>>0>32766){h=(i|0)<-127?0:255;break a}h=(i|0)/128|0;break a;break}case 2:{m=k<<8;l=0-m|0;if((32767-m|0)>>>0>8388606){h=(l|0)<-32767?0:255;break a}h=(l|0)/32768|0;break a;break}case 3:{if((k+127|0)>>>0>32766){h=(k|0)<-127?0:255;break a}h=(k|0)/128|0;break a;break}default:break b}else switch(a|0){case 0:{if(!(c[g>>2]&8192))break b;else{h=255;break a}break}case 1:{if(!(c[g>>2]&16384))break b;else{h=255;break a}break}case 2:{if(!(c[g>>2]&2048))break b;else{h=255;break a}break}case 3:{if(!(c[g>>2]&4096))break b;else{h=255;break a}break}default:break b}while(0);h=0}while(0);Ca=d;return h|0}function aj(a){a=a|0;return ((c[943620]|0)==(a|0)|(c[943621]|0)==(a|0)|(c[943622]|0)==(a|0)|(c[943623]|0)==(a|0)|(c[943624]|0)==(a|0)|(c[943625]|0)==(a|0))&1|0}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:do switch(b|0){case 0:{switch(a|0){case 0:{d=c[943620]|0;e=0;f=0;g=(d|0)==0?80:d;h=9;break}case 1:{d=c[943621]|0;e=0;f=0;g=(d|0)==0?79:d;h=9;break}case 2:{d=c[943622]|0;e=0;f=0;g=(d|0)==0?82:d;h=9;break}case 3:{d=c[943623]|0;e=0;f=0;g=(d|0)==0?81:d;h=9;break}case 4:{d=c[943624]|0;e=0;f=1;g=(d|0)==0?29:d;h=9;break}case 5:{d=c[943625]|0;e=1;f=0;g=(d|0)==0?27:d;h=9;break}default:{i=0;j=0;k=0}}if((h|0)==9){i=xl(g)|0;j=e;k=f}if(!(xl(-5)|0)){if(k){d=c[943624]|0;l=xl((d|0)==0?6:d)|0|i}else l=i;if(j){d=c[943625]|0;m=xl((d|0)==0?25:d)|0|l}else m=l}else m=i;if(k){d=c[943624]|0;n=xl((d|0)==0?17:d)|0|m}else n=m;if(j&(xl(-5)|0)==0){d=c[943625]|0;o=xl((d|0)==0?16:d)|0|n}else o=n;d=(a|0)==6;if(d){p=c[943632]|0;q=xl((p|0)==0?19:p)|0|o;p=c[943632]|0;r=q|(xl((p|0)==0?40:p)|0)}else r=o;if(d&((c[1276925]|0)==2&(((c[1267387]|0)!=1|(c[1267391]|0)==0|(c[944502]|0)!=0)^1))){d=c[943632]|0;s=xl((d|0)==0?41:d)|0|r}else s=r;break}case 1:{switch(a|0){case 0:{d=c[943626]|0;if(!d){s=xl(22)|0;break a}else{s=xl(d)|0;break a}break}case 1:{d=c[943627]|0;if(!d){s=xl(9)|0;break a}else{s=xl(d)|0;break a}break}case 2:{d=c[943628]|0;if(!d){s=xl(8)|0;break a}else{s=xl(d)|0;break a}break}case 3:{d=c[943629]|0;if(!d){s=xl(7)|0;break a}else{s=xl(d)|0;break a}break}case 4:{d=c[943630]|0;p=xl((d|0)==0?225:d)|0;d=c[943630]|0;q=xl((d|0)==0?43:d)|0|p;p=c[943630]|0;s=q|(xl((p|0)==0?26:p)|0);break a;break}case 5:{p=c[943631]|0;q=xl((p|0)==0?4:p)|0;p=c[943631]|0;s=xl((p|0)==0?20:p)|0|q;break a;break}default:{s=0;break a}}break}default:s=0}while(0);r=c[5071068+(b<<2)>>2]|0;if((r|0)==-1)return s|0;else return s|(r&1<0){c[1267509]=Am(2)|0;c[1267510]=Am(2)|0;c[1267511]=Am(2)|0;c[1267512]=Am(2)|0;c[1267513]=Am(2)|0;c[1267514]=Am(2)|0;c[1267517]=Am(2)|0;c[1267518]=Am(2)|0;c[1267519]=Am(2)|0;c[1267520]=Am(2)|0;c[1267521]=Am(2)|0;c[1267522]=Am(2)|0;c[1267525]=Am(2)|0;c[1267526]=Am(2)|0;c[1267527]=Am(2)|0;c[1267528]=Am(2)|0;c[1267529]=Am(2)|0;c[1267530]=Am(2)|0;c[1267533]=Am(2)|0;c[1267534]=Am(2)|0;c[1267535]=Am(2)|0;c[1267536]=Am(2)|0;c[1267537]=Am(2)|0;c[1267538]=Am(2)|0;c[1267541]=Am(2)|0;c[1267542]=Am(2)|0;c[1267543]=Am(2)|0;c[1267544]=Am(2)|0;c[1267545]=Am(2)|0;c[1267546]=Am(2)|0;c[1267549]=Am(2)|0;c[1267550]=Am(2)|0;c[1267551]=Am(2)|0;c[1267552]=Am(2)|0;c[1267553]=Am(2)|0;c[1267554]=Am(2)|0;c[1267557]=Am(2)|0;c[1267558]=Am(2)|0;c[1267559]=Am(2)|0;c[1267560]=Am(2)|0;c[1267561]=Am(2)|0;c[1267562]=Am(2)|0;c[1267565]=Am(2)|0;c[1267566]=Am(2)|0;c[1267567]=Am(2)|0;c[1267568]=Am(2)|0;c[1267569]=Am(2)|0;c[1267570]=Am(2)|0;return}a=0;do{b=0;do{if((bj(b,a)|0)==0?($i(b,a)|0)<=128:0)c[5070548+(a<<5)+(b<<2)>>2]=0;else d=7;if(((d|0)==7?(d=0,(c[5070548+(a<<5)+(b<<2)>>2]|0)==0):0)?(c[5070036+(a<<5)+(b<<2)>>2]=1,(c[5070292+(a<<5)+(b<<2)>>2]|0)==0):0)c[1267775]=(c[944502]|c[1052784]|0)==0?(((c[1276653]|0)*15|0)/30|0)+1|0:16;b=b+1|0}while((b|0)!=8);a=a+1|0}while((a|0)!=8);c[1267765]=c[1052780];c[1267766]=c[1052781];c[1052780]=0;c[1052781]=0;return}function ej(){var a=0,b=0,d=0,e=0;a=0;do{b=5070804+(a<<5)|0;c[b>>2]=0;d=c[5070036+(a<<5)>>2]|0;e=5070292+(a<<5)|0;if((d|0?(c[e>>2]|0)==0|(c[1267775]|0)==1:0)?(c[5070548+(a<<5)>>2]|0)==0:0)c[b>>2]=1;c[e>>2]=d;d=5070804+(a<<5)+4|0;c[d>>2]=0;e=c[5070036+(a<<5)+4>>2]|0;b=5070292+(a<<5)+4|0;if((e|0?(c[b>>2]|0)==0|(c[1267775]|0)==1:0)?(c[5070548+(a<<5)+4>>2]|0)==0:0)c[d>>2]=1;c[b>>2]=e;e=5070804+(a<<5)+8|0;c[e>>2]=0;b=c[5070036+(a<<5)+8>>2]|0;d=5070292+(a<<5)+8|0;if((b|0?(c[d>>2]|0)==0|(c[1267775]|0)==1:0)?(c[5070548+(a<<5)+8>>2]|0)==0:0)c[e>>2]=1;c[d>>2]=b;b=5070804+(a<<5)+12|0;c[b>>2]=0;d=c[5070036+(a<<5)+12>>2]|0;e=5070292+(a<<5)+12|0;if((d|0?(c[e>>2]|0)==0|(c[1267775]|0)==1:0)?(c[5070548+(a<<5)+12>>2]|0)==0:0)c[b>>2]=1;c[e>>2]=d;d=5070804+(a<<5)+16|0;c[d>>2]=0;e=c[5070036+(a<<5)+16>>2]|0;b=5070292+(a<<5)+16|0;if((e|0?(c[b>>2]|0)==0|(c[1267775]|0)==1:0)?(c[5070548+(a<<5)+16>>2]|0)==0:0)c[d>>2]=1;c[b>>2]=e;e=5070804+(a<<5)+20|0;c[e>>2]=0;b=c[5070036+(a<<5)+20>>2]|0;d=5070292+(a<<5)+20|0;if((b|0?(c[d>>2]|0)==0|(c[1267775]|0)==1:0)?(c[5070548+(a<<5)+20>>2]|0)==0:0)c[e>>2]=1;c[d>>2]=b;b=5070804+(a<<5)+24|0;c[b>>2]=0;d=c[5070036+(a<<5)+24>>2]|0;e=5070292+(a<<5)+24|0;if((d|0?(c[e>>2]|0)==0|(c[1267775]|0)==1:0)?(c[5070548+(a<<5)+24>>2]|0)==0:0)c[b>>2]=1;c[e>>2]=d;d=5070804+(a<<5)+28|0;c[d>>2]=0;e=c[5070036+(a<<5)+28>>2]|0;b=5070292+(a<<5)+28|0;if((e|0?(c[b>>2]|0)==0|(c[1267775]|0)==1:0)?(c[5070548+(a<<5)+28>>2]|0)==0:0)c[d>>2]=1;c[b>>2]=e;a=a+1|0}while((a|0)!=8);a=c[1267775]|0;if((a|0)<=0)return;e=a+-1|0;c[1267775]=e;if(e|0)return;c[1267775]=(c[944502]|c[1052784]|0)==0?(c[1276653]<<2|0)/30|0:4;return}function fj(a,b){a=a|0;b=b|0;if((b|a)>>>0<8)return (((c[1267775]|0)!=1?(c[5070292+(b<<5)+(a<<2)>>2]|0)!=0:0)?0:c[5070036+(b<<5)+(a<<2)>>2]|0)|0;else return 0;return 0}function gj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=Ca;Ca=Ca+48|0;f=e+32|0;g=e+8|0;h=e;i=En(131072)|0;j=En(131072)|0;k=En(131072)|0;l=En(131072)|0;m=En(131072)|0;a[d>>0]=0;if(!(a[b>>0]|0)){Hn(i);Hn(j);Hn(k);Hn(l);Hn(m);Ca=e;return}n=j+1|0;o=k;p=b;b=1;q=1;while(1){a[i>>0]=0;a[j>>0]=0;a[k>>0]=0;Ps(l|0,0,131072)|0;r=0;s=0;t=0;u=0;v=p;w=b;while(1){if(u>>>0>=16384){x=s;y=t;z=v;A=w;break}u=u+1|0;if(!w)B=rg(v)|0;else B=sg(v)|0;C=tg()|0;if((C|0)<-998|(C|0)==-995)if(v>>>0>>0){D=v;E=s;while(1){F=E+((a[D>>0]|0)==10&1)|0;D=D+1|0;if((D|0)==(B|0)){G=r;H=F;break}else E=F}}else{G=r;H=s}else{E=B-v|0;Os(k+r|0,v|0,E|0)|0;D=E+r|0;a[k+D>>0]=0;if((C|0)==-996&(E|0)>0){E=r+1|0;Ps(l+r|0,1,((D|0)>(E|0)?D:E)-r|0)|0;G=D;H=s}else{G=D;H=s}}if(!((C|1|0)!=-999&(B|0)!=0)){x=H;y=C;z=B;A=0;break}else{r=G;s=H;t=C;v=B;w=0}}w=k;a:while(1){switch(a[w>>0]|0){case 63:{I=19;break a;break}case 9:case 32:break;default:{I=17;break a}}w=w+1|0}b:do if((I|0)==17){I=0;v=y;while(1){t=l;s=k;while(1){J=Xr(s,49766)|0;if(!J){K=0;break}r=J-s|0;u=r+2|0;if(!((a[t+(r+1)>>0]|a[t+r>>0])<<24>>24)){I=23;break}else{t=t+u|0;s=s+u|0}}if((I|0)==23){I=0;a[J>>0]=126;K=1}s=l;t=k;while(1){u=Xr(t,49769)|0;if(!u){I=26;break}r=u-t|0;D=r+2|0;if(!((a[s+(r+1)>>0]|a[s+r>>0])<<24>>24)){L=u;I=39;break}else{s=s+D|0;t=t+D|0}}c:do if((I|0)==26){I=0;t=l;s=k;while(1){D=Xr(s,49772)|0;if(!D)break;u=D-s|0;r=u+2|0;if(!((a[t+(u+1)>>0]|a[t+u>>0])<<24>>24)){L=D;I=39;break c}else{t=t+r|0;s=s+r|0}}s=l;t=k;while(1){r=Xr(t,49775)|0;if(!r)break;D=r-t|0;u=D+2|0;if(!((a[s+(D+1)>>0]|a[s+D>>0])<<24>>24)){L=r;I=39;break c}else{s=s+u|0;t=t+u|0}}t=l;s=k;while(1){u=Xr(s,49778)|0;if(!u)break;r=u-s|0;D=r+2|0;if(!((a[t+(r+1)>>0]|a[t+r>>0])<<24>>24)){L=u;I=39;break c}else{t=t+D|0;s=s+D|0}}s=l;t=k;while(1){D=Xr(t,49781)|0;if(!D){I=64;break c}u=D-t|0;r=u+2|0;if(!((a[s+(u+1)>>0]|a[s+u>>0])<<24>>24)){L=D;I=39;break}else{s=s+r|0;t=t+r|0}}}while(0);if((I|0)==39){I=0;if((L|0)!=0&L>>>0>k>>>0){a[m>>0]=0;t=L;while(1){M=t+-1|0;N=a[M>>0]|0;O=M>>>0>k>>>0;if(N<<24>>24==32&O)t=M;else break}d:do if(O){s=N<<24>>24==93&1;r=M;while(1){D=r+-1|0;u=a[D>>0]|0;e:do if((s|0)<=0?(E=u<<24>>24,!((E+-48|0)>>>0<10|((E&-33)+-65|0)>>>0<26)):0){switch(E|0){case 91:case 93:case 46:case 95:{break e;break}default:{}}if((((E+256|0)%256|0)+-128|0)>>>0>25){P=r;break d}}while(0);if(D>>>0>k>>>0){s=s+(u<<24>>24==93&1)+((u<<24>>24==91)<<31>>31)|0;r=D}else{P=D;break}}}else P=M;while(0);Kk(i,P)|0;a[i+(M+1-P)>>0]=0;r=a[L>>0]|0;a[t>>0]=0;s=L+2|0;sg(k)|0;E=rg(s)|0;F=tg()|0;f:do if((F|1|0)==-999)Q=F;else{R=0;S=0;T=s;U=F;V=E;g:while(1){h:do if((R|0)==1){switch(U|0){case 40:case 91:{W=S+1|0;break}default:W=S}switch(U|0){case 41:case 93:{X=W+-1|0;break}default:X=W}Y=(X|0)==0?2:1;Z=X}else switch(U|0){case 41:{I=58;break g;break}case 40:case 91:{Y=1;Z=1;break h;break}case 35:case 37:case 42:case 43:case 45:case 46:case 47:case 58:case 94:{Y=0;Z=S;break h;break}default:if((R|0)==2){_=T;$=U;break g}else{Y=2;Z=S;break h}}while(0);D=rg(V)|0;u=tg()|0;if((u|1|0)==-999){Q=u;break f}else{aa=V;R=Y;S=Z;U=u;V=D;T=aa}}if((I|0)==58){I=0;_=T+1|0;$=41}Kk(m,_)|0;a[_>>0]=0;Q=$}while(0);c[g>>2]=k;c[g+4>>2]=i;c[g+8>>2]=r<<24>>24;c[g+12>>2]=s;c[g+16>>2]=m;mq(j,49784,g)|0;Kk(k,j)|0;ba=Q;ca=1}else I=64}if((I|0)==64){I=0;if(!K)break b;else{ba=v;ca=K}}Ps(l|0,0,(Yq(k)|0)+1|0)|0;E=sg(k)|0;if((ba|1|0)!=-999&(E|0)!=0){F=0;t=E;do{E=tg()|0;V=t;U=F;F=V-o|0;if((E|0)==-996&(U|0)<(F|0))Ps(l+U|0,1,V-o-U|0)|0;t=rg(t)|0}while((E|1|0)!=-999&(t|0)!=0);da=E}else da=ba;if(!ca)break;else v=da}}else if((I|0)==19){I=0;Kk(j,w)|0;c[h>>2]=n;mq(k,49756,h)|0}while(0);w=l;v=k;while(1){C=Xr(v,49803)|0;if(!C){I=73;break}t=C-v|0;F=t+3|0;if(!((a[w+(t+2)>>0]|(a[w+(t+1)>>0]|a[w+t>>0]))<<24>>24)){ea=C;I=77;break}else{w=w+F|0;v=v+F|0}}i:do if((I|0)==73){I=0;v=l;w=k;while(1){F=Xr(w,49807)|0;if(!F)break i;C=F-w|0;t=C+3|0;if(!((a[v+(C+2)>>0]|(a[v+(C+1)>>0]|a[v+C>>0]))<<24>>24)){ea=F;I=77;break}else{v=v+t|0;w=w+t|0}}}while(0);j:do if((I|0)==77){I=0;w=l;v=k;while(1){t=Xr(v,49811)|0;if(!t)break;F=t-v|0;t=F+4|0;if(!((a[w+(F+3)>>0]|(a[w+(F+2)>>0]|(a[w+(F+1)>>0]|a[w+F>>0])))<<24>>24))break j;else{w=w+t|0;v=v+t|0}}if((ea|0)!=(k|0))switch(a[ea+-1>>0]|0){case 9:case 32:break;default:break j}v=ea+2|0;k:while(1){switch(a[v>>0]|0){case 40:{break k;break}case 32:case 9:break;default:break j}v=v+1|0}w=v+1|0;t=a[w>>0]|0;if(t<<24>>24){F=w;w=1;C=t;while(1){if(!((w|0)>0&C<<24>>24!=10)){fa=F;ga=w;ha=C;break}t=w+(C<<24>>24==40&1)+((C<<24>>24==41)<<31>>31)|0;s=F+1|0;C=a[s>>0]|0;if(!(C<<24>>24)){fa=s;ga=t;ha=0;break}else{F=s;w=t}}if(!ga){w=j+(fa-o)|0;F=fa;C=ha;l:while(1){switch(C<<24>>24){case 10:case 0:{break j;break}default:{}}if(((C&-33)+-65&255)<26)break;if(((((C<<24>>24)+256|0)%256|0)+-128|0)>>>0<26)break;switch(C<<24>>24){case 95:{break l;break}case 9:case 32:break;default:break j}v=F+1|0;F=v;C=a[v>>0]|0}rg(F)|0;if((tg()|0)!=-973?(tg()|0)!=-972:0){Kk(j,k)|0;a[w>>0]=0;c[f>>2]=j;c[f+4>>2]=fa;mq(i,49816,f)|0;Kk(k,i)|0}}}}while(0);gr(d,k)|0;if(x|0){C=x;do{C=C+-1|0;v=d+(Yq(d)|0)|0;a[v>>0]=10;a[v+1>>0]=0}while((C|0)!=0)}C=(a[z>>0]|0)!=0;if(q>>>0<65536&C){p=z;b=A;q=q+(C&1)|0}else break}Hn(i);Hn(j);Hn(k);Hn(l);Hn(m);Ca=e;return}function hj(a,b){a=a|0;b=b|0;var c=0;c=Gs(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Is(c|0,D()|0,16)|0;D()|0;return a|0}function ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){c=(a>>31&2)+2147483647|0;return c|0}else{d=Js(a|0,((a|0)<0)<<31>>31|0,16)|0;a=Es(d|0,D()|0,b|0,((b|0)<0)<<31>>31|0)|0;b=D()|0;d=(b|0)<0|(b|0)==0&a>>>0<2147483647;e=d?a:2147483647;a=d?b:0;b=(a|0)>-1|(a|0)==-1&e>>>0>2147483649;a=b?e:-2147483647;c=a;return c|0}return 0}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){c=a;return c|0}d=(b|0)<0?0-b|0:b;if((a|0)<0)e=d-((0-a|0)%(d|0)|0)|0;else e=a;c=(e|0)%(d|0)|0;return c|0}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){c=65536;return c|0}if((b|0)<0){d=0-b|0;e=tm(65536,a)|0}else{d=b;e=a}a=d&-65536;b=d-a|0;if((a|0)>65535){d=e;f=65536;g=a;while(1){if(!(g&65536))h=f;else h=um(f,d)|0;d=um(d,d)|0;if(g>>>0<=131071){i=h;break}else{f=h;g=g>>>1}}}else i=65536;if((b|0)>0){g=b;b=e;e=i;while(1){if((g|0)<65536){h=g;f=b;while(1){d=lj(f)|0;a=h<<1;if((h|0)<32768){h=a;f=d}else{j=a;k=d;break}}}else{j=g;k=b}f=um(e,k)|0;if((j|0)>65536){g=j+-65536|0;b=k;e=f}else{l=f;break}}}else l=i;hg(8);c=l;return c|0}function lj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a){b=0;return b|0}if((a|0)>2147024895){b=11862016;return b|0}if((a|0)<65536){c=Es(0,1,a|0,((a|0)<0)<<31>>31|0)|0;d=D()|0;e=(d|0)<0|(d|0)==0&c>>>0<2147483647;f=e?c:2147483647;c=e?d:0;d=(c|0)>-1|(c|0)==-1&f>>>0>2147483649;c=d?f:-2147483647;g=1;h=c}else{g=0;h=a}a=0;while(1){c=Gs(a|0,0,a|0,0)|0;f=Is(c|0,D()|0,16)|0;D()|0;if(a>>>0<11862016&(h|0)>=(f|0))a=a+65536|0;else break}f=a+-65536|0;a=((f|0)<0)<<31>>31;c=Gs(f|0,a|0,f|0,a|0)|0;a=Is(c|0,D()|0,16)|0;D()|0;c=h-a|0;if(!f)i=(c>>31&2)+2147483647|0;else{a=f<<1;h=Js(c|0,((c|0)<0)<<31>>31|0,16)|0;c=Es(h|0,D()|0,a|0,((a|0)<0)<<31>>31|0)|0;a=D()|0;h=(a|0)<0|(a|0)==0&c>>>0<2147483647;d=h?c:2147483647;c=h?a:0;a=(c|0)>-1|(c|0)==-1&d>>>0>2147483649;c=a?d:-2147483647;i=c}c=i+f|0;f=((i|0)<0)<<31>>31;d=Gs(i|0,f|0,i|0,f|0)|0;f=Is(d|0,D()|0,16)|0;D()|0;if(!c)j=(f>>31&2)+2147483647|0;else{d=c<<1;i=Js(f|0,((f|0)<0)<<31>>31|0,16)|0;f=Es(i|0,D()|0,d|0,((d|0)<0)<<31>>31|0)|0;d=D()|0;i=(d|0)<0|(d|0)==0&f>>>0<2147483647;a=i?f:2147483647;f=i?d:0;d=(f|0)>-1|(f|0)==-1&a>>>0>2147483649;f=d?a:-2147483647;j=f}f=c-j|0;if(g)if(!f)k=2147483647;else{g=Es(0,1,f|0,((f|0)<0)<<31>>31|0)|0;j=D()|0;c=(j|0)<0|(j|0)==0&g>>>0<2147483647;a=c?g:2147483647;g=c?j:0;j=(g|0)>-1|(g|0)==-1&a>>>0>2147483649;g=j?a:-2147483647;k=g}else k=f;hg(8);b=k;return b|0}function mj(a,b){a=a|0;b=b|0;return Dm(a,b)|0}function nj(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8390]=b;c[8389]=b^-1095947846;b=0;do{c[8389]=(c[8389]|0)>>>16|c[8389]<<16;c[8389]=(c[8389]|0)+(c[8390]|0);c[8390]=(c[8390]|0)+(c[8389]|0);b=b+1|0}while((b|0)!=32);return}function oj(a){a=a|0;var b=0;if(!a){b=0;return b|0}c[8389]=(c[8389]|0)>>>16|c[8389]<<16;c[8389]=(c[8389]|0)+(c[8390]|0);c[8390]=(c[8390]|0)+(c[8389]|0);b=((c[8389]|0)>>>0)%(a>>>0)|0;return b|0}function pj(a,b){a=a|0;b=b|0;var c=0;c=b&31;return (1<>>(0-b&31)|a<>2]=al(a,b,8)|0;c[d+12>>2]=al(a,b,8)|0;c[d+4>>2]=al(a,b,8)|0;c[d+8>>2]=al(a,b,8)|0;return d|0}function rj(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;Ps(3428752,-1,32768)|0;Ps(3426704,0,256)|0;c[3426704+(a[49833]<<2)>>2]=1;c[3426704+(a[49834]<<2)>>2]=2;c[3426704+(a[49835]<<2)>>2]=3;c[3426704+(a[49836]<<2)>>2]=4;c[3426704+(a[49837]<<2)>>2]=5;c[3426704+(a[49838]<<2)>>2]=6;c[3426704+(a[49839]<<2)>>2]=7;c[3426704+(a[49840]<<2)>>2]=8;c[3426704+(a[49841]<<2)>>2]=9;c[3426704+(a[49842]<<2)>>2]=10;c[3426704+(a[49843]<<2)>>2]=11;c[3426704+(a[49844]<<2)>>2]=12;c[3426704+(a[49845]<<2)>>2]=13;c[3426704+(a[49846]<<2)>>2]=14;c[3426704+(a[49847]<<2)>>2]=15;c[3426704+(a[49848]<<2)>>2]=16;c[3426704+(a[49849]<<2)>>2]=17;c[3426704+(a[49850]<<2)>>2]=18;c[3426704+(a[49851]<<2)>>2]=19;c[3426704+(a[49852]<<2)>>2]=20;c[3426704+(a[49853]<<2)>>2]=21;c[3426704+(a[49854]<<2)>>2]=22;c[3426704+(a[49855]<<2)>>2]=23;c[3426704+(a[49856]<<2)>>2]=24;c[3426704+(a[49857]<<2)>>2]=25;c[3426704+(a[49858]<<2)>>2]=26;c[3426704+(a[49859]<<2)>>2]=27;c[3426704+(a[49860]<<2)>>2]=28;c[3426704+(a[49861]<<2)>>2]=29;c[3426704+(a[49862]<<2)>>2]=30;c[3426704+(a[49863]<<2)>>2]=31;c[3426704+(a[49864]<<2)>>2]=32;c[3426704+(a[49865]<<2)>>2]=33;c[3426704+(a[49866]<<2)>>2]=34;c[3426704+(a[49867]<<2)>>2]=35;c[3426704+(a[49868]<<2)>>2]=36;c[3426704+(a[49869]<<2)>>2]=37;c[3426704+(a[49870]<<2)>>2]=38;c[3426704+(a[49871]<<2)>>2]=39;c[3426704+(a[49872]<<2)>>2]=40;c[3426704+(a[49873]<<2)>>2]=41;c[3426704+(a[49874]<<2)>>2]=42;c[3426704+(a[49875]<<2)>>2]=43;c[3426704+(a[49876]<<2)>>2]=44;c[3426704+(a[49877]<<2)>>2]=45;c[3426704+(a[49878]<<2)>>2]=46;c[3426704+(a[49879]<<2)>>2]=47;c[3426704+(a[49880]<<2)>>2]=48;c[3426704+(a[49881]<<2)>>2]=49;c[3426704+(a[49882]<<2)>>2]=50;c[3426704+(a[49883]<<2)>>2]=51;c[3426704+(a[49884]<<2)>>2]=52;c[3426704+(a[49885]<<2)>>2]=53;c[3426704+(a[49886]<<2)>>2]=54;c[3426704+(a[49887]<<2)>>2]=55;c[3426704+(a[49888]<<2)>>2]=56;c[3426704+(a[49889]<<2)>>2]=57;c[3426704+(a[49890]<<2)>>2]=58;c[3426704+(a[49891]<<2)>>2]=59;g=En((Yq(b)|0)+1024|0)|0;Kk(g,b)|0;a[e>>0]=58;a[e+1>>0]=99;a[e+2>>0]=58;a[e+3>>0]=0;a[e+4>>0]=(f|0)/256|0;a[e+5>>0]=f;a[e+6>>0]=0;a[e+7>>0]=0;b=e+8|0;c[1052301]=0;c[1052302]=0;Ps(3427728,0,1024)|0;if((f|0)>0){h=0;i=b;while(1){j=f-h|0;k=(j|0)<17?j:17;if(((k|0)>=3?(l=(h|0)<3120?h:3120,(l|0)>=3):0)?(m=h-l|0,l=a[g+h>>0]|0,n=c[3428752+((((d[g+(h+1)>>0]|0)*1503|0)+((l&255)*7|0)+((d[g+(h+2)>>0]|0)*51717|0)&8191)<<2)>>2]|0,(m|0)<=(n|0)&(j|0)>0):0){j=m;m=0;o=-1e5;while(1){if((a[g+j>>0]|0)==l<<24>>24){a:do if((h|0)>(j|0)){p=h-j|0;q=j;while(1){q=q+1|0;r=q-j|0;if(!((q|0)<(h|0)&(r|0)<(k|0))){s=r;break a}if((a[g+q>>0]|0)!=(a[g+(p+q)>>0]|0)){s=r;break}}}else s=0;while(0);q=(s|0)>(m|0);t=q?s:m;u=q?j:o}else{t=m;u=o}if((j|0)<(n|0)){j=j+1|0;m=t;o=u}else break}o=h-u|0;if((t|0)>2){m=(o|0)/16|0;a[i>>0]=m+60;a[i+1>>0]=(t<<4)+224+(o-(m<<4));m=i+2|0;o=t+h|0;c[1052301]=(c[1052301]|0)+1;if((t|0)>17){v=t;w=o;x=m;y=4209212;z=19}else{A=t;B=o;C=m}}else z=16}else z=16;if((z|0)==16){z=0;m=g+h|0;a[i>>0]=c[3426704+(d[m>>0]<<2)>>2];o=i+1|0;j=a[m>>0]|0;if(!(c[3426704+((j&255)<<2)>>2]|0)){a[o>>0]=j;D=i+2|0}else D=o;o=h+1|0;c[1052302]=(c[1052302]|0)+1;v=1;w=o;x=D;y=3427728+(d[g+o>>0]<<2)|0;z=19}if((z|0)==19){z=0;c[y>>2]=(c[y>>2]|0)+1;A=v;B=w;C=x}o=B-A|0;j=(o|0)<2?0:o+-2|0;o=B+-2|0;if((j|0)<(o|0)){m=j;n=a[g+j>>0]|0;do{j=m;m=m+1|0;k=n;n=a[g+m>>0]|0;c[3428752+((((n&255)*1503|0)+((k&255)*7|0)+((d[g+(j+2)>>0]|0)*51717|0)&8191)<<2)>>2]=j}while((m|0)<(o|0))}if((B|0)<(f|0)){h=B;i=C}else{E=C;break}}}else E=b;b=E-e|0;E=Yq(g)|0;if(b>>>0>>0){Hn(g);F=b;return F|0}else{Os(e|0,g|0,E|0)|0;F=Yq(g)|0;return F|0}return 0}function sj(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=(d[b+4>>0]|0)<<8|(d[b+5>>0]|0);Fn(c,0,e);if((f|0)>(e|0)){g=1;return g|0}e=c+f|0;if(!f)h=c;else{f=b+8|0;b=c;while(1){i=a[f>>0]|0;j=i&255;k=f+1|0;if((i&255)<60){l=i<<24>>24==0;a[b>>0]=a[(l?k:49832+j|0)>>0]|0;m=l?f+2|0:k;n=1}else{l=d[k>>0]|0;k=(l>>>4)+2|0;Os(b|0,b+(0-(l&15|(j<<4)+-960))|0,k|0)|0;m=f+2|0;n=k}k=b+n|0;if(k>>>0>>0){f=m;b=k}else{h=k;break}}}b=Xr(c,49893)|0;if((b|0)!=0?(m=Yq(c)|0,(c-b+m|0)==56):0){b=c+m+-56|0;a[b>>0]=0;o=b}else o=h;h=Xr(c,49950)|0;if(h){b=Yq(c)|0;m=c;if((m-h+b|0)==73){h=c+b+-73|0;a[h>>0]=0;p=h;q=m}else{p=o;q=m}}else{p=o;q=c}g=p-q|0;return g|0}function tj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=1;while(1){f=1<>>0<9&(f|0)<(b|0))e=e+1|0;else break}if((f|0)!=(b|0)){g=0;return g|0}f=Np(16)|0;if(!f){g=0;return g|0}e=Pp(b,3)|0;c[f+12>>2]=e;if(!e){Op(f);g=0;return g|0}c[f>>2]=b;h=1;while(1)if(h>>>0<9&(1<>2]=h;a[f+8>>0]=0;if(!d){g=f;return g|0}Os(e|0,d|0,b*3|0)|0;g=f;return g|0}function uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=384;g=or(a,b?193:577,f)|0;if((g|0)==-1)if(!d)h=0;else{c[d>>2]=1;h=0}else{f=vj(g,d)|0;if(!f){nr(g)|0;h=0}else h=f}Ca=e;return h|0}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Np(76)|0;if(!d){e=0;return e|0}f=d;g=f+76|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=Np(24908)|0;if(!f){Op(d);if(!b){e=0;return e|0}c[b>>2]=7;e=0;return e|0}g=Np(32768)|0;if(g|0){Ps(g|0,-1,32768)|0;c[f+24900>>2]=g;g=Cr(a,58993)|0;c[d+72>>2]=f;c[f+4>>2]=a;c[f+56>>2]=g;c[f>>2]=1;c[f+64>>2]=0;c[d+68>>2]=0;c[d+64>>2]=0;e=d;return e|0}c[f+24900>>2]=0;Op(d);Op(f);if(!b){e=0;return e|0}c[b>>2]=7;e=0;return e|0}function wj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+72>>2]|0;e=c[b+24>>2]|0;if((e|0)>0){f=c[b+52>>2]|0;g=d+24904|0;h=0;do{i=c[f+(h*36|0)+28>>2]|0;a:do if((i|0)>0){j=c[f+(h*36|0)+32>>2]|0;switch(c[j+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}if((i|0)>1){k=1;while(1){switch(c[j+(k*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}k=k+1|0;if((k|0)>=(i|0))break a}}}while(0);h=h+1|0}while((h|0)<(e|0))}e=c[b+56>>2]|0;if((e|0)<=0){l=d+24904|0;m=a[l>>0]|0;n=m<<24>>24==0;o=n?50024:50031;return o|0}h=c[b+60>>2]|0;b=d+24904|0;d=0;while(1){switch(c[h+(d*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[b>>0]=1;break}default:{}}d=d+1|0;if((d|0)>=(e|0)){l=b;break}}m=a[l>>0]|0;n=m<<24>>24==0;o=n?50024:50031;return o|0}function xj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=Ca;Ca=Ca+16|0;j=i+4|0;k=i;l=b+72|0;m=c[l>>2]|0;n=c[m>>2]|0;if(n&2|0){c[b+64>>2]=3;o=0;Ca=i;return o|0}if(!(n&1)){c[b+64>>2]=10;o=0;Ca=i;return o|0}n=wj(b)|0;p=Yq(n)|0;q=c[l>>2]|0;r=c[q+64>>2]|0;if(!r)s=bs(n,1,p,c[q+56>>2]|0)|0;else s=Ia[r&7](b,n,p)|0;if((s|0)!=(Yq(n)|0)){c[b+64>>2]=2;o=0;Ca=i;return o|0}c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;c[b+12>>2]=g;n=(h|0)!=0;a:do if(n){s=c[h>>2]|0;p=c[h+12>>2]|0;r=1;while(1){t=1<>>0<9&(t|0)<(s|0))r=r+1|0;else break}do if((t|0)==(s|0)?(r=Np(16)|0,r|0):0){q=Pp(s,3)|0;c[r+12>>2]=q;if(!q){Op(r);break}c[r>>2]=s;u=1;while(1)if(u>>>0<9&(1<>2]=u;a[r+8>>0]=0;if(p|0)Os(q|0,p|0,s*3|0)|0;c[b+20>>2]=r;break a}while(0);c[b+20>>2]=0;c[b+64>>2]=7;o=0;Ca=i;return o|0}else c[b+20>>2]=0;while(0);a[j>>0]=d;t=j+1|0;a[t>>0]=d>>>8;d=c[l>>2]|0;s=c[d+64>>2]|0;if(!s)bs(j,1,2,c[d+56>>2]|0)|0;else Ia[s&7](b,j,2)|0;a[j>>0]=e;a[t>>0]=e>>>8;e=c[l>>2]|0;t=c[e+64>>2]|0;if(!t)bs(j,1,2,c[e+56>>2]|0)|0;else Ia[t&7](b,j,2)|0;j=(n?128:0)|(f<<4)+240;if(n){f=(c[h+4>>2]|0)+-1|j;a[k>>0]=f;if(a[h+8>>0]|0){v=f|8;w=34}}else{v=j|7;w=34}if((w|0)==34)a[k>>0]=v;v=k+1|0;a[v>>0]=g;g=k+2|0;a[g>>0]=a[b+16>>0]|0;w=c[l>>2]|0;j=c[w+64>>2]|0;if(!j)bs(k,1,3,c[w+56>>2]|0)|0;else Ia[j&7](b,k,3)|0;b:do if(n?(c[h>>2]|0)>0:0){j=h+12|0;w=0;while(1){f=c[j>>2]|0;a[k>>0]=a[f+(w*3|0)>>0]|0;a[v>>0]=a[f+(w*3|0)+1>>0]|0;a[g>>0]=a[f+(w*3|0)+2>>0]|0;f=c[l>>2]|0;t=c[f+64>>2]|0;if(!t)x=bs(k,1,3,c[f+56>>2]|0)|0;else x=Ia[t&7](b,k,3)|0;w=w+1|0;if((x|0)!=3)break;if((w|0)>=(c[h>>2]|0))break b}c[b+64>>2]=2;o=0;Ca=i;return o|0}while(0);c[m>>2]=c[m>>2]|2;o=1;Ca=i;return o|0}function yj(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=Ca;Ca=Ca+16|0;k=j+4|0;l=j;m=h&1;n=b+72|0;o=c[n>>2]|0;p=c[o>>2]|0;if(p&4|0?(c[o+52>>2]|0)>>>0>4294901760:0){c[b+64>>2]=4;q=0;Ca=j;return q|0}if(!(p&1)){c[b+64>>2]=10;q=0;Ca=j;return q|0}c[b+28>>2]=d;c[b+32>>2]=e;c[b+36>>2]=f;c[b+40>>2]=g;a[b+44>>0]=m;m=(i|0)!=0;p=b+48|0;a:do if(m){r=c[p>>2]|0;if(r|0){Op(c[r+12>>2]|0);Op(r);c[p>>2]=0}r=c[i>>2]|0;s=c[i+12>>2]|0;t=1;while(1){u=1<>>0<9&(u|0)<(r|0))t=t+1|0;else break}do if((u|0)==(r|0)?(t=Np(16)|0,t|0):0){v=Pp(r,3)|0;c[t+12>>2]=v;if(!v){Op(t);break}c[t>>2]=r;w=1;while(1)if(w>>>0<9&(1<>2]=w;a[t+8>>0]=0;if(!s){x=t;break a}Os(v|0,s|0,r*3|0)|0;x=t;break a}while(0);c[p>>2]=0;c[b+64>>2]=7;q=0;Ca=j;return q|0}else x=0;while(0);c[p>>2]=x;a[l>>0]=44;x=c[n>>2]|0;u=c[x+64>>2]|0;if(!u)gs(44,c[x+56>>2]|0)|0;else Ia[u&7](b,l,1)|0;a[k>>0]=d;u=k+1|0;a[u>>0]=d>>>8;d=c[n>>2]|0;x=c[d+64>>2]|0;if(!x)bs(k,1,2,c[d+56>>2]|0)|0;else Ia[x&7](b,k,2)|0;a[k>>0]=e;a[u>>0]=e>>>8;e=c[n>>2]|0;x=c[e+64>>2]|0;if(!x)bs(k,1,2,c[e+56>>2]|0)|0;else Ia[x&7](b,k,2)|0;a[k>>0]=f;a[u>>0]=f>>>8;x=c[n>>2]|0;e=c[x+64>>2]|0;if(!e)bs(k,1,2,c[x+56>>2]|0)|0;else Ia[e&7](b,k,2)|0;a[k>>0]=g;a[u>>0]=g>>>8;u=c[n>>2]|0;e=c[u+64>>2]|0;if(!e)bs(k,1,2,c[u+56>>2]|0)|0;else Ia[e&7](b,k,2)|0;e=(m?128:0)|(h?64:0);b:do if(m){h=(c[i+4>>2]|0)+255|e;a[l>>0]=h;u=c[n>>2]|0;x=c[u+64>>2]|0;if(!x)gs(h<<24>>24,c[u+56>>2]|0)|0;else Ia[x&7](b,l,1)|0;if((c[i>>2]|0)>0){x=i+12|0;u=l+1|0;h=l+2|0;d=0;while(1){r=c[x>>2]|0;a[l>>0]=a[r+(d*3|0)>>0]|0;a[u>>0]=a[r+(d*3|0)+1>>0]|0;a[h>>0]=a[r+(d*3|0)+2>>0]|0;r=c[n>>2]|0;s=c[r+64>>2]|0;if(!s)y=bs(l,1,3,c[r+56>>2]|0)|0;else y=Ia[s&7](b,l,3)|0;d=d+1|0;if((y|0)!=3)break;if((d|0)>=(c[i>>2]|0))break b}c[b+64>>2]=2;q=0;Ca=j;return q|0}}else{a[l>>0]=e;d=c[n>>2]|0;h=c[d+64>>2]|0;if(!h){gs(e<<24>>24,c[d+56>>2]|0)|0;break}else{Ia[h&7](b,l,1)|0;break}}while(0);l=c[b+20>>2]|0;e=c[p>>2]|0;if((l|0)==0&(e|0)==0){c[b+64>>2]=5;q=0;Ca=j;return q|0}c[o>>2]=c[o>>2]|4;c[o+52>>2]=z(g,f)|0;f=c[n>>2]|0;n=c[((e|0)==0?l:e)+4>>2]|0;e=(n|0)>2?n:2;a[k>>0]=e;n=c[f+64>>2]|0;if(!n)gs(e<<24>>24,c[f+56>>2]|0)|0;else Ia[n&7](b,k,1)|0;a[f+68>>0]=0;c[f+8>>2]=e;k=1<>2]=k;c[f+16>>2]=k+1;c[f+20>>2]=k+2;c[f+24>>2]=e+1;c[f+28>>2]=2<>2]=4097;c[f+44>>2]=0;c[f+48>>2]=0;Ps(c[f+24900>>2]|0,-1,32768)|0;if(!(zj(b,c[n>>2]|0)|0))c[b+64>>2]=8;q=1;Ca=j;return q|0}function zj(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;f=b+72|0;g=c[f>>2]|0;h=g+44|0;i=c[h>>2]|0;do if((e|0)==4096){j=g+68|0;if((i|0)>0){k=g+48|0;l=b+64|0;m=1;n=c[k>>2]|0;while(1){o=a[j>>0]|0;do if(o<<24>>24==-1){p=c[f>>2]|0;q=c[p+64>>2]|0;if(!q)r=bs(j,1,256,c[p+56>>2]|0)|0;else r=Ia[q&7](b,j,256)|0;if((r|0)==((d[j>>0]|0)+1|0)){a[j>>0]=0;s=0;t=10;break}else{c[l>>2]=2;u=0;break}}else{s=o;t=10}while(0);if((t|0)==10){t=0;o=s+1<<24>>24;a[j>>0]=o;a[(o&255)+(g+68)>>0]=n;u=m}n=(c[k>>2]|0)>>>8;c[k>>2]=n;o=c[h>>2]|0;c[h>>2]=o+-8;if((o|0)<=8){v=u;break}else m=u}}else v=1;c[h>>2]=0;m=a[j>>0]|0;if(m<<24>>24){n=(m&255)+1|0;m=c[f>>2]|0;k=c[m+64>>2]|0;if(!k)w=bs(j,1,n,c[m+56>>2]|0)|0;else w=Ia[k&7](b,j,n)|0;if((w|0)!=((d[j>>0]|0)+1|0)){c[b+64>>2]=2;x=0;break}}a[j>>0]=0;n=c[f>>2]|0;k=c[n+64>>2]|0;if(!k)y=bs(j,1,1,c[n+56>>2]|0)|0;else y=Ia[k&7](b,j,1)|0;if((y|0)==1)x=v;else{c[b+64>>2]=2;x=0}}else{k=g+48|0;n=c[k>>2]|e<>2]=n;m=(c[g+24>>2]|0)+i|0;c[h>>2]=m;if((m|0)>7){m=g+68|0;l=b+64|0;o=1;q=n;while(1){n=a[m>>0]|0;do if(n<<24>>24==-1){p=c[f>>2]|0;z=c[p+64>>2]|0;if(!z)A=bs(m,1,256,c[p+56>>2]|0)|0;else A=Ia[z&7](b,m,256)|0;if((A|0)==((d[m>>0]|0)+1|0)){a[m>>0]=0;B=0;t=32;break}else{c[l>>2]=2;C=0;break}}else{B=n;t=32}while(0);if((t|0)==32){t=0;n=B+1<<24>>24;a[m>>0]=n;a[(n&255)+(g+68)>>0]=q;C=o}q=(c[k>>2]|0)>>>8;c[k>>2]=q;n=c[h>>2]|0;c[h>>2]=n+-8;if((n|0)<=15){x=C;break}else o=C}}else x=1}while(0);C=g+28|0;if(!((e|0)<4096?(c[g+20>>2]|0)>=(c[C>>2]|0):0))return x|0;e=g+24|0;g=(c[e>>2]|0)+1|0;c[e>>2]=g;c[C>>2]=1<>2]|0;g=c[f+24900>>2]|0;h=f+36|0;i=c[h>>2]|0;if((i|0)==4097){j=1;k=d[b>>0]|0}else{j=0;k=i}a:do if((j|0)<(e|0)){i=f+20|0;l=f+12|0;m=f+16|0;n=f+8|0;o=f+24|0;p=f+28|0;q=k;r=j;b:while(1){s=d[b+r>>0]|0;r=r+1|0;t=q<<8|s;u=t^q>>>4&1048575;v=u&8191;w=c[g+(v<<2)>>2]|0;x=w>>>12;c:do if((x|0)==1048575)y=10;else{z=v;A=x;B=w;while(1){if((A|0)==(t|0))break;z=z+1&8191;C=c[g+(z<<2)>>2]|0;A=C>>>12;if((A|0)==1048575){y=10;break c}else B=C}D=B&4095}while(0);do if((y|0)==10){y=0;if(!(zj(a,q)|0)){y=11;break b}w=c[i>>2]|0;if((w|0)>4094){if(!(zj(a,c[l>>2]|0)|0)){y=14;break b}c[i>>2]=(c[m>>2]|0)+1;x=(c[n>>2]|0)+1|0;c[o>>2]=x;c[p>>2]=1<>2]=w+1;x=u;while(1){v=x&8191;E=g+(v<<2)|0;if((c[E>>2]|0)>>>0<4294963200)x=v+1|0;else break}c[E>>2]=w&4095|t<<12;D=s}while(0);if((r|0)>=(e|0)){F=D;break a}else q=D}if((y|0)==11){c[a+64>>2]=8;G=0;return G|0}else if((y|0)==14){c[a+64>>2]=8;G=0;return G|0}}else F=k;while(0);c[h>>2]=F;if(c[f+52>>2]|0){G=1;return G|0}if(!(zj(a,F)|0)){c[a+64>>2]=8;G=0;return G|0}if(!(zj(a,c[f+16>>2]|0)|0)){c[a+64>>2]=8;G=0;return G|0}if(zj(a,4096)|0){G=1;return G|0}c[a+64>>2]=8;G=0;return G|0}function Bj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ca;Ca=Ca+16|0;f=e;if(!b){g=0;Ca=e;return g|0}h=c[b+72>>2]|0;if(!h){g=0;Ca=e;return g|0}if(!(c[h>>2]&1)){if(d|0)c[d>>2]=10;Op(b);g=0;Ca=e;return g|0}i=c[h+56>>2]|0;a[f>>0]=59;j=c[h+64>>2]|0;if(!j)gs(59,i)|0;else Ia[j&7](b,f,1)|0;f=b+48|0;j=c[f>>2]|0;if(j|0){Op(c[j+12>>2]|0);Op(j);c[f>>2]=0}f=b+20|0;j=c[f>>2]|0;if(j|0){Op(c[j+12>>2]|0);Op(j);c[f>>2]=0}f=c[h+24900>>2]|0;if(f|0)Op(f);Op(h);if(i|0?Gr(i)|0:0){if(d|0)c[d>>2]=9;Op(b);g=0;Ca=e;return g|0}Op(b);if(!d){g=1;Ca=e;return g|0}c[d>>2]=0;g=1;Ca=e;return g|0}function Cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;d=Ca;Ca=Ca+16|0;e=d;if(!(xj(b,c[b>>2]|0,c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+20>>2]|0)|0)){f=0;Ca=d;return f|0}g=b+24|0;a:do if((c[g>>2]|0)>0){h=b+52|0;i=b+72|0;j=e+1|0;k=b+36|0;l=0;b:while(1){m=c[h>>2]|0;n=c[m+(l*36|0)+12>>2]|0;o=c[m+(l*36|0)+8>>2]|0;p=m+(l*36|0)+24|0;c:do if(c[p>>2]|0){q=c[m+(l*36|0)+32>>2]|0;r=c[m+(l*36|0)+28>>2]|0;if((q|0)!=0&(r|0)>0){s=r+-1|0;t=0;do{u=q+(t*12|0)|0;v=c[q+(t*12|0)+8>>2]|0;if(v|0){w=c[i>>2]|0;if(!(c[w>>2]&1)){x=13;break b}a[e>>0]=33;a[j>>0]=v;v=c[w+64>>2]|0;if(!v)bs(e,1,2,c[w+56>>2]|0)|0;else Ia[v&7](b,e,2)|0}v=c[u>>2]|0;w=c[q+(t*12|0)+4>>2]|0;y=c[i>>2]|0;if(!(c[y>>2]&1)){x=21;break b}a[e>>0]=v;A=c[y+64>>2]|0;if(!A)gs(v<<24>>24,c[y+56>>2]|0)|0;else Ia[A&7](b,e,1)|0;A=c[i>>2]|0;y=c[A+64>>2]|0;if(!y)bs(w,1,v,c[A+56>>2]|0)|0;else Ia[y&7](b,w,v)|0;if(!((t|0)!=(s|0)?!(c[u+12+8>>2]|0):0)){u=c[i>>2]|0;if(!(c[u>>2]&1)){x=29;break b}a[e>>0]=0;v=c[u+64>>2]|0;if(!v)gs(0,c[u+56>>2]|0)|0;else Ia[v&7](b,e,1)|0}t=t+1|0}while((t|0)<(r|0))}r=m+(l*36|0)+16|0;if(!(yj(b,c[m+(l*36|0)>>2]|0,c[m+(l*36|0)+4>>2]|0,o,n,(a[r>>0]|0)!=0,c[m+(l*36|0)+20>>2]|0)|0)){f=0;x=105;break b}if(!(a[r>>0]|0)){if((n|0)<=0)break;if(!o){r=0;while(1){t=c[p>>2]|0;s=c[i>>2]|0;if(!(c[s>>2]&1)){x=70;break b}q=c[k>>2]|0;v=s+52|0;u=c[v>>2]|0;if(u>>>0>>0){x=72;break b}c[v>>2]=u-q;u=a[50038+(c[s+8>>2]|0)>>0]|0;if((q|0)>0){s=0;do{v=t+s|0;a[v>>0]=a[v>>0]&u;s=s+1|0}while((s|0)!=(q|0))}r=r+1|0;if(!(Aj(b,t,q)|0)){f=0;x=105;break b}if((r|0)>=(n|0))break c}}else{r=(o|0)>0;s=0;while(1){u=(c[p>>2]|0)+(z(s,o)|0)|0;v=c[i>>2]|0;if(!(c[v>>2]&1)){x=70;break b}w=v+52|0;y=c[w>>2]|0;if(y>>>0>>0){x=72;break b}c[w>>2]=y-o;y=a[50038+(c[v+8>>2]|0)>>0]|0;if(r){v=0;do{w=u+v|0;a[w>>0]=a[w>>0]&y;v=v+1|0}while((v|0)!=(o|0))}s=s+1|0;if(!(Aj(b,u,o)|0)){f=0;x=105;break b}if((s|0)>=(n|0))break c}}}s=(n|0)>0;if(!o){if(!s)break;r=0;do{v=c[p>>2]|0;y=c[i>>2]|0;if(!(c[y>>2]&1)){x=48;break b}q=c[k>>2]|0;t=y+52|0;w=c[t>>2]|0;if(w>>>0>>0){x=50;break b}c[t>>2]=w-q;w=a[50038+(c[y+8>>2]|0)>>0]|0;if((q|0)>0){y=0;do{t=v+y|0;a[t>>0]=a[t>>0]&w;y=y+1|0}while((y|0)!=(q|0))}if(!(Aj(b,v,q)|0)){f=0;x=105;break b}r=r+8|0}while((r|0)<(n|0));if((n|0)>4){r=4;do{y=c[p>>2]|0;w=c[i>>2]|0;if(!(c[w>>2]&1)){x=48;break b}u=c[k>>2]|0;t=w+52|0;A=c[t>>2]|0;if(A>>>0>>0){x=50;break b}c[t>>2]=A-u;A=a[50038+(c[w+8>>2]|0)>>0]|0;if((u|0)>0){w=0;do{t=y+w|0;a[t>>0]=a[t>>0]&A;w=w+1|0}while((w|0)!=(u|0))}if(!(Aj(b,y,u)|0)){f=0;x=105;break b}r=r+8|0}while((r|0)<(n|0))}if((n|0)>2){r=2;do{w=c[p>>2]|0;A=c[i>>2]|0;if(!(c[A>>2]&1)){x=48;break b}q=c[k>>2]|0;v=A+52|0;t=c[v>>2]|0;if(t>>>0>>0){x=50;break b}c[v>>2]=t-q;t=a[50038+(c[A+8>>2]|0)>>0]|0;if((q|0)>0){A=0;do{v=w+A|0;a[v>>0]=a[v>>0]&t;A=A+1|0}while((A|0)!=(q|0))}if(!(Aj(b,w,q)|0)){f=0;x=105;break b}r=r+4|0}while((r|0)<(n|0))}if((n|0)<=1)break;r=1;do{A=c[p>>2]|0;t=c[i>>2]|0;if(!(c[t>>2]&1)){x=48;break b}u=c[k>>2]|0;y=t+52|0;v=c[y>>2]|0;if(v>>>0>>0){x=50;break b}c[y>>2]=v-u;v=a[50038+(c[t+8>>2]|0)>>0]|0;if((u|0)>0){t=0;do{y=A+t|0;a[y>>0]=a[y>>0]&v;t=t+1|0}while((t|0)!=(u|0))}if(!(Aj(b,A,u)|0)){f=0;x=105;break b}r=r+2|0}while((r|0)<(n|0))}else{if(!s)break;r=(o|0)>0;t=0;do{v=(c[p>>2]|0)+(z(t,o)|0)|0;q=c[i>>2]|0;if(!(c[q>>2]&1)){x=48;break b}w=q+52|0;y=c[w>>2]|0;if(y>>>0>>0){x=50;break b}c[w>>2]=y-o;y=a[50038+(c[q+8>>2]|0)>>0]|0;if(r){q=0;do{w=v+q|0;a[w>>0]=a[w>>0]&y;q=q+1|0}while((q|0)!=(o|0))}if(!(Aj(b,v,o)|0)){f=0;x=105;break b}t=t+8|0}while((t|0)<(n|0));if((n|0)>4){t=(o|0)>0;r=4;do{s=(c[p>>2]|0)+(z(r,o)|0)|0;q=c[i>>2]|0;if(!(c[q>>2]&1)){x=48;break b}y=q+52|0;u=c[y>>2]|0;if(u>>>0>>0){x=50;break b}c[y>>2]=u-o;u=a[50038+(c[q+8>>2]|0)>>0]|0;if(t){q=0;do{y=s+q|0;a[y>>0]=a[y>>0]&u;q=q+1|0}while((q|0)!=(o|0))}if(!(Aj(b,s,o)|0)){f=0;x=105;break b}r=r+8|0}while((r|0)<(n|0))}if((n|0)>2){r=(o|0)>0;t=2;do{q=(c[p>>2]|0)+(z(t,o)|0)|0;u=c[i>>2]|0;if(!(c[u>>2]&1)){x=48;break b}v=u+52|0;y=c[v>>2]|0;if(y>>>0>>0){x=50;break b}c[v>>2]=y-o;y=a[50038+(c[u+8>>2]|0)>>0]|0;if(r){u=0;do{v=q+u|0;a[v>>0]=a[v>>0]&y;u=u+1|0}while((u|0)!=(o|0))}if(!(Aj(b,q,o)|0)){f=0;x=105;break b}t=t+4|0}while((t|0)<(n|0))}if((n|0)<=1)break;t=(o|0)>0;r=1;do{u=(c[p>>2]|0)+(z(r,o)|0)|0;y=c[i>>2]|0;if(!(c[y>>2]&1)){x=48;break b}s=y+52|0;v=c[s>>2]|0;if(v>>>0>>0){x=50;break b}c[s>>2]=v-o;v=a[50038+(c[y+8>>2]|0)>>0]|0;if(t){y=0;do{s=u+y|0;a[s>>0]=a[s>>0]&v;y=y+1|0}while((y|0)!=(o|0))}if(!(Aj(b,u,o)|0)){f=0;x=105;break b}r=r+2|0}while((r|0)<(n|0))}}while(0);l=l+1|0;if((l|0)>=(c[g>>2]|0))break a}if((x|0)==13){c[b+64>>2]=10;f=0;Ca=d;return f|0}else if((x|0)==21){c[b+64>>2]=10;f=0;Ca=d;return f|0}else if((x|0)==29){c[b+64>>2]=10;f=0;Ca=d;return f|0}else if((x|0)==48){c[b+64>>2]=10;f=0;Ca=d;return f|0}else if((x|0)==50){c[b+64>>2]=6;f=0;Ca=d;return f|0}else if((x|0)==70){c[b+64>>2]=10;f=0;Ca=d;return f|0}else if((x|0)==72){c[b+64>>2]=6;f=0;Ca=d;return f|0}else if((x|0)==105){Ca=d;return f|0}}while(0);g=c[b+60>>2]|0;l=c[b+56>>2]|0;d:do if((g|0)!=0&(l|0)>0){i=l+-1|0;k=b+72|0;j=e+1|0;h=0;while(1){n=g+(h*12|0)|0;o=c[g+(h*12|0)+8>>2]|0;if(o|0){p=c[k>>2]|0;if(!(c[p>>2]&1)){x=86;break}a[e>>0]=33;a[j>>0]=o;o=c[p+64>>2]|0;if(!o)bs(e,1,2,c[p+56>>2]|0)|0;else Ia[o&7](b,e,2)|0}o=c[n>>2]|0;p=c[g+(h*12|0)+4>>2]|0;m=c[k>>2]|0;if(!(c[m>>2]&1)){x=94;break}a[e>>0]=o;r=c[m+64>>2]|0;if(!r)gs(o<<24>>24,c[m+56>>2]|0)|0;else Ia[r&7](b,e,1)|0;r=c[k>>2]|0;m=c[r+64>>2]|0;if(!m)bs(p,1,o,c[r+56>>2]|0)|0;else Ia[m&7](b,p,o)|0;if(!((h|0)!=(i|0)?!(c[n+12+8>>2]|0):0)){n=c[k>>2]|0;if(!(c[n>>2]&1)){x=102;break}a[e>>0]=0;o=c[n+64>>2]|0;if(!o)gs(0,c[n+56>>2]|0)|0;else Ia[o&7](b,e,1)|0}h=h+1|0;if((h|0)>=(l|0))break d}if((x|0)==86){c[b+64>>2]=10;f=0;Ca=d;return f|0}else if((x|0)==94){c[b+64>>2]=10;f=0;Ca=d;return f|0}else if((x|0)==102){c[b+64>>2]=10;f=0;Ca=d;return f|0}}while(0);f=(Bj(b,0)|0)!=0&1;Ca=d;return f|0}function Dj(a){a=a|0;var b=0;b=1;while(1)if(b>>>0<9&(1<>2]|0;if(!b)return;d=a+24|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;d=b+(a*36|0)+20|0;e=c[d>>2]|0;if(e|0){Op(c[e+12>>2]|0);Op(e);c[d>>2]=0}d=c[b+(a*36|0)+24>>2]|0;if(d|0)Op(d);d=b+(a*36|0)+28|0;e=b+(a*36|0)+32|0;a=c[e>>2]|0;if(!a)return;if((c[d>>2]|0)>0){b=a;do{Op(c[b+4>>2]|0);b=b+12|0;f=c[e>>2]|0}while(b>>>0<(f+((c[d>>2]|0)*12|0)|0)>>>0);g=f}else g=a;Op(g);c[e>>2]=0;c[d>>2]=0;return}function Fj(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;e=b+52|0;f=c[e>>2]|0;if(!f)g=Np(36)|0;else g=Qp(f,((c[b+24>>2]|0)*36|0)+36|0)|0;c[e>>2]=g;if(!g){h=0;return h|0}e=b+24|0;f=c[e>>2]|0;c[e>>2]=f+1;e=g+(f*36|0)|0;i=e;j=i+36|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0));if(!d){h=e;return h|0}i=e;k=d;j=i+36|0;do{a[i>>0]=a[k>>0]|0;i=i+1|0;k=k+1|0}while((i|0)<(j|0));k=g+(f*36|0)+20|0;a:do if(c[k>>2]|0){i=c[d+20>>2]|0;j=c[i>>2]|0;l=c[i+12>>2]|0;i=1;while(1){m=1<>>0<9&(m|0)<(j|0))i=i+1|0;else break}do if((m|0)==(j|0)?(i=Np(16)|0,i|0):0){n=Pp(j,3)|0;c[i+12>>2]=n;if(!n){Op(i);break}c[i>>2]=j;o=1;while(1)if(o>>>0<9&(1<>2]=o;a[i+8>>0]=0;if(l|0)Os(n|0,l|0,j*3|0)|0;c[k>>2]=i;break a}while(0);c[k>>2]=0;Ej(b);h=0;return h|0}while(0);k=z(c[d+8>>2]|0,c[d+12>>2]|0)|0;m=Np(k)|0;c[g+(f*36|0)+24>>2]=m;if(!m){Ej(b);h=0;return h|0}Os(m|0,c[d+24>>2]|0,k|0)|0;k=g+(f*36|0)+32|0;if(!(c[k>>2]|0)){h=e;return h|0}f=(c[d+28>>2]|0)*12|0;g=Np(f)|0;c[k>>2]=g;if(!g){Ej(b);h=0;return h|0}else{Os(g|0,c[d+32>>2]|0,f|0)|0;h=e;return h|0}return 0}function Gj(){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;b=Ca;Ca=Ca+1632|0;d=b+1616|0;e=b+1608|0;f=b+1600|0;g=b+1592|0;h=b+1584|0;i=b+1576|0;j=b+1568|0;k=b+1560|0;l=b+1552|0;m=b+528|0;n=b;c[1276662]=0;Ps(n|0,0,521)|0;if((c[1267387]|0)!=1|(c[1267391]|0)==0|(a[5064168]|0)==0){o=0;Ca=b;return o|0}if((Yq(5064168)|0)>>>0>64){o=0;Ca=b;return o|0}c[l>>2]=5062024;c[l+4>>2]=5064168;mq(m,50047,l)|0;l=Tl(m,58993)|0;if(!l){o=1;Ca=b;return o|0}m=0;do{p=m*65|0;q=m<<3;r=n+(p+64)|0;c[k>>2]=c[5065192+(q<<2)>>2];mq(n+p|0,50060,k)|0;a[r>>0]=10;c[j>>2]=c[5065192+((q|1)<<2)>>2];mq(n+(p+8)|0,50060,j)|0;a[r>>0]=10;c[i>>2]=c[5065192+((q|2)<<2)>>2];mq(n+(p+16)|0,50060,i)|0;a[r>>0]=10;c[h>>2]=c[5065192+((q|3)<<2)>>2];mq(n+(p+24)|0,50060,h)|0;a[r>>0]=10;c[g>>2]=c[5065192+((q|4)<<2)>>2];mq(n+(p+32)|0,50060,g)|0;a[r>>0]=10;c[f>>2]=c[5065192+((q|5)<<2)>>2];mq(n+(p+40)|0,50060,f)|0;a[r>>0]=10;c[e>>2]=c[5065192+((q|6)<<2)>>2];mq(n+(p+48)|0,50060,e)|0;a[r>>0]=10;c[d>>2]=c[5065192+((q|7)<<2)>>2];mq(n+(p+56)|0,50060,d)|0;a[r>>0]=10;m=m+1|0}while((m|0)!=8);Ll(n,1,520,l)|0;Ul(l);o=0;Ca=b;return o|0}function Hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ca;Ca=Ca+2592|0;e=d+2584|0;f=d+2576|0;g=d+1552|0;h=d+528|0;i=d;if(!b){j=3;Ca=d;return j|0}if(!((c[1267387]|0)==1&(c[1267391]|0)!=0)){j=1;Ca=d;return j|0}if(a[5064168]|0){tb(50065);j=2;Ca=d;return j|0}k=a[b>>0]|0;if(k<<24>>24?(l=Yq(b)|0,l>>>0<=64):0){a:do if(l|0){m=0;n=k;b:while(1){o=n<<24>>24;if(!((o+-97|0)>>>0<26|(o+-48|0)>>>0<10))switch(o|0){case 45:case 95:break;default:break b}o=m+1|0;if(o>>>0>=l>>>0)break a;m=o;n=a[b+o>>0]|0}tb(50122);j=2;Ca=d;return j|0}while(0);Kk(5064168,b)|0;Ps(5065192,0,256)|0;c[f>>2]=5062024;c[f+4>>2]=5064168;mq(g,50047,f)|0;f=Tl(g,52470)|0;if(!f){j=1;Ca=d;return j|0}Fn(h,0,1024);Jl(h,1,1024,f)|0;Ul(f);Fn(i,0,513);f=0;g=0;while(1){b=a[h+g>>0]|0;if((b+-48&255)<10)p=19;else switch(b<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:{p=19;break}default:q=f}if((p|0)==19){p=0;a[i+f>>0]=b;q=f+1|0}g=g+1|0;if(!(g>>>0<1024&(q|0)<512))break;else f=q}q=0;do{c[e>>2]=5065192+(q<<2);Mr(i+(q<<3)|0,50060,e)|0;q=q+1|0}while((q|0)!=64);j=0;Ca=d;return j|0}tb(50100);j=2;Ca=d;return j|0}function Ij(a){a=a|0;return}function Jj(a){a=a|0;return}function Kj(){var a=0,b=0,d=0;c[1052304]=0;c[1052305]=0;a=3774544;b=3774480;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Lj(){var a=0,b=0,d=0;if((c[1052304]|0)>=13)return;a=3774480;b=3774544;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Mj(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==27;if(b&(c[1052304]|0)<13){a=3774480;d=3774544;e=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Nj(c[1231641]|0)}if(b)c[1276925]=0;if((c[1052304]|0)<=12)return;c[1276925]=0;c[1267497]=120;return}function Nj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ca;Ca=Ca+16|0;e=d+8|0;f=d;Zk(b,0,0,127,127,1);Zk(b,4,41,123,124,6);Zk(b,0,0,127,6,7);Gl(b,50145,c[1231654]|0,6,1,1,12)|0;g=c[c[1231653]>>2]|0;h=c[1052304]|0;i=c[((h|0)==13?g+672|0:(h|0)==12?g+700|0:g+(((h|0)%6|0)+169<<2)|0)>>2]|0;$k(i,b,0,0,6,8,c[i>>2]|0,c[i+4>>2]|0);i=c[1231654]|0;if((c[1052304]|0)>12){Gl(b,50163,i,60,12,1,11)|0;Gl(b,50177,c[1231654]|0,60,22,1,12)|0;Gl(b,50190,c[1231654]|0,60,29,1,12)|0}else{Gl(b,50202,i,60,12,1,6)|0;Gl(b,c[1632+(c[1052304]<<2)>>2]|0,c[1231654]|0,60,19,1,7)|0;Gl(b,50217,c[1231654]|0,60,26,1,13)|0;Gl(b,50233,c[1231654]|0,60,33,1,13)|0}i=0;h=44;while(1){g=c[3774480+(i<<2)>>2]|0;j=c[1632+(i<<2)>>2]|0;if(!g){k=c[1696+(i<<2)>>2]|0;c[f>>2]=j;c[f+4>>2]=k;mq(3557312,50247,f)|0}else{k=(g|0)<255?g:255;g=Mo((k|0)>0?k:0)|0;c[e>>2]=j;c[e+4>>2]=g;mq(3557312,50247,e)|0}g=a[3557312]|0;if(g<<24>>24){j=3557312;k=g;do{if((k+-65&255)<26)a[j>>0]=(k&255)+32;j=j+1|0;k=a[j>>0]|0}while(k<<24>>24!=0)}if((i|0)==(c[1052304]|0)){Zk(b,7,h+-1|0,120,h+5|0,14);l=1}else l=5;Gl(b,3557312,c[1231654]|0,10,h,1,l)|0;i=i+1|0;if((i|0)==13)break;else h=h+6|0}Ca=d;return}function Oj(){var a=0,b=0,d=0;if(!(c[1052305]|0)){c[1052305]=1;a=0;do{if(xl(a)|0)c[1052305]=0;a=a+1|0}while((a|0)!=512);if((c[1052304]|0)<=12)return;c[1052305]=0;return}a=0;do{if(xl(a)|0){switch(a&2147483647|0){case 42:case 76:{b=0;break}default:b=a}d=c[1052304]|0;c[3774480+(d<<2)>>2]=b;c[1052305]=0;c[1052304]=d+1;if((d|0)>11?ul()|0:0)do vl()|0;while((ul()|0)!=0)}a=a+1|0}while((a|0)!=512);return}function Pj(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=a[b>>0]|0;if(!(c<<24>>24))return;d=c;while(1){c=b+((Yq(b)|0)+-1)|0;if((a[c>>0]|0)!=32)break;a[c>>0]=0;c=a[b>>0]|0;if(!(c<<24>>24)){e=15;break}else d=c}if((e|0)==15)return;c=b;f=d;do{if((f+-65&255)<26)a[c>>0]=(f&255)+32;c=c+1|0;f=a[c>>0]|0}while(f<<24>>24!=0);f=a[b>>0]|0;if(!(f<<24>>24))return;c=b;b=f;do{if(jb(b<<24>>24)|0){if((a[c>>0]|0)==124){g=95;e=13}}else{g=32;e=13}if((e|0)==13){e=0;a[c>>0]=g}c=c+1|0;b=a[c>>0]|0}while(b<<24>>24!=0);return}function Qj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ca;Ca=Ca+1056|0;b=a+1024|0;d=a;bp(51464,d);e=Ar(d,51462)|0;if(!e){Ca=a;return}d=c[865940]|0;if((d|0)>0){f=0;g=d;while(1){d=c[865673]|0;if((c[d+(f*660|0)+652>>2]|0)==1){h=c[d+(f*660|0)+644>>2]|0;c[b>>2]=d+(f*660|0)+388;c[b+4>>2]=d+(f*660|0)+516;c[b+8>>2]=h;c[b+12>>2]=d+(f*660|0)+132;c[b+16>>2]=d+(f*660|0)+260;c[b+20>>2]=d+(f*660|0)+4;Ur(e,50475,b)|0;i=c[865940]|0}else i=g;f=f+1|0;if((f|0)>=(i|0))break;else g=i}}Gr(e)|0;Ca=a;return}function Rj(){var a=0,b=0;a=Ca;Ca=Ca+1024|0;b=a;bp(51464,b);Sj(3462688,b);Ca=a;return}function Sj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=Ca;Ca=Ca+528|0;f=e+512|0;g=e;h=Tl(d,58830)|0;if(!h){Ca=e;return}if(!(Rl(h)|0)){d=b+1072|0;i=b+4|0;j=g+1|0;do{a[g>>0]=0;Vl(g,511,h)|0;do if((a[g>>0]|0)==124){Jn(c[b>>2]|0,((c[d>>2]|0)*660|0)+660|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[i>>2]=k;l=c[d>>2]|0;c[d>>2]=l+1;m=k+(l*660|0)|0;Ps(m|0,0,660)|0;l=m+652|0;c[l>>2]=1;k=j;a:while(1){switch(a[k>>0]|0){case 0:case 124:{break a;break}default:{}}k=k+1|0}a[k>>0]=0;n=m+388|0;Kk(n,j)|0;o=k+1|0;p=o;b:while(1){switch(a[p>>0]|0){case 0:case 124:{break b;break}default:{}}p=p+1|0}a[p>>0]=0;k=m+516|0;Kk(k,o)|0;q=p+1|0;r=q;c:while(1){switch(a[r>>0]|0){case 0:case 124:{break c;break}default:{}}r=r+1|0}a[r>>0]=0;c[f>>2]=m+644;Mr(q,52136,f)|0;p=r+1|0;o=p;d:while(1){switch(a[o>>0]|0){case 0:case 124:{break d;break}default:{}}o=o+1|0}a[o>>0]=0;Kk(m+132|0,p)|0;r=o+1|0;q=r;e:while(1){switch(a[q>>0]|0){case 0:case 124:{break e;break}default:{}}q=q+1|0}a[q>>0]=0;o=m+260|0;Kk(o,r)|0;p=q+1|0;s=p;f:while(1){switch(a[s>>0]|0){case 0:case 124:{break f;break}default:{}}s=s+1|0}a[s>>0]=0;Kk(m+4|0,p)|0;Tj(m);q=Uj(b,n,o)|0;r=(c[d>>2]|0)+-1|0;if((q|0)!=(r|0)){c[d>>2]=r;break}if((c[l>>2]|0)==1)if((a[n>>0]|0)==0?(a[k>>0]|0)==0:0){r=(Xr(o,50470)|0)==0;t=r?177:180}else t=176;else t=c[m>>2]|0;c[m>>2]=t}while(0)}while(!(Rl(h)|0))}Ul(h);Ca=e;return}function Tj(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b+388|0;a:do if(a[c>>0]|0)do{d=(Yq(c)|0)+-1+(b+388)|0;if((a[d>>0]|0)!=32)break a;a[d>>0]=0}while((a[c>>0]|0)!=0);while(0);d=b+516|0;b:do if(a[d>>0]|0)do{e=(Yq(d)|0)+-1+(b+516)|0;if((a[e>>0]|0)!=32)break b;a[e>>0]=0}while((a[d>>0]|0)!=0);while(0);e=b+260|0;c:do if(a[e>>0]|0)do{f=(Yq(e)|0)+-1+(b+260)|0;if((a[f>>0]|0)!=32)break c;a[f>>0]=0}while((a[e>>0]|0)!=0);while(0);e=b+132|0;f=a[e>>0]|0;d:do if(f<<24>>24){g=f;while(1){h=(Yq(e)|0)+-1+(b+132)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break d;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(!((g+-97&255)<26|(g+-48&255)<10))a[h>>0]=95;h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if((Yq(e)|0)>>>0>16)a[b+148>>0]=0;e=b+4|0;f=a[e>>0]|0;e:do if(f<<24>>24){g=f;while(1){h=(Yq(e)|0)+-1+(b+4)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break e;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(jb(g<<24>>24)|0){if((a[h>>0]|0)==124){j=95;k=40}}else{j=32;k=40}if((k|0)==40){k=0;a[h>>0]=j}h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if(!(Oq(c,53136)|0))a[c>>0]=0;if(Oq(d,53136)|0)return;a[d>>0]=0;return}function Uj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+1072>>2]|0;if((f|0)<=0){g=-1;return g|0}h=c[b+4>>2]|0;b=(e|0)==0;if(!(a[d>>0]|0)){if(b){g=-1;return g|0}i=(a[e>>0]|0)==0;j=0;while(1){if(((!i?(a[h+(j*660|0)+388>>0]|0)==0:0)?(a[h+(j*660|0)+516>>0]|0)==0:0)?(Oq(e,h+(j*660|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0}j=0;while(1){i=h+(j*660|0)+388|0;if(!(Oq(i,d)|0)){g=j;k=18;break}if((((!b?a[e>>0]|0:0)?(a[i>>0]|0)==0:0)?(a[h+(j*660|0)+516>>0]|0)==0:0)?(Oq(e,h+(j*660|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0;return 0}function Vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ca;Ca=Ca+2080|0;e=d+2064|0;f=d+2056|0;g=d+2048|0;h=d+1024|0;i=d;bp(50514,i);ep(i)|0;c[g>>2]=(a|0)/1e4|0;mq(h,50518,g)|0;bp(h,i);ep(i)|0;if(!b){c[e>>2]=i;c[e+4>>2]=a;mq(3480752,50540,e)|0;Ca=d;return 3480752}else{c[f>>2]=i;c[f+4>>2]=a;mq(3480752,50526,f)|0;Ca=d;return 3480752}return 0}function Wj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ca;Ca=Ca+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1048|0;k=a[b>>0]|0;if(!(k<<24>>24)){a[3480752]=0;Ca=e;return 3480752}c[j>>2]=0;l=Yq(b)|0;m=(k+-48&255)<10&1;if(l>>>0>1){k=m;n=1;while(1){o=((a[b+n>>0]|0)+-48&255)>9?0:k;p=n+1|0;if(p>>>0>>0){k=o;n=p}else{q=o;r=p;break}}}else{q=m;r=1}c[j>>2]=r;if(q|0){c[j>>2]=0;c[h>>2]=j;Mr(b,52136,h)|0;Vj(c[j>>2]|0,d)|0;Ca=e;return 3480752}bp(50514,i);ep(i)|0;bp(50552,i);ep(i)|0;if(!d){c[f>>2]=i;c[f+4>>2]=b;mq(3480752,50577,f)|0;Ca=e;return 3480752}else{c[g>>2]=i;c[g+4>>2]=b;mq(3480752,50562,g)|0;Ca=e;return 3480752}return 0}function Xj(a){a=a|0;Wj(a,0)|0;return 3480752}function Yj(b,d){b=b|0;d=d|0;var e=0,f=0;e=Ca;Ca=Ca+16|0;f=e;if((Yq(d)|0)>>>0<2){a[3481776]=0;Ca=e;return 3481776}else{c[f>>2]=b;c[f+4>>2]=d;mq(3481776,50590,f)|0;Ca=e;return 3481776}return 0}function Zj(a,b){a=a|0;b=b|0;return (Uj(3462688,a,b)|0)!=-1|0}function _j(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ca;Ca=Ca+64|0;e=d;if(!b){f=0;Ca=d;return f|0}if(!(a[b>>0]|0)){f=0;Ca=d;return f|0}if(Xr(b,50470)|0){g=dm(b)|0;if(!g){f=0;Ca=d;return f|0}if((c[g>>2]|0)!=160){f=0;Ca=d;return f|0}if((c[g+4>>2]|0)!=205){f=0;Ca=d;return f|0}h=al(128,128,32)|0;i=al(128,128,8)|0;Nm(g,h,16,24,0,0,128,128);ll(h,i,c[1231623]|0);bl(g)|0;bl(h)|0;f=i;Ca=d;return f|0}i=Tl(b,58830)|0;b=e;h=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));Vl(e,63,i)|0;if(!(kq(e,58705,16)|0)){b=e;h=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));Vl(e,63,i)|0;Vl(e,63,i)|0;if(!(kq(e,58733,7)|0)){g=al(128,128,8)|0;Zk(g,0,0,127,127,5);j=e+1|0;if(!(Rl(i)|0)){b=e;h=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));Vl(e,63,i)|0;if((a[e>>0]|0)==45&(a[j>>0]|0)==45?(Gl(g,e,c[1231654]|0,0,22,1,6)|0,(Rl(i)|0)==0):0){b=e;h=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));Vl(e,63,i)|0;if((a[e>>0]|0)==45&(a[j>>0]|0)==45?(Gl(g,e,c[1231654]|0,0,28,1,6)|0,(Rl(i)|0)==0):0){b=e;h=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));Vl(e,63,i)|0;if((a[e>>0]|0)==45&(a[j>>0]|0)==45?(Gl(g,e,c[1231654]|0,0,34,1,6)|0,(Rl(i)|0)==0):0){b=e;h=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));Vl(e,63,i)|0;if((a[e>>0]|0)==45&(a[j>>0]|0)==45?(Gl(g,e,c[1231654]|0,0,40,1,6)|0,(Rl(i)|0)==0):0){b=e;h=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));Vl(e,63,i)|0;if((a[e>>0]|0)==45&(a[j>>0]|0)==45)Gl(g,e,c[1231654]|0,0,46,1,6)|0}}}}}Ul(i);f=g;Ca=d;return f|0}}Ul(i);f=0;Ca=d;return f|0}function $j(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ca;Ca=Ca+16|0;e=d;c[1052306]=b;c[1052307]=0;if((b|0)==1){Kk(3480212,50644)|0;f=c[1052307]|0;c[3480208+(f*68|0)>>2]=1;g=f+1|0;c[1052307]=g;f=3480208+(g*68|0)+4|0;if(1==1)Kk(f,50653)|0;else Kk(f,50676)|0;f=c[1052307]|0;c[3480208+(f*68|0)>>2]=3;g=f+1|0;c[1052307]=g;f=3462688;h=c[865941]|0;do if((h|0)>=0?(c[865940]|0)>(h|0):0)if((c[(c[(c[f>>2]|0)+12>>2]|0)+(h*660|0)+652>>2]|0)==1){if((c[865940]|0)<=(h|0)){Ps(4209892,0,660)|0;i=g;break}if(a[(c[(c[f>>2]|0)+12>>2]|0)+(h*660|0)+388>>0]|0){if((c[865940]|0)>(h|0))j=(c[(c[f>>2]|0)+12>>2]|0)+(h*660|0)|0;else{Ps(4209892,0,660)|0;j=4209892}c[e>>2]=j+132;mq(3557312,50686,e)|0;Kk(3480208+((c[1052307]|0)*68|0)+4|0,3557312)|0;k=c[1052307]|0;c[3480208+(k*68|0)>>2]=19;l=k+1|0;c[1052307]=l;Kk(3480208+(l*68|0)+4|0,50697)|0;l=c[1052307]|0;c[3480208+(l*68|0)>>2]=18;k=l+1|0;c[1052307]=k;i=k}else i=g}else i=g;else m=7;while(0);if((m|0)==7){Ps(4209892,0,660)|0;i=g}Kk(3480208+(i*68|0)+4|0,50718)|0;i=c[1052307]|0;c[3480208+(i*68|0)>>2]=5;g=i+1|0;c[1052307]=g;n=c[1052306]|0;o=g}else{n=b;o=0}if((n|0)==4){Kk(3480208+(o*68|0)+4|0,50726)|0;b=c[1052307]|0;c[3480208+(b*68|0)>>2]=16;g=b+1|0;c[1052307]=g;Kk(3480208+(g*68|0)+4|0,50736)|0;g=c[1052307]|0;c[3480208+(g*68|0)>>2]=17;b=g+1|0;c[1052307]=b;Kk(3480208+(b*68|0)+4|0,50748)|0;b=c[1052307]|0;c[3480208+(b*68|0)>>2]=18;g=b+1|0;c[1052307]=g;Kk(3480208+(g*68|0)+4|0,50764)|0;g=c[1052307]|0;c[3480208+(g*68|0)>>2]=6;b=g+1|0;c[1052307]=b;p=c[1052306]|0;q=b}else{p=n;q=o}if((p|0)!=5){Ca=d;return}Kk(3480208+(q*68|0)+4|0,50769)|0;q=c[1052307]|0;c[3480208+(q*68|0)>>2]=32;p=q+1|0;c[1052307]=p;Kk(3480208+(p*68|0)+4|0,50776)|0;p=c[1052307]|0;c[3480208+(p*68|0)>>2]=33;q=p+1|0;c[1052307]=q;Kk(3480208+(q*68|0)+4|0,50787)|0;q=c[1052307]|0;c[3480208+(q*68|0)>>2]=34;p=q+1|0;c[1052307]=p;Kk(3480208+(p*68|0)+4|0,50764)|0;p=c[1052307]|0;c[3480208+(p*68|0)>>2]=6;c[1052307]=p+1;Ca=d;return}function ak(){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;b=Ca;Ca=Ca+2064|0;d=b+2048|0;e=b+1024|0;f=b;g=3462688;h=c[865941]|0;do if((h|0)<0)Ps(4209892,0,660)|0;else{if((c[865940]|0)<=(h|0)){Ps(4209892,0,660)|0;break}if(!((c[(c[g>>2]|0)+12>>2]|0)+(h*660|0)|0)){Ca=b;return}if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*660|0)+652>>2]|0)!=1){Ca=b;return}if((c[865940]|0)>(h|0)){i=(c[(c[g>>2]|0)+12>>2]|0)+(h*660|0)|0;j=(c[(c[g>>2]|0)+12>>2]|0)+(h*660|0)+388|0}else{Ps(4209892,0,660)|0;i=4209892;j=4210280}k=dk(j,i+260|0)|0;if(k|0){l=c[865941]|0;if((l|0)>=0?(c[865940]|0)>(l|0):0)m=(c[(c[865672]|0)+12>>2]|0)+(l*660|0)|0;else{Ps(4209892,0,660)|0;m=4209892}Os(k|0,m|0,660)|0;l=k+648|0;c[l>>2]=al(128,128,8)|0;n=3462688;o=c[865941]|0;if((o|0)>=0?(c[865940]|0)>(o|0):0){if(c[(c[(c[n>>2]|0)+12>>2]|0)+(o*660|0)+648>>2]|0){if((c[865940]|0)>(o|0))p=c[(c[(c[n>>2]|0)+12>>2]|0)+(o*660|0)+648>>2]|0;else{Ps(4209892,0,660)|0;p=0}Nm(p,c[l>>2]|0,0,0,0,0,128,128)}}else Ps(4209892,0,660)|0;o=k+388|0;if(a[o>>0]|0?(bp(50623,e),c[d>>2]=e,c[d+4>>2]=o,mq(f,50635,d)|0,(Fo(f)|0)==0):0)em(f,c[l>>2]|0)|0}l=3463764;o=c[l>>2]|0;k=3463760;n=c[k>>2]|0;q=(n|0)<1?0:n+-1|0;r=(o|0)<(q|0)?o:q;c[l>>2]=(r|0)>0?r:0;if(1!=1&(n|0)>0){n=3462692;r=0;do{l=c[n>>2]|0;q=l+(r*660|0)+656|0;c[q>>2]=0;c[q>>2]=(Uj(3462688,l+(r*660|0)+388|0,l+(r*660|0)+260|0)|0)!=-1&1;r=r+1|0}while((r|0)<(c[k>>2]|0))}Qj();Ca=b;return}while(0);Ps(4209892,0,660)|0;Ca=b;return}function bk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ca;Ca=Ca+3120|0;g=f+3096|0;h=f+3088|0;i=f+3080|0;j=f+3072|0;k=f+2048|0;l=f+1024|0;m=f;if(!e){c[i>>2]=b;mq(l,50848,i)|0;bp(l,k);c[h>>2]=b;mq(l,50868,h)|0;bp(l,3776980)}else{c[j>>2]=b;mq(l,50826,j)|0;bp(l,k);a[3776980]=0}l=c[943664]|0;c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=50977;c[g+12>>2]=101;c[g+16>>2]=l;mq(m,50883,g)|0;if(c[943666]|0){Ca=f;return}Kk(3774932,m)|0;Kk(3775956,k)|0;c[943666]=1;c[943667]=Vo()|0;c[943665]=hp(126)|0;Ca=f;return}function ck(a){a=a|0;var b=0,d=0;a=gp(3774932,3775956)|0;if((a|0)==4|(c[943666]|0)==0){b=1;return b|0}if(Fo(3775956)|0)if(Xr(3775956,50470)|0){a=dm(3775956)|0;if(!a)d=3;else{bl(a)|0;d=2}}else d=2;else d=3;c[943666]=d;b=0;return b|0}function dk(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;e=Uj(3462688,b,d)|0;if((e|0)!=-1){bl(c[(c[865673]|0)+(e*660|0)+648>>2]|0)|0;f=(c[865940]|0)+-1|0;g=c[865673]|0;if((e|0)<(f|0)){h=e;e=g;while(1){i=h;h=h+1|0;Os(e+(i*660|0)|0,e+(h*660|0)|0,660)|0;i=(c[865940]|0)+-1|0;j=c[865673]|0;if((h|0)>=(i|0)){k=j;l=i;break}else e=j}}else{k=g;l=f}Ps(k+(l*660|0)|0,0,660)|0;c[865940]=(c[865940]|0)+-1;m=0;return m|0}Jn(c[865672]|0,((c[865940]|0)*660|0)+660|0)|0;l=c[(c[865672]|0)+12>>2]|0;c[865673]=l;k=c[865940]|0;f=l;g=l;a:do if((k|0)>0){l=0;while(1){if((c[f+(l*660|0)+652>>2]|0)==1){n=l;break a}e=l+1|0;if((e|0)<(k|0))l=e;else{n=e;break}}}else n=0;while(0);if((k|0)>(n|0)){l=k+-1|0;Os(f+(k*660|0)|0,f+(l*660|0)|0,660)|0;if((l|0)>(n|0)){f=l;do{l=c[865673]|0;e=f;f=f+-1|0;Os(l+(e*660|0)|0,l+(f*660|0)|0,660)|0}while((f|0)>(n|0))}o=c[865940]|0;p=c[(c[865672]|0)+12>>2]|0}else{o=k;p=g}c[865940]=o+1;o=p+(n*660|0)|0;Ps(o|0,0,660)|0;c[o+652>>2]=1;Kk(o+388|0,b)|0;if(!d){m=o;return m|0}Kk(o+260|0,d)|0;if(!(a[d>>0]|0)){m=o;return m|0}b=o+4|0;if(a[b>>0]|0){m=o;return m|0}am(d,0,b,0);d=Yq(b)|0;if(d>>>0<=3){m=o;return m|0}b=d+-3+(o+4)|0;if((a[b>>0]|0)!=46){m=o;return m|0}a[b>>0]=0;m=o;return m|0}function ek(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ca;Ca=Ca+1856|0;f=e+1032|0;g=e+1024|0;h=e+1040|0;i=e;c[b+1080>>2]=0;if(Yq(5061e3)|0){j=b+1072|0;Jn(c[b>>2]|0,((c[j>>2]|0)*660|0)+660|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[b+4>>2]=k;l=c[j>>2]|0;c[j>>2]=l+1;j=k+(l*660|0)|0;Ps(j+4|0,0,656)|0;c[j>>2]=185;a[j+388>>0]=0;Kk(j+4|0,52634)|0;c[j+648>>2]=0;c[j+652>>2]=2}c[g>>2]=5059976;c[g+4>>2]=d;mq(i,58700,g)|0;if(!(Co(i,51027,h,-1)|0)){g=h+256|0;d=h+512|0;j=b+1072|0;l=b+4|0;do do if((a[g>>0]|0)!=46){if((Xr(g,51029)|0)==0?(c[d>>2]&16384|0)==0:0)break;Jn(c[b>>2]|0,((c[j>>2]|0)*660|0)+660|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[l>>2]=k;m=c[j>>2]|0;c[j>>2]=m+1;n=k+(m*660|0)|0;Ps(n|0,0,660)|0;c[f>>2]=5061e3;c[f+4>>2]=g;mq(i,58700,f)|0;m=n+260|0;es(m,i,128)|0;c[n+648>>2]=0;k=n+652|0;c[k>>2]=1;a[n+388>>0]=0;if(!(c[d>>2]&16384))o=n+4|0;else{c[n>>2]=181;p=n+4|0;Kk(p,g)|0;c[k>>2]=2;o=p}if(((a[o>>0]|0)==0?(am(m,0,o,0),m=Yq(o)|0,m>>>0>3):0)?(p=m+-3+(n+4)|0,(a[p>>0]|0)==46):0)a[p>>0]=0}while(0);while(!(Do(h)|0));q=j;r=l}else{q=b+1072|0;r=b+4|0}Zq(c[r>>2]|0,c[q>>2]|0,660,2);if((b|0)==3462688){Ca=e;return}if((c[q>>2]|0)<=0){Ca=e;return}b=0;do{l=c[r>>2]|0;j=l+(b*660|0)+656|0;c[j>>2]=0;c[j>>2]=(Uj(3462688,l+(b*660|0)+388|0,l+(b*660|0)+260|0)|0)!=-1&1;b=b+1|0}while((b|0)<(c[q>>2]|0));Ca=e;return}function fk(b){b=b|0;var d=0,e=0;d=Ca;Ca=Ca+16|0;e=d;if(b|0?(Yq(b)|0)>>>0>=2:0){if((Yq(b)|0)>>>0<2)a[3481776]=0;else{c[e>>2]=51001;c[e+4>>2]=b;mq(3481776,50590,e)|0}Wj(b,0)|0;if(c[943666]|0){Ca=d;return}Kk(3774932,3481776)|0;Kk(3775956,3480752)|0;c[943666]=1;c[943667]=Vo()|0;c[943665]=hp(126)|0;Ca=d;return}c[943666]=0;ip(c[943665]|0);c[943665]=0;nb(50985,1500);c[1267393]=0;Ca=d;return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Oq(a+4|0,b+4|0)|0;e=(c[a+652>>2]|0)==2;f=c[b+652>>2]|0;if(e){if((f|0)!=2){g=-1;return g|0}}else if(!(e|(f|0)!=2)){g=1;return g|0}return ((d|0)==0?(a>>>0>>0?1:-1):d)|0}function hk(){return}function ik(a){a=a|0;c[943666]=0;ip(c[943665]|0);c[943665]=0;if(!a){c[1267393]=0;return}nb(a,1500);c[1267393]=0;return}function jk(){return 101}function kk(){return c[865946]|0}function lk(b){b=b|0;var d=0,e=0,f=0;d=3463788+(c[865963]|0)|0;e=a[d>>0]|0;if(!(e<<24>>24)){a[d+1>>0]=0;f=(b|0)>0?57:97;a[d>>0]=f;return}else{f=a[51033+((37-b+(e<<24>>24==57?36:e<<24>>24==56?35:e<<24>>24==55?34:e<<24>>24==54?33:e<<24>>24==53?32:e<<24>>24==52?31:e<<24>>24==51?30:e<<24>>24==50?29:e<<24>>24==49?28:e<<24>>24==48?27:e<<24>>24==122?26:e<<24>>24==121?25:e<<24>>24==120?24:e<<24>>24==119?23:e<<24>>24==118?22:e<<24>>24==117?21:e<<24>>24==116?20:e<<24>>24==115?19:e<<24>>24==114?18:e<<24>>24==113?17:e<<24>>24==112?16:e<<24>>24==111?15:e<<24>>24==110?14:e<<24>>24==109?13:e<<24>>24==108?12:e<<24>>24==107?11:e<<24>>24==106?10:e<<24>>24==105?9:e<<24>>24==104?8:e<<24>>24==103?7:e<<24>>24==102?6:e<<24>>24==101?5:e<<24>>24==100?4:e<<24>>24==99?3:e<<24>>24==98?2:e<<24>>24==97?1:(e<<24>>24!=32)<<31>>31)|0)%37|0)>>0]|0;a[d>>0]=f;return}}function mk(){Vo()|0;return} +function je(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;e=Ca;Ca=Ca+16|0;f=e+8|0;g=e;if((c[d+8>>2]|0)==(c[d+12>>2]|0))ee(b,d);else ie(b,d)|0;h=c[d>>2]|0;switch(h|0){case 1:case 3:case 2:{if((c[b+32>>2]|0)<256){if((h|0)==1){c[g+4>>2]=0;c[f>>2]=c[b+4>>2];c[f+4>>2]=69;i=ce(b,f,g)|0}else{c[f>>2]=(h|0)==2&1;c[f+4>>2]=1;i=ce(b,f,f)|0}c[d+4>>2]=i;c[d>>2]=4;j=i|256;Ca=e;return j|0}break}case 5:{i=d+4|0;h=c[i>>2]|0;c[f>>2]=h;k=c[(c[b+12>>2]|0)+32>>2]|0;c[g>>2]=h;c[g+4>>2]=3;if(!h){h=k+8|0;l=c[h>>2]|0;c[h>>2]=l+8;m=Cc(k,f,4)|0;c[l>>2]=m;c[l+4>>2]=(a[m+4>>0]|64)&255;m=ce(b,(c[h>>2]|0)+-8|0,g)|0;c[h>>2]=(c[h>>2]|0)+-8;n=m}else n=ce(b,g,g)|0;c[i>>2]=n;c[d>>2]=4;o=n;p=15;break}case 4:{o=c[d+4>>2]|0;p=15;break}default:{}}if((p|0)==15?(o|0)<256:0){j=o|256;Ca=e;return j|0}j=ie(b,d)|0;Ca=e;return j|0}function ke(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=Ca;Ca=Ca+80|0;j=i;k=i+16|0;l=i+4|0;m=e+28|0;n=c[m>>2]|0;o=e+32|0;p=c[o>>2]|0;q=c[n>>2]|0;r=n+36|0;n=q+56|0;s=c[n>>2]|0;if(((c[r>>2]|0)>=(s|0)?(t=q+16|0,u=Nd(p,c[t>>2]|0,n,4,262143,41305)|0,c[t>>2]=u,v=c[n>>2]|0,(s|0)<(v|0)):0)?(n=s+1|0,c[u+(s<<2)>>2]=0,(n|0)<(v|0)):0){s=n;do{c[(c[t>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=(v|0))}v=p+12|0;s=c[v>>2]|0;t=s+4|0;n=Ja[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!n){if(!(a[s+51>>0]|0))Zb(p,4);ic(p,1);u=Ja[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!u)Zb(p,4);else w=u}else w=n;n=s+12|0;c[n>>2]=(c[n>>2]|0)+80;n=s+56|0;u=w+5|0;a[u>>0]=a[s+48>>0]&3;a[w+4>>0]=9;c[w>>2]=c[n>>2];c[n>>2]=w;a[w+76>>0]=0;a[w+77>>0]=0;n=w+78|0;a[n>>0]=0;s=w+8|0;p=s+64|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=c[q+16>>2]|0;p=c[r>>2]|0;c[r>>2]=p+1;c[s+(p<<2)>>2]=w;do if(a[u>>0]&3?(p=q+5|0,s=a[p>>0]|0,s&4):0){r=c[v>>2]|0;if((d[r+49>>0]|0)<2){hc(r,w);break}else{a[p>>0]=a[r+48>>0]&3|s&-72;break}}while(0);c[k>>2]=w;c[w+64>>2]=h;v=c[o>>2]|0;c[k+8>>2]=c[m>>2];o=k+12|0;c[o>>2]=e;c[m>>2]=k;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=-1;c[k+32>>2]=0;c[k+36>>2]=0;q=k+44|0;c[q>>2]=0;a[q+4>>0]=0;c[k+40>>2]=c[(c[e+44>>2]|0)+4>>2];q=k+16|0;c[q>>2]=0;c[w+36>>2]=c[e+48>>2];a[n>>0]=2;n=c[v+12>>2]|0;w=n+4|0;u=Ja[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!u){if(!(a[n+51>>0]|0))Zb(v,4);ic(v,1);s=Ja[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!s)Zb(v,4);else x=s}else x=u;u=n+12|0;c[u>>2]=(c[u>>2]|0)+32;u=n+56|0;a[x+5>>0]=a[n+48>>0]&3;a[x+4>>0]=5;c[x>>2]=c[u>>2];c[u>>2]=x;c[x+8>>2]=0;a[x+6>>0]=-1;c[x+12>>2]=0;c[x+28>>2]=0;c[x+16>>2]=4209148;a[x+7>>0]=0;c[x+20>>2]=4209148;c[k+4>>2]=x;u=v+8|0;n=c[u>>2]|0;c[n>>2]=x;c[n+4>>2]=69;n=(c[u>>2]|0)+8|0;c[u>>2]=n;u=n;do if(((c[v+24>>2]|0)-u|0)<8){n=c[v+32>>2]|0;if((n|0)>1e6)Zb(v,6);x=(u-(c[v+28>>2]|0)>>3)+5|0;s=n<<1;n=(s|0)<1e6?s:1e6;s=(n|0)<(x|0)?x:n;if((s|0)>1e6){_b(v,1000200);$b(v,40049,j)}else{_b(v,s);break}}while(0);a[l+10>>0]=0;a[l+8>>0]=a[k+46>>0]|0;v=c[(c[o>>2]|0)+44>>2]|0;b[l+4>>1]=c[v+28>>2];b[l+6>>1]=c[v+16>>2];a[l+9>>0]=0;c[l>>2]=c[q>>2];c[q>>2]=l;l=e+12|0;if((c[l>>2]|0)!=40)Hd(e,40);q=e+4|0;v=e+8|0;c[v>>2]=c[q>>2];o=e+20|0;if((c[o>>2]|0)==286){j=Fd(e,e+16|0)|0;c[l>>2]=j;y=j}else{j=o;u=c[j>>2]|0;s=c[j+4>>2]|0;j=e+12|0;c[j>>2]=u;c[j+4>>2]=s;c[o>>2]=286;y=u}if(!g){g=c[m>>2]|0;z=g;A=c[g>>2]|0;B=y;C=g}else{ae(e,Ld(e,41315,4)|0);g=c[m>>2]|0;y=g+46|0;u=a[y>>0]|0;a[y>>0]=(u&255)+1;y=c[g>>2]|0;c[(c[y+24>>2]|0)+((b[(c[c[(c[g+12>>2]|0)+44>>2]>>2]|0)+((c[g+40>>2]|0)+(u+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[g+20>>2];z=g;A=y;B=c[l>>2]|0;C=g}g=A+77|0;a[g>>0]=0;a:do if((B|0)==41)D=0;else{y=e+16|0;u=e+12|0;s=0;j=B;b:while(1){switch(j|0){case 280:{break b;break}case 288:break;default:{E=43;break b}}n=c[y>>2]|0;c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=Fd(e,y)|0;else{x=o;w=c[x+4>>2]|0;r=u;c[r>>2]=c[x>>2];c[r+4>>2]=w;c[o>>2]=286}ae(e,n);n=s+1|0;if(a[g>>0]|0){D=n;break a}if((c[l>>2]|0)!=44){D=n;break a}c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){w=Fd(e,y)|0;c[l>>2]=w;F=w}else{w=o;r=c[w>>2]|0;x=c[w+4>>2]|0;w=u;c[w>>2]=r;c[w+4>>2]=x;c[o>>2]=286;F=r}s=n;j=F}if((E|0)==43)Md(e,41320);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=Fd(e,y)|0;else{j=o;n=c[j+4>>2]|0;r=u;c[r>>2]=c[j>>2];c[r+4>>2]=n;c[o>>2]=286}a[g>>0]=1;D=s}while(0);g=c[m>>2]|0;E=g+46|0;F=D+(d[E>>0]|0)|0;a[E>>0]=F;if(D|0){E=c[g+20>>2]|0;B=c[(c[g>>2]|0)+24>>2]|0;n=c[c[(c[g+12>>2]|0)+44>>2]>>2]|0;r=(c[g+40>>2]|0)+(F&255)|0;F=D;do{c[B+((b[n+(r-F<<1)>>1]|0)*12|0)+4>>2]=E;F=F+-1|0}while((F|0)!=0)}F=a[C+46>>0]|0;a[A+76>>0]=F;A=C+48|0;E=(d[A>>0]|0)+(F&255)|0;F=(c[z>>2]|0)+78|0;do if(E>>>0>(d[F>>0]|0)>>>0)if(E>>>0>249)Md(c[C+12>>2]|0,41091);else{z=E&255;a[F>>0]=z;G=z;break}else G=E&255;while(0);a[A>>0]=G;if((c[l>>2]|0)!=41)Hd(e,41);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){v=Fd(e,e+16|0)|0;c[l>>2]=v;H=v}else{v=o;G=c[v>>2]|0;A=c[v+4>>2]|0;v=e+12|0;c[v>>2]=G;c[v+4>>2]=A;c[o>>2]=286;H=G}G=H;c:while(1){switch(G|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Gd(e);if((G|0)==274)break;G=c[l>>2]|0}c[(c[k>>2]|0)+68>>2]=c[q>>2];Zd(e,262,265,h);h=c[(c[m>>2]|0)+8>>2]|0;m=Jd(h,(c[h+36>>2]<<14)+-16384|37)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=11;q=f+4|0;c[q>>2]=m;ee(h,f);if(((c[f>>2]|0)==6?(m=c[q>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[h+46>>0]|0):0){m=h+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24}m=h+48|0;q=a[m>>0]|0;k=(q&255)+1|0;l=(c[h>>2]|0)+78|0;if((q&255)<(d[l>>0]|0)){I=k&255;a[m>>0]=I;J=I&255;K=J+-1|0;fe(h,f,K);Id(e);Ca=i;return}if((q&255)>248)Md(c[h+12>>2]|0,41091);q=k&255;a[l>>0]=q;I=q;a[m>>0]=I;J=I&255;K=J+-1|0;fe(h,f,K);Id(e);Ca=i;return}function le(b,f,g){b=b|0;f=f|0;g=g|0;var h=0;switch(c[f>>2]|0){case 7:{if(((c[g>>2]|0)==6?(h=c[g+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[b+46>>0]|0):0){h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}fe(b,g,c[f+4>>2]|0);return}case 8:{Jd(b,(ie(b,g)|0)<<6|c[f+4>>2]<<23|9)|0;break}case 9:{h=f+4|0;f=(a[h+3>>0]|0)==7?10:8;Jd(b,(je(b,g)|0)<<14|f|d[h+2>>0]<<6|e[h>>1]<<23)|0;break}default:{}}if((c[g>>2]|0)!=6)return;h=c[g+4>>2]|0;if(h&256|0)return;if((h|0)<(d[b+46>>0]|0))return;h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24;return}function me(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Ca;Ca=Ca+32|0;h=g+16|0;i=g;j=e+28|0;k=c[j>>2]|0;l=e+4|0;m=c[l>>2]|0;n=e+12|0;switch(c[n>>2]|0){case 40:{o=e+8|0;c[o>>2]=m;p=e+20|0;if((c[p>>2]|0)==286)c[n>>2]=Fd(e,e+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=e+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}_d(e,f,0)|0;Zd(e,41,40,m);ee(c[j>>2]|0,f);t=p;u=p;v=o;break}case 288:{he(e,f);o=e+20|0;t=o;u=o;v=e+8|0;break}default:Md(e,41236)}o=f+8|0;p=f+12|0;r=e+16|0;s=e+12|0;q=f+4|0;w=k+48|0;x=h+8|0;y=h+12|0;z=k+46|0;A=h+4|0;B=i+8|0;C=i+12|0;D=i+4|0;E=h+4|0;F=i+8|0;G=i+12|0;H=i+4|0;I=f+4|0;J=I+2|0;K=I+3|0;a:while(1)switch(c[n>>2]|0){case 46:{L=c[j>>2]|0;if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))ie(L,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=Fd(e,r)|0;c[n>>2]=M;N=M}else{M=t;O=c[M>>2]|0;P=c[M+4>>2]|0;M=s;c[M>>2]=O;c[M+4>>2]=P;c[u>>2]=286;N=O}if((N|0)!=288){Q=17;break a}O=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Fd(e,r)|0;else{P=t;M=c[P+4>>2]|0;R=s;c[R>>2]=c[P>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=O;c[E>>2]=(a[O+4>>0]|64)&255;O=ce(M,h,h)|0;c[F>>2]=-1;c[G>>2]=-1;c[i>>2]=4;c[H>>2]=O;a[J>>0]=c[I>>2];b[I>>1]=je(L,i)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 91:{if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))ie(k,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Fd(e,r)|0;else{L=t;O=c[L+4>>2]|0;M=s;c[M>>2]=c[L>>2];c[M+4>>2]=O;c[u>>2]=286}_d(e,h,0)|0;O=c[j>>2]|0;if((c[x>>2]|0)==(c[y>>2]|0))ee(O,h);else ie(O,h)|0;if((c[n>>2]|0)!=93){Q=32;break a}c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Fd(e,r)|0;else{O=t;M=c[O+4>>2]|0;L=s;c[L>>2]=c[O>>2];c[L+4>>2]=M;c[u>>2]=286}a[J>>0]=c[I>>2];b[I>>1]=je(k,h)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 58:{c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=Fd(e,r)|0;c[n>>2]=M;S=M}else{M=t;L=c[M>>2]|0;O=c[M+4>>2]|0;M=s;c[M>>2]=L;c[M+4>>2]=O;c[u>>2]=286;S=L}if((S|0)!=288){Q=41;break a}L=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Fd(e,r)|0;else{O=t;M=c[O+4>>2]|0;R=s;c[R>>2]=c[O>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=L;c[A>>2]=(a[L+4>>0]|64)&255;L=ce(M,h,h)|0;c[B>>2]=-1;c[C>>2]=-1;c[i>>2]=4;c[D>>2]=L;oe(k,f,i);pe(e,f,m);break}case 123:case 289:case 40:{ee(k,f);if(((c[f>>2]|0)==6?(L=c[q>>2]|0,(L&256|0)==0):0)?(L|0)>=(d[z>>0]|0|0):0){L=(a[w>>0]|0)+-1<<24>>24;a[w>>0]=L;T=L}else T=a[w>>0]|0;L=(T&255)+1|0;M=(c[k>>2]|0)+78|0;if((T&255)<(d[M>>0]|0))U=L&255;else{if((T&255)>248){Q=54;break a}R=L&255;a[M>>0]=R;U=R}a[w>>0]=U;fe(k,f,(U&255)+-1|0);pe(e,f,m);break}default:{Q=58;break a}}if((Q|0)==17)Hd(e,288);else if((Q|0)==32)Hd(e,93);else if((Q|0)==41)Hd(e,288);else if((Q|0)==54)Md(c[k+12>>2]|0,41091);else if((Q|0)==58){Ca=g;return}}function ne(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,r=0,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=Ca;Ca=Ca+48|0;j=i+24|0;k=i;l=g+4|0;if(((c[l>>2]|0)+-7|0)>>>0>=3)Md(f,46323);m=f+12|0;a:do switch(c[m>>2]|0){case 44:{c[f+8>>2]=c[f+4>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=Fd(f,f+16|0)|0;else{o=n;p=c[o+4>>2]|0;q=f+12|0;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[n>>2]=286}c[k>>2]=g;n=k+4|0;me(f,n);p=c[n>>2]|0;if((p|0)!=9){n=c[f+28>>2]|0;q=n+48|0;o=a[q>>0]|0;r=k+8|0;s=o&255;t=(p|0)==7;u=g;v=0;while(1){if((c[u+4>>2]|0)==9){w=u+8|0;x=w+3|0;if((p|0)==(d[x>>0]|0)?(y=w+2|0,(c[r>>2]|0)==(d[y>>0]|0)):0){a[x>>0]=7;a[y>>0]=o;z=1}else z=v;if(t?(c[r>>2]|0)==(b[w>>1]|0):0){b[w>>1]=s;A=1}else A=z}else A=v;u=c[u>>2]|0;if(!u)break;else v=A}if(A|0){Jd(n,(o&255)<<6|((p|0)==7?0:5)|c[r>>2]<<23)|0;v=a[q>>0]|0;u=(v&255)+1|0;s=(c[n>>2]|0)+78|0;do if((v&255)>=(d[s>>0]|0))if((v&255)>248)Md(c[n+12>>2]|0,41091);else{t=u&255;a[s>>0]=t;B=t;break}else B=u&255;while(0);a[q>>0]=B}}if(((e[(c[f+32>>2]|0)+38>>1]|0)+h|0)>200)Xd(c[f+28>>2]|0,200,41047);else{ne(f,k,h+1|0);C=f+28|0;break a}break}case 61:{u=f+4|0;s=f+8|0;c[s>>2]=c[u>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=Fd(f,f+16|0)|0;else{v=n;r=c[v+4>>2]|0;p=f+12|0;c[p>>2]=c[v>>2];c[p+4>>2]=r;c[n>>2]=286}_d(f,j,0)|0;b:do if((c[m>>2]|0)==44){r=f+16|0;p=f+28|0;v=f+12|0;o=j+4|0;t=1;while(1){c[s>>2]=c[u>>2];if((c[n>>2]|0)==286)c[m>>2]=Fd(f,r)|0;else{w=n;y=c[w+4>>2]|0;x=v;c[x>>2]=c[w>>2];c[x+4>>2]=y;c[n>>2]=286}D=c[p>>2]|0;ee(D,j);if(((c[j>>2]|0)==6?(y=c[o>>2]|0,(y&256|0)==0):0)?(y|0)>=(d[D+46>>0]|0):0){y=D+48|0;a[y>>0]=(a[y>>0]|0)+-1<<24>>24}y=D+48|0;x=a[y>>0]|0;w=(x&255)+1|0;E=(c[D>>2]|0)+78|0;if((x&255)<(d[E>>0]|0))F=w&255;else{if((x&255)>248)break;x=w&255;a[E>>0]=x;F=x}a[y>>0]=F;fe(D,j,(F&255)+-1|0);_d(f,j,0)|0;y=t+1|0;if((c[m>>2]|0)==44)t=y;else{G=y;H=p;break b}}Md(c[D+12>>2]|0,41091)}else{G=1;H=f+28|0}while(0);n=c[H>>2]|0;if((G|0)!=(h|0)){ge(n,h,G,j);if((G|0)<=(h|0)){C=H;break a}u=(c[H>>2]|0)+48|0;a[u>>0]=h-G+(d[u>>0]|0);C=H;break a}switch(c[j>>2]|0){case 12:{c[j>>2]=6;u=j+4|0;c[u>>2]=(c[(c[(c[n>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]|0)>>>6&255;break}case 13:{u=(c[(c[n>>2]|0)+12>>2]|0)+(c[j+4>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607|16777216;c[j>>2]=11;break}default:{}}le(n,l,j);Ca=i;return}default:Hd(f,61)}while(0);f=c[C>>2]|0;C=(d[f+48>>0]|0)+-1|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=6;c[j+4>>2]=C;le(f,l,j);Ca=i;return}function oe(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;ie(b,e)|0;g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==6&(h&256|0)==0?(h|0)>=(d[b+46>>0]|0|0):0){i=b+48|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}i=b+48|0;c[g>>2]=d[i>>0];c[e>>2]=6;e=(d[i>>0]|0)+2|0;j=(c[b>>2]|0)+78|0;do if(e>>>0>(d[j>>0]|0)>>>0)if(e>>>0>249)Md(c[b+12>>2]|0,41091);else{k=e&255;a[j>>0]=k;l=k;break}else l=e&255;while(0);a[i>>0]=l;l=c[g>>2]|0;Jd(b,h<<23|l<<6|(je(b,f)|0)<<14|12)|0;if((c[f>>2]|0)!=6)return;l=c[f+4>>2]|0;if(l&256|0)return;if((l|0)<(d[b+46>>0]|0|0))return;a[i>>0]=(a[i>>0]|0)+-1<<24>>24;return}function pe(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,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;g=Ca;Ca=Ca+32|0;h=g+16|0;i=g;j=b+28|0;k=c[j>>2]|0;l=b+12|0;a:do switch(c[l>>2]|0){case 40:{m=b+4|0;n=b+8|0;c[n>>2]=c[m>>2];o=b+20|0;if((c[o>>2]|0)==286){p=Fd(b,b+16|0)|0;c[l>>2]=p;q=p}else{p=o;r=c[p>>2]|0;s=c[p+4>>2]|0;p=b+12|0;c[p>>2]=r;c[p+4>>2]=s;c[o>>2]=286;q=r}b:do if((q|0)==41)c[i>>2]=0;else{_d(b,i,0)|0;c:do if((c[l>>2]|0)==44){r=b+16|0;s=b+12|0;p=i+4|0;while(1){c[n>>2]=c[m>>2];if((c[o>>2]|0)==286)c[l>>2]=Fd(b,r)|0;else{t=o;u=c[t+4>>2]|0;v=s;c[v>>2]=c[t>>2];c[v+4>>2]=u;c[o>>2]=286}w=c[j>>2]|0;ee(w,i);if(((c[i>>2]|0)==6?(u=c[p>>2]|0,(u&256|0)==0):0)?(u|0)>=(d[w+46>>0]|0|0):0){u=w+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24}u=w+48|0;v=a[u>>0]|0;t=(v&255)+1|0;x=(c[w>>2]|0)+78|0;if((v&255)<(d[x>>0]|0))y=t&255;else{if((v&255)>248)break;v=t&255;a[x>>0]=v;y=v}a[u>>0]=y;fe(w,i,(y&255)+-1|0);_d(b,i,0)|0;if((c[l>>2]|0)!=44){z=i;break c}}Md(c[w+12>>2]|0,41091)}else z=i;while(0);switch(c[z>>2]|0){case 12:{p=(c[(c[k>>2]|0)+12>>2]|0)+(c[i+4>>2]<<2)|0;c[p>>2]=c[p>>2]&-8372225;break b;break}case 13:break;default:break b}p=c[k>>2]|0;s=c[p+12>>2]|0;r=i+4|0;u=s+(c[r>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607;u=s+(c[r>>2]<<2)|0;r=k+48|0;s=a[r>>0]|0;v=s&255;c[u>>2]=v<<6|c[u>>2]&-16321;u=v+1|0;v=p+78|0;do if((s&255)>=(d[v>>0]|0))if((s&255)>248)Md(c[k+12>>2]|0,41091);else{p=u&255;a[v>>0]=p;A=p;break}else A=u&255;while(0);a[r>>0]=A}while(0);Zd(b,41,40,f);break}case 123:{qe(b,i);break}case 289:{o=b+16|0;m=c[o>>2]|0;c[h>>2]=m;c[h+4>>2]=(a[m+4>>0]|64)&255;m=ce(k,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=m;c[b+8>>2]=c[b+4>>2];m=b+20|0;if((c[m>>2]|0)==286){c[l>>2]=Fd(b,o)|0;break a}else{o=m;n=c[o+4>>2]|0;u=b+12|0;c[u>>2]=c[o>>2];c[u+4>>2]=n;c[m>>2]=286;break a}break}default:Md(b,41254)}while(0);b=e+4|0;l=c[b>>2]|0;switch(c[i>>2]|0){case 0:{B=k+48|0;break}case 13:case 12:{C=0;D=l<<6;E=D|C;F=E|32797;G=Jd(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ca=g;return}default:{ee(k,i);if(((c[i>>2]|0)==6?(h=c[i+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[k+46>>0]|0|0):0){h=k+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=k+48|0;A=a[h>>0]|0;z=(A&255)+1|0;w=(c[k>>2]|0)+78|0;do if((A&255)>=(d[w>>0]|0))if((A&255)>248)Md(c[k+12>>2]|0,41091);else{y=z&255;a[w>>0]=y;T=y;break}else T=z&255;while(0);a[h>>0]=T;fe(k,i,(T&255)+-1|0);B=h}}C=((l^511)+(d[B>>0]|0)<<23)+8388608|0;D=l<<6;E=D|C;F=E|32797;G=Jd(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ca=g;return}function qe(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,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;f=Ca;Ca=Ca+32|0;g=f;h=b+28|0;i=c[h>>2]|0;j=b+4|0;k=c[j>>2]|0;l=Jd(i,11)|0;m=g+28|0;c[m>>2]=0;n=g+20|0;c[n>>2]=0;o=g+24|0;c[o>>2]=0;p=g+16|0;c[p>>2]=e;c[e+8>>2]=-1;c[e+12>>2]=-1;c[e>>2]=11;q=e+4|0;c[q>>2]=l;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=0;r=g+4|0;c[r>>2]=0;s=c[h>>2]|0;ee(s,e);if(((c[e>>2]|0)==6?(t=c[q>>2]|0,(t&256|0)==0):0)?(t|0)>=(d[s+46>>0]|0|0):0){t=s+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24}t=s+48|0;q=a[t>>0]|0;u=(q&255)+1|0;v=(c[s>>2]|0)+78|0;do if((q&255)>=(d[v>>0]|0))if((q&255)>248)Md(c[s+12>>2]|0,41091);else{w=u&255;a[v>>0]=w;x=w;break}else x=u&255;while(0);a[t>>0]=x;fe(s,e,(x&255)+-1|0);x=b+12|0;if((c[x>>2]|0)!=123)Hd(b,123);e=b+8|0;c[e>>2]=c[j>>2];s=b+20|0;if((c[s>>2]|0)==286){t=Fd(b,b+16|0)|0;c[x>>2]=t;y=t}else{t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=b+12|0;c[t>>2]=u;c[t+4>>2]=v;c[s>>2]=286;y=u}a:do if((y|0)!=125){u=b+24|0;v=b+20|0;t=i+48|0;q=i+46|0;w=b+16|0;z=b+12|0;A=0;b:while(1){if(A|0){ee(i,g);if(((c[g>>2]|0)==6?(B=c[r>>2]|0,(B&256|0)==0):0)?(B|0)>=(d[q>>0]|0|0):0){B=(a[t>>0]|0)+-1<<24>>24;a[t>>0]=B;C=B}else C=a[t>>0]|0;B=(C&255)+1|0;D=(c[i>>2]|0)+78|0;if((C&255)<(d[D>>0]|0))E=B&255;else{if((C&255)>248){F=28;break}G=B&255;a[D>>0]=G;E=G}a[t>>0]=E;fe(i,g,(E&255)+-1|0);c[g>>2]=0;if((c[m>>2]|0)==50){G=c[(c[p>>2]|0)+4>>2]|0;D=c[o>>2]|0;B=((D+-1|0)/50|0)+1|0;H=G<<6|419430436;if((D|0)<25551)Jd(i,B<<14|H)|0;else{Jd(i,H)|0;Jd(i,B<<6|39)|0}a[t>>0]=G+1;c[m>>2]=0}}c:do switch(c[x>>2]|0){case 288:{G=Fd(b,u)|0;c[v>>2]=G;if((G|0)==61){re(b,g);break c}_d(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=38;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1;break}case 91:{re(b,g);break}default:{_d(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=43;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1}}while(0);d:do switch(c[x>>2]|0){case 44:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){G=Fd(b,w)|0;c[x>>2]=G;I=G;break d}else{G=s;B=c[G>>2]|0;H=c[G+4>>2]|0;G=z;c[G>>2]=B;c[G+4>>2]=H;c[s>>2]=286;I=B;break d}break}case 59:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){B=Fd(b,w)|0;c[x>>2]=B;I=B;break d}else{B=s;H=c[B>>2]|0;G=c[B+4>>2]|0;B=z;c[B>>2]=H;c[B+4>>2]=G;c[s>>2]=286;I=H;break d}break}default:break a}while(0);if((I|0)==125)break a;A=c[g>>2]|0}if((F|0)==28)Md(c[i+12>>2]|0,41091);else if((F|0)==38)Xd(c[h>>2]|0,2147483645,41282);else if((F|0)==43)Xd(c[h>>2]|0,2147483645,41282)}while(0);Zd(b,125,123,k);k=c[m>>2]|0;do if(k|0){switch(c[g>>2]|0){case 0:{J=k;F=75;break}case 12:{b=(c[(c[i>>2]|0)+12>>2]|0)+(c[r>>2]<<2)|0;c[b>>2]=c[b>>2]&-8372225;F=61;break}case 13:{b=c[i>>2]|0;h=c[b+12>>2]|0;I=h+(c[r>>2]<<2)|0;c[I>>2]=c[I>>2]&8388607;I=h+(c[r>>2]<<2)|0;h=i+48|0;s=a[h>>0]|0;x=s&255;c[I>>2]=x<<6|c[I>>2]&-16321;I=x+1|0;x=b+78|0;do if((s&255)>=(d[x>>0]|0))if((s&255)>248)Md(c[i+12>>2]|0,41091);else{b=I&255;a[x>>0]=b;K=b;break}else K=I&255;while(0);a[h>>0]=K;F=61;break}default:{ee(i,g);if(((c[g>>2]|0)==6?(I=c[r>>2]|0,(I&256|0)==0):0)?(I|0)>=(d[i+46>>0]|0|0):0){I=i+48|0;a[I>>0]=(a[I>>0]|0)+-1<<24>>24}I=i+48|0;x=a[I>>0]|0;s=(x&255)+1|0;b=(c[i>>2]|0)+78|0;do if((x&255)>=(d[b>>0]|0))if((x&255)>248)Md(c[i+12>>2]|0,41091);else{j=s&255;a[b>>0]=j;L=j;break}else L=s&255;while(0);a[I>>0]=L;fe(i,g,(L&255)+-1|0);J=c[m>>2]|0;F=75}}if((F|0)==61){s=c[(c[p>>2]|0)+4>>2]|0;b=c[o>>2]|0;x=((b+-1|0)/50|0)+1|0;h=s<<6|36;if((b|0)<25551)Jd(i,x<<14|h)|0;else{Jd(i,h)|0;Jd(i,x<<6|39)|0}a[i+48>>0]=s+1;c[o>>2]=(c[o>>2]|0)+-1;break}else if((F|0)==75){s=c[(c[p>>2]|0)+4>>2]|0;x=c[o>>2]|0;h=((x+-1|0)/50|0)+1|0;b=((J|0)==-1?36:J<<23|36)|s<<6;if((x|0)<25551)Jd(i,h<<14|b)|0;else{Jd(i,b)|0;Jd(i,h<<6|39)|0}a[i+48>>0]=s+1;break}}while(0);J=(c[(c[i>>2]|0)+12>>2]|0)+(l<<2)|0;l=c[J>>2]&8388607;i=c[o>>2]|0;if(i>>>0<8)M=i;else{if(i>>>0>15){o=1;p=i;do{F=p+1|0;p=F>>>1;o=o+1|0}while(F>>>0>31);N=o<<3;O=p}else{N=8;O=i}M=N|O+-8}O=M<<23|l;c[J>>2]=O;l=O&-8372225;O=c[n>>2]|0;if(O>>>0<8){P=O;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ca=f;return}if(O>>>0>15){n=1;M=O;do{N=M+1|0;M=N>>>1;n=n+1|0}while(N>>>0>31);T=n<<3;U=M}else{T=8;U=O}P=T|U+-8;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ca=f;return}function re(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=Ca;Ca=Ca+48|0;f=e+32|0;g=e+16|0;h=e;i=b+28|0;j=c[i>>2]|0;k=j+48|0;l=a[k>>0]|0;m=b+12|0;do if((c[m>>2]|0)!=288){n=b+4|0;o=b+8|0;c[o>>2]=c[n>>2];p=b+20|0;if((c[p>>2]|0)==286)c[m>>2]=Fd(b,b+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=b+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}_d(b,g,0)|0;r=c[i>>2]|0;if((c[g+8>>2]|0)==(c[g+12>>2]|0))ee(r,g);else ie(r,g)|0;if((c[m>>2]|0)!=93)Hd(b,93);c[o>>2]=c[n>>2];if((c[p>>2]|0)==286){n=Fd(b,b+16|0)|0;c[m>>2]=n;t=n;break}else{n=p;o=c[n>>2]|0;r=c[n+4>>2]|0;n=b+12|0;c[n>>2]=o;c[n+4>>2]=r;c[p>>2]=286;t=o;break}}else{if((c[d+20>>2]|0)>2147483645)Xd(j,2147483645,41282);o=b+16|0;p=c[o>>2]|0;c[b+8>>2]=c[b+4>>2];r=b+20|0;if((c[r>>2]|0)==286){c[m>>2]=Fd(b,o)|0;u=c[i>>2]|0}else{o=r;n=c[o+4>>2]|0;s=b+12|0;c[s>>2]=c[o>>2];c[s+4>>2]=n;c[r>>2]=286;u=j}c[f>>2]=p;c[f+4>>2]=(a[p+4>>0]|64)&255;p=ce(u,f,f)|0;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=4;c[g+4>>2]=p;t=c[m>>2]|0}while(0);f=d+20|0;c[f>>2]=(c[f>>2]|0)+1;if((t|0)!=61)Hd(b,61);c[b+8>>2]=c[b+4>>2];t=b+20|0;if((c[t>>2]|0)==286){c[m>>2]=Fd(b,b+16|0)|0;v=je(j,g)|0;_d(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=je(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;Jd(j,G)|0;a[k>>0]=l;Ca=e;return}else{m=t;f=c[m+4>>2]|0;u=b+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=f;c[t>>2]=286;v=je(j,g)|0;_d(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=je(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;Jd(j,G)|0;a[k>>0]=l;Ca=e;return}}function se(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!e){i=0;return i|0}j=a[e+46>>0]|0;k=f+12|0;l=(j&255)+-1|0;m=c[e>>2]|0;a:do if(j<<24>>24){n=c[e+40>>2]|0;o=c[m+24>>2]|0;p=c[c[(c[e+12>>2]|0)+44>>2]>>2]|0;q=a[f+4>>0]|0;r=f+16|0;b:do if(q<<24>>24==4){s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if((t|0)==(f|0)&(a[t+4>>0]|0)==4){u=s;break b}if((s|0)>0)s=s+-1|0;else break a}}else{s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if(q<<24>>24==(a[t+4>>0]|0)){v=c[k>>2]|0;if((t|0)==(f|0)){u=s;break b}if((v|0)==(c[t+12>>2]|0)?(jq(r,t+16|0,v)|0)==0:0){u=s;break b}}if((s|0)>0)s=s+-1|0;else break a}}while(0);if((u|0)>-1){c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=7;c[g+4>>2]=u;if(h|0){i=7;return i|0}r=e+16|0;do r=c[r>>2]|0;while((u|0)<(d[r+8>>0]|0));a[r+9>>0]=1;i=7;return i|0}}while(0);u=c[m+28>>2]|0;m=a[e+47>>0]|0;c:do if(!(m<<24>>24))w=29;else{h=a[f+4>>0]|0;l=f+16|0;j=m&255;if(h<<24>>24==4){q=0;while(1){n=c[u+(q<<3)>>2]|0;if((a[n+4>>0]|0)==4&(n|0)==(f|0)){x=q;break c}q=q+1|0;if(q>>>0>=j>>>0){w=29;break c}}}q=0;while(1){r=c[u+(q<<3)>>2]|0;if((a[r+4>>0]|0)==h<<24>>24){n=c[r+12>>2]|0;if((r|0)==(f|0)){x=q;break c}if((n|0)==(c[k>>2]|0)?(jq(r+16|0,l,n)|0)==0:0){x=q;break c}}q=q+1|0;if(q>>>0>=j>>>0){w=29;break}}}while(0);do if((w|0)==29)if(!(se(c[e+8>>2]|0,f,g,0)|0)){i=0;return i|0}else{x=Ed(e,f,g)|0;break}while(0);c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=8;c[g+4>>2]=x;i=8;return i|0}function te(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Ca;Ca=Ca+16|0;g=f+8|0;h=f;ee(b,d);i=c[d>>2]|0;a:do switch(i|0){case 1:{j=e+1|0;k=c[b+20>>2]|0;do if((k|0)>(c[b+24>>2]|0)?(l=(c[(c[b>>2]|0)+12>>2]|0)+(k+-1<<2)|0,m=c[l>>2]|0,(m&63|0)==4):0){n=m>>>6&255;o=n+(m>>>23)|0;if((n|0)>(e|0)|(o+1|0)<(e|0)?(n|0)<(e|0)|(n|0)>(j|0):0)break;p=(n|0)<(e|0)?n:e;c[l>>2]=p<<6&16320|m&8372287|((o|0)>(e|0)?o:e)-p<<23;break a}while(0);Jd(b,e<<6|4)|0;break}case 2:case 3:{Jd(b,e<<6|((i|0)==2&1)<<23|3)|0;break}case 4:{j=c[d+4>>2]|0;k=e<<6;if((j|0)<262144){Jd(b,k|j<<14|1)|0;break a}else{Jd(b,k|2)|0;Jd(b,j<<6|39)|0;break a}break}case 5:{j=c[d+4>>2]|0;c[g>>2]=j;k=c[(c[b+12>>2]|0)+32>>2]|0;c[h>>2]=j;c[h+4>>2]=3;if(!j){j=k+8|0;p=c[j>>2]|0;c[j>>2]=p+8;o=Cc(k,g,4)|0;c[p>>2]=o;c[p+4>>2]=(a[o+4>>0]|64)&255;o=ce(b,(c[j>>2]|0)+-8|0,h)|0;c[j>>2]=(c[j>>2]|0)+-8;q=o}else q=ce(b,h,h)|0;o=e<<6;if((q|0)<262144){Jd(b,o|q<<14|1)|0;break a}else{Jd(b,o|2)|0;Jd(b,q<<6|39)|0;break a}break}case 11:{o=(c[(c[b>>2]|0)+12>>2]|0)+(c[d+4>>2]<<2)|0;c[o>>2]=c[o>>2]&-16321|e<<6&16320;break}case 6:{o=c[d+4>>2]|0;if((o|0)!=(e|0))Jd(b,o<<23|e<<6)|0;break}default:{Ca=f;return}}while(0);c[d+4>>2]=e;c[d>>2]=6;Ca=f;return}function ue(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=Ca;Ca=Ca+16|0;i=h;c[i+12>>2]=-1;c[i+8>>2]=-1;c[i>>2]=5;c[i+4>>2]=0;switch(e|0){case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0){e=f+4|0;c[e>>2]=0-(c[e>>2]|0);Ca=h;return}ie(b,f)|0;xe(b,19,f,i,g);Ca=h;return}case 1:{ee(b,f);switch(c[f>>2]|0){case 3:case 1:{c[f>>2]=2;break}case 2:case 5:case 4:{c[f>>2]=3;break}case 10:{e=c[f+4>>2]|0;j=(c[(c[b>>2]|0)+12>>2]|0)+(e<<2)|0;if((e|0)>0?(e=j+-4|0,k=c[e>>2]|0,((k&63)+-24|0)>>>0<5):0){l=e;m=k}else{l=j;m=c[j>>2]|0}c[l>>2]=((m&16320|0)==0&1)<<6|m&-16321;break}case 6:{n=21;break}case 11:{m=b+48|0;l=a[m>>0]|0;j=(l&255)+1|0;k=(c[b>>2]|0)+78|0;do if((l&255)>=(d[k>>0]|0))if((l&255)>248)Md(c[b+12>>2]|0,41091);else{e=j&255;a[k>>0]=e;o=e;break}else o=j&255;while(0);a[m>>0]=o;te(b,f,(o&255)+-1|0);if((c[f>>2]|0)==6)n=21;else{p=f+4|0;n=24}break}default:{}}if((n|0)==21){o=f+4|0;m=c[o>>2]|0;if((m&256|0)==0?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;p=o;n=24}else{p=o;n=24}}if((n|0)==24){c[p>>2]=Jd(b,c[p>>2]<<23|20)|0;c[f>>2]=11}p=f+12|0;n=c[p>>2]|0;o=f+8|0;m=c[o>>2]|0;c[p>>2]=m;c[o>>2]=n;if((m|0)==-1)q=n;else{n=c[(c[b>>2]|0)+12>>2]|0;p=m;do{m=n+(p<<2)|0;if((p|0)>0?(j=m+-4|0,k=c[j>>2]|0,((k&63)+-24|0)>>>0<5):0){r=j;s=k}else{r=m;s=c[m>>2]|0}if((s&63|0)==28)c[r>>2]=s&8372224|s>>>23<<6|27;k=((c[m>>2]|0)>>>14)+-131071|0;p=(k|0)==-1?-1:p+1+k|0}while((p|0)!=-1);q=c[o>>2]|0}if((q|0)==-1){Ca=h;return}o=c[(c[b>>2]|0)+12>>2]|0;p=q;do{q=o+(p<<2)|0;if((p|0)>0?(s=q+-4|0,r=c[s>>2]|0,((r&63)+-24|0)>>>0<5):0){t=s;u=r}else{t=q;u=c[q>>2]|0}if((u&63|0)==28)c[t>>2]=u&8372224|u>>>23<<6|27;r=((c[q>>2]|0)>>>14)+-131071|0;p=(r|0)==-1?-1:p+1+r|0}while((p|0)!=-1);Ca=h;return}case 2:{ie(b,f)|0;xe(b,21,f,i,g);Ca=h;return}default:{Ca=h;return}}}function ve(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;switch(e|0){case 13:{$d(b,f);return}case 14:{ze(b,f);return}case 6:{ee(b,f);if(((c[f>>2]|0)==6?(e=c[f+4>>2]|0,(e&256|0)==0):0)?(e|0)>=(d[b+46>>0]|0|0):0){e=b+48|0;a[e>>0]=(a[e>>0]|0)+-1<<24>>24}e=b+48|0;g=a[e>>0]|0;h=(g&255)+1|0;i=(c[b>>2]|0)+78|0;do if((g&255)>=(d[i>>0]|0))if((g&255)>248)Md(c[b+12>>2]|0,41091);else{j=h&255;a[i>>0]=j;k=j;break}else k=h&255;while(0);a[e>>0]=k;fe(b,f,(k&255)+-1|0);return}case 5:case 4:case 3:case 2:case 1:case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)return;je(b,f)|0;return}default:{je(b,f)|0;return}}}function we(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;switch(e|0){case 13:{ee(b,g);i=g+12|0;j=c[f+12>>2]|0;do if((j|0)!=-1){k=c[i>>2]|0;if((k|0)==-1){c[i>>2]=j;break}l=c[(c[b>>2]|0)+12>>2]|0;m=k;while(1){n=l+(m<<2)|0;o=c[n>>2]|0;k=(o>>>14)+-131071|0;p=(k|0)==-1?-1:m+1+k|0;if((p|0)==-1)break;else m=p}l=j+~m|0;if((((l|0)>-1?l:0-l|0)|0)>131071)Md(c[b+12>>2]|0,40713);else{c[n>>2]=(l<<14)+2147467264|o&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 14:{ee(b,g);o=g+8|0;n=c[f+8>>2]|0;do if((n|0)!=-1){j=c[o>>2]|0;if((j|0)==-1){c[o>>2]=n;break}i=c[(c[b>>2]|0)+12>>2]|0;l=j;while(1){q=i+(l<<2)|0;r=c[q>>2]|0;j=(r>>>14)+-131071|0;p=(j|0)==-1?-1:l+1+j|0;if((p|0)==-1)break;else l=p}i=n+~l|0;if((((i|0)>-1?i:0-i|0)|0)>131071)Md(c[b+12>>2]|0,40713);else{c[q>>2]=(i<<14)+2147467264|r&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 6:{if((c[g+8>>2]|0)==(c[g+12>>2]|0))ee(b,g);else ie(b,g)|0;if((c[g>>2]|0)==11?(r=c[(c[b>>2]|0)+12>>2]|0,q=g+4|0,n=r+(c[q>>2]<<2)|0,o=c[n>>2]|0,(o&63|0)==22):0){i=f+4|0;if(((c[f>>2]|0)==6?(m=c[i>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;m=r+(c[q>>2]<<2)|0;s=m;t=c[m>>2]|0}else{s=n;t=o}c[s>>2]=c[i>>2]<<23|t&8388607;c[f>>2]=11;c[i>>2]=c[q>>2];return}ee(b,g);if(((c[g>>2]|0)==6?(q=c[g+4>>2]|0,(q&256|0)==0):0)?(q|0)>=(d[b+46>>0]|0|0):0){q=b+48|0;a[q>>0]=(a[q>>0]|0)+-1<<24>>24}q=b+48|0;i=a[q>>0]|0;t=(i&255)+1|0;s=(c[b>>2]|0)+78|0;do if((i&255)>=(d[s>>0]|0))if((i&255)>248)Md(c[b+12>>2]|0,41091);else{o=t&255;a[s>>0]=o;u=o;break}else u=t&255;while(0);a[q>>0]=u;fe(b,g,(u&255)+-1|0);xe(b,22,f,g,h);return}case 5:case 4:case 3:case 2:case 1:case 0:{xe(b,e+13|0,f,g,h);return}case 9:case 8:case 7:{ye(b,e+17|0,1,f,g);return}case 12:case 11:case 10:{ye(b,e+14|0,0,f,g);return}default:return}}function xe(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;if(((((((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)?(c[g>>2]|0)==5:0)?(c[g+8>>2]|0)==-1:0)?(c[g+12>>2]|0)==-1:0)?(i=c[g+4>>2]|0,!((e|1|0)==17&(i|0)==0)):0){j=f+4|0;k=c[j>>2]|0;switch(e|0){case 13:{l=k+i|0;break}case 14:{l=k-i|0;break}case 15:{l=hj(k,i)|0;break}case 16:{l=ij(k,i)|0;break}case 17:{l=jj(k,i)|0;break}case 18:{l=kj(k,i)|0;break}case 19:{l=0-k|0;break}default:l=0}c[j>>2]=l;return}switch(e|0){case 19:case 21:{m=0;break}default:m=je(b,g)|0}l=je(b,f)|0;if((l|0)>(m|0)){if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}else{if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}c[f+4>>2]=Jd(b,m<<14|e|l<<23)|0;c[f>>2]=11;c[(c[(c[b>>2]|0)+20>>2]|0)+((c[b+20>>2]|0)+-1<<2)>>2]=h;return}function ye(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;i=je(b,g)|0;j=je(b,h)|0;if(((c[h>>2]|0)==6?(k=c[h+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(k=c[g+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}k=(e|0)!=24&(f|0)==0;Jd(b,(k?64:f<<6)|e|(k?j:i)<<23|(k?i:j)<<14)|0;j=b+28|0;i=c[j>>2]|0;c[j>>2]=-1;j=Jd(b,2147450903)|0;if((i|0)==-1){l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}if((j|0)==-1){l=i;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}k=c[(c[b>>2]|0)+12>>2]|0;e=j;while(1){n=k+(e<<2)|0;o=c[n>>2]|0;f=(o>>>14)+-131071|0;h=(f|0)==-1?-1:e+1+f|0;if((h|0)==-1)break;else e=h}k=i+~e|0;if((((k|0)>-1?k:0-k|0)|0)>131071)Md(c[b+12>>2]|0,40713);c[n>>2]=(k<<14)+2147467264|o&16383;l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}function ze(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;ee(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=c[e+4>>2]|0;h=29;break}case 3:case 1:break;case 11:{i=c[b>>2]|0;j=e+4|0;k=c[(c[i+12>>2]|0)+(c[j>>2]<<2)>>2]|0;l=b+20|0;if((k&63|0)==20){c[l>>2]=(c[l>>2]|0)+-1;Jd(b,k>>>23<<6|27)|0;k=b+28|0;l=c[k>>2]|0;c[k>>2]=-1;k=Jd(b,2147450903)|0;if((l|0)!=-1)if((k|0)!=-1){m=c[(c[b>>2]|0)+12>>2]|0;n=k;while(1){o=m+(n<<2)|0;p=c[o>>2]|0;q=(p>>>14)+-131071|0;r=(q|0)==-1?-1:n+1+q|0;if((r|0)==-1)break;else n=r}m=l+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071)Md(c[b+12>>2]|0,40713);else{c[o>>2]=(m<<14)+2147467264|p&16383;g=k;h=29;break a}}else{s=l;h=30}else{g=k;h=29}}else{t=j;u=i;h=13}break}default:{m=e+4|0;if((f|0)==6){v=m;h=19}else{t=m;u=c[b>>2]|0;h=13}}}while(0);if((h|0)==13){f=b+48|0;p=a[f>>0]|0;o=(p&255)+1|0;m=u+78|0;do if((p&255)>=(d[m>>0]|0))if((p&255)>248)Md(c[b+12>>2]|0,41091);else{u=o&255;a[m>>0]=u;w=u;break}else w=o&255;while(0);a[f>>0]=w;te(b,e,(w&255)+-1|0);if((c[e>>2]|0)==6){v=t;h=19}else{x=t;h=22}}if((h|0)==19){t=c[e+4>>2]|0;if((t&256|0)==0?(t|0)>=(d[b+46>>0]|0|0):0){t=b+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24;x=v;h=22}else{x=v;h=22}}do if((h|0)==22){Jd(b,c[x>>2]<<23|32732)|0;v=b+28|0;t=c[v>>2]|0;c[v>>2]=-1;v=Jd(b,2147450903)|0;if((t|0)!=-1)if((v|0)!=-1){w=c[(c[b>>2]|0)+12>>2]|0;f=v;while(1){y=w+(f<<2)|0;z=c[y>>2]|0;o=(z>>>14)+-131071|0;m=(o|0)==-1?-1:f+1+o|0;if((m|0)==-1)break;else f=m}w=t+~f|0;if((((w|0)>-1?w:0-w|0)|0)>131071)Md(c[b+12>>2]|0,40713);else{c[y>>2]=(w<<14)+2147467264|z&16383;g=v;h=29;break}}else{s=t;h=30}else{g=v;h=29}}while(0);if((h|0)==29?(g|0)!=-1:0){s=g;h=30}do if((h|0)==30){g=e+8|0;z=c[g>>2]|0;if((z|0)==-1){c[g>>2]=s;break}g=c[(c[b>>2]|0)+12>>2]|0;y=z;while(1){A=g+(y<<2)|0;B=c[A>>2]|0;z=(B>>>14)+-131071|0;x=(z|0)==-1?-1:y+1+z|0;if((x|0)==-1)break;else y=x}g=s+~y|0;if((((g|0)>-1?g:0-g|0)|0)>131071)Md(c[b+12>>2]|0,40713);else{c[A>>2]=(g<<14)+2147467264|B&16383;break}}while(0);B=e+12|0;e=c[B>>2]|0;c[b+24>>2]=c[b+20>>2];A=b+28|0;if((e|0)==-1){c[B>>2]=-1;return}s=c[A>>2]|0;if((s|0)==-1){c[A>>2]=e;c[B>>2]=-1;return}A=c[(c[b>>2]|0)+12>>2]|0;h=s;while(1){C=A+(h<<2)|0;D=c[C>>2]|0;s=(D>>>14)+-131071|0;g=(s|0)==-1?-1:h+1+s|0;if((g|0)==-1)break;else h=g}A=e+~h|0;if((((A|0)>-1?A:0-A|0)|0)>131071)Md(c[b+12>>2]|0,40713);c[C>>2]=(A<<14)+2147467264|D&16383;c[B>>2]=-1;return}function Ae(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ca;Ca=Ca+16|0;e=b;f=c[a>>2]|0;g=a+36|0;h=c[g>>2]|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(!i){i=Ia[c[h+8>>2]&7](c[h+16>>2]|0,c[h+12>>2]|0,e)|0;j=c[e>>2]|0;if((i|0)==0|(j|0)==0)k=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;k=d[i>>0]|0}l=k}else{k=h+4|0;h=c[k>>2]|0;c[k>>2]=h+1;l=d[h>>0]|0}c[a>>2]=l;switch(l|0){case 13:case 10:{if((l|0)!=(f|0)){f=c[g>>2]|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(!g){g=Ia[c[f+8>>2]&7](c[f+16>>2]|0,c[f+12>>2]|0,e)|0;l=c[e>>2]|0;if((g|0)==0|(l|0)==0)m=-1;else{c[f>>2]=l+-1;c[f+4>>2]=g+1;m=d[g>>0]|0}n=m}else{m=f+4|0;f=c[m>>2]|0;c[m>>2]=f+1;n=d[f>>0]|0}c[a>>2]=n}break}default:{}}n=a+4|0;f=c[n>>2]|0;c[n>>2]=f+1;if((f|0)>2147483643)Md(a,41735);else{Ca=b;return}}function Be(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,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;e=Ca;Ca=Ca+16|0;f=e;g=c[b>>2]|0;h=b+40|0;i=c[h>>2]|0;j=i+4|0;k=c[j>>2]|0;l=k+1|0;m=i+8|0;n=c[m>>2]|0;if(l>>>0>n>>>0){if(n>>>0>2147483645)Vd(b,40941,0);o=n<<1;p=c[b+32>>2]|0;if((o|0)==-2)jc(p);q=c[i>>2]|0;r=c[p+12>>2]|0;s=(q|0)==0;t=r+4|0;u=Ja[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[r+51>>0]|0))Zb(p,4);ic(p,1);v=Ja[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if(!v)Zb(p,4);else w=v}else w=u;u=r+12|0;c[u>>2]=(s?0:0-n|0)+o+(c[u>>2]|0);c[i>>2]=w;c[m>>2]=o;o=c[j>>2]|0;x=o+1|0;y=w;z=o}else{x=l;y=c[i>>2]|0;z=k}c[j>>2]=x;a[y+z>>0]=g;z=b+36|0;y=c[z>>2]|0;x=c[y>>2]|0;c[y>>2]=x+-1;if(!x){x=Ia[c[y+8>>2]&7](c[y+16>>2]|0,c[y+12>>2]|0,f)|0;j=c[f>>2]|0;if((x|0)==0|(j|0)==0)A=-1;else{c[y>>2]=j+-1;c[y+4>>2]=x+1;A=d[x>>0]|0}B=A}else{A=y+4|0;y=c[A>>2]|0;c[A>>2]=y+1;B=d[y>>0]|0}c[b>>2]=B;if((B|0)!=61){C=0;D=B;E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Ca=e;return G|0}B=b+32|0;y=0;while(1){A=c[h>>2]|0;x=A+4|0;j=c[x>>2]|0;k=j+1|0;i=A+8|0;l=c[i>>2]|0;if(k>>>0>l>>>0){if(l>>>0>2147483645){H=22;break}o=l<<1;I=c[B>>2]|0;if((o|0)==-2){H=24;break}w=c[A>>2]|0;m=c[I+12>>2]|0;u=(w|0)==0;n=m+4|0;s=Ja[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if((o|0)!=0&(s|0)==0){if(!(a[m+51>>0]|0)){H=28;break}ic(I,1);r=Ja[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if(!r){H=28;break}else J=r}else J=s;s=m+12|0;c[s>>2]=(u?0:0-l|0)+o+(c[s>>2]|0);c[A>>2]=J;c[i>>2]=o;o=c[x>>2]|0;K=o+1|0;L=J;M=o}else{K=k;L=c[A>>2]|0;M=j}c[x>>2]=K;a[L+M>>0]=61;x=c[z>>2]|0;j=c[x>>2]|0;c[x>>2]=j+-1;if(!j){j=Ia[c[x+8>>2]&7](c[x+16>>2]|0,c[x+12>>2]|0,f)|0;A=c[f>>2]|0;if((j|0)==0|(A|0)==0)N=-1;else{c[x>>2]=A+-1;c[x+4>>2]=j+1;N=d[j>>0]|0}O=N}else{j=x+4|0;x=c[j>>2]|0;c[j>>2]=x+1;O=d[x>>0]|0}c[b>>2]=O;x=y+1|0;if((O|0)==61)y=x;else{C=x;D=O;H=36;break}}if((H|0)==22)Vd(b,40941,0);else if((H|0)==24)jc(I);else if((H|0)==28)Zb(I,4);else if((H|0)==36){E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Ca=e;return G|0}return 0}function Ce(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,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;g=Ca;Ca=Ca+16|0;h=g;i=c[b>>2]|0;j=b+40|0;k=c[j>>2]|0;l=k+4|0;m=c[l>>2]|0;n=m+1|0;o=k+8|0;p=c[o>>2]|0;if(n>>>0>p>>>0){if(p>>>0>2147483645)Vd(b,40941,0);q=p<<1;r=c[b+32>>2]|0;if((q|0)==-2)jc(r);s=c[k>>2]|0;t=c[r+12>>2]|0;u=(s|0)==0;v=t+4|0;w=Ja[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if((q|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))Zb(r,4);ic(r,1);x=Ja[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if(!x)Zb(r,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-p|0)+q+(c[w>>2]|0);c[k>>2]=y;c[o>>2]=q;q=c[l>>2]|0;z=q+1|0;A=y;B=q}else{z=n;A=c[k>>2]|0;B=m}c[l>>2]=z;a[A+B>>0]=i;i=b+36|0;B=c[i>>2]|0;A=c[B>>2]|0;c[B>>2]=A+-1;if(!A){A=Ia[c[B+8>>2]&7](c[B+16>>2]|0,c[B+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)C=-1;else{c[B>>2]=z+-1;c[B+4>>2]=A+1;C=d[A>>0]|0}D=C}else{C=B+4|0;B=c[C>>2]|0;c[C>>2]=B+1;D=d[B>>0]|0}c[b>>2]=D;switch(D|0){case 13:case 10:{Ae(b);break}default:{}}D=(e|0)==0;B=b+32|0;a:while(1){C=c[b>>2]|0;b:do switch(C|0){case -1:{E=21;break a;break}case 93:{if((Be(b)|0)==(f|0)){E=23;break a}break}case 13:case 10:{A=c[j>>2]|0;z=A+4|0;l=c[z>>2]|0;m=l+1|0;k=A+8|0;n=c[k>>2]|0;if(m>>>0>n>>>0){if(n>>>0>2147483645){E=43;break a}q=n<<1;F=c[B>>2]|0;if((q|0)==-2){E=45;break a}y=c[A>>2]|0;o=c[F+12>>2]|0;w=(y|0)==0;p=o+4|0;u=Ja[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if((q|0)!=0&(u|0)==0){if(!(a[o+51>>0]|0)){E=49;break a}ic(F,1);t=Ja[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if(!t){E=49;break a}else G=t}else G=u;u=o+12|0;c[u>>2]=(w?0:0-n|0)+q+(c[u>>2]|0);c[A>>2]=G;c[k>>2]=q;q=c[z>>2]|0;H=q+1|0;I=G;J=q}else{H=m;I=c[A>>2]|0;J=l}c[z>>2]=H;a[I+J>>0]=10;Ae(b);if(D)c[(c[j>>2]|0)+4>>2]=0;break}default:{if(D){z=c[i>>2]|0;l=c[z>>2]|0;c[z>>2]=l+-1;if(!l){l=Ia[c[z+8>>2]&7](c[z+16>>2]|0,c[z+12>>2]|0,h)|0;A=c[h>>2]|0;if((l|0)==0|(A|0)==0)K=-1;else{c[z>>2]=A+-1;c[z+4>>2]=l+1;K=d[l>>0]|0}L=K}else{l=z+4|0;z=c[l>>2]|0;c[l>>2]=z+1;L=d[z>>0]|0}c[b>>2]=L;break b}z=c[j>>2]|0;l=z+4|0;A=c[l>>2]|0;m=A+1|0;q=z+8|0;k=c[q>>2]|0;if(m>>>0>k>>>0){if(k>>>0>2147483645){E=58;break a}u=k<<1;M=c[B>>2]|0;if((u|0)==-2){E=60;break a}n=c[z>>2]|0;w=c[M+12>>2]|0;o=(n|0)==0;t=w+4|0;y=Ja[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if((u|0)!=0&(y|0)==0){if(!(a[w+51>>0]|0)){E=64;break a}ic(M,1);p=Ja[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if(!p){E=64;break a}else N=p}else N=y;y=w+12|0;c[y>>2]=(o?0:0-k|0)+u+(c[y>>2]|0);c[z>>2]=N;c[q>>2]=u;u=c[l>>2]|0;O=u+1|0;P=N;Q=u}else{O=m;P=c[z>>2]|0;Q=A}c[l>>2]=O;a[P+Q>>0]=C;l=c[i>>2]|0;A=c[l>>2]|0;c[l>>2]=A+-1;if(!A){A=Ia[c[l+8>>2]&7](c[l+16>>2]|0,c[l+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)R=-1;else{c[l>>2]=z+-1;c[l+4>>2]=A+1;R=d[A>>0]|0}S=R}else{A=l+4|0;l=c[A>>2]|0;c[A>>2]=l+1;S=d[l>>0]|0}c[b>>2]=S}}while(0)}if((E|0)==21)Vd(b,D?41688:41712,286);else if((E|0)==23){S=c[b>>2]|0;R=c[j>>2]|0;Q=R+4|0;P=c[Q>>2]|0;O=P+1|0;N=R+8|0;L=c[N>>2]|0;if(O>>>0>L>>>0){if(L>>>0>2147483645)Vd(b,40941,0);K=L<<1;J=c[B>>2]|0;if((K|0)==-2)jc(J);B=c[R>>2]|0;I=c[J+12>>2]|0;H=(B|0)==0;G=I+4|0;C=Ja[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if((K|0)!=0&(C|0)==0){if(!(a[I+51>>0]|0))Zb(J,4);ic(J,1);l=Ja[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if(!l)Zb(J,4);else T=l}else T=C;C=I+12|0;c[C>>2]=(H?0:0-L|0)+K+(c[C>>2]|0);c[R>>2]=T;c[N>>2]=K;K=c[Q>>2]|0;U=K+1|0;V=T;W=K}else{U=O;V=c[R>>2]|0;W=P}c[Q>>2]=U;a[V+W>>0]=S;S=c[i>>2]|0;i=c[S>>2]|0;c[S>>2]=i+-1;if(!i){i=Ia[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,h)|0;W=c[h>>2]|0;if((i|0)==0|(W|0)==0)X=-1;else{c[S>>2]=W+-1;c[S+4>>2]=i+1;X=d[i>>0]|0}Y=X}else{X=S+4|0;S=c[X>>2]|0;c[X>>2]=S+1;Y=d[S>>0]|0}c[b>>2]=Y;if(D){Ca=g;return}D=c[j>>2]|0;j=f+2|0;c[e>>2]=Ld(b,(c[D>>2]|0)+j|0,(c[D+4>>2]|0)-(j<<1)|0)|0;Ca=g;return}else if((E|0)==43)Vd(b,40941,0);else if((E|0)==45)jc(F);else if((E|0)==49)Zb(F,4);else if((E|0)==58)Vd(b,40941,0);else if((E|0)==60)jc(M);else if((E|0)==64)Zb(M,4)}function De(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[(c[a+40>>2]|0)+4>>2]=0;Ee(a,92);a:do if((d|0)>0){f=0;do{g=c[b+(f<<2)>>2]|0;if((g|0)==-1)break a;Ee(a,g);f=f+1|0}while((f|0)<(d|0))}while(0);Vd(a,e,289)}function Ee(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;e=c[b+40>>2]|0;f=e+4|0;g=c[f>>2]|0;h=g+1|0;i=e+8|0;j=c[i>>2]|0;if(h>>>0<=j>>>0){k=h;l=c[e>>2]|0;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}if(j>>>0>2147483645)Vd(b,40941,0);g=j<<1;h=c[b+32>>2]|0;if((g|0)==-2)jc(h);b=Fe(h,c[e>>2]|0,j,g)|0;c[e>>2]=b;c[i>>2]=g;g=c[f>>2]|0;k=g+1|0;l=b;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}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;g=c[b+12>>2]|0;h=(d|0)==0;i=g+4|0;j=Ja[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if((f|0)!=0&(j|0)==0){if(!(a[g+51>>0]|0))Zb(b,4);ic(b,1);k=Ja[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if(!k)Zb(b,4);else l=k}else l=j;j=g+12|0;c[j>>2]=(h?0:0-e|0)+f+(c[j>>2]|0);return l|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ca;Ca=Ca+16|0;e=d;d=c[a>>2]|0;c[e>>2]=c[a+12>>2];c[e+4>>2]=b;Xc(d,41842,e)|0;Zb(c[a>>2]|0,3)}function He(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ka=0,La=0,Ma=0,Na=0,Oa=0;e=Ca;Ca=Ca+16|0;f=e+4|0;g=e;h=b+4|0;i=c[h>>2]|0;j=i+16|0;k=i+8|0;l=i+12|0;m=i+4|0;n=4;o=g;p=c[i>>2]|0;while(1){if(!p){q=Ia[c[k>>2]&7](c[j>>2]|0,c[l>>2]|0,f)|0;r=c[f>>2]|0;if((q|0)==0|(r|0)==0){s=7;break}c[i>>2]=r;c[m>>2]=q;t=r;u=q}else{t=p;u=c[m>>2]|0}q=n>>>0>t>>>0?t:n;Os(o|0,u|0,q|0)|0;p=(c[i>>2]|0)-q|0;c[i>>2]=p;c[m>>2]=(c[m>>2]|0)+q;n=n-q|0;if(!n)break;else o=o+q|0}if((s|0)==7)Ge(b,41783);o=c[g>>2]|0;if((o|0)<0)Ge(b,41832);c[d+64>>2]=o;o=c[h>>2]|0;n=o+16|0;m=o+8|0;p=o+12|0;i=o+4|0;u=4;t=g;l=c[o>>2]|0;while(1){if(!l){j=Ia[c[m>>2]&7](c[n>>2]|0,c[p>>2]|0,f)|0;k=c[f>>2]|0;if((j|0)==0|(k|0)==0){s=16;break}c[o>>2]=k;c[i>>2]=j;v=k;w=j}else{v=l;w=c[i>>2]|0}j=u>>>0>v>>>0?v:u;Os(t|0,w|0,j|0)|0;l=(c[o>>2]|0)-j|0;c[o>>2]=l;c[i>>2]=(c[i>>2]|0)+j;u=u-j|0;if(!u)break;else t=t+j|0}if((s|0)==16)Ge(b,41783);t=c[g>>2]|0;if((t|0)<0)Ge(b,41832);c[d+68>>2]=t;t=c[h>>2]|0;u=t+16|0;i=t+8|0;l=t+12|0;o=t+4|0;w=1;v=g;p=c[t>>2]|0;while(1){if(!p){n=Ia[c[i>>2]&7](c[u>>2]|0,c[l>>2]|0,f)|0;m=c[f>>2]|0;if((n|0)==0|(m|0)==0){s=25;break}c[t>>2]=m;c[o>>2]=n;x=m;y=n}else{x=p;y=c[o>>2]|0}n=w>>>0>x>>>0?x:w;Os(v|0,y|0,n|0)|0;p=(c[t>>2]|0)-n|0;c[t>>2]=p;c[o>>2]=(c[o>>2]|0)+n;w=w-n|0;if(!w)break;else v=v+n|0}if((s|0)==25)Ge(b,41783);a[d+76>>0]=a[g>>0]|0;v=c[h>>2]|0;w=v+16|0;o=v+8|0;p=v+12|0;t=v+4|0;y=1;x=g;l=c[v>>2]|0;while(1){if(!l){u=Ia[c[o>>2]&7](c[w>>2]|0,c[p>>2]|0,f)|0;i=c[f>>2]|0;if((u|0)==0|(i|0)==0){s=32;break}c[v>>2]=i;c[t>>2]=u;z=i;A=u}else{z=l;A=c[t>>2]|0}u=y>>>0>z>>>0?z:y;Os(x|0,A|0,u|0)|0;l=(c[v>>2]|0)-u|0;c[v>>2]=l;c[t>>2]=(c[t>>2]|0)+u;y=y-u|0;if(!y)break;else x=x+u|0}if((s|0)==32)Ge(b,41783);a[d+77>>0]=a[g>>0]|0;x=c[h>>2]|0;y=x+16|0;t=x+8|0;l=x+12|0;v=x+4|0;A=1;z=g;p=c[x>>2]|0;while(1){if(!p){w=Ia[c[t>>2]&7](c[y>>2]|0,c[l>>2]|0,f)|0;o=c[f>>2]|0;if((w|0)==0|(o|0)==0){s=39;break}c[x>>2]=o;c[v>>2]=w;B=o;C=w}else{B=p;C=c[v>>2]|0}w=A>>>0>B>>>0?B:A;Os(z|0,C|0,w|0)|0;p=(c[x>>2]|0)-w|0;c[x>>2]=p;c[v>>2]=(c[v>>2]|0)+w;A=A-w|0;if(!A)break;else z=z+w|0}if((s|0)==39)Ge(b,41783);a[d+78>>0]=a[g>>0]|0;z=c[h>>2]|0;A=z+16|0;v=z+8|0;p=z+12|0;x=z+4|0;C=4;B=g;l=c[z>>2]|0;while(1){if(!l){y=Ia[c[v>>2]&7](c[A>>2]|0,c[p>>2]|0,f)|0;t=c[f>>2]|0;if((y|0)==0|(t|0)==0){s=46;break}c[z>>2]=t;c[x>>2]=y;D=t;E=y}else{D=l;E=c[x>>2]|0}y=C>>>0>D>>>0?D:C;Os(B|0,E|0,y|0)|0;l=(c[z>>2]|0)-y|0;c[z>>2]=l;c[x>>2]=(c[x>>2]|0)+y;C=C-y|0;if(!C)break;else B=B+y|0}if((s|0)==46)Ge(b,41783);B=c[g>>2]|0;if((B|0)<0)Ge(b,41832);C=c[b>>2]|0;if((B+1|0)>>>0>1073741823)jc(C);x=B<<2;l=c[C+12>>2]|0;z=l+4|0;E=Ja[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if((x|0)!=0&(E|0)==0){if(!(a[l+51>>0]|0))Zb(C,4);ic(C,1);D=Ja[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if(!D)Zb(C,4);else F=D}else F=E;E=l+12|0;c[E>>2]=(c[E>>2]|0)+x;c[d+12>>2]=F;c[d+48>>2]=B;B=c[h>>2]|0;do if(x){E=B+16|0;l=B+8|0;D=B+12|0;C=B+4|0;z=x;p=F;A=c[B>>2]|0;while(1){if(!A){v=Ia[c[l>>2]&7](c[E>>2]|0,c[D>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=62;break}c[B>>2]=y;c[C>>2]=v;G=y;H=v}else{G=A;H=c[C>>2]|0}v=z>>>0>G>>>0?G:z;Os(p|0,H|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[C>>2]=(c[C>>2]|0)+v;z=z-v|0;if(!z){s=63;break}else p=p+v|0}if((s|0)==62)Ge(b,41783);else if((s|0)==63){I=c[h>>2]|0;break}}else I=B;while(0);B=I+16|0;H=I+8|0;G=I+12|0;F=I+4|0;x=4;p=g;z=c[I>>2]|0;while(1){if(!z){C=Ia[c[H>>2]&7](c[B>>2]|0,c[G>>2]|0,f)|0;A=c[f>>2]|0;if((C|0)==0|(A|0)==0){s=70;break}c[I>>2]=A;c[F>>2]=C;J=A;K=C}else{J=z;K=c[F>>2]|0}C=x>>>0>J>>>0?J:x;Os(p|0,K|0,C|0)|0;z=(c[I>>2]|0)-C|0;c[I>>2]=z;c[F>>2]=(c[F>>2]|0)+C;x=x-C|0;if(!x)break;else p=p+C|0}if((s|0)==70)Ge(b,41783);p=c[g>>2]|0;if((p|0)<0)Ge(b,41832);x=c[b>>2]|0;if((p+1|0)>>>0>536870911)jc(x);F=p<<3;z=c[x+12>>2]|0;I=z+4|0;K=Ja[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if((F|0)!=0&(K|0)==0){if(!(a[z+51>>0]|0))Zb(x,4);ic(x,1);J=Ja[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if(!J)Zb(x,4);else L=J}else L=K;K=z+12|0;c[K>>2]=(c[K>>2]|0)+F;F=d+8|0;c[F>>2]=L;c[d+44>>2]=p;K=(p|0)>0;a:do if(K){z=0;do{c[L+(z<<3)+4>>2]=0;z=z+1|0}while((z|0)!=(p|0));if(K){z=b+8|0;J=0;x=L;b:while(1){I=x+(J<<3)|0;G=c[h>>2]|0;B=G+16|0;H=G+8|0;C=G+12|0;A=G+4|0;D=1;E=g;l=c[G>>2]|0;while(1){if(!l){v=Ia[c[H>>2]&7](c[B>>2]|0,c[C>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=90;break b}c[G>>2]=y;c[A>>2]=v;M=y;N=v}else{M=l;N=c[A>>2]|0}v=D>>>0>M>>>0?M:D;Os(E|0,N|0,v|0)|0;l=(c[G>>2]|0)-v|0;c[G>>2]=l;c[A>>2]=(c[A>>2]|0)+v;D=D-v|0;if(!D)break;else E=E+v|0}E=a[g>>0]|0;switch(E|0){case 0:{O=E;s=125;break}case 1:{E=c[h>>2]|0;D=E+16|0;A=E+8|0;l=E+12|0;G=E+4|0;C=1;B=g;H=c[E>>2]|0;while(1){if(!H){v=Ia[c[A>>2]&7](c[D>>2]|0,c[l>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=98;break b}c[E>>2]=y;c[G>>2]=v;P=y;Q=v}else{P=H;Q=c[G>>2]|0}v=C>>>0>P>>>0?P:C;Os(B|0,Q|0,v|0)|0;H=(c[E>>2]|0)-v|0;c[E>>2]=H;c[G>>2]=(c[G>>2]|0)+v;C=C-v|0;if(!C)break;else B=B+v|0}c[I>>2]=a[g>>0];O=1;s=125;break}case 3:{B=c[h>>2]|0;C=B+16|0;G=B+8|0;H=B+12|0;E=B+4|0;l=4;D=g;A=c[B>>2]|0;while(1){if(!A){v=Ia[c[G>>2]&7](c[C>>2]|0,c[H>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=106;break b}c[B>>2]=y;c[E>>2]=v;R=y;S=v}else{R=A;S=c[E>>2]|0}v=l>>>0>R>>>0?R:l;Os(D|0,S|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[E>>2]=(c[E>>2]|0)+v;l=l-v|0;if(!l)break;else D=D+v|0}c[I>>2]=c[g>>2];O=3;s=125;break}case 4:{D=c[h>>2]|0;l=D+16|0;E=D+8|0;A=D+12|0;B=D+4|0;H=4;C=g;G=c[D>>2]|0;while(1){if(!G){v=Ia[c[E>>2]&7](c[l>>2]|0,c[A>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=114;break b}c[D>>2]=y;c[B>>2]=v;T=y;U=v}else{T=G;U=c[B>>2]|0}v=H>>>0>T>>>0?T:H;Os(C|0,U|0,v|0)|0;G=(c[D>>2]|0)-v|0;c[D>>2]=G;c[B>>2]=(c[B>>2]|0)+v;H=H-v|0;if(!H)break;else C=C+v|0}C=c[g>>2]|0;if(!C)V=0;else{H=Ie(c[b>>2]|0,c[z>>2]|0,C)|0;B=c[h>>2]|0;G=B+16|0;D=B+8|0;A=B+12|0;l=B+4|0;E=C;v=H;y=c[B>>2]|0;while(1){if(!y){t=Ia[c[D>>2]&7](c[G>>2]|0,c[A>>2]|0,f)|0;w=c[f>>2]|0;if((t|0)==0|(w|0)==0){s=122;break b}c[B>>2]=w;c[l>>2]=t;W=w;X=t}else{W=y;X=c[l>>2]|0}t=E>>>0>W>>>0?W:E;Os(v|0,X|0,t|0)|0;y=(c[B>>2]|0)-t|0;c[B>>2]=y;c[l>>2]=(c[l>>2]|0)+t;E=E-t|0;if(!E)break;else v=v+t|0}V=Yc(c[b>>2]|0,H,C+-1|0)|0}c[I>>2]=V;O=(a[V+4>>0]|64)&255;s=125;break}default:{}}if((s|0)==125){s=0;c[x+(J<<3)+4>>2]=O}v=J+1|0;if((v|0)>=(p|0))break a;J=v;x=c[F>>2]|0}if((s|0)==90)Ge(b,41783);else if((s|0)==98)Ge(b,41783);else if((s|0)==106)Ge(b,41783);else if((s|0)==114)Ge(b,41783);else if((s|0)==122)Ge(b,41783)}}while(0);F=c[h>>2]|0;p=F+16|0;O=F+8|0;V=F+12|0;X=F+4|0;W=4;U=g;T=c[F>>2]|0;while(1){if(!T){S=Ia[c[O>>2]&7](c[p>>2]|0,c[V>>2]|0,f)|0;R=c[f>>2]|0;if((S|0)==0|(R|0)==0){s=134;break}c[F>>2]=R;c[X>>2]=S;Y=R;Z=S}else{Y=T;Z=c[X>>2]|0}S=W>>>0>Y>>>0?Y:W;Os(U|0,Z|0,S|0)|0;T=(c[F>>2]|0)-S|0;c[F>>2]=T;c[X>>2]=(c[X>>2]|0)+S;W=W-S|0;if(!W)break;else U=U+S|0}if((s|0)==134)Ge(b,41783);U=c[g>>2]|0;if((U|0)<0)Ge(b,41832);W=c[b>>2]|0;if((U+1|0)>>>0>1073741823)jc(W);X=U<<2;T=c[W+12>>2]|0;F=T+4|0;Z=Ja[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if((X|0)!=0&(Z|0)==0){if(!(a[T+51>>0]|0))Zb(W,4);ic(W,1);Y=Ja[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if(!Y)Zb(W,4);else _=Y}else _=Z;Z=T+12|0;c[Z>>2]=(c[Z>>2]|0)+X;X=d+16|0;c[X>>2]=_;c[d+56>>2]=U;Z=(U|0)>0;c:do if(Z){c[_>>2]=0;if((U|0)!=1){T=1;do{c[(c[X>>2]|0)+(T<<2)>>2]=0;T=T+1|0}while((T|0)!=(U|0))}if(Z){T=0;while(1){$=c[b>>2]|0;Y=c[$+12>>2]|0;W=Y+4|0;F=Ja[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!F){if(!(a[Y+51>>0]|0)){s=152;break}ic($,1);V=Ja[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!V){s=152;break}else aa=V}else aa=F;F=Y+12|0;c[F>>2]=(c[F>>2]|0)+80;F=Y+56|0;a[aa+5>>0]=a[Y+48>>0]&3;a[aa+4>>0]=9;c[aa>>2]=c[F>>2];c[F>>2]=aa;a[aa+76>>0]=0;a[aa+77>>0]=0;a[aa+78>>0]=0;F=aa+8|0;Y=F+64|0;do{c[F>>2]=0;F=F+4|0}while((F|0)<(Y|0));c[(c[X>>2]|0)+(T<<2)>>2]=aa;He(b,c[(c[X>>2]|0)+(T<<2)>>2]|0);T=T+1|0;if((T|0)>=(U|0))break c}if((s|0)==152)Zb($,4)}}while(0);$=c[h>>2]|0;U=$+16|0;X=$+8|0;aa=$+12|0;Z=$+4|0;_=4;T=g;F=c[$>>2]|0;while(1){if(!F){Y=Ia[c[X>>2]&7](c[U>>2]|0,c[aa>>2]|0,f)|0;I=c[f>>2]|0;if((Y|0)==0|(I|0)==0){s=160;break}c[$>>2]=I;c[Z>>2]=Y;ba=I;ca=Y}else{ba=F;ca=c[Z>>2]|0}Y=_>>>0>ba>>>0?ba:_;Os(T|0,ca|0,Y|0)|0;F=(c[$>>2]|0)-Y|0;c[$>>2]=F;c[Z>>2]=(c[Z>>2]|0)+Y;_=_-Y|0;if(!_)break;else T=T+Y|0}if((s|0)==160)Ge(b,41783);T=c[g>>2]|0;if((T|0)<0)Ge(b,41832);_=c[b>>2]|0;if((T+1|0)>>>0>536870911)jc(_);Z=T<<3;F=c[_+12>>2]|0;$=F+4|0;ca=Ja[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if((Z|0)!=0&(ca|0)==0){if(!(a[F+51>>0]|0))Zb(_,4);ic(_,1);ba=Ja[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if(!ba)Zb(_,4);else da=ba}else da=ca;ca=F+12|0;c[ca>>2]=(c[ca>>2]|0)+Z;Z=d+28|0;c[Z>>2]=da;c[d+40>>2]=T;d:do if((T|0)>0){ca=0;do{c[da+(ca<<3)>>2]=0;ca=ca+1|0}while((ca|0)!=(T|0));ca=0;e:while(1){F=c[h>>2]|0;ba=F+16|0;_=F+8|0;$=F+12|0;aa=F+4|0;U=1;X=g;Y=c[F>>2]|0;while(1){if(!Y){I=Ia[c[_>>2]&7](c[ba>>2]|0,c[$>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=179;break e}c[F>>2]=C;c[aa>>2]=I;ea=C;fa=I}else{ea=Y;fa=c[aa>>2]|0}I=U>>>0>ea>>>0?ea:U;Os(X|0,fa|0,I|0)|0;Y=(c[F>>2]|0)-I|0;c[F>>2]=Y;c[aa>>2]=(c[aa>>2]|0)+I;U=U-I|0;if(!U)break;else X=X+I|0}a[(c[Z>>2]|0)+(ca<<3)+4>>0]=a[g>>0]|0;X=c[h>>2]|0;U=X+16|0;aa=X+8|0;Y=X+12|0;F=X+4|0;$=1;ba=g;_=c[X>>2]|0;while(1){if(!_){I=Ia[c[aa>>2]&7](c[U>>2]|0,c[Y>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=186;break e}c[X>>2]=C;c[F>>2]=I;ga=C;ha=I}else{ga=_;ha=c[F>>2]|0}I=$>>>0>ga>>>0?ga:$;Os(ba|0,ha|0,I|0)|0;_=(c[X>>2]|0)-I|0;c[X>>2]=_;c[F>>2]=(c[F>>2]|0)+I;$=$-I|0;if(!$)break;else ba=ba+I|0}a[(c[Z>>2]|0)+(ca<<3)+5>>0]=a[g>>0]|0;ca=ca+1|0;if((ca|0)>=(T|0))break d}if((s|0)==179)Ge(b,41783);else if((s|0)==186)Ge(b,41783)}while(0);T=c[h>>2]|0;ha=T+16|0;ga=T+8|0;fa=T+12|0;ea=T+4|0;da=4;ca=g;ba=c[T>>2]|0;while(1){if(!ba){$=Ia[c[ga>>2]&7](c[ha>>2]|0,c[fa>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=194;break}c[T>>2]=F;c[ea>>2]=$;ia=F;ja=$}else{ia=ba;ja=c[ea>>2]|0}$=da>>>0>ia>>>0?ia:da;Os(ca|0,ja|0,$|0)|0;ba=(c[T>>2]|0)-$|0;c[T>>2]=ba;c[ea>>2]=(c[ea>>2]|0)+$;da=da-$|0;if(!da)break;else ca=ca+$|0}if((s|0)==194)Ge(b,41783);ca=c[g>>2]|0;do if(ca){da=Ie(c[b>>2]|0,c[b+8>>2]|0,ca)|0;ea=c[h>>2]|0;ba=ea+16|0;T=ea+8|0;ja=ea+12|0;ia=ea+4|0;fa=ca;ha=da;ga=c[ea>>2]|0;while(1){if(!ga){$=Ia[c[T>>2]&7](c[ba>>2]|0,c[ja>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=202;break}c[ea>>2]=F;c[ia>>2]=$;ka=F;la=$}else{ka=ga;la=c[ia>>2]|0}$=fa>>>0>ka>>>0?ka:fa;Os(ha|0,la|0,$|0)|0;ga=(c[ea>>2]|0)-$|0;c[ea>>2]=ga;c[ia>>2]=(c[ia>>2]|0)+$;fa=fa-$|0;if(!fa){s=203;break}else ha=ha+$|0}if((s|0)==202)Ge(b,41783);else if((s|0)==203){ma=Yc(c[b>>2]|0,da,ca+-1|0)|0;break}}else ma=0;while(0);c[d+36>>2]=ma;ma=c[h>>2]|0;ca=ma+16|0;la=ma+8|0;ka=ma+12|0;ha=ma+4|0;fa=4;ia=g;ga=c[ma>>2]|0;while(1){if(!ga){ea=Ia[c[la>>2]&7](c[ca>>2]|0,c[ka>>2]|0,f)|0;ja=c[f>>2]|0;if((ea|0)==0|(ja|0)==0){s=210;break}c[ma>>2]=ja;c[ha>>2]=ea;na=ja;oa=ea}else{na=ga;oa=c[ha>>2]|0}ea=fa>>>0>na>>>0?na:fa;Os(ia|0,oa|0,ea|0)|0;ga=(c[ma>>2]|0)-ea|0;c[ma>>2]=ga;c[ha>>2]=(c[ha>>2]|0)+ea;fa=fa-ea|0;if(!fa)break;else ia=ia+ea|0}if((s|0)==210)Ge(b,41783);ia=c[g>>2]|0;if((ia|0)<0)Ge(b,41832);fa=c[b>>2]|0;if((ia+1|0)>>>0>1073741823)jc(fa);ha=ia<<2;ga=c[fa+12>>2]|0;ma=ga+4|0;oa=Ja[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;do if((ha|0)!=0&(oa|0)==0){if(!(a[ga+51>>0]|0))Zb(fa,4);ic(fa,1);na=Ja[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;if(na|0){pa=na;break}Zb(fa,4)}else pa=oa;while(0);oa=ga+12|0;c[oa>>2]=(c[oa>>2]|0)+ha;c[d+20>>2]=pa;c[d+52>>2]=ia;ia=c[h>>2]|0;do if(ha){oa=ia+16|0;ga=ia+8|0;fa=ia+12|0;ma=ia+4|0;na=ha;ka=pa;ca=c[ia>>2]|0;while(1){if(!ca){la=Ia[c[ga>>2]&7](c[oa>>2]|0,c[fa>>2]|0,f)|0;ea=c[f>>2]|0;if((la|0)==0|(ea|0)==0){s=226;break}c[ia>>2]=ea;c[ma>>2]=la;qa=ea;ra=la}else{qa=ca;ra=c[ma>>2]|0}la=na>>>0>qa>>>0?qa:na;Os(ka|0,ra|0,la|0)|0;ca=(c[ia>>2]|0)-la|0;c[ia>>2]=ca;c[ma>>2]=(c[ma>>2]|0)+la;na=na-la|0;if(!na){s=227;break}else ka=ka+la|0}if((s|0)==226)Ge(b,41783);else if((s|0)==227){sa=c[h>>2]|0;break}}else sa=ia;while(0);ia=sa+16|0;ra=sa+8|0;qa=sa+12|0;pa=sa+4|0;ha=4;ka=g;na=c[sa>>2]|0;while(1){if(!na){ma=Ia[c[ra>>2]&7](c[ia>>2]|0,c[qa>>2]|0,f)|0;ca=c[f>>2]|0;if((ma|0)==0|(ca|0)==0){s=234;break}c[sa>>2]=ca;c[pa>>2]=ma;ta=ca;ua=ma}else{ta=na;ua=c[pa>>2]|0}ma=ha>>>0>ta>>>0?ta:ha;Os(ka|0,ua|0,ma|0)|0;na=(c[sa>>2]|0)-ma|0;c[sa>>2]=na;c[pa>>2]=(c[pa>>2]|0)+ma;ha=ha-ma|0;if(!ha)break;else ka=ka+ma|0}if((s|0)==234)Ge(b,41783);ka=c[g>>2]|0;if((ka|0)<0)Ge(b,41832);ha=c[b>>2]|0;if((ka+1|0)>>>0>357913941)jc(ha);pa=ka*12|0;na=c[ha+12>>2]|0;sa=na+4|0;ua=Ja[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;do if((pa|0)!=0&(ua|0)==0){if(!(a[na+51>>0]|0))Zb(ha,4);ic(ha,1);ta=Ja[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;if(ta|0){va=ta;break}Zb(ha,4)}else va=ua;while(0);ua=na+12|0;c[ua>>2]=(c[ua>>2]|0)+pa;pa=d+24|0;c[pa>>2]=va;c[d+60>>2]=ka;f:do if((ka|0)>0){d=0;do{c[va+(d*12|0)>>2]=0;d=d+1|0}while((d|0)!=(ka|0));d=b+8|0;ua=0;g:while(1){na=c[h>>2]|0;ha=na+16|0;sa=na+8|0;ta=na+12|0;qa=na+4|0;ia=4;ra=g;ma=c[na>>2]|0;while(1){if(!ma){ca=Ia[c[sa>>2]&7](c[ha>>2]|0,c[ta>>2]|0,f)|0;fa=c[f>>2]|0;if((ca|0)==0|(fa|0)==0){s=253;break g}c[na>>2]=fa;c[qa>>2]=ca;wa=fa;xa=ca}else{wa=ma;xa=c[qa>>2]|0}ca=ia>>>0>wa>>>0?wa:ia;Os(ra|0,xa|0,ca|0)|0;ma=(c[na>>2]|0)-ca|0;c[na>>2]=ma;c[qa>>2]=(c[qa>>2]|0)+ca;ia=ia-ca|0;if(!ia)break;else ra=ra+ca|0}ra=c[g>>2]|0;if(!ra)ya=0;else{ia=Ie(c[b>>2]|0,c[d>>2]|0,ra)|0;qa=c[h>>2]|0;ma=qa+16|0;na=qa+8|0;ta=qa+12|0;ha=qa+4|0;sa=ra;ca=ia;fa=c[qa>>2]|0;while(1){if(!fa){oa=Ia[c[na>>2]&7](c[ma>>2]|0,c[ta>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=261;break g}c[qa>>2]=ga;c[ha>>2]=oa;za=ga;Aa=oa}else{za=fa;Aa=c[ha>>2]|0}oa=sa>>>0>za>>>0?za:sa;Os(ca|0,Aa|0,oa|0)|0;fa=(c[qa>>2]|0)-oa|0;c[qa>>2]=fa;c[ha>>2]=(c[ha>>2]|0)+oa;sa=sa-oa|0;if(!sa)break;else ca=ca+oa|0}ya=Yc(c[b>>2]|0,ia,ra+-1|0)|0}c[(c[pa>>2]|0)+(ua*12|0)>>2]=ya;ca=c[h>>2]|0;sa=ca+16|0;ha=ca+8|0;fa=ca+12|0;qa=ca+4|0;ta=4;ma=g;na=c[ca>>2]|0;while(1){if(!na){oa=Ia[c[ha>>2]&7](c[sa>>2]|0,c[fa>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=269;break g}c[ca>>2]=ga;c[qa>>2]=oa;Ba=ga;Da=oa}else{Ba=na;Da=c[qa>>2]|0}oa=ta>>>0>Ba>>>0?Ba:ta;Os(ma|0,Da|0,oa|0)|0;na=(c[ca>>2]|0)-oa|0;c[ca>>2]=na;c[qa>>2]=(c[qa>>2]|0)+oa;ta=ta-oa|0;if(!ta)break;else ma=ma+oa|0}ma=c[g>>2]|0;if((ma|0)<0){s=271;break}c[(c[pa>>2]|0)+(ua*12|0)+4>>2]=ma;ma=c[h>>2]|0;ta=ma+16|0;qa=ma+8|0;na=ma+12|0;ca=ma+4|0;fa=4;sa=g;ha=c[ma>>2]|0;while(1){if(!ha){ra=Ia[c[qa>>2]&7](c[ta>>2]|0,c[na>>2]|0,f)|0;ia=c[f>>2]|0;if((ra|0)==0|(ia|0)==0){s=278;break g}c[ma>>2]=ia;c[ca>>2]=ra;Ea=ia;Fa=ra}else{Ea=ha;Fa=c[ca>>2]|0}ra=fa>>>0>Ea>>>0?Ea:fa;Os(sa|0,Fa|0,ra|0)|0;ha=(c[ma>>2]|0)-ra|0;c[ma>>2]=ha;c[ca>>2]=(c[ca>>2]|0)+ra;fa=fa-ra|0;if(!fa)break;else sa=sa+ra|0}sa=c[g>>2]|0;if((sa|0)<0){s=280;break}c[(c[pa>>2]|0)+(ua*12|0)+8>>2]=sa;ua=ua+1|0;if((ua|0)>=(ka|0))break f}if((s|0)==253)Ge(b,41783);else if((s|0)==261)Ge(b,41783);else if((s|0)==269)Ge(b,41783);else if((s|0)==271)Ge(b,41832);else if((s|0)==278)Ge(b,41783);else if((s|0)==280)Ge(b,41832)}while(0);ka=c[h>>2]|0;pa=ka+16|0;Fa=ka+8|0;Ea=ka+12|0;Da=ka+4|0;Ba=4;ya=g;Aa=c[ka>>2]|0;while(1){if(!Aa){za=Ia[c[Fa>>2]&7](c[pa>>2]|0,c[Ea>>2]|0,f)|0;xa=c[f>>2]|0;if((za|0)==0|(xa|0)==0){s=288;break}c[ka>>2]=xa;c[Da>>2]=za;Ga=xa;Ha=za}else{Ga=Aa;Ha=c[Da>>2]|0}za=Ba>>>0>Ga>>>0?Ga:Ba;Os(ya|0,Ha|0,za|0)|0;Aa=(c[ka>>2]|0)-za|0;c[ka>>2]=Aa;c[Da>>2]=(c[Da>>2]|0)+za;Ba=Ba-za|0;if(!Ba)break;else ya=ya+za|0}if((s|0)==288)Ge(b,41783);ya=c[g>>2]|0;if((ya|0)<0)Ge(b,41832);if(!ya){Ca=e;return}Ba=b+8|0;Da=0;h:while(1){Aa=c[h>>2]|0;ka=Aa+16|0;Ha=Aa+8|0;Ga=Aa+12|0;Ea=Aa+4|0;pa=4;Fa=g;za=c[Aa>>2]|0;while(1){if(!za){xa=Ia[c[Ha>>2]&7](c[ka>>2]|0,c[Ga>>2]|0,f)|0;wa=c[f>>2]|0;if((xa|0)==0|(wa|0)==0){s=299;break h}c[Aa>>2]=wa;c[Ea>>2]=xa;Ka=wa;La=xa}else{Ka=za;La=c[Ea>>2]|0}xa=pa>>>0>Ka>>>0?Ka:pa;Os(Fa|0,La|0,xa|0)|0;za=(c[Aa>>2]|0)-xa|0;c[Aa>>2]=za;c[Ea>>2]=(c[Ea>>2]|0)+xa;pa=pa-xa|0;if(!pa)break;else Fa=Fa+xa|0}Fa=c[g>>2]|0;if(!Fa)Ma=0;else{pa=Ie(c[b>>2]|0,c[Ba>>2]|0,Fa)|0;Ea=c[h>>2]|0;za=Ea+16|0;Aa=Ea+8|0;Ga=Ea+12|0;ka=Ea+4|0;Ha=Fa;xa=pa;wa=c[Ea>>2]|0;while(1){if(!wa){va=Ia[c[Aa>>2]&7](c[za>>2]|0,c[Ga>>2]|0,f)|0;ua=c[f>>2]|0;if((va|0)==0|(ua|0)==0){s=307;break h}c[Ea>>2]=ua;c[ka>>2]=va;Na=ua;Oa=va}else{Na=wa;Oa=c[ka>>2]|0}va=Ha>>>0>Na>>>0?Na:Ha;Os(xa|0,Oa|0,va|0)|0;wa=(c[Ea>>2]|0)-va|0;c[Ea>>2]=wa;c[ka>>2]=(c[ka>>2]|0)+va;Ha=Ha-va|0;if(!Ha)break;else xa=xa+va|0}Ma=Yc(c[b>>2]|0,pa,Fa+-1|0)|0}c[(c[Z>>2]|0)+(Da<<3)>>2]=Ma;Da=Da+1|0;if((Da|0)>=(ya|0)){s=310;break}}if((s|0)==299)Ge(b,41783);else if((s|0)==307)Ge(b,41783);else if((s|0)==310){Ca=e;return}}function Ie(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;f=d+8|0;g=c[f>>2]|0;if(g>>>0>=e>>>0){h=c[d>>2]|0;return h|0}i=e>>>0>32?e:32;if((i+1|0)>>>0>4294967293)jc(b);e=c[d>>2]|0;j=c[b+12>>2]|0;k=(e|0)==0;l=j+4|0;m=Ja[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!m){if(!(a[j+51>>0]|0))Zb(b,4);ic(b,1);n=Ja[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!n)Zb(b,4);else o=n}else o=m;m=j+12|0;c[m>>2]=(k?0:0-g|0)+i+(c[m>>2]|0);c[d>>2]=o;c[f>>2]=i;h=o;return h|0}function Je(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function Ke(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;g=b+12|0;h=c[g>>2]|0;do switch(e|0){case 0:{a[h+51>>0]=0;i=0;return i|0}case 1:{j=h+12|0;k=h+8|0;c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[j>>2]=0;a[h+51>>0]=1;i=0;return i|0}case 2:{ic(b,0);i=0;return i|0}case 3:{i=((c[h+12>>2]|0)+(c[h+8>>2]|0)|0)>>>10;return i|0}case 4:{i=(c[h+12>>2]|0)+(c[h+8>>2]|0)&1023;return i|0}case 5:{if((a[h+50>>0]|0)==2){j=(c[h+20>>2]|0)==0&1;mc(b);i=j;return i|0}else{j=h+12|0;k=c[j>>2]|0;l=(f<<10)+-1600+((a[h+51>>0]|0)==0?0:k)|0;m=h+8|0;c[m>>2]=k-l+(c[m>>2]|0);c[j>>2]=l;mc(b);i=(a[h+49>>0]|0)==5&1;return i|0}break}case 6:{l=h+128|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 8:{j=h+132|0;l=c[j>>2]|0;c[j>>2]=f;i=l;return i|0}case 7:{l=h+136|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 9:{i=d[h+51>>0]|0;return i|0}case 10:{j=h+50|0;if((a[j>>0]|0)==2){i=0;return i|0}l=h+49|0;if(a[l>>0]|0)do Hc(b)|0;while((a[l>>0]|0)!=0);c[h+20>>2]=(c[h+12>>2]|0)+(c[h+8>>2]|0);a[j>>0]=2;i=0;return i|0}case 11:{l=h+50|0;if(!(a[l>>0]|0)){i=0;return i|0}a[l>>0]=0;Mc(b)|0;l=(c[g>>2]|0)+49|0;if(1<>0]&-29|0){i=0;return i|0}do Hc(b)|0;while(!(1<>0]&-29|0));i=0;return i|0}default:{i=-1;return i|0}}while(0);return 0}function Le(a){a=a|0;cc(a);return 0}function Me(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|0)==22)f=4209132;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?4209132:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:4209132}while(0);b=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0;g=e+-8|0;i=Ne(a,b,g)|0;a=i+1|0;h=c[b+28>>2]|0;a:do if((a|0)<(h|0)){j=b+12|0;k=c[j>>2]|0;l=i;m=a;while(1){if(c[k+(m<<3)+4>>2]|0)break;n=m+1|0;if((n|0)<(h|0)){o=m;m=n;l=o}else{p=n;q=14;break a}}c[g>>2]=(l<<16)+131072;c[e+-4>>2]=3;k=c[j>>2]|0;c[e>>2]=c[k+(m<<3)>>2];r=k+(m<<3)+4|0}else{p=a;q=14}while(0);do if((q|0)==14){a=p-h|0;i=1<<(d[b+7>>0]|0);if((a|0)>=(i|0)){s=0;t=-1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}k=b+16|0;n=c[k>>2]|0;o=a;while(1){if(c[n+(o*20|0)+4>>2]|0){q=17;break}a=o+1|0;if((a|0)<(i|0))o=a;else{s=0;t=-1;q=20;break}}if((q|0)==17){c[g>>2]=c[n+(o*20|0)+8>>2];c[e+-4>>2]=c[n+(o*20|0)+12>>2];i=c[k>>2]|0;c[e>>2]=c[i+(o*20|0)>>2];r=i+(o*20|0)+4|0;break}else if((q|0)==20){u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}}while(0);c[e+4>>2]=c[r>>2];s=1;t=1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Ca;Ca=Ca+16|0;f=e;g=d+4|0;switch(c[g>>2]|0){case 3:{h=2;break}case 0:{i=-1;Ca=e;return i|0}default:{}}if(((h|0)==2?(j=c[d>>2]|0,k=j>>16,(j|0)>65535&((j+-65536|0)>>>0<2147352577&(j&65535|0)==0)):0)?(k|0)<=(c[b+28>>2]|0):0){i=k+-1|0;Ca=e;return i|0}k=Vc(b,d)|0;while(1){j=k+8|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[g>>2]|0)){if(rc(0,j,d)|0)break;n=c[l>>2]|0}else n=m;if(((n|0)==11?c[g>>2]&64|0:0)?(c[j>>2]|0)==(c[d>>2]|0):0)break;j=c[k+16>>2]|0;if(!j){h=14;break}else k=j}if((h|0)==14)$b(a,41867,f);i=((k-(c[b+16>>2]|0)|0)/20|0)+(c[b+28>>2]|0)|0;Ca=e;return i|0}function Oe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((d|0)<=1){if(d|0)return;e=b+8|0;f=c[e>>2]|0;g=Cc(b,5108828,0)|0;c[f>>2]=g;c[f+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return}e=c[b+12>>2]|0;g=e+12|0;f=c[g>>2]|0;do if((f|0)>0)if(!(a[e+51>>0]|0)){h=e+8|0;c[h>>2]=f+1600+(c[h>>2]|0);c[g>>2]=-1600;break}else{mc(b);break}while(0);pc(b,d);return}function Pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;g=Ca;Ca=Ca+160|0;h=g+40|0;i=g+32|0;j=g+24|0;k=g+16|0;l=g+8|0;m=g;n=g+48|0;o=b+8|0;p=b+16|0;q=(c[o>>2]|0)-((c[c[p>>2]>>2]|0)+8)>>3;r=d+16|0;s=c[r>>2]|0;t=d+72|0;if((s|0)==(t|0)){u=1;v=0}else{w=1;x=1;while(1){if(!w){y=s;z=0}else{A=w;B=s;while(1){C=A+-1|0;D=c[B+8>>2]|0;if((A|0)>1&(D|0)!=(t|0)){A=C;B=D}else{y=D;z=C;break}}}if((z|0)!=0|(y|0)==(t|0)){E=x;F=w;break}B=w<<1;if((w|0)<0){E=w;F=B;break}else{A=w;w=B;x=A}}if((E|0)<(F|0)){x=F;w=E;while(1){E=x+w|0;y=(E|0)/2|0;if((E|0)<-1)G=0;else{if((E+1|0)>>>0>2){E=y;z=s;while(1){A=E+-1|0;B=c[z+8>>2]|0;if((E|0)>1&(B|0)!=(t|0)){E=A;z=B}else{H=B;I=A;break}}}else{H=s;I=y}G=(I|0)==0&(H|0)!=(t|0)&1}z=(G|0)==0;E=z?y:x;w=z?w:y+1|0;if((w|0)>=(E|0)){J=E;break}else x=E}}else J=F;u=J;v=(J|0)>23?12:0}if(e|0){c[m>>2]=e;nd(b,49550,m)|0}m=b+12|0;e=c[m>>2]|0;J=e+12|0;F=c[J>>2]|0;do if((F|0)>0)if(!(a[e+51>>0]|0)){x=e+8|0;c[x>>2]=F+1600+(c[x>>2]|0);c[J>>2]=-1600;break}else{mc(b);break}while(0);J=Cc(b,41889,16)|0;F=c[o>>2]|0;c[F>>2]=J;c[F+4>>2]=(a[J+4>>0]|64)&255;J=(c[o>>2]|0)+8|0;c[o>>2]=J;if((f|0)<0){K=J;L=J}else{J=n+96|0;F=n+36|0;e=n+20|0;x=u+-11|0;u=n+8|0;w=n+12|0;G=n+35|0;H=n+4|0;I=n+24|0;s=f;while(1){f=s+1|0;E=c[r>>2]|0;if((s|0)!=0&(E|0)!=(t|0)){z=s;A=E;while(1){B=z+-1|0;C=c[A+8>>2]|0;if((z|0)>1&(C|0)!=(t|0)){z=B;A=C}else{M=C;N=B;break}}}else{M=E;N=s}if((N|0)!=0|(M|0)==(t|0))break;c[J>>2]=M;do if((f|0)==(v|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{mc(b);break}while(0);z=Cc(b,41906,5)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=x}else{Qe(d,41912,n)|0;c[l>>2]=F;nd(b,41917,l)|0;z=c[e>>2]|0;if((z|0)>0){c[k>>2]=z<<16;nd(b,41923,k)|0}z=c[m>>2]|0;y=z+12|0;A=c[y>>2]|0;do if((A|0)>0)if(!(a[z+51>>0]|0)){B=z+8|0;c[B>>2]=A+1600+(c[B>>2]|0);c[y>>2]=-1600;break}else{mc(b);break}while(0);y=Cc(b,41927,4)|0;A=c[o>>2]|0;c[A>>2]=y;c[A+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;a:do if(!(a[c[u>>2]>>0]|0))switch(a[c[w>>2]>>0]|0){case 109:{y=c[m>>2]|0;A=y+12|0;z=c[A>>2]|0;do if((z|0)>0)if(!(a[y+51>>0]|0)){B=y+8|0;c[B>>2]=z+1600+(c[B>>2]|0);c[A>>2]=-1600;break}else{mc(b);break}while(0);A=Cc(b,41946,10)|0;z=c[o>>2]|0;c[z>>2]=A;c[z+4>>2]=(a[A+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a;break}case 67:{if(!(Re(b,n)|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{mc(b);break}while(0);z=Cc(b,40297,1)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a}z=c[o>>2]|0;y=z+-8|0;if((c[z+-4>>2]&15|0)!=4)if(!(fd(b,y)|0))P=0;else{z=c[m>>2]|0;A=z+12|0;B=c[A>>2]|0;do if((B|0)>0)if(!(a[z+51>>0]|0)){C=z+8|0;c[C>>2]=B+1600+(c[C>>2]|0);c[A>>2]=-1600;break}else{mc(b);break}while(0);Q=(c[o>>2]|0)+-8|0;R=57}else{Q=y;R=57}if((R|0)==57){R=0;P=(c[Q>>2]|0)+16|0}c[i>>2]=P;nd(b,41932,i)|0;A=c[o>>2]|0;B=A+-16|0;z=A+-8|0;while(1){c[B>>2]=c[z>>2];c[B+4>>2]=c[B+12>>2];A=z+8|0;S=c[o>>2]|0;if(A>>>0>>0){C=z;z=A;B=C}else break}c[o>>2]=S+-8;break a;break}default:{B=c[I>>2]<<16;c[h>>2]=F;c[h+4>>2]=B;nd(b,41957,h)|0;break a}}else{c[j>>2]=c[H>>2];nd(b,41932,j)|0}while(0);if(!(a[G>>0]|0)){B=c[o>>2]|0;T=B;U=B}else{B=c[m>>2]|0;z=B+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[B+51>>0]|0)){C=B+8|0;c[C>>2]=y+1600+(c[C>>2]|0);c[z>>2]=-1600;break}else{mc(b);break}while(0);z=Cc(b,41974,20)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;z=(c[o>>2]|0)+8|0;c[o>>2]=z;T=z;U=z}z=(T-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((z|0)<=1){if(z|0){O=f;break}y=Cc(b,5108828,0)|0;c[U>>2]=y;c[U+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=f;break}y=c[m>>2]|0;B=y+12|0;C=c[B>>2]|0;do if((C|0)>0)if(!(a[y+51>>0]|0)){A=y+8|0;c[A>>2]=C+1600+(c[A>>2]|0);c[B>>2]=-1600;break}else{mc(b);break}while(0);pc(b,z);O=f}while(0);if((O|0)<0)break;else s=O}O=c[o>>2]|0;K=O;L=O}O=(K-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((O|0)<=1){if(O|0){Ca=g;return}q=Cc(b,5108828,0)|0;c[L>>2]=q;c[L+4>>2]=(a[q+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;Ca=g;return}o=c[m>>2]|0;m=o+12|0;q=c[m>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){L=o+8|0;c[L>>2]=q+1600+(c[L>>2]|0);c[m>>2]=-1600;break}else{mc(b);break}while(0);pc(b,O);Ca=g;return}function Qe(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;g=Ca;Ca=Ca+16|0;h=g;if((a[e>>0]|0)==62){i=b+8|0;j=(c[i>>2]|0)+-8|0;c[i>>2]=j;k=e+1|0;l=0;m=j}else{j=c[f+96>>2]|0;k=e;l=j;m=c[j>>2]|0}j=m+4|0;if((c[j>>2]&31|0)==6)n=c[m>>2]|0;else n=0;e=a[k>>0]|0;a:do if(!(e<<24>>24))o=1;else{i=(n|0)==0;p=(l|0)==0;q=f+16|0;r=f+24|0;s=f+28|0;t=f+12|0;u=f+36|0;v=n+4|0;w=f+20|0;x=l+18|0;y=f+32|0;z=f+34|0;A=f+33|0;B=n+6|0;C=f+35|0;D=f+8|0;E=f+45|0;F=n+12|0;G=f+4|0;H=l+8|0;I=f+95|0;J=f+39|0;K=l+28|0;L=b+12|0;M=k;N=1;O=e;while(1){b:do switch(O<<24>>24|0){case 83:{if(!i?(a[v>>0]|0)!=38:0){P=c[F>>2]|0;Q=c[P+36>>2]|0;R=(Q|0)==0?42e3:Q+16|0;c[q>>2]=R;Q=c[P+64>>2]|0;c[r>>2]=Q;c[s>>2]=c[P+68>>2];S=R;T=(Q|0)==0?42003:42008}else{c[q>>2]=41995;c[r>>2]=-1;c[s>>2]=-1;S=41995;T=53070}c[t>>2]=T;Q=Yq(S)|0;switch(a[S>>0]|0){case 61:{R=S+1|0;if(Q>>>0>60){U=u;V=R;W=U+59|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));a[I>>0]=0;X=N;break b}else{Os(u|0,R|0,Q|0)|0;X=N;break b}break}case 64:{if(Q>>>0>60){a[u>>0]=a[40570]|0;a[u+1>>0]=a[40571]|0;a[u+2>>0]=a[40572]|0;U=J;V=S+1+Q+-57|0;W=U+57|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));X=N;break b}else{Os(u|0,S+1|0,Q|0)|0;X=N;break b}break}default:{R=ir(S,10)|0;U=u;V=40574;W=U+9|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));P=(R|0)==0;if(Q>>>0<45&P){Os(E|0,S|0,Q|0)|0;Y=E+Q|0}else{Z=P?Q:R-S|0;P=Z>>>0<45?Z:45;Os(E|0,S|0,P|0)|0;Z=E+P|0;a[Z>>0]=a[40570]|0;a[Z+1>>0]=a[40571]|0;a[Z+2>>0]=a[40572]|0;Y=Z+3|0};a[Y>>0]=a[40584]|0;a[Y+1>>0]=a[40585]|0;a[Y+2>>0]=a[40586]|0;X=N;break b}}break}case 108:{if(!p?(a[x>>0]&1)!=0:0){Z=c[(c[c[l>>2]>>2]|0)+12>>2]|0;P=c[Z+20>>2]|0;if(!P)_=0;else _=c[P+(((c[K>>2]|0)-(c[Z+12>>2]|0)>>2)+-1<<2)>>2]|0}else _=-1;c[w>>2]=_;X=N;break}case 117:{if(!i){a[y>>0]=a[B>>0]|0;if((a[v>>0]|0)!=38){a[z>>0]=a[(c[F>>2]|0)+77>>0]|0;a[A>>0]=a[(c[F>>2]|0)+76>>0]|0;X=N;break b}}else a[y>>0]=0;a[z>>0]=1;a[A>>0]=0;X=N;break}case 116:{if(p)$=0;else $=a[x>>0]&64;a[C>>0]=$;X=N;break}case 110:{c:do if((!p?(a[x>>0]&64)==0:0)?(Z=c[H>>2]|0,(a[Z+18>>0]&1)!=0):0){P=c[(c[c[Z>>2]>>2]|0)+12>>2]|0;aa=c[P+12>>2]|0;ba=((c[Z+28>>2]|0)-aa>>2)+-1|0;Z=c[aa+(ba<<2)>>2]|0;do switch(Z&63){case 30:case 29:{aa=Fc(P,ba,Z>>>6&255,G)|0;c[D>>2]=aa;if(!aa)break c;else{X=N;break b}break}case 34:{c[G>>2]=42012;ca=42012;break}case 7:case 6:case 12:{da=0;ea=55;break}case 10:case 8:{da=1;ea=55;break}case 24:{da=5;ea=55;break}case 13:{da=6;ea=55;break}case 14:{da=7;ea=55;break}case 15:{da=8;ea=55;break}case 16:{da=9;ea=55;break}case 17:{da=10;ea=55;break}case 18:{da=11;ea=55;break}case 19:{da=12;ea=55;break}case 21:{da=4;ea=55;break}case 25:{da=13;ea=55;break}case 26:{da=14;ea=55;break}case 22:{da=15;ea=55;break}default:{ea=56;break c}}while(0);if((ea|0)==55){ea=0;c[G>>2]=(c[(c[L>>2]|0)+156+(da<<2)>>2]|0)+16;ca=42025}c[D>>2]=ca;X=N;break b}else ea=56;while(0);if((ea|0)==56){ea=0;c[D>>2]=0}c[D>>2]=5108828;c[G>>2]=0;X=N;break}case 102:case 76:{X=N;break}default:X=0}while(0);M=M+1|0;O=a[M>>0]|0;if(!(O<<24>>24)){o=X;break a}else N=X}}while(0);if(ir(k,102)|0){X=b+8|0;ca=c[X>>2]|0;c[ca>>2]=c[m>>2];c[ca+4>>2]=c[j>>2];c[X>>2]=(c[X>>2]|0)+8}if(!(ir(k,76)|0)){Ca=g;return o|0}if(n|0?(a[n+4>>0]|0)!=38:0){k=n+12|0;n=c[(c[k>>2]|0)+20>>2]|0;X=c[b+12>>2]|0;j=X+4|0;ca=Ja[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!ca){if(!(a[X+51>>0]|0))Zb(b,4);ic(b,1);m=Ja[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!m)Zb(b,4);else fa=m}else fa=ca;ca=X+12|0;c[ca>>2]=(c[ca>>2]|0)+32;ca=X+56|0;a[fa+5>>0]=a[X+48>>0]&3;a[fa+4>>0]=5;c[fa>>2]=c[ca>>2];c[ca>>2]=fa;c[fa+8>>2]=0;a[fa+6>>0]=-1;ca=fa+12|0;c[ca>>2]=0;X=fa+28|0;c[X>>2]=0;m=fa+16|0;c[m>>2]=4209148;j=fa+7|0;a[j>>0]=0;c[fa+20>>2]=4209148;da=b+8|0;$=c[da>>2]|0;c[$>>2]=fa;c[$+4>>2]=69;c[da>>2]=(c[da>>2]|0)+8;if((c[(c[k>>2]|0)+52>>2]|0)<=0){Ca=g;return o|0}da=h+4|0;$=0;do{_=c[n+($<<2)>>2]|0;l=_+-1|0;d:do if(l>>>0<(c[X>>2]|0)>>>0){ga=(c[ca>>2]|0)+(l<<3)|0;ea=81}else{Y=_<<16;S=0-Y|0;V=(c[m>>2]|0)+(((((Y|0)<0?((Y|0)==(S|0)?0:S):Y)|0)%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[V+12>>2]|0)==3?(c[V+8>>2]|0)==(Y|0):0)break;S=c[V+16>>2]|0;if(!S){ea=82;break d}else V=S}ga=V;ea=81}while(0);if((ea|0)==81){ea=0;if((ga|0)==4209132)ea=82;else ha=ga}if((ea|0)==82){ea=0;c[h>>2]=_;c[da>>2]=3;ha=lc(b,fa,h)|0}c[ha>>2]=1;c[ha+4>>2]=1;$=$+1|0}while(($|0)<(c[(c[k>>2]|0)+52>>2]|0));Ca=g;return o|0}k=b+8|0;b=c[k>>2]|0;c[b+4>>2]=0;c[k>>2]=b+8;Ca=g;return o|0}function Re(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;f=a+16|0;g=(c[e>>2]|0)-((c[c[f>>2]>>2]|0)+8)|0;h=g>>3;Qe(a,50296,b)|0;b=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)i=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<(d[b+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;k=c[j+16>>2]|0;if(!k){i=4209132;break a}else j=k}i=j}while(0);b=c[e>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[e>>2]=(c[e>>2]|0)+8;i=h+1|0;if(Se(a,i,2)|0){$c(a,-1,i);l=1;m=(c[e>>2]|0)+-16|0;c[e>>2]=m;return l|0}if((g|0)<=-8){l=0;m=(c[e>>2]|0)+(i<<3)|0;c[e>>2]=m;return l|0}i=c[c[f>>2]>>2]|0;f=c[e>>2]|0;g=i+8+(h<<3)|0;if(f>>>0>=g>>>0){l=0;m=g;c[e>>2]=m;return l|0}a=(i+(h<<3)+4+(3-f)|0)>>>3;h=f;do{c[h+4>>2]=0;h=h+8|0}while(h>>>0>>0);c[e>>2]=f+(a+1<<3);l=0;m=g;c[e>>2]=m;return l|0}function Se(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,u=0,v=0,w=0;if(!f){g=0;return g|0}h=b+16|0;i=b+8|0;j=c[i>>2]|0;if((j+-8|0)==4209132){g=0;return g|0}if((c[j+-4>>2]&15|0)!=5){g=0;return g|0}c[j+4>>2]=0;c[i>>2]=j+8;if(!(Me(b,-2)|0)){g=0;return g|0}j=f+-1|0;f=(e|0)<-1000999;k=(e|0)==-1001e3;l=b+12|0;m=-1001e3-e|0;n=m+-1|0;a:do if((e|0)>0){while(1){o=c[i>>2]|0;if((o+-16|0)!=4209132?(c[o+-12>>2]&15|0)==4:0){p=(c[c[h>>2]>>2]|0)+(e<<3)|0;q=p>>>0>>0?p:4209132;p=o+-8|0;if(((p|0)!=4209132&(q|0)!=4209132?(c[q+4>>2]|0)==(c[o+-4>>2]|0):0)?rc(0,q,p)|0:0){r=27;break a}if(Se(b,e,j)|0)break a;s=c[i>>2]|0}else s=o;c[i>>2]=s+-8;if(!(Me(b,-2)|0)){g=0;break}}return g|0}else{while(1){o=c[i>>2]|0;if((o+-16|0)!=4209132?(c[o+-12>>2]&15|0)==4:0){p=c[h>>2]|0;do if(f){if(k){t=(c[l>>2]|0)+36|0;r=24;break}q=c[p>>2]|0;if((c[q+4>>2]|0)!=22){u=c[q>>2]|0;t=(m|0)>(d[u+6>>0]|0)?4209132:u+16+(n<<3)|0;r=24}}else{t=o+(e<<3)|0;r=24}while(0);if((((r|0)==24?(r=0,p=o+-8|0,(p|0)!=4209132&(t|0)!=4209132):0)?(c[t+4>>2]|0)==(c[o+-4>>2]|0):0)?rc(0,t,p)|0:0){r=27;break a}if(Se(b,e,j)|0)break a;v=c[i>>2]|0}else v=o;c[i>>2]=v+-8;if(!(Me(b,-2)|0)){g=0;break}}return g|0}while(0);if((r|0)==27){c[i>>2]=(c[i>>2]|0)+-8;g=1;return g|0}r=c[i>>2]|0;v=r+-16|0;j=r+-8|0;while(1){c[v>>2]=c[j>>2];c[v+4>>2]=c[v+12>>2];r=j+8|0;w=c[i>>2]|0;if(r>>>0>>0){e=j;j=r;v=e}else break}c[i>>2]=w+-8;w=c[l>>2]|0;v=w+12|0;j=c[v>>2]|0;do if((j|0)>0)if(!(a[w+51>>0]|0)){e=w+8|0;c[e>>2]=j+1600+(c[e>>2]|0);c[v>>2]=-1600;break}else{mc(b);break}while(0);v=Cc(b,59070,1)|0;j=c[i>>2]|0;c[j>>2]=v;c[j+4>>2]=(a[v+4>>0]|64)&255;v=c[i>>2]|0;j=v+8|0;c[i>>2]=j;w=j;do{j=w;w=w+-8|0;c[j>>2]=c[w>>2];c[j+4>>2]=c[j+-4>>2]}while(j>>>0>v>>>0);w=c[i>>2]|0;c[v+-8>>2]=c[w>>2];c[v+-4>>2]=c[w+4>>2];w=c[l>>2]|0;l=w+12|0;v=c[l>>2]|0;do if((v|0)>0)if(!(a[w+51>>0]|0)){i=w+8|0;c[i>>2]=v+1600+(c[i>>2]|0);c[l>>2]=-1600;break}else{mc(b);break}while(0);pc(b,3);g=1;return g|0}function Te(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;f=Ca;Ca=Ca+128|0;g=f+16|0;h=f+8|0;i=f;j=f+28|0;f=c[b+16>>2]|0;if((f|0)==(b+72|0)){c[i>>2]=d;c[i+4>>2]=e;Ue(b,42036,i)|0}c[j+96>>2]=f;Qe(b,42058,j)|0;if(!(Oq(c[j+8>>2]|0,40385)|0)){f=d+-1|0;if(!f){c[h>>2]=c[j+4>>2];c[h+4>>2]=e;Ue(b,42060,h)|0}else k=f}else k=d;d=j+4|0;f=c[d>>2]|0;if(f|0){l=f;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;Ue(b,42090,g)|0}do if(!(Re(b,j)|0))o=40297;else{f=b+8|0;h=c[f>>2]|0;i=h+-8|0;if((c[h+-4>>2]&15|0)==4)p=i;else{if(!(fd(b,i)|0)){o=0;break}i=c[b+12>>2]|0;h=i+12|0;q=c[h>>2]|0;do if((q|0)>0)if(!(a[i+51>>0]|0)){r=i+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[h>>2]=-1600;break}else{mc(b);break}while(0);p=(c[f>>2]|0)+-8|0}o=(c[p>>2]|0)+16|0}while(0);c[d>>2]=o;l=o;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;Ue(b,42090,g)|0;return 0}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=d;Ve(a,1);md(a,b,f)|0;Oe(a,2);Le(a)|0;return 0}function Ve(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;e=Ca;Ca=Ca+112|0;f=e;g=e+8|0;if((d|0)>=0){h=c[b+16>>2]|0;i=b+72|0;if((d|0)!=0&(h|0)!=(i|0)){j=d;k=h;while(1){l=j+-1|0;m=c[k+8>>2]|0;if((j|0)>1&(m|0)!=(i|0)){j=l;k=m}else{n=m;o=l;break}}}else{n=h;o=d}if(!((o|0)!=0|(n|0)==(i|0))?(c[g+96>>2]=n,Qe(b,42120,g)|0,n=g+20|0,i=c[n>>2]|0,(i|0)>0):0){c[f>>2]=g+36;c[f+4>>2]=i<<16;nd(b,42123,f)|0;c[1052285]=c[n>>2];Ca=e;return}}n=c[b+12>>2]|0;f=n+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[n+51>>0]|0)){g=n+8|0;c[g>>2]=i+1600+(c[g>>2]|0);c[f>>2]=-1600;break}else{mc(b);break}while(0);f=Cc(b,5108828,0)|0;i=b+8|0;b=c[i>>2]|0;c[b>>2]=f;c[b+4>>2]=(a[f+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+8;Ca=e;return}function We(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ca;Ca=Ca+16|0;g=f;h=ed(a,b,e)|0;if(h|0){Ca=f;return h|0}e=c[a+16>>2]|0;do if((b|0)>0){i=(c[e>>2]|0)+(b<<3)|0;if(i>>>0<(c[a+8>>2]|0)>>>0){j=i;k=10}else l=0}else{if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;k=10;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;k=10;break}i=-1001e3-b|0;m=c[e>>2]|0;if((c[m+4>>2]|0)!=22?(n=c[m>>2]|0,(i|0)<=(d[n+6>>0]|0|0)):0){j=n+16+(i+-1<<3)|0;k=10}else l=0}while(0);if((k|0)==10)if((j|0)==4209132)l=0;else l=(c[j+4>>2]&15)+1|0;j=c[16+(l<<2)>>2]|0;c[g>>2]=40017;c[g+4>>2]=j;Te(a,b,nd(a,42131,g)|0)|0;Ca=f;return h|0}function Xe(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+16>>2]|0;do if((b|0)>0){h=(c[g>>2]|0)+(b<<3)|0;if(h>>>0<(c[a+8>>2]|0)>>>0){i=h;j=9}}else{if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;j=9;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;j=9;break}h=-1001e3-b|0;k=c[g>>2]|0;if((c[k+4>>2]|0)!=22?(l=c[k>>2]|0,(h|0)<=(d[l+6>>0]|0|0)):0){i=l+16+(h+-1<<3)|0;j=9}}while(0);if(((j|0)==9?(i|0)!=4209132:0)?c[i+4>>2]&15|0:0){m=We(a,b,f)|0;return m|0}if(!f){m=e;return m|0}if(!e)n=0;else n=Yq(e)|0;c[f>>2]=n;m=e;return m|0}function Ye(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Ca;Ca=Ca+16|0;f=e;g=e+8|0;h=a+16|0;i=c[h>>2]|0;j=(b|0)>0;do if(!j){if((b|0)>=-1000999){k=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}l=-1001e3-b|0;m=c[i>>2]|0;if((c[m+4>>2]|0)==22)k=4209132;else{n=c[m>>2]|0;k=(l|0)>(d[n+6>>0]|0|0)?4209132:n+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:4209132}while(0);l=c[k+4>>2]|0;a:do if((l|0)==3)o=c[k>>2]|0;else{do if((l&15|0)==4){n=c[k>>2]|0;if(!(vc(n+16|0,c[n+12>>2]|0,g)|0)){p=c[h>>2]|0;break}else{o=c[g>>2]|0;break a}}else p=i;while(0);do if(j){n=(c[p>>2]|0)+(b<<3)|0;if(n>>>0<(c[a+8>>2]|0)>>>0){q=n;r=24}else s=0}else{if((b|0)>=-1000999){q=(c[a+8>>2]|0)+(b<<3)|0;r=24;break}if((b|0)==-1001e3){q=(c[a+12>>2]|0)+36|0;r=24;break}n=-1001e3-b|0;m=c[p>>2]|0;if((c[m+4>>2]|0)!=22?(t=c[m>>2]|0,(n|0)<=(d[t+6>>0]|0|0)):0){q=t+16+(n+-1<<3)|0;r=24}else s=0}while(0);if((r|0)==24)if((q|0)==4209132)s=0;else s=(c[q+4>>2]&15)+1|0;n=c[16+(s<<2)>>2]|0;c[f>>2]=40010;c[f+4>>2]=n;Te(a,b,nd(a,42131,f)|0)|0;u=0;Ca=e;return u|0}while(0);u=o>>16;Ca=e;return u|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b+4|0;e=c[a>>2]|0;if(!e){f=0;return f|0}c[d>>2]=e;c[a>>2]=0;f=c[b>>2]|0;return f|0}function _e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ca;Ca=Ca+16|0;e=d;f=Yq(b)|0;c[e>>2]=b;c[e+4>>2]=f;f=zd(a,4,e,b,0)|0;Ca=d;return f|0}function $e(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[f>>2]|0;if((c[i+4>>2]|0)==22)g=4209132;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?4209132:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:4209132}while(0);b=c[g+4>>2]|0;switch(b&15){case 5:{k=(c[g>>2]|0)+8|0;break}case 7:{k=(c[g>>2]|0)+8|0;break}default:k=(c[a+12>>2]|0)+224+((b&15)<<2)|0}b=c[k>>2]|0;if(!b){l=0;return l|0}k=a+8|0;g=c[k>>2]|0;c[g>>2]=b;c[g+4>>2]=69;c[k>>2]=(c[k>>2]|0)+8;kd(a,e)|0;e=c[k>>2]|0;a=kc(c[e+-16>>2]|0,e+-8|0)|0;e=c[k>>2]|0;c[e+-8>>2]=c[a>>2];c[e+-4>>2]=c[a+4>>2];a=c[k>>2]|0;e=a+-8|0;if((e|0)!=4209132?(c[a+-4>>2]&15|0)==0:0){m=0;n=a+-16|0}else{g=a+-16|0;a=e;while(1){c[g>>2]=c[a>>2];c[g+4>>2]=c[g+12>>2];e=a+8|0;o=c[k>>2]|0;if(e>>>0>>0){b=a;a=e;g=b}else break}m=1;n=o+-8|0}c[k>>2]=n;l=m;return l|0}function af(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ca;Ca=Ca+16|0;g=Ja[d&1](e,0,8,372)|0;if(!g){h=0;Ca=f;return h|0}i=g+112|0;c[g>>2]=0;a[g+4>>0]=8;a[g+160>>0]=33;a[g+5>>0]=1;a[g+162>>0]=0;c[g+12>>2]=i;c[g+28>>2]=0;c[g+16>>2]=0;c[g+32>>2]=0;c[g+64>>2]=0;b[g+38>>1]=0;c[g+52>>2]=0;a[g+40>>0]=0;c[g+44>>2]=0;a[g+41>>0]=1;c[g+48>>2]=0;c[g+56>>2]=0;b[g+36>>1]=1;a[g+6>>0]=0;c[g+68>>2]=0;c[i>>2]=d;c[g+116>>2]=e;c[g+256>>2]=g;e=g;d=f;i=(za(0)|0)^16;j=(i>>>2)+(1>>>24&255)+(i<<5)^i;i=(j>>>2)+(1>>>16&255)+(j<<5)^j;j=(i>>>2)+(1>>>8&255)+(i<<5)^i;i=(j>>>2)+1+(j<<5)^j;j=(i>>>2)+(4209132>>>24&255)+(i<<5)^i;i=(j>>>2)+(4209132>>>16&255)+(j<<5)^j;j=(i>>>2)+(4209132>>>8&255)+(i<<5)^i;i=(j>>>2)+236+(j<<5)^j;j=(i>>>2)+(d>>>24)+(i<<5)^i;i=(j>>>2)+(d>>>16&255)+(j<<5)^j;j=(i>>>2)+(d>>>8&255)+(i<<5)^i;i=(j>>>2)+(d&252)+(j<<5)^j;j=(i>>>2)+(e>>>24)+(i<<5)^i;i=(j>>>2)+(e>>>16&255)+(j<<5)^j;j=(i>>>2)+(e>>>8&255)+(i<<5)^i;c[g+156>>2]=(j>>>2)+(e&255)+(j<<5)^j;j=g+208|0;c[g+220>>2]=j;c[g+224>>2]=j;a[g+163>>0]=0;j=g+132|0;c[g+152>>2]=0;c[g+228>>2]=0;c[g+236>>2]=0;c[g+252>>2]=0;c[g+260>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[g+161>>0]=5;j=g+120|0;e=g+168|0;i=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));c[j>>2]=372;c[g+124>>2]=0;c[g+240>>2]=200;c[g+244>>2]=200;c[g+248>>2]=200;e=g+336|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if(!(Yb(g,3,0)|0)){h=g;Ca=f;return h|0}cf(g);h=0;Ca=f;return h|0}function bf(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;e=Ca;Ca=Ca+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+4|0;j=Ja[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!j){if(!(a[h+51>>0]|0))Zb(b,4);ic(b,1);k=Ja[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!k)Zb(b,4);else l=k}else l=j;j=h+12|0;c[j>>2]=(c[j>>2]|0)+320;c[b+28>>2]=l;c[b+32>>2]=40;j=l+4|0;c[j>>2]=0;c[l+12>>2]=0;c[l+20>>2]=0;c[l+28>>2]=0;c[l+36>>2]=0;c[l+44>>2]=0;c[l+52>>2]=0;c[l+60>>2]=0;c[l+68>>2]=0;c[l+76>>2]=0;c[l+84>>2]=0;c[l+92>>2]=0;c[l+100>>2]=0;c[l+108>>2]=0;c[l+116>>2]=0;c[l+124>>2]=0;c[l+132>>2]=0;c[l+140>>2]=0;c[l+148>>2]=0;c[l+156>>2]=0;c[l+164>>2]=0;c[l+172>>2]=0;c[l+180>>2]=0;c[l+188>>2]=0;c[l+196>>2]=0;c[l+204>>2]=0;c[l+212>>2]=0;c[l+220>>2]=0;c[l+228>>2]=0;c[l+236>>2]=0;c[l+244>>2]=0;c[l+252>>2]=0;c[l+260>>2]=0;c[l+268>>2]=0;c[l+276>>2]=0;c[l+284>>2]=0;c[l+292>>2]=0;c[l+300>>2]=0;c[l+308>>2]=0;c[l+316>>2]=0;c[b+24>>2]=l+280;k=b+72|0;c[b+80>>2]=0;c[b+84>>2]=0;a[b+90>>0]=0;c[k>>2]=l;c[b+8>>2]=l+8;c[j>>2]=0;c[b+76>>2]=l+168;c[b+16>>2]=k;k=c[g>>2]|0;l=k+4|0;j=Ja[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!j){if(!(a[k+51>>0]|0))Zb(b,4);ic(b,1);i=Ja[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!i)Zb(b,4);else m=i}else m=j;j=k+12|0;c[j>>2]=(c[j>>2]|0)+32;j=k+56|0;a[m+5>>0]=a[k+48>>0]&3;a[m+4>>0]=5;c[m>>2]=c[j>>2];c[j>>2]=m;c[m+8>>2]=0;a[m+6>>0]=-1;j=m+12|0;c[j>>2]=0;k=m+28|0;c[k>>2]=0;i=m+16|0;c[i>>2]=4209148;l=m+7|0;a[l>>0]=0;c[m+20>>2]=4209148;c[h+36>>2]=m;c[h+40>>2]=69;wc(b,m,2,0);n=b;a:do if(!(c[k>>2]|0)){o=(c[i>>2]|0)+((65536%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==65536:0)break;p=c[o+16>>2]|0;if(!p){q=17;break a}else o=p}r=o;q=16}else{r=c[j>>2]|0;q=16}while(0);if((q|0)==16)if((r|0)==4209132)q=17;else s=r;if((q|0)==17){c[f>>2]=1;c[f+4>>2]=3;s=lc(b,m,f)|0}c[s>>2]=n;c[s+4>>2]=72;s=c[g>>2]|0;n=s+4|0;r=Ja[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!r){if(!(a[s+51>>0]|0))Zb(b,4);ic(b,1);p=Ja[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!p)Zb(b,4);else t=p}else t=r;r=s+12|0;c[r>>2]=(c[r>>2]|0)+32;r=s+56|0;a[t+5>>0]=a[s+48>>0]&3;a[t+4>>0]=5;c[t>>2]=c[r>>2];c[r>>2]=t;c[t+8>>2]=0;a[t+6>>0]=-1;c[t+12>>2]=0;c[t+28>>2]=0;c[t+16>>2]=4209148;a[t+7>>0]=0;c[t+20>>2]=4209148;r=t;b:do if((c[k>>2]|0)>>>0>1){u=(c[j>>2]|0)+8|0;q=29}else{t=(c[i>>2]|0)+((131072%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[t+12>>2]|0)==3?(c[t+8>>2]|0)==131072:0)break;s=c[t+16>>2]|0;if(!s){q=30;break b}else t=s}u=t;q=29}while(0);if((q|0)==29)if((u|0)==4209132)q=30;else v=u;if((q|0)==30){c[f>>2]=2;c[f+4>>2]=3;v=lc(b,m,f)|0}c[v>>2]=r;c[v+4>>2]=69;Gc(b,32);v=0;do{r=c[816+(v<<2)>>2]|0;f=Yc(b,r,Yq(r)|0)|0;c[(c[g>>2]|0)+156+(v<<2)>>2]=f;f=(c[(c[g>>2]|0)+156+(v<<2)>>2]|0)+5|0;a[f>>0]=a[f>>0]|32;v=v+1|0}while((v|0)!=17);v=0;do{g=c[640+(v<<2)>>2]|0;f=Yc(b,g,Yq(g)|0)|0;g=f+5|0;a[g>>0]=a[g>>0]|32;v=v+1|0;a[f+6>>0]=v}while((v|0)!=22);v=Cc(b,43045,17)|0;c[h+152>>2]=v;b=v+5|0;a[b>>0]=a[b>>0]|32;a[h+51>>0]=1;c[h+148>>2]=33540;Ca=e;return}function cf(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;b=a+12|0;d=c[b>>2]|0;e=a+28|0;qc(a,c[e>>2]|0);df(a);f=c[b>>2]|0;g=c[f+24>>2]|0;h=c[f+32>>2]<<2;Ja[c[f>>2]&1](c[f+4>>2]|0,g,h,0)|0;i=f+12|0;c[i>>2]=(c[i>>2]|0)+((g|0)==0?0:0-h|0);h=d+116|0;g=c[h>>2]|0;i=d+124|0;f=c[i>>2]|0;j=c[b>>2]|0;k=Ja[c[j>>2]&1](c[j+4>>2]|0,g,f,0)|0;l=j+12|0;c[l>>2]=(c[l>>2]|0)+((g|0)==0?0:0-f|0);c[h>>2]=k;c[i>>2]=0;i=c[e>>2]|0;if(!i){m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Ja[m&1](o,a,372,0)|0;return}c[a+16>>2]=a+72;k=a+84|0;h=c[k>>2]|0;c[k>>2]=0;if(!h)p=i;else{i=h;do{h=i;i=c[i+12>>2]|0;k=c[b>>2]|0;Ja[c[k>>2]&1](c[k+4>>2]|0,h,40,0)|0;f=k+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:40)}while((i|0)!=0);p=c[e>>2]|0}e=c[a+32>>2]<<3;i=c[b>>2]|0;Ja[c[i>>2]&1](c[i+4>>2]|0,p,e,0)|0;b=i+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:e);m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Ja[m&1](o,a,372,0)|0;return}function df(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=b+12|0;f=c[e>>2]|0;g=f+60|0;h=f+92|0;i=c[h>>2]|0;if(!i)j=h;else{k=i;while(1){l=c[k>>2]|0;if(!l)break;else k=l}j=k}k=c[g>>2]|0;if(!k){m=h;n=f;o=i}else{i=j;j=k;while(1){k=j+5|0;a[k>>0]=a[k>>0]|8;c[g>>2]=c[j>>2];c[j>>2]=c[i>>2];c[i>>2]=j;k=c[g>>2]|0;if(!k)break;else{h=j;j=k;i=h}}i=c[e>>2]|0;j=i+92|0;m=j;n=i;o=c[j>>2]|0}if(!o){p=n;q=0}else{n=o;do{o=n+5|0;a[o>>0]=a[o>>0]&-65;o=c[e>>2]|0;j=o+92|0;i=c[j>>2]|0;c[j>>2]=c[i>>2];j=o+56|0;c[i>>2]=c[j>>2];c[j>>2]=i;j=i+5|0;i=a[j>>0]|0;a[j>>0]=i&-17;if((d[o+49>>0]|0)>=2)a[j>>0]=a[o+48>>0]&3|i&-88;n=c[m>>2]|0}while((n|0)!=0);p=c[e>>2]|0;q=c[g>>2]|0}a[f+48>>0]=3;a[f+50>>0]=0;n=d[p+48>>0]|0;m=n^3;i=a[p+50>>0]|0;p=i<<24>>24==2;o=n&3;n=p?255:184;j=p?64:o;h=p?64:0;if(!q){r=m;s=o;t=i}else{i=g;g=-3;o=q;while(1){if(!g)break;g=g+-1|0;q=o+5|0;p=d[q>>0]|0;if(!((p^3)&m)){c[i>>2]=c[o>>2];Nc(b,o);u=i}else{if(h&p|0)break;if((a[o+4>>0]|0)==8)Oc(b,o);a[q>>0]=n&p|j;u=o}o=c[u>>2]|0;if(!o)break;else i=u}u=c[e>>2]|0;i=d[u+48>>0]|0;r=i^3;s=i&3;t=a[u+50>>0]|0}u=f+56|0;i=t<<24>>24==2;t=i?255:184;o=i?64:s;s=i?64:0;i=c[u>>2]|0;a:do if(i|0){j=u;n=-3;h=i;while(1){if(!n)break a;n=n+-1|0;m=h+5|0;g=d[m>>0]|0;if(!((g^3)&r)){c[j>>2]=c[h>>2];Nc(b,h);v=j}else{if(s&g|0)break a;if((a[h+4>>0]|0)==8)Oc(b,h);a[m>>0]=t&g|o;v=h}h=c[v>>2]|0;if(!h)break;else j=v}}while(0);v=f+32|0;o=c[v>>2]|0;if((o|0)<=0)return;t=f+24|0;f=0;s=o;while(1){o=(c[t>>2]|0)+(f<<2)|0;r=c[e>>2]|0;i=d[r+48>>0]|0;u=i^3;j=(a[r+50>>0]|0)==2;r=j?255:184;h=j?64:i&3;i=j?64:0;j=c[o>>2]|0;if(!j)w=s;else{n=o;o=-3;g=j;while(1){if(!o)break;o=o+-1|0;j=g+5|0;m=d[j>>0]|0;if(!((m^3)&u)){c[n>>2]=c[g>>2];Nc(b,g);x=n}else{if(i&m|0)break;if((a[g+4>>0]|0)==8)Oc(b,g);a[j>>0]=r&m|h;x=g}g=c[x>>2]|0;if(!g)break;else n=x}w=c[v>>2]|0}f=f+1|0;if((f|0)>=(w|0))break;else s=w}return}function ef(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+16|0;d=(c[c[b>>2]>>2]|0)+8|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>=f>>>0|(d|0)==4209132){Te(a,1,42151)|0;g=(c[c[b>>2]>>2]|0)+8|0;h=c[e>>2]|0}else{g=d;h=f}f=g>>>0>>0?g:4209132;g=c[f+4>>2]|0;switch(g&15){case 5:{i=(c[f>>2]|0)+8|0;break}case 7:{i=(c[f>>2]|0)+8|0;break}default:i=(c[a+12>>2]|0)+224+((g&15)<<2)|0}g=c[i>>2]|0;if(!g){c[h+4>>2]=0;c[e>>2]=h+8;return 1}else{c[h>>2]=g;c[h+4>>2]=69;c[e>>2]=(c[e>>2]|0)+8;$e(a,1,42276)|0;return 1}return 0}function ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ca;Ca=Ca+16|0;d=b+8|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;i=a+8|0;j=c[i>>2]|0;if(h>>>0>=j>>>0|(h|0)==4209132)k=-1;else k=c[g+20>>2]&15;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==4209132)){h=c[g+12>>2]&15;if((h|0)!=5){l=h+1|0;m=6}}else{l=0;m=6}if((m|0)==6){m=c[16+(l<<2)>>2]|0;c[e>>2]=40024;c[e+4>>2]=m;Te(a,1,nd(a,42131,e)|0)|0}switch(k|0){case 0:case 5:break;default:Te(a,2,42288)|0}if($e(a,1,42276)|0)Ue(a,42310,d)|0;d=c[c[f>>2]>>2]|0;f=c[i>>2]|0;k=d+24|0;if(f>>>0>=k>>>0){c[i>>2]=k;ud(a,1)|0;Ca=b;return 1}e=(d+20+(3-f)|0)>>>3;d=f;do{c[d+4>>2]=0;d=d+8|0}while(d>>>0>>0);c[i>>2]=f+(e+1<<3);c[i>>2]=k;ud(a,1)|0;Ca=b;return 1}function gf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==4209132){Te(a,1,42151)|0;h=c[c[b>>2]>>2]|0;i=c[f>>2]|0}else{h=d;i=g}g=h+16|0;if(g>>>0>=i>>>0|(g|0)==4209132){Te(a,2,42151)|0;a=c[c[b>>2]>>2]|0;j=a+16|0;k=a;l=c[f>>2]|0}else{j=g;k=h;l=i}i=k+8|0;k=i>>>0>>0?i:4209132;i=j>>>0>>0?j:4209132;if((k|0)!=4209132&(i|0)!=4209132?(c[k+4>>2]|0)==(c[i+4>>2]|0):0){j=(rc(0,k,i)|0)!=0&1;m=j;n=c[f>>2]|0}else{m=0;n=l}c[n>>2]=m;c[n+4>>2]=1;c[f>>2]=(c[f>>2]|0)+8;return 1}function hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(!(e>>>0>=g>>>0|(e|0)==4209132)?(c[d+12>>2]&14|1|0)==5:0){h=e;i=g}else{Te(a,1,42346)|0;h=(c[c[b>>2]>>2]|0)+8|0;i=c[f>>2]|0}b=h>>>0>>0?h:4209132;switch(c[b+4>>2]&15){case 4:{j=c[(c[b>>2]|0)+12>>2]|0;break}case 7:{j=c[(c[b>>2]|0)+16>>2]|0;break}case 5:{j=Sc(c[b>>2]|0)|0;break}default:j=0}c[i>>2]=j<<16;c[i+4>>2]=3;c[f>>2]=(c[f>>2]|0)+8;return 1}function jf(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;b=Ca;Ca=Ca+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==4209132)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=40024;c[d+4>>2]=m;Te(a,1,nd(a,42131,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}d=j+16|0;if(d>>>0>=k>>>0|(d|0)==4209132){Te(a,2,42151)|0;n=c[c[e>>2]>>2]|0;o=c[h>>2]|0}else{n=j;o=k}k=n+8|0;j=n+24|0;if(o>>>0>=j>>>0){c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=kc(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Ca=b;return 1}e=(n+20+(3-o)|0)>>>3;a=o;do{c[a+4>>2]=0;a=a+8|0}while(a>>>0>>0);c[h>>2]=o+(e+1<<3);c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=kc(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Ca=b;return 1}function kf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Ca;Ca=Ca+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;if(!(h>>>0>=j>>>0|(h|0)==4209132)){h=c[g+12>>2]&15;if((h|0)==5){k=g;l=j}else{m=h+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=40024;c[e+4>>2]=n;Te(b,1,nd(b,42131,e)|0)|0;k=c[c[f>>2]>>2]|0;l=c[i>>2]|0}e=k+16|0;if(e>>>0>=l>>>0|(e|0)==4209132){Te(b,2,42151)|0;o=c[c[f>>2]>>2]|0;p=c[i>>2]|0}else{o=k;p=l}l=o+24|0;if(l>>>0>=p>>>0|(l|0)==4209132){Te(b,3,42151)|0;q=c[c[f>>2]>>2]|0;r=c[i>>2]|0}else{q=o;r=p}p=q+8|0;o=q+32|0;if(r>>>0>>0){f=(q+28+(3-r)|0)>>>3;l=r;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0>>0);c[i>>2]=r+(f+1<<3)}c[i>>2]=o;o=c[p>>2]|0;f=q+16|0;r=kc(o,f)|0;if((r|0)==4209132)s=lc(b,o,f)|0;else s=r;c[s>>2]=c[q+24>>2];c[s+4>>2]=c[q+28>>2];a[(c[p>>2]|0)+6>>0]=0;q=c[i>>2]|0;if(!(c[q+-4>>2]&64)){t=q;u=t+-16|0;c[i>>2]=u;Ca=d;return 1}if(!(a[(c[q+-8>>2]|0)+5>>0]&3)){t=q;u=t+-16|0;c[i>>2]=u;Ca=d;return 1}s=c[p>>2]|0;p=s+5|0;r=a[p>>0]|0;if(!(r&4)){t=q;u=t+-16|0;c[i>>2]=u;Ca=d;return 1}q=c[b+12>>2]|0;a[p>>0]=r&-5;r=q+76|0;c[s+24>>2]=c[r>>2];c[r>>2]=s;t=c[i>>2]|0;u=t+-16|0;c[i>>2]=u;Ca=d;return 1}function lf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==4209132){Te(a,1,42151)|0;h=c[c[b>>2]>>2]|0;i=h+8|0;j=c[f>>2]|0;k=h}else{i=e;j=g;k=d}if(i>>>0>=j>>>0|(i|0)==4209132){l=0;m=16+(l<<2)|0;n=c[m>>2]|0;kd(a,n)|0;return 1}l=(c[k+12>>2]&15)+1|0;m=16+(l<<2)|0;n=c[m>>2]|0;kd(a,n)|0;return 1}function mf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ca;Ca=Ca+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==4209132)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=40024;c[d+4>>2]=m;Te(a,1,nd(a,42131,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}e=j+24|0;if(k>>>0>>0){d=(j+20+(3-k)|0)>>>3;j=k;do{c[j+4>>2]=0;j=j+8|0}while(j>>>0>>0);c[h>>2]=k+(d+1<<3)}c[h>>2]=e;if(Me(a,1)|0){n=2;Ca=b;return n|0}a=c[h>>2]|0;c[a+4>>2]=0;c[h>>2]=a+8;n=1;Ca=b;return n|0}function nf(a){a=a|0;of(a,42371,0,4);return 3}function of(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=Ca;Ca=Ca+16|0;h=g+8|0;i=g;j=($e(a,1,d)|0)==0;d=a+16|0;k=c[c[d>>2]>>2]|0;l=k+8|0;m=a+8|0;n=c[m>>2]|0;o=l>>>0>>0;if(j){if(!((l|0)==4209132|o^1)){j=c[k+12>>2]&15;if((j|0)==5)p=n;else{q=j+1|0;r=5}}else{q=0;r=5}if((r|0)==5){r=c[16+(q<<2)>>2]|0;c[i>>2]=40024;c[i+4>>2]=r;Te(a,1,nd(a,42131,i)|0)|0;p=c[m>>2]|0}c[p>>2]=f;c[p+4>>2]=22;p=c[m>>2]|0;f=p+8|0;c[m>>2]=f;i=c[c[d>>2]>>2]|0;d=i>>>0

>>0?i+8|0:4209132;c[f>>2]=c[d>>2];c[p+12>>2]=c[d+4>>2];d=c[m>>2]|0;p=d+8|0;c[m>>2]=p;if(!e){c[d+12>>2]=0;c[m>>2]=d+16;Ca=g;return}else{c[p>>2]=0;c[d+12>>2]=3;c[m>>2]=(c[m>>2]|0)+8;Ca=g;return}}else{d=o?l:4209132;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];d=c[m>>2]|0;c[m>>2]=d+8;m=d+-8|0;d=a+38|0;n=(b[d>>1]|0)+1<<16>>16;b[d>>1]=n;if((n&65535)>199){if(n<<16>>16==200)$b(a,40064,h);if((n&65535)>224)Zb(a,6)}n=a+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;if(!(dc(a,m,3)|0))ec(a);b[n>>1]=(b[n>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ca=g;return}}function pf(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;d=Ca;Ca=Ca+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;k=h>>>0>>0?h:4209132;l=j;switch(c[k+4>>2]|0){case 0:{m=l-h>>3;break}case 1:{n=l-h>>3;if(!(c[k>>2]|0))m=n;else{o=n;Ca=d;return o|0}break}default:{o=l-h>>3;Ca=d;return o|0}}if((m|0)<=1){jg(5108828);p=Xe(b,2,42379,0)|0;c[e>>2]=p;Ue(b,51613,e)|0}m=g+16|0;g=m>>>0>>0?m:4209132;if((c[g+4>>2]&15|0)!=4)if(!(fd(b,g)|0))q=0;else{m=c[b+12>>2]|0;j=m+12|0;o=c[j>>2]|0;do if((o|0)>0)if(!(a[m+51>>0]|0)){d=m+8|0;c[d>>2]=o+1600+(c[d>>2]|0);c[j>>2]=-1600;break}else{mc(b);break}while(0);j=(c[c[f>>2]>>2]|0)+16|0;r=j>>>0<(c[i>>2]|0)>>>0?j:4209132;s=13}else{r=g;s=13}if((s|0)==13)q=(c[r>>2]|0)+16|0;jg(q);p=Xe(b,2,42379,0)|0;c[e>>2]=p;Ue(b,51613,e)|0;return 0}function qf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+16|0;e=(c[c[b>>2]>>2]|0)+8|0;f=a+8|0;g=c[f>>2]|0;h=e>>>0>>0?e:4209132;if((c[h+4>>2]|0)==72?(i=c[h>>2]|0,(i|0)!=0):0){j=e;k=g;l=i}else{Te(a,1,42397)|0;j=(c[c[b>>2]>>2]|0)+8|0;k=c[f>>2]|0;l=0}i=rf(a,l,(k-j>>3)+-1|0)|0;j=c[f>>2]|0;if((i|0)<0){c[j>>2]=0;c[j+4>>2]=1;k=c[f>>2]|0;l=k+8|0;c[f>>2]=l;g=l;do{l=g;g=g+-8|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[l+-4>>2]}while(l>>>0>k>>>0);g=c[f>>2]|0;c[k+-8>>2]=c[g>>2];m=2;n=g;o=k+-4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}c[j>>2]=1;c[j+4>>2]=1;j=(c[f>>2]|0)+8|0;c[f>>2]=j;k=i+1|0;g=c[b>>2]|0;do if((i|0)>1000998){if((i|0)==1000999){r=(c[a+12>>2]|0)+36|0;break}b=c[g>>2]|0;if((c[b+4>>2]|0)==22)r=4209132;else{l=c[b>>2]|0;r=(i+-1000999|0)>(d[l+6>>0]|0|0)?4209132:l+16+(i+-1001e3<<3)|0}}else r=j+(~i<<3)|0;while(0);if(j>>>0>r>>>0){i=j;do{g=i;i=i+-8|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[g+-4>>2]}while(i>>>0>r>>>0);s=c[f>>2]|0}else s=j;c[r>>2]=c[s>>2];m=k;n=s;o=r+4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}function rf(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;f=Ca;Ca=Ca+16|0;g=f;c[g>>2]=e;h=d+16|0;i=c[h>>2]|0;j=d+8|0;k=c[j>>2]|0;do if(((c[d+24>>2]|0)-k>>3|0)>(e|0)){l=k;m=e;n=k}else{if(((k-(c[d+28>>2]|0)>>3)+5|0)<=(1e6-e|0)?(Yb(d,4,g)|0)==0:0){o=c[j>>2]|0;l=o;m=c[g>>2]|0;n=o;break}o=c[b+12>>2]|0;p=o+12|0;q=c[p>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){r=o+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[p>>2]=-1600;break}else{mc(b);break}while(0);p=Cc(b,42416,37)|0;q=b+8|0;o=c[q>>2]|0;c[o>>2]=p;c[o+4>>2]=(a[p+4>>0]|64)&255;c[q>>2]=(c[q>>2]|0)+8;s=-1;Ca=f;return s|0}while(0);k=i+4|0;i=l+(m<<3)|0;if((c[k>>2]|0)>>>0>>0)c[k>>2]=i;if((a[d+6>>0]|0)==0?(n|0)==((c[c[h>>2]>>2]|0)+8|0):0){n=c[b+12>>2]|0;i=n+12|0;k=c[i>>2]|0;do if((k|0)>0)if(!(a[n+51>>0]|0)){m=n+8|0;c[m>>2]=k+1600+(c[m>>2]|0);c[i>>2]=-1600;break}else{mc(b);break}while(0);i=Cc(b,42454,37)|0;k=b+8|0;n=c[k>>2]|0;c[n>>2]=i;c[n+4>>2]=(a[i+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;s=-1;Ca=f;return s|0}k=(b|0)==(d|0);if((!k?(i=b+8|0,n=c[i>>2]|0,m=0-e|0,l=n+(m<<3)|0,c[i>>2]=l,(e|0)>0):0)?(q=c[j>>2]|0,c[j>>2]=q+8,c[q>>2]=c[l>>2],c[q+4>>2]=c[n+(m<<3)+4>>2],(e|0)!=1):0){m=1;do{n=c[i>>2]|0;q=c[j>>2]|0;c[j>>2]=q+8;c[q>>2]=c[n+(m<<3)>>2];c[q+4>>2]=c[n+(m<<3)+4>>2];m=m+1|0}while((m|0)!=(e|0))}if((sf(d,b,e)|0)>>>0>=2){if(k){s=-1;Ca=f;return s|0}e=c[j>>2]|0;d=e+-8|0;c[j>>2]=d;m=b+8|0;i=c[m>>2]|0;c[m>>2]=i+8;c[i>>2]=c[d>>2];c[i+4>>2]=c[e+-4>>2];s=-1;Ca=f;return s|0}e=(c[j>>2]|0)-((c[c[h>>2]>>2]|0)+8)|0;i=e>>3;d=i+1|0;c[g>>2]=d;m=c[b+16>>2]|0;n=b+8|0;q=c[n>>2]|0;do if(((c[b+24>>2]|0)-q>>3|0)>(d|0)){t=q;u=d}else{if(((q-(c[b+28>>2]|0)>>3)+5|0)<=(999999-i|0)?(Yb(b,4,g)|0)==0:0){t=c[n>>2]|0;u=c[g>>2]|0;break}l=~i;if((e|0)<0){p=c[c[h>>2]>>2]|0;o=c[j>>2]|0;r=p+8+(l<<3)|0;if(o>>>0>>0){v=(p+(l<<3)+4+(3-o)|0)>>>3;l=o;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0>>0);c[j>>2]=o+(v+1<<3);w=r}else w=r}else w=(c[j>>2]|0)+(0-i<<3)|0;c[j>>2]=w;l=c[b+12>>2]|0;p=l+12|0;x=c[p>>2]|0;do if((x|0)>0)if(!(a[l+51>>0]|0)){y=l+8|0;c[y>>2]=x+1600+(c[y>>2]|0);c[p>>2]=-1600;break}else{mc(b);break}while(0);p=Cc(b,42492,35)|0;x=c[n>>2]|0;c[x>>2]=p;c[x+4>>2]=(a[p+4>>0]|64)&255;c[n>>2]=(c[n>>2]|0)+8;s=-1;Ca=f;return s|0}while(0);b=m+4|0;m=t+(u<<3)|0;if((c[b>>2]|0)>>>0>>0)c[b>>2]=m;if(k){s=i;Ca=f;return s|0}k=c[j>>2]|0;m=0-i|0;b=k+(m<<3)|0;c[j>>2]=b;if((e|0)<=0){s=i;Ca=f;return s|0}u=c[n>>2]|0;c[n>>2]=u+8;c[u>>2]=c[b>>2];c[u+4>>2]=c[k+(m<<3)+4>>2];if((e|0)==8){s=1;Ca=f;return s|0}e=1;do{m=c[j>>2]|0;k=c[n>>2]|0;c[n>>2]=k+8;c[k>>2]=c[m+(e<<3)>>2];c[k+4>>2]=c[m+(e<<3)+4>>2];e=e+1|0}while((e|0)!=(i|0));s=i;Ca=f;return s|0}function sf(d,f,g){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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=d+36|0;i=b[h>>1]|0;if(!f)j=1;else j=(e[f+38>>1]|0)+1&65535;f=d+38|0;b[f>>1]=j;b[h>>1]=0;j=d+8|0;k=Yb(d,5,(c[j>>2]|0)+(0-g<<3)|0)|0;if((k|0)==-1){l=2;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}if(k>>>0<=1){l=k;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}g=d+16|0;o=d+28|0;p=d+41|0;q=d+12|0;r=d+68|0;s=d+32|0;t=k;a:while(1){k=c[g>>2]|0;if(!k)break;u=k;while(1){if(a[u+18>>0]&16)break;k=c[u+8>>2]|0;if(!k)break a;else u=k}k=u+18|0;v=(c[o>>2]|0)+(c[u+20>>2]|0)|0;qc(d,v);switch(t|0){case 4:{w=c[(c[q>>2]|0)+152>>2]|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}case 6:{w=Cc(d,40635,23)|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}default:{w=c[j>>2]|0;c[v>>2]=c[w+-8>>2];x=c[w+-4>>2]|0}}c[v+4>>2]=x;w=v+8|0;c[j>>2]=w;c[g>>2]=u;a[p>>0]=a[u+36>>0]|0;b[h>>1]=0;v=u;y=w;do{w=c[v+4>>2]|0;y=y>>>0>>0?w:y;v=c[v+8>>2]|0}while((v|0)!=0);v=y-(c[o>>2]|0)|0;w=v>>3;z=w+11+((w+1|0)/8|0)|0;w=(z|0)<1e6?z:1e6;if((v|0)<=7999992?(w|0)<(c[s>>2]|0):0)_b(d,w);c[r>>2]=c[u+32>>2];a[k>>0]=a[k>>0]|32;a[u+37>>0]=t;w=Yb(d,6,0)|0;if(w>>>0>1)t=w;else{l=w;A=25;break}}if((A|0)==25){b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}a[d+6>>0]=t;A=c[j>>2]|0;switch(t|0){case 4:{r=c[(c[q>>2]|0)+152>>2]|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}case 6:{r=Cc(d,40635,23)|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}default:{c[A>>2]=c[A+-8>>2];B=c[A+-4>>2]|0}}c[A+4>>2]=B;B=A+8|0;c[j>>2]=B;c[(c[g>>2]|0)+4>>2]=B;l=t;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}function tf(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;f=c[b+16>>2]|0;if((e[b+38>>1]|0)>199)wf(b,40064,d);g=b+6|0;switch(a[g>>0]|0){case 0:{if((f|0)!=(b+72|0))wf(b,42528,d);if(dc(b,d+-8|0,-1)|0)return;ec(b);return}case 1:{a[g>>0]=0;c[f>>2]=(c[b+28>>2]|0)+(c[f+20>>2]|0);g=f+18|0;h=a[g>>0]|0;if(!(h&1)){i=c[f+28>>2]|0;if(!i)j=d;else{a[f+37>>0]=1;a[g>>0]=h|8;h=Ga[i&127](b)|0;j=(c[b+8>>2]|0)+(0-h<<3)|0}Wc(b,j)|0}else ec(b);uf(b,0);return}default:wf(b,42566,d)}}function uf(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;e=d+16|0;f=c[e>>2]|0;g=d+72|0;if((f|0)==(g|0))return;h=d+68|0;i=d+8|0;j=f;do{f=j+18|0;k=a[f>>0]|0;if(!(k&1)){l=k&255;if(!(l&16))m=k;else{k=l&239;a[f>>0]=k;c[h>>2]=c[j+32>>2];m=k}if((b[j+16>>1]|0)==-1?(k=j+4|0,l=c[i>>2]|0,(c[k>>2]|0)>>>0>>0):0)c[k>>2]=l;if(!(m&32))a[j+37>>0]=1;a[f>>0]=m&-57|8;f=Ga[c[j+28>>2]&127](d)|0;Wc(d,(c[i>>2]|0)+(0-f<<3)|0)|0}else{vf(d);ec(d)}j=c[e>>2]|0}while((j|0)!=(g|0));return}function vf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=c[a+16>>2]|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;h=c[(c[g>>2]|0)+-4>>2]|0;i=h&63;switch(h&63){case 12:case 7:case 6:case 21:case 19:case 18:case 17:case 16:case 15:case 14:case 13:{j=a+8|0;k=c[j>>2]|0;l=k+-8|0;c[j>>2]=l;j=h>>>6&255;c[f+(j<<3)>>2]=c[l>>2];c[f+(j<<3)+4>>2]=c[k+-4>>2];return}case 24:case 25:case 26:{k=a+8|0;j=c[k>>2]|0;switch(c[j+-4>>2]|0){case 0:{m=1;break}case 1:{m=(c[j+-8>>2]|0)==0;break}default:m=0}l=(m^1)&1;c[k>>2]=j+-8;if((i|0)==26){i=h>>>23;j=f+(i<<3)|0;k=c[f+(i<<3)+4>>2]|0;switch(k&15){case 5:{n=(c[j>>2]|0)+8|0;break}case 7:{n=(c[j>>2]|0)+8|0;break}default:n=(c[a+12>>2]|0)+224+((k&15)<<2)|0}k=c[n>>2]|0;a:do if(!k)o=4209132;else{n=c[(c[a+12>>2]|0)+212>>2]|0;j=(c[k+16>>2]|0)+(((1<<(d[k+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(n|0):0)break;i=c[j+16>>2]|0;if(!i){o=4209132;break a}else j=i}o=j}while(0);p=(c[o+4>>2]|0)==0?m&1:l}else p=l;if((p|0)==(h>>>6&255|0))return;c[g>>2]=(c[g>>2]|0)+4;return}case 22:{g=a+8|0;p=c[g>>2]|0;l=p+-16|0;m=l-(f+(h>>>23<<3))|0;c[p+-24>>2]=c[p+-8>>2];c[p+-20>>2]=c[p+-4>>2];if((m|0)>8){c[g>>2]=l;pc(a,m>>>3)}m=c[g>>2]|0;l=c[e>>2]|0;e=h>>>6&255;c[l+(e<<3)>>2]=c[m+-8>>2];c[l+(e<<3)+4>>2]=c[m+-4>>2];c[g>>2]=c[b+4>>2];return}case 34:{c[a+8>>2]=c[b+4>>2];return}case 29:{if(!(h&8372224))return;c[a+8>>2]=c[b+4>>2];return}default:return}}function wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+8|0;c[f>>2]=e;g=ld(b,d)|0;c[e>>2]=g;c[e+4>>2]=(a[g+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+8;Zb(b,-1)}function xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ca;Ca=Ca+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;if(!((g|0)==4209132?1:g>>>0>=(c[h>>2]|0)>>>0)){g=c[f+12>>2]&15;if((g|0)!=6){i=g+1|0;j=4}}else{i=0;j=4}if((j|0)==4){j=c[16+(i<<2)>>2]|0;c[d>>2]=46736;c[d+4>>2]=j;Te(a,1,nd(a,42131,d)|0)|0}d=yf(a)|0;j=(c[c[e>>2]>>2]|0)+8|0;e=c[h>>2]|0;i=j>>>0>>0?j:4209132;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];i=c[h>>2]|0;c[h>>2]=i+8;if((d|0)==(a|0)){Ca=b;return 1}c[h>>2]=i;h=d+8|0;d=c[h>>2]|0;c[h>>2]=d+8;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];Ca=b;return 1}function yf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d+12|0;f=c[e>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;j=f;break}else{mc(d);j=c[e>>2]|0;break}else j=f;while(0);f=j+4|0;g=Ja[c[j>>2]&1](c[f>>2]|0,0,8,112)|0;if(!g){if(!(a[j+51>>0]|0))Zb(d,4);ic(d,1);h=Ja[c[j>>2]&1](c[f>>2]|0,0,8,112)|0;if(!h)Zb(d,4);else k=h}else k=g;g=j+12|0;c[g>>2]=(c[g>>2]|0)+112;g=j+56|0;a[k+5>>0]=a[j+48>>0]&3;a[k+4>>0]=8;c[k>>2]=c[g>>2];c[g>>2]=k;g=d+8|0;j=c[g>>2]|0;c[j>>2]=k;c[j+4>>2]=72;c[g>>2]=(c[g>>2]|0)+8;c[k+12>>2]=c[e>>2];g=k+28|0;c[g>>2]=0;j=k+16|0;c[j>>2]=0;h=k+32|0;c[h>>2]=0;c[k+64>>2]=0;b[k+38>>1]=0;f=k+52|0;c[f>>2]=0;i=k+40|0;a[i>>0]=0;l=k+44|0;c[l>>2]=0;a[k+41>>0]=1;c[k+56>>2]=0;b[k+36>>1]=1;a[k+6>>0]=0;c[k+68>>2]=0;a[i>>0]=a[d+40>>0]|0;i=c[d+44>>2]|0;c[l>>2]=i;c[f>>2]=c[d+52>>2];c[k+48>>2]=i;i=c[e>>2]|0;e=i+4|0;f=Ja[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!f){if(!(a[i+51>>0]|0))Zb(d,4);ic(d,1);l=Ja[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!l)Zb(d,4);else m=l}else m=f;f=i+12|0;c[f>>2]=(c[f>>2]|0)+320;c[g>>2]=m;c[h>>2]=40;h=m+4|0;c[h>>2]=0;c[m+12>>2]=0;c[m+20>>2]=0;c[m+28>>2]=0;c[m+36>>2]=0;c[m+44>>2]=0;c[m+52>>2]=0;c[m+60>>2]=0;c[m+68>>2]=0;c[m+76>>2]=0;c[m+84>>2]=0;c[m+92>>2]=0;c[m+100>>2]=0;c[m+108>>2]=0;c[m+116>>2]=0;c[m+124>>2]=0;c[m+132>>2]=0;c[m+140>>2]=0;c[m+148>>2]=0;c[m+156>>2]=0;c[m+164>>2]=0;c[m+172>>2]=0;c[m+180>>2]=0;c[m+188>>2]=0;c[m+196>>2]=0;c[m+204>>2]=0;c[m+212>>2]=0;c[m+220>>2]=0;c[m+228>>2]=0;c[m+236>>2]=0;c[m+244>>2]=0;c[m+252>>2]=0;c[m+260>>2]=0;c[m+268>>2]=0;c[m+276>>2]=0;c[m+284>>2]=0;c[m+292>>2]=0;c[m+300>>2]=0;c[m+308>>2]=0;c[m+316>>2]=0;c[k+24>>2]=m+280;g=k+72|0;c[k+80>>2]=0;c[k+84>>2]=0;a[k+90>>0]=0;c[g>>2]=m;c[k+8>>2]=m+8;c[h>>2]=0;c[k+76>>2]=m+168;c[j>>2]=g;return k|0}function zf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Ca;Ca=Ca+16|0;i=h+8|0;j=h;k=c[d+16>>2]|0;if(b[d+36>>1]|0)if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))$b(d,42637,i);else $b(d,42595,j);a[d+6>>0]=1;c[k+20>>2]=(c[k>>2]|0)-(c[d+28>>2]|0);if(a[k+18>>0]&1){Ca=h;return 0}c[k+28>>2]=g;if(!g){l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;Zb(d,1)}c[k+24>>2]=f;l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;Zb(d,1);return 0}function Af(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c[c[b+16>>2]>>2]|0)+8|0;e=b+8|0;f=d>>>0<(c[e>>2]|0)>>>0?d:4209132;if((c[f+4>>2]|0)==72?(d=c[f>>2]|0,(d|0)!=0):0)g=d;else{Te(b,1,42397)|0;g=0}a:do if((g|0)==(b|0)){d=c[b+12>>2]|0;f=d+12|0;h=c[f>>2]|0;do if((h|0)>0)if(!(a[d+51>>0]|0)){i=d+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[f>>2]=-1600;break}else{mc(b);break}while(0);j=Cc(b,42679,7)|0}else switch(a[g+6>>0]|0){case 1:{f=c[b+12>>2]|0;h=f+12|0;d=c[h>>2]|0;do if((d|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=d+1600+(c[i>>2]|0);c[h>>2]=-1600;break}else{mc(b);break}while(0);j=Cc(b,42687,9)|0;break a;break}case 0:{h=c[g+16>>2]|0;if((h|0)!=(g+72|0)){d=c[b+12>>2]|0;f=d+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[d+51>>0]|0)){k=d+8|0;c[k>>2]=i+1600+(c[k>>2]|0);c[f>>2]=-1600;break}else{mc(b);break}while(0);j=Cc(b,42697,6)|0;break a}f=c[b+12>>2]|0;i=f+12|0;d=c[i>>2]|0;k=(d|0)>0;if((c[g+8>>2]|0)==((c[h>>2]|0)+8|0)){do if(k)if(!(a[f+51>>0]|0)){l=f+8|0;c[l>>2]=d+1600+(c[l>>2]|0);c[i>>2]=-1600;break}else{mc(b);break}while(0);j=Cc(b,42704,4)|0;break a}else{do if(k)if(!(a[f+51>>0]|0)){h=f+8|0;c[h>>2]=d+1600+(c[h>>2]|0);c[i>>2]=-1600;break}else{mc(b);break}while(0);j=Cc(b,42687,9)|0;break a}break}default:{i=c[b+12>>2]|0;d=i+12|0;f=c[d>>2]|0;do if((f|0)>0)if(!(a[i+51>>0]|0)){k=i+8|0;c[k>>2]=f+1600+(c[k>>2]|0);c[d>>2]=-1600;break}else{mc(b);break}while(0);j=Cc(b,42704,4)|0;break a}}while(0);b=c[e>>2]|0;c[b>>2]=j;c[b+4>>2]=(a[j+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return 1}function Bf(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;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;if(!((e|0)==4209132?1:e>>>0>=(c[f>>2]|0)>>>0)?(g=c[d+12>>2]|0,(g&15|0)==8):0)if((g|0)==72){h=1;i=c[e>>2]|0}else{h=1;i=0}else{h=0;i=a}e=h+1|0;g=ed(a,e,0)|0;d=c[c[b>>2]>>2]|0;if(!g){b=d+(e<<3)|0;j=c[f>>2]|0;if(!(b>>>0>=j>>>0|(b|0)==4209132)?(c[d+(e<<3)+4>>2]&15|0)!=0:0){c[j>>2]=c[b>>2];c[j+4>>2]=c[d+(e<<3)+4>>2];c[f>>2]=(c[f>>2]|0)+8;return 1}else k=j}else k=c[f>>2]|0;f=h|2;h=(i|0)==(a|0)&1;j=d+(f<<3)|0;if(!(j>>>0>=k>>>0|(j|0)==4209132)?(c[d+(f<<3)+4>>2]&15|0)!=0:0)l=Ye(a,f)|0;else l=h;Pe(a,i,g,l);return 1}function Cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=(d|0)==0|(e|0)==0;h=c[b+16>>2]|0;if(a[h+18>>0]&1)c[b+20>>2]=c[h+28>>2];c[b+52>>2]=g?0:d;c[b+44>>2]=f;c[b+48>>2]=f;a[b+40>>0]=g?0:e&255;return 1}function Df(a){a=a|0;cf(c[(c[a+12>>2]|0)+144>>2]|0);return}function Ef(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Ca;Ca=Ca+16|0;e=d;f=b+16|0;g=(c[c[f>>2]>>2]|0)+8|0;h=b+8|0;i=g>>>0<(c[h>>2]|0)>>>0?g:4209132;do if((c[i+4>>2]&15|0)==4){j=i;k=8}else{if(!(fd(b,i)|0)){g=c[c[f>>2]>>2]|0;l=g+8|0;if((l|0)==4209132?1:l>>>0>=(c[h>>2]|0)>>>0)m=0;else m=(c[g+12>>2]&15)+1|0;g=c[16+(m<<2)>>2]|0;c[e>>2]=40017;c[e+4>>2]=g;Te(b,1,nd(b,42131,e)|0)|0;n=0;o=0;break}g=c[b+12>>2]|0;l=g+12|0;p=c[l>>2]|0;do if((p|0)>0)if(!(a[g+51>>0]|0)){q=g+8|0;c[q>>2]=p+1600+(c[q>>2]|0);c[l>>2]=-1600;break}else{mc(b);break}while(0);l=(c[c[f>>2]>>2]|0)+8|0;j=l>>>0<(c[h>>2]|0)>>>0?l:4209132;k=8}while(0);if((k|0)==8){k=c[j>>2]|0;n=k+16|0;o=c[k+12>>2]|0}k=Ye(b,2)|0;j=o+1|0;e=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0;k=c[c[f>>2]>>2]|0;f=k+24|0;if(!((f|0)==4209132?1:f>>>0>=(c[h>>2]|0)>>>0)?(c[k+28>>2]&15|0)!=0:0){k=Ye(b,3)|0;r=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0}else r=o;k=(e|0)==0?1:e;e=r>>>0>o>>>0?o:r;if(e>>>0>>0){r=c[b+12>>2]|0;o=r+12|0;j=c[o>>2]|0;do if((j|0)>0)if(!(a[r+51>>0]|0)){f=r+8|0;c[f>>2]=j+1600+(c[f>>2]|0);c[o>>2]=-1600;break}else{mc(b);break}while(0);s=Cc(b,5108828,0)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Ca=d;return 1}else{o=n+k+-1|0;n=1-k+e|0;e=c[b+12>>2]|0;k=e+12|0;j=c[k>>2]|0;do if((j|0)>0)if(!(a[e+51>>0]|0)){r=e+8|0;c[r>>2]=j+1600+(c[r>>2]|0);c[k>>2]=-1600;break}else{mc(b);break}while(0);s=Yc(b,o,n)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Ca=d;return 1}return 0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[1052286]|0;e=a+48|0;if(!d)f=c[e>>2]|0;else{c[e>>2]=d;c[1052286]=0;f=d}d=f-b|0;c[e>>2]=(d|0)>1?d:1;return}function Gf(a){a=a|0;var b=0;b=a+48|0;c[1052286]=c[b>>2];c[b>>2]=1;return}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[1052293]|0;if((e|0)>2046)return;Kk(148880+(e*1320|0)|0,a)|0;Kk(148880+((c[1052293]|0)*1320|0)+256|0,b)|0;b=c[1052293]|0;c[148880+(b*1320|0)+1316>>2]=d;Kk(148880+(b*1320|0)+288|0,5071136)|0;c[1052293]=(c[1052293]|0)+1;return}function If(){c[1052293]=0;return}function Jf(){var a=0;a=c[1052293]|0;return ((a|0)<1?0:148880+((a+-1|0)*1320|0)+256|0)|0}function Kf(){var a=0;a=c[1052293]|0;return ((a|0)<1?0:148880+((a+-1|0)*1320|0)|0)|0}function Lf(){var a=0,b=0;a=c[1052293]|0;if((a|0)<1)return;b=a+-1|0;if(!(c[148880+(b*1320|0)+1316>>2]|0))return;c[1052293]=b;return}function Mf(){var a=0,b=0;a=c[1052293]|0;if(!a)return;b=148880+((a+-1|0)*1320|0)+1316|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}function Nf(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ca;Ca=Ca+1040|0;d=b+1024|0;e=b;f=c[1052293]|0;g=148880+((f+-1|0)*1320|0)|0;if((f|0)<1){Ca=b;return}if((a[5066476]|0)!=0&(c[1267391]|0)!=0|(c[943613]|0)!=0){Hn(c[943608]|0);f=En(1024)|0;c[943608]=f;h=c[1052293]|0;Ps(2917776,0,1024)|0;Kk(e,(h|0)<1?0:148880+((h+-1|0)*1320|0)|0)|0;a[2917776]=0;h=Xr(e,51029)|0;if((h|0)!=0&h>>>0>e>>>0){a[h>>0]=0;i=h;a:while(1){j=i+-1|0;h=a[j>>0]|0;if(!((h+-97&255)<26|(h+-48&255)<10))switch(h<<24>>24){case 45:case 95:break;default:break a}if(j>>>0>e>>>0)i=j;else break}Kk(2917776,j>>>0>e>>>0?i:j)|0}c[d>>2]=2917776;mq(f,49112,d)|0;c[1267393]=30;_a()}else{Mb(g)|0;c[1267390]=1}g=c[1052293]|0;Kk(5072161,(g|0)<1?0:148880+((g+-1|0)*1320|0)+288|0)|0;c[1267393]=20;g=c[1052293]|0;if((g|0)>=1)c[1052293]=g+-1;c[944502]=0;Ca=b;return}function Of(b){b=b|0;var c=0,d=0,e=0,f=0;c=Ca;Ca=Ca+1024|0;d=c;Ps(2917776,0,1024)|0;Kk(d,b)|0;a[2917776]=0;b=Xr(d,51029)|0;if(!((b|0)!=0&b>>>0>d>>>0)){Ca=c;return 2917776}a[b>>0]=0;e=b;a:while(1){f=e+-1|0;b=a[f>>0]|0;if(!((b+-97&255)<26|(b+-48&255)<10))switch(b<<24>>24){case 45:case 95:break;default:break a}if(f>>>0>d>>>0)e=f;else break}Kk(2917776,f>>>0>d>>>0?e:f)|0;Ca=c;return 2917776}function Pf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=(c[1231650]|0)!=0;f=c[1267387]|0;if(e&(f|0)==0){js(b)|0;return}if(!((a[4174164]|0)==0|e^1)){js(b)|0;return}if((f|0)!=2)ja(14,b|0,Yq(b)|0)|0;f=Yq(b)|0;if((f|0)>32){e=~f;g=((f+((e|0)>-65?e:-65)+32|0)>>>5)*6|0;e=f;while(1){Ua();if((e|0)>64)e=e+-32|0;else break}h=g+6|0}else h=0;g=(c[1267497]|0)-h|0;c[1267497]=g;e=c[1231641]|0;Zk(e,0,g,127,g+5+((((Yq(b)|0)+-1|0)>>>5)*6|0)|0,0);Gl(c[1231641]|0,b,c[1231654]|0,c[1267496]|0,c[1267497]|0,17,d)|0;c[1267497]=(c[1267497]|0)+h;Ua();return}function Qf(a){a=a|0;Pf(a,6);return}function Rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;mq(3557312,a,f)|0;Pf(3557312,6);Ca=e;return}function Sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ca;Ca=Ca+16|0;g=f;c[g>>2]=b;c[g+4>>2]=d;mq(3557312,a,g)|0;Pf(3557312,e);Ca=f;return}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ca;Ca=Ca+48|0;f=e+24|0;g=e+8|0;h=e;i=e+32|0;j=e+28|0;if(Xr(b,42918)|0){k=0;Ca=e;return k|0}l=Xr(b,42934)|0;if(!l){if(!b){k=0;Ca=e;return k|0}m=En((Yq(b)|0)+1|0)|0;Kk(m,b)|0;n=m+(Yq(m)|0)|0;o=n+-1|0;a:do if(o>>>0>m>>>0){p=o;q=n;while(1){if((a[p>>0]|0)==58){r=p;s=q;break a}t=p+-1|0;if(t>>>0>m>>>0){u=p;p=t;q=u}else{r=t;s=p;break}}}else{r=o;s=n}while(0);es(2852240,(a[r>>0]|0)==58?s+1|0:r,1023)|0;a[2853263]=0;Hn(m);k=2852240;Ca=e;return k|0}c[i>>2]=0;c[j>>2]=0;m=Xr(b,42945)|0;if(m|0){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=j;Mr(m+8|0,42954,h)|0}h=En((Yq(b)|0)+1|0)|0;Kk(h,l+10|0)|0;l=h;b:while(1){v=l+1|0;switch(a[v>>0]|0){case 0:case 39:{break b;break}default:l=v}}a[v>>0]=0;if(!d){c[f>>2]=h;mq(3557312,42999,f)|0}else{f=c[i>>2]|0;d=c[j>>2]|0;c[g>>2]=h;c[g+4>>2]=f;c[g+8>>2]=d;mq(3557312,42966,g)|0}Pf(3557312,6);g=c[i>>2]|0;if((g|0)>0?(i=c[1264991]|0,d=g+-1|0,(Bp(c[i>>2]|0,c[i+336>>2]|0)|0)!=(d|0)):0){i=Cp(c[c[1264991]>>2]|0,d)|0;d=c[1264991]|0;c[d+336>>2]=i;Dp(d,52);c[944506]=g}Hn(h);k=0;Ca=e;return k|0}function Uf(b){b=b|0;var c=0;c=En(4192)|0;Kk(c,b)|0;if(!(Xr(b,43011)|0)){if(Oq(b,43045)|0)Pf(c,6)}else if(Xr(b,43028)|0?(Pf(43028,6),a[5107712]|0):0)Pf(5107712,7);Hn(c);return}function Vf(a,b){a=a|0;b=b|0;c[1231637]=0;c[1231638]=(c[1231638]|0)+1024;b=(c[1231636]|0)+1024|0;c[1231636]=b;if((b|0)<(4194304/(c[1276653]|0)|0|0))return;c[1231636]=0;zf(a,0,0,0)|0;return}function Wf(){var a=0;a=c[1052292]|0;if(a|0)Df(a);c[1052292]=0;a=af(1,0)|0;c[1052292]=a;Kg(a);return}function Xf(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;if(!e){f=0;g=b}else{e=Dn(262144)|0;Ak(b,e)|0;f=e;g=e}Hn(c[1052294]|0);if(!g){e=En(16)|0;c[1052294]=e;a[e>>0]=0;Hn(f);h=c[1052294]|0;return h|0}e=(Yq(g)|0)+1|0;b=En(e>>>0>32?e:32)|0;c[1052294]=b;Kk(b,g)|0;g=c[1052294]|0;b=a[g>>0]|0;a:do if(b<<24>>24){e=g;i=1;j=b;while(1){if((i|0)==(d|0))break;k=j<<24>>24==0;l=e+1|0;if(k^j<<24>>24!=10){m=l;while(1){n=a[m>>0]|0;o=n<<24>>24==0;p=m+1|0;if(o^n<<24>>24!=10)m=p;else{q=m;r=p;s=o;break}}}else{q=e;r=l;s=k}m=s?q:r;o=a[m>>0]|0;if(!(o<<24>>24))break a;else{e=m;i=i+1|0;j=o}}i=e;o=j;b:while(1){switch(o<<24>>24){case 0:case 10:{break b;break}default:{}}m=i+1|0;i=m;o=a[m>>0]|0}a[i>>0]=0;Hn(f);h=e;return h|0}while(0);Kk(g,43063)|0;Hn(f);h=c[1052294]|0;return h|0}function Yf(){var b=0;b=c[1267497]|0;Zi(4926528,c[1268394]|0,24320,0,128);c[1267497]=b;c[1267496]=0;c[1267495]=6;c[1267506]=0;c[1267507]=0;c[1267501]=0;c[1267500]=0;c[1267475]=0;c[1267460]=1;c[1267476]=1;c[1267461]=2;c[1267477]=2;c[1267462]=3;c[1267478]=3;c[1267463]=4;c[1267479]=4;c[1267464]=5;c[1267480]=5;c[1267465]=6;c[1267481]=6;c[1267466]=7;c[1267482]=7;c[1267467]=8;c[1267483]=8;c[1267468]=9;c[1267484]=9;c[1267469]=10;c[1267485]=10;c[1267470]=11;c[1267486]=11;c[1267471]=12;c[1267487]=12;c[1267472]=13;c[1267488]=13;c[1267473]=14;c[1267489]=14;c[1267474]=15;c[1267490]=15;c[1267459]=16;c[1267503]=0;fl(c[1231641]|0);c[1267492]=0;c[1267491]=0;c[1267494]=128;c[1267493]=128;c[1267505]=0;a[5107712]=0;c[1267783]=0;c[1043532]=0;c[1276590]=0;c[1276591]=0;c[1276592]=0;c[1231633]=0;c[1277056]=0;return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=Ca;Ca=Ca+128|0;e=d+112|0;f=d+104|0;g=d+96|0;h=d+88|0;i=d+80|0;j=d+72|0;k=d+64|0;l=d+56|0;m=d+48|0;n=d+40|0;o=d+32|0;p=d+24|0;q=d+16|0;r=d+8|0;s=d;t=d+120|0;c[t>>2]=0;c[1267495]=6;if(kq(b,43069,6)|0)if(!(kq(b,43076,5)|0))u=b+5|0;else{if(kq(b,43196,14)|0)if(kq(b,43211,13)|0){if(!(kq(b,43388,7)|0)){c[s>>2]=t;Mr(b+7|0,52136,s)|0;s=c[t>>2]|0;v=(s|0)<256?s:256;s=(v|0)>8?v:8;c[t>>2]=s;c[1043539]=s;if(c[1052808]|0)c[1052808]=s;c[r>>2]=s;mq(3557312,43396,r)|0;Pf(3557312,14);Ca=d;return}if(!(kq(b,50769,6)|0)){Pf(43411,14);Pf(43431,12);c[q>>2]=c[1043539];c[q+4>>2]=0;mq(3557312,43456,q)|0;Pf(3557312,6);Ca=d;return}if(!(kq(b,43475,8)|0)){c[p>>2]=t;Mr(b+8|0,52136,p)|0;p=c[t>>2]|0;q=(p|0)<120?p:120;p=(q|0)>1?q:1;c[t>>2]=p;c[943658]=p;c[o>>2]=p;mq(3557312,43484,o)|0;Pf(3557312,14);Ca=d;return}if(!(kq(b,43500,7)|0)){Pf(43508,14);c[n>>2]=c[943658];c[n+4>>2]=0;mq(3557312,43533,n)|0;Pf(3557312,6);Ca=d;return}n=b+10|0;if(!(kq(b,43553,10)|0)){c[m>>2]=t;Mr(n,52136,m)|0;m=c[t>>2]|0;o=(m|0)<8?m:8;m=(o|0)>1?o:1;c[t>>2]=m;c[943655]=m;c[l>>2]=m;mq(3557312,43564,l)|0;Pf(3557312,14);Ca=d;return}if(!(kq(b,43582,9)|0)){Pf(43592,14);c[k>>2]=c[943655];c[k+4>>2]=0;mq(3557312,43616,k)|0;Pf(3557312,6);Ca=d;return}if(!(kq(b,43638,17)|0)){c[j>>2]=t;Mr(b+17|0,52136,j)|0;j=c[t>>2]|0;k=(j|0)<8?j:8;j=(k|0)>1?k:1;c[t>>2]=j;c[943654]=j;c[i>>2]=j;mq(3557312,43656,i)|0;Pf(3557312,14);Ca=d;return}if(!(kq(b,43681,16)|0)){Pf(43698,14);c[h>>2]=c[943654];c[h+4>>2]=0;mq(3557312,43729,h)|0;Pf(3557312,6);Ca=d;return}if(!(kq(b,43758,10)|0)){c[g>>2]=t;Mr(n,52136,g)|0;g=c[t>>2]|0;n=(g|0)<8?g:8;g=(n|0)>1?n:1;c[t>>2]=g;c[943653]=g;c[f>>2]=g;mq(3557312,43769,f)|0;Pf(3557312,14);Ca=d;return}if(!(kq(b,43787,9)|0)){Pf(43797,14);c[e>>2]=c[943653];c[e+4>>2]=0;mq(3557312,43822,e)|0;Pf(3557312,6);Ca=d;return}else{Pf(43844,14);Pf(5108828,6);Pf(43861,12);c[1267495]=14;Pf(50769,6);Pf(43076,6);Pf(43500,6);Pf(43582,6);Pf(43681,6);Pf(43211,6);Pf(43787,6);Pf(5108828,6);Ca=d;return}}else w=b+13|0;else w=b+14|0;if(!(kq(w,43225,2)|0)){c[943664]=1;Pf(43228,14);Ca=d;return}if(!(kq(w,43238,3)|0)){c[943664]=0;Pf(43242,14);Ca=d;return}switch(a[w>>0]|0){case 49:{c[943664]=1;Pf(43228,14);Ca=d;return}case 48:{c[943664]=0;Pf(43242,14);Ca=d;return}default:{Pf(43253,14);Pf(5108828,6);Pf(43278,6);Pf(43308,6);Pf(5108828,6);if(!((c[943664]|0)!=0?(Pf(43339,12),(c[943664]|0)!=0):0))Pf(43363,12);Pf(5108828,6);Ca=d;return}}}else u=b+6|0;if(!(kq(u,43082,4)|0)){c[943659]=1;Pf(43087,14);Ca=d;return}if(!(kq(u,43105,4)|0)){c[943659]=0;Pf(43110,14);Ca=d;return}if(!(kq(u,43128,7)|0)){c[943659]=3;Pf(43136,14);Ca=d;return}else{Pf(43157,14);Pf(5108828,6);Pf(43178,12);Pf(43105,6);Pf(43082,6);Pf(43128,6);Pf(5108828,6);Ca=d;return}}function _f(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ca;Ca=Ca+48|0;f=e+32|0;g=e+24|0;h=e+16|0;i=e+8|0;j=e;k=e+40|0;c[1267776]=0;c[1231648]=0;c[1052786]=0;if(!(c[1267391]|0)){a[3845108]=0;a[4107252]=0;c[1043197]=0}c[1231640]=1;c[1231640]=(Xr(b,47776)|0)==0&1;c[1231635]=0;c[1231636]=0;c[1231637]=0;c[1231638]=0;c[1231639]=0;c[k>>2]=0;l=(d|0)!=0;d=(l^1)&1;m=En(262144)|0;if(Ak(b,m)|0){Hn(m);Ca=e;return}if(!l){if((Yq(m)|0)>>>0>65536){Pf(43881,6);c[j>>2]=Yq(m)|0;c[j+4>>2]=65536;mq(3557312,43908,j)|0;Pf(3557312,6);Hn(m);Ca=e;return}j=ug(m)|0;if((j|0)>8192){Pf(43923,6);c[i>>2]=j;c[i+4>>2]=8192;mq(3557312,43941,i)|0;Pf(3557312,6);Hn(m);Ca=e;return}else n=j}else n=0;Je(c[1052292]|0);Ps(2918800,0,262144)|0;Kk(2918800,43957)|0;if(!((Oq(5066476,51410)|0)!=0?(Oq(5066476,44964)|0)!=0:0)){j=2918800+(Yq(2918800)|0)|0;a[j>>0]=a[44970]|0;a[j+1>>0]=a[44971]|0;a[j+2>>0]=a[44972]|0;a[j+3>>0]=a[44973]|0;a[j+4>>0]=a[44974]|0;a[j+5>>0]=a[44975]|0;a[j+6>>0]=a[44976]|0}j=En(262144)|0;gj(m,j);gr(2918800,j)|0;Hn(m);Hn(j);if(47410){j=896;m=47410;do{if(!(Oq(b,m)|0)){c[h>>2]=m;mq(2918800,44977,h)|0;o=c[j>>2]|0}else o=m;i=Yq(b)|0;p=Yq(o)|0;a:do if(i>>>0>=(p+2|0)>>>0?(kq(b,o,p)|0)==0:0){q=b+p|0;switch(a[q>>0]|0){case 32:case 0:break;default:break a}if((a[b+(p+1)>>0]|0)!=34){c[g>>2]=o;c[g+4>>2]=q+1;mq(2918800,44982,g)|0}}while(0);j=j+4|0;m=c[j>>2]|0}while((m|0)!=0)}if(!(Oq(b,50294)|0)){r=2918800;s=44991;t=r+9|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0))}if((kq(b,45e3,6)|0)==0?(a[b+6>>0]|0)<33:0){Zf(b+7|0);Kk(2918800,5108828)|0}if(!(Oq(b,45007)|0)){cj();Kk(2918800,45014)|0}m=2918800+(Yq(2918800)|0)|0;if(l){r=m;s=45079;t=r+24|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0))}else Os(m|0,45103,1220)|0;c[1276587]=1;m=_e(c[1052292]|0,2918800)|0;c[1276587]=0;c[1276589]=n*12;if(!m){sd(c[1052292]|0,46418);cj();c[1276661]=0;if((c[1267390]|0)==1){m=c[1267497]|0;Zi(4926528,c[1268394]|0,24320,0,128);c[1267497]=m;c[1267496]=0;c[1267495]=6;c[1267506]=0;c[1267507]=0;c[1267501]=0;c[1267500]=0;c[1267475]=0;c[1267460]=1;c[1267476]=1;c[1267461]=2;c[1267477]=2;c[1267462]=3;c[1267478]=3;c[1267463]=4;c[1267479]=4;c[1267464]=5;c[1267480]=5;c[1267465]=6;c[1267481]=6;c[1267466]=7;c[1267482]=7;c[1267467]=8;c[1267483]=8;c[1267468]=9;c[1267484]=9;c[1267469]=10;c[1267485]=10;c[1267470]=11;c[1267486]=11;c[1267471]=12;c[1267487]=12;c[1267472]=13;c[1267488]=13;c[1267473]=14;c[1267489]=14;c[1267474]=15;c[1267490]=15;c[1267459]=16;c[1267503]=0;fl(c[1231641]|0);c[1267492]=0;c[1267491]=0;c[1267494]=128;c[1267493]=128;c[1267505]=0;a[5107712]=0;c[1267783]=0;c[1043532]=0;c[1276590]=0;c[1276591]=0;c[1276592]=0;c[1231633]=0;c[1277056]=0}c[1267387]=1;c[1267391]=d;Ca=e;return}c[1267495]=6;do if(!l){m=$f(c[8384]|0,k)|0;if((m|0)>0){n=c[1264991]|0;s=m+-1|0;if((Bp(c[n>>2]|0,c[n+336>>2]|0)|0)!=(s|0)){n=Cp(c[c[1264991]>>2]|0,s)|0;s=c[1264991]|0;c[s+336>>2]=n;Dp(s,52);c[944506]=m}}else if(!m){Pf(46323,14);u=d;v=0;break}s=c[k>>2]|0;c[f>>2]=m;c[f+4>>2]=s;mq(3557312,46336,f)|0;Pf(3557312,14);s=Xf(b,(c[8384]|0)+-2|0,1)|0;if(!s){u=0;v=0}else{Pf(s,7);u=0;v=s}}else{Pf(46323,14);u=d;v=0}while(0);d=Tf(ed(c[1052292]|0,-1,0)|0,u)|0;do if(d|0){if(Oq(d,46366)|0){Pf(d,6);break}if(!(Xr(v,46745)|0)){Pf(46395,6);break}else{Pf(d,6);break}}while(0);c[944501]=1;Ca=e;return}function $f(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;d=Ca;Ca=Ca+16|0;e=d;f=a+-2|0;a=Dn(262144)|0;Ak(c[c[1264983]>>2]|0,a)|0;g=Bp(a,1048576)|0;Hn(a);a=g+2|0;if((f|0)>(a|0)){g=f-a|0;a=Dn(262144)|0;Ak(c[c[1264984]>>2]|0,a)|0;h=Bp(a,1048576)|0;Hn(a);a=h+2|0;if((g|0)>(a|0)){h=g-a|0;a=Dn(262144)|0;Ak(c[c[1264985]>>2]|0,a)|0;i=Bp(a,1048576)|0;Hn(a);a=i+2|0;if((h|0)>(a|0)){i=h-a|0;a=Dn(262144)|0;Ak(c[c[1264986]>>2]|0,a)|0;j=Bp(a,1048576)|0;Hn(a);a=j+2|0;if((i|0)>(a|0)){j=i-a|0;a=Dn(262144)|0;Ak(c[c[1264987]>>2]|0,a)|0;k=Bp(a,1048576)|0;Hn(a);a=k+2|0;if((j|0)>(a|0)){k=j-a|0;a=Dn(262144)|0;Ak(c[c[1264988]>>2]|0,a)|0;l=Bp(a,1048576)|0;Hn(a);a=l+2|0;if((k|0)>(a|0)){l=k-a|0;a=Dn(262144)|0;Ak(c[c[1264989]>>2]|0,a)|0;m=Bp(a,1048576)|0;Hn(a);a=m+2|0;if((l|0)>(a|0)){m=l-a|0;a=Dn(262144)|0;Ak(c[c[1264990]>>2]|0,a)|0;n=Bp(a,1048576)|0;Hn(a);if((m|0)>(n+2|0)){if(!b){o=0;Ca=d;return o|0}c[b>>2]=0;o=0;Ca=d;return o|0}else{p=7;q=m}}else{p=6;q=l}}else{p=5;q=k}}else{p=4;q=j}}else{p=3;q=i}}else{p=2;q=h}}else{p=1;q=g}}else{p=0;q=f}if(b|0)c[b>>2]=p;if((Bk()|0)<=0){o=q;Ca=d;return o|0}p=0;b=q;while(1){if((q|0)>(Ck(p)|0)?(q|0)<=(Dk(p)|0):0)break;if((q|0)>(Dk(p)|0)){f=Dk(p)|0;r=b+1-f+(Ck(p)|0)|0}else r=b;f=p+1|0;if((f|0)<(Bk()|0)){p=f;b=r}else{o=r;s=14;break}}if((s|0)==14){Ca=d;return o|0}s=Ek(p)|0;r=q-(Ck(p)|0)|0;c[e>>2]=s;c[e+4>>2]=r;mq(3557312,46430,e)|0;Pf(3557312,9);o=1-q+b+(Ck(p)|0)|0;Ca=d;return o|0}function ag(){var a=0,b=0;if((c[1231649]|0)>0)return;if(c[1267391]|0){ro(0,0);uo();c[1231648]=0;c[1052786]=0;Gj()|0;if((Xi(4926528,c[1268394]|0,24366)|0)!=1){c[1267475]=0;c[1267476]=1;c[1267477]=2;c[1267478]=3;c[1267479]=4;c[1267480]=5;c[1267481]=6;c[1267482]=7;c[1267483]=8;c[1267484]=9;c[1267485]=10;c[1267486]=11;c[1267487]=12;c[1267488]=13;c[1267489]=14;c[1267490]=15}if(!(Xi(4926528,c[1268394]|0,24388)|0)){c[1267779]=0;c[1267780]=0;c[1267781]=0;c[1267782]=0}mk();if(!(c[944501]|0))c[944501]=1}c[1267387]=0;c[1231644]=0;c[1267501]=0;c[1267500]=0;fl(c[1231641]|0);c[1267496]=0;a=c[1267497]|0;b=(a|0)<120?a:120;c[1267497]=(b|0)>0?b:0;if(!(ul()|0))return;do vl()|0;while((ul()|0)!=0);return}function bg(){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;b=c[1264993]|0;d=(a[c[c[1264983]>>2]>>0]|0)==0;e=(b|0)==1?1:(a[c[c[1264984]>>2]>>0]|0)!=0;f=(b|0)==2?1:(a[c[c[1264985]>>2]>>0]|0)!=0;g=(b|0)==3?1:(a[c[c[1264986]>>2]>>0]|0)!=0;h=(b|0)==4?1:(a[c[c[1264987]>>2]>>0]|0)!=0;i=(b|0)==5?1:(a[c[c[1264988]>>2]>>0]|0)!=0;j=(b|0)==6?1:(a[c[c[1264989]>>2]>>0]|0)!=0;k=(b|0)==7?1:(a[c[c[1264990]>>2]>>0]|0)!=0;a[c[c[15088]>>2]>>0]=0;l=k?7:j?6:i?5:h?4:g?3:f?2:e?1:((b|0)!=0&d)<<31>>31;gr(c[c[15088]>>2]|0,c[c[1264983]>>2]|0)|0;if((l|0)>0){d=c[c[15088]>>2]|0;b=d+(Yq(d)|0)|0;a[b>>0]=a[51481]|0;a[b+1>>0]=a[51482]|0;a[b+2>>0]=a[51483]|0;a[b+3>>0]=a[51484]|0;a[b+4>>0]=a[51485]|0;a[b+5>>0]=a[51486]|0;a[b+6>>0]=a[51487]|0}gr(c[c[15088]>>2]|0,c[c[1264984]>>2]|0)|0;if((l|0)>1){b=c[c[15088]>>2]|0;d=b+(Yq(b)|0)|0;a[d>>0]=a[51481]|0;a[d+1>>0]=a[51482]|0;a[d+2>>0]=a[51483]|0;a[d+3>>0]=a[51484]|0;a[d+4>>0]=a[51485]|0;a[d+5>>0]=a[51486]|0;a[d+6>>0]=a[51487]|0}gr(c[c[15088]>>2]|0,c[c[1264985]>>2]|0)|0;if((l|0)>2){d=c[c[15088]>>2]|0;b=d+(Yq(d)|0)|0;a[b>>0]=a[51481]|0;a[b+1>>0]=a[51482]|0;a[b+2>>0]=a[51483]|0;a[b+3>>0]=a[51484]|0;a[b+4>>0]=a[51485]|0;a[b+5>>0]=a[51486]|0;a[b+6>>0]=a[51487]|0}gr(c[c[15088]>>2]|0,c[c[1264986]>>2]|0)|0;if((l|0)>3){b=c[c[15088]>>2]|0;d=b+(Yq(b)|0)|0;a[d>>0]=a[51481]|0;a[d+1>>0]=a[51482]|0;a[d+2>>0]=a[51483]|0;a[d+3>>0]=a[51484]|0;a[d+4>>0]=a[51485]|0;a[d+5>>0]=a[51486]|0;a[d+6>>0]=a[51487]|0}gr(c[c[15088]>>2]|0,c[c[1264987]>>2]|0)|0;if((l|0)>4){d=c[c[15088]>>2]|0;b=d+(Yq(d)|0)|0;a[b>>0]=a[51481]|0;a[b+1>>0]=a[51482]|0;a[b+2>>0]=a[51483]|0;a[b+3>>0]=a[51484]|0;a[b+4>>0]=a[51485]|0;a[b+5>>0]=a[51486]|0;a[b+6>>0]=a[51487]|0}gr(c[c[15088]>>2]|0,c[c[1264988]>>2]|0)|0;if((l|0)>5){b=c[c[15088]>>2]|0;d=b+(Yq(b)|0)|0;a[d>>0]=a[51481]|0;a[d+1>>0]=a[51482]|0;a[d+2>>0]=a[51483]|0;a[d+3>>0]=a[51484]|0;a[d+4>>0]=a[51485]|0;a[d+5>>0]=a[51486]|0;a[d+6>>0]=a[51487]|0}gr(c[c[15088]>>2]|0,c[c[1264989]>>2]|0)|0;if((l|0)<=6){m=c[15088]|0;n=c[m>>2]|0;o=c[1264990]|0;p=c[o>>2]|0;gr(n,p)|0;return}l=c[c[15088]>>2]|0;d=l+(Yq(l)|0)|0;a[d>>0]=a[51481]|0;a[d+1>>0]=a[51482]|0;a[d+2>>0]=a[51483]|0;a[d+3>>0]=a[51484]|0;a[d+4>>0]=a[51485]|0;a[d+5>>0]=a[51486]|0;a[d+6>>0]=a[51487]|0;m=c[15088]|0;n=c[m>>2]|0;o=c[1264990]|0;p=c[o>>2]|0;gr(n,p)|0;return}function cg(){var 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;a=c[(c[1264983]|0)+4>>2]|0;Ps(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[1264984]|0)+4>>2]|0;Ps(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[1264985]|0)+4>>2]|0;Ps(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[1264986]|0)+4>>2]|0;Ps(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[1264987]|0)+4>>2]|0;Ps(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[1264988]|0)+4>>2]|0;Ps(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[1264989]|0)+4>>2]|0;Ps(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[1264990]|0)+4>>2]|0;Ps(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[c[15088]>>2]|0;b=Xr(a,51481)|0;d=c[c[1264983]>>2]|0;if(b){Os(d|0,a|0,b-a|0)|0;e=b+6|0;b=Xr(e,51481)|0;f=c[c[1264984]>>2]|0;if(b){Os(f|0,e|0,b-e|0)|0;g=b+6|0;b=Xr(g,51481)|0;h=c[c[1264985]>>2]|0;if(b){Os(h|0,g|0,b-g|0)|0;i=b+6|0;b=Xr(i,51481)|0;j=c[c[1264986]>>2]|0;if(b){Os(j|0,i|0,b-i|0)|0;k=b+6|0;b=Xr(k,51481)|0;l=c[c[1264987]>>2]|0;if(b){Os(l|0,k|0,b-k|0)|0;m=b+6|0;b=Xr(m,51481)|0;n=c[c[1264988]>>2]|0;if(b){Os(n|0,m|0,b-m|0)|0;o=b+6|0;b=Xr(o,51481)|0;p=c[c[1264989]>>2]|0;if(b){Os(p|0,o|0,b-o|0)|0;q=b+6|0;b=Xr(q,51481)|0;r=c[c[1264990]>>2]|0;if(!b){s=q;t=r}else{Os(r|0,q|0,b-q|0)|0;return}}else{s=o;t=p}}else{s=m;t=n}}else{s=k;t=l}}else{s=i;t=j}}else{s=g;t=h}}else{s=e;t=f}}else{s=a;t=d}Kk(t,s)|0;return}function dg(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ca;Ca=Ca+3072|0;e=d+2048|0;f=d+1024|0;g=d;bg();Kk(5071136,5072161)|0;a[5072161]=0;a[5066476]=0;a[5067500]=0;Kk(f,5063056)|0;c[1276588]=0;c[944501]=0;bp(46442,g);do if(!(Xr(f,5059976)|0)){if(!(Xr(f,g)|0)){Kk(5067500,f)|0;break}Ps(2917776,0,1024)|0;Kk(e,f)|0;a[2917776]=0;h=Xr(e,51029)|0;if((h|0)!=0&h>>>0>e>>>0){a[h>>0]=0;i=h;a:while(1){j=i+-1|0;h=a[j>>0]|0;if(!((h+-97&255)<26|(h+-48&255)<10))switch(h<<24>>24){case 45:case 95:break;default:break a}if(j>>>0>e>>>0)i=j;else break}Kk(2917776,j>>>0>e>>>0?i:j)|0}Kk(5066476,2917776)|0}else Kk(5067500,f+(Yq(5059976)|0)|0)|0;while(0);a[5068524]=0;f=c[1052292]|0;if(f|0)Df(f);c[1052292]=0;f=af(1,0)|0;c[1052292]=f;Kg(f);_i(4926528,c[1268394]|0,0,0,17152);a[5064168]=0;a[5073186]=0;a[5073250]=0;a[5073314]=0;a[5073378]=0;a[5073442]=0;a[5073506]=0;b[2536785]=0;b[2536786]=0;b[2536787]=0;f=za(0)|0;nj((Vo()|0)+f|0);_f(c[c[15088]>>2]|0,0);uo();ro(0,0);c[1267779]=0;c[1267780]=0;c[1267781]=0;c[1267782]=0;c[1276653]=30;c[1276654]=30;cj();zb(c[15088]|0,5064121);Ca=d;return}function eg(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;d=Ca;Ca=Ca+560|0;e=d+536|0;f=d+520|0;g=d+512|0;h=d;i=d+548|0;j=d+544|0;c[j>>2]=0;qd(b,47638);wd(c[1052292]|0,0,1,0,0,0)|0;k=ed(b,-1,0)|0;if(!k){Ca=d;return}_c(b,-2);b=a[k>>0]|0;if(!(b<<24>>24)){Ca=d;return}l=k;k=0;m=b;while(1){if(k>>>0>=10){n=23;break}k=k+1|0;b=l;o=m;a:while(1){switch(o<<24>>24){case 10:case 0:{break a;break}default:{}}p=b+1|0;b=p;o=a[p>>0]|0}Ps(h|0,0,512)|0;es(h,l,b-l|0)|0;l=(a[b>>0]|0)==10?b+1|0:b;b:do if((Xr(h,46447)|0)==0?(Xr(h,46463)|0)==0:0){o=h;c:while(1){switch(a[o>>0]|0){case 0:{break b;break}case 58:{break c;break}default:{}}o=o+1|0}c[i>>2]=0;c[g>>2]=i;Mr(o+1|0,52136,g)|0;p=c[i>>2]|0;if((p|0)>0){q=Xr(h,46474)|0;if(!q){if(!(Xr(h,46511)|0))break;r=$f(p,j)|0;if((r|0)<=-1)break;p=c[j>>2]|0;c[e>>2]=r;c[e+4>>2]=p;mq(3557312,46525,e)|0;Pf(3557312,13);break}p=q+13|0;q=p;d:while(1){switch(a[q>>0]|0){case 0:{break b;break}case 39:{break d;break}default:{}}q=q+1|0}a[q>>0]=0;o=$f(c[i>>2]|0,j)|0;r=c[j>>2]|0;c[f>>2]=p;c[f+4>>2]=o;c[f+8>>2]=r;mq(3557312,46488,f)|0;Pf(3557312,13)}}while(0);m=a[l>>0]|0;if(!(m<<24>>24)){n=23;break}}if((n|0)==23){Ca=d;return}}function fg(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ca;Ca=Ca+32|0;d=b+16|0;e=b;f=b+24|0;c[f>>2]=0;Ke(c[1052292]|0,1,0)|0;if(Ke(c[1052292]|0,9,0)|0)Ke(c[1052292]|0,2,0)|0;if((Ke(c[1052292]|0,9,0)|0?((c[1276589]|0)+(c[1267508]|0)|0)>2113536:0)?(Ke(c[1052292]|0,2,0)|0,g=c[1267508]|0,((c[1276589]|0)+g|0)>2113536):0){if(!(Ke(c[1052292]|0,9,0)|0))Ok(46545);else ic(c[1052292]|0,1);h=c[1276589]|0;i=(c[1267508]|0)+h|0;c[e>>2]=h+g;c[e+4>>2]=i;c[e+8>>2]=h;mq(3552704,46601,e)|0;Ok(3552704);if(((c[1276589]|0)+(c[1267508]|0)|0)>2113536){e=c[1052292]|0;if(e|0)Df(e);c[1052292]=0;e=af(1,0)|0;c[1052292]=e;Kg(e);ag();Pf(46642,6);Ca=b;return}}Ke(c[1052292]|0,0,0)|0;if((c[1267387]|0)!=1|(c[1267388]|0)!=0){Ca=b;return}qd(c[1052292]|0,46418);c[1231635]=0;c[1231637]=0;Cf(c[1052292]|0,7,8,1024)|0;a:do switch(sf(c[1052292]|0,0,0)|0){case 0:{ag();break}case 1:{c[1267387]=1;break}default:if((c[1231649]|0)<=0){ag();if(c[1267391]|0){e=c[1052285]|0;if((e|0)>2){h=Xf(c[c[15088]>>2]|0,e+-2|0,1)|0;i=$f(e,f)|0;e=c[f>>2]|0;c[d>>2]=i;c[d+4>>2]=e;mq(3557312,46656,d)|0;Pf(3557312,14);if(h|0)Pf(h,7);if((i|0)>0?(h=c[1264991]|0,e=i+-1|0,(Bp(c[h>>2]|0,c[h+336>>2]|0)|0)!=(e|0)):0){h=Cp(c[c[1264991]>>2]|0,e)|0;e=c[1264991]|0;c[e+336>>2]=h;Dp(e,52);c[944506]=i}}}else Pf(46685,14);Uf(ed(c[1052292]|0,-1,0)|0);if(a[5107712]|0)Pf(5107712,6);if(c[1276665]|0){c[1276665]=0;break a}if(c[1267391]|0)eg(c[1052292]|0)}}while(0);if(!(c[1276662]|0)){Ca=b;return}d=Vo()|0;if((d|0)<=((c[1276663]|0)+1e3|0)){Ca=b;return}Gj()|0;c[1276663]=Vo()|0;Ca=b;return}function gg(){var a=0,b=0;a=1;while(1){c[1267783]=(c[1267783]|0)+1;c[1276664]=0;fg();if((c[1276664]|0)==0|(c[1267390]|0)==6){b=4;break}if(a>>>0<1024)a=a+1|0;else{b=4;break}}if((b|0)==4)return}function hg(a){a=a|0;var b=0,d=0;b=(a|0)>1?a:1;a=c[1052292]|0;if(!a)return;if((b|0)>0)c[1231639]=(c[1231639]|0)+b;d=(c[1231635]|0)+b|0;c[1231635]=d;c[1231638]=(c[1231638]|0)+b;c[1231636]=(c[1231636]|0)+b;b=(d|0)/1024|0;if((d|0)<=1023)return;c[1231635]=d-(b<<10);Ff(a,b);return}function ig(a){a=a|0;var b=0,d=0;c[1231637]=(c[1231637]|0)-a;b=c[1052292]|0;if(!b)return;if((a|0)>0)c[1231639]=(c[1231639]|0)+a;d=(c[1231635]|0)+a|0;c[1231635]=d;c[1231638]=(c[1231638]|0)+a;c[1231636]=(c[1231636]|0)+a;a=(d|0)/1024|0;if((d|0)<=1023)return;c[1231635]=d-(a<<10);Ff(b,a);return}function jg(b){b=b|0;a[5107712]=0;if(!b)return;es(5107712,b,254)|0;a[5107967]=0;return}function kg(a){a=a|0;var b=0,d=0,e=0;b=Js(a|0,((a|0)<0)<<31>>31|0,16)|0;a=D()|0;d=c[1276654]|0;e=Es(b|0,a|0,4194304/(((d|0)>1?d:1)>>>0)|0|0,0)|0;D()|0;return e|0} +function Pa(a){a=a|0;var b=0;b=Ca;Ca=Ca+a|0;Ca=Ca+15&-16;return b|0}function Qa(){return Ca|0}function Ra(a){a=a|0;Ca=a}function Sa(a,b){a=a|0;b=b|0;Ca=a;Da=b}function Ta(){return c[(c[(c[c[1231653]>>2]|0)+16>>2]|0)+12>>2]|0}function Ua(){var a=0,b=0;a=c[1267497]|0;c[1267497]=a+6;if((a|0)<=116)return;c[1267497]=a;a=0;b=c[1231641]|0;do{Nm(b,b,0,a+6|0,0,a,128,1);a=a+1|0;b=c[1231641]|0}while((a|0)!=122);Zk(b,0,122,127,127,0);hg(65536);return}function Va(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;b=Ca;Ca=Ca+160|0;d=b+152|0;e=b+144|0;f=b+136|0;g=b+128|0;h=b+120|0;i=b+112|0;j=b+104|0;k=b+96|0;l=b+88|0;m=b+80|0;n=b+72|0;o=b+64|0;p=b+8|0;q=b;r=b+156|0;if(!(kq(a,34156,9)|0))_l(a+10|0,5059976)|0;if(!(kq(a,34166,10)|0))_l(a+11|0,5062024)|0;if(!(kq(a,34177,14)|0)){c[q>>2]=3774460;Mr(a+14|0,34192,q)|0}if(!(kq(a,34196,11)|0)){c[p>>2]=3774480;c[p+4>>2]=3774484;c[p+8>>2]=3774488;c[p+12>>2]=3774492;c[p+16>>2]=3774496;c[p+20>>2]=3774500;c[p+24>>2]=3774504;c[p+28>>2]=3774508;c[p+32>>2]=3774512;c[p+36>>2]=3774516;c[p+40>>2]=3774520;c[p+44>>2]=3774524;c[p+48>>2]=3774528;Mr(a+11|0,34208,p)|0}if(!(kq(a,34248,10)|0)){c[o>>2]=3774608;Mr(a+10|0,34192,o)|0}if(!(kq(a,34259,11)|0)){c[n>>2]=3774628;Mr(a+11|0,34192,n)|0}if(!(kq(a,43500,7)|0)){c[m>>2]=3774632;Mr(a+7|0,34192,m)|0}if((kq(a,50769,6)|0)==0?(c[l>>2]=4174156,Mr(a+6|0,34192,l)|0,c[1052808]|0):0)c[1052808]=c[1043539];if(!(kq(a,34271,9)|0)){c[k>>2]=3774636;Mr(a+9|0,34192,k)|0}if(!(kq(a,43681,16)|0)){c[j>>2]=3774616;Mr(a+16|0,34192,j)|0}if(!(kq(a,34281,12)|0)){c[i>>2]=3774648;Mr(a+12|0,34192,i)|0}if(!(kq(a,34294,20)|0)){c[h>>2]=4173852;Mr(a+20|0,34192,h)|0}if(!(kq(a,34315,22)|0)){c[g>>2]=4173856;Mr(a+22|0,34192,g)|0}if(!(kq(a,34338,14)|0)){c[f>>2]=r;Mr(a+14|0,34192,f)|0;c[943664]=(c[r>>2]|0)==2&1}if(!(kq(a,43211,13)|0)){c[e>>2]=3774656;Mr(a+13|0,34192,e)|0}if(kq(a,43787,9)|0){Ca=b;return 0}c[d>>2]=3774612;Mr(a+9|0,34192,d)|0;Ca=b;return 0}function Wa(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;b=Ca;Ca=Ca+224|0;d=b+216|0;e=b+208|0;f=b+200|0;g=b+192|0;h=b+184|0;i=b+176|0;j=b+168|0;k=b+160|0;l=b+152|0;m=b+144|0;n=b+136|0;o=b+128|0;p=b+120|0;q=b+112|0;r=b+104|0;s=b+96|0;t=b+88|0;u=b+80|0;v=b+72|0;w=b+64|0;x=b+56|0;y=b+48|0;z=b+40|0;A=b+32|0;B=b+24|0;C=b+16|0;D=b+8|0;E=b;F=a+8|0;a=c[F>>2]|0;c[E>>2]=34366;Ur(a,34353,E)|0;bs(34374,25,1,c[F>>2]|0)|0;E=c[F>>2]|0;c[D>>2]=c[1043539];Ur(E,34400,D)|0;bs(34412,37,1,c[F>>2]|0)|0;D=c[F>>2]|0;c[C>>2]=5059976;Ur(D,34450,C)|0;bs(34465,36,1,c[F>>2]|0)|0;C=c[F>>2]|0;c[B>>2]=5062024;Ur(C,34502,B)|0;bs(34518,65,1,c[F>>2]|0)|0;B=c[F>>2]|0;c[A>>2]=c[943615];Ur(B,34584,A)|0;bs(34604,70,1,c[F>>2]|0)|0;bs(34675,12,1,c[F>>2]|0)|0;A=c[F>>2]|0;c[z>>2]=c[943620];Ur(A,34688,z)|0;z=c[F>>2]|0;c[y>>2]=c[943621];Ur(z,34688,y)|0;y=c[F>>2]|0;c[x>>2]=c[943622];Ur(y,34688,x)|0;x=c[F>>2]|0;c[w>>2]=c[943623];Ur(x,34688,w)|0;w=c[F>>2]|0;c[v>>2]=c[943624];Ur(w,34688,v)|0;v=c[F>>2]|0;c[u>>2]=c[943625];Ur(v,34688,u)|0;u=c[F>>2]|0;c[t>>2]=c[943626];Ur(u,34688,t)|0;t=c[F>>2]|0;c[s>>2]=c[943627];Ur(t,34688,s)|0;s=c[F>>2]|0;c[r>>2]=c[943628];Ur(s,34688,r)|0;r=c[F>>2]|0;c[q>>2]=c[943629];Ur(r,34688,q)|0;q=c[F>>2]|0;c[p>>2]=c[943630];Ur(q,34688,p)|0;p=c[F>>2]|0;c[o>>2]=c[943631];Ur(p,34688,o)|0;o=c[F>>2]|0;c[n>>2]=c[943632];Ur(o,34688,n)|0;bs(34692,2,1,c[F>>2]|0)|0;bs(34695,52,1,c[F>>2]|0)|0;n=c[F>>2]|0;c[m>>2]=c[943652];Ur(n,34748,m)|0;bs(34764,70,1,c[F>>2]|0)|0;m=c[F>>2]|0;c[l>>2]=c[943657];Ur(m,34835,l)|0;bs(34852,56,1,c[F>>2]|0)|0;l=c[F>>2]|0;c[k>>2]=c[943658];Ur(l,34909,k)|0;bs(34922,125,1,c[F>>2]|0)|0;k=c[F>>2]|0;c[j>>2]=c[943659];Ur(k,35048,j)|0;bs(35063,52,1,c[F>>2]|0)|0;j=c[F>>2]|0;c[i>>2]=c[943654];Ur(j,35116,i)|0;i=c[F>>2]|0;c[h>>2]=c[943655];Ur(i,35137,h)|0;bs(35152,44,1,c[F>>2]|0)|0;h=c[F>>2]|0;c[g>>2]=c[943662];Ur(h,35197,g)|0;bs(35215,104,1,c[F>>2]|0)|0;g=c[F>>2]|0;c[f>>2]=c[1043464];Ur(g,35320,f)|0;bs(35348,28,1,c[F>>2]|0)|0;bs(35377,68,1,c[F>>2]|0)|0;f=c[F>>2]|0;c[e>>2]=c[943664];Ur(f,35446,e)|0;bs(35465,36,1,c[F>>2]|0)|0;e=c[F>>2]|0;c[d>>2]=c[943653];Ur(e,35502,d)|0;Ca=b;return 0}function Xa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;b=Ca;Ca=Ca+16|0;f=b;Rb();g=Wl(d,e)|0;e=Db(g)|0;Ul(g);if(!e){Rf(35668,c[943619]|0,0);Ca=b;return}g=c[943608]|0;d=Xr(g,35599)|0;if(!d){am(g,0,5063056,0);g=ir(5063056,46)|0;if(g|0)a[g>>0]=0}else Kk(5063056,d+17|0)|0;d=5063056+(Yq(5063056)|0)|0;g=d;a[g>>0]=46;a[g+1>>0]=112;a[g+2>>0]=56;a[g+3>>0]=46;g=d+4|0;a[g>>0]=112;a[g+1>>0]=110;a[g+2>>0]=103;a[g+3>>0]=0;c[f>>2]=5063056;os(35623,f)|0;Ib(e,5063056);Sb(e,5063056);c[1267387]=0;c[1267495]=6;c[1267390]=1;Ca=b;return}function Ya(a){a=a|0;Qf(35696);js(38205)|0;return}function Za(){var b=0,d=0,e=0,f=0,g=0,h=0;Rb();if(!(ha(0)|0))return;b=ha(1)|0;d=(b|0)>0;e=d?((b|0)<16?b:16):0;b=e<<15;f=En(b)|0;if((e|0)>0){g=0;do{a[f+g>>0]=ha(2)|0;g=g+1|0}while((g|0)<(b|0))}b=qp()|0;Cb(b,f);c[b+44320>>2]=18;ia(3,0)|0;a[59072]=0;g=0;do{h=ha(4)|0;a[59072+g>>0]=h;g=g+1|0;a[59072+g>>0]=0}while((h|0)!=0&g>>>0<1023);Ib(b,59072);if(d){d=0;do{b=qp()|0;Cb(b,f+(d<<15)|0);c[b+44320>>2]=18;ia(3,d|0)|0;a[59072]=0;g=0;do{h=ha(4)|0;a[59072+g>>0]=h;g=g+1|0;a[59072+g>>0]=0}while((h|0)!=0&g>>>0<1023);Sb(b,59072);rp(b);d=d+1|0}while((d|0)<(e|0))}c[1267387]=0;c[1267495]=6;c[1267390]=1;return}function _a(){var b=0;b=c[943608]|0;if(b|0?a[b>>0]|0:0){Ok(35864);c[943613]=1;la(c[943608]|0,0,1,1);return}Ok(35883);c[943613]=0;Za();return}function $a(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=Ca;Ca=Ca+16|0;f=e;g=e+4|0;Ps(4175192,0,33924)|0;if((b|0)<=1){Ca=e;return}h=1;i=0;a:while(1){j=d+(h<<2)|0;k=c[j>>2]|0;l=a[k>>0]|0;switch(l<<24>>24){case 62:case 124:case 38:{m=33;break a;break}default:{}}b:do if((i|0)!=17&l<<24>>24==45){n=k+1|0;o=(Oq(n,35911)|0)==0;if(!(Oq(n,47361)|0)){c[943610]=1;p=0}else p=o?4:-1;if(!(Oq(n,35920)|0)){c[943612]=1;c[943611]=1;q=0}else q=p;if((Oq(n,35948)|0)!=0?(o=(Oq(n,35936)|0)==0,r=(Oq(n,35926)|0)==0,s=(Oq(n,43582)|0)==0,t=(Oq(n,43681)|0)==0,u=(Oq(n,34271)|0)==0,v=(Oq(n,43500)|0)==0,(Oq(n,35950)|0)!=0):0)w=o?11:r?10:s?9:t?8:u?7:v?6:q;else{c[1231650]=1;c[943610]=1;c[1052844]=1;w=0}v=(Oq(n,35955)|0)==0;u=(Oq(n,43211)|0)==0;t=(Oq(n,34156)|0)==0;s=(Oq(n,34166)|0)==0;r=(Oq(n,35961)|0)==0;o=(Oq(n,47396)|0)==0;x=(Oq(n,50769)|0)==0;y=x?18:o?17:r?16:s?15:t?14:u?13:v?12:w}else{c[g>>2]=0;c[f>>2]=g;Mr(k,52136,f)|0;do switch(i|0){case 0:{if(!(c[943608]|0)){v=Dn((Yq(c[j>>2]|0)|0)+1|0)|0;c[943608]=v;Kk(v,c[j>>2]|0)|0;y=0;break b}else{Kk(4175196+(c[1043798]<<10)|0,c[j>>2]|0)|0;c[1043798]=(c[1043798]|0)+1;y=0;break b}break}case 4:{c[943615]=c[g>>2];y=0;break b;break}case 6:{c[943658]=c[g>>2];y=0;break b;break}case 7:{c[943659]=c[g>>2];y=0;break b;break}case 8:{c[943654]=c[g>>2];y=0;break b;break}case 9:{c[943655]=c[g>>2];y=0;break b;break}case 10:{c[943660]=c[g>>2];y=0;break b;break}case 11:{c[1043456]=c[g>>2];y=0;break b;break}case 12:{es(5072161,c[j>>2]|0,1024)|0;y=0;break b;break}case 13:{c[943664]=c[g>>2];y=0;break b;break}case 14:{_l(c[j>>2]|0,5059976)|0;y=0;break b;break}case 15:{_l(c[j>>2]|0,5062024)|0;y=0;break b;break}case 16:{c[943614]=c[g>>2];y=0;break b;break}case 17:{es(4174164,c[j>>2]|0,1023)|0;c[1052844]=1;y=0;break b;break}case 18:{v=c[g>>2]|0;u=(v|0)<256?v:256;v=(u|0)>0?u:0;c[1043539]=v;if(!(c[1052808]|0)){y=0;break b}c[1052808]=v;y=0;break b;break}default:{y=0;break b}}while(0)}while(0);h=h+1|0;if((h|0)>=(b|0)){m=33;break}else i=y}if((m|0)==33){Ca=e;return}}function ab(){var a=0;c[1267387]=2;c[1231632]=-15;Wf();Yf();Qf(5108828);c[1267495]=7;Xk(c[1231641]|0);Xk(c[1231642]|0);jl(c[(c[15088]|0)+4>>2]|0,2,2,5,5,7);jl(c[(c[15088]|0)+4>>2]|0,5,2,2,5,7);a=za(0)|0;nj((Vo()|0)+a|0);uo();ro(0,0);if(!(ul()|0))return;do vl()|0;while((ul()|0)!=0);return}function bb(){Ps(5106664,0,200)|0;c[1276705]=2;c[1276700]=0;c[1276706]=5;c[1276670]=1;c[1276688]=8;c[1276689]=0;c[1264993]=0;c[943617]=0;c[1043459]=1;return}function cb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ca;Ca=Ca+2896|0;f=e+2064|0;g=e+2056|0;h=e+2048|0;i=e+2072|0;j=e+1024|0;k=e;Ps(3774432,0,400760)|0;c[943658]=8;c[943654]=3;c[943655]=2;c[943660]=-1;c[943662]=1;c[1043463]=1;c[1043464]=1;c[943664]=0;c[943653]=1;ha(5)|0;Jk(37014);Hl(2);Il(3);Fn(4926528,0,181700);Mk()|0;$a(b,d);if((c[1052802]|0)<32|(c[1052803]|0)<32){c[1052802]=580;c[1052803]=540}if(!((a[5059976]|0)!=0?(d=Co(5059976,51027,i,-1)|0,Eo(i)|0,!(d|0)):0))bp(37021,5059976);if(!((a[5062024]|0)!=0?(d=Co(5062024,51027,i,-1)|0,Eo(i)|0,!(d|0)):0))bp(37028,5062024);Ps(5106664,0,200)|0;c[1276705]=2;c[1276700]=0;c[1276706]=5;c[1276670]=1;c[1276688]=8;c[1276689]=0;c[1264993]=0;c[943617]=0;c[1043459]=1;c[1268394]=qp()|0;cp(37035,j);cp(37045,j);if(c[1231650]|0){c[h>>2]=c[943608];os(37054,h)|0}h=Sl(j)|0;c[1231651]=h;if(!h){c[g>>2]=j;os(37067,g)|0;sa(0)}g=c[c[h>>2]>>2]|0;c[g+20>>2]=0;c[1231652]=sp(g)|0;g=c[(c[c[1231651]>>2]|0)+4>>2]|0;c[g+20>>2]=0;c[1231653]=Pl(5108828,g)|0;g=c[(c[c[1231651]>>2]|0)+8>>2]|0;c[g+20>>2]=0;c[1231654]=Pl(5108828,g)|0;Lk(51128);Lk(c[(c[(c[c[1231653]>>2]|0)+16>>2]|0)+12>>2]|0);wo(128,128,8,256)|0;xo(c[(c[c[1231653]>>2]|0)+4>>2]|0);c[1231641]=al(128,128,8)|0;c[1231642]=al(128,128,8)|0;c[1043533]=al(128,128,8)|0;c[1253830]=qj(128,128)|0;c[1253831]=qj(128,128)|0;g=0;do{c[5015328+(g<<2)>>2]=qj(8,32)|0;g=g+1|0}while((g|0)!=64);c[1231655]=al(1,1,8)|0;c[1231656]=al(8,8,8)|0;Ps(60096,0,260)|0;c[15088]=qp()|0;ab();g=wp(0,65538)|0;c[1264983]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[943653]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=wp(0,65538)|0;c[1264984]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[943653]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=wp(0,65538)|0;c[1264985]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[943653]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=wp(0,65538)|0;c[1264986]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[943653]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=wp(0,65538)|0;c[1264987]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[943653]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=wp(0,65538)|0;c[1264988]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[943653]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=wp(0,65538)|0;c[1264989]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[943653]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=wp(0,65538)|0;c[1264990]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[943653]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;c[1264991]=c[1264983];a[5063056]=0;zb(c[15088]|0,5064080);Zn(16)|0;c[1052827]=1;ha(6)|0;if((c[1231650]|0)==0&(a[4174164]|0)==0){Ca=e;return}bm(c[943608]|0,j);g=(Mb(j)|0)==0;c[943609]=g&1;if(!g){c[f>>2]=c[943608];os(37085,f)|0;sa(1)}if(a[4174164]|0){c[1231650]=1;Kk(k,5059976)|0;Kk(5059976,37104)|0;Kk(5061e3,5108828)|0;Kk(5059976,k)|0;sa(0)}c[1267387]=0;c[1267390]=1;Ca=e;return}function db(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=d|2;if((e|0)==3){f=b+16|0;g=0;do{h=127;while(1){i=c[(c[f>>2]|0)+(g<<2)>>2]|0;a[i+h>>0]=a[i+(h>>>1)>>0]|0;if(!h)break;else h=h+-1|0}g=g+1|0}while((g|0)!=128)}g=d|1;if((g|0)==3){d=b+16|0;f=127;while(1){h=f>>>1;i=0;do{j=c[d>>2]|0;a[(c[j+(f<<2)>>2]|0)+i>>0]=a[(c[j+(h<<2)>>2]|0)+i>>0]|0;i=i+1|0}while((i|0)!=128);if(!f)break;else f=f+-1|0}}if((e|0)==7){e=b+16|0;f=0;do{d=0;do{i=c[(c[e>>2]|0)+(f<<2)>>2]|0;a[i+(127-d)>>0]=a[i+d>>0]|0;d=d+1|0}while((d|0)!=64);f=f+1|0}while((f|0)!=128)}if((g|0)!=7)return;g=b+16|0;b=0;do{f=127-b|0;e=0;do{d=c[g>>2]|0;a[(c[d+(f<<2)>>2]|0)+e>>0]=a[(c[d+(b<<2)>>2]|0)+e>>0]|0;e=e+1|0}while((e|0)!=128);b=b+1|0}while((b|0)!=64);return}function eb(){var b=0,d=0,e=0,f=0;Nm(c[1231641]|0,c[1231642]|0,0,0,0,0,128,128);b=c[1231642]|0;c[1267504]=1;if(Xi(4926528,c[1268394]|0,24416)|0)c[1267504]=0;if(Xi(4926528,c[1268394]|0,24417)|0)c[1267504]=0;if((Xi(4926528,c[1268394]|0,24418)|0)!=222)c[1267504]=0;if((Xi(4926528,c[1268394]|0,24419)|0)!=250)c[1267504]=0;d=b+12|0;e=0;do{f=(c[d>>2]|0)+e|0;a[f>>0]=c[5069900+((a[f>>0]&15)<<2)>>2]&143;e=e+1|0}while((e|0)!=16384);if(!((c[1267387]|0)==1&(c[1267391]|0)!=0))return;db(b,c[1267503]|0);return}function fb(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;i=Ca;Ca=Ca+16|0;j=i;if(e>>>0>6){Ca=i;return}if(!(bj(e,f)|0))k=($i(e,f)|0)>128&1;else k=1;$k(c[(c[c[1231653]>>2]|0)+(k+247<<2)>>2]|0,b,0,0,g,h,7,7);a[j>>0]=(d[37107+e>>0]|0)+31;a[j+1>>0]=0;Gl(b,j,c[1231654]|0,g,k+h|0,1,7)|0;Ca=i;return}function gb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=Ca;Ca=Ca+16|0;e=d;f=d+4|0;g=c[(c[c[1231653]>>2]|0)+984>>2]|0;h=(c[g>>2]|0)/2|0;i=64-h|0;j=(c[g+4>>2]|0)/2|0;k=64-j|0;Ti(b,63-h|0,63-j|0,h+64|0,j+64|0,1);el(b,i,k,h+63|0,j+63|0,7);$k(g,b,0,0,i,k,c[b>>2]|0,c[b+4>>2]|0);g=i+18|0;j=k+14|0;fb(b,0,0,g,j);h=i+26|0;fb(b,1,0,h,j);l=i+34|0;fb(b,2,0,l,j);m=i+42|0;fb(b,3,0,m,j);j=k+25|0;if(!(bj(4,0)|0))n=($i(4,0)|0)>128&1;else n=1;$k(c[(c[c[1231653]>>2]|0)+(n+247<<2)>>2]|0,b,0,0,g,j,7,7);a[f>>0]=-114;o=f+1|0;a[o>>0]=0;Gl(b,f,c[1231654]|0,g,n+j|0,1,7)|0;n=i+26|0;if(!(bj(5,0)|0))p=($i(5,0)|0)>128&1;else p=1;$k(c[(c[c[1231653]>>2]|0)+(p+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-105;a[o>>0]=0;Gl(b,f,c[1231654]|0,n,p+j|0,1,7)|0;j=k+41|0;fb(b,0,1,g,j);fb(b,1,1,h,j);fb(b,2,1,l,j);fb(b,3,1,m,j);j=k+52|0;if(!(bj(4,1)|0))q=($i(4,1)|0)>128&1;else q=1;$k(c[(c[c[1231653]>>2]|0)+(q+247<<2)>>2]|0,b,0,0,g,j,7,7);a[f>>0]=-114;a[o>>0]=0;Gl(b,f,c[1231654]|0,g,q+j|0,1,7)|0;if(bj(5,1)|0){r=1;s=c[1231653]|0;t=c[s>>2]|0;u=r+247|0;v=t+(u<<2)|0;w=c[v>>2]|0;$k(w,b,0,0,n,j,7,7);a[f>>0]=-105;a[o>>0]=0;x=c[1231654]|0;y=r+j|0;Gl(b,f,x,n,y,1,7)|0;z=c[1043540]|0;c[e>>2]=z;mq(3557312,37114,e)|0;A=c[1231654]|0;B=i+5|0;C=k+80|0;Gl(b,3557312,A,B,C,1,13)|0;Ca=d;return}r=($i(5,1)|0)>128&1;s=c[1231653]|0;t=c[s>>2]|0;u=r+247|0;v=t+(u<<2)|0;w=c[v>>2]|0;$k(w,b,0,0,n,j,7,7);a[f>>0]=-105;a[o>>0]=0;x=c[1231654]|0;y=r+j|0;Gl(b,f,x,n,y,1,7)|0;z=c[1043540]|0;c[e>>2]=z;mq(3557312,37114,e)|0;A=c[1231654]|0;B=i+5|0;C=k+80|0;Gl(b,3557312,A,B,C,1,13)|0;Ca=d;return}function hb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;switch(c[944502]|0){case 2:{Nj(a);return}case 3:{gb(a);return}default:{b=((c[944503]<<3)+8|0)/2|0;Ti(a,23,63-b|0,104,b+64|0,1);d=64-b|0;el(a,24,d,103,b+63|0,7);if((c[944503]|0)<=0)return;b=d+6|0;d=0;while(1){Gl(a,61136+(d*72|0)|0,c[1231654]|0,(d|0)==(c[944504]|0)?35:34,b,1,7)|0;if((d|0)==(c[944504]|0))$k(c[(c[c[1231653]>>2]|0)+980>>2]|0,a,0,0,25,b+-1|0,7,7);do if((c[61136+(d*72|0)+68>>2]|0)==2){e=(Zj(5066476,5067500)|0)==0;f=c[(c[c[1231653]>>2]|0)+752>>2]|0;g=b+-1|0;if(e){kl(f,a,0,0,74,g,7,7,13,0);break}else{$k(f,a,0,0,74,g,7,7);break}}while(0);d=d+1|0;if((d|0)>=(c[944503]|0))break;else b=b+8|0}return}}}function ib(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=Ca;Ca=Ca+16|0;b=a+8|0;d=a+4|0;e=a;c[1043534]=Vo()|0;if(c[1267390]|0){Ca=a;return}Xk(c[1231627]|0);f=c[1231627]|0;if(!((c[f>>2]|0)==128?(c[f+4>>2]|0)==128:0)){bl(f)|0;c[1231627]=al(128,128,8)|0}f=c[1276925]|0;if((f|0)!=0&(c[1267387]|0)==0){if((f|0)==1){Nj(c[1231641]|0);g=c[1276925]|0}else g=f}else if(c[1267388]|0){Zk(c[1231641]|0,0,0,128,128,5);if((c[1267388]|0)==1){f=c[943659]|0;if(f>>>0<2){Zk(c[1231641]|0,0,0,128,128,1);h=c[943659]|0}else h=f;if((h|0)==2){Zk(c[1231641]|0,0,0,128,128,0);i=c[943659]|0}else i=h;if((i|0)==3)Zk(c[1231641]|0,0,0,128,128,5)}Zk(c[1231641]|0,0,0,128,7,8);Zk(c[1231641]|0,0,121,128,127,8);Dl(7,0);ap(b,d,e);e=c[1276717]|0;if(e|0){i=c[(c[c[1231653]>>2]|0)+(e<<2)>>2]|0;e=c[i>>2]|0;h=c[i+4>>2]|0;$k(i,c[1231641]|0,0,0,(c[b>>2]|0)-((e|0)/2|0)|0,(c[d>>2]|0)-((h|0)/2|0)|0,e,h)}}if(!((c[943666]|0)!=0&(c[1267391]|0)==0&(c[1267387]|0)==1)){if((c[1267393]|0)==0?(c[1231644]|0)==0|(c[944502]|0)!=0:0)eb()}else Nm(c[1231641]|0,c[1231642]|0,0,0,0,0,128,128);h=c[1231627]|0;Nm(c[1231642]|0,h,0,0,0,0,128,128);if(c[944502]|0)hb(h);a:do if((c[1267393]|0)>0?(c[1267387]|0)==1&(c[1267391]|0)!=0:0){do if((c[943666]|0)<=0){if(c[1043530]|0?(Oq(4173860,50985)|0)==0:0)break;e=c[1276927]|0;d=(e|0)/2|0;if((e|0)>-2)j=d;else j=12-((0-d|0)%12|0)|0;$k(c[(c[c[1231653]>>2]|0)+(((j|0)%12|0)+212<<2)>>2]|0,h,0,0,3,3,12,12);break a}while(0);d=c[1276927]|0;e=(d|0)/2|0;if((d|0)>-2)k=e;else k=16-((0-e|0)%16|0)|0;$k(c[(c[c[1231653]>>2]|0)+(((k|0)%16|0)+229<<2)>>2]|0,h,0,0,3,3,12,12)}while(0);Nm(c[1231627]|0,c[1043533]|0,0,0,0,0,128,128);h=Vo()|0;do if((h|0)<(c[1043530]|0)){k=Vo()|0;j=c[1043529]|0;e=k-j|0;d=(c[1043530]|0)-k|0;k=(j|0)==0?0:(d|0)<200?(200-d|0)/20|0:(e|0)<200?(200-e|0)/20|0:0;if(!(Oq(4173860,47815)|0)){el(c[1231627]|0,0,k+119|0,101,k+127|0,0);Zk(c[1231627]|0,1,k+120|0,100,k+126|0,6);Gl(c[1231627]|0,4173860,c[1231654]|0,16,k+121|0,1,1)|0;$k(c[(c[c[1231653]>>2]|0)+904>>2]|0,c[1231627]|0,0,0,2,(k<<1)+112|0,15,15);break}e=(Oq(4173860,47791)|0)==0;d=c[1231627]|0;if(e){el(d,0,k+119|0,101,k+127|0,0);Zk(c[1231627]|0,1,k+120|0,127,k+126|0,6);Gl(c[1231627]|0,4173860,c[1231654]|0,16,k+121|0,1,1)|0;$k(c[(c[c[1231653]>>2]|0)+908>>2]|0,c[1231627]|0,0,0,109,(k<<1)+112|0,17,15);break}else{Zk(d,0,k+121|0,128,k+127|0,8);Gl(c[1231627]|0,4173860,c[1231654]|0,1,k+122|0,1,c[1043531]|0)|0;break}}while(0);h=Vo()|0;c[1043534]=h-(c[1043534]|0);Ca=a;return}function jb(a){a=a|0;return (a+-32|0)>>>0<122&(a+-65|0)>>>0>25&1|0}function kb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ca;Ca=Ca+1040|0;d=b+1032|0;e=b+1024|0;f=b;if(!(c[1276924]|0)){Ca=b;return}c[e>>2]=5059976;c[e+4>>2]=5061e3;mq(f,58700,e)|0;switch(c[1276923]|0){case 0:{c[d>>2]=5061e3;mq(3557312,49682,d)|0;Pf(3557312,12);d=Co(f,51027,5106876,16384)|0;c[1276923]=1;g=d;h=6;break}case 2:{d=Co(f,51027,5106876,-16385)|0;c[1276923]=3;i=d;h=11;break}default:{d=Do(5106876)|0;switch(c[1276923]|0){case 1:{g=d;h=6;break}case 3:{i=d;h=11;break}default:{}}}}do if((h|0)==6){if(g|0){c[1276923]=2;break}if(Oq(5107132,59070)|0?Oq(5107132,52634)|0:0){Pf(5107132,14);c[1276924]=(c[1276924]|0)+-1}}else if((h|0)==11){if(i|0){Eo(5106876)|0;c[1276923]=0;break}if(Xr(5107132,51029)|0){Qf(5107132);c[1276924]=(c[1276924]|0)+-1;break}if((c[1276847]&16384|0)==0&(a[4172796]|0)==42){Pf(5107132,5);c[1276924]=(c[1276924]|0)+-1}}while(0);if(!((c[1276924]|0)==0&(c[1276923]|0)!=0)){Ca=b;return}Pf(37136,12);Ca=b;return}function lb(){var b=0,d=0,e=0,f=0,g=0;c[944503]=1;b=61136;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));es(61136,37145,16)|0;c[15301]=0;if(a[5073250]|0){e=c[944503]|0;c[944503]=e+1;f=61136+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));es(f,5073250,16)|0;c[61136+(e*72|0)+68>>2]=257}if(a[5073314]|0){e=c[944503]|0;c[944503]=e+1;f=61136+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));es(f,5073314,16)|0;c[61136+(e*72|0)+68>>2]=258}if(a[5073378]|0){e=c[944503]|0;c[944503]=e+1;f=61136+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));es(f,5073378,16)|0;c[61136+(e*72|0)+68>>2]=259}if(a[5073442]|0){e=c[944503]|0;c[944503]=e+1;f=61136+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));es(f,5073442,16)|0;c[61136+(e*72|0)+68>>2]=260}if(a[5073506]|0){e=c[944503]|0;c[944503]=e+1;f=61136+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));es(f,5073506,16)|0;c[61136+(e*72|0)+68>>2]=261}e=c[944503]|0;c[944503]=e+1;f=61136+(e*72|0)|0;b=f;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));es(f,37154,16)|0;c[61136+(e*72|0)+68>>2]=1;if(Jf()|0){e=Jf()|0;f=c[944503]|0;c[944503]=f+1;g=61136+(f*72|0)|0;b=g;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));es(g,e,16)|0;c[61136+(f*72|0)+68>>2]=5}if(!(c[943610]|0))return;f=c[944503]|0;c[944503]=f+1;e=61136+(f*72|0)|0;b=e;d=b+72|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));es(e,47377,16)|0;c[61136+(f*72|0)+68>>2]=6;return}function mb(){if((c[1267515]|0)==0|(c[1267391]|0)==0|(c[944502]|0)!=0)return;if((Xi(4926528,c[1268394]|0,24368)|0)==1)Wi(4926528,c[1268394]|0,24368,0);else{c[944502]=1;lb();c[944504]=0}a[3562089]=1;cj();return}function nb(a,b){a=a|0;b=b|0;Kk(4173860,a)|0;c[1043529]=Vo()|0;c[1043530]=b+400+(Vo()|0);c[1043531]=(c[1043531]|0)==15?7:15;return}function ob(){var b=0,d=0,e=0,f=0;if(!(ul()|0))return;do{b=vl()|0;do if(!(xl(-5)|0)){d=c[1277056]|0;if((d|0)<256?(e=(b+-65|0)>>>0<26?b+63|0:b,f=(e|0)==127?8:e,f>>>0<154):0){a[5107968+d>>0]=f;c[1277056]=(c[1277056]|0)+1}}else{if((b|0)==114&(c[1231649]|0)==0){f=Vo()|0;if((f|0)<=((c[1043537]|0)+500|0))break;Pb();c[1231649]=1;c[1043537]=Vo()|0;if(!(ul()|0))break;do vl()|0;while((ul()|0)!=0)}if((b|0)==118){Hn(c[944505]|0);c[944505]=mp()|0}}while(0)}while((ul()|0)!=0);return}function pb(){var b=0,d=0,e=0,f=0,g=0;if(fj(2,0)|0)c[944504]=(c[944504]|0)+-1;b=(fj(3,0)|0)==0;d=c[944504]|0;if(b)e=d;else{b=d+1|0;c[944504]=b;e=b}b=c[944503]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[944504]=(f|0)%(b|0)|0;if(!(((fj(4,0)|0)==0?(fj(5,0)|0)==0:0)?!(fj(6,0)|0):0))g=10;a:do if((g|0)==10){c[1267513]=0;c[1267514]=0;c[1267515]=0;c[1267641]=1;c[1267642]=1;c[1267643]=1;b=c[61136+((c[944504]|0)*72|0)+68>>2]|0;if((b|0)>255){a[5073570+((b|0)<261?b+-256|0:5)>>0]=1;c[944502]=0}switch(b|0){case 0:{c[944502]=0;break a;break}case 1:{c[944502]=0;c[1231649]=1;break a;break}case 5:{Nf();break a;break}case 3:{c[944502]=0;c[1267390]=2;c[944501]=2;break a;break}case 4:{c[944502]=0;ag();c[1276925]=0;c[1267387]=0;c[1267495]=6;break a;break}default:break a}}while(0);if(c[944502]|c[1052784]|0)return;cj();return}function qb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;if(c[1276925]|0){if(!(ul()|0))return;do{a=vl()|0;b=c[1276925]|0;if((b|0)==2)d=c[1276925]|0;else d=b;if((d|0)==1){Mj(a);e=c[1276925]|0}else e=d;if((e|0)==2){nk(a);f=c[1276925]|0}else f=e;if((f|0)==0?ul()|0:0)do vl()|0;while((ul()|0)!=0)}while((ul()|0)!=0);return}if(!(c[1276923]|0)){if(!(c[1276926]|0))return;if(!(ul()|0))return;f=vl()|0;switch(f|0){case 13:case 121:{g=26;break}case 27:case 110:break;default:return}a:do if((g|0)==26){e=1|0;d=(e|0)<0?e:0;_f(62288+(((d|0)>0?d:0)<<8)|0,1);switch(f|0){case 27:case 110:{break a;break}default:{}}return}while(0);c[1276926]=0;Qf(51071);return}else{if(c[1276924]|0)return;if(!(ul()|0))return;do{f=vl()|0;if((f|0)!=0?(g=c[1267497]|0,d=g+-6|0,c[1267497]=d,Zk(c[1231641]|0,0,d,128,g+-1|0,0),(f|0)==27):0){c[1276923]=0;Eo(5106876)|0;h=0}else h=17;c[1276924]=h}while((ul()|0)!=0);return}}function rb(){var b=0,d=0,e=0,f=0,g=0,h=0;b=c[1231632]|0;d=b+4|0;if((d|0)==1){e=0;do{f=e>>>5;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+2>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+10>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+18>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+26>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+34>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+42>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+50>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+58>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+66>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+74>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+82>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+90>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+98>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+106>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+114>>0]=g;g=(Am(4)|0)+f&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+122>>0]=g;e=e+1|0}while((e|0)!=128)}switch(b|0){case 0:{e=b;do{g=0;do{a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=((g+e|0)>>>3&7)+6;g=g+4|0}while(g>>>0<128);e=e+2|0}while(e>>>0<128);h=29;break}case 3:{e=0;do{g=2;do{f=(Am(4)|0)+10&255;a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=f;g=g+4|0}while(g>>>0<128);e=e+3|0}while(e>>>0<128);switch(b|0){case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=29}break}case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=29}if((h|0)==14){e=0;do{g=1;do{f=c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0;a[f+g>>0]=a[f+(g+1)>>0]|0;g=g+2|0}while(g>>>0<127);e=e+1|0}while((e|0)!=128);switch(b|0){case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=29}}if((h|0)==19){e=0;do{if(e&3|0){g=0;do{a[(c[(c[(c[1231641]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=128)}e=e+1|0}while((e|0)!=128);switch(b|0){case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=29}}if((h|0)==25)Xk(c[1231641]|0);else if((h|0)==26){Xk(c[1231641]|0);fo((c[1231652]|0)+12|0);Qf(5108828);Qf(5108828);Nm(c[(c[c[1231653]>>2]|0)+8>>2]|0,c[1231641]|0,0,0,1,1,40,10);c[1267495]=6}else if((h|0)==27){Qf(37202);Nm(c[(c[c[1231653]>>2]|0)+8>>2]|0,c[1231641]|0,0,0,1,1,40,10)}else if((h|0)==28){c[1267495]=13;Qf(37217);c[1267495]=6;Qf(5108828);Qf(37250);Qf(5108828)}else if((h|0)==29?(d|0)==70&(c[943611]|0)!=0:0){c[1267387]=0;c[1267495]=6;ok();c[1276925]=2}h=(c[943610]|0)!=0;e=c[943609]|0;if(h&((d|0)==90&(e|0)!=0)){c[1267390]=1;return}if(!(h|((d|0)!=60|(e|0)==0))){c[1267387]=0;return}switch(b|0){case 76:{b=c[943608]|0;if(b|0?a[b>>0]|0:0){Ok(35864);c[943613]=1;la(c[943608]|0,0,1,1);return}Ok(35883);c[943613]=0;Za();return}case 896:{Qf(52014);return}default:return}}function sb(){var b=0,d=0,e=0;rp(c[1268394]|0);rp(c[15088]|0);yp(c[1264983]|0);yp(c[1264984]|0);yp(c[1264985]|0);yp(c[1264986]|0);yp(c[1264987]|0);yp(c[1264988]|0);yp(c[1264989]|0);yp(c[1264990]|0);c[1264991]=0;Fn(5063052,0,43820);Ps(5106664,0,200)|0;c[1276705]=2;c[1276700]=0;c[1276706]=5;c[1276670]=1;c[1276688]=8;c[1276689]=0;c[1264993]=0;c[943617]=0;c[1043459]=1;Kk(5061e3,5108828)|0;c[1268394]=qp()|0;c[15088]=qp()|0;b=wp(0,65538)|0;c[1264983]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[943653]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=wp(0,65538)|0;c[1264984]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[943653]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=wp(0,65538)|0;c[1264985]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[943653]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=wp(0,65538)|0;c[1264986]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[943653]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=wp(0,65538)|0;c[1264987]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[943653]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=wp(0,65538)|0;c[1264988]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[943653]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=wp(0,65538)|0;c[1264989]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[943653]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=wp(0,65538)|0;c[1264990]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[943653]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;c[1264991]=c[1264983];ab();c[1043797]=0;a[5063056]=0;zb(c[15088]|0,5064080);return}function tb(a){a=a|0;if((c[1231649]|0)>0)return;c[1267390]=4;Kk(128336,a)|0;zf(c[1052292]|0,0,0,0)|0;return}function ub(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=c[1231649]|0;if(!a)return;b=(a|0)>3?0:a+1|0;c[1231649]=b;if((b|0)==2){a=Xi(4926528,c[1268394]|0,24366)|0;if(!(Am(8)|0))c[1267503]=Am(4)|0;if(!(Am(8)|0)){d=c[1268394]|0;Wi(4926528,d,24384,Am(256)|0);d=c[1268394]|0;Wi(4926528,d,24384,Am(256)|0);d=c[1268394]|0;Wi(4926528,d,24384,Am(256)|0);d=c[1268394]|0;Wi(4926528,d,24384,Am(256)|0)}d=(Am(4)|0)+2|0;if(!(ym()|0))e=(Am(30)|0)+10|0;else e=d;d=(Am(20)|0)==0;f=(c[1043456]|0)==0?(d?300:e):c[1043457]<<1;e=f*10|0;if((f|0)>0){d=0;do{g=c[1268394]|0;h=Am(32768)|0;Wi(4926528,g,h,Am(256)|0);d=d+1|0}while((d|0)<(e|0));e=(f|0)/2|0;d=(f|0)>1;if(d){f=0;do{h=(Am(30720)|0)+1024|0;g=c[1268394]|0;i=(Am(2048)|0)+h|0;j=i-(Am(2048)|0)|0;Yi(4926528,g,h,j,Am(1024)|0);j=c[1268394]|0;h=Am(31744)|0;g=Am(31744)|0;Yi(4926528,j,h,g,Am(1024)|0);f=f+1|0}while((f|0)!=(e|0));if(d){d=0;do{f=Am(18432)|0;g=c[1268394]|0;h=Am(256)|0;Zi(4926528,g,f,h,Am(512)|0);d=d+1|0}while((d|0)!=(e|0))}}}Wi(4926528,c[1268394]|0,24366,a);k=c[1231649]|0}else k=b;if(k|0)return;c[1267390]=1;Kk(5072161,5071136)|0;return}function vb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=Ca;Ca=Ca+1040|0;b=a+1032|0;d=a+1024|0;e=a;f=c[943666]|0;if((f|0)==1){g=Vo()|0;if((g|0)>(((c[1052842]|0)*1e3|0)+(c[943667]|0)|0)?(ik(0),Lf(),(c[1267391]|0)==0):0){c[1267497]=(c[1267497]|0)+-6;Rf(37270,0,0)}h=c[943666]|0}else h=f;if(!h){Ca=a;return}if((xl(41)|0)==0?!((c[1267391]|0)!=0&(c[1267515]|0)!=0):0){h=c[943666]|0;if((h|0)==2){c[943666]=0;do if(!(Xr(3775956,37313)|0)){f=Eb(3775956)|0;if(f|0){Ib(f,3775956);if((c[1267391]|0)==0|(c[1231650]|0)!=0){c[1267497]=(c[1267497]|0)+-6;Rf(37345,0,0);Pf(3843566,14);g=Of(3775956)|0;i=Yq(c[f>>2]|0)|0;c[b>>2]=g;c[b+4>>2]=i;mq(3557312,37362,b)|0;Rf(3557312,0,0);break}else{Mf();c[1267390]=1;c[1267393]=20;break}}i=c[943619]|0;if((i|0)==1){Kk(4173860,37405)|0;c[1043529]=Vo()|0;c[1043530]=(Vo()|0)+1900;c[1043531]=(c[1043531]|0)==15?7:15;j=c[943619]|0}else j=i;if((j|0)==2){Kk(4173860,49227)|0;c[1043529]=Vo()|0;c[1043530]=(Vo()|0)+1900;c[1043531]=(c[1043531]|0)==15?7:15;k=c[943619]|0}else k=j;if((k|0)==3){Kk(4173860,37430)|0;c[1043529]=Vo()|0;c[1043530]=(Vo()|0)+1900;c[1043531]=(c[1043531]|0)==15?7:15}}else{i=Tm(3775956)|0;Kk(e,3775956)|0;g=Xr(3775956,37318)|0;if(g|0)Kk(e+(g-3775956)+1|0,g+6|0)|0;if((i|0)!=0?(Yq(Sm(i,51113,0)|0)|0)>>>0>1:0){im(3775956,e)|0;l=i}else{i=Tm(e)|0;if(!i){if(!(c[1267391]|0))Rf(37384,0,0);Lf();break}else l=i}i=Sm(l,51113,0)|0;if((Yq(i)|0)>>>0<2){Kk(4173860,37325)|0;c[1043529]=Vo()|0;c[1043530]=(Vo()|0)+1900;c[1043531]=(c[1043531]|0)==15?7:15;Lf();c[1267393]=0}else{g=Mb(Xj(i)|0)|0;qk(l);do if(!g)if((c[1267391]|0)==0|(c[1231650]|0)!=0){c[1267497]=(c[1267497]|0)+-6;Rf(37345,0,0);Kk(3557312,Sm(l,51100,0)|0)|0;Pj(3557312);Pf(3557312,14);f=Yq(c[c[15088]>>2]|0)|0;c[d>>2]=i;c[d+4>>2]=f;mq(3557312,37362,d)|0;Rf(3557312,0,0);break}else{Mf();c[1267390]=1;c[1267393]=20;break}else{fk(i);Kk(3843566,Sm(l,51100,0)|0)|0;Pj(3843566)}while(0);Rm(l)}c[1276927]=0}while(0);m=c[943666]|0}else m=h;if((m|0)!=3){Ca=a;return}c[943666]=0;Lf();if(!(c[1267391]|0)){Rf(50985,0,0);Ca=a;return}else{Kk(4173860,50985)|0;c[1043529]=Vo()|0;c[1043530]=(Vo()|0)+1900;c[1043531]=(c[1043531]|0)==15?7:15;Ca=a;return}}ik(0);Lf();if(!(c[1267391]|0)){c[1267497]=(c[1267497]|0)+-6;Rf(37289,0,0)}c[1267515]=0;c[1267643]=1;Ca=a;return}function wb(){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;b=Ca;Ca=Ca+16|0;d=b+8|0;e=b;f=c[1052808]|0;if(f|0)c[1043539]=f;c[1052809]=256;f=c[1043456]|0;g=c[1267387]|0;do if((f|0)!=0&(g|0)==1){h=f+1|0;c[1043456]=h;if((h|0)==12)c[1231649]=1;if((c[1267390]|0)==1){Qb(c[1231642]|0)|0;c[1043456]=1;h=(c[1043457]|0)+1|0;c[1043457]=h;if((h|0)==48)sa(0);else{i=c[1267387]|0;break}}else i=1}else i=g;while(0);if(!((c[1267388]|0)>>>0>1&((c[943656]|0)!=0&(i|0)==0))){c[1052788]=0;c[1052787]=0}if(xl(-5)|0?(xl(16)|0)==3:0){if(!(c[1052808]|0)){i=c[1043539]|0;c[1052808]=(i|0)==0?256:i;Kk(4173860,37184)|0}else{c[1052808]=0;Kk(4173860,37165)|0}c[1043529]=Vo()|0;c[1043530]=(Vo()|0)+1400;c[1043531]=(c[1043531]|0)==15?7:15;c[1052809]=256};c[1267767]=-1;c[1267768]=-1;c[1267769]=-1;c[1267770]=-1;c[1267771]=-1;c[1267772]=-1;c[1267773]=-1;c[1267774]=-1;i=c[944502]|0;g=c[1052808]|0;f=c[1231633]|0;ka(7,i|0,g|0,f|0,jp()|0)|0;c[1052279]=(c[1052279]|0)+1;f=ha(8)|0;a:do if((f|0)>0){g=ha(9)|0;switch(f|0){case 1:{c[1267390]=1;break a;break}case 2:{i=(g|0)<256?g:256;c[1052808]=(i|0)>0?i:0;c[1052809]=256;break a;break}case 3:{if(!(c[1052808]|0)){i=c[1043539]|0;c[1052808]=(i|0)==0?256:i;Kk(4173860,37184)|0}else{c[1052808]=0;Kk(4173860,37165)|0}c[1043529]=Vo()|0;c[1043530]=(Vo()|0)+1400;c[1043531]=(c[1043531]|0)==15?7:15;c[1052809]=256;break a;break}case 4:{if(!(c[944502]|0)){c[944502]=1;lb();c[944504]=0;break a}else{c[944502]=0;break a}break}case 5:{i=(g|0)==0;g=(c[944502]|0)!=0;if(!(i|g)){c[944502]=1;lb();c[944504]=0;break a}if(!(i&g))break a;c[944502]=0;break a;break}case 6:{g=c[943608]|0;ia(3,0)|0;a[59072]=0;i=0;do{h=ha(4)|0;a[59072+i>>0]=h;i=i+1|0;a[59072+i>>0]=0}while((h|0)!=0&i>>>0<1023);Kk(g,Yj(5108828,59072)|0)|0;sb();Xk(c[1231627]|0);Xk(c[1231642]|0);Xk(c[1231641]|0);break a;break}case 7:{if((c[944502]|1|0)==3){c[944502]=0;break a}else{c[944502]=3;Kj();break a}break}default:break a}}while(0);ha(10)|0;c[1267767]=ha(11)|0;c[1267768]=ha(11)|0;c[1267769]=ha(11)|0;c[1267770]=ha(11)|0;c[1267771]=ha(11)|0;c[1267772]=ha(11)|0;c[1267773]=ha(11)|0;c[1267774]=ha(11)|0;c[1043540]=ha(12)|0;c[1276717]=89;f=c[1267390]|0;if(f|0){c[1231649]=0;if((f|0)==1){dg();j=c[1267390]|0}else j=f;if((j|0)==2){ag();k=c[1267390]|0}else k=j;if((k|0)==3){sb();l=c[1267390]|0}else l=k;if((l|0)==4){ag();Wf();Qf(5108828);Qf(128336);m=c[1267390]|0}else m=l;if((m|0)==5){sb();n=c[1267390]|0}else n=m;if((n|0)==6)Wf();c[1267390]=0}if((c[1267387]|0)!=1){c[1052784]=0;c[944502]=0;c[1276653]=30}n=Vo()|0;m=(c[944502]|c[1052784]|0)==0;l=z((n-(c[1052280]|0)<<16|0)/1e3|0,m?c[1276653]|0:30)|0;k=l+(c[1043535]|0)|0;c[1043535]=k;c[1052280]=n;if(!(c[1043456]|0))if((k|0)<262144)if((k|0)>0){o=k;p=60}else q=0;else{o=262144;p=60}else{c[1043535]=65536;o=65536;p=60}if((p|0)==60)q=o;c[1043535]=q;o=(q|0)>65535;if(m){if(o){m=(c[1267387]|0)==1;do if(m&(c[943666]|0)>0){ej();dj();vb();q=c[1267393]|0;if((q|0)>10)c[1267393]=q+-1}else{if(!m){ej();dj();q=c[1276925]|0;if((q|0)==1){Oj();r=c[1276925]|0}else r=q;c[1267393]=0;break}q=c[1267393]|0;if((q|0)>0){c[1267393]=q+-1;break}ob();if((c[1267776]|0)<2?(ej(),dj(),c[1231633]=((c[1276653]|0)==30?2:1)+(c[1231633]|0),!((c[1267515]|0)==0|(c[1267391]|0)==0|(c[944502]|0)!=0)):0){if((Xi(4926528,c[1268394]|0,24368)|0)==1)Wi(4926528,c[1268394]|0,24368,0);else{c[944502]=1;lb();c[944504]=0}a[3562089]=1;cj()}if((((c[1231649]|0)<=2?(gg(),c[1231644]|0):0)?(c[1043536]=1,(c[1267776]|0)==2&(c[1231638]|0)>1048576):0)?(dj(),!((c[1267515]|0)==0|(c[1267391]|0)==0|(c[944502]|0)!=0)):0){if((Xi(4926528,c[1268394]|0,24368)|0)==1)Wi(4926528,c[1268394]|0,24368,0);else{c[944502]=1;lb();c[944504]=0}a[3562089]=1;cj()}}while(0);r=c[1267387]|0;if((r|0)==2){rb();s=c[1267387]|0}else s=r;if((s|0)==3?(s=wl()|0,c[1267509]|s|c[1267510]|c[1267511]|c[1267512]|c[1267513]|c[1267514]|c[1267515]|0):0)ab();ub();c[1043535]=(c[1043535]|0)+-65536;c[1231632]=(c[1231632]|0)+1;c[1276927]=(c[1276927]|0)+1;s=c[1052281]&1^1;c[1052281]=s}}else if(o){ej();dj();switch(c[944502]|0){case 2:{Oj();break}case 3:{if(xl(41)|0)c[944502]=0;break}default:{ob();pb()}}c[1043535]=(c[1043535]|0)+-65536}if(!(c[1267388]|c[1267387])){qb();o=c[1276923]|0;s=c[1276924]|0;if((o|0)!=0&(s|0)>0){kb();t=c[1276923]|0;u=c[1276924]|0}else{t=o;u=s}if((t|0)!=0&(u|0)>0)kb()}if((c[1267387]|0)==1&(c[1267388]|0)==0&(c[944502]|0)==2?(xl(41)|0)==3:0)Lj();if(c[1267392]|0)c[1267392]=0;(xl(63)|0)!=3;(xl(64)|0)!=3;(xl(65)|0)!=3;(xl(66)|0)!=3;(xl(67)|0)!=3;xl(-5)|0;xl(-5)|0;xl(-5)|0;xl(-5)|0;xl(-5)|0;if(c[961276]|0){Os(3561536,3844590,512)|0;c[961276]=0}if(!(c[943666]|c[1267393]))c[1276927]=0;u=c[1267387]|0;if((u|0)==1){t=Xi(4926528,c[1268394]|0,24367)|0;v=((t|0)==1|(t|0)!=2&(c[944502]|0)!=0)&1;w=c[1267387]|0}else{v=0;w=u}u=c[1052786]|0;c[1052786]=(v|0)==0&(u+-1|0)>>>0<4?u+1|0:v;do if((w|1|0)!=3){v=c[1052799]|0;if(v|0){c[e>>2]=v&255;mq(3557312,38073,e)|0;Kk(4173860,3557312)|0;c[1043529]=Vo()|0;c[1043530]=(Vo()|0)+1400;c[1043531]=(c[1043531]|0)==15?7:15;c[1052799]=0}v=c[1052800]|0;if(!v){Ca=b;return}else{c[d>>2]=v&255;mq(3557312,38095,d)|0;Kk(4173860,3557312)|0;c[1043529]=Vo()|0;c[1043530]=(Vo()|0)+1400;c[1043531]=(c[1043531]|0)==15?7:15;break}}else c[1052799]=0;while(0);c[1052800]=0;Ca=b;return}function xb(){Gj()|0;if(c[1276923]|0)Eo(5106876)|0;Pk()|0;return}function yb(a,b){a=a|0;b=b|0;ha(13)|0;return Tk(a,b)|0}function zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ca;Ca=Ca+64|0;f=e;g=d;h=g+41|0;do{a[g>>0]=48;g=g+1|0}while((g|0)<(h|0));i=En(32768)|0;if(!(Ab(b,i)|0)){On(i,32768,d)|0;j=d+40|0;a[j>>0]=0;Hn(i);Ca=e;return}k=c[b>>2]|0;c[b>>2]=f;g=f;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));On(k,Yq(k)|0,f)|0;a[(c[b>>2]|0)+40>>0]=0;if(!(Ab(b,i)|0))On(i,32768,d)|0;c[b>>2]=k;j=d+40|0;a[j>>0]=0;Hn(i);Ca=e;return}function Ab(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Fn(d,0,32768);e=0;do{a[d+e>>0]=Xi(0,b,e)|0;e=e+1|0}while((e|0)!=17152);e=Dn(262144)|0;f=c[b>>2]|0;b=rj(f,e,Yq(f)|0)|0;if((b|0)>15360){Hn(e);g=1;return g|0}else{Os(d+17152|0,e|0,b|0)|0;Hn(e);g=0;return g|0}return 0}function Bb(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;f=Ca;Ca=Ca+32|0;g=f;h=En(32773)|0;Fn(h,0,32773);i=Ab(b,h)|0;a[h+32768>>0]=18;a[h+32769>>0]=0;a[h+32770>>0]=1;a[h+32771>>0]=23;a[h+32772>>0]=jk()|0;if(i|0){Hn(h);j=1;Ca=f;return j|0}i=al(160,205,32)|0;Nm(c[(c[c[1231653]>>2]|0)+580>>2]|0,i,0,0,0,0,160,205);k=c[b+44316>>2]|0;if(k|0)Nm(k,i,0,0,16,24,128,128);k=c[b>>2]|0;b=k;while(1){l=a[b>>0]|0;m=l<<24>>24==10;n=b+1|0;if(m^l<<24>>24!=0)b=n;else break}l=m?n:b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;if((a[k>>0]|0)==45?(a[k+1>>0]|0)==45:0){b=k+2|0;n=0;m=(a[b>>0]|0)==32?k+3|0:b;a:while(1){b=a[m>>0]|0;switch(b<<24>>24){case 10:case 0:{break a;break}default:{}}if(n>>>0>=31)break;a[g+n>>0]=b;n=n+1|0;m=m+1|0}Gl(i,g,c[1231654]|0,18,167,1,-1808)|0};c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;if((a[l>>0]|0)==45?(a[l+1>>0]|0)==45:0){m=l+2|0;n=0;b=(a[m>>0]|0)==32?l+3|0:m;b:while(1){m=a[b>>0]|0;switch(m<<24>>24){case 10:case 0:{break b;break}default:{}}if(n>>>0>=31)break;a[g+n>>0]=m;n=n+1|0;b=b+1|0}Gl(i,g,c[1231654]|0,18,175,1,-1808)|0}Gl(i,58705,c[1231654]|0,18,187,1,-6250336)|0;g=0;b=c[i+12>>2]|0;while(1){n=a[b>>0]&-4;a[b>>0]=n;if(g>>>0<131092)a[b>>0]=(d[h+(g>>>2)>>0]|0)>>>(g<<1&6)&3|n&255;g=g+1|0;if((g|0)==131200)break;else b=b+1|0}em(e,i)|0;bl(i)|0;Hn(h);j=0;Ca=f;return j|0}function Cb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=0;do{Wi(0,b,f,d[e+f>>0]|0);f=f+1|0}while((f|0)!=17152);f=c[b>>2]|0;if(!f){g=En(65538)|0;c[b>>2]=g;Fn(g,0,65538);h=c[b>>2]|0}else h=f;f=e+17152|0;if((a[f>>0]|0)==58){Fn(h,0,65538);sj(f,c[b>>2]|0,65537)|0;return}else{Os(h|0,f|0,15360)|0;return}}function Db(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ca;Ca=Ca+16|0;f=e;c[943619]=0;if(!b){g=0;h=2;c[943619]=h;Ca=e;return g|0}i=cm(b)|0;if(!i){g=0;h=1;c[943619]=h;Ca=e;return g|0}if((c[i>>2]|0)==160?(c[i+4>>2]|0)==205:0){b=qp()|0;j=c[i+12>>2]|0;k=0;do{l=k<<2;a[j+k>>0]=a[j+(l|1)>>0]<<2&12|a[j+l>>0]&3|a[j+(l|2)>>0]<<4&48|a[j+(l|3)>>0]<<6&255;k=k+1|0}while((k|0)!=32773);k=j+32768|0;c[b+44320>>2]=d[k>>0];do if((d[k>>0]|0)>18){if(c[943614]|0){nb(38227,1500);break}bl(i)|0;c[f>>2]=d[k>>0];mq(3557312,38255,f)|0;Qf(3557312);g=0;h=3;c[943619]=h;Ca=e;return g|0}while(0);Cb(b,j);bl(i)|0;g=b;h=0;c[943619]=h;Ca=e;return g|0}bl(i)|0;g=0;h=2;c[943619]=h;Ca=e;return g|0}function Eb(a){a=a|0;var b=0,d=0,e=0;b=Tl(a,52470)|0;if(!b){d=0;return d|0}e=Db(b)|0;Ul(b);if(!e){d=0;return d|0}c[e+44316>>2]=_j(a)|0;d=e;return d|0}function Fb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ca;Ca=Ca+3104|0;e=d+3088|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;Kk(b,a)|0;if(Xr(b,51029)|0){Ca=d;return}am(a,g,h,i);if(!(Xr(i,50470)|0)){c[e>>2]=g;c[e+4>>2]=h;c[e+8>>2]=i;mq(b,38284,e)|0;Ca=d;return}else{c[f>>2]=g;c[f+4>>2]=h;c[f+8>>2]=i;mq(b,38274,f)|0;Ca=d;return}}function Gb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ca;Ca=Ca+4096|0;f=e+2048|0;g=e+1024|0;h=e;if(!(a[b>>0]|0)){Kk(f,38294)|0;Kk(g,51029)|0}else am(b,e+3072|0,f,g);bp(38303,h);gr(h,f)|0;gr(h,g)|0;if(d|0){d=En(1048576)|0;g=Tl(b,52470)|0;f=Jl(d,1,1048576,g)|0;Ul(g);g=Tl(h,58993)|0;Ll(d,1,f,g)|0;Ul(g);Hn(d);Ca=e;return 0}bg();d=(Xr(b,50470)|0)==0;b=c[15088]|0;if(d){vp(b,h)|0;Ca=e;return 0}else{Bb(b,h)|0;Ca=e;return 0}return 0}function Hb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Ca;Ca=Ca+1024|0;e=d;bg();f=Dn(262144)|0;do if(Ak(c[c[15088]>>2]|0,f)|0)if(!(Xr(b,50470)|0)){Kk(f,c[c[15088]>>2]|0)|0;break}else{g=1;Ca=d;return g|0}while(0);h=Yq(f)|0;i=Yq(c[c[15088]>>2]|0)|0;j=(h|0)==(i|0);if(i>>>0>65536){Qf(38311);Hn(f);g=1;Ca=d;return g|0}i=Dn(262144)|0;Fn(i,0,262144);h=rj(f,i,Yq(c[c[15088]>>2]|0)|0)|0;Hn(i);i=(h|0)>15360;do if(!(Xr(b,50470)|0)){if(i){Pf(38382,9);Pf(38415,9);Rf(38368,h,15360);Qf(38446)}}else{if(i){Pf(38336,8);Rf(38368,h,15360);Hn(f);g=1;Ca=d;return g|0}k=c[(c[15088]|0)+44316>>2]|0;if(k|0){l=c[k+12>>2]|0;k=a[l>>0]|0;m=1;n=0;do{n=(a[l+m>>0]|0)==k<<24>>24?n:1;m=m+1|0}while((m|0)!=16384);if(n|0)break}Pf(48893,9);Pf(48917,10)}while(0);Fb(b,e);if(Oq(e,5063056)|0?Fo(e)|0:0)Gb(e,1)|0;b=(Xr(e,50470)|0)==0;h=c[15088]|0;if(!b){Kk(c[h>>2]|0,f)|0;cg();b=Bb(c[15088]|0,e)|0;if(j)o=b;else{Pf(38467,9);o=b}}else o=vp(h,e)|0;if(!o){Kk(5063056,e)|0;zb(c[15088]|0,5064080)}else nb(38487,1500);Hn(f);g=o;Ca=d;return g|0}function Ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ca;Ca=Ca+1040|0;f=e+1024|0;g=e;if(!b){Ca=e;return}rp(c[15088]|0);c[15088]=b;Jb(b);h=c[(c[b+8>>2]|0)+16>>2]|0;i=0;j=32;while(1){k=c[h+(j<<2)>>2]|0;l=0;m=i;do{m=(a[k+l>>0]|0)==0?m:1;l=l+1|0}while((l|0)!=128);j=j+1|0;if((j|0)==64)break;else i=m}if(!m)Cg(b);else Dg(b);cg();bg();zb(c[15088]|0,5064080);a[147856]=0;c[f>>2]=38531;c[f+4>>2]=5064080;mq(147856,38508,f)|0;f=147856+(Yq(147856)|0)|0;a[f>>0]=46;a[f+1>>0]=112;a[f+2>>0]=56;a[f+3>>0]=0;Kk(g,147856)|0;if(!d)Kk(5063056,g)|0;else Kk(5063056,d)|0;d=tp(g)|0;if(d|0){g=0;do{Wi(0,b,g,Xi(0,d,g)|0);g=g+1|0}while((g|0)!=17152)}bb();Gp(c[(c[1264983]|0)+356>>2]|0);Gp(c[(c[1264984]|0)+356>>2]|0);Gp(c[(c[1264985]|0)+356>>2]|0);Gp(c[(c[1264986]|0)+356>>2]|0);Gp(c[(c[1264987]|0)+356>>2]|0);Gp(c[(c[1264988]|0)+356>>2]|0);Gp(c[(c[1264989]|0)+356>>2]|0);Gp(c[(c[1264990]|0)+356>>2]|0);c[1043797]=0;Ca=e;return}function Jb(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;b=Ca;Ca=Ca+16|0;d=b;e=a+44324|0;if(c[e>>2]|0){Ca=b;return}c[e>>2]=1;e=a+44320|0;f=c[e>>2]|0;if((f|0)<5){g=0;do{h=a+41996+(g<<4)|0;i=c[h>>2]|0;j=i>>>0<64;if(j){k=c[a+12+(i*656|0)+4>>2]|0;l=((k|0)>1?k:1)<<5;k=(c[a+12+(i*656|0)+12>>2]|0)>(c[a+12+(i*656|0)+8>>2]|0);m=k<<31>>31;n=k?0:l;o=l}else{m=-1;n=0;o=0}l=c[a+41996+(g<<4)+4>>2]|0;k=l>>>0<64;if(k){p=c[a+12+(l*656|0)+4>>2]|0;q=((p|0)>1?p:1)<<5;p=(o|0)>(q|0)?o:q;if((m|0)==-1){r=(c[a+12+(l*656|0)+12>>2]|0)>(c[a+12+(l*656|0)+8>>2]|0);s=r?-1:1;t=r?n:q;u=p}else{s=0;t=n;u=p}}else{s=m;t=n;u=o}p=c[a+41996+(g<<4)+8>>2]|0;q=p>>>0<64;if(q){r=c[a+12+(p*656|0)+4>>2]|0;v=((r|0)>1?r:1)<<5;r=(u|0)>(v|0)?u:v;if((s|0)==-1){w=(c[a+12+(p*656|0)+12>>2]|0)>(c[a+12+(p*656|0)+8>>2]|0);x=w?-1:2;y=w?t:v;z=r}else{x=s;y=t;z=r}}else{x=s;y=t;z=u}r=c[a+41996+(g<<4)+12>>2]|0;v=r>>>0<64;if(v){w=c[a+12+(r*656|0)+4>>2]|0;A=((w|0)>1?w:1)<<5;w=(z|0)>(A|0)?z:A;if((x|0)==-1){B=(c[a+12+(r*656|0)+12>>2]|0)>(c[a+12+(r*656|0)+8>>2]|0);C=B?-1:3;D=B?y:A;E=w}else{C=x;D=y;E=w}}else{C=x;D=y;E=z}a:do if((E|0)!=(D|0)&(C|0)!=-1){if((j?(c[a+12+(i*656|0)+12>>2]|0)<=(c[a+12+(i*656|0)+8>>2]|0):0)?(w=c[a+12+(i*656|0)+4>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)break;if((k?(c[a+12+(l*656|0)+12>>2]|0)<=(c[a+12+(l*656|0)+8>>2]|0):0)?(w=c[a+12+(l*656|0)+4>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)F=1;else G=46;do if((G|0)==46){G=0;if((q?(c[a+12+(p*656|0)+12>>2]|0)<=(c[a+12+(p*656|0)+8>>2]|0):0)?(w=c[a+12+(p*656|0)+4>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0){F=2;break}if(!v)break a;if((c[a+12+(r*656|0)+12>>2]|0)>(c[a+12+(r*656|0)+8>>2]|0))break a;w=c[a+12+(r*656|0)+4>>2]|0;if((((w|0)>1?w:1)<<5|0)==(E|0))F=3;else break a}while(0);c[d>>2]=g;c[d+4>>2]=0;c[d+8>>2]=F;mq(3557312,38534,d)|0;Qf(3557312);w=c[h>>2]|0;A=a+41996+(g<<4)+(F<<2)|0;c[h>>2]=c[A>>2];c[A>>2]=w}while(0);g=g+1|0}while((g|0)!=64);g=c[e>>2]|0;if((g|0)<5){F=0;do{d=0;do{if((c[a+12+(F*656|0)+16+(d*20|0)+4>>2]|0)==6?(E=a+12+(F*656|0)+16+(d*20|0)+8|0,(c[E>>2]|0)>5):0)c[E>>2]=5;d=d+1|0}while((d|0)!=32);F=F+1|0}while((F|0)!=64);F=c[a>>2]|0;if(Xr(F,38566)|0){d=Np(65536)|0;Kk(d,F)|0;Kk(c[a>>2]|0,38591)|0;gr(c[a>>2]|0,d)|0;Qf(39862);H=c[e>>2]|0}else H=g}else H=g}else H=f;if((H|0)>=11){Ca=b;return}H=0;f=0;do{H=H+((c[a+12+(f*656|0)>>2]|0)>1&1)+((c[a+12+(f*656|0)+8>>2]|0)>63&1)+((c[a+12+(f*656|0)+12>>2]|0)>63&1)+((c[a+12+(f*656|0)+32>>2]|0)!=0&1)+((c[a+12+(f*656|0)+52>>2]|0)!=0&1)+((c[a+12+(f*656|0)+72>>2]|0)!=0&1)+((c[a+12+(f*656|0)+92>>2]|0)!=0&1)+((c[a+12+(f*656|0)+112>>2]|0)!=0&1)+((c[a+12+(f*656|0)+132>>2]|0)!=0&1)+((c[a+12+(f*656|0)+152>>2]|0)!=0&1)+((c[a+12+(f*656|0)+172>>2]|0)!=0&1)+((c[a+12+(f*656|0)+192>>2]|0)!=0&1)+((c[a+12+(f*656|0)+212>>2]|0)!=0&1)+((c[a+12+(f*656|0)+232>>2]|0)!=0&1)+((c[a+12+(f*656|0)+252>>2]|0)!=0&1)+((c[a+12+(f*656|0)+272>>2]|0)!=0&1)+((c[a+12+(f*656|0)+292>>2]|0)!=0&1)+((c[a+12+(f*656|0)+312>>2]|0)!=0&1)+((c[a+12+(f*656|0)+332>>2]|0)!=0&1)+((c[a+12+(f*656|0)+352>>2]|0)!=0&1)+((c[a+12+(f*656|0)+372>>2]|0)!=0&1)+((c[a+12+(f*656|0)+392>>2]|0)!=0&1)+((c[a+12+(f*656|0)+412>>2]|0)!=0&1)+((c[a+12+(f*656|0)+432>>2]|0)!=0&1)+((c[a+12+(f*656|0)+452>>2]|0)!=0&1)+((c[a+12+(f*656|0)+472>>2]|0)!=0&1)+((c[a+12+(f*656|0)+492>>2]|0)!=0&1)+((c[a+12+(f*656|0)+512>>2]|0)!=0&1)+((c[a+12+(f*656|0)+532>>2]|0)!=0&1)+((c[a+12+(f*656|0)+552>>2]|0)!=0&1)+((c[a+12+(f*656|0)+572>>2]|0)!=0&1)+((c[a+12+(f*656|0)+592>>2]|0)!=0&1)+((c[a+12+(f*656|0)+612>>2]|0)!=0&1)+((c[a+12+(f*656|0)+632>>2]|0)!=0&1)+((c[a+12+(f*656|0)+652>>2]|0)!=0&1)|0;f=f+1|0}while((f|0)!=64);if(H|0){Ca=b;return}H=0;do{f=0;do{g=a+12+(H*656|0)+16+(f*20|0)+12|0;if((c[g>>2]|0)==1?(c[a+12+(H*656|0)+16+(f*20|0)+8>>2]|0)==0:0)c[g>>2]=0;f=f+1|0}while((f|0)!=32);H=H+1|0}while((H|0)!=64);Ca=b;return}function Kb(b){b=b|0;var d=0,e=0;d=Ca;Ca=Ca+16|0;e=d;a[147856]=0;c[e>>2]=38531;c[e+4>>2]=b;mq(147856,38508,e)|0;e=147856+(Yq(147856)|0)|0;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=0;Ca=d;return 147856}function Lb(a){a=a|0;var b=0,d=0,e=0;b=Tl(a,52470)|0;if(b|0?(d=Db(b)|0,Ul(b),d|0):0){c[d+44316>>2]=_j(a)|0;e=d;return e|0}e=tp(a)|0;return e|0}function Mb(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;d=Ca;Ca=Ca+1024|0;e=d;Kk(e,b)|0;f=Tl(b,52470)|0;if((f|0)!=0?(g=Db(f)|0,Ul(f),(g|0)!=0):0){c[g+44316>>2]=_j(b)|0;h=g}else i=4;do if((i|0)==4){g=tp(b)|0;if(!g){Fb(b,e);f=Tl(e,52470)|0;if(f|0?(j=Db(f)|0,Ul(f),j|0):0){c[j+44316>>2]=_j(e)|0;h=j;break}j=tp(e)|0;if(!j){f=e+(Yq(e)|0)|0;a[f>>0]=a[50470]|0;a[f+1>>0]=a[50471]|0;a[f+2>>0]=a[50472]|0;a[f+3>>0]=a[50473]|0;a[f+4>>0]=a[50474]|0;f=Tl(e,52470)|0;if(f|0?(k=Db(f)|0,Ul(f),k|0):0){c[k+44316>>2]=_j(e)|0;h=k;break}k=tp(e)|0;if(!k){Kk(e,b)|0;f=e+(Yq(e)|0)|0;a[f>>0]=a[50470]|0;a[f+1>>0]=a[50471]|0;a[f+2>>0]=a[50472]|0;a[f+3>>0]=a[50473]|0;a[f+4>>0]=a[50474]|0;f=Tl(e,52470)|0;if(f|0?(l=Db(f)|0,Ul(f),l|0):0){c[l+44316>>2]=_j(e)|0;h=l;break}l=tp(e)|0;if(!l){m=1;Ca=d;return m|0}else h=l}else h=k}else h=j}else h=g}while(0);Ib(h,e);m=0;Ca=d;return m|0}function Nb(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;if(Oq(b,5068524)|0){Kk(5068524,b)|0;c[1267393]=30}g=Tl(b,52470)|0;if((g|0)!=0?(h=Db(g)|0,Ul(g),(h|0)!=0):0){c[h+44316>>2]=_j(b)|0;i=h}else{h=tp(b)|0;if(!h){if(!(Xr(b,39889)|0)){j=1;return j|0}g=Tl(b,52470)|0;if(!g){j=1;return j|0}b=qp()|0;k=En(17152)|0;Ps(k|0,0,17152)|0;Jl(k,1,17152,g)|0;g=0;do{Wi(0,b,g,a[k+g>>0]|0);g=g+1|0}while((g|0)!=17152);Hn(k);if(!b){j=1;return j|0}else i=b}else i=h}if((f|0)>0){h=0;do{b=c[1268394]|0;Wi(4926528,b,h+d|0,Xi(0,i,h+e|0)|0);h=h+1|0}while((h|0)!=(f|0))}rp(i);j=0;return j|0}function Ob(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=Ca;Ca=Ca+1040|0;i=h+1024|0;j=h;c[i>>2]=b;mq(j,49524,i)|0;do if(!(Xr(3845108,j)|0)){i=0;k=0;a:while(1){switch(a[3845108+k>>0]|0){case 0:{break a;break}case 124:{l=i+1|0;break}default:l=i}i=l;k=k+1|0}if((i|0)>255){m=3;Ca=h;return m|0}else{gr(3845108,j)|0;break}}while(0);Kk(5068524,b)|0;c[1267393]=30;j=tp(b)|0;if(!j)n=qp()|0;else n=j;if((f|0)>0)if(!g){g=0;do{Wi(0,n,g+d|0,Xi(4926528,c[1268394]|0,g+e|0)|0);g=g+1|0}while((g|0)!=(f|0))}else{g=0;do{j=g+d|0;l=g+e|0;Wi(0,n,j,Xi(4926528,c[1268394]|0,l)|0);k=c[15088]|0;Wi(0,k,j,Xi(4926528,c[1268394]|0,l)|0);g=g+1|0}while((g|0)!=(f|0))}f=vp(n,b)|0;rp(n);m=(f|0)==0?0:2;Ca=h;return m|0}function Pb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Ca;Ca=Ca+128|0;d=b+64|0;e=b;if(!(a[5063056]|0)){Ca=b;return}f=Tl(5063056,52470)|0;if((f|0)!=0?(g=Db(f)|0,Ul(f),(g|0)!=0):0){c[g+44316>>2]=_j(5063056)|0;h=g}else{g=tp(5063056)|0;if(!g){Ca=b;return}else h=g}Jb(h);g=c[(c[h+8>>2]|0)+16>>2]|0;f=0;i=32;while(1){j=c[g+(i<<2)>>2]|0;k=0;l=f;do{l=(a[j+k>>0]|0)==0?l:1;k=k+1|0}while((k|0)!=128);i=i+1|0;if((i|0)==64)break;else f=l}if(!l)Cg(h);else Dg(h);zb(h,d);zb(c[15088]|0,e);if(Oq(d,e)|0?Oq(d,5064080)|0:0)if((c[h+44320>>2]|0)==18){nb(39894,1e3);Ib(h,5063056);Ca=b;return}else{Ib(h,5063056);Ca=b;return}rp(h);Ca=b;return}function Qb(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;d=Ca;Ca=Ca+2064|0;e=d+2056|0;f=d+2048|0;g=d+1024|0;h=d;i=c[943654]|0;j=(i|0)<32?i:32;i=(j|0)>1;k=0;while(1){c[f>>2]=rk()|0;c[f+4>>2]=k;mq(g,39918,f)|0;dp(g,h);if(!(Fo(h)|0))break;else k=k+1|0}k=i?j:1;j=z(c[b>>2]|0,k)|0;i=al(j,z(c[b+4>>2]|0,k)|0,8)|0;k=i+4|0;gl(b,i,0,0,c[i>>2]|0,c[k>>2]|0,0);if((c[k>>2]|0)<=0){c[e>>2]=h;mq(3552704,39930,e)|0;Ok(3552704);em(h,i)|0;bl(i)|0;l=Fo(h)|0;m=(l|0)==0;n=m&1;Ca=d;return n|0}b=i+16|0;j=0;g=c[i>>2]|0;while(1){if((g|0)>0){f=0;o=g;while(1){p=(c[(c[b>>2]|0)+(j<<2)>>2]|0)+f|0;if(!(a[p>>0]|0)){a[p>>0]=16;q=c[i>>2]|0}else q=o;f=f+1|0;if((f|0)>=(q|0)){r=q;break}else o=q}}else r=g;j=j+1|0;if((j|0)>=(c[k>>2]|0))break;else g=r}c[e>>2]=h;mq(3552704,39930,e)|0;Ok(3552704);em(h,i)|0;bl(i)|0;l=Fo(h)|0;m=(l|0)==0;n=m&1;Ca=d;return n|0}function Rb(){c[1052282]=0;return}function Sb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ca;Ca=Ca+1040|0;e=d+1024|0;f=d;g=c[1052282]|0;if((g|0)==64){Ca=d;return}c[1052282]=g+1;Kk(128848+(g*297|0)+41|0,b)|0;h=128848+(g*297|0)|0;zb(a,h);Kk(f,b)|0;c[e>>2]=f;c[e+4>>2]=h;mq(3552704,39956,e)|0;Ok(3552704);e=op(f,51462)|0;up(a,e)|0;Ul(e);Ca=d;return}function Tb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ca;Ca=Ca+1024|0;f=e;g=c[1052282]|0;if((g|0)<=0){h=0;Ca=e;return h|0}a:do if(d){i=0;while(1){j=128848+(i*297|0)+41|0;if(!(Oq(b,j)|0)){k=i;break a}Fb(b,f);if(!(Oq(f,j)|0)){l=10;break}m=f+(Yq(f)|0)|0;a[m>>0]=a[50470]|0;a[m+1>>0]=a[50471]|0;a[m+2>>0]=a[50472]|0;a[m+3>>0]=a[50473]|0;a[m+4>>0]=a[50474]|0;if(!(Oq(f,j)|0)){l=12;break}j=i+1|0;if((j|0)<(c[1052282]|0))i=j;else{h=0;l=14;break}}if((l|0)==10){h=128848+(i*297|0)|0;Ca=e;return h|0}else if((l|0)==12){h=128848+(i*297|0)|0;Ca=e;return h|0}else if((l|0)==14){Ca=e;return h|0}}else{j=0;while(1){if(!(Oq(b,128848+(j*297|0)+41|0)|0)){k=j;break a}j=j+1|0;if((j|0)>=(g|0)){h=0;break}}Ca=e;return h|0}while(0);h=128848+(k*297|0)|0;Ca=e;return h|0}function Ub(){return 0}function Vb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ca;Ca=Ca+128|0;d=b+64|0;e=b;if(!(a[5063056]|0)){f=0;Ca=b;return f|0}g=Tl(5063056,52470)|0;if((g|0)!=0?(h=Db(g)|0,Ul(g),(h|0)!=0):0){c[h+44316>>2]=_j(5063056)|0;i=h}else{h=tp(5063056)|0;if(!h){f=0;Ca=b;return f|0}else i=h}Jb(i);h=c[(c[i+8>>2]|0)+16>>2]|0;g=0;j=32;while(1){k=c[h+(j<<2)>>2]|0;l=0;m=g;do{m=(a[k+l>>0]|0)==0?m:1;l=l+1|0}while((l|0)!=128);j=j+1|0;if((j|0)==64)break;else g=m}if(!m)Cg(i);else Dg(i);zb(i,d);zb(c[15088]|0,e);rp(i);if(!(Oq(d,e)|0)){f=0;Ca=b;return f|0}f=(Oq(d,5064080)|0)!=0&1;Ca=b;return f|0}function Wb(a){a=a|0;return 0}function Xb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ca;Ca=Ca+16|0;e=c[a+32>>2]|0;if((e|0)>1e6)Zb(a,6);f=(c[b>>2]|0)+5+((c[a+8>>2]|0)-(c[a+28>>2]|0)>>3)|0;b=e<<1;e=(b|0)<1e6?b:1e6;b=(e|0)<(f|0)?f:e;if((b|0)>1e6){_b(a,1000200);$b(a,40049,d)}else{_b(a,b);Ca=d;return}}function Yb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=Ca;Ca=Ca+176|0;g=4;h=Np(40)|0;c[h>>2]=0;i=f;l=a+38|0;m=b[l>>1]|0;n=i+160|0;c[n>>2]=0;o=a+64|0;c[i>>2]=c[o>>2];c[o>>2]=i;h=Ls(i+4|0,1,h|0,g|0)|0;g=D()|0;j=0;p=j;j=0;if((p|0)!=0&(k|0)!=0){q=Ms(c[p>>2]|0,h|0,g|0)|0;if(!q)xa(p|0,k|0);C(k|0)}else q=-1;p=D()|0;if((q|0)==1)r=p;else r=0;do{if(r|0){s=6;break}j=0;E(d|0,a|0,e|0);p=j;j=0;if((p|0)!=0&(k|0)!=0){t=Ms(c[p>>2]|0,h|0,g|0)|0;if(!t)xa(p|0,k|0);C(k|0)}else t=-1;r=D()|0}while((t|0)==1);if((s|0)==6){u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Op(h|0);Ca=f;return v|0}u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Op(h|0);Ca=f;return v|0}function Zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+64>>2]|0;if(e|0){c[e+160>>2]=d;xa(e+4|0,1)}a[b+6>>0]=d;e=b+12|0;f=c[e>>2]|0;g=c[f+144>>2]|0;if(c[g+64>>2]|0){h=c[b+8>>2]|0;i=g+8|0;g=c[i>>2]|0;c[i>>2]=g+8;c[g>>2]=c[h+-8>>2];c[g+4>>2]=c[h+-4>>2];Zb(c[(c[e>>2]|0)+144>>2]|0,d)}d=c[f+140>>2]|0;if(!d)ga();Ga[d&127](b)|0;ga()}function _b(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;e=b+28|0;f=c[e>>2]|0;g=b+32|0;h=c[g>>2]|0;if((d+1|0)>>>0>536870911)jc(b);i=h<<3;j=d<<3;k=c[b+12>>2]|0;l=(f|0)==0;m=k+4|0;n=Ja[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if((j|0)!=0&(n|0)==0){if(!(a[k+51>>0]|0))Zb(b,4);ic(b,1);o=Ja[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if(!o)Zb(b,4);else p=o}else p=n;n=k+12|0;c[n>>2]=(l?0:0-i|0)+j+(c[n>>2]|0);c[e>>2]=p;if((h|0)<(d|0)){n=h;do{c[p+(n<<3)+4>>2]=0;n=n+1|0}while((n|0)!=(d|0))}c[g>>2]=d;c[b+24>>2]=p+(d<<3)+-40;d=b+8|0;g=f;c[d>>2]=p+((c[d>>2]|0)-g>>3<<3);d=c[b+56>>2]|0;if(d|0?(f=d+8|0,c[f>>2]=p+((c[f>>2]|0)-g>>3<<3),f=c[d>>2]|0,f|0):0){d=f;do{f=d+8|0;c[f>>2]=(c[e>>2]|0)+((c[f>>2]|0)-g>>3<<3);d=c[d>>2]|0}while((d|0)!=0)}d=c[b+16>>2]|0;if(!d)return;b=d;do{d=b+4|0;f=c[e>>2]|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3);c[b>>2]=f+((c[b>>2]|0)-g>>3<<3);if(a[b+18>>0]&1){d=b+24|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3)}b=c[b+8>>2]|0}while((b|0)!=0);return}function $b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=d;bc(a,ac(a,b,f)|0);cc(a)}function ac(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;f=Ca;Ca=Ca+64|0;g=f+48|0;h=f+40|0;i=f+32|0;j=f+24|0;k=f;l=ir(d,37)|0;m=b+24|0;n=b+8|0;o=c[n>>2]|0;p=(c[m>>2]|0)-o|0;q=o;do if(l){r=b+32|0;s=b+28|0;t=0;u=d;v=p;w=q;x=o;y=l;a:while(1){if((v|0)<24){z=c[r>>2]|0;if((z|0)>1e6){A=5;break}B=(x-(c[s>>2]|0)>>3)+7|0;C=z<<1;z=(C|0)<1e6?C:1e6;C=(z|0)<(B|0)?B:z;if((C|0)>1e6){A=7;break}_b(b,C);D=c[n>>2]|0}else D=w;c[n>>2]=D+8;C=Yc(b,u,y-u|0)|0;c[D>>2]=C;c[D+4>>2]=(a[C+4>>0]|64)&255;E=a[y+1>>0]|0;switch(E<<24>>24|0){case 115:{C=(c[e>>2]|0)+(4-1)&~(4-1);z=c[C>>2]|0;c[e>>2]=C+4;C=(z|0)==0?59006:z;z=Yq(C)|0;B=c[n>>2]|0;c[n>>2]=B+8;F=Yc(b,C,z)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 99:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;a[k>>0]=B;B=c[n>>2]|0;c[n>>2]=B+8;F=Cc(b,k,1)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 100:{F=c[n>>2]|0;c[n>>2]=F+8;B=(c[e>>2]|0)+(4-1)&~(4-1);z=c[B>>2]|0;c[e>>2]=B+4;c[F>>2]=z;c[F+4>>2]=3;break}case 102:{F=c[n>>2]|0;c[n>>2]=F+8;z=(c[e>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[e>>2]=z+4;c[F>>2]=B;c[F+4>>2]=3;break}case 112:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;c[i>>2]=B;B=mq(k,40587,i)|0;F=c[n>>2]|0;c[n>>2]=F+8;z=Yc(b,k,B)|0;c[F>>2]=z;c[F+4>>2]=(a[z+4>>0]|64)&255;break}case 37:{z=c[n>>2]|0;c[n>>2]=z+8;F=Cc(b,40590,1)|0;c[z>>2]=F;c[z+4>>2]=(a[F+4>>0]|64)&255;break}default:{A=16;break a}}G=t+2|0;H=y+2|0;F=ir(H,37)|0;I=c[n>>2]|0;J=(c[m>>2]|0)-I|0;if(!F){A=18;break}else{t=G;u=H;v=J;w=I;x=I;y=F}}if((A|0)==5)Zb(b,6);else if((A|0)==7){_b(b,1000200);$b(b,40049,j)}else if((A|0)==16){c[h>>2]=E<<24>>24;$b(b,40592,h)}else if((A|0)==18){K=H;L=G;M=J;N=I;O=I;break}}else{K=d;L=0;M=p;N=o;O=q}while(0);do if((M|0)<16){q=c[b+32>>2]|0;if((q|0)>1e6)Zb(b,6);o=(N-(c[b+28>>2]|0)>>3)+6|0;p=q<<1;q=(p|0)<1e6?p:1e6;p=(q|0)<(o|0)?o:q;if((p|0)>1e6){_b(b,1000200);$b(b,40049,g)}else{_b(b,p);P=c[n>>2]|0;break}}else P=O;while(0);O=Yq(K)|0;c[n>>2]=P+8;g=Yc(b,K,O)|0;c[P>>2]=g;c[P+4>>2]=(a[g+4>>0]|64)&255;if(!L){Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ca=f;return T|0}pc(b,L|1);Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ca=f;return T|0}function bc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=Ca;Ca=Ca+80|0;f=e+64|0;g=e;h=c[b+16>>2]|0;if(!(a[h+18>>0]&1)){Ca=e;return}i=c[(c[c[h>>2]>>2]|0)+12>>2]|0;j=c[i+20>>2]|0;if(!j)k=0;else k=c[j+(((c[h+28>>2]|0)-(c[i+12>>2]|0)>>2)+-1<<2)>>2]|0;h=c[i+36>>2]|0;a:do if(!h){a[g>>0]=63;a[g+1>>0]=0}else{i=h+16|0;j=Yq(i)|0;switch(a[i>>0]|0){case 61:{l=i+1|0;if(j>>>0>60){m=g;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[g+59>>0]=0;break a}else{Os(g|0,l|0,j|0)|0;break a}break}case 64:{if(j>>>0>60){a[g>>0]=a[40570]|0;a[g+1>>0]=a[40571]|0;a[g+2>>0]=a[40572]|0;m=g+3|0;n=i+1+j+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Os(g|0,i+1|0,j|0)|0;break a}break}default:{l=ir(i,10)|0;m=g;n=40574;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));p=g+9|0;q=(l|0)==0;if(j>>>0<45&q){Os(p|0,i|0,j|0)|0;r=p+j|0}else{s=q?j:l-i|0;q=s>>>0<45?s:45;Os(p|0,i|0,q|0)|0;s=p+q|0;a[s>>0]=a[40570]|0;a[s+1>>0]=a[40571]|0;a[s+2>>0]=a[40572]|0;r=s+3|0};a[r>>0]=a[40584]|0;a[r+1>>0]=a[40585]|0;a[r+2>>0]=a[40586]|0;break a}}}while(0);c[f>>2]=d;Xc(b,51613,f)|0;c[1052285]=k;Ca=e;return}function cc(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=Ca;Ca=Ca+16|0;e=d;d=c[a+68>>2]|0;if(!d)Zb(a,2);f=(c[a+28>>2]|0)+d|0;d=f+4|0;if((c[d>>2]&15|0)!=6)Zb(a,6);g=a+8|0;h=c[g>>2]|0;c[h>>2]=c[h+-8>>2];c[h+4>>2]=c[h+-4>>2];h=c[g>>2]|0;c[h+-8>>2]=c[f>>2];c[h+-4>>2]=c[d>>2];d=c[g>>2]|0;c[g>>2]=d+8;g=d+-8|0;d=a+38|0;h=(b[d>>1]|0)+1<<16>>16;b[d>>1]=h;if((h&65535)>199){if(h<<16>>16==200)$b(a,40064,e);if((h&65535)>224)Zb(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(dc(a,g,1)|0))ec(a);b[h>>1]=(b[h>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Zb(a,2)}function dc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,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;h=Ca;Ca=Ca+144|0;i=h+32|0;j=h+24|0;k=h+16|0;l=h+8|0;m=h;n=h+36|0;o=e+28|0;p=c[o>>2]|0;q=f;r=q-p|0;s=c[f+4>>2]|0;switch(s&63){case 22:{t=f;break}case 38:{t=(c[f>>2]|0)+12|0;break}case 6:{u=c[(c[f>>2]|0)+12>>2]|0;v=e+8|0;w=c[v>>2]|0;x=w-q>>3;q=x+-1|0;y=e+24|0;z=u+78|0;A=d[z>>0]|0;do if(((c[y>>2]|0)-w>>3|0)<=(A|0)){B=c[e+32>>2]|0;if((B|0)>1e6)Zb(e,6);C=(w-p>>3)+5+A|0;D=B<<1;B=(D|0)<1e6?D:1e6;D=(B|0)<(C|0)?C:B;if((D|0)>1e6){_b(e,1000200);$b(e,40049,l)}else{_b(e,D);break}}while(0);l=a[u+76>>0]|0;A=l&255;if((x|0)>(A|0))E=q;else{x=q;q=c[v>>2]|0;do{w=q;q=q+8|0;c[w+4>>2]=0;x=x+1|0}while((x|0)<(A|0));c[v>>2]=q;E=x}if(!(a[u+77>>0]|0)){x=(c[o>>2]|0)+r|0;F=x+8|0;G=x}else{x=c[v>>2]|0;q=d[z>>0]|0;do if(((c[y>>2]|0)-x>>3|0)<=(q|0)){w=c[e+32>>2]|0;if((w|0)>1e6)Zb(e,6);D=q+5+(x-(c[o>>2]|0)>>3)|0;B=w<<1;w=(B|0)<1e6?B:1e6;B=(w|0)<(D|0)?D:w;if((B|0)>1e6){_b(e,1000200);$b(e,40049,k)}else{_b(e,B);H=c[v>>2]|0;break}}else H=x;while(0);x=0-E|0;E=H+(x<<3)|0;if(l<<24>>24?(c[v>>2]=H+8,c[H>>2]=c[E>>2],k=H+(x<<3)+4|0,c[H+4>>2]=c[k>>2],c[k>>2]=0,l<<24>>24!=1):0){l=1;do{k=c[v>>2]|0;x=E+(l<<3)|0;c[v>>2]=k+8;c[k>>2]=c[x>>2];q=x+4|0;c[k+4>>2]=c[q>>2];c[q>>2]=0;l=l+1|0}while((l|0)!=(A|0))}F=H;G=(c[o>>2]|0)+r|0}H=e+16|0;A=c[(c[H>>2]|0)+12>>2]|0;l=e+12|0;if(!A){E=c[l>>2]|0;q=E+4|0;k=Ja[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!k){if(!(a[E+51>>0]|0))Zb(e,4);ic(e,1);x=Ja[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!x)Zb(e,4);else I=x}else I=k;k=E+12|0;c[k>>2]=(c[k>>2]|0)+40;k=c[H>>2]|0;c[k+12>>2]=I;c[I+8>>2]=k;c[I+12>>2]=0;J=I}else J=A;c[H>>2]=J;b[J+16>>1]=g;c[J>>2]=G;c[J+24>>2]=F;G=F+(d[z>>0]<<3)|0;c[J+4>>2]=G;z=J+28|0;c[z>>2]=c[u+12>>2];u=J+18|0;a[u>>0]=1;c[v>>2]=G;G=c[l>>2]|0;l=G+12|0;F=c[l>>2]|0;do if((F|0)>0)if(!(a[G+51>>0]|0)){A=G+8|0;c[A>>2]=F+1600+(c[A>>2]|0);c[l>>2]=-1600;break}else{mc(e);break}while(0);if(!(a[e+40>>0]&1)){K=0;Ca=h;return K|0}l=(c[z>>2]|0)+4|0;c[z>>2]=l;F=c[J+8>>2]|0;if((a[F+18>>0]&1)!=0?(c[(c[F+28>>2]|0)+-4>>2]&63|0)==30:0){a[u>>0]=a[u>>0]|64;L=4}else L=0;u=c[e+52>>2]|0;if((u|0)!=0?(F=e+41|0,(a[F>>0]|0)!=0):0){J=c[H>>2]|0;H=c[v>>2]|0;G=c[o>>2]|0;A=H-G|0;I=J+4|0;k=(c[I>>2]|0)-G|0;c[n>>2]=L;c[n+20>>2]=-1;c[n+96>>2]=J;L=H;do if(((c[y>>2]|0)-H|0)<168){G=c[e+32>>2]|0;if((G|0)>1e6)Zb(e,6);E=(A>>3)+25|0;x=G<<1;G=(x|0)<1e6?x:1e6;x=(G|0)<(E|0)?E:G;if((x|0)>1e6){_b(e,1000200);$b(e,40049,j)}else{_b(e,x);M=c[v>>2]|0;break}}else M=L;while(0);c[I>>2]=M+160;a[F>>0]=0;M=J+18|0;a[M>>0]=a[M>>0]|2;Ma[u&7](e,n);a[F>>0]=1;F=c[o>>2]|0;c[I>>2]=F+k;c[v>>2]=F+A;a[M>>0]=a[M>>0]&-3;N=c[z>>2]|0}else N=l;c[z>>2]=N+-4;K=0;Ca=h;return K|0}default:{switch(s&15){case 5:{O=(c[f>>2]|0)+8|0;break}case 7:{O=(c[f>>2]|0)+8|0;break}default:O=(c[e+12>>2]|0)+224+((s&15)<<2)|0}s=c[O>>2]|0;a:do if(!s)P=4209132;else{O=c[(c[e+12>>2]|0)+220>>2]|0;N=(c[s+16>>2]|0)+(((1<>0])+-1&c[O+8>>2])*20|0)|0;while(1){if((c[N+12>>2]|0)==68?(c[N+8>>2]|0)==(O|0):0)break;z=c[N+16>>2]|0;if(!z){P=4209132;break a}else N=z}P=N}while(0);s=P+4|0;if((c[s>>2]&15|0)!=6)Ec(e,f,40565);O=e+8|0;z=c[O>>2]|0;if(z>>>0>f>>>0){l=z;do{M=l;l=l+-8|0;c[M>>2]=c[l>>2];c[M+4>>2]=c[M+-4>>2]}while(l>>>0>f>>>0);Q=c[O>>2]|0}else Q=z;z=Q+8|0;c[O>>2]=z;O=z;do if(((c[e+24>>2]|0)-O|0)<8){z=c[e+32>>2]|0;if((z|0)>1e6)Zb(e,6);Q=(O-(c[o>>2]|0)>>3)+5|0;f=z<<1;z=(f|0)<1e6?f:1e6;f=(z|0)<(Q|0)?Q:z;if((f|0)>1e6){_b(e,1000200);$b(e,40049,i)}else{_b(e,f);break}}while(0);i=(c[o>>2]|0)+r|0;c[i>>2]=c[P>>2];c[i+4>>2]=c[s>>2];K=dc(e,i,g)|0;Ca=h;return K|0}}i=c[t>>2]|0;t=e+8|0;s=c[t>>2]|0;do if(((c[e+24>>2]|0)-s|0)<168){P=c[e+32>>2]|0;if((P|0)>1e6)Zb(e,6);O=(s-p>>3)+25|0;f=P<<1;P=(f|0)<1e6?f:1e6;f=(P|0)<(O|0)?O:P;if((f|0)>1e6){_b(e,1000200);$b(e,40049,m)}else{_b(e,f);break}}while(0);m=e+16|0;p=c[(c[m>>2]|0)+12>>2]|0;s=e+12|0;if(!p){f=c[s>>2]|0;P=f+4|0;O=Ja[c[f>>2]&1](c[P>>2]|0,0,0,40)|0;if(!O){if(!(a[f+51>>0]|0))Zb(e,4);ic(e,1);z=Ja[c[f>>2]&1](c[P>>2]|0,0,0,40)|0;if(!z)Zb(e,4);else R=z}else R=O;O=f+12|0;c[O>>2]=(c[O>>2]|0)+40;O=c[m>>2]|0;c[O+12>>2]=R;c[R+8>>2]=O;c[R+12>>2]=0;S=R}else S=p;c[m>>2]=S;b[S+16>>1]=g;c[S>>2]=(c[o>>2]|0)+r;c[S+4>>2]=(c[t>>2]|0)+160;a[S+18>>0]=0;S=c[s>>2]|0;s=S+12|0;r=c[s>>2]|0;do if((r|0)>0)if(!(a[S+51>>0]|0)){o=S+8|0;c[o>>2]=r+1600+(c[o>>2]|0);c[s>>2]=-1600;break}else{mc(e);break}while(0);if(a[e+40>>0]&1)uc(e,0,-1);s=Ga[i&127](e)|0;Wc(e,(c[t>>2]|0)+(0-s<<3)|0)|0;K=1;Ca=h;return K|0}function ec(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ka=0,La=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0;f=Ca;Ca=Ca+160|0;g=f+56|0;h=f+48|0;i=f+40|0;j=f+32|0;k=f+24|0;l=f+16|0;m=f+8|0;n=f;o=f+60|0;p=e+16|0;q=e+40|0;r=e+48|0;s=e+12|0;t=e+8|0;u=e+38|0;v=e+24|0;w=e+44|0;x=e+32|0;y=e+28|0;z=e+52|0;A=e+20|0;B=o+4|0;C=e+41|0;D=e+6|0;E=o+20|0;F=o+96|0;G=o+20|0;H=o+96|0;I=c[p>>2]|0;a:while(1){J=c[c[I>>2]>>2]|0;K=J+12|0;L=c[(c[K>>2]|0)+8>>2]|0;M=I+24|0;N=I+28|0;O=I+4|0;P=I+4|0;Q=I+4|0;R=I+4|0;S=I+4|0;T=I+4|0;U=I+4|0;V=c[I+24>>2]|0;b:while(1){W=c[N>>2]|0;c[N>>2]=W+4;X=c[W>>2]|0;W=a[q>>0]|0;if((W&12)!=0?(Y=(c[r>>2]|0)+-1|0,c[r>>2]=Y,Z=(Y|0)!=0,!((W&4)==0&Z)):0){_=c[p>>2]|0;Y=W&255;if((Y&8|0)==0|Z)$=0;else{c[r>>2]=c[w>>2];$=1}aa=_+18|0;Z=a[aa>>0]|0;W=Z&255;if(!(W&128)){if(($?(ba=c[z>>2]|0,ba|0):0)?a[C>>0]|0:0){ca=c[t>>2]|0;da=c[y>>2]|0;ea=ca-da|0;fa=_+4|0;ga=(c[fa>>2]|0)-da|0;c[o>>2]=3;c[E>>2]=-1;c[F>>2]=_;da=ca;if(((c[v>>2]|0)-ca|0)<168){ca=c[x>>2]|0;if((ca|0)>1e6){ha=14;break a}ia=(ea>>3)+25|0;ja=ca<<1;ca=(ja|0)<1e6?ja:1e6;ja=(ca|0)<(ia|0)?ia:ca;if((ja|0)>1e6){ha=16;break a}_b(e,ja);ka=c[t>>2]|0;la=a[aa>>0]|0}else{ka=da;la=Z}c[fa>>2]=ka+160;a[C>>0]=0;a[aa>>0]=la|2;Ma[ba&7](e,o);a[C>>0]=1;ba=c[y>>2]|0;c[fa>>2]=ba+ga;c[t>>2]=ba+ea;a[aa>>0]=a[aa>>0]&-3}do if(Y&4){ea=c[(c[c[_>>2]>>2]|0)+12>>2]|0;ba=_+28|0;ga=c[ba>>2]|0;fa=c[ea+12>>2]|0;Z=(ga-fa>>2)+-1|0;da=c[ea+20>>2]|0;ea=(da|0)==0;if(ea)ma=0;else ma=c[da+(Z<<2)>>2]|0;if(Z|0?(Z=c[A>>2]|0,Z>>>0>>0):0){if(ea)na=0;else na=c[da+((Z-fa>>2)+-1<<2)>>2]|0;if((ma|0)==(na|0)){oa=ba;pa=ba;break}}fa=c[z>>2]|0;if((fa|0)!=0?(a[C>>0]|0)!=0:0){Z=c[p>>2]|0;da=c[t>>2]|0;ea=c[y>>2]|0;ga=da-ea|0;ja=Z+4|0;ca=(c[ja>>2]|0)-ea|0;c[o>>2]=2;c[G>>2]=ma;c[H>>2]=Z;ea=da;if(((c[v>>2]|0)-da|0)<168){da=c[x>>2]|0;if((da|0)>1e6){ha=32;break a}ia=(ga>>3)+25|0;qa=da<<1;da=(qa|0)<1e6?qa:1e6;qa=(da|0)<(ia|0)?ia:da;if((qa|0)>1e6){ha=34;break a}_b(e,qa);ra=c[t>>2]|0}else ra=ea;c[ja>>2]=ra+160;a[C>>0]=0;ea=Z+18|0;a[ea>>0]=a[ea>>0]|2;Ma[fa&7](e,o);a[C>>0]=1;fa=c[y>>2]|0;c[ja>>2]=fa+ca;c[t>>2]=fa+ga;a[ea>>0]=a[ea>>0]&-3;oa=ba;pa=ba}else{oa=ba;pa=ba}}else{ba=_+28|0;oa=ba;pa=ba}while(0);c[A>>2]=c[pa>>2];if((a[D>>0]|0)==1){ha=38;break a}}else a[aa>>0]=W&127;sa=c[M>>2]|0}else sa=V;Y=X>>>6&255;ta=sa+(Y<<3)|0;c:do switch(X&63){case 31:{ha=212;break b;break}case 0:{ba=X>>>23;c[ta>>2]=c[sa+(ba<<3)>>2];c[sa+(Y<<3)+4>>2]=c[sa+(ba<<3)+4>>2];ua=sa;break}case 1:{ba=X>>>14;c[ta>>2]=c[L+(ba<<3)>>2];c[sa+(Y<<3)+4>>2]=c[L+(ba<<3)+4>>2];ua=sa;break}case 2:{ba=c[N>>2]|0;c[N>>2]=ba+4;ea=(c[ba>>2]|0)>>>6;c[ta>>2]=c[L+(ea<<3)>>2];c[sa+(Y<<3)+4>>2]=c[L+(ea<<3)+4>>2];ua=sa;break}case 3:{c[ta>>2]=X>>>23;c[sa+(Y<<3)+4>>2]=1;if(!(X&8372224))ua=sa;else{c[N>>2]=(c[N>>2]|0)+4;ua=sa}break}case 4:{ea=ta;ba=X>>>23;while(1){c[ea+4>>2]=0;if(!ba){ua=sa;break}else{ea=ea+8|0;ba=ba+-1|0}}break}case 5:{ba=c[(c[J+16+(X>>>23<<2)>>2]|0)+8>>2]|0;c[ta>>2]=c[ba>>2];c[sa+(Y<<3)+4>>2]=c[ba+4>>2];ua=sa;break}case 6:{ba=X>>>14;fc(e,c[(c[J+16+(X>>>23<<2)>>2]|0)+8>>2]|0,(X&4194304|0)==0?sa+((ba&511)<<3)|0:L+((ba&255)<<3)|0,ta);ua=c[M>>2]|0;break}case 7:{ba=X>>>14;fc(e,sa+(X>>>23<<3)|0,(X&4194304|0)==0?sa+((ba&511)<<3)|0:L+((ba&255)<<3)|0,ta);ua=c[M>>2]|0;break}case 8:{ba=X>>>23;ea=X>>>14;gc(e,c[(c[J+16+(Y<<2)>>2]|0)+8>>2]|0,(X|0)<0?L+((ba&255)<<3)|0:sa+(ba<<3)|0,(X&4194304|0)==0?sa+((ea&511)<<3)|0:L+((ea&255)<<3)|0);ua=c[M>>2]|0;break}case 9:{ea=c[J+16+(X>>>23<<2)>>2]|0;ba=c[ea+8>>2]|0;c[ba>>2]=c[ta>>2];ga=sa+(Y<<3)+4|0;c[ba+4>>2]=c[ga>>2];if(((c[ga>>2]&64|0)!=0?(ga=c[ta>>2]|0,(a[ga+5>>0]&3)!=0):0)?(ba=ea+5|0,ea=a[ba>>0]|0,(ea&4)!=0):0){fa=c[s>>2]|0;if((d[fa+49>>0]|0)<2){hc(fa,ga);ua=sa;break c}else{a[ba>>0]=a[fa+48>>0]&3|ea&-72;ua=sa;break c}}else ua=sa;break}case 10:{ea=X>>>23;fa=X>>>14;gc(e,ta,(X|0)<0?L+((ea&255)<<3)|0:sa+(ea<<3)|0,(X&4194304|0)==0?sa+((fa&511)<<3)|0:L+((fa&255)<<3)|0);ua=c[M>>2]|0;break}case 11:{fa=X>>>23;ea=X>>>14;ba=ea&511;ga=c[s>>2]|0;ca=ga+4|0;ja=Ja[c[ga>>2]&1](c[ca>>2]|0,0,5,32)|0;if(!ja){if(!(a[ga+51>>0]|0)){ha=64;break a}ic(e,1);Z=Ja[c[ga>>2]&1](c[ca>>2]|0,0,5,32)|0;if(!Z){ha=64;break a}else va=Z}else va=ja;ja=ga+12|0;c[ja>>2]=(c[ja>>2]|0)+32;ja=ga+56|0;a[va+5>>0]=a[ga+48>>0]&3;a[va+4>>0]=5;c[va>>2]=c[ja>>2];c[ja>>2]=va;c[va+8>>2]=0;a[va+6>>0]=-1;ja=va+12|0;c[ja>>2]=0;ga=va+28|0;c[ga>>2]=0;Z=va+16|0;c[Z>>2]=4209148;ca=va+7|0;a[ca>>0]=0;qa=va+20|0;c[qa>>2]=4209148;c[ta>>2]=va;c[sa+(Y<<3)+4>>2]=69;if(ba|fa|0){da=X>>>26&31;ia=(da|0)==0?fa:(fa&7|8)<>>17&31;fa=(da|0)==0?ba:(ea&7|8)<>2]|0;ea=a[ca>>0]|0;ba=ea&255;wa=c[Z>>2]|0;if((da|0)<(ia|0)){if((ia+1|0)>>>0>536870911){ha=68;break a}xa=c[ja>>2]|0;ya=da<<3;da=ia<<3;za=c[s>>2]|0;Aa=(xa|0)==0;Ba=za+4|0;Da=Ja[c[za>>2]&1](c[Ba>>2]|0,xa,ya,da)|0;if((da|0)!=0&(Da|0)==0){if(!(a[za+51>>0]|0)){ha=72;break a}ic(e,1);Ea=Ja[c[za>>2]&1](c[Ba>>2]|0,xa,ya,da)|0;if(!Ea){ha=72;break a}else Fa=Ea}else Fa=Da;Da=za+12|0;c[Da>>2]=(Aa?0:0-ya|0)+da+(c[Da>>2]|0);c[ja>>2]=Fa;ja=c[ga>>2]|0;if((ja|0)<(ia|0)){Da=ja;do{c[Fa+(Da<<3)+4>>2]=0;Da=Da+1|0}while((Da|0)!=(ia|0))}c[ga>>2]=ia}if(!fa){c[Z>>2]=4209148;Ga=0;Ha=0;Ia=4209148}else{Da=fa+-1|0;if(Da>>>0>255){ja=Da;da=0;while(1){ya=da+8|0;Aa=ja>>>8;if(ja>>>0>65535){ja=Aa;da=ya}else{Ka=ya;La=Aa;break}}}else{Ka=0;La=Da}da=Ka+(d[384+La>>0]|0)|0;if((da|0)>30){ha=83;break a}ja=1<>>0>214748364){ha=85;break a}fa=20<>2]|0;ga=ia+4|0;Aa=Ja[c[ia>>2]&1](c[ga>>2]|0,0,0,fa)|0;if(da>>>0<30&(Aa|0)==0){if(!(a[ia+51>>0]|0)){ha=89;break a}ic(e,1);ya=Ja[c[ia>>2]&1](c[ga>>2]|0,0,0,fa)|0;if(!ya){ha=89;break a}else Na=ya}else Na=Aa;Aa=ia+12|0;c[Aa>>2]=(c[Aa>>2]|0)+fa;c[Z>>2]=Na;fa=0;Aa=Na;do{c[Aa+(fa*20|0)+16>>2]=0;c[Aa+(fa*20|0)+12>>2]=0;c[Aa+(fa*20|0)+4>>2]=0;fa=fa+1|0;Aa=c[Z>>2]|0}while((fa|0)<(ja|0));Ga=ja;Ha=da&255;Ia=Aa}a[ca>>0]=Ha;c[qa>>2]=Ia+(Ga*20|0);if(ea<<24>>24!=31){fa=1<>2]|0){ia=wa+(fa*20|0)+8|0;ya=kc(va,ia)|0;if((ya|0)==4209132)Oa=lc(e,va,ia)|0;else Oa=ya;c[Oa>>2]=c[wa+(fa*20|0)>>2];c[Oa+4>>2]=c[Da>>2]}}while((Z|0)>1)}if((wa|0)!=4209148){fa=20<>2]|0;Ja[c[ea>>2]&1](c[ea+4>>2]|0,wa,fa,0)|0;qa=ea+12|0;c[qa>>2]=(c[qa>>2]|0)-((wa|0)==0?0:fa)}}fa=c[s>>2]|0;qa=fa+12|0;ea=c[qa>>2]|0;if((ea|0)>0){c[t>>2]=ta+8;if(!(a[fa+51>>0]|0)){ca=fa+8|0;c[ca>>2]=ea+1600+(c[ca>>2]|0);c[qa>>2]=-1600}else mc(e);c[t>>2]=c[T>>2]}ua=c[M>>2]|0;break}case 12:{qa=X>>>23;ca=sa+(qa<<3)|0;ea=ta+8|0;c[ea>>2]=c[ca>>2];c[ea+4>>2]=c[sa+(qa<<3)+4>>2];qa=X>>>14;fc(e,ca,(X&4194304|0)==0?sa+((qa&511)<<3)|0:L+((qa&255)<<3)|0,ta);ua=c[M>>2]|0;break}case 13:{qa=X>>>23;ca=(X|0)<0?L+((qa&255)<<3)|0:sa+(qa<<3)|0;qa=X>>>14;ea=(X&4194304|0)==0?sa+((qa&511)<<3)|0:L+((qa&255)<<3)|0;if((c[ca+4>>2]|0)==3?(c[ea+4>>2]|0)==3:0){c[ta>>2]=(c[ea>>2]|0)+(c[ca>>2]|0);c[sa+(Y<<3)+4>>2]=3;ua=sa;break c}nc(e,ta,ca,ea,6);ua=c[M>>2]|0;break}case 14:{ea=X>>>23;ca=(X|0)<0?L+((ea&255)<<3)|0:sa+(ea<<3)|0;ea=X>>>14;qa=(X&4194304|0)==0?sa+((ea&511)<<3)|0:L+((ea&255)<<3)|0;if((c[ca+4>>2]|0)==3?(c[qa+4>>2]|0)==3:0){c[ta>>2]=(c[ca>>2]|0)-(c[qa>>2]|0);c[sa+(Y<<3)+4>>2]=3;ua=sa;break c}nc(e,ta,ca,qa,7);ua=c[M>>2]|0;break}case 15:{qa=X>>>23;ca=(X|0)<0?L+((qa&255)<<3)|0:sa+(qa<<3)|0;qa=X>>>14;ea=(X&4194304|0)==0?sa+((qa&511)<<3)|0:L+((qa&255)<<3)|0;if((c[ca+4>>2]|0)==3?(c[ea+4>>2]|0)==3:0){c[ta>>2]=hj(c[ca>>2]|0,c[ea>>2]|0)|0;c[sa+(Y<<3)+4>>2]=3;ua=sa;break c}nc(e,ta,ca,ea,8);ua=c[M>>2]|0;break}case 16:{ea=X>>>23;ca=(X|0)<0?L+((ea&255)<<3)|0:sa+(ea<<3)|0;ea=X>>>14;qa=(X&4194304|0)==0?sa+((ea&511)<<3)|0:L+((ea&255)<<3)|0;if((c[ca+4>>2]|0)==3?(c[qa+4>>2]|0)==3:0){c[ta>>2]=ij(c[ca>>2]|0,c[qa>>2]|0)|0;c[sa+(Y<<3)+4>>2]=3;ua=sa;break c}nc(e,ta,ca,qa,9);ua=c[M>>2]|0;break}case 17:{qa=X>>>23;ca=(X|0)<0?L+((qa&255)<<3)|0:sa+(qa<<3)|0;qa=X>>>14;ea=(X&4194304|0)==0?sa+((qa&511)<<3)|0:L+((qa&255)<<3)|0;if((c[ca+4>>2]|0)==3?(c[ea+4>>2]|0)==3:0){c[ta>>2]=jj(c[ca>>2]|0,c[ea>>2]|0)|0;c[sa+(Y<<3)+4>>2]=3;ua=sa;break c}nc(e,ta,ca,ea,10);ua=c[M>>2]|0;break}case 18:{ea=X>>>23;ca=(X|0)<0?L+((ea&255)<<3)|0:sa+(ea<<3)|0;ea=X>>>14;qa=(X&4194304|0)==0?sa+((ea&511)<<3)|0:L+((ea&255)<<3)|0;if((c[ca+4>>2]|0)==3?(c[qa+4>>2]|0)==3:0){c[ta>>2]=kj(c[ca>>2]|0,c[qa>>2]|0)|0;c[sa+(Y<<3)+4>>2]=3;ua=sa;break c}nc(e,ta,ca,qa,11);ua=c[M>>2]|0;break}case 19:{qa=X>>>23;ca=sa+(qa<<3)|0;if((c[sa+(qa<<3)+4>>2]|0)==3){c[ta>>2]=0-(c[ca>>2]|0);c[sa+(Y<<3)+4>>2]=3;ua=sa;break c}else{nc(e,ta,ca,ca,12);ua=c[M>>2]|0;break c}break}case 20:{ca=X>>>23;switch(c[sa+(ca<<3)+4>>2]|0){case 0:{Pa=1;break}case 1:{Pa=(c[sa+(ca<<3)>>2]|0)==0;break}default:Pa=0}c[ta>>2]=Pa&1;c[sa+(Y<<3)+4>>2]=1;ua=sa;break}case 21:{oc(e,ta,sa+(X>>>23<<3)|0);ua=c[M>>2]|0;break}case 22:{ca=X>>>23;qa=X>>>14&511;c[t>>2]=sa+(qa<<3)+8;pc(e,1-ca+qa|0);qa=c[M>>2]|0;ea=qa+(Y<<3)|0;fa=qa+(ca<<3)|0;c[ea>>2]=c[fa>>2];c[qa+(Y<<3)+4>>2]=c[qa+(ca<<3)+4>>2];qa=c[s>>2]|0;Aa=qa+12|0;da=c[Aa>>2]|0;if((da|0)>0){c[t>>2]=Y>>>0>>0?fa:ea+8|0;if(!(a[qa+51>>0]|0)){ea=qa+8|0;c[ea>>2]=da+1600+(c[ea>>2]|0);c[Aa>>2]=-1600}else mc(e);Aa=c[P>>2]|0;c[t>>2]=Aa;Qa=Aa}else Qa=c[O>>2]|0;Aa=c[M>>2]|0;c[t>>2]=Qa;ua=Aa;break}case 23:{if(Y|0)qc(e,(c[M>>2]|0)+(Y<<3)+-8|0);c[N>>2]=(c[N>>2]|0)+((X>>>14)+-131071<<2);ua=sa;break}case 24:{Aa=X>>>23;ea=(X|0)<0?L+((Aa&255)<<3)|0:sa+(Aa<<3)|0;Aa=X>>>14;da=(X&4194304|0)==0?sa+((Aa&511)<<3)|0:L+((Aa&255)<<3)|0;if((c[ea+4>>2]|0)==(c[da+4>>2]|0))Ra=(rc(e,ea,da)|0)!=0;else Ra=0;da=c[N>>2]|0;if((Y|0)==(Ra&1|0)){ea=c[da>>2]|0;Aa=ea>>>6&255;if(!Aa)Sa=da;else{qc(e,(c[M>>2]|0)+(Aa<<3)+-8|0);Sa=c[N>>2]|0}Ta=Sa+((ea>>>14)+-131070<<2)|0}else Ta=da+4|0;c[N>>2]=Ta;ua=c[M>>2]|0;break}case 25:{da=X>>>23;ea=X>>>14;Aa=(sc(e,(X|0)<0?L+((da&255)<<3)|0:sa+(da<<3)|0,(X&4194304|0)==0?sa+((ea&511)<<3)|0:L+((ea&255)<<3)|0)|0)==(Y|0);ea=c[N>>2]|0;if(Aa){Aa=c[ea>>2]|0;da=Aa>>>6&255;if(!da)Ua=ea;else{qc(e,(c[M>>2]|0)+(da<<3)+-8|0);Ua=c[N>>2]|0}Va=Ua+((Aa>>>14)+-131070<<2)|0}else Va=ea+4|0;c[N>>2]=Va;ua=c[M>>2]|0;break}case 26:{ea=X>>>23;Aa=X>>>14;da=(tc(e,(X|0)<0?L+((ea&255)<<3)|0:sa+(ea<<3)|0,(X&4194304|0)==0?sa+((Aa&511)<<3)|0:L+((Aa&255)<<3)|0)|0)==(Y|0);Aa=c[N>>2]|0;if(da){da=c[Aa>>2]|0;ea=da>>>6&255;if(!ea)Wa=Aa;else{qc(e,(c[M>>2]|0)+(ea<<3)+-8|0);Wa=c[N>>2]|0}Xa=Wa+((da>>>14)+-131070<<2)|0}else Xa=Aa+4|0;c[N>>2]=Xa;ua=c[M>>2]|0;break}case 27:{Aa=c[sa+(Y<<3)+4>>2]|0;da=(Aa|0)==0;if(!(X&8372224)){if(!da)if(!((Aa|0)==1?!(c[ta>>2]|0):0))ha=178}else if(!da){if((Aa|0)==1?(c[ta>>2]|0)==0:0)ha=178}else ha=178;if((ha|0)==178){ha=0;c[N>>2]=(c[N>>2]|0)+4;ua=sa;break c}Aa=c[N>>2]|0;da=c[Aa>>2]|0;ea=da>>>6&255;if(!ea)Ya=Aa;else{qc(e,(c[M>>2]|0)+(ea<<3)+-8|0);Ya=c[N>>2]|0}c[N>>2]=Ya+((da>>>14)+-131070<<2);ua=sa;break}case 28:{da=X>>>23;ea=sa+(da<<3)|0;Aa=c[sa+(da<<3)+4>>2]|0;da=(Aa|0)==0;if(!(X&8372224))if(!da)if((Aa|0)==1?(c[ea>>2]|0)==0:0)ha=190;else ha=189;else ha=190;else if(!da)if((Aa|0)==1?(c[ea>>2]|0)==0:0)ha=189;else ha=190;else ha=189;if((ha|0)==189){ha=0;Za=(c[N>>2]|0)+4|0}else if((ha|0)==190){ha=0;c[ta>>2]=c[ea>>2];c[sa+(Y<<3)+4>>2]=Aa;Aa=c[N>>2]|0;ea=c[Aa>>2]|0;da=ea>>>6&255;if(!da)_a=Aa;else{qc(e,(c[M>>2]|0)+(da<<3)+-8|0);_a=c[N>>2]|0}Za=_a+((ea>>>14)+-131070<<2)|0}c[N>>2]=Za;ua=sa;break}case 29:{ea=X>>>23;da=X>>>14&511;if(ea|0)c[t>>2]=ta+(ea<<3);if(!(dc(e,ta,da+-1|0)|0)){ha=200;break b}if(da|0)c[t>>2]=c[R>>2];ua=c[M>>2]|0;break}case 30:{da=X>>>23;if(da|0)c[t>>2]=ta+(da<<3);if(!(dc(e,ta,-1)|0)){ha=205;break b}ua=c[M>>2]|0;break}case 32:{da=c[ta+16>>2]|0;ea=c[ta>>2]|0;Aa=ea+da|0;qa=c[ta+8>>2]|0;if((da|0)>0){if((Aa|0)>(qa|0)){ua=sa;break c}}else if((qa|0)>(Aa|0)){ua=sa;break c}if((ea|da|0)<0|(Aa|0)>0){c[N>>2]=(c[N>>2]|0)+((X>>>14)+-131071<<2);c[ta>>2]=Aa;c[sa+(Y<<3)+4>>2]=3;da=ta+24|0;c[da>>2]=Aa;c[da+4>>2]=3;ua=sa}else ua=sa;break}case 33:{da=ta+8|0;Aa=ta+16|0;ea=sa+(Y<<3)+4|0;qa=c[ea>>2]|0;if((qa|0)!=3){if((qa&15|0)!=4){ha=240;break a}qa=c[ta>>2]|0;if(!(vc(qa+16|0,c[qa+12>>2]|0,o)|0)){ha=240;break a}c[ta>>2]=c[o>>2];c[ea>>2]=3}qa=da+4|0;fa=c[qa>>2]|0;if((fa|0)!=3){if((fa&15|0)!=4){ha=245;break a}fa=c[da>>2]|0;if(!(vc(fa+16|0,c[fa+12>>2]|0,o)|0)){ha=245;break a}c[da>>2]=c[o>>2];c[qa>>2]=3}qa=Aa+4|0;da=c[qa>>2]|0;if((da|0)==3)$a=Aa;else{if((da&15|0)!=4){ha=251;break a}da=c[Aa>>2]|0;if(!(vc(da+16|0,c[da+12>>2]|0,o)|0)){ha=251;break a}c[Aa>>2]=c[o>>2];c[qa>>2]=3;$a=Aa}c[ta>>2]=(c[ta>>2]|0)-(c[$a>>2]|0);c[ea>>2]=3;c[N>>2]=(c[N>>2]|0)+((X>>>14)+-131071<<2);ua=sa;break}case 34:{ea=ta+24|0;Aa=ta+16|0;qa=ea+16|0;c[qa>>2]=c[Aa>>2];c[qa+4>>2]=c[Aa+4>>2];Aa=ta+8|0;qa=ea+8|0;c[qa>>2]=c[Aa>>2];c[qa+4>>2]=c[Aa+4>>2];c[ea>>2]=c[ta>>2];c[ea+4>>2]=c[sa+(Y<<3)+4>>2];c[t>>2]=ea+24;Aa=X>>>14&511;qa=(b[u>>1]|0)+1<<16>>16;b[u>>1]=qa;if((qa&65535)>199){if(qa<<16>>16==200){ha=255;break a}if((qa&65535)>224){ha=257;break a}}if(!(dc(e,ea,Aa)|0))ec(e);b[u>>1]=(b[u>>1]|0)+-1<<16>>16;Aa=c[M>>2]|0;c[t>>2]=c[Q>>2];ea=c[N>>2]|0;c[N>>2]=ea+4;qa=c[ea>>2]|0;ab=qa;bb=Aa;cb=Aa+((qa>>>6&255)<<3)|0;ha=261;break}case 35:{ab=X;bb=sa;cb=ta;ha=261;break}case 36:{qa=X>>>23;Aa=X>>>14&511;if(!qa)db=((c[t>>2]|0)-ta>>3)+-1|0;else db=qa;if(!Aa){qa=c[N>>2]|0;c[N>>2]=qa+4;eb=(c[qa>>2]|0)>>>6}else eb=Aa;Aa=c[ta>>2]|0;qa=db+-50+(eb*50|0)|0;ea=Aa+28|0;if((qa|0)>(c[ea>>2]|0)){if((c[Aa+16>>2]|0)==4209148)fb=0;else fb=1<>0];wc(e,Aa,qa,fb)}if((db|0)>0){da=Aa+12|0;fa=Aa+16|0;ca=Aa+7|0;ja=Aa+5|0;Z=Aa+24|0;Da=qa;qa=db;while(1){ya=ta+(qa<<3)|0;ia=Da;Da=Da+-1|0;d:do if(Da>>>0<(c[ea>>2]|0)>>>0){gb=(c[da>>2]|0)+(Da<<3)|0;ha=280}else{ga=ia<<16;za=0-ga|0;Ea=(c[fa>>2]|0)+(((((ga|0)<0?((ga|0)==(za|0)?0:za):ga)|0)%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[Ea+12>>2]|0)==3?(c[Ea+8>>2]|0)==(ga|0):0)break;za=c[Ea+16>>2]|0;if(!za){ha=281;break d}else Ea=za}gb=Ea;ha=280}while(0);if((ha|0)==280){ha=0;if((gb|0)==4209132)ha=281;else hb=gb}if((ha|0)==281){ha=0;c[o>>2]=ia;c[B>>2]=3;hb=lc(e,Aa,o)|0}c[hb>>2]=c[ya>>2];ga=ya+4|0;c[hb+4>>2]=c[ga>>2];if((c[ga>>2]&64|0?a[(c[ya>>2]|0)+5>>0]&3:0)?(ga=a[ja>>0]|0,ga&4):0){za=c[s>>2]|0;a[ja>>0]=ga&-5;ga=za+76|0;c[Z>>2]=c[ga>>2];c[ga>>2]=Aa}if((qa|0)<=1)break;else qa=qa+-1|0}}c[t>>2]=c[U>>2];ua=sa;break}case 37:{qa=c[(c[(c[K>>2]|0)+16>>2]|0)+(X>>>14<<2)>>2]|0;Aa=qa+32|0;Z=c[Aa>>2]|0;ja=c[qa+40>>2]|0;ca=c[qa+28>>2]|0;e:do if(!Z)ha=296;else{if((ja|0)>0){fa=Z+16|0;Da=0;do{da=d[ca+(Da<<3)+5>>0]|0;if(!(a[ca+(Da<<3)+4>>0]|0))ib=c[(c[J+16+(da<<2)>>2]|0)+8>>2]|0;else ib=sa+(da<<3)|0;if((c[(c[fa+(Da<<2)>>2]|0)+8>>2]|0)!=(ib|0)){ha=296;break e}Da=Da+1|0}while((Da|0)<(ja|0))}c[ta>>2]=Z;c[sa+(Y<<3)+4>>2]=70}while(0);if((ha|0)==296){ha=0;Z=xc(e,ja)|0;c[Z+12>>2]=qa;c[ta>>2]=Z;c[sa+(Y<<3)+4>>2]=70;if((ja|0)>0){Da=Z+16|0;fa=0;do{ya=d[ca+(fa<<3)+5>>0]|0;if(!(a[ca+(fa<<3)+4>>0]|0))c[Da+(fa<<2)>>2]=c[J+16+(ya<<2)>>2];else c[Da+(fa<<2)>>2]=yc(e,sa+(ya<<3)|0)|0;fa=fa+1|0}while((fa|0)!=(ja|0))}ja=qa+5|0;fa=a[ja>>0]|0;do if(fa&4){if(c[Aa>>2]|0){Da=c[s>>2]|0;a[ja>>0]=fa&-5;ca=Da+76|0;c[qa+72>>2]=c[ca>>2];c[ca>>2]=qa;break}if(a[Z+5>>0]&3){ca=c[s>>2]|0;if((d[ca+49>>0]|0)<2){hc(ca,Z);break}else{a[ja>>0]=a[ca+48>>0]&3|fa&-72;break}}}while(0);c[Aa>>2]=Z}fa=c[s>>2]|0;ja=fa+12|0;qa=c[ja>>2]|0;if((qa|0)>0){c[t>>2]=ta+8;if(!(a[fa+51>>0]|0)){ca=fa+8|0;c[ca>>2]=qa+1600+(c[ca>>2]|0);c[ja>>2]=-1600}else mc(e);c[t>>2]=c[S>>2]}ua=c[M>>2]|0;break}case 38:{ja=X>>>23;ca=ja+-1|0;qa=(sa-(c[I>>2]|0)>>3)-(d[(c[K>>2]|0)+76>>0]|0)|0;fa=qa+-1|0;if(!ja){ja=c[t>>2]|0;if(((c[v>>2]|0)-ja>>3|0)<(qa|0)){Da=c[x>>2]|0;if((Da|0)>1e6){ha=320;break a}ya=qa+4+(ja-(c[y>>2]|0)>>3)|0;ja=Da<<1;Da=(ja|0)<1e6?ja:1e6;ja=(Da|0)<(ya|0)?ya:Da;if((ja|0)>1e6){ha=322;break a}_b(e,ja)}ja=c[M>>2]|0;Da=ja+(Y<<3)|0;c[t>>2]=Da+(fa<<3);jb=fa;kb=ja;lb=Da}else{jb=ca;kb=sa;lb=ta}if((jb|0)>0){ca=kb+(1-qa<<3)|0;qa=0;do{if((qa|0)<(fa|0)){Da=ca+(qa<<3)|0;c[lb+(qa<<3)>>2]=c[Da>>2];mb=c[Da+4>>2]|0}else mb=0;c[lb+(qa<<3)+4>>2]=mb;qa=qa+1|0}while((qa|0)!=(jb|0));ua=kb}else ua=kb;break}default:ua=sa}while(0);if((ha|0)==261){ha=0;Y=c[cb+12>>2]|0;if(!Y)ua=bb;else{c[cb>>2]=c[cb+8>>2];c[cb+4>>2]=Y;c[N>>2]=(c[N>>2]|0)+((ab>>>14)+-131071<<2);ua=bb}}V=ua}if((ha|0)==200){ha=0;V=c[p>>2]|0;N=V+18|0;a[N>>0]=a[N>>0]|4;nb=V}else if((ha|0)==205){ha=0;V=c[p>>2]|0;N=c[V+8>>2]|0;M=c[V>>2]|0;S=c[N>>2]|0;J=V+24|0;U=(c[J>>2]|0)+(d[(c[(c[M>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[K>>2]|0)+56>>2]|0)>0)qc(e,c[N+24>>2]|0);if(M>>>0>>0){Q=0;R=M;do{c[S+(Q<<3)>>2]=c[R>>2];c[S+(Q<<3)+4>>2]=c[M+(Q<<3)+4>>2];Q=Q+1|0;R=M+(Q<<3)|0}while(R>>>0>>0)}U=M;c[N+24>>2]=S+((c[J>>2]|0)-U>>3<<3);R=S+((c[t>>2]|0)-U>>3<<3)|0;c[t>>2]=R;c[N+4>>2]=R;c[N+28>>2]=c[V+28>>2];R=N+18|0;a[R>>0]=a[R>>0]|64;c[p>>2]=N;nb=N}else if((ha|0)==212){ha=0;R=X>>>23;if(R|0)c[t>>2]=ta+(R<<3)+-8;if((c[(c[K>>2]|0)+56>>2]|0)>0)qc(e,sa);R=c[p>>2]|0;U=d[q>>0]|0;if(!(U&6)){ob=ta;pb=c[R+8>>2]|0}else{if(!(U&2))qb=ta;else{U=ta-(c[y>>2]|0)|0;uc(e,1,-1);qb=(c[y>>2]|0)+U|0}U=c[R+8>>2]|0;c[A>>2]=c[U+28>>2];ob=qb;pb=U}U=c[R>>2]|0;Q=b[R+16>>1]|0;c[p>>2]=pb;f:do if(Q<<16>>16){R=U;L=Q<<16>>16;O=ob;while(1){if(O>>>0>=(c[t>>2]|0)>>>0)break;P=R+8|0;c[R>>2]=c[O>>2];c[R+4>>2]=c[O+4>>2];T=L+-1|0;if(!T){rb=P;break f}else{R=P;L=T;O=O+8|0}}if((L|0)>0){O=R;T=L;while(1){P=O+8|0;c[O+4>>2]=0;if((T|0)>1){O=P;T=T+-1|0}else{rb=P;break}}}else rb=R}else rb=U;while(0);c[t>>2]=rb;if(!(a[I+18>>0]&4)){ha=331;break}U=c[p>>2]|0;if(Q<<16>>16==-1)nb=U;else{c[t>>2]=c[U+4>>2];nb=U}}I=nb}switch(ha|0){case 14:{Zb(e,6);break}case 16:{_b(e,1000200);$b(e,40049,n);break}case 32:{Zb(e,6);break}case 34:{_b(e,1000200);$b(e,40049,m);break}case 38:{if(!$){sb=c[oa>>2]|0;tb=sb+-4|0;c[oa>>2]=tb;ub=a[aa>>0]|0;vb=ub|-128;a[aa>>0]=vb;wb=c[t>>2]|0;xb=wb+-8|0;c[_>>2]=xb;Zb(e,1)}c[r>>2]=1;sb=c[oa>>2]|0;tb=sb+-4|0;c[oa>>2]=tb;ub=a[aa>>0]|0;vb=ub|-128;a[aa>>0]=vb;wb=c[t>>2]|0;xb=wb+-8|0;c[_>>2]=xb;Zb(e,1);break}case 64:{Zb(e,4);break}case 68:{jc(e);break}case 72:{Zb(e,4);break}case 83:{$b(e,40081,l);break}case 85:{jc(e);break}case 89:{Zb(e,4);break}case 240:{$b(e,40096,k);break}case 245:{$b(e,40133,j);break}case 251:{$b(e,40162,i);break}case 255:{$b(e,40064,h);break}case 257:{Zb(e,6);break}case 320:{Zb(e,6);break}case 322:{_b(e,1000200);$b(e,40049,g);break}case 331:{Ca=f;return}}}function fc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=Ca;Ca=Ca+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){f=c[m>>2]|0;p=kc(f,g)|0;if(c[p+4>>2]|0)break;q=c[f+8>>2]|0;if(!q)break;r=a[q+6>>0]|0;if(r&1)break;f=c[(c[l>>2]|0)+156>>2]|0;s=(c[q+16>>2]|0)+(((1<<(d[q+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[s+12>>2]|0)==68?(c[s+8>>2]|0)==(f|0):0){t=10;break}u=c[s+16>>2]|0;if(!u){v=4209132;break}else s=u}if((t|0)==10){t=0;v=s}f=v+4|0;u=c[f>>2]|0;if(!u){t=13;break}if(!v)break;else{w=v;x=f;y=u}}else{switch(o&15){case 5:{z=(c[m>>2]|0)+8|0;break}case 7:{z=(c[m>>2]|0)+8|0;break}default:z=(c[l>>2]|0)+224+((o&15)<<2)|0}u=c[z>>2]|0;a:do if(!u)A=4209132;else{f=c[(c[l>>2]|0)+156>>2]|0;B=(c[u+16>>2]|0)+(((1<<(d[u+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[B+12>>2]|0)==68?(c[B+8>>2]|0)==(f|0):0)break;C=c[B+16>>2]|0;if(!C){A=4209132;break a}else B=C}A=B}while(0);u=A+4|0;s=c[u>>2]|0;if(!s){t=27;break}else{w=A;x=u;y=s}}n=n+1|0;if((y&15|0)==6){t=29;break}if(n>>>0>=100){t=41;break}else{m=w;o=y}}if((t|0)==13)a[q+6>>0]=r|1;else if((t|0)==27)Ec(e,m,40525);else if((t|0)==29){r=e+28|0;q=h-(c[r>>2]|0)|0;y=e+8|0;o=c[y>>2]|0;c[y>>2]=o+8;c[o>>2]=c[w>>2];c[o+4>>2]=c[x>>2];x=c[y>>2]|0;c[y>>2]=x+8;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];m=c[y>>2]|0;c[y>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];g=(c[y>>2]|0)+-24|0;m=a[(c[e+16>>2]|0)+18>>0]&1;x=e+38|0;o=(b[x>>1]|0)+1<<16>>16;b[x>>1]=o;if((o&65535)>199){if(o<<16>>16==200)$b(e,40064,k);if((o&65535)>224)Zb(e,6)}o=m<<24>>24!=0;if(!o){m=e+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}if(!(dc(e,g,1)|0))ec(e);if(!o){o=e+36|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16}b[x>>1]=(b[x>>1]|0)+-1<<16>>16;x=(c[r>>2]|0)+q|0;q=c[y>>2]|0;r=q+-8|0;c[y>>2]=r;c[x>>2]=c[r>>2];c[x+4>>2]=c[q+-4>>2];Ca=i;return}else if((t|0)==41)$b(e,40548,j);c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];Ca=i;return}function gc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=Ca;Ca=Ca+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){p=c[m>>2]|0;q=kc(p,g)|0;if(c[q+4>>2]|0){r=17;break}s=c[p+8>>2]|0;if(!s){r=15;break}t=a[s+6>>0]|0;if(t&2){r=15;break}f=c[(c[l>>2]|0)+160>>2]|0;u=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[u+12>>2]|0)==68?(c[u+8>>2]|0)==(f|0):0){r=10;break}v=c[u+16>>2]|0;if(!v){w=4209132;break}else u=v}if((r|0)==10){r=0;w=u}f=w+4|0;v=c[f>>2]|0;if(!v){r=13;break}if(!w){r=15;break}else{x=w;y=f;z=v}}else{switch(o&15){case 5:{A=(c[m>>2]|0)+8|0;break}case 7:{A=(c[m>>2]|0)+8|0;break}default:A=(c[l>>2]|0)+224+((o&15)<<2)|0}v=c[A>>2]|0;a:do if(!v)B=4209132;else{f=c[(c[l>>2]|0)+160>>2]|0;C=(c[v+16>>2]|0)+(((1<<(d[v+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(f|0):0)break;D=c[C+16>>2]|0;if(!D){B=4209132;break a}else C=D}B=C}while(0);v=B+4|0;u=c[v>>2]|0;if(!u){r=33;break}else{x=B;y=v;z=u}}n=n+1|0;if((z&15|0)==6){r=35;break}if(n>>>0>=100){r=47;break}else{m=x;o=z}}if((r|0)==13){a[s+6>>0]=t|2;r=15}else if((r|0)==17){E=q;F=p}else if((r|0)==33)Ec(e,m,40525);else if((r|0)==35){t=e+8|0;s=c[t>>2]|0;c[t>>2]=s+8;c[s>>2]=c[x>>2];c[s+4>>2]=c[y>>2];y=c[t>>2]|0;c[t>>2]=y+8;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];m=(c[t>>2]|0)+-32|0;t=a[(c[e+16>>2]|0)+18>>0]&1;y=e+38|0;s=(b[y>>1]|0)+1<<16>>16;b[y>>1]=s;if((s&65535)>199){if(s<<16>>16==200)$b(e,40064,k);if((s&65535)>224)Zb(e,6)}s=t<<24>>24!=0;if(!s){t=e+36|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}if(!(dc(e,m,0)|0))ec(e);if(!s){s=e+36|0;b[s>>1]=(b[s>>1]|0)+-1<<16>>16}b[y>>1]=(b[y>>1]|0)+-1<<16>>16;Ca=i;return}else if((r|0)==47)$b(e,40531,j);if((r|0)==15)if((q|0)==4209132){E=lc(e,p,g)|0;F=p}else{E=q;F=p}c[E>>2]=c[h>>2];q=h+4|0;c[E+4>>2]=c[q>>2];a[F+6>>0]=0;if(!(c[q>>2]&64)){Ca=i;return}if(!(a[(c[h>>2]|0)+5>>0]&3)){Ca=i;return}h=p+5|0;q=a[h>>0]|0;if(!(q&4)){Ca=i;return}F=c[l>>2]|0;a[h>>0]=q&-5;q=F+76|0;c[p+24>>2]=c[q>>2];c[q>>2]=p;Ca=i;return}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=d+5|0;a[e>>0]=a[e>>0]&-4;switch(a[d+4>>0]|0){case 20:case 4:{f=(c[d+12>>2]|0)+17|0;break}case 7:{g=c[d+8>>2]|0;if(g|0?a[g+5>>0]&3:0)hc(b,g);g=c[d+12>>2]|0;if(g|0?a[g+5>>0]&3:0)hc(b,g);f=(c[d+16>>2]|0)+24|0;break}case 10:{g=d+8|0;h=c[g>>2]|0;if((c[h+4>>2]&64|0)!=0?(i=c[h>>2]|0,(a[i+5>>0]&3)!=0):0){hc(b,i);j=c[g>>2]|0}else j=h;if((j|0)==(d+12|0))f=20;else return;break}case 6:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 38:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 5:{j=b+72|0;c[d+24>>2]=c[j>>2];c[j>>2]=d;return}case 8:{j=b+72|0;c[d+60>>2]=c[j>>2];c[j>>2]=d;return}case 9:{j=b+72|0;c[d+72>>2]=c[j>>2];c[j>>2]=d;return}default:return}a[e>>0]=a[e>>0]|4;e=b+16|0;c[e>>2]=(c[e>>2]|0)+f;return}function ic(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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=b+12|0;g=c[f>>2]|0;h=g+50|0;i=a[h>>0]|0;j=(e|0)!=0;if(!j){a[h>>0]=0;e=g+92|0;k=c[e>>2]|0;if(k){l=k;do{k=l+5|0;a[k>>0]=a[k>>0]&-65;k=c[f>>2]|0;m=k+92|0;n=c[m>>2]|0;c[m>>2]=c[n>>2];m=k+56|0;c[n>>2]=c[m>>2];c[m>>2]=n;m=n+5|0;n=a[m>>0]|0;a[m>>0]=n&-17;if((d[k+49>>0]|0)>=2)a[m>>0]=a[k+48>>0]&3|n&-88;l=c[e>>2]|0}while((l|0)!=0);if((a[h>>0]|0)==2)o=10;else o=9}else o=9}else{a[h>>0]=1;o=9}if((o|0)==9?(d[g+49>>0]|0)<2:0)o=10;if((o|0)==10){o=c[f>>2]|0;a[o+49>>0]=2;c[o+52>>2]=0;l=o+60|0;e=d[o+48>>0]|0;n=(a[o+50>>0]|0)==2;k=c[l>>2]|0;a:do if(!k)p=0;else{m=n?64:0;q=n?64:e&3;r=n?255:184;s=e;t=k;while(1){u=s^3;v=l;w=1;x=t;while(1){if(!w)break;w=w+-1|0;y=x+5|0;A=d[y>>0]|0;if(!((A^3)&u)){c[v>>2]=c[x>>2];Nc(b,x);B=v}else{if(m&A|0){p=0;break a}if((a[x+4>>0]|0)==8)Oc(b,x);a[y>>0]=r&A|q;B=x}x=c[B>>2]|0;if(!x){p=0;break a}else v=B}if((v|0)!=(l|0)){p=v;break a}x=c[f>>2]|0;u=d[x+48>>0]|0;w=(a[x+50>>0]|0)==2;t=c[l>>2]|0;if(!t){p=0;break}else{m=w?64:0;q=w?64:u&3;r=w?255:184;s=u}}}while(0);c[o+68>>2]=p;p=o+56|0;b:while(1){l=c[f>>2]|0;B=d[l+48>>0]|0;k=B^3;e=(a[l+50>>0]|0)==2;l=e?255:184;n=e?64:B&3;B=e?64:0;e=c[p>>2]|0;if(!e){C=0;break}s=p;r=1;q=e;while(1){if(!r)break;r=r+-1|0;e=q+5|0;m=d[e>>0]|0;if(!((m^3)&k)){c[s>>2]=c[q>>2];Nc(b,q);D=s}else{if(B&m|0){C=0;break b}if((a[q+4>>0]|0)==8)Oc(b,q);a[e>>0]=l&m|n;D=q}q=c[D>>2]|0;if(!q){C=0;break b}else s=D}if((s|0)!=(p|0)){C=s;break}}c[o+64>>2]=C}C=(c[f>>2]|0)+49|0;if((a[C>>0]|0)==5){E=C;F=5}else{do Hc(b)|0;while((a[C>>0]|0)!=5);C=(c[f>>2]|0)+49|0;E=C;F=a[C>>0]|0}if(!(1<<(F&255)&-33)){do Hc(b)|0;while(!(1<>0]&-33|0));C=(c[f>>2]|0)+49|0;G=C;H=a[C>>0]|0}else{G=E;H=F}if(H<<24>>24!=5)do Hc(b)|0;while((a[G>>0]|0)!=5);if(i<<24>>24==2?(G=(c[f>>2]|0)+49|0,a[G>>0]|0):0)do Hc(b)|0;while((a[G>>0]|0)!=0);a[h>>0]=i;i=g+8|0;h=g+12|0;G=(c[h>>2]|0)+(c[i>>2]|0)|0;b=(G|0)/100|0;H=c[g+128>>2]|0;g=z(b,0-H|0)|0;F=(H|0)<(2147483644/(b|0)|0|0)?g:-2147483644;c[i>>2]=0-F;c[h>>2]=F+G;if(j)return;j=(c[f>>2]|0)+92|0;G=c[j>>2]|0;if(!G)return;F=G;do{G=F+5|0;a[G>>0]=a[G>>0]&-65;G=c[f>>2]|0;h=G+92|0;i=c[h>>2]|0;c[h>>2]=c[i>>2];h=G+56|0;c[i>>2]=c[h>>2];c[h>>2]=i;h=i+5|0;i=a[h>>0]|0;a[h>>0]=i&-17;if((d[G+49>>0]|0)>=2)a[h>>0]=a[G+48>>0]&3|i&-88;F=c[j>>2]|0}while((F|0)!=0);return}function jc(a){a=a|0;var b=0;b=Ca;Ca=Ca+16|0;$b(a,40486,b)}function kc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+4|0;f=c[e>>2]|0;switch(f&63){case 4:{g=c[b>>2]|0;h=(c[a+16>>2]|0)+(((1<<(d[a+7>>0]|0))+-1&c[g+8>>2])*20|0)|0;while(1){if((c[h+12>>2]|0)==68?(c[h+8>>2]|0)==(g|0):0)break;i=c[h+16>>2]|0;if(!i){j=4209132;k=21;break}else h=i}if((k|0)==21)return j|0;j=h;return j|0}case 3:{h=c[b>>2]|0;if((f|0)==3?!(h>>>0>4294901759|((h&65535|0)!=0|(h+-65536|0)>>>0>2147352576)):0){f=(h>>>16)+-1|0;if(f>>>0<(c[a+28>>2]|0)>>>0){j=(c[a+12>>2]|0)+(f<<3)|0;return j|0}f=h&-65536;h=0-f|0;g=(c[a+16>>2]|0)+(((((f|0)<0?((f|0)==(h|0)?0:h):f)|0)%((1<<(d[a+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==(f|0):0)break;h=c[g+16>>2]|0;if(!h){j=4209132;k=21;break}else g=h}if((k|0)==21)return j|0;j=g;return j|0}break}case 0:{j=4209132;return j|0}default:{}}g=Vc(a,b)|0;while(1){if((c[g+12>>2]|0)==(c[e>>2]|0)?rc(0,g+8|0,b)|0:0)break;a=c[g+16>>2]|0;if(!a){j=4209132;k=21;break}else g=a}if((k|0)==21)return j|0;j=g;return j|0}function lc(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,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;g=Ca;Ca=Ca+144|0;h=g;i=f+4|0;if(!(c[i>>2]|0))$b(b,40467,g+128|0);j=Vc(e,f)|0;k=j+4|0;a:do if((j|0)==4209148|(c[k>>2]|0)!=0){l=e+20|0;m=c[l>>2]|0;n=c[e+16>>2]|0;b:do if(m>>>0>n>>>0){o=m;while(1){p=o+-20|0;c[l>>2]=p;if(!(c[o+-8>>2]|0))break;if(p>>>0>n>>>0)o=p;else break b}q=Vc(e,j+8|0)|0;if((q|0)==(j|0)){r=j+16|0;c[o+-4>>2]=c[r>>2];c[r>>2]=p;s=p;break a}r=q;while(1){q=c[r+16>>2]|0;if((q|0)==(j|0))break;else r=q}c[r+16>>2]=p;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[j+16>>2]=0;c[k>>2]=0;s=j;break a}while(0);l=h;m=l+124|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=e+12|0;m=c[e+28>>2]|0;o=1;q=0;t=1;u=0;while(1){if((t|0)>(m|0))if((o|0)>(m|0)){v=q;break}else w=m;else w=t;if((o|0)>(w|0)){x=0;y=o}else{z=c[l>>2]|0;A=0;B=o;while(1){C=A+((c[z+(B+-1<<3)+4>>2]|0)!=0&1)|0;D=B+1|0;if((B|0)<(w|0)){A=C;B=D}else{x=C;y=D;break}}}B=h+(u<<2)|0;c[B>>2]=(c[B>>2]|0)+x;B=x+q|0;u=u+1|0;if(u>>>0>=31){v=B;break}else{o=y;q=B;t=t<<1}}t=0;q=0;o=1<<(d[e+7>>0]|0);while(1){o=o+-1|0;if(!(c[n+(o*20|0)+4>>2]|0)){E=q;F=t}else{if(((c[n+(o*20|0)+12>>2]|0)==3?(u=c[n+(o*20|0)+8>>2]|0,!((u&65535|0)!=0|(u+-65536|0)>>>0>2147352576)):0)?(l=(u>>>16)+-1|0,l>>>0<32767):0){if(l>>>0>255){u=l;m=0;while(1){B=m+8|0;A=u>>>8;if(u>>>0>65535){u=A;m=B}else{G=B;H=A;break}}}else{G=0;H=l}m=h+(G+(d[384+H>>0]|0)<<2)|0;c[m>>2]=(c[m>>2]|0)+1;I=1}else I=0;E=q+1|0;F=I+t|0}if(!o)break;else{t=F;q=E}}q=F+v|0;if(((c[i>>2]|0)==3?(t=c[f>>2]|0,!((t&65535|0)!=0|(t+-65536|0)>>>0>2147352576)):0)?(o=(t>>>16)+-1|0,o>>>0<32767):0){if(o>>>0>255){t=o;n=0;while(1){m=n+8|0;u=t>>>8;if(t>>>0>65535){t=u;n=m}else{J=m;K=u;break}}}else{J=0;K=o}n=h+(J+(d[384+K>>0]|0)<<2)|0;c[n>>2]=(c[n>>2]|0)+1;L=1}else L=0;n=q+L|0;c:do if((n|0)>0){t=0;u=0;m=1;A=0;B=0;z=0;while(1){r=c[h+(A<<2)>>2]|0;D=(r|0)>0;C=r+u|0;u=D?C:u;r=D&(C|0)>(z|0);D=r?C:t;C=r?m:B;if((u|0)==(n|0)){M=C;N=D;break c}z=m&2147483647;if((z|0)>=(n|0)){M=C;N=D;break}else{t=D;m=m<<1;A=A+1|0;B=C}}}else{M=0;N=0}while(0);wc(b,e,M,v+1+E-N|0);n=kc(e,f)|0;if((n|0)!=4209132){O=n;Ca=g;return O|0}O=lc(b,e,f)|0;Ca=g;return O|0}else s=j;while(0);c[s+8>>2]=c[f>>2];c[s+12>>2]=c[i>>2];if((c[i>>2]&64|0?a[(c[f>>2]|0)+5>>0]&3:0)?(f=e+5|0,i=a[f>>0]|0,i&4):0){j=c[b+12>>2]|0;a[f>>0]=i&-5;i=j+76|0;c[e+24>>2]=c[i>>2];c[i>>2]=e}O=s;Ca=g;return O|0}function mc(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=b+12|0;f=c[e>>2]|0;do if((a[f+50>>0]|0)==2){g=f+20|0;h=c[g>>2]|0;if(!h){ic(b,0);i=f+8|0;j=f+12|0;k=(c[j>>2]|0)+(c[i>>2]|0)|0;l=j;m=k;n=i;o=f+49|0;p=k}else{k=f+49|0;if((a[k>>0]|0)!=5)do Hc(b)|0;while((a[k>>0]|0)!=5);a[k>>0]=0;i=f+8|0;j=f+12|0;q=(c[j>>2]|0)+(c[i>>2]|0)|0;r=q>>>0>(z(c[f+132>>2]|0,(h>>>0)/100|0)|0)>>>0;l=j;m=q;n=i;o=k;p=r?0:h}c[g>>2]=p;r=(m|0)/100|0;i=c[f+128>>2]|0;q=z(r,0-i|0)|0;j=(i|0)<(2147483644/(r|0)|0|0)?q:-2147483644;c[n>>2]=0-j;c[l>>2]=j+m;s=o}else{j=f+12|0;q=c[f+136>>2]|0;r=(q|0)>40?q:40;q=((c[j>>2]|0)/200|0)+1|0;i=z(r,q)|0;t=f+49|0;u=(q|0)<(2147483644/(r>>>0)|0|0)?i:2147483644;do{u=u-(Hc(b)|0)|0;v=(a[t>>0]|0)==5;if((u|0)<=-1600){w=12;break}}while(!v);if((w|0)==12?!v:0){g=((u|0)/(r|0)|0)*200|0;h=f+8|0;c[h>>2]=(c[j>>2]|0)-g+(c[h>>2]|0);c[j>>2]=g;s=t;break}g=(c[f+20>>2]|0)/100|0;h=c[f+128>>2]|0;k=f+8|0;i=z(h,0-g|0)|0;q=(h|0)<(2147483644/(g|0)|0|0)?i:-2147483644;i=(c[j>>2]|0)+(c[k>>2]|0)+q|0;c[k>>2]=0-q;c[j>>2]=i;s=t}while(0);v=f+92|0;if(!(c[v>>2]|0))return;f=0;while(1){if(f>>>0>=4?(a[s>>0]|0)!=5:0){w=22;break}b=c[e>>2]|0;o=b+92|0;m=c[o>>2]|0;c[o>>2]=c[m>>2];o=b+56|0;c[m>>2]=c[o>>2];c[o>>2]=m;o=m+5|0;m=a[o>>0]|0;a[o>>0]=m&-17;if((d[b+49>>0]|0)>=2)a[o>>0]=a[b+48>>0]&3|m&-88;if(!(c[v>>2]|0)){w=22;break}else f=f+1|0}if((w|0)==22)return}function nc(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=Ca;Ca=Ca+16|0;h=g+8|0;i=g;j=c[d+4>>2]|0;do if((j|0)!=3){if((j&15|0)==4?(k=c[d>>2]|0,vc(k+16|0,c[k+12>>2]|0,h)|0):0){c[i>>2]=c[h>>2];c[i+4>>2]=3;l=i;m=6;break}}else{l=d;m=6}while(0);a:do if((m|0)==6){i=c[e+4>>2]|0;do if((i|0)==3)n=e;else{if((i&15|0)==4?(j=c[e>>2]|0,vc(j+16|0,c[j+12>>2]|0,h)|0):0){n=h;break}break a}while(0);i=c[n>>2]|0;j=c[l>>2]|0;switch(f|0){case 6:{o=i+j|0;break}case 7:{o=j-i|0;break}case 8:{o=hj(j,i)|0;break}case 9:{o=ij(j,i)|0;break}case 10:{o=jj(j,i)|0;break}case 11:{o=kj(j,i)|0;break}case 12:{o=0-j|0;break}default:o=0}c[b>>2]=o;c[b+4>>2]=3;Ca=g;return}while(0);if(!(zc(a,d,e,b,f)|0))Tc(a,d,e);else{Ca=g;return}}function oc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=Ca;Ca=Ca+16|0;i=h;j=g+4|0;k=c[j>>2]|0;a:do switch(k&15){case 5:{l=c[g>>2]|0;m=c[l+8>>2]|0;do if(m|0?(n=m+6|0,o=a[n>>0]|0,(o&16)==0):0){p=c[(c[e+12>>2]|0)+172>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[p+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(p|0):0){r=7;break}s=c[q+16>>2]|0;if(!s){t=4209132;break}else q=s}if((r|0)==7)t=q;p=t+4|0;if(c[p>>2]|0)if(!t)break;else{u=t;v=p;break a}else{a[n>>0]=o|16;break}}while(0);c[f>>2]=(Sc(l)|0)<<16;c[f+4>>2]=3;Ca=h;return}case 4:{c[f>>2]=c[(c[g>>2]|0)+12>>2]<<16;c[f+4>>2]=3;Ca=h;return}case 7:{w=(c[g>>2]|0)+8|0;r=16;break}default:{w=(c[e+12>>2]|0)+224+((k&15)<<2)|0;r=16}}while(0);if((r|0)==16){r=c[w>>2]|0;b:do if(!r)x=4209132;else{w=c[(c[e+12>>2]|0)+172>>2]|0;k=(c[r+16>>2]|0)+(((1<<(d[r+7>>0]|0))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(w|0):0)break;t=c[k+16>>2]|0;if(!t){x=4209132;break b}else k=t}x=k}while(0);r=x+4|0;if(!(c[r>>2]|0))Ec(e,g,40431);else{u=x;v=r}}r=e+28|0;x=f-(c[r>>2]|0)|0;f=e+8|0;w=c[f>>2]|0;c[f>>2]=w+8;c[w>>2]=c[u>>2];c[w+4>>2]=c[v>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];j=(c[f>>2]|0)+-24|0;v=a[(c[e+16>>2]|0)+18>>0]&1;g=e+38|0;w=(b[g>>1]|0)+1<<16>>16;b[g>>1]=w;if((w&65535)>199){if(w<<16>>16==200)$b(e,40064,i);if((w&65535)>224)Zb(e,6)}w=v<<24>>24!=0;if(!w){v=e+36|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}if(!(dc(e,j,1)|0))ec(e);if(!w){w=e+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}b[g>>1]=(b[g>>1]|0)+-1<<16>>16;g=(c[r>>2]|0)+x|0;x=c[f>>2]|0;r=x+-8|0;c[f>>2]=r;c[g>>2]=c[r>>2];c[g+4>>2]=c[x+-4>>2];Ca=h;return}function pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,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;e=Ca;Ca=Ca+48|0;f=e+32|0;g=e;h=b+8|0;i=b+12|0;j=d;d=c[h>>2]|0;a:while(1){k=d+-16|0;l=d+-12|0;m=c[l>>2]|0;n=d+-8|0;do if((m|0)==3|(m&15|0)==4){o=d+-4|0;p=c[o>>2]|0;if((p&15|0)==4){q=c[n>>2]|0;r=q;s=p;t=q;u=m}else{if((p|0)!=3){v=16;break}p=Bc(g,c[n>>2]|0)|0;if(p>>>0<41)w=Cc(b,g,p)|0;else{if((p+1|0)>>>0>4294967277){v=9;break a}q=c[i>>2]|0;x=c[q+44>>2]|0;y=p+17|0;z=q+4|0;A=Ja[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if((y|0)!=0&(A|0)==0){if(!(a[q+51>>0]|0)){v=13;break a}ic(b,1);B=Ja[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if(!B){v=13;break a}else C=B}else C=A;A=q+12|0;c[A>>2]=(c[A>>2]|0)+y;y=q+56|0;a[C+5>>0]=a[q+48>>0]&3;a[C+4>>0]=20;c[C>>2]=c[y>>2];c[y>>2]=C;c[C+12>>2]=p;c[C+8>>2]=x;a[C+6>>0]=0;x=C+16|0;Os(x|0,g|0,p|0)|0;a[x+p>>0]=0;w=C}c[n>>2]=w;p=(a[w+4>>0]|64)&255;c[o>>2]=p;r=w;s=p;t=w;u=c[l>>2]|0}p=c[t+12>>2]|0;o=(u&15|0)==4;if(!p){if(!((u|0)==3&(o^1))){D=2;break}x=Bc(g,c[k>>2]|0)|0;if(x>>>0<41)E=Cc(b,g,x)|0;else{if((x+1|0)>>>0>4294967277){v=23;break a}y=c[i>>2]|0;q=c[y+44>>2]|0;A=x+17|0;B=y+4|0;z=Ja[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if((A|0)!=0&(z|0)==0){if(!(a[y+51>>0]|0)){v=27;break a}ic(b,1);F=Ja[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if(!F){v=27;break a}else G=F}else G=z;z=y+12|0;c[z>>2]=(c[z>>2]|0)+A;A=y+56|0;a[G+5>>0]=a[y+48>>0]&3;a[G+4>>0]=20;c[G>>2]=c[A>>2];c[A>>2]=G;c[G+12>>2]=x;c[G+8>>2]=q;a[G+6>>0]=0;q=G+16|0;Os(q|0,g|0,x|0)|0;a[q+x>>0]=0;E=G}c[k>>2]=E;c[l>>2]=(a[E+4>>0]|64)&255;D=2;break}if(o?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[k>>2]=r;c[l>>2]=s;D=2;break}b:do if((j|0)>1){o=p;x=1;while(1){q=d+(0-x<<3)+-8|0;A=q+4|0;y=c[A>>2]|0;if((y&15|0)==4)H=c[q>>2]|0;else{if((y|0)!=3){I=o;J=x;break b}y=Bc(g,c[q>>2]|0)|0;if(y>>>0<41)K=Cc(b,g,y)|0;else{if((y+1|0)>>>0>4294967277){v=41;break a}z=c[i>>2]|0;F=c[z+44>>2]|0;B=y+17|0;L=z+4|0;M=Ja[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if((B|0)!=0&(M|0)==0){if(!(a[z+51>>0]|0)){v=45;break a}ic(b,1);N=Ja[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if(!N){v=45;break a}else O=N}else O=M;M=z+12|0;c[M>>2]=(c[M>>2]|0)+B;B=z+56|0;a[O+5>>0]=a[z+48>>0]&3;a[O+4>>0]=20;c[O>>2]=c[B>>2];c[B>>2]=O;c[O+12>>2]=y;c[O+8>>2]=F;a[O+6>>0]=0;F=O+16|0;Os(F|0,g|0,y|0)|0;a[F+y>>0]=0;K=O}c[q>>2]=K;c[A>>2]=(a[K+4>>0]|64)&255;H=K}A=c[H+12>>2]|0;if(A>>>0>=(-3-o|0)>>>0){v=49;break a}q=A+o|0;A=x+1|0;if((A|0)<(j|0)){o=q;x=A}else{I=q;J=A;break}}}else{I=p;J=1}while(0);p=c[i>>2]|0;x=p+116|0;o=p+124|0;A=c[o>>2]|0;if(A>>>0>>0){q=I>>>0>32?I:32;if((q+1|0)>>>0>4294967293){v=54;break a}y=c[x>>2]|0;F=(y|0)==0;B=p+4|0;z=Ja[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!z){if(!(a[p+51>>0]|0)){v=58;break a}ic(b,1);M=Ja[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!M){v=58;break a}else P=M}else P=z;z=p+12|0;c[z>>2]=(F?0:0-A|0)+q+(c[z>>2]|0);c[x>>2]=P;c[o>>2]=q;Q=P}else Q=c[x>>2]|0;x=0;q=J;while(1){o=c[d+(0-q<<3)>>2]|0;z=c[o+12>>2]|0;Os(Q+x|0,o+16|0,z|0)|0;x=z+x|0;if((q|0)<=1)break;else q=q+-1|0}q=0-J|0;z=d+(q<<3)|0;if(x>>>0<41)R=Cc(b,Q,x)|0;else{if((x+1|0)>>>0>4294967277){v=65;break a}o=c[i>>2]|0;A=c[o+44>>2]|0;F=x+17|0;p=o+4|0;M=Ja[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if((F|0)!=0&(M|0)==0){if(!(a[o+51>>0]|0)){v=69;break a}ic(b,1);y=Ja[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if(!y){v=69;break a}else S=y}else S=M;M=o+12|0;c[M>>2]=(c[M>>2]|0)+F;F=o+56|0;a[S+5>>0]=a[o+48>>0]&3;a[S+4>>0]=20;c[S>>2]=c[F>>2];c[F>>2]=S;c[S+12>>2]=x;c[S+8>>2]=A;a[S+6>>0]=0;A=S+16|0;Os(A|0,Q|0,x|0)|0;a[A+x>>0]=0;R=S}c[z>>2]=R;c[d+(q<<3)+4>>2]=(a[R+4>>0]|64)&255;D=J}else v=16;while(0);if((v|0)==16){v=0;if(!(zc(b,k,n,k,15)|0)){v=17;break}else D=2}j=j+1-D|0;d=(c[h>>2]|0)+(1-D<<3)|0;c[h>>2]=d;if((j|0)<=1){v=73;break}}switch(v|0){case 9:{jc(b);break}case 13:{Zb(b,4);break}case 17:{Dc(b,k,n);break}case 23:{jc(b);break}case 27:{Zb(b,4);break}case 41:{jc(b);break}case 45:{Zb(b,4);break}case 49:{$b(b,40262,f);break}case 54:{jc(b);break}case 58:{Zb(b,4);break}case 65:{jc(b);break}case 69:{Zb(b,4);break}case 73:{Ca=e;return}}}function qc(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;f=b+12|0;g=c[f>>2]|0;h=b+56|0;b=c[h>>2]|0;if(!b)return;i=g+48|0;j=g+56|0;k=g+50|0;l=g+49|0;m=b;while(1){b=m+8|0;n=c[b>>2]|0;if(n>>>0>>0){o=16;break}c[h>>2]=c[m>>2];p=m+12|0;do if(((a[i>>0]^3)&(a[m+5>>0]^3))<<24>>24){q=m+16|0;c[(c[q>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[q>>2];r=c[b>>2]|0;c[p>>2]=c[r>>2];s=c[r+4>>2]|0;c[q>>2]=s;c[b>>2]=p;c[m>>2]=c[j>>2];c[j>>2]=m;q=m+5|0;r=a[q>>0]|0;t=r&255;if(!(t&7)){if((a[k>>0]|0)!=2?(d[l>>0]|0)>=2:0){a[q>>0]=t&184|a[i>>0]&3;break}a[q>>0]=r&-69|4;if(s&64|0?(s=c[p>>2]|0,a[s+5>>0]&3):0)hc(g,s)}}else{if((n|0)!=(p|0)){s=m+16|0;c[(c[s>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[s>>2]}s=c[f>>2]|0;Ja[c[s>>2]&1](c[s+4>>2]|0,m,20,0)|0;r=s+12|0;c[r>>2]=(c[r>>2]|0)+-20}while(0);m=c[h>>2]|0;if(!m){o=16;break}}if((o|0)==16)return}function rc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=Ca;Ca=Ca+16|0;i=h;j=f+4|0;a:do switch(c[j>>2]&63){case 0:{k=1;break}case 3:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 1:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 2:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 22:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 4:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 20:{l=c[f>>2]|0;m=c[g>>2]|0;n=c[l+12>>2]|0;if((l|0)!=(m|0))if((n|0)==(c[m+12>>2]|0))k=(jq(l+16|0,m+16|0,n)|0)==0;else k=0;else k=1;break}case 7:{n=c[f>>2]|0;m=c[g>>2]|0;if((n|0)!=(m|0))if(((e|0)!=0?(l=c[n+8>>2]|0,n=c[m+8>>2]|0,(l|0)!=0):0)?(m=l+6|0,o=a[m>>0]|0,(o&32)==0):0){p=c[(c[e+12>>2]|0)+176>>2]|0;q=c[p+8>>2]|0;r=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(p|0):0){s=17;break}t=c[r+16>>2]|0;if(!t){u=4209132;break}else r=t}if((s|0)==17)u=r;t=u+4|0;v=c[t>>2]|0;if(!v){a[m>>0]=o|32;k=0;break a}if(u)if((l|0)!=(n|0))if((n|0)!=0?(w=n+6|0,x=a[w>>0]|0,(x&32)==0):0){y=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(p|0):0){s=28;break}z=c[y+16>>2]|0;if(!z){A=4209132;break}else y=z}if((s|0)==28)A=y;p=c[A+4>>2]|0;if(!p){a[w>>0]=x|32;k=0;break a}if((A|0)!=0&(v|0)==(p|0)?(rc(0,u,A)|0)!=0:0){B=u;C=t;s=59}else k=0}else k=0;else{B=u;C=t;s=59}else k=0}else k=0;else k=1;break}case 5:{p=c[f>>2]|0;q=c[g>>2]|0;if((p|0)!=(q|0))if(((e|0)!=0?(n=c[p+8>>2]|0,p=c[q+8>>2]|0,(n|0)!=0):0)?(q=n+6|0,l=a[q>>0]|0,(l&32)==0):0){o=c[(c[e+12>>2]|0)+176>>2]|0;m=c[o+8>>2]|0;r=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(o|0):0){s=41;break}z=c[r+16>>2]|0;if(!z){D=4209132;break}else r=z}if((s|0)==41)D=r;t=D+4|0;v=c[t>>2]|0;if(!v){a[q>>0]=l|32;k=0;break a}if(D)if((n|0)!=(p|0))if((p|0)!=0?(x=p+6|0,w=a[x>>0]|0,(w&32)==0):0){y=(c[p+16>>2]|0)+(((1<<(d[p+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(o|0):0){s=52;break}z=c[y+16>>2]|0;if(!z){E=4209132;break}else y=z}if((s|0)==52)E=y;o=c[E+4>>2]|0;if(!o){a[x>>0]=w|32;k=0;break a}if((E|0)!=0&(v|0)==(o|0)?(rc(0,D,E)|0)!=0:0){B=D;C=t;s=59}else k=0}else k=0;else{B=D;C=t;s=59}else k=0}else k=0;else k=1;break}default:k=(c[f>>2]|0)==(c[g>>2]|0)}while(0);b:do if((s|0)==59){D=e+8|0;E=c[D>>2]|0;u=e+28|0;A=E-(c[u>>2]|0)|0;c[D>>2]=E+8;c[E>>2]=c[B>>2];c[E+4>>2]=c[C>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[f>>2];c[E+4>>2]=c[j>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[g>>2];c[E+4>>2]=c[g+4>>2];E=(c[D>>2]|0)+-24|0;o=a[(c[e+16>>2]|0)+18>>0]&1;m=e+38|0;p=(b[m>>1]|0)+1<<16>>16;b[m>>1]=p;if((p&65535)>199){if(p<<16>>16==200)$b(e,40064,i);if((p&65535)>224)Zb(e,6)}p=o<<24>>24!=0;if(!p){o=e+36|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}if(!(dc(e,E,1)|0))ec(e);if(!p){p=e+36|0;b[p>>1]=(b[p>>1]|0)+-1<<16>>16}b[m>>1]=(b[m>>1]|0)+-1<<16>>16;m=(c[u>>2]|0)+A|0;A=c[D>>2]|0;u=A+-8|0;c[D>>2]=u;c[m>>2]=c[u>>2];c[m+4>>2]=c[A+-4>>2];A=c[D>>2]|0;switch(c[A+4>>2]|0){case 0:{k=0;break b;break}case 1:{k=(c[A>>2]|0)!=0;break b;break}default:{k=1;break b}}}while(0);Ca=h;return k&1|0}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<(c[d>>2]|0)&1;return f|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;g=c[d>>2]|0;h=e+16|0;i=g+16|0;j=qs(h,i)|0;a:do if(!j){k=c[g+12>>2]|0;l=i;m=c[e+12>>2]|0;n=h;while(1){o=Yq(n)|0;if((o|0)==(k|0)){p=0;break a}q=o+1|0;if((o|0)==(m|0)){p=-1;break a}l=l+q|0;n=n+q|0;o=qs(n,l)|0;if(o|0){p=o;break}else{k=k-q|0;m=m-q|0}}}else p=j;while(0);f=p>>>31;return f|0}p=a+8|0;if(!(zc(a,b,d,c[p>>2]|0,13)|0))Ac(a,b,d);d=c[p>>2]|0;p=c[d+4>>2]|0;switch(p|0){case 1:{f=(c[d>>2]|0)!=0&1;return f|0}case 0:{f=p;return f|0}default:{f=1;return f|0}}return 0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<=(c[d>>2]|0);g=f&1;return g|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;h=c[d>>2]|0;i=e+16|0;j=h+16|0;k=qs(i,j)|0;a:do if(!k){l=c[h+12>>2]|0;m=j;n=c[e+12>>2]|0;o=i;while(1){p=Yq(o)|0;q=(p|0)==(n|0);if((p|0)==(l|0))break;r=p+1|0;if(q){s=-1;break a}m=m+r|0;o=o+r|0;p=qs(o,m)|0;if(p|0){s=p;break a}else{l=l-r|0;n=n-r|0}}s=(q^1)&1}else s=k;while(0);f=(s|0)<1;g=f&1;return g|0}s=a+8|0;k=(zc(a,b,d,c[s>>2]|0,14)|0)==0;q=c[s>>2]|0;if(!k)switch(c[q+4>>2]|0){case 1:{f=(c[q>>2]|0)!=0;g=f&1;return g|0}case 0:{f=0;g=f&1;return g|0}default:{f=1;g=f&1;return g|0}}if(!(zc(a,d,b,q,13)|0))Ac(a,b,d);d=c[s>>2]|0;switch(c[d+4>>2]|0){case 1:{f=(c[d>>2]|0)==0;g=f&1;return g|0}case 0:{f=1;g=f&1;return g|0}default:{f=0;g=f&1;return g|0}}return 0}function uc(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;f=Ca;Ca=Ca+112|0;g=f;h=f+4|0;i=c[b+52>>2]|0;if(!i){Ca=f;return}j=b+41|0;if(!(a[j>>0]|0)){Ca=f;return}k=c[b+16>>2]|0;l=b+8|0;m=c[l>>2]|0;n=b+28|0;o=c[n>>2]|0;p=m-o|0;q=k+4|0;r=(c[q>>2]|0)-o|0;c[h>>2]=d;c[h+20>>2]=e;c[h+96>>2]=k;e=m;do if(((c[b+24>>2]|0)-m|0)<168){d=c[b+32>>2]|0;if((d|0)>1e6)Zb(b,6);o=(p>>3)+25|0;s=d<<1;d=(s|0)<1e6?s:1e6;s=(d|0)<(o|0)?o:d;if((s|0)>1e6){_b(b,1000200);$b(b,40049,g)}else{_b(b,s);t=c[l>>2]|0;break}}else t=e;while(0);c[q>>2]=t+160;a[j>>0]=0;t=k+18|0;a[t>>0]=a[t>>0]|2;Ma[i&7](b,h);a[j>>0]=1;j=c[n>>2]|0;c[q>>2]=j+r;c[l>>2]=j+p;a[t>>0]=a[t>>0]&-3;Ca=f;return}function vc(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,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;g=Ca;Ca=Ca+16|0;h=g;if(fs(b,40190)|0){i=0;Ca=g;return i|0}do if(!(fs(b,40193)|0)){if(!(fs(b,40196)|0)){c[f>>2]=~~(+vr(b,h)*65536.0);j=c[h>>2]|0;break}c[h>>2]=b;k=b;while(1){l=a[k>>0]|0;m=k+1|0;if(!(a[64+((l&255)+1)>>0]&8))break;else k=m}switch(l<<24>>24){case 45:{n=m;break}case 43:{n=m;break}default:n=k}a:do if((a[n>>0]|0)==48){switch(a[n+1>>0]|0){case 66:case 98:break;default:{o=0;p=b;break a}}q=n+2|0;r=a[q>>0]|0;if((r&-2)<<24>>24==48){s=0;t=r;u=0;v=q;do{s=s<<1|t<<24>>24==49;u=u+1|0;v=v+1|0;t=a[v>>0]|0}while((t&-2)<<24>>24==48);w=s<<16;x=u;y=v;z=t}else{w=0;x=0;y=q;z=r}A=y;if(z<<24>>24==46){B=y+1|0;C=B;D=a[B>>0]|0;if((D&-2)<<24>>24==48){E=0;F=0;G=D;D=B;do{E=F>>>0<16?E<<1|G<<24>>24==49:E;F=F+1|0;D=D+1|0;G=a[D>>0]|0}while((G&-2)<<24>>24==48);H=E;I=F;J=D}else{H=0;I=0;J=C}G=J-C|0;K=H<<((G+-1|0)>>>0<15?16-G|0:0);L=I;M=J}else{K=0;L=0;M=A}if(L|x){c[h>>2]=M;G=M;switch(a[G>>0]|0){case 80:case 112:{o=0;p=G;break a;break}default:{}}c[h>>2]=G;o=~~+$p(+(K+w|0),0);p=G}else{o=0;p=b}}else{o=0;p=b}while(0);c[f>>2]=o;j=p}else{c[h>>2]=b;k=b;while(1){N=a[k>>0]|0;O=k+1|0;if(!(a[64+((N&255)+1)>>0]&8))break;else k=O}switch(N<<24>>24){case 45:{P=O;break}case 43:{P=O;break}default:P=k}b:do if((a[P>>0]|0)==48){switch(a[P+1>>0]|0){case 88:case 120:break;default:{Q=0;R=b;break b}}G=P+2|0;r=a[G>>0]|0;q=r&255;if(!(a[64+(q+1)>>0]&16)){S=0;T=0;U=G;V=r}else{r=0;t=q;q=0;v=G;do{G=t+-48|0;r=(G>>>0<10?G:(t|32)+-87|0)+(r<<4)|0;q=q+1|0;v=v+1|0;W=a[v>>0]|0;t=W&255}while((a[64+(t+1)>>0]&16)!=0);S=r<<16;T=q;U=v;V=W}t=U;if(V<<24>>24==46){A=U+1|0;C=A;D=d[A>>0]|0;if(!(a[64+(D+1)>>0]&16)){X=0;Y=0;Z=C}else{F=0;E=0;G=D;D=A;do{A=G+-48|0;F=E>>>0<4?(A>>>0<10?A:(G|32)+-87|0)+(F<<4)|0:F;E=E+1|0;D=D+1|0;G=d[D>>0]|0}while((a[64+(G+1)>>0]&16)!=0);X=F;Y=E;Z=D}G=Z-C|0;_=X<<((G+-1|0)>>>0<3?16-(G<<2)|0:0);$=Y;aa=Z}else{_=0;$=0;aa=t}if($|T){c[h>>2]=aa;G=aa;switch(a[G>>0]|0){case 80:case 112:{Q=0;R=G;break b;break}default:{}}c[h>>2]=G;Q=~~+$p(+(_+S|0),0);R=G}else{Q=0;R=b}}else{Q=0;R=b}while(0);c[f>>2]=Q;j=R}while(0);if((j|0)==(b|0)){i=0;Ca=g;return i|0}if(!(a[64+((d[j>>0]|0)+1)>>0]&8))ba=j;else{R=j;do R=R+1|0;while((a[64+((d[R>>0]|0)+1)>>0]&8)!=0);c[h>>2]=R;ba=R}i=(ba|0)==(b+e|0)&1;Ca=g;return i|0}function wc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=Ca;Ca=Ca+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+7|0;m=a[l>>0]|0;n=m&255;o=e+16|0;p=c[o>>2]|0;if((k|0)<(f|0)){if((f+1|0)>>>0>536870911)jc(b);q=e+12|0;r=c[q>>2]|0;s=k<<3;k=f<<3;t=c[b+12>>2]|0;u=(r|0)==0;v=t+4|0;w=Ja[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if((k|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))Zb(b,4);ic(b,1);x=Ja[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if(!x)Zb(b,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-s|0)+k+(c[w>>2]|0);c[q>>2]=y;q=c[j>>2]|0;if((q|0)<(f|0)){w=q;do{c[y+(w<<3)+4>>2]=0;w=w+1|0}while((w|0)!=(f|0))}c[j>>2]=f}if(!g){c[o>>2]=4209148;z=0;A=0;B=4209148}else{f=g+-1|0;if(f>>>0>255){g=f;j=0;while(1){w=j+8|0;y=g>>>8;if(g>>>0>65535){g=y;j=w}else{C=w;D=y;break}}}else{C=0;D=f}f=C+(d[384+D>>0]|0)|0;if((f|0)>30)$b(b,40081,i);i=1<>>0>214748364)jc(b);D=20<>2]|0;j=C+4|0;g=Ja[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(f>>>0<30&(g|0)==0){if(!(a[C+51>>0]|0))Zb(b,4);ic(b,1);y=Ja[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(!y)Zb(b,4);else E=y}else E=g;g=C+12|0;c[g>>2]=(c[g>>2]|0)+D;c[o>>2]=E;D=0;g=E;do{c[g+(D*20|0)+16>>2]=0;c[g+(D*20|0)+12>>2]=0;c[g+(D*20|0)+4>>2]=0;D=D+1|0;g=c[o>>2]|0}while((D|0)<(i|0));z=i;A=f&255;B=g}a[l>>0]=A;c[e+20>>2]=B+(z*20|0);if(m<<24>>24!=31){m=1<>2]|0){A=p+(m*20|0)+8|0;l=kc(e,A)|0;if((l|0)==4209132)F=lc(b,e,A)|0;else F=l;c[F>>2]=c[p+(m*20|0)>>2];c[F+4>>2]=c[B>>2]}}while((z|0)>1)}if((p|0)==4209148){Ca=h;return}F=20<>2]|0;Ja[c[n>>2]&1](c[n+4>>2]|0,p,F,0)|0;b=n+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:F);Ca=h;return}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=d<<2;f=e+16|0;g=c[b+12>>2]|0;h=g+4|0;i=Ja[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if((f|0)!=0&(i|0)==0){if(!(a[g+51>>0]|0))Zb(b,4);ic(b,1);j=Ja[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if(!j)Zb(b,4);else k=j}else k=i;i=g+12|0;c[i>>2]=(c[i>>2]|0)+f;f=g+56|0;a[k+5>>0]=a[g+48>>0]&3;a[k+4>>0]=6;c[k>>2]=c[f>>2];c[f>>2]=k;c[k+12>>2]=0;a[k+6>>0]=d;if(!d)return k|0;Ps(k+16|0,0,e|0)|0;return k|0}function yc(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;e=c[b+12>>2]|0;f=b+56|0;g=c[f>>2]|0;a:do if(!g)h=f;else{i=f;j=g;while(1){k=c[j+8>>2]|0;if(k>>>0>>0){h=i;break a}if((k|0)==(d|0))break;k=c[j>>2]|0;if(!k){l=8;break}else{m=j;j=k;i=m}}if((l|0)==8){h=j;break}i=j+5|0;m=a[i>>0]^3;if(((a[e+48>>0]^3)&m)<<24>>24){n=j;return n|0}a[i>>0]=m;n=j;return n|0}while(0);l=e+4|0;g=Ja[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!g){if(!(a[e+51>>0]|0))Zb(b,4);ic(b,1);f=Ja[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!f)Zb(b,4);else o=f}else o=g;g=e+12|0;c[g>>2]=(c[g>>2]|0)+20;g=(h|0)==0?e+56|0:h;a[o+5>>0]=a[e+48>>0]&3;a[o+4>>0]=10;c[o>>2]=c[g>>2];c[g>>2]=o;c[o+8>>2]=d;c[o+12>>2]=e+96;d=e+112|0;e=c[d>>2]|0;c[o+16>>2]=e;c[e+12>>2]=o;c[d>>2]=o;n=o;return n|0}function zc(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=Ca;Ca=Ca+16|0;k=j;l=f+4|0;m=c[l>>2]|0;switch(m&15){case 5:{n=(c[f>>2]|0)+8|0;break}case 7:{n=(c[f>>2]|0)+8|0;break}default:n=(c[e+12>>2]|0)+224+((m&15)<<2)|0}m=c[n>>2]|0;a:do if(!m)o=4209132;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;p=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[p+12>>2]|0)==68?(c[p+8>>2]|0)==(n|0):0)break;q=c[p+16>>2]|0;if(!q){o=4209132;break a}else p=q}o=p}while(0);b:do if(!(c[o+4>>2]|0)){m=c[g+4>>2]|0;switch(m&15){case 5:{r=(c[g>>2]|0)+8|0;break}case 7:{r=(c[g>>2]|0)+8|0;break}default:r=(c[e+12>>2]|0)+224+((m&15)<<2)|0}m=c[r>>2]|0;if(!m)s=4209132;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(n|0):0)break;m=c[q+16>>2]|0;if(!m){s=4209132;break b}else q=m}s=q}}else s=o;while(0);o=s+4|0;if(!(c[o>>2]|0)){t=0;Ca=j;return t|0}i=e+28|0;r=h-(c[i>>2]|0)|0;h=e+8|0;n=c[h>>2]|0;c[h>>2]=n+8;c[n>>2]=c[s>>2];c[n+4>>2]=c[o>>2];o=c[h>>2]|0;c[h>>2]=o+8;c[o>>2]=c[f>>2];c[o+4>>2]=c[l>>2];l=c[h>>2]|0;c[h>>2]=l+8;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];g=(c[h>>2]|0)+-24|0;l=a[(c[e+16>>2]|0)+18>>0]&1;o=e+38|0;f=(b[o>>1]|0)+1<<16>>16;b[o>>1]=f;if((f&65535)>199){if(f<<16>>16==200)$b(e,40064,k);if((f&65535)>224)Zb(e,6)}f=l<<24>>24!=0;if(!f){l=e+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}if(!(dc(e,g,1)|0))ec(e);if(!f){f=e+36|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16}b[o>>1]=(b[o>>1]|0)+-1<<16>>16;o=(c[i>>2]|0)+r|0;r=c[h>>2]|0;i=r+-8|0;c[h>>2]=i;c[o>>2]=c[i>>2];c[o+4>>2]=c[r+-4>>2];t=1;Ca=j;return t|0}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ca;Ca=Ca+16|0;f=e+8|0;g=e;e=c[16+((c[b+4>>2]&15)+1<<2)>>2]|0;b=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[g>>2]=e;$b(a,40199,g)}else{c[f>>2]=e;c[f+4>>2]=b;$b(a,40232,f)}}function Bc(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Ca;Ca=Ca+64|0;e=d+48|0;f=d+40|0;h=d+32|0;i=d;j=+(c|0)*.0000152587890625;g[h>>3]=j;mq(i,40401,h)|0;if((Xr(i,40407)|0)==0?(Xr(i,40413)|0)==0:0){g[e>>3]=j;mq(i,40425,e)|0}else{g[f>>3]=j;mq(i,40419,f)|0}f=Yq(i)|0;e=f+-1|0;h=i+e|0;c=a[h>>0]|0;k=(f|0)>0;if(k&c<<24>>24==48){f=h;l=e;while(1){a[f>>0]=0;e=l;l=l+-1|0;m=i+l|0;n=a[m>>0]|0;o=(e|0)>0;if(!(o&n<<24>>24==48)){p=o;q=n;r=m;break}else f=m}}else{p=k;q=c;r=h}if(!(p&q<<24>>24==46)){s=Yq(i)|0;t=s+1|0;Os(b|0,i|0,t|0)|0;Ca=d;return s|0}a[r>>0]=0;s=Yq(i)|0;t=s+1|0;Os(b|0,i|0,t|0)|0;Ca=d;return s|0}function Cc(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,u=0;g=b+12|0;h=c[g>>2]|0;i=c[h+44>>2]^f;j=f>>>5;if(j>>>0>>0){k=~j;l=f;m=i;while(1){n=(m<<5)+(m>>>2)+(d[e+(l+-1)>>0]|0)^m;l=l+k|0;if(l>>>0<=j>>>0){o=n;break}else m=n}}else o=i;i=h+24|0;m=h+32|0;j=c[m>>2]|0;l=(c[i>>2]|0)+((j+-1&o)<<2)|0;k=c[l>>2]|0;a:do if(k|0){n=k;while(1){if(((o|0)==(c[n+8>>2]|0)?(c[n+12>>2]|0)==(f|0):0)?(jq(e,n+16|0,f)|0)==0:0)break;p=c[n>>2]|0;if(!p)break a;else n=p}p=n+5|0;q=a[p>>0]^3;if(((a[h+48>>0]^3)&q)<<24>>24){r=n;return r|0}a[p>>0]=q;r=n;return r|0}while(0);k=h+28|0;if((j|0)<1073741823?(c[k>>2]|0)>>>0>=j>>>0:0){Gc(b,j<<1);s=(c[i>>2]|0)+(((c[m>>2]|0)+-1&o)<<2)|0;t=c[g>>2]|0}else{s=l;t=h}h=f+17|0;l=t+4|0;g=Ja[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if((h|0)!=0&(g|0)==0){if(!(a[t+51>>0]|0))Zb(b,4);ic(b,1);m=Ja[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if(!m)Zb(b,4);else u=m}else u=g;g=t+12|0;c[g>>2]=(c[g>>2]|0)+h;h=(s|0)==0?t+56|0:s;a[u+5>>0]=a[t+48>>0]&3;a[u+4>>0]=4;c[u>>2]=c[h>>2];c[h>>2]=u;c[u+12>>2]=f;c[u+8>>2]=o;a[u+6>>0]=0;o=u+16|0;Os(o|0,e|0,f|0)|0;a[o+f>>0]=0;c[k>>2]=(c[k>>2]|0)+1;r=u;return r|0}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;Ec(a,(e|0)==3|(e&15|0)==4?d:b,40285)}function Ec(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;f=Ca;Ca=Ca+32|0;g=f+16|0;h=f;i=f+24|0;f=c[b+16>>2]|0;c[i>>2]=0;j=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;a:do if(a[f+18>>0]&1){k=c[c[f>>2]>>2]|0;l=a[k+6>>0]|0;b:do if(l<<24>>24){m=l&255;n=0;while(1){if((c[(c[k+16+(n<<2)>>2]|0)+8>>2]|0)==(d|0))break;o=n+1|0;if(o>>>0>>0)n=o;else break b}m=c[(c[(c[k+12>>2]|0)+28>>2]|0)+(n<<3)>>2]|0;o=(m|0)==0?40297:m+16|0;c[i>>2]=o;p=40299;q=o;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;$b(b,40307,h)}while(0);l=c[f+24>>2]|0;o=c[f+4>>2]|0;m=l;if(l>>>0>>0){u=l;while(1){if((u|0)==(d|0))break;u=u+8|0;if(u>>>0>=o>>>0)break a}o=c[k+12>>2]|0;u=Fc(o,((c[f+28>>2]|0)-(c[o+12>>2]|0)>>2)+-1|0,d-m>>3,i)|0;if(u|0){p=u;q=c[i>>2]|0;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;$b(b,40307,h)}}}while(0);c[g>>2]=e;c[g+4>>2]=j;$b(b,40342,g)}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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=b+24|0;h=b+12|0;i=c[b+60>>2]|0;j=(i|0)>0;k=d;d=e;a:while(1){b:do if(j){l=c[g>>2]|0;e=d+1|0;m=0;while(1){if((c[l+(m*12|0)+4>>2]|0)>(k|0))break b;if((c[l+(m*12|0)+8>>2]|0)>(k|0)){n=e+-1|0;if(!n){o=8;break a}else p=n}else p=e;n=m+1|0;if((n|0)<(i|0)){e=p;m=n}else break}}while(0);c[f>>2]=0;if((k|0)<=0){q=0;o=51;break}r=c[h>>2]|0;e=-1;n=0;s=0;while(1){t=c[r+(s<<2)>>2]|0;u=t>>>6&255;switch(t&63){case 4:{v=(u|0)>(d|0)|(u+(t>>>23)|0)<(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 34:{v=(u+2|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 30:case 29:{v=(u|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 23:{x=s+-131070+(t>>>14)|0;v=e;w=(x|0)>(n|0)&((x|0)<=(k|0)&(s|0)<(x|0))?x:n;break}case 27:{v=(u|0)==(d|0)?((s|0)<(n|0)?-1:s):e;w=n;break}default:{v=((u|0)==(d|0)?(a[336+(t&63)>>0]&64)!=0:0)?((s|0)<(n|0)?-1:s):e;w=n}}s=s+1|0;if((s|0)==(k|0))break;else{e=v;n=w}}if((v|0)==-1){q=0;o=51;break}y=c[r+(v<<2)>>2]|0;switch(y&63){case 7:case 6:{o=22;break a;break}case 5:{o=39;break a;break}case 2:case 1:{o=40;break a;break}case 12:{o=45;break a;break}case 0:break;default:{q=0;o=51;break a}}d=y>>>23;if(d>>>0>=(y>>>6&255)>>>0){q=0;o=51;break}else k=v}if((o|0)==8){c[f>>2]=(c[l+(m*12|0)>>2]|0)+16;q=46788;return q|0}else if((o|0)==22){m=y>>>14;l=m&511;k=y>>>23;c:do if((y&63|0)==7)if(j){d=c[g>>2]|0;w=k+1|0;h=0;while(1){if((c[d+(h*12|0)+4>>2]|0)>(v|0)){z=0;break c}if((c[d+(h*12|0)+8>>2]|0)>(v|0)){p=w+-1|0;if(!p)break;else A=p}else A=w;p=h+1|0;if((p|0)<(i|0)){w=A;h=p}else{z=0;break c}}z=(c[d+(h*12|0)>>2]|0)+16|0}else z=0;else{w=c[(c[b+28>>2]|0)+(k<<3)>>2]|0;z=(w|0)==0?40297:w+16|0}while(0);if(!(y&4194304)){k=Fc(b,v,l,f)|0;if(!((k|0)!=0?(a[k>>0]|0)==99:0))o=36}else{k=c[b+8>>2]|0;l=m&255;if((c[k+(l<<3)+4>>2]&15|0)==4)c[f>>2]=(c[k+(l<<3)>>2]|0)+16;else o=36}if((o|0)==36)c[f>>2]=40297;if(!z){q=40379;return q|0}l=(Oq(z,40367)|0)==0;q=l?40372:40379;return q|0}else if((o|0)==39){l=c[(c[b+28>>2]|0)+(y>>>23<<3)>>2]|0;c[f>>2]=(l|0)==0?40297:l+16|0;q=40299;return q|0}else if((o|0)==40){if((y&63|0)==1)B=y>>>14;else B=(c[r+(v+1<<2)>>2]|0)>>>6;r=c[b+8>>2]|0;if((c[r+(B<<3)+4>>2]&15|0)!=4){q=0;return q|0}c[f>>2]=(c[r+(B<<3)>>2]|0)+16;q=40392;return q|0}else if((o|0)==45){B=y>>>14;if(!(y&4194304)){y=Fc(b,v,B&511,f)|0;if(y|0?(a[y>>0]|0)==99:0){q=40385;return q|0}}else{y=c[b+8>>2]|0;b=B&255;if((c[y+(b<<3)+4>>2]&15|0)==4){c[f>>2]=(c[y+(b<<3)>>2]|0)+16;q=40385;return q|0}}c[f>>2]=40297;q=40385;return q|0}else if((o|0)==51)return q|0;return 0}function Gc(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;f=b+12|0;g=c[f>>2]|0;h=g+24|0;i=g+49|0;if(!(1<>0]&-5))do Hc(b)|0;while(!(1<>0]&-5|0));i=g+32|0;g=c[i>>2]|0;if((g|0)<(e|0)){if((e+1|0)>>>0>1073741823)jc(b);j=c[h>>2]|0;k=g<<2;l=e<<2;m=c[f>>2]|0;n=(j|0)==0;o=m+4|0;p=Ja[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if((l|0)!=0&(p|0)==0){if(!(a[m+51>>0]|0))Zb(b,4);ic(b,1);q=Ja[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if(!q)Zb(b,4);else r=q}else r=p;p=m+12|0;c[p>>2]=(n?0:0-k|0)+l+(c[p>>2]|0);c[h>>2]=r;p=c[i>>2]|0;if((p|0)<(e|0)?(c[r+(p<<2)>>2]=0,r=p+1|0,(r|0)!=(e|0)):0){l=r;do{c[(c[h>>2]|0)+(l<<2)>>2]=0;l=l+1|0}while((l|0)!=(e|0));s=p}else s=p}else s=g;if((s|0)>0){g=e+-1|0;p=0;l=s;while(1){r=(c[h>>2]|0)+(p<<2)|0;k=c[r>>2]|0;c[r>>2]=0;if(!k)t=l;else{r=k;do{k=r;r=c[r>>2]|0;n=c[k+8>>2]&g;c[k>>2]=c[(c[h>>2]|0)+(n<<2)>>2];c[(c[h>>2]|0)+(n<<2)>>2]=k;n=k+5|0;a[n>>0]=a[n>>0]&-65}while((r|0)!=0);t=c[i>>2]|0}p=p+1|0;if((p|0)>=(t|0)){u=t;break}else l=t}}else u=s;if((u|0)<=(e|0)){c[i>>2]=e;return}if((e+1|0)>>>0>1073741823)jc(b);s=c[h>>2]|0;t=u<<2;u=e<<2;l=c[f>>2]|0;f=(s|0)==0;p=l+4|0;g=Ja[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if((u|0)!=0&(g|0)==0){if(!(a[l+51>>0]|0))Zb(b,4);ic(b,1);r=Ja[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if(!r)Zb(b,4);else v=r}else v=g;g=l+12|0;c[g>>2]=(f?0:0-t|0)+u+(c[g>>2]|0);c[h>>2]=v;c[i>>2]=e;return}function Hc(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,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;e=Ca;Ca=Ca+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+49|0;switch(a[i>>0]|0){case 5:{j=h+16|0;c[j>>2]=c[h+32>>2]<<2;k=h+72|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;k=c[h+144>>2]|0;if(k|0?a[k+5>>0]&3:0)hc(h,k);if(c[h+40>>2]&64|0?(k=c[h+36>>2]|0,a[k+5>>0]&3):0)hc(h,k);Ic(h);k=c[h+92>>2]|0;if(k|0){l=h+48|0;m=k;do{k=m+5|0;a[k>>0]=a[l>>0]&3|a[k>>0]&-72;hc(h,m);m=c[m>>2]|0}while((m|0)!=0)}a[i>>0]=0;n=c[j>>2]|0;Ca=e;return n|0}case 0:{j=h+72|0;if(c[j>>2]|0){m=h+16|0;l=c[m>>2]|0;Jc(h);n=(c[m>>2]|0)-l|0;Ca=e;return n|0}a[i>>0]=1;l=h+16|0;m=c[l>>2]|0;k=h+20|0;c[k>>2]=m;if(a[b+5>>0]&3)hc(h,b);if(c[h+40>>2]&64|0?(o=c[h+36>>2]|0,a[o+5>>0]&3):0)hc(h,o);Ic(h);o=h+96|0;p=c[h+112>>2]|0;if((p|0)!=(o|0)){q=p;do{if(((a[q+5>>0]&7)==0?(p=c[q+8>>2]|0,c[p+4>>2]&64|0):0)?(r=c[p>>2]|0,a[r+5>>0]&3):0)hc(h,r);q=c[q+16>>2]|0}while((q|0)!=(o|0))}if(c[j>>2]|0)do Jc(h);while((c[j>>2]|0)!=0);o=(c[l>>2]|0)-m|0;m=h+80|0;q=c[m>>2]|0;r=h+76|0;p=c[r>>2]|0;s=h+84|0;t=c[s>>2]|0;c[s>>2]=0;c[r>>2]=0;c[m>>2]=0;c[j>>2]=p;if(p|0)do Jc(h);while((c[j>>2]|0)!=0);c[j>>2]=q;if(q|0)do Jc(h);while((c[j>>2]|0)!=0);c[j>>2]=t;if(t|0)do Jc(h);while((c[j>>2]|0)!=0);t=o-(c[l>>2]|0)|0;do{o=c[s>>2]|0;c[s>>2]=0;if(!o)break;q=0;p=o;while(1){o=p;p=c[p+24>>2]|0;if(Kc(h,o)|0)if(!(c[j>>2]|0))u=1;else{do Jc(h);while((c[j>>2]|0)!=0);u=1}else u=q;if(!p)break;else q=u}}while((u|0)!=0);Lc(h,c[m>>2]|0,0);u=h+88|0;Lc(h,c[u>>2]|0,0);q=c[m>>2]|0;p=c[u>>2]|0;o=t+(c[l>>2]|0)|0;t=c[g>>2]|0;r=t+60|0;v=t+92|0;t=c[v>>2]|0;if(!t)w=v;else{v=t;while(1){t=c[v>>2]|0;if(!t)break;else v=t}w=v}v=c[r>>2]|0;if(v|0){t=r;r=w;w=v;while(1){v=w+5|0;x=d[v>>0]|0;if(!(x&3)){y=w;z=r}else{a[v>>0]=x|8;c[t>>2]=c[w>>2];c[w>>2]=c[r>>2];c[r>>2]=w;y=t;z=w}w=c[y>>2]|0;if(!w)break;else{t=y;r=z}}}z=c[h+92>>2]|0;if(z|0){r=h+48|0;y=z;do{z=y+5|0;a[z>>0]=a[r>>0]&3|a[z>>0]&-72;hc(h,y);y=c[y>>2]|0}while((y|0)!=0)}if(c[j>>2]|0)do Jc(h);while((c[j>>2]|0)!=0);y=o-(c[l>>2]|0)|0;while(1){o=c[s>>2]|0;c[s>>2]=0;if(!o)break;r=0;z=o;while(1){o=z;z=c[z+24>>2]|0;if(Kc(h,o)|0)if(!(c[j>>2]|0))A=1;else{do Jc(h);while((c[j>>2]|0)!=0);A=1}else A=r;if(!z)break;else r=A}if(!A){B=72;break}}if((B|0)==72?(A=c[s>>2]|0,A|0):0){s=A;do{A=c[s+16>>2]|0;j=a[s+7>>0]|0;r=A+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=A;do{A=j+4|0;do if(c[A>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;hc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[A>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0>>0)}s=c[s+24>>2]|0}while((s|0)!=0)}s=c[u>>2]|0;if(s|0){r=s;do{s=c[r+16>>2]|0;j=a[r+7>>0]|0;A=s+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=s;do{s=j+4|0;do if(c[s>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;hc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[s>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0>>0)}r=c[r+24>>2]|0}while((r|0)!=0)}Lc(h,c[m>>2]|0,q);Lc(h,c[u>>2]|0,p);p=h+48|0;a[p>>0]=a[p>>0]^3;p=y+(c[l>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;n=((Mc(b)|0)*5|0)+p|0;Ca=e;return n|0}case 2:{p=h+52|0;k=h+32|0;l=h+24|0;y=0;while(1){u=(c[p>>2]|0)+y|0;q=c[k>>2]|0;if((u|0)>=(q|0)){C=y;D=u;E=q;break}q=(c[l>>2]|0)+(u<<2)|0;u=c[g>>2]|0;m=d[u+48>>0]|0;r=m^3;A=(a[u+50>>0]|0)==2;u=A?255:184;j=A?64:m&3;m=A?64:0;A=c[q>>2]|0;a:do if(A|0){s=q;z=-3;o=A;while(1){if(!z)break a;z=z+-1|0;t=o+5|0;w=d[t>>0]|0;if(!((w^3)&r)){c[s>>2]=c[o>>2];Nc(b,o);F=s}else{if(m&w|0)break a;if((a[o+4>>0]|0)==8)Oc(b,o);a[t>>0]=u&w|j;F=o}o=c[F>>2]|0;if(!o)break;else s=F}}while(0);y=y+1|0;if(y>>>0>=80){B=116;break}}if((B|0)==116){C=y;D=(c[p>>2]|0)+y|0;E=c[k>>2]|0}c[p>>2]=D;if((D|0)>=(E|0))a[i>>0]=3;n=C*5|0;Ca=e;return n|0}case 3:{C=h+68|0;E=c[C>>2]|0;if(!E){a[i>>0]=4;n=0;Ca=e;return n|0}D=d[h+48>>0]|0;p=D^3;k=(a[h+50>>0]|0)==2;y=k?255:184;B=k?64:D&3;D=k?64:0;k=c[E>>2]|0;b:do if(!k)G=0;else{F=E;l=80;j=k;while(1){if(!l){G=F;break b}l=l+-1|0;u=j+5|0;m=d[u>>0]|0;if(!((m^3)&p)){c[F>>2]=c[j>>2];Nc(b,j);H=F}else{if(D&m|0){G=0;break b}if((a[j+4>>0]|0)==8)Oc(b,j);a[u>>0]=y&m|B;H=j}j=c[H>>2]|0;if(!j){G=0;break}else F=H}}while(0);c[C>>2]=G;n=400;Ca=e;return n|0}case 4:{G=h+64|0;C=c[G>>2]|0;if(C|0){H=d[h+48>>0]|0;B=H^3;y=(a[h+50>>0]|0)==2;D=y?255:184;p=y?64:H&3;H=y?64:0;y=c[C>>2]|0;c:do if(!y)I=0;else{k=C;E=80;F=y;while(1){if(!E){I=k;break c}E=E+-1|0;j=F+5|0;l=d[j>>0]|0;if(!((l^3)&B)){c[k>>2]=c[F>>2];Nc(b,F);J=k}else{if(H&l|0){I=0;break c}if((a[F+4>>0]|0)==8)Oc(b,F);a[j>>0]=D&l|p;J=F}F=c[J>>2]|0;if(!F){I=0;break}else k=J}}while(0);c[G>>2]=I;n=400;Ca=e;return n|0}I=c[h+144>>2]|0;c[f>>2]=I;G=d[h+48>>0]|0;J=G^3;p=a[h+50>>0]|0;D=p<<24>>24==2;H=D?255:184;B=D?64:G&3;G=D?64:0;if(!I){K=p;L=h}else{h=f;f=1;p=I;while(1){if(!f)break;f=f+-1|0;I=p+5|0;D=d[I>>0]|0;if(!((D^3)&J)){c[h>>2]=c[p>>2];Nc(b,p);M=h}else{if(G&D|0)break;if((a[p+4>>0]|0)==8)Oc(b,p);a[I>>0]=H&D|B;M=p}p=c[M>>2]|0;if(!p)break;else h=M}M=c[g>>2]|0;K=a[M+50>>0]|0;L=M}if(K<<24>>24!=1){K=(c[L+32>>2]|0)/2|0;if((c[L+28>>2]|0)>>>0>>0){Gc(b,K);N=c[g>>2]|0}else N=L;g=L+116|0;K=c[g>>2]|0;b=L+124|0;L=c[b>>2]|0;M=Ja[c[N>>2]&1](c[N+4>>2]|0,K,L,0)|0;h=N+12|0;c[h>>2]=(c[h>>2]|0)-((K|0)==0?0:L);c[g>>2]=M;c[b>>2]=0}a[i>>0]=5;n=5;Ca=e;return n|0}default:{n=0;Ca=e;return n|0}}return 0}function Ic(b){b=b|0;var d=0;d=c[b+224>>2]|0;if(d|0?a[d+5>>0]&3:0)hc(b,d);d=c[b+228>>2]|0;if(d|0?a[d+5>>0]&3:0)hc(b,d);d=c[b+232>>2]|0;if(d|0?a[d+5>>0]&3:0)hc(b,d);d=c[b+236>>2]|0;if(d|0?a[d+5>>0]&3:0)hc(b,d);d=c[b+240>>2]|0;if(d|0?a[d+5>>0]&3:0)hc(b,d);d=c[b+244>>2]|0;if(d|0?a[d+5>>0]&3:0)hc(b,d);d=c[b+248>>2]|0;if(d|0?a[d+5>>0]&3:0)hc(b,d);d=c[b+252>>2]|0;if(d|0?a[d+5>>0]&3:0)hc(b,d);d=c[b+256>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;hc(b,d);return} +function Jc(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,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;e=b+72|0;f=c[e>>2]|0;g=f+5|0;a[g>>0]=a[g>>0]|4;switch(a[f+4>>0]|0){case 5:{h=f+24|0;c[e>>2]=c[h>>2];i=c[f+8>>2]|0;do if(i){j=i+6|0;k=a[j>>0]|0;if(!(k&8)){l=c[b+168>>2]|0;m=(c[i+16>>2]|0)+(((1<>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=7;break}o=c[m+16>>2]|0;if(!o){p=4209132;break}else m=o}if((n|0)==7)p=m;if(!(c[p+4>>2]|0)){a[j>>0]=k|8;q=0}else q=p}else q=0;if(a[i+5>>0]&3)hc(b,i);if(((q|0)!=0?(c[q+4>>2]&15|0)==4:0)?(l=(c[q>>2]|0)+16|0,o=ir(l,107)|0,r=(o|0)!=0,o=(ir(l,118)|0)!=0,r|o):0){l=f+5|0;a[l>>0]=a[l>>0]&-5;if(r)if(o){o=b+88|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{Kc(b,f)|0;break}o=c[f+16>>2]|0;r=a[f+7>>0]|0;l=o+((1<<(r&255))*20|0)|0;s=(c[f+28>>2]|0)>0&1;if(r<<24>>24==31)t=s;else{r=o;o=s;while(1){s=r+4|0;u=r+12|0;v=(c[u>>2]&64|0)==0;a:do if(!(c[s>>2]|0))if(!v?(a[(c[r+8>>2]|0)+5>>0]&3)!=0:0){c[u>>2]=11;w=o}else w=o;else{if(!v?(x=c[r+8>>2]|0,a[x+5>>0]&3):0)hc(b,x);if(!o){x=c[s>>2]|0;do if(x&64|0){y=c[r>>2]|0;if((x&15|0)!=4)if(!(a[y+5>>0]&3))break;else{w=1;break a}if(y|0){if(!(a[y+5>>0]&3))break;hc(b,y)}}while(0);w=0}else w=o}while(0);r=r+20|0;if(r>>>0>=l>>>0){t=w;break}else o=w}}if(!t){o=b+76|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{o=b+80|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}}else n=41}else n=41;while(0);if((n|0)==41){n=f+16|0;h=c[n>>2]|0;t=h+((1<>0])*20|0)|0;w=f+28|0;q=c[w>>2]|0;if((q|0)>0){i=f+12|0;p=0;o=q;while(1){q=c[i>>2]|0;if((c[q+(p<<3)+4>>2]&64|0)!=0?(l=c[q+(p<<3)>>2]|0,(a[l+5>>0]&3)!=0):0){hc(b,l);z=c[w>>2]|0}else z=o;p=p+1|0;if((p|0)>=(z|0))break;else o=z}A=c[n>>2]|0}else A=h;if(A>>>0>>0){h=A;do{A=h+4|0;n=c[A>>2]|0;z=h+12|0;o=(c[z>>2]&64|0)==0;if(!n){if(!o?a[(c[h+8>>2]|0)+5>>0]&3:0)c[z>>2]=11}else{if(!o?(o=c[h+8>>2]|0,(a[o+5>>0]&3)!=0):0){hc(b,o);B=c[A>>2]|0}else B=n;if(B&64|0?(n=c[h>>2]|0,a[n+5>>0]&3):0)hc(b,n)}h=h+20|0}while(h>>>0>>0)}}C=(c[f+28>>2]<<3)+32+(20<>0])|0;break}case 6:{c[e>>2]=c[f+8>>2];t=c[f+12>>2]|0;if(t|0?a[t+5>>0]&3:0)hc(b,t);t=f+6|0;h=a[t>>0]|0;if(!(h<<24>>24))C=16;else{B=0;n=h;while(1){h=c[f+16+(B<<2)>>2]|0;if((h|0)!=0?(a[h+5>>0]&3)!=0:0){hc(b,h);D=a[t>>0]|0}else D=n;B=B+1|0;E=D&255;if(B>>>0>=E>>>0)break;else n=D}C=(E<<2)+16|0}break}case 38:{c[e>>2]=c[f+8>>2];E=f+6|0;D=a[E>>0]|0;if(!(D<<24>>24))C=16;else{n=0;B=D;while(1){if((c[f+16+(n<<3)+4>>2]&64|0)!=0?(D=c[f+16+(n<<3)>>2]|0,(a[D+5>>0]&3)!=0):0){hc(b,D);F=a[E>>0]|0}else F=B;n=n+1|0;G=F&255;if(n>>>0>=G>>>0)break;else B=F}C=(G<<3)+16|0}break}case 8:{G=f+60|0;c[e>>2]=c[G>>2];F=b+76|0;c[G>>2]=c[F>>2];c[F>>2]=f;a[g>>0]=a[g>>0]&-5;g=f+28|0;F=c[g>>2]|0;if(!F)C=1;else{G=f+8|0;B=c[G>>2]|0;if(F>>>0>>0){n=F;E=B;while(1){if((c[n+4>>2]&64|0)!=0?(B=c[n>>2]|0,(a[B+5>>0]&3)!=0):0){hc(b,B);H=c[G>>2]|0}else H=E;B=n+8|0;if(B>>>0>>0){n=B;E=H}else{I=B;break}}}else I=F;if((a[b+49>>0]|0)==1){F=(c[g>>2]|0)+(c[f+32>>2]<<3)|0;if(I>>>0>>0){g=I;do{c[g+4>>2]=0;g=g+8|0}while(g>>>0>>0);J=112}else J=112}else{F=f+72|0;g=c[f+16>>2]|0;if((g|0)==(F|0))J=112;else{I=0;H=F;do{I=I+1|0;H=c[H+12>>2]|0}while((H|0)!=(g|0));J=(I*40|0)+112|0}}C=(c[f+32>>2]<<3)+J|0}break}case 9:{c[e>>2]=c[f+72>>2];e=f+32|0;J=c[e>>2]|0;if(J|0?a[J+5>>0]&3:0)c[e>>2]=0;e=c[f+36>>2]|0;if(e|0?a[e+5>>0]&3:0)hc(b,e);e=f+44|0;J=c[e>>2]|0;if((J|0)>0){I=f+8|0;g=0;H=J;while(1){J=c[I>>2]|0;if((c[J+(g<<3)+4>>2]&64|0)!=0?(F=c[J+(g<<3)>>2]|0,(a[F+5>>0]&3)!=0):0){hc(b,F);K=c[e>>2]|0}else K=H;g=g+1|0;if((g|0)>=(K|0))break;else H=K}}K=f+40|0;H=c[K>>2]|0;if((H|0)>0){g=f+28|0;I=0;F=H;while(1){H=c[(c[g>>2]|0)+(I<<3)>>2]|0;if((H|0)!=0?(a[H+5>>0]&3)!=0:0){hc(b,H);L=c[K>>2]|0}else L=F;I=I+1|0;if((I|0)>=(L|0))break;else F=L}}L=f+56|0;F=c[L>>2]|0;if((F|0)>0){I=f+16|0;g=0;H=F;while(1){J=c[(c[I>>2]|0)+(g<<2)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){hc(b,J);M=c[L>>2]|0}else M=H;g=g+1|0;if((g|0)>=(M|0)){N=M;break}else H=M}}else N=F;F=f+60|0;M=c[F>>2]|0;if((M|0)>0){H=f+24|0;g=0;I=M;while(1){J=c[(c[H>>2]|0)+(g*12|0)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){hc(b,J);O=c[F>>2]|0}else O=I;g=g+1|0;if((g|0)>=(O|0))break;else I=O}P=O;Q=c[L>>2]|0}else{P=M;Q=N}C=(P*12|0)+80+((c[f+48>>2]|0)+Q+(c[f+52>>2]|0)<<2)+((c[K>>2]|0)+(c[e>>2]|0)<<3)|0;break}default:return}e=b+16|0;c[e>>2]=(c[e>>2]|0)+C;return}function Kc(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;f=e+16|0;g=c[f>>2]|0;h=g+((1<<(d[e+7>>0]|0))*20|0)|0;i=e+28|0;j=c[i>>2]|0;if((j|0)>0){k=e+12|0;l=0;m=0;n=j;while(1){j=c[k>>2]|0;if((c[j+(m<<3)+4>>2]&64|0)!=0?(o=c[j+(m<<3)>>2]|0,(a[o+5>>0]&3)!=0):0){hc(b,o);p=1;q=c[i>>2]|0}else{p=l;q=n}m=m+1|0;if((m|0)>=(q|0))break;else{l=p;n=q}}r=p;s=c[f>>2]|0}else{r=0;s=g}if(s>>>0>>0){g=s;s=0;f=0;p=r;while(1){q=g+4|0;n=c[q>>2]|0;l=g+12|0;m=c[l>>2]|0;i=(m&64|0)==0;a:do if(!n)if(!i?(a[(c[g+8>>2]|0)+5>>0]&3)!=0:0){c[l>>2]=11;t=s;u=f;v=p}else{t=s;u=f;v=p}else{do if(i){w=n;x=19}else{k=c[g+8>>2]|0;if((m&15|0)==4){if(!k){w=n;x=19;break}if(!(a[k+5>>0]&3)){w=n;x=19;break}hc(b,k);w=c[q>>2]|0;x=19;break}o=(n&64|0)==0;if(!(a[k+5>>0]&3))if(o){t=s;u=f;v=p;break a}else break;if(o){t=s;u=1;v=p;break a}t=(a[(c[g>>2]|0)+5>>0]&3)==0?s:1;u=1;v=p;break a}while(0);if((x|0)==19?(x=0,(w&64|0)==0):0){t=s;u=f;v=p;break}o=c[g>>2]|0;if(!(a[o+5>>0]&3)){t=s;u=f;v=p}else{hc(b,o);t=s;u=f;v=1}}while(0);g=g+20|0;if(g>>>0>=h>>>0)break;else{s=t;f=u;p=v}}if(t|0){y=v;z=b+84|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}if(!u)C=v;else{y=v;z=b+88|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}}else C=r;y=C;z=b+76|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}function Lc(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;if((e|0)==(f|0))return;g=e;do{e=g+16|0;h=c[e>>2]|0;i=h+((1<<(d[g+7>>0]|0))*20|0)|0;j=g+28|0;if((c[j>>2]|0)>0){k=g+12|0;l=0;do{m=c[k>>2]|0;if(Rc(b,m+(l<<3)|0)|0)c[m+(l<<3)+4>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0));n=c[e>>2]|0}else n=h;if(n>>>0>>0){j=n;do{l=j+4|0;if(((c[l>>2]|0?Rc(b,j)|0:0)?(c[l>>2]=0,l=j+12|0,c[l>>2]&64|0):0)?a[(c[j+8>>2]|0)+5>>0]&3:0)c[l>>2]=11;j=j+20|0}while(j>>>0>>0)}g=c[g+24>>2]|0}while((g|0)!=(f|0));return}function Mc(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,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;e=b+12|0;f=c[e>>2]|0;a[f+49>>0]=2;c[f+52>>2]=0;g=f+60|0;h=d[f+48>>0]|0;i=(a[f+50>>0]|0)==2;j=c[g>>2]|0;a:do if(!j){k=0;l=1}else{m=i?64:0;n=i?64:h&3;o=i?255:184;p=h;q=1;r=j;while(1){s=p^3;t=g;u=1;v=r;while(1){if(!u)break;u=u+-1|0;w=v+5|0;x=d[w>>0]|0;if(!((x^3)&s)){c[t>>2]=c[v>>2];Nc(b,v);y=t}else{if(m&x|0){k=0;l=q;break a}if((a[v+4>>0]|0)==8)Oc(b,v);a[w>>0]=o&x|n;y=v}v=c[y>>2]|0;if(!v){k=0;l=q;break a}else t=y}if((t|0)!=(g|0)){k=t;l=q;break a}v=c[e>>2]|0;s=q+1|0;u=d[v+48>>0]|0;x=(a[v+50>>0]|0)==2;r=c[g>>2]|0;if(!r){k=0;l=s;break}else{m=x?64:0;n=x?64:u&3;o=x?255:184;p=u;q=s}}}while(0);c[f+68>>2]=k;k=f+56|0;g=0;b:while(1){g=g+1|0;y=c[e>>2]|0;j=d[y+48>>0]|0;h=j^3;i=(a[y+50>>0]|0)==2;y=i?255:184;q=i?64:j&3;j=i?64:0;i=c[k>>2]|0;if(!i){z=0;A=26;break}p=k;o=1;n=i;while(1){if(!o)break;o=o+-1|0;i=n+5|0;m=d[i>>0]|0;if(!((m^3)&h)){c[p>>2]=c[n>>2];Nc(b,n);B=p}else{if(j&m|0){z=0;A=26;break b}if((a[n+4>>0]|0)==8)Oc(b,n);a[i>>0]=y&m|q;B=n}n=c[B>>2]|0;if(!n){z=0;A=26;break b}else p=B}if((p|0)!=(k|0)){z=p;A=26;break}}if((A|0)==26){c[f+64>>2]=z;return g+l|0}return 0}function Nc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;do switch(a[e+4>>0]|0){case 9:{Pc(b,e);return}case 6:{f=(d[e+6>>0]<<2)+16|0;g=c[b+12>>2]|0;Ja[c[g>>2]&1](c[g+4>>2]|0,e,f,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)-f;return}case 38:{f=(d[e+6>>0]<<3)+16|0;h=c[b+12>>2]|0;Ja[c[h>>2]&1](c[h+4>>2]|0,e,f,0)|0;g=h+12|0;c[g>>2]=(c[g>>2]|0)-f;return}case 10:{f=e+12|0;if((c[e+8>>2]|0)!=(f|0)){g=e+16|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[f>>2]|0)+16>>2]=c[g>>2]}g=c[b+12>>2]|0;Ja[c[g>>2]&1](c[g+4>>2]|0,e,20,0)|0;f=g+12|0;c[f>>2]=(c[f>>2]|0)+-20;return}case 5:{f=c[e+16>>2]|0;if((f|0)==4209148)i=b+12|0;else{g=20<>0];h=b+12|0;j=c[h>>2]|0;Ja[c[j>>2]&1](c[j+4>>2]|0,f,g,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((f|0)==0?0:g);i=h}h=c[e+12>>2]|0;g=c[e+28>>2]<<3;f=c[i>>2]|0;Ja[c[f>>2]&1](c[f+4>>2]|0,h,g,0)|0;k=f+12|0;c[k>>2]=(c[k>>2]|0)-((h|0)==0?0:g);g=c[i>>2]|0;Ja[c[g>>2]&1](c[g+4>>2]|0,e,32,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)+-32;return}case 8:{Qc(b,e);return}case 7:{h=(c[e+16>>2]|0)+24|0;g=c[b+12>>2]|0;Ja[c[g>>2]&1](c[g+4>>2]|0,e,h,0)|0;k=g+12|0;c[k>>2]=(c[k>>2]|0)-h;return}case 4:{h=c[b+12>>2]|0;k=h+28|0;c[k>>2]=(c[k>>2]|0)+-1;l=h;break}case 20:{l=c[b+12>>2]|0;break}default:return}while(0);b=(c[e+12>>2]|0)+17|0;Ja[c[l>>2]&1](c[l+4>>2]|0,e,b,0)|0;e=l+12|0;c[e>>2]=(c[e>>2]|0)-b;return}function Oc(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;f=e+28|0;if(!(c[f>>2]|0))return;g=e+56|0;h=b+12|0;i=c[h>>2]|0;j=d[i+48>>0]|0;k=j^3;l=(a[i+50>>0]|0)==2;i=l?255:184;m=l?64:j&3;j=l?64:0;l=c[g>>2]|0;a:do if(l|0){n=g;o=-3;p=l;while(1){if(!o)break a;o=o+-1|0;q=p+5|0;r=d[q>>0]|0;if(!((r^3)&k)){c[n>>2]=c[p>>2];Nc(b,p);s=n}else{if(j&r|0)break a;if((a[p+4>>0]|0)==8)Oc(b,p);a[q>>0]=i&r|m;s=p}p=c[s>>2]|0;if(!p)break;else n=s}}while(0);s=e+16|0;m=(c[s>>2]|0)+12|0;i=c[m>>2]|0;c[m>>2]=0;if(i|0){m=e+12|0;b=i;do{i=b;b=c[b+12>>2]|0;j=c[m>>2]|0;Ja[c[j>>2]&1](c[j+4>>2]|0,i,40,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((i|0)==0?0:40)}while((b|0)!=0)}if((a[(c[h>>2]|0)+50>>0]|0)==1)return;h=c[e+8>>2]|0;b=c[s>>2]|0;if(!b)t=h;else{s=b;b=h;while(1){h=c[s+4>>2]|0;m=b>>>0>>0?h:b;s=c[s+8>>2]|0;if(!s){t=m;break}else b=m}}b=t-(c[f>>2]|0)|0;f=b>>3;t=f+11+((f+1|0)/8|0)|0;f=(t|0)<1e6?t:1e6;if((b|0)>7999992)return;if((f|0)>=(c[e+32>>2]|0))return;_b(e,f);return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+12>>2]|0;e=c[b+48>>2]<<2;f=a+12|0;a=c[f>>2]|0;Ja[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+16>>2]|0;d=c[b+56>>2]<<2;g=c[f>>2]|0;Ja[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+8>>2]|0;e=c[b+44>>2]<<3;a=c[f>>2]|0;Ja[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+20>>2]|0;d=c[b+52>>2]<<2;g=c[f>>2]|0;Ja[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+24>>2]|0;e=(c[b+60>>2]|0)*12|0;a=c[f>>2]|0;Ja[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+28>>2]|0;d=c[b+40>>2]<<3;g=c[f>>2]|0;Ja[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[f>>2]|0;Ja[c[d>>2]&1](c[d+4>>2]|0,b,80,0)|0;f=d+12|0;c[f>>2]=(c[f>>2]|0)-((b|0)==0?0:80);return}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=b+28|0;qc(b,c[d>>2]|0);e=c[d>>2]|0;if(e|0){c[b+16>>2]=b+72;f=b+84|0;g=c[f>>2]|0;c[f>>2]=0;f=b+12|0;if(!g)h=e;else{e=g;do{g=e;e=c[e+12>>2]|0;i=c[f>>2]|0;Ja[c[i>>2]&1](c[i+4>>2]|0,g,40,0)|0;j=i+12|0;c[j>>2]=(c[j>>2]|0)-((g|0)==0?0:40)}while((e|0)!=0);h=c[d>>2]|0}d=c[b+32>>2]<<3;e=c[f>>2]|0;Ja[c[e>>2]&1](c[e+4>>2]|0,h,d,0)|0;f=e+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:d)}d=c[a+12>>2]|0;Ja[c[d>>2]&1](c[d+4>>2]|0,b,112,0)|0;b=d+12|0;c[b>>2]=(c[b>>2]|0)+-112;return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if(!(e&64)){f=0;return f|0}g=c[d>>2]|0;if((e&15|0)!=4){f=a[g+5>>0]&3;return f|0}if(!g){f=0;return f|0}if(!(a[g+5>>0]&3)){f=0;return f|0}hc(b,g);f=0;return f|0}function Sc(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+28>>2]|0;if(b|0?(e=c[a+12>>2]|0,(c[e+(b+-1<<3)+4>>2]|0)==0):0){if(b>>>0<=1){f=0;return f|0}g=0;h=b;while(1){i=(g+h|0)>>>1;j=(c[e+(i+-1<<3)+4>>2]|0)==0;h=j?i:h;k=j?g:i;if((h-k|0)>>>0<=1){f=k;break}else g=k}return f|0}g=c[a+16>>2]|0;if((g|0)==4209148){f=b;return f|0}h=a+12|0;e=a+7|0;a=b;k=b+1|0;while(1){i=k+-1|0;a:do if(i>>>0>>0)l=(c[h>>2]|0)+(i<<3)|0;else{j=k<<16;m=0-j|0;n=g+(((((j|0)<0?((j|0)==(m|0)?0:m):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[n+12>>2]|0)==3?(c[n+8>>2]|0)==(j|0):0)break;m=c[n+16>>2]|0;if(!m){l=4209132;break a}else n=m}l=n}while(0);if(!(c[l+4>>2]|0))break;i=k<<1;if(i>>>0>2147483645){o=17;break}else{j=k;k=i;a=j}}if((o|0)==17){o=1;while(1){l=o+-1|0;b:do if(l>>>0>>0)p=(c[h>>2]|0)+(l<<3)|0;else{j=o<<16;i=0-j|0;m=g+(((((j|0)<0?((j|0)==(i|0)?0:i):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(j|0):0)break;i=c[m+16>>2]|0;if(!i){p=4209132;break b}else m=i}p=m}while(0);if(!(c[p+4>>2]|0)){f=l;break}else o=o+1|0}return f|0}if((k-a|0)>>>0<=1){f=a;return f|0}o=k;k=a;while(1){a=(o+k|0)>>>1;p=a+-1|0;c:do if(p>>>0>>0)q=(c[h>>2]|0)+(p<<3)|0;else{j=a<<16;n=0-j|0;i=g+(((((j|0)<0?((j|0)==(n|0)?0:n):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(j|0):0)break;n=c[i+16>>2]|0;if(!n){q=4209132;break c}else i=n}q=i}while(0);p=(c[q+4>>2]|0)==0;o=p?a:o;l=p?k:a;if((o-l|0)>>>0<=1){f=l;break}else k=l}return f|0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ca;Ca=Ca+16|0;e=(Uc(b,d)|0)==0;Ec(a,e?b:c,40445)}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ca;Ca=Ca+16|0;e=d;f=c[a+4>>2]|0;if((f|0)!=3)if((f&15|0)==4?(f=c[a>>2]|0,(vc(f+16|0,c[f+12>>2]|0,e)|0)!=0):0){c[b>>2]=c[e>>2];c[b+4>>2]=3;g=b}else g=0;else g=a;Ca=d;return g|0}function Vc(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;switch(c[e+4>>2]&63){case 3:{f=c[e>>2]|0;g=0-f|0;h=(c[b+16>>2]|0)+(((((f|0)<0?((f|0)==(g|0)?0:g):f)|0)%((1<>0])+-1|1|0)|0)*20|0)|0;return h|0}case 20:{f=c[e>>2]|0;g=f+6|0;if(!(a[g>>0]|0)){i=f+16|0;j=c[f+12>>2]|0;k=f+8|0;l=c[k>>2]^j;m=j>>>5;if(m>>>0>>0){n=~m;o=j;j=l;while(1){p=(j<<5)+(j>>>2)+(d[i+(o+-1)>>0]|0)^j;o=o+n|0;if(o>>>0<=m>>>0){q=p;break}else j=p}}else q=l;c[k>>2]=q;a[g>>0]=1;r=c[e>>2]|0}else r=f;h=(c[b+16>>2]|0)+(((1<>0])+-1&c[r+8>>2])*20|0)|0;return h|0}case 4:{h=(c[b+16>>2]|0)+(((1<>0])+-1&c[(c[e>>2]|0)+8>>2])*20|0)|0;return h|0}case 1:{h=(c[b+16>>2]|0)+(((1<>0])+-1&c[e>>2])*20|0)|0;return h|0}case 2:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}case 22:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}default:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}}return 0}function Wc(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;g=Ca;Ca=Ca+112|0;h=g;i=g+4|0;j=e+16|0;k=c[j>>2]|0;l=d[e+40>>0]|0;if(!(l&6)){m=f;n=c[k+8>>2]|0}else{if(!(l&2))o=f;else{l=e+28|0;p=c[l>>2]|0;q=f-p|0;f=c[e+52>>2]|0;r=p;if((f|0)!=0?(s=e+41|0,(a[s>>0]|0)!=0):0){t=e+8|0;u=c[t>>2]|0;v=u-p|0;w=k+4|0;x=(c[w>>2]|0)-p|0;c[i>>2]=1;c[i+20>>2]=-1;c[i+96>>2]=k;p=u;do if(((c[e+24>>2]|0)-u|0)<168){y=c[e+32>>2]|0;if((y|0)>1e6)Zb(e,6);z=(v>>3)+25|0;A=y<<1;y=(A|0)<1e6?A:1e6;A=(y|0)<(z|0)?z:y;if((A|0)>1e6){_b(e,1000200);$b(e,40049,h)}else{_b(e,A);B=c[t>>2]|0;break}}else B=p;while(0);c[w>>2]=B+160;a[s>>0]=0;B=k+18|0;a[B>>0]=a[B>>0]|2;Ma[f&7](e,i);a[s>>0]=1;s=c[l>>2]|0;c[w>>2]=s+x;c[t>>2]=s+v;a[B>>0]=a[B>>0]&-3;C=s}else C=r;o=C+q|0}q=c[k+8>>2]|0;c[e+20>>2]=c[q+28>>2];m=o;n=q}q=c[k>>2]|0;o=b[k+16>>1]|0;k=o<<16>>16;c[j>>2]=n;n=e+8|0;if(!(o<<16>>16)){D=q;c[n>>2]=D;E=k+1|0;Ca=g;return E|0}o=q;q=k;e=m;while(1){if(e>>>0>=(c[n>>2]|0)>>>0)break;m=o+8|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];j=q+-1|0;if(!j){D=m;F=22;break}else{o=m;q=j;e=e+8|0}}if((F|0)==22){c[n>>2]=D;E=k+1|0;Ca=g;return E|0}if((q|0)<=0){D=o;c[n>>2]=D;E=k+1|0;Ca=g;return E|0}F=o;o=q;while(1){q=F+8|0;c[F+4>>2]=0;if((o|0)>1){F=q;o=o+-1|0}else{D=q;break}}c[n>>2]=D;E=k+1|0;Ca=g;return E|0}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=d;d=ac(a,b,f)|0;Ca=e;return d|0}function Yc(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>>>0<41){f=Cc(b,d,e)|0;return f|0}if((e+1|0)>>>0>4294967277)jc(b);g=c[b+12>>2]|0;h=c[g+44>>2]|0;i=e+17|0;j=g+4|0;k=Ja[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if((i|0)!=0&(k|0)==0){if(!(a[g+51>>0]|0))Zb(b,4);ic(b,1);l=Ja[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if(!l)Zb(b,4);else m=l}else m=k;k=g+12|0;c[k>>2]=(c[k>>2]|0)+i;i=g+56|0;a[m+5>>0]=a[g+48>>0]&3;a[m+4>>0]=20;c[m>>2]=c[i>>2];c[i>>2]=m;c[m+12>>2]=e;c[m+8>>2]=h;a[m+6>>0]=0;h=m+16|0;Os(h|0,d|0,e|0)|0;a[h+e>>0]=0;f=m;return f|0}function Zc(a){a=a|0;return (c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)<=-1){d=a+8|0;c[d>>2]=(c[d>>2]|0)+(b+1<<3);return}d=c[c[a+16>>2]>>2]|0;e=a+8|0;a=c[e>>2]|0;f=d+8+(b<<3)|0;if(a>>>0>>0){g=((d+(b<<3)+4+(3-a)|0)>>>3)+1|0;b=a;do{c[b+4>>2]=0;b=b+8|0}while(b>>>0>>0);c[e>>2]=a+(g<<3)}c[e>>2]=f;return}function $c(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;g=b+16|0;h=c[g>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+36|0;break}j=-1001e3-e|0;k=c[h>>2]|0;if((c[k+4>>2]|0)==22)i=4209132;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?4209132:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(e<<3)|0;i=j>>>0<(c[b+8>>2]|0)>>>0?j:4209132}while(0);do if((f|0)<=0){if((f|0)>=-1000999){m=(c[b+8>>2]|0)+(f<<3)|0;break}if((f|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;break}e=-1001e3-f|0;j=c[h>>2]|0;if((c[j+4>>2]|0)==22)m=4209132;else{l=c[j>>2]|0;m=(e|0)>(d[l+6>>0]|0|0)?4209132:l+16+(e+-1<<3)|0}}else{e=(c[h>>2]|0)+(f<<3)|0;m=e>>>0<(c[b+8>>2]|0)>>>0?e:4209132}while(0);c[m>>2]=c[i>>2];h=i+4|0;c[m+4>>2]=c[h>>2];if((f|0)>=-1001e3)return;if(!(c[h>>2]&64))return;h=c[i>>2]|0;if(!(a[h+5>>0]&3))return;i=(c[c[c[g>>2]>>2]>>2]|0)+5|0;g=a[i>>0]|0;if(!(g&4))return;f=c[b+12>>2]|0;if((d[f+49>>0]|0)<2){hc(f,h);return}else{a[i>>0]=a[f+48>>0]&3|g&-72;return}}function ad(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)>0){f=(c[e>>2]|0)+(b<<3)|0;if(f>>>0<(c[a+8>>2]|0)>>>0)g=f;else{h=-1;return h|0}}else{if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}f=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|0)==22){h=-1;return h|0}j=c[i>>2]|0;if((f|0)>(d[j+6>>0]|0|0)){h=-1;return h|0}else g=j+16+(f+-1<<3)|0}while(0);if((g|0)==4209132){h=-1;return h|0}h=c[g+4>>2]&15;return h|0}function bd(a,b){a=a|0;b=b|0;return c[16+(b+1<<2)>>2]|0}function cd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ca;Ca=Ca+16|0;g=f+8|0;h=f;i=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;break}k=-1001e3-b|0;l=c[i>>2]|0;if((c[l+4>>2]|0)==22)j=4209132;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?4209132:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(b<<3)|0;j=k>>>0<(c[a+8>>2]|0)>>>0?k:4209132}while(0);a=c[j+4>>2]|0;do if((a|0)==3)n=j;else{if((a&15|0)==4?(b=c[j>>2]|0,vc(b+16|0,c[b+12>>2]|0,g)|0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;n=h;break}if(!e){o=0;Ca=f;return o|0}c[e>>2]=0;o=0;Ca=f;return o|0}while(0);if(e|0)c[e>>2]=1;o=c[n>>2]|0;Ca=f;return o|0}function dd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|0)==22)f=4209132;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?4209132:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:4209132}while(0);a=c[f+4>>2]|0;switch(a|0){case 1:{j=(c[f>>2]|0)!=0&1;return j|0}case 0:{j=a;return j|0}default:{j=1;return j|0}}return 0}function ed(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;g=b+16|0;h=c[g>>2]|0;i=(e|0)>0;do if(!i){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[h>>2]|0;if((c[l+4>>2]|0)==22)j=4209132;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0)?4209132:m+16+(k+-1<<3)|0}}else{k=(c[h>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:4209132}while(0);do if((c[j+4>>2]&15|0)!=4){if(!(fd(b,j)|0)){if(!f){n=0;return n|0}c[f>>2]=0;n=0;return n|0}h=b+12|0;k=c[h>>2]|0;m=k+12|0;l=c[m>>2]|0;do if((l|0)>0)if(!(a[k+51>>0]|0)){o=k+8|0;c[o>>2]=l+1600+(c[o>>2]|0);c[m>>2]=-1600;break}else{mc(b);break}while(0);m=c[g>>2]|0;if(i){l=(c[m>>2]|0)+(e<<3)|0;p=l>>>0<(c[b+8>>2]|0)>>>0?l:4209132;break}if((e|0)>=-1000999){p=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){p=(c[h>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[m>>2]|0;if((c[k+4>>2]|0)==22)p=4209132;else{m=c[k>>2]|0;p=(l|0)>(d[m+6>>0]|0)?4209132:m+16+(l+-1<<3)|0}}else p=j;while(0);if(f|0)c[f>>2]=c[(c[p>>2]|0)+12>>2];n=(c[p>>2]|0)+16|0;return n|0}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ca;Ca=Ca+32|0;f=e;g=d+4|0;if((c[g>>2]|0)!=3){h=0;Ca=e;return h|0}i=Bc(f,c[d>>2]|0)|0;if(i>>>0<41)j=Cc(b,f,i)|0;else{if((i+1|0)>>>0>4294967277)jc(b);k=c[b+12>>2]|0;l=c[k+44>>2]|0;m=i+17|0;n=k+4|0;o=Ja[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if((m|0)!=0&(o|0)==0){if(!(a[k+51>>0]|0))Zb(b,4);ic(b,1);p=Ja[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if(!p)Zb(b,4);else q=p}else q=o;o=k+12|0;c[o>>2]=(c[o>>2]|0)+m;m=k+56|0;a[q+5>>0]=a[k+48>>0]&3;a[q+4>>0]=20;c[q>>2]=c[m>>2];c[m>>2]=q;c[q+12>>2]=i;c[q+8>>2]=l;a[q+6>>0]=0;l=q+16|0;Os(l|0,f|0,i|0)|0;a[l+i>>0]=0;j=q}c[d>>2]=j;c[g>>2]=(a[j+4>>0]|64)&255;h=1;Ca=e;return h|0}function gd(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[a+4>>2]=0;c[b>>2]=a+8;return}function hd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=b;c[a+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;return}function id(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=b;c[a+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;return}function jd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{mc(b);break}while(0);g=Yc(b,d,e)|0;e=b+8|0;b=c[e>>2]|0;c[b>>2]=g;c[b+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return g+16|0}function kd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!d){e=b+8|0;f=c[e>>2]|0;c[f+4>>2]=0;c[e>>2]=f+8;g=0;return g|0}f=c[b+12>>2]|0;e=f+12|0;h=c[e>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[e>>2]=-1600;break}else{mc(b);break}while(0);e=Yc(b,d,Yq(d)|0)|0;d=b+8|0;b=c[d>>2]|0;c[b>>2]=e;c[b+4>>2]=(a[e+4>>0]|64)&255;c[d>>2]=(c[d>>2]|0)+8;g=e+16|0;return g|0}function ld(a,b){a=a|0;b=b|0;return Yc(a,b,Yq(b)|0)|0}function md(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{mc(b);break}while(0);return ac(b,d,e)|0}function nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Ca;Ca=Ca+16|0;g=f;h=c[b+12>>2]|0;i=h+12|0;j=c[i>>2]|0;do if((j|0)>0)if(!(a[h+51>>0]|0)){k=h+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[i>>2]=-1600;break}else{mc(b);break}while(0);c[g>>2]=e;e=ac(b,d,g)|0;Ca=f;return e|0}function od(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;if(!e){f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=f;i=22;j=g;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}g=b+12|0;f=c[g>>2]|0;n=f+12|0;o=c[n>>2]|0;if((o|0)<=0){p=(e<<3)+16|0;q=f+4|0;r=Ja[c[f>>2]&1](c[q>>2]|0,0,6,p)|0;if((p|0)!=0&(r|0)==0){if(!(a[f+51>>0]|0))Zb(b,4);ic(b,1);s=Ja[c[f>>2]&1](c[q>>2]|0,0,6,p)|0;if(!s)Zb(b,4);else{t=s;u=n;v=f;w=p}}else{t=r;u=n;v=f;w=p}}else{if(!(a[f+51>>0]|0)){p=f+8|0;c[p>>2]=o+1600+(c[p>>2]|0);c[n>>2]=-1600;x=f}else{mc(b);x=c[g>>2]|0}g=(e<<3)+16|0;f=x+4|0;n=Ja[c[x>>2]&1](c[f>>2]|0,0,6,g)|0;if((g|0)!=0&(n|0)==0){if(!(a[x+51>>0]|0))Zb(b,4);ic(b,1);p=Ja[c[x>>2]&1](c[f>>2]|0,0,6,g)|0;if(!p)Zb(b,4);else y=p}else y=n;t=y;u=x+12|0;v=x;w=g}c[u>>2]=(c[u>>2]|0)+w;w=v+56|0;a[t+5>>0]=a[v+48>>0]&3;a[t+4>>0]=38;c[t>>2]=c[w>>2];c[w>>2]=t;a[t+6>>0]=e;c[t+12>>2]=d;d=b+8|0;b=(c[d>>2]|0)+(0-e<<3)|0;c[d>>2]=b;w=e;e=b;do{w=w+-1|0;c[t+16+(w<<3)>>2]=c[e+(w<<3)>>2];c[t+16+(w<<3)+4>>2]=c[e+(w<<3)+4>>2];e=c[d>>2]|0}while((w|0)!=0);c[e>>2]=t;h=d;i=102;j=e;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}function pd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=(b|0)!=0&1;c[a+4>>2]=1;c[d>>2]=(c[d>>2]|0)+8;return}function qd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=4209132;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=Yc(b,e,Yq(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=(c[f>>2]|0)+-8|0;fc(b,g,j,j);return}function rd(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;f=b+12|0;g=c[f>>2]|0;h=g+12|0;i=c[h>>2]|0;do if((i|0)>0)if(!(a[g+51>>0]|0)){j=g+8|0;c[j>>2]=i+1600+(c[j>>2]|0);c[h>>2]=-1600;k=g;break}else{mc(b);k=c[f>>2]|0;break}else k=g;while(0);g=k+4|0;f=Ja[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!f){if(!(a[k+51>>0]|0))Zb(b,4);ic(b,1);h=Ja[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!h)Zb(b,4);else l=h}else l=f;f=k+12|0;c[f>>2]=(c[f>>2]|0)+32;f=k+56|0;a[l+5>>0]=a[k+48>>0]&3;a[l+4>>0]=5;c[l>>2]=c[f>>2];c[f>>2]=l;c[l+8>>2]=0;a[l+6>>0]=-1;c[l+12>>2]=0;c[l+28>>2]=0;c[l+16>>2]=4209148;a[l+7>>0]=0;c[l+20>>2]=4209148;f=b+8|0;k=c[f>>2]|0;c[k>>2]=l;c[k+4>>2]=69;c[f>>2]=(c[f>>2]|0)+8;if(!((d|0)>0|(e|0)>0))return;wc(b,l,d,e);return}function sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=4209132;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=Yc(b,e,Yq(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=c[f>>2]|0;gc(b,g,j+-8|0,j+-16|0);c[f>>2]=(c[f>>2]|0)+-16;return}function td(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,u=0;g=Ca;Ca=Ca+16|0;h=g;i=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[i>>2]|0;if((c[l+4>>2]|0)==22)j=4209132;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?4209132:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:4209132}while(0);e=c[j>>2]|0;i=b+8|0;k=c[i>>2]|0;m=k+-8|0;l=f+-1|0;a:do if(l>>>0<(c[e+28>>2]|0)>>>0){n=(c[e+12>>2]|0)+(l<<3)|0;o=16}else{p=f<<16;q=0-p|0;r=(c[e+16>>2]|0)+(((((p|0)<0?((p|0)==(q|0)?0:q):p)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[r+12>>2]|0)==3?(c[r+8>>2]|0)==(p|0):0)break;q=c[r+16>>2]|0;if(!q){o=17;break a}else r=q}n=r;o=16}while(0);if((o|0)==16)if((n|0)==4209132)o=17;else s=n;if((o|0)==17){c[h>>2]=f;c[h+4>>2]=3;s=lc(b,e,h)|0}c[s>>2]=c[m>>2];c[s+4>>2]=c[k+-4>>2];k=c[i>>2]|0;if(!(c[k+-4>>2]&64)){t=k;u=t+-8|0;c[i>>2]=u;Ca=g;return}if(!(a[(c[k+-8>>2]|0)+5>>0]&3)){t=k;u=t+-8|0;c[i>>2]=u;Ca=g;return}s=c[j>>2]|0;j=s+5|0;m=a[j>>0]|0;if(!(m&4)){t=k;u=t+-8|0;c[i>>2]=u;Ca=g;return}k=c[b+12>>2]|0;a[j>>0]=m&-5;m=k+76|0;c[s+24>>2]=c[m>>2];c[m>>2]=s;t=c[i>>2]|0;u=t+-8|0;c[i>>2]=u;Ca=g;return}function ud(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;f=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+36|0;break}h=-1001e3-e|0;i=c[f>>2]|0;if((c[i+4>>2]|0)==22)g=4209132;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?4209132:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(e<<3)|0;g=h>>>0<(c[b+8>>2]|0)>>>0?h:4209132}while(0);e=b+8|0;f=c[e>>2]|0;if(!(c[f+-4>>2]|0)){k=0;l=0}else{h=c[f+-8>>2]|0;k=h;l=h}h=c[g+4>>2]|0;switch(h&15){case 5:{c[(c[g>>2]|0)+8>>2]=l;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}if(a[k+5>>0]&3?(f=c[g>>2]|0,j=f+5|0,i=a[j>>0]|0,i&4):0){o=c[b+12>>2]|0;a[j>>0]=i&-5;i=o+76|0;c[f+24>>2]=c[i>>2];c[i>>2]=f}vd(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}case 7:{c[(c[g>>2]|0)+8>>2]=k;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}do if(a[l+5>>0]&3?(f=(c[g>>2]|0)+5|0,i=a[f>>0]|0,i&4):0){o=c[b+12>>2]|0;if((d[o+49>>0]|0)<2){hc(o,l);break}else{a[f>>0]=a[o+48>>0]&3|i&-72;break}}while(0);vd(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}default:{c[(c[b+12>>2]|0)+224+((h&15)<<2)>>2]=k;m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}}return 0}function vd(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,u=0,v=0,w=0,x=0,y=0;g=b+12|0;h=c[g>>2]|0;i=e+5|0;if((f|0)==0|(a[i>>0]&24)!=0)return;j=f+6|0;k=a[j>>0]|0;if(k&4)return;l=c[h+164>>2]|0;m=(c[f+16>>2]|0)+(((1<>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=6;break}f=c[m+16>>2]|0;if(!f){o=4209132;break}else m=f}if((n|0)==6)o=m;if(!(c[o+4>>2]|0)){a[j>>0]=k|4;return}if(!o)return;o=h+64|0;k=c[o>>2]|0;if((k|0)==(e|0)){j=h;while(1){m=d[j+48>>0]|0;n=m^3;l=(a[j+50>>0]|0)==2;f=l?255:184;p=l?64:m&3;m=l?64:0;l=c[k>>2]|0;a:do if(!l)q=0;else{r=k;s=1;t=l;while(1){if(!s){q=r;break a}s=s+-1|0;u=t+5|0;v=d[u>>0]|0;if(!((v^3)&n)){c[r>>2]=c[t>>2];Nc(b,t);w=r}else{if(m&v|0){q=0;break a}if((a[t+4>>0]|0)==8)Oc(b,t);a[u>>0]=f&v|p;w=t}t=c[w>>2]|0;if(!t){q=0;break}else r=w}}while(0);if((q|0)!=(k|0))break;j=c[g>>2]|0}c[o>>2]=q}q=h+56|0;o=c[q>>2]|0;if((o|0)==(e|0))x=q;else{q=o;while(1){o=c[q>>2]|0;if((o|0)==(e|0))break;else q=o}x=q}c[x>>2]=c[e>>2];x=h+60|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=a[i>>0]|16;a[i>>0]=e;x=e&255;if((d[h+49>>0]|0)<2)y=x&191;else y=x&184|a[h+48>>0]&3;a[i>>0]=y;return}function wd(e,f,g,h,i,j){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;k=Ca;Ca=Ca+16|0;l=k;m=k+8|0;if(!h)n=0;else{o=c[e+16>>2]|0;do if((h|0)<=0){if((h|0)>=-1000999){p=(c[e+8>>2]|0)+(h<<3)|0;break}if((h|0)==-1001e3){p=(c[e+12>>2]|0)+36|0;break}q=-1001e3-h|0;r=c[o>>2]|0;if((c[r+4>>2]|0)==22)p=4209132;else{s=c[r>>2]|0;p=(q|0)>(d[s+6>>0]|0)?4209132:s+16+(q+-1<<3)|0}}else{q=(c[o>>2]|0)+(h<<3)|0;p=q>>>0<(c[e+8>>2]|0)>>>0?q:4209132}while(0);n=p-(c[e+28>>2]|0)|0}p=e+8|0;h=(c[p>>2]|0)+(~f<<3)|0;c[m>>2]=h;f=h;if((j|0)!=0?(b[e+36>>1]|0)==0:0){o=c[e+16>>2]|0;c[o+28>>2]=j;c[o+24>>2]=i;c[o+20>>2]=f-(c[e+28>>2]|0);a[o+36>>0]=a[e+41>>0]|0;i=e+68|0;j=o+32|0;c[j>>2]=c[i>>2];c[i>>2]=n;q=o+18|0;a[q>>0]=a[q>>0]|16;o=e+38|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;if((s&65535)>199){if(s<<16>>16==200)$b(e,40064,l);if((s&65535)>224)Zb(e,6)}if(!(dc(e,h,g)|0))ec(e);b[o>>1]=(b[o>>1]|0)+-1<<16>>16;a[q>>0]=a[q>>0]&-17;c[i>>2]=c[j>>2];t=0}else{c[m+4>>2]=g;t=yd(e,1,m,f-(c[e+28>>2]|0)|0,n)|0}if((g|0)!=-1){Ca=k;return t|0}g=(c[e+16>>2]|0)+4|0;e=c[p>>2]|0;if((c[g>>2]|0)>>>0>=e>>>0){Ca=k;return t|0}c[g>>2]=e;Ca=k;return t|0}function xd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ca;Ca=Ca+16|0;f=e;g=c[d>>2]|0;h=c[d+4>>2]|0;d=a+38|0;i=(b[d>>1]|0)+1<<16>>16;b[d>>1]=i;if((i&65535)>199){if(i<<16>>16==200)$b(a,40064,f);if((i&65535)>224)Zb(a,6)}i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;if(!(dc(a,g,h)|0))ec(a);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ca=e;return}function yd(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,n=0,o=0,p=0,q=0,r=0;i=d+16|0;j=c[i>>2]|0;k=d+41|0;l=a[k>>0]|0;m=d+36|0;n=b[m>>1]|0;o=d+68|0;p=c[o>>2]|0;c[o>>2]=h;h=Yb(d,e,f)|0;if(!h){c[o>>2]=p;return h|0}f=d+28|0;e=(c[f>>2]|0)+g|0;qc(d,e);switch(h|0){case 4:{g=c[(c[d+12>>2]|0)+152>>2]|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}case 6:{g=Cc(d,40635,23)|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}default:{g=c[d+8>>2]|0;c[e>>2]=c[g+-8>>2];q=c[g+-4>>2]|0}}c[e+4>>2]=q;q=e+8|0;c[d+8>>2]=q;c[i>>2]=j;a[k>>0]=l;b[m>>1]=n;if(!j)r=q;else{n=j;j=q;while(1){q=c[n+4>>2]|0;m=j>>>0>>0?q:j;n=c[n+8>>2]|0;if(!n){r=m;break}else j=m}}j=r-(c[f>>2]|0)|0;f=j>>3;r=f+11+((f+1|0)/8|0)|0;f=(r|0)<1e6?r:1e6;if((j|0)>7999992){c[o>>2]=p;return h|0}if((f|0)>=(c[d+32>>2]|0)){c[o>>2]=p;return h|0}_b(d,f);c[o>>2]=p;return h|0}function zd(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;i=Ca;Ca=Ca+32|0;j=i;c[j+16>>2]=b;c[j+8>>2]=e;c[j+12>>2]=f;c[j>>2]=0;c[j+4>>2]=0;f=Ad(b,j,(g|0)==0?40297:g,h)|0;if(f|0){Ca=i;return f|0}h=c[(c[b+8>>2]|0)+-8>>2]|0;if((a[h+6>>0]|0)!=1){Ca=i;return f|0}g=b+12|0;b=c[(c[g>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)k=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;e=c[j+16>>2]|0;if(!e){k=4209132;break a}else j=e}k=j}while(0);b=h+16|0;h=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[k>>2];e=k+4|0;c[h+4>>2]=c[e>>2];if(!(c[e>>2]&64)){Ca=i;return f|0}e=c[k>>2]|0;if(!(a[e+5>>0]&3)){Ca=i;return f|0}k=(c[b>>2]|0)+5|0;b=a[k>>0]|0;if(!(b&4)){Ca=i;return f|0}h=c[g>>2]|0;if((d[h+49>>0]|0)<2){hc(h,e);Ca=i;return f|0}else{a[k>>0]=a[h+48>>0]&3|b&-72;Ca=i;return f|0}return 0}function Ad(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=Ca;Ca=Ca+64|0;h=g;i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;c[h>>2]=d;c[h+56>>2]=e;c[h+52>>2]=f;f=h+16|0;c[f>>2]=0;e=h+24|0;c[e>>2]=0;d=h+28|0;c[d>>2]=0;j=h+36|0;c[j>>2]=0;k=h+40|0;c[k>>2]=0;l=h+48|0;c[l>>2]=0;m=h+4|0;c[m>>2]=0;n=h+12|0;c[n>>2]=0;o=yd(a,2,h,(c[a+8>>2]|0)-(c[a+28>>2]|0)|0,c[a+68>>2]|0)|0;h=c[m>>2]|0;p=c[n>>2]|0;q=a+12|0;a=c[q>>2]|0;r=Ja[c[a>>2]&1](c[a+4>>2]|0,h,p,0)|0;s=a+12|0;c[s>>2]=(c[s>>2]|0)+((h|0)==0?0:0-p|0);c[m>>2]=r;c[n>>2]=0;n=c[f>>2]|0;f=c[e>>2]<<1;e=c[q>>2]|0;Ja[c[e>>2]&1](c[e+4>>2]|0,n,f,0)|0;r=e+12|0;c[r>>2]=(c[r>>2]|0)+((n|0)==0?0:0-f|0);f=c[d>>2]|0;d=c[j>>2]<<4;j=c[q>>2]|0;Ja[c[j>>2]&1](c[j+4>>2]|0,f,d,0)|0;n=j+12|0;c[n>>2]=(c[n>>2]|0)+((f|0)==0?0:0-d|0);d=c[k>>2]|0;k=c[l>>2]<<4;l=c[q>>2]|0;Ja[c[l>>2]&1](c[l+4>>2]|0,d,k,0)|0;q=l+12|0;c[q>>2]=(c[q>>2]|0)+((d|0)==0?0:0-k|0);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;Ca=g;return o|0}function Bd(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;f=Ca;Ca=Ca+32|0;g=f+8|0;h=f;i=f+16|0;j=c[e>>2]|0;k=c[j>>2]|0;c[j>>2]=k+-1;if(!k){k=Ia[c[j+8>>2]&7](c[j+16>>2]|0,c[j+12>>2]|0,i)|0;l=c[i>>2]|0;if((k|0)==0|(l|0)==0)m=-1;else{c[j>>2]=l+-1;c[j+4>>2]=k+1;m=d[k>>0]|0}n=m}else{m=j+4|0;j=c[m>>2]|0;c[m>>2]=j+1;n=d[j>>0]|0}j=c[e+52>>2]|0;m=(j|0)==0;if((n|0)==27){if(!m?(ir(j,98)|0)==0:0){c[h>>2]=40701;c[h+4>>2]=j;Xc(b,40659,h)|0;Zb(b,3)}o=Cd(b,c[e>>2]|0,e+4|0,c[e+56>>2]|0)|0}else{if(!m?(ir(j,116)|0)==0:0){c[g>>2]=40708;c[g+4>>2]=j;Xc(b,40659,g)|0;Zb(b,3)}o=Dd(b,c[e>>2]|0,e+4|0,e+16|0,c[e+56>>2]|0,n)|0}n=o+6|0;if(!(a[n>>0]|0)){Ca=f;return}e=b+12|0;g=o+16|0;j=o+5|0;o=0;while(1){m=c[e>>2]|0;h=m+4|0;k=Ja[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!k){if(!(a[m+51>>0]|0)){p=20;break}ic(b,1);l=Ja[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!l){p=20;break}else q=l}else q=k;k=m+12|0;c[k>>2]=(c[k>>2]|0)+20;k=m+56|0;l=q+5|0;a[l>>0]=a[m+48>>0]&3;a[q+4>>0]=10;c[q>>2]=c[k>>2];c[k>>2]=q;c[q+8>>2]=q+12;c[q+16>>2]=0;c[g+(o<<2)>>2]=q;do if(a[l>>0]&3?(k=a[j>>0]|0,k&4):0){m=c[e>>2]|0;if((d[m+49>>0]|0)<2){hc(m,q);break}else{a[j>>0]=a[m+48>>0]&3|k&-72;break}}while(0);o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0){p=27;break}}if((p|0)==20)Zb(b,4);else if((p|0)==27){Ca=f;return}}function Cd(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ca;Ca=Ca+96|0;i=h+56|0;j=h+80|0;k=h+32|0;l=h;m=h+64|0;switch(a[g>>0]|0){case 61:case 64:{n=g+1|0;break}case 27:{n=41769;break}default:n=g}c[m+12>>2]=n;c[m>>2]=d;c[m+4>>2]=e;c[m+8>>2]=f;c[k>>2]=1635077147;a[k+4>>0]=82;a[k+5>>0]=0;f=k+7|0;a[k+6>>0]=1;n=k+12|0;a[f>>0]=4;a[f+1>>0]=4;a[f+2>>0]=4;a[f+3>>0]=4;a[k+11>>0]=1;c[n>>2]=c[8386];b[n+4>>1]=b[16774]|0;a[l>>0]=27;n=e+16|0;f=e+8|0;g=e+12|0;o=e+4|0;p=17;q=l+1|0;r=c[e>>2]|0;while(1){if(!r){s=Ia[c[f>>2]&7](c[n>>2]|0,c[g>>2]|0,j)|0;t=c[j>>2]|0;if((s|0)==0|(t|0)==0){u=10;break}c[e>>2]=t;c[o>>2]=s;v=t;w=s}else{v=r;w=c[o>>2]|0}s=p>>>0>v>>>0?v:p;Os(q|0,w|0,s|0)|0;r=(c[e>>2]|0)-s|0;c[e>>2]=r;c[o>>2]=(c[o>>2]|0)+s;p=p-s|0;if(!p)break;else q=q+s|0}if((u|0)==10)Ge(m,41783);if(jq(k,l,18)|0){if((c[k>>2]|0)!=(c[l>>2]|0))Ge(m,41793);if(jq(k,l,6)|0)Ge(m,41799);if(!(jq(k,l,12)|0))Ge(m,41832);else Ge(m,41819)}l=d+12|0;k=c[l>>2]|0;u=k+4|0;q=Ja[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!q){if(!(a[k+51>>0]|0))Zb(d,4);ic(d,1);p=Ja[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!p)Zb(d,4);else x=p}else x=q;q=k+12|0;c[q>>2]=(c[q>>2]|0)+20;q=k+56|0;a[x+5>>0]=a[k+48>>0]&3;a[x+4>>0]=6;c[x>>2]=c[q>>2];c[q>>2]=x;q=x+12|0;c[q>>2]=0;a[x+6>>0]=1;c[x+16>>2]=0;k=d+8|0;p=c[k>>2]|0;c[p>>2]=x;c[p+4>>2]=70;p=(c[k>>2]|0)+8|0;c[k>>2]=p;u=p;do if(((c[d+24>>2]|0)-u|0)<8){p=c[d+32>>2]|0;if((p|0)>1e6)Zb(d,6);o=(u-(c[d+28>>2]|0)>>3)+5|0;r=p<<1;p=(r|0)<1e6?r:1e6;r=(p|0)<(o|0)?o:p;if((r|0)>1e6){_b(d,1000200);$b(d,40049,i)}else{_b(d,r);break}}while(0);i=c[l>>2]|0;l=i+4|0;u=Ja[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!u){if(!(a[i+51>>0]|0))Zb(d,4);ic(d,1);r=Ja[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!r)Zb(d,4);else y=r}else y=u;u=i+12|0;c[u>>2]=(c[u>>2]|0)+80;u=i+56|0;a[y+5>>0]=a[i+48>>0]&3;a[y+4>>0]=9;c[y>>2]=c[u>>2];c[u>>2]=y;a[y+76>>0]=0;a[y+77>>0]=0;a[y+78>>0]=0;u=y+8|0;i=u+64|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(i|0));c[q>>2]=y;He(m,y);y=c[q>>2]|0;q=c[y+40>>2]|0;if((q|0)==1){z=x;Ca=h;return z|0}x=xc(d,q)|0;c[x+12>>2]=y;y=c[k>>2]|0;c[y+-8>>2]=x;c[y+-4>>2]=70;z=x;Ca=h;return z|0}function Dd(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=Ca;Ca=Ca+160|0;k=j+8|0;l=j;m=j+144|0;n=j+128|0;o=j+64|0;p=j+12|0;q=d+12|0;r=c[q>>2]|0;s=r+4|0;t=Ja[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!t){if(!(a[r+51>>0]|0))Zb(d,4);ic(d,1);u=Ja[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!u)Zb(d,4);else v=u}else v=t;t=r+12|0;c[t>>2]=(c[t>>2]|0)+20;t=r+56|0;a[v+5>>0]=a[r+48>>0]&3;a[v+4>>0]=6;c[v>>2]=c[t>>2];c[t>>2]=v;t=v+12|0;c[t>>2]=0;a[v+6>>0]=1;c[v+16>>2]=0;r=d+8|0;u=c[r>>2]|0;c[u>>2]=v;c[u+4>>2]=70;u=(c[r>>2]|0)+8|0;c[r>>2]=u;r=u;do if(((c[d+24>>2]|0)-r|0)<8){u=c[d+32>>2]|0;if((u|0)>1e6)Zb(d,6);s=(r-(c[d+28>>2]|0)>>3)+5|0;w=u<<1;u=(w|0)<1e6?w:1e6;w=(u|0)<(s|0)?s:u;if((w|0)>1e6){_b(d,1000200);$b(d,40049,l)}else{_b(d,w);break}}while(0);l=c[q>>2]|0;q=l+4|0;r=Ja[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!r){if(!(a[l+51>>0]|0))Zb(d,4);ic(d,1);w=Ja[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!w)Zb(d,4);else x=w}else x=r;r=l+12|0;c[r>>2]=(c[r>>2]|0)+80;r=l+56|0;a[x+5>>0]=a[l+48>>0]&3;a[x+4>>0]=9;c[x>>2]=c[r>>2];c[r>>2]=x;a[x+76>>0]=0;a[x+77>>0]=0;a[x+78>>0]=0;r=x+8|0;l=r+64|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(l|0));c[t>>2]=x;c[p>>2]=x;t=Yc(d,h,Yq(h)|0)|0;c[x+36>>2]=t;h=o+40|0;c[h>>2]=f;f=o+44|0;c[f>>2]=g;c[g+28>>2]=0;c[g+16>>2]=0;c[g+4>>2]=0;a[o+56>>0]=46;g=o+32|0;c[g>>2]=d;c[o>>2]=i;c[o+20>>2]=286;c[o+36>>2]=e;e=o+28|0;c[e>>2]=0;i=o+4|0;c[i>>2]=1;r=o+8|0;c[r>>2]=1;l=o+48|0;c[l>>2]=t;t=Cc(d,40367,4)|0;d=o+52|0;c[d>>2]=t;w=t+5|0;a[w>>0]=a[w>>0]|32;w=c[g>>2]|0;g=c[h>>2]|0;h=c[g>>2]|0;t=g+8|0;q=c[t>>2]|0;u=w+12|0;s=c[u>>2]|0;y=(h|0)==0;z=s+4|0;A=Ja[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!A){if(!(a[s+51>>0]|0))Zb(w,4);ic(w,1);B=Ja[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!B)Zb(w,4);else C=B}else C=A;A=s+12|0;c[A>>2]=(c[A>>2]|0)+(y?32:32-q|0);c[g>>2]=C;c[t>>2]=32;c[p+8>>2]=c[e>>2];t=p+12|0;c[t>>2]=o;c[e>>2]=p;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=-1;c[p+32>>2]=0;c[p+36>>2]=0;e=p+44|0;c[e>>2]=0;a[e+4>>0]=0;c[p+40>>2]=c[(c[f>>2]|0)+4>>2];f=p+16|0;c[f>>2]=0;c[x+36>>2]=c[l>>2];a[x+78>>0]=2;x=c[u>>2]|0;u=x+4|0;l=Ja[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!l){if(!(a[x+51>>0]|0))Zb(w,4);ic(w,1);e=Ja[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!e)Zb(w,4);else D=e}else D=l;l=x+12|0;c[l>>2]=(c[l>>2]|0)+32;l=x+56|0;a[D+5>>0]=a[x+48>>0]&3;a[D+4>>0]=5;c[D>>2]=c[l>>2];c[l>>2]=D;c[D+8>>2]=0;a[D+6>>0]=-1;c[D+12>>2]=0;c[D+28>>2]=0;c[D+16>>2]=4209148;a[D+7>>0]=0;c[D+20>>2]=4209148;c[p+4>>2]=D;l=w+8|0;x=c[l>>2]|0;c[x>>2]=D;c[x+4>>2]=69;x=(c[l>>2]|0)+8|0;c[l>>2]=x;l=x;do if(((c[w+24>>2]|0)-l|0)<8){x=c[w+32>>2]|0;if((x|0)>1e6)Zb(w,6);D=(l-(c[w+28>>2]|0)>>3)+5|0;e=x<<1;x=(e|0)<1e6?e:1e6;e=(x|0)<(D|0)?D:x;if((e|0)>1e6){_b(w,1000200);$b(w,40049,k)}else{_b(w,e);break}}while(0);a[m+10>>0]=0;a[m+8>>0]=a[p+46>>0]|0;w=c[(c[t>>2]|0)+44>>2]|0;b[m+4>>1]=c[w+28>>2];b[m+6>>1]=c[w+16>>2];a[m+9>>0]=0;c[m>>2]=c[f>>2];c[f>>2]=m;a[(c[p>>2]|0)+77>>0]=1;c[n+8>>2]=-1;c[n+12>>2]=-1;c[n>>2]=7;c[n+4>>2]=0;Ed(p,c[d>>2]|0,n)|0;c[r>>2]=c[i>>2];i=o+20|0;if((c[i>>2]|0)==286){r=Fd(o,o+16|0)|0;n=o+12|0;c[n>>2]=r;E=r;F=n}else{n=i;r=c[n>>2]|0;d=c[n+4>>2]|0;n=o+12|0;c[n>>2]=r;c[n+4>>2]=d;c[i>>2]=286;E=r;F=o+12|0}r=E;a:while(1){switch(r|0){case 277:case 286:case 262:case 261:case 260:{G=r;break a;break}default:{}}Gd(o);E=c[F>>2]|0;if((r|0)==274){G=E;break}else r=E}if((G|0)==286){Id(o);Ca=j;return v|0}else Hd(o,286);return 0}function Ed(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;g=c[b>>2]|0;h=g+40|0;i=c[h>>2]|0;j=b+47|0;k=a[j>>0]|0;if(k<<24>>24==-1)Xd(b,255,41760);if((i|0)>(k&255|0))l=i;else{k=g+28|0;c[k>>2]=Nd(c[(c[b+12>>2]|0)+32>>2]|0,c[k>>2]|0,h,8,255,41760)|0;l=c[h>>2]|0}h=c[g+28>>2]|0;if((i|0)<(l|0)){k=i;do{c[h+(k<<3)>>2]=0;k=k+1|0}while((k|0)<(l|0))}l=d[j>>0]|0;a[h+(l<<3)+4>>0]=(c[f>>2]|0)==7&1;a[h+(l<<3)+5>>0]=c[f+4>>2];c[h+(l<<3)>>2]=e;if(!(a[e+5>>0]&3)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}l=g+5|0;g=a[l>>0]|0;if(!(g&4)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}h=c[(c[(c[b+12>>2]|0)+32>>2]|0)+12>>2]|0;if((d[h+49>>0]|0)<2){hc(h,e);m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}else{a[l>>0]=a[h+48>>0]&3|g&-72;m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}return 0}function Fd(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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0;f=Ca;Ca=Ca+16|0;g=f+12|0;h=f;i=b+40|0;c[(c[i>>2]|0)+4>>2]=0;j=b+36|0;a:while(1){k=c[b>>2]|0;b:do switch(k|0){case 91:{l=34;break a;break}case 61:{l=38;break a;break}case 60:{l=50;break a;break}case 62:{l=62;break a;break}case 126:{l=74;break a;break}case 58:{l=86;break a;break}case 39:case 34:{l=98;break a;break}case 46:{l=239;break a;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{m=k;break a;break}case -1:{n=286;l=443;break a;break}case 13:case 10:{Ae(b);break}case 11:case 9:case 12:case 32:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=Ia[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)r=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;r=d[p>>0]|0}s=r}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;s=d[o>>0]|0}c[b>>2]=s;break}case 45:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=Ia[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)t=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;t=d[p>>0]|0}u=t}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;u=d[o>>0]|0}c[b>>2]=u;if((u|0)!=45){n=45;l=443;break a}o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=Ia[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)v=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;v=d[p>>0]|0}w=v}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;w=d[o>>0]|0}c[b>>2]=w;do if((w|0)==91){o=Be(b)|0;c[(c[i>>2]|0)+4>>2]=0;if((o|0)>-1){Ce(b,0,o);c[(c[i>>2]|0)+4>>2]=0;break b}else{x=c[b>>2]|0;break}}else x=w;while(0);o=x;while(1){switch(o|0){case -1:case 13:case 10:{break b;break}default:{}}p=c[j>>2]|0;q=c[p>>2]|0;c[p>>2]=q+-1;if(!q){q=Ia[c[p+8>>2]&7](c[p+16>>2]|0,c[p+12>>2]|0,g)|0;y=c[g>>2]|0;if((q|0)==0|(y|0)==0)z=-1;else{c[p>>2]=y+-1;c[p+4>>2]=q+1;z=d[q>>0]|0}A=z}else{q=p+4|0;p=c[q>>2]|0;c[q>>2]=p+1;A=d[p>>0]|0}c[b>>2]=A;o=A}break}default:{l=415;break a}}while(0)}switch(l|0){case 34:{A=Be(b)|0;if((A|0)>-1){Ce(b,e,A);n=289;Ca=f;return n|0}if((A|0)==-1){n=91;Ca=f;return n|0}else Vd(b,41535,289);break}case 38:{A=c[j>>2]|0;z=c[A>>2]|0;c[A>>2]=z+-1;if(!z){z=Ia[c[A+8>>2]&7](c[A+16>>2]|0,c[A+12>>2]|0,g)|0;x=c[g>>2]|0;if((z|0)==0|(x|0)==0)B=-1;else{c[A>>2]=x+-1;c[A+4>>2]=z+1;B=d[z>>0]|0}C=B}else{B=A+4|0;A=c[B>>2]|0;c[B>>2]=A+1;C=d[A>>0]|0}c[b>>2]=C;if((C|0)!=61){n=61;Ca=f;return n|0}C=c[j>>2]|0;A=c[C>>2]|0;c[C>>2]=A+-1;if(!A){A=Ia[c[C+8>>2]&7](c[C+16>>2]|0,c[C+12>>2]|0,g)|0;B=c[g>>2]|0;if((A|0)==0|(B|0)==0)D=-1;else{c[C>>2]=B+-1;c[C+4>>2]=A+1;D=d[A>>0]|0}E=D}else{D=C+4|0;C=c[D>>2]|0;c[D>>2]=C+1;E=d[C>>0]|0}c[b>>2]=E;n=281;Ca=f;return n|0}case 50:{E=c[j>>2]|0;C=c[E>>2]|0;c[E>>2]=C+-1;if(!C){C=Ia[c[E+8>>2]&7](c[E+16>>2]|0,c[E+12>>2]|0,g)|0;D=c[g>>2]|0;if((C|0)==0|(D|0)==0)F=-1;else{c[E>>2]=D+-1;c[E+4>>2]=C+1;F=d[C>>0]|0}G=F}else{F=E+4|0;E=c[F>>2]|0;c[F>>2]=E+1;G=d[E>>0]|0}c[b>>2]=G;if((G|0)!=61){n=60;Ca=f;return n|0}G=c[j>>2]|0;E=c[G>>2]|0;c[G>>2]=E+-1;if(!E){E=Ia[c[G+8>>2]&7](c[G+16>>2]|0,c[G+12>>2]|0,g)|0;F=c[g>>2]|0;if((E|0)==0|(F|0)==0)H=-1;else{c[G>>2]=F+-1;c[G+4>>2]=E+1;H=d[E>>0]|0}I=H}else{H=G+4|0;G=c[H>>2]|0;c[H>>2]=G+1;I=d[G>>0]|0}c[b>>2]=I;n=283;Ca=f;return n|0}case 62:{I=c[j>>2]|0;G=c[I>>2]|0;c[I>>2]=G+-1;if(!G){G=Ia[c[I+8>>2]&7](c[I+16>>2]|0,c[I+12>>2]|0,g)|0;H=c[g>>2]|0;if((G|0)==0|(H|0)==0)J=-1;else{c[I>>2]=H+-1;c[I+4>>2]=G+1;J=d[G>>0]|0}K=J}else{J=I+4|0;I=c[J>>2]|0;c[J>>2]=I+1;K=d[I>>0]|0}c[b>>2]=K;if((K|0)!=61){n=62;Ca=f;return n|0}K=c[j>>2]|0;I=c[K>>2]|0;c[K>>2]=I+-1;if(!I){I=Ia[c[K+8>>2]&7](c[K+16>>2]|0,c[K+12>>2]|0,g)|0;J=c[g>>2]|0;if((I|0)==0|(J|0)==0)L=-1;else{c[K>>2]=J+-1;c[K+4>>2]=I+1;L=d[I>>0]|0}M=L}else{L=K+4|0;K=c[L>>2]|0;c[L>>2]=K+1;M=d[K>>0]|0}c[b>>2]=M;n=282;Ca=f;return n|0}case 74:{M=c[j>>2]|0;K=c[M>>2]|0;c[M>>2]=K+-1;if(!K){K=Ia[c[M+8>>2]&7](c[M+16>>2]|0,c[M+12>>2]|0,g)|0;L=c[g>>2]|0;if((K|0)==0|(L|0)==0)N=-1;else{c[M>>2]=L+-1;c[M+4>>2]=K+1;N=d[K>>0]|0}O=N}else{N=M+4|0;M=c[N>>2]|0;c[N>>2]=M+1;O=d[M>>0]|0}c[b>>2]=O;if((O|0)!=61){n=126;Ca=f;return n|0}O=c[j>>2]|0;M=c[O>>2]|0;c[O>>2]=M+-1;if(!M){M=Ia[c[O+8>>2]&7](c[O+16>>2]|0,c[O+12>>2]|0,g)|0;N=c[g>>2]|0;if((M|0)==0|(N|0)==0)P=-1;else{c[O>>2]=N+-1;c[O+4>>2]=M+1;P=d[M>>0]|0}Q=P}else{P=O+4|0;O=c[P>>2]|0;c[P>>2]=O+1;Q=d[O>>0]|0}c[b>>2]=Q;n=284;Ca=f;return n|0}case 86:{Q=c[j>>2]|0;O=c[Q>>2]|0;c[Q>>2]=O+-1;if(!O){O=Ia[c[Q+8>>2]&7](c[Q+16>>2]|0,c[Q+12>>2]|0,g)|0;P=c[g>>2]|0;if((O|0)==0|(P|0)==0)R=-1;else{c[Q>>2]=P+-1;c[Q+4>>2]=O+1;R=d[O>>0]|0}S=R}else{R=Q+4|0;Q=c[R>>2]|0;c[R>>2]=Q+1;S=d[Q>>0]|0}c[b>>2]=S;if((S|0)!=58){n=58;Ca=f;return n|0}S=c[j>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=Ia[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;R=c[g>>2]|0;if((Q|0)==0|(R|0)==0)T=-1;else{c[S>>2]=R+-1;c[S+4>>2]=Q+1;T=d[Q>>0]|0}U=T}else{T=S+4|0;S=c[T>>2]|0;c[T>>2]=S+1;U=d[S>>0]|0}c[b>>2]=U;n=285;Ca=f;return n|0}case 98:{U=c[i>>2]|0;S=U+4|0;T=c[S>>2]|0;Q=T+1|0;R=U+8|0;O=c[R>>2]|0;if(Q>>>0>O>>>0){if(O>>>0>2147483645)Vd(b,40941,0);P=O<<1;M=c[b+32>>2]|0;if((P|0)==-2)jc(M);N=c[U>>2]|0;K=c[M+12>>2]|0;L=(N|0)==0;I=K+4|0;J=Ja[c[K>>2]&1](c[I>>2]|0,N,O,P)|0;if((P|0)!=0&(J|0)==0){if(!(a[K+51>>0]|0))Zb(M,4);ic(M,1);G=Ja[c[K>>2]&1](c[I>>2]|0,N,O,P)|0;if(!G)Zb(M,4);else V=G}else V=J;J=K+12|0;c[J>>2]=(L?0:0-O|0)+P+(c[J>>2]|0);c[U>>2]=V;c[R>>2]=P;P=c[S>>2]|0;W=P+1|0;X=V;Y=P}else{W=Q;X=c[U>>2]|0;Y=T}T=k&255;c[S>>2]=W;a[X+Y>>0]=T;Y=c[j>>2]|0;X=c[Y>>2]|0;c[Y>>2]=X+-1;if(!X){X=Ia[c[Y+8>>2]&7](c[Y+16>>2]|0,c[Y+12>>2]|0,g)|0;W=c[g>>2]|0;if((X|0)==0|(W|0)==0)Z=-1;else{c[Y>>2]=W+-1;c[Y+4>>2]=X+1;Z=d[X>>0]|0}_=Z}else{Z=Y+4|0;Y=c[Z>>2]|0;c[Z>>2]=Y+1;_=d[Y>>0]|0}c[b>>2]=_;c:do if((_|0)!=(k|0)){Y=b+32|0;Z=h+4|0;X=h+8|0;W=_;d:while(1){e:do switch(W|0){case -1:{l=117;break d;break}case 13:case 10:{l=118;break d;break}case 92:{S=c[j>>2]|0;U=c[S>>2]|0;c[S>>2]=U+-1;if(!U){U=Ia[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;Q=c[g>>2]|0;if((U|0)==0|(Q|0)==0)$=-1;else{c[S>>2]=Q+-1;c[S+4>>2]=U+1;$=d[U>>0]|0}aa=$}else{U=S+4|0;S=c[U>>2]|0;c[U>>2]=S+1;aa=d[S>>0]|0}c[b>>2]=aa;do switch(aa|0){case -1:{ba=aa;break e;break}case 97:{ca=7;l=186;break}case 98:{ca=8;l=186;break}case 102:{ca=12;l=186;break}case 110:{ca=10;l=186;break}case 114:{ca=13;l=186;break}case 116:{ca=9;l=186;break}case 118:{ca=11;l=186;break}case 120:{c[h>>2]=120;S=c[j>>2]|0;U=c[S>>2]|0;c[S>>2]=U+-1;if(!U){U=Ia[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;Q=c[g>>2]|0;if((U|0)==0|(Q|0)==0)da=-1;else{c[S>>2]=Q+-1;c[S+4>>2]=U+1;da=d[U>>0]|0}ea=da}else{U=S+4|0;S=c[U>>2]|0;c[U>>2]=S+1;ea=d[S>>0]|0}c[b>>2]=ea;c[Z>>2]=ea;if(!(a[64+(ea+1)>>0]&16)){fa=2;l=137;break d}S=ea+-48|0;U=S>>>0<10?S:(ea|32)+268435369|0;S=c[j>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=Ia[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;P=c[g>>2]|0;if((Q|0)==0|(P|0)==0)ga=-1;else{c[S>>2]=P+-1;c[S+4>>2]=Q+1;ga=d[Q>>0]|0}ha=ga}else{Q=S+4|0;S=c[Q>>2]|0;c[Q>>2]=S+1;ha=d[S>>0]|0}c[b>>2]=ha;c[X>>2]=ha;if(!(a[64+(ha+1)>>0]&16)){fa=3;l=137;break d}S=ha+-48|0;ca=(S>>>0<10?S:(ha|32)+-87|0)+(U<<4)|0;l=186;break}case 13:case 10:{Ae(b);ia=10;break}case 39:case 34:case 92:{ca=aa;l=186;break}case 122:{U=c[j>>2]|0;S=c[U>>2]|0;c[U>>2]=S+-1;if(!S){S=Ia[c[U+8>>2]&7](c[U+16>>2]|0,c[U+12>>2]|0,g)|0;Q=c[g>>2]|0;if((S|0)==0|(Q|0)==0)ja=-1;else{c[U>>2]=Q+-1;c[U+4>>2]=S+1;ja=d[S>>0]|0}ka=ja}else{S=U+4|0;U=c[S>>2]|0;c[S>>2]=U+1;ka=d[U>>0]|0}c[b>>2]=ka;if(!(a[64+(ka+1)>>0]&8)){ba=ka;break e}U=ka;while(1){switch(U|0){case 13:case 10:{Ae(b);la=c[b>>2]|0;break}default:{S=c[j>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=Ia[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;P=c[g>>2]|0;if((Q|0)==0|(P|0)==0)ma=-1;else{c[S>>2]=P+-1;c[S+4>>2]=Q+1;ma=d[Q>>0]|0}na=ma}else{Q=S+4|0;S=c[Q>>2]|0;c[Q>>2]=S+1;na=d[S>>0]|0}c[b>>2]=na;la=na}}if(!(a[64+(la+1)>>0]&8)){ba=la;break e}else U=la}break}default:{U=aa+-48|0;if(U>>>0>=10){l=164;break d}c[h>>2]=aa;S=c[j>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=Ia[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;P=c[g>>2]|0;if((Q|0)==0|(P|0)==0)oa=-1;else{c[S>>2]=P+-1;c[S+4>>2]=Q+1;oa=d[Q>>0]|0}pa=oa}else{Q=S+4|0;S=c[Q>>2]|0;c[Q>>2]=S+1;pa=d[S>>0]|0}c[b>>2]=pa;S=pa+-48|0;if(S>>>0<10){c[Z>>2]=pa;Q=S+(U*10|0)|0;S=c[j>>2]|0;P=c[S>>2]|0;c[S>>2]=P+-1;if(!P){P=Ia[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;V=c[g>>2]|0;if((P|0)==0|(V|0)==0)qa=-1;else{c[S>>2]=V+-1;c[S+4>>2]=P+1;qa=d[P>>0]|0}ra=qa}else{P=S+4|0;S=c[P>>2]|0;c[P>>2]=S+1;ra=d[S>>0]|0}c[b>>2]=ra;S=ra+-48|0;if(S>>>0<10){c[X>>2]=ra;P=S+(Q*10|0)|0;S=c[j>>2]|0;V=c[S>>2]|0;c[S>>2]=V+-1;if(!V){V=Ia[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;R=c[g>>2]|0;if((V|0)==0|(R|0)==0)sa=-1;else{c[S>>2]=R+-1;c[S+4>>2]=V+1;sa=d[V>>0]|0}ta=sa}else{V=S+4|0;S=c[V>>2]|0;c[V>>2]=S+1;ta=d[S>>0]|0}c[b>>2]=ta;ua=P;va=3}else{ua=Q;va=2}if((ua|0)>255){l=172;break d}else wa=ua}else wa=U;ia=wa}}while(0);if((l|0)==186){l=0;U=c[j>>2]|0;Q=c[U>>2]|0;c[U>>2]=Q+-1;if(!Q){Q=Ia[c[U+8>>2]&7](c[U+16>>2]|0,c[U+12>>2]|0,g)|0;P=c[g>>2]|0;if((Q|0)==0|(P|0)==0)xa=-1;else{c[U>>2]=P+-1;c[U+4>>2]=Q+1;xa=d[Q>>0]|0}ya=xa}else{Q=U+4|0;U=c[Q>>2]|0;c[Q>>2]=U+1;ya=d[U>>0]|0}c[b>>2]=ya;ia=ca}U=c[i>>2]|0;Q=U+4|0;P=c[Q>>2]|0;S=P+1|0;V=U+8|0;R=c[V>>2]|0;if(S>>>0>R>>>0){if(R>>>0>2147483645){l=195;break d}J=R<<1;za=c[Y>>2]|0;if((J|0)==-2){l=197;break d}O=c[U>>2]|0;L=c[za+12>>2]|0;K=(O|0)==0;G=L+4|0;M=Ja[c[L>>2]&1](c[G>>2]|0,O,R,J)|0;if((J|0)!=0&(M|0)==0){if(!(a[L+51>>0]|0)){l=201;break d}ic(za,1);N=Ja[c[L>>2]&1](c[G>>2]|0,O,R,J)|0;if(!N){l=201;break d}else Aa=N}else Aa=M;M=L+12|0;c[M>>2]=(K?0:0-R|0)+J+(c[M>>2]|0);c[U>>2]=Aa;c[V>>2]=J;J=c[Q>>2]|0;Ba=J+1|0;Da=Aa;Ea=J}else{Ba=S;Da=c[U>>2]|0;Ea=P}c[Q>>2]=Ba;a[Da+Ea>>0]=ia;ba=c[b>>2]|0;break}default:{Q=c[i>>2]|0;P=Q+4|0;U=c[P>>2]|0;S=U+1|0;J=Q+8|0;V=c[J>>2]|0;if(S>>>0>V>>>0){if(V>>>0>2147483645){l=207;break d}M=V<<1;Fa=c[Y>>2]|0;if((M|0)==-2){l=209;break d}R=c[Q>>2]|0;K=c[Fa+12>>2]|0;L=(R|0)==0;N=K+4|0;O=Ja[c[K>>2]&1](c[N>>2]|0,R,V,M)|0;if((M|0)!=0&(O|0)==0){if(!(a[K+51>>0]|0)){l=213;break d}ic(Fa,1);G=Ja[c[K>>2]&1](c[N>>2]|0,R,V,M)|0;if(!G){l=213;break d}else Ga=G}else Ga=O;O=K+12|0;c[O>>2]=(L?0:0-V|0)+M+(c[O>>2]|0);c[Q>>2]=Ga;c[J>>2]=M;M=c[P>>2]|0;Ha=M+1|0;Ka=Ga;La=M}else{Ha=S;Ka=c[Q>>2]|0;La=U}c[P>>2]=Ha;a[Ka+La>>0]=W;P=c[j>>2]|0;U=c[P>>2]|0;c[P>>2]=U+-1;if(!U){U=Ia[c[P+8>>2]&7](c[P+16>>2]|0,c[P+12>>2]|0,g)|0;Q=c[g>>2]|0;if((U|0)==0|(Q|0)==0)Ma=-1;else{c[P>>2]=Q+-1;c[P+4>>2]=U+1;Ma=d[U>>0]|0}Na=Ma}else{U=P+4|0;P=c[U>>2]|0;c[U>>2]=P+1;Na=d[P>>0]|0}c[b>>2]=Na;ba=Na}}while(0);if((ba|0)==(k|0))break c;else W=ba}switch(l|0){case 117:{Vd(b,41565,286);break}case 118:{Vd(b,41565,289);break}case 137:{De(b,h,fa,41583);break}case 164:{De(b,b,1,41610);break}case 172:{De(b,h,va,41634);break}case 195:{Vd(b,40941,0);break}case 197:{jc(za);break}case 201:{Zb(za,4);break}case 207:{Vd(b,40941,0);break}case 209:{jc(Fa);break}case 213:{Zb(Fa,4);break}}}while(0);Fa=c[i>>2]|0;za=Fa+4|0;va=c[za>>2]|0;h=va+1|0;fa=Fa+8|0;ba=c[fa>>2]|0;if(h>>>0>ba>>>0){if(ba>>>0>2147483645)Vd(b,40941,0);Na=ba<<1;Ma=c[b+32>>2]|0;if((Na|0)==-2)jc(Ma);La=c[Fa>>2]|0;Ka=c[Ma+12>>2]|0;Ha=(La|0)==0;Ga=Ka+4|0;ia=Ja[c[Ka>>2]&1](c[Ga>>2]|0,La,ba,Na)|0;if((Na|0)!=0&(ia|0)==0){if(!(a[Ka+51>>0]|0))Zb(Ma,4);ic(Ma,1);Ea=Ja[c[Ka>>2]&1](c[Ga>>2]|0,La,ba,Na)|0;if(!Ea)Zb(Ma,4);else Oa=Ea}else Oa=ia;ia=Ka+12|0;c[ia>>2]=(Ha?0:0-ba|0)+Na+(c[ia>>2]|0);c[Fa>>2]=Oa;c[fa>>2]=Na;Na=c[za>>2]|0;Pa=Na+1|0;Qa=Oa;Ra=Na}else{Pa=h;Qa=c[Fa>>2]|0;Ra=va}c[za>>2]=Pa;a[Qa+Ra>>0]=T;T=c[j>>2]|0;Ra=c[T>>2]|0;c[T>>2]=Ra+-1;if(!Ra){Ra=Ia[c[T+8>>2]&7](c[T+16>>2]|0,c[T+12>>2]|0,g)|0;Qa=c[g>>2]|0;if((Ra|0)==0|(Qa|0)==0)Sa=-1;else{c[T>>2]=Qa+-1;c[T+4>>2]=Ra+1;Sa=d[Ra>>0]|0}Ta=Sa}else{Sa=T+4|0;T=c[Sa>>2]|0;c[Sa>>2]=T+1;Ta=d[T>>0]|0}c[b>>2]=Ta;Ta=c[i>>2]|0;c[e>>2]=Ld(b,(c[Ta>>2]|0)+1|0,(c[Ta+4>>2]|0)+-2|0)|0;n=289;Ca=f;return n|0}case 239:{Ta=c[i>>2]|0;T=Ta+4|0;Sa=c[T>>2]|0;Ra=Sa+1|0;Qa=Ta+8|0;Pa=c[Qa>>2]|0;if(Ra>>>0>Pa>>>0){if(Pa>>>0>2147483645)Vd(b,40941,0);za=Pa<<1;va=c[b+32>>2]|0;if((za|0)==-2)jc(va);Fa=c[Ta>>2]|0;h=c[va+12>>2]|0;Na=(Fa|0)==0;Oa=h+4|0;fa=Ja[c[h>>2]&1](c[Oa>>2]|0,Fa,Pa,za)|0;if((za|0)!=0&(fa|0)==0){if(!(a[h+51>>0]|0))Zb(va,4);ic(va,1);ia=Ja[c[h>>2]&1](c[Oa>>2]|0,Fa,Pa,za)|0;if(!ia)Zb(va,4);else Ua=ia}else Ua=fa;fa=h+12|0;c[fa>>2]=(Na?0:0-Pa|0)+za+(c[fa>>2]|0);c[Ta>>2]=Ua;c[Qa>>2]=za;za=c[T>>2]|0;Va=za+1|0;Wa=Ua;Xa=za}else{Va=Ra;Wa=c[Ta>>2]|0;Xa=Sa}c[T>>2]=Va;a[Wa+Xa>>0]=46;Xa=c[j>>2]|0;Wa=c[Xa>>2]|0;c[Xa>>2]=Wa+-1;if(!Wa){Wa=Ia[c[Xa+8>>2]&7](c[Xa+16>>2]|0,c[Xa+12>>2]|0,g)|0;Va=c[g>>2]|0;if((Wa|0)==0|(Va|0)==0)Ya=-1;else{c[Xa>>2]=Va+-1;c[Xa+4>>2]=Wa+1;Ya=d[Wa>>0]|0}Za=Ya}else{Ya=Xa+4|0;Xa=c[Ya>>2]|0;c[Ya>>2]=Xa+1;Za=d[Xa>>0]|0}c[b>>2]=Za;if(!Za){n=46;Ca=f;return n|0}if(!(Aq(59070,Za,2)|0)){if((Za+-48|0)>>>0<10){m=Za;break}else n=46;Ca=f;return n|0}Xa=c[i>>2]|0;Ya=Xa+4|0;Wa=c[Ya>>2]|0;Va=Wa+1|0;T=Xa+8|0;Sa=c[T>>2]|0;if(Va>>>0>Sa>>>0){if(Sa>>>0>2147483645)Vd(b,40941,0);Ta=Sa<<1;Ra=c[b+32>>2]|0;if((Ta|0)==-2)jc(Ra);za=c[Xa>>2]|0;Ua=c[Ra+12>>2]|0;Qa=(za|0)==0;fa=Ua+4|0;Pa=Ja[c[Ua>>2]&1](c[fa>>2]|0,za,Sa,Ta)|0;if((Ta|0)!=0&(Pa|0)==0){if(!(a[Ua+51>>0]|0))Zb(Ra,4);ic(Ra,1);Na=Ja[c[Ua>>2]&1](c[fa>>2]|0,za,Sa,Ta)|0;if(!Na)Zb(Ra,4);else _a=Na}else _a=Pa;Pa=Ua+12|0;c[Pa>>2]=(Qa?0:0-Sa|0)+Ta+(c[Pa>>2]|0);c[Xa>>2]=_a;c[T>>2]=Ta;Ta=c[Ya>>2]|0;$a=Ta+1|0;ab=_a;bb=Ta}else{$a=Va;ab=c[Xa>>2]|0;bb=Wa}c[Ya>>2]=$a;a[ab+bb>>0]=Za;Za=c[j>>2]|0;bb=c[Za>>2]|0;c[Za>>2]=bb+-1;if(!bb){bb=Ia[c[Za+8>>2]&7](c[Za+16>>2]|0,c[Za+12>>2]|0,g)|0;ab=c[g>>2]|0;if((bb|0)==0|(ab|0)==0)cb=-1;else{c[Za>>2]=ab+-1;c[Za+4>>2]=bb+1;cb=d[bb>>0]|0}db=cb}else{cb=Za+4|0;Za=c[cb>>2]|0;c[cb>>2]=Za+1;db=d[Za>>0]|0}c[b>>2]=db;if(!db){n=279;Ca=f;return n|0}if(!(Aq(59070,db,2)|0)){n=279;Ca=f;return n|0}Za=c[i>>2]|0;cb=Za+4|0;bb=c[cb>>2]|0;ab=bb+1|0;$a=Za+8|0;Ya=c[$a>>2]|0;if(ab>>>0>Ya>>>0){if(Ya>>>0>2147483645)Vd(b,40941,0);Wa=Ya<<1;Xa=c[b+32>>2]|0;if((Wa|0)==-2)jc(Xa);Va=c[Za>>2]|0;Ta=c[Xa+12>>2]|0;_a=(Va|0)==0;T=Ta+4|0;Pa=Ja[c[Ta>>2]&1](c[T>>2]|0,Va,Ya,Wa)|0;if((Wa|0)!=0&(Pa|0)==0){if(!(a[Ta+51>>0]|0))Zb(Xa,4);ic(Xa,1);Sa=Ja[c[Ta>>2]&1](c[T>>2]|0,Va,Ya,Wa)|0;if(!Sa)Zb(Xa,4);else eb=Sa}else eb=Pa;Pa=Ta+12|0;c[Pa>>2]=(_a?0:0-Ya|0)+Wa+(c[Pa>>2]|0);c[Za>>2]=eb;c[$a>>2]=Wa;Wa=c[cb>>2]|0;fb=Wa+1|0;gb=eb;hb=Wa}else{fb=ab;gb=c[Za>>2]|0;hb=bb}c[cb>>2]=fb;a[gb+hb>>0]=db;db=c[j>>2]|0;hb=c[db>>2]|0;c[db>>2]=hb+-1;if(!hb){hb=Ia[c[db+8>>2]&7](c[db+16>>2]|0,c[db+12>>2]|0,g)|0;gb=c[g>>2]|0;if((hb|0)==0|(gb|0)==0)ib=-1;else{c[db>>2]=gb+-1;c[db+4>>2]=hb+1;ib=d[hb>>0]|0}jb=ib}else{ib=db+4|0;db=c[ib>>2]|0;c[ib>>2]=db+1;jb=d[db>>0]|0}c[b>>2]=jb;n=280;Ca=f;return n|0}case 415:{if(!((k|0)==95|(ts(k)|0)!=0)?!((k|0)<0|(k+-128|0)>>>0<26):0){jb=c[j>>2]|0;db=c[jb>>2]|0;c[jb>>2]=db+-1;if(!db){db=Ia[c[jb+8>>2]&7](c[jb+16>>2]|0,c[jb+12>>2]|0,g)|0;ib=c[g>>2]|0;if((db|0)==0|(ib|0)==0)kb=-1;else{c[jb>>2]=ib+-1;c[jb+4>>2]=db+1;kb=d[db>>0]|0}lb=kb}else{kb=jb+4|0;jb=c[kb>>2]|0;c[kb>>2]=jb+1;lb=d[jb>>0]|0}c[b>>2]=lb;n=k;Ca=f;return n|0}lb=b+32|0;jb=k;while(1){k=c[i>>2]|0;kb=k+4|0;db=c[kb>>2]|0;ib=db+1|0;hb=k+8|0;gb=c[hb>>2]|0;if(ib>>>0>gb>>>0){if(gb>>>0>2147483645){l=421;break}fb=gb<<1;mb=c[lb>>2]|0;if((fb|0)==-2){l=423;break}cb=c[k>>2]|0;bb=c[mb+12>>2]|0;Za=(cb|0)==0;ab=bb+4|0;Wa=Ja[c[bb>>2]&1](c[ab>>2]|0,cb,gb,fb)|0;if((fb|0)!=0&(Wa|0)==0){if(!(a[bb+51>>0]|0)){l=427;break}ic(mb,1);eb=Ja[c[bb>>2]&1](c[ab>>2]|0,cb,gb,fb)|0;if(!eb){l=427;break}else nb=eb}else nb=Wa;Wa=bb+12|0;c[Wa>>2]=(Za?0:0-gb|0)+fb+(c[Wa>>2]|0);c[k>>2]=nb;c[hb>>2]=fb;fb=c[kb>>2]|0;ob=fb+1|0;pb=nb;qb=fb}else{ob=ib;pb=c[k>>2]|0;qb=db}c[kb>>2]=ob;a[pb+qb>>0]=jb;kb=c[j>>2]|0;db=c[kb>>2]|0;c[kb>>2]=db+-1;if(!db){db=Ia[c[kb+8>>2]&7](c[kb+16>>2]|0,c[kb+12>>2]|0,g)|0;k=c[g>>2]|0;if((db|0)==0|(k|0)==0)rb=-1;else{c[kb>>2]=k+-1;c[kb+4>>2]=db+1;rb=d[db>>0]|0}sb=rb}else{db=kb+4|0;kb=c[db>>2]|0;c[db>>2]=kb+1;sb=d[kb>>0]|0}c[b>>2]=sb;if((ss(sb)|0)!=0|(sb|0)==95|(sb+-128|0)>>>0<26|(sb|0)<0)jb=sb;else{l=435;break}}if((l|0)==421)Vd(b,40941,0);else if((l|0)==423)jc(mb);else if((l|0)==427)Zb(mb,4);else if((l|0)==435){mb=c[i>>2]|0;sb=Ld(b,c[mb>>2]|0,c[mb+4>>2]|0)|0;c[e>>2]=sb;if((a[sb+4>>0]|0)==4){mb=a[sb+6>>0]|0;Ca=f;return (mb<<24>>24==0?288:mb&255|256)|0}else{n=288;Ca=f;return n|0}}break}case 443:{Ca=f;return n|0}}mb=c[i>>2]|0;sb=mb+4|0;jb=c[sb>>2]|0;rb=jb+1|0;qb=mb+8|0;pb=c[qb>>2]|0;if(rb>>>0>pb>>>0){if(pb>>>0>2147483645)Vd(b,40941,0);ob=pb<<1;nb=c[b+32>>2]|0;if((ob|0)==-2)jc(nb);lb=c[mb>>2]|0;kb=c[nb+12>>2]|0;db=(lb|0)==0;k=kb+4|0;ib=Ja[c[kb>>2]&1](c[k>>2]|0,lb,pb,ob)|0;if((ob|0)!=0&(ib|0)==0){if(!(a[kb+51>>0]|0))Zb(nb,4);ic(nb,1);fb=Ja[c[kb>>2]&1](c[k>>2]|0,lb,pb,ob)|0;if(!fb)Zb(nb,4);else tb=fb}else tb=ib;ib=kb+12|0;c[ib>>2]=(db?0:0-pb|0)+ob+(c[ib>>2]|0);c[mb>>2]=tb;c[qb>>2]=ob;ob=c[sb>>2]|0;ub=ob+1|0;vb=tb;wb=ob}else{ub=rb;vb=c[mb>>2]|0;wb=jb}c[sb>>2]=ub;a[vb+wb>>0]=m;wb=c[j>>2]|0;vb=c[wb>>2]|0;c[wb>>2]=vb+-1;if(!vb){vb=Ia[c[wb+8>>2]&7](c[wb+16>>2]|0,c[wb+12>>2]|0,g)|0;ub=c[g>>2]|0;if((vb|0)==0|(ub|0)==0)xb=-1;else{c[wb>>2]=ub+-1;c[wb+4>>2]=vb+1;xb=d[vb>>0]|0}yb=xb}else{xb=wb+4|0;wb=c[xb>>2]|0;c[xb>>2]=wb+1;yb=d[wb>>0]|0}c[b>>2]=yb;if(!((m|0)!=48|(yb|0)==0)?(Aq(41659,yb,3)|0)!=0:0){m=c[i>>2]|0;wb=m+4|0;xb=c[wb>>2]|0;vb=xb+1|0;ub=m+8|0;sb=c[ub>>2]|0;if(vb>>>0>sb>>>0){if(sb>>>0>2147483645)Vd(b,40941,0);jb=sb<<1;mb=c[b+32>>2]|0;if((jb|0)==-2)jc(mb);rb=c[m>>2]|0;ob=c[mb+12>>2]|0;tb=(rb|0)==0;qb=ob+4|0;ib=Ja[c[ob>>2]&1](c[qb>>2]|0,rb,sb,jb)|0;if((jb|0)!=0&(ib|0)==0){if(!(a[ob+51>>0]|0))Zb(mb,4);ic(mb,1);pb=Ja[c[ob>>2]&1](c[qb>>2]|0,rb,sb,jb)|0;if(!pb)Zb(mb,4);else zb=pb}else zb=ib;ib=ob+12|0;c[ib>>2]=(tb?0:0-sb|0)+jb+(c[ib>>2]|0);c[m>>2]=zb;c[ub>>2]=jb;jb=c[wb>>2]|0;Ab=jb+1|0;Bb=zb;Cb=jb}else{Ab=vb;Bb=c[m>>2]|0;Cb=xb}c[wb>>2]=Ab;a[Bb+Cb>>0]=yb;Cb=c[j>>2]|0;Bb=c[Cb>>2]|0;c[Cb>>2]=Bb+-1;if(!Bb){Bb=Ia[c[Cb+8>>2]&7](c[Cb+16>>2]|0,c[Cb+12>>2]|0,g)|0;Ab=c[g>>2]|0;if((Bb|0)==0|(Ab|0)==0)Db=-1;else{c[Cb>>2]=Ab+-1;c[Cb+4>>2]=Bb+1;Db=d[Bb>>0]|0}Eb=Db}else{Db=Cb+4|0;Cb=c[Db>>2]|0;c[Db>>2]=Cb+1;Eb=d[Cb>>0]|0}c[b>>2]=Eb;Fb=41665;Gb=Eb}else{Fb=41662;Gb=yb}yb=b+32|0;Eb=Gb;while(1){if(Eb)if(Aq(Fb,Eb,3)|0){Gb=c[i>>2]|0;Cb=Gb+4|0;Db=c[Cb>>2]|0;Bb=Db+1|0;Ab=Gb+8|0;wb=c[Ab>>2]|0;if(Bb>>>0>wb>>>0){if(wb>>>0>2147483645){l=334;break}xb=wb<<1;Hb=c[yb>>2]|0;if((xb|0)==-2){l=336;break}m=c[Gb>>2]|0;vb=c[Hb+12>>2]|0;jb=(m|0)==0;zb=vb+4|0;ub=Ja[c[vb>>2]&1](c[zb>>2]|0,m,wb,xb)|0;if((xb|0)!=0&(ub|0)==0){if(!(a[vb+51>>0]|0)){l=340;break}ic(Hb,1);ib=Ja[c[vb>>2]&1](c[zb>>2]|0,m,wb,xb)|0;if(!ib){l=340;break}else Ib=ib}else Ib=ub;ub=vb+12|0;c[ub>>2]=(jb?0:0-wb|0)+xb+(c[ub>>2]|0);c[Gb>>2]=Ib;c[Ab>>2]=xb;xb=c[Cb>>2]|0;Jb=xb+1|0;Kb=Ib;Lb=xb}else{Jb=Bb;Kb=c[Gb>>2]|0;Lb=Db}c[Cb>>2]=Jb;a[Kb+Lb>>0]=Eb;Cb=c[j>>2]|0;Db=c[Cb>>2]|0;c[Cb>>2]=Db+-1;if(!Db){Db=Ia[c[Cb+8>>2]&7](c[Cb+16>>2]|0,c[Cb+12>>2]|0,g)|0;Gb=c[g>>2]|0;if((Db|0)==0|(Gb|0)==0)Mb=-1;else{c[Cb>>2]=Gb+-1;c[Cb+4>>2]=Db+1;Mb=d[Db>>0]|0}Nb=Mb}else{Db=Cb+4|0;Cb=c[Db>>2]|0;c[Db>>2]=Cb+1;Nb=d[Cb>>0]|0}c[b>>2]=Nb;if(Nb)if(!(Aq(41668,Nb,3)|0))Ob=Nb;else{Cb=c[i>>2]|0;Db=Cb+4|0;Gb=c[Db>>2]|0;Bb=Gb+1|0;xb=Cb+8|0;Ab=c[xb>>2]|0;if(Bb>>>0>Ab>>>0){if(Ab>>>0>2147483645){l=352;break}ub=Ab<<1;Pb=c[yb>>2]|0;if((ub|0)==-2){l=354;break}wb=c[Cb>>2]|0;jb=c[Pb+12>>2]|0;vb=(wb|0)==0;ib=jb+4|0;m=Ja[c[jb>>2]&1](c[ib>>2]|0,wb,Ab,ub)|0;if((ub|0)!=0&(m|0)==0){if(!(a[jb+51>>0]|0)){l=358;break}ic(Pb,1);zb=Ja[c[jb>>2]&1](c[ib>>2]|0,wb,Ab,ub)|0;if(!zb){l=358;break}else Qb=zb}else Qb=m;m=jb+12|0;c[m>>2]=(vb?0:0-Ab|0)+ub+(c[m>>2]|0);c[Cb>>2]=Qb;c[xb>>2]=ub;ub=c[Db>>2]|0;Rb=ub+1|0;Sb=Qb;Tb=ub}else{Rb=Bb;Sb=c[Cb>>2]|0;Tb=Gb}c[Db>>2]=Rb;a[Sb+Tb>>0]=Nb;Db=c[j>>2]|0;Gb=c[Db>>2]|0;c[Db>>2]=Gb+-1;if(!Gb){Gb=Ia[c[Db+8>>2]&7](c[Db+16>>2]|0,c[Db+12>>2]|0,g)|0;Cb=c[g>>2]|0;if((Gb|0)==0|(Cb|0)==0)Ub=-1;else{c[Db>>2]=Cb+-1;c[Db+4>>2]=Gb+1;Ub=d[Gb>>0]|0}Vb=Ub}else{Gb=Db+4|0;Db=c[Gb>>2]|0;c[Gb>>2]=Db+1;Vb=d[Db>>0]|0}c[b>>2]=Vb;Ob=Vb}else Ob=0}else Ob=Eb;else Ob=0;Wb=c[i>>2]|0;Xb=Wb+4|0;Yb=c[Xb>>2]|0;_b=Yb+1|0;$b=Wb+8|0;ac=c[$b>>2]|0;bc=_b>>>0>ac>>>0;if(!((Ob|0)==46?1:(a[64+(Ob+1)>>0]&16)!=0)){l=384;break}if(bc){if(ac>>>0>2147483645){l=370;break}Db=ac<<1;cc=c[yb>>2]|0;if((Db|0)==-2){l=372;break}Gb=c[Wb>>2]|0;Cb=c[cc+12>>2]|0;Bb=(Gb|0)==0;ub=Cb+4|0;xb=Ja[c[Cb>>2]&1](c[ub>>2]|0,Gb,ac,Db)|0;if((Db|0)!=0&(xb|0)==0){if(!(a[Cb+51>>0]|0)){l=376;break}ic(cc,1);m=Ja[c[Cb>>2]&1](c[ub>>2]|0,Gb,ac,Db)|0;if(!m){l=376;break}else dc=m}else dc=xb;xb=Cb+12|0;c[xb>>2]=(Bb?0:0-ac|0)+Db+(c[xb>>2]|0);c[Wb>>2]=dc;c[$b>>2]=Db;Db=c[Xb>>2]|0;ec=Db+1|0;fc=dc;gc=Db}else{ec=_b;fc=c[Wb>>2]|0;gc=Yb}c[Xb>>2]=ec;a[fc+gc>>0]=Ob;Db=c[j>>2]|0;xb=c[Db>>2]|0;c[Db>>2]=xb+-1;if(!xb){xb=Ia[c[Db+8>>2]&7](c[Db+16>>2]|0,c[Db+12>>2]|0,g)|0;Bb=c[g>>2]|0;if((xb|0)==0|(Bb|0)==0)hc=-1;else{c[Db>>2]=Bb+-1;c[Db+4>>2]=xb+1;hc=d[xb>>0]|0}kc=hc}else{xb=Db+4|0;Db=c[xb>>2]|0;c[xb>>2]=Db+1;kc=d[Db>>0]|0}c[b>>2]=kc;Eb=kc}switch(l|0){case 334:{Vd(b,40941,0);break}case 336:{jc(Hb);break}case 340:{Zb(Hb,4);break}case 352:{Vd(b,40941,0);break}case 354:{jc(Pb);break}case 358:{Zb(Pb,4);break}case 370:{Vd(b,40941,0);break}case 372:{jc(cc);break}case 376:{Zb(cc,4);break}case 384:{if(bc){if(ac>>>0>2147483645)Vd(b,40941,0);bc=ac<<1;cc=c[yb>>2]|0;if((bc|0)==-2)jc(cc);yb=c[Wb>>2]|0;Pb=c[cc+12>>2]|0;Hb=(yb|0)==0;l=Pb+4|0;kc=Ja[c[Pb>>2]&1](c[l>>2]|0,yb,ac,bc)|0;if((bc|0)!=0&(kc|0)==0){if(!(a[Pb+51>>0]|0))Zb(cc,4);ic(cc,1);Eb=Ja[c[Pb>>2]&1](c[l>>2]|0,yb,ac,bc)|0;if(!Eb)Zb(cc,4);else lc=Eb}else lc=kc;kc=Pb+12|0;c[kc>>2]=(Hb?0:0-ac|0)+bc+(c[kc>>2]|0);c[Wb>>2]=lc;c[$b>>2]=bc;bc=c[Xb>>2]|0;mc=bc+1|0;nc=lc;oc=bc}else{mc=_b;nc=c[Wb>>2]|0;oc=Yb}c[Xb>>2]=mc;a[nc+oc>>0]=0;oc=b+56|0;nc=a[oc>>0]|0;mc=c[i>>2]|0;Xb=c[mc>>2]|0;Yb=c[mc+4>>2]|0;if(!Yb){pc=Xb;qc=-1}else{mc=Yb;do{mc=mc+-1|0;Yb=Xb+mc|0;if((a[Yb>>0]|0)==46)a[Yb>>0]=nc}while((mc|0)!=0);mc=c[i>>2]|0;pc=c[mc>>2]|0;qc=(c[mc+4>>2]|0)+-1|0}if(vc(pc,qc,e)|0){n=287;Ca=f;return n|0}qc=a[oc>>0]|0;pc=a[c[(us()|0)>>2]>>0]|0;a[oc>>0]=pc;mc=c[i>>2]|0;nc=c[mc>>2]|0;Xb=c[mc+4>>2]|0;if(!Xb){rc=nc;sc=-1}else{mc=Xb;do{mc=mc+-1|0;Xb=nc+mc|0;if((a[Xb>>0]|0)==qc<<24>>24)a[Xb>>0]=pc}while((mc|0)!=0);mc=c[i>>2]|0;rc=c[mc>>2]|0;sc=(c[mc+4>>2]|0)+-1|0}if(vc(rc,sc,e)|0){n=287;Ca=f;return n|0}n=a[oc>>0]|0;oc=c[i>>2]|0;i=c[oc>>2]|0;f=c[oc+4>>2]|0;if(!f)Vd(b,41671,287);oc=f;do{oc=oc+-1|0;f=i+oc|0;if((a[f>>0]|0)==n<<24>>24)a[f>>0]=46}while((oc|0)!=0);Vd(b,41671,287);break}}return 0}function Gd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,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;f=Ca;Ca=Ca+96|0;g=f;h=f+64|0;i=f+48|0;j=f+32|0;k=f+16|0;l=e+4|0;m=c[l>>2]|0;c[8384]=m;n=e+28|0;o=c[n>>2]|0;p=e+32|0;q=(c[p>>2]|0)+38|0;r=(b[q>>1]|0)+1<<16>>16;b[q>>1]=r;if((r&65535)>200)Xd(o,200,41047);r=e+12|0;do switch(c[r>>2]|0){case 59:{c[e+8>>2]=m;q=e+20|0;if((c[q>>2]|0)==286){c[r>>2]=Fd(e,e+16|0)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}else{A=q;B=c[A+4>>2]|0;C=e+12|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[q>>2]=286;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}break}case 267:{c[i>>2]=-1;Yd(e,i);a:while(1){switch(c[r>>2]|0){case 260:{D=10;break a;break}case 261:break;default:break a}Yd(e,i)}if((D|0)==10){c[e+8>>2]=c[l>>2];q=e+20|0;if((c[q>>2]|0)==286){B=Fd(e,e+16|0)|0;c[r>>2]=B;E=B}else{B=q;C=c[B>>2]|0;A=c[B+4>>2]|0;B=e+12|0;c[B>>2]=C;c[B+4>>2]=A;c[q>>2]=286;E=C}C=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[C+46>>0]|0;q=c[(c[C+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[q+28>>2];b[h+6>>1]=c[q+16>>2];a[h+9>>0]=0;q=C+16|0;c[h>>2]=c[q>>2];c[q>>2]=h;q=E;b:while(1){switch(q|0){case 277:case 286:case 262:case 261:case 260:{break b;break}default:{}}Gd(e);if((q|0)==274)break;q=c[r>>2]|0}Kd(C)}Zd(e,262,267,m);q=c[i>>2]|0;c[o+24>>2]=c[o+20>>2];A=o+28|0;do if((q|0)!=-1){B=c[A>>2]|0;if((B|0)==-1){c[A>>2]=q;break}F=c[(c[o>>2]|0)+12>>2]|0;G=B;while(1){H=F+(G<<2)|0;I=c[H>>2]|0;B=(I>>>14)+-131071|0;J=(B|0)==-1?-1:G+1+B|0;if((J|0)==-1)break;else G=J}F=q+~G|0;if((((F|0)>-1?F:0-F|0)|0)>131071)Md(c[o+12>>2]|0,40713);else{c[H>>2]=(F<<14)+2147467264|I&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}case 278:{q=e+8|0;c[q>>2]=m;A=e+20|0;if((c[A>>2]|0)==286)c[r>>2]=Fd(e,e+16|0)|0;else{C=A;F=c[C+4>>2]|0;J=e+12|0;c[J>>2]=c[C>>2];c[J+4>>2]=F;c[A>>2]=286}F=o+20|0;J=c[F>>2]|0;C=o+24|0;c[C>>2]=J;_d(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;$d(c[n>>2]|0,h);B=c[h+12>>2]|0;a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;K=o+12|0;L=c[(c[K>>2]|0)+44>>2]|0;b[i+4>>1]=c[L+28>>2];b[i+6>>1]=c[L+16>>2];a[i+9>>0]=0;L=o+16|0;c[i>>2]=c[L>>2];c[L>>2]=i;if((c[r>>2]|0)!=259)Hd(e,259);c[q>>2]=c[l>>2];if((c[A>>2]|0)==286){q=Fd(e,e+16|0)|0;c[r>>2]=q;M=q}else{q=A;L=c[q>>2]|0;N=c[q+4>>2]|0;q=e+12|0;c[q>>2]=L;c[q+4>>2]=N;c[A>>2]=286;M=L}L=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[L+46>>0]|0;A=c[(c[L+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=L+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=M;c:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Gd(e);if((A|0)==274)break;A=c[r>>2]|0}Kd(L);A=o+28|0;N=c[A>>2]|0;c[A>>2]=-1;q=Jd(o,2147450903)|0;do if((N|0)!=-1)if((q|0)!=-1){O=c[(c[o>>2]|0)+12>>2]|0;P=q;while(1){Q=O+(P<<2)|0;R=c[Q>>2]|0;S=(R>>>14)+-131071|0;T=(S|0)==-1?-1:P+1+S|0;if((T|0)==-1)break;else P=T}O=N+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071)Md(c[K>>2]|0,40713);else{c[Q>>2]=(O<<14)+2147467264|R&16383;U=q;break}}else U=N;else U=q;while(0);Ud(o,U,J);Zd(e,262,278,m);Kd(o);c[C>>2]=c[F>>2];do if((B|0)!=-1){q=c[A>>2]|0;if((q|0)==-1){c[A>>2]=B;break}N=c[(c[o>>2]|0)+12>>2]|0;L=q;while(1){V=N+(L<<2)|0;W=c[V>>2]|0;q=(W>>>14)+-131071|0;O=(q|0)==-1?-1:L+1+q|0;if((O|0)==-1)break;else L=O}N=B+~L|0;if((((N|0)>-1?N:0-N|0)|0)>131071)Md(c[K>>2]|0,40713);else{c[V>>2]=(N<<14)+2147467264|W&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}case 259:{c[e+8>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){B=Fd(e,e+16|0)|0;c[r>>2]=B;X=B;Y=c[n>>2]|0}else{B=K;A=c[B>>2]|0;F=c[B+4>>2]|0;B=e+12|0;c[B>>2]=A;c[B+4>>2]=F;c[K>>2]=286;X=A;Y=o}a[h+10>>0]=0;a[h+8>>0]=a[Y+46>>0]|0;A=c[(c[Y+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=Y+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=X;d:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break d;break}default:{}}Gd(e);if((A|0)==274)break;A=c[r>>2]|0}Kd(Y);Zd(e,262,259,m);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}case 264:{a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;A=c[(c[o+12>>2]|0)+44>>2]|0;b[i+4>>1]=c[A+28>>2];b[i+6>>1]=c[A+16>>2];a[i+9>>0]=0;A=o+16|0;c[i>>2]=c[A>>2];c[A>>2]=i;A=e+8|0;c[A>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){F=Fd(e,e+16|0)|0;c[r>>2]=F;Z=F}else{F=K;B=c[F>>2]|0;C=c[F+4>>2]|0;F=e+12|0;c[F>>2]=B;c[F+4>>2]=C;c[K>>2]=286;Z=B}if((Z|0)!=288)Hd(e,288);B=e+16|0;C=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){F=Fd(e,B)|0;c[r>>2]=F;_=F}else{F=K;J=c[F>>2]|0;N=c[F+4>>2]|0;F=e+12|0;c[F>>2]=J;c[F+4>>2]=N;c[K>>2]=286;_=J}switch(_|0){case 61:{J=c[n>>2]|0;N=J+48|0;F=d[N>>0]|0;ae(e,Ld(e,41056,11)|0);ae(e,Ld(e,41068,11)|0);ae(e,Ld(e,41080,10)|0);ae(e,C);if((c[r>>2]|0)!=61)Hd(e,61);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Fd(e,B)|0;else{P=K;O=c[P+4>>2]|0;q=e+12|0;c[q>>2]=c[P>>2];c[q+4>>2]=O;c[K>>2]=286}be(e);if((c[r>>2]|0)!=44)Hd(e,44);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Fd(e,B)|0;else{O=K;q=c[O+4>>2]|0;P=e+12|0;c[P>>2]=c[O>>2];c[P+4>>2]=q;c[K>>2]=286}be(e);if((c[r>>2]|0)==44){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Fd(e,B)|0;else{q=K;P=c[q+4>>2]|0;O=e+12|0;c[O>>2]=c[q>>2];c[O+4>>2]=P;c[K>>2]=286}be(e)}else{P=d[N>>0]|0;O=J+12|0;c[h>>2]=65536;c[h+4>>2]=3;q=ce(J,h,h)|0;G=P<<6;if((q|0)<262144)Jd(J,G|q<<14|1)|0;else{Jd(J,G|2)|0;Jd(J,q<<6|39)|0}q=a[N>>0]|0;G=(q&255)+1|0;P=(c[J>>2]|0)+78|0;do if((q&255)>=(d[P>>0]|0))if((q&255)>248)Md(c[O>>2]|0,41091);else{J=G&255;a[P>>0]=J;$=J;break}else $=G&255;while(0);a[N>>0]=$}de(e,F,m,1,1);break}case 268:case 44:{G=c[n>>2]|0;P=G+48|0;O=d[P>>0]|0;ae(e,Ld(e,41126,15)|0);ae(e,Ld(e,41142,11)|0);ae(e,Ld(e,41154,13)|0);ae(e,C);q=c[r>>2]|0;do if((q|0)==44){J=e+12|0;T=4;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){S=Fd(e,B)|0;c[r>>2]=S;aa=S}else{S=K;ba=c[S>>2]|0;ca=c[S+4>>2]|0;S=J;c[S>>2]=ba;c[S+4>>2]=ca;c[K>>2]=286;aa=ba}if((aa|0)!=288){D=105;break}ba=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Fd(e,B)|0;else{ca=K;S=c[ca+4>>2]|0;da=J;c[da>>2]=c[ca>>2];c[da+4>>2]=S;c[K>>2]=286}ae(e,ba);ea=c[r>>2]|0;if((ea|0)==44)T=T+1|0;else{D=110;break}}if((D|0)==105)Hd(e,288);else if((D|0)==110){fa=T+-2|0;ga=ea;break}}else{fa=1;ga=q}while(0);if((ga|0)!=268)Hd(e,268);q=c[l>>2]|0;c[A>>2]=q;if((c[K>>2]|0)==286){c[r>>2]=Fd(e,B)|0;ha=c[l>>2]|0}else{C=K;F=c[C+4>>2]|0;N=e+12|0;c[N>>2]=c[C>>2];c[N+4>>2]=F;c[K>>2]=286;ha=q}_d(e,h,0)|0;e:do if((c[r>>2]|0)==44){q=e+12|0;F=h+4|0;N=1;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Fd(e,B)|0;else{C=K;J=c[C+4>>2]|0;L=q;c[L>>2]=c[C>>2];c[L+4>>2]=J;c[K>>2]=286}ia=c[n>>2]|0;ee(ia,h);if(((c[h>>2]|0)==6?(J=c[F>>2]|0,(J&256|0)==0):0)?(J|0)>=(d[ia+46>>0]|0):0){J=ia+48|0;a[J>>0]=(a[J>>0]|0)+-1<<24>>24}J=ia+48|0;L=a[J>>0]|0;C=(L&255)+1|0;ba=(c[ia>>2]|0)+78|0;if((L&255)<(d[ba>>0]|0))ja=C&255;else{if((L&255)>248)break;L=C&255;a[ba>>0]=L;ja=L}a[J>>0]=ja;fe(ia,h,(ja&255)+-1|0);_d(e,h,0)|0;J=N+1|0;if((c[r>>2]|0)==44)N=J;else{ka=J;break e}}Md(c[ia+12>>2]|0,41091)}else ka=1;while(0);ge(c[n>>2]|0,3,ka,h);K=(d[P>>0]|0)+3|0;B=(c[G>>2]|0)+78|0;do if(K>>>0>(d[B>>0]|0)>>>0)if(K>>>0>249)Md(c[G+12>>2]|0,41091);else{a[B>>0]=K;break}while(0);de(e,O,ha,fa,0);break}default:Md(e,41168)}Zd(e,262,264,m);Kd(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}case 273:{K=c[o+20>>2]|0;c[o+24>>2]=K;a[i+10>>0]=1;B=a[o+46>>0]|0;a[i+8>>0]=B;G=c[(c[o+12>>2]|0)+44>>2]|0;P=c[G+28>>2]&65535;b[i+4>>1]=P;A=c[G+16>>2]&65535;b[i+6>>1]=A;a[i+9>>0]=0;G=o+16|0;c[i>>2]=c[G>>2];a[j+10>>0]=0;N=j+8|0;a[N>>0]=B;b[j+4>>1]=P;b[j+6>>1]=A;A=j+9|0;a[A>>0]=0;c[j>>2]=i;c[G>>2]=j;c[e+8>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){P=Fd(e,e+16|0)|0;c[r>>2]=P;la=P}else{P=G;B=c[P>>2]|0;F=c[P+4>>2]|0;P=e+12|0;c[P>>2]=B;c[P+4>>2]=F;c[G>>2]=286;la=B}B=la;f:while(1){switch(B|0){case 277:case 286:case 262:case 261:case 260:{break f;break}default:{}}Gd(e);if((B|0)==274)break;B=c[r>>2]|0}Zd(e,277,273,m);_d(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;$d(c[n>>2]|0,h);B=c[h+12>>2]|0;if(!((B|0)==-1|(a[A>>0]|0)==0)){O=c[(c[o>>2]|0)+12>>2]|0;G=(d[N>>0]<<6)+64&16320;F=B;do{P=O+(F<<2)|0;q=c[P>>2]|0;T=(q>>>14)+-131071|0;c[P>>2]=q&-16321|G;F=(T|0)==-1?-1:F+1+T|0}while((F|0)!=-1)}Kd(o);Ud(o,B,K);Kd(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}case 265:{F=e+8|0;c[F>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){O=e+16|0;c[r>>2]=Fd(e,O)|0;ma=G;na=e+12|0;oa=O}else{O=e+12|0;N=G;A=c[N+4>>2]|0;T=O;c[T>>2]=c[N>>2];c[T+4>>2]=A;c[G>>2]=286;ma=G;na=O;oa=e+16|0}he(e,j);O=j+8|0;A=j+12|0;T=h+4|0;N=i+8|0;q=i+12|0;P=i+4|0;J=j+4|0;L=J+2|0;ba=J+3|0;g:while(1){switch(c[r>>2]|0){case 58:{D=168;break g;break}case 46:break;default:{pa=0;break g}}C=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))ie(C,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){S=Fd(e,oa)|0;c[r>>2]=S;qa=S}else{S=ma;da=c[S>>2]|0;ca=c[S+4>>2]|0;S=na;c[S>>2]=da;c[S+4>>2]=ca;c[G>>2]=286;qa=da}if((qa|0)!=288){D=163;break}da=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=Fd(e,oa)|0;else{ca=ma;S=c[ca+4>>2]|0;ra=na;c[ra>>2]=c[ca>>2];c[ra+4>>2]=S;c[G>>2]=286}S=c[n>>2]|0;c[h>>2]=da;c[T>>2]=(a[da+4>>0]|64)&255;da=ce(S,h,h)|0;c[N>>2]=-1;c[q>>2]=-1;c[i>>2]=4;c[P>>2]=da;a[L>>0]=c[J>>2];b[J>>1]=je(C,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9}if((D|0)==163)Hd(e,288);if((D|0)==168){P=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))ie(P,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){q=Fd(e,oa)|0;c[r>>2]=q;sa=q}else{q=ma;N=c[q>>2]|0;T=c[q+4>>2]|0;q=na;c[q>>2]=N;c[q+4>>2]=T;c[G>>2]=286;sa=N}if((sa|0)!=288)Hd(e,288);N=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=Fd(e,oa)|0;else{T=ma;q=c[T+4>>2]|0;K=na;c[K>>2]=c[T>>2];c[K+4>>2]=q;c[G>>2]=286}q=c[n>>2]|0;c[h>>2]=N;c[h+4>>2]=(a[N+4>>0]|64)&255;N=ce(q,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=N;a[L>>0]=c[J>>2];b[J>>1]=je(P,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9;pa=1}ke(e,k,pa,m);le(c[n>>2]|0,j,k);P=c[n>>2]|0;c[(c[(c[P>>2]|0)+20>>2]|0)+((c[P+20>>2]|0)+-1<<2)>>2]=m;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}case 269:{P=e+8|0;c[P>>2]=m;N=e+20|0;if((c[N>>2]|0)==286){q=Fd(e,e+16|0)|0;c[r>>2]=q;ta=q}else{q=N;K=c[q>>2]|0;T=c[q+4>>2]|0;q=e+12|0;c[q>>2]=K;c[q+4>>2]=T;c[N>>2]=286;ta=K}if((ta|0)==265){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){K=Fd(e,e+16|0)|0;c[r>>2]=K;ua=K}else{K=N;T=c[K>>2]|0;q=c[K+4>>2]|0;K=e+12|0;c[K>>2]=T;c[K+4>>2]=q;c[N>>2]=286;ua=T}T=c[n>>2]|0;if((ua|0)!=288)Hd(e,288);q=e+16|0;K=c[q>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Fd(e,q)|0;else{q=N;B=c[q+4>>2]|0;C=e+12|0;c[C>>2]=c[q>>2];c[C+4>>2]=B;c[N>>2]=286}ae(e,K);K=c[n>>2]|0;B=K+46|0;C=a[B>>0]|0;a[B>>0]=(C&255)+1;c[(c[(c[K>>2]|0)+24>>2]|0)+((b[(c[c[(c[K+12>>2]|0)+44>>2]>>2]|0)+((c[K+40>>2]|0)+(C+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[K+20>>2];ke(e,h,0,c[l>>2]|0);c[(c[(c[T>>2]|0)+24>>2]|0)+((b[(c[c[(c[T+12>>2]|0)+44>>2]>>2]|0)+((c[T+40>>2]|0)+(c[h+4>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[T+20>>2];s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}if((ta|0)!=288)Hd(e,288);T=e+16|0;K=e+12|0;C=0;h:while(1){B=c[T>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Fd(e,T)|0;else{q=N;da=c[q+4>>2]|0;S=K;c[S>>2]=c[q>>2];c[S+4>>2]=da;c[N>>2]=286}ae(e,B);C=C+1|0;switch(c[r>>2]|0){case 61:{D=205;break h;break}case 44:break;default:{D=223;break h}}c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){B=Fd(e,T)|0;c[r>>2]=B;va=B}else{B=N;da=c[B>>2]|0;S=c[B+4>>2]|0;B=K;c[B>>2]=da;c[B+4>>2]=S;c[N>>2]=286;va=da}if((va|0)!=288){D=196;break}}i:do if((D|0)==196)Hd(e,288);else if((D|0)==205){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Fd(e,T)|0;else{ba=N;J=c[ba+4>>2]|0;L=K;c[L>>2]=c[ba>>2];c[L+4>>2]=J;c[N>>2]=286}_d(e,h,0)|0;if((c[r>>2]|0)==44){J=h+4|0;L=1;while(1){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Fd(e,T)|0;else{ba=N;G=c[ba+4>>2]|0;F=K;c[F>>2]=c[ba>>2];c[F+4>>2]=G;c[N>>2]=286}wa=c[n>>2]|0;ee(wa,h);if(((c[h>>2]|0)==6?(G=c[J>>2]|0,(G&256|0)==0):0)?(G|0)>=(d[wa+46>>0]|0):0){G=wa+48|0;a[G>>0]=(a[G>>0]|0)+-1<<24>>24}G=wa+48|0;F=a[G>>0]|0;ba=(F&255)+1|0;A=(c[wa>>2]|0)+78|0;if((F&255)<(d[A>>0]|0))xa=ba&255;else{if((F&255)>248)break;F=ba&255;a[A>>0]=F;xa=F}a[G>>0]=xa;fe(wa,h,(xa&255)+-1|0);_d(e,h,0)|0;G=L+1|0;if((c[r>>2]|0)==44)L=G;else{ya=G;break i}}Md(c[wa+12>>2]|0,41091)}else ya=1}else if((D|0)==223){c[h>>2]=0;ya=0}while(0);ge(c[n>>2]|0,C,ya,h);N=c[n>>2]|0;K=N+46|0;T=C+(d[K>>0]|0)|0;a[K>>0]=T;K=c[N+20>>2]|0;P=c[(c[N>>2]|0)+24>>2]|0;L=c[c[(c[N+12>>2]|0)+44>>2]>>2]|0;J=(c[N+40>>2]|0)+(T&255)|0;T=C;do{c[P+((b[L+(J-T<<1)>>1]|0)*12|0)+4>>2]=K;T=T+-1|0}while((T|0)!=0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}case 285:{T=e+8|0;c[T>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){J=Fd(e,e+16|0)|0;c[r>>2]=J;za=J}else{J=K;L=c[J>>2]|0;P=c[J+4>>2]|0;J=e+12|0;c[J>>2]=L;c[J+4>>2]=P;c[K>>2]=286;za=L}if((za|0)!=288)Hd(e,288);L=e+16|0;P=c[L>>2]|0;c[T>>2]=c[l>>2];if((c[K>>2]|0)==286){J=Fd(e,L)|0;c[r>>2]=J;Aa=J}else{J=K;C=c[J>>2]|0;N=c[J+4>>2]|0;J=e+12|0;c[J>>2]=C;c[J+4>>2]=N;c[K>>2]=286;Aa=C}C=c[n>>2]|0;N=e+44|0;J=c[N>>2]|0;G=J+24|0;F=C+16|0;A=b[(c[F>>2]|0)+4>>1]|0;ba=J+28|0;O=c[ba>>2]|0;j:do if((O|0)>(A|0)){da=c[G>>2]|0;S=a[P+4>>0]|0;B=P+12|0;q=P+16|0;if(S<<24>>24==4){ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if((ca|0)==(P|0)&(a[ca+4>>0]|0)==4){Ba=ra;break}ra=ra+1|0;if((ra|0)>=(O|0))break j}Da=C+12|0;Ea=c[Da>>2]|0;Fa=Ea+32|0;Ga=c[Fa>>2]|0;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=Rd(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=Sd(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=Xc(Ga,41189,g)|0;Ra=c[Da>>2]|0;Td(Ra,Qa)}ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if(S<<24>>24==(a[ca+4>>0]|0)){Sa=c[B>>2]|0;if((ca|0)==(P|0)){Ba=ra;D=245;break}if((Sa|0)==(c[ca+12>>2]|0)?(jq(q,ca+16|0,Sa)|0)==0:0){Ba=ra;D=245;break}}ra=ra+1|0;if((ra|0)>=(O|0))break j}if((D|0)==245){Da=C+12|0;Ea=c[Da>>2]|0;Fa=Ea+32|0;Ga=c[Fa>>2]|0;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=Rd(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=Sd(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=Xc(Ga,41189,g)|0;Ra=c[Da>>2]|0;Td(Ra,Qa)}}while(0);if((Aa|0)!=285)Hd(e,285);c[T>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Fd(e,L)|0;else{O=K;A=c[O+4>>2]|0;ra=e+12|0;c[ra>>2]=c[O>>2];c[ra+4>>2]=A;c[K>>2]=286}A=c[C+20>>2]|0;ra=c[ba>>2]|0;O=J+32|0;if((ra|0)<(c[O>>2]|0)){Ta=c[G>>2]|0;Ua=ra}else{B=Nd(c[p>>2]|0,c[G>>2]|0,O,16,32767,40740)|0;c[G>>2]=B;Ta=B;Ua=c[ba>>2]|0}c[Ta+(ra<<4)>>2]=P;c[Ta+(ra<<4)+8>>2]=m;a[Ta+(ra<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[Ta+(ra<<4)+4>>2]=A;c[ba>>2]=Ua+1;k:while(1){switch(c[r>>2]|0){case 286:case 262:case 261:case 260:{D=259;break k;break}case 285:case 59:break;default:{D=258;break k}}Gd(e)}if((D|0)==258)Va=c[G>>2]|0;else if((D|0)==259){ba=c[G>>2]|0;a[ba+(ra<<4)+12>>0]=a[(c[F>>2]|0)+8>>0]|0;Va=ba}ba=Va+(ra<<4)|0;P=c[N>>2]|0;J=b[(c[(c[n>>2]|0)+16>>2]|0)+6>>1]|0;C=P+16|0;K=c[C>>2]|0;if((K|0)<=(J|0)){s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}L=P+12|0;P=J;J=K;while(1){K=c[(c[L>>2]|0)+(P<<4)>>2]|0;T=c[ba>>2]|0;A=a[K+4>>0]|0;do if(A<<24>>24==(a[T+4>>0]|0)){if(A<<24>>24==4){if((K|0)!=(T|0)){D=269;break}}else{B=c[K+12>>2]|0;if((K|0)!=(T|0)){if((B|0)!=(c[T+12>>2]|0)){D=269;break}if(jq(K+16|0,T+16|0,B)|0){D=269;break}}}Od(e,P,ba);Wa=P;Xa=c[C>>2]|0}else D=269;while(0);if((D|0)==269){D=0;Wa=P+1|0;Xa=J}if((Wa|0)<(Xa|0)){P=Wa;J=Xa}else break}s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}case 274:{J=e+8|0;c[J>>2]=m;P=e+20|0;if((c[P>>2]|0)==286){C=Fd(e,e+16|0)|0;c[r>>2]=C;Ya=C;Za=c[n>>2]|0}else{C=P;ba=c[C>>2]|0;L=c[C+4>>2]|0;C=e+12|0;c[C>>2]=ba;c[C+4>>2]=L;c[P>>2]=286;Ya=ba;Za=o}l:do switch(Ya|0){case 59:case 277:case 286:case 262:case 261:case 260:{_a=0;$a=0;break}default:{_d(e,h,0)|0;m:do if((c[r>>2]|0)==44){ba=e+16|0;L=e+12|0;C=h+4|0;N=1;while(1){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286)c[r>>2]=Fd(e,ba)|0;else{ra=P;F=c[ra+4>>2]|0;G=L;c[G>>2]=c[ra>>2];c[G+4>>2]=F;c[P>>2]=286}ab=c[n>>2]|0;ee(ab,h);if(((c[h>>2]|0)==6?(F=c[C>>2]|0,(F&256|0)==0):0)?(F|0)>=(d[ab+46>>0]|0):0){F=ab+48|0;a[F>>0]=(a[F>>0]|0)+-1<<24>>24}F=ab+48|0;G=a[F>>0]|0;ra=(G&255)+1|0;T=(c[ab>>2]|0)+78|0;if((G&255)<(d[T>>0]|0))bb=ra&255;else{if((G&255)>248)break;G=ra&255;a[T>>0]=G;bb=G}a[F>>0]=bb;fe(ab,h,(bb&255)+-1|0);_d(e,h,0)|0;F=N+1|0;if((c[r>>2]|0)==44)N=F;else{cb=F;db=h;break m}}Md(c[ab+12>>2]|0,41091)}else{cb=1;db=h}while(0);N=c[db>>2]|0;if((N&-2|0)==12){switch(N|0){case 12:{N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225;if((cb|0)==1){N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-64|30}break}case 13:{N=c[Za>>2]|0;C=c[N+12>>2]|0;L=h+4|0;ba=C+(c[L>>2]<<2)|0;c[ba>>2]=c[ba>>2]&8388607;ba=C+(c[L>>2]<<2)|0;L=Za+48|0;C=a[L>>0]|0;F=C&255;c[ba>>2]=F<<6|c[ba>>2]&-16321;ba=F+1|0;F=N+78|0;do if((C&255)>=(d[F>>0]|0))if((C&255)>248)Md(c[Za+12>>2]|0,41091);else{N=ba&255;a[F>>0]=N;eb=N;break}else eb=ba&255;while(0);a[L>>0]=eb;break}default:{}}_a=-1;$a=d[Za+46>>0]|0;break l}if((cb|0)==1){_a=1;$a=ie(Za,h)|0;break l}ee(Za,h);if(((c[db>>2]|0)==6?(ba=c[h+4>>2]|0,(ba&256|0)==0):0)?(ba|0)>=(d[Za+46>>0]|0):0){ba=Za+48|0;a[ba>>0]=(a[ba>>0]|0)+-1<<24>>24}ba=Za+48|0;F=a[ba>>0]|0;C=(F&255)+1|0;N=(c[Za>>2]|0)+78|0;do if((F&255)>=(d[N>>0]|0))if((F&255)>248)Md(c[Za+12>>2]|0,41091);else{G=C&255;a[N>>0]=G;fb=G;break}else fb=C&255;while(0);a[ba>>0]=fb;fe(Za,h,(fb&255)+-1|0);_a=cb;$a=d[Za+46>>0]|0}}while(0);Jd(Za,$a<<6|(_a<<23)+8388608|31)|0;do if((c[r>>2]|0)==59){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286){c[r>>2]=Fd(e,e+16|0)|0;break}else{C=P;N=c[C+4>>2]|0;F=e+12|0;c[F>>2]=c[C>>2];c[F+4>>2]=N;c[P>>2]=286;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}case 266:case 258:{P=o+28|0;J=c[P>>2]|0;c[P>>2]=-1;P=Jd(o,2147450903)|0;do if((J|0)!=-1)if((P|0)!=-1){N=c[(c[o>>2]|0)+12>>2]|0;F=P;while(1){gb=N+(F<<2)|0;hb=c[gb>>2]|0;C=(hb>>>14)+-131071|0;L=(C|0)==-1?-1:F+1+C|0;if((L|0)==-1)break;else F=L}N=J+~F|0;if((((N|0)>-1?N:0-N|0)|0)>131071)Md(c[o+12>>2]|0,40713);else{c[gb>>2]=(N<<14)+2147467264|hb&16383;ib=P;break}}else ib=J;else ib=P;while(0);P=c[l>>2]|0;J=(c[r>>2]|0)==266;N=e+8|0;c[N>>2]=P;ba=e+20|0;L=(c[ba>>2]|0)==286;do if(J){if(L){C=Fd(e,e+16|0)|0;c[r>>2]=C;jb=C}else{C=ba;G=c[C>>2]|0;T=c[C+4>>2]|0;C=e+12|0;c[C>>2]=G;c[C+4>>2]=T;c[ba>>2]=286;jb=G}if((jb|0)!=288)Hd(e,288);G=e+16|0;T=c[G>>2]|0;c[N>>2]=c[l>>2];if((c[ba>>2]|0)==286){c[r>>2]=Fd(e,G)|0;kb=T;break}else{G=ba;C=c[G+4>>2]|0;ra=e+12|0;c[ra>>2]=c[G>>2];c[ra+4>>2]=C;c[ba>>2]=286;kb=T;break}}else{if(L)c[r>>2]=Fd(e,e+16|0)|0;else{T=ba;C=c[T+4>>2]|0;ra=e+12|0;c[ra>>2]=c[T>>2];c[ra+4>>2]=C;c[ba>>2]=286}kb=Yc(c[p>>2]|0,46819,5)|0}while(0);ba=c[e+44>>2]|0;L=ba+12|0;N=ba+16|0;J=c[N>>2]|0;C=ba+20|0;if((J|0)<(c[C>>2]|0)){lb=c[L>>2]|0;mb=J}else{ba=Nd(c[p>>2]|0,c[L>>2]|0,C,16,32767,40740)|0;c[L>>2]=ba;lb=ba;mb=c[N>>2]|0}c[lb+(J<<4)>>2]=kb;c[lb+(J<<4)+8>>2]=P;a[lb+(J<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[lb+(J<<4)+4>>2]=ib;c[N>>2]=mb+1;Pd(e,J)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}default:{J=h+4|0;me(e,J);n:do switch(c[r>>2]|0){case 44:case 61:{c[h>>2]=0;ne(e,h,1);break}default:if((c[J>>2]|0)==12){N=(c[(c[o>>2]|0)+12>>2]|0)+(c[h+8>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225|16384;break n}else Md(e,46323)}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ca=f;return}}while(0)}function Hd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ca;Ca=Ca+16|0;e=d;d=c[a+32>>2]|0;c[e>>2]=Wd(a,b)|0;Md(a,Xc(d,41035,e)|0)}function Id(e){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;f=c[e+32>>2]|0;g=e+28|0;h=c[g>>2]|0;i=c[h>>2]|0;Jd(h,8388639)|0;Kd(h);j=h+20|0;k=c[j>>2]|0;if((k+1|0)>>>0>1073741823)jc(f);l=i+12|0;m=c[l>>2]|0;n=i+48|0;o=c[n>>2]<<2;p=k<<2;k=f+12|0;q=c[k>>2]|0;r=(m|0)==0;s=q+4|0;t=Ja[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if((p|0)!=0&(t|0)==0){if(!(a[q+51>>0]|0))Zb(f,4);ic(f,1);u=Ja[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if(!u)Zb(f,4);else v=u}else v=t;t=q+12|0;c[t>>2]=(r?0:0-o|0)+p+(c[t>>2]|0);c[l>>2]=v;v=c[j>>2]|0;c[n>>2]=v;if((v+1|0)>>>0>1073741823)jc(f);n=i+20|0;l=c[n>>2]|0;t=i+52|0;p=c[t>>2]<<2;o=v<<2;v=c[k>>2]|0;r=(l|0)==0;q=v+4|0;u=Ja[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[v+51>>0]|0))Zb(f,4);ic(f,1);m=Ja[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if(!m)Zb(f,4);else w=m}else w=u;u=v+12|0;c[u>>2]=(r?0:0-p|0)+o+(c[u>>2]|0);c[n>>2]=w;c[t>>2]=c[j>>2];j=h+32|0;t=c[j>>2]|0;if((t+1|0)>>>0>536870911)jc(f);w=i+8|0;n=c[w>>2]|0;u=i+44|0;o=c[u>>2]<<3;p=t<<3;t=c[k>>2]|0;r=(n|0)==0;v=t+4|0;m=Ja[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if((p|0)!=0&(m|0)==0){if(!(a[t+51>>0]|0))Zb(f,4);ic(f,1);l=Ja[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if(!l)Zb(f,4);else x=l}else x=m;m=t+12|0;c[m>>2]=(r?0:0-o|0)+p+(c[m>>2]|0);c[w>>2]=x;c[u>>2]=c[j>>2];j=h+36|0;u=c[j>>2]|0;if((u+1|0)>>>0>1073741823)jc(f);x=i+16|0;w=c[x>>2]|0;m=i+56|0;p=c[m>>2]<<2;o=u<<2;u=c[k>>2]|0;r=(w|0)==0;t=u+4|0;l=Ja[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if((o|0)!=0&(l|0)==0){if(!(a[u+51>>0]|0))Zb(f,4);ic(f,1);n=Ja[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if(!n)Zb(f,4);else y=n}else y=l;l=u+12|0;c[l>>2]=(r?0:0-p|0)+o+(c[l>>2]|0);c[x>>2]=y;c[m>>2]=c[j>>2];j=h+44|0;m=b[j>>1]|0;y=m<<16>>16;if((y+1|0)>>>0>357913941)jc(f);x=i+24|0;l=c[x>>2]|0;o=i+60|0;p=(c[o>>2]|0)*12|0;r=y*12|0;y=c[k>>2]|0;u=(l|0)==0;n=y+4|0;w=Ja[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(m<<16>>16!=0&(w|0)==0){if(!(a[y+51>>0]|0))Zb(f,4);ic(f,1);m=Ja[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(!m)Zb(f,4);else z=m}else z=w;w=y+12|0;c[w>>2]=(u?0:0-p|0)+r+(c[w>>2]|0);c[x>>2]=z;c[o>>2]=b[j>>1];j=h+47|0;o=a[j>>0]|0;z=i+28|0;x=c[z>>2]|0;w=i+40|0;i=c[w>>2]<<3;r=(o&255)<<3;p=c[k>>2]|0;u=(x|0)==0;y=p+4|0;m=Ja[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(o<<24>>24!=0&(m|0)==0){if(!(a[p+51>>0]|0))Zb(f,4);ic(f,1);o=Ja[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(!o)Zb(f,4);else A=o}else A=m;m=p+12|0;c[m>>2]=(u?0:0-i|0)+r+(c[m>>2]|0);c[z>>2]=A;c[w>>2]=d[j>>0];c[g>>2]=c[h+8>>2];if((c[e+12>>2]&-2|0)==288){h=c[e+16>>2]|0;Ld(e,h+16|0,c[h+12>>2]|0)|0}h=f+8|0;c[h>>2]=(c[h>>2]|0)+-8;h=c[k>>2]|0;k=h+12|0;e=c[k>>2]|0;if((e|0)<=0)return;if(!(a[h+51>>0]|0)){g=h+8|0;c[g>>2]=e+1600+(c[g>>2]|0);c[k>>2]=-1600;return}else{mc(f);return}}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=c[a>>2]|0;e=a+28|0;f=c[e>>2]|0;g=a+20|0;h=c[g>>2]|0;do if((f|0)!=-1){i=c[d+12>>2]|0;j=f;while(1){k=i+(j<<2)|0;l=c[k>>2]|0;m=(l>>>14)+-131071|0;n=j;j=(m|0)==-1?-1:j+1+m|0;if((n|0)>0?(m=k+-4|0,o=c[m>>2]|0,((o&63)+-24|0)>>>0<5):0){p=m;q=o}else{p=k;q=l}if((q&63|0)==28){c[p>>2]=q&8372224|q>>>23<<6|27;o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=8;break}s=c[k>>2]&16383;t=(o<<14)+2147467264|0}else{o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=11;break}s=(o<<14)+2147467264|0;t=l&16383}c[k>>2]=s|t;if((j|0)==-1){r=14;break}}if((r|0)==8)Md(c[a+12>>2]|0,40713);else if((r|0)==11)Md(c[a+12>>2]|0,40713);else if((r|0)==14){u=c[g>>2]|0;break}}else u=h;while(0);c[e>>2]=-1;e=d+48|0;if((u|0)<(c[e>>2]|0)){v=c[d+12>>2]|0;w=u}else{u=d+12|0;h=Nd(c[(c[a+12>>2]|0)+32>>2]|0,c[u>>2]|0,e,4,2147483645,41027)|0;c[u>>2]=h;v=h;w=c[g>>2]|0}c[v+(w<<2)>>2]=b;b=c[g>>2]|0;w=d+52|0;v=a+12|0;if((b|0)<(c[w>>2]|0)){x=d+20|0;y=b;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}else{b=d+20|0;c[b>>2]=Nd(c[(c[v>>2]|0)+32>>2]|0,c[b>>2]|0,w,4,2147483645,41027)|0;x=b;y=c[g>>2]|0;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}return 0}function Kd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=e+16|0;g=c[f>>2]|0;h=e+12|0;i=c[h>>2]|0;do if(c[g>>2]|0?a[g+9>>0]|0:0){j=e+28|0;k=c[j>>2]|0;c[j>>2]=-1;l=Jd(e,2147450903)|0;do if((k|0)!=-1){if((l|0)==-1){m=k;n=d[g+8>>0]|0;break}o=c[(c[e>>2]|0)+12>>2]|0;p=l;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=k+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)Md(c[h>>2]|0,40713);else{c[q>>2]=(o<<14)+2147467264|r&16383;u=11;break}}else u=11;while(0);if((u|0)==11){k=d[g+8>>0]|0;if((l|0)==-1){c[e+24>>2]=c[e+20>>2];break}else{m=l;n=k}}k=c[(c[e>>2]|0)+12>>2]|0;o=(n<<6)+64&16320;t=m;do{s=k+(t<<2)|0;v=c[s>>2]|0;w=(v>>>14)+-131071|0;c[s>>2]=v&-16321|o;t=(w|0)==-1?-1:t+1+w|0}while((t|0)!=-1);c[e+24>>2]=c[e+20>>2];t=c[j>>2]|0;if((t|0)==-1){c[j>>2]=m;break}o=t;while(1){x=k+(o<<2)|0;y=c[x>>2]|0;t=(y>>>14)+-131071|0;l=(t|0)==-1?-1:o+1+t|0;if((l|0)==-1)break;else o=l}k=m+~o|0;if((((k|0)>-1?k:0-k|0)|0)>131071)Md(c[h>>2]|0,40713);else{c[x>>2]=(k<<14)+2147467264|y&16383;break}}while(0);if(a[g+10>>0]|0){y=i+32|0;x=Cc(c[y>>2]|0,46819,5)|0;m=i+44|0;n=c[m>>2]|0;r=n+24|0;q=i+28|0;k=c[q>>2]|0;j=c[k+20>>2]|0;l=n+28|0;t=c[l>>2]|0;w=n+32|0;if((t|0)<(c[w>>2]|0)){z=k;A=t;B=n;C=c[r>>2]|0}else{n=Nd(c[y>>2]|0,c[r>>2]|0,w,16,32767,40740)|0;c[r>>2]=n;z=c[q>>2]|0;A=c[l>>2]|0;B=c[m>>2]|0;C=n}c[C+(t<<4)>>2]=x;c[C+(t<<4)+8>>2]=0;a[C+(t<<4)+12>>0]=a[z+46>>0]|0;c[C+(t<<4)+4>>2]=j;c[l>>2]=A+1;A=(c[B+24>>2]|0)+(t<<4)|0;t=b[(c[z+16>>2]|0)+6>>1]|0;z=B+16|0;l=c[z>>2]|0;if((l|0)>(t|0)){j=B+12|0;B=t;t=l;while(1){l=c[(c[j>>2]|0)+(B<<4)>>2]|0;C=c[A>>2]|0;x=a[l+4>>0]|0;do if(x<<24>>24==(a[C+4>>0]|0)){if(x<<24>>24==4){if((l|0)!=(C|0)){u=35;break}}else{n=c[l+12>>2]|0;if((l|0)!=(C|0)){if((n|0)!=(c[C+12>>2]|0)){u=35;break}if(jq(l+16|0,C+16|0,n)|0){u=35;break}}}Od(i,B,A);D=B;E=c[z>>2]|0}else u=35;while(0);if((u|0)==35){u=0;D=B+1|0;E=t}if((D|0)<(E|0)){B=D;t=E}else break}}}E=c[g>>2]|0;c[f>>2]=E;f=g+8|0;t=a[f>>0]|0;D=e+46|0;B=a[D>>0]|0;u=B&255;z=c[(c[h>>2]|0)+44>>2]|0;A=z+4|0;c[A>>2]=(t&255)-u+(c[A>>2]|0);if((t&255)<(B&255)){A=c[e+20>>2]|0;j=c[e+40>>2]|0;C=c[(c[e>>2]|0)+24>>2]|0;l=c[z>>2]|0;x=u;while(1){u=(x&255)+-1<<24>>24;c[C+((b[l+(j+(u&255)<<1)>>1]|0)*12|0)+8>>2]=A;if((u&255)>(t&255))x=x+-1|0;else break}a[D>>0]=t;F=t}else F=B;a[e+48>>0]=F;F=c[i+44>>2]|0;c[F+28>>2]=b[g+4>>1];B=b[g+6>>1]|0;if(!E)if((c[F+16>>2]|0)>(B|0))Qd(i,(c[F+12>>2]|0)+(B<<4)|0);else return;F=z+16|0;if((c[F>>2]|0)<=(B|0))return;i=z+12|0;z=g+9|0;g=B;B=t;while(1){t=c[i>>2]|0;E=t+(g<<4)+12|0;D=B&255;if((d[E>>0]|0)>(B&255)){if(a[z>>0]|0?(x=c[t+(g<<4)+4>>2]|0,(x|0)!=-1):0){t=c[(c[e>>2]|0)+12>>2]|0;A=(D<<6)+64&16320;D=x;do{x=t+(D<<2)|0;j=c[x>>2]|0;l=(j>>>14)+-131071|0;c[x>>2]=j&-16321|A;D=(l|0)==-1?-1:D+1+l|0}while((D|0)!=-1)}a[E>>0]=B}D=g+((Pd(c[h>>2]|0,g)|0)==0&1)|0;if((D|0)>=(c[F>>2]|0))break;g=D;B=a[f>>0]|0}return}function Ld(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;f=c[b+32>>2]|0;g=Yc(f,d,e)|0;e=f+8|0;d=c[e>>2]|0;c[e>>2]=d+8;c[d>>2]=g;c[d+4>>2]=(a[g+4>>0]|64)&255;d=c[(c[b+28>>2]|0)+4>>2]|0;b=(c[e>>2]|0)+-8|0;h=kc(d,b)|0;if((h|0)==4209132)i=lc(f,d,b)|0;else i=h;h=i+4|0;do if(!(c[h>>2]|0)){c[i>>2]=1;c[h>>2]=1;b=c[f+12>>2]|0;d=b+12|0;j=c[d>>2]|0;if((j|0)>0)if(!(a[b+51>>0]|0)){k=b+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[d>>2]=-1600;l=g;break}else{mc(f);l=g;break}else l=g}else l=c[i+8>>2]|0;while(0);c[e>>2]=(c[e>>2]|0)+-8;return l|0}function Md(a,b){a=a|0;b=b|0;Vd(a,b,c[a+12>>2]|0)}function Nd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ca;Ca=Ca+16|0;j=i;k=c[e>>2]|0;if((k|0)>=((g|0)/2|0|0))if((k|0)<(g|0))l=g;else{c[j>>2]=h;c[j+4>>2]=g;$b(b,40905,j)}else{j=k<<1;l=(j|0)>4?j:4}if((l+1|0)>>>0>(4294967293/(f>>>0)|0)>>>0)jc(b);j=z(k,f)|0;k=z(l,f)|0;f=c[b+12>>2]|0;g=(d|0)==0;h=f+4|0;m=Ja[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!((k|0)!=0&(m|0)==0)){n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ca=i;return n|0}if(!(a[f+51>>0]|0))Zb(b,4);ic(b,1);m=Ja[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!m)Zb(b,4);else{n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ca=i;return n|0}return 0}function Od(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=Ca;Ca=Ca+16|0;i=h;j=c[e+28>>2]|0;k=c[e+44>>2]|0;l=k+12|0;m=c[l>>2]|0;n=a[m+(f<<4)+12>>0]|0;if((n&255)<(d[g+12>>0]|0)){o=c[(c[(c[j>>2]|0)+24>>2]|0)+((b[(c[c[(c[j+12>>2]|0)+44>>2]>>2]|0)+((c[j+40>>2]|0)+(n&255)<<1)>>1]|0)*12|0)>>2]|0;n=c[e+32>>2]|0;p=(c[m+(f<<4)>>2]|0)+16|0;q=m+(f<<4)+8|0;r=Rd(c[q>>2]|0)|0;s=Sd(c[q>>2]|0)|0;c[i>>2]=p;c[i+4>>2]=r;c[i+8>>2]=s;c[i+12>>2]=o+16;Td(e,Xc(n,40840,i)|0)}Ud(j,c[m+(f<<4)+4>>2]|0,c[g+4>>2]|0);g=k+16|0;k=(c[g>>2]|0)+-1|0;if((k|0)<=(f|0)){t=k;c[g>>2]=t;Ca=h;return}k=f;do{f=c[l>>2]|0;m=f+(k<<4)|0;k=k+1|0;j=f+(k<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];j=(c[g>>2]|0)+-1|0}while((k|0)<(j|0));t=j;c[g>>2]=t;Ca=h;return}function Pd(e,f){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[e+28>>2]|0;h=c[e+44>>2]|0;i=c[h+12>>2]|0;j=b[(c[g+16>>2]|0)+4>>1]|0;k=c[h+28>>2]|0;if((k|0)<=(j|0)){l=0;return l|0}m=c[h+24>>2]|0;h=c[i+(f<<4)>>2]|0;n=a[h+4>>0]|0;o=h+12|0;p=h+16|0;q=n<<24>>24==4;r=j;a:while(1){s=m+(r<<4)|0;j=c[s>>2]|0;do if((a[j+4>>0]|0)==n<<24>>24){if(q)if((j|0)==(h|0))break a;else break;t=c[j+12>>2]|0;if((j|0)==(h|0))break a;if((t|0)==(c[o>>2]|0)?(jq(j+16|0,p,t)|0)==0:0)break a}while(0);j=r+1|0;if((j|0)<(k|0))r=j;else{l=0;u=15;break}}if((u|0)==15)return l|0;u=a[m+(r<<4)+12>>0]|0;if((d[i+(f<<4)+12>>0]|0)>(u&255)?(r=c[i+(f<<4)+4>>2]|0,(r|0)!=-1):0){i=c[(c[g>>2]|0)+12>>2]|0;g=((u&255)<<6)+64&16320;u=r;do{r=i+(u<<2)|0;m=c[r>>2]|0;k=(m>>>14)+-131071|0;c[r>>2]=m&-16321|g;u=(k|0)==-1?-1:u+1+k|0}while((u|0)!=-1)}Od(e,f,s);l=1;return l|0}function Qd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ca;Ca=Ca+16|0;f=e;e=c[d>>2]|0;if((a[e+4>>0]|0)==4)g=(a[e+6>>0]|0)==0?40753:40806;else g=40753;h=c[b+32>>2]|0;i=d+8|0;d=Rd(c[i>>2]|0)|0;j=Sd(c[i>>2]|0)|0;c[f>>2]=e+16;c[f+4>>2]=d;c[f+8>>2]=j;Td(b,Xc(h,g,f)|0)}function Rd(a){a=a|0;return ($f(a,0)|0)<<16|0}function Sd(a){a=a|0;var b=0,d=0;b=Ca;Ca=Ca+16|0;d=b;$f(a,d)|0;Ca=b;return c[d>>2]<<16|0}function Td(a,b){a=a|0;b=b|0;c[a+12>>2]=0;Md(a,b)}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[a+20>>2]|0)==(d|0)){c[a+24>>2]=d;e=a+28|0;if((b|0)==-1)return;f=c[e>>2]|0;if((f|0)==-1){c[e>>2]=b;return}e=c[(c[a>>2]|0)+12>>2]|0;g=f;while(1){h=e+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;j=(f|0)==-1?-1:g+1+f|0;if((j|0)==-1)break;else g=j}e=~g+b|0;if((((e|0)>-1?e:0-e|0)|0)>131071)Md(c[a+12>>2]|0,40713);c[h>>2]=(e<<14)+2147467264|i&16383;return}if((b|0)==-1)return;i=c[(c[a>>2]|0)+12>>2]|0;e=b;while(1){b=i+(e<<2)|0;h=c[b>>2]|0;g=(h>>>14)+-131071|0;j=e;e=(g|0)==-1?-1:e+1+g|0;if((j|0)>0?(g=b+-4|0,f=c[g>>2]|0,((f&63)+-24|0)>>>0<5):0){k=g;l=f}else{k=b;l=h}if((l&63|0)!=28){f=~j+d|0;if((((f|0)>-1?f:0-f|0)|0)>131071){m=20;break}else{n=f;o=h}}else{c[k>>2]=l&8372224|l>>>23<<6|27;h=~j+d|0;if((((h|0)>-1?h:0-h|0)|0)>131071){m=17;break}n=h;o=c[b>>2]|0}c[b>>2]=o&16383|(n<<14)+2147467264;if((e|0)==-1){m=22;break}}if((m|0)==17)Md(c[a+12>>2]|0,40713);else if((m|0)==20)Md(c[a+12>>2]|0,40713);else if((m|0)==22)return}function Vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=Ca;Ca=Ca+112|0;g=f+104|0;h=f+96|0;i=f+88|0;j=f+80|0;k=f+64|0;l=f;f=(c[b+48>>2]|0)+16|0;m=Yq(f)|0;a:do switch(a[f>>0]|0){case 61:{n=f+1|0;if(m>>>0>60){o=l;p=n;q=o+59|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));a[l+59>>0]=0;break a}else{Os(l|0,n|0,m|0)|0;break a}break}case 64:{if(m>>>0>60){a[l>>0]=a[40570]|0;a[l+1>>0]=a[40571]|0;a[l+2>>0]=a[40572]|0;o=l+3|0;p=f+1+m+-57|0;q=o+57|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));break a}else{Os(l|0,f+1|0,m|0)|0;break a}break}default:{n=ir(f,10)|0;o=l;p=40574;q=o+9|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));r=l+9|0;s=(n|0)==0;if(m>>>0<45&s){Os(r|0,f|0,m|0)|0;t=r+m|0}else{u=s?m:n-f|0;s=u>>>0<45?u:45;Os(r|0,f|0,s|0)|0;u=r+s|0;a[u>>0]=a[40570]|0;a[u+1>>0]=a[40571]|0;a[u+2>>0]=a[40572]|0;t=u+3|0};a[t>>0]=a[40584]|0;a[t+1>>0]=a[40585]|0;a[t+2>>0]=a[40586]|0}}while(0);t=b+32|0;f=c[t>>2]|0;m=c[b+4>>2]|0;c[k>>2]=l;c[k+4>>2]=m;c[k+8>>2]=d;d=Xc(f,40931,k)|0;if(!e){v=c[t>>2]|0;Zb(v,3)}k=c[t>>2]|0;do if((e+-287|0)>>>0>=3){if((e|0)<257){c[i>>2]=e;w=Xc(k,40971,i)|0;break}f=c[640+(e+-257<<2)>>2]|0;if((e|0)<286){c[h>>2]=f;w=Xc(k,40966,h)|0}else w=f}else{f=b+40|0;m=c[f>>2]|0;l=m+4|0;p=c[l>>2]|0;o=p+1|0;q=m+8|0;u=c[q>>2]|0;if(o>>>0>u>>>0){if(u>>>0>2147483645)Vd(b,40941,0);s=u<<1;if((s|0)==-2)jc(k);r=c[m>>2]|0;x=c[k+12>>2]|0;y=(r|0)==0;z=x+4|0;A=Ja[c[x>>2]&1](c[z>>2]|0,r,u,s)|0;if((s|0)!=0&(A|0)==0){if(!(a[x+51>>0]|0))Zb(k,4);ic(k,1);B=Ja[c[x>>2]&1](c[z>>2]|0,r,u,s)|0;if(!B)Zb(k,4);else C=B}else C=A;A=x+12|0;c[A>>2]=(y?0:0-u|0)+s+(c[A>>2]|0);c[m>>2]=C;c[q>>2]=s;s=c[l>>2]|0;D=s+1|0;E=C;F=s}else{D=o;E=c[m>>2]|0;F=p}c[l>>2]=D;a[E+F>>0]=0;l=c[t>>2]|0;c[j>>2]=c[c[f>>2]>>2];w=Xc(l,40966,j)|0}while(0);c[g>>2]=d;c[g+4>>2]=w;Xc(k,40976,g)|0;v=c[t>>2]|0;Zb(v,3)}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ca;Ca=Ca+16|0;e=d+8|0;f=d;if((b|0)<257){g=c[a+32>>2]|0;c[f>>2]=b;h=Xc(g,40971,f)|0;Ca=d;return h|0}f=c[640+(b+-257<<2)>>2]|0;if((b|0)>=286){h=f;Ca=d;return h|0}b=c[a+32>>2]|0;c[e>>2]=f;h=Xc(b,40966,e)|0;Ca=d;return h|0}function Xd(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=Ca;Ca=Ca+32|0;f=e+8|0;g=e;h=e+20|0;e=a+12|0;i=c[(c[e>>2]|0)+32>>2]|0;j=c[(c[a>>2]|0)+64>>2]|0;if(!j)k=41489;else{a=($f(j,0)|0)<<16;$f(j,h)|0;j=c[h>>2]<<16;c[g>>2]=a;c[g+4>>2]=j;k=Xc(i,41460,g)|0}c[f>>2]=d;c[f+4>>2]=b<<16;c[f+8>>2]=k;k=Xc(i,41503,f)|0;Md(c[e>>2]|0,k)}function Yd(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,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;f=Ca;Ca=Ca+32|0;g=f+16|0;h=f;i=d+28|0;j=c[i>>2]|0;k=d+4|0;l=d+8|0;c[l>>2]=c[k>>2];m=d+20|0;if((c[m>>2]|0)==286){n=d+12|0;c[n>>2]=Fd(d,d+16|0)|0;o=n}else{n=m;p=c[n+4>>2]|0;q=d+12|0;c[q>>2]=c[n>>2];c[q+4>>2]=p;c[m>>2]=286;o=d+12|0}_d(d,h,0)|0;if((c[o>>2]|0)!=275)Hd(d,275);c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){p=Fd(d,d+16|0)|0;c[o>>2]=p;r=p}else{p=m;q=c[p>>2]|0;n=c[p+4>>2]|0;p=d+12|0;c[p>>2]=q;c[p+4>>2]=n;c[m>>2]=286;r=q}a:do switch(r|0){case 258:case 266:{ze(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;q=j+12|0;n=c[(c[q>>2]|0)+44>>2]|0;b[g+4>>1]=c[n+28>>2];b[g+6>>1]=c[n+16>>2];a[g+9>>0]=0;n=j+16|0;c[g>>2]=c[n>>2];c[n>>2]=g;n=c[h+8>>2]|0;p=c[k>>2]|0;s=(c[o>>2]|0)==266;c[l>>2]=p;t=(c[m>>2]|0)==286;do if(s){if(t){u=Fd(d,d+16|0)|0;c[o>>2]=u;v=u}else{u=m;w=c[u>>2]|0;x=c[u+4>>2]|0;u=d+12|0;c[u>>2]=w;c[u+4>>2]=x;c[m>>2]=286;v=w}if((v|0)!=288)Hd(d,288);w=d+16|0;x=c[w>>2]|0;c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){c[o>>2]=Fd(d,w)|0;y=x;break}else{w=m;u=c[w+4>>2]|0;z=d+12|0;c[z>>2]=c[w>>2];c[z+4>>2]=u;c[m>>2]=286;y=x;break}}else{if(t)c[o>>2]=Fd(d,d+16|0)|0;else{x=m;u=c[x+4>>2]|0;z=d+12|0;c[z>>2]=c[x>>2];c[z+4>>2]=u;c[m>>2]=286}y=Yc(c[d+32>>2]|0,46819,5)|0}while(0);t=c[d+44>>2]|0;s=t+12|0;u=t+16|0;z=c[u>>2]|0;x=t+20|0;if((z|0)<(c[x>>2]|0)){A=c[s>>2]|0;B=z}else{t=Nd(c[d+32>>2]|0,c[s>>2]|0,x,16,32767,40740)|0;c[s>>2]=t;A=t;B=c[u>>2]|0}c[A+(z<<4)>>2]=y;c[A+(z<<4)+8>>2]=p;a[A+(z<<4)+12>>0]=a[(c[i>>2]|0)+46>>0]|0;c[A+(z<<4)+4>>2]=n;c[u>>2]=B+1;Pd(d,z)|0;b:while(1){switch(c[o>>2]|0){case 286:case 262:case 261:case 260:{C=29;break b;break}case 285:case 59:break;default:break b}Gd(d)}if((C|0)==29){Kd(j);Ca=f;return}n=j+28|0;p=c[n>>2]|0;c[n>>2]=-1;n=Jd(j,2147450903)|0;if((p|0)!=-1)if((n|0)!=-1){z=c[(c[j>>2]|0)+12>>2]|0;u=n;while(1){D=z+(u<<2)|0;E=c[D>>2]|0;t=(E>>>14)+-131071|0;s=(t|0)==-1?-1:u+1+t|0;if((s|0)==-1)break;else u=s}z=p+~u|0;if((((z|0)>-1?z:0-z|0)|0)>131071)Md(c[q>>2]|0,40713);else{c[D>>2]=(z<<14)+2147467264|E&16383;F=n;break a}}else F=p;else F=n;break}default:{$d(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;z=c[(c[j+12>>2]|0)+44>>2]|0;b[g+4>>1]=c[z+28>>2];b[g+6>>1]=c[z+16>>2];a[g+9>>0]=0;z=j+16|0;c[g>>2]=c[z>>2];c[z>>2]=g;F=c[h+12>>2]|0}}while(0);c:do{h=c[o>>2]|0;switch(h|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Gd(d)}while((h|0)!=274);Kd(j);d=j+28|0;do if((c[o>>2]&-2|0)==260){h=c[d>>2]|0;c[d>>2]=-1;g=Jd(j,2147450903)|0;do if((h|0)!=-1)if((g|0)!=-1){i=c[(c[j>>2]|0)+12>>2]|0;E=g;while(1){G=i+(E<<2)|0;H=c[G>>2]|0;D=(H>>>14)+-131071|0;B=(D|0)==-1?-1:E+1+D|0;if((B|0)==-1)break;else E=B}i=h+~E|0;if((((i|0)>-1?i:0-i|0)|0)>131071)Md(c[j+12>>2]|0,40713);else{c[G>>2]=(i<<14)+2147467264|H&16383;C=49;break}}else I=h;else C=49;while(0);if((C|0)==49)if((g|0)==-1)break;else I=g;h=c[e>>2]|0;if((h|0)==-1){c[e>>2]=I;break}n=c[(c[j>>2]|0)+12>>2]|0;p=h;while(1){J=n+(p<<2)|0;K=c[J>>2]|0;h=(K>>>14)+-131071|0;q=(h|0)==-1?-1:p+1+h|0;if((q|0)==-1)break;else p=q}n=I+~p|0;if((((n|0)>-1?n:0-n|0)|0)>131071)Md(c[j+12>>2]|0,40713);else{c[J>>2]=(n<<14)+2147467264|K&16383;break}}while(0);c[j+24>>2]=c[j+20>>2];if((F|0)==-1){Ca=f;return}K=c[d>>2]|0;if((K|0)==-1){c[d>>2]=F;Ca=f;return}d=c[(c[j>>2]|0)+12>>2]|0;J=K;while(1){L=d+(J<<2)|0;M=c[L>>2]|0;K=(M>>>14)+-131071|0;I=(K|0)==-1?-1:J+1+K|0;if((I|0)==-1)break;else J=I}d=F+~J|0;if((((d|0)>-1?d:0-d|0)|0)>131071)Md(c[j+12>>2]|0,40713);c[L>>2]=(d<<14)+2147467264|M&16383;Ca=f;return}function Zd(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;f=Ca;Ca=Ca+16|0;g=f;h=a+12|0;i=c[a+4>>2]|0;if((c[h>>2]|0)!=(b|0))if((i|0)==(e|0))Hd(a,b);else{j=c[a+32>>2]|0;k=Wd(a,b)|0;b=Wd(a,d)|0;d=Rd(e)|0;l=Sd(e)|0;c[g>>2]=k;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=l;Md(a,Xc(j,41414,g)|0)}c[a+8>>2]=i;i=a+20|0;if((c[i>>2]|0)==286){c[h>>2]=Fd(a,a+16|0)|0;Ca=f;return}else{h=i;g=c[h+4>>2]|0;j=a+12|0;c[j>>2]=c[h>>2];c[j+4>>2]=g;c[i>>2]=286;Ca=f;return}}function _d(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=Ca;Ca=Ca+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+32|0;m=(c[l>>2]|0)+38|0;n=(b[m>>1]|0)+1<<16>>16;b[m>>1]=n;if((n&65535)>200)Xd(k,200,41047);n=e+12|0;a:do switch(c[n>>2]|0){case 271:{o=1;p=6;break}case 45:{o=0;p=6;break}case 35:{o=2;p=6;break}case 287:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=5;m=f+4|0;c[m>>2]=0;c[m>>2]=c[e+16>>2];p=24;break}case 289:{m=c[e+16>>2]|0;c[i>>2]=m;c[i+4>>2]=(a[m+4>>0]|64)&255;m=ce(k,i,i)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=4;c[f+4>>2]=m;p=24;break}case 270:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=1;c[f+4>>2]=0;p=24;break}case 276:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=2;c[f+4>>2]=0;p=24;break}case 263:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=3;c[f+4>>2]=0;p=24;break}case 280:{if(!(a[(c[k>>2]|0)+77>>0]|0))Md(e,41371);else{m=Jd(k,8388646)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=13;c[f+4>>2]=m;p=24;break a}break}case 123:{qe(e,f);p=27;break}case 265:{m=e+4|0;q=c[m>>2]|0;c[e+8>>2]=q;r=e+20|0;if((c[r>>2]|0)==286){c[n>>2]=Fd(e,e+16|0)|0;s=c[m>>2]|0}else{m=r;t=c[m+4>>2]|0;u=e+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=t;c[r>>2]=286;s=q}ke(e,f,0,s);p=27;break}default:{me(e,f);p=27}}while(0);do if((p|0)==6){s=c[e+4>>2]|0;c[e+8>>2]=s;k=e+20|0;if((c[k>>2]|0)==286)c[n>>2]=Fd(e,e+16|0)|0;else{q=k;r=c[q+4>>2]|0;t=e+12|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;c[k>>2]=286}_d(e,f,8)|0;ue(c[j>>2]|0,o,f,s);p=27}else if((p|0)==24){c[e+8>>2]=c[e+4>>2];s=e+20|0;if((c[s>>2]|0)==286){k=Fd(e,e+16|0)|0;c[n>>2]=k;v=k;break}else{k=s;r=c[k+4>>2]|0;t=e+12|0;c[t>>2]=c[k>>2];c[t+4>>2]=r;c[s>>2]=286;p=27;break}}while(0);if((p|0)==27)v=c[n>>2]|0;do switch(v|0){case 43:{w=0;break}case 45:{w=1;break}case 42:{w=2;break}case 47:{w=3;break}case 37:{w=4;break}case 94:{w=5;break}case 279:{w=6;break}case 284:{w=10;break}case 281:{w=7;break}case 60:{w=8;break}case 283:{w=9;break}case 62:{w=11;break}case 282:{w=12;break}case 257:{w=13;break}case 272:{w=14;break}default:{x=15;y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ca=h;return x|0}}while(0);v=e+4|0;o=e+8|0;s=e+20|0;r=e+16|0;t=e+12|0;k=w;while(1){if((d[784+(k<<1)>>0]|0)<=(g|0)){x=k;p=49;break}w=c[v>>2]|0;c[o>>2]=w;if((c[s>>2]|0)==286)c[n>>2]=Fd(e,r)|0;else{q=s;u=c[q+4>>2]|0;m=t;c[m>>2]=c[q>>2];c[m+4>>2]=u;c[s>>2]=286}ve(c[j>>2]|0,k,f);u=k;k=_d(e,i,d[784+(k<<1)+1>>0]|0)|0;we(c[j>>2]|0,u,f,i,w);if((k|0)==15){x=15;p=49;break}}if((p|0)==49){y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ca=h;return x|0}return 0}function $d(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,E=0,F=0;ee(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=e+4|0;h=c[g>>2]|0;i=(c[(c[b>>2]|0)+12>>2]|0)+(h<<2)|0;if((h|0)>0?(h=i+-4|0,j=c[h>>2]|0,((j&63)+-24|0)>>>0<5):0){k=h;l=j}else{k=i;l=c[i>>2]|0}c[k>>2]=((l&16320|0)==0&1)<<6|l&-16321;m=c[g>>2]|0;n=32;break}case 2:case 5:case 4:break;case 11:{g=c[b>>2]|0;i=e+4|0;j=c[(c[g+12>>2]|0)+(c[i>>2]<<2)>>2]|0;h=b+20|0;if((j&63|0)==20){c[h>>2]=(c[h>>2]|0)+-1;Jd(b,j>>>23<<6|16411)|0;j=b+28|0;h=c[j>>2]|0;c[j>>2]=-1;j=Jd(b,2147450903)|0;if((h|0)!=-1)if((j|0)!=-1){o=c[(c[b>>2]|0)+12>>2]|0;p=j;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=h+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)Md(c[b+12>>2]|0,40713);else{c[q>>2]=(o<<14)+2147467264|r&16383;m=j;n=32;break a}}else{u=h;n=33}else{m=j;n=32}}else{v=i;w=g;n=16}break}default:{o=e+4|0;if((f|0)==6){x=o;n=22}else{v=o;w=c[b>>2]|0;n=16}}}while(0);if((n|0)==16){f=b+48|0;r=a[f>>0]|0;q=(r&255)+1|0;l=w+78|0;do if((r&255)>=(d[l>>0]|0))if((r&255)>248)Md(c[b+12>>2]|0,41091);else{w=q&255;a[l>>0]=w;y=w;break}else y=q&255;while(0);a[f>>0]=y;te(b,e,(y&255)+-1|0);if((c[e>>2]|0)==6){x=v;n=22}else{z=v;n=25}}if((n|0)==22){v=c[e+4>>2]|0;if((v&256|0)==0?(v|0)>=(d[b+46>>0]|0|0):0){v=b+48|0;a[v>>0]=(a[v>>0]|0)+-1<<24>>24;z=x;n=25}else{z=x;n=25}}do if((n|0)==25){Jd(b,c[z>>2]<<23|16348)|0;x=b+28|0;v=c[x>>2]|0;c[x>>2]=-1;x=Jd(b,2147450903)|0;if((v|0)!=-1)if((x|0)!=-1){y=c[(c[b>>2]|0)+12>>2]|0;f=x;while(1){A=y+(f<<2)|0;B=c[A>>2]|0;q=(B>>>14)+-131071|0;l=(q|0)==-1?-1:f+1+q|0;if((l|0)==-1)break;else f=l}y=v+~f|0;if((((y|0)>-1?y:0-y|0)|0)>131071)Md(c[b+12>>2]|0,40713);else{c[A>>2]=(y<<14)+2147467264|B&16383;m=x;n=32;break}}else{u=v;n=33}else{m=x;n=32}}while(0);if((n|0)==32?(m|0)!=-1:0){u=m;n=33}do if((n|0)==33){m=e+12|0;B=c[m>>2]|0;if((B|0)==-1){c[m>>2]=u;break}m=c[(c[b>>2]|0)+12>>2]|0;A=B;while(1){C=m+(A<<2)|0;D=c[C>>2]|0;B=(D>>>14)+-131071|0;z=(B|0)==-1?-1:A+1+B|0;if((z|0)==-1)break;else A=z}m=u+~A|0;if((((m|0)>-1?m:0-m|0)|0)>131071)Md(c[b+12>>2]|0,40713);else{c[C>>2]=(m<<14)+2147467264|D&16383;break}}while(0);D=e+8|0;e=c[D>>2]|0;c[b+24>>2]=c[b+20>>2];C=b+28|0;if((e|0)==-1){c[D>>2]=-1;return}u=c[C>>2]|0;if((u|0)==-1){c[C>>2]=e;c[D>>2]=-1;return}C=c[(c[b>>2]|0)+12>>2]|0;n=u;while(1){E=C+(n<<2)|0;F=c[E>>2]|0;u=(F>>>14)+-131071|0;m=(u|0)==-1?-1:n+1+u|0;if((m|0)==-1)break;else n=m}C=e+~n|0;if((((C|0)>-1?C:0-C|0)|0)>131071)Md(c[b+12>>2]|0,40713);c[E>>2]=(C<<14)+2147467264|F&16383;c[D>>2]=-1;return}function ae(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=c[e+28>>2]|0;h=c[e+44>>2]|0;i=c[g>>2]|0;j=i+60|0;k=c[j>>2]|0;l=g+44|0;if((k|0)>(b[l>>1]|0)){m=k;n=c[i+24>>2]|0}else{o=i+24|0;p=Nd(c[e+32>>2]|0,c[o>>2]|0,j,12,32767,41355)|0;c[o>>2]=p;m=c[j>>2]|0;n=p}if((k|0)<(m|0)?(p=k+1|0,c[n+(k*12|0)>>2]=0,(p|0)<(m|0)):0){k=p;do{c[n+(k*12|0)>>2]=0;k=k+1|0}while((k|0)!=(m|0))}c[n+((b[l>>1]|0)*12|0)>>2]=f;do if(a[f+5>>0]&3?(n=i+5|0,m=a[n>>0]|0,m&4):0){k=c[(c[e+32>>2]|0)+12>>2]|0;if((d[k+49>>0]|0)<2){hc(k,f);break}else{a[n>>0]=a[k+48>>0]&3|m&-72;break}}while(0);f=b[l>>1]|0;b[l>>1]=f+1<<16>>16;l=h+4|0;i=c[l>>2]|0;m=i+1|0;if((m-(c[g+40>>2]|0)|0)>200)Xd(g,200,41355);g=h+8|0;if((i+2|0)>(c[g>>2]|0)){k=Nd(c[e+32>>2]|0,c[h>>2]|0,g,2,2147483645,41355)|0;c[h>>2]=k;g=c[l>>2]|0;q=g+1|0;r=k;s=g;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}else{q=m;r=c[h>>2]|0;s=i;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}}function be(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ca;Ca=Ca+16|0;f=e;_d(b,f,0)|0;g=c[b+28>>2]|0;ee(g,f);if(((c[f>>2]|0)==6?(b=c[f+4>>2]|0,(b&256|0)==0):0)?(b|0)>=(d[g+46>>0]|0|0):0){b=g+48|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}b=g+48|0;h=a[b>>0]|0;i=(h&255)+1|0;j=(c[g>>2]|0)+78|0;if((h&255)<(d[j>>0]|0)){k=i&255;a[b>>0]=k;l=k&255;m=l+-1|0;fe(g,f,m);Ca=e;return}if((h&255)>248)Md(c[g+12>>2]|0,41091);h=i&255;a[j>>0]=h;k=h;a[b>>0]=k;l=k&255;m=l+-1|0;fe(g,f,m);Ca=e;return}function ce(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;g=c[(c[b+12>>2]|0)+32>>2]|0;h=c[b>>2]|0;i=c[b+4>>2]|0;j=kc(i,e)|0;if((j|0)==4209132)k=lc(g,i,e)|0;else k=j;j=k+4|0;if(((c[j>>2]|0)==3?(e=c[k>>2]>>16,i=c[h+8>>2]|0,(c[i+(e<<3)+4>>2]|0)==(c[f+4>>2]|0)):0)?rc(0,i+(e<<3)|0,f)|0:0){l=e;return l|0}e=h+44|0;i=c[e>>2]|0;m=b+32|0;b=c[m>>2]|0;c[k>>2]=b;c[j>>2]=3;j=c[e>>2]|0;k=h+8|0;if((b|0)<(j|0)){n=j;o=c[k>>2]|0}else{j=Nd(g,c[k>>2]|0,e,8,67108863,41345)|0;c[k>>2]=j;n=c[e>>2]|0;o=j}if((i|0)<(n|0)?(j=i+1|0,c[o+(i<<3)+4>>2]=0,(j|0)<(n|0)):0){i=j;do{c[o+(i<<3)+4>>2]=0;i=i+1|0}while((i|0)<(n|0))}c[o+(b<<3)>>2]=c[f>>2];n=f+4|0;c[o+(b<<3)+4>>2]=c[n>>2];c[m>>2]=(c[m>>2]|0)+1;if(!(c[n>>2]&64)){l=b;return l|0}n=c[f>>2]|0;if(!(a[n+5>>0]&3)){l=b;return l|0}f=h+5|0;h=a[f>>0]|0;if(!(h&4)){l=b;return l|0}m=c[g+12>>2]|0;if((d[m+49>>0]|0)<2){hc(m,n);l=b;return l|0}else{a[f>>0]=a[m+48>>0]&3|h&-72;l=b;return l|0}return 0}function de(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=Ca;Ca=Ca+32|0;k=j+12|0;l=j;m=e+28|0;n=c[m>>2]|0;o=n+46|0;p=a[o>>0]|0;a[o>>0]=(p&255)+3;q=n+20|0;r=c[q>>2]|0;s=n+12|0;t=c[(c[n>>2]|0)+24>>2]|0;u=c[c[(c[s>>2]|0)+44>>2]>>2]|0;v=(c[n+40>>2]|0)+(p+3&255)|0;c[t+((b[u+(v+-3<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-2<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-1<<1)>>1]|0)*12|0)+4>>2]=r;r=e+12|0;if((c[r>>2]|0)!=259)Hd(e,259);c[e+8>>2]=c[e+4>>2];v=e+20|0;if((c[v>>2]|0)==286)c[r>>2]=Fd(e,e+16|0)|0;else{u=v;t=c[u+4>>2]|0;p=e+12|0;c[p>>2]=c[u>>2];c[p+4>>2]=t;c[v>>2]=286}v=(i|0)!=0;do if(!v){i=n+28|0;t=c[i>>2]|0;c[i>>2]=-1;i=Jd(n,2147450903)|0;if((t|0)!=-1)if((i|0)!=-1){p=c[(c[n>>2]|0)+12>>2]|0;u=i;while(1){w=p+(u<<2)|0;x=c[w>>2]|0;y=(x>>>14)+-131071|0;z=(y|0)==-1?-1:u+1+y|0;if((z|0)==-1)break;else u=z}p=t+~u|0;if((((p|0)>-1?p:0-p|0)|0)>131071)Md(c[s>>2]|0,40713);else{c[w>>2]=(p<<14)+2147467264|x&16383;A=i;break}}else A=t;else A=i}else A=Jd(n,f<<6|2147450913)|0;while(0);a[l+10>>0]=0;a[l+8>>0]=a[o>>0]|0;o=c[s>>2]|0;x=c[o+44>>2]|0;b[l+4>>1]=c[x+28>>2];b[l+6>>1]=c[x+16>>2];a[l+9>>0]=0;x=n+16|0;c[l>>2]=c[x>>2];c[x>>2]=l;l=c[m>>2]|0;m=l+46|0;x=(d[m>>0]|0)+h|0;w=x&255;a[m>>0]=w;if(h|0){m=c[l+20>>2]|0;p=c[(c[l>>2]|0)+24>>2]|0;z=c[c[(c[l+12>>2]|0)+44>>2]>>2]|0;y=(c[l+40>>2]|0)+(x&255)|0;x=h;do{c[p+((b[z+(y-x<<1)>>1]|0)*12|0)+4>>2]=m;x=x+-1|0}while((x|0)!=0)}x=n+48|0;m=(d[x>>0]|0)+h|0;y=(c[n>>2]|0)+78|0;do if((m|0)>(d[y>>0]|0))if((m|0)>249)Md(o,41091);else{z=m&255;a[y>>0]=z;B=z;break}else B=m&255;while(0);a[x>>0]=B;a[k+10>>0]=0;a[k+8>>0]=w;w=c[(c[l+12>>2]|0)+44>>2]|0;b[k+4>>1]=c[w+28>>2];b[k+6>>1]=c[w+16>>2];a[k+9>>0]=0;w=l+16|0;c[k>>2]=c[w>>2];c[w>>2]=k;a:do{k=c[r>>2]|0;switch(k|0){case 277:case 286:case 262:case 261:case 260:{break a;break}default:{}}Gd(e)}while((k|0)!=274);Kd(l);Kd(n);c[n+24>>2]=c[q>>2];l=n+28|0;do if((A|0)!=-1){e=c[l>>2]|0;if((e|0)==-1){c[l>>2]=A;break}r=c[(c[n>>2]|0)+12>>2]|0;k=e;while(1){C=r+(k<<2)|0;D=c[C>>2]|0;e=(D>>>14)+-131071|0;w=(e|0)==-1?-1:k+1+e|0;if((w|0)==-1)break;else k=w}r=A+~k|0;if((((r|0)>-1?r:0-r|0)|0)>131071)Md(c[s>>2]|0,40713);else{c[C>>2]=(r<<14)+2147467264|D&16383;break}}while(0);D=f<<6;if(v){E=D|2147450912;F=Jd(n,E)|0;G=A+1|0;Ud(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Ca=j;return}else{Jd(n,D|h<<14|34)|0;c[(c[(c[n>>2]|0)+20>>2]|0)+((c[q>>2]|0)+-1<<2)>>2]=g;E=D+128|2147450915;F=Jd(n,E)|0;G=A+1|0;Ud(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Ca=j;return}}function ee(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;switch(c[f>>2]|0){case 7:{c[f>>2]=6;return}case 8:{g=f+4|0;c[g>>2]=Jd(e,c[g>>2]<<23|5)|0;c[f>>2]=11;return}case 9:{g=f+4|0;h=b[g>>1]|0;if((h&256|0)==0?(d[e+46>>0]|0)<=(h|0):0){h=e+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=g+2|0;if((a[g+3>>0]|0)==7)if((d[e+46>>0]|0)>(d[h>>0]|0))i=7;else{j=e+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;i=7}else i=6;c[g>>2]=Jd(e,d[h>>0]<<23|i|b[g>>1]<<14)|0;c[f>>2]=11;return}case 12:{c[f>>2]=6;g=f+4|0;c[g>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>6&255;return}case 13:{g=(c[(c[e>>2]|0)+12>>2]|0)+(c[f+4>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607|16777216;c[f>>2]=11;return}default:return}}function fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,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;te(a,b,d);e=(c[b>>2]|0)==10;f=b+8|0;do if(e?(g=c[b+4>>2]|0,(g|0)!=-1):0){h=c[f>>2]|0;if((h|0)==-1){c[f>>2]=g;i=g;break}j=c[(c[a>>2]|0)+12>>2]|0;k=h;while(1){l=j+(k<<2)|0;m=c[l>>2]|0;h=(m>>>14)+-131071|0;n=(h|0)==-1?-1:k+1+h|0;if((n|0)==-1)break;else k=n}j=g+~k|0;if((((j|0)>-1?j:0-j|0)|0)>131071)Md(c[a+12>>2]|0,40713);else{c[l>>2]=(j<<14)+2147467264|m&16383;o=10;break}}else o=10;while(0);if((o|0)==10)i=c[f>>2]|0;m=b+12|0;l=c[m>>2]|0;if((i|0)==(l|0)){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}a:do if((i|0)==-1)o=19;else{j=c[(c[a>>2]|0)+12>>2]|0;n=i;while(1){h=j+(n<<2)|0;if((n|0)>0?(q=c[h+-4>>2]|0,((q&63)+-24|0)>>>0<5):0)r=q;else r=c[h>>2]|0;if((r&63|0)!=28){o=26;break a}q=((c[h>>2]|0)>>>14)+-131071|0;n=(q|0)==-1?-1:n+1+q|0;if((n|0)==-1){o=19;break}}}while(0);b:do if((o|0)==19)if((l|0)==-1){s=-1;t=-1}else{r=c[(c[a>>2]|0)+12>>2]|0;i=l;while(1){n=r+(i<<2)|0;if((i|0)>0?(j=c[n+-4>>2]|0,((j&63)+-24|0)>>>0<5):0)u=j;else u=c[n>>2]|0;if((u&63|0)!=28){o=26;break b}j=((c[n>>2]|0)>>>14)+-131071|0;i=(j|0)==-1?-1:i+1+j|0;if((i|0)==-1){s=-1;t=-1;break}}}while(0);do if((o|0)==26){u=a+28|0;do if(!e){l=c[u>>2]|0;c[u>>2]=-1;i=Jd(a,2147450903)|0;if((l|0)!=-1)if((i|0)!=-1){r=c[(c[a>>2]|0)+12>>2]|0;j=i;while(1){v=r+(j<<2)|0;w=c[v>>2]|0;n=(w>>>14)+-131071|0;k=(n|0)==-1?-1:j+1+n|0;if((k|0)==-1)break;else j=k}r=l+~j|0;if((((r|0)>-1?r:0-r|0)|0)>131071)Md(c[a+12>>2]|0,40713);else{c[v>>2]=(r<<14)+2147467264|w&16383;x=i;break}}else x=l;else x=i}else x=-1;while(0);r=a+20|0;k=a+24|0;c[k>>2]=c[r>>2];n=d<<6;g=Jd(a,n|16387)|0;c[k>>2]=c[r>>2];q=Jd(a,n|8388611)|0;c[k>>2]=c[r>>2];if((x|0)!=-1){r=c[u>>2]|0;if((r|0)==-1){c[u>>2]=x;s=g;t=q;break}k=c[(c[a>>2]|0)+12>>2]|0;n=r;while(1){y=k+(n<<2)|0;z=c[y>>2]|0;r=(z>>>14)+-131071|0;h=(r|0)==-1?-1:n+1+r|0;if((h|0)==-1)break;else n=h}k=x+~n|0;if((((k|0)>-1?k:0-k|0)|0)>131071)Md(c[a+12>>2]|0,40713);else{c[y>>2]=(k<<14)+2147467264|z&16383;s=g;t=q;break}}else{s=g;t=q}}while(0);z=c[a+20>>2]|0;c[a+24>>2]=z;y=c[m>>2]|0;c:do if((y|0)!=-1){x=c[(c[a>>2]|0)+12>>2]|0;w=d<<6;v=w&16320;if((d|0)==255){e=y;while(1){k=x+(e<<2)|0;u=c[k>>2]|0;h=(u>>>14)+-131071|0;r=e;e=(h|0)==-1?-1:e+1+h|0;if((r|0)>0?(h=k+-4|0,A=c[h>>2]|0,((A&63)+-24|0)>>>0<5):0){B=h;C=A}else{B=k;C=u}if((C&63|0)!=28){A=s+~r|0;if((((A|0)>-1?A:0-A|0)|0)>131071){o=65;break}else{D=A;E=u}}else{c[B>>2]=C&8372224|C>>>23<<6|27;u=z+~r|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=62;break}D=u;E=c[k>>2]|0}c[k>>2]=E&16383|(D<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;Md(G,40713)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;Md(I,40713)}}e=y;while(1){q=x+(e<<2)|0;g=c[q>>2]|0;n=(g>>>14)+-131071|0;k=e;e=(n|0)==-1?-1:e+1+n|0;if((k|0)>0?(n=q+-4|0,u=c[n>>2]|0,((u&63)+-24|0)>>>0<5):0){J=n;K=u}else{J=q;K=g}if((K&63|0)!=28){u=s+~k|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=65;break}else{L=u;M=g}}else{if((K>>>23|0)==(d|0))N=K&8372224|w|27;else N=K&-16321|v;c[J>>2]=N;g=z+~k|0;if((((g|0)>-1?g:0-g|0)|0)>131071){o=62;break}L=g;M=c[q>>2]|0}c[q>>2]=M&16383|(L<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;Md(G,40713)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;Md(I,40713)}}while(0);I=c[f>>2]|0;if((I|0)==-1){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}H=c[(c[a>>2]|0)+12>>2]|0;G=d<<6;F=G&16320;if((d|0)==255){L=I;while(1){M=H+(L<<2)|0;N=c[M>>2]|0;J=(N>>>14)+-131071|0;K=L;L=(J|0)==-1?-1:L+1+J|0;if((K|0)>0?(J=M+-4|0,s=c[J>>2]|0,((s&63)+-24|0)>>>0<5):0){O=J;P=s}else{O=M;P=N}if((P&63|0)!=28){s=t+~K|0;if((((s|0)>-1?s:0-s|0)|0)>131071){o=90;break}else{Q=s;R=N}}else{c[O>>2]=P&8372224|P>>>23<<6|27;N=z+~K|0;if((((N|0)>-1?N:0-N|0)|0)>131071){o=87;break}Q=N;R=c[M>>2]|0}c[M>>2]=R&16383|(Q<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;Md(T,40713)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;Md(V,40713)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}L=I;while(1){I=H+(L<<2)|0;Q=c[I>>2]|0;R=(Q>>>14)+-131071|0;P=L;L=(R|0)==-1?-1:L+1+R|0;if((P|0)>0?(R=I+-4|0,O=c[R>>2]|0,((O&63)+-24|0)>>>0<5):0){W=R;X=O}else{W=I;X=Q}if((X&63|0)!=28){O=t+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071){o=90;break}else{Y=O;Z=Q}}else{if((X>>>23|0)==(d|0))_=X&8372224|G|27;else _=X&-16321|F;c[W>>2]=_;Q=z+~P|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071){o=87;break}Y=Q;Z=c[I>>2]|0}c[I>>2]=Z&16383|(Y<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;Md(T,40713)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;Md(V,40713)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}function ge(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=e-f|0;f=c[g>>2]|0;switch(f|0){case 13:case 12:{e=h+1|0;i=(e|0)>0?e:0;switch(f|0){case 12:{f=(c[(c[b>>2]|0)+12>>2]|0)+(c[g+4>>2]<<2)|0;c[f>>2]=c[f>>2]&-8372225|(i<<14)+16384&8372224;break}case 13:{f=c[b>>2]|0;e=c[f+12>>2]|0;j=g+4|0;k=e+(c[j>>2]<<2)|0;c[k>>2]=c[k>>2]&8388607|(i<<23)+8388608;k=e+(c[j>>2]<<2)|0;j=b+48|0;e=a[j>>0]|0;l=e&255;c[k>>2]=l<<6|c[k>>2]&-16321;k=l+1|0;l=f+78|0;do if((e&255)>=(d[l>>0]|0))if((e&255)>248)Md(c[b+12>>2]|0,41091);else{f=k&255;a[l>>0]=f;m=f;break}else m=k&255;while(0);a[j>>0]=m;break}default:{}}if((i|0)<=1)return;m=b+48|0;j=i+-1+(d[m>>0]|0)|0;i=(c[b>>2]|0)+78|0;do if((j|0)>(d[i>>0]|0|0))if((j|0)>249)Md(c[b+12>>2]|0,41091);else{k=j&255;a[i>>0]=k;n=k;break}else n=j&255;while(0);a[m>>0]=n;return}case 0:break;default:{ee(b,g);if(((c[g>>2]|0)==6?(n=c[g+4>>2]|0,(n&256|0)==0):0)?(n|0)>=(d[b+46>>0]|0|0):0){n=b+48|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24}n=b+48|0;m=a[n>>0]|0;j=(m&255)+1|0;i=(c[b>>2]|0)+78|0;do if((m&255)>=(d[i>>0]|0))if((m&255)>248)Md(c[b+12>>2]|0,41091);else{k=j&255;a[i>>0]=k;o=k;break}else o=j&255;while(0);a[n>>0]=o;fe(b,g,(o&255)+-1|0)}}if((h|0)<=0)return;o=b+48|0;g=d[o>>0]|0;n=h+g|0;j=c[b>>2]|0;i=j+78|0;do if((n|0)>(d[i>>0]|0|0))if((n|0)>249)Md(c[b+12>>2]|0,41091);else{m=n&255;a[i>>0]=m;p=m;break}else p=n&255;while(0);a[o>>0]=p;p=n+511|0;o=c[b+20>>2]|0;do if((o|0)>(c[b+24>>2]|0)?(i=(c[j+12>>2]|0)+(o+-1<<2)|0,m=c[i>>2]|0,(m&63|0)==4):0){k=m>>>6&255;l=k+(m>>>23)|0;if(k>>>0>g>>>0|(l+1|0)>>>0>>0?k>>>0>>0|(k|0)>(n|0):0)break;e=k>>>0>>0?k:g;c[i>>2]=e<<6|m&8372287|((l|0)<(n|0)?p:l)-e<<23;return}while(0);Jd(b,(h<<23)+-8388608|g<<6|4)|0;return}function he(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;f=Ca;Ca=Ca+32|0;g=f+16|0;h=f;i=d+12|0;if((c[i>>2]|0)!=288)Hd(d,288);j=d+16|0;k=c[j>>2]|0;c[d+8>>2]=c[d+4>>2];l=d+20|0;if((c[l>>2]|0)==286)c[i>>2]=Fd(d,j)|0;else{j=l;i=c[j+4>>2]|0;m=d+12|0;c[m>>2]=c[j>>2];c[m+4>>2]=i;c[l>>2]=286}l=d+28|0;i=c[l>>2]|0;if(se(i,k,e,1)|0){Ca=f;return}se(i,c[d+52>>2]|0,e,1)|0;d=c[l>>2]|0;c[g>>2]=k;c[g+4>>2]=(a[k+4>>0]|64)&255;k=ce(d,g,g)|0;c[h+8>>2]=-1;c[h+12>>2]=-1;c[h>>2]=4;c[h+4>>2]=k;k=e+4|0;a[k+2>>0]=c[k>>2];b[k>>1]=je(i,h)|0;a[k+3>>0]=(c[e>>2]|0)==8?8:7;c[e>>2]=9;Ca=f;return}function ie(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;ee(b,e);if((c[e>>2]|0)==6){f=e+4|0;g=c[f>>2]|0;if((c[e+8>>2]|0)==(c[e+12>>2]|0)){h=g;return h|0}if((g|0)>=(d[b+46>>0]|0|0)){fe(b,e,g);i=f}else j=5}else j=5;if((j|0)==5){ee(b,e);if(((c[e>>2]|0)==6?(j=c[e+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}j=b+48|0;f=a[j>>0]|0;g=(f&255)+1|0;k=(c[b>>2]|0)+78|0;do if((f&255)>=(d[k>>0]|0))if((f&255)>248)Md(c[b+12>>2]|0,41091);else{l=g&255;a[k>>0]=l;m=l;break}else m=g&255;while(0);a[j>>0]=m;fe(b,e,(m&255)+-1|0);i=e+4|0}h=c[i>>2]|0;return h|0} +function nk(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;d=Ca;Ca=Ca+16|0;e=d+8|0;f=d;g=c[865946]|0;if(!g){a:do if((b|0)==27){if((c[943666]|0)>0){c[943666]=0;ip(c[943665]|0);c[943665]=0;nb(51081,1500);c[1267393]=0;h=62;break}if(c[943611]|0){i=(c[1052638]|0)==0&1;c[1052638]=i;j=i;break}i=c[1052306]|0;switch(i|0){case 0:{c[1276925]=0;h=62;break a;break}case 1:{c[1052306]=0;h=62;break a;break}default:{if((i|1|0)==5){c[1052306]=1;k=1}else k=i;$j(k);h=62;break a}}}else h=62;while(0);if((h|0)==62)j=c[1052638]|0;if(j|0){Ca=d;return}j=1==1;b:do if((b|0)!=102|j){switch(b|0){case 8:case 127:break;default:{h=68;break b}}if(j)h=71}else if(!(aj(9)|0)){ak();Vo()|0;h=68}else h=68;while(0);if(((h|0)==68?(xl(76)|0)==3:0)?(aj(76)|0)==0&1==1:0)h=71;if((h|0)==71){ak();Vo()|0}if(xl(75)|0?(aj(75)|0)==0:0){j=3463764;k=(c[j>>2]|0)+-6|0;i=c[865940]|0;l=(i|0)<1?0:i+-1|0;i=(k|0)<(l|0)?k:l;c[j>>2]=(i|0)>0?i:0}if(xl(78)|0?(aj(78)|0)==0:0){i=3463764;j=(c[i>>2]|0)+6|0;l=c[865940]|0;k=(l|0)<1?0:l+-1|0;l=(j|0)<(k|0)?j:k;c[i>>2]=(l|0)>0?l:0}if(xl(74)|0?(aj(74)|0)==0:0)c[865941]=0;if(!(xl(77)|0)){Ca=d;return}if(aj(77)|0){Ca=d;return}l=c[865940]|0;i=l+-1|0;k=(l|0)<1?0:i;l=(i|0)<(k|0)?i:k;c[865941]=(l|0)>0?l:0;Ca=d;return}l=Yq(3463788)|0;do if((g|0)==1){if((xl(82)|0)!=3?(xl(81)|0)!=3:0){if((c[865946]|0)!=1)break;if(!((b|0)==13|(jb(b)|0)!=0))break;c[865946]=2;break}c[865946]=3}while(0);g=(b|0)==-1;if(g){if((xl(80)|0)==3){k=Yq(3463788)|0;i=3463852;j=(c[i>>2]|0)+-1|0;m=(j|0)<(k|0)?j:k;c[i>>2]=(m|0)>0?m:0}if((xl(79)|0)==3){m=Yq(3463788)|0;i=3463852;k=c[i>>2]|0;if((k|0)==(m|0)&(k|0)<21){a[3463788+m>>0]=32;j=(c[i>>2]|0)+1|0;c[i>>2]=j;a[3463788+j>>0]=0;n=m+1|0;o=c[i>>2]|0}else{n=m;o=k}k=o+1|0;o=(k|0)<(n|0)?k:n;c[i>>2]=(o|0)>0?o:0}}else if((b|0)==27)c[865946]=0;c:do if((c[865946]|0)==2){if((l|0)<22&(jb(b)|0)!=0){o=3463852;i=c[o>>2]|0;if((i|0)<22){n=22;do{k=n;n=n+-1|0;a[3463788+k>>0]=a[3463788+n>>0]|0;k=c[o>>2]|0}while((n|0)>(k|0));p=k}else p=i;a[3463810]=0;a[3463788+p>>0]=b;c[o>>2]=(c[o>>2]|0)+1;c[865946]=2;break}switch(b|0){case 8:case 127:{h=26;break}default:if((xl(76)|0)==3)h=26}if((h|0)==26?(c[865963]|0)>0:0){n=(xl(76)|0)==3;k=3463852;m=c[k>>2]|0;if(n)q=m;else{n=m+-1|0;c[k>>2]=n;q=n}if((q|0)>=22)break;n=q;while(1){k=n;n=n+1|0;a[3463788+k>>0]=a[3463788+n>>0]|0;if((k|0)>=21)break c}}if((b|0)==13){c[f>>2]=3463788;mq(3462700,50803,f)|0;bk(c[865674]|0,3462700,0);Kk(3463728,3463788)|0;c[865946]=0;cj();break}if(g){if((xl(80)|0)==3){n=Yq(3463788)|0;o=3463852;i=(c[o>>2]|0)+-1|0;k=(i|0)<(n|0)?i:n;c[o>>2]=(k|0)>0?k:0}if((xl(79)|0)==3){k=Yq(3463788)|0;o=3463852;n=c[o>>2]|0;if((n|0)==(k|0)&(n|0)<21){a[3463788+k>>0]=32;i=(c[o>>2]|0)+1|0;c[o>>2]=i;a[3463788+i>>0]=0;r=k+1|0;s=c[o>>2]|0}else{r=k;s=n}n=s+1|0;k=(n|0)<(r|0)?n:r;c[o>>2]=(k|0)>0?k:0}}}while(0);if((c[865946]|0)!=3){Ca=d;return}if(bj(2,0)|0)lk(-1);if(bj(3,0)|0)lk(1);if(!((bj(4,0)|0)==0?!(bj(5,0)|0):0)){c[e>>2]=3463788;mq(3462700,50803,e)|0;bk(c[865674]|0,3462700,0);Kk(3463728,3463788)|0;c[865946]=0;cj()}if(!(bj(6,0)|0)){Ca=d;return}c[865946]=0;c[1267643]=1;nb(51071,1e3);Ca=d;return}function ok(){var a=0,b=0,d=0,e=0,f=0,g=0;c[944501]=0;a=c[865648]|0;if((a|0)>0){b=0;d=a;while(1){a=c[(c[865381]|0)+(b*660|0)+648>>2]|0;if(!a)e=d;else{bl(a)|0;e=c[865648]|0}b=b+1|0;if((b|0)>=(e|0))break;else d=e}}c[865648]=0;ek(3461520,5061e3);e=3463764;d=c[e>>2]|0;b=3463760;a=c[b>>2]|0;f=(a|0)<1?0:a+-1|0;g=(d|0)<(f|0)?d:f;c[e>>2]=(g|0)>0?g:0;if(!(1!=1&(a|0)>0)){Vo()|0;c[1052638]=0;return}a=3462692;g=0;do{e=c[a>>2]|0;f=e+(g*660|0)+656|0;c[f>>2]=0;c[f>>2]=(Uj(3462688,e+(g*660|0)+388|0,e+(g*660|0)+260|0)|0)!=-1&1;g=g+1|0}while((g|0)<(c[b>>2]|0));Vo()|0;c[1052638]=0;return}function pk(){return}function qk(a){a=a|0;var b=0,d=0,e=0;b=Ca;Ca=Ca+16|0;d=b;Ps(4209232,0,660)|0;Kk(4209236,Sm(a,51100,0)|0)|0;Kk(4209364,Sm(a,51106,0)|0)|0;Kk(4209620,Sm(a,51113,0)|0)|0;Kk(4209748,Sm(a,51117,0)|0)|0;c[1052469]=0;e=Sm(a,51121,0)|0;c[d>>2]=4209876;Mr(e,52136,d)|0;c[1052471]=1;Tj(4209232);Ca=b;return}function rk(){a[3482800]=0;am(5063056,0,3482800,0);if((a[5066476]|0)!=0&(c[1267391]|0)!=0|(c[943613]|0)!=0)Kk(3482800,4209236)|0;Kk(3482800,Ta()|0)|0;if(a[3482800]|0)return 3482800;Kk(3482800,51128)|0;return 3482800}function sk(){return}function tk(){return}function uk(a,b){a=a|0;b=b|0;ja(16,a|0,b|0)|0;return}function vk(a){a=a|0;var b=0;b=ia(17,a|0)|0;a=(b|0)<255?b:255;return ((a|0)>0?a:0)|0}function wk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ca;Ca=Ca+528|0;b=a+512|0;d=a;e=c[(c[c[1231651]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=Pl(5108828,e)|0;Pf(51422,14);if(!51280){ql(f);Ca=a;return}e=0;g=1760;do{h=c[(c[f>>2]|0)+(e<<2)>>2]|0;c[b>>2]=5059976;c[b+4>>2]=51455;mq(d,58700,b)|0;ep(d)|0;gr(d,c[g>>2]|0)|0;i=Tl(d,51462)|0;Ll(c[h+12>>2]|0,1,c[h+16>>2]|0,i)|0;Ul(i);Qf(c[g>>2]|0);e=e+1|0;g=1760+(e<<2)|0}while((c[g>>2]|0)!=0);ql(f);Ca=a;return}function xk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ca;Ca=Ca+512|0;b=a;bp(51464,b);d=c[(c[c[1231651]>>2]|0)+24>>2]|0;c[d+20>>2]=0;e=Pl(5108828,d)|0;if(!5108828){ql(e);Ca=a;return}d=0;f=5108828;do{g=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!d){bp(51464,b);h=51479}else{fr(b,Xj(f)|0)|0;h=58993}i=Tl(b,h)|0;if(i|0)Ll(c[g+12>>2]|0,1,c[g+16>>2]|0,i)|0;Ul(i);d=d+1|0;f=c[1824+(d<<2)>>2]|0}while((f|0)!=0);ql(e);Ca=a;return}function yk(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=Ca;Ca=Ca+1040|0;h=g+1032|0;i=g+1024|0;j=g;Ps(j|0,0,1024)|0;fr(j,Yl(b)|0)|0;if(f|0)es(f,j,255)|0;c[e>>2]=-1;f=ir(j,58)|0;if(f|0){a[f>>0]=0;c[i>>2]=e;Mr(f+1|0,52136,i)|0}if((a[j>>0]|0)==47){c[h>>2]=5059976;c[h+4>>2]=j+1;mq(d,58700,h)|0;Ca=g;return}else{am(5063056,d,0,0);gr(d,j)|0;Ca=g;return}}function zk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0;e=In(131072)|0;f=Lb(b)|0;a:do if(!f){g=In(131072)|0;h=Tl(b,58830)|0;if(!h){i=0;return i|0}j=g+12|0;c[g+16>>2]=Jl(c[j>>2]|0,1,131071,h)|0;k=c[j>>2]|0;if((a[k>>0]|0)==-17?(a[k+1>>0]|0)==-69:0)l=(a[k+2>>0]|0)==-65?k+3|0:k;else l=k;k=e+12|0;Ap(l,c[k>>2]|0)|0;a[(c[k>>2]|0)+65535>>0]=0;c[e+16>>2]=Yq(c[k>>2]|0)|0;c[e+20>>2]=0;Ul(h);Kn(g)}else{b:do switch(d|0){case -1:{g=c[f>>2]|0;h=Xr(g,51481)|0;if(!h)m=g+(Yq(g)|0)|0;else m=h;do if((g|0)!=0?(Ll(g,1,m-g|0,e)|0,h=c[f>>2]|0,k=Xr(h,51481)|0,(h|0)!=0):0){if(k){j=k+6|0;k=Xr(j,51481)|0;if(!k)n=h+(Yq(h)|0)|0;else n=k;Ll(j,1,n-j|0,e)|0;j=c[f>>2]|0;k=Xr(j,51481)|0;o=(k|0)==0;if(!j){p=0;q=o;r=k;s=0}else{t=o;u=j;v=k;w=30}}else{k=Xr(h,51481)|0;t=(k|0)==0;u=h;v=k;w=30}if((w|0)==30){if(t){x=u;w=36;break}k=Xr(v+6|0,51481)|0;if(!k){x=u;w=36;break}h=k+6|0;k=Xr(h,51481)|0;p=h;q=(k|0)==0;r=k;s=u}if(q){y=p;z=s;w=33}else{A=r;B=p;C=s;w=34}}else w=23;while(0);if((w|0)==23)if(kq(0,51481,6)|0)if(kq(0,51481,6)|0)if(kq(0,51481,6)|0)if(kq(0,51481,6)|0)if(kq(0,51481,6)|0)if(!(kq(0,51481,6)|0)){D=0;E=0;w=68}else break a;else{F=0;G=0;w=61}else{H=0;I=0;w=54}else{J=0;K=0;w=47}else{L=0;M=0;w=40}else{y=0;z=0;w=33}if((w|0)==33){A=z+(Yq(z)|0)|0;B=y;C=z;w=34}if((w|0)==34)if(!B){x=C;w=36}else{Ll(B,1,A-B|0,e)|0;x=c[f>>2]|0;w=36}do if((w|0)==36){g=Xr(x,51481)|0;k=(g|0)==0;if(!x){N=0;O=k;P=g;Q=0}else{if(k){R=x;w=43;break}k=Xr(g+6|0,51481)|0;if(!k){R=x;w=43;break}g=Xr(k+6|0,51481)|0;if(!g){R=x;w=43;break}k=g+6|0;g=Xr(k,51481)|0;N=k;O=(g|0)==0;P=g;Q=x}if(O){L=N;M=Q;w=40}else{S=P;T=N;U=Q;w=41}}while(0);if((w|0)==40){S=M+(Yq(M)|0)|0;T=L;U=M;w=41}if((w|0)==41)if(!T){R=U;w=43}else{Ll(T,1,S-T|0,e)|0;R=c[f>>2]|0;w=43}do if((w|0)==43){g=Xr(R,51481)|0;k=(g|0)==0;if(!R){V=0;W=k;X=g;Y=0}else{if(k){Z=R;w=50;break}k=Xr(g+6|0,51481)|0;if(!k){Z=R;w=50;break}g=Xr(k+6|0,51481)|0;if(!g){Z=R;w=50;break}k=Xr(g+6|0,51481)|0;if(!k){Z=R;w=50;break}g=k+6|0;k=Xr(g,51481)|0;V=g;W=(k|0)==0;X=k;Y=R}if(W){J=V;K=Y;w=47}else{_=X;$=V;aa=Y;w=48}}while(0);if((w|0)==47){_=K+(Yq(K)|0)|0;$=J;aa=K;w=48}if((w|0)==48)if(!$){Z=aa;w=50}else{Ll($,1,_-$|0,e)|0;Z=c[f>>2]|0;w=50}do if((w|0)==50){k=Xr(Z,51481)|0;g=(k|0)==0;if(!Z){ba=0;ca=g;da=k;ea=0}else{if(g){fa=Z;w=57;break}g=Xr(k+6|0,51481)|0;if(!g){fa=Z;w=57;break}k=Xr(g+6|0,51481)|0;if(!k){fa=Z;w=57;break}g=Xr(k+6|0,51481)|0;if(!g){fa=Z;w=57;break}k=Xr(g+6|0,51481)|0;if(!k){fa=Z;w=57;break}g=k+6|0;k=Xr(g,51481)|0;ba=g;ca=(k|0)==0;da=k;ea=Z}if(ca){H=ba;I=ea;w=54}else{ga=da;ha=ba;ia=ea;w=55}}while(0);if((w|0)==54){ga=I+(Yq(I)|0)|0;ha=H;ia=I;w=55}if((w|0)==55)if(!ha){fa=ia;w=57}else{Ll(ha,1,ga-ha|0,e)|0;fa=c[f>>2]|0;w=57}do if((w|0)==57){k=Xr(fa,51481)|0;g=(k|0)==0;if(!fa){ja=0;ka=g;la=k;ma=0}else{if(g){na=fa;w=64;break}g=Xr(k+6|0,51481)|0;if(!g){na=fa;w=64;break}k=Xr(g+6|0,51481)|0;if(!k){na=fa;w=64;break}g=Xr(k+6|0,51481)|0;if(!g){na=fa;w=64;break}k=Xr(g+6|0,51481)|0;if(!k){na=fa;w=64;break}g=Xr(k+6|0,51481)|0;if(!g){na=fa;w=64;break}k=g+6|0;g=Xr(k,51481)|0;ja=k;ka=(g|0)==0;la=g;ma=fa}if(ka){F=ja;G=ma;w=61}else{oa=la;pa=ja;qa=ma;w=62}}while(0);if((w|0)==61){oa=G+(Yq(G)|0)|0;pa=F;qa=G;w=62}if((w|0)==62)if(!pa){na=qa;w=64}else{Ll(pa,1,oa-pa|0,e)|0;na=c[f>>2]|0;w=64}if((w|0)==64){g=Xr(na,51481)|0;k=(g|0)==0;if(!na){ra=0;sa=k;ta=g;ua=0}else{if(k)break a;k=Xr(g+6|0,51481)|0;if(!k)break a;g=Xr(k+6|0,51481)|0;if(!g)break a;k=Xr(g+6|0,51481)|0;if(!k)break a;g=Xr(k+6|0,51481)|0;if(!g)break a;k=Xr(g+6|0,51481)|0;if(!k)break a;g=Xr(k+6|0,51481)|0;if(!g)break a;k=g+6|0;g=Xr(k,51481)|0;ra=k;sa=(g|0)==0;ta=g;ua=na}if(sa){D=ra;E=ua;w=68}else{va=ta;wa=ra}}if((w|0)==68){va=E+(Yq(E)|0)|0;wa=D}if(!wa)break a;Ll(wa,1,va-wa|0,e)|0;break a;break}case 0:{g=c[f>>2]|0;k=Xr(g,51481)|0;if(!k)xa=g+(Yq(g)|0)|0;else xa=k;if(g|0){Ll(g,1,xa-g|0,e)|0;break a}break}case 1:{g=c[f>>2]|0;k=Xr(g,51481)|0;if(!((g|0)==0|(k|0)==0)){h=k+6|0;k=Xr(h,51481)|0;if(!k)ya=g+(Yq(g)|0)|0;else ya=k;Ll(h,1,ya-h|0,e)|0;break a}break}case 2:{h=c[f>>2]|0;k=Xr(h,51481)|0;g=(k|0)==0;if(!h){za=0;Aa=g;Ba=k}else{if(g)break b;g=Xr(k+6|0,51481)|0;if(!g)break b;k=g+6|0;g=Xr(k,51481)|0;za=k;Aa=(g|0)==0;Ba=g}if(Aa)Ca=h+(Yq(h)|0)|0;else Ca=Ba;if(za|0){Ll(za,1,Ca-za|0,e)|0;switch(d|0){case 3:{w=82;break}case 4:{w=89;break}case 5:{w=96;break}case 6:{w=103;break}case 7:{w=110;break}default:break a}}break}case 3:{w=82;break}case 4:{w=89;break}case 5:{w=96;break}case 6:{w=103;break}case 7:{w=110;break}default:break a}while(0);do if((w|0)==82){h=c[f>>2]|0;g=Xr(h,51481)|0;k=(g|0)==0;if(!h){Da=0;Ea=k;Fa=g}else{if(k)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=g+6|0;g=Xr(k,51481)|0;Da=k;Ea=(g|0)==0;Fa=g}if(Ea)Ga=h+(Yq(h)|0)|0;else Ga=Fa;if(Da|0){Ll(Da,1,Ga-Da|0,e)|0;switch(d|0){case 4:{w=89;break}case 5:{w=96;break}case 6:{w=103;break}case 7:{w=110;break}default:break a}}}while(0);do if((w|0)==89){h=c[f>>2]|0;g=Xr(h,51481)|0;k=(g|0)==0;if(!h){Ha=0;Ia=k;Ja=g}else{if(k)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=k+6|0;k=Xr(g,51481)|0;Ha=g;Ia=(k|0)==0;Ja=k}if(Ia)Ka=h+(Yq(h)|0)|0;else Ka=Ja;if(Ha|0){Ll(Ha,1,Ka-Ha|0,e)|0;switch(d|0){case 5:{w=96;break}case 6:{w=103;break}case 7:{w=110;break}default:break a}}}while(0);do if((w|0)==96){h=c[f>>2]|0;k=Xr(h,51481)|0;g=(k|0)==0;if(!h){La=0;Ma=g;Na=k}else{if(g)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=k+6|0;k=Xr(g,51481)|0;La=g;Ma=(k|0)==0;Na=k}if(Ma)Oa=h+(Yq(h)|0)|0;else Oa=Na;if(La|0){Ll(La,1,Oa-La|0,e)|0;switch(d|0){case 6:{w=103;break}case 7:{w=110;break}default:break a}}}while(0);do if((w|0)==103){h=c[f>>2]|0;k=Xr(h,51481)|0;g=(k|0)==0;if(!h){Pa=0;Qa=g;Ra=k}else{if(g)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=g+6|0;g=Xr(k,51481)|0;Pa=k;Qa=(g|0)==0;Ra=g}if(Qa)Sa=h+(Yq(h)|0)|0;else Sa=Ra;if(Pa|0){Ll(Pa,1,Sa-Pa|0,e)|0;if((d|0)==7)w=110;else break a}}while(0);do if((w|0)==110){h=c[f>>2]|0;g=Xr(h,51481)|0;k=(g|0)==0;if(!h){Ta=0;Ua=k;Va=g}else{if(k)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=Xr(g+6|0,51481)|0;if(!k)break;g=Xr(k+6|0,51481)|0;if(!g)break;k=g+6|0;g=Xr(k,51481)|0;Ta=k;Ua=(g|0)==0;Va=g}if(Ua)Wa=h+(Yq(h)|0)|0;else Wa=Va;if(Ta|0){Ll(Ta,1,Wa-Ta|0,e)|0;break a}}while(0);Sf(51488,d,0,6);i=0;return i|0}while(0);d=e+20|0;c[d>>2]=c[e+16>>2];Nl(10,e);c[d>>2]=0;i=e;return i|0}function Ak(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=Ca;Ca=Ca+1040|0;f=e;g=e+1024|0;c[1052639]=0;a[d>>0]=0;h=Dn(262144)|0;a:do if(a[b>>0]|0){i=h+9|0;j=3483824;k=b;l=1;m=1;while(1){a[h>>0]=0;if(a[k>>0]|0){if(!l)n=rg(k)|0;else n=sg(k)|0;o=tg()|0;p=n-k|0;Os(h|0,k|0,p|0)|0;a[h+p>>0]=0;if((o|1|0)!=-999&(a[n>>0]|0)!=0){o=p;p=n;while(1){q=rg(p)|0;r=tg()|0;s=q-p|0;Os(h+o|0,p|0,s|0)|0;o=s+o|0;a[h+o>>0]=0;if(!((r|1|0)!=-999&(a[q>>0]|0)!=0)){t=q;u=0;break}else p=q}}else{t=n;u=0}}else{t=k;u=l}if(!(kq(h,51510,9)|0)){if((c[1052639]|0)>255){v=12;break}yk(i,f,g,j);p=zk(f,c[g>>2]|0)|0;if(!p){v=19;break}o=p+16|0;q=c[o>>2]|0;if(q>>>0>(65536-(Yq(d)|0)|0)>>>0){v=15;break}c[j+256>>2]=Bp(d,1048576)|0;q=Yq(d)|0;Os(d+q|0,c[p+12>>2]|0,c[o>>2]|0)|0;a[d+((c[o>>2]|0)+q)>>0]=0;Kn(p);c[j+260>>2]=Bp(d,1048576)|0;p=(c[1052639]|0)+1|0;c[1052639]=p;w=3483824+(p*268|0)|0}else{gr(d,h)|0;w=j}p=(a[t>>0]|0)!=0;if(m>>>0<65536&p){j=w;k=t;l=u;m=m+(p&1)|0}else break a}if((v|0)==12){Pf(51520,6);Hn(h);x=1;Ca=e;return x|0}else if((v|0)==15){if(!(c[1267388]|0)){Pf(51539,6);Pf(i,14)}Hn(h);x=1;Ca=e;return x|0}else if((v|0)==19){if((c[1267388]|0)==0?(Pf(51563,6),Pf(i,14),(a[i>>0]|0)==34):0)Pf(51588,6);Hn(h);x=1;Ca=e;return x|0}}while(0);Hn(h);x=0;Ca=e;return x|0}function Bk(){return c[1052639]|0}function Ck(a){a=a|0;var b=0;if(!((a|0)>-1&(c[1052639]|0)>(a|0))){b=0;return b|0}b=c[3483824+(a*268|0)+256>>2]|0;return b|0}function Dk(a){a=a|0;var b=0;if(!((a|0)>-1&(c[1052639]|0)>(a|0))){b=0;return b|0}b=c[3483824+(a*268|0)+260>>2]|0;return b|0}function Ek(a){a=a|0;return ((a|0)>-1&(c[1052639]|0)>(a|0)?3483824+(a*268|0)|0:0)|0}function Fk(){return}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Hk(){return}function Ik(a,b){a=a|0;b=b|0;return}function Jk(a){a=a|0;if((a|0)!=4210572?(fr(4210572,a)|0,(a|0)==1856):0)return;fr(1856,a)|0;return}function Kk(a,b){a=a|0;b=b|0;var c=0;if((a|0)==(b|0))c=a;else{fr(a,b)|0;c=a}return c|0}function Lk(a){a=a|0;var b=0;if(a)if((a|0)==4210828)b=4210828;else{fr(4210828,a)|0;b=4210828}else b=0;c[1052771]=b;return}function Mk(){var 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;a=Ca;Ca=Ca+96|0;b=a+88|0;d=a+80|0;e=a+72|0;f=a+64|0;g=a+56|0;h=a+48|0;i=a+40|0;j=a+32|0;k=a+24|0;l=a+16|0;m=a+8|0;n=a;if(c[1053361]|0){Ca=a;return 0}c[1052640]=0;Fn(4210572,0,632);fr(4210572,1856)|0;if(1856!=4210828)fr(4210828,1856)|0;c[1052771]=4210828;Xl();o=c[8391]|0;p=c[1053362]|0;if((o|0)>0&(p|0)!=0)Nk(o,p);c[n>>2]=51616;os(51613,n)|0;n=c[8398]|0;Ir(n)|0;c[m>>2]=51642;mq(3552704,51628,m)|0;c[l>>2]=3552704;os(51613,l)|0;Ir(n)|0;l=c[8391]|0;m=c[1053362]|0;if((l|0)>0&(m|0)!=0)Nk(l,m);if(!0){c[k>>2]=51653;os(51613,k)|0;Ir(n)|0;Io()|0;c[j>>2]=51671;os(51613,j)|0;Ir(n)|0;Vo()|0;c[i>>2]=51689;os(51613,i)|0;Ir(n)|0;Al();c[h>>2]=51704;os(51613,h)|0;Ir(n)|0;yl();c[g>>2]=51720;os(51613,g)|0;Ir(n)|0;El();c[f>>2]=51736;os(51613,f)|0;Ir(n)|0;yo()|0;c[e>>2]=51753;os(51613,e)|0;Ir(n)|0;tl();c[d>>2]=51770;os(51613,d)|0;Ir(n)|0}zm(0);c[1052841]=(c[1052841]|0)+1;c[b>>2]=51790;os(51613,b)|0;Ir(n)|0;c[1053361]=1;Ca=a;return 0}function Nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=Ca;Ca=Ca+32|0;f=e+8|0;g=e;h=e+24|0;if((b|0)<=1){Ca=e;return}i=0;j=1;a:while(1){k=d+(j<<2)|0;l=c[k>>2]|0;b:do switch(a[l>>0]|0){case 62:case 124:case 38:{m=40;break a;break}case 45:{n=l+1|0;o=(kq(n,51795,5)|0)==0;p=(kq(n,51801,6)|0)==0;q=(kq(n,51808,8)|0)==0;r=(kq(n,51817,8)|0)==0;s=(kq(n,51826,8)|0)==0;t=(kq(n,51835,8)|0)==0;u=(kq(n,51844,9)|0)==0;v=(kq(n,51854,17)|0)==0;w=(kq(n,51872,19)|0)==0;x=(kq(n,51892,12)|0)==0;y=(kq(n,51905,12)|0)==0;z=(kq(n,51918,5)|0)==0;A=(kq(n,51924,5)|0)==0;B=(kq(n,51930,15)|0)==0;C=(kq(n,51946,13)|0)==0|(kq(n,51960,16)|0)==0;D=(kq(n,51977,4)|0)==0;E=(kq(n,51982,7)|0)==0;F=(kq(n,51990,13)|0)==0;G=(kq(n,52004,9)|0)==0;H=(kq(n,52014,7)|0)==0;if(!(kq(n,52022,8)|0)){c[1052844]=1;I=0}else I=H?20:G?19:F?18:E?17:D?16:v?15:C?14:B?12:A?11:z?10:y?11:x?10:w?9:v?8:u?7:t?6:s?5:r?4:q?3:p?2:o?1:i;if((a[n>>0]|0)==120){c[1052844]=1;J=0}else J=I;o=(kq(n,52031,19)|0)==0;p=(kq(n,52051,17)|0)==0;q=(kq(n,52069,16)|0)==0;r=(kq(n,52086,11)|0)==0;s=(kq(n,52098,13)|0)==0;t=(kq(n,52112,7)|0)==0;u=(kq(n,52120,15)|0)==0;K=u?28:t?27:s?26:r?25:q?24:p?23:o?22:J;break}default:{c[h>>2]=0;c[g>>2]=h;Mr(l,52136,g)|0;do switch(i|0){case 1:{c[1052805]=c[h>>2];K=0;break b;break}case 2:{c[1052806]=c[h>>2];K=0;break b;break}case 3:{c[1052823]=c[h>>2];K=0;break b;break}case 4:{c[1052807]=c[h>>2];K=0;break b;break}case 5:{c[1052815]=c[h>>2];K=0;break b;break}case 6:{c[1052816]=c[h>>2];K=0;break b;break}case 7:{c[1052814]=c[h>>2];K=0;break b;break}case 8:{c[1052830]=c[h>>2];K=0;break b;break}case 9:{c[1052810]=c[h>>2];K=0;break b;break}case 10:{c[1052808]=c[h>>2];K=0;break b;break}case 11:{c[1052809]=c[h>>2];K=0;break b;break}case 12:{c[1052820]=c[h>>2];K=0;break b;break}case 14:{c[1052831]=c[h>>2];K=0;break b;break}case 15:{c[1052830]=c[h>>2];K=0;break b;break}case 16:{o=c[k>>2]|0;if((o|0)==4211380){K=0;break b}fr(4211380,o)|0;K=0;break b;break}case 17:{o=c[k>>2]|0;if((o|0)==4212404){K=0;break b}fr(4212404,o)|0;K=0;break b;break}case 18:{c[1052834]=c[h>>2];K=0;break b;break}case 19:{c[1052837]=0;c[1052838]=0;c[1052839]=4096;c[1052840]=4096;o=c[k>>2]|0;c[f>>2]=4211348;c[f+4>>2]=4211352;c[f+8>>2]=4211356;c[f+12>>2]=4211360;Mr(o,52139,f)|0;K=0;break b;break}case 20:{o=c[h>>2]|0;p=(o|0)<240?o:240;c[1052842]=(p|0)>1?p:1;K=0;break b;break}case 21:{c[1052844]=1;K=0;break b;break}case 22:{c[1052811]=c[h>>2];K=0;break b;break}case 23:{c[1052813]=c[h>>2];K=0;break b;break}case 24:{c[1053357]=c[h>>2];K=0;break b;break}case 25:{c[1053358]=c[h>>2];K=0;break b;break}case 26:{p=c[h>>2]|0;o=(p|0)<8?p:8;c[1052832]=(o|0)>0?o:0;K=0;break b;break}case 27:{c[1052817]=c[h>>2];K=0;break b;break}case 28:{c[1053360]=c[h>>2];K=0;break b;break}default:{K=0;break b}}while(0)}}while(0);j=j+1|0;if((j|0)>=(b|0)){m=40;break}else i=K}if((m|0)==40){Ca=e;return}}function Ok(a){a=a|0;var b=0,d=0;b=Ca;Ca=Ca+16|0;d=b;c[d>>2]=a;os(51613,d)|0;Ir(c[8398]|0)|0;Ca=b;return}function Pk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=Ca;Ca=Ca+96|0;b=a+80|0;d=a+72|0;e=a+64|0;f=a+56|0;g=a+48|0;h=a+40|0;i=a+32|0;j=a+24|0;k=a+16|0;l=a+8|0;m=a;if(!(c[1053361]|0)){Ca=a;return 0}c[1053361]=0;c[m>>2]=52151;os(51613,m)|0;m=c[8398]|0;Ir(m)|0;c[l>>2]=52163;os(51613,l)|0;Ir(m)|0;ro(0,0);c[k>>2]=52176;os(51613,k)|0;Ir(m)|0;xb();c[j>>2]=52192;os(51613,j)|0;Ir(m)|0;c[i>>2]=52210;os(51613,i)|0;Ir(m)|0;_n()|0;c[h>>2]=52227;os(51613,h)|0;Ir(m)|0;zo()|0;c[g>>2]=52244;os(51613,g)|0;Ir(m)|0;c[f>>2]=52264;os(51613,f)|0;Ir(m)|0;if(!0){Fl();Bl()}c[e>>2]=c[1052640];mq(3552704,52282,e)|0;c[d>>2]=3552704;os(51613,d)|0;Ir(m)|0;c[b>>2]=51790;os(51613,b)|0;Ir(m)|0;m=c[1052772]|0;if(m|0)Gr(m)|0;m=c[1052773]|0;if(m|0)Gr(m)|0;c[1052772]=0;c[1052773]=0;c[1053361]=0;Ca=a;return 0}function Qk(a){a=a|0;return}function Rk(){var a=0;a=_o()|0;if(!(c[1053363]|0)){c[1053363]=1;Cl();c[1053363]=0}ap(4210564,4210568,0);mo();return a|0}function Sk(){var a=0,b=0;a=(c[1053364]|0)==0;do if(!(c[1052794]|0)){if(a){_o()|0;if(!(c[1053363]|0)){c[1053363]=1;Cl();c[1053363]=0}ap(4210564,4210568,0);mo();wb();c[1053364]=1}ib();Ao();b=0}else{if(!a){ib();Ao();b=0;break}_o()|0;if(!(c[1053363]|0)){c[1053363]=1;Cl();c[1053363]=0}ap(4210564,4210568,0);mo();wb();b=1}while(0);c[1053364]=b;c[1052785]=0;b=c[1052798]|0;if(!b)return;if((b|0)<=(Vo()|0))return;js(52306)|0;c[1052798]=0;ha(18)|0;return}function Tk(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if((d|0)!=3556800)fr(3556800,d)|0;c[8391]=a;c[1053362]=b;cb(a,b);qa(1,0,0);return 0}function Uk(){var a=0;a=En(768)|0;Ps(a|0,0,768)|0;c[1052640]=(c[1052640]|0)+1;return a|0}function Vk(a){a=a|0;if(!a)return;Hn(a);c[1052640]=(c[1052640]|0)+-1;return}function Wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=En((d<<2)+48|0)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+40>>2]=0;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=a;c[e+36>>2]=b;c[e+44>>2]=d;f=z(b,a)|0;g=e+12|0;c[g>>2]=En(z(f,d)|0)|0;h=e+16|0;c[h>>2]=e+48;if((d|0)<=0){i=c[1052640]|0;j=i+1|0;c[1052640]=j;return e|0}k=(b<<2)+52|0;if((b|0)<=0){l=0;do{m=En(k)|0;c[m>>2]=a;c[m+4>>2]=b;c[m+36>>2]=0;c[m+28>>2]=0;c[m+32>>2]=a;c[m+40>>2]=b;c[m+8>>2]=8;c[m+20>>2]=0;c[m+12>>2]=(c[g>>2]|0)+(z(l,f)|0);c[m+16>>2]=m+52;c[(c[h>>2]|0)+(l<<2)>>2]=m;l=l+1|0}while((l|0)!=(d|0));i=c[1052640]|0;j=i+1|0;c[1052640]=j;return e|0}l=(b|0)==1;m=0;do{n=En(k)|0;c[n>>2]=a;o=n+4|0;c[o>>2]=b;c[n+36>>2]=0;c[n+28>>2]=0;c[n+32>>2]=a;c[n+40>>2]=b;p=n+8|0;c[p>>2]=8;c[n+20>>2]=0;q=(c[g>>2]|0)+(z(m,f)|0)|0;r=n+12|0;c[r>>2]=q;s=n+52|0;t=n+16|0;c[t>>2]=s;c[s>>2]=q;if(!l){q=1;do{c[(c[t>>2]|0)+(q<<2)>>2]=(c[r>>2]|0)+(z(q,a)|0);q=q+1|0}while((q|0)!=(b|0))}if(4926440!=(n|0)?(Fn(c[c[t>>2]>>2]|0,0,a),(c[o>>2]|0)>1):0){q=1;do{Fn(c[(c[t>>2]|0)+(q<<2)>>2]|0,0,z(c[p>>2]>>3,c[n>>2]|0)|0);q=q+1|0}while((q|0)<(c[o>>2]|0))}c[(c[h>>2]|0)+(m<<2)>>2]=n;m=m+1|0}while((m|0)!=(d|0));i=c[1052640]|0;j=i+1|0;c[1052640]=j;return e|0}function Xk(a){a=a|0;var b=0,d=0,e=0,f=0;if(4926440==(a|0))return;b=a+4|0;if((c[b>>2]|0)<=0)return;d=a+16|0;e=a+8|0;f=0;do{Fn(c[(c[d>>2]|0)+(f<<2)>>2]|0,0,z(c[e>>2]>>3,c[a>>2]|0)|0);f=f+1|0}while((f|0)<(c[b>>2]|0));return}function Yk(a){a=a|0;var b=0,d=0,e=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Hn(b);b=a+8|0;if((c[b>>2]|0)>0){d=a+16|0;e=0;do{Hn(c[(c[d>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(c[b>>2]|0))}Hn(a);c[1052640]=(c[1052640]|0)+-1;return 0}function Zk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=(d|0)>(f|0);j=i?d:f;k=i?f:d;d=(e|0)>(g|0);f=d?e:g;i=d?g:e;e=b+8|0;g=c[e>>2]|0;if((g|0)==32){d=b+36|0;l=b+40|0;m=b+28|0;n=b+32|0;o=h&255;p=b+16|0;q=i;while(1){a:do if((4926440!=(b|0)?(c[d>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0){r=c[m>>2]|0;s=(k|0)<(r|0)?r:k;r=c[n>>2]|0;t=(j|0)<(r|0)?j:r+-1|0;switch(c[e>>2]|0){case 8:{if((s|0)>(t|0))break a;r=s;while(1){a[(c[(c[p>>2]|0)+(q<<2)>>2]|0)+r>>0]=o;if((r|0)<(t|0))r=r+1|0;else break}break}case 32:{r=1-s+t|0;if((r|0)<=0)break a;u=(c[(c[p>>2]|0)+(q<<2)>>2]|0)+(s<<2)|0;v=r;while(1){c[u>>2]=h;if((v|0)>1){u=u+4|0;v=v+-1|0}else break}break}default:break a}}while(0);if((q|0)<(f|0))q=q+1|0;else break}w=c[e>>2]|0}else w=g;if((w|0)!=8)return;w=c[b+28>>2]|0;g=(k|0)<(w|0)?w:k;k=c[b+32>>2]|0;w=c[b+36>>2]|0;e=c[b+40>>2]|0;q=(f|0)<(e|0)?f+1|0:e;e=((j|0)<(k|0)?j+1|0:k)-g|0;if((e|0)<=0)return;k=(i|0)<(w|0)?w:i;if((k|0)>=(q|0))return;i=b+16|0;b=k;do{Fn((c[(c[i>>2]|0)+(b<<2)>>2]|0)+g|0,h,e);b=b+1|0}while((b|0)<(q|0));return}function _k(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a+28>>2]=(b|0)>0?b:0;b=c[a>>2]|0;c[a+32>>2]=(b|0)>(e|0)?e:b;c[a+36>>2]=(d|0)>0?d:0;d=c[a+4>>2]|0;c[a+40>>2]=(d|0)>(f|0)?f:d;return}function $k(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;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!((a|0)!=0&(b|0)!=0))return;j=c[b+8>>2]|0;if((j|0)!=(c[a+8>>2]|0))return;k=c[a>>2]|0;if((k|0)<=(d|0))return;l=c[a+4>>2]|0;if((l|0)<=(e|0))return;m=c[b+32>>2]|0;if((m|0)<=(f|0))return;n=c[b+40>>2]|0;if((n|0)<=(g|0))return;o=(d|0)<0;p=o?d:0;q=p+h|0;h=f-p|0;p=o?0:d;d=(e|0)<0;o=d?e:0;f=o+i|0;i=g-o|0;o=d?0:e;e=c[b+28>>2]|0;d=(h|0)<(e|0);g=d?h-e|0:0;r=g+((q+p|0)>(k|0)?k-p|0:q)|0;q=d?e:h;h=p-g|0;g=c[b+36>>2]|0;p=(i|0)<(g|0);e=p?i-g|0:0;d=e+((f+o|0)>(l|0)?l-o|0:f)|0;f=p?g:i;i=o-e|0;e=(r+q|0)>(m|0)?m-q|0:r;r=(d+f|0)>(n|0)?n-f|0:d;if((e|0)<1|(r|0)<1)return;if(4926440==(b|0)){Uo(a,b,h,i,q,f,e,r,1);return}switch(j|0){case 8:{Om(a,b,h,i,q,f,e,r);return}case 32:{Pm(a,b,h,i,q,f,e,r);return}default:return}}function al(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;if((a|0)<1|(b|0)<1){e=0;return e|0}f=En((b<<2)+52|0)|0;c[f>>2]=a;g=f+4|0;c[g>>2]=b;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=a;c[f+40>>2]=b;h=f+8|0;c[h>>2]=d;c[f+20>>2]=0;i=z(d>>3,a)|0;a=En(z(i,b)|0)|0;d=f+12|0;c[d>>2]=a;j=f+52|0;k=f+16|0;c[k>>2]=j;c[j>>2]=a;if((b|0)!=1){a=1;do{c[(c[k>>2]|0)+(a<<2)>>2]=(c[d>>2]|0)+(z(i,a)|0);a=a+1|0}while((a|0)!=(b|0))}if(4926440!=(f|0)?(c[g>>2]|0)>0:0){b=0;do{Fn(c[(c[k>>2]|0)+(b<<2)>>2]|0,0,z(c[h>>2]>>3,c[f>>2]|0)|0);b=b+1|0}while((b|0)<(c[g>>2]|0))}c[1052640]=(c[1052640]|0)+1;e=f;return e|0}function bl(a){a=a|0;var b=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Hn(b);Hn(a);c[1052640]=(c[1052640]|0)+-1;return 0}function cl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((c[b+28>>2]|0)>(d|0))return;if((c[b+36>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(d|0))return;if((c[b+40>>2]|0)<=(e|0))return;switch(c[b+8>>2]|0){case 8:{a[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=f;return}case 32:{c[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(d<<2)>>2]=f;return}default:return}}function dl(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;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;j=c[d>>2]|0;k=c[a>>2]|0;if((((j|0)<=(k|0)?(l=c[e>>2]|0,m=a+4|0,(l|0)<(c[m>>2]|0)):0)?(n=b+32|0,(c[f>>2]|0)<(c[n>>2]|0)):0)?(o=b+40|0,(c[g>>2]|0)<(c[o>>2]|0)):0){if((j|0)>=(k|0))return;if((j|0)<0){c[h>>2]=(c[h>>2]|0)+j;c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[d>>2]=0;p=c[e>>2]|0;q=0}else{p=l;q=j}if((p|0)<0){c[i>>2]=(c[i>>2]|0)+p;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;r=c[d>>2]|0;s=0}else{r=q;s=p}p=c[a>>2]|0;if(((c[h>>2]|0)+r|0)>(p|0)){c[h>>2]=p-r;t=c[e>>2]|0}else t=s;s=c[m>>2]|0;if(((c[i>>2]|0)+t|0)>(s|0))c[i>>2]=s-t;t=c[f>>2]|0;s=b+28|0;m=c[s>>2]|0;if((t|0)<(m|0)){r=t-m|0;c[f>>2]=r;c[h>>2]=(c[h>>2]|0)+r;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);d=c[s>>2]|0;c[f>>2]=d;u=d}else u=t;t=c[g>>2]|0;d=b+36|0;b=c[d>>2]|0;if((t|0)<(b|0)){s=t-b|0;c[g>>2]=s;c[i>>2]=(c[i>>2]|0)+s;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);e=c[d>>2]|0;c[g>>2]=e;v=c[f>>2]|0;w=e}else{v=u;w=t}t=c[n>>2]|0;if(((c[h>>2]|0)+v|0)>(t|0)){c[h>>2]=t-v;x=c[g>>2]|0}else x=w;w=c[o>>2]|0;if(((c[i>>2]|0)+x|0)<=(w|0))return;c[i>>2]=w-x;return}c[i>>2]=0;return}function el(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;i=(b|0)==0;a:do if((!(i|4926440==(b|0))?(j=(g|0)<(e|0),k=j?e:g,l=j?g:e,(c[b+28>>2]|0)<=(d|0)):0)?(c[b+32>>2]|0)>(d|0):0){j=c[b+36>>2]|0;m=(l|0)<(j|0)?j:l;l=c[b+40>>2]|0;j=(k|0)<(l|0)?k:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(j|0))break a;l=h&255;k=b+16|0;n=m;while(1){a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+d>>0]=l;if((n|0)<(j|0))n=n+1|0;else break}break}case 32:{if((m|0)>(j|0))break a;n=c[b+16>>2]|0;l=m;while(1){c[(c[n+(l<<2)>>2]|0)+(d<<2)>>2]=h;if((l|0)<(j|0))l=l+1|0;else break}break}default:break a}}while(0);b:do if((!(i|4926440==(b|0))?(l=(g|0)<(e|0),j=l?e:g,n=l?g:e,(c[b+28>>2]|0)<=(f|0)):0)?(c[b+32>>2]|0)>(f|0):0){l=c[b+36>>2]|0;m=(n|0)<(l|0)?l:n;n=c[b+40>>2]|0;l=(j|0)<(n|0)?j:n+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(l|0))break b;n=h&255;j=b+16|0;k=m;while(1){a[(c[(c[j>>2]|0)+(k<<2)>>2]|0)+f>>0]=n;if((k|0)<(l|0))k=k+1|0;else break}break}case 32:{if((m|0)>(l|0))break b;k=c[b+16>>2]|0;n=m;while(1){c[(c[k+(n<<2)>>2]|0)+(f<<2)>>2]=h;if((n|0)<(l|0))n=n+1|0;else break}break}default:break b}}while(0);c:do if((!(i|4926440==(b|0))?(n=(f|0)<(d|0),l=n?d:f,k=n?f:d,(c[b+36>>2]|0)<=(e|0)):0)?(c[b+40>>2]|0)>(e|0):0){n=c[b+28>>2]|0;m=(k|0)<(n|0)?n:k;k=c[b+32>>2]|0;n=(l|0)<(k|0)?l:k+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(n|0))break c;k=h&255;l=b+16|0;j=m;while(1){a[(c[(c[l>>2]|0)+(e<<2)>>2]|0)+j>>0]=k;if((j|0)<(n|0))j=j+1|0;else break}break}case 32:{j=1-m+n|0;if((j|0)<=0)break c;k=(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(m<<2)|0;l=j;while(1){c[k>>2]=h;if((l|0)>1){k=k+4|0;l=l+-1|0}else break}break}default:break c}}while(0);if(i|4926440==(b|0))return;i=(f|0)<(d|0);e=i?d:f;l=i?f:d;if((c[b+36>>2]|0)>(g|0))return;if((c[b+40>>2]|0)<=(g|0))return;d=c[b+28>>2]|0;f=(l|0)<(d|0)?d:l;l=c[b+32>>2]|0;d=(e|0)<(l|0)?e:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((f|0)>(d|0))return;l=h&255;e=b+16|0;i=f;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+i>>0]=l;if((i|0)<(d|0))i=i+1|0;else break}return}case 32:{i=1-f+d|0;if((i|0)<=0)return;d=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+(f<<2)|0;f=i;while(1){c[d>>2]=h;if((f|0)>1){d=d+4|0;f=f+-1|0}else break}return}default:return}}function fl(a){a=a|0;c[a+36>>2]=0;c[a+28>>2]=0;c[a+32>>2]=c[a>>2];c[a+40>>2]=c[a+4>>2];return}function gl(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;if((b|0)==0|(d|0)==0|(g|0)==0|(h|0)==0)return;j=c[b>>2]|0;if((j|0)==(g|0)?(c[b+4>>2]|0)==(h|0):0)if(!(i&1)){Nm(b,d,0,0,e,f,g,h);return}else{$k(b,d,0,0,e,f,g,h);return}k=c[d+8>>2]|0;if((k|0)!=(c[b+8>>2]|0))return;l=(j<<16|0)/(g|0)|0;m=c[b+4>>2]|0;n=(m<<16|0)/(h|0)|0;o=c[d+36>>2]|0;p=(o|0)>(f|0);q=o-f|0;r=z(q,n)|0;s=h-(p?q:0)|0;q=p?o:f;f=(l|0)/2|0;o=(l|0)<0?f+j|0:((n|0)<0?m:0)+((n|0)/2|0)+(p?r:0)|0;r=c[d+28>>2]|0;p=(r|0)>(e|0);m=r-e|0;j=z(m,l)|0;h=(p?j:0)+f|0;f=g-(p?m:0)|0;m=p?r:e;e=(c[d+32>>2]|0)-m|0;r=(f|0)<(e|0)?f:e;e=(c[d+40>>2]|0)-q|0;f=(s|0)<(e|0)?s:e;switch(k|0){case 32:{k=f+q|0;if((f|0)<=0)return;e=c[b+16>>2]|0;s=c[d+16>>2]|0;p=(r|0)>0;if(!(i&1)){g=q;j=o;while(1){t=c[e+(j>>16<<2)>>2]|0;if(p){u=(c[s+(g<<2)>>2]|0)+(m<<2)|0;v=0;w=h;while(1){c[u>>2]=c[t+(w>>16<<2)>>2];v=v+1|0;if((v|0)>=(r|0))break;else{u=u+4|0;w=w+l|0}}}g=g+1|0;if((g|0)>=(k|0))break;else j=j+n|0}return}j=q;g=o;while(1){w=c[e+(g>>16<<2)>>2]|0;a:do if(p){u=(c[s+(j<<2)>>2]|0)+(m<<2)|0;v=0;t=h;while(1){x=c[w+(t>>16<<2)>>2]|0;y=c[u>>2]|0;A=x>>>24;switch((A&255)<<24>>24){case 0:{B=y&16777215;break}case -1:{B=x&16777215;break}default:{C=A^255;B=((((z(y>>>16&255,C)|0)+(z(x>>>16&255,A)|0)|0)>>>0)/255|0)<<16|((((z(y&255,C)|0)+(z(x&255,A)|0)|0)>>>0)/255|0)|((((z(y>>>8&255,C)|0)+(z(x>>>8&255,A)|0)|0)>>>0)/255|0)<<8}}c[u>>2]=B|y&-16777216;v=v+1|0;if((v|0)>=(r|0))break a;else{u=u+4|0;t=t+l|0}}}while(0);j=j+1|0;if((j|0)>=(k|0))break;else g=g+n|0}return}case 8:{g=f+q|0;if((f|0)<=0)return;f=b+16|0;b=d+16|0;d=(r|0)>0;if(!(i&1)){i=q;k=o;while(1){j=c[(c[f>>2]|0)+(k>>16<<2)>>2]|0;if(d){B=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+m|0;s=h;p=0;while(1){a[B>>0]=a[j+(s>>16)>>0]|0;p=p+1|0;if((p|0)>=(r|0))break;else{B=B+1|0;s=s+l|0}}}i=i+1|0;if((i|0)>=(g|0))break;else k=k+n|0}return}if(!d)return;d=q;q=o;while(1){o=c[(c[f>>2]|0)+(q>>16<<2)>>2]|0;k=(c[(c[b>>2]|0)+(d<<2)>>2]|0)+m|0;i=h;s=0;while(1){B=a[o+(i>>16)>>0]|0;if(B<<24>>24)a[k>>0]=B;s=s+1|0;if((s|0)>=(r|0))break;else{k=k+1|0;i=i+l|0}}d=d+1|0;if((d|0)>=(g|0))break;else q=q+n|0}return}default:return}}function hl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;switch(c|0){case 0:{d=a&16777215;return d|0}case 255:{d=b&16777215;return d|0}default:{e=255-c|0;d=((z(b&255,c)|0)+(z(a&255,e)|0)|0)/255|0|((((z(b>>>8&255,c)|0)+(z(a>>>8&255,e)|0)|0)/255|0)<<8|(((z(b>>>16&255,c)|0)+(z(a>>>16&255,e)|0)|0)/255|0)<<16);return d|0}}return 0}function il(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;if(!a){f=0;return f|0}if((c[a+28>>2]|0)>(b|0)){f=0;return f|0}if((c[a+36>>2]|0)>(e|0)){f=0;return f|0}if((c[a+32>>2]|0)<=(b|0)){f=0;return f|0}if((c[a+40>>2]|0)<=(e|0)){f=0;return f|0}switch(c[a+8>>2]|0){case 8:{f=d[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+b>>0]|0;return f|0}case 32:{f=c[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+(b<<2)>>2]|0;return f|0}default:{f=0;return f|0}}return 0}function jl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;a:do if((f|0)!=(d|0)){i=b+28|0;j=b+36|0;k=b+32|0;l=b+40|0;m=d;n=e;o=f;p=g;while(1){if((p|0)==(n|0)){q=14;break}r=c[i>>2]|0;s=(r|0)>(m|0)&1;t=c[j>>2]|0;u=(t|0)>(n|0)?s|2:s;s=c[k>>2]|0;v=(s|0)>(m|0)?u:u|4;u=c[l>>2]|0;w=(u|0)>(n|0)?v:v|8;v=(r|0)>(o|0)&1;x=(t|0)>(p|0)?v|2:v;v=(s|0)>(o|0)?x:x|4;x=(u|0)>(p|0)?v:v|8;if(!(w|x)){q=25;break}v=(w&1|0)!=0;if(!((x&1|0)==0|v^1)){q=51;break}y=(w&2|0)!=0;if(!((x&2|0)==0|y^1)){q=51;break}A=(w&4|0)!=0;if(!((x&4|0)==0|A^1)){q=51;break}B=(w&8|0)!=0;if(!((x&8|0)==0|B^1)){q=51;break}if(!v)if(A){A=s+-1|0;v=(m-A<<16|0)/(m-o|0)|0;x=65536-v|0;w=(z(x,m)|0)+(z(v,o)|0)>>16;C=(z(x,n)|0)+(z(v,p)|0)>>16;D=(w|0)<(s|0)?w:A;E=C}else{D=m;E=n}else{C=(r-m<<16|0)/(o-m|0)|0;A=65536-C|0;w=(z(A,m)|0)+(z(C,o)|0)>>16;s=(z(A,n)|0)+(z(C,p)|0)>>16;D=(w|0)<(r|0)?r:w;E=s}if(!y)if(B){if((E|0)==(p|0)){q=51;break}B=u+-1|0;y=(E-B<<16|0)/(E-p|0)|0;s=65536-y|0;w=(z(s,D)|0)+(z(y,o)|0)>>16;C=(z(s,E)|0)+(z(y,p)|0)>>16;F=w;G=(C|0)<(u|0)?C:B}else{F=D;G=E}else{if((E|0)==(p|0)){q=51;break}B=(t-E<<16|0)/(p-E|0)|0;C=65536-B|0;u=(z(C,D)|0)+(z(B,o)|0)>>16;w=(z(C,E)|0)+(z(B,p)|0)>>16;F=u;G=(w|0)<(t|0)?t:w}if((F|0)==(o|0)){H=o;I=p;J=G;break a}else{w=p;t=o;o=F;p=G;n=w;m=t}}if((q|0)==14){if((b|0)==0|4926440==(b|0))return;t=(o|0)<(m|0);w=t?m:o;u=t?o:m;if((c[j>>2]|0)>(p|0))return;if((c[l>>2]|0)<=(p|0))return;t=c[i>>2]|0;B=(u|0)<(t|0)?t:u;u=c[k>>2]|0;t=(w|0)<(u|0)?w:u+-1|0;switch(c[b+8>>2]|0){case 8:{if((B|0)>(t|0))return;u=h&255;w=b+16|0;C=B;while(1){a[(c[(c[w>>2]|0)+(p<<2)>>2]|0)+C>>0]=u;if((C|0)<(t|0))C=C+1|0;else break}return}case 32:{C=1-B+t|0;if((C|0)<=0)return;u=(c[(c[b+16>>2]|0)+(p<<2)>>2]|0)+(B<<2)|0;w=C;while(1){c[u>>2]=h;if((w|0)>1){u=u+4|0;w=w+-1|0}else break}return}default:return}}else if((q|0)==25){w=o-m|0;u=p-n|0;B=(w|0)<0?0-w|0:w;t=(u|0)<0?0-u|0:u;C=(B|0)>(t|0)?B:t;t=(C|0)==0?1:C;C=(w<<16|0)/(t|0)|0;w=(u<<16|0)/(t|0)|0;if((t|0)<=-1)return;u=b+8|0;B=h&255;y=b+16|0;s=n<<16|32768;A=m<<16|32768;v=t;t=r;while(1){x=A>>16;K=s>>16;b:do if((((t|0)<=(x|0)?(c[j>>2]|0)<=(K|0):0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)>(K|0):0)switch(c[u>>2]|0){case 8:{a[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+x>>0]=B;break b;break}case 32:{c[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+(x<<2)>>2]=h;break b;break}default:break b}while(0);if((v|0)<=0)break;s=s+w|0;A=A+C|0;v=v+-1|0;t=c[i>>2]|0}return}else if((q|0)==51)return}else{H=f;I=e;J=g}while(0);if((b|0)==0|4926440==(b|0))return;g=(J|0)<(I|0);e=g?I:J;f=g?J:I;if((c[b+28>>2]|0)>(H|0))return;if((c[b+32>>2]|0)<=(H|0))return;I=c[b+36>>2]|0;J=(f|0)<(I|0)?I:f;f=c[b+40>>2]|0;I=(e|0)<(f|0)?e:f+-1|0;switch(c[b+8>>2]|0){case 8:{if((J|0)>(I|0))return;f=h&255;e=b+16|0;g=J;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+H>>0]=f;if((g|0)<(I|0))g=g+1|0;else break}return}case 32:{if((J|0)>(I|0))return;g=c[b+16>>2]|0;b=J;while(1){c[(c[g+(b<<2)>>2]|0)+(H<<2)>>2]=h;if((b|0)<(I|0))b=b+1|0;else break}return}default:return}}function kl(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,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;if((b|0)==0|(d|0)==0|4926440==(d|0))return;m=c[b>>2]|0;if((((m|0)>=(e|0)?(n=c[b+4>>2]|0,(n|0)>(f|0)):0)?(o=c[d+32>>2]|0,(o|0)>(g|0)):0)?(p=c[d+40>>2]|0,(p|0)>(h|0)):0)if((m|0)>(e|0)){q=(e|0)<0;r=q?0:e;s=q?e:0;q=g-s|0;t=s+i|0;s=(f|0)<0;u=s?0:f;v=s?f:0;s=h-v|0;w=v+j|0;v=c[d+28>>2]|0;x=(q|0)<(v|0);y=x?q-v|0:0;z=x?v:q;q=y+((t+r|0)>(m|0)?m-r|0:t)|0;t=c[d+36>>2]|0;v=(s|0)<(t|0);x=v?s-t|0:0;A=v?t:s;s=x+((w+u|0)>(n|0)?n-u|0:w)|0;B=A;C=z;D=u-x|0;E=r-y|0;F=(s+A|0)>(p|0)?p-A|0:s;G=(q+z|0)>(o|0)?o-z|0:q}else{B=h;C=g;D=f;E=e;F=j;G=i}else{B=h;C=g;D=f;E=e;F=0;G=i}i=(l&1|0)!=0;if(i){l=m-E|0;e=l-G|0;if((((e|0)<=(m|0)?(f=c[b+4>>2]|0,(D|0)<(f|0)):0)?(g=c[d+32>>2]|0,(C|0)<(g|0)):0)?(h=c[d+40>>2]|0,(B|0)<(h|0)):0)if((e|0)<(m|0)){j=(e|0)<0;q=j?0:e;z=C-(j?e:0)|0;o=(D|0)<0;s=o?0:D;A=o?D:0;o=B-A|0;p=F+A|0;A=c[d+28>>2]|0;y=(z|0)<(A|0);r=y?z-A|0:0;x=y?A:z;z=r+((E|0)<0?m-q|0:j?l:G)|0;l=c[d+36>>2]|0;j=(o|0)<(l|0);m=j?o-l|0:0;A=j?l:o;o=m+((p+s|0)>(f|0)?f-s|0:p)|0;H=(z+x|0)>(g|0)?g-x|0:z;I=A;J=x;K=s-m|0;L=q-r|0;M=(o+A|0)>(h|0)?h-A|0:o}else{H=G;I=B;J=C;K=D;L=e;M=F}else{H=G;I=B;J=C;K=D;L=e;M=0}}else{H=G;I=B;J=C;K=D;L=E;M=F}if((H|0)<0)return;F=(M|0)>0;if((c[d+8>>2]|0)==8){if(!F)return;E=b+16|0;D=d+16|0;C=H+-1|0;B=(H|0)==0;G=k&255;if(i){e=0;do{if(!B){o=(c[(c[D>>2]|0)+(e+I<<2)>>2]|0)+J+C|0;A=(c[(c[E>>2]|0)+(e+K<<2)>>2]|0)+L|0;h=H;while(1){if(a[A>>0]|0)a[o>>0]=G;h=h+-1|0;if(!h)break;else{o=o+-1|0;A=A+1|0}}}e=e+1|0}while((e|0)!=(M|0));return}if(B)return;B=0;do{e=(c[(c[D>>2]|0)+(B+I<<2)>>2]|0)+J|0;C=(c[(c[E>>2]|0)+(B+K<<2)>>2]|0)+L|0;A=H;while(1){if(a[C>>0]|0)a[e>>0]=G;A=A+-1|0;if(!A)break;else{e=e+1|0;C=C+1|0}}B=B+1|0}while((B|0)!=(M|0));return}else{if(!F)return;F=b+16|0;b=d+16|0;d=(H<<2)+-4|0;B=(H|0)==0;if(i){i=0;do{if(!B){G=(c[(c[b>>2]|0)+(i+I<<2)>>2]|0)+(J<<2)+(d<<2)|0;E=(c[(c[F>>2]|0)+(i+K<<2)>>2]|0)+L|0;D=H;while(1){if(a[E>>0]|0)c[G>>2]=k;D=D+-1|0;if(!D)break;else{G=G+-4|0;E=E+1|0}}}i=i+1|0}while((i|0)!=(M|0));return}if(B)return;B=c[F>>2]|0;F=c[b>>2]|0;b=0;do{i=(c[F+(b+I<<2)>>2]|0)+(J<<2)|0;d=(c[B+(b+K<<2)>>2]|0)+L|0;E=H;while(1){if(a[d>>0]|0)c[i>>2]=k;E=E+-1|0;if(!E)break;else{i=i+4|0;d=d+1|0}}b=b+1|0}while((b|0)!=(M|0));return}}function ll(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,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){Nm(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=0;p=i;q=g;while(1){if((q|0)>0){r=c[(c[m>>2]|0)+(o<<2)>>2]|0;s=c[(c[n>>2]|0)+(o<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=w;y=c[h>>2]|0}else{x=q;y=p}o=o+1|0;if((o|0)>=(y|0))break;else{p=y;q=x}}A=x;B=c[j>>2]|0;C=y}else{A=g;B=k;C=i}if((B|0)!=32)return;if(!((c[l>>2]|0)==8&(C|0)>0))return;C=b+28|0;B=b+36|0;i=b+32|0;k=e+28|0;g=b+40|0;y=e+36|0;x=e+32|0;q=b+16|0;p=e+40|0;o=e+16|0;e=0;w=A;while(1){if((w|0)>0){A=0;while(1){a:do if((((c[C>>2]|0)<=(A|0)?(c[B>>2]|0)<=(e|0):0)?(c[i>>2]|0)>(A|0):0)?(c[g>>2]|0)>(e|0):0)switch(c[j>>2]|0){case 8:{D=d[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+A>>0]|0;break a;break}case 32:{D=c[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+(A<<2)>>2]|0;break a;break}default:{D=0;break a}}else D=0;while(0);n=D>>>16&255;m=D>>>8&255;t=D&255;s=-1;r=0;v=65536;while(1){u=n-(d[f+(r*3|0)>>0]|0)|0;E=z(u,u)|0;u=m-(d[f+(r*3|0)+1>>0]|0)|0;F=(z(u,u)|0)+E|0;E=t-(d[f+(r*3|0)+2>>0]|0)|0;u=F+(z(E,E)|0)|0;E=u>>>0<27;F=(s|0)==-1|(u|0)<(v|0);s=E|F?r:s;r=E?257:r+1|0;if((r|0)>=256)break;else v=E?v:F?u:v}b:do if((((c[k>>2]|0)<=(A|0)?(c[y>>2]|0)<=(e|0):0)?(c[x>>2]|0)>(A|0):0)?(c[p>>2]|0)>(e|0):0)switch(c[l>>2]|0){case 8:{a[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+A>>0]=s;break b;break}case 32:{c[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+(A<<2)>>2]=s;break b;break}default:break b}while(0);A=A+1|0;s=c[b>>2]|0;if((A|0)>=(s|0)){G=s;break}}}else G=w;e=e+1|0;if((e|0)>=(c[h>>2]|0))break;else w=G}return}function ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+20|0;if((c[d>>2]|0)>=(b|0))return;e=b<<2;c[a>>2]=Gn(c[a>>2]|0,e)|0;f=a+4|0;c[f>>2]=Gn(c[f>>2]|0,e)|0;g=a+8|0;c[g>>2]=Gn(c[g>>2]|0,e)|0;h=a+12|0;i=Gn(c[h>>2]|0,e)|0;c[h>>2]=i;e=c[d>>2]|0;if((e|0)<(b|0)?(c[(c[f>>2]|0)+(e<<2)>>2]=0,c[(c[g>>2]|0)+(e<<2)>>2]=e,c[i+(e<<2)>>2]=e,c[(c[a>>2]|0)+(e<<2)>>2]=0,i=e+1|0,(i|0)!=(b|0)):0){e=i;do{i=c[h>>2]|0;c[(c[f>>2]|0)+(e<<2)>>2]=0;c[(c[g>>2]|0)+(e<<2)>>2]=e;c[i+(e<<2)>>2]=e;c[(c[a>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(b|0))}c[d>>2]=b;return}function nl(b){b=b|0;var d=0;d=Dn(64)|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[d+20>>2]=0;c[d+24>>2]=0;ml(d,b);a[d+32>>0]=0;c[1052640]=(c[1052640]|0)+1;return d|0}function ol(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Dn(64)|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;ml(e,b);a[e+32>>0]=0;c[1052640]=(c[1052640]|0)+1;f=En(z(d,b)|0)|0;c[c[e>>2]>>2]=f;if((b|0)<=1){g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}f=1;do{i=c[e>>2]|0;c[i+(f<<2)>>2]=(c[i>>2]|0)+(z(f,d)|0);f=f+1|0}while((f|0)!=(b|0));g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}function pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;a:do if((c[a+24>>2]|0)==0?(e=c[(c[d>>2]|0)+(b<<2)>>2]|0,(e|0)<=99):0)do switch(e|0){case 2:{Hn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 3:{ql(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 4:{bl(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 5:{Vk(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 6:{nm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 7:{qm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 8:{Fm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 9:{ao(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 10:{Yk(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 12:{Ul(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 11:{Vm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 0:return;default:break a}while(0);while(0);e=(c[d>>2]|0)+(b<<2)|0;if(!(c[e>>2]|0))return;c[e>>2]=0;e=a+16|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;f=c[a+8>>2]|0;g=f+(d<<2)|0;d=c[g>>2]|0;c[g>>2]=b;g=c[a+12>>2]|0;a=g+(b<<2)|0;c[f+(c[a>>2]<<2)>>2]=d;c[g+(d<<2)>>2]=c[a>>2];c[a>>2]=c[e>>2];return}function ql(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;b=a+24|0;if(!(c[b>>2]|0)){d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+8|0;g=0;h=e;do{pl(a,c[(c[f>>2]|0)+(h+-1<<2)>>2]|0);g=g+1|0;h=c[d>>2]|0}while((g|0)<(e|0)&(h|0)!=0)}h=a+20|0;if((c[h>>2]|0)>0){e=c[a+4>>2]|0;g=c[a+8>>2]|0;f=c[a+12>>2]|0;i=0;do{c[e+(i<<2)>>2]=0;c[g+(i<<2)>>2]=i;c[f+(i<<2)>>2]=i;i=i+1|0}while((i|0)<(c[h>>2]|0))}if(c[b>>2]|0)Fn(c[c[a>>2]>>2]|0,0,z(c[d>>2]|0,c[a+28>>2]|0)|0);if(c[d>>2]|0)Ok(52357)}else Hn(c[c[a>>2]>>2]|0);Hn(c[a>>2]|0);Hn(c[a+4>>2]|0);Hn(c[a+8>>2]|0);Hn(c[a+12>>2]|0);Hn(a);c[1052640]=(c[1052640]|0)+-1;return}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ca;Ca=Ca+16|0;f=e+8|0;g=e;if(!b){c[g>>2]=52393;mq(3552704,52639,g)|0;Ok(3552704)}if(!d){c[f>>2]=52416;mq(3552704,52639,f)|0;Ok(3552704)}f=(c[a+24>>2]|0)==0;g=a+16|0;h=c[g>>2]|0;i=h+1|0;c[g>>2]=i;j=c[a+20>>2]|0;k=(j|0)<=(h|0);if(f)if(k){ml(a,j+8+((j|0)/2|0)|0);l=c[g>>2]|0}else l=i;else if(k){c[g>>2]=h;m=-1;n=a+4|0;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Ca=e;return m|0}else l=i;i=c[(c[a+8>>2]|0)+(l+-1<<2)>>2]|0;l=a+4|0;c[(c[l>>2]|0)+(i<<2)>>2]=1;m=i;n=l;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Ca=e;return m|0}function sl(){var a=0;if(!4926440)return;a=c[1053365]|0;if(a|0)bl(a)|0;a=al(33,33,32)|0;c[1053365]=a;Xk(a);Zk(c[1053365]|0,15,8,17,24,-1);Zk(c[1053365]|0,8,15,24,17,-1);Zk(c[1053365]|0,16,9,16,23,-6250336);Zk(c[1053365]|0,9,16,23,16,-6250336);Zk(c[1053365]|0,11,11,21,21,0);Zk(c[1053365]|0,16,11,16,21,-1);Zk(c[1053365]|0,11,16,21,16,-1);Zk(c[1053365]|0,14,14,18,18,0);return}function tl(){sl();c[1053366]=c[1053365];return}function ul(){return (c[1053367]|0)!=0|0}function vl(){var a=0,b=0,d=0,e=0;a=c[1053367]|0;if(!a){do{Rk()|0;b=c[1053367]|0}while(!(b|0));d=b}else d=a;a=c[890352]|0;b=d+-1|0;if((d|0)<=1){c[1053367]=b;return a|0}d=0;do{e=d;d=d+1|0;c[3561408+(e<<2)>>2]=c[3561408+(d<<2)>>2]}while((d|0)!=(b|0));c[1053367]=b;return a|0}function wl(){var b=0,c=0,d=0;b=0;while(1){if((b|0)!=57&(a[3561536+b>>0]|0)!=0){c=b;d=4;break}b=b+1|0;if(b>>>0>=512){c=0;d=4;break}}if((d|0)==4)return c|0;return 0}function xl(b){b=b|0;var c=0,d=0;switch(b|0){case -6:{c=a[3561761]|0;if(c<<24>>24!=0&(a[3562273]|0)==0){d=c<<24>>24==3|(a[3562785]|0)==0?3:1;return d|0}c=a[3561765]|0;if(!(c<<24>>24!=0&(a[3562277]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[3562789]|0)==0?3:1;return d|0}case -2:{c=a[3562038]|0;if(c<<24>>24!=0&(a[3562550]|0)==0){d=c<<24>>24==3|(a[3563062]|0)==0?3:1;return d|0}c=a[3562039]|0;if(!(c<<24>>24!=0&(a[3562551]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[3563063]|0)==0?3:1;return d|0}case -3:{c=a[3562036]|0;if(c<<24>>24!=0&(a[3562548]|0)==0){d=c<<24>>24==3|(a[3563060]|0)==0?3:1;return d|0}c=a[3562037]|0;if(!(c<<24>>24!=0&(a[3562549]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[3563061]|0)==0?3:1;return d|0}case -4:{c=a[3561762]|0;if(c<<24>>24!=0&(a[3562274]|0)==0){d=c<<24>>24==3|(a[3562786]|0)==0?3:1;return d|0}c=a[3561766]|0;if(!(c<<24>>24!=0&(a[3562278]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[3562790]|0)==0?3:1;return d|0}case -5:{c=a[3561760]|0;if(c<<24>>24!=0&(a[3562272]|0)==0){d=c<<24>>24==3|(a[3562784]|0)==0?3:1;return d|0}c=a[3561764]|0;if(c<<24>>24!=0&(a[3562276]|0)==0){d=c<<24>>24==3|(a[3562788]|0)==0?3:1;return d|0}c=a[3562036]|0;if(c<<24>>24!=0&(a[3562548]|0)==0){d=c<<24>>24==3|(a[3563060]|0)==0?3:1;return d|0}c=a[3562037]|0;if(!(c<<24>>24!=0&(a[3562549]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[3563061]|0)==0?3:1;return d|0}default:{c=a[3561536+b>>0]|0;if(!(c<<24>>24)){d=0;return d|0}if(!(a[3562048+b>>0]|0))return (c<<24>>24==3|(a[3562560+b>>0]|0)==0?3:1)|0;else{d=0;return d|0}}}return 0}function yl(){Ps(3561536,0,512)|0;Ps(3562560,0,512)|0;Ps(3562048,0,512)|0;return}function zl(){return}function Al(){c[1053368]=ol(1024,72)|0;return}function Bl(){ql(c[1053368]|0);return}function Cl(){var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;a=Ca;Ca=Ca+16|0;b=a+8|0;d=a+4|0;e=a;f=c[1053368]|0;if(!f){Ca=a;return}if(!(c[f+16>>2]|0)){Ca=a;return}ap(b,d,e);f=c[b>>2]|0;g=f-(c[1053369]|0)|0;h=z(g,g)|0;g=c[d>>2]|0;i=g-(c[1053370]|0)|0;j=(z(i,i)|0)+h|0;h=c[1053368]|0;i=c[h+16>>2]|0;k=(i|0)>0;a:do if(k){l=c[h>>2]|0;m=c[h+8>>2]|0;n=c[l+(c[m>>2]<<2)>>2]|0;o=c[n+4>>2]|0;if(((f|0)>=(o|0)?(f|0)<((c[n+12>>2]|0)+o|0):0)?(o=c[n+8>>2]|0,(g|0)>=(o|0)):0)p=(g|0)<((c[n+16>>2]|0)+o|0)?n:0;else p=0;if((i|0)>1){n=p;o=1;while(1){q=c[l+(c[m+(o<<2)>>2]<<2)>>2]|0;r=c[q+4>>2]|0;do if((((f|0)>=(r|0)?(f|0)<((c[q+12>>2]|0)+r|0):0)?(s=c[q+8>>2]|0,(g|0)>=(s|0)):0)?(g|0)<((c[q+16>>2]|0)+s|0):0){if(n|0?c[n+20>>2]&32|0:0){t=n;break}t=q}else t=n;while(0);o=o+1|0;if((o|0)>=(i|0))break;else n=t}if(k)u=t;else break}else u=p;n=u+20|0;o=u+28|0;m=u+28|0;l=u+28|0;q=u+28|0;r=j;s=i;v=h;while(1){w=s+-1|0;x=c[(c[v>>2]|0)+(c[(c[v+8>>2]|0)+(w<<2)>>2]<<2)>>2]|0;if((x|0)==(u|0)){y=c[e>>2]|0;A=c[n>>2]|0;B=A&2;if(!y){if(!B)Oa[c[o>>2]&0](u,c[b>>2]|0,c[d>>2]|0,0,3)}else if(!(c[1053371]|B)){c[n>>2]=A|2;Oa[c[l>>2]&0](u,c[b>>2]|0,c[d>>2]|0,y,4);y=Vo()|0;if((r|0)<400&(y-(c[1053372]|0)|0)<400)Oa[c[l>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[1053372]=Vo()|0;c[1053369]=c[b>>2];c[1053370]=c[d>>2]}y=c[n>>2]|0;if(!(y&1)){c[n>>2]=y|1;Oa[c[m>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}y=c[1052780]|0;A=c[1052781]|0;if(A|y|0){Oa[c[q>>2]&0](u,y,A,c[e>>2]|0,16);c[1052780]=0;c[1052781]=0}}else{A=x+20|0;y=c[A>>2]|0;if(!(y&1))C=y;else{c[A>>2]=y&-2;Oa[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,2);C=c[A>>2]|0}c[A>>2]=C&-33}A=x+20|0;y=c[A>>2]|0;B=y&2;D=c[e>>2]|0;if((B|0)==0|(D|0)!=0){E=r;F=B;G=D}else{c[A>>2]=y&-3;y=x+28|0;Oa[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,6);D=Vo()|0;if((r|0)<400&(D-(c[1053372]|0)|0)<400)Oa[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[1053371]|0,12);D=(c[b>>2]|0)-(c[1053373]|0)|0;B=z(D,D)|0;D=(c[d>>2]|0)-(c[1053374]|0)|0;H=(z(D,D)|0)+B|0;B=Vo()|0;if((B-(c[1053375]|0)|0)<400&H>>>0<400)Oa[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[1053371]|0,15);c[1053375]=Vo()|0;c[1053373]=c[b>>2];c[1053374]=c[d>>2];E=H;F=c[A>>2]&2;G=c[e>>2]|0}if((F|0)!=0&(G|0)!=0)Oa[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,G,5);if((s|0)<=1)break a;r=E;s=w;v=c[1053368]|0}}while(0);c[1053371]=c[e>>2];Ca=a;return}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ca;Ca=Ca+16|0;e=d+8|0;f=d+4|0;g=d;if(!(c[1053368]|0)){Ca=d;return}ap(e,f,g);h=c[1053368]|0;if((c[h+16>>2]|0)<=0){Ca=d;return}if(!b){i=0;j=h;do{k=c[(c[j>>2]|0)+(c[(c[j+8>>2]|0)+(i<<2)>>2]<<2)>>2]|0;Oa[c[k+28>>2]&0](k,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);i=i+1|0;j=c[1053368]|0}while((i|0)<(c[j+16>>2]|0));Ca=d;return}j=0;i=h;while(1){h=c[(c[i>>2]|0)+(c[(c[i+8>>2]|0)+(j<<2)>>2]<<2)>>2]|0;if((c[h>>2]|0)==(b|0)){Oa[c[h+28>>2]&0](h,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);l=c[1053368]|0}else l=i;j=j+1|0;if((j|0)>=(c[l+16>>2]|0))break;else i=l}Ca=d;return}function El(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[1053376]=nl(512)|0;c[1053377]=nl(512)|0;b=0;do{e=(b|0)==0;f=e?8:32;g=0;do{h=al(5,5,f)|0;i=al(6,5,f)|0;rl(c[1053376]|0,4,h)|0;rl(c[1053377]|0,4,i)|0;g=g+1|0}while((g|0)!=32);g=0;do{i=al(5,5,f)|0;h=al(6,5,f)|0;Xk(i);j=g*5|0;k=i+16|0;l=h+16|0;if(e){m=0;do{n=d[2112+(m+j)>>0]|0;if(n&16|0){a[c[(c[k>>2]|0)+(m<<2)>>2]>>0]=-1;a[c[(c[l>>2]|0)+(m<<2)>>2]>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1}if(n&8|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1}if(n&4|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1}if(n&2|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1}if(n&1|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+5>>0]=-1}m=m+1|0}while((m|0)!=5)}else{m=0;do{n=d[2112+(m+j)>>0]|0;if(n&16|0){c[c[(c[k>>2]|0)+(m<<2)>>2]>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o>>2]=-1;c[o+4>>2]=-1}if(n&8|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+4>>2]=-1;c[o+8>>2]=-1}if(n&4|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+8>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+8>>2]=-1;c[o+12>>2]=-1}if(n&2|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+12>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+12>>2]=-1;c[o+16>>2]=-1}if(n&1|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+16>>2]=-4144960;n=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[n+16>>2]=-1;c[n+20>>2]=-1}m=m+1|0}while((m|0)!=5)}rl(c[1053376]|0,4,i)|0;rl(c[1053377]|0,4,h)|0;g=g+1|0}while((g|0)!=96);g=0;do{e=al(5,5,f)|0;m=al(6,5,f)|0;rl(c[1053376]|0,4,e)|0;rl(c[1053377]|0,4,m)|0;g=g+1|0}while((g|0)!=128);b=b+1|0}while((b|0)!=2);return}function Fl(){ql(c[1053376]|0);ql(c[1053377]|0);return}function Gl(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,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;if((d|0)==0|(e|0)==0){j=g;return j|0}k=c[e+16>>2]|0;l=(k&255|0)==0;m=l?0:32;n=l?256:96;if(h&8){o=a[d>>0]|0;if(!(o<<24>>24)){p=0;q=1}else{r=0;s=d;t=o;while(1){o=t<<24>>24;if((m|0)>(o|0))u=r;else u=r+1+(c[c[(c[e>>2]|0)+(o-m<<2)>>2]>>2]|0)|0;s=s+1|0;t=a[s>>0]|0;if(!(t<<24>>24)){p=u;q=1;break}else r=u}}u=p-q|0;q=c[b+32>>2]|0;p=b+28|0;if((u|0)>(q-f|0)){c[p>>2]=(c[p>>2]|0)+15;v=1;w=q-u|0}else{v=0;w=f}}else{v=0;w=f}if(!(h&2))x=w;else{u=a[d>>0]|0;if(!(u<<24>>24)){y=0;z=1}else{q=0;p=d;r=u;while(1){u=r<<24>>24;if((m|0)>(u|0))A=q;else A=q+1+(c[c[(c[e>>2]|0)+(u-m<<2)>>2]>>2]|0)|0;p=p+1|0;r=a[p>>0]|0;if(!(r<<24>>24)){y=A;z=1;break}else q=A}}x=w-((y-z|0)/2|0)|0}if(!(h&4))B=x;else{z=a[d>>0]|0;if(!(z<<24>>24)){C=0;D=1}else{y=0;w=d;A=z;while(1){z=A<<24>>24;if((m|0)>(z|0))E=y;else E=y+1+(c[c[(c[e>>2]|0)+(z-m<<2)>>2]>>2]|0)|0;w=w+1|0;A=a[w>>0]|0;if(!(A<<24>>24)){C=E;D=1;break}else y=E}}B=D+x-C|0}a:do if(!(h&1)){C=c[e>>2]|0;x=c[b+8>>2]|0;D=0;E=h;while(1){if((c[(c[C+(D<<2)>>2]|0)+8>>2]|0)==(x|0)){F=D;G=E;H=0;break a}y=D+n|0;A=(y|0)<(k|0);w=E|(A^1)&1;z=A?y:D;if(!(w&1)){D=z;E=w}else{F=z;G=w;H=1;break}}}else{F=0;G=h;H=1}while(0);h=a[d>>0]|0;b:do if(h<<24>>24){k=l?256:128;n=F-m|0;E=(G&16|0)==0;D=b+32|0;if(H){x=g;C=d;w=0;z=B;y=h;while(1){A=y&255;if(m>>>0<=A>>>0&k>>>0>A>>>0){q=c[(c[e>>2]|0)+(n+A<<2)>>2]|0;A=q+4|0;kl(q,b,0,0,z,x,c[q>>2]|0,c[A>>2]|0,i,0);r=1+(c[q>>2]|0)|0;q=c[A>>2]|0;I=r;J=(w|0)>(q|0)?w:q;K=r+z|0;L=a[C>>0]|0}else{I=0;J=w;K=z;L=y}switch(L<<24>>24){case 127:{M=x;break b;break}case 10:{N=37;break}default:if(!E?(K|0)>((c[D>>2]|0)-I|0):0)N=37;else{O=x;P=J;Q=K}}if((N|0)==37){N=0;O=J+x+1|0;P=0;Q=f}C=C+1|0;y=a[C>>0]|0;if(!(y<<24>>24)){M=O;break b}else{x=O;w=P;z=Q}}}else{z=g;w=d;x=0;y=B;C=h;while(1){r=C&255;if(m>>>0<=r>>>0&k>>>0>r>>>0){q=c[(c[e>>2]|0)+(n+r<<2)>>2]|0;r=q+4|0;$k(q,b,0,0,y,z,c[q>>2]|0,c[r>>2]|0);A=1+(c[q>>2]|0)|0;q=c[r>>2]|0;R=A;S=(x|0)>(q|0)?x:q;T=A+y|0;U=a[w>>0]|0}else{R=0;S=x;T=y;U=C}switch(U<<24>>24){case 127:{M=z;break b;break}case 10:{N=44;break}default:if(!E?(T|0)>((c[D>>2]|0)-R|0):0)N=44;else{V=z;W=S;X=T}}if((N|0)==44){N=0;V=S+z+1|0;W=0;X=f}w=w+1|0;C=a[w>>0]|0;if(!(C<<24>>24)){M=V;break b}else{z=V;x=W;y=X}}}}else M=g;while(0);if(!v){j=M;return j|0}else{j=b+28|0;v=(c[j>>2]|0)+-15|0;c[j>>2]=v;Gl(b,52634,c[1053376]|0,v,M,0,0)|0;return M|0}return 0}function Hl(a){a=a|0;var b=0,d=0;b=Ca;Ca=Ca+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Ca=b;return}function Il(a){a=a|0;var b=0,d=0;b=Ca;Ca=Ca+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Ca=b;return}function Jl(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;switch(c[e>>2]|0){case 0:{f=ms(a,b,d,c[e+8>>2]|0)|0;return f|0}case 1:{g=z(d,b)|0;b=e+20|0;d=c[b>>2]|0;h=(c[e+16>>2]|0)-d|0;i=(g|0)<(h|0)?g:h;h=(i|0)>0?i:0;Os(a|0,(c[e+12>>2]|0)+d|0,h|0)|0;c[b>>2]=h+(c[b>>2]|0);f=h;return f|0}default:{f=0;return f|0}}return 0}function Kl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;bs(f,4,1,c[d+8>>2]|0)|0;Ca=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Jn(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ca=e;return}default:{Ca=e;return}}}function Ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;switch(c[e>>2]|0){case 0:{f=e+20|0;c[f>>2]=(c[f>>2]|0)+d;f=e+16|0;c[f>>2]=(c[f>>2]|0)+d;g=bs(a,b,d,c[e+8>>2]|0)|0;return g|0}case 1:{f=z(d,b)|0;do if(c[e+88>>2]|0){b=e+20|0;Jn(e,(c[b>>2]|0)+f|0)|0;d=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if(!a){Fn(d,0,f);h=b;break}else{Os(d|0,a|0,f|0)|0;h=b;break}}else{b=e+20|0;Os((c[e+12>>2]|0)+(c[b>>2]|0)|0,a|0,f|0)|0;h=b}while(0);a=(c[h>>2]|0)+f|0;c[h>>2]=a;h=e+16|0;e=c[h>>2]|0;c[h>>2]=(e|0)>(a|0)?e:a;g=f;return g|0}default:{g=0;return g|0}}return 0}function Ml(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;bs(f,4,1,c[d+8>>2]|0)|0;Ca=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Jn(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ca=e;return}default:{Ca=e;return}}}function Nl(b,d){b=b|0;d=d|0;var e=0;switch(c[d>>2]|0){case 0:{e=d+20|0;c[e>>2]=(c[e>>2]|0)+1;e=d+16|0;c[e>>2]=(c[e>>2]|0)+1;gs(b<<24>>24,c[d+8>>2]|0)|0;return}case 1:{e=d+20|0;if(c[d+88>>2]|0)Jn(d,(c[e>>2]|0)+1|0)|0;a[(c[d+12>>2]|0)+(c[e>>2]|0)>>0]=b;b=(c[e>>2]|0)+1|0;c[e>>2]=b;e=d+16|0;d=c[e>>2]|0;c[e>>2]=(d|0)>(b|0)?d:b;return}default:return}}function Ol(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Ca;Ca=Ca+16|0;g=f;b[g>>1]=d;switch(c[e>>2]|0){case 0:{h=e+20|0;c[h>>2]=(c[h>>2]|0)+1;h=e+16|0;c[h>>2]=(c[h>>2]|0)+1;bs(g,2,1,c[e+8>>2]|0)|0;Ca=f;return}case 1:{g=e+20|0;if(c[e+88>>2]|0)Jn(e,(c[g>>2]|0)+2|0)|0;h=(c[e+12>>2]|0)+(c[g>>2]|0)|0;a[h>>0]=d;a[h+1>>0]=d>>8;d=(c[g>>2]|0)+2|0;c[g>>2]=d;g=e+16|0;e=c[g>>2]|0;c[g>>2]=(e|0)>(d|0)?e:d;Ca=f;return}default:{Ca=f;return}}}function Pl(d,e){d=d|0;e=e|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0;d=Ca;Ca=Ca+16|0;g=d;if(!e){h=0;Ca=d;return h|0}i=nl(0)|0;a:do if(i|0){switch(c[e>>2]|0){case 0:{j=Lr(c[e+8>>2]|0)|0;k=6;break}case 1:{j=(c[e+20>>2]|0)>=(c[e+16>>2]|0)&1;k=6;break}default:k=7}if((k|0)==6?(j|0)==0:0)k=7;b:do if((k|0)==7){l=e+8|0;m=e+16|0;n=e+20|0;o=e+12|0;p=i+32|0;q=0;c:while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{r=c[n>>2]|0;s=(c[m>>2]|0)-r|0;t=(s|0)<4?s:4;s=(t|0)>0?t:0;Os(g|0,(c[o>>2]|0)+r|0,s|0)|0;c[n>>2]=s+r;break}default:{k=9;break c}}r=c[g>>2]|0;if(!r)break b;c[g>>2]=0;switch(c[e>>2]|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{s=c[n>>2]|0;t=(c[m>>2]|0)-s|0;u=(t|0)<4?t:4;t=(u|0)>0?u:0;Os(g|0,(c[o>>2]|0)+s|0,t|0)|0;c[n>>2]=t+s;break}default:{}}s=c[g>>2]|0;t=(q|0)==0;if(t&(r|0)!=1146048579)break a;d:do if(t)if((r|0)==1146048579){c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;v=c[e>>2]|0;k=26;break}case 1:{w=c[n>>2]|0;x=(c[m>>2]|0)-w|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+w|0,x|0)|0;c[n>>2]=x+w;k=28;break}default:{v=u;k=26}}e:do if((k|0)==26){k=0;switch(v|0){case 1:{k=28;break e;break}case 0:break;default:break e}ms(p,1,32,c[l>>2]|0)|0}while(0);if((k|0)==28){k=0;u=c[n>>2]|0;w=(c[m>>2]|0)-u|0;x=(w|0)<32?w:32;w=(x|0)>0?x:0;Os(p|0,(c[o>>2]|0)+u|0,w|0)|0;c[n>>2]=w+(c[n>>2]|0)}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;A=c[e>>2]|0;k=32;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;break}default:{A=w;k=32}}f:do if((k|0)==32){k=0;switch(A|0){case 1:{break f;break}case 0:break;default:{k=396;break d}}Tr(c[l>>2]|0,28,1)|0;k=396;break d}while(0);c[n>>2]=(c[n>>2]|0)+28;k=396}else k=35;else if((r|0)<1347374659)switch(r|0){case 1146048579:{break c;break}default:{k=35;break d}}else switch(r|0){case 1347374659:{break c;break}default:{k=35;break d}}while(0);g:do if((k|0)==35){k=0;t=r|32;h:do if((t|0)<1347245667){switch(t|0){case 1347240547:break;default:break h}w=(r|0)==1347240547;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;B=c[e>>2]|0;k=39;break}case 1:{x=c[n>>2]|0;y=(c[m>>2]|0)-x|0;C=(y|0)<4?y:4;y=(C|0)>0?C:0;Os(g|0,(c[o>>2]|0)+x|0,y|0)|0;c[n>>2]=y+x;B=1;k=39;break}default:{D=0;E=u}}if((k|0)==39){k=0;D=c[g>>2]|0;E=B}c[g>>2]=0;switch(E|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;F=c[e>>2]|0;k=43;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=c[g>>2]|0;c[g>>2]=0;G=u;k=45;break}default:{F=E;k=43}}i:do if((k|0)==43){k=0;u=c[g>>2]|0;c[g>>2]=0;switch(F|0){case 1:{G=u;k=45;break i;break}case 0:break;default:{H=u;break i}}ms(g,4,1,c[l>>2]|0)|0;H=u}while(0);if((k|0)==45){k=0;u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;H=G}u=c[g>>2]|0;x=al(D,H,u)|0;c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;I=c[e>>2]|0;k=49;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Os(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;c[x+20>>2]=c[g>>2];c[g>>2]=0;k=51;break}default:{I=y;k=49}}j:do if((k|0)==49){k=0;c[x+20>>2]=c[g>>2];c[g>>2]=0;switch(I|0){case 1:{k=51;break j;break}case 0:break;default:break j}ms(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==51){k=0;y=c[n>>2]|0;C=(c[m>>2]|0)-y|0;J=(C|0)<4?C:4;C=(J|0)>0?J:0;Os(g|0,(c[o>>2]|0)+y|0,C|0)|0;c[n>>2]=C+y}y=c[x+12>>2]|0;C=z(z(H,D)|0,u>>3)|0;k:do if(w)Ql(y,C,e)|0;else switch(c[e>>2]|0){case 0:{ms(y,1,C,c[l>>2]|0)|0;break k;break}case 1:{J=c[n>>2]|0;K=(c[m>>2]|0)-J|0;L=(C|0)<(K|0)?C:K;K=(L|0)>0?L:0;Os(y|0,(c[o>>2]|0)+J|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break k;break}default:break k}while(0);rl(i,4,x)|0;k=396;break g}else{switch(t|0){case 1347245667:break;default:break h}y=(r|0)==1347245667;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;M=c[e>>2]|0;k=61;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Os(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;M=1;k=61;break}default:{N=C;O=0}}if((k|0)==61){k=0;N=M;O=c[g>>2]|0}c[g>>2]=0;switch(N|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;P=c[e>>2]|0;k=65;break}case 1:{C=c[n>>2]|0;w=(c[m>>2]|0)-C|0;u=(w|0)<4?w:4;w=(u|0)>0?u:0;Os(g|0,(c[o>>2]|0)+C|0,w|0)|0;c[n>>2]=w+C;C=c[g>>2]|0;c[g>>2]=0;Q=C;k=67;break}default:{P=N;k=65}}l:do if((k|0)==65){k=0;C=c[g>>2]|0;c[g>>2]=0;switch(P|0){case 1:{Q=C;k=67;break l;break}case 0:break;default:{R=C;break l}}ms(g,4,1,c[l>>2]|0)|0;R=C}while(0);if((k|0)==67){k=0;x=c[n>>2]|0;C=(c[m>>2]|0)-x|0;w=(C|0)<4?C:4;C=(w|0)>0?w:0;Os(g|0,(c[o>>2]|0)+x|0,C|0)|0;c[n>>2]=C+x;R=Q}x=c[g>>2]|0;C=Wk(O,R,x)|0;c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;S=c[e>>2]|0;k=71;break}case 1:{u=c[n>>2]|0;K=(c[m>>2]|0)-u|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Os(g|0,(c[o>>2]|0)+u|0,K|0)|0;c[n>>2]=K+u;c[C+20>>2]=c[g>>2];c[g>>2]=0;k=73;break}default:{S=w;k=71}}m:do if((k|0)==71){k=0;c[C+20>>2]=c[g>>2];c[g>>2]=0;switch(S|0){case 1:{k=73;break m;break}case 0:break;default:break m}ms(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==73){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Os(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w}w=c[C+12>>2]|0;u=z(z(R,O)|0,x)|0;n:do if(y)Ql(w,u,e)|0;else switch(c[e>>2]|0){case 0:{ms(w,1,u,c[l>>2]|0)|0;break n;break}case 1:{K=c[n>>2]|0;J=(c[m>>2]|0)-K|0;L=(u|0)<(J|0)?u:J;J=(L|0)>0?L:0;Os(w|0,(c[o>>2]|0)+K|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break n;break}default:break n}while(0);rl(i,10,C)|0;k=396;break g}while(0);o:do if((r|0)<1279348803){if((r|0)<1146047811){switch(r|0){case 1145983811:break;default:break o}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;T=c[e>>2]|0;k=299;break}case 1:{u=c[n>>2]|0;y=(c[m>>2]|0)-u|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Os(g|0,(c[o>>2]|0)+u|0,y|0)|0;c[n>>2]=y+u;T=1;k=299;break}default:{U=w;V=0}}if((k|0)==299){k=0;U=T;V=c[g>>2]|0}c[g>>2]=0;switch(U|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;y=(u|0)<4?u:4;u=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;break}default:{}}w=$n(V,c[g>>2]|0)|0;if(!w){u=s+-8|0;y=c[e>>2]|0;switch(y|0){case 0:{Tr(c[l>>2]|0,u,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+u;k=396;break g;break}default:{W=y;break g}}}c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;X=c[e>>2]|0;k=307;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(x|0)<4?x:4;x=(J|0)>0?J:0;Os(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=w+8|0;c[u>>2]=c[g>>2];c[g>>2]=0;Y=u;k=309;break}default:{X=y;k=307}}p:do if((k|0)==307){k=0;y=w+8|0;c[y>>2]=c[g>>2];c[g>>2]=0;switch(X|0){case 1:{Y=y;k=309;break p;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;Z=c[e>>2]|0;break}default:Z=X}c[w+12>>2]=c[g>>2];c[g>>2]=0;switch(Z|0){case 1:{_=y;k=312;break p;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;$=c[e>>2]|0;break}default:$=Z}c[g>>2]=0;switch($|0){case 1:{aa=y;k=315;break p;break}case 0:break;default:{ba=y;break p}}ms(g,4,1,c[l>>2]|0)|0;ba=y}while(0);if((k|0)==309){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Os(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[w+12>>2]=c[g>>2];c[g>>2]=0;_=Y;k=312}if((k|0)==312){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Os(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[g>>2]=0;aa=_;k=315}if((k|0)==315){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Os(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;ba=aa}C=no(w)|0;y=(z(c[w+4>>2]|0,c[w>>2]|0)|0)/8|0;switch(c[e>>2]|0){case 0:{ms(C,y,1,c[l>>2]|0)|0;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(y|0)<(x|0)?y:x;x=(J|0)>0?J:0;Os(C|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+(c[n>>2]|0);break}default:{}}po(w,c[ba>>2]|0);rl(i,9,w)|0;k=396;break g}if((r|0)<1229865283){switch(r|0){case 1146047811:break;default:break o}x=mm()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;ca=c[e>>2]|0;k=88;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;C=x+4|0;c[C>>2]=c[g>>2];c[g>>2]=0;da=C;k=90;break}default:{ca=u;k=88}}q:do if((k|0)==88){k=0;u=x+4|0;c[u>>2]=c[g>>2];c[g>>2]=0;switch(ca|0){case 1:{da=u;k=90;break q;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;ea=c[e>>2]|0;break}default:ea=ca}C=x+16|0;c[C>>2]=c[g>>2];c[g>>2]=0;switch(ea|0){case 1:{fa=C;ga=u;k=93;break q;break}case 0:break;default:{ha=u;ia=C;break q}}ms(g,4,1,c[l>>2]|0)|0;ha=u;ia=C}while(0);if((k|0)==90){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Os(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;w=x+16|0;c[w>>2]=c[g>>2];c[g>>2]=0;fa=w;ga=da;k=93}if((k|0)==93){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Os(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;ha=ga;ia=fa}w=x+24|0;c[w>>2]=c[g>>2];jm(x,c[ha>>2]|0);km(x,c[ia>>2]|0);r:do if((c[ha>>2]|0)>0){C=0;while(1){f[g>>2]=0.0;u=c[e>>2]|0;switch(u|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;ja=c[e>>2]|0;k=99;break}case 1:{J=c[n>>2]|0;y=(c[m>>2]|0)-J|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;Os(g|0,(c[o>>2]|0)+J|0,y|0)|0;c[n>>2]=y+J;J=c[x>>2]|0;c[J+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;ka=J;k=405;break}default:{ja=u;k=99}}s:do if((k|0)==99){k=0;u=c[x>>2]|0;c[u+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;switch(ja|0){case 1:{ka=u;k=405;break s;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;la=c[x>>2]|0;ma=c[e>>2]|0;break}default:{la=u;ma=ja}}c[la+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;switch(ma|0){case 1:{na=la;k=408;break s;break}case 0:break;default:{oa=la;break s}}ms(g,4,1,c[l>>2]|0)|0;oa=c[x>>2]|0}while(0);if((k|0)==405){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;c[ka+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;na=ka;k=408}if((k|0)==408){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;oa=na}c[oa+(C*12|0)+8>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break r}}while(0);t:do if((c[ia>>2]|0)>0){C=x+12|0;u=0;while(1){J=c[C>>2]|0;y=J+(u*80|0)|0;b[g>>1]=0;switch(c[e>>2]|0){case 0:{ms(g,2,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;L=(c[m>>2]|0)-K|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Os(g|0,(c[o>>2]|0)+K|0,L|0)|0;c[n>>2]=L+K;break}default:{}}K=b[g>>1]|0;L=J+(u*80|0)+56|0;b[L>>1]=K;lm(y,K<<16>>16);b[g>>1]=0;K=c[e>>2]|0;switch(K|0){case 0:{ms(g,2,1,c[l>>2]|0)|0;qa=c[e>>2]|0;k=108;break}case 1:{y=c[n>>2]|0;pa=(c[m>>2]|0)-y|0;ra=(pa|0)<2?pa:2;pa=(ra|0)>0?ra:0;Os(g|0,(c[o>>2]|0)+y|0,pa|0)|0;c[n>>2]=pa+y;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;k=110;break}default:{qa=K;k=108}}u:do if((k|0)==108){k=0;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;switch(qa|0){case 1:{k=110;break u;break}case 0:break;default:break u}ms(g,2,1,c[l>>2]|0)|0}while(0);if((k|0)==110){k=0;K=c[n>>2]|0;y=(c[m>>2]|0)-K|0;pa=(y|0)<2?y:2;y=(pa|0)>0?pa:0;Os(g|0,(c[o>>2]|0)+K|0,y|0)|0;c[n>>2]=y+K}b[J+(u*80|0)+74>>1]=b[g>>1]|0;v:do if((b[L>>1]|0)>0){K=J+(u*80|0)+48|0;y=J+(u*80|0)+52|0;pa=0;while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Os(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;break}default:{}}c[(c[K>>2]|0)+(pa<<2)>>2]=c[g>>2];f[g>>2]=0.0;ra=c[e>>2]|0;switch(ra|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;ua=c[e>>2]|0;k=119;break}case 1:{sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;va=(ta|0)<4?ta:4;ta=(va|0)>0?va:0;Os(g|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+sa;sa=c[y>>2]|0;c[sa+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;wa=sa;k=121;break}default:{ua=ra;k=119}}w:do if((k|0)==119){k=0;ra=c[y>>2]|0;c[ra+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;switch(ua|0){case 1:{wa=ra;k=121;break w;break}case 0:break;default:{xa=ra;break w}}ms(g,4,1,c[l>>2]|0)|0;xa=c[y>>2]|0}while(0);if((k|0)==121){k=0;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Os(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;xa=wa}c[xa+(pa<<3)+4>>2]=c[g>>2];pa=pa+1|0;if((pa|0)>=(b[L>>1]|0))break v}}while(0);u=u+1|0;if((u|0)>=(c[ia>>2]|0))break t}}while(0);x:do if((c[w>>2]|0)>0?(c[ha>>2]|0)>0:0){u=x+28|0;C=0;while(1){b[g>>1]=0;L=c[e>>2]|0;switch(L|0){case 0:{ms(g,2,1,c[l>>2]|0)|0;ya=c[e>>2]|0;k=130;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<2?pa:2;pa=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;J=b[g>>1]|0;pa=c[u>>2]|0;y=pa+(C<<5)|0;b[y>>1]=J;b[g>>1]=0;za=y;Aa=pa;Ba=J;k=132;break}default:{ya=L;k=130}}y:do if((k|0)==130){k=0;L=b[g>>1]|0;J=c[u>>2]|0;pa=J+(C<<5)|0;b[pa>>1]=L;b[g>>1]=0;switch(ya|0){case 1:{za=pa;Aa=J;Ba=L;k=132;break y;break}case 0:break;default:{Da=pa;Ea=J;Fa=L;Ga=ya;break y}}ms(g,2,1,c[l>>2]|0)|0;L=c[u>>2]|0;J=L+(C<<5)|0;Da=J;Ea=L;Fa=b[J>>1]|0;Ga=c[e>>2]|0}while(0);if((k|0)==132){k=0;J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Os(g|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+J;Da=za;Ea=Aa;Fa=Ba;Ga=1}J=b[g>>1]|0;L=Fa&65535;pa=(c[w>>2]|0)+-1|0;y=(pa|0)>(L|0)?L:pa;b[Da>>1]=(y|0)>0?y:0;y=J&65535;J=(pa|0)>(y|0)?y:pa;b[Ea+(C<<5)+2>>1]=(J|0)>0?J:0;f[g>>2]=0.0;switch(Ga|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Ha=c[u>>2]|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<4?pa:4;pa=(y|0)>0?y:0;Os(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;Ha=Ea;break}default:Ha=Ea}c[Ha+(C<<5)+4>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break x}}while(0);sm(x);rl(i,6,x)|0;k=396;break g}switch(r|0){case 1229865283:break;default:break o}w=Em()|0;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Ia=c[e>>2]|0;k=145;break}case 1:{u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;Os(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;Ia=1;k=145;break}default:{Ja=C;Ka=0}}if((k|0)==145){k=0;Ja=Ia;Ka=c[g>>2]|0}c[g>>2]=0;switch(Ja|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;La=c[g>>2]|0;Ma=c[e>>2]|0;k=149;break}case 1:{C=c[m>>2]|0;u=c[n>>2]|0;J=C-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;pa=c[o>>2]|0;Os(g|0,pa+u|0,J|0)|0;y=J+u|0;c[n>>2]=y;c[w+8>>2]=c[g>>2];c[g>>2]=0;Na=y;Oa=C;Pa=pa;k=152;break}default:{La=0;Ma=Ja;k=149}}z:do if((k|0)==149){k=0;c[w+8>>2]=La;c[g>>2]=0;switch(Ma|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Qa=c[g>>2]|0;Ra=c[e>>2]|0;break}case 1:{Na=c[n>>2]|0;Oa=c[m>>2]|0;Pa=c[o>>2]|0;k=152;break z;break}default:{Qa=0;Ra=Ma}}c[w+12>>2]=Qa;c[g>>2]=0;switch(Ra|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Sa=c[e>>2]|0;break}case 1:{Ta=c[n>>2]|0;Ua=c[m>>2]|0;Va=c[o>>2]|0;k=156;break z;break}default:Sa=Ra}c[g>>2]=0;switch(Sa|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Wa=c[e>>2]|0;break}case 1:{Xa=c[n>>2]|0;Ya=c[m>>2]|0;Za=c[o>>2]|0;k=280;break z;break}default:Wa=Sa}c[g>>2]=0;switch(Wa|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;_a=c[e>>2]|0;break}case 1:{$a=c[n>>2]|0;ab=c[m>>2]|0;bb=c[o>>2]|0;k=284;break z;break}default:_a=Wa}c[g>>2]=0;switch(_a|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;cb=c[e>>2]|0;break}case 1:{db=c[n>>2]|0;eb=c[m>>2]|0;fb=c[o>>2]|0;k=288;break z;break}default:cb=_a}c[g>>2]=0;switch(cb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break z;break}case 1:{gb=c[n>>2]|0;hb=c[m>>2]|0;ib=c[o>>2]|0;k=292;break z;break}default:break z}}while(0);if((k|0)==152){k=0;x=Oa-Na|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Os(g|0,Pa+Na|0,x|0)|0;pa=x+Na|0;c[n>>2]=pa;c[w+12>>2]=c[g>>2];c[g>>2]=0;Ta=pa;Ua=Oa;Va=Pa;k=156}if((k|0)==156){k=0;pa=Ua-Ta|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Os(g|0,Va+Ta|0,pa|0)|0;x=pa+Ta|0;c[n>>2]=x;c[g>>2]=0;Xa=x;Ya=Ua;Za=Va;k=280}if((k|0)==280){k=0;x=Ya-Xa|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Os(g|0,Za+Xa|0,x|0)|0;pa=x+Xa|0;c[n>>2]=pa;c[g>>2]=0;$a=pa;ab=Ya;bb=Za;k=284}if((k|0)==284){k=0;pa=ab-$a|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Os(g|0,bb+$a|0,pa|0)|0;x=pa+$a|0;c[n>>2]=x;c[g>>2]=0;db=x;eb=ab;fb=bb;k=288}if((k|0)==288){k=0;x=eb-db|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Os(g|0,fb+db|0,x|0)|0;pa=x+db|0;c[n>>2]=pa;c[g>>2]=0;gb=pa;hb=eb;ib=fb;k=292}if((k|0)==292){k=0;pa=hb-gb|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Os(g|0,ib+gb|0,pa|0)|0;c[n>>2]=pa+gb}A:do if((Ka|0)>0){pa=w+4|0;x=0;while(1){Hm(w)|0;C=c[pa>>2]|0;y=C+(x*112|0)|0;u=c[e>>2]|0;switch(u|0){case 0:{ms(y,1,32,c[l>>2]|0)|0;k=163;break}case 1:{J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;K=(L|0)<32?L:32;L=(K|0)>0?K:0;Os(y|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=163;break}default:jb=u}if((k|0)==163){k=0;jb=c[e>>2]|0}u=C+(x*112|0)+32|0;switch(jb|0){case 0:{ms(u,1,32,c[l>>2]|0)|0;break}case 1:{L=c[n>>2]|0;J=(c[m>>2]|0)-L|0;y=(J|0)<32?J:32;J=(y|0)>0?y:0;Os(u|0,(c[o>>2]|0)+L|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;kb=c[g>>2]|0;lb=c[e>>2]|0;k=170;break}case 1:{L=c[m>>2]|0;u=c[n>>2]|0;y=L-u|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;K=c[o>>2]|0;Os(g|0,K+u|0,y|0)|0;ra=y+u|0;c[n>>2]=ra;c[C+(x*112|0)+68>>2]=c[g>>2];c[g>>2]=0;mb=ra;nb=L;ob=K;k=173;break}default:{kb=0;lb=J;k=170}}B:do if((k|0)==170){k=0;c[C+(x*112|0)+68>>2]=kb;c[g>>2]=0;switch(lb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;pb=c[g>>2]|0;qb=c[e>>2]|0;break}case 1:{mb=c[n>>2]|0;nb=c[m>>2]|0;ob=c[o>>2]|0;k=173;break B;break}default:{pb=0;qb=lb}}c[C+(x*112|0)+72>>2]=pb;c[g>>2]=0;switch(qb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;rb=c[g>>2]|0;sb=c[e>>2]|0;break}case 1:{tb=c[n>>2]|0;ub=c[m>>2]|0;vb=c[o>>2]|0;k=177;break B;break}default:{rb=0;sb=qb}}c[C+(x*112|0)+76>>2]=rb;c[g>>2]=0;switch(sb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;wb=c[g>>2]|0;xb=c[e>>2]|0;break}case 1:{yb=c[n>>2]|0;zb=c[m>>2]|0;Ab=c[o>>2]|0;k=181;break B;break}default:{wb=0;xb=sb}}c[C+(x*112|0)+100>>2]=wb;c[g>>2]=0;switch(xb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Bb=c[g>>2]|0;Cb=c[e>>2]|0;break}case 1:{Db=c[n>>2]|0;Eb=c[m>>2]|0;Fb=c[o>>2]|0;k=185;break B;break}default:{Bb=0;Cb=xb}}J=C+(x*112|0)+104|0;c[J>>2]=Bb;c[g>>2]=0;switch(Cb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Gb=c[g>>2]|0;Hb=c[e>>2]|0;break}case 1:{Ib=J;Jb=c[n>>2]|0;Kb=c[m>>2]|0;Lb=c[o>>2]|0;k=189;break B;break}default:{Gb=0;Hb=Cb}}c[C+(x*112|0)+108>>2]=Gb;c[g>>2]=0;switch(Hb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Mb=c[e>>2]|0;break}case 1:{Nb=J;Ob=c[n>>2]|0;Pb=c[m>>2]|0;Qb=c[o>>2]|0;k=193;break B;break}default:Mb=Hb}c[g>>2]=0;switch(Mb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Rb=c[e>>2]|0;break}case 1:{Sb=J;Tb=c[n>>2]|0;Ub=c[m>>2]|0;Vb=c[o>>2]|0;k=272;break B;break}default:Rb=Mb}c[g>>2]=0;switch(Rb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Wb=c[e>>2]|0;break}case 1:{Xb=J;Yb=c[n>>2]|0;Zb=c[m>>2]|0;_b=c[o>>2]|0;k=276;break B;break}default:Wb=Rb}K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;switch(Wb|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;$b=K;ac=J;break B;break}case 1:{bc=K;cc=J;dc=c[n>>2]|0;ec=c[m>>2]|0;fc=c[o>>2]|0;k=197;break B;break}default:{$b=K;ac=J;break B}}}while(0);if((k|0)==173){k=0;J=nb-mb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Os(g|0,ob+mb|0,J|0)|0;K=J+mb|0;c[n>>2]=K;c[C+(x*112|0)+72>>2]=c[g>>2];c[g>>2]=0;tb=K;ub=nb;vb=ob;k=177}if((k|0)==177){k=0;K=ub-tb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Os(g|0,vb+tb|0,K|0)|0;J=K+tb|0;c[n>>2]=J;c[C+(x*112|0)+76>>2]=c[g>>2];c[g>>2]=0;yb=J;zb=ub;Ab=vb;k=181}if((k|0)==181){k=0;J=zb-yb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Os(g|0,Ab+yb|0,J|0)|0;K=J+yb|0;c[n>>2]=K;c[C+(x*112|0)+100>>2]=c[g>>2];c[g>>2]=0;Db=K;Eb=zb;Fb=Ab;k=185}if((k|0)==185){k=0;K=Eb-Db|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Os(g|0,Fb+Db|0,K|0)|0;J=K+Db|0;c[n>>2]=J;K=C+(x*112|0)+104|0;c[K>>2]=c[g>>2];c[g>>2]=0;Ib=K;Jb=J;Kb=Eb;Lb=Fb;k=189}if((k|0)==189){k=0;J=Kb-Jb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Os(g|0,Lb+Jb|0,J|0)|0;K=J+Jb|0;c[n>>2]=K;c[C+(x*112|0)+108>>2]=c[g>>2];c[g>>2]=0;Nb=Ib;Ob=K;Pb=Kb;Qb=Lb;k=193}if((k|0)==193){k=0;K=Pb-Ob|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Os(g|0,Qb+Ob|0,K|0)|0;J=K+Ob|0;c[n>>2]=J;c[g>>2]=0;Sb=Nb;Tb=J;Ub=Pb;Vb=Qb;k=272}if((k|0)==272){k=0;J=Ub-Tb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Os(g|0,Vb+Tb|0,J|0)|0;K=J+Tb|0;c[n>>2]=K;c[g>>2]=0;Xb=Sb;Yb=K;Zb=Ub;_b=Vb;k=276}if((k|0)==276){k=0;K=Zb-Yb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Os(g|0,_b+Yb|0,K|0)|0;J=K+Yb|0;c[n>>2]=J;K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;bc=K;cc=Xb;dc=J;ec=Zb;fc=_b;k=197}if((k|0)==197){k=0;J=ec-dc|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Os(g|0,fc+dc|0,J|0)|0;c[n>>2]=J+dc;$b=bc;ac=cc}J=c[g>>2]|0;c[$b>>2]=J;Jm($b,J);J=c[$b>>2]|0;C:do if(!J)k=209;else{K=c[$b+12>>2]|0;L=c[$b+8>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{ms(K,L,J,c[l>>2]|0)|0;k=202;break}case 1:{u=z(L,J)|0;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;sa=(u|0)<(y|0)?u:y;y=(sa|0)>0?sa:0;Os(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=202;break}default:{gc=ra;hc=J}}if((k|0)==202){k=0;gc=c[e>>2]|0;hc=c[$b>>2]|0}ra=c[$b+16>>2]|0;switch(gc|0){case 0:{ms(ra,4,hc,c[l>>2]|0)|0;break}case 1:{y=hc<<2;L=c[n>>2]|0;K=(c[m>>2]|0)-L|0;sa=(y|0)<(K|0)?y:K;K=(sa|0)>0?sa:0;Os(ra|0,(c[o>>2]|0)+L|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[$b+20>>2]|0;L=c[$b>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{ms(K,4,L,c[l>>2]|0)|0;k=209;break C;break}case 1:{sa=L<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;u=(sa|0)<(y|0)?sa:y;y=(u|0)>0?u:0;Os(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=209;break C;break}default:{ic=ra;break C}}}while(0);if((k|0)==209){k=0;ic=c[e>>2]|0}J=c[C+(x*112|0)+84>>2]|0;c[g>>2]=0;switch(ic|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;y=(c[m>>2]|0)-ra|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Os(g|0,(c[o>>2]|0)+ra|0,y|0)|0;c[n>>2]=y+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;Jm(J,ra);ra=c[J>>2]|0;D:do if(!ra)k=224;else{y=c[J+12>>2]|0;L=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{ms(y,L,ra,c[l>>2]|0)|0;k=217;break}case 1:{u=z(L,ra)|0;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;ta=(u|0)<(sa|0)?u:sa;sa=(ta|0)>0?ta:0;Os(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=217;break}default:{jc=K;kc=ra}}if((k|0)==217){k=0;jc=c[e>>2]|0;kc=c[J>>2]|0}K=c[J+16>>2]|0;switch(jc|0){case 0:{ms(K,4,kc,c[l>>2]|0)|0;break}case 1:{sa=kc<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;ta=(sa|0)<(y|0)?sa:y;y=(ta|0)>0?ta:0;Os(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);break}default:{}}y=c[J+20>>2]|0;L=c[J>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{ms(y,4,L,c[l>>2]|0)|0;k=224;break D;break}case 1:{ta=L<<2;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;u=(ta|0)<(sa|0)?ta:sa;sa=(u|0)>0?u:0;Os(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=224;break D;break}default:{lc=K;break D}}}while(0);if((k|0)==224){k=0;lc=c[e>>2]|0}J=c[C+(x*112|0)+88>>2]|0;c[g>>2]=0;switch(lc|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;K=(c[m>>2]|0)-ra|0;sa=(K|0)<4?K:4;K=(sa|0)>0?sa:0;Os(g|0,(c[o>>2]|0)+ra|0,K|0)|0;c[n>>2]=K+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;Jm(J,ra);ra=c[J>>2]|0;E:do if(ra|0){K=c[J+12>>2]|0;sa=c[J+8>>2]|0;L=c[e>>2]|0;switch(L|0){case 0:{ms(K,sa,ra,c[l>>2]|0)|0;k=232;break}case 1:{y=z(sa,ra)|0;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;ta=(y|0)<(u|0)?y:u;u=(ta|0)>0?ta:0;Os(K|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);k=232;break}default:{mc=L;nc=ra}}if((k|0)==232){k=0;mc=c[e>>2]|0;nc=c[J>>2]|0}L=c[J+16>>2]|0;switch(mc|0){case 0:{ms(L,4,nc,c[l>>2]|0)|0;break}case 1:{u=nc<<2;sa=c[n>>2]|0;K=(c[m>>2]|0)-sa|0;ta=(u|0)<(K|0)?u:K;K=(ta|0)>0?ta:0;Os(L|0,(c[o>>2]|0)+sa|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{ms(K,4,sa,c[l>>2]|0)|0;break E;break}case 1:{L=sa<<2;sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;u=(L|0)<(ta|0)?L:ta;ta=(u|0)>0?u:0;Os(K|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break E;break}default:break E}}while(0);J=c[ac>>2]|0;F:do if(J|0){ra=C+(x*112|0)+92|0;c[ra>>2]=En(J<<2)|0;if((c[ac>>2]|0)<=0)break;ta=0;while(1){sa=Im(16)|0;c[(c[ra>>2]|0)+(ta<<2)>>2]=sa;sa=c[(c[ra>>2]|0)+(ta<<2)>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;u=(c[m>>2]|0)-K|0;L=(u|0)<4?u:4;u=(L|0)>0?L:0;Os(g|0,(c[o>>2]|0)+K|0,u|0)|0;c[n>>2]=u+K;break}default:{}}K=c[g>>2]|0;c[sa>>2]=K;Jm(sa,K);K=c[sa>>2]|0;G:do if(K|0){u=c[sa+12>>2]|0;L=c[sa+8>>2]|0;y=c[e>>2]|0;switch(y|0){case 0:{ms(u,L,K,c[l>>2]|0)|0;k=249;break}case 1:{va=z(L,K)|0;L=c[n>>2]|0;oc=(c[m>>2]|0)-L|0;pc=(va|0)<(oc|0)?va:oc;oc=(pc|0)>0?pc:0;Os(u|0,(c[o>>2]|0)+L|0,oc|0)|0;c[n>>2]=oc+(c[n>>2]|0);k=249;break}default:{qc=y;rc=K}}if((k|0)==249){k=0;qc=c[e>>2]|0;rc=c[sa>>2]|0}y=c[sa+16>>2]|0;switch(qc|0){case 0:{ms(y,4,rc,c[l>>2]|0)|0;break}case 1:{oc=rc<<2;L=c[n>>2]|0;u=(c[m>>2]|0)-L|0;pc=(oc|0)<(u|0)?oc:u;u=(pc|0)>0?pc:0;Os(y|0,(c[o>>2]|0)+L|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break}default:{}}u=c[sa+20>>2]|0;L=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{ms(u,4,L,c[l>>2]|0)|0;break G;break}case 1:{y=L<<2;L=c[n>>2]|0;pc=(c[m>>2]|0)-L|0;oc=(y|0)<(pc|0)?y:pc;pc=(oc|0)>0?oc:0;Os(u|0,(c[o>>2]|0)+L|0,pc|0)|0;c[n>>2]=pc+(c[n>>2]|0);break G;break}default:break G}}while(0);ta=ta+1|0;if((ta|0)>=(c[ac>>2]|0))break F}}while(0);J=c[C+(x*112|0)+96>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{ta=c[n>>2]|0;ra=(c[m>>2]|0)-ta|0;sa=(ra|0)<4?ra:4;ra=(sa|0)>0?sa:0;Os(g|0,(c[o>>2]|0)+ta|0,ra|0)|0;c[n>>2]=ra+ta;break}default:{}}ta=c[g>>2]|0;c[J>>2]=ta;Jm(J,ta);ta=c[J>>2]|0;H:do if(ta|0){ra=c[J+12>>2]|0;sa=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{ms(ra,sa,ta,c[l>>2]|0)|0;k=264;break}case 1:{pc=z(sa,ta)|0;sa=c[n>>2]|0;L=(c[m>>2]|0)-sa|0;u=(pc|0)<(L|0)?pc:L;L=(u|0)>0?u:0;Os(ra|0,(c[o>>2]|0)+sa|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=264;break}default:{sc=K;tc=ta}}if((k|0)==264){k=0;sc=c[e>>2]|0;tc=c[J>>2]|0}K=c[J+16>>2]|0;switch(sc|0){case 0:{ms(K,4,tc,c[l>>2]|0)|0;break}case 1:{L=tc<<2;sa=c[n>>2]|0;ra=(c[m>>2]|0)-sa|0;u=(L|0)<(ra|0)?L:ra;ra=(u|0)>0?u:0;Os(K|0,(c[o>>2]|0)+sa|0,ra|0)|0;c[n>>2]=ra+(c[n>>2]|0);break}default:{}}ra=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{ms(ra,4,sa,c[l>>2]|0)|0;break H;break}case 1:{K=sa<<2;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;L=(K|0)<(u|0)?K:u;u=(L|0)>0?L:0;Os(ra|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break H;break}default:break H}}while(0);x=x+1|0;if((x|0)==(Ka|0))break A}}while(0);rl(i,8,w)|0;k=396;break g}else{if((r|0)<1314476867){switch(r|0){case 1279348803:break;default:break o}x=Uk()|0;switch(c[e>>2]|0){case 0:{ms(x,1,768,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;J=(c[m>>2]|0)-pa|0;ta=(J|0)<768?J:768;J=(ta|0)>0?ta:0;Os(x|0,(c[o>>2]|0)+pa|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}rl(i,5,x)|0;k=396;break g}if((r|0)>=1413565763){switch(r|0){case 1413565763:break;default:break o}x=pm()|0;switch(c[e>>2]|0){case 0:{ms(x,96,1,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;ta=(pa|0)<96?pa:96;pa=(ta|0)>0?ta:0;Os(x|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+(c[n>>2]|0);break}default:{}}rl(i,7,x)|0;k=396;break g}switch(r|0){case 1314476867:break;default:break o}x=Um(0)|0;rl(i,11,x)|0;Fn(x,0,11032);c[g>>2]=0;pa=c[e>>2]|0;switch(pa|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;uc=c[e>>2]|0;k=326;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Os(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x>>2]=c[g>>2];c[g>>2]=0;vc=x;k=328;break}default:{uc=pa;k=326}}I:do if((k|0)==326){k=0;c[x>>2]=c[g>>2];c[g>>2]=0;switch(uc|0){case 1:{vc=x;k=328;break I;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;wc=c[e>>2]|0;break}default:wc=uc}c[x+4>>2]=c[g>>2];c[g>>2]=0;switch(wc|0){case 1:{xc=x;k=331;break I;break}case 0:break;default:{yc=wc;zc=0;Ac=x;break I}}ms(g,4,1,c[l>>2]|0)|0;Bc=c[e>>2]|0;Cc=x;k=332}while(0);if((k|0)==328){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Os(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;c[x+4>>2]=c[g>>2];c[g>>2]=0;xc=vc;k=331}if((k|0)==331){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Os(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;Bc=1;Cc=xc;k=332}if((k|0)==332){k=0;yc=Bc;zc=c[g>>2]|0;Ac=Cc}c[g>>2]=0;switch(yc|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Os(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{}}if(!zc)c[Ac>>2]=(c[Ac>>2]|0)/2|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Os(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{k=396;break g}}w=c[g>>2]|0;if((w|0)<=0){k=396;break g}pa=0;while(1){c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Dc=c[e>>2]|0;k=347;break}case 1:{ta=c[n>>2]|0;C=(c[m>>2]|0)-ta|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Os(g|0,(c[o>>2]|0)+ta|0,C|0)|0;c[n>>2]=C+ta;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;k=349;break}default:{Dc=J;k=347}}J:do if((k|0)==347){k=0;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;switch(Dc|0){case 1:{k=349;break J;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;Ec=c[e>>2]|0;break}default:Ec=Dc}c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;switch(Ec|0){case 1:{k=352;break J;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;Fc=c[e>>2]|0;break}default:Fc=Ec}c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;switch(Fc|0){case 1:{k=355;break J;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;Gc=c[e>>2]|0;break}default:Gc=Fc}c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;switch(Gc|0){case 1:{k=358;break J;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;Hc=c[e>>2]|0;break}default:Hc=Gc}J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;ta=x+8+(pa*344|0)+268|0;switch(Hc|0){case 1:{Ic=J;Jc=ta;k=361;break J;break}case 0:break;default:{Kc=Hc;break J}}ms(ta,1,J,c[l>>2]|0)|0;k=362}while(0);if((k|0)==349){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Os(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;k=352}if((k|0)==352){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Os(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;k=355}if((k|0)==355){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Os(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;k=358}if((k|0)==358){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Os(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;Ic=J;Jc=x+8+(pa*344|0)+268|0;k=361}if((k|0)==361){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(Ic|0)<(ta|0)?Ic:ta;ta=(C|0)>0?C:0;Os(Jc|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);k=362}if((k|0)==362){k=0;Kc=c[e>>2]|0}c[g>>2]=0;switch(Kc|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;k=367;break}case 1:{ta=c[n>>2]|0;J=(c[m>>2]|0)-ta|0;C=(J|0)<4?J:4;J=(C|0)>0?C:0;Os(g|0,(c[o>>2]|0)+ta|0,J|0)|0;c[n>>2]=J+ta;k=367;break}default:{}}K:do if((k|0)==367?(k=0,ta=c[g>>2]|0,(ta|0)>0):0){J=0;while(1){c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;Lc=c[e>>2]|0;k=372;break}case 1:{u=c[n>>2]|0;sa=(c[m>>2]|0)-u|0;ra=(sa|0)<4?sa:4;sa=(ra|0)>0?ra:0;Os(g|0,(c[o>>2]|0)+u|0,sa|0)|0;c[n>>2]=sa+u;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;k=374;break}default:{Lc=C;k=372}}L:do if((k|0)==372){k=0;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;switch(Lc|0){case 1:{k=374;break L;break}case 0:{ms(g,4,1,c[l>>2]|0)|0;Mc=c[e>>2]|0;break}default:Mc=Lc}c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;switch(Mc|0){case 1:{k=377;break L;break}case 0:break;default:break L}ms(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==374){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;Os(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C;c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;k=377}if((k|0)==377){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;Os(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C}c[x+8+(pa*344|0)+12+(J<<4)+12>>2]=c[g>>2];J=J+1|0;if((J|0)==(ta|0))break K}}while(0);pa=pa+1|0;if((pa|0)==(w|0)){k=396;break g}}}while(0);if((t|0)!=1279870563){Ok(52434);w=c[e>>2]|0;switch(w|0){case 0:{Tr(c[l>>2]|0,s,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+s;k=396;break g;break}default:{W=w;break g}}}w=(r|0)==1279870563;c[g>>2]=0;switch(c[e>>2]|0){case 0:{ms(g,4,1,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;x=(c[m>>2]|0)-pa|0;ta=(x|0)<4?x:4;x=(ta|0)>0?ta:0;Os(g|0,(c[o>>2]|0)+pa|0,x|0)|0;c[n>>2]=x+pa;break}default:{}}pa=c[g>>2]|0;x=In(pa)|0;rl(i,12,x)|0;ta=x+24|0;switch(c[e>>2]|0){case 0:{ms(ta,1,64,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;C=(c[m>>2]|0)-J|0;u=(C|0)<64?C:64;C=(u|0)>0?u:0;Os(ta|0,(c[o>>2]|0)+J|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);break}default:{}}a[x+87>>0]=0;C=c[x+12>>2]|0;M:do if(w)Ql(C,pa,e)|0;else switch(c[e>>2]|0){case 0:{ms(C,1,pa,c[l>>2]|0)|0;break M;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;u=(pa|0)<(ta|0)?pa:ta;ta=(u|0)>0?u:0;Os(C|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break M;break}default:break M}while(0);c[x+16>>2]=pa;k=396}while(0);if((k|0)==396){k=0;W=c[e>>2]|0}q=q+1|0;switch(W|0){case 0:{Nc=Lr(c[l>>2]|0)|0;break}case 1:{Nc=(c[n>>2]|0)>=(c[m>>2]|0)&1;break}default:Nc=0}if(Nc|0)break b}if((k|0)==9)break;switch(c[e>>2]|0){case 0:{Tr(c[l>>2]|0,-8,1)|0;break b;break}case 1:{c[n>>2]=(c[n>>2]|0)+-8;break b;break}default:break b}}while(0);if(c[i+16>>2]|0){h=i;Ca=d;return h|0}ql(i);h=0;Ca=d;return h|0}while(0);ql(i);h=0;Ca=d;return h|0}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=0;switch(c[d>>2]|0){case 0:{ms(f,4,1,c[d+8>>2]|0)|0;break}case 1:{g=d+20|0;h=c[g>>2]|0;i=(c[d+16>>2]|0)-h|0;j=(i|0)<4?i:4;i=(j|0)>0?j:0;Os(f|0,(c[d+12>>2]|0)+h|0,i|0)|0;c[g>>2]=i+h;break}default:{}}h=c[f>>2]|0;f=En(h)|0;switch(c[d>>2]|0){case 0:{ms(f,1,h,c[d+8>>2]|0)|0;k=Pn(f,a,h,b)|0;Ca=e;return k|0}case 1:{i=d+20|0;g=c[i>>2]|0;j=(c[d+16>>2]|0)-g|0;l=(h|0)<(j|0)?h:j;j=(l|0)>0?l:0;Os(f|0,(c[d+12>>2]|0)+g|0,j|0)|0;c[i>>2]=j+(c[i>>2]|0);k=Pn(f,a,h,b)|0;Ca=e;return k|0}default:{k=Pn(f,a,h,b)|0;Ca=e;return k|0}}return 0}function Rl(a){a=a|0;var b=0;switch(c[a>>2]|0){case 0:{b=Lr(c[a+8>>2]|0)|0;return b|0}case 1:{b=(c[a+20>>2]|0)>=(c[a+16>>2]|0)&1;return b|0}default:{b=0;return b|0}}return 0}function Sl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ca;Ca=Ca+16|0;d=b;e=Tl(a,52470)|0;if(e){f=Pl(0,e)|0;if(!(pp(e)|0)){if(!(c[e>>2]|0))Gr(c[e+8>>2]|0)|0;if(c[e+88>>2]|0)Hn(c[e+12>>2]|0);Hn(e);if(!(c[1052798]|0)){c[1052798]=(Vo()|0)+1e3;g=f}else g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=(g|0)==0?52473:52480;mq(3552704,52483,d)|0;Ok(3552704);Ca=b;return g|0}function Tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ca;Ca=Ca+48|0;f=e+40|0;g=e+24|0;h=e+8|0;i=e;if((ha(19)|0)!=1){j=op(b,d)|0;k=(j|0)!=0;if(k){c[i>>2]=b;c[i+4>>2]=d;os(52506,i)|0}i=a[d>>0]|0;if(i<<24>>24==119|k&i<<24>>24==114){l=j;Ca=e;return l|0}}j=En(92)|0;Fn(j,0,92);c[j>>2]=0;i=Ar(b,d)|0;c[j+8>>2]=i;if(i){i=(j|0)!=0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=i?52592:52473;os(52569,g)|0;if(i){l=j;Ca=e;return l|0}}else{Hn(j);c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=52473;os(52569,h)|0}h=op(b,d)|0;if(!h){l=0;Ca=e;return l|0}c[f>>2]=b;c[f+4>>2]=d;os(52599,f)|0;l=h;Ca=e;return l|0}function Ul(a){a=a|0;if(!a)return;if(pp(a)|0)return;if(!(c[a>>2]|0))Gr(c[a+8>>2]|0)|0;if(c[a+88>>2]|0)Hn(c[a+12>>2]|0);Hn(a);if(c[1052798]|0)return;c[1052798]=(Vo()|0)+1e3;return}function Vl(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,u=0,v=0,w=0;if(!f){g=0;return g|0}switch(c[f>>2]|0){case 0:{h=Lr(c[f+8>>2]|0)|0;i=5;break}case 1:{h=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;i=5;break}default:{}}if((i|0)==5?h|0:0){g=0;return g|0}a[b>>0]=0;switch(c[f>>2]|0){case 0:{j=ks(c[f+8>>2]|0)|0;i=10;break}case 1:{h=f+20|0;k=c[h>>2]|0;if((k|0)<(c[f+16>>2]|0)){c[h>>2]=k+1;j=d[(c[f+12>>2]|0)+k>>0]|0;i=10}else{l=0;i=11}break}default:{l=0;i=11}}if((i|0)==10){k=(j+256|0)%256|0;switch(k|0){case 10:case 13:case 255:{m=0;n=k;break}default:{l=k;i=11}}}a:do if((i|0)==11){a[b>>0]=l;switch(c[f>>2]|0){case 0:{o=Lr(c[f+8>>2]|0)|0;break}case 1:{o=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;break}default:o=0}k=e+-1|0;if((e|0)>2&(o|0)==0){j=f+8|0;h=f+20|0;p=f+16|0;q=f+12|0;r=1;while(1){switch(c[f>>2]|0){case 0:{s=ks(c[j>>2]|0)|0;i=20;break}case 1:{t=c[h>>2]|0;if((t|0)<(c[p>>2]|0)){c[h>>2]=t+1;s=d[(c[q>>2]|0)+t>>0]|0;i=20}else u=0;break}default:u=0}if((i|0)==20){i=0;switch(s|0){case 10:case 13:{m=r;n=s;break a;break}default:u=s}}a[b+r>>0]=u;t=r+1|0;switch(c[f>>2]|0){case 0:{v=Lr(c[j>>2]|0)|0;break}case 1:{v=(c[h>>2]|0)>=(c[p>>2]|0)&1;break}default:v=0}if((t|0)<(k|0)&(v|0)==0)r=t;else{m=t;n=u;break a}}}else{m=1;n=l}}while(0);a[b+m>>0]=0;if((n|0)!=13){g=b;return g|0}switch(c[f>>2]|0){case 0:{w=ks(c[f+8>>2]|0)|0;i=30;break}case 1:{n=f+20|0;m=c[n>>2]|0;if((m|0)<(c[f+16>>2]|0)){c[n>>2]=m+1;w=d[(c[f+12>>2]|0)+m>>0]|0;i=30}break}default:{g=b;return g|0}}if((i|0)==30){if((w|0)==10){g=b;return g|0}if((c[f>>2]|0)!=1){g=b;return g|0}}w=f+20|0;c[w>>2]=(c[w>>2]|0)+-1;g=b;return g|0}function Wl(a,b){a=a|0;b=b|0;var d=0;d=En(92)|0;Fn(d,0,92);c[d>>2]=1;c[d+12>>2]=a;c[d+16>>2]=b;return d|0}function Xl(){Fn(4211204,0,2240);c[1052802]=0;c[1052803]=0;c[1052804]=32;c[1052808]=256;c[1052809]=256;if(c[1053359]|0)c[1052808]=64;c[1052820]=1024;c[1052821]=-1;c[1052814]=0;c[1052822]=0;c[1052823]=0;c[1052824]=0;c[1052825]=0;c[1052815]=-1;c[1052816]=-1;c[1052817]=-1;c[1052834]=-1;c[1052835]=1;c[1052841]=0;c[1052810]=2;c[1052811]=10;c[1052813]=0;c[1052830]=1;c[1052842]=30;return}function Yl(b){b=b|0;var d=0,e=0,f=0,g=0;Hn(c[1053378]|0);d=En((Yq(b)|0)+1|0)|0;c[1053378]=d;Kk(d,b)|0;b=c[1053378]|0;a:while(1){d=a[b>>0]|0;switch(d<<24>>24){case 0:{break a;break}case 32:break;default:if(d<<24>>24>=32)break a}b=b+1|0}d=Yq(b)|0;if((d|0)<=0)return b|0;e=d;while(1){d=e;e=e+-1|0;f=b+e|0;if((a[f>>0]|0)>=33){g=9;break}a[f>>0]=0;if((d|0)<=1){g=9;break}}if((g|0)==9)return b|0;return 0}function Zl(){return}function _l(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=(c|0)==0?3563072:c;a[d>>0]=0;c=b;a:while(1){e=a[c>>0]|0;switch(e<<24>>24){case 32:{c=c+1|0;break}case 0:{f=13;break a;break}default:break a}}if((f|0)==13)return d|0;b=0;g=d;h=c;c=e;while(1){if(c<<24>>24>31){e=c<<24>>24==92?47:c<<24>>24;if((b|0)!=47|(e|0)!=47){a[g>>0]=e;i=g+1|0;a[i>>0]=0;j=e;k=i}else{j=47;k=g}}else{j=b;k=g}h=h+1|0;c=a[h>>0]|0;if(!(c<<24>>24))break;else{b=j;g=k}}if(k>>>0<=d>>>0)return d|0;g=k;b:while(1){k=g+-1|0;switch(a[k>>0]|0){case 47:{f=13;break b;break}case 32:break;default:{f=12;break b}}a[k>>0]=0;if(k>>>0>d>>>0)g=k;else{f=13;break}}if((f|0)==12){a[g>>0]=47;a[g+1>>0]=0;return d|0}else if((f|0)==13)return d|0;return 0}function $l(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Ca;Ca=Ca+1024|0;h=g;i=(c|0)!=0;if(i)a[c>>0]=0;j=(d|0)!=0;if(j)a[d>>0]=0;k=(e|0)!=0;if(k)a[e>>0]=0;Kk(h,b)|0;l=Yq(b)|0;b=h+l|0;a:do if((l|0)>0){m=b;while(1){if((a[m>>0]&-2)<<24>>24==46){n=m;break a}o=m+-1|0;if(o>>>0>h>>>0)m=o;else{n=o;break}}}else n=b;while(0);if(f){f=a[n>>0]|0;if(f<<24>>24==46){b=n+-1|0;b:do if(b>>>0>h>>>0){l=b;while(1){if((a[l>>0]|1)<<24>>24==47){p=l;break b}m=l+-1|0;if(m>>>0>h>>>0)l=m;else{p=m;break}}}else p=b;while(0);q=(a[p>>0]|0)==46?p:n;r=18}else{s=n;t=f;r=25}}else{q=n;r=18}c:do if((r|0)==18){n=a[q>>0]|0;if(n<<24>>24==46){if(k)Kk(e,q)|0;a[q>>0]=0;if(q>>>0>h>>>0){f=q;while(1){p=f+-1|0;b=a[p>>0]|0;if(p>>>0<=h>>>0){s=p;t=b;r=25;break c}if(b<<24>>24==47){u=p;r=26;break}else f=p}}else v=q}else{s=q;t=n;r=25}}while(0);if((r|0)==25)if(t<<24>>24==47){u=s;r=26}else v=s;if((r|0)==26)v=u+1|0;if(j)Kk(d,v)|0;if((v|0)==(h|0)){Ca=g;return}a[v>>0]=0;if(!i){Ca=g;return}Kk(c,h)|0;Ca=g;return}function am(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$l(a,b,c,d,0);return}function bm(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a[c>>0]=0;d=1;e=b;a:while(1){f=e;b:while(1){g=a[f>>0]|0;switch(g<<24>>24){case 0:case 92:case 47:{break b;break}default:{}}f=f+1|0}h=g<<24>>24==0;if((e|0)==(f|0)&h){i=6;break}a[f>>0]=0;c:do if(Oq(e,59070)|0){if(!((e|0)==(b|0)|(Oq(e,52634)|0)!=0)){j=(Yq(c)|0)+-1|0;if((j|0)<=0){k=d;i=20;break}a[c+j>>0]=0;l=j;while(1){j=c+l|0;switch(a[j>>0]|0){case 58:case 92:case 47:{k=d;i=20;break c;break}default:{}}a[j>>0]=0;if((l|0)>1)l=l+-1|0;else{k=d;i=20;break c}}}if(Oq(e,52637)|0){if((d|0)==0?(a[e>>0]|0)==0:0){k=0;i=20;break}gr(c,e)|0;if(h){i=18;break a}l=c+(Yq(c)|0)|0;a[l>>0]=47;a[l+1>>0]=0;a[f>>0]=g;m=0}else{k=d;i=20}}else{k=d;i=20}while(0);if((i|0)==20){i=0;a[f>>0]=g;if(h){i=22;break}else m=k}d=m;e=f+1|0}if((i|0)==6){if((e|0)!=(b|0))return;a[c>>0]=0;return}else if((i|0)==18){a[f>>0]=0;return}else if((i|0)==22)return}function cm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ca;Ca=Ca+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if(!b){h=0;Ca=d;return h|0}if(vn(e,f,g,b)|0){h=0;Ca=d;return h|0}b=c[f>>2]|0;i=c[g>>2]|0;if((i+-1|b+-1)>>>0>8191){h=0;Ca=d;return h|0}j=al(b,i,32)|0;i=j+12|0;Os(c[i>>2]|0,c[e>>2]|0,z(c[f>>2]<<2,c[g>>2]|0)|0)|0;b=z(c[g>>2]|0,c[f>>2]|0)|0;if(b|0){f=b;b=c[i>>2]|0;while(1){i=a[b>>0]|0;g=b+2|0;a[b>>0]=a[g>>0]|0;a[g>>0]=i;f=f+-1|0;if(!f)break;else b=b+4|0}}Hn(c[e>>2]|0);h=j;Ca=d;return h|0}function dm(a){a=a|0;var b=0,d=0;b=Tl(a,52470)|0;if(!b){d=0;return d|0}a=cm(b)|0;if(pp(b)|0){d=a;return d|0}if(!(c[b>>2]|0))Gr(c[b+8>>2]|0)|0;if(c[b+88>>2]|0)Hn(c[b+12>>2]|0);Hn(b);if(c[1052798]|0){d=a;return d|0}c[1052798]=(Vo()|0)+1e3;d=a;return d|0}function em(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=d+4|0;f=al(c[d>>2]|0,c[e>>2]|0,32)|0;g=d+8|0;h=c[g>>2]|0;if((h|0)==32){Nm(d,f,0,0,0,0,c[d>>2]|0,c[e>>2]|0);i=c[g>>2]|0}else i=h;if((i|0)==8)ll(d,f,c[1231623]|0);i=f+12|0;h=c[d>>2]|0;g=c[e>>2]|0;j=z(g,h)|0;if(!j){k=h;l=g;m=c[i>>2]|0;Cn(b,m,k,l,6,8)|0;bl(f)|0;return 0}g=c[i>>2]|0;h=j;while(1){j=a[g>>0]|0;n=g+2|0;a[g>>0]=a[n>>0]|0;a[n>>0]=j;h=h+-1|0;if(!h)break;else g=g+4|0}k=c[d>>2]|0;l=c[e>>2]|0;m=c[i>>2]|0;Cn(b,m,k,l,6,8)|0;bl(f)|0;return 0}function fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ca;Ca=Ca+1040|0;f=e+1024|0;g=e;Fn(g,0,1024);c[f>>2]=d;mq(g,b,f)|0;f=Yq(g)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+f;b=a+16|0;c[b>>2]=(c[b>>2]|0)+f;bs(g,1,f,c[a+8>>2]|0)|0;Ca=e;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Os((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}else{b=a+20|0;Jn(a,(c[b>>2]|0)+f|0)|0;Os((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}b=(c[h>>2]|0)+f|0;c[h>>2]=b;h=a+16|0;a=c[h>>2]|0;c[h>>2]=(a|0)>(b|0)?a:b;Ca=e;return 0}default:{Ca=e;return 0}}return 0}function gm(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,j=0,k=0;h=Ca;Ca=Ca+1040|0;i=h+1024|0;j=h;Fn(j,0,1024);c[i>>2]=d;c[i+4>>2]=e;c[i+8>>2]=f;c[i+12>>2]=g;mq(j,b,i)|0;i=Yq(j)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+i;b=a+16|0;c[b>>2]=(c[b>>2]|0)+i;bs(j,1,i,c[a+8>>2]|0)|0;Ca=h;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Os((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}else{b=a+20|0;Jn(a,(c[b>>2]|0)+i|0)|0;Os((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}b=(c[k>>2]|0)+i|0;c[k>>2]=b;k=a+16|0;a=c[k>>2]|0;c[k>>2]=(a|0)>(b|0)?a:b;Ca=h;return 0}default:{Ca=h;return 0}}return 0}function hm(a){a=a|0;var b=0,c=0,d=0,e=0;b=Ar(a,52470)|0;if(!b){c=0;return c|0}a=In(1024)|0;d=En(65536)|0;if(!(Lr(b)|0))do{e=ms(d,1,65536,b)|0;Ll(d,1,e,a)|0}while((e|0)!=0&(Lr(b)|0)==0);Hn(d);Gr(b)|0;c=a;return c|0}function im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ar(a,52470)|0;if(!c){d=1;return d|0}a=Ar(b,58993)|0;if(!a){Gr(c)|0;d=2;return d|0}b=En(65536)|0;if(!(Lr(c)|0))do{e=ms(b,1,65536,c)|0;bs(b,1,e,a)|0}while((e|0)!=0&(Lr(c)|0)==0);Hn(b);Gr(c)|0;Gr(a)|0;d=0;return d|0}function jm(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ca;Ca=Ca+16|0;g=e+8|0;h=e;i=a+24|0;if(((c[i>>2]|0)>0?(j=a+28|0,(c[j>>2]|0)==0):0)?(k=a+8|0,l=En(c[k>>2]<<5)|0,c[j>>2]=l,j=c[k>>2]|0,(j|0)>0):0){k=0;do{b[l+(k<<5)>>1]=0;b[l+(k<<5)+2>>1]=0;f[l+(k<<5)+4>>2]=1.0;k=k+1|0}while((k|0)<(j|0))}j=a+8|0;k=c[j>>2]|0;if((k|0)>=(d|0)){Ca=e;return}l=(k+1|0)==(d|0)?(d*5|0)/4|0:d;d=Gn(c[a>>2]|0,l*12|0)|0;c[a>>2]=d;if(!d){c[h>>2]=52662;mq(3552704,52639,h)|0;Ok(3552704)}if((c[i>>2]|0)>0){i=a+28|0;a=Gn(c[i>>2]|0,l<<5)|0;c[i>>2]=a;if(!a){c[g>>2]=52688;mq(3552704,52639,g)|0;Ok(3552704)}g=c[j>>2]|0;if((g|0)<(l|0)){a=c[i>>2]|0;i=g;do{b[a+(i<<5)>>1]=0;b[a+(i<<5)+2>>1]=0;f[a+(i<<5)+4>>2]=1.0;i=i+1|0}while((i|0)!=(l|0))}}c[j>>2]=l;Ca=e;return}function km(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Ca;Ca=Ca+16|0;g=e;h=a+20|0;i=c[h>>2]|0;if((i|0)>=(d|0)){Ca=e;return}j=(i+1|0)==(d|0)?(d*5|0)/4|0:d;d=a+12|0;i=Gn(c[d>>2]|0,j*80|0)|0;c[d>>2]=i;if(!i){c[g>>2]=52719;mq(3552704,52639,g)|0;Ok(3552704)}g=c[a+16>>2]|0;if((g|0)>0){a=c[d>>2]|0;i=0;do{if((b[a+(i*80|0)+56>>1]|0)<5){c[a+(i*80|0)+48>>2]=a+(i*80|0);c[a+(i*80|0)+52>>2]=a+(i*80|0)+16}i=i+1|0}while((i|0)<(g|0))}g=c[h>>2]|0;if((g|0)<(j|0)){i=c[d>>2]|0;d=g;do{f[i+(d*80|0)+64>>2]=0.0;f[i+(d*80|0)+60>>2]=0.0;f[i+(d*80|0)+68>>2]=1.0;b[i+(d*80|0)+72>>1]=0;b[i+(d*80|0)+74>>1]=0;g=i+(d*80|0)+56|0;a=i+(d*80|0)|0;c[i+(d*80|0)+48>>2]=a;c[i+(d*80|0)+52>>2]=i+(d*80|0)+16;b[i+(d*80|0)+58>>1]=4;k=a;a=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(a|0));b[g>>1]=4;d=d+1|0}while((d|0)!=(j|0))}c[h>>2]=j;Ca=e;return}function lm(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d&1)+d|0;g=a+58|0;h=b[g>>1]|0;if((e|0)>4&(e|0)>(h<<16>>16|0)){i=a+48|0;if(h<<16>>16<5){c[i>>2]=0;h=a+52|0;c[h>>2]=0;j=i;k=h;l=0}else{j=i;k=a+52|0;l=c[i>>2]|0}c[j>>2]=Gn(l,e<<2)|0;c[k>>2]=Gn(c[k>>2]|0,e<<3)|0;if((b[g>>1]|0)<5){l=a+56|0;Os(c[j>>2]|0,a|0,b[l>>1]<<2|0)|0;Os(c[k>>2]|0,a+16|0,b[l>>1]<<3|0)|0}b[g>>1]=e}e=a+56|0;g=b[e>>1]|0;if((g|0)>=(d|0)){m=d&65535;b[e>>1]=m;return}l=c[a+48>>2]|0;k=c[a+52>>2]|0;a=g;do{c[l+(a<<2)>>2]=0;f[k+(a<<3)+4>>2]=0.0;f[k+(a<<3)>>2]=0.0;a=a+1|0}while((a|0)!=(d|0));m=d&65535;b[e>>1]=m;return}function mm(){var a=0,b=0,d=0;a=En(52)|0;b=a;d=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[1052640]=(c[1052640]|0)+1;return a|0}function nm(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+12|0;g=0;h=e;while(1){e=c[f>>2]|0;if((b[e+(g*80|0)+58>>1]|0)>4){Hn(c[e+(g*80|0)+48>>2]|0);Hn(c[(c[f>>2]|0)+(g*80|0)+52>>2]|0);i=c[d>>2]|0}else i=h;g=g+1|0;if((g|0)>=(i|0))break;else h=i}}i=c[a>>2]|0;if(i|0)Hn(i);i=c[a+32>>2]|0;if(i|0)Hn(i);i=c[a+12>>2]|0;if(i|0)Hn(i);i=c[a+28>>2]|0;if(i|0)Hn(i);i=c[a+48>>2]|0;if(i|0)Hn(i);i=c[a+36>>2]|0;if(i|0)Hn(i);i=c[a+40>>2]|0;if(i|0)Hn(i);Hn(a);c[1052640]=(c[1052640]|0)+-1;return}function om(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ca;Ca=Ca+32|0;e=d+12|0;g=d;h=a+16|0;i=c[h>>2]|0;if((i|0)<=0){Ca=d;return}j=a+12|0;k=e+4|0;l=e+8|0;m=g+4|0;n=g+8|0;o=0;p=i;while(1){i=c[j>>2]|0;if((b[i+(o*80|0)+56>>1]|0)>2){q=c[a>>2]|0;r=c[i+(o*80|0)+48>>2]|0;s=c[r+4>>2]|0;t=q+(s*12|0)|0;u=c[r>>2]|0;f[e>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];v=q+(s*12|0)+4|0;f[k>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];w=q+(s*12|0)+8|0;f[l>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=c[r+8>>2]|0;f[g>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];f[m>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];f[n>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=i+(o*80|0)+60|0;wm(e,g,u);vm(u);x=c[h>>2]|0}else{f[i+(o*80|0)+60>>2]=0.0;f[i+(o*80|0)+64>>2]=1.0;f[i+(o*80|0)+68>>2]=0.0;x=p}o=o+1|0;if((o|0)>=(x|0))break;else p=x}Ca=d;return}function pm(){var a=0,b=0,d=0,e=0,f=0;a=En(96)|0;if(!a){b=0;return b|0}d=a+32|0;e=a;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=-13408615;c[a+36>>2]=-10461088;c[1052640]=(c[1052640]|0)+1;b=a;return b|0}function qm(a){a=a|0;if(!a)return;Hn(a);c[1052640]=(c[1052640]|0)+-1;return}function rm(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;b=a+44|0;c[b>>2]=0;d=a+24|0;e=c[d>>2]|0;f=a+36|0;g=c[f>>2]|0;if(!e){Hn(g);c[f>>2]=0;h=a+40|0;Hn(c[h>>2]|0);c[h>>2]=0;return}c[f>>2]=Gn(g,e<<2)|0;e=a+40|0;g=Gn(c[e>>2]|0,c[d>>2]<<2)|0;c[e>>2]=g;e=c[d>>2]|0;if((e|0)>0){h=c[f>>2]|0;i=a+12|0;a=0;do{j=h+(a<<2)|0;c[j>>2]=-1;k=c[d>>2]|0;if((k|0)>0){l=c[i>>2]|0;m=c[l+(a*80|0)+48>>2]|0;n=0;o=k;while(1){if((c[m>>2]|0)==(c[(c[l+(n*80|0)+48>>2]|0)+4>>2]|0)){c[j>>2]=n;p=c[d>>2]|0}else p=o;n=n+1|0;if((n|0)>=(p|0)){q=p;break}else o=p}}else q=k;a=a+1|0}while((a|0)<(q|0));c[b>>2]=(q<<4)+16;if((q|0)>0){a=0;do{c[g+(a<<2)>>2]=32768;a=a+1|0;p=c[d>>2]|0}while((a|0)<(p|0));r=p}else r=q}else{c[b>>2]=(e<<4)+16;r=e}e=0;b=r;while(1){if((b|0)<=0){s=24;break}r=0;q=e;a=0;p=b;while(1){i=g+(a<<2)|0;do if(!(c[i>>2]&32768)){t=r;u=q;v=p}else{h=c[(c[f>>2]|0)+(a<<2)>>2]|0;if((h|0)!=-1?c[g+(h<<2)>>2]&32768|0:0){t=r;u=q;v=p;break}h=g+(q<<2)|0;c[h>>2]=c[h>>2]|a;c[i>>2]=c[i>>2]&32767;t=1;u=q+1|0;v=c[d>>2]|0}while(0);a=a+1|0;if((a|0)>=(v|0))break;else{r=t;q=u;p=v}}if(!t){s=24;break}else{e=u;b=v}}if((s|0)==24)return}function sm(a){a=a|0;om(a);rm(a);Lm(a,0);return}function tm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){c=z(a>>31|1,2147483647)|0;return c|0}else{d=Js(a|0,((a|0)<0)<<31>>31|0,16)|0;a=Es(d|0,D()|0,b|0,((b|0)<0)<<31>>31|0)|0;b=D()|0;d=(b|0)>-1|(b|0)==-1&a>>>0>2147483649;e=d?a:-2147483647;a=d?b:-1;b=(a|0)<0|(a|0)==0&e>>>0<2147483647;a=b?e:2147483647;c=a;return c|0}return 0}function um(a,b){a=a|0;b=b|0;var c=0;c=Gs(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Is(c|0,D()|0,16)|0;D()|0;return a|0}function vm(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,g=0.0,h=0.0,i=0.0,j=0.0;b=+f[a>>2];c=a+4|0;d=+f[c>>2];e=a+8|0;g=+f[e>>2];h=+u(+(b*b+d*d+g*g));if(h==0.0){f[a>>2]=0.0;f[c>>2]=1.0;i=0.0;f[e>>2]=i;return}else{j=1.0/h;f[a>>2]=b*j;f[c>>2]=d*j;i=g*j;f[e>>2]=i;return}}function wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=a+4|0;e=b+8|0;g=a+8|0;h=b+4|0;f[c>>2]=+f[d>>2]*+f[e>>2]-+f[g>>2]*+f[h>>2];f[c+4>>2]=+f[g>>2]*+f[b>>2]-+f[a>>2]*+f[e>>2];f[c+8>>2]=+f[a>>2]*+f[h>>2]-+f[d>>2]*+f[b>>2];return}function xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;d=+f[a>>2];e=+f[a+12>>2];g=+f[a+24>>2];h=1.0/(d*d+e*e+g*g);i=+f[a+4>>2]*h;j=+f[a+8>>2]*h;k=+f[a+16>>2]*h;l=+f[a+20>>2]*h;m=+f[a+28>>2]*h;n=+f[a+32>>2]*h;o=+f[b>>2]-+f[a+36>>2];p=+f[b+4>>2]-+f[a+40>>2];q=+f[b+8>>2]-+f[a+44>>2];f[c>>2]=d*h*o+e*h*p+g*h*q;f[c+4>>2]=i*o+k*p+m*q;f[c+8>>2]=j*o+l*p+n*q;return}function ym(){var a=0,b=0,d=0;a=c[8392]|0;b=c[8393]|0;d=(a<<16|a>>>16)+b|0;c[8392]=d;c[8393]=d+b;return d|0}function zm(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8393]=b;c[8392]=b^-1095947846;return}function Am(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[8392]|0;e=c[8393]|0;f=(d<<16|d>>>16)+e|0;c[8392]=f;c[8393]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function Bm(a){a=a|0;var b=0,d=0;b=(a+2|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[2592+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[2592+(a<<2)>>2]|0;return d|0}return 0}function Cm(a){a=a|0;var b=0,d=0;b=(a+16386|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[2592+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[2592+(a<<2)>>2]|0;return d|0}return 0}function Dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=0-b|0;if(!a)e=z(d>>31|1,2147483647)|0;else{b=Js(d|0,((d|0)<0)<<31>>31|0,16)|0;d=Es(b|0,D()|0,a|0,((a|0)<0)<<31>>31|0)|0;b=D()|0;f=(b|0)>-1|(b|0)==-1&d>>>0>2147483649;g=f?d:-2147483647;d=f?b:-1;b=(d|0)<0|(d|0)==0&g>>>0<2147483647;d=b?g:2147483647;e=d}d=(e|0)<0?0-e|0:e;if((d|0)>65536){g=Es(0,1,d|0,((d|0)<0)<<31>>31|0)|0;b=D()|0;f=(b|0)>-1|(b|0)==-1&g>>>0>2147483649;h=f?g:-2147483647;g=f?b:-1;b=(g|0)<0|(g|0)==0&h>>>0<2147483647;g=b?h:2147483647;i=0;j=g}else{i=1;j=d}d=j>>5;j=(d|0)<2048?d:2048;d=c[18992+(((j|0)>0?j:0)<<2)>>2]|0;j=z(i?d:16384-d|0,e>>31|1)|0;return ((a|0)<0?j+32768|0:j)&65535|0}function Em(){var a=0;a=En(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[1052640]=(c[1052640]|0)+1;return a|0}function Fm(a){a=a|0;var b=0;if(!a)return;if((c[a>>2]|0)>0){b=0;do{Gm(a,b);b=b+1|0}while((b|0)<(c[a>>2]|0))}Hn(c[a+4>>2]|0);c[1052640]=(c[1052640]|0)+-1;return}function Gm(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;if((a|0)==0|(b|0)<0)return;if((c[a>>2]|0)<=(b|0))return;d=a+4|0;a=c[d>>2]|0;e=c[a+(b*112|0)+80>>2]|0;if(!e)f=a;else{Hn(c[e+12>>2]|0);Hn(c[e+16>>2]|0);Hn(c[e+20>>2]|0);Hn(e);f=c[d>>2]|0}e=c[f+(b*112|0)+84>>2]|0;if(!e)g=f;else{Hn(c[e+12>>2]|0);Hn(c[e+16>>2]|0);Hn(c[e+20>>2]|0);Hn(e);g=c[d>>2]|0}e=c[g+(b*112|0)+88>>2]|0;if(!e)h=g;else{Hn(c[e+12>>2]|0);Hn(c[e+16>>2]|0);Hn(c[e+20>>2]|0);Hn(e);h=c[d>>2]|0}e=c[h+(b*112|0)+96>>2]|0;if(!e)i=h;else{Hn(c[e+12>>2]|0);Hn(c[e+16>>2]|0);Hn(c[e+20>>2]|0);Hn(e);i=c[d>>2]|0}e=c[i+(b*112|0)+92>>2]|0;if((c[i+(b*112|0)+104>>2]|0)>0){h=0;g=e;f=i;while(1){i=c[g+(h<<2)>>2]|0;if(!i)j=f;else{Hn(c[i+12>>2]|0);Hn(c[i+16>>2]|0);Hn(c[i+20>>2]|0);Hn(i);j=c[d>>2]|0}h=h+1|0;i=c[j+(b*112|0)+92>>2]|0;if((h|0)>=(c[j+(b*112|0)+104>>2]|0)){k=i;break}else{g=i;f=j}}}else k=e;Hn(k);return}function Hm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ca;Ca=Ca+16|0;e=d;f=(c[b>>2]|0)+1|0;c[b>>2]=f;g=b+4|0;h=Gn(c[g>>2]|0,f*112|0)|0;c[g>>2]=h;g=(c[b>>2]|0)+-1|0;c[e>>2]=g;mq(h+(g*112|0)|0,52743,e)|0;a[h+(g*112|0)+32>>0]=0;e=h+(g*112|0)+64|0;c[e>>2]=-1;c[e+4>>2]=-1;c[e+8>>2]=-1;c[e+12>>2]=-1;c[h+(g*112|0)+104>>2]=0;c[h+(g*112|0)+100>>2]=0;c[h+(g*112|0)+108>>2]=0;e=En(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+80>>2]=e;e=En(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+84>>2]=e;e=En(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+88>>2]=e;e=En(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=24;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+96>>2]=e;c[h+(g*112|0)+92>>2]=0;Ca=d;return (c[b>>2]|0)+-1|0}function Im(a){a=a|0;var b=0;b=En(24)|0;c[b+4>>2]=0;c[b>>2]=0;c[b+8>>2]=a;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=0;return b|0}function Jm(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if((c[d>>2]|0)>=(b|0)){c[a>>2]=b;return}c[d>>2]=b;d=a+12|0;c[d>>2]=Gn(c[d>>2]|0,z(c[a+8>>2]|0,b)|0)|0;d=a+16|0;e=b<<2;c[d>>2]=Gn(c[d>>2]|0,e)|0;d=a+20|0;c[d>>2]=Gn(c[d>>2]|0,e)|0;c[a>>2]=b;return}function Km(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0;d=a+24|0;e=c[d>>2]|0;g=e<<2;h=b+(g<<2)|0;i=b+((g|3)<<2)|0;if(!e)return;g=a+48|0;j=Gn(c[g>>2]|0,e*48|0)|0;c[g>>2]=j;e=c[d>>2]|0;if((e|0)>0){k=a+36|0;l=0;m=b;b=j;while(1){n=+f[m>>2];o=+w(+n);p=+f[m+4>>2];q=+w(+p);r=+f[m+8>>2];s=+w(+r);t=+v(+n);n=+v(+p);p=+v(+r);u=b+(l*48|0)|0;f[b+(l*48|0)+4>>2]=q;f[u>>2]=t*n;f[b+(l*48|0)+8>>2]=o*n;x=b+(l*48|0)+12|0;r=n*0.0-q*s;f[b+(l*48|0)+16>>2]=q*0.0+n*s;f[x>>2]=r*t-o*p;f[b+(l*48|0)+20>>2]=t*p+r*o;wm(u,x,b+(l*48|0)+24|0);x=m+12|0;b=c[g>>2]|0;u=b+(l*48|0)|0;f[u>>2]=+f[x>>2]*+f[u>>2];u=b+(l*48|0)+4|0;f[u>>2]=+f[x>>2]*+f[u>>2];u=b+(l*48|0)+8|0;f[u>>2]=+f[x>>2]*+f[u>>2];u=b+(l*48|0)+12|0;f[u>>2]=+f[x>>2]*+f[u>>2];u=b+(l*48|0)+16|0;f[u>>2]=+f[x>>2]*+f[u>>2];u=b+(l*48|0)+20|0;f[u>>2]=+f[x>>2]*+f[u>>2];u=b+(l*48|0)+24|0;f[u>>2]=+f[x>>2]*+f[u>>2];u=b+(l*48|0)+28|0;f[u>>2]=+f[x>>2]*+f[u>>2];u=b+(l*48|0)+32|0;f[u>>2]=+f[x>>2]*+f[u>>2];u=b+(l*48|0)+12|0;x=c[u>>2]|0;y=b+(l*48|0)+4|0;c[u>>2]=c[y>>2];c[y>>2]=x;x=b+(l*48|0)+24|0;y=c[x>>2]|0;u=b+(l*48|0)+8|0;c[x>>2]=c[u>>2];c[u>>2]=y;y=b+(l*48|0)+28|0;u=c[y>>2]|0;x=b+(l*48|0)+20|0;c[y>>2]=c[x>>2];c[x>>2]=u;if((c[(c[k>>2]|0)+(l<<2)>>2]|0)==-1){f[b+(l*48|0)+36>>2]=0.0;f[b+(l*48|0)+40>>2]=0.0;f[b+(l*48|0)+44>>2]=0.0}l=l+1|0;z=c[d>>2]|0;if((l|0)>=(z|0))break;else m=m+16|0}m=(z|0)>0;if(m){l=c[a+40>>2]|0;d=c[a+36>>2]|0;a=0;do{k=c[l+(a<<2)>>2]|0;g=c[d+(k<<2)>>2]|0;if((g|0)!=-1){f[b+(k*48|0)+36>>2]=+f[b+(g*48|0)+36>>2]+ +f[b+(g*48|0)>>2];f[b+(k*48|0)+40>>2]=+f[b+(g*48|0)+40>>2]+ +f[b+(g*48|0)+12>>2];f[b+(k*48|0)+44>>2]=+f[b+(g*48|0)+44>>2]+ +f[b+(g*48|0)+24>>2]}a=a+1|0}while((a|0)!=(z|0));A=z;B=b;C=m}else{A=z;B=b;C=0}}else{A=e;B=j;C=0}j=c[i>>2]|0;i=(j|0)<0;e=i?0-j|0:j;o=+f[B+(e*48|0)+36>>2];r=+f[B+(e*48|0)+40>>2];p=+f[B+(e*48|0)+44>>2];if(i){D=o+ +f[B+(e*48|0)>>2];E=r+ +f[B+(e*48|0)+12>>2];F=p+ +f[B+(e*48|0)+24>>2]}else{D=o;E=r;F=p}p=+f[h>>2]-D;D=+f[h+4>>2]-E;E=+f[h+8>>2]-F;if(!C)return;C=0;do{h=B+(C*48|0)+36|0;f[h>>2]=p+ +f[h>>2];h=B+(C*48|0)+40|0;f[h>>2]=D+ +f[h>>2];h=B+(C*48|0)+44|0;f[h>>2]=E+ +f[h>>2];C=C+1|0}while((C|0)!=(A|0));return}function Lm(a,b){a=a|0;b=b|0;var d=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,v=0,w=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;d=Ca;Ca=Ca+16|0;g=d;if(!a){Ca=d;return}h=a+24|0;i=a+28|0;j=c[i>>2]|0;if(!(c[h>>2]|0)){Hn(j);c[i>>2]=0;Ca=d;return}k=a+4|0;c[i>>2]=Gn(j,c[k>>2]<<5)|0;j=a+44|0;l=En(c[j>>2]|0)|0;if((c[h>>2]|0)>0){m=a+12|0;n=g+4|0;o=g+8|0;p=a+36|0;q=0;r=0;while(1){s=c[a>>2]|0;t=c[(c[m>>2]|0)+(r*80|0)+48>>2]|0;v=c[t+4>>2]|0;w=c[t>>2]|0;z=+f[s+(v*12|0)>>2]-+f[s+(w*12|0)>>2];f[g>>2]=z;A=+f[s+(v*12|0)+4>>2]-+f[s+(w*12|0)+4>>2];f[n>>2]=A;B=+f[s+(v*12|0)+8>>2]-+f[s+(w*12|0)+8>>2];f[o>>2]=B;f[l+((q|3)<<2)>>2]=+u(+(z*z+A*A+B*B));vm(g);B=+f[g>>2];A=+f[o>>2];z=+u(+(B*B+A*A));C=+y(+A,+B);w=l+(q<<2)|0;f[w>>2]=C;B=+f[n>>2];if(z==0.0)D=B>=0.0?1.5707963267948966:-1.5707963267948966;else D=+x(+(B/z));z=D;s=l+((q|1)<<2)|0;f[s>>2]=z;f[l+((q|2)<<2)>>2]=0.0;if(+f[o>>2]<0.0){f[w>>2]=C+3.141592653589793;f[s>>2]=(1.5707963267948966-(z<0.0?-z:z))*2.0*(+f[n>>2]>=0.0?1.0:-1.0)+z}if((c[(c[p>>2]|0)+(r<<2)>>2]|0)==-1){s=c[h>>2]<<2;w=l+(s<<2)|0;v=c[a>>2]|0;t=c[c[(c[m>>2]|0)+(r*80|0)+48>>2]>>2]|0;c[w>>2]=c[v+(t*12|0)>>2];c[w+4>>2]=c[v+(t*12|0)+4>>2];c[w+8>>2]=c[v+(t*12|0)+8>>2];c[l+((s|3)<<2)>>2]=r}r=r+1|0;if((r|0)>=(c[h>>2]|0))break;else q=q+4|0}}if(b|0){Os(b|0,l|0,c[j>>2]|0)|0;Hn(l);Ca=d;return}Km(a,l);if((c[k>>2]|0)>0){j=a+48|0;b=0;do{q=c[i>>2]|0;xm((c[j>>2]|0)+((e[q+(b<<5)>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+8|0);q=c[i>>2]|0;xm((c[j>>2]|0)+((e[q+(b<<5)+2>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+20|0);b=b+1|0}while((b|0)<(c[k>>2]|0))}Hn(l);Ca=d;return}function Mm(){var a=0,b=0;a=c[1052832]|0;b=(a|0)<8?a:8;return ((b|0)<1?1:(b|0)>0?b:0)|0}function Nm(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;k=Ca;Ca=Ca+32|0;l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;if(!((a|0)!=0&(b|0)!=0)){Ca=k;return}j=b+8|0;i=a+8|0;if(4926440==(a|0)?1:(c[j>>2]|0)<(c[i>>2]|0)){Ca=k;return}dl(a,b,l,m,n,o,p,q);h=c[p>>2]|0;if((h|0)<1){Ca=k;return}g=c[j>>2]|0;j=g>>3;if(4926440==(b|0)){f=c[1052832]|0;e=(f|0)<8?f:8;f=(e|0)<1?1:(e|0)>0?e:0;if((f|0)<=1){Uo(a,b,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,h,c[q>>2]|0,0);Ca=k;return}e=c[1053379]|0;if(((e|0)!=0?(r=c[e>>2]|0,(r|0)==(z(c[a>>2]|0,f)|0)):0)?(s=c[e+4>>2]|0,(s|0)==(z(c[a+4>>2]|0,f)|0)):0){t=e;u=r;v=s}else{w=a;x=10}if((x|0)==10){bl(e)|0;e=z(c[w>>2]|0,f)|0;w=z(c[a+4>>2]|0,f)|0;f=al(e,w,c[i>>2]|0)|0;c[1053379]=f;t=f;u=c[f>>2]|0;v=c[f+4>>2]|0}gl(a,t,0,0,u,v,0);v=c[1053379]|0;Uo(v,b,0,0,0,0,c[v>>2]|0,c[v+4>>2]|0,0);Ca=k;return}v=c[i>>2]|0;if((g|0)==(v|0)){if((c[q>>2]|0)<=0){Ca=k;return}i=b+16|0;u=a+16|0;t=0;f=h;while(1){w=(c[(c[i>>2]|0)+((c[o>>2]|0)+t<<2)>>2]|0)+(z(c[n>>2]|0,j)|0)|0;Os(w|0,(c[(c[u>>2]|0)+((c[m>>2]|0)+t<<2)>>2]|0)+(z(c[l>>2]|0,j)|0)|0,z(f,j)|0)|0;w=t+1|0;if((w|0)>=(c[q>>2]|0))break;t=w;f=c[p>>2]|0}Ca=k;return}if(!((g|0)==32&(v|0)==8)){Ca=k;return}v=c[1231623]|0;g=c[q>>2]|0;if((g|0)<=0){Ca=k;return}f=a+16|0;a=b+16|0;b=0;t=g;g=h;while(1){if((g|0)>0){h=c[f>>2]|0;j=c[a>>2]|0;u=0;do{i=d[(c[h+((c[m>>2]|0)+b<<2)>>2]|0)+((c[l>>2]|0)+u)>>0]|0;c[(c[j+((c[o>>2]|0)+b<<2)>>2]|0)+((c[n>>2]|0)+u<<2)>>2]=(d[v+(i*3|0)>>0]|0)<<16|(d[v+(i*3|0)+1>>0]|0)<<8|(d[v+(i*3|0)+2>>0]|0)|-16777216;u=u+1|0;y=c[p>>2]|0}while((u|0)<(y|0));A=c[q>>2]|0;B=y}else{A=t;B=g}b=b+1|0;if((b|0)>=(A|0))break;else{t=A;g=B}}Ca=k;return}function Om(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;if((j|0)<=0)return;k=b+16|0;b=d+16|0;if(!i)return;d=0;do{l=(c[(c[k>>2]|0)+(d+f<<2)>>2]|0)+e|0;m=i;n=(c[(c[b>>2]|0)+(d+h<<2)>>2]|0)+g|0;while(1){o=a[l>>0]|0;if(o<<24>>24)a[n>>0]=o;m=m+-1|0;if(!m)break;else{l=l+1|0;n=n+1|0}}d=d+1|0}while((d|0)!=(j|0));return}function Pm(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;var j=0,k=0,l=0,m=0,n=0,o=0;if((i|0)<=0)return;j=a+16|0;a=b+16|0;if((h|0)<=0)return;b=0;do{k=(c[(c[j>>2]|0)+(b+e<<2)>>2]|0)+(d<<2)|0;l=0;m=(c[(c[a>>2]|0)+(b+g<<2)>>2]|0)+(f<<2)|0;while(1){n=c[k>>2]|0;o=hl(c[m>>2]|0,n,n>>>24)|0;c[m>>2]=c[m>>2]&-16777216|o;l=l+1|0;if((l|0)==(h|0))break;else{k=k+4|0;m=m+4|0}}b=b+1|0}while((b|0)!=(i|0));return}function Qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a>>2]|0;e=a+8|0;do if((d|0)>0){f=c[e>>2]|0;if(!(Oq(b,c[f+(d+-1<<2)>>2]|0)|0))return;else{g=e;h=f;break}}else{g=e;h=c[e>>2]|0}while(0);c[g>>2]=Gn(h,(d<<2)+4|0)|0;d=En((Yq(b)|0)+1|0)|0;h=c[a>>2]|0;c[(c[e>>2]|0)+(h<<2)>>2]=d;Kk(c[(c[e>>2]|0)+(h<<2)>>2]|0,b)|0;b=a+16|0;h=Gn(c[b>>2]|0,(c[a>>2]<<2)+4|0)|0;c[b>>2]=h;c[h+(c[a>>2]<<2)>>2]=c[a+4>>2];c[a>>2]=(c[a>>2]|0)+1;return}function Rm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;d=c[b>>2]|0;if((c[a>>2]|0)>0){e=0;f=d;while(1){Hn(c[f+(e<<2)>>2]|0);e=e+1|0;g=c[b>>2]|0;if((e|0)>=(c[a>>2]|0)){h=g;break}else f=g}}else h=d;Hn(h);Hn(c[a+16>>2]|0);h=a+4|0;d=a+12|0;a=c[d>>2]|0;if((c[h>>2]|0)<=0){i=a;Hn(i);j=c[1052640]|0;k=j+-1|0;c[1052640]=k;return}f=0;e=a;while(1){Hn(c[e+(f<<2)>>2]|0);f=f+1|0;a=c[d>>2]|0;if((f|0)>=(c[h>>2]|0)){i=a;break}else e=a}Hn(i);j=c[1052640]|0;k=j+-1|0;c[1052640]=k;return}function Sm(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=c[a>>2]|0;a:do if((e|0)>0){f=c[a+8>>2]|0;g=0;while(1){if(!(Oq(b,c[f+(g<<2)>>2]|0)|0)){h=g;break a}i=g+1|0;if((i|0)<(e|0))g=i;else{h=i;break}}}else h=0;while(0);if((h|0)==(e|0)){j=33576;k=c[j>>2]|0;return k|0}b=c[a+16>>2]|0;g=(c[b+(h<<2)>>2]|0)+d|0;if((g|0)>=(c[a+4>>2]|0)){j=33576;k=c[j>>2]|0;return k|0}if((h|0)<(e+-1|0)?(g|0)>=(c[b+(h+1<<2)>>2]|0):0){j=33576;k=c[j>>2]|0;return k|0}j=(c[a+12>>2]|0)+(g<<2)|0;k=c[j>>2]|0;return k|0}function Tm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ca;Ca=Ca+2048|0;e=d+1024|0;f=d;g=Tl(b,58830)|0;if(!g){h=0;Ca=d;return h|0}b=En(24)|0;Fn(b,0,24);a:do if(!(Rl(g)|0)){i=b+12|0;j=b+4|0;while(1){a[e>>0]=0;Vl(e,1023,g)|0;k=a[e>>0]|0;b:do switch(k<<24>>24){case 0:case 47:break;default:{l=e;m=k;while(1){n=m<<24>>24;switch(m<<24>>24){case 47:case 0:{break b;break}default:{}}if(m<<24>>24==95|((n+-48|0)>>>0<10|((n&-33)+-65|0)>>>0<26))break;n=l+1|0;l=n;m=a[n>>0]|0}if(m<<24>>24){a[f>>0]=0;n=0;o=l;p=m;while(1){a[f+n>>0]=p;n=n+1|0;a[f+n>>0]=0;q=o+1|0;p=a[q>>0]|0;r=p<<24>>24;if(!(p<<24>>24==95|((r+-48|0)>>>0<10|((r&-33)+-65|0)>>>0<26)))break;else o=q}if(a[f>>0]|0){Qm(b,f);p=a[q>>0]|0;if(p<<24>>24==58)s=(a[o+2>>0]|0)==58;else s=0;n=q;m=p;c:while(1){switch(m<<24>>24){case 58:case 32:break;default:break c}p=n+1|0;n=p;m=a[p>>0]|0}o=m<<24>>24==0;if(!s){if(o)break b;c[i>>2]=Gn(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=En((Yq(n)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;Kk(c[(c[i>>2]|0)+(l<<2)>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+1;break b}if(!o){o=n;while(1){a[f>>0]=0;l=o;while(1){t=a[l>>0]|0;if(t<<24>>24==32)l=l+1|0;else break}p=0;r=l;u=t;d:while(1){switch(u<<24>>24){case 32:case 0:{break d;break}default:{}}a[f+p>>0]=u;v=p+1|0;a[f+v>>0]=0;w=r+1|0;p=v;r=w;u=a[w>>0]|0}if(!(a[f>>0]|0))x=u;else{c[i>>2]=Gn(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=En((Yq(f)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;Kk(c[(c[i>>2]|0)+(l<<2)>>2]|0,f)|0;c[j>>2]=(c[j>>2]|0)+1;x=a[r>>0]|0}if(!(x<<24>>24))break;else o=r}}}}}}while(0);if(Rl(g)|0)break a}}while(0);Ul(g);c[1052640]=(c[1052640]|0)+1;h=b;Ca=d;return h|0}function Um(a){a=a|0;var b=0;b=Dn(11032)|0;c[b>>2]=a<<2;c[1052640]=(c[1052640]|0)+1;return b|0}function Vm(a){a=a|0;if(!a)return;Wm(a);Hn(a);c[1052640]=(c[1052640]|0)+-1;return}function Wm(a){a=a|0;var b=0;b=a+11016|0;bo(c[b>>2]|0);ao(c[b>>2]|0);c[b>>2]=0;b=a+344|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+688|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+1032|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+1376|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+1720|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+2064|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+2408|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+2752|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+3096|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+3440|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+3784|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+4128|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+4472|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+4816|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+5160|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+5504|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+5848|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+6192|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+6536|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+6880|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+7224|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+7568|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+7912|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+8256|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+8600|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+8944|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+9288|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+9632|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+9976|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+10320|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+10664|0;Hn(c[b>>2]|0);c[b>>2]=0;b=a+11008|0;Hn(c[b>>2]|0);c[b>>2]=0;return} +function wn(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0;j=Ca;Ca=Ca+192|0;k=j+176|0;l=j+20|0;m=j+8|0;n=j+4|0;o=j;c[n>>2]=0;c[o>>2]=0;c[e>>2]=0;c[f>>2]=0;p=b+216|0;c[p>>2]=0;Os(l|0,b+28|0,156)|0;c[l>>2]=h;c[l+4>>2]=i;a:do if(c[b+12>>2]|0){q=z(i,h)|0;b:do switch(c[b+184>>2]|0){case 6:{r=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!r)break b;s=0;while(1){if((a[g+(s<<2|3)>>0]|0)!=-1)break a;s=s+1|0;if(s>>>0>=q>>>0)break b}}if(r){s=0;do{t=s<<3;if((a[g+(t|6)>>0]|0)!=-1)break a;s=s+1|0;if((a[g+(t|7)>>0]|0)!=-1)break a}while(s>>>0>>0)}break}case 4:{s=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!s)break b;r=0;while(1){if((a[g+(r<<1|1)>>0]|0)!=-1)break a;r=r+1|0;if(r>>>0>=q>>>0)break b}}if(s){r=0;do{t=r<<2;if((a[g+(t|2)>>0]|0)!=-1)break a;r=r+1|0;if((a[g+(t|3)>>0]|0)!=-1)break a}while(r>>>0>>0)}break}case 3:{r=c[b+192>>2]|0;s=c[b+196>>2]|0;if(s|0){t=0;do{if((a[r+(t<<2|3)>>0]|0)!=-1)break a;t=t+1|0}while(t>>>0>>0)}break}default:break a}while(0);q=l+20|0;switch(c[q>>2]|0){case 6:{c[q>>2]=2;break a;break}case 4:{c[q>>2]=0;break a;break}default:break a}}while(0);if((c[b+8>>2]|0)>>>0>32768){c[p>>2]=60;Ca=j;return}if((c[b>>2]|0)>>>0>2){c[p>>2]=61;Ca=j;return}if((c[b+44>>2]|0)>>>0>1){c[p>>2]=71;Ca=j;return}q=l+20|0;s=c[q>>2]|0;t=l+24|0;r=c[t>>2]|0;switch(s|0){case 0:{switch(r|0){case 1:case 2:case 4:case 8:case 16:break;default:{u=37;v=42}}break}case 2:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 3:{switch(r|0){case 1:case 2:case 4:case 8:break;default:{u=37;v=42}}break}case 4:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 6:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}default:{u=31;v=42}}if((v|0)==42){c[p>>2]=u;Ca=j;return}c[p>>2]=0;u=b+184|0;w=c[u>>2]|0;x=c[b+188>>2]|0;switch(w|0){case 0:{switch(x|0){case 1:case 2:case 4:case 8:case 16:break;default:{y=37;v=49}}break}case 2:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 3:{switch(x|0){case 1:case 2:case 4:case 8:break;default:{y=37;v=49}}break}case 4:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 6:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}default:{y=31;v=49}}if((v|0)==49){c[p>>2]=y;Ca=j;return}c[p>>2]=0;do if((w|0)==(s|0)&(x|0)==(r|0))xn(n,o,g,l);else{y=z(i,h)|0;switch(s|0){case 3:case 0:{A=-1;v=55;break}case 2:{B=3;v=54;break}case 4:break;case 6:{B=4;v=54;break}default:{A=0;v=55}}if((v|0)==54){C=((z(z(r,y)|0,B)|0)+7|0)>>>3;v=56}else if((v|0)==55)switch(s|0){case 2:case 6:{C=((z(A&r,y)|0)+7|0)>>>3;v=56;break}default:{}}if((v|0)==56?(r|0)==8:0){y=En(C)|0;if(!((C|0)!=0&(y|0)==0)){if((c[p>>2]|0)==0?(D=pn(y,g,q,u,h,i)|0,c[p>>2]=D,(D|0)==0):0)xn(n,o,y,l)}else c[p>>2]=9955;Hn(y);break}c[p>>2]=59;Ca=j;return}while(0);c[m>>2]=0;u=m+8|0;c[u>>2]=0;g=m+4|0;c[g>>2]=0;c:do if(!(c[p>>2]|0)){C=Gn(0,2)|0;if(!C){E=0;F=0}else{c[u>>2]=2;c[m>>2]=C;c[g>>2]=1;a[C>>0]=-119;E=c[g>>2]|0;F=c[u>>2]|0}C=E+1|0;if(F>>>0>>0){r=C<<1;A=Gn(c[m>>2]|0,r)|0;if(!A){G=C;H=F;I=E}else{c[u>>2]=r;c[m>>2]=A;J=A;v=72}}else{J=c[m>>2]|0;v=72}if((v|0)==72){c[g>>2]=C;a[J+E>>0]=80;C=c[g>>2]|0;G=C+1|0;H=c[u>>2]|0;I=C}if(H>>>0>>0){C=G<<1;A=Gn(c[m>>2]|0,C)|0;if(!A){K=G;L=H;M=I}else{c[u>>2]=C;c[m>>2]=A;N=A;v=77}}else{N=c[m>>2]|0;v=77}if((v|0)==77){c[g>>2]=G;a[N+I>>0]=78;A=c[g>>2]|0;K=A+1|0;L=c[u>>2]|0;M=A}if(L>>>0>>0){A=K<<1;C=Gn(c[m>>2]|0,A)|0;if(!C){O=K;P=L;Q=M}else{c[u>>2]=A;c[m>>2]=C;R=C;v=82}}else{R=c[m>>2]|0;v=82}if((v|0)==82){c[g>>2]=K;a[R+M>>0]=71;C=c[g>>2]|0;O=C+1|0;P=c[u>>2]|0;Q=C}if(P>>>0>>0){C=O<<1;A=Gn(c[m>>2]|0,C)|0;if(!A){S=O;T=P;U=Q}else{c[u>>2]=C;c[m>>2]=A;V=A;v=87}}else{V=c[m>>2]|0;v=87}if((v|0)==87){c[g>>2]=O;a[V+Q>>0]=13;A=c[g>>2]|0;S=A+1|0;T=c[u>>2]|0;U=A}if(T>>>0>>0){A=S<<1;C=Gn(c[m>>2]|0,A)|0;if(!C){W=S;X=T;Y=U}else{c[u>>2]=A;c[m>>2]=C;Z=C;v=92}}else{Z=c[m>>2]|0;v=92}if((v|0)==92){c[g>>2]=S;a[Z+U>>0]=10;C=c[g>>2]|0;W=C+1|0;X=c[u>>2]|0;Y=C}if(X>>>0>>0){C=W<<1;A=Gn(c[m>>2]|0,C)|0;if(!A){_=W;$=X;aa=Y}else{c[u>>2]=C;c[m>>2]=A;ba=A;v=97}}else{ba=c[m>>2]|0;v=97}if((v|0)==97){c[g>>2]=W;a[ba+Y>>0]=26;A=c[g>>2]|0;_=A+1|0;$=c[u>>2]|0;aa=A}if($>>>0<_>>>0){A=_<<1;C=Gn(c[m>>2]|0,A)|0;if(C|0){c[u>>2]=A;c[m>>2]=C;ca=C;v=102}}else{ca=c[m>>2]|0;v=102}if((v|0)==102){c[g>>2]=_;a[ca+aa>>0]=10}C=c[t>>2]|0;A=c[q>>2]|0;r=c[l+16>>2]|0;s=Gn(0,8)|0;B=(s|0)==0;x=B?0:8;w=B?0:4;y=s+(B?-4:0)|0;a[y>>0]=h>>>24;a[y+1>>0]=h>>>16;a[y+2>>0]=h>>>8;a[y+3>>0]=h;y=w+4|0;if(x>>>0>>0){B=y<<1;D=Gn(s,B)|0;da=(D|0)==0;ea=da?s:D;fa=da?w:y;ga=da?x:B}else{ea=s;fa=y;ga=x}x=ea+(fa+-4)|0;a[x>>0]=i>>>24;a[x+1>>0]=i>>>16;a[x+2>>0]=i>>>8;a[x+3>>0]=i;x=C&255;C=fa+1|0;if(ga>>>0>>0){y=C<<1;s=Gn(ea,y)|0;if(!s){ha=C;ia=ea;ja=fa;ka=ga}else{la=s;ma=y;v=107}}else{la=ea;ma=ga;v=107}if((v|0)==107){a[la+fa>>0]=x;ha=fa+2|0;ia=la;ja=C;ka=ma}C=A&255;if(ka>>>0>>0){A=ha<<1;x=Gn(ia,A)|0;if(!x){na=ha;oa=ia;pa=ja;qa=ka}else{ra=x;sa=A;v=110}}else{ra=ia;sa=ka;v=110}if((v|0)==110){a[ra+ja>>0]=C;na=ha+1|0;oa=ra;pa=ha;qa=sa}if(qa>>>0>>0){C=na<<1;A=Gn(oa,C)|0;if(!A){ta=na;ua=oa;va=pa;wa=qa}else{xa=A;ya=C;v=113}}else{xa=oa;ya=qa;v=113}if((v|0)==113){a[xa+pa>>0]=0;ta=na+1|0;ua=xa;va=na;wa=ya}if(wa>>>0>>0){C=ta<<1;A=Gn(ua,C)|0;if(!A){za=ta;Aa=ua;Ba=va;Da=wa}else{Ea=A;Fa=C;v=116}}else{Ea=ua;Fa=wa;v=116}if((v|0)==116){a[Ea+va>>0]=0;za=ta+1|0;Aa=Ea;Ba=ta;Da=Fa}C=r&255;if(Da>>>0>>0){r=Gn(Aa,za<<1)|0;if(!r){Ga=Aa;Ha=Ba}else{Ia=r;v=119}}else{Ia=Aa;v=119}if((v|0)==119){a[Ia+Ba>>0]=C;Ga=Ia;Ha=za}if(!(kn(m,g,Ha,52753,Ga)|0))c[u>>2]=c[g>>2];Hn(Ga);C=c[l+132>>2]|0;if(C|0){r=c[l+144>>2]|0;A=C;d:do if(r|0){x=C;y=c[g>>2]|0;while(1){s=x+1|0;B=x+2|0;da=x+3|0;w=(d[s>>0]<<16|d[x>>0]<<24|d[B>>0]<<8|d[da>>0])+12|0;D=w+y|0;if(D>>>0>>0|D>>>0>>0){Ja=77;break}Ka=Gn(c[m>>2]|0,D)|0;if(!Ka){Ja=9929;break}c[m>>2]=Ka;c[g>>2]=D;La=Ka+y|0;if(!w)Ma=D;else{D=0;do{a[La+D>>0]=a[x+D>>0]|0;D=D+1|0}while((D|0)!=(w|0));Ma=c[g>>2]|0}c[u>>2]=Ma;x=x+((d[s>>0]<<16|d[x>>0]<<24|d[B>>0]<<8|d[da>>0])+12)|0;if((x-A|0)>>>0>=r>>>0)break d;else y=Ma}c[p>>2]=Ja;break c}while(0);c[p>>2]=0}if((c[q>>2]|0)==3){r=l+32|0;A=c[r>>2]|0;if((A+-1|0)>>>0>255){c[p>>2]=68;break}if(!(A&1073741823)){Na=0;Oa=0}else{C=l+28|0;y=0;x=0;w=0;D=0;La=A;while(1){do if((y&3|0)==3){Pa=x;Qa=w;Ra=D;Sa=La}else{A=a[(c[C>>2]|0)+y>>0]|0;Ka=D+1|0;if(w>>>0>>0){Ta=Ka<<1;Ua=Gn(x,Ta)|0;if(!Ua){Pa=x;Qa=w;Ra=D;Sa=La;break}else{Va=Ua;Wa=Ta}}else{Va=x;Wa=w}a[Va+D>>0]=A;Pa=Va;Qa=Wa;Ra=Ka;Sa=c[r>>2]|0}while(0);y=y+1|0;if(y>>>0>=Sa<<2>>>0){Na=Pa;Oa=Ra;break}else{x=Pa;w=Qa;D=Ra;La=Sa}}}if(!(kn(m,g,Oa,52758,Na)|0))c[u>>2]=c[g>>2];Hn(Na)}e:do if(!(c[b+16>>2]|0))v=161;else{La=c[q>>2]|0;switch(La|0){case 6:case 2:break;default:{Xa=La;break e}}La=l+32|0;D=c[La>>2]|0;if((D+-1|0)>>>0>255){c[p>>2]=68;break c}if(!(D&1073741823)){Ya=0;Za=0}else{w=l+28|0;x=0;y=0;r=0;C=0;Ka=D;while(1){do if((x&3|0)==3){_a=y;$a=r;ab=C;bb=Ka}else{D=a[(c[w>>2]|0)+x>>0]|0;A=C+1|0;if(r>>>0>>0){Ta=A<<1;Ua=Gn(y,Ta)|0;if(!Ua){_a=y;$a=r;ab=C;bb=Ka;break}else{cb=Ua;db=Ta}}else{cb=y;db=r}a[cb+C>>0]=D;_a=cb;$a=db;ab=A;bb=c[La>>2]|0}while(0);x=x+1|0;if(x>>>0>=bb<<2>>>0){Ya=_a;Za=ab;break}else{y=_a;r=$a;C=ab;Ka=bb}}}if(!(kn(m,g,Za,52758,Ya)|0))c[u>>2]=c[g>>2];Hn(Ya);v=161}while(0);if((v|0)==161)Xa=c[q>>2]|0;f:do if((Xa|0)==3){Ka=c[l+28>>2]|0;C=c[l+32>>2]|0;if(!C)break;r=0;while(1){if((a[Ka+(r<<2|3)>>0]|0)!=-1)break;r=r+1|0;if(r>>>0>=C>>>0)break f}yn(m,q);eb=c[q>>2]|0;v=168}else{eb=Xa;v=168}while(0);g:do if((v|0)==168){switch(eb|0){case 2:case 0:break;default:break g}if(!(c[l+36>>2]|0))break;yn(m,q)}while(0);if(c[l+52>>2]|0){h:do switch(c[l+20>>2]|0){case 4:case 0:{C=l+56|0;r=c[C>>2]|0;Ka=Gn(0,2)|0;if(!Ka){y=Gn(0,2)|0;if(!y){fb=0;gb=0;break h}else{hb=r;ib=y;jb=0;kb=1}}else{a[Ka>>0]=r>>>8;hb=c[C>>2]|0;ib=Ka;jb=1;kb=2}a[ib+jb>>0]=hb;fb=ib;gb=kb;break}case 6:case 2:{Ka=l+56|0;C=c[Ka>>2]|0;r=Gn(0,2)|0;if(!r){y=Gn(0,2)|0;if(!y){lb=0;mb=0;nb=0}else{ob=C;pb=y;qb=0;rb=1;v=180}}else{a[r>>0]=C>>>8;ob=c[Ka>>2]|0;pb=r;qb=1;rb=2;v=180}if((v|0)==180){a[pb+qb>>0]=ob;lb=pb;mb=rb;nb=2}r=l+60|0;Ka=c[r>>2]|0;C=Ka>>>8&255;y=mb+1|0;if(nb>>>0>>0){x=y<<1;La=Gn(lb,x)|0;if(!La){sb=y;tb=lb;ub=mb;vb=nb;wb=Ka}else{xb=La;yb=x;v=183}}else{xb=lb;yb=nb;v=183}if((v|0)==183){a[xb+mb>>0]=C;sb=mb+2|0;tb=xb;ub=y;vb=yb;wb=c[r>>2]|0}r=wb&255;if(vb>>>0>>0){y=sb<<1;C=Gn(tb,y)|0;if(!C){zb=sb;Ab=tb;Bb=ub;Cb=vb}else{Db=C;Eb=y;v=186}}else{Db=tb;Eb=vb;v=186}if((v|0)==186){a[Db+ub>>0]=r;zb=sb+1|0;Ab=Db;Bb=sb;Cb=Eb}r=l+64|0;y=c[r>>2]|0;C=y>>>8&255;if(Cb>>>0>>0){x=zb<<1;La=Gn(Ab,x)|0;if(!La){Fb=zb;Gb=Ab;Hb=Bb;Ib=Cb;Jb=y}else{Kb=La;Lb=x;v=189}}else{Kb=Ab;Lb=Cb;v=189}if((v|0)==189){a[Kb+Bb>>0]=C;Fb=zb+1|0;Gb=Kb;Hb=zb;Ib=Lb;Jb=c[r>>2]|0}r=Jb&255;if(Ib>>>0>>0){C=Gn(Gb,Fb<<1)|0;if(!C){fb=Gb;gb=Hb;break h}else Mb=C}else Mb=Gb;a[Mb+Hb>>0]=r;fb=Mb;gb=Fb;break}case 3:{r=c[l+56>>2]|0;C=Gn(0,2)|0;if(!C){fb=0;gb=0;break h}a[C>>0]=r;fb=C;gb=1;break}default:{fb=0;gb=0}}while(0);if(!(kn(m,g,gb,52763,fb)|0))c[u>>2]=c[g>>2];Hn(fb)}if(c[l+116>>2]|0){C=c[l+120>>2]|0;r=Gn(0,8)|0;x=(r|0)==0;La=x?0:8;y=x?0:4;Ka=r+(x?-4:0)|0;a[Ka>>0]=C>>>24;a[Ka+1>>0]=C>>>16;a[Ka+2>>0]=C>>>8;a[Ka+3>>0]=C;C=c[l+124>>2]|0;Ka=y+4|0;if(La>>>0>>0){x=Ka<<1;w=Gn(r,x)|0;da=(w|0)==0;Nb=da?r:w;Ob=da?y:Ka;Pb=da?La:x}else{Nb=r;Ob=Ka;Pb=La}La=Nb+(Ob+-4)|0;a[La>>0]=C>>>24;a[La+1>>0]=C>>>16;a[La+2>>0]=C>>>8;a[La+3>>0]=C;C=a[l+128>>0]|0;La=Ob+1|0;if(Pb>>>0>>0){Ka=Gn(Nb,La<<1)|0;if(!Ka){Qb=Nb;Rb=Ob}else{Sb=Ka;v=203}}else{Sb=Nb;v=203}if((v|0)==203){a[Sb+Ob>>0]=C;Qb=Sb;Rb=La}if(!(kn(m,g,Rb,52768,Qb)|0))c[u>>2]=c[g>>2];Hn(Qb)}La=c[l+136>>2]|0;if(La|0){C=c[l+148>>2]|0;Ka=La;i:do if(C|0){r=La;x=c[g>>2]|0;while(1){da=r+1|0;y=r+2|0;w=r+3|0;B=(d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12|0;s=B+x|0;if(s>>>0>>0|s>>>0>>0){Tb=77;break}A=Gn(c[m>>2]|0,s)|0;if(!A){Tb=9929;break}c[m>>2]=A;c[g>>2]=s;D=A+x|0;if(!B)Ub=s;else{s=0;do{a[D+s>>0]=a[r+s>>0]|0;s=s+1|0}while((s|0)!=(B|0));Ub=c[g>>2]|0}c[u>>2]=Ub;r=r+((d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12)|0;if((r-Ka|0)>>>0>=C>>>0)break i;else x=Ub}c[p>>2]=Tb;break c}while(0);c[p>>2]=0}C=c[n>>2]|0;Ka=c[o>>2]|0;c[k>>2]=0;c[k+8>>2]=0;La=k+4|0;c[La>>2]=0;x=hn(k,La,C,Ka,b)|0;Ka=c[k>>2]|0;do if(!x){C=kn(m,g,c[La>>2]|0,52773,Ka)|0;if(C|0){Vb=C;break}c[u>>2]=c[g>>2];Vb=0}else Vb=x;while(0);Hn(Ka);c[p>>2]=Vb;if(Vb|0)break;do if(a[l+100>>0]|0){x=En(7)|0;if(!x)break;La=l+104|0;a[x>>0]=(c[La>>2]|0)>>>8;a[x+1>>0]=c[La>>2];a[x+2>>0]=a[l+108>>0]|0;a[x+3>>0]=a[l+109>>0]|0;a[x+4>>0]=a[l+110>>0]|0;a[x+5>>0]=a[l+111>>0]|0;a[x+6>>0]=a[l+112>>0]|0;if(!(kn(m,g,7,52778,x)|0))c[u>>2]=c[g>>2];Hn(x)}while(0);Ka=l+68|0;x=c[Ka>>2]|0;j:do if(x){La=l+72|0;C=b+24|0;r=l+76|0;B=k+8|0;s=k+4|0;D=0;A=x;while(1){Ta=c[(c[La>>2]|0)+(D<<2)>>2]|0;if((Yq(Ta)|0)>>>0>79){v=231;break}Ua=a[Ta>>0]|0;if(!(Ua<<24>>24)){v=233;break}Wb=c[(c[r>>2]|0)+(D<<2)>>2]|0;if(!(c[C>>2]|0))zn(m,Ta,Wb);else{Xb=Yq(Wb)|0;c[k>>2]=0;c[B>>2]=0;c[s>>2]=0;Yb=0;Zb=0;_b=0;$b=0;ac=1;bc=Ua;Ua=1;while(1){if(Ua){cc=ac<<1;dc=Gn(Zb,cc)|0;if(!dc){ec=Zb;fc=_b;gc=$b}else{hc=dc;ic=cc;v=238}}else{hc=Zb;ic=$b;v=238}if((v|0)==238){v=0;a[hc+_b>>0]=bc;ec=hc;fc=ac;gc=ic}Yb=Yb+1|0;bc=a[Ta+Yb>>0]|0;ac=fc+1|0;Ua=gc>>>0>>0;if(!(bc<<24>>24))break;else{Zb=ec;_b=fc;$b=gc}}if(Ua){$b=ac<<1;_b=Gn(ec,$b)|0;if(!_b){jc=ac;kc=ec;lc=fc;mc=gc}else{nc=_b;oc=$b;v=242}}else{nc=ec;oc=gc;v=242}if((v|0)==242){v=0;a[nc+fc>>0]=0;jc=fc+2|0;kc=nc;lc=ac;mc=oc}if(mc>>>0>>0){$b=jc<<1;_b=Gn(kc,$b)|0;if(!_b){pc=kc;qc=lc;rc=mc}else{sc=_b;tc=$b;v=245}}else{sc=kc;tc=mc;v=245}if((v|0)==245){v=0;a[sc+lc>>0]=0;pc=sc;qc=jc;rc=tc}do if(!(hn(k,s,Wb,Xb,b)|0)){$b=c[s>>2]|0;if(!$b){uc=pc;vc=qc}else{_b=0;Zb=pc;bc=qc;Yb=rc;Ta=$b;while(1){$b=a[(c[k>>2]|0)+_b>>0]|0;w=bc+1|0;if(Yb>>>0>>0){y=w<<1;da=Gn(Zb,y)|0;if(!da){wc=Zb;xc=bc;yc=Yb;zc=Ta}else{Ac=da;Bc=y;v=251}}else{Ac=Zb;Bc=Yb;v=251}if((v|0)==251){v=0;a[Ac+bc>>0]=$b;wc=Ac;xc=w;yc=Bc;zc=c[s>>2]|0}_b=_b+1|0;if(_b>>>0>=zc>>>0){uc=wc;vc=xc;break}else{Zb=wc;bc=xc;Yb=yc;Ta=zc}}}if(kn(m,g,vc,52783,uc)|0){Cc=uc;break}c[u>>2]=c[g>>2];Cc=uc}else Cc=pc;while(0);c[B>>2]=0;c[s>>2]=0;Hn(c[k>>2]|0);Hn(Cc)}D=D+1|0;Xb=c[Ka>>2]|0;if(D>>>0>=Xb>>>0){Dc=Xb;break j}else A=Xb}if((v|0)==231){c[p>>2]=66;Dc=A;break}else if((v|0)==233){c[p>>2]=67;Dc=A;break}}else Dc=0;while(0);k:do if(c[b+20>>2]|0){if(Dc|0){Ka=c[l+72>>2]|0;x=0;do{if(!(Oq(c[Ka+(x<<2)>>2]|0,52788)|0))break k;x=x+1|0}while(x>>>0>>0)}zn(m,52788,52796)}while(0);x=l+80|0;l:do if(c[x>>2]|0){Ka=l+84|0;A=b+24|0;D=l+88|0;s=l+92|0;B=l+96|0;C=k+8|0;r=k+4|0;La=0;while(1){Xb=c[(c[Ka>>2]|0)+(La<<2)>>2]|0;if((Yq(Xb)|0)>>>0>79){v=267;break}Wb=a[Xb>>0]|0;if(!(Wb<<24>>24)){v=269;break}ac=c[A>>2]|0;Ua=c[(c[D>>2]|0)+(La<<2)>>2]|0;Ta=c[(c[s>>2]|0)+(La<<2)>>2]|0;Yb=c[(c[B>>2]|0)+(La<<2)>>2]|0;bc=Yq(Yb)|0;Zb=0;_b=0;w=0;$b=0;y=1;da=Wb;Wb=1;while(1){if(Wb){cc=y<<1;dc=Gn(_b,cc)|0;if(!dc){Ec=_b;Fc=w;Gc=$b}else{Hc=dc;Ic=cc;v=273}}else{Hc=_b;Ic=$b;v=273}if((v|0)==273){v=0;a[Hc+w>>0]=da;Ec=Hc;Fc=y;Gc=Ic}Zb=Zb+1|0;da=a[Xb+Zb>>0]|0;y=Fc+1|0;Wb=Gc>>>0>>0;if(!(da<<24>>24))break;else{_b=Ec;w=Fc;$b=Gc}}if(Wb){$b=y<<1;w=Gn(Ec,$b)|0;if(!w){Jc=y;Kc=Ec;Lc=Fc;Mc=Gc}else{Nc=w;Oc=$b;v=277}}else{Nc=Ec;Oc=Gc;v=277}if((v|0)==277){v=0;a[Nc+Fc>>0]=0;Jc=Fc+2|0;Kc=Nc;Lc=y;Mc=Oc}$b=(ac|0)!=0;w=$b&1;if(Mc>>>0>>0){_b=Jc<<1;da=Gn(Kc,_b)|0;if(!da){Pc=Jc;Qc=Kc;Rc=Lc;Sc=Mc}else{Tc=da;Uc=_b;v=280}}else{Tc=Kc;Uc=Mc;v=280}if((v|0)==280){v=0;a[Tc+Lc>>0]=w;Pc=Lc+2|0;Qc=Tc;Rc=Jc;Sc=Uc}if(Sc>>>0>>0){w=Pc<<1;_b=Gn(Qc,w)|0;if(!_b){Vc=Pc;Wc=Qc;Xc=Rc;Yc=Sc}else{Zc=_b;_c=w;v=283}}else{Zc=Qc;_c=Sc;v=283}if((v|0)==283){v=0;a[Zc+Rc>>0]=0;Vc=Pc+1|0;Wc=Zc;Xc=Pc;Yc=_c}w=a[Ua>>0]|0;_b=Yc>>>0>>0;if(!(w<<24>>24)){$c=_b;ad=Vc;bd=Wc;cd=Xc;dd=Yc}else{da=0;Zb=Wc;Xb=Xc;cc=Yc;dc=Vc;ed=w;w=_b;while(1){if(w){_b=dc<<1;fd=Gn(Zb,_b)|0;if(!fd){gd=Zb;hd=Xb;id=cc}else{jd=fd;kd=_b;v=288}}else{jd=Zb;kd=cc;v=288}if((v|0)==288){v=0;a[jd+Xb>>0]=ed;gd=jd;hd=dc;id=kd}da=da+1|0;ed=a[Ua+da>>0]|0;_b=hd+1|0;fd=id>>>0<_b>>>0;if(!(ed<<24>>24)){$c=fd;ad=_b;bd=gd;cd=hd;dd=id;break}else{Zb=gd;Xb=hd;cc=id;dc=_b;w=fd}}}if($c){w=ad<<1;dc=Gn(bd,w)|0;if(!dc){ld=bd;md=cd;nd=dd}else{od=dc;pd=w;v=292}}else{od=bd;pd=dd;v=292}if((v|0)==292){v=0;a[od+cd>>0]=0;ld=od;md=ad;nd=pd}w=a[Ta>>0]|0;dc=md+1|0;cc=nd>>>0>>0;if(!(w<<24>>24)){qd=cc;rd=dc;sd=ld;td=md;ud=nd}else{Xb=0;Zb=ld;ed=md;da=nd;Ua=dc;dc=w;w=cc;while(1){if(w){cc=Ua<<1;ac=Gn(Zb,cc)|0;if(!ac){vd=Zb;wd=ed;xd=da}else{yd=ac;zd=cc;v=297}}else{yd=Zb;zd=da;v=297}if((v|0)==297){v=0;a[yd+ed>>0]=dc;vd=yd;wd=Ua;xd=zd}Xb=Xb+1|0;dc=a[Ta+Xb>>0]|0;cc=wd+1|0;ac=xd>>>0>>0;if(!(dc<<24>>24)){qd=ac;rd=cc;sd=vd;td=wd;ud=xd;break}else{Zb=vd;ed=wd;da=xd;Ua=cc;w=ac}}}if(qd){w=rd<<1;Ua=Gn(sd,w)|0;if(!Ua){Ad=sd;Bd=td;Cd=ud}else{Dd=Ua;Ed=w;v=301}}else{Dd=sd;Ed=ud;v=301}if((v|0)==301){v=0;a[Dd+td>>0]=0;Ad=Dd;Bd=rd;Cd=Ed}do if($b){c[k>>2]=0;c[C>>2]=0;c[r>>2]=0;if(hn(k,r,Yb,bc,b)|0){Fd=Ad;break}w=c[r>>2]|0;if(!w){Gd=Ad;Hd=Bd;Id=Cd}else{Ua=0;da=Ad;ed=Bd;Zb=Cd;dc=w;while(1){w=a[(c[k>>2]|0)+Ua>>0]|0;Xb=ed+1|0;if(Zb>>>0>>0){Ta=Xb<<1;ac=Gn(da,Ta)|0;if(!ac){Jd=da;Kd=ed;Ld=Zb;Md=dc}else{Nd=ac;Od=Ta;v=308}}else{Nd=da;Od=Zb;v=308}if((v|0)==308){v=0;a[Nd+ed>>0]=w;Jd=Nd;Kd=Xb;Ld=Od;Md=c[r>>2]|0}Ua=Ua+1|0;if(Ua>>>0>=Md>>>0){Gd=Jd;Hd=Kd;Id=Ld;break}else{da=Jd;ed=Kd;Zb=Ld;dc=Md}}}dc=a[Yb>>0]|0;if(!(dc<<24>>24)){Pd=Gd;Qd=Hd;v=322;break}Zb=0;ed=Gd;da=Hd;Ua=Id;Xb=dc;while(1){dc=da+1|0;if(Ua>>>0>>0){w=dc<<1;Ta=Gn(ed,w)|0;if(!Ta){Rd=ed;Sd=da;Td=Ua}else{Ud=Ta;Vd=w;v=314}}else{Ud=ed;Vd=Ua;v=314}if((v|0)==314){v=0;a[Ud+da>>0]=Xb;Rd=Ud;Sd=dc;Td=Vd}Zb=Zb+1|0;Xb=a[Yb+Zb>>0]|0;if(!(Xb<<24>>24)){Pd=Rd;Qd=Sd;v=322;break}else{ed=Rd;da=Sd;Ua=Td}}}else{Ua=a[Yb>>0]|0;if(!(Ua<<24>>24)){Pd=Ad;Qd=Bd;v=322;break}da=0;ed=Ad;Xb=Bd;Zb=Cd;dc=Ua;while(1){Ua=Xb+1|0;if(Zb>>>0>>0){w=Ua<<1;Ta=Gn(ed,w)|0;if(!Ta){Wd=ed;Xd=Xb;Yd=Zb}else{Zd=Ta;_d=w;v=320}}else{Zd=ed;_d=Zb;v=320}if((v|0)==320){v=0;a[Zd+Xb>>0]=dc;Wd=Zd;Xd=Ua;Yd=_d}da=da+1|0;dc=a[Yb+da>>0]|0;if(!(dc<<24>>24)){Pd=Wd;Qd=Xd;v=322;break}else{ed=Wd;Xb=Xd;Zb=Yd}}}while(0);do if((v|0)==322){v=0;if(kn(m,g,Qd,52805,Pd)|0){Fd=Pd;break}c[u>>2]=c[g>>2];Fd=Pd}while(0);Hn(Fd);La=La+1|0;if(La>>>0>=(c[x>>2]|0)>>>0)break l}if((v|0)==267){c[p>>2]=66;break}else if((v|0)==269){c[p>>2]=67;break}}while(0);x=c[l+140>>2]|0;if(x|0){La=c[l+152>>2]|0;r=x;m:do if(La|0){C=x;B=c[g>>2]|0;while(1){s=C+1|0;D=C+2|0;A=C+3|0;Ka=(d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[A>>0])+12|0;Yb=Ka+B|0;if(Yb>>>0>>0|Yb>>>0>>0){$d=77;break}bc=Gn(c[m>>2]|0,Yb)|0;if(!bc){$d=9929;break}c[m>>2]=bc;c[g>>2]=Yb;$b=bc+B|0;if(!Ka)ae=Yb;else{Yb=0;do{a[$b+Yb>>0]=a[C+Yb>>0]|0;Yb=Yb+1|0}while((Yb|0)!=(Ka|0));ae=c[g>>2]|0}c[u>>2]=ae;C=C+((d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[A>>0])+12)|0;if((C-r|0)>>>0>=La>>>0)break m;else B=ae}c[p>>2]=$d;break c}while(0);c[p>>2]=0}La=c[g>>2]|0;r=La+12|0;if(La>>>0>4294967283)break;x=Gn(c[m>>2]|0,r)|0;if(!x)break;c[m>>2]=x;c[g>>2]=r;r=x+La|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;La=r+4|0;a[La>>0]=73;a[r+5>>0]=69;a[r+6>>0]=78;a[r+7>>0]=68;x=jn(La,4)|0;La=r+8|0;a[La>>0]=x>>>24;a[La+1>>0]=x>>>16;a[La+2>>0]=x>>>8;a[La+3>>0]=x;c[u>>2]=c[g>>2]}while(0);Hn(c[n>>2]|0);c[e>>2]=c[m>>2];c[f>>2]=c[g>>2];Ca=j;return}function xn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;h=Ca;Ca=Ca+320|0;i=h+288|0;j=h+256|0;k=h+224|0;l=h+192|0;m=h+160|0;n=h+128|0;o=h+96|0;p=h+64|0;q=h+32|0;r=h;s=g+20|0;t=g+24|0;u=c[t>>2]|0;switch(c[s>>2]|0){case 3:case 0:{v=1;break}case 2:{v=3;break}case 4:{v=2;break}case 6:{v=4;break}default:v=0}w=z(v,u)|0;u=c[g>>2]|0;v=c[g+4>>2]|0;if(!(c[g+16>>2]|0)){g=z(u,w)|0;x=g+7|0;y=z(x>>>3,v)|0;A=y+v|0;c[e>>2]=A;B=En(A)|0;c[b>>2]=B;if((B|0)==0?c[e>>2]|0:0){Ca=h;return}if(w>>>0<8?(A=x&-8,(g|0)!=(A|0)):0){if(y){x=Gn(0,y<<1)|0;if(!x)C=0;else{D=x;E=13}}else{D=0;E=13}if((E|0)==13){An(D,f,A,g,v);Bn(c[b>>2]|0,D,u,v,c[s>>2]|0,c[t>>2]|0)|0;C=D}Hn(C);Ca=h;return}Bn(B,f,u,v,c[s>>2]|0,c[t>>2]|0)|0;Ca=h;return}B=z(w,u)|0;C=((z(B,v)|0)+7|0)>>>3;D=En(C)|0;g=(C|0)==0|(D|0)!=0;C=g?0:9952;if(g){tn(n,o,p,q,r,u,v,w);A=c[p+28>>2]|0;c[e>>2]=A;x=En(A)|0;c[b>>2]=x;if(!((x|0)==0?(c[e>>2]|0)!=0:0))E=19;do if((E|0)==19){tn(i,j,k,l,m,u,v,w);if(w>>>0>7){e=w>>>3;if(e|0){x=0;do{A=c[j+(x<<2)>>2]|0;if(A|0?(y=c[i+(x<<2)>>2]|0,y|0):0){F=c[27888+(x<<2)>>2]|0;G=c[27856+(x<<2)>>2]|0;H=c[27824+(x<<2)>>2]|0;I=c[27792+(x<<2)>>2]|0;J=c[m+(x<<2)>>2]|0;K=0;do{L=(z((z(K,G)|0)+F|0,u)|0)+H|0;M=z(K,y)|0;N=0;do{O=z(L+(z(N,I)|0)|0,e)|0;P=(z(N+M|0,e)|0)+J|0;Q=0;do{a[D+(P+Q)>>0]=a[f+(Q+O)>>0]|0;Q=Q+1|0}while((Q|0)!=(e|0));N=N+1|0}while((N|0)!=(y|0));K=K+1|0}while((K|0)!=(A|0))}x=x+1|0}while((x|0)!=7)}}else{x=(w|0)==0;e=0;do{A=c[i+(e<<2)>>2]|0;K=c[j+(e<<2)>>2]|0;if(K|0?(y=27888+(e<<2)|0,J=27856+(e<<2)|0,I=27824+(e<<2)|0,A|0):0){H=c[27792+(e<<2)>>2]|0;F=c[m+(e<<2)>>2]<<3;G=0;do{N=z(G,A)|0;if(!x){M=z(c[J>>2]|0,G)|0;L=(z(M+(c[y>>2]|0)|0,u)|0)+(c[I>>2]|0)|0;M=0;do{Q=(z(M+N|0,w)|0)+F|0;O=0;P=z(L+(z(M,H)|0)|0,w)|0;while(1){R=1<<(Q&7^7);if(!(1<<(P&7^7)&(d[f+(P>>>3)>>0]|0))){S=D+(Q>>>3)|0;T=S;U=(R^255)&(d[S>>0]|0)}else{S=D+(Q>>>3)|0;T=S;U=R|(d[S>>0]|0)}a[T>>0]=U;O=O+1|0;if((O|0)==(w|0))break;else{Q=Q+1|0;P=P+1|0}}M=M+1|0}while((M|0)!=(A|0))}G=G+1|0}while((G|0)!=(K|0))}e=e+1|0}while((e|0)!=7)}e=z((B+7|0)>>>3,v)|0;x=(e|0)==0;K=e<<1;if(w>>>0>=8){Bn((c[b>>2]|0)+(c[p>>2]|0)|0,D+(c[q>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bn((c[b>>2]|0)+(c[p+4>>2]|0)|0,D+(c[q+4>>2]|0)|0,c[n+4>>2]|0,c[o+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bn((c[b>>2]|0)+(c[p+8>>2]|0)|0,D+(c[q+8>>2]|0)|0,c[n+8>>2]|0,c[o+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bn((c[b>>2]|0)+(c[p+12>>2]|0)|0,D+(c[q+12>>2]|0)|0,c[n+12>>2]|0,c[o+12>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bn((c[b>>2]|0)+(c[p+16>>2]|0)|0,D+(c[q+16>>2]|0)|0,c[n+16>>2]|0,c[o+16>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bn((c[b>>2]|0)+(c[p+20>>2]|0)|0,D+(c[q+20>>2]|0)|0,c[n+20>>2]|0,c[o+20>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Bn((c[b>>2]|0)+(c[p+24>>2]|0)|0,D+(c[q+24>>2]|0)|0,c[n+24>>2]|0,c[o+24>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break}if(!x){e=Gn(0,K)|0;if(!e){V=9954;W=0}else{X=e;E=48}}else{X=0;E=48}if((E|0)==48)if(g){e=X+(c[q>>2]|0)|0;G=c[n>>2]|0;A=z(G,w)|0;H=c[o>>2]|0;An(e,D+(c[r>>2]|0)|0,A+7&-8,A,H);V=Bn((c[b>>2]|0)+(c[p>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;W=X}else{V=C;W=X}Hn(W);if(!x){H=Gn(0,K)|0;if(!H){Y=9954;Z=0}else{_=H;E=56}}else{_=0;E=56}if((E|0)==56)if(!V){H=_+(c[q+4>>2]|0)|0;G=c[n+4>>2]|0;e=z(G,w)|0;A=c[o+4>>2]|0;An(H,D+(c[r+4>>2]|0)|0,e+7&-8,e,A);Y=Bn((c[b>>2]|0)+(c[p+4>>2]|0)|0,H,G,A,c[s>>2]|0,c[t>>2]|0)|0;Z=_}else{Y=V;Z=_}Hn(Z);if(!x){A=Gn(0,K)|0;if(!A){$=9954;aa=0}else{ba=A;E=60}}else{ba=0;E=60}if((E|0)==60)if(!Y){A=ba+(c[q+8>>2]|0)|0;G=c[n+8>>2]|0;H=z(G,w)|0;e=c[o+8>>2]|0;An(A,D+(c[r+8>>2]|0)|0,H+7&-8,H,e);$=Bn((c[b>>2]|0)+(c[p+8>>2]|0)|0,A,G,e,c[s>>2]|0,c[t>>2]|0)|0;aa=ba}else{$=Y;aa=ba}Hn(aa);if(!x){e=Gn(0,K)|0;if(!e){ca=9954;da=0}else{ea=e;E=64}}else{ea=0;E=64}if((E|0)==64)if(!$){e=ea+(c[q+12>>2]|0)|0;G=c[n+12>>2]|0;A=z(G,w)|0;H=c[o+12>>2]|0;An(e,D+(c[r+12>>2]|0)|0,A+7&-8,A,H);ca=Bn((c[b>>2]|0)+(c[p+12>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;da=ea}else{ca=$;da=ea}Hn(da);if(!x){H=Gn(0,K)|0;if(!H){fa=9954;ga=0}else{ha=H;E=68}}else{ha=0;E=68}if((E|0)==68)if(!ca){H=ha+(c[q+16>>2]|0)|0;G=c[n+16>>2]|0;e=z(G,w)|0;A=c[o+16>>2]|0;An(H,D+(c[r+16>>2]|0)|0,e+7&-8,e,A);fa=Bn((c[b>>2]|0)+(c[p+16>>2]|0)|0,H,G,A,c[s>>2]|0,c[t>>2]|0)|0;ga=ha}else{fa=ca;ga=ha}Hn(ga);if(!x){A=Gn(0,K)|0;if(!A){ia=9954;ja=0}else{ka=A;E=72}}else{ka=0;E=72}if((E|0)==72)if(!fa){A=ka+(c[q+20>>2]|0)|0;G=c[n+20>>2]|0;H=z(G,w)|0;e=c[o+20>>2]|0;An(A,D+(c[r+20>>2]|0)|0,H+7&-8,H,e);ia=Bn((c[b>>2]|0)+(c[p+20>>2]|0)|0,A,G,e,c[s>>2]|0,c[t>>2]|0)|0;ja=ka}else{ia=fa;ja=ka}Hn(ja);if(!x){x=Gn(0,K)|0;if(!x)la=0;else{ma=x;E=76}}else{ma=0;E=76}if((E|0)==76)if(!ia){x=ma+(c[q+24>>2]|0)|0;K=c[n+24>>2]|0;e=z(K,w)|0;G=c[o+24>>2]|0;An(x,D+(c[r+24>>2]|0)|0,e+7&-8,e,G);Bn((c[b>>2]|0)+(c[p+24>>2]|0)|0,x,K,G,c[s>>2]|0,c[t>>2]|0)|0;la=ma}else la=ma;Hn(la)}while(0)}Hn(D);Ca=h;return}function yn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;a:do switch(c[d>>2]|0){case 3:{e=d+12|0;if(!(c[e>>2]|0)){f=0;g=0}else{h=d+8|0;i=0;j=0;k=0;l=0;while(1){m=a[(c[h>>2]|0)+(i<<2|3)>>0]|0;n=k+1|0;if(l>>>0>>0){o=n<<1;p=Gn(j,o)|0;if(!p){q=j;r=k;s=l}else{t=p;u=o;v=6}}else{t=j;u=l;v=6}if((v|0)==6){v=0;a[t+k>>0]=m;q=t;r=n;s=u}i=i+1|0;if(i>>>0>=(c[e>>2]|0)>>>0){f=q;g=r;break}else{j=q;k=r;l=s}}}break}case 0:{if(!(c[d+16>>2]|0)){f=0;g=0}else{l=d+20|0;k=c[l>>2]|0;j=Gn(0,2)|0;if(!j){e=c[l>>2]|0;i=Gn(0,2)|0;if(!i){f=0;g=0;break a}else{w=e;x=i;y=0;z=1}}else{a[j>>0]=k>>>8;w=c[l>>2]|0;x=j;y=1;z=2}a[x+y>>0]=w;f=x;g=z}break}case 2:{if(!(c[d+16>>2]|0)){f=0;g=0}else{j=d+20|0;l=c[j>>2]|0;k=Gn(0,2)|0;if(!k){i=c[j>>2]|0;e=Gn(0,2)|0;if(!e){A=0;B=0;C=0}else{D=i;E=e;F=0;G=1;v=17}}else{a[k>>0]=l>>>8;D=c[j>>2]|0;E=k;F=1;G=2;v=17}if((v|0)==17){a[E+F>>0]=D;A=E;B=G;C=2}k=d+24|0;j=(c[k>>2]|0)>>>8&255;l=B+1|0;if(C>>>0>>0){e=l<<1;i=Gn(A,e)|0;if(!i){H=l;I=A;J=B;K=C}else{L=i;M=e;v=20}}else{L=A;M=C;v=20}if((v|0)==20){a[L+B>>0]=j;H=B+2|0;I=L;J=l;K=M}l=c[k>>2]&255;if(K>>>0>>0){k=H<<1;j=Gn(I,k)|0;if(!j){N=H;O=I;P=J;Q=K}else{R=j;S=k;v=23}}else{R=I;S=K;v=23}if((v|0)==23){a[R+J>>0]=l;N=H+1|0;O=R;P=H;Q=S}l=d+28|0;k=(c[l>>2]|0)>>>8&255;if(Q>>>0>>0){j=N<<1;e=Gn(O,j)|0;if(!e){T=N;U=O;V=P;W=Q}else{X=e;Y=j;v=26}}else{X=O;Y=Q;v=26}if((v|0)==26){a[X+P>>0]=k;T=N+1|0;U=X;V=N;W=Y}k=c[l>>2]&255;if(W>>>0>>0){l=Gn(U,T<<1)|0;if(!l){f=U;g=V;break a}else Z=l}else Z=U;a[Z+V>>0]=k;f=Z;g=T}break}default:{f=0;g=0}}while(0);T=b+4|0;if(kn(b,T,g,52815,f)|0){Hn(f);return}c[b+8>>2]=c[T>>2];Hn(f);return}function zn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=a[d>>0]|0;if(f<<24>>24){g=0;h=0;i=0;j=0;k=f;f=1;l=1;while(1){if(f){m=l<<1;n=Gn(h,m)|0;if(!n){o=h;p=i;q=j}else{r=n;s=m;t=5}}else{r=h;s=j;t=5}if((t|0)==5){t=0;a[r+i>>0]=k;o=r;p=l;q=s}g=g+1|0;k=a[d+g>>0]|0;l=p+1|0;f=q>>>0>>0;if(!(k<<24>>24))break;else{h=o;i=p;j=q}}if(f){u=l;v=o;w=p;x=q;t=8}else{y=l;z=o;A=p;B=q;t=9}}else{u=1;v=0;w=0;x=0;t=8}if((t|0)==8){q=u<<1;p=Gn(v,q)|0;if(!p){C=v;D=w;E=x}else{y=u;z=p;A=w;B=q;t=9}}if((t|0)==9){a[z+A>>0]=0;C=z;D=y;E=B}B=a[e>>0]|0;if(!(B<<24>>24)){F=C;G=D}else{y=0;z=C;C=D;D=E;E=B;while(1){B=C+1|0;if(D>>>0>>0){A=B<<1;q=Gn(z,A)|0;if(!q){H=z;I=C;J=D}else{K=q;L=A;t=14}}else{K=z;L=D;t=14}if((t|0)==14){t=0;a[K+C>>0]=E;H=K;I=B;J=L}y=y+1|0;E=a[e+y>>0]|0;if(!(E<<24>>24)){F=H;G=I;break}else{z=H;C=I;D=J}}}J=b+4|0;if(kn(b,J,G,52810,F)|0){Hn(F);return}c[b+8>>2]=c[J>>2];Hn(F);return}function An(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=e-f|0;if(!g)return;i=(h|0)!=0;if(!f){j=0;k=0;while(1){if(i){l=0;m=j;while(1){n=b+(m>>>3)|0;a[n>>0]=(1<<(m&7^7)^255)&(d[n>>0]|0);l=l+1|0;if((l|0)==(h|0))break;else m=m+1|0}o=j+e|0}else o=j;k=k+1|0;if((k|0)==(g|0))break;else j=o}return}o=0;j=0;k=0;while(1){m=j+f|0;l=0;n=o;p=j;while(1){q=1<<(p&7^7);if(!(1<<(n&7^7)&(d[c+(n>>>3)>>0]|0))){r=b+(p>>>3)|0;s=r;t=(q^255)&(d[r>>0]|0)}else{r=b+(p>>>3)|0;s=r;t=q|(d[r>>0]|0)}a[s>>0]=t;l=l+1|0;if((l|0)==(f|0))break;else{n=n+1|0;p=p+1|0}}o=o+f|0;if(i){p=0;n=m;while(1){l=b+(n>>>3)|0;a[l>>0]=(1<<(n&7^7)^255)&(d[l>>0]|0);p=p+1|0;if((p|0)==(h|0))break;else n=n+1|0}u=j+e|0}else u=m;k=k+1|0;if((k|0)==(g|0))break;else j=u}return}function Bn(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=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;j=Ca;Ca=Ca+64|0;k=j;switch(h|0){case 3:case 0:{l=1;break}case 2:{l=3;break}case 4:{l=2;break}case 6:{l=4;break}default:l=0}m=z(l,i)|0;l=((z(m,f)|0)+7|0)>>>3;f=(m+7|0)>>>3;if(!m){n=31;Ca=j;return n|0}if((h|0)==3|i>>>0<8){if(!g){n=0;Ca=j;return n|0}i=l+1|0;if(!l){h=0;do{a[b+(z(h,i)|0)>>0]=0;h=h+1|0}while((h|0)!=(g|0));n=0;Ca=j;return n|0}h=0;do{m=z(h,i)|0;o=z(h,l)|0;a[b+m>>0]=0;p=b+(m+1)|0;m=e+o|0;o=0;do{a[p+o>>0]=a[m+o>>0]|0;o=o+1|0}while((o|0)!=(l|0));h=h+1|0}while((h|0)!=(g|0));n=0;Ca=j;return n|0}h=k;i=h+60|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=l<<1;i=k+8|0;do if(!l){c[k+4>>2]=l;c[k+16>>2]=l;c[k+28>>2]=l;c[k+40>>2]=l;q=k+56|0;r=k+44|0;s=k+32|0;t=k+20|0;u=0;v=0;w=0;x=0;y=0;A=89}else{o=Gn(0,h)|0;if(o){c[i>>2]=h;c[k>>2]=o;c[k+4>>2]=l;m=k+20|0;p=Gn(0,h)|0;if(p){c[m>>2]=h;c[k+12>>2]=p;c[k+16>>2]=l;B=k+32|0;C=Gn(0,h)|0;if(C){c[B>>2]=h;c[k+24>>2]=C;c[k+28>>2]=l;D=k+44|0;E=Gn(0,h)|0;if(E){c[D>>2]=h;c[k+36>>2]=E;c[k+40>>2]=l;F=k+56|0;G=Gn(0,h)|0;if(!G){H=m;I=E;J=C;K=p;L=o}else{c[F>>2]=h;c[k+48>>2]=G;q=F;r=D;s=B;t=m;u=E;v=p;w=o;x=C;y=G;A=89;break}}else{H=m;I=0;J=C;K=p;L=o}}else{H=m;I=0;J=0;K=p;L=o}}else{H=m;I=0;J=0;K=0;L=o}}else{H=k+20|0;I=0;J=0;K=0;L=0}M=9949;N=k+32|0;O=k+44|0;P=k+56|0;Q=H;R=L;S=K;T=J;U=I;V=0}while(0);if((A|0)==89){c[k+52>>2]=l;if(!g){M=0;N=s;O=r;P=q;Q=t;R=w;S=v;T=x;U=u;V=y}else{y=(l|0)==0;u=(f|0)!=0;x=(l|0)!=0;v=f>>>0>>0;w=l+1|0;A=0;I=0;J=0;K=0;while(1){L=J;J=e+(z(K,l)|0)|0;H=(L|0)==0;h=A;i=I;o=0;do{m=c[k+(o*12|0)>>2]|0;a:do switch((o&255)<<24>>24){case 0:{if(!y){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}break}case 1:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 2:{if(H){if(!x)break a;p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}else{if(!x)break a;p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 3:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[J+(p-f)>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[L+p>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(((d[L+p>>0]|0)+(d[J+(p-f)>>0]|0)|0)>>>1);p=p+1|0}while((p|0)!=(l|0))}break}case 4:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{C=p-f|0;G=a[J+C>>0]|0;E=a[L+p>>0]|0;B=a[L+C>>0]|0;C=E&255;D=B&255;F=C-D|0;W=(F|0)>-1?F:0-F|0;F=G&255;X=F-D|0;Y=(X|0)>-1?X:0-X|0;X=C+F+(z(D,-2)|0)|0;D=(X|0)>-1?X:0-X|0;a[m+p>>0]=(d[J+p>>0]|0)-(((W|0)>(Y|0)|(W|0)>(D|0)?((Y|0)>(D|0)?B:E):G)&255);p=p+1|0}while((p|0)!=(l|0))}break}default:{}}while(0);p=c[k+(o*12|0)+4>>2]|0;if(!p)Z=0;else{G=0;E=0;while(1){B=E+(d[m+G>>0]|0)|0;G=G+3|0;if(G>>>0>=p>>>0){Z=B;break}else E=B}}E=(o|0)==0|Z>>>0>>0;h=E?Z:h;i=E?o:i;o=o+1|0}while((o|0)!=5);o=z(K,w)|0;a[b+o>>0]=i;if(!y){L=c[k+(i*12|0)>>2]|0;H=0;do{E=H;H=H+1|0;a[b+(H+o)>>0]=a[L+E>>0]|0}while((H|0)!=(l|0))}K=K+1|0;if((K|0)==(g|0))break;else{A=h;I=i}}M=0;N=s;O=r;P=q;Q=t;R=c[k>>2]|0;S=c[k+12>>2]|0;T=c[k+24>>2]|0;U=c[k+36>>2]|0;V=c[k+48>>2]|0}}Hn(R);c[Q>>2]=0;Hn(S);c[N>>2]=0;Hn(T);c[O>>2]=0;Hn(U);c[P>>2]=0;Hn(V);n=M;Ca=j;return n|0}function Cn(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;i=Ca;Ca=Ca+240|0;j=i+8|0;k=i+4|0;l=i;c[j>>2]=2;c[j+4>>2]=1;c[j+8>>2]=2048;c[j+12>>2]=1;c[j+16>>2]=0;c[j+20>>2]=1;c[j+24>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;m=j+64|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[j+48>>2]=6;c[j+52>>2]=8;c[j+56>>2]=0;c[j+60>>2]=0;c[j+44>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;m=j+80|0;c[j+144>>2]=0;n=j+160|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;n=m;o=n+48|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));a[m+48>>0]=0;m=j+192|0;n=j+216|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[n>>2]=1;c[j+184>>2]=g;c[j+188>>2]=h;wn(j,k,l,d,e,f);f=c[n>>2]|0;on(j+28|0);j=c[m>>2]|0;if(j|0)Hn(j);j=c[k>>2]|0;k=c[l>>2]|0;l=Ar(b,58993)|0;if(!l){Hn(j);Ca=i;return f|0}bs(j,1,k,l)|0;Gr(l)|0;Hn(j);Ca=i;return f|0}function Dn(a){a=a|0;var b=0,d=0;if(a>>>0<=1073741824?(c[1053381]=(c[1053381]|0)+1,(a|0)!=0):0){b=Np(a+8|0)|0;c[b>>2]=-1060065012;c[b+4>>2]=a;c[1053383]=(c[1053383]|0)+a;d=b+8|0}else d=0;Ps(d|0,0,a|0)|0;return d|0}function En(a){a=a|0;var b=0,d=0;if(a>>>0>1073741824){b=0;return b|0}c[1053381]=(c[1053381]|0)+1;if(!a){b=0;return b|0}d=Np(a+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=a;c[1053383]=(c[1053383]|0)+a;b=d+8|0;return b|0}function Fn(a,b,c){a=a|0;b=b|0;c=c|0;Ps(a|0,b&255|0,c|0)|0;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0){c[1053383]=b-(c[a+-4>>2]|0)+(c[1053383]|0);d=Qp(a+-8|0,b+8|0)|0;c[d+4>>2]=b;e=d+8|0;return e|0}if(b>>>0>1073741824){e=0;return e|0}c[1053381]=(c[1053381]|0)+1;if(!b){e=0;return e|0}d=Np(b+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=b;c[1053383]=(c[1053383]|0)+b;e=d+8|0;return e|0}function Hn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ca;Ca=Ca+16|0;d=b+8|0;e=b;if(c[1053357]|0){Ca=b;return}if(!a){Ca=b;return}c[1053382]=(c[1053382]|0)+1;f=a+-8|0;g=c[f>>2]|0;h=a+-4|0;i=c[h>>2]|0;if((g|0)!=-1060065012){c[e>>2]=g;c[e+4>>2]=i;os(52820,e)|0;Ir(c[8398]|0)|0;e=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;mq(3552704,52820,d)|0;Ok(3552704);Ca=b;return}if(i>>>0>3){d=i>>>2;e=0;do{c[a+(e<<2)>>2]=-559038737;e=e+1|0}while(e>>>0>>0)}c[1053383]=(c[1053383]|0)-i;c[f>>2]=11254272;c[h>>2]=13491200;Op(f);Ca=b;return}function In(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[1053381]|0;c[1053381]=d+1;e=Np(100)|0;c[e>>2]=-1060065012;c[e+4>>2]=92;f=(c[1053383]|0)+92|0;c[1053383]=f;g=e+8|0;h=e+12|0;i=h+84|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g>>2]=1;h=e+20|0;c[h>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;i=(b|0)>4?b:4;c[e+96>>2]=i;if(i>>>0>1073741824){j=0;Ps(j|0,0,i|0)|0;c[h>>2]=j;return g|0}c[1053381]=d+2;if(!i){j=0;Ps(j|0,0,i|0)|0;c[h>>2]=j;return g|0}d=Np(i+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=i;c[1053383]=f+i;j=d+8|0;Ps(j|0,0,i|0)|0;c[h>>2]=j;return g|0}function Jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+88|0;e=c[d>>2]|0;if((e|0)>=(b|0))return 0;f=b<<1;c[d>>2]=f;g=a+12|0;a=c[g>>2]|0;if(!a)if(f>>>0<=1073741824){c[1053381]=(c[1053381]|0)+1;if(!b){h=0;i=0}else{b=Np(f+8|0)|0;c[b>>2]=-1060065012;c[b+4>>2]=f;c[1053383]=(c[1053383]|0)+f;h=b+8|0;i=f}}else{h=0;i=f}else{c[1053383]=f-(c[a+-4>>2]|0)+(c[1053383]|0);b=Qp(a+-8|0,f+8|0)|0;c[b+4>>2]=f;h=b+8|0;i=c[d>>2]|0}c[g>>2]=h;Ps(h+e|0,0,i-e|0)|0;return 0}function Kn(a){a=a|0;Ul(a);return}function Ln(a){a=a|0;if(!a)return;c[a+16>>2]=0;c[a+20>>2]=0;return}function Mn(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+92|0;e=c[d>>2]|0;c[d>>2]=e+1;a[b+28+e>>0]=-128;f=c[d>>2]|0;if((e|0)>55){if((f|0)<64){e=f;do{c[d>>2]=e+1;a[b+28+e>>0]=0;e=c[d>>2]|0}while((e|0)<64)}Nn(b);e=c[d>>2]|0;if((e|0)<56){g=e;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}}else if((f|0)<56){g=f;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}g=c[b+24>>2]|0;a[b+84>>0]=g>>>24;a[b+85>>0]=g>>>16;a[b+86>>0]=g>>>8;a[b+87>>0]=g;g=c[b+20>>2]|0;a[b+88>>0]=g>>>24;a[b+89>>0]=g>>>16;a[b+90>>0]=g>>>8;a[b+91>>0]=g;Nn(b);return}function Nn(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=Ca;Ca=Ca+320|0;e=b;f=0;do{g=f<<2;c[e+(f<<2)>>2]=(d[(g|2)+(a+28)>>0]|0)<<8|((d[(g|1)+(a+28)>>0]|0)<<16|(d[a+28+g>>0]|0)<<24)|(d[(g|3)+(a+28)>>0]|0);f=f+1|0}while((f|0)!=16);f=16;do{g=c[e+(f+-8<<2)>>2]^c[e+(f+-3<<2)>>2]^c[e+(f+-14<<2)>>2]^c[e+(f+-16<<2)>>2];c[e+(f<<2)>>2]=g<<1|g>>>31;f=f+1|0}while((f|0)!=80);f=c[a>>2]|0;g=a+4|0;h=c[g>>2]|0;i=a+8|0;j=c[i>>2]|0;k=a+12|0;l=c[k>>2]|0;m=a+16|0;n=c[m>>2]|0;o=l;p=j;q=h;r=f;s=n;t=0;while(1){u=(r<<5|r>>>27)+1518500249+s+(o&~q|p&q)+(c[e+(t<<2)>>2]|0)|0;v=q<<30|q>>>2;t=t+1|0;if((t|0)==20)break;else{w=r;x=p;p=v;r=u;s=o;q=w;o=x}}q=p;p=v;v=r;r=u;u=o;o=20;while(1){y=(r<<5|r>>>27)+1859775393+(p^v^q)+u+(c[e+(o<<2)>>2]|0)|0;z=v<<30|v>>>2;o=o+1|0;if((o|0)==40)break;else{s=r;t=p;p=z;r=y;u=q;v=s;q=t}}v=p;p=z;z=r;r=y;y=q;q=40;while(1){A=(r<<5|r>>>27)+-1894007588+y+((v|p)&z|v&p)+(c[e+(q<<2)>>2]|0)|0;B=z<<30|z>>>2;q=q+1|0;if((q|0)==60)break;else{u=r;o=p;p=B;r=A;y=v;z=u;v=o}}z=p;p=B;B=r;r=A;A=v;v=60;while(1){C=(r<<5|r>>>27)+-899497514+(p^B^z)+A+(c[e+(v<<2)>>2]|0)|0;D=B<<30|B>>>2;v=v+1|0;if((v|0)==80)break;else{y=r;q=p;p=D;r=C;A=z;B=y;z=q}}c[a>>2]=C+f;c[g>>2]=r+h;c[i>>2]=D+j;c[k>>2]=p+l;c[m>>2]=z+n;c[a+92>>2]=0;Ca=b;return}function On(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;f=Ca;Ca=Ca+128|0;g=f;h=f+24|0;i=h+20|0;c[i>>2]=0;j=h+24|0;c[j>>2]=0;k=h+92|0;c[k>>2]=0;c[h>>2]=1732584193;l=h+4|0;c[l>>2]=-271733879;m=h+8|0;c[m>>2]=-1732584194;n=h+12|0;c[n>>2]=271733878;o=h+16|0;c[o>>2]=-1009589776;p=h+96|0;c[p>>2]=0;q=h+100|0;c[q>>2]=0;a:do if(d){r=b;s=d;t=0;u=0;while(1){v=s+-1|0;w=a[r>>0]|0;c[k>>2]=t+1;a[h+28+t>>0]=w;w=u+8|0;c[i>>2]=w;if((w|0)==0?(w=(c[j>>2]|0)+1|0,c[j>>2]=w,(w|0)==0):0)c[q>>2]=1;if((c[k>>2]|0)==64)Nn(h);x=(c[q>>2]|0)==0;if(!v)break;if(!x){y=0;break a}r=r+1|0;s=v;t=c[k>>2]|0;u=c[i>>2]|0}if(x)if(!(c[p>>2]|0))z=13;else y=1;else y=0}else z=13;while(0);if((z|0)==13){Mn(h);c[p>>2]=1;y=1}p=c[l>>2]|0;l=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=p;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;mq(e,52842,g)|0;Ca=f;return y|0}function Pn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=b+f|0;i=e+g|0;j=i+-12|0;if(!g){if((f|0)!=1){k=-1;return k|0}k=((a[b>>0]|0)!=0)<<31>>31;return k|0}f=i+-8|0;g=h+-8|0;l=h+-6|0;m=i+-5|0;n=b;o=e;while(1){p=o;q=n+1|0;r=d[n>>0]|0;s=r>>>4;if((s|0)==15)if(q>>>0>>0){t=15;u=q;while(1){v=u+1|0;w=a[u>>0]|0;x=t+(w&255)|0;if(w<<24>>24==-1&v>>>0>>0){t=x;u=v}else{y=x;z=v;break}}}else{y=15;z=q}else{y=s;z=q}A=o+y|0;B=z+y|0;if(A>>>0>j>>>0|B>>>0>g>>>0){C=10;break}u=o+8|0;t=(A>>>0>u>>>0?A:u)+-1+(0-p)&-8;v=o;x=z;while(1){w=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[v>>0]=w;a[v+1>>0]=w>>8;a[v+2>>0]=w>>16;a[v+3>>0]=w>>24;w=v+4|0;D=x+4|0;E=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;a[w>>0]=E;a[w+1>>0]=E>>8;a[w+2>>0]=E>>16;a[w+3>>0]=E>>24;v=v+8|0;if(v>>>0>=A>>>0)break;else x=x+8|0}x=z+8+t+(A-(u+t))|0;v=d[x>>0]|d[x+1>>0]<<8;p=A+(0-(v&65535))|0;q=x+2|0;if(p>>>0>>0){F=q;break}x=r&15;a:do if((x|0)==15){s=15;E=q;while(1){if(E>>>0>=l>>>0){G=s;H=E;break a}w=E+1|0;D=a[E>>0]|0;I=s+(D&255)|0;if(D<<24>>24==-1){s=I;E=w}else{G=I;H=w;break}}}else{G=x;H=q}while(0);if((v&65535)<4){a[A>>0]=a[p>>0]|0;a[A+1>>0]=a[p+1>>0]|0;a[A+2>>0]=a[p+2>>0]|0;a[A+3>>0]=a[p+3>>0]|0;q=A+4|0;x=p+4|0;r=q;t=x+(0-(c[27920+(r-x<<2)>>2]|0))|0;x=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;a[q>>0]=x;a[q+1>>0]=x>>8;a[q+2>>0]=x>>16;a[q+3>>0]=x>>24;J=t;K=q;L=r}else{r=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[A>>0]=r;a[A+1>>0]=r>>8;a[A+2>>0]=r>>16;a[A+3>>0]=r>>24;r=A+4|0;J=p+4|0;K=r;L=r}r=A+4+G|0;if(r>>>0>f>>>0){if(r>>>0>m>>>0){F=H;break}q=A+12|0;t=(f>>>0>q>>>0?f:q)+-1+(0-L)&-8;x=J;u=K;while(1){E=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[u>>0]=E;a[u+1>>0]=E>>8;a[u+2>>0]=E>>16;a[u+3>>0]=E>>24;E=u+4|0;s=x+4|0;w=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;a[E>>0]=w;a[E+1>>0]=w>>8;a[E+2>>0]=w>>16;a[E+3>>0]=w>>24;u=u+8|0;if(u>>>0>=f>>>0)break;else x=x+8|0}x=q+t|0;if(x>>>0>>0){u=J+8+t|0;p=x;while(1){a[p>>0]=a[u>>0]|0;p=p+1|0;if((p|0)==(r|0))break;else u=u+1|0}}}else{u=J;p=K;while(1){t=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;a[p>>0]=t;a[p+1>>0]=t>>8;a[p+2>>0]=t>>16;a[p+3>>0]=t>>24;t=p+4|0;q=u+4|0;x=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[t>>0]=x;a[t+1>>0]=x>>8;a[t+2>>0]=x>>16;a[t+3>>0]=x>>24;p=p+8|0;if(p>>>0>=r>>>0)break;else u=u+8|0}}n=H;o=r}if((C|0)==10)if(A>>>0>i>>>0|(B|0)!=(h|0))F=z;else{Os(o|0,z|0,y|0)|0;k=A-e|0;return k|0}k=b+-1-F|0;return k|0}function Qn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;if(c[1052786]|c[1052784]|0){Ps(d|0,0,e|0)|0;return}a=c[1052797]|0;if((a|0)<22050)switch(a|0){case 0:{f=5;break}default:{}}else switch(a|0){case 22050:{f=5;break}default:{}}if((f|0)==5){Rn(0,d,e);return}f=((e*22050|0)/(a|0)|0|0)/2|0;a=(e|0)/2|0;Rn(0,3573312,f<<1);if((e|0)>1){g=f<<4;h=f+-1|0;f=0;do{i=(z(g,f)|0)/(a|0)|0;j=i&15;k=(i|0)/16|0;i=k+1|0;l=z(16-j|0,b[3573312+(k<<1)>>1]|0)|0;b[3606080+(f<<1)>>1]=((z(j,b[3573312+(((i|0)<(h|0)?i:h)<<1)>>1]|0)|0)+l|0)/16|0;f=f+1|0}while((f|0)!=(a|0))}Os(d|0,3606080,e|0)|0;return}function Rn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;if(ha(20)|0){Ps(d|0,0,e|0)|0;return}a=c[1052785]|0;c[1052785]=a+1;if((a|0)>2){Ps(d|0,0,e|0)|0;return}c[1231609]=1;a=(e|0)/2|0;f=(c[8395]|0)==-1;g=Vo()|0;if(!f){f=(g-(c[8395]|0)|0)>500;c[8395]=Vo()|0;if(f){if((e|0)<=1)return;Ps(d|0,0,a<<1|0)|0;return}}else c[8395]=g;c[1053390]=0;Sn(4739172,a);Sn(4750876,a);Sn(4762580,a);Sn(4774284,a);Sn(4785988,a);Sn(4797692,a);Sn(4809396,a);Sn(4821100,a);Sn(4832804,a);Sn(4844508,a);Sn(4856212,a);Sn(4867916,a);Sn(4879620,a);Sn(4891324,a);Sn(4903028,a);Sn(4914732,a);if(c[1053390]|0)c[1052792]=(c[1052792]|0)+1;if(c[1052827]|0){g=a<<1;if(c[1186849]|0)Ps(4785988,0,g|0)|0;if(c[1189775]|0)Ps(4797692,0,g|0)|0;if(c[1192701]|0)Ps(4809396,0,g|0)|0;if(c[1195627]|0)Ps(4821100,0,g|0)|0}g=(e|0)>1;if(g){e=0;do{f=e;e=e+1|0;h=0;do{i=4739172+(f*11704|0)+(h<<1)|0;j=(b[4739172+(e*11704|0)+(h<<1)>>1]|0)+(b[i>>1]|0)|0;if((j|0)<=24575)if((j|0)<-24575)k=((j+24576|0)/5|0)+-24576|0;else k=j;else k=((j+-24576|0)/5|0)+24576|0;b[i>>1]=k;h=h+1|0}while((h|0)!=(a|0))}while(e>>>0<16);e=0;do{k=4739172+(e<<1)|0;h=(b[4762580+(e<<1)>>1]|0)+(b[k>>1]|0)|0;if((h|0)<=24575)if((h|0)<-24575)l=((h+24576|0)/5|0)+-24576|0;else l=h;else l=((h+-24576|0)/5|0)+24576|0;b[k>>1]=l;e=e+1|0}while((e|0)!=(a|0));e=0;do{l=4762580+(e<<1)|0;k=(b[4785988+(e<<1)>>1]|0)+(b[l>>1]|0)|0;if((k|0)<=24575)if((k|0)<-24575)m=((k+24576|0)/5|0)+-24576|0;else m=k;else m=((k+-24576|0)/5|0)+24576|0;b[l>>1]=m;e=e+1|0}while((e|0)!=(a|0));e=0;do{m=4785988+(e<<1)|0;l=(b[4809396+(e<<1)>>1]|0)+(b[m>>1]|0)|0;if((l|0)<=24575)if((l|0)<-24575)n=((l+24576|0)/5|0)+-24576|0;else n=l;else n=((l+-24576|0)/5|0)+24576|0;b[m>>1]=n;e=e+1|0}while((e|0)!=(a|0));e=0;do{n=4809396+(e<<1)|0;m=(b[4832804+(e<<1)>>1]|0)+(b[n>>1]|0)|0;if((m|0)<=24575)if((m|0)<-24575)o=((m+24576|0)/5|0)+-24576|0;else o=m;else o=((m+-24576|0)/5|0)+24576|0;b[n>>1]=o;e=e+1|0}while((e|0)!=(a|0));e=0;do{o=4832804+(e<<1)|0;n=(b[4856212+(e<<1)>>1]|0)+(b[o>>1]|0)|0;if((n|0)<=24575)if((n|0)<-24575)p=((n+24576|0)/5|0)+-24576|0;else p=n;else p=((n+-24576|0)/5|0)+24576|0;b[o>>1]=p;e=e+1|0}while((e|0)!=(a|0));e=0;do{p=4856212+(e<<1)|0;o=(b[4879620+(e<<1)>>1]|0)+(b[p>>1]|0)|0;if((o|0)<=24575)if((o|0)<-24575)q=((o+24576|0)/5|0)+-24576|0;else q=o;else q=((o+-24576|0)/5|0)+24576|0;b[p>>1]=q;e=e+1|0}while((e|0)!=(a|0));e=0;do{q=4879620+(e<<1)|0;p=(b[4903028+(e<<1)>>1]|0)+(b[q>>1]|0)|0;if((p|0)<=24575)if((p|0)<-24575)r=((p+24576|0)/5|0)+-24576|0;else r=p;else r=((p+-24576|0)/5|0)+24576|0;b[q>>1]=r;e=e+1|0}while((e|0)!=(a|0));e=0;do{r=4903028+(e<<1)|0;q=(b[4926436+(e<<1)>>1]|0)+(b[r>>1]|0)|0;if((q|0)<=24575)if((q|0)<-24575)s=((q+24576|0)/5|0)+-24576|0;else s=q;else s=((q+-24576|0)/5|0)+24576|0;b[r>>1]=s;e=e+1|0}while((e|0)!=(a|0));e=0;do{s=4739172+(e<<1)|0;r=(b[4785988+(e<<1)>>1]|0)+(b[s>>1]|0)|0;if((r|0)<=24575)if((r|0)<-24575)t=((r+24576|0)/5|0)+-24576|0;else t=r;else t=((r+-24576|0)/5|0)+24576|0;b[s>>1]=t;e=e+1|0}while((e|0)!=(a|0));e=0;do{t=4785988+(e<<1)|0;s=(b[4832804+(e<<1)>>1]|0)+(b[t>>1]|0)|0;if((s|0)<=24575)if((s|0)<-24575)u=((s+24576|0)/5|0)+-24576|0;else u=s;else u=((s+-24576|0)/5|0)+24576|0;b[t>>1]=u;e=e+1|0}while((e|0)!=(a|0));e=0;do{u=4832804+(e<<1)|0;t=(b[4879620+(e<<1)>>1]|0)+(b[u>>1]|0)|0;if((t|0)<=24575)if((t|0)<-24575)v=((t+24576|0)/5|0)+-24576|0;else v=t;else v=((t+-24576|0)/5|0)+24576|0;b[u>>1]=v;e=e+1|0}while((e|0)!=(a|0));e=0;do{v=4879620+(e<<1)|0;u=(b[4926436+(e<<1)>>1]|0)+(b[v>>1]|0)|0;if((u|0)<=24575)if((u|0)<-24575)w=((u+24576|0)/5|0)+-24576|0;else w=u;else w=((u+-24576|0)/5|0)+24576|0;b[v>>1]=w;e=e+1|0}while((e|0)!=(a|0));e=0;do{w=4739172+(e<<1)|0;v=(b[4832804+(e<<1)>>1]|0)+(b[w>>1]|0)|0;if((v|0)<=24575)if((v|0)<-24575)x=((v+24576|0)/5|0)+-24576|0;else x=v;else x=((v+-24576|0)/5|0)+24576|0;b[w>>1]=x;e=e+1|0}while((e|0)!=(a|0));e=0;do{x=4832804+(e<<1)|0;w=(b[4926436+(e<<1)>>1]|0)+(b[x>>1]|0)|0;if((w|0)<=24575)if((w|0)<-24575)y=((w+24576|0)/5|0)+-24576|0;else y=w;else y=((w+-24576|0)/5|0)+24576|0;b[x>>1]=y;e=e+1|0}while((e|0)!=(a|0))}e=c[1052808]|0;if((e|0)!=256&g){y=0;do{x=4739172+(y<<1)|0;b[x>>1]=(z(e,b[x>>1]|0)|0)>>>8;y=y+1|0}while((y|0)!=(a|0))}if(!((c[1184792]|0)==0|(c[1053391]|0)==0)?(y=c[1053389]|0,(y|0)!=0):0){e=(z(c[1052809]|0,y)|0)>>16;if(0)Mp(4213564,3565120,a);if(g){y=0;do{x=3565120+(y<<1)|0;b[x>>1]=(z(e,b[x>>1]|0)|0)>>>8;y=y+1|0}while((y|0)!=(a|0));y=0;do{e=4739172+(y<<1)|0;x=(b[3565120+(y<<1)>>1]|0)+(b[e>>1]|0)|0;if((x|0)<=24575)if((x|0)<-24575)A=((x+24576|0)/5|0)+-24576|0;else A=x;else A=((x+-24576|0)/5|0)+24576|0;b[e>>1]=A;y=y+1|0}while((y|0)!=(a|0));B=41}}else B=41;if((B|0)==41?g:0){B=0;do{b[d+(B<<1)>>1]=b[4739172+(B<<1)>>1]|0;B=B+1|0}while((B|0)!=(a|0));if((c[1052791]|0)!=0&g){g=0;do{Ol(b[d+(g<<1)>>1]|0,0);g=g+1|0}while((g|0)!=(a|0))}}c[1231609]=0;return}function Sn(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;Fn(a,0,8192);if(1<>2]&c[1267779]){Tn(a,((d|0)/2|0)+1|0);if((d|0)>0){e=d;do{f=e;e=e+-1|0;b[a+(e<<1)>>1]=b[a+(((e|0)/2|0)<<1)>>1]|0}while((f|0)>1)}}else Tn(a,d);e=a+8208|0;f=c[e>>2]|0;if(!((f|0)!=0&(d|0)>0))return;g=c[f>>2]|0;h=a+8216|0;i=f+28|0;j=f+20|0;f=~d;k=~g;l=0;m=c[h>>2]|0;while(1){n=d-l|0;o=g-m|0;p=(n|0)<(o|0)?n:o;if((p|0)<1)break;o=c[j>>2]|0;n=l+f|0;q=m+k|0;r=(n|0)>(q|0)?n:q;q=l+-1|0;n=0;s=l;t=m;while(1){b[a+(s<<1)>>1]=b[o+(t<<1)>>1]|0;n=n+1|0;if((n|0)>=(p|0))break;else{s=s+1|0;t=t+1|0}}t=m+-1-r|0;l=q-r|0;c[h>>2]=t;s=(c[i>>2]|0)==0|(t|0)<(g|0);c[h>>2]=s?t:0;if((l|0)>=(d|0)){u=14;break}else m=s?t:0}if((u|0)==14)return;if((g|0)>(m|0))return;c[a+11544>>2]=0;c[e>>2]=0;c[a+8232>>2]=0;e=a+8220|0;c[e>>2]=0;c[e+4>>2]=0;return}function Tn(a,d){a=a|0;d=d|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;if((d|0)<=0)return;f=a+11540|0;g=a+8240|0;h=a+8604|0;i=a+8236|0;j=a+11536|0;k=a;l=d;d=b[f>>1]|0;while(1){m=d<<16>>16;if(d<<16>>16<183){n=183-m|0;o=(n|0)<(l|0)?n:l;Os(k|0,a+8240+(m<<1)|0,o<<1|0)|0;b[f>>1]=o+(e[f>>1]|0);m=l-o|0;if((m|0)>0){p=k+(o<<1)|0;q=m}else{r=19;break}}else{p=k;q=l}m=b[h>>1]|0;if(!(1<>2]&c[1267780]))Un(a,g);else{Os(a+8606+(((c[j>>2]|0)%8|0)*366|0)|0,g|0,366)|0;c[j>>2]=((c[j>>2]|0)+1|0)%8|0;Un(a,g);o=((c[j>>2]|0)+4|0)%8|0;n=0;do{s=a+8240+(n<<1)|0;b[s>>1]=((b[a+8606+(o*366|0)+(n<<1)>>1]<<1)+((b[s>>1]|0)*3|0)|0)/4|0;n=n+1|0}while((n|0)!=183)}n=1<>2];if(n&c[1267781]|0){o=0;do{s=a+8240+(o<<1)|0;t=b[s>>1]|0;u=t<<16>>16;if(t<<16>>16>-1)v=u&-4096;else v=0-((0-(u<<16)|0)>>>16&61440)|0;b[s>>1]=v;o=o+1|0}while((o|0)!=183)}if(c[1267782]&n|0){o=(((m<<16>>16)*7|0)+(b[g>>1]|0)|0)/8|0;b[g>>1]=o;s=1;u=o;do{o=a+8240+(s<<1)|0;u=(((u<<16>>16)*7|0)+(b[o>>1]|0)|0)/8|0;b[o>>1]=u;s=s+1|0}while((s|0)!=183)}b[f>>1]=0;if((q|0)>0){k=p;l=q;d=0}else{r=19;break}}if((r|0)==19)return}function Un(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;e=Ca;Ca=Ca+64|0;f=e;Ps(d|0,0,366)|0;g=a+8224|0;h=c[g>>2]|0;i=(h|0)!=0;if(i){j=c[h+4>>2]|0;k=(j|0)>1?j:1;j=a+8228|0;l=c[j>>2]|0;m=(l|0)/(k|0)|0;n=l-(z(m,k)|0)|0;l=a+11552|0;o=f;p=l;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));if(!n){c[a+11620>>2]=c[a+11604>>2];c[a+11616>>2]=c[a+11600>>2];c[a+11624>>2]=c[a+11596>>2]}Wn(a,l);Vn(l,d,183);o=3638848;q=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(q|0));Vn(f,3638848,64);f=0;do{o=d+(f<<1)|0;q=z(f,b[o>>1]|0)|0;b[o>>1]=((z(64-f|0,b[3638848+(f<<1)>>1]|0)|0)+q|0)/64|0;f=f+1|0}while((f|0)!=64);f=a+11696|0;r=k;s=f;t=j;u=c[f>>2]|0;v=m}else{m=a+8228|0;f=c[m>>2]|0;Ps(d|0,0,366)|0;j=a+11552|0;k=a+11580|0;if(c[a+11560>>2]|0?c[k>>2]|0:0){Vn(j,d,64);j=0;do{q=d+(j<<1)|0;b[q>>1]=(z(64-j|0,b[q>>1]|0)|0)/64|0;j=j+1|0}while((j|0)!=64)}c[k>>2]=0;k=a+11696|0;c[k>>2]=0;r=1;s=k;t=m;u=0;v=f}f=(c[t>>2]|0)+1|0;c[t>>2]=f;m=a+11700|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;c[s>>2]=u+1;if((i?c[a+8232>>2]|0:0)?(i=c[h+8>>2]|0,u=c[h+12>>2]|0,!((i|0)>=(u|0)|(f|0)<(z(u,r)|0))):0)c[t>>2]=z(i,r)|0;a:do if(c[g>>2]|0?(c[a+11544>>2]|0)==0:0){if(!k){c[g>>2]=0;break}if((c[h+12>>2]|0)<=(z(c[h+8>>2]|0,r)|0)){do if((v|0)<32){i=0;u=v;while(1){i=(c[h+16+(u*20|0)+8>>2]|0)>0?1:i;if((u|0)>=31)break;else u=u+1|0}if((v|0)<31)if((i|0)==0?(c[h+16+(v*20|0)+12>>2]|0)!=1:0)break;else break a;else if(!i)break;else break a}while(0);c[g>>2]=0}}while(0);v=a+8220|0;h=c[v>>2]|0;if(!h){Ca=e;return}r=a+11544|0;if(!((k|0)==0&(c[r>>2]|0)!=0)){Ca=e;return}k=a+11548|0;u=c[k>>2]|0;if(u>>>0>=64){Ca=e;return}c[1053390]=1;f=c[h+43020+(u<<2)>>2]|0;do if(!(f&4)){b:do if(f&2){if((u|0)<=0){c[1052793]=u;w=0;break}if(!(f&1)){s=u;while(1){j=s+-1|0;c[k>>2]=j;if((s|0)<=1){x=j;y=41;break b}if(!(c[h+43020+(j<<2)>>2]&1))s=j;else{x=j;y=41;break}}}else{x=u;y=41}}else{s=u+1|0;c[k>>2]=s;x=s;y=41}while(0);if((y|0)==41){c[1052793]=x;if(x>>>0>63)break;else w=x}s=h+41996+(w<<4)|0;if((((c[s>>2]|0)>63?(c[h+41996+(w<<4)+4>>2]|0)>63:0)?(c[h+41996+(w<<4)+8>>2]|0)>63:0)?(c[h+41996+(w<<4)+12>>2]|0)>63:0){c[r>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;i=v;c[i>>2]=0;c[i+4>>2]=0;Ca=e;return}i=c[h+41996+(w<<4)+(c[a+8236>>2]<<2)>>2]|0;if((i|0)>63)A=0;else A=h+12+(((i|0)>0?i:0)*656|0)|0;c[g>>2]=A;c[t>>2]=0;b[a+11540>>1]=183;c[m>>2]=Xn(h,s)|0;Ca=e;return}else{c[k>>2]=-1;c[1052793]=-1}while(0);c[r>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;a=v;c[a>>2]=0;c[a+4>>2]=0;Ca=e;return}function Vn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0;f=c[a+28>>2]|0;g=a+4|0;if(!f){c[g>>2]=0;Ps(d|0,0,e<<1|0)|0;return}h=c[g>>2]|0;i=c[a+8>>2]|0;j=(f*3|0)/2|0;f=c[a>>2]|0;k=(e|0)>0;if((f|0)==0&k){l=h;m=0;while(1){b[d+(m<<1)>>1]=(z((((l&32768|0)==0?(l*3|0)+-49152|0:(49152-l|0)*3|0)|0)/4|0,j)|0)/2048|0;n=l+i&65535;m=m+1|0;if((m|0)==(e|0)){o=n;break}else l=n}}else o=h;if((f|0)==1&k){h=0;l=o;while(1){m=(l|0)>57343;b[d+(h<<1)>>1]=(z((((m?65535-l|0:l)*24572|0)/((m?8192:57344)|0)|0)+-12286|0,j)|0)/2048|0;m=l+i&65535;h=h+1|0;if((h|0)==(e|0)){p=m;break}else l=m}}else p=o;if((f|0)==2&k){o=0;l=p;while(1){b[d+(o<<1)>>1]=(z((l+-32768|0)/4|0,j)|0)/2048|0;h=l+i&65535;o=o+1|0;if((o|0)==(e|0)){q=h;break}else l=h}}else q=p;if((f|0)==3&k){p=0;l=q;while(1){b[d+(p<<1)>>1]=(z((l&32768|0)==0?-6143:6143,j)|0)/2048|0;o=l+i&65535;p=p+1|0;if((p|0)==(e|0)){r=o;break}else l=o}}else r=q;if((f|0)==4&k){q=0;l=r;while(1){b[d+(q<<1)>>1]=(z((l|0)>45055?6143:-6143,j)|0)/2048|0;p=l+i&65535;q=q+1|0;if((q|0)==(e|0)){s=p;break}else l=p}}else s=r;if((f|0)==5&k){r=s;l=0;while(1){q=(r&16384|0)!=0;if(!(r&32768))t=q?32768-r|0:r;else t=((q?65536-r|0:r+-32768|0)<<1|0)/3|0;b[d+(l<<1)>>1]=(z(t+-8192|0,j)|0)/2048|0;q=r+i&65535;l=l+1|0;if((l|0)==(e|0)){u=q;break}else r=q}}else u=s;if((f|0)==6){if((i|0)>78)v=(i<<3)+1120|0;else v=(z(79-i|0,-60)|0)+1752|0;s=(v|0)>0?v:0;if(k){v=a+24|0;r=(i+500|0)/3|0;l=s>>>1;t=a+20|0;q=a+40|0;p=a+36|0;o=u;h=0;do{m=c[v>>2]&1^1;c[v>>2]=m;if(m|0){m=(Am(s)|0)-l|0;c[t>>2]=m+(c[t>>2]|0)}if(((z(o+101|0,o+317|0)|0)&8191|0)<(r|0)){m=(Am(12286)|0)+-6143|0;n=(z(m,c[q>>2]|0)|0)/7|0;m=n+(c[t>>2]|0)|0;c[t>>2]=m;w=m}else w=c[t>>2]|0;m=c[p>>2]|0;n=(2048/(((m|0)<48?64:m+16|0)|0)|0)+48|0;m=(w|0)<6143?w:6143;c[t>>2]=(m|0)>-6143?m:-6143;b[d+(h<<1)>>1]=(z(z(w>>6,j)|0,(n|0)>64?n:64)|0)/2048|0;o=o+i&65535;h=h+1|0}while((h|0)!=(e|0));x=o;y=c[a>>2]|0;A=37}else B=u}else{x=u;y=f;A=37}if((A|0)==37)if((y|0)==7){y=a+12|0;a=c[y>>2]|0;if(k){k=z(i,e)|0;A=a;f=x;u=0;while(1){o=(A*127|0)/128|0;h=o>>>2&16383;b[d+(u<<1)>>1]=(z((((f&32768|0)==0?f:65535-f|0)>>1)+-16384+((o&32768|0)==0?h:h^16383)|0,j)|0)/2048|0;f=f+i&65535;u=u+1|0;if((u|0)==(e|0))break;else A=A+i|0}C=a+k|0;D=f}else{C=a;D=x}c[y>>2]=C;B=D}else B=x;c[g>>2]=B;return}function Wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=c[a+8224>>2]|0;if(d|0?(e=c[d+4>>2]|0,f=(e|0)>1?e:1,g=a+8228|0,h=c[g>>2]|0,i=(h|0)/(f|0)|0,j=h-(z(i,f)|0)|0,i>>>0<=31):0){k=(e|0)<9;e=d+16+(i*20|0)|0;l=c[d+16+(i*20|0)+4>>2]|0;c[b>>2]=l;m=c[d+16+(i*20|0)+8>>2]|0;n=m<<8;o=b+28|0;c[o>>2]=n;p=c[e>>2]|0;q=p<<16;r=b+32|0;c[r>>2]=q;c[b+48>>2]=p;c[b+52>>2]=l;c[b+44>>2]=m;if(!(c[a+11544>>2]|0))s=n;else{t=(z(c[1053389]>>8,n)|0)/256|0;n=(z(t,c[1052809]|0)|0)/256|0;c[o>>2]=n;s=n}n=d+16+(i*20|0)+12|0;t=c[n>>2]|0;switch(t|0){case 1:{if((i|0)>0){u=c[a+11616>>2]|0;v=c[a+11624>>2]<<8}else{u=24;v=s}w=f-j|0;x=((z(w<<16,u)|0)+(z(q,j)|0)|0)/(f|0)|0;c[r>>2]=x;c[o>>2]=((z(v,w)|0)+(z(s,j)|0)|0)/(f|0)|0;y=x;A=0;break}case 4:{c[o>>2]=(z(s,j)|0)/(f|0)|0;y=q;A=1;break}case 5:{c[o>>2]=(z(s,f-j|0)|0)/(f|0)|0;y=q;A=0;break}case 6:{s=c[d+16+(((((h|0)/((k?2:4)|0)|0|0)%4|0)+(i&28)|0)*20|0)>>2]<<16;c[r>>2]=s;y=s;A=0;break}case 7:{s=c[d+16+(((((h|0)/((k?4:8)|0)|0|0)%4|0)+(i&28)|0)*20|0)>>2]<<16;c[r>>2]=s;y=s;A=0;break}default:{y=q;A=0}}c[b+36>>2]=p;c[b+40>>2]=m;m=b+56|0;c[m>>2]=0;q=d+16+(i*20|0)+16|0;if(!(c[q>>2]|0)){c[a+11696>>2]=0;B=y}else{do if(!j){y=(t|0)!=1&((i|0)==0?1:(p|0)!=(c[a+11616>>2]|0));d=(t|0)==3;if(!(y&(d^1)|(A|d&(y^1)))?(l|0)==(c[a+11620>>2]|0):0)break;c[a+11696>>2]=0}while(0);Yn(a,e,b);B=c[r>>2]|0}r=B&65535;e=B>>16;a=((e+48|0)/12|0)+-4|0;if((B|0)>-1)C=e;else C=12-((0-e|0)%12|0)|0;e=(C|0)%12|0;C=z(c[27952+(e<<2)>>2]|0,65536-r|0)|0;l=((z(c[27952+(e+1<<2)>>2]|0,r)|0)+C|0)/22050|0;if((B|0)<2359296){B=l;C=a;while(1){r=C+1|0;e=(B|0)/2|0;if((C|0)<2){B=e;C=r}else{D=r;E=e;break}}}else{D=a;E=l}if((D|0)>3){l=E;a=D;while(1){D=l<<1;if((a|0)>4){l=D;a=a+-1|0}else{F=D;break}}}else F=E;E=(F|0)<32768?F:32768;F=(E|0)>8?E:8;E=b+8|0;c[E>>2]=F;a=c[n>>2]|0;n=c[m>>2]|0;m=(n|0)==2;if((a|0)==2)if(m)switch((c[g>>2]|0)>>>1&7){case 1:{c[E>>2]=(F*130|0)>>>7;return}case 2:{c[E>>2]=(F*132|0)>>>7;return}case 3:{c[E>>2]=(F*130|0)>>>7;return}case 5:{c[E>>2]=(F*126|0)>>>7;return}case 6:{c[E>>2]=(F*124|0)>>>7;return}case 7:{c[E>>2]=(F*126|0)>>>7;return}default:return}else G=39;else if(m)G=39;else H=F;a:do if((G|0)==39)switch((c[g>>2]|0)>>>1&7){case 1:{m=(F*129|0)>>>7;c[E>>2]=m;H=m;break a;break}case 2:{m=(F*130|0)>>>7;c[E>>2]=m;H=m;break a;break}case 3:{m=(F*129|0)>>>7;c[E>>2]=m;H=m;break a;break}case 5:{m=(F*127|0)>>>7;c[E>>2]=m;H=m;break a;break}case 6:{m=(F*126|0)>>>7;c[E>>2]=m;H=m;break a;break}case 7:{m=(F*127|0)>>>7;c[E>>2]=m;H=m;break a;break}default:{H=F;break a}}while(0);if((a|0)==3&(c[q>>2]|0)==0){q=(z(H,f-j|0)|0)/(f|0)|0;c[E>>2]=q;I=q}else I=H;if((n|0)!=3)return;c[E>>2]=(z(c[b+60>>2]|0,I)|0)/256|0;return}c[b+28>>2]=0;c[b>>2]=0;c[b+8>>2]=0;return}function Xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c[b>>2]|0;e=d>>>0<64;if(e?(c[a+12+(d*656|0)+12>>2]|0)<=(c[a+12+(d*656|0)+8>>2]|0):0)f=d;else g=4;do if((g|0)==4){h=c[b+4>>2]|0;i=h>>>0<64;if(i?(c[a+12+(h*656|0)+12>>2]|0)<=(c[a+12+(h*656|0)+8>>2]|0):0){f=h;break}j=c[b+8>>2]|0;k=j>>>0<64;if(k?(c[a+12+(j*656|0)+12>>2]|0)<=(c[a+12+(j*656|0)+8>>2]|0):0){f=j;break}l=c[b+12>>2]|0;m=l>>>0<64;if(m?(c[a+12+(l*656|0)+12>>2]|0)<=(c[a+12+(l*656|0)+8>>2]|0):0){f=l;break}if(e){n=c[a+12+(d*656|0)+4>>2]|0;o=((n|0)>1?n:1)<<5}else o=0;if(i){i=c[a+12+(h*656|0)+4>>2]|0;h=((i|0)>1?i:1)<<5;p=(o|0)>(h|0)?o:h}else p=o;if(k){k=c[a+12+(j*656|0)+4>>2]|0;j=((k|0)>1?k:1)<<5;q=(p|0)>(j|0)?p:j}else q=p;if(!m){r=q;return r|0}m=c[a+12+(l*656|0)+4>>2]|0;l=((m|0)>1?m:1)<<5;r=(q|0)>(l|0)?q:l;return r|0}while(0);q=c[a+12+(f*656|0)+4>>2]|0;r=(q|0)<1?32:q<<5;return r|0}function Yn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+8220>>2]|0;if(!e)return;f=c[b+4>>2]|0;b=(f|0)<7?f:7;f=(b|0)>0?b:0;b=c[e+12+(f*656|0)+4>>2]|0;g=(b|0)>1?b:1;h=(b|0)<9;b=c[e+12+(f*656|0)+12>>2]|0;i=c[e+12+(f*656|0)+8>>2]|0;j=a+11696|0;k=c[j>>2]|0;if((b|0)<=(i|0)|(k|0)<(z(g,b)|0))l=k;else{k=z(i,g)|0;c[j>>2]=k;l=k}k=(l|0)/(g|0)|0;j=l-(z(k,g)|0)|0;if((k|0)>31){c[d+28>>2]=0;c[d>>2]=0;return}i=(k|0)>0;b=i?k:0;m=e+12+(f*656|0)+16+(b*20|0)|0;n=c[m>>2]|0;o=n<<16;p=e+12+(f*656|0)+16+(b*20|0)+8|0;q=c[p>>2]|0;r=q<<8;if((j|0)==(g+-1|0)){c[a+11636>>2]=n;c[a+11644>>2]=q;c[a+11640>>2]=c[e+12+(f*656|0)+16+(b*20|0)+4>>2]}q=c[e+12+(f*656|0)+16+(b*20|0)+12>>2]|0;switch(q|0){case 1:{if(i){s=c[a+11636>>2]<<16;t=c[a+11644>>2]<<8}else{s=1572864;t=r}a=g-j|0;u=((z(s,a)|0)+(z(j<<16,c[m>>2]|0)|0)|0)/(g|0)|0;v=((z(t,a)|0)+(z(r,j)|0)|0)/(g|0)|0;break}case 3:{c[d+60>>2]=(g-j<<8|0)/(g|0)|0;u=o;v=r;break}case 4:{u=o;v=(z(r,j)|0)/(g|0)|0;break}case 5:{u=o;v=(z(r,g-j|0)|0)/(g|0)|0;break}case 6:{u=c[e+12+(f*656|0)+16+(((((l|0)/((h?2:4)|0)|0|0)%4|0)+(k&28)|0)*20|0)>>2]<<16;v=r;break}case 7:{u=c[e+12+(f*656|0)+16+(((((l|0)/((h?4:8)|0)|0|0)%4|0)+(k&28)|0)*20|0)>>2]<<16;v=r;break}default:{u=o;v=r}}c[d>>2]=c[e+12+(f*656|0)+16+(b*20|0)+4>>2];b=d+32|0;c[b>>2]=u+-1572864+(c[b>>2]|0);b=d+28|0;c[b>>2]=(z(c[b>>2]|0,v)|0)/1792|0;v=d+36|0;c[v>>2]=(c[m>>2]|0)+-24+(c[v>>2]|0);c[d+40>>2]=c[p>>2];c[d+56>>2]=q;return}function Zn(a){a=a|0;var b=0,d=0,e=0;b=Ca;Ca=Ca+16|0;d=b;Fn(3565120,0,8192);c[1053391]=0;Fn(4739172,0,187264);c[d>>2]=c[1052820];mq(3552704,52899,d)|0;Ok(3552704);if(c[1052844]|0){e=0;Ca=b;return e|0}e=No(a)|0;Ca=b;return e|0}function _n(){return Oo()|0}function $n(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=En(40)|0;if(!d){e=0;return e|0}c[d>>2]=a;c[d+8>>2]=22050;c[d+4>>2]=b;c[d+12>>2]=0;c[d+28>>2]=0;c[d+32>>2]=256;f=En(z((b|0)/8|0,a)|0)|0;c[d+16>>2]=f;c[d+20>>2]=f;c[d+36>>2]=-1;c[1052640]=(c[1052640]|0)+1;e=d;return e|0}function ao(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Po();if(c[1053384]|0){Po();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=4739172+(d*11704|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[4739172+(d*11704|0)+11544>>2]=0;c[e>>2]=0;c[4739172+(d*11704|0)+8232>>2]=0;e=4739172+(d*11704|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Qo()}Hn(c[a+16>>2]|0);Hn(a);c[1052640]=(c[1052640]|0)+-1;Qo();return}function bo(a){a=a|0;var b=0,d=0,e=0;if(!((a|0)!=0&(c[1053384]|0)!=0))return;Po();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=4739172+(d*11704|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[4739172+(d*11704|0)+11544>>2]=0;c[e>>2]=0;c[4739172+(d*11704|0)+8232>>2]=0;e=4739172+(d*11704|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Qo();return}function co(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;Po();g=(d|0)==0?-1:d;do if(!a){if((f|0)!=-1){c[4739172+(f*11704|0)+11544>>2]=0;c[4739172+(f*11704|0)+8208>>2]=0;c[4739172+(f*11704|0)+8232>>2]=0;d=4739172+(f*11704|0)+8220|0;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[1052827]|0)==0?16:4;h=0;do{c[4739172+(h*11704|0)+11544>>2]=0;c[4739172+(h*11704|0)+8208>>2]=0;c[4739172+(h*11704|0)+8232>>2]=0;i=4739172+(h*11704|0)+8220|0;c[i>>2]=0;c[i+4>>2]=0;h=h+1|0}while(h>>>0>>0)}else{d=(f|0)==-1;do if(!(c[1052827]|0))if(d)if(!((c[1210253]|0)==0&(c[1210257]|0)==0&(c[1211087]|0)==0))if(!((c[1213179]|0)==0&(c[1213183]|0)==0&(c[1214013]|0)==0))if(!((c[1216105]|0)==0&(c[1216109]|0)==0&(c[1216939]|0)==0))if(!((c[1219031]|0)==0&(c[1219035]|0)==0&(c[1219865]|0)==0))if(!((c[1221957]|0)==0&(c[1221961]|0)==0&(c[1222791]|0)==0))if(!((c[1224883]|0)==0&(c[1224887]|0)==0&(c[1225717]|0)==0))if(!((c[1227809]|0)==0&(c[1227813]|0)==0&(c[1228643]|0)==0))if((c[1230735]|0)==0&(c[1230739]|0)==0&(c[1231569]|0)==0)j=15;else{h=c[1210257]|0;if((h|0)!=0&(c[1211087]|0)==0){k=c[h+4>>2]|0;l=8}else{k=256;l=-1}h=c[1213183]|0;if((h|0)!=0&(c[1214013]|0)==0){i=c[h+4>>2]|0;h=(l|0)==-1|(i|0)<(k|0);m=h?i:k;n=h?9:l}else{m=k;n=l}h=c[1216109]|0;if((h|0)!=0&(c[1216939]|0)==0){i=c[h+4>>2]|0;h=(n|0)==-1|(i|0)<(m|0);o=h?i:m;p=h?10:n}else{o=m;p=n}h=c[1219035]|0;if((h|0)!=0&(c[1219865]|0)==0){i=c[h+4>>2]|0;h=(p|0)==-1|(i|0)<(o|0);q=h?i:o;r=h?11:p}else{q=o;r=p}h=c[1221961]|0;if((h|0)!=0&(c[1222791]|0)==0){i=c[h+4>>2]|0;h=(r|0)==-1|(i|0)<(q|0);s=h?i:q;t=h?12:r}else{s=q;t=r}h=c[1224887]|0;if((h|0)!=0&(c[1225717]|0)==0){i=c[h+4>>2]|0;h=(t|0)==-1|(i|0)<(s|0);u=h?i:s;v=h?13:t}else{u=s;v=t}h=c[1227813]|0;if((h|0)!=0&(c[1228643]|0)==0){i=c[h+4>>2]|0;h=(v|0)==-1|(i|0)<(u|0);w=h?i:u;x=h?14:v}else{w=u;x=v}h=c[1230739]|0;if(!((h|0)!=0&(c[1231569]|0)==0)){y=x;A=25;break}if((x|0)!=-1?(c[h+4>>2]|0)>=(w|0):0){j=x;break}j=15}else j=14;else j=13;else j=12;else j=11;else j=10;else j=9;else j=8;else{y=f;A=25}else if(d){h=(c[1186845]|0)==0;if(!(h&(c[1186849]|0)==0&(c[1187679]|0)==0&(c[1198549]|0)==0&(c[1198553]|0)==0&(c[1199383]|0)==0)){i=(c[1189771]|0)==0;if(!(i&(c[1189775]|0)==0&(c[1190605]|0)==0&(c[1201475]|0)==0&(c[1201479]|0)==0&(c[1202309]|0)==0)){B=(c[1192697]|0)==0;if(!(B&(c[1192701]|0)==0&(c[1193531]|0)==0&(c[1204401]|0)==0&(c[1204405]|0)==0&(c[1205235]|0)==0)){C=(c[1195623]|0)==0;if(!(C&(c[1195627]|0)==0&(c[1196457]|0)==0&(c[1207327]|0)==0&(c[1207331]|0)==0&(c[1208161]|0)==0)){D=c[1267778]|0;if(!(h&(c[1186849]|0)==0&(c[1187679]|0)==0&(c[1198549]|0)==0&(c[1198553]|0)==0&(D&1|0)==0))if(!(i&(c[1189775]|0)==0&(c[1190605]|0)==0&(c[1201475]|0)==0&(c[1201479]|0)==0&(D&2|0)==0))if(!(B&(c[1192701]|0)==0&(c[1193531]|0)==0&(c[1204401]|0)==0&(c[1204405]|0)==0&(D&4|0)==0))if(!(C&(c[1195627]|0)==0&(c[1196457]|0)==0&(c[1207327]|0)==0&(c[1207331]|0)==0&(D&8|0)==0))if(!((c[1187679]|D&1|0)==0&(h&(c[1186849]|0)==0)))if(!((c[1190605]|D&2|0)==0&(i&(c[1189775]|0)==0)))if(!((c[1193531]|D&4|0)==0&(B&(c[1192701]|0)==0)))if((c[1196457]|D&8|0)==0&(C&(c[1195627]|0)==0))j=3;else{if((D&1|0)!=0?!((c[1198549]|0)==0&(c[1198553]|0)==0&(c[1199383]|0)==0):0){E=256;F=-1}else{C=c[1186849]|0;if(!C){E=256;F=-1}else{E=c[C+4>>2]|0;F=0}}if((D&2|0)!=0?!((c[1201475]|0)==0&(c[1201479]|0)==0&(c[1202309]|0)==0):0){G=E;H=F}else A=51;do if((A|0)==51){C=c[1189775]|0;if(!C){G=E;H=F;break}B=(F|0)!=-1;i=c[C+4>>2]|0;C=(i|0)>(E|0);G=B&C?E:i;H=(B&C^1)&1}while(0);if((D&4|0)!=0?!((c[1204401]|0)==0&(c[1204405]|0)==0&(c[1205235]|0)==0):0){I=G;J=H}else A=55;do if((A|0)==55){C=c[1192701]|0;if(!C){I=G;J=H;break}B=c[C+4>>2]|0;C=(H|0)!=-1&(B|0)>(G|0);I=C?G:B;J=C?H:2}while(0);if(D&8|0?!((c[1207327]|0)==0&(c[1207331]|0)==0&(c[1208161]|0)==0):0){y=J;A=25;break}C=c[1195627]|0;if(!C){y=J;A=25;break}if((J|0)!=-1?(c[C+4>>2]|0)>(I|0):0){j=J;break}j=3}else j=2;else j=1;else j=0;else j=3;else j=2;else j=1;else j=0}else j=3}else j=2}else j=1}else j=0}else{y=f;A=25}while(0);if((A|0)==25)if(y>>>0>15)break;else j=y;d=c[a+4>>2]|0;C=(d|0)>1?d:1;c[4739172+(j*11704|0)+8224>>2]=a;c[4739172+(j*11704|0)+8236>>2]=j&3;c[4739172+(j*11704|0)+8228>>2]=z(C,b)|0;c[4739172+(j*11704|0)+11700>>2]=z(C,g)|0;c[4739172+(j*11704|0)+8220>>2]=e;c[4739172+(j*11704|0)+11544>>2]=0;c[4739172+(j*11704|0)+8232>>2]=1;Qo();K=j;return K|0}while(0);Qo();K=-1;return K|0}function eo(a){a=a|0;var b=0;Po();if(!a){if(!(c[1187679]|0)){c[1187679]=0;c[1186845]=0;c[1186851]=0;b=4747392;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1190605]|0)){c[1190605]=0;c[1189771]=0;c[1189777]=0;b=4759096;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1193531]|0)){c[1193531]=0;c[1192697]=0;c[1192703]=0;b=4770800;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1196457]|0)){c[1196457]=0;c[1195623]=0;c[1195629]=0;b=4782504;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1199383]|0)){c[1199383]=0;c[1198549]=0;c[1198555]=0;b=4794208;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1202309]|0)){c[1202309]=0;c[1201475]=0;c[1201481]=0;b=4805912;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1205235]|0)){c[1205235]=0;c[1204401]=0;c[1204407]=0;b=4817616;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1208161]|0)){c[1208161]=0;c[1207327]=0;c[1207333]=0;b=4829320;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1211087]|0)){c[1211087]=0;c[1210253]=0;c[1210259]=0;b=4841024;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1214013]|0)){c[1214013]=0;c[1213179]=0;c[1213185]=0;b=4852728;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1216939]|0)){c[1216939]=0;c[1216105]=0;c[1216111]=0;b=4864432;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1219865]|0)){c[1219865]=0;c[1219031]=0;c[1219037]=0;b=4876136;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1222791]|0)){c[1222791]=0;c[1221957]=0;c[1221963]=0;b=4887840;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1225717]|0)){c[1225717]=0;c[1224883]=0;c[1224889]=0;b=4899544;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1228643]|0)){c[1228643]=0;c[1227809]=0;c[1227815]=0;b=4911248;c[b>>2]=0;c[b+4>>2]=0}if(c[1231569]|0){Qo();return}c[1231569]=0;c[1230735]=0;c[1230741]=0;b=4922952;c[b>>2]=0;c[b+4>>2]=0;Qo();return}else{if((c[1186849]|0)==(a|0)){c[1187679]=0;c[1186845]=0;c[1186851]=0;b=4747392;c[b>>2]=0;c[b+4>>2]=0}if((c[1189775]|0)==(a|0)){c[1190605]=0;c[1189771]=0;c[1189777]=0;b=4759096;c[b>>2]=0;c[b+4>>2]=0}if((c[1192701]|0)==(a|0)){c[1193531]=0;c[1192697]=0;c[1192703]=0;b=4770800;c[b>>2]=0;c[b+4>>2]=0}if((c[1195627]|0)==(a|0)){c[1196457]=0;c[1195623]=0;c[1195629]=0;b=4782504;c[b>>2]=0;c[b+4>>2]=0}if((c[1198553]|0)==(a|0)){c[1199383]=0;c[1198549]=0;c[1198555]=0;b=4794208;c[b>>2]=0;c[b+4>>2]=0}if((c[1201479]|0)==(a|0)){c[1202309]=0;c[1201475]=0;c[1201481]=0;b=4805912;c[b>>2]=0;c[b+4>>2]=0}if((c[1204405]|0)==(a|0)){c[1205235]=0;c[1204401]=0;c[1204407]=0;b=4817616;c[b>>2]=0;c[b+4>>2]=0}if((c[1207331]|0)==(a|0)){c[1208161]=0;c[1207327]=0;c[1207333]=0;b=4829320;c[b>>2]=0;c[b+4>>2]=0}if((c[1210257]|0)==(a|0)){c[1211087]=0;c[1210253]=0;c[1210259]=0;b=4841024;c[b>>2]=0;c[b+4>>2]=0}if((c[1213183]|0)==(a|0)){c[1214013]=0;c[1213179]=0;c[1213185]=0;b=4852728;c[b>>2]=0;c[b+4>>2]=0}if((c[1216109]|0)==(a|0)){c[1216939]=0;c[1216105]=0;c[1216111]=0;b=4864432;c[b>>2]=0;c[b+4>>2]=0}if((c[1219035]|0)==(a|0)){c[1219865]=0;c[1219031]=0;c[1219037]=0;b=4876136;c[b>>2]=0;c[b+4>>2]=0}if((c[1221961]|0)==(a|0)){c[1222791]=0;c[1221957]=0;c[1221963]=0;b=4887840;c[b>>2]=0;c[b+4>>2]=0}if((c[1224887]|0)==(a|0)){c[1225717]=0;c[1224883]=0;c[1224889]=0;b=4899544;c[b>>2]=0;c[b+4>>2]=0}if((c[1227813]|0)==(a|0)){c[1228643]=0;c[1227809]=0;c[1227815]=0;b=4911248;c[b>>2]=0;c[b+4>>2]=0}if((c[1230739]|0)!=(a|0)){Qo();return}c[1231569]=0;c[1230735]=0;c[1230741]=0;a=4922952;c[a>>2]=0;c[a+4>>2]=0;Qo();return}}function fo(a){a=a|0;eo(a);co(a,0,(c[a+12>>2]|0)>(c[a+8>>2]|0)?-1:32,0,-1)|0;return}function go(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Po();b=(c[1187679]|0)==0;do if(!a)if(b|(c[1186848]|0)==0)if((c[1190605]|0)==0|(c[1189774]|0)==0)if((c[1193531]|0)==0|(c[1192700]|0)==0)if((c[1196457]|0)==0|(c[1195626]|0)==0)if((c[1199383]|0)==0|(c[1198552]|0)==0)if((c[1202309]|0)==0|(c[1201478]|0)==0)if((c[1205235]|0)==0|(c[1204404]|0)==0)if((c[1208161]|0)==0|(c[1207330]|0)==0)if((c[1211087]|0)==0|(c[1210256]|0)==0)if((c[1214013]|0)==0|(c[1213182]|0)==0)if((c[1216939]|0)==0|(c[1216108]|0)==0)if((c[1219865]|0)==0|(c[1219034]|0)==0)if((c[1222791]|0)==0|(c[1221960]|0)==0)if((c[1225717]|0)==0|(c[1224886]|0)==0)if((c[1228643]|0)==0|(c[1227812]|0)==0)if((c[1231569]|0)==0|(c[1230738]|0)==0)d=8;else{e=15;d=6}else{e=14;d=6}else{e=13;d=6}else{e=12;d=6}else{e=11;d=6}else{e=10;d=6}else{e=9;d=6}else{e=8;d=6}else{e=7;d=6}else{e=6;d=6}else{e=5;d=6}else{e=4;d=6}else{e=3;d=6}else{e=2;d=6}else{e=1;d=6}else{e=0;d=6}else{if(!b?(f=c[1186848]|0,(f|0)!=0&(f|0)==(a|0)):0){e=0;d=6;break}if(c[1190605]|0?(f=c[1189774]|0,(f|0)!=0&(f|0)==(a|0)):0){e=1;d=6;break}if(c[1193531]|0?(f=c[1192700]|0,(f|0)!=0&(f|0)==(a|0)):0){e=2;d=6;break}if(c[1196457]|0?(f=c[1195626]|0,(f|0)!=0&(f|0)==(a|0)):0){e=3;d=6;break}if(c[1199383]|0?(f=c[1198552]|0,(f|0)!=0&(f|0)==(a|0)):0){e=4;d=6;break}if(c[1202309]|0?(f=c[1201478]|0,(f|0)!=0&(f|0)==(a|0)):0){e=5;d=6;break}if(c[1205235]|0?(f=c[1204404]|0,(f|0)!=0&(f|0)==(a|0)):0){e=6;d=6;break}if(c[1208161]|0?(f=c[1207330]|0,(f|0)!=0&(f|0)==(a|0)):0){e=7;d=6;break}if(c[1211087]|0?(f=c[1210256]|0,(f|0)!=0&(f|0)==(a|0)):0){e=8;d=6;break}if(c[1214013]|0?(f=c[1213182]|0,(f|0)!=0&(f|0)==(a|0)):0){e=9;d=6;break}if(c[1216939]|0?(f=c[1216108]|0,(f|0)!=0&(f|0)==(a|0)):0){e=10;d=6;break}if(c[1219865]|0?(f=c[1219034]|0,(f|0)!=0&(f|0)==(a|0)):0){e=11;d=6;break}if(c[1222791]|0?(f=c[1221960]|0,(f|0)!=0&(f|0)==(a|0)):0){e=12;d=6;break}if(c[1225717]|0?(f=c[1224886]|0,(f|0)!=0&(f|0)==(a|0)):0){e=13;d=6;break}if(c[1228643]|0?(f=c[1227812]|0,(f|0)!=0&(f|0)==(a|0)):0){e=14;d=6;break}if((c[1231569]|0)!=0?(f=c[1230738]|0,(f|0)!=0&(f|0)==(a|0)):0){e=15;d=6}else d=8}while(0);if((d|0)==6){Qo();g=c[4739172+(e*11704|0)+11548>>2]|0;return g|0}else if((d|0)==8){Qo();g=-1;return g|0}return 0}function ho(a){a=a|0;var b=0,d=0,e=0;Po();if((c[1186849]|0)!=(a|0))if((c[1189775]|0)!=(a|0))if((c[1192701]|0)!=(a|0))if((c[1195627]|0)!=(a|0))if((c[1198553]|0)!=(a|0))if((c[1201479]|0)!=(a|0))if((c[1204405]|0)!=(a|0))if((c[1207331]|0)!=(a|0))if((c[1210257]|0)!=(a|0))if((c[1213183]|0)!=(a|0))if((c[1216109]|0)!=(a|0))if((c[1219035]|0)!=(a|0))if((c[1221961]|0)!=(a|0))if((c[1224887]|0)!=(a|0))if((c[1227813]|0)!=(a|0))if((c[1230739]|0)==(a|0))b=15;else{Qo();d=-1;return d|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;Qo();e=c[a+4>>2]|0;d=(c[4739172+(b*11704|0)+8228>>2]|0)/(((e|0)>1?e:1)|0)|0;return d|0}function io(a){a=a|0;var b=0;Po();b=c[4739172+(a*11704|0)+8224>>2]|0;Qo();return b|0}function jo(a){a=a|0;if(a>>>0>15)return;Po();c[4739172+(a*11704|0)+8232>>2]=0;Qo();return}function ko(a){a=a|0;var b=0,d=0;Po();b=(c[1187679]|0)==0;if(!a){if(!b){c[1187679]=0;c[1186845]=0;c[1186851]=0;d=4747392;c[d>>2]=0;c[d+4>>2]=0}if(c[1190605]|0){c[1190605]=0;c[1189771]=0;c[1189777]=0;d=4759096;c[d>>2]=0;c[d+4>>2]=0}if(c[1193531]|0){c[1193531]=0;c[1192697]=0;c[1192703]=0;d=4770800;c[d>>2]=0;c[d+4>>2]=0}if(c[1196457]|0){c[1196457]=0;c[1195623]=0;c[1195629]=0;d=4782504;c[d>>2]=0;c[d+4>>2]=0}if(c[1199383]|0){c[1199383]=0;c[1198549]=0;c[1198555]=0;d=4794208;c[d>>2]=0;c[d+4>>2]=0}if(c[1202309]|0){c[1202309]=0;c[1201475]=0;c[1201481]=0;d=4805912;c[d>>2]=0;c[d+4>>2]=0}if(c[1205235]|0){c[1205235]=0;c[1204401]=0;c[1204407]=0;d=4817616;c[d>>2]=0;c[d+4>>2]=0}if(c[1208161]|0){c[1208161]=0;c[1207327]=0;c[1207333]=0;d=4829320;c[d>>2]=0;c[d+4>>2]=0}if(c[1211087]|0){c[1211087]=0;c[1210253]=0;c[1210259]=0;d=4841024;c[d>>2]=0;c[d+4>>2]=0}if(c[1214013]|0){c[1214013]=0;c[1213179]=0;c[1213185]=0;d=4852728;c[d>>2]=0;c[d+4>>2]=0}if(c[1216939]|0){c[1216939]=0;c[1216105]=0;c[1216111]=0;d=4864432;c[d>>2]=0;c[d+4>>2]=0}if(c[1219865]|0){c[1219865]=0;c[1219031]=0;c[1219037]=0;d=4876136;c[d>>2]=0;c[d+4>>2]=0}if(c[1222791]|0){c[1222791]=0;c[1221957]=0;c[1221963]=0;d=4887840;c[d>>2]=0;c[d+4>>2]=0}if(c[1225717]|0){c[1225717]=0;c[1224883]=0;c[1224889]=0;d=4899544;c[d>>2]=0;c[d+4>>2]=0}if(c[1228643]|0){c[1228643]=0;c[1227809]=0;c[1227815]=0;d=4911248;c[d>>2]=0;c[d+4>>2]=0}if(!(c[1231569]|0)){Qo();return}c[1231569]=0;c[1230735]=0;c[1230741]=0;d=4922952;c[d>>2]=0;c[d+4>>2]=0;Qo();return}if(!b?(b=c[1186848]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1187679]=0;c[1186845]=0;c[1186851]=0;b=4747392;c[b>>2]=0;c[b+4>>2]=0}if(c[1190605]|0?(b=c[1189774]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1190605]=0;c[1189771]=0;c[1189777]=0;b=4759096;c[b>>2]=0;c[b+4>>2]=0}if(c[1193531]|0?(b=c[1192700]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1193531]=0;c[1192697]=0;c[1192703]=0;b=4770800;c[b>>2]=0;c[b+4>>2]=0}if(c[1196457]|0?(b=c[1195626]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1196457]=0;c[1195623]=0;c[1195629]=0;b=4782504;c[b>>2]=0;c[b+4>>2]=0}if(c[1199383]|0?(b=c[1198552]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1199383]=0;c[1198549]=0;c[1198555]=0;b=4794208;c[b>>2]=0;c[b+4>>2]=0}if(c[1202309]|0?(b=c[1201478]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1202309]=0;c[1201475]=0;c[1201481]=0;b=4805912;c[b>>2]=0;c[b+4>>2]=0}if(c[1205235]|0?(b=c[1204404]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1205235]=0;c[1204401]=0;c[1204407]=0;b=4817616;c[b>>2]=0;c[b+4>>2]=0}if(c[1208161]|0?(b=c[1207330]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1208161]=0;c[1207327]=0;c[1207333]=0;b=4829320;c[b>>2]=0;c[b+4>>2]=0}if(c[1211087]|0?(b=c[1210256]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1211087]=0;c[1210253]=0;c[1210259]=0;b=4841024;c[b>>2]=0;c[b+4>>2]=0}if(c[1214013]|0?(b=c[1213182]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1214013]=0;c[1213179]=0;c[1213185]=0;b=4852728;c[b>>2]=0;c[b+4>>2]=0}if(c[1216939]|0?(b=c[1216108]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1216939]=0;c[1216105]=0;c[1216111]=0;b=4864432;c[b>>2]=0;c[b+4>>2]=0}if(c[1219865]|0?(b=c[1219034]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1219865]=0;c[1219031]=0;c[1219037]=0;b=4876136;c[b>>2]=0;c[b+4>>2]=0}if(c[1222791]|0?(b=c[1221960]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1222791]=0;c[1221957]=0;c[1221963]=0;b=4887840;c[b>>2]=0;c[b+4>>2]=0}if(c[1225717]|0?(b=c[1224886]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1225717]=0;c[1224883]=0;c[1224889]=0;b=4899544;c[b>>2]=0;c[b+4>>2]=0}if(c[1228643]|0?(b=c[1227812]|0,(b|0)!=0&(b|0)==(a|0)):0){c[1228643]=0;c[1227809]=0;c[1227815]=0;b=4911248;c[b>>2]=0;c[b+4>>2]=0}if(!(c[1231569]|0)){Qo();return}b=c[1230738]|0;if(!((b|0)!=0&(b|0)==(a|0))){Qo();return}c[1231569]=0;c[1230735]=0;c[1230741]=0;a=4922952;c[a>>2]=0;c[a+4>>2]=0;Qo();return}function lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;Po();ko(a);if(!((a|0)!=0&b>>>0<64)){Qo();return}e=a+41996+(b<<4)|0;if(!(Xn(a,e)|0)){Qo();return}c[1052792]=0;c[1052793]=b;f=c[e>>2]|0;g=(f|0)<63?f:63;f=co(a+12+(((g|0)>0?g:0)*656|0)|0,0,32,a,4)|0;if((f|0)!=-1){if((c[e>>2]|0)>63)c[4739172+(f*11704|0)+8224>>2]=0;c[4739172+(f*11704|0)+11544>>2]=1;c[4739172+(f*11704|0)+8220>>2]=a;c[4739172+(f*11704|0)+11548>>2]=b;c[4739172+(f*11704|0)+8236>>2]=0;c[4739172+(f*11704|0)+11700>>2]=Xn(a,e)|0}f=a+41996+(b<<4)+4|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=co(a+12+(((h|0)>0?h:0)*656|0)|0,0,32,a,5)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[4739172+(g*11704|0)+8224>>2]=0;c[4739172+(g*11704|0)+11544>>2]=1;c[4739172+(g*11704|0)+8220>>2]=a;c[4739172+(g*11704|0)+11548>>2]=b;c[4739172+(g*11704|0)+8236>>2]=1;c[4739172+(g*11704|0)+11700>>2]=Xn(a,e)|0}g=a+41996+(b<<4)+8|0;f=c[g>>2]|0;h=(f|0)<63?f:63;f=co(a+12+(((h|0)>0?h:0)*656|0)|0,0,32,a,6)|0;if((f|0)!=-1){if((c[g>>2]|0)>63)c[4739172+(f*11704|0)+8224>>2]=0;c[4739172+(f*11704|0)+11544>>2]=1;c[4739172+(f*11704|0)+8220>>2]=a;c[4739172+(f*11704|0)+11548>>2]=b;c[4739172+(f*11704|0)+8236>>2]=2;c[4739172+(f*11704|0)+11700>>2]=Xn(a,e)|0}f=a+41996+(b<<4)+12|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=co(a+12+(((h|0)>0?h:0)*656|0)|0,0,32,a,7)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[4739172+(g*11704|0)+8224>>2]=0;c[4739172+(g*11704|0)+11544>>2]=1;c[4739172+(g*11704|0)+8220>>2]=a;c[4739172+(g*11704|0)+11548>>2]=b;c[4739172+(g*11704|0)+8236>>2]=3;c[4739172+(g*11704|0)+11700>>2]=Xn(a,e)|0}c[1053386]=d;c[1053385]=Vo()|0;c[1053387]=0;c[1053388]=65536;mo();Qo();return}function mo(){var a=0,b=0,d=0,e=0;a=c[1053389]|0;b=c[1053388]|0;if((a|0)==(b|0)){if(a|0)return;c[1184792]=0;ko(0);return}if(!(c[1053386]|0)){c[1053389]=b;if(b|0)return;c[1184792]=0;ko(0);return}b=Vo()|0;a=b-(c[1053385]|0)|0;b=c[1053386]|0;if((b|0)>(a|0)){d=z(c[1053387]|0,b-a|0)|0;e=((z(c[1053388]|0,a)|0)+d|0)/(b|0)|0;b=(e|0)<65536?e:65536;c[1053389]=(b|0)>0?b:0;return}b=c[1053388]|0;c[1053389]=b;if(b|0)return;c[1184792]=0;ko(0);return}function no(a){a=a|0;return c[a+16>>2]|0}function oo(a){a=a|0;return}function po(a,b){a=a|0;b=b|0;if(!a)return;c[a+8>>2]=b;return}function qo(a){a=a|0;if(!(c[1053384]|0))return;c[1052808]=a;return}function ro(a,b){a=a|0;b=b|0;c[1053387]=c[1053389];c[1053388]=0;c[1053385]=Vo()|0;c[1053386]=b;mo();return}function so(a){a=a|0;c[1052809]=a;return}function to(){var a=0;if((go(0)|0)!=-1){a=1;return a|0}if(0==0|(c[1053391]|0)==0){a=0;return a|0}if(!(c[1053389]|c[1053388])){a=0;return a|0}a=(c[1184792]|0)!=0&1;return a|0}function uo(){var a=0;c[1187679]=0;c[1186845]=0;c[1186851]=0;a=4747392;c[a>>2]=0;c[a+4>>2]=0;c[1190605]=0;c[1189771]=0;c[1189777]=0;a=4759096;c[a>>2]=0;c[a+4>>2]=0;c[1193531]=0;c[1192697]=0;c[1192703]=0;a=4770800;c[a>>2]=0;c[a+4>>2]=0;c[1196457]=0;c[1195623]=0;c[1195629]=0;a=4782504;c[a>>2]=0;c[a+4>>2]=0;c[1199383]=0;c[1198549]=0;c[1198555]=0;a=4794208;c[a>>2]=0;c[a+4>>2]=0;c[1202309]=0;c[1201475]=0;c[1201481]=0;a=4805912;c[a>>2]=0;c[a+4>>2]=0;c[1205235]=0;c[1204401]=0;c[1204407]=0;a=4817616;c[a>>2]=0;c[a+4>>2]=0;c[1208161]=0;c[1207327]=0;c[1207333]=0;a=4829320;c[a>>2]=0;c[a+4>>2]=0;c[1211087]=0;c[1210253]=0;c[1210259]=0;a=4841024;c[a>>2]=0;c[a+4>>2]=0;c[1214013]=0;c[1213179]=0;c[1213185]=0;a=4852728;c[a>>2]=0;c[a+4>>2]=0;c[1216939]=0;c[1216105]=0;c[1216111]=0;a=4864432;c[a>>2]=0;c[a+4>>2]=0;c[1219865]=0;c[1219031]=0;c[1219037]=0;a=4876136;c[a>>2]=0;c[a+4>>2]=0;c[1222791]=0;c[1221957]=0;c[1221963]=0;a=4887840;c[a>>2]=0;c[a+4>>2]=0;c[1225717]=0;c[1224883]=0;c[1224889]=0;a=4899544;c[a>>2]=0;c[a+4>>2]=0;c[1228643]=0;c[1227809]=0;c[1227815]=0;a=4911248;c[a>>2]=0;c[a+4>>2]=0;c[1231569]=0;c[1230735]=0;c[1230741]=0;a=4922952;c[a>>2]=0;c[a+4>>2]=0;return}function vo(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[1186849]|0)==0|(c[1187679]|0)==0)a=0;else{b=c[1186850]|0;a=(b|0)>0?b:0}if((c[1189775]|0)==0|(c[1190605]|0)==0)d=a;else{b=c[1189776]|0;d=(a|0)>(b|0)?a:b}if((c[1192701]|0)==0|(c[1193531]|0)==0)e=d;else{b=c[1192702]|0;e=(d|0)>(b|0)?d:b}if((c[1195627]|0)==0|(c[1196457]|0)==0)f=e;else{b=c[1195628]|0;f=(e|0)>(b|0)?e:b}if((c[1198553]|0)==0|(c[1199383]|0)==0)g=f;else{b=c[1198554]|0;g=(f|0)>(b|0)?f:b}if((c[1201479]|0)==0|(c[1202309]|0)==0)h=g;else{b=c[1201480]|0;h=(g|0)>(b|0)?g:b}if((c[1204405]|0)==0|(c[1205235]|0)==0)i=h;else{b=c[1204406]|0;i=(h|0)>(b|0)?h:b}if((c[1207331]|0)==0|(c[1208161]|0)==0)j=i;else{b=c[1207332]|0;j=(i|0)>(b|0)?i:b}if((c[1210257]|0)==0|(c[1211087]|0)==0)k=j;else{b=c[1210258]|0;k=(j|0)>(b|0)?j:b}if((c[1213183]|0)==0|(c[1214013]|0)==0)l=k;else{b=c[1213184]|0;l=(k|0)>(b|0)?k:b}if((c[1216109]|0)==0|(c[1216939]|0)==0)m=l;else{b=c[1216110]|0;m=(l|0)>(b|0)?l:b}if((c[1219035]|0)==0|(c[1219865]|0)==0)n=m;else{b=c[1219036]|0;n=(m|0)>(b|0)?m:b}if((c[1221961]|0)==0|(c[1222791]|0)==0)o=n;else{b=c[1221962]|0;o=(n|0)>(b|0)?n:b}if((c[1224887]|0)==0|(c[1225717]|0)==0)p=o;else{b=c[1224888]|0;p=(o|0)>(b|0)?o:b}if((c[1227813]|0)==0|(c[1228643]|0)==0)q=p;else{b=c[1227814]|0;q=(p|0)>(b|0)?p:b}if((c[1230739]|0)==0|(c[1231569]|0)==0){r=q;return r|0}b=c[1230740]|0;r=(q|0)>(b|0)?q:b;return r|0}function wo(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;f=Ca;Ca=Ca+32|0;g=f+24|0;h=f+16|0;i=f;c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=d;c[i+12>>2]=e;mq(3552704,52936,i)|0;Ok(3552704);if((a|0)==0|(b|0)==0){c[h>>2]=0;c[h+4>>2]=0;mq(3552704,52965,h)|0;Ok(3552704);j=0;k=0}else{j=a;k=b}if((c[1052790]|0)==1){b=c[1052805]|0;a=c[1052806]|0;if((b|0)<32|(a|0)<32){c[1052805]=640;c[1052806]=480;l=640;m=480}else{l=b;m=a}c[g>>2]=l;c[g+4>>2]=m;mq(3552704,53003,g)|0;Ok(3552704);n=l;o=m}else{c[1052805]=j;c[1052806]=k;n=j;o=k}m=((k|0)==0|(j|0)==0)&((o|0)==0|(n|0)==0);l=m?216:o;o=m?384:n;n=m?384:j;j=m?216:k;k=c[1231627]|0;do if(!k)p=15;else{if(((c[k>>2]|0)==(n|0)?(c[k+4>>2]|0)==(j|0):0)?(c[k+8>>2]|0)==(d|0):0)break;bl(k)|0;c[1231627]=0;p=15}while(0);if((p|0)==15)c[1231627]=al(n,j,d)|0;if((c[1052844]|0)==0?(p=To(o,l,n,j,d,e)|0,p|0):0){q=p;Ca=f;return q|0}c[1231610]=o;c[1231611]=l;c[1231612]=d;c[1231617]=0;c[1231619]=0;c[1231618]=o;c[1231620]=l;q=0;Ca=f;return q|0}function xo(a){a=a|0;var b=0;b=c[1231623]|0;if((b|0)==(a|0))return;Os(b|0,a|0,768)|0;return}function yo(){var b=0,d=0,e=0;if(c[1231625]|0){b=0;return b|0}c[1231625]=1;c[1231623]=Uk()|0;c[1231624]=Uk()|0;d=0;do{e=d&255;a[(c[1231623]|0)+(d*3|0)>>0]=e;a[(c[1231623]|0)+(d*3|0)+1>>0]=e;a[(c[1231623]|0)+(d*3|0)+2>>0]=e;d=d+1|0}while((d|0)!=256);if(c[1052844]|0){b=0;return b|0}b=Ro()|0;return b|0}function zo(){var a=0,b=0;if(!(c[1231625]|0)){a=0;return a|0}c[1231625]=0;b=c[1231627]|0;if(b|0)bl(b)|0;b=c[1053365]|0;if(b|0)bl(b)|0;c[1053365]=0;c[1231627]=0;Vk(c[1231623]|0);Vk(c[1231624]|0);if(c[1052844]|0){a=0;return a|0}a=So()|0;return a|0}function Ao(){var a=0,b=0,d=0,e=0;if(!(c[1231627]|0))return;if(!(c[1231626]|0))c[1231626]=Vo()|0;a=Vo()|0;b=a-(c[1231626]|0)|0;c[1231626]=Vo()|0;a=(b|0)<1e3?b:1e3;b=((1e3/(((a|0)>1?a:1)>>>0)|0)<<16)+65536|0;a=(b+((c[8396]|0)*15|0)|0)/16|0;d=a+4096|0;if((a|0)<(b|0))e=(b|0)<(d|0)?b:d;else{d=a+-4096|0;e=(a|0)>(b|0)?((b|0)>(d|0)?b:d):a}c[8396]=e;Nm(c[1231627]|0,4926440,0,0,0,0,c[1231610]|0,c[1231611]|0);return}function Bo(){return c[8396]>>16|0}function Co(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;Kk(e,b)|0;g=e+548|0;if((a[d>>0]|0)==42){Kk(g,d+1|0)|0;h=Yq(g)|0}else{a[g>>0]=0;h=0}c[e+804>>2]=h;c[e+812>>2]=jr(b)|0;c[e+808>>2]=f;return Do(e)|0}function Do(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;b=Ca;Ca=Ca+608|0;d=b+512|0;e=b+520|0;f=b;g=a+812|0;h=c[g>>2]|0;if(!h){i=1;Ca=b;return i|0}j=mr(h)|0;h=a+808|0;if(!j){i=1;Ca=b;return i|0}k=a+256|0;l=a+520|0;m=e+56|0;n=e+36|0;o=a+516|0;p=e+12|0;q=a+512|0;r=a+804|0;s=j;while(1){j=s+11|0;Kk(k,j)|0;c[d>>2]=a;c[d+4>>2]=j;mq(f,53042,d)|0;Fn(e,0,1);kr(f,e)|0;c[l>>2]=c[m>>2];c[o>>2]=c[n>>2];t=c[p>>2]|0;c[q>>2]=t;u=Yq(j)|0;if((u|0)>=(c[r>>2]|0)?c[h>>2]&t|0:0){i=0;v=7;break}s=mr(c[g>>2]|0)|0;if(!s){i=1;v=7;break}}if((v|0)==7){Ca=b;return i|0}return 0}function Eo(a){a=a|0;var b=0;if(!a)return 0;b=c[a+812>>2]|0;if(!b)return 0;lr(b)|0;return 0}function Fo(a){a=a|0;var b=0,c=0;b=Tl(a,58830)|0;if(!b){c=0;return c|0}Ul(b);c=1;return c|0}function Go(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ca;Ca=Ca+96|0;e=d+64|0;f=d+88|0;g=d;za(f|0)|0;if(!b)h=ta(f|0)|0;else h=va(f|0)|0;ya(g|0,64,53024,h|0)|0;h=a+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[e>>2]=h;c[e+4>>2]=a+8;c[e+8>>2]=a+12;c[e+12>>2]=a+16;c[e+16>>2]=a+20;c[e+20>>2]=a+24;Mr(g,53048,e)|0;Ca=d;return}function Ho(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;Qn(0,3638976,a<<1);if((c|0)<=0)return 3671744;d=a<<4;e=a+-1|0;a=0;do{f=(z(d,a)|0)/(c|0)|0;g=f&15;h=(f|0)/16|0;f=h+1|0;i=z(16-g|0,b[3638976+(h<<1)>>1]|0)|0;b[3671744+(a<<1)>>1]=((z(g,b[3638976+(((f|0)<(e|0)?f:e)<<1)>>1]|0)|0)+i|0)/16|0;a=a+1|0}while((a|0)!=(c|0));return 3671744}function Io(){if((L(65535)|0)<0)Jo(54700);else{ha(21)|0;ha(22)|0;ha(23)|0;return 0}return 0}function Jo(a){a=a|0;var b=0,d=0,e=0;b=Ca;Ca=Ca+16|0;d=b+8|0;e=b;Ko();c[e>>2]=a;os(55512,e)|0;Ir(c[8398]|0)|0;c[d>>2]=a;mq(3552704,55512,d)|0;Ok(3552704);Pk()|0;sa(0)}function Ko(){var b=0,d=0,e=0;b=Ca;Ca=Ca+16|0;d=b;e=G()|0;if(!(a[e>>0]|0)){Ca=b;return}c[d>>2]=e;os(55535,d)|0;Ir(c[8398]|0)|0;F();Ca=b;return}function Lo(){return 0}function Mo(b){b=b|0;var d=0,e=0;a[3704512]=63;a[3704513]=0;if(b>>>0>511)return 3704512;fr(3704512,c[28016+(b<<2)>>2]|0)|0;if(!(Yq(3704512)|0))return 3704512;b=0;do{d=3704512+b|0;e=a[d>>0]|0;if((e+-97&255)<26)a[d>>0]=(e&255)+224;b=b+1|0}while(b>>>0<(Yq(3704512)|0)>>>0);return 3704512}function No(a){a=a|0;c[1053384]=1;ia(24,c[1052820]|0)|0;qo(c[1052808]|0);so(c[1052809]|0);return 0}function Oo(){return 0}function Po(){M();c[1231628]=(c[1231628]|0)+1;return}function Qo(){c[1231628]=(c[1231628]|0)+-1;Q();return}function Ro(){return 0}function So(){return 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;g=Mm()|0;c[1231629]=P(z(g,d)|0,z(g,e)|0,32,0)|0;return 0}function Uo(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(f|e|g|h|0)return;if((c[a+8>>2]|0)==8){h=c[1231630]|0;do if(!h){l=a;m=8}else{g=c[h>>2]|0;if((g|0)==(c[a>>2]|0)?(e=c[h+4>>2]|0,(e|0)==(c[a+4>>2]|0)):0){n=h;o=g;p=e;q=g;break}bl(h)|0;l=a;m=8}while(0);if((m|0)==8){m=a+4|0;h=al(c[l>>2]|0,c[m>>2]|0,32)|0;c[1231630]=h;n=h;o=c[h>>2]|0;p=c[m>>2]|0;q=c[l>>2]|0}l=c[n+12>>2]|0;m=c[1231623]|0;h=0;do{c[3704768+(h<<2)>>2]=(d[m+(h*3|0)>>0]|0)<<16|(d[m+(h*3|0)+1>>0]|0)<<8|(d[m+(h*3|0)+2>>0]|0)|-16777216;h=h+1|0}while((h|0)!=256);h=o<<2;if((p|0)<1|(q|0)==0)r=n;else{o=c[a+16>>2]|0;m=0;g=l;while(1){l=g;e=q;f=c[o+(m<<2)>>2]|0;while(1){c[l>>2]=c[3704768+((d[f>>0]|0)<<2)>>2];e=e+-1|0;if(!e)break;else{l=l+4|0;f=f+1|0}}m=m+1|0;if((m|0)==(p|0)){r=n;break}else g=g+h|0}}}else r=a;N(c[1231629]|0)|0;a=c[1231629]|0;if((j|0)>0?(h=c[r+16>>2]|0,(i|0)>0):0){r=c[a+20>>2]|0;g=0;do{n=r+((z(g,i)|0)<<2)|0;p=c[h+(g<<2)>>2]|0;m=0;o=n;while(1){n=c[p>>2]&-16711936;c[o>>2]=n;q=(c[p>>2]|0)>>>16&255|n;c[o>>2]=q;c[o>>2]=c[p>>2]<<16|q|-16777216;m=m+1|0;if((m|0)==(i|0))break;else{p=p+4|0;o=o+4|0}}g=g+1|0}while((g|0)!=(j|0))}R(a|0);return}function Vo(){return J()|0}function Wo(){return}function Xo(){return}function Yo(){return 0}function Zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(b|0)c[b>>2]=0;if(d|0)c[d>>2]=0;if(!e)return;c[e>>2]=0;return}function _o(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ca;Ca=Ca+64|0;d=b+48|0;e=b;f=0;do{g=3561536+f|0;h=a[g>>0]|0;a[3562560+f>>0]=h;if(h<<24>>24==3)a[g>>0]=1;f=f+1|0}while((f|0)!=512);f=0;do{if(!(a[3561536+f>>0]|0))a[3562048+f>>0]=0;f=f+1|0}while((f|0)!=512);f=H()|0;a[3561760]=f&64;a[3561764]=f&128;a[3561762]=0;a[3561766]=0;a[3561761]=f&1;a[3561765]=f&2;if(O(e|0)|0){f=e+12|0;do{g=c[e>>2]|0;do if((g&-2|0)==768){h=c[f>>2]|0;i=(h|0)==1104?80:h;h=(i|0)==1103?79:i;i=(h|0)==1106?82:h;h=(i|0)==1105?81:i;i=(h|0)==1099?75:h;h=(i|0)==1102?78:i;i=(h|0)==1248?224:h;if((g|0)!=768){if((i|0)>=512)break;a[3561536+i>>0]=0;a[3562560]=0;break}if((((xl(80)|0)==0?(xl(79)|0)==0:0)?(xl(82)|0)==0:0)?(xl(81)|0)==0:0)j=0;else j=-1;if((i|0)<512){a[3561536+i>>0]=3;a[3562560+i>>0]=0;a[3562048+i>>0]=0}i=c[1053367]|0;if((j|0)!=0&(i|0)<32){c[3561408+(i<<2)>>2]=j;c[1053367]=i+1}}while(0)}while((O(e|0)|0)!=0)}e=(ha(25)|0)!=0;if(e&(c[1053367]|0)<32)do{e=ha(26)|0;j=(e|0)<-1;if(j){c[d>>2]=e;os(57106,d)|0}f=c[1053367]|0;c[3561408+(f<<2)>>2]=j?-1:e;c[1053367]=f+1;f=(ha(25)|0)!=0}while(f&(c[1053367]|0)<32);d=ha(27)|0;c[1052780]=(c[1052780]|0)+d;c[1052782]=(c[1052782]|0)+d;d=ha(28)|0;c[1052781]=(c[1052781]|0)+d;c[1052783]=(c[1052783]|0)+d;$o();if((c[1052784]|0)==0?(ha(29)|0)!=0:0){if(c[1053367]|0){Ca=b;return 0}}else{c[1053367]=0;Ps(3561536,0,512)|0;Ps(3562560,0,512)|0;Ps(3562048,0,512)|0;c[1052780]=0;c[1052781]=0;c[1052782]=0;c[1052783]=0}d=0;while(1){if((xl(d)|0)==3)break;if(d>>>0<511)d=d+1|0;else{k=38;break}}if((k|0)==38){Ca=b;return 0}c[890352]=-1;c[1053367]=(c[1053367]|0)+1;Ca=b;return 0}function $o(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=Ca;Ca=Ca+16|0;b=a+8|0;d=a+4|0;e=a;ap(b,d,e);if(!(c[8397]|0)){f=(c[e>>2]|0)>0;g=c[b>>2]|0;h=c[d>>2]|0}else{c[e>>2]=1;c[d>>2]=1;c[b>>2]=1;c[8397]=0;f=1;g=1;h=1}if((f&(h|g|0)>-1?(g|0)<(c[1231610]|0):0)?(h|0)<(c[1231611]|0):0)ha(30)|0;if(c[1052784]|0){Ca=a;return}if(!(ha(29)|0)){Ca=a;return}ha(31)|0;Ca=a;return}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ca;Ca=Ca+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;if(ha(32)|0){if(a|0)c[a>>2]=ha(33)|0;if(b|0)c[b>>2]=ha(34)|0;if(!d){Ca=e;return}c[d>>2]=ha(35)|0;Ca=e;return}j=(I(f|0,g|0)|0)&255;K(0,h|0,i|0);k=c[h>>2]|0;h=c[i>>2]|0;if((k|0)==0|(h|0)==0){Ca=e;return}i=c[1231610]|0;l=c[1231611]|0;if(!(+(k|0)/+(h|0)>=+(i|0)/+(l|0))){m=(h-((z(l,k)|0)/(i|0)|0)|0)/2|0;n=(c[g>>2]|0)-m|0;c[g>>2]=n;m=(z(c[1231610]|0,c[f>>2]|0)|0)/(k|0)|0;c[f>>2]=m;o=z(c[1231610]|0,n)|0;p=k;q=m}else{m=(k-((z(i,h)|0)/(l|0)|0)|0)/2|0;i=(z((c[f>>2]|0)-m|0,l)|0)/(h|0)|0;c[f>>2]=i;o=z(c[g>>2]|0,l)|0;p=h;q=i}i=(o|0)/(p|0)|0;c[g>>2]=i;if(a|0)c[a>>2]=q;if(b|0)c[b>>2]=i;if(!d){Ca=e;return}c[d>>2]=j<<1&4|j&1|j>>>1&2;Ca=e;return}function bp(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ca;Ca=Ca+16|0;e=d;c[e>>2]=a;mq(b,57901,e)|0;Ca=d;return}function cp(a,b){a=a|0;b=b|0;fr(b,a)|0;return}function dp(a,b){a=a|0;b=b|0;fr(b,a)|0;return}function ep(b){b=b|0;var c=0,d=0;if(!(ha(19)|0)){js(58001)|0;return 0}ha(36)|0;c=Yq(b)|0;if((c|0)>0){d=0;do{ia(37,a[b+d>>0]|0)|0;d=d+1|0}while((d|0)!=(c|0))}ha(38)|0;return 0}function fp(a){a=a|0;return}function gp(a,b){a=a|0;b=b|0;return 0}function hp(a){a=a|0;var b=0;b=En(68)|0;Fn(b,0,68);Fa[a&0]()|0;return b|0}function ip(a){a=a|0;Hn(a);return}function jp(){var a=0;if(c[1052784]|0){a=0;return a|0}a=ha(29)|0;return a|0}function kp(a){a=a|0;ha(39)|0;return 0}function lp(b){b=b|0;var c=0,d=0,e=0;ha(40)|0;c=Yq(b)|0;if((c|0)<=0){d=ha(42)|0;return d|0}e=0;do{ia(41,a[b+e>>0]|0)|0;e=e+1|0}while((e|0)!=(c|0));d=ha(42)|0;return d|0}function mp(){var b=0,c=0,d=0;if(!(ha(43)|0)){b=En(2)|0;a[b>>0]=0;c=b;return c|0}a[3705792]=0;if(!(ha(44)|0)){ha(45)|0;a[3705792]=0;b=0;do{d=ha(46)|0;a[3705792+b>>0]=d;b=b+1|0;a[3705792+b>>0]=0}while((d|0)!=0&b>>>0<65536)}else a[3705792]=0;b=En((Yq(3705792)|0)+1|0)|0;fr(b,3705792)|0;c=b;return c|0}function np(a){a=a|0;return 0}function op(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ca;Ca=Ca+1296|0;f=e+1280|0;g=e+1024|0;h=e+512|0;i=e;am(b,0,h,i);c[f>>2]=h;c[f+4>>2]=i;mq(g,58700,f)|0;f=c[1231631]|0;a:do if((f|0)>0){i=0;while(1){h=c[3771344+(i<<2)>>2]|0;i=i+1|0;if(!(Oq(g,h+24|0)|0)){j=h;break a}if((i|0)>=(f|0)){j=0;break}}}else j=0;while(0);switch(a[d>>0]|0){case 114:{if(!j){k=0;Ca=e;return k|0}c[j+20>>2]=0;k=j;Ca=e;return k|0}case 119:{if(!j){d=In(0)|0;c[d+4>>2]=1;Kk(d+24|0,g)|0;g=c[1231631]|0;c[3771344+(g<<2)>>2]=d;c[1231631]=g+1;k=d;Ca=e;return k|0}else{c[j+16>>2]=0;c[j+20>>2]=0;k=j;Ca=e;return k|0}break}default:{k=0;Ca=e;return k|0}}return 0}function pp(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[1231631]|0;if((b|0)<=0){d=0;return d|0}e=0;while(1){if((c[3771344+(e<<2)>>2]|0)==(a|0)){d=1;f=5;break}e=e+1|0;if((e|0)>=(b|0)){d=0;f=5;break}}if((f|0)==5)return d|0;return 0}function qp(){var a=0,b=0,d=0;a=En(44344)|0;Ps(a|0,0,44344)|0;b=En(65538)|0;c[a>>2]=b;Fn(b,0,65538);c[a+4>>2]=al(128,128,8)|0;c[a+8>>2]=al(128,64,8)|0;b=a+12|0;d=0;do{c[b+(d*656|0)+4>>2]=(d|0)==0?1:16;d=d+1|0}while((d|0)!=64);d=a+41996|0;b=0;do{c[d+(b<<4)>>2]=65;c[d+(b<<4)+4>>2]=66;c[d+(b<<4)+8>>2]=67;c[d+(b<<4)+12>>2]=68;b=b+1|0}while((b|0)!=64);c[a+44328>>2]=Ep()|0;c[a+44332>>2]=Ep()|0;c[a+44336>>2]=Ep()|0;c[a+44340>>2]=Ep()|0;return a|0}function rp(a){a=a|0;if(!a)return;bl(c[a+4>>2]|0)|0;bl(c[a+8>>2]|0)|0;ko(a);eo(a+12|0);eo(a+668|0);eo(a+1324|0);eo(a+1980|0);eo(a+2636|0);eo(a+3292|0);eo(a+3948|0);eo(a+4604|0);eo(a+5260|0);eo(a+5916|0);eo(a+6572|0);eo(a+7228|0);eo(a+7884|0);eo(a+8540|0);eo(a+9196|0);eo(a+9852|0);eo(a+10508|0);eo(a+11164|0);eo(a+11820|0);eo(a+12476|0);eo(a+13132|0);eo(a+13788|0);eo(a+14444|0);eo(a+15100|0);eo(a+15756|0);eo(a+16412|0);eo(a+17068|0);eo(a+17724|0);eo(a+18380|0);eo(a+19036|0);eo(a+19692|0);eo(a+20348|0);eo(a+21004|0);eo(a+21660|0);eo(a+22316|0);eo(a+22972|0);eo(a+23628|0);eo(a+24284|0);eo(a+24940|0);eo(a+25596|0);eo(a+26252|0);eo(a+26908|0);eo(a+27564|0);eo(a+28220|0);eo(a+28876|0);eo(a+29532|0);eo(a+30188|0);eo(a+30844|0);eo(a+31500|0);eo(a+32156|0);eo(a+32812|0);eo(a+33468|0);eo(a+34124|0);eo(a+34780|0);eo(a+35436|0);eo(a+36092|0);eo(a+36748|0);eo(a+37404|0);eo(a+38060|0);eo(a+38716|0);eo(a+39372|0);eo(a+40028|0);eo(a+40684|0);eo(a+41340|0);Hn(c[a>>2]|0);Fp(c[a+44328>>2]|0);Fp(c[a+44332>>2]|0);Fp(c[a+44336>>2]|0);Fp(c[a+44340>>2]|0);Hn(a);if((c[1268394]|0)!=(a|0))return;c[1268394]=0;return}function sp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,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;d=Ca;Ca=Ca+80|0;e=d+48|0;f=d+40|0;g=d+24|0;h=d+8|0;i=d;j=d+64|0;c[1266041]=0;k=En(196609)|0;a[k>>0]=0;l=Vl(k,196608,b)|0;a:while(1){switch(a[l>>0]|0){case 0:{break a;break}case 112:case 10:{m=4;break a;break}default:{}}l=l+1|0}if((m|0)==4?(kq(l,58705,16)|0)==0:0){Vl(k,196608,b)|0;c[j>>2]=0;c[i>>2]=j;Mr(k,58722,i)|0;if((c[j>>2]|0)>18){Hn(k);c[1266041]=1;n=0;Ca=d;return n|0}i=qp()|0;c[i+44320>>2]=c[j>>2];l=0;do{Ps(i+12+(l*656|0)|0,0,656)|0;c[i+12+(l*656|0)+4>>2]=(l|0)==0?1:16;l=l+1|0}while((l|0)!=64);l=i+4|0;Xk(c[l>>2]|0);o=i+8|0;Xk(c[o>>2]|0);Ps(i+43292|0,0,1024)|0;a[c[i>>2]>>0]=0;if(!(Rl(b)|0)){p=k+3|0;q=i+44316|0;r=0;s=0;t=0;u=0;v=0;w=0;x=0;while(1){Ps(k|0,0,196609)|0;Vl(k,196608,b)|0;if((Rl(b)|0)!=0?(a[k>>0]|0)==0:0){y=-1;z=w;A=s;B=t;C=u;D=v;E=x}else m=14;do if((m|0)==14){m=0;if(kq(k,58733,7)|0)if(kq(k,58741,7)|0)if(kq(k,58749,7)|0)if(kq(k,58757,7)|0)if(kq(k,58765,7)|0)if(kq(k,58773,9)|0)if(!(kq(k,58783,9)|0)){y=6;z=w;A=s;B=t;C=u;D=v;E=x}else{if((r|0)==1){F=c[i>>2]|0;G=Yq(F)|0;if(((Yq(k)|0)+G|0)>>>0>=65536){y=1;z=w;A=s;B=t;C=u;D=v;E=x;break}Ap(k,F+G|0)|0;if(!(Rl(b)|0)){G=c[i>>2]|0;F=G+(Yq(G)|0)|0;a[F>>0]=10;a[F+1>>0]=0}a[(c[i>>2]|0)+65536>>0]=0;y=1;z=w;A=s;B=t;C=u;D=v;E=x;break}if((x|0)<128&(r|0)==2){F=0;do{G=a[k+F>>0]|0;H=G+-48|0;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(x<<2)>>2]|0)+F>>0]=H>>>0<10?H:(G+-97|0)>>>0<6?G+169|0:0;F=F+1|0}while((F|0)!=128);I=x+1|0}else I=x;if((s|0)<2&(r|0)==10){F=s<<7;G=(c[j>>2]|0)>2;H=0;do{if(G){J=H<<1;K=a[k+J>>0]|0;L=K+-48|0;M=a[k+(J|1)>>0]|0;J=M+-48|0;N=((L>>>0<10?L:(K+-97|0)>>>0<6?K+268435369|0:0)<<4)+(J>>>0<10?J:(M+-97|0)>>>0<6?M+-87|0:0)|0}else{M=a[k+H>>0]|0;J=M+-48|0;N=J>>>0<10?J:(M+-97|0)>>>0<6?M+-87|0:0}c[i+43292+(H+F<<2)>>2]=N;H=H+1|0}while((H|0)!=128);O=s+1|0}else O=s;if((v|0)<64&(r|0)==3){H=0;do{F=H<<1;G=a[k+F>>0]|0;M=G+-48|0;J=a[k+(F|1)>>0]|0;F=J+-48|0;a[(c[(c[(c[o>>2]|0)+16>>2]|0)+(v<<2)>>2]|0)+H>>0]=((M>>>0<10?M:(G+-97|0)>>>0<6?G+9|0:0)<<4)+(F>>>0<10?F:(J+-97|0)>>>0<6?J+169|0:0);H=H+1|0}while((H|0)!=128);P=v+1|0}else P=v;if((u|0)<64&(r|0)==4){c[h>>2]=i+12+(u*656|0);c[h+4>>2]=i+12+(u*656|0)+4;c[h+8>>2]=i+12+(u*656|0)+8;c[h+12>>2]=i+12+(u*656|0)+12;Mr(k,58793,h)|0;H=0;do{J=i+12+(u*656|0)+16+(H*20|0)|0;F=i+12+(u*656|0)+16+(H*20|0)+4|0;G=i+12+(u*656|0)+16+(H*20|0)+8|0;M=i+12+(u*656|0)+16+(H*20|0)+12|0;c[g>>2]=J;c[g+4>>2]=F;c[g+8>>2]=G;c[g+12>>2]=M;Mr(k+((H*5|0)+8)|0,58810,g)|0;K=c[M>>2]|0;if(K&8|0)c[i+12+(u*656|0)+16+(H*20|0)+16>>2]=128;L=c[F>>2]|0;if(L&8|0)c[i+12+(u*656|0)+16+(H*20|0)+16>>2]=128;c[M>>2]=K&7;c[F>>2]=L&7;c[G>>2]=c[G>>2]&7;c[J>>2]=c[J>>2]&63;H=H+1|0}while((H|0)!=32);Q=u+1|0}else Q=u;if(!((t|0)<64&(r|0)==5)){if(!((w|0)<128&(r|0)==6)){y=r;z=w;A=O;B=t;C=Q;D=P;E=I;break}H=c[q>>2]|0;if(!H){J=al(128,128,8)|0;c[q>>2]=J;R=J}else R=H;H=a[k>>0]|0;J=H+-48|0;a[c[(c[R+16>>2]|0)+(w<<2)>>2]>>0]=J>>>0<10?J:(H+-97|0)>>>0<6?H+169|0:0;H=1;do{J=a[k+H>>0]|0;G=J+-48|0;a[(c[(c[(c[q>>2]|0)+16>>2]|0)+(w<<2)>>2]|0)+H>>0]=G>>>0<10?G:(J+-97|0)>>>0<6?J+169|0:0;H=H+1|0}while((H|0)!=128);y=6;z=w+1|0;A=O;B=t;C=Q;D=P;E=I;break}if((c[j>>2]|0)>2){c[f>>2]=i+43020+(t<<2);Mr(k,58824,f)|0;S=p}else S=k;H=i+41996+(t<<4)|0;J=i+41996+(t<<4)+4|0;G=i+41996+(t<<4)+8|0;L=i+41996+(t<<4)+12|0;c[e>>2]=H;c[e+4>>2]=J;c[e+8>>2]=G;c[e+12>>2]=L;Mr(S,58793,e)|0;do if((c[j>>2]|0)<4){if(!(c[H>>2]|0))c[H>>2]=65;if(!(c[J>>2]|0))c[J>>2]=65;if(!(c[G>>2]|0))c[G>>2]=65;if(c[L>>2]|0)break;c[L>>2]=65}while(0);y=5;z=w;A=O;B=t+1|0;C=Q;D=P;E=I}else{y=5;z=w;A=s;B=t;C=u;D=v;E=x}else{y=4;z=w;A=s;B=t;C=u;D=v;E=x}else{y=3;z=w;A=s;B=t;C=u;D=v;E=x}else{y=10;z=w;A=s;B=t;C=u;D=v;E=x}else{y=2;z=w;A=s;B=t;C=u;D=v;E=x}else{y=1;z=w;A=s;B=t;C=u;D=v;E=x}}while(0);if((y|0)!=-1&(Rl(b)|0)==0){r=y;s=A;t=B;u=C;v=D;w=z;x=E}else break}}E=c[i>>2]|0;if(a[E>>0]|0)a[E+((Yq(E)|0)+-1)>>0]=0;Hn(k);n=i;Ca=d;return n|0}Hn(k);n=0;Ca=d;return n|0}function tp(a){a=a|0;var b=0,c=0;b=Tl(a,58830)|0;if(!b){c=0;return c|0}a=sp(b)|0;Ul(b);c=a;return c|0}function up(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;fm(e,58832,0)|0;fm(e,58875,18)|0;fm(e,58887,0)|0;f=En(196614)|0;zp(c[b>>2]|0,f)|0;Ll(f,1,Yq(f)|0,e)|0;Hn(f);fm(e,58896,0)|0;f=b+4|0;g=c[(c[f>>2]|0)+16>>2]|0;h=0;i=-1;while(1){j=c[g+(h<<2)>>2]|0;k=0;l=i;do{l=(a[j+k>>0]|0)==0?l:h;k=k+1|0}while((k|0)!=128);h=h+1|0;if((h|0)==128)break;else i=l}if((l|0)>-1){fm(e,58898,0)|0;i=0;while(1){h=0;do{g=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+h>>0]|0;gm(e,58907,((g&255)<15?g:15)&255,0,0,0)|0;h=h+1|0}while((h|0)!=128);fm(e,58896,0)|0;if((i|0)==(l|0))break;else i=i+1|0}}i=b+44316|0;l=c[i>>2]|0;if((l|0?(c[l>>2]|0)==128:0)?(c[l+4>>2]|0)==128:0){f=c[l+12>>2]|0;l=0;h=0;do{l=(a[f+h>>0]|0)==0?l:1;h=h+1|0}while((h|0)!=16384);if(l|0){fm(e,58910,0)|0;l=0;do{h=0;do{f=a[(c[(c[(c[i>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+h>>0]|0;gm(e,58907,((f&255)<15?f:15)&255,0,0,0)|0;h=h+1|0}while((h|0)!=128);fm(e,58896,0)|0;l=l+1|0}while((l|0)!=128);fm(e,58896,0)|0}}l=0;i=0;do{l=(c[b+43292+(i<<2)>>2]|0)==0?l:1;i=i+1|0}while((i|0)!=256);if(l|0){fm(e,58921,0)|0;l=0;do{gm(e,58930,c[b+43292+(l<<2)>>2]&255,0,0,0)|0;l=l+1|0}while((l|0)!=128);fm(e,58896,0)|0;l=0;do{gm(e,58930,c[b+43292+(l+128<<2)>>2]&255,0,0,0)|0;l=l+1|0}while((l|0)!=128);fm(e,58896,0)|0}l=b+8|0;i=c[(c[l>>2]|0)+16>>2]|0;h=-1;f=0;while(1){g=c[i+(f<<2)>>2]|0;m=h;k=0;do{m=(a[g+k>>0]|0)==0?m:f;k=k+1|0}while((k|0)!=128);f=f+1|0;if((f|0)==32)break;else h=m}if((m|0)>-1){fm(e,58935,0)|0;h=0;while(1){f=0;do{gm(e,58930,d[(c[(c[(c[l>>2]|0)+16>>2]|0)+(h<<2)>>2]|0)+f>>0]|0,0,0,0)|0;f=f+1|0}while((f|0)!=128);fm(e,58896,0)|0;if((h|0)==(m|0))break;else h=h+1|0}}h=0;m=-1;while(1){l=(c[b+12+(h*656|0)>>2]|0)==0?m:h;f=c[b+12+(h*656|0)+4>>2]|0;n=(c[b+12+(h*656|0)+12>>2]|c[b+12+(h*656|0)+8>>2]|0)==0?((h|0)==0?((f|0)==1?l:h):(f|0)==16?l:h):h;l=0;do{n=(c[b+12+(h*656|0)+16+(l*20|0)+4>>2]|c[b+12+(h*656|0)+16+(l*20|0)>>2]|c[b+12+(h*656|0)+16+(l*20|0)+16>>2]|c[b+12+(h*656|0)+16+(l*20|0)+8>>2]|c[b+12+(h*656|0)+16+(l*20|0)+12>>2]|0)==0?n:h;l=l+1|0}while((l|0)!=32);h=h+1|0;if((h|0)==64)break;else m=n}if((n|0)>-1){fm(e,58944,0)|0;m=0;while(1){h=c[b+12+(m*656|0)>>2]|0;l=(h|0)<255?h:255;h=c[b+12+(m*656|0)+4>>2]|0;f=(h|0)<255?h:255;h=c[b+12+(m*656|0)+8>>2]|0;i=(h|0)<255?h:255;h=c[b+12+(m*656|0)+12>>2]|0;k=(h|0)<255?h:255;gm(e,58793,(l|0)>0?l:0,(f|0)>0?f:0,(i|0)>0?i:0,(k|0)>0?k:0)|0;k=0;do{i=c[b+12+(m*656|0)+16+(k*20|0)+4>>2]|0;f=(i|0)<7?i:7;i=c[b+12+(m*656|0)+16+(k*20|0)+8>>2]|0;l=(i|0)<7?i:7;i=c[b+12+(m*656|0)+16+(k*20|0)+12>>2]|0;h=(i|0)<7?i:7;gm(e,58953,c[b+12+(m*656|0)+16+(k*20|0)>>2]|0,((f|0)>0?f:0)+((c[b+12+(m*656|0)+16+(k*20|0)+16>>2]|0)==0?0:8)|0,(l|0)>0?l:0,(h|0)>0?h:0)|0;k=k+1|0}while((k|0)!=32);fm(e,58896,0)|0;if((m|0)==(n|0))break;else m=m+1|0}}m=-1;n=0;do{m=(c[b+41996+(n<<4)+8>>2]|0)==67&((c[b+41996+(n<<4)+4>>2]|0)==66&((c[b+43020+(n<<2)>>2]|0)==0?(c[b+41996+(n<<4)>>2]|0)==65:0))?m:n;n=n+1|0}while((n|0)!=64);if((m|0)<=-1)return 0;fm(e,58964,0)|0;n=0;while(1){gm(e,58824,c[b+43020+(n<<2)>>2]|0,0,0,0)|0;gm(e,58975,c[b+41996+(n<<4)>>2]|0,c[b+41996+(n<<4)+4>>2]|0,c[b+41996+(n<<4)+8>>2]|0,c[b+41996+(n<<4)+12>>2]|0)|0;if((n|0)==(m|0))break;else n=n+1|0}fm(e,58896,0)|0;return 0}function vp(a,b){a=a|0;b=b|0;var c=0,d=0;c=Tl(b,58993)|0;if(!c){d=1;return d|0}up(a,c)|0;Ul(c);d=0;return d|0}function wp(a,b){a=a|0;b=b|0;var d=0,e=0;d=Dn(362)|0;if(!a){e=In(b+1|0)|0;c[d+4>>2]=e;c[d>>2]=c[e+12>>2]}else c[d>>2]=a;c[d+8>>2]=b;b=Ep()|0;c[d+356>>2]=b;c[b+16>>2]=24;xp(d);return d|0}function xp(a){a=a|0;var b=0,d=0;b=In(2048)|0;d=c[a>>2]|0;Ll(d,1,(Yq(d)|0)+1|0,b)|0;Kl(c[a+336>>2]|0,b);Kl(c[a+344>>2]|0,b);Kl(c[a+348>>2]|0,b);Kl(c[a+320>>2]|0,b);Kl(c[a+324>>2]|0,b);Kl(c[a+352>>2]|0,b);d=c[a+356>>2]|0;Hp(b,d,Yq(c[a>>2]|0)|0)|0;return}function yp(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b|0)Kn(b);Fp(c[a+356>>2]|0);Hn(a);return}function zp(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Yq(b)|0;if(!c)e=En((d*7|0)+1|0)|0;else e=c;a[e>>0]=0;if((d|0)<=0)return e|0;c=0;f=e;while(1){g=a[b+c>>0]|0;h=(((g<<24>>24)+256|0)%256|0)+-128|0;if(h>>>0<26){i=a[30064+(h*7|0)>>0]|0;if(!(i<<24>>24))j=f;else{a[f>>0]=i;j=f+1|0}i=a[30064+(h*7|0)+1>>0]|0;if(!(i<<24>>24))k=j;else{a[j>>0]=i;k=j+1|0}i=a[30064+(h*7|0)+2>>0]|0;if(!(i<<24>>24))l=k;else{a[k>>0]=i;l=k+1|0}i=a[30064+(h*7|0)+3>>0]|0;if(!(i<<24>>24))m=l;else{a[l>>0]=i;m=l+1|0}i=a[30064+(h*7|0)+4>>0]|0;if(!(i<<24>>24))n=m;else{a[m>>0]=i;n=m+1|0}i=a[30064+(h*7|0)+5>>0]|0;if(!(i<<24>>24))o=n;else{a[n>>0]=i;o=n+1|0}i=a[30064+(h*7|0)+6>>0]|0;if(!(i<<24>>24))p=o;else{a[o>>0]=i;p=o+1|0}}else{a[f>>0]=g;p=f+1|0}a[p>>0]=0;c=c+1|0;if((c|0)==(d|0))break;else f=p}return e|0}function Ap(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;d=Yq(b)|0;if(!c)e=En(d+1|0)|0;else e=c;a[e>>0]=0;if((d|0)<=0)return e|0;c=e;f=0;while(1){g=a[b+f>>0]|0;h=((g<<24>>24)+256|0)%256|0;a:do if((h|0)>127){i=b+(f+1)|0;j=b+(f+2)|0;k=b+(f+3)|0;l=b+(f+4)|0;m=b+(f+5)|0;n=b+(f+6)|0;o=0;while(1){p=a[30064+(o*7|0)>>0]|0;if(p<<24>>24!=0&(h|0)==(p&255|0)){q=a[30064+(o*7|0)+1>>0]|0;if(q<<24>>24?(((a[i>>0]|0)+256|0)%256|0|0)==(q&255|0):0){r=a[30064+(o*7|0)+2>>0]|0;if(r<<24>>24?(((a[j>>0]|0)+256|0)%256|0|0)==(r&255|0):0){s=a[30064+(o*7|0)+3>>0]|0;if(s<<24>>24?(((a[k>>0]|0)+256|0)%256|0|0)==(s&255|0):0){t=a[30064+(o*7|0)+4>>0]|0;if(t<<24>>24?(((a[l>>0]|0)+256|0)%256|0|0)==(t&255|0):0){u=a[30064+(o*7|0)+5>>0]|0;if(u<<24>>24?(((a[m>>0]|0)+256|0)%256|0|0)==(u&255|0):0){v=a[30064+(o*7|0)+6>>0]|0;if(v<<24>>24?(((a[n>>0]|0)+256|0)%256|0|0)==(v&255|0):0){w=7;break}else{x=6;y=v}}else{x=5;y=u}}else{x=4;y=t}}else{x=3;y=s}}else{x=2;y=r}}else{x=1;y=q}}else{x=0;y=p}if(!(y<<24>>24)){w=x;break}p=o+1|0;if(p>>>0<26)o=p;else{z=12;break a}}a[c>>0]=o+128;A=f+-1+w|0;B=c+1|0;z=14}else z=12;while(0);if((z|0)==12){z=0;if(g<<24>>24==13){C=c;D=f}else{a[c>>0]=g;A=f;B=c+1|0;z=14}}if((z|0)==14){z=0;a[B>>0]=0;C=B;D=A}f=D+1|0;if((f|0)>=(d|0))break;else c=C}return e|0}function Bp(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=0;return e|0}f=c;c=b;b=0;g=d;while(1){f=f+-1|0;d=b+(g<<24>>24==10&1)|0;c=c+1|0;g=a[c>>0]|0;if((f|0)==0|g<<24>>24==0){e=d;break}else b=d}return e|0}function Cp(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=b;f=e;g=b;h=f-g|0;return h|0}i=0;j=b;k=d;while(1){i=i+(k<<24>>24==10&1)|0;d=j+1|0;k=a[d>>0]|0;if((i|0)==(c|0)|k<<24>>24==0){e=d;break}else j=d}f=e;g=b;h=f-g|0;return h|0}function Dp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=c[b+292>>2]|0;if(!e)return;f=c[b+336>>2]|0;a:do if(!f){g=0;h=0;i=b+308|0;j=b+312|0}else{k=c[b>>2]|0;l=b+308|0;m=b+316|0;n=b+312|0;o=k;p=0;q=k;k=0;while(1){r=a[q>>0]|0;if(!(r<<24>>24)){g=0;h=0;i=l;j=n;break a}do if(r<<24>>24>=0)if(r<<24>>24==9){s=c[m>>2]|0;if((s|0)>0){t=s;u=11;break}t=c[l>>2]|0;u=11;break}else{if(r<<24>>24!=10){v=k;w=(c[l>>2]|0)+p|0;break}v=(c[n>>2]|0)+k|0;w=0;break}else{t=c[l>>2]<<1;u=11}while(0);if((u|0)==11){u=0;v=k;w=t+p|0}q=q+1|0;if((q-o|0)==(f|0)){g=v;h=w;i=l;j=n;break}else{p=w;k=v}}}while(0);v=(c[j>>2]|0)-(c[e+16>>2]|0)+g|0;j=b+324|0;w=c[j>>2]|0;f=(w|0)<(g|0)?w:g;w=(d|0)==0?((v|0)>(f|0)?v:f):g-d|0;c[j>>2]=(w|0)>0?w:0;w=(c[i>>2]|0)-(c[e+12>>2]|0)+h|0;e=b+320|0;b=c[e>>2]|0;i=(b|0)<(h|0)?b:h;h=(w|0)>(i|0)?w:i;c[e>>2]=(h|0)>0?h:0;return}function Ep(){var a=0;a=Dn(20)|0;c[a>>2]=In(0)|0;c[a+4>>2]=In(0)|0;c[a+8>>2]=In(0)|0;c[a+12>>2]=In(0)|0;return a|0}function Fp(a){a=a|0;if(!a)return;Kn(c[a>>2]|0);Kn(c[a+4>>2]|0);Kn(c[a+8>>2]|0);Kn(c[a+12>>2]|0);return}function Gp(a){a=a|0;if(!a)return;Ln(c[a>>2]|0);Ln(c[a+4>>2]|0);Ln(c[a+8>>2]|0);Ln(c[a+12>>2]|0);return}function Hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+8|0;f=c[e>>2]|0;g=c[f+16>>2]|0;if(!g){Kn(f);c[e>>2]=a;h=0;return h|0}if((c[a+16>>2]|0)==(g|0)?(jq(c[a+12>>2]|0,c[f+12>>2]|0,(d|0)==0?g:d)|0)==0:0){Kn(a);h=0;return h|0}d=Ip(a,f,c[b+16>>2]|0)|0;f=c[b+4>>2]|0;g=d+16|0;Ll(c[d+12>>2]|0,1,c[g>>2]|0,f)|0;Kl(c[g>>2]|0,f);Kn(d);Ln(c[b>>2]|0);Kn(c[e>>2]|0);c[e>>2]=a;h=1;return h|0}function Ip(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,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;g=In(0)|0;h=(c[b+16>>2]|0)-f|0;i=e+16|0;j=(c[i>>2]|0)-f|0;k=(h|0)<(j|0)?h:j;if((k|0)<0)return g|0;a:do if(k){l=c[b+12>>2]|0;m=c[e+12>>2]|0;n=0;while(1){if((a[l+n>>0]|0)!=(a[m+n>>0]|0)){o=n;break}p=n+1|0;if((p|0)<(k|0))n=p;else{o=p;break}}n=j-o|0;if((k|0)>0&(n|0)>0){m=c[b+12>>2]|0;l=h+-1|0;p=c[e+12>>2]|0;q=j+-1|0;r=0;s=0;while(1){if((a[m+(l+r)>>0]|0)!=(a[p+(q+r)>>0]|0)){t=s;u=r;v=o;w=n;break a}x=s+1|0;y=~s;if((x|0)<(k|0)&(x|0)<(n|0)){r=y;s=x}else{t=x;u=y;v=o;w=n;break}}}else{t=0;u=0;v=o;w=n}}else{t=0;u=0;v=0;w=j}while(0);Ml(j,g);Ml(v,g);Ml(t,g);t=w+u|0;u=(t+7|0)/8|0;w=(t|0)>0;if(w){j=b+12|0;b=e+12|0;o=0;do{k=o<<3;do if((k|0)<(t|0)){s=k+v|0;if((s|0)<(h|0)?(a[(c[j>>2]|0)+s>>0]|0)==(a[(c[b>>2]|0)+s>>0]|0):0){z=0;break}z=1}else z=0;while(0);n=k|1;do if((n|0)<(t|0)){s=n+v|0;if((s|0)<(h|0)?(a[(c[j>>2]|0)+s>>0]|0)==(a[(c[b>>2]|0)+s>>0]|0):0){A=z;break}A=z|2}else A=z;while(0);n=k|2;do if((n|0)<(t|0)){s=n+v|0;if((s|0)<(h|0)?(a[(c[j>>2]|0)+s>>0]|0)==(a[(c[b>>2]|0)+s>>0]|0):0){B=A;break}B=A|4}else B=A;while(0);n=k|3;do if((n|0)<(t|0)){s=n+v|0;if((s|0)<(h|0)?(a[(c[j>>2]|0)+s>>0]|0)==(a[(c[b>>2]|0)+s>>0]|0):0){C=B;break}C=B|8}else C=B;while(0);n=k|4;do if((n|0)<(t|0)){s=n+v|0;if((s|0)<(h|0)?(a[(c[j>>2]|0)+s>>0]|0)==(a[(c[b>>2]|0)+s>>0]|0):0){D=C;break}D=C|16}else D=C;while(0);n=k|5;do if((n|0)<(t|0)){s=n+v|0;if((s|0)<(h|0)?(a[(c[j>>2]|0)+s>>0]|0)==(a[(c[b>>2]|0)+s>>0]|0):0){E=D;break}E=D|32}else E=D;while(0);n=k|6;do if((n|0)<(t|0)){s=n+v|0;if((s|0)<(h|0)?(a[(c[j>>2]|0)+s>>0]|0)==(a[(c[b>>2]|0)+s>>0]|0):0){F=E;break}F=E|64}else F=E;while(0);n=k|7;do if((n|0)<(t|0)){s=n+v|0;if((s|0)<(h|0)?(a[(c[j>>2]|0)+s>>0]|0)==(a[(c[b>>2]|0)+s>>0]|0):0){G=F;break}G=F|-128}else G=F;while(0);Nl(G,g);o=o+1|0}while((o|0)<(u|0));if(w){w=g+12|0;u=e+12|0;o=0;do{G=o+v|0;if(!((G|0)<(h|0)?!(1<<(o&7)&d[(c[w>>2]|0)+((o>>>3)+12)>>0]|0):0))Nl(a[(c[u>>2]|0)+G>>0]|0,g);o=o+1|0}while((o|0)!=(t|0));H=u}else I=18}else I=18;if((I|0)==18)H=e+12|0;e=g+20|0;c[e>>2]=c[g+16>>2];Ll((c[H>>2]|0)+((c[i>>2]|0)-f)|0,1,f,g)|0;Kl(f,g);c[e>>2]=0;return g|0}function Jp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0.0,D=0,E=0,F=0;e=d+64|0;f=c[e>>2]|0;g=d+68|0;h=c[g>>2]|0;i=c[b+525580>>2]|0;a:do if(!i)j=f;else{k=c[d+28>>2]|0;if((k|0)<=-1?(c[d+32>>2]|0)==0:0){j=f;break}switch(k|0){case 0:{switch((i|0)%3|0|0){case 1:{j=(c[d+32>>2]>>4)+f|0;break a;break}case 2:{j=(c[d+32>>2]&15)+f|0;break a;break}default:{j=f;break a}}break}case 1:{c[g>>2]=(c[d+32>>2]<<4)+h;j=f;break a;break}case 2:{c[g>>2]=h-(c[d+32>>2]<<4);j=f;break a;break}case 3:{k=c[d+76>>2]|0;if((f|0)<(k|0)){l=(c[d+32>>2]<<4)+h|0;c[g>>2]=l;if((l|0)<0){m=255-l+((l|0)>-256?l:-256)|0;n=f+-1-(m>>>8)|0;o=l+256+(m&-256)|0;c[e>>2]=n;c[g>>2]=o;p=o;q=n}else{p=l;q=f}if((p|0)>255){l=~p;n=p+256+((l|0)>-512?l:-512)|0;l=(n>>>8)+1+q|0;c[e>>2]=l;c[g>>2]=p+-256-(n&-256);r=l}else r=q;if((r|0)<(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a}if((f|0)<=(k|0)?(h|0)==0|(f|0)!=(k|0):0){j=f;break a}l=h-(c[d+32>>2]<<4)|0;c[g>>2]=l;if((l|0)<0){n=255-l+((l|0)>-256?l:-256)|0;o=f+-1-(n>>>8)|0;m=l+256+(n&-256)|0;c[e>>2]=o;c[g>>2]=m;s=m;t=o}else{s=l;t=f}if((s|0)>255){l=~s;o=s+256+((l|0)>-512?l:-512)|0;l=(o>>>8)+1+t|0;c[e>>2]=l;c[g>>2]=s+-256-(o&-256);u=l}else u=t;if((u|0)>(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a;break}case 4:{k=c[d+32>>2]>>4;if(!k){j=f;break a}l=z(c[b+525588>>2]|0,k)|0;k=c[(c[b>>2]|0)+48>>2]|0;c[d+60>>2]=65536/((z(l,k)|0)/(k+-1|0)|0|0)|0;j=f;break a;break}case 10:{k=d+8|0;l=(c[k>>2]|0)-(c[d+32>>2]|0)|0;o=(l|0)<63?l:63;c[k>>2]=(o|0)>0?o:0;j=f;break a;break}default:{j=f;break a}}}while(0);f=c[d+4>>2]|0;if(!f)return;g=c[b>>2]|0;if((f|0)>(c[g+64>>2]|0))return;b=c[g+68>>2]|0;if((c[d+28>>2]|0)==4){g=c[d+32>>2]|0;e=d+56|0;u=(g>>4<<5)+(c[e>>2]|0)|0;c[e>>2]=u&2047;e=u+512&2047;v=(z(512-(e>>>0<1024?e:2048-e|0)|0,g&15)|0)/16|0}else v=0;g=(c[b+(f*332|0)+100>>2]|0)+j|0;j=h-((c[b+(f*332|0)+88>>2]|0)/2|0)+v|0;if((j|0)<0){v=255-j+((j|0)>-256?j:-256)|0;w=g+-1-(v>>>8)|0;x=j+256+(v&-256)|0}else{w=g;x=j}if((x|0)>255){j=~x;g=x+256+((j|0)>-512?j:-512)|0;y=w+1+(g>>>8)|0;A=x+-256-(g&-256)|0}else{y=w;A=x}if((y|0)<0)B=1;else{x=(y>>>0)/12|0;C=+(c[30256+((y-(x*12|0)<<3)+((A|0)/32|0)<<2)>>2]<<4|0)*64.0/+(1<>2]=B;B=c[b+(f*332|0)+128>>2]|0;if(B|0?a[b+(f*332|0)+116>>0]&1:0){x=d+20|0;A=c[x>>2]|0;y=B+-1|0;if((A|0)<(y|0)?(w=A+1|0,(c[d+24>>2]|0)>=(c[b+(f*332|0)+132+(w<<2)>>2]|0)):0){c[x>>2]=w;D=w}else D=A;A=(D|0)<(y|0)?D:y;y=(A|0)>0?A:0;c[x>>2]=y;x=y+1|0;if((x|0)<(B|0)){B=c[b+(f*332|0)+132+(y<<2)>>2]|0;A=(c[b+(f*332|0)+132+(x<<2)>>2]|0)-B|0;D=d+24|0;w=c[D>>2]|0;g=w-B|0;B=z(A-g|0,c[b+(f*332|0)+180+(y<<2)>>2]|0)|0;j=d+16|0;c[j>>2]=B;c[j>>2]=((z(c[b+(f*332|0)+180+(x<<2)>>2]|0,g)|0)+B|0)/(A|0)|0;E=D;F=w}else{c[d+16>>2]=c[b+(f*332|0)+180+(y<<2)>>2];y=d+24|0;E=y;F=c[y>>2]|0}c[E>>2]=F+1;return}c[d+16>>2]=64;return}function Kp(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,E=0,F=0,G=0,H=0;f=e+28|0;g=c[f>>2]|0;h=e+36|0;c[h>>2]=g;i=e+32|0;j=c[i>>2]|0;k=e+40|0;c[k>>2]=j;l=c[b>>2]|0;m=c[l+60>>2]|0;n=d[(c[b+525572>>2]|0)+(l+72)>>0]|0;o=c[e>>2]|0;p=c[b+525576>>2]|0;q=m+(n*2596|0)+36+(o*320|0)+(p*5|0)|0;r=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+1>>0]|0;s=e+4|0;do if(!(r<<24>>24)){t=c[s>>2]|0;if(!t){u=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;if((a[u>>0]|0)==11){v=u;w=11;x=c[l+68>>2]|0;y=0;z=1;A=7;break}else return}else{B=t;A=6}}else{t=r&255;c[s>>2]=t;B=t;A=6}while(0);if((A|0)==6){s=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;r=a[s>>0]|0;t=c[l+68>>2]|0;if(!(r<<24>>24)){C=s;D=t;E=B;F=0;G=g}else{v=s;w=r;x=t;y=B;z=0;A=7}}if((A|0)==7){A=w&255;c[f>>2]=A;C=v;D=x;E=y;F=z;G=A}A=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+4|0;z=a[A>>0]|0;if(z<<24>>24)c[i>>2]=z&255;if((a[C>>0]|0)==0?(a[A>>0]|0)==0:0){c[i>>2]=0;c[f>>2]=0;H=0}else H=G;G=a[q>>0]|0;do if(G<<24>>24){q=G&255;if((G&255)>96){c[e+8>>2]=0;break}if((H|0)==3){c[e+76>>2]=q;c[e+20>>2]=0;c[e+24>>2]=0;break}c[e+64>>2]=q;if(!F){c[e+68>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+8>>2]=c[D+(E*332|0)+84>>2];c[e+20>>2]=0;c[e+24>>2]=0;c[e+56>>2]=0}}while(0);E=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+2>>0]|0;if(E<<24>>24)c[e+8>>2]=(E&255)+-16;if((g|0)!=11)return;c[b+525592>>2]=j;c[f>>2]=0;c[k>>2]=0;c[h>>2]=0;return}function Lp(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;g=d+8|0;h=z(c[d+16>>2]|0,c[g>>2]|0)|0;i=(e|0)==0?d+80|0:e;if((h|0?(e=c[d+4>>2]|0,e|0):0)?(j=c[a>>2]|0,(e|0)<=(c[j+64>>2]|0)):0){k=c[j+68>>2]|0;j=c[k+(e*332|0)+72>>2]|0;l=c[k+(e*332|0)+328>>2]|0;if(l|0){Oa[l&0](a,d,i,f,h);return}if((f|0)<=0)return;a=k+(e*332|0)+104|0;l=d+52|0;m=d+48|0;n=d+44|0;d=k+(e*332|0)+80|0;o=k+(e*332|0)+68|0;p=k+(e*332|0)+92|0;q=k+(e*332|0)+76|0;e=h;h=0;k=i;while(1){if((c[a>>2]|0)==8){r=Am(32e3)|0;s=r;t=c[m>>2]|0;u=c[n>>2]|0}else{r=c[n>>2]|0;v=c[m>>2]|0;w=v>>16;x=z(256-w|0,b[j+(r<<1)>>1]|0)|0;s=x+(z(w,b[j+(r+1<<1)>>1]|0)|0)>>8;t=v;u=r}b[k>>1]=(z(s,e)|0)>>>12;k=k+2|0;r=t+(c[l>>2]|0)|0;v=u+(r>>24)|0;c[n>>2]=v;c[m>>2]=r&16777215;r=c[d>>2]|0;if(((r|0)!=0?(c[p>>2]&3|0)!=0:0)?(v|0)>=((c[q>>2]|0)+r|0):0){w=v-r|0;c[n>>2]=w;y=w}else y=v;if((y|0)<(c[o>>2]|0))A=e;else{c[g>>2]=0;A=0}h=h+1|0;if((h|0)==(f|0))break;else e=A}return}Fn(i,0,f<<1);return}function Mp(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=c[a>>2]|0;Vo()|0;if((f|0)<=0)return;h=a+525596|0;i=a+525588|0;j=a+525572|0;k=g+32|0;l=g+40|0;g=a+525592|0;m=a+525580|0;n=a+525576|0;o=a+525600|0;p=a+525584|0;q=e;e=f;f=c[h>>2]|0;a:while(1){r=c[i>>2]|0;if((r|0)>(f|0)){s=r-f|0;r=(s|0)<(e|0)?s:e;do if((r|0)!=0?(s=r+f|0,(r|0)>0):0){t=c[(c[a>>2]|0)+40>>2]|0;if((t|0)<=0){u=f+1|0;Ps(q|0,0,((s|0)>(u|0)?s:u)-f<<1|0)|0;v=c[h>>2]|0;break}u=f;w=q;while(1){x=0;y=0;do{y=y+(b[a+4+(x*32848|0)+80+(u<<1)>>1]|0)|0;x=x+1|0}while((x|0)!=(t|0));x=(y|0)/3|0;A=(x|0)<32767?x:32767;b[w>>1]=(A|0)>-32767?A:-32767;u=u+1|0;if((u|0)>=(s|0)){v=f;break}else w=w+2|0}}else v=f;while(0);c[h>>2]=v+r;w=e-r|0;if((w|0)>0){B=q+(r<<1)|0;C=w}else{D=44;break}}else{B=q;C=e}w=c[l>>2]|0;b:do if((c[j>>2]|0)<(c[k>>2]|0))E=w;else{c:do if((w|0)>0){s=0;while(1){F=a+4+(s*32848|0)+28|0;if((c[F>>2]|0)==11)break;u=s+1|0;if((u|0)<(w|0))s=u;else break c}y=c[a+4+(s*32848|0)+32>>2]|0;c[j>>2]=y;c[j>>2]=((y|0)<0?1:(y|0)>=(c[k>>2]|0))?0:y;c[F>>2]=0;c[a+4+(s*32848|0)+40>>2]=0;c[a+4+(s*32848|0)+36>>2]=0;c[m>>2]=0;c[n>>2]=0;E=c[l>>2]|0;break b}while(0);if(!(c[o>>2]|0)){D=21;break a}c[j>>2]=0;E=w}while(0);if((E|0)>0){w=0;do{r=a+262788+(w*32848|0)|0;y=a+4+(w*32848|0)|0;u=r+80|0;do{c[r>>2]=c[y>>2];r=r+4|0;y=y+4|0}while((r|0)<(u|0));w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));G=y}else G=E;c[g>>2]=-1;if(!(c[m>>2]|0)){if((G|0)>0){w=0;do{Kp(a,a+4+(w*32848|0)|0);w=w+1|0;H=c[l>>2]|0}while((w|0)<(H|0));w=c[g>>2]|0;if((w|0)!=-1){c[j>>2]=w;c[m>>2]=0;c[n>>2]=0;if((H|0)>0){w=0;do{Kp(a,a+4+(w*32848|0)|0);w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));I=y;D=33}}else{I=H;D=33}}}else{I=G;D=33}if((D|0)==33?(D=0,(I|0)>0):0){w=0;do{y=a+4+(w*32848|0)|0;Jp(a,y);Lp(a,y,0,c[i>>2]|0);Lp(a,a+262788+(w*32848|0)|0,0,128);y=0;do{r=z(128-y|0,b[a+262788+(w*32848|0)+80+(y<<1)>>1]|0)|0;u=a+4+(w*32848|0)+80+(y<<1)|0;b[u>>1]=((z(y,b[u>>1]|0)|0)+r|0)>>>7;y=y+1|0}while((y|0)!=128);w=w+1|0}while((w|0)<(c[l>>2]|0))}c[h>>2]=0;w=(c[m>>2]|0)+1|0;c[m>>2]=w;if((w|0)<(c[p>>2]|0))J=c[n>>2]|0;else{c[m>>2]=0;w=(c[n>>2]|0)+1|0;c[n>>2]=w;J=w}w=c[a>>2]|0;y=c[j>>2]|0;if((J|0)>=(c[(c[w+60>>2]|0)+((d[w+72+y>>0]|0)*2596|0)+32>>2]|0)){c[n>>2]=0;c[j>>2]=y+1}if((C|0)>0){q=B;e=C;f=0}else{D=44;break}}if((D|0)==21){c[a+525604>>2]=0;return}else if((D|0)==44)return} +function Np(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;b=Ca;Ca=Ca+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[1277057]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=5108268+(i<<1<<2)|0;k=j+8|0;l=c[k>>2]|0;m=l+8|0;n=c[m>>2]|0;if((n|0)==(j|0))c[1277057]=g&~(1<>2]=j;c[k>>2]=n}n=i<<3;c[l+4>>2]=n|3;i=l+n+4|0;c[i>>2]=c[i>>2]|1;o=m;Ca=b;return o|0}m=c[1277059]|0;if(e>>>0>m>>>0){if(h|0){i=2<>>12&16;f=i>>>n;i=f>>>5&8;h=f>>>i;f=h>>>2&4;l=h>>>f;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|f|h|l)+(k>>>l)|0;l=5108268+(j<<1<<2)|0;k=l+8|0;h=c[k>>2]|0;f=h+8|0;n=c[f>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;c[k>>2]=n;p=g}n=j<<3;j=n-e|0;c[h+4>>2]=e|3;k=h+e|0;c[k+4>>2]=j|1;c[h+n>>2]=j;if(m|0){n=c[1277062]|0;h=m>>>3;l=5108268+(h<<1<<2)|0;i=1<>2]|0;r=i}c[r>>2]=n;c[q+12>>2]=n;c[n+8>>2]=q;c[n+12>>2]=l}c[1277059]=j;c[1277062]=k;o=f;Ca=b;return o|0}f=c[1277058]|0;if(f){k=(f&0-f)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=c[5108532+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=s;h=s;n=(c[s+4>>2]&-8)-e|0;while(1){s=c[i+16>>2]|0;if(!s){l=c[i+20>>2]|0;if(!l)break;else t=l}else t=s;s=(c[t+4>>2]&-8)-e|0;l=s>>>0>>0;i=t;h=l?t:h;n=l?s:n}i=h+e|0;if(i>>>0>h>>>0){s=c[h+24>>2]|0;l=c[h+12>>2]|0;do if((l|0)==(h|0)){j=h+20|0;k=c[j>>2]|0;if(!k){u=h+16|0;v=c[u>>2]|0;if(!v){w=0;break}else{x=v;y=u}}else{x=k;y=j}j=x;k=y;while(1){u=j+20|0;v=c[u>>2]|0;if(!v){z=j+16|0;A=c[z>>2]|0;if(!A)break;else{B=A;C=z}}else{B=v;C=u}j=B;k=C}c[k>>2]=0;w=j}else{u=c[h+8>>2]|0;c[u+12>>2]=l;c[l+8>>2]=u;w=l}while(0);do if(s|0){l=c[h+28>>2]|0;u=5108532+(l<<2)|0;if((h|0)==(c[u>>2]|0)){c[u>>2]=w;if(!w){c[1277058]=f&~(1<>2]|0)==(h|0)?l:s+20|0)>>2]=w;if(!w)break}c[w+24>>2]=s;l=c[h+16>>2]|0;if(l|0){c[w+16>>2]=l;c[l+24>>2]=w}l=c[h+20>>2]|0;if(l|0){c[w+20>>2]=l;c[l+24>>2]=w}}while(0);if(n>>>0<16){s=n+e|0;c[h+4>>2]=s|3;f=h+s+4|0;c[f>>2]=c[f>>2]|1}else{c[h+4>>2]=e|3;c[i+4>>2]=n|1;c[i+n>>2]=n;if(m|0){f=c[1277062]|0;s=m>>>3;l=5108268+(s<<1<<2)|0;u=1<>2]|0;E=u}c[E>>2]=f;c[D+12>>2]=f;c[f+8>>2]=D;c[f+12>>2]=l}c[1277059]=n;c[1277062]=i}o=h+8|0;Ca=b;return o|0}else F=e}else F=e}else F=e}else if(a>>>0<=4294967231){l=a+11|0;f=l&-8;u=c[1277058]|0;if(u){s=0-f|0;v=l>>>8;if(v)if(f>>>0>16777215)G=31;else{l=(v+1048320|0)>>>16&8;z=v<>>16&4;A=z<>>16&2;H=14-(v|l|z)+(A<>>15)|0;G=f>>>(H+7|0)&1|H<<1}else G=0;H=c[5108532+(G<<2)>>2]|0;a:do if(!H){I=0;J=0;K=s;L=61}else{z=0;A=s;l=H;v=f<<((G|0)==31?0:25-(G>>>1)|0);M=0;while(1){N=(c[l+4>>2]&-8)-f|0;if(N>>>0>>0)if(!N){O=l;P=0;Q=l;L=65;break a}else{R=l;S=N}else{R=z;S=A}N=c[l+20>>2]|0;l=c[l+16+(v>>>31<<2)>>2]|0;T=(N|0)==0|(N|0)==(l|0)?M:N;if(!l){I=T;J=R;K=S;L=61;break}else{z=R;A=S;v=v<<1;M=T}}}while(0);if((L|0)==61){if((I|0)==0&(J|0)==0){H=2<>>12&16;e=H>>>s;H=e>>>5&8;h=e>>>H;e=h>>>2&4;i=h>>>e;h=i>>>1&2;n=i>>>h;i=n>>>1&1;U=0;V=c[5108532+((H|s|e|h|i)+(n>>>i)<<2)>>2]|0}else{U=J;V=I}if(!V){W=U;X=K}else{O=U;P=K;Q=V;L=65}}if((L|0)==65){i=O;n=P;h=Q;while(1){e=(c[h+4>>2]&-8)-f|0;s=e>>>0>>0;H=s?e:n;e=s?h:i;s=c[h+16>>2]|0;if(!s)Y=c[h+20>>2]|0;else Y=s;if(!Y){W=e;X=H;break}else{i=e;n=H;h=Y}}}if(((W|0)!=0?X>>>0<((c[1277059]|0)-f|0)>>>0:0)?(h=W+f|0,h>>>0>W>>>0):0){n=c[W+24>>2]|0;i=c[W+12>>2]|0;do if((i|0)==(W|0)){H=W+20|0;e=c[H>>2]|0;if(!e){s=W+16|0;g=c[s>>2]|0;if(!g){Z=0;break}else{_=g;$=s}}else{_=e;$=H}H=_;e=$;while(1){s=H+20|0;g=c[s>>2]|0;if(!g){m=H+16|0;M=c[m>>2]|0;if(!M)break;else{aa=M;ba=m}}else{aa=g;ba=s}H=aa;e=ba}c[e>>2]=0;Z=H}else{s=c[W+8>>2]|0;c[s+12>>2]=i;c[i+8>>2]=s;Z=i}while(0);do if(n){i=c[W+28>>2]|0;s=5108532+(i<<2)|0;if((W|0)==(c[s>>2]|0)){c[s>>2]=Z;if(!Z){s=u&~(1<>2]|0)==(W|0)?s:n+20|0)>>2]=Z;if(!Z){ca=u;break}}c[Z+24>>2]=n;s=c[W+16>>2]|0;if(s|0){c[Z+16>>2]=s;c[s+24>>2]=Z}s=c[W+20>>2]|0;if(s){c[Z+20>>2]=s;c[s+24>>2]=Z;ca=u}else ca=u}else ca=u;while(0);b:do if(X>>>0<16){u=X+f|0;c[W+4>>2]=u|3;n=W+u+4|0;c[n>>2]=c[n>>2]|1}else{c[W+4>>2]=f|3;c[h+4>>2]=X|1;c[h+X>>2]=X;n=X>>>3;if(X>>>0<256){u=5108268+(n<<1<<2)|0;s=c[1277057]|0;i=1<>2]|0;ea=i}c[ea>>2]=h;c[da+12>>2]=h;c[h+8>>2]=da;c[h+12>>2]=u;break}u=X>>>8;if(u)if(X>>>0>16777215)fa=31;else{i=(u+1048320|0)>>>16&8;s=u<>>16&4;n=s<>>16&2;g=14-(u|i|s)+(n<>>15)|0;fa=X>>>(g+7|0)&1|g<<1}else fa=0;g=5108532+(fa<<2)|0;c[h+28>>2]=fa;s=h+16|0;c[s+4>>2]=0;c[s>>2]=0;s=1<>2]=h;c[h+24>>2]=g;c[h+12>>2]=h;c[h+8>>2]=h;break}s=c[g>>2]|0;c:do if((c[s+4>>2]&-8|0)==(X|0))ga=s;else{g=X<<((fa|0)==31?0:25-(fa>>>1)|0);n=s;while(1){ha=n+16+(g>>>31<<2)|0;i=c[ha>>2]|0;if(!i)break;if((c[i+4>>2]&-8|0)==(X|0)){ga=i;break c}else{g=g<<1;n=i}}c[ha>>2]=h;c[h+24>>2]=n;c[h+12>>2]=h;c[h+8>>2]=h;break b}while(0);s=ga+8|0;H=c[s>>2]|0;c[H+12>>2]=h;c[s>>2]=h;c[h+8>>2]=H;c[h+12>>2]=ga;c[h+24>>2]=0}while(0);o=W+8|0;Ca=b;return o|0}else F=f}else F=f}else F=-1;while(0);W=c[1277059]|0;if(W>>>0>=F>>>0){ga=W-F|0;ha=c[1277062]|0;if(ga>>>0>15){X=ha+F|0;c[1277062]=X;c[1277059]=ga;c[X+4>>2]=ga|1;c[ha+W>>2]=ga;c[ha+4>>2]=F|3}else{c[1277059]=0;c[1277062]=0;c[ha+4>>2]=W|3;ga=ha+W+4|0;c[ga>>2]=c[ga>>2]|1}o=ha+8|0;Ca=b;return o|0}ha=c[1277060]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[1277060]=ga;W=c[1277063]|0;X=W+F|0;c[1277063]=X;c[X+4>>2]=ga|1;c[W+4>>2]=F|3;o=W+8|0;Ca=b;return o|0}if(!(c[1277175]|0)){c[1277177]=4096;c[1277176]=4096;c[1277178]=-1;c[1277179]=-1;c[1277180]=0;c[1277168]=0;c[1277175]=d&-16^1431655768;ia=4096}else ia=c[1277177]|0;d=F+48|0;W=F+47|0;ga=ia+W|0;X=0-ia|0;ia=ga&X;if(ia>>>0<=F>>>0){o=0;Ca=b;return o|0}fa=c[1277167]|0;if(fa|0?(ca=c[1277165]|0,da=ca+ia|0,da>>>0<=ca>>>0|da>>>0>fa>>>0):0){o=0;Ca=b;return o|0}d:do if(!(c[1277168]&4)){fa=c[1277063]|0;e:do if(fa){da=5108676;while(1){ca=c[da>>2]|0;if(ca>>>0<=fa>>>0?(ca+(c[da+4>>2]|0)|0)>>>0>fa>>>0:0)break;ca=c[da+8>>2]|0;if(!ca){L=128;break e}else da=ca}ca=ga-ha&X;if(ca>>>0<2147483647){ea=Qs(ca|0)|0;if((ea|0)==((c[da>>2]|0)+(c[da+4>>2]|0)|0))if((ea|0)==(-1|0))ja=ca;else{ka=ca;la=ea;L=145;break d}else{ma=ea;na=ca;L=136}}else ja=0}else L=128;while(0);do if((L|0)==128){fa=Qs(0)|0;if((fa|0)!=(-1|0)?(f=fa,ca=c[1277176]|0,ea=ca+-1|0,Z=((ea&f|0)==0?0:(ea+f&0-ca)-f|0)+ia|0,f=c[1277165]|0,ca=Z+f|0,Z>>>0>F>>>0&Z>>>0<2147483647):0){ea=c[1277167]|0;if(ea|0?ca>>>0<=f>>>0|ca>>>0>ea>>>0:0){ja=0;break}ea=Qs(Z|0)|0;if((ea|0)==(fa|0)){ka=Z;la=fa;L=145;break d}else{ma=ea;na=Z;L=136}}else ja=0}while(0);do if((L|0)==136){Z=0-na|0;if(!(d>>>0>na>>>0&(na>>>0<2147483647&(ma|0)!=(-1|0))))if((ma|0)==(-1|0)){ja=0;break}else{ka=na;la=ma;L=145;break d}ea=c[1277177]|0;fa=W-na+ea&0-ea;if(fa>>>0>=2147483647){ka=na;la=ma;L=145;break d}if((Qs(fa|0)|0)==(-1|0)){Qs(Z|0)|0;ja=0;break}else{ka=fa+na|0;la=ma;L=145;break d}}while(0);c[1277168]=c[1277168]|4;oa=ja;L=143}else{oa=0;L=143}while(0);if(((L|0)==143?ia>>>0<2147483647:0)?(ja=Qs(ia|0)|0,ia=Qs(0)|0,ma=ia-ja|0,na=ma>>>0>(F+40|0)>>>0,!((ja|0)==(-1|0)|na^1|ja>>>0>>0&((ja|0)!=(-1|0)&(ia|0)!=(-1|0))^1)):0){ka=na?ma:oa;la=ja;L=145}if((L|0)==145){ja=(c[1277165]|0)+ka|0;c[1277165]=ja;if(ja>>>0>(c[1277166]|0)>>>0)c[1277166]=ja;ja=c[1277063]|0;f:do if(ja){oa=5108676;while(1){pa=c[oa>>2]|0;qa=c[oa+4>>2]|0;if((la|0)==(pa+qa|0)){L=154;break}ma=c[oa+8>>2]|0;if(!ma)break;else oa=ma}if(((L|0)==154?(ma=oa+4|0,(c[oa+12>>2]&8|0)==0):0)?la>>>0>ja>>>0&pa>>>0<=ja>>>0:0){c[ma>>2]=qa+ka;ma=(c[1277060]|0)+ka|0;na=ja+8|0;ia=(na&7|0)==0?0:0-na&7;na=ja+ia|0;W=ma-ia|0;c[1277063]=na;c[1277060]=W;c[na+4>>2]=W|1;c[ja+ma+4>>2]=40;c[1277064]=c[1277179];break}if(la>>>0<(c[1277061]|0)>>>0)c[1277061]=la;ma=la+ka|0;W=5108676;while(1){if((c[W>>2]|0)==(ma|0)){L=162;break}na=c[W+8>>2]|0;if(!na)break;else W=na}if((L|0)==162?(c[W+12>>2]&8|0)==0:0){c[W>>2]=la;oa=W+4|0;c[oa>>2]=(c[oa>>2]|0)+ka;oa=la+8|0;na=la+((oa&7|0)==0?0:0-oa&7)|0;oa=ma+8|0;ia=ma+((oa&7|0)==0?0:0-oa&7)|0;oa=na+F|0;d=ia-na-F|0;c[na+4>>2]=F|3;g:do if((ja|0)==(ia|0)){X=(c[1277060]|0)+d|0;c[1277060]=X;c[1277063]=oa;c[oa+4>>2]=X|1}else{if((c[1277062]|0)==(ia|0)){X=(c[1277059]|0)+d|0;c[1277059]=X;c[1277062]=oa;c[oa+4>>2]=X|1;c[oa+X>>2]=X;break}X=c[ia+4>>2]|0;if((X&3|0)==1){ha=X&-8;ga=X>>>3;h:do if(X>>>0<256){fa=c[ia+8>>2]|0;Z=c[ia+12>>2]|0;if((Z|0)==(fa|0)){c[1277057]=c[1277057]&~(1<>2]=Z;c[Z+8>>2]=fa;break}}else{fa=c[ia+24>>2]|0;Z=c[ia+12>>2]|0;do if((Z|0)==(ia|0)){ea=ia+16|0;ca=ea+4|0;f=c[ca>>2]|0;if(!f){ba=c[ea>>2]|0;if(!ba){ra=0;break}else{sa=ba;ta=ea}}else{sa=f;ta=ca}ca=sa;f=ta;while(1){ea=ca+20|0;ba=c[ea>>2]|0;if(!ba){aa=ca+16|0;$=c[aa>>2]|0;if(!$)break;else{ua=$;va=aa}}else{ua=ba;va=ea}ca=ua;f=va}c[f>>2]=0;ra=ca}else{ea=c[ia+8>>2]|0;c[ea+12>>2]=Z;c[Z+8>>2]=ea;ra=Z}while(0);if(!fa)break;Z=c[ia+28>>2]|0;n=5108532+(Z<<2)|0;do if((c[n>>2]|0)!=(ia|0)){ea=fa+16|0;c[((c[ea>>2]|0)==(ia|0)?ea:fa+20|0)>>2]=ra;if(!ra)break h}else{c[n>>2]=ra;if(ra|0)break;c[1277058]=c[1277058]&~(1<>2]=fa;Z=ia+16|0;n=c[Z>>2]|0;if(n|0){c[ra+16>>2]=n;c[n+24>>2]=ra}n=c[Z+4>>2]|0;if(!n)break;c[ra+20>>2]=n;c[n+24>>2]=ra}while(0);wa=ia+ha|0;xa=ha+d|0}else{wa=ia;xa=d}ga=wa+4|0;c[ga>>2]=c[ga>>2]&-2;c[oa+4>>2]=xa|1;c[oa+xa>>2]=xa;ga=xa>>>3;if(xa>>>0<256){X=5108268+(ga<<1<<2)|0;da=c[1277057]|0;n=1<>2]|0;za=n}c[za>>2]=oa;c[ya+12>>2]=oa;c[oa+8>>2]=ya;c[oa+12>>2]=X;break}X=xa>>>8;do if(!X)Aa=0;else{if(xa>>>0>16777215){Aa=31;break}n=(X+1048320|0)>>>16&8;da=X<>>16&4;Z=da<>>16&2;ea=14-(ga|n|da)+(Z<>>15)|0;Aa=xa>>>(ea+7|0)&1|ea<<1}while(0);X=5108532+(Aa<<2)|0;c[oa+28>>2]=Aa;ha=oa+16|0;c[ha+4>>2]=0;c[ha>>2]=0;ha=c[1277058]|0;ea=1<>2]=oa;c[oa+24>>2]=X;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break}ea=c[X>>2]|0;i:do if((c[ea+4>>2]&-8|0)==(xa|0))Ba=ea;else{X=xa<<((Aa|0)==31?0:25-(Aa>>>1)|0);ha=ea;while(1){Da=ha+16+(X>>>31<<2)|0;da=c[Da>>2]|0;if(!da)break;if((c[da+4>>2]&-8|0)==(xa|0)){Ba=da;break i}else{X=X<<1;ha=da}}c[Da>>2]=oa;c[oa+24>>2]=ha;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break g}while(0);ea=Ba+8|0;X=c[ea>>2]|0;c[X+12>>2]=oa;c[ea>>2]=oa;c[oa+8>>2]=X;c[oa+12>>2]=Ba;c[oa+24>>2]=0}while(0);o=na+8|0;Ca=b;return o|0}oa=5108676;while(1){d=c[oa>>2]|0;if(d>>>0<=ja>>>0?(Ea=d+(c[oa+4>>2]|0)|0,Ea>>>0>ja>>>0):0)break;oa=c[oa+8>>2]|0}oa=Ea+-47|0;na=oa+8|0;d=oa+((na&7|0)==0?0:0-na&7)|0;na=ja+16|0;oa=d>>>0>>0?ja:d;d=oa+8|0;ia=ka+-40|0;ma=la+8|0;W=(ma&7|0)==0?0:0-ma&7;ma=la+W|0;X=ia-W|0;c[1277063]=ma;c[1277060]=X;c[ma+4>>2]=X|1;c[la+ia+4>>2]=40;c[1277064]=c[1277179];ia=oa+4|0;c[ia>>2]=27;c[d>>2]=c[1277169];c[d+4>>2]=c[1277170];c[d+8>>2]=c[1277171];c[d+12>>2]=c[1277172];c[1277169]=la;c[1277170]=ka;c[1277172]=0;c[1277171]=d;d=oa+24|0;do{X=d;d=d+4|0;c[d>>2]=7}while((X+8|0)>>>0>>0);if((oa|0)!=(ja|0)){d=oa-ja|0;c[ia>>2]=c[ia>>2]&-2;c[ja+4>>2]=d|1;c[oa>>2]=d;X=d>>>3;if(d>>>0<256){ma=5108268+(X<<1<<2)|0;W=c[1277057]|0;ea=1<>2]|0;Ga=ea}c[Ga>>2]=ja;c[Fa+12>>2]=ja;c[ja+8>>2]=Fa;c[ja+12>>2]=ma;break}ma=d>>>8;if(ma)if(d>>>0>16777215)Ha=31;else{ea=(ma+1048320|0)>>>16&8;W=ma<>>16&4;X=W<>>16&2;fa=14-(ma|ea|W)+(X<>>15)|0;Ha=d>>>(fa+7|0)&1|fa<<1}else Ha=0;fa=5108532+(Ha<<2)|0;c[ja+28>>2]=Ha;c[ja+20>>2]=0;c[na>>2]=0;W=c[1277058]|0;X=1<>2]=ja;c[ja+24>>2]=fa;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}X=c[fa>>2]|0;j:do if((c[X+4>>2]&-8|0)==(d|0))Ia=X;else{fa=d<<((Ha|0)==31?0:25-(Ha>>>1)|0);W=X;while(1){Ja=W+16+(fa>>>31<<2)|0;ea=c[Ja>>2]|0;if(!ea)break;if((c[ea+4>>2]&-8|0)==(d|0)){Ia=ea;break j}else{fa=fa<<1;W=ea}}c[Ja>>2]=ja;c[ja+24>>2]=W;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break f}while(0);d=Ia+8|0;X=c[d>>2]|0;c[X+12>>2]=ja;c[d>>2]=ja;c[ja+8>>2]=X;c[ja+12>>2]=Ia;c[ja+24>>2]=0}}else{X=c[1277061]|0;if((X|0)==0|la>>>0>>0)c[1277061]=la;c[1277169]=la;c[1277170]=ka;c[1277172]=0;c[1277066]=c[1277175];c[1277065]=-1;c[1277070]=5108268;c[1277069]=5108268;c[1277072]=5108276;c[1277071]=5108276;c[1277074]=5108284;c[1277073]=5108284;c[1277076]=5108292;c[1277075]=5108292;c[1277078]=5108300;c[1277077]=5108300;c[1277080]=5108308;c[1277079]=5108308;c[1277082]=5108316;c[1277081]=5108316;c[1277084]=5108324;c[1277083]=5108324;c[1277086]=5108332;c[1277085]=5108332;c[1277088]=5108340;c[1277087]=5108340;c[1277090]=5108348;c[1277089]=5108348;c[1277092]=5108356;c[1277091]=5108356;c[1277094]=5108364;c[1277093]=5108364;c[1277096]=5108372;c[1277095]=5108372;c[1277098]=5108380;c[1277097]=5108380;c[1277100]=5108388;c[1277099]=5108388;c[1277102]=5108396;c[1277101]=5108396;c[1277104]=5108404;c[1277103]=5108404;c[1277106]=5108412;c[1277105]=5108412;c[1277108]=5108420;c[1277107]=5108420;c[1277110]=5108428;c[1277109]=5108428;c[1277112]=5108436;c[1277111]=5108436;c[1277114]=5108444;c[1277113]=5108444;c[1277116]=5108452;c[1277115]=5108452;c[1277118]=5108460;c[1277117]=5108460;c[1277120]=5108468;c[1277119]=5108468;c[1277122]=5108476;c[1277121]=5108476;c[1277124]=5108484;c[1277123]=5108484;c[1277126]=5108492;c[1277125]=5108492;c[1277128]=5108500;c[1277127]=5108500;c[1277130]=5108508;c[1277129]=5108508;c[1277132]=5108516;c[1277131]=5108516;X=ka+-40|0;d=la+8|0;na=(d&7|0)==0?0:0-d&7;d=la+na|0;oa=X-na|0;c[1277063]=d;c[1277060]=oa;c[d+4>>2]=oa|1;c[la+X+4>>2]=40;c[1277064]=c[1277179]}while(0);la=c[1277060]|0;if(la>>>0>F>>>0){ka=la-F|0;c[1277060]=ka;la=c[1277063]|0;ja=la+F|0;c[1277063]=ja;c[ja+4>>2]=ka|1;c[la+4>>2]=F|3;o=la+8|0;Ca=b;return o|0}}c[(Xp()|0)>>2]=12;o=0;Ca=b;return o|0}function Op(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;if(!a)return;b=a+-8|0;d=c[1277061]|0;e=c[a+-4>>2]|0;a=e&-8;f=b+a|0;do if(!(e&1)){g=c[b>>2]|0;if(!(e&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((c[1277062]|0)==(h|0)){j=f+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}c[1277059]=i;c[j>>2]=k&-2;c[h+4>>2]=i|1;c[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=c[h+8>>2]|0;j=c[h+12>>2]|0;if((j|0)==(g|0)){c[1277057]=c[1277057]&~(1<>2]=j;c[j+8>>2]=g;l=h;m=i;n=h;break}}g=c[h+24>>2]|0;j=c[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=c[o>>2]|0;if(!p){q=c[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=c[k>>2]|0;if(!q){u=o+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}c[p>>2]=0;r=o}else{k=c[h+8>>2]|0;c[k+12>>2]=j;c[j+8>>2]=k;r=j}while(0);if(g){j=c[h+28>>2]|0;k=5108532+(j<<2)|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=r;if(!r){c[1277058]=c[1277058]&~(1<>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=i;n=h;break}}c[r+24>>2]=g;j=h+16|0;k=c[j>>2]|0;if(k|0){c[r+16>>2]=k;c[k+24>>2]=r}k=c[j+4>>2]|0;if(k){c[r+20>>2]=k;c[k+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=f>>>0)return;b=f+4|0;a=c[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((c[1277063]|0)==(f|0)){r=(c[1277060]|0)+m|0;c[1277060]=r;c[1277063]=l;c[l+4>>2]=r|1;if((l|0)!=(c[1277062]|0))return;c[1277062]=0;c[1277059]=0;return}if((c[1277062]|0)==(f|0)){r=(c[1277059]|0)+m|0;c[1277059]=r;c[1277062]=n;c[l+4>>2]=r|1;c[n+r>>2]=r;return}r=(a&-8)+m|0;x=a>>>3;do if(a>>>0<256){w=c[f+8>>2]|0;t=c[f+12>>2]|0;if((t|0)==(w|0)){c[1277057]=c[1277057]&~(1<>2]=t;c[t+8>>2]=w;break}}else{w=c[f+24>>2]|0;t=c[f+12>>2]|0;do if((t|0)==(f|0)){s=f+16|0;d=s+4|0;e=c[d>>2]|0;if(!e){k=c[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=e;A=d}d=z;e=A;while(1){s=d+20|0;k=c[s>>2]|0;if(!k){j=d+16|0;q=c[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}d=B;e=C}c[e>>2]=0;y=d}else{o=c[f+8>>2]|0;c[o+12>>2]=t;c[t+8>>2]=o;y=t}while(0);if(w|0){t=c[f+28>>2]|0;h=5108532+(t<<2)|0;if((c[h>>2]|0)==(f|0)){c[h>>2]=y;if(!y){c[1277058]=c[1277058]&~(1<>2]|0)==(f|0)?t:w+20|0)>>2]=y;if(!y)break}c[y+24>>2]=w;t=f+16|0;h=c[t>>2]|0;if(h|0){c[y+16>>2]=h;c[h+24>>2]=y}h=c[t+4>>2]|0;if(h|0){c[y+20>>2]=h;c[h+24>>2]=y}}}while(0);c[l+4>>2]=r|1;c[n+r>>2]=r;if((l|0)==(c[1277062]|0)){c[1277059]=r;return}else D=r}else{c[b>>2]=a&-2;c[l+4>>2]=m|1;c[n+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){n=5108268+(m<<1<<2)|0;a=c[1277057]|0;b=1<>2]|0;F=b}c[F>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=n;return}n=D>>>8;if(n)if(D>>>0>16777215)G=31;else{E=(n+1048320|0)>>>16&8;F=n<>>16&4;b=F<>>16&2;a=14-(n|E|F)+(b<>>15)|0;G=D>>>(a+7|0)&1|a<<1}else G=0;a=5108532+(G<<2)|0;c[l+28>>2]=G;c[l+20>>2]=0;c[l+16>>2]=0;F=c[1277058]|0;b=1<>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l}else{E=c[a>>2]|0;b:do if((c[E+4>>2]&-8|0)==(D|0))H=E;else{n=D<<((G|0)==31?0:25-(G>>>1)|0);m=E;while(1){I=m+16+(n>>>31<<2)|0;r=c[I>>2]|0;if(!r)break;if((c[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{n=n<<1;m=r}}c[I>>2]=l;c[l+24>>2]=m;c[l+12>>2]=l;c[l+8>>2]=l;break a}while(0);E=H+8|0;w=c[E>>2]|0;c[w+12>>2]=l;c[E>>2]=l;c[l+8>>2]=w;c[l+12>>2]=H;c[l+24>>2]=0}while(0);l=(c[1277065]|0)+-1|0;c[1277065]=l;if(l|0)return;l=5108684;while(1){H=c[l>>2]|0;if(!H)break;else l=H+8|0}c[1277065]=-1;return}function Pp(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=z(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Np(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Ps(d|0,0,e|0)|0;return d|0}function Qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Np(b)|0;return d|0}if(b>>>0>4294967231){c[(Xp()|0)>>2]=12;d=0;return d|0}e=Rp(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=Np(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Os(e|0,a|0,(g>>>0>>0?g:b)|0)|0;Op(a);d=e;return d|0}function Rp(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;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;if(!(e&3)){if(b>>>0<256){h=0;return h|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[1277177]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;c[d>>2]=e&1|b|2;c[j+4>>2]=i|3;k=g+4|0;c[k>>2]=c[k>>2]|1;Sp(j,i);h=a;return h|0}if((c[1277063]|0)==(g|0)){i=(c[1277060]|0)+f|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}c[d>>2]=e&1|b|2;c[k+4>>2]=j|1;c[1277063]=k;c[1277060]=j;h=a;return h|0}if((c[1277062]|0)==(g|0)){j=(c[1277059]|0)+f|0;if(j>>>0>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;c[d>>2]=e&1|b|2;c[i+4>>2]=k|1;c[l>>2]=k;m=l+4|0;c[m>>2]=c[m>>2]&-2;n=i;o=k}else{c[d>>2]=e&1|j|2;k=a+j+4|0;c[k>>2]=c[k>>2]|1;n=0;o=0}c[1277059]=o;c[1277062]=n;h=a;return h|0}n=c[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+f|0;if(o>>>0>>0){h=0;return h|0}f=o-b|0;k=n>>>3;do if(n>>>0<256){j=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(j|0)){c[1277057]=c[1277057]&~(1<>2]=i;c[i+8>>2]=j;break}}else{j=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=c[l>>2]|0;if(!p){q=c[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}l=s;p=t;while(1){m=l+20|0;q=c[m>>2]|0;if(!q){u=l+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=m}l=w;p=x}c[p>>2]=0;r=l}else{m=c[g+8>>2]|0;c[m+12>>2]=i;c[i+8>>2]=m;r=i}while(0);if(j|0){i=c[g+28>>2]|0;m=5108532+(i<<2)|0;if((c[m>>2]|0)==(g|0)){c[m>>2]=r;if(!r){c[1277058]=c[1277058]&~(1<>2]|0)==(g|0)?i:j+20|0)>>2]=r;if(!r)break}c[r+24>>2]=j;i=g+16|0;m=c[i>>2]|0;if(m|0){c[r+16>>2]=m;c[m+24>>2]=r}m=c[i+4>>2]|0;if(m|0){c[r+20>>2]=m;c[m+24>>2]=r}}}while(0);if(f>>>0<16){c[d>>2]=e&1|o|2;r=a+o+4|0;c[r>>2]=c[r>>2]|1;h=a;return h|0}else{r=a+b|0;c[d>>2]=e&1|b|2;c[r+4>>2]=f|3;b=a+o+4|0;c[b>>2]=c[b>>2]|1;Sp(r,f);h=a;return h|0}return 0}function Sp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;if((c[1277062]|0)==(g|0)){i=d+4|0;j=c[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}c[1277059]=h;c[i>>2]=j&-2;c[g+4>>2]=h|1;c[d>>2]=h;return}j=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(f|0)){c[1277057]=c[1277057]&~(1<>2]=i;c[i+8>>2]=f;k=g;l=h;break}}f=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=c[m>>2]|0;if(!n){o=c[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}m=q;n=r;while(1){j=m+20|0;o=c[j>>2]|0;if(!o){s=m+16|0;t=c[s>>2]|0;if(!t)break;else{u=t;v=s}}else{u=o;v=j}m=u;n=v}c[n>>2]=0;p=m}else{j=c[g+8>>2]|0;c[j+12>>2]=i;c[i+8>>2]=j;p=i}while(0);if(f){i=c[g+28>>2]|0;j=5108532+(i<<2)|0;if((c[j>>2]|0)==(g|0)){c[j>>2]=p;if(!p){c[1277058]=c[1277058]&~(1<>2]|0)==(g|0)?i:f+20|0)>>2]=p;if(!p){k=g;l=h;break}}c[p+24>>2]=f;i=g+16|0;j=c[i>>2]|0;if(j|0){c[p+16>>2]=j;c[j+24>>2]=p}j=c[i+4>>2]|0;if(j){c[p+20>>2]=j;c[j+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=d+4|0;a=c[b>>2]|0;if(!(a&2)){if((c[1277063]|0)==(d|0)){p=(c[1277060]|0)+l|0;c[1277060]=p;c[1277063]=k;c[k+4>>2]=p|1;if((k|0)!=(c[1277062]|0))return;c[1277062]=0;c[1277059]=0;return}if((c[1277062]|0)==(d|0)){p=(c[1277059]|0)+l|0;c[1277059]=p;c[1277062]=k;c[k+4>>2]=p|1;c[k+p>>2]=p;return}p=(a&-8)+l|0;v=a>>>3;do if(a>>>0<256){u=c[d+8>>2]|0;r=c[d+12>>2]|0;if((r|0)==(u|0)){c[1277057]=c[1277057]&~(1<>2]=r;c[r+8>>2]=u;break}}else{u=c[d+24>>2]|0;r=c[d+12>>2]|0;do if((r|0)==(d|0)){q=d+16|0;e=q+4|0;j=c[e>>2]|0;if(!j){i=c[q>>2]|0;if(!i){w=0;break}else{x=i;y=q}}else{x=j;y=e}e=x;j=y;while(1){q=e+20|0;i=c[q>>2]|0;if(!i){o=e+16|0;s=c[o>>2]|0;if(!s)break;else{z=s;A=o}}else{z=i;A=q}e=z;j=A}c[j>>2]=0;w=e}else{m=c[d+8>>2]|0;c[m+12>>2]=r;c[r+8>>2]=m;w=r}while(0);if(u|0){r=c[d+28>>2]|0;h=5108532+(r<<2)|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=w;if(!w){c[1277058]=c[1277058]&~(1<>2]|0)==(d|0)?r:u+20|0)>>2]=w;if(!w)break}c[w+24>>2]=u;r=d+16|0;h=c[r>>2]|0;if(h|0){c[w+16>>2]=h;c[h+24>>2]=w}h=c[r+4>>2]|0;if(h|0){c[w+20>>2]=h;c[h+24>>2]=w}}}while(0);c[k+4>>2]=p|1;c[k+p>>2]=p;if((k|0)==(c[1277062]|0)){c[1277059]=p;return}else B=p}else{c[b>>2]=a&-2;c[k+4>>2]=l|1;c[k+l>>2]=l;B=l}l=B>>>3;if(B>>>0<256){a=5108268+(l<<1<<2)|0;b=c[1277057]|0;p=1<>2]|0;D=p}c[D>>2]=k;c[C+12>>2]=k;c[k+8>>2]=C;c[k+12>>2]=a;return}a=B>>>8;if(a)if(B>>>0>16777215)E=31;else{C=(a+1048320|0)>>>16&8;D=a<>>16&4;p=D<>>16&2;b=14-(a|C|D)+(p<>>15)|0;E=B>>>(b+7|0)&1|b<<1}else E=0;b=5108532+(E<<2)|0;c[k+28>>2]=E;c[k+20>>2]=0;c[k+16>>2]=0;D=c[1277058]|0;p=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;return}p=c[b>>2]|0;a:do if((c[p+4>>2]&-8|0)==(B|0))F=p;else{b=B<<((E|0)==31?0:25-(E>>>1)|0);D=p;while(1){G=D+16+(b>>>31<<2)|0;C=c[G>>2]|0;if(!C)break;if((c[C+4>>2]&-8|0)==(B|0)){F=C;break a}else{b=b<<1;D=C}}c[G>>2]=k;c[k+24>>2]=D;c[k+12>>2]=k;c[k+8>>2]=k;return}while(0);G=F+8|0;B=c[G>>2]|0;c[B+12>>2]=k;c[G>>2]=k;c[k+8>>2]=B;c[k+12>>2]=F;c[k+24>>2]=0;return}function Tp(a){a=a|0;var b=0,d=0;b=Ca;Ca=Ca+16|0;d=b;c[d>>2]=Yp(c[a+60>>2]|0)|0;a=Wp(ba(6,d|0)|0)|0;Ca=b;return a|0}function Up(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ca;Ca=Ca+32|0;g=f+16|0;h=f;c[h>>2]=d;i=h+4|0;j=b+48|0;k=c[j>>2]|0;c[i>>2]=e-((k|0)!=0&1);l=b+44|0;c[h+8>>2]=c[l>>2];c[h+12>>2]=k;c[g>>2]=c[b+60>>2];c[g+4>>2]=h;c[g+8>>2]=2;h=Wp(W(145,g|0)|0)|0;if((h|0)>=1){g=c[i>>2]|0;if(h>>>0>g>>>0){i=c[l>>2]|0;l=b+4|0;c[l>>2]=i;k=i;c[b+8>>2]=k+(h-g);if(!(c[j>>2]|0))m=e;else{c[l>>2]=k+1;a[d+(e+-1)>>0]=a[k>>0]|0;m=e}}else m=h}else{c[b>>2]=c[b>>2]|h&48^16;m=h}Ca=f;return m|0}function Vp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ca;Ca=Ca+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((Wp(V(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;Ca=e;return h|0}function Wp(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(Xp()|0)>>2]=0-a;b=-1}else b=a;return b|0}function Xp(){return 5108724}function Yp(a){a=a|0;return a|0}function Zp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ca;Ca=Ca+32|0;g=f;c[b+36>>2]=5;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,aa(54,g|0)|0):0)a[b+75>>0]=-1;g=_p(b,d,e)|0;Ca=f;return g|0}function _p(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ca;Ca=Ca+48|0;f=e+32|0;g=e+16|0;h=e;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;l=(c[k>>2]|0)-j|0;c[h+4>>2]=l;c[h+8>>2]=b;c[h+12>>2]=d;b=l+d|0;l=a+60|0;c[g>>2]=c[l>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=Wp(X(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=c[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;c[r>>2]=(c[r>>2]|0)+t;p=r+4|0;c[p>>2]=(c[p>>2]|0)-t;c[f>>2]=c[l>>2];c[f+4>>2]=r;c[f+8>>2]=s;o=Wp(X(146,f|0)|0)|0;if((m|0)==(o|0)){u=3;break a}else{g=s;n=r}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)v=0;else v=d-(c[n+4>>2]|0)|0}else u=3;while(0);if((u|0)==3){u=c[a+44>>2]|0;c[a+16>>2]=u+(c[a+48>>2]|0);a=u;c[i>>2]=a;c[k>>2]=a;v=d}Ca=e;return v|0}function $p(a,b){a=+a;b=b|0;return +(+aq(a,b))}function aq(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,i=0.0,j=0;if((b|0)<=1023)if((b|0)<-1022){d=a*2.2250738585072014e-308;e=(b|0)<-2044;f=b+2044|0;i=e?d*2.2250738585072014e-308:d;j=e?((f|0)>-1022?f:-1022):b+1022|0}else{i=a;j=b}else{d=a*8988465674311579538646525.0e283;f=(b|0)>2046;e=b+-2046|0;i=f?d*8988465674311579538646525.0e283:d;j=f?((e|0)<1023?e:1023):b+-1023|0}b=Js(j+1023|0,0,52)|0;j=D()|0;c[h>>2]=b;c[h+4>>2]=j;return +(i*+g[h>>3])}function bq(a,b){a=+a;b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0,l=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=Is(d|0,e|0,52)|0;D()|0;switch(f&2047){case 0:{if(a!=0.0){i=+bq(a*18446744073709551616.0,b);j=i;k=(c[b>>2]|0)+-64|0}else{j=a;k=0}c[b>>2]=k;l=j;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;l=+g[h>>3]}}return +l}function cq(a,b){a=+a;b=+b;return +(+dq(a,b))}function dq(a,b){a=+a;b=+b;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h+4>>2]&-2147483648|e&2147483647;c[h>>2]=d;c[h+4>>2]=f;return +(+g[h>>3])}function eq(a,b){a=+a;b=+b;var d=0,e=0,f=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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h>>2]|0;i=c[h+4>>2]|0;j=Is(d|0,e|0,52)|0;D()|0;k=j&2047;j=Is(f|0,i|0,52)|0;D()|0;l=j&2047;j=e&-2147483648;m=Js(f|0,i|0,1)|0;n=D()|0;a:do if(!((m|0)==0&(n|0)==0)?(o=fq(b)|0,p=(D()|0)&2147483647,!((k|0)==2047|(p>>>0>2146435072|(p|0)==2146435072&o>>>0>0))):0){o=Js(d|0,e|0,1)|0;p=D()|0;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!k){p=Js(d|0,e|0,12)|0;o=D()|0;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=0;r=p;p=o;while(1){o=q+-1|0;r=Js(r|0,p|0,1)|0;p=D()|0;if(!((p|0)>-1|(p|0)==-1&r>>>0>4294967295)){s=o;break}else q=o}}else s=0;q=Js(d|0,e|0,1-s|0)|0;t=s;u=q;v=D()|0}else{t=k;u=d;v=e&1048575|1048576}if(!l){q=Js(f|0,i|0,12)|0;r=D()|0;if((r|0)>-1|(r|0)==-1&q>>>0>4294967295){p=0;o=q;q=r;while(1){r=p+-1|0;o=Js(o|0,q|0,1)|0;q=D()|0;if(!((q|0)>-1|(q|0)==-1&o>>>0>4294967295)){w=r;break}else p=r}}else w=0;p=Js(f|0,i|0,1-w|0)|0;x=w;y=p;z=D()|0}else{x=l;y=f;z=i&1048575|1048576}p=Bs(u|0,v|0,y|0,z|0)|0;o=D()|0;q=(o|0)>-1|(o|0)==-1&p>>>0>4294967295;b:do if((t|0)>(x|0)){r=t;A=o;B=q;C=u;E=v;F=p;while(1){if(B)if((F|0)==0&(A|0)==0)break;else{G=F;H=A}else{G=C;H=E}I=Js(G|0,H|0,1)|0;J=D()|0;K=r+-1|0;L=Bs(I|0,J|0,y|0,z|0)|0;M=D()|0;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){r=K;A=M;B=N;C=I;E=J;F=L}else{O=K;P=N;Q=L;R=M;S=I;T=J;break b}}U=a*0.0;break a}else{O=t;P=q;Q=p;R=o;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){o=O;p=W;q=V;while(1){F=Js(p|0,q|0,1)|0;E=D()|0;C=o+-1|0;if(E>>>0<1048576|(E|0)==1048576&F>>>0<0){o=C;p=F;q=E}else{X=C;Y=F;Z=E;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){q=As(Y|0,Z|0,0,-1048576)|0;p=D()|0;o=Js(X|0,0,52)|0;_=p|(D()|0);$=q|o}else{o=Is(Y|0,Z|0,1-X|0)|0;_=D()|0;$=o}c[h>>2]=$;c[h+4>>2]=_|j;U=+g[h>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function fq(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;C(c[h+4>>2]|0);return b|0}function gq(a,b){a=+a;b=+b;return +(+eq(a,b))}function hq(a,b){a=+a;b=b|0;return +(+aq(a,b))}function iq(a,b){a=+a;b=b|0;return +(+bq(a,b))}function jq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function kq(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=c;i=0}else{j=b;k=e;l=c;m=g;while(1){k=k+-1|0;n=a[l>>0]|0;if(!(m<<24>>24==n<<24>>24&((k|0)!=0&n<<24>>24!=0))){h=l;i=m;break a}j=j+1|0;n=l+1|0;m=a[j>>0]|0;if(!(m<<24>>24)){h=n;i=0;break}else l=n}}while(0);f=(i&255)-(d[h>>0]|0)|0}return f|0}function lq(a){a=a|0;return (a+-48|0)>>>0<10|0}function mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=d;d=nq(a,b,f)|0;Ca=e;return d|0}function nq(a,b,c){a=a|0;b=b|0;c=c|0;return oq(a,2147483647,b,c)|0}function oq(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;g=Ca;Ca=Ca+128|0;h=g+124|0;i=g;j=i;k=33724;l=j+124|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((d+-1|0)>>>0>2147483646)if(!d){m=h;n=1;o=4}else{c[(Xp()|0)>>2]=75;p=-1}else{m=b;n=d;o=4}if((o|0)==4){o=-2-m|0;d=n>>>0>o>>>0?o:n;c[i+48>>2]=d;n=i+20|0;c[n>>2]=m;c[i+44>>2]=m;o=m+d|0;m=i+16|0;c[m>>2]=o;c[i+28>>2]=o;o=pq(i,e,f)|0;if(!d)p=o;else{d=c[n>>2]|0;a[d+(((d|0)==(c[m>>2]|0))<<31>>31)>>0]=0;p=o}}Ca=g;return p|0}function pq(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;f=Ca;Ca=Ca+224|0;g=f+208|0;h=f+160|0;i=f+80|0;j=f;k=h;l=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[g>>2]=c[e>>2];if((qq(0,d,g,i,h)|0)<0)m=-1;else{if((c[b+76>>2]|0)>-1)n=rq(b)|0;else n=0;e=c[b>>2]|0;k=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){l=b+44|0;o=c[l>>2]|0;c[l>>2]=j;p=b+28|0;c[p>>2]=j;q=b+20|0;c[q>>2]=j;c[e>>2]=80;r=b+16|0;c[r>>2]=j+80;j=qq(b,d,g,i,h)|0;if(!o)s=j;else{Ia[c[b+36>>2]&7](b,0,0)|0;t=(c[q>>2]|0)==0?-1:j;c[l>>2]=o;c[e>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=0;s=t}}else s=qq(b,d,g,i,h)|0;h=c[b>>2]|0;c[b>>2]=h|k;if(n|0)sq(b);m=(h&32|0)==0?s:-1}Ca=f;return m|0}function qq(d,e,f,h,i){d=d|0;e=e|0;f=f|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,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,$=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,Da=0;j=Ca;Ca=Ca+64|0;k=j+56|0;l=j+40|0;m=j;n=j+48|0;o=j+60|0;c[k>>2]=e;e=(d|0)!=0;p=m+40|0;q=p;r=m+39|0;m=n+4|0;s=0;t=0;u=0;a:while(1){v=s;w=t;while(1){do if((w|0)>-1)if((v|0)>(2147483647-w|0)){c[(Xp()|0)>>2]=75;x=-1;break}else{x=v+w|0;break}else x=w;while(0);y=c[k>>2]|0;z=a[y>>0]|0;if(!(z<<24>>24)){A=94;break a}B=z;z=y;b:while(1){switch(B<<24>>24){case 37:{A=10;break b;break}case 0:{C=z;break b;break}default:{}}E=z+1|0;c[k>>2]=E;B=a[E>>0]|0;z=E}c:do if((A|0)==10){A=0;B=z;E=z;while(1){if((a[E+1>>0]|0)!=37){C=B;break c}F=B+1|0;E=E+2|0;c[k>>2]=E;if((a[E>>0]|0)!=37){C=F;break}else B=F}}while(0);v=C-y|0;if(e)tq(d,y,v);if(!v)break;else w=x}w=(lq(a[(c[k>>2]|0)+1>>0]|0)|0)==0;v=c[k>>2]|0;if(!w?(a[v+2>>0]|0)==36:0){G=(a[v+1>>0]|0)+-48|0;H=1;I=3}else{G=-1;H=u;I=1}w=v+I|0;c[k>>2]=w;v=a[w>>0]|0;z=(v<<24>>24)+-32|0;if(z>>>0>31|(1<>2]=E;F=a[E>>0]|0;B=(F<<24>>24)+-32|0;if(B>>>0>31|(1<>24==42){if((lq(a[L+1>>0]|0)|0)!=0?(z=c[k>>2]|0,(a[z+2>>0]|0)==36):0){v=z+1|0;c[i+((a[v>>0]|0)+-48<<2)>>2]=10;M=c[h+((a[v>>0]|0)+-48<<3)>>2]|0;N=1;O=z+3|0}else{if(H|0){P=-1;break}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);v=c[z>>2]|0;c[f>>2]=z+4;Q=v}else Q=0;M=Q;N=0;O=(c[k>>2]|0)+1|0}c[k>>2]=O;v=(M|0)<0;R=v?0-M|0:M;S=v?J|8192:J;T=N;U=O}else{v=uq(k)|0;if((v|0)<0){P=-1;break}R=v;S=J;T=H;U=c[k>>2]|0}do if((a[U>>0]|0)==46){v=U+1|0;if((a[v>>0]|0)!=42){c[k>>2]=v;v=uq(k)|0;V=v;W=c[k>>2]|0;break}if(lq(a[U+2>>0]|0)|0?(v=c[k>>2]|0,(a[v+3>>0]|0)==36):0){z=v+2|0;c[i+((a[z>>0]|0)+-48<<2)>>2]=10;B=c[h+((a[z>>0]|0)+-48<<3)>>2]|0;z=v+4|0;c[k>>2]=z;V=B;W=z;break}if(T|0){P=-1;break a}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[f>>2]=z+4;X=B}else X=0;B=(c[k>>2]|0)+2|0;c[k>>2]=B;V=X;W=B}else{V=-1;W=U}while(0);B=0;z=W;while(1){if(((a[z>>0]|0)+-65|0)>>>0>57){P=-1;break a}v=z;z=z+1|0;c[k>>2]=z;Y=a[(a[v>>0]|0)+-65+(30848+(B*58|0))>>0]|0;Z=Y&255;if((Z+-1|0)>>>0>=8)break;else B=Z}if(!(Y<<24>>24)){P=-1;break}v=(G|0)>-1;do if(Y<<24>>24==19)if(v){P=-1;break a}else A=54;else{if(v){c[i+(G<<2)>>2]=Z;E=h+(G<<3)|0;w=c[E+4>>2]|0;F=l;c[F>>2]=c[E>>2];c[F+4>>2]=w;A=54;break}if(!e){P=0;break a}vq(l,Z,f);_=c[k>>2]|0;A=55}while(0);if((A|0)==54){A=0;if(e){_=z;A=55}else $=0}d:do if((A|0)==55){A=0;v=a[_+-1>>0]|0;w=(B|0)!=0&(v&15|0)==3?v&-33:v;v=S&-65537;F=(S&8192|0)==0?S:v;e:do switch(w|0){case 110:{switch((B&255)<<24>>24){case 0:{c[c[l>>2]>>2]=x;$=0;break d;break}case 1:{c[c[l>>2]>>2]=x;$=0;break d;break}case 2:{E=c[l>>2]|0;c[E>>2]=x;c[E+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}case 3:{b[c[l>>2]>>1]=x;$=0;break d;break}case 4:{a[c[l>>2]>>0]=x;$=0;break d;break}case 6:{c[c[l>>2]>>2]=x;$=0;break d;break}case 7:{E=c[l>>2]|0;c[E>>2]=x;c[E+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}default:{$=0;break d}}break}case 112:{aa=120;ba=V>>>0>8?V:8;ca=F|8;A=67;break}case 88:case 120:{aa=w;ba=V;ca=F;A=67;break}case 111:{E=l;da=c[E>>2]|0;ea=c[E+4>>2]|0;E=xq(da,ea,p)|0;fa=q-E|0;ga=E;ha=0;ia=58996;ja=(F&8|0)==0|(V|0)>(fa|0)?V:fa+1|0;ka=F;la=da;ma=ea;A=73;break}case 105:case 100:{ea=l;da=c[ea>>2]|0;fa=c[ea+4>>2]|0;if((fa|0)<0){ea=Bs(0,0,da|0,fa|0)|0;E=D()|0;na=l;c[na>>2]=ea;c[na+4>>2]=E;oa=1;pa=58996;qa=ea;ra=E;A=72;break e}else{oa=(F&2049|0)!=0&1;pa=(F&2048|0)==0?((F&1|0)==0?58996:58998):58997;qa=da;ra=fa;A=72;break e}break}case 117:{fa=l;oa=0;pa=58996;qa=c[fa>>2]|0;ra=c[fa+4>>2]|0;A=72;break}case 99:{a[r>>0]=c[l>>2];sa=r;ta=0;ua=58996;va=1;wa=v;xa=q;break}case 109:{ya=zq(c[(Xp()|0)>>2]|0)|0;A=77;break}case 115:{fa=c[l>>2]|0;ya=(fa|0)==0?59006:fa;A=77;break}case 67:{c[n>>2]=c[l>>2];c[m>>2]=0;c[l>>2]=n;za=-1;A=81;break}case 83:{if(!V){Bq(d,32,R,0,F);Aa=0;A=91}else{za=V;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{$=Dq(d,+g[l>>3],R,V,F,w)|0;break d;break}default:{sa=y;ta=0;ua=58996;va=V;wa=F;xa=q}}while(0);f:do if((A|0)==67){A=0;w=l;fa=c[w>>2]|0;da=c[w+4>>2]|0;w=wq(fa,da,p,aa&32)|0;E=(ca&8|0)==0|(fa|0)==0&(da|0)==0;ga=w;ha=E?0:2;ia=E?58996:58996+(aa>>>4)|0;ja=ba;ka=ca;la=fa;ma=da;A=73}else if((A|0)==72){A=0;ga=yq(qa,ra,p)|0;ha=oa;ia=pa;ja=V;ka=F;la=qa;ma=ra;A=73}else if((A|0)==77){A=0;da=Aq(ya,0,V)|0;fa=(da|0)==0;sa=ya;ta=0;ua=58996;va=fa?V:da-ya|0;wa=v;xa=fa?ya+V|0:da}else if((A|0)==81){A=0;da=c[l>>2]|0;fa=0;while(1){E=c[da>>2]|0;if(!E){Ba=fa;break}w=Cq(o,E)|0;Da=(w|0)<0;if(Da|w>>>0>(za-fa|0)>>>0){A=85;break}E=w+fa|0;if(za>>>0>E>>>0){da=da+4|0;fa=E}else{Ba=E;break}}if((A|0)==85){A=0;if(Da){P=-1;break a}else Ba=fa}Bq(d,32,R,Ba,F);if(!Ba){Aa=0;A=91}else{da=c[l>>2]|0;E=0;while(1){w=c[da>>2]|0;if(!w){Aa=Ba;A=91;break f}ea=Cq(o,w)|0;E=ea+E|0;if((E|0)>(Ba|0)){Aa=Ba;A=91;break f}tq(d,o,ea);if(E>>>0>=Ba>>>0){Aa=Ba;A=91;break}else da=da+4|0}}}while(0);if((A|0)==73){A=0;v=(la|0)!=0|(ma|0)!=0;da=(ja|0)!=0|v;E=q-ga+((v^1)&1)|0;sa=da?ga:p;ta=ha;ua=ia;va=da?((ja|0)>(E|0)?ja:E):0;wa=(ja|0)>-1?ka&-65537:ka;xa=q}else if((A|0)==91){A=0;Bq(d,32,R,Aa,F^8192);$=(R|0)>(Aa|0)?R:Aa;break}E=xa-sa|0;da=(va|0)<(E|0)?E:va;v=da+ta|0;fa=(R|0)<(v|0)?v:R;Bq(d,32,fa,v,wa);tq(d,ua,ta);Bq(d,48,fa,v,wa^65536);Bq(d,48,da,E,0);tq(d,sa,E);Bq(d,32,fa,v,wa^8192);$=fa}while(0);s=$;t=x;u=T}g:do if((A|0)==94)if(!d)if(!u)P=0;else{T=1;while(1){t=c[i+(T<<2)>>2]|0;if(!t)break;vq(h+(T<<3)|0,t,f);t=T+1|0;if(t>>>0<10)T=t;else{P=1;break g}}t=T;while(1){if(c[i+(t<<2)>>2]|0){P=-1;break g}t=t+1|0;if(t>>>0>=10){P=1;break}}}else P=x;while(0);Ca=j;return P|0}function rq(a){a=a|0;return 1}function sq(a){a=a|0;return}function tq(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Pq(b,d,a)|0;return}function uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(lq(a[c[b>>2]>>0]|0)|0))d=0;else{e=0;while(1){f=c[b>>2]|0;g=(e*10|0)+-48+(a[f>>0]|0)|0;h=f+1|0;c[b>>2]=h;if(!(lq(a[h>>0]|0)|0)){d=g;break}else e=g}}return d|0}function vq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{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;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;h=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=h;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function wq(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=e;e=c;c=b;while(1){b=h+-1|0;a[b>>0]=d[31312+(c&15)>>0]|0|f;c=Is(c|0,e|0,4)|0;e=D()|0;if((c|0)==0&(e|0)==0){g=b;break}else h=b}}return g|0}function xq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=b;while(1){b=f+-1|0;a[b>>0]=c&7|48;c=Is(c|0,d|0,3)|0;d=D()|0;if((c|0)==0&(d|0)==0){e=b;break}else f=b}}return e|0}function yq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;do{c=f;f=Hs(f|0,g|0,10,0)|0;h=g;g=D()|0;i=Gs(f|0,g|0,10,0)|0;j=Bs(c|0,h|0,i|0,D()|0)|0;D()|0;e=e+-1|0;a[e>>0]=j&255|48}while(h>>>0>9|(h|0)==9&c>>>0>4294967295);k=f;l=e}else{k=b;l=d}if(!k)m=l;else{d=k;k=l;while(1){l=d;d=(d>>>0)/10|0;b=k+-1|0;a[b>>0]=l-(d*10|0)|48;if(l>>>0<10){m=b;break}else k=b}}return m|0}function zq(a){a=a|0;return Jq(a,c[(Iq()|0)+188>>2]|0)|0}function Aq(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;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=b;j=e;while(1){if((a[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=b;r=e;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=d&255;if((a[k>>0]|0)==r<<24>>24)if(!l){m=16;break}else{t=k;break}q=z(f,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){e=c[s>>2]^q;if((e&-2139062144^-2139062144)&e+-16843009|0){u=g;v=s;break c}e=s+4|0;b=g+-4|0;if(b>>>0>3){s=e;g=b}else{w=e;x=b;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!x){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((a[q>>0]|0)==r<<24>>24){t=q;break b}g=g+-1|0;if(!g){m=16;break}else q=q+1|0}}while(0);if((m|0)==16)t=0;return t|0}function Bq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ca;Ca=Ca+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Ps(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{tq(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;tq(a,g,h)}Ca=f;return}function Cq(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Fq(a,b,0)|0;return c|0}function Dq(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,E=0,F=0.0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.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,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;j=Ca;Ca=Ca+560|0;k=j+32|0;l=j+536|0;m=j;n=m;o=j+540|0;c[l>>2]=0;p=o+12|0;q=Eq(e)|0;r=D()|0;if((r|0)<0){s=-e;t=Eq(s)|0;u=s;v=1;w=59013;x=D()|0;y=t}else{u=e;v=(h&2049|0)!=0&1;w=(h&2048|0)==0?((h&1|0)==0?59014:59019):59016;x=r;y=q}do if(0==0&(x&2146435072|0)==2146435072){q=(i&32|0)!=0;y=v+3|0;Bq(b,32,f,y,h&-65537);tq(b,w,v);tq(b,u!=u|0.0!=0.0?(q?59062:59040):q?59032:59036,3);Bq(b,32,f,y,h^8192);A=y}else{e=+iq(u,l)*2.0;y=e!=0.0;if(y)c[l>>2]=(c[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?w:w+9|0;B=v|2;C=12-g|0;do if(!(g>>>0>11|(C|0)==0)){s=8.0;E=C;do{E=E+-1|0;s=s*16.0}while((E|0)!=0);if((a[t>>0]|0)==45){F=-(s+(-e-s));break}else{F=e+s-s;break}}else F=e;while(0);C=c[l>>2]|0;E=(C|0)<0?0-C|0:C;G=yq(E,((E|0)<0)<<31>>31,p)|0;if((G|0)==(p|0)){E=o+11|0;a[E>>0]=48;H=E}else H=G;a[H+-1>>0]=(C>>31&2)+43;C=H+-2|0;a[C>>0]=i+15;G=(g|0)<1;E=(h&8|0)==0;I=m;J=F;while(1){K=~~J;L=I+1|0;a[I>>0]=r|d[31312+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(E&(G&J==0.0)):0){a[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((g|0)!=0?(-2-n+I|0)<(g|0):0){G=p;E=C;N=g+2+G-E|0;O=G;P=E}else{E=p;G=C;N=E-n-G+I|0;O=E;P=G}G=N+B|0;Bq(b,32,f,G,h);tq(b,t,B);Bq(b,48,f,G,h^65536);E=I-n|0;tq(b,m,E);I=O-P|0;Bq(b,48,N-(E+I)|0,0,0);tq(b,C,I);Bq(b,32,f,G,h^8192);A=G;break}G=(g|0)<0?6:g;if(y){I=(c[l>>2]|0)+-28|0;c[l>>2]=I;Q=e*268435456.0;R=I}else{Q=e;R=c[l>>2]|0}I=(R|0)<0?k:k+288|0;E=I;J=Q;do{r=~~J>>>0;c[E>>2]=r;E=E+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);y=I;if((R|0)>0){C=I;B=E;t=R;while(1){r=(t|0)<29?t:29;L=B+-4|0;if(L>>>0>=C>>>0){K=L;L=0;do{S=Js(c[K>>2]|0,0,r|0)|0;T=As(S|0,D()|0,L|0,0)|0;S=D()|0;L=Hs(T|0,S|0,1e9,0)|0;U=Gs(L|0,D()|0,1e9,0)|0;V=Bs(T|0,S|0,U|0,D()|0)|0;D()|0;c[K>>2]=V;K=K+-4|0}while(K>>>0>=C>>>0);if(L){K=C+-4|0;c[K>>2]=L;W=K}else W=C}else W=C;a:do if(B>>>0>W>>>0){K=B;while(1){V=K+-4|0;if(c[V>>2]|0){X=K;break a}if(V>>>0>W>>>0)K=V;else{X=V;break}}}else X=B;while(0);L=(c[l>>2]|0)-r|0;c[l>>2]=L;if((L|0)>0){C=W;B=X;t=L}else{Y=W;Z=X;_=L;break}}}else{Y=I;Z=E;_=R}if((_|0)<0){t=((G+25|0)/9|0)+1|0;B=(q|0)==102;C=Y;L=Z;K=_;while(1){V=0-K|0;U=(V|0)<9?V:9;if(C>>>0>>0){V=(1<>>U;T=0;$=C;do{aa=c[$>>2]|0;c[$>>2]=(aa>>>U)+T;T=z(aa&V,S)|0;$=$+4|0}while($>>>0>>0);$=(c[C>>2]|0)==0?C+4|0:C;if(!T){ba=L;ca=$}else{c[L>>2]=T;ba=L+4|0;ca=$}}else{ba=L;ca=(c[C>>2]|0)==0?C+4|0:C}$=B?I:ca;S=(ba-$>>2|0)>(t|0)?$+(t<<2)|0:ba;K=(c[l>>2]|0)+U|0;c[l>>2]=K;if((K|0)>=0){da=ca;ea=S;break}else{C=ca;L=S}}}else{da=Y;ea=Z}if(da>>>0>>0){L=(y-da>>2)*9|0;C=c[da>>2]|0;if(C>>>0<10)fa=L;else{K=L;L=10;while(1){L=L*10|0;t=K+1|0;if(C>>>0>>0){fa=t;break}else K=t}}}else fa=0;K=(q|0)==103;L=(G|0)!=0;C=G-((q|0)==102?0:fa)+((L&K)<<31>>31)|0;if((C|0)<(((ea-y>>2)*9|0)+-9|0)){t=C+9216|0;C=(t|0)/9|0;B=I+4+(C+-1024<<2)|0;E=t-(C*9|0)|0;if((E|0)<8){C=E;E=10;while(1){t=E*10|0;if((C|0)<7){C=C+1|0;E=t}else{ga=t;break}}}else ga=10;E=c[B>>2]|0;C=(E>>>0)/(ga>>>0)|0;q=E-(z(C,ga)|0)|0;t=(B+4|0)==(ea|0);if(!(t&(q|0)==0)){s=(C&1|0)==0?9007199254740992.0:9007199254740994.0;C=ga>>>1;J=q>>>0>>0?.5:t&(q|0)==(C|0)?1.0:1.5;if(!v){ha=J;ia=s}else{C=(a[w>>0]|0)==45;ha=C?-J:J;ia=C?-s:s}C=E-q|0;c[B>>2]=C;if(ia+ha!=ia){q=C+ga|0;c[B>>2]=q;if(q>>>0>999999999){q=B;C=da;while(1){E=q+-4|0;c[q>>2]=0;if(E>>>0>>0){t=C+-4|0;c[t>>2]=0;ja=t}else ja=C;t=(c[E>>2]|0)+1|0;c[E>>2]=t;if(t>>>0>999999999){q=E;C=ja}else{ka=E;la=ja;break}}}else{ka=B;la=da}C=(y-la>>2)*9|0;q=c[la>>2]|0;if(q>>>0<10){ma=ka;na=C;oa=la}else{E=C;C=10;while(1){C=C*10|0;t=E+1|0;if(q>>>0>>0){ma=ka;na=t;oa=la;break}else E=t}}}else{ma=B;na=fa;oa=da}}else{ma=B;na=fa;oa=da}E=ma+4|0;pa=na;qa=ea>>>0>E>>>0?E:ea;ra=oa}else{pa=fa;qa=ea;ra=da}E=0-pa|0;b:do if(qa>>>0>ra>>>0){C=qa;while(1){q=C+-4|0;if(c[q>>2]|0){sa=C;ta=1;break b}if(q>>>0>ra>>>0)C=q;else{sa=q;ta=0;break}}}else{sa=qa;ta=0}while(0);do if(K){B=G+((L^1)&1)|0;if((B|0)>(pa|0)&(pa|0)>-5){ua=i+-1|0;va=B+-1-pa|0}else{ua=i+-2|0;va=B+-1|0}if(!(h&8)){if(ta?(B=c[sa+-4>>2]|0,(B|0)!=0):0)if(!((B>>>0)%10|0)){C=0;U=10;while(1){U=U*10|0;T=C+1|0;if((B>>>0)%(U>>>0)|0|0){wa=T;break}else C=T}}else wa=0;else wa=9;C=((sa-y>>2)*9|0)+-9|0;if((ua|32|0)==102){U=C-wa|0;B=(U|0)>0?U:0;xa=ua;ya=(va|0)<(B|0)?va:B;break}else{B=C+pa-wa|0;C=(B|0)>0?B:0;xa=ua;ya=(va|0)<(C|0)?va:C;break}}else{xa=ua;ya=va}}else{xa=i;ya=G}while(0);G=(ya|0)!=0;y=G?1:h>>>3&1;L=(xa|32|0)==102;if(L){za=0;Aa=(pa|0)>0?pa:0}else{K=(pa|0)<0?E:pa;C=yq(K,((K|0)<0)<<31>>31,p)|0;K=p;if((K-C|0)<2){B=C;while(1){U=B+-1|0;a[U>>0]=48;if((K-U|0)<2)B=U;else{Ba=U;break}}}else Ba=C;a[Ba+-1>>0]=(pa>>31&2)+43;B=Ba+-2|0;a[B>>0]=xa;za=B;Aa=K-B|0}B=v+1+ya+y+Aa|0;Bq(b,32,f,B,h);tq(b,w,v);Bq(b,48,f,B,h^65536);if(L){E=ra>>>0>I>>>0?I:ra;U=m+9|0;T=U;q=m+8|0;t=E;do{S=yq(c[t>>2]|0,0,U)|0;if((t|0)==(E|0))if((S|0)==(U|0)){a[q>>0]=48;Da=q}else Da=S;else if(S>>>0>m>>>0){Ps(m|0,48,S-n|0)|0;$=S;while(1){V=$+-1|0;if(V>>>0>m>>>0)$=V;else{Da=V;break}}}else Da=S;tq(b,Da,T-Da|0);t=t+4|0}while(t>>>0<=I>>>0);if(!((h&8|0)==0&(G^1)))tq(b,59070,1);if(t>>>0>>0&(ya|0)>0){I=ya;T=t;while(1){q=yq(c[T>>2]|0,0,U)|0;if(q>>>0>m>>>0){Ps(m|0,48,q-n|0)|0;E=q;while(1){L=E+-1|0;if(L>>>0>m>>>0)E=L;else{Ea=L;break}}}else Ea=q;tq(b,Ea,(I|0)<9?I:9);T=T+4|0;E=I+-9|0;if(!(T>>>0>>0&(I|0)>9)){Fa=E;break}else I=E}}else Fa=ya;Bq(b,48,Fa+9|0,9,0)}else{I=ta?sa:ra+4|0;if(ra>>>0>>0&(ya|0)>-1){T=m+9|0;U=(h&8|0)==0;t=T;G=0-n|0;E=m+8|0;S=ya;L=ra;while(1){y=yq(c[L>>2]|0,0,T)|0;if((y|0)==(T|0)){a[E>>0]=48;Ga=E}else Ga=y;do if((L|0)==(ra|0)){y=Ga+1|0;tq(b,Ga,1);if(U&(S|0)<1){Ha=y;break}tq(b,59070,1);Ha=y}else{if(Ga>>>0<=m>>>0){Ha=Ga;break}Ps(m|0,48,Ga+G|0)|0;y=Ga;while(1){K=y+-1|0;if(K>>>0>m>>>0)y=K;else{Ha=K;break}}}while(0);q=t-Ha|0;tq(b,Ha,(S|0)>(q|0)?q:S);y=S-q|0;L=L+4|0;if(!(L>>>0>>0&(y|0)>-1)){Ia=y;break}else S=y}}else Ia=ya;Bq(b,48,Ia+18|0,18,0);tq(b,za,p-za|0)}Bq(b,32,f,B,h^8192);A=B}while(0);Ca=j;return ((A|0)<(f|0)?f:A)|0}function Eq(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;C(c[h+4>>2]|0);return b|0}function Fq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(c[c[(Gq()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(Xp()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=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;f=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;f=4;break}else{c[(Xp()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Gq(){return Hq()|0}function Hq(){return 33848}function Iq(){return Hq()|0}function Jq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((d[31328+f>>0]|0)==(b|0)){g=4;break}h=f+1|0;if((h|0)==87){i=87;g=5;break}else f=h}if((g|0)==4)if(!f)j=31424;else{i=f;g=5}if((g|0)==5){g=31424;f=i;while(1){i=g;do{b=i;i=i+1|0}while((a[b>>0]|0)!=0);f=f+-1|0;if(!f){j=i;break}else g=i}}return Kq(j,c[e+20>>2]|0)|0}function Kq(a,b){a=a|0;b=b|0;return Lq(a,b)|0}function Lq(a,b){a=a|0;b=b|0;var d=0;if(!b)d=0;else d=Mq(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((d|0)==0?a:d)|0}function Mq(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;f=(c[b>>2]|0)+1794895138|0;g=Nq(c[b+8>>2]|0,f)|0;h=Nq(c[b+12>>2]|0,f)|0;i=Nq(c[b+16>>2]|0,f)|0;a:do if((g>>>0>>2>>>0?(j=d-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Nq(c[b+(q<<2)>>2]|0,f)|0;s=Nq(c[b+(q+1<<2)>>2]|0,f)|0;if(!(s>>>0>>0&r>>>0<(d-s|0)>>>0)){t=0;break a}if(a[b+(s+r)>>0]|0){t=0;break a}r=Oq(e,b+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}l=s?l:o;m=s?n:m-n|0}m=p+k|0;l=Nq(c[b+(m<<2)>>2]|0,f)|0;j=Nq(c[b+(m+1<<2)>>2]|0,f)|0;if(j>>>0>>0&l>>>0<(d-j|0)>>>0)t=(a[b+(j+l)>>0]|0)==0?b+j|0:0;else t=0}else t=0;while(0);return t|0}function Nq(a,b){a=a|0;b=b|0;var c=0;c=Ks(a|0)|0;return ((b|0)==0?a:c)|0}function Oq(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=b;do{c=c+1|0;d=d+1|0;b=a[c>>0]|0;e=a[d>>0]|0}while(!(b<<24>>24==0?1:b<<24>>24!=e<<24>>24));f=e;g=b}return (g&255)-(f&255)|0}function Pq(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;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Qq(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0>>0){j=Ia[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){l=0;m=b;n=d;o=k}else{f=d;while(1){p=f+-1|0;if((a[b+p>>0]|0)==10)break;if(!p){l=0;m=b;n=d;o=k;break b}else f=p}p=Ia[c[e+36>>2]&7](e,b,f)|0;if(p>>>0>>0){j=p;break a}l=f;m=b+f|0;n=d-f|0;o=c[g>>2]|0}while(0);Os(o|0,m|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Qq(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&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);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function Rq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Os(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Tq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;a:do if(e>>>0>36){c[(Xp()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=Uq(b)|0}while((Vq(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=m;q=d[o>>0]|0;break b}else{p=m;q=Uq(b)|0;break b}break}default:{p=0;q=n}}while(0);m=(e|0)==0;do if((e|16|0)==16&(q|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=Uq(b)|0;if((r|32|0)!=120)if(m){s=r;t=8;u=47;break}else{v=r;w=e;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=Uq(b)|0;if((d[33233+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){Sq(b,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=x;t=16;u=47}}else{o=m?10:e;if(o>>>0>(d[33233+q>>0]|0)>>>0){v=q;w=o;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;Sq(b,0);c[(Xp()|0)>>2]=22;i=0;j=0;break a}}while(0);c:do if((u|0)==32)if((w|0)==10){m=v+-48|0;if(m>>>0<10){o=0;y=m;do{o=(o*10|0)+y|0;m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;A=d[m>>0]|0}else A=Uq(b)|0;y=A+-48|0}while(y>>>0<10&o>>>0<429496729);if(y>>>0<10){m=A;B=o;E=0;F=y;while(1){G=Gs(B|0,E|0,10,0)|0;H=D()|0;I=((F|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&G>>>0>~F>>>0){K=10;L=m;M=B;N=E;u=76;break c}B=As(G|0,H|0,F|0,I|0)|0;E=D()|0;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;O=d[I>>0]|0}else O=Uq(b)|0;F=O+-48|0;if(!(F>>>0<10&(E>>>0<429496729|(E|0)==429496729&B>>>0<2576980378)))break;else m=O}if(F>>>0>9){P=p;Q=E;R=B}else{K=10;L=O;M=B;N=E;u=76}}else{P=p;Q=0;R=o}}else{P=p;Q=0;R=0}}else{s=v;t=w;u=47}while(0);d:do if((u|0)==47){if(!(t+-1&t)){m=a[59044+((t*23|0)>>>5&7)>>0]|0;y=a[33233+s>>0]|0;I=y&255;if(t>>>0>I>>>0){H=0;G=I;do{H=G|H<>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;S=d[J>>0]|0}else S=Uq(b)|0;T=a[33233+S>>0]|0;G=T&255}while(H>>>0<134217728&t>>>0>G>>>0);U=S;V=G;W=0;X=H;Y=T}else{U=s;V=I;W=0;X=0;Y=y}o=Is(-1,-1,m|0)|0;E=D()|0;if(t>>>0<=V>>>0|(E>>>0>>0|(E|0)==(W|0)&o>>>0>>0)){K=t;L=U;M=X;N=W;u=76;break}B=X;F=W;J=Y;while(1){Z=Js(B|0,F|0,m|0)|0;_=D()|0;$=Z|J&255;Z=c[k>>2]|0;if(Z>>>0<(c[l>>2]|0)>>>0){c[k>>2]=Z+1;aa=d[Z>>0]|0}else aa=Uq(b)|0;J=a[33233+aa>>0]|0;if(t>>>0<=(J&255)>>>0|(_>>>0>E>>>0|(_|0)==(E|0)&$>>>0>o>>>0)){K=t;L=aa;M=$;N=_;u=76;break d}else{B=$;F=_}}}F=a[33233+s>>0]|0;B=F&255;if(t>>>0>B>>>0){o=0;E=B;do{o=E+(z(o,t)|0)|0;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;ba=d[J>>0]|0}else ba=Uq(b)|0;ca=a[33233+ba>>0]|0;E=ca&255}while(o>>>0<119304647&t>>>0>E>>>0);da=ba;ea=E;fa=ca;ga=o;ha=0}else{da=s;ea=B;fa=F;ga=0;ha=0}if(t>>>0>ea>>>0){J=Hs(-1,-1,t|0,0)|0;m=D()|0;y=da;I=ha;H=ga;G=fa;while(1){if(I>>>0>m>>>0|(I|0)==(m|0)&H>>>0>J>>>0){K=t;L=y;M=H;N=I;u=76;break d}_=Gs(H|0,I|0,t|0,0)|0;$=D()|0;Z=G&255;if($>>>0>4294967295|($|0)==-1&_>>>0>~Z>>>0){K=t;L=y;M=H;N=I;u=76;break d}ia=As(_|0,$|0,Z|0,0)|0;Z=D()|0;$=c[k>>2]|0;if($>>>0<(c[l>>2]|0)>>>0){c[k>>2]=$+1;ja=d[$>>0]|0}else ja=Uq(b)|0;G=a[33233+ja>>0]|0;if(t>>>0<=(G&255)>>>0){K=t;L=ja;M=ia;N=Z;u=76;break}else{y=ja;I=Z;H=ia}}}else{K=t;L=da;M=ga;N=ha;u=76}}while(0);if((u|0)==76)if(K>>>0>(d[33233+L>>0]|0)>>>0){do{H=c[k>>2]|0;if(H>>>0<(c[l>>2]|0)>>>0){c[k>>2]=H+1;ka=d[H>>0]|0}else ka=Uq(b)|0}while(K>>>0>(d[33233+ka>>0]|0)>>>0);c[(Xp()|0)>>2]=34;P=(g&1|0)==0&0==0?p:0;Q=h;R=g}else{P=p;Q=N;R=M}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(Q>>>0>>0|(Q|0)==(h|0)&R>>>0>>0)){if(!((g&1|0)!=0|0!=0|(P|0)!=0)){c[(Xp()|0)>>2]=34;H=As(g|0,h|0,-1,-1)|0;i=D()|0;j=H;break}if(Q>>>0>h>>>0|(Q|0)==(h|0)&R>>>0>g>>>0){c[(Xp()|0)>>2]=34;i=h;j=g;break}}H=((P|0)<0)<<31>>31;I=Bs(R^P|0,Q^H|0,P|0,H|0)|0;i=D()|0;j=I}while(0);C(i|0);return j|0}function Uq(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;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=Wq(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((f|0)==(d[e>>0]|0|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function Vq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Wq(a){a=a|0;var b=0,e=0,f=0;b=Ca;Ca=Ca+16|0;e=b;if((Xq(a)|0)==0?(Ia[c[a+32>>2]&7](a,e,1)|0)==1:0)f=d[e>>0]|0;else f=-1;Ca=b;return f|0}function Xq(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)Ia[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(!(e&4)){d=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=d;c[b+4>>2]=d;f=e<<27>>31}else{c[b>>2]=e|32;f=-1}return f|0}function Yq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=5}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=5;break}else g=j}}while(0);if((f|0)==5){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function Zq(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,v=0,w=0,x=0;f=Ca;Ca=Ca+208|0;g=f;h=f+192|0;i=z(d,b)|0;b=h;c[b>>2]=1;c[b+4>>2]=0;a:do if(i|0){b=0-d|0;c[g+4>>2]=d;c[g>>2]=d;j=2;k=d;l=d;while(1){m=k+d+l|0;c[g+(j<<2)>>2]=m;if(m>>>0>>0){n=l;j=j+1|0;l=m;k=n}else break}k=a+i+b|0;if(k>>>0>a>>>0){l=k;j=1;n=a;m=1;while(1){do if((m&3|0)!=3){o=j+-1|0;if((c[g+(o<<2)>>2]|0)>>>0<(l-n|0)>>>0)_q(n,d,e,j,g);else ar(n,d,e,h,j,0,g);if((j|0)==1){br(h,1);p=0;break}else{br(h,o);p=1;break}}else{_q(n,d,e,j,g);$q(h,2);p=j+2|0}while(0);o=c[h>>2]|1;c[h>>2]=o;q=n+d|0;if(q>>>0>>0){j=p;n=q;m=o}else{r=p;s=q;t=o;break}}}else{r=1;s=a;t=1}ar(s,d,e,h,r,0,g);m=h+4|0;n=s;j=r;k=t;while(1){if((j|0)==1&(k|0)==1)if(!(c[m>>2]|0))break a;else u=19;else if((j|0)<2)u=19;else{br(h,2);l=j+-2|0;c[h>>2]=c[h>>2]^7;$q(h,1);ar(n+(0-(c[g+(l<<2)>>2]|0))+b|0,d,e,h,j+-1|0,1,g);br(h,1);o=c[h>>2]|1;c[h>>2]=o;q=n+b|0;ar(q,d,e,h,l,1,g);v=q;w=l;x=o}if((u|0)==19){u=0;o=cr(h)|0;$q(h,o);v=n+b|0;w=o+j|0;x=c[h>>2]|0}n=v;j=w;k=x}}while(0);Ca=f;return}function _q(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;g=Ca;Ca=Ca+240|0;h=g;c[h>>2]=a;a:do if((e|0)>1){i=0-b|0;j=a;k=e;l=1;m=a;while(1){n=j+i|0;o=k+-2|0;p=n+(0-(c[f+(o<<2)>>2]|0))|0;if((Ha[d&3](m,p)|0)>-1?(Ha[d&3](m,n)|0)>-1:0){q=l;break a}r=h+(l<<2)|0;if((Ha[d&3](p,n)|0)>-1){c[r>>2]=p;s=p;t=k+-1|0}else{c[r>>2]=n;s=n;t=o}o=l+1|0;if((t|0)<=1){q=o;break a}j=s;k=t;l=o;m=c[h>>2]|0}}else q=1;while(0);er(b,h,q);Ca=g;return}function $q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[d>>2]|0;c[a>>2]=e;c[d>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[d>>2]|0;h=c[a>>2]|0}c[a>>2]=g<<32-f|h>>>f;c[d>>2]=g>>>f;return}function ar(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 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;i=Ca;Ca=Ca+240|0;j=i+232|0;k=i;l=c[e>>2]|0;c[j>>2]=l;m=c[e+4>>2]|0;e=j+4|0;c[e>>2]=m;c[k>>2]=a;a:do if((l|0)!=1|(m|0)!=0?(n=0-b|0,o=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ha[d&3](o,a)|0)>=1):0){p=1;q=f;r=(g|0)==0;s=a;t=o;while(1){if(r&(q|0)>1){o=s+n|0;u=c[h+(q+-2<<2)>>2]|0;if((Ha[d&3](o,t)|0)>-1){v=p;w=q;x=s;y=10;break a}if((Ha[d&3](o+(0-u)|0,t)|0)>-1){v=p;w=q;x=s;y=10;break a}}u=p+1|0;c[k+(p<<2)>>2]=t;o=cr(j)|0;$q(j,o);z=o+q|0;if(!((c[j>>2]|0)!=1|(c[e>>2]|0)!=0)){v=u;w=z;x=t;y=10;break a}o=t+(0-(c[h+(z<<2)>>2]|0))|0;if((Ha[d&3](o,c[k>>2]|0)|0)<1){A=t;B=u;C=z;D=0;y=9;break}else{E=t;p=u;q=z;r=1;t=o;s=E}}}else{A=a;B=1;C=f;D=g;y=9}while(0);if((y|0)==9?(D|0)==0:0){v=B;w=C;x=A;y=10}if((y|0)==10){er(b,k,v);_q(x,b,d,w,h)}Ca=i;return}function br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[d>>2]=e;c[a>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[a>>2]|0;h=c[d>>2]|0}c[d>>2]=g>>>(32-f|0)|h<>2]=g<>2]|0)+-1|0)|0;if(!b){d=dr(c[a+4>>2]|0)|0;return ((d|0)==0?0:d+32|0)|0}else return b|0;return 0}function dr(a){a=a|0;var b=0,c=0,d=0;if(a)if(!(a&1)){b=a;a=0;while(1){c=a+1|0;if(!(b&2)){b=b>>>1;a=c}else{d=c;break}}}else d=0;else d=32;return d|0}function er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ca;Ca=Ca+256|0;f=e;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=f,a|0):0){h=a;i=f;while(1){j=h>>>0<256?h:256;Os(i|0,c[b>>2]|0,j|0)|0;k=0;do{l=b+(k<<2)|0;k=k+1|0;Os(c[l>>2]|0,c[b+(k<<2)>>2]|0,j|0)|0;c[l>>2]=(c[l>>2]|0)+j}while((k|0)!=(d|0));k=h-j|0;if(!k)break a;h=k;i=c[g>>2]|0}}while(0);Ca=e;return}function fr(a,b){a=a|0;b=b|0;hr(a,b)|0;return a|0}function gr(a,b){a=a|0;b=b|0;fr(a+(Yq(a)|0)|0,b)|0;return a|0}function hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=d;i=b;while(1){j=a[h>>0]|0;a[i>>0]=j;if(!(j<<24>>24)){k=i;break a}j=h+1|0;l=i+1|0;if(!(j&3)){f=j;g=l;break}else{h=j;i=l}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=g;l=f;j=i;while(1){i=l+4|0;m=h+4|0;c[h>>2]=j;j=c[i>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){n=i;o=m;break}else{h=m;l=i}}}else{n=f;o=g}p=n;q=o;r=10}else{p=d;q=b;r=10}while(0);if((r|0)==10){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function ir(b,c){b=b|0;c=c|0;var d=0;d=pr(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function jr(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ca;Ca=Ca+16|0;d=b+8|0;e=or(a,589824,b)|0;do if((e|0)>=0){a=Pp(1,2072)|0;if(!a){c[d>>2]=e;ba(6,d|0)|0;f=0;break}else{c[a>>2]=e;f=a;break}}else f=0;while(0);Ca=b;return f|0}function kr(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ca;Ca=Ca+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=Wp(Y(195,e|0)|0)|0;Ca=d;return b|0}function lr(a){a=a|0;var b=0;b=nr(c[a>>2]|0)|0;Op(a);return b|0}function mr(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ca;Ca=Ca+16|0;d=b;f=a+8|0;g=c[f>>2]|0;h=a+12|0;a:do if((g|0)<(c[h>>2]|0)){i=a+24+g|0;j=g;k=7}else{l=a+24|0;c[d>>2]=c[a>>2];c[d+4>>2]=l;c[d+8>>2]=2048;m=Z(220,d|0)|0;if((m|0)>=1){c[h>>2]=m;c[f>>2]=0;i=l;j=0;k=7;break}switch(m|0){case 0:case -2:{n=0;break a;break}default:{}}c[(Xp()|0)>>2]=0-m;n=0}while(0);if((k|0)==7){c[f>>2]=j+(e[i+8>>1]|0);c[a+4>>2]=c[i+4>>2];n=i}Ca=b;return n|0}function nr(a){a=a|0;var b=0,d=0;b=Ca;Ca=Ca+16|0;d=b;c[d>>2]=Yp(a)|0;a=ba(6,d|0)|0;d=Wp((a|0)==-4?0:a)|0;Ca=b;return d|0}function or(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ca;Ca=Ca+48|0;f=e+32|0;g=e+16|0;h=e;if(!(b&4194368))i=0;else{c[h>>2]=d;d=(c[h>>2]|0)+(4-1)&~(4-1);j=c[d>>2]|0;c[h>>2]=d+4;i=j}c[g>>2]=a;c[g+4>>2]=b|32768;c[g+8>>2]=i;i=$(5,g|0)|0;if(!((b&524288|0)==0|(i|0)<0)){c[f>>2]=i;c[f+4>>2]=2;c[f+8>>2]=1;_(221,f|0)|0}f=Wp(i)|0;Ca=e;return f|0}function pr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(Yq(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=z(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=g;k=h;while(1){l=k^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=j;break b}l=j+4|0;k=c[l>>2]|0;if((k&-2139062144^-2139062144)&k+-16843009|0){m=l;break}else j=l}}else m=g;while(0);i=d&255;h=m;while(1){j=a[h>>0]|0;if(j<<24>>24==0?1:j<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function qr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;e=Ca;Ca=Ca+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;Sq(f,0);i=+rr(f,d,1);d=(c[g>>2]|0)-(c[h>>2]|0)+(c[f+108>>2]|0)|0;if(b|0)c[b>>2]=(d|0)==0?a:a+d|0;Ca=e;return +i}function rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;switch(e|0){case 0:{g=-149;h=24;i=4;break}case 1:{g=-1074;h=53;i=4;break}case 2:{g=-1074;h=53;i=4;break}default:j=0.0}a:do if((i|0)==4){e=b+4|0;k=b+100|0;do{l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;m=d[l>>0]|0}else m=Uq(b)|0}while((Vq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;o=d[n>>0]|0;p=l;break b}else{o=Uq(b)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(a[59053+l>>0]|0)){q=n;t=l;break}do if(l>>>0<7){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;v=d[u>>0]|0;break}else{v=Uq(b)|0;break}}else v=n;while(0);l=l+1|0;if(l>>>0>=8){q=v;t=8;break}else n=v}c:do switch(t&2147483647|0){case 8:break;case 3:{i=23;break}default:{n=(f|0)!=0;if(n&t>>>0>3)if((t|0)==8)break c;else{i=23;break c}d:do if(!t){l=0;u=q;while(1){if((u|32|0)!=(a[59062+l>>0]|0)){w=l;x=u;break d}do if(l>>>0<2){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=Uq(b)|0;break}}else z=u;while(0);l=l+1|0;if(l>>>0>=3){w=3;x=z;break}else u=z}}else{w=t;x=q}while(0);switch(w|0){case 3:{u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;A=d[u>>0]|0}else A=Uq(b)|0;if((A|0)!=40){if(!(c[k>>2]|0)){j=r;break a}c[e>>2]=(c[e>>2]|0)+-1;j=r;break a}u=1;while(1){l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;B=d[l>>0]|0}else B=Uq(b)|0;if(!((B+-48|0)>>>0<10|(B+-65|0)>>>0<26)?!((B|0)==95|(B+-97|0)>>>0<26):0)break;u=u+1|0}if((B|0)==41){j=r;break a}l=(c[k>>2]|0)==0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!n){c[(Xp()|0)>>2]=22;Sq(b,0);j=0.0;break a}if(!u){j=r;break a}y=u;while(1){y=y+-1|0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!y){j=r;break a}}break}case 0:{if((x|0)==48){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;C=d[y>>0]|0}else C=Uq(b)|0;if((C|32|0)==120){j=+sr(b,h,g,p,f);break a}if(!(c[k>>2]|0))D=48;else{c[e>>2]=(c[e>>2]|0)+-1;D=48}}else D=x;j=+tr(b,D,h,g,p,f);break a;break}default:{if(c[k>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(Xp()|0)>>2]=22;Sq(b,0);j=0.0;break a}}}}while(0);if((i|0)==23){y=(c[k>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&t>>>0>3){l=t;do{if(!y)c[e>>2]=(c[e>>2]|0)+-1;l=l+-1|0}while(l>>>0>3)}}j=+(p|0)*s}while(0);return +j}function sr(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0;h=a+4|0;i=c[h>>2]|0;j=a+100|0;if(i>>>0<(c[j>>2]|0)>>>0){c[h>>2]=i+1;k=d[i>>0]|0}else k=Uq(a)|0;i=k;k=0;a:while(1){switch(i|0){case 46:{l=10;break a;break}case 48:break;default:{m=0;n=i;o=k;p=0;q=0;break a}}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;s=d[r>>0]|0}else s=Uq(a)|0;i=s;k=1}if((l|0)==10){s=c[h>>2]|0;if(s>>>0<(c[j>>2]|0)>>>0){c[h>>2]=s+1;t=d[s>>0]|0}else t=Uq(a)|0;if((t|0)==48){s=0;i=0;while(1){r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;u=d[r>>0]|0}else u=Uq(a)|0;r=As(s|0,i|0,-1,-1)|0;v=D()|0;if((u|0)==48){s=r;i=v}else{m=1;n=u;o=1;p=r;q=v;break}}}else{m=1;n=t;o=k;p=0;q=0}}k=0;w=1.0;x=0.0;t=0;u=m;m=n;n=o;o=0;i=0;s=p;p=q;while(1){q=m+-48|0;v=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(v+-97|0)>>>0<6)){y=m;break}if(r)if(!u){z=1;A=k;B=w;C=x;E=t;F=n;G=i;H=o;I=i;J=o}else{y=46;break}else l=24}else l=24;if((l|0)==24){l=0;r=(m|0)>57?v+-87|0:q;do if(!((o|0)<0|(o|0)==0&i>>>0<8))if((o|0)<0|(o|0)==0&i>>>0<14){K=w*.0625;L=k;M=K;N=x+K*+(r|0);O=t;break}else{q=(k|0)!=0|(r|0)==0;L=q?k:1;M=w;N=q?x:x+w*.5;O=t;break}else{L=k;M=w;N=x;O=r+(t<<4)|0}while(0);r=As(i|0,o|0,1,0)|0;z=u;A=L;B=M;C=N;E=O;F=1;G=s;H=p;I=r;J=D()|0}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;P=d[r>>0]|0}else P=Uq(a)|0;k=A;w=B;x=C;t=E;u=z;m=P;n=F;o=J;i=I;s=G;p=H}do if(!n){H=(c[j>>2]|0)==0;if(!H)c[h>>2]=(c[h>>2]|0)+-1;if(g){if(!H?(c[h>>2]=(c[h>>2]|0)+-1,!((u|0)==0|H)):0)c[h>>2]=(c[h>>2]|0)+-1}else Sq(a,0);Q=+(f|0)*0.0}else{H=(u|0)==0;G=H?i:s;I=H?o:p;if((o|0)<0|(o|0)==0&i>>>0<8){H=t;J=i;F=o;while(1){P=H<<4;m=J;J=As(J|0,F|0,1,0)|0;z=F;F=D()|0;if(!((z|0)<0|(z|0)==0&m>>>0<7)){R=P;break}else H=P}}else R=t;if((y|32|0)==112){H=ur(a,g)|0;F=D()|0;if((H|0)==0&(F|0)==-2147483648){if(!g){Sq(a,0);Q=0.0;break}if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}}else{S=H;T=F}}else if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}F=Js(G|0,I|0,2)|0;H=As(F|0,D()|0,-32,-1)|0;F=As(H|0,D()|0,S|0,T|0)|0;H=D()|0;if(!R){Q=+(f|0)*0.0;break}J=0-e|0;P=((J|0)<0)<<31>>31;if((H|0)>(P|0)|(H|0)==(P|0)&F>>>0>J>>>0){c[(Xp()|0)>>2]=34;Q=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=e+-106|0;P=((J|0)<0)<<31>>31;if((H|0)<(P|0)|(H|0)==(P|0)&F>>>0>>0){c[(Xp()|0)>>2]=34;Q=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((R|0)>-1){C=x;J=R;P=F;m=H;while(1){z=!(C>=.5);E=J<<1|(z^1)&1;B=C+(z?C:C+-1.0);z=As(P|0,m|0,-1,-1)|0;A=D()|0;if((E|0)>-1){C=B;J=E;P=z;m=A}else{U=B;V=E;W=z;X=A;break}}}else{U=x;V=R;W=F;X=H}m=((b|0)<0)<<31>>31;P=Bs(32,0,e|0,((e|0)<0)<<31>>31|0)|0;J=As(P|0,D()|0,W|0,X|0)|0;P=D()|0;if((P|0)<(m|0)|(P|0)==(m|0)&J>>>0>>0)if((J|0)>0){Y=J;l=65}else{Z=0;_=84;l=67}else{Y=b;l=65}if((l|0)==65)if((Y|0)<53){Z=Y;_=84-Y|0;l=67}else{$=0.0;aa=Y;ba=+(f|0)}if((l|0)==67){C=+(f|0);$=+cq(+aq(1.0,_),C);aa=Z;ba=C}J=(V&1|0)==0&(U!=0.0&(aa|0)<32);C=(J?0.0:U)*ba+($+ba*+((V+(J&1)|0)>>>0))-$;if(!(C!=0.0))c[(Xp()|0)>>2]=34;Q=+hq(C,W)}while(0);return +Q}function tr(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=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,$=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.0,Aa=0,Ba=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.0,fb=0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0;i=Ca;Ca=Ca+512|0;j=i;k=f+e|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=7;break a;break}case 48:break;default:{q=0;r=o;s=b;u=0;v=0;break a}}w=c[m>>2]|0;if(w>>>0<(c[n>>2]|0)>>>0){c[m>>2]=w+1;x=d[w>>0]|0}else x=Uq(a)|0;o=x;b=1}if((p|0)==7){x=c[m>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[m>>2]=x+1;y=d[x>>0]|0}else y=Uq(a)|0;if((y|0)==48){x=0;o=0;while(1){w=As(x|0,o|0,-1,-1)|0;A=D()|0;B=c[m>>2]|0;if(B>>>0<(c[n>>2]|0)>>>0){c[m>>2]=B+1;C=d[B>>0]|0}else C=Uq(a)|0;if((C|0)==48){x=w;o=A}else{q=1;r=C;s=1;u=w;v=A;break}}}else{q=1;r=y;s=b;u=0;v=0}}c[j>>2]=0;b=r+-48|0;y=(r|0)==46;b:do if(y|b>>>0<10){C=j+496|0;o=0;x=0;A=0;w=q;B=s;E=r;F=y;G=b;H=u;I=v;J=0;K=0;c:while(1){do if(F)if(!w){L=o;M=x;N=1;O=A;P=B;Q=J;R=K;S=J;T=K}else break c;else{U=As(J|0,K|0,1,0)|0;V=D()|0;W=(E|0)!=48;if((x|0)>=125){if(!W){L=o;M=x;N=w;O=A;P=B;Q=H;R=I;S=U;T=V;break}c[C>>2]=c[C>>2]|1;L=o;M=x;N=w;O=A;P=B;Q=H;R=I;S=U;T=V;break}X=j+(x<<2)|0;if(!o)Y=G;else Y=E+-48+((c[X>>2]|0)*10|0)|0;c[X>>2]=Y;X=o+1|0;Z=(X|0)==9;L=Z?0:X;M=x+(Z&1)|0;N=w;O=W?U:A;P=1;Q=H;R=I;S=U;T=V}while(0);V=c[m>>2]|0;if(V>>>0<(c[n>>2]|0)>>>0){c[m>>2]=V+1;_=d[V>>0]|0}else _=Uq(a)|0;G=_+-48|0;F=(_|0)==46;if(!(F|G>>>0<10)){$=L;aa=M;ba=O;ca=N;da=_;ea=P;fa=Q;ga=S;ha=R;ia=T;p=31;break b}else{o=L;x=M;A=O;w=N;B=P;E=_;H=Q;I=R;J=S;K=T}}ja=o;ka=x;la=A;ma=J;na=K;oa=H;pa=I;qa=(B|0)!=0;p=39}else{$=0;aa=0;ba=0;ca=q;da=r;ea=s;fa=u;ga=0;ha=v;ia=0;p=31}while(0);do if((p|0)==31){v=(ca|0)==0;u=v?ga:fa;s=v?ia:ha;v=(ea|0)!=0;if(!(v&(da|32|0)==101))if((da|0)>-1){ja=$;ka=aa;la=ba;ma=ga;na=ia;oa=u;pa=s;qa=v;p=39;break}else{ra=$;sa=aa;ta=ba;ua=ga;va=ia;wa=v;xa=u;ya=s;p=41;break}v=ur(a,h)|0;r=D()|0;if((v|0)==0&(r|0)==-2147483648){if(!h){Sq(a,0);za=0.0;break}if(!(c[n>>2]|0)){Aa=0;Ba=0}else{c[m>>2]=(c[m>>2]|0)+-1;Aa=0;Ba=0}}else{Aa=v;Ba=r}r=As(Aa|0,Ba|0,u|0,s|0)|0;Da=$;Ea=aa;Fa=ba;Ga=r;Ha=ga;Ia=D()|0;Ja=ia;p=43}while(0);if((p|0)==39)if(c[n>>2]|0){c[m>>2]=(c[m>>2]|0)+-1;if(qa){Da=ja;Ea=ka;Fa=la;Ga=oa;Ha=ma;Ia=pa;Ja=na;p=43}else p=42}else{ra=ja;sa=ka;ta=la;ua=ma;va=na;wa=qa;xa=oa;ya=pa;p=41}if((p|0)==41)if(wa){Da=ra;Ea=sa;Fa=ta;Ga=xa;Ha=ua;Ia=ya;Ja=va;p=43}else p=42;do if((p|0)==42){c[(Xp()|0)>>2]=22;Sq(a,0);za=0.0}else if((p|0)==43){va=c[j>>2]|0;if(!va){za=+(g|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(e|0)>30|(va>>>e|0)==0:0){za=+(g|0)*+(va>>>0);break}va=(f|0)/-2|0;ya=((va|0)<0)<<31>>31;if((Ia|0)>(ya|0)|(Ia|0)==(ya|0)&Ga>>>0>va>>>0){c[(Xp()|0)>>2]=34;za=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}va=f+-106|0;ya=((va|0)<0)<<31>>31;if((Ia|0)<(ya|0)|(Ia|0)==(ya|0)&Ga>>>0>>0){c[(Xp()|0)>>2]=34;za=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Da)Ka=Ea;else{if((Da|0)<9){va=j+(Ea<<2)|0;ya=Da;ua=c[va>>2]|0;while(1){ua=ua*10|0;if((ya|0)>=8)break;else ya=ya+1|0}c[va>>2]=ua}Ka=Ea+1|0}if((Fa|0)<9?(Fa|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){za=+(g|0)*+((c[j>>2]|0)>>>0);break}if((Ga|0)<9){za=+(g|0)*+((c[j>>2]|0)>>>0)/+(c[33504+(8-Ga<<2)>>2]|0);break}ya=e+27+(z(Ga,-3)|0)|0;B=c[j>>2]|0;if((ya|0)>30|(B>>>ya|0)==0){za=+(g|0)*+(B>>>0)*+(c[33504+(Ga+-10<<2)>>2]|0);break}}B=(Ga|0)%9|0;if(!B){La=Ka;Ma=0;Na=Ga}else{ya=(Ga|0)>-1?B:B+9|0;B=c[33504+(8-ya<<2)>>2]|0;if(Ka){I=1e9/(B|0)|0;H=0;K=0;J=Ga;A=0;do{x=j+(A<<2)|0;o=c[x>>2]|0;xa=(o>>>0)/(B>>>0)|0;ta=o-(z(xa,B)|0)|0;o=xa+H|0;c[x>>2]=o;H=z(I,ta)|0;ta=(A|0)==(K|0)&(o|0)==0;J=ta?J+-9|0:J;K=ta?K+1&127:K;A=A+1|0}while((A|0)!=(Ka|0));if(!H){Oa=K;Pa=Ka;Qa=J}else{c[j+(Ka<<2)>>2]=H;Oa=K;Pa=Ka+1|0;Qa=J}}else{Oa=0;Pa=0;Qa=Ga}La=Pa;Ma=Oa;Na=9-ya+Qa|0}A=0;I=La;B=Ma;ua=Na;d:while(1){va=(ua|0)<18;ta=(ua|0)==18;o=j+(B<<2)|0;Ra=A;Sa=I;while(1){if(!va){if(!ta){Ta=ua;break d}if((c[o>>2]|0)>>>0>=9007199){Ta=18;break d}}x=0;Ua=Sa;xa=Sa+127|0;while(1){sa=xa&127;ra=j+(sa<<2)|0;wa=Js(c[ra>>2]|0,0,29)|0;pa=As(wa|0,D()|0,x|0,0)|0;wa=D()|0;if(wa>>>0>0|(wa|0)==0&pa>>>0>1e9){oa=Hs(pa|0,wa|0,1e9,0)|0;qa=Gs(oa|0,D()|0,1e9,0)|0;na=Bs(pa|0,wa|0,qa|0,D()|0)|0;D()|0;Va=oa;Wa=na}else{Va=0;Wa=pa}c[ra>>2]=Wa;ra=(sa|0)==(B|0);Xa=(sa|0)!=(Ua+127&127|0)|ra?Ua:(Wa|0)==0?sa:Ua;if(ra)break;else{x=Va;Ua=Xa;xa=sa+-1|0}}Ya=Ra+-29|0;if(!Va){Ra=Ya;Sa=Ua}else break}o=B+127&127;ta=Xa+127&127;va=j+((Xa+126&127)<<2)|0;if((o|0)==(Xa|0)){c[va>>2]=c[va>>2]|c[j+(ta<<2)>>2];Za=ta}else Za=Ua;c[j+(o<<2)>>2]=Va;A=Ya;I=Za;B=o;ua=ua+9|0}ua=Ra;I=B;A=Ta;ya=Sa;e:while(1){J=ya+1&127;K=j+((ya+127&127)<<2)|0;H=ua;o=I;ta=A;while(1){va=(ta|0)==18;xa=(ta|0)>27?9:1;_a=H;$a=o;while(1){x=0;while(1){sa=x+$a&127;if((sa|0)==(ya|0)){p=92;break}ra=c[j+(sa<<2)>>2]|0;sa=c[34092+(x<<2)>>2]|0;if(ra>>>0>>0){p=92;break}if(ra>>>0>sa>>>0)break;if((x+1|0)>>>0<2)x=1;else{p=92;break}}if((p|0)==92?(p=0,va):0)break e;ab=xa+_a|0;if(($a|0)==(ya|0)){_a=ab;$a=ya}else break}va=(1<>>xa;bb=0;cb=$a;db=ta;sa=$a;do{ra=j+(sa<<2)|0;pa=c[ra>>2]|0;na=(pa>>>xa)+bb|0;c[ra>>2]=na;bb=z(pa&va,x)|0;pa=(sa|0)==(cb|0)&(na|0)==0;db=pa?db+-9|0:db;cb=pa?cb+1&127:cb;sa=sa+1&127}while((sa|0)!=(ya|0));if(bb|0){if((J|0)!=(cb|0))break;c[K>>2]=c[K>>2]|1}H=ab;o=cb;ta=db}c[j+(ya<<2)>>2]=bb;ua=ab;I=cb;A=db;ya=J}eb=0.0;A=ya;I=0;while(1){ua=I+$a&127;B=A+1&127;if((ua|0)==(A|0)){c[j+(B+-1<<2)>>2]=0;fb=B}else fb=A;eb=eb*1.0e9+ +((c[j+(ua<<2)>>2]|0)>>>0);I=I+1|0;if((I|0)==2)break;else A=fb}gb=+(g|0);hb=eb*gb;A=_a+53|0;I=A-f|0;ya=(I|0)<(e|0);ua=ya?((I|0)>0?I:0):e;if((ua|0)<53){ib=+cq(+aq(1.0,105-ua|0),hb);jb=+gq(hb,+aq(1.0,53-ua|0));kb=ib;lb=jb;mb=ib+(hb-jb)}else{kb=0.0;lb=0.0;mb=hb}B=$a+2&127;if((B|0)!=(fb|0)){ta=c[j+(B<<2)>>2]|0;do if(ta>>>0>=5e8){if((ta|0)!=5e8){nb=gb*.75+lb;break}if(($a+3&127|0)==(fb|0)){nb=gb*.5+lb;break}else{nb=gb*.75+lb;break}}else{if((ta|0)==0?($a+3&127|0)==(fb|0):0){nb=lb;break}nb=gb*.25+lb}while(0);if((53-ua|0)>1?!(+gq(nb,1.0)!=0.0):0)ob=nb+1.0;else ob=nb}else ob=lb;gb=mb+ob-kb;do if((A&2147483647|0)>(-2-k|0)){ta=!(+t(+gb)>=9007199254740992.0);B=_a+((ta^1)&1)|0;eb=ta?gb:gb*.5;if((B+50|0)<=(l|0)?!(ob!=0.0&(ya&((ua|0)!=(I|0)|ta))):0){pb=eb;qb=B;break}c[(Xp()|0)>>2]=34;pb=eb;qb=B}else{pb=gb;qb=_a}while(0);za=+hq(pb,qb)}while(0);Ca=i;return +za}function ur(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=Uq(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=Uq(a)|0;i=j+-48|0;if((b|0)!=0&i>>>0>9)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;m=14}else{n=f;o=j;p=i;m=12}break}default:{n=0;o=h;p=h+-48|0;m=12}}if((m|0)==12)if(p>>>0>9)m=14;else{p=0;h=o;while(1){p=h+-48+(p*10|0)|0;o=c[e>>2]|0;if(o>>>0<(c[g>>2]|0)>>>0){c[e>>2]=o+1;q=d[o>>0]|0}else q=Uq(a)|0;r=q+-48|0;if(!(r>>>0<10&(p|0)<214748364))break;else h=q}h=((p|0)<0)<<31>>31;if(r>>>0<10){r=q;q=p;o=h;while(1){i=Gs(q|0,o|0,10,0)|0;j=D()|0;f=As(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;q=As(f|0,D()|0,i|0,j|0)|0;o=D()|0;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;s=d[j>>0]|0}else s=Uq(a)|0;t=s+-48|0;if(!(t>>>0<10&((o|0)<21474836|(o|0)==21474836&q>>>0<2061584302)))break;else r=s}if(t>>>0<10){do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0}else u=Uq(a)|0}while((u+-48|0)>>>0<10);v=q;w=o}else{v=q;w=o}}else{v=p;w=h}if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;h=(n|0)==0;n=Bs(0,0,v|0,w|0)|0;p=D()|0;k=h?v:n;l=h?w:p}if((m|0)==14)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;k=0;l=-2147483648}C(l|0);return k|0}function vr(a,b){a=a|0;b=b|0;return +(+qr(a,b,1))}function wr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ca;Ca=Ca+32|0;f=e;g=a[d>>0]|0;a:do if(g<<24>>24!=0?(a[d+1>>0]|0)!=0:0){Ps(f|0,0,32)|0;h=a[d>>0]|0;if(h<<24>>24){i=d;j=h;do{h=j&255;k=f+(h>>>5<<2)|0;c[k>>2]=c[k>>2]|1<<(h&31);i=i+1|0;j=a[i>>0]|0}while(j<<24>>24!=0)}j=a[b>>0]|0;if(!(j<<24>>24))l=b;else{i=b;h=j;while(1){j=h&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0){l=i;break a}j=i+1|0;h=a[j>>0]|0;if(!(h<<24>>24)){l=j;break}else i=j}}}else m=3;while(0);if((m|0)==3)l=pr(b,g<<24>>24)|0;Ca=e;return l-b|0}function xr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ca;Ca=Ca+16|0;i=h;j=(g|0)==0?5108792:g;g=c[j>>2]|0;a:do if(!e)if(!g)k=0;else l=19;else{m=(b|0)==0?i:b;if(!f)k=-2;else{if(!g){n=a[e>>0]|0;if(n<<24>>24>-1){c[m>>2]=n&255;k=n<<24>>24!=0&1;break}n=(c[c[(yr()|0)+188>>2]>>2]|0)==0;o=a[e>>0]|0;if(n){c[m>>2]=o<<24>>24&57343;k=1;break}n=(o&255)+-194|0;if(n>>>0>50){l=19;break}o=c[30640+(n<<2)>>2]|0;n=f+-1|0;if(!n)p=o;else{q=e+1|0;r=o;s=n;l=11}}else{q=e;r=g;s=f;l=11}b:do if((l|0)==11){n=d[q>>0]|0;o=n>>>3;if((o+-16|o+(r>>26))>>>0>7){l=19;break a}o=n+-128|r<<6;n=s+-1|0;if((o|0)<0){t=q;u=o;v=n;while(1){t=t+1|0;if(!v){p=u;break b}w=a[t>>0]|0;if((w&-64)<<24>>24!=-128){l=19;break a}x=(w&255)+-128|u<<6;w=v+-1|0;if((x|0)>=0){y=w;z=x;break}else{u=x;v=w}}}else{y=n;z=o}c[j>>2]=0;c[m>>2]=z;k=f-y|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==19){c[j>>2]=0;c[(Xp()|0)>>2]=84;k=-1}Ca=h;return k|0}function yr(){return Hq()|0}function zr(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0&1;return b|0}function Ar(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ca;Ca=Ca+48|0;f=e+32|0;g=e+16|0;h=e;if(ir(59066,a[d>>0]|0)|0){i=Br(d)|0;c[h>>2]=b;c[h+4>>2]=i|32768;c[h+8>>2]=438;b=Wp($(5,h|0)|0)|0;if((b|0)>=0){if(i&524288|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;_(221,g|0)|0}g=Cr(b,d)|0;if(!g){c[f>>2]=b;ba(6,f|0)|0;j=0}else j=g}else j=0}else{c[(Xp()|0)>>2]=22;j=0}Ca=e;return j|0}function Br(b){b=b|0;var c=0,d=0,e=0,f=0;c=(ir(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(ir(b,120)|0)==0;f=c?e:e|128;e=(ir(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function Cr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ca;Ca=Ca+64|0;f=e+40|0;g=e+24|0;h=e+16|0;i=e;j=e+56|0;if(ir(59066,a[d>>0]|0)|0){k=Np(1156)|0;if(!k)l=0;else{Ps(k|0,0,124)|0;if(!(ir(d,43)|0))c[k>>2]=(a[d>>0]|0)==114?8:4;if(ir(d,101)|0){c[i>>2]=b;c[i+4>>2]=2;c[i+8>>2]=1;_(221,i|0)|0}if((a[d>>0]|0)==97){c[h>>2]=b;c[h+4>>2]=3;d=_(221,h|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;_(221,g|0)|0}g=c[k>>2]|128;c[k>>2]=g;m=g}else m=c[k>>2]|0;c[k+60>>2]=b;c[k+44>>2]=k+132;c[k+48>>2]=1024;g=k+75|0;a[g>>0]=-1;if((m&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21523,c[f+8>>2]=j,(aa(54,f|0)|0)==0):0)a[g>>0]=10;c[k+32>>2]=6;c[k+36>>2]=5;c[k+40>>2]=2;c[k+12>>2]=1;if(!(c[1277183]|0))c[k+76>>2]=-1;Dr(k)|0;l=k}}else{c[(Xp()|0)>>2]=22;l=0}Ca=e;return l|0}function Dr(a){a=a|0;var b=0,d=0;b=Er()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;Fr();return a|0}function Er(){T(5108796);return 5108804}function Fr(){ca(5108796);return}function Gr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>-1)b=rq(a)|0;else b=0;Hr(a);d=(c[a>>2]&1|0)!=0;if(!d){e=Er()|0;f=c[a+52>>2]|0;g=a+56|0;if(f|0)c[f+56>>2]=c[g>>2];h=c[g>>2]|0;if(h|0)c[h+52>>2]=f;if((c[e>>2]|0)==(a|0))c[e>>2]=h;Fr()}h=Ir(a)|0;e=Ga[c[a+12>>2]&127](a)|0|h;h=c[a+92>>2]|0;if(h|0)Op(h);if(d){if(b|0)sq(a)}else Op(a);return e|0}function Hr(a){a=a|0;var b=0,d=0,e=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;d=a+112|0;if(b|0)c[b+112>>2]=c[d>>2];a=c[d>>2]|0;if(!a)e=(Kr()|0)+232|0;else e=a+116|0;c[e>>2]=b}return}function Ir(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Jr(a)|0;break}d=(rq(a)|0)==0;e=Jr(a)|0;if(d)b=e;else{sq(a);b=e}}else{if(!(c[8430]|0))f=0;else f=Ir(c[8430]|0)|0;e=c[(Er()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=rq(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=Jr(d)|0|e;else i=e;if(h|0)sq(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}Fr();b=g}while(0);return b|0}function Jr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(Ia[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0>>0)Ia[c[a+40>>2]&7](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Kr(){return Hq()|0}function Lr(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(rq(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else{sq(a);e=d}}else e=(c[a>>2]|0)>>>4&1;return e|0}function Mr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=d;d=Nr(a,b,f)|0;Ca=e;return d|0}function Nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ca;Ca=Ca+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f+32>>2]=7;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=Pr(f,b,d)|0;Ca=e;return a|0}function Or(a,b,c){a=a|0;b=b|0;c=c|0;return Sr(a,b,c)|0}function Pr(e,h,i){e=e|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,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,$=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,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.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;j=Ca;Ca=Ca+288|0;k=j+264|0;l=j;m=j+260|0;n=j+272|0;if((c[e+76>>2]|0)>-1)o=rq(e)|0;else o=0;p=a[h>>0]|0;a:do if(p<<24>>24){q=e+4|0;r=e+100|0;s=e+108|0;t=e+8|0;u=l+10|0;v=l+33|0;w=l+46|0;x=l+94|0;y=k+4|0;z=h;A=0;B=0;C=0;E=p;F=0;b:while(1){c:do if(!(Vq(E&255)|0)){G=(a[z>>0]|0)==37;d:do if(G){H=z+1|0;I=a[H>>0]|0;e:do switch(I<<24>>24){case 37:{break d;break}case 42:{J=0;K=z+2|0;break}default:{if(lq(I&255)|0?(a[z+2>>0]|0)==36:0){J=Qr(i,(d[H>>0]|0)+-48|0)|0;K=z+3|0;break e}L=(c[i>>2]|0)+(4-1)&~(4-1);M=c[L>>2]|0;c[i>>2]=L+4;J=M;K=H}}while(0);if(!(lq(d[K>>0]|0)|0)){N=0;O=K}else{H=0;I=K;while(1){M=(H*10|0)+-48+(d[I>>0]|0)|0;L=I+1|0;if(!(lq(d[L>>0]|0)|0)){N=M;O=L;break}else{H=M;I=L}}}I=a[O>>0]|0;H=O+1|0;if(I<<24>>24==109){P=(J|0)!=0&1;Q=0;R=H;S=O+2|0;T=a[H>>0]|0;U=0}else{P=0;Q=C;R=O;S=H;T=I;U=F}switch(T<<24>>24){case 104:{I=(a[S>>0]|0)==104;V=I?-2:-1;W=I?R+2|0:S;break}case 108:{I=(a[S>>0]|0)==108;V=I?3:1;W=I?R+2|0:S;break}case 106:{V=3;W=S;break}case 116:case 122:{V=1;W=S;break}case 76:{V=2;W=S;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:{V=0;W=R;break}default:{X=Q;Y=U;Z=143;break b}}I=d[W>>0]|0;H=(I&47|0)==3;L=H?I|32:I;I=H?1:V;H=L&255;switch(H<<24>>24){case 99:{_=(N|0)>1?N:1;$=A;break}case 91:{_=N;$=A;break}case 110:{Rr(J,I,A,((A|0)<0)<<31>>31);aa=W;ba=B;ca=A;da=Q;ea=U;break c;break}default:{Sq(e,0);do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;fa=d[M>>0]|0}else fa=Uq(e)|0}while((Vq(fa)|0)!=0);if(!(c[r>>2]|0))ga=c[q>>2]|0;else{M=(c[q>>2]|0)+-1|0;c[q>>2]=M;ga=M}_=N;$=(c[s>>2]|0)+A+ga-(c[t>>2]|0)|0}}Sq(e,_);M=c[q>>2]|0;ha=c[r>>2]|0;if(M>>>0>>0){c[q>>2]=M+1;ia=ha}else{if((Uq(e)|0)<0){X=Q;Y=U;Z=143;break b}ia=c[r>>2]|0}if(ia|0)c[q>>2]=(c[q>>2]|0)+-1;f:do switch(H<<24>>24){case 91:case 99:case 115:{ha=(L|0)==99;g:do if((L|16|0)==115){Ps(l|0,-1,257)|0;a[l>>0]=0;if((L|0)==115){a[v>>0]=0;b[u>>1]=0;b[u+2>>1]=0;a[u+4>>0]=0;ja=W}else ja=W}else{M=W+1|0;ka=(a[M>>0]|0)==94;la=ka&1;ma=ka?W+2|0:M;Ps(l|0,la|0,257)|0;a[l>>0]=0;switch(a[ma>>0]|0){case 45:{M=(la^1)&255;a[w>>0]=M;na=ma+1|0;oa=M;break}case 93:{M=(la^1)&255;a[x>>0]=M;na=ma+1|0;oa=M;break}default:{na=ma;oa=(la^1)&255}}la=na;while(1){ma=a[la>>0]|0;h:do switch(ma<<24>>24){case 0:{X=Q;Y=U;Z=143;break b;break}case 93:{ja=la;break g;break}case 45:{M=la+1|0;ka=a[M>>0]|0;switch(ka<<24>>24){case 93:case 0:{pa=la;qa=45;break h;break}default:{}}ra=a[la+-1>>0]|0;if((ra&255)<(ka&255)){sa=ra&255;do{sa=sa+1|0;a[l+sa>>0]=oa;ra=a[M>>0]|0}while(sa>>>0<(ra&255)>>>0);pa=M;qa=ra}else{pa=M;qa=ka}break}default:{pa=la;qa=ma}}while(0);a[l+((qa&255)+1)>>0]=oa;la=pa+1|0}}while(0);la=ha?_+1|0:31;ma=(I|0)==1;sa=(P|0)!=0;i:do if(ma){if(sa){ra=Np(la<<2)|0;if(!ra){X=0;Y=0;Z=143;break b}else ta=ra}else ta=J;c[k>>2]=0;c[y>>2]=0;ra=la;ua=0;va=ta;j:while(1){wa=(va|0)==0;xa=ua;while(1){k:while(1){ya=c[q>>2]|0;if(ya>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ya+1;za=d[ya>>0]|0}else za=Uq(e)|0;if(!(a[l+(za+1)>>0]|0))break j;a[n>>0]=za;switch(xr(m,n,1,k)|0){case -1:{X=0;Y=va;Z=143;break b;break}case -2:break;default:break k}}if(wa)Aa=xa;else{c[va+(xa<<2)>>2]=c[m>>2];Aa=xa+1|0}if(sa&(Aa|0)==(ra|0))break;else xa=Aa}ra=ra<<1|1;wa=Qp(va,ra<<2)|0;if(!wa){X=0;Y=va;Z=143;break b}else{ua=Aa;va=wa}}if(!(zr(k)|0)){X=0;Y=va;Z=143;break b}else{Ba=xa;Da=0;Ea=va;Fa=va}}else{if(sa){ua=Np(la)|0;if(!ua){X=0;Y=0;Z=143;break b}ra=la;wa=0;ka=ua;while(1){ua=wa;do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;Ga=d[M>>0]|0}else Ga=Uq(e)|0;if(!(a[l+(Ga+1)>>0]|0)){Ba=ua;Da=ka;Ea=0;Fa=0;break i}M=ua;ua=ua+1|0;a[ka+M>>0]=Ga}while((ua|0)!=(ra|0));ra=ra<<1|1;M=Qp(ka,ra)|0;if(!M){X=ka;Y=0;Z=143;break b}else{wa=ua;ka=M}}}if(!J)while(1){ka=c[q>>2]|0;if(ka>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ka+1;Ha=d[ka>>0]|0}else Ha=Uq(e)|0;if(!(a[l+(Ha+1)>>0]|0)){Ba=0;Da=0;Ea=0;Fa=0;break i}}ka=0;while(1){wa=c[q>>2]|0;if(wa>>>0<(c[r>>2]|0)>>>0){c[q>>2]=wa+1;Ia=d[wa>>0]|0}else Ia=Uq(e)|0;if(!(a[l+(Ia+1)>>0]|0)){Ba=ka;Da=J;Ea=0;Fa=0;break i}a[J+ka>>0]=Ia;ka=ka+1|0}}while(0);if(!(c[r>>2]|0))Ja=c[q>>2]|0;else{la=(c[q>>2]|0)+-1|0;c[q>>2]=la;Ja=la}la=Ja-(c[t>>2]|0)+(c[s>>2]|0)|0;if(!la){Ka=Da;La=P;Ma=B;Na=Fa;break b}if(!((la|0)==(_|0)|ha^1)){Ka=Da;La=P;Ma=B;Na=Fa;break b}do if(sa)if(ma){c[J>>2]=Ea;break}else{c[J>>2]=Da;break}while(0);if(ha){Oa=ja;Pa=Da;Qa=Fa}else{if(Ea|0)c[Ea+(Ba<<2)>>2]=0;if(!Da){Oa=ja;Pa=0;Qa=Fa;break f}a[Da+Ba>>0]=0;Oa=ja;Pa=Da;Qa=Fa}break}case 120:case 88:case 112:{Ra=16;Z=131;break}case 111:{Ra=8;Z=131;break}case 117:case 100:{Ra=10;Z=131;break}case 105:{Ra=0;Z=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Sa=+rr(e,I,0);if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if(!J){Oa=W;Pa=Q;Qa=U}else switch(I|0){case 0:{f[J>>2]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 1:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 2:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}default:{Oa=W;Pa=Q;Qa=U;break f}}break}default:{Oa=W;Pa=Q;Qa=U}}while(0);do if((Z|0)==131){Z=0;H=Tq(e,Ra,0,-1,-1)|0;ma=D()|0;if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if((J|0)!=0&(L|0)==112){c[J>>2]=H;Oa=W;Pa=Q;Qa=U;break}else{Rr(J,I,H,ma);Oa=W;Pa=Q;Qa=U;break}}while(0);aa=Oa;ba=B+((J|0)!=0&1)|0;ca=(c[s>>2]|0)+$+(c[q>>2]|0)-(c[t>>2]|0)|0;da=Pa;ea=Qa;break c}while(0);I=z+(G&1)|0;Sq(e,0);L=c[q>>2]|0;if(L>>>0<(c[r>>2]|0)>>>0){c[q>>2]=L+1;Ta=d[L>>0]|0}else Ta=Uq(e)|0;if((Ta|0)!=(d[I>>0]|0)){Z=23;break b}aa=I;ba=B;ca=A+1|0;da=C;ea=F}else{I=z;while(1){L=I+1|0;if(!(Vq(d[L>>0]|0)|0))break;else I=L}Sq(e,0);do{G=c[q>>2]|0;if(G>>>0<(c[r>>2]|0)>>>0){c[q>>2]=G+1;Ua=d[G>>0]|0}else Ua=Uq(e)|0}while((Vq(Ua)|0)!=0);if(!(c[r>>2]|0))Va=c[q>>2]|0;else{G=(c[q>>2]|0)+-1|0;c[q>>2]=G;Va=G}aa=I;ba=B;ca=(c[s>>2]|0)+A+Va-(c[t>>2]|0)|0;da=C;ea=F}while(0);z=aa+1|0;E=a[z>>0]|0;if(!(E<<24>>24)){Wa=ba;break a}else{A=ca;B=ba;C=da;F=ea}}if((Z|0)==23){if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if((B|0)!=0|(Ta|0)>-1){Wa=B;break}else{Xa=0;Ya=C;Za=F;Z=144}}else if((Z|0)==143)if(!B){Xa=P;Ya=X;Za=Y;Z=144}else{Ka=X;La=P;Ma=B;Na=Y}if((Z|0)==144){Ka=Ya;La=Xa;Ma=-1;Na=Za}if(!La)Wa=Ma;else{Op(Ka);Op(Na);Wa=Ma}}else Wa=0;while(0);if(o|0)sq(e);Ca=j;return Wa|0}function Qr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ca;Ca=Ca+16|0;e=d;c[e>>2]=c[a>>2];a=b;while(1){b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}Ca=d;return f|0}function Rr(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a;break}case -1:{b[d>>1]=f;break a;break}case 0:{c[d>>2]=f;break a;break}case 1:{c[d>>2]=f;break a;break}case 3:{h=d;c[h>>2]=f;c[h+4>>2]=g;break a;break}default:break a}while(0);return}function Sr(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+84|0;f=c[e>>2]|0;g=d+256|0;h=Aq(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0>>0?i:d;Os(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function Tr(a,b,c){a=a|0;b=b|0;c=c|0;return Vr(a,b,c)|0}function Ur(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ca;Ca=Ca+16|0;f=e;c[f>>2]=d;d=pq(a,b,f)|0;Ca=e;return d|0}function Vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){e=(rq(a)|0)==0;f=Wr(a,b,d)|0;if(e)g=f;else{sq(a);g=f}}else g=Wr(a,b,d)|0;return g|0}function Wr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==1)e=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;else e=b;b=a+20|0;f=a+28|0;if((c[b>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Ia[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)g=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[b>>2]=0;if((Ia[c[a+40>>2]&7](a,e,d)|0)<0)g=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;g=0}}return g|0}function Xr(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c>>0]|0;do if(d<<24>>24){e=ir(b,d<<24>>24)|0;if(e)if(a[c+1>>0]|0)if(a[e+1>>0]|0){if(!(a[c+2>>0]|0)){f=Yr(e,c)|0;break}if(a[e+2>>0]|0){if(!(a[c+3>>0]|0)){f=Zr(e,c)|0;break}if(a[e+3>>0]|0)if(!(a[c+4>>0]|0)){f=_r(e,c)|0;break}else{f=$r(e,c)|0;break}else f=0}else f=0}else f=0;else f=e;else f=0}else f=b;while(0);return f|0}function Yr(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;f=a[c>>0]|0;a:do if(!(f<<24>>24))g=0;else{h=(d[b>>0]|0)<<8|f&255;i=c;while(1){j=h&65535;if((j|0)==(e|0))break;k=i+1|0;l=a[k>>0]|0;if(!(l<<24>>24)){g=0;break a}else{h=j<<8|l&255;i=k}}g=i+-1|0}while(0);return g|0}function Zr(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;c=b+2|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(f&255)<<8;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=(c|f&255)<<8;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-2|0)|0}function _r(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|f&255;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=c<<8|f&255;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-3|0)|0}function $r(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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Ca;Ca=Ca+1056|0;g=f+1024|0;h=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;i=a[e>>0]|0;a:do if(i<<24>>24){j=0;k=i;do{if(!(a[b+j>>0]|0)){l=0;break a}m=k&255;n=g+(m>>>5<<2)|0;c[n>>2]=c[n>>2]|1<<(m&31);j=j+1|0;c[h+(m<<2)>>2]=j;k=a[e+j>>0]|0}while(k<<24>>24!=0);k=j>>>0>1;if(k){m=1;n=1;o=0;p=-1;q=1;while(1){r=a[e+(n+p)>>0]|0;s=a[e+q>>0]|0;do if(r<<24>>24==s<<24>>24)if((n|0)==(m|0)){t=m;u=1;v=m+o|0;w=p;break}else{t=m;u=n+1|0;v=o;w=p;break}else if((r&255)>(s&255)){t=q-p|0;u=1;v=q;w=p;break}else{t=1;u=1;v=o+1|0;w=o;break}while(0);q=u+v|0;if(q>>>0>=j>>>0)break;else{m=t;n=u;o=v;p=w}}if(k){p=1;o=1;n=0;m=-1;q=1;while(1){s=a[e+(o+m)>>0]|0;r=a[e+q>>0]|0;do if(s<<24>>24==r<<24>>24)if((o|0)==(p|0)){x=p;y=1;z=p+n|0;A=m;break}else{x=p;y=o+1|0;z=n;A=m;break}else if((s&255)<(r&255)){x=q-m|0;y=1;z=q;A=m;break}else{x=1;y=1;z=n+1|0;A=n;break}while(0);q=y+z|0;if(q>>>0>=j>>>0){B=t;C=w;D=j;E=x;F=A;G=25;break}else{p=x;o=y;n=z;m=A}}}else{B=t;C=w;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=0;E=1;F=-1;G=25}while(0);b:do if((G|0)==25){w=(F+1|0)>>>0>(C+1|0)>>>0;t=w?E:B;A=w?F:C;w=A+1|0;if(!(jq(e,e+t|0,w)|0)){z=D-t|0;H=z;I=t;J=z}else{z=D-A+-1|0;t=(A>>>0>z>>>0?A:z)+1|0;H=0;I=t;J=D-t|0}t=D|63;z=D+-1|0;y=(H|0)!=0;x=b;v=0;u=b;while(1){i=x;do if((u-i|0)>>>0>>0){m=Aq(u,0,t)|0;if(m)if((m-i|0)>>>0>>0){l=0;break b}else{K=m;break}else{K=u+t|0;break}}else K=u;while(0);i=d[x+z>>0]|0;c:do if(!(1<<(i&31)&c[g+(i>>>5<<2)>>2])){L=0;M=D}else{m=D-(c[h+(i<<2)>>2]|0)|0;if(m|0){L=0;M=y&(v|0)!=0&m>>>0>>0?J:m;break}m=w>>>0>v>>>0;n=m?w:v;o=a[e+n>>0]|0;d:do if(o<<24>>24){p=n;q=o;while(1){if(q<<24>>24!=(a[x+p>>0]|0))break;k=p+1|0;q=a[e+k>>0]|0;if(!(q<<24>>24))break d;else p=k}L=0;M=p-A|0;break c}while(0);if(!m){l=x;break b}o=w;while(1){o=o+-1|0;if((a[e+o>>0]|0)!=(a[x+o>>0]|0)){L=H;M=I;break c}if(o>>>0<=v>>>0){l=x;break b}}}while(0);x=x+M|0;v=L;u=K}}while(0);Ca=f;return l|0}function as(a,b){a=a|0;b=b|0;var c=0;c=Yq(a)|0;return ((bs(a,1,c,b)|0)!=(c|0))<<31>>31|0}function bs(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=z(d,b)|0;g=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){d=(rq(e)|0)==0;h=Pq(a,f,e)|0;if(d)i=h;else{sq(e);i=h}}else i=Pq(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function cs(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;f=Ca;Ca=Ca+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(Qq(b)|0)){k=c[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=b+20|0;i=c[j>>2]|0;if(i>>>0>>0?(n=e&255,(n|0)!=(a[b+75>>0]|0)):0){c[j>>2]=i+1;a[i>>0]=h;m=n;break}if((Ia[c[b+36>>2]&7](b,g,1)|0)==1)m=d[g>>0]|0;else m=-1}while(0);Ca=f;return m|0}function ds(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;f=d;a:do if(!((f^b)&3)){g=(e|0)!=0;if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=j;m=h;break a}k=h+-1|0;n=i+1|0;o=j+1|0;p=(k|0)!=0;if(p&(n&3|0)!=0){h=k;i=n;j=o}else{q=k;r=n;s=o;t=p;break}}}else{q=e;r=d;s=b;t=g}if(t)if(!(a[r>>0]|0)){l=s;m=q}else{b:do if(q>>>0>3){j=s;i=r;h=q;while(1){p=c[i>>2]|0;if((p&-2139062144^-2139062144)&p+-16843009|0){u=i;v=j;w=h;break b}c[j>>2]=p;p=h+-4|0;o=i+4|0;n=j+4|0;if(p>>>0>3){j=n;i=o;h=p}else{u=o;v=n;w=p;break}}}else{u=r;v=s;w=q}while(0);x=u;y=v;z=w;A=13}else{l=s;m=0}}else{x=d;y=b;z=e;A=13}while(0);c:do if((A|0)==13)if(!z){l=y;m=0}else{e=x;b=y;d=z;while(1){s=a[e>>0]|0;a[b>>0]=s;if(!(s<<24>>24)){l=b;m=d;break c}d=d+-1|0;s=b+1|0;if(!d){l=s;m=0;break}else{e=e+1|0;b=s}}}while(0);Ps(l|0,0,m|0)|0;return l|0}function es(a,b,c){a=a|0;b=b|0;c=c|0;ds(a,b,c)|0;return a|0}function fs(b,c){b=b|0;c=c|0;var d=0;d=b+(wr(b,c)|0)|0;return ((a[d>>0]|0)==0?0:d)|0}function gs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(rq(d)|0)!=0:0){e=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=e;i=f}else i=cs(d,b)|0;sq(d);j=i}else k=3;do if((k|0)==3){i=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(e=d+20|0,h=c[e>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=h+1;a[h>>0]=i;j=f;break}j=cs(d,b)|0}while(0);return j|0}function hs(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(rq(a)|0)==0;d=is(a)|0;if(b)e=d;else{sq(a);e=d}}else e=is(a)|0;return e|0}function is(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=Ia[c[a+40>>2]&7](a,0,b)|0;if((d|0)<0)e=d;else e=d-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return e|0}function js(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[8398]|0;if((c[d+76>>2]|0)>-1)e=rq(d)|0;else e=0;do if((as(b,d)|0)<0)f=-1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(cs(d,10)|0)>>31}while(0);if(e|0)sq(d);return f|0}function ks(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(rq(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;f=d[e>>0]|0}else f=Wq(a)|0;sq(a);g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=Wq(a)|0;break}}while(0);return g|0}function ls(a){a=a|0;return hs(a)|0}function ms(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;g=z(e,d)|0;h=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)i=rq(f)|0;else i=0;e=f+74|0;j=a[e>>0]|0;a[e>>0]=j+255|j;j=f+4|0;e=c[j>>2]|0;k=(c[f+8>>2]|0)-e|0;if((k|0)>0){l=k>>>0>>0?k:g;Os(b|0,e|0,l|0)|0;c[j>>2]=(c[j>>2]|0)+l;m=g-l|0;n=b+l|0}else{m=g;n=b}a:do if(!m)o=13;else{b=f+32|0;l=n;j=m;while(1){if(Xq(f)|0)break;e=Ia[c[b>>2]&7](f,l,j)|0;if((e+1|0)>>>0<2)break;k=j-e|0;if(!k){o=13;break a}else{l=l+e|0;j=k}}if(i|0)sq(f);p=((g-j|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{sq(f);p=h}return p|0}function ns(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(rq(a)|0)==0;Wr(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)sq(a)}else{Wr(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function os(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ca;Ca=Ca+16|0;e=d;c[e>>2]=b;b=pq(c[8398]|0,a,e)|0;Ca=d;return b|0}function ps(a,b,c){a=a|0;b=b|0;c=c|0;return Oq(a,b)|0}function qs(a,b){a=a|0;b=b|0;rs()|0;return ps(a,b,0)|0}function rs(){return Hq()|0}function ss(a){a=a|0;var b=0;if(!(ts(a)|0))b=(lq(a)|0)!=0&1;else b=1;return b|0}function ts(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function us(){return 34100}function vs(){S(5108824);return}function ws(){return 5108808}function xs(){return 5108816}function ys(){return 5108820}function zs(){return 5108824}function As(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C(b+d+(e>>>0>>0|0)>>>0|0),e|0)|0}function Bs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (C(e|0),a-c>>>0|0)|0}function Cs(a){a=a|0;return (a?31-(A(a^a-1)|0)|0:32)|0}function Ds(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (C(n|0),o)|0}else{if(!m){n=0;o=0;return (C(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (C(n|0),o)|0}}m=(l|0)==0;do if(j){if(!m){p=(A(l|0)|0)-(A(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C(n|0),o)|0}r=j-1|0;if(r&j|0){s=(A(j|0)|0)+33-(A(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;B=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&B;v=B&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (C(n|0),o)|0}else{r=Cs(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (C(n|0),o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (C(n|0),o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (C(n|0),o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Cs(l|0)|0)>>>0);return (C(n|0),o)|0}r=(A(l|0)|0)-(A(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C(n|0),o)|0}while(0);if(!t){E=x;F=w;G=v;H=u;I=0;J=0}else{b=d|0|0;d=k|e&0;e=As(b|0,d|0,-1,-1)|0;k=D()|0;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Bs(e|0,k|0,g|0,a|0)|0;i=D()|0;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Bs(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=D()|0;u=u-1|0}while((u|0)!=0);E=h;F=x;G=w;H=v;I=0;J=t}t=F;F=0;if(f|0){c[f>>2]=H;c[f+4>>2]=G}n=(t|0)>>>31|(E|F)<<1|(F<<1|t>>>31)&0|I;o=(t<<1|0>>>31)&-2|J;return (C(n|0),o)|0}function Es(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Bs(e^a|0,f^b|0,e|0,f|0)|0;b=D()|0;a=g^e;e=h^f;return Bs((Ds(i,b,Bs(g^c|0,h^d|0,g|0,h|0)|0,D()|0,0)|0)^a|0,(D()|0)^e|0,a|0,e|0)|0}function Fs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=z(d,c)|0;f=a>>>16;a=(e>>>16)+(z(d,f)|0)|0;d=b>>>16;b=z(d,c)|0;return (C((a>>>16)+(z(d,f)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|e&65535|0)|0}function Gs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Fs(e,a)|0;f=D()|0;return (C((z(b,a)|0)+(z(d,e)|0)+f|f&0|0),c|0|0)|0}function Hs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ds(a,b,c,d,0)|0}function Is(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function Js(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;l=l+1|0;c[a>>2]=l;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=l;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;C(e|0);return d|0}f=f+1|0}e=e*2|0;d=Qp(d|0,8*(e+1|0)|0)|0;d=Ls(a|0,b|0,d|0,e|0)|0;C(e|0);return d|0}function Ms(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function Ns(a,b){a=a|0;b=b|0;if(!j){j=a;k=b}}function Os(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){oa(b|0,d|0,e|0)|0;return b|0}f=b|0;g=b+e|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}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Ps(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;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=d|d<<8|d<<16|d<<24;i=g-64|0;while((b|0)<=(i|0)){c[b>>2]=h;c[b+4>>2]=h;c[b+8>>2]=h;c[b+12>>2]=h;c[b+16>>2]=h;c[b+20>>2]=h;c[b+24>>2]=h;c[b+28>>2]=h;c[b+32>>2]=h;c[b+36>>2]=h;c[b+40>>2]=h;c[b+44>>2]=h;c[b+48>>2]=h;c[b+52>>2]=h;c[b+56>>2]=h;c[b+60>>2]=h;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Qs(a){a=a|0;var b=0,d=0;b=c[i>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){Ba(d|0)|0;U(12);return -1}if((d|0)>(ma()|0)){if(!(pa(d|0)|0)){U(12);return -1}}else c[i>>2]=d;return b|0}function Rs(a){a=a|0;return Fa[a&0]()|0}function Ss(a,b){a=a|0;b=b|0;return Ga[a&127](b|0)|0}function Ts(a,b,c){a=a|0;b=b|0;c=c|0;return Ha[a&3](b|0,c|0)|0}function Us(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ia[a&7](b|0,c|0,d|0)|0}function Vs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja[a&1](b|0,c|0,d|0,e|0)|0}function Ws(a){a=a|0;Ka[a&1]()}function Xs(a,b){a=a|0;b=b|0;La[a&1](b|0)}function Ys(a,b,c){a=a|0;b=b|0;c=c|0;Ma[a&7](b|0,c|0)}function Zs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Na[a&1](b|0,c|0,d|0)}function _s(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Oa[a&0](b|0,c|0,d|0,e|0,f|0)}function $s(){B(0);return 0}function at(a){a=a|0;B(1);return 0}function bt(a,b){a=a|0;b=b|0;B(2);return 0}function ct(a,b,c){a=a|0;b=b|0;c=c|0;B(3);return 0}function dt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;B(4);return 0}function et(){B(5)}function ft(a){a=a|0;B(6)}function gt(a,b){a=a|0;b=b|0;B(7)}function ht(a,b,c){a=a|0;b=b|0;c=c|0;B(8)}function it(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;B(9)} +function Xm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,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,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;h=Ca;Ca=Ca+144|0;i=h+88|0;j=h+44|0;k=h;l=f<<3;m=e+g|0;g=f+-2|0;e=f+-4|0;n=i+8|0;o=i+4|0;p=i+12|0;q=i+20|0;r=i+16|0;s=i+24|0;t=i+32|0;u=i+28|0;v=j+8|0;w=j+4|0;x=j+12|0;y=j+20|0;z=j+16|0;A=j+24|0;B=j+32|0;C=j+28|0;D=i+40|0;E=b+4|0;F=b+8|0;G=j+40|0;H=k+8|0;I=k+4|0;J=k+12|0;K=k+20|0;L=k+16|0;M=k+24|0;N=k+32|0;O=k+28|0;P=k+40|0;Q=k+36|0;R=i+36|0;S=j+36|0;T=0;U=0;a:while(1){V=U+2|0;if(V>>>0>=l>>>0){W=52;X=125;break}Y=d[m+(U>>>3)>>0]|0;Z=U&7;_=U+1|0;$=U+3|0;aa=((d[m+(V>>>3)>>0]|0)>>>(V&7)<<1|(d[m+(_>>>3)>>0]|0)>>>(_&7)&1)&255;switch(aa&3){case 3:{W=20;X=125;break a;break}case 0:{if(!($&7))ba=$;else{_=$;while(1){V=_+1|0;if(!(V&7)){ba=V;break}else _=V}}_=ba>>>3;if(_>>>0>=e>>>0){W=52;X=125;break a}V=(d[m+(_+1)>>0]|0)<<8|(d[m+_>>0]|0);ca=_+4|0;if((((d[m+(_+3)>>0]|0)<<8|(d[m+(_+2)>>0]|0))+V|0)!=65535){W=21;X=125;break a}_=V+T|0;if(_>>>0>=(c[E>>2]|0)>>>0){if((c[F>>2]|0)>>>0<_>>>0){da=_<<1;ea=Gn(c[b>>2]|0,da)|0;if(!ea){W=9915;X=125;break a}c[F>>2]=da;c[b>>2]=ea}c[E>>2]=_}ea=V+ca|0;if(ea>>>0>f>>>0){W=23;X=125;break a}if(!V){fa=ca;ga=T}else{da=0;ha=ca;ca=T;while(1){a[(c[b>>2]|0)+ca>>0]=a[m+ha>>0]|0;da=da+1|0;if((da|0)==(V|0)){fa=ea;ga=_;break}else{ha=ha+1|0;ca=ca+1|0}}}ia=fa<<3;ja=ga;break}default:{ca=i;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));ca=j;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));switch(aa&3){case 1:{Ym(i);Zm(j);ka=0;la=$;break}case 2:{ca=k;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));aa=$>>>3;b:do if(aa>>>0>>0){_=U+4|0;ea=U+5|0;V=U+6|0;da=U+7|0;ma=(d[m+(_>>>3)>>0]|0)>>>(_&7)<<1&2|(d[m+aa>>0]|0)>>>($&7)&1|(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<2&4|(d[m+(V>>>3)>>0]|0)>>>(V&7)<<3&8|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<4&16;da=U+8|0;V=ma+257|0;ea=U+9|0;_=U+10|0;na=U+11|0;oa=U+12|0;pa=(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<1&2|(d[m+(da>>>3)>>0]|0)>>>(da&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(na>>>3)>>0]|0)>>>(na&7)<<3&8|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)<<4&16;oa=U+13|0;na=U+14|0;_=U+15|0;da=U+16|0;ea=U+17|0;qa=((d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<3&8)+4|0;da=Gn(0,152)|0;do if(!da){ra=9911;sa=ea;ta=0}else{_=0;oa=ea;while(1){if(_>>>0>>0){na=oa+1|0;ua=oa+2|0;va=oa+3|0;wa=(d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(ua>>>3)>>0]|0)>>>(ua&7)<<2&4}else{va=oa;wa=0}c[da+(c[27200+(_<<2)>>2]<<2)>>2]=wa;_=_+1|0;if((_|0)==19)break;else oa=va}if((c[N>>2]|0)>>>0<76){oa=Gn(c[M>>2]|0,152)|0;if(!oa){ra=9903;sa=va;ta=da;break}c[N>>2]=152;c[M>>2]=oa;c[O>>2]=19;xa=oa}else{c[O>>2]=19;xa=c[M>>2]|0}c[xa>>2]=c[da>>2];c[xa+4>>2]=c[da+4>>2];c[xa+8>>2]=c[da+8>>2];c[xa+12>>2]=c[da+12>>2];c[xa+16>>2]=c[da+16>>2];c[xa+20>>2]=c[da+20>>2];c[xa+24>>2]=c[da+24>>2];c[xa+28>>2]=c[da+28>>2];c[xa+32>>2]=c[da+32>>2];c[xa+36>>2]=c[da+36>>2];c[xa+40>>2]=c[da+40>>2];c[xa+44>>2]=c[da+44>>2];c[xa+48>>2]=c[da+48>>2];c[xa+52>>2]=c[da+52>>2];c[xa+56>>2]=c[da+56>>2];c[xa+60>>2]=c[da+60>>2];c[xa+64>>2]=c[da+64>>2];c[xa+68>>2]=c[da+68>>2];c[xa+72>>2]=c[da+72>>2];c[P>>2]=19;c[Q>>2]=7;oa=_m(k)|0;Hn(da);if(oa|0){ya=oa;za=va;break b}oa=Gn(0,2304)|0;if(!oa){Aa=0;Ba=0;Da=0}else{Ps(oa|0,0,1152)|0;Aa=oa;Ba=288;Da=oa}oa=Gn(0,256)|0;c:do if(oa){ca=oa;ha=ca+128|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));if(Aa){_=ma+258+pa|0;do if(_){ua=c[k>>2]|0;na=c[P>>2]|0;Ea=-258-ma|0;Fa=0;Ga=0;Ha=va;d:while(1){if(Ha>>>0>l>>>0){Ia=Ha;X=59;break}Ja=0;Ka=Ha;while(1){La=c[ua+(((d[m+(Ka>>>3)>>0]|0)>>>(Ka&7)&1|Ja<<1)<<2)>>2]|0;Ma=Ka+1|0;if(La>>>0>>0)break;Ja=La-na|0;if(Ka>>>0>=l>>>0|Ja>>>0>=na>>>0){Ia=Ma;X=59;break d}else Ka=Ma}e:do if(La>>>0<16){c[(Fa>>>0>>0?Aa+(Fa<<2)|0:oa+(Fa-V<<2)|0)>>2]=La;Na=Ga;Oa=Ma;Pa=Fa+1|0}else switch(La|0){case 16:{Ja=Ma>>>3;if(Ja>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ta=Ka+2|0;Ua=Ka+3|0;Va=((d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<1&2|(d[m+Ja>>0]|0)>>>(Ma&7)&1)+3|0;Ja=Fa+-1|0;Ta=c[(Ja>>>0>>0?Aa+(Ja<<2)|0:oa+(Ea+Fa<<2)|0)>>2]|0;Ja=0;Wa=Fa;while(1){if(Wa>>>0>=_>>>0){Na=13;Oa=Ua;Pa=Wa;break e}c[(Wa>>>0>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=Ta;Xa=Wa+1|0;Ja=Ja+1|0;if(Ja>>>0>=Va>>>0){Na=Ga;Oa=Ua;Pa=Xa;break}else Wa=Xa}break}case 17:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ua=Ka+2|0;Va=Ka+3|0;Ja=Ka+4|0;Ta=((d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<2&4)+3|0;Va=0;Wa=Fa;while(1){if(Wa>>>0>=_>>>0){Na=14;Oa=Ja;Pa=Wa;break e}c[(Wa>>>0>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=0;Ua=Wa+1|0;Va=Va+1|0;if(Va>>>0>=Ta>>>0){Na=Ga;Oa=Ja;Pa=Ua;break}else Wa=Ua}break}case 18:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ja=Ka+2|0;Ta=Ka+3|0;Va=Ka+4|0;Ua=Ka+5|0;Xa=Ka+6|0;Ya=Ka+7|0;Za=Ka+8|0;_a=((d[m+(Ja>>>3)>>0]|0)>>>(Ja&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<2&4|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<3&8|(d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<4&16|(d[m+(Xa>>>3)>>0]|0)>>>(Xa&7)<<5&32|(d[m+(Ya>>>3)>>0]|0)>>>(Ya&7)<<6&64)+11|0;if(!_a){Na=Ga;Oa=Za;Pa=Fa;break e}Ya=0;Xa=Fa;while(1){if(Xa>>>0>=_>>>0){Na=15;Oa=Za;Pa=Xa;break e}c[(Xa>>>0>>0?Aa+(Xa<<2)|0:oa+(Xa-V<<2)|0)>>2]=0;Ua=Xa+1|0;Ya=Ya+1|0;if(Ya>>>0>=_a>>>0){Na=Ga;Oa=Za;Pa=Ua;break}else Xa=Ua}break}default:{Qa=Ma;Ra=16;Sa=oa;break c}}while(0);if(Pa>>>0<_>>>0){Fa=Pa;Ga=Na;Ha=Oa}else{X=61;break}}if((X|0)==59){X=0;Qa=Ia;Ra=Ia>>>0>l>>>0?10:11;Sa=oa;break c}else if((X|0)==61){X=0;if(!Na){$a=Oa;break}else{Qa=Oa;Ra=Na;Sa=oa;break c}}}else $a=va;while(0);if(c[Aa+1024>>2]|0){if(Ba<<2>>>0>(c[t>>2]|0)>>>0){_=Ba<<3;Ha=Gn(c[s>>2]|0,_)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[t>>2]=_;c[s>>2]=Ha}c[u>>2]=Ba;if(Ba|0){Ha=c[s>>2]|0;_=0;do{c[Ha+(_<<2)>>2]=c[Aa+(_<<2)>>2];_=_+1|0}while((_|0)!=(Ba|0))}c[D>>2]=Ba;c[R>>2]=15;_=_m(i)|0;if(!_){if((c[B>>2]|0)>>>0<128){Ha=Gn(c[A>>2]|0,256)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[B>>2]=256;c[A>>2]=Ha;c[C>>2]=32;ab=Ha}else{c[C>>2]=32;ab=c[A>>2]|0}c[ab>>2]=c[oa>>2];c[ab+4>>2]=c[oa+4>>2];c[ab+8>>2]=c[oa+8>>2];c[ab+12>>2]=c[oa+12>>2];c[ab+16>>2]=c[oa+16>>2];c[ab+20>>2]=c[oa+20>>2];c[ab+24>>2]=c[oa+24>>2];c[ab+28>>2]=c[oa+28>>2];c[ab+32>>2]=c[oa+32>>2];c[ab+36>>2]=c[oa+36>>2];c[ab+40>>2]=c[oa+40>>2];c[ab+44>>2]=c[oa+44>>2];c[ab+48>>2]=c[oa+48>>2];c[ab+52>>2]=c[oa+52>>2];c[ab+56>>2]=c[oa+56>>2];c[ab+60>>2]=c[oa+60>>2];c[ab+64>>2]=c[oa+64>>2];c[ab+68>>2]=c[oa+68>>2];c[ab+72>>2]=c[oa+72>>2];c[ab+76>>2]=c[oa+76>>2];c[ab+80>>2]=c[oa+80>>2];c[ab+84>>2]=c[oa+84>>2];c[ab+88>>2]=c[oa+88>>2];c[ab+92>>2]=c[oa+92>>2];c[ab+96>>2]=c[oa+96>>2];c[ab+100>>2]=c[oa+100>>2];c[ab+104>>2]=c[oa+104>>2];c[ab+108>>2]=c[oa+108>>2];c[ab+112>>2]=c[oa+112>>2];c[ab+116>>2]=c[oa+116>>2];c[ab+120>>2]=c[oa+120>>2];c[ab+124>>2]=c[oa+124>>2];c[G>>2]=32;c[S>>2]=15;Qa=$a;Ra=_m(j)|0;Sa=oa}else{Qa=$a;Ra=_;Sa=oa}}else{Qa=$a;Ra=64;Sa=oa}}else{Qa=va;Ra=9912;Sa=oa}}else{Qa=va;Ra=9912;Sa=0}while(0);Hn(Da);Hn(Sa);ya=Ra;za=Qa;break b}while(0);Hn(ta);ya=ra;za=sa}else{ya=49;za=$}while(0);c[H>>2]=0;c[I>>2]=0;Hn(c[k>>2]|0);c[k>>2]=0;c[K>>2]=0;c[L>>2]=0;Hn(c[J>>2]|0);c[J>>2]=0;c[N>>2]=0;c[O>>2]=0;Hn(c[M>>2]|0);ka=ya;la=za;break}default:{ka=0;la=$}}f:do if(la>>>0<=l>>>0){ca=c[i>>2]|0;ha=c[D>>2]|0;aa=c[j>>2]|0;V=c[G>>2]|0;ma=T;pa=la;g:while(1){da=0;qa=pa;while(1){bb=c[ca+(((d[m+(qa>>>3)>>0]|0)>>>(qa&7)&1|da<<1)<<2)>>2]|0;cb=qa+1|0;if(bb>>>0>>0)break;da=bb-ha|0;if(cb>>>0>l>>>0|da>>>0>=ha>>>0){db=cb;eb=ma;X=115;break f}else qa=cb}if(bb>>>0>=256){if(!((bb|0)!=256&bb>>>0<286)){X=114;break}qa=bb+-257|0;if(cb>>>3>>>0>=f>>>0){fb=cb;gb=51;X=118;break}da=c[27280+(qa<<2)>>2]|0;ea=c[27408+(qa<<2)>>2]|0;if((bb+-265|0)>>>0>19){hb=0;ib=cb}else{qa=0;oa=0;_=cb;while(1){qa=(((d[m+(_>>>3)>>0]|0)>>>(_&7)&1)<>>0>l>>>0){jb=ib;X=100;break}oa=0;Ha=ib;while(1){kb=c[aa+(((d[m+(Ha>>>3)>>0]|0)>>>(Ha&7)&1|oa<<1)<<2)>>2]|0;lb=Ha+1|0;if(kb>>>0>>0)break;oa=kb-V|0;if(Ha>>>0>=l>>>0|oa>>>0>=V>>>0){jb=lb;X=100;break g}else Ha=lb}if(kb>>>0>29){jb=lb;X=100;break}if(lb>>>3>>>0>=f>>>0){fb=lb;gb=51;X=118;break}Ha=c[27536+(kb<<2)>>2]|0;oa=c[27664+(kb<<2)>>2]|0;if(kb>>>0<4){mb=0;nb=lb}else{da=0;qa=0;Ga=lb;while(1){da=(((d[m+(Ga>>>3)>>0]|0)>>>(Ga&7)&1)<>>0>=(c[E>>2]|0)>>>0){Fa=qa<<1;if((c[F>>2]|0)>>>0>>0){Ea=qa<<2;qa=Gn(c[b>>2]|0,Ea)|0;if(!qa){fb=nb;gb=9914;X=118;break}c[F>>2]=Ea;c[b>>2]=qa}c[E>>2]=Fa}if(!_){ob=nb;pb=ma}else{Fa=ma+hb|0;qa=Ga;Ea=0;na=ma;while(1){ua=c[b>>2]|0;a[ua+na>>0]=a[ua+qa>>0]|0;ua=qa+1|0;Ea=Ea+1|0;if((Ea|0)==(_|0))break;else{qa=ua>>>0>>0?ua:Ga;na=na+1|0}}ob=nb;pb=Fa+ea|0}}else{if(ma>>>0>=(c[E>>2]|0)>>>0){na=(ma<<1)+2|0;if((c[F>>2]|0)>>>0>>0){Ga=na<<1;qa=Gn(c[b>>2]|0,Ga)|0;if(!qa){fb=cb;gb=9913;X=118;break}c[F>>2]=Ga;c[b>>2]=qa}c[E>>2]=na}a[(c[b>>2]|0)+ma>>0]=bb;ob=cb;pb=ma+1|0}if(ob>>>0>l>>>0){db=ob;eb=pb;X=115;break f}else{ma=pb;pa=ob}}if((X|0)==100){X=0;qb=jb;rb=(bb|0)==-1?(jb>>>0>l>>>0?10:11):18;sb=ma;tb=ca;break}else if((X|0)==114){X=0;if((bb|0)==256){qb=cb;rb=ka;sb=ma;tb=ca;break}else{db=cb;eb=ma;X=115;break}}else if((X|0)==118){X=0;qb=fb;rb=gb;sb=ma;tb=ca;break}}else{db=la;eb=T;X=115}while(0);if((X|0)==115){X=0;qb=db;rb=db>>>0>l>>>0?10:11;sb=eb;tb=c[i>>2]|0}c[n>>2]=0;c[o>>2]=0;Hn(tb);c[i>>2]=0;c[q>>2]=0;c[r>>2]=0;Hn(c[p>>2]|0);c[p>>2]=0;c[t>>2]=0;c[u>>2]=0;Hn(c[s>>2]|0);c[v>>2]=0;c[w>>2]=0;Hn(c[j>>2]|0);c[j>>2]=0;c[y>>2]=0;c[z>>2]=0;Hn(c[x>>2]|0);c[x>>2]=0;c[B>>2]=0;c[C>>2]=0;Hn(c[A>>2]|0);if(!rb){ia=qb;ja=sb}else{W=rb;X=125;break a}}}if(!(1<>2]|0)>>>0>=ja>>>0){c[E>>2]=ja;W=0;Ca=h;return W|0}ia=ja<<1;U=Gn(c[b>>2]|0,ia)|0;if(!U){W=9916;Ca=h;return W|0}c[F>>2]=ia;c[b>>2]=U;c[E>>2]=ja;W=0;Ca=h;return W|0}else if((X|0)==125){Ca=h;return W|0}return 0}function Ym(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=Gn(0,2304)|0;if(!b){d=0;Hn(d);return}e=0;do{c[b+(e<<2)>>2]=8;e=e+1|0}while((e|0)!=144);e=144;do{c[b+(e<<2)>>2]=9;e=e+1|0}while((e|0)!=256);c[b+1024>>2]=7;c[b+1028>>2]=7;c[b+1032>>2]=7;c[b+1036>>2]=7;c[b+1040>>2]=7;c[b+1044>>2]=7;c[b+1048>>2]=7;c[b+1052>>2]=7;c[b+1056>>2]=7;c[b+1060>>2]=7;c[b+1064>>2]=7;c[b+1068>>2]=7;c[b+1072>>2]=7;c[b+1076>>2]=7;c[b+1080>>2]=7;c[b+1084>>2]=7;c[b+1088>>2]=7;c[b+1092>>2]=7;c[b+1096>>2]=7;c[b+1100>>2]=7;c[b+1104>>2]=7;c[b+1108>>2]=7;c[b+1112>>2]=7;c[b+1116>>2]=7;c[b+1120>>2]=8;c[b+1124>>2]=8;c[b+1128>>2]=8;c[b+1132>>2]=8;c[b+1136>>2]=8;c[b+1140>>2]=8;c[b+1144>>2]=8;c[b+1148>>2]=8;e=a+24|0;f=a+32|0;do if((c[f>>2]|0)>>>0<1152){g=Gn(c[e>>2]|0,2304)|0;if(!g){d=b;Hn(d);return}else{c[f>>2]=2304;c[e>>2]=g;c[a+28>>2]=288;h=g;break}}else{c[a+28>>2]=288;h=c[e>>2]|0}while(0);e=0;do{c[h+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}while((e|0)!=288);c[a+40>>2]=288;c[a+36>>2]=15;_m(a)|0;d=b;Hn(d);return}function Zm(a){a=a|0;var b=0,d=0;b=Gn(0,256)|0;if(!b){d=0;Hn(d);return}c[b>>2]=5;c[b+4>>2]=5;c[b+8>>2]=5;c[b+12>>2]=5;c[b+16>>2]=5;c[b+20>>2]=5;c[b+24>>2]=5;c[b+28>>2]=5;c[b+32>>2]=5;c[b+36>>2]=5;c[b+40>>2]=5;c[b+44>>2]=5;c[b+48>>2]=5;c[b+52>>2]=5;c[b+56>>2]=5;c[b+60>>2]=5;c[b+64>>2]=5;c[b+68>>2]=5;c[b+72>>2]=5;c[b+76>>2]=5;c[b+80>>2]=5;c[b+84>>2]=5;c[b+88>>2]=5;c[b+92>>2]=5;c[b+96>>2]=5;c[b+100>>2]=5;c[b+104>>2]=5;c[b+108>>2]=5;c[b+112>>2]=5;c[b+116>>2]=5;c[b+120>>2]=5;c[b+124>>2]=5;$m(a,b,32,15)|0;d=b;Hn(d);return}function _m(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;b=a+12|0;d=a+40|0;e=c[d>>2]|0;f=a+20|0;if(e<<2>>>0>(c[f>>2]|0)>>>0){g=e<<3;h=Gn(c[b>>2]|0,g)|0;if(!h)i=0;else{c[f>>2]=g;c[b>>2]=h;j=4}}else j=4;do if((j|0)==4){c[a+16>>2]=e;h=a+36|0;g=(c[h>>2]|0)+1|0;f=g<<2;if(!f){k=0;l=0}else{m=Gn(0,g<<3)|0;if(!m){i=0;break}k=m;l=m}if(g|0)Ps(l|0,0,f|0)|0;f=(c[h>>2]|0)+1|0;g=f<<2;if(!g){n=0;o=0}else{m=Gn(0,f<<3)|0;if(!m){i=l;break}n=m;o=m}if(f|0)Ps(o|0,0,g|0)|0;if(!(c[d>>2]|0))p=0;else{g=c[a+24>>2]|0;f=0;do{m=k+(c[g+(f<<2)>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0;m=c[d>>2]|0}while(f>>>0>>0);p=m}if(!(c[h>>2]|0))q=p;else{f=1;g=c[n>>2]|0;do{g=(c[k+(f+-1<<2)>>2]|0)+g<<1;c[n+(f<<2)>>2]=g;f=f+1|0}while(f>>>0<=(c[h>>2]|0)>>>0);q=c[d>>2]|0}if(q|0){h=c[a+24>>2]|0;f=0;g=q;while(1){m=c[h+(f<<2)>>2]|0;if(!m)r=g;else{s=n+(m<<2)|0;m=c[s>>2]|0;c[s>>2]=m+1;c[(c[b>>2]|0)+(f<<2)>>2]=m;r=c[d>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else g=r}}Hn(l);Hn(o);g=c[d>>2]|0;f=g<<1;h=a+8|0;do if(g<<3>>>0>(c[h>>2]|0)>>>0){m=g<<4;s=Gn(c[a>>2]|0,m)|0;if(!s){t=9901;return t|0}else{c[h>>2]=m;c[a>>2]=s;c[a+4>>2]=f;u=c[d>>2]|0;break}}else{c[a+4>>2]=f;u=g}while(0);if(!(u&2147483647))v=u;else{g=c[a>>2]|0;f=0;do{c[g+(f<<2)>>2]=32767;f=f+1|0;h=c[d>>2]|0}while(f>>>0>>0);v=h}if(!v){t=0;return t|0}f=c[a+24>>2]|0;g=a+12|0;h=0;s=0;m=0;w=v;a:while(1){x=f+(m<<2)|0;y=c[x>>2]|0;b:do if(!y){z=h;A=s;B=w}else{if(h>>>0>(w+-2|0)>>>0){t=55;j=52;break a}C=(c[g>>2]|0)+(m<<2)|0;D=c[a>>2]|0;E=0;F=h;G=s;H=y;I=w;while(1){J=D+(((c[C>>2]|0)>>>(H+~E|0)&1|F<<1)<<2)|0;K=c[J>>2]|0;do if((K|0)==32767){L=E+1|0;if((L|0)==(H|0)){c[J>>2]=m;M=0;N=G;O=H;break}else{P=G+1|0;c[J>>2]=P+I;M=P;N=P;O=L;break}}else{M=K-I|0;N=G;O=E+1|0}while(0);H=c[x>>2]|0;I=c[d>>2]|0;if(H>>>0<=O>>>0){z=M;A=N;B=I;break b}if(M>>>0>(I+-2|0)>>>0){t=55;j=52;break a}else{E=O;F=M;G=N}}}while(0);m=m+1|0;if(m>>>0>=B>>>0){j=46;break}else{h=z;s=A;w=B}}if((j|0)==46){if(!(B&2147483647)){t=0;return t|0}w=c[a>>2]|0;s=0;h=B;while(1){m=w+(s<<2)|0;if((c[m>>2]|0)==32767){c[m>>2]=0;Q=c[d>>2]|0}else Q=h;s=s+1|0;if(s>>>0>=Q<<1>>>0){t=0;break}else h=Q}return t|0}else if((j|0)==52)return t|0}while(0);Hn(i);Hn(0);t=9902;return t|0}function $m(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+24|0;g=a+32|0;do if(d<<2>>>0>(c[g>>2]|0)>>>0){h=d<<3;i=Gn(c[f>>2]|0,h)|0;if(!i){j=9903;return j|0}else{c[g>>2]=h;c[f>>2]=i;break}}while(0);c[a+28>>2]=d;if(d|0){g=c[f>>2]|0;f=0;do{c[g+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}c[a+40>>2]=d;c[a+36>>2]=e;j=_m(a)|0;return j|0}function an(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,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,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0;h=Ca;Ca=Ca+192|0;i=h+136|0;j=h+92|0;k=h+48|0;l=h+4|0;m=h;switch(c[g>>2]|0){case 0:{n=f>>>16;o=b+4|0;p=b+8|0;q=0;r=0;while(1){s=(q|0)==(n|0);t=s&1;u=c[o>>2]|0;v=u+1|0;if((c[p>>2]|0)>>>0>>0){w=v<<1;x=Gn(c[b>>2]|0,w)|0;if(x|0){c[p>>2]=w;c[b>>2]=x;y=x;z=7}}else{y=c[b>>2]|0;z=7}if((z|0)==7){z=0;c[o>>2]=v;a[y+u>>0]=t}t=f-r|0;u=t>>>0<65535?t:65535;t=u^65535;v=u&255;x=c[o>>2]|0;w=x+1|0;if((c[p>>2]|0)>>>0>>0){A=w<<1;B=Gn(c[b>>2]|0,A)|0;if(B|0){c[p>>2]=A;c[b>>2]=B;C=B;z=12}}else{C=c[b>>2]|0;z=12}if((z|0)==12){z=0;c[o>>2]=w;a[C+x>>0]=v}v=u>>>8&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0>>0){w=x<<1;B=Gn(c[b>>2]|0,w)|0;if(B|0){c[p>>2]=w;c[b>>2]=B;D=B;z=17}}else{D=c[b>>2]|0;z=17}if((z|0)==17){z=0;c[o>>2]=x;a[D+u>>0]=v}v=t&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0>>0){B=x<<1;w=Gn(c[b>>2]|0,B)|0;if(w|0){c[p>>2]=B;c[b>>2]=w;E=w;z=22}}else{E=c[b>>2]|0;z=22}if((z|0)==22){z=0;c[o>>2]=x;a[E+u>>0]=v}v=t>>>8&255;t=c[o>>2]|0;u=t+1|0;if((c[p>>2]|0)>>>0>>0){x=u<<1;w=Gn(c[b>>2]|0,x)|0;if(w|0){c[p>>2]=x;c[b>>2]=w;F=w;z=27}}else{F=c[b>>2]|0;z=27}if((z|0)==27){z=0;c[o>>2]=u;a[F+t>>0]=v}if(r>>>0>>0){v=0;t=r;while(1){u=t+1|0;w=a[e+t>>0]|0;x=c[o>>2]|0;B=x+1|0;if((c[p>>2]|0)>>>0>>0){A=B<<1;G=Gn(c[b>>2]|0,A)|0;if(G|0){c[p>>2]=A;c[b>>2]=G;H=G;z=34}}else{H=c[b>>2]|0;z=34}if((z|0)==34){z=0;c[o>>2]=B;a[H+x>>0]=w}v=v+1|0;if(!(v>>>0<65535&u>>>0>>0)){I=u;break}else t=u}}else I=r;if(s){J=0;break}else{q=q+1|0;r=I}}Ca=h;return J|0}case 1:{c[k>>2]=0;K=i;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));Ym(i);Zm(j);I=b+4|0;r=c[I>>2]|0;q=r+1|0;H=b+8|0;if((c[H>>2]|0)>>>0>>0){o=q<<1;p=Gn(c[b>>2]|0,o)|0;if(!p)M=b;else{c[H>>2]=o;c[b>>2]=p;N=b;O=p;z=41}}else{N=b;O=c[b>>2]|0;z=41}if((z|0)==41){c[I>>2]=q;a[O+r>>0]=0;M=N}N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|1;N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|2;N=(c[g+4>>2]|0)==0;c[k>>2]=3;do if(N)if(!f)z=60;else{r=c[i+12>>2]|0;O=c[i+24>>2]|0;q=0;p=3;while(1){o=d[e+q>>0]|0;F=c[r+(o<<2)>>2]|0;E=c[O+(o<<2)>>2]|0;if(!E)P=p;else{o=E+-1|0;D=0;C=p;while(1){y=F>>>(o-D|0)&1;n=C&7;do if(!n){t=c[I>>2]|0;v=t+1|0;if((c[H>>2]|0)>>>0>>0){u=v<<1;w=Gn(c[M>>2]|0,u)|0;if(!w)break;c[H>>2]=u;c[M>>2]=w;Q=w}else Q=c[M>>2]|0;c[I>>2]=v;a[Q+t>>0]=0}while(0);t=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[t>>0]=y<>0]|0);D=D+1|0;if((D|0)==(E|0))break;else C=C+1|0}P=E+p|0}q=q+1|0;if((q|0)==(f|0))break;else p=P}c[k>>2]=P;z=60}else{c[l>>2]=0;p=l+8|0;c[p>>2]=0;q=l+4|0;c[q>>2]=0;O=bn(l,e,f,c[g+8>>2]|0)|0;if(!O){cn(k,b,l,i,j);c[p>>2]=0;c[q>>2]=0;Hn(c[l>>2]|0);z=60;break}else{c[p>>2]=0;c[q>>2]=0;Hn(c[l>>2]|0);R=O;S=c[i+12>>2]|0;T=c[i+24>>2]|0;break}}while(0);if((z|0)==60){P=c[i+12>>2]|0;Q=c[P+1024>>2]|0;N=c[i+24>>2]|0;O=c[N+1024>>2]|0;if(!O){R=0;S=P;T=N}else{q=O+-1|0;p=c[k>>2]|0;r=0;s=p;while(1){C=Q>>>(q-r|0)&1;D=s&7;do if(!D){o=c[I>>2]|0;F=o+1|0;if((c[H>>2]|0)>>>0>>0){t=F<<1;v=Gn(c[M>>2]|0,t)|0;if(!v)break;c[H>>2]=t;c[M>>2]=v;U=v}else U=c[M>>2]|0;c[I>>2]=F;a[U+o>>0]=0}while(0);o=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[o>>0]=C<>0]|0);r=r+1|0;if((r|0)==(O|0))break;else s=s+1|0}c[k>>2]=p+O;R=0;S=P;T=N}}c[i+8>>2]=0;c[i+4>>2]=0;Hn(c[i>>2]|0);Hn(S);Hn(T);c[j+8>>2]=0;c[j+4>>2]=0;Hn(c[j>>2]|0);c[j>>2]=0;T=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;Hn(c[T>>2]|0);c[T>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;Hn(c[j+24>>2]|0);J=R;Ca=h;return J|0}case 2:{c[m>>2]=0;c[i>>2]=0;R=i+8|0;c[R>>2]=0;T=i+4|0;c[T>>2]=0;K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=k;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=l;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));do if(!(c[g+4>>2]|0)){if(!(f&1073741823))V=0;else{S=f<<3;N=Gn(0,S)|0;if(!N){W=9923;X=0;Y=0;Z=0;_=0;$=0;aa=0;break}c[R>>2]=S;c[i>>2]=N;V=N}c[T>>2]=f;if(!f)z=79;else{N=0;do{c[V+(N<<2)>>2]=d[e+N>>0];N=N+1|0}while((N|0)!=(f|0));z=79}}else{N=bn(i,e,f,c[g+8>>2]|0)|0;if(!N)z=79;else{W=N;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);a:do if((z|0)==79){g=Gn(0,2288)|0;if(g){Ps(g|0,0,1144)|0;f=Gn(0,240)|0;if(f){K=f;L=K+120|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));e=c[T>>2]|0;if(e|0){V=c[i>>2]|0;N=0;do{D=c[V+(N<<2)>>2]|0;C=g+(D<<2)|0;c[C>>2]=(c[C>>2]|0)+1;if(D>>>0>256){D=f+(c[V+(N+2<<2)>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)+1;ba=N+3|0}else ba=N;N=ba+1|0}while(N>>>0>>0)}c[g+1024>>2]=1;e=dn(j,g,286,15)|0;if(!e){N=dn(k,f,30,15)|0;if(!N){V=c[m>>2]&7;D=b+4|0;do if(!V){C=c[D>>2]|0;S=C+1|0;P=b+8|0;if((c[P>>2]|0)>>>0>>0){O=S<<1;p=Gn(c[b>>2]|0,O)|0;if(!p){ca=0;break}c[P>>2]=O;c[b>>2]=p;da=p}else da=c[b>>2]|0;c[D>>2]=S;a[da+C>>0]=0;ca=c[m>>2]&7}else ca=V;while(0);V=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[V>>0]=1<>0]|0);V=(c[m>>2]|0)+1|0;c[m>>2]=V;do if(!(V&7)){C=c[D>>2]|0;S=C+1|0;p=b+8|0;if((c[p>>2]|0)>>>0>>0){O=S<<1;P=Gn(c[b>>2]|0,O)|0;if(!P){ea=V;break}c[p>>2]=O;c[b>>2]=P;fa=P}else fa=c[b>>2]|0;c[D>>2]=S;a[fa+C>>0]=0;ea=c[m>>2]|0}else ea=V;while(0);V=c[b>>2]|0;C=c[D>>2]|0;S=ea+1|0;c[m>>2]=S;P=S&7;do if(!P){S=C+1|0;O=b+8|0;if((c[O>>2]|0)>>>0>>0){p=S<<1;s=Gn(V,p)|0;if(!s){ga=0;break}c[O>>2]=p;c[b>>2]=s;ha=s}else ha=V;c[D>>2]=S;a[ha+C>>0]=0;ga=c[m>>2]&7}else ga=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=1<>0]|0);c[m>>2]=(c[m>>2]|0)+1;P=c[j+40>>2]|0;C=P>>>0<286?P:286;P=c[k+40>>2]|0;V=P>>>0<30?P:30;if(!C){ia=0;ja=0;ka=0;la=0;ma=0}else{P=c[j+24>>2]|0;S=0;s=0;p=0;O=0;r=0;I=0;M=0;while(1){U=c[P+(S<<2)>>2]|0;H=p+1|0;if(H<<2>>>0>O>>>0){q=H<<3;Q=Gn(M,q)|0;if(!Q){na=s;oa=p;pa=O;qa=I;ra=r;sa=M}else{ta=Q;ua=q;va=Q;wa=Q;xa=Q;z=110}}else{ta=s;ua=O;va=I;wa=r;xa=M;z=110}if((z|0)==110){z=0;c[ta+(p<<2)>>2]=U;na=ta;oa=H;pa=ua;qa=va;ra=wa;sa=xa}S=S+1|0;if(S>>>0>=C>>>0){ia=ra;ja=qa;ka=na;la=oa;ma=pa;break}else{s=na;p=oa;O=pa;r=ra;I=qa;M=sa}}}if(!V){ya=ja;za=ka;Aa=la}else{M=c[k+24>>2]|0;I=0;r=ka;O=la;p=ma;s=ja;S=ia;while(1){P=c[M+(I<<2)>>2]|0;H=O+1|0;if(H<<2>>>0>p>>>0){U=H<<3;Q=Gn(S,U)|0;if(!Q){Ba=r;Da=O;Ea=p;Fa=s;Ga=S}else{Ha=Q;Ia=U;Ja=Q;Ka=Q;z=117}}else{Ha=r;Ia=p;Ja=s;Ka=S;z=117}if((z|0)==117){z=0;c[Ha+(O<<2)>>2]=P;Ba=Ha;Da=H;Ea=Ia;Fa=Ja;Ga=Ka}I=I+1|0;if(I>>>0>=V>>>0){ya=Fa;za=Ba;Aa=Da;break}else{r=Ba;O=Da;p=Ea;s=Fa;S=Ga}}}if(!Aa){La=0;Ma=0;Na=0}else{S=0;s=0;p=0;O=0;r=0;I=0;M=0;H=0;P=0;Q=0;U=0;q=0;o=0;F=0;v=0;while(1){t=S+1|0;w=c[za+(S<<2)>>2]|0;do if(t>>>0>>0){u=S+2|0;x=0;B=t;while(1){if((c[za+(B<<2)>>2]|0)!=(w|0)){Oa=x;break}G=x+1|0;B=u+x|0;if(B>>>0>=Aa>>>0){Oa=G;break}else x=G}if((w|0)==0&Oa>>>0>1){x=Oa+1|0;do if(x>>>0<11){B=p+1|0;u=B<<2;do if(u>>>0>O>>>0){n=B<<3;y=Gn(q,n)|0;if(!y){Pa=B;Qa=u;Ra=s;Sa=p;Ta=O;Ua=U;Va=v;Wa=Q;Xa=P;Ya=H;Za=M;_a=F;$a=I;ab=o;bb=q;cb=r;break}db=y;eb=n;fb=y;gb=y;hb=y;ib=y;jb=y;kb=y;lb=y;mb=y;nb=y;ob=y;pb=y;z=130}else{db=s;eb=O;fb=U;gb=v;hb=Q;ib=P;jb=H;kb=M;lb=F;mb=I;nb=o;ob=r;pb=q;z=130}while(0);if((z|0)==130){z=0;c[db+(p<<2)>>2]=17;u=p+2|0;Pa=u;Qa=u<<2;Ra=db;Sa=B;Ta=eb;Ua=fb;Va=gb;Wa=hb;Xa=ib;Ya=jb;Za=kb;_a=lb;$a=mb;ab=nb;bb=pb;cb=ob}u=Oa+-2|0;if(Qa>>>0>Ta>>>0){y=Pa<<3;n=Gn(cb,y)|0;if(!n){qb=x;rb=Ra;sb=Sa;tb=Ta;ub=Ua;vb=Va;wb=Wa;xb=Xa;yb=Ya;zb=Za;Ab=_a;Bb=$a;Cb=ab;Db=cb;Eb=bb;break}Fb=n;Gb=y;Hb=n;Ib=n;Jb=n;Kb=n;Lb=n;Mb=n;Nb=n;Ob=n;Pb=n;Qb=n;Rb=n}else{Fb=Ra;Gb=Ta;Hb=Ua;Ib=Va;Jb=Wa;Kb=Xa;Lb=Ya;Mb=Za;Nb=_a;Ob=$a;Pb=ab;Qb=cb;Rb=bb}c[Fb+(Sa<<2)>>2]=u;qb=x;rb=Fb;sb=Pa;tb=Gb;ub=Hb;vb=Ib;wb=Jb;xb=Kb;yb=Lb;zb=Mb;Ab=Nb;Bb=Ob;Cb=Pb;Db=Qb;Eb=Rb}else{u=x>>>0<138?x:138;n=p+1|0;y=n<<2;do if(y>>>0>O>>>0){G=n<<3;A=Gn(o,G)|0;if(!A){Sb=n;Tb=y;Ub=s;Vb=p;Wb=O;Xb=U;Yb=v;Zb=Q;_b=P;$b=H;ac=M;bc=F;cc=o;dc=r;ec=q;fc=I;break}gc=A;hc=G;ic=A;jc=A;kc=A;lc=A;mc=A;nc=A;oc=A;pc=A;qc=A;rc=A;sc=A;z=138}else{gc=s;hc=O;ic=U;jc=v;kc=Q;lc=P;mc=H;nc=M;oc=F;pc=I;qc=o;rc=r;sc=q;z=138}while(0);if((z|0)==138){z=0;c[gc+(p<<2)>>2]=18;y=p+2|0;Sb=y;Tb=y<<2;Ub=gc;Vb=n;Wb=hc;Xb=ic;Yb=jc;Zb=kc;_b=lc;$b=mc;ac=nc;bc=oc;cc=qc;dc=rc;ec=sc;fc=pc}y=u+-11|0;if(Tb>>>0>Wb>>>0){B=Sb<<3;A=Gn(fc,B)|0;if(!A){qb=u;rb=Ub;sb=Vb;tb=Wb;ub=Xb;vb=Yb;wb=Zb;xb=_b;yb=$b;zb=ac;Ab=bc;Bb=fc;Cb=cc;Db=dc;Eb=ec;break}tc=A;uc=B;vc=A;wc=A;xc=A;yc=A;zc=A;Ac=A;Bc=A;Cc=A;Dc=A;Ec=A;Fc=A}else{tc=Ub;uc=Wb;vc=Xb;wc=Yb;xc=Zb;yc=_b;zc=$b;Ac=ac;Bc=bc;Cc=fc;Dc=cc;Ec=dc;Fc=ec}c[tc+(Vb<<2)>>2]=y;qb=u;rb=tc;sb=Sb;tb=uc;ub=vc;vb=wc;wb=xc;xb=yc;yb=zc;zb=Ac;Ab=Bc;Bb=Cc;Cb=Dc;Db=Ec;Eb=Fc}while(0);Gc=S+-1+qb|0;Hc=rb;Ic=sb;Jc=tb;Kc=ub;Lc=vb;Mc=wb;Nc=xb;Oc=yb;Pc=zb;Qc=Ab;Rc=Bb;Sc=Cb;Tc=Db;Uc=Eb;break}if(Oa>>>0>2){x=(Oa>>>0)/6|0;y=Oa-(x*6|0)|0;A=p+1|0;do if(A<<2>>>0>O>>>0){B=A<<3;G=Gn(F,B)|0;if(!G){Vc=s;Wc=p;Xc=O;Yc=U;Zc=v;_c=Q;$c=P;ad=H;bd=M;cd=F;dd=I;ed=o;fd=r;gd=q;break}hd=G;id=B;jd=G;kd=G;ld=G;md=G;nd=G;od=G;pd=G;qd=G;rd=G;sd=G;td=G;z=148}else{hd=s;id=O;jd=U;kd=v;ld=Q;md=P;nd=H;od=M;pd=F;qd=I;rd=o;sd=r;td=q;z=148}while(0);if((z|0)==148){z=0;c[hd+(p<<2)>>2]=w;Vc=hd;Wc=A;Xc=id;Yc=jd;Zc=kd;_c=ld;$c=md;ad=nd;bd=od;cd=pd;dd=qd;ed=rd;fd=sd;gd=td}if(Oa>>>0>5){G=0;B=Vc;ud=Wc;vd=Xc;wd=gd;xd=fd;yd=ed;zd=dd;Ad=cd;Bd=ad;Cd=$c;Dd=_c;Ed=Zc;Fd=Yc;Gd=bd;while(1){Hd=ud+1|0;Id=Hd<<2;do if(Id>>>0>vd>>>0){Jd=Hd<<3;Kd=Gn(Gd,Jd)|0;if(!Kd){Ld=Hd;Md=Id;Nd=B;Od=ud;Pd=vd;Qd=Fd;Rd=Ed;Sd=Dd;Td=Cd;Ud=Gd;Vd=Ad;Wd=zd;Xd=yd;Yd=xd;Zd=wd;_d=Bd;break}$d=Kd;ae=Jd;be=Kd;ce=Kd;de=Kd;ee=Kd;fe=Kd;ge=Kd;he=Kd;ie=Kd;je=Kd;ke=Kd;le=Kd;z=154}else{$d=B;ae=vd;be=Fd;ce=Ed;de=Dd;ee=Cd;fe=Bd;ge=Gd;he=Ad;ie=zd;je=yd;ke=xd;le=wd;z=154}while(0);if((z|0)==154){z=0;c[$d+(ud<<2)>>2]=16;Id=ud+2|0;Ld=Id;Md=Id<<2;Nd=$d;Od=Hd;Pd=ae;Qd=be;Rd=ce;Sd=de;Td=ee;Ud=ge;Vd=he;Wd=ie;Xd=je;Yd=ke;Zd=le;_d=fe}do if(Md>>>0>Pd>>>0){Id=Ld<<3;u=Gn(_d,Id)|0;if(!u){me=Nd;ne=Od;oe=Pd;pe=Qd;qe=Rd;re=Sd;se=Td;te=_d;ue=Ud;ve=Vd;we=Wd;xe=Xd;ye=Yd;ze=Zd;break}Ae=u;Be=Id;Ce=u;De=u;Ee=u;Fe=u;Ge=u;He=u;Ie=u;Je=u;Ke=u;Le=u;Me=u;z=158}else{Ae=Nd;Be=Pd;Ce=Qd;De=Rd;Ee=Sd;Fe=Td;Ge=_d;He=Ud;Ie=Vd;Je=Wd;Ke=Xd;Le=Yd;Me=Zd;z=158}while(0);if((z|0)==158){z=0;c[Ae+(Od<<2)>>2]=3;me=Ae;ne=Ld;oe=Be;pe=Ce;qe=De;re=Ee;se=Fe;te=Ge;ue=He;ve=Ie;we=Je;xe=Ke;ye=Le;ze=Me}G=G+1|0;if(G>>>0>=x>>>0){Ne=ze;Oe=ye;Pe=xe;Qe=we;Re=ve;Se=ue;Te=te;Ue=se;Ve=re;We=qe;Xe=pe;Ye=me;Ze=ne;_e=oe;break}else{B=me;ud=ne;vd=oe;wd=ze;xd=ye;yd=xe;zd=we;Ad=ve;Bd=te;Cd=se;Dd=re;Ed=qe;Fd=pe;Gd=ue}}}else{Ne=gd;Oe=fd;Pe=ed;Qe=dd;Re=cd;Se=bd;Te=ad;Ue=$c;Ve=_c;We=Zc;Xe=Yc;Ye=Vc;Ze=Wc;_e=Xc}do if(y>>>0>2){Gd=Ze+1|0;Fd=Gd<<2;do if(Fd>>>0>_e>>>0){Ed=Gd<<3;Dd=Gn(Ue,Ed)|0;if(!Dd){$e=Gd;af=Fd;bf=Ye;cf=Ze;df=_e;ef=Xe;ff=We;gf=Ue;hf=Te;jf=Se;kf=Re;lf=Qe;mf=Pe;nf=Oe;of=Ne;pf=Ve;break}qf=Dd;rf=Ed;sf=Dd;tf=Dd;uf=Dd;vf=Dd;wf=Dd;xf=Dd;yf=Dd;zf=Dd;Af=Dd;Bf=Dd;Cf=Dd;z=164}else{qf=Ye;rf=_e;sf=Xe;tf=We;uf=Ve;vf=Ue;wf=Te;xf=Se;yf=Re;zf=Qe;Af=Pe;Bf=Oe;Cf=Ne;z=164}while(0);if((z|0)==164){z=0;c[qf+(Ze<<2)>>2]=16;Fd=Ze+2|0;$e=Fd;af=Fd<<2;bf=qf;cf=Gd;df=rf;ef=sf;ff=tf;gf=vf;hf=wf;jf=xf;kf=yf;lf=zf;mf=Af;nf=Bf;of=Cf;pf=uf}Fd=y+-3|0;if(af>>>0>df>>>0){Dd=$e<<3;Ed=Gn(pf,Dd)|0;if(!Ed){Df=Oa;Ef=bf;Ff=cf;Gf=df;Hf=ef;If=ff;Jf=pf;Kf=gf;Lf=hf;Mf=jf;Nf=kf;Of=lf;Pf=mf;Qf=nf;Rf=of;break}Sf=Ed;Tf=Dd;Uf=Ed;Vf=Ed;Wf=Ed;Xf=Ed;Yf=Ed;Zf=Ed;_f=Ed;$f=Ed;ag=Ed;bg=Ed;cg=Ed}else{Sf=bf;Tf=df;Uf=ef;Vf=ff;Wf=pf;Xf=gf;Yf=hf;Zf=jf;_f=kf;$f=lf;ag=mf;bg=nf;cg=of}c[Sf+(cf<<2)>>2]=Fd;Df=Oa;Ef=Sf;Ff=$e;Gf=Tf;Hf=Uf;If=Vf;Jf=Wf;Kf=Xf;Lf=Yf;Mf=Zf;Nf=_f;Of=$f;Pf=ag;Qf=bg;Rf=cg}else{Df=Oa-y|0;Ef=Ye;Ff=Ze;Gf=_e;Hf=Xe;If=We;Jf=Ve;Kf=Ue;Lf=Te;Mf=Se;Nf=Re;Of=Qe;Pf=Pe;Qf=Oe;Rf=Ne}while(0);Gc=Df+S|0;Hc=Ef;Ic=Ff;Jc=Gf;Kc=Hf;Lc=If;Mc=Jf;Nc=Kf;Oc=Lf;Pc=Mf;Qc=Nf;Rc=Of;Sc=Pf;Tc=Qf;Uc=Rf}else z=171}else z=171;while(0);do if((z|0)==171){z=0;t=p+1|0;if(t<<2>>>0>O>>>0){E=t<<3;y=Gn(v,E)|0;if(!y){Gc=S;Hc=s;Ic=p;Jc=O;Kc=U;Lc=v;Mc=Q;Nc=P;Oc=H;Pc=M;Qc=F;Rc=I;Sc=o;Tc=r;Uc=q;break}dg=y;eg=E;fg=y;gg=y;hg=y;ig=y;jg=y;kg=y;lg=y;mg=y;ng=y;og=y;pg=y}else{dg=s;eg=O;fg=U;gg=v;hg=Q;ig=P;jg=H;kg=M;lg=F;mg=I;ng=o;og=r;pg=q}c[dg+(p<<2)>>2]=w;Gc=S;Hc=dg;Ic=t;Jc=eg;Kc=fg;Lc=gg;Mc=hg;Nc=ig;Oc=jg;Pc=kg;Qc=lg;Rc=mg;Sc=ng;Tc=og;Uc=pg}while(0);S=Gc+1|0;if(S>>>0>=Aa>>>0){La=Kc;Ma=Hc;Na=Ic;break}else{s=Hc;p=Ic;O=Jc;r=Tc;I=Rc;M=Pc;H=Oc;P=Nc;Q=Mc;U=Kc;q=Uc;o=Sc;F=Qc;v=Lc}}}v=Gn(0,152)|0;if(v){K=v;L=K+76|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));F=(Na|0)==0;if(!F){o=0;do{q=Ma+(o<<2)|0;U=v+(c[q>>2]<<2)|0;c[U>>2]=(c[U>>2]|0)+1;o=o+1+((c[q>>2]|0)>>>0>15&1)|0}while(o>>>0>>0)}o=dn(l,v,19,7)|0;if(!o){q=Gn(0,152)|0;if(!q){W=9927;X=g;Y=f;Z=v;_=La;$=ya;aa=0}else{U=c[l+24>>2]|0;c[q>>2]=c[U+64>>2];c[q+4>>2]=c[U+68>>2];c[q+8>>2]=c[U+72>>2];c[q+12>>2]=c[U>>2];c[q+16>>2]=c[U+32>>2];c[q+20>>2]=c[U+28>>2];c[q+24>>2]=c[U+36>>2];c[q+28>>2]=c[U+24>>2];c[q+32>>2]=c[U+40>>2];c[q+36>>2]=c[U+20>>2];c[q+40>>2]=c[U+44>>2];c[q+44>>2]=c[U+16>>2];c[q+48>>2]=c[U+48>>2];c[q+52>>2]=c[U+12>>2];c[q+56>>2]=c[U+52>>2];c[q+60>>2]=c[U+8>>2];c[q+64>>2]=c[U+56>>2];c[q+68>>2]=c[U+4>>2];Q=c[U+60>>2]|0;c[q+72>>2]=Q;if(!Q){Q=q;P=152;H=q;M=18;I=q;while(1){if(M<<2>>>0>P>>>0){r=M<<3;O=Gn(I,r)|0;if(!O){W=9928;X=g;Y=f;Z=v;_=La;$=ya;aa=H;break a}qg=O;rg=r;sg=O;tg=O}else{qg=Q;rg=P;sg=H;tg=I}O=M+-1|0;if(M>>>0>4?(c[qg+(O<<2)>>2]|0)==0:0){Q=qg;P=rg;H=sg;M=O;I=tg}else{ug=sg;vg=qg;wg=M;break}}}else{ug=q;vg=q;wg=19}M=C+-257|0;I=V+-1|0;H=b+8|0;P=M&1;Q=c[m>>2]&7;do if(!Q){O=c[D>>2]|0;r=O+1|0;if((c[H>>2]|0)>>>0>>0){p=r<<1;s=Gn(c[b>>2]|0,p)|0;if(!s){xg=0;break}c[H>>2]=p;c[b>>2]=s;yg=s}else yg=c[b>>2]|0;c[D>>2]=r;a[yg+O>>0]=0;xg=c[m>>2]&7}else xg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=Gn(c[b>>2]|0,O)|0;if(!r){zg=0;break}c[H>>2]=O;c[b>>2]=r;Ag=r}else Ag=c[b>>2]|0;c[D>>2]=q;a[Ag+Q>>0]=0;zg=c[m>>2]&7}else zg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0>>0){r=q<<1;O=Gn(c[b>>2]|0,r)|0;if(!O){Bg=0;break}c[H>>2]=r;c[b>>2]=O;Cg=O}else Cg=c[b>>2]|0;c[D>>2]=q;a[Cg+C>>0]=0;Bg=c[m>>2]&7}else Bg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=Gn(c[b>>2]|0,O)|0;if(!r){Dg=0;break}c[H>>2]=O;c[b>>2]=r;Eg=r}else Eg=c[b>>2]|0;c[D>>2]=q;a[Eg+Q>>0]=0;Dg=c[m>>2]&7}else Dg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0>>0){r=q<<1;O=Gn(c[b>>2]|0,r)|0;if(!O){Fg=0;break}c[H>>2]=r;c[b>>2]=O;Gg=O}else Gg=c[b>>2]|0;c[D>>2]=q;a[Gg+C>>0]=0;Fg=c[m>>2]&7}else Fg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=wg+-4|0;V=I&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=Gn(c[b>>2]|0,O)|0;if(!r){Hg=0;break}c[H>>2]=O;c[b>>2]=r;Ig=r}else Ig=c[b>>2]|0;c[D>>2]=q;a[Ig+Q>>0]=0;Hg=c[m>>2]&7}else Hg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>1&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0>>0){r=q<<1;O=Gn(c[b>>2]|0,r)|0;if(!O){Jg=0;break}c[H>>2]=r;c[b>>2]=O;Kg=O}else Kg=c[b>>2]|0;c[D>>2]=q;a[Kg+C>>0]=0;Jg=c[m>>2]&7}else Jg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>2&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=Gn(c[b>>2]|0,O)|0;if(!r){Lg=0;break}c[H>>2]=O;c[b>>2]=r;Mg=r}else Mg=c[b>>2]|0;c[D>>2]=q;a[Mg+Q>>0]=0;Lg=c[m>>2]&7}else Lg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>3&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0>>0){r=q<<1;O=Gn(c[b>>2]|0,r)|0;if(!O){Ng=0;break}c[H>>2]=r;c[b>>2]=O;Og=O}else Og=c[b>>2]|0;c[D>>2]=q;a[Og+C>>0]=0;Ng=c[m>>2]&7}else Ng=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>4&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=Gn(c[b>>2]|0,O)|0;if(!r){Pg=0;break}c[H>>2]=O;c[b>>2]=r;Qg=r}else Qg=c[b>>2]|0;c[D>>2]=q;a[Qg+Q>>0]=0;Pg=c[m>>2]&7}else Pg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0>>0){q=Q<<1;r=Gn(c[b>>2]|0,q)|0;if(!r){Rg=0;break}c[H>>2]=q;c[b>>2]=r;Sg=r}else Sg=c[b>>2]|0;c[D>>2]=Q;a[Sg+C>>0]=0;Rg=c[m>>2]&7}else Rg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>1&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0>>0){r=Q<<1;q=Gn(c[b>>2]|0,r)|0;if(!q){Tg=0;break}c[H>>2]=r;c[b>>2]=q;Ug=q}else Ug=c[b>>2]|0;c[D>>2]=Q;a[Ug+P>>0]=0;Tg=c[m>>2]&7}else Tg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M>>>2&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0>>0){q=Q<<1;r=Gn(c[b>>2]|0,q)|0;if(!r){Vg=0;break}c[H>>2]=q;c[b>>2]=r;Wg=r}else Wg=c[b>>2]|0;c[D>>2]=Q;a[Wg+C>>0]=0;Vg=c[m>>2]&7}else Vg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>3&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0>>0){r=Q<<1;q=Gn(c[b>>2]|0,r)|0;if(!q){Xg=0;break}c[H>>2]=r;c[b>>2]=q;Yg=q}else Yg=c[b>>2]|0;c[D>>2]=Q;a[Yg+P>>0]=0;Xg=c[m>>2]&7}else Xg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;if(!wg)Zg=C;else{M=0;I=C;while(1){C=c[vg+(M<<2)>>2]|0;P=C&1;Q=I&7;do if(!Q){q=c[D>>2]|0;r=q+1|0;if((c[H>>2]|0)>>>0>>0){O=r<<1;s=Gn(c[b>>2]|0,O)|0;if(!s){_g=0;break}c[H>>2]=O;c[b>>2]=s;$g=s}else $g=c[b>>2]|0;c[D>>2]=r;a[$g+q>>0]=0;_g=c[m>>2]&7}else _g=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<_g|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;q=C>>>1&1;r=Q&7;do if(!r){Q=c[D>>2]|0;s=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=s<<1;p=Gn(c[b>>2]|0,O)|0;if(!p){ah=0;break}c[H>>2]=O;c[b>>2]=p;bh=p}else bh=c[b>>2]|0;c[D>>2]=s;a[bh+Q>>0]=0;ah=c[m>>2]&7}else ah=r;while(0);r=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[r>>0]=q<>0]|0);r=(c[m>>2]|0)+1|0;c[m>>2]=r;P=C>>>2&1;Q=r&7;do if(!Q){r=c[D>>2]|0;s=r+1|0;if((c[H>>2]|0)>>>0>>0){p=s<<1;O=Gn(c[b>>2]|0,p)|0;if(!O){ch=0;break}c[H>>2]=p;c[b>>2]=O;dh=O}else dh=c[b>>2]|0;c[D>>2]=s;a[dh+r>>0]=0;ch=c[m>>2]&7}else ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=M+1|0;if((M|0)==(wg|0)){Zg=Q;break}else I=Q}}b:do if(!F){I=c[l+12>>2]|0;M=0;V=Zg;while(1){Q=Ma+(M<<2)|0;C=c[Q>>2]|0;q=c[I+(C<<2)>>2]|0;r=c[U+(C<<2)>>2]|0;if(!r){eh=V;fh=C}else{C=r+-1|0;s=0;O=V;do{p=q>>>(C-s|0)&1;S=O&7;do if(!S){w=c[D>>2]|0;t=w+1|0;if((c[H>>2]|0)>>>0>>0){y=t<<1;E=Gn(c[b>>2]|0,y)|0;if(!E){gh=0;break}c[H>>2]=y;c[b>>2]=E;hh=E}else hh=c[b>>2]|0;c[D>>2]=t;a[hh+w>>0]=0;gh=c[m>>2]&7}else gh=S;while(0);S=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[S>>0]=p<>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;s=s+1|0}while((s|0)!=(r|0));eh=O;fh=c[Q>>2]|0}switch(fh|0){case 16:{r=M+1|0;s=c[Ma+(r<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;Gd=S+1|0;if((c[H>>2]|0)>>>0>>0){w=Gd<<1;t=Gn(c[b>>2]|0,w)|0;if(!t){ih=0;break}c[H>>2]=w;c[b>>2]=t;jh=t}else jh=c[b>>2]|0;c[D>>2]=Gd;a[jh+S>>0]=0;ih=c[m>>2]&7}else ih=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;Q=s>>>1&1;O=q&7;do if(!O){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0>>0){Gd=S<<1;t=Gn(c[b>>2]|0,Gd)|0;if(!t){kh=0;break}c[H>>2]=Gd;c[b>>2]=t;lh=t}else lh=c[b>>2]|0;c[D>>2]=S;a[lh+q>>0]=0;kh=c[m>>2]&7}else kh=O;while(0);O=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[O>>0]=Q<>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;mh=r;nh=O;break}case 17:{O=M+1|0;s=c[Ma+(O<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0>>0){Gd=t<<1;w=Gn(c[b>>2]|0,Gd)|0;if(!w){oh=0;break}c[H>>2]=Gd;c[b>>2]=w;ph=w}else ph=c[b>>2]|0;c[D>>2]=t;a[ph+S>>0]=0;oh=c[m>>2]&7}else oh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;r=s>>>1&1;Q=q&7;do if(!Q){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0>>0){t=S<<1;w=Gn(c[b>>2]|0,t)|0;if(!w){qh=0;break}c[H>>2]=t;c[b>>2]=w;rh=w}else rh=c[b>>2]|0;c[D>>2]=S;a[rh+q>>0]=0;qh=c[m>>2]&7}else qh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;C=s>>>2&1;q=Q&7;do if(!q){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0>>0){w=S<<1;t=Gn(c[b>>2]|0,w)|0;if(!t){sh=0;break}c[H>>2]=w;c[b>>2]=t;th=t}else th=c[b>>2]|0;c[D>>2]=S;a[th+Q>>0]=0;sh=c[m>>2]&7}else sh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;mh=O;nh=q;break}case 18:{q=M+1|0;s=c[Ma+(q<<2)>>2]|0;r=s&1;Q=eh&7;do if(!Q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0>>0){w=t<<1;Gd=Gn(c[b>>2]|0,w)|0;if(!Gd){uh=0;break}c[H>>2]=w;c[b>>2]=Gd;vh=Gd}else vh=c[b>>2]|0;c[D>>2]=t;a[vh+S>>0]=0;uh=c[m>>2]&7}else uh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0>>0){t=S<<1;Gd=Gn(c[b>>2]|0,t)|0;if(!Gd){wh=0;break}c[H>>2]=t;c[b>>2]=Gd;xh=Gd}else xh=c[b>>2]|0;c[D>>2]=S;a[xh+Q>>0]=0;wh=c[m>>2]&7}else wh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0>>0){Gd=S<<1;t=Gn(c[b>>2]|0,Gd)|0;if(!t){yh=0;break}c[H>>2]=Gd;c[b>>2]=t;zh=t}else zh=c[b>>2]|0;c[D>>2]=S;a[zh+C>>0]=0;yh=c[m>>2]&7}else yh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0>>0){t=S<<1;Gd=Gn(c[b>>2]|0,t)|0;if(!Gd){Ah=0;break}c[H>>2]=t;c[b>>2]=Gd;Bh=Gd}else Bh=c[b>>2]|0;c[D>>2]=S;a[Bh+Q>>0]=0;Ah=c[m>>2]&7}else Ah=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0>>0){Gd=S<<1;t=Gn(c[b>>2]|0,Gd)|0;if(!t){Ch=0;break}c[H>>2]=Gd;c[b>>2]=t;Dh=t}else Dh=c[b>>2]|0;c[D>>2]=S;a[Dh+C>>0]=0;Ch=c[m>>2]&7}else Ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>5&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0>>0){t=S<<1;Gd=Gn(c[b>>2]|0,t)|0;if(!Gd){Eh=0;break}c[H>>2]=t;c[b>>2]=Gd;Fh=Gd}else Fh=c[b>>2]|0;c[D>>2]=S;a[Fh+Q>>0]=0;Eh=c[m>>2]&7}else Eh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>6&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0>>0){Gd=S<<1;t=Gn(c[b>>2]|0,Gd)|0;if(!t){Gh=0;break}c[H>>2]=Gd;c[b>>2]=t;Hh=t}else Hh=c[b>>2]|0;c[D>>2]=S;a[Hh+C>>0]=0;Gh=c[m>>2]&7}else Gh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;mh=q;nh=Q;break}default:{mh=M;nh=eh}}M=mh+1|0;if(M>>>0>=Na>>>0)break b;else V=nh}}while(0);cn(m,b,i,j,k);U=c[(c[j+24>>2]|0)+1024>>2]|0;if(!U){W=64;X=g;Y=f;Z=v;_=La;$=ya;aa=ug;break}F=c[(c[j+12>>2]|0)+1024>>2]|0;V=U+-1|0;M=0;I=c[m>>2]|0;do{P=F>>>(V-M|0)&1;Q=I&7;do if(!Q){s=c[D>>2]|0;O=s+1|0;if((c[H>>2]|0)>>>0>>0){C=O<<1;S=Gn(c[b>>2]|0,C)|0;if(!S){Ih=0;break}c[H>>2]=C;c[b>>2]=S;Jh=S}else Jh=c[b>>2]|0;c[D>>2]=O;a[Jh+s>>0]=0;Ih=c[m>>2]&7}else Ih=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);I=(c[m>>2]|0)+1|0;c[m>>2]=I;M=M+1|0}while((M|0)!=(U|0));W=0;X=g;Y=f;Z=v;_=La;$=ya;aa=ug}}else{W=o;X=g;Y=f;Z=v;_=La;$=ya;aa=0}}else{W=9926;X=g;Y=f;Z=0;_=La;$=ya;aa=0}}else{W=N;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=e;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=9925;X=g;Y=0;Z=0;_=0;$=0;aa=0}}else{W=9924;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);c[R>>2]=0;c[T>>2]=0;Hn(c[i>>2]|0);c[j+8>>2]=0;c[j+4>>2]=0;Hn(c[j>>2]|0);c[j>>2]=0;i=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;Hn(c[i>>2]|0);c[i>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;Hn(c[j+24>>2]|0);c[k+8>>2]=0;c[k+4>>2]=0;Hn(c[k>>2]|0);c[k>>2]=0;j=k+12|0;c[k+20>>2]=0;c[k+16>>2]=0;Hn(c[j>>2]|0);c[j>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;Hn(c[k+24>>2]|0);c[l+8>>2]=0;c[l+4>>2]=0;Hn(c[l>>2]|0);c[l>>2]=0;k=l+12|0;c[l+20>>2]=0;c[l+16>>2]=0;Hn(c[k>>2]|0);c[k>>2]=0;c[l+32>>2]=0;c[l+28>>2]=0;Hn(c[l+24>>2]|0);Hn(X);Hn(Y);Hn(Z);Hn(_);Hn($);Hn(aa);J=W;Ca=h;return J|0}default:{J=61;Ca=h;return J|0}}return 0}function bn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0;h=Gn(0,1572864)|0;if(!h){i=9917;return i|0}Ps(h|0,0,786432)|0;j=Gn(0,524288)|0;if(!j){k=0;l=9918;m=0}else{Ps(j|0,0,262144)|0;k=j;l=0;m=j}j=Gn(0,524288)|0;a:do if(j){Ps(j|0,0,262144)|0;if(!l)if(!f){n=0;o=j;p=0}else{q=b+4|0;r=b+8|0;s=0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;while(1){A=s>>>0>>0?s:g;B=f-s|0;C=(s+6|0)>>>0>>0?6:B;if(!C)D=0;else{E=0;F=0;do{E=d[e+(F+s)>>0]<<(F<<1)^E;F=F+1|0}while(F>>>0>>0);D=E&65535}C=B>>>0<258?B:258;b:do if(!C)G=0;else{F=0;while(1){if(a[e+(F+s)>>0]|0){G=F;break b}F=F+1|0;if(F>>>0>=C>>>0){G=C;break}}}while(0);C=h+(D*12|0)|0;E=C+4|0;F=c[E>>2]|0;H=F+1|0;I=C+8|0;if(H<<2>>>0>(c[I>>2]|0)>>>0){J=H<<3;K=Gn(c[C>>2]|0,J)|0;if(!K){n=9920;o=j;p=y;break a}c[I>>2]=J;c[C>>2]=K;L=K}else L=c[C>>2]|0;c[E>>2]=H;c[L+(F<<2)>>2]=s;F=(D|0)==0;if(F){H=v+1|0;if(H<<2>>>0>w>>>0){E=H<<3;K=Gn(z,E)|0;if(!K){n=9920;o=j;p=y;break a}M=C;N=c[C>>2]|0;O=K;P=E;Q=K;R=K;S=K}else{M=C;N=L;O=u;P=w;Q=y;R=x;S=z}c[O+(v<<2)>>2]=G;T=M;U=O;V=H;W=P;X=Q;Y=R;Z=S;_=N}else{T=C;U=u;V=v;W=w;X=y;Y=x;Z=z;_=L}C=k+(D<<2)|0;H=c[C>>2]|0;K=s-A|0;if((c[_+(H<<2)>>2]|0)>>>0>>0){E=c[T>>2]|0;J=H;while(1){I=J+1|0;c[C>>2]=I;if((c[E+(I<<2)>>2]|0)>>>0>>0)J=I;else{$=E;aa=I;break}}}else{$=_;aa=H}E=j+(D<<2)|0;J=c[E>>2]|0;if((c[$+(J<<2)>>2]|0)>>>0>>0){K=J;do{K=K+1|0;c[E>>2]=K}while((c[$+(K<<2)>>2]|0)>>>0>>0);ba=K;ca=c[C>>2]|0}else{ba=J;ca=aa}E=s+258|0;H=E>>>0>f>>>0?f:E;E=e+H|0;A=ba+-1|0;c:do if(A>>>0>=ca>>>0&(ba|0)!=0){I=e+s|0;da=I;d:do if(F){ea=0;fa=0;ga=A;while(1){ha=c[$+(ga<<2)>>2]|0;ia=s-ha|0;ja=c[U+(ga<<2)>>2]|0;ka=ja>>>0>G>>>0?G:ja;ja=ka>>>0>B>>>0?B:ka;ka=I+ja|0;e:do if((ka|0)==(E|0))la=E;else{ma=e+ha+ja|0;na=ka;while(1){if((a[ma>>0]|0)!=(a[na>>0]|0)){la=na;break e}na=na+1|0;if((na|0)==(E|0)){la=E;break}else ma=ma+1|0}}while(0);ka=la-da|0;if(ka>>>0>ea>>>0)if((ka|0)==258){oa=258;pa=ia;break d}else{qa=ka;ra=ia}else{qa=ea;ra=fa}ga=ga+-1|0;if(!(ga>>>0>=ca>>>0&ga>>>0>>0)){sa=qa;ta=ra;ua=53;break}else{ea=qa;fa=ra}}}else{fa=(s|0)==(H|0);ea=0;ga=0;ka=A;while(1){ja=c[$+(ka<<2)>>2]|0;ha=s-ja|0;if(fa)va=da;else{ma=e+ja|0;ja=I;while(1){if((a[ma>>0]|0)!=(a[ja>>0]|0)){wa=ja;break}ja=ja+1|0;if((ja|0)==(E|0)){wa=E;break}else ma=ma+1|0}va=wa}ma=va-da|0;if(ma>>>0>ea>>>0)if((ma|0)==258){oa=258;pa=ha;break d}else{xa=ma;ya=ha}else{xa=ea;ya=ga}ka=ka+-1|0;if(!(ka>>>0>=ca>>>0&ka>>>0>>0)){sa=xa;ta=ya;ua=53;break}else{ea=xa;ga=ya}}}while(0);if((ua|0)==53){ua=0;if(sa>>>0<3){ua=54;break}else{oa=sa;pa=ta}}da=28;I=1;while(1){ga=(I+da|0)>>>1;if((c[27408+(ga<<2)>>2]|0)>>>0>oa>>>0){ea=ga+-1|0;ka=c[27408+(ea<<2)>>2]|0;if(ka>>>0>oa>>>0){za=ea;Aa=I}else{Ba=ea;Ca=ka;break}}else{za=da;Aa=ga+1|0}if(Aa>>>0>za>>>0){Ba=28;Ca=258;break}else{da=za;I=Aa}}I=oa-Ca|0;da=29;ga=1;while(1){ka=(ga+da|0)>>>1;if((c[27664+(ka<<2)>>2]|0)>>>0>pa>>>0){ea=ka+-1|0;fa=c[27664+(ea<<2)>>2]|0;if(fa>>>0>pa>>>0){Da=ea;Ea=ga}else{Fa=ea;Ga=fa;break}}else{Da=da;Ea=ka+1|0}if(Ea>>>0>Da>>>0){Fa=29;Ga=24577;break}else{da=Da;ga=Ea}}ga=pa-Ga|0;da=Ba+257|0;ka=c[q>>2]|0;fa=ka+1|0;ea=c[r>>2]|0;do if(fa<<2>>>0>ea>>>0){ma=fa<<3;ja=Gn(c[b>>2]|0,ma)|0;if(!ja){Ha=c[q>>2]|0;Ia=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Ja=ja;Ka=ma;ua=74;break}}else{Ja=c[b>>2]|0;Ka=ea;ua=74}while(0);if((ua|0)==74){ua=0;c[q>>2]=fa;c[Ja+(ka<<2)>>2]=da;Ha=fa;Ia=Ka}ea=Ha+1|0;do if(ea<<2>>>0>Ia>>>0){ma=ea<<3;ja=Gn(c[b>>2]|0,ma)|0;if(!ja){La=c[q>>2]|0;Ma=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Na=ja;Oa=ma;ua=80;break}}else{Na=c[b>>2]|0;Oa=Ia;ua=80}while(0);if((ua|0)==80){ua=0;c[q>>2]=ea;c[Na+(Ha<<2)>>2]=I;La=ea;Ma=Oa}fa=La+1|0;do if(fa<<2>>>0>Ma>>>0){da=fa<<3;ka=Gn(c[b>>2]|0,da)|0;if(!ka){Pa=c[q>>2]|0;Qa=c[r>>2]|0;break}else{c[r>>2]=da;c[b>>2]=ka;Ra=ka;Sa=da;ua=86;break}}else{Ra=c[b>>2]|0;Sa=Ma;ua=86}while(0);if((ua|0)==86){ua=0;c[q>>2]=fa;c[Ra+(La<<2)>>2]=Fa;Pa=fa;Qa=Sa}ea=Pa+1|0;do if(ea<<2>>>0>Qa>>>0){I=ea<<3;da=Gn(c[b>>2]|0,I)|0;if(!da)break;c[r>>2]=I;c[b>>2]=da;Ta=da;ua=91}else{Ta=c[b>>2]|0;ua=91}while(0);if((ua|0)==91){ua=0;c[q>>2]=ea;c[Ta+(Pa<<2)>>2]=ga}fa=oa+-1|0;if(!fa){Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z;break}da=0;I=s;ka=U;ma=V;ja=W;ia=Y;na=Z;ab=X;while(1){bb=I+1|0;do if(bb>>>0>>0){cb=(I+7|0)>>>0>>0?6:f-bb|0;if(!cb){db=0;break}eb=0;fb=0;do{eb=d[e+(fb+bb)>>0]<<(fb<<1)^eb;fb=fb+1|0}while(fb>>>0>>0);db=eb&65535}else db=0;while(0);cb=h+(db*12|0)|0;fb=cb+4|0;ha=c[fb>>2]|0;gb=ha+1|0;hb=cb+8|0;if(gb<<2>>>0>(c[hb>>2]|0)>>>0){ib=gb<<3;jb=Gn(c[cb>>2]|0,ib)|0;if(!jb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}c[hb>>2]=ib;c[cb>>2]=jb;kb=jb}else kb=c[cb>>2]|0;c[fb>>2]=gb;c[kb+(ha<<2)>>2]=bb;if(!db){ha=f-bb|0;gb=ha>>>0<258?ha:258;f:do if(!gb)lb=0;else{ha=0;while(1){if(a[e+(ha+bb)>>0]|0){lb=ha;break f}ha=ha+1|0;if(ha>>>0>=gb>>>0){lb=gb;break}}}while(0);gb=ma+1|0;if(gb<<2>>>0>ja>>>0){ha=gb<<3;eb=Gn(ia,ha)|0;if(!eb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}mb=eb;nb=ha;ob=eb;pb=eb;qb=eb}else{mb=ka;nb=ja;ob=ab;pb=ia;qb=na}c[mb+(ma<<2)>>2]=lb;rb=mb;sb=gb;tb=nb;ub=ob;vb=pb;wb=qb}else{rb=ka;sb=ma;tb=ja;ub=ab;vb=ia;wb=na}da=da+1|0;if(da>>>0>=fa>>>0){Ua=bb;Va=t;Wa=rb;Xa=sb;Ya=tb;Za=ub;_a=vb;$a=wb;break}else{I=bb;ka=rb;ma=sb;ja=tb;ia=vb;na=wb;ab=ub}}}else ua=54;while(0);if((ua|0)==54){ua=0;E=d[e+s>>0]|0;A=c[q>>2]|0;H=A+1|0;if(H<<2>>>0>(c[r>>2]|0)>>>0){B=H<<3;F=Gn(c[b>>2]|0,B)|0;if(!F){n=9921;o=j;p=X;break a}c[r>>2]=B;c[b>>2]=F;xb=F}else xb=c[b>>2]|0;c[q>>2]=H;c[xb+(A<<2)>>2]=E;Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z}s=Ua+1|0;if(s>>>0>=f>>>0){n=Va;o=j;p=Za;break}else{t=Va;u=Wa;v=Xa;w=Ya;x=_a;y=Za;z=$a}}}else{n=l;o=j;p=0}}else{n=9919;o=0;p=0}while(0);j=0;do{l=h+(j*12|0)|0;c[l+8>>2]=0;c[l+4>>2]=0;Hn(c[l>>2]|0);c[l>>2]=0;j=j+1|0}while((j|0)!=65536);Hn(h);Hn(m);Hn(o);Hn(p);i=n;return i|0}function cn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=f+4|0;if(!(c[i>>2]|0))return;j=g+12|0;k=g+24|0;g=e+4|0;l=e+8|0;m=h+12|0;n=h+24|0;h=0;do{o=c[(c[f>>2]|0)+(h<<2)>>2]|0;p=c[(c[j>>2]|0)+(o<<2)>>2]|0;q=c[(c[k>>2]|0)+(o<<2)>>2]|0;if(q|0){r=q+-1|0;s=0;t=c[b>>2]|0;do{u=p>>>(r-s|0)&1;do if(!(t&7)){v=c[g>>2]|0;w=v+1|0;if((c[l>>2]|0)>>>0>>0){x=w<<1;y=Gn(c[e>>2]|0,x)|0;if(!y)break;c[l>>2]=x;c[e>>2]=y;z=y}else z=c[e>>2]|0;c[g>>2]=w;a[z+v>>0]=0}while(0);v=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[v>>0]=u<<(c[b>>2]&7)|(d[v>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(q|0))}if(o>>>0>256){q=c[27280+(o+-257<<2)>>2]|0;s=c[f>>2]|0;t=c[s+(h+1<<2)>>2]|0;r=c[s+(h+2<<2)>>2]|0;p=c[27536+(r<<2)>>2]|0;v=h+3|0;w=c[s+(v<<2)>>2]|0;if((o+-265|0)>>>0<=19){s=0;y=c[b>>2]|0;do{x=t>>>s&1;do if(!(y&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0>>0){C=B<<1;D=Gn(c[e>>2]|0,C)|0;if(!D)break;c[l>>2]=C;c[e>>2]=D;E=D}else E=c[e>>2]|0;c[g>>2]=B;a[E+A>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=x<<(c[b>>2]&7)|(d[u>>0]|0);y=(c[b>>2]|0)+1|0;c[b>>2]=y;s=s+1|0}while((s|0)!=(q|0))}q=c[(c[m>>2]|0)+(r<<2)>>2]|0;s=c[(c[n>>2]|0)+(r<<2)>>2]|0;if(s|0){y=s+-1|0;t=0;o=c[b>>2]|0;do{u=q>>>(y-t|0)&1;do if(!(o&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0>>0){D=B<<1;C=Gn(c[e>>2]|0,D)|0;if(!C)break;c[l>>2]=D;c[e>>2]=C;F=C}else F=c[e>>2]|0;c[g>>2]=B;a[F+A>>0]=0}while(0);x=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[x>>0]=u<<(c[b>>2]&7)|(d[x>>0]|0);o=(c[b>>2]|0)+1|0;c[b>>2]=o;t=t+1|0}while((t|0)!=(s|0))}if(r>>>0<4)G=v;else{s=0;t=c[b>>2]|0;do{o=w>>>s&1;do if(!(t&7)){y=c[g>>2]|0;q=y+1|0;if((c[l>>2]|0)>>>0>>0){x=q<<1;A=Gn(c[e>>2]|0,x)|0;if(!A)break;c[l>>2]=x;c[e>>2]=A;H=A}else H=c[e>>2]|0;c[g>>2]=q;a[H+y>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=o<<(c[b>>2]&7)|(d[u>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(p|0));G=v}}else G=h;h=G+1|0}while(h>>>0<(c[i>>2]|0)>>>0);return}function dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=Ca;Ca=Ca+16|0;h=g;c[a+36>>2]=e;i=(d|0)==0;if(i){j=80;Ca=g;return j|0}k=0;l=0;m=0;do{n=c[b+(m<<2)>>2]|0;l=n+l|0;k=k+((n|0)!=0&1)|0;m=m+1|0}while((m|0)!=(d|0));if(i){j=80;Ca=g;return j|0}i=a+40|0;c[i>>2]=d;m=a+24|0;n=a+32|0;o=a+28|0;c[o>>2]=0;p=d<<2;do if(p>>>0>(c[n>>2]|0)>>>0){q=d<<3;r=Gn(c[m>>2]|0,q)|0;if(!r){j=9905;Ca=g;return j|0}else{c[n>>2]=q;c[m>>2]=r;break}}while(0);c[o>>2]=d;Ps(c[m>>2]|0,0,p|0)|0;switch(k|0){case 0:{c[c[m>>2]>>2]=1;j=_m(a)|0;Ca=g;return j|0}case 1:{p=0;do{if(c[b+(p<<2)>>2]|0)c[(c[m>>2]|0)+(p<<2)>>2]=1;p=p+1|0}while((p|0)!=(d|0));j=_m(a)|0;Ca=g;return j|0}default:{c[h>>2]=0;d=h+8|0;c[d>>2]=0;p=h+4|0;c[p>>2]=0;o=h+12|0;c[o>>2]=16;n=en(h,b,c[i>>2]|0,l)|0;do if(!n){if(e){r=1;q=0;s=0;t=0;do{u=t;t=c[p>>2]|0;c[p>>2]=u;v=q;q=c[d>>2]|0;c[d>>2]=v;w=s;s=c[h>>2]|0;c[h>>2]=w;x=w;if(u|0){w=c[o>>2]|0;y=0;do{A=x+(z(w,y)|0)|0;c[A+8>>2]=0;c[A+4>>2]=0;Hn(c[A>>2]|0);c[A>>2]=0;y=y+1|0}while(y>>>0>>0)}c[p>>2]=0;if(t>>>0>1){u=c[o>>2]|0;y=s;w=0;A=0;B=v;C=x;D=1;while(1){E=A+1|0;F=z(u,E)|0;if(F>>>0>B>>>0){G=F<<1;F=Gn(C,G)|0;if(!F){H=9907;I=C;J=B;K=A;break}else{L=G;M=F}}else{L=B;M=C}F=M+(z(u,A)|0)|0;c[F>>2]=0;G=F+8|0;c[G>>2]=0;N=F+4|0;c[N>>2]=0;O=y+(w<<4)|0;P=F+12|0;c[P>>2]=c[O+12>>2];Q=O+4|0;R=c[Q>>2]|0;if(R&1073741823){S=R<<3;T=Gn(0,S)|0;if(T|0){c[G>>2]=S;c[F>>2]=T;U=T;V=28}}else{U=0;V=28}if((V|0)==28?(V=0,c[N>>2]=R,R=c[Q>>2]|0,R|0):0){Q=c[O>>2]|0;O=0;do{c[U+(O<<2)>>2]=c[Q+(O<<2)>>2];O=O+1|0}while((O|0)!=(R|0))}R=y+(D<<4)|0;O=R+4|0;if(c[O>>2]|0){Q=0;do{T=c[(c[R>>2]|0)+(Q<<2)>>2]|0;S=c[N>>2]|0;W=S+1|0;do if(W<<2>>>0>(c[G>>2]|0)>>>0){X=W<<3;Y=Gn(c[F>>2]|0,X)|0;if(!Y)break;c[G>>2]=X;c[F>>2]=Y;Z=Y;V=37}else{Z=c[F>>2]|0;V=37}while(0);if((V|0)==37){V=0;c[N>>2]=W;c[Z+(S<<2)>>2]=T}Q=Q+1|0}while(Q>>>0<(c[O>>2]|0)>>>0)}f[P>>2]=+f[R+12>>2]+ +f[P>>2];w=w+2|0;D=w|1;if(D>>>0>=t>>>0){H=0;I=M;J=L;K=E;break}else{A=E;B=L;C=M}}c[p>>2]=K;c[d>>2]=J;c[h>>2]=I;_=H}else _=0;if(r>>>0>>0)$=en(h,b,c[i>>2]|0,l)|0;else $=_;r=r+1|0}while(r>>>0<=e>>>0&($|0)==0);if(!$){aa=s;ba=t}else{ca=$;da=s;ea=t;V=60;break}}else{aa=0;ba=0}r=k+-1|0;q=c[p>>2]|0;if(q>>>0>r>>>0){C=c[h>>2]|0;B=c[o>>2]|0;A=r;do{D=C+(z(B,A)|0)|0;c[D+8>>2]=0;c[D+4>>2]=0;Hn(c[D>>2]|0);c[D>>2]=0;A=A+1|0}while(A>>>0>>0);fa=B}else fa=c[o>>2]|0;B=z(fa,r)|0;if(B>>>0>(c[d>>2]|0)>>>0){A=B<<1;B=Gn(c[h>>2]|0,A)|0;if(!B)ga=q;else{c[d>>2]=A;c[h>>2]=B;V=52}}else V=52;if((V|0)==52){c[p>>2]=r;ga=r}if(!ga)ha=0;else{B=c[h>>2]|0;A=0;do{C=B+(z(fa,A)|0)|0;t=c[C+4>>2]|0;if(t|0){s=c[m>>2]|0;D=c[C>>2]|0;C=0;do{w=s+(c[D+(C<<2)>>2]<<2)|0;c[w>>2]=(c[w>>2]|0)+1;C=C+1|0}while(C>>>0>>0)}A=A+1|0}while(A>>>0>>0);ha=ga}ia=_m(a)|0;ja=aa;ka=ba;la=ha;ma=ga}else{ca=n;da=0;ea=0;V=60}while(0);if((V|0)==60){V=c[p>>2]|0;ia=ca;ja=da;ka=ea;la=V;ma=V}V=c[h>>2]|0;if(la|0){la=c[o>>2]|0;o=0;do{ea=V+(z(la,o)|0)|0;c[ea+8>>2]=0;c[ea+4>>2]=0;Hn(c[ea>>2]|0);c[ea>>2]=0;o=o+1|0}while(o>>>0>>0)}ma=p;c[ma>>2]=0;c[ma+4>>2]=0;Hn(V);c[h>>2]=0;h=ja;if(ka|0){ja=0;do{V=h+(ja<<4)|0;c[V+8>>2]=0;c[V+4>>2]=0;Hn(c[V>>2]|0);c[V>>2]=0;ja=ja+1|0}while((ja|0)!=(ka|0))}Hn(h);j=ia;Ca=g;return j|0}}return 0}function en(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;g=a+4|0;a:do if(d|0){h=a+12|0;i=a+8|0;j=+(e>>>0);k=0;while(1){l=b+(k<<2)|0;m=c[l>>2]|0;if(m|0){n=c[g>>2]|0;o=n+1|0;p=c[h>>2]|0;q=z(p,o)|0;if(q>>>0>(c[i>>2]|0)>>>0){r=q<<1;q=Gn(c[a>>2]|0,r)|0;if(!q)break;c[i>>2]=r;c[a>>2]=q;s=q;t=c[h>>2]|0;u=c[l>>2]|0}else{s=c[a>>2]|0;t=p;u=m}c[g>>2]=o;o=s+(z(t,n)|0)|0;c[o>>2]=0;n=o+8|0;c[n>>2]=0;m=o+4|0;c[m>>2]=0;f[o+12>>2]=+(u>>>0)/j;p=Gn(0,8)|0;if(p|0){c[n>>2]=8;c[o>>2]=p;c[m>>2]=1;c[p>>2]=k}}k=k+1|0;if(k>>>0>=d>>>0)break a}c[i>>2]=0;c[g>>2]=0;Hn(c[a>>2]|0);c[a>>2]=0;v=9904;return v|0}while(0);d=c[g>>2]|0;if(!d){v=0;return v|0}g=c[a>>2]|0;if((d|0)==1){v=0;return v|0}a=d;do{u=a*10|0;t=(u+-117|0)>>>0<13|(u+-130|0)>>>0<13?11:(u>>>0)/13|0;a=(t|0)==0?1:t;t=d-a|0;if(!t)w=0;else{u=0;s=0;while(1){b=u+a|0;e=g+(b<<4)+12|0;j=+f[e>>2];k=g+(u<<4)+12|0;x=+f[k>>2];if(j>2]=x;f[k>>2]=j;k=g+(u<<4)|0;e=g+(b<<4)|0;h=g+(u<<4)+4|0;p=c[h>>2]|0;m=g+(b<<4)+4|0;c[h>>2]=c[m>>2];c[m>>2]=p;p=g+(u<<4)+8|0;m=c[p>>2]|0;h=g+(b<<4)+8|0;c[p>>2]=c[h>>2];c[h>>2]=m;m=c[k>>2]|0;c[k>>2]=c[e>>2];c[e>>2]=m;y=1}else y=s;u=u+1|0;if(u>>>0>=t>>>0){w=y;break}else s=y}}}while(a>>>0>1|w<<24>>24!=0);v=0;return v|0}function fn(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;e=d>>>24&255;f=b+4|0;g=c[f>>2]|0;h=g+1|0;i=b+8|0;if((c[i>>2]|0)>>>0>>0){j=h<<1;k=Gn(c[b>>2]|0,j)|0;if(k|0){c[i>>2]=j;c[b>>2]=k;l=k;m=5}}else{l=c[b>>2]|0;m=5}if((m|0)==5){c[f>>2]=h;a[l+g>>0]=e}e=d>>>16&255;g=c[f>>2]|0;l=g+1|0;if((c[i>>2]|0)>>>0>>0){h=l<<1;k=Gn(c[b>>2]|0,h)|0;if(k|0){c[i>>2]=h;c[b>>2]=k;n=k;m=10}}else{n=c[b>>2]|0;m=10}if((m|0)==10){c[f>>2]=l;a[n+g>>0]=e}e=d>>>8&255;g=c[f>>2]|0;n=g+1|0;if((c[i>>2]|0)>>>0>>0){l=n<<1;k=Gn(c[b>>2]|0,l)|0;if(k|0){c[i>>2]=l;c[b>>2]=k;o=k;m=15}}else{o=c[b>>2]|0;m=15}if((m|0)==15){c[f>>2]=n;a[o+g>>0]=e}e=d&255;d=c[f>>2]|0;g=d+1|0;do if((c[i>>2]|0)>>>0>>0){o=g<<1;n=Gn(c[b>>2]|0,o)|0;if(!n)return;else{c[i>>2]=o;c[b>>2]=n;p=n;break}}else p=c[b>>2]|0;while(0);c[f>>2]=g;a[p+d>>0]=e;return}function gn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ca;Ca=Ca+16|0;j=i;if(g>>>0<2){k=53;Ca=i;return k|0}l=a[f>>0]|0;m=l&255;n=d[f+1>>0]|0;if(((m<<8|n)>>>0)%31|0|0){k=24;Ca=i;return k|0}if(l<<24>>24<0|(m&15|0)!=8){k=25;Ca=i;return k|0}if(n&32|0){k=26;Ca=i;return k|0}n=c[e>>2]|0;c[j>>2]=c[b>>2];m=j+4|0;c[m>>2]=n;c[j+8>>2]=n;n=Xm(j,f,g,2)|0;l=c[j>>2]|0;c[b>>2]=l;b=c[m>>2]|0;c[e>>2]=b;e=l;if(n|0){k=n;Ca=i;return k|0}if(!(c[h>>2]|0)){h=f+(g+-4)|0;g=(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24|(d[h+2>>0]|0)<<8|(d[h+3>>0]|0);if(!b){o=0;p=1}else{h=0;f=1;n=b;b=e;while(1){e=n>>>0<5550?n:5550;n=n-e|0;if(!e){q=h;r=f;s=b}else{l=e;m=f;j=b;t=h;while(1){m=m+(d[j>>0]|0)|0;t=m+t|0;l=l+-1|0;if(!l)break;else j=j+1|0}q=t;r=m;s=b+e|0}f=(r>>>0)%65521|0;h=(q>>>0)%65521|0;if(!n)break;else b=s}o=h<<16;p=f}if((o|p|0)!=(g|0)){k=58;Ca=i;return k|0}}k=0;Ca=i;return k|0}function hn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=Ca;Ca=Ca+32|0;j=i+12|0;k=i;l=c[b>>2]|0;m=c[e>>2]|0;c[k>>2]=l;n=k+4|0;c[n>>2]=m;o=k+8|0;c[o>>2]=m;p=m+1|0;if((m|0)!=-1){q=p<<1;r=Gn(l,q)|0;if(!r){s=p;t=m;u=l;v=m}else{c[o>>2]=q;c[k>>2]=r;w=r;x=q;y=4}}else{w=l;x=-1;y=4}if((y|0)==4){c[n>>2]=p;a[w+m>>0]=120;s=m+2|0;t=x;u=w;v=p}if(t>>>0>>0){t=s<<1;p=Gn(u,t)|0;if(p|0){c[o>>2]=t;c[k>>2]=p;z=p;y=8}}else{z=u;y=8}if((y|0)==8){c[n>>2]=s;a[z+v>>0]=1}c[j>>2]=0;v=j+8|0;c[v>>2]=0;z=j+4|0;c[z>>2]=0;s=an(j,f,g,h)|0;if(s|0){A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ca=i;return s|0}if(!g){C=0;D=1}else{h=0;u=1;p=g;g=f;while(1){f=p>>>0<5550?p:5550;p=p-f|0;if(!f){E=h;F=u;G=g}else{t=f;w=u;x=g;m=h;while(1){w=w+(d[x>>0]|0)|0;m=w+m|0;t=t+-1|0;if(!t)break;else x=x+1|0}E=m;F=w;G=g+f|0}u=(F>>>0)%65521|0;h=(E>>>0)%65521|0;if(!p)break;else g=G}C=h<<16;D=u}u=C|D;if(c[z>>2]|0){D=0;C=c[k>>2]|0;h=c[n>>2]|0;G=c[o>>2]|0;while(1){g=a[(c[j>>2]|0)+D>>0]|0;p=h+1|0;if(G>>>0

>>0){E=p<<1;F=Gn(C,E)|0;if(!F){H=C;I=h;J=G}else{K=F;L=E;y=22}}else{K=C;L=G;y=22}if((y|0)==22){y=0;a[K+h>>0]=g;H=K;I=p;J=L}D=D+1|0;if(D>>>0>=(c[z>>2]|0)>>>0)break;else{C=H;h=I;G=J}}c[n>>2]=I;c[o>>2]=J;c[k>>2]=H}c[v>>2]=0;c[z>>2]=0;Hn(c[j>>2]|0);c[j>>2]=0;fn(k,u);A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ca=i;return s|0}function jn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;if(!(c[1053380]|0)){e=0;do{f=e>>>1;g=(e&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;c[3564096+(e<<2)>>2]=(g&1|0)==0?f:f^-306674912;e=e+1|0}while((e|0)!=256);c[1053380]=1}if(!b){i=0;return i|0}e=-1;f=0;do{e=c[3564096+((e&255^(d[a+f>>0]|0))<<2)>>2]^e>>>8;f=f+1|0}while((f|0)!=(b|0));i=~e;return i|0}function kn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=c[d>>2]|0;i=e+12|0;j=i+h|0;if(j>>>0>>0|j>>>0>>0){k=77;return k|0}i=Gn(c[b>>2]|0,j)|0;if(!i){k=9930;return k|0}c[b>>2]=i;c[d>>2]=j;j=i+h|0;h=e>>>24&255;a[j>>0]=h;i=e>>>16&255;d=j+1|0;a[d>>0]=i;b=e>>>8&255;l=j+2|0;a[l>>0]=b;m=j+3|0;a[m>>0]=e;n=j+4|0;a[n>>0]=a[f>>0]|0;a[j+5>>0]=a[f+1>>0]|0;a[j+6>>0]=a[f+2>>0]|0;a[j+7>>0]=a[f+3>>0]|0;if(!e){o=h;p=i;q=b;r=0}else{b=0;do{a[j+(b+8)>>0]=a[g+b>>0]|0;b=b+1|0}while((b|0)!=(e|0));o=a[j>>0]|0;p=a[d>>0]|0;q=a[l>>0]|0;r=a[m>>0]|0}m=(p&255)<<16|(o&255)<<24|(q&255)<<8|r&255;r=jn(n,m+4|0)|0;n=j+8+m|0;a[n>>0]=r>>>24;a[n+1>>0]=r>>>16;a[n+2>>0]=r>>>8;a[n+3>>0]=r;k=0;return k|0}function ln(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;g=Gn(c[f>>2]|0,(c[b>>2]<<2)+4|0)|0;h=b+8|0;i=Gn(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((g|0)!=0&(i|0)!=0)){Hn(g);Hn(i);j=9933;return j|0}k=c[b>>2]|0;c[b>>2]=k+1;c[f>>2]=g;c[h>>2]=i;i=g+(k<<2)|0;c[i>>2]=0;k=Gn(0,1)|0;if(k|0){a[k>>0]=0;c[i>>2]=k}k=(c[f>>2]|0)+((c[b>>2]|0)+-1<<2)|0;f=Yq(d)|0;i=Gn(c[k>>2]|0,f+1|0)|0;if((i|0?(a[i+f>>0]=0,c[k>>2]=i,f|0):0)?(a[i>>0]=a[d>>0]|0,(f|0)!=1):0){i=1;do{a[(c[k>>2]|0)+i>>0]=a[d+i>>0]|0;i=i+1|0}while((i|0)!=(f|0))}f=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[f>>2]=0;i=Gn(0,1)|0;if(i|0){a[i>>0]=0;c[f>>2]=i}i=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=Yq(e)|0;h=Gn(c[i>>2]|0,b+1|0)|0;if(!h){j=0;return j|0}a[h+b>>0]=0;c[i>>2]=h;if(!b){j=0;return j|0}a[h>>0]=a[e>>0]|0;if((b|0)==1){j=0;return j|0}h=1;do{a[(c[i>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(b|0));j=0;return j|0}function mn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+4|0;d=c[b>>2]|0;e=a+8|0;f=a+12|0;g=a+16|0;if(!(c[a>>2]|0)){h=d;Hn(h);i=c[e>>2]|0;Hn(i);j=c[f>>2]|0;Hn(j);k=c[g>>2]|0;Hn(k);return}l=0;m=d;while(1){d=m+(l<<2)|0;Hn(c[d>>2]|0);c[d>>2]=0;d=(c[e>>2]|0)+(l<<2)|0;Hn(c[d>>2]|0);c[d>>2]=0;d=(c[f>>2]|0)+(l<<2)|0;Hn(c[d>>2]|0);c[d>>2]=0;d=(c[g>>2]|0)+(l<<2)|0;Hn(c[d>>2]|0);c[d>>2]=0;l=l+1|0;d=c[b>>2]|0;if(l>>>0>=(c[a>>2]|0)>>>0){h=d;break}else m=d}Hn(h);i=c[e>>2]|0;Hn(i);j=c[f>>2]|0;Hn(j);k=c[g>>2]|0;Hn(k);return}function nn(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;h=b+4|0;i=Gn(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;j=b+8|0;k=Gn(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;l=b+12|0;m=Gn(c[l>>2]|0,(c[b>>2]<<2)+4|0)|0;n=b+16|0;o=Gn(c[n>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((i|0)!=0&(k|0)!=0&(m|0)!=0&(o|0)!=0)){Hn(i);Hn(k);Hn(m);Hn(o);p=9934;return p|0}q=c[b>>2]|0;c[b>>2]=q+1;c[h>>2]=i;c[j>>2]=k;c[l>>2]=m;c[n>>2]=o;o=i+(q<<2)|0;c[o>>2]=0;q=Gn(0,1)|0;if(q|0){a[q>>0]=0;c[o>>2]=q}q=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;h=Yq(d)|0;o=Gn(c[q>>2]|0,h+1|0)|0;if((o|0?(a[o+h>>0]=0,c[q>>2]=o,h|0):0)?(a[o>>0]=a[d>>0]|0,(h|0)!=1):0){o=1;do{a[(c[q>>2]|0)+o>>0]=a[d+o>>0]|0;o=o+1|0}while((o|0)!=(h|0))}h=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[h>>2]=0;o=Gn(0,1)|0;if(o|0){a[o>>0]=0;c[h>>2]=o}o=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;j=Yq(e)|0;h=Gn(c[o>>2]|0,j+1|0)|0;if((h|0?(a[h+j>>0]=0,c[o>>2]=h,j|0):0)?(a[h>>0]=a[e>>0]|0,(j|0)!=1):0){h=1;do{a[(c[o>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(j|0))}j=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[j>>2]=0;h=Gn(0,1)|0;if(h|0){a[h>>0]=0;c[j>>2]=h}h=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;l=Yq(f)|0;j=Gn(c[h>>2]|0,l+1|0)|0;if((j|0?(a[j+l>>0]=0,c[h>>2]=j,l|0):0)?(a[j>>0]=a[f>>0]|0,(l|0)!=1):0){j=1;do{a[(c[h>>2]|0)+j>>0]=a[f+j>>0]|0;j=j+1|0}while((j|0)!=(l|0))}l=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[l>>2]=0;j=Gn(0,1)|0;if(j|0){a[j>>0]=0;c[l>>2]=j}j=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=Yq(g)|0;n=Gn(c[j>>2]|0,b+1|0)|0;if(!n){p=0;return p|0}a[n+b>>0]=0;c[j>>2]=n;if(!b){p=0;return p|0}a[n>>0]=a[g>>0]|0;if((b|0)==1){p=0;return p|0}n=1;do{a[(c[j>>2]|0)+n>>0]=a[g+n>>0]|0;n=n+1|0}while((n|0)!=(b|0));p=0;return p|0}function on(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+28>>2]|0;if(b|0)Hn(b);c[a+32>>2]=0;b=a+68|0;d=a+72|0;e=c[d>>2]|0;f=a+76|0;if(!(c[b>>2]|0))g=e;else{h=0;i=e;while(1){e=i+(h<<2)|0;Hn(c[e>>2]|0);c[e>>2]=0;e=(c[f>>2]|0)+(h<<2)|0;Hn(c[e>>2]|0);c[e>>2]=0;h=h+1|0;e=c[d>>2]|0;if(h>>>0>=(c[b>>2]|0)>>>0){g=e;break}else i=e}}Hn(g);Hn(c[f>>2]|0);mn(a+80|0);Hn(c[a+132>>2]|0);Hn(c[a+136>>2]|0);Hn(c[a+140>>2]|0);return}function pn(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=z(i,h)|0;h=c[f>>2]|0;i=c[f+4>>2]|0;switch(h|0){case 3:case 0:{k=1;break}case 2:{k=3;break}case 4:{k=2;break}case 6:{k=4;break}default:k=0}f=(z(k,i)|0)>>>3;k=h>>>2&1;l=c[g>>2]|0;if((l|0)==(h|0)?(c[g+4>>2]|0)==(i|0):0){switch(h|0){case 3:case 0:{m=1;break}case 2:{m=3;break}case 4:{m=2;break}case 6:{m=4;break}default:m=0}n=((z(z(i,j)|0,m)|0)+7|0)>>>3;if(!n){o=0;return o|0}m=0;do{a[b+m>>0]=a[e+m>>0]|0;m=m+1|0}while((m|0)!=(n|0));o=0;return o|0}switch(h|0){case 6:case 2:break;default:{if(!((h|4|0)==4&(i|0)==8)){o=59;return o|0}if((l|4|0)!=4){o=62;return o|0}h=g+4|0;n=c[h>>2]|0;switch(n|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}m=g+16|0;p=g+20|0;if(!k){q=0;do{a[b+(z(q,f)|0)>>0]=a[e+q>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}q=0;do{r=z(q,f)|0;s=b+(r+1)|0;a[s>>0]=-1;t=e+q|0;a[b+r>>0]=a[t>>0]|0;if(c[m>>2]|0?(c[p>>2]|0)==(d[t>>0]|0|0):0)a[s>>0]=0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){q=0;do{a[b+(z(q,f)|0)>>0]=a[e+(q<<1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}else{q=0;do{p=q<<1;m=z(q,f)|0;a[b+m>>0]=a[e+p>>0]|0;a[b+(m+1)>>0]=a[e+(p|1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;p=g+20|0;if(!k){m=0;do{a[b+(z(m,f)|0)>>0]=a[e+(m<<1)>>0]|0;m=m+1|0}while((m|0)!=(j|0));o=0;return o|0}m=0;while(1){s=z(m,f)|0;t=b+(s+1)|0;a[t>>0]=-1;a[b+s>>0]=a[e+(m<<1)>>0]|0;if(c[q>>2]|0){s=m+1|0;if(((d[e+m>>0]|0)<<8|(d[e+s>>0]|0)|0)==(c[p>>2]|0)){a[t>>0]=0;u=s}else u=s}else u=m+1|0;if((u|0)==(j|0)){o=0;break}else m=u}return o|0}case 4:{if(!j){o=0;return o|0}if(!k){u=0;do{a[b+(z(u,f)|0)>>0]=a[e+(u<<2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}else{u=0;do{m=u<<2;p=z(u,f)|0;a[b+p>>0]=a[e+m>>0]|0;a[b+(p+1)>>0]=a[e+(m|2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}default:{if(l|0){o=31;return o|0}if(!j){o=0;return o|0}u=g+16|0;m=g+20|0;if(!k){p=0;q=0;s=n;while(1){if(!s){v=0;w=q}else{t=0;r=s+-1|0;x=q;while(1){y=x+1|0;A=(((d[e+(x>>>3)>>0]|0)>>>(x&7^7)&1)<>>0>=s>>>0){v=A;w=y;break}else{t=A;x=y}}}a[b+(z(p,f)|0)>>0]=((v*255|0)>>>0)/(((1<>>0)|0;x=p+1|0;if((x|0)==(j|0)){o=0;break}p=x;q=w;s=c[h>>2]|0}return o|0}s=0;w=0;q=n;while(1){if(!q){B=0;C=w}else{n=0;p=q+-1|0;v=w;while(1){x=v+1|0;t=(((d[e+(v>>>3)>>0]|0)>>>(v&7^7)&1)<>>0>=q>>>0){B=t;C=x;break}else{n=t;v=x}}}v=z(s,f)|0;n=b+(v+1)|0;a[n>>0]=-1;if((B|0)!=0&(c[u>>2]|0)!=0?(p=(1<>2])+-1|0,!((p|0)==0?1:(p|0)!=(c[m>>2]|0))):0)a[n>>0]=0;a[b+v>>0]=((B*255|0)>>>0)/(((1<>2])+-1|0)>>>0)|0;v=s+1|0;if((v|0)==(j|0)){o=0;break}s=v;w=C;q=c[h>>2]|0}return o|0}}}}if((i|0)!=8){o=59;return o|0}i=g+4|0;h=c[i>>2]|0;switch(h|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;C=g+20|0;if(!k){w=0;do{s=e+w|0;B=z(w,f)|0;a[b+B>>0]=a[s>>0]|0;a[b+(B+1)>>0]=a[s>>0]|0;a[b+(B+2)>>0]=a[s>>0]|0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}w=0;do{s=z(w,f)|0;B=b+(s+3)|0;a[B>>0]=-1;m=e+w|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;if(c[q>>2]|0?(c[C>>2]|0)==(d[m>>0]|0|0):0)a[B>>0]=0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}case 2:{if(!j){o=0;return o|0}w=(k|0)!=0;C=g+16|0;q=g+20|0;B=g+24|0;m=g+28|0;s=0;do{u=z(s,f)|0;if(w)a[b+(u+3)>>0]=-1;v=s*3|0;n=e+v|0;a[b+u>>0]=a[n>>0]|0;p=e+(v+1)|0;a[b+(u+1)>>0]=a[p>>0]|0;x=e+(v+2)|0;a[b+(u+2)>>0]=a[x>>0]|0;if((((w?(c[C>>2]|0)==1:0)?(c[q>>2]|0)==(d[n>>0]|0|0):0)?(c[B>>2]|0)==(d[p>>0]|0|0):0)?(c[m>>2]|0)==(d[x>>0]|0|0):0)a[b+(u+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 3:{if(!j){o=0;return o|0}s=g+12|0;m=(f|0)!=0;B=g+8|0;q=(f|0)==1;if(!k){C=0;while(1){w=e+C|0;u=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(u&255)>>>0){o=46;D=179;break}if(m?(x=z(C,f)|0,a[b+x>>0]=a[(c[B>>2]|0)+((u&255)<<2)>>0]|0,!q):0){u=1;do{a[b+(u+x)>>0]=a[(c[B>>2]|0)+(((d[w>>0]|0)<<2)+u)>>0]|0;u=u+1|0}while((u|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}else{C=0;while(1){u=z(C,f)|0;a[b+(u+3)>>0]=-1;w=e+C|0;x=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(x&255)>>>0){o=46;D=179;break}if(m?(a[b+u>>0]=a[(c[B>>2]|0)+((x&255)<<2)>>0]|0,!q):0){x=1;do{a[b+(x+u)>>0]=a[(c[B>>2]|0)+(((d[w>>0]|0)<<2)+x)>>0]|0;x=x+1|0}while((x|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}break}case 4:{if(!j){o=0;return o|0}if(!k){C=0;do{B=e+(C<<1)|0;q=z(C,f)|0;a[b+q>>0]=a[B>>0]|0;a[b+(q+1)>>0]=a[B>>0]|0;a[b+(q+2)>>0]=a[B>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}else{C=0;do{B=C<<1;q=e+B|0;m=z(C,f)|0;a[b+m>>0]=a[q>>0]|0;a[b+(m+1)>>0]=a[q>>0]|0;a[b+(m+2)>>0]=a[q>>0]|0;a[b+(m+3)>>0]=a[e+(B|1)>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}C=0;do{B=C<<2;m=z(C,f)|0;q=0;do{a[b+(q+m)>>0]=a[e+(q+B)>>0]|0;q=q+1|0}while((q|0)!=(f|0));C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}C=g+16|0;q=g+20|0;if(!k){B=0;do{m=e+(B<<1)|0;s=z(B,f)|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;B=B+1|0}while((B|0)!=(j|0));o=0;return o|0}B=0;while(1){m=z(B,f)|0;s=b+(m+3)|0;a[s>>0]=-1;x=e+(B<<1)|0;a[b+m>>0]=a[x>>0]|0;a[b+(m+1)>>0]=a[x>>0]|0;a[b+(m+2)>>0]=a[x>>0]|0;if(c[C>>2]|0){x=B+1|0;if(((d[e+B>>0]|0)<<8|(d[e+x>>0]|0)|0)==(c[q>>2]|0)){a[s>>0]=0;E=x}else E=x}else E=B+1|0;if((E|0)==(j|0)){o=0;break}else B=E}return o|0}case 2:{if(!j){o=0;return o|0}E=(k|0)!=0;B=g+16|0;q=g+20|0;C=g+24|0;x=g+28|0;s=0;do{m=z(s,f)|0;if(E)a[b+(m+3)>>0]=-1;w=s*6|0;u=e+w|0;a[b+m>>0]=a[u>>0]|0;p=e+(w+2)|0;a[b+(m+1)>>0]=a[p>>0]|0;n=e+(w+4)|0;a[b+(m+2)>>0]=a[n>>0]|0;if((((E?c[B>>2]|0:0)?((d[u>>0]|0)<<8|(d[e+(w|1)>>0]|0)|0)==(c[q>>2]|0):0)?((d[p>>0]|0)<<8|(d[e+(w+3)>>0]|0)|0)==(c[C>>2]|0):0)?((d[n>>0]|0)<<8|(d[e+(w+5)>>0]|0)|0)==(c[x>>2]|0):0)a[b+(m+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){s=0;do{x=e+(s<<2)|0;C=z(s,f)|0;a[b+C>>0]=a[x>>0]|0;a[b+(C+1)>>0]=a[x>>0]|0;a[b+(C+2)>>0]=a[x>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}else{s=0;do{x=s<<2;C=e+x|0;q=z(s,f)|0;a[b+q>>0]=a[C>>0]|0;a[b+(q+1)>>0]=a[C>>0]|0;a[b+(q+2)>>0]=a[C>>0]|0;a[b+(q+3)>>0]=a[e+(x|2)>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}s=0;do{x=s<<3;q=z(s,f)|0;C=0;do{a[b+(C+q)>>0]=a[e+((C<<1)+x)>>0]|0;C=C+1|0}while((C|0)!=(f|0));s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}default:switch(l|0){case 0:{if(!j){o=0;return o|0}l=(k|0)==0;s=g+16|0;C=g+20|0;x=0;q=0;B=h;while(1){if(!B){F=0;G=x}else{E=0;m=B+-1|0;w=x;while(1){n=w+1|0;p=(((d[e+(w>>>3)>>0]|0)>>>(w&7^7)&1)<>>0>=B>>>0){F=p;G=n;break}else{E=p;w=n}}}w=z(q,f)|0;if((!l?(E=b+(w+3)|0,a[E>>0]=-1,(F|0)!=0&(c[s>>2]|0)!=0):0)?(m=(1<>2])+-1|0,!((m|0)==0?1:(m|0)!=(c[C>>2]|0))):0)a[E>>0]=0;E=(((F*255|0)>>>0)/(((1<>2])+-1|0)>>>0)|0)&255;a[b+w>>0]=E;a[b+(w+1)>>0]=E;a[b+(w+2)>>0]=E;E=q+1|0;if((E|0)==(j|0)){o=0;break}x=G;q=E;B=c[i>>2]|0}return o|0}case 3:{if(!j){o=0;return o|0}B=(k|0)==0;k=g+12|0;q=(f|0)==0;G=g+8|0;g=0;x=0;F=h;while(1){if(!F){H=0;I=x}else{h=0;C=F+-1|0;s=x;while(1){l=s+1|0;E=(((d[e+(s>>>3)>>0]|0)>>>(s&7^7)&1)<>>0>=F>>>0){H=E;I=l;break}else{h=E;s=l}}}if(!B)a[b+((z(g,f)|0)+3)>>0]=-1;if(H>>>0>=(c[k>>2]|0)>>>0){o=47;D=179;break}if(!q){s=H<<2;h=z(g,f)|0;C=0;do{a[b+(C+h)>>0]=a[(c[G>>2]|0)+(C+s)>>0]|0;C=C+1|0}while((C|0)!=(f|0))}C=g+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}g=C;x=I;F=c[i>>2]|0}if((D|0)==179)return o|0;break}default:{o=0;return o|0}}}return 0}function qn(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;if((e|0)==0|(f|0)==0){c[b+208>>2]=48;return}if(f>>>0<29){c[b+208>>2]=27;return}f=b+52|0;on(f);g=b+56|0;c[g>>2]=0;c[f>>2]=0;h=b+88|0;i=b+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[i>>2]=6;h=b+76|0;c[h>>2]=8;c[b+80>>2]=0;c[b+84>>2]=0;j=b+68|0;c[j>>2]=0;k=b+60|0;c[k>>2]=0;l=b+64|0;c[l>>2]=0;m=b+104|0;c[b+168>>2]=0;n=b+184|0;o=m;p=o+48|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));a[m+48>>0]=0;m=b+208|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;if((((((((a[e>>0]|0)==-119?(a[e+1>>0]|0)==80:0)?(a[e+2>>0]|0)==78:0)?(a[e+3>>0]|0)==71:0)?(a[e+4>>0]|0)==13:0)?(a[e+5>>0]|0)==10:0)?(a[e+6>>0]|0)==26:0)?(a[e+7>>0]|0)==10:0){n=e+12|0;if((((a[n>>0]|0)==73?(a[e+13>>0]|0)==72:0)?(a[e+14>>0]|0)==68:0)?(a[e+15>>0]|0)==82:0){c[f>>2]=d[e+17>>0]<<16|d[e+16>>0]<<24|d[e+18>>0]<<8|d[e+19>>0];c[g>>2]=d[e+21>>0]<<16|d[e+20>>0]<<24|d[e+22>>0]<<8|d[e+23>>0];c[h>>2]=d[e+24>>0];c[i>>2]=d[e+25>>0];g=d[e+26>>0]|0;c[k>>2]=g;c[l>>2]=d[e+27>>0];c[j>>2]=d[e+28>>0];do if(!(c[b+4>>2]|0)){f=d[e+30>>0]<<16|d[e+29>>0]<<24|d[e+31>>0]<<8|d[e+32>>0];if((f|0)==(jn(n,17)|0)){q=c[k>>2]|0;break}c[m>>2]=57;return}else q=g;while(0);if(q|0){c[m>>2]=32;return}if(c[l>>2]|0){c[m>>2]=33;return}if((c[j>>2]|0)>>>0>1){c[m>>2]=34;return}j=c[h>>2]|0;switch(c[i>>2]|0){case 0:{switch(j|0){case 1:case 2:case 4:case 8:case 16:{r=35;break}default:s=37}break}case 2:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 3:{switch(j|0){case 1:case 2:case 4:case 8:{r=35;break}default:s=37}break}case 4:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 6:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}default:s=31}if((r|0)==35)s=0;c[m>>2]=s;return}c[m>>2]=29;return}c[m>>2]=28;return}function rn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;i=Ca;Ca=Ca+336|0;j=i+288|0;k=i+256|0;l=i+224|0;m=i+192|0;n=i+160|0;o=i+128|0;p=i+96|0;q=i+64|0;r=i+32|0;s=i;t=i+316|0;c[e>>2]=0;c[f>>2]=0;qn(b,g,h);u=b+208|0;if(c[u>>2]|0){Ca=i;return}v=g;w=b+4|0;x=b+80|0;y=b+84|0;A=b+72|0;B=b+88|0;C=b+100|0;D=b+96|0;E=b+92|0;F=b+12|0;G=b+104|0;H=b+116|0;I=b+112|0;J=b+108|0;K=j+8|0;L=j+4|0;M=b+16|0;N=j+8|0;O=j+4|0;P=b+152|0;Q=b+156|0;R=b+160|0;S=b+161|0;T=b+162|0;U=b+163|0;V=b+164|0;W=b+168|0;X=b+172|0;Y=b+176|0;Z=b+180|0;_=b+120|0;$=b+132|0;a:do if(h>>>0<45){aa=0;ba=4}else{ca=g+33|0;da=0;ea=1;fa=0;ga=0;ha=0;ia=45;b:while(1){ja=ca+1|0;ka=ca+2|0;la=ca+3|0;ma=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0];if((ma|0)<0){ba=6;break}if((ma+ia|0)>>>0>h>>>0){ba=9;break}if((ca+ma+12|0)>>>0>>0){ba=9;break}na=ca+8|0;oa=ca+4|0;pa=a[oa>>0]|0;c:do switch(pa<<24>>24){case 73:{switch(a[ca+5>>0]|0){case 68:break;case 69:{if((a[ca+6>>0]|0)!=78){ba=187;break b}if((a[ca+7>>0]|0)==68){qa=1;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}else{ba=187;break b}break}default:{ba=187;break b}}if((a[ca+6>>0]|0)!=65){ba=187;break b}if((a[ca+7>>0]|0)!=84){ba=187;break b}wa=ma+ha|0;if(ga>>>0>>0){xa=wa<<1;ya=Gn(fa,xa)|0;if(!ya){ba=19;break b}else{za=ya;Aa=xa}}else{za=fa;Aa=ga}if(!ma){qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}else{xa=0;do{a[za+(xa+ha)>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(ma|0));qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}break}case 80:{if((a[ca+5>>0]|0)!=76){ba=187;break b}if((a[ca+6>>0]|0)!=84){ba=187;break b}if((a[ca+7>>0]|0)!=69){ba=187;break b}wa=c[x>>2]|0;if(wa|0)Hn(wa);wa=(ma>>>0)/3|0;c[y>>2]=wa;xa=En(wa<<2)|0;c[x>>2]=xa;wa=c[y>>2]|0;if(!xa)if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}else{ba=29;break b}if(wa>>>0>256){ba=31;break b}if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha}else{wa=0;ya=0;Ba=xa;while(1){xa=ya<<2;a[Ba+xa>>0]=a[na+wa>>0]|0;a[(c[x>>2]|0)+(xa|1)>>0]=a[na+(wa+1)>>0]|0;a[(c[x>>2]|0)+(xa|2)>>0]=a[na+(wa+2)>>0]|0;a[(c[x>>2]|0)+(xa|3)>>0]=-1;xa=ya+1|0;if(xa>>>0>=(c[y>>2]|0)>>>0){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}wa=wa+3|0;ya=xa;Ba=c[x>>2]|0}}break}case 116:{switch(a[ca+5>>0]|0){case 82:{if((a[ca+6>>0]|0)!=78){ba=188;break c}if((a[ca+7>>0]|0)!=83){ba=188;break c}switch(c[A>>2]|0){case 3:{if(ma>>>0>(c[y>>2]|0)>>>0){ba=41;break b}if(!ma){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}Ba=0;do{a[(c[x>>2]|0)+(Ba<<2|3)>>0]=a[na+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(ma|0));qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break}case 0:{if((ma|0)!=2){ba=46;break b}c[B>>2]=1;Ba=d[na>>0]<<8|d[ca+9>>0];c[C>>2]=Ba;c[D>>2]=Ba;c[E>>2]=Ba;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 2:{if((ma|0)!=6){ba=49;break b}c[B>>2]=1;c[E>>2]=d[na>>0]<<8|d[ca+9>>0];c[D>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[C>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=51;break b}}break}case 69:{if((a[ca+6>>0]|0)!=88){ba=188;break c}if((a[ca+7>>0]|0)!=116){ba=188;break c}if(!(c[F>>2]|0)){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}if(!(c[u>>2]|0)){d:do if(!ma){Da=0;ba=72}else{Ba=0;while(1){ya=Ba+1|0;if(!(a[na+Ba>>0]|0)){Ea=Ba;Fa=ya;break d}if(ya>>>0>>0)Ba=ya;else{Da=ya;ba=72;break}}}while(0);if((ba|0)==72){ba=0;Ea=Da;Fa=Da+1|0}do if(ma>>>0>Fa>>>0){Ba=En(Fa)|0;if(Ba){a[Ba+Ea>>0]=0;if(Ea|0){ya=0;do{a[Ba+ya>>0]=a[na+ya>>0]|0;ya=ya+1|0}while((ya|0)!=(Ea|0))}if(ma>>>0>>0){Ga=0;Ha=Ba;Ia=75}else{ya=ma-Fa|0;wa=En(ya+1|0)|0;if(!wa){Ga=0;Ha=Ba;Ia=9939;break}a[wa+ya>>0]=0;if(ya|0){xa=0;do{a[wa+xa>>0]=a[na+(xa+Fa)>>0]|0;xa=xa+1|0}while((xa|0)!=(ya|0))}Ga=wa;Ha=Ba;Ia=ln(_,Ba,wa)|0}}else{Ga=0;Ha=0;Ia=9938}}else{Ga=0;Ha=0;Ia=75}while(0);c[u>>2]=Ia;Ja=Ga;Ka=Ha}else{Ja=0;Ka=0}Hn(Ka);Hn(Ja);qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 73:{if((a[ca+6>>0]|0)!=77){ba=188;break c}if((a[ca+7>>0]|0)!=69){ba=188;break c}if((ma|0)!=7){ba=178;break b}a[P>>0]=1;c[Q>>2]=d[na>>0]<<8|d[ca+9>>0];a[R>>0]=a[ca+10>>0]|0;a[S>>0]=a[ca+11>>0]|0;a[T>>0]=a[ca+12>>0]|0;a[U>>0]=a[ca+13>>0]|0;a[V>>0]=a[ca+14>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=188;break c}}break}case 98:{if(((a[ca+5>>0]|0)==75?(a[ca+6>>0]|0)==71:0)?(a[ca+7>>0]|0)==68:0)switch(c[A>>2]|0){case 3:{if((ma|0)!=1){ba=57;break b}c[G>>2]=1;ya=d[na>>0]|0;c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 4:case 0:{if((ma|0)!=2){ba=60;break b}c[G>>2]=1;ya=d[na>>0]<<8|d[ca+9>>0];c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 6:case 2:{if((ma|0)!=6){ba=63;break b}c[G>>2]=1;c[J>>2]=d[na>>0]<<8|d[ca+9>>0];c[I>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[H>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}}else ba=188;break}case 122:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[K>>2]=0;c[L>>2]=0;do if(!(c[u>>2]|0)){e:do if(!ma)La=0;else{ya=0;while(1){if(!(a[na+ya>>0]|0)){La=ya;break e}xa=ya+1|0;if(xa>>>0>>0)ya=xa;else{La=xa;break}}}while(0);wa=La+2|0;if(ma>>>0<=wa>>>0){c[u>>2]=75;Ma=0;Na=0;break}Ba=La+1|0;ya=En(Ba)|0;if(!ya){c[u>>2]=9940;Ma=0;Na=0;break}a[ya+La>>0]=0;if(La|0){xa=0;do{a[ya+xa>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(La|0))}if(a[na+Ba>>0]|0){c[u>>2]=72;Ma=ya;Na=0;break}if(ma>>>0>>0){c[u>>2]=75;Ma=ya;Na=0;break}xa=gn(j,L,na+wa|0,ma-wa|0,b)|0;c[u>>2]=xa;if(xa|0){Ma=ya;Na=c[j>>2]|0;break}xa=c[L>>2]|0;Oa=xa+1|0;do if((c[K>>2]|0)>>>0>>0){Pa=Oa<<1;Qa=c[j>>2]|0;Ra=Gn(Qa,Pa)|0;if(!Ra){Sa=Qa;break}c[K>>2]=Pa;c[j>>2]=Ra;Ta=Ra;ba=113}else{Ta=c[j>>2]|0;ba=113}while(0);if((ba|0)==113){ba=0;c[L>>2]=Oa;a[Ta+xa>>0]=0;Sa=Ta}c[u>>2]=ln(_,ya,Sa)|0;Ma=ya;Na=Sa}else{Ma=0;Na=0}while(0);Hn(Ma);Hn(Na);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 105:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[N>>2]=0;c[O>>2]=0;f:do if(!(c[u>>2]|0)){if(ma>>>0<5){c[u>>2]=76;Va=0;Wa=0;Xa=0;Ya=0;break}wa=0;while(1){if(!(a[na+wa>>0]|0)){Za=wa;break}Ba=wa+1|0;if(Ba>>>0>>0)wa=Ba;else{Za=Ba;break}}wa=Za+2|0;if(wa>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=0;Ya=0;break}ya=Za+1|0;xa=En(ya)|0;if(!xa){c[u>>2]=9941;Va=0;Wa=0;Xa=0;Ya=0;break}a[xa+Za>>0]=0;if(Za|0){Oa=0;do{a[xa+Oa>>0]=a[na+Oa>>0]|0;Oa=Oa+1|0}while((Oa|0)!=(Za|0))}Oa=a[na+ya>>0]|0;if(a[na+wa>>0]|0){c[u>>2]=72;Va=0;Wa=0;Xa=xa;Ya=0;break}Ba=Za+3|0;g:do if(Ba>>>0>>0){Ra=0;Pa=Ba;while(1){if(!(a[na+Pa>>0]|0)){_a=Ra;break g}Qa=Ra+1|0;Pa=Pa+1|0;if(Pa>>>0>=ma>>>0){_a=Qa;break}else Ra=Qa}}else _a=0;while(0);wa=_a+1|0;ya=wa+Ba|0;if(ya>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=xa;Ya=0;break}Ra=En(wa)|0;if(!Ra){c[u>>2]=9942;Va=0;Wa=0;Xa=xa;Ya=0;break}a[Ra+_a>>0]=0;if(_a|0){wa=0;do{a[Ra+wa>>0]=a[na+(wa+Ba)>>0]|0;wa=wa+1|0}while((wa|0)!=(_a|0))}wa=0;Ba=ya;while(1){if(!(a[na+Ba>>0]|0)){$a=wa;break}Pa=wa+1|0;Ba=Ba+1|0;if(Ba>>>0>=ma>>>0){$a=Pa;break}else wa=Pa}wa=$a+1|0;Ba=wa+ya|0;if(ma>>>0<=Ba>>>0){c[u>>2]=75;Va=0;Wa=Ra;Xa=xa;Ya=0;break}Pa=En(wa)|0;if(!Pa){c[u>>2]=9943;Va=0;Wa=Ra;Xa=xa;Ya=0;break}a[Pa+$a>>0]=0;if($a|0){wa=0;do{a[Pa+wa>>0]=a[na+(wa+ya)>>0]|0;wa=wa+1|0}while((wa|0)!=($a|0))}if(ma>>>0>>0){c[u>>2]=75;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break}wa=ma-Ba|0;h:do if(!(Oa<<24>>24)){ya=wa+1|0;do if(ya){Qa=ya<<1;ab=Gn(0,Qa)|0;if(ab){c[N>>2]=Qa;c[j>>2]=ab;c[O>>2]=ya;a[ab+wa>>0]=0;if(!wa){bb=ab;break h}else{cb=ab;break}}else{c[u>>2]=9944;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break f}}else{c[O>>2]=0;a[0+wa>>0]=0;cb=0}while(0);ya=0;do{a[cb+ya>>0]=a[na+(ya+Ba)>>0]|0;ya=ya+1|0}while((ya|0)!=(wa|0));bb=cb}else{ya=gn(j,O,na+Ba|0,wa,b)|0;c[u>>2]=ya;if(ya|0){Va=Pa;Wa=Ra;Xa=xa;Ya=c[j>>2]|0;break f}ya=c[O>>2]|0;ab=ya+1|0;if((c[N>>2]|0)>>>0>>0){Qa=ab<<1;db=c[j>>2]|0;eb=Gn(db,Qa)|0;if(!eb){bb=db;break}c[N>>2]=Qa;c[j>>2]=eb;fb=eb}else fb=c[j>>2]|0;c[O>>2]=ab;a[fb+ya>>0]=0;bb=fb}while(0);c[u>>2]=nn($,xa,Ra,Pa,bb)|0;Va=Pa;Wa=Ra;Xa=xa;Ya=bb}else{Va=0;Wa=0;Xa=0;Ya=0}while(0);Hn(Xa);Hn(Wa);Hn(Va);Hn(Ya);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 112:{if(((a[ca+5>>0]|0)==72?(a[ca+6>>0]|0)==89:0)?(a[ca+7>>0]|0)==115:0){if((ma|0)!=9){ba=184;break b}c[W>>2]=1;c[X>>2]=d[ca+9>>0]<<16|d[na>>0]<<24|d[ca+10>>0]<<8|d[ca+11>>0];c[Y>>2]=d[ca+13>>0]<<16|d[ca+12>>0]<<24|d[ca+14>>0]<<8|d[ca+15>>0];a[Z>>0]=a[ca+16>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}default:if(!(pa&32)){ba=187;break b}else ba=188}while(0);if((ba|0)==188){ba=0;if(!(c[M>>2]|0)){qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}else{pa=ea+-1|0;na=b+184+(pa<<2)|0;wa=b+196+(pa<<2)|0;pa=ma+12|0;Ba=c[wa>>2]|0;Oa=Ba+pa|0;if(Oa>>>0>>0|Oa>>>0>>0){gb=77;ba=193;break}ya=Gn(c[na>>2]|0,Oa)|0;if(!ya){gb=9929;ba=193;break}c[na>>2]=ya;c[wa>>2]=Oa;Oa=ya+Ba|0;Ba=0;do{a[Oa+Ba>>0]=a[ca+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(pa|0));c[u>>2]=0;qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}}if((c[w>>2]|ra|0)==0?(pa=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0],Ba=ca+(pa+8)|0,Oa=d[Ba+1>>0]<<16|d[Ba>>0]<<24|d[Ba+2>>0]<<8|d[Ba+3>>0],(Oa|0)!=(jn(oa,pa+4|0)|0)):0){ba=197;break}if(qa<<24>>24){ba=200;break}ca=ca+((d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0])+12)|0;ia=ca-v+12|0;if(ca>>>0>>0|ia>>>0>h>>>0){aa=ta;ba=4;break a}else{da=ra;ea=sa;fa=ta;ga=ua;ha=va}}switch(ba|0){case 6:{c[u>>2]=63;Ua=fa;break a;break}case 9:{c[u>>2]=35;Ua=fa;break a;break}case 19:{c[u>>2]=9936;Ua=fa;break a;break}case 29:{c[y>>2]=0;c[u>>2]=9937;Ua=fa;break a;break}case 31:{c[u>>2]=38;Ua=fa;break a;break}case 41:{c[u>>2]=39;Ua=fa;break a;break}case 46:{c[u>>2]=40;Ua=fa;break a;break}case 49:{c[u>>2]=41;Ua=fa;break a;break}case 51:{c[u>>2]=42;Ua=fa;break a;break}case 57:{c[u>>2]=43;Ua=fa;break a;break}case 60:{c[u>>2]=44;Ua=fa;break a;break}case 63:{c[u>>2]=45;Ua=fa;break a;break}case 178:{c[u>>2]=73;Ua=fa;break a;break}case 184:{c[u>>2]=74;Ua=fa;break a;break}case 187:{c[u>>2]=69;Ua=fa;break a;break}case 193:{c[u>>2]=gb;Ua=fa;break a;break}case 197:{c[u>>2]=57;Ua=ta;break a;break}case 200:{if(c[u>>2]|0){Ua=ta;break a}c[t>>2]=0;ha=t+8|0;c[ha>>2]=0;ga=t+4|0;c[ga>>2]=0;ea=b+52|0;da=c[ea>>2]|0;ia=b+56|0;ca=c[ia>>2]|0;pa=b+76|0;Oa=c[pa>>2]|0;switch(c[A>>2]|0){case 3:case 0:{hb=1;break}case 2:{hb=3;break}case 4:{hb=2;break}case 6:{hb=4;break}default:hb=0}Ba=((z((z(z(Oa,ca)|0,hb)|0)+7|0,da)|0)>>>3)+ca|0;do if(Ba){ca=Ba<<1;da=Gn(0,ca)|0;if(da){c[ha>>2]=ca;c[t>>2]=da;da=c[u>>2]|0;c[ga>>2]=Ba;if(!da){ba=211;break}else break}else{c[u>>2]=9945;break}}else{c[ga>>2]=0;ba=211}while(0);if((ba|0)==211?(Ba=gn(t,ga,ta,va,b)|0,c[u>>2]=Ba,(Ba|0)==0):0){Ba=c[ia>>2]|0;fa=c[ea>>2]|0;da=c[A>>2]|0;ca=c[pa>>2]|0;switch(da|0){case 3:case 0:{ib=1;break}case 2:{ib=3;break}case 4:{ib=2;break}case 6:{ib=4;break}default:ib=0}Oa=((z(z(z(fa,Ba)|0,ca)|0,ib)|0)+7|0)>>>3;if(Oa){Ba=Gn(0,Oa<<1)|0;if(Ba){Ps(Ba|0,0,Oa|0)|0;fa=Ba;if(!(c[u>>2]|0)){jb=fa;kb=c[A>>2]|0;lb=c[pa>>2]|0;ba=221}else{mb=fa;nb=Oa}}else{ob=9946;pb=0;qb=0;ba=286}}else{jb=0;kb=da;lb=ca;ba=221}i:do if((ba|0)==221){ca=jb;da=c[t>>2]|0;switch(kb|0){case 3:case 0:{rb=1;break}case 2:{rb=3;break}case 4:{rb=2;break}case 6:{rb=4;break}default:rb=0}fa=z(rb,lb)|0;Ba=c[ea>>2]|0;ma=c[ia>>2]|0;if(!fa){ob=31;pb=jb;qb=Oa;ba=286}else{do if(!(c[b+68>>2]|0)){if(fa>>>0>=8){sb=sn(ca,da,Ba,ma,fa)|0;break}ya=z(Ba,fa)|0;wa=ya+7&-8;if((ya|0)==(wa|0)){sb=sn(ca,da,Ba,ma,fa)|0;break}na=sn(da,da,Ba,ma,fa)|0;if(na|0){ob=na;pb=jb;qb=Oa;ba=286;break i}if((ma|0)==0|(ya|0)==0)sb=0;else{na=0;ab=0;eb=0;while(1){Qa=0;db=ab;tb=na;while(1){ub=1<<(tb&7^7);if(!(1<<(db&7^7)&d[da+(db>>>3)>>0])){vb=ca+(tb>>>3)|0;wb=vb;xb=(ub^255)&d[vb>>0]}else{vb=ca+(tb>>>3)|0;wb=vb;xb=ub|d[vb>>0]}a[wb>>0]=xb;Qa=Qa+1|0;if((Qa|0)==(ya|0))break;else{db=db+1|0;tb=tb+1|0}}eb=eb+1|0;if((eb|0)==(ma|0)){sb=0;break}else{na=na+ya|0;ab=ab+wa|0}}}}else{tn(o,p,q,r,s,Ba,ma,fa);j:do if(fa>>>0>=8){wa=sn(da+(c[r>>2]|0)|0,da+(c[q>>2]|0)|0,c[o>>2]|0,c[p>>2]|0,fa)|0;if(!wa){ab=sn(da+(c[r+4>>2]|0)|0,da+(c[q+4>>2]|0)|0,c[o+4>>2]|0,c[p+4>>2]|0,fa)|0;if(!ab){ya=sn(da+(c[r+8>>2]|0)|0,da+(c[q+8>>2]|0)|0,c[o+8>>2]|0,c[p+8>>2]|0,fa)|0;if(!ya){na=sn(da+(c[r+12>>2]|0)|0,da+(c[q+12>>2]|0)|0,c[o+12>>2]|0,c[p+12>>2]|0,fa)|0;if(!na){eb=sn(da+(c[r+16>>2]|0)|0,da+(c[q+16>>2]|0)|0,c[o+16>>2]|0,c[p+16>>2]|0,fa)|0;if(!eb){tb=sn(da+(c[r+20>>2]|0)|0,da+(c[q+20>>2]|0)|0,c[o+20>>2]|0,c[p+20>>2]|0,fa)|0;if(tb|0){yb=0;zb=tb;Ab=tb;break}tb=sn(da+(c[r+24>>2]|0)|0,da+(c[q+24>>2]|0)|0,c[o+24>>2]|0,c[p+24>>2]|0,fa)|0;if(!tb)ba=255;else{yb=0;zb=tb;Ab=tb}}else{yb=0;zb=eb;Ab=eb}}else{yb=0;zb=na;Ab=na}}else{yb=0;zb=ya;Ab=ya}}else{yb=0;zb=ab;Ab=ab}}else{yb=0;zb=wa;Ab=wa}}else{wa=0;while(1){ab=da+(c[r+(wa<<2)>>2]|0)|0;ya=c[o+(wa<<2)>>2]|0;na=c[p+(wa<<2)>>2]|0;eb=sn(ab,da+(c[q+(wa<<2)>>2]|0)|0,ya,na,fa)|0;if(eb|0){yb=0;zb=eb;Ab=eb;break j}eb=da+(c[s+(wa<<2)>>2]|0)|0;tb=z(ya,fa)|0;ya=tb+7&-8;if(!((na|0)==0|(tb|0)==0)){db=0;Qa=0;xa=0;while(1){Ra=0;Pa=Qa;vb=db;while(1){ub=1<<(vb&7^7);if(!(1<<(Pa&7^7)&d[ab+(Pa>>>3)>>0])){Bb=eb+(vb>>>3)|0;Cb=Bb;Db=(ub^255)&d[Bb>>0]}else{Bb=eb+(vb>>>3)|0;Cb=Bb;Db=ub|d[Bb>>0]}a[Cb>>0]=Db;Ra=Ra+1|0;if((Ra|0)==(tb|0))break;else{Pa=Pa+1|0;vb=vb+1|0}}xa=xa+1|0;if((xa|0)==(na|0))break;else{db=db+tb|0;Qa=Qa+ya|0}}}wa=wa+1|0;if(wa>>>0>=7){ba=255;break}}}while(0);if((ba|0)==255){tn(j,k,l,m,n,Ba,ma,fa);if(fa>>>0>7){wa=fa>>>3;if(wa|0){ya=0;do{Qa=c[k+(ya<<2)>>2]|0;do if(Qa|0){tb=c[j+(ya<<2)>>2]|0;if(!tb)break;db=c[n+(ya<<2)>>2]|0;na=c[27888+(ya<<2)>>2]|0;xa=c[27856+(ya<<2)>>2]|0;eb=c[27824+(ya<<2)>>2]|0;ab=c[27792+(ya<<2)>>2]|0;vb=0;do{Pa=(z((z(vb,xa)|0)+na|0,Ba)|0)+eb|0;Ra=z(vb,tb)|0;Bb=0;do{ub=(z(Bb+Ra|0,wa)|0)+db|0;Eb=z(Pa+(z(Bb,ab)|0)|0,wa)|0;Fb=0;do{a[ca+(Fb+Eb)>>0]=a[da+(ub+Fb)>>0]|0;Fb=Fb+1|0}while((Fb|0)!=(wa|0));Bb=Bb+1|0}while((Bb|0)!=(tb|0));vb=vb+1|0}while((vb|0)!=(Qa|0))}while(0);ya=ya+1|0}while((ya|0)!=7)}}else{ya=0;do{wa=c[j+(ya<<2)>>2]|0;Qa=c[k+(ya<<2)>>2]|0;if(!((wa|0)==0|(Qa|0)==0)){vb=c[27888+(ya<<2)>>2]|0;tb=c[27856+(ya<<2)>>2]|0;ab=c[27824+(ya<<2)>>2]|0;db=c[27792+(ya<<2)>>2]|0;eb=c[n+(ya<<2)>>2]<<3;na=0;do{xa=z(na,wa)|0;Bb=(z((z(na,tb)|0)+vb|0,Ba)|0)+ab|0;Pa=0;do{Ra=z(Bb+(z(Pa,db)|0)|0,fa)|0;Fb=0;ub=(z(Pa+xa|0,fa)|0)+eb|0;while(1){Eb=(d[da+(ub>>>3)>>0]|0)>>>(ub&7^7)&1;if(Eb|0){Gb=ca+(Ra>>>3)|0;a[Gb>>0]=Eb<<(Ra&7^7)|d[Gb>>0]}Fb=Fb+1|0;if((Fb|0)==(fa|0))break;else{Ra=Ra+1|0;ub=ub+1|0}}Pa=Pa+1|0}while((Pa|0)!=(wa|0));na=na+1|0}while((na|0)!=(Qa|0))}ya=ya+1|0}while((ya|0)!=7)}yb=1;zb=0;Ab=0}if(yb)sb=Ab;else{ob=zb;pb=jb;qb=Oa;ba=286;break i}}while(0);ob=sb;pb=jb;qb=Oa;ba=286}}while(0);if((ba|0)==286){c[u>>2]=ob;mb=pb;nb=qb}c[e>>2]=mb;c[f>>2]=nb}c[ha>>2]=0;c[ga>>2]=0;Hn(c[t>>2]|0);Ua=ta;break a;break}}}while(0);if((ba|0)==4){c[u>>2]=30;Ua=aa}Hn(Ua);if(c[u>>2]|0){Ca=i;return}Ua=b+20|0;aa=b+72|0;if(!(c[b+8>>2]|0)){ba=b+28|0;ta=c[ba>>2]|0;if(ta|0)Hn(ta);c[Ua>>2]=c[aa>>2];c[Ua+4>>2]=c[aa+4>>2];c[Ua+8>>2]=c[aa+8>>2];c[Ua+12>>2]=c[aa+12>>2];c[Ua+16>>2]=c[aa+16>>2];c[Ua+20>>2]=c[aa+20>>2];c[Ua+24>>2]=c[aa+24>>2];c[Ua+28>>2]=c[aa+28>>2];ta=En(c[y>>2]<<2)|0;c[ba>>2]=ta;t=c[y>>2]|0;if(!ta){Hb=(t|0)==0?0:9935;c[u>>2]=Hb;Ca=i;return}if(!(t&1073741823)){Hb=0;c[u>>2]=Hb;Ca=i;return}a[ta>>0]=a[c[x>>2]>>0]|0;if(!(c[y>>2]&1073741823)){Hb=0;c[u>>2]=Hb;Ca=i;return}ta=1;do{a[(c[ba>>2]|0)+ta>>0]=a[(c[x>>2]|0)+ta>>0]|0;ta=ta+1|0}while(ta>>>0>2]<<2>>>0);Hb=0;c[u>>2]=Hb;Ca=i;return}Hb=c[Ua>>2]|0;if((Hb|0)==(c[aa>>2]|0)?(c[b+24>>2]|0)==(c[b+76>>2]|0):0){Ca=i;return}y=c[e>>2]|0;switch(Hb|0){case 6:case 2:break;default:if((c[b+24>>2]|0)!=8){c[u>>2]=56;Ca=i;return}}ta=b+52|0;x=c[ta>>2]|0;ba=b+56|0;t=c[ba>>2]|0;nb=c[b+24>>2]|0;switch(Hb|0){case 3:case 0:{Ib=1;break}case 2:{Ib=3;break}case 4:{Ib=2;break}case 6:{Ib=4;break}default:Ib=0}Hb=((z(z(z(t,x)|0,nb)|0,Ib)|0)+7|0)>>>3;c[f>>2]=Hb;Ib=En(Hb)|0;c[e>>2]=Ib;if(!Ib){c[u>>2]=9947;c[f>>2]=0}else c[u>>2]=pn(Ib,y,Ua,aa,c[ta>>2]|0,c[ba>>2]|0)|0;Hn(y);Ca=i;return}function sn(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0;h=(g+7|0)>>>3;i=((z(g,e)|0)+7|0)>>>3;if(!f){j=0;return j|0}e=i+1|0;g=(i|0)==0;k=(h|0)==0;l=(i|0)!=0;m=(h|0)!=0;n=h>>>0>>0;o=0;p=0;a:while(1){q=z(o,i)|0;r=z(o,e)|0;s=p;p=b+q|0;q=c+(r+1)|0;b:do switch(a[c+r>>0]|0){case 0:{if(!g){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}break}case 1:{if(!k){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(n){t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 2:{if(!s){if(!l)break b;t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}else{if(!l)break b;t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 3:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=((d[p+(t-h)>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=((d[s+t>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(((d[s+t>>0]|0)+(d[p+(t-h)>>0]|0)|0)>>>1)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 4:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{u=t-h|0;v=a[p+u>>0]|0;w=a[s+t>>0]|0;x=a[s+u>>0]|0;u=w&255;y=x&255;A=u-y|0;B=(A|0)>-1?A:0-A|0;A=v&255;C=A-y|0;D=(C|0)>-1?C:0-C|0;C=u+A+(z(y,-2)|0)|0;y=(C|0)>-1?C:0-C|0;a[p+t>>0]=(((B|0)>(D|0)|(B|0)>(y|0)?((D|0)>(y|0)?x:w):v)&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}default:{j=36;E=47;break a}}while(0);o=o+1|0;if(o>>>0>=f>>>0){j=0;E=47;break}}if((E|0)==47)return j|0;return 0}function tn(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;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,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;c[a>>2]=(g+7|0)>>>3;j=(h+7|0)>>>3;c[b>>2]=j;k=(c[a>>2]|0)==0?0:j;c[b>>2]=k;if(!k)c[a>>2]=0;k=a+4|0;c[k>>2]=(g+3|0)>>>3;l=b+4|0;c[l>>2]=j;m=(c[k>>2]|0)==0?0:j;c[l>>2]=m;if(!m)c[k>>2]=0;m=a+8|0;c[m>>2]=(g+3|0)>>>2;j=(h+3|0)>>>3;n=b+8|0;c[n>>2]=j;o=(c[m>>2]|0)==0?0:j;c[n>>2]=o;if(!o)c[m>>2]=0;o=a+12|0;c[o>>2]=(g+1|0)>>>2;j=(h+3|0)>>>2;p=b+12|0;c[p>>2]=j;q=(c[o>>2]|0)==0?0:j;c[p>>2]=q;if(!q)c[o>>2]=0;q=a+16|0;c[q>>2]=(g+1|0)>>>1;j=(h+1|0)>>>2;r=b+16|0;c[r>>2]=j;s=(c[q>>2]|0)==0?0:j;c[r>>2]=s;if(!s)c[q>>2]=0;s=a+20|0;c[s>>2]=g>>>1;j=(h+1|0)>>>1;t=b+20|0;c[t>>2]=j;u=(c[s>>2]|0)==0?0:j;c[t>>2]=u;if(!u)c[s>>2]=0;u=a+24|0;c[u>>2]=g;g=h>>>1;h=b+24|0;c[h>>2]=g;j=(c[u>>2]|0)==0?0:g;c[h>>2]=j;if(!j)c[u>>2]=0;c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;j=c[a>>2]|0;a=c[b>>2]|0;if(!j){v=0;w=0;x=0}else{b=z(j,i)|0;j=(b+7|0)>>>3;v=j;w=b;x=z(a,j+1|0)|0}j=d+4|0;c[j>>2]=x;x=e+4|0;c[x>>2]=(z(a,v)|0)+(c[e>>2]|0);v=f+4|0;c[v>>2]=(((z(w,a)|0)+7|0)>>>3)+(c[f>>2]|0);a=c[k>>2]|0;k=c[l>>2]|0;if(!a){y=0;A=0;B=0}else{l=z(a,i)|0;a=(l+7|0)>>>3;y=l;A=a;B=z(k,a+1|0)|0}a=d+8|0;c[a>>2]=B+(c[j>>2]|0);j=e+8|0;c[j>>2]=(z(k,A)|0)+(c[x>>2]|0);x=f+8|0;c[x>>2]=(((z(y,k)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[m>>2]|0;m=c[n>>2]|0;if(!v){C=0;D=0;E=0}else{n=z(v,i)|0;v=(n+7|0)>>>3;C=n;D=v;E=z(m,v+1|0)|0}v=d+12|0;c[v>>2]=E+(c[a>>2]|0);a=e+12|0;c[a>>2]=(z(m,D)|0)+(c[j>>2]|0);j=f+12|0;c[j>>2]=(((z(C,m)|0)+7|0)>>>3)+(c[x>>2]|0);x=c[o>>2]|0;o=c[p>>2]|0;if(!x){F=0;G=0;H=0}else{p=z(x,i)|0;x=(p+7|0)>>>3;F=p;G=x;H=z(o,x+1|0)|0}x=d+16|0;c[x>>2]=H+(c[v>>2]|0);v=e+16|0;c[v>>2]=(z(o,G)|0)+(c[a>>2]|0);a=f+16|0;c[a>>2]=(((z(F,o)|0)+7|0)>>>3)+(c[j>>2]|0);j=c[q>>2]|0;q=c[r>>2]|0;if(!j){I=0;J=0;K=0}else{r=z(j,i)|0;j=(r+7|0)>>>3;I=j;J=r;K=z(q,j+1|0)|0}j=d+20|0;c[j>>2]=K+(c[x>>2]|0);x=e+20|0;c[x>>2]=(z(q,I)|0)+(c[v>>2]|0);v=f+20|0;c[v>>2]=(((z(J,q)|0)+7|0)>>>3)+(c[a>>2]|0);a=c[s>>2]|0;s=c[t>>2]|0;if(!a){L=0;M=0;N=0}else{t=z(a,i)|0;a=(t+7|0)>>>3;L=t;M=a;N=z(s,a+1|0)|0}a=d+24|0;c[a>>2]=N+(c[j>>2]|0);j=e+24|0;c[j>>2]=(z(s,M)|0)+(c[x>>2]|0);x=f+24|0;c[x>>2]=(((z(L,s)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[a>>2]|0;a=c[u>>2]|0;u=c[h>>2]|0;if(!a){O=0;P=0;Q=0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=z(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=z(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}h=z(a,i)|0;i=(h+7|0)>>>3;O=h;P=i;Q=z(u,i+1|0)|0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=z(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=z(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}function un(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=Ca;Ca=Ca+224|0;j=i+212|0;k=i;if(!f){l=100;Ca=i;return l|0}m=c[f>>2]|0;if(!m){n=c[f+8>>2]|0;Tr(n,0,2)|0;o=ls(n)|0;if(o>>>0>268435456){l=333;Ca=i;return l|0}ns(n);p=En(o)|0;ms(p,1,o,n)|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;n=k+20|0;q=k+24|0;r=k+28|0;s=k+32|0;t=k+56|0;u=k+52|0;v=k+88|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;v=k+104|0;c[k+168>>2]=0;w=k+184|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;x=v;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[v+48>>0]=0;v=k+208|0;c[v>>2]=1;c[n>>2]=g;c[q>>2]=h;rn(k,b,j,p,o);o=c[v>>2]|0;c[d>>2]=c[u>>2];c[e>>2]=c[t>>2];t=c[r>>2]|0;if(t|0)Hn(t);c[s>>2]=0;on(k+52|0);Hn(p);z=o;A=c[f>>2]|0}else{z=0;A=m}if((A|0)!=1){l=z;Ca=i;return l|0}c[f+20>>2]=0;z=c[f+12>>2]|0;A=c[f+16>>2]|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;f=k+20|0;m=k+24|0;o=k+28|0;p=k+32|0;s=k+56|0;t=k+52|0;r=k+88|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;r=k+104|0;c[k+168>>2]=0;u=k+184|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;x=r;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[r+48>>0]=0;r=k+208|0;c[r>>2]=1;c[f>>2]=g;c[m>>2]=h;rn(k,b,j,z,A);A=c[r>>2]|0;c[d>>2]=c[t>>2];c[e>>2]=c[s>>2];s=c[o>>2]|0;if(s|0)Hn(s);c[p>>2]=0;on(k+52|0);l=A;Ca=i;return l|0}function vn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return un(a,b,c,d,6,8)|0} + +// EMSCRIPTEN_END_FUNCS +var Fa=[$s];var Ga=[at,Tp,Va,Wa,mf,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,_g,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Xh,Yh,Zh,_h,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,ji,ki,li,mi,ni,oi,pi,qi,ri,si,ti,ui,vi,wi,xi,yi,zi,Ef,nf,lf,ff,ef,gf,hf,jf,kf,pf,xf,qf,Ai,Af,Bf,Bi,Ci,Di,Ei,Fi,Gi,Hi,Ii,Ji,ck,at];var Ha=[bt,af,gk,bt];var Ia=[ct,Zp,Vp,Rq,Ze,_p,Up,Or];var Ja=[dt,Vi];var Ka=[et,Sk];var La=[ft,Ya];var Ma=[gt,xd,Bd,bf,Xb,tf,uf,Vf];var Na=[ht,Xa];var Oa=[it];return{___divdi3:Es,___emscripten_environ_constructor:vs,___errno_location:Xp,___muldi3:Gs,___udivdi3:Hs,__get_daylight:xs,__get_environ:zs,__get_timezone:ys,__get_tzname:ws,_bitshift64Lshr:Is,_bitshift64Shl:Js,_codo_mixer_callback:Qn,_free:Op,_i64Add:As,_i64Subtract:Bs,_llvm_bswap_i32:Ks,_main:yb,_malloc:Np,_memcpy:Os,_memset:Ps,_mix_0:Ho,_realloc:Qp,_saveSetjmp:Ls,_sbrk:Qs,_setThrew:Ns,_testSetjmp:Ms,dynCall_i:Rs,dynCall_ii:Ss,dynCall_iii:Ts,dynCall_iiii:Us,dynCall_iiiii:Vs,dynCall_v:Ws,dynCall_vi:Xs,dynCall_vii:Ys,dynCall_viii:Zs,dynCall_viiiii:_s,establishStackSpace:Sa,stackAlloc:Pa,stackRestore:Ra,stackSave:Qa}}) + + +// EMSCRIPTEN_END_ASM +(asmGlobalArg, asmLibraryArg, buffer); + +var ___divdi3 = Module["___divdi3"] = asm["___divdi3"]; + +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = asm["___emscripten_environ_constructor"]; + +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; + +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; + +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; + +var __get_daylight = Module["__get_daylight"] = asm["__get_daylight"]; + +var __get_environ = Module["__get_environ"] = asm["__get_environ"]; + +var __get_timezone = Module["__get_timezone"] = asm["__get_timezone"]; + +var __get_tzname = Module["__get_tzname"] = asm["__get_tzname"]; + +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; + +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; + +var _codo_mixer_callback = Module["_codo_mixer_callback"] = asm["_codo_mixer_callback"]; + +var _free = Module["_free"] = asm["_free"]; + +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; + +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; + +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; + +var _main = Module["_main"] = asm["_main"]; + +var _malloc = Module["_malloc"] = asm["_malloc"]; + +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; + +var _memset = Module["_memset"] = asm["_memset"]; + +var _mix_0 = Module["_mix_0"] = asm["_mix_0"]; + +var _realloc = Module["_realloc"] = asm["_realloc"]; + +var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"]; + +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; + +var _setThrew = Module["_setThrew"] = asm["_setThrew"]; + +var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"]; + +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; + +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; + +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; + +var stackSave = Module["stackSave"] = asm["stackSave"]; + +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; + +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; + +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; + +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; + +var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"]; + +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; + +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; + +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; + +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; + +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; + +Module["asm"] = asm; + +Module["ccall"] = ccall; + +Module["getValue"] = getValue; + +Module["getMemory"] = getMemory; + +Module["addRunDependency"] = addRunDependency; + +Module["removeRunDependency"] = removeRunDependency; + +Module["FS_createFolder"] = FS.createFolder; + +Module["FS_createPath"] = FS.createPath; + +Module["FS_createDataFile"] = FS.createDataFile; + +Module["FS_createPreloadedFile"] = FS.createPreloadedFile; + +Module["FS_createLazyFile"] = FS.createLazyFile; + +Module["FS_createLink"] = FS.createLink; + +Module["FS_createDevice"] = FS.createDevice; + +Module["FS_unlink"] = FS.unlink; + +if (memoryInitializer) { + if (!isDataURI(memoryInitializer)) { + memoryInitializer = locateFile(memoryInitializer); + } + if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { + var data = Module["readBinary"](memoryInitializer); + HEAPU8.set(data, GLOBAL_BASE); + } else { + addRunDependency("memory initializer"); + var applyMemoryInitializer = function(data) { + if (data.byteLength) data = new Uint8Array(data); + HEAPU8.set(data, GLOBAL_BASE); + if (Module["memoryInitializerRequest"]) delete Module["memoryInitializerRequest"].response; + removeRunDependency("memory initializer"); + }; + var doBrowserLoad = function() { + Module["readAsync"](memoryInitializer, applyMemoryInitializer, function() { + throw "could not load memory initializer " + memoryInitializer; + }); + }; + var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer); + if (memoryInitializerBytes) { + applyMemoryInitializer(memoryInitializerBytes.buffer); + } else if (Module["memoryInitializerRequest"]) { + var useRequest = function() { + var request = Module["memoryInitializerRequest"]; + var response = request.response; + if (request.status !== 200 && request.status !== 0) { + var data = tryParseAsDataURI(Module["memoryInitializerRequestURL"]); + if (data) { + response = data.buffer; + } else { + console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer); + doBrowserLoad(); + return; + } + } + applyMemoryInitializer(response); + }; + if (Module["memoryInitializerRequest"].response) { + setTimeout(useRequest, 0); + } else { + Module["memoryInitializerRequest"].addEventListener("load", useRequest); + } + } else { + doBrowserLoad(); + } + } +} + +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 calledMain = false; + +dependenciesFulfilled = function runCaller() { + if (!Module["calledRun"]) run(); + if (!Module["calledRun"]) dependenciesFulfilled = runCaller; +}; + +Module["callMain"] = function callMain(args) { + args = args || []; + ensureInitRuntime(); + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(Module["thisProgram"]); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]); + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv, 0); + exit(ret, true); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else if (e == "SimulateInfiniteLoop") { + Module["noExitRuntime"] = true; + return; + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [ e, e.stack ]; + } + err("exception thrown: " + toLog); + Module["quit"](1, e); + } + } finally { + calledMain = true; + } +}; + +function run(args) { + args = args || Module["arguments"]; + if (runDependencies > 0) { + 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"] = run; + +function exit(status, implicit) { + if (implicit && Module["noExitRuntime"] && status === 0) { + return; + } + if (Module["noExitRuntime"]) {} else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status); + } + Module["quit"](status, new ExitStatus(status)); +} + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + if (what !== undefined) { + out(what); + err(what); + what = JSON.stringify(what); + } else { + what = ""; + } + ABORT = true; + EXITSTATUS = 1; + throw "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; +} + +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; +} + +Module["noExitRuntime"] = true; + +run(); + diff --git a/main.p8 b/main.p8 index fb43be4..79fe0c0 100644 --- a/main.p8 +++ b/main.p8 @@ -405,20 +405,32 @@ end bees_hello = {"hey!","greetings.","hi!","howdy!","bonjour!","good day."} bees_ok = {"all is right!","you okay?","i'm fine!","all the best for you.","all hail the queen!","la probabilité de voir ce message est de 0.005%."} +bees_ciao = {"see you!","ciao!","au revoir.","see you soon!","thanks."} function talk_to_bee(bee) dtb_disp(bee.name..": "..bees_hello[1+flr(rnd(#bees_hello))]) if(bee.cur_pln > bee.max_pln) then - dtb_disp(bee.name..": j'ai trop de pollen!") - dtb_disp(bee.name..": est-ce que tu peux m'en prendre?") + dtb_disp(bee.name..": i have too much pollen!") + dtb_disp(bee.name..": can you take me some?") + if(p.cur_pln0) then + local qt=min(p.cur_pln,bee.max_pln-bee.cur_pln) + bee.cur_pln+=qt + p.cur_pln-=qt + end else dtb_disp(bee.name..": "..bees_ok[1+flr(rnd(#bees_ok))]) end end + dtb_disp(bee.name..": "..bees_ciao[1+flr(rnd(#bees_ciao))]) p.action=false end @@ -587,7 +599,7 @@ function exploration_draw() end spr(68,2,1,2,1) palt(9,false) - if(p.cur_pln > p.max_pln) then + if(p.cur_pln > p.max_pln) then -- does not work for i=1,p.max_pln-p.cur_pln do local offset=flr(rnd(16)) pset(2+offset,1+offset,9) diff --git a/staysafejam.zip b/staysafejam.zip new file mode 100644 index 0000000..1c4ba6b Binary files /dev/null and b/staysafejam.zip differ