circle-packing 0.1.0.4 → 0.1.0.5
raw patch · 8 files changed
+55217/−4 lines, 8 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- circle-packing.cabal +11/−2
- fay/fay-demo.html +1/−1
- ghcjs/ghcjs-demo.hs +78/−0
- ghcjs/ghcjs-demo.html +24/−0
- ghcjs/ghcjs-demo.jsexe/lib.js +2090/−0
- ghcjs/ghcjs-demo.jsexe/out.js +32104/−0
- ghcjs/ghcjs-demo.jsexe/rts.js +20908/−0
- haste/haste-demo.html +1/−1
circle-packing.cabal view
@@ -1,5 +1,5 @@ name: circle-packing-version: 0.1.0.4+version: 0.1.0.5 synopsis: Simple heuristic for packing discs of varying radii in a circle description: Given a number of circles with their radii, this packags tries to arrange them tightly, without overlap and forming a@@ -11,6 +11,9 @@ compared to the state of the art in research. Nevertheless it is simple to use and gives visually acceptable results. .+ You can explore the algorithm live at+ <http://darcs.nomeata.de/circle-packing/ghcjs/ghcjs-demo.html>.+ . Contributions of better algorithms are welcome. license: BSD3 license-file: LICENSE@@ -32,12 +35,18 @@ haste/haste-demo.js haste/haste-demo.html haste/helpers.js+ ghcjs/ghcjs-demo.jsexe/out.js+ ghcjs/ghcjs-demo.jsexe/rts.js+ ghcjs/ghcjs-demo.jsexe/lib.js+ ghcjs/ghcjs-demo.hs+ ghcjs/ghcjs-demo.html + library exposed-modules: Optimisation.CirclePacking build-depends: base == 4.2.* || == 4.3.* || == 4.4.* || == 4.5.* || == 4.6.* || == 4.7.* ||- == 4.8.*+ == 4.8.* || == 4.9.* ghc-options: -Wall source-repository head
fay/fay-demo.html view
@@ -13,7 +13,7 @@ This is a small live demonstration of the Haskell library <a href="http://hackage.haskell.org/package/circle-packing"><tt>circle-packing</tt></a> by <a href="http://www.joachim-breitner.de/">Joachim Breitner</a>:<br/> Given a number of circles with their radii, this packags tries to arrange them tightly, without overlap and forming a large circle.<br/> Finding the optimal solution is NP hard, so only heuristics are feasible. This particular implementation is neither very good nor very fast, compared to the state of the art in research. Nevertheless it is simple to use and gives visually acceptable results.<br/>- This particular demonstration uses the <a href="http://fay-lang.org/">Fay compiler</a> to generate JavaScript code from <a href="../Optimisation/CirclePacking.hs">the original Haskell code</a> and some <a href="fay-demo.hs">code to address the HTML5 canvas</a>, so although it runs in your browser, this <em>is</em> the Haskell code at work. There is an analougous <a href="../haste/haste-demo.html">demo based the Haste compiler</a>.+ This particular demonstration uses the <a href="http://fay-lang.org/">Fay compiler</a> to generate JavaScript code from <a href="../Optimisation/CirclePacking.hs">the original Haskell code</a> and some <a href="fay-demo.hs">code to address the HTML5 canvas</a>, so although it runs in your browser, this <em>is</em> the Haskell code at work. There is an analougous <a href="../haste/haste-demo.html">demo based the Haste compiler</a> and one using <a href="../ghcjs/ghcjs-demo.html">GHC-JS</a>. </p> </div> </body>
+ ghcjs/ghcjs-demo.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE EmptyDataDecls #-}++module Main (main) where++import Control.Applicative+import Control.Monad+import Control.Monad.Trans+import Optimisation.CirclePacking++import JavaScript.Canvas+import GHCJS.Types+import GHCJS.Foreign+import GHCJS.DOM+import GHCJS.DOM.Document+import GHCJS.DOM.Event+import GHCJS.DOM.EventM+import GHCJS.DOM.Element+import GHCJS.DOM.HTMLInputElement+import GHCJS.DOM.HTMLCanvasElement+import GHCJS.Marshal+import Control.Concurrent++-- | Main entry point.+main :: IO()+main = start++colors = ["Green","Silver", "Lime", "Gray", "Olive", "Yellow", "Maroon", "Navy", "Red", "Blue", "Purple", "Teal", "Fuchsia", "Aqua"]++start :: IO ()+start = do+ Just doc <- currentDocument+ Just input <- documentGetElementById doc "input"+ elementOnchange input (lift update)+ elementOnkeyup input (lift update)++ update++update :: IO ()+update = do+ Just doc <- currentDocument+ Just canvas' <- documentGetElementById doc "can"+ let canvas = castToHTMLCanvasElement canvas'++ w <- fromIntegral <$> htmlCanvasElementGetWidth canvas+ h <- fromIntegral <$> htmlCanvasElementGetHeight canvas++ context <- getContext . castRef =<< toJSRef canvas+ clearRect 0 0 w h context++ Just i' <- documentGetElementById doc "input"+ let i = castToHTMLInputElement i'+ value <- htmlInputElementGetValue i+ let radii = map read (words value)++ let colored = zip radii (cycle colors)+ let packed = packCircles fst colored++ forM_ packed $ \res -> case res of+ ((r,c),(x,y)) -> do+ fillStyleNamed c context+ fillCircle context (x + w/2) (y + h/2) r++fillCircle :: Context -> Double -> Double -> Double -> IO ()+fillCircle ctx x y r = do+ beginPath ctx+ arc x y r 0.0 (2.0 * pi) True ctx+ closePath ctx+ fill ctx+++-- JavaScript.Canvas.fillStyle does not allow for color names, so create our+-- own function here+foreign import javascript unsafe "$2.fillStyle = $1" js_fillStyleNamed :: JSString -> Context -> IO ()+fillStyleNamed :: String -> Context -> IO ()+fillStyleNamed f ctx = js_fillStyleNamed (toJSString f) ctx+{-# INLINE fillStyleNamed #-}++
+ ghcjs/ghcjs-demo.html view
@@ -0,0 +1,24 @@+<!doctype html>+<html>+ <head>+ <title>Demonstrating circle-packing</title>+ <script language="javascript" src="ghcjs-demo.jsexe/rts.js"></script>+ <script language="javascript" src="ghcjs-demo.jsexe/lib.js"></script>+ <script language="javascript" src="ghcjs-demo.jsexe/out.js"></script>++ </head>+ <body id="body" style="margin:0;padding:0">+ <div align="center">+ <canvas width="800" height="500" id="can"></canvas><br/>+ <input style="width: 800px" id="input" value="50 32 30 30 40 35 5 20 43 18 12"/><br/>+ <p style="width: 800px; text-align:justify; font-family:sans; font-size:80%">++ This is a small live demonstration of the Haskell library <a href="http://hackage.haskell.org/package/circle-packing"><tt>circle-packing</tt></a> by <a href="http://www.joachim-breitner.de/">Joachim Breitner</a>:<br/> + Given a number of circles with their radii, this packags tries to arrange them tightly, without overlap and forming a large circle.<br/>+Finding the optimal solution is NP hard, so only heuristics are feasible. This particular implementation is neither very good nor very fast, compared to the state of the art in research. Nevertheless it is simple to use and gives visually acceptable results.<br/>+ This particular demonstration uses <a href="https://github.com/ghcjs/ghcjs">GHC-JS</a> (from June 2015, using GHC-7.8.4) to generate JavaScript code from <a href="../Optimisation/CirclePacking.hs">the original Haskell code</a> and some <a href="ghcjs-demo.hs">code to address the HTML5 canvas</a>, so although it runs in your browser, this <em>is</em> the Haskell code at work. There is an analougous <a href="../fay/fay-demo.html">demo based the Fay compiler</a>, and one <a href="../haste/haste-demo.html">using haste</a>.+ </p>+ </div>+ <script language="javascript" defer>h$main(h$mainZCMainzimain);</script>+ </body>+</html>
+ ghcjs/ghcjs-demo.jsexe/lib.js view
@@ -0,0 +1,2090 @@+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// translated from bytestring cbits/fpstring.c+function h$fps_reverse(a_v, a_o, b_v, b_o, n) {+ if(n > 0) {+ var au8 = a_v.u8, bu8 = b_v.u8;+ for(var i=0;i<n;i++) {+ au8[a_o+n-i-1] = bu8[b_o+i];+ }+ }+}+function h$fps_intersperse(a_v,a_o,b_v,b_o,n,c) {+ if(n > 0) {+ var au8 = a_v.u8, bu8 = b_v.u8, dst_o = a_o;+ for(var i=0;i<n-1;i++) {+ au8[dst_o] = bu8[b_o+i];+ au8[dst_o+1] = c;+ dst_o += 2;+ }+ au8[dst_o] = bu8[b_o+n-1];+ }+}+function h$fps_maximum(a_v,a_o,n) {+ if(n > 0) {+ var au8 = a_v.u8, max = au8[a_o];+ for(var i=1;i<n;i++) {+ var c = au8[a_o+i];+ if(c > max) { max = c; }+ }+ return max;+ }+ return 0;+}+function h$fps_minimum(a_v,a_o,n) {+ if(n > 0) {+ var au8 = a_v.u8, min = a_v.u8[a_o];+ for(var i=1;i<n;i++) {+ var c = au8[a_o+i];+ if(c < min) { min = c; }+ }+ return min;+ }+ return 255;+}+function h$fps_count(a_v,a_o,n,c) {+ if(n > 0) {+ var au8 = a_v.u8, count = 0;+ for(var i=0;i<n;i++) {+ if(au8[a_o+i] === c) { count++; }+ }+ return count|0;+ }+ return 0;+}+function h$fps_memcpy_offsets(dst_d, dst_o, dst_off+ , src_d, src_o, src_off, n) {+ return memcpy(dst_d, dst_o + dst_off, src_d, src_o + src_off, n);+}+// translated from bytestring cbits/itoa.c+var h$_hs_bytestring_digits = [48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102]; // 0123456789abcdef+var h$_hs_bytestring_l10 = goog.math.Long.fromBits(10, 0);+var h$_hs_bytestring_b10 = h$bigFromInt(10);+// signed integers+function h$_hs_bytestring_int_dec(x, buf_d, buf_o) {+ var c, ptr = buf_o, next_free, x_tmp;+ var bu8 = buf_d.u8;+ // we cannot negate directly as 0 - (minBound :: Int) = minBound+ if(x < 0) {+ bu8[ptr++] = 45; // '-'+ buf_o++;+ x_tmp = x;+ x = (x / 10) | 0;+ bu8[ptr++] = h$_hs_bytestring_digits[x * 10 - x_tmp];+ if(x === 0) {+ h$ret1 = ptr;+ return buf_d;+ } else {+ x = -x;+ }+ }+ // encode positive number as little-endian decimal+ do {+ x_tmp = x;+ x = (x / 10) | 0;+ bu8[ptr++] = h$_hs_bytestring_digits[x_tmp - x * 10];+ } while (x);+ next_free = ptr--;+ while(buf_o < ptr) {+ c = bu8[ptr];+ bu8[ptr--] = bu8[buf_o];+ bu8[buf_o++] = c;+ }+ h$ret1 = next_free;+ return buf_d;+}+// signed long long ints (64 bit integers)+function h$_hs_bytestring_long_long_int_dec(x_a, x_b, buf_d, buf_o) {+ var l10 = h$_hs_bytestring_l10;+ var x = goog.math.Long.fromBits(x_b, x_a);+ var c, ptr = buf_o, next_free;+ var bu8 = buf_d.u8;+ // we cannot negate directly as 0 - (minBound :: Int) = minBound+ if(x.isNegative()) {+ bu8[ptr++] = 45; // '-';+ buf_o++;+ x_tmp = x;+ x = x.div(l10);+ bu8[ptr++] = h$_hs_bytestring_digits[x.multiply(l10).subtract(x_tmp).getLowBits()];+ if(x.isZero()) {+ h$ret1 = ptr;+ return buf_d;+ } else {+ x = x.negate();+ }+ }+ // encode positive number as little-endian decimal+ do {+ x_tmp = x;+ x = x.div(l10);+ bu8[ptr++] = h$_hs_bytestring_digits[x_tmp.subtract(x.multiply(l10))];+ } while (!x.isZero());+ // reverse written digits+ next_free = ptr--;+ while(buf_o < ptr) {+ c = bu8[ptr];+ bu8[ptr--] = bu8[buf_o];+ bu8[buf_o++] = c;+ }+ h$ret1 = next_free;+ return buf_d;+}+// unsigned integers+function h$_hs_bytestring_uint_dec(x, buf_d, buf_o) {+ var c, ptr = buf_o, next_free;+ var bu8 = buf_d.u8;+ var x_tmp;+ if(x < 0) x += 4294967296;+ do {+ x_tmp = x;+ x = (x / 10) | 0;+ bu8[ptr++] = h$_hs_bytestring_digits[x_tmp - x * 10];+ } while(x);+ next_free = ptr--;+ while(buf_o < ptr) {+ c = bu8[ptr];+ bu8[ptr--] = bu8[buf_o];+ bu8[buf_o++] = c;+ }+ h$ret1 = next_free;+ return buf_d;+}+function h$_hs_bytestring_long_long_uint_dec(x_a, x_b, buf_d, buf_o) {+ var b10 = h$_hs_bytestring_b10;+ var c, ptr = buf_o, next_free;+ var bu8 = buf_d.u8;+ var x = h$bigFromWord64(x_a, x_b), x_tmp;+ // encode positive number as little-endian decimal+ do {+ x_tmp = x;+ x = x.divide(b10);+ bu8[ptr++] = h$_hs_bytestring_digits[x_tmp.subtract(x.multiply(b10))];+ } while(x.signum() !== 0);+ // reverse written digits;+ next_free = ptr--;+ while(buf_o < ptr) {+ c = bu8[ptr];+ bu8[ptr--] = bu8[buf_o];+ bu8[buf_o++] = c;+ }+ h$ret1 = next_free;+ return buf_d;+}+// Padded, decimal, positive integers for the decimal output of bignums+///////////////////////////////////////////////////////////////////////+// Padded (9 digits), decimal, positive int:+// We will use it with numbers that fit in 31 bits; i.e., numbers smaller than+// 10^9, as "31 * log 2 / log 10 = 9.33"+function h$_hs_bytestring_int_dec_padded9(x, buf_d, buf_o) {+ var max_width_int32_dec = 9;+ var ptr = buf_o + max_width_int32_dec;+ var bu8 = buf_d.u8;+ var x_tmp;+ // encode positive number as little-endian decimal+ do {+ x_tmp = x;+ x = (x / 10) | 0;+ bu8[--ptr] = h$_hs_bytestring_digits[x_tmp - x * 10];+ } while(x);+ // pad beginning+ while (buf_o < ptr) { bu8[--ptr] = 48; }+}+// Padded (19 digits), decimal, positive long long int:+// We will use it with numbers that fit in 63 bits; i.e., numbers smaller than+// 10^18, as "63 * log 2 / log 10 = 18.96"+function h$_hs_bytestring_long_long_int_dec_padded18(x_a, x_b, buf_d, buf_o) {+ var l10 = h$_hs_bytestring_l10;+ var max_width_int64_dec = 18;+ var ptr = buf_o + max_width_int64_dec;+ var bu8 = buf_d.u8;+ var x = goog.math.Long.fromBits(x_b, x_a);+ // encode positive number as little-endian decimal+ do {+ x_tmp = x;+ x = x.div(l10);+ bu8[--ptr] = h$_hs_bytestring_digits[x_tmp.subtract(x.multiply(l10))];+ } while (!x.isZero());+ // pad beginning+ while (buf_o < ptr) { bu8[--ptr] = 48; }+}+///////////////////////+// Hexadecimal encoding+///////////////////////+// unsigned ints (32 bit words)+function h$_hs_bytestring_uint_hex(x, buf_d, buf_o) {+ var c, ptr = buf_o, next_free;+ var bu8 = buf_d.u8;+ // write hex representation in reverse order+ do {+ bu8[ptr++] = h$_hs_bytestring_digits[x & 0xf];+ x >>>= 4;+ } while(x);+ // invert written digits+ next_free = ptr--;+ while(buf_o < ptr) {+ c = bu8[ptr];+ bu8[ptr--] = bu8[buf_o];+ bu8[buf_o++] = c;+ }+ h$ret1 = next_free;+ return buf_d;+}+// unsigned long ints (64 bit words)+function h$_hs_bytestring_long_long_uint_hex(x_a, x_b, buf_d, buf_o) {+ // write hex representation in reverse order+ var c, ptr = buf_o, next_free;+ var bu8 = buf_d.u8;+ if(x_a === 0 && x_b === 0) {+ bu8[ptr++] = 48; // '0'+ } else {+ while(x_b !== 0) {+ bu8[ptr++] = h$_hs_bytestring_digits[x_b & 0xf];+ x_b >>>= 4;+ }+ while(x_a !== 0) {+ bu8[ptr++] = h$_hs_bytestring_digits[x_a & 0xf];+ x_a >>>= 4;+ }+ }+ // invert written digits+ next_free = ptr--;+ while(buf_o < ptr) {+ c = bu8[ptr];+ bu8[ptr--] = bu8[buf_o];+ bu8[buf_o++] = c;+ }+ h$ret1 = next_free;+ return buf_d;+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// Copyright 2011 The Closure Library Authors. All Rights Reserved.+//+// Licensed under the Apache License, Version 2.0 (the "License");+// you may not use this file except in compliance with the License.+// You may obtain a copy of the License at+//+// http://www.apache.org/licenses/LICENSE-2.0+//+// Unless required by applicable law or agreed to in writing, software+// distributed under the License is distributed on an "AS-IS" BASIS,+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+// See the License for the specific language governing permissions and+// limitations under the License.+/**+ * @fileoverview Abstract cryptographic hash interface.+ *+ * See goog.crypt.Sha1 and goog.crypt.Md5 for sample implementations.+ *+ */+goog.provide('goog.crypt.Hash');+/**+ * Create a cryptographic hash instance.+ *+ * @constructor+ * @struct+ */+goog.crypt.Hash = function() {+ /**+ * The block size for the hasher.+ * @type {number}+ */+ this.blockSize = -1;+};+/**+ * Resets the internal accumulator.+ */+goog.crypt.Hash.prototype.reset = goog.abstractMethod;+/**+ * Adds a byte array (array with values in [0-255] range) or a string (might+ * only contain 8-bit, i.e., Latin1 characters) to the internal accumulator.+ *+ * Many hash functions operate on blocks of data and implement optimizations+ * when a full chunk of data is readily available. Hence it is often preferable+ * to provide large chunks of data (a kilobyte or more) than to repeatedly+ * call the update method with few tens of bytes. If this is not possible, or+ * not feasible, it might be good to provide data in multiplies of hash block+ * size (often 64 bytes). Please see the implementation and performance tests+ * of your favourite hash.+ *+ * @param {Array<number>|Uint8Array|string} bytes Data used for the update.+ * @param {number=} opt_length Number of bytes to use.+ */+goog.crypt.Hash.prototype.update = goog.abstractMethod;+/**+ * @return {!Array<number>} The finalized hash computed+ * from the internal accumulator.+ */+goog.crypt.Hash.prototype.digest = goog.abstractMethod;+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// Copyright 2011 The Closure Library Authors. All Rights Reserved.+//+// Licensed under the Apache License, Version 2.0 (the "License");+// you may not use this file except in compliance with the License.+// You may obtain a copy of the License at+//+// http://www.apache.org/licenses/LICENSE-2.0+//+// Unless required by applicable law or agreed to in writing, software+// distributed under the License is distributed on an "AS-IS" BASIS,+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+// See the License for the specific language governing permissions and+// limitations under the License.+/**+ * @fileoverview MD5 cryptographic hash.+ * Implementation of http://tools.ietf.org/html/rfc1321 with common+ * optimizations and tweaks (see http://en.wikipedia.org/wiki/MD5).+ *+ * Usage:+ * var md5 = new goog.crypt.Md5();+ * md5.update(bytes);+ * var hash = md5.digest();+ *+ * Performance:+ * Chrome 23 ~680 Mbit/s+ * Chrome 13 (in a VM) ~250 Mbit/s+ * Firefox 6.0 (in a VM) ~100 Mbit/s+ * IE9 (in a VM) ~27 Mbit/s+ * Firefox 3.6 ~15 Mbit/s+ * IE8 (in a VM) ~13 Mbit/s+ *+ */+goog.provide('goog.crypt.Md5');+goog.require('goog.crypt.Hash');+/**+ * MD5 cryptographic hash constructor.+ * @constructor+ * @extends {goog.crypt.Hash}+ * @final+ * @struct+ */+goog.crypt.Md5 = function() {+ goog.crypt.Md5.base(this, 'constructor');+ this.blockSize = 512 / 8;+ /**+ * Holds the current values of accumulated A-D variables (MD buffer).+ * @type {!Array<number>}+ * @private+ */+ this.chain_ = new Array(4);+ /**+ * A buffer holding the data until the whole block can be processed.+ * @type {!Array<number>}+ * @private+ */+ this.block_ = new Array(this.blockSize);+ /**+ * The length of yet-unprocessed data as collected in the block.+ * @type {number}+ * @private+ */+ this.blockLength_ = 0;+ /**+ * The total length of the message so far.+ * @type {number}+ * @private+ */+ this.totalLength_ = 0;+ this.reset();+};+goog.inherits(goog.crypt.Md5, goog.crypt.Hash);+/**+ * Integer rotation constants used by the abbreviated implementation.+ * They are hardcoded in the unrolled implementation, so it is left+ * here commented out.+ * @type {Array<number>}+ * @private+ *+goog.crypt.Md5.S_ = [+ 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,+ 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20,+ 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,+ 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21+];+ */+/**+ * Sine function constants used by the abbreviated implementation.+ * They are hardcoded in the unrolled implementation, so it is left+ * here commented out.+ * @type {Array<number>}+ * @private+ *+goog.crypt.Md5.T_ = [+ 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee,+ 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501,+ 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,+ 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821,+ 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa,+ 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,+ 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed,+ 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a,+ 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,+ 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70,+ 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05,+ 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,+ 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039,+ 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1,+ 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,+ 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391+];+ */+/** @override */+goog.crypt.Md5.prototype.reset = function() {+ this.chain_[0] = 0x67452301;+ this.chain_[1] = 0xefcdab89;+ this.chain_[2] = 0x98badcfe;+ this.chain_[3] = 0x10325476;+ this.blockLength_ = 0;+ this.totalLength_ = 0;+};+/**+ * Internal compress helper function. It takes a block of data (64 bytes)+ * and updates the accumulator.+ * @param {Array<number>|Uint8Array|string} buf The block to compress.+ * @param {number=} opt_offset Offset of the block in the buffer.+ * @private+ */+goog.crypt.Md5.prototype.compress_ = function(buf, opt_offset) {+ if (!opt_offset) {+ opt_offset = 0;+ }+ // We allocate the array every time, but it's cheap in practice.+ var X = new Array(16);+ // Get 16 little endian words. It is not worth unrolling this for Chrome 11.+ if (goog.isString(buf)) {+ for (var i = 0; i < 16; ++i) {+ X[i] = (buf.charCodeAt(opt_offset++)) |+ (buf.charCodeAt(opt_offset++) << 8) |+ (buf.charCodeAt(opt_offset++) << 16) |+ (buf.charCodeAt(opt_offset++) << 24);+ }+ } else {+ for (var i = 0; i < 16; ++i) {+ X[i] = (buf[opt_offset++]) |+ (buf[opt_offset++] << 8) |+ (buf[opt_offset++] << 16) |+ (buf[opt_offset++] << 24);+ }+ }+ var A = this.chain_[0];+ var B = this.chain_[1];+ var C = this.chain_[2];+ var D = this.chain_[3];+ var sum = 0;+ /*+ * This is an abbreviated implementation, it is left here commented out for+ * reference purposes. See below for an unrolled version in use.+ *+ var f, n, tmp;+ for (var i = 0; i < 64; ++i) {++ if (i < 16) {+ f = (D ^ (B & (C ^ D)));+ n = i;+ } else if (i < 32) {+ f = (C ^ (D & (B ^ C)));+ n = (5 * i + 1) % 16;+ } else if (i < 48) {+ f = (B ^ C ^ D);+ n = (3 * i + 5) % 16;+ } else {+ f = (C ^ (B | (~D)));+ n = (7 * i) % 16;+ }++ tmp = D;+ D = C;+ C = B;+ sum = (A + f + goog.crypt.Md5.T_[i] + X[n]) & 0xffffffff;+ B += ((sum << goog.crypt.Md5.S_[i]) & 0xffffffff) |+ (sum >>> (32 - goog.crypt.Md5.S_[i]));+ A = tmp;+ }+ */+ /*+ * This is an unrolled MD5 implementation, which gives ~30% speedup compared+ * to the abbreviated implementation above, as measured on Chrome 11. It is+ * important to keep 32-bit croppings to minimum and inline the integer+ * rotation.+ */+ sum = (A + (D ^ (B & (C ^ D))) + X[0] + 0xd76aa478) & 0xffffffff;+ A = B + (((sum << 7) & 0xffffffff) | (sum >>> 25));+ sum = (D + (C ^ (A & (B ^ C))) + X[1] + 0xe8c7b756) & 0xffffffff;+ D = A + (((sum << 12) & 0xffffffff) | (sum >>> 20));+ sum = (C + (B ^ (D & (A ^ B))) + X[2] + 0x242070db) & 0xffffffff;+ C = D + (((sum << 17) & 0xffffffff) | (sum >>> 15));+ sum = (B + (A ^ (C & (D ^ A))) + X[3] + 0xc1bdceee) & 0xffffffff;+ B = C + (((sum << 22) & 0xffffffff) | (sum >>> 10));+ sum = (A + (D ^ (B & (C ^ D))) + X[4] + 0xf57c0faf) & 0xffffffff;+ A = B + (((sum << 7) & 0xffffffff) | (sum >>> 25));+ sum = (D + (C ^ (A & (B ^ C))) + X[5] + 0x4787c62a) & 0xffffffff;+ D = A + (((sum << 12) & 0xffffffff) | (sum >>> 20));+ sum = (C + (B ^ (D & (A ^ B))) + X[6] + 0xa8304613) & 0xffffffff;+ C = D + (((sum << 17) & 0xffffffff) | (sum >>> 15));+ sum = (B + (A ^ (C & (D ^ A))) + X[7] + 0xfd469501) & 0xffffffff;+ B = C + (((sum << 22) & 0xffffffff) | (sum >>> 10));+ sum = (A + (D ^ (B & (C ^ D))) + X[8] + 0x698098d8) & 0xffffffff;+ A = B + (((sum << 7) & 0xffffffff) | (sum >>> 25));+ sum = (D + (C ^ (A & (B ^ C))) + X[9] + 0x8b44f7af) & 0xffffffff;+ D = A + (((sum << 12) & 0xffffffff) | (sum >>> 20));+ sum = (C + (B ^ (D & (A ^ B))) + X[10] + 0xffff5bb1) & 0xffffffff;+ C = D + (((sum << 17) & 0xffffffff) | (sum >>> 15));+ sum = (B + (A ^ (C & (D ^ A))) + X[11] + 0x895cd7be) & 0xffffffff;+ B = C + (((sum << 22) & 0xffffffff) | (sum >>> 10));+ sum = (A + (D ^ (B & (C ^ D))) + X[12] + 0x6b901122) & 0xffffffff;+ A = B + (((sum << 7) & 0xffffffff) | (sum >>> 25));+ sum = (D + (C ^ (A & (B ^ C))) + X[13] + 0xfd987193) & 0xffffffff;+ D = A + (((sum << 12) & 0xffffffff) | (sum >>> 20));+ sum = (C + (B ^ (D & (A ^ B))) + X[14] + 0xa679438e) & 0xffffffff;+ C = D + (((sum << 17) & 0xffffffff) | (sum >>> 15));+ sum = (B + (A ^ (C & (D ^ A))) + X[15] + 0x49b40821) & 0xffffffff;+ B = C + (((sum << 22) & 0xffffffff) | (sum >>> 10));+ sum = (A + (C ^ (D & (B ^ C))) + X[1] + 0xf61e2562) & 0xffffffff;+ A = B + (((sum << 5) & 0xffffffff) | (sum >>> 27));+ sum = (D + (B ^ (C & (A ^ B))) + X[6] + 0xc040b340) & 0xffffffff;+ D = A + (((sum << 9) & 0xffffffff) | (sum >>> 23));+ sum = (C + (A ^ (B & (D ^ A))) + X[11] + 0x265e5a51) & 0xffffffff;+ C = D + (((sum << 14) & 0xffffffff) | (sum >>> 18));+ sum = (B + (D ^ (A & (C ^ D))) + X[0] + 0xe9b6c7aa) & 0xffffffff;+ B = C + (((sum << 20) & 0xffffffff) | (sum >>> 12));+ sum = (A + (C ^ (D & (B ^ C))) + X[5] + 0xd62f105d) & 0xffffffff;+ A = B + (((sum << 5) & 0xffffffff) | (sum >>> 27));+ sum = (D + (B ^ (C & (A ^ B))) + X[10] + 0x02441453) & 0xffffffff;+ D = A + (((sum << 9) & 0xffffffff) | (sum >>> 23));+ sum = (C + (A ^ (B & (D ^ A))) + X[15] + 0xd8a1e681) & 0xffffffff;+ C = D + (((sum << 14) & 0xffffffff) | (sum >>> 18));+ sum = (B + (D ^ (A & (C ^ D))) + X[4] + 0xe7d3fbc8) & 0xffffffff;+ B = C + (((sum << 20) & 0xffffffff) | (sum >>> 12));+ sum = (A + (C ^ (D & (B ^ C))) + X[9] + 0x21e1cde6) & 0xffffffff;+ A = B + (((sum << 5) & 0xffffffff) | (sum >>> 27));+ sum = (D + (B ^ (C & (A ^ B))) + X[14] + 0xc33707d6) & 0xffffffff;+ D = A + (((sum << 9) & 0xffffffff) | (sum >>> 23));+ sum = (C + (A ^ (B & (D ^ A))) + X[3] + 0xf4d50d87) & 0xffffffff;+ C = D + (((sum << 14) & 0xffffffff) | (sum >>> 18));+ sum = (B + (D ^ (A & (C ^ D))) + X[8] + 0x455a14ed) & 0xffffffff;+ B = C + (((sum << 20) & 0xffffffff) | (sum >>> 12));+ sum = (A + (C ^ (D & (B ^ C))) + X[13] + 0xa9e3e905) & 0xffffffff;+ A = B + (((sum << 5) & 0xffffffff) | (sum >>> 27));+ sum = (D + (B ^ (C & (A ^ B))) + X[2] + 0xfcefa3f8) & 0xffffffff;+ D = A + (((sum << 9) & 0xffffffff) | (sum >>> 23));+ sum = (C + (A ^ (B & (D ^ A))) + X[7] + 0x676f02d9) & 0xffffffff;+ C = D + (((sum << 14) & 0xffffffff) | (sum >>> 18));+ sum = (B + (D ^ (A & (C ^ D))) + X[12] + 0x8d2a4c8a) & 0xffffffff;+ B = C + (((sum << 20) & 0xffffffff) | (sum >>> 12));+ sum = (A + (B ^ C ^ D) + X[5] + 0xfffa3942) & 0xffffffff;+ A = B + (((sum << 4) & 0xffffffff) | (sum >>> 28));+ sum = (D + (A ^ B ^ C) + X[8] + 0x8771f681) & 0xffffffff;+ D = A + (((sum << 11) & 0xffffffff) | (sum >>> 21));+ sum = (C + (D ^ A ^ B) + X[11] + 0x6d9d6122) & 0xffffffff;+ C = D + (((sum << 16) & 0xffffffff) | (sum >>> 16));+ sum = (B + (C ^ D ^ A) + X[14] + 0xfde5380c) & 0xffffffff;+ B = C + (((sum << 23) & 0xffffffff) | (sum >>> 9));+ sum = (A + (B ^ C ^ D) + X[1] + 0xa4beea44) & 0xffffffff;+ A = B + (((sum << 4) & 0xffffffff) | (sum >>> 28));+ sum = (D + (A ^ B ^ C) + X[4] + 0x4bdecfa9) & 0xffffffff;+ D = A + (((sum << 11) & 0xffffffff) | (sum >>> 21));+ sum = (C + (D ^ A ^ B) + X[7] + 0xf6bb4b60) & 0xffffffff;+ C = D + (((sum << 16) & 0xffffffff) | (sum >>> 16));+ sum = (B + (C ^ D ^ A) + X[10] + 0xbebfbc70) & 0xffffffff;+ B = C + (((sum << 23) & 0xffffffff) | (sum >>> 9));+ sum = (A + (B ^ C ^ D) + X[13] + 0x289b7ec6) & 0xffffffff;+ A = B + (((sum << 4) & 0xffffffff) | (sum >>> 28));+ sum = (D + (A ^ B ^ C) + X[0] + 0xeaa127fa) & 0xffffffff;+ D = A + (((sum << 11) & 0xffffffff) | (sum >>> 21));+ sum = (C + (D ^ A ^ B) + X[3] + 0xd4ef3085) & 0xffffffff;+ C = D + (((sum << 16) & 0xffffffff) | (sum >>> 16));+ sum = (B + (C ^ D ^ A) + X[6] + 0x04881d05) & 0xffffffff;+ B = C + (((sum << 23) & 0xffffffff) | (sum >>> 9));+ sum = (A + (B ^ C ^ D) + X[9] + 0xd9d4d039) & 0xffffffff;+ A = B + (((sum << 4) & 0xffffffff) | (sum >>> 28));+ sum = (D + (A ^ B ^ C) + X[12] + 0xe6db99e5) & 0xffffffff;+ D = A + (((sum << 11) & 0xffffffff) | (sum >>> 21));+ sum = (C + (D ^ A ^ B) + X[15] + 0x1fa27cf8) & 0xffffffff;+ C = D + (((sum << 16) & 0xffffffff) | (sum >>> 16));+ sum = (B + (C ^ D ^ A) + X[2] + 0xc4ac5665) & 0xffffffff;+ B = C + (((sum << 23) & 0xffffffff) | (sum >>> 9));+ sum = (A + (C ^ (B | (~D))) + X[0] + 0xf4292244) & 0xffffffff;+ A = B + (((sum << 6) & 0xffffffff) | (sum >>> 26));+ sum = (D + (B ^ (A | (~C))) + X[7] + 0x432aff97) & 0xffffffff;+ D = A + (((sum << 10) & 0xffffffff) | (sum >>> 22));+ sum = (C + (A ^ (D | (~B))) + X[14] + 0xab9423a7) & 0xffffffff;+ C = D + (((sum << 15) & 0xffffffff) | (sum >>> 17));+ sum = (B + (D ^ (C | (~A))) + X[5] + 0xfc93a039) & 0xffffffff;+ B = C + (((sum << 21) & 0xffffffff) | (sum >>> 11));+ sum = (A + (C ^ (B | (~D))) + X[12] + 0x655b59c3) & 0xffffffff;+ A = B + (((sum << 6) & 0xffffffff) | (sum >>> 26));+ sum = (D + (B ^ (A | (~C))) + X[3] + 0x8f0ccc92) & 0xffffffff;+ D = A + (((sum << 10) & 0xffffffff) | (sum >>> 22));+ sum = (C + (A ^ (D | (~B))) + X[10] + 0xffeff47d) & 0xffffffff;+ C = D + (((sum << 15) & 0xffffffff) | (sum >>> 17));+ sum = (B + (D ^ (C | (~A))) + X[1] + 0x85845dd1) & 0xffffffff;+ B = C + (((sum << 21) & 0xffffffff) | (sum >>> 11));+ sum = (A + (C ^ (B | (~D))) + X[8] + 0x6fa87e4f) & 0xffffffff;+ A = B + (((sum << 6) & 0xffffffff) | (sum >>> 26));+ sum = (D + (B ^ (A | (~C))) + X[15] + 0xfe2ce6e0) & 0xffffffff;+ D = A + (((sum << 10) & 0xffffffff) | (sum >>> 22));+ sum = (C + (A ^ (D | (~B))) + X[6] + 0xa3014314) & 0xffffffff;+ C = D + (((sum << 15) & 0xffffffff) | (sum >>> 17));+ sum = (B + (D ^ (C | (~A))) + X[13] + 0x4e0811a1) & 0xffffffff;+ B = C + (((sum << 21) & 0xffffffff) | (sum >>> 11));+ sum = (A + (C ^ (B | (~D))) + X[4] + 0xf7537e82) & 0xffffffff;+ A = B + (((sum << 6) & 0xffffffff) | (sum >>> 26));+ sum = (D + (B ^ (A | (~C))) + X[11] + 0xbd3af235) & 0xffffffff;+ D = A + (((sum << 10) & 0xffffffff) | (sum >>> 22));+ sum = (C + (A ^ (D | (~B))) + X[2] + 0x2ad7d2bb) & 0xffffffff;+ C = D + (((sum << 15) & 0xffffffff) | (sum >>> 17));+ sum = (B + (D ^ (C | (~A))) + X[9] + 0xeb86d391) & 0xffffffff;+ B = C + (((sum << 21) & 0xffffffff) | (sum >>> 11));+ this.chain_[0] = (this.chain_[0] + A) & 0xffffffff;+ this.chain_[1] = (this.chain_[1] + B) & 0xffffffff;+ this.chain_[2] = (this.chain_[2] + C) & 0xffffffff;+ this.chain_[3] = (this.chain_[3] + D) & 0xffffffff;+};+/** @override */+goog.crypt.Md5.prototype.update = function(bytes, opt_length) {+ if (!goog.isDef(opt_length)) {+ opt_length = bytes.length;+ }+ var lengthMinusBlock = opt_length - this.blockSize;+ // Copy some object properties to local variables in order to save on access+ // time from inside the loop (~10% speedup was observed on Chrome 11).+ var block = this.block_;+ var blockLength = this.blockLength_;+ var i = 0;+ // The outer while loop should execute at most twice.+ while (i < opt_length) {+ // When we have no data in the block to top up, we can directly process the+ // input buffer (assuming it contains sufficient data). This gives ~30%+ // speedup on Chrome 14 and ~70% speedup on Firefox 6.0, but requires that+ // the data is provided in large chunks (or in multiples of 64 bytes).+ if (blockLength == 0) {+ while (i <= lengthMinusBlock) {+ this.compress_(bytes, i);+ i += this.blockSize;+ }+ }+ if (goog.isString(bytes)) {+ while (i < opt_length) {+ block[blockLength++] = bytes.charCodeAt(i++);+ if (blockLength == this.blockSize) {+ this.compress_(block);+ blockLength = 0;+ // Jump to the outer loop so we use the full-block optimization.+ break;+ }+ }+ } else {+ while (i < opt_length) {+ block[blockLength++] = bytes[i++];+ if (blockLength == this.blockSize) {+ this.compress_(block);+ blockLength = 0;+ // Jump to the outer loop so we use the full-block optimization.+ break;+ }+ }+ }+ }+ this.blockLength_ = blockLength;+ this.totalLength_ += opt_length;+};+/** @override */+goog.crypt.Md5.prototype.digest = function() {+ // This must accommodate at least 1 padding byte (0x80), 8 bytes of+ // total bitlength, and must end at a 64-byte boundary.+ var pad = new Array((this.blockLength_ < 56 ?+ this.blockSize :+ this.blockSize * 2) - this.blockLength_);+ // Add padding: 0x80 0x00*+ pad[0] = 0x80;+ for (var i = 1; i < pad.length - 8; ++i) {+ pad[i] = 0;+ }+ // Add the total number of bits, little endian 64-bit integer.+ var totalBits = this.totalLength_ * 8;+ for (var i = pad.length - 8; i < pad.length; ++i) {+ pad[i] = totalBits & 0xff;+ totalBits /= 0x100; // Don't use bit-shifting here!+ }+ this.update(pad);+ var digest = new Array(16);+ var n = 0;+ for (var i = 0; i < 4; ++i) {+ for (var j = 0; j < 32; j += 8) {+ digest[n++] = (this.chain_[i] >>> j) & 0xff;+ }+ }+ return digest;+};+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/* include/HsBaseConfig.h. Generated from HsBaseConfig.h.in by configure. */+/* include/HsBaseConfig.h.in. Generated from configure.ac by autoheader. */+/* The value of E2BIG. */+/* The value of EACCES. */+/* The value of EADDRINUSE. */+/* The value of EADDRNOTAVAIL. */+/* The value of EADV. */+/* The value of EAFNOSUPPORT. */+/* The value of EAGAIN. */+/* The value of EALREADY. */+/* The value of EBADF. */+/* The value of EBADMSG. */+/* The value of EBADRPC. */+/* The value of EBUSY. */+/* The value of ECHILD. */+/* The value of ECOMM. */+/* The value of ECONNABORTED. */+/* The value of ECONNREFUSED. */+/* The value of ECONNRESET. */+/* The value of EDEADLK. */+/* The value of EDESTADDRREQ. */+/* The value of EDIRTY. */+/* The value of EDOM. */+/* The value of EDQUOT. */+/* The value of EEXIST. */+/* The value of EFAULT. */+/* The value of EFBIG. */+/* The value of EFTYPE. */+/* The value of EHOSTDOWN. */+/* The value of EHOSTUNREACH. */+/* The value of EIDRM. */+/* The value of EILSEQ. */+/* The value of EINPROGRESS. */+/* The value of EINTR. */+/* The value of EINVAL. */+/* The value of EIO. */+/* The value of EISCONN. */+/* The value of EISDIR. */+/* The value of ELOOP. */+/* The value of EMFILE. */+/* The value of EMLINK. */+/* The value of EMSGSIZE. */+/* The value of EMULTIHOP. */+/* The value of ENAMETOOLONG. */+/* The value of ENETDOWN. */+/* The value of ENETRESET. */+/* The value of ENETUNREACH. */+/* The value of ENFILE. */+/* The value of ENOBUFS. */+/* The value of ENOCIGAR. */+/* The value of ENODATA. */+/* The value of ENODEV. */+/* The value of ENOENT. */+/* The value of ENOEXEC. */+/* The value of ENOLCK. */+/* The value of ENOLINK. */+/* The value of ENOMEM. */+/* The value of ENOMSG. */+/* The value of ENONET. */+/* The value of ENOPROTOOPT. */+/* The value of ENOSPC. */+/* The value of ENOSR. */+/* The value of ENOSTR. */+/* The value of ENOSYS. */+/* The value of ENOTBLK. */+/* The value of ENOTCONN. */+/* The value of ENOTDIR. */+/* The value of ENOTEMPTY. */+/* The value of ENOTSOCK. */+/* The value of ENOTSUP. */+/* The value of ENOTTY. */+/* The value of ENXIO. */+/* The value of EOPNOTSUPP. */+/* The value of EPERM. */+/* The value of EPFNOSUPPORT. */+/* The value of EPIPE. */+/* The value of EPROCLIM. */+/* The value of EPROCUNAVAIL. */+/* The value of EPROGMISMATCH. */+/* The value of EPROGUNAVAIL. */+/* The value of EPROTO. */+/* The value of EPROTONOSUPPORT. */+/* The value of EPROTOTYPE. */+/* The value of ERANGE. */+/* The value of EREMCHG. */+/* The value of EREMOTE. */+/* The value of EROFS. */+/* The value of ERPCMISMATCH. */+/* The value of ERREMOTE. */+/* The value of ESHUTDOWN. */+/* The value of ESOCKTNOSUPPORT. */+/* The value of ESPIPE. */+/* The value of ESRCH. */+/* The value of ESRMNT. */+/* The value of ESTALE. */+/* The value of ETIME. */+/* The value of ETIMEDOUT. */+/* The value of ETOOMANYREFS. */+/* The value of ETXTBSY. */+/* The value of EUSERS. */+/* The value of EWOULDBLOCK. */+/* The value of EXDEV. */+/* The value of O_BINARY. */+/* The value of SIGINT. */+/* Define to 1 if you have the `clock_gettime' function. */+/* #undef HAVE_CLOCK_GETTIME */+/* Define to 1 if you have the <ctype.h> header file. */+/* Define if you have epoll support. */+/* #undef HAVE_EPOLL */+/* Define to 1 if you have the `epoll_ctl' function. */+/* #undef HAVE_EPOLL_CTL */+/* Define to 1 if you have the <errno.h> header file. */+/* Define to 1 if you have the `eventfd' function. */+/* #undef HAVE_EVENTFD */+/* Define to 1 if you have the <fcntl.h> header file. */+/* Define to 1 if you have the `ftruncate' function. */+/* Define to 1 if you have the `getclock' function. */+/* #undef HAVE_GETCLOCK */+/* Define to 1 if you have the `getrusage' function. */+/* Define to 1 if you have the <inttypes.h> header file. */+/* Define to 1 if you have the `iswspace' function. */+/* Define to 1 if you have the `kevent' function. */+/* Define to 1 if you have the `kevent64' function. */+/* Define if you have kqueue support. */+/* Define to 1 if you have the <langinfo.h> header file. */+/* Define to 1 if you have libcharset. */+/* Define to 1 if you have the `rt' library (-lrt). */+/* #undef HAVE_LIBRT */+/* Define to 1 if you have the <limits.h> header file. */+/* Define to 1 if the system has the type `long long'. */+/* Define to 1 if you have the `lstat' function. */+/* Define to 1 if you have the <memory.h> header file. */+/* Define if you have poll support. */+/* Define to 1 if you have the <poll.h> header file. */+/* Define to 1 if you have the <signal.h> header file. */+/* Define to 1 if you have the <stdint.h> header file. */+/* Define to 1 if you have the <stdlib.h> header file. */+/* Define to 1 if you have the <strings.h> header file. */+/* Define to 1 if you have the <string.h> header file. */+/* Define to 1 if you have the <sys/epoll.h> header file. */+/* #undef HAVE_SYS_EPOLL_H */+/* Define to 1 if you have the <sys/eventfd.h> header file. */+/* #undef HAVE_SYS_EVENTFD_H */+/* Define to 1 if you have the <sys/event.h> header file. */+/* Define to 1 if you have the <sys/resource.h> header file. */+/* Define to 1 if you have the <sys/select.h> header file. */+/* Define to 1 if you have the <sys/stat.h> header file. */+/* Define to 1 if you have the <sys/syscall.h> header file. */+/* Define to 1 if you have the <sys/timeb.h> header file. */+/* Define to 1 if you have the <sys/timers.h> header file. */+/* #undef HAVE_SYS_TIMERS_H */+/* Define to 1 if you have the <sys/times.h> header file. */+/* Define to 1 if you have the <sys/time.h> header file. */+/* Define to 1 if you have the <sys/types.h> header file. */+/* Define to 1 if you have the <sys/utsname.h> header file. */+/* Define to 1 if you have the <sys/wait.h> header file. */+/* Define to 1 if you have the <termios.h> header file. */+/* Define to 1 if you have the `times' function. */+/* Define to 1 if you have the <time.h> header file. */+/* Define to 1 if you have the <unistd.h> header file. */+/* Define to 1 if you have the <utime.h> header file. */+/* Define to 1 if you have the <wctype.h> header file. */+/* Define to 1 if you have the <windows.h> header file. */+/* #undef HAVE_WINDOWS_H */+/* Define to 1 if you have the <winsock.h> header file. */+/* #undef HAVE_WINSOCK_H */+/* Define to 1 if you have the `_chsize' function. */+/* #undef HAVE__CHSIZE */+/* Define to Haskell type for cc_t */+/* Define to Haskell type for char */+/* Define to Haskell type for clock_t */+/* Define to Haskell type for dev_t */+/* Define to Haskell type for double */+/* Define to Haskell type for float */+/* Define to Haskell type for gid_t */+/* Define to Haskell type for ino_t */+/* Define to Haskell type for int */+/* Define to Haskell type for intmax_t */+/* Define to Haskell type for intptr_t */+/* Define to Haskell type for long */+/* Define to Haskell type for long long */+/* Define to Haskell type for mode_t */+/* Define to Haskell type for nlink_t */+/* Define to Haskell type for off_t */+/* Define to Haskell type for pid_t */+/* Define to Haskell type for ptrdiff_t */+/* Define to Haskell type for rlim_t */+/* Define to Haskell type for short */+/* Define to Haskell type for signed char */+/* Define to Haskell type for sig_atomic_t */+/* Define to Haskell type for size_t */+/* Define to Haskell type for speed_t */+/* Define to Haskell type for ssize_t */+/* Define to Haskell type for suseconds_t */+/* Define to Haskell type for tcflag_t */+/* Define to Haskell type for time_t */+/* Define to Haskell type for uid_t */+/* Define to Haskell type for uintmax_t */+/* Define to Haskell type for uintptr_t */+/* Define to Haskell type for unsigned char */+/* Define to Haskell type for unsigned int */+/* Define to Haskell type for unsigned long */+/* Define to Haskell type for unsigned long long */+/* Define to Haskell type for unsigned short */+/* Define to Haskell type for useconds_t */+/* Define to Haskell type for wchar_t */+/* Define to the address where bug reports for this package should be sent. */+/* Define to the full name of this package. */+/* Define to the full name and version of this package. */+/* Define to the one symbol short name of this package. */+/* Define to the home page for this package. */+/* Define to the version of this package. */+/* The size of `kev.filter', as computed by sizeof. */+/* The size of `kev.flags', as computed by sizeof. */+/* The size of `struct MD5Context', as computed by sizeof. */+/* Define to 1 if you have the ANSI C header files. */+/* Number of bits in a file offset, on hosts where this is settable. */+/* #undef _FILE_OFFSET_BITS */+/* Define for large files, on AIX-style hosts. */+/* #undef _LARGE_FILES */+// #define GHCJS_TRACE_IO 1+function h$base_access(file, file_off, mode, c) {+ ;+ if(h$isNode) {+ h$fs.stat(fd, function(err, fs) {+ if(err) {+ h$handleErrnoC(err, -1, 0, c);+ } else {+ c(mode & fs.mode); // fixme is this ok?+ }+ });+ } else+ h$unsupported(-1, c);+}+function h$base_chmod(file, file_off, mode, c) {+ ;+ if(h$isNode) {+ h$fs.chmod(h$decodeUtf8z(file, file_off), mode, function(err) {+ h$handleErrnoC(err, -1, 0, c);+ });+ } else+ h$unsupported(-1, c);+}+function h$base_close(fd, c) {+ ;+ var fdo = h$base_fds[fd];+ if(fdo && fdo.close) {+ fdo.close(fd, fdo, c);+ } else {+ h$errno = 22;+ c(-1);+ }+}+function h$base_dup(fd, something, c) {+ throw "h$base_dup";+}+function h$base_dup2(fd, c) {+ throw "h$base_dup2";+}+function h$base_fstat(fd, stat, stat_off, c) {+ ;+ if(h$isNode) {+ h$fs.fstat(fd, function(err, fs) {+ if(err) {+ h$handlErrnoC(err, -1, 0, c);+ } else {+ h$base_fillStat(fs, stat, stat_off);+ c(0);+ }+ });+ } else+ h$unsupported(-1, c);+}+function h$base_isatty(fd) {+ ;+ if(h$isNode) {+ if(fd === 0) return process.stdin.isTTY?1:0;+ if(fd === 1) return process.stdout.isTTY?1:0;+ if(fd === 2) return process.stderr.isTTY?1:0;+ }+ if(fd === 1 || fd === 2) return 1;+ return 0;+}+function h$base_lseek(fd, pos_1, pos_2, whence, c) {+ ;+ if(h$isNode) {+ var p = goog.math.Long.fromBits(pos_2, pos_1), p1;+ var o = h$base_fds[fd];+ if(!o) {+ h$errno = CONST_BADF;+ c(-1,-1);+ } else {+ switch(whence) {+ case 0: /* SET */+ o.pos = p.toNumber();+ c(p.getHighBits(), p.getLowBits());+ break;+ case 1: /* CUR */+ o.pos += p.toNumber();+ p1 = goog.math.Long.fromNumber(o.pos);+ c(p1.getHighBits(), p1.getLowBits());+ break;+ case 2: /* END */+ h$fs.fstat(fd, function(err, fs) {+ if(err) {+ h$setErrno(err);+ c(-1,-1);+ } else {+ o.pos = fs.size + p.toNumber();+ p1 = goog.math.Long.fromNumber(o.pos);+ c(p1.getHighBits(), p1.getLowBits());+ }+ });+ break;+ default:+ h$errno = 22;+ c(-1,-1);+ }+ }+ } else {+ h$unsupported();+ c(-1, -1);+ }+}+function h$base_lstat(file, file_off, stat, stat_off, c) {+ ;+ if(h$isNode) {+ h$fs.lstat(h$decodeUtf8z(file, file_off), function(err, fs) {+ if(err) {+ h$handleErrnoC(err, -1, 0, c);+ } else {+ h$base_fillStat(fs, stat, stat_off);+ c(0);+ }+ });+ } else+ h$unsupported(-1, c);+}+function h$base_open(file, file_off, how, mode, c) {+ if(h$isNode) {+ var flags, off;+ var fp = h$decodeUtf8z(file, file_off);+ var acc = how & h$base_o_accmode;+ // passing a number lets node.js use it directly as the flags (undocumented)+ if(acc === h$base_o_rdonly) {+ flags = h$processConstants['O_RDONLY'];+ } else if(acc === h$base_o_wronly) {+ flags = h$processConstants['O_WRONLY'];+ } else { // r+w+ flags = h$processConstants['O_RDWR'];+ }+ off = (how & h$base_o_append) ? -1 : 0;+ flags = flags | ((how & h$base_o_trunc) ? h$processConstants['O_TRUNC'] : 0)+ | ((how & h$base_o_creat) ? h$processConstants['O_CREAT'] : 0)+ | ((how & h$base_o_excl) ? h$processConstants['O_EXCL'] : 0)+ | ((how & h$base_o_append) ? h$processConstants['O_APPEND'] : 0);+ h$fs.open(fp, flags, mode, function(err, fd) {+ if(err) {+ h$handleErrnoC(err, -1, 0, c);+ } else {+ var f = function(p) {+ h$base_fds[fd] = { read: h$base_readFile+ , write: h$base_writeFile+ , close: h$base_closeFile+ , pos: p+ };+ c(fd);+ }+ if(off === -1) {+ h$fs.stat(fp, function(err, fs) {+ if(err) h$handleErrnoC(err, -1, 0, c); else f(fs.size);+ });+ } else {+ f(0);+ }+ }+ });+ } else+ h$unsupported(-1, c);+}+function h$base_read(fd, buf, buf_off, n, c) {+ ;+ var fdo = h$base_fds[fd];+ if(fdo && fdo.read) {+ fdo.read(fd, fdo, buf, buf_off, n, c);+ } else {+ h$errno = 22;+ c(-1);+ }+}+function h$base_stat(file, file_off, stat, stat_off, c) {+ ;+ if(h$isNode) {+ h$fs.stat(h$decodeUtf8z(file, file_off), function(err, fs) {+ if(err) {+ h$handlErrnoC(err, -1, 0, c);+ } else {+ h$base_fillStat(fs, stat, stat_off);+ c(0);+ }+ });+ } else+ h$unsupported(-1, c);+}+function h$base_umask(mode) {+ ;+ if(h$isNode) return process.umask(mode);+ return 0;+}+function h$base_write(fd, buf, buf_off, n, c) {+ ;+ var fdo = h$base_fds[fd];+ if(fdo && fdo.write) {+ fdo.write(fd, fdo, buf, buf_off, n, c);+ } else {+ h$errno = 22;+ c(-1);+ }+}+function h$base_ftruncate(fd, pos_1, pos_2, c) {+ ;+ if(h$isNode) {+ h$fs.ftruncate(fd, goog.math.Long.fromBits(pos_2, pos_1).toNumber(), function(err) {+ h$handleErrnoC(err, -1, 0, c);+ });+ } else+ h$unsupported(-1, c);+}+function h$base_unlink(file, file_off, c) {+ ;+ if(h$isNode) {+ h$fs.unlink(h$decodeUtf8z(file, file_off), function(err) {+ h$handleErrnoC(err, -1, 0, c);+ });+ } else+ h$unsupported(-1, c);+}+function h$base_getpid() {+ ;+ if(h$isNode) return process.pid;+ return 0;+}+function h$base_link(file1, file1_off, file2, file2_off, c) {+ ;+ if(h$isNode) {+ h$fs.link(h$decodeUtf8z(file1, file1_off), h$decodeUtf8z(file2, file2_off), function(err) {+ h$handleErrnoC(err, -1, 0, c);+ });+ } else+ h$unsupported(-1, c);+}+function h$base_mkfifo(file, file_off, mode, c) {+ throw "h$base_mkfifo";+}+function h$base_sigemptyset(sigset, sigset_off) {+ return 0;+ // throw "h$base_sigemptyset";+}+function h$base_sigaddset(sigset, sigset_off, sig) {+ return 0;+ // throw "h$base_sigaddset";+}+function h$base_sigprocmask(sig, sigset1, sigset1_off, sigset2, sigset2_off) {+ return 0;+ // throw "h$base_sigprocmask";+}+function h$base_tcgetattr(attr, termios, termios_off) {+ return 0;+}+function h$base_tcsetattr(attr, val, termios, termios_off) {+ return 0;+}+function h$base_utime(file, file_off, timbuf, timbuf_off, c) {+ ;+ if(h$isNode) {+ h$fs.fstat(h$decodeUtf8z(file, file_off), function(err, fs) {+ if(err) {+ h$handleErrnoC(err, 0, -1, c); // fixme+ } else {+ var atime = goog.math.Long.fromNumber(fs.atime.getTime());+ var mtime = goog.math.Long.fromNumber(fs.mtime.getTime());+ var ctime = goog.math.Long.fromNumber(fs.ctime.getTime());+ timbuf.i3[0] = atime.getHighBits();+ timbuf.i3[1] = atime.getLowBits();+ timbuf.i3[2] = mtime.getHighBits();+ timbuf.i3[3] = mtime.getLowBits();+ timbuf.i3[4] = ctime.getHighBits();+ timbuf.i3[5] = ctime.getLowBits();+ c(0);+ }+ });+ } else+ h$unsupported(-1, c);+}+function h$base_waitpid(pid, stat, stat_off, options, c) {+ throw "h$base_waitpid";+}+/** @const */ var h$base_o_rdonly = 0x00000;+/** @const */ var h$base_o_wronly = 0x00001;+/** @const */ var h$base_o_rdwr = 0x00002;+/** @const */ var h$base_o_accmode = 0x00003;+/** @const */ var h$base_o_append = 0x00008;+/** @const */ var h$base_o_creat = 0x00200;+/** @const */ var h$base_o_trunc = 0x00400;+/** @const */ var h$base_o_excl = 0x00800;+/** @const */ var h$base_o_noctty = 0x20000;+/** @const */ var h$base_o_nonblock = 0x00004;+/** @const */ var h$base_o_binary = 0x00000;+function h$base_c_s_isreg(mode) {+ return 1;+}+function h$base_c_s_ischr(mode) {+ return 0;+}+function h$base_c_s_isblk(mode) {+ return 0;+}+function h$base_c_s_isdir(mode) {+ return 0; // fixme+}+function h$base_c_s_isfifo(mode) {+ return 0;+}+function h$base_fillStat(fs, b, off) {+ if(off%4) throw "h$base_fillStat: not aligned";+ var o = off>>2;+ b.i3[o+0] = fs.mode;+ var s = goog.math.Long.fromNumber(fs.size);+ b.i3[o+1] = s.getHighBits();+ b.i3[o+2] = s.getLowBits();+ b.i3[o+3] = 0; // fixme+ b.i3[o+4] = 0; // fixme+ b.i3[o+5] = fs.dev;+ var i = goog.math.Long.fromNumber(fs.ino);+ b.i3[o+6] = i.getHighBits();+ b.i3[o+7] = i.getLowBits();+ b.i3[o+8] = fs.uid;+ b.i3[o+9] = fs.gid;+}+// [mode,size1,size2,mtime1,mtime2,dev,ino1,ino2,uid,gid] all 32 bit+/** @const */ var h$base_sizeof_stat = 40;+function h$base_st_mtime(stat, stat_off) {+ h$ret1 = stat.i3[(stat_off>>2)+4];+ return stat.i3[(stat_off>>2)+3];+}+function h$base_st_size(stat, stat_off) {+ h$ret1 = stat.i3[(stat_off>>2)+2];+ return stat.i3[(stat_off>>2)+1];+}+function h$base_st_mode(stat, stat_off) {+ return stat.i3[stat_off>>2];+}+function h$base_st_dev(stat, stat_off) {+ return stat.i3[(stat_off>>2)+5];+}+function h$base_st_ino(stat, stat_off) {+ h$ret1 = stat.i3[(stat_off>>2)+7];+ return stat.i3[(stat_off>>2)+6];+}+/** @const */ var h$base_echo = 1;+/** @const */ var h$base_tcsanow = 2;+/** @const */ var h$base_icanon = 4;+/** @const */ var h$base_vmin = 8;+/** @const */ var h$base_vtime = 16;+/** @const */ var h$base_sigttou = 0;+/** @const */ var h$base_sig_block = 0;+/** @const */ var h$base_sig_setmask = 0;+/** @const */ var h$base_f_getfl = 0;+/** @const */ var h$base_f_setfl = 0;+/** @const */ var h$base_f_setfd = 0;+/** @const */ var h$base_fd_cloexec = 0;+/** @const */ var h$base_sizeof_termios = 4;+/** @const */ var h$base_sizeof_sigset_t = 4;+/** @const */ var h$base_lflag = 0;+function h$base_poke_lflag(termios, termios_off, flag) {+ return 0;+}+function h$base_ptr_c_cc(termios, termios_off) {+ h$ret1 = 0;+ return h$newByteArray(8);+}+/** @const */ var h$base_default_buffer_size = 32768;+function h$base_c_s_issock(mode) {+ return 0; // fixme+}+/** @const */ var h$base_SEEK_SET = 0;+/** @const */ var h$base_SEEK_CUR = 1;+/** @const */ var h$base_SEEK_END = 2;+function h$base_set_saved_termios(a, b, c) {+ h$ret1 = 0+ return null;+}+function h$base_get_saved_termios(r) {+ h$ret1 = 0;+ return null;+}+// fixme+function h$lockFile(fd, dev, ino, for_writing) {+ ;+ return 0;+}+function h$unlockFile(fd) {+ ;+ return 0;+}+// engine-dependent setup+var h$base_readStdin , h$base_writeStderr, h$base_writeStdout;+var h$base_closeStdin = null, h$base_closeStderr = null, h$base_closeStdout = null;+var h$base_readFile, h$base_writeFile, h$base_closeFile;+var h$base_stdin_waiting = new h$Queue();+var h$base_stdin_chunk = { buf: null+ , pos: 0+ , processing: false+ };+var h$base_stdin_eof = false;+var h$base_process_stdin = function() {+ var c = h$base_stdin_chunk;+ var q = h$base_stdin_waiting;+ if(!q.length() || c.processing) return;+ c.processing = true;+ if(!c.buf) { c.pos = 0; c.buf = process.stdin.read(); }+ while(c.buf && q.length()) {+ var x = q.dequeue();+ var n = Math.min(c.buf.length - c.pos, x.n);+ for(var i=0;i<n;i++) {+ x.buf.u8[i+x.off] = c.buf[c.pos+i];+ }+ c.pos += n;+ x.c(n);+ if(c.pos >= c.buf.length) c.buf = null;+ if(!c.buf && q.length()) { c.pos = 0; c.buf = process.stdin.read(); }+ }+ while(h$base_stdin_eof && q.length()) q.dequeue().c(0);+ c.processing = false;+}+if(h$isNode) {+ h$base_closeFile = function(fd, fdo, c) {+ h$fs.close(fd, function(err) {+ delete h$base_fds[fd];+ h$handleErrnoC(err, -1, 0, c);+ });+ }+ h$base_readFile = function(fd, fdo, buf, buf_offset, n, c) {+ var pos = typeof fdo.pos === 'number' ? fdo.pos : null;+ ;+ h$fs.read(fd, new Buffer(n), 0, n, pos, function(err, bytesRead, nbuf) {+ if(err) {+ h$setErrno(err);+ c(-1);+ } else {+ for(var i=bytesRead-1;i>=0;i--) buf.u8[buf_offset+i] = nbuf[i];+ if(typeof fdo.pos === 'number') fdo.pos += bytesRead;+ c(bytesRead);+ }+ });+ }+ h$base_readStdin = function(fd, fdo, buf, buf_offset, n, c) {+ ;+ h$base_stdin_waiting.enqueue({buf: buf, off: buf_offset, n: n, c: c});+ h$base_process_stdin();+ }+ h$base_closeStdin = function(fd, fdo, c) {+ ;+ // process.stdin.close(); fixme+ c(0);+ }+ h$base_writeFile = function(fd, fdo, buf, buf_offset, n, c) {+ var pos = typeof fdo.pos === 'number' ? fdo.pos : null;+ ;+ var nbuf = new Buffer(n);+ for(var i=0;i<n;i++) nbuf[i] = buf.u8[i+buf_offset];+ if(typeof fdo.pos === 'number') fdo.pos += n;+ h$fs.write(fd, nbuf, 0, n, pos, function(err, bytesWritten) {+ ;+ if(err) {+ h$setErrno(err);+ if(typeof fdo.pos === 'number') fdo.pos -= n;+ if(h$errno === 35)+ setTimeout(function() { h$base_writeFile(fd, fdo, buf, buf_offset, n, c); }, 20);+ else c(-1);+ } else {+ if(typeof fdo.pos === 'number') fdo.pos += bytesWritten - n;+ c(bytesWritten);+ }+ });+ }+ h$base_writeStdout = function(fd, fdo, buf, buf_offset, n, c) {+ ;+ h$base_writeFile(1, fdo, buf, buf_offset, n, c);+ }+ h$base_closeStdout = function(fd, fdo, c) {+ ;+ // not actually closed, fixme?+ c(0);+ }+ h$base_writeStderr = function(fd, fdo, buf, buf_offset, n, c) {+ ;+ h$base_writeFile(2, fdo, buf, buf_offset, n, c);+ }+ h$base_closeStderr = function(fd, fdo, c) {+ ;+ // not actually closed, fixme?+ c(0);+ }+ process.stdin.on('readable', h$base_process_stdin);+ process.stdin.on('end', function() { h$base_stdin_eof = true; h$base_process_stdin(); });+} else if (h$isJsShell) {+ h$base_readStdin = function(fd, fdo, buf, buf_offset, n, c) {+ c(0);+ }+ h$base_writeStdout = function(fd, fdo, buf, buf_offset, n, c) {+ putstr(h$decodeUtf8(buf, n, buf_offset));+ c(n);+ }+ h$base_writeStderr = function(fd, fdo, buf, buf_offset, n, c) {+ printErr(h$decodeUtf8(buf, n, buf_offset));+ c(n);+ }+} else if(h$isJsCore) {+ h$base_readStdin = function(fd, fdo, buf, buf_offset, n, c) {+ c(0);+ }+ var h$base_stdoutLeftover = { f: print, val: null };+ var h$base_stderrLeftover = { f: debug, val: null };+ var h$base_writeWithLeftover = function(buf, n, buf_offset, c, lo) {+ var lines = h$decodeUtf8(buf, n, buf_offset).split(/\r?\n/);+ if(lines.length === 1) {+ if(lines[0].length) {+ if(lo.val !== null) lo.val += lines[0];+ else lo.val = lines[0];+ }+ } else {+ lo.f(((lo.val !== null) ? lo.val : '') + lines[0]);+ for(var i=1;i<lines.length-1;i++) lo.f(lines[i]);+ if(lines[lines.length-1].length) lo.val = lines[lines.length-1];+ else lo.val = null;+ }+ c(n);+ }+ h$base_writeStdout = function(fd, fdo, buf, buf_offset, n, c) {+ h$base_writeWithLeftover(buf, n, buf_offset, c, h$base_stdoutLeftover);+ }+ h$base_writeStderr = function(fd, fdo, buf, buf_offset, n, c) {+ // writing to stderr not supported, write to stdout+ h$base_writeWithLeftover(buf, n, buf_offset, c, h$base_stderrLeftover);+ }+} else { // browser / fallback+ h$base_readStdin = function(fd, fdo, buf, buf_offset, n, c) {+ c(0);+ }+ h$base_writeStdout = function(fd, fdo, buf, buf_offset, n, c) {+ console.log(h$decodeUtf8(buf, n, buf_offset));+ c(n);+ }+ h$base_writeStderr = function(fd, fdo, buf, buf_offset, n, c) {+ console.log(h$decodeUtf8(buf, n, buf_offset));+ c(n);+ }+}+var h$base_stdin_fd = { read: h$base_readStdin, close: h$base_closeStdin };+var h$base_stdout_fd = { write: h$base_writeStdout, close: h$base_closeStdout };+var h$base_stderr_fd = { write: h$base_writeStderr, close: h$base_closeStderr };+var h$base_fdN = -1; // negative file descriptors are 'virtual'+var h$base_fds = [h$base_stdin_fd, h$base_stdout_fd, h$base_stderr_fd];+function h$shutdownHaskellAndExit(code, fast) {+ if(h$isNode) {+ process.exit(code);+ } else if(h$isJsShell) {+ quit(code);+ } else if(h$isJsCore) {+ if(h$base_stdoutLeftover.val !== null) print(h$base_stdoutLeftover.val);+ if(h$base_stderrLeftover.val !== null) debug(h$base_stderrLeftover.val);+ // jsc does not support returning a nonzero value, print it instead+ if(code !== 0) debug("GHCJS JSC exit status: " + code);+ quit();+ }+}+// RAND_MAX = 32767+function h$rand() {+ return (32768 * Math.random()) & 32767;+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// JS Objects stuff+function h$isFloat (n) {+ return n===+n && n!==(n|0);+}+function h$isInteger (n) {+ return n===+n && n===(n|0);+}+/*+ -- 0 - null, 1 - integer,+ -- 2 - float, 3 - bool,+ -- 4 - string, 5 - array+ -- 6 - object+*/+function h$typeOf(o) {+ if (!(o instanceof Object)) {+ if (o == null) {+ return 0;+ } else if (typeof o == 'number') {+ if (h$isInteger(o)) {+ return 1;+ } else {+ return 2;+ }+ } else if (typeof o == 'boolean') {+ return 3;+ } else {+ return 4;+ }+ } else {+ if (Object.prototype.toString.call(o) == '[object Array]') {+ // it's an array+ return 5;+ } else if (!o) {+ // null + return 0;+ } else {+ // it's an object+ return 6;+ }+ }+}+function h$listprops(o) {+ if (!(o instanceof Object)) {+ return [];+ }+ var l = [];+ for (var prop in o) {+ l.push(prop);+ }+ return l;+}+function h$flattenObj(o) {+ var l = [];+ for (var prop in o) {+ l.push([prop, o[prop]]);+ }+ return l;+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+function h$ghcjs_setLineDash(arr, ctx) {+ if (typeof ctx.setLineDash !== 'undefined' ) {+ ctx.setLineDash(arr);+ } else if (typeof ctx.mozDash !== 'undefined' ) {+ ctx.mozDash = arr;+ }+};+function h$ghcjs_lineDashOffset(off, ctx) {+ if (typeof ctx.setLineDash !== 'undefined' ) {+ ctx.lineDashOffset = off;+ } else if (typeof ctx.mozDash !== 'undefined' ) {+ ctx.mozDashOffset = off;+ }+};+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+function h$ghcjs_currentWindow() {+ return window;+};+function h$ghcjs_currentDocument() {+ return document;+};+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/* FNV-1 hash+ *+ * The FNV-1 hash description: http://isthe.com/chongo/tech/comp/fnv/+ * The FNV-1 hash is public domain: http://isthe.com/chongo/tech/comp/fnv/#public_domain+ */+function h$hashable_fnv_hash_offset(str_a, o, len, hash) {+ return h$hashable_fnv_hash(str_a, o, len, hash);+}+function h$hashable_fnv_hash(str_d, str_o, len, hash) {+ if(len > 0) {+ var d = str_d.u8;+ for(var i=0;i<len;i++) {+ hash = h$mulInt32(hash, 16777619) ^ d[str_o+i];+ }+ }+ return hash;+}+// int hashable_getRandomBytes(unsigned char *dest, int nbytes)+function h$hashable_getRandomBytes(dest_d, dest_o, len) {+ if(len > 0) {+ var d = dest_d.u8;+ for(var i=0;i<len;i++) {+ d[dest_o+i] = Math.floor(Math.random() * 256);+ }+ }+ return len;+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+function h$_hs_text_memcpy(dst_v,dst_o2,src_v,src_o2,n) {+ return h$memcpy(dst_v,2*dst_o2,src_v,2*src_o2,2*n);+}+function h$_hs_text_memcmp(a_v,a_o2,b_v,b_o2,n) {+ return h$memcmp(a_v,2*a_o2,b_v,2*b_o2,2*n);+}+// decoder below adapted from cbits/cbits.c in the text package+var h$_text_UTF8_ACCEPT = 0;+var h$_text_UTF8_REJECT = 12+var h$_text_utf8d =+ [+ /*+ * The first part of the table maps bytes to character classes that+ * to reduce the size of the transition table and create bitmasks.+ */+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,+ 0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,+ 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,+ 8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,+ 10,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3, 11,6,6,6,5,8,8,8,8,8,8,8,8,8,8,8,+ /*+ * The second part is a transition table that maps a combination of+ * a state of the automaton and a character class to a state.+ */+ 0,12,24,36,60,96,84,12,12,12,48,72, 12,12,12,12,12,12,12,12,12,12,12,12,+ 12, 0,12,12,12,12,12, 0,12, 0,12,12, 12,24,12,12,12,12,12,24,12,24,12,12,+ 12,12,12,12,12,12,12,24,12,12,12,12, 12,24,12,12,12,12,12,12,12,24,12,12,+ 12,12,12,12,12,12,12,36,12,36,12,12, 12,36,12,12,12,12,12,36,12,36,12,12,+ 12,36,12,12,12,12,12,12,12,12,12,12];+/*+ * A best-effort decoder. Runs until it hits either end of input or+ * the start of an invalid byte sequence.+ *+ * At exit, updates *destoff with the next offset to write to, and+ * returns the next source offset to read from.+ */+function h$_hs_text_decode_utf8_internal ( dest_v+ , destoff_v, destoff_o+ , src_v, src_o+ , src_end_v, src_end_o+ , s+ ) {+ if(src_v === null || src_end_v === null) {+ h$ret1 = src_end_o;+ return null;+ }+ var dsto = destoff_v.dv.getUint32(destoff_o,true) << 1;+ var srco = src_o;+ var state = s.state;+ var codepoint = s.codepoint;+ var ddv = dest_v.dv;+ var sdv = src_v.dv;+ function decode(b) {+ var type = h$_text_utf8d[b];+ codepoint = (state !== h$_text_UTF8_ACCEPT) ?+ (b & 0x3f) | (codepoint << 6) :+ (0xff >>> type) & b;+ state = h$_text_utf8d[256 + state + type];+ return state;+ }+ while (srco < src_end_o) {+ if(decode(sdv.getUint8(srco++)) !== h$_text_UTF8_ACCEPT) {+ if(state !== h$_text_UTF8_REJECT) {+ continue;+ } else {+ break;+ }+ }+ if (codepoint <= 0xffff) {+ ddv.setUint16(dsto,codepoint,true);+ dsto += 2;+ } else {+ ddv.setUint16(dsto,(0xD7C0 + (codepoint >>> 10)),true);+ ddv.setUint16(dsto+2,(0xDC00 + (codepoint & 0x3FF)),true);+ dsto += 4;+ }+ s.last = srco;+ }+ s.state = state;+ s.codepoint = codepoint;+ destoff_v.dv.setUint32(destoff_o,dsto>>1,true);+ h$ret1 = srco;+ return src_v;+}+function h$_hs_text_decode_utf8_state( dest_v+ , destoff_v, destoff_o+ , src_v, src_o+ , srcend_v, srcend_o+ , codepoint0_v, codepoint0_o+ , state0_v, state0_o+ ) {+ var s = { state: state0_v.dv.getUint32(state0_o, true)+ , codepoint: codepoint0_v.dv.getUint32(codepoint0_o, true)+ , last: src_o+ };+ var ret = h$_hs_text_decode_utf8_internal ( dest_v+ , destoff_v, destoff_o+ , src_v.arr[src_o][0], src_v.arr[src_o][1]+ , srcend_v, srcend_o+ , s+ );+ src_v.arr[src_o][1] = s.last;+ state0_v.dv.setUint32(state0_o, s.state, true);+ codepoint0_v.dv.setUint32(codepoint0_o, s.codepoint, true);+ if(s.state === h$_text_UTF8_REJECT)+ h$ret1--;+ return ret;+}+function h$_hs_text_decode_utf8( dest_v+ , destoff_v, destoff_o+ , src_v, src_o+ , srcend_v, srcend_o+ ) {+ /* Back up if we have an incomplete or invalid encoding */+ var s = { state: h$_text_UTF8_ACCEPT+ , codepoint: 0+ , last: src_o+ };+ var ret = h$_hs_text_decode_utf8_internal ( dest_v+ , destoff_v, destoff_o+ , src_v, src_o+ , srcend_v, srcend_o+ , s+ );+ if (s.state !== h$_text_UTF8_ACCEPT)+ h$ret1--;+ return ret;+}+/*+ * The ISO 8859-1 (aka latin-1) code points correspond exactly to the first 256 unicode+ * code-points, therefore we can trivially convert from a latin-1 encoded bytestring to+ * an UTF16 array+ */+function h$_hs_text_decode_latin1(dest_d, src_d, src_o, srcend_d, srcend_o) {+ var p = src_o;+ var d = 0;+ var su8 = src_d.u8;+ var su3 = src_d.u3;+ var du1 = dest_d.u1;+ // consume unaligned prefix+ while(p != srcend_o && p & 3) {+ du1[d++] = su8[p++];+ }+ // iterate over 32-bit aligned loads+ if(su3) {+ while (p < srcend_o - 3) {+ var w = su3[p>>2];+ du1[d++] = w & 0xff;+ du1[d++] = (w >>> 8) & 0xff;+ du1[d++] = (w >>> 16) & 0xff;+ du1[d++] = (w >>> 32) & 0xff;+ p += 4;+ }+ }+ // handle unaligned suffix+ while (p != srcend_o)+ du1[d++] = su8[p++];+}+function h$_hs_text_encode_utf8(destp_v, destp_o, src_v, srcoff, srclen) {+ var dest_v = destp_v.arr[destp_o][0];+ var dest_o = destp_v.arr[destp_o][1];+ var src = srcoff;+ var dest = dest_o;+ var srcend = src + srclen;+ var srcu1 = src_v.u1;+ if(!srcu1) throw "h$_hs_text_encode_utf8: invalid alignment for source";+ var srcu3 = src_v.u3;+ var destu8 = dest_v.u8;+ while(src < srcend) {+ // run of (aligned) ascii characters+ while(srcu3 && !(src & 1) && srcend - src >= 2) {+ var w = srcu3[src>>1];+ if(w & 0xFF80FF80) break;+ destu8[dest++] = w & 0xFFFF;+ destu8[dest++] = w >>> 16;+ src += 2;+ }+ while(src < srcend) {+ var w = srcu1[src++];+ if(w <= 0x7F) {+ destu8[dest++] = w;+ break; // go back to a stream of ASCII+ } else if(w <= 0x7FF) {+ destu8[dest++] = (w >> 6) | 0xC0;+ destu8[dest++] = (w & 0x3f) | 0x80;+ } else if(w < 0xD800 || w > 0xDBFF) {+ destu8[dest++] = (w >>> 12) | 0xE0;+ destu8[dest++] = ((w >> 6) & 0x3F) | 0x80;+ destu8[dest++] = (w & 0x3F) | 0x80;+ } else {+ var c = ((w - 0xD800) << 10) + (srcu1[src++] - 0xDC00) + 0x10000;+ destu8[dest++] = (c >>> 18) | 0xF0;+ destu8[dest++] = ((c >> 12) & 0x3F) | 0x80;+ destu8[dest++] = ((c >> 6) & 0x3F) | 0x80;+ destu8[dest++] = (c & 0x3F) | 0x80;+ }+ }+ }+ destp_v.arr[destp_o][1] = dest;+}
+ ghcjs/ghcjs-demo.jsexe/out.js view
@@ -0,0 +1,32104 @@+function h$ghczmprimZCGHCziTypesziGT_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziEQ_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziLT_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziTrue_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziZMZN_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziIzh_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziIzh_e()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziFalse_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziDzh_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziDzh_e()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziZC_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziZC_e()+{+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziCzh_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTypesziCzh_e()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_e()+{+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$r2, h$r3, h$r4);+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTupleziZLz2cUZR_e()+{+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziTupleziZLZR_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziIntWord64ziintToInt64zh_e()+{+ var a = h$hs_intToInt64(h$r2);+ h$r1 = a;+ h$r2 = h$ret1;+ return h$stack[h$sp];+};+function h$$e()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = true;+ }+ else+ {+ h$r1 = false;+ };+ return h$stack[h$sp];+};+function h$$d()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ if((b === e))+ {+ h$l3(d, c, h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdczeze);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = false;+ };+ return h$stack[h$sp];+};+function h$$c()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 4;+ h$pp9(a, h$$d);+ return h$e(b);+};+function h$$b()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = false;+ }+ else+ {+ var c = a.d1;+ h$pp13(c, a.d2, h$$c);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$a()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p1(h$$e);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p3(c, a.d2, h$$b);+ return h$e(b);+ };+};+function h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdczeze_e()+{+ h$p2(h$r3, h$$a);+ return h$e(h$r2);+};+function h$$g()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ if((c <= d))+ {+ h$r1 = a;+ }+ else+ {+ h$r1 = b;+ };+ return h$stack[h$sp];+};+function h$$f()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p3(a, a, h$$g);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszizdfOrdIntzuzdcmax_e()+{+ h$p2(h$r3, h$$f);+ return h$e(h$r2);+};+function h$$i()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ if((c <= d))+ {+ h$r1 = b;+ }+ else+ {+ h$r1 = a;+ };+ return h$stack[h$sp];+};+function h$$h()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p3(a, a, h$$i);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszizdfOrdIntzuzdcmin_e()+{+ h$p2(h$r3, h$$h);+ return h$e(h$r2);+};+function h$$j()+{+ var a = h$r1;+ --h$sp;+ if(a)+ {+ h$r1 = false;+ }+ else+ {+ h$r1 = true;+ };+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdczsze_e()+{+ h$p1(h$$j);+ h$r1 = h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdczeze;+ return h$ap_2_2_fast();+};+function h$$l()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = ((b === c) ? 1 : 0);+ h$r1 = (d ? true : false);+ return h$stack[h$sp];+};+function h$$k()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$l);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszizdfEqCharzuzdczeze_e()+{+ h$p2(h$r3, h$$k);+ return h$e(h$r2);+};+function h$$n()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = ((b !== c) ? 1 : 0);+ h$r1 = (d ? true : false);+ return h$stack[h$sp];+};+function h$$m()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$n);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszizdfEqCharzuzdczsze_e()+{+ h$p2(h$r3, h$$m);+ return h$e(h$r2);+};+function h$ghczmprimZCGHCziClassesziDZCOrd_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziClassesziDZCOrd_e()+{+ h$r1 = h$c8(h$ghczmprimZCGHCziClassesziDZCOrd_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$r9);+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziClassesziDZCEq_con_e()+{+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziClassesziDZCEq_e()+{+ h$r1 = h$c2(h$ghczmprimZCGHCziClassesziDZCEq_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziClasseszimodIntzh_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = (a % b);+ if((a > 0))+ {+ if((b < 0))+ {+ var d = c;+ if((d === 0))+ {+ h$r1 = 0;+ }+ else+ {+ h$r1 = ((d + b) | 0);+ };+ }+ else+ {+ if((a < 0))+ {+ if((b > 0))+ {+ var e = c;+ if((e === 0))+ {+ h$r1 = 0;+ }+ else+ {+ h$r1 = ((e + b) | 0);+ };+ }+ else+ {+ h$r1 = c;+ };+ }+ else+ {+ h$r1 = c;+ };+ };+ }+ else+ {+ if((a < 0))+ {+ if((b > 0))+ {+ var f = c;+ if((f === 0))+ {+ h$r1 = 0;+ }+ else+ {+ h$r1 = ((f + b) | 0);+ };+ }+ else+ {+ h$r1 = c;+ };+ }+ else+ {+ h$r1 = c;+ };+ };+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziClasseszidivIntzh_e()+{+ var a = h$r2;+ var b = h$r3;+ if((a > 0))+ {+ if((b < 0))+ {+ var c = ((a - 1) | 0);+ var d = ((c / b) | 0);+ h$r1 = ((d - 1) | 0);+ }+ else+ {+ if((a < 0))+ {+ if((b > 0))+ {+ var e = ((a + 1) | 0);+ var f = ((e / b) | 0);+ h$r1 = ((f - 1) | 0);+ }+ else+ {+ h$r1 = ((a / b) | 0);+ };+ }+ else+ {+ h$r1 = ((a / b) | 0);+ };+ };+ }+ else+ {+ if((a < 0))+ {+ if((b > 0))+ {+ var g = ((a + 1) | 0);+ var h = ((g / b) | 0);+ h$r1 = ((h - 1) | 0);+ }+ else+ {+ h$r1 = ((a / b) | 0);+ };+ }+ else+ {+ h$r1 = ((a / b) | 0);+ };+ };+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziClasseszicompareIntzh_e()+{+ var a = h$r2;+ var b = h$r3;+ if((a < b))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziLT;+ }+ else+ {+ if((a === b))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziEQ;+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziGT;+ };+ };+ return h$stack[h$sp];+};+function h$$p()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(a, b, h$ghczmprimZCGHCziClasseszicompareIntzh);+ return h$ap_2_2_fast();+};+function h$$o()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$p);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszicompareInt_e()+{+ h$p2(h$r3, h$$o);+ return h$e(h$r2);+};+function h$$r()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = ((b <= c) ? 1 : 0);+ h$r1 = (d ? true : false);+ return h$stack[h$sp];+};+function h$$q()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$r);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszileInt_e()+{+ h$p2(h$r3, h$$q);+ return h$e(h$r2);+};+function h$$t()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = ((b < c) ? 1 : 0);+ h$r1 = (d ? true : false);+ return h$stack[h$sp];+};+function h$$s()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$t);+ return h$e(b);+};+function h$ghczmprimZCGHCziClassesziltInt_e()+{+ h$p2(h$r3, h$$s);+ return h$e(h$r2);+};+function h$$v()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = ((b >= c) ? 1 : 0);+ h$r1 = (d ? true : false);+ return h$stack[h$sp];+};+function h$$u()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$v);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszigeInt_e()+{+ h$p2(h$r3, h$$u);+ return h$e(h$r2);+};+function h$$x()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = ((b > c) ? 1 : 0);+ h$r1 = (d ? true : false);+ return h$stack[h$sp];+};+function h$$w()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$x);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszigtInt_e()+{+ h$p2(h$r3, h$$w);+ return h$e(h$r2);+};+function h$$z()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = ((b !== c) ? 1 : 0);+ h$r1 = (d ? true : false);+ return h$stack[h$sp];+};+function h$$y()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$z);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszineInt_e()+{+ h$p2(h$r3, h$$y);+ return h$e(h$r2);+};+function h$$B()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = ((b === c) ? 1 : 0);+ h$r1 = (d ? true : false);+ return h$stack[h$sp];+};+function h$$A()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$B);+ return h$e(b);+};+function h$ghczmprimZCGHCziClasseszieqInt_e()+{+ h$p2(h$r3, h$$A);+ return h$e(h$r2);+};+function h$$C()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$ghczmprimZCGHCziClasseszizeze_e()+{+ h$p1(h$$C);+ return h$e(h$r2);+};+function h$$E()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(((b + 1) | 0), a);+ return h$ap_1_1_fast();+};+function h$$D()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = h$r2;+ var g = a.u8[(c + f)];+ if((g === 0))+ {+ return h$e(d);+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, g, h$c2(h$$E, e, f));+ };+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziCStringziunpackAppendCStringzh_e()+{+ var a = h$r3;+ var b = h$r4;+ var c = h$c(h$$D);+ c.d1 = h$r2;+ c.d2 = h$d3(a, b, c);+ h$l2(0, c);+ return h$ap_1_1_fast();+};+function h$$G()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(((b + 1) | 0), a);+ return h$ap_1_1_fast();+};+function h$$F()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ var f = a.u8[(c + e)];+ if((f === 0))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, f, h$c2(h$$G, d, e));+ };+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziCStringziunpackCStringzh_e()+{+ var a = h$r3;+ var b = h$c(h$$F);+ b.d1 = h$r2;+ b.d2 = h$d2(a, b);+ h$l2(0, b);+ return h$ap_1_1_fast();+};+function h$$I()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(((b + 1) | 0), a);+ return h$ap_1_1_fast();+};+function h$$H()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = h$r2;+ var h = a.u8[(c + g)];+ if((h === 0))+ {+ h$r1 = e;+ return h$ap_0_0_fast();+ }+ else+ {+ h$l3(h$c2(h$$I, f, g), h, d);+ return h$ap_2_2_fast();+ };+};+function h$ghczmprimZCGHCziCStringziunpackFoldrCStringzh_e()+{+ var a = h$r3;+ var b = h$r4;+ var c = h$r5;+ var d = h$c(h$$H);+ d.d1 = h$r2;+ d.d2 = h$d4(a, b, c, d);+ h$l2(0, d);+ return h$ap_1_1_fast();+};+function h$$N()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(((b + 4) | 0), a);+ return h$ap_1_1_fast();+};+function h$$M()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(((b + 3) | 0), a);+ return h$ap_1_1_fast();+};+function h$$L()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(((b + 2) | 0), a);+ return h$ap_1_1_fast();+};+function h$$K()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(((b + 1) | 0), a);+ return h$ap_1_1_fast();+};+function h$$J()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ var f = a.u8[(c + e)];+ if((f === 0))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ if((f <= 127))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, f, h$c2(h$$K, d, e));+ }+ else+ {+ if((f <= 223))+ {+ var g = h$c2(h$$L, d, e);+ var h = ((e + 1) | 0);+ var i = a.u8[(c + h)];+ var j = ((i - 128) | 0);+ var k = f;+ var l = ((k - 192) | 0);+ var m = (l << 6);+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, ((m + j) | 0), g);+ }+ else+ {+ if((f <= 239))+ {+ var n = h$c2(h$$M, d, e);+ var o = ((e + 2) | 0);+ var p = a.u8[(c + o)];+ var q = ((e + 1) | 0);+ var r = a.u8[(c + q)];+ var s = p;+ var t = ((s - 128) | 0);+ var u = r;+ var v = ((u - 128) | 0);+ var w = (v << 6);+ var x = f;+ var y = ((x - 224) | 0);+ var z = (y << 12);+ var A = ((z + w) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, ((A + t) | 0), n);+ }+ else+ {+ var B = h$c2(h$$N, d, e);+ var C = ((e + 3) | 0);+ var D = a.u8[(c + C)];+ var E = ((e + 2) | 0);+ var F = a.u8[(c + E)];+ var G = ((e + 1) | 0);+ var H = a.u8[(c + G)];+ var I = D;+ var J = ((I - 128) | 0);+ var K = F;+ var L = ((K - 128) | 0);+ var M = (L << 6);+ var N = H;+ var O = ((N - 128) | 0);+ var P = (O << 12);+ var Q = f;+ var R = ((Q - 240) | 0);+ var S = (R << 18);+ var T = ((S + P) | 0);+ var U = ((T + M) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, ((U + J) | 0), B);+ };+ };+ };+ };+ return h$stack[h$sp];+};+function h$ghczmprimZCGHCziCStringziunpackCStringUtf8zh_e()+{+ var a = h$r3;+ var b = h$c(h$$J);+ b.d1 = h$r2;+ b.d2 = h$d2(a, b);+ h$l2(0, b);+ return h$ap_1_1_fast();+};+function h$ghcjszmprimZCGHCJSziPrimziInternalziblockedIndefinitelyOnSTM_e()+{+ h$bh();+ h$l2(h$baseZCGHCziIOziExceptionziBlockedIndefinitelyOnSTM,+ h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdctoException);+ return h$ap_1_1_fast();+};+function h$ghcjszmprimZCGHCJSziPrimziInternalziblockedIndefinitelyOnMVar_e()+{+ h$bh();+ h$l2(h$baseZCGHCziIOziExceptionziBlockedIndefinitelyOnMVar,+ h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdctoException);+ return h$ap_1_1_fast();+};+function h$ghcjszmprimZCGHCJSziPrimziInternalziwouldBlock_e()+{+ h$l2(h$c1(h$ghcjszmprimZCGHCJSziPrimziWouldBlockException_con_e, h$r2),+ h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdctoException);+ return h$ap_1_1_fast();+};+function h$$P()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(a, h$ghcjszmprimZCGHCJSziPrimzigetProp1);+ return h$ap_1_1_fast();+};+function h$$O()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$P);+ h$r1 = b;+ return h$ap_0_0_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmprimZCGHCJSziPrimzigetProp1_e()+{+ h$p1(h$$O);+ return h$e(h$r2);+};+function h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdctoException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e, h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockException,+ h$r2);+ return h$stack[h$sp];+};+function h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdctoException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e, h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException, h$r2);+ return h$stack[h$sp];+};+function h$$R()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(c, a.d1, b, h$ghcjszmprimZCGHCJSziPrimzizdwzdcshowsPrec);+ return h$ap_3_3_fast();+};+function h$$Q()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ h$pp5(a, h$$R);+ return h$e(b);+};+function h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockExceptionzuzdcshowsPrec_e()+{+ h$p3(h$r3, h$r4, h$$Q);+ return h$e(h$r2);+};+function h$$S()+{+ var a = h$r1;+ --h$sp;+ h$l4(h$ghczmprimZCGHCziTypesziZMZN, a.d1, 0, h$ghcjszmprimZCGHCJSziPrimzizdwzdcshowsPrec);+ return h$ap_3_3_fast();+};+function h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockExceptionzuzdcshow_e()+{+ h$p1(h$$S);+ return h$e(h$r2);+};+var h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockException2 = h$strta("WouldBlockException ");+function h$$V()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziShowzizdfShowChar1, b), a, h$baseZCGHCziShowzishowLitString);+ return h$ap_2_2_fast();+};+function h$$U()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziShowzizdfShowChar1, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e,+ h$baseZCGHCziShowzishows12, b)), a, h$baseZCGHCziShowzishowLitString);+ return h$ap_2_2_fast();+};+function h$$T()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziShowzizdfShowChar1, h$c2(h$$U, a, b)),+ h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockException2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$ghcjszmprimZCGHCJSziPrimzizdwzdcshowsPrec_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ if((a >= 11))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziShowzishows13, h$c2(h$$T, b, c));+ }+ else+ {+ h$l3(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziShowzizdfShowChar1, h$c2(h$$V, b, c)),+ h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockException2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$W()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, a.d1, 0, h$ghcjszmprimZCGHCJSziPrimzizdwzdcshowsPrec);+ return h$ap_3_3_fast();+};+function h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockException1_e()+{+ h$p2(h$r3, h$$W);+ return h$e(h$r2);+};+function h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockExceptionzuzdcshowList_e()+{+ h$l4(h$r3, h$r2, h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockException1, h$baseZCGHCziShowzishowListzuzu);+ return h$baseZCGHCziShowzishowListzuzu_e;+};+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuww5 = h$strta("WouldBlockException");+function h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdctypeRepzh_e()+{+ return h$e(h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockException1);+};+function h$$Y()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdctypeRepzh, a, h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$X()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$Y);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdcfromException_e()+{+ h$p1(h$$X);+ return h$e(h$r2);+};+function h$$aa()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$Z()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(h$c2(h$$aa, b, a.d2), h$ghczmprimZCGHCziTypesziZC, h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException2);+ return h$ap_2_2_fast();+};+function h$ghcjszmprimZCGHCJSziPrimzizdfShowJSExceptionzuzdcshowsPrec_e()+{+ h$p2(h$r4, h$$Z);+ return h$e(h$r3);+};+function h$$ab()+{+ var a = h$r1;+ --h$sp;+ h$l3(a.d2, h$ghczmprimZCGHCziTypesziZC, h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException2);+ return h$ap_2_2_fast();+};+function h$ghcjszmprimZCGHCJSziPrimzizdfShowJSExceptionzuzdcshow_e()+{+ h$p1(h$$ab);+ return h$e(h$r2);+};+var h$$ghcjszmprimzm0zi1zi0zi0ZCGHCJSziPrim_V = h$str("JavaScript exception: ");+function h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException2_e()+{+ h$r5 = h$r3;+ h$r4 = h$r2;+ h$r3 = 0;+ h$r2 = h$$ghcjszmprimzm0zi1zi0zi0ZCGHCJSziPrim_V();+ h$r1 = h$ghczmprimZCGHCziCStringziunpackFoldrCStringzh;+ return h$ap_3_4_fast();+};+function h$$ad()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$ac()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(h$c2(h$$ad, b, a.d2), h$ghczmprimZCGHCziTypesziZC, h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException2);+ return h$ap_2_2_fast();+};+function h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException1_e()+{+ h$p2(h$r3, h$$ac);+ return h$e(h$r2);+};+function h$ghcjszmprimZCGHCJSziPrimzizdfShowJSExceptionzuzdcshowList_e()+{+ h$l4(h$r3, h$r2, h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException1, h$baseZCGHCziShowzishowListzuzu);+ return h$baseZCGHCziShowzishowListzuzu_e;+};+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuww3 = h$strta("ghcjs-prim-0.1.0.0");+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException4 = h$strta("GHCJS.Prim");+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException3 = h$strta("JSException");+function h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdctypeRepzh_e()+{+ return h$e(h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException1);+};+function h$$af()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdctypeRepzh, a, h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$ae()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$af);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdcfromException_e()+{+ h$p1(h$$ae);+ return h$e(h$r2);+};+function h$ghcjszmprimZCGHCJSziPrimziWouldBlockException_con_e()+{+ return h$stack[h$sp];+};+function h$ghcjszmprimZCGHCJSziPrimziWouldBlockException_e()+{+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziWouldBlockException_con_e, h$r2);+ return h$stack[h$sp];+};+function h$ghcjszmprimZCGHCJSziPrimziJSException_con_e()+{+ return h$stack[h$sp];+};+function h$ghcjszmprimZCGHCJSziPrimziJSException_e()+{+ h$r1 = h$c2(h$ghcjszmprimZCGHCJSziPrimziJSException_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e()+{+ return h$stack[h$sp];+};+function h$ghcjszmprimZCGHCJSziPrimziJSRef_e()+{+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, h$r2);+ return h$stack[h$sp];+};+function h$$ah()+{+ var a = h$r1;+ --h$sp;+ var b = h$fromHsString(a);+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, b);+ return h$stack[h$sp];+};+function h$$ag()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p1(h$$ah);+ return h$e(a);+};+function h$ghcjszmprimZCGHCJSziPrimzitoJSString_e()+{+ h$p2(h$r2, h$$ag);+ h$r1 = h$ghcjszmprimZCGHCJSziPrimzigetProp1;+ return h$ap_1_1_fast();+};+function h$ghcjszmprimZCGHCJSziPrimzifromJSString_e()+{+ h$r1 = h$ghcjszmprimZCGHCJSziPrimzijszufromJSString;+ return h$ap_1_1_fast();+};+function h$$ai()+{+ var a = h$r1;+ --h$sp;+ var b = h$toHsString(a.d1);+ h$r1 = b;+ return h$stack[h$sp];+};+function h$ghcjszmprimZCGHCJSziPrimzijszufromJSString_e()+{+ h$p1(h$$ai);+ return h$e(h$r2);+};+function h$$aj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = h$integer_cmm_int2Integerzh(a.d1);+ h$l3(b, h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, c, h$ret1),+ h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ var d = a.d1;+ var e = h$integer_cmm_fdivQ2ExpIntegerzh(d, a.d2, b);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, e);+ };+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger_e()+{+ h$p2(h$r3, h$$aj);+ return h$e(h$r2);+};+function h$$ak()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = h$integer_cmm_int2Integerzh(a.d1);+ h$l3(b, h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, c, h$ret1),+ h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ var d = a.d1;+ var e = h$integer_cmm_mul2ExpIntegerzh(d, a.d2, b);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, e);+ };+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger_e()+{+ h$p2(h$r3, h$$ak);+ return h$e(h$r2);+};+function h$$an()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ var d = b;+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, (d & c));+ }+ else+ {+ var e = h$integer_cmm_int2Integerzh(b);+ h$l3(a, h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, e, h$ret1), h$integerzmgmpZCGHCziIntegerziTypeziandInteger);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$am()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ var e = h$integer_cmm_int2Integerzh(a.d1);+ h$l3(h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, e, h$ret1), b, h$integerzmgmpZCGHCziIntegerziTypeziandInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ var f = a.d1;+ var g = h$integer_cmm_andIntegerzh(c, d, f, a.d2);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, g);+ };+ return h$stack[h$sp];+};+function h$$al()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p2(a.d1, h$$an);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p4(a, c, a.d2, h$$am);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypeziandInteger_e()+{+ h$p2(h$r3, h$$al);+ return h$e(h$r2);+};+function h$$aq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ var d = ((b / c) | 0);+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, d);+ h$r2 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, (b - (c * d)));+ }+ else+ {+ var e = h$integer_cmm_int2Integerzh(b);+ h$l3(a, h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, e, h$ret1),+ h$integerzmgmpZCGHCziIntegerziTypeziquotRemInteger);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$ap()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = a.d1;+ if((d < 0))+ {+ var e = h$integer_cmm_quotRemIntegerWordzh(b, c, (-d | 0));+ var f = e;+ var g = h$ret1;+ var h = f.negate();+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, h);+ h$r2 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, g);+ }+ else+ {+ var i = h$integer_cmm_quotRemIntegerWordzh(b, c, d);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, i);+ h$r2 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, h$ret1);+ };+ }+ else+ {+ var j = a.d1;+ var k = h$integer_cmm_quotRemIntegerzh(b, c, j, a.d2);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, k);+ h$r2 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, h$ret1);+ };+ return h$stack[h$sp];+};+function h$$ao()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ if((c === (-2147483648)))+ {+ h$l3(b, h$integerzmgmpZCGHCziIntegerziTypeziminIntAsBig, h$integerzmgmpZCGHCziIntegerziTypeziquotRemInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$p2(c, h$$aq);+ return h$e(b);+ };+ }+ else+ {+ var d = a.d1;+ h$p3(d, a.d2, h$$ap);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypeziquotRemInteger_e()+{+ h$p2(h$r3, h$$ao);+ return h$e(h$r2);+};+function h$$at()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, (b % c));+ }+ else+ {+ var d = h$integer_cmm_int2Integerzh(b);+ h$l3(a, h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, d, h$ret1), h$integerzmgmpZCGHCziIntegerziTypeziremInteger);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$as()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = a.d1;+ if((d < 0))+ {+ var e = h$integer_cmm_remIntegerWordzh(b, c, (-d | 0));+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, e);+ }+ else+ {+ var f = h$integer_cmm_remIntegerWordzh(b, c, d);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, f);+ };+ }+ else+ {+ var g = a.d1;+ var h = h$integer_cmm_remIntegerzh(b, c, g, a.d2);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, h);+ };+ return h$stack[h$sp];+};+function h$$ar()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ if((c === (-2147483648)))+ {+ h$l3(b, h$integerzmgmpZCGHCziIntegerziTypeziminIntAsBig, h$integerzmgmpZCGHCziIntegerziTypeziremInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$p2(c, h$$at);+ return h$e(b);+ };+ }+ else+ {+ var d = a.d1;+ h$p3(d, a.d2, h$$as);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypeziremInteger_e()+{+ h$p2(h$r3, h$$ar);+ return h$e(h$r2);+};+function h$$aw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, ((b / c) | 0));+ }+ else+ {+ var d = h$integer_cmm_int2Integerzh(b);+ h$l3(a, h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, d, h$ret1),+ h$integerzmgmpZCGHCziIntegerziTypeziquotInteger);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$av()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = a.d1;+ if((d < 0))+ {+ var e = h$integer_cmm_quotIntegerWordzh(b, c, (-d | 0));+ var f = e.negate();+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, f);+ }+ else+ {+ var g = h$integer_cmm_quotIntegerWordzh(b, c, d);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, g);+ };+ }+ else+ {+ var h = a.d1;+ var i = h$integer_cmm_quotIntegerzh(b, c, h, a.d2);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, i);+ };+ return h$stack[h$sp];+};+function h$$au()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ if((c === (-2147483648)))+ {+ h$l3(b, h$integerzmgmpZCGHCziIntegerziTypeziminIntAsBig, h$integerzmgmpZCGHCziIntegerziTypeziquotInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$p2(c, h$$aw);+ return h$e(b);+ };+ }+ else+ {+ var d = a.d1;+ h$p3(d, a.d2, h$$av);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypeziquotInteger_e()+{+ h$p2(h$r3, h$$au);+ return h$e(h$r2);+};+function h$$az()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ var d;+ var e = (b - c);+ d = (e | 0);+ var f = d;+ var g = ((d != e) ? 1 : 0);+ if((g === 0))+ {+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, f);+ }+ else+ {+ var h = h$integer_cmm_int2Integerzh(b);+ var i = h$integer_cmm_minusIntegerIntzh(h, h$ret1, c);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, i);+ };+ }+ else+ {+ var j = a.d2;+ var k = b;+ if((k === 0))+ {+ var l = j.negate();+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, l);+ }+ else+ {+ var m = h$integer_cmm_int2Integerzh(k);+ h$l3(a, h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, m, h$ret1),+ h$integerzmgmpZCGHCziIntegerziTypeziminusInteger);+ return h$ap_2_2_fast();+ };+ };+ return h$stack[h$sp];+};+function h$$ay()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ var e = a.d1;+ if((e === 0))+ {+ h$r1 = b;+ }+ else+ {+ var f = h$integer_cmm_minusIntegerIntzh(c, d, e);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, f);+ };+ }+ else+ {+ var g = a.d1;+ var h = h$integer_cmm_minusIntegerzh(c, d, g, a.d2);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, h);+ };+ return h$stack[h$sp];+};+function h$$ax()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p2(a.d1, h$$az);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p4(a, c, a.d2, h$$ay);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypeziminusInteger_e()+{+ h$p2(h$r3, h$$ax);+ return h$e(h$r2);+};+function h$$aC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = a.d1;+ var e;+ var f = (c + d);+ e = (f | 0);+ var g = e;+ var h = ((e != f) ? 1 : 0);+ if((h === 0))+ {+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, g);+ }+ else+ {+ var i = h$integer_cmm_int2Integerzh(c);+ var j = h$integer_cmm_plusIntegerIntzh(i, h$ret1, d);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, j);+ };+ }+ else+ {+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$aB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ var e = a.d1;+ if((e === 0))+ {+ h$r1 = b;+ }+ else+ {+ var f = h$integer_cmm_plusIntegerIntzh(c, d, e);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, f);+ };+ }+ else+ {+ var g = a.d1;+ var h = h$integer_cmm_plusIntegerzh(c, d, g, a.d2);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, h);+ };+ return h$stack[h$sp];+};+function h$$aA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p3(a, a.d1, h$$aC);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p4(a, c, a.d2, h$$aB);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypeziplusInteger_e()+{+ h$p2(h$r3, h$$aA);+ return h$e(h$r2);+};+function h$$aF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ var d;+ var e = (b * c);+ d = ((e === (e | 0)) ? 0 : 1);+ if((d === 0))+ {+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, h$mulInt32(b, c));+ }+ else+ {+ var f = h$integer_cmm_int2Integerzh(b);+ var g = h$integer_cmm_timesIntegerIntzh(f, h$ret1, c);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, g);+ };+ }+ else+ {+ var h = a.d1;+ switch (b)+ {+ case ((-1)):+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypezinegateInteger);+ return h$ap_1_1_fast();+ case (0):+ return h$e(h$$bi);+ case (1):+ h$r1 = a;+ break;+ default:+ var i = h$integer_cmm_timesIntegerIntzh(h, a.d2, b);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, i);+ };+ };+ return h$stack[h$sp];+};+function h$$aE()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ var e = a.d1;+ var f = h$integer_cmm_timesIntegerzh(c, d, e, a.d2);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, f);+ };+ return h$stack[h$sp];+};+function h$$aD()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p2(a.d1, h$$aF);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p4(a, c, a.d2, h$$aE);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypezitimesInteger_e()+{+ h$p2(h$r3, h$$aD);+ return h$e(h$r2);+};+function h$$aO()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, a);+ return h$stack[h$sp];+};+function h$$aN()+{+ var a = h$stack[(h$sp - 4)];+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if(h$r1)+ {+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypeziabsInteger);+ return h$ap_1_1_fast();+ }+ else+ {+ var e = h$integer_cmm_gcdIntegerIntzh(b, c, d);+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, e);+ };+ return h$stack[h$sp];+};+function h$$aM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$p1(h$$aO);+ h$l3(a.d1, b, h$integerzmgmpZCGHCziIntegerziTypezigcdInt);+ return h$ap_2_2_fast();+ }+ else+ {+ var c = a.d1;+ var d = a.d2;+ var e = b;+ if((e === 0))+ {+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypeziabsInteger);+ return h$ap_1_1_fast();+ }+ else+ {+ var f = h$integer_cmm_cmpIntegerIntzh(c, d, 0);+ var g = f;+ if((g === 0))+ {+ h$r1 = 1;+ h$pp14(c, d, e);+ ++h$sp;+ return h$$aN;+ }+ else+ {+ h$r1 = 0;+ h$pp14(c, d, e);+ ++h$sp;+ return h$$aN;+ };+ };+ };+};+function h$$aL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypezigcdInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ var e = a.d1;+ var f = h$integer_cmm_gcdIntegerzh(c, d, e, a.d2);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, f);+ };+ return h$stack[h$sp];+};+function h$$aK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p3(a, a.d1, h$$aM);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p4(a, c, a.d2, h$$aL);+ return h$e(b);+ };+};+function h$$aJ()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(b, h$$aK);+ return h$e(a);+};+function h$$aI()+{+ var a = h$r1;+ --h$sp;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ if((c === (-2147483648)))+ {+ h$l3(h$integerzmgmpZCGHCziIntegerziTypeziminIntAsBig, b, h$integerzmgmpZCGHCziIntegerziTypezigcdInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$sp += 2;+ ++h$sp;+ return h$$aJ;+ };+ }+ else+ {+ h$sp += 2;+ ++h$sp;+ return h$$aJ;+ };+};+function h$$aH()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$sp += 2;+ h$p1(h$$aI);+ return h$e(a);+};+function h$$aG()+{+ var a = h$r1;+ --h$sp;+ var b = h$stack[h$sp];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ if((c === (-2147483648)))+ {+ h$l3(b, h$integerzmgmpZCGHCziIntegerziTypeziminIntAsBig, h$integerzmgmpZCGHCziIntegerziTypezigcdInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$sp += 2;+ ++h$sp;+ return h$$aH;+ };+ }+ else+ {+ h$sp += 2;+ ++h$sp;+ return h$$aH;+ };+};+function h$integerzmgmpZCGHCziIntegerziTypezigcdInteger_e()+{+ h$p2(h$r2, h$r3);+ h$p1(h$$aG);+ return h$e(h$r2);+};+function h$$aP()+{+ h$bh();+ h$l3(h$$bj, h$$bg, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+};+function h$integerzmgmpZCGHCziIntegerziTypeziabsInt_e()+{+ var a = h$r2;+ if((a < 0))+ {+ h$r1 = (-a | 0);+ }+ else+ {+ h$r1 = a;+ };+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypezigcdInt_e()+{+ var a = h$r3;+ var b = h$r2;+ if((b === 0))+ {+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypeziabsInt);+ return h$ap_1_1_fast();+ }+ else+ {+ var c = a;+ if((c === 0))+ {+ if((b < 0))+ {+ h$r1 = (-b | 0);+ }+ else+ {+ h$r1 = b;+ };+ }+ else+ {+ if((c < 0))+ {+ if((b < 0))+ {+ var d = (-c | 0);+ h$r1 = h$integer_cmm_gcdIntzh((-b | 0), d);+ }+ else+ {+ h$r1 = h$integer_cmm_gcdIntzh(b, (-c | 0));+ };+ }+ else+ {+ if((b < 0))+ {+ h$r1 = h$integer_cmm_gcdIntzh((-b | 0), c);+ }+ else+ {+ h$r1 = h$integer_cmm_gcdIntzh(b, c);+ };+ };+ };+ };+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziminIntAsBig_e()+{+ h$bh();+ var a = h$integer_cmm_int2Integerzh((-2147483648));+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, a, h$ret1);+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziencodeDoublezh_e()+{+ var a = h$integer_cbits_encodeDouble(h$r2, h$r3, h$r4);+ h$r1 = a;+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziintzuencodeDoublezh_e()+{+ var a = h$__int_encodeDouble(h$r2, h$r3);+ h$r1 = a;+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e()+{+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziJzh_e()+{+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e()+{+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziSzh_e()+{+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, h$r2);+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziint64ToInteger_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$hs_intToInt64(2147483647);+ if(h$hs_leInt64(a, b, c, h$ret1))+ {+ var d = h$hs_intToInt64((-2147483648));+ if(h$hs_geInt64(a, b, d, h$ret1))+ {+ h$l2(h$hs_int64ToInt(a, b), h$integerzmgmpZCGHCziIntegerziTypezismallInteger);+ return h$ap_1_1_fast();+ }+ else+ {+ var e = h$integer_cmm_int64ToIntegerzh(a, b);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, e, h$ret1);+ };+ }+ else+ {+ var f = h$integer_cmm_int64ToIntegerzh(a, b);+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, f, h$ret1);+ };+ return h$stack[h$sp];+};+function h$$aQ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$l3(b, a.d1, h$integerzmgmpZCGHCziIntegerziTypeziintzuencodeDoublezh);+ return h$ap_2_2_fast();+ }+ else+ {+ var c = a.d1;+ h$l4(b, a.d2, c, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoublezh);+ return h$ap_3_3_fast();+ };+};+function h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger_e()+{+ h$p2(h$r3, h$$aQ);+ return h$e(h$r2);+};+function h$$aR()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = a.d1;+ }+ else+ {+ var b = a.d1;+ var c = h$integer_cbits_encodeDouble(b, a.d2, 0);+ h$r1 = c;+ };+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypezidoubleFromInteger_e()+{+ h$p1(h$$aR);+ return h$e(h$r2);+};+function h$$aU()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ if((b === c))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziEQ;+ }+ else+ {+ if((b <= c))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziLT;+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziGT;+ };+ };+ }+ else+ {+ var d = a.d1;+ var e = h$integer_cmm_cmpIntegerIntzh(d, a.d2, b);+ if((e > 0))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziLT;+ }+ else+ {+ if((e < 0))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziGT;+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziEQ;+ };+ };+ };+ return h$stack[h$sp];+};+function h$$aT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = h$integer_cmm_cmpIntegerIntzh(b, c, a.d1);+ if((d < 0))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziLT;+ }+ else+ {+ if((d > 0))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziGT;+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziEQ;+ };+ };+ }+ else+ {+ var e = a.d1;+ var f = h$integer_cmm_cmpIntegerzh(b, c, e, a.d2);+ if((f < 0))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziLT;+ }+ else+ {+ if((f > 0))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziGT;+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziEQ;+ };+ };+ };+ return h$stack[h$sp];+};+function h$$aS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p2(a.d1, h$$aU);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p3(c, a.d2, h$$aT);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypezicompareInteger_e()+{+ h$p2(h$r3, h$$aS);+ return h$e(h$r2);+};+function h$$aX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ h$r1 = ((b >= c) ? 1 : 0);+ }+ else+ {+ var d = a.d1;+ var e = h$integer_cmm_cmpIntegerIntzh(d, a.d2, b);+ h$r1 = ((e <= 0) ? 1 : 0);+ };+ return h$stack[h$sp];+};+function h$$aW()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = h$integer_cmm_cmpIntegerIntzh(b, c, a.d1);+ h$r1 = ((d >= 0) ? 1 : 0);+ }+ else+ {+ var e = a.d1;+ var f = h$integer_cmm_cmpIntegerzh(b, c, e, a.d2);+ h$r1 = ((f >= 0) ? 1 : 0);+ };+ return h$stack[h$sp];+};+function h$$aV()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p2(a.d1, h$$aX);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p3(c, a.d2, h$$aW);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypezigeIntegerzh_e()+{+ h$p2(h$r3, h$$aV);+ return h$e(h$r2);+};+function h$$a0()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ h$r1 = ((b < c) ? 1 : 0);+ }+ else+ {+ var d = a.d1;+ var e = h$integer_cmm_cmpIntegerIntzh(d, a.d2, b);+ h$r1 = ((e > 0) ? 1 : 0);+ };+ return h$stack[h$sp];+};+function h$$aZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = h$integer_cmm_cmpIntegerIntzh(b, c, a.d1);+ h$r1 = ((d < 0) ? 1 : 0);+ }+ else+ {+ var e = a.d1;+ var f = h$integer_cmm_cmpIntegerzh(b, c, e, a.d2);+ h$r1 = ((f < 0) ? 1 : 0);+ };+ return h$stack[h$sp];+};+function h$$aY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p2(a.d1, h$$a0);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p3(c, a.d2, h$$aZ);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh_e()+{+ h$p2(h$r3, h$$aY);+ return h$e(h$r2);+};+function h$$a3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ h$r1 = ((b > c) ? 1 : 0);+ }+ else+ {+ var d = a.d1;+ var e = h$integer_cmm_cmpIntegerIntzh(d, a.d2, b);+ h$r1 = ((e < 0) ? 1 : 0);+ };+ return h$stack[h$sp];+};+function h$$a2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = h$integer_cmm_cmpIntegerIntzh(b, c, a.d1);+ h$r1 = ((d > 0) ? 1 : 0);+ }+ else+ {+ var e = a.d1;+ var f = h$integer_cmm_cmpIntegerzh(b, c, e, a.d2);+ h$r1 = ((f > 0) ? 1 : 0);+ };+ return h$stack[h$sp];+};+function h$$a1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p2(a.d1, h$$a3);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p3(c, a.d2, h$$a2);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypezigtIntegerzh_e()+{+ h$p2(h$r3, h$$a1);+ return h$e(h$r2);+};+function h$$a6()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ h$r1 = ((b <= c) ? 1 : 0);+ }+ else+ {+ var d = a.d1;+ var e = h$integer_cmm_cmpIntegerIntzh(d, a.d2, b);+ h$r1 = ((e >= 0) ? 1 : 0);+ };+ return h$stack[h$sp];+};+function h$$a5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = h$integer_cmm_cmpIntegerIntzh(b, c, a.d1);+ h$r1 = ((d <= 0) ? 1 : 0);+ }+ else+ {+ var e = a.d1;+ var f = h$integer_cmm_cmpIntegerzh(b, c, e, a.d2);+ h$r1 = ((f <= 0) ? 1 : 0);+ };+ return h$stack[h$sp];+};+function h$$a4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p2(a.d1, h$$a6);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p3(c, a.d2, h$$a5);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypezileIntegerzh_e()+{+ h$p2(h$r3, h$$a4);+ return h$e(h$r2);+};+function h$$a7()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ var b = a.d1;+ if((b < 0))+ {+ return h$e(h$$bh);+ }+ else+ {+ var c = b;+ if((c === 0))+ {+ return h$e(h$$bi);+ }+ else+ {+ return h$e(h$$bj);+ };+ };+ }+ else+ {+ var d = a.d1;+ var e = h$integer_cmm_cmpIntegerIntzh(d, a.d2, 0);+ if((e > 0))+ {+ return h$e(h$$bj);+ }+ else+ {+ var f = e;+ if((f === 0))+ {+ return h$e(h$$bi);+ }+ else+ {+ return h$e(h$$bh);+ };+ };+ };+};+function h$integerzmgmpZCGHCziIntegerziTypezisignumInteger_e()+{+ h$p1(h$$a7);+ return h$e(h$r2);+};+function h$$a8()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ var b = a.d1;+ if((b === (-2147483648)))+ {+ return h$e(h$$bf);+ }+ else+ {+ if((b >= 0))+ {+ h$r1 = a;+ }+ else+ {+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, (-b | 0));+ };+ };+ }+ else+ {+ var c = a.d2;+ var d = c.abs();+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, d);+ };+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziabsInteger_e()+{+ h$p1(h$$a8);+ return h$e(h$r2);+};+function h$$bb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = a.d1;+ h$r1 = ((b === c) ? 1 : 0);+ }+ else+ {+ var d = a.d1;+ var e = h$integer_cmm_cmpIntegerIntzh(d, a.d2, b);+ if((e === 0))+ {+ h$r1 = 1;+ }+ else+ {+ h$r1 = 0;+ };+ };+ return h$stack[h$sp];+};+function h$$ba()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ var d = h$integer_cmm_cmpIntegerIntzh(b, c, a.d1);+ if((d === 0))+ {+ h$r1 = 1;+ }+ else+ {+ h$r1 = 0;+ };+ }+ else+ {+ var e = a.d1;+ var f = h$integer_cmm_cmpIntegerzh(b, c, e, a.d2);+ if((f === 0))+ {+ h$r1 = 1;+ }+ else+ {+ h$r1 = 0;+ };+ };+ return h$stack[h$sp];+};+function h$$a9()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p2(a.d1, h$$bb);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p3(c, a.d2, h$$ba);+ return h$e(b);+ };+};+function h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh_e()+{+ h$p2(h$r3, h$$a9);+ return h$e(h$r2);+};+function h$$bc()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ var b = a.d1;+ if((b === (-2147483648)))+ {+ return h$e(h$$bf);+ }+ else+ {+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, (-b | 0));+ };+ }+ else+ {+ var c = a.d2;+ var d = c.negate();+ h$r1 = h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, d);+ };+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypezinegateInteger_e()+{+ h$p1(h$$bc);+ return h$e(h$r2);+};+function h$$bd()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$l2(a.d1, h$ghczmprimZCGHCziIntWord64ziintToInt64zh);+ return h$ghczmprimZCGHCziIntWord64ziintToInt64zh_e;+ }+ else+ {+ var b = a.d1;+ h$l3(a.d2, b, h$integerzmgmpZCGHCziIntegerziGMPziPrimziintegerToInt64zh);+ return h$integerzmgmpZCGHCziIntegerziGMPziPrimziintegerToInt64zh_e;+ };+};+function h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt64_e()+{+ h$p1(h$$bd);+ return h$e(h$r2);+};+function h$$be()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = a.d1;+ }+ else+ {+ var b = a.d1;+ h$r1 = h$integer_cmm_integer2Intzh(b, a.d2);+ };+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt_e()+{+ h$p1(h$$be);+ return h$e(h$r2);+};+function h$integerzmgmpZCGHCziIntegerziTypezismallInteger_e()+{+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, h$r2);+ return h$stack[h$sp];+};+function h$$bk()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a.d1;+ var e = c;+ var f = d.dv.getInt8(e, true);+ h$r1 = ((b - f) | 0);+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzugo_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = (b >>> 8);+ if((c === 0))+ {+ h$p3(a, b, h$$bk);+ return h$e(h$$bB);+ }+ else+ {+ h$l3(c, ((a + 8) | 0), h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzugo);+ return h$ap_2_2_fast();+ };+};+function h$$bp()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger);+ return h$ap_2_2_fast();+};+function h$$bo()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$r1 = c;+ h$r2 = h$mulInt32(2, d);+ }+ else+ {+ var e = h$mulInt32(2, d);+ h$r1 = h$c2(h$$bp, b, c);+ h$r2 = ((e + 1) | 0);+ };+ return h$stack[h$sp];+};+function h$$bn()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp14(a, b, h$$bo);+ h$l3(c, a, h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh);+ return h$ap_2_2_fast();+};+function h$$bm()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp5(c, h$$bn);+ h$l4(d, a, b, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzustep);+ return h$ap_3_3_fast();+};+function h$$bl()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$r1 = b;+ h$r2 = 0;+ }+ else+ {+ h$pp24(h$mulInt32(2, d), h$$bm);+ h$l3(d, c, h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzustep_e()+{+ h$p4(h$r2, h$r3, h$r4, h$$bl);+ h$r1 = h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh;+ return h$ap_2_2_fast();+};+function h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziBA_con_e()+{+ return h$stack[h$sp];+};+function h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziBA_e()+{+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziBA_con_e, h$r2);+ return h$stack[h$sp];+};+function h$$bs()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = h$r2;+ var d = h$r3;+ var e = h$r4;+ if((e === 256))+ {+ }+ else+ {+ if((e < c))+ {+ a.dv.setInt8(e, d, false);+ h$l4(((e + 1) | 0), d, c, b);+ return h$ap_4_3_fast();+ }+ else+ {+ h$l4(e, ((d - 1) | 0), h$mulInt32(2, c), b);+ return h$ap_4_3_fast();+ };+ };+ return h$stack[h$sp];+};+function h$$br()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c1(h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziBA_con_e, a);+ return h$stack[h$sp];+};+function h$$bq()+{+ h$bh();+ var a = h$newByteArray(256);+ a.dv.setInt8(0, 9, false);+ var b = h$c(h$$bs);+ b.d1 = a;+ b.d2 = b;+ h$p2(a, h$$br);+ h$l4(1, 8, 2, b);+ return h$ap_4_3_fast();+};+function h$$by()+{+ var a = h$r1;+ --h$sp;+ if(a)+ {+ h$r1 = 0;+ }+ else+ {+ h$r1 = 1;+ };+ return h$stack[h$sp];+};+function h$$bx()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$r1 = 2;+ }+ else+ {+ h$p1(h$$by);+ h$l3(c, b, h$integerzmgmpZCGHCziIntegerziTypezigtIntegerzh);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$bw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$pp6(a, h$$bx);+ h$l3(a, b, h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh);+ return h$ap_2_2_fast();+};+function h$$bv()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(c, h$$bw);+ h$l3(a, b, h$integerzmgmpZCGHCziIntegerziTypeziandInteger);+ return h$ap_2_2_fast();+};+function h$$bu()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp4(h$$bv);+ h$l3(h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2IsPowerOf2zh1, a,+ h$integerzmgmpZCGHCziIntegerziTypeziminusInteger);+ return h$ap_2_2_fast();+};+function h$$bt()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a, h$$bu);+ h$l3(a, a, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+};+function h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziroundingModezh_e()+{+ h$p2(h$r2, h$$bt);+ h$l2(h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2IsPowerOf2zh1,+ h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+};+function h$$bA()+{+ var a = h$r2;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$bz()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$l3(a.d1, 8, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzugo);+ return h$ap_2_2_fast();+ }+ else+ {+ h$p1(h$$bA);+ h$l4(1, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh1, a,+ h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzustep);+ return h$ap_3_3_fast();+ };+};+function h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh_e()+{+ h$p1(h$$bz);+ return h$e(h$r2);+};+function h$integerzmgmpZCGHCziIntegerziGMPziPrimziintegerToInt64zh_e()+{+ var a = h$hs_integerToInt64(h$r2, h$r3);+ h$r1 = a;+ h$r2 = h$ret1;+ return h$stack[h$sp];+};+function h$baseZCUnsafeziCoerceziunsafeCoerce1_e()+{+ h$r1 = h$r2;+ return h$ap_0_0_fast();+};+function h$$bG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(c, a, b, h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+};+function h$$bF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$pp6(c, h$$bG);+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+};+function h$$bE()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ h$sp -= 4;+ h$pp10(a, h$$bF);+ h$l3(b, c, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$bD()+{+ var a = h$r1;+ h$sp -= 4;+ h$pp8(h$$bE);+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypezismallInteger);+ return h$ap_1_1_fast();+};+function h$$bC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$pp12(a.d2, h$$bD);+ return h$e(c);+ };+};+function h$baseZCTextziReadziLexzinumberToFixedzuzdsval_e()+{+ h$p3(h$r2, h$r3, h$$bC);+ return h$e(h$r4);+};+function h$$bV()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ h$r2 = h$baseZCGHCziRealzizdfEnumRatio1;+ return h$stack[h$sp];+};+function h$$bU()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p1(h$$bV);+ h$l3(a, b, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$bT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCGHCziRealzizdwzdsreduce);+ return h$baseZCGHCziRealzizdwzdsreduce_e;+};+function h$$bS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(c, h$$bT);+ h$l3(a, b, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$bR()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp6(a, h$$bS);+ h$l2(b, h$integerzmgmpZCGHCziIntegerziTypezisignumInteger);+ return h$ap_1_1_fast();+};+function h$$bQ()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a, h$$bR);+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypeziabsInteger);+ return h$ap_1_1_fast();+};+function h$$bP()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$bQ);+ h$l3(a, h$baseZCTextziReadziLexzinumberToFixed1, h$baseZCGHCziRealzizczuzdszc2);+ return h$baseZCGHCziRealzizczuzdszc2_e;+};+function h$$bO()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$p2(c, h$$bP);+ h$l2(b, h$integerzmgmpZCGHCziIntegerziTypezinegateInteger);+ return h$ap_1_1_fast();+ }+ else+ {+ h$p2(c, h$$bU);+ h$l3(b, h$baseZCTextziReadziLexzinumberToFixed1, h$baseZCGHCziRealzizczuzdszc2);+ return h$baseZCGHCziRealzizczuzdszc2_e;+ };+};+function h$$bN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(c, a, b, h$$it);+ return h$ap_3_3_fast();+};+function h$$bM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$pp6(c, h$$bN);+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+};+function h$$bL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 4;+ h$pp10(a, h$$bM);+ h$l3(h$baseZCTextziReadziLexzinumberToFixed1, b, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$bK()+{+ var a = h$r1;+ h$sp -= 4;+ h$pp8(h$$bL);+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypezismallInteger);+ return h$ap_1_1_fast();+};+function h$$bJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 4;+ h$pp9(a, h$$bK);+ return h$e(b);+};+function h$$bI()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$pp4(h$$bO);+ h$l3(h$baseZCTextziReadziLexzinumberToFixed2, b, h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh);+ return h$ap_2_2_fast();+ }+ else+ {+ var c = a.d1;+ h$pp13(c, a.d2, h$$bJ);+ h$l3(h$$kZ, b, h$integerzmgmpZCGHCziIntegerziTypeziminusInteger);+ return h$ap_2_2_fast();+ };+};+function h$$bH()+{+ h$p3(h$r2, h$r3, h$$bI);+ return h$e(h$r4);+};+function h$$ca()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$$iu);+ return h$ap_1_1_fast();+};+function h$$b9()+{+ h$l2(h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$r2, true), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$$b8()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$c1(h$$b9, a), h$baseZCTextziReadziLexzilexChar2);+ return h$ap_1_1_fast();+};+function h$$b7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 92))+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$b6()+{+ h$p2(h$r1.d1, h$$b7);+ return h$e(h$r2);+};+function h$$b5()+{+ h$r1 = h$r1.d1;+ return h$stack[h$sp];+};+function h$$b4()+{+ h$r3 = h$r1.d1;+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip;+ return h$ap_2_2_fast();+};+function h$$b3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if(a)+ {+ h$r1 = b;+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$b2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ if((d === 38))+ {+ return h$e(b);+ }+ else+ {+ h$p2(c, h$$b3);+ h$l2(a, h$baseZCGHCziUnicodeziisSpace);+ return h$ap_1_1_fast();+ };+};+function h$$b1()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$b2);+ return h$e(h$r2);+};+function h$$b0()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ if((d === 92))+ {+ return h$e(c);+ }+ else+ {+ h$l2(h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, a, false), b);+ return h$ap_1_1_fast();+ };+};+function h$$bZ()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$b0);+ return h$e(h$r2);+};+function h$$bY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 92))+ {+ h$r1 = b;+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$bX()+{+ h$p2(h$r1.d1, h$$bY);+ return h$e(h$r2);+};+function h$$bW()+{+ var a = h$c1(h$$ca, h$r2);+ var b = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$b6, a));+ h$l3(h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c2(h$$bZ, h$r2, h$c1(h$$b8, h$r2))),+ h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$bX,+ h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c2(h$$b1, a,+ h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c1(h$$b4, h$c1(h$$b5, b))))))),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$cj()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$ci()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(h$c1(h$baseZCTextziReadziLexziString_con_e, h$c1(h$$cj, a)), b);+ return h$ap_1_1_fast();+};+function h$$ch()+{+ var a = h$r1.d1;+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d2, h$r2), a);+ return h$ap_1_1_fast();+};+function h$$cg()+{+ var a = h$r1.d1;+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d2, h$r2), a);+ return h$ap_1_1_fast();+};+function h$$cf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if(a)+ {+ h$l3(c, h$c2(h$$cg, b, e), h$$iv);+ return h$ap_2_2_fast();+ }+ else+ {+ return h$e(d);+ };+};+function h$$ce()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var e = a;+ if((e === 34))+ {+ h$pp24(a, h$$cf);+ return h$e(d);+ }+ else+ {+ h$l3(c, h$c2(h$$ch, b, a), h$$iv);+ return h$ap_2_2_fast();+ };+};+function h$$cd()+{+ var a = h$r1;+ h$sp -= 4;+ var b = a.d1;+ h$pp24(a.d2, h$$ce);+ return h$e(b);+};+function h$$cc()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p4(a, c, b.d2, h$$cd);+ return h$e(h$r2);+};+function h$$cb()+{+ h$l2(h$c3(h$$cc, h$r2, h$r3, h$c2(h$$ci, h$r2, h$r3)), h$$iu);+ return h$ap_1_1_fast();+};+function h$$cl()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$ck()+{+ h$p1(h$$cl);+ h$r1 = h$$ix;+ return h$ap_1_1_fast();+};+function h$$cr()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$l2(h$c1(h$baseZCTextziReadziLexziNumber_con_e, h$c3(h$baseZCTextziReadziLexziMkDecimal_con_e, c, b.d2, h$r2)), a);+ return h$ap_1_1_fast();+};+function h$$cq()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$cp()+{+ var a = h$r1.d1;+ h$p1(h$$cq);+ h$l4(h$c3(h$$cr, a, h$r1.d2, h$r2), h$$iy, h$$iA, h$baseZCTextziParserCombinatorsziReadPzizdwa);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa_e;+};+function h$$co()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$cn()+{+ h$p1(h$$co);+ h$l4(h$c2(h$$cp, h$r1.d1, h$r2), h$$iz, h$$kS, h$baseZCTextziParserCombinatorsziReadPzizdwa);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa_e;+};+function h$$cm()+{+ h$l3(h$c1(h$$cn, h$r2), h$$kU, h$$kX);+ return h$ap_2_2_fast();+};+function h$$cs()+{+ var a = h$r2;+ h$l2(h$baseZCDataziMaybeziNothing, a);+ return h$ap_1_1_fast();+};+function h$$ct()+{+ var a = h$r2;+ h$l2(h$baseZCDataziMaybeziNothing, a);+ return h$ap_1_1_fast();+};+function h$$cP()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(a, h$baseZCTextziReadziLexzinumberToFixed2, h$baseZCTextziReadziLexzinumberToFixed1,+ h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+};+function h$$cO()+{+ h$l2(h$c1(h$baseZCDataziMaybeziJust_con_e, h$c1(h$$cP, h$r2)), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$$cN()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$cM()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$cN);+ h$l3(h$c1(h$$cO, a), h$$kU, h$$kX);+ return h$ap_2_2_fast();+};+function h$$cL()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(a, h$baseZCTextziReadziLexzinumberToFixed2, h$baseZCTextziReadziLexzinumberToFixed1,+ h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+};+function h$$cK()+{+ h$l2(h$c1(h$baseZCDataziMaybeziJust_con_e, h$c1(h$$cL, h$r2)), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$$cJ()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$cI()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 43))+ {+ h$p1(h$$cJ);+ h$l3(h$c1(h$$cK, b), h$$kU, h$$kX);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$cH()+{+ h$p2(h$r1.d1, h$$cI);+ return h$e(h$r2);+};+function h$$cG()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypezinegateInteger);+ return h$ap_1_1_fast();+};+function h$$cF()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$cG);+ h$l4(a, h$baseZCTextziReadziLexzinumberToFixed2, h$baseZCTextziReadziLexzinumberToFixed1,+ h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+};+function h$$cE()+{+ h$l2(h$c1(h$baseZCDataziMaybeziJust_con_e, h$c1(h$$cF, h$r2)), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$$cD()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$cC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 45))+ {+ h$p1(h$$cD);+ h$l3(h$c1(h$$cE, b), h$$kU, h$$kX);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$cB()+{+ h$p2(h$r1.d1, h$$cC);+ return h$e(h$r2);+};+function h$$cA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$cz()+{+ var a = h$r1.d1;+ h$bh();+ h$p2(h$c1(h$$cM, a), h$$cA);+ h$l3(h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$cH, a)),+ h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$cB, a)),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$cy()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 69))+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$cx()+{+ h$p2(h$r1.d1, h$$cy);+ return h$e(h$r2);+};+function h$$cw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 101))+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$cv()+{+ h$p2(h$r1.d1, h$$cw);+ return h$e(h$r2);+};+function h$$cu()+{+ var a = h$c1(h$$cz, h$r2);+ h$l3(h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$cx, a)),+ h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$cv, a)),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$cQ()+{+ var a = h$r2;+ h$l2(h$$kU, a);+ return h$ap_1_1_fast();+};+function h$$cR()+{+ h$bh();+ h$l2(h$$kL, h$baseZCTextziParserCombinatorsziReadPzichoice);+ return h$ap_1_1_fast();+};+function h$$cV()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iI, a);+ return h$ap_1_1_fast();+};+function h$$cU()+{+ return h$e(h$r1.d1);+};+function h$$cT()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$cS()+{+ h$p1(h$$cT);+ h$l3(h$c1(h$$cU, h$c1(h$$cV, h$r2)), h$$iJ, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$iJ = h$strta("DEL");+function h$$cZ()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iM, a);+ return h$ap_1_1_fast();+};+function h$$cY()+{+ return h$e(h$r1.d1);+};+function h$$cX()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$cW()+{+ h$p1(h$$cX);+ h$l3(h$c1(h$$cY, h$c1(h$$cZ, h$r2)), h$$iN, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$iN = h$strta("SP");+function h$$c3()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iQ, a);+ return h$ap_1_1_fast();+};+function h$$c2()+{+ return h$e(h$r1.d1);+};+function h$$c1()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$c0()+{+ h$p1(h$$c1);+ h$l3(h$c1(h$$c2, h$c1(h$$c3, h$r2)), h$$iR, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$iR = h$strta("US");+function h$$c7()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iU, a);+ return h$ap_1_1_fast();+};+function h$$c6()+{+ return h$e(h$r1.d1);+};+function h$$c5()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$c4()+{+ h$p1(h$$c5);+ h$l3(h$c1(h$$c6, h$c1(h$$c7, h$r2)), h$$iV, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$iV = h$strta("RS");+function h$$db()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iY, a);+ return h$ap_1_1_fast();+};+function h$$da()+{+ return h$e(h$r1.d1);+};+function h$$c9()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$c8()+{+ h$p1(h$$c9);+ h$l3(h$c1(h$$da, h$c1(h$$db, h$r2)), h$$iZ, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$iZ = h$strta("GS");+function h$$df()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$i2, a);+ return h$ap_1_1_fast();+};+function h$$de()+{+ return h$e(h$r1.d1);+};+function h$$dd()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dc()+{+ h$p1(h$$dd);+ h$l3(h$c1(h$$de, h$c1(h$$df, h$r2)), h$$i3, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$i3 = h$strta("FS");+function h$$dj()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$i6, a);+ return h$ap_1_1_fast();+};+function h$$di()+{+ return h$e(h$r1.d1);+};+function h$$dh()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dg()+{+ h$p1(h$$dh);+ h$l3(h$c1(h$$di, h$c1(h$$dj, h$r2)), h$$i7, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$i7 = h$strta("ESC");+function h$$dn()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ja, a);+ return h$ap_1_1_fast();+};+function h$$dm()+{+ return h$e(h$r1.d1);+};+function h$$dl()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dk()+{+ h$p1(h$$dl);+ h$l3(h$c1(h$$dm, h$c1(h$$dn, h$r2)), h$$jb, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jb = h$strta("SUB");+function h$$ds()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$je, a);+ return h$ap_1_1_fast();+};+function h$$dr()+{+ return h$e(h$r1.d1);+};+function h$$dq()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dp()+{+ h$p1(h$$dq);+ h$l3(h$c1(h$$dr, h$c1(h$$ds, h$r2)), h$$jf, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jf = h$strta("EM");+function h$$dw()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ji, a);+ return h$ap_1_1_fast();+};+function h$$dv()+{+ return h$e(h$r1.d1);+};+function h$$du()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dt()+{+ h$p1(h$$du);+ h$l3(h$c1(h$$dv, h$c1(h$$dw, h$r2)), h$$jj, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jj = h$strta("CAN");+function h$$dA()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jm, a);+ return h$ap_1_1_fast();+};+function h$$dz()+{+ return h$e(h$r1.d1);+};+function h$$dy()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dx()+{+ h$p1(h$$dy);+ h$l3(h$c1(h$$dz, h$c1(h$$dA, h$r2)), h$$jn, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jn = h$strta("ETB");+function h$$dE()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jq, a);+ return h$ap_1_1_fast();+};+function h$$dD()+{+ return h$e(h$r1.d1);+};+function h$$dC()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dB()+{+ h$p1(h$$dC);+ h$l3(h$c1(h$$dD, h$c1(h$$dE, h$r2)), h$$jr, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jr = h$strta("SYN");+function h$$dI()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ju, a);+ return h$ap_1_1_fast();+};+function h$$dH()+{+ return h$e(h$r1.d1);+};+function h$$dG()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dF()+{+ h$p1(h$$dG);+ h$l3(h$c1(h$$dH, h$c1(h$$dI, h$r2)), h$$jv, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jv = h$strta("NAK");+function h$$dM()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jy, a);+ return h$ap_1_1_fast();+};+function h$$dL()+{+ return h$e(h$r1.d1);+};+function h$$dK()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dJ()+{+ h$p1(h$$dK);+ h$l3(h$c1(h$$dL, h$c1(h$$dM, h$r2)), h$$jz, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jz = h$strta("DC4");+function h$$dQ()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jC, a);+ return h$ap_1_1_fast();+};+function h$$dP()+{+ return h$e(h$r1.d1);+};+function h$$dO()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dN()+{+ h$p1(h$$dO);+ h$l3(h$c1(h$$dP, h$c1(h$$dQ, h$r2)), h$$jD, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jD = h$strta("DC3");+function h$$dU()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jG, a);+ return h$ap_1_1_fast();+};+function h$$dT()+{+ return h$e(h$r1.d1);+};+function h$$dS()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dR()+{+ h$p1(h$$dS);+ h$l3(h$c1(h$$dT, h$c1(h$$dU, h$r2)), h$$jH, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jH = h$strta("DC2");+function h$$dY()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jK, a);+ return h$ap_1_1_fast();+};+function h$$dX()+{+ return h$e(h$r1.d1);+};+function h$$dW()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dV()+{+ h$p1(h$$dW);+ h$l3(h$c1(h$$dX, h$c1(h$$dY, h$r2)), h$$jL, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jL = h$strta("DC1");+function h$$d2()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jO, a);+ return h$ap_1_1_fast();+};+function h$$d1()+{+ return h$e(h$r1.d1);+};+function h$$d0()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$dZ()+{+ h$p1(h$$d0);+ h$l3(h$c1(h$$d1, h$c1(h$$d2, h$r2)), h$$jP, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jP = h$strta("DLE");+function h$$d6()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jS, a);+ return h$ap_1_1_fast();+};+function h$$d5()+{+ return h$e(h$r1.d1);+};+function h$$d4()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$d3()+{+ h$p1(h$$d4);+ h$l3(h$c1(h$$d5, h$c1(h$$d6, h$r2)), h$$jT, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jT = h$strta("SI");+function h$$ea()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jW, a);+ return h$ap_1_1_fast();+};+function h$$d9()+{+ return h$e(h$r1.d1);+};+function h$$d8()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$d7()+{+ h$p1(h$$d8);+ h$l3(h$c1(h$$d9, h$c1(h$$ea, h$r2)), h$$jX, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$jX = h$strta("CR");+function h$$ee()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$j0, a);+ return h$ap_1_1_fast();+};+function h$$ed()+{+ return h$e(h$r1.d1);+};+function h$$ec()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$eb()+{+ h$p1(h$$ec);+ h$l3(h$c1(h$$ed, h$c1(h$$ee, h$r2)), h$$j1, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$j1 = h$strta("FF");+function h$$ei()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$j4, a);+ return h$ap_1_1_fast();+};+function h$$eh()+{+ return h$e(h$r1.d1);+};+function h$$eg()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$ef()+{+ h$p1(h$$eg);+ h$l3(h$c1(h$$eh, h$c1(h$$ei, h$r2)), h$$j5, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$j5 = h$strta("VT");+function h$$em()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$j8, a);+ return h$ap_1_1_fast();+};+function h$$el()+{+ return h$e(h$r1.d1);+};+function h$$ek()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$ej()+{+ h$p1(h$$ek);+ h$l3(h$c1(h$$el, h$c1(h$$em, h$r2)), h$$j9, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$j9 = h$strta("LF");+function h$$eq()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kc, a);+ return h$ap_1_1_fast();+};+function h$$ep()+{+ return h$e(h$r1.d1);+};+function h$$eo()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$en()+{+ h$p1(h$$eo);+ h$l3(h$c1(h$$ep, h$c1(h$$eq, h$r2)), h$$kd, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kd = h$strta("HT");+function h$$eu()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kg, a);+ return h$ap_1_1_fast();+};+function h$$et()+{+ return h$e(h$r1.d1);+};+function h$$es()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$er()+{+ h$p1(h$$es);+ h$l3(h$c1(h$$et, h$c1(h$$eu, h$r2)), h$$kh, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kh = h$strta("BS");+function h$$ey()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kk, a);+ return h$ap_1_1_fast();+};+function h$$ex()+{+ return h$e(h$r1.d1);+};+function h$$ew()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$ev()+{+ h$p1(h$$ew);+ h$l3(h$c1(h$$ex, h$c1(h$$ey, h$r2)), h$$kl, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kl = h$strta("BEL");+function h$$eC()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ko, a);+ return h$ap_1_1_fast();+};+function h$$eB()+{+ return h$e(h$r1.d1);+};+function h$$eA()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$ez()+{+ h$p1(h$$eA);+ h$l3(h$c1(h$$eB, h$c1(h$$eC, h$r2)), h$$kp, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kp = h$strta("ACK");+function h$$eG()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ks, a);+ return h$ap_1_1_fast();+};+function h$$eF()+{+ return h$e(h$r1.d1);+};+function h$$eE()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$eD()+{+ h$p1(h$$eE);+ h$l3(h$c1(h$$eF, h$c1(h$$eG, h$r2)), h$$kt, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kt = h$strta("ENQ");+function h$$eK()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kw, a);+ return h$ap_1_1_fast();+};+function h$$eJ()+{+ return h$e(h$r1.d1);+};+function h$$eI()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$eH()+{+ h$p1(h$$eI);+ h$l3(h$c1(h$$eJ, h$c1(h$$eK, h$r2)), h$$kx, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kx = h$strta("EOT");+function h$$eO()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kA, a);+ return h$ap_1_1_fast();+};+function h$$eN()+{+ return h$e(h$r1.d1);+};+function h$$eM()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$eL()+{+ h$p1(h$$eM);+ h$l3(h$c1(h$$eN, h$c1(h$$eO, h$r2)), h$$kB, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kB = h$strta("ETX");+function h$$eS()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kE, a);+ return h$ap_1_1_fast();+};+function h$$eR()+{+ return h$e(h$r1.d1);+};+function h$$eQ()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$eP()+{+ h$p1(h$$eQ);+ h$l3(h$c1(h$$eR, h$c1(h$$eS, h$r2)), h$$kF, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kF = h$strta("STX");+function h$$eW()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kI, a);+ return h$ap_1_1_fast();+};+function h$$eV()+{+ return h$e(h$r1.d1);+};+function h$$eU()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$eT()+{+ h$p1(h$$eU);+ h$l3(h$c1(h$$eV, h$c1(h$$eW, h$r2)), h$$kJ, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kJ = h$strta("NUL");+function h$$eY()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$eX()+{+ h$p1(h$$eY);+ h$l4(h$r2, h$$kM, h$$kP, h$baseZCTextziParserCombinatorsziReadPzizdwa);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa_e;+};+function h$$e2()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kN, a);+ return h$ap_1_1_fast();+};+function h$$e1()+{+ return h$e(h$r1.d1);+};+function h$$e0()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$eZ()+{+ h$p1(h$$e0);+ h$l3(h$c1(h$$e1, h$c1(h$$e2, h$r2)), h$$kO, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kO = h$strta("SO");+function h$$e6()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kQ, a);+ return h$ap_1_1_fast();+};+function h$$e5()+{+ return h$e(h$r1.d1);+};+function h$$e4()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$e3()+{+ h$p1(h$$e4);+ h$l3(h$c1(h$$e5, h$c1(h$$e6, h$r2)), h$$kR, h$baseZCTextziParserCombinatorsziReadPzizdwa6);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa6_e;+};+var h$$kR = h$strta("SOH");+function h$$e8()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, a);+ return h$stack[h$sp];+};+function h$$e7()+{+ h$p1(h$$e8);+ h$r1 = h$$kT;+ return h$ap_1_1_fast();+};+function h$$fd()+{+ h$l2(h$c1(h$baseZCDataziMaybeziJust_con_e, h$r2), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$$fc()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$fb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 46))+ {+ h$p1(h$$fc);+ h$l3(b, h$$kU, h$$kX);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$fa()+{+ h$p2(h$r1.d1, h$$fb);+ return h$e(h$r2);+};+function h$$e9()+{+ h$r1 = h$c1(h$$fa, h$c1(h$$fd, h$r2));+ return h$stack[h$sp];+};+function h$$ff()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, a);+ return h$stack[h$sp];+};+function h$$fe()+{+ h$p1(h$$ff);+ h$r1 = h$$kW;+ return h$ap_1_1_fast();+};+function h$$fq()+{+ h$l2(h$c1(h$baseZCTextziReadziLexziNumber_con_e, h$c2(h$baseZCTextziReadziLexziMkNumber_con_e, h$$lx, h$r2)), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$$fp()+{+ h$l2(h$c1(h$baseZCTextziReadziLexziNumber_con_e, h$c2(h$baseZCTextziReadziLexziMkNumber_con_e, h$$lw, h$r2)), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$$fo()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$fn()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$fm()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$fl()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$fk()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ switch (a)+ {+ case (79):+ h$p1(h$$fo);+ h$l3(b, h$$lx, h$$kX);+ return h$ap_2_2_fast();+ case (88):+ h$p1(h$$fn);+ h$l3(c, h$$lw, h$$kX);+ return h$ap_2_2_fast();+ case (111):+ h$p1(h$$fm);+ h$l3(b, h$$lx, h$$kX);+ return h$ap_2_2_fast();+ case (120):+ h$p1(h$$fl);+ h$l3(c, h$$lw, h$$kX);+ return h$ap_2_2_fast();+ default:+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$fj()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$fk);+ return h$e(h$r2);+};+function h$$fi()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 48))+ {+ h$r1 = b;+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$fh()+{+ h$p2(h$r1.d1, h$$fi);+ return h$e(h$r2);+};+function h$$fg()+{+ h$r1 = h$c1(h$$fh, h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c2(h$$fj, h$c1(h$$fq, h$r2), h$c1(h$$fp,+ h$r2))));+ return h$stack[h$sp];+};+function h$$f4()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$f3()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$f2()+{+ var a = h$r1.d1;+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d2, h$r2), a);+ return h$ap_1_1_fast();+};+function h$$f1()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$l3(h$c2(h$$f2, c, b.d3), d, a);+ return h$ap_2_2_fast();+};+function h$$f0()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$fZ()+{+ return h$e(h$r1.d1);+};+function h$$fY()+{+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$fZ, h$c2(h$$f0, h$r1.d1, h$r2)));+ return h$stack[h$sp];+};+function h$$fX()+{+ var a = h$stack[(h$sp - 3)];+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$r1 = h$c1(h$$fY, h$c4(h$$f1, b, c, a, h$r1));+ return h$stack[h$sp];+};+function h$$fW()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fV()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fU()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fT()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fS()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fR()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fQ()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fP()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fO()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fN()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fM()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fL()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fK()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fJ()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fI()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fH()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fG()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fF()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fE()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fD()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fC()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fB()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fA()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$fz()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$fy()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var e = a;+ switch (b)+ {+ case (8):+ if((48 <= e))+ {+ if((e <= 55))+ {+ var f = e;+ h$r1 = ((f - 48) | 0);+ h$sp += 3;+ h$stack[(h$sp - 2)] = d;+ ++h$sp;+ return h$$fX;+ }+ else+ {+ h$r1 = h$c1(h$$fT, h$c1(h$$fU, c));+ };+ }+ else+ {+ h$r1 = h$c1(h$$fV, h$c1(h$$fW, c));+ };+ break;+ case (10):+ if((48 <= e))+ {+ if((e <= 57))+ {+ var g = e;+ h$r1 = ((g - 48) | 0);+ h$sp += 3;+ h$stack[(h$sp - 2)] = d;+ ++h$sp;+ return h$$fX;+ }+ else+ {+ h$r1 = h$c1(h$$fP, h$c1(h$$fQ, c));+ };+ }+ else+ {+ h$r1 = h$c1(h$$fR, h$c1(h$$fS, c));+ };+ break;+ case (16):+ if((48 <= e))+ {+ if((e <= 57))+ {+ var h = e;+ h$r1 = ((h - 48) | 0);+ h$sp += 3;+ h$stack[(h$sp - 2)] = d;+ ++h$sp;+ return h$$fX;+ }+ else+ {+ if((97 <= e))+ {+ if((e <= 102))+ {+ var i = e;+ var j = ((i - 97) | 0);+ h$r1 = ((j + 10) | 0);+ h$sp += 3;+ h$stack[(h$sp - 2)] = d;+ ++h$sp;+ return h$$fX;+ }+ else+ {+ if((65 <= e))+ {+ if((e <= 70))+ {+ var k = e;+ var l = ((k - 65) | 0);+ h$r1 = ((l + 10) | 0);+ h$sp += 3;+ h$stack[(h$sp - 2)] = d;+ ++h$sp;+ return h$$fX;+ }+ else+ {+ h$r1 = h$c1(h$$fz, h$c1(h$$fA, c));+ };+ }+ else+ {+ h$r1 = h$c1(h$$fB, h$c1(h$$fC, c));+ };+ };+ }+ else+ {+ if((65 <= e))+ {+ if((e <= 70))+ {+ var m = e;+ var n = ((m - 65) | 0);+ h$r1 = ((n + 10) | 0);+ h$sp += 3;+ h$stack[(h$sp - 2)] = d;+ ++h$sp;+ return h$$fX;+ }+ else+ {+ h$r1 = h$c1(h$$fD, h$c1(h$$fE, c));+ };+ }+ else+ {+ h$r1 = h$c1(h$$fF, h$c1(h$$fG, c));+ };+ };+ };+ }+ else+ {+ if((97 <= e))+ {+ if((e <= 102))+ {+ var o = e;+ var p = ((o - 97) | 0);+ h$r1 = ((p + 10) | 0);+ h$sp += 3;+ h$stack[(h$sp - 2)] = d;+ ++h$sp;+ return h$$fX;+ }+ else+ {+ if((65 <= e))+ {+ if((e <= 70))+ {+ var q = e;+ var r = ((q - 65) | 0);+ h$r1 = ((r + 10) | 0);+ h$sp += 3;+ h$stack[(h$sp - 2)] = d;+ ++h$sp;+ return h$$fX;+ }+ else+ {+ h$r1 = h$c1(h$$fH, h$c1(h$$fI, c));+ };+ }+ else+ {+ h$r1 = h$c1(h$$fJ, h$c1(h$$fK, c));+ };+ };+ }+ else+ {+ if((65 <= e))+ {+ if((e <= 70))+ {+ var s = e;+ var t = ((s - 65) | 0);+ h$r1 = ((t + 10) | 0);+ h$sp += 3;+ h$stack[(h$sp - 2)] = d;+ ++h$sp;+ return h$$fX;+ }+ else+ {+ h$r1 = h$c1(h$$fL, h$c1(h$$fM, c));+ };+ }+ else+ {+ h$r1 = h$c1(h$$fN, h$c1(h$$fO, c));+ };+ };+ };+ break;+ default:+ return h$e(h$baseZCTextziReadziLexzireadDecP2);+ };+ return h$stack[h$sp];+};+function h$$fx()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ h$sp -= 5;+ h$pp17(a, h$$fy);+ return h$e(b);+};+function h$$fw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$r1 = h$c1(h$$f3, h$c1(h$$f4, c));+ }+ else+ {+ var d = a.d1;+ h$pp25(d, a.d2, h$$fx);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$fv()+{+ var a = h$r1.d1;+ h$p4(a, h$r1.d2, h$r3, h$$fw);+ return h$e(h$r2);+};+function h$$fu()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ }+ else+ {+ h$l2(a, b);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$ft()+{+ h$p2(h$r1.d1, h$$fu);+ return h$e(h$r2);+};+function h$$fs()+{+ var a = h$r1.d1;+ h$r4 = h$r1.d2;+ h$r3 = h$baseZCGHCziBaseziid;+ h$r1 = a;+ return h$ap_3_3_fast();+};+function h$$fr()+{+ var a = h$r3;+ var b = h$c(h$$fv);+ b.d1 = h$r2;+ b.d2 = b;+ h$r1 = h$c2(h$$fs, b, h$c1(h$$ft, a));+ return h$stack[h$sp];+};+var h$$kY = h$strta("valDig: Bad base");+var h$$k0 = h$strta(",;()[]{}`");+function h$$f5()+{+ h$l4(h$$k2, h$r2, h$ghczmprimZCGHCziClasseszizdfEqChar, h$baseZCGHCziListzielem);+ return h$ap_3_3_fast();+};+var h$$k2 = h$strta("!@#$%&*+.\/<=>?\\^|:-~");+var h$$k3 = h$strta("=>");+var h$$lb = h$strta("->");+var h$$ld = h$strta("<-");+var h$$lo = h$strta("::");+var h$$lq = h$strta("..");+function h$$f7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if(a)+ {+ h$r1 = true;+ }+ else+ {+ h$l4(h$$lt, b, h$ghczmprimZCGHCziClasseszizdfEqChar, h$baseZCGHCziListzielem);+ return h$ap_3_3_fast();+ };+ return h$stack[h$sp];+};+function h$$f6()+{+ h$p2(h$r2, h$$f7);+ h$r1 = h$baseZCGHCziUnicodeziisAlphaNum;+ return h$ap_1_1_fast();+};+var h$$lt = h$strta("_'");+function h$$f9()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, a);+ return h$stack[h$sp];+};+function h$$f8()+{+ h$p1(h$$f9);+ h$r1 = h$$lv;+ return h$ap_1_1_fast();+};+function h$$ge()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$lx, a);+ return h$ap_1_1_fast();+};+function h$$gd()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$lw, a);+ return h$ap_1_1_fast();+};+function h$$gc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ switch (a)+ {+ case (79):+ return h$e(b);+ case (88):+ return h$e(c);+ case (111):+ return h$e(b);+ case (120):+ return h$e(c);+ default:+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$gb()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$gc);+ return h$e(h$r2);+};+function h$$ga()+{+ h$r1 = h$c2(h$$gb, h$c1(h$$ge, h$r2), h$c1(h$$gd, h$r2));+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexzireadDecP2_e()+{+ h$bh();+ h$l2(h$$kY, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+function h$$gB()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypezismallInteger);+ return h$ap_1_1_fast();+};+function h$$gA()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$gB);+ return h$e(a);+};+function h$$gz()+{+ var a = h$r1;+ --h$sp;+ h$l3(h$$kZ, a, h$baseZCGHCziRealzizdwzdsreduce);+ return h$baseZCGHCziRealzizdwzdsreduce_e;+};+function h$$gy()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$gz);+ h$l3(h$$kZ, a, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$gx()+{+ var a = h$r1;+ --h$sp;+ h$l3(h$$kZ, a, h$baseZCGHCziRealzizdwzdsreduce);+ return h$baseZCGHCziRealzizdwzdsreduce_e;+};+function h$$gw()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$gx);+ h$l3(h$$kZ, a, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$gv()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCGHCziRealzizdwzdsreduce);+ return h$baseZCGHCziRealzizdwzdsreduce_e;+};+function h$$gu()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(c, h$$gv);+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$gt()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ h$pp5(a, h$$gu);+ h$l4(b, h$baseZCTextziReadziLexzinumberToFixed2, h$baseZCTextziReadziLexzinumberToFixed1,+ h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+};+function h$$gs()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp6(a, h$$gt);+ h$l2(b, h$integerzmgmpZCGHCziIntegerziTypezisignumInteger);+ return h$ap_1_1_fast();+};+function h$$gr()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a, h$$gs);+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypeziabsInteger);+ return h$ap_1_1_fast();+};+function h$$gq()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$gr);+ h$l3(a, h$baseZCTextziReadziLexzinumberToFixed1, h$baseZCGHCziRealzizczuzdszc2);+ return h$baseZCGHCziRealzizczuzdszc2_e;+};+function h$$gp()+{+ var a = h$r1;+ --h$sp;+ h$l3(h$$kZ, a, h$baseZCGHCziRealzizdwzdsreduce);+ return h$baseZCGHCziRealzizdwzdsreduce_e;+};+function h$$go()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$gp);+ h$l3(h$$kZ, a, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$gn()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p1(h$$go);+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$gm()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$gn);+ h$l4(b, h$baseZCTextziReadziLexzinumberToFixed2, h$baseZCTextziReadziLexzinumberToFixed1,+ h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+};+function h$$gl()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$pp2(h$$gm);+ h$l3(b, h$baseZCTextziReadziLexzinumberToFixed1, h$baseZCGHCziRealzizczuzdszc2);+ return h$baseZCGHCziRealzizczuzdszc2_e;+ }+ else+ {+ h$pp2(h$$gq);+ h$l2(b, h$integerzmgmpZCGHCziIntegerziTypezinegateInteger);+ return h$ap_1_1_fast();+ };+};+function h$$gk()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p1(h$$gw);+ h$l4(b, h$baseZCTextziReadziLexzinumberToFixed2, h$baseZCTextziReadziLexzinumberToFixed1,+ h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+ }+ else+ {+ var c = a.d1;+ h$pp6(c, h$$gl);+ h$l3(h$baseZCTextziReadziLexzinumberToFixed2, c, h$integerzmgmpZCGHCziIntegerziTypezigeIntegerzh);+ return h$ap_2_2_fast();+ };+};+function h$$gj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, a, h$baseZCTextziReadziLexzinumberToFixed2, h$$it);+ return h$ap_3_3_fast();+};+function h$$gi()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(c, a, b, h$$it);+ return h$ap_3_3_fast();+};+function h$$gh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$p2(c, h$$gj);+ h$l4(b, h$baseZCTextziReadziLexzinumberToFixed2, h$baseZCTextziReadziLexzinumberToFixed1,+ h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+ }+ else+ {+ h$pp5(a.d1, h$$gi);+ h$l4(b, h$baseZCTextziReadziLexzinumberToFixed2, h$baseZCTextziReadziLexzinumberToFixed1,+ h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+ };+};+function h$$gg()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$pp2(h$$gk);+ return h$e(b);+ }+ else+ {+ h$pp6(a.d1, h$$gh);+ return h$e(b);+ };+};+function h$$gf()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ var b = a.d1;+ h$p1(h$$gy);+ h$l4(a.d2, h$baseZCTextziReadziLexzinumberToFixed2, h$c1(h$$gA, b), h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+ }+ else+ {+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ h$p3(c, d.d2, h$$gg);+ return h$e(e);+ };+};+function h$baseZCTextziReadziLexzizdwnumberToRational_e()+{+ h$p1(h$$gf);+ return h$e(h$r2);+};+function h$baseZCTextziReadziLexzinumberToRangedRational1_e()+{+ h$l3(h$r2, h$baseZCTextziReadziLexzizdfShowLexeme2, h$ghczmprimZCGHCziClasseszieqInt);+ return h$ghczmprimZCGHCziClasseszieqInt_e;+};+function h$$gV()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$baseZCGHCziRealziZCzv_con_e, a, b);+ return h$stack[h$sp];+};+function h$$gU()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$gV);+ h$l2(a, h$baseZCTextziReadziLexzizdwnumberToRational);+ return h$ap_1_1_fast();+};+function h$$gT()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$baseZCGHCziRealziZCzv_con_e, a, b);+ return h$stack[h$sp];+};+function h$$gS()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$gT);+ h$l2(a, h$baseZCTextziReadziLexzizdwnumberToRational);+ return h$ap_1_1_fast();+};+function h$$gR()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$baseZCGHCziRealziZCzv_con_e, a, b);+ return h$stack[h$sp];+};+function h$$gQ()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$gR);+ h$l2(a, h$baseZCTextziReadziLexzizdwnumberToRational);+ return h$ap_1_1_fast();+};+function h$$gP()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ var e = ((d - 3) | 0);+ if((c < e))+ {+ return h$e(h$baseZCTextziReadziLexzinumberToRangedRational2);+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c1(h$$gQ, b));+ };+ return h$stack[h$sp];+};+function h$$gO()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = a;+ var g = ((e + c) | 0);+ var h = ((f + 3) | 0);+ if((g > h))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$p3(d, g, h$$gP);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$gN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 5;+ h$pp18(a, h$$gO);+ return h$e(b);+};+function h$$gM()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp24(h$r1, h$$gN);+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt);+ return h$ap_1_1_fast();+};+function h$$gL()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 4;+ h$r1 = (-a | 0);+ h$sp += 4;+ ++h$sp;+ return h$$gM;+};+function h$$gK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 4;+ if((a.f.a === 1))+ {+ return h$e(h$baseZCTextziReadziLexzinumberToRangedRational2);+ }+ else+ {+ h$sp += 4;+ h$p1(h$$gL);+ h$l3(0, b, h$baseZCGHCziListzizdwlenAcc);+ return h$ap_2_2_fast();+ };+};+function h$$gJ()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$sp -= 4;+ var c = a;+ var d = b;+ h$sp += 4;+ h$p2(c, h$$gK);+ return h$e(d);+};+function h$$gI()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 4;+ if((a.f.a === 1))+ {+ return h$e(h$baseZCTextziReadziLexzinumberToRangedRational2);+ }+ else+ {+ var b = a.d1;+ h$sp += 4;+ h$p1(h$$gJ);+ h$l3(b, h$baseZCTextziReadziLexzinumberToRangedRational1, h$baseZCGHCziListzizdwspan);+ return h$ap_2_2_fast();+ };+};+function h$$gH()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 4;+ h$r1 = a;+ h$sp += 4;+ ++h$sp;+ return h$$gM;+};+function h$$gG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$sp += 4;+ h$p1(h$$gI);+ return h$e(b);+ }+ else+ {+ h$sp += 4;+ h$p1(h$$gH);+ h$l3(0, a, h$baseZCGHCziListzizdwlenAcc);+ return h$ap_2_2_fast();+ };+};+function h$$gF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 7;+ if(a)+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$pp8(c);+ h$pp2(h$$gG);+ h$l3(b, h$baseZCTextziReadziLexzinumberToRangedRational1, h$baseZCGHCziListzidropWhile);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$gE()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 7;+ if(a)+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$pp64(h$$gF);+ h$l3(h$baseZCTextziReadziLexzinumberToRangedRational4, b, h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$gD()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 6;+ if((a.f.a === 1))+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c1(h$$gS, b));+ }+ else+ {+ var c = a.d1;+ h$pp96(c, h$$gE);+ h$l3(h$baseZCTextziReadziLexzinumberToRangedRational5, c, h$integerzmgmpZCGHCziIntegerziTypezigtIntegerzh);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$gC()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c1(h$$gU, a));+ }+ else+ {+ var b = a.d1;+ var c = a.d2;+ h$pp60(a, b, c.d1, h$$gD);+ return h$e(c.d2);+ };+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexzizdwnumberToRangedRational_e()+{+ h$p3(h$r2, h$r3, h$$gC);+ return h$e(h$r4);+};+function h$$hN()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kk, a);+ return h$ap_1_1_fast();+};+function h$$hM()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kg, a);+ return h$ap_1_1_fast();+};+function h$$hL()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kc, a);+ return h$ap_1_1_fast();+};+function h$$hK()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$j8, a);+ return h$ap_1_1_fast();+};+function h$$hJ()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$j4, a);+ return h$ap_1_1_fast();+};+function h$$hI()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$j0, a);+ return h$ap_1_1_fast();+};+function h$$hH()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jW, a);+ return h$ap_1_1_fast();+};+function h$$hG()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$li, a);+ return h$ap_1_1_fast();+};+function h$$hF()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iB, a);+ return h$ap_1_1_fast();+};+function h$$hE()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iC, a);+ return h$ap_1_1_fast();+};+function h$$hD()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypezismallInteger);+ return h$ap_1_1_fast();+};+function h$$hC()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$hD);+ return h$e(a);+};+function h$$hB()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((((b >>> 1) < 557055) || (((b >>> 1) == 557055) && ((b & 1) <= 1))))+ {+ h$r1 = a;+ }+ else+ {+ h$l2(a, h$baseZCGHCziCharzichr2);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$hA()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$hB);+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt);+ return h$ap_1_1_fast();+};+function h$$hz()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$l2(h$c1(h$$hA, c), b);+ return h$ap_1_1_fast();+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$hy()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a, h$$hz);+ h$l3(h$$iD, a, h$integerzmgmpZCGHCziIntegerziTypezileIntegerzh);+ return h$ap_2_2_fast();+};+function h$$hx()+{+ h$p2(h$r1.d1, h$$hy);+ h$l4(h$r2, h$baseZCTextziReadziLexzinumberToFixed2, h$r1.d2, h$baseZCTextziReadziLexzinumberToFixedzuzdsval);+ return h$ap_3_3_fast();+};+function h$$hw()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$hv()+{+ h$p1(h$$hw);+ h$r3 = h$c2(h$$hx, h$r1.d1, h$c1(h$$hC, h$r2));+ h$r1 = h$$kX;+ return h$ap_2_2_fast();+};+function h$$hu()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iQ, a);+ return h$ap_1_1_fast();+};+function h$$ht()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iU, a);+ return h$ap_1_1_fast();+};+function h$$hs()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$iY, a);+ return h$ap_1_1_fast();+};+function h$$hr()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$i2, a);+ return h$ap_1_1_fast();+};+function h$$hq()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$i6, a);+ return h$ap_1_1_fast();+};+function h$$hp()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ja, a);+ return h$ap_1_1_fast();+};+function h$$ho()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$je, a);+ return h$ap_1_1_fast();+};+function h$$hn()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ji, a);+ return h$ap_1_1_fast();+};+function h$$hm()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jm, a);+ return h$ap_1_1_fast();+};+function h$$hl()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jq, a);+ return h$ap_1_1_fast();+};+function h$$hk()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ju, a);+ return h$ap_1_1_fast();+};+function h$$hj()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jy, a);+ return h$ap_1_1_fast();+};+function h$$hi()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jC, a);+ return h$ap_1_1_fast();+};+function h$$hh()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jG, a);+ return h$ap_1_1_fast();+};+function h$$hg()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jK, a);+ return h$ap_1_1_fast();+};+function h$$hf()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jO, a);+ return h$ap_1_1_fast();+};+function h$$he()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$jS, a);+ return h$ap_1_1_fast();+};+function h$$hd()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kN, a);+ return h$ap_1_1_fast();+};+function h$$hc()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ko, a);+ return h$ap_1_1_fast();+};+function h$$hb()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$ks, a);+ return h$ap_1_1_fast();+};+function h$$ha()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kw, a);+ return h$ap_1_1_fast();+};+function h$$g9()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kA, a);+ return h$ap_1_1_fast();+};+function h$$g8()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kE, a);+ return h$ap_1_1_fast();+};+function h$$g7()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kQ, a);+ return h$ap_1_1_fast();+};+function h$$g6()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$$kI, a);+ return h$ap_1_1_fast();+};+function h$$g5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 32)];+ var c = h$stack[(h$sp - 31)];+ var d = h$stack[(h$sp - 30)];+ var e = h$stack[(h$sp - 29)];+ var f = h$stack[(h$sp - 28)];+ var g = h$stack[(h$sp - 27)];+ var h = h$stack[(h$sp - 26)];+ var i = h$stack[(h$sp - 25)];+ var j = h$stack[(h$sp - 24)];+ var k = h$stack[(h$sp - 23)];+ var l = h$stack[(h$sp - 22)];+ var m = h$stack[(h$sp - 21)];+ var n = h$stack[(h$sp - 20)];+ var o = h$stack[(h$sp - 19)];+ var p = h$stack[(h$sp - 18)];+ var q = h$stack[(h$sp - 17)];+ var r = h$stack[(h$sp - 16)];+ var s = h$stack[(h$sp - 15)];+ var t = h$stack[(h$sp - 14)];+ var u = h$stack[(h$sp - 13)];+ var v = h$stack[(h$sp - 12)];+ var w = h$stack[(h$sp - 11)];+ var x = h$stack[(h$sp - 10)];+ var y = h$stack[(h$sp - 9)];+ var z = h$stack[(h$sp - 8)];+ var A = h$stack[(h$sp - 7)];+ var B = h$stack[(h$sp - 6)];+ var C = h$stack[(h$sp - 5)];+ var D = h$stack[(h$sp - 4)];+ var E = h$stack[(h$sp - 3)];+ var F = h$stack[(h$sp - 2)];+ var G = h$stack[(h$sp - 1)];+ h$sp -= 33;+ switch (a)+ {+ case (64):+ return h$e(G);+ case (65):+ return h$e(F);+ case (66):+ return h$e(E);+ case (67):+ return h$e(D);+ case (68):+ return h$e(C);+ case (69):+ return h$e(B);+ case (70):+ return h$e(A);+ case (71):+ return h$e(b);+ case (72):+ return h$e(c);+ case (73):+ return h$e(d);+ case (74):+ return h$e(e);+ case (75):+ return h$e(f);+ case (76):+ return h$e(g);+ case (77):+ return h$e(h);+ case (78):+ return h$e(z);+ case (79):+ return h$e(y);+ case (80):+ return h$e(x);+ case (81):+ return h$e(w);+ case (82):+ return h$e(v);+ case (83):+ return h$e(u);+ case (84):+ return h$e(t);+ case (85):+ return h$e(s);+ case (86):+ return h$e(r);+ case (87):+ return h$e(q);+ case (88):+ return h$e(p);+ case (89):+ return h$e(o);+ case (90):+ return h$e(n);+ case (91):+ return h$e(m);+ case (92):+ return h$e(l);+ case (93):+ return h$e(k);+ case (94):+ return h$e(j);+ case (95):+ return h$e(i);+ default:+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$g4()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = b.d5;+ var h = b.d6;+ var i = b.d7;+ var j = b.d8;+ var k = b.d9;+ var l = b.d10;+ var m = b.d11;+ var n = b.d12;+ var o = b.d13;+ var p = b.d14;+ var q = b.d15;+ var r = b.d16;+ var s = b.d17;+ var t = b.d18;+ var u = b.d19;+ var v = b.d20;+ var w = b.d21;+ var x = b.d22;+ var y = b.d23;+ var z = b.d24;+ var A = b.d25;+ var B = b.d26;+ var C = b.d27;+ var D = b.d28;+ var E = b.d29;+ var F = b.d30;+ var G = b.d31;+ var H = h$r2;+ h$sp += 33;+ h$stack[(h$sp - 32)] = a;+ h$stack[(h$sp - 31)] = c;+ h$stack[(h$sp - 30)] = d;+ h$stack[(h$sp - 29)] = e;+ h$stack[(h$sp - 28)] = f;+ h$stack[(h$sp - 27)] = g;+ h$stack[(h$sp - 26)] = h;+ h$stack[(h$sp - 25)] = i;+ h$stack[(h$sp - 24)] = j;+ h$stack[(h$sp - 23)] = k;+ h$stack[(h$sp - 22)] = l;+ h$stack[(h$sp - 21)] = m;+ h$stack[(h$sp - 20)] = n;+ h$stack[(h$sp - 19)] = o;+ h$stack[(h$sp - 18)] = p;+ h$stack[(h$sp - 17)] = q;+ h$stack[(h$sp - 16)] = r;+ h$stack[(h$sp - 15)] = s;+ h$stack[(h$sp - 14)] = t;+ h$stack[(h$sp - 13)] = u;+ h$stack[(h$sp - 12)] = v;+ h$stack[(h$sp - 11)] = w;+ h$stack[(h$sp - 10)] = x;+ h$stack[(h$sp - 9)] = y;+ h$stack[(h$sp - 8)] = z;+ h$stack[(h$sp - 7)] = A;+ h$stack[(h$sp - 6)] = B;+ h$stack[(h$sp - 5)] = C;+ h$stack[(h$sp - 4)] = D;+ h$stack[(h$sp - 3)] = E;+ h$stack[(h$sp - 2)] = F;+ h$stack[(h$sp - 1)] = G;+ h$stack[h$sp] = h$$g5;+ return h$e(H);+};+function h$$g3()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$$iF);+ return h$ap_1_1_fast();+};+function h$$g2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 94))+ {+ h$r1 = b;+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$g1()+{+ h$p2(h$r1.d1, h$$g2);+ return h$e(h$r2);+};+function h$$g0()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = b.d5;+ var h = b.d6;+ h$bh();+ h$l3(h$c1(h$$g3, a), h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$g1,+ h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, { d1: c, d2: { d1: d, d10: h$c1(h$$hr, a), d11: h$c1(h$$hq, a),+ d12: h$c1(h$$hp, a), d13: h$c1(h$$ho, a), d14: h$c1(h$$hn, a),+ d15: h$c1(h$$hm, a), d16: h$c1(h$$hl, a), d17: h$c1(h$$hk, a),+ d18: h$c1(h$$hj, a), d19: h$c1(h$$hi, a), d2: e, d20: h$c1(h$$hh, a),+ d21: h$c1(h$$hg, a), d22: h$c1(h$$hf, a), d23: h$c1(h$$he, a),+ d24: h$c1(h$$hd, a), d25: h$c1(h$$hc, a), d26: h$c1(h$$hb, a),+ d27: h$c1(h$$ha, a), d28: h$c1(h$$g9, a), d29: h$c1(h$$g8, a), d3: f,+ d30: h$c1(h$$g7, a), d31: h$c1(h$$g6, a), d4: g, d5: h, d6: b.d7,+ d7: h$c1(h$$hu, a), d8: h$c1(h$$ht, a), d9: h$c1(h$$hs, a)+ }, f: h$$g4, m: 0+ }))), h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$gZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 8)];+ var c = h$stack[(h$sp - 7)];+ var d = h$stack[(h$sp - 6)];+ var e = h$stack[(h$sp - 5)];+ var f = h$stack[(h$sp - 4)];+ var g = h$stack[(h$sp - 3)];+ var h = h$stack[(h$sp - 2)];+ var i = h$stack[(h$sp - 1)];+ h$sp -= 9;+ h$l3(h$c8(h$$g0, b, c, d, e, f, g, h, i), h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$gY()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = b.d5;+ var h = b.d6;+ h$bh();+ h$p9(a, c, d, e, f, g, h, b.d7, h$$gZ);+ h$l4(h$c1(h$$hv, a), h$$iE, h$$lu, h$baseZCTextziParserCombinatorsziReadPzizdwa);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa_e;+};+function h$$gX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 10)];+ var c = h$stack[(h$sp - 9)];+ var d = h$stack[(h$sp - 8)];+ var e = h$stack[(h$sp - 7)];+ var f = h$stack[(h$sp - 6)];+ var g = h$stack[(h$sp - 5)];+ var h = h$stack[(h$sp - 4)];+ var i = h$stack[(h$sp - 3)];+ var j = h$stack[(h$sp - 2)];+ var k = h$stack[(h$sp - 1)];+ h$sp -= 11;+ switch (a)+ {+ case (34):+ return h$e(k);+ case (39):+ return h$e(j);+ case (92):+ return h$e(i);+ case (97):+ return h$e(b);+ case (98):+ return h$e(c);+ case (102):+ return h$e(g);+ case (110):+ return h$e(e);+ case (114):+ return h$e(h);+ case (116):+ return h$e(d);+ case (118):+ return h$e(f);+ default:+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$gW()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = b.d5;+ var h = b.d6;+ var i = b.d7;+ var j = b.d8;+ h$p11(a, c, d, e, f, g, h, i, j, b.d9, h$$gX);+ return h$e(h$r2);+};+function h$baseZCTextziReadziLexzilexChar2_e()+{+ var a = h$c1(h$$hN, h$r2);+ var b = h$c1(h$$hM, h$r2);+ var c = h$c1(h$$hL, h$r2);+ var d = h$c1(h$$hK, h$r2);+ var e = h$c1(h$$hJ, h$r2);+ var f = h$c1(h$$hI, h$r2);+ var g = h$c1(h$$hH, h$r2);+ h$l3(h$c8(h$$gY, h$r2, a, b, c, d, e, f, g), h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c10(h$$gW, a, b,+ c, d, e, f, g, h$c1(h$$hG, h$r2), h$c1(h$$hF, h$r2), h$c1(h$$hE, h$r2))),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$is()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$baseZCTextziReadziLexziEOF, a);+ return h$ap_1_1_fast();+};+function h$$ir()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(h$c1(h$baseZCTextziReadziLexziChar_con_e, b), a);+ return h$ap_1_1_fast();+};+function h$$iq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 39))+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$ip()+{+ h$p2(h$r1.d1, h$$iq);+ return h$e(h$r2);+};+function h$$io()+{+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$ip, h$c2(h$$ir, h$r1.d1, h$r2)));+ return h$stack[h$sp];+};+function h$$im()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$c1(h$$io, a), h$baseZCTextziReadziLexzilexChar2);+ return h$ap_1_1_fast();+};+function h$$il()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(h$c1(h$baseZCTextziReadziLexziChar_con_e, b), a);+ return h$ap_1_1_fast();+};+function h$$ik()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 39))+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$ij()+{+ h$p2(h$r1.d1, h$$ik);+ return h$e(h$r2);+};+function h$$ii()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ switch (a)+ {+ case (39):+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ break;+ case (92):+ return h$e(c);+ default:+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$ij, h$c2(h$$il, b, a)));+ };+ return h$stack[h$sp];+};+function h$$ih()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$ii);+ return h$e(h$r2);+};+function h$$ig()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(a, h$baseZCGHCziBaseziid, h$$iv);+ return h$ap_2_2_fast();+};+function h$$ie()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$id()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$ie);+ h$l4(a, h$$iw, h$$kV, h$baseZCTextziParserCombinatorsziReadPzizdwa);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa_e;+};+function h$$ic()+{+ var a = h$r1.d1;+ h$l2(h$c1(h$baseZCTextziReadziLexziIdent_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d2, h$r2)), a);+ return h$ap_1_1_fast();+};+function h$$ib()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$ia()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 95))+ {+ h$p1(h$$ib);+ h$l3(h$c2(h$$ic, b, a), h$$ls, h$baseZCTextziParserCombinatorsziReadPzizdwa3);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa3_e;+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$h9()+{+ var a = h$r1.d1;+ h$l2(h$c1(h$baseZCTextziReadziLexziIdent_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d2, h$r2)), a);+ return h$ap_1_1_fast();+};+function h$$h8()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$h7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$p1(h$$h8);+ h$l3(h$c2(h$$h9, b, c), h$$ls, h$baseZCTextziParserCombinatorsziReadPzizdwa3);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa3_e;+ }+ else+ {+ h$pp2(h$$ia);+ return h$e(c);+ };+};+function h$$h6()+{+ h$p3(h$r1.d1, h$r2, h$$h7);+ h$r1 = h$baseZCGHCziUnicodeziisAlpha;+ return h$ap_1_1_fast();+};+function h$$h5()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(h$c1(h$$id, a), h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$h6, a)),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$h4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$l2(h$c1(h$baseZCTextziReadziLexziPunc_con_e, c), b);+ return h$ap_1_1_fast();+ }+ else+ {+ h$l2(h$c1(h$baseZCTextziReadziLexziSymbol_con_e, c), b);+ return h$ap_1_1_fast();+ };+};+function h$$h3()+{+ var a = h$r1.d1;+ var b = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d2, h$r2);+ h$p3(a, b, h$$h4);+ h$l4(h$$lr, b, h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdfEqZMZN, h$baseZCGHCziListzielem);+ return h$ap_3_3_fast();+};+function h$$h2()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$h1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$p1(h$$h2);+ h$l3(h$c2(h$$h3, b, c), h$$k1, h$baseZCTextziParserCombinatorsziReadPzizdwa3);+ return h$baseZCTextziParserCombinatorsziReadPzizdwa3_e;+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$h0()+{+ h$p3(h$r1.d1, h$r2, h$$h1);+ h$l4(h$$k2, h$r2, h$ghczmprimZCGHCziClasseszizdfEqChar, h$baseZCGHCziListzielem);+ return h$ap_3_3_fast();+};+function h$$hZ()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(h$c1(h$$h5, a), h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$h0, a)),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$hY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$l2(h$c1(h$baseZCTextziReadziLexziPunc_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, c,+ h$ghczmprimZCGHCziTypesziZMZN)), b);+ return h$ap_1_1_fast();+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$hX()+{+ h$p3(h$r1.d1, h$r2, h$$hY);+ h$l4(h$$k0, h$r2, h$ghczmprimZCGHCziClasseszizdfEqChar, h$baseZCGHCziListzielem);+ return h$ap_3_3_fast();+};+function h$$hW()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(h$c1(h$$hZ, a), h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$hX, a)),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$hV()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 34))+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$hU()+{+ h$p2(h$r1.d1, h$$hV);+ return h$e(h$r2);+};+function h$$hT()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(h$c1(h$$hW, a), h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$hU, h$c1(h$$ig, a))),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$hS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 39))+ {+ h$r1 = b;+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$hR()+{+ h$p2(h$r1.d1, h$$hS);+ return h$e(h$r2);+};+function h$$hQ()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(h$c1(h$$hT, a), h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$hR,+ h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c2(h$$ih, a, h$c1(h$$im, a))))),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$hP()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$hO()+{+ h$p2(h$r1.d1, h$$hP);+ return h$e(h$r2);+};+function h$baseZCTextziReadziLexziexpect2_e()+{+ h$l3(h$c1(h$$hQ, h$r2), h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c1(h$$hO, h$c1(h$$is, h$r2))),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$baseZCTextziReadziLexziEOF_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziNumber_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziNumber_e()+{+ h$r1 = h$c1(h$baseZCTextziReadziLexziNumber_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziSymbol_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziSymbol_e()+{+ h$r1 = h$c1(h$baseZCTextziReadziLexziSymbol_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziIdent_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziIdent_e()+{+ h$r1 = h$c1(h$baseZCTextziReadziLexziIdent_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziPunc_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziPunc_e()+{+ h$r1 = h$c1(h$baseZCTextziReadziLexziPunc_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziString_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziString_e()+{+ h$r1 = h$c1(h$baseZCTextziReadziLexziString_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziChar_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziChar_e()+{+ h$r1 = h$c1(h$baseZCTextziReadziLexziChar_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziMkDecimal_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziMkDecimal_e()+{+ h$r1 = h$c3(h$baseZCTextziReadziLexziMkDecimal_con_e, h$r2, h$r3, h$r4);+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziMkNumber_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziReadziLexziMkNumber_e()+{+ h$r1 = h$c2(h$baseZCTextziReadziLexziMkNumber_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$$lB()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCTextziReadzireadEither6);+ return h$ap_1_1_fast();+};+function h$$lA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, c, h$c1(h$$lB, b));+ }+ else+ {+ h$l2(b, h$baseZCTextziReadzireadEither6);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$lz()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a.d1, h$$lA);+ return h$e(a.d2);+};+function h$$ly()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$lz);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$baseZCTextziReadzireadEither6_e()+{+ h$p1(h$$ly);+ return h$e(h$r2);+};+function h$$lD()+{+ h$r1 = h$r1.d1;+ return h$stack[h$sp];+};+function h$$lC()+{+ h$r3 = h$r1.d1;+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip;+ return h$ap_2_2_fast();+};+function h$baseZCTextziReadzireadEither5_e()+{+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c1(h$$lC, h$c1(h$$lD,+ h$c2(h$baseZCTextziParserCombinatorsziReadPziResult_con_e, h$r2, h$baseZCTextziParserCombinatorsziReadPziFail))));+ return h$stack[h$sp];+};+var h$baseZCTextziReadzireadEither4 = h$strta("Prelude.read: no parse");+var h$baseZCTextziReadzireadEither2 = h$strta("Prelude.read: ambiguous parse");+function h$$lI()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ h$l2(h$baseZCTextziReadzireadEither2, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+ };+};+function h$$lH()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$l2(h$baseZCTextziReadzireadEither4, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+ }+ else+ {+ h$p2(a.d1, h$$lI);+ return h$e(a.d2);+ };+};+function h$$lG()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$lH);+ h$l2(a, h$baseZCTextziReadzireadEither6);+ return h$ap_1_1_fast();+};+function h$$lF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p1(h$$lG);+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$lE()+{+ var a = h$r1;+ h$sp -= 2;+ var b = a.d2;+ h$pp2(h$$lF);+ h$l3(h$baseZCTextziReadzireadEither5, h$baseZCTextziParserCombinatorsziReadPrecziminPrec, b.d2);+ return h$ap_2_2_fast();+};+function h$baseZCTextziReadziread_e()+{+ h$p2(h$r3, h$$lE);+ return h$e(h$r2);+};++function h$$lN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$lM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var c = a.d1;+ h$p2(a.d2, h$$lN);+ h$l2(c, b);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$lL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$lK()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$lJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ switch (a.f.a)+ {+ case (1):+ h$p2(a.d1, h$$lM);+ return h$e(b);+ case (2):+ h$pp2(h$$lL);+ h$l2(b, a.d1);+ return h$ap_1_1_fast();+ case (3):+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ break;+ case (4):+ var c = a.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, c, b), h$c2(h$$lK, b, a.+ d2));+ break;+ default:+ return h$e(a.d1);+ };+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPzirun_e()+{+ h$p2(h$r3, h$$lJ);+ return h$e(h$r2);+};+function h$$mk()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$mj()+{+ var a = h$r1.d1;+ h$l3(h$c2(h$$mk, h$r1.d2, h$r2), a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$mi()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$mh()+{+ var a = h$r1.d1;+ h$p2(h$r1.d2, h$$mi);+ h$r1 = a;+ return h$ap_1_1_fast();+};+function h$$mg()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$mf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$me()+{+ var a = h$r1.d1;+ h$p2(h$c2(h$$mg, h$r1.d2, h$r2), h$$mf);+ h$r1 = a;+ return h$ap_1_1_fast();+};+function h$$md()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$mc()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(b.d1, h$$md);+ h$l3(b.d2, a, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$mb()+{+ var a = h$r1.d1;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziFinal_con_e, h$c3(h$$mc, a, h$r1.d2, h$r2));+ return h$stack[h$sp];+};+function h$$ma()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = b;+ if((c.f.a === 5))+ {+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c2(h$$mb, a, c.d1));+ }+ else+ {+ var d = a;+ if((d.f.a === 2))+ {+ var e = d.d1;+ var f = c;+ if((f.f.a === 1))+ {+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c2(h$$mh, e, f));+ }+ else+ {+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c2(h$$me, e, f.d1));+ };+ }+ else+ {+ var g = c;+ if((g.f.a === 1))+ {+ return h$e(h$$nk);+ }+ else+ {+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c2(h$$mj, d, g.d1));+ };+ };+ };+ return h$stack[h$sp];+};+function h$$l9()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$l8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp2(h$$l9);+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$l7()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$p3(c, d, h$$l8);+ h$l2(d, a);+ return h$ap_1_1_fast();+};+function h$$l6()+{+ var a = h$r1.d1;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziFinal_con_e, h$c3(h$$l7, a, h$r1.d2, h$r2));+ return h$stack[h$sp];+};+function h$$l5()+{+ var a = h$r1.d1;+ h$l3(h$r1.d2, a, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$l4()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(h$c2(h$$l5, c, b.d2), a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$l3()+{+ var a = h$r1.d1;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziFinal_con_e, h$c3(h$$l4, a, h$r1.d2, h$r2));+ return h$stack[h$sp];+};+function h$$l2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$l1()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$p2(b, h$$l2);+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$l0()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(h$c2(h$$l1, c, b.d2), a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$lZ()+{+ var a = h$r1.d1;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziFinal_con_e, h$c3(h$$l0, a, h$r1.d2, h$r2));+ return h$stack[h$sp];+};+function h$$lY()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$lX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 3))+ {+ h$r1 = b;+ }+ else+ {+ var c = b;+ if((c.f.a === 3))+ {+ h$r1 = a;+ }+ else+ {+ var d = a;+ switch (d.f.a)+ {+ case (2):+ var e = d.d1;+ var f = c;+ if((f.f.a === 5))+ {+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c2(h$$l6, e, f.d1));+ }+ else+ {+ h$p2(a, c);+ ++h$sp;+ return h$$ma;+ };+ break;+ case (5):+ var g = d.d1;+ var h = c;+ switch (h.f.a)+ {+ case (1):+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c2(h$$l3, g, h));+ break;+ case (2):+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c2(h$$lZ, g, h.d1));+ break;+ default:+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziFinal_con_e, h$c2(h$$lY, g, h.d1));+ };+ break;+ default:+ h$p2(a, c);+ ++h$sp;+ return h$$ma;+ };+ };+ };+ return h$stack[h$sp];+};+function h$$lW()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$lV()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 4))+ {+ var c = a.d1;+ h$r1 = h$c2(h$baseZCTextziParserCombinatorsziReadPziResult_con_e, c, h$c2(h$$lW, b, a.d2));+ }+ else+ {+ h$p2(a, h$$lX);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$lU()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp2(h$$lV);+ return h$e(a);+};+function h$$lT()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$lS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$lR()+{+ var a = h$r1.d1;+ h$p2(h$c2(h$$lT, h$r1.d2, h$r2), h$$lS);+ h$r1 = a;+ return h$ap_1_1_fast();+};+function h$$lQ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c2(h$$lR, b, a.d1));+ }+ else+ {+ h$sp += 2;+ ++h$sp;+ return h$$lU;+ };+ return h$stack[h$sp];+};+function h$$lP()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$lO()+{+ var a = h$r1;+ --h$sp;+ var b = h$stack[h$sp];+ h$sp -= 2;+ switch (a.f.a)+ {+ case (1):+ var c = a.d1;+ h$sp += 2;+ h$p2(c, h$$lQ);+ return h$e(b);+ case (4):+ var d = a.d1;+ h$r1 = h$c2(h$baseZCTextziParserCombinatorsziReadPziResult_con_e, d, h$c2(h$$lP, b, a.d2));+ break;+ default:+ h$sp += 2;+ ++h$sp;+ return h$$lU;+ };+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus_e()+{+ h$p2(h$r2, h$r3);+ h$p1(h$$lO);+ return h$e(h$r2);+};+function h$$my()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdczgzgze);+ return h$ap_2_2_fast();+};+function h$$mx()+{+ h$p2(h$r1.d1, h$$my);+ h$r1 = h$r1.d2;+ return h$ap_1_1_fast();+};+function h$$mw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdczgzgze);+ return h$ap_2_2_fast();+};+function h$$mv()+{+ h$p2(h$r1.d1, h$$mw);+ h$r1 = h$r1.d2;+ return h$ap_1_1_fast();+};+function h$$mu()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdczgzgze);+ return h$ap_2_2_fast();+};+function h$$mt()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$ms()+{+ var a = h$r1.d1;+ h$l2(h$r1.d2, a);+ return h$ap_1_1_fast();+};+function h$$mr()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$mq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(c, h$$mr);+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$mp()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d1;+ h$p3(a.d2, h$c2(h$$ms, c, d), h$$mq);+ h$l2(e, b);+ return h$ap_1_1_fast();+};+function h$$mo()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = a.d1;+ h$pp12(a.d2, h$$mp);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$mn()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$mo);+ return h$e(h$r2);+};+function h$$mm()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ }+ else+ {+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziFinal_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$ml()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ switch (a.f.a)+ {+ case (1):+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c2(h$$mx, b, a.d1));+ break;+ case (2):+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c2(h$$mv, b, a.d1));+ break;+ case (3):+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ break;+ case (4):+ var c = a.d1;+ h$p2(h$c2(h$$mu, b, a.d2), h$$mt);+ h$l2(c, b);+ return h$ap_1_1_fast();+ default:+ var d = a.d1;+ var e = h$c(h$$mn);+ e.d1 = b;+ e.d2 = e;+ h$p1(h$$mm);+ h$l2(d, e);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdczgzgze_e()+{+ h$p2(h$r3, h$$ml);+ return h$e(h$r2);+};+function h$$mE()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCTextziParserCombinatorsziReadPzichoice);+ return h$ap_1_1_fast();+};+function h$$mD()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$mC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$mB()+{+ var a = h$r1.d1;+ h$p2(h$c2(h$$mD, h$r1.d2, h$r2), h$$mC);+ h$r1 = a;+ return h$ap_1_1_fast();+};+function h$$mA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ h$r1 = h$c2(h$$mB, b, h$c1(h$$mE, a));+ };+ return h$stack[h$sp];+};+function h$$mz()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPzipfail1;+ return h$ap_0_0_fast();+ }+ else+ {+ h$p2(a.d1, h$$mA);+ return h$e(a.d2);+ };+};+function h$baseZCTextziParserCombinatorsziReadPzichoice_e()+{+ h$p1(h$$mz);+ return h$e(h$r2);+};+function h$$mK()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip);+ return h$ap_1_1_fast();+};+function h$$mJ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$mI()+{+ return h$e(h$r1.d1);+};+function h$$mH()+{+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$mI, h$c2(h$$mJ, h$r1.d1, h$r2)));+ return h$stack[h$sp];+};+function h$$mG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if(a)+ {+ h$r1 = h$c1(h$$mH, h$c1(h$$mK, b));+ }+ else+ {+ h$r1 = h$$nj;+ return h$ap_0_0_fast();+ };+ return h$stack[h$sp];+};+function h$$mF()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$$nj;+ return h$ap_0_0_fast();+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$mG);+ h$l2(b, h$baseZCGHCziUnicodeziisSpace);+ return h$ap_1_1_fast();+ };+};+function h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip_e()+{+ h$p1(h$$mF);+ return h$e(h$r2);+};+function h$$mM()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, ((b - 1) | 0), h$baseZCTextziParserCombinatorsziReadPzizlzpzp2);+ return h$ap_2_2_fast();+};+function h$$mL()+{+ return h$e(h$r1.d1);+};+function h$baseZCTextziParserCombinatorsziReadPzizlzpzp2_e()+{+ var a = h$r3;+ var b = h$r2;+ if((b === 0))+ {+ h$l2(h$ghczmprimZCGHCziTupleziZLZR, a);+ return h$ap_1_1_fast();+ }+ else+ {+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$mL, h$c2(h$$mM, a, b)));+ };+ return h$stack[h$sp];+};+function h$$mN()+{+ var a = h$r2;+ h$l2(h$ghczmprimZCGHCziTupleziZLZR, a);+ return h$ap_1_1_fast();+};+var h$$baseZCTextziParserCombinatorsziReadP_Y = h$str("Text\/ParserCombinators\/ReadP.hs:(120,3)-(143,60)|function mplus");+function h$$mO()+{+ h$bh();+ h$r3 = 0;+ h$r2 = h$$baseZCTextziParserCombinatorsziReadP_Y();+ h$r1 = h$baseZCControlziExceptionziBasezipatError;+ return h$ap_1_2_fast();+};+function h$baseZCTextziParserCombinatorsziReadPzistring2_e()+{+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ return h$stack[h$sp];+};+function h$$mZ()+{+ var a = h$r2;+ h$l2(h$r1.d1, a);+ return h$ap_1_1_fast();+};+function h$$mY()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(b.d2, c, a);+ return h$ap_2_2_fast();+};+function h$$mX()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$mW()+{+ return h$e(h$r1.d1);+};+function h$$mV()+{+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$mW, h$c2(h$$mX, h$r1.d1, h$r2)));+ return h$stack[h$sp];+};+function h$$mU()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = a;+ if((b === f))+ {+ h$r1 = h$c1(h$$mV, h$c3(h$$mY, c, d, e));+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPzistring2;+ return h$ap_0_0_fast();+ };+ return h$stack[h$sp];+};+function h$$mT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ h$sp -= 5;+ h$pp17(a, h$$mU);+ return h$e(b);+};+function h$$mS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPzistring2;+ return h$ap_0_0_fast();+ }+ else+ {+ var c = a.d1;+ h$pp25(c, a.d2, h$$mT);+ return h$e(b);+ };+};+function h$$mR()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$r1 = b;+ }+ else+ {+ var d = a.d1;+ h$pp13(d, a.d2, h$$mS);+ return h$e(c);+ };+ return h$stack[h$sp];+};+function h$$mQ()+{+ var a = h$r1.d1;+ h$p4(a, h$r1.d2, h$r3, h$$mR);+ return h$e(h$r2);+};+function h$$mP()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$l4(b.d1, h$r2, a, b.d2);+ return h$ap_3_3_fast();+};+function h$baseZCTextziParserCombinatorsziReadPzizdwa6_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$c(h$$mQ);+ c.d1 = h$c1(h$$mZ, h$r2);+ c.d2 = c;+ h$r1 = h$c3(h$$mP, a, b, c);+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPzimunch3_e()+{+ var a = h$r2;+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$m8()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$m7()+{+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d1, h$r2), h$r1.d2);+ return h$ap_1_1_fast();+};+function h$$m6()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l2(h$c2(h$$m7, a, b.d2), c);+ return h$ap_1_1_fast();+};+function h$$m5()+{+ return h$e(h$r1.d1);+};+function h$$m4()+{+ var a = h$r1.d1;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$c1(h$$m5, h$c3(h$$m6, a, h$r1.d2, h$r2)));+ return h$stack[h$sp];+};+function h$$m3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$r1 = h$c2(h$$m4, b, h$c2(h$$m8, c, d));+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPzimunch3;+ return h$ap_0_0_fast();+ };+ return h$stack[h$sp];+};+function h$$m2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPzimunch3;+ return h$ap_0_0_fast();+ }+ else+ {+ var c = a.d1;+ h$pp13(c, a.d2, h$$m3);+ h$l2(c, b);+ return h$ap_1_1_fast();+ };+};+function h$$m1()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$m2);+ return h$e(h$r2);+};+function h$$m0()+{+ h$r3 = h$r1.d1;+ h$r1 = h$r1.d2;+ return h$ap_2_2_fast();+};+function h$baseZCTextziParserCombinatorsziReadPzizdwa3_e()+{+ var a = h$r3;+ var b = h$c(h$$m1);+ b.d1 = h$r2;+ b.d2 = b;+ h$r1 = h$c2(h$$m0, a, b);+ return h$stack[h$sp];+};+function h$$ni()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdcreturn, a);+ return h$ap_1_1_fast();+};+function h$$nh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$l4(d, b, a, c);+ return h$ap_3_3_fast();+};+function h$$ng()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if((a.f.a === 1))+ {+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ var e = a.d1;+ var f = a.d2;+ h$pp13(f, ((d + 1) | 0), h$$nh);+ h$l2(e, c);+ return h$ap_1_1_fast();+ };+};+function h$$nf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$l4(b, d, a, c);+ return h$ap_3_3_fast();+};+function h$$ne()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdczgzgze);+ return h$ap_2_2_fast();+};+function h$$nd()+{+ return h$e(h$r1.d1);+};+function h$$nc()+{+ var a = h$r1.d1;+ h$l3(h$c1(h$$nd, h$c2(h$$ne, h$r1.d2, h$r2)), a, h$baseZCTextziParserCombinatorsziReadPzizlzpzp2);+ return h$ap_2_2_fast();+};+function h$$nb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ switch (a.f.a)+ {+ case (1):+ h$pp20(a.d1, h$$ng);+ return h$e(c);+ case (2):+ h$pp9(d, h$$nf);+ h$l2(c, a.d1);+ return h$ap_1_1_fast();+ case (3):+ h$r1 = b;+ return h$ap_0_0_fast();+ case (4):+ h$r1 = h$c2(h$$nc, d, a);+ break;+ default:+ h$l2(a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdczgzgze);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$na()+{+ var a = h$r1.d1;+ h$p5(a, h$r1.d2, h$r3, h$r4, h$$nb);+ return h$e(h$r2);+};+function h$$m9()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$l5(a, 0, h$r2, b.d1, b.d2);+ return h$ap_4_4_fast();+};+function h$baseZCTextziParserCombinatorsziReadPzizdwa_e()+{+ var a = h$r4;+ var b = h$c1(h$$ni, h$r2);+ var c = h$c(h$$na);+ c.d1 = h$r3;+ c.d2 = c;+ h$r1 = h$c3(h$$m9, a, b, c);+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPzipfail1_e()+{+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdcreturn_e()+{+ h$r1 = h$c2(h$baseZCTextziParserCombinatorsziReadPziResult_con_e, h$r2, h$baseZCTextziParserCombinatorsziReadPziFail);+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPziFinal_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPziFinal_e()+{+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziFinal_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPziResult_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPziResult_e()+{+ h$r1 = h$c2(h$baseZCTextziParserCombinatorsziReadPziResult_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPziFail_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPziLook_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPziLook_e()+{+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPziGet_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCTextziParserCombinatorsziReadPziGet_e()+{+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$r2);+ return h$stack[h$sp];+};+var h$$n2 = h$strta("sigprocmask");+var h$$n3 = h$strta("sigaddset");+var h$$n4 = h$strta("sigemptyset");+var h$$n5 = h$strta("tcSetAttr");+function h$baseZCSystemziPosixziInternalszisetEcho2_e()+{+ h$bh();+ var a = h$base_echo;+ var b = (a | 0);+ var c = (b | 0);+ h$r1 = (c ^ (-1));+ return h$stack[h$sp];+};+function h$$np()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ var f = (d | 0);+ h$base_poke_lflag(b, c, (f & e));+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$no()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ var f = (d | 0);+ h$base_poke_lflag(b, c, (f | e));+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$nn()+{+ var a = h$r1;+ h$sp -= 4;+ if(a)+ {+ h$pp8(h$$no);+ return h$e(h$baseZCSystemziPosixziInternalszigetEcho3);+ }+ else+ {+ h$pp8(h$$np);+ return h$e(h$baseZCSystemziPosixziInternalszisetEcho2);+ };+};+function h$$nm()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = h$base_lflag(c, d);+ h$p4(c, d, e, h$$nn);+ return h$e(b);+};+function h$$nl()+{+ h$p2(h$r1.d1, h$$nm);+ return h$e(h$r2);+};+function h$baseZCSystemziPosixziInternalszisetEcho1_e()+{+ h$r3 = h$c1(h$$nl, h$r3);+ h$r1 = h$baseZCSystemziPosixziInternalszigetEcho4;+ return h$ap_3_2_fast();+};+function h$baseZCSystemziPosixziInternalszisetCooked5_e()+{+ h$bh();+ var a = h$base_vmin;+ h$r1 = (a | 0);+ return h$stack[h$sp];+};+function h$baseZCSystemziPosixziInternalszisetCooked4_e()+{+ h$bh();+ var a = h$base_vtime;+ h$r1 = (a | 0);+ return h$stack[h$sp];+};+function h$baseZCSystemziPosixziInternalszisetCooked3_e()+{+ h$bh();+ var a = h$base_icanon;+ var b = (a | 0);+ var c = (b | 0);+ h$r1 = (c ^ (-1));+ return h$stack[h$sp];+};+function h$baseZCSystemziPosixziInternalszisetCooked2_e()+{+ h$bh();+ var a = h$base_icanon;+ var b = (a | 0);+ h$r1 = (b | 0);+ return h$stack[h$sp];+};+function h$$ny()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ var e;+ var f;+ e = b;+ f = (c + d);+ e.u8[(f + 0)] = 0;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$nx()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ var e;+ var f;+ e = b;+ f = (c + d);+ e.u8[(f + 0)] = 1;+ h$pp4(h$$ny);+ return h$e(h$baseZCSystemziPosixziInternalszisetCooked4);+};+function h$$nw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ var d = h$base_ptr_c_cc(c, b);+ h$p3(d, h$ret_1, h$$nx);+ return h$e(h$baseZCSystemziPosixziInternalszisetCooked5);+ };+ return h$stack[h$sp];+};+function h$$nv()+{+ var a = h$stack[(h$sp - 3)];+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$base_poke_lflag(b, c, h$r1);+ h$pp5(c, h$$nw);+ return h$e(a);+};+function h$$nu()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 3;+ var c = a;+ var d = (b | 0);+ h$r1 = (d & c);+ h$sp += 3;+ ++h$sp;+ return h$$nv;+};+function h$$nt()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 3;+ var c = a;+ var d = (b | 0);+ h$r1 = (d | c);+ h$sp += 3;+ ++h$sp;+ return h$$nv;+};+function h$$ns()+{+ var a = h$r1;+ h$sp -= 2;+ h$sp -= 3;+ if(a)+ {+ h$sp += 3;+ h$pp2(h$$nt);+ return h$e(h$baseZCSystemziPosixziInternalszisetCooked2);+ }+ else+ {+ h$sp += 3;+ h$pp2(h$$nu);+ return h$e(h$baseZCSystemziPosixziInternalszisetCooked3);+ };+};+function h$$nr()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = h$base_lflag(c, d);+ h$pp6(c, d);+ h$p2(e, h$$ns);+ return h$e(b);+};+function h$$nq()+{+ h$p2(h$r1.d1, h$$nr);+ return h$e(h$r2);+};+function h$baseZCSystemziPosixziInternalszisetCooked1_e()+{+ h$r3 = h$c1(h$$nq, h$r3);+ h$r1 = h$baseZCSystemziPosixziInternalszigetEcho4;+ return h$ap_3_2_fast();+};+function h$$nN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = h$base_tcgetattr(a, b, c);+ var e = d;+ h$r1 = (e | 0);+ return h$stack[h$sp];+};+function h$$nM()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p3(c, b.d2, h$$nN);+ return h$e(a);+};+function h$$nL()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$base_tcsanow;+ var f = h$base_tcsetattr(d, (e | 0), a, c);+ var g = f;+ h$r1 = (g | 0);+ return h$stack[h$sp];+};+function h$$nK()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$nJ()+{+ var a = h$stack[(h$sp - 5)];+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ h$sp -= 6;+ var d = h$base_sig_setmask;+ var e = h$base_sigprocmask((d | 0), a, b, null, 0);+ var f = e;+ var g = (f | 0);+ if((g === (-1)))+ {+ var h = h$__hscore_get_errno();+ var i = h;+ h$p1(h$$nK);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (i | 0), h$$n2,+ h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ }+ else+ {+ h$r1 = c;+ };+ return h$stack[h$sp];+};+function h$$nI()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 8;+ h$pp39(e, f, a, h$$nJ);+ h$l4(h$c3(h$$nL, b, c, d), h$$n5, h$baseZCSystemziPosixziInternalszifdFileSizzezupred,+ h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2);+ return h$ap_4_3_fast();+};+function h$$nH()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$nG()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$nF()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$nE()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = h$newByteArray(h$base_sizeof_sigset_t);+ var g = h$newByteArray(h$base_sizeof_sigset_t);+ var h;+ var i;+ h = f;+ i = 0;+ var j = h$base_sigemptyset(f, 0);+ var k = j;+ var l = (k | 0);+ if((l === (-1)))+ {+ var m = h$__hscore_get_errno();+ var n = m;+ h$p1(h$$nF);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (n | 0), h$$n4,+ h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ }+ else+ {+ var o = h$base_sigttou;+ var p = h$base_sigaddset(h, i, (o | 0));+ var q = p;+ var r = (q | 0);+ if((r === (-1)))+ {+ var s = h$__hscore_get_errno();+ var t = s;+ h$p1(h$$nG);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (t | 0), h$$n3,+ h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ }+ else+ {+ var u = h$base_sig_block;+ var v;+ var w;+ v = g;+ w = 0;+ var x = h$base_sigprocmask((u | 0), h, i, v, w);+ var y = x;+ var z = (y | 0);+ if((z === (-1)))+ {+ var A = h$__hscore_get_errno();+ var B = A;+ h$p1(h$$nH);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (B | 0), h$$n2,+ h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ }+ else+ {+ h$p8(c, d, e, f, g, v, w, h$$nI);+ h$l2(h$c2(h$baseZCGHCziPtrziPtr_con_e, c, d), a);+ return h$ap_2_1_fast();+ };+ };+ };+};+function h$$nD()+{+ var a = h$r1;+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$nC()+{+ var a = h$r1;+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$nB()+{+ var a = h$r1;+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$nA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var g = a;+ var h = h$c4(h$$nE, c, f, b, a);+ if((g <= 2))+ {+ var i = h$__hscore_get_saved_termios(g);+ var j = i;+ var k = h$ret1;+ if(((j === null) && (k === 0)))+ {+ var l = d;+ var m = h$malloc((l | 0));+ var n = m;+ var o = h$ret1;+ if(((n === null) && (o === 0)))+ {+ h$l2(h$baseZCForeignziMarshalziAlloczimallocBytes2, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+ }+ else+ {+ var p = d;+ var q = h$memcpy(n, o, f, b, (p | 0));+ h$__hscore_set_saved_termios(g, n, o);+ h$p2(e, h$$nB);+ h$r1 = h;+ return h$ap_1_0_fast();+ };+ }+ else+ {+ h$p2(e, h$$nC);+ h$r1 = h;+ return h$ap_1_0_fast();+ };+ }+ else+ {+ h$p2(e, h$$nD);+ h$r1 = h;+ return h$ap_1_0_fast();+ };+};+function h$$nz()+{+ var a = h$stack[(h$sp - 6)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 7;+ h$pp33(b, h$$nA);+ return h$e(a);+};+function h$baseZCSystemziPosixziInternalszigetEcho4_e()+{+ var a = h$newByteArray(h$base_sizeof_termios);+ h$p7(h$r2, h$r3, h$base_sizeof_termios, a, a, 0, h$$nz);+ h$l4(h$c3(h$$nM, h$r2, a, 0), h$$n5, h$baseZCSystemziPosixziInternalszifdFileSizzezupred,+ h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2);+ return h$ap_4_3_fast();+};+function h$baseZCSystemziPosixziInternalszigetEcho3_e()+{+ h$bh();+ var a = h$base_echo;+ var b = (a | 0);+ h$r1 = (b | 0);+ return h$stack[h$sp];+};+function h$$nQ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = (b | 0);+ var e = (d & c);+ if((e === 0))+ {+ h$r1 = false;+ }+ else+ {+ h$r1 = true;+ };+ return h$stack[h$sp];+};+function h$$nP()+{+ var a = h$r1.d1;+ h$bh();+ h$p2(a, h$$nQ);+ return h$e(h$baseZCSystemziPosixziInternalszigetEcho3);+};+function h$$nO()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = h$base_lflag(b, a.d2);+ h$r1 = h$c1(h$$nP, c);+ return h$stack[h$sp];+};+function h$baseZCSystemziPosixziInternalszigetEcho2_e()+{+ h$p1(h$$nO);+ return h$e(h$r2);+};+var h$baseZCSystemziPosixziInternalsziioezuunknownfiletype2 = h$strta("fdType");+var h$baseZCSystemziPosixziInternalsziioezuunknownfiletype1 = h$strta("unknown file type");+function h$$nV()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ h$r1 = (b | 0);+ return h$stack[h$sp];+};+function h$$nU()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ h$p1(h$$nV);+ try+ {+ var e;+ var f = { mv: null+ };+ e = h$mkForeignCallback(f);+ h$base_fstat(d, b, c, e);+ if((f.mv === null))+ {+ f.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(f.mv);+ }+ else+ {+ var g = f.mv;+ h$r1 = g[0];+ };+ }+ catch(h$SystemziPosixziInternals_id_108_0)+ {+ return h$throwJSException(h$SystemziPosixziInternals_id_108_0);+ };+ return h$stack[h$sp];+};+function h$$nT()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p3(c, b.d2, h$$nU);+ return h$e(a);+};+function h$$nS()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var c = h$r1;+ var d = h$base_st_dev(a, b);+ var e = d;+ var f;+ var g;+ f = h$base_st_ino(a, b);+ var h = h$c2(h$baseZCGHCziWordziW64zh_con_e, f, g);+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, c, (e | 0), h);+ return h$stack[h$sp];+};+function h$$nR()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var c = h$base_st_mode(a, b);+ var d = c;+ var e = (d & 65535);+ var f = h$base_c_s_isdir(e);+ var g = f;+ var h = (g | 0);+ if((h === 0))+ {+ var i = h$base_c_s_isfifo(e);+ var j = i;+ var k = (j | 0);+ if((k === 0))+ {+ var l = h$base_c_s_issock(e);+ var m = l;+ var n = (m | 0);+ if((n === 0))+ {+ var o = h$base_c_s_ischr(e);+ var p = o;+ var q = (p | 0);+ if((q === 0))+ {+ var r = h$base_c_s_isreg(e);+ var s = r;+ var t = (s | 0);+ if((t === 0))+ {+ var u = h$base_c_s_isblk(e);+ var v = u;+ var w = (v | 0);+ if((w === 0))+ {+ h$l2(h$baseZCSystemziPosixziInternalsziioezuunknownfiletype, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+ }+ else+ {+ h$r1 = h$baseZCGHCziIOziDeviceziRawDevice;+ h$sp += 3;+ ++h$sp;+ return h$$nS;+ };+ }+ else+ {+ h$r1 = h$baseZCGHCziIOziDeviceziRegularFile;+ h$sp += 3;+ ++h$sp;+ return h$$nS;+ };+ }+ else+ {+ h$r1 = h$baseZCGHCziIOziDeviceziStream;+ h$sp += 3;+ ++h$sp;+ return h$$nS;+ };+ }+ else+ {+ h$r1 = h$baseZCGHCziIOziDeviceziStream;+ h$sp += 3;+ ++h$sp;+ return h$$nS;+ };+ }+ else+ {+ h$r1 = h$baseZCGHCziIOziDeviceziStream;+ h$sp += 3;+ ++h$sp;+ return h$$nS;+ };+ }+ else+ {+ h$r1 = h$baseZCGHCziIOziDeviceziDirectory;+ h$sp += 3;+ ++h$sp;+ return h$$nS;+ };+};+function h$baseZCSystemziPosixziInternalszifdStat1_e()+{+ var a = h$newByteArray(h$base_sizeof_stat);+ h$p4(a, a, 0, h$$nR);+ h$l4(h$c3(h$$nT, h$r2, a, 0), h$baseZCSystemziPosixziInternalsziioezuunknownfiletype2,+ h$baseZCSystemziPosixziInternalszifdFileSizzezupred, h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2);+ return h$ap_4_3_fast();+};+function h$$nW()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((b === (-1)))+ {+ h$r1 = true;+ }+ else+ {+ h$r1 = false;+ };+ return h$stack[h$sp];+};+function h$baseZCSystemziPosixziInternalszifdFileSizzezupred_e()+{+ h$p1(h$$nW);+ return h$e(h$r2);+};+var h$baseZCSystemziPosixziInternalszifdFileSizzezuloc = h$strta("fileSize");+function h$$n1()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ h$r1 = (b | 0);+ return h$stack[h$sp];+};+function h$$n0()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ h$p1(h$$n1);+ try+ {+ var e;+ var f = { mv: null+ };+ e = h$mkForeignCallback(f);+ h$base_fstat(d, b, c, e);+ if((f.mv === null))+ {+ f.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(f.mv);+ }+ else+ {+ var g = f.mv;+ h$r1 = g[0];+ };+ }+ catch(h$SystemziPosixziInternals_id_114_0)+ {+ return h$throwJSException(h$SystemziPosixziInternals_id_114_0);+ };+ return h$stack[h$sp];+};+function h$$nZ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p3(c, b.d2, h$$n0);+ return h$e(a);+};+function h$$nY()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziint64ToInteger);+ return h$ap_1_2_fast();+};+function h$$nX()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var c = h$base_st_mode(a, b);+ var d = c;+ var e = h$base_c_s_isreg((d & 65535));+ var f = e;+ var g = (f | 0);+ if((g === 0))+ {+ h$r1 = h$baseZCSystemziPosixziInternalszifdFileSizze2;+ }+ else+ {+ var h = h$base_st_size(a, b);+ h$r1 = h$c2(h$$nY, h, h$ret1);+ };+ return h$stack[h$sp];+};+function h$baseZCSystemziPosixziInternalszifdFileSizze1_e()+{+ var a = h$newByteArray(h$base_sizeof_stat);+ h$p4(a, a, 0, h$$nX);+ h$l4(h$c3(h$$nZ, h$r2, a, 0), h$baseZCSystemziPosixziInternalszifdFileSizzezuloc,+ h$baseZCSystemziPosixziInternalszifdFileSizzezupred, h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2);+ return h$ap_4_3_fast();+};+function h$baseZCGHCziWordziW32zh_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziWordziW32zh_e()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$baseZCGHCziWordziW64zh_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziWordziW64zh_e()+{+ h$r1 = h$c2(h$baseZCGHCziWordziW64zh_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$baseZCGHCziUnicodezizdwisSpace_e()+{+ switch (h$r2)+ {+ case (9):+ h$r1 = true;+ break;+ case (10):+ h$r1 = true;+ break;+ case (11):+ h$r1 = true;+ break;+ case (12):+ h$r1 = true;+ break;+ case (13):+ h$r1 = true;+ break;+ case (32):+ h$r1 = true;+ break;+ case (160):+ h$r1 = true;+ break;+ default:+ var a = h$r2;+ var b = h$u_iswspace((a | 0));+ var c = b;+ var d = (c | 0);+ if((d === 0))+ {+ h$r1 = false;+ }+ else+ {+ h$r1 = true;+ };+ };+ return h$stack[h$sp];+};+function h$$n6()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziUnicodezizdwisSpace);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziUnicodeziisSpace_e()+{+ h$p1(h$$n6);+ return h$e(h$r2);+};+function h$$n7()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = h$u_iswalpha((b | 0));+ var d = c;+ var e = (d | 0);+ if((e === 0))+ {+ h$r1 = false;+ }+ else+ {+ h$r1 = true;+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziUnicodeziisAlpha_e()+{+ h$p1(h$$n7);+ return h$e(h$r2);+};+function h$$n8()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = h$u_iswalnum((b | 0));+ var d = c;+ var e = (d | 0);+ if((e === 0))+ {+ h$r1 = false;+ }+ else+ {+ h$r1 = true;+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziUnicodeziisAlphaNum_e()+{+ h$p1(h$$n8);+ return h$e(h$r2);+};+function h$$n9()+{+ h$l3(h$r1.d1, h$$oY, h$$oU);+ return h$ap_3_2_fast();+};+function h$baseZCGHCziTopHandlerzirunIO2_e()+{+ h$r1 = h$baseZCGHCziTopHandlerzirunIO3;+ return h$ap_2_1_fast();+};+function h$baseZCGHCziTopHandlerzirunIO3_e()+{+ return h$catch(h$c1(h$$n9, h$r2), h$baseZCGHCziTopHandlerzirunIO2);+};+function h$$oO()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$oN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$oO);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$oM()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$oL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$oM);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$oK()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$oJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$oK);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$oI()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$oH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$oI);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$oG()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$oF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$oG);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$oE()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$oD()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$oE);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$oC()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$oB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$oC);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$oA()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$oz()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$oA);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$oy()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$ox()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$oy);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$ow()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ var d = a.d2;+ if((c === d))+ {+ h$l2(h$$oW, b);+ return h$ap_2_1_fast();+ }+ else+ {+ h$pp4(h$$oz);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ };+ }+ else+ {+ h$pp4(h$$ox);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ };+};+function h$$ov()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$ou()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$ov);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$ot()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(h$$oX, a);+ return h$ap_2_1_fast();+};+function h$$os()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp2(h$$ot);+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$$or()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$pp4(h$$ou);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ }+ else+ {+ var d = a.d2;+ var e = d.d1;+ if((c === e))+ {+ h$l2(h$$oW, b);+ return h$ap_2_1_fast();+ }+ else+ {+ h$pp4(h$$os);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ };+ };+};+function h$$oq()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$pp12(a.d2, h$$ow);+ return h$e(h$baseZCGHCziIOziHandleziFDzistdout);+ }+ else+ {+ var b = a.d2;+ h$pp12(b.d1, h$$or);+ return h$e(h$baseZCGHCziIOziHandleziFDzistdout);+ };+};+function h$$op()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ switch (a)+ {+ case ((-1)):+ h$pp4(h$$oB);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ case (32):+ h$pp4(h$$oq);+ return h$e(b);+ default:+ h$pp4(h$$oD);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ };+};+function h$$oo()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$pp4(h$$oF);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ }+ else+ {+ h$pp12(a.d1, h$$op);+ return h$e(b);+ };+};+function h$$on()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$pp4(h$$oH);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ }+ else+ {+ h$pp12(a.d1, h$$oo);+ return h$e(b);+ };+};+function h$$om()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if((a.f.a === 18))+ {+ h$pp8(h$$on);+ return h$e(b);+ }+ else+ {+ h$pp4(h$$oJ);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ };+};+function h$$ol()+{+ var a = h$r1;+ h$sp -= 3;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ h$pp28(b, c.d4, h$$om);+ return h$e(d);+};+function h$$ok()+{+ var a = h$stack[(h$sp - 5)];+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 8;+ if(h$hs_eqWord64(b, c, 1685460941, (-241344014)))+ {+ if(h$hs_eqWord64(d, e, (-1787550655), (-601376313)))+ {+ h$pp4(h$$ol);+ h$r1 = a;+ return h$ap_0_0_fast();+ }+ else+ {+ h$pp4(h$$oL);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ };+ }+ else+ {+ h$pp4(h$$oN);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+ };+};+function h$$oj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$l2(h$$oW, b);+ return h$ap_2_1_fast();+ }+ else+ {+ h$l2(a.d1, b);+ return h$ap_2_1_fast();+ };+};+function h$$oi()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ if(h$hs_eqWord64(c, e, (-91230330), 1741995454))+ {+ if(h$hs_eqWord64(f, g, (-1145465021), (-1155709843)))+ {+ h$pp2(h$$oj);+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ h$pp120(c, e, f, g);+ ++h$sp;+ return h$$ok;+ };+ }+ else+ {+ h$pp120(c, e, f, g);+ ++h$sp;+ return h$$ok;+ };+};+function h$$oh()+{+ var a = h$r1;+ h$sp -= 2;+ var b = a.d1;+ h$pp14(a, a.d2, h$$oi);+ ++h$sp;+ h$stack[h$sp] = h$ap_1_0;+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$$og()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp2(h$$oh);+ return h$e(a);+};+function h$$of()+{+ --h$sp;+ h$l2(h$$oZ, h$baseZCGHCziIOzifailIO);+ return h$ap_2_1_fast();+};+function h$$oe()+{+ var a = h$r1;+ --h$sp;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ switch (a.f.a)+ {+ case (1):+ h$stackOverflow(h$currentThread);+ h$l2(h$$oV, b);+ return h$ap_2_1_fast();+ case (4):+ h$p1(h$$of);+ h$shutdownHaskellAndExit(252, 0);+ break;+ default:+ h$sp += 2;+ ++h$sp;+ return h$$og;+ };+ return h$stack[h$sp];+};+function h$$od()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$sp += 2;+ ++h$sp;+ return h$$og;+ }+ else+ {+ var b = a.d1;+ h$sp += 2;+ h$p1(h$$oe);+ return h$e(b);+ };+};+function h$$oc()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$sp += 2;+ h$p1(h$$od);+ h$l2(a, h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuzdsasyncExceptionFromException);+ return h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuzdsasyncExceptionFromException_e;+};+function h$$ob()+{+ h$sp -= 3;+ h$pp4(h$$oc);+ return h$catch(h$baseZCGHCziTopHandlerziflushStdHandles2, h$baseZCGHCziTopHandlerziflushStdHandles3);+};+function h$$oa()+{+ h$p3(h$r2, h$r3, h$$ob);+ return h$catch(h$baseZCGHCziTopHandlerziflushStdHandles4, h$baseZCGHCziTopHandlerziflushStdHandles3);+};+function h$$oR()+{+ --h$sp;+ h$l2(h$$oZ, h$baseZCGHCziIOzifailIO);+ return h$ap_2_1_fast();+};+function h$$oQ()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ h$p1(h$$oR);+ h$shutdownHaskellAndExit((b | 0), 0);+ return h$stack[h$sp];+};+function h$$oP()+{+ h$p1(h$$oQ);+ return h$e(h$r2);+};+var h$$oZ = h$strta("If you can read this, shutdownHaskellAndExit did not exit.");+function h$$oS()+{+ var a = h$r1.d1;+ var b = h$makeWeakNoFinalizer(h$currentThread, h$c1(h$baseZCGHCziConcziSyncziThreadId_con_e, h$currentThread));+ h$r1 = a;+ return h$ap_1_0_fast();+};+function h$baseZCGHCziTopHandlerzirunMainIO1_e()+{+ return h$catch(h$c1(h$$oS, h$r2), h$baseZCGHCziTopHandlerzirunIO2);+};+function h$baseZCGHCziTopHandlerziflushStdHandles4_e()+{+ h$l2(h$baseZCGHCziIOziHandleziFDzistdout, h$baseZCGHCziIOziHandlezihFlush1);+ return h$baseZCGHCziIOziHandlezihFlush1_e;+};+function h$$oT()+{+ --h$sp;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$baseZCGHCziTopHandlerziflushStdHandles3_e()+{+ h$p1(h$$oT);+ return h$e(h$r2);+};+function h$baseZCGHCziTopHandlerziflushStdHandles2_e()+{+ h$l2(h$baseZCGHCziIOziHandleziFDzistderr, h$baseZCGHCziIOziHandlezihFlush1);+ return h$baseZCGHCziIOziHandlezihFlush1_e;+};+function h$baseZCGHCziTopHandlerzitopHandler_e()+{+ h$r1 = h$baseZCGHCziTopHandlerzirunIO3;+ return h$ap_2_1_fast();+};+function h$baseZCGHCziTopHandlerzirunMainIO_e()+{+ h$r1 = h$baseZCGHCziTopHandlerzirunMainIO1;+ return h$ap_2_1_fast();+};+function h$$o2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ b.dv.setUint32((d + (c << 2)), e, true);+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$o1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 4;+ h$pp10(a, h$$o2);+ return h$e(b);+};+function h$$o0()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ var c = a.d1;+ h$pp13(c, a.d2, h$$o1);+ return h$e(b);+};+function h$baseZCGHCziStorableziwriteWideCharOffPtr1_e()+{+ h$p3(h$r3, h$r4, h$$o0);+ return h$e(h$r2);+};+function h$$o4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ var e = b.dv.getUint32((c + (d << 2)), true);+ h$r1 = e;+ return h$stack[h$sp];+};+function h$$o3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$p3(c, a.d2, h$$o4);+ return h$e(b);+};+function h$baseZCGHCziStorablezireadWideCharOffPtr1_e()+{+ h$p2(h$r3, h$$o3);+ return h$e(h$r2);+};+function h$baseZCGHCziShowzizdwitoszq_e()+{+ var a = h$r2;+ var b = h$r3;+ if((a < 10))+ {+ h$r1 = ((48 + a) | 0);+ h$r2 = b;+ }+ else+ {+ var c = ((a / 10) | 0);+ var d = c;+ var e = (a - (10 * c));+ h$l3(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, ((48 + e) | 0), b), d, h$baseZCGHCziShowzizdwitoszq);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$o8()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$baseZCGHCziShowzishowLitString);+ return h$ap_2_2_fast();+};+function h$$o7()+{+ h$l3(h$r1.d1, h$r1.d2, h$baseZCGHCziShowzishowLitString);+ return h$ap_2_2_fast();+};+function h$$o6()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ if((d === 34))+ {+ h$l3(h$c2(h$$o7, b, c), h$$py, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l3(h$c2(h$$o8, b, c), d, h$baseZCGHCziShowzizdwshowLitChar);+ return h$ap_2_2_fast();+ };+};+function h$$o5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$pp6(a.d2, h$$o6);+ return h$e(c);+ };+};+function h$baseZCGHCziShowzishowLitString_e()+{+ h$p2(h$r3, h$$o5);+ return h$e(h$r2);+};+var h$$py = h$strta("\\\"");+var h$$pz = h$strta("\\a");+var h$$pA = h$strta("\\b");+var h$$pB = h$strta("\\t");+var h$$pC = h$strta("\\n");+var h$$pD = h$strta("\\v");+var h$$pE = h$strta("\\f");+var h$$pF = h$strta("\\r");+var h$$pG = h$strta("\\SO");+var h$$pH = h$strta("\\\\");+var h$$pI = h$strta("\\DEL");+var h$baseZCGHCziShowziasciiTab65 = h$strta("NUL");+var h$baseZCGHCziShowziasciiTab64 = h$strta("SOH");+var h$baseZCGHCziShowziasciiTab63 = h$strta("STX");+var h$baseZCGHCziShowziasciiTab62 = h$strta("ETX");+var h$baseZCGHCziShowziasciiTab61 = h$strta("EOT");+var h$baseZCGHCziShowziasciiTab60 = h$strta("ENQ");+var h$baseZCGHCziShowziasciiTab59 = h$strta("ACK");+var h$baseZCGHCziShowziasciiTab58 = h$strta("BEL");+var h$baseZCGHCziShowziasciiTab57 = h$strta("BS");+var h$baseZCGHCziShowziasciiTab56 = h$strta("HT");+var h$baseZCGHCziShowziasciiTab55 = h$strta("LF");+var h$baseZCGHCziShowziasciiTab54 = h$strta("VT");+var h$baseZCGHCziShowziasciiTab53 = h$strta("FF");+var h$baseZCGHCziShowziasciiTab52 = h$strta("CR");+var h$baseZCGHCziShowziasciiTab51 = h$strta("SO");+var h$baseZCGHCziShowziasciiTab50 = h$strta("SI");+var h$baseZCGHCziShowziasciiTab49 = h$strta("DLE");+var h$baseZCGHCziShowziasciiTab48 = h$strta("DC1");+var h$baseZCGHCziShowziasciiTab47 = h$strta("DC2");+var h$baseZCGHCziShowziasciiTab46 = h$strta("DC3");+var h$baseZCGHCziShowziasciiTab45 = h$strta("DC4");+var h$baseZCGHCziShowziasciiTab44 = h$strta("NAK");+var h$baseZCGHCziShowziasciiTab43 = h$strta("SYN");+var h$baseZCGHCziShowziasciiTab42 = h$strta("ETB");+var h$baseZCGHCziShowziasciiTab41 = h$strta("CAN");+var h$baseZCGHCziShowziasciiTab40 = h$strta("EM");+var h$baseZCGHCziShowziasciiTab39 = h$strta("SUB");+var h$baseZCGHCziShowziasciiTab38 = h$strta("ESC");+var h$baseZCGHCziShowziasciiTab37 = h$strta("FS");+var h$baseZCGHCziShowziasciiTab36 = h$strta("GS");+var h$baseZCGHCziShowziasciiTab35 = h$strta("RS");+var h$baseZCGHCziShowziasciiTab34 = h$strta("US");+var h$baseZCGHCziShowziasciiTab33 = h$strta("SP");+function h$$ph()+{+ var a = h$r1.d1;+ h$bh();+ var b = a;+ if((b < 0))+ {+ h$r1 = h$baseZCGHCziListziznzn1;+ return h$ap_0_0_fast();+ }+ else+ {+ h$l3(b, h$baseZCGHCziShowziasciiTab, h$baseZCGHCziListziznznzusub);+ return h$ap_2_2_fast();+ };+};+var h$$baseZCGHCziShow_dQ = h$str("\\&");+function h$$pg()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c === 72))+ {+ h$r4 = b;+ h$r3 = 0;+ h$r2 = h$$baseZCGHCziShow_dQ();+ h$r1 = h$ghczmprimZCGHCziCStringziunpackAppendCStringzh;+ return h$ap_2_3_fast();+ }+ else+ {+ h$r1 = b;+ };+ return h$stack[h$sp];+};+function h$$pf()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a, h$$pg);+ return h$e(a.d1);+ };+ return h$stack[h$sp];+};+function h$$pe()+{+ h$p1(h$$pf);+ return h$e(h$r1.d1);+};+var h$$baseZCGHCziShow_dX = h$str("\\&");+function h$$pd()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((c >= 48))+ {+ if((c <= 57))+ {+ h$r4 = b;+ h$r3 = 0;+ h$r2 = h$$baseZCGHCziShow_dX();+ h$r1 = h$ghczmprimZCGHCziCStringziunpackAppendCStringzh;+ return h$ap_2_3_fast();+ }+ else+ {+ h$r1 = b;+ };+ }+ else+ {+ h$r1 = b;+ };+ return h$stack[h$sp];+};+function h$$pc()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a, h$$pd);+ return h$e(a.d1);+ };+ return h$stack[h$sp];+};+function h$$pb()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$pc);+ return h$e(a);+};+function h$$pa()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, b);+ return h$stack[h$sp];+};+function h$$o9()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p1(h$$pa);+ h$l3(h$c1(h$$pb, b), a, h$baseZCGHCziShowzizdwitos);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziShowzizdwshowLitChar_e()+{+ var a = h$r2;+ var b = h$r3;+ if((a > 127))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$$pJ, h$c2(h$$o9, a, b));+ }+ else+ {+ var c = a;+ switch (a)+ {+ case (92):+ h$l3(b, h$$pH, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (127):+ h$l3(b, h$$pI, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ default:+ if((c >= 32))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, c, b);+ }+ else+ {+ switch (c)+ {+ case (7):+ h$l3(b, h$$pz, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (8):+ h$l3(b, h$$pA, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (9):+ h$l3(b, h$$pB, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (10):+ h$l3(b, h$$pC, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (11):+ h$l3(b, h$$pD, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (12):+ h$l3(b, h$$pE, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (13):+ h$l3(b, h$$pF, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (14):+ h$l3(h$c1(h$$pe, b), h$$pG, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ default:+ h$l3(b, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$$pJ, h$c1(h$$ph, c)), h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ };+ };+ };+ };+ return h$stack[h$sp];+};+function h$$pn()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, b);+ return h$stack[h$sp];+};+function h$$pm()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p1(h$$pn);+ h$l3(a, (-b | 0), h$baseZCGHCziShowzizdwitoszq);+ return h$ap_2_2_fast();+};+function h$$pl()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, b);+ return h$stack[h$sp];+};+function h$$pk()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p1(h$$pl);+ h$l3(a, (-b | 0), h$baseZCGHCziShowzizdwitoszq);+ return h$ap_2_2_fast();+};+function h$$pj()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, b);+ return h$stack[h$sp];+};+function h$$pi()+{+ var a = h$r1.d1;+ h$bh();+ var b = (((-2147483648) / 10) | 0);+ var c = b;+ h$p1(h$$pj);+ h$l3(h$c2(h$$pk, a, ((-2147483648) - (10 * b))), (-c | 0), h$baseZCGHCziShowzizdwitoszq);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziShowzizdwitos_e()+{+ var a = h$r2;+ var b = h$r3;+ if((a < 0))+ {+ var c = a;+ if((c === (-2147483648)))+ {+ h$r1 = h$baseZCGHCziShowzishows15;+ h$r2 = h$c1(h$$pi, b);+ }+ else+ {+ h$r1 = h$baseZCGHCziShowzishows15;+ h$r2 = h$c2(h$$pm, b, c);+ };+ }+ else+ {+ h$l3(b, a, h$baseZCGHCziShowzizdwitoszq);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$pp()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, b);+ return h$stack[h$sp];+};+function h$$po()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p1(h$$pp);+ h$l3(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziShowzishows12, b), a, h$baseZCGHCziShowzizdwitos);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziShowzizdwshowSignedInt_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ if((b < 0))+ {+ if((a > 6))+ {+ h$r1 = h$baseZCGHCziShowzishows13;+ h$r2 = h$c2(h$$po, b, c);+ }+ else+ {+ h$l3(c, b, h$baseZCGHCziShowzizdwitos);+ return h$ap_2_2_fast();+ };+ }+ else+ {+ h$l3(c, b, h$baseZCGHCziShowzizdwitos);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziShowziDZCShow_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziShowziDZCShow_e()+{+ h$r1 = h$c3(h$baseZCGHCziShowziDZCShow_con_e, h$r2, h$r3, h$r4);+ return h$stack[h$sp];+};+var h$$baseZCGHCziShow_fz = h$str("[]");+function h$$pw()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$pv()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$l3(h$c2(h$$pw, c, b.d3), d, a);+ return h$ap_2_2_fast();+};+function h$$pu()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$r1 = c;+ }+ else+ {+ var e = a.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziShowzishowListzuzu1, h$c4(h$$pv, b, d, e, a.d2));+ };+ return h$stack[h$sp];+};+function h$$pt()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p4(a, c, b.d2, h$$pu);+ return h$e(h$r2);+};+function h$$ps()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ var e = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziShowzishowListzuzu2, c);+ var f = h$c(h$$pt);+ f.d1 = a;+ f.d2 = h$d2(e, f);+ h$l2(d, f);+ return h$ap_1_1_fast();+};+function h$$pr()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$l3(h$c3(h$$ps, a, c, b.d3), d, a);+ return h$ap_2_2_fast();+};+function h$$pq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r4 = c;+ h$r3 = 0;+ h$r2 = h$$baseZCGHCziShow_fz();+ h$r1 = h$ghczmprimZCGHCziCStringziunpackAppendCStringzh;+ return h$ap_2_3_fast();+ }+ else+ {+ var d = a.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziShowzishowListzuzu3, h$c4(h$$pr, b, c, d, a.d2));+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziShowzishowListzuzu_e()+{+ h$p3(h$r2, h$r4, h$$pq);+ return h$e(h$r3);+};+function h$$px()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziShowzishowsPrec_e()+{+ h$p1(h$$px);+ return h$e(h$r2);+};+function h$baseZCGHCziSTRefziSTRef_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziSTRefziSTRef_e()+{+ h$r1 = h$c1(h$baseZCGHCziSTRefziSTRef_con_e, h$r2);+ return h$stack[h$sp];+};+function h$$pT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(c, b, a, h$$qv);+ return h$ap_3_3_fast();+};+function h$$pS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ h$pp5(a, h$$pT);+ h$l3(b, b, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$pR()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp4(h$$pS);+ h$l3(h$baseZCGHCziRealzieven2, a, h$integerzmgmpZCGHCziIntegerziTypeziquotInteger);+ return h$ap_2_2_fast();+};+function h$$pQ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp6(a, h$$pR);+ h$l3(h$baseZCGHCziRealzizdfEnumRatio1, b, h$integerzmgmpZCGHCziIntegerziTypeziminusInteger);+ return h$ap_2_2_fast();+};+function h$$pP()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$l3(c, b, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$pp4(h$$pQ);+ h$l3(c, b, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+ };+};+function h$$pO()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(c, b, a, h$$qv);+ return h$ap_3_3_fast();+};+function h$$pN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ h$pp5(a, h$$pO);+ h$l3(b, b, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$pM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$pp6(c, h$$pN);+ h$l3(h$baseZCGHCziRealzieven2, b, h$integerzmgmpZCGHCziIntegerziTypeziquotInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$pp8(h$$pP);+ h$l3(h$baseZCGHCziRealzizdfEnumRatio1, b, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+ };+};+function h$$pL()+{+ var a = h$r1;+ h$sp -= 4;+ h$pp8(h$$pM);+ h$l3(h$baseZCGHCziRealzieven1, a, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+};+function h$$pK()+{+ var a = h$r3;+ h$p4(h$r2, h$r3, h$r4, h$$pL);+ h$l3(h$baseZCGHCziRealzieven2, a, h$integerzmgmpZCGHCziIntegerziTypeziremInteger);+ return h$ap_2_2_fast();+};+function h$$p1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(b, c, a, h$$qv);+ return h$ap_3_3_fast();+};+function h$$p0()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$pp6(a, h$$p1);+ h$l3(b, b, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$pZ()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$p0);+ h$l3(h$baseZCGHCziRealzieven2, a, h$integerzmgmpZCGHCziIntegerziTypeziquotInteger);+ return h$ap_2_2_fast();+};+function h$$pY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ return h$e(b);+ }+ else+ {+ h$pp2(h$$pZ);+ h$l3(h$baseZCGHCziRealzizdfEnumRatio1, c, h$integerzmgmpZCGHCziIntegerziTypeziminusInteger);+ return h$ap_2_2_fast();+ };+};+function h$$pX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCGHCziRealzizczuf2);+ return h$ap_2_2_fast();+};+function h$$pW()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$pX);+ h$l3(b, b, h$integerzmgmpZCGHCziIntegerziTypezitimesInteger);+ return h$ap_2_2_fast();+};+function h$$pV()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$pp2(h$$pW);+ h$l3(h$baseZCGHCziRealzieven2, b, h$integerzmgmpZCGHCziIntegerziTypeziquotInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$pp4(h$$pY);+ h$l3(h$baseZCGHCziRealzizdfEnumRatio1, b, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+ };+};+function h$$pU()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp4(h$$pV);+ h$l3(h$baseZCGHCziRealzieven1, a, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziRealzizczuf2_e()+{+ var a = h$r3;+ h$p3(h$r2, h$r3, h$$pU);+ h$l3(h$baseZCGHCziRealzieven2, a, h$integerzmgmpZCGHCziIntegerziTypeziremInteger);+ return h$ap_2_2_fast();+};+var h$$qw = h$strta("Negative exponent");+function h$$p3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ return h$e(h$baseZCGHCziRealzizdfEnumRatio1);+ }+ else+ {+ h$l3(c, b, h$baseZCGHCziRealzizczuf2);+ return h$ap_2_2_fast();+ };+};+function h$$p2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ return h$e(h$baseZCGHCziRealzizc3);+ }+ else+ {+ h$pp4(h$$p3);+ h$l3(h$baseZCGHCziRealzieven1, b, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+ };+};+function h$baseZCGHCziRealzizczuzdszc2_e()+{+ var a = h$r3;+ h$p3(h$r2, h$r3, h$$p2);+ h$l3(h$baseZCGHCziRealzieven1, a, h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziRealzizc3_e()+{+ h$bh();+ h$l2(h$$qw, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+function h$$p5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ switch (a)+ {+ case ((-1)):+ var d = b;+ if((d === (-2147483648)))+ {+ h$r1 = h$baseZCGHCziRealzioverflowError;+ return h$ap_0_0_fast();+ }+ else+ {+ h$r1 = ((d / (-1)) | 0);+ };+ break;+ case (0):+ h$r1 = h$baseZCGHCziRealzidivZZeroError;+ return h$ap_0_0_fast();+ default:+ h$r1 = ((b / c) | 0);+ };+ return h$stack[h$sp];+};+function h$$p4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$p5);+ return h$e(b);+};+function h$baseZCGHCziRealzizdfIntegralIntzuzdcquot_e()+{+ h$p2(h$r3, h$$p4);+ return h$e(h$r2);+};+function h$$p7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (c % b);+ return h$stack[h$sp];+};+function h$$p6()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ switch (a)+ {+ case ((-1)):+ return h$e(h$baseZCGHCziRealzizdfIntegralInt1);+ case (0):+ h$r1 = h$baseZCGHCziRealzidivZZeroError;+ return h$ap_0_0_fast();+ default:+ h$p2(a, h$$p7);+ return h$e(b);+ };+};+function h$baseZCGHCziRealzizdfIntegralIntzuzdcrem_e()+{+ h$p2(h$r2, h$$p6);+ return h$e(h$r3);+};+function h$baseZCGHCziRealzizdwzdcdiv_e()+{+ switch (h$r3)+ {+ case ((-1)):+ var a = h$r2;+ if((a === (-2147483648)))+ {+ h$r1 = h$baseZCGHCziRealzioverflowError;+ return h$ap_0_0_fast();+ }+ else+ {+ h$l3((-1), a, h$ghczmprimZCGHCziClasseszidivIntzh);+ return h$ghczmprimZCGHCziClasseszidivIntzh_e;+ };+ case (0):+ h$r1 = h$baseZCGHCziRealzidivZZeroError;+ return h$ap_0_0_fast();+ default:+ h$r1 = h$ghczmprimZCGHCziClasseszidivIntzh;+ return h$ghczmprimZCGHCziClasseszidivIntzh_e;+ };+};+function h$$qa()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$p9()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p1(h$$qa);+ h$l3(a, b, h$baseZCGHCziRealzizdwzdcdiv);+ return h$ap_2_2_fast();+};+function h$$p8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$p9);+ return h$e(b);+};+function h$baseZCGHCziRealzizdfIntegralIntzuzdcdiv_e()+{+ h$p2(h$r3, h$$p8);+ return h$e(h$r2);+};+function h$$qd()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$qc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p1(h$$qd);+ h$l3(b, a, h$ghczmprimZCGHCziClasseszimodIntzh);+ return h$ghczmprimZCGHCziClasseszimodIntzh_e;+};+function h$$qb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ switch (a)+ {+ case ((-1)):+ return h$e(h$baseZCGHCziRealzizdfIntegralInt1);+ case (0):+ h$r1 = h$baseZCGHCziRealzidivZZeroError;+ return h$ap_0_0_fast();+ default:+ h$p2(a, h$$qc);+ return h$e(b);+ };+};+function h$baseZCGHCziRealzizdfIntegralIntzuzdcmod_e()+{+ h$p2(h$r2, h$$qb);+ return h$e(h$r3);+};+function h$$qf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ switch (a)+ {+ case ((-1)):+ var d = b;+ if((d === (-2147483648)))+ {+ return h$e(h$$qx);+ }+ else+ {+ var e = ((d / (-1)) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, e, (d - ((-1) * e)));+ };+ break;+ case (0):+ h$r1 = h$baseZCGHCziRealzidivZZeroError;+ return h$ap_0_0_fast();+ default:+ var f = ((b / c) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, f, (b - (c * f)));+ };+ return h$stack[h$sp];+};+function h$$qe()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$qf);+ return h$e(b);+};+function h$baseZCGHCziRealzizdfIntegralIntzuzdcquotRem_e()+{+ h$p2(h$r3, h$$qe);+ return h$e(h$r2);+};+function h$$qh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ switch (a)+ {+ case ((-1)):+ var d = b;+ if((d === (-2147483648)))+ {+ return h$e(h$$qx);+ }+ else+ {+ if((d > 0))+ {+ var e = ((d - 1) | 0);+ var f = ((e / (-1)) | 0);+ var g = f;+ var h = (e - ((-1) * f));+ var i = ((h - 1) | 0);+ var j = ((i + 1) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, ((g - 1) | 0), j);+ }+ else+ {+ if((d < 0))+ {+ var k = ((d / (-1)) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, k, (d - ((-1) * k)));+ }+ else+ {+ var l = ((d / (-1)) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, l, (d - ((-1) * l)));+ };+ };+ };+ break;+ case (0):+ h$r1 = h$baseZCGHCziRealzidivZZeroError;+ return h$ap_0_0_fast();+ default:+ if((b > 0))+ {+ if((c < 0))+ {+ var m = ((b - 1) | 0);+ var n = ((m / c) | 0);+ var o = n;+ var p = (m - (c * n));+ var q = ((p + c) | 0);+ var r = ((q + 1) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, ((o - 1) | 0), r);+ }+ else+ {+ if((b < 0))+ {+ if((c > 0))+ {+ var s = ((b + 1) | 0);+ var t = ((s / c) | 0);+ var u = t;+ var v = (s - (c * t));+ var w = ((v + c) | 0);+ var x = ((w - 1) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, ((u - 1) | 0), x);+ }+ else+ {+ var y = ((b / c) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, y, (b - (c * y)));+ };+ }+ else+ {+ var z = ((b / c) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, z, (b - (c * z)));+ };+ };+ }+ else+ {+ if((b < 0))+ {+ if((c > 0))+ {+ var A = ((b + 1) | 0);+ var B = ((A / c) | 0);+ var C = B;+ var D = (A - (c * B));+ var E = ((D + c) | 0);+ var F = ((E - 1) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, ((C - 1) | 0), F);+ }+ else+ {+ var G = ((b / c) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, G, (b - (c * G)));+ };+ }+ else+ {+ var H = ((b / c) | 0);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, H, (b - (c * H)));+ };+ };+ };+ return h$stack[h$sp];+};+function h$$qg()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$qh);+ return h$e(b);+};+function h$baseZCGHCziRealzizdfIntegralIntzuzdcdivMod_e()+{+ h$p2(h$r3, h$$qg);+ return h$e(h$r2);+};+function h$$qi()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypezismallInteger);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziRealzizdfIntegralIntzuzdctoInteger_e()+{+ h$p1(h$$qi);+ return h$e(h$r2);+};+function h$$qk()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c2(h$baseZCGHCziRealziZCzv_con_e, a, h$baseZCGHCziRealzizdfEnumRatio1);+ return h$stack[h$sp];+};+function h$$qj()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$qk);+ h$l2(a, h$integerzmgmpZCGHCziIntegerziTypezismallInteger);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziRealzizdfEnumRatiozuzdctoRational_e()+{+ h$p1(h$$qj);+ return h$e(h$r2);+};+function h$$qp()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = b;+ h$r2 = a;+ return h$stack[h$sp];+};+function h$$qo()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(a, h$$qp);+ h$l3(b, c, h$integerzmgmpZCGHCziIntegerziTypeziquotInteger);+ return h$ap_2_2_fast();+};+function h$$qn()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$r1 = h$baseZCGHCziRealzidivZZeroError;+ return h$ap_0_0_fast();+ }+ else+ {+ h$pp5(c, h$$qo);+ h$l3(c, b, h$integerzmgmpZCGHCziIntegerziTypeziquotInteger);+ return h$ap_2_2_fast();+ };+};+function h$$qm()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp12(a, h$$qn);+ h$l3(h$baseZCGHCziRealzieven1, a, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+};+function h$$ql()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$r1 = h$baseZCGHCziRealziratioZZeroDenominatorError;+ return h$ap_0_0_fast();+ }+ else+ {+ h$pp4(h$$qm);+ h$l3(c, b, h$integerzmgmpZCGHCziIntegerziTypezigcdInteger);+ return h$ap_2_2_fast();+ };+};+function h$baseZCGHCziRealzizdwzdsreduce_e()+{+ var a = h$r3;+ h$p3(h$r2, h$r3, h$$ql);+ h$l3(h$baseZCGHCziRealzieven1, a, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziRealziDZCFractional_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziRealziDZCFractional_e()+{+ h$r1 = h$c4(h$baseZCGHCziRealziDZCFractional_con_e, h$r2, h$r3, h$r4, h$r5);+ return h$stack[h$sp];+};+function h$baseZCGHCziRealziDZCIntegral_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziRealziDZCIntegral_e()+{+ h$r1 = h$c9(h$baseZCGHCziRealziDZCIntegral_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$r9, h$r10);+ return h$stack[h$sp];+};+function h$baseZCGHCziRealziDZCReal_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziRealziDZCReal_e()+{+ h$r1 = h$c3(h$baseZCGHCziRealziDZCReal_con_e, h$r2, h$r3, h$r4);+ return h$stack[h$sp];+};+function h$baseZCGHCziRealziZCzv_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziRealziZCzv_e()+{+ h$r1 = h$c2(h$baseZCGHCziRealziZCzv_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$$qr()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$baseZCGHCziRealziZCzv_con_e, b, a);+ return h$stack[h$sp];+};+function h$$qq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$qr);+ h$r1 = b;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziRealzizdWZCzv_e()+{+ h$p2(h$r3, h$$qq);+ h$r1 = h$r2;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziRealzioverflowError_e()+{+ h$bh();+ return h$throw(h$baseZCGHCziExceptionzioverflowException, false);+};+function h$baseZCGHCziRealziratioZZeroDenominatorError_e()+{+ h$bh();+ return h$throw(h$baseZCGHCziExceptionziratioZZeroDenomException, false);+};+function h$baseZCGHCziRealzidivZZeroError_e()+{+ h$bh();+ return h$throw(h$baseZCGHCziExceptionzidivZZeroException, false);+};+function h$$qs()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziRealzizs_e()+{+ h$p1(h$$qs);+ return h$e(h$r2);+};+function h$$qt()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d8;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziRealzitoInteger_e()+{+ h$p1(h$$qt);+ return h$e(h$r2);+};+function h$$qu()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCGHCziRealzitoInteger);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziRealzifromIntegral_e()+{+ h$p2(h$c2(h$$qu, h$r2, h$r4), h$ap_1_1);+ h$l2(h$r3, h$baseZCGHCziNumzifromInteger);+ return h$baseZCGHCziNumzifromInteger_e;+};+function h$$qy()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdcreturn, a, h$baseZCGHCziReadzizdfReadDoublezuzdsconvertFrac,+ h$baseZCGHCziReadzizdfReadDouble10);+ return h$ap_3_3_fast();+};+function h$baseZCGHCziReadzizdfReadDoublezuzdcreadsPrec_e()+{+ h$l2(h$c1(h$$qy, h$r2), h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziReadzizdfReadDouble11_e()+{+ h$bh();+ h$l3(h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdcreturn, h$baseZCGHCziReadzizdfReadDouble2,+ h$baseZCGHCziReadzizdwa);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziReadzizdfReadDoublezuzdsreadListDefault_e()+{+ h$l3(h$r2, h$baseZCGHCziReadzizdfReadDouble11, h$baseZCTextziParserCombinatorsziReadPzirun);+ return h$ap_2_2_fast();+};+function h$$qQ()+{+ var a = h$r1;+ --h$sp;+ h$r1 = -a;+ return h$stack[h$sp];+};+function h$$qP()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$qQ);+ return h$e(a);+};+function h$$qO()+{+ h$l2(h$c1(h$$qP, h$r2), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$$qN()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$r4 = b.d2;+ h$r3 = c;+ h$r1 = a;+ return h$ap_3_3_fast();+};+function h$$qM()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCTextziReadziLexziexpect2);+ return h$ap_1_1_fast();+};+function h$$qL()+{+ return h$e(h$r1.d1);+};+function h$$qK()+{+ h$r3 = h$r1.d1;+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip;+ return h$ap_2_2_fast();+};+function h$$qJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ if((a.f.a === 1))+ {+ h$r1 = e;+ }+ else+ {+ h$l4(d, c, f, b);+ return h$ap_3_3_fast();+ };+ return h$stack[h$sp];+};+function h$$qI()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ var c = h$stack[(h$sp - 5)];+ var d = h$stack[(h$sp - 4)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 7;+ var g = a;+ if((g === 45))+ {+ h$pp32(h$$qJ);+ return h$e(f);+ }+ else+ {+ h$l4(d, c, e, b);+ return h$ap_3_3_fast();+ };+};+function h$$qH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 6;+ if((a.f.a === 1))+ {+ h$l4(d, c, e, b);+ return h$ap_3_3_fast();+ }+ else+ {+ var f = a.d1;+ h$pp96(a.d2, h$$qI);+ return h$e(f);+ };+};+function h$$qG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ h$sp -= 5;+ if((a.f.a === 5))+ {+ h$pp48(a, h$$qH);+ return h$e(a.d1);+ }+ else+ {+ h$l4(d, c, a, b);+ return h$ap_3_3_fast();+ };+};+function h$$qF()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$p5(a, c, d, b.d3, h$$qG);+ return h$e(h$r2);+};+function h$$qE()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCTextziReadziLexziexpect2);+ return h$ap_1_1_fast();+};+function h$$qD()+{+ return h$e(h$r1.d1);+};+function h$$qC()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$qB()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p1(h$$qC);+ h$l3(b, a, h$baseZCGHCziReadzizdwa3);+ return h$ap_2_2_fast();+};+function h$$qA()+{+ h$r3 = h$r1.d1;+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip;+ return h$ap_2_2_fast();+};+function h$$qz()+{+ var a = h$r1.d1;+ var b = h$r3;+ var c = h$c1(h$$qE, h$c4(h$$qF, a, h$r2, h$r3, h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c1(h$$qK,+ h$c1(h$$qL, h$c1(h$$qM, h$c3(h$$qN, a, h$r2, h$c1(h$$qO, b))))))));+ h$l3(h$c2(h$$qB, h$r1.d2, h$r3), h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c1(h$$qA, h$c1(h$$qD, c))),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziReadzizdfReadDouble10_e()+{+ var a = h$r3;+ var b = h$r4;+ var c = h$c(h$$qz);+ c.d1 = h$r2;+ c.d2 = c;+ h$l3(b, a, c);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziReadzizdfReadDouble9_e()+{+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ return h$stack[h$sp];+};+var h$baseZCGHCziReadzizdfReadDouble8 = h$strta("Infinity");+var h$baseZCGHCziReadzizdfReadDouble7 = h$strta("NaN");+function h$baseZCGHCziReadzizdfReadDouble6_e()+{+ h$bh();+ h$r1 = NaN;+ return h$stack[h$sp];+};+function h$baseZCGHCziReadzizdfReadDouble5_e()+{+ h$l2(h$baseZCGHCziReadzizdfReadDouble6, h$r3);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziReadzizdfReadDouble4_e()+{+ h$bh();+ h$r1 = Infinity;+ return h$stack[h$sp];+};+function h$baseZCGHCziReadzizdfReadDouble3_e()+{+ h$l2(h$baseZCGHCziReadzizdfReadDouble4, h$r3);+ return h$ap_1_1_fast();+};+function h$$qX()+{+ var a = h$r1;+ --h$sp;+ if(a)+ {+ h$r1 = h$baseZCGHCziReadzizdfReadDouble5;+ return h$ap_0_0_fast();+ }+ else+ {+ h$r1 = h$baseZCGHCziReadzizdfReadDouble9;+ return h$ap_0_0_fast();+ };+};+function h$$qW()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if(a)+ {+ h$r1 = h$baseZCGHCziReadzizdfReadDouble3;+ return h$ap_0_0_fast();+ }+ else+ {+ h$p1(h$$qX);+ h$l3(h$baseZCGHCziReadzizdfReadDouble7, b, h$baseZCGHCziBasezieqString);+ return h$ap_2_2_fast();+ };+};+function h$$qV()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$l3(a.d2, b, h$baseZCGHCziFloatzirationalToDouble);+ return h$baseZCGHCziFloatzirationalToDouble_e;+};+function h$$qU()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$qV);+ return h$e(a);+};+function h$$qT()+{+ h$l2(h$r1.d1, h$r3);+ return h$ap_1_1_fast();+};+function h$$qS()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCGHCziReadzizdfReadDouble3;+ return h$ap_0_0_fast();+ }+ else+ {+ h$r1 = h$c1(h$$qT, h$c1(h$$qU, a.d1));+ };+ return h$stack[h$sp];+};+function h$$qR()+{+ var a = h$r1;+ --h$sp;+ switch (a.f.a)+ {+ case (4):+ var b = a.d1;+ h$p2(b, h$$qW);+ h$l3(h$baseZCGHCziReadzizdfReadDouble8, b, h$baseZCGHCziBasezieqString);+ return h$ap_2_2_fast();+ case (6):+ h$p1(h$$qS);+ h$l4(a.d1, h$baseZCGHCziFloatzizdfRealFloatDouble2, h$baseZCGHCziFloatzizdfRealFloatDouble3,+ h$baseZCTextziReadziLexzizdwnumberToRangedRational);+ return h$baseZCTextziReadziLexzizdwnumberToRangedRational_e;+ default:+ h$r1 = h$baseZCGHCziReadzizdfReadDouble9;+ return h$ap_0_0_fast();+ };+};+function h$baseZCGHCziReadzizdfReadDoublezuzdsconvertFrac_e()+{+ h$p1(h$$qR);+ return h$e(h$r2);+};+function h$baseZCGHCziReadzizdfReadDouble2_e()+{+ h$l4(h$r3, h$r2, h$baseZCGHCziReadzizdfReadDoublezuzdsconvertFrac, h$baseZCGHCziReadzizdfReadDouble10);+ return h$ap_3_3_fast();+};+function h$baseZCGHCziReadzizdfReadDouble1_e()+{+ h$l2(h$baseZCGHCziReadzizdfReadDouble2, h$baseZCGHCziReadzizdwa);+ return h$ap_2_2_fast();+};+function h$$rc()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$rb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if(a)+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$ra()+{+ var a = h$r1;+ h$sp -= 2;+ if((a.f.a === 3))+ {+ h$pp2(h$$rb);+ h$l3(h$baseZCGHCziReadzizdfReadZLZR10, a.d1, h$baseZCGHCziBasezieqString);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$q9()+{+ h$p2(h$r1.d1, h$$ra);+ return h$e(h$r2);+};+function h$$q8()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(h$c1(h$$q9, h$c2(h$$rc, a, b)), h$baseZCTextziReadziLexziexpect2);+ return h$ap_1_1_fast();+};+function h$$q7()+{+ return h$e(h$r1.d1);+};+function h$$q6()+{+ h$r3 = h$r1.d1;+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip;+ return h$ap_2_2_fast();+};+function h$$q5()+{+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c1(h$$q6, h$c1(h$$q7, h$c2(h$$q8, h$r1.d1, h$r2))));+ return h$stack[h$sp];+};+function h$$q4()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(h$c1(h$$q5, b), h$baseZCTextziParserCombinatorsziReadPrecziminPrec, a);+ return h$ap_2_2_fast();+};+function h$$q3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if(a)+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$q2()+{+ var a = h$r1;+ h$sp -= 2;+ if((a.f.a === 3))+ {+ h$pp2(h$$q3);+ h$l3(h$baseZCGHCziReadzizdfReadZLZR12, a.d1, h$baseZCGHCziBasezieqString);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$q1()+{+ h$p2(h$r1.d1, h$$q2);+ return h$e(h$r2);+};+function h$$q0()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(h$c1(h$$q1, h$c2(h$$q4, a, b)), h$baseZCTextziReadziLexziexpect2);+ return h$ap_1_1_fast();+};+function h$$qZ()+{+ return h$e(h$r1.d1);+};+function h$$qY()+{+ h$r3 = h$r1.d1;+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip;+ return h$ap_2_2_fast();+};+function h$baseZCGHCziReadzizdwa3_e()+{+ h$r1 = h$c1(h$$qY, h$c1(h$$qZ, h$c2(h$$q0, h$r2, h$r3)));+ return h$stack[h$sp];+};+function h$$rG()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$rF()+{+ var a = h$r1.d1;+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d2, h$r2), a);+ return h$ap_1_1_fast();+};+function h$$rE()+{+ var a = h$r1.d1;+ h$l3(h$c2(h$$rF, h$r1.d2, h$r2), true, a);+ return h$ap_2_2_fast();+};+function h$$rD()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(h$c2(h$$rE, c, b.d2), h$baseZCTextziParserCombinatorsziReadPrecziminPrec, a);+ return h$ap_2_2_fast();+};+function h$$rC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if(a)+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$rB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$p2(c, h$$rC);+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$rA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$rz()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ switch (a)+ {+ case (44):+ h$pp6(c, h$$rB);+ return h$e(d);+ case (93):+ h$p2(b, h$$rA);+ return h$e(d);+ default:+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$ry()+{+ var a = h$r1;+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ }+ else+ {+ var b = a.d1;+ h$pp24(a.d2, h$$rz);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$rx()+{+ var a = h$r1;+ h$sp -= 4;+ if((a.f.a === 3))+ {+ h$pp8(h$$ry);+ return h$e(a.d1);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$rw()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p4(a, c, b.d2, h$$rx);+ return h$e(h$r2);+};+function h$$rv()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCTextziReadziLexziexpect2);+ return h$ap_1_1_fast();+};+function h$$ru()+{+ return h$e(h$r1.d1);+};+function h$$rt()+{+ h$r3 = h$r1.d1;+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip;+ return h$ap_2_2_fast();+};+function h$$rs()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = h$r3;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c1(h$$rt, h$c1(h$$ru, h$c1(h$$rv, h$c3(h$$rw, h$r2,+ h$c1(h$$rG, c), h$c3(h$$rD, a, b, c))))));+ return h$stack[h$sp];+};+function h$$rr()+{+ h$l2(h$r3, h$r1.d1);+ return h$ap_1_1_fast();+};+function h$$rq()+{+ var a = h$r1.d1;+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d2, h$r2), a);+ return h$ap_1_1_fast();+};+function h$$rp()+{+ var a = h$r1.d1;+ h$l3(h$c2(h$$rq, h$r1.d2, h$r2), true, a);+ return h$ap_2_2_fast();+};+function h$$ro()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(h$c2(h$$rp, c, b.d2), h$baseZCTextziParserCombinatorsziReadPrecziminPrec, a);+ return h$ap_2_2_fast();+};+function h$$rn()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$$rm()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$p2(h$c3(h$$ro, a, c, d), h$$rn);+ h$l3(d, false, c);+ return h$ap_2_2_fast();+};+function h$$rl()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if(a)+ {+ return h$e(b);+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$rk()+{+ var a = h$r1;+ h$sp -= 2;+ if((a.f.a === 3))+ {+ h$pp2(h$$rl);+ h$l3(h$$rI, a.d1, h$baseZCGHCziBasezieqString);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziFail;+ };+ return h$stack[h$sp];+};+function h$$rj()+{+ h$p2(h$r1.d1, h$$rk);+ return h$e(h$r2);+};+function h$$ri()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l2(h$c1(h$$rj, h$c3(h$$rm, a, c, b.d2)), h$baseZCTextziReadziLexziexpect2);+ return h$ap_1_1_fast();+};+function h$$rh()+{+ return h$e(h$r1.d1);+};+function h$$rg()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, a);+ return h$stack[h$sp];+};+function h$$rf()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p1(h$$rg);+ h$l3(b, a, h$baseZCGHCziReadzizdwa3);+ return h$ap_2_2_fast();+};+function h$$re()+{+ h$r3 = h$r1.d1;+ h$r1 = h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip;+ return h$ap_2_2_fast();+};+function h$$rd()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = h$c3(h$$ri, a, b.d1, h$r2);+ h$l3(h$c2(h$$rf, b.d2, h$r2), h$c1(h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$c1(h$$re, h$c1(h$$rh, c))),+ h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziReadzizdwa_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$c(h$$rs);+ c.d1 = h$r2;+ c.d2 = c;+ var d = h$c(h$$rr);+ var e = h$c(h$$rd);+ d.d1 = e;+ e.d1 = a;+ e.d2 = h$d2(c, d);+ h$l2(b, e);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziReadziDZCRead_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziReadziDZCRead_e()+{+ h$r1 = h$c4(h$baseZCGHCziReadziDZCRead_con_e, h$r2, h$r3, h$r4, h$r5);+ return h$stack[h$sp];+};+function h$baseZCGHCziPtrziPtr_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziPtrziPtr_e()+{+ h$r1 = h$c2(h$baseZCGHCziPtrziPtr_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$$rK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = ((b + c) | 0);+ return h$stack[h$sp];+};+function h$$rJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$rK);+ return h$e(b);+};+function h$baseZCGHCziNumzizdfNumIntzuzdczp_e()+{+ h$p2(h$r3, h$$rJ);+ return h$e(h$r2);+};+function h$$rM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$mulInt32(b, a);+ return h$stack[h$sp];+};+function h$$rL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$rM);+ return h$e(b);+};+function h$baseZCGHCziNumzizdfNumIntzuzdczt_e()+{+ h$p2(h$r3, h$$rL);+ return h$e(h$r2);+};+function h$$rO()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = ((b - c) | 0);+ return h$stack[h$sp];+};+function h$$rN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$rO);+ return h$e(b);+};+function h$baseZCGHCziNumzizdfNumIntzuzdczm_e()+{+ h$p2(h$r3, h$$rN);+ return h$e(h$r2);+};+function h$$rP()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ h$r1 = (-b | 0);+ return h$stack[h$sp];+};+function h$baseZCGHCziNumzizdfNumIntzuzdcnegate_e()+{+ h$p1(h$$rP);+ return h$e(h$r2);+};+function h$$rQ()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((b >= 0))+ {+ h$r1 = a;+ }+ else+ {+ h$r1 = (-b | 0);+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziNumzizdfNumIntzuzdcabs_e()+{+ h$p1(h$$rQ);+ return h$e(h$r2);+};+function h$$rR()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((b < 0))+ {+ return h$e(h$baseZCGHCziNumzizdfNumInt1);+ }+ else+ {+ var c = b;+ if((c === 0))+ {+ return h$e(h$baseZCGHCziNumzizdfNumInt2);+ }+ else+ {+ return h$e(h$baseZCGHCziNumzizdfNumInt3);+ };+ };+};+function h$baseZCGHCziNumzizdfNumIntzuzdcsignum_e()+{+ h$p1(h$$rR);+ return h$e(h$r2);+};+function h$$rS()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$baseZCGHCziNumzizdfNumIntzuzdcfromInteger_e()+{+ h$p1(h$$rS);+ h$r1 = h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt;+ return h$ap_1_1_fast();+};+function h$baseZCGHCziNumziDZCNum_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziNumziDZCNum_e()+{+ h$r1 = h$c7(h$baseZCGHCziNumziDZCNum_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8);+ return h$stack[h$sp];+};+function h$$rT()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziNumzizt_e()+{+ h$p1(h$$rT);+ return h$e(h$r2);+};+function h$$rU()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziNumzizp_e()+{+ h$p1(h$$rU);+ return h$e(h$r2);+};+function h$$rV()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d6;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziNumzifromInteger_e()+{+ h$p1(h$$rV);+ return h$e(h$r2);+};+function h$baseZCGHCziMVarziMVar_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziMVarziMVar_e()+{+ h$r1 = h$c1(h$baseZCGHCziMVarziMVar_con_e, h$r2);+ return h$stack[h$sp];+};+function h$$rW()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$$sE;+ return h$ap_0_0_fast();+ }+ else+ {+ var c = a.d1;+ var d = a.d2;+ var e = b;+ if((e === 0))+ {+ h$r1 = c;+ return h$ap_0_0_fast();+ }+ else+ {+ h$l3(((e - 1) | 0), d, h$baseZCGHCziListziznznzusub);+ return h$ap_2_2_fast();+ };+ };+};+function h$baseZCGHCziListziznznzusub_e()+{+ h$p2(h$r3, h$$rW);+ return h$e(h$r2);+};+function h$$rY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$r1 = true;+ }+ else+ {+ h$l4(d, c, b, h$baseZCGHCziListzielem);+ return h$ap_3_3_fast();+ };+ return h$stack[h$sp];+};+function h$$rX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = false;+ }+ else+ {+ var d = a.d1;+ h$pp12(a.d2, h$$rY);+ h$p3(d, c, h$ap_2_2);+ h$l2(b, h$ghczmprimZCGHCziClasseszizeze);+ return h$ghczmprimZCGHCziClasseszizeze_e;+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziListzielem_e()+{+ h$p3(h$r2, h$r3, h$$rX);+ return h$e(h$r4);+};+function h$$r0()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$l3(c, b, h$baseZCGHCziListziall);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = false;+ };+ return h$stack[h$sp];+};+function h$$rZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = true;+ }+ else+ {+ var c = a.d1;+ h$pp6(a.d2, h$$r0);+ h$l2(c, b);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziListziall_e()+{+ h$p2(h$r2, h$$rZ);+ return h$e(h$r3);+};+function h$$r8()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, a, b);+ return h$stack[h$sp];+};+function h$$r7()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p1(h$$r8);+ h$l3(b, a, h$baseZCGHCziListzizdwbreak);+ return h$ap_2_2_fast();+};+function h$$r6()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d2);+};+function h$$r5()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$r6);+ return h$e(a);+};+function h$$r4()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$$r3()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$r4);+ return h$e(a);+};+function h$$r2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if(a)+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ h$r2 = c;+ }+ else+ {+ var f = h$c2(h$$r7, b, e);+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, d, h$c1(h$$r3, f));+ h$r2 = h$c1(h$$r5, f);+ };+ return h$stack[h$sp];+};+function h$$r1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ h$r2 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var c = a.d1;+ h$pp30(a, c, a.d2, h$$r2);+ h$l2(c, b);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziListzizdwbreak_e()+{+ h$p2(h$r2, h$$r1);+ return h$e(h$r3);+};+function h$$sg()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, a, b);+ return h$stack[h$sp];+};+function h$$sf()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p1(h$$sg);+ h$l3(b, a, h$baseZCGHCziListzizdwspan);+ return h$ap_2_2_fast();+};+function h$$se()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d2);+};+function h$$sd()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$se);+ return h$e(a);+};+function h$$sc()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$$sb()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$sc);+ return h$e(a);+};+function h$$sa()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if(a)+ {+ var f = h$c2(h$$sf, b, e);+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, d, h$c1(h$$sb, f));+ h$r2 = h$c1(h$$sd, f);+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ h$r2 = c;+ };+ return h$stack[h$sp];+};+function h$$r9()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ h$r2 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var c = a.d1;+ h$pp30(a, c, a.d2, h$$sa);+ h$l2(c, b);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziListzizdwspan_e()+{+ h$p2(h$r2, h$$r9);+ return h$e(h$r3);+};+function h$$si()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$l3(d, b, h$baseZCGHCziListzidropWhile);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = c;+ };+ return h$stack[h$sp];+};+function h$$sh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var c = a.d1;+ h$pp14(a, a.d2, h$$si);+ h$l2(c, b);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziListzidropWhile_e()+{+ h$p2(h$r2, h$$sh);+ return h$e(h$r3);+};+function h$$sj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = b;+ }+ else+ {+ var c = a.d2;+ h$l3(((b + 1) | 0), c, h$baseZCGHCziListzizdwlenAcc);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziListzizdwlenAcc_e()+{+ h$p2(h$r3, h$$sj);+ return h$e(h$r2);+};+function h$$su()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l4(b.d2, c, a, h$baseZCGHCziListzizzipWith);+ return h$ap_3_3_fast();+};+function h$$st()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(b.d2, c, a);+ return h$ap_2_2_fast();+};+function h$$ss()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var e = a.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c3(h$$st, b, c, e), h$c3(h$$su, b, d, a.d2));+ };+ return h$stack[h$sp];+};+function h$$sr()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var c = a.d1;+ h$pp14(c, a.d2, h$$ss);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$sq()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(b.d2, c, a);+ return h$ap_2_2_fast();+};+function h$$sp()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ if((a.f.a === 1))+ {+ h$r1 = c;+ return h$ap_0_0_fast();+ }+ else+ {+ var g = a.d1;+ h$l4(h$c3(h$$sq, d, f, a.d2), g, e, b);+ return h$ap_3_3_fast();+ };+};+function h$$so()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if((a.f.a === 1))+ {+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ var d = a.d1;+ h$pp56(d, a.d2, h$$sp);+ return h$e(c);+ };+};+function h$$sn()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p5(a, c, b.d2, h$r3, h$$so);+ return h$e(h$r2);+};+function h$$sm()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCGHCziListzizzip);+ return h$ap_2_2_fast();+};+function h$$sl()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var d = a.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, b, d), h$c2(h$$sm, c, a.+ d2));+ };+ return h$stack[h$sp];+};+function h$$sk()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var c = a.d1;+ h$p3(c, a.d2, h$$sl);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziListzizzipWith_e()+{+ h$p3(h$r2, h$r4, h$$sr);+ return h$e(h$r3);+};+function h$baseZCGHCziListzifoldr2_e()+{+ var a = h$r3;+ var b = h$r4;+ var c = h$r5;+ var d = h$c(h$$sn);+ d.d1 = h$r2;+ d.d2 = h$d2(a, d);+ h$l3(c, b, d);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziListzizzip_e()+{+ h$p2(h$r3, h$$sk);+ return h$e(h$r2);+};+function h$$sy()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$l3(d, c, b);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = d;+ return h$ap_0_0_fast();+ };+};+function h$$sx()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCGHCziListzifilter);+ return h$ap_2_2_fast();+};+function h$$sw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, c, h$c2(h$$sx, b, d));+ }+ else+ {+ h$l3(d, b, h$baseZCGHCziListzifilter);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$sv()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var c = a.d1;+ h$pp14(c, a.d2, h$$sw);+ h$l2(c, b);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziListzifilterFB_e()+{+ h$p4(h$r2, h$r4, h$r5, h$$sy);+ h$l2(h$r4, h$r3);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziListzifilter_e()+{+ h$p2(h$r2, h$$sv);+ return h$e(h$r3);+};+var h$$sC = h$strta("Prelude.cycle: empty list");+var h$$sD = h$strta("Prelude.(!!): negative index\n");+function h$$sz()+{+ h$bh();+ h$l2(h$$sF, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+var h$$sF = h$strta("Prelude.(!!): index too large\n");+function h$baseZCGHCziListzicycle1_e()+{+ h$bh();+ h$l2(h$$sC, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziListziznzn1_e()+{+ h$bh();+ h$l2(h$$sD, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+function h$$sB()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$sA()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ return h$e(h$baseZCGHCziListzicycle1);+ }+ else+ {+ var b = h$c(h$$sB);+ b.d1 = a;+ b.d2 = b;+ return h$e(b);+ };+};+function h$baseZCGHCziListzicycle_e()+{+ h$p1(h$$sA);+ return h$e(h$r2);+};+function h$$sH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a.d1;+ var e = h$hs_eqInt64(b, c, d, a.d2);+ h$r1 = (e ? true : false);+ return h$stack[h$sp];+};+function h$$sG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$p3(c, a.d2, h$$sH);+ return h$e(b);+};+function h$baseZCGHCziIntzizdfEqInt64zuzdczeze_e()+{+ h$p2(h$r3, h$$sG);+ return h$e(h$r2);+};+function h$baseZCGHCziIntziI32zh_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIntziI32zh_e()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$baseZCGHCziIntziI64zh_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIntziI64zh_e()+{+ h$r1 = h$c2(h$baseZCGHCziIntziI64zh_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+var h$baseZCGHCziIOziHandleziTypeszishowHandle2 = h$strta("{handle: ");+function h$baseZCGHCziIOziHandleziTypesziNewlineMode_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziNewlineMode_e()+{+ h$r1 = h$c2(h$baseZCGHCziIOziHandleziTypesziNewlineMode_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziFileHandle_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziFileHandle_e()+{+ h$r1 = h$c2(h$baseZCGHCziIOziHandleziTypesziFileHandle_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$$sI()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$baseZCGHCziIOziHandleziTypesziFileHandle_con_e, b, a.d1);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypeszizdWFileHandle_e()+{+ h$p2(h$r2, h$$sI);+ return h$e(h$r3);+};+function h$baseZCGHCziIOziHandleziTypesziHandlezuzu_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziHandlezuzu_e()+{+ h$r1 = h$c16(h$baseZCGHCziIOziHandleziTypesziHandlezuzu_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$r9, h$r10,+ h$r11, h$r12, h$r13, h$r14, h$r15, h$r16, h$r17);+ return h$stack[h$sp];+};+function h$$sN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 15)];+ var c = h$stack[(h$sp - 14)];+ var d = h$stack[(h$sp - 13)];+ var e = h$stack[(h$sp - 12)];+ var f = h$stack[(h$sp - 11)];+ var g = h$stack[(h$sp - 10)];+ var h = h$stack[(h$sp - 9)];+ var i = h$stack[(h$sp - 8)];+ var j = h$stack[(h$sp - 7)];+ var k = h$stack[(h$sp - 6)];+ var l = h$stack[(h$sp - 5)];+ var m = h$stack[(h$sp - 4)];+ var n = h$stack[(h$sp - 3)];+ var o = h$stack[(h$sp - 2)];+ var p = h$stack[(h$sp - 1)];+ h$sp -= 16;+ h$r1 = h$c16(h$baseZCGHCziIOziHandleziTypesziHandlezuzu_con_e, b, c, d, f, e, h, g, i, j, a.d1, k, l, m, n, o, p);+ return h$stack[h$sp];+};+function h$$sM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ h$sp -= 16;+ var c = a.d1;+ h$sp += 16;+ h$stack[(h$sp - 7)] = c;+ h$stack[h$sp] = h$$sN;+ return h$e(b);+};+function h$$sL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 8)];+ h$sp -= 16;+ var c = a.d1;+ h$sp += 16;+ h$stack[(h$sp - 8)] = c;+ h$stack[h$sp] = h$$sM;+ return h$e(b);+};+function h$$sK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 9)];+ h$sp -= 16;+ var c = a.d1;+ h$sp += 16;+ h$stack[(h$sp - 9)] = c;+ h$stack[h$sp] = h$$sL;+ return h$e(b);+};+function h$$sJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 11)];+ h$sp -= 16;+ h$sp += 16;+ h$stack[(h$sp - 11)] = a;+ h$stack[h$sp] = h$$sK;+ return h$e(b);+};+function h$baseZCGHCziIOziHandleziTypeszizdWHandlezuzu_e()+{+ h$p16(h$r2, h$r3, h$r4, h$r6, h$r7, h$r8, h$r9, h$r10, h$r11, h$r12, h$r13, h$r14, h$r15, h$r16, h$r17, h$$sJ);+ h$r1 = h$r5;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziHandleziTypesziLF_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziBlockBuffering_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziBlockBuffering_e()+{+ h$r1 = h$c1(h$baseZCGHCziIOziHandleziTypesziBlockBuffering_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziLineBuffering_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziNoBuffering_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziWriteHandle_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziTypesziBufferListNil_con_e()+{+ return h$stack[h$sp];+};+function h$$sW()+{+ var a = h$stack[(h$sp - 4)];+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$l5(d, c, b, a, h$baseZCGHCziIOziHandleziInternalszizdwa2);+ return h$ap_gen_fast(1029);+};+function h$$sV()+{+ var a = h$stack[(h$sp - 5)];+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 10;+ if(h$hs_eqWord64(b, c, (-645907477), (-1617761578)))+ {+ if(h$hs_eqWord64(d, e, (-980415011), (-840439589)))+ {+ h$pp16(h$$sW);+ return h$killThread(h$currentThread, a);+ }+ else+ {+ return h$throw(a, false);+ };+ }+ else+ {+ return h$throw(a, false);+ };+};+function h$$sU()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$sT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ var c = h$stack[(h$sp - 5)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 7;+ var e = a.d1;+ var f = a.d2;+ var g = f.d1;+ var h = f.d2;+ var i = f.d3;+ if(h$hs_eqWord64(e, g, 1685460941, (-241344014)))+ {+ if(h$hs_eqWord64(h, i, (-1787550655), (-601376313)))+ {+ h$p1(h$$sU);+ h$l4(c, b, d, h$baseZCGHCziIOziHandleziInternalsziaugmentIOError);+ return h$ap_3_3_fast();+ }+ else+ {+ h$sp += 9;+ h$stack[(h$sp - 3)] = e;+ h$stack[(h$sp - 2)] = g;+ h$stack[(h$sp - 1)] = h;+ h$stack[h$sp] = i;+ ++h$sp;+ return h$$sV;+ };+ }+ else+ {+ h$sp += 9;+ h$stack[(h$sp - 3)] = e;+ h$stack[(h$sp - 2)] = g;+ h$stack[(h$sp - 1)] = h;+ h$stack[h$sp] = i;+ ++h$sp;+ return h$$sV;+ };+};+function h$$sS()+{+ var a = h$r1;+ h$sp -= 5;+ var b = a.d1;+ h$pp112(a, a.d2, h$$sT);+ ++h$sp;+ h$stack[h$sp] = h$ap_1_0;+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$$sR()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 6;+ h$pp16(h$$sS);+ return h$e(a);+};+function h$$sQ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ h$p6(a, c, d, e, h$r2, h$$sR);+ return h$putMVar(e, b.d4);+};+function h$$sP()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$sO()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ return h$catch(h$c2(h$$sP, d, a), h$c5(h$$sQ, b, c, d, e, a));+};+function h$baseZCGHCziIOziHandleziInternalszizdwa2_e()+{+ h$p5(h$r2, h$r3, h$r4, h$r5, h$$sO);+ return h$takeMVar(h$r5);+};+var h$$um = h$strta("codec_state");+var h$$un = h$strta("handle is finalized");+var h$$uo = h$strta("handle is not open for writing");+function h$$s1()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$s0()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$p2(a.d2, h$$s1);+ return h$putMVar(b, c);+};+function h$$sZ()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$s0);+ return h$e(a);+};+function h$$sY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d1;+ h$p2(e, h$$sZ);+ h$l5(e, d, c, b, h$baseZCGHCziIOziHandleziInternalszizdwa2);+ return h$ap_gen_fast(1029);+};+function h$$sX()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$p4(a, c, b.d3, h$$sY);+ return h$e(d);+};+function h$baseZCGHCziIOziHandleziInternalsziwithHandlezq1_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ var e = h$maskStatus();+ var f = h$c4(h$$sX, a, b, c, d);+ var g = e;+ if((g === 0))+ {+ return h$maskAsync(f);+ }+ else+ {+ h$r1 = f;+ return h$ap_1_0_fast();+ };+};+function h$$tw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, b, a);+ return h$stack[h$sp];+};+function h$$tv()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ var e = c.d2;+ var f = c.d4;+ var g = c.d5;+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, d, e, h$baseZCGHCziIOziBufferziWriteBuffer, f, g, c.d6);+ return h$stack[h$sp];+};+function h$$tu()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$tv);+ return h$e(a);+};+function h$$tt()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, b, a);+ return h$stack[h$sp];+};+function h$$ts()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ d.val = a;+ h$p2(c, h$$tt);+ h$l2(c, b);+ return h$ap_2_1_fast();+};+function h$$tr()+{+ var a = h$stack[(h$sp - 4)];+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 7;+ a.val = h$c1(h$$tu, a.val);+ h$pp12(d, h$$ts);+ h$p3(d.val, c, h$ap_3_2);+ h$l2(b, h$baseZCGHCziIOziBufferedIOziemptyWriteBuffer);+ return h$baseZCGHCziIOziBufferedIOziemptyWriteBuffer_e;+};+function h$$tq()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ var c = ((b - a) | 0);+ h$l2((-c | 0), h$integerzmgmpZCGHCziIntegerziTypezismallInteger);+ return h$ap_1_1_fast();+};+function h$$tp()+{+ var a = h$stack[(h$sp - 5)];+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var f = h$stack[h$sp];+ h$sp -= 6;+ f.val = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, c, d, e, a, 0, 0);+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ h$sp += 6;+ ++h$sp;+ return h$$tr;+};+function h$$to()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 8)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 9;+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ if(a)+ {+ var g = h$c2(h$$tq, d, e);+ h$sp += 6;+ h$pp33(c, h$$tp);+ h$p4(g, h$baseZCGHCziIOziDeviceziRelativeSeek, f, h$ap_4_3);+ h$l2(b, h$baseZCGHCziIOziDeviceziseek);+ return h$baseZCGHCziIOziDeviceziseek_e;+ }+ else+ {+ h$l2(h$baseZCGHCziIOziHandleziInternalsziflushBuffer3, h$baseZCGHCziIOziExceptionziioException);+ return h$ap_2_1_fast();+ };+};+function h$$tn()+{+ var a = h$r1;+ h$sp -= 9;+ h$sp -= 6;+ var b = a;+ h$sp += 6;+ h$sp += 9;+ h$stack[h$sp] = h$$to;+ return h$e(b);+};+function h$$tm()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var e = a.d1;+ var f = a.d2;+ var g = f.d1;+ var h = f.d2;+ var i = f.d3;+ var j = f.d4;+ var k = f.d5;+ var l = f.d6;+ if((k === l))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ h$sp += 6;+ h$stack[(h$sp - 3)] = d;+ ++h$sp;+ return h$$tr;+ }+ else+ {+ h$sp += 6;+ h$stack[(h$sp - 3)] = d;+ h$p9(b, e, g, h, i, j, k, l, h$$tn);+ h$p2(c, h$ap_2_1);+ h$l2(b, h$baseZCGHCziIOziDeviceziisSeekable);+ return h$baseZCGHCziIOziDeviceziisSeekable_e;+ };+};+function h$$tl()+{+ var a = h$stack[(h$sp - 2)];+ h$sp -= 8;+ h$pp128(h$$tm);+ return h$e(a.val);+};+function h$$tk()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ var e = c.d2;+ var f = c.d3;+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, d, e, f, c.d4, 0, 0);+ return h$stack[h$sp];+};+function h$$tj()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$tk);+ return h$e(a);+};+function h$$ti()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ var h = d.d4;+ var i = d.d5;+ var j = d.d6;+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, c, e, f, g, h, ((i + b) | 0), j);+ return h$stack[h$sp];+};+function h$$th()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(b, h$$ti);+ return h$e(a);+};+function h$$tg()+{+ var a = h$r1;+ --h$sp;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 7;+ b.val = a.d1;+ h$sp += 7;+ ++h$sp;+ return h$$tl;+};+function h$$tf()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 7;+ var b = a;+ h$sp += 7;+ h$p1(h$$tg);+ return h$e(b);+};+function h$$te()+{+ var a = h$stack[(h$sp - 8)];+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 9;+ h$sp -= 7;+ var i = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, d, e, f, g, 0, 0);+ h$sp += 7;+ h$p1(h$$tf);+ h$l5(i, c, h, b, h$baseZCGHCziIOziHandleziInternalszizdwa);+ return h$ap_gen_fast(1029);+};+function h$$td()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ h$sp -= 8;+ h$sp -= 7;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d4;+ h$sp += 7;+ h$sp += 9;+ h$stack[(h$sp - 7)] = c;+ h$stack[(h$sp - 1)] = e;+ h$stack[h$sp] = h$$te;+ h$l2(b, f);+ return h$ap_2_1_fast();+};+function h$$tc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var d = h$stack[(h$sp - 1)];+ h$sp -= 7;+ if((a.f.a === 1))+ {+ d.val = h$c2(h$$th, b, c);+ h$sp += 7;+ ++h$sp;+ return h$$tl;+ }+ else+ {+ var e = a.d1;+ h$sp += 7;+ h$pp128(h$$td);+ return h$e(e);+ };+};+function h$$tb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var d = h$stack[(h$sp - 1)];+ h$sp -= 7;+ var e = a.d1;+ var f = a.d2;+ var g = f.d1;+ var h = f.d2;+ var i = f.d3;+ var j = f.d5;+ if((j === 0))+ {+ d.val = c;+ h$sp += 7;+ ++h$sp;+ return h$$tl;+ }+ else+ {+ h$sp += 7;+ h$pp249(e, g, h, i, j, h$$tc);+ return h$e(b);+ };+};+function h$$ta()+{+ var a = h$r1;+ h$sp -= 2;+ var b = h$stack[h$sp];+ h$sp -= 7;+ var c = a.d1;+ var d = a.d2;+ var e = b.val;+ b.val = h$c1(h$$tj, e);+ h$sp += 7;+ h$pp14(c, d, h$$tb);+ return h$e(e);+};+function h$$s9()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$sp -= 7;+ if((a.f.a === 1))+ {+ if((d === e))+ {+ h$sp += 7;+ ++h$sp;+ return h$$tl;+ }+ else+ {+ var f = b.val;+ h$sp += 7;+ h$p2(c, h$$ta);+ return h$e(f);+ };+ }+ else+ {+ h$sp += 7;+ ++h$sp;+ return h$$tl;+ };+};+function h$$s8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ h$sp -= 10;+ var d = a.d2;+ var e = d.d3;+ var f = d.d5;+ h$pp64(c);+ h$pp29(b, f, d.d6, h$$s9);+ return h$e(e);+};+function h$$s7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, b, a);+ return h$stack[h$sp];+};+function h$$s6()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 9)];+ var c = h$stack[(h$sp - 8)];+ var d = h$stack[(h$sp - 2)];+ h$sp -= 10;+ if((a.f.a === 1))+ {+ var e = d.val;+ h$sp += 10;+ h$stack[h$sp] = h$$s8;+ return h$e(e);+ }+ else+ {+ h$p2(c, h$$s7);+ h$l2(c, b);+ return h$ap_2_1_fast();+ };+};+function h$$s5()+{+ var a = h$r1;+ h$sp -= 10;+ var b = a.d2;+ var c = b.d3;+ h$sp += 10;+ h$stack[h$sp] = h$$s6;+ return h$e(c);+};+function h$$s4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 9)];+ var c = h$stack[(h$sp - 8)];+ var d = h$stack[(h$sp - 2)];+ h$sp -= 10;+ switch (a.f.a)+ {+ case (1):+ h$l2(h$baseZCGHCziIOziHandleziInternalsziwantSeekableHandle3, h$baseZCGHCziIOziExceptionziioException);+ return h$ap_2_1_fast();+ case (2):+ h$l2(h$baseZCGHCziIOziHandleziInternalsziwantSeekableHandle3, h$baseZCGHCziIOziExceptionziioException);+ return h$ap_2_1_fast();+ case (3):+ h$l2(h$$up, h$baseZCGHCziIOziExceptionziioException);+ return h$ap_2_1_fast();+ case (6):+ var e = d.val;+ h$sp += 10;+ h$stack[h$sp] = h$$s5;+ return h$e(e);+ default:+ h$p2(c, h$$tw);+ h$l2(c, b);+ return h$ap_2_1_fast();+ };+};+function h$$s3()+{+ var a = h$r1;+ h$sp -= 2;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ var e = c.d3;+ var f = c.d4;+ var g = c.d5;+ var h = c.d7;+ var i = c.d8;+ var j = c.d11;+ h$sp += 10;+ h$stack[(h$sp - 8)] = a;+ h$stack[(h$sp - 7)] = b;+ h$stack[(h$sp - 6)] = d;+ h$stack[(h$sp - 5)] = e;+ h$stack[(h$sp - 4)] = g;+ h$stack[(h$sp - 3)] = h;+ h$stack[(h$sp - 2)] = i;+ h$stack[(h$sp - 1)] = j;+ h$stack[h$sp] = h$$s4;+ return h$e(f);+};+function h$$s2()+{+ h$p2(h$r1.d1, h$$s3);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle2_e()+{+ h$r5 = h$c1(h$$s2, h$r5);+ h$r1 = h$baseZCGHCziIOziHandleziInternalsziwithHandlezq1;+ return h$ap_gen_fast(1029);+};+function h$$tx()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$l5(c, h$c1(h$baseZCGHCziMVarziMVar_con_e, a.d2), a, b, h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle2);+ return h$ap_gen_fast(1029);+ }+ else+ {+ var d = a.d2;+ h$l5(c, h$c1(h$baseZCGHCziMVarziMVar_con_e, d.d2), a, b, h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle2);+ return h$ap_gen_fast(1029);+ };+};+function h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle1_e()+{+ h$p3(h$r2, h$r4, h$$tx);+ return h$e(h$r3);+};+var h$baseZCGHCziIOziHandleziInternalsziwantSeekableHandle4 = h$strta("handle is closed");+function h$$t0()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 3))+ {+ h$r1 = h$baseZCGHCziIOziBufferziReadBuffer;+ }+ else+ {+ h$r1 = h$baseZCGHCziIOziBufferziWriteBuffer;+ };+ return h$stack[h$sp];+};+function h$$tZ()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$t0);+ return h$e(a);+};+function h$$tY()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d2);+};+function h$$tX()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$tY);+ return h$e(a);+};+function h$$tW()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$$tV()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$tW);+ return h$e(a);+};+function h$$tU()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 14)];+ var c = h$stack[(h$sp - 13)];+ var d = h$stack[(h$sp - 12)];+ var e = h$stack[(h$sp - 11)];+ var f = h$stack[(h$sp - 10)];+ var g = h$stack[(h$sp - 9)];+ var h = h$stack[(h$sp - 8)];+ var i = h$stack[(h$sp - 7)];+ var j = h$stack[(h$sp - 6)];+ var k = h$stack[(h$sp - 5)];+ var l = h$stack[(h$sp - 4)];+ var m = h$stack[(h$sp - 3)];+ var n = h$stack[(h$sp - 2)];+ var o = h$stack[(h$sp - 1)];+ h$sp -= 15;+ h$r1 = h$c16(h$baseZCGHCziIOziHandleziTypesziHandlezuzu_con_e, b, c, d, m, e, k, n, l, a.d1, o, i, j, f, h$c1(h$$tV, g),+ h$c1(h$$tX, g), h);+ return h$stack[h$sp];+};+function h$$tT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 15;+ h$sp += 15;+ h$stack[(h$sp - 3)] = a;+ h$stack[h$sp] = h$$tU;+ return h$e(b);+};+function h$$tS()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = b.d5;+ var h = b.d6;+ var i = b.d7;+ var j = b.d8;+ var k = b.d9;+ var l = b.d10;+ var m = b.d11;+ var n = b.d12;+ var o = b.d13;+ h$bh();+ h$p15(a, c, d, f, g, h, i, j, k, l, m, n, o, b.d14, h$$tT);+ h$r1 = e;+ return h$ap_0_0_fast();+};+function h$$tR()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(h$c1(h$baseZCGHCziMVarziMVar_con_e, b.d1), a, b.d2);+ return h$ap_2_2_fast();+};+function h$$tQ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$c2(h$baseZCGHCziIOziHandleziTypesziFileHandle_con_e, b, c);+ }+ else+ {+ var d = h$makeWeak(c, h$ghczmprimZCGHCziTupleziZLZR, h$c3(h$$tR, b, c, a.d1));+ h$r1 = h$c2(h$baseZCGHCziIOziHandleziTypesziFileHandle_con_e, b, c);+ };+ return h$stack[h$sp];+};+function h$$tP()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$pp6(b, h$$tQ);+ return h$e(a);+};+function h$$tO()+{+ var a = h$stack[(h$sp - 14)];+ var b = h$stack[(h$sp - 13)];+ var c = h$stack[(h$sp - 12)];+ var d = h$stack[(h$sp - 11)];+ var e = h$stack[(h$sp - 10)];+ var f = h$stack[(h$sp - 9)];+ var g = h$stack[(h$sp - 8)];+ var h = h$stack[(h$sp - 7)];+ var i = h$stack[(h$sp - 6)];+ var j = h$stack[(h$sp - 5)];+ var k = h$stack[(h$sp - 4)];+ var l = h$stack[(h$sp - 3)];+ var m = h$stack[(h$sp - 2)];+ var n = h$stack[(h$sp - 1)];+ h$sp -= 15;+ var o = h$r1;+ var p = h$r2;+ var q = new h$MutVar(h$baseZCGHCziIOziHandleziTypesziBufferListNil);+ var r = q;+ var s = new h$MVar();+ h$p4(e, j, s, h$$tP);+ return h$putMVar(s, h$c15(h$$tS, a, b, c, d, f, h, i, k, l, m, g, n, o, p, r));+};+function h$$tN()+{+ var a = h$r1;+ --h$sp;+ if(a)+ {+ h$r1 = h$baseZCGHCziIOziHandleziTypesziLineBuffering;+ }+ else+ {+ return h$e(h$$ul);+ };+ return h$stack[h$sp];+};+function h$$tM()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$tN);+ return h$e(a);+};+function h$$tL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 14;+ h$l2(h$c1(h$$tM, a), h$c1(h$baseZCGHCziSTRefziSTRef_con_e, b));+ h$sp += 14;+ ++h$sp;+ return h$$tO;+};+function h$$tK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = h$stack[(h$sp - 13)];+ var d = h$stack[(h$sp - 10)];+ h$sp -= 14;+ if(a)+ {+ var e = new h$MutVar(h$baseZCGHCziForeignPtrziNoFinalizzers);+ var f = h$newByteArray(8192);+ var g = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, f, 0, h$c2(h$baseZCGHCziForeignPtrziMallocPtr_con_e, f, e), b, 2048,+ 0, 0);+ var h = new h$MutVar(g);+ var i = h;+ h$sp += 14;+ h$p2(i, h$$tL);+ h$p2(d, h$ap_2_1);+ h$l2(c, h$baseZCGHCziIOziDeviceziisTerminal);+ return h$baseZCGHCziIOziDeviceziisTerminal_e;+ }+ else+ {+ var j = new h$MutVar(h$baseZCGHCziForeignPtrziNoFinalizzers);+ var k = h$newByteArray(8192);+ var l = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, k, 0, h$c2(h$baseZCGHCziForeignPtrziMallocPtr_con_e, k, j), b, 2048,+ 0, 0);+ var m = new h$MutVar(l);+ h$l2(h$baseZCGHCziIOziHandleziTypesziNoBuffering, h$c1(h$baseZCGHCziSTRefziSTRef_con_e, m));+ h$sp += 14;+ ++h$sp;+ return h$$tO;+ };+};+function h$$tJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 8)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 15;+ var d = a;+ var e = new h$MutVar(d);+ var f = e;+ var g = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$baseZCGHCziIOziHandleziInternalszidecodeByteBuf2, d);+ var h = new h$MutVar(g);+ var i = h;+ h$sp += 14;+ h$stack[(h$sp - 7)] = f;+ h$stack[h$sp] = i;+ h$p2(c, h$$tK);+ return h$e(b);+};+function h$$tI()+{+ var a = h$stack[(h$sp - 10)];+ var b = h$stack[(h$sp - 8)];+ var c = h$stack[(h$sp - 6)];+ h$sp -= 12;+ var d = h$r1;+ var e = h$r2;+ var f = h$c1(h$$tZ, c);+ h$sp += 15;+ h$stack[(h$sp - 3)] = d;+ h$stack[(h$sp - 2)] = e;+ h$stack[(h$sp - 1)] = f;+ h$stack[h$sp] = h$$tJ;+ h$p3(f, b, h$ap_3_2);+ h$l2(a, h$baseZCGHCziIOziBufferedIOzinewBuffer);+ return h$baseZCGHCziIOziBufferedIOzinewBuffer_e;+};+function h$$tH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 11;+ h$l2(b, h$c1(h$baseZCDataziMaybeziJust_con_e, a));+ h$sp += 11;+ ++h$sp;+ return h$$tI;+};+function h$$tG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 11;+ h$l2(b, h$c1(h$baseZCDataziMaybeziJust_con_e, a));+ h$sp += 11;+ ++h$sp;+ return h$$tI;+};+function h$$tF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 11;+ h$l2(b, h$c1(h$baseZCDataziMaybeziJust_con_e, a));+ h$sp += 11;+ ++h$sp;+ return h$$tI;+};+function h$$tE()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$sp -= 11;+ switch (a.f.a)+ {+ case (4):+ h$sp += 11;+ h$p2(c, h$$tH);+ h$r1 = b;+ return h$ap_1_0_fast();+ case (5):+ h$sp += 11;+ h$p2(c, h$$tG);+ h$r1 = b;+ return h$ap_1_0_fast();+ case (6):+ h$sp += 11;+ h$p2(c, h$$tF);+ h$r1 = b;+ return h$ap_1_0_fast();+ default:+ h$l2(c, h$baseZCDataziMaybeziNothing);+ h$sp += 11;+ ++h$sp;+ return h$$tI;+ };+};+function h$$tD()+{+ var a = h$stack[(h$sp - 7)];+ h$sp -= 13;+ var b = h$r1;+ h$sp += 11;+ h$pp6(b, h$$tE);+ return h$e(a);+};+function h$$tC()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 12;+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ h$sp += 12;+ ++h$sp;+ return h$$tD;+};+function h$$tB()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 12;+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ h$sp += 12;+ ++h$sp;+ return h$$tD;+};+function h$$tA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 12;+ switch (a.f.a)+ {+ case (3):+ h$sp += 12;+ h$p1(h$$tC);+ h$r1 = b;+ return h$ap_1_0_fast();+ case (6):+ h$sp += 12;+ h$p1(h$$tB);+ h$r1 = b;+ return h$ap_1_0_fast();+ default:+ h$r1 = h$baseZCDataziMaybeziNothing;+ h$sp += 12;+ ++h$sp;+ return h$$tD;+ };+};+function h$$tz()+{+ var a = h$r1;+ --h$sp;+ var b = h$stack[(h$sp - 5)];+ h$sp -= 11;+ var c = a.d2;+ var d = c.d1;+ var e = c.d2;+ h$sp += 12;+ h$stack[h$sp] = e;+ h$p2(d, h$$tA);+ return h$e(b);+};+function h$$ty()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 11;+ if((a.f.a === 1))+ {+ h$l2(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing);+ h$sp += 11;+ ++h$sp;+ return h$$tI;+ }+ else+ {+ var b = a.d1;+ h$sp += 11;+ h$p1(h$$tz);+ return h$e(b);+ };+};+function h$baseZCGHCziIOziHandleziInternalszimkDuplexHandle5_e()+{+ h$p11(h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$r9, h$r10, h$r11, h$r12);+ h$p1(h$$ty);+ return h$e(h$r9);+};+function h$$t5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ b.val = a;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$t4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d2;+ var f = e.d5;+ var g = e.d6;+ if((f === g))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ h$p2(d, h$$t5);+ h$p3(a, c, h$ap_3_2);+ h$l2(b, h$baseZCGHCziIOziBufferedIOziflushWriteBuffer);+ return h$baseZCGHCziIOziBufferedIOziflushWriteBuffer_e;+ };+ return h$stack[h$sp];+};+function h$$t3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ h$pp8(h$$t4);+ return h$e(b.val);+ };+ return h$stack[h$sp];+};+function h$$t2()+{+ var a = h$r1;+ h$sp -= 4;+ var b = a.d2;+ h$pp8(h$$t3);+ return h$e(b.d3);+};+function h$$t1()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ var c = b.d1;+ var d = b.d3;+ var e = b.d5;+ h$p4(c, d, e, h$$t2);+ return h$e(e.val);+};+function h$baseZCGHCziIOziHandleziInternalsziflushWriteBuffer1_e()+{+ h$p1(h$$t1);+ return h$e(h$r2);+};+var h$baseZCGHCziIOziHandleziInternalsziflushBuffer4 = h$strta("cannot flush the read buffer: underlying device is not seekable");+function h$baseZCGHCziIOziHandleziInternalszidecodeByteBuf2_e()+{+ h$bh();+ h$l2(h$$um, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+function h$$ug()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$l3(a.d2, c, b);+ return h$ap_3_2_fast();+};+function h$$uf()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$ug);+ return h$e(a);+};+function h$$ue()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = a.d2;+ var g = f.d5;+ if((d === g))+ {+ h$p2(c, h$$uf);+ h$l3(e, a, b);+ return h$ap_3_2_fast();+ }+ else+ {+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, a, e);+ };+ return h$stack[h$sp];+};+function h$$ud()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 5;+ var c = a.d2;+ h$pp20(c.d5, h$$ue);+ return h$e(b);+};+function h$$uc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 7;+ if((a.f.a === 3))+ {+ h$pp28(d, e, h$$ud);+ return h$e(b);+ }+ else+ {+ h$r1 = c;+ };+ return h$stack[h$sp];+};+function h$$ub()+{+ var a = h$r1;+ h$sp -= 5;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ h$pp112(d, c.d2, h$$uc);+ return h$e(b);+};+function h$$ua()+{+ var a = h$r1;+ h$sp -= 4;+ h$pp24(a, h$$ub);+ return h$e(a);+};+function h$$t9()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p4(c, b.d2, h$r2, h$$ua);+ h$r1 = a;+ return h$ap_3_2_fast();+};+function h$$t8()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ var c = b.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, c, b.d2);+ return h$stack[h$sp];+};+function h$$t7()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$t8);+ return h$e(a);+};+function h$$t6()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$t7, a);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziInternalszizdwa_e()+{+ var a = h$r3;+ var b = h$r4;+ var c = h$r5;+ var d = h$c(h$$t9);+ d.d1 = h$r2;+ d.d2 = h$d2(a, d);+ h$p1(h$$t6);+ h$l3(c, b, d);+ return h$ap_3_2_fast();+};+function h$baseZCGHCziIOziHandleziInternalsziioezufinalizzedHandle_e()+{+ h$l3(h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdctoException,+ h$c6(h$baseZCGHCziIOziExceptionziIOError_con_e, h$baseZCDataziMaybeziNothing,+ h$baseZCGHCziIOziExceptionziIllegalOperation, h$ghczmprimZCGHCziTypesziZMZN, h$$un, h$baseZCDataziMaybeziNothing,+ h$c1(h$baseZCDataziMaybeziJust_con_e, h$r2)), h$baseZCGHCziExceptionzithrow2);+ return h$ap_2_2_fast();+};+function h$$uk()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a.d1);+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a.d1);+ };+ return h$stack[h$sp];+};+function h$$uj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p1(h$$uk);+ return h$e(b);+ }+ else+ {+ h$r1 = a;+ };+ return h$stack[h$sp];+};+function h$$ui()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(a, h$$uj);+ return h$e(b);+};+function h$$uh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a.d2;+ var e = d.d1;+ var f = d.d3;+ var g = d.d4;+ h$r1 = h$c6(h$baseZCGHCziIOziExceptionziIOError_con_e, h$c1(h$baseZCDataziMaybeziJust_con_e, c), e, b, f, g, h$c2(h$$ui,+ c, d.d5));+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziHandleziInternalsziaugmentIOError_e()+{+ h$p3(h$r3, h$r4, h$$uh);+ return h$e(h$r2);+};+function h$$us()+{+ var a = h$r1;+ --h$sp;+ h$l12(h$baseZCDataziMaybeziNothing, h$$u5, h$baseZCGHCziIOziHandleziTypeszinoNewlineTranslation,+ h$c1(h$baseZCDataziMaybeziJust_con_e, a), true, h$baseZCGHCziIOziHandleziTypesziWriteHandle, h$$u1,+ h$baseZCGHCziIOziFDzistdout, h$baseZCGHCziIOziFDzizdfTypeableFDzuzdctypeRepzh, h$baseZCGHCziIOziFDzizdfBufferedIOFD,+ h$baseZCGHCziIOziFDzizdfIODeviceFD, h$baseZCGHCziIOziHandleziInternalszimkDuplexHandle5);+ return h$ap_gen_fast(2828);+};+function h$$ur()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$us);+ h$r1 = a.d1;+ return h$ap_1_0_fast();+};+function h$$uq()+{+ h$p1(h$$ur);+ return h$e(h$baseZCGHCziIOziEncodingzigetLocaleEncoding1);+};+var h$$u1 = h$strta("<stdout>");+function h$$uv()+{+ var a = h$r1;+ --h$sp;+ h$l12(h$baseZCDataziMaybeziNothing, h$$u5, h$baseZCGHCziIOziHandleziTypeszinoNewlineTranslation,+ h$c1(h$baseZCDataziMaybeziJust_con_e, a), false, h$baseZCGHCziIOziHandleziTypesziWriteHandle, h$$u3,+ h$baseZCGHCziIOziFDzistderr, h$baseZCGHCziIOziFDzizdfTypeableFDzuzdctypeRepzh, h$baseZCGHCziIOziFDzizdfBufferedIOFD,+ h$baseZCGHCziIOziFDzizdfIODeviceFD, h$baseZCGHCziIOziHandleziInternalszimkDuplexHandle5);+ return h$ap_gen_fast(2828);+};+function h$$uu()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$uv);+ h$r1 = a.d1;+ return h$ap_1_0_fast();+};+function h$$ut()+{+ h$p1(h$$uu);+ return h$e(h$baseZCGHCziIOziEncodingzigetLocaleEncoding1);+};+var h$$u3 = h$strta("<stderr>");+function h$$ux()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(a.d1, b, h$$u6);+ return h$ap_3_2_fast();+};+function h$$uw()+{+ h$p2(h$r2, h$$ux);+ return h$e(h$r3);+};+function h$$uZ()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziIOziHandleziInternalsziioezufinalizzedHandle);+ return h$ap_1_1_fast();+};+function h$$uY()+{+ --h$sp;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$uX()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziIOziHandleziInternalsziioezufinalizzedHandle);+ return h$ap_1_1_fast();+};+function h$$uW()+{+ --h$sp;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$uV()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p1(h$$uW);+ return h$putMVar(b, h$c1(h$$uX, a));+};+function h$$uU()+{+ var a = h$r1;+ h$sp -= 3;+ var b = a.d2;+ h$pp4(h$$uV);+ h$r1 = b.d2;+ return h$ap_1_0_fast();+};+function h$$uT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$p1(h$$uY);+ return h$putMVar(c, h$c1(h$$uZ, b));+ }+ else+ {+ h$pp4(h$$uU);+ return h$e(a.d1);+ };+};+function h$$uS()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziIOziHandleziInternalsziioezufinalizzedHandle);+ return h$ap_1_1_fast();+};+function h$$uR()+{+ --h$sp;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$uQ()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziIOziHandleziInternalsziioezufinalizzedHandle);+ return h$ap_1_1_fast();+};+function h$$uP()+{+ --h$sp;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$uO()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p1(h$$uP);+ return h$putMVar(b, h$c1(h$$uQ, a));+};+function h$$uN()+{+ var a = h$r1;+ h$sp -= 3;+ var b = a.d2;+ h$pp4(h$$uO);+ h$r1 = b.d2;+ return h$ap_1_0_fast();+};+function h$$uM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$p1(h$$uR);+ return h$putMVar(c, h$c1(h$$uS, b));+ }+ else+ {+ h$pp4(h$$uN);+ return h$e(a.d1);+ };+};+function h$$uL()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$pp4(h$$uM);+ return h$e(a);+};+function h$$uK()+{+ var a = h$r1;+ h$sp -= 4;+ var b = a.d2;+ h$pp8(h$$uL);+ h$r1 = b.d2;+ return h$ap_1_0_fast();+};+function h$$uJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$pp4(h$$uT);+ return h$e(b);+ }+ else+ {+ h$pp8(h$$uK);+ return h$e(a.d1);+ };+};+function h$$uI()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziIOziHandleziInternalsziioezufinalizzedHandle);+ return h$ap_1_1_fast();+};+function h$$uH()+{+ --h$sp;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$uG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if((a.f.a === 1))+ {+ h$p1(h$$uH);+ return h$putMVar(c, h$c1(h$$uI, b));+ }+ else+ {+ h$pp8(h$$uJ);+ return h$e(d);+ };+};+function h$$uF()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 6;+ h$pp16(h$$uG);+ return h$e(a);+};+function h$$uE()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$sp -= 5;+ b.val = a;+ h$sp += 5;+ ++h$sp;+ return h$$uF;+};+function h$$uD()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$sp -= 5;+ var d = a.d2;+ var e = d.d5;+ var f = d.d6;+ if((e === f))+ {+ h$sp += 5;+ ++h$sp;+ return h$$uF;+ }+ else+ {+ h$sp += 5;+ h$pp2(h$$uE);+ h$p3(a, c, h$ap_3_2);+ h$l2(b, h$baseZCGHCziIOziBufferedIOziflushWriteBuffer);+ return h$baseZCGHCziIOziBufferedIOziflushWriteBuffer_e;+ };+};+function h$$uC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 4;+ h$sp -= 5;+ if((a.f.a === 1))+ {+ h$sp += 5;+ ++h$sp;+ return h$$uF;+ }+ else+ {+ var c = b.val;+ h$sp += 5;+ h$pp8(h$$uD);+ return h$e(c);+ };+};+function h$$uB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ var c = h$stack[(h$sp - 5)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 9;+ var f = a.d2;+ var g = f.d3;+ h$sp += 5;+ h$stack[(h$sp - 2)] = d;+ h$stack[(h$sp - 1)] = e;+ h$pp14(b, c, h$$uC);+ return h$e(g);+};+function h$$uA()+{+ var a = h$r1;+ h$sp -= 3;+ var b = a.d2;+ var c = b.d1;+ var d = b.d3;+ var e = b.d4;+ var f = b.d5;+ var g = b.d10;+ var h = b.d11;+ var i = f.val;+ h$sp += 9;+ h$stack[(h$sp - 6)] = c;+ h$stack[(h$sp - 5)] = d;+ h$stack[(h$sp - 4)] = e;+ h$stack[(h$sp - 3)] = f;+ h$stack[(h$sp - 2)] = g;+ h$stack[(h$sp - 1)] = h;+ h$stack[h$sp] = h$$uB;+ return h$e(i);+};+function h$$uz()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp4(h$$uA);+ return h$e(a);+};+function h$$uy()+{+ h$p3(h$r2, h$r3, h$$uz);+ return h$takeMVar(h$r3);+};+function h$baseZCGHCziIOziHandleziFDzistderr_e()+{+ h$bh();+ h$l2(h$$u2, h$baseZCGHCziIOziunsafeDupablePerformIO);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziIOziHandleziFDzistdout_e()+{+ h$bh();+ h$l2(h$$u0, h$baseZCGHCziIOziunsafeDupablePerformIO);+ return h$ap_1_1_fast();+};+var h$baseZCGHCziIOziHandlezihFlush2 = h$strta("hFlush");+function h$baseZCGHCziIOziHandlezihFlush1_e()+{+ h$l4(h$baseZCGHCziIOziHandleziInternalsziflushWriteBuffer1, h$r2, h$baseZCGHCziIOziHandlezihFlush2,+ h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle1);+ return h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle1_e;+};+function h$baseZCGHCziIOziHandlezihFlush_e()+{+ h$r1 = h$baseZCGHCziIOziHandlezihFlush1;+ return h$ap_2_1_fast();+};+function h$$vj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = c;+ h$r1 = h$c2(h$baseZCGHCziPtrziPtr_con_e, e, (d + b));+ return h$stack[h$sp];+};+function h$$vi()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(b, h$$vj);+ return h$e(a);+};+function h$$vh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ if((d < e))+ {+ h$l4(((e - d) | 0), h$c2(h$$vi, c, d), b, h$baseZCGHCziIOziFDzizdwa2);+ return h$ap_4_3_fast();+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ };+ return h$stack[h$sp];+};+function h$$vg()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$pp12(a, h$$vh);+ return h$e(b);+};+function h$$vf()+{+ h$sp -= 4;+ h$pp8(h$$vg);+ return h$e(h$r1);+};+function h$$ve()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = (b | 0);+ if((c === (-1)))+ {+ h$l2(h$$w1, h$baseZCForeignziCziErrorzithrowErrno1);+ return h$baseZCForeignziCziErrorzithrowErrno1_e;+ }+ else+ {+ h$r1 = c;+ };+ return h$stack[h$sp];+};+function h$$vd()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ var f = (e | 0);+ h$p1(h$$ve);+ try+ {+ var g;+ var h = { mv: null+ };+ g = h$mkForeignCallback(h);+ h$base_write(b, c, d, f, g);+ if((h.mv === null))+ {+ h.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(h.mv);+ }+ else+ {+ var i = h.mv;+ h$r1 = i[0];+ };+ }+ catch(h$GHCziIOziFD_id_2_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_2_0);+ };+ return h$stack[h$sp];+};+function h$$vc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp14(c, a.d2, h$$vd);+ return h$e(b);+};+function h$$vb()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p3(a, b.d2, h$$vc);+ return h$e(c);+};+function h$$va()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziIOziFDziwriteRawBufferPtr2);+ return h$ap_1_1_fast();+};+function h$$u9()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 3;+ h$r1 = h$c1(h$$va, a);+ h$sp += 3;+ ++h$sp;+ return h$$vf;+};+function h$$u8()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziIOziFDziwriteRawBufferPtr2);+ return h$ap_1_1_fast();+};+function h$$u7()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 3;+ h$r1 = h$c1(h$$u8, a);+ h$sp += 3;+ ++h$sp;+ return h$$vf;+};+function h$baseZCGHCziIOziFDzizdwa2_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$maskStatus();+ var e = h$c3(h$$vb, a, b, c);+ var f = d;+ if((f === 1))+ {+ h$p3(a, b, c);+ h$p1(h$$u7);+ h$r1 = e;+ return h$ap_1_0_fast();+ }+ else+ {+ h$p3(a, b, c);+ h$p1(h$$u9);+ return h$maskUnintAsync(e);+ };+};+var h$$w1 = h$strta("GHC.IO.FD.fdWrite");+function h$$vk()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ h$r1 = (b | 0);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDziwriteRawBufferPtr2_e()+{+ h$p1(h$$vk);+ return h$e(h$r2);+};+var h$baseZCGHCziIOziFDzizdfTypeableFD5 = h$strta("base");+var h$baseZCGHCziIOziFDzizdfTypeableFD4 = h$strta("GHC.IO.FD");+var h$baseZCGHCziIOziFDzizdfTypeableFD3 = h$strta("FD");+function h$baseZCGHCziIOziFDzizdfTypeableFDzuzdctypeRepzh_e()+{+ return h$e(h$baseZCGHCziIOziFDzizdfTypeableFD1);+};+var h$baseZCGHCziIOziFDzizdfIODeviceFD19 = h$strta("GHC.IO.FD.ready");+function h$$vr()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ h$r1 = (b | 0);+ return h$stack[h$sp];+};+function h$$vq()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = h$r1;+ var d = (b | 0);+ h$p1(h$$vr);+ h$r1 = h$fdReady(a, (c | 0), d, 0);+ return h$stack[h$sp];+};+function h$$vp()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 2;+ if(a)+ {+ h$r1 = 1;+ h$sp += 2;+ ++h$sp;+ return h$$vq;+ }+ else+ {+ h$r1 = 0;+ h$sp += 2;+ ++h$sp;+ return h$$vq;+ };+};+function h$$vo()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p2(a, b.d2);+ h$p1(h$$vp);+ return h$e(c);+};+function h$$vn()+{+ var a = h$r1;+ --h$sp;+ switch (a)+ {+ case (0):+ h$r1 = false;+ break;+ case (1):+ h$r1 = true;+ break;+ default:+ return h$e(h$baseZCGHCziEnumzizdfEnumBool1);+ };+ return h$stack[h$sp];+};+function h$$vm()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$vn);+ return h$e(a);+};+function h$$vl()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$vm, a);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa12_e()+{+ h$p1(h$$vl);+ h$l4(h$c3(h$$vo, h$r2, h$r3, h$r4), h$baseZCGHCziIOziFDzizdfIODeviceFD19, h$baseZCGHCziIOziFDzizdfIODeviceFD17,+ h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2);+ return h$ap_4_3_fast();+};+function h$$vt()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(a, b, c, h$baseZCGHCziIOziFDzizdwa12);+ return h$ap_4_3_fast();+};+function h$$vs()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp6(a.d1, h$$vt);+ return h$e(b);+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD18_e()+{+ h$p3(h$r3, h$r4, h$$vs);+ return h$e(h$r2);+};+function h$$vu()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((b === (-1)))+ {+ h$r1 = true;+ }+ else+ {+ h$r1 = false;+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD17_e()+{+ h$p1(h$$vu);+ return h$e(h$r2);+};+var h$baseZCGHCziIOziFDzizdfIODeviceFD16 = h$strta("GHC.IO.FD.close");+function h$$vx()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ h$r1 = (b | 0);+ return h$stack[h$sp];+};+function h$$vw()+{+ var a = h$r1.d1;+ var b = (a | 0);+ h$p1(h$$vx);+ try+ {+ var c;+ var d = { mv: null+ };+ c = h$mkForeignCallback(d);+ h$base_close(b, c);+ if((d.mv === null))+ {+ d.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(d.mv);+ }+ else+ {+ var e = d.mv;+ h$r1 = e[0];+ };+ }+ catch(h$GHCziIOziFD_id_46_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_46_0);+ };+ return h$stack[h$sp];+};+function h$$vv()+{+ --h$sp;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa11_e()+{+ var a = h$r2;+ var b = h$unlockFile(h$r2);+ h$p1(h$$vv);+ h$l4(h$c1(h$$vw, a), h$baseZCGHCziIOziFDzizdfIODeviceFD16, h$baseZCGHCziIOziFDzizdfIODeviceFD17,+ h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2);+ return h$ap_4_3_fast();+};+function h$$vy()+{+ var a = h$r1;+ --h$sp;+ h$l2(a.d1, h$baseZCGHCziIOziFDzizdwa11);+ return h$ap_2_1_fast();+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD15_e()+{+ h$p1(h$$vy);+ return h$e(h$r2);+};+function h$$vz()+{+ var a = h$r1;+ --h$sp;+ var b = h$base_isatty(a.d1);+ var c = b;+ var d;+ var e = (c | 0);+ if((e === 0))+ {+ d = false;+ }+ else+ {+ d = true;+ };+ h$r1 = d;+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD14_e()+{+ h$p1(h$$vz);+ return h$e(h$r2);+};+function h$$vF()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$stack[h$sp];+};+function h$$vE()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$vF);+ return h$e(a);+};+function h$$vD()+{+ var a = h$r1;+ --h$sp;+ switch (a.f.a)+ {+ case (3):+ h$r1 = true;+ break;+ case (4):+ h$r1 = true;+ break;+ default:+ h$r1 = false;+ };+ return h$stack[h$sp];+};+function h$$vC()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$vD);+ return h$e(a);+};+function h$$vB()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$vC, a.d1);+ return h$stack[h$sp];+};+function h$$vA()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$vB);+ return h$e(a);+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD13_e()+{+ h$p1(h$$vA);+ h$l2(h$c1(h$$vE, h$r2), h$baseZCSystemziPosixziInternalszifdStat1);+ return h$baseZCSystemziPosixziInternalszifdStat1_e;+};+var h$baseZCGHCziIOziFDzizdfIODeviceFDzuloc2 = h$strta("seek");+function h$$vM()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$baseZCGHCziIntziI64zh_con_e, a, b);+ return h$stack[h$sp];+};+function h$$vL()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$baseZCGHCziIntziI64zh_con_e, a, b);+ return h$stack[h$sp];+};+function h$$vK()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$baseZCGHCziIntziI64zh_con_e, a, b);+ return h$stack[h$sp];+};+function h$$vJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ switch (a.f.a)+ {+ case (1):+ var e = h$base_SEEK_SET;+ var f = (e | 0);+ h$p1(h$$vM);+ try+ {+ var g;+ var h = { mv: null+ };+ g = h$mkForeignCallback(h);+ h$base_lseek(b, c, d, f, g);+ if((h.mv === null))+ {+ h.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(h.mv);+ }+ else+ {+ var i = h.mv;+ h$r1 = i[0];+ h$r2 = i[1];+ };+ }+ catch(h$GHCziIOziFD_id_54_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_54_0);+ };+ break;+ case (2):+ var j = h$base_SEEK_CUR;+ var k = (j | 0);+ h$p1(h$$vL);+ try+ {+ var l;+ var m = { mv: null+ };+ l = h$mkForeignCallback(m);+ h$base_lseek(b, c, d, k, l);+ if((m.mv === null))+ {+ m.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(m.mv);+ }+ else+ {+ var n = m.mv;+ h$r1 = n[0];+ h$r2 = n[1];+ };+ }+ catch(h$GHCziIOziFD_id_54_3)+ {+ return h$throwJSException(h$GHCziIOziFD_id_54_3);+ };+ break;+ default:+ var o = h$base_SEEK_END;+ var p = (o | 0);+ h$p1(h$$vK);+ try+ {+ var q;+ var r = { mv: null+ };+ q = h$mkForeignCallback(r);+ h$base_lseek(b, c, d, p, q);+ if((r.mv === null))+ {+ r.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(r.mv);+ }+ else+ {+ var s = r.mv;+ h$r1 = s[0];+ h$r2 = s[1];+ };+ }+ catch(h$GHCziIOziFD_id_54_6)+ {+ return h$throwJSException(h$GHCziIOziFD_id_54_6);+ };+ };+ return h$stack[h$sp];+};+function h$$vI()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp14(a, b, h$$vJ);+ return h$e(c);+};+function h$$vH()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$p3(a, b.d1, h$$vI);+ h$l2(b.d2, h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt64);+ return h$ap_1_1_fast();+};+function h$$vG()+{+ --h$sp;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa10_e()+{+ h$p1(h$$vG);+ h$l4(h$c3(h$$vH, h$r2, h$r3, h$r4), h$baseZCGHCziIOziFDzizdfIODeviceFDzuloc2, h$baseZCGHCziIOziFDzizdfIODeviceFDzupred,+ h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2);+ return h$ap_4_3_fast();+};+function h$$vN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(c, b, a.d1, h$baseZCGHCziIOziFDzizdwa10);+ return h$ap_4_3_fast();+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD12_e()+{+ h$p3(h$r3, h$r4, h$$vN);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziFDzizdfIODeviceFDzuds_e()+{+ h$bh();+ var a = h$hs_negateInt64(0, 1);+ h$r1 = h$c2(h$baseZCGHCziIntziI64zh_con_e, a, h$ret1);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdfIODeviceFDzupred_e()+{+ h$r3 = h$baseZCGHCziIOziFDzizdfIODeviceFDzuds;+ h$r1 = h$baseZCGHCziIntzizdfEqInt64zuzdczeze;+ return h$baseZCGHCziIntzizdfEqInt64zuzdczeze_e;+};+var h$baseZCGHCziIOziFDzizdfIODeviceFD11 = h$strta("hGetPosn");+function h$$vS()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$baseZCGHCziIntziI64zh_con_e, a, b);+ return h$stack[h$sp];+};+function h$$vR()+{+ var a = h$r1.d1;+ var b = h$base_SEEK_CUR;+ var c = (b | 0);+ h$p1(h$$vS);+ try+ {+ var d;+ var e = { mv: null+ };+ d = h$mkForeignCallback(e);+ h$base_lseek(a, 0, 0, c, d);+ if((e.mv === null))+ {+ e.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(e.mv);+ }+ else+ {+ var f = e.mv;+ h$r1 = f[0];+ h$r2 = f[1];+ };+ }+ catch(h$GHCziIOziFD_id_60_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_60_0);+ };+ return h$stack[h$sp];+};+function h$$vQ()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$l3(a.d2, b, h$integerzmgmpZCGHCziIntegerziTypeziint64ToInteger);+ return h$ap_1_2_fast();+};+function h$$vP()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$vQ);+ return h$e(a);+};+function h$$vO()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$vP, a);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa9_e()+{+ h$p1(h$$vO);+ h$l4(h$c1(h$$vR, h$r2), h$baseZCGHCziIOziFDzizdfIODeviceFD11, h$baseZCGHCziIOziFDzizdfIODeviceFDzupred,+ h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2);+ return h$ap_4_3_fast();+};+function h$$vT()+{+ var a = h$r1;+ --h$sp;+ h$l2(a.d1, h$baseZCGHCziIOziFDzizdwa9);+ return h$ap_2_1_fast();+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD10_e()+{+ h$p1(h$$vT);+ return h$e(h$r2);+};+function h$$vV()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$stack[h$sp];+};+function h$$vU()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$vV);+ return h$e(a);+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD9_e()+{+ h$l2(h$c1(h$$vU, h$r2), h$baseZCSystemziPosixziInternalszifdFileSizze1);+ return h$baseZCSystemziPosixziInternalszifdFileSizze1_e;+};+var h$baseZCGHCziIOziFDzizdfIODeviceFD8 = h$strta("GHC.IO.FD.setSize");+function h$$vY()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$vX()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = (b | 0);+ if((c === 0))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ var d = h$__hscore_get_errno();+ var e = d;+ h$p1(h$$vY);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (e | 0), h$baseZCGHCziIOziFDzizdfIODeviceFD8,+ h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ };+ return h$stack[h$sp];+};+function h$$vW()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ var c = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p1(h$$vX);+ try+ {+ var d;+ var e = { mv: null+ };+ d = h$mkForeignCallback(e);+ h$base_ftruncate(c, a, b, d);+ if((e.mv === null))+ {+ e.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(e.mv);+ }+ else+ {+ var f = e.mv;+ h$r1 = f[0];+ };+ }+ catch(h$GHCziIOziFD_id_66_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_66_0);+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa8_e()+{+ h$p2(h$r2, h$$vW);+ h$l2(h$r3, h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt64);+ return h$ap_1_1_fast();+};+function h$$vZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a.d1, h$baseZCGHCziIOziFDzizdwa8);+ return h$ap_3_2_fast();+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD7_e()+{+ h$p2(h$r3, h$$vZ);+ return h$e(h$r2);+};+function h$$v1()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$stack[h$sp];+};+function h$$v0()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$v1);+ return h$e(a);+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD6_e()+{+ h$l2(h$c1(h$$v0, h$r2), h$baseZCSystemziPosixziInternalszisetEcho1);+ return h$baseZCSystemziPosixziInternalszisetEcho1_e;+};+function h$$v3()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$stack[h$sp];+};+function h$$v2()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$v3);+ return h$e(a);+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD5_e()+{+ h$l3(h$baseZCSystemziPosixziInternalszigetEcho2, h$c1(h$$v2, h$r2), h$baseZCSystemziPosixziInternalszigetEcho4);+ return h$ap_3_2_fast();+};+function h$$v7()+{+ var a = h$r1;+ --h$sp;+ if(a)+ {+ h$r1 = false;+ }+ else+ {+ h$r1 = true;+ };+ return h$stack[h$sp];+};+function h$$v6()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$v7);+ return h$e(a);+};+function h$$v5()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$stack[h$sp];+};+function h$$v4()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$v5);+ return h$e(a);+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD4_e()+{+ h$l3(h$c1(h$$v6, h$r3), h$c1(h$$v4, h$r2), h$baseZCSystemziPosixziInternalszisetCooked1);+ return h$baseZCSystemziPosixziInternalszisetCooked1_e;+};+function h$$wb()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$stack[h$sp];+};+function h$$wa()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$wb);+ return h$e(a);+};+function h$$v9()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$stack[h$sp];+};+function h$$v8()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$v9);+ return h$e(a);+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD3_e()+{+ h$p1(h$$v8);+ h$l2(h$c1(h$$wa, h$r2), h$baseZCSystemziPosixziInternalszifdStat1);+ return h$baseZCSystemziPosixziInternalszifdStat1_e;+};+var h$baseZCGHCziIOziFDzizdfIODeviceFDzuloc1 = h$strta("GHC.IO.FD.dup");+function h$$wd()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$wc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = (c | 0);+ if((d === (-1)))+ {+ var e = h$__hscore_get_errno();+ var f = e;+ h$p1(h$$wd);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (f | 0), h$baseZCGHCziIOziFDzizdfIODeviceFDzuloc1,+ h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ }+ else+ {+ h$r1 = h$c2(h$baseZCGHCziIOziFDziFD_con_e, d, b);+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa7_e()+{+ var a = h$r2;+ h$p2(h$r3, h$$wc);+ try+ {+ var b;+ var c = { mv: null+ };+ b = h$mkForeignCallback(c);+ h$base_dup(a, b);+ if((c.mv === null))+ {+ c.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(c.mv);+ }+ else+ {+ var d = c.mv;+ h$r1 = d[0];+ };+ }+ catch(h$GHCziIOziFD_id_76_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_76_0);+ };+ return h$stack[h$sp];+};+function h$$we()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$l3(a.d2, b, h$baseZCGHCziIOziFDzizdwa7);+ return h$ap_3_2_fast();+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD2_e()+{+ h$p1(h$$we);+ return h$e(h$r2);+};+var h$baseZCGHCziIOziFDzizdfIODeviceFDzuloc = h$strta("GHC.IO.FD.dup2");+function h$$wg()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$wf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ var e = (d | 0);+ if((e === (-1)))+ {+ var f = h$__hscore_get_errno();+ var g = f;+ h$p1(h$$wg);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (g | 0), h$baseZCGHCziIOziFDzizdfIODeviceFDzuloc,+ h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ }+ else+ {+ h$r1 = h$c2(h$baseZCGHCziIOziFDziFD_con_e, c, b);+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa6_e()+{+ var a = h$r2;+ var b = h$r4;+ h$p3(h$r3, h$r4, h$$wf);+ try+ {+ var c;+ var d = { mv: null+ };+ c = h$mkForeignCallback(d);+ h$base_dup2(a, b, c);+ if((d.mv === null))+ {+ d.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(d.mv);+ }+ else+ {+ var e = d.mv;+ h$r1 = e[0];+ };+ }+ catch(h$GHCziIOziFD_id_80_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_80_0);+ };+ return h$stack[h$sp];+};+function h$$wi()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(a.d1, c, b, h$baseZCGHCziIOziFDzizdwa6);+ return h$ap_4_3_fast();+};+function h$$wh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$p3(c, a.d2, h$$wi);+ return h$e(b);+};+function h$baseZCGHCziIOziFDzizdfIODeviceFD1_e()+{+ h$p2(h$r3, h$$wh);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziFDzizdfBufferedIOFD12_e()+{+ var a = h$r3;+ var b = new h$MutVar(h$baseZCGHCziForeignPtrziNoFinalizzers);+ var c = h$newByteArray(8096);+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, c, 0, h$c2(h$baseZCGHCziForeignPtrziMallocPtr_con_e, c, b), a, 8096,+ 0, 0);+ return h$stack[h$sp];+};+var h$baseZCGHCziIOziFDzizdfBufferedIOFD11 = h$strta("GHC.IO.FD.fdRead");+function h$$wr()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = (b | 0);+ if((c === (-1)))+ {+ h$l2(h$baseZCGHCziIOziFDzizdfBufferedIOFD11, h$baseZCForeignziCziErrorzithrowErrno1);+ return h$baseZCForeignziCziErrorzithrowErrno1_e;+ }+ else+ {+ h$r1 = c;+ };+ return h$stack[h$sp];+};+function h$$wq()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = ((e - f) | 0);+ var h = (g | 0);+ var i;+ var j;+ i = c;+ j = (d + f);+ h$p1(h$$wr);+ try+ {+ var k;+ var l = { mv: null+ };+ k = h$mkForeignCallback(l);+ h$base_read(a, i, j, h, k);+ if((l.mv === null))+ {+ l.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(l.mv);+ }+ else+ {+ var m = l.mv;+ h$r1 = m[0];+ };+ }+ catch(h$GHCziIOziFD_id_86_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_86_0);+ };+ return h$stack[h$sp];+};+function h$$wp()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$wo()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$wp);+ return h$e(a);+};+function h$$wn()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var i = a;+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, c, d, e, f, g, ((h + i) | 0));+ return h$stack[h$sp];+};+function h$$wm()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = b.d5;+ h$bh();+ h$p8(a, c, d, e, f, g, b.d6, h$$wn);+ return h$e(b.d7);+};+function h$$wl()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var i = h$c1(h$$wo, a);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, i, h$c8(h$$wm, b, c, d, e, f, g, h, i));+ return h$stack[h$sp];+};+function h$$wk()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$wj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var i = a;+ var j = (i | 0);+ if((j === (-1)))+ {+ var k = h$__hscore_get_errno();+ var l = k;+ h$p1(h$$wk);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (l | 0), h$baseZCGHCziIOziFDzizdfBufferedIOFD11,+ h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, j, h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, c, d, e, f, g,+ ((h + j) | 0)));+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa5_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ var e = h$r6;+ var f = h$r7;+ var g = h$r8;+ var h = h$r9;+ var i = h$maskStatus();+ var j = i;+ if((j === 1))+ {+ var k = ((f - h) | 0);+ var l = (k | 0);+ var m;+ var n;+ m = b;+ n = (c + h);+ h$p8(b, c, d, e, f, g, h, h$$wj);+ try+ {+ var o;+ var p = { mv: null+ };+ o = h$mkForeignCallback(p);+ h$base_read(a, m, n, l, o);+ if((p.mv === null))+ {+ p.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(p.mv);+ }+ else+ {+ var q = p.mv;+ h$r1 = q[0];+ };+ }+ catch(h$GHCziIOziFD_id_86_3)+ {+ return h$throwJSException(h$GHCziIOziFD_id_86_3);+ };+ }+ else+ {+ h$p8(b, c, d, e, f, g, h, h$$wl);+ return h$maskUnintAsync(h$c5(h$$wq, a, b, c, f, h));+ };+ return h$stack[h$sp];+};+function h$$wt()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ var h = d.d4;+ var i = d.d5;+ h$l9(d.d6, i, h, g, f, e, c, b, h$baseZCGHCziIOziFDzizdwa5);+ return h$ap_gen_fast(2056);+};+function h$$ws()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a.d1, h$$wt);+ return h$e(b);+};+function h$baseZCGHCziIOziFDzizdfBufferedIOFD10_e()+{+ h$p2(h$r3, h$$ws);+ return h$e(h$r2);+};+function h$$wz()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$wy()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = (c | 0);+ switch (d)+ {+ case ((-1)):+ var e = h$__hscore_get_errno();+ var f = e;+ h$p1(h$$wz);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (f | 0), b, h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ case (0):+ h$r1 = h$baseZCGHCziIOziFDzizdfBufferedIOFD9;+ break;+ default:+ h$r1 = d;+ };+ return h$stack[h$sp];+};+function h$$wx()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var f = a;+ var g;+ var h;+ g = c;+ h = (e + d);+ h$pp2(h$$wy);+ try+ {+ var i;+ var j = { mv: null+ };+ i = h$mkForeignCallback(j);+ h$base_read(b, g, h, f, i);+ if((j.mv === null))+ {+ j.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(j.mv);+ }+ else+ {+ var k = j.mv;+ h$r1 = k[0];+ };+ }+ catch(h$GHCziIOziFD_id_90_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_90_0);+ };+ return h$stack[h$sp];+};+function h$$ww()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 6;+ h$pp40(a, h$$wx);+ return h$e(b);+};+function h$$wv()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 5;+ var c = a.d1;+ h$pp52(c, a.d2, h$$ww);+ return h$e(b);+};+function h$$wu()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ h$p5(a, c, e, b.d4, h$$wv);+ return h$e(d);+};+function h$baseZCGHCziIOziFDzizdwa4_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ var e = h$r6;+ var f = h$maskStatus();+ var g = h$c5(h$$wu, a, b, c, d, e);+ var h = f;+ if((h === 1))+ {+ h$r1 = g;+ return h$ap_1_0_fast();+ }+ else+ {+ return h$maskUnintAsync(g);+ };+};+var h$baseZCGHCziIOziFDzizdfBufferedIOFD8 = h$strta("GHC.IO.FD.fdReadNonBlocking");+function h$$wB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var i = a;+ if((i === (-1)))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$baseZCDataziMaybeziNothing,+ h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, c, d, e, f, g, h));+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$c1(h$baseZCDataziMaybeziJust_con_e, a),+ h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, c, d, e, f, g, ((h + i) | 0)));+ };+ return h$stack[h$sp];+};+function h$$wA()+{+ var a = h$r1;+ h$sp -= 8;+ h$pp128(h$$wB);+ return h$e(a);+};+function h$baseZCGHCziIOziFDzizdwa3_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ var e = h$r6;+ var f = h$r7;+ var g = h$r8;+ var h = h$r9;+ var i = ((f - h) | 0);+ var j = b;+ h$p8(b, c, d, e, f, g, h, h$$wA);+ h$l6((i | 0), h$baseZCGHCziIOziFDzizdfBufferedIOFD7, h$c2(h$baseZCGHCziPtrziPtr_con_e, j, (c + h)), a,+ h$baseZCGHCziIOziFDzizdfBufferedIOFD8, h$baseZCGHCziIOziFDzizdwa4);+ return h$ap_gen_fast(1286);+};+function h$$wD()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ var h = d.d4;+ var i = d.d5;+ h$l9(d.d6, i, h, g, f, e, c, b, h$baseZCGHCziIOziFDzizdwa3);+ return h$ap_gen_fast(2056);+};+function h$$wC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a.d1, h$$wD);+ return h$e(b);+};+function h$baseZCGHCziIOziFDzizdfBufferedIOFD6_e()+{+ h$p2(h$r3, h$$wC);+ return h$e(h$r2);+};+function h$$wF()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ var e = c.d2;+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, d, e, h$baseZCGHCziIOziBufferziWriteBuffer, c.d4, 0, 0);+ return h$stack[h$sp];+};+function h$$wE()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$wF);+ return h$e(a);+};+function h$baseZCGHCziIOziFDzizdfBufferedIOFD5_e()+{+ h$r1 = h$c1(h$$wE, h$r3);+ return h$stack[h$sp];+};+function h$$wI()+{+ var a = h$stack[(h$sp - 5)];+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 6;+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, 0, 0);+ return h$stack[h$sp];+};+function h$$wH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var f = a.d1;+ var g = b;+ h$pp32(h$$wI);+ h$l4(((e - d) | 0), h$c2(h$baseZCGHCziPtrziPtr_con_e, g, (c + d)), f, h$baseZCGHCziIOziFDzizdwa2);+ return h$ap_4_3_fast();+};+function h$$wG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ var h = d.d4;+ var i = d.d5;+ h$p8(c, e, f, g, h, i, d.d6, h$$wH);+ return h$e(b);+};+function h$baseZCGHCziIOziFDzizdfBufferedIOFD3_e()+{+ h$p2(h$r2, h$$wG);+ return h$e(h$r3);+};+var h$baseZCGHCziIOziFDzizdfBufferedIOFD2 = h$strta("GHC.IO.FD.fdWriteNonBlocking");+function h$$wT()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$$wS()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = (b | 0);+ if((c === (-1)))+ {+ var d = h$__hscore_get_errno();+ var e = d;+ h$p1(h$$wT);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (e | 0), h$baseZCGHCziIOziFDzizdfBufferedIOFD2,+ h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+ }+ else+ {+ h$r1 = (c | 0);+ };+ return h$stack[h$sp];+};+function h$$wR()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ var f = (e | 0);+ h$p1(h$$wS);+ try+ {+ var g;+ var h = { mv: null+ };+ g = h$mkForeignCallback(h);+ h$base_write(b, c, d, f, g);+ if((h.mv === null))+ {+ h.mv = new h$MVar();+ ++h$sp;+ h$stack[h$sp] = h$unboxFFIResult;+ return h$takeMVar(h.mv);+ }+ else+ {+ var i = h.mv;+ h$r1 = i[0];+ };+ }+ catch(h$GHCziIOziFD_id_102_0)+ {+ return h$throwJSException(h$GHCziIOziFD_id_102_0);+ };+ return h$stack[h$sp];+};+function h$$wQ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp14(c, a.d2, h$$wR);+ return h$e(b);+};+function h$$wP()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p3(a, b.d2, h$$wQ);+ return h$e(c);+};+function h$$wO()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$wN()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$wO);+ return h$e(a);+};+function h$$wM()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$wN, a);+ return h$stack[h$sp];+};+function h$$wL()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$wK()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$wL);+ return h$e(a);+};+function h$$wJ()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$wK, a);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa1_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$maskStatus();+ var e = h$c3(h$$wP, a, b, c);+ var f = d;+ if((f === 1))+ {+ h$p1(h$$wJ);+ h$r1 = e;+ return h$ap_1_0_fast();+ }+ else+ {+ h$p1(h$$wM);+ return h$maskUnintAsync(e);+ };+};+function h$$wW()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var i = a;+ var j = ((g + i) | 0);+ if((j === h))+ {+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, c, d, e, f, 0, 0);+ }+ else+ {+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, c, d, e, f, j, h);+ };+ return h$stack[h$sp];+};+function h$$wV()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = b.d5;+ h$bh();+ h$p8(a, c, d, e, f, g, b.d6, h$$wW);+ return h$e(b.d7);+};+function h$$wU()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, a, h$c8(h$$wV, b, c, d, e, f, g, h, a));+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDzizdwa_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ var e = h$r6;+ var f = h$r7;+ var g = h$r8;+ var h = h$r9;+ var i = b;+ h$p8(b, c, d, e, f, g, h, h$$wU);+ h$l4(((h - g) | 0), h$c2(h$baseZCGHCziPtrziPtr_con_e, i, (c + g)), a, h$baseZCGHCziIOziFDzizdwa1);+ return h$ap_4_3_fast();+};+function h$$wY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ var h = d.d4;+ var i = d.d5;+ h$l9(d.d6, i, h, g, f, e, c, b, h$baseZCGHCziIOziFDzizdwa);+ return h$ap_gen_fast(2056);+};+function h$$wX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a.d1, h$$wY);+ return h$e(b);+};+function h$baseZCGHCziIOziFDzizdfBufferedIOFD1_e()+{+ h$p2(h$r3, h$$wX);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziFDziFD_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziFDziFD_e()+{+ h$r1 = h$c2(h$baseZCGHCziIOziFDziFD_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$$w0()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$baseZCGHCziIOziFDziFD_con_e, b, a);+ return h$stack[h$sp];+};+function h$$wZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$w0);+ return h$e(b);+};+function h$baseZCGHCziIOziFDzizdWFD_e()+{+ h$p2(h$r3, h$$wZ);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdctoException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e,+ h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVar, h$r2);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdctoException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e,+ h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTM, h$r2);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdctoException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e, h$baseZCGHCziIOziExceptionzizdfExceptionIOException, h$r2);+ return h$stack[h$sp];+};+function h$$w3()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdctoException);+ return h$ap_1_1_fast();+};+function h$$w2()+{+ return h$throw(h$c1(h$$w3, h$r2), false);+};+var h$$xN = h$strta("interrupted");+var h$$xO = h$strta("resource vanished");+var h$$xP = h$strta("timeout");+var h$$xQ = h$strta("unsupported operation");+var h$$xR = h$strta("hardware fault");+var h$$xS = h$strta("inappropriate type");+var h$$xT = h$strta("invalid argument");+var h$$xU = h$strta("failed");+var h$$xV = h$strta("protocol error");+var h$$xW = h$strta("system error");+var h$$xX = h$strta("unsatisified constraints");+var h$$xY = h$strta("user error");+var h$$xZ = h$strta("permission denied");+var h$$x0 = h$strta("illegal operation");+var h$$x1 = h$strta("end of file");+var h$$x2 = h$strta("resource exhausted");+var h$$x3 = h$strta("resource busy");+var h$$x4 = h$strta("does not exist");+var h$$x5 = h$strta("already exists");+function h$$w4()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((b === 124))+ {+ h$r1 = false;+ }+ else+ {+ h$r1 = true;+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziuntangle4_e()+{+ h$p1(h$$w4);+ return h$e(h$r2);+};+function h$$w5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ h$l7(b, d.d5, g, f, e, c, h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec1);+ return h$ap_gen_fast(1542);+};+function h$baseZCGHCziIOziExceptionzizdfShowIOExceptionzuzdcshowsPrec_e()+{+ h$p2(h$r4, h$$w5);+ return h$e(h$r3);+};+function h$$w6()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ var e = c.d2;+ var f = c.d3;+ h$l7(h$ghczmprimZCGHCziTypesziZMZN, c.d5, f, e, d, b, h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec1);+ return h$ap_gen_fast(1542);+};+function h$baseZCGHCziIOziExceptionzizdfShowIOExceptionzuzdcshow_e()+{+ h$p1(h$$w6);+ return h$e(h$r2);+};+function h$$w7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ switch (a.f.a)+ {+ case (1):+ h$l3(b, h$$x5, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (2):+ h$l3(b, h$$x4, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (3):+ h$l3(b, h$$x3, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (4):+ h$l3(b, h$$x2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (5):+ h$l3(b, h$$x1, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (6):+ h$l3(b, h$$x0, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (7):+ h$l3(b, h$$xZ, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (8):+ h$l3(b, h$$xY, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (9):+ h$l3(b, h$$xX, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (10):+ h$l3(b, h$$xW, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (11):+ h$l3(b, h$$xV, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (12):+ h$l3(b, h$$xU, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (13):+ h$l3(b, h$$xT, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (14):+ h$l3(b, h$$xS, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (15):+ h$l3(b, h$$xR, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (16):+ h$l3(b, h$$xQ, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (17):+ h$l3(b, h$$xP, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ case (18):+ h$l3(b, h$$xO, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ default:+ h$l3(b, h$$xN, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ };+};+function h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec2_e()+{+ h$p2(h$r3, h$$w7);+ return h$e(h$r2);+};+var h$baseZCGHCziIOziExceptionzizdfShowIOException3 = h$strta(" (");+function h$$xm()+{+ h$l3(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziIOziExceptionzizdfShowIOException2, h$r1.d1), h$r1.d2,+ h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xl()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ return h$e(b);+ }+ else+ {+ h$l3(h$c2(h$$xm, b, a), h$baseZCGHCziIOziExceptionzizdfShowIOException3, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ };+};+function h$$xk()+{+ var a = h$r1.d1;+ h$p2(h$r1.d2, h$$xl);+ return h$e(a);+};+function h$$xj()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$l3(h$c2(h$$xk, c, b.d2), a, h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec2);+ return h$ap_2_2_fast();+};+function h$$xi()+{+ h$l3(h$r1.d1, h$baseZCGHCziIOziExceptionzizdfShowArrayException2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ return h$e(b);+ }+ else+ {+ h$l3(h$c1(h$$xi, b), a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ };+};+function h$$xg()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$p2(h$c3(h$$xj, a, d, b.d3), h$$xh);+ return h$e(c);+};+function h$$xf()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(a, h$baseZCGHCziIOziExceptionzizdfShowArrayException2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xe()+{+ h$l3(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziIOziHandleziTypeszishowHandle1, h$c1(h$$xf, h$r1.d1)), h$r1.+ d2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xd()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(a, h$baseZCGHCziIOziExceptionzizdfShowArrayException2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xc()+{+ h$l3(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziIOziHandleziTypeszishowHandle1, h$c1(h$$xd, h$r1.d1)), h$r1.+ d2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$l3(h$c2(h$$xe, b, a.d1), h$baseZCGHCziIOziHandleziTypeszishowHandle2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l3(h$c2(h$$xc, b, a.d1), h$baseZCGHCziIOziHandleziTypeszishowHandle2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ };+};+function h$$xa()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ return h$e(b);+ }+ else+ {+ h$pp2(h$$xb);+ return h$e(a.d1);+ };+};+function h$$w9()+{+ h$l3(h$r1.d1, h$baseZCGHCziIOziExceptionzizdfShowArrayException2, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$w8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$p2(c, h$$xa);+ return h$e(b);+ }+ else+ {+ h$l3(h$c1(h$$w9, c), a.d1, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+ };+};+function h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec1_e()+{+ h$p3(h$r2, h$c4(h$$xg, h$r3, h$r4, h$r5, h$r7), h$$w8);+ return h$e(h$r6);+};+function h$$xn()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ h$l7(b, d.d5, g, f, e, c, h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec1);+ return h$ap_gen_fast(1542);+};+function h$baseZCGHCziIOziExceptionzizdfShowIOException1_e()+{+ h$p2(h$r3, h$$xn);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziExceptionzizdfShowIOExceptionzuzdcshowList_e()+{+ h$l4(h$r3, h$r2, h$baseZCGHCziIOziExceptionzizdfShowIOException1, h$baseZCGHCziShowzishowListzuzu);+ return h$baseZCGHCziShowzishowListzuzu_e;+};+var h$baseZCGHCziIOziExceptionzizdfExceptionIOException3 = h$strta("IOException");+function h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdctypeRepzh_e()+{+ return h$e(h$baseZCGHCziIOziExceptionzizdfExceptionIOException1);+};+function h$$xp()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdctypeRepzh, a, h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$xo()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$xp);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdcfromException_e()+{+ h$p1(h$$xo);+ return h$e(h$r2);+};+function h$$xq()+{+ --h$sp;+ h$r1 = h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM2;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTMzuzdcshowsPrec_e()+{+ h$p1(h$$xq);+ return h$e(h$r3);+};+function h$$xr()+{+ --h$sp;+ return h$e(h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM3);+};+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTMzuzdcshow_e()+{+ h$p1(h$$xr);+ return h$e(h$r2);+};+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM3 = h$strta("thread blocked indefinitely in an STM transaction");+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM2_e()+{+ h$l3(h$r2, h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM3, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xs()+{+ --h$sp;+ h$r1 = h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM2;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM1_e()+{+ h$p1(h$$xs);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTMzuzdcshowList_e()+{+ h$l4(h$r3, h$r2, h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM1, h$baseZCGHCziShowzishowListzuzu);+ return h$baseZCGHCziShowzishowListzuzu_e;+};+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuww5 = h$strta("BlockedIndefinitelyOnSTM");+function h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdctypeRepzh_e()+{+ return h$e(h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTM1);+};+function h$$xu()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdctypeRepzh, a,+ h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$xt()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$xu);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdcfromException_e()+{+ h$p1(h$$xt);+ return h$e(h$r2);+};+function h$$xv()+{+ --h$sp;+ h$r1 = h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar2;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVarzuzdcshowsPrec_e()+{+ h$p1(h$$xv);+ return h$e(h$r3);+};+function h$$xw()+{+ --h$sp;+ return h$e(h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar3);+};+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVarzuzdcshow_e()+{+ h$p1(h$$xw);+ return h$e(h$r2);+};+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar3 = h$strta("thread blocked indefinitely in an MVar operation");+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar2_e()+{+ h$l3(h$r2, h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar3, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xx()+{+ --h$sp;+ h$r1 = h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar2;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar1_e()+{+ h$p1(h$$xx);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVarzuzdcshowList_e()+{+ h$l4(h$r3, h$r2, h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar1, h$baseZCGHCziShowzishowListzuzu);+ return h$baseZCGHCziShowzishowListzuzu_e;+};+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuww5 = h$strta("BlockedIndefinitelyOnMVar");+function h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdctypeRepzh_e()+{+ return h$e(h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVar1);+};+function h$$xz()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdctypeRepzh, a,+ h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$xy()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$xz);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdcfromException_e()+{+ h$p1(h$$xy);+ return h$e(h$r2);+};+var h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuww5 = h$strta("AsyncException");+function h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuzdctypeRepzh_e()+{+ return h$e(h$baseZCGHCziIOziExceptionzizdfExceptionAsyncException1);+};+function h$$xD()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuzdctypeRepzh, a, h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$xC()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$xD);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$$xB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ if(h$hs_eqWord64(c, e, (-645907477), (-1617761578)))+ {+ if(h$hs_eqWord64(f, d.d3, (-980415011), (-840439589)))+ {+ h$p1(h$$xC);+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ };+ }+ else+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ };+ return h$stack[h$sp];+};+function h$$xA()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$xB);+ ++h$sp;+ h$stack[h$sp] = h$ap_1_0;+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuzdsasyncExceptionFromException_e()+{+ h$p1(h$$xA);+ return h$e(h$r2);+};+var h$baseZCGHCziIOziExceptionzizdfShowArrayException2 = h$strta(": ");+var h$baseZCGHCziIOziExceptionzizdfExceptionArrayException3 = h$strta("base");+var h$baseZCGHCziIOziExceptionzizdfExceptionArrayExceptionzuww4 = h$strta("GHC.IO.Exception");+function h$baseZCGHCziIOziExceptionziBlockedIndefinitelyOnMVar_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziBlockedIndefinitelyOnSTM_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziIOError_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziIOError_e()+{+ h$r1 = h$c6(h$baseZCGHCziIOziExceptionziIOError_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziInterrupted_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziResourceVanished_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziTimeExpired_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziUnsupportedOperation_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziHardwareFault_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziInappropriateType_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziInvalidArgument_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziOtherError_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziProtocolError_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziUnsatisfiedConstraints_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziUserError_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziPermissionDenied_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziIllegalOperation_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziResourceExhausted_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziResourceBusy_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziNoSuchThing_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziExceptionziAlreadyExists_con_e()+{+ return h$stack[h$sp];+};+function h$$xL()+{+ h$l3(h$baseZCGHCziIOziExceptionziuntangle2, h$r1.d1, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xK()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(h$c1(h$$xL, b), a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+var h$$baseZCGHCziIOziException_ea = h$str(": ");+function h$$xJ()+{+ var a = h$r1.d1;+ h$r4 = h$c2(h$$xK, a, h$r1.d2);+ h$r3 = 0;+ h$r2 = h$$baseZCGHCziIOziException_ea();+ h$r1 = h$ghczmprimZCGHCziCStringziunpackAppendCStringzh;+ return h$ap_2_3_fast();+};+function h$$xI()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(h$c2(h$$xJ, a, h$r2), h$r1, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$xH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ --h$sp;+ var d = a;+ if((d === 124))+ {+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$baseZCGHCziIOziExceptionziuntangle1, c), b);+ ++h$sp;+ ++h$sp;+ return h$$xI;+ }+ else+ {+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, b);+ ++h$sp;+ ++h$sp;+ return h$$xI;+ };+};+function h$$xG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ --h$sp;+ if((a.f.a === 1))+ {+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, b);+ ++h$sp;+ ++h$sp;+ return h$$xI;+ }+ else+ {+ var c = a.d1;+ var d = a.d2;+ ++h$sp;+ h$pp6(d, h$$xH);+ return h$e(c);+ };+};+function h$$xF()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ h$sp -= 2;+ var c = a;+ var d = b;+ ++h$sp;+ h$p2(c, h$$xG);+ return h$e(d);+};+function h$$xE()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$xF);+ h$l3(a, h$baseZCGHCziIOziExceptionziuntangle4, h$baseZCGHCziListzizdwspan);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziIOziExceptionziuntangle_e()+{+ h$p2(h$r4, h$$xE);+ h$r1 = h$ghczmprimZCGHCziCStringziunpackCStringUtf8zh;+ return h$ghczmprimZCGHCziCStringziunpackCStringUtf8zh_e;+};+function h$baseZCGHCziIOziExceptionziioError_e()+{+ h$r1 = h$$xM;+ return h$ap_2_1_fast();+};+function h$baseZCGHCziIOziExceptionziioException_e()+{+ h$r1 = h$$xM;+ return h$ap_2_1_fast();+};+function h$baseZCGHCziIOziExceptionzizdfxExceptionIOException_e()+{+ h$bh();+ return h$e(h$baseZCGHCziIOziExceptionzizdfExceptionIOException);+};+function h$baseZCGHCziIOziExceptionziuserError_e()+{+ h$r1 = h$c6(h$baseZCGHCziIOziExceptionziIOError_con_e, h$baseZCDataziMaybeziNothing,+ h$baseZCGHCziIOziExceptionziUserError, h$ghczmprimZCGHCziTypesziZMZN, h$r2, h$baseZCDataziMaybeziNothing,+ h$baseZCDataziMaybeziNothing);+ return h$stack[h$sp];+};+function h$$x7()+{+ --h$sp;+ h$l2(h$baseZCGHCziIOziEncodingziFailurezirecoverDecode2, h$baseZCGHCziIOziExceptionziioException);+ return h$ap_2_1_fast();+};+function h$$x6()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p1(h$$x7);+ return h$e(a);+};+function h$baseZCGHCziIOziEncodingziUTF8ziutf6_e()+{+ h$p2(h$r3, h$$x6);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziEncodingziUTF8ziutf4_e()+{+ h$r1 = h$baseZCGHCziIOziEncodingziUTF8ziutf5;+ return h$stack[h$sp];+};+function h$$x9()+{+ var a = h$stack[(h$sp - 4)];+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var d = a.dv.getUint32((b + (c << 2)), true);+ h$r1 = h$baseZCGHCziIOziEncodingziFailurezizdwa2;+ return h$ap_1_0_fast();+};+function h$$x8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ h$p5(c, e, f, d.d5, h$$x9);+ return h$e(b);+};+function h$baseZCGHCziIOziEncodingziUTF8ziutf3_e()+{+ h$p2(h$r3, h$$x8);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziEncodingziUTF8ziutf1_e()+{+ h$r1 = h$baseZCGHCziIOziEncodingziUTF8ziutf2;+ return h$stack[h$sp];+};+var h$baseZCGHCziIOziEncodingziUTF8zimkUTF5 = h$strta("UTF-8");+function h$$yp()+{+ var a = h$stack[(h$sp - 19)];+ var b = h$stack[(h$sp - 18)];+ var c = h$stack[(h$sp - 17)];+ var d = h$stack[(h$sp - 16)];+ var e = h$stack[(h$sp - 15)];+ var f = h$stack[(h$sp - 14)];+ var g = h$stack[(h$sp - 13)];+ var h = h$stack[(h$sp - 12)];+ var i = h$stack[(h$sp - 11)];+ var j = h$stack[(h$sp - 10)];+ var k = h$stack[(h$sp - 9)];+ var l = h$stack[(h$sp - 8)];+ var m = h$stack[(h$sp - 7)];+ var n = h$stack[(h$sp - 6)];+ var o = h$stack[(h$sp - 5)];+ var p = h$stack[(h$sp - 4)];+ var q = h$stack[(h$sp - 3)];+ var r = h$stack[(h$sp - 2)];+ var s = h$stack[(h$sp - 1)];+ h$sp -= 20;+ var t = p;+ if((t === 244))+ {+ if((((q >>> 1) > 64) || (((q >>> 1) == 64) && ((q & 1) >= 0))))+ {+ if((((q >>> 1) < 71) || (((q >>> 1) == 71) && ((q & 1) <= 1))))+ {+ if((((r >>> 1) > 64) || (((r >>> 1) == 64) && ((r & 1) >= 0))))+ {+ if((((r >>> 1) < 95) || (((r >>> 1) == 95) && ((r & 1) <= 1))))+ {+ if((((s >>> 1) > 64) || (((s >>> 1) == 64) && ((s & 1) >= 0))))+ {+ if((((s >>> 1) < 95) || (((s >>> 1) == 95) && ((s & 1) <= 1))))+ {+ var u = s;+ var v = ((u - 128) | 0);+ var w = r;+ var x = ((w - 128) | 0);+ var y = (x << 6);+ var z = q;+ var A = ((z - 128) | 0);+ var B = (A << 12);+ var C = ((1048576 + B) | 0);+ var D = ((C + y) | 0);+ var E = ((D + v) | 0);+ g.dv.setUint32((h + (o << 2)), E, true);+ h$l2(((o + 1) | 0), ((n + 4) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ya;+ }+ else+ {+ var F = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var G;+ if((n === f))+ {+ G = m;+ }+ else+ {+ G = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, G, F);+ };+ }+ else+ {+ var H = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var I;+ if((n === f))+ {+ I = m;+ }+ else+ {+ I = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, I, H);+ };+ }+ else+ {+ var J = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var K;+ if((n === f))+ {+ K = m;+ }+ else+ {+ K = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, K, J);+ };+ }+ else+ {+ var L = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var M;+ if((n === f))+ {+ M = m;+ }+ else+ {+ M = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, M, L);+ };+ }+ else+ {+ var N = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var O;+ if((n === f))+ {+ O = m;+ }+ else+ {+ O = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, O, N);+ };+ }+ else+ {+ var P = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var Q;+ if((n === f))+ {+ Q = m;+ }+ else+ {+ Q = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, Q, P);+ };+ }+ else+ {+ var R = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var S;+ if((n === f))+ {+ S = m;+ }+ else+ {+ S = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, S, R);+ };+ return h$stack[h$sp];+};+function h$$yo()+{+ var a = h$stack[(h$sp - 13)];+ var b = h$stack[(h$sp - 12)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 20;+ if((((e >>> 1) > 120) || (((e >>> 1) == 120) && ((e & 1) >= 1))))+ {+ if((((e >>> 1) < 121) || (((e >>> 1) == 121) && ((e & 1) <= 1))))+ {+ if((((f >>> 1) > 64) || (((f >>> 1) == 64) && ((f & 1) >= 0))))+ {+ if((((f >>> 1) < 95) || (((f >>> 1) == 95) && ((f & 1) <= 1))))+ {+ if((((g >>> 1) > 64) || (((g >>> 1) == 64) && ((g & 1) >= 0))))+ {+ if((((g >>> 1) < 95) || (((g >>> 1) == 95) && ((g & 1) <= 1))))+ {+ if((((h >>> 1) > 64) || (((h >>> 1) == 64) && ((h & 1) >= 0))))+ {+ if((((h >>> 1) < 95) || (((h >>> 1) == 95) && ((h & 1) <= 1))))+ {+ var i = h;+ var j = ((i - 128) | 0);+ var k = g;+ var l = ((k - 128) | 0);+ var m = (l << 6);+ var n = f;+ var o = ((n - 128) | 0);+ var p = (o << 12);+ var q = e;+ var r = ((q - 240) | 0);+ var s = (r << 18);+ var t = ((s + p) | 0);+ var u = ((t + m) | 0);+ var v = ((u + j) | 0);+ a.dv.setUint32((b + (d << 2)), v, true);+ h$l2(((d + 1) | 0), ((c + 4) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ya;+ }+ else+ {+ h$sp += 19;+ ++h$sp;+ return h$$yp;+ };+ }+ else+ {+ h$sp += 19;+ ++h$sp;+ return h$$yp;+ };+ }+ else+ {+ h$sp += 19;+ ++h$sp;+ return h$$yp;+ };+ }+ else+ {+ h$sp += 19;+ ++h$sp;+ return h$$yp;+ };+ }+ else+ {+ h$sp += 19;+ ++h$sp;+ return h$$yp;+ };+ }+ else+ {+ h$sp += 19;+ ++h$sp;+ return h$$yp;+ };+ }+ else+ {+ h$sp += 19;+ ++h$sp;+ return h$$yp;+ };+ }+ else+ {+ h$sp += 19;+ ++h$sp;+ return h$$yp;+ };+};+function h$$yn()+{+ var a = h$stack[(h$sp - 17)];+ var b = h$stack[(h$sp - 16)];+ var c = h$stack[(h$sp - 15)];+ var d = h$stack[(h$sp - 14)];+ var e = h$stack[(h$sp - 13)];+ var f = h$stack[(h$sp - 12)];+ var g = h$stack[(h$sp - 11)];+ var h = h$stack[(h$sp - 10)];+ var i = h$stack[(h$sp - 9)];+ var j = h$stack[(h$sp - 8)];+ var k = h$stack[(h$sp - 7)];+ var l = h$stack[(h$sp - 6)];+ var m = h$stack[(h$sp - 5)];+ var n = h$stack[(h$sp - 4)];+ var o = h$stack[(h$sp - 3)];+ var p = h$stack[(h$sp - 2)];+ var q = h$stack[(h$sp - 1)];+ h$sp -= 18;+ var r = p;+ if((r === 244))+ {+ if((((q >>> 1) > 64) || (((q >>> 1) == 64) && ((q & 1) >= 0))))+ {+ if((((q >>> 1) < 71) || (((q >>> 1) == 71) && ((q & 1) <= 1))))+ {+ var s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var t;+ if((n === f))+ {+ t = m;+ }+ else+ {+ t = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, t, s);+ }+ else+ {+ var u = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var v;+ if((n === f))+ {+ v = m;+ }+ else+ {+ v = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, v, u);+ };+ }+ else+ {+ var w = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var x;+ if((n === f))+ {+ x = m;+ }+ else+ {+ x = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, x, w);+ };+ }+ else+ {+ var y = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var z;+ if((n === f))+ {+ z = m;+ }+ else+ {+ z = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, z, y);+ };+ return h$stack[h$sp];+};+function h$$ym()+{+ var a = h$stack[(h$sp - 17)];+ var b = h$stack[(h$sp - 16)];+ var c = h$stack[(h$sp - 15)];+ var d = h$stack[(h$sp - 14)];+ var e = h$stack[(h$sp - 13)];+ var f = h$stack[(h$sp - 12)];+ var g = h$stack[(h$sp - 11)];+ var h = h$stack[(h$sp - 10)];+ var i = h$stack[(h$sp - 9)];+ var j = h$stack[(h$sp - 8)];+ var k = h$stack[(h$sp - 7)];+ var l = h$stack[(h$sp - 6)];+ var m = h$stack[(h$sp - 5)];+ var n = h$stack[(h$sp - 4)];+ var o = h$stack[(h$sp - 3)];+ var p = h$stack[(h$sp - 2)];+ var q = h$stack[(h$sp - 1)];+ h$sp -= 18;+ if((((p >>> 1) > 120) || (((p >>> 1) == 120) && ((p & 1) >= 1))))+ {+ if((((p >>> 1) < 121) || (((p >>> 1) == 121) && ((p & 1) <= 1))))+ {+ if((((q >>> 1) > 64) || (((q >>> 1) == 64) && ((q & 1) >= 0))))+ {+ if((((q >>> 1) < 95) || (((q >>> 1) == 95) && ((q & 1) <= 1))))+ {+ var r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var s;+ if((n === f))+ {+ s = m;+ }+ else+ {+ s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, s, r);+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$yn;+ };+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$yn;+ };+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$yn;+ };+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$yn;+ };+ return h$stack[h$sp];+};+function h$$yl()+{+ var a = h$stack[(h$sp - 18)];+ var b = h$stack[(h$sp - 17)];+ var c = h$stack[(h$sp - 16)];+ var d = h$stack[(h$sp - 15)];+ var e = h$stack[(h$sp - 14)];+ var f = h$stack[(h$sp - 13)];+ var g = h$stack[(h$sp - 12)];+ var h = h$stack[(h$sp - 11)];+ var i = h$stack[(h$sp - 10)];+ var j = h$stack[(h$sp - 9)];+ var k = h$stack[(h$sp - 8)];+ var l = h$stack[(h$sp - 7)];+ var m = h$stack[(h$sp - 6)];+ var n = h$stack[(h$sp - 5)];+ var o = h$stack[(h$sp - 4)];+ var p = h$stack[(h$sp - 3)];+ var q = h$stack[(h$sp - 2)];+ var r = h$stack[(h$sp - 1)];+ h$sp -= 19;+ var s = p;+ if((s === 244))+ {+ if((((q >>> 1) > 64) || (((q >>> 1) == 64) && ((q & 1) >= 0))))+ {+ if((((q >>> 1) < 71) || (((q >>> 1) == 71) && ((q & 1) <= 1))))+ {+ if((((r >>> 1) > 64) || (((r >>> 1) == 64) && ((r & 1) >= 0))))+ {+ if((((r >>> 1) < 95) || (((r >>> 1) == 95) && ((r & 1) <= 1))))+ {+ var t = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var u;+ if((n === f))+ {+ u = m;+ }+ else+ {+ u = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, u, t);+ }+ else+ {+ var v = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var w;+ if((n === f))+ {+ w = m;+ }+ else+ {+ w = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, w, v);+ };+ }+ else+ {+ var x = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var y;+ if((n === f))+ {+ y = m;+ }+ else+ {+ y = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, y, x);+ };+ }+ else+ {+ var z = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var A;+ if((n === f))+ {+ A = m;+ }+ else+ {+ A = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, A, z);+ };+ }+ else+ {+ var B = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var C;+ if((n === f))+ {+ C = m;+ }+ else+ {+ C = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, C, B);+ };+ }+ else+ {+ var D = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var E;+ if((n === f))+ {+ E = m;+ }+ else+ {+ E = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, E, D);+ };+ return h$stack[h$sp];+};+function h$$yk()+{+ var a = h$stack[(h$sp - 18)];+ var b = h$stack[(h$sp - 17)];+ var c = h$stack[(h$sp - 16)];+ var d = h$stack[(h$sp - 15)];+ var e = h$stack[(h$sp - 14)];+ var f = h$stack[(h$sp - 13)];+ var g = h$stack[(h$sp - 12)];+ var h = h$stack[(h$sp - 11)];+ var i = h$stack[(h$sp - 10)];+ var j = h$stack[(h$sp - 9)];+ var k = h$stack[(h$sp - 8)];+ var l = h$stack[(h$sp - 7)];+ var m = h$stack[(h$sp - 6)];+ var n = h$stack[(h$sp - 5)];+ var o = h$stack[(h$sp - 4)];+ var p = h$stack[(h$sp - 3)];+ var q = h$stack[(h$sp - 2)];+ var r = h$stack[(h$sp - 1)];+ h$sp -= 19;+ if((((p >>> 1) > 120) || (((p >>> 1) == 120) && ((p & 1) >= 1))))+ {+ if((((p >>> 1) < 121) || (((p >>> 1) == 121) && ((p & 1) <= 1))))+ {+ if((((q >>> 1) > 64) || (((q >>> 1) == 64) && ((q & 1) >= 0))))+ {+ if((((q >>> 1) < 95) || (((q >>> 1) == 95) && ((q & 1) <= 1))))+ {+ if((((r >>> 1) > 64) || (((r >>> 1) == 64) && ((r & 1) >= 0))))+ {+ if((((r >>> 1) < 95) || (((r >>> 1) == 95) && ((r & 1) <= 1))))+ {+ var s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var t;+ if((n === f))+ {+ t = m;+ }+ else+ {+ t = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, t, s);+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yl;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yl;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yl;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yl;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yl;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yl;+ };+ return h$stack[h$sp];+};+function h$$yj()+{+ var a = h$stack[(h$sp - 16)];+ var b = h$stack[(h$sp - 15)];+ var c = h$stack[(h$sp - 14)];+ var d = h$stack[(h$sp - 13)];+ var e = h$stack[(h$sp - 12)];+ var f = h$stack[(h$sp - 11)];+ var g = h$stack[(h$sp - 10)];+ var h = h$stack[(h$sp - 9)];+ var i = h$stack[(h$sp - 8)];+ var j = h$stack[(h$sp - 7)];+ var k = h$stack[(h$sp - 6)];+ var l = h$stack[(h$sp - 5)];+ var m = h$stack[(h$sp - 4)];+ var n = h$stack[(h$sp - 3)];+ var o = h$stack[(h$sp - 2)];+ var p = h$stack[(h$sp - 1)];+ h$sp -= 17;+ if((((p >>> 1) > 120) || (((p >>> 1) == 120) && ((p & 1) >= 0))))+ {+ switch (((f - n) | 0))+ {+ case (1):+ var q = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var r;+ if((n === f))+ {+ r = m;+ }+ else+ {+ r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, r, q);+ break;+ case (2):+ var s = ((n + 1) | 0);+ var t;+ var u;+ t = a;+ u = (b + s);+ var v = t.u8[(u + 0)];+ var w = p;+ if((w === 240))+ {+ if((((v >>> 1) > 72) || (((v >>> 1) == 72) && ((v & 1) >= 0))))+ {+ if((((v >>> 1) < 95) || (((v >>> 1) == 95) && ((v & 1) <= 1))))+ {+ var x = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var y;+ if((n === f))+ {+ y = m;+ }+ else+ {+ y = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, y, x);+ }+ else+ {+ h$sp += 17;+ h$stack[h$sp] = v;+ ++h$sp;+ return h$$ym;+ };+ }+ else+ {+ h$sp += 17;+ h$stack[h$sp] = v;+ ++h$sp;+ return h$$ym;+ };+ }+ else+ {+ h$sp += 17;+ h$stack[h$sp] = v;+ ++h$sp;+ return h$$ym;+ };+ break;+ case (3):+ var z = ((n + 1) | 0);+ var A;+ var B;+ A = a;+ B = (b + z);+ var C = A.u8[(B + 0)];+ var D = ((n + 2) | 0);+ var E;+ var F;+ E = a;+ F = (b + D);+ var G = E.u8[(F + 0)];+ var H = p;+ if((H === 240))+ {+ if((((C >>> 1) > 72) || (((C >>> 1) == 72) && ((C & 1) >= 0))))+ {+ if((((C >>> 1) < 95) || (((C >>> 1) == 95) && ((C & 1) <= 1))))+ {+ if((((G >>> 1) > 64) || (((G >>> 1) == 64) && ((G & 1) >= 0))))+ {+ if((((G >>> 1) < 95) || (((G >>> 1) == 95) && ((G & 1) <= 1))))+ {+ var I = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var J;+ if((n === f))+ {+ J = m;+ }+ else+ {+ J = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, J, I);+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yk;+ };+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yk;+ };+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yk;+ };+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yk;+ };+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yk;+ };+ break;+ default:+ var K = ((n + 1) | 0);+ var L;+ var M;+ L = a;+ M = (b + K);+ var N = L.u8[(M + 0)];+ var O = ((n + 2) | 0);+ var P;+ var Q;+ P = a;+ Q = (b + O);+ var R = P.u8[(Q + 0)];+ var S = ((n + 3) | 0);+ var T;+ var U;+ T = a;+ U = (b + S);+ var V = T.u8[(U + 0)];+ var W = p;+ if((W === 240))+ {+ if((((N >>> 1) > 72) || (((N >>> 1) == 72) && ((N & 1) >= 0))))+ {+ if((((N >>> 1) < 95) || (((N >>> 1) == 95) && ((N & 1) <= 1))))+ {+ if((((R >>> 1) > 64) || (((R >>> 1) == 64) && ((R & 1) >= 0))))+ {+ if((((R >>> 1) < 95) || (((R >>> 1) == 95) && ((R & 1) <= 1))))+ {+ if((((V >>> 1) > 64) || (((V >>> 1) == 64) && ((V & 1) >= 0))))+ {+ if((((V >>> 1) < 95) || (((V >>> 1) == 95) && ((V & 1) <= 1))))+ {+ var X = V;+ var Y = ((X - 128) | 0);+ var Z = R;+ var aa = ((Z - 128) | 0);+ var ab = (aa << 6);+ var ac = N;+ var ad = ((ac - 128) | 0);+ var ae = (ad << 12);+ var af = ((ae + ab) | 0);+ var ag = ((af + Y) | 0);+ g.dv.setUint32((h + (o << 2)), ag, true);+ h$l2(((o + 1) | 0), ((n + 4) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ya;+ }+ else+ {+ h$sp += 19;+ h$stack[(h$sp - 2)] = N;+ h$stack[(h$sp - 1)] = R;+ h$stack[h$sp] = V;+ ++h$sp;+ return h$$yo;+ };+ }+ else+ {+ h$sp += 19;+ h$stack[(h$sp - 2)] = N;+ h$stack[(h$sp - 1)] = R;+ h$stack[h$sp] = V;+ ++h$sp;+ return h$$yo;+ };+ }+ else+ {+ h$sp += 19;+ h$stack[(h$sp - 2)] = N;+ h$stack[(h$sp - 1)] = R;+ h$stack[h$sp] = V;+ ++h$sp;+ return h$$yo;+ };+ }+ else+ {+ h$sp += 19;+ h$stack[(h$sp - 2)] = N;+ h$stack[(h$sp - 1)] = R;+ h$stack[h$sp] = V;+ ++h$sp;+ return h$$yo;+ };+ }+ else+ {+ h$sp += 19;+ h$stack[(h$sp - 2)] = N;+ h$stack[(h$sp - 1)] = R;+ h$stack[h$sp] = V;+ ++h$sp;+ return h$$yo;+ };+ }+ else+ {+ h$sp += 19;+ h$stack[(h$sp - 2)] = N;+ h$stack[(h$sp - 1)] = R;+ h$stack[h$sp] = V;+ ++h$sp;+ return h$$yo;+ };+ }+ else+ {+ h$sp += 19;+ h$stack[(h$sp - 2)] = N;+ h$stack[(h$sp - 1)] = R;+ h$stack[h$sp] = V;+ ++h$sp;+ return h$$yo;+ };+ };+ }+ else+ {+ var ah = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var ai;+ if((n === f))+ {+ ai = m;+ }+ else+ {+ ai = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, ai, ah);+ };+ return h$stack[h$sp];+};+function h$$yi()+{+ var a = h$stack[(h$sp - 18)];+ var b = h$stack[(h$sp - 17)];+ var c = h$stack[(h$sp - 16)];+ var d = h$stack[(h$sp - 15)];+ var e = h$stack[(h$sp - 14)];+ var f = h$stack[(h$sp - 13)];+ var g = h$stack[(h$sp - 12)];+ var h = h$stack[(h$sp - 11)];+ var i = h$stack[(h$sp - 10)];+ var j = h$stack[(h$sp - 9)];+ var k = h$stack[(h$sp - 8)];+ var l = h$stack[(h$sp - 7)];+ var m = h$stack[(h$sp - 6)];+ var n = h$stack[(h$sp - 5)];+ var o = h$stack[(h$sp - 4)];+ var p = h$stack[(h$sp - 3)];+ var q = h$stack[(h$sp - 2)];+ var r = h$stack[(h$sp - 1)];+ h$sp -= 19;+ if((((p >>> 1) > 119) || (((p >>> 1) == 119) && ((p & 1) >= 0))))+ {+ if((((q >>> 1) > 64) || (((q >>> 1) == 64) && ((q & 1) >= 0))))+ {+ if((((q >>> 1) < 95) || (((q >>> 1) == 95) && ((q & 1) <= 1))))+ {+ if((((r >>> 1) > 64) || (((r >>> 1) == 64) && ((r & 1) >= 0))))+ {+ if((((r >>> 1) < 95) || (((r >>> 1) == 95) && ((r & 1) <= 1))))+ {+ var s = r;+ var t = ((s - 128) | 0);+ var u = q;+ var v = ((u - 128) | 0);+ var w = (v << 6);+ var x = p;+ var y = ((x - 224) | 0);+ var z = (y << 12);+ var A = ((z + w) | 0);+ var B = ((A + t) | 0);+ g.dv.setUint32((h + (o << 2)), B, true);+ h$l2(((o + 1) | 0), ((n + 3) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ya;+ }+ else+ {+ var C = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var D;+ if((n === f))+ {+ D = m;+ }+ else+ {+ D = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, D, C);+ };+ }+ else+ {+ var E = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var F;+ if((n === f))+ {+ F = m;+ }+ else+ {+ F = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, F, E);+ };+ }+ else+ {+ var G = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var H;+ if((n === f))+ {+ H = m;+ }+ else+ {+ H = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, H, G);+ };+ }+ else+ {+ var I = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var J;+ if((n === f))+ {+ J = m;+ }+ else+ {+ J = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, J, I);+ };+ }+ else+ {+ var K = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var L;+ if((n === f))+ {+ L = m;+ }+ else+ {+ L = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, L, K);+ };+ return h$stack[h$sp];+};+function h$$yh()+{+ var a = h$stack[(h$sp - 12)];+ var b = h$stack[(h$sp - 11)];+ var c = h$stack[(h$sp - 5)];+ var d = h$stack[(h$sp - 4)];+ var e = h$stack[(h$sp - 3)];+ var f = h$stack[(h$sp - 2)];+ var g = h$stack[(h$sp - 1)];+ h$sp -= 19;+ var h = e;+ if((h === 237))+ {+ if((((f >>> 1) > 64) || (((f >>> 1) == 64) && ((f & 1) >= 0))))+ {+ if((((f >>> 1) < 79) || (((f >>> 1) == 79) && ((f & 1) <= 1))))+ {+ if((((g >>> 1) > 64) || (((g >>> 1) == 64) && ((g & 1) >= 0))))+ {+ if((((g >>> 1) < 95) || (((g >>> 1) == 95) && ((g & 1) <= 1))))+ {+ var i = g;+ var j = ((i - 128) | 0);+ var k = f;+ var l = ((k - 128) | 0);+ var m = (l << 6);+ var n = ((53248 + m) | 0);+ var o = ((n + j) | 0);+ a.dv.setUint32((b + (d << 2)), o, true);+ h$l2(((d + 1) | 0), ((c + 3) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ya;+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yi;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yi;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yi;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yi;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yi;+ };+};+function h$$yg()+{+ var a = h$stack[(h$sp - 12)];+ var b = h$stack[(h$sp - 11)];+ var c = h$stack[(h$sp - 5)];+ var d = h$stack[(h$sp - 4)];+ var e = h$stack[(h$sp - 3)];+ var f = h$stack[(h$sp - 2)];+ var g = h$stack[(h$sp - 1)];+ h$sp -= 19;+ if((((e >>> 1) > 112) || (((e >>> 1) == 112) && ((e & 1) >= 1))))+ {+ if((((e >>> 1) < 118) || (((e >>> 1) == 118) && ((e & 1) <= 0))))+ {+ if((((f >>> 1) > 64) || (((f >>> 1) == 64) && ((f & 1) >= 0))))+ {+ if((((f >>> 1) < 95) || (((f >>> 1) == 95) && ((f & 1) <= 1))))+ {+ if((((g >>> 1) > 64) || (((g >>> 1) == 64) && ((g & 1) >= 0))))+ {+ if((((g >>> 1) < 95) || (((g >>> 1) == 95) && ((g & 1) <= 1))))+ {+ var h = g;+ var i = ((h - 128) | 0);+ var j = f;+ var k = ((j - 128) | 0);+ var l = (k << 6);+ var m = e;+ var n = ((m - 224) | 0);+ var o = (n << 12);+ var p = ((o + l) | 0);+ var q = ((p + i) | 0);+ a.dv.setUint32((b + (d << 2)), q, true);+ h$l2(((d + 1) | 0), ((c + 3) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ya;+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yh;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yh;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yh;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yh;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yh;+ };+ }+ else+ {+ h$sp += 18;+ ++h$sp;+ return h$$yh;+ };+};+function h$$yf()+{+ var a = h$stack[(h$sp - 17)];+ var b = h$stack[(h$sp - 16)];+ var c = h$stack[(h$sp - 15)];+ var d = h$stack[(h$sp - 14)];+ var e = h$stack[(h$sp - 13)];+ var f = h$stack[(h$sp - 12)];+ var g = h$stack[(h$sp - 11)];+ var h = h$stack[(h$sp - 10)];+ var i = h$stack[(h$sp - 9)];+ var j = h$stack[(h$sp - 8)];+ var k = h$stack[(h$sp - 7)];+ var l = h$stack[(h$sp - 6)];+ var m = h$stack[(h$sp - 5)];+ var n = h$stack[(h$sp - 4)];+ var o = h$stack[(h$sp - 3)];+ var p = h$stack[(h$sp - 2)];+ var q = h$stack[(h$sp - 1)];+ h$sp -= 18;+ if((((p >>> 1) > 119) || (((p >>> 1) == 119) && ((p & 1) >= 0))))+ {+ if((((q >>> 1) > 64) || (((q >>> 1) == 64) && ((q & 1) >= 0))))+ {+ if((((q >>> 1) < 95) || (((q >>> 1) == 95) && ((q & 1) <= 1))))+ {+ var r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var s;+ if((n === f))+ {+ s = m;+ }+ else+ {+ s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, s, r);+ }+ else+ {+ var t = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var u;+ if((n === f))+ {+ u = m;+ }+ else+ {+ u = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, u, t);+ };+ }+ else+ {+ var v = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var w;+ if((n === f))+ {+ w = m;+ }+ else+ {+ w = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, w, v);+ };+ }+ else+ {+ var x = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var y;+ if((n === f))+ {+ y = m;+ }+ else+ {+ y = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, y, x);+ };+ return h$stack[h$sp];+};+function h$$ye()+{+ var a = h$stack[(h$sp - 17)];+ var b = h$stack[(h$sp - 16)];+ var c = h$stack[(h$sp - 15)];+ var d = h$stack[(h$sp - 14)];+ var e = h$stack[(h$sp - 13)];+ var f = h$stack[(h$sp - 12)];+ var g = h$stack[(h$sp - 11)];+ var h = h$stack[(h$sp - 10)];+ var i = h$stack[(h$sp - 9)];+ var j = h$stack[(h$sp - 8)];+ var k = h$stack[(h$sp - 7)];+ var l = h$stack[(h$sp - 6)];+ var m = h$stack[(h$sp - 5)];+ var n = h$stack[(h$sp - 4)];+ var o = h$stack[(h$sp - 3)];+ var p = h$stack[(h$sp - 2)];+ var q = h$stack[(h$sp - 1)];+ h$sp -= 18;+ var r = p;+ if((r === 237))+ {+ if((((q >>> 1) > 64) || (((q >>> 1) == 64) && ((q & 1) >= 0))))+ {+ if((((q >>> 1) < 79) || (((q >>> 1) == 79) && ((q & 1) <= 1))))+ {+ var s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var t;+ if((n === f))+ {+ t = m;+ }+ else+ {+ t = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, t, s);+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$yf;+ };+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$yf;+ };+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$yf;+ };+ return h$stack[h$sp];+};+function h$$yd()+{+ var a = h$stack[(h$sp - 17)];+ var b = h$stack[(h$sp - 16)];+ var c = h$stack[(h$sp - 15)];+ var d = h$stack[(h$sp - 14)];+ var e = h$stack[(h$sp - 13)];+ var f = h$stack[(h$sp - 12)];+ var g = h$stack[(h$sp - 11)];+ var h = h$stack[(h$sp - 10)];+ var i = h$stack[(h$sp - 9)];+ var j = h$stack[(h$sp - 8)];+ var k = h$stack[(h$sp - 7)];+ var l = h$stack[(h$sp - 6)];+ var m = h$stack[(h$sp - 5)];+ var n = h$stack[(h$sp - 4)];+ var o = h$stack[(h$sp - 3)];+ var p = h$stack[(h$sp - 2)];+ var q = h$stack[(h$sp - 1)];+ h$sp -= 18;+ if((((p >>> 1) > 112) || (((p >>> 1) == 112) && ((p & 1) >= 1))))+ {+ if((((p >>> 1) < 118) || (((p >>> 1) == 118) && ((p & 1) <= 0))))+ {+ if((((q >>> 1) > 64) || (((q >>> 1) == 64) && ((q & 1) >= 0))))+ {+ if((((q >>> 1) < 95) || (((q >>> 1) == 95) && ((q & 1) <= 1))))+ {+ var r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var s;+ if((n === f))+ {+ s = m;+ }+ else+ {+ s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, s, r);+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$ye;+ };+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$ye;+ };+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$ye;+ };+ }+ else+ {+ h$sp += 17;+ ++h$sp;+ return h$$ye;+ };+ return h$stack[h$sp];+};+function h$$yc()+{+ var a = h$stack[(h$sp - 16)];+ var b = h$stack[(h$sp - 15)];+ var c = h$stack[(h$sp - 14)];+ var d = h$stack[(h$sp - 13)];+ var e = h$stack[(h$sp - 12)];+ var f = h$stack[(h$sp - 11)];+ var g = h$stack[(h$sp - 10)];+ var h = h$stack[(h$sp - 9)];+ var i = h$stack[(h$sp - 8)];+ var j = h$stack[(h$sp - 7)];+ var k = h$stack[(h$sp - 6)];+ var l = h$stack[(h$sp - 5)];+ var m = h$stack[(h$sp - 4)];+ var n = h$stack[(h$sp - 3)];+ var o = h$stack[(h$sp - 2)];+ var p = h$stack[(h$sp - 1)];+ h$sp -= 17;+ if((((p >>> 1) > 112) || (((p >>> 1) == 112) && ((p & 1) >= 0))))+ {+ if((((p >>> 1) < 119) || (((p >>> 1) == 119) && ((p & 1) <= 1))))+ {+ switch (((f - n) | 0))+ {+ case (1):+ var q = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var r;+ if((n === f))+ {+ r = m;+ }+ else+ {+ r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, r, q);+ break;+ case (2):+ var s = ((n + 1) | 0);+ var t;+ var u;+ t = a;+ u = (b + s);+ var v = t.u8[(u + 0)];+ var w = p;+ if((w === 224))+ {+ if((((v >>> 1) > 80) || (((v >>> 1) == 80) && ((v & 1) >= 0))))+ {+ if((((v >>> 1) < 95) || (((v >>> 1) == 95) && ((v & 1) <= 1))))+ {+ var x = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var y;+ if((n === f))+ {+ y = m;+ }+ else+ {+ y = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, y, x);+ }+ else+ {+ h$sp += 17;+ h$stack[h$sp] = v;+ ++h$sp;+ return h$$yd;+ };+ }+ else+ {+ h$sp += 17;+ h$stack[h$sp] = v;+ ++h$sp;+ return h$$yd;+ };+ }+ else+ {+ h$sp += 17;+ h$stack[h$sp] = v;+ ++h$sp;+ return h$$yd;+ };+ break;+ default:+ var z = ((n + 1) | 0);+ var A;+ var B;+ A = a;+ B = (b + z);+ var C = A.u8[(B + 0)];+ var D = ((n + 2) | 0);+ var E;+ var F;+ E = a;+ F = (b + D);+ var G = E.u8[(F + 0)];+ var H = p;+ if((H === 224))+ {+ if((((C >>> 1) > 80) || (((C >>> 1) == 80) && ((C & 1) >= 0))))+ {+ if((((C >>> 1) < 95) || (((C >>> 1) == 95) && ((C & 1) <= 1))))+ {+ if((((G >>> 1) > 64) || (((G >>> 1) == 64) && ((G & 1) >= 0))))+ {+ if((((G >>> 1) < 95) || (((G >>> 1) == 95) && ((G & 1) <= 1))))+ {+ var I = G;+ var J = ((I - 128) | 0);+ var K = C;+ var L = ((K - 128) | 0);+ var M = (L << 6);+ var N = ((M + J) | 0);+ g.dv.setUint32((h + (o << 2)), N, true);+ h$l2(((o + 1) | 0), ((n + 3) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ya;+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yg;+ };+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yg;+ };+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yg;+ };+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yg;+ };+ }+ else+ {+ h$sp += 18;+ h$stack[(h$sp - 1)] = C;+ h$stack[h$sp] = G;+ ++h$sp;+ return h$$yg;+ };+ };+ }+ else+ {+ h$sp += 16;+ ++h$sp;+ return h$$yj;+ };+ }+ else+ {+ h$sp += 16;+ ++h$sp;+ return h$$yj;+ };+ return h$stack[h$sp];+};+function h$$yb()+{+ var a = h$stack[(h$sp - 16)];+ var b = h$stack[(h$sp - 15)];+ var c = h$stack[(h$sp - 14)];+ var d = h$stack[(h$sp - 13)];+ var e = h$stack[(h$sp - 12)];+ var f = h$stack[(h$sp - 11)];+ var g = h$stack[(h$sp - 10)];+ var h = h$stack[(h$sp - 9)];+ var i = h$stack[(h$sp - 8)];+ var j = h$stack[(h$sp - 7)];+ var k = h$stack[(h$sp - 6)];+ var l = h$stack[(h$sp - 5)];+ var m = h$stack[(h$sp - 4)];+ var n = h$stack[(h$sp - 3)];+ var o = h$stack[(h$sp - 2)];+ var p = h$stack[(h$sp - 1)];+ h$sp -= 17;+ if((((p >>> 1) > 97) || (((p >>> 1) == 97) && ((p & 1) >= 0))))+ {+ if((((p >>> 1) < 111) || (((p >>> 1) == 111) && ((p & 1) <= 1))))+ {+ var q = ((f - n) | 0);+ if((q < 2))+ {+ var r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var s;+ if((n === f))+ {+ s = m;+ }+ else+ {+ s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, s, r);+ }+ else+ {+ var t = ((n + 1) | 0);+ var u;+ var v;+ u = a;+ v = (b + t);+ var w = u.u8[(v + 0)];+ if((((w >>> 1) < 64) || (((w >>> 1) == 64) && ((w & 1) < 0))))+ {+ var x = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var y;+ if((n === f))+ {+ y = m;+ }+ else+ {+ y = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, y, x);+ }+ else+ {+ if((((w >>> 1) > 96) || (((w >>> 1) == 96) && ((w & 1) >= 0))))+ {+ var z = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var A;+ if((n === f))+ {+ A = m;+ }+ else+ {+ A = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, A, z);+ }+ else+ {+ var B = w;+ var C = ((B - 128) | 0);+ var D = p;+ var E = ((D - 192) | 0);+ var F = (E << 6);+ var G = ((F + C) | 0);+ g.dv.setUint32((h + (o << 2)), G, true);+ h$l2(((o + 1) | 0), ((n + 2) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ya;+ };+ };+ };+ }+ else+ {+ h$sp += 16;+ ++h$sp;+ return h$$yc;+ };+ }+ else+ {+ h$sp += 16;+ ++h$sp;+ return h$$yc;+ };+ return h$stack[h$sp];+};+function h$$ya()+{+ var a = h$stack[(h$sp - 13)];+ var b = h$stack[(h$sp - 12)];+ var c = h$stack[(h$sp - 11)];+ var d = h$stack[(h$sp - 10)];+ var e = h$stack[(h$sp - 9)];+ var f = h$stack[(h$sp - 8)];+ var g = h$stack[(h$sp - 7)];+ var h = h$stack[(h$sp - 6)];+ var i = h$stack[(h$sp - 5)];+ var j = h$stack[(h$sp - 4)];+ var k = h$stack[(h$sp - 3)];+ var l = h$stack[(h$sp - 2)];+ var m = h$stack[(h$sp - 1)];+ h$sp -= 14;+ var n = h$r1;+ var o = h$r2;+ if((o >= k))+ {+ var p = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var q;+ if((n === f))+ {+ q = m;+ }+ else+ {+ q = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziOutputUnderflow, q, p);+ }+ else+ {+ if((n >= f))+ {+ var r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var s;+ if((n === f))+ {+ s = m;+ }+ else+ {+ s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, s, r);+ }+ else+ {+ var t;+ var u;+ t = a;+ u = (b + n);+ var v = t.u8[(u + 0)];+ if((((v >>> 1) < 63) || (((v >>> 1) == 63) && ((v & 1) <= 1))))+ {+ var w = v;+ g.dv.setUint32((h + (o << 2)), w, true);+ h$l2(((o + 1) | 0), ((n + 1) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ya;+ }+ else+ {+ if((((v >>> 1) > 96) || (((v >>> 1) == 96) && ((v & 1) >= 0))))+ {+ if((((v >>> 1) < 96) || (((v >>> 1) == 96) && ((v & 1) <= 1))))+ {+ var x = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var y;+ if((n === f))+ {+ y = m;+ }+ else+ {+ y = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, y, x);+ }+ else+ {+ h$sp += 16;+ h$stack[(h$sp - 2)] = n;+ h$stack[(h$sp - 1)] = o;+ h$stack[h$sp] = v;+ ++h$sp;+ return h$$yb;+ };+ }+ else+ {+ h$sp += 16;+ h$stack[(h$sp - 2)] = n;+ h$stack[(h$sp - 1)] = o;+ h$stack[h$sp] = v;+ ++h$sp;+ return h$$yb;+ };+ };+ };+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingziUTF8zizdwa1_e()+{+ var a = h$r2;+ h$l2(h$r15, h$r7);+ h$p13(a, h$r3, h$r4, h$r5, h$r6, h$r8, h$r9, h$r10, h$r11, h$r12, h$r13, h$r14,+ h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, h$r3, h$r4, h$r5, h$r6, 0, 0));+ ++h$sp;+ return h$$ya;+};+function h$$yr()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var i = a.d1;+ var j = a.d2;+ var k = j.d1;+ var l = j.d2;+ var m = j.d3;+ var n = j.d4;+ var o = j.d5;+ h$l15(j.d6, o, n, m, l, k, i, h, g, f, e, d, c, b, h$baseZCGHCziIOziEncodingziUTF8zizdwa1);+ return h$ap_gen_fast(3597);+};+function h$$yq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ var h = d.d4;+ var i = d.d5;+ h$p8(c, e, f, g, h, i, d.d6, h$$yr);+ return h$e(b);+};+function h$baseZCGHCziIOziEncodingziUTF8zimkUTF4_e()+{+ h$p2(h$r3, h$$yq);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziEncodingziUTF8zimkUTF3_e()+{+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingziUTF8zimkUTF2_e()+{+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$yu()+{+ var a = h$stack[(h$sp - 16)];+ var b = h$stack[(h$sp - 15)];+ var c = h$stack[(h$sp - 14)];+ var d = h$stack[(h$sp - 13)];+ var e = h$stack[(h$sp - 12)];+ var f = h$stack[(h$sp - 11)];+ var g = h$stack[(h$sp - 10)];+ var h = h$stack[(h$sp - 9)];+ var i = h$stack[(h$sp - 8)];+ var j = h$stack[(h$sp - 7)];+ var k = h$stack[(h$sp - 6)];+ var l = h$stack[(h$sp - 5)];+ var m = h$stack[(h$sp - 4)];+ var n = h$stack[(h$sp - 3)];+ var o = h$stack[(h$sp - 2)];+ var p = h$stack[(h$sp - 1)];+ h$sp -= 17;+ var q = ((k - o) | 0);+ if((q < 3))+ {+ var r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var s;+ if((n === f))+ {+ s = m;+ }+ else+ {+ s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziOutputUnderflow, s, r);+ }+ else+ {+ var t = (p >> 12);+ var u = ((t + 224) | 0);+ var v = (u & 255);+ var w;+ var x;+ w = g;+ x = (h + o);+ w.u8[(x + 0)] = v;+ var y = (p >> 6);+ var z = (y & 63);+ var A = ((z + 128) | 0);+ var B = (A & 255);+ var C = ((o + 1) | 0);+ var D;+ var E;+ D = g;+ E = (h + C);+ D.u8[(E + 0)] = B;+ var F = (p & 63);+ var G = ((F + 128) | 0);+ var H = (G & 255);+ var I = ((o + 2) | 0);+ var J;+ var K;+ J = g;+ K = (h + I);+ J.u8[(K + 0)] = H;+ h$l2(((o + 3) | 0), ((n + 1) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ys;+ };+ return h$stack[h$sp];+};+function h$$yt()+{+ var a = h$stack[(h$sp - 16)];+ var b = h$stack[(h$sp - 15)];+ var c = h$stack[(h$sp - 14)];+ var d = h$stack[(h$sp - 13)];+ var e = h$stack[(h$sp - 12)];+ var f = h$stack[(h$sp - 11)];+ var g = h$stack[(h$sp - 10)];+ var h = h$stack[(h$sp - 9)];+ var i = h$stack[(h$sp - 8)];+ var j = h$stack[(h$sp - 7)];+ var k = h$stack[(h$sp - 6)];+ var l = h$stack[(h$sp - 5)];+ var m = h$stack[(h$sp - 4)];+ var n = h$stack[(h$sp - 3)];+ var o = h$stack[(h$sp - 2)];+ var p = h$stack[(h$sp - 1)];+ h$sp -= 17;+ if((56320 <= p))+ {+ if((p <= 57343))+ {+ var q = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var r;+ if((n === f))+ {+ r = m;+ }+ else+ {+ r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, r, q);+ }+ else+ {+ h$sp += 16;+ ++h$sp;+ return h$$yu;+ };+ }+ else+ {+ h$sp += 16;+ ++h$sp;+ return h$$yu;+ };+ return h$stack[h$sp];+};+function h$$ys()+{+ var a = h$stack[(h$sp - 13)];+ var b = h$stack[(h$sp - 12)];+ var c = h$stack[(h$sp - 11)];+ var d = h$stack[(h$sp - 10)];+ var e = h$stack[(h$sp - 9)];+ var f = h$stack[(h$sp - 8)];+ var g = h$stack[(h$sp - 7)];+ var h = h$stack[(h$sp - 6)];+ var i = h$stack[(h$sp - 5)];+ var j = h$stack[(h$sp - 4)];+ var k = h$stack[(h$sp - 3)];+ var l = h$stack[(h$sp - 2)];+ var m = h$stack[(h$sp - 1)];+ h$sp -= 14;+ var n = h$r1;+ var o = h$r2;+ if((o >= k))+ {+ var p = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var q;+ if((n === f))+ {+ q = m;+ }+ else+ {+ q = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziOutputUnderflow, q, p);+ }+ else+ {+ if((n >= f))+ {+ var r = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var s;+ if((n === f))+ {+ s = m;+ }+ else+ {+ s = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInputUnderflow, s, r);+ }+ else+ {+ var t = a.dv.getUint32((b + (n << 2)), true);+ var u = t;+ if((u <= 127))+ {+ var v = u;+ var w = (v & 255);+ var x;+ var y;+ x = g;+ y = (h + o);+ x.u8[(y + 0)] = w;+ h$l2(((o + 1) | 0), ((n + 1) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ys;+ }+ else+ {+ if((u <= 2047))+ {+ var z = ((k - o) | 0);+ if((z < 2))+ {+ var A = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var B;+ if((n === f))+ {+ B = m;+ }+ else+ {+ B = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziOutputUnderflow, B, A);+ }+ else+ {+ var C = (u >> 6);+ var D = ((C + 192) | 0);+ var E = (D & 255);+ var F;+ var G;+ F = g;+ G = (h + o);+ F.u8[(G + 0)] = E;+ var H = (u & 63);+ var I = ((H + 128) | 0);+ var J = (I & 255);+ var K = ((o + 1) | 0);+ var L;+ var M;+ L = g;+ M = (h + K);+ L.u8[(M + 0)] = J;+ h$l2(((o + 2) | 0), ((n + 1) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ys;+ };+ }+ else+ {+ if((u <= 65535))+ {+ if((55296 <= u))+ {+ if((u <= 56319))+ {+ var N = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var O;+ if((n === f))+ {+ O = m;+ }+ else+ {+ O = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziInvalidSequence, O, N);+ }+ else+ {+ h$sp += 16;+ h$stack[(h$sp - 2)] = n;+ h$stack[(h$sp - 1)] = o;+ h$stack[h$sp] = u;+ ++h$sp;+ return h$$yt;+ };+ }+ else+ {+ h$sp += 16;+ h$stack[(h$sp - 2)] = n;+ h$stack[(h$sp - 1)] = o;+ h$stack[h$sp] = u;+ ++h$sp;+ return h$$yt;+ };+ }+ else+ {+ var P = ((k - o) | 0);+ if((P < 4))+ {+ var Q = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, g, h, i, j, k, l, o);+ var R;+ if((n === f))+ {+ R = m;+ }+ else+ {+ R = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, c, d, e, n, f);+ };+ h$r1 = h$c3(h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$baseZCGHCziIOziEncodingziTypesziOutputUnderflow, R, Q);+ }+ else+ {+ var S = (u >> 18);+ var T = ((S + 240) | 0);+ var U = (T & 255);+ var V;+ var W;+ V = g;+ W = (h + o);+ V.u8[(W + 0)] = U;+ var X = (u >> 12);+ var Y = (X & 63);+ var Z = ((Y + 128) | 0);+ var aa = (Z & 255);+ var ab = ((o + 1) | 0);+ var ac;+ var ad;+ ac = g;+ ad = (h + ab);+ ac.u8[(ad + 0)] = aa;+ var ae = (u >> 6);+ var af = (ae & 63);+ var ag = ((af + 128) | 0);+ var ah = (ag & 255);+ var ai = ((o + 2) | 0);+ var aj;+ var ak;+ aj = g;+ ak = (h + ai);+ aj.u8[(ak + 0)] = ah;+ var al = (u & 63);+ var am = ((al + 128) | 0);+ var an = (am & 255);+ var ao = ((o + 3) | 0);+ var ap;+ var aq;+ ap = g;+ aq = (h + ao);+ ap.u8[(aq + 0)] = an;+ h$l2(((o + 4) | 0), ((n + 1) | 0));+ h$sp += 13;+ ++h$sp;+ return h$$ys;+ };+ };+ };+ };+ };+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingziUTF8zizdwa_e()+{+ var a = h$r2;+ h$l2(h$r15, h$r7);+ h$p13(a, h$r3, h$r4, h$r5, h$r6, h$r8, h$r9, h$r10, h$r11, h$r12, h$r13, h$r14,+ h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, h$r3, h$r4, h$r5, h$r6, 0, 0));+ ++h$sp;+ return h$$ys;+};+function h$$yw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var i = a.d1;+ var j = a.d2;+ var k = j.d1;+ var l = j.d2;+ var m = j.d3;+ var n = j.d4;+ var o = j.d5;+ h$l15(j.d6, o, n, m, l, k, i, h, g, f, e, d, c, b, h$baseZCGHCziIOziEncodingziUTF8zizdwa);+ return h$ap_gen_fast(3597);+};+function h$$yv()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ var h = d.d4;+ var i = d.d5;+ h$p8(c, e, f, g, h, i, d.d6, h$$yw);+ return h$e(b);+};+function h$baseZCGHCziIOziEncodingziUTF8zimkUTF1_e()+{+ h$p2(h$r3, h$$yv);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziEncodingziTypesziTextEncoding_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingziTypesziTextEncoding_e()+{+ h$r1 = h$c3(h$baseZCGHCziIOziEncodingziTypesziTextEncoding_con_e, h$r2, h$r3, h$r4);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingziTypesziBufferCodec_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingziTypesziBufferCodec_e()+{+ h$r1 = h$c5(h$baseZCGHCziIOziEncodingziTypesziBufferCodec_con_e, h$r2, h$r3, h$r4, h$r5, h$r6);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingziTypesziInvalidSequence_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingziTypesziOutputUnderflow_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingziTypesziInputUnderflow_con_e()+{+ return h$stack[h$sp];+};+function h$$yx()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d2;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziEncodingziTypesziclose_e()+{+ h$p1(h$$yx);+ return h$e(h$r2);+};+var h$$yy = h$strta("invalid character");+var h$$yz = h$strta("recoverEncode");+function h$baseZCGHCziIOziEncodingziFailurezizdwa2_e()+{+ h$l2(h$$yA, h$baseZCGHCziIOziExceptionziioException);+ return h$ap_2_1_fast();+};+var h$baseZCGHCziIOziEncodingziFailurezirecoverDecode4 = h$strta("recoverDecode");+var h$baseZCGHCziIOziEncodingziFailurezirecoverDecode3 = h$strta("invalid byte sequence");+function h$$yC()+{+ var a = h$r1.d1;+ a.val = h$r2;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$yB()+{+ var a = h$r1.d1;+ h$r1 = a.val;+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingzigetLocaleEncoding2_e()+{+ var a = new h$MutVar(h$baseZCGHCziIOziEncodingziUTF8ziutf8);+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$c1(h$$yB, a), h$c1(h$$yC, a));+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziEncodingzigetLocaleEncoding1_e()+{+ h$bh();+ h$l2(h$baseZCGHCziIOziEncodingzigetLocaleEncoding2, h$baseZCGHCziIOziunsafeDupablePerformIO);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziIOziEncodingzigetForeignEncoding_e()+{+ h$bh();+ h$r1 = h$baseZCGHCziIOziEncodingzigetLocaleEncoding;+ return h$ap_0_0_fast();+};+function h$$yD()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziEncodingzigetLocaleEncoding_e()+{+ h$bh();+ h$p1(h$$yD);+ return h$e(h$baseZCGHCziIOziEncodingzigetLocaleEncoding1);+};+function h$baseZCGHCziIOziDeviceziDZCIODevice_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziDeviceziDZCIODevice_e()+{+ h$r1 = h$c14(h$baseZCGHCziIOziDeviceziDZCIODevice_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$r9, h$r10, h$r11,+ h$r12, h$r13, h$r14, h$r15);+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziDeviceziRelativeSeek_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziDeviceziRawDevice_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziDeviceziRegularFile_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziDeviceziStream_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziDeviceziDirectory_con_e()+{+ return h$stack[h$sp];+};+function h$$yE()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d4;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziDeviceziseek_e()+{+ h$p1(h$$yE);+ return h$e(h$r2);+};+function h$$yF()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d3;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziDeviceziisSeekable_e()+{+ h$p1(h$$yF);+ return h$e(h$r2);+};+function h$$yG()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d2;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziDeviceziisTerminal_e()+{+ h$p1(h$$yG);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziBufferedIOziDZCBufferedIO_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziBufferedIOziDZCBufferedIO_e()+{+ h$r1 = h$c6(h$baseZCGHCziIOziBufferedIOziDZCBufferedIO_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7);+ return h$stack[h$sp];+};+function h$$yH()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d4;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziBufferedIOziflushWriteBuffer_e()+{+ h$p1(h$$yH);+ return h$e(h$r2);+};+function h$$yI()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d3;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziBufferedIOziemptyWriteBuffer_e()+{+ h$p1(h$$yI);+ return h$e(h$r2);+};+function h$$yJ()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziBufferedIOzinewBuffer_e()+{+ h$p1(h$$yJ);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziBufferziBuffer_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziBufferziBuffer_e()+{+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8);+ return h$stack[h$sp];+};+function h$$yN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ var c = h$stack[(h$sp - 5)];+ var d = h$stack[(h$sp - 4)];+ var e = h$stack[(h$sp - 3)];+ var f = h$stack[(h$sp - 2)];+ var g = h$stack[(h$sp - 1)];+ h$sp -= 7;+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, c, f, g, b, d, e, a);+ return h$stack[h$sp];+};+function h$$yM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 7;+ h$pp72(a, h$$yN);+ return h$e(b);+};+function h$$yL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ h$sp -= 7;+ h$pp68(a, h$$yM);+ return h$e(b);+};+function h$$yK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 5;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ h$pp114(c, e, d.d2, h$$yL);+ return h$e(b);+};+function h$baseZCGHCziIOziBufferzizdWBuffer_e()+{+ h$p5(h$r3, h$r4, h$r5, h$r6, h$$yK);+ return h$e(h$r2);+};+function h$baseZCGHCziIOziBufferziWriteBuffer_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziIOziBufferziReadBuffer_con_e()+{+ return h$stack[h$sp];+};+function h$$yQ()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziIOziExceptionziuserError);+ return h$ap_1_1_fast();+};+function h$$yP()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$c1(h$$yQ, a), h$$ze);+ return h$ap_1_1_fast();+};+function h$$yO()+{+ return h$throw(h$c1(h$$yP, h$r2), false);+};+function h$$yR()+{+ h$bh();+ h$l2(h$baseZCGHCziIOziExceptionzizdfxExceptionIOException, h$baseZCGHCziExceptionzitoException);+ return h$baseZCGHCziExceptionzitoException_e;+};+function h$$zb()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$throw(a, false);+};+function h$$za()+{+ var a = h$r1.d1;+ h$p2(h$r2, h$$zb);+ h$l2(h$r1.d2, a);+ return h$ap_2_1_fast();+};+function h$$y9()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$y8()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$y7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(a, h$$y8);+ h$l2(c, b);+ return h$ap_2_1_fast();+};+function h$$y6()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp6(a, h$$y7);+ return h$catch(h$c2(h$$y9, c, a), h$c2(h$$za, b, a));+};+function h$$y5()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$throw(a, false);+};+function h$$y4()+{+ var a = h$r1.d1;+ h$p2(h$r2, h$$y5);+ h$l2(h$r1.d2, a);+ return h$ap_2_1_fast();+};+function h$$y3()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$y2()+{+ return h$unmaskAsync(h$r1.d1);+};+function h$$y1()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$y0()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(a, h$$y1);+ h$l2(c, b);+ return h$ap_2_1_fast();+};+function h$$yZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp6(a, h$$y0);+ return h$catch(h$c1(h$$y2, h$c2(h$$y3, c, a)), h$c2(h$$y4, b, a));+};+function h$$yY()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p3(c, b.d2, h$$yZ);+ h$r1 = a;+ return h$ap_1_0_fast();+};+function h$$yX()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$throw(a, false);+};+function h$$yW()+{+ var a = h$r1.d1;+ h$p2(h$r2, h$$yX);+ h$l2(h$r1.d2, a);+ return h$ap_2_1_fast();+};+function h$$yV()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$yU()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$yT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(a, h$$yU);+ h$l2(c, b);+ return h$ap_2_1_fast();+};+function h$$yS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp6(a, h$$yT);+ return h$catch(h$c2(h$$yV, c, a), h$c2(h$$yW, b, a));+};+function h$baseZCGHCziIOzibracket1_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$maskStatus();+ switch (d)+ {+ case (0):+ return h$maskAsync(h$c3(h$$yY, a, b, c));+ case (1):+ h$p3(b, c, h$$yS);+ h$r1 = a;+ return h$ap_1_0_fast();+ default:+ h$p3(b, c, h$$y6);+ h$r1 = a;+ return h$ap_1_0_fast();+ };+};+function h$$zc()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziIOziunsafeDupablePerformIO_e()+{+ h$p1(h$$zc);+ h$r1 = h$r2;+ return h$ap_1_0_fast();+};+function h$baseZCGHCziIOzifailIO_e()+{+ h$r1 = h$$zd;+ return h$ap_2_1_fast();+};+var h$$zh = h$strta("mallocForeignPtrBytes: size must be >= 0");+function h$baseZCGHCziForeignPtrzimallocForeignPtrBytes2_e()+{+ h$bh();+ h$l2(h$$zh, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziForeignPtrziMallocPtr_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziForeignPtrziMallocPtr_e()+{+ h$r1 = h$c2(h$baseZCGHCziForeignPtrziMallocPtr_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$$zf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$baseZCGHCziForeignPtrziMallocPtr_con_e, b, a.d1);+ return h$stack[h$sp];+};+function h$baseZCGHCziForeignPtrzizdWMallocPtr_e()+{+ h$p2(h$r2, h$$zf);+ return h$e(h$r3);+};+function h$baseZCGHCziForeignPtrziPlainForeignPtr_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziForeignPtrziPlainForeignPtr_e()+{+ h$r1 = h$c1(h$baseZCGHCziForeignPtrziPlainForeignPtr_con_e, h$r2);+ return h$stack[h$sp];+};+function h$$zg()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$baseZCGHCziForeignPtrziPlainForeignPtr_con_e, a.d1);+ return h$stack[h$sp];+};+function h$baseZCGHCziForeignPtrzizdWPlainForeignPtr_e()+{+ h$p1(h$$zg);+ return h$e(h$r2);+};+function h$baseZCGHCziForeignPtrziNoFinalizzers_con_e()+{+ return h$stack[h$sp];+};+function h$$zy()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 3;+ var b = a.d1;+ h$l2(a.d2, b);+ h$sp += 3;+ ++h$sp;+ return h$$zk;+};+function h$$zx()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 3;+ var b = a;+ h$sp += 3;+ h$p1(h$$zy);+ return h$e(b);+};+function h$$zw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$sp -= 3;+ if((a.f.a === 2))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$sp += 3;+ h$p1(h$$zx);+ h$l3(d, c, b);+ return h$ap_3_2_fast();+ };+ return h$stack[h$sp];+};+function h$$zv()+{+ var a = h$r1;+ h$sp -= 2;+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ return h$stack[h$sp];+};+function h$$zu()+{+ var a = h$r1;+ h$sp -= 2;+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ return h$stack[h$sp];+};+function h$$zt()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ var c = h$stack[(h$sp - 5)];+ var d = h$stack[(h$sp - 4)];+ var e = h$stack[(h$sp - 3)];+ var f = h$stack[(h$sp - 2)];+ var g = h$stack[(h$sp - 1)];+ h$sp -= 7;+ if(a)+ {+ c.u8[(d + g)] = 0;+ h$p2(e, h$$zu);+ h$l2(h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$c2(h$baseZCGHCziPtrziPtr_con_e, c, d), ((g - f) | 0)), b);+ return h$ap_2_1_fast();+ }+ else+ {+ h$p2(e, h$$zv);+ h$l2(h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$c2(h$baseZCGHCziPtrziPtr_con_e, c, d), ((g - f) | 0)), b);+ return h$ap_2_1_fast();+ };+};+function h$$zs()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d5;+ h$pp126(c, e, f, g, d.d6, h$$zt);+ return h$e(b);+};+function h$$zr()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp5(a, h$$zs);+ return h$e(b);+};+function h$$zq()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 4;+ var b = a.d2;+ var c = b.d4;+ var d = b.d6;+ var e = ((c - d) | 0);+ if((e === 0))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$sp += 4;+ ++h$sp;+ return h$$zr;+ };+ return h$stack[h$sp];+};+function h$$zp()+{+ var a = h$r1;+ --h$sp;+ var b = h$stack[h$sp];+ h$sp -= 4;+ if(a)+ {+ h$sp += 4;+ h$p1(h$$zq);+ return h$e(b);+ }+ else+ {+ h$sp += 4;+ ++h$sp;+ return h$$zr;+ };+};+function h$$zo()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var d = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var e = a.d2;+ var f = e.d5;+ var g = e.d6;+ if((f === g))+ {+ h$pp8(c);+ h$p1(h$$zp);+ return h$e(d);+ }+ else+ {+ h$sp += 3;+ h$pp10(a, h$$zw);+ return h$e(b);+ };+};+function h$$zn()+{+ var a = h$r1;+ h$sp -= 2;+ h$sp -= 3;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ var e = c.d2;+ h$sp += 3;+ h$pp14(b, e, h$$zo);+ return h$e(d);+};+function h$$zm()+{+ var a = h$r1;+ h$sp -= 2;+ h$sp -= 3;+ var b = a;+ h$sp += 3;+ h$pp2(h$$zn);+ return h$e(b);+};+function h$$zl()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$sp -= 3;+ var d = a.d1;+ var e = a.d2;+ var f = e.d1;+ h$sp += 3;+ h$p2(f, h$$zm);+ h$l3(c, b, d);+ return h$ap_3_2_fast();+};+function h$$zk()+{+ var a = h$stack[(h$sp - 3)];+ h$sp -= 4;+ var b = h$r1;+ var c = h$r2;+ h$sp += 3;+ h$p3(b, c, h$$zl);+ return h$e(a);+};+function h$$zj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$r1 = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, b, c, h$c1(h$baseZCGHCziForeignPtrziPlainForeignPtr_con_e, d),+ h$baseZCGHCziIOziBufferziWriteBuffer, a, 0, 0);+ return h$stack[h$sp];+};+function h$$zi()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$p4(a, c, b.d3, h$$zj);+ return h$e(d);+};+function h$baseZCGHCziForeignzizdwa1_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ var e = h$r6;+ var f = h$r7;+ var g = h$r8;+ var h = new h$MutVar(h$baseZCGHCziForeignPtrziNoFinalizzers);+ h$l2(h$c4(h$$zi, d, e, f, h), c);+ h$p3(a, b, g);+ ++h$sp;+ return h$$zk;+};+function h$$zJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(a.d1, b);+ return h$ap_1_1_fast();+};+function h$$zI()+{+ h$p2(h$r1.d1, h$$zJ);+ return h$e(h$r2);+};+function h$$zH()+{+ var a = h$r1;+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$zG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$p2(d, h$$zH);+ h$l2(h$mulInt32(c, 2), b);+ return h$ap_2_1_fast();+ }+ else+ {+ h$r1 = a.d1;+ };+ return h$stack[h$sp];+};+function h$$zF()+{+ var a = h$r1;+ h$sp -= 4;+ h$pp8(h$$zG);+ return h$e(a);+};+function h$$zE()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$newByteArray(h$r2);+ h$p4(b.d3, h$r2, e, h$$zF);+ h$l8(a, h$r2, 0, e, d, true, c, h$baseZCGHCziForeignzizdwa1);+ return h$ap_gen_fast(1799);+};+function h$$zD()+{+ var a = h$r1;+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$zC()+{+ var a = h$stack[(h$sp - 6)];+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 7;+ var g = new h$MutVar(h$baseZCGHCziForeignPtrziNoFinalizzers);+ var h = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, e, f, h$c1(h$baseZCGHCziForeignPtrziPlainForeignPtr_con_e, g),+ h$baseZCGHCziIOziBufferziReadBuffer, a, 0, a);+ var i = h$c(h$$zE);+ i.d1 = b;+ i.d2 = h$d3(c, h, i);+ h$p2(d, h$$zD);+ h$l2(((a + 1) | 0), i);+ return h$ap_2_1_fast();+};+function h$$zB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 4;+ var c = h$newByteArray(h$mulInt32(a, 4));+ h$pp121(a, c, c, 0, h$$zC);+ h$l4(b, h$c2(h$baseZCGHCziPtrziPtr_con_e, c, 0), h$baseZCForeignziStorablezizdfStorableChar,+ h$baseZCForeignziMarshalziArrayzinewArray8);+ return h$baseZCForeignziMarshalziArrayzinewArray8_e;+};+function h$$zA()+{+ var a = h$r1.d1;+ h$p4(a, h$r1.d2, h$r2, h$$zB);+ h$l3(0, a, h$baseZCGHCziListzizdwlenAcc);+ return h$ap_2_2_fast();+};+function h$$zz()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a.d2;+ h$l4(h$c2(h$$zA, b, h$c1(h$$zI, c)), h$baseZCGHCziIOziEncodingziTypesziclose, d.d2, h$baseZCGHCziIOzibracket1);+ return h$baseZCGHCziIOzibracket1_e;+};+function h$baseZCGHCziForeignzicharIsRepresentable3_e()+{+ h$p3(h$r3, h$r4, h$$zz);+ return h$e(h$r2);+};+function h$$z7()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ var f = a.dv.getInt8((c + e));+ var g = f;+ if((g === 0))+ {+ h$r1 = e;+ }+ else+ {+ h$l2(((e + 1) | 0), d);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$$z6()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$z5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$$z6, b, a);+ return h$stack[h$sp];+};+function h$$z4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ h$sp -= 4;+ h$p2(a, h$$z5);+ h$l2(c, b);+ return h$ap_2_1_fast();+};+function h$$z3()+{+ var a = h$r1;+ h$sp -= 3;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ var e = c.d2;+ var f = c.d5;+ var g = c.d6;+ h$pp12(e, h$$z4);+ h$l4(h$c2(h$baseZCGHCziPtrziPtr_con_e, b, d), ((g - f) | 0), h$baseZCForeignziStorablezizdfStorableChar,+ h$baseZCForeignziMarshalziArrayzizdwa8);+ return h$baseZCForeignziMarshalziArrayzizdwa8_e;+};+function h$$z2()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a.d1, h$$z3);+ return h$e(a.d2);+};+function h$$z1()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$z2);+ return h$e(a);+};+function h$$z0()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$zZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$$z0, b, a);+ return h$stack[h$sp];+};+function h$$zY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ h$sp -= 4;+ h$p2(a, h$$zZ);+ h$l2(b, c);+ return h$ap_2_1_fast();+};+function h$$zX()+{+ var a = h$r1;+ h$sp -= 3;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ var e = c.d2;+ var f = c.d5;+ var g = c.d6;+ h$pp12(e, h$$zY);+ h$l4(h$c2(h$baseZCGHCziPtrziPtr_con_e, b, d), ((g - f) | 0), h$baseZCForeignziStorablezizdfStorableChar,+ h$baseZCForeignziMarshalziArrayzizdwa8);+ return h$baseZCForeignziMarshalziArrayzizdwa8_e;+};+function h$$zW()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if((a.f.a === 2))+ {+ h$pp5(d, h$$zX);+ return h$e(e);+ }+ else+ {+ h$p2(c, h$$z1);+ h$l3(e, d, b);+ return h$ap_3_2_fast();+ };+};+function h$$zV()+{+ var a = h$r1;+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$zU()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ var e = c.d2;+ var f = c.d5;+ var g = c.d6;+ h$p2(e, h$$zV);+ h$l4(h$c2(h$baseZCGHCziPtrziPtr_con_e, b, d), ((g - f) | 0), h$baseZCForeignziStorablezizdfStorableChar,+ h$baseZCForeignziMarshalziArrayzizdwa8);+ return h$baseZCForeignziMarshalziArrayzizdwa8_e;+};+function h$$zT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var d = a.d2;+ var e = d.d5;+ var f = d.d6;+ if((e === f))+ {+ h$p1(h$$zU);+ return h$e(c);+ }+ else+ {+ h$pp20(a, h$$zW);+ return h$e(b);+ };+};+function h$$zS()+{+ var a = h$r1;+ h$sp -= 3;+ var b = a.d1;+ var c = a.d2;+ var d = c.d1;+ h$pp28(b, c.d2, h$$zT);+ return h$e(d);+};+function h$$zR()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp4(h$$zS);+ return h$e(a);+};+function h$$zQ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var d = a.d1;+ var e = a.d2;+ h$pp5(e.d1, h$$zR);+ h$l3(b, c, d);+ return h$ap_3_2_fast();+};+function h$$zP()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p4(c, b.d2, h$r2, h$$zQ);+ return h$e(a);+};+function h$$zO()+{+ var a = h$stack[(h$sp - 5)];+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var f = h$r1;+ var g = h$mulInt32(h$r1, 4);+ if((g < 0))+ {+ h$r1 = h$baseZCGHCziForeignPtrzimallocForeignPtrBytes2;+ return h$ap_0_0_fast();+ }+ else+ {+ var h = new h$MutVar(h$baseZCGHCziForeignPtrziNoFinalizzers);+ var i = h$newByteArray(g);+ var j = h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, i, 0, h$c2(h$baseZCGHCziForeignPtrziMallocPtr_con_e, i, h),+ h$baseZCGHCziIOziBufferziWriteBuffer, f, 0, 0);+ var k = h$c(h$$zP);+ k.d1 = c;+ k.d2 = h$d2(j, k);+ h$l2(h$c7(h$baseZCGHCziIOziBufferziBuffer_con_e, a, b, h$c1(h$baseZCGHCziForeignPtrziPlainForeignPtr_con_e, d),+ h$baseZCGHCziIOziBufferziReadBuffer, e, 0, e), k);+ return h$ap_2_1_fast();+ };+};+function h$$zN()+{+ var a = h$r1;+ h$sp -= 5;+ var b = a;+ if((b <= 1))+ {+ h$r1 = 1;+ h$pp16(b);+ ++h$sp;+ return h$$zO;+ }+ else+ {+ h$r1 = b;+ h$pp16(b);+ ++h$sp;+ return h$$zO;+ };+};+function h$$zM()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ var f = new h$MutVar(h$baseZCGHCziForeignPtrziNoFinalizzers);+ h$p5(a, c, e, f, h$$zN);+ return h$e(d);+};+function h$$zL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d2;+ h$l4(h$c3(h$$zM, c, d, b), h$baseZCGHCziIOziEncodingziTypesziclose, e.d1, h$baseZCGHCziIOzibracket1);+ return h$baseZCGHCziIOzibracket1_e;+};+function h$$zK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 4;+ h$pp9(a, h$$zL);+ return h$e(b);+};+function h$baseZCGHCziForeignzizdwa_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$c(h$$z7);+ d.d1 = h$r3;+ d.d2 = h$d2(c, d);+ h$p4(a, b, c, h$$zK);+ h$l2(0, d);+ return h$ap_2_1_fast();+};+function h$$Af()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+};+function h$$Ae()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = (a & 1);+ if((d === 0))+ {+ h$l3(b, c, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$pp2(h$$Af);+ h$l3(h$baseZCGHCziFloatzizdfRealDouble1, c, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+ };+};+function h$$Ad()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+};+function h$$Ac()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ switch (a.f.a)+ {+ case (1):+ h$l3(b, c, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+ case (2):+ h$pp4(h$$Ae);+ h$l2(c, h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt);+ return h$ap_1_1_fast();+ default:+ h$pp2(h$$Ad);+ h$l3(h$baseZCGHCziFloatzizdfRealDouble1, c, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+ };+};+function h$$Ab()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$pp6(c, h$$Ac);+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypezicompareInteger);+ return h$ap_2_2_fast();+};+function h$$Aa()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ h$sp -= 3;+ h$pp12(a, h$$Ab);+ h$l3(1, b, h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+};+function h$$z9()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if(a)+ {+ h$r1 = h$baseZCGHCziRealzidivZZeroError;+ return h$ap_0_0_fast();+ }+ else+ {+ h$pp6(c, h$$Aa);+ h$l3(c, b, h$integerzmgmpZCGHCziIntegerziTypeziquotRemInteger);+ return h$ap_2_2_fast();+ };+};+function h$$z8()+{+ h$p4(h$r2, h$r3, h$r4, h$$z9);+ h$l3(h$baseZCGHCziFloatzirationalToDouble5, h$r4, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+};+function h$$Ah()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = Math.log(c);+ var e = Math.log(b);+ h$r1 = (e / d);+ return h$stack[h$sp];+};+function h$$Ag()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$Ah);+ return h$e(b);+};+function h$baseZCGHCziFloatzizdfFloatingDoublezuzdclogBase_e()+{+ h$p2(h$r2, h$$Ag);+ return h$e(h$r3);+};+function h$$Ai()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = (b * b);+ var d = (1.0 + c);+ var e = Math.sqrt(d);+ var f = (b + e);+ var g = Math.log(f);+ h$r1 = g;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzizdfFloatingDoublezuzdcasinh_e()+{+ h$p1(h$$Ai);+ return h$e(h$r2);+};+function h$$Aj()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = (1.0 - b);+ var d = (1.0 + b);+ var e = (d / c);+ var f = Math.log(e);+ h$r1 = (0.5 * f);+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzizdfFloatingDoublezuzdcatanh_e()+{+ h$p1(h$$Aj);+ return h$e(h$r2);+};+function h$$Ak()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = (b + 1.0);+ var d = (b - 1.0);+ var e = (d / c);+ var f = Math.sqrt(e);+ var g = (b + 1.0);+ var h = (g * f);+ var i = (b + h);+ var j = Math.log(i);+ h$r1 = j;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzizdfFloatingDoublezuzdcacosh_e()+{+ h$p1(h$$Ak);+ return h$e(h$r2);+};+function h$$Al()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((b >= 0.0))+ {+ h$r1 = a;+ }+ else+ {+ h$r1 = -b;+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzizdfNumDoublezuzdcabs_e()+{+ h$p1(h$$Al);+ return h$e(h$r2);+};+function h$$Am()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((b === 0.0))+ {+ return h$e(h$baseZCGHCziFloatzirationalToDouble4);+ }+ else+ {+ if((b > 0.0))+ {+ return h$e(h$baseZCGHCziFloatzizdfNumDouble1);+ }+ else+ {+ return h$e(h$baseZCGHCziFloatzizdfNumDouble2);+ };+ };+};+function h$baseZCGHCziFloatzizdfNumDoublezuzdcsignum_e()+{+ h$p1(h$$Am);+ return h$e(h$r2);+};+function h$$An()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzizdfNumDoublezuzdcfromInteger_e()+{+ h$p1(h$$An);+ h$r1 = h$integerzmgmpZCGHCziIntegerziTypezidoubleFromInteger;+ return h$ap_1_1_fast();+};+function h$$Ao()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ h$r1 = (1.0 / b);+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzizdfFractionalDoublezuzdcrecip_e()+{+ h$p1(h$$Ao);+ return h$e(h$r2);+};+function h$$AQ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = ((b - c) | 0);+ h$l4(a, d, ((e + 1) | 0), h$$Bo);+ return h$ap_3_3_fast();+};+function h$$AP()+{+ var a = h$stack[(h$sp - 5)];+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 7;+ if(h$r1)+ {+ h$pp13(b, c, h$$AQ);+ h$l3(1, d, h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l4(d, c, ((b - a) | 0), h$$Bo);+ return h$ap_3_3_fast();+ };+};+function h$$AO()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 6;+ h$r1 = a;+ h$sp += 6;+ ++h$sp;+ return h$$AP;+};+function h$$AN()+{+ var a = h$r1;+ --h$sp;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 6;+ h$sp += 6;+ h$p1(h$$AO);+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypezileIntegerzh);+ return h$ap_2_2_fast();+};+function h$$AM()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 6;+ h$r1 = a;+ h$sp += 6;+ ++h$sp;+ return h$$AP;+};+function h$$AL()+{+ var a = h$r1;+ --h$sp;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 6;+ h$sp += 6;+ h$p1(h$$AM);+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypezileIntegerzh);+ return h$ap_2_2_fast();+};+function h$$AK()+{+ var a = h$stack[(h$sp - 3)];+ h$sp -= 5;+ var b = h$r1;+ var c = h$r2;+ if((a >= 0))+ {+ h$pp48(b, c);+ h$p1(h$$AL);+ h$l3(a, c, h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$pp48(b, c);+ h$p1(h$$AN);+ h$l3((-a | 0), c, h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger);+ return h$ap_2_2_fast();+ };+};+function h$$AJ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ var e = ((d - a) | 0);+ if((e >= 0))+ {+ h$l3(e, c, h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l3((-e | 0), c, h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger);+ return h$ap_2_2_fast();+ };+};+function h$$AI()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ var e = ((a - d) | 0);+ if((e >= 0))+ {+ h$l3(e, c, h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l3((-e | 0), c, h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger);+ return h$ap_2_2_fast();+ };+};+function h$$AH()+{+ var a = h$stack[(h$sp - 3)];+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var d = h$r1;+ if((d < b))+ {+ h$l2(a, h$c3(h$$AI, b, c, d));+ h$pp8(d);+ ++h$sp;+ return h$$AK;+ }+ else+ {+ if((d === b))+ {+ h$l2(a, c);+ h$pp8(d);+ ++h$sp;+ return h$$AK;+ }+ else+ {+ h$l2(h$c3(h$$AJ, b, a, d), c);+ h$pp8(d);+ ++h$sp;+ return h$$AK;+ };+ };+};+function h$$AG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var e = ((a - d) | 0);+ if((b <= e))+ {+ h$r1 = e;+ h$sp += 3;+ h$stack[(h$sp - 2)] = c;+ ++h$sp;+ return h$$AH;+ }+ else+ {+ h$r1 = b;+ h$sp += 3;+ h$stack[(h$sp - 2)] = c;+ ++h$sp;+ return h$$AH;+ };+};+function h$$AF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$r1 = 0.0;+ }+ else+ {+ h$l3(((b - c) | 0), h$baseZCGHCziFloatzizdfRealDouble1, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$AE()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$pp4(h$$AF);+ h$l3(a, b, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+};+function h$$AD()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+};+function h$$AC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+};+function h$$AB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = (a & 1);+ if((e === 0))+ {+ h$l3(((b - c) | 0), d, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$p2(((b - c) | 0), h$$AC);+ h$l3(h$baseZCGHCziFloatzizdfRealDouble1, d, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+ };+};+function h$$AA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ switch (a)+ {+ case (0):+ h$l3(((b - c) | 0), d, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+ case (1):+ h$pp8(h$$AB);+ h$l2(d, h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt);+ return h$ap_1_1_fast();+ default:+ h$p2(((b - c) | 0), h$$AD);+ h$l3(h$baseZCGHCziFloatzizdfRealDouble1, d, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+ };+};+function h$$Az()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp12(a, h$$AA);+ h$l3(((c - 1) | 0), b, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziroundingModezh);+ return h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziroundingModezh_e;+};+function h$$Ay()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+};+function h$$Ax()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = (a & 1);+ if((f === 0))+ {+ var g = ((b - e) | 0);+ var h = ((g + 1) | 0);+ h$l3(((h - c) | 0), d, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ var i = ((b - e) | 0);+ var j = ((i + 1) | 0);+ h$p2(((j - c) | 0), h$$Ay);+ h$l3(h$baseZCGHCziFloatzizdfRealDouble1, d, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+ };+};+function h$$Aw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+};+function h$$Av()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ switch (a)+ {+ case (0):+ var f = ((b - e) | 0);+ var g = ((f + 1) | 0);+ h$l3(((g - c) | 0), d, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+ case (2):+ var h = ((b - e) | 0);+ var i = ((h + 1) | 0);+ h$p2(((i - c) | 0), h$$Aw);+ h$l3(h$baseZCGHCziFloatzizdfRealDouble1, d, h$integerzmgmpZCGHCziIntegerziTypeziplusInteger);+ return h$ap_2_2_fast();+ default:+ h$pp16(h$$Ax);+ h$l2(d, h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt);+ return h$ap_1_1_fast();+ };+};+function h$$Au()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ h$sp -= 5;+ h$pp20(a, h$$Av);+ h$l3(((b - c) | 0), d, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziroundingModezh);+ return h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziroundingModezh_e;+};+function h$$At()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = ((e + b) | 0);+ var g = ((f - 1) | 0);+ if((a >= g))+ {+ if((a < c))+ {+ h$l3((-e | 0), d, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ var h = ((a + 1) | 0);+ var i = ((h - c) | 0);+ var j = (-i | 0);+ h$pp17(a, h$$Au);+ if((j >= 0))+ {+ h$l3(j, d, h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l3((-j | 0), d, h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger);+ return h$ap_2_2_fast();+ };+ };+ }+ else+ {+ var k = ((b - c) | 0);+ var l = ((e + k) | 0);+ if((l <= 0))+ {+ var m = ((b - c) | 0);+ h$l3(((m - l) | 0), d, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ if((l <= a))+ {+ var n = (-l | 0);+ h$pp24(l, h$$Az);+ if((n >= 0))+ {+ h$l3(n, d, h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l3((-n | 0), d, h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger);+ return h$ap_2_2_fast();+ };+ }+ else+ {+ var o = ((a + 1) | 0);+ if((l > o))+ {+ h$r1 = 0.0;+ }+ else+ {+ h$pp8(h$$AE);+ h$l3(a, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2IsPowerOf2zh1,+ h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+ };+ };+ };+ };+ return h$stack[h$sp];+};+function h$$As()+{+ var a = h$stack[(h$sp - 2)];+ h$sp -= 5;+ var b = h$r1;+ var c = h$r2;+ if((c === 0))+ {+ h$pp24(b, h$$At);+ h$l2(a, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh);+ return h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh_e;+ }+ else+ {+ h$pp48(b, h$$AG);+ h$l2(a, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh);+ return h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh_e;+ };+};+function h$$Ar()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 6;+ if(a)+ {+ h$l2(0, b);+ h$sp += 4;+ ++h$sp;+ return h$$As;+ }+ else+ {+ h$l2(1, b);+ h$sp += 4;+ ++h$sp;+ return h$$As;+ };+};+function h$$Aq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 6;+ h$pp32(h$$Ar);+ h$l3(a, b, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+};+function h$$Ap()+{+ var a = h$r1;+ h$sp -= 5;+ h$pp48(a, h$$Aq);+ h$l3(a, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2IsPowerOf2zh1,+ h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziFloatzizdwzdsfromRatzqzq_e()+{+ h$p5(h$r2, h$r3, h$r4, h$r5, h$$Ap);+ h$l2(h$r5, h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh);+ return h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh_e;+};+function h$baseZCGHCziFloatzirationalToDouble3_e()+{+ h$bh();+ h$r1 = Infinity;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzirationalToDouble2_e()+{+ h$bh();+ h$r1 = (-Infinity);+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzirationalToDouble1_e()+{+ h$bh();+ h$r1 = NaN;+ return h$stack[h$sp];+};+function h$$AR()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$l3(a.d2, b, h$baseZCGHCziFloatzirationalToDouble);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziFloatzizdfFractionalDoublezuzdcfromRational_e()+{+ h$p1(h$$AR);+ return h$e(h$r2);+};+function h$baseZCGHCziFloatziDZCFloating_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatziDZCFloating_e()+{+ h$r1 = h$c19(h$baseZCGHCziFloatziDZCFloating_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$r9, h$r10, h$r11, h$r12,+ h$r13, h$r14, h$r15, h$r16, h$r17, h$r18, h$r19, h$r20);+ return h$stack[h$sp];+};+function h$$AT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = Math.pow(b, c);+ h$r1 = d;+ return h$stack[h$sp];+};+function h$$AS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$AT);+ return h$e(b);+};+function h$baseZCGHCziFloatzipowerDouble_e()+{+ h$p2(h$r3, h$$AS);+ return h$e(h$r2);+};+function h$$AU()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = ((Math.exp((2 * b)) - 1) / (Math.exp((2 * b)) + 1));+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzitanhDouble_e()+{+ h$p1(h$$AU);+ return h$e(h$r2);+};+function h$$AV()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = ((Math.exp(b) + Math.exp(-b)) / 2);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzicoshDouble_e()+{+ h$p1(h$$AV);+ return h$e(h$r2);+};+function h$$AW()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = ((Math.exp(b) - Math.exp(-b)) / 2);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzisinhDouble_e()+{+ h$p1(h$$AW);+ return h$e(h$r2);+};+function h$$AX()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.atan(b);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatziatanDouble_e()+{+ h$p1(h$$AX);+ return h$e(h$r2);+};+function h$$AY()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.acos(b);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatziacosDouble_e()+{+ h$p1(h$$AY);+ return h$e(h$r2);+};+function h$$AZ()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.asin(b);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatziasinDouble_e()+{+ h$p1(h$$AZ);+ return h$e(h$r2);+};+function h$$A0()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.tan(b);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzitanDouble_e()+{+ h$p1(h$$A0);+ return h$e(h$r2);+};+function h$$A1()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.cos(b);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzicosDouble_e()+{+ h$p1(h$$A1);+ return h$e(h$r2);+};+function h$$A2()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.sin(b);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzisinDouble_e()+{+ h$p1(h$$A2);+ return h$e(h$r2);+};+function h$$A3()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.sqrt(b);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzisqrtDouble_e()+{+ h$p1(h$$A3);+ return h$e(h$r2);+};+function h$$A4()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.log(b);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzilogDouble_e()+{+ h$p1(h$$A4);+ return h$e(h$r2);+};+function h$$A5()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.exp(b);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatziexpDouble_e()+{+ h$p1(h$$A5);+ return h$e(h$r2);+};+function h$$A6()+{+ var a = h$r1;+ --h$sp;+ h$r1 = -a;+ return h$stack[h$sp];+};+function h$baseZCGHCziFloatzinegateDouble_e()+{+ h$p1(h$$A6);+ return h$e(h$r2);+};+function h$$A8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (b / c);+ return h$stack[h$sp];+};+function h$$A7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$A8);+ return h$e(b);+};+function h$baseZCGHCziFloatzidivideDouble_e()+{+ h$p2(h$r3, h$$A7);+ return h$e(h$r2);+};+function h$$Ba()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (b * c);+ return h$stack[h$sp];+};+function h$$A9()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$Ba);+ return h$e(b);+};+function h$baseZCGHCziFloatzitimesDouble_e()+{+ h$p2(h$r3, h$$A9);+ return h$e(h$r2);+};+function h$$Bc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (b - c);+ return h$stack[h$sp];+};+function h$$Bb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$Bc);+ return h$e(b);+};+function h$baseZCGHCziFloatziminusDouble_e()+{+ h$p2(h$r3, h$$Bb);+ return h$e(h$r2);+};+function h$$Be()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (b + c);+ return h$stack[h$sp];+};+function h$$Bd()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$Be);+ return h$e(b);+};+function h$baseZCGHCziFloatziplusDouble_e()+{+ h$p2(h$r3, h$$Bd);+ return h$e(h$r2);+};+function h$$Bf()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziFloatzipi_e()+{+ h$p1(h$$Bf);+ return h$e(h$r2);+};+function h$$Bn()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$Bm()+{+ var a = h$r1;+ --h$sp;+ h$r1 = -a;+ return h$stack[h$sp];+};+function h$$Bl()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p1(h$$Bm);+ h$l5(b, a, 53, (-1021), h$baseZCGHCziFloatzizdwzdsfromRatzqzq);+ return h$ap_4_4_fast();+};+function h$$Bk()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if(a)+ {+ h$p2(c, h$$Bl);+ h$l2(b, h$integerzmgmpZCGHCziIntegerziTypezinegateInteger);+ return h$ap_1_1_fast();+ }+ else+ {+ h$p1(h$$Bn);+ h$l5(c, b, 53, (-1021), h$baseZCGHCziFloatzizdwzdsfromRatzqzq);+ return h$ap_4_4_fast();+ };+};+function h$$Bj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ if(a)+ {+ return h$e(h$baseZCGHCziFloatzirationalToDouble4);+ }+ else+ {+ h$pp4(h$$Bk);+ h$l3(h$baseZCGHCziFloatzirationalToDouble5, b, h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh);+ return h$ap_2_2_fast();+ };+};+function h$$Bi()+{+ var a = h$r1;+ --h$sp;+ if(a)+ {+ return h$e(h$baseZCGHCziFloatzirationalToDouble2);+ }+ else+ {+ return h$e(h$baseZCGHCziFloatzirationalToDouble3);+ };+};+function h$$Bh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if(a)+ {+ return h$e(h$baseZCGHCziFloatzirationalToDouble1);+ }+ else+ {+ h$p1(h$$Bi);+ h$l3(h$baseZCGHCziFloatzirationalToDouble5, b, h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh);+ return h$ap_2_2_fast();+ };+};+function h$$Bg()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ if(a)+ {+ h$pp2(h$$Bh);+ h$l3(h$baseZCGHCziFloatzirationalToDouble5, b, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+ }+ else+ {+ h$pp4(h$$Bj);+ h$l3(h$baseZCGHCziFloatzirationalToDouble5, b, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+ };+};+function h$baseZCGHCziFloatzirationalToDouble_e()+{+ var a = h$r3;+ h$p3(h$r2, h$r3, h$$Bg);+ h$l3(h$baseZCGHCziFloatzirationalToDouble5, a, h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdctoException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e, h$baseZCGHCziExceptionzizdfExceptionErrorCall, h$r2);+ return h$stack[h$sp];+};+function h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctoException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e, h$baseZCGHCziExceptionzizdfExceptionArithException, h$r2);+ return h$stack[h$sp];+};+function h$$Bp()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(a, b);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziExceptionzithrow2_e()+{+ return h$throw(h$c2(h$$Bp, h$r2, h$r3), false);+};+function h$baseZCGHCziExceptionzizdfShowErrorCallzuzdcshowsPrec_e()+{+ var a = h$r3;+ h$l3(h$r4, a, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziExceptionzizdfShowErrorCall1_e()+{+ return h$e(h$r2);+};+function h$baseZCGHCziExceptionzizdfShowErrorCallzuzdcshowList_e()+{+ h$l4(h$r3, h$r2, h$baseZCGHCziBasezizpzp, h$baseZCGHCziShowzishowListzuzu);+ return h$baseZCGHCziShowzishowListzuzu_e;+};+var h$baseZCGHCziExceptionzizdfExceptionErrorCall3 = h$strta("ErrorCall");+function h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdctypeRepzh_e()+{+ return h$e(h$baseZCGHCziExceptionzizdfExceptionErrorCall1);+};+function h$$Br()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdctypeRepzh, a, h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$Bq()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$Br);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdcfromException_e()+{+ h$p1(h$$Bq);+ return h$e(h$r2);+};+function h$$Bs()+{+ var a = h$r1;+ --h$sp;+ switch (a.f.a)+ {+ case (1):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException12;+ return h$ap_0_0_fast();+ case (2):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException10;+ return h$ap_0_0_fast();+ case (3):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException8;+ return h$ap_0_0_fast();+ case (4):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException6;+ return h$ap_0_0_fast();+ case (5):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException4;+ return h$ap_0_0_fast();+ default:+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException2;+ return h$ap_0_0_fast();+ };+};+function h$baseZCGHCziExceptionzizdfShowArithExceptionzuzdcshowsPrec_e()+{+ h$p1(h$$Bs);+ return h$e(h$r3);+};+function h$$Bt()+{+ var a = h$r1;+ --h$sp;+ switch (a.f.a)+ {+ case (1):+ return h$e(h$baseZCGHCziExceptionzizdfShowArithException13);+ case (2):+ return h$e(h$baseZCGHCziExceptionzizdfShowArithException11);+ case (3):+ return h$e(h$baseZCGHCziExceptionzizdfShowArithException9);+ case (4):+ return h$e(h$baseZCGHCziExceptionzizdfShowArithException7);+ case (5):+ return h$e(h$baseZCGHCziExceptionzizdfShowArithException5);+ default:+ return h$e(h$baseZCGHCziExceptionzizdfShowArithException3);+ };+};+function h$baseZCGHCziExceptionzizdfShowArithExceptionzuzdcshow_e()+{+ h$p1(h$$Bt);+ return h$e(h$r2);+};+var h$baseZCGHCziExceptionzizdfShowArithException13 = h$strta("arithmetic overflow");+function h$baseZCGHCziExceptionzizdfShowArithException12_e()+{+ h$l3(h$r2, h$baseZCGHCziExceptionzizdfShowArithException13, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+var h$baseZCGHCziExceptionzizdfShowArithException11 = h$strta("arithmetic underflow");+function h$baseZCGHCziExceptionzizdfShowArithException10_e()+{+ h$l3(h$r2, h$baseZCGHCziExceptionzizdfShowArithException11, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+var h$baseZCGHCziExceptionzizdfShowArithException9 = h$strta("loss of precision");+function h$baseZCGHCziExceptionzizdfShowArithException8_e()+{+ h$l3(h$r2, h$baseZCGHCziExceptionzizdfShowArithException9, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+var h$baseZCGHCziExceptionzizdfShowArithException7 = h$strta("divide by zero");+function h$baseZCGHCziExceptionzizdfShowArithException6_e()+{+ h$l3(h$r2, h$baseZCGHCziExceptionzizdfShowArithException7, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+var h$baseZCGHCziExceptionzizdfShowArithException5 = h$strta("denormal");+function h$baseZCGHCziExceptionzizdfShowArithException4_e()+{+ h$l3(h$r2, h$baseZCGHCziExceptionzizdfShowArithException5, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+var h$baseZCGHCziExceptionzizdfShowArithException3 = h$strta("Ratio has zero denominator");+function h$baseZCGHCziExceptionzizdfShowArithException2_e()+{+ h$l3(h$r2, h$baseZCGHCziExceptionzizdfShowArithException3, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$Bu()+{+ var a = h$r1;+ --h$sp;+ switch (a.f.a)+ {+ case (1):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException12;+ return h$ap_0_0_fast();+ case (2):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException10;+ return h$ap_0_0_fast();+ case (3):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException8;+ return h$ap_0_0_fast();+ case (4):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException6;+ return h$ap_0_0_fast();+ case (5):+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException4;+ return h$ap_0_0_fast();+ default:+ h$r1 = h$baseZCGHCziExceptionzizdfShowArithException2;+ return h$ap_0_0_fast();+ };+};+function h$baseZCGHCziExceptionzizdfShowArithException1_e()+{+ h$p1(h$$Bu);+ return h$e(h$r2);+};+function h$baseZCGHCziExceptionzizdfShowArithExceptionzuzdcshowList_e()+{+ h$l4(h$r3, h$r2, h$baseZCGHCziExceptionzizdfShowArithException1, h$baseZCGHCziShowzishowListzuzu);+ return h$baseZCGHCziShowzishowListzuzu_e;+};+var h$baseZCGHCziExceptionzizdfExceptionArithException3 = h$strta("base");+var h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuww4 = h$strta("GHC.Exception");+var h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuww5 = h$strta("ArithException");+function h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctypeRepzh_e()+{+ return h$e(h$baseZCGHCziExceptionzizdfExceptionArithException1);+};+function h$$Bw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctypeRepzh, a, h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$Bv()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$Bw);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdcfromException_e()+{+ h$p1(h$$Bv);+ return h$e(h$r2);+};+function h$baseZCGHCziExceptionziRatioZZeroDenominator_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziExceptionziDivideByZZero_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziExceptionziOverflow_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziExceptionziDZCException_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziExceptionziDZCException_e()+{+ h$r1 = h$c4(h$baseZCGHCziExceptionziDZCException_con_e, h$r2, h$r3, h$r4, h$r5);+ return h$stack[h$sp];+};+function h$$Bx()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ return h$e(b.d1);+};+function h$baseZCGHCziExceptionzizdp2Exception_e()+{+ h$p1(h$$Bx);+ return h$e(h$r2);+};+function h$$By()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziExceptionzizdp1Exception_e()+{+ h$p1(h$$By);+ return h$e(h$r2);+};+function h$baseZCGHCziExceptionziSomeException_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziExceptionziSomeException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$$Bz()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d2;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziExceptionzitoException_e()+{+ h$p1(h$$Bz);+ return h$e(h$r2);+};+function h$baseZCGHCziExceptionzioverflowException_e()+{+ h$bh();+ h$l2(h$baseZCGHCziExceptionziOverflow, h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctoException);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziExceptionziratioZZeroDenomException_e()+{+ h$bh();+ h$l2(h$baseZCGHCziExceptionziRatioZZeroDenominator, h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctoException);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziExceptionzidivZZeroException_e()+{+ h$bh();+ h$l2(h$baseZCGHCziExceptionziDivideByZZero, h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctoException);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziExceptionzierrorCallException_e()+{+ h$r1 = h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdctoException;+ return h$ap_1_1_fast();+};+function h$$BA()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziExceptionzierrorCallException);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziErrzierror_e()+{+ return h$throw(h$c1(h$$BA, h$r2), false);+};+function h$baseZCGHCziEnumziefdtIntFB_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ var e = h$r6;+ if((d >= c))+ {+ h$l6(e, d, c, b, a, h$baseZCGHCziEnumziefdtIntUpFB);+ return h$ap_gen_fast(1285);+ }+ else+ {+ h$l6(e, d, c, b, a, h$baseZCGHCziEnumziefdtIntDnFB);+ return h$ap_gen_fast(1285);+ };+};+function h$baseZCGHCziEnumziefdtInt_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ if((b >= a))+ {+ h$l4(c, b, a, h$baseZCGHCziEnumziefdtIntUp);+ return h$ap_3_3_fast();+ }+ else+ {+ h$l4(c, b, a, h$baseZCGHCziEnumziefdtIntDn);+ return h$ap_3_3_fast();+ };+};+function h$$BE()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ h$bh();+ if((e === c))+ {+ h$r1 = a;+ return h$ap_0_0_fast();+ }+ else+ {+ h$l2(((e + 1) | 0), d);+ return h$ap_1_1_fast();+ };+};+function h$$BD()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$r3 = h$c4(h$$BE, c, d, b.d3, h$r2);+ h$r1 = a;+ return h$ap_2_2_fast();+};+function h$$BC()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ if((d === a))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$l2(((d + 1) | 0), c);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$BB()+{+ var a = h$r1.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r2, h$c3(h$$BC, a, h$r1.d2, h$r2));+ return h$stack[h$sp];+};+function h$baseZCGHCziEnumzieftIntFB_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ if((c > d))+ {+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ var e = h$c(h$$BD);+ e.d1 = a;+ e.d2 = h$d3(b, d, e);+ h$l2(c, e);+ return h$ap_1_1_fast();+ };+};+function h$baseZCGHCziEnumzieftInt_e()+{+ var a = h$r2;+ var b = h$r3;+ if((a > b))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var c = h$c(h$$BB);+ c.d1 = b;+ c.d2 = c;+ h$l2(a, c);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+var h$$B1 = h$strta("Prelude.Enum.succ{Int}: tried to take `succ' of maxBound");+var h$$B2 = h$strta("Prelude.Enum.Bool.toEnum: bad argument");+var h$$B3 = h$strta("Prelude.Enum.pred{Int}: tried to take `pred' of minBound");+function h$baseZCGHCziEnumzizdfEnumInt2_e()+{+ h$bh();+ h$l2(h$$B1, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+function h$$BF()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((b === 2147483647))+ {+ return h$e(h$baseZCGHCziEnumzizdfEnumInt2);+ }+ else+ {+ h$r1 = ((b + 1) | 0);+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziEnumzizdfEnumIntzuzdcsucc_e()+{+ h$p1(h$$BF);+ return h$e(h$r2);+};+function h$baseZCGHCziEnumzizdfEnumInt1_e()+{+ h$bh();+ h$l2(h$$B3, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+function h$$BG()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ if((b === (-2147483648)))+ {+ return h$e(h$baseZCGHCziEnumzizdfEnumInt1);+ }+ else+ {+ h$r1 = ((b - 1) | 0);+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziEnumzizdfEnumIntzuzdcpred_e()+{+ h$p1(h$$BG);+ return h$e(h$r2);+};+function h$baseZCGHCziEnumzizdfEnumIntzuzdcfromEnum_e()+{+ return h$e(h$r2);+};+function h$$BH()+{+ var a = h$r1;+ --h$sp;+ h$l3(2147483647, a, h$baseZCGHCziEnumzieftInt);+ return h$ap_2_2_fast();+};+function h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFrom_e()+{+ h$p1(h$$BH);+ return h$e(h$r2);+};+function h$$BJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(a, b, h$baseZCGHCziEnumziefdInt);+ return h$ap_2_2_fast();+};+function h$$BI()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$BJ);+ return h$e(b);+};+function h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFromThen_e()+{+ h$p2(h$r3, h$$BI);+ return h$e(h$r2);+};+function h$$BL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(a, b, h$baseZCGHCziEnumzieftInt);+ return h$ap_2_2_fast();+};+function h$$BK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$BL);+ return h$e(b);+};+function h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFromTo_e()+{+ h$p2(h$r3, h$$BK);+ return h$e(h$r2);+};+function h$$BO()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(a, c, b, h$baseZCGHCziEnumziefdtInt);+ return h$ap_3_3_fast();+};+function h$$BN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp6(a, h$$BO);+ return h$e(b);+};+function h$$BM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ h$pp5(a, h$$BN);+ return h$e(b);+};+function h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFromThenTo_e()+{+ h$p3(h$r3, h$r4, h$$BM);+ return h$e(h$r2);+};+function h$baseZCGHCziEnumzizdfEnumBool1_e()+{+ h$bh();+ h$l2(h$$B2, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziEnumziDZCEnum_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziEnumziDZCEnum_e()+{+ h$r1 = h$c8(h$baseZCGHCziEnumziDZCEnum_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$r9);+ return h$stack[h$sp];+};+function h$$BR()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$l2(((d + a) | 0), c);+ return h$ap_1_1_fast();+};+function h$$BQ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = h$r2;+ if((g < e))+ {+ h$l3(c, g, a);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l3(h$c3(h$$BR, d, f, g), g, a);+ return h$ap_2_2_fast();+ };+};+function h$$BP()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ h$bh();+ var g = ((e - d) | 0);+ var h = ((f - g) | 0);+ var i = h$c(h$$BQ);+ i.d1 = a;+ i.d2 = h$d4(c, g, h, i);+ h$l2(e, i);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziEnumziefdtIntDnFB_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ var e = h$r6;+ if((e > d))+ {+ if((e > c))+ {+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ h$l3(b, c, a);+ return h$ap_2_2_fast();+ };+ }+ else+ {+ h$l3(h$c5(h$$BP, a, b, c, d, e), c, a);+ return h$ap_2_2_fast();+ };+};+function h$$BU()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$l2(((d + a) | 0), c);+ return h$ap_1_1_fast();+};+function h$$BT()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ if((e < c))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, e, h$ghczmprimZCGHCziTypesziZMZN);+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, e, h$c3(h$$BU, a, d, e));+ };+ return h$stack[h$sp];+};+function h$$BS()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ var e = ((c - a) | 0);+ var f = ((d - e) | 0);+ var g = h$c(h$$BT);+ g.d1 = e;+ g.d2 = h$d2(f, g);+ h$l2(c, g);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziEnumziefdtIntDn_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ if((c > b))+ {+ if((c > a))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, h$ghczmprimZCGHCziTypesziZMZN);+ };+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, h$c3(h$$BS, a, b, c));+ };+ return h$stack[h$sp];+};+function h$$BX()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$l2(((d + a) | 0), c);+ return h$ap_1_1_fast();+};+function h$$BW()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ var g = h$r2;+ if((g > e))+ {+ h$l3(c, g, a);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l3(h$c3(h$$BX, d, f, g), g, a);+ return h$ap_2_2_fast();+ };+};+function h$$BV()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ h$bh();+ var g = ((e - d) | 0);+ var h = ((f - g) | 0);+ var i = h$c(h$$BW);+ i.d1 = a;+ i.d2 = h$d4(c, g, h, i);+ h$l2(e, i);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziEnumziefdtIntUpFB_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ var d = h$r5;+ var e = h$r6;+ if((e < d))+ {+ if((e < c))+ {+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ h$l3(b, c, a);+ return h$ap_2_2_fast();+ };+ }+ else+ {+ h$l3(h$c5(h$$BV, a, b, c, d, e), c, a);+ return h$ap_2_2_fast();+ };+};+function h$$B0()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$l2(((d + a) | 0), c);+ return h$ap_1_1_fast();+};+function h$$BZ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ if((e > c))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, e, h$ghczmprimZCGHCziTypesziZMZN);+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, e, h$c3(h$$B0, a, d, e));+ };+ return h$stack[h$sp];+};+function h$$BY()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ var e = ((c - a) | 0);+ var f = ((d - e) | 0);+ var g = h$c(h$$BZ);+ g.d1 = e;+ g.d2 = h$d2(f, g);+ h$l2(c, g);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziEnumziefdtIntUp_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ if((c < b))+ {+ if((c < a))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, h$ghczmprimZCGHCziTypesziZMZN);+ };+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, h$c3(h$$BY, a, b, c));+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziEnumziefdInt_e()+{+ var a = h$r2;+ var b = h$r3;+ if((b >= a))+ {+ h$l4(2147483647, b, a, h$baseZCGHCziEnumziefdtIntUp);+ return h$ap_3_3_fast();+ }+ else+ {+ h$l4((-2147483648), b, a, h$baseZCGHCziEnumziefdtIntDn);+ return h$ap_3_3_fast();+ };+};+function h$$B4()+{+ var a = new h$MutVar(h$$Cp);+ h$r1 = h$c1(h$baseZCGHCziSTRefziSTRef_con_e, a);+ return h$stack[h$sp];+};+function h$$Cj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p4(h$ghczmprimZCGHCziTypesziZMZN, b, h$baseZCGHCziConcziSynczizdfShowThreadStatus2, h$ap_3_3);+ h$l2(a, h$baseZCGHCziShowzishowsPrec);+ return h$baseZCGHCziShowzishowsPrec_e;+};+function h$$Ci()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p4(h$ghczmprimZCGHCziTypesziZMZN, b, h$baseZCGHCziConcziSynczizdfShowThreadStatus2, h$ap_3_3);+ h$l2(a, h$baseZCGHCziShowzishowsPrec);+ return h$baseZCGHCziShowzishowsPrec_e;+};+function h$$Ch()+{+ var a = h$stack[(h$sp - 6)];+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 7;+ if(h$hs_eqWord64(c, d, (-998742778), 1788961336))+ {+ if(h$hs_eqWord64(e, f, (-1875875731), (-781394717)))+ {+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ h$p2(b, h$$Ci);+ h$l2(a, h$baseZCGHCziExceptionzizdp2Exception);+ return h$baseZCGHCziExceptionzizdp2Exception_e;+ };+ }+ else+ {+ h$p2(b, h$$Cj);+ h$l2(a, h$baseZCGHCziExceptionzizdp2Exception);+ return h$baseZCGHCziExceptionzizdp2Exception_e;+ };+};+function h$$Cg()+{+ --h$sp;+ return h$e(h$$Cs);+};+function h$$Cf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ var g = d.d3;+ if(h$hs_eqWord64(c, e, 1528534511, 51525854))+ {+ if(h$hs_eqWord64(f, g, (-1218859950), (-1796931918)))+ {+ h$p1(h$$Cg);+ h$r1 = b;+ return h$ap_0_0_fast();+ }+ else+ {+ h$pp60(c, e, f, g);+ ++h$sp;+ return h$$Ch;+ };+ }+ else+ {+ h$pp60(c, e, f, g);+ ++h$sp;+ return h$$Ch;+ };+};+function h$$Ce()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p3(a, b, h$$Cf);+ ++h$sp;+ h$stack[h$sp] = h$ap_1_0;+ h$l2(a, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$$Cd()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a.d1;+ h$errorBelch2(b, c, d, a.d2);+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$Cc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$p3(c, a.d2, h$$Cd);+ return h$e(b);+};+function h$$Cb()+{+ h$p2(h$r2, h$$Cc);+ return h$e(h$r1.d1);+};+function h$$Ca()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(h$c1(h$$Cb, c), b, a, h$baseZCGHCziForeignzicharIsRepresentable3);+ return h$baseZCGHCziForeignzicharIsRepresentable3_e;+};+function h$$B9()+{+ h$p3(h$r1.d1, h$r2, h$$Ca);+ h$r1 = h$baseZCGHCziIOziEncodingzigetForeignEncoding;+ return h$ap_1_0_fast();+};+function h$$B8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$l4(h$c1(h$$B9, h$c2(h$$Ce, b, c)), h$$Cr, a, h$baseZCGHCziForeignzicharIsRepresentable3);+ return h$baseZCGHCziForeignzicharIsRepresentable3_e;+};+function h$$B7()+{+ h$sp -= 3;+ h$pp4(h$$B8);+ h$r1 = h$baseZCGHCziIOziEncodingzigetForeignEncoding;+ return h$ap_1_0_fast();+};+function h$$B6()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p3(b, a.d2, h$$B7);+ return h$catch(h$$Ct, h$$Cq);+};+function h$$B5()+{+ h$p1(h$$B6);+ return h$e(h$r2);+};+function h$$Cl()+{+ --h$sp;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$Ck()+{+ h$p1(h$$Cl);+ return h$e(h$r2);+};+var h$$Cr = h$strta("%s");+var h$$Cs = h$strta("no threads to run: infinite loop or deadlock?");+function h$$Cm()+{+ h$bh();+ h$l2(h$baseZCGHCziIOziHandleziFDzistdout, h$baseZCGHCziIOziHandlezihFlush);+ return h$ap_1_1_fast();+};+function h$$Cn()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$l2(b, c.val);+ return h$ap_2_1_fast();+};+function h$baseZCGHCziConcziSynczireportError1_e()+{+ h$p2(h$r2, h$$Cn);+ return h$e(h$baseZCGHCziConcziSyncziuncaughtExceptionHandler);+};+function h$baseZCGHCziConcziSyncziThreadId_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziConcziSyncziThreadId_e()+{+ h$r1 = h$c1(h$baseZCGHCziConcziSyncziThreadId_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCGHCziConcziSyncziuncaughtExceptionHandler_e()+{+ h$bh();+ h$l2(h$$Co, h$baseZCGHCziIOziunsafeDupablePerformIO);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziConcziSynczireportError_e()+{+ h$r1 = h$baseZCGHCziConcziSynczireportError1;+ return h$ap_2_1_fast();+};+function h$$Cw()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, b);+ return h$stack[h$sp];+};+function h$$Cv()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Cw);+ h$l4(h$ghczmprimZCGHCziTypesziZMZN, a, 9, h$baseZCGHCziShowzizdwshowSignedInt);+ return h$baseZCGHCziShowzizdwshowSignedInt_e;+};+function h$$Cu()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+var h$$baseZCGHCziChar_e = h$str("Prelude.chr: bad argument: ");+function h$baseZCGHCziCharzichr2_e()+{+ h$p1(h$$Cu);+ h$r4 = h$c1(h$$Cv, h$r2);+ h$r3 = 0;+ h$r2 = h$$baseZCGHCziChar_e();+ h$r1 = h$ghczmprimZCGHCziCStringziunpackAppendCStringzh;+ return h$ap_2_3_fast();+};+function h$$CB()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = true;+ }+ else+ {+ h$r1 = false;+ };+ return h$stack[h$sp];+};+function h$$CA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ if((b === e))+ {+ h$l3(d, c, h$baseZCGHCziBasezieqString);+ return h$ap_2_2_fast();+ }+ else+ {+ h$r1 = false;+ };+ return h$stack[h$sp];+};+function h$$Cz()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 4;+ h$pp9(a, h$$CA);+ return h$e(b);+};+function h$$Cy()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = false;+ }+ else+ {+ var c = a.d1;+ h$pp13(c, a.d2, h$$Cz);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$Cx()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$p1(h$$CB);+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$p3(c, a.d2, h$$Cy);+ return h$e(b);+ };+};+function h$baseZCGHCziBasezieqString_e()+{+ h$p2(h$r3, h$$Cx);+ return h$e(h$r2);+};+function h$$CJ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(b, a, h$baseZCGHCziBasezimap);+ return h$ap_2_2_fast();+};+function h$$CI()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$CH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var c = a.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$$CI, b, c), h$c2(h$$CJ, b, a.d2));+ };+ return h$stack[h$sp];+};+function h$$CG()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$CF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ h$r1 = c;+ return h$ap_0_0_fast();+ }+ else+ {+ var e = a.d1;+ h$l3(h$c2(h$$CG, d, a.d2), e, b);+ return h$ap_2_2_fast();+ };+};+function h$$CE()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p4(a, c, b.d2, h$$CF);+ return h$e(h$r2);+};+function h$$CD()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$CC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, c, h$c2(h$$CD, b, a.d2));+ };+ return h$stack[h$sp];+};+function h$baseZCGHCziBasezimap_e()+{+ h$p2(h$r2, h$$CH);+ return h$e(h$r3);+};+function h$baseZCGHCziBasezifoldr_e()+{+ var a = h$r3;+ var b = h$r4;+ var c = h$c(h$$CE);+ c.d1 = h$r2;+ c.d2 = h$d2(a, c);+ h$l2(b, c);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziBasezizpzp_e()+{+ h$p2(h$r3, h$$CC);+ return h$e(h$r2);+};+function h$$CK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l2(a, b);+ return h$ap_2_1_fast();+};+function h$baseZCGHCziBasezibindIO1_e()+{+ h$p2(h$r3, h$$CK);+ h$r1 = h$r2;+ return h$ap_1_0_fast();+};+function h$$CL()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = a;+ return h$ap_1_0_fast();+};+function h$baseZCGHCziBasezithenIO1_e()+{+ h$p2(h$r3, h$$CL);+ h$r1 = h$r2;+ return h$ap_1_0_fast();+};+function h$baseZCGHCziBasezireturnIO1_e()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$baseZCGHCziBasezizdfMonadIOzuzdcfail_e()+{+ h$r1 = h$baseZCGHCziIOzifailIO;+ return h$ap_1_1_fast();+};+function h$$CN()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$CM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$$CN, b, a);+ return h$stack[h$sp];+};+function h$baseZCGHCziBasezizdfFunctorIO2_e()+{+ h$p2(h$r2, h$$CM);+ h$r1 = h$r3;+ return h$ap_1_0_fast();+};+function h$$CO()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$baseZCGHCziBasezizdfFunctorIO1_e()+{+ h$p2(h$r2, h$$CO);+ h$r1 = h$r3;+ return h$ap_1_0_fast();+};+function h$baseZCGHCziBaseziDZCMonad_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziBaseziDZCMonad_e()+{+ h$r1 = h$c4(h$baseZCGHCziBaseziDZCMonad_con_e, h$r2, h$r3, h$r4, h$r5);+ return h$stack[h$sp];+};+function h$baseZCGHCziBaseziDZCFunctor_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCGHCziBaseziDZCFunctor_e()+{+ h$r1 = h$c2(h$baseZCGHCziBaseziDZCFunctor_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$$CP()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziBasezizi_e()+{+ var a = h$r2;+ h$l2(h$c2(h$$CP, h$r3, h$r4), a);+ return h$ap_1_1_fast();+};+function h$baseZCGHCziBaseziid_e()+{+ h$r1 = h$r2;+ return h$ap_0_0_fast();+};+function h$$CQ()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d2;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziBasezireturn_e()+{+ h$p1(h$$CQ);+ return h$e(h$r2);+};+function h$$CR()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziBasezifmap_e()+{+ h$p1(h$$CR);+ return h$e(h$r2);+};+function h$$CS()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziBasezizgzg_e()+{+ h$p1(h$$CS);+ return h$e(h$r2);+};+function h$$CT()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziBasezizgzgze_e()+{+ h$p1(h$$CT);+ return h$e(h$r2);+};+function h$$CU()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d3;+ return h$ap_0_0_fast();+};+function h$baseZCGHCziBasezifail_e()+{+ h$p1(h$$CU);+ return h$e(h$r2);+};+function h$baseZCForeignziStorablezizdfStorableCharzuzdcalignment_e()+{+ return h$e(h$baseZCForeignziStorablezizdfStorableBool7);+};+function h$$CW()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ var e;+ var f;+ e = b;+ f = (c + d);+ var g = e.dv.getUint32((f + 0), true);+ h$r1 = g;+ return h$stack[h$sp];+};+function h$$CV()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$p3(c, a.d2, h$$CW);+ return h$e(b);+};+function h$baseZCForeignziStorablezizdfStorableChar4_e()+{+ h$p2(h$r3, h$$CV);+ return h$e(h$r2);+};+function h$$CZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ var f;+ var g;+ f = b;+ g = (d + c);+ f.dv.setUint32((g + 0), e, true);+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$CY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 4;+ h$pp10(a, h$$CZ);+ return h$e(b);+};+function h$$CX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ var c = a.d1;+ h$pp13(c, a.d2, h$$CY);+ return h$e(b);+};+function h$baseZCForeignziStorablezizdfStorableChar3_e()+{+ h$p3(h$r3, h$r4, h$$CX);+ return h$e(h$r2);+};+function h$$C0()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = a.d2;+ var d = b.dv.getUint32((c + 0), true);+ h$r1 = d;+ return h$stack[h$sp];+};+function h$baseZCForeignziStorablezizdfStorableChar2_e()+{+ h$p1(h$$C0);+ return h$e(h$r2);+};+function h$$C2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ b.dv.setUint32((c + 0), d, true);+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$C1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$p3(c, a.d2, h$$C2);+ return h$e(b);+};+function h$baseZCForeignziStorablezizdfStorableChar1_e()+{+ h$p2(h$r3, h$$C1);+ return h$e(h$r2);+};+function h$baseZCForeignziStorableziDZCStorable_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCForeignziStorableziDZCStorable_e()+{+ h$r1 = h$c8(h$baseZCForeignziStorableziDZCStorable_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$r9);+ return h$stack[h$sp];+};+function h$$C3()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d3;+ return h$ap_0_0_fast();+};+function h$baseZCForeignziStorablezipokeElemOff_e()+{+ h$p1(h$$C3);+ return h$e(h$r2);+};+function h$$C4()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d2;+ return h$ap_0_0_fast();+};+function h$baseZCForeignziStorablezipeekElemOff_e()+{+ h$p1(h$$C4);+ return h$e(h$r2);+};+function h$$C9()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p3(h$baseZCForeignziMarshalziArrayzilengthArray2, b, h$ap_2_2);+ h$l2(a, h$baseZCForeignziStorablezipeekElemOff);+ return h$baseZCForeignziStorablezipeekElemOff_e;+};+function h$$C8()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCForeignziStorablezipeekElemOff);+ return h$baseZCForeignziStorablezipeekElemOff_e;+};+function h$$C7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$sp -= 3;+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, b), ((c - 1) | 0));+ h$sp += 3;+ ++h$sp;+ return h$$C5;+};+function h$$C6()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, b);+ return h$stack[h$sp];+};+function h$$C5()+{+ var a = h$stack[(h$sp - 3)];+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var d = h$r2;+ var e = h$r1;+ if((e === 0))+ {+ h$p2(d, h$$C6);+ h$r1 = b;+ return h$ap_1_0_fast();+ }+ else+ {+ var f = e;+ h$sp += 3;+ h$p3(d, e, h$$C7);+ h$l3(f, a, c);+ return h$ap_3_2_fast();+ };+};+function h$baseZCForeignziMarshalziArrayzizdwa8_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$r4;+ if((b <= 0))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var d = h$c2(h$$C9, a, c);+ var e = h$c1(h$$C8, a);+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, ((b - 1) | 0));+ h$p3(c, d, e);+ ++h$sp;+ return h$$C5;+ };+ return h$stack[h$sp];+};+function h$$Dd()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCForeignziStorablezipokeElemOff);+ return h$baseZCForeignziStorablezipokeElemOff_e;+};+function h$$Dc()+{+ var a = h$stack[(h$sp - 2)];+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$sp -= 2;+ h$l2(((a + 1) | 0), b);+ h$sp += 2;+ ++h$sp;+ return h$$Da;+};+function h$$Db()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = h$stack[(h$sp - 1)];+ var d = h$stack[h$sp];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ var e = a.d1;+ var f = a.d2;+ var g = b;+ h$sp += 2;+ h$pp6(f, h$$Dc);+ h$l4(e, g, c, d);+ return h$ap_4_3_fast();+ };+ return h$stack[h$sp];+};+function h$$Da()+{+ h$sp -= 3;+ var a = h$r1;+ var b = h$r2;+ h$sp += 2;+ h$p2(b, h$$Db);+ return h$e(a);+};+function h$baseZCForeignziMarshalziArrayzinewArray8_e()+{+ var a = h$r2;+ h$l2(0, h$r4);+ h$p2(h$r3, h$c1(h$$Dd, a));+ ++h$sp;+ return h$$Da;+};+var h$baseZCForeignziMarshalziAlloczimallocBytes4 = h$strta("malloc");+var h$baseZCForeignziMarshalziAlloczimallocBytes3 = h$strta("out of memory");+function h$$Df()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if(a)+ {+ var f = h$__hscore_get_errno();+ var g = f;+ var h = (g | 0);+ if((h === 4))+ {+ h$l4(d, c, b, h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2);+ return h$ap_4_3_fast();+ }+ else+ {+ h$l2(c, h$baseZCForeignziCziErrorzithrowErrno1);+ return h$ap_2_1_fast();+ };+ }+ else+ {+ h$r1 = e;+ };+ return h$stack[h$sp];+};+function h$$De()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 4;+ h$pp24(a, h$$Df);+ h$l2(a, b);+ return h$ap_1_1_fast();+};+function h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2_e()+{+ h$p4(h$r2, h$r3, h$r4, h$$De);+ h$r1 = h$r4;+ return h$ap_1_0_fast();+};+function h$$Dg()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziIOziExceptionziioError);+ return h$ap_2_1_fast();+};+function h$baseZCForeignziCziErrorzithrowErrno1_e()+{+ var a = h$r2;+ var b = h$__hscore_get_errno();+ var c = b;+ h$p1(h$$Dg);+ h$l5(h$baseZCDataziMaybeziNothing, h$baseZCDataziMaybeziNothing, (c | 0), a, h$baseZCForeignziCziErrorzierrnoToIOError);+ return h$ap_4_4_fast();+};+function h$$Dk()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var g;+ switch (f)+ {+ case (1):+ g = h$baseZCGHCziIOziExceptionziPermissionDenied;+ break;+ case (2):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (3):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (4):+ g = h$baseZCGHCziIOziExceptionziInterrupted;+ break;+ case (5):+ g = h$baseZCGHCziIOziExceptionziHardwareFault;+ break;+ case (6):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (7):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (8):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (9):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (10):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (11):+ g = h$baseZCGHCziIOziExceptionziResourceBusy;+ break;+ case (12):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (13):+ g = h$baseZCGHCziIOziExceptionziPermissionDenied;+ break;+ case (15):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (16):+ g = h$baseZCGHCziIOziExceptionziResourceBusy;+ break;+ case (17):+ g = h$baseZCGHCziIOziExceptionziAlreadyExists;+ break;+ case (18):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (19):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (20):+ g = h$baseZCGHCziIOziExceptionziInappropriateType;+ break;+ case (21):+ g = h$baseZCGHCziIOziExceptionziInappropriateType;+ break;+ case (22):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (23):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (24):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (25):+ g = h$baseZCGHCziIOziExceptionziIllegalOperation;+ break;+ case (26):+ g = h$baseZCGHCziIOziExceptionziResourceBusy;+ break;+ case (27):+ g = h$baseZCGHCziIOziExceptionziPermissionDenied;+ break;+ case (28):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (29):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (30):+ g = h$baseZCGHCziIOziExceptionziPermissionDenied;+ break;+ case (31):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (32):+ g = h$baseZCGHCziIOziExceptionziResourceVanished;+ break;+ case (33):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (34):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (35):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (36):+ g = h$baseZCGHCziIOziExceptionziAlreadyExists;+ break;+ case (37):+ g = h$baseZCGHCziIOziExceptionziAlreadyExists;+ break;+ case (38):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (39):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (40):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (41):+ g = h$baseZCGHCziIOziExceptionziProtocolError;+ break;+ case (42):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (43):+ g = h$baseZCGHCziIOziExceptionziProtocolError;+ break;+ case (44):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (46):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (47):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (48):+ g = h$baseZCGHCziIOziExceptionziResourceBusy;+ break;+ case (49):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (50):+ g = h$baseZCGHCziIOziExceptionziResourceVanished;+ break;+ case (51):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (52):+ g = h$baseZCGHCziIOziExceptionziResourceVanished;+ break;+ case (54):+ g = h$baseZCGHCziIOziExceptionziResourceVanished;+ break;+ case (55):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (56):+ g = h$baseZCGHCziIOziExceptionziAlreadyExists;+ break;+ case (57):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (58):+ g = h$baseZCGHCziIOziExceptionziIllegalOperation;+ break;+ case (59):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (60):+ g = h$baseZCGHCziIOziExceptionziTimeExpired;+ break;+ case (61):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (62):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (63):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (64):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (65):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (66):+ g = h$baseZCGHCziIOziExceptionziUnsatisfiedConstraints;+ break;+ case (67):+ g = h$baseZCGHCziIOziExceptionziPermissionDenied;+ break;+ case (68):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (69):+ g = h$baseZCGHCziIOziExceptionziPermissionDenied;+ break;+ case (70):+ g = h$baseZCGHCziIOziExceptionziResourceVanished;+ break;+ case (71):+ g = h$baseZCGHCziIOziExceptionziIllegalOperation;+ break;+ case (73):+ g = h$baseZCGHCziIOziExceptionziProtocolError;+ break;+ case (74):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (75):+ g = h$baseZCGHCziIOziExceptionziProtocolError;+ break;+ case (76):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (77):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (78):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (79):+ g = h$baseZCGHCziIOziExceptionziInappropriateType;+ break;+ case (90):+ g = h$baseZCGHCziIOziExceptionziResourceVanished;+ break;+ case (91):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (92):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (94):+ g = h$baseZCGHCziIOziExceptionziInappropriateType;+ break;+ case (95):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ case (96):+ g = h$baseZCGHCziIOziExceptionziNoSuchThing;+ break;+ case (97):+ g = h$baseZCGHCziIOziExceptionziResourceVanished;+ break;+ case (98):+ g = h$baseZCGHCziIOziExceptionziResourceExhausted;+ break;+ case (99):+ g = h$baseZCGHCziIOziExceptionziInvalidArgument;+ break;+ case (100):+ g = h$baseZCGHCziIOziExceptionziProtocolError;+ break;+ case (101):+ g = h$baseZCGHCziIOziExceptionziTimeExpired;+ break;+ case (102):+ g = h$baseZCGHCziIOziExceptionziUnsupportedOperation;+ break;+ default:+ g = h$baseZCGHCziIOziExceptionziOtherError;+ };+ h$r1 = h$c6(h$baseZCGHCziIOziExceptionziIOError_con_e, c, g, b, a, h$c1(h$baseZCDataziMaybeziJust_con_e, e), d);+ return h$stack[h$sp];+};+function h$$Dj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 8;+ h$pp32(h$$Dk);+ h$l4(c, b, a, h$baseZCGHCziForeignzizdwa);+ return h$ap_3_3_fast();+};+function h$$Di()+{+ var a = h$r1;+ h$sp -= 4;+ var b = a;+ var c = h$strerror(a);+ h$pp248(a, b, c, h$ret1, h$$Dj);+ h$r1 = h$baseZCGHCziIOziEncodingzigetForeignEncoding;+ return h$ap_1_0_fast();+};+function h$$Dh()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$p4(a, d, b.d3, h$$Di);+ return h$e(c);+};+function h$baseZCForeignziCziErrorzierrnoToIOError_e()+{+ h$l2(h$c4(h$$Dh, h$r2, h$r3, h$r4, h$r5), h$baseZCGHCziIOziunsafeDupablePerformIO);+ return h$ap_1_1_fast();+};+function h$baseZCDataziTypeableziInternalziTypeRep_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCDataziTypeableziInternalziTypeRep_e()+{+ h$r1 = h$c6(h$baseZCDataziTypeableziInternalziTypeRep_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7);+ return h$stack[h$sp];+};+function h$$Dl()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a.d1;+ var e = a.d2;+ var f = e.d1;+ var g = e.d2;+ h$r1 = h$c6(h$baseZCDataziTypeableziInternalziTypeRep_con_e, d, f, g, e.d3, b, c);+ return h$stack[h$sp];+};+function h$baseZCDataziTypeableziInternalzizdWTypeRep_e()+{+ h$p3(h$r3, h$r4, h$$Dl);+ return h$e(h$r2);+};+function h$baseZCDataziTypeableziInternalziTyCon_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCDataziTypeableziInternalziTyCon_e()+{+ h$r1 = h$c7(h$baseZCDataziTypeableziInternalziTyCon_con_e, h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8);+ return h$stack[h$sp];+};+function h$$Dm()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d1;+ var f = a.d2;+ var g = f.d1;+ var h = f.d2;+ h$r1 = h$c7(h$baseZCDataziTypeableziInternalziTyCon_con_e, e, g, h, f.d3, b, c, d);+ return h$stack[h$sp];+};+function h$baseZCDataziTypeableziInternalzizdWTyCon_e()+{+ h$p4(h$r3, h$r4, h$r5, h$$Dm);+ return h$e(h$r2);+};+function h$$Do()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var g = a.d1;+ var h = a.d2;+ var i = h.d1;+ var j = h.d2;+ if(h$hs_eqWord64(b, d, g, i))+ {+ if(h$hs_eqWord64(e, f, j, h.d3))+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, c);+ }+ else+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ };+ }+ else+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ };+ return h$stack[h$sp];+};+function h$$Dn()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ var c = a.d1;+ var d = a.d2;+ var e = d.d1;+ var f = d.d2;+ h$pp61(c, e, f, d.d3, h$$Do);+ h$r1 = b;+ return h$ap_1_0_fast();+};+function h$baseZCDataziTypeablezicast_e()+{+ h$p3(h$r3, h$r4, h$$Dn);+ h$r1 = h$r2;+ return h$ap_1_0_fast();+};+function h$$Dp()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d2;+ return h$ap_0_0_fast();+};+function h$baseZCDataziTuplezisnd_e()+{+ h$p1(h$$Dp);+ return h$e(h$r2);+};+function h$$Dq()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$baseZCDataziTuplezifst_e()+{+ h$p1(h$$Dq);+ return h$e(h$r2);+};+function h$baseZCDataziMaybeziJust_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCDataziMaybeziJust_e()+{+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCDataziMaybeziNothing_con_e()+{+ return h$stack[h$sp];+};+function h$$Dx()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ --h$sp;+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, a, b);+ return h$stack[h$sp];+};+function h$$Dw()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Dx);+ h$l3(a, h$baseZCGHCziUnicodeziisSpace, h$baseZCGHCziListzizdwbreak);+ return h$ap_2_2_fast();+};+function h$$Dv()+{+ var a = h$r1;+ --h$sp;+ h$l2(a.d2, h$baseZCDataziListziwords);+ return h$ap_1_1_fast();+};+function h$$Du()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Dv);+ return h$e(a);+};+function h$$Dt()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$$Ds()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Dt);+ return h$e(a);+};+function h$$Dr()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = h$c1(h$$Dw, a);+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$$Ds, b), h$c1(h$$Du, b));+ };+ return h$stack[h$sp];+};+function h$baseZCDataziListziwords_e()+{+ h$p1(h$$Dr);+ h$l3(h$r2, h$baseZCGHCziUnicodeziisSpace, h$baseZCGHCziListzidropWhile);+ return h$ap_2_2_fast();+};+function h$$D7()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(b.d2, c, a);+ return h$ap_2_2_fast();+};+function h$$D6()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(b.d2, c, a);+ return h$ap_2_2_fast();+};+function h$$D5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ if((a.f.a === 3))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, g, h$c3(h$$D6, c, d, h));+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, e, h$c3(h$$D7, c, f, b));+ };+ return h$stack[h$sp];+};+function h$$D4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ h$sp -= 6;+ if((a.f.a === 1))+ {+ h$r1 = c;+ }+ else+ {+ var e = a.d1;+ h$pp225(a, e, a.d2, h$$D5);+ h$l3(e, d, b);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$D3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ return h$e(b);+ }+ else+ {+ var c = a.d1;+ h$pp60(a, c, a.d2, h$$D4);+ return h$e(b);+ };+};+function h$$D2()+{+ var a = h$r1.d1;+ h$p4(a, h$r1.d2, h$r3, h$$D3);+ return h$e(h$r2);+};+function h$$D1()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$D0()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l3(b.d2, c, a);+ return h$ap_2_2_fast();+};+function h$$DZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if((a.f.a === 1))+ {+ h$r1 = d;+ }+ else+ {+ var f = a.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c3(h$$D0, b, e, f), h$c2(h$$D1, c, a.d2));+ };+ return h$stack[h$sp];+};+function h$$DY()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$pp28(a, a.d1, h$$DZ);+ return h$e(a.d2);+ };+ return h$stack[h$sp];+};+function h$$DX()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$DY);+ return h$e(h$r2);+};+function h$$DW()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 2;+ h$r1 = a;+ h$sp += 2;+ ++h$sp;+ return h$$DR;+};+function h$$DV()+{+ var a = h$bh_lne((h$sp - 1), 3);+ if(a)+ {+ return a;+ };+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ h$sp += 2;+ h$p1(h$$DW);+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, b);+ return h$ap_1_1_fast();+};+function h$$DU()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 2;+ h$r1 = a;+ h$sp += 2;+ ++h$sp;+ return h$$DR;+};+function h$$DT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ return h$e(c);+ }+ else+ {+ h$sp += 2;+ h$p1(h$$DU);+ h$l2(b, d);+ return h$ap_1_1_fast();+ };+};+function h$$DS()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$sp += 2;+ ++h$sp;+ return h$$DV;+ }+ else+ {+ var b = a.d1;+ var c = a.d2;+ h$sp += 2;+ h$p3(a, b, h$$DT);+ return h$e(c);+ };+};+function h$$DR()+{+ h$sp -= 3;+ var a = h$r1;+ h$sp += 2;+ h$p1(h$$DS);+ return h$e(a);+};+function h$$DQ()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(h$ghczmprimZCGHCziTypesziZMZN, a);+ return h$ap_1_1_fast();+};+function h$$DP()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$DO()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ if((a.f.a === 3))+ {+ h$l4(h, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, f, g), d, e);+ return h$ap_3_3_fast();+ }+ else+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, f, g), h$c2(h$$DP, c, b));+ };+ return h$stack[h$sp];+};+function h$$DN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 7;+ if((a.f.a === 1))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, d, e), c);+ }+ else+ {+ var f = a.d1;+ h$pp197(a, f, a.d2, h$$DO);+ h$l3(f, d, b);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$DM()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$p7(a, c, d, b.d3, h$r2, h$r3, h$$DN);+ return h$e(h$r4);+};+function h$$DL()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, h$ghczmprimZCGHCziTypesziZMZN), b);+ return h$ap_1_1_fast();+};+function h$$DK()+{+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d1, h$r2), h$r1.d2);+ return h$ap_1_1_fast();+};+function h$$DJ()+{+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d1, h$r2), h$r1.d2);+ return h$ap_1_1_fast();+};+function h$$DI()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$DH()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, a, h$ghczmprimZCGHCziTypesziZMZN), b);+ return h$ap_1_1_fast();+};+function h$$DG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ switch (a.f.a)+ {+ case (1):+ h$l4(h, h$c2(h$$DK, f, g), d, e);+ return h$ap_3_3_fast();+ case (2):+ h$l4(h, h$c2(h$$DJ, f, g), d, e);+ return h$ap_3_3_fast();+ default:+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$$DH, f, g), h$c2(h$$DI, c, b));+ };+ return h$stack[h$sp];+};+function h$$DF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 7;+ if((a.f.a === 1))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$$DL, d, e), c);+ }+ else+ {+ var f = a.d1;+ h$pp197(a, f, a.d2, h$$DG);+ h$l3(f, d, b);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$DE()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$p7(a, c, d, b.d3, h$r2, h$r3, h$$DF);+ return h$e(h$r4);+};+function h$$DD()+{+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$r1.d1, h$r2);+ return h$stack[h$sp];+};+function h$$DC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ if((a.f.a === 3))+ {+ h$l4(e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, f, h$ghczmprimZCGHCziTypesziZMZN), b, c);+ return h$ap_3_3_fast();+ }+ else+ {+ h$l4(e, h$c1(h$$DD, f), b, d);+ return h$ap_3_3_fast();+ };+};+function h$$DB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 6;+ if((a.f.a === 1))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, c, h$ghczmprimZCGHCziTypesziZMZN);+ }+ else+ {+ var e = a.d1;+ h$pp41(e, a.d2, h$$DC);+ h$l3(e, d, b);+ return h$ap_2_2_fast();+ };+ return h$stack[h$sp];+};+function h$$DA()+{+ var a = h$r1;+ h$sp -= 4;+ if((a.f.a === 1))+ {+ return h$e(h$$D8);+ }+ else+ {+ h$pp56(a, a.d1, h$$DB);+ return h$e(a.d2);+ };+};+function h$$Dz()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p4(a, c, b.d2, h$$DA);+ return h$e(h$r2);+};+function h$$Dy()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 2;+ h$r1 = a;+ h$sp += 2;+ ++h$sp;+ return h$$DR;+};+function h$baseZCDataziListzisortBy_e()+{+ var a = h$r2;+ var b = h$r3;+ var c = h$c(h$$D2);+ c.d1 = h$r2;+ c.d2 = c;+ var d = h$c(h$$DX);+ d.d1 = c;+ d.d2 = d;+ var e = null;+ var f = h$c(h$$DQ);+ var g = h$c(h$$DM);+ var h = h$c(h$$DE);+ var i = h$c(h$$Dz);+ f.d1 = i;+ g.d1 = a;+ g.d2 = h$d3(i, f, g);+ h.d1 = a;+ h.d2 = h$d3(i, f, h);+ i.d1 = a;+ i.d2 = h$d2(g, h);+ h$p2(d, e);+ h$p1(h$$Dy);+ h$l2(b, i);+ return h$ap_1_1_fast();+};+function h$baseZCDataziFunctorzizlzdzg_e()+{+ h$r1 = h$baseZCGHCziBasezifmap;+ return h$baseZCGHCziBasezifmap_e;+};+function h$baseZCControlziMonadziforMzu_e()+{+ var a = h$r4;+ h$r4 = h$r3;+ h$r3 = a;+ h$r1 = h$baseZCControlziMonadzimapMzu;+ return h$ap_3_3_fast();+};+function h$$Ee()+{+ var a = h$r1.d1;+ h$bh();+ h$p2(h$ghczmprimZCGHCziTupleziZLZR, h$ap_1_1);+ h$l2(a, h$baseZCGHCziBasezireturn);+ return h$baseZCGHCziBasezireturn_e;+};+function h$$Ed()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCGHCziBasezizgzg);+ return h$baseZCGHCziBasezizgzg_e;+};+function h$$Ec()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$Eb()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$Ea()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ if((a.f.a === 1))+ {+ h$r1 = c;+ return h$ap_0_0_fast();+ }+ else+ {+ var f = a.d1;+ h$l3(h$c2(h$$Ec, e, a.d2), h$c2(h$$Eb, b, f), d);+ return h$ap_2_2_fast();+ };+};+function h$$D9()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$p5(a, c, d, b.d3, h$$Ea);+ return h$e(h$r2);+};+function h$baseZCControlziMonadzimapMzu_e()+{+ var a = h$r4;+ var b = h$c1(h$$Ee, h$r2);+ var c = h$c1(h$$Ed, h$r2);+ var d = h$c(h$$D9);+ d.d1 = h$r3;+ d.d2 = h$d3(b, c, d);+ h$l2(a, d);+ return h$ap_1_1_fast();+};+function h$baseZCControlziMonadzizezlzl_e()+{+ h$p3(h$r3, h$r4, h$ap_2_2);+ h$r1 = h$baseZCGHCziBasezizgzgze;+ return h$baseZCGHCziBasezizgzgze_e;+};+function h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdctoException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e, h$baseZCControlziExceptionziBasezizdfExceptionNonTermination,+ h$r2);+ return h$stack[h$sp];+};+function h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdctoException_e()+{+ h$r1 = h$c2(h$baseZCGHCziExceptionziSomeException_con_e, h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFail,+ h$r2);+ return h$stack[h$sp];+};+var h$$Eq = h$strta("Non-exhaustive patterns in");+function h$$Ef()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a.d1, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$baseZCControlziExceptionziBasezizdfShowPatternMatchFailzuzdcshowsPrec_e()+{+ h$p2(h$r4, h$$Ef);+ return h$e(h$r3);+};+function h$$Eg()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$baseZCControlziExceptionziBasezizdfShowPatternMatchFailzuzdcshow_e()+{+ h$p1(h$$Eg);+ return h$e(h$r2);+};+function h$$Eh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l3(b, a.d1, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$baseZCControlziExceptionziBasezizdfShowPatternMatchFail1_e()+{+ h$p2(h$r3, h$$Eh);+ return h$e(h$r2);+};+function h$baseZCControlziExceptionziBasezizdfShowPatternMatchFailzuzdcshowList_e()+{+ h$l4(h$r3, h$r2, h$baseZCControlziExceptionziBasezizdfShowPatternMatchFail1, h$baseZCGHCziShowzishowListzuzu);+ return h$baseZCGHCziShowzishowListzuzu_e;+};+var h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuww5 = h$strta("PatternMatchFail");+function h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdctypeRepzh_e()+{+ return h$e(h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFail1);+};+function h$$Ej()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdctypeRepzh, a, h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$Ei()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$Ej);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdcfromException_e()+{+ h$p1(h$$Ei);+ return h$e(h$r2);+};+function h$$Ek()+{+ --h$sp;+ h$r1 = h$baseZCControlziExceptionziBasezizdfShowNonTermination2;+ return h$ap_0_0_fast();+};+function h$baseZCControlziExceptionziBasezizdfShowNonTerminationzuzdcshowsPrec_e()+{+ h$p1(h$$Ek);+ return h$e(h$r3);+};+function h$$El()+{+ --h$sp;+ return h$e(h$baseZCControlziExceptionziBasezizdfShowNonTermination3);+};+function h$baseZCControlziExceptionziBasezizdfShowNonTerminationzuzdcshow_e()+{+ h$p1(h$$El);+ return h$e(h$r2);+};+var h$baseZCControlziExceptionziBasezizdfShowNonTermination3 = h$strta("<<loop>>");+function h$baseZCControlziExceptionziBasezizdfShowNonTermination2_e()+{+ h$l3(h$r2, h$baseZCControlziExceptionziBasezizdfShowNonTermination3, h$baseZCGHCziBasezizpzp);+ return h$ap_2_2_fast();+};+function h$$Em()+{+ --h$sp;+ h$r1 = h$baseZCControlziExceptionziBasezizdfShowNonTermination2;+ return h$ap_0_0_fast();+};+function h$baseZCControlziExceptionziBasezizdfShowNonTermination1_e()+{+ h$p1(h$$Em);+ return h$e(h$r2);+};+function h$baseZCControlziExceptionziBasezizdfShowNonTerminationzuzdcshowList_e()+{+ h$l4(h$r3, h$r2, h$baseZCControlziExceptionziBasezizdfShowNonTermination1, h$baseZCGHCziShowzishowListzuzu);+ return h$baseZCGHCziShowzishowListzuzu_e;+};+var h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuww5 = h$strta("NonTermination");+function h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdctypeRepzh_e()+{+ return h$e(h$baseZCControlziExceptionziBasezizdfExceptionNonTermination1);+};+function h$$Eo()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$l4(b, h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdctypeRepzh, a, h$baseZCDataziTypeablezicast);+ return h$baseZCDataziTypeablezicast_e;+};+function h$$En()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$p2(a.d2, h$$Eo);+ h$l2(b, h$baseZCGHCziExceptionzizdp1Exception);+ return h$baseZCGHCziExceptionzizdp1Exception_e;+};+function h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdcfromException_e()+{+ h$p1(h$$En);+ return h$e(h$r2);+};+var h$baseZCControlziExceptionziBasezizdfExceptionNestedAtomically3 = h$strta("base");+var h$baseZCControlziExceptionziBasezizdfExceptionNestedAtomicallyzuww4 = h$strta("Control.Exception.Base");+function h$baseZCControlziExceptionziBaseziNonTermination_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCControlziExceptionziBaseziPatternMatchFail_con_e()+{+ return h$stack[h$sp];+};+function h$baseZCControlziExceptionziBaseziPatternMatchFail_e()+{+ h$r1 = h$c1(h$baseZCControlziExceptionziBaseziPatternMatchFail_con_e, h$r2);+ return h$stack[h$sp];+};+function h$baseZCControlziExceptionziBasezinonTermination_e()+{+ h$bh();+ h$l2(h$baseZCControlziExceptionziBaseziNonTermination,+ h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdctoException);+ return h$ap_1_1_fast();+};+function h$$Ep()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l4(h$$Eq, b, a, h$baseZCGHCziIOziExceptionziuntangle);+ return h$baseZCGHCziIOziExceptionziuntangle_e;+};+function h$baseZCControlziExceptionziBasezipatError_e()+{+ var a = h$c2(h$$Ep, h$r2, h$r3);+ h$l3(h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdctoException,+ h$c1(h$baseZCControlziExceptionziBaseziPatternMatchFail_con_e, a), h$baseZCGHCziExceptionzithrow2);+ return h$ap_2_2_fast();+};+function h$$EA()+{+ h$bh();+ h$l4(h$$FV, h$baseZCGHCziBasezizdfMonadIO,+ h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziReaderzizdfMonadTransReaderT,+ h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziClasszilift);+ return h$ap_3_3_fast();+};+function h$$Ez()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(h$c(h$$EA), a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsElementElement,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup);+ return h$ap_3_3_fast();+};+function h$$Ey()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(h$$FV, h$c1(h$$Ez, a), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzg);+ return h$ap_3_3_fast();+};+function h$$Ex()+{+ h$bh();+ h$l4(h$$FV, h$baseZCGHCziBasezizdfMonadIO,+ h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziReaderzizdfMonadTransReaderT,+ h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziClasszilift);+ return h$ap_3_3_fast();+};+function h$$Ew()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(h$c(h$$Ex), a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsElementElement,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange);+ return h$ap_3_3_fast();+};+function h$$Ev()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ var b = h$ustra("Pattern match failure in do expression at ghcjs-demo.hs:32:3-12");+ h$l3(b, h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezifail);+ return h$ap_2_2_fast();+ }+ else+ {+ var c = a.d1;+ h$l4(h$c1(h$$Ey, c), h$c1(h$$Ew, c), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzg);+ return h$ap_3_3_fast();+ };+};+function h$$Eu()+{+ h$p1(h$$Ev);+ return h$e(h$r2);+};+function h$$Et()+{+ var a = h$r1.d1;+ h$bh();+ var b = h$ustra("input");+ h$l5(b, a, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfToJSStringZMZN,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsDocumentDocument,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById);+ return h$ap_4_4_fast();+};+function h$$Es()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ var b = h$ustra("Pattern match failure in do expression at ghcjs-demo.hs:31:3-10");+ h$l3(b, h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezifail);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l4(h$c(h$$Eu), h$c1(h$$Et, a.d1), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzgze);+ return h$ap_3_3_fast();+ };+};+function h$$Er()+{+ h$p1(h$$Es);+ return h$e(h$r2);+};+function h$$Fq()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassElement,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLCanvasElement);+ return h$ap_2_2_fast();+};+function h$$Fp()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszifill);+ return h$ap_1_1_fast();+};+function h$$Fo()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziclosePath);+ return h$ap_1_1_fast();+};+function h$$Fn()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(h$c1(h$$Fp, a), h$c1(h$$Fo, a), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzg);+ return h$ap_3_3_fast();+};+function h$$Fm()+{+ h$bh();+ h$l2(h$baseZCGHCziFloatzizdfFloatingDouble, h$baseZCGHCziFloatzipi);+ return h$ap_1_1_fast();+};+function h$$Fl()+{+ h$bh();+ h$l4(h$c(h$$Fm), 2.0, h$baseZCGHCziFloatzizdfNumDouble, h$baseZCGHCziNumzizt);+ return h$ap_3_3_fast();+};+function h$$Fk()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(2.0, a, h$baseZCGHCziFloatzizdfFractionalDouble, h$baseZCGHCziRealzizs);+ return h$ap_3_3_fast();+};+function h$$Fj()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l4(h$c1(h$$Fk, a), b, h$baseZCGHCziFloatzizdfNumDouble, h$baseZCGHCziNumzizp);+ return h$ap_3_3_fast();+};+function h$$Fi()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(2.0, a, h$baseZCGHCziFloatzizdfFractionalDouble, h$baseZCGHCziRealzizs);+ return h$ap_3_3_fast();+};+function h$$Fh()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l4(h$c1(h$$Fi, a), b, h$baseZCGHCziFloatzizdfNumDouble, h$baseZCGHCziNumzizp);+ return h$ap_3_3_fast();+};+function h$$Fg()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ h$bh();+ h$l8(d, true, h$c(h$$Fl), 0.0, e, h$c2(h$$Fj, c, b.d5), h$c2(h$$Fh, a, f),+ h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziarc);+ return h$ap_gen_fast(1799);+};+function h$$Ff()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ h$bh();+ h$l4(h$c1(h$$Fn, d), h$c6(h$$Fg, a, c, d, e, f, b.d5), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzg);+ return h$ap_3_3_fast();+};+function h$$Fe()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszibeginPath);+ return h$ap_1_1_fast();+};+function h$$Fd()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ h$bh();+ h$l4(h$c6(h$$Ff, a, c, d, e, f, b.d5), h$c1(h$$Fe, d), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzg);+ return h$ap_3_3_fast();+};+function h$$Fc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ c.fillStyle = b;+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$Fb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a.d1, h$$Fc);+ return h$e(b);+};+function h$$Fa()+{+ h$p2(h$r1.d1, h$$Fb);+ h$l3(h$r1.d2, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfToJSStringZMZN,+ h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzitoJSString);+ return h$ap_2_2_fast();+};+function h$$E9()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var g = a.d1;+ h$l4(h$c6(h$$Fd, b, c, d, e, g, a.d2), h$c2(h$$Fa, d, f), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzg);+ return h$ap_3_3_fast();+};+function h$$E8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var c = a.d1;+ h$pp56(c, a.d2, h$$E9);+ return h$e(b);+};+function h$$E7()+{+ var a = h$r1;+ h$sp -= 4;+ var b = a.d1;+ h$pp24(a.d2, h$$E8);+ return h$e(b);+};+function h$$E6()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p4(a, c, b.d2, h$$E7);+ return h$e(h$r2);+};+function h$$E5()+{+ h$bh();+ h$l2(h$$FW, h$baseZCGHCziListzicycle);+ return h$ap_1_1_fast();+};+function h$$E4()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCDataziListziwords);+ return h$ap_1_1_fast();+};+function h$$E3()+{+ h$bh();+ h$l2(h$baseZCGHCziReadzizdfReadDouble, h$baseZCTextziReadziread);+ return h$ap_1_1_fast();+};+function h$$E2()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(h$c1(h$$E4, a), h$c(h$$E3), h$baseZCGHCziBasezimap);+ return h$ap_2_2_fast();+};+function h$$E1()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(h$c(h$$E5), h$c1(h$$E2, a), h$baseZCGHCziListzizzip);+ return h$ap_2_2_fast();+};+function h$$E0()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(h$c1(h$$E1, a), h$baseZCDataziTuplezifst, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles);+ return h$ap_2_2_fast();+};+function h$$EZ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$l4(h$c3(h$$E6, a, c, b.d2), h$c1(h$$E0, h$r2), h$baseZCGHCziBasezizdfMonadIO, h$baseZCControlziMonadziforMzu);+ return h$ap_3_3_fast();+};+function h$$EY()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassElement,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLInputElement);+ return h$ap_2_2_fast();+};+function h$$EX()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(h$c1(h$$EY, a), h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfFromJSStringZMZN,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsHTMLInputElementHTMLInputElement,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLInputElementzihtmlInputElementGetValue);+ return h$ap_3_3_fast();+};+function h$$EW()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ if((a.f.a === 1))+ {+ var e = h$ustra("Pattern match failure in do expression at ghcjs-demo.hs:50:3-9");+ h$l3(e, h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezifail);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l4(h$c3(h$$EZ, b, c, d), h$c1(h$$EX, a.d1), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzgze);+ return h$ap_3_3_fast();+ };+};+function h$$EV()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$p4(a, c, b.d2, h$$EW);+ return h$e(h$r2);+};+function h$$EU()+{+ var a = h$r1.d1;+ h$bh();+ var b = h$ustra("input");+ h$l5(b, a, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfToJSStringZMZN,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsDocumentDocument,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById);+ return h$ap_4_4_fast();+};+function h$$ET()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$l4(h$c3(h$$EV, c, d, b.d3), h$c1(h$$EU, a), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzgze);+ return h$ap_3_3_fast();+};+function h$$ES()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$l6(b.d2, c, a, 0.0, 0.0, h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziclearRect);+ return h$ap_gen_fast(1285);+};+function h$$ER()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$l4(h$c4(h$$ET, a, c, d, h$r2), h$c3(h$$ES, c, d, h$r2), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzg);+ return h$ap_3_3_fast();+};+function h$$EQ()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement,+ h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalzitoJSRef);+ return h$ap_2_2_fast();+};+function h$$EP()+{+ h$bh();+ h$l3(h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziTypeszicastRef, h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszigetContext,+ h$baseZCGHCziBasezizi);+ return h$ap_2_2_fast();+};+function h$$EO()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(h$c1(h$$EQ, a), h$c(h$$EP), h$baseZCGHCziBasezizdfMonadIO, h$baseZCControlziMonadzizezlzl);+ return h$ap_3_3_fast();+};+function h$$EN()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$l4(h$c3(h$$ER, a, b.d2, h$r2), h$c1(h$$EO, c), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzgze);+ return h$ap_3_3_fast();+};+function h$$EM()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsHTMLCanvasElementHTMLCanvasElement,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetHeight);+ return h$ap_2_2_fast();+};+function h$$EL()+{+ h$bh();+ h$l3(h$baseZCGHCziFloatzizdfNumDouble, h$baseZCGHCziRealzizdfIntegralInt, h$baseZCGHCziRealzifromIntegral);+ return h$ap_2_2_fast();+};+function h$$EK()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(h$c1(h$$EM, a), h$c(h$$EL), h$baseZCGHCziBasezizdfFunctorIO, h$baseZCDataziFunctorzizlzdzg);+ return h$ap_3_3_fast();+};+function h$$EJ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$l4(h$c3(h$$EN, a, b, h$r2), h$c1(h$$EK, b), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzgze);+ return h$ap_3_3_fast();+};+function h$$EI()+{+ var a = h$r1.d1;+ h$bh();+ h$l3(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsHTMLCanvasElementHTMLCanvasElement,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetWidth);+ return h$ap_2_2_fast();+};+function h$$EH()+{+ h$bh();+ h$l3(h$baseZCGHCziFloatzizdfNumDouble, h$baseZCGHCziRealzizdfIntegralInt, h$baseZCGHCziRealzifromIntegral);+ return h$ap_2_2_fast();+};+function h$$EG()+{+ var a = h$r1.d1;+ h$bh();+ h$l4(h$c1(h$$EI, a), h$c(h$$EH), h$baseZCGHCziBasezizdfFunctorIO, h$baseZCDataziFunctorzizlzdzg);+ return h$ap_3_3_fast();+};+function h$$EF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ var c = h$ustra("Pattern match failure in do expression at ghcjs-demo.hs:41:3-14");+ h$l3(c, h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezifail);+ return h$ap_2_2_fast();+ }+ else+ {+ var d = h$c1(h$$Fq, a.d1);+ h$l4(h$c2(h$$EJ, b, d), h$c1(h$$EG, d), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzgze);+ return h$ap_3_3_fast();+ };+};+function h$$EE()+{+ h$p2(h$r1.d1, h$$EF);+ return h$e(h$r2);+};+function h$$ED()+{+ var a = h$r1.d1;+ h$bh();+ var b = h$ustra("can");+ h$l5(b, a, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfToJSStringZMZN,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsDocumentDocument,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById);+ return h$ap_4_4_fast();+};+function h$$EC()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ var b = h$ustra("Pattern match failure in do expression at ghcjs-demo.hs:40:3-10");+ h$l3(b, h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezifail);+ return h$ap_2_2_fast();+ }+ else+ {+ var c = a.d1;+ h$l4(h$c1(h$$EE, c), h$c1(h$$ED, c), h$baseZCGHCziBasezizdfMonadIO, h$baseZCGHCziBasezizgzgze);+ return h$ap_3_3_fast();+ };+};+function h$$EB()+{+ h$p1(h$$EC);+ return h$e(h$r2);+};+var h$$Fu = h$strta("Aqua");+var h$$Fw = h$strta("Fuchsia");+var h$$Fy = h$strta("Teal");+var h$$FA = h$strta("Purple");+var h$$FC = h$strta("Blue");+var h$$FE = h$strta("Red");+var h$$FG = h$strta("Navy");+var h$$FI = h$strta("Maroon");+var h$$FK = h$strta("Yellow");+var h$$FM = h$strta("Olive");+var h$$FO = h$strta("Gray");+var h$$FQ = h$strta("Lime");+var h$$FS = h$strta("Silver");+var h$$FU = h$strta("Green");+function h$$Fr()+{+ h$bh();+ h$l4(h$$Ft, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMzicurrentDocument, h$baseZCGHCziBasezizdfMonadIO,+ h$baseZCGHCziBasezizgzgze);+ return h$ap_3_3_fast();+};+function h$mainZCMainzimain_e()+{+ h$bh();+ h$l4(h$$Fs, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMzicurrentDocument, h$baseZCGHCziBasezizdfMonadIO,+ h$baseZCGHCziBasezizgzgze);+ return h$ap_3_3_fast();+};+function h$mainZCZCMainzimain_e()+{+ h$bh();+ h$l2(h$mainZCMainzimain, h$baseZCGHCziTopHandlerzirunMainIO);+ return h$ap_1_1_fast();+};+function h$$FY()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ h$l3((b + d), c, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1);+ return h$ap_2_2_fast();+};+function h$$FX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = b;+ }+ else+ {+ var c = a.d1;+ h$pp6(a.d2, h$$FY);+ return h$e(c);+ };+ return h$stack[h$sp];+};+function h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1_e()+{+ h$p2(h$r3, h$$FX);+ return h$e(h$r2);+};+function h$$F7()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$$IT);+ return h$ap_1_1_fast();+};+function h$$F6()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = Math.pow(c, 2.0);+ h$r1 = (b * d);+ return h$stack[h$sp];+};+function h$$F5()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$F6);+ return h$e(a.d1);+};+function h$$F4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$F5);+ return h$e(b);+};+function h$$F3()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(a, h$$F4);+ return h$e(b);+};+function h$$F2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$$F3, c, a.d2), h$c1(h$$F7, b));+ return h$stack[h$sp];+};+function h$$F1()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a.d1, h$$F2);+ return h$e(a.d2);+};+function h$$F0()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$F1);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$FZ()+{+ h$p1(h$$F0);+ return h$e(h$r2);+};+function h$$Gg()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$$IU);+ return h$ap_1_1_fast();+};+function h$$Gf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = Math.pow(c, 2.0);+ h$r1 = (b * d);+ return h$stack[h$sp];+};+function h$$Ge()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$Gf);+ return h$e(a.d1);+};+function h$$Gd()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$Ge);+ return h$e(b);+};+function h$$Gc()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(a, h$$Gd);+ return h$e(b);+};+function h$$Gb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$$Gc, c, a.d1), h$c1(h$$Gg, b));+ return h$stack[h$sp];+};+function h$$Ga()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a.d1, h$$Gb);+ return h$e(a.d2);+};+function h$$F9()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$Ga);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$F8()+{+ h$p1(h$$F9);+ return h$e(h$r2);+};+function h$$Gn()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$$IV);+ return h$ap_1_1_fast();+};+function h$$Gm()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.pow(b, 2.0);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$$Gl()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$Gm);+ return h$e(a.d1);+};+function h$$Gk()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Gl);+ return h$e(a);+};+function h$$Gj()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$$Gk, a.d1), h$c1(h$$Gn, b));+ return h$stack[h$sp];+};+function h$$Gi()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$Gj);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$Gh()+{+ h$p1(h$$Gi);+ return h$e(h$r2);+};+function h$$H5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var d = a;+ var e = (b + c);+ h$r1 = (e + d);+ return h$stack[h$sp];+};+function h$$H4()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp4(h$$H5);+ return h$e(a.d1);+};+function h$$H3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$pp6(a, h$$H4);+ return h$e(b);+};+function h$$H2()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp4(h$$H3);+ return h$e(a.d1);+};+function h$$H1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 3;+ h$pp5(a, h$$H2);+ return h$e(b);+};+function h$$H0()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p3(a, b.d1, h$$H1);+ return h$e(b.d2);+};+function h$$HZ()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$HY()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$HZ);+ h$l3(0.0, a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1);+ return h$ap_2_2_fast();+};+function h$$HX()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$HY);+ h$l2(a, h$$IV);+ return h$ap_1_1_fast();+};+function h$$HW()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (b / c);+ return h$stack[h$sp];+};+function h$$HV()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$HW);+ return h$e(b);+};+function h$$HU()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$HV);+ h$l3(0.0, a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1);+ return h$ap_2_2_fast();+};+function h$$HT()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(b, h$$HU);+ h$l2(a, h$$IT);+ return h$ap_1_1_fast();+};+function h$$HS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (b / c);+ return h$stack[h$sp];+};+function h$$HR()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$HS);+ return h$e(b);+};+function h$$HQ()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$HR);+ h$l3(0.0, a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1);+ return h$ap_2_2_fast();+};+function h$$HP()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(b, h$$HQ);+ h$l2(a, h$$IU);+ return h$ap_1_1_fast();+};+function h$$HO()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (b + c);+ return h$stack[h$sp];+};+function h$$HN()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$HO);+ return h$e(a.d1);+};+function h$$HM()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(b, h$$HN);+ return h$e(a);+};+function h$$HL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ var f = (d + d);+ var g = (c + e);+ var h = Math.pow(g, 2.0);+ var i = Math.pow(b, 2.0);+ var j = Math.pow(d, 2.0);+ var k = (j + i);+ var l = (k - h);+ h$r1 = (l / f);+ return h$stack[h$sp];+};+function h$$HK()+{+ var a = h$r1;+ h$sp -= 4;+ h$pp8(h$$HL);+ return h$e(a.d1);+};+function h$$HJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 4;+ h$pp9(a, h$$HK);+ return h$e(b);+};+function h$$HI()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$p4(a, c, b.d3, h$$HJ);+ return h$e(d);+};+function h$$HH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = Math.pow(c, 2.0);+ var e = Math.pow(b, 2.0);+ var f = (e - d);+ if((f >= 0.0))+ {+ var g = Math.sqrt(f);+ h$r1 = g;+ }+ else+ {+ var h = -f;+ var i = Math.sqrt(h);+ h$r1 = i;+ };+ return h$stack[h$sp];+};+function h$$HG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$HH);+ return h$e(b);+};+function h$$HF()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(b, h$$HG);+ return h$e(a);+};+function h$$HE()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ var f = (c - b);+ var g = (e * f);+ var h = (g / d);+ h$r1 = (b + h);+ return h$stack[h$sp];+};+function h$$HD()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$p4(a, c, b.d2, h$$HE);+ return h$e(b.d3);+};+function h$$HC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a;+ var f = (c - b);+ var g = (e * f);+ var h = (g / d);+ h$r1 = (b + h);+ return h$stack[h$sp];+};+function h$$HB()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$bh();+ h$p4(a, c, b.d2, h$$HC);+ return h$e(b.d3);+};+function h$$HA()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$Hz()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = a;+ var g = (c - b);+ var h = (f * g);+ var i = (h / d);+ h$r1 = (e + i);+ return h$stack[h$sp];+};+function h$$Hy()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp24(a, h$$Hz);+ return h$e(b);+};+function h$$Hx()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$p5(a, c, d, b.d3, h$$Hy);+ return h$e(b.d4);+};+function h$$Hw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = a;+ var g = (c - b);+ var h = (f * g);+ var i = (h / d);+ h$r1 = (e - i);+ return h$stack[h$sp];+};+function h$$Hv()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp24(a, h$$Hw);+ return h$e(b);+};+function h$$Hu()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$p5(a, c, d, b.d3, h$$Hv);+ return h$e(b.d4);+};+function h$$Ht()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = a;+ var g = (c - b);+ var h = (f * g);+ var i = (h / d);+ h$r1 = (e - i);+ return h$stack[h$sp];+};+function h$$Hs()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp24(a, h$$Ht);+ return h$e(b);+};+function h$$Hr()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$p5(a, c, d, b.d3, h$$Hs);+ return h$e(b.d4);+};+function h$$Hq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = a;+ var g = (c - b);+ var h = (f * g);+ var i = (h / d);+ h$r1 = (e + i);+ return h$stack[h$sp];+};+function h$$Hp()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp24(a, h$$Hq);+ return h$e(b);+};+function h$$Ho()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ h$p5(a, c, d, b.d3, h$$Hp);+ return h$e(b.d4);+};+function h$$Hn()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 8)];+ var c = h$stack[(h$sp - 7)];+ var d = h$stack[(h$sp - 6)];+ var e = h$stack[(h$sp - 5)];+ var f = h$stack[(h$sp - 4)];+ var g = h$stack[(h$sp - 3)];+ var h = h$stack[(h$sp - 2)];+ var i = h$stack[(h$sp - 1)];+ h$sp -= 9;+ var j = a;+ var k = (f + h);+ var l = (k * 1.00001);+ var m = (j - e);+ var n = Math.pow(m, 2.0);+ var o = (i - g);+ var p = Math.pow(o, 2.0);+ var q = (p + n);+ var r = Math.sqrt(q);+ if((r <= l))+ {+ var s = h$c2(h$$HM, b, f);+ var t = (j - e);+ var u = Math.pow(t, 2.0);+ var v = (i - g);+ var w = Math.pow(v, 2.0);+ var x = (w + u);+ var y = Math.sqrt(x);+ var z = h$c4(h$$HI, b, h, s, y);+ var A = h$c2(h$$HF, s, z);+ var B = h$c4(h$$HD, g, i, y, z);+ var C = h$c4(h$$HB, e, j, y, z);+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$c5(h$$Ho, e, j, y, A, B),+ h$c5(h$$Hr, g, i, y, A, C)), h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e,+ h$c5(h$$Hu, e, j, y, A, B), h$c5(h$$Hx, g, i, y, A, C)), h$c2(h$$HA, c, d)));+ }+ else+ {+ h$l2(d, c);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$Hm()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 9;+ var c = a;+ h$sp += 9;+ h$stack[(h$sp - 1)] = c;+ h$stack[h$sp] = h$$Hn;+ return h$e(b);+};+function h$$Hl()+{+ var a = h$r1;+ h$sp -= 8;+ var b = a.d1;+ var c = a.d2;+ h$sp += 9;+ h$stack[(h$sp - 1)] = c;+ h$stack[h$sp] = h$$Hm;+ return h$e(b);+};+function h$$Hk()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 8;+ h$pp192(a, h$$Hl);+ return h$e(b);+};+function h$$Hj()+{+ var a = h$r1;+ h$sp -= 8;+ h$pp128(h$$Hk);+ return h$e(a.d1);+};+function h$$Hi()+{+ var a = h$r1;+ h$sp -= 7;+ var b = a.d1;+ h$pp192(a.d2, h$$Hj);+ return h$e(b);+};+function h$$Hh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 7;+ h$pp72(a, h$$Hi);+ return h$e(b);+};+function h$$Hg()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 7;+ h$pp96(a, h$$Hh);+ return h$e(b);+};+function h$$Hf()+{+ var a = h$r1;+ h$sp -= 6;+ var b = a.d1;+ h$pp96(a.d2, h$$Hg);+ return h$e(b);+};+function h$$He()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 6;+ h$pp48(a, h$$Hf);+ return h$e(b);+};+function h$$Hd()+{+ var a = h$r1;+ h$sp -= 6;+ h$pp32(h$$He);+ return h$e(a.d1);+};+function h$$Hc()+{+ var a = h$r1;+ h$sp -= 5;+ var b = a.d1;+ h$pp48(a.d2, h$$Hd);+ return h$e(b);+};+function h$$Hb()+{+ var a = h$r1;+ h$sp -= 4;+ var b = a.d1;+ h$pp24(a.d2, h$$Hc);+ return h$e(b);+};+function h$$Ha()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = a.d1;+ h$pp12(a.d2, h$$Hb);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$G9()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$Ha);+ return h$e(h$r2);+};+function h$$G8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var g = a;+ var h = (e - g);+ var i = Math.pow(h, 2.0);+ var j = (c - f);+ var k = Math.pow(j, 2.0);+ var l = (k + i);+ var m = Math.sqrt(l);+ var n = (e - d);+ var o = Math.pow(n, 2.0);+ var p = (c - b);+ var q = Math.pow(p, 2.0);+ var r = (q + o);+ var s = Math.sqrt(r);+ if((s < m))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziLT;+ }+ else+ {+ if((s === m))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziEQ;+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziGT;+ };+ };+ return h$stack[h$sp];+};+function h$$G7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 6;+ h$pp48(a, h$$G8);+ return h$e(b);+};+function h$$G6()+{+ var a = h$r1;+ h$sp -= 5;+ var b = a.d1;+ h$pp48(a.d2, h$$G7);+ return h$e(b);+};+function h$$G5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 5;+ h$pp20(a, h$$G6);+ return h$e(b);+};+function h$$G4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp24(a, h$$G5);+ return h$e(b);+};+function h$$G3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ h$sp -= 5;+ h$pp17(a, h$$G4);+ return h$e(b);+};+function h$$G2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 5;+ h$pp18(a, h$$G3);+ return h$e(b);+};+function h$$G1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 4;+ var c = a.d1;+ h$pp26(c, a.d2, h$$G2);+ return h$e(b);+};+function h$$G0()+{+ var a = h$r1.d1;+ h$p4(a, h$r1.d2, h$r3, h$$G1);+ return h$e(h$r2);+};+function h$$GZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 6;+ var g = a;+ var h = (e + g);+ var i = (h * 0.99999);+ var j = (d - b);+ var k = Math.pow(j, 2.0);+ var l = (c - f);+ var m = Math.pow(l, 2.0);+ var n = (m + k);+ var o = Math.sqrt(n);+ var p = ((o >= i) ? 1 : 0);+ h$r1 = (p ? true : false);+ return h$stack[h$sp];+};+function h$$GY()+{+ var a = h$r1;+ h$sp -= 6;+ h$pp32(h$$GZ);+ return h$e(a.d1);+};+function h$$GX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 6;+ h$pp40(a, h$$GY);+ return h$e(b);+};+function h$$GW()+{+ var a = h$r1;+ h$sp -= 6;+ h$pp32(h$$GX);+ return h$e(a.d1);+};+function h$$GV()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ h$sp -= 6;+ h$pp33(a, h$$GW);+ return h$e(b);+};+function h$$GU()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 6;+ h$pp36(a, h$$GV);+ return h$e(b);+};+function h$$GT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 6;+ h$pp48(a, h$$GU);+ return h$e(b);+};+function h$$GS()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ h$sp -= 6;+ h$pp34(a, h$$GT);+ return h$e(b);+};+function h$$GR()+{+ var a = h$r1;+ h$sp -= 5;+ var b = a.d1;+ h$pp48(a.d2, h$$GS);+ return h$e(b);+};+function h$$GQ()+{+ var a = h$r1;+ h$sp -= 4;+ h$pp24(a.d1, h$$GR);+ return h$e(a.d2);+};+function h$$GP()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 3;+ var c = a.d1;+ h$pp14(c, a.d2, h$$GQ);+ return h$e(b);+};+function h$$GO()+{+ h$p3(h$r1.d1, h$r2, h$$GP);+ return h$e(h$r1.d2);+};+function h$$GN()+{+ var a = h$r1.d1;+ var b = h$r2;+ h$l3(h$r1.d2, h$c2(h$$GO, a, b), h$baseZCGHCziListziall);+ return h$ap_2_2_fast();+};+function h$$GM()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ return h$e(h$$IW);+ }+ else+ {+ return h$e(a.d1);+ };+};+function h$$GL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p1(h$$GM);+ h$l3(a, h$c2(h$$GN, b, c), h$baseZCGHCziListzifilter);+ return h$ap_2_2_fast();+};+function h$$GK()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp4(h$$GL);+ h$l3(a, h$c2(h$$G0, b, c), h$baseZCDataziListzisortBy);+ return h$ap_2_2_fast();+};+function h$$GJ()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ h$bh();+ var e = h$c1(h$$HX, d);+ var f = h$c2(h$$HT, d, e);+ var g = h$c2(h$$HP, d, e);+ var h = h$c(h$$G9);+ h.d1 = a;+ h.d2 = h;+ h$p5(a, d, f, g, h$$GK);+ h$l2(c, h);+ return h$ap_1_1_fast();+};+function h$$GI()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$GH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 9)];+ var c = h$stack[(h$sp - 8)];+ var d = h$stack[(h$sp - 7)];+ var e = h$stack[(h$sp - 6)];+ var f = h$stack[(h$sp - 5)];+ var g = h$stack[(h$sp - 4)];+ var h = h$stack[(h$sp - 3)];+ var i = h$stack[(h$sp - 2)];+ var j = h$stack[(h$sp - 1)];+ h$sp -= 10;+ var k = a;+ var l = (d + i);+ var m = (l * 1.00001);+ var n = (k - b);+ var o = Math.pow(n, 2.0);+ var p = (j - g);+ var q = Math.pow(p, 2.0);+ var r = (q + o);+ var s = Math.sqrt(r);+ if((s <= m))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, e, h), h$c2(h$$GI, f, c));+ }+ else+ {+ h$l2(c, f);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$GG()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 10;+ var c = a;+ h$sp += 10;+ h$stack[(h$sp - 1)] = c;+ h$stack[h$sp] = h$$GH;+ return h$e(b);+};+function h$$GF()+{+ var a = h$r1;+ h$sp -= 9;+ var b = a.d1;+ var c = a.d2;+ h$sp += 10;+ h$stack[(h$sp - 1)] = c;+ h$stack[h$sp] = h$$GG;+ return h$e(b);+};+function h$$GE()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 9;+ var c = a;+ h$sp += 9;+ h$stack[(h$sp - 1)] = c;+ h$stack[h$sp] = h$$GF;+ return h$e(b);+};+function h$$GD()+{+ var a = h$r1;+ h$sp -= 9;+ var b = a.d1;+ h$sp += 9;+ h$stack[h$sp] = h$$GE;+ return h$e(b);+};+function h$$GC()+{+ var a = h$r1;+ h$sp -= 7;+ var b = a.d1;+ var c = a.d2;+ h$sp += 9;+ h$stack[(h$sp - 2)] = a;+ h$stack[(h$sp - 1)] = c;+ h$stack[h$sp] = h$$GD;+ return h$e(b);+};+function h$$GB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ h$sp -= 7;+ h$pp65(a, h$$GC);+ return h$e(b);+};+function h$$GA()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 7;+ h$pp96(a, h$$GB);+ return h$e(b);+};+function h$$Gz()+{+ var a = h$r1;+ h$sp -= 6;+ var b = a.d1;+ h$pp96(a.d2, h$$GA);+ return h$e(b);+};+function h$$Gy()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 6;+ h$pp36(a, h$$Gz);+ return h$e(b);+};+function h$$Gx()+{+ var a = h$r1;+ h$sp -= 6;+ h$pp32(h$$Gy);+ return h$e(a.d1);+};+function h$$Gw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ h$sp -= 6;+ if((a.f.a === 1))+ {+ return h$e(c);+ }+ else+ {+ var d = a.d1;+ h$pp35(d, a.d2, h$$Gx);+ return h$e(b);+ };+};+function h$$Gv()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ h$p6(a, c, d, e, b.d4, h$$Gw);+ return h$e(h$r2);+};+function h$$Gu()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = b.d4;+ h$bh();+ var g = h$c(h$$Gv);+ g.d1 = a;+ g.d2 = h$d4(c, e, f, g);+ h$l2(d, g);+ return h$ap_1_1_fast();+};+function h$$Gt()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 6)];+ var d = h$stack[(h$sp - 5)];+ var e = h$stack[(h$sp - 4)];+ var f = h$stack[(h$sp - 3)];+ var g = h$stack[(h$sp - 2)];+ var h = h$stack[(h$sp - 1)];+ h$sp -= 8;+ if((a.f.a === 1))+ {+ var i = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, b, h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$c3(h$$H0, b, g,+ e), h));+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, i, d);+ h$r2 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, i, f), c);+ }+ else+ {+ var j = h$c3(h$$GJ, b, c, d);+ var k = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, b, j);+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, k, d);+ h$r2 = h$c5(h$$Gu, b, c, d, j, k);+ };+ return h$stack[h$sp];+};+function h$$Gs()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 7;+ var c = a.d1;+ h$pp200(c, a.d2, h$$Gt);+ return h$e(b);+};+function h$$Gr()+{+ var a = h$r1;+ h$sp -= 5;+ h$pp112(a, a.d1, h$$Gs);+ return h$e(a.d2);+};+function h$$Gq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, b, h$$IY),+ h$ghczmprimZCGHCziTypesziZMZN);+ h$r2 = c;+ }+ else+ {+ var d = a.d1;+ h$pp28(a, a.d2, h$$Gr);+ return h$e(d);+ };+ return h$stack[h$sp];+};+function h$$Gp()+{+ var a;+ var b;+ a = h$r1;+ b = h$r2;+ h$sp -= 2;+ h$pp6(b, h$$Gq);+ return h$e(a);+};+function h$$Go()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ h$r2 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$Gp);+ h$l2(a.d2, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwgo);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwgo_e()+{+ h$p1(h$$Go);+ return h$e(h$r2);+};+function h$$Ib()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles3);+ return h$ap_1_1_fast();+};+function h$$Ia()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = Math.pow(b, 2.0);+ h$r1 = c;+ return h$stack[h$sp];+};+function h$$H9()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$Ia);+ return h$e(a.d1);+};+function h$$H8()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$H9);+ return h$e(a);+};+function h$$H7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$$H8, a.d1), h$c1(h$$Ib, b));+ return h$stack[h$sp];+};+function h$$H6()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$H7);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles3_e()+{+ h$p1(h$$H6);+ return h$e(h$r2);+};+function h$$Ij()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles1);+ return h$ap_1_1_fast();+};+function h$$Ii()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = Math.pow(c, 2.0);+ h$r1 = (b * d);+ return h$stack[h$sp];+};+function h$$Ih()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$Ii);+ return h$e(a.d1);+};+function h$$Ig()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$Ih);+ return h$e(b);+};+function h$$If()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(a, h$$Ig);+ return h$e(b);+};+function h$$Ie()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$$If, c, a.d1), h$c1(h$$Ij, b));+ return h$stack[h$sp];+};+function h$$Id()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a.d1, h$$Ie);+ return h$e(a.d2);+};+function h$$Ic()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$Id);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles1_e()+{+ h$p1(h$$Ic);+ return h$e(h$r2);+};+function h$$Ir()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles2);+ return h$ap_1_1_fast();+};+function h$$Iq()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ var d = Math.pow(c, 2.0);+ h$r1 = (b * d);+ return h$stack[h$sp];+};+function h$$Ip()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$Iq);+ return h$e(a.d1);+};+function h$$Io()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$Ip);+ return h$e(b);+};+function h$$In()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(a, h$$Io);+ return h$e(b);+};+function h$$Im()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c2(h$$In, c, a.d2), h$c1(h$$Ir, b));+ return h$stack[h$sp];+};+function h$$Il()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp6(a.d1, h$$Im);+ return h$e(a.d2);+};+function h$$Ik()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$Il);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles2_e()+{+ h$p1(h$$Ik);+ return h$e(h$r2);+};+function h$$Is()+{+ h$bh();+ h$l2(h$$IX, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+var h$$IX = h$strta("packCircles: The end of the real plane has been reached?");+function h$$Iw()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ if((b < c))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziLT;+ }+ else+ {+ if((b === c))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziEQ;+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziGT;+ };+ };+ return h$stack[h$sp];+};+function h$$Iv()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$Iw);+ return h$e(a.d1);+};+function h$$Iu()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$Iv);+ return h$e(b);+};+function h$$It()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$Iu);+ return h$e(a.d1);+};+function h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles4_e()+{+ h$p2(h$r3, h$$It);+ return h$e(h$r2);+};+function h$$IS()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(b, a);+ return h$ap_1_1_fast();+};+function h$$IR()+{+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$c2(h$$IS, h$r1.d1, h$r2), h$r2);+ return h$stack[h$sp];+};+function h$$IQ()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a;+ return h$stack[h$sp];+};+function h$$IP()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$IQ);+ h$l3(0.0, a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1);+ return h$ap_2_2_fast();+};+function h$$IO()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$IP);+ h$l2(a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles3);+ return h$ap_1_1_fast();+};+function h$$IN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (b / c);+ return h$stack[h$sp];+};+function h$$IM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$IN);+ return h$e(b);+};+function h$$IL()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$IM);+ h$l3(0.0, a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1);+ return h$ap_2_2_fast();+};+function h$$IK()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(b, h$$IL);+ h$l2(a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles2);+ return h$ap_1_1_fast();+};+function h$$IJ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a;+ h$r1 = (b / c);+ return h$stack[h$sp];+};+function h$$II()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$p2(a, h$$IJ);+ return h$e(b);+};+function h$$IH()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$II);+ h$l3(0.0, a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1);+ return h$ap_2_2_fast();+};+function h$$IG()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$p2(b, h$$IH);+ h$l2(a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles1);+ return h$ap_1_1_fast();+};+function h$$IF()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$baseZCGHCziFloatziminusDouble);+ return h$baseZCGHCziFloatziminusDouble_e;+};+function h$$IE()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l3(a, b, h$baseZCGHCziFloatziminusDouble);+ return h$baseZCGHCziFloatziminusDouble_e;+};+function h$$ID()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$baseZCDataziTuplezisnd);+ return h$baseZCDataziTuplezisnd_e;+};+function h$$IC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d1;+ h$r1 = h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$c1(h$$ID, d), h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e,+ h$c2(h$$IE, c, e), h$c2(h$$IF, b, a.d2)));+ return h$stack[h$sp];+};+function h$$IB()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp12(a.d1, h$$IC);+ return h$e(a.d2);+};+function h$$IA()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$IB);+ return h$e(h$r2);+};+function h$$Iz()+{+ var a = h$r1;+ --h$sp;+ var b = h$c1(h$$IO, a);+ h$l3(a, h$c2(h$$IA, h$c2(h$$IK, a, b), h$c2(h$$IG, a, b)), h$baseZCGHCziBasezimap);+ return h$ap_2_2_fast();+};+function h$$Iy()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$Iz);+ h$l2(a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwgo);+ return h$ap_1_1_fast();+};+function h$$Ix()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$Iy);+ h$l3(a, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles4, h$baseZCDataziListzisortBy);+ return h$ap_2_2_fast();+};+function h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles_e()+{+ h$p1(h$$Ix);+ h$l2(h$c1(h$$IR, h$r2), h$baseZCGHCziBasezimap);+ return h$ap_2_2_fast();+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziTypeszicastRef_e()+{+ h$r1 = h$baseZCUnsafeziCoerceziunsafeCoerce1;+ return h$baseZCUnsafeziCoerceziunsafeCoerce1_e;+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCFromJSRef_con_e()+{+ return h$stack[h$sp];+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCFromJSRef_e()+{+ h$r1 = h$c2(h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCFromJSRef_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCToJSRef_con_e()+{+ return h$stack[h$sp];+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCToJSRef_e()+{+ h$r1 = h$c2(h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCToJSRef_con_e, h$r2, h$r3);+ return h$stack[h$sp];+};+function h$$IZ()+{+ var a = h$r1;+ --h$sp;+ h$r1 = a.d1;+ return h$ap_0_0_fast();+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalzitoJSRef_e()+{+ h$p1(h$$IZ);+ return h$e(h$r2);+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfToJSStringZMZN_e()+{+ h$r1 = h$ghcjszmprimZCGHCJSziPrimzitoJSString;+ return h$ghcjszmprimZCGHCJSziPrimzitoJSString_e;+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfFromJSStringZMZN_e()+{+ h$r1 = h$ghcjszmprimZCGHCJSziPrimzifromJSString;+ return h$ghcjszmprimZCGHCJSziPrimzifromJSString_e;+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzijsFalse_e()+{+ h$bh();+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, false);+ return h$stack[h$sp];+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzijsTrue_e()+{+ h$bh();+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, true);+ return h$stack[h$sp];+};+function h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzitoJSString_e()+{+ h$r1 = h$r2;+ return h$ap_0_0_fast();+};+function h$$I5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = a.d1;+ f.clearRect(b, c, d, e);+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$I4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp24(a, h$$I5);+ return h$e(b);+};+function h$$I3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ h$sp -= 5;+ h$pp20(a, h$$I4);+ return h$e(b);+};+function h$$I2()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 5;+ h$pp18(a, h$$I3);+ return h$e(b);+};+function h$$I1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ h$sp -= 5;+ h$pp17(a, h$$I2);+ return h$e(b);+};+function h$$I0()+{+ h$p5(h$r3, h$r4, h$r5, h$r6, h$$I1);+ return h$e(h$r2);+};+function h$$Jc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ var c = h$stack[(h$sp - 5)];+ var d = h$stack[(h$sp - 4)];+ var e = h$stack[(h$sp - 3)];+ var f = h$stack[(h$sp - 2)];+ var g = h$stack[(h$sp - 1)];+ h$sp -= 7;+ h$l8(a.d1, f, g, e, d, c, b, h$$Js);+ return h$ap_gen_fast(1800);+};+function h$$Jb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 7;+ h$pp96(a, h$$Jc);+ return h$e(b);+};+function h$$Ja()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ h$sp -= 7;+ h$pp72(a, h$$Jb);+ return h$e(b);+};+function h$$I9()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ h$sp -= 7;+ h$pp68(a, h$$Ja);+ return h$e(b);+};+function h$$I8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 5)];+ h$sp -= 7;+ h$pp66(a, h$$I9);+ return h$e(b);+};+function h$$I7()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 6)];+ h$sp -= 7;+ h$pp65(a, h$$I8);+ return h$e(b);+};+function h$$I6()+{+ h$p7(h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$$I7);+ return h$e(h$r2);+};+function h$$Jh()+{+ var a = h$stack[(h$sp - 6)];+ var b = h$stack[(h$sp - 5)];+ var c = h$stack[(h$sp - 4)];+ var d = h$stack[(h$sp - 3)];+ var e = h$stack[(h$sp - 2)];+ var f = h$stack[(h$sp - 1)];+ h$sp -= 7;+ var g = h$r1;+ f.arc(a, b, c, d, e, g);+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$Jg()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 6;+ h$r1 = a.d1;+ h$sp += 6;+ ++h$sp;+ return h$$Jh;+};+function h$$Jf()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 6;+ h$r1 = a.d1;+ h$sp += 6;+ ++h$sp;+ return h$$Jh;+};+function h$$Je()+{+ var a = h$r1;+ --h$sp;+ h$sp -= 6;+ if(a)+ {+ h$sp += 6;+ h$p1(h$$Jf);+ return h$e(h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzijsTrue);+ }+ else+ {+ h$sp += 6;+ h$p1(h$$Jg);+ return h$e(h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzijsFalse);+ };+};+function h$$Jd()+{+ h$p6(h$r2, h$r3, h$r4, h$r5, h$r6, h$r8);+ h$p1(h$$Je);+ return h$e(h$r7);+};+function h$$Jj()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ b.closePath();+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$Ji()+{+ h$p1(h$$Jj);+ return h$e(h$r2);+};+function h$$Jl()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ b.beginPath();+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$Jk()+{+ h$p1(h$$Jl);+ return h$e(h$r2);+};+function h$$Jn()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ b.fill();+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$Jm()+{+ h$p1(h$$Jn);+ return h$e(h$r2);+};+function h$$Jp()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = b.getContext("2d");+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, c);+ return h$stack[h$sp];+};+function h$$Jo()+{+ h$p1(h$$Jp);+ return h$e(h$r2);+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziclearRect_e()+{+ h$r1 = h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszuclearRect;+ return h$ap_gen_fast(1286);+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziarc_e()+{+ h$r1 = h$$Jr;+ return h$ap_gen_fast(1800);+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziclosePath_e()+{+ h$r1 = h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszuclosePath;+ return h$ap_2_1_fast();+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszibeginPath_e()+{+ h$r1 = h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszubeginPath;+ return h$ap_2_1_fast();+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszifill_e()+{+ h$r1 = h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszufill;+ return h$ap_2_1_fast();+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszigetContext_e()+{+ h$r1 = h$$Jw;+ return h$ap_2_1_fast();+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszufill_e()+{+ h$r1 = h$$Jv;+ return h$ap_2_1_fast();+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszubeginPath_e()+{+ h$r1 = h$$Ju;+ return h$ap_2_1_fast();+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszuclosePath_e()+{+ h$r1 = h$$Jt;+ return h$ap_2_1_fast();+};+function h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszuclearRect_e()+{+ h$r1 = h$$Jq;+ return h$ap_gen_fast(1286);+};+function h$$JA()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$Jz()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$JA);+ return h$e(a);+};+function h$$Jy()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$$Jz, b), a);+ return h$stack[h$sp];+};+function h$$Jx()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$Jy);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEvent2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEvent2_e()+{+ h$p1(h$$Jx);+ return h$e(h$r2);+};+function h$$JD()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a.d1));+ };+ return h$stack[h$sp];+};+function h$$JC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$p2(a.d1, h$$JD);+ h$l2(b, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEventzugo);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$JB()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ return h$e(h$$LS);+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$JC);+ return h$e(b);+ };+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEventzugo_e()+{+ h$p1(h$$JB);+ return h$e(h$r2);+};+function h$$JF()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a);+ return h$stack[h$sp];+};+function h$$JE()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$JF);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEvent2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEvent2_e()+{+ h$p1(h$$JE);+ return h$e(h$r2);+};+function h$$JJ()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$JI()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$JJ);+ return h$e(a);+};+function h$$JH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$$JI, b), a);+ return h$stack[h$sp];+};+function h$$JG()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$JH);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElement2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElement2_e()+{+ h$p1(h$$JG);+ return h$e(h$r2);+};+function h$$JM()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a.d1));+ };+ return h$stack[h$sp];+};+function h$$JL()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$p2(a.d1, h$$JM);+ h$l2(b, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElementzugo);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$JK()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ return h$e(h$$LP);+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$JL);+ return h$e(b);+ };+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElementzugo_e()+{+ h$p1(h$$JK);+ return h$e(h$r2);+};+function h$$JO()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a);+ return h$stack[h$sp];+};+function h$$JN()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$JO);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElement2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElement2_e()+{+ h$p1(h$$JN);+ return h$e(h$r2);+};+function h$$JS()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$JR()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$JS);+ return h$e(a);+};+function h$$JQ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$$JR, b), a);+ return h$stack[h$sp];+};+function h$$JP()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$JQ);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElement2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElement2_e()+{+ h$p1(h$$JP);+ return h$e(h$r2);+};+function h$$JV()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a.d1));+ };+ return h$stack[h$sp];+};+function h$$JU()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$p2(a.d1, h$$JV);+ h$l2(b, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElementzugo);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$JT()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ return h$e(h$$LM);+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$JU);+ return h$e(b);+ };+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElementzugo_e()+{+ h$p1(h$$JT);+ return h$e(h$r2);+};+function h$$JX()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a);+ return h$stack[h$sp];+};+function h$$JW()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$JX);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement2_e()+{+ h$p1(h$$JW);+ return h$e(h$r2);+};+function h$$J1()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$J0()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$J1);+ return h$e(a);+};+function h$$JZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$$J0, b), a);+ return h$stack[h$sp];+};+function h$$JY()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$JZ);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElement2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElement2_e()+{+ h$p1(h$$JY);+ return h$e(h$r2);+};+function h$$J4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a.d1));+ };+ return h$stack[h$sp];+};+function h$$J3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$p2(a.d1, h$$J4);+ h$l2(b, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElementzugo);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$J2()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ return h$e(h$$LJ);+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$J3);+ return h$e(b);+ };+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElementzugo_e()+{+ h$p1(h$$J2);+ return h$e(h$r2);+};+function h$$J6()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a);+ return h$stack[h$sp];+};+function h$$J5()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$J6);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElement2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElement2_e()+{+ h$p1(h$$J5);+ return h$e(h$r2);+};+function h$$Ka()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$J9()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Ka);+ return h$e(a);+};+function h$$J8()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$$J9, b), a);+ return h$stack[h$sp];+};+function h$$J7()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$J8);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocument2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocument2_e()+{+ h$p1(h$$J7);+ return h$e(h$r2);+};+function h$$Kd()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a.d1));+ };+ return h$stack[h$sp];+};+function h$$Kc()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ if((a.f.a === 1))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$p2(a.d1, h$$Kd);+ h$l2(b, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocumentzugo);+ return h$ap_1_1_fast();+ };+ return h$stack[h$sp];+};+function h$$Kb()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ return h$e(h$$LG);+ }+ else+ {+ var b = a.d1;+ h$p2(a.d2, h$$Kc);+ return h$e(b);+ };+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocumentzugo_e()+{+ h$p1(h$$Kb);+ return h$e(h$r2);+};+function h$$Kf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, b, a);+ return h$stack[h$sp];+};+function h$$Ke()+{+ var a = h$r1;+ --h$sp;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ }+ else+ {+ h$p2(a.d1, h$$Kf);+ h$l2(a.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocument2);+ return h$ap_2_1_fast();+ };+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocument2_e()+{+ h$p1(h$$Ke);+ return h$e(h$r2);+};+function h$$Kg()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$$Kj()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$Ki()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Kj);+ return h$e(a);+};+function h$$Kh()+{+ h$r1 = h$c1(h$$Ki, h$r2);+ return h$stack[h$sp];+};+function h$$Kk()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$$Kn()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$Km()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Kn);+ return h$e(a);+};+function h$$Kl()+{+ h$r1 = h$c1(h$$Km, h$r2);+ return h$stack[h$sp];+};+function h$$Ko()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$$Kr()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$Kq()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Kr);+ return h$e(a);+};+function h$$Kp()+{+ h$r1 = h$c1(h$$Kq, h$r2);+ return h$stack[h$sp];+};+function h$$Ks()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$$Kv()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$Ku()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Kv);+ return h$e(a);+};+function h$$Kt()+{+ h$r1 = h$c1(h$$Ku, h$r2);+ return h$stack[h$sp];+};+function h$$Kw()+{+ h$r1 = h$r2;+ return h$stack[h$sp];+};+function h$$Kz()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ var c = (b === null);+ if(!(!c))+ {+ h$r1 = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ h$r1 = h$c1(h$baseZCDataziMaybeziJust_con_e, a);+ };+ return h$stack[h$sp];+};+function h$$Ky()+{+ var a = h$r1.d1;+ h$bh();+ h$p1(h$$Kz);+ return h$e(a);+};+function h$$Kx()+{+ h$r1 = h$c1(h$$Ky, h$r2);+ return h$stack[h$sp];+};+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLInputElement1 = h$strta("HTMLInputElement");+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLCanvasElement1 = h$strta("HTMLCanvasElement");+function h$$KA()+{+ var a = h$r1;+ --h$sp;+ h$l2(a, h$baseZCGHCziErrzierror);+ return h$ap_1_1_fast();+};+var h$$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypes_Ka = h$str("Cannot cast object to ");+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToBarProp2_e()+{+ h$p1(h$$KA);+ h$r4 = h$r2;+ h$r3 = 0;+ h$r2 = h$$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypes_Ka();+ h$r1 = h$ghczmprimZCGHCziCStringziunpackAppendCStringzh;+ return h$ap_2_3_fast();+};+function h$$KC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 2)];+ var e = h$stack[(h$sp - 1)];+ h$sp -= 5;+ var f = h$isInstanceOf(a.d1, c);+ var g = f;+ if(!(!g))+ {+ h$l3(e, b, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziunsafeCastGObject);+ return h$ap_2_2_fast();+ }+ else+ {+ h$l2(d, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToBarProp2);+ return h$ap_1_1_fast();+ };+};+function h$$KB()+{+ var a = h$r1;+ h$sp -= 4;+ h$pp24(a, h$$KC);+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwcastTo_e()+{+ var a = h$r2;+ h$p4(h$r3, h$r4, h$r5, h$$KB);+ h$l2(h$r6, a);+ return h$ap_1_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEventzuzdctoJSRef_e()+{+ h$r1 = h$$LR;+ return h$ap_2_1_fast();+};+function h$$KH()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d1;+ try+ {+ b.push(e);+ }+ catch(h$GHCJSziDOMziTypes_id_958_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_958_0);+ };+ h$l2(d, c);+ return h$ap_2_1_fast();+};+function h$$KG()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ var b = a.d1;+ h$pp12(a.d2, h$$KH);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$KF()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$KG);+ return h$e(h$r2);+};+function h$$KE()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, a);+ return h$stack[h$sp];+};+function h$$KD()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = [];+ var d = h$c(h$$KF);+ d.d1 = c;+ d.d2 = d;+ h$p2(c, h$$KE);+ h$l2(b, d);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEvent1_e()+{+ h$p1(h$$KD);+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEvent2;+ return h$ap_2_1_fast();+};+function h$$KI()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassUIEventzuzdcunsafeCastGObject_e()+{+ h$p1(h$$KI);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElementzuzdctoJSRef_e()+{+ h$r1 = h$$LO;+ return h$ap_2_1_fast();+};+function h$$KN()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d1;+ try+ {+ b.push(e);+ }+ catch(h$GHCJSziDOMziTypes_id_1300_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_1300_0);+ };+ h$l2(d, c);+ return h$ap_2_1_fast();+};+function h$$KM()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ var b = a.d1;+ h$pp12(a.d2, h$$KN);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$KL()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$KM);+ return h$e(h$r2);+};+function h$$KK()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, a);+ return h$stack[h$sp];+};+function h$$KJ()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = [];+ var d = h$c(h$$KL);+ d.d1 = c;+ d.d2 = d;+ h$p2(c, h$$KK);+ h$l2(b, d);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElement1_e()+{+ h$p1(h$$KJ);+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElement2;+ return h$ap_2_1_fast();+};+function h$$KO()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLInputElementzuzdcunsafeCastGObject_e()+{+ h$p1(h$$KO);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElementzuzdctoJSRef_e()+{+ h$r1 = h$$LL;+ return h$ap_2_1_fast();+};+function h$$KT()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d1;+ try+ {+ b.push(e);+ }+ catch(h$GHCJSziDOMziTypes_id_1420_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_1420_0);+ };+ h$l2(d, c);+ return h$ap_2_1_fast();+};+function h$$KS()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ var b = a.d1;+ h$pp12(a.d2, h$$KT);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$KR()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$KS);+ return h$e(h$r2);+};+function h$$KQ()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, a);+ return h$stack[h$sp];+};+function h$$KP()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = [];+ var d = h$c(h$$KR);+ d.d1 = c;+ d.d2 = d;+ h$p2(c, h$$KQ);+ h$l2(b, d);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement1_e()+{+ h$p1(h$$KP);+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement2;+ return h$ap_2_1_fast();+};+function h$$KU()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLCanvasElementzuzdcunsafeCastGObject_e()+{+ h$p1(h$$KU);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElementzuzdctoJSRef_e()+{+ h$r1 = h$$LI;+ return h$ap_2_1_fast();+};+function h$$KZ()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d1;+ try+ {+ b.push(e);+ }+ catch(h$GHCJSziDOMziTypes_id_1519_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_1519_0);+ };+ h$l2(d, c);+ return h$ap_2_1_fast();+};+function h$$KY()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ var b = a.d1;+ h$pp12(a.d2, h$$KZ);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$KX()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$KY);+ return h$e(h$r2);+};+function h$$KW()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, a);+ return h$stack[h$sp];+};+function h$$KV()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = [];+ var d = h$c(h$$KX);+ d.d1 = c;+ d.d2 = d;+ h$p2(c, h$$KW);+ h$l2(b, d);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElement1_e()+{+ h$p1(h$$KV);+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElement2;+ return h$ap_2_1_fast();+};+function h$$K0()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassElementzuzdcunsafeCastGObject_e()+{+ h$p1(h$$K0);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocumentzuzdctoJSRef_e()+{+ h$r1 = h$$LF;+ return h$ap_2_1_fast();+};+function h$$K5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d1;+ try+ {+ b.push(e);+ }+ catch(h$GHCJSziDOMziTypes_id_1537_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_1537_0);+ };+ h$l2(d, c);+ return h$ap_2_1_fast();+};+function h$$K4()+{+ var a = h$r1;+ h$sp -= 3;+ if((a.f.a === 1))+ {+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ }+ else+ {+ var b = a.d1;+ h$pp12(a.d2, h$$K5);+ return h$e(b);+ };+ return h$stack[h$sp];+};+function h$$K3()+{+ var a = h$r1.d1;+ h$p3(a, h$r1.d2, h$$K4);+ return h$e(h$r2);+};+function h$$K2()+{+ var a = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, a);+ return h$stack[h$sp];+};+function h$$K1()+{+ var a = h$r1;+ --h$sp;+ var b = a;+ var c = [];+ var d = h$c(h$$K3);+ d.d1 = c;+ d.d2 = d;+ h$p2(c, h$$K2);+ h$l2(b, d);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocument1_e()+{+ h$p1(h$$K1);+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocument2;+ return h$ap_2_1_fast();+};+function h$$K6()+{+ var a = h$r1;+ --h$sp;+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassDocumentzuzdcunsafeCastGObject_e()+{+ h$p1(h$$K6);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEventzuzdcfromJSRef_e()+{+ h$r1 = h$$LT;+ return h$ap_2_1_fast();+};+function h$$Lb()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, b), a);+ return h$stack[h$sp];+};+function h$$La()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ if((e < c))+ {+ var f;+ try+ {+ f = a[e];+ }+ catch(h$GHCJSziDOMziTypes_id_1728_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_1728_0);+ };+ h$p2(f, h$$Lb);+ h$l2(((e + 1) | 0), d);+ return h$ap_2_1_fast();+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ };+ return h$stack[h$sp];+};+function h$$K9()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEventzugo);+ return h$ap_1_1_fast();+};+function h$$K8()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$K9, a);+ return h$stack[h$sp];+};+function h$$K7()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$K8);+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEvent2);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa124_e()+{+ var a = h$r2;+ var b;+ try+ {+ b = a.length;+ }+ catch(h$GHCJSziDOMziTypes_id_1728_1)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_1728_1);+ };+ var c = b;+ var d = h$c(h$$La);+ d.d1 = a;+ d.d2 = h$d2(c, d);+ h$p1(h$$K7);+ h$l2(0, d);+ return h$ap_2_1_fast();+};+function h$$Lc()+{+ var a = h$r1;+ --h$sp;+ h$l2(a.d1, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa124);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEvent1_e()+{+ h$p1(h$$Lc);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElementzuzdcfromJSRef_e()+{+ h$r1 = h$$LQ;+ return h$ap_2_1_fast();+};+function h$$Lh()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, b), a);+ return h$stack[h$sp];+};+function h$$Lg()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ if((e < c))+ {+ var f;+ try+ {+ f = a[e];+ }+ catch(h$GHCJSziDOMziTypes_id_1956_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_1956_0);+ };+ h$p2(f, h$$Lh);+ h$l2(((e + 1) | 0), d);+ return h$ap_2_1_fast();+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ };+ return h$stack[h$sp];+};+function h$$Lf()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElementzugo);+ return h$ap_1_1_fast();+};+function h$$Le()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$Lf, a);+ return h$stack[h$sp];+};+function h$$Ld()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$Le);+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElement2);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa67_e()+{+ var a = h$r2;+ var b;+ try+ {+ b = a.length;+ }+ catch(h$GHCJSziDOMziTypes_id_1956_1)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_1956_1);+ };+ var c = b;+ var d = h$c(h$$Lg);+ d.d1 = a;+ d.d2 = h$d2(c, d);+ h$p1(h$$Ld);+ h$l2(0, d);+ return h$ap_2_1_fast();+};+function h$$Li()+{+ var a = h$r1;+ --h$sp;+ h$l2(a.d1, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa67);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElement1_e()+{+ h$p1(h$$Li);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElementzuzdcfromJSRef_e()+{+ h$r1 = h$$LN;+ return h$ap_2_1_fast();+};+function h$$Ln()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, b), a);+ return h$stack[h$sp];+};+function h$$Lm()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ if((e < c))+ {+ var f;+ try+ {+ f = a[e];+ }+ catch(h$GHCJSziDOMziTypes_id_2036_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_2036_0);+ };+ h$p2(f, h$$Ln);+ h$l2(((e + 1) | 0), d);+ return h$ap_2_1_fast();+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ };+ return h$stack[h$sp];+};+function h$$Ll()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElementzugo);+ return h$ap_1_1_fast();+};+function h$$Lk()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$Ll, a);+ return h$stack[h$sp];+};+function h$$Lj()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$Lk);+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElement2);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa47_e()+{+ var a = h$r2;+ var b;+ try+ {+ b = a.length;+ }+ catch(h$GHCJSziDOMziTypes_id_2036_1)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_2036_1);+ };+ var c = b;+ var d = h$c(h$$Lm);+ d.d1 = a;+ d.d2 = h$d2(c, d);+ h$p1(h$$Lj);+ h$l2(0, d);+ return h$ap_2_1_fast();+};+function h$$Lo()+{+ var a = h$r1;+ --h$sp;+ h$l2(a.d1, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa47);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElement1_e()+{+ h$p1(h$$Lo);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElementzuzdcfromJSRef_e()+{+ h$r1 = h$$LK;+ return h$ap_2_1_fast();+};+function h$$Lt()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, b), a);+ return h$stack[h$sp];+};+function h$$Ls()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ if((e < c))+ {+ var f;+ try+ {+ f = a[e];+ }+ catch(h$GHCJSziDOMziTypes_id_2104_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_2104_0);+ };+ h$p2(f, h$$Lt);+ h$l2(((e + 1) | 0), d);+ return h$ap_2_1_fast();+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ };+ return h$stack[h$sp];+};+function h$$Lr()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElementzugo);+ return h$ap_1_1_fast();+};+function h$$Lq()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$Lr, a);+ return h$stack[h$sp];+};+function h$$Lp()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$Lq);+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElement2);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa30_e()+{+ var a = h$r2;+ var b;+ try+ {+ b = a.length;+ }+ catch(h$GHCJSziDOMziTypes_id_2104_1)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_2104_1);+ };+ var c = b;+ var d = h$c(h$$Ls);+ d.d1 = a;+ d.d2 = h$d2(c, d);+ h$p1(h$$Lp);+ h$l2(0, d);+ return h$ap_2_1_fast();+};+function h$$Lu()+{+ var a = h$r1;+ --h$sp;+ h$l2(a.d1, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa30);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElement1_e()+{+ h$p1(h$$Lu);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocumentzuzdcfromJSRef_e()+{+ h$r1 = h$$LH;+ return h$ap_2_1_fast();+};+function h$$Lz()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$r1 = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, b), a);+ return h$stack[h$sp];+};+function h$$Ly()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = h$r2;+ if((e < c))+ {+ var f;+ try+ {+ f = a[e];+ }+ catch(h$GHCJSziDOMziTypes_id_2116_0)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_2116_0);+ };+ h$p2(f, h$$Lz);+ h$l2(((e + 1) | 0), d);+ return h$ap_2_1_fast();+ }+ else+ {+ h$r1 = h$ghczmprimZCGHCziTypesziZMZN;+ };+ return h$stack[h$sp];+};+function h$$Lx()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocumentzugo);+ return h$ap_1_1_fast();+};+function h$$Lw()+{+ var a = h$r1;+ --h$sp;+ h$r1 = h$c1(h$$Lx, a);+ return h$stack[h$sp];+};+function h$$Lv()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$Lw);+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocument2);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa27_e()+{+ var a = h$r2;+ var b;+ try+ {+ b = a.length;+ }+ catch(h$GHCJSziDOMziTypes_id_2116_1)+ {+ return h$throwJSException(h$GHCJSziDOMziTypes_id_2116_1);+ };+ var c = b;+ var d = h$c(h$$Ly);+ d.d1 = a;+ d.d2 = h$d2(c, d);+ h$p1(h$$Lv);+ h$l2(0, d);+ return h$ap_2_1_fast();+};+function h$$LA()+{+ var a = h$r1;+ --h$sp;+ h$l2(a.d1, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa27);+ return h$ap_2_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocument1_e()+{+ h$p1(h$$LA);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsDocumentDocument_e()+{+ h$bh();+ return h$e(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassDocument);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsElementElement_e()+{+ h$bh();+ return h$e(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassElement);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsHTMLCanvasElementHTMLCanvasElement_e()+{+ h$bh();+ return h$e(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLCanvasElement);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsHTMLInputElementHTMLInputElement_e()+{+ h$bh();+ return h$e(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLInputElement);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziDZCGObjectClass_con_e()+{+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziDZCGObjectClass_e()+{+ h$r1 = h$c4(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziDZCGObjectClass_con_e, h$r2, h$r3, h$r4, h$r5);+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziGObject_con_e()+{+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziGObject_e()+{+ h$r1 = h$c1(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziGObject_con_e, h$r2);+ return h$stack[h$sp];+};+function h$$LB()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d2;+ var d = c.d2;+ h$l6(b, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLInputElement1, window["HTMLInputElement"],+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLInputElement, d,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwcastTo);+ return h$ap_gen_fast(1285);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLInputElement_e()+{+ h$p2(h$r3, h$$LB);+ return h$e(h$r2);+};+function h$$LC()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d2;+ var d = c.d2;+ h$l6(b, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLCanvasElement1, window["HTMLCanvasElement"],+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLCanvasElement, d,+ h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwcastTo);+ return h$ap_gen_fast(1285);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLCanvasElement_e()+{+ h$p2(h$r3, h$$LC);+ return h$e(h$r2);+};+function h$$LD()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d3;+ return h$ap_0_0_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziunsafeCastGObject_e()+{+ h$p1(h$$LD);+ return h$e(h$r2);+};+function h$$LE()+{+ var a = h$r1;+ --h$sp;+ var b = a.d2;+ h$r1 = b.d2;+ return h$ap_0_0_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject_e()+{+ h$p1(h$$LE);+ return h$e(h$r2);+};+function h$$LW()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, b), a);+ return h$ap_1_1_fast();+};+function h$$LV()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ h$r1 = h$c2(h$$LW, b, c["value"]);+ return h$stack[h$sp];+};+function h$$LU()+{+ var a = h$r1;+ h$sp -= 2;+ h$pp2(h$$LV);+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLInputElementzihtmlInputElementGetValue1_e()+{+ h$p2(h$r3, h$$LU);+ h$p2(h$r4, h$ap_1_1);+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject;+ return h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject_e;+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLInputElementzihtmlInputElementGetValue_e()+{+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLInputElementzihtmlInputElementGetValue1;+ return h$ap_4_3_fast();+};+function h$$LY()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$r1 = b["width"];+ return h$stack[h$sp];+};+function h$$LX()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$LY);+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetWidth1_e()+{+ h$p1(h$$LX);+ h$p2(h$r3, h$ap_1_1);+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject;+ return h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject_e;+};+function h$$L0()+{+ var a = h$r1;+ --h$sp;+ var b = a.d1;+ h$r1 = b["height"];+ return h$stack[h$sp];+};+function h$$LZ()+{+ var a = h$r1;+ --h$sp;+ h$p1(h$$L0);+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetHeight1_e()+{+ h$p1(h$$LZ);+ h$p2(h$r3, h$ap_1_1);+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject;+ return h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject_e;+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetHeight_e()+{+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetHeight1;+ return h$ap_3_2_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetWidth_e()+{+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetWidth1;+ return h$ap_3_2_fast();+};+function h$$L9()+{+ var a = h$r1.d1;+ h$bh();+ h$l2(a, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziunsafeCastGObject);+ return h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziunsafeCastGObject_e;+};+function h$$L8()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ h$bh();+ h$l2(h$c1(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziGObject_con_e, b), a);+ return h$ap_1_1_fast();+};+function h$$L7()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ h$l3(h$c2(h$$L8, b.d2, h$r2), a, c);+ return h$ap_2_2_fast();+};+function h$$L6()+{+ var a = h$r1.d1;+ var b = h$r1.d2;+ var c = b.d1;+ var d = b.d2;+ var e = b.d3;+ var f = (c["removeEventListener"](d, a, e) ? 1 : 0);+ h$release(a);+ h$r1 = h$ghczmprimZCGHCziTupleziZLZR;+ return h$stack[h$sp];+};+function h$$L5()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = (c["addEventListener"](d, b, a) ? 1 : 0);+ h$r1 = h$c4(h$$L6, b, c, d, a);+ return h$stack[h$sp];+};+function h$$L4()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 4;+ h$pp12(a.d1, h$$L5);+ return h$e(b);+};+function h$$L3()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 4)];+ var c = h$stack[(h$sp - 3)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 5;+ h$pp11(d, a.d1, h$$L4);+ h$l2(b, c);+ return h$ap_1_1_fast();+};+function h$$L2()+{+ var a = h$r1;+ h$sp -= 5;+ h$pp16(h$$L3);+ return h$e(a.d1);+};+function h$$L1()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 7)];+ var c = h$stack[(h$sp - 5)];+ var d = h$stack[(h$sp - 4)];+ var e = h$stack[(h$sp - 3)];+ var f = h$stack[(h$sp - 2)];+ var g = h$stack[(h$sp - 1)];+ h$sp -= 8;+ var h = h$c1(h$$L9, c);+ var i = h$makeCallbackApply(a.d1, 1, h$runSync, [h$ghczmprimZCGHCziTypesziTrue], h$c3(h$$L7, d, g, h));+ h$pp29(e, f, i, h$$L2);+ h$p2(d, h$ap_1_1);+ h$l2(b, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject);+ return h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject_e;+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziEventTargetClosureszieventTargetAddEventListener1_e()+{+ h$p8(h$r2, h$r3, h$r4, h$r5, h$r6, h$r7, h$r8, h$$L1);+ return h$e(h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzijsTrue);+};+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup2 = h$strta("keyup");+function h$$Ma()+{+ h$l2(h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$r2, h$r3), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup1_e()+{+ h$r8 = h$c1(h$$Ma, h$r4);+ h$r7 = false;+ h$r6 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup2;+ h$r5 = h$r3;+ h$r4 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassUIEvent;+ h$r3 = h$ghcjszmprimZCGHCJSziPrimzitoJSString;+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziEventTargetClosureszieventTargetAddEventListener1;+ return h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziEventTargetClosureszieventTargetAddEventListener1_e;+};+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange2 = h$strta("change");+function h$$Mb()+{+ h$l2(h$c2(h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$r2, h$r3), h$r1.d1);+ return h$ap_1_1_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange1_e()+{+ h$r8 = h$c1(h$$Mb, h$r4);+ h$r7 = false;+ h$r6 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange2;+ h$r5 = h$r3;+ h$r4 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassUIEvent;+ h$r3 = h$ghcjszmprimZCGHCJSziPrimzitoJSString;+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziEventTargetClosureszieventTargetAddEventListener1;+ return h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziEventTargetClosureszieventTargetAddEventListener1_e;+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup_e()+{+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup1;+ return h$ap_4_3_fast();+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange_e()+{+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange1;+ return h$ap_4_3_fast();+};+function h$$Me()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 1)];+ h$sp -= 2;+ var c = a.d1;+ var d = b["getElementById"](c);+ var e = d;+ var f;+ var g = (e === null);+ if(!(!g))+ {+ f = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ f = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, e));+ };+ h$r1 = f;+ return h$stack[h$sp];+};+function h$$Md()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 2)];+ var c = h$stack[(h$sp - 1)];+ h$sp -= 3;+ h$p2(a.d1, h$$Me);+ h$l2(c, b);+ return h$ap_1_1_fast();+};+function h$$Mc()+{+ var a = h$r1;+ h$sp -= 3;+ h$pp4(h$$Md);+ return h$e(a.d1);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzizdwa30_e()+{+ var a = h$r2;+ h$p3(h$r3, h$r5, h$$Mc);+ h$l2(h$r4, a);+ return h$ap_1_1_fast();+};+function h$$Mf()+{+ var a = h$r1;+ var b = h$stack[(h$sp - 3)];+ var c = h$stack[(h$sp - 2)];+ var d = h$stack[(h$sp - 1)];+ h$sp -= 4;+ var e = a.d2;+ h$l5(d, c, b, e.d2, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzizdwa30);+ return h$ap_gen_fast(1029);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById1_e()+{+ h$p4(h$r3, h$r4, h$r5, h$$Mf);+ return h$e(h$r2);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById_e()+{+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById1;+ return h$ap_gen_fast(1029);+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMzicurrentDocument1_e()+{+ var a = document;+ var b;+ var c = (a === null);+ if(!(!c))+ {+ b = h$baseZCDataziMaybeziNothing;+ }+ else+ {+ b = h$c1(h$baseZCDataziMaybeziJust_con_e, h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, a));+ };+ h$r1 = b;+ return h$stack[h$sp];+};+function h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMzicurrentDocument_e()+{+ h$r1 = h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMzicurrentDocument1;+ return h$ap_1_0_fast();+};+function h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziReaderzizdfMonadTransReaderT1_e()+{+ h$r1 = h$r3;+ return h$ap_0_0_fast();+};+function h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziReaderzizdfMonadTransReaderT_e()+{+ h$r1 = h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziReaderzizdfMonadTransReaderT1;+ return h$ap_3_3_fast();+};+function h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziClasszilift_e()+{+ h$r1 = h$r2;+ return h$ap_0_0_fast();+};+var h$ghczmprimZCGHCziTypesziGT = h$d();+var h$ghczmprimZCGHCziTypesziEQ = h$d();+var h$ghczmprimZCGHCziTypesziLT = h$d();+var h$ghczmprimZCGHCziTypesziTrue = h$p(true);+var h$ghczmprimZCGHCziTypesziZMZN = h$d();+var h$ghczmprimZCGHCziTypesziIzh = h$d();+var h$ghczmprimZCGHCziTypesziFalse = h$p(false);+var h$ghczmprimZCGHCziTypesziDzh = h$d();+var h$ghczmprimZCGHCziTypesziZC = h$d();+var h$ghczmprimZCGHCziTypesziCzh = h$d();+var h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR = h$d();+var h$ghczmprimZCGHCziTupleziZLz2cUZR = h$d();+var h$ghczmprimZCGHCziTupleziZLZR = h$d();+var h$ghczmprimZCGHCziIntWord64ziintToInt64zh = h$d();+var h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdczeze = h$d();+var h$ghczmprimZCGHCziClasseszizdfOrdIntzuzdcmax = h$d();+var h$ghczmprimZCGHCziClasseszizdfOrdIntzuzdcmin = h$d();+var h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdczsze = h$d();+var h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdfEqZMZN = h$d();+var h$ghczmprimZCGHCziClasseszizdfEqCharzuzdczeze = h$d();+var h$ghczmprimZCGHCziClasseszizdfEqCharzuzdczsze = h$d();+var h$ghczmprimZCGHCziClasseszizdfEqChar = h$d();+var h$ghczmprimZCGHCziClassesziDZCOrd = h$d();+var h$ghczmprimZCGHCziClassesziDZCEq = h$d();+var h$ghczmprimZCGHCziClasseszimodIntzh = h$d();+var h$ghczmprimZCGHCziClasseszidivIntzh = h$d();+var h$ghczmprimZCGHCziClasseszicompareIntzh = h$d();+var h$ghczmprimZCGHCziClasseszicompareInt = h$d();+var h$ghczmprimZCGHCziClasseszileInt = h$d();+var h$ghczmprimZCGHCziClassesziltInt = h$d();+var h$ghczmprimZCGHCziClasseszigeInt = h$d();+var h$ghczmprimZCGHCziClasseszigtInt = h$d();+var h$ghczmprimZCGHCziClasseszineInt = h$d();+var h$ghczmprimZCGHCziClasseszieqInt = h$d();+var h$ghczmprimZCGHCziClasseszizdfEqInt = h$d();+var h$ghczmprimZCGHCziClasseszizdfOrdInt = h$d();+var h$ghczmprimZCGHCziClasseszizeze = h$d();+var h$ghczmprimZCGHCziCStringziunpackAppendCStringzh = h$d();+var h$ghczmprimZCGHCziCStringziunpackCStringzh = h$d();+var h$ghczmprimZCGHCziCStringziunpackFoldrCStringzh = h$d();+var h$ghczmprimZCGHCziCStringziunpackCStringUtf8zh = h$d();+var h$ghcjszmprimZCGHCJSziPrimziInternalziblockedIndefinitelyOnSTM = h$d();+var h$ghcjszmprimZCGHCJSziPrimziInternalziblockedIndefinitelyOnMVar = h$d();+var h$ghcjszmprimZCGHCJSziPrimziInternalziwouldBlock = h$d();+var h$ghcjszmprimZCGHCJSziPrimzigetProp1 = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdctoException = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockException = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdctoException = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockExceptionzuzdcshowsPrec = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockExceptionzuzdcshow = h$d();+h$di(h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockException2);+var h$ghcjszmprimZCGHCJSziPrimzizdwzdcshowsPrec = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockException1 = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockExceptionzuzdcshowList = h$d();+h$di(h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuww5);+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdctypeRepzh = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdcfromException = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowJSExceptionzuzdcshowsPrec = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowJSExceptionzuzdcshow = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException2 = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException1 = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowJSExceptionzuzdcshowList = h$d();+h$di(h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuww3);+h$di(h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException4);+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockException2 = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockException1 = h$d();+h$di(h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException3);+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException2 = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException1 = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdctypeRepzh = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdcfromException = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockException = h$d();+var h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException = h$d();+var h$ghcjszmprimZCGHCJSziPrimziWouldBlockException = h$d();+var h$ghcjszmprimZCGHCJSziPrimziJSException = h$d();+var h$ghcjszmprimZCGHCJSziPrimziJSRef = h$d();+var h$ghcjszmprimZCGHCJSziPrimzitoJSString = h$d();+var h$ghcjszmprimZCGHCJSziPrimzifromJSString = h$d();+var h$ghcjszmprimZCGHCJSziPrimzijszufromJSString = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziandInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziquotRemInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziremInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziquotInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziminusInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziplusInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezitimesInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezigcdInteger = h$d();+var h$$bf = h$d();+var h$$bg = h$d();+var h$$bh = h$d();+var h$$bi = h$d();+var h$$bj = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziabsInt = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezigcdInt = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziminIntAsBig = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziencodeDoublezh = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziintzuencodeDoublezh = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziJzh = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziSzh = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziint64ToInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezidoubleFromInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezicompareInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezigeIntegerzh = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezigtIntegerzh = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezileIntegerzh = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezisignumInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziabsInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezinegateInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt64 = h$d();+var h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt = h$d();+var h$integerzmgmpZCGHCziIntegerziTypezismallInteger = h$d();+var h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzugo = h$d();+var h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzustep = h$d();+var h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2IsPowerOf2zh1 = h$d();+var h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh1 = h$d();+var h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziBA = h$d();+var h$$bB = h$d();+var h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziroundingModezh = h$d();+var h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh = h$d();+var h$integerzmgmpZCGHCziIntegerziGMPziPrimziintegerToInt64zh = h$d();+var h$baseZCUnsafeziCoerceziunsafeCoerce1 = h$d();+var h$baseZCTextziReadziLexzinumberToFixedzuzdsval = h$d();+var h$$it = h$d();+var h$$iu = h$d();+var h$$iv = h$d();+var h$$iw = h$d();+var h$$ix = h$d();+var h$$iy = h$d();+var h$$iz = h$d();+var h$$iA = h$d();+var h$$iB = h$p(39);+var h$$iC = h$p(34);+var h$$iD = h$d();+var h$$iE = h$d();+var h$$iF = h$d();+var h$$iG = h$d();+var h$$iH = h$d();+var h$$iI = h$p(127);+h$di(h$$iJ);+var h$$iK = h$d();+var h$$iL = h$d();+var h$$iM = h$p(32);+h$di(h$$iN);+var h$$iO = h$d();+var h$$iP = h$d();+var h$$iQ = h$p(31);+h$di(h$$iR);+var h$$iS = h$d();+var h$$iT = h$d();+var h$$iU = h$p(30);+h$di(h$$iV);+var h$$iW = h$d();+var h$$iX = h$d();+var h$$iY = h$p(29);+h$di(h$$iZ);+var h$$i0 = h$d();+var h$$i1 = h$d();+var h$$i2 = h$p(28);+h$di(h$$i3);+var h$$i4 = h$d();+var h$$i5 = h$d();+var h$$i6 = h$p(27);+h$di(h$$i7);+var h$$i8 = h$d();+var h$$i9 = h$d();+var h$$ja = h$p(26);+h$di(h$$jb);+var h$$jc = h$d();+var h$$jd = h$d();+var h$$je = h$p(25);+h$di(h$$jf);+var h$$jg = h$d();+var h$$jh = h$d();+var h$$ji = h$p(24);+h$di(h$$jj);+var h$$jk = h$d();+var h$$jl = h$d();+var h$$jm = h$p(23);+h$di(h$$jn);+var h$$jo = h$d();+var h$$jp = h$d();+var h$$jq = h$p(22);+h$di(h$$jr);+var h$$js = h$d();+var h$$jt = h$d();+var h$$ju = h$p(21);+h$di(h$$jv);+var h$$jw = h$d();+var h$$jx = h$d();+var h$$jy = h$p(20);+h$di(h$$jz);+var h$$jA = h$d();+var h$$jB = h$d();+var h$$jC = h$p(19);+h$di(h$$jD);+var h$$jE = h$d();+var h$$jF = h$d();+var h$$jG = h$p(18);+h$di(h$$jH);+var h$$jI = h$d();+var h$$jJ = h$d();+var h$$jK = h$p(17);+h$di(h$$jL);+var h$$jM = h$d();+var h$$jN = h$d();+var h$$jO = h$p(16);+h$di(h$$jP);+var h$$jQ = h$d();+var h$$jR = h$d();+var h$$jS = h$p(15);+h$di(h$$jT);+var h$$jU = h$d();+var h$$jV = h$d();+var h$$jW = h$p(13);+h$di(h$$jX);+var h$$jY = h$d();+var h$$jZ = h$d();+var h$$j0 = h$p(12);+h$di(h$$j1);+var h$$j2 = h$d();+var h$$j3 = h$d();+var h$$j4 = h$p(11);+h$di(h$$j5);+var h$$j6 = h$d();+var h$$j7 = h$d();+var h$$j8 = h$p(10);+h$di(h$$j9);+var h$$ka = h$d();+var h$$kb = h$d();+var h$$kc = h$p(9);+h$di(h$$kd);+var h$$ke = h$d();+var h$$kf = h$d();+var h$$kg = h$p(8);+h$di(h$$kh);+var h$$ki = h$d();+var h$$kj = h$d();+var h$$kk = h$p(7);+h$di(h$$kl);+var h$$km = h$d();+var h$$kn = h$d();+var h$$ko = h$p(6);+h$di(h$$kp);+var h$$kq = h$d();+var h$$kr = h$d();+var h$$ks = h$p(5);+h$di(h$$kt);+var h$$ku = h$d();+var h$$kv = h$d();+var h$$kw = h$p(4);+h$di(h$$kx);+var h$$ky = h$d();+var h$$kz = h$d();+var h$$kA = h$p(3);+h$di(h$$kB);+var h$$kC = h$d();+var h$$kD = h$d();+var h$$kE = h$p(2);+h$di(h$$kF);+var h$$kG = h$d();+var h$$kH = h$d();+var h$$kI = h$p(0);+h$di(h$$kJ);+var h$$kK = h$d();+var h$$kL = h$d();+var h$$kM = h$d();+var h$$kN = h$p(14);+h$di(h$$kO);+var h$$kP = h$d();+var h$$kQ = h$p(1);+h$di(h$$kR);+var h$$kS = h$d();+var h$$kT = h$d();+var h$$kU = h$p(10);+var h$$kV = h$d();+var h$$kW = h$d();+var h$$kX = h$d();+h$di(h$$kY);+var h$$kZ = h$d();+h$di(h$$k0);+var h$$k1 = h$d();+h$di(h$$k2);+h$di(h$$k3);+var h$$k4 = h$d();+var h$$k5 = h$p(126);+var h$$k6 = h$d();+var h$$k7 = h$d();+var h$$k8 = h$p(64);+var h$$k9 = h$d();+var h$$la = h$d();+h$di(h$$lb);+var h$$lc = h$d();+h$di(h$$ld);+var h$$le = h$d();+var h$$lf = h$p(124);+var h$$lg = h$d();+var h$$lh = h$d();+var h$$li = h$p(92);+var h$$lj = h$d();+var h$$lk = h$d();+var h$$ll = h$p(61);+var h$$lm = h$d();+var h$$ln = h$d();+h$di(h$$lo);+var h$$lp = h$d();+h$di(h$$lq);+var h$$lr = h$d();+var h$$ls = h$d();+h$di(h$$lt);+var h$$lu = h$d();+var h$$lv = h$d();+var h$$lw = h$p(16);+var h$$lx = h$p(8);+var h$baseZCTextziReadziLexzireadDecP2 = h$d();+var h$baseZCTextziReadziLexzizdwnumberToRational = h$d();+var h$baseZCTextziReadziLexzinumberToRangedRational5 = h$d();+var h$baseZCTextziReadziLexzinumberToRangedRational4 = h$d();+var h$baseZCTextziReadziLexzinumberToRangedRational1 = h$d();+var h$baseZCTextziReadziLexzizdwnumberToRangedRational = h$d();+var h$baseZCTextziReadziLexzinumberToFixed2 = h$d();+var h$baseZCTextziReadziLexzinumberToRangedRational3 = h$d();+var h$baseZCTextziReadziLexzinumberToRangedRational2 = h$d();+var h$baseZCTextziReadziLexzinumberToFixed1 = h$d();+var h$baseZCTextziReadziLexzilexChar2 = h$d();+var h$baseZCTextziReadziLexziexpect2 = h$d();+var h$baseZCTextziReadziLexzizdfShowLexeme2 = h$p(0);+var h$baseZCTextziReadziLexziEOF = h$d();+var h$baseZCTextziReadziLexziNumber = h$d();+var h$baseZCTextziReadziLexziSymbol = h$d();+var h$baseZCTextziReadziLexziIdent = h$d();+var h$baseZCTextziReadziLexziPunc = h$d();+var h$baseZCTextziReadziLexziString = h$d();+var h$baseZCTextziReadziLexziChar = h$d();+var h$baseZCTextziReadziLexziMkDecimal = h$d();+var h$baseZCTextziReadziLexziMkNumber = h$d();+var h$baseZCTextziReadzireadEither6 = h$d();+var h$baseZCTextziReadzireadEither5 = h$d();+h$di(h$baseZCTextziReadzireadEither4);+h$di(h$baseZCTextziReadzireadEither2);+var h$baseZCTextziReadziread = h$d();+var h$baseZCTextziParserCombinatorsziReadPrecziminPrec = h$p(0);+var h$baseZCTextziParserCombinatorsziReadPzirun = h$d();+var h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus = h$d();+var h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdczgzgze = h$d();+var h$baseZCTextziParserCombinatorsziReadPzichoice = h$d();+var h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip = h$d();+var h$baseZCTextziParserCombinatorsziReadPzizlzpzp2 = h$d();+var h$$nj = h$d();+var h$$nk = h$d();+var h$baseZCTextziParserCombinatorsziReadPzistring2 = h$d();+var h$baseZCTextziParserCombinatorsziReadPzizdwa6 = h$d();+var h$baseZCTextziParserCombinatorsziReadPzimunch3 = h$d();+var h$baseZCTextziParserCombinatorsziReadPzizdwa3 = h$d();+var h$baseZCTextziParserCombinatorsziReadPzizdwa = h$d();+var h$baseZCTextziParserCombinatorsziReadPzipfail1 = h$d();+var h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdcreturn = h$d();+var h$baseZCTextziParserCombinatorsziReadPziFinal = h$d();+var h$baseZCTextziParserCombinatorsziReadPziResult = h$d();+var h$baseZCTextziParserCombinatorsziReadPziFail = h$d();+var h$baseZCTextziParserCombinatorsziReadPziLook = h$d();+var h$baseZCTextziParserCombinatorsziReadPziGet = h$d();+h$di(h$$n2);+h$di(h$$n3);+h$di(h$$n4);+h$di(h$$n5);+var h$baseZCSystemziPosixziInternalszisetEcho2 = h$d();+var h$baseZCSystemziPosixziInternalszisetEcho1 = h$d();+var h$baseZCSystemziPosixziInternalszisetCooked5 = h$d();+var h$baseZCSystemziPosixziInternalszisetCooked4 = h$d();+var h$baseZCSystemziPosixziInternalszisetCooked3 = h$d();+var h$baseZCSystemziPosixziInternalszisetCooked2 = h$d();+var h$baseZCSystemziPosixziInternalszisetCooked1 = h$d();+var h$baseZCSystemziPosixziInternalszigetEcho4 = h$d();+var h$baseZCSystemziPosixziInternalszigetEcho3 = h$d();+var h$baseZCSystemziPosixziInternalszigetEcho2 = h$d();+h$di(h$baseZCSystemziPosixziInternalsziioezuunknownfiletype2);+h$di(h$baseZCSystemziPosixziInternalsziioezuunknownfiletype1);+var h$baseZCSystemziPosixziInternalszifdStat1 = h$d();+var h$baseZCSystemziPosixziInternalszifdFileSizzezupred = h$d();+h$di(h$baseZCSystemziPosixziInternalszifdFileSizzezuloc);+var h$baseZCSystemziPosixziInternalszifdFileSizze2 = h$d();+var h$baseZCSystemziPosixziInternalszifdFileSizze1 = h$d();+var h$baseZCSystemziPosixziInternalsziioezuunknownfiletype = h$d();+var h$baseZCGHCziWordziW32zh = h$d();+var h$baseZCGHCziWordziW64zh = h$d();+var h$baseZCGHCziUnicodezizdwisSpace = h$d();+var h$baseZCGHCziUnicodeziisSpace = h$d();+var h$baseZCGHCziUnicodeziisAlpha = h$d();+var h$baseZCGHCziUnicodeziisAlphaNum = h$d();+var h$baseZCGHCziTopHandlerzirunIO3 = h$d();+var h$baseZCGHCziTopHandlerzirunIO2 = h$d();+var h$$oU = h$d();+var h$$oV = h$p(2);+var h$$oW = h$p(0);+var h$$oX = h$p(1);+var h$$oY = h$d();+h$di(h$$oZ);+var h$baseZCGHCziTopHandlerzirunMainIO1 = h$d();+var h$baseZCGHCziTopHandlerziflushStdHandles4 = h$d();+var h$baseZCGHCziTopHandlerziflushStdHandles3 = h$d();+var h$baseZCGHCziTopHandlerziflushStdHandles2 = h$d();+var h$baseZCGHCziTopHandlerzitopHandler = h$d();+var h$baseZCGHCziTopHandlerzirunMainIO = h$d();+var h$baseZCGHCziStorableziwriteWideCharOffPtr1 = h$d();+var h$baseZCGHCziStorablezireadWideCharOffPtr1 = h$d();+var h$baseZCGHCziShowzizdwitoszq = h$d();+var h$baseZCGHCziShowzishowLitString = h$d();+h$di(h$$py);+h$di(h$$pz);+h$di(h$$pA);+h$di(h$$pB);+h$di(h$$pC);+h$di(h$$pD);+h$di(h$$pE);+h$di(h$$pF);+h$di(h$$pG);+h$di(h$$pH);+h$di(h$$pI);+var h$$pJ = h$p(92);+h$di(h$baseZCGHCziShowziasciiTab65);+h$di(h$baseZCGHCziShowziasciiTab64);+h$di(h$baseZCGHCziShowziasciiTab63);+h$di(h$baseZCGHCziShowziasciiTab62);+h$di(h$baseZCGHCziShowziasciiTab61);+h$di(h$baseZCGHCziShowziasciiTab60);+h$di(h$baseZCGHCziShowziasciiTab59);+h$di(h$baseZCGHCziShowziasciiTab58);+h$di(h$baseZCGHCziShowziasciiTab57);+h$di(h$baseZCGHCziShowziasciiTab56);+h$di(h$baseZCGHCziShowziasciiTab55);+h$di(h$baseZCGHCziShowziasciiTab54);+h$di(h$baseZCGHCziShowziasciiTab53);+h$di(h$baseZCGHCziShowziasciiTab52);+h$di(h$baseZCGHCziShowziasciiTab51);+h$di(h$baseZCGHCziShowziasciiTab50);+h$di(h$baseZCGHCziShowziasciiTab49);+h$di(h$baseZCGHCziShowziasciiTab48);+h$di(h$baseZCGHCziShowziasciiTab47);+h$di(h$baseZCGHCziShowziasciiTab46);+h$di(h$baseZCGHCziShowziasciiTab45);+h$di(h$baseZCGHCziShowziasciiTab44);+h$di(h$baseZCGHCziShowziasciiTab43);+h$di(h$baseZCGHCziShowziasciiTab42);+h$di(h$baseZCGHCziShowziasciiTab41);+h$di(h$baseZCGHCziShowziasciiTab40);+h$di(h$baseZCGHCziShowziasciiTab39);+h$di(h$baseZCGHCziShowziasciiTab38);+h$di(h$baseZCGHCziShowziasciiTab37);+h$di(h$baseZCGHCziShowziasciiTab36);+h$di(h$baseZCGHCziShowziasciiTab35);+h$di(h$baseZCGHCziShowziasciiTab34);+h$di(h$baseZCGHCziShowziasciiTab33);+var h$baseZCGHCziShowziasciiTab32 = h$d();+var h$baseZCGHCziShowziasciiTab31 = h$d();+var h$baseZCGHCziShowziasciiTab30 = h$d();+var h$baseZCGHCziShowziasciiTab29 = h$d();+var h$baseZCGHCziShowziasciiTab28 = h$d();+var h$baseZCGHCziShowziasciiTab27 = h$d();+var h$baseZCGHCziShowziasciiTab26 = h$d();+var h$baseZCGHCziShowziasciiTab25 = h$d();+var h$baseZCGHCziShowziasciiTab24 = h$d();+var h$baseZCGHCziShowziasciiTab23 = h$d();+var h$baseZCGHCziShowziasciiTab22 = h$d();+var h$baseZCGHCziShowziasciiTab21 = h$d();+var h$baseZCGHCziShowziasciiTab20 = h$d();+var h$baseZCGHCziShowziasciiTab19 = h$d();+var h$baseZCGHCziShowziasciiTab18 = h$d();+var h$baseZCGHCziShowziasciiTab17 = h$d();+var h$baseZCGHCziShowziasciiTab16 = h$d();+var h$baseZCGHCziShowziasciiTab15 = h$d();+var h$baseZCGHCziShowziasciiTab14 = h$d();+var h$baseZCGHCziShowziasciiTab13 = h$d();+var h$baseZCGHCziShowziasciiTab12 = h$d();+var h$baseZCGHCziShowziasciiTab11 = h$d();+var h$baseZCGHCziShowziasciiTab10 = h$d();+var h$baseZCGHCziShowziasciiTab9 = h$d();+var h$baseZCGHCziShowziasciiTab8 = h$d();+var h$baseZCGHCziShowziasciiTab7 = h$d();+var h$baseZCGHCziShowziasciiTab6 = h$d();+var h$baseZCGHCziShowziasciiTab5 = h$d();+var h$baseZCGHCziShowziasciiTab4 = h$d();+var h$baseZCGHCziShowziasciiTab3 = h$d();+var h$baseZCGHCziShowziasciiTab2 = h$d();+var h$baseZCGHCziShowziasciiTab1 = h$d();+var h$baseZCGHCziShowzizdfShowChar1 = h$p(34);+var h$baseZCGHCziShowzishowListzuzu3 = h$p(91);+var h$baseZCGHCziShowzishowListzuzu2 = h$p(93);+var h$baseZCGHCziShowzishowListzuzu1 = h$p(44);+var h$baseZCGHCziShowzizdwshowLitChar = h$d();+var h$baseZCGHCziShowzizdwitos = h$d();+var h$baseZCGHCziShowzizdwshowSignedInt = h$d();+var h$baseZCGHCziShowzishows15 = h$p(45);+var h$baseZCGHCziShowzishows13 = h$p(40);+var h$baseZCGHCziShowzishows12 = h$p(41);+var h$baseZCGHCziShowziDZCShow = h$d();+var h$baseZCGHCziShowziasciiTab = h$d();+var h$baseZCGHCziShowzishowListzuzu = h$d();+var h$baseZCGHCziShowzishowsPrec = h$d();+var h$baseZCGHCziSTRefziSTRef = h$d();+var h$$qv = h$d();+var h$baseZCGHCziRealzizczuf2 = h$d();+h$di(h$$qw);+var h$baseZCGHCziRealzizczuzdszc2 = h$d();+var h$baseZCGHCziRealzizc3 = h$d();+var h$baseZCGHCziRealzizdfIntegralIntzuzdcquot = h$d();+var h$baseZCGHCziRealzizdfIntegralIntzuzdcrem = h$d();+var h$baseZCGHCziRealzizdwzdcdiv = h$d();+var h$baseZCGHCziRealzizdfIntegralIntzuzdcdiv = h$d();+var h$baseZCGHCziRealzizdfIntegralIntzuzdcmod = h$d();+var h$baseZCGHCziRealzizdfIntegralIntzuzdcquotRem = h$d();+var h$baseZCGHCziRealzizdfIntegralInt1 = h$p(0);+var h$baseZCGHCziRealzizdfIntegralIntzuzdcdivMod = h$d();+var h$baseZCGHCziRealzizdfIntegralIntzuzdctoInteger = h$d();+var h$baseZCGHCziRealzizdfEnumRatiozuzdctoRational = h$d();+var h$baseZCGHCziRealzizdfEnumRatio1 = h$d();+var h$baseZCGHCziRealzizdwzdsreduce = h$d();+var h$baseZCGHCziRealzieven2 = h$d();+var h$baseZCGHCziRealzieven1 = h$d();+var h$baseZCGHCziRealzizdfRealInt = h$d();+var h$baseZCGHCziRealzizdfIntegralInt = h$d();+var h$baseZCGHCziRealziDZCFractional = h$d();+var h$baseZCGHCziRealziDZCIntegral = h$d();+var h$baseZCGHCziRealziDZCReal = h$d();+var h$baseZCGHCziRealziZCzv = h$d();+var h$baseZCGHCziRealzizdWZCzv = h$d();+var h$baseZCGHCziRealzioverflowError = h$d();+var h$$qx = h$d();+var h$baseZCGHCziRealziratioZZeroDenominatorError = h$d();+var h$baseZCGHCziRealzidivZZeroError = h$d();+var h$baseZCGHCziRealzizs = h$d();+var h$baseZCGHCziRealzitoInteger = h$d();+var h$baseZCGHCziRealzifromIntegral = h$d();+var h$$rH = h$p(91);+var h$$rI = h$d();+var h$baseZCGHCziReadzizdfReadDoublezuzdcreadsPrec = h$d();+var h$baseZCGHCziReadzizdfReadDouble11 = h$d();+var h$baseZCGHCziReadzizdfReadDoublezuzdsreadListDefault = h$d();+var h$baseZCGHCziReadzizdfReadDouble10 = h$d();+var h$baseZCGHCziReadzizdfReadDouble9 = h$d();+h$di(h$baseZCGHCziReadzizdfReadDouble8);+h$di(h$baseZCGHCziReadzizdfReadDouble7);+var h$baseZCGHCziReadzizdfReadDouble6 = h$d();+var h$baseZCGHCziReadzizdfReadDouble5 = h$d();+var h$baseZCGHCziReadzizdfReadDouble4 = h$d();+var h$baseZCGHCziReadzizdfReadDouble3 = h$d();+var h$baseZCGHCziReadzizdfReadDoublezuzdsconvertFrac = h$d();+var h$baseZCGHCziReadzizdfReadDouble2 = h$d();+var h$baseZCGHCziReadzizdfReadDouble1 = h$d();+var h$baseZCGHCziReadzizdwa3 = h$d();+var h$baseZCGHCziReadzizdfReadZLZR13 = h$p(40);+var h$baseZCGHCziReadzizdfReadZLZR12 = h$d();+var h$baseZCGHCziReadzizdfReadZLZR11 = h$p(41);+var h$baseZCGHCziReadzizdfReadZLZR10 = h$d();+var h$baseZCGHCziReadzizdwa = h$d();+var h$baseZCGHCziReadzizdfReadDouble = h$d();+var h$baseZCGHCziReadziDZCRead = h$d();+var h$baseZCGHCziPtrziPtr = h$d();+var h$baseZCGHCziNumzizdfNumIntzuzdczp = h$d();+var h$baseZCGHCziNumzizdfNumIntzuzdczt = h$d();+var h$baseZCGHCziNumzizdfNumIntzuzdczm = h$d();+var h$baseZCGHCziNumzizdfNumIntzuzdcnegate = h$d();+var h$baseZCGHCziNumzizdfNumIntzuzdcabs = h$d();+var h$baseZCGHCziNumzizdfNumInt3 = h$p(1);+var h$baseZCGHCziNumzizdfNumInt2 = h$p(0);+var h$baseZCGHCziNumzizdfNumInt1 = h$p((-1));+var h$baseZCGHCziNumzizdfNumIntzuzdcsignum = h$d();+var h$baseZCGHCziNumzizdfNumIntzuzdcfromInteger = h$d();+var h$baseZCGHCziNumzizdfNumInt = h$d();+var h$baseZCGHCziNumziDZCNum = h$d();+var h$baseZCGHCziNumzizt = h$d();+var h$baseZCGHCziNumzizp = h$d();+var h$baseZCGHCziNumzifromInteger = h$d();+var h$baseZCGHCziMVarziMVar = h$d();+var h$baseZCGHCziListziznznzusub = h$d();+var h$baseZCGHCziListzielem = h$d();+var h$baseZCGHCziListziall = h$d();+var h$baseZCGHCziListzizdwbreak = h$d();+var h$baseZCGHCziListzizdwspan = h$d();+var h$baseZCGHCziListzidropWhile = h$d();+var h$baseZCGHCziListzizdwlenAcc = h$d();+var h$baseZCGHCziListzizzip = h$d();+var h$baseZCGHCziListzifoldr2 = h$d();+var h$baseZCGHCziListzizzipWith = h$d();+var h$baseZCGHCziListzifilter = h$d();+var h$baseZCGHCziListzifilterFB = h$d();+h$di(h$$sC);+h$di(h$$sD);+var h$$sE = h$d();+h$di(h$$sF);+var h$baseZCGHCziListzicycle1 = h$d();+var h$baseZCGHCziListziznzn1 = h$d();+var h$baseZCGHCziListzicycle = h$d();+var h$baseZCGHCziIntzizdfEqInt64zuzdczeze = h$d();+var h$baseZCGHCziIntziI32zh = h$d();+var h$baseZCGHCziIntziI64zh = h$d();+h$di(h$baseZCGHCziIOziHandleziTypeszishowHandle2);+var h$baseZCGHCziIOziHandleziTypeszishowHandle1 = h$p(125);+var h$baseZCGHCziIOziHandleziTypesziNewlineMode = h$d();+var h$baseZCGHCziIOziHandleziTypesziFileHandle = h$d();+var h$baseZCGHCziIOziHandleziTypeszizdWFileHandle = h$d();+var h$baseZCGHCziIOziHandleziTypesziHandlezuzu = h$d();+var h$baseZCGHCziIOziHandleziTypeszizdWHandlezuzu = h$d();+var h$baseZCGHCziIOziHandleziTypesziLF = h$d();+var h$baseZCGHCziIOziHandleziTypesziBlockBuffering = h$d();+var h$baseZCGHCziIOziHandleziTypesziLineBuffering = h$d();+var h$baseZCGHCziIOziHandleziTypesziNoBuffering = h$d();+var h$baseZCGHCziIOziHandleziTypesziWriteHandle = h$d();+var h$baseZCGHCziIOziHandleziTypesziBufferListNil = h$d();+var h$baseZCGHCziIOziHandleziTypeszinoNewlineTranslation = h$d();+var h$baseZCGHCziIOziHandleziInternalszizdwa2 = h$d();+var h$$ul = h$d();+h$di(h$$um);+h$di(h$$un);+h$di(h$$uo);+var h$$up = h$d();+var h$baseZCGHCziIOziHandleziInternalsziwithHandlezq1 = h$d();+var h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle2 = h$d();+var h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle1 = h$d();+h$di(h$baseZCGHCziIOziHandleziInternalsziwantSeekableHandle4);+var h$baseZCGHCziIOziHandleziInternalsziwantSeekableHandle3 = h$d();+var h$baseZCGHCziIOziHandleziInternalszimkDuplexHandle5 = h$d();+var h$baseZCGHCziIOziHandleziInternalsziflushWriteBuffer1 = h$d();+h$di(h$baseZCGHCziIOziHandleziInternalsziflushBuffer4);+var h$baseZCGHCziIOziHandleziInternalsziflushBuffer3 = h$d();+var h$baseZCGHCziIOziHandleziInternalszidecodeByteBuf2 = h$d();+var h$baseZCGHCziIOziHandleziInternalszizdwa = h$d();+var h$baseZCGHCziIOziHandleziInternalsziioezufinalizzedHandle = h$d();+var h$baseZCGHCziIOziHandleziInternalsziaugmentIOError = h$d();+var h$$u0 = h$d();+h$di(h$$u1);+var h$$u2 = h$d();+h$di(h$$u3);+var h$$u4 = h$d();+var h$$u5 = h$d();+var h$$u6 = h$d();+var h$baseZCGHCziIOziHandleziFDzistderr = h$d();+var h$baseZCGHCziIOziHandleziFDzistdout = h$d();+h$di(h$baseZCGHCziIOziHandlezihFlush2);+var h$baseZCGHCziIOziHandlezihFlush1 = h$d();+var h$baseZCGHCziIOziHandlezihFlush = h$d();+var h$baseZCGHCziIOziFDzizdwa2 = h$d();+h$di(h$$w1);+var h$baseZCGHCziIOziFDziwriteRawBufferPtr2 = h$d();+h$di(h$baseZCGHCziIOziFDzizdfTypeableFD5);+h$di(h$baseZCGHCziIOziFDzizdfTypeableFD4);+h$di(h$baseZCGHCziIOziFDzizdfTypeableFD3);+var h$baseZCGHCziIOziFDzizdfTypeableFD2 = h$d();+var h$baseZCGHCziIOziFDzizdfTypeableFD1 = h$d();+var h$baseZCGHCziIOziFDzizdfTypeableFDzuzdctypeRepzh = h$d();+h$di(h$baseZCGHCziIOziFDzizdfIODeviceFD19);+var h$baseZCGHCziIOziFDzizdwa12 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD18 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD17 = h$d();+h$di(h$baseZCGHCziIOziFDzizdfIODeviceFD16);+var h$baseZCGHCziIOziFDzizdwa11 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD15 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD14 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD13 = h$d();+h$di(h$baseZCGHCziIOziFDzizdfIODeviceFDzuloc2);+var h$baseZCGHCziIOziFDzizdwa10 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD12 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFDzuds = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFDzupred = h$d();+h$di(h$baseZCGHCziIOziFDzizdfIODeviceFD11);+var h$baseZCGHCziIOziFDzizdwa9 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD10 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD9 = h$d();+h$di(h$baseZCGHCziIOziFDzizdfIODeviceFD8);+var h$baseZCGHCziIOziFDzizdwa8 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD7 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD6 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD5 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD4 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD3 = h$d();+h$di(h$baseZCGHCziIOziFDzizdfIODeviceFDzuloc1);+var h$baseZCGHCziIOziFDzizdwa7 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD2 = h$d();+h$di(h$baseZCGHCziIOziFDzizdfIODeviceFDzuloc);+var h$baseZCGHCziIOziFDzizdwa6 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD1 = h$d();+var h$baseZCGHCziIOziFDzizdfBufferedIOFD12 = h$d();+h$di(h$baseZCGHCziIOziFDzizdfBufferedIOFD11);+var h$baseZCGHCziIOziFDzizdwa5 = h$d();+var h$baseZCGHCziIOziFDzizdfBufferedIOFD10 = h$d();+var h$baseZCGHCziIOziFDzizdfBufferedIOFD9 = h$p((-1));+var h$baseZCGHCziIOziFDzizdwa4 = h$d();+h$di(h$baseZCGHCziIOziFDzizdfBufferedIOFD8);+var h$baseZCGHCziIOziFDzizdfBufferedIOFD7 = h$p(0);+var h$baseZCGHCziIOziFDzizdwa3 = h$d();+var h$baseZCGHCziIOziFDzizdfBufferedIOFD6 = h$d();+var h$baseZCGHCziIOziFDzizdfBufferedIOFD5 = h$d();+var h$baseZCGHCziIOziFDzizdfBufferedIOFD3 = h$d();+h$di(h$baseZCGHCziIOziFDzizdfBufferedIOFD2);+var h$baseZCGHCziIOziFDzizdwa1 = h$d();+var h$baseZCGHCziIOziFDzizdwa = h$d();+var h$baseZCGHCziIOziFDzizdfBufferedIOFD1 = h$d();+var h$baseZCGHCziIOziFDzizdfIODeviceFD = h$d();+var h$baseZCGHCziIOziFDzizdfBufferedIOFD = h$d();+var h$baseZCGHCziIOziFDziFD = h$d();+var h$baseZCGHCziIOziFDzizdWFD = h$d();+var h$baseZCGHCziIOziFDzistderr = h$d();+var h$baseZCGHCziIOziFDzistdout = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdctoException = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVar = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdctoException = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTM = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdctoException = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionIOException = h$d();+var h$$xM = h$d();+h$di(h$$xN);+h$di(h$$xO);+h$di(h$$xP);+h$di(h$$xQ);+h$di(h$$xR);+h$di(h$$xS);+h$di(h$$xT);+h$di(h$$xU);+h$di(h$$xV);+h$di(h$$xW);+h$di(h$$xX);+h$di(h$$xY);+h$di(h$$xZ);+h$di(h$$x0);+h$di(h$$x1);+h$di(h$$x2);+h$di(h$$x3);+h$di(h$$x4);+h$di(h$$x5);+var h$baseZCGHCziIOziExceptionziuntangle4 = h$d();+var h$baseZCGHCziIOziExceptionziuntangle3 = h$p(10);+var h$baseZCGHCziIOziExceptionziuntangle2 = h$d();+var h$baseZCGHCziIOziExceptionziuntangle1 = h$p(32);+var h$baseZCGHCziIOziExceptionzizdfShowIOExceptionzuzdcshowsPrec = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowIOExceptionzuzdcshow = h$d();+var h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec2 = h$d();+h$di(h$baseZCGHCziIOziExceptionzizdfShowIOException3);+var h$baseZCGHCziIOziExceptionzizdfShowIOException2 = h$p(41);+var h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec1 = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowIOException1 = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowIOExceptionzuzdcshowList = h$d();+h$di(h$baseZCGHCziIOziExceptionzizdfExceptionIOException3);+var h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdctypeRepzh = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdcfromException = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTMzuzdcshowsPrec = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTMzuzdcshow = h$d();+h$di(h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM3);+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM2 = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM1 = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTMzuzdcshowList = h$d();+h$di(h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuww5);+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdctypeRepzh = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdcfromException = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVarzuzdcshowsPrec = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVarzuzdcshow = h$d();+h$di(h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar3);+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar2 = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar1 = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVarzuzdcshowList = h$d();+h$di(h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuww5);+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdctypeRepzh = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdcfromException = h$d();+h$di(h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuww5);+var h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuzdctypeRepzh = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuzdsasyncExceptionFromException = h$d();+h$di(h$baseZCGHCziIOziExceptionzizdfShowArrayException2);+h$di(h$baseZCGHCziIOziExceptionzizdfExceptionArrayException3);+h$di(h$baseZCGHCziIOziExceptionzizdfExceptionArrayExceptionzuww4);+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVar2 = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVar1 = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTM2 = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTM1 = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionAsyncException2 = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionAsyncException1 = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionIOException2 = h$d();+var h$baseZCGHCziIOziExceptionzizdfExceptionIOException1 = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM = h$d();+var h$baseZCGHCziIOziExceptionzizdfShowIOException = h$d();+var h$baseZCGHCziIOziExceptionziBlockedIndefinitelyOnMVar = h$d();+var h$baseZCGHCziIOziExceptionziBlockedIndefinitelyOnSTM = h$d();+var h$baseZCGHCziIOziExceptionziIOError = h$d();+var h$baseZCGHCziIOziExceptionziInterrupted = h$d();+var h$baseZCGHCziIOziExceptionziResourceVanished = h$d();+var h$baseZCGHCziIOziExceptionziTimeExpired = h$d();+var h$baseZCGHCziIOziExceptionziUnsupportedOperation = h$d();+var h$baseZCGHCziIOziExceptionziHardwareFault = h$d();+var h$baseZCGHCziIOziExceptionziInappropriateType = h$d();+var h$baseZCGHCziIOziExceptionziInvalidArgument = h$d();+var h$baseZCGHCziIOziExceptionziOtherError = h$d();+var h$baseZCGHCziIOziExceptionziProtocolError = h$d();+var h$baseZCGHCziIOziExceptionziUnsatisfiedConstraints = h$d();+var h$baseZCGHCziIOziExceptionziUserError = h$d();+var h$baseZCGHCziIOziExceptionziPermissionDenied = h$d();+var h$baseZCGHCziIOziExceptionziIllegalOperation = h$d();+var h$baseZCGHCziIOziExceptionziResourceExhausted = h$d();+var h$baseZCGHCziIOziExceptionziResourceBusy = h$d();+var h$baseZCGHCziIOziExceptionziNoSuchThing = h$d();+var h$baseZCGHCziIOziExceptionziAlreadyExists = h$d();+var h$baseZCGHCziIOziExceptionziuntangle = h$d();+var h$baseZCGHCziIOziExceptionziioError = h$d();+var h$baseZCGHCziIOziExceptionziioException = h$d();+var h$baseZCGHCziIOziExceptionzizdfxExceptionIOException = h$d();+var h$baseZCGHCziIOziExceptionziuserError = h$d();+var h$baseZCGHCziIOziEncodingziUTF8ziutf6 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8ziutf4 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8ziutf3 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8ziutf1 = h$d();+h$di(h$baseZCGHCziIOziEncodingziUTF8zimkUTF5);+var h$baseZCGHCziIOziEncodingziUTF8zizdwa1 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8zimkUTF4 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8zimkUTF3 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8zimkUTF2 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8ziutf5 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8zizdwa = h$d();+var h$baseZCGHCziIOziEncodingziUTF8zimkUTF1 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8ziutf2 = h$d();+var h$baseZCGHCziIOziEncodingziUTF8ziutf8 = h$d();+var h$baseZCGHCziIOziEncodingziTypesziTextEncoding = h$d();+var h$baseZCGHCziIOziEncodingziTypesziBufferCodec = h$d();+var h$baseZCGHCziIOziEncodingziTypesziInvalidSequence = h$d();+var h$baseZCGHCziIOziEncodingziTypesziOutputUnderflow = h$d();+var h$baseZCGHCziIOziEncodingziTypesziInputUnderflow = h$d();+var h$baseZCGHCziIOziEncodingziTypesziclose = h$d();+h$di(h$$yy);+h$di(h$$yz);+var h$$yA = h$d();+var h$baseZCGHCziIOziEncodingziFailurezizdwa2 = h$d();+h$di(h$baseZCGHCziIOziEncodingziFailurezirecoverDecode4);+h$di(h$baseZCGHCziIOziEncodingziFailurezirecoverDecode3);+var h$baseZCGHCziIOziEncodingziFailurezirecoverDecode2 = h$d();+var h$baseZCGHCziIOziEncodingzigetLocaleEncoding2 = h$d();+var h$baseZCGHCziIOziEncodingzigetLocaleEncoding1 = h$d();+var h$baseZCGHCziIOziEncodingzigetForeignEncoding = h$d();+var h$baseZCGHCziIOziEncodingzigetLocaleEncoding = h$d();+var h$baseZCGHCziIOziDeviceziDZCIODevice = h$d();+var h$baseZCGHCziIOziDeviceziRelativeSeek = h$d();+var h$baseZCGHCziIOziDeviceziRawDevice = h$d();+var h$baseZCGHCziIOziDeviceziRegularFile = h$d();+var h$baseZCGHCziIOziDeviceziStream = h$d();+var h$baseZCGHCziIOziDeviceziDirectory = h$d();+var h$baseZCGHCziIOziDeviceziseek = h$d();+var h$baseZCGHCziIOziDeviceziisSeekable = h$d();+var h$baseZCGHCziIOziDeviceziisTerminal = h$d();+var h$baseZCGHCziIOziBufferedIOziDZCBufferedIO = h$d();+var h$baseZCGHCziIOziBufferedIOziflushWriteBuffer = h$d();+var h$baseZCGHCziIOziBufferedIOziemptyWriteBuffer = h$d();+var h$baseZCGHCziIOziBufferedIOzinewBuffer = h$d();+var h$baseZCGHCziIOziBufferziBuffer = h$d();+var h$baseZCGHCziIOziBufferzizdWBuffer = h$d();+var h$baseZCGHCziIOziBufferziWriteBuffer = h$d();+var h$baseZCGHCziIOziBufferziReadBuffer = h$d();+var h$$zd = h$d();+var h$$ze = h$d();+var h$baseZCGHCziIOzibracket1 = h$d();+var h$baseZCGHCziIOziunsafeDupablePerformIO = h$d();+var h$baseZCGHCziIOzifailIO = h$d();+h$di(h$$zh);+var h$baseZCGHCziForeignPtrzimallocForeignPtrBytes2 = h$d();+var h$baseZCGHCziForeignPtrziMallocPtr = h$d();+var h$baseZCGHCziForeignPtrzizdWMallocPtr = h$d();+var h$baseZCGHCziForeignPtrziPlainForeignPtr = h$d();+var h$baseZCGHCziForeignPtrzizdWPlainForeignPtr = h$d();+var h$baseZCGHCziForeignPtrziNoFinalizzers = h$d();+var h$baseZCGHCziForeignzizdwa1 = h$d();+var h$baseZCGHCziForeignzicharIsRepresentable3 = h$d();+var h$baseZCGHCziForeignzizdwa = h$d();+var h$$Bo = h$d();+var h$baseZCGHCziFloatzizdfRealFloatDouble3 = h$p((-1021));+var h$baseZCGHCziFloatzizdfRealFloatDouble2 = h$p(1024);+var h$baseZCGHCziFloatzizdfRealDouble1 = h$d();+var h$baseZCGHCziFloatzizdfFloatingDoublezuzdcpi = h$p(3.141592653589793);+var h$baseZCGHCziFloatzizdfFloatingDoublezuzdclogBase = h$d();+var h$baseZCGHCziFloatzizdfFloatingDoublezuzdcasinh = h$d();+var h$baseZCGHCziFloatzizdfFloatingDoublezuzdcatanh = h$d();+var h$baseZCGHCziFloatzizdfFloatingDoublezuzdcacosh = h$d();+var h$baseZCGHCziFloatzizdfNumDoublezuzdcabs = h$d();+var h$baseZCGHCziFloatzizdfNumDouble2 = h$p((-1.0));+var h$baseZCGHCziFloatzizdfNumDouble1 = h$p(1.0);+var h$baseZCGHCziFloatzizdfNumDoublezuzdcsignum = h$d();+var h$baseZCGHCziFloatzizdfNumDoublezuzdcfromInteger = h$d();+var h$baseZCGHCziFloatzizdfFractionalDoublezuzdcrecip = h$d();+var h$baseZCGHCziFloatzirationalToDouble5 = h$d();+var h$baseZCGHCziFloatzizdwzdsfromRatzqzq = h$d();+var h$baseZCGHCziFloatzirationalToDouble4 = h$p(0.0);+var h$baseZCGHCziFloatzirationalToDouble3 = h$d();+var h$baseZCGHCziFloatzirationalToDouble2 = h$d();+var h$baseZCGHCziFloatzirationalToDouble1 = h$d();+var h$baseZCGHCziFloatzizdfFractionalDoublezuzdcfromRational = h$d();+var h$baseZCGHCziFloatziDZCFloating = h$d();+var h$baseZCGHCziFloatzipowerDouble = h$d();+var h$baseZCGHCziFloatzitanhDouble = h$d();+var h$baseZCGHCziFloatzicoshDouble = h$d();+var h$baseZCGHCziFloatzisinhDouble = h$d();+var h$baseZCGHCziFloatziatanDouble = h$d();+var h$baseZCGHCziFloatziacosDouble = h$d();+var h$baseZCGHCziFloatziasinDouble = h$d();+var h$baseZCGHCziFloatzitanDouble = h$d();+var h$baseZCGHCziFloatzicosDouble = h$d();+var h$baseZCGHCziFloatzisinDouble = h$d();+var h$baseZCGHCziFloatzisqrtDouble = h$d();+var h$baseZCGHCziFloatzilogDouble = h$d();+var h$baseZCGHCziFloatziexpDouble = h$d();+var h$baseZCGHCziFloatzinegateDouble = h$d();+var h$baseZCGHCziFloatzidivideDouble = h$d();+var h$baseZCGHCziFloatzitimesDouble = h$d();+var h$baseZCGHCziFloatziminusDouble = h$d();+var h$baseZCGHCziFloatziplusDouble = h$d();+var h$baseZCGHCziFloatzizdfNumDouble = h$d();+var h$baseZCGHCziFloatzizdfFractionalDouble = h$d();+var h$baseZCGHCziFloatzizdfFloatingDouble = h$d();+var h$baseZCGHCziFloatzipi = h$d();+var h$baseZCGHCziFloatzirationalToDouble = h$d();+var h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdctoException = h$d();+var h$baseZCGHCziExceptionzizdfExceptionErrorCall = h$d();+var h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctoException = h$d();+var h$baseZCGHCziExceptionzizdfExceptionArithException = h$d();+var h$baseZCGHCziExceptionzithrow2 = h$d();+var h$baseZCGHCziExceptionzizdfShowErrorCallzuzdcshowsPrec = h$d();+var h$baseZCGHCziExceptionzizdfShowErrorCall1 = h$d();+var h$baseZCGHCziExceptionzizdfShowErrorCallzuzdcshowList = h$d();+h$di(h$baseZCGHCziExceptionzizdfExceptionErrorCall3);+var h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdctypeRepzh = h$d();+var h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdcfromException = h$d();+var h$baseZCGHCziExceptionzizdfShowArithExceptionzuzdcshowsPrec = h$d();+var h$baseZCGHCziExceptionzizdfShowArithExceptionzuzdcshow = h$d();+h$di(h$baseZCGHCziExceptionzizdfShowArithException13);+var h$baseZCGHCziExceptionzizdfShowArithException12 = h$d();+h$di(h$baseZCGHCziExceptionzizdfShowArithException11);+var h$baseZCGHCziExceptionzizdfShowArithException10 = h$d();+h$di(h$baseZCGHCziExceptionzizdfShowArithException9);+var h$baseZCGHCziExceptionzizdfShowArithException8 = h$d();+h$di(h$baseZCGHCziExceptionzizdfShowArithException7);+var h$baseZCGHCziExceptionzizdfShowArithException6 = h$d();+h$di(h$baseZCGHCziExceptionzizdfShowArithException5);+var h$baseZCGHCziExceptionzizdfShowArithException4 = h$d();+h$di(h$baseZCGHCziExceptionzizdfShowArithException3);+var h$baseZCGHCziExceptionzizdfShowArithException2 = h$d();+var h$baseZCGHCziExceptionzizdfShowArithException1 = h$d();+var h$baseZCGHCziExceptionzizdfShowArithExceptionzuzdcshowList = h$d();+h$di(h$baseZCGHCziExceptionzizdfExceptionArithException3);+h$di(h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuww4);+var h$baseZCGHCziExceptionzizdfExceptionErrorCall2 = h$d();+var h$baseZCGHCziExceptionzizdfExceptionErrorCall1 = h$d();+h$di(h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuww5);+var h$baseZCGHCziExceptionzizdfExceptionArithException2 = h$d();+var h$baseZCGHCziExceptionzizdfExceptionArithException1 = h$d();+var h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctypeRepzh = h$d();+var h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdcfromException = h$d();+var h$baseZCGHCziExceptionzizdfShowErrorCall = h$d();+var h$baseZCGHCziExceptionzizdfShowArithException = h$d();+var h$baseZCGHCziExceptionziRatioZZeroDenominator = h$d();+var h$baseZCGHCziExceptionziDivideByZZero = h$d();+var h$baseZCGHCziExceptionziOverflow = h$d();+var h$baseZCGHCziExceptionziDZCException = h$d();+var h$baseZCGHCziExceptionzizdp2Exception = h$d();+var h$baseZCGHCziExceptionzizdp1Exception = h$d();+var h$baseZCGHCziExceptionziSomeException = h$d();+var h$baseZCGHCziExceptionzitoException = h$d();+var h$baseZCGHCziExceptionzioverflowException = h$d();+var h$baseZCGHCziExceptionziratioZZeroDenomException = h$d();+var h$baseZCGHCziExceptionzidivZZeroException = h$d();+var h$baseZCGHCziExceptionzierrorCallException = h$d();+var h$baseZCGHCziErrzierror = h$d();+var h$baseZCGHCziEnumziefdtInt = h$d();+var h$baseZCGHCziEnumziefdtIntFB = h$d();+var h$baseZCGHCziEnumzieftInt = h$d();+var h$baseZCGHCziEnumzieftIntFB = h$d();+h$di(h$$B1);+h$di(h$$B2);+h$di(h$$B3);+var h$baseZCGHCziEnumzizdfEnumInt2 = h$d();+var h$baseZCGHCziEnumzizdfEnumIntzuzdcsucc = h$d();+var h$baseZCGHCziEnumzizdfEnumInt1 = h$d();+var h$baseZCGHCziEnumzizdfEnumIntzuzdcpred = h$d();+var h$baseZCGHCziEnumzizdfEnumIntzuzdcfromEnum = h$d();+var h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFrom = h$d();+var h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFromThen = h$d();+var h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFromTo = h$d();+var h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFromThenTo = h$d();+var h$baseZCGHCziEnumzizdfEnumBool1 = h$d();+var h$baseZCGHCziEnumzizdfEnumInt = h$d();+var h$baseZCGHCziEnumziDZCEnum = h$d();+var h$baseZCGHCziEnumziefdtIntDnFB = h$d();+var h$baseZCGHCziEnumziefdtIntDn = h$d();+var h$baseZCGHCziEnumziefdtIntUpFB = h$d();+var h$baseZCGHCziEnumziefdtIntUp = h$d();+var h$baseZCGHCziEnumziefdInt = h$d();+var h$$Co = h$d();+var h$$Cp = h$d();+var h$$Cq = h$d();+h$di(h$$Cr);+h$di(h$$Cs);+var h$$Ct = h$d();+var h$baseZCGHCziConcziSynczireportError1 = h$d();+var h$baseZCGHCziConcziSynczizdfShowThreadStatus2 = h$p(0);+var h$baseZCGHCziConcziSyncziThreadId = h$d();+var h$baseZCGHCziConcziSyncziuncaughtExceptionHandler = h$d();+var h$baseZCGHCziConcziSynczireportError = h$d();+var h$baseZCGHCziCharzichr2 = h$d();+var h$baseZCGHCziBasezieqString = h$d();+var h$baseZCGHCziBasezizpzp = h$d();+var h$baseZCGHCziBasezifoldr = h$d();+var h$baseZCGHCziBasezimap = h$d();+var h$baseZCGHCziBasezibindIO1 = h$d();+var h$baseZCGHCziBasezithenIO1 = h$d();+var h$baseZCGHCziBasezireturnIO1 = h$d();+var h$baseZCGHCziBasezizdfMonadIOzuzdcfail = h$d();+var h$baseZCGHCziBasezizdfFunctorIO2 = h$d();+var h$baseZCGHCziBasezizdfFunctorIO1 = h$d();+var h$baseZCGHCziBasezizdfFunctorIO = h$d();+var h$baseZCGHCziBasezizdfMonadIO = h$d();+var h$baseZCGHCziBaseziDZCMonad = h$d();+var h$baseZCGHCziBaseziDZCFunctor = h$d();+var h$baseZCGHCziBasezizi = h$d();+var h$baseZCGHCziBaseziid = h$d();+var h$baseZCGHCziBasezireturn = h$d();+var h$baseZCGHCziBasezifmap = h$d();+var h$baseZCGHCziBasezizgzg = h$d();+var h$baseZCGHCziBasezizgzgze = h$d();+var h$baseZCGHCziBasezifail = h$d();+var h$baseZCForeignziStorablezizdfStorableCharzuzdcalignment = h$d();+var h$baseZCForeignziStorablezizdfStorableChar4 = h$d();+var h$baseZCForeignziStorablezizdfStorableChar3 = h$d();+var h$baseZCForeignziStorablezizdfStorableChar2 = h$d();+var h$baseZCForeignziStorablezizdfStorableChar1 = h$d();+var h$baseZCForeignziStorablezizdfStorableBool7 = h$p(4);+var h$baseZCForeignziStorablezizdfStorableChar = h$d();+var h$baseZCForeignziStorableziDZCStorable = h$d();+var h$baseZCForeignziStorablezipokeElemOff = h$d();+var h$baseZCForeignziStorablezipeekElemOff = h$d();+var h$baseZCForeignziMarshalziArrayzizdwa8 = h$d();+var h$baseZCForeignziMarshalziArrayzinewArray8 = h$d();+var h$baseZCForeignziMarshalziArrayzilengthArray2 = h$p(0);+h$di(h$baseZCForeignziMarshalziAlloczimallocBytes4);+h$di(h$baseZCForeignziMarshalziAlloczimallocBytes3);+var h$baseZCForeignziMarshalziAlloczimallocBytes2 = h$d();+var h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2 = h$d();+var h$baseZCForeignziCziErrorzithrowErrno1 = h$d();+var h$baseZCForeignziCziErrorzierrnoToIOError = h$d();+var h$baseZCDataziTypeableziInternalziTypeRep = h$d();+var h$baseZCDataziTypeableziInternalzizdWTypeRep = h$d();+var h$baseZCDataziTypeableziInternalziTyCon = h$d();+var h$baseZCDataziTypeableziInternalzizdWTyCon = h$d();+var h$baseZCDataziTypeablezicast = h$d();+var h$baseZCDataziTuplezisnd = h$d();+var h$baseZCDataziTuplezifst = h$d();+var h$baseZCDataziMaybeziJust = h$d();+var h$baseZCDataziMaybeziNothing = h$d();+var h$baseZCDataziListziwords = h$d();+var h$$D8 = h$d();+var h$baseZCDataziListzisortBy = h$d();+var h$baseZCDataziFunctorzizlzdzg = h$d();+var h$baseZCControlziMonadziforMzu = h$d();+var h$baseZCControlziMonadzimapMzu = h$d();+var h$baseZCControlziMonadzizezlzl = h$d();+var h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdctoException = h$d();+var h$baseZCControlziExceptionziBasezizdfExceptionNonTermination = h$d();+var h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdctoException = h$d();+var h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFail = h$d();+h$di(h$$Eq);+var h$baseZCControlziExceptionziBasezizdfShowPatternMatchFailzuzdcshowsPrec = h$d();+var h$baseZCControlziExceptionziBasezizdfShowPatternMatchFailzuzdcshow = h$d();+var h$baseZCControlziExceptionziBasezizdfShowPatternMatchFail1 = h$d();+var h$baseZCControlziExceptionziBasezizdfShowPatternMatchFailzuzdcshowList = h$d();+h$di(h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuww5);+var h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdctypeRepzh = h$d();+var h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdcfromException = h$d();+var h$baseZCControlziExceptionziBasezizdfShowNonTerminationzuzdcshowsPrec = h$d();+var h$baseZCControlziExceptionziBasezizdfShowNonTerminationzuzdcshow = h$d();+h$di(h$baseZCControlziExceptionziBasezizdfShowNonTermination3);+var h$baseZCControlziExceptionziBasezizdfShowNonTermination2 = h$d();+var h$baseZCControlziExceptionziBasezizdfShowNonTermination1 = h$d();+var h$baseZCControlziExceptionziBasezizdfShowNonTerminationzuzdcshowList = h$d();+h$di(h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuww5);+var h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdctypeRepzh = h$d();+var h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdcfromException = h$d();+h$di(h$baseZCControlziExceptionziBasezizdfExceptionNestedAtomically3);+h$di(h$baseZCControlziExceptionziBasezizdfExceptionNestedAtomicallyzuww4);+var h$baseZCControlziExceptionziBasezizdfExceptionNonTermination2 = h$d();+var h$baseZCControlziExceptionziBasezizdfExceptionNonTermination1 = h$d();+var h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFail2 = h$d();+var h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFail1 = h$d();+var h$baseZCControlziExceptionziBasezizdfShowPatternMatchFail = h$d();+var h$baseZCControlziExceptionziBasezizdfShowNonTermination = h$d();+var h$baseZCControlziExceptionziBaseziNonTermination = h$d();+var h$baseZCControlziExceptionziBaseziPatternMatchFail = h$d();+var h$baseZCControlziExceptionziBasezinonTermination = h$d();+var h$baseZCControlziExceptionziBasezipatError = h$d();+var h$$Fs = h$d();+var h$$Ft = h$d();+h$di(h$$Fu);+var h$$Fv = h$d();+h$di(h$$Fw);+var h$$Fx = h$d();+h$di(h$$Fy);+var h$$Fz = h$d();+h$di(h$$FA);+var h$$FB = h$d();+h$di(h$$FC);+var h$$FD = h$d();+h$di(h$$FE);+var h$$FF = h$d();+h$di(h$$FG);+var h$$FH = h$d();+h$di(h$$FI);+var h$$FJ = h$d();+h$di(h$$FK);+var h$$FL = h$d();+h$di(h$$FM);+var h$$FN = h$d();+h$di(h$$FO);+var h$$FP = h$d();+h$di(h$$FQ);+var h$$FR = h$d();+h$di(h$$FS);+var h$$FT = h$d();+h$di(h$$FU);+var h$$FV = h$d();+var h$$FW = h$d();+var h$mainZCMainzimain = h$d();+var h$mainZCZCMainzimain = h$d();+var h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1 = h$d();+var h$$IT = h$d();+var h$$IU = h$d();+var h$$IV = h$d();+var h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwgo = h$d();+var h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles3 = h$d();+var h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles1 = h$d();+var h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles2 = h$d();+var h$$IW = h$d();+h$di(h$$IX);+var h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles4 = h$d();+var h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdssum1 = h$p(0.0);+var h$$IY = h$d();+var h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles = h$d();+var h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziTypeszicastRef = h$d();+var h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCFromJSRef = h$d();+var h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCToJSRef = h$d();+var h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalzitoJSRef = h$d();+var h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfToJSStringZMZN = h$d();+var h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfFromJSStringZMZN = h$d();+var h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzijsFalse = h$d();+var h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzijsTrue = h$d();+var h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzitoJSString = h$d();+var h$$Jq = h$d();+var h$$Jr = h$d();+var h$$Js = h$d();+var h$$Jt = h$d();+var h$$Ju = h$d();+var h$$Jv = h$d();+var h$$Jw = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziclearRect = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziarc = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziclosePath = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszibeginPath = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszifill = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszigetContext = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszufill = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszubeginPath = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszuclosePath = h$d();+var h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszuclearRect = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEvent2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEventzugo = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEvent2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElement2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElementzugo = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElement2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElement2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElementzugo = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElement2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElementzugo = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElement2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocument2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocumentzugo = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocument2 = h$d();+var h$$LF = h$d();+var h$$LG = h$d();+var h$$LH = h$d();+var h$$LI = h$d();+var h$$LJ = h$d();+var h$$LK = h$d();+var h$$LL = h$d();+var h$$LM = h$d();+var h$$LN = h$d();+var h$$LO = h$d();+var h$$LP = h$d();+var h$$LQ = h$d();+var h$$LR = h$d();+var h$$LS = h$d();+var h$$LT = h$d();+h$di(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLInputElement1);+h$di(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLCanvasElement1);+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToBarProp2 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwcastTo = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEventzuzdctoJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEvent1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassUIEventzuzdcunsafeCastGObject = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElementzuzdctoJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElement1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLInputElementzuzdcunsafeCastGObject = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElementzuzdctoJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLCanvasElementzuzdcunsafeCastGObject = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElementzuzdctoJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElement1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassElementzuzdcunsafeCastGObject = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocumentzuzdctoJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocument1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassDocumentzuzdcunsafeCastGObject = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEventzuzdcfromJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa124 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEvent1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElementzuzdcfromJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa67 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElement1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElementzuzdcfromJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa47 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElement1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElementzuzdcfromJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa30 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElement1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocumentzuzdcfromJSRef = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa27 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocument1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocument = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocument = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsDocumentDocument = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsElementElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsHTMLCanvasElementHTMLCanvasElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsHTMLInputElementHTMLInputElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEvent = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEvent = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziDZCGObjectClass = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziGObject = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassUIEvent = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLInputElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLCanvasElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassDocument = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLInputElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLCanvasElement = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziunsafeCastGObject = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLInputElementzihtmlInputElementGetValue1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLInputElementzihtmlInputElementGetValue = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetWidth1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetHeight1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetHeight = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetWidth = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziEventTargetClosureszieventTargetAddEventListener1 = h$d();+h$di(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup2);+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup1 = h$d();+h$di(h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange2);+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzizdwa30 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMzicurrentDocument1 = h$d();+var h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMzicurrentDocument = h$d();+var h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziReaderzizdfMonadTransReaderT1 = h$d();+var h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziReaderzizdfMonadTransReaderT = h$d();+var h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziClasszilift = h$d();+h$scheduleInit([h$ghczmprimZCGHCziTypesziGT_con_e, h$ghczmprimZCGHCziTypesziEQ_con_e, h$ghczmprimZCGHCziTypesziLT_con_e,+h$ghczmprimZCGHCziTypesziTrue_con_e, h$ghczmprimZCGHCziTypesziZMZN_con_e, h$ghczmprimZCGHCziTypesziIzh_e,+h$ghczmprimZCGHCziTypesziIzh_con_e, h$ghczmprimZCGHCziTypesziFalse_con_e, h$ghczmprimZCGHCziTypesziDzh_e,+h$ghczmprimZCGHCziTypesziDzh_con_e, h$ghczmprimZCGHCziTypesziZC_e, h$ghczmprimZCGHCziTypesziZC_con_e,+h$ghczmprimZCGHCziTypesziCzh_e, h$ghczmprimZCGHCziTypesziCzh_con_e, h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_e,+h$ghczmprimZCGHCziTupleziZLz2cUz2cUZR_con_e, h$ghczmprimZCGHCziTupleziZLz2cUZR_e,+h$ghczmprimZCGHCziTupleziZLz2cUZR_con_e, h$ghczmprimZCGHCziTupleziZLZR_con_e,+h$ghczmprimZCGHCziIntWord64ziintToInt64zh_e, h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdczeze_e, h$$a, h$$b, h$$c, h$$d,+h$$e, h$ghczmprimZCGHCziClasseszizdfOrdIntzuzdcmax_e, h$$f, h$$g, h$ghczmprimZCGHCziClasseszizdfOrdIntzuzdcmin_e, h$$h,+h$$i, h$ghczmprimZCGHCziClasseszizdfEqZMZNzuzdszdczsze_e, h$$j, h$ghczmprimZCGHCziClasseszizdfEqCharzuzdczeze_e, h$$k,+h$$l, h$ghczmprimZCGHCziClasseszizdfEqCharzuzdczsze_e, h$$m, h$$n, h$ghczmprimZCGHCziClassesziDZCOrd_e,+h$ghczmprimZCGHCziClassesziDZCOrd_con_e, h$ghczmprimZCGHCziClassesziDZCEq_e, h$ghczmprimZCGHCziClassesziDZCEq_con_e,+h$ghczmprimZCGHCziClasseszimodIntzh_e, h$ghczmprimZCGHCziClasseszidivIntzh_e, h$ghczmprimZCGHCziClasseszicompareIntzh_e,+h$ghczmprimZCGHCziClasseszicompareInt_e, h$$o, h$$p, h$ghczmprimZCGHCziClasseszileInt_e, h$$q, h$$r,+h$ghczmprimZCGHCziClassesziltInt_e, h$$s, h$$t, h$ghczmprimZCGHCziClasseszigeInt_e, h$$u, h$$v,+h$ghczmprimZCGHCziClasseszigtInt_e, h$$w, h$$x, h$ghczmprimZCGHCziClasseszineInt_e, h$$y, h$$z,+h$ghczmprimZCGHCziClasseszieqInt_e, h$$A, h$$B, h$ghczmprimZCGHCziClasseszizeze_e, h$$C,+h$ghczmprimZCGHCziCStringziunpackAppendCStringzh_e, h$$D, h$$E, h$ghczmprimZCGHCziCStringziunpackCStringzh_e, h$$F,+h$$G, h$ghczmprimZCGHCziCStringziunpackFoldrCStringzh_e, h$$H, h$$I, h$ghczmprimZCGHCziCStringziunpackCStringUtf8zh_e,+h$$J, h$$K, h$$L, h$$M, h$$N, h$ghcjszmprimZCGHCJSziPrimziInternalziblockedIndefinitelyOnSTM_e,+h$ghcjszmprimZCGHCJSziPrimziInternalziblockedIndefinitelyOnMVar_e, h$ghcjszmprimZCGHCJSziPrimziInternalziwouldBlock_e,+h$ghcjszmprimZCGHCJSziPrimzigetProp1_e, h$$O, h$$P,+h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdctoException_e,+h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdctoException_e,+h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockExceptionzuzdcshowsPrec_e, h$$Q, h$$R,+h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockExceptionzuzdcshow_e, h$$S, h$ghcjszmprimZCGHCJSziPrimzizdwzdcshowsPrec_e,+h$$T, h$$U, h$$V, h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockException1_e, h$$W,+h$ghcjszmprimZCGHCJSziPrimzizdfShowWouldBlockExceptionzuzdcshowList_e,+h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdctypeRepzh_e,+h$ghcjszmprimZCGHCJSziPrimzizdfExceptionWouldBlockExceptionzuzdcfromException_e, h$$X, h$$Y,+h$ghcjszmprimZCGHCJSziPrimzizdfShowJSExceptionzuzdcshowsPrec_e, h$$Z, h$$aa,+h$ghcjszmprimZCGHCJSziPrimzizdfShowJSExceptionzuzdcshow_e, h$$ab, h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException2_e,+h$ghcjszmprimZCGHCJSziPrimzizdfShowJSException1_e, h$$ac, h$$ad,+h$ghcjszmprimZCGHCJSziPrimzizdfShowJSExceptionzuzdcshowList_e,+h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdctypeRepzh_e,+h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSExceptionzuzdcfromException_e, h$$ae, h$$af,+h$ghcjszmprimZCGHCJSziPrimziWouldBlockException_e, h$ghcjszmprimZCGHCJSziPrimziWouldBlockException_con_e,+h$ghcjszmprimZCGHCJSziPrimziJSException_e, h$ghcjszmprimZCGHCJSziPrimziJSException_con_e,+h$ghcjszmprimZCGHCJSziPrimziJSRef_e, h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, h$ghcjszmprimZCGHCJSziPrimzitoJSString_e,+h$$ag, h$$ah, h$ghcjszmprimZCGHCJSziPrimzifromJSString_e, h$ghcjszmprimZCGHCJSziPrimzijszufromJSString_e, h$$ai,+h$integerzmgmpZCGHCziIntegerziTypezishiftRInteger_e, h$$aj, h$integerzmgmpZCGHCziIntegerziTypezishiftLInteger_e, h$$ak,+h$integerzmgmpZCGHCziIntegerziTypeziandInteger_e, h$$al, h$$am, h$$an,+h$integerzmgmpZCGHCziIntegerziTypeziquotRemInteger_e, h$$ao, h$$ap, h$$aq,+h$integerzmgmpZCGHCziIntegerziTypeziremInteger_e, h$$ar, h$$as, h$$at,+h$integerzmgmpZCGHCziIntegerziTypeziquotInteger_e, h$$au, h$$av, h$$aw,+h$integerzmgmpZCGHCziIntegerziTypeziminusInteger_e, h$$ax, h$$ay, h$$az,+h$integerzmgmpZCGHCziIntegerziTypeziplusInteger_e, h$$aA, h$$aB, h$$aC,+h$integerzmgmpZCGHCziIntegerziTypezitimesInteger_e, h$$aD, h$$aE, h$$aF,+h$integerzmgmpZCGHCziIntegerziTypezigcdInteger_e, h$$aG, h$$aH, h$$aI, h$$aJ, h$$aK, h$$aL, h$$aM, h$$aN, h$$aO, h$$aP,+h$integerzmgmpZCGHCziIntegerziTypeziabsInt_e, h$integerzmgmpZCGHCziIntegerziTypezigcdInt_e,+h$integerzmgmpZCGHCziIntegerziTypeziminIntAsBig_e, h$integerzmgmpZCGHCziIntegerziTypeziencodeDoublezh_e,+h$integerzmgmpZCGHCziIntegerziTypeziintzuencodeDoublezh_e, h$integerzmgmpZCGHCziIntegerziTypeziJzh_e,+h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, h$integerzmgmpZCGHCziIntegerziTypeziSzh_e,+h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, h$integerzmgmpZCGHCziIntegerziTypeziint64ToInteger_e,+h$integerzmgmpZCGHCziIntegerziTypeziencodeDoubleInteger_e, h$$aQ,+h$integerzmgmpZCGHCziIntegerziTypezidoubleFromInteger_e, h$$aR, h$integerzmgmpZCGHCziIntegerziTypezicompareInteger_e,+h$$aS, h$$aT, h$$aU, h$integerzmgmpZCGHCziIntegerziTypezigeIntegerzh_e, h$$aV, h$$aW, h$$aX,+h$integerzmgmpZCGHCziIntegerziTypeziltIntegerzh_e, h$$aY, h$$aZ, h$$a0,+h$integerzmgmpZCGHCziIntegerziTypezigtIntegerzh_e, h$$a1, h$$a2, h$$a3,+h$integerzmgmpZCGHCziIntegerziTypezileIntegerzh_e, h$$a4, h$$a5, h$$a6,+h$integerzmgmpZCGHCziIntegerziTypezisignumInteger_e, h$$a7, h$integerzmgmpZCGHCziIntegerziTypeziabsInteger_e, h$$a8,+h$integerzmgmpZCGHCziIntegerziTypezieqIntegerzh_e, h$$a9, h$$ba, h$$bb,+h$integerzmgmpZCGHCziIntegerziTypezinegateInteger_e, h$$bc, h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt64_e, h$$bd,+h$integerzmgmpZCGHCziIntegerziTypeziintegerToInt_e, h$$be, h$integerzmgmpZCGHCziIntegerziTypezismallInteger_e,+h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzugo_e, h$$bk,+h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zhzustep_e, h$$bl, h$$bm, h$$bn, h$$bo, h$$bp,+h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziBA_e,+h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziBA_con_e, h$$bq, h$$br, h$$bs,+h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziroundingModezh_e, h$$bt, h$$bu, h$$bv, h$$bw, h$$bx, h$$by,+h$integerzmgmpZCGHCziIntegerziLogarithmsziInternalsziintegerLog2zh_e, h$$bz, h$$bA,+h$integerzmgmpZCGHCziIntegerziGMPziPrimziintegerToInt64zh_e, h$baseZCUnsafeziCoerceziunsafeCoerce1_e,+h$baseZCTextziReadziLexzinumberToFixedzuzdsval_e, h$$bC, h$$bD, h$$bE, h$$bF, h$$bG, h$$bH, h$$bI, h$$bJ, h$$bK, h$$bL,+h$$bM, h$$bN, h$$bO, h$$bP, h$$bQ, h$$bR, h$$bS, h$$bT, h$$bU, h$$bV, h$$bW, h$$bX, h$$bY, h$$bZ, h$$b0, h$$b1, h$$b2,+h$$b3, h$$b4, h$$b5, h$$b6, h$$b7, h$$b8, h$$b9, h$$ca, h$$cb, h$$cc, h$$cd, h$$ce, h$$cf, h$$cg, h$$ch, h$$ci, h$$cj,+h$$ck, h$$cl, h$$cm, h$$cn, h$$co, h$$cp, h$$cq, h$$cr, h$$cs, h$$ct, h$$cu, h$$cv, h$$cw, h$$cx, h$$cy, h$$cz, h$$cA,+h$$cB, h$$cC, h$$cD, h$$cE, h$$cF, h$$cG, h$$cH, h$$cI, h$$cJ, h$$cK, h$$cL, h$$cM, h$$cN, h$$cO, h$$cP, h$$cQ, h$$cR,+h$$cS, h$$cT, h$$cU, h$$cV, h$$cW, h$$cX, h$$cY, h$$cZ, h$$c0, h$$c1, h$$c2, h$$c3, h$$c4, h$$c5, h$$c6, h$$c7, h$$c8,+h$$c9, h$$da, h$$db, h$$dc, h$$dd, h$$de, h$$df, h$$dg, h$$dh, h$$di, h$$dj, h$$dk, h$$dl, h$$dm, h$$dn, h$$dp, h$$dq,+h$$dr, h$$ds, h$$dt, h$$du, h$$dv, h$$dw, h$$dx, h$$dy, h$$dz, h$$dA, h$$dB, h$$dC, h$$dD, h$$dE, h$$dF, h$$dG, h$$dH,+h$$dI, h$$dJ, h$$dK, h$$dL, h$$dM, h$$dN, h$$dO, h$$dP, h$$dQ, h$$dR, h$$dS, h$$dT, h$$dU, h$$dV, h$$dW, h$$dX, h$$dY,+h$$dZ, h$$d0, h$$d1, h$$d2, h$$d3, h$$d4, h$$d5, h$$d6, h$$d7, h$$d8, h$$d9, h$$ea, h$$eb, h$$ec, h$$ed, h$$ee, h$$ef,+h$$eg, h$$eh, h$$ei, h$$ej, h$$ek, h$$el, h$$em, h$$en, h$$eo, h$$ep, h$$eq, h$$er, h$$es, h$$et, h$$eu, h$$ev, h$$ew,+h$$ex, h$$ey, h$$ez, h$$eA, h$$eB, h$$eC, h$$eD, h$$eE, h$$eF, h$$eG, h$$eH, h$$eI, h$$eJ, h$$eK, h$$eL, h$$eM, h$$eN,+h$$eO, h$$eP, h$$eQ, h$$eR, h$$eS, h$$eT, h$$eU, h$$eV, h$$eW, h$$eX, h$$eY, h$$eZ, h$$e0, h$$e1, h$$e2, h$$e3, h$$e4,+h$$e5, h$$e6, h$$e7, h$$e8, h$$e9, h$$fa, h$$fb, h$$fc, h$$fd, h$$fe, h$$ff, h$$fg, h$$fh, h$$fi, h$$fj, h$$fk, h$$fl,+h$$fm, h$$fn, h$$fo, h$$fp, h$$fq, h$$fr, h$$fs, h$$ft, h$$fu, h$$fv, h$$fw, h$$fx, h$$fy, h$$fz, h$$fA, h$$fB, h$$fC,+h$$fD, h$$fE, h$$fF, h$$fG, h$$fH, h$$fI, h$$fJ, h$$fK, h$$fL, h$$fM, h$$fN, h$$fO, h$$fP, h$$fQ, h$$fR, h$$fS, h$$fT,+h$$fU, h$$fV, h$$fW, h$$fX, h$$fY, h$$fZ, h$$f0, h$$f1, h$$f2, h$$f3, h$$f4, h$$f5, h$$f6, h$$f7, h$$f8, h$$f9, h$$ga,+h$$gb, h$$gc, h$$gd, h$$ge, h$baseZCTextziReadziLexzireadDecP2_e, h$baseZCTextziReadziLexzizdwnumberToRational_e, h$$gf,+h$$gg, h$$gh, h$$gi, h$$gj, h$$gk, h$$gl, h$$gm, h$$gn, h$$go, h$$gp, h$$gq, h$$gr, h$$gs, h$$gt, h$$gu, h$$gv, h$$gw,+h$$gx, h$$gy, h$$gz, h$$gA, h$$gB, h$baseZCTextziReadziLexzinumberToRangedRational1_e,+h$baseZCTextziReadziLexzizdwnumberToRangedRational_e, h$$gC, h$$gD, h$$gE, h$$gF, h$$gG, h$$gH, h$$gI, h$$gJ, h$$gK,+h$$gL, h$$gM, h$$gN, h$$gO, h$$gP, h$$gQ, h$$gR, h$$gS, h$$gT, h$$gU, h$$gV, h$baseZCTextziReadziLexzilexChar2_e, h$$gW,+h$$gX, h$$gY, h$$gZ, h$$g0, h$$g1, h$$g2, h$$g3, h$$g4, h$$g5, h$$g6, h$$g7, h$$g8, h$$g9, h$$ha, h$$hb, h$$hc, h$$hd,+h$$he, h$$hf, h$$hg, h$$hh, h$$hi, h$$hj, h$$hk, h$$hl, h$$hm, h$$hn, h$$ho, h$$hp, h$$hq, h$$hr, h$$hs, h$$ht, h$$hu,+h$$hv, h$$hw, h$$hx, h$$hy, h$$hz, h$$hA, h$$hB, h$$hC, h$$hD, h$$hE, h$$hF, h$$hG, h$$hH, h$$hI, h$$hJ, h$$hK, h$$hL,+h$$hM, h$$hN, h$baseZCTextziReadziLexziexpect2_e, h$$hO, h$$hP, h$$hQ, h$$hR, h$$hS, h$$hT, h$$hU, h$$hV, h$$hW, h$$hX,+h$$hY, h$$hZ, h$$h0, h$$h1, h$$h2, h$$h3, h$$h4, h$$h5, h$$h6, h$$h7, h$$h8, h$$h9, h$$ia, h$$ib, h$$ic, h$$id, h$$ie,+h$$ig, h$$ih, h$$ii, h$$ij, h$$ik, h$$il, h$$im, h$$io, h$$ip, h$$iq, h$$ir, h$$is, h$baseZCTextziReadziLexziEOF_con_e,+h$baseZCTextziReadziLexziNumber_e, h$baseZCTextziReadziLexziNumber_con_e, h$baseZCTextziReadziLexziSymbol_e,+h$baseZCTextziReadziLexziSymbol_con_e, h$baseZCTextziReadziLexziIdent_e, h$baseZCTextziReadziLexziIdent_con_e,+h$baseZCTextziReadziLexziPunc_e, h$baseZCTextziReadziLexziPunc_con_e, h$baseZCTextziReadziLexziString_e,+h$baseZCTextziReadziLexziString_con_e, h$baseZCTextziReadziLexziChar_e, h$baseZCTextziReadziLexziChar_con_e,+h$baseZCTextziReadziLexziMkDecimal_e, h$baseZCTextziReadziLexziMkDecimal_con_e, h$baseZCTextziReadziLexziMkNumber_e,+h$baseZCTextziReadziLexziMkNumber_con_e, h$baseZCTextziReadzireadEither6_e, h$$ly, h$$lz, h$$lA, h$$lB,+h$baseZCTextziReadzireadEither5_e, h$$lC, h$$lD, h$baseZCTextziReadziread_e, h$$lE, h$$lF, h$$lG, h$$lH, h$$lI,+h$baseZCTextziParserCombinatorsziReadPzirun_e, h$$lJ, h$$lK, h$$lL, h$$lM, h$$lN,+h$baseZCTextziParserCombinatorsziReadPzizdfMonadPlusPzuzdcmplus_e, h$$lO, h$$lP, h$$lQ, h$$lR, h$$lS, h$$lT, h$$lU,+h$$lV, h$$lW, h$$lX, h$$lY, h$$lZ, h$$l0, h$$l1, h$$l2, h$$l3, h$$l4, h$$l5, h$$l6, h$$l7, h$$l8, h$$l9, h$$ma, h$$mb,+h$$mc, h$$md, h$$me, h$$mf, h$$mg, h$$mh, h$$mi, h$$mj, h$$mk,+h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdczgzgze_e, h$$ml, h$$mm, h$$mn, h$$mo, h$$mp, h$$mq, h$$mr, h$$ms,+h$$mt, h$$mu, h$$mv, h$$mw, h$$mx, h$$my, h$baseZCTextziParserCombinatorsziReadPzichoice_e, h$$mz, h$$mA, h$$mB, h$$mC,+h$$mD, h$$mE, h$baseZCTextziParserCombinatorsziReadPziskipSpaceszuskip_e, h$$mF, h$$mG, h$$mH, h$$mI, h$$mJ, h$$mK,+h$baseZCTextziParserCombinatorsziReadPzizlzpzp2_e, h$$mL, h$$mM, h$$mN, h$$mO,+h$baseZCTextziParserCombinatorsziReadPzistring2_e, h$baseZCTextziParserCombinatorsziReadPzizdwa6_e, h$$mP, h$$mQ, h$$mR,+h$$mS, h$$mT, h$$mU, h$$mV, h$$mW, h$$mX, h$$mY, h$$mZ, h$baseZCTextziParserCombinatorsziReadPzimunch3_e,+h$baseZCTextziParserCombinatorsziReadPzizdwa3_e, h$$m0, h$$m1, h$$m2, h$$m3, h$$m4, h$$m5, h$$m6, h$$m7, h$$m8,+h$baseZCTextziParserCombinatorsziReadPzizdwa_e, h$$m9, h$$na, h$$nb, h$$nc, h$$nd, h$$ne, h$$nf, h$$ng, h$$nh, h$$ni,+h$baseZCTextziParserCombinatorsziReadPzipfail1_e, h$baseZCTextziParserCombinatorsziReadPzizdfMonadPzuzdcreturn_e,+h$baseZCTextziParserCombinatorsziReadPziFinal_e, h$baseZCTextziParserCombinatorsziReadPziFinal_con_e,+h$baseZCTextziParserCombinatorsziReadPziResult_e, h$baseZCTextziParserCombinatorsziReadPziResult_con_e,+h$baseZCTextziParserCombinatorsziReadPziFail_con_e, h$baseZCTextziParserCombinatorsziReadPziLook_e,+h$baseZCTextziParserCombinatorsziReadPziLook_con_e, h$baseZCTextziParserCombinatorsziReadPziGet_e,+h$baseZCTextziParserCombinatorsziReadPziGet_con_e, h$baseZCSystemziPosixziInternalszisetEcho2_e,+h$baseZCSystemziPosixziInternalszisetEcho1_e, h$$nl, h$$nm, h$$nn, h$$no, h$$np,+h$baseZCSystemziPosixziInternalszisetCooked5_e, h$baseZCSystemziPosixziInternalszisetCooked4_e,+h$baseZCSystemziPosixziInternalszisetCooked3_e, h$baseZCSystemziPosixziInternalszisetCooked2_e,+h$baseZCSystemziPosixziInternalszisetCooked1_e, h$$nq, h$$nr, h$$ns, h$$nt, h$$nu, h$$nv, h$$nw, h$$nx, h$$ny,+h$baseZCSystemziPosixziInternalszigetEcho4_e, h$$nz, h$$nA, h$$nB, h$$nC, h$$nD, h$$nE, h$$nF, h$$nG, h$$nH, h$$nI,+h$$nJ, h$$nK, h$$nL, h$$nM, h$$nN, h$baseZCSystemziPosixziInternalszigetEcho3_e,+h$baseZCSystemziPosixziInternalszigetEcho2_e, h$$nO, h$$nP, h$$nQ, h$baseZCSystemziPosixziInternalszifdStat1_e, h$$nR,+h$$nS, h$$nT, h$$nU, h$$nV, h$baseZCSystemziPosixziInternalszifdFileSizzezupred_e, h$$nW,+h$baseZCSystemziPosixziInternalszifdFileSizze1_e, h$$nX, h$$nY, h$$nZ, h$$n0, h$$n1, h$baseZCGHCziWordziW32zh_e,+h$baseZCGHCziWordziW32zh_con_e, h$baseZCGHCziWordziW64zh_e, h$baseZCGHCziWordziW64zh_con_e,+h$baseZCGHCziUnicodezizdwisSpace_e, h$baseZCGHCziUnicodeziisSpace_e, h$$n6, h$baseZCGHCziUnicodeziisAlpha_e, h$$n7,+h$baseZCGHCziUnicodeziisAlphaNum_e, h$$n8, h$baseZCGHCziTopHandlerzirunIO3_e, h$$n9, h$baseZCGHCziTopHandlerzirunIO2_e,+h$$oa, h$$ob, h$$oc, h$$od, h$$oe, h$$of, h$$og, h$$oh, h$$oi, h$$oj, h$$ok, h$$ol, h$$om, h$$on, h$$oo, h$$op, h$$oq,+h$$or, h$$os, h$$ot, h$$ou, h$$ov, h$$ow, h$$ox, h$$oy, h$$oz, h$$oA, h$$oB, h$$oC, h$$oD, h$$oE, h$$oF, h$$oG, h$$oH,+h$$oI, h$$oJ, h$$oK, h$$oL, h$$oM, h$$oN, h$$oO, h$$oP, h$$oQ, h$$oR, h$baseZCGHCziTopHandlerzirunMainIO1_e, h$$oS,+h$baseZCGHCziTopHandlerziflushStdHandles4_e, h$baseZCGHCziTopHandlerziflushStdHandles3_e, h$$oT,+h$baseZCGHCziTopHandlerziflushStdHandles2_e, h$baseZCGHCziTopHandlerzitopHandler_e,+h$baseZCGHCziTopHandlerzirunMainIO_e, h$baseZCGHCziStorableziwriteWideCharOffPtr1_e, h$$o0, h$$o1, h$$o2,+h$baseZCGHCziStorablezireadWideCharOffPtr1_e, h$$o3, h$$o4, h$baseZCGHCziShowzizdwitoszq_e,+h$baseZCGHCziShowzishowLitString_e, h$$o5, h$$o6, h$$o7, h$$o8, h$baseZCGHCziShowzizdwshowLitChar_e, h$$o9, h$$pa,+h$$pb, h$$pc, h$$pd, h$$pe, h$$pf, h$$pg, h$$ph, h$baseZCGHCziShowzizdwitos_e, h$$pi, h$$pj, h$$pk, h$$pl, h$$pm, h$$pn,+h$baseZCGHCziShowzizdwshowSignedInt_e, h$$po, h$$pp, h$baseZCGHCziShowziDZCShow_e, h$baseZCGHCziShowziDZCShow_con_e,+h$baseZCGHCziShowzishowListzuzu_e, h$$pq, h$$pr, h$$ps, h$$pt, h$$pu, h$$pv, h$$pw, h$baseZCGHCziShowzishowsPrec_e,+h$$px, h$baseZCGHCziSTRefziSTRef_e, h$baseZCGHCziSTRefziSTRef_con_e, h$$pK, h$$pL, h$$pM, h$$pN, h$$pO, h$$pP, h$$pQ,+h$$pR, h$$pS, h$$pT, h$baseZCGHCziRealzizczuf2_e, h$$pU, h$$pV, h$$pW, h$$pX, h$$pY, h$$pZ, h$$p0, h$$p1,+h$baseZCGHCziRealzizczuzdszc2_e, h$$p2, h$$p3, h$baseZCGHCziRealzizc3_e, h$baseZCGHCziRealzizdfIntegralIntzuzdcquot_e,+h$$p4, h$$p5, h$baseZCGHCziRealzizdfIntegralIntzuzdcrem_e, h$$p6, h$$p7, h$baseZCGHCziRealzizdwzdcdiv_e,+h$baseZCGHCziRealzizdfIntegralIntzuzdcdiv_e, h$$p8, h$$p9, h$$qa, h$baseZCGHCziRealzizdfIntegralIntzuzdcmod_e, h$$qb,+h$$qc, h$$qd, h$baseZCGHCziRealzizdfIntegralIntzuzdcquotRem_e, h$$qe, h$$qf,+h$baseZCGHCziRealzizdfIntegralIntzuzdcdivMod_e, h$$qg, h$$qh, h$baseZCGHCziRealzizdfIntegralIntzuzdctoInteger_e, h$$qi,+h$baseZCGHCziRealzizdfEnumRatiozuzdctoRational_e, h$$qj, h$$qk, h$baseZCGHCziRealzizdwzdsreduce_e, h$$ql, h$$qm, h$$qn,+h$$qo, h$$qp, h$baseZCGHCziRealziDZCFractional_e, h$baseZCGHCziRealziDZCFractional_con_e,+h$baseZCGHCziRealziDZCIntegral_e, h$baseZCGHCziRealziDZCIntegral_con_e, h$baseZCGHCziRealziDZCReal_e,+h$baseZCGHCziRealziDZCReal_con_e, h$baseZCGHCziRealziZCzv_e, h$baseZCGHCziRealziZCzv_con_e,+h$baseZCGHCziRealzizdWZCzv_e, h$$qq, h$$qr, h$baseZCGHCziRealzioverflowError_e,+h$baseZCGHCziRealziratioZZeroDenominatorError_e, h$baseZCGHCziRealzidivZZeroError_e, h$baseZCGHCziRealzizs_e, h$$qs,+h$baseZCGHCziRealzitoInteger_e, h$$qt, h$baseZCGHCziRealzifromIntegral_e, h$$qu,+h$baseZCGHCziReadzizdfReadDoublezuzdcreadsPrec_e, h$$qy, h$baseZCGHCziReadzizdfReadDouble11_e,+h$baseZCGHCziReadzizdfReadDoublezuzdsreadListDefault_e, h$baseZCGHCziReadzizdfReadDouble10_e, h$$qz, h$$qA, h$$qB,+h$$qC, h$$qD, h$$qE, h$$qF, h$$qG, h$$qH, h$$qI, h$$qJ, h$$qK, h$$qL, h$$qM, h$$qN, h$$qO, h$$qP, h$$qQ,+h$baseZCGHCziReadzizdfReadDouble9_e, h$baseZCGHCziReadzizdfReadDouble6_e, h$baseZCGHCziReadzizdfReadDouble5_e,+h$baseZCGHCziReadzizdfReadDouble4_e, h$baseZCGHCziReadzizdfReadDouble3_e,+h$baseZCGHCziReadzizdfReadDoublezuzdsconvertFrac_e, h$$qR, h$$qS, h$$qT, h$$qU, h$$qV, h$$qW, h$$qX,+h$baseZCGHCziReadzizdfReadDouble2_e, h$baseZCGHCziReadzizdfReadDouble1_e, h$baseZCGHCziReadzizdwa3_e, h$$qY, h$$qZ,+h$$q0, h$$q1, h$$q2, h$$q3, h$$q4, h$$q5, h$$q6, h$$q7, h$$q8, h$$q9, h$$ra, h$$rb, h$$rc, h$baseZCGHCziReadzizdwa_e,+h$$rd, h$$re, h$$rf, h$$rg, h$$rh, h$$ri, h$$rj, h$$rk, h$$rl, h$$rm, h$$rn, h$$ro, h$$rp, h$$rq, h$$rr, h$$rs, h$$rt,+h$$ru, h$$rv, h$$rw, h$$rx, h$$ry, h$$rz, h$$rA, h$$rB, h$$rC, h$$rD, h$$rE, h$$rF, h$$rG, h$baseZCGHCziReadziDZCRead_e,+h$baseZCGHCziReadziDZCRead_con_e, h$baseZCGHCziPtrziPtr_e, h$baseZCGHCziPtrziPtr_con_e,+h$baseZCGHCziNumzizdfNumIntzuzdczp_e, h$$rJ, h$$rK, h$baseZCGHCziNumzizdfNumIntzuzdczt_e, h$$rL, h$$rM,+h$baseZCGHCziNumzizdfNumIntzuzdczm_e, h$$rN, h$$rO, h$baseZCGHCziNumzizdfNumIntzuzdcnegate_e, h$$rP,+h$baseZCGHCziNumzizdfNumIntzuzdcabs_e, h$$rQ, h$baseZCGHCziNumzizdfNumIntzuzdcsignum_e, h$$rR,+h$baseZCGHCziNumzizdfNumIntzuzdcfromInteger_e, h$$rS, h$baseZCGHCziNumziDZCNum_e, h$baseZCGHCziNumziDZCNum_con_e,+h$baseZCGHCziNumzizt_e, h$$rT, h$baseZCGHCziNumzizp_e, h$$rU, h$baseZCGHCziNumzifromInteger_e, h$$rV,+h$baseZCGHCziMVarziMVar_e, h$baseZCGHCziMVarziMVar_con_e, h$baseZCGHCziListziznznzusub_e, h$$rW,+h$baseZCGHCziListzielem_e, h$$rX, h$$rY, h$baseZCGHCziListziall_e, h$$rZ, h$$r0, h$baseZCGHCziListzizdwbreak_e, h$$r1,+h$$r2, h$$r3, h$$r4, h$$r5, h$$r6, h$$r7, h$$r8, h$baseZCGHCziListzizdwspan_e, h$$r9, h$$sa, h$$sb, h$$sc, h$$sd, h$$se,+h$$sf, h$$sg, h$baseZCGHCziListzidropWhile_e, h$$sh, h$$si, h$baseZCGHCziListzizdwlenAcc_e, h$$sj,+h$baseZCGHCziListzizzip_e, h$$sk, h$$sl, h$$sm, h$baseZCGHCziListzifoldr2_e, h$$sn, h$$so, h$$sp, h$$sq,+h$baseZCGHCziListzizzipWith_e, h$$sr, h$$ss, h$$st, h$$su, h$baseZCGHCziListzifilter_e, h$$sv, h$$sw, h$$sx,+h$baseZCGHCziListzifilterFB_e, h$$sy, h$$sz, h$baseZCGHCziListzicycle1_e, h$baseZCGHCziListziznzn1_e,+h$baseZCGHCziListzicycle_e, h$$sA, h$$sB, h$baseZCGHCziIntzizdfEqInt64zuzdczeze_e, h$$sG, h$$sH,+h$baseZCGHCziIntziI32zh_e, h$baseZCGHCziIntziI32zh_con_e, h$baseZCGHCziIntziI64zh_e, h$baseZCGHCziIntziI64zh_con_e,+h$baseZCGHCziIOziHandleziTypesziNewlineMode_e, h$baseZCGHCziIOziHandleziTypesziNewlineMode_con_e,+h$baseZCGHCziIOziHandleziTypesziFileHandle_e, h$baseZCGHCziIOziHandleziTypesziFileHandle_con_e,+h$baseZCGHCziIOziHandleziTypeszizdWFileHandle_e, h$$sI, h$baseZCGHCziIOziHandleziTypesziHandlezuzu_e,+h$baseZCGHCziIOziHandleziTypesziHandlezuzu_con_e, h$baseZCGHCziIOziHandleziTypeszizdWHandlezuzu_e, h$$sJ, h$$sK, h$$sL,+h$$sM, h$$sN, h$baseZCGHCziIOziHandleziTypesziLF_con_e, h$baseZCGHCziIOziHandleziTypesziBlockBuffering_e,+h$baseZCGHCziIOziHandleziTypesziBlockBuffering_con_e, h$baseZCGHCziIOziHandleziTypesziLineBuffering_con_e,+h$baseZCGHCziIOziHandleziTypesziNoBuffering_con_e, h$baseZCGHCziIOziHandleziTypesziWriteHandle_con_e,+h$baseZCGHCziIOziHandleziTypesziBufferListNil_con_e, h$baseZCGHCziIOziHandleziInternalszizdwa2_e, h$$sO, h$$sP, h$$sQ,+h$$sR, h$$sS, h$$sT, h$$sU, h$$sV, h$$sW, h$baseZCGHCziIOziHandleziInternalsziwithHandlezq1_e, h$$sX, h$$sY, h$$sZ,+h$$s0, h$$s1, h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle2_e, h$$s2, h$$s3, h$$s4, h$$s5, h$$s6, h$$s7,+h$$s8, h$$s9, h$$ta, h$$tb, h$$tc, h$$td, h$$te, h$$tf, h$$tg, h$$th, h$$ti, h$$tj, h$$tk, h$$tl, h$$tm, h$$tn, h$$to,+h$$tp, h$$tq, h$$tr, h$$ts, h$$tt, h$$tu, h$$tv, h$$tw, h$baseZCGHCziIOziHandleziInternalsziwantWritableHandle1_e,+h$$tx, h$baseZCGHCziIOziHandleziInternalszimkDuplexHandle5_e, h$$ty, h$$tz, h$$tA, h$$tB, h$$tC, h$$tD, h$$tE, h$$tF,+h$$tG, h$$tH, h$$tI, h$$tJ, h$$tK, h$$tL, h$$tM, h$$tN, h$$tO, h$$tP, h$$tQ, h$$tR, h$$tS, h$$tT, h$$tU, h$$tV, h$$tW,+h$$tX, h$$tY, h$$tZ, h$$t0, h$baseZCGHCziIOziHandleziInternalsziflushWriteBuffer1_e, h$$t1, h$$t2, h$$t3, h$$t4, h$$t5,+h$baseZCGHCziIOziHandleziInternalszidecodeByteBuf2_e, h$baseZCGHCziIOziHandleziInternalszizdwa_e, h$$t6, h$$t7, h$$t8,+h$$t9, h$$ua, h$$ub, h$$uc, h$$ud, h$$ue, h$$uf, h$$ug, h$baseZCGHCziIOziHandleziInternalsziioezufinalizzedHandle_e,+h$baseZCGHCziIOziHandleziInternalsziaugmentIOError_e, h$$uh, h$$ui, h$$uj, h$$uk, h$$uq, h$$ur, h$$us, h$$ut, h$$uu,+h$$uv, h$$uw, h$$ux, h$$uy, h$$uz, h$$uA, h$$uB, h$$uC, h$$uD, h$$uE, h$$uF, h$$uG, h$$uH, h$$uI, h$$uJ, h$$uK, h$$uL,+h$$uM, h$$uN, h$$uO, h$$uP, h$$uQ, h$$uR, h$$uS, h$$uT, h$$uU, h$$uV, h$$uW, h$$uX, h$$uY, h$$uZ,+h$baseZCGHCziIOziHandleziFDzistderr_e, h$baseZCGHCziIOziHandleziFDzistdout_e, h$baseZCGHCziIOziHandlezihFlush1_e,+h$baseZCGHCziIOziHandlezihFlush_e, h$baseZCGHCziIOziFDzizdwa2_e, h$$u7, h$$u8, h$$u9, h$$va, h$$vb, h$$vc, h$$vd, h$$ve,+h$$vf, h$$vg, h$$vh, h$$vi, h$$vj, h$baseZCGHCziIOziFDziwriteRawBufferPtr2_e, h$$vk,+h$baseZCGHCziIOziFDzizdfTypeableFDzuzdctypeRepzh_e, h$baseZCGHCziIOziFDzizdwa12_e, h$$vl, h$$vm, h$$vn, h$$vo, h$$vp,+h$$vq, h$$vr, h$baseZCGHCziIOziFDzizdfIODeviceFD18_e, h$$vs, h$$vt, h$baseZCGHCziIOziFDzizdfIODeviceFD17_e, h$$vu,+h$baseZCGHCziIOziFDzizdwa11_e, h$$vv, h$$vw, h$$vx, h$baseZCGHCziIOziFDzizdfIODeviceFD15_e, h$$vy,+h$baseZCGHCziIOziFDzizdfIODeviceFD14_e, h$$vz, h$baseZCGHCziIOziFDzizdfIODeviceFD13_e, h$$vA, h$$vB, h$$vC, h$$vD,+h$$vE, h$$vF, h$baseZCGHCziIOziFDzizdwa10_e, h$$vG, h$$vH, h$$vI, h$$vJ, h$$vK, h$$vL, h$$vM,+h$baseZCGHCziIOziFDzizdfIODeviceFD12_e, h$$vN, h$baseZCGHCziIOziFDzizdfIODeviceFDzuds_e,+h$baseZCGHCziIOziFDzizdfIODeviceFDzupred_e, h$baseZCGHCziIOziFDzizdwa9_e, h$$vO, h$$vP, h$$vQ, h$$vR, h$$vS,+h$baseZCGHCziIOziFDzizdfIODeviceFD10_e, h$$vT, h$baseZCGHCziIOziFDzizdfIODeviceFD9_e, h$$vU, h$$vV,+h$baseZCGHCziIOziFDzizdwa8_e, h$$vW, h$$vX, h$$vY, h$baseZCGHCziIOziFDzizdfIODeviceFD7_e, h$$vZ,+h$baseZCGHCziIOziFDzizdfIODeviceFD6_e, h$$v0, h$$v1, h$baseZCGHCziIOziFDzizdfIODeviceFD5_e, h$$v2, h$$v3,+h$baseZCGHCziIOziFDzizdfIODeviceFD4_e, h$$v4, h$$v5, h$$v6, h$$v7, h$baseZCGHCziIOziFDzizdfIODeviceFD3_e, h$$v8, h$$v9,+h$$wa, h$$wb, h$baseZCGHCziIOziFDzizdwa7_e, h$$wc, h$$wd, h$baseZCGHCziIOziFDzizdfIODeviceFD2_e, h$$we,+h$baseZCGHCziIOziFDzizdwa6_e, h$$wf, h$$wg, h$baseZCGHCziIOziFDzizdfIODeviceFD1_e, h$$wh, h$$wi,+h$baseZCGHCziIOziFDzizdfBufferedIOFD12_e, h$baseZCGHCziIOziFDzizdwa5_e, h$$wj, h$$wk, h$$wl, h$$wm, h$$wn, h$$wo, h$$wp,+h$$wq, h$$wr, h$baseZCGHCziIOziFDzizdfBufferedIOFD10_e, h$$ws, h$$wt, h$baseZCGHCziIOziFDzizdwa4_e, h$$wu, h$$wv, h$$ww,+h$$wx, h$$wy, h$$wz, h$baseZCGHCziIOziFDzizdwa3_e, h$$wA, h$$wB, h$baseZCGHCziIOziFDzizdfBufferedIOFD6_e, h$$wC, h$$wD,+h$baseZCGHCziIOziFDzizdfBufferedIOFD5_e, h$$wE, h$$wF, h$baseZCGHCziIOziFDzizdfBufferedIOFD3_e, h$$wG, h$$wH, h$$wI,+h$baseZCGHCziIOziFDzizdwa1_e, h$$wJ, h$$wK, h$$wL, h$$wM, h$$wN, h$$wO, h$$wP, h$$wQ, h$$wR, h$$wS, h$$wT,+h$baseZCGHCziIOziFDzizdwa_e, h$$wU, h$$wV, h$$wW, h$baseZCGHCziIOziFDzizdfBufferedIOFD1_e, h$$wX, h$$wY,+h$baseZCGHCziIOziFDziFD_e, h$baseZCGHCziIOziFDziFD_con_e, h$baseZCGHCziIOziFDzizdWFD_e, h$$wZ, h$$w0,+h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdctoException_e,+h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdctoException_e,+h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdctoException_e, h$$w2, h$$w3,+h$baseZCGHCziIOziExceptionziuntangle4_e, h$$w4, h$baseZCGHCziIOziExceptionzizdfShowIOExceptionzuzdcshowsPrec_e, h$$w5,+h$baseZCGHCziIOziExceptionzizdfShowIOExceptionzuzdcshow_e, h$$w6, h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec2_e, h$$w7,+h$baseZCGHCziIOziExceptionzizdwzdcshowsPrec1_e, h$$w8, h$$w9, h$$xa, h$$xb, h$$xc, h$$xd, h$$xe, h$$xf, h$$xg, h$$xh,+h$$xi, h$$xj, h$$xk, h$$xl, h$$xm, h$baseZCGHCziIOziExceptionzizdfShowIOException1_e, h$$xn,+h$baseZCGHCziIOziExceptionzizdfShowIOExceptionzuzdcshowList_e,+h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdctypeRepzh_e,+h$baseZCGHCziIOziExceptionzizdfExceptionIOExceptionzuzdcfromException_e, h$$xo, h$$xp,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTMzuzdcshowsPrec_e, h$$xq,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTMzuzdcshow_e, h$$xr,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM2_e,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTM1_e, h$$xs,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnSTMzuzdcshowList_e,+h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdctypeRepzh_e,+h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnSTMzuzdcfromException_e, h$$xt, h$$xu,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVarzuzdcshowsPrec_e, h$$xv,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVarzuzdcshow_e, h$$xw,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar2_e,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVar1_e, h$$xx,+h$baseZCGHCziIOziExceptionzizdfShowBlockedIndefinitelyOnMVarzuzdcshowList_e,+h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdctypeRepzh_e,+h$baseZCGHCziIOziExceptionzizdfExceptionBlockedIndefinitelyOnMVarzuzdcfromException_e, h$$xy, h$$xz,+h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuzdctypeRepzh_e,+h$baseZCGHCziIOziExceptionzizdfExceptionAsyncExceptionzuzdsasyncExceptionFromException_e, h$$xA, h$$xB, h$$xC, h$$xD,+h$baseZCGHCziIOziExceptionziBlockedIndefinitelyOnMVar_con_e, h$baseZCGHCziIOziExceptionziBlockedIndefinitelyOnSTM_con_e,+h$baseZCGHCziIOziExceptionziIOError_e, h$baseZCGHCziIOziExceptionziIOError_con_e,+h$baseZCGHCziIOziExceptionziInterrupted_con_e, h$baseZCGHCziIOziExceptionziResourceVanished_con_e,+h$baseZCGHCziIOziExceptionziTimeExpired_con_e, h$baseZCGHCziIOziExceptionziUnsupportedOperation_con_e,+h$baseZCGHCziIOziExceptionziHardwareFault_con_e, h$baseZCGHCziIOziExceptionziInappropriateType_con_e,+h$baseZCGHCziIOziExceptionziInvalidArgument_con_e, h$baseZCGHCziIOziExceptionziOtherError_con_e,+h$baseZCGHCziIOziExceptionziProtocolError_con_e, h$baseZCGHCziIOziExceptionziUnsatisfiedConstraints_con_e,+h$baseZCGHCziIOziExceptionziUserError_con_e, h$baseZCGHCziIOziExceptionziPermissionDenied_con_e,+h$baseZCGHCziIOziExceptionziIllegalOperation_con_e, h$baseZCGHCziIOziExceptionziResourceExhausted_con_e,+h$baseZCGHCziIOziExceptionziResourceBusy_con_e, h$baseZCGHCziIOziExceptionziNoSuchThing_con_e,+h$baseZCGHCziIOziExceptionziAlreadyExists_con_e, h$baseZCGHCziIOziExceptionziuntangle_e, h$$xE, h$$xF, h$$xG, h$$xH,+h$$xI, h$$xJ, h$$xK, h$$xL, h$baseZCGHCziIOziExceptionziioError_e, h$baseZCGHCziIOziExceptionziioException_e,+h$baseZCGHCziIOziExceptionzizdfxExceptionIOException_e, h$baseZCGHCziIOziExceptionziuserError_e,+h$baseZCGHCziIOziEncodingziUTF8ziutf6_e, h$$x6, h$$x7, h$baseZCGHCziIOziEncodingziUTF8ziutf4_e,+h$baseZCGHCziIOziEncodingziUTF8ziutf3_e, h$$x8, h$$x9, h$baseZCGHCziIOziEncodingziUTF8ziutf1_e,+h$baseZCGHCziIOziEncodingziUTF8zizdwa1_e, h$$ya, h$$yb, h$$yc, h$$yd, h$$ye, h$$yf, h$$yg, h$$yh, h$$yi, h$$yj, h$$yk,+h$$yl, h$$ym, h$$yn, h$$yo, h$$yp, h$baseZCGHCziIOziEncodingziUTF8zimkUTF4_e, h$$yq, h$$yr,+h$baseZCGHCziIOziEncodingziUTF8zimkUTF3_e, h$baseZCGHCziIOziEncodingziUTF8zimkUTF2_e,+h$baseZCGHCziIOziEncodingziUTF8zizdwa_e, h$$ys, h$$yt, h$$yu, h$baseZCGHCziIOziEncodingziUTF8zimkUTF1_e, h$$yv, h$$yw,+h$baseZCGHCziIOziEncodingziTypesziTextEncoding_e, h$baseZCGHCziIOziEncodingziTypesziTextEncoding_con_e,+h$baseZCGHCziIOziEncodingziTypesziBufferCodec_e, h$baseZCGHCziIOziEncodingziTypesziBufferCodec_con_e,+h$baseZCGHCziIOziEncodingziTypesziInvalidSequence_con_e, h$baseZCGHCziIOziEncodingziTypesziOutputUnderflow_con_e,+h$baseZCGHCziIOziEncodingziTypesziInputUnderflow_con_e, h$baseZCGHCziIOziEncodingziTypesziclose_e, h$$yx,+h$baseZCGHCziIOziEncodingziFailurezizdwa2_e, h$baseZCGHCziIOziEncodingzigetLocaleEncoding2_e, h$$yB, h$$yC,+h$baseZCGHCziIOziEncodingzigetLocaleEncoding1_e, h$baseZCGHCziIOziEncodingzigetForeignEncoding_e,+h$baseZCGHCziIOziEncodingzigetLocaleEncoding_e, h$$yD, h$baseZCGHCziIOziDeviceziDZCIODevice_e,+h$baseZCGHCziIOziDeviceziDZCIODevice_con_e, h$baseZCGHCziIOziDeviceziRelativeSeek_con_e,+h$baseZCGHCziIOziDeviceziRawDevice_con_e, h$baseZCGHCziIOziDeviceziRegularFile_con_e,+h$baseZCGHCziIOziDeviceziStream_con_e, h$baseZCGHCziIOziDeviceziDirectory_con_e, h$baseZCGHCziIOziDeviceziseek_e, h$$yE,+h$baseZCGHCziIOziDeviceziisSeekable_e, h$$yF, h$baseZCGHCziIOziDeviceziisTerminal_e, h$$yG,+h$baseZCGHCziIOziBufferedIOziDZCBufferedIO_e, h$baseZCGHCziIOziBufferedIOziDZCBufferedIO_con_e,+h$baseZCGHCziIOziBufferedIOziflushWriteBuffer_e, h$$yH, h$baseZCGHCziIOziBufferedIOziemptyWriteBuffer_e, h$$yI,+h$baseZCGHCziIOziBufferedIOzinewBuffer_e, h$$yJ, h$baseZCGHCziIOziBufferziBuffer_e,+h$baseZCGHCziIOziBufferziBuffer_con_e, h$baseZCGHCziIOziBufferzizdWBuffer_e, h$$yK, h$$yL, h$$yM, h$$yN,+h$baseZCGHCziIOziBufferziWriteBuffer_con_e, h$baseZCGHCziIOziBufferziReadBuffer_con_e, h$$yO, h$$yP, h$$yQ, h$$yR,+h$baseZCGHCziIOzibracket1_e, h$$yS, h$$yT, h$$yU, h$$yV, h$$yW, h$$yX, h$$yY, h$$yZ, h$$y0, h$$y1, h$$y2, h$$y3, h$$y4,+h$$y5, h$$y6, h$$y7, h$$y8, h$$y9, h$$za, h$$zb, h$baseZCGHCziIOziunsafeDupablePerformIO_e, h$$zc,+h$baseZCGHCziIOzifailIO_e, h$baseZCGHCziForeignPtrzimallocForeignPtrBytes2_e, h$baseZCGHCziForeignPtrziMallocPtr_e,+h$baseZCGHCziForeignPtrziMallocPtr_con_e, h$baseZCGHCziForeignPtrzizdWMallocPtr_e, h$$zf,+h$baseZCGHCziForeignPtrziPlainForeignPtr_e, h$baseZCGHCziForeignPtrziPlainForeignPtr_con_e,+h$baseZCGHCziForeignPtrzizdWPlainForeignPtr_e, h$$zg, h$baseZCGHCziForeignPtrziNoFinalizzers_con_e,+h$baseZCGHCziForeignzizdwa1_e, h$$zi, h$$zj, h$$zk, h$$zl, h$$zm, h$$zn, h$$zo, h$$zp, h$$zq, h$$zr, h$$zs, h$$zt,+h$$zu, h$$zv, h$$zw, h$$zx, h$$zy, h$baseZCGHCziForeignzicharIsRepresentable3_e, h$$zz, h$$zA, h$$zB, h$$zC, h$$zD,+h$$zE, h$$zF, h$$zG, h$$zH, h$$zI, h$$zJ, h$baseZCGHCziForeignzizdwa_e, h$$zK, h$$zL, h$$zM, h$$zN, h$$zO, h$$zP, h$$zQ,+h$$zR, h$$zS, h$$zT, h$$zU, h$$zV, h$$zW, h$$zX, h$$zY, h$$zZ, h$$z0, h$$z1, h$$z2, h$$z3, h$$z4, h$$z5, h$$z6, h$$z7,+h$$z8, h$$z9, h$$Aa, h$$Ab, h$$Ac, h$$Ad, h$$Ae, h$$Af, h$baseZCGHCziFloatzizdfFloatingDoublezuzdclogBase_e, h$$Ag,+h$$Ah, h$baseZCGHCziFloatzizdfFloatingDoublezuzdcasinh_e, h$$Ai, h$baseZCGHCziFloatzizdfFloatingDoublezuzdcatanh_e,+h$$Aj, h$baseZCGHCziFloatzizdfFloatingDoublezuzdcacosh_e, h$$Ak, h$baseZCGHCziFloatzizdfNumDoublezuzdcabs_e, h$$Al,+h$baseZCGHCziFloatzizdfNumDoublezuzdcsignum_e, h$$Am, h$baseZCGHCziFloatzizdfNumDoublezuzdcfromInteger_e, h$$An,+h$baseZCGHCziFloatzizdfFractionalDoublezuzdcrecip_e, h$$Ao, h$baseZCGHCziFloatzizdwzdsfromRatzqzq_e, h$$Ap, h$$Aq,+h$$Ar, h$$As, h$$At, h$$Au, h$$Av, h$$Aw, h$$Ax, h$$Ay, h$$Az, h$$AA, h$$AB, h$$AC, h$$AD, h$$AE, h$$AF, h$$AG, h$$AH,+h$$AI, h$$AJ, h$$AK, h$$AL, h$$AM, h$$AN, h$$AO, h$$AP, h$$AQ, h$baseZCGHCziFloatzirationalToDouble3_e,+h$baseZCGHCziFloatzirationalToDouble2_e, h$baseZCGHCziFloatzirationalToDouble1_e,+h$baseZCGHCziFloatzizdfFractionalDoublezuzdcfromRational_e, h$$AR, h$baseZCGHCziFloatziDZCFloating_e,+h$baseZCGHCziFloatziDZCFloating_con_e, h$baseZCGHCziFloatzipowerDouble_e, h$$AS, h$$AT,+h$baseZCGHCziFloatzitanhDouble_e, h$$AU, h$baseZCGHCziFloatzicoshDouble_e, h$$AV, h$baseZCGHCziFloatzisinhDouble_e,+h$$AW, h$baseZCGHCziFloatziatanDouble_e, h$$AX, h$baseZCGHCziFloatziacosDouble_e, h$$AY,+h$baseZCGHCziFloatziasinDouble_e, h$$AZ, h$baseZCGHCziFloatzitanDouble_e, h$$A0, h$baseZCGHCziFloatzicosDouble_e, h$$A1,+h$baseZCGHCziFloatzisinDouble_e, h$$A2, h$baseZCGHCziFloatzisqrtDouble_e, h$$A3, h$baseZCGHCziFloatzilogDouble_e, h$$A4,+h$baseZCGHCziFloatziexpDouble_e, h$$A5, h$baseZCGHCziFloatzinegateDouble_e, h$$A6, h$baseZCGHCziFloatzidivideDouble_e,+h$$A7, h$$A8, h$baseZCGHCziFloatzitimesDouble_e, h$$A9, h$$Ba, h$baseZCGHCziFloatziminusDouble_e, h$$Bb, h$$Bc,+h$baseZCGHCziFloatziplusDouble_e, h$$Bd, h$$Be, h$baseZCGHCziFloatzipi_e, h$$Bf, h$baseZCGHCziFloatzirationalToDouble_e,+h$$Bg, h$$Bh, h$$Bi, h$$Bj, h$$Bk, h$$Bl, h$$Bm, h$$Bn, h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdctoException_e,+h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctoException_e, h$baseZCGHCziExceptionzithrow2_e, h$$Bp,+h$baseZCGHCziExceptionzizdfShowErrorCallzuzdcshowsPrec_e, h$baseZCGHCziExceptionzizdfShowErrorCall1_e,+h$baseZCGHCziExceptionzizdfShowErrorCallzuzdcshowList_e, h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdctypeRepzh_e,+h$baseZCGHCziExceptionzizdfExceptionErrorCallzuzdcfromException_e, h$$Bq, h$$Br,+h$baseZCGHCziExceptionzizdfShowArithExceptionzuzdcshowsPrec_e, h$$Bs,+h$baseZCGHCziExceptionzizdfShowArithExceptionzuzdcshow_e, h$$Bt, h$baseZCGHCziExceptionzizdfShowArithException12_e,+h$baseZCGHCziExceptionzizdfShowArithException10_e, h$baseZCGHCziExceptionzizdfShowArithException8_e,+h$baseZCGHCziExceptionzizdfShowArithException6_e, h$baseZCGHCziExceptionzizdfShowArithException4_e,+h$baseZCGHCziExceptionzizdfShowArithException2_e, h$baseZCGHCziExceptionzizdfShowArithException1_e, h$$Bu,+h$baseZCGHCziExceptionzizdfShowArithExceptionzuzdcshowList_e,+h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdctypeRepzh_e,+h$baseZCGHCziExceptionzizdfExceptionArithExceptionzuzdcfromException_e, h$$Bv, h$$Bw,+h$baseZCGHCziExceptionziRatioZZeroDenominator_con_e, h$baseZCGHCziExceptionziDivideByZZero_con_e,+h$baseZCGHCziExceptionziOverflow_con_e, h$baseZCGHCziExceptionziDZCException_e,+h$baseZCGHCziExceptionziDZCException_con_e, h$baseZCGHCziExceptionzizdp2Exception_e, h$$Bx,+h$baseZCGHCziExceptionzizdp1Exception_e, h$$By, h$baseZCGHCziExceptionziSomeException_e,+h$baseZCGHCziExceptionziSomeException_con_e, h$baseZCGHCziExceptionzitoException_e, h$$Bz,+h$baseZCGHCziExceptionzioverflowException_e, h$baseZCGHCziExceptionziratioZZeroDenomException_e,+h$baseZCGHCziExceptionzidivZZeroException_e, h$baseZCGHCziExceptionzierrorCallException_e, h$baseZCGHCziErrzierror_e,+h$$BA, h$baseZCGHCziEnumziefdtInt_e, h$baseZCGHCziEnumziefdtIntFB_e, h$baseZCGHCziEnumzieftInt_e, h$$BB, h$$BC,+h$baseZCGHCziEnumzieftIntFB_e, h$$BD, h$$BE, h$baseZCGHCziEnumzizdfEnumInt2_e, h$baseZCGHCziEnumzizdfEnumIntzuzdcsucc_e,+h$$BF, h$baseZCGHCziEnumzizdfEnumInt1_e, h$baseZCGHCziEnumzizdfEnumIntzuzdcpred_e, h$$BG,+h$baseZCGHCziEnumzizdfEnumIntzuzdcfromEnum_e, h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFrom_e, h$$BH,+h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFromThen_e, h$$BI, h$$BJ, h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFromTo_e, h$$BK,+h$$BL, h$baseZCGHCziEnumzizdfEnumIntzuzdcenumFromThenTo_e, h$$BM, h$$BN, h$$BO, h$baseZCGHCziEnumzizdfEnumBool1_e,+h$baseZCGHCziEnumziDZCEnum_e, h$baseZCGHCziEnumziDZCEnum_con_e, h$baseZCGHCziEnumziefdtIntDnFB_e, h$$BP, h$$BQ, h$$BR,+h$baseZCGHCziEnumziefdtIntDn_e, h$$BS, h$$BT, h$$BU, h$baseZCGHCziEnumziefdtIntUpFB_e, h$$BV, h$$BW, h$$BX,+h$baseZCGHCziEnumziefdtIntUp_e, h$$BY, h$$BZ, h$$B0, h$baseZCGHCziEnumziefdInt_e, h$$B4, h$$B5, h$$B6, h$$B7, h$$B8,+h$$B9, h$$Ca, h$$Cb, h$$Cc, h$$Cd, h$$Ce, h$$Cf, h$$Cg, h$$Ch, h$$Ci, h$$Cj, h$$Ck, h$$Cl, h$$Cm,+h$baseZCGHCziConcziSynczireportError1_e, h$$Cn, h$baseZCGHCziConcziSyncziThreadId_e,+h$baseZCGHCziConcziSyncziThreadId_con_e, h$baseZCGHCziConcziSyncziuncaughtExceptionHandler_e,+h$baseZCGHCziConcziSynczireportError_e, h$baseZCGHCziCharzichr2_e, h$$Cu, h$$Cv, h$$Cw, h$baseZCGHCziBasezieqString_e,+h$$Cx, h$$Cy, h$$Cz, h$$CA, h$$CB, h$baseZCGHCziBasezizpzp_e, h$$CC, h$$CD, h$baseZCGHCziBasezifoldr_e, h$$CE, h$$CF,+h$$CG, h$baseZCGHCziBasezimap_e, h$$CH, h$$CI, h$$CJ, h$baseZCGHCziBasezibindIO1_e, h$$CK, h$baseZCGHCziBasezithenIO1_e,+h$$CL, h$baseZCGHCziBasezireturnIO1_e, h$baseZCGHCziBasezizdfMonadIOzuzdcfail_e, h$baseZCGHCziBasezizdfFunctorIO2_e,+h$$CM, h$$CN, h$baseZCGHCziBasezizdfFunctorIO1_e, h$$CO, h$baseZCGHCziBaseziDZCMonad_e,+h$baseZCGHCziBaseziDZCMonad_con_e, h$baseZCGHCziBaseziDZCFunctor_e, h$baseZCGHCziBaseziDZCFunctor_con_e,+h$baseZCGHCziBasezizi_e, h$$CP, h$baseZCGHCziBaseziid_e, h$baseZCGHCziBasezireturn_e, h$$CQ, h$baseZCGHCziBasezifmap_e,+h$$CR, h$baseZCGHCziBasezizgzg_e, h$$CS, h$baseZCGHCziBasezizgzgze_e, h$$CT, h$baseZCGHCziBasezifail_e, h$$CU,+h$baseZCForeignziStorablezizdfStorableCharzuzdcalignment_e, h$baseZCForeignziStorablezizdfStorableChar4_e, h$$CV, h$$CW,+h$baseZCForeignziStorablezizdfStorableChar3_e, h$$CX, h$$CY, h$$CZ, h$baseZCForeignziStorablezizdfStorableChar2_e,+h$$C0, h$baseZCForeignziStorablezizdfStorableChar1_e, h$$C1, h$$C2, h$baseZCForeignziStorableziDZCStorable_e,+h$baseZCForeignziStorableziDZCStorable_con_e, h$baseZCForeignziStorablezipokeElemOff_e, h$$C3,+h$baseZCForeignziStorablezipeekElemOff_e, h$$C4, h$baseZCForeignziMarshalziArrayzizdwa8_e, h$$C5, h$$C6, h$$C7, h$$C8,+h$$C9, h$baseZCForeignziMarshalziArrayzinewArray8_e, h$$Da, h$$Db, h$$Dc, h$$Dd,+h$baseZCForeignziCziErrorzithrowErrnoIfMinus1Retry2_e, h$$De, h$$Df, h$baseZCForeignziCziErrorzithrowErrno1_e, h$$Dg,+h$baseZCForeignziCziErrorzierrnoToIOError_e, h$$Dh, h$$Di, h$$Dj, h$$Dk, h$baseZCDataziTypeableziInternalziTypeRep_e,+h$baseZCDataziTypeableziInternalziTypeRep_con_e, h$baseZCDataziTypeableziInternalzizdWTypeRep_e, h$$Dl,+h$baseZCDataziTypeableziInternalziTyCon_e, h$baseZCDataziTypeableziInternalziTyCon_con_e,+h$baseZCDataziTypeableziInternalzizdWTyCon_e, h$$Dm, h$baseZCDataziTypeablezicast_e, h$$Dn, h$$Do,+h$baseZCDataziTuplezisnd_e, h$$Dp, h$baseZCDataziTuplezifst_e, h$$Dq, h$baseZCDataziMaybeziJust_e,+h$baseZCDataziMaybeziJust_con_e, h$baseZCDataziMaybeziNothing_con_e, h$baseZCDataziListziwords_e, h$$Dr, h$$Ds, h$$Dt,+h$$Du, h$$Dv, h$$Dw, h$$Dx, h$baseZCDataziListzisortBy_e, h$$Dy, h$$Dz, h$$DA, h$$DB, h$$DC, h$$DD, h$$DE, h$$DF, h$$DG,+h$$DH, h$$DI, h$$DJ, h$$DK, h$$DL, h$$DM, h$$DN, h$$DO, h$$DP, h$$DQ, h$$DR, h$$DS, h$$DT, h$$DU, h$$DV, h$$DW, h$$DX,+h$$DY, h$$DZ, h$$D0, h$$D1, h$$D2, h$$D3, h$$D4, h$$D5, h$$D6, h$$D7, h$baseZCDataziFunctorzizlzdzg_e,+h$baseZCControlziMonadziforMzu_e, h$baseZCControlziMonadzimapMzu_e, h$$D9, h$$Ea, h$$Eb, h$$Ec, h$$Ed, h$$Ee,+h$baseZCControlziMonadzizezlzl_e, h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdctoException_e,+h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdctoException_e,+h$baseZCControlziExceptionziBasezizdfShowPatternMatchFailzuzdcshowsPrec_e, h$$Ef,+h$baseZCControlziExceptionziBasezizdfShowPatternMatchFailzuzdcshow_e, h$$Eg,+h$baseZCControlziExceptionziBasezizdfShowPatternMatchFail1_e, h$$Eh,+h$baseZCControlziExceptionziBasezizdfShowPatternMatchFailzuzdcshowList_e,+h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdctypeRepzh_e,+h$baseZCControlziExceptionziBasezizdfExceptionPatternMatchFailzuzdcfromException_e, h$$Ei, h$$Ej,+h$baseZCControlziExceptionziBasezizdfShowNonTerminationzuzdcshowsPrec_e, h$$Ek,+h$baseZCControlziExceptionziBasezizdfShowNonTerminationzuzdcshow_e, h$$El,+h$baseZCControlziExceptionziBasezizdfShowNonTermination2_e, h$baseZCControlziExceptionziBasezizdfShowNonTermination1_e,+h$$Em, h$baseZCControlziExceptionziBasezizdfShowNonTerminationzuzdcshowList_e,+h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdctypeRepzh_e,+h$baseZCControlziExceptionziBasezizdfExceptionNonTerminationzuzdcfromException_e, h$$En, h$$Eo,+h$baseZCControlziExceptionziBaseziNonTermination_con_e, h$baseZCControlziExceptionziBaseziPatternMatchFail_e,+h$baseZCControlziExceptionziBaseziPatternMatchFail_con_e, h$baseZCControlziExceptionziBasezinonTermination_e,+h$baseZCControlziExceptionziBasezipatError_e, h$$Ep, h$$Er, h$$Es, h$$Et, h$$Eu, h$$Ev, h$$Ew, h$$Ex, h$$Ey, h$$Ez,+h$$EA, h$$EB, h$$EC, h$$ED, h$$EE, h$$EF, h$$EG, h$$EH, h$$EI, h$$EJ, h$$EK, h$$EL, h$$EM, h$$EN, h$$EO, h$$EP, h$$EQ,+h$$ER, h$$ES, h$$ET, h$$EU, h$$EV, h$$EW, h$$EX, h$$EY, h$$EZ, h$$E0, h$$E1, h$$E2, h$$E3, h$$E4, h$$E5, h$$E6, h$$E7,+h$$E8, h$$E9, h$$Fa, h$$Fb, h$$Fc, h$$Fd, h$$Fe, h$$Ff, h$$Fg, h$$Fh, h$$Fi, h$$Fj, h$$Fk, h$$Fl, h$$Fm, h$$Fn, h$$Fo,+h$$Fp, h$$Fq, h$$Fr, h$mainZCMainzimain_e, h$mainZCZCMainzimain_e,+h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwsumzq1_e, h$$FX, h$$FY, h$$FZ, h$$F0, h$$F1, h$$F2,+h$$F3, h$$F4, h$$F5, h$$F6, h$$F7, h$$F8, h$$F9, h$$Ga, h$$Gb, h$$Gc, h$$Gd, h$$Ge, h$$Gf, h$$Gg, h$$Gh, h$$Gi, h$$Gj,+h$$Gk, h$$Gl, h$$Gm, h$$Gn, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzizdwgo_e, h$$Go, h$$Gp, h$$Gq,+h$$Gr, h$$Gs, h$$Gt, h$$Gu, h$$Gv, h$$Gw, h$$Gx, h$$Gy, h$$Gz, h$$GA, h$$GB, h$$GC, h$$GD, h$$GE, h$$GF, h$$GG, h$$GH,+h$$GI, h$$GJ, h$$GK, h$$GL, h$$GM, h$$GN, h$$GO, h$$GP, h$$GQ, h$$GR, h$$GS, h$$GT, h$$GU, h$$GV, h$$GW, h$$GX, h$$GY,+h$$GZ, h$$G0, h$$G1, h$$G2, h$$G3, h$$G4, h$$G5, h$$G6, h$$G7, h$$G8, h$$G9, h$$Ha, h$$Hb, h$$Hc, h$$Hd, h$$He, h$$Hf,+h$$Hg, h$$Hh, h$$Hi, h$$Hj, h$$Hk, h$$Hl, h$$Hm, h$$Hn, h$$Ho, h$$Hp, h$$Hq, h$$Hr, h$$Hs, h$$Ht, h$$Hu, h$$Hv, h$$Hw,+h$$Hx, h$$Hy, h$$Hz, h$$HA, h$$HB, h$$HC, h$$HD, h$$HE, h$$HF, h$$HG, h$$HH, h$$HI, h$$HJ, h$$HK, h$$HL, h$$HM, h$$HN,+h$$HO, h$$HP, h$$HQ, h$$HR, h$$HS, h$$HT, h$$HU, h$$HV, h$$HW, h$$HX, h$$HY, h$$HZ, h$$H0, h$$H1, h$$H2, h$$H3, h$$H4,+h$$H5, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles3_e, h$$H6, h$$H7, h$$H8, h$$H9, h$$Ia,+h$$Ib, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles1_e, h$$Ic, h$$Id, h$$Ie, h$$If, h$$Ig,+h$$Ih, h$$Ii, h$$Ij, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles2_e, h$$Ik, h$$Il, h$$Im,+h$$In, h$$Io, h$$Ip, h$$Iq, h$$Ir, h$$Is, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles4_e,+h$$It, h$$Iu, h$$Iv, h$$Iw, h$circlezmpackingzm0zi1zi0zi4ZCOptimisationziCirclePackingzipackCircles_e, h$$Ix, h$$Iy,+h$$Iz, h$$IA, h$$IB, h$$IC, h$$ID, h$$IE, h$$IF, h$$IG, h$$IH, h$$II, h$$IJ, h$$IK, h$$IL, h$$IM, h$$IN, h$$IO, h$$IP,+h$$IQ, h$$IR, h$$IS, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziTypeszicastRef_e,+h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCFromJSRef_e,+h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCFromJSRef_con_e, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCToJSRef_e,+h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalziDZCToJSRef_con_e, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziMarshalzitoJSRef_e,+h$$IZ, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfToJSStringZMZN_e,+h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzizdfFromJSStringZMZN_e, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzijsFalse_e,+h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzijsTrue_e, h$ghcjszmbasezm0zi1zi0zi0ZCGHCJSziForeignzitoJSString_e, h$$I0,+h$$I1, h$$I2, h$$I3, h$$I4, h$$I5, h$$I6, h$$I7, h$$I8, h$$I9, h$$Ja, h$$Jb, h$$Jc, h$$Jd, h$$Je, h$$Jf, h$$Jg, h$$Jh,+h$$Ji, h$$Jj, h$$Jk, h$$Jl, h$$Jm, h$$Jn, h$$Jo, h$$Jp, h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziclearRect_e,+h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziarc_e, h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvasziclosePath_e,+h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszibeginPath_e, h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszifill_e,+h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszigetContext_e,+h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszufill_e,+h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszubeginPath_e,+h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszuclosePath_e,+h$ghcjszmcanvaszm0zi1zi0zi0ZCJavaScriptziCanvaszijszuclearRect_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEvent2_e, h$$Jx, h$$Jy, h$$Jz, h$$JA,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEventzugo_e, h$$JB, h$$JC, h$$JD,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEvent2_e, h$$JE, h$$JF,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElement2_e, h$$JG, h$$JH, h$$JI, h$$JJ,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElementzugo_e, h$$JK, h$$JL, h$$JM,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElement2_e, h$$JN, h$$JO,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElement2_e, h$$JP, h$$JQ, h$$JR, h$$JS,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElementzugo_e, h$$JT, h$$JU, h$$JV,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement2_e, h$$JW, h$$JX,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElement2_e, h$$JY, h$$JZ, h$$J0, h$$J1,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElementzugo_e, h$$J2, h$$J3, h$$J4,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElement2_e, h$$J5, h$$J6,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocument2_e, h$$J7, h$$J8, h$$J9, h$$Ka,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocumentzugo_e, h$$Kb, h$$Kc, h$$Kd,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocument2_e, h$$Ke, h$$Kf, h$$Kg, h$$Kh, h$$Ki, h$$Kj, h$$Kk,+h$$Kl, h$$Km, h$$Kn, h$$Ko, h$$Kp, h$$Kq, h$$Kr, h$$Ks, h$$Kt, h$$Ku, h$$Kv, h$$Kw, h$$Kx, h$$Ky, h$$Kz,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToBarProp2_e, h$$KA,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwcastTo_e, h$$KB, h$$KC,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEventzuzdctoJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefUIEvent1_e, h$$KD, h$$KE, h$$KF, h$$KG, h$$KH,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassUIEventzuzdcunsafeCastGObject_e, h$$KI,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElementzuzdctoJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLInputElement1_e, h$$KJ, h$$KK, h$$KL, h$$KM, h$$KN,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLInputElementzuzdcunsafeCastGObject_e, h$$KO,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElementzuzdctoJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefHTMLCanvasElement1_e, h$$KP, h$$KQ, h$$KR, h$$KS, h$$KT,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassHTMLCanvasElementzuzdcunsafeCastGObject_e, h$$KU,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElementzuzdctoJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefElement1_e, h$$KV, h$$KW, h$$KX, h$$KY, h$$KZ,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassElementzuzdcunsafeCastGObject_e, h$$K0,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocumentzuzdctoJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfToJSRefDocument1_e, h$$K1, h$$K2, h$$K3, h$$K4, h$$K5,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfGObjectClassDocumentzuzdcunsafeCastGObject_e, h$$K6,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEventzuzdcfromJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa124_e, h$$K7, h$$K8, h$$K9, h$$La, h$$Lb,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefUIEvent1_e, h$$Lc,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElementzuzdcfromJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa67_e, h$$Ld, h$$Le, h$$Lf, h$$Lg, h$$Lh,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLInputElement1_e, h$$Li,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElementzuzdcfromJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa47_e, h$$Lj, h$$Lk, h$$Ll, h$$Lm, h$$Ln,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefHTMLCanvasElement1_e, h$$Lo,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElementzuzdcfromJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa30_e, h$$Lp, h$$Lq, h$$Lr, h$$Ls, h$$Lt,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefElement1_e, h$$Lu,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocumentzuzdcfromJSRef_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdwa27_e, h$$Lv, h$$Lw, h$$Lx, h$$Ly, h$$Lz,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfFromJSRefDocument1_e, h$$LA,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsDocumentDocument_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsElementElement_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsHTMLCanvasElementHTMLCanvasElement_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszizdfIsHTMLInputElementHTMLInputElement_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziDZCGObjectClass_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziDZCGObjectClass_con_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziGObject_e, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziGObject_con_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLInputElement_e, h$$LB,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszicastToHTMLCanvasElement_e, h$$LC,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypesziunsafeCastGObject_e, h$$LD,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziTypeszitoGObject_e, h$$LE,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLInputElementzihtmlInputElementGetValue1_e, h$$LU, h$$LV, h$$LW,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLInputElementzihtmlInputElementGetValue_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetWidth1_e, h$$LX, h$$LY,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetHeight1_e, h$$LZ, h$$L0,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetHeight_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziHTMLCanvasElementzihtmlCanvasElementGetWidth_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziEventTargetClosureszieventTargetAddEventListener1_e, h$$L1, h$$L2, h$$L3, h$$L4,+h$$L5, h$$L6, h$$L7, h$$L8, h$$L9, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup1_e, h$$Ma,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange1_e, h$$Mb,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnkeyup_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziElementzielementOnchange_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzizdwa30_e, h$$Mc, h$$Md, h$$Me,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById1_e, h$$Mf,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMziDocumentzidocumentGetElementById_e,+h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMzicurrentDocument1_e, h$ghcjszmdomzm0zi1zi1zi3ZCGHCJSziDOMzicurrentDocument_e,+h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziReaderzizdfMonadTransReaderT1_e,+h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziReaderzizdfMonadTransReaderT_e,+h$transformerszm0zi4zi3zi0ZCControlziMonadziTransziClasszilift_e], h$staticDelayed, [],+"#$! ##! #!! ##! #!! !!%! #!# #!! !!%! #!# !#'! ##$ !!%! #!# !$)! #!% !#'! #!$ #!! !!%! !#'! $$# $$$ $$% $$% $$! !#'! $$# $$$ !#'! $$# $$$ !#'! $$! !#'! $$# $$# !#'! $$# $$# !)3! #!* !#'! #!$ !#'! !#'! !#'! !#'! $$# $$# !#'! $$# $$# !#'! $$# $$# !#'! $$# $$# !#'! $$# $$# !#'! $$# $$# !#'! $$# $$# !!%! $$! !#)! !!&& $ !!'! !!&% $ !$+! !!&' $ !!'! !!&% $ $ $ $ !!|'r !!|'p!!%!!N!!%! $$! $$# !!%!!O!!%!!Q!$)!!U$$$!U$$$!U!!%!!U$$!!U!$)!#|$UT $#|$UT $!|$U $!|$U!#'!!U$$#!U!#'!!V!!#!!d!!%!!Y$$!!Y$$#!Y!$)! $$# $ !!%! $$! !#'! !#'! $$# $ !#'! !!#!!g!!%!!h$$!!h$$#!h!!%! #!# !#'! #!$ !!%! #!# !!%! $$# $$! !!%! !!%! $$! !#'! $$# !#'! $$# !#'! $$# $$% $$# !#'!#u| ($$##u| ($$$ $$#!u!#'!#v| ($$##v| ($$$ $$#!v!#'!#w| ($$##w| ($$$ $$#!w!#'! $$# $$% $$# !#'! $$# $$% $$$ !#'!#z| 8$$##z| 8$$%!z$$#!| 8!#'!$| 6{| ($$$$| 6{| ($!$$| 6{| ($$$$| 6{| ($!$#| 6{$$##| 6{$$%!{$$$!| 6$$&!| 6$$! ! !!%! !#'! ! !$)! !#'! !#'! ##$ !!%! #!# !!'! !#'! $$# !!%! $$! !#'! $$# $$$ $$# !#'! $$# $$$ $$# !#'! $$# $$$ $$# !#'! $$# $$$ $$# !#'! $$# $$$ $$# !!%! $$! !!%!!| $$!!| !#'! $$# $$$ $$# !!%!!| $$!!| !!%! $$! !!%! $$! !!%! !#'!#| A| <$$$ !$)! $$% $$& $&$ $$% $ !!%! #!# ! $!# !%*$ !#'!!| >$$#!| >$$$!| >$$$ $$# $$$ $$! !!%!#| ?| <$$!#| ?| <$&! !#'! !!%! !$)!#z| F$$$#z| F$$%#z| F$$%#z| F$$%!| F$$$!| F!$)!+z| 8| 6|%i|%h|%[|#[|#X|#\/| G$$$+z| 8| 6|%i|%h|%[|#[|#X|#\/| G$$%$z|#[| G$$%$z|#[| G$$%$z|#[| G$$%!| G$$$!| G$$$(z| 8| 6|%i|%h|%[|#[$$#&z| 6|%i|%[|#[$$#$z| 6|%i$$$#z|%i$$$#z|%i$$#!|%i$$##z|%h$$!!|%h!!%!&|$A|#p|#s|#]| H!!&# $$# !!&$ $$$ !!&$!|$A$$$!|$A$$# !!&#!|#s!!&# !!&# $$# #!|#]!!&# #!| H!#'!#| H| I!!&%!| I$$%!| I$$&!| I$$&!| I!!&$ !!&$ $ # !!%!!| K$$! !!%!%|#{|#-|#(| N!!&#$|#{|#(| N$$! !!&$#|#{| N$$! !!&% !!%! !!%! !!%!'| 8|#p|#[|#X| F|#-!!&# $$# !!&# $$# #'| 8|#p|#[|#X| F|#-$$#!|#p!!&#&| 8|#[|#X| F|#-$$#&| 8|#[|#X| F|#-$$! !!&#%| 8|#[|#X| F #%| 8|#[|#X| F$$!!| 8!!&#%|#[|#X| F|#-$$#%|#[|#X| F|#-$$! !!&#$|#[|#X| F #$|#[|#X| F #%|#[|#X| F|#-$$! !!&#$|#[|#X| F #$|#[|#X| F!!%! !#|#r|# !!%!!| W$$! !!&# # !!%!!| [$$! !!&# # !!%!!| `$$! !!&# # !!%!!| d$$! !!&# # !!%!!| h$$! !!&# # !!%!!| l$$! !!&# # !!%!!| p$$! !!&# # !!%!!| t$$! !!&# # !!%!!| x$$! !!&# # !!%!!|! $$! !!&# # !!%!!|!%$$! !!&# # !!%!!|!)$$! !!&# # !!%!!|!-$$! !!&# # !!%!!|!1$$! !!&# # !!%!!|!5$$! !!&# # !!%!!|!9$$! !!&# # !!%!!|!=$$! !!&# # !!%!!|!A$$! !!&# # !!%!!|!E$$! !!&# # !!%!!|!I$$! !!&# # !!%!!|!M$$! !!&# # !!%!!|!Q$$! !!&# # !!%!!|!U$$! !!&# # !!%!!|!Y$$! !!&# # !!%!!|!^$$! !!&# # !!%!!|!b$$! !!&# # !!%!!|!f$$! !!&# # !!%!!|!j$$! !!&# # !!%!!|!n$$! !!&# # !!%!!|!r$$! !!&# # !!%!!|!v$$! !!&# # !!%!!|!z$$! !!&# # !!%!$|#{|#%|#!$$! !!%!!|#$$$! !!&# # !!%!!|#'$$! !!&# # !!%!!|#)$$! !!%!!|#-!!&#!|#-$$#!|#-$$! !!&# !!%!!|#,$$! !!%!!|#-!!&# $$# !!&$!|#-$$$!|#-$$! $$! $$! $$! !!&# !!&# !#'!!|#R!!&$ !!&# $$# !#($!|#R$$%!|#R$$&!|#R$$&!|#R!!&# # !!&# # !!&# # !!&# # !!&# # !!&# # !!&# # !!&# # !!&# # !!&# # !!&# # !!&# # $$% !!&# !!&# $ & !!&$ !!&# # !!%!!|#2!!%!#|$C|#M$$#!|#M!!%! $$! !!%! !!&$ $$$ # # !#|*f|#.!!%!+z| 8| 6|%i|%[|#[|#X| F|#\/| G$$!+z| 8| 6|%i|%[|#[|#X| F|#\/| G$$$+z| 8| 6|%i|%[|#[|#X| F|#\/| G$$$%|#[|#X| F| G$$$!| G$$##|#X| G$$#*z| 8| 6|%i|%[|#[|#X| F|#\/$$$*z| 8| 6|%i|%[|#[|#X| F|#\/$$#'z|%i|#[|#X| F|#\/$$#$z|%i|#\/$$!$z|%i|#\/$$!#|%i|#\/$$#(z| 6|%i|%[|#[|#X| F$$#'z| 6|%i|#[|#X| F$$$&z|%i|#[|#X| F$$$&z|%i|#[|#X| F$$$#z|%i$$#!|%i$$!$z|%i|#\/$$!#|%i|#\/$$!$z|%i|#\/$$!#|%i|#\/ # $$! !!%! !$)!&|#V|#Z|#U|#T|#S$$$&|#V|#Z|#U|#T|#S$$'&|#V|#Z|#U|#T|#S$$(%|#V|#Z|#U|#S$$($|#V|#Z|#S$$'$|#V|#Z|#S$$&#|#Z|#S$$&$|#V|#Z|#S$&&#|#Z|#S$$'#|#Z|#S$$&#|#Z|#S$$&#|#Z|#S$$&#|#Z|#S$$&#|#Z|#S$$$#|#Z|#S #!|#S$&! #!|#S$&! #!|#S$&! !!%!)|+\/|#p|#{|#X| F|#-| S| Q!!&, $$, *)|+\/|#p|#{|#X| F|#-| S| Q$$*#|#p| S *#|#p| S!!&# $$# #!| S!!&B $$B # # # # # # # # # # # # # # # # # # # # # # # # # !!&#&|+\/|#X| F|#-| Q$$! !!&$%|+\/|#X| F| Q$$##|+\/| Q$$$!|+\/ #!|+\/$$!!|+\/ # $$! # # # # # # # # # # !!%!-|$B|#p|#{|#]|#L|#K|#2|#1|#0|#+| I| J!!&# $$# #-|$B|#p|#{|#]|#L|#K|#2|#1|#0|#+| I| J!!&# $$# #,|$B|#p|#{|#L|#K|#2|#1|#0|#+| I| J!!&# $$# #+|$B|#p|#{|#L|#K|#2|#1|#0|#+| J!!&#!|#0$$$ #*|$B|#p|#{|#L|#K|#2|#1|#+| J!!&#$|#K|#2|#1$$$#|#K|#1$$! !!&$!|#K$$$ #'|$B|#p|#{|#L|#+| J!!&##|$B|#L$$$!|#L$$! !!&$ $$#!|#L$$! !!&$ #$|#{|#+| J$$! #!| I!!&$ $$$ !!&# $$# $ #!|#]!!&# !!&# $$# $ # #(! !!%! #'# !!%! #&# !!%! #%# !!%! #$# !!%! ### !!%! #!# !$)! ##% !#'! #!$ !!%! $$! $$# $$$ # !!%!!|#s!!&#!|#s!!&# !#'!%|*f|#l|#k|#j$$#%|*f|#l|#k|#j$$#$|*f|#l|#k$$!$|*f|#l|#k$$!$|*f|#l|#k$$##|*f|#l!#'! $$# $ $$# $$# $$# !#'!#|#p|#v$$$#|#p|#v $!|#p$$%#|#p|#v!!&$!|#p$$#!|#p $ $!$#|#p|#v$$##|#p|#v $!|#p$$##|#p|#v $ !!&$ % $ $$# !!&$ % $ !!&$ % $$$ $$# $!$#|#p|#v!!&$ % $$# !!&$!|#p$$#!|#p $ !!&$!|#p$$#!|#p!!&$!|#p $ !#'!#|#q|#p$$##|#q|#p$$! !!&$ $$$ $$% $$$ $$# $ $$#!|#p $!|#q!!&$!|#q$$#!|#q!!&$!|#q$$#!|#q!!%!#|#r|#p$$!#|#r|#p$$##|#r|#p!!&$!|#p$$#!|#p $ #!|#r!!%!#|$A|#s$$!#|$A|#s$$#!|#s!!&# !!&# $ #!|#s!#'! !!&# $ !!%! !!|,.!!%! !#'! !!&% !#($ $$% $$% $$& $$& !!&# !!&# $ % !!&# !!%! !#'! !!&$ !!&$ $$$ $$% !!&$ !!&# % !!&$ $ !$)!!|#q!!&% !$*$!|#q$$&!|#q!!&$!|#q!!&# $!|#q$$% $$& $$% # !!%! !!%! !!%! #&# !#'! #%$ #$! !!%! ### !!%! #!# ! !$'!$|$4|$3|$,!#&##|$4|$,$$##|$4|$,$$%#|$4|$,$$% $$% ! ! ! ! !$'!&|$3|$1|$0|$\/|$.!#&#%|$1|$0|$\/|$.$$#%|$1|$0|$\/|$.$$&%|$1|$0|$\/|$.$$&#|$\/|$.$$&#|$\/|$.$$%#|$\/|$.$$$#|$\/|$.$$$!|$\/$$$ !$'!)|(w|+T|+W|+U|$+|$*|$)|$($$()|(w|+T|+W|+U|$+|$*|$)|$($$')|(w|+T|+W|+U|$+|$*|$)|$($$# $$# $$# !!$&(|(w|+W|+U|$+|$*|$)|$($$!!|(w$$!!|(w$$!!|(w$$)&|(w|+W|+U|$+|$($$'$|(w|+W|$($$!!|(w!!$% !!$% $$$ ! !#%!!|$4$$!!|$4 #!|$4$$# !#%!%|(w|+U|$=|$6$$%#|(w|$=$$% !!$% $$$ $$! !!%! $$! !#%!$|+U|$;|$:$$%!|$; $ !!$% $$$ $$! !!%! #!# !!'! #!$ !!%! !!%! $$! !!%! $$! !!%! $$! !#%!$|$E|$J|$F!!$##|$J|$F!#%!!|$D!$'!(|)T|(R|'-|+-|$O|$M|$K$$$'|)T|(R|'-|+-|$O|$K$$$&|)T|(R|'-|+-|$K$$$%|)T|'-|+-|$K$$$%|)T|'-|+-|$K$!!#|)T|$K$!$#|'-|+-$$##|'-|+-$$%#|'-|+-$$# $!)#|'-|+-$$$#|'-|+-$$&#|'-|+-$$%#|'-|+-$$%#|'-|+-$$%#|'-|+-$$$#|'-|+-$$%!|+-$$$ $$# $$$ $$# $$%!|+-$$$ $$# $$$ $$# $$$ $$# $$$ $$# $$$ $$# $$$ $$# $$$ $$# $$$ $$# $$$ $$# !#%!#|)T|$K$$!#|)T|$K$!!#|)T|$K!#%!!|$E!!$# !!#!#|'-|'\/!#%! $$! !!#!#|'\/|',!#%!!|$D!#%!!|$L!%)! $$$ $$% $$% !$'! $$# $$$ !#'! !#'!$|$U|%M|$V$$#$|$U|%M|$V$$$$|$U|%M|$V $!|$U $!|$U!#'!.|&Y|&H|%T|$a|$`|$_|$^|$]|$[|$Z|$Y|$X|$W $ $&! # $$! $$# # $$! $$# #$|&Y|&H|%T!#'! # $&! $ $&! $ $&! !$)! $ $&! !$)! #!% !$)! $$$ & % !!&% $$% & $ !!%! $$! !!%! #!# !$)!(zwv|%k|%j|%h|%X$$%'zw|%k|%j|%h|%X$$%&zw|%j|%h|%X$$$#z|%X$$$!|%X$$%&zw|%j|%h|%X$$$&zw|%j|%h|%X$$$%zw|%j|%X$$$#z|%X$$$!|%X!#'!)zwv|%k|%j|%h|%Y|%X$$$(zw|%k|%j|%h|%Y|%X$$$'zw|%j|%h|%Y|%X$$##z|%Y$$#!|%Y$$$&zw|%j|%h|%X$$#%zw|%j|%X$$##z|%X$$$!|%X!#'!%|%k|%h|%]|%Y$$$%|%k|%h|%]|%Y$$$#|%h|%Y !#|*f|%Z!#'!#|%v|%s$$##|%v|%s$$##|%v|%s!#'!!|%v$$#!|%v$$# !#'!#|%v|%s!#'!!|%`$$#!|%`$$#!|%`$$! !#'!!|%v$$#!|%v$$# $$! !#'!#|%v|%t$$##|%v|%t$$##|%v|%t!#'!#|%v|%t$$##|%v|%t$$##|%v|%t!!%! $$! !!%!!|%h$$!!|%h$$!!|%h!#'!&w{|%v|%u|%k$$$&w{|%v|%u|%k$$$$w|%v|%k$$%#w|%v$$$!w$$# !%+! #!& !*5! #!+ !$)! #!% !#'! #!$ !#'! $$# $$# !!|*b !!|*c !!|*d!!%! $$! !!%! $$! !$)! $ !!%!#|&,|&$ ##|&,|&$ !#|&4|&-!!%!!|&!!$)!%|#p|#s|#^|&\/!#($%|#p|#s|#^|&\/!!&#!|#s $!|&\/$$! !!&# #!|#^!!&& $$& $$' $$( $$' !!&#!|#s!!&# #!|#^!!&% !!&# # $$! !#'! ! !#'!!|&( ! !#'!!|&*!!%!'|*2|#W|&+|&)|&'|&&$$!'|*2|#W|&+|&)|&'|&&$$!#|*2|&+!#(# #!|*2$$!!|*2$$#$|&+|&)|&'$$!!|&)!#'!#|&,|&$!#'!#|&4|&-!#'!#|#s|#^!!&#!|#s!!&# $#|#s|#^!!&# $$# $$# $#|#s|#^!!&##|#s|#^!!&#!|#s!!&# $!|#^!!&# $$# $$# $ !#'!%|#p|#s|#^|&\/!!&%%|#p|#s|#^|&\/!!&#!|#s $!|&\/$$! !!&# %#|#p|#^!!&# $$# $$# %!|#p$$#!|#p % !!&$ !!&$ !#(# !#($#|#s|#^!!&#!|#s!!&# #!|#^!!&% $$% $$% $$& $$# $$$ $$# % !!&$ !!&$ # !%+! #!& !!'! #!$ !#'! $$# $$# !#'! $$# $$# !#'! $$# $$# !!%! $$! !!%! $$! !!%! $$! !!%! $$! !(1! #!) !!%! $$! !!%! $$! !!%! $$! !!%! #!# !#'!#|&H|&V$$##|&H|&V!$)! $$$ $$% !#'! $$# $$$ !#'! $$# $$& # $$! # $$! $ $&! !#'! $$# $$& # $$! # $$! $ $&! !#'! $$# $$% !#'! $$# !#'! $$# $$$ $ !%+! !#(% $$& $$' % !$)! $$$ $$% % % !#'! $$# $$% $ !%+! $$% !#|*f|&W !#|*f|&T !#|*f|&U!!%!!|&X$$!!|&X $ !#'! $$# $$$ !!%! #!# !!'! #!$ !#'! #!$ !#'! #!$ !#'! $$# !1C! #!2 !1C! $$1 $$1 $$1 $$1 $$1 #!! !!%! #$# ##! #!! #%! #!! !&+!#|(w|&m$$&#|(w|&m $ !#&'#|(w|&m$!'#|(w|&m$$&#|(w|&m$$(#|(w|&m$$!!|(w$!+!|&m$!&!|&m!&+!!|&m!!$&!|&m$$%!|&m$$# $$# $!# !&+!&|(x|&{|&w|&s|&r!#&#%|(x|&{|&w|&r$$#%|(x|&{|&w|&r$$+%|(x|&{|&w|&r$$+#|(x|&{$$+#|(x|&{$$# $$+#|(x|&{$$-#|(x|&{$$*#|(x|&{$$,#|(x|&{$$0#|(x|&{$$0#|(x|&{$$1#|(x|&{$$)#|(x|&{$$)#|(x|&{ $ $$# # $$! $!)#|(x|&{$$)#|(x|&{$$0#|(x|&{$$0#|(x|&{$$- $ $$( $$% $$# # $$! $$# !%)!!|&t$$$!|&t!-9!!|' $$-!|' $$-!|' $$\/!|' $$.!|' $$.!|' $$.!|' $$\/!|' $$.!|' $$.!|' $$.!|' $&-!|' $$0!|' $$1 $$1 # $$! $&0 $!% $$$ % 1 $$0 $$0 # $$! # $$! # $$! !#%! $$! $$% $$% $$% $$# !#|*f|&o!&+! $$! # $$! !$(% $$% $$& $$( $$& $$& $$# $$# !!%!#|'t|&p!$)! $$$ $ $$# $$! !!#!(|)<|'k|'j|'9|&x|'*|'&$$!'|'k|'j|'9|&x|'*|'&$$!'|'k|'j|'9|&x|'*|'&!!#!(|)<|'k|'j|'9|&x|'(|'*$$!'|'k|'j|'9|&x|'(|'*$$!'|'k|'j|'9|&x|'(|'*!$'!!|'+$$#!|'+!$'!!|'#$$$!|'#$$$!|'#$$*!|'#$$*!|'#$$*!|'#$$(!|'#$!'!|'#$$&!|'#$!! #!|'#$$%!|'#$$%!|'#$$%!|'#$$$!|'#$$$!|'#$$$!|'#$!! #!|'#$!! #!|'#$$$!|'#$$$!|'#$$$!|'#$!! #!|'#$!! #!|'# !!|'' !!|'%!#%!#|&u|'.!#%!!|'\/!%)!$|+V|'1|'2$$%!|'1 # $$%!|'1 # !!$%#|+V|'2$$$#|+V|'2$$%#|+V|'2$$!#|+V|'2$$%!|'1$$%!|'1$$%!|'1 $ $$# !!%! $$! !!#!!|'8!%)!$|*w|+U|':$$!!|*w #!|*w$$!!|*w!!$% $$$ $$$ $$! !%)!!|';$$$!|';$$$!|';!!%! $$! !#%!#|+U|'>$$! !!$# $$! !#%!!|'?$$!!|'?!#%! $$! !#%!!|$8$$! $$! # $$! # $$! !%)!$|+U|'G|'C$$! !!$% $&$ $$% $&! $&! $&! !%)!!|'D$$$!|'D ! !!%!!|'F!#%!$|+U|'H|'G$$! # $$! !!$# $&! !#%!!|'I$$!!|'I!#%!!|$< # $$! !$'!$|(w|+W|'L$&#$|(w|+W|'L$$!$|(w|+W|'L$$!!|(w!$'!!|'M$$#!|'M!$'!!|$- # $$! !#%!#|$5|$3 # $$! !$'!!|$2 # $$! # $$! !#%!!|$8$$! $$! # $$! !$'!$|(w|+W|'S$$#$|(w|+W|'S$$!!|(w!#%!!|'T$$!!|'T!%)!$|(w|+W|'V$$$$|(w|+W|'V$$!!|(w!$'!!|'W$$#!|'W$$$!|'W!$'! !)3!%|(w|+W|+V|'Z$$)$|(w|+W|'Z$$!!|(w$$) * $$) # $$! !!$'#|+V|'Z$$!#|+V|'Z!$'!!|'[$$#!|'[$$#!|'[!'-!#|(w|+W!!$'#|(w|+W$$&#|(w|+W$$'#|(w|+W$$'#|(w|+W$$##|(w|+W$$!!|(w!)3!#|'`|'_$$) $$) !$'!!|'b$$#!|'b$$#!|'b!$'! # $$! !$'!!|'1$$#!|'1$$)!|'1$$' !%)!$|(w|+W|'f$$! # $$! $$! # $$! !!$%$|(w|+W|'f$$$$|(w|+W|'f$$%$|(w|+W|'f$$!$|(w|+W|'f$$!!|(w!)3!!|'g$$) * $$) !$'!!|'h$$#!|'h$$#!|'h!#'! #!$ !#'! $$# $$# !!%!!|'q!!%!!|'s!!%!!|'u!#%!!|'t #!|'t!!%! $$! !$)!!|(8$$#!|(8!!%!!|(8$$!!|(8!#'!4|(.|(-|(,|(+|(*|()|((|('|(&|(%|($|(#|(!|( |'{|'z|'y|'x|'w$$#4|(.|(-|(,|(+|(*|()|((|('|(&|(%|($|(#|(!|( |'{|'z|'y|'x|'w!'\/!%|&_|(S|(6|(5$$$#|&_|(S #!|(S$$##|&_|(S$$##|&_|(S $!|(S #!|(S $!|(S #!|(S &$|(S|(6|(5$$#!|(S #!|(S %#|(6|(5 $!|(6$$#!|(6 $ !#'!!|(8$$#!|(8!#'!!|(9!!#!!|(^!!%!!|(<$$!!|(<$$#!|(<!#'!!|(A$$!!|(A!!%!!|(@$$!!|(@!!%!!|(@!!%!!|(A$$!!|(A!#'!!|(B!!#!!|(Y!!%!!|(E$$!!|(E$$#!|(E!#'!!|(J$$!!|(J!!%!!|(I$$!!|(I!!%!!|(I!!%!!|(J$$!!|(J!#'!!|(K!!#!!|(W!!%!!|(N$$!!|(N$$#!|(N!!#!!|([!!%!!|(Q$$!!|(Q$$#!|(Q$$!!|(Q$$#!|(Q#!! #!! !'\/! #!( #4! #3! #2! #1! #0! #\/! #.! #-! #,! #*! #)! #(! #'! #%! #$! ##! #!! !#)! $$# $&# $$$ $$% $&# $ $ # !#%!!|'v!#%!!|'v !!|'u!!%! !$'!#|(x|):$$##|(x|):$$!#|(x|):!!#!!|))!$'!!|)7$$#!|)7$$&!|)7!!#!!|),!.?! $&\/ $!2 $!2 $!3 $!3 $!3 $!4 $!4 $!4 $!2 $!4 $!4 $!3 $!3 $!5 $!5 !$'! $$# $$) !!#! !#%! !.?! $&\/ $!2 $!2 !$'! $$# $$) !$)! #!% !&-! #!' #$! ##! #!! !!%! $$! !!#!#|(x|)6!!#!!|)-!!$# !#&# !!|); !!|)> !!|)<$$! !\/?! #!0 ##! #%! #$! ##! #!! !!%! $$! !!%! $$! !!%! $$! !'\/! #!( !!%! $$! !!%! $$! !!%! $$! !'1! #!) !&-! $$& $$( $$( $$( ##! #!! !#%!#|(z|)Q ##|(z|)Q #!|(z !!|(y!%)! $$$ $$$ $$# $ !#&$ $$# !!$% $$$ $$$ $$# !!$# $ !#&$ $$# $$$ $$$ $$# $ !#&$ $$# !!%! $$! !#%!!|)P !#|*f|)U!#'! ##$ !#'! $$# !!%! #!# !!%! $$! #!! !(1! & $$% $&% $$' $$& $$& $$( $$& $$& $!& $$$ $$( $$# $$# $$( $$% $$% !%)! $$$ !#&$ $$% $$( $$# !#&& $$% $$% $$# !!&# $$# !$)!!|)V$$%!|)V$$%!|)V!#&%!|)V$$&!|)V$$'!|)V!#&% $$% $$$ $$$ $$& $$! $$# $$& $$$ $$% $$# $ $$# $$# $$$ $$% $$# $ !#&% !$)!%u|%v|)o|)c$$%$u|%v|)c$&$!|)c$$%!|)c$$$!|)c$$# $$$!|)c$$# !#'! $$# $$# !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !%+!&| C| >| B|)c|)`$$&&| C| >| B|)c|)`$$'&| C| >| B|)c|)`$$'&| C| >| B|)c|)`$&&&| C| >| B|)c|)`$$&$| >| B|)c$$&#| B|)c$$&!|)c$$# $$&!|)c$$# $$&#| B|)c$$%!|)c$$%!|)c$$# $$# $$%!|)c$$$!|)c$$'!|)`$$%!|)` % % $&&!|)`$$(!|)`$$(!|)`$$(!|)`$$(!|)`$$(!|)`$$%!|)` ! ! ! !!%!!|*2$$!!|*2!4I! #!5 !#'! $$# $$# !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !#'! $$# $$# !#'! $$# $$# !#'! $$# $$# !#'! $$# $$# !!%! $$! !#'!'| 8|)t|)s|)r|)p|)o$$$'| 8|)t|)s|)r|)p|)o$$#%|)t|)s|)r|)o$$!#|)s|)r$$$$| 8|)p|)o$$$#| 8|)p$$#!|)p$$! $$! !!%!!|*4!!%!!|*6!#'! $ !$)! !!%! !#'! !!#!!|*Q!!%!!|*<$$!!|*<$$#!|*<!#'!'|*K|*I|*G|*E|*C|*A$$!'|*K|*I|*G|*E|*C|*A!!%!'|*J|*H|*F|*D|*B|*@$$!'|*J|*H|*F|*D|*B|*@!!%!!|*@!!%!!|*B!!%!!|*D!!%!!|*F!!%!!|*H!!%!!|*J!!%!'|*K|*I|*G|*E|*C|*A$$!'|*K|*I|*G|*E|*C|*A!#'!!|*L!!#!!|*T!!%!!|*U$$!!|*U$$#!|*U#'! #%! #!! !%+! #!& !!%! $$! !!%! $$! !#'! #!$ !!%! $$! !!|*5 !!|*5 !!|*5!!%!!|*3!!%!!|*e #!|*e!$)! !&-! !#'! !!&$ % !%+! !!&& & !#|*f|*k!!%!!|*n$$!!|*n !#|*f|*m!!%!!|*p$$!!|*p!!%! !!%! $$! !#'! $$# $$# !#'! $$# $$# !$)! $$$ $$$ $$$ !#|*f|*l!)3! #!* !&-! ' !!&' % !$)! % !!&% % !&-! ' !!&' % !$)! % !!&% % !#'! !!#!!|+%!#%!%|)=|+)|+(|+'$$!%|)=|+)|+(|+'$$$$|)=|+(|+'$$$$|)=|+(|+'!#&#!|)=$$$ !#&# $$# $$$ $!|+($$$!|+($$!!|+($!( $$# $$# !#%! $$! !#|'0|'-!#%!!|+-$$# !!%! #!# !!|+$!#%!!|+*!!%!!|*f$$!!|*f # $&! !#'! $$# $$$ $$% $$% $$! !#'! $$# $ !$)! !!&% $$% $ !#'! $$# $ $ !$'! $$# !$'! $$# !#%! !!%!!|)T!$'! $$# $ !$'! $$# !%+! #!& !#'! #!$ !$)! $ !!%! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! $$! !!%! !$'! $$# $$$ !%)! $$$ $$% $$% !#%! $$! !$'! $$# $$$ !)3! #!* !!%! $$! !!%! $$! !%)! $&% $$# $$' # $ !%)! $&$ $$% $$& # !%)!#|+V|+U$$%#|+V|+U$$&#|+V|+U!#%!#|(w|+W$$!!|(w!%+!#|)=|)_!!$&#|)=|)_$$%#|)=|)_$$)!|)_$$' !%\/! #!( !$)! $$$ !&1! #!) !%+! $$% !$)! $$$ $$' !!%! $$! !!%! $$! !!%! ### #!! !!%! $$! # $$! # $$! # $&! !#'! $$$ !!&% $$% $$' $$' !!&# !$*& $$( $$) $ $ !!&$ !!&$ $ !$*& $$( $$) $ # $$$ $$$ $$& $$$ $!$ $$$ !!&$ $$$ $$& % $ !#($ $$% $$' $$) % % !!%! !$)! !$)! !!&& $$& $ $ # # !$)! !!%!!|+j!!%!!|+l!$)! $$# !!%! $$! !#'! $$# !#'! !!#!!|,(!!%!!|+s$$!!|+s$$#!|+s!#'!!|+x$$!!|+x!!%!!|+w$$!!|+w!!%!!|+w!!%!!|+x$$!!|+x!#'!!|+y!!#!!|,&!!%!!|, $$!!|, $$#!|, #!! !!%! #!# !!|+i!!'!#|+k|+m $!|+m!!%!+G|+;|,c|.,|.(|.)|,L|-d|-a|.0$$!+G|+;|,c|.,|.(|.)|,L|-d|-a|.0 #%G|,c|.,|-a!!&!(G|+;|.(|.)|,L|-d|.0$$!(G|+;|.(|.)|,L|-d|.0 #&|+;|.)|,L|-d|.0 !$|+;|,L|.0 #&|+;|.(|,L|-d|.0 #&|+;|.(|,L|-d|.0 !$|+;|,L|.0!!%!JG|&O|+_|+3|%y|#m|&Z|+>|+b|+h|+:|+e|+f|,^|+;|,t|,s|,q|,o|,r|,p|,_|,c|,d|.,|-t|-y|-u|.!|. |%m|*0|*.|*\/|,M|-j|-g|-a|-r|-e|&5$$!JG|&O|+_|+3|%y|#m|&Z|+>|+b|+h|+:|+e|+f|,^|+;|,t|,s|,q|,o|,r|,p|,_|,c|,d|.,|-t|-y|-u|.!|. |%m|*0|*.|*\/|,M|-j|-g|-a|-r|-e|&5 #%G|,c|.,|-a!!&#JG|&O|+_|+3|%y|#m|&Z|+>|+b|+h|+:|+e|+f|,^|+;|,t|,s|,q|,o|,r|,p|,_|,c|,d|.,|-t|-y|-u|.!|. |%m|*0|*.|*\/|,M|-j|-g|-a|-r|-e|&5$$#JG|&O|+_|+3|%y|#m|&Z|+>|+b|+h|+:|+e|+f|,^|+;|,t|,s|,q|,o|,r|,p|,_|,c|,d|.,|-t|-y|-u|.!|. |%m|*0|*.|*\/|,M|-j|-g|-a|-r|-e|&5 #(|%y|+:|+e|.!|%m|*.|-g !$|%y|%m|*. ##|.!|-g!!&$HG|&O|+_|+3|%y|#m|&Z|+>|+b|+h|+:|+e|+f|,^|+;|,t|,s|,q|,o|,r|,p|,_|,c|,d|.,|-t|-y|. |%m|*0|*.|*\/|,M|-j|-g|-a|-r|-e|&5 #(|%y|+:|+e|. |%m|*.|-g !$|%y|%m|*. ##|. |-g!!&%BG|&O|+_|+3|#m|&Z|+>|+b|+h|+f|,^|+;|,t|,s|,q|,o|,r|,p|,_|,c|,d|.,|-t|-y|*0|*.|*\/|,M|-j|-a|-r|-e|&5 #'|+>|+h|+;|,t|,_|-e !$|+>|,t|,_ #!|-e!!&%=G|&O|+_|+3|#m|&Z|+b|+f|,^|+;|,s|,q|,o|,r|,p|,c|,d|.,|-t|-y|*0|*.|*\/|,M|-j|-a|-r|&5 %!|,o &<G|&O|+_|+3|#m|&Z|+b|+f|,^|+;|,s|,q|,r|,p|,c|,d|.,|-t|-y|*0|*.|*\/|,M|-j|-a|-r|&5 #%G|,c|.,|-a!!&%:G|&O|+_|+3|#m|&Z|+b|+f|,^|+;|,s|,q|,r|,p|,c|,d|-t|-y|*0|*.|*\/|,M|-j|-r|&5$$%:G|&O|+_|+3|#m|&Z|+b|+f|,^|+;|,s|,q|,r|,p|,c|,d|-t|-y|*0|*.|*\/|,M|-j|-r|&5 #&|,d|-t|-y|-j|-r ##|-t|-r!!&%4|&O|+_|+3|#m|&Z|+b|+f|,^|+;|,s|,q|,r|,p|,c|*0|*.|*\/|,M|&5 #*|&O|+_|+3|#m|&Z|+b|,^|,M|&5 #(|&O|+3|#m|&Z|+b|,M|&5 #%|+3|#m|+b|&5 !#|#m|&5 #!|+b !#|&Z|,M!!&%*|+;|,s|,q|,r|,p|,c|*0|*.|*\/$$%*|+;|,s|,q|,r|,p|,c|*0|*.|*\/$$&*|+;|,s|,q|,r|,p|,c|*0|*.|*\/$$'*|+;|,s|,q|,r|,p|,c|*0|*.|*\/!!$$!|,c$$# $$# ()|+;|,s|,q|,r|,p|*0|*.|*\/ #!|,r ((|+;|,s|,q|,p|*0|*.|*\/ (%|,p|*0|*.|*\/ $#|*.|*\/ #!|*\/ $#|*.|*\/ #!|*\/ !#|*0|*. !!|*0 #$|+;|,s|,q #!|,q #!|,s ##|-u|-r !$|+;|..|,0 !$|+;|..|,\/ !#|$Q|,N!#'! $$# $$$ !!%! $$! $$# $$$ $ $$# $$# $$# # !!%! $$! $$# $$$ $ $$# $$# $$# # !!%! $$! $$# # $$! $$! # !!%!#|,T|,X$$!#|,T|,X$&#!|,X$$$!|,X$$&!|,X$$(!|,X$$)!|,X ' !!&' $$' $$' $$' $$' $$( $$( $$( $$* $$* $$* $$+ $$+ $ %!|,X$$&!|,X$$$!|,X$$!!|,X!!&$ !!&$ $$$ $$% $$& $$' $$' $$' $$' $$' $$' $$' $$' !#($ $$% $$& $$& $$& $$& $$& $$' $$' !!&$ $$$ $$% $$& $$' $$' $$' $$( $$( $$( $$) $$) $$) $$* $$* ' $$& $$& ' $$& $$& ' $$& $$& ' $$& $$& $ & $$% & $$% $ $$# $$# & $$% $$% $$% $ $$# $$# $ $$# $$# $$# $ $$# $$# $$# # $$! $$! % $$$ $$$ $$$ $$$ $$$ !!%! $$! $$# # $$! $$! # !!%! $$! $$# $$$ $ $$# $$# $$# # !!%! $$! $$# $$$ $ $$# $$# $$# # !#|*f|,Y!#'! $$# $$# $$# $$# !#'!!|,T$$!!|,T$$!!|,T$&! !!&$ $$$ $$% # $ $ $ $$# $$# $$# $ $$# $$# $$# # $$! $$! !!&# $ !!%! !#'! #!$ !#'! #!$ !!%! $$! !!%! !!%! ! ! !!%! !'-! $$& $$& $$& $$& $$& !)1!!|,j$$(!|,j$$(!|,j$$(!|,j$$(!|,j$$(!|,j$$(!|,j!)1!#|,f|,e$$(#|,f|,e$$( $$( $$( !#%! $$! !#%! $$! !#%! $$! !#%! $$! !'-! !)1!!|,i!#%! !#%! !#%! !#%! !#%! !#%! !#%! !'-! !#%! $$! $$# # $$! !!%! $$! $$# $$# !#%! $$! $$# !#%! $$! $$# # $$! !!%! $$! $$# $$# !#%! $$! $$# !#%! $$! $$# # $$! !!%! $$! $$# $$# !#%! $$! $$# !#%! $$! $$# # $$! !!%! $$! $$# $$# !#%! $$! $$# !#%! $$! $$# # $$! !!%! $$! $$# $$# !#%! $$! $$# !#%! !#%! # $$! !#%! !#%! # $$! !#%! !#%! # $$! !#%! !#%! # $$! !#%! !#%! # $$! !!%!!|*f$$!!|*f!&-!!|->$$%!|->$$&!|->!#%! !#%! $$! $$# !#&$ $$$ $$% !!%! $$! !#%! !#%! $$! $$# !#&$ $$$ $$% !!%! $$! !#%! !#%! $$! $$# !#&$ $$$ $$% !!%! $$! !#%! !#%! $$! $$# !#&$ $$$ $$% !!%! $$! !#%! !#%! $$! $$# !#&$ $$$ $$% !!%! $$! !#%! !#%! $$! $$! # !#&% $$# !#%! $$! !#%! !#%! $$! $$! # !#&% $$# !#%! $$! !#%! !#%! $$! $$! # !#&% $$# !#%! $$! !#%! !#%! $$! $$! # !#&% $$# !#%! $$! !#%! !#%! $$! $$! # !#&% $$# !#%! $$! ! ! ! ! !%+! #!& !!%! #!# !#'!#|-?|-<$$##|-?|-<!#'!#|-?|-=$$##|-?|-=!!%! $$! !!%! $$! !%)! $$# $$# $ !%)! !$'! $$! $$! !$'! $$! $$! !$'! !$'! !)1!!|,f$$) $$& $$& $$% $$% !!$& !!&% $ # !%)!#|.#|.$!#(# !%)!#|.#|.&!#(# !%)!!|.%!%)!!|.'!&+! $$$ $$$ $$# !&+! $$% !&+! !!#! !!#! !$)! !$)! !!%! ",+", ,!,#%,%!&$!)!+!-!\/!1,3!4!5!;!>!A.L:=!C!F.L?@!I!K!M!N!O!P!S!V!Y!]!`!c.LML+)JNGIJKH;<!f!h!k!n!q#w#x!y!z!| !0|68euYf!| #0|68sv[t!| $!| ' !| )!| -!| \/ !| 0!| 1!| 4!| 7!| 9!| :!| = +(|89% }$q!} 5B% |vO}#$K% }$Xb}#{N% } K]}'k<lmd2|85% }$q!} 5B% |vO}#$K% }$Xb}#{N% } K]}'k<n0 +(|89% }#^m} RZ% }'W*}!Na% }&)S|0d% }%a{} [Llmp2|85% }#^m} RZ% }'W*}!Na% }&)S|0d% }%a{} [Lq0!| >!| ?\/|*z^_c\/|*zghk!| B!| D!| F!| H!| K!| L!| N!| P!| R!| V!| Z!| _!| c!| g!| k!| o#| y-|!'% }$$(}((0-|!'%,-|!'#-|!'$!| z!| {#|! !|!!!|!#!|!$!|!&!|!(!|!)!|!+!|!-!|!1!|!5!|!9!|!=!|!A!|!C!|!E!|!I!|!K!|!M!|!O!|!P!|!R-|!'$-|!'%\/!|!X#|!Z!|!^!|!e!|!h!|!i!|!j!|!p!|#$!|#3!|#<!|#>!|#D!|#E!|#F&&-|!'% 1}((0!|#]#|#^!|#_*! | `& !|#c*!!| U| d& !|#g*!!| Y| h& !|#k*!!| ^| l& !|#o*!!| b| p& !|#s*!!| f| t& !|#w*!!| j| x& !|#{*!!| n|! & !|$$*!!| r|!%& !|$(*!!| v|!)& !|$,*!!| z|!-& !|$0*!!|!#|!1& !|$4*!!|!'|!5& !|$8*!!|!+|!9& !|$<*!!|!\/|!=& !|$@*!!|!3|!A& !|$D*!!|!7|!E& !|$H*!!|!;|!I& !|$L*!!|!?|!M& !|$P*!!|!C|!Q& !|$T*!!|!G|!U& !|$X*!!|!K|!Y& !|$]*!!|!O|!^& !|$a*!!|!S|!b& !|$e*!!|!W|!f& !|$i*!!|![|!j& !|$m*!!|!`|!n& !|$q*!!|!d|!r& !|$u*!!|!h|!v& !|$y*!!|!l|!z& !|%!*!!|!p|##& !|%&*!!|!t|#'& !|%**!!|!x|#+!|%,& !|%0& !|%4!|%6&!|%;!|%=!|%H -|!'$ !|%q *! |#>&*! |#@*!!|#4|#A&*! |#C*!!|#7|#D *!!|#:|#F *!!|#<|#H&*! |#J*!!|#>|#K&*! |#M*!!|#A|#N&*! |#P*!!|#D|#Q *!!|#G|#S *!!|#I|#U!|%r !|%t!|%v&&#|%{!|& -|!'% }$$(}((0-|!'% }$$) !|&9!|&:-|!'#.|+k|#d|%s-|8D|#e-|!'%7!|&O!|',&,|'T!|'U!|'W!|'Y!|'[!|'^!|'`!|'b!|'d!|'f!|'k !|'n&!|'t!|'z!|(A!|(P!|(W!|(_!|(b#|(c!|(d!|(e!|(q!|(r!|) !|),!|)-!|).!|)0,|)2!|)3!|)5 #|)7!|)8#|)>#|)?#|)@#|)A!|)B!|)L#|)]!|)^ !|)b!|)h -|!'%,!|)j2|2?|+l|(s|$A|$B|+l|+l!|)p!|)r!|)t!|)u!|)w!|)y!|){!|*!!|*#&&&!|*L !|*O!|*Q!|*R!|*T!|*U!|*V!|*W!|*[!|*_!|*` & *! |%3*!!|%)|%2*!!|%*|%1*!!|%+|%0*!!|%,|%\/*!!|%-|%.*!!|%.|%-*!!|%\/|%,*!!|%0|%+*!!|%1|%**!!|%2|%)*!!|%3|%(*!!|%4|%'*!!|%5|%&*!!|%6|%%*!!|%7|%$*!!|%8|%#*!!|%9|%!*!!|%:|% *!!|%;|${*!!|%<|$z*!!|%=|$y*!!|%>|$x*!!|%?|$w*!!|%@|$v*!!|%A|$u*!!|%B|$t*!!|%C|$s*!!|%D|$r*!!|%E|$q*!!|%F|$p*!!|%G|$o&&&&!|*e!|*o!|*v&&&!|*y*!!|%H|$n!|*{!|+(!|+*!|+,!|+6 !|+?#|+B!|+C!|+F!|+I!|+J!|+N!|+R&!|+U!|+X!|+Z-|!'$!|+^-|!'%\/-|!'#\/|+i|&MO|%r+*|+g|%w|+(|%i|%j|%l|%m|%n|%p|%q!|+d!|+f!|+h!|+j!|+l#|+o.2|&#|%o#|+p#|+q!|+r!|+t!|+v&*! |&*!|+x#|+z!|+{!|, !|,4 #|,5!|,6#|,7!|,8!|,9!|,A!|,B!|,C&*! |&;&*! |&=!|,S0|,t|&,|&.|&8|&9!|,s!|,u!|,w!|,z!|-!!|-%!|-'&&&!|-)!|-++(|-.|&C|&D|&E|&F|&G|&K|&L!|--!|-\/!|-1!|-3!|-5!|-7!|-9!|-<!|-?!|-H!|-Q!|-T!|-V!|-Z!|-`!|-e!|-i #|-k #|-l#|-m!|-n!|-q!|-t!|-v &!|-x!|-z!|. !|.#!|.%,|.+!|.,,|..,|.\/,|.0,|.1.|-y|&q|&q!|.2-|.-|+l 2|2?|+l|) 0|' |+l|+l!|.<!|.B!|.c 2|2?|+l|) 0|'&|+l|+l!|.e!|\/( 2|2?|+l|) 0|'*|+l|+l#|\/.!|\/\/!|\/;!|\/<!|\/A !|\/D !|\/G-|8D|'4!|\/I#|\/f#|\/g !|\/h!|\/i!|\/j !|\/x +(|89% }'P9}&6w% }$>>|pk% }'d8}!h=% }#s:} hz|'?|'@|'A2|85% }'P9}&6w% }$>>|pk% }'d8}!h=% }#s:} hz|'B0!|\/z !|\/{!|0(!|0+ !|0-!|01!|03!|05 !|0<!|0D#|0F!|0G !|0H!|0N!|0P !|0S!|0W!|0Y!|0]!|0`!|0e !|0j!|0m !|0o!|0r!|0u !|0v!|1%&!|1( &!|1\/!|12!|15!|18 !|1<!|1H!|1L+\/|3;|'G|'K|'L|'M|'P|'U|'V|'Y|'Z|'[|']|'^|'a|'d2|3H|'e|'h|'n|'o|'p|'t!|1O!|1Q.|1P%\/#.|1P$#!|1T0|68|(Y|(j|'{|(Z!|1U0|68|(P|(k|(!|(Q!|1V0|68|(G|(l|($|(H!|1W !|1Y&*! |(;&!|1[!|1^!|1` &!|1b!|1r!|1t !|1u!|1v!|1y!|1{ !|2!!|2#!|2% !|2&!|2'!|2*!|2, !|2.!|2\/!|21 !|22!|23 !|26!|27 +(|89% |SD}!C.% }'?V}#mX% }$D(| )% }$Hh|x6|(`|(a|(X2|85% |SD}!C.% }'?V}#mX% }$D(| )% }$Hh|x6|(b0+(|89% }'nc}!lM% }#tR|;J% } ZV}%^\/% }$1F}&r_|(`|(a|(O2|85% }'nc}!lM% }#tR|;J% } ZV}%^\/% }$1F}&r_|(d0+(|89% |UJ}%U[% }$H`}$>o% }( V}#o2% }$%_|bE|(`|(a|([2|85% |UJ}%U[% }$H`}$>o% }( V}#o2% }$%_|bE|(f0+(|89% }#\/f|da% }'Y8}#(W% }$b+} -,% }&w4}%oH|(`|(a|(F2|85% }#\/f|da% }'Y8}#(W% }$b+} -,% }&w4}%oH|(h0\/|*z|(R|(S|(W\/|*z|(I|(J|(N\/|*z|(>|(?|(E,|2<,|2=!|2>,|2@,|2A,|2B,|2C,|2D,|2E,|2F,|2G,|2H,|2I,|2J,|2K,|2L,|2M,|2N,|2O,|2P!|2Q!|2Z!|2[#|2]!|2^!|2_!|2b!|2c!|2f !|2g!|2x!|2{!|3 1|3,|)1|)+|)2|)2|)3!|3!!|3&1|3,|)6|)-|)2|)2|)3\/|3*|)\/|),|).!|3)!|3+,|3-,|3.,|3\/!|30 2|2?|+l|(v|)@|)?|+l|+l!|32 2|2?|+l|(v|)C|)D|+l|+l!|33#|36#|37#|38!|3:,|3<,|3=,|3>,|3?,|3@!|3A!|3C!|3E!|3G!|3I!|3K!|3M!|3O!|3Q,|3V,|3W!|3X#|3[!|3]!|3r!|3t #|3u!|3v!|3x!|3z!|4 ,|4#!|4$!|46!|4B!|4[&&-|!'$'!|4d!|4g!|4i!|4k!|4m''!|4o!|4q!|4s-|!'#!|4u'#|57#|58#|59!|5:!|5<!|5>!|5A!|5C!|5E!|5G!|5I!|5K!|5M!|5O!|5Q!|5S!|5U!|5W!|5Y!|5[!|5_!|5b!|5e+(|-.|*8|*6|*7|*4|)t|)w|)x0|+e|*9|*5|)y|*%+4|5=|*:|)o|*3|*1|*2|*'|)p|*0|*.|*\/|*-|*+|*,|**|*(|*)|)q|)r|)s!|5h!|5j!|5s0|68|*G|*c|*>|*H!|5t0|68|*a|*d|*@|*b!|5u!|5w!|5x!|5y !|5z!|5{!|6#!|6% !|6' !|6( !|6) !|6* !|6+ !|6,!|6-!|6\/ +(|89% }&2n}#1A% }#A<}#)C% }$R-}#;$% }&W`}&y<|*Y|*Z|*F2|85% }&2n}#1A% }#A<}#)C% }$R-}#;$% }&W`}&y<|*[0 +(|89% } ?w}%cb% }'r5}!mI% }#JS}#]5% }%nF}! k|*Y|*Z|*^2|85% } ?w}%cb% }'r5}!mI% }#JS}#]5% }%nF}! k|*_0!|60!|61\/|*z|*C|*D|*E\/|*z|*I|*J|*X,|64,|65,|66!|67!|69!|6;!|6=!|6?#|6A#|6B#|6C!|6D!|6E!|6G!|6H!|6I!|6L #|6O!|6P#|6R!|6S!|6U!|6V!|6X!|6[!|6_#|6c+)|6e|*z|+ |+!|+!|+#|+$|+%|+&!|6d!|6f!|6j!|6n!|6r!|6v!|6w!|6x!|7, #|7.!|7\/&!|71#|73!|74!|75!|79!|7?!|7B!|7F!|7J!|7L!|7N!|7O!|7P!|7S.|7X|+C|+D0|7V|+?|+@|+A|+B!|7U!|7W!|7Y!|7[!|7]!|7_!|7a!|7c!|7e!|7g!|7h!|7k!|7o!|7q&+)|7u|+P|+P|$_|$^|+Q|+R|+S|+T!|7t!|7v!|7x!|7z!|8%& 2|2?|+l|)!|+^|+_|+l|+l!|8*!|8-!|8\/!|84!|86!|88!|8:!|8<!|8?!|8A!|8C,|8E!|8F*! 0!|8N!|8t!|8u!|8v!|9!!|9#0|68|,,|,5|+t|,-!|9$0|68|,#|,4|+v|,$ !|9%!|9'!|9)!|9+ !|9,!|9-!|90!|92 !|94!|95!|97 !|98!|99 +(|89% }#{p} ;>% }%Z-}$wb% } ^U}&\/y% }$r5}#3k|,.|,\/|,+2|85% }#{p} ;>% }%Z-}$wb% } ^U}&\/y% }$r5}#3k|,00+(|89% }'#w} ))% |#,}#`*% }&*M}$m^% |(k}$&w|,.|,\/|,!2|85% }'#w} ))% |#,}#`*% }&*M}$m^% |(k}$&w|,20\/|*z|+y|+z|, \/|*z|,%|,&|,*,|9<!|9=#|9?!|9@!|9B!|9L *! |,< *!!|,2|,> *!!|,4|,@ *!!|,6|,B *!!|,8|,D *!!|,:|,F *!!|,<|,H *!!|,>|,J *!!|,@|,L *!!|,B|,N *!!|,D|,P *!!|,F|,R *!!|,H|,T #|:&*!!|,J|,V#|:'#|:(!|:)!|:,!|:5!|:>!|:E!|;V!|;^!|;g#|;p !|;q'.2|,g|,g!|;v!|<2!|<3!|<5!|<7!|<9!|<:#|<;#|<<!|<=!|<>!|<D!|<K!|<P!|<R!|<T!|<V!|<X!|<Y!|<Z!|<[!|<]!|<^!|<_!|<`!|<a!|<b!|<c!|<h!|<l!|<o!|<t!|<x!|<{!|=%!|=)!|=,!|=1!|=5!|=8!|==!|=A!|=D-|8D0!|=E!|=H-|8D0!|=I!|=L-|8D0!|=M!|=P-|8D0!|=Q!|=T-|8D0!|=U !|=X!|=Z!|=^!|=_!|=e!|=g!|=h!|=n!|=p!|=q!|=w!|=y!|=z!|>%!|>'!|>(!|>.!|>0!|>1!|>7!|>9!|>:!|>@!|>B!|>C!|>I!|>K!|>L!|>R!|>T!|>U!|>[.|<6|-W|-X.|<4|-g|-i#|>^.|<6|-T|-U.|<4|-d|-f#|>_.|<6|-Q|-R.|<4|-a|-c#|>`.|<6|-N|-O.|<4|-^|-`#|>a.|<6|-K|-L.|<4|-Z|-]!|>b!|>d0|>c|-v|-w|-y|-M0|>c|-s|-t|-y|-P0|>c|-p|-q|-y|-S0|>c|-m|-n|-y|-V0|>c|-j|-k|-y|-Y!|>f!|>h!|>j!|>l!|>n!|>r!|>s!|>v!|>y!|>z!|>{ !|?* !|?,!|?.!|?\/!|?0!|?4!|?6!|?7!|?8!|?9!|?:!|?;");+h$staticDelayed = [];
+ ghcjs/ghcjs-demo.jsexe/rts.js view
@@ -0,0 +1,20908 @@+var h$currentThread = null;+var h$stack = null;+var h$sp = 0;+var h$initStatic = [];+var h$staticThunks = {};+var h$staticThunksArr = [];+var h$regs = [];+var h$r1 = 0;+var h$r2 = 0;+var h$r3 = 0;+var h$r4 = 0;+var h$r5 = 0;+var h$r6 = 0;+var h$r7 = 0;+var h$r8 = 0;+var h$r9 = 0;+var h$r10 = 0;+var h$r11 = 0;+var h$r12 = 0;+var h$r13 = 0;+var h$r14 = 0;+var h$r15 = 0;+var h$r16 = 0;+var h$r17 = 0;+var h$r18 = 0;+var h$r19 = 0;+var h$r20 = 0;+var h$r21 = 0;+var h$r22 = 0;+var h$r23 = 0;+var h$r24 = 0;+var h$r25 = 0;+var h$r26 = 0;+var h$r27 = 0;+var h$r28 = 0;+var h$r29 = 0;+var h$r30 = 0;+var h$r31 = 0;+var h$r32 = 0;+function h$getReg(h$RTSD_0)+{+ switch (h$RTSD_0)+ {+ case (1):+ return h$r1;+ case (2):+ return h$r2;+ case (3):+ return h$r3;+ case (4):+ return h$r4;+ case (5):+ return h$r5;+ case (6):+ return h$r6;+ case (7):+ return h$r7;+ case (8):+ return h$r8;+ case (9):+ return h$r9;+ case (10):+ return h$r10;+ case (11):+ return h$r11;+ case (12):+ return h$r12;+ case (13):+ return h$r13;+ case (14):+ return h$r14;+ case (15):+ return h$r15;+ case (16):+ return h$r16;+ case (17):+ return h$r17;+ case (18):+ return h$r18;+ case (19):+ return h$r19;+ case (20):+ return h$r20;+ case (21):+ return h$r21;+ case (22):+ return h$r22;+ case (23):+ return h$r23;+ case (24):+ return h$r24;+ case (25):+ return h$r25;+ case (26):+ return h$r26;+ case (27):+ return h$r27;+ case (28):+ return h$r28;+ case (29):+ return h$r29;+ case (30):+ return h$r30;+ case (31):+ return h$r31;+ case (32):+ return h$r32;+ case (33):+ return h$regs[0];+ case (34):+ return h$regs[1];+ case (35):+ return h$regs[2];+ case (36):+ return h$regs[3];+ case (37):+ return h$regs[4];+ case (38):+ return h$regs[5];+ case (39):+ return h$regs[6];+ case (40):+ return h$regs[7];+ case (41):+ return h$regs[8];+ case (42):+ return h$regs[9];+ case (43):+ return h$regs[10];+ case (44):+ return h$regs[11];+ case (45):+ return h$regs[12];+ case (46):+ return h$regs[13];+ case (47):+ return h$regs[14];+ case (48):+ return h$regs[15];+ case (49):+ return h$regs[16];+ case (50):+ return h$regs[17];+ case (51):+ return h$regs[18];+ case (52):+ return h$regs[19];+ case (53):+ return h$regs[20];+ case (54):+ return h$regs[21];+ case (55):+ return h$regs[22];+ case (56):+ return h$regs[23];+ case (57):+ return h$regs[24];+ case (58):+ return h$regs[25];+ case (59):+ return h$regs[26];+ case (60):+ return h$regs[27];+ case (61):+ return h$regs[28];+ case (62):+ return h$regs[29];+ case (63):+ return h$regs[30];+ case (64):+ return h$regs[31];+ case (65):+ return h$regs[32];+ case (66):+ return h$regs[33];+ case (67):+ return h$regs[34];+ case (68):+ return h$regs[35];+ case (69):+ return h$regs[36];+ case (70):+ return h$regs[37];+ case (71):+ return h$regs[38];+ case (72):+ return h$regs[39];+ case (73):+ return h$regs[40];+ case (74):+ return h$regs[41];+ case (75):+ return h$regs[42];+ case (76):+ return h$regs[43];+ case (77):+ return h$regs[44];+ case (78):+ return h$regs[45];+ case (79):+ return h$regs[46];+ case (80):+ return h$regs[47];+ case (81):+ return h$regs[48];+ case (82):+ return h$regs[49];+ case (83):+ return h$regs[50];+ case (84):+ return h$regs[51];+ case (85):+ return h$regs[52];+ case (86):+ return h$regs[53];+ case (87):+ return h$regs[54];+ case (88):+ return h$regs[55];+ case (89):+ return h$regs[56];+ case (90):+ return h$regs[57];+ case (91):+ return h$regs[58];+ case (92):+ return h$regs[59];+ case (93):+ return h$regs[60];+ case (94):+ return h$regs[61];+ case (95):+ return h$regs[62];+ case (96):+ return h$regs[63];+ case (97):+ return h$regs[64];+ case (98):+ return h$regs[65];+ case (99):+ return h$regs[66];+ case (100):+ return h$regs[67];+ case (101):+ return h$regs[68];+ case (102):+ return h$regs[69];+ case (103):+ return h$regs[70];+ case (104):+ return h$regs[71];+ case (105):+ return h$regs[72];+ case (106):+ return h$regs[73];+ case (107):+ return h$regs[74];+ case (108):+ return h$regs[75];+ case (109):+ return h$regs[76];+ case (110):+ return h$regs[77];+ case (111):+ return h$regs[78];+ case (112):+ return h$regs[79];+ case (113):+ return h$regs[80];+ case (114):+ return h$regs[81];+ case (115):+ return h$regs[82];+ case (116):+ return h$regs[83];+ case (117):+ return h$regs[84];+ case (118):+ return h$regs[85];+ case (119):+ return h$regs[86];+ case (120):+ return h$regs[87];+ case (121):+ return h$regs[88];+ case (122):+ return h$regs[89];+ case (123):+ return h$regs[90];+ case (124):+ return h$regs[91];+ case (125):+ return h$regs[92];+ case (126):+ return h$regs[93];+ case (127):+ return h$regs[94];+ case (128):+ return h$regs[95];+ default:+ };+};+function h$setReg(h$RTSD_1, h$RTSD_2)+{+ switch (h$RTSD_1)+ {+ case (1):+ h$r1 = h$RTSD_2;+ return undefined;+ case (2):+ h$r2 = h$RTSD_2;+ return undefined;+ case (3):+ h$r3 = h$RTSD_2;+ return undefined;+ case (4):+ h$r4 = h$RTSD_2;+ return undefined;+ case (5):+ h$r5 = h$RTSD_2;+ return undefined;+ case (6):+ h$r6 = h$RTSD_2;+ return undefined;+ case (7):+ h$r7 = h$RTSD_2;+ return undefined;+ case (8):+ h$r8 = h$RTSD_2;+ return undefined;+ case (9):+ h$r9 = h$RTSD_2;+ return undefined;+ case (10):+ h$r10 = h$RTSD_2;+ return undefined;+ case (11):+ h$r11 = h$RTSD_2;+ return undefined;+ case (12):+ h$r12 = h$RTSD_2;+ return undefined;+ case (13):+ h$r13 = h$RTSD_2;+ return undefined;+ case (14):+ h$r14 = h$RTSD_2;+ return undefined;+ case (15):+ h$r15 = h$RTSD_2;+ return undefined;+ case (16):+ h$r16 = h$RTSD_2;+ return undefined;+ case (17):+ h$r17 = h$RTSD_2;+ return undefined;+ case (18):+ h$r18 = h$RTSD_2;+ return undefined;+ case (19):+ h$r19 = h$RTSD_2;+ return undefined;+ case (20):+ h$r20 = h$RTSD_2;+ return undefined;+ case (21):+ h$r21 = h$RTSD_2;+ return undefined;+ case (22):+ h$r22 = h$RTSD_2;+ return undefined;+ case (23):+ h$r23 = h$RTSD_2;+ return undefined;+ case (24):+ h$r24 = h$RTSD_2;+ return undefined;+ case (25):+ h$r25 = h$RTSD_2;+ return undefined;+ case (26):+ h$r26 = h$RTSD_2;+ return undefined;+ case (27):+ h$r27 = h$RTSD_2;+ return undefined;+ case (28):+ h$r28 = h$RTSD_2;+ return undefined;+ case (29):+ h$r29 = h$RTSD_2;+ return undefined;+ case (30):+ h$r30 = h$RTSD_2;+ return undefined;+ case (31):+ h$r31 = h$RTSD_2;+ return undefined;+ case (32):+ h$r32 = h$RTSD_2;+ return undefined;+ case (33):+ h$regs[0] = h$RTSD_2;+ return undefined;+ case (34):+ h$regs[1] = h$RTSD_2;+ return undefined;+ case (35):+ h$regs[2] = h$RTSD_2;+ return undefined;+ case (36):+ h$regs[3] = h$RTSD_2;+ return undefined;+ case (37):+ h$regs[4] = h$RTSD_2;+ return undefined;+ case (38):+ h$regs[5] = h$RTSD_2;+ return undefined;+ case (39):+ h$regs[6] = h$RTSD_2;+ return undefined;+ case (40):+ h$regs[7] = h$RTSD_2;+ return undefined;+ case (41):+ h$regs[8] = h$RTSD_2;+ return undefined;+ case (42):+ h$regs[9] = h$RTSD_2;+ return undefined;+ case (43):+ h$regs[10] = h$RTSD_2;+ return undefined;+ case (44):+ h$regs[11] = h$RTSD_2;+ return undefined;+ case (45):+ h$regs[12] = h$RTSD_2;+ return undefined;+ case (46):+ h$regs[13] = h$RTSD_2;+ return undefined;+ case (47):+ h$regs[14] = h$RTSD_2;+ return undefined;+ case (48):+ h$regs[15] = h$RTSD_2;+ return undefined;+ case (49):+ h$regs[16] = h$RTSD_2;+ return undefined;+ case (50):+ h$regs[17] = h$RTSD_2;+ return undefined;+ case (51):+ h$regs[18] = h$RTSD_2;+ return undefined;+ case (52):+ h$regs[19] = h$RTSD_2;+ return undefined;+ case (53):+ h$regs[20] = h$RTSD_2;+ return undefined;+ case (54):+ h$regs[21] = h$RTSD_2;+ return undefined;+ case (55):+ h$regs[22] = h$RTSD_2;+ return undefined;+ case (56):+ h$regs[23] = h$RTSD_2;+ return undefined;+ case (57):+ h$regs[24] = h$RTSD_2;+ return undefined;+ case (58):+ h$regs[25] = h$RTSD_2;+ return undefined;+ case (59):+ h$regs[26] = h$RTSD_2;+ return undefined;+ case (60):+ h$regs[27] = h$RTSD_2;+ return undefined;+ case (61):+ h$regs[28] = h$RTSD_2;+ return undefined;+ case (62):+ h$regs[29] = h$RTSD_2;+ return undefined;+ case (63):+ h$regs[30] = h$RTSD_2;+ return undefined;+ case (64):+ h$regs[31] = h$RTSD_2;+ return undefined;+ case (65):+ h$regs[32] = h$RTSD_2;+ return undefined;+ case (66):+ h$regs[33] = h$RTSD_2;+ return undefined;+ case (67):+ h$regs[34] = h$RTSD_2;+ return undefined;+ case (68):+ h$regs[35] = h$RTSD_2;+ return undefined;+ case (69):+ h$regs[36] = h$RTSD_2;+ return undefined;+ case (70):+ h$regs[37] = h$RTSD_2;+ return undefined;+ case (71):+ h$regs[38] = h$RTSD_2;+ return undefined;+ case (72):+ h$regs[39] = h$RTSD_2;+ return undefined;+ case (73):+ h$regs[40] = h$RTSD_2;+ return undefined;+ case (74):+ h$regs[41] = h$RTSD_2;+ return undefined;+ case (75):+ h$regs[42] = h$RTSD_2;+ return undefined;+ case (76):+ h$regs[43] = h$RTSD_2;+ return undefined;+ case (77):+ h$regs[44] = h$RTSD_2;+ return undefined;+ case (78):+ h$regs[45] = h$RTSD_2;+ return undefined;+ case (79):+ h$regs[46] = h$RTSD_2;+ return undefined;+ case (80):+ h$regs[47] = h$RTSD_2;+ return undefined;+ case (81):+ h$regs[48] = h$RTSD_2;+ return undefined;+ case (82):+ h$regs[49] = h$RTSD_2;+ return undefined;+ case (83):+ h$regs[50] = h$RTSD_2;+ return undefined;+ case (84):+ h$regs[51] = h$RTSD_2;+ return undefined;+ case (85):+ h$regs[52] = h$RTSD_2;+ return undefined;+ case (86):+ h$regs[53] = h$RTSD_2;+ return undefined;+ case (87):+ h$regs[54] = h$RTSD_2;+ return undefined;+ case (88):+ h$regs[55] = h$RTSD_2;+ return undefined;+ case (89):+ h$regs[56] = h$RTSD_2;+ return undefined;+ case (90):+ h$regs[57] = h$RTSD_2;+ return undefined;+ case (91):+ h$regs[58] = h$RTSD_2;+ return undefined;+ case (92):+ h$regs[59] = h$RTSD_2;+ return undefined;+ case (93):+ h$regs[60] = h$RTSD_2;+ return undefined;+ case (94):+ h$regs[61] = h$RTSD_2;+ return undefined;+ case (95):+ h$regs[62] = h$RTSD_2;+ return undefined;+ case (96):+ h$regs[63] = h$RTSD_2;+ return undefined;+ case (97):+ h$regs[64] = h$RTSD_2;+ return undefined;+ case (98):+ h$regs[65] = h$RTSD_2;+ return undefined;+ case (99):+ h$regs[66] = h$RTSD_2;+ return undefined;+ case (100):+ h$regs[67] = h$RTSD_2;+ return undefined;+ case (101):+ h$regs[68] = h$RTSD_2;+ return undefined;+ case (102):+ h$regs[69] = h$RTSD_2;+ return undefined;+ case (103):+ h$regs[70] = h$RTSD_2;+ return undefined;+ case (104):+ h$regs[71] = h$RTSD_2;+ return undefined;+ case (105):+ h$regs[72] = h$RTSD_2;+ return undefined;+ case (106):+ h$regs[73] = h$RTSD_2;+ return undefined;+ case (107):+ h$regs[74] = h$RTSD_2;+ return undefined;+ case (108):+ h$regs[75] = h$RTSD_2;+ return undefined;+ case (109):+ h$regs[76] = h$RTSD_2;+ return undefined;+ case (110):+ h$regs[77] = h$RTSD_2;+ return undefined;+ case (111):+ h$regs[78] = h$RTSD_2;+ return undefined;+ case (112):+ h$regs[79] = h$RTSD_2;+ return undefined;+ case (113):+ h$regs[80] = h$RTSD_2;+ return undefined;+ case (114):+ h$regs[81] = h$RTSD_2;+ return undefined;+ case (115):+ h$regs[82] = h$RTSD_2;+ return undefined;+ case (116):+ h$regs[83] = h$RTSD_2;+ return undefined;+ case (117):+ h$regs[84] = h$RTSD_2;+ return undefined;+ case (118):+ h$regs[85] = h$RTSD_2;+ return undefined;+ case (119):+ h$regs[86] = h$RTSD_2;+ return undefined;+ case (120):+ h$regs[87] = h$RTSD_2;+ return undefined;+ case (121):+ h$regs[88] = h$RTSD_2;+ return undefined;+ case (122):+ h$regs[89] = h$RTSD_2;+ return undefined;+ case (123):+ h$regs[90] = h$RTSD_2;+ return undefined;+ case (124):+ h$regs[91] = h$RTSD_2;+ return undefined;+ case (125):+ h$regs[92] = h$RTSD_2;+ return undefined;+ case (126):+ h$regs[93] = h$RTSD_2;+ return undefined;+ case (127):+ h$regs[94] = h$RTSD_2;+ return undefined;+ case (128):+ h$regs[95] = h$RTSD_2;+ return undefined;+ default:+ };+};+function h$l1(x1)+{+ h$r1 = x1;+};+function h$l2(x1, x2)+{+ h$r2 = x1;+ h$r1 = x2;+};+function h$l3(x1, x2, x3)+{+ h$r3 = x1;+ h$r2 = x2;+ h$r1 = x3;+};+function h$l4(x1, x2, x3, x4)+{+ h$r4 = x1;+ h$r3 = x2;+ h$r2 = x3;+ h$r1 = x4;+};+function h$l5(x1, x2, x3, x4, x5)+{+ h$r5 = x1;+ h$r4 = x2;+ h$r3 = x3;+ h$r2 = x4;+ h$r1 = x5;+};+function h$l6(x1, x2, x3, x4, x5, x6)+{+ h$r6 = x1;+ h$r5 = x2;+ h$r4 = x3;+ h$r3 = x4;+ h$r2 = x5;+ h$r1 = x6;+};+function h$l7(x1, x2, x3, x4, x5, x6, x7)+{+ h$r7 = x1;+ h$r6 = x2;+ h$r5 = x3;+ h$r4 = x4;+ h$r3 = x5;+ h$r2 = x6;+ h$r1 = x7;+};+function h$l8(x1, x2, x3, x4, x5, x6, x7, x8)+{+ h$r8 = x1;+ h$r7 = x2;+ h$r6 = x3;+ h$r5 = x4;+ h$r4 = x5;+ h$r3 = x6;+ h$r2 = x7;+ h$r1 = x8;+};+function h$l9(x1, x2, x3, x4, x5, x6, x7, x8, x9)+{+ h$r9 = x1;+ h$r8 = x2;+ h$r7 = x3;+ h$r6 = x4;+ h$r5 = x5;+ h$r4 = x6;+ h$r3 = x7;+ h$r2 = x8;+ h$r1 = x9;+};+function h$l10(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)+{+ h$r10 = x1;+ h$r9 = x2;+ h$r8 = x3;+ h$r7 = x4;+ h$r6 = x5;+ h$r5 = x6;+ h$r4 = x7;+ h$r3 = x8;+ h$r2 = x9;+ h$r1 = x10;+};+function h$l11(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)+{+ h$r11 = x1;+ h$r10 = x2;+ h$r9 = x3;+ h$r8 = x4;+ h$r7 = x5;+ h$r6 = x6;+ h$r5 = x7;+ h$r4 = x8;+ h$r3 = x9;+ h$r2 = x10;+ h$r1 = x11;+};+function h$l12(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)+{+ h$r12 = x1;+ h$r11 = x2;+ h$r10 = x3;+ h$r9 = x4;+ h$r8 = x5;+ h$r7 = x6;+ h$r6 = x7;+ h$r5 = x8;+ h$r4 = x9;+ h$r3 = x10;+ h$r2 = x11;+ h$r1 = x12;+};+function h$l13(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)+{+ h$r13 = x1;+ h$r12 = x2;+ h$r11 = x3;+ h$r10 = x4;+ h$r9 = x5;+ h$r8 = x6;+ h$r7 = x7;+ h$r6 = x8;+ h$r5 = x9;+ h$r4 = x10;+ h$r3 = x11;+ h$r2 = x12;+ h$r1 = x13;+};+function h$l14(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)+{+ h$r14 = x1;+ h$r13 = x2;+ h$r12 = x3;+ h$r11 = x4;+ h$r10 = x5;+ h$r9 = x6;+ h$r8 = x7;+ h$r7 = x8;+ h$r6 = x9;+ h$r5 = x10;+ h$r4 = x11;+ h$r3 = x12;+ h$r2 = x13;+ h$r1 = x14;+};+function h$l15(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)+{+ h$r15 = x1;+ h$r14 = x2;+ h$r13 = x3;+ h$r12 = x4;+ h$r11 = x5;+ h$r10 = x6;+ h$r9 = x7;+ h$r8 = x8;+ h$r7 = x9;+ h$r6 = x10;+ h$r5 = x11;+ h$r4 = x12;+ h$r3 = x13;+ h$r2 = x14;+ h$r1 = x15;+};+function h$l16(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16)+{+ h$r16 = x1;+ h$r15 = x2;+ h$r14 = x3;+ h$r13 = x4;+ h$r12 = x5;+ h$r11 = x6;+ h$r10 = x7;+ h$r9 = x8;+ h$r8 = x9;+ h$r7 = x10;+ h$r6 = x11;+ h$r5 = x12;+ h$r4 = x13;+ h$r3 = x14;+ h$r2 = x15;+ h$r1 = x16;+};+function h$l17(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17)+{+ h$r17 = x1;+ h$r16 = x2;+ h$r15 = x3;+ h$r14 = x4;+ h$r13 = x5;+ h$r12 = x6;+ h$r11 = x7;+ h$r10 = x8;+ h$r9 = x9;+ h$r8 = x10;+ h$r7 = x11;+ h$r6 = x12;+ h$r5 = x13;+ h$r4 = x14;+ h$r3 = x15;+ h$r2 = x16;+ h$r1 = x17;+};+function h$l18(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18)+{+ h$r18 = x1;+ h$r17 = x2;+ h$r16 = x3;+ h$r15 = x4;+ h$r14 = x5;+ h$r13 = x6;+ h$r12 = x7;+ h$r11 = x8;+ h$r10 = x9;+ h$r9 = x10;+ h$r8 = x11;+ h$r7 = x12;+ h$r6 = x13;+ h$r5 = x14;+ h$r4 = x15;+ h$r3 = x16;+ h$r2 = x17;+ h$r1 = x18;+};+function h$l19(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19)+{+ h$r19 = x1;+ h$r18 = x2;+ h$r17 = x3;+ h$r16 = x4;+ h$r15 = x5;+ h$r14 = x6;+ h$r13 = x7;+ h$r12 = x8;+ h$r11 = x9;+ h$r10 = x10;+ h$r9 = x11;+ h$r8 = x12;+ h$r7 = x13;+ h$r6 = x14;+ h$r5 = x15;+ h$r4 = x16;+ h$r3 = x17;+ h$r2 = x18;+ h$r1 = x19;+};+function h$l20(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20)+{+ h$r20 = x1;+ h$r19 = x2;+ h$r18 = x3;+ h$r17 = x4;+ h$r16 = x5;+ h$r15 = x6;+ h$r14 = x7;+ h$r13 = x8;+ h$r12 = x9;+ h$r11 = x10;+ h$r10 = x11;+ h$r9 = x12;+ h$r8 = x13;+ h$r7 = x14;+ h$r6 = x15;+ h$r5 = x16;+ h$r4 = x17;+ h$r3 = x18;+ h$r2 = x19;+ h$r1 = x20;+};+function h$l21(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)+{+ h$r21 = x1;+ h$r20 = x2;+ h$r19 = x3;+ h$r18 = x4;+ h$r17 = x5;+ h$r16 = x6;+ h$r15 = x7;+ h$r14 = x8;+ h$r13 = x9;+ h$r12 = x10;+ h$r11 = x11;+ h$r10 = x12;+ h$r9 = x13;+ h$r8 = x14;+ h$r7 = x15;+ h$r6 = x16;+ h$r5 = x17;+ h$r4 = x18;+ h$r3 = x19;+ h$r2 = x20;+ h$r1 = x21;+};+function h$l22(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22)+{+ h$r22 = x1;+ h$r21 = x2;+ h$r20 = x3;+ h$r19 = x4;+ h$r18 = x5;+ h$r17 = x6;+ h$r16 = x7;+ h$r15 = x8;+ h$r14 = x9;+ h$r13 = x10;+ h$r12 = x11;+ h$r11 = x12;+ h$r10 = x13;+ h$r9 = x14;+ h$r8 = x15;+ h$r7 = x16;+ h$r6 = x17;+ h$r5 = x18;+ h$r4 = x19;+ h$r3 = x20;+ h$r2 = x21;+ h$r1 = x22;+};+function h$l23(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23)+{+ h$r23 = x1;+ h$r22 = x2;+ h$r21 = x3;+ h$r20 = x4;+ h$r19 = x5;+ h$r18 = x6;+ h$r17 = x7;+ h$r16 = x8;+ h$r15 = x9;+ h$r14 = x10;+ h$r13 = x11;+ h$r12 = x12;+ h$r11 = x13;+ h$r10 = x14;+ h$r9 = x15;+ h$r8 = x16;+ h$r7 = x17;+ h$r6 = x18;+ h$r5 = x19;+ h$r4 = x20;+ h$r3 = x21;+ h$r2 = x22;+ h$r1 = x23;+};+function h$l24(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24)+{+ h$r24 = x1;+ h$r23 = x2;+ h$r22 = x3;+ h$r21 = x4;+ h$r20 = x5;+ h$r19 = x6;+ h$r18 = x7;+ h$r17 = x8;+ h$r16 = x9;+ h$r15 = x10;+ h$r14 = x11;+ h$r13 = x12;+ h$r12 = x13;+ h$r11 = x14;+ h$r10 = x15;+ h$r9 = x16;+ h$r8 = x17;+ h$r7 = x18;+ h$r6 = x19;+ h$r5 = x20;+ h$r4 = x21;+ h$r3 = x22;+ h$r2 = x23;+ h$r1 = x24;+};+function h$l25(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25)+{+ h$r25 = x1;+ h$r24 = x2;+ h$r23 = x3;+ h$r22 = x4;+ h$r21 = x5;+ h$r20 = x6;+ h$r19 = x7;+ h$r18 = x8;+ h$r17 = x9;+ h$r16 = x10;+ h$r15 = x11;+ h$r14 = x12;+ h$r13 = x13;+ h$r12 = x14;+ h$r11 = x15;+ h$r10 = x16;+ h$r9 = x17;+ h$r8 = x18;+ h$r7 = x19;+ h$r6 = x20;+ h$r5 = x21;+ h$r4 = x22;+ h$r3 = x23;+ h$r2 = x24;+ h$r1 = x25;+};+function h$l26(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26)+{+ h$r26 = x1;+ h$r25 = x2;+ h$r24 = x3;+ h$r23 = x4;+ h$r22 = x5;+ h$r21 = x6;+ h$r20 = x7;+ h$r19 = x8;+ h$r18 = x9;+ h$r17 = x10;+ h$r16 = x11;+ h$r15 = x12;+ h$r14 = x13;+ h$r13 = x14;+ h$r12 = x15;+ h$r11 = x16;+ h$r10 = x17;+ h$r9 = x18;+ h$r8 = x19;+ h$r7 = x20;+ h$r6 = x21;+ h$r5 = x22;+ h$r4 = x23;+ h$r3 = x24;+ h$r2 = x25;+ h$r1 = x26;+};+function h$l27(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27)+{+ h$r27 = x1;+ h$r26 = x2;+ h$r25 = x3;+ h$r24 = x4;+ h$r23 = x5;+ h$r22 = x6;+ h$r21 = x7;+ h$r20 = x8;+ h$r19 = x9;+ h$r18 = x10;+ h$r17 = x11;+ h$r16 = x12;+ h$r15 = x13;+ h$r14 = x14;+ h$r13 = x15;+ h$r12 = x16;+ h$r11 = x17;+ h$r10 = x18;+ h$r9 = x19;+ h$r8 = x20;+ h$r7 = x21;+ h$r6 = x22;+ h$r5 = x23;+ h$r4 = x24;+ h$r3 = x25;+ h$r2 = x26;+ h$r1 = x27;+};+function h$l28(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28)+{+ h$r28 = x1;+ h$r27 = x2;+ h$r26 = x3;+ h$r25 = x4;+ h$r24 = x5;+ h$r23 = x6;+ h$r22 = x7;+ h$r21 = x8;+ h$r20 = x9;+ h$r19 = x10;+ h$r18 = x11;+ h$r17 = x12;+ h$r16 = x13;+ h$r15 = x14;+ h$r14 = x15;+ h$r13 = x16;+ h$r12 = x17;+ h$r11 = x18;+ h$r10 = x19;+ h$r9 = x20;+ h$r8 = x21;+ h$r7 = x22;+ h$r6 = x23;+ h$r5 = x24;+ h$r4 = x25;+ h$r3 = x26;+ h$r2 = x27;+ h$r1 = x28;+};+function h$l29(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28, x29)+{+ h$r29 = x1;+ h$r28 = x2;+ h$r27 = x3;+ h$r26 = x4;+ h$r25 = x5;+ h$r24 = x6;+ h$r23 = x7;+ h$r22 = x8;+ h$r21 = x9;+ h$r20 = x10;+ h$r19 = x11;+ h$r18 = x12;+ h$r17 = x13;+ h$r16 = x14;+ h$r15 = x15;+ h$r14 = x16;+ h$r13 = x17;+ h$r12 = x18;+ h$r11 = x19;+ h$r10 = x20;+ h$r9 = x21;+ h$r8 = x22;+ h$r7 = x23;+ h$r6 = x24;+ h$r5 = x25;+ h$r4 = x26;+ h$r3 = x27;+ h$r2 = x28;+ h$r1 = x29;+};+function h$l30(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28, x29, x30)+{+ h$r30 = x1;+ h$r29 = x2;+ h$r28 = x3;+ h$r27 = x4;+ h$r26 = x5;+ h$r25 = x6;+ h$r24 = x7;+ h$r23 = x8;+ h$r22 = x9;+ h$r21 = x10;+ h$r20 = x11;+ h$r19 = x12;+ h$r18 = x13;+ h$r17 = x14;+ h$r16 = x15;+ h$r15 = x16;+ h$r14 = x17;+ h$r13 = x18;+ h$r12 = x19;+ h$r11 = x20;+ h$r10 = x21;+ h$r9 = x22;+ h$r8 = x23;+ h$r7 = x24;+ h$r6 = x25;+ h$r5 = x26;+ h$r4 = x27;+ h$r3 = x28;+ h$r2 = x29;+ h$r1 = x30;+};+function h$l31(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28, x29, x30, x31)+{+ h$r31 = x1;+ h$r30 = x2;+ h$r29 = x3;+ h$r28 = x4;+ h$r27 = x5;+ h$r26 = x6;+ h$r25 = x7;+ h$r24 = x8;+ h$r23 = x9;+ h$r22 = x10;+ h$r21 = x11;+ h$r20 = x12;+ h$r19 = x13;+ h$r18 = x14;+ h$r17 = x15;+ h$r16 = x16;+ h$r15 = x17;+ h$r14 = x18;+ h$r13 = x19;+ h$r12 = x20;+ h$r11 = x21;+ h$r10 = x22;+ h$r9 = x23;+ h$r8 = x24;+ h$r7 = x25;+ h$r6 = x26;+ h$r5 = x27;+ h$r4 = x28;+ h$r3 = x29;+ h$r2 = x30;+ h$r1 = x31;+};+function h$l32(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28, x29, x30, x31, x32)+{+ h$r32 = x1;+ h$r31 = x2;+ h$r30 = x3;+ h$r29 = x4;+ h$r28 = x5;+ h$r27 = x6;+ h$r26 = x7;+ h$r25 = x8;+ h$r24 = x9;+ h$r23 = x10;+ h$r22 = x11;+ h$r21 = x12;+ h$r20 = x13;+ h$r19 = x14;+ h$r18 = x15;+ h$r17 = x16;+ h$r16 = x17;+ h$r15 = x18;+ h$r14 = x19;+ h$r13 = x20;+ h$r12 = x21;+ h$r11 = x22;+ h$r10 = x23;+ h$r9 = x24;+ h$r8 = x25;+ h$r7 = x26;+ h$r6 = x27;+ h$r5 = x28;+ h$r4 = x29;+ h$r3 = x30;+ h$r2 = x31;+ h$r1 = x32;+};+var h$ret1;+var h$ret2;+var h$ret3;+var h$ret4;+var h$ret5;+var h$ret6;+var h$ret7;+var h$ret8;+var h$ret9;+var h$ret10;+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/* platform-specific setup */+// top-level debug initialization needs this. declare it in case we aren't in the same file as out.js+function h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e() { return h$stack[h$sp]; };+/*+ if browser mode is active (GHCJS_BROWSER is defined), all the runtime platform+ detection code should be removed by the preprocessor. The h$isPlatform variables+ are undeclared.++ in non-browser mode, use h$isNode, h$isJsShell, h$isBrowser to find the current+ platform.++ more platforms should be added here in the future+*/+var h$isNode = false; // runtime is node.js+var h$isJsShell = false; // runtime is SpiderMonkey jsshell+var h$isJsCore = false; // runtime is JavaScriptCore jsc+var h$isBrowser = false; // running in browser or everything else+// load all required node.js modules+if(typeof process !== undefined && (typeof h$TH !== 'undefined' || (typeof require !== 'undefined' && typeof module !== 'undefined' && module.exports))) {+ h$isNode = true;+ // we have to use these names for the closure compiler externs to work+ var fs = require('fs');+ var path = require('path');+ var os = require('os');+ var child_process = require('child_process');+ var h$fs = fs;+ var h$path = path;+ var h$os = os;+ var h$child = child_process;+ var h$process = process;+ var h$processConstants = process['binding']('constants');+} else if(typeof snarf !== 'undefined' && typeof evalInFrame !== 'undefined' && typeof countHeap !== 'undefined') {+ h$isJsShell = true;+ this.console = { log: this.print };+} else if(typeof numberOfDFGCompiles !== 'undefined' && typeof jscStack !== 'undefined') {+ h$isJsCore = true;+} else {+ h$isBrowser = true;+}+function h$getGlobal(that) {+ if(typeof global !== 'undefined') return global;+ return that;+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/*+ set up the google closure library. this is a rather hacky setup+ to make it work with our shims without requiring compilation+ or pulling in the google closure library module loader+ */+var goog = {};+goog.global = h$getGlobal(this);+goog.provide = function() { };+goog.require = function() { };+goog.isDef = function(val) { return val !== undefined; };+goog.inherits = function(childCtor, parentCtor) {+ /** @constructor */+ function tempCtor() {};+ tempCtor.prototype = parentCtor.prototype;+ childCtor.superClass_ = parentCtor.prototype;+ childCtor.prototype = new tempCtor();+ /** @override */+ childCtor.prototype.constructor = childCtor;+ /**+ * Calls superclass constructor/method.+ *+ * This function is only available if you use goog.inherits to+ * express inheritance relationships between classes.+ *+ * NOTE: This is a replacement for goog.base and for superClass_+ * property defined in childCtor.+ *+ * @param {!Object} me Should always be "this".+ * @param {string} methodName The method name to call. Calling+ * superclass constructor can be done with the special string+ * 'constructor'.+ * @param {...*} var_args The arguments to pass to superclass+ * method/constructor.+ * @return {*} The return value of the superclass method/constructor.+ */+ childCtor.base = function(me, methodName, var_args) {+ // Copying using loop to avoid deop due to passing arguments object to+ // function. This is faster in many JS engines as of late 2014.+ var args = new Array(arguments.length - 2);+ for (var i = 2; i < arguments.length; i++) {+ args[i - 2] = arguments[i];+ }+ return parentCtor.prototype[methodName].apply(me, args);+ };+};+goog.isString = function(v) {+ return typeof v === 'string';+}+goog.math = {};+goog.crypt = {};+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/*+ Copyright (c) 2010, Linden Research, Inc.+ Copyright (c) 2014, Joshua Bell++ Permission is hereby granted, free of charge, to any person obtaining a copy+ of this software and associated documentation files (the "Software"), to deal+ in the Software without restriction, including without limitation the rights+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ copies of the Software, and to permit persons to whom the Software is+ furnished to do so, subject to the following conditions:++ The above copyright notice and this permission notice shall be included in+ all copies or substantial portions of the Software.++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+ THE SOFTWARE.+ $/LicenseInfo$+ */+// Original can be found at:+// https://bitbucket.org/lindenlab/llsd+// Modifications by Joshua Bell inexorabletash@gmail.com+// https://github.com/inexorabletash/polyfill+// ES3/ES5 implementation of the Krhonos Typed Array Specification+// Ref: http://www.khronos.org/registry/typedarray/specs/latest/+// Date: 2011-02-01+//+// Variations:+// * Allows typed_array.get/set() as alias for subscripts (typed_array[])+// * Gradually migrating structure from Khronos spec to ES6 spec+(function(global) {+ 'use strict';+ var undefined = (void 0); // Paranoia+ // Beyond this value, index getters/setters (i.e. array[0], array[1]) are so slow to+ // create, and consume so much memory, that the browser appears frozen.+ var MAX_ARRAY_LENGTH = 1e5;+ // Approximations of internal ECMAScript conversion functions+ function Type(v) {+ switch(typeof v) {+ case 'undefined': return 'undefined';+ case 'boolean': return 'boolean';+ case 'number': return 'number';+ case 'string': return 'string';+ default: return v === null ? 'null' : 'object';+ }+ }+ // Class returns internal [[Class]] property, used to avoid cross-frame instanceof issues:+ function Class(v) { return Object.prototype.toString.call(v).replace(/^\[object *|\]$/g, ''); }+ function IsCallable(o) { return typeof o === 'function'; }+ function ToObject(v) {+ if (v === null || v === undefined) throw TypeError();+ return Object(v);+ }+ function ToInt32(v) { return v >> 0; }+ function ToUint32(v) { return v >>> 0; }+ // Snapshot intrinsics+ var LN2 = Math.LN2,+ abs = Math.abs,+ floor = Math.floor,+ log = Math.log,+ max = Math.max,+ min = Math.min,+ pow = Math.pow,+ round = Math.round;+ // emulate ES5 getter/setter API using legacy APIs+ // http://blogs.msdn.com/b/ie/archive/2010/09/07/transitioning-existing-code-to-the-es5-getter-setter-apis.aspx+ // (second clause tests for Object.defineProperty() in IE<9 that only supports extending DOM prototypes, but+ // note that IE<9 does not support __defineGetter__ or __defineSetter__ so it just renders the method harmless)+ (function() {+ var orig = Object.defineProperty;+ var dom_only = !(function(){try{return Object.defineProperty({},'x',{});}catch(_){return false;}}());+ if (!orig || dom_only) {+ Object.defineProperty = function (o, prop, desc) {+ // In IE8 try built-in implementation for defining properties on DOM prototypes.+ if (orig)+ try { return orig(o, prop, desc); } catch (_) {}+ if (o !== Object(o))+ throw TypeError('Object.defineProperty called on non-object');+ if (Object.prototype.__defineGetter__ && ('get' in desc))+ Object.prototype.__defineGetter__.call(o, prop, desc.get);+ if (Object.prototype.__defineSetter__ && ('set' in desc))+ Object.prototype.__defineSetter__.call(o, prop, desc.set);+ if ('value' in desc)+ o[prop] = desc.value;+ return o;+ };+ }+ }());+ // ES5: Make obj[index] an alias for obj._getter(index)/obj._setter(index, value)+ // for index in 0 ... obj.length+ function makeArrayAccessors(obj) {+ if (obj.length > MAX_ARRAY_LENGTH) throw RangeError('Array too large for polyfill');+ function makeArrayAccessor(index) {+ Object.defineProperty(obj, index, {+ 'get': function() { return obj._getter(index); },+ 'set': function(v) { obj._setter(index, v); },+ enumerable: true,+ configurable: false+ });+ }+ var i;+ for (i = 0; i < obj.length; i += 1) {+ makeArrayAccessor(i);+ }+ }+ // Internal conversion functions:+ // pack<Type>() - take a number (interpreted as Type), output a byte array+ // unpack<Type>() - take a byte array, output a Type-like number+ function as_signed(value, bits) { var s = 32 - bits; return (value << s) >> s; }+ function as_unsigned(value, bits) { var s = 32 - bits; return (value << s) >>> s; }+ function packI8(n) { return [n & 0xff]; }+ function unpackI8(bytes) { return as_signed(bytes[0], 8); }+ function packU8(n) { return [n & 0xff]; }+ function unpackU8(bytes) { return as_unsigned(bytes[0], 8); }+ function packU8Clamped(n) { n = round(Number(n)); return [n < 0 ? 0 : n > 0xff ? 0xff : n & 0xff]; }+ function packI16(n) { return [(n >> 8) & 0xff, n & 0xff]; }+ function unpackI16(bytes) { return as_signed(bytes[0] << 8 | bytes[1], 16); }+ function packU16(n) { return [(n >> 8) & 0xff, n & 0xff]; }+ function unpackU16(bytes) { return as_unsigned(bytes[0] << 8 | bytes[1], 16); }+ function packI32(n) { return [(n >> 24) & 0xff, (n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff]; }+ function unpackI32(bytes) { return as_signed(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32); }+ function packU32(n) { return [(n >> 24) & 0xff, (n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff]; }+ function unpackU32(bytes) { return as_unsigned(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32); }+ function packIEEE754(v, ebits, fbits) {+ var bias = (1 << (ebits - 1)) - 1,+ s, e, f, ln,+ i, bits, str, bytes;+ function roundToEven(n) {+ var w = floor(n), f = n - w;+ if (f < 0.5)+ return w;+ if (f > 0.5)+ return w + 1;+ return w % 2 ? w + 1 : w;+ }+ // Compute sign, exponent, fraction+ if (v !== v) {+ // NaN+ // http://dev.w3.org/2006/webapi/WebIDL/#es-type-mapping+ e = (1 << ebits) - 1; f = pow(2, fbits - 1); s = 0;+ } else if (v === Infinity || v === -Infinity) {+ e = (1 << ebits) - 1; f = 0; s = (v < 0) ? 1 : 0;+ } else if (v === 0) {+ e = 0; f = 0; s = (1 / v === -Infinity) ? 1 : 0;+ } else {+ s = v < 0;+ v = abs(v);+ if (v >= pow(2, 1 - bias)) {+ e = min(floor(log(v) / LN2), 1023);+ f = roundToEven(v / pow(2, e) * pow(2, fbits));+ if (f / pow(2, fbits) >= 2) {+ e = e + 1;+ f = 1;+ }+ if (e > bias) {+ // Overflow+ e = (1 << ebits) - 1;+ f = 0;+ } else {+ // Normalized+ e = e + bias;+ f = f - pow(2, fbits);+ }+ } else {+ // Denormalized+ e = 0;+ f = roundToEven(v / pow(2, 1 - bias - fbits));+ }+ }+ // Pack sign, exponent, fraction+ bits = [];+ for (i = fbits; i; i -= 1) { bits.push(f % 2 ? 1 : 0); f = floor(f / 2); }+ for (i = ebits; i; i -= 1) { bits.push(e % 2 ? 1 : 0); e = floor(e / 2); }+ bits.push(s ? 1 : 0);+ bits.reverse();+ str = bits.join('');+ // Bits to bytes+ bytes = [];+ while (str.length) {+ bytes.push(parseInt(str.substring(0, 8), 2));+ str = str.substring(8);+ }+ return bytes;+ }+ function unpackIEEE754(bytes, ebits, fbits) {+ // Bytes to bits+ var bits = [], i, j, b, str,+ bias, s, e, f;+ for (i = bytes.length; i; i -= 1) {+ b = bytes[i - 1];+ for (j = 8; j; j -= 1) {+ bits.push(b % 2 ? 1 : 0); b = b >> 1;+ }+ }+ bits.reverse();+ str = bits.join('');+ // Unpack sign, exponent, fraction+ bias = (1 << (ebits - 1)) - 1;+ s = parseInt(str.substring(0, 1), 2) ? -1 : 1;+ e = parseInt(str.substring(1, 1 + ebits), 2);+ f = parseInt(str.substring(1 + ebits), 2);+ // Produce number+ if (e === (1 << ebits) - 1) {+ return f !== 0 ? NaN : s * Infinity;+ } else if (e > 0) {+ // Normalized+ return s * pow(2, e - bias) * (1 + f / pow(2, fbits));+ } else if (f !== 0) {+ // Denormalized+ return s * pow(2, -(bias - 1)) * (f / pow(2, fbits));+ } else {+ return s < 0 ? -0 : 0;+ }+ }+ function unpackF64(b) { return unpackIEEE754(b, 11, 52); }+ function packF64(v) { return packIEEE754(v, 11, 52); }+ function unpackF32(b) { return unpackIEEE754(b, 8, 23); }+ function packF32(v) { return packIEEE754(v, 8, 23); }+ //+ // 3 The ArrayBuffer Type+ //+ (function() {+ function ArrayBuffer(length) {+ length = ToInt32(length);+ if (length < 0) throw RangeError('ArrayBuffer size is not a small enough positive integer.');+ Object.defineProperty(this, 'byteLength', {value: length});+ Object.defineProperty(this, '_bytes', {value: Array(length)});+ for (var i = 0; i < length; i += 1)+ this._bytes[i] = 0;+ }+ global.ArrayBuffer = global.ArrayBuffer || ArrayBuffer;+ //+ // 5 The Typed Array View Types+ //+ function $TypedArray$() {+ // %TypedArray% ( length )+ if (!arguments.length || typeof arguments[0] !== 'object') {+ return (function(length) {+ length = ToInt32(length);+ if (length < 0) throw RangeError('length is not a small enough positive integer.');+ Object.defineProperty(this, 'length', {value: length});+ Object.defineProperty(this, 'byteLength', {value: length * this.BYTES_PER_ELEMENT});+ Object.defineProperty(this, 'buffer', {value: new ArrayBuffer(this.byteLength)});+ Object.defineProperty(this, 'byteOffset', {value: 0});+ }).apply(this, arguments);+ }+ // %TypedArray% ( typedArray )+ if (arguments.length >= 1 &&+ Type(arguments[0]) === 'object' &&+ arguments[0] instanceof $TypedArray$) {+ return (function(typedArray){+ if (this.constructor !== typedArray.constructor) throw TypeError();+ var byteLength = typedArray.length * this.BYTES_PER_ELEMENT;+ Object.defineProperty(this, 'buffer', {value: new ArrayBuffer(byteLength)});+ Object.defineProperty(this, 'byteLength', {value: byteLength});+ Object.defineProperty(this, 'byteOffset', {value: 0});+ Object.defineProperty(this, 'length', {value: typedArray.length});+ for (var i = 0; i < this.length; i += 1)+ this._setter(i, typedArray._getter(i));+ }).apply(this, arguments);+ }+ // %TypedArray% ( array )+ if (arguments.length >= 1 &&+ Type(arguments[0]) === 'object' &&+ !(arguments[0] instanceof $TypedArray$) &&+ !(arguments[0] instanceof ArrayBuffer || Class(arguments[0]) === 'ArrayBuffer')) {+ return (function(array) {+ var byteLength = array.length * this.BYTES_PER_ELEMENT;+ Object.defineProperty(this, 'buffer', {value: new ArrayBuffer(byteLength)});+ Object.defineProperty(this, 'byteLength', {value: byteLength});+ Object.defineProperty(this, 'byteOffset', {value: 0});+ Object.defineProperty(this, 'length', {value: array.length});+ for (var i = 0; i < this.length; i += 1) {+ var s = array[i];+ this._setter(i, Number(s));+ }+ }).apply(this, arguments);+ }+ // %TypedArray% ( buffer, byteOffset=0, length=undefined )+ if (arguments.length >= 1 &&+ Type(arguments[0]) === 'object' &&+ (arguments[0] instanceof ArrayBuffer || Class(arguments[0]) === 'ArrayBuffer')) {+ return (function(buffer, byteOffset, length) {+ byteOffset = ToUint32(byteOffset);+ if (byteOffset > buffer.byteLength)+ throw RangeError('byteOffset out of range');+ // The given byteOffset must be a multiple of the element+ // size of the specific type, otherwise an exception is raised.+ if (byteOffset % this.BYTES_PER_ELEMENT)+ throw RangeError('buffer length minus the byteOffset is not a multiple of the element size.');+ if (length === undefined) {+ var byteLength = buffer.byteLength - byteOffset;+ if (byteLength % this.BYTES_PER_ELEMENT)+ throw RangeError('length of buffer minus byteOffset not a multiple of the element size');+ length = byteLength / this.BYTES_PER_ELEMENT;+ } else {+ length = ToUint32(length);+ byteLength = length * this.BYTES_PER_ELEMENT;+ }+ if ((byteOffset + byteLength) > buffer.byteLength)+ throw RangeError('byteOffset and length reference an area beyond the end of the buffer');+ Object.defineProperty(this, 'buffer', {value: buffer});+ Object.defineProperty(this, 'byteLength', {value: byteLength});+ Object.defineProperty(this, 'byteOffset', {value: byteOffset});+ Object.defineProperty(this, 'length', {value: length});+ }).apply(this, arguments);+ }+ // %TypedArray% ( all other argument combinations )+ throw TypeError();+ }+ // Properties of the %TypedArray Instrinsic Object+ // %TypedArray%.from ( source , mapfn=undefined, thisArg=undefined )+ Object.defineProperty($TypedArray$, 'from', {value: function(iterable) {+ return new this(iterable);+ }});+ // %TypedArray%.of ( ...items )+ Object.defineProperty($TypedArray$, 'of', {value: function(/*...items*/) {+ return new this(arguments);+ }});+ // %TypedArray%.prototype+ var $TypedArrayPrototype$ = {};+ $TypedArray$.prototype = $TypedArrayPrototype$;+ // WebIDL: getter type (unsigned long index);+ Object.defineProperty($TypedArray$.prototype, '_getter', {value: function(index) {+ if (arguments.length < 1) throw SyntaxError('Not enough arguments');+ index = ToUint32(index);+ if (index >= this.length)+ return undefined;+ var bytes = [], i, o;+ for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT;+ i < this.BYTES_PER_ELEMENT;+ i += 1, o += 1) {+ bytes.push(this.buffer._bytes[o]);+ }+ return this._unpack(bytes);+ }});+ // NONSTANDARD: convenience alias for getter: type get(unsigned long index);+ Object.defineProperty($TypedArray$.prototype, 'get', {value: $TypedArray$.prototype._getter});+ // WebIDL: setter void (unsigned long index, type value);+ Object.defineProperty($TypedArray$.prototype, '_setter', {value: function(index, value) {+ if (arguments.length < 2) throw SyntaxError('Not enough arguments');+ index = ToUint32(index);+ if (index >= this.length)+ return;+ var bytes = this._pack(value), i, o;+ for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT;+ i < this.BYTES_PER_ELEMENT;+ i += 1, o += 1) {+ this.buffer._bytes[o] = bytes[i];+ }+ }});+ // get %TypedArray%.prototype.buffer+ // get %TypedArray%.prototype.byteLength+ // get %TypedArray%.prototype.byteOffset+ // -- applied directly to the object in the constructor+ // %TypedArray%.prototype.constructor+ Object.defineProperty($TypedArray$.prototype, 'constructor', {value: $TypedArray$});+ // %TypedArray%.prototype.copyWithin (target, start, end = this.length )+ Object.defineProperty($TypedArray$.prototype, 'copyWithin', {value: function(target, start) {+ var end = arguments[2];+ var o = ToObject(this);+ var lenVal = o.length;+ var len = ToUint32(lenVal);+ len = max(len, 0);+ var relativeTarget = ToInt32(target);+ var to;+ if (relativeTarget < 0)+ to = max(len + relativeTarget, 0);+ else+ to = min(relativeTarget, len);+ var relativeStart = ToInt32(start);+ var from;+ if (relativeStart < 0)+ from = max(len + relativeStart, 0);+ else+ from = min(relativeStart, len);+ var relativeEnd;+ if (end === undefined)+ relativeEnd = len;+ else+ relativeEnd = ToInt32(end);+ var final0;+ if (relativeEnd < 0)+ final0 = max(len + relativeEnd, 0);+ else+ final0 = min(relativeEnd, len);+ var count = min(final0 - from, len - to);+ var direction;+ if (from < to && to < from + count) {+ direction = -1;+ from = from + count - 1;+ to = to + count - 1;+ } else {+ direction = 1;+ }+ while (count > 0) {+ o._setter(to, o._getter(from));+ from = from + direction;+ to = to + direction;+ count = count - 1;+ }+ return o;+ }});+ // %TypedArray%.prototype.entries ( )+ // -- defined in es6.js to shim browsers w/ native TypedArrays+ // %TypedArray%.prototype.every ( callbackfn, thisArg = undefined )+ Object.defineProperty($TypedArray$.prototype, 'every', {value: function(callbackfn) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ if (!IsCallable(callbackfn)) throw TypeError();+ var thisArg = arguments[1];+ for (var i = 0; i < len; i++) {+ if (!callbackfn.call(thisArg, t._getter(i), i, t))+ return false;+ }+ return true;+ }});+ // %TypedArray%.prototype.fill (value, start = 0, end = this.length )+ Object.defineProperty($TypedArray$.prototype, 'fill', {value: function(value) {+ var start = arguments[1],+ end = arguments[2];+ var o = ToObject(this);+ var lenVal = o.length;+ var len = ToUint32(lenVal);+ len = max(len, 0);+ var relativeStart = ToInt32(start);+ var k;+ if (relativeStart < 0)+ k = max((len + relativeStart), 0);+ else+ k = min(relativeStart, len);+ var relativeEnd;+ if (end === undefined)+ relativeEnd = len;+ else+ relativeEnd = ToInt32(end);+ var final0;+ if (relativeEnd < 0)+ final0 = max((len + relativeEnd), 0);+ else+ final0 = min(relativeEnd, len);+ while (k < final0) {+ o._setter(k, value);+ k += 1;+ }+ return o;+ }});+ // %TypedArray%.prototype.filter ( callbackfn, thisArg = undefined )+ Object.defineProperty($TypedArray$.prototype, 'filter', {value: function(callbackfn) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ if (!IsCallable(callbackfn)) throw TypeError();+ var res = [];+ var thisp = arguments[1];+ for (var i = 0; i < len; i++) {+ var val = t._getter(i); // in case fun mutates this+ if (callbackfn.call(thisp, val, i, t))+ res.push(val);+ }+ return new this.constructor(res);+ }});+ // %TypedArray%.prototype.find (predicate, thisArg = undefined)+ Object.defineProperty($TypedArray$.prototype, 'find', {value: function(predicate) {+ var o = ToObject(this);+ var lenValue = o.length;+ var len = ToUint32(lenValue);+ if (!IsCallable(predicate)) throw TypeError();+ var t = arguments.length > 1 ? arguments[1] : undefined;+ var k = 0;+ while (k < len) {+ var kValue = o._getter(k);+ var testResult = predicate.call(t, kValue, k, o);+ if (Boolean(testResult))+ return kValue;+ ++k;+ }+ return undefined;+ }});+ // %TypedArray%.prototype.findIndex ( predicate, thisArg = undefined )+ Object.defineProperty($TypedArray$.prototype, 'findIndex', {value: function(predicate) {+ var o = ToObject(this);+ var lenValue = o.length;+ var len = ToUint32(lenValue);+ if (!IsCallable(predicate)) throw TypeError();+ var t = arguments.length > 1 ? arguments[1] : undefined;+ var k = 0;+ while (k < len) {+ var kValue = o._getter(k);+ var testResult = predicate.call(t, kValue, k, o);+ if (Boolean(testResult))+ return k;+ ++k;+ }+ return -1;+ }});+ // %TypedArray%.prototype.forEach ( callbackfn, thisArg = undefined )+ Object.defineProperty($TypedArray$.prototype, 'forEach', {value: function(callbackfn) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ if (!IsCallable(callbackfn)) throw TypeError();+ var thisp = arguments[1];+ for (var i = 0; i < len; i++)+ callbackfn.call(thisp, t._getter(i), i, t);+ }});+ // %TypedArray%.prototype.indexOf (searchElement, fromIndex = 0 )+ Object.defineProperty($TypedArray$.prototype, 'indexOf', {value: function(searchElement) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ if (len === 0) return -1;+ var n = 0;+ if (arguments.length > 0) {+ n = Number(arguments[1]);+ if (n !== n) {+ n = 0;+ } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) {+ n = (n > 0 || -1) * floor(abs(n));+ }+ }+ if (n >= len) return -1;+ var k = n >= 0 ? n : max(len - abs(n), 0);+ for (; k < len; k++) {+ if (t._getter(k) === searchElement) {+ return k;+ }+ }+ return -1;+ }});+ // %TypedArray%.prototype.join ( separator )+ Object.defineProperty($TypedArray$.prototype, 'join', {value: function(separator) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ var tmp = Array(len);+ for (var i = 0; i < len; ++i)+ tmp[i] = t._getter(i);+ return tmp.join(separator === undefined ? ',' : separator); // Hack for IE7+ }});+ // %TypedArray%.prototype.keys ( )+ // -- defined in es6.js to shim browsers w/ native TypedArrays+ // %TypedArray%.prototype.lastIndexOf ( searchElement, fromIndex = this.length-1 )+ Object.defineProperty($TypedArray$.prototype, 'lastIndexOf', {value: function(searchElement) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ if (len === 0) return -1;+ var n = len;+ if (arguments.length > 1) {+ n = Number(arguments[1]);+ if (n !== n) {+ n = 0;+ } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) {+ n = (n > 0 || -1) * floor(abs(n));+ }+ }+ var k = n >= 0 ? min(n, len - 1) : len - abs(n);+ for (; k >= 0; k--) {+ if (t._getter(k) === searchElement)+ return k;+ }+ return -1;+ }});+ // get %TypedArray%.prototype.length+ // -- applied directly to the object in the constructor+ // %TypedArray%.prototype.map ( callbackfn, thisArg = undefined )+ Object.defineProperty($TypedArray$.prototype, 'map', {value: function(callbackfn) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ if (!IsCallable(callbackfn)) throw TypeError();+ var res = []; res.length = len;+ var thisp = arguments[1];+ for (var i = 0; i < len; i++)+ res[i] = callbackfn.call(thisp, t._getter(i), i, t);+ return new this.constructor(res);+ }});+ // %TypedArray%.prototype.reduce ( callbackfn [, initialValue] )+ Object.defineProperty($TypedArray$.prototype, 'reduce', {value: function(callbackfn) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ if (!IsCallable(callbackfn)) throw TypeError();+ // no value to return if no initial value and an empty array+ if (len === 0 && arguments.length === 1) throw TypeError();+ var k = 0;+ var accumulator;+ if (arguments.length >= 2) {+ accumulator = arguments[1];+ } else {+ accumulator = t._getter(k++);+ }+ while (k < len) {+ accumulator = callbackfn.call(undefined, accumulator, t._getter(k), k, t);+ k++;+ }+ return accumulator;+ }});+ // %TypedArray%.prototype.reduceRight ( callbackfn [, initialValue] )+ Object.defineProperty($TypedArray$.prototype, 'reduceRight', {value: function(callbackfn) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ if (!IsCallable(callbackfn)) throw TypeError();+ // no value to return if no initial value, empty array+ if (len === 0 && arguments.length === 1) throw TypeError();+ var k = len - 1;+ var accumulator;+ if (arguments.length >= 2) {+ accumulator = arguments[1];+ } else {+ accumulator = t._getter(k--);+ }+ while (k >= 0) {+ accumulator = callbackfn.call(undefined, accumulator, t._getter(k), k, t);+ k--;+ }+ return accumulator;+ }});+ // %TypedArray%.prototype.reverse ( )+ Object.defineProperty($TypedArray$.prototype, 'reverse', {value: function() {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ var half = floor(len / 2);+ for (var i = 0, j = len - 1; i < half; ++i, --j) {+ var tmp = t._getter(i);+ t._setter(i, t._getter(j));+ t._setter(j, tmp);+ }+ return t;+ }});+ // %TypedArray%.prototype.set(array, offset = 0 )+ // %TypedArray%.prototype.set(typedArray, offset = 0 )+ // WebIDL: void set(TypedArray array, optional unsigned long offset);+ // WebIDL: void set(sequence<type> array, optional unsigned long offset);+ Object.defineProperty($TypedArray$.prototype, 'set', {value: function(index, value) {+ if (arguments.length < 1) throw SyntaxError('Not enough arguments');+ var array, sequence, offset, len,+ i, s, d,+ byteOffset, byteLength, tmp;+ if (typeof arguments[0] === 'object' && arguments[0].constructor === this.constructor) {+ // void set(TypedArray array, optional unsigned long offset);+ array = arguments[0];+ offset = ToUint32(arguments[1]);+ if (offset + array.length > this.length) {+ throw RangeError('Offset plus length of array is out of range');+ }+ byteOffset = this.byteOffset + offset * this.BYTES_PER_ELEMENT;+ byteLength = array.length * this.BYTES_PER_ELEMENT;+ if (array.buffer === this.buffer) {+ tmp = [];+ for (i = 0, s = array.byteOffset; i < byteLength; i += 1, s += 1) {+ tmp[i] = array.buffer._bytes[s];+ }+ for (i = 0, d = byteOffset; i < byteLength; i += 1, d += 1) {+ this.buffer._bytes[d] = tmp[i];+ }+ } else {+ for (i = 0, s = array.byteOffset, d = byteOffset;+ i < byteLength; i += 1, s += 1, d += 1) {+ this.buffer._bytes[d] = array.buffer._bytes[s];+ }+ }+ } else if (typeof arguments[0] === 'object' && typeof arguments[0].length !== 'undefined') {+ // void set(sequence<type> array, optional unsigned long offset);+ sequence = arguments[0];+ len = ToUint32(sequence.length);+ offset = ToUint32(arguments[1]);+ if (offset + len > this.length) {+ throw RangeError('Offset plus length of array is out of range');+ }+ for (i = 0; i < len; i += 1) {+ s = sequence[i];+ this._setter(offset + i, Number(s));+ }+ } else {+ throw TypeError('Unexpected argument type(s)');+ }+ }});+ // %TypedArray%.prototype.slice ( start, end )+ Object.defineProperty($TypedArray$.prototype, 'slice', {value: function(start, end) {+ var o = ToObject(this);+ var lenVal = o.length;+ var len = ToUint32(lenVal);+ var relativeStart = ToInt32(start);+ var k = (relativeStart < 0) ? max(len + relativeStart, 0) : min(relativeStart, len);+ var relativeEnd = (end === undefined) ? len : ToInt32(end);+ var final0 = (relativeEnd < 0) ? max(len + relativeEnd, 0) : min(relativeEnd, len);+ var count = final0 - k;+ var c = o.constructor;+ var a = new c(count);+ var n = 0;+ while (k < final0) {+ var kValue = o._getter(k);+ a._setter(n, kValue);+ ++k;+ ++n;+ }+ return a;+ }});+ // %TypedArray%.prototype.some ( callbackfn, thisArg = undefined )+ Object.defineProperty($TypedArray$.prototype, 'some', {value: function(callbackfn) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ if (!IsCallable(callbackfn)) throw TypeError();+ var thisp = arguments[1];+ for (var i = 0; i < len; i++) {+ if (callbackfn.call(thisp, t._getter(i), i, t)) {+ return true;+ }+ }+ return false;+ }});+ // %TypedArray%.prototype.sort ( comparefn )+ Object.defineProperty($TypedArray$.prototype, 'sort', {value: function(comparefn) {+ if (this === undefined || this === null) throw TypeError();+ var t = Object(this);+ var len = ToUint32(t.length);+ var tmp = Array(len);+ for (var i = 0; i < len; ++i)+ tmp[i] = t._getter(i);+ if (comparefn) tmp.sort(comparefn); else tmp.sort(); // Hack for IE8/9+ for (i = 0; i < len; ++i)+ t._setter(i, tmp[i]);+ return t;+ }});+ // %TypedArray%.prototype.subarray(begin = 0, end = this.length )+ // WebIDL: TypedArray subarray(long begin, optional long end);+ Object.defineProperty($TypedArray$.prototype, 'subarray', {value: function(start, end) {+ function clamp(v, min, max) { return v < min ? min : v > max ? max : v; }+ start = ToInt32(start);+ end = ToInt32(end);+ if (arguments.length < 1) { start = 0; }+ if (arguments.length < 2) { end = this.length; }+ if (start < 0) { start = this.length + start; }+ if (end < 0) { end = this.length + end; }+ start = clamp(start, 0, this.length);+ end = clamp(end, 0, this.length);+ var len = end - start;+ if (len < 0) {+ len = 0;+ }+ return new this.constructor(+ this.buffer, this.byteOffset + start * this.BYTES_PER_ELEMENT, len);+ }});+ // %TypedArray%.prototype.toLocaleString ( )+ // %TypedArray%.prototype.toString ( )+ // %TypedArray%.prototype.values ( )+ // %TypedArray%.prototype [ @@iterator ] ( )+ // get %TypedArray%.prototype [ @@toStringTag ]+ // -- defined in es6.js to shim browsers w/ native TypedArrays+ function makeTypedArray(elementSize, pack, unpack) {+ // Each TypedArray type requires a distinct constructor instance with+ // identical logic, which this produces.+ var TypedArray = function() {+ Object.defineProperty(this, 'constructor', {value: TypedArray});+ $TypedArray$.apply(this, arguments);+ makeArrayAccessors(this);+ };+ if ('__proto__' in TypedArray) {+ TypedArray.__proto__ = $TypedArray$;+ } else {+ TypedArray.from = $TypedArray$.from;+ TypedArray.of = $TypedArray$.of;+ }+ TypedArray.BYTES_PER_ELEMENT = elementSize;+ var TypedArrayPrototype = function() {};+ TypedArrayPrototype.prototype = $TypedArrayPrototype$;+ TypedArray.prototype = new TypedArrayPrototype();+ Object.defineProperty(TypedArray.prototype, 'BYTES_PER_ELEMENT', {value: elementSize});+ Object.defineProperty(TypedArray.prototype, '_pack', {value: pack});+ Object.defineProperty(TypedArray.prototype, '_unpack', {value: unpack});+ return TypedArray;+ }+ var Int8Array = makeTypedArray(1, packI8, unpackI8);+ var Uint8Array = makeTypedArray(1, packU8, unpackU8);+ var Uint8ClampedArray = makeTypedArray(1, packU8Clamped, unpackU8);+ var Int16Array = makeTypedArray(2, packI16, unpackI16);+ var Uint16Array = makeTypedArray(2, packU16, unpackU16);+ var Int32Array = makeTypedArray(4, packI32, unpackI32);+ var Uint32Array = makeTypedArray(4, packU32, unpackU32);+ var Float32Array = makeTypedArray(4, packF32, unpackF32);+ var Float64Array = makeTypedArray(8, packF64, unpackF64);+ global.Int8Array = global.Int8Array || Int8Array;+ global.Uint8Array = global.Uint8Array || Uint8Array;+ global.Uint8ClampedArray = global.Uint8ClampedArray || Uint8ClampedArray;+ global.Int16Array = global.Int16Array || Int16Array;+ global.Uint16Array = global.Uint16Array || Uint16Array;+ global.Int32Array = global.Int32Array || Int32Array;+ global.Uint32Array = global.Uint32Array || Uint32Array;+ global.Float32Array = global.Float32Array || Float32Array;+ global.Float64Array = global.Float64Array || Float64Array;+ }());+ //+ // 6 The DataView View Type+ //+ (function() {+ function r(array, index) {+ return IsCallable(array.get) ? array.get(index) : array[index];+ }+ var IS_BIG_ENDIAN = (function() {+ var u16array = new Uint16Array([0x1234]),+ u8array = new Uint8Array(u16array.buffer);+ return r(u8array, 0) === 0x12;+ }());+ // DataView(buffer, byteOffset=0, byteLength=undefined)+ // WebIDL: Constructor(ArrayBuffer buffer,+ // optional unsigned long byteOffset,+ // optional unsigned long byteLength)+ function DataView(buffer, byteOffset, byteLength) {+ if (!(buffer instanceof ArrayBuffer || Class(buffer) === 'ArrayBuffer')) throw TypeError();+ byteOffset = ToUint32(byteOffset);+ if (byteOffset > buffer.byteLength)+ throw RangeError('byteOffset out of range');+ if (byteLength === undefined)+ byteLength = buffer.byteLength - byteOffset;+ else+ byteLength = ToUint32(byteLength);+ if ((byteOffset + byteLength) > buffer.byteLength)+ throw RangeError('byteOffset and length reference an area beyond the end of the buffer');+ Object.defineProperty(this, 'buffer', {value: buffer});+ Object.defineProperty(this, 'byteLength', {value: byteLength});+ Object.defineProperty(this, 'byteOffset', {value: byteOffset});+ };+ // get DataView.prototype.buffer+ // get DataView.prototype.byteLength+ // get DataView.prototype.byteOffset+ // -- applied directly to instances by the constructor+ function makeGetter(arrayType) {+ return function GetViewValue(byteOffset, littleEndian) {+ byteOffset = ToUint32(byteOffset);+ if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength)+ throw RangeError('Array index out of range');+ byteOffset += this.byteOffset;+ var uint8Array = new Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT),+ bytes = [];+ for (var i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1)+ bytes.push(r(uint8Array, i));+ if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN))+ bytes.reverse();+ return r(new arrayType(new Uint8Array(bytes).buffer), 0);+ };+ }+ Object.defineProperty(DataView.prototype, 'getUint8', {value: makeGetter(Uint8Array)});+ Object.defineProperty(DataView.prototype, 'getInt8', {value: makeGetter(Int8Array)});+ Object.defineProperty(DataView.prototype, 'getUint16', {value: makeGetter(Uint16Array)});+ Object.defineProperty(DataView.prototype, 'getInt16', {value: makeGetter(Int16Array)});+ Object.defineProperty(DataView.prototype, 'getUint32', {value: makeGetter(Uint32Array)});+ Object.defineProperty(DataView.prototype, 'getInt32', {value: makeGetter(Int32Array)});+ Object.defineProperty(DataView.prototype, 'getFloat32', {value: makeGetter(Float32Array)});+ Object.defineProperty(DataView.prototype, 'getFloat64', {value: makeGetter(Float64Array)});+ function makeSetter(arrayType) {+ return function SetViewValue(byteOffset, value, littleEndian) {+ byteOffset = ToUint32(byteOffset);+ if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength)+ throw RangeError('Array index out of range');+ // Get bytes+ var typeArray = new arrayType([value]),+ byteArray = new Uint8Array(typeArray.buffer),+ bytes = [], i, byteView;+ for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1)+ bytes.push(r(byteArray, i));+ // Flip if necessary+ if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN))+ bytes.reverse();+ // Write them+ byteView = new Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT);+ byteView.set(bytes);+ };+ }+ Object.defineProperty(DataView.prototype, 'setUint8', {value: makeSetter(Uint8Array)});+ Object.defineProperty(DataView.prototype, 'setInt8', {value: makeSetter(Int8Array)});+ Object.defineProperty(DataView.prototype, 'setUint16', {value: makeSetter(Uint16Array)});+ Object.defineProperty(DataView.prototype, 'setInt16', {value: makeSetter(Int16Array)});+ Object.defineProperty(DataView.prototype, 'setUint32', {value: makeSetter(Uint32Array)});+ Object.defineProperty(DataView.prototype, 'setInt32', {value: makeSetter(Int32Array)});+ Object.defineProperty(DataView.prototype, 'setFloat32', {value: makeSetter(Float32Array)});+ Object.defineProperty(DataView.prototype, 'setFloat64', {value: makeSetter(Float64Array)});+ global.DataView = global.DataView || DataView;+ }());+}(h$getGlobal(this)));+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/** @constructor */+var BigInteger = (function() {+var dbits, DV, BI_FP;+// Copyright (c) 2005 Tom Wu+// All Rights Reserved.+// See "LICENSE" for details.+// Basic JavaScript BN library - subset useful for RSA encryption.+// Bits per digit+var dbits;+// JavaScript engine analysis+var canary = 0xdeadbeefcafe;+var j_lm = ((canary&0xffffff)==0xefcafe);+// (public) Constructor+/** @constructor */+function BigInteger(a,b,c) {+ this.data = [];+ if(a != null)+ if("number" == typeof a) this.fromNumber(a,b,c);+ else if(b == null && "string" != typeof a) this.fromString(a,256);+ else this.fromString(a,b);+}+// return new, unset BigInteger+function nbi() { return new BigInteger(null); }+// am: Compute w_j += (x*this_i), propagate carries,+// c is initial carry, returns final carry.+// c < 3*dvalue, x < 2*dvalue, this_i < dvalue+// We need to select the fastest one that works in this environment.+// am1: use a single mult and divide to get the high bits,+// max digit bits should be 26 because+// max internal value = 2*dvalue^2-2*dvalue (< 2^53)+function am1(i,x,w,j,c,n) {+ while(--n >= 0) {+ var v = x*this.data[i++]+w.data[j]+c;+ c = Math.floor(v/0x4000000);+ w.data[j++] = v&0x3ffffff;+ }+ return c;+}+// am2 avoids a big mult-and-extract completely.+// Max digit bits should be <= 30 because we do bitwise ops+// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)+function am2(i,x,w,j,c,n) {+ var xl = x&0x7fff, xh = x>>15;+ while(--n >= 0) {+ var l = this.data[i]&0x7fff;+ var h = this.data[i++]>>15;+ var m = xh*l+h*xl;+ l = xl*l+((m&0x7fff)<<15)+w.data[j]+(c&0x3fffffff);+ c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);+ w.data[j++] = l&0x3fffffff;+ }+ return c;+}+// Alternately, set max digit bits to 28 since some+// browsers slow down when dealing with 32-bit numbers.+function am3(i,x,w,j,c,n) {+ var xl = x&0x3fff, xh = x>>14;+ while(--n >= 0) {+ var l = this.data[i]&0x3fff;+ var h = this.data[i++]>>14;+ var m = xh*l+h*xl;+ l = xl*l+((m&0x3fff)<<14)+w.data[j]+c;+ c = (l>>28)+(m>>14)+xh*h;+ w.data[j++] = l&0xfffffff;+ }+ return c;+}+// node.js (no browser)+if(typeof(navigator) === 'undefined')+{+ BigInteger.prototype.am = am3;+ dbits = 28;+}+else if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) {+ BigInteger.prototype.am = am2;+ dbits = 30;+}+else if(j_lm && (navigator.appName != "Netscape")) {+ BigInteger.prototype.am = am1;+ dbits = 26;+}+else { // Mozilla/Netscape seems to prefer am3+ BigInteger.prototype.am = am3;+ dbits = 28;+}+BigInteger.prototype.DB = dbits;+BigInteger.prototype.DM = ((1<<dbits)-1);+BigInteger.prototype.DV = (1<<dbits);+var BI_FP = 52;+BigInteger.prototype.FV = Math.pow(2,BI_FP);+BigInteger.prototype.F1 = BI_FP-dbits;+BigInteger.prototype.F2 = 2*dbits-BI_FP;+// Digit conversions+var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";+var BI_RC = new Array();+var rr,vv;+rr = "0".charCodeAt(0);+for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;+rr = "a".charCodeAt(0);+for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;+rr = "A".charCodeAt(0);+for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;+function int2char(n) { return BI_RM.charAt(n); }+function intAt(s,i) {+ var c = BI_RC[s.charCodeAt(i)];+ return (c==null)?-1:c;+}+// (protected) copy this to r+function bnpCopyTo(r) {+ for(var i = this.t-1; i >= 0; --i) r.data[i] = this.data[i];+ r.t = this.t;+ r.s = this.s;+}+// (protected) set from integer value x, -DV <= x < DV+function bnpFromInt(x) {+ this.t = 1;+ this.s = (x<0)?-1:0;+ if(x > 0) this.data[0] = x;+ else if(x < -1) this.data[0] = x+this.DV;+ else this.t = 0;+}+// return bigint initialized to value+function nbv(i) { var r = nbi(); r.fromInt(i); return r; }+// (protected) set from string and radix+function bnpFromString(s,b) {+ var k;+ if(b == 16) k = 4;+ else if(b == 8) k = 3;+ else if(b == 256) k = 8; // byte array+ else if(b == 2) k = 1;+ else if(b == 32) k = 5;+ else if(b == 4) k = 2;+ else { this.fromRadix(s,b); return; }+ this.t = 0;+ this.s = 0;+ var i = s.length, mi = false, sh = 0;+ while(--i >= 0) {+ var x = (k==8)?s[i]&0xff:intAt(s,i);+ if(x < 0) {+ if(s.charAt(i) == "-") mi = true;+ continue;+ }+ mi = false;+ if(sh == 0)+ this.data[this.t++] = x;+ else if(sh+k > this.DB) {+ this.data[this.t-1] |= (x&((1<<(this.DB-sh))-1))<<sh;+ this.data[this.t++] = (x>>(this.DB-sh));+ }+ else+ this.data[this.t-1] |= x<<sh;+ sh += k;+ if(sh >= this.DB) sh -= this.DB;+ }+ if(k == 8 && (s[0]&0x80) != 0) {+ this.s = -1;+ if(sh > 0) this.data[this.t-1] |= ((1<<(this.DB-sh))-1)<<sh;+ }+ this.clamp();+ if(mi) BigInteger.ZERO.subTo(this,this);+}+// (protected) clamp off excess high words+function bnpClamp() {+ var c = this.s&this.DM;+ while(this.t > 0 && this.data[this.t-1] == c) --this.t;+}+// (public) return string representation in given radix+function bnToString(b) {+ if(this.s < 0) return "-"+this.negate().toString(b);+ var k;+ if(b == 16) k = 4;+ else if(b == 8) k = 3;+ else if(b == 2) k = 1;+ else if(b == 32) k = 5;+ else if(b == 4) k = 2;+ else return this.toRadix(b);+ var km = (1<<k)-1, d, m = false, r = "", i = this.t;+ var p = this.DB-(i*this.DB)%k;+ if(i-- > 0) {+ if(p < this.DB && (d = this.data[i]>>p) > 0) { m = true; r = int2char(d); }+ while(i >= 0) {+ if(p < k) {+ d = (this.data[i]&((1<<p)-1))<<(k-p);+ d |= this.data[--i]>>(p+=this.DB-k);+ }+ else {+ d = (this.data[i]>>(p-=k))&km;+ if(p <= 0) { p += this.DB; --i; }+ }+ if(d > 0) m = true;+ if(m) r += int2char(d);+ }+ }+ return m?r:"0";+}+// (public) -this+function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; }+// (public) |this|+function bnAbs() { return (this.s<0)?this.negate():this; }+// (public) return + if this > a, - if this < a, 0 if equal+function bnCompareTo(a) {+ var r = this.s-a.s;+ if(r != 0) return r;+ var i = this.t;+ r = i-a.t;+ if(r != 0) return (this.s<0)?-r:r;+ while(--i >= 0) if((r=this.data[i]-a.data[i]) != 0) return r;+ return 0;+}+// returns bit length of the integer x+function nbits(x) {+ var r = 1, t;+ if((t=x>>>16) != 0) { x = t; r += 16; }+ if((t=x>>8) != 0) { x = t; r += 8; }+ if((t=x>>4) != 0) { x = t; r += 4; }+ if((t=x>>2) != 0) { x = t; r += 2; }+ if((t=x>>1) != 0) { x = t; r += 1; }+ return r;+}+// (public) return the number of bits in "this"+function bnBitLength() {+ if(this.t <= 0) return 0;+ return this.DB*(this.t-1)+nbits(this.data[this.t-1]^(this.s&this.DM));+}+// (protected) r = this << n*DB+function bnpDLShiftTo(n,r) {+ var i;+ for(i = this.t-1; i >= 0; --i) r.data[i+n] = this.data[i];+ for(i = n-1; i >= 0; --i) r.data[i] = 0;+ r.t = this.t+n;+ r.s = this.s;+}+// (protected) r = this >> n*DB+function bnpDRShiftTo(n,r) {+ for(var i = n; i < this.t; ++i) r.data[i-n] = this.data[i];+ r.t = Math.max(this.t-n,0);+ r.s = this.s;+}+// (protected) r = this << n+function bnpLShiftTo(n,r) {+ var bs = n%this.DB;+ var cbs = this.DB-bs;+ var bm = (1<<cbs)-1;+ var ds = Math.floor(n/this.DB), c = (this.s<<bs)&this.DM, i;+ for(i = this.t-1; i >= 0; --i) {+ r.data[i+ds+1] = (this.data[i]>>cbs)|c;+ c = (this.data[i]&bm)<<bs;+ }+ for(i = ds-1; i >= 0; --i) r.data[i] = 0;+ r.data[ds] = c;+ r.t = this.t+ds+1;+ r.s = this.s;+ r.clamp();+}+// (protected) r = this >> n+function bnpRShiftTo(n,r) {+ r.s = this.s;+ var ds = Math.floor(n/this.DB);+ if(ds >= this.t) { r.t = 0; return; }+ var bs = n%this.DB;+ var cbs = this.DB-bs;+ var bm = (1<<bs)-1;+ r.data[0] = this.data[ds]>>bs;+ for(var i = ds+1; i < this.t; ++i) {+ r.data[i-ds-1] |= (this.data[i]&bm)<<cbs;+ r.data[i-ds] = this.data[i]>>bs;+ }+ if(bs > 0) r.data[this.t-ds-1] |= (this.s&bm)<<cbs;+ r.t = this.t-ds;+ r.clamp();+}+// (protected) r = this - a+function bnpSubTo(a,r) {+ var i = 0, c = 0, m = Math.min(a.t,this.t);+ while(i < m) {+ c += this.data[i]-a.data[i];+ r.data[i++] = c&this.DM;+ c >>= this.DB;+ }+ if(a.t < this.t) {+ c -= a.s;+ while(i < this.t) {+ c += this.data[i];+ r.data[i++] = c&this.DM;+ c >>= this.DB;+ }+ c += this.s;+ }+ else {+ c += this.s;+ while(i < a.t) {+ c -= a.data[i];+ r.data[i++] = c&this.DM;+ c >>= this.DB;+ }+ c -= a.s;+ }+ r.s = (c<0)?-1:0;+ if(c < -1) r.data[i++] = this.DV+c;+ else if(c > 0) r.data[i++] = c;+ r.t = i;+ r.clamp();+}+// (protected) r = this * a, r != this,a (HAC 14.12)+// "this" should be the larger one if appropriate.+function bnpMultiplyTo(a,r) {+ var x = this.abs(), y = a.abs();+ var i = x.t;+ r.t = i+y.t;+ while(--i >= 0) r.data[i] = 0;+ for(i = 0; i < y.t; ++i) r.data[i+x.t] = x.am(0,y.data[i],r,i,0,x.t);+ r.s = 0;+ r.clamp();+ if(this.s != a.s) BigInteger.ZERO.subTo(r,r);+}+// (protected) r = this^2, r != this (HAC 14.16)+function bnpSquareTo(r) {+ var x = this.abs();+ var i = r.t = 2*x.t;+ while(--i >= 0) r.data[i] = 0;+ for(i = 0; i < x.t-1; ++i) {+ var c = x.am(i,x.data[i],r,2*i,0,1);+ if((r.data[i+x.t]+=x.am(i+1,2*x.data[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {+ r.data[i+x.t] -= x.DV;+ r.data[i+x.t+1] = 1;+ }+ }+ if(r.t > 0) r.data[r.t-1] += x.am(i,x.data[i],r,2*i,0,1);+ r.s = 0;+ r.clamp();+}+// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)+// r != q, this != m. q or r may be null.+function bnpDivRemTo(m,q,r) {+ var pm = m.abs();+ if(pm.t <= 0) return;+ var pt = this.abs();+ if(pt.t < pm.t) {+ if(q != null) q.fromInt(0);+ if(r != null) this.copyTo(r);+ return;+ }+ if(r == null) r = nbi();+ var y = nbi(), ts = this.s, ms = m.s;+ var nsh = this.DB-nbits(pm.data[pm.t-1]); // normalize modulus+ if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }+ else { pm.copyTo(y); pt.copyTo(r); }+ var ys = y.t;+ var y0 = y.data[ys-1];+ if(y0 == 0) return;+ var yt = y0*(1<<this.F1)+((ys>1)?y.data[ys-2]>>this.F2:0);+ var d1 = this.FV/yt, d2 = (1<<this.F1)/yt, e = 1<<this.F2;+ var i = r.t, j = i-ys, t = (q==null)?nbi():q;+ y.dlShiftTo(j,t);+ if(r.compareTo(t) >= 0) {+ r.data[r.t++] = 1;+ r.subTo(t,r);+ }+ BigInteger.ONE.dlShiftTo(ys,t);+ t.subTo(y,y); // "negative" y so we can replace sub with am later+ while(y.t < ys) y.data[y.t++] = 0;+ while(--j >= 0) {+ // Estimate quotient digit+ var qd = (r.data[--i]==y0)?this.DM:Math.floor(r.data[i]*d1+(r.data[i-1]+e)*d2);+ if((r.data[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out+ y.dlShiftTo(j,t);+ r.subTo(t,r);+ while(r.data[i] < --qd) r.subTo(t,r);+ }+ }+ if(q != null) {+ r.drShiftTo(ys,q);+ if(ts != ms) BigInteger.ZERO.subTo(q,q);+ }+ r.t = ys;+ r.clamp();+ if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder+ if(ts < 0) BigInteger.ZERO.subTo(r,r);+}+// (public) this mod a+function bnMod(a) {+ var r = nbi();+ this.abs().divRemTo(a,null,r);+ if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r);+ return r;+}+// Modular reduction using "classic" algorithm+/** @constructor */+function Classic(m) { this.m = m; }+function cConvert(x) {+ if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);+ else return x;+}+function cRevert(x) { return x; }+function cReduce(x) { x.divRemTo(this.m,null,x); }+function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }+function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }+Classic.prototype.convert = cConvert;+Classic.prototype.revert = cRevert;+Classic.prototype.reduce = cReduce;+Classic.prototype.mulTo = cMulTo;+Classic.prototype.sqrTo = cSqrTo;+// (protected) return "-1/this % 2^DB"; useful for Mont. reduction+// justification:+// xy == 1 (mod m)+// xy = 1+km+// xy(2-xy) = (1+km)(1-km)+// x[y(2-xy)] = 1-k^2m^2+// x[y(2-xy)] == 1 (mod m^2)+// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2+// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.+// JS multiply "overflows" differently from C/C++, so care is needed here.+function bnpInvDigit() {+ if(this.t < 1) return 0;+ var x = this.data[0];+ if((x&1) == 0) return 0;+ var y = x&3; // y == 1/x mod 2^2+ y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4+ y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8+ y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16+ // last step - calculate inverse mod DV directly;+ // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints+ y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits+ // we really want the negative inverse, and -DV < y < DV+ return (y>0)?this.DV-y:-y;+}+// Montgomery reduction+/** @constructor */+function Montgomery(m) {+ this.m = m;+ this.mp = m.invDigit();+ this.mpl = this.mp&0x7fff;+ this.mph = this.mp>>15;+ this.um = (1<<(m.DB-15))-1;+ this.mt2 = 2*m.t;+}+// xR mod m+function montConvert(x) {+ var r = nbi();+ x.abs().dlShiftTo(this.m.t,r);+ r.divRemTo(this.m,null,r);+ if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r);+ return r;+}+// x/R mod m+function montRevert(x) {+ var r = nbi();+ x.copyTo(r);+ this.reduce(r);+ return r;+}+// x = x/R mod m (HAC 14.32)+function montReduce(x) {+ while(x.t <= this.mt2) // pad x so am has enough room later+ x.data[x.t++] = 0;+ for(var i = 0; i < this.m.t; ++i) {+ // faster way of calculating u0 = x.data[i]*mp mod DV+ var j = x.data[i]&0x7fff;+ var u0 = (j*this.mpl+(((j*this.mph+(x.data[i]>>15)*this.mpl)&this.um)<<15))&x.DM;+ // use am to combine the multiply-shift-add into one call+ j = i+this.m.t;+ x.data[j] += this.m.am(0,u0,x,i,0,this.m.t);+ // propagate carry+ while(x.data[j] >= x.DV) { x.data[j] -= x.DV; x.data[++j]++; }+ }+ x.clamp();+ x.drShiftTo(this.m.t,x);+ if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);+}+// r = "x^2/R mod m"; x != r+function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }+// r = "xy/R mod m"; x,y != r+function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }+Montgomery.prototype.convert = montConvert;+Montgomery.prototype.revert = montRevert;+Montgomery.prototype.reduce = montReduce;+Montgomery.prototype.mulTo = montMulTo;+Montgomery.prototype.sqrTo = montSqrTo;+// (protected) true iff this is even+function bnpIsEven() { return ((this.t>0)?(this.data[0]&1):this.s) == 0; }+// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)+function bnpExp(e,z) {+ if(e > 0xffffffff || e < 1) return BigInteger.ONE;+ var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;+ g.copyTo(r);+ while(--i >= 0) {+ z.sqrTo(r,r2);+ if((e&(1<<i)) > 0) z.mulTo(r2,g,r);+ else { var t = r; r = r2; r2 = t; }+ }+ return z.revert(r);+}+// (public) this^e % m, 0 <= e < 2^32+function bnModPowInt(e,m) {+ var z;+ if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);+ return this.exp(e,z);+}+// protected+BigInteger.prototype.copyTo = bnpCopyTo;+BigInteger.prototype.fromInt = bnpFromInt;+BigInteger.prototype.fromString = bnpFromString;+BigInteger.prototype.clamp = bnpClamp;+BigInteger.prototype.dlShiftTo = bnpDLShiftTo;+BigInteger.prototype.drShiftTo = bnpDRShiftTo;+BigInteger.prototype.lShiftTo = bnpLShiftTo;+BigInteger.prototype.rShiftTo = bnpRShiftTo;+BigInteger.prototype.subTo = bnpSubTo;+BigInteger.prototype.multiplyTo = bnpMultiplyTo;+BigInteger.prototype.squareTo = bnpSquareTo;+BigInteger.prototype.divRemTo = bnpDivRemTo;+BigInteger.prototype.invDigit = bnpInvDigit;+BigInteger.prototype.isEven = bnpIsEven;+BigInteger.prototype.exp = bnpExp;+// public+BigInteger.prototype.toString = bnToString;+BigInteger.prototype.negate = bnNegate;+BigInteger.prototype.abs = bnAbs;+BigInteger.prototype.compareTo = bnCompareTo;+BigInteger.prototype.bitLength = bnBitLength;+BigInteger.prototype.mod = bnMod;+BigInteger.prototype.modPowInt = bnModPowInt;+// "constants"+BigInteger.ZERO = nbv(0);+BigInteger.ONE = nbv(1);+// Copyright (c) 2005-2009 Tom Wu+// All Rights Reserved.+// See "LICENSE" for details.+// Extended JavaScript BN functions, required for RSA private ops.+// Version 1.1: new BigInteger("0", 10) returns "proper" zero+// Version 1.2: square() API, isProbablePrime fix+// (public)+function bnClone() { var r = nbi(); this.copyTo(r); return r; }+// (public) return value as integer+function bnIntValue() {+ if(this.s < 0) {+ if(this.t == 1) return this.data[0]-this.DV;+ else if(this.t == 0) return -1;+ }+ else if(this.t == 1) return this.data[0];+ else if(this.t == 0) return 0;+ // assumes 16 < DB < 32+ return ((this.data[1]&((1<<(32-this.DB))-1))<<this.DB)|this.data[0];+}+// (public) return value as byte+function bnByteValue() { return (this.t==0)?this.s:(this.data[0]<<24)>>24; }+// (public) return value as short (assumes DB>=16)+function bnShortValue() { return (this.t==0)?this.s:(this.data[0]<<16)>>16; }+// (protected) return x s.t. r^x < DV+function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); }+// (public) 0 if this == 0, 1 if this > 0+function bnSigNum() {+ if(this.s < 0) return -1;+ else if(this.t <= 0 || (this.t == 1 && this.data[0] <= 0)) return 0;+ else return 1;+}+// (protected) convert to radix string+function bnpToRadix(b) {+ if(b == null) b = 10;+ if(this.signum() == 0 || b < 2 || b > 36) return "0";+ var cs = this.chunkSize(b);+ var a = Math.pow(b,cs);+ var d = nbv(a), y = nbi(), z = nbi(), r = "";+ this.divRemTo(d,y,z);+ while(y.signum() > 0) {+ r = (a+z.intValue()).toString(b).substr(1) + r;+ y.divRemTo(d,y,z);+ }+ return z.intValue().toString(b) + r;+}+// (protected) convert from radix string+function bnpFromRadix(s,b) {+ this.fromInt(0);+ if(b == null) b = 10;+ var cs = this.chunkSize(b);+ var d = Math.pow(b,cs), mi = false, j = 0, w = 0;+ for(var i = 0; i < s.length; ++i) {+ var x = intAt(s,i);+ if(x < 0) {+ if(s.charAt(i) == "-" && this.signum() == 0) mi = true;+ continue;+ }+ w = b*w+x;+ if(++j >= cs) {+ this.dMultiply(d);+ this.dAddOffset(w,0);+ j = 0;+ w = 0;+ }+ }+ if(j > 0) {+ this.dMultiply(Math.pow(b,j));+ this.dAddOffset(w,0);+ }+ if(mi) BigInteger.ZERO.subTo(this,this);+}+// (protected) alternate constructor+function bnpFromNumber(a,b,c) {+ if("number" == typeof b) {+ // new BigInteger(int,int,RNG)+ if(a < 2) this.fromInt(1);+ else {+ this.fromNumber(a,c);+ if(!this.testBit(a-1)) // force MSB set+ this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this);+ if(this.isEven()) this.dAddOffset(1,0); // force odd+ while(!this.isProbablePrime(b)) {+ this.dAddOffset(2,0);+ if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this);+ }+ }+ }+ else {+ // new BigInteger(int,RNG)+ var x = new Array(), t = a&7;+ x.length = (a>>3)+1;+ b.nextBytes(x);+ if(t > 0) x[0] &= ((1<<t)-1); else x[0] = 0;+ this.fromString(x,256);+ }+}+// (public) convert to bigendian byte array+function bnToByteArray() {+ var i = this.t, r = new Array();+ r[0] = this.s;+ var p = this.DB-(i*this.DB)%8, d, k = 0;+ if(i-- > 0) {+ if(p < this.DB && (d = this.data[i]>>p) != (this.s&this.DM)>>p)+ r[k++] = d|(this.s<<(this.DB-p));+ while(i >= 0) {+ if(p < 8) {+ d = (this.data[i]&((1<<p)-1))<<(8-p);+ d |= this.data[--i]>>(p+=this.DB-8);+ }+ else {+ d = (this.data[i]>>(p-=8))&0xff;+ if(p <= 0) { p += this.DB; --i; }+ }+ if((d&0x80) != 0) d |= -256;+ if(k == 0 && (this.s&0x80) != (d&0x80)) ++k;+ if(k > 0 || d != this.s) r[k++] = d;+ }+ }+ return r;+}+function bnEquals(a) { return(this.compareTo(a)==0); }+function bnMin(a) { return(this.compareTo(a)<0)?this:a; }+function bnMax(a) { return(this.compareTo(a)>0)?this:a; }+// (protected) r = this op a (bitwise)+function bnpBitwiseTo(a,op,r) {+ var i, f, m = Math.min(a.t,this.t);+ for(i = 0; i < m; ++i) r.data[i] = op(this.data[i],a.data[i]);+ if(a.t < this.t) {+ f = a.s&this.DM;+ for(i = m; i < this.t; ++i) r.data[i] = op(this.data[i],f);+ r.t = this.t;+ }+ else {+ f = this.s&this.DM;+ for(i = m; i < a.t; ++i) r.data[i] = op(f,a.data[i]);+ r.t = a.t;+ }+ r.s = op(this.s,a.s);+ r.clamp();+}+// (public) this & a+function op_and(x,y) { return x&y; }+function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; }+// (public) this | a+function op_or(x,y) { return x|y; }+function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; }+// (public) this ^ a+function op_xor(x,y) { return x^y; }+function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; }+// (public) this & ~a+function op_andnot(x,y) { return x&~y; }+function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; }+// (public) ~this+function bnNot() {+ var r = nbi();+ for(var i = 0; i < this.t; ++i) r.data[i] = this.DM&~this.data[i];+ r.t = this.t;+ r.s = ~this.s;+ return r;+}+// (public) this << n+function bnShiftLeft(n) {+ var r = nbi();+ if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r);+ return r;+}+// (public) this >> n+function bnShiftRight(n) {+ var r = nbi();+ if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r);+ return r;+}+// return index of lowest 1-bit in x, x < 2^31+function lbit(x) {+ if(x == 0) return -1;+ var r = 0;+ if((x&0xffff) == 0) { x >>= 16; r += 16; }+ if((x&0xff) == 0) { x >>= 8; r += 8; }+ if((x&0xf) == 0) { x >>= 4; r += 4; }+ if((x&3) == 0) { x >>= 2; r += 2; }+ if((x&1) == 0) ++r;+ return r;+}+// (public) returns index of lowest 1-bit (or -1 if none)+function bnGetLowestSetBit() {+ for(var i = 0; i < this.t; ++i)+ if(this.data[i] != 0) return i*this.DB+lbit(this.data[i]);+ if(this.s < 0) return this.t*this.DB;+ return -1;+}+// return number of 1 bits in x+function cbit(x) {+ var r = 0;+ while(x != 0) { x &= x-1; ++r; }+ return r;+}+// (public) return number of set bits+function bnBitCount() {+ var r = 0, x = this.s&this.DM;+ for(var i = 0; i < this.t; ++i) r += cbit(this.data[i]^x);+ return r;+}+// (public) true iff nth bit is set+function bnTestBit(n) {+ var j = Math.floor(n/this.DB);+ if(j >= this.t) return(this.s!=0);+ return((this.data[j]&(1<<(n%this.DB)))!=0);+}+// (protected) this op (1<<n)+function bnpChangeBit(n,op) {+ var r = BigInteger.ONE.shiftLeft(n);+ this.bitwiseTo(r,op,r);+ return r;+}+// (public) this | (1<<n)+function bnSetBit(n) { return this.changeBit(n,op_or); }+// (public) this & ~(1<<n)+function bnClearBit(n) { return this.changeBit(n,op_andnot); }+// (public) this ^ (1<<n)+function bnFlipBit(n) { return this.changeBit(n,op_xor); }+// (protected) r = this + a+function bnpAddTo(a,r) {+ var i = 0, c = 0, m = Math.min(a.t,this.t);+ while(i < m) {+ c += this.data[i]+a.data[i];+ r.data[i++] = c&this.DM;+ c >>= this.DB;+ }+ if(a.t < this.t) {+ c += a.s;+ while(i < this.t) {+ c += this.data[i];+ r.data[i++] = c&this.DM;+ c >>= this.DB;+ }+ c += this.s;+ }+ else {+ c += this.s;+ while(i < a.t) {+ c += a.data[i];+ r.data[i++] = c&this.DM;+ c >>= this.DB;+ }+ c += a.s;+ }+ r.s = (c<0)?-1:0;+ if(c > 0) r.data[i++] = c;+ else if(c < -1) r.data[i++] = this.DV+c;+ r.t = i;+ r.clamp();+}+// (public) this + a+function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; }+// (public) this - a+function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; }+// (public) this * a+function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; }+// (public) this^2+function bnSquare() { var r = nbi(); this.squareTo(r); return r; }+// (public) this / a+function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; }+// (public) this % a+function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; }+// (public) [this/a,this%a]+function bnDivideAndRemainder(a) {+ var q = nbi(), r = nbi();+ this.divRemTo(a,q,r);+ return new Array(q,r);+}+// (protected) this *= n, this >= 0, 1 < n < DV+function bnpDMultiply(n) {+ this.data[this.t] = this.am(0,n-1,this,0,0,this.t);+ ++this.t;+ this.clamp();+}+// (protected) this += n << w words, this >= 0+function bnpDAddOffset(n,w) {+ if(n == 0) return;+ while(this.t <= w) this.data[this.t++] = 0;+ this.data[w] += n;+ while(this.data[w] >= this.DV) {+ this.data[w] -= this.DV;+ if(++w >= this.t) this.data[this.t++] = 0;+ ++this.data[w];+ }+}+// A "null" reducer+/** @constructor */+function NullExp() {}+function nNop(x) { return x; }+function nMulTo(x,y,r) { x.multiplyTo(y,r); }+function nSqrTo(x,r) { x.squareTo(r); }+NullExp.prototype.convert = nNop;+NullExp.prototype.revert = nNop;+NullExp.prototype.mulTo = nMulTo;+NullExp.prototype.sqrTo = nSqrTo;+// (public) this^e+function bnPow(e) { return this.exp(e,new NullExp()); }+// (protected) r = lower n words of "this * a", a.t <= n+// "this" should be the larger one if appropriate.+function bnpMultiplyLowerTo(a,n,r) {+ var i = Math.min(this.t+a.t,n);+ r.s = 0; // assumes a,this >= 0+ r.t = i;+ while(i > 0) r.data[--i] = 0;+ var j;+ for(j = r.t-this.t; i < j; ++i) r.data[i+this.t] = this.am(0,a.data[i],r,i,0,this.t);+ for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a.data[i],r,i,0,n-i);+ r.clamp();+}+// (protected) r = "this * a" without lower n words, n > 0+// "this" should be the larger one if appropriate.+function bnpMultiplyUpperTo(a,n,r) {+ --n;+ var i = r.t = this.t+a.t-n;+ r.s = 0; // assumes a,this >= 0+ while(--i >= 0) r.data[i] = 0;+ for(i = Math.max(n-this.t,0); i < a.t; ++i)+ r.data[this.t+i-n] = this.am(n-i,a.data[i],r,0,0,this.t+i-n);+ r.clamp();+ r.drShiftTo(1,r);+}+// Barrett modular reduction+/** @constructor */+function Barrett(m) {+ // setup Barrett+ this.r2 = nbi();+ this.q3 = nbi();+ BigInteger.ONE.dlShiftTo(2*m.t,this.r2);+ this.mu = this.r2.divide(m);+ this.m = m;+}+function barrettConvert(x) {+ if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m);+ else if(x.compareTo(this.m) < 0) return x;+ else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; }+}+function barrettRevert(x) { return x; }+// x = x mod m (HAC 14.42)+function barrettReduce(x) {+ x.drShiftTo(this.m.t-1,this.r2);+ if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); }+ this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);+ this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);+ while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1);+ x.subTo(this.r2,x);+ while(x.compareTo(this.m) >= 0) x.subTo(this.m,x);+}+// r = x^2 mod m; x != r+function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); }+// r = x*y mod m; x,y != r+function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }+Barrett.prototype.convert = barrettConvert;+Barrett.prototype.revert = barrettRevert;+Barrett.prototype.reduce = barrettReduce;+Barrett.prototype.mulTo = barrettMulTo;+Barrett.prototype.sqrTo = barrettSqrTo;+// (public) this^e % m (HAC 14.85)+function bnModPow(e,m) {+ var i = e.bitLength(), k, r = nbv(1), z;+ if(i <= 0) return r;+ else if(i < 18) k = 1;+ else if(i < 48) k = 3;+ else if(i < 144) k = 4;+ else if(i < 768) k = 5;+ else k = 6;+ if(i < 8)+ z = new Classic(m);+ else if(m.isEven())+ z = new Barrett(m);+ else+ z = new Montgomery(m);+ // precomputation+ var g = new Array(), n = 3, k1 = k-1, km = (1<<k)-1;+ g[1] = z.convert(this);+ if(k > 1) {+ var g2 = nbi();+ z.sqrTo(g[1],g2);+ while(n <= km) {+ g[n] = nbi();+ z.mulTo(g2,g[n-2],g[n]);+ n += 2;+ }+ }+ var j = e.t-1, w, is1 = true, r2 = nbi(), t;+ i = nbits(e.data[j])-1;+ while(j >= 0) {+ if(i >= k1) w = (e.data[j]>>(i-k1))&km;+ else {+ w = (e.data[j]&((1<<(i+1))-1))<<(k1-i);+ if(j > 0) w |= e.data[j-1]>>(this.DB+i-k1);+ }+ n = k;+ while((w&1) == 0) { w >>= 1; --n; }+ if((i -= n) < 0) { i += this.DB; --j; }+ if(is1) { // ret == 1, don't bother squaring or multiplying it+ g[w].copyTo(r);+ is1 = false;+ }+ else {+ while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; }+ if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; }+ z.mulTo(r2,g[w],r);+ }+ while(j >= 0 && (e.data[j]&(1<<i)) == 0) {+ z.sqrTo(r,r2); t = r; r = r2; r2 = t;+ if(--i < 0) { i = this.DB-1; --j; }+ }+ }+ return z.revert(r);+}+// (public) gcd(this,a) (HAC 14.54)+function bnGCD(a) {+ var x = (this.s<0)?this.negate():this.clone();+ var y = (a.s<0)?a.negate():a.clone();+ if(x.compareTo(y) < 0) { var t = x; x = y; y = t; }+ var i = x.getLowestSetBit(), g = y.getLowestSetBit();+ if(g < 0) return x;+ if(i < g) g = i;+ if(g > 0) {+ x.rShiftTo(g,x);+ y.rShiftTo(g,y);+ }+ while(x.signum() > 0) {+ if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x);+ if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y);+ if(x.compareTo(y) >= 0) {+ x.subTo(y,x);+ x.rShiftTo(1,x);+ }+ else {+ y.subTo(x,y);+ y.rShiftTo(1,y);+ }+ }+ if(g > 0) y.lShiftTo(g,y);+ return y;+}+// (protected) this % n, n < 2^26+function bnpModInt(n) {+ if(n <= 0) return 0;+ var d = this.DV%n, r = (this.s<0)?n-1:0;+ if(this.t > 0)+ if(d == 0) r = this.data[0]%n;+ else for(var i = this.t-1; i >= 0; --i) r = (d*r+this.data[i])%n;+ return r;+}+// (public) 1/this % m (HAC 14.61)+function bnModInverse(m) {+ var ac = m.isEven();+ if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO;+ var u = m.clone(), v = this.clone();+ var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);+ while(u.signum() != 0) {+ while(u.isEven()) {+ u.rShiftTo(1,u);+ if(ac) {+ if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); }+ a.rShiftTo(1,a);+ }+ else if(!b.isEven()) b.subTo(m,b);+ b.rShiftTo(1,b);+ }+ while(v.isEven()) {+ v.rShiftTo(1,v);+ if(ac) {+ if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); }+ c.rShiftTo(1,c);+ }+ else if(!d.isEven()) d.subTo(m,d);+ d.rShiftTo(1,d);+ }+ if(u.compareTo(v) >= 0) {+ u.subTo(v,u);+ if(ac) a.subTo(c,a);+ b.subTo(d,b);+ }+ else {+ v.subTo(u,v);+ if(ac) c.subTo(a,c);+ d.subTo(b,d);+ }+ }+ if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;+ if(d.compareTo(m) >= 0) return d.subtract(m);+ if(d.signum() < 0) d.addTo(m,d); else return d;+ if(d.signum() < 0) return d.add(m); else return d;+}+var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];+var lplim = (1<<26)/lowprimes[lowprimes.length-1];+// (public) test primality with certainty >= 1-.5^t+function bnIsProbablePrime(t) {+ var i, x = this.abs();+ if(x.t == 1 && x.data[0] <= lowprimes[lowprimes.length-1]) {+ for(i = 0; i < lowprimes.length; ++i)+ if(x.data[0] == lowprimes[i]) return true;+ return false;+ }+ if(x.isEven()) return false;+ i = 1;+ while(i < lowprimes.length) {+ var m = lowprimes[i], j = i+1;+ while(j < lowprimes.length && m < lplim) m *= lowprimes[j++];+ m = x.modInt(m);+ while(i < j) if(m%lowprimes[i++] == 0) return false;+ }+ return x.millerRabin(t);+}+// (protected) true if probably prime (HAC 4.24, Miller-Rabin)+function bnpMillerRabin(t) {+ var n1 = this.subtract(BigInteger.ONE);+ var k = n1.getLowestSetBit();+ if(k <= 0) return false;+ var r = n1.shiftRight(k);+ t = (t+1)>>1;+ if(t > lowprimes.length) t = lowprimes.length;+ var a = nbi();+ for(var i = 0; i < t; ++i) {+ // Pick bases at random, instead of starting at 2+ a.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);+ var y = a.modPow(r,this);+ if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {+ var j = 1;+ while(j++ < k && y.compareTo(n1) != 0) {+ y = y.modPowInt(2,this);+ if(y.compareTo(BigInteger.ONE) == 0) return false;+ }+ if(y.compareTo(n1) != 0) return false;+ }+ }+ return true;+}+// protected+BigInteger.prototype.chunkSize = bnpChunkSize;+BigInteger.prototype.toRadix = bnpToRadix;+BigInteger.prototype.fromRadix = bnpFromRadix;+BigInteger.prototype.fromNumber = bnpFromNumber;+BigInteger.prototype.bitwiseTo = bnpBitwiseTo;+BigInteger.prototype.changeBit = bnpChangeBit;+BigInteger.prototype.addTo = bnpAddTo;+BigInteger.prototype.dMultiply = bnpDMultiply;+BigInteger.prototype.dAddOffset = bnpDAddOffset;+BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;+BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;+BigInteger.prototype.modInt = bnpModInt;+BigInteger.prototype.millerRabin = bnpMillerRabin;+// public+BigInteger.prototype.clone = bnClone;+BigInteger.prototype.intValue = bnIntValue;+BigInteger.prototype.byteValue = bnByteValue;+BigInteger.prototype.shortValue = bnShortValue;+BigInteger.prototype.signum = bnSigNum;+BigInteger.prototype.toByteArray = bnToByteArray;+BigInteger.prototype.equals = bnEquals;+BigInteger.prototype.min = bnMin;+BigInteger.prototype.max = bnMax;+BigInteger.prototype.and = bnAnd;+BigInteger.prototype.or = bnOr;+BigInteger.prototype.xor = bnXor;+BigInteger.prototype.andNot = bnAndNot;+BigInteger.prototype.not = bnNot;+BigInteger.prototype.shiftLeft = bnShiftLeft;+BigInteger.prototype.shiftRight = bnShiftRight;+BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;+BigInteger.prototype.bitCount = bnBitCount;+BigInteger.prototype.testBit = bnTestBit;+BigInteger.prototype.setBit = bnSetBit;+BigInteger.prototype.clearBit = bnClearBit;+BigInteger.prototype.flipBit = bnFlipBit;+BigInteger.prototype.add = bnAdd;+BigInteger.prototype.subtract = bnSubtract;+BigInteger.prototype.multiply = bnMultiply;+BigInteger.prototype.divide = bnDivide;+BigInteger.prototype.remainder = bnRemainder;+BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;+BigInteger.prototype.modPow = bnModPow;+BigInteger.prototype.modInverse = bnModInverse;+BigInteger.prototype.pow = bnPow;+BigInteger.prototype.gcd = bnGCD;+BigInteger.prototype.isProbablePrime = bnIsProbablePrime;+// JSBN-specific extension+BigInteger.prototype.square = bnSquare;+// BigInteger interfaces not implemented in jsbn:+// BigInteger(int signum, byte[] magnitude)+// double doubleValue()+// float floatValue()+// int hashCode()+// long longValue()+// static BigInteger valueOf(long val)+// customization for GHCJS+BigInteger.prototype.am = am3;+dbits = 28;+DV = (1<<dbits);+BigInteger.prototype.DB = dbits;+BigInteger.prototype.DM = ((1<<dbits)-1);+BigInteger.prototype.DV = (1<<dbits);+BI_FP = 52;+BigInteger.prototype.FV = Math.pow(2,BI_FP);+BigInteger.prototype.F1 = BI_FP-dbits;+BigInteger.prototype.F2 = 2*dbits-BI_FP;+BigInteger.nbv = nbv;+BigInteger.nbi = nbi;+return BigInteger;+})();+// fixme prefix this+var h$nbv = BigInteger.nbv;+var h$nbi = BigInteger.nbi;+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+(function (global, undefined) {+ "use strict";+ if (global.setImmediate) {+ return;+ }+ var nextHandle = 1; // Spec says greater than zero+ var tasksByHandle = {};+ var currentlyRunningATask = false;+ var doc = global.document;+ var setImmediate;+ function addFromSetImmediateArguments(args) {+ tasksByHandle[nextHandle] = partiallyApplied.apply(undefined, args);+ return nextHandle++;+ }+ // This function accepts the same arguments as setImmediate, but+ // returns a function that requires no arguments.+ function partiallyApplied(handler) {+ var args = [].slice.call(arguments, 1);+ return function() {+ if (typeof handler === "function") {+ handler.apply(undefined, args);+ } else {+ (new Function("" + handler))();+ }+ };+ }+ function runIfPresent(handle) {+ // From the spec: "Wait until any invocations of this algorithm started before this one have completed."+ // So if we're currently running a task, we'll need to delay this invocation.+ if (currentlyRunningATask) {+ // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a+ // "too much recursion" error.+ setTimeout(partiallyApplied(runIfPresent, handle), 0);+ } else {+ var task = tasksByHandle[handle];+ if (task) {+ currentlyRunningATask = true;+ try {+ task();+ } finally {+ clearImmediate(handle);+ currentlyRunningATask = false;+ }+ }+ }+ }+ function clearImmediate(handle) {+ delete tasksByHandle[handle];+ }+ function installNextTickImplementation() {+ setImmediate = function() {+ var handle = addFromSetImmediateArguments(arguments);+ process.nextTick(partiallyApplied(runIfPresent, handle));+ return handle;+ };+ }+ function canUsePostMessage() {+ // The test against `importScripts` prevents this implementation from being installed inside a web worker,+ // where `global.postMessage` means something completely different and can't be used for this purpose.+ if (global.postMessage && !global.importScripts) {+ var postMessageIsAsynchronous = true;+ var oldOnMessage = global.onmessage;+ global.onmessage = function() {+ postMessageIsAsynchronous = false;+ };+ global.postMessage("", "*");+ global.onmessage = oldOnMessage;+ return postMessageIsAsynchronous;+ }+ }+ function installPostMessageImplementation() {+ // Installs an event handler on `global` for the `message` event: see+ // * https://developer.mozilla.org/en/DOM/window.postMessage+ // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages+ var messagePrefix = "setImmediate$" + Math.random() + "$";+ var onGlobalMessage = function(event) {+ if (event.source === global &&+ typeof event.data === "string" &&+ event.data.indexOf(messagePrefix) === 0) {+ runIfPresent(+event.data.slice(messagePrefix.length));+ }+ };+ if (global.addEventListener) {+ global.addEventListener("message", onGlobalMessage, false);+ } else {+ global.attachEvent("onmessage", onGlobalMessage);+ }+ setImmediate = function() {+ var handle = addFromSetImmediateArguments(arguments);+ global.postMessage(messagePrefix + handle, "*");+ return handle;+ };+ }+ function installMessageChannelImplementation() {+ var channel = new MessageChannel();+ channel.port1.onmessage = function(event) {+ var handle = event.data;+ runIfPresent(handle);+ };+ setImmediate = function() {+ var handle = addFromSetImmediateArguments(arguments);+ channel.port2.postMessage(handle);+ return handle;+ };+ }+ function installReadyStateChangeImplementation() {+ var html = doc.documentElement;+ setImmediate = function() {+ var handle = addFromSetImmediateArguments(arguments);+ // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted+ // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.+ var script = doc.createElement("script");+ script.onreadystatechange = function () {+ runIfPresent(handle);+ script.onreadystatechange = null;+ html.removeChild(script);+ script = null;+ };+ html.appendChild(script);+ return handle;+ };+ }+ function installSetTimeoutImplementation() {+ // jsshell doesn't even have setTimeout+ if(typeof setTimeout === 'undefined') setImmediate = function() { return null; };+ else+ setImmediate = function() {+ var handle = addFromSetImmediateArguments(arguments);+ setTimeout(partiallyApplied(runIfPresent, handle), 0);+ return handle;+ };+ }+ // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.+ var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);+ attachTo = attachTo && attachTo.setTimeout ? attachTo : global;+ // Don't get fooled by e.g. browserify environments.+ if ({}.toString.call(global.process) === "[object process]") {+ // For Node.js before 0.9+ installNextTickImplementation();+ } else+ if (canUsePostMessage()) {+ // For non-IE10 modern browsers+ installPostMessageImplementation();+ } else if (global.MessageChannel) {+ // For web workers, where supported+ installMessageChannelImplementation();+ } else if (doc && "onreadystatechange" in doc.createElement("script")) {+ // For IE 6–8+ installReadyStateChangeImplementation();+ } else {+ // For older browsers+ installSetTimeoutImplementation();+ }+ attachTo.setImmediate = setImmediate;+ attachTo.clearImmediate = clearImmediate;+}(this));+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// Copyright 2009 The Closure Library Authors. All Rights Reserved.+//+// Licensed under the Apache License, Version 2.0 (the "License");+// you may not use this file except in compliance with the License.+// You may obtain a copy of the License at+//+// http://www.apache.org/licenses/LICENSE-2.0+//+// Unless required by applicable law or agreed to in writing, software+// distributed under the License is distributed on an "AS-IS" BASIS,+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+// See the License for the specific language governing permissions and+// limitations under the License.+/**+ * @fileoverview Defines a Long class for representing a 64-bit two's-complement+ * integer value, which faithfully simulates the behavior of a Java "long". This+ * implementation is derived from LongLib in GWT.+ *+ */+goog.provide('goog.math.Long');+/**+ * Constructs a 64-bit two's-complement integer, given its low and high 32-bit+ * values as *signed* integers. See the from* functions below for more+ * convenient ways of constructing Longs.+ *+ * The internal representation of a long is the two given signed, 32-bit values.+ * We use 32-bit pieces because these are the size of integers on which+ * Javascript performs bit-operations. For operations like addition and+ * multiplication, we split each number into 16-bit pieces, which can easily be+ * multiplied within Javascript's floating-point representation without overflow+ * or change in sign.+ *+ * In the algorithms below, we frequently reduce the negative case to the+ * positive case by negating the input(s) and then post-processing the result.+ * Note that we must ALWAYS check specially whether those values are MIN_VALUE+ * (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as+ * a positive number, it overflows back into a negative). Not handling this+ * case would often result in infinite recursion.+ *+ * @param {number} low The low (signed) 32 bits of the long.+ * @param {number} high The high (signed) 32 bits of the long.+ * @struct+ * @constructor+ * @final+ */+goog.math.Long = function(low, high) {+ /**+ * @type {number}+ * @private+ */+ this.low_ = low | 0; // force into 32 signed bits.+ /**+ * @type {number}+ * @private+ */+ this.high_ = high | 0; // force into 32 signed bits.+};+// NOTE: Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the+// from* methods on which they depend.+/**+ * A cache of the Long representations of small integer values.+ * @type {!Object}+ * @private+ */+goog.math.Long.IntCache_ = {};+/**+ * Returns a Long representing the given (32-bit) integer value.+ * @param {number} value The 32-bit integer in question.+ * @return {!goog.math.Long} The corresponding Long value.+ */+goog.math.Long.fromInt = function(value) {+ if (-128 <= value && value < 128) {+ var cachedObj = goog.math.Long.IntCache_[value];+ if (cachedObj) {+ return cachedObj;+ }+ }+ var obj = new goog.math.Long(value | 0, value < 0 ? -1 : 0);+ if (-128 <= value && value < 128) {+ goog.math.Long.IntCache_[value] = obj;+ }+ return obj;+};+/**+ * Returns a Long representing the given value, provided that it is a finite+ * number. Otherwise, zero is returned.+ * @param {number} value The number in question.+ * @return {!goog.math.Long} The corresponding Long value.+ */+goog.math.Long.fromNumber = function(value) {+ if (isNaN(value) || !isFinite(value)) {+ return goog.math.Long.ZERO;+ } else if (value <= -goog.math.Long.TWO_PWR_63_DBL_) {+ return goog.math.Long.MIN_VALUE;+ } else if (value + 1 >= goog.math.Long.TWO_PWR_63_DBL_) {+ return goog.math.Long.MAX_VALUE;+ } else if (value < 0) {+ return goog.math.Long.fromNumber(-value).negate();+ } else {+ return new goog.math.Long(+ (value % goog.math.Long.TWO_PWR_32_DBL_) | 0,+ (value / goog.math.Long.TWO_PWR_32_DBL_) | 0);+ }+};+/**+ * Returns a Long representing the 64-bit integer that comes by concatenating+ * the given high and low bits. Each is assumed to use 32 bits.+ * @param {number} lowBits The low 32-bits.+ * @param {number} highBits The high 32-bits.+ * @return {!goog.math.Long} The corresponding Long value.+ */+goog.math.Long.fromBits = function(lowBits, highBits) {+ return new goog.math.Long(lowBits, highBits);+};+/**+ * Returns a Long representation of the given string, written using the given+ * radix.+ * @param {string} str The textual representation of the Long.+ * @param {number=} opt_radix The radix in which the text is written.+ * @return {!goog.math.Long} The corresponding Long value.+ */+goog.math.Long.fromString = function(str, opt_radix) {+ if (str.length == 0) {+ throw Error('number format error: empty string');+ }+ var radix = opt_radix || 10;+ if (radix < 2 || 36 < radix) {+ throw Error('radix out of range: ' + radix);+ }+ if (str.charAt(0) == '-') {+ return goog.math.Long.fromString(str.substring(1), radix).negate();+ } else if (str.indexOf('-') >= 0) {+ throw Error('number format error: interior "-" character: ' + str);+ }+ // Do several (8) digits each time through the loop, so as to+ // minimize the calls to the very expensive emulated div.+ var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 8));+ var result = goog.math.Long.ZERO;+ for (var i = 0; i < str.length; i += 8) {+ var size = Math.min(8, str.length - i);+ var value = parseInt(str.substring(i, i + size), radix);+ if (size < 8) {+ var power = goog.math.Long.fromNumber(Math.pow(radix, size));+ result = result.multiply(power).add(goog.math.Long.fromNumber(value));+ } else {+ result = result.multiply(radixToPower);+ result = result.add(goog.math.Long.fromNumber(value));+ }+ }+ return result;+};+// NOTE: the compiler should inline these constant values below and then remove+// these variables, so there should be no runtime penalty for these.+/**+ * Number used repeated below in calculations. This must appear before the+ * first call to any from* function below.+ * @type {number}+ * @private+ */+goog.math.Long.TWO_PWR_16_DBL_ = 1 << 16;+/**+ * @type {number}+ * @private+ */+goog.math.Long.TWO_PWR_24_DBL_ = 1 << 24;+/**+ * @type {number}+ * @private+ */+goog.math.Long.TWO_PWR_32_DBL_ =+ goog.math.Long.TWO_PWR_16_DBL_ * goog.math.Long.TWO_PWR_16_DBL_;+/**+ * @type {number}+ * @private+ */+goog.math.Long.TWO_PWR_31_DBL_ =+ goog.math.Long.TWO_PWR_32_DBL_ / 2;+/**+ * @type {number}+ * @private+ */+goog.math.Long.TWO_PWR_48_DBL_ =+ goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_16_DBL_;+/**+ * @type {number}+ * @private+ */+goog.math.Long.TWO_PWR_64_DBL_ =+ goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_32_DBL_;+/**+ * @type {number}+ * @private+ */+goog.math.Long.TWO_PWR_63_DBL_ =+ goog.math.Long.TWO_PWR_64_DBL_ / 2;+/** @type {!goog.math.Long} */+goog.math.Long.ZERO = goog.math.Long.fromInt(0);+/** @type {!goog.math.Long} */+goog.math.Long.ONE = goog.math.Long.fromInt(1);+/** @type {!goog.math.Long} */+goog.math.Long.NEG_ONE = goog.math.Long.fromInt(-1);+/** @type {!goog.math.Long} */+goog.math.Long.MAX_VALUE =+ goog.math.Long.fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0);+/** @type {!goog.math.Long} */+goog.math.Long.MIN_VALUE = goog.math.Long.fromBits(0, 0x80000000 | 0);+/**+ * @type {!goog.math.Long}+ * @private+ */+goog.math.Long.TWO_PWR_24_ = goog.math.Long.fromInt(1 << 24);+/** @return {number} The value, assuming it is a 32-bit integer. */+goog.math.Long.prototype.toInt = function() {+ return this.low_;+};+/** @return {number} The closest floating-point representation to this value. */+goog.math.Long.prototype.toNumber = function() {+ return this.high_ * goog.math.Long.TWO_PWR_32_DBL_ ++ this.getLowBitsUnsigned();+};+/**+ * @param {number=} opt_radix The radix in which the text should be written.+ * @return {string} The textual representation of this value.+ * @override+ */+goog.math.Long.prototype.toString = function(opt_radix) {+ var radix = opt_radix || 10;+ if (radix < 2 || 36 < radix) {+ throw Error('radix out of range: ' + radix);+ }+ if (this.isZero()) {+ return '0';+ }+ if (this.isNegative()) {+ if (this.equals(goog.math.Long.MIN_VALUE)) {+ // We need to change the Long value before it can be negated, so we remove+ // the bottom-most digit in this base and then recurse to do the rest.+ var radixLong = goog.math.Long.fromNumber(radix);+ var div = this.div(radixLong);+ var rem = div.multiply(radixLong).subtract(this);+ return div.toString(radix) + rem.toInt().toString(radix);+ } else {+ return '-' + this.negate().toString(radix);+ }+ }+ // Do several (6) digits each time through the loop, so as to+ // minimize the calls to the very expensive emulated div.+ var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 6));+ var rem = this;+ var result = '';+ while (true) {+ var remDiv = rem.div(radixToPower);+ var intval = rem.subtract(remDiv.multiply(radixToPower)).toInt();+ var digits = intval.toString(radix);+ rem = remDiv;+ if (rem.isZero()) {+ return digits + result;+ } else {+ while (digits.length < 6) {+ digits = '0' + digits;+ }+ result = '' + digits + result;+ }+ }+};+/** @return {number} The high 32-bits as a signed value. */+goog.math.Long.prototype.getHighBits = function() {+ return this.high_;+};+/** @return {number} The low 32-bits as a signed value. */+goog.math.Long.prototype.getLowBits = function() {+ return this.low_;+};+/** @return {number} The low 32-bits as an unsigned value. */+goog.math.Long.prototype.getLowBitsUnsigned = function() {+ return (this.low_ >= 0) ?+ this.low_ : goog.math.Long.TWO_PWR_32_DBL_ + this.low_;+};+/**+ * @return {number} Returns the number of bits needed to represent the absolute+ * value of this Long.+ */+goog.math.Long.prototype.getNumBitsAbs = function() {+ if (this.isNegative()) {+ if (this.equals(goog.math.Long.MIN_VALUE)) {+ return 64;+ } else {+ return this.negate().getNumBitsAbs();+ }+ } else {+ var val = this.high_ != 0 ? this.high_ : this.low_;+ for (var bit = 31; bit > 0; bit--) {+ if ((val & (1 << bit)) != 0) {+ break;+ }+ }+ return this.high_ != 0 ? bit + 33 : bit + 1;+ }+};+/** @return {boolean} Whether this value is zero. */+goog.math.Long.prototype.isZero = function() {+ return this.high_ == 0 && this.low_ == 0;+};+/** @return {boolean} Whether this value is negative. */+goog.math.Long.prototype.isNegative = function() {+ return this.high_ < 0;+};+/** @return {boolean} Whether this value is odd. */+goog.math.Long.prototype.isOdd = function() {+ return (this.low_ & 1) == 1;+};+/**+ * @param {goog.math.Long} other Long to compare against.+ * @return {boolean} Whether this Long equals the other.+ */+goog.math.Long.prototype.equals = function(other) {+ return (this.high_ == other.high_) && (this.low_ == other.low_);+};+/**+ * @param {goog.math.Long} other Long to compare against.+ * @return {boolean} Whether this Long does not equal the other.+ */+goog.math.Long.prototype.notEquals = function(other) {+ return (this.high_ != other.high_) || (this.low_ != other.low_);+};+/**+ * @param {goog.math.Long} other Long to compare against.+ * @return {boolean} Whether this Long is less than the other.+ */+goog.math.Long.prototype.lessThan = function(other) {+ return this.compare(other) < 0;+};+/**+ * @param {goog.math.Long} other Long to compare against.+ * @return {boolean} Whether this Long is less than or equal to the other.+ */+goog.math.Long.prototype.lessThanOrEqual = function(other) {+ return this.compare(other) <= 0;+};+/**+ * @param {goog.math.Long} other Long to compare against.+ * @return {boolean} Whether this Long is greater than the other.+ */+goog.math.Long.prototype.greaterThan = function(other) {+ return this.compare(other) > 0;+};+/**+ * @param {goog.math.Long} other Long to compare against.+ * @return {boolean} Whether this Long is greater than or equal to the other.+ */+goog.math.Long.prototype.greaterThanOrEqual = function(other) {+ return this.compare(other) >= 0;+};+/**+ * Compares this Long with the given one.+ * @param {goog.math.Long} other Long to compare against.+ * @return {number} 0 if they are the same, 1 if the this is greater, and -1+ * if the given one is greater.+ */+goog.math.Long.prototype.compare = function(other) {+ if (this.equals(other)) {+ return 0;+ }+ var thisNeg = this.isNegative();+ var otherNeg = other.isNegative();+ if (thisNeg && !otherNeg) {+ return -1;+ }+ if (!thisNeg && otherNeg) {+ return 1;+ }+ // at this point, the signs are the same, so subtraction will not overflow+ if (this.subtract(other).isNegative()) {+ return -1;+ } else {+ return 1;+ }+};+/** @return {!goog.math.Long} The negation of this value. */+goog.math.Long.prototype.negate = function() {+ if (this.equals(goog.math.Long.MIN_VALUE)) {+ return goog.math.Long.MIN_VALUE;+ } else {+ return this.not().add(goog.math.Long.ONE);+ }+};+/**+ * Returns the sum of this and the given Long.+ * @param {goog.math.Long} other Long to add to this one.+ * @return {!goog.math.Long} The sum of this and the given Long.+ */+goog.math.Long.prototype.add = function(other) {+ // Divide each number into 4 chunks of 16 bits, and then sum the chunks.+ var a48 = this.high_ >>> 16;+ var a32 = this.high_ & 0xFFFF;+ var a16 = this.low_ >>> 16;+ var a00 = this.low_ & 0xFFFF;+ var b48 = other.high_ >>> 16;+ var b32 = other.high_ & 0xFFFF;+ var b16 = other.low_ >>> 16;+ var b00 = other.low_ & 0xFFFF;+ var c48 = 0, c32 = 0, c16 = 0, c00 = 0;+ c00 += a00 + b00;+ c16 += c00 >>> 16;+ c00 &= 0xFFFF;+ c16 += a16 + b16;+ c32 += c16 >>> 16;+ c16 &= 0xFFFF;+ c32 += a32 + b32;+ c48 += c32 >>> 16;+ c32 &= 0xFFFF;+ c48 += a48 + b48;+ c48 &= 0xFFFF;+ return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32);+};+/**+ * Returns the difference of this and the given Long.+ * @param {goog.math.Long} other Long to subtract from this.+ * @return {!goog.math.Long} The difference of this and the given Long.+ */+goog.math.Long.prototype.subtract = function(other) {+ return this.add(other.negate());+};+/**+ * Returns the product of this and the given long.+ * @param {goog.math.Long} other Long to multiply with this.+ * @return {!goog.math.Long} The product of this and the other.+ */+goog.math.Long.prototype.multiply = function(other) {+ if (this.isZero()) {+ return goog.math.Long.ZERO;+ } else if (other.isZero()) {+ return goog.math.Long.ZERO;+ }+ if (this.equals(goog.math.Long.MIN_VALUE)) {+ return other.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO;+ } else if (other.equals(goog.math.Long.MIN_VALUE)) {+ return this.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO;+ }+ if (this.isNegative()) {+ if (other.isNegative()) {+ return this.negate().multiply(other.negate());+ } else {+ return this.negate().multiply(other).negate();+ }+ } else if (other.isNegative()) {+ return this.multiply(other.negate()).negate();+ }+ // If both longs are small, use float multiplication+ if (this.lessThan(goog.math.Long.TWO_PWR_24_) &&+ other.lessThan(goog.math.Long.TWO_PWR_24_)) {+ return goog.math.Long.fromNumber(this.toNumber() * other.toNumber());+ }+ // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.+ // We can skip products that would overflow.+ var a48 = this.high_ >>> 16;+ var a32 = this.high_ & 0xFFFF;+ var a16 = this.low_ >>> 16;+ var a00 = this.low_ & 0xFFFF;+ var b48 = other.high_ >>> 16;+ var b32 = other.high_ & 0xFFFF;+ var b16 = other.low_ >>> 16;+ var b00 = other.low_ & 0xFFFF;+ var c48 = 0, c32 = 0, c16 = 0, c00 = 0;+ c00 += a00 * b00;+ c16 += c00 >>> 16;+ c00 &= 0xFFFF;+ c16 += a16 * b00;+ c32 += c16 >>> 16;+ c16 &= 0xFFFF;+ c16 += a00 * b16;+ c32 += c16 >>> 16;+ c16 &= 0xFFFF;+ c32 += a32 * b00;+ c48 += c32 >>> 16;+ c32 &= 0xFFFF;+ c32 += a16 * b16;+ c48 += c32 >>> 16;+ c32 &= 0xFFFF;+ c32 += a00 * b32;+ c48 += c32 >>> 16;+ c32 &= 0xFFFF;+ c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;+ c48 &= 0xFFFF;+ return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32);+};+/**+ * Returns this Long divided by the given one.+ * @param {goog.math.Long} other Long by which to divide.+ * @return {!goog.math.Long} This Long divided by the given one.+ */+goog.math.Long.prototype.div = function(other) {+ if (other.isZero()) {+ throw Error('division by zero');+ } else if (this.isZero()) {+ return goog.math.Long.ZERO;+ }+ if (this.equals(goog.math.Long.MIN_VALUE)) {+ if (other.equals(goog.math.Long.ONE) ||+ other.equals(goog.math.Long.NEG_ONE)) {+ return goog.math.Long.MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE+ } else if (other.equals(goog.math.Long.MIN_VALUE)) {+ return goog.math.Long.ONE;+ } else {+ // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.+ var halfThis = this.shiftRight(1);+ var approx = halfThis.div(other).shiftLeft(1);+ if (approx.equals(goog.math.Long.ZERO)) {+ return other.isNegative() ? goog.math.Long.ONE : goog.math.Long.NEG_ONE;+ } else {+ var rem = this.subtract(other.multiply(approx));+ var result = approx.add(rem.div(other));+ return result;+ }+ }+ } else if (other.equals(goog.math.Long.MIN_VALUE)) {+ return goog.math.Long.ZERO;+ }+ if (this.isNegative()) {+ if (other.isNegative()) {+ return this.negate().div(other.negate());+ } else {+ return this.negate().div(other).negate();+ }+ } else if (other.isNegative()) {+ return this.div(other.negate()).negate();+ }+ // Repeat the following until the remainder is less than other: find a+ // floating-point that approximates remainder / other *from below*, add this+ // into the result, and subtract it from the remainder. It is critical that+ // the approximate value is less than or equal to the real value so that the+ // remainder never becomes negative.+ var res = goog.math.Long.ZERO;+ var rem = this;+ while (rem.greaterThanOrEqual(other)) {+ // Approximate the result of division. This may be a little greater or+ // smaller than the actual value.+ var approx = Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));+ // We will tweak the approximate result by changing it in the 48-th digit or+ // the smallest non-fractional digit, whichever is larger.+ var log2 = Math.ceil(Math.log(approx) / Math.LN2);+ var delta = (log2 <= 48) ? 1 : Math.pow(2, log2 - 48);+ // Decrease the approximation until it is smaller than the remainder. Note+ // that if it is too large, the product overflows and is negative.+ var approxRes = goog.math.Long.fromNumber(approx);+ var approxRem = approxRes.multiply(other);+ while (approxRem.isNegative() || approxRem.greaterThan(rem)) {+ approx -= delta;+ approxRes = goog.math.Long.fromNumber(approx);+ approxRem = approxRes.multiply(other);+ }+ // We know the answer can't be zero... and actually, zero would cause+ // infinite recursion since we would make no progress.+ if (approxRes.isZero()) {+ approxRes = goog.math.Long.ONE;+ }+ res = res.add(approxRes);+ rem = rem.subtract(approxRem);+ }+ return res;+};+/**+ * Returns this Long modulo the given one.+ * @param {goog.math.Long} other Long by which to mod.+ * @return {!goog.math.Long} This Long modulo the given one.+ */+goog.math.Long.prototype.modulo = function(other) {+ return this.subtract(this.div(other).multiply(other));+};+/** @return {!goog.math.Long} The bitwise-NOT of this value. */+goog.math.Long.prototype.not = function() {+ return goog.math.Long.fromBits(~this.low_, ~this.high_);+};+/**+ * Returns the bitwise-AND of this Long and the given one.+ * @param {goog.math.Long} other The Long with which to AND.+ * @return {!goog.math.Long} The bitwise-AND of this and the other.+ */+goog.math.Long.prototype.and = function(other) {+ return goog.math.Long.fromBits(this.low_ & other.low_,+ this.high_ & other.high_);+};+/**+ * Returns the bitwise-OR of this Long and the given one.+ * @param {goog.math.Long} other The Long with which to OR.+ * @return {!goog.math.Long} The bitwise-OR of this and the other.+ */+goog.math.Long.prototype.or = function(other) {+ return goog.math.Long.fromBits(this.low_ | other.low_,+ this.high_ | other.high_);+};+/**+ * Returns the bitwise-XOR of this Long and the given one.+ * @param {goog.math.Long} other The Long with which to XOR.+ * @return {!goog.math.Long} The bitwise-XOR of this and the other.+ */+goog.math.Long.prototype.xor = function(other) {+ return goog.math.Long.fromBits(this.low_ ^ other.low_,+ this.high_ ^ other.high_);+};+/**+ * Returns this Long with bits shifted to the left by the given amount.+ * @param {number} numBits The number of bits by which to shift.+ * @return {!goog.math.Long} This shifted to the left by the given amount.+ */+goog.math.Long.prototype.shiftLeft = function(numBits) {+ numBits &= 63;+ if (numBits == 0) {+ return this;+ } else {+ var low = this.low_;+ if (numBits < 32) {+ var high = this.high_;+ return goog.math.Long.fromBits(+ low << numBits,+ (high << numBits) | (low >>> (32 - numBits)));+ } else {+ return goog.math.Long.fromBits(0, low << (numBits - 32));+ }+ }+};+/**+ * Returns this Long with bits shifted to the right by the given amount.+ * @param {number} numBits The number of bits by which to shift.+ * @return {!goog.math.Long} This shifted to the right by the given amount.+ */+goog.math.Long.prototype.shiftRight = function(numBits) {+ numBits &= 63;+ if (numBits == 0) {+ return this;+ } else {+ var high = this.high_;+ if (numBits < 32) {+ var low = this.low_;+ return goog.math.Long.fromBits(+ (low >>> numBits) | (high << (32 - numBits)),+ high >> numBits);+ } else {+ return goog.math.Long.fromBits(+ high >> (numBits - 32),+ high >= 0 ? 0 : -1);+ }+ }+};+/**+ * Returns this Long with bits shifted to the right by the given amount, with+ * zeros placed into the new leading bits.+ * @param {number} numBits The number of bits by which to shift.+ * @return {!goog.math.Long} This shifted to the right by the given amount, with+ * zeros placed into the new leading bits.+ */+goog.math.Long.prototype.shiftRightUnsigned = function(numBits) {+ numBits &= 63;+ if (numBits == 0) {+ return this;+ } else {+ var high = this.high_;+ if (numBits < 32) {+ var low = this.low_;+ return goog.math.Long.fromBits(+ (low >>> numBits) | (high << (32 - numBits)),+ high >>> numBits);+ } else if (numBits == 32) {+ return goog.math.Long.fromBits(high, 0);+ } else {+ return goog.math.Long.fromBits(high >>> (numBits - 32), 0);+ }+ }+};+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/*+ simple set with reasonably fast iteration though an array, which may contain nulls+ elements must be objects that have a unique _key property+ collections are expected to be homogeneous++ when iterating over a set with an iterator, the following operations are safe:++ - adding an element to the set (the existing iterator will iterate over the new elements)+ - removing the last returned element through the iterator++ behaviour for deleting elements is unpredictable and unsafe+*/+/** @constructor */+function h$Set(s) {+ this._vals = [];+ this._keys = [];+ this._size = 0;+}+h$Set.prototype.size = function() {+ return this._size;+}+h$Set.prototype.add = function(o) {+ if((typeof o !== 'object' && typeof o !== 'function') || typeof o._key !== 'number') throw ("h$Set.add: invalid element: " + o);+ if(this._size > 0) {+// if(this._storedProto !== o.prototype) throw ("h$Set.add: unexpected element prototype: " + o)+ } else {+ this._storedProto = o.prototype;+ }+ if(this._keys[o._key] !== undefined && this._vals[this._keys[o._key]] !== o) throw ("h$Set.add: duplicate key: " + o);+ var k = this._keys, v = this._vals;+ if(k[o._key] === undefined) {+ k[o._key] = this._size;+ v[this._size++] = o;+ }+}+h$Set.prototype.remove = function(o) {+ if(this._size === 0) return;+ var k = this._keys, v = this._vals, x = k[o._key];+ if(x !== undefined) {+ delete k[o._key];+ var ls = --this._size;+ if(ls !== x) {+ var l = v[ls];+ v[x] = l;+ k[l._key] = x;+ }+ v[ls] = null;+ if(v.length > 10 && 2 * v.length > 3 * ls) this._vals = v.slice(0, ls);+ }+}+h$Set.prototype.has = function(o) {+ return this._keys[o._key] !== undefined;+}+h$Set.prototype.clear = function() {+ if(this._size > 0) {+ this._keys = [];+ this._vals = [];+ this._size = 0;+ }+}+h$Set.prototype.iter = function() {+ return new h$SetIter(this);+}+// returns an array with all values, might contain additional nulls at the end+h$Set.prototype.values = function() {+ return this._vals;+}+/** @constructor */+function h$SetIter(s) {+ this._n = 0;+ this._s = s;+ this._r = true;+}+h$SetIter.prototype.next = function() {+ if(this._n < this._s._size) {+ this._r = false;+ return this._s._vals[this._n++];+ } else {+ this._r = true;+ return null;+ }+}+h$SetIter.prototype.peek = function() {+ if(this._n < this._s._size) {+ return this._s.vals[this._n];+ } else {+ return null;+ }+}+// remove the last element returned+h$SetIter.prototype.remove = function() {+ if(!this._r) {+ this._s.remove(this._s._vals[--this._n]);+ this._r = true;+ }+}+/*+ map, iteration restrictions are the same as for set+ keys need to be objects with a unique _key property++ keys are expected to have the same prototype++ values may be anything (but note that the values array might have additional nulls)+*/+/** @constructor */+function h$Map() {+ this._pairsKeys = [];+ this._pairsValues = [];+ this._keys = [];+ this._size = 0;+}+h$Map.prototype.size = function() {+ return this._size;+}+h$Map.prototype.put = function(k,v) {+ if((typeof k !== 'object' && typeof k !== 'function') || typeof k._key !== 'number') throw ("h$Map.add: invalid key: " + k);+ if(this._size > 0) {+ if(this._storedProto !== k.prototype) throw ("h$Map.add: unexpected key prototype: " + k)+ } else {+ this._storedProto = k.prototype;+ }+ if(this._keys[k._key] !== undefined && this._pairsKeys[this._keys[k._key]] !== k) throw ("h$Map.add: duplicate key: " + k);+ var ks = this._keys, pk = this._pairsKeys, pv = this._pairsValues, x = ks[k._key];+ if(x === undefined) {+ var n = this._size++;+ ks[k._key] = n;+ pk[n] = k;+ pv[n] = v;+ } else {+ pv[x] = v;+ }+}+h$Map.prototype.remove = function(k) {+ var kk = k._key, ks = this._keys, pk = this._pairsKeys, pv = this._pairsValues, x = ks[kk];+ if(x !== undefined) {+ delete ks[kk];+ var ss = --this._size;+ if(ss !== x) {+ pks = pk[ss];+ pk[x] = pks;+ pv[x] = pv[ss];+ ks[pks._key] = x;+ }+ pv[ss] = null;+ pk[ss] = null;+ if(pk.length > 10 && 2 * pk.length > 3 * this._size) {+ this._pairsKeys = pk.slice(0,ss);+ this._pairsValues = pv.slice(0,ss);+ }+ }+}+h$Map.prototype.has = function(k) {+ return this._keys[k._key] !== undefined;+}+h$Map.prototype.get = function(k) {+ var n = this._keys[k._key];+ if(n !== undefined) {+ return this._pairsValues[n];+ } else {+ return null;+ }+}+h$Map.prototype.iter = function() {+ return new h$MapIter(this);+}+// returned array might have some trailing nulls+h$Map.prototype.keys = function () {+ return this._pairsKeys;+}+// returned array might have some trailing nulls+h$Map.prototype.values = function() {+ return this._pairsValues;+}+/** @constructor */+function h$MapIter(m) {+ this._n = 0;+ this._m = m;+}+h$MapIter.prototype.next = function() {+ return this._n < this._m._size ? this._m._pairsKeys[this._n++] : null;+}+h$MapIter.prototype.nextVal = function() {+ return this._n < this._m._size ? this._m._pairsValues[this._n++] : null;+}+h$MapIter.prototype.peek = function() {+ return this._n < this._m._size ? this._m._pairsKeys[this._n] : null;+}+h$MapIter.prototype.peekVal = function() {+ return this._n < this._m._size ? this._m._pairsValues[this._n] : null;+}+/*+ simple queue, returns null when empty+ it's safe to enqueue new items while iterating, not safe to dequeue+ (new items will not be iterated over)+*/+/** @constructor */+function h$Queue() {+ var b = { b: [], n: null };+ this._blocks = 1;+ this._first = b;+ this._fp = 0;+ this._last = b;+ this._lp = 0;+}+h$Queue.prototype.length = function() {+ return 1000 * (this._blocks - 1) + this._lp - this._fp;+}+h$Queue.prototype.isEmpty = function() {+ return this._blocks === 1 && this._lp >= this._fp;+}+h$Queue.prototype.enqueue = function(o) {+ if(this._lp === 1000) {+ var newBlock = { b: [o], n: null };+ this._blocks++;+ this._last.n = newBlock;+ this._last = newBlock;+ this._lp = 1;+ } else {+ this._last.b[this._lp++] = o;+ }+}+h$Queue.prototype.dequeue = function() {+ if(this._blocks === 1 && this._fp >= this._lp) {+ return null;+ } else {+ var qfb = this._first.b, r = qfb[this._fp];+ qfb[this._fp] = null;+ if(++this._fp === 1000) {+ if(this._blocks === 1) {+ this._lp = 0;+ } else {+ this._blocks--;+ this._first = this._first.n;+ }+ this._fp = 0;+ } else if(this._blocks === 1 && this._fp >= this._lp) {+ this._lp = this._fp = 0;+ }+ return r;+ }+}+h$Queue.prototype.peek = function() {+ if(this._blocks === 0 || (this._blocks === 1 && this._fp >= this._lp)) {+ return null;+ } else {+ return this._first.b[this._fp];+ }+}+h$Queue.prototype.iter = function() {+ var b = this._first, bp = this._fp, lb = this._last, lp = this._lp;+ return function() {+ if(b === null || (b === lb && bp >= lp)) {+ return null;+ } else {+ var r = b.b[bp];+ if(++bp === 1000) {+ b = b.n;+ bp = 0;+ if(b === null) lb = null;+ }+ return r;+ }+ }+}+/*+ binary min-heap / set+ - iteration is not in order of priority+ - values can be removed, need to have the ._key property+*/+/** @constructor */+function h$HeapSet() {+ this._keys = [];+ this._prios = [];+ this._vals = [];+ this._size = 0;+}+h$HeapSet.prototype.size = function() {+ return this._size;+}+// add a node, if it already exists, it's moved to the new priority+h$HeapSet.prototype.add = function(op,o) {+ if((typeof o !== 'object' && typeof o !== 'function') || typeof o._key !== 'number') throw ("h$HeapSet.add: invalid element: " + o);+ if(this._size > 0) {+ if(this._storedProto !== o.prototype) throw ("h$HeapSet.add: unexpected element prototype: " + o)+ } else {+ this._storedProto = o.prototype;+ }+ if(this._keys[o._key] !== undefined && this._vals[this._keys[o._key]] !== o) throw ("h$Set.add: duplicate key: " + o);+ var p = this._prios, k = this._keys, v = this._vals, x = k[o._key];+ if(x !== undefined) { // adjust node+ var oop = p[x];+ if(oop !== op) {+ p[x] = op;+ if(op < oop) {+ this._upHeap(x);+ } else {+ this._downHeap(x);+ }+ }+ } else { // new node+ var s = this._size++;+ k[o._key] = s;+ p[s] = op;+ v[s] = o;+ this._upHeap(s);+ }+}+h$HeapSet.prototype.has = function(o) {+ return this._keys[o._key] !== undefined;+}+h$HeapSet.prototype.prio = function(o) {+ var x = this._keys[o._key];+ if(x !== undefined) {+ return this._prios[x];+ } else {+ return null;+ }+}+h$HeapSet.prototype.peekPrio = function() {+ return this._size > 0 ? this._prios[0] : null;+}+h$HeapSet.prototype.peek = function() {+ return this._size > 0 ? this._vals[0] : null;+}+h$HeapSet.prototype.pop = function() {+ if(this._size > 0) {+ var v = this._vals[0];+ this._removeNode(0);+ return v;+ } else {+ return null;+ }+}+h$HeapSet.prototype.remove = function(o) {+ var x = this._keys[o._key];+ if(x !== undefined) this._removeNode(x);+}+h$HeapSet.prototype.iter = function() {+ var n = 0, v = this._vals, s = this._size;+ return function() {+ return n < s ? v[n++] : null;+ }+}+// may be longer than this.size(), remainder is filled with nulls+h$HeapSet.prototype.values = function() {+ return this._vals;+}+h$HeapSet.prototype._removeNode = function(i) {+ var p = this._prios, v = this._vals, s = --this._size, k = this._keys;+ delete k[v[i]._key];+ if(i !== s) {+ v[i] = v[s];+ p[i] = p[s];+ k[v[i]._key] = i;+ }+ v[s] = null;+ p[s] = null;+ this._downHeap(i,s);+}+h$HeapSet.prototype._downHeap = function(i,s) {+ var p = this._prios, v = this._vals, k = this._keys;+ var j,l,r,ti,tj;+ while(true) {+ j = i, r = 2*(i+1), l = r-1;+ if(l < s && p[l] < p[i]) i = l;+ if(r < s && p[r] < p[i]) i = r;+ if(i !== j) {+ ti = v[i];+ tj = v[j];+ v[j] = ti;+ v[i] = tj;+ k[ti._key] = j;+ k[tj._key] = i;+ ti = p[i];+ p[i] = p[j];+ p[j] = ti;+ } else {+ break;+ }+ }+}+h$HeapSet.prototype._upHeap = function(i) {+ var ti, tj, j, p = this._prios, v = this._vals, k = this._keys;+ while(i !== 0) {+ j = (i-1) >> 1;+ if(p[i] < p[j]) {+ ti = v[i];+ tj = v[j];+ v[j] = ti;+ v[i] = tj;+ k[ti._key] = j;+ k[tj._key] = i;+ ti = p[i];+ p[i] = p[j];+ p[j] = ti;+ i = j;+ } else {+ break;+ }+ }+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// #define GHCJS_TRACE_META 1+// memory management and pointer emulation+// static init, non-caf+function h$sti(i,c,xs) {+ i.f = c;+ h$init_closure(i,xs);+}+// static init, caf+function h$stc(i,c) {+ i.f = c;+ h$init_closure(i,[]);+ h$CAFs.push(i);+ h$CAFsReset.push(i.f);+}+function h$stl(o, xs, t) {+ var r = t ? t : h$ghczmprimZCGHCziTypesziZMZN;+ var x;+ if(xs.length > 0) {+ for(var i=xs.length-1;i>=0;i--) {+ x = xs[i];+ if(!x && x !== false && x !== 0) throw "h$toHsList: invalid element";+ r = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, x, r);+ }+ }+ o.f = r.f;+ o.d1 = r.d1;+ o.d2 = r.d2;+ o.m = r.m;+}+// delayed init for top-level closures+var h$staticDelayed = [];+function h$d() {+ var c = h$c(null);+ h$staticDelayed.push(c);+ return c;+}+var h$allocN = 0;+function h$traceAlloc(x) {+ h$log("allocating: " + (++h$allocN));+ x.alloc = h$allocN;+}+// fixme remove this when we have a better way to immediately init these things+function h$di(c) {+ h$staticDelayed.push(c);+}+// initialize global object to primitive value+function h$p(x) {+ h$staticDelayed.push(x);+ return x;+}+var h$entriesStack = [];+var h$staticsStack = [];+var h$labelsStack = [];+function h$scheduleInit(entries, objs, lbls, infos, statics) {+ var d = h$entriesStack.length;+ h$entriesStack.push(entries);+ h$staticsStack.push(objs);+ h$labelsStack.push(lbls);+ h$initStatic.push(function() {+ h$initInfoTables(d, entries, objs, lbls, infos, statics);+ });+}+function h$runInitStatic() {+ if(h$initStatic.length > 0) {+ for(var i=h$initStatic.length - 1;i>=0;i--) {+ h$initStatic[i]();+ }+ h$initStatic = [];+ }+ // free the references to the temporary tables used for+ // initialising all our static data+ h$entriesStack = null;+ h$staticsStack = null;+}+// initialize packed info tables+// see Gen2.Compactor for how the data is encoded+function h$initInfoTables ( depth // depth in the base chain+ , funcs // array with all entry functions+ , objects // array with all the global heap objects+ , lbls // array with non-haskell labels+ , infoMeta // packed info+ , infoStatic+ ) {+ ;+ var n, i, j, o, pos = 0, info;+ function code(c) {+ if(c < 34) return c - 32;+ if(c < 92) return c - 33;+ return c - 34;+ }+ function next() {+ var c = info.charCodeAt(pos);+ if(c < 124) {+ ;+ pos++;+ return code(c);+ }+ if(c === 124) {+ pos+=3;+ var r = 90 + 90 * code(info.charCodeAt(pos-2))+ + code(info.charCodeAt(pos-1));+ ;+ return r;+ }+ if(c === 125) {+ pos+=4;+ var r = 8190 + 8100 * code(info.charCodeAt(pos-3))+ + 90 * code(info.charCodeAt(pos-2))+ + code(info.charCodeAt(pos-1));+ ;+ return r;+ }+ throw ("h$initInfoTables: invalid code in info table: " + c + " at " + pos)+ }+ function nextCh() {+ return next(); // fixme map readable chars+ }+ function nextInt() {+ var n = next();+ var r;+ if(n === 0) {+ var n1 = next();+ var n2 = next();+ r = n1 << 16 | n2;+ } else {+ r = n - 12;+ }+ ;+ return r;+ }+ function nextSignificand() {+ var n = next();+ var n1, n2, n3, n4, n5;+ var r;+ if(n < 2) {+ n1 = next();+ n2 = next();+ n3 = next();+ n4 = next();+ n5 = n1 * 281474976710656 + n2 * 4294967296 + n3 * 65536 + n4;+ r = n === 0 ? -n5 : n5;+ } else {+ r = n - 12;+ }+ ;+ return r;+ }+ function nextEntry(o) { return nextIndexed("nextEntry", h$entriesStack, o); }+ function nextObj(o) { return nextIndexed("nextObj", h$staticsStack, o); }+ function nextLabel(o) { return nextIndexed("nextLabel", h$labelsStack, o); }+ function nextIndexed(msg, stack, o) {+ var n = (o === undefined) ? next() : o;+ var i = depth;+ while(n > stack[i].length) {+ n -= stack[i].length;+ i--;+ if(i < 0) throw (msg + ": cannot find item " + n + ", stack length: " + stack.length + " depth: " + depth);+ }+ return stack[i][n];+ }+ function nextArg() {+ var o = next();+ var n, n1, n2;+ switch(o) {+ case 0:+ ;+ return false;+ case 1:+ ;+ return true;+ case 2:+ ;+ return 0;+ case 3:+ ;+ return 1;+ case 4:+ ;+ return nextInt();+ case 5:+ ;+ return null;+ case 6:+ ;+ n = next();+ switch(n) {+ case 0:+ return -0.0;+ case 1:+ return 0.0;+ case 2:+ return 1/0;+ case 3:+ return -1/0;+ case 4:+ return 0/0;+ case 5:+ n1 = nextInt();+ return nextSignificand() * Math.pow(2, n1)+ default:+ n1 = n - 36;+ return nextSignificand() * Math.pow(2, n1);+ }+ case 7:+ ;+ throw "string arg";+ return ""; // fixme haskell string+ case 8:+ ;+ n = next();+ var ba = h$newByteArray(n);+ var b8 = ba.u8;+ var p = 0;+ while(n > 0) {+ switch(n) {+ case 1:+ d0 = next();+ d1 = next();+ b8[p] = ((d0 << 2) | (d1 >> 4));+ break;+ case 2:+ d0 = next();+ d1 = next();+ d2 = next();+ b8[p++] = ((d0 << 2) | (d1 >> 4));+ b8[p] = ((d1 << 4) | (d2 >> 2));+ break;+ default:+ d0 = next();+ d1 = next();+ d2 = next();+ d3 = next();+ b8[p++] = ((d0 << 2) | (d1 >> 4));+ b8[p++] = ((d1 << 4) | (d2 >> 2));+ b8[p++] = ((d2 << 6) | d3);+ break;+ }+ n -= 3;+ }+ return ba;+ case 9:+ var isFun = next() === 1;+ var lbl = nextLabel();+ return h$initPtrLbl(isFun, lbl);+ case 10:+ var c = { f: nextEntry(), d1: null, d2: null, m: 0 };+ var n = next();+ var args = [];+ while(n--) {+ args.push(nextArg());+ }+ return h$init_closure(c, args);+ default:+ ;+ return nextObj(o-11);+ }+ }+ info = infoMeta; pos = 0;+ for(i=0;i<funcs.length;i++) {+ o = funcs[i];+ var ot;+ var oa = 0;+ var oregs = 256; // one register no skip+ switch(next()) {+ case 0: // thunk+ ot = 0;+ break;+ case 1: // fun+ ot = 1+ var arity = next();+ var skipRegs = next()-1;+ if(skipRegs === -1) throw "h$initInfoTables: unknown register info for function";+ var skip = skipRegs & 1;+ var regs = skipRegs >>> 1;+ oregs = (regs << 8) | skip;+ oa = arity + ((regs-1+skip) << 8);+ break;+ case 2: // con+ ot = 2;+ oa = next();+ break;+ case 3: // stack frame+ ot = -1;+ oa = 0;+ oregs = next() - 1;+ if(oregs !== -1) oregs = ((oregs >>> 1) << 8) | (oregs & 1);+ break;+ default: throw ("h$initInfoTables: invalid closure type")+ }+ var size = next() - 1;+ var nsrts = next();+ var srt = null;+ if(nsrts > 0) {+ srt = [];+ for(var j=0;j<nsrts;j++) {+ srt.push(nextObj());+ }+ }+ // h$log("result: " + ot + " " + oa + " " + oregs + " [" + srt + "] " + size);+ // h$log("orig: " + o.t + " " + o.a + " " + o.r + " [" + o.s + "] " + o.size);+ // if(ot !== o.t || oa !== o.a || oregs !== o.r || size !== o.size) throw "inconsistent";+ o.t = ot;+ o.i = [];+ o.n = "";+ o.a = oa;+ o.r = oregs;+ o.s = srt;+ o.m = 0;+ o.size = size;+ }+ info = infoStatic;+ pos = 0;+ for(i=0;i<objects.length;i++) {+ ;+ o = objects[i];+ // traceMetaObjBefore(o);+ var nx = next();+ ;+ switch(nx) {+ case 0: // no init, could be a primitive value (still in the list since others might reference it)+ // h$log("zero init");+ break;+ case 1: // staticfun+ o.f = nextEntry();+ ;+ break;+ case 2: // staticThunk+ ;+ o.f = nextEntry();+ h$CAFs.push(o);+ h$CAFsReset.push(o.f);+ break;+ case 3: // staticPrim false, no init+ ;+ break;+ case 4: // staticPrim true, no init+ ;+ break;+ case 5:+ ;+ break;+ case 6: // staticString+ ;+ break;+ case 7: // staticBin+ ;+ n = next();+ var b = h$newByteArray(n);+ for(j=0;j>n;j++) {+ b.u8[j] = next();+ }+ break;+ case 8: // staticEmptyList+ ;+ o.f = h$ghczmprimZCGHCziTypesziZMZN.f;+ break;+ case 9: // staticList+ ;+ n = next();+ var hasTail = next();+ var c = (hasTail === 1) ? nextObj() : h$ghczmprimZCGHCziTypesziZMZN;+ ;+ while(n--) {+ c = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, nextArg(), c);+ }+ o.f = c.f;+ o.d1 = c.d1;+ o.d2 = c.d2;+ break;+ case 10: // staticData n args+ ;+ n = next();+ ;+ o.f = nextEntry();+ for(j=0;j<n;j++) {+ h$setField(o, j, nextArg());+ }+ break;+ case 11: // staticData 0 args+ ;+ o.f = nextEntry();+ break;+ case 12: // staticData 1 args+ ;+ o.f = nextEntry();+ o.d1 = nextArg();+ break;+ case 13: // staticData 2 args+ ;+ o.f = nextEntry();+ o.d1 = nextArg();+ o.d2 = nextArg();+ break;+ case 14: // staticData 3 args+ ;+ o.f = nextEntry();+ o.d1 = nextArg();+ // should be the correct order+ o.d2 = { d1: nextArg(), d2: nextArg()};+ break;+ case 15: // staticData 4 args+ ;+ o.f = nextEntry();+ o.d1 = nextArg();+ // should be the correct order+ o.d2 = { d1: nextArg(), d2: nextArg(), d3: nextArg() };+ break;+ case 16: // staticData 5 args+ ;+ o.f = nextEntry();+ o.d1 = nextArg();+ o.d2 = { d1: nextArg(), d2: nextArg(), d3: nextArg(), d4: nextArg() };+ break;+ case 17: // staticData 6 args+ ;+ o.f = nextEntry();+ o.d1 = nextArg();+ o.d2 = { d1: nextArg(), d2: nextArg(), d3: nextArg(), d4: nextArg(), d5: nextArg() };+ break;+ default:+ throw ("invalid static data initializer: " + nx);+ }+ }+ h$staticDelayed = null;+}+function h$initPtrLbl(isFun, lbl) {+ return lbl;+}+function h$callDynamic(f) {+ return f.apply(f, Array.prototype.slice.call(arguments, 2));+}+// slice an array of heap objects+function h$sliceArray(a, start, n) {+ return a.slice(start, start+n);+}+function h$memcpy() {+ if(arguments.length === 3) { // ByteArray# -> ByteArray# copy+ var dst = arguments[0];+ var src = arguments[1];+ var n = arguments[2];+ for(var i=n-1;i>=0;i--) {+ dst.u8[i] = src.u8[i];+ }+ h$ret1 = 0;+ return dst;+ } else if(arguments.length === 5) { // Addr# -> Addr# copy+ var dst = arguments[0];+ var dst_off = arguments[1]+ var src = arguments[2];+ var src_off = arguments[3];+ var n = arguments[4];+ for(var i=n-1;i>=0;i--) {+ dst.u8[i+dst_off] = src.u8[i+src_off];+ }+ h$ret1 = dst_off;+ return dst;+ } else {+ throw "h$memcpy: unexpected argument";+ }+}+// note: only works for objects bigger than two!+function h$setField(o,n,v) {+ if(n > 0 && !o.d2) o.d2 = {};+ switch(n) {+ case 0:+ o.d1 = v;+ return;+ case 1:+ o.d2.d1 = v;+ return;+ case 2:+ o.d2.d2 = v;+ return;+ case 3:+ o.d2.d3 = v;+ return;+ case 4:+ o.d2.d4 = v;+ return;+ case 5:+ o.d2.d5 = v;+ return;+ case 6:+ o.d2.d6 = v;+ return;+ case 7:+ o.d2.d7 = v;+ return;+ case 8:+ o.d2.d8 = v;+ return;+ case 9:+ o.d2.d9 = v;+ return;+ case 10:+ o.d2.d10 = v;+ return;+ case 11:+ o.d2.d11 = v;+ return;+ case 12:+ o.d2.d12 = v;+ return;+ case 13:+ o.d2.d13 = v;+ return;+ case 14:+ o.d2.d14 = v;+ return;+ case 15:+ o.d2.d15 = v;+ return;+ case 16:+ o.d2.d16 = v;+ return;+ case 17:+ o.d2.d17 = v;+ return;+ case 18:+ o.d2.d18 = v;+ return;+ case 19:+ o.d2.d19 = v;+ return;+ case 20:+ o.d2.d20 = v;+ return;+ case 21:+ o.d2.d21 = v;+ return;+ case 22:+ o.d2.d22 = v;+ return;+ case 23:+ o.d2.d23 = v;+ return;+ case 24:+ o.d2.d24 = v;+ return;+ case 25:+ o.d2.d25 = v;+ return;+ case 26:+ o.d2.d26 = v;+ return;+ case 27:+ o.d2.d27 = v;+ return;+ case 28:+ o.d2.d28 = v;+ return;+ case 29:+ o.d2.d29 = v;+ return;+ case 30:+ o.d2.d30 = v;+ return;+ case 31:+ o.d2.d31 = v;+ return;+ case 32:+ o.d2.d32 = v;+ return;+ case 33:+ o.d2.d33 = v;+ return;+ case 34:+ o.d2.d34 = v;+ return;+ case 35:+ o.d2.d35 = v;+ return;+ case 36:+ o.d2.d36 = v;+ return;+ case 37:+ o.d2.d37 = v;+ return;+ case 38:+ o.d2.d38 = v;+ return;+ case 39:+ o.d2.d39 = v;+ return;+ case 40:+ o.d2.d40 = v;+ return;+ case 41:+ o.d2.d41 = v;+ return;+ case 42:+ o.d2.d42 = v;+ return;+ case 43:+ o.d2.d43 = v;+ return;+ case 44:+ o.d2.d44 = v;+ return;+ case 45:+ o.d2.d45 = v;+ return;+ case 45:+ o.d2.d45 = v;+ return;+ case 46:+ o.d2.d46 = v;+ return;+ case 47:+ o.d2.d47 = v;+ return;+ case 48:+ o.d2.d48 = v;+ return;+ case 49:+ o.d2.d49 = v;+ return;+ case 50:+ o.d2.d50 = v;+ return;+ case 51:+ o.d2.d51 = v;+ return;+ case 52:+ o.d2.d52 = v;+ return;+ case 53:+ o.d2.d53 = v;+ return;+ case 54:+ o.d2.d54 = v;+ return;+ case 55:+ o.d2.d55 = v;+ return;+ case 56:+ o.d2.d56 = v;+ return;+ case 57:+ o.d2.d57 = v;+ return;+ case 58:+ o.d2.d58 = v;+ return;+ case 59:+ o.d2.d59 = v;+ return;+ case 60:+ o.d2.d60 = v;+ return;+ case 61:+ o.d2.d61 = v;+ return;+ case 62:+ o.d2.d62 = v;+ return;+ case 63:+ o.d2.d63 = v;+ return;+ case 64:+ o.d2.d64 = v;+ return;+ case 65:+ o.d2.d65 = v;+ return;+ case 66:+ o.d2.d66 = v;+ return;+ case 67:+ o.d2.d67 = v;+ return;+ case 68:+ o.d2.d68 = v;+ return;+ case 69:+ o.d2.d69 = v;+ return;+ case 70:+ o.d2.d70 = v;+ return;+ case 71:+ o.d2.d71 = v;+ return;+ case 72:+ o.d2.d72 = v;+ return;+ case 73:+ o.d2.d73 = v;+ return;+ case 74:+ o.d2.d74 = v;+ return;+ case 75:+ o.d2.d75 = v;+ return;+ case 76:+ o.d2.d76 = v;+ return;+ case 77:+ o.d2.d77 = v;+ return;+ case 78:+ o.d2.d78 = v;+ return;+ case 79:+ o.d2.d79 = v;+ return;+ case 80:+ o.d2.d80 = v;+ return;+ case 81:+ o.d2.d81 = v;+ return;+ case 82:+ o.d2.d82 = v;+ return;+ case 83:+ o.d2.d83 = v;+ return;+ case 84:+ o.d2.d84 = v;+ return;+ case 85:+ o.d2.d85 = v;+ return;+ case 86:+ o.d2.d86 = v;+ return;+ case 87:+ o.d2.d87 = v;+ return;+ case 88:+ o.d2.d88 = v;+ return;+ case 89:+ o.d2.d89 = v;+ return;+ case 90:+ o.d2.d90 = v;+ return;+ case 91:+ o.d2.d91 = v;+ return;+ case 92:+ o.d2.d92 = v;+ return;+ case 93:+ o.d2.d93 = v;+ return;+ case 94:+ o.d2.d94 = v;+ return;+ case 95:+ o.d2.d95 = v;+ return;+ case 96:+ o.d2.d96 = v;+ return;+ case 97:+ o.d2.d97 = v;+ return;+ case 98:+ o.d2.d98 = v;+ return;+ case 99:+ o.d2.d99 = v;+ return;+ case 100:+ o.d2.d100 = v;+ return;+ default:+ throw ("h$setField: setter not implemented for field: " + n);+ }+}+function h$mkExportDyn(t, f) {+ h$log("making dynamic export: " + t);+ h$log("haskell fun: " + f + " " + h$collectProps(f));+ // fixme register things, global static data+ var ff = function() {+ h$log("running some haskell for you");+ return 12;+ };+ return h$mkPtr(ff, 0);+}+function h$memchr(a_v, a_o, c, n) {+ for(var i=0;i<n;i++) {+ if(a_v.u8[a_o+i] === c) {+ h$ret1 = a_o+i;+ return a_v;+ }+ }+ h$ret1 = 0;+ return null;+}+function h$strlen(a_v, a_o) {+ var i=0;+ while(true) {+ if(a_v.u8[a_o+i] === 0) { return i; }+ i++;+ }+}+function h$newArray(len, e) {+ var r = [];+ r.__ghcjsArray = true;+ r.m = 0;+ if(e === null) e = r;+ for(var i=0;i<len;i++) r[i] = e;+ return r;+}+function h$roundUpToMultipleOf(n,m) {+ var rem = n % m;+ return rem === 0 ? n : n - rem + m;+}+function h$newByteArray(len) {+ var len0 = Math.max(h$roundUpToMultipleOf(len, 8), 8);+ var buf = new ArrayBuffer(len0);+ return { buf: buf+ , len: len+ , i3: new Int32Array(buf)+ , u8: new Uint8Array(buf)+ , u1: new Uint16Array(buf)+ , f3: new Float32Array(buf)+ , f6: new Float64Array(buf)+ , dv: new DataView(buf)+ }+}+/*+ Unboxed arrays in GHC use the ByteArray# and MutableByteArray#+ primitives. In GHCJS these primitives are represented by an+ object that contains a JavaScript ArrayBuffer and several views+ (typed arrays) on that buffer.++ Usually you can use GHCJS.Foreign.wrapBuffer and+ GHCJS.Foreign.wrapMutableBuffer to do the conversion. If you need+ more control or lower level acces, read on.++ You can use h$wrapBuffer to wrap any JavaScript ArrayBuffer+ into such an object, without copying the buffer. Since typed array+ access is aligned, not all views are available+ if the offset of the buffer is not a multiple of 8.++ Since IO has kind * -> *, you cannot return IO ByteArray#+ from a foreign import, even with the UnliftedFFITypes+ extension. Return a JSRef instead and use unsafeCoerce+ to convert it to a Data.Primitive.ByteArray.ByteArray or+ Data.Primitive.ByteArray.MutableByteArray (primitive package)+ and pattern match on the constructor to get the+ primitive value out.++ These types have the same runtime representation (a data+ constructor with one regular (one JavaScript variable)+ field) as a JSRef, so the conversion is safe, as long+ as everything is fully evaluated.+*/+function h$wrapBuffer(buf, unalignedOk, offset, length) {+ if(!unalignedOk && offset && offset % 8 !== 0) {+ throw ("h$wrapBuffer: offset not aligned:" + offset);+ }+ if(!buf || !(buf instanceof ArrayBuffer))+ throw "h$wrapBuffer: not an ArrayBuffer"+ if(!offset) { offset = 0; }+ if(!length || length < 0) { length = buf.byteLength - offset; }+ return { buf: buf+ , len: length+ , i3: (offset%4) ? null : new Int32Array(buf, offset, length >> 2)+ , u8: new Uint8Array(buf, offset, length)+ , u1: (offset%2) ? null : new Uint16Array(buf, offset, length >> 1)+ , f3: (offset%4) ? null : new Float32Array(buf, offset, length >> 2)+ , f6: (offset%8) ? null : new Float64Array(buf, offset, length >> 3)+ , dv: new DataView(buf, offset, length)+ };+}+var h$stableNameN = 1;+/** @constructor */+function h$StableName(m) {+ this.m = m;+ this.s = null;+}+function h$makeStableName(x) {+ if(typeof x === 'object') {+ if(typeof x.m !== 'object') {+ x.m = new h$StableName(x.m);+ }+ return x.m;+ } else {+ return new h$StableName(0);+ }+}+function h$stableNameInt(s) {+ var x = s.s;+ if(x === null) {+ x = s.s = h$stableNameN = (h$stableNameN+1)|0;+ }+ return x;+}+function h$eqStableName(s1o,s2o) {+ return s1o === s2o ? 1 : 0;+}+function h$makeStablePtr(v) {+ var buf = h$newByteArray(4);+ buf.arr = [v];+ h$ret1 = 0;+ return buf;+}+function h$hs_free_stable_ptr(stable) {+}+function h$malloc(n) {+ h$ret1 = 0;+ return h$newByteArray(n);+}+function h$free() {+}+function h$memset() {+ var buf_v, buf_off, chr, n;+ buf_v = arguments[0];+ if(arguments.length == 4) { // Addr#+ buf_off = arguments[1];+ chr = arguments[2];+ n = arguments[3];+ } else if(arguments.length == 3) { // ByteString#+ buf_off = 0;+ chr = arguments[1];+ n = arguments[2];+ } else {+ throw("h$memset: unexpected argument")+ }+ var end = buf_off + n;+ for(var i=buf_off;i<end;i++) {+ buf_v.u8[i] = chr;+ }+ h$ret1 = buf_off;+ return buf_v;+}+function h$memcmp(a_v, a_o, b_v, b_o, n) {+ for(var i=0;i<n;i++) {+ var a = a_v.u8[a_o+i];+ var b = b_v.u8[b_o+i];+ var c = a-b;+ if(c !== 0) { return c; }+ }+ return 0;+}+function h$memmove(a_v, a_o, b_v, b_o, n) {+ if(n > 0) {+ var tmp = new Uint8Array(b_v.buf.slice(b_o,b_o+n));+ for(var i=0;i<n;i++) {+ a_v.u8[a_o+i] = tmp[i];+ }+ }+ h$ret1 = a_o;+ return a_v;+}+function h$mkPtr(v, o) {+ return h$c2(h$baseZCGHCziPtrziPtr_con_e, v, o);+};+function h$mkFunctionPtr(f) {+ var d = h$newByteArray(4);+ d.arr = [f];+ return d;+}+var h$freeHaskellFunctionPtr = function () {+}+/*+function h$createAdjustor(cconv, hptr, hptr_2, wptr, wptr_2, type) {+ h$ret1 = hptr_2;+ return hptr;+};+*/+// extra roots for the heap scanner: objects with root property+var h$extraRootsN = 0;+var h$extraRoots = new h$Set();+// +var h$domRoots = new h$Set();+function h$makeCallback(retain, f, extraArgs, action) {+ var args = extraArgs.slice(0);+ args.unshift(action);+ var c = function() {+ return f.apply(this, args);+ }+ if(retain === true) {+ c._key = ++h$extraRootsN;+ c.root = action;+ h$extraRoots.add(c);+ } else if(retain) { // DOM retain+ }+ return c;+}+function h$makeCallbackApply(retain, n, f, extraArgs, fun) {+ var c;+ if(n === 1) {+ c = function(x) {+ var args = extraArgs.slice(0);+ var action = h$c2(h$ap1_e, fun, h$mkJSRef(x));+ args.unshift(action);+ return f.apply(this, args);+ }+ } else if (n === 2) {+ c = function(x,y) {+ var args = extraArgs.slice(0);+ var action = h$c3(h$ap2_e, fun, h$mkJSRef(x), h$mkJSRef(y));+ args.unshift(action);+ return f.apply(this, args);+ }+ } else {+ throw "h$makeCallbackApply: unsupported arity";+ }+ if(retain === true) {+ c.root = fun;+ c._key = ++h$extraRootsN;+ h$extraRoots.add(c);+ } else if(retain) {+ // fixme: retain this while `retain' is in some DOM+ } else {+ // no retainer+ }+ return c;+}+function h$mkJSRef(x) {+ return h$c1(h$ghcjszmprimZCGHCJSziPrimziJSRef_con_e, x);+}+// fixme these don't guarantee that the object has a key!+function h$retain(c) {+ h$extraRoots.add(c);+}+function h$retainDom(d, c) {+ h$domRoots.add(c);+ c.domRoots = new h$Set();+}+function h$releasePermanent(c) {+ h$extraRoots.remove(c);+}+function h$release(c) {+ h$extraRoots.remove(c);+ h$domRoots.remove(c);+}+function h$releaseDom(c,d) {+ if(c.domRoots) c.domRoots.remove(d);+ if(!c.domRoots || c.domRoots.size() == 0) h$domRoots.remove(c);+}+function h$isInstanceOf(o,c) {+ return o instanceof c;+}+function h$getpagesize() {+ return 4096;+}+var h$MAP_ANONYMOUS = 0x20;+function h$mmap(addr_d, addr_o, len, prot, flags, fd, offset1, offset2) {+ if(flags & h$MAP_ANONYMOUS || fd === -1) {+ h$ret1 = 0;+ return h$newByteArray(len);+ } else {+ throw "h$mmap: mapping a file is not yet supported";+ }+}+function h$mprotect(addr_d, addr_o, size, prot) {+ return 0;+}+function h$munmap(addr_d, addr_o, size) {+ if(addr_d && addr_o === 0 && size >= addr_d.len) {+ addr_d.buf = null;+ addr_d.i3 = null;+ addr_d.u8 = null;+ addr_d.u1 = null;+ addr_d.f3 = null;+ addr_d.f6 = null;+ addr_d.dv = null;+ }+ return 0;+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/*+ Do garbage collection where the JavaScript GC doesn't suffice or needs some help:++ - run finalizers for weak references+ - find unreferenced CAFs and reset them (unless h$retainCAFs is set)+ - shorten stacks that are mostly empty+ - reset unused parts of stacks to null+ - reset registers to null+ - reset return variables to null+ - throw exceptions to threads that are blocked on an unreachable MVar/STM transaction+ - drop unnecessary references for selector thunks++ The gc uses the .m field to store its mark in all the objects it marks. for heap objects,+ the .m field is also used for other things, like stable names, the gc only changes+ the two least significant bits for these.++ The gc starts with all threads as roots in addition to callbacks passed to JavaScript+ that that are retained. If you have custom JavaScript data structures that contain+ Haskell heap object references, you can use extensible retention to find these+ references and add thm to the work queue. h$registerExtensibleRetensionRoot(f) calls+ f(currentMark) at the start of every gc, h$registerExtensibleRetention(f) calls f(o, currentMark)+ for every unknown object found on the Haskell heap.++ Extensible retention is a low-level mechanism and should typically only be used by+ bindings that guarantee that the shape of the JS objects exactly matches what+ the scanner expects. Care should be taken to make sure that the objects never+ escape the reach of the scanner.++ Having correct reachability information is important, even if you choose to turn off+ features like weak references and deallocating CAFs in production, since it helps+ debugging by providing the profiler with accurate data and by properly raising+ exceptions when threads become blocked indefinitely, usually indicating a bug or+ memory leak.++ assumptions:+ - all threads suspended, no active registers+ - h$currentThread == null or at least unused:+ 1. all reachable threads must be in h$threads or h$blocked+ 2. no registers contain any usable value+ notes:+ - gc() may replace the stack of any thread, make sure to reload h$stack after gc()+*/+/*+ fixme, todo:+ - mark posted exceptions to thread+*/+// these macros use a local mark variable+var h$gcMark = 2; // 2 or 3 (objects initialized with 0)+var h$retainCAFs = false;+var h$CAFs = [];+var h$CAFsReset = [];+// +var h$extensibleRetentionRoots = [];+var h$extensibleRetentionCallbacks = [];+/*+ after registering an extensible extension root f,+ f() is called at the start of each gc invocation and is+ expected to return an array with Haskell heap objects+ to be treated as extra roots.+ */+function h$registerExtensibleRetentionRoot(f) {+ h$extensibleRetentionRoots.push(f);+}+function h$unregisterExtensibleRetentionRoot(f) {+ h$extensibleRetentionRoots = h$extensibleRetentionRoots.filter(function(g) { return f !== g; });+}+/*+ after registering an extensible retention callback f,+ f(o, currentMark) is called for every unknown object encountered on the+ Haskell heap. f should return an array with found objects. If no objects+ are found, f should return a boolean indicating whether the gc should skip+ processing the objects with other extensible retention callbacks.++ The gc may encounter the same object multiple times during the same scan,+ so a callback should attempt to quickly return if the object has been scanned+ already.++ return value:+ - array scan objects contained in array, do not call other extension callbacks+ - true do not call other extension callbacks with this object+ - false call other extension callbacks with this object++ Use -DGHCJS_TRACE_GC_UNKNOWN to find the JavaScript objects reachable+ (through JSRef) on the Haskell heap for which none of the registered+ extensible retention callbacks has returned true or an array.+ */+function h$registerExtensibleRetention(f) {+ h$extensibleRetentionCallbacks.push(f);+}+function h$unregisterExtensibleRetention(f) {+ h$extensibleRetentionCallbacks = h$extensibleRetentionCallbacks.filter(function(g) { return f !== g; });+}+// check whether the object is marked by the latest gc+function h$isMarked(obj) {+ return (typeof obj === 'object' || typeof obj === 'function') &&+ ((typeof obj.m === 'number' && (obj.m & 3) === h$gcMark) || (obj.m && typeof obj.m === 'object' && obj.m.m === h$gcMark));+}+// do a quick gc of a thread:+// - reset the stack (possibly shrinking storage for it)+// - reset all global data+// checks all known threads if t is null, but not h$currentThread+function h$gcQuick(t) {+ if(h$currentThread !== null) throw "h$gcQuick: GC can only run when no thread is running";+ h$resetRegisters();+ h$resetResultVars();+ var i;+ if(t !== null) { // reset specified threads+ if(t instanceof h$Thread) { // only thread t+ h$resetThread(t);+ } else { // assume it's an array+ for(var i=0;i<t.length;i++) h$resetThread(t[i]);+ }+ } else { // all threads, h$currentThread assumed unused+ var nt, runnable = h$threads.iter();+ while((nt = runnable()) !== null) h$resetThread(nt);+ var iter = h$blocked.iter();+ while((nt = iter.next()) !== null) h$resetThread(nt);+ }+}+// run full marking for threads in h$blocked and h$threads, optionally t if t /= null+function h$gc(t) {+ if(h$currentThread !== null) throw "h$gc: GC can only be run when no thread is running";+ ;+ var start = Date.now();+ h$resetRegisters();+ h$resetResultVars();+ h$gcMark = 5-h$gcMark;+ var i;+ + for(i=h$extensibleRetentionRoots.length-1;i>=0;i--) {+ var a = h$extensibleRetentionRoots[i]();+ h$follow(a, a.length-1);+ }+ ;+ if(t !== null) h$markThread(t);+ var nt, runnable = h$threads.iter();+ while((nt = runnable()) !== null) h$markThread(nt);+ var iter = h$blocked.iter();+ while((nt = iter.next()) !== null) {+ if(!(nt.blockedOn instanceof h$MVar) || (nt.stack && nt.stack[nt.sp] === h$unboxFFIResult)) {+ h$markThread(nt);+ }+ }+ ;+ iter = h$extraRoots.iter();+ while((nt = iter.next()) !== null) h$follow(nt.root);+ // now we've marked all the regular Haskell data, continue marking+ // weak references and everything retained by DOM retainers+ h$markRetained();+ // now all running threads and threads blocked on something that's+ // not an MVar operation have been marked, including other threads+ // they reference through their ThreadId+ // clean up threads waiting on unreachable MVars:+ // throw an exception to a thread (which brings it back+ // to life), then scan it. Killing one thread might be enough+ // since the killed thread could make other threads reachable again.+ h$finalizeMVars();+ h$markRetained();+ // now everything has been marked, bring out your dead references+ // run finalizers for all weak references with unreachable keys+ var finalizers = h$finalizeWeaks();+ h$clearWeaks();+ for(i=0;i<finalizers.length;i++) {+ var fin = finalizers[i].finalizer;+ if(fin !== null && !((typeof fin.m === 'number' && (fin.m & 3) === mark) || (typeof fin.m === 'object' && ((fin.m.m & 3) === mark)))) h$follow(fin);+ }+ h$markRetained();+ h$clearWeaks();+ h$scannedWeaks = [];+ h$finalizeDom(); // remove all unreachable DOM retainers+ h$finalizeCAFs(); // restore all unreachable CAFs to unevaluated state+ var now = Date.now();+ h$lastGc = now;+}+function h$markRetained() {+ var iter, marked, c, mark = h$gcMark;+ do {+ ;+ marked = false;+ // mark all finalizers of weak references where the key is reachable+ iter = h$finalizers.iter();+ while((c = iter.next()) !== null) {+ if(!((typeof c.finalizer.m === 'number' && (c.finalizer.m & 3) === mark) || (typeof c.finalizer.m === 'object' && ((c.finalizer.m.m & 3) === mark))) && c.m.m === mark) {+ ;+ h$follow(c.finalizer);+ marked = true;+ }+ }+ // mark all callbacks where at least one of the DOM retainers is reachable+ iter = h$domRoots.iter();+ while((c = iter.next()) !== null) {+ if(!h$isMarked(c.root) && c.domRoots && c.domRoots.size() > 0) {+ var dr, domRetainers = c.domRoots.iter();+ while((dr = domRetainers.next()) !== null) {+ if(h$isReachableDom(dr)) {+ ;+ h$follow(c.root);+ marked = true;+ }+ }+ }+ }+ // mark weak values for reachable keys+ for(var i=h$scannedWeaks.length-1;i>=0;i--) {+ var w = h$scannedWeaks[i];+ if(w.keym.m === mark && w.val !== null && !((typeof w.val.m === 'number' && (w.val.m & 3) === mark) || (typeof w.val.m === 'object' && ((w.val.m.m & 3) === mark)))) {+ ;+ h$follow(w.val);+ marked = true;+ }+ }+ // continue for a next round if we have marked something more+ // note: this will be slow for very deep chains of weak refs,+ // change this if that becomes a problem.+ } while(marked);+}+function h$markThread(t) {+ var mark = h$gcMark;+ ;+ if(((typeof t.m === 'number' && (t.m & 3) === mark) || (typeof t.m === 'object' && ((t.m.m & 3) === mark)))) return;+ if(typeof t.m === 'number') t.m = (t.m&-4)|mark; else t.m.m = (t.m.m & -4)|mark;;+ if(t.stack === null) return; // thread finished+ h$follow(t.stack, t.sp);+ h$resetThread(t);+}+// big object, not handled by 0..7 cases+// keep out of h$follow to prevent deopt+function h$followObjGen(c, work, w) {+ work.push(c.d1);+ var d = c.d2;+ for(var x in d) {+// if(d.hasOwnProperty(x)) {+ work[w++] = d[x];;+// }+ }+ return w;+}+// follow all references in the object obj and mark them with the current mark+// if sp is a number, obj is assumed to be an array for which indices [0..sp] need+// to be followed (used for thread stacks)+function h$follow(obj, sp) {+ var i, ii, iter, c, work, w;+ ;+ var work, mark = h$gcMark;+ if(typeof sp === 'number') {+ work = obj.slice(0, sp+1);+ w = sp + 1;+ } else {+ work = [obj];+ w = 1;+ }+ while(w > 0) {+ ;+ c = work[--w];+ ;+ if(c !== null && c !== undefined && typeof c === 'object' && ((typeof c.m === 'number' && (c.m&3) !== mark) || (typeof c.m === 'object' && c.m !== null && typeof c.m.m === 'number' && (c.m.m&3) !== mark))) {+ var doMark = false;+ var cf = c.f;+ ;+ if(typeof cf === 'function' && (typeof c.m === 'number' || typeof c.m === 'object')) {+ ;+ // only change the two least significant bits for heap objects+ if(typeof c.m === 'number') c.m = (c.m&-4)|mark; else c.m.m = (c.m.m & -4)|mark;;+ // dynamic references+ var d = c.d2;+ switch(cf.size) {+ case 0: break;+ case 1: work[w++] = c.d1;; break;+ case 2: { work[w++] = c.d1; work[w++] = d; }; break;+ case 3: var d3=c.d2; { work[w++] = c.d1; work[w++] = d3.d1; work[w++] = d3.d2; }; break;+ case 4: var d4=c.d2; { work[w++] = c.d1; work[w++] = d4.d1; work[w++] = d4.d2; work[w++] = d4.d3; }; break;+ case 5: var d5=c.d2; { work[w++] = c.d1; work[w++] = d5.d1; work[w++] = d5.d2; work[w++] = d5.d3; }; work[w++] = d5.d4;; break;+ case 6: var d6=c.d2; { work[w++] = c.d1; work[w++] = d6.d1; work[w++] = d6.d2; work[w++] = d6.d3; }; { work[w++] = d6.d4; work[w++] = d6.d5; }; break;+ case 7: var d7=c.d2; { work[w++] = c.d1; work[w++] = d7.d1; work[w++] = d7.d2; work[w++] = d7.d3; }; { work[w++] = d7.d4; work[w++] = d7.d5; work[w++] = d7.d6; }; break;+ case 8: var d8=c.d2; { work[w++] = c.d1; work[w++] = d8.d1; work[w++] = d8.d2; work[w++] = d8.d3; }; { work[w++] = d8.d4; work[w++] = d8.d5; work[w++] = d8.d6; work[w++] = d8.d7; }; break;+ case 9: var d9=c.d2; { work[w++] = c.d1; work[w++] = d9.d1; work[w++] = d9.d2; work[w++] = d9.d3; }; { work[w++] = d9.d4; work[w++] = d9.d5; work[w++] = d9.d6; work[w++] = d9.d7; }; work[w++] = d9.d8;; break;+ case 10: var d10=c.d2; { work[w++] = c.d1; work[w++] = d10.d1; work[w++] = d10.d2; work[w++] = d10.d3; }; { work[w++] = d10.d4; work[w++] = d10.d5; work[w++] = d10.d6; work[w++] = d10.d7; }; { work[w++] = d10.d8; work[w++] = d10.d9; }; break;+ case 11: var d11=c.d2; { work[w++] = c.d1; work[w++] = d11.d1; work[w++] = d11.d2; work[w++] = d11.d3; }; { work[w++] = d11.d4; work[w++] = d11.d5; work[w++] = d11.d6; work[w++] = d11.d7; }; { work[w++] = d11.d8; work[w++] = d11.d9; work[w++] = d11.d10; }; break;+ case 12: var d12=c.d2; { work[w++] = c.d1; work[w++] = d12.d1; work[w++] = d12.d2; work[w++] = d12.d3; }; { work[w++] = d12.d4; work[w++] = d12.d5; work[w++] = d12.d6; work[w++] = d12.d7; }; { work[w++] = d12.d8; work[w++] = d12.d9; work[w++] = d12.d10; work[w++] = d12.d11; }; break;+ default: w = h$followObjGen(c,work,w);+ }+ // static references+ var s = cf.s;+ if(s !== null) {+ ;+ for(var i=0;i<s.length;i++) work[w++] = s[i];;+ }+ } else if(c instanceof h$Weak) {+ ;+ if(c.keym.m === mark) {+ if(c.val !== null && !((typeof c.val.m === 'number' && (c.val.m & 3) === mark) || (typeof c.val.m === 'object' && ((c.val.m.m & 3) === mark)))) work[w++] = c.val;;+ } else {+ // fixme we should keep separate arrays for+ // value mark pending / cleanup pending?+ if(c.val !== null) h$scannedWeaks.push(c);+ }+ if(typeof c.m === 'number') c.m = (c.m&-4)|mark; else c.m.m = (c.m.m & -4)|mark;;+ } else if(c instanceof h$MVar) {+ ;+ if(typeof c.m === 'number') c.m = (c.m&-4)|mark; else c.m.m = (c.m.m & -4)|mark;;+ /*+ only push the values in the queues, not the waiting threads++ the threads will be scanned after threads waiting on unreachable+ MVars have been cleaned up+ */+ iter = c.writers.iter();+ while((ii = iter()) !== null) work[w++] = ii[1];;+ if(c.val !== null && !((typeof c.val.m === 'number' && (c.val.m & 3) === mark) || (typeof c.val.m === 'object' && ((c.val.m.m & 3) === mark)))) work[w++] = c.val;;+ } else if(c instanceof h$MutVar) {+ ;+ if(typeof c.m === 'number') c.m = (c.m&-4)|mark; else c.m.m = (c.m.m & -4)|mark;;+ work[w++] = c.val;;+ } else if(c instanceof h$TVar) {+ ;+ if(typeof c.m === 'number') c.m = (c.m&-4)|mark; else c.m.m = (c.m.m & -4)|mark;;+ work[w++] = c.val;;+ } else if(c instanceof h$Thread) {+ ;+ if(typeof c.m === 'number') c.m = (c.m&-4)|mark; else c.m.m = (c.m.m & -4)|mark;;+ if(c.stack) {+ for(i=c.sp;i>=0;i--) work[w++] = c.stack[i];;+ }+ } else if(c instanceof h$Transaction) {+ /* - the accessed TVar values don't need to be marked+ - parents are also on the stack, so they should've been marked already+ */+ ;+ if(typeof c.m === 'number') c.m = (c.m&-4)|mark; else c.m.m = (c.m.m & -4)|mark;;+ for(i=c.invariants.length-1;i>=0;i--) work[w++] = c.invariants[i];;+ work[w++] = c.action;;+ iter = c.tvars.iter();+ while((ii = iter.next()) !== null) work[w++] = ii;;+ } else if(c instanceof Array && c.__ghcjsArray) { // only for Haskell arrays with lifted values+ if(typeof c.m === 'number') c.m = (c.m&-4)|mark; else c.m.m = (c.m.m & -4)|mark;;+ ;+ for(i=0;i<c.length;i++) {+ var x = c[i];+ if(typeof x === 'object' && x !== null && !((typeof x.m === 'number' && (x.m & 3) === mark) || (typeof x.m === 'object' && ((x.m.m & 3) === mark)))) work[w++] = x;;+ }+ } else if(typeof c === 'object') {+ ;+ for(i=h$extensibleRetentionCallbacks.length-1;i>=0;i--) {+ var x = h$extensibleRetentionCallbacks[i](c, mark);+ if(x === false) continue;+ if(x !== true) {+ for(j=x.length-1;j>=0;j--) work[w++] = x[j];;+ }+ break;+ }+ } // otherwise: not an object, no followable values+ }+ }+ ;+}+// resetThread clears the stack above the stack pointer+// and shortens the stack array if there is too much+// unused space+function h$resetThread(t) {+ var stack = t.stack;+ var sp = t.sp;+ if(stack.length - sp > sp && stack.length > 100) {+ t.stack = t.stack.slice(0,sp+1);+ } else {+ for(var i=sp+1;i<stack.length;i++) {+ stack[i] = null;+ }+ }+ ;+}+function h$finalizeMVars() {+ ;+ var kill, i, t, iter;+ do {+ kill = null;+ iter = h$blocked.iter();+ while((t = iter.next()) !== null) {+ if(t.status === h$threadBlocked && t.blockedOn instanceof h$MVar) {+ // if h$unboxFFIResult is the top of the stack, then we cannot kill+ // the thread since it's waiting for async FFI+ if(t.blockedOn.m !== h$gcMark && t.stack[t.sp] !== h$unboxFFIResult) {+ kill = t;+ } else {+ h$markThread(t);+ }+ }+ }+ if(kill && kill.blockedOn.m !== h$gcMark) {+ h$killThread(kill, h$ghcjszmprimZCGHCJSziPrimziInternalziblockedIndefinitelyOnMVar);+ h$markThread(kill);+ }+ } while(kill);+}+// clear DOM retainers+function h$finalizeDom() {+ // fixme+}+// reset unreferenced CAFs to their initial value+function h$finalizeCAFs() {+ if(h$retainCAFs) return;+ var mark = h$gcMark;+ for(var i=0;i<h$CAFs.length;i++) {+ var c = h$CAFs[i];+ if(c.m & 3 !== mark) {+ var cr = h$CAFsReset[i];+ if(c.f !== cr) { // has been updated, reset it+ ;+ c.f = cr;+ c.d1 = null;+ c.d2 = null;+ }+ }+ }+ ;+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/* include/HsBaseConfig.h. Generated from HsBaseConfig.h.in by configure. */+/* include/HsBaseConfig.h.in. Generated from configure.ac by autoheader. */+/* The value of E2BIG. */+/* The value of EACCES. */+/* The value of EADDRINUSE. */+/* The value of EADDRNOTAVAIL. */+/* The value of EADV. */+/* The value of EAFNOSUPPORT. */+/* The value of EAGAIN. */+/* The value of EALREADY. */+/* The value of EBADF. */+/* The value of EBADMSG. */+/* The value of EBADRPC. */+/* The value of EBUSY. */+/* The value of ECHILD. */+/* The value of ECOMM. */+/* The value of ECONNABORTED. */+/* The value of ECONNREFUSED. */+/* The value of ECONNRESET. */+/* The value of EDEADLK. */+/* The value of EDESTADDRREQ. */+/* The value of EDIRTY. */+/* The value of EDOM. */+/* The value of EDQUOT. */+/* The value of EEXIST. */+/* The value of EFAULT. */+/* The value of EFBIG. */+/* The value of EFTYPE. */+/* The value of EHOSTDOWN. */+/* The value of EHOSTUNREACH. */+/* The value of EIDRM. */+/* The value of EILSEQ. */+/* The value of EINPROGRESS. */+/* The value of EINTR. */+/* The value of EINVAL. */+/* The value of EIO. */+/* The value of EISCONN. */+/* The value of EISDIR. */+/* The value of ELOOP. */+/* The value of EMFILE. */+/* The value of EMLINK. */+/* The value of EMSGSIZE. */+/* The value of EMULTIHOP. */+/* The value of ENAMETOOLONG. */+/* The value of ENETDOWN. */+/* The value of ENETRESET. */+/* The value of ENETUNREACH. */+/* The value of ENFILE. */+/* The value of ENOBUFS. */+/* The value of ENOCIGAR. */+/* The value of ENODATA. */+/* The value of ENODEV. */+/* The value of ENOENT. */+/* The value of ENOEXEC. */+/* The value of ENOLCK. */+/* The value of ENOLINK. */+/* The value of ENOMEM. */+/* The value of ENOMSG. */+/* The value of ENONET. */+/* The value of ENOPROTOOPT. */+/* The value of ENOSPC. */+/* The value of ENOSR. */+/* The value of ENOSTR. */+/* The value of ENOSYS. */+/* The value of ENOTBLK. */+/* The value of ENOTCONN. */+/* The value of ENOTDIR. */+/* The value of ENOTEMPTY. */+/* The value of ENOTSOCK. */+/* The value of ENOTSUP. */+/* The value of ENOTTY. */+/* The value of ENXIO. */+/* The value of EOPNOTSUPP. */+/* The value of EPERM. */+/* The value of EPFNOSUPPORT. */+/* The value of EPIPE. */+/* The value of EPROCLIM. */+/* The value of EPROCUNAVAIL. */+/* The value of EPROGMISMATCH. */+/* The value of EPROGUNAVAIL. */+/* The value of EPROTO. */+/* The value of EPROTONOSUPPORT. */+/* The value of EPROTOTYPE. */+/* The value of ERANGE. */+/* The value of EREMCHG. */+/* The value of EREMOTE. */+/* The value of EROFS. */+/* The value of ERPCMISMATCH. */+/* The value of ERREMOTE. */+/* The value of ESHUTDOWN. */+/* The value of ESOCKTNOSUPPORT. */+/* The value of ESPIPE. */+/* The value of ESRCH. */+/* The value of ESRMNT. */+/* The value of ESTALE. */+/* The value of ETIME. */+/* The value of ETIMEDOUT. */+/* The value of ETOOMANYREFS. */+/* The value of ETXTBSY. */+/* The value of EUSERS. */+/* The value of EWOULDBLOCK. */+/* The value of EXDEV. */+/* The value of O_BINARY. */+/* The value of SIGINT. */+/* Define to 1 if you have the `clock_gettime' function. */+/* #undef HAVE_CLOCK_GETTIME */+/* Define to 1 if you have the <ctype.h> header file. */+/* Define if you have epoll support. */+/* #undef HAVE_EPOLL */+/* Define to 1 if you have the `epoll_ctl' function. */+/* #undef HAVE_EPOLL_CTL */+/* Define to 1 if you have the <errno.h> header file. */+/* Define to 1 if you have the `eventfd' function. */+/* #undef HAVE_EVENTFD */+/* Define to 1 if you have the <fcntl.h> header file. */+/* Define to 1 if you have the `ftruncate' function. */+/* Define to 1 if you have the `getclock' function. */+/* #undef HAVE_GETCLOCK */+/* Define to 1 if you have the `getrusage' function. */+/* Define to 1 if you have the <inttypes.h> header file. */+/* Define to 1 if you have the `iswspace' function. */+/* Define to 1 if you have the `kevent' function. */+/* Define to 1 if you have the `kevent64' function. */+/* Define if you have kqueue support. */+/* Define to 1 if you have the <langinfo.h> header file. */+/* Define to 1 if you have libcharset. */+/* Define to 1 if you have the `rt' library (-lrt). */+/* #undef HAVE_LIBRT */+/* Define to 1 if you have the <limits.h> header file. */+/* Define to 1 if the system has the type `long long'. */+/* Define to 1 if you have the `lstat' function. */+/* Define to 1 if you have the <memory.h> header file. */+/* Define if you have poll support. */+/* Define to 1 if you have the <poll.h> header file. */+/* Define to 1 if you have the <signal.h> header file. */+/* Define to 1 if you have the <stdint.h> header file. */+/* Define to 1 if you have the <stdlib.h> header file. */+/* Define to 1 if you have the <strings.h> header file. */+/* Define to 1 if you have the <string.h> header file. */+/* Define to 1 if you have the <sys/epoll.h> header file. */+/* #undef HAVE_SYS_EPOLL_H */+/* Define to 1 if you have the <sys/eventfd.h> header file. */+/* #undef HAVE_SYS_EVENTFD_H */+/* Define to 1 if you have the <sys/event.h> header file. */+/* Define to 1 if you have the <sys/resource.h> header file. */+/* Define to 1 if you have the <sys/select.h> header file. */+/* Define to 1 if you have the <sys/stat.h> header file. */+/* Define to 1 if you have the <sys/syscall.h> header file. */+/* Define to 1 if you have the <sys/timeb.h> header file. */+/* Define to 1 if you have the <sys/timers.h> header file. */+/* #undef HAVE_SYS_TIMERS_H */+/* Define to 1 if you have the <sys/times.h> header file. */+/* Define to 1 if you have the <sys/time.h> header file. */+/* Define to 1 if you have the <sys/types.h> header file. */+/* Define to 1 if you have the <sys/utsname.h> header file. */+/* Define to 1 if you have the <sys/wait.h> header file. */+/* Define to 1 if you have the <termios.h> header file. */+/* Define to 1 if you have the `times' function. */+/* Define to 1 if you have the <time.h> header file. */+/* Define to 1 if you have the <unistd.h> header file. */+/* Define to 1 if you have the <utime.h> header file. */+/* Define to 1 if you have the <wctype.h> header file. */+/* Define to 1 if you have the <windows.h> header file. */+/* #undef HAVE_WINDOWS_H */+/* Define to 1 if you have the <winsock.h> header file. */+/* #undef HAVE_WINSOCK_H */+/* Define to 1 if you have the `_chsize' function. */+/* #undef HAVE__CHSIZE */+/* Define to Haskell type for cc_t */+/* Define to Haskell type for char */+/* Define to Haskell type for clock_t */+/* Define to Haskell type for dev_t */+/* Define to Haskell type for double */+/* Define to Haskell type for float */+/* Define to Haskell type for gid_t */+/* Define to Haskell type for ino_t */+/* Define to Haskell type for int */+/* Define to Haskell type for intmax_t */+/* Define to Haskell type for intptr_t */+/* Define to Haskell type for long */+/* Define to Haskell type for long long */+/* Define to Haskell type for mode_t */+/* Define to Haskell type for nlink_t */+/* Define to Haskell type for off_t */+/* Define to Haskell type for pid_t */+/* Define to Haskell type for ptrdiff_t */+/* Define to Haskell type for rlim_t */+/* Define to Haskell type for short */+/* Define to Haskell type for signed char */+/* Define to Haskell type for sig_atomic_t */+/* Define to Haskell type for size_t */+/* Define to Haskell type for speed_t */+/* Define to Haskell type for ssize_t */+/* Define to Haskell type for suseconds_t */+/* Define to Haskell type for tcflag_t */+/* Define to Haskell type for time_t */+/* Define to Haskell type for uid_t */+/* Define to Haskell type for uintmax_t */+/* Define to Haskell type for uintptr_t */+/* Define to Haskell type for unsigned char */+/* Define to Haskell type for unsigned int */+/* Define to Haskell type for unsigned long */+/* Define to Haskell type for unsigned long long */+/* Define to Haskell type for unsigned short */+/* Define to Haskell type for useconds_t */+/* Define to Haskell type for wchar_t */+/* Define to the address where bug reports for this package should be sent. */+/* Define to the full name of this package. */+/* Define to the full name and version of this package. */+/* Define to the one symbol short name of this package. */+/* Define to the home page for this package. */+/* Define to the version of this package. */+/* The size of `kev.filter', as computed by sizeof. */+/* The size of `kev.flags', as computed by sizeof. */+/* The size of `struct MD5Context', as computed by sizeof. */+/* Define to 1 if you have the ANSI C header files. */+/* Number of bits in a file offset, on hosts where this is settable. */+/* #undef _FILE_OFFSET_BITS */+/* Define for large files, on AIX-style hosts. */+/* #undef _LARGE_FILES */+var h$errno = 0;+function h$__hscore_get_errno() {+ ;+ return h$errno;+}+function h$unsupported(status, c) {+ h$errno = 12456;+ if(c) c(status);+ return status;+}+function h$strerror(err) {+ h$ret1 = 0;+ if(err === 12456) return h$encodeUtf8("operation unsupported on this platform");+ return h$encodeUtf8(h$errorStrs[err] || "unknown error");+}+function h$setErrno(e) {+ ;+ var es = e.toString();+ var getErr = function() {+ if(es.indexOf('ENOTDIR') !== -1) return 20;+ if(es.indexOf('ENOENT') !== -1) return 2;+ if(es.indexOf('EEXIST') !== -1) return 17;+ if(es.indexOf('ENETUNREACH') !== -1) return 22; // fixme+ if(es.indexOf('EPERM') !== -1) return 1;+ if(es.indexOf('EMFILE') !== -1) return 24;+ if(es.indexOf('EPIPE') !== -1) return 32;+ if(es.indexOf('EAGAIN') !== -1) return 35;+ if(es.indexOf('Bad argument') !== -1) return 2; // fixme?+ throw ("setErrno not yet implemented: " + e);+ }+ h$errno = getErr();+}+var h$errorStrs = { 7: "too big"+ , CONST_EACCESS: "no access"+ , 22: "invalid"+ , 9: "bad file descriptor"+ , 20: "not a directory"+ , 2: "no such file or directory"+ , 1: "operation not permitted"+ , 17: "file exists"+ , 24: "too many open files"+ , 32: "broken pipe"+ , 35: "resource temporarily unavailable"+ }+function h$handleErrno(r_err, f) {+ try {+ return f();+ } catch(e) {+ h$setErrno(e);+ return r_err;+ }+}+function h$handleErrnoS(r_err, r_success, f) {+ try {+ f();+ return r_success;+ } catch(e) {+ h$setErrno(e);+ return r_err;+ }+}+function h$handleErrnoC(err, r_err, r_success, c) {+ if(err) {+ h$setErrno(err);+ c(r_err);+ } else {+ c(r_success);+ }+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+function h$MD5Init(ctx, ctx_off) {+ if(!ctx.arr) { ctx.arr = []; }+ ctx.arr[ctx_off] = new goog.crypt.Md5();+}+var h$__hsbase_MD5Init = h$MD5Init;+function h$MD5Update(ctx, ctx_off, data, data_off, len) {+ var arr = new Uint8Array(data.buf, data_off);+ ctx.arr[ctx_off].update(arr, len);+}+var h$__hsbase_MD5Update = h$MD5Update;+function h$MD5Final(dst, dst_off, ctx, ctx_off) {+ var digest = ctx.arr[ctx_off].digest();+ for(var i=0;i<16;i++) {+ dst.u8[dst_off+i] = digest[i];+ }+}+var h$__hsbase_MD5Final = h$MD5Final;+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+function h$hs_eqWord64(a1,a2,b1,b2) {+ return (a1===b1 && a2===b2) ? 1 : 0;+}+function h$hs_neWord64(a1,a2,b1,b2) {+ return (a1 !== b1 || a2 !== b2) ? 1 : 0;+}+function h$hs_word64ToWord(a1,a2) {+ return a2;+}+function h$hs_wordToWord64(w) {+ h$ret1 = w;+ return 0;+}+function h$hs_intToInt64(a) {+ h$ret1 = a;+ return (a < 0) ? -1 : 0;+}+function h$hs_int64ToWord64(a1,a2) {+ h$ret1 = a2;+ return a1;+}+function h$hs_word64ToInt64(a1,a2) {+ h$ret1 = a2;+ return a1;+}+function h$hs_int64ToInt(a1,a2) {+ return a2;+}+function h$hs_negateInt64(a1,a2) {+ var c = goog.math.Long.fromBits(a2,a1).negate();+ h$ret1 = c.getLowBits();+ return c.getHighBits();+}+function h$hs_not64(a1,a2) {+ h$ret1 = ~a2;+ return ~a1;+}+function h$hs_xor64(a1,a2,b1,b2) {+ h$ret1 = a2 ^ b2;+ return a1 ^ b1;+}+function h$hs_and64(a1,a2,b1,b2) {+ h$ret1 = a2 & b2;+ return a1 & b1;+}+function h$hs_or64(a1,a2,b1,b2) {+ h$ret1 = a2 | b2;+ return a1 | b1;+}+function h$hs_eqInt64(a1,a2,b1,b2) {+ return (a1 === b1 && a2 === b2) ? 1 : 0;+}+function h$hs_neInt64(a1,a2,b1,b2) {+ return (a1 !== b1 || a2 !== b2) ? 1 : 0;+}+function h$hs_leInt64(a1,a2,b1,b2) {+ if(a1 === b1) {+ var a2s = a2 >>> 1;+ var b2s = b2 >>> 1;+ return (a2s < b2s || (a2s === b2s && ((a2&1) <= (b2&1)))) ? 1 : 0;+ } else {+ return (a1 < b1) ? 1 : 0;+ }+}+function h$hs_ltInt64(a1,a2,b1,b2) {+ if(a1 === b1) {+ var a2s = a2 >>> 1;+ var b2s = b2 >>> 1;+ return (a2s < b2s || (a2s === b2s && ((a2&1) < (b2&1)))) ? 1 : 0;+ } else {+ return (a1 < b1) ? 1 : 0;+ }+}+function h$hs_geInt64(a1,a2,b1,b2) {+ if(a1 === b1) {+ var a2s = a2 >>> 1;+ var b2s = b2 >>> 1;+ return (a2s > b2s || (a2s === b2s && ((a2&1) >= (b2&1)))) ? 1 : 0;+ } else {+ return (a1 > b1) ? 1 : 0;+ }+}+function h$hs_gtInt64(a1,a2,b1,b2) {+ if(a1 === b1) {+ var a2s = a2 >>> 1;+ var b2s = b2 >>> 1;+ return (a2s > b2s || (a2s === b2s && ((a2&1) > (b2&1)))) ? 1 : 0;+ } else {+ return (a1 > b1) ? 1 : 0;+ }+}+function h$hs_quotWord64(a1,a2,b1,b2) {+ var a = h$bigFromWord64(a1,a2);+ var b = h$bigFromWord64(b1,b2);+ var c = a.divide(b);+ h$ret1 = c.intValue();+ return c.shiftRight(32).intValue();+}+function h$hs_timesInt64(a1,a2,b1,b2) {+ var c = goog.math.Long.fromBits(a2,a1).multiply(goog.math.Long.fromBits(b2,b1));+ h$ret1 = c.getLowBits();+ return c.getHighBits();+}+function h$hs_quotInt64(a1,a2,b1,b2) {+ var c = goog.math.Long.fromBits(a2,a1).div(goog.math.Long.fromBits(b2,b1));+ h$ret1 = c.getLowBits();+ return c.getHighBits();+}+function h$hs_remInt64(a1,a2,b1,b2) {+ var c = goog.math.Long.fromBits(a2,a1).modulo(goog.math.Long.fromBits(b2,b1));+ h$ret1 = c.getLowBits();+ return c.getHighBits();+}+function h$hs_plusInt64(a1,a2,b1,b2) {+ var c = goog.math.Long.fromBits(a2,a1).add(goog.math.Long.fromBits(b2,b1));+ h$ret1 = c.getLowBits();+ return c.getHighBits();+}+function h$hs_minusInt64(a1,a2,b1,b2) {+ var c = goog.math.Long.fromBits(a2,a1).subtract(goog.math.Long.fromBits(b2,b1));+ h$ret1 = c.getLowBits();+ return c.getHighBits();+}+function h$hs_leWord64(a1,a2,b1,b2) {+ if(a1 === b1) {+ var a2s = a2 >>> 1;+ var b2s = b2 >>> 1;+ return (a2s < b2s || (a2s === b2s && ((a2&1) <= (b2&1)))) ? 1 : 0;+ } else {+ var a1s = a1 >>> 1;+ var b1s = b1 >>> 1;+ return (a1s < b1s || (a1s === b1s && ((a1&1) <= (b1&1)))) ? 1 : 0;+ }+}+function h$hs_ltWord64(a1,a2,b1,b2) {+ if(a1 === b1) {+ var a2s = a2 >>> 1;+ var b2s = b2 >>> 1;+ return (a2s < b2s || (a2s === b2s && ((a2&1) < (b2&1)))) ? 1 : 0;+ } else {+ var a1s = a1 >>> 1;+ var b1s = b1 >>> 1;+ return (a1s < b1s || (a1s === b1s && ((a1&1) < (b1&1)))) ? 1 : 0;+ }+}+function h$hs_geWord64(a1,a2,b1,b2) {+ if(a1 === b1) {+ var a2s = a2 >>> 1;+ var b2s = b2 >>> 1;+ return (a2s > b2s || (a2s === b2s && ((a2&1) >= (b2&1)))) ? 1 : 0;+ } else {+ var a1s = a1 >>> 1;+ var b1s = b1 >>> 1;+ return (a1s > b1s || (a1s === b1s && ((a1&1) >= (b1&1)))) ? 1 : 0;+ }+}+function h$hs_gtWord64(a1,a2,b1,b2) {+ if(a1 === b1) {+ var a2s = a2 >>> 1;+ var b2s = b2 >>> 1;+ return (a2s > b2s || (a2s === b2s && ((a2&1) > (b2&1)))) ? 1 : 0;+ } else {+ var a1s = a1 >>> 1;+ var b1s = b1 >>> 1;+ return (a1s > b1s || (a1s === b1s && ((a1&1) > (b1&1)))) ? 1 : 0;+ }+}+function h$hs_remWord64(a1,a2,b1,b2) {+ var a = h$bigFromWord64(a1,a2);+ var b = h$bigFromWord64(b1,b2);+ var c = a.mod(b);+ h$ret1 = c.intValue();+ return c.shiftRight(32).intValue();+}+function h$hs_uncheckedIShiftL64(a1,a2,n) {+ var num = new goog.math.Long(a2,a1).shiftLeft(n);+ h$ret1 = num.getLowBits();+ return num.getHighBits();+}+function h$hs_uncheckedIShiftRA64(a1,a2,n) {+ var num = new goog.math.Long(a2,a1).shiftRight(n);+ h$ret1 = num.getLowBits();+ return num.getHighBits();+}+// always nonnegative n?+function h$hs_uncheckedShiftL64(a1,a2,n) {+ n &= 63;+ if(n == 0) {+ h$ret1 = a2;+ return a1;+ } else if(n < 32) {+ h$ret1 = a2 << n;+ return (a1 << n) | (a2 >>> (32-n));+ } else {+ h$ret1 = 0;+ return ((a2 << (n-32))|0);+ }+}+function h$hs_uncheckedShiftRL64(a1,a2,n) {+ n &= 63;+ if(n == 0) {+ h$ret1 = a2;+ return a1;+ } else if(n < 32) {+ h$ret1 = (a2 >>> n ) | (a1 << (32-n));+ return a1 >>> n;+ } else {+ h$ret1 = a1 >>> (n-32);+ return 0;+ }+}+// fixme this function appears to deoptimize a lot due to smallint overflows+function h$imul_shim(a, b) {+ var ah = (a >>> 16) & 0xffff;+ var al = a & 0xffff;+ var bh = (b >>> 16) & 0xffff;+ var bl = b & 0xffff;+ // the shift by 0 fixes the sign on the high part+ // the final |0 converts the unsigned value into a signed value+ return (((al * bl)|0) + (((ah * bl + al * bh) << 16) >>> 0)|0);+}+var h$mulInt32 = Math.imul ? Math.imul : h$imul_shim;+// function h$mulInt32(a,b) {+// return goog.math.Long.fromInt(a).multiply(goog.math.Long.fromInt(b)).getLowBits();+// }+// var hs_mulInt32 = h$mulInt32;+function h$mulWord32(a,b) {+ return goog.math.Long.fromBits(a,0).multiply(goog.math.Long.fromBits(b,0)).getLowBits();+}+function h$mul2Word32(a,b) {+ var c = goog.math.Long.fromBits(a,0).multiply(goog.math.Long.fromBits(b,0))+ h$ret1 = c.getLowBits();+ return c.getHighBits();+}+function h$quotWord32(a,b) {+ return goog.math.Long.fromBits(a,0).div(goog.math.Long.fromBits(b,0)).getLowBits();+}+function h$remWord32(a,b) {+ return goog.math.Long.fromBits(a,0).modulo(goog.math.Long.fromBits(b,0)).getLowBits();+}+function h$quotRem2Word32(a1,a2,b) {+ var a = h$bigFromWord64(a1,a2);+ var b = h$bigFromWord(b);+ var d = a.divide(b);+ h$ret1 = a.subtract(b.multiply(d)).intValue();+ return d.intValue();+}+function h$wordAdd2(a,b) {+ var c = goog.math.Long.fromBits(a,0).add(goog.math.Long.fromBits(b,0));+ h$ret1 = c.getLowBits();+ return c.getHighBits();+}+// this does an unsigned shift, is that ok?+function h$uncheckedShiftRL64(a1,a2,n) {+ if(n < 0) throw "unexpected right shift";+ n &= 63;+ if(n == 0) {+ h$ret1 = a2;+ return a1;+ } else if(n < 32) {+ h$ret1 = (a2 >>> n) | (a1 << (32 - n));+ return (a1 >>> n);+ } else {+ h$ret1 = a2 >>> (n - 32);+ return 0;+ }+}+function h$isDoubleNegativeZero(d) {+ ;+ return (d===0 && (1/d) === -Infinity) ? 1 : 0;+}+function h$isFloatNegativeZero(d) {+ ;+ return (d===0 && (1/d) === -Infinity) ? 1 : 0;+}+function h$isDoubleInfinite(d) {+ return (d === Number.NEGATIVE_INFINITY || d === Number.POSITIVE_INFINITY) ? 1 : 0;+}+function h$isFloatInfinite(d) {+ return (d === Number.NEGATIVE_INFINITY || d === Number.POSITIVE_INFINITY) ? 1 : 0;+}+function h$isFloatFinite(d) {+ return (d !== Number.NEGATIVE_INFINITY && d !== Number.POSITIVE_INFINITY && !isNaN(d)) ? 1 : 0;+}+function h$isDoubleFinite(d) {+ return (d !== Number.NEGATIVE_INFINITY && d !== Number.POSITIVE_INFINITY && !isNaN(d)) ? 1 : 0;+}+function h$isDoubleNaN(d) {+ return (isNaN(d)) ? 1 : 0;+}+function h$isFloatNaN(d) {+ return (isNaN(d)) ? 1 : 0;+}+function h$isDoubleDenormalized(d) {+ return (d !== 0 && Math.abs(d) < 2.2250738585072014e-308) ? 1 : 0;+}+function h$isFloatDenormalized(d) {+ return (d !== 0 && Math.abs(d) < 2.2250738585072014e-308) ? 1 : 0;+}+var h$convertBuffer = new ArrayBuffer(8);+var h$convertDouble = new Float64Array(h$convertBuffer);+var h$convertFloat = new Float32Array(h$convertBuffer);+var h$convertInt = new Int32Array(h$convertBuffer);+// use direct inspection through typed array for decoding floating point numbers if this test gives+// the expected answer. fixme: does this test catch all non-ieee or weird endianness situations?+h$convertFloat[0] = 0.75;+// h$convertFloat[0] = 1/0; // to force using fallbacks+var h$decodeFloatInt = h$convertInt[0] === 1061158912 ? h$decodeFloatIntArray : h$decodeFloatIntFallback;+var h$decodeDouble2Int = h$convertInt[0] === 1061158912 ? h$decodeDouble2IntArray : h$decodeDouble2IntFallback;+function h$decodeFloatIntArray(d) {+ ;+ if(isNaN(d)) {+ h$ret1 = 105;+ return -12582912;+ }+ h$convertFloat[0] = d;+ var i = h$convertInt[0];+ var exp = (i&2139095040) >> 23;+ var s = i&8388607;+ if(exp === 0) { // zero or denormal+ if(s === 0) {+ ;+ h$ret1 = 0;+ return 0;+ } else {+ h$convertFloat[0] = d*8388608;+ i = h$convertInt[0];+ ;+ h$ret1 = ((i&2139095040) >> 23) - 173;+ return (((i&8388607)<<7)|(i&2147483648))>>7;+ }+ } else {+ ;+ h$ret1 = exp - 150;+ return (((s|8388608)<<7)|(i&2147483648))>>7;+ }+}+function h$decodeFloatIntFallback(d) {+ ;+ if(isNaN(d)) {+ h$ret1 = 105;+ return -12582912;+ }+ var exponent = h$integer_cmm_decodeDoublezhFallback(d)+29;+ var significand = h$ret1.shiftRight(28).add(h$bigOne).shiftRight(1).intValue();+ if(exponent > 105) {+ exponent = 105;+ significand = d > 0 ? 8388608 : -8388608;+ } else if(exponent < -151 || significand === 0) {+ significand = 0;+ exponent = 0;+ }+ ;+ h$ret1 = exponent;+ return significand;+}+function h$decodeDouble2IntArray(d) {+ ;+ if(isNaN(d)) {+ h$ret3 = 972;+ h$ret2 = 0;+ h$ret1 = -1572864;+ return 1;+ }+ h$convertDouble[0] = d;+ ;+ var i1 = h$convertInt[1];+ h$ret2 = h$convertInt[0];+ var exp = (i1&2146435072)>>>20;+ if(exp === 0) { // denormal or zero+ if((i1&2147483647) === 0 && h$ret2 === 0) {+ h$ret1 = 0;+ h$ret3 = 0;+ } else {+ h$convertDouble[0] = d*9007199254740992;+ i1 = h$convertInt[1];+ h$ret1 = (i1&1048575)|1048576;+ h$ret2 = h$convertInt[0];+ h$ret3 = ((i1&2146435072)>>>20)-1128;+ }+ } else {+ h$ret3 = exp-1075;+ h$ret1 = (i1&1048575)|1048576;+ }+ ;+ return i1<0?-1:1;+}+function h$decodeDouble2IntFallback(d) {+ ;+ if(isNaN(d)) {+ h$ret3 = 972;+ h$ret2 = 0;+ h$ret1 = -1572864;+ return 1;+ }+ var exponent = h$integer_cmm_decodeDoublezhFallback(d);+ var significand = h$ret1;+ var sign = d<0?-1:1;+ var s = significand.abs();+ h$decodeDouble2IntArray(d);+ ;+ h$ret1 = s.shiftRight(32).intValue();+ h$ret2 = s.intValue();+ h$ret3 = exponent;+ ;+ return sign;+}+// round .5 to nearest even number+function h$rintDouble(a) {+ var rounda = Math.round(a);+ if(a >= 0) {+ if(a%1===0.5 && rounda%2===1) { // tie+ return rounda-1;+ } else {+ return rounda;+ }+ } else {+ if(a%1===-0.5 && rounda%2===-1) { // tie+ return rounda-1;+ } else {+ return rounda;+ }+ }+}+var h$rintFloat = h$rintDouble;+function h$acos(d) { return Math.acos(d); }+function h$acosf(f) { return Math.acos(f); }+function h$asin(d) { return Math.asin(d); }+function h$asinf(f) { return Math.asin(f); }+function h$atan(d) { return Math.atan(d); }+function h$atanf(f) { return Math.atan(f); }+function h$atan2(x,y) { return Math.atan2(x,y); }+function h$atan2f(x,y) { return Math.atan2(x,y); }+function h$cos(d) { return Math.cos(d); }+function h$cosf(f) { return Math.cos(f); }+function h$sin(d) { return Math.sin(d); }+function h$sinf(f) { return Math.sin(f); }+function h$tan(d) { return Math.tan(d); }+function h$tanf(f) { return Math.tan(f); }+function h$cosh(d) { return (Math.exp(d)+Math.exp(-d))/2; }+function h$coshf(f) { return h$cosh(f); }+function h$sinh(d) { return (Math.exp(d)-Math.exp(-d))/2; }+function h$sinhf(f) { return h$sinh(f); }+function h$tanh(d) { return (Math.exp(2*d)-1)/(Math.exp(2*d)+1); }+function h$tanhf(f) { return h$tanh(f); }+var h$popCntTab =+ [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,+ 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,+ 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,+ 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,+ 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,+ 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,+ 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,+ 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8];+function h$popCnt32(x) {+ return h$popCntTab[x&0xFF] ++ h$popCntTab[(x>>>8)&0xFF] ++ h$popCntTab[(x>>>16)&0xFF] ++ h$popCntTab[(x>>>24)&0xFF]+}+function h$popCnt64(x1,x2) {+ return h$popCntTab[x1&0xFF] ++ h$popCntTab[(x1>>>8)&0xFF] ++ h$popCntTab[(x1>>>16)&0xFF] ++ h$popCntTab[(x1>>>24)&0xFF] ++ h$popCntTab[x2&0xFF] ++ h$popCntTab[(x2>>>8)&0xFF] ++ h$popCntTab[(x2>>>16)&0xFF] ++ h$popCntTab[(x2>>>24)&0xFF];+}+function h$bswap64(x1,x2) {+ h$ret1 = (x1 >>> 24) | (x1 << 24) | ((x1 & 0xFF00) << 8) | ((x1 & 0xFF0000) >> 8);+ return (x2 >>> 24) | (x2 << 24) | ((x2 & 0xFF00) << 8) | ((x2 & 0xFF0000) >> 8);+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// Unicode tables generated by ghcjs/utils/genUnicode.hs+var h$printRanges = "f|!-f=|/q'/+1$J|(mo'1q&')| 63Y--EO'|$9| ('| ?'|!9?| ?-| %'AZ'| JI| +|#U2'''O0$)+'5'''+3*','O-).+''O0&&&'$-+''))0+$1C9)4(N0&,'7(('@+';A)2'''O0&,'5''')3'+','G7'.))*)'$&)')));+-))*'.>M-+2(PB)3(*1'&/+'733(2(P6,'5(*1'1$+'7&?)2(u'3(,32+'C)1''F)S4$'1)*/$2/7');| =+^n'$''$'.+0( #''<('-$.'7'+d| Yk+rk@<n|$G$-&|(E*'1$*'v*'f*'1$*'A| :*'| O'd)W/| t9|.r)|! 1=09Q5K;=(&;|!+'7/7/?'7/| z3z-| U7b:+;+(x'-9| +W/9)| E'| K]'9/7/?'A| K| b+| #)|!W3| A)A)| /| I33r&/|%M/|&;'/'p'/'3 $a'| 3@>'/H')48-S1| +C''Y<)`GfA|#)/|-h-rU9M|H;'d'h);2| %| '| &|#<-| #$-&| 91'?S510000000|!4| CW| {;|$hW;+| I| u'|!=-v)|!+y-l;| '|$y} ^y7}%0j| /|9t)| 75|'fK|!+| {3|#3_''| S| 3+7/| 93| S5;/[+| r9`)| f8+f| 65?'7'|!=S[7/'/'/510| (+'|!#| %'7/}!e;;Q+| +}!'n|(/'|!Cp1;--W,$&&|!gE|(-C| I'| 5t?'W/?'jH*+-|#!+|$7)/'/'/'))10='';VH&@'?h|!f-)+| #)| v);+| &| %|!t^)| +A[+l;Y-z-`m+?x|#Q'7| vt3| 19|#4|&v5O73|#E/'$| &)&Q| X35| j[)Y-| H| 9/'| I+&-3(X+)+5351| Idr+;5| 5)^'Y-W1+;1| j| [|+tb|(U| f+`A| E*?U17/| 3>;r5| [+&9/K9Gy|!S| ?-71)2'''O0&,'5''')5,1'1)-|%x| Y37|#b| 5'G| 5| S97p| 937|*K| p;|)y| ;|<Y|4M|!=|!M,|b`|7l}#8j|,^1b6+'|!/`'/7| U770L-I|3U| S9| 'CE}$&7'|e7|!E-=)517'+} 47|%M7r'| ^3|!5h| U|$/| x5G|#1| t| V&'&''+:$0| J*'30Z*,$)1|'T'|&O'| -} %|$E'C|=C+X&$'$7* #/* $)&$' &'$'+0**$6D-),D| 1'|&#| +|!7;A'A@m7=)b| @+z| `^=z-51'|#r| #)| f'| h-l3|%`| _-xu|#P'|#+C=)+;|!W;| tz;+| 937/t3`|I^}*Q/v} !59|$x}$#I|,'|G1|%A";+var h$alnumRanges = "| +71W/W| '0'$)'(Pa|*2+;?-1$D|!Y&'+$/$)$J| o|#*|#oo'0r5| #$&&$3Y-)^9-| ^+|!;2'7H'B| ?'|!9?| 5+,| %G[| QI| +|!p'7H2'''O0$)+'5'''+3*',';'/1).+''O0&&&'$-+''))0+$1C9)4(N0&,'7(('@+'7E)2'''O0&,'5''')3'+','707'.))*)'$&)')));+-))*'.>==+2(PB)3(*1'&/+'731')2(P6,'5(*1'1$+'7&?)2(u'3(,32+'C+/''F)S4$'1)*/$2/7''=| =-A6r'$''$'.+0( #''<('-$.'7'+dP'/K $+7k+KFk5| :| ^/| f'p$-&z|'F*'1$*'v*'f*'1$*'A| :*'| O')5K)CC| t;|-j'EV-| `)91=09M9K;=(&;| r)*''7/7E)'7/| z3z-| U7b:+;7t'-9| +W/9n[+| G]'9/7=2A| K| b+7E5;|!W;| 937)| +| n)i&/|%M/|&;'/'p'/'3 $a'| 30$))0)+'/+=-)0|!U''/-9/=| /fE*&7$)-/ $+8'+--+$| =|0/| A| fO|.#`|91| '| &|!y/55&p$-&| 91@S510000000c| '|*H)UA,'-+| v''')|!!*-v)|!+)+7Y| 3Cd7`3@d7rA|'-} X;| ^}%/C| /|9t| O| %'|& )[K| /6a| on5'|!='+_''| S| +3/7| 1;| S97/S)*| %'l;^)| K?9/b| 65?'7/Q)| [S)'C'-7/'/'/510y*+'|!#z&'7/}!e;;Q+| +}!'n|(/'|!Cp1;--;<,$&&|!Ff|()G| I'| 5t;+CC?| M-|#!I71W/W9|! )/'/'/')j;VH&@'?h|!f;| #;| ;E'|!Q|!s^)| +A[+l;Y-z-`'l+3,x|#Q'7| vt3| 1|#M|&v5O73|#E/'$| &)&Q'b'p35| j[+W| U| 9/'| I+&-3(X+)+5Sbcd3_+-C| 57O'Y-WQ1| j| [|+tb|(U| W9`A| AMU17/| 36Cl'4| S99/K9Gm|!`| ?-71)2'''O0&,'5''')5,1'1)-|%x| U$37|#b| 5'5| G| K)87p| 937|*K| p;|)y| ;|<Y|4M|!=|!M|bl|7l}#8j|,^1b6|!;`'-9| 75+;70L-I|3U| S9| 'CE}$&7'|e7|!E-=)517)'} <3-)/33'1`+|#=)|&=G|#1| t| V&'&''+:$0| J*'30Z*,$)1|'T'UTaTaTaTaT2'| -} %|$E'C|=C+X&$'$7* #/* $)&$' &'$'+0**$6D-),D|,t=|v'}*Q/v} !59|$x}$#I|,'|G1|%A";+var h$lowerRanges = "|!3W| =uS2 <& (& 8' #)'$&('+&()'& #&$'$'($&'')/&& )' )&'$( >1'&'$+ %| SX|$=$(()GXj&)) ,,$'&'| /| ) 25 ;& '' Q| +r} KQ| | G=g|!; l5 Q43/73333/73333?'333333-&/()&3+''337)&|&+(')X**&'3++| 2|]a| ''(' $+$'.- R'1$*:p$-}'Zi 7H .|#! ') @2 #' %*$&$) +| j|28z5'}%!p1;-|7`W|;?t} :;d}+l-WW1FWWW+$08WWWWWWWWWWWWWWWWW[[U.WU.WU.WU.WU.$";+var h$upperRanges = "| MW|!9Q0f <& (& 8' #)'$&('+&()'& #&$'$'($&)0'&& )' )&'$( >1'&'$+ %|&I$(2.$)$&D4j&)) ,,&$''| /| ) 14 <' '' P&p|a5p$-|l( l4 Q433/73333/9 $23S333333-9-9+;-9-|%l*()')'(-/ $+'+7'-| B|[]| '| +$)' $+$'2) R3$*}']( 7H .|#! '( ?6 #' %+$&$( ++''}%OGW|;/t} :Kd}+l9WWWWWW$''&''+2WWW'*'30Y'*,$)1YWWWWWWWWWWW`UfUfUfUfUf%";+var h$alphaRanges = "| MW/W| '6*,Qa|*2+;?-1$|!q-&'+$/$)$J| o|#*3|#bo'0r| YY-)| #zj'|!4$A'1'7)'B$`^|! 9Rf5'+,O+4(PU| WI| l| 5)F07AC+3'''O0$)+)B<'(?'I/+''O0&&&b+$I)C5(N0&,)F@'j3'''O0&,)_'(AD$/))*)'$&)')));O| 03(PB)V'/'j3(P6,)c$'A'G3(u'BD'S/-G)S4$'1| =| )&;1| ='$''$'.+0( #''*&5&-$M+d| F3kY-|!UzKB/++)('1)+=;Dp$-&z|'F*'1$*'v*'f*'1$*'A| :*'| OnCC| t;|-j'EV-| `/31=*?G?G?=(A| 1j*| N| z3v$-| U7b| +`'-9| M1| 9Q5| 3| n|!(| 'E1| 7`='7| Wlv)7l|!E+*)'5|$;| I|&3'/'p'/'3 $a'| 30$))0)+'/+=-)0|!W<B=|!9*&7$)-/ $+8'+--+| 0'|[[| '| &|!y/+)';p$-&| 91BQ510000000| j|*H'x--'+| v/)|!!*-v)|!+EY| 3C|+E} X;| ^}%/C| /|9t| O| %'|& )C7'K| 'Cb'| U| +5'|!='+_''| S9(*P^| 1?| -| E/)>[7QU^1| '[B-67-uQ)2KQ)(| -$)''-'$R)'91);/'/'/510y*+'|!#j^}!e;;Q+| +}!'n|(/'|!Cp1;--$7<,$&&|!Ff|()G| I'| 5t;|!W-|#!lW/W9|! )/'/'/')j;VH&@'?h|!f|(^^)| +| 'dCE2/p7`'l+3| )|#Q|!3t3| 1|#M|&v5O73|#E/'$| &)&Q7Q5b|!1O7W| U| 9/'| I@+(X| ^)^j3ZY| 57O7I=G|!K| [|55| 3| `| #dUWlvj):| )?+MmGT|!x| 'p3'''O0&,)a-|&C| )K'$|$+| '| l| )K| >z|+/| Ib|)y| ;|<Y|4M|gU|7l}#8j|,^1b|!Q`G| )C+bM-I|3U| S9| L=}$&7'|e7|!E-=)517} K-| t| V&'&''+:$0| J*'30Z*,$)1|'T'UTaTaTaTaT2} !3|$E|=h+X&$'$7* #/* $)&$' &'$'+0**$6D-),D} (7}*Q/v} !59|$x}$#I|,'";+var h$toLowerMapping = "| K Wb|!9 Qb!1bf 9# !|$F ## &' (# &' 8# !|!_# # #) !|$^# ! # ! |$U !# '|$S&' !| f|$M !|$O# ! |$S !|$W !|$`|$[&) !|$`|$d ! |$f $# !|$n# ! |$n' !# !|$n#!'|$l ## !|$p#) &1 !%# ! % !# !%# ) #' )# &' !%# ! # ! |!. !| 6# 4 # ! |!q * #1 !}![r# ! |#X}%=]' !# !|$>| Q !| U# % #|&I !# &) &3 |%0/ !n )l ! | G!'| E!Eb!5bj B3 ,# &- |!]' !# !.#' )|!qC| hdb| ) 1# &5 <# !?# ' #' P# &' p| '|a5 p} hG ! } hG- }#To|l) l# &5 !} p4 P# &5 303 /07 303 303 /09 $0 @3 30S 303 303 303 '0'| ZD9 +| sD9 '0'|!4; '0'|!L<9 '|!m'|!iD|&Y }#a() !}!&:}!#V/ | 8| # CAI &|23 WU|Ht | '| '| + !# !}!Zc|ue}%:e' $# !}![R}!Zo !}![X}![V ! #' &3 '}!]> R# &3 !# &+ &}']) 7# &I .# &|## '# &) ?# &7 ## !}(b.# % #+ !# }4p*' !# &) +# !}*H0}*HF !}*H>}*H*' !}*G&}*GV}%OG Wb|;/ tr} :K db}p? ";+var h$toUpperMapping = "|!1 Wa| = |A$x Qa!1a !|!` 9! !|%. #! $' (! $' 7! $' #! !!|&]|(_' !! $' $) $- $' |$>) !!|#Y) |%i' #! $' $+ $' $) !! $' $) !! |!N- !!$ ! ! !$ !!$ ) ! !| e )! $' !!$ ! !) 4! $) )! $3 $' '}!]? ! !+ %! !!}![Y !}![S}![W !|$]|$T!'|$R ! |$L ! |$N}4qo) !|$R}*H? ! |$V ! }*GS !}*H1 !|$Z|$_ ! }!Zd}4q6' !|$_ !}!Zp|$c' |)N1 }%:g' |)_' |)_) !}*GW|$m|#&'|$k|#.- |)c9 }4o.|#b |#ez !! $) $) )|!r| % | _)k!Ea| B5a|!m'| D ! | B|!P) !| $| 2 !0 ,! !!| s !| g/ !|!T |$8' $' $| 1 daC| g 2 !5 ;! $' '! !!> Q !| + p| &} N7 }1H>) } pP|!v l! $- |!X- P! $313 /17 313 313 /19 $1 B3 313 '| [+| t'|!5'|!n'|!M'|!j' 313 313 313 '1 ! 37 }#R4+ F; '1? '1) >= F|'b | 6f C@+ $|2f WT|IE | '| &' $) !}![q}![k $ !/ $' $7 R! $3 !! $+ $; p} hF ! } hF- }#Tm}'Zj 7! $I .! $|## '! $) ?! $7 !! $' %! $+ $+ !! $) *! $}%P= Wa|;? tq} :; da}p>; ";+var h$catMapping = "d;P)3J)3 !/0 !34 !3.'37*'3)4'3W! !/3 !06 !-6W# !/4 !04f; !83+5 !73 !67 !&1 !4< !76 !74', !6#'3 !6, !&2),FQ!H1!S#H3# <!#$'# (!#$'# 8!#'! ##!)#'! !#!&'!&)!'#+!&'!&)!)#'!&'! ##!&'! !#!'# !!#'!&)! !#!&'!'# !&!)#+& !!$ !#! !$# !!$ )#!'# )!#$'# !!$ !#!&)! >#!1#'!&'!'# !!#+! %#!| S#,Y#G%+6;%?6-%16 !%6*E6|!O' #!# !%6 !!#' *)# !3!+ '6 !!3)! ! !!'!&E!!5!j#$'#)!)# ,!#$-# !!# !4!&'!'#| /!| )# 2!#N-'') <!#'! '#!'# Q!#!p!' */3!r# ! 3<' '7 !5 | #' !.'F''F'' !3'3 Y&- )&'39 /<)4'3J'3'79' !3<!'3d&*7&M'7*+3'&.|!5& !3&1' !<7/''%''N+''&7*)&'7,?3 ! < !&'`&Y'' |! &9',? 7*f&5''%N)3*- O&+'*5'*)'*-'' A3!U&)'' F| K I&| + b'0| 5& !'( !'&)(3'+(.'(,1'7&'''37* !3%A&.'(!3&' '&' O&!1& ! &) +&' !'&)(+'' '(' '( !'&3 0+ '&!)&''' 7*'&'5/, !75- '' !( /&+ '&' O&!1&!'&!'&!'&' !' )(''+ ''' )') .1 +& ! &1 7*'')&.9 '' !( 5&!)&!O&!1&!'&!-&' !'&)(-'!'' !( '(.' ,A '&''' 7* !35A .'(!3&' '&' O&!1&!'&!-&' !'& !('0+'' '(' '(.3 !'(+ '&!)&''' 7* !7&/,7 !'&!/&) )&!+&) '& ! &!'&) '&) )&) ;&+ '(.'() )(!)(.' ,/ 0? 7*),/7 !57- .)(!3&!)&!Q&!C&) ,)'+(!)'!+'1 ''!'&/ '&''' 7*3 1, !7 .'(!3&!)&!Q&!7&!-&' !'& !('-( ! ''(!'(''1 '(1 !& '&''' 7*!'&? .'(!3&!)&!v&' ,)(+'!)(!)( !'&3 03 '&''' 7*/,) N/&' '(!G&) S&!5& ! &' 1&) .+ )()' ! '!3(/ 7*' '(F; | )&.'&1'+ J/&*3'F7*'3n '& ! &' '& ! &' ,/ +&!1&!)& # &' '&!+&.'&/'!'',' -& ! %!/'' 7*' +&d ,)7A3 !73)7''/77*7, $7' #/0'(3&!l&+ ?'0-'F''-&9'!l'!37./7!'7-3+7'3n z&'(+'0/'0'''('',7*/3/&'(''+&)',)('&1()&+'=&.'(''/( !'&07*)(.'7p! ! !- $' z& !3%|'E&!+&' 1& ! &!+&' v&!+&' f&!+&' 1& ! &!+&' A&!| ;&!+&' | O&' )'53K,) C&77/ | t&9 <|-j&'3E&PW& !/0) | `&)3)+3&1 =&!+&)'9 G&)''35 G&''; =&!)&!''; | 1&''01'3(.'(9')3*)3 !5&.' 7*/ 7,/ /3<+3)' !< 7*/ j&*| 1&3 v& !'&- | U&7 b&!)'+('')(+ '(./()'+ N) '37*`&' -&9 | &+ E(1&'(/ 7*8) h7Q&'''(.' '3| 3& !('01' ! ' !(''(3'/(7'' .7*/ 7*/ 13*/3' ?'2| K +'0| '& !'(-' !('-(.'(1&+ 7*13775'57) ''0`&0+''(''0)''&7*| & !'('')( !'()''(3 +3l&3(3''('') -37*) )&7*`&/%'3| I 333 )'F='01'+&.+&'(.'&!''/ | #| G%=#*h#n%| 5'/ +' l!#$5# Q!#$5#3!/#' /!' 3#3!3#3!/#' /!' 3# % !3#3!?#' 3#3$3#3$3#3$-#!'#+! !$6&)6)#!'#+!()6+#' '#+!!)63#-!)6' )#!'#+!('6!98-</.'3 !12>'1 !2/B33 !9:-<P53 !12+3'-)3 !4/@93 !43:73P-<!7< !,%' /,)4 !/0*7,)4 !/0!=%) `5G ='+).));'A '7$+7$'7&)!'#)! !#7$'7H-!/7 $!7+! !7#+!&+&&'7'#'!-4$+# !74'7 !#7C,j+ !!#++8/ -4-7'4+7H'7H'7H17Hb7'4'7 !47Hb7|%z437 #/0K7'417 !/0| l7H`7U4t7/4U7- r7U 97M | A,| f7O,|$)7H57H| 5734|!M7H|%Q7 (/0`,| 7-4 !/0b4 &/0C4|%b7|!v4 ,/0| G4 #/0d4 !/0|%f4| )7M4'7/4r7' d7' h7) ;7!37| % | '!!| '# ! !&)!'# $!#+! !#!'#$/#'%)! R#!'#/7 #!#)' !!#- +38'3p# ! #- &' | 9&1 !%3? .Q&5 1&!1&!1&!1&!1&!1&!1&!1&!d''3 #12)3 !12 !31D53<'3 !.3 !12'3 !12 %/0-3*73'.+3 !.3>| C W7!|! 7; |$h7W ;7+ P)3 !7% !&+ &/0'7 %/0 !./'0N5++''(<-%'7)+ !%&F'7!| v&' '''6'% !&.|!#&F)%,- v&) |!+&!'7+,77Y&- l7; C&b7!7,`73,NA,d77,r7A,| G7!|%b7} X;&7 | I7}%/C&| / M&*|9G&) | 775 t&/%'3|%z&*)3C&7*'&K 8!# !&'))F7' !3% /!#'% ! '| U&7+''/33 Q65%'6 '!#$)# @!#*3# #!#'! %#! !#%'6 #!# ! ! !#!)# +!#+!' '!| S ,'%&1&.)&.+&.Q&'(''0+7+ /,'7 !57/ | 1&+33 '(| -&C(.5 '37*/ G'/&)3,+ 7*[&3''3Q&9''(9 F^&) )'0| '&.'(+''(.+(=3 ! %7*+ '3-& !'%5&7*-&!v&/''('''(''5 )&.3& !'(' 7*' +3C&*/&)7 !&( !'(| -& !'&)''&''-&'' !&',S '&*'39&0'''('3,'% !('7 /&' /&' /&5 1&!1&!z#L+%+ '#|!# j&'(.'(.'( !3(.' 7*/ }!e;&; Q&+ | +&+ |MQ=} T7 |(/&' |!C&p 1#; -#- !&'7&H=&!-& ! &!'&!'&!|!G&C6E |()& !0/C | I&' | 5&t ;& !57' C'13 !/0F/ ?'' F'.'- )/0'3 !/0+3)-)3!+3 !./ #0/@)3 !4.)4 ! 3J'3+ -&!|##&' !< )3J)3 !/0 !34 !3.'37*'3)4'3W! !/3 !06 !-6W# !/4 !04 !/0 !3/@'37&*| #&'%b&) /&' /&' /&' )&) '5 !46N'5 ! 7+4'77 )<'7' ;&!W&!I&!'&!A&' ?&h |!f&- )3+ | #,) 57| 3++,E7',N) ;7+ N| ' | #7.|!t ^&) | +&A .Y,+ d&+,; E&63&6- p&-'- `& ! 3l&+ 3&F-+x t!t#| f&' 7*| v t&3 | 1&9 F|#5 |&v&5 O&7 3&|#E /&' !& | &!'&) ,' Q& ! 33,Q&'71,b&3 5,| j O&/,) FW&- F| I | 9&/ '&| I ,)'!''- +'+&!)&!Y&+ )'+ .3,3 531 ^&',F^&),d 3&N[&''+ -,135 | 5&) 13O&' 3,I&- 3,G&1 +3; 1,| j | [&|+t b,|(U !('0| 3&A'13+ K,7*A )'0| #&)(+''('''3X+3? U&1 7*/ )'l&-'03'!7*+3; j&.'3,5 ''0| )&)(5''(+&+3+ F' 7*,/ K,9 G&!U&)()''( !'(''/3|!S | '&.)(3'- 7*1 .'(!3&' '&' O&!1&!'&!-&' !'&'(.+(' '(' )(5 0- -&'(' 1') -'|%x | )&)(/' !('+(''0'''& !3&3 7*|#b | '&)(+'' +(''0''53| 5 | )&)(3''( !'('')3,9 7*p z& !'(.'(/' !('3 7*|*K d!d#7*5,; ,|)z | ;&|<Y |4M&|!= |!M+!-3|b` |7l&}#8j |,^&1 b&!7*+ '3|!/ `&' -'F7 | )&1'-3+7+% !377 7*!1,!M&- I&|3U | S&9 ,| %(C +'=%}$&7 '&|e7 |!E&- =&) 5&1 7&' N''F+<} 4/ |%M77 r7' | A7'()')7/(3<3''71'`7+'| )7h | M7)'N|$/ | x75 G,|#1 W!W#W!1#!G#W!W# !! '!' $' '!' +!!3!+# ! #!1#!9#W!W#'!!+!' 3!!1!!W#'!!+!!-! ! !) 1!!W#W!W#W!W#W!W#W!W#W!W#W![#' U!HU#H/#U!HU#H/#U!HU#H/#U!HU#H/#U!HU#H/# !!#' | -*} % |$E&' 5,1'|=C +&!Y&!'& ! &' !& 7&!+& # &/ ,+ $& )&!'& ! &' && '& ! &' +&!1&!+&!+& ! &!7&!E&- )&!-&!E&| 1 '4|&# | 7+ |!77; A7' A7!A7!n77 =,) b7!| A7+ z7| ` ^7= z7- 571 '7|#r | #7) | f7' | h7- l73 |%`7!| `7- x7!v7!|#Q7' |#+7C =7) +7; |!W7; | t7z ;7+ | 973 77/ t73 `7|I^ }*Q/&v } !5&9 |$x&}$#I |,'&|AO X` |!/<|!p |%A'}PF' ";+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// encode a string constant+function h$str(s) {+ var enc = null;+ return function() {+ if(enc === null) {+ enc = h$encodeUtf8(s);+ }+ return enc;+ }+}+// encode a raw string from bytes+function h$rstr(d) {+ var enc = null;+ return function() {+ if(enc === null) {+ enc = h$rawStringData(d);+ }+ return enc;+ }+}+// these aren't added to the CAFs, so the list stays in mem indefinitely, is that a problem?+function h$strt(str) { return h$c1(h$lazy_e, function() { return h$toHsString(str); }); }+function h$strta(str) { return h$c1(h$lazy_e, function() { return h$toHsStringA(str); }); }+function h$strtb(arr) { return h$c1(h$lazy_e, function() { return h$toHsStringMU8(arr); }); }+// unpack strings without thunks+function h$ustra(str) { return h$toHsStringA(str); }+function h$ustr(str) { return h$toHsString(str); }+function h$urstra(arr) { return h$toHsList(arr); }+function h$urstr(arr) { return h$toHsStringMU8(arr); }+function h$caseMapping(x) {+ return (x%2)?-((x+1)>>1):(x>>1);+}+var h$toUpper = null;+function h$u_towupper(ch) {+ if(h$toUpper == null) { h$toUpper = h$decodeMapping(h$toUpperMapping, h$caseMapping); }+ return ch+(h$toUpper[ch]|0);+}+var h$toLower = null;+function h$u_towlower(ch) {+ if(h$toLower == null) { h$toLower = h$decodeMapping(h$toLowerMapping, h$caseMapping); }+ return ch+(h$toLower[ch]|0);+}+var h$alpha = null;+function h$u_iswalpha(a) {+ if(h$alpha == null) { h$alpha = h$decodeRLE(h$alphaRanges); }+ return h$alpha[a]|0;+}+var h$alnum = null;+function h$u_iswalnum(a) {+ if(h$alnum == null) { h$alnum = h$decodeRLE(h$alnumRanges); }+ return h$alnum[a] == 1 ? 1 : 0;+}+function h$u_iswspace(a) {+ return '\t\n\v\f\r \u0020\u00a0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000'+ .indexOf(String.fromCharCode(a)) !== -1 ? 1 : 0;+}+var h$lower = null;+function h$u_iswlower(a) {+ if(h$lower == null) { h$lower = h$decodeRLE(h$lowerRanges); }+ if(a < 0x30000) return h$lower[a]|0;+ if(a < 0xE0000) return 0;+ return h$lower[a-0xB0000]|0;+}+var h$upper = null;+function h$u_iswupper(a) {+ if(h$upper == null) { h$upper = h$decodeRLE(h$upperRanges); }+ if(a < 0x30000) return h$upper[a]|0;+ if(a < 0xE0000) return 0;+ return h$upper[a-0xB0000]|0;+}+var h$cntrlChars = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159];+var h$cntrl = null;+function h$u_iswcntrl(a) {+ if(h$cntrl === null) {+ h$cntrl = [];+ for(var i=0;i<=159;i++) h$cntrl[i] = (h$cntrlChars.indexOf(i) !== -1) ? 1 : 0;+ }+ return a <= 159 ? h$cntrl[a] : 0;+}+var h$print = null;+function h$u_iswprint(a) {+ if(h$print == null) { h$print = h$decodeRLE(h$printRanges); }+ if(a < 0x30000) return h$print[a]|0;+ if(a < 0xE0000) return 0;+ return h$print[a-0xB0000]|0;+}+// decode a packed string (Compactor encoding method) to an array of numbers+function h$decodePacked(s) {+ function f(o) {+ var c = s.charCodeAt(o);+ return c<34?c-32:c<92?c-33:c-34;+ }+ var r=[], i=0;+ while(i < s.length) {+ var c = s.charCodeAt(i);+ if(c < 124) r.push(f(i++));+ else if(c === 124) {+ i += 3; r.push(90+90*f(i-2)+f(i-1));+ } else if(c === 125) {+ i += 4;+ r.push(8190+8100*f(i-3)+90*f(i-2)+f(i-1));+ } else throw ("h$decodePacked: invalid: " + c);+ }+ return r;+}+// decode string with encoded character ranges+function h$decodeRLE(str) {+ var r = [], x = 0, i = 0, j = 0, v, k, a = h$decodePacked(str);+ while(i < a.length) {+ v = a[i++];+ if(v === 0) { // alternating+ k = a[i++];+ while(k--) {+ r[j++] = x;+ r[j++] = 1-x;+ }+ } else {+ if(v <= 2) {+ k = (a[i]<<16)+a[i+1];+ i+=2;+ } else k = (v-1)>>1;+ if(v%2) {+ r[j++] = x;+ x = 1-x;+ }+ while(k--) r[j++] = x;+ x = 1-x;+ }+ }+ r.shift();+ return r;+}+function h$decodeMapping(str, f) {+ var r = [], i = 0, j = 0, k, v, v2, a = h$decodePacked(str);+ while(i < a.length) {+ v = a[i++];+ if(v === 0) { // alternating+ k = a[i];+ v = f(a[i+1]);+ v2 = f(a[i+2]);+ while(k--) {+ r[j++] = v;+ r[j++] = v2;+ }+ i+=3;+ } else {+ if(v === 2) {+ k = (a[i] << 16) + a[i+1];+ v = a[i+2];+ i += 3;+ } else if(v%2) {+ k = 1;+ v = v>>1;+ } else {+ k = (v>>1)-1;+ v = a[i++];+ }+ v = f(v);+ while(k--) r[j++] = v;+ }+ }+ return r;+}+var h$unicodeCat = null;+function h$u_gencat(a) {+ if(h$unicodeCat == null) h$unicodeCat = h$decodeMapping(h$catMapping, function(x) { return x; });+ // private use+ if(a >= 0xE000 && a <= 0xF8FF || a >= 0xF0000 & a <= 0xFFFFD || a >= 0x100000 && a <= 0x10FFFD) return 28;+ var c = a < 0x30000 ? (h$unicodeCat[a]|0) :+ (a < 0xE0000 ? 0 : (h$unicodeCat[a-0xB0000]|0));+ return c?c-1:29;+}+function h$localeEncoding() {+ // h$log("### localeEncoding");+ h$ret1 = 0; // offset 0+ return h$encodeUtf8("UTF-8");+}+function h$rawStringData(str) {+ var v = h$newByteArray(str.length+1);+ var u8 = v.u8;+ for(var i=0;i<str.length;i++) {+ u8[i] = str[i];+ }+ u8[str.length] = 0;+ return v;+}+// encode a javascript string to a zero terminated utf8 byte array+function h$encodeUtf8(str) {+ var i, low;+ var n = 0;+ for(i=0;i<str.length;i++) {+ // non-BMP encoded as surrogate pair in JavaScript string, get actual codepoint+ var c = str.charCodeAt(i);+ if (0xD800 <= c && c <= 0xDBFF) {+ low = str.charCodeAt(i+1);+ c = ((c - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;+ i++;+ }+ if(c <= 0x7F) {+ n++;+ } else if(c <= 0x7FF) {+ n+=2;+ } else if(c <= 0xFFFF) {+ n+=3;+ } else if(c <= 0x1FFFFF) {+ n+=4;+ } else if(c <= 0x3FFFFFF) {+ n+=5;+ } else {+ n+=6;+ }+ }+ var v = h$newByteArray(n+1);+ var u8 = v.u8;+ n = 0;+ for(i=0;i<str.length;i++) {+ var c = str.charCodeAt(i);+ // non-BMP encoded as surrogate pair in JavaScript string, get actual codepoint+ if (0xD800 <= c && c <= 0xDBFF) {+ low = str.charCodeAt(i+1);+ c = ((c - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;+ i++;+ }+// h$log("### encoding char " + c + " to UTF-8: " + String.fromCodePoint(c));+ if(c <= 0x7F) {+ u8[n] = c;+ n++;+ } else if(c <= 0x7FF) {+ u8[n] = (c >> 6) | 0xC0;+ u8[n+1] = (c & 0x3F) | 0x80;+ n+=2;+ } else if(c <= 0xFFFF) {+ u8[n] = (c >> 12) | 0xE0;+ u8[n+1] = ((c >> 6) & 0x3F) | 0x80;+ u8[n+2] = (c & 0x3F) | 0x80;+ n+=3;+ } else if(c <= 0x1FFFFF) {+ u8[n] = (c >> 18) | 0xF0;+ u8[n+1] = ((c >> 12) & 0x3F) | 0x80;+ u8[n+2] = ((c >> 6) & 0x3F) | 0x80;+ u8[n+3] = (c & 0x3F) | 0x80;+ n+=4;+ } else if(c <= 0x3FFFFFF) {+ u8[n] = (c >> 24) | 0xF8;+ u8[n+1] = ((c >> 18) & 0x3F) | 0x80;+ u8[n+2] = ((c >> 12) & 0x3F) | 0x80;+ u8[n+3] = ((c >> 6) & 0x3F) | 0x80;+ u8[n+4] = (c & 0x3F) | 0x80;+ n+=5;+ } else {+ u8[n] = (c >>> 30) | 0xFC;+ u8[n+1] = ((c >> 24) & 0x3F) | 0x80;+ u8[n+2] = ((c >> 18) & 0x3F) | 0x80;+ u8[n+3] = ((c >> 12) & 0x3F) | 0x80;+ u8[n+4] = ((c >> 6) & 0x3F) | 0x80;+ u8[n+5] = (c & 0x3F) | 0x80;+ n+=6;+ }+ }+ u8[v.len-1] = 0; // terminator+// h$log("### encodeUtf8: " + str);+// h$log(v);+ return v;+}+// encode a javascript string to a zero terminated utf16 byte array+function h$encodeUtf16(str) {+ var n = 0;+ var i;+ for(i=0;i<str.length;i++) {+ var c = str.charCodeAt(i);+ if(c <= 0xFFFF) {+ n += 2;+ } else {+ n += 4;+ }+ }+ var v = h$newByteArray(n+1);+ var dv = v.dv;+ n = 0;+ for(i=0;i<str.length;i++) {+ var c = str.charCodeAt(i);+ if(c <= 0xFFFF) {+ dv.setUint16(n, c, true);+ n+=2;+ } else {+ var c0 = c - 0x10000;+ dv.setUint16(n, c0 >> 10, true);+ dv.setUint16(n+2, c0 & 0x3FF, true);+ n+=4;+ }+ }+ dv.setUint8(v.len-1,0); // terminator+ return v;+}+// convert a string to a buffer, set second field in+// Addr# to length+function h$fromStr(s) {+ var l = s.length;+ var b = h$newByteArray(l * 2);+ var dv = b.dv;+ for(var i=l-1;i>=0;i--) {+ dv.setUint16(i<<1, s.charCodeAt(i), true);+ }+ h$ret1 = l;+ return b;+}+// convert a Data.Text buffer with offset/length to a+// JS string+function h$toStr(b,o,l) {+ var a = [];+ var end = 2*(o+l);+ var k = 0;+ var dv = b.dv;+ var s = '';+ for(var i=2*o;i<end;i+=2) {+ var cc = dv.getUint16(i,true);+ a[k++] = cc;+ if(k === 60000) {+ s += String.fromCharCode.apply(this, a);+ k = 0;+ a = [];+ }+ }+ return s + String.fromCharCode.apply(this, a);+}+/*+function h$encodeUtf16(str) {+ var b = new DataView(new ArrayBuffer(str.length * 2));+ for(var i=str.length-1;i>=0;i--) {+ b.setUint16(i<<1, str.charCodeAt(i));+ }+ h$ret1 = 0;+ return b;+}+var h$eU16 = h$encodeUtf16;++function h$decodeUtf16(v,start) {+ return h$decodeUtf16(v, v.byteLength - start, start);+}++function h$decodeUtf16z(v,start) {+ var len = v.byteLength - start;+ for(var i=start;i<l;i+=2) {+ if(v.getUint16(i) === 0) {+ len = i;+ break;+ }+ }+ return h$decodeUtf16l(v,l,start)+}+*/+function h$decodeUtf16l(v, byteLen, start) {+ // perhaps we can apply it with an Uint16Array view, but that might give us endianness problems+ var a = [];+ for(var i=0;i<byteLen;i+=2) {+ a[i>>1] = v.dv.getUint16(i+start,true);+ }+ return String.fromCharCode.apply(this, a);+}+var h$dU16 = h$decodeUtf16;+// decode a buffer with UTF-8 chars to a JS string+// stop at the first zero+function h$decodeUtf8z(v,start) {+// h$log("h$decodeUtf8z");+ var n = start;+ var max = v.len;+ while(n < max) {+// h$log("### " + n + " got char: " + v.u8[n]);+ if(v.u8[n] === 0) { break; }+ n++;+ }+ return h$decodeUtf8(v,n,start);+}+// decode a buffer with Utf8 chars to a JS string+// invalid characters are ignored+function h$decodeUtf8(v,n0,start) {+// h$log("### decodeUtf8");+// h$log(v);+ var n = n0 || v.len;+ var arr = [];+ var i = start || 0;+ var code;+ var u8 = v.u8;+// h$log("### decoding, starting at: " + i);+ while(i < n) {+ var c = u8[i];+ while((c & 0xC0) === 0x80) {+ c = u8[++i];+ }+// h$log("### lead char: " + c);+ if((c & 0x80) === 0) {+ code = (c & 0x7F);+ i++;+ } else if((c & 0xE0) === 0xC0) {+ code = ( ((c & 0x1F) << 6)+ | (u8[i+1] & 0x3F)+ );+ i+=2;+ } else if((c & 0xF0) === 0xE0) {+ code = ( ((c & 0x0F) << 12)+ | ((u8[i+1] & 0x3F) << 6)+ | (u8[i+2] & 0x3F)+ );+ i+=3;+ } else if ((c & 0xF8) === 0xF0) {+ code = ( ((c & 0x07) << 18)+ | ((u8[i+1] & 0x3F) << 12)+ | ((u8[i+2] & 0x3F) << 6)+ | (u8[i+3] & 0x3F)+ );+ i+=4;+ } else if((c & 0xFC) === 0xF8) {+ code = ( ((c & 0x03) << 24)+ | ((u8[i+1] & 0x3F) << 18)+ | ((u8[i+2] & 0x3F) << 12)+ | ((u8[i+3] & 0x3F) << 6)+ | (u8[i+4] & 0x3F)+ );+ i+=5;+ } else {+ code = ( ((c & 0x01) << 30)+ | ((u8[i+1] & 0x3F) << 24)+ | ((u8[i+2] & 0x3F) << 18)+ | ((u8[i+3] & 0x3F) << 12)+ | ((u8[i+4] & 0x3F) << 6)+ | (u8[i+5] & 0x3F)+ );+ i+=6;+ }+ // h$log("### decoded codePoint: " + code + " - " + String.fromCharCode(code)); // String.fromCodePoint(code));+ // need to deal with surrogate pairs+ if(code > 0xFFFF) {+ var offset = code - 0x10000;+ arr.push(0xD800 + (offset >> 10), 0xDC00 + (offset & 0x3FF));+ } else {+ arr.push(code);+ }+ }+ return String.fromCharCode.apply(this, arr);+}+// fixme what if terminator, then we read past end+function h$decodeUtf16(v) {+ var n = v.len;+ var arr = [];+ var dv = v.dv;+ for(var i=0;i<n;i+=2) {+ arr.push(dv.getUint16(i,true));+ }+ return String.fromCharCode.apply(this, arr);+}+function h$hs_iconv_open(to,to_off,from,from_off) {+ h$errno = h$EINVAL; // no encodings supported+ return -1;+// var fromStr = decodeUtf8(from, from_off);+// var toStr = decodeUtf8(to, to_off);+// h$log("#### hs_iconv_open: " + fromStr + " -> " + toStr);+// return 1; // fixme?+}+function h$hs_iconv_close(iconv) {+ return 0;+}+// ptr* -> ptr (array)+function h$derefPtrA(ptr, ptr_off) {+ return ptr.arr[ptr_off][0];+}+// ptr* -> ptr (offset)+function h$derefPtrO(ptr, ptr_off) {+ return ptr.arr[ptr_off][1];+}+// word** -> word ptr[x][y]+function h$readPtrPtrU32(ptr, ptr_off, x, y) {+ x = x || 0;+ y = y || 0;+ var arr = ptr.arr[ptr_off + 4 * x];+ return arr[0].dv.getInt32(arr[1] + 4 * y, true);+}+// char** -> char ptr[x][y]+function h$readPtrPtrU8(ptr, ptr_off, x, y) {+ x = x || 0;+ y = y || 0;+ var arr = ptr.arr[ptr_off + 4 * x];+ return arr[0].dv.getUint8(arr[1] + y);+}+// word** ptr[x][y] = v+function h$writePtrPtrU32(ptr, ptr_off, v, x, y) {+ x = x || 0;+ y = y || 0;+ var arr = ptr.arr[ptr_off + 4 * x];+ arr[0].dv.putInt32(arr[1] + y, v);+}+// unsigned char** ptr[x][y] = v+function h$writePtrPtrU8(ptr, ptr_off, v, x, y) {+ x = x || 0;+ y = y || 0;+ var arr = ptr.arr[ptr_off+ 4 * x];+ arr[0].dv.putUint8(arr[1] + y, v);+}+// convert JavaScript String to a Haskell String+function h$toHsString(str) {+ if(typeof str !== 'string') return h$ghczmprimZCGHCziTypesziZMZN;+ var i = str.length - 1;+ var r = h$ghczmprimZCGHCziTypesziZMZN;+ while(i>=0) {+ var cp = str.charCodeAt(i);+ if(cp >= 0xDC00 && cp <= 0xDFFF && i > 0) {+ --i;+ cp = (cp - 0xDC00) + (str.charCodeAt(i) - 0xD800) * 1024 + 0x10000;+ }+ r = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, cp, r);+ --i;+ }+ return r;+}+// string must have been completely forced first+function h$fromHsString(str) {+ var xs = '';+ while(str.f.a === 2) {+ if(typeof str.d1 === 'number') {+ xs += String.fromCharCode(str.d1);+ } else {+ xs += String.fromCharCode(str.d1.d1); // unbox_e+ }+ str = str.d2;+ }+ return xs;+}+// list of JSRef to array, list must have been completely forced first+function h$fromHsListJSRef(xs) {+ var arr = [];+ while(xs.f.a === 2) {+ arr.push(xs.d1.d1);+ xs = xs.d2;+ }+ return arr;+}+// ascii only version of the above+function h$toHsStringA(str) {+ if(typeof str !== 'string') return h$ghczmprimZCGHCziTypesziZMZN;+ var i = str.length - 1;+ var r = h$ghczmprimZCGHCziTypesziZMZN;+ while(i>=0) {+ r = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, str.charCodeAt(i), r);+ --i;+ }+ return r;+}+// convert array with modified UTF-8 encoded text+function h$toHsStringMU8(arr) {+ var accept = false, b, n = 0, cp = 0, r = h$ghczmprimZCGHCziTypesziZMZN, i = arr.length - 1;+ while(i >= 0) {+ b = arr[i];+ if(!(b & 128)) {+ cp = b;+ accept = true;+ } else if((b & 192) === 128) {+ cp += (b & 32) * Math.pow(64, n)+ } else {+ cp += (b&((1<<(6-n))-1)) * Math.pow(64, n);+ accept = true;+ }+ if(accept) {+ r = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, cp, r);+ cp = 0+ n = 0;+ } else {+ n++;+ }+ accept = false;+ i--;+ }+ return r;+}+function h$toHsList(arr) {+ var r = h$ghczmprimZCGHCziTypesziZMZN;+ for(var i=arr.length-1;i>=0;i--) {+ r = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, arr[i], r);+ }+ return r;+}+// array of JS values to Haskell list of JSRef+function h$toHsListJSRef(arr) {+ var r = h$ghczmprimZCGHCziTypesziZMZN;+ for(var i=arr.length-1;i>=0;i--) {+ r = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, h$mkJSRef(arr[i]), r);+ }+ return r;+}+// unpack ascii string, append to existing Haskell string+function h$appendToHsStringA(str, appendTo) {+ var i = str.length - 1;+ var r = appendTo;+ while(i>=0) {+ r = h$c2(h$ghczmprimZCGHCziTypesziZC_con_e, str.charCodeAt(i), r);+ --i;+ }+ return r;+}+// throw e wrapped in a GHCJS.Prim.JSException in the current thread+function h$throwJSException(e) {+ // a GHCJS.Prim.JSException+ var jsE = h$c2(h$ghcjszmprimZCGHCJSziPrimziJSException_con_e,e,h$toHsString(e.toString()));+ // wrap it in a SomeException, adding the Exception dictionary+ var someE = h$c2(h$baseZCGHCziExceptionziSomeException_con_e,+ h$ghcjszmprimZCGHCJSziPrimzizdfExceptionJSException, jsE);+ return h$throw(someE, true);+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+/* + Integer and integer-gmp support+ partial GMP emulation++ note: sign behaves different from real gmp sign,+ value is always zero, don't use it for comparisons+*/+var h$bigZero = h$nbv(0);+var h$bigOne = h$nbv(1);+var h$bigCache = [];+(function() {+ for(var i=0;i<=100;i++) {+ h$bigCache.push(h$nbv(i));+ }+})();+// convert a value to a BigInt+function h$bigFromInt(v) {+ ;+ var v0 = v|0;+ if(v0 >= 0) {+ if(v0 <= 100) {+ return h$bigCache[v0];+ } else if(v0 < 268435456) { // 67108864) { // guaranteed to fit in one digit+ return h$nbv(v0);+ }+ var r1 = h$nbv(v0 >>> 16);+ var r2 = h$nbi();+ r1.lShiftTo(16,r2);+ r1.fromInt(v0 & 0xffff);+ var r3 = r1.or(r2);+ ;+ return r3;+ } else {+ v0 = -v0;+ if(v0 < 268435456) { // 67108864) {+ return h$nbv(v0).negate();+ }+ var r1 = h$nbv(v0 >>> 16);+ var r2 = h$nbi();+ r1.lShiftTo(16,r2);+ r1.fromInt(v0 & 0xffff);+ var r3 = r1.or(r2);+ BigInteger.ZERO.subTo(r3,r2);+ ;+ return r2;+ }+}+function h$bigFromWord(v) {+ var v0 = v|0;+ if(v0 >= 0) {+ if(v0 <= 100) {+ return h$bigCache[v0];+ } else if(v0 < 268435456) { // 67108864) { // guaranteed to fit in one digit+ return h$nbv(v0);+ }+ }+ var r1 = h$nbv(v0 >>> 16);+ var r2 = h$nbv(0);+ r1.lShiftTo(16,r2);+ r1.fromInt(v0 & 0xffff);+ return r1.or(r2);+}+function h$bigFromInt64(v1,v2) {+ ;+ var v10 = v1|0;+ var v20 = v2|0;+ var r = new BigInteger([ v10 >> 24, (v10 & 0xff0000) >> 16, (v10 & 0xff00) >> 8, v10 & 0xff+ , v20 >>> 24, (v20 & 0xff0000) >> 16, (v20 & 0xff00) >> 8, v20 & 0xff+ ]);+ ;+ return r;+}+function h$bigFromWord64(v1,v2) {+ ;+ var v10 = v1|0;+ var v20 = v2|0;+ var arr = [ 0, v10 >>> 24, (v10 & 0xff0000) >> 16, (v10 & 0xff00) >> 8, v10 & 0xff+ , v20 >>> 24, (v20 & 0xff0000) >> 16, (v20 & 0xff00) >> 8, v20 & 0xff+ ];+ ;+ var r = new BigInteger([ 0, v10 >>> 24, (v10 & 0xff0000) >> 16, (v10 & 0xff00) >> 8, v10 & 0xff+ , v20 >>> 24, (v20 & 0xff0000) >> 16, (v20 & 0xff00) >> 8, v20 & 0xff+ ]);+ ;+ return r;+}+function h$bigFromNumber(n) {+ var ra = [];+ var s = 0;+ if(n < 0) {+ n = -n;+ s = -1;+ }+ var b = 1;+ while(n >= b) {+ ra.unshift((n/b)&0xff);+ b *= 256;+ }+ ra.unshift(s);+ return new BigInteger(ra);+}+function h$encodeNumber(big,e) {+ var m = Math.pow(2,e);+ if(m === Infinity) {+ switch(big.signum()) {+ case 1: return Infinity;+ case 0: return 0;+ default: return -Infinity;+ }+ }+ var b = big.toByteArray();+ var l = b.length;+ var r = 0;+ ;+ for(var i=l-1;i>=1;i--) {+ ;+ r += m * Math.pow(2,(l-i-1)*8) * (b[i] & 0xff);+ ;+ }+ // last one signed+ if(b[0] != 0) {+ r += m * Math.pow(2,(l-1)*8) * b[0];+ }+ ;+ return r;+}+function h$integer_cmm_cmpIntegerzh(sa, abits, sb, bbits) {+ ;+ var c = abits.compareTo(bbits);+ return c == 0 ? 0 : c > 0 ? 1 : -1;+}+function h$integer_cmm_cmpIntegerIntzh(sa, abits, b) {+ ;+ var c = abits.compareTo(h$bigFromInt(b));+ return c == 0 ? 0 : c > 0 ? 1 : -1;+}+function h$integer_cmm_plusIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.add(bbits);+}+function h$integer_cmm_plusIntegerIntzh(sa, abits, b) {+ ;+ return abits.add(h$bigFromInt(b));+}+function h$integer_cmm_minusIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.subtract(bbits);+}+function h$integer_cmm_minusIntegerIntzh(sa, abits, b) {+ ;+ return abits.subtract(h$bigFromInt(b));+}+function h$integer_cmm_timesIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.multiply(bbits);+}+function h$integer_cmm_timesIntegerIntzh(sa, abits, b) {+ ;+ return abits.multiply(h$bigFromInt(b));+}+// fixme make more efficient, divideRemainder+function h$integer_cmm_quotRemIntegerzh(sa, abits, sb, bbits) {+ ;+ var q = abits.divide(bbits);+ ;+ var r = abits.subtract(q.multiply(bbits));+ ;+ h$ret1 = r;+ return q;+}+function h$integer_cmm_quotRemIntegerWordzh(sa, abits, b) {+ var bbits = h$bigFromWord(b);+ ;+ var q = abits.divide(bbits);+ h$ret1 = abits.subtract(q.multiply(bbits));+ return q;+}+function h$integer_cmm_quotIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.divide(bbits);+}+function h$integer_cmm_quotIntegerWordzh(sa, abits, b) {+ ;+ return abits.divide(h$bigFromWord(b));+}+function h$integer_cmm_remIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.subtract(bbits.multiply(abits.divide(bbits)));+}+function h$integer_cmm_remIntegerWordzh(sa, abits, b) {+ ;+ var bbits = h$bigFromWord(b);+ return abits.subtract(bbits.multiply(abits.divide(bbits)));+}+function h$integer_cmm_divModIntegerzh(sa, abits, sb, bbits) {+ ;+ var d = abits.divide(bbits);+ var m = abits.subtract(d.multiply(bbits));+ if(abits.signum()!==bbits.signum() && m.signum() !== 0) {+ d = d.subtract(h$bigOne);+ m.addTo(bbits, m);+ }+ h$ret1 = m;+ return d;+}+function h$integer_cmm_divModIntegerWordzh(sa, abits, b) {+ ;+ return h$integer_cmm_divModIntegerzh(sa, abits, 0, h$bigFromWord(b));+}+function h$integer_cmm_divIntegerzh(sa, abits, sb, bbits) {+ ;+ var d = abits.divide(bbits);+ var m = abits.subtract(d.multiply(bbits));+ if(abits.signum()!==bbits.signum() && m.signum() !== 0) {+ d = d.subtract(h$bigOne);+ }+ return d;+}+function h$integer_cmm_divIntegerWordzh(sa, abits, b) {+ ;+ return h$integer_cmm_divIntegerzh(sa, abits, 0, h$bigFromWord(b));+}+function h$integer_cmm_modIntegerzh(sa, abits, sb, bbits) {+ ;+ var d = abits.divide(bbits);+ var m = abits.subtract(d.multiply(bbits));+ if(abits.signum()!==bbits.signum() && m.signum() !== 0) {+ m.addTo(bbits, m);+ }+ return m;+}+function h$integer_cmm_modIntegerWordzh(sa, abits, b) {+ ;+ return h$integer_cmm_modIntegerzh(sa, abits, 0, h$bigFromWord(b));+}+function h$integer_cmm_divExactIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.divide(bbits);+}+function h$integer_cmm_divExactIntegerWordzh(sa, abits, b) {+ ;+ return abits.divide(h$bigFromWord(b));+}+function h$gcd(a, b) {+ var x = a.abs();+ var y = b.abs();+ var big, small;+ if(x.compareTo(y) < 0) {+ small = x;+ big = y;+ } else {+ small = y;+ big = x;+ }+ while(small.signum() !== 0) {+ var q = big.divide(small);+ var r = big.subtract(q.multiply(small));+ big = small;+ small = r;+ }+ return big;+}+function h$integer_cmm_gcdIntegerzh(sa, abits, sb, bbits) {+ ;+ return h$gcd(abits, bbits);+}+function h$integer_cmm_gcdIntegerIntzh(sa, abits, b) {+ ;+ var r = h$gcd(abits, h$bigFromInt(b));+ return r.intValue();+}+function h$integer_cmm_gcdIntzh(a, b) {+ var x = a<0 ? -a : a;+ var y = b<0 ? -b : b;+ var big, small;+ if(x<y) {+ small = x;+ big = y;+ } else {+ small = y;+ big = x;+ }+ while(small!==0) {+ var r = big % small;+ big = small;+ small = r;+ }+ return big;+}+function h$integer_cmm_powIntegerzh(sa, abits, b) {+ ;+ if(b >= 0) {+ return abits.pow(b);+ } else {+ return abits.pow(b + 2147483648);+ }+}+// (a ^ b) % c+function h$integer_cmm_powModIntegerzh(sa, abits, sb, bbits, sc, cbits) {+ ;+ return abits.modPow(bbits, cbits);+}+// warning, there is no protection against side-channel attacks here+function h$integer_cmm_powModSecIntegerzh(sa, abits, sb, bbits, sc, cbits) {+ ;+ return h$integer_cmm_powModIntegerzh(sa, abits, sb, bbits, sc, cbits);+}+function h$integer_cmm_recipModIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.modInverse(bbits);+}+function h$integer_cmm_nextPrimeIntegerzh(sa, abits) {+ ;+ var n = abits.add(BigInteger.ONE);+ while(true) {+ if(n.isProbablePrime(50)) return n;+ n.addTo(BigInteger.ONE, n);+ }+}+function h$integer_cmm_testPrimeIntegerzh(sa, abits, b) {+ ;+ return abits.isProbablePrime(b) ? 1 : 0;+}+function h$integer_cmm_sizeInBasezh(sa, abits, b) {+ ;+ return Math.ceil(abits.bitLength() * Math.log(2) / Math.log(b));+}+var h$oneOverLog2 = 1 / Math.log(2);+function h$integer_cmm_decodeDoublezh(x) {+ ;+ var sgn = h$decodeDouble2Int(x);+ var b = h$bigFromInt(h$ret1).shiftLeft(32).add(h$bigFromWord(h$ret2));+ h$ret1 = (!isNaN(x) && sgn < 0) ? b.negate() : b;+ ;+ return h$ret3; // exponent+}+function h$integer_cmm_decodeDoublezhFallback(x) {+ ;+ if(isNaN(x)) {+ h$ret1 = h$bigFromInt(3).shiftLeft(51).negate();+ return 972;+ }+ if( x < 0 ) {+ var result = h$integer_cmm_decodeDoublezh(-x);+ h$ret1 = h$ret1.negate();+ return result;+ }+ if(x === Number.POSITIVE_INFINITY) {+ h$ret1 = h$bigOne.shiftLeft(52);+ return 972;+ }+ var exponent = (Math.floor(Math.log(x) * h$oneOverLog2)-52)|0;+ var n;+ // prevent overflow+ if(exponent < -1000) {+ n = x * Math.pow(2,-exponent-128) * Math.pow(2,128);+ } else if(exponent > 900) {+ n = x * Math.pow(2,-exponent+128) * Math.pow(2,-128);+ } else {+ n = x * Math.pow(2,-exponent);+ }+ // fixup precision, do we also need the other way (exponent++) ?+ if(Math.abs(n - Math.floor(n) - 0.5) < 0.0001) {+ exponent--;+ n *= 2;+ }+ h$ret1 = h$bigFromNumber(n);+ ;+ return exponent;+}+function h$integer_cmm_int2Integerzh(i) {+ ;+ h$ret1 = h$bigFromInt(i);+ return 0;+}+function h$integer_cmm_word2Integerzh(i) {+ ;+ h$ret1 = h$bigFromWord(i);+ return 0;+}+function h$integer_cmm_andIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.and(bbits);+}+function h$integer_cmm_orIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.or(bbits);+}+function h$integer_cmm_xorIntegerzh(sa, abits, sb, bbits) {+ ;+ return abits.xor(bbits);+}+function h$integer_cmm_testBitIntegerzh(sa, abits, bit) {+ return abits.testBit(bit)?1:0;+}+function h$integer_cmm_mul2ExpIntegerzh(sa, abits, b) {+ ;+ return abits.shiftLeft(b);+}+function h$integer_cmm_fdivQ2ExpIntegerzh(sa, abits, b) {+ ;+ return abits.shiftRight(b);+}+function h$integer_cmm_complementIntegerzh(sa, abits) {+ ;+ return abits.not();+}+function h$integer_cmm_int64ToIntegerzh(a0, a1) {+ ;+ h$ret1 = h$bigFromInt64(a0,a1);+ return 0;+}+function h$integer_cmm_word64ToIntegerzh(a0, a1) {+ ;+ h$ret1 = h$bigFromWord64(a0,a1);+ return 0;+}+function h$hs_integerToInt64(as, abits) {+ ;+ h$ret1 = abits.intValue();+ return abits.shiftRight(32).intValue();+}+function h$hs_integerToWord64(as, abits) {+ ;+ h$ret1 = abits.intValue();+ return abits.shiftRight(32).intValue();+}+function h$integer_cmm_integer2Intzh(as, abits) {+ ;+ return abits.intValue();+}+function h$integer_cbits_encodeDouble(as,abits,e) {+ ;+ return h$encodeNumber(abits,e);+}+function h$integer_cbits_encodeFloat(as,abits,e) {+ ;+ return h$encodeNumber(abits,e);+}+function h$__int_encodeDouble(i,e) {+ return i * Math.pow(2,e);+}+function h$__int_encodeFloat(i,e) {+ return i * Math.pow(2,e);+}+var h$integer_clz32 = Math.clz32 || function(x) {+ if (x < 0) return 0;+ if (x === 0) return 32;+ return 31 - ((Math.log(x) / Math.LN2) | 0);+}+function h$integer_wordLog2(w) {+ ;+ return 31 - h$integer_clz32(w);+}+function h$integer_integerLog2(i) {+ ;+ return i.bitLength()-1;+}+function h$integer_integerLog2IsPowerOf2(i) {+ ;+ var b = i.bitLength();+ h$ret1 = (b === 0 || i.getLowestSetBit() !== b) ? 1 : 0;+ ;+ return b-1;+}+function h$integer_intLog2IsPowerOf2(i) {+ ;+ var l = 31 - h$integer_clz32(i);+ h$ret1 = (i !== (1 << l)) ? 1 : 0;+ ;+ return l;+}+function h$integer_roundingMode(i,j) {+ ;+ return 1; // round to even, is that correct?+}+function h$integer_mkBigInt(i) {+ return h$c2(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 0, i);+}+function h$integer_mkSmallInt(i) {+ return h$c1(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, i);+}+function h$integer_smartJ(i) {+ ;+ if(i.bitLength() >= 32) return h$integer_mkBigInt(i);+ return h$integer_mkSmallInt(i.intValue()|0)+}+function h$integer_mpzToInteger(i) {+ ;+ if(typeof i === 'number') return h$integer_mkSmallInt(i);+ return h$integer_smartJ(i);+}+var h$integer_negTwoThirtyOne = h$integer_mkBigInt(h$bigFromInt(-2147483648).negate());+function h$integer_mpzNeg(i) {+ ;+ if(typeof i === 'number') {+ return (i === -2147483648) ? h$integer_negTwoThirtyOne : -i;+ }+ return i.negate();+}+function h$integer_absInteger(i) {+ ;+ return i.abs();+}+function h$integer_negateInteger(i) {+ ;+ return i.negate();+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// set up debug logging for the current JS environment/engine+// browser also logs to <div id="output"> if jquery is detected+// the various debug tracing options use h$log+var h$glbl;+function h$getGlbl() { h$glbl = this; }+h$getGlbl();+function h$log() {+ if(h$glbl) {+ if(h$glbl.console && h$glbl.console.log) {+ h$glbl.console.log.apply(h$glbl.console,arguments);+ } else {+ h$glbl.print.apply(this,arguments);+ }+ } else {+ if(typeof console !== 'undefined') {+ console.log.apply(console, arguments);+ } else if(typeof print !== 'undefined') {+ print.apply(null, arguments);+ }+ }+}+function h$collectProps(o) {+ var props = [];+ for(var p in o) { props.push(p); }+ return("{"+props.join(",")+"}");+}+// load the command line arguments in h$programArgs+// the first element is the program name+var h$programArgs;+if(h$isNode) {+ h$programArgs = process.argv.slice(1);+} else if(h$isJsShell && typeof h$getGlobal(this).scriptArgs !== 'undefined') {+ h$programArgs = h$getGlobal(this).scriptArgs.slice(0);+ h$programArgs.unshift("a.js");+} else if((h$isJsShell || h$isJsCore) && typeof h$getGlobal(this).arguments !== 'undefined') {+ h$programArgs = h$getGlobal(this).arguments.slice(0);+ h$programArgs.unshift("a.js");+} else {+ h$programArgs = [ "a.js" ];+}+function h$getProgArgv(argc_v,argc_off,argv_v,argv_off) {+ ;+ var c = h$programArgs.length;+ if(c === 0) {+ argc_v.dv.setInt32(argc_off, 0, true);+ } else {+ argc_v.dv.setInt32(argc_off, c, true);+ var argv = h$newByteArray(4*c);+ argv.arr = [];+ for(var i=0;i<h$programArgs.length;i++) {+ argv.arr[4*i] = [ h$encodeUtf8(h$programArgs[i]), 0 ];+ }+ if(!argv_v.arr) { argv_v.arr = []; }+ argv_v.arr[argv_off] = [argv, 0];+ }+}+function h$setProgArgv(n, ptr_d, ptr_o) {+ args = [];+ for(var i=0;i<n;i++) {+ var p = ptr_d.arr[ptr_o+4*i];+ var arg = h$decodeUtf8z(p[0], p[1]);+ args.push(arg);+ }+ h$programArgs = args;+}+function h$getpid() {+ if(h$isNode) return process.id;+ return 0;+}+function h$__hscore_environ() {+ ;+ h$ret1 = 0;+ if(h$isNode) {+ var env = [], i;+ for(i in process.env) env.push(i + '=' + process.env[i]);+ if(env.length === 0) return null;+ var p = h$newByteArray(4*env.length+1);+ p.arr = [];+ for(i=0;i<env.length;i++) p.arr[4*i] = [h$encodeUtf8(env[i]), 0];+ p.arr[4*env.length] = [null, 0];+ return p;+ }+ return null;+}+function h$getenv(name, name_off) {+ ;+ h$ret1 = 0;+ if(h$isNode) {+ var n = h$decodeUtf8z(name, name_off);+ if(typeof process.env[n] !== 'undefined')+ return h$encodeUtf8(process.env[n]);+ }+ return null;+}+function h$errorBelch() {+ h$log("### errorBelch: do we need to handle a vararg function here?");+}+function h$errorBelch2(buf1, buf_offset1, buf2, buf_offset2) {+// log("### errorBelch2");+ h$errorMsg(h$decodeUtf8z(buf1, buf_offset1), h$decodeUtf8z(buf2, buf_offset2));+}+function h$debugBelch2(buf1, buf_offset1, buf2, buf_offset2) {+ h$errorMsg(h$decodeUtf8z(buf1, buf_offset1), h$decodeUtf8z(buf2, buf_offset2));+}+function h$errorMsg(pat) {+ function stripTrailingNewline(xs) {+ return xs.replace(/\r?\n$/, "");+ }+ // poor man's vprintf+ var str = pat;+ for(var i=1;i<arguments.length;i++) {+ str = str.replace(/%s/, arguments[i]);+ }+ if(h$isNode) {+ process.stderr.write(str);+ } else if (h$isJsShell && typeof printErr !== 'undefined') {+ if(str.length) printErr(stripTrailingNewline(str));+ } else if (h$isJsShell && typeof putstr !== 'undefined') {+ putstr(str);+ } else if (h$isJsCore) {+ if(str.length) {+ if(h$base_stderrLeftover.val !== null) {+ debug(h$base_stderrLeftover.val + stripTrailingNewline(str));+ h$base_stderrLeftover.val = null;+ } else {+ debug(stripTrailingNewline(str));+ }+ }+ } else {+ if(typeof console !== 'undefined') {+ console.log(str);+ }+ }+}+// this needs to be imported with foreign import ccall safe/interruptible+function h$performMajorGC() {+ // save current thread state so we can enter the GC+ var t = h$currentThread, err = null;+ t.sp = h$sp;+ h$currentThread = null;+ try {+ h$gc(t);+ } catch(e) {+ err = e;+ }+ // restore thread state+ h$currentThread = t;+ h$sp = t.sp;+ h$stack = t.stack;+ if(err) throw err;+}+function h$baseZCSystemziCPUTimeZCgetrusage() {+ return 0;+}+function h$getrusage() {+ return 0;+}+// fixme need to fix these struct locations+function h$gettimeofday(tv_v,tv_o,tz_v,tz_o) {+ var now = Date.now();+ tv_v.dv.setInt32(tv_o, (now / 1000)|0, true);+ tv_v.dv.setInt32(tv_o + 4, ((now % 1000) * 1000)|0, true);+ if(tv_v.len >= tv_o + 12) {+ tv_v.dv.setInt32(tv_o + 8, ((now % 1000) * 1000)|0, true);+ }+ return 0;+}+function h$traceEvent(ev_v,ev_o) {+ h$errorMsg(h$decodeUtf8z(ev_v, ev_o));+}+function h$traceMarker(ev_v,ev_o) {+ h$errorMsg(h$decodeUtf8z(ev_v, ev_o));+}+var h$__hscore_gettimeofday = h$gettimeofday;+var h$myTimeZone = h$encodeUtf8("UTC");+function h$localtime_r(timep_v, timep_o, result_v, result_o) {+ var t = timep_v.i3[timep_o];+ var d = new Date(t * 1000);+ result_v.dv.setInt32(result_o , d.getSeconds(), true);+ result_v.dv.setInt32(result_o + 4 , d.getMinutes(), true);+ result_v.dv.setInt32(result_o + 8 , d.getHours(), true);+ result_v.dv.setInt32(result_o + 12, d.getDate(), true);+ result_v.dv.setInt32(result_o + 16, d.getMonth(), true);+ result_v.dv.setInt32(result_o + 20, d.getFullYear()-1900, true);+ result_v.dv.setInt32(result_o + 24, d.getDay(), true);+ result_v.dv.setInt32(result_o + 28, 0, true); // fixme yday 1-365 (366?)+ result_v.dv.setInt32(result_o + 32, -1, true); // dst information unknown+ result_v.dv.setInt32(result_o + 40, 0, true); // gmtoff?+ if(!result_v.arr) result_v.arr = [];+ result_v.arr[result_o + 40] = [h$myTimeZone, 0];+ result_v.arr[result_o + 48] = [h$myTimeZone, 0];+ h$ret1 = result_o;+ return result_v;+}+var h$__hscore_localtime_r = h$localtime_r;+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// some Enum conversion things+// an array of generic enums+var h$enums = [];+function h$initEnums() {+ for(var i=0;i<256;i++) {+ h$enums[i] = h$makeEnum(i);+ }+}+h$initStatic.push(h$initEnums);+function h$makeEnum(tag) {+ var f = function() {+ return h$stack[h$sp];+ }+ h$setObjInfo(f, 2, "Enum", [], tag+1, 0, [1], null);+ return h$c0(f);+}+// used for all non-Bool enums+function h$tagToEnum(tag) {+ if(tag >= h$enums.length) {+ return h$makeEnum(tag);+ } else {+ return h$enums[tag];+ }+}+function h$dataTag(e) {+ return (e===true)?1:((typeof e !== 'object')?0:(e.f.a-1));+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// weak reference support+// contains all pending finalizers+var h$finalizers = new h$Set();+// filled at scan time, weak refs with possible work to do+var h$scannedWeaks = [];+// called by the GC after marking the heap+function h$finalizeWeaks() {+ var mark = h$gcMark;+ ;+ var i, w, toFinalize = [];+ var iter = h$finalizers.iter();+ while((w = iter.next()) !== null) {+ ;+ ;+ if((w.m.m&3) !== mark) {+ iter.remove();+ toFinalize.push(w);+ ;+ }+ }+ ;+ // start a finalizer thread if any finalizers need to be run+ if(toFinalize.length > 0) {+ var t = new h$Thread();+ for(i=0;i<toFinalize.length;i++) {+ w = toFinalize[i];+ t.sp += 6;+ t.stack[t.sp-5] = 0; // mask+ t.stack[t.sp-4] = h$noop; // handler, dummy+ t.stack[t.sp-3] = h$catch_e;+ t.stack[t.sp-2] = h$ap_1_0;+ t.stack[t.sp-1] = w.finalizer;+ t.stack[t.sp] = h$return;+ w.finalizer = null;+ }+ h$wakeupThread(t);+ }+ return toFinalize;+}+// clear references for reachable weak refs with unreachable keys+function h$clearWeaks() {+ var mark = h$gcMark;+ ;+ for(var i=h$scannedWeaks.length-1;i>=0;i--) {+ var w = h$scannedWeaks[i];+ if(w.keym.m !== mark && w.val !== null) {+ ;+ w.val = null;+ }+ }+}+var h$weakFinalizerN = 0;+/** @constructor */+function h$Weak(key, val, finalizer) {+ if(typeof key !== 'object') {+ // can't attach a StableName to objects with unboxed storage+ // our weak ref will be finalized soon.+ ;+ this.keym = new h$StableName(0);+ } else {+ if(typeof key.m !== 'object') key.m = new h$StableName(key.m);+ this.keym = key.m;+ }+ ;+ this.keym = key.m;+ this.val = val;+ this.finalizer = null;+ if(finalizer !== null) {+ var fin = { m: this.keym, finalizer: finalizer, _key: ++h$weakFinalizerN };+ h$finalizers.add(fin);+ this.finalizer = fin;+ }+ this.m = 0;+// h$scannedWeaks.push(this); // fixme debug+}+function h$makeWeak(key, val, fin) {+ ;+ return new h$Weak(key, val, fin)+}+function h$makeWeakNoFinalizer(key, val) {+ ;+ return new h$Weak(key, val, null);+}+function h$finalizeWeak(w) {+ ;+ w.val = null;+ if(w.finalizer === null || w.finalizer.finalizer === null) {+ h$ret1 = 0;+ return null;+ } else {+ var r = w.finalizer.finalizer;+ h$finalizers.remove(w.finalizer);+ w.finalizer = null;+ h$ret1 = 1;+ return r;+ }+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// preemptive threading support+// run gc when this much time has passed (ms)+// preempt threads after the scheduling quantum (ms)+// check sched quantum after 10*GHCJS_SCHED_CHECK calls+// yield to js after running haskell for GHCJS_BUSY_YIELD ms+// thread status+var h$threadRunning = 0;+var h$threadBlocked = 1;+var h$threadFinished = 16;+var h$threadDied = 17;+var h$threadIdN = 0;+// all threads except h$currentThread+// that are not finished/died can be found here+var h$threads = new h$Queue();+var h$blocked = new h$Set();+/** @constructor */+function h$Thread() {+ this.tid = ++h$threadIdN;+ this.status = h$threadRunning;+ this.stack = [h$done, 0, h$baseZCGHCziConcziSynczireportError, h$catch_e];+ this.sp = 3;+ this.mask = 0; // async exceptions masked (0 unmasked, 1: uninterruptible, 2: interruptible)+ this.interruptible = false; // currently in an interruptible operation+ this.excep = []; // async exceptions waiting for unmask of this thread+ this.delayed = false; // waiting for threadDelay+ this.blockedOn = null; // object on which thread is blocked+ this.retryInterrupted = null; // how to retry blocking operation when interrupted+ this.transaction = null; // for STM+ this.isSynchronous = false;+ this.continueAsync = false;+ this.m = 0; // gc mark+ this._key = this.tid; // for storing in h$Set / h$Map+}+function h$rts_getThreadId(t) {+ return t.tid;+}+function h$cmp_thread(t1,t2) {+ if(t1.tid < t2.tid) return -1;+ if(t1.tid > t2.tid) return 1;+ return 0;+}+// description of the thread, if unlabeled then just the thread id+function h$threadString(t) {+ if(t === null) {+ return "<no thread>";+ } else if(t.label) {+ var str = h$decodeUtf8z(t.label[0], t.label[1]);+ return str + " (" + t.tid + ")";+ } else {+ return (""+t.tid);+ }+}+function h$fork(a, inherit) {+ var t = new h$Thread();+ ;+ if(inherit && h$currentThread) {+ t.mask = h$currentThread.mask;+ }+ // TRACE_SCHEDULER("sched: action forked: " + a.f.n);+ t.stack[4] = h$ap_1_0;+ t.stack[5] = a;+ t.stack[6] = h$return;+ t.sp = 6;+ h$wakeupThread(t);+ return t;+}+function h$threadStatus(t) {+ h$ret1 = 1; // capability+ h$ret2 = 0; // locked+ return t.status;+}+function h$waitRead(fd) {+ h$fds[fd].waitRead.push(h$currentThread);+ h$currentThread.interruptible = true;+ h$blockThread(h$currentThread,fd,[h$waitRead,fd]);+ return h$reschedule;+}+function h$waitWrite(fd) {+ h$fds[fd].waitWrite.push(h$currentThread);+ h$currentThread.interruptible = true;+ h$blockThread(h$currentThread,fd,[h$waitWrite,fd]);+ return h$reschedule;+}+// threadDelay support:+var h$delayed = new h$HeapSet();+function h$wakeupDelayed(now) {+ while(h$delayed.size() > 0 && h$delayed.peekPrio() < now) {+ var t = h$delayed.pop();+ ;+ // might have been woken up early, don't wake up again in that case+ if(t.delayed) {+ t.delayed = false;+ h$wakeupThread(t);+ }+ }+}+function h$delayThread(time) {+ var now = Date.now();+ var ms = time/1000; // we have no microseconds in JS+ ;+ h$delayed.add(now+ms, h$currentThread);+ h$currentThread.delayed = true;+ h$blockThread(h$currentThread, h$delayed,[h$resumeDelayThread]);+ return h$reschedule;+}+function h$resumeDelayThread() {+ h$r1 = false;+ return h$stack[h$sp];+}+function h$yield() {+ h$sp += 2;+ h$stack[h$sp-1] = h$r1;+ h$stack[h$sp] = h$return;+ h$currentThread.sp = h$sp;+ return h$reschedule;+}+// raise the async exception in the thread if not masked+function h$killThread(t, ex) {+ ;+ if(t === h$currentThread) {+ // if target is self, then throw even if masked+ h$sp += 2;+ h$stack[h$sp-1] = h$r1;+ h$stack[h$sp] = h$return;+ return h$throw(ex,true);+ } else {+ ;+ if(t.mask === 0 || (t.mask === 2 && t.interruptible)) {+ if(t.stack) { // finished threads don't have a stack anymore+ h$forceWakeupThread(t);+ t.sp += 2;+ t.stack[t.sp-1] = ex;+ t.stack[t.sp] = h$raiseAsync_frame;+ }+ return h$stack ? h$stack[h$sp] : null;+ } else {+ t.excep.push([h$currentThread,ex]);+ h$blockThread(h$currentThread,t,null);+ h$currentThread.interruptible = true;+ h$sp += 2;+ h$stack[h$sp-1] = h$r1;+ h$stack[h$sp] = h$return;+ return h$reschedule;+ }+ }+}+function h$maskStatus() {+ ;+ return h$currentThread.mask;+}+function h$maskAsync(a) {+ ;+ if(h$currentThread.mask !== 2) {+ if(h$currentThread.mask === 0 && h$stack[h$sp] !== h$maskFrame && h$stack[h$sp] !== h$maskUnintFrame) {+ h$stack[++h$sp] = h$unmaskFrame;+ }+ if(h$currentThread.mask === 1) {+ h$stack[++h$sp] = h$maskUnintFrame;+ }+ h$currentThread.mask = 2;+ }+ h$r1 = a;+ return h$ap_1_0_fast();+}+function h$maskUnintAsync(a) {+ ;+ if(h$currentThread.mask !== 1) {+ if(h$currentThread.mask === 2) {+ h$stack[++h$sp] = h$maskFrame;+ } else {+ h$stack[++h$sp] = h$unmaskFrame;+ }+ h$currentThread.mask = 1;+ }+ h$r1 = a;+ return h$ap_1_0_fast();+}+function h$unmaskAsync(a) {+ ;+ if(h$currentThread.excep.length > 0) {+ h$currentThread.mask = 0;+ h$sp += 3;+ h$stack[h$sp-2] = h$ap_1_0;+ h$stack[h$sp-1] = a;+ h$stack[h$sp] = h$return;+ return h$reschedule;+ }+ if(h$currentThread.mask !== 0) {+ if(h$stack[h$sp] !== h$unmaskFrame) {+ if(h$currentThread.mask === 2) {+ h$stack[++h$sp] = h$maskFrame;+ } else {+ h$stack[++h$sp] = h$maskUnintFrame;+ }+ }+ h$currentThread.mask = 0;+ }+ h$r1 = a;+ return h$ap_1_0_fast();+}+function h$pendingAsync() {+ var t = h$currentThread;+ return (t.excep.length > 0 && (t.mask === 0 || (t.mask === 2 && t.interruptible)));+}+// post the first of the queued async exceptions to+// this thread, restore frame is in thread if alreadySuspended+function h$postAsync(alreadySuspended,next) {+ var t = h$currentThread;+ var v = t.excep.shift();+ ;+ var tposter = v[0]; // posting thread, blocked+ var ex = v[1]; // the exception+ if(v !== null && tposter !== null) {+ h$wakeupThread(tposter);+ }+ if(!alreadySuspended) {+ h$suspendCurrentThread(next);+ }+ h$sp += 2;+ h$stack[h$sp-1] = ex;+ h$stack[h$sp] = h$raiseAsync_frame;+ t.sp = h$sp;+}+// wakeup thread, thread has already been removed+// from any queues it was blocked on+function h$wakeupThread(t) {+ ;+ if(t.status === h$threadBlocked) {+ t.blockedOn = null;+ t.status = h$threadRunning;+ h$blocked.remove(t);+ }+ t.interruptible = false;+ t.retryInterrupted = null;+ h$threads.enqueue(t);+ h$startMainLoop();+}+// force wakeup, remove this thread from any+// queue it's blocked on+function h$forceWakeupThread(t) {+ ;+ if(t.status === h$threadBlocked) {+ h$removeThreadBlock(t);+ h$wakeupThread(t);+ }+}+function h$removeThreadBlock(t) {+ if(t.status === h$threadBlocked) {+ var o = t.blockedOn;+ if(o === null || o === undefined) {+ throw ("h$removeThreadBlock: blocked on null or undefined: " + h$threadString(t));+ } else if(o === h$delayed) {+ // thread delayed+ h$delayed.remove(t);+ t.delayed = false;+ } else if(o instanceof h$MVar) {+ ;+ ;+ // fixme this is rather inefficient+ var r, rq = new h$Queue();+ while((r = o.readers.dequeue()) !== null) {+ if(r !== t) rq.enqueue(r);+ }+ var w, wq = new h$Queue();+ while ((w = o.writers.dequeue()) !== null) {+ if(w[0] !== t) wq.enqueue(w);+ }+ o.readers = rq;+ o.writers = wq;+ ;+/* } else if(o instanceof h$Fd) {+ TRACE_SCHEDULER("blocked on fd");+ h$removeFromArray(o.waitRead,t);+ h$removeFromArray(o.waitWrite,t); */+ } else if(o instanceof h$Thread) {+ ;+ // set thread (first in pair) to null, exception will still be delivered+ // but this thread not woken up again+ // fixme: are these the correct semantics?+ for(var i=0;i<o.excep.length;i++) {+ if(o.excep[i][0] === t) {+ o.excep[i][0] = null;+ break;+ }+ }+ } else if (o instanceof h$TVarsWaiting) {+ h$stmRemoveBlockedThread(o, t)+ } else if(o.f && o.f.t === h$BLACKHOLE_CLOSURE) {+ ;+ h$removeFromArray(o.d2,t);+ } else {+ throw ("h$removeThreadBlock: blocked on unknown object: " + h$collectProps(o));+ }+ if(t.retryInterrupted) {+ t.sp+=2;+ t.stack[t.sp-1] = t.retryInterrupted;+ t.stack[t.sp] = h$retryInterrupted;+ }+ }+}+function h$removeFromArray(a,o) {+ var i;+ while((i = a.indexOf(o)) !== -1) {+ a.splice(i,1);+ }+}+function h$finishThread(t) {+ ;+ t.status = h$threadFinished;+ h$blocked.remove(t);+ t.stack = null;+ t.mask = 0;+ for(var i=0;i<t.excep.length;i++) {+ var v = t.excep[i];+ var tposter = v[0];+ if(v !== null && tposter !== null) {+ h$wakeupThread(tposter);+ }+ }+ t.excep = [];+}+function h$blockThread(t,o,resume) {+ ;+ if(o === undefined || o === null) {+ throw ("h$blockThread, no block object: " + h$threadString(t));+ }+ t.status = h$threadBlocked;+ t.blockedOn = o;+ t.retryInterrupted = resume;+ t.sp = h$sp;+ h$blocked.add(t);+}+// the main scheduler, called from h$mainLoop+// returns null if nothing to do, otherwise+// the next function to run+var h$lastGc = Date.now();+var h$gcInterval = 1000; // ms+function h$scheduler(next) {+ ;+ var now = Date.now();+ h$wakeupDelayed(now);+ // find the next runnable thread in the run queue+ // remove non-runnable threads+ if(h$currentThread && h$pendingAsync()) {+ ;+ if(h$currentThread.status !== h$threadRunning) {+ h$forceWakeupThread(h$currentThread);+ h$currentThread.status = h$threadRunning;+ }+ h$postAsync(next === h$reschedule, next);+ return h$stack[h$sp];+ }+ var t;+ while(t = h$threads.dequeue()) {+ if(t.status === h$threadRunning) { break; }+ }+ // if no other runnable threads, just continue current (if runnable)+ if(t === null) {+ ;+ if(h$currentThread && h$currentThread.status === h$threadRunning) {+ // do gc after a while+ if(now - h$lastGc > h$gcInterval) {+ // save active data for the thread on its stack+ if(next !== h$reschedule && next !== null) {+ h$suspendCurrentThread(next);+ next = h$stack[h$sp];+ }+ var ct = h$currentThread;+ h$currentThread = null;+ h$gc(ct);+ h$currentThread = ct;+ // gc might replace the stack of a thread, so reload it+ h$stack = h$currentThread.stack;+ h$sp = h$currentThread.sp+ }+ ;+ return (next===h$reschedule || next === null)?h$stack[h$sp]:next; // just continue+ } else {+ ;+ h$currentThread = null;+ // We could set a timer here so we do a gc even if Haskell pauses for a long time.+ // However, currently this isn't necessary because h$mainLoop always sets a timer+ // before it pauses.+ if(now - h$lastGc > h$gcInterval)+ h$gc(null);+ return null; // pause the haskell runner+ }+ } else { // runnable thread in t, switch to it+ ;+ if(h$currentThread !== null) {+ if(h$currentThread.status === h$threadRunning) {+ h$threads.enqueue(h$currentThread);+ }+ // if h$reschedule called, thread takes care of suspend+ if(next !== h$reschedule && next !== null) {+ ;+ // suspend thread: push h$restoreThread stack frame+ h$suspendCurrentThread(next);+ } else {+ ;+ h$currentThread.sp = h$sp;+ }+ if(h$pendingAsync()) h$postAsync(true, next);+ } else {+ ;+ }+ // gc if needed+ if(now - h$lastGc > h$gcInterval) {+ h$currentThread = null;+ h$gc(t);+ }+ // schedule new one+ h$currentThread = t;+ h$stack = t.stack;+ h$sp = t.sp;+ ;+ // TRACE_SCHEDULER("sp thing: " + h$stack[h$sp].n);+ // h$dumpStackTop(h$stack,0,h$sp);+ return h$stack[h$sp];+ }+}+function h$scheduleMainLoop() {+ ;+ if(h$mainLoopImmediate) return;+ h$clearScheduleMainLoop();+ if(h$delayed.size() === 0) {+ if(typeof setTimeout !== 'undefined') {+ ;+ h$mainLoopTimeout = setTimeout(h$mainLoop, h$gcInterval);+ }+ return;+ }+ var now = Date.now();+ var delay = Math.min(Math.max(h$delayed.peekPrio()-now, 0), h$gcInterval);+ if(typeof setTimeout !== 'undefined') {+ if(delay >= 1) {+ ;+ // node.js 0.10.30 has trouble with non-integral delays+ h$mainLoopTimeout = setTimeout(h$mainLoop, Math.round(delay));+ } else {+ h$mainLoopImmediate = setImmediate(h$mainLoop);+ }+ }+}+var h$animationFrameMainLoop = false;+function h$clearScheduleMainLoop() {+ if(h$mainLoopTimeout) {+ clearTimeout(h$mainLoopTimeout);+ h$mainLoopTimeout = null;+ }+ if(h$mainLoopImmediate) {+ clearImmediate(h$mainLoopImmediate);+ h$mainLoopImmediate = null;+ }+ if(h$mainLoopFrame) {+ cancelAnimationFrame(h$mainLoopFrame);+ h$mainLoopFrame = null;+ }+}+function h$startMainLoop() {+ ;+ if(h$running) return;+ if(typeof setTimeout !== 'undefined') {+ if(!h$mainLoopImmediate) {+ h$clearScheduleMainLoop();+ h$mainLoopImmediate = setImmediate(h$mainLoop);+ }+ } else {+ while(true) h$mainLoop();+ }+}+var h$busyYield = 500;+var h$schedQuantum = 25;+var h$mainLoopImmediate = null; // immediate id if main loop has been scheduled immediately+var h$mainLoopTimeout = null; // timeout id if main loop has been scheduled with a timeout+var h$mainLoopFrame = null; // timeout id if main loop has been scheduled with an animation frame+var h$running = false;+var h$next = null;+function h$mainLoop() {+ if(h$running) return;+ h$clearScheduleMainLoop();+ if(h$currentThread) {+ h$scheduleMainLoop();+ return;+ }+ h$running = true;+ h$runInitStatic();+ h$currentThread = h$next;+ if(h$next !== null) {+ h$stack = h$currentThread.stack;+ h$sp = h$currentThread.sp;+ }+ var c = null;+ var count;+ var start = Date.now();+ do {+ c = h$scheduler(c);+ var scheduled = Date.now();+ if(c === null) { // no running threads+ h$next = null;+ h$running = false;+ h$currentThread = null;+ h$scheduleMainLoop();+ return;+ }+ // yield to js after h$busyYield (default value GHCJS_BUSY_YIELD)+ if(Date.now() - start > h$busyYield) {+ ;+ if(c !== h$reschedule) h$suspendCurrentThread(c);+ h$next = h$currentThread;+ h$currentThread = null;+ h$running = false;+ if(h$animationFrameMainLoop) {+ h$mainLoopFrame = requestAnimationFrame(h$mainLoop);+ } else {+ h$mainLoopImmediate = setImmediate(h$mainLoop);+ }+ return;+ }+ // preemptively schedule threads after 10*GHCJS_SCHED_CHECK calls+ // but not before the end of the scheduling quantum+ try {+ while(c !== h$reschedule && Date.now() - scheduled < h$schedQuantum) {+ count = 0;+ while(c !== h$reschedule && ++count < 1000) {+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ }+ }+ } catch(e) {+ // uncaught exception in haskell code, kill thread+ // fixme: would we ever need to remove the thread from queues?+ h$currentThread.status = h$threadDied;+ h$currentThread.stack = null;+ h$currentThread = null;+ c = null;+ if(h$stack && h$stack[0] === h$doneMain) {+ h$stack = null;+ h$reportMainLoopException(e, true);+ h$doneMain();+ return;+ } else {+ h$stack = null;+ h$reportMainLoopException(e, false);+ }+ }+ } while(true);+}+function h$reportMainLoopException(e, isMainThread) {+ var main = isMainThread ? " main" : "";+ h$log("uncaught exception in Haskell" + main + " thread: " + e.toString());+ if(e.stack) h$log(e.stack)+}+// run the supplied IO action in a new thread+// returns immediately, thread is started in background+function h$run(a) {+ ;+ var t = h$fork(a, false);+ h$startMainLoop();+ return t;+}+// try to run the supplied IO action synchronously, running the+// thread to completion, unless it blocks,+// for example by taking an MVar or threadDelay+// returns the thing the thread blocked on, null if the thread ran to completion+// cont :: bool, continue thread asynchronously after h$runSync returns+function h$runSync(a, cont) {+ h$runInitStatic();+ var c = h$return;+ var t = new h$Thread();+ t.isSynchronous = true;+ t.continueAsync = cont;+ var ct = h$currentThread;+ var csp = h$sp;+ var cr1 = h$r1; // do we need to save more than this?+ t.stack[4] = h$ap_1_0;+ t.stack[5] = a;+ t.stack[6] = h$return;+ t.sp = 6;+ t.status = h$threadRunning;+ var excep = null;+ var blockedOn = null;+ h$currentThread = t;+ h$stack = t.stack;+ h$sp = t.sp;+ try {+ while(true) {+ ;+ while(c !== h$reschedule) {+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ }+ ;+ if(t.status === h$threadFinished) {+ ;+ break;+ } else {+ ;+ }+ var b = t.blockedOn;+ if(typeof b === 'object' && b && b.f && b.f.t === h$BLACKHOLE_CLOSURE) {+ var bhThread = b.d1;+ if(bhThread === ct || bhThread === t) { // hit a blackhole from running thread or ourselves+ ;+ c = h$throw(h$baseZCControlziExceptionziBasezinonTermination, false);+ } else { // blackhole from other thread, steal it if thread is running+ // switch to that thread+ if(h$runBlackholeThreadSync(b)) {+ ;+ c = h$stack[h$sp];+ } else {+ ;+ blockedOn = b;+ throw false;+ }+ }+ } else {+ ;+ blockedOn = b;+ throw false;+ }+ }+ } catch(e) { excep = e; }+ if(ct !== null) {+ h$currentThread = ct;+ h$stack = ct.stack;+ h$sp = csp;+ h$r1 = cr1;+ } else {+ h$currentThread = null;+ h$stack = null;+ }+ if(t.status !== h$threadFinished && !cont) {+ h$removeThreadBlock(t);+ h$finishThread(t);+ }+ if(excep) {+ throw excep;+ }+ return blockedOn;+ ;+}+// run other threads synchronously until the blackhole is 'freed'+// returns true for success, false for failure, a thread blocks+function h$runBlackholeThreadSync(bh) {+ ;+ var ct = h$currentThread;+ var sp = h$sp;+ var success = false;+ var bhs = [];+ var currentBh = bh;+ // we don't handle async exceptions here, don't run threads with pending exceptions+ if(bh.d1.excep.length > 0) {+ return false;+ }+ h$currentThread = bh.d1;+ h$stack = h$currentThread.stack;+ h$sp = h$currentThread.sp;+ var c = (h$currentThread.status === h$threadRunning)?h$stack[h$sp]:h$reschedule;+ ;+ try {+ while(true) {+ while(c !== h$reschedule && currentBh.f.t === h$BLACKHOLE_CLOSURE) {+ c = c();+ c = c();+ c = c();+ c = c();+ c = c();+ }+ if(c === h$reschedule) { // perhaps new blackhole, then continue with that thread, otherwise fail+ if(typeof h$currentThread.blockedOn === 'object' &&+ h$currentThread.blockedOn.f &&+ h$currentThread.blockedOn.f.t === h$BLACKHOLE_CLOSURE) {+ ;+ bhs.push(currentBh);+ currentBh = h$currentThread.blockedOn;+ h$currentThread = h$currentThread.blockedOn.d1;+ if(h$currentThread.excep.length > 0) {+ break;+ }+ h$stack = h$currentThread.stack;+ h$sp = h$currentThread.sp;+ c = (h$currentThread.status === h$threadRunning)?h$stack[h$sp]:h$reschedule;+ } else {+ ;+ break;+ }+ } else { // blackhole updated: suspend thread and pick up the old one+ ;+ ;+ h$suspendCurrentThread(c);+ if(bhs.length > 0) {+ ;+ currentBh = bhs.pop();+ h$currentThread = currentBh.d1;+ h$stack = h$currentThread.stack;+ h$sp = h$currentThread.sp;+ } else {+ ;+ success = true;+ break;+ }+ }+ }+ } catch(e) { }+ // switch back to original thread+ h$sp = sp;+ h$stack = ct.stack;+ h$currentThread = ct;+ return success;+}+function h$syncThreadState(tid) {+ return (tid.isSynchronous ? 1 : 0) |+ (tid.continueAsync ? 2 : 0);+}+// run the supplied IO action in a main thread+// (program exits when this thread finishes)+function h$main(a) {+ var t = new h$Thread();+ //TRACE_SCHEDULER("sched: starting main thread");+ t.stack[0] = h$doneMain;+ if(!h$isBrowser) {+ t.stack[2] = h$baseZCGHCziTopHandlerzitopHandler;+ }+ t.stack[4] = h$ap_1_0;+ t.stack[5] = h$flushStdout;+ t.stack[6] = h$return;+ t.stack[7] = h$ap_1_0;+ t.stack[8] = a;+ t.stack[9] = h$return;+ t.sp = 9;+ t.label = [h$encodeUtf8("main"), 0];+ h$wakeupThread(t);+ h$startMainLoop();+ return t;+}+// MVar support+var h$mvarId = 0;+/** @constructor */+function h$MVar() {+ ;+ this.val = null;+ this.readers = new h$Queue();+ this.writers = new h$Queue();+ this.waiters = null; // waiting for a value in the MVar with ReadMVar+ this.m = 0; // gc mark+ this.id = ++h$mvarId;+}+// set the MVar to empty unless there are writers+function h$notifyMVarEmpty(mv) {+ var w = mv.writers.dequeue();+ if(w !== null) {+ var thread = w[0];+ var val = w[1];+ ;+ mv.val = val;+ // thread is null if some JavaScript outside Haskell wrote to the MVar+ if(thread !== null) {+ h$wakeupThread(thread);+ }+ } else {+ ;+ mv.val = null;+ }+ ;+}+// set the MVar to val unless there are readers+function h$notifyMVarFull(mv,val) {+ if(mv.waiters && mv.waiters.length > 0) {+ for(var i=0;i<mv.waiters.length;i++) {+ var w = mv.waiters[i];+ w.sp += 2;+ w.stack[w.sp-1] = val;+ w.stack[w.sp] = h$return;+ h$wakeupThread(w);+ }+ mv.waiters = null;+ }+ var r = mv.readers.dequeue();+ if(r !== null) {+ ;+ r.sp += 2;+ r.stack[r.sp-1] = val;+ r.stack[r.sp] = h$return;+ h$wakeupThread(r);+ mv.val = null;+ } else {+ ;+ mv.val = val;+ }+ ;+}+function h$takeMVar(mv) {+ ;+ if(mv.val !== null) {+ h$r1 = mv.val;+ h$notifyMVarEmpty(mv);+ return h$stack[h$sp];+ } else {+ mv.readers.enqueue(h$currentThread);+ h$currentThread.interruptible = true;+ h$blockThread(h$currentThread,mv,[h$takeMVar,mv]);+ return h$reschedule;+ }+}+function h$tryTakeMVar(mv) {+ ;+ if(mv.val === null) {+ h$ret1 = null;+ return 0;+ } else {+ h$ret1 = mv.val;+ h$notifyMVarEmpty(mv);+ return 1;+ }+}+function h$readMVar(mv) {+ ;+ if(mv.val === null) {+ if(mv.waiters) {+ mv.waiters.push(h$currentThread);+ } else {+ mv.waiters = [h$currentThread];+ }+ h$currentThread.interruptible = true;+ h$blockThread(h$currentThread,mv,[h$readMVar,mv]);+ return h$reschedule;+ } else {+ h$r1 = mv.val;+ return h$stack[h$sp];+ }+}+function h$putMVar(mv,val) {+ ;+ if(mv.val !== null) {+ mv.writers.enqueue([h$currentThread,val]);+ h$currentThread.interruptible = true;+ h$blockThread(h$currentThread,mv,[h$putMVar,mv,val]);+ return h$reschedule;+ } else {+ h$notifyMVarFull(mv,val);+ return h$stack[h$sp];+ }+}+function h$tryPutMVar(mv,val) {+ ;+ if(mv.val !== null) {+ return 0;+ } else {+ h$notifyMVarFull(mv,val);+ return 1;+ }+}+// box up a JavaScript value and write it to the MVar synchronously+function h$writeMVarJs1(mv,val) {+ var v = h$c1(h$data1_e, val);+ if(mv.val !== null) {+ ;+ mv.writers.enqueue([null,v]);+ } else {+ ;+ h$notifyMVarFull(mv,v);+ }+}+function h$writeMVarJs2(mv,val1,val2) {+ var v = h$c2(h$data1_e, val1, val2);+ if(mv.val !== null) {+ ;+ mv.writers.enqueue([null,v]);+ } else {+ ;+ h$notifyMVarFull(mv,v);+ }+}+// IORef support+/** @constructor */+function h$MutVar(v) {+ this.val = v;+ this.m = 0;+}+function h$atomicModifyMutVar(mv, fun) {+ var thunk = h$c2(h$ap1_e, fun, mv.val);+ mv.val = h$c1(h$select1_e, thunk);+ return h$c1(h$select2_e, thunk);+}+// Black holes and updates+// caller must save registers on stack+function h$blockOnBlackhole(c) {+ ;+ if(c.d1 === h$currentThread) {+ ;+ return h$throw(h$baseZCControlziExceptionziBasezinonTermination, false); // is this an async exception?+ }+ ;+ if(c.d2 === null) {+ c.d2 = [h$currentThread];+ } else {+ c.d2.push(h$currentThread);+ }+ h$blockThread(h$currentThread,c,[h$resumeBlockOnBlackhole,c]);+ return h$reschedule;+}+function h$resumeBlockOnBlackhole(c) {+ h$r1 = c;+ return h$ap_0_0_fast();+}+// async exception happened in a black hole, make a thunk+// to resume the computation+// var h$debugResumableId = 0;+function h$makeResumable(bh,start,end,extra) {+ var s = h$stack.slice(start,end+1);+ if(extra) {+ s = s.concat(extra);+ }+// TRACE_SCHEDULER("making resumable " + (h$debugResumableId+1) + ", stack: ");+// h$dumpStackTop(s,0,s.length-1);+ bh.f = h$resume_e;+ bh.d1 = s;+ bh.d2 = null;+ // bh.d2 = ++h$debugResumableId;+}+var h$enabled_capabilities = h$newByteArray(4);+h$enabled_capabilities.i3[0] = 1;+function h$rtsSupportsBoundThreads() {+ return 0;+}+// async foreign calls+function h$mkForeignCallback(x) {+ return function() {+ if(x.mv === null) { // callback called synchronously+ x.mv = arguments;+ } else {+ h$notifyMVarFull(x.mv, h$c1(h$data1_e, arguments));+ h$mainLoop();+ }+ }+}+// event listeners through MVar+function h$makeMVarListener(mv, stopProp, stopImmProp, preventDefault) {+ var f = function(event) {+ ;+ h$writeMVarJs1(mv,event);+ if(stopProp) { event.stopPropagation(); }+ if(stopImmProp) { event.stopImmediatePropagation(); }+ if(preventDefault) { event.preventDefault(); }+ }+ f.root = mv;+ return f;+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// software transactional memory+var h$stmTransactionActive = 0;+var h$stmTransactionWaiting = 4;+/** @constructor */+function h$Transaction(o, parent) {+ ;+ this.action = o;+ // h$TVar -> h$WrittenTVar, transaction-local changed values+ this.tvars = new h$Map();+ // h$TVar -> h$LocalTVar, all local tvars accessed anywhere in the transaction+ this.accessed = parent===null?new h$Map():parent.accessed;+ // nonnull while running a check, contains read variables in this part of the transaction+ this.checkRead = parent===null?null:parent.checkRead;+ this.parent = parent;+ this.state = h$stmTransactionActive;+ this.invariants = []; // invariants added in this transaction+ this.m = 0; // gc mark+}+var h$stmInvariantN = 0;+/** @constructor */+function h$StmInvariant(a) {+ this.action = a;+ this._key = ++h$stmInvariantN;+}+/** @constructor */+function h$WrittenTVar(tv,v) {+ this.tvar = tv;+ this.val = v;+}+var h$TVarN = 0;+/** @constructor */+function h$TVar(v) {+ ;+ this.val = v; // current value+ this.blocked = new h$Set(); // threads that get woken up if this TVar is updated+ this.invariants = null; // invariants that use this TVar (h$Set)+ this.m = 0; // gc mark+ this._key = ++h$TVarN; // for storing in h$Map/h$Set+}+/** @constructor */+function h$TVarsWaiting(s) {+ this.tvars = s; // h$Set of TVars we're waiting on+}+/** @constructor */+function h$LocalInvariant(o) {+ this.action = o;+ this.dependencies = new h$Set();+}+// local view of a TVar+/** @constructor */+function h$LocalTVar(v) {+ ;+ this.readVal = v.val; // the value when read from environment+ this.val = v.val; // the current uncommitted value+ this.tvar = v;+}+function h$atomically(o) {+ h$p3(o, h$atomically_e, h$checkInvariants_e);+ return h$stmStartTransaction(o);+}+function h$stmStartTransaction(o) {+ ;+ var t = new h$Transaction(o, null);+ h$currentThread.transaction = t;+ h$r1 = o;+ return h$ap_1_0_fast();+}+function h$stmUpdateInvariantDependencies(inv) {+ var ii, iter = h$currentThread.transaction.checkRead.iter();+ if(inv instanceof h$LocalInvariant) {+ while((ii = iter.next()) !== null) inv.dependencies.add(ii);+ } else {+ while((ii = iter.next()) !== null) h$stmAddTVarInvariant(ii, inv);+ }+}+function h$stmAddTVarInvariant(tv, inv) {+ if(tv.invariants === null) tv.invariants = new h$Set();+ tv.invariants.add(inv);+}+// commit current transaction,+// if it's top-level, commit the TVars, otherwise commit to parent+function h$stmCommitTransaction() {+ var t = h$currentThread.transaction;+ var tvs = t.tvars;+ var wtv, i = tvs.iter();+ if(t.parent === null) { // top-level commit+ ;+ // write new value to TVars and collect blocked threads+ var thread, threadi, blockedThreads = new h$Set();+ while((wtv = i.nextVal()) !== null) {+ h$stmCommitTVar(wtv.tvar, wtv.val, blockedThreads);+ }+ // wake up all blocked threads+ threadi = blockedThreads.iter();+ while((thread = threadi.next()) !== null) {+ h$stmRemoveBlockedThread(thread.blockedOn, thread);+ h$wakeupThread(thread);+ }+ // commit our new invariants+ for(var j=0;j<t.invariants.length;j++) {+ h$stmCommitInvariant(t.invariants[j]);+ }+ } else { // commit subtransaction+ ;+ var tpvs = t.parent.tvars;+ while((wtv = i.nextVal()) !== null) tpvs.put(wtv.tvar, wtv);+ t.parent.invariants = t.parent.invariants.concat(t.invariants);+ }+ h$currentThread.transaction = t.parent;+}+function h$stmValidateTransaction() {+ var ltv, i = h$currentThread.transaction.accessed.iter();+ while((ltv = i.nextVal()) !== null) {+ if(ltv.readVal !== ltv.tvar.val) return false;+ }+ return true;+}+function h$stmAbortTransaction() {+ h$currentThread.transaction = h$currentThread.transaction.parent;+}+// add an invariant+function h$stmCheck(o) {+ h$currentThread.transaction.invariants.push(new h$LocalInvariant(o));+ return false;+}+function h$stmRetry() {+ // unwind stack to h$atomically_e or h$stmCatchRetry_e frame+ while(h$sp > 0) {+ var f = h$stack[h$sp];+ if(f === h$atomically_e || f === h$stmCatchRetry_e) {+ break;+ }+ var size;+ if(f === h$ap_gen) {+ size = ((h$stack[h$sp-1] >> 8) + 2);+ } else {+ var tag = f.gtag;+ if(tag < 0) { // dynamic size+ size = h$stack[h$sp-1];+ } else {+ size = (tag & 0xff) + 1;+ }+ }+ h$sp -= size;+ }+ // either h$sp == 0 or at a handler+ if(h$sp > 0) {+ if(f === h$atomically_e) {+ return h$stmSuspendRetry();+ } else { // h$stmCatchRetry_e+ var b = h$stack[h$sp-1];+ h$stmAbortTransaction();+ h$sp -= 2;+ h$r1 = b;+ return h$ap_1_0_fast();+ }+ } else {+ throw "h$stmRetry: STM retry outside a transaction";+ }+}+function h$stmSuspendRetry() {+ var tv, i = h$currentThread.transaction.accessed.iter();+ var tvs = new h$Set();+ while((tv = i.next()) !== null) {+ ;+ tv.blocked.add(h$currentThread);+ tvs.add(tv);+ }+ var waiting = new h$TVarsWaiting(tvs);+ h$currentThread.interruptible = true;+ h$blockThread(h$currentThread, waiting);+ h$p2(waiting, h$stmResumeRetry_e);+ return h$reschedule;+}+function h$stmCatchRetry(a,b) {+ h$currentThread.transaction = new h$Transaction(b, h$currentThread.transaction);+ h$p2(b, h$stmCatchRetry_e);+ h$r1 = a;+ return h$ap_1_0_fast();+}+function h$catchStm(a,handler) {+ h$p4(h$currentThread.transaction, h$currentThread.mask, handler, h$catchStm_e);+ h$r1 = a;+ return h$ap_1_0_fast();+}+function h$newTVar(v) {+ return new h$TVar(v);+}+function h$readTVar(tv) {+ return h$readLocalTVar(h$currentThread.transaction,tv);+}+function h$readTVarIO(tv) {+ return tv.val;+}+function h$writeTVar(tv, v) {+ h$setLocalTVar(h$currentThread.transaction, tv, v);+}+function h$sameTVar(tv1, tv2) {+ return tv1 === tv2;+}+// get the local value of the TVar in the transaction t+// tvar is added to the read set+function h$readLocalTVar(t, tv) {+ if(t.checkRead !== null) {+ t.checkRead.add(tv);+ }+ var t0 = t;+ while(t0 !== null) {+ var v = t0.tvars.get(tv);+ if(v !== null) {+ ;+ return v.val;+ }+ t0 = t0.parent;+ }+ var lv = t.accessed.get(tv);+ if(lv !== null) {+ ;+ return lv.val;+ } else {+ ;+ t.accessed.put(tv, new h$LocalTVar(tv));+ return tv.val;+ }+}+function h$setLocalTVar(t, tv, v) {+ if(!t.accessed.has(tv)) t.accessed.put(tv, new h$LocalTVar(tv));+ if(t.tvars.has(tv)) {+ t.tvars.get(tv).val = v;+ } else {+ t.tvars.put(tv, new h$WrittenTVar(tv, v))+ }+}+function h$stmCheckInvariants() {+ var t = h$currentThread.transaction;+ function addCheck(inv) {+ h$p5(inv, h$stmCheckInvariantResult_e, t, inv, h$stmCheckInvariantStart_e);+ }+ h$p2(h$r1, h$return);+ var wtv, i = t.tvars.iter();+ while((wtv = i.nextVal()) !== null) {+ ;+ var ii = wtv.tvar.invariants;+ if(ii) {+ var iv, iii = ii.iter();+ while((iv = iii.next()) !== null) addCheck(iv);+ }+ }+ for(var j=0;j<t.invariants.length;j++) {+ addCheck(t.invariants[j]);+ }+ return h$stack[h$sp];+}+function h$stmCommitTVar(tv, v, threads) {+ ;+ if(v !== tv.val) {+ var thr, iter = tv.blocked.iter();+ while((thr = iter.next()) !== null) threads.add(thr);+ tv.blocked.clear();+ tv.val = v;+ }+}+// remove the thread from the queues of the TVars in s+function h$stmRemoveBlockedThread(s, thread) {+ var tv, i = s.tvars.iter();+ while((tv = i.next()) !== null) {+ tv.blocked.remove(thread);+ }+}+function h$stmCommitInvariant(localInv) {+ var inv = new h$StmInvariant(localInv.action);+ var dep, i = localInv.dependencies.iter();+ while((dep = i.next()) !== null) {+ h$stmAddTVarInvariant(dep, inv);+ }+}+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.+ This file is part of the GNU C Library.++ The GNU C Library is free software; you can redistribute it and/or+ modify it under the terms of the GNU Lesser General Public+ License as published by the Free Software Foundation; either+ version 2.1 of the License, or (at your option) any later version.++ The GNU C Library is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+ Lesser General Public License for more details.++ You should have received a copy of the GNU Lesser General Public+ License along with the GNU C Library; if not, see+ <http://www.gnu.org/licenses/>. */+/* This header is separate from features.h so that the compiler can+ include it implicitly at the start of every compilation. It must+ not itself include <features.h> or any other header that includes+ <features.h> because the implicit include comes before any feature+ test macros that may be defined in a source file before it first+ explicitly includes a system header. GCC knows the name of this+ header in order to preinclude it. */+/* glibc's intent is to support the IEC 559 math functionality, real+ and complex. If the GCC (4.9 and later) predefined macros+ specifying compiler intent are available, use them to determine+ whether the overall intent is to support these features; otherwise,+ presume an older compiler has intent to support these features and+ define these macros by default. */+/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /+ Unicode 6.0. */+/* We do not support C11 <threads.h>. */+// static pointers+var h$static_pointer_table = null;+var h$static_pointer_table_keys = null;+function h$hs_spt_insert(key1,key2,key3,key4,ref) {+ if(!h$static_pointer_table) {+ h$static_pointer_table = [];+ h$static_pointer_table_keys = [];+ }+ if(!h$hs_spt_lookup_key(key1,key2,key3,key4)) {+ var ba = h$newByteArray(16);+ ba.i3[0] = key1;+ ba.i3[1] = key2;+ ba.i3[2] = key3;+ ba.i3[3] = key4;+ h$static_pointer_table_keys.push([ba,0]);+ }+ var s = h$static_pointer_table;+ if(!s[key1]) s[key1] = [];+ if(!s[key1][key2]) s[key1][key2] = [];+ if(!s[key1][key2][key3]) s[key1][key2][key3] = [];+ s[key1][key2][key3][key4] = ref;+}+function h$hs_spt_key_count() {+ return h$static_pointer_table_keys ?+ h$static_pointer_table_keys.length : 0;+}+function h$hs_spt_keys(tgt_d, tgt_o, n) {+ var ks = h$static_pointer_table_keys;+ if(!tgt_d.arr) tgt_d.arr = [];+ for(var i=0;(i<n&&i<ks.length);i++) tgt_d.arr[tgt_o+4*i] = ks[i];+ return Math.min(n,ks.length);+}+function h$hs_spt_lookup(key_d, key_o) {+ var i3 = key_d.i3, o = key_o >> 2;+ h$ret1 = 0;+ return h$hs_spt_lookup_key(i3[o],i3[o+1],i3[o+2],i3[o+3]);+}+function h$hs_spt_lookup_key(key1,key2,key3,key4) {+ var s = h$static_pointer_table;+ if(s && s[key1] && s[key1][key2] && s[key1][key2][key3] &&+ s[key1][key2][key3][key4]) return s[key1][key2][key3][key4];+ return null;+}+function h$c(f)+{+ var h$RTS_0 = { d1: null, d2: null, f: f, m: 0+ };+ return h$RTS_0;+};+function h$c0(f)+{+ var h$RTS_1 = { d1: null, d2: null, f: f, m: 0+ };+ return h$RTS_1;+};+function h$c1(f, x1)+{+ var h$RTS_2 = { d1: x1, d2: null, f: f, m: 0+ };+ return h$RTS_2;+};+function h$c2(f, x1, x2)+{+ var h$RTS_3 = { d1: x1, d2: x2, f: f, m: 0+ };+ return h$RTS_3;+};+function h$c3(f, x1, x2, x3)+{+ var h$RTS_4 = { d1: x1, d2: { d1: x2, d2: x3+ }, f: f, m: 0+ };+ return h$RTS_4;+};+function h$c4(f, x1, x2, x3, x4)+{+ var h$RTS_5 = { d1: x1, d2: { d1: x2, d2: x3, d3: x4+ }, f: f, m: 0+ };+ return h$RTS_5;+};+function h$c5(f, x1, x2, x3, x4, x5)+{+ var h$RTS_6 = { d1: x1, d2: { d1: x2, d2: x3, d3: x4, d4: x5+ }, f: f, m: 0+ };+ return h$RTS_6;+};+function h$c6(f, x1, x2, x3, x4, x5, x6)+{+ var h$RTS_7 = { d1: x1, d2: { d1: x2, d2: x3, d3: x4, d4: x5, d5: x6+ }, f: f, m: 0+ };+ return h$RTS_7;+};+function h$c7(f, x1, x2, x3, x4, x5, x6, x7)+{+ var h$RTS_8 = { d1: x1, d2: { d1: x2, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7+ }, f: f, m: 0+ };+ return h$RTS_8;+};+function h$c8(f, x1, x2, x3, x4, x5, x6, x7, x8)+{+ var h$RTS_9 = { d1: x1, d2: { d1: x2, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8+ }, f: f, m: 0+ };+ return h$RTS_9;+};+function h$c9(f, x1, x2, x3, x4, x5, x6, x7, x8, x9)+{+ var h$RTS_10 = { d1: x1, d2: { d1: x2, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9+ }, f: f, m: 0+ };+ return h$RTS_10;+};+function h$c10(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)+{+ var h$RTS_11 = { d1: x1, d2: { d1: x2, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_11;+};+function h$c11(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)+{+ var h$RTS_12 = { d1: x1, d2: { d1: x2, d10: x11, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_12;+};+function h$c12(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)+{+ var h$RTS_13 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9,+ d9: x10+ }, f: f, m: 0+ };+ return h$RTS_13;+};+function h$c13(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)+{+ var h$RTS_14 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8,+ d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_14;+};+function h$c14(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)+{+ var h$RTS_15 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7,+ d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_15;+};+function h$c15(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)+{+ var h$RTS_16 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d2: x3, d3: x4, d4: x5, d5: x6,+ d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_16;+};+function h$c16(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16)+{+ var h$RTS_17 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d15: x16, d2: x3, d3: x4,+ d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_17;+};+function h$c17(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17)+{+ var h$RTS_18 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d15: x16, d16: x17, d2: x3,+ d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_18;+};+function h$c18(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18)+{+ var h$RTS_19 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d15: x16, d16: x17, d17: x18,+ d2: x3, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_19;+};+function h$c19(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19)+{+ var h$RTS_20 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d15: x16, d16: x17, d17: x18,+ d18: x19, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_20;+};+function h$c20(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20)+{+ var h$RTS_21 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d15: x16, d16: x17, d17: x18,+ d18: x19, d19: x20, d2: x3, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_21;+};+function h$c21(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)+{+ var h$RTS_22 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d15: x16, d16: x17, d17: x18,+ d18: x19, d19: x20, d2: x3, d20: x21, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_22;+};+function h$c22(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22)+{+ var h$RTS_23 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d15: x16, d16: x17, d17: x18,+ d18: x19, d19: x20, d2: x3, d20: x21, d21: x22, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_23;+};+function h$c23(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22,+x23)+{+ var h$RTS_24 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d15: x16, d16: x17, d17: x18,+ d18: x19, d19: x20, d2: x3, d20: x21, d21: x22, d22: x23, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9, d9: x10+ }, f: f, m: 0+ };+ return h$RTS_24;+};+function h$c24(f, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22,+x23, x24)+{+ var h$RTS_25 = { d1: x1, d2: { d1: x2, d10: x11, d11: x12, d12: x13, d13: x14, d14: x15, d15: x16, d16: x17, d17: x18,+ d18: x19, d19: x20, d2: x3, d20: x21, d21: x22, d22: x23, d23: x24, d3: x4, d4: x5, d5: x6, d6: x7, d7: x8, d8: x9,+ d9: x10+ }, f: f, m: 0+ };+ return h$RTS_25;+};+function h$d1(d1)+{+ return { d1: d1+ };+};+function h$d2(d1, d2)+{+ return { d1: d1, d2: d2+ };+};+function h$d3(d1, d2, d3)+{+ return { d1: d1, d2: d2, d3: d3+ };+};+function h$d4(d1, d2, d3, d4)+{+ return { d1: d1, d2: d2, d3: d3, d4: d4+ };+};+function h$d5(d1, d2, d3, d4, d5)+{+ return { d1: d1, d2: d2, d3: d3, d4: d4, d5: d5+ };+};+function h$d6(d1, d2, d3, d4, d5, d6)+{+ return { d1: d1, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6+ };+};+function h$d7(d1, d2, d3, d4, d5, d6, d7)+{+ return { d1: d1, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7+ };+};+function h$d8(d1, d2, d3, d4, d5, d6, d7, d8)+{+ return { d1: d1, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8+ };+};+function h$d9(d1, d2, d3, d4, d5, d6, d7, d8, d9)+{+ return { d1: d1, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d10(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10)+{+ return { d1: d1, d10: d10, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d11(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11)+{+ return { d1: d1, d10: d10, d11: d11, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d12(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d13(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d14(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7,+ d8: d8, d9: d9+ };+};+function h$d15(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d2: d2, d3: d3, d4: d4, d5: d5, d6: d6,+ d7: d7, d8: d8, d9: d9+ };+};+function h$d16(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d16: d16, d2: d2, d3: d3, d4: d4, d5: d5,+ d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d17(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d16: d16, d17: d17, d2: d2, d3: d3, d4: d4,+ d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d18(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d16: d16, d17: d17, d18: d18, d2: d2,+ d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d19(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d16: d16, d17: d17, d18: d18, d19: d19,+ d2: d2, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d20(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d16: d16, d17: d17, d18: d18, d19: d19,+ d2: d2, d20: d20, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d21(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20, d21)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d16: d16, d17: d17, d18: d18, d19: d19,+ d2: d2, d20: d20, d21: d21, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d22(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20, d21, d22)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d16: d16, d17: d17, d18: d18, d19: d19,+ d2: d2, d20: d20, d21: d21, d22: d22, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d23(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20, d21, d22, d23)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d16: d16, d17: d17, d18: d18, d19: d19,+ d2: d2, d20: d20, d21: d21, d22: d22, d23: d23, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$d24(d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20, d21, d22, d23,+d24)+{+ return { d1: d1, d10: d10, d11: d11, d12: d12, d13: d13, d14: d14, d15: d15, d16: d16, d17: d17, d18: d18, d19: d19,+ d2: d2, d20: d20, d21: d21, d22: d22, d23: d23, d24: d24, d3: d3, d4: d4, d5: d5, d6: d6, d7: d7, d8: d8, d9: d9+ };+};+function h$resetRegisters()+{+ h$r1 = null;+ h$r2 = null;+ h$r3 = null;+ h$r4 = null;+ h$r5 = null;+ h$r6 = null;+ h$r7 = null;+ h$r8 = null;+ h$r9 = null;+ h$r10 = null;+ h$r11 = null;+ h$r12 = null;+ h$r13 = null;+ h$r14 = null;+ h$r15 = null;+ h$r16 = null;+ h$r17 = null;+ h$r18 = null;+ h$r19 = null;+ h$r20 = null;+ h$r21 = null;+ h$r22 = null;+ h$r23 = null;+ h$r24 = null;+ h$r25 = null;+ h$r26 = null;+ h$r27 = null;+ h$r28 = null;+ h$r29 = null;+ h$r30 = null;+ h$r31 = null;+ h$r32 = null;+ h$regs[0] = null;+ h$regs[1] = null;+ h$regs[2] = null;+ h$regs[3] = null;+ h$regs[4] = null;+ h$regs[5] = null;+ h$regs[6] = null;+ h$regs[7] = null;+ h$regs[8] = null;+ h$regs[9] = null;+ h$regs[10] = null;+ h$regs[11] = null;+ h$regs[12] = null;+ h$regs[13] = null;+ h$regs[14] = null;+ h$regs[15] = null;+ h$regs[16] = null;+ h$regs[17] = null;+ h$regs[18] = null;+ h$regs[19] = null;+ h$regs[20] = null;+ h$regs[21] = null;+ h$regs[22] = null;+ h$regs[23] = null;+ h$regs[24] = null;+ h$regs[25] = null;+ h$regs[26] = null;+ h$regs[27] = null;+ h$regs[28] = null;+ h$regs[29] = null;+ h$regs[30] = null;+ h$regs[31] = null;+ h$regs[32] = null;+ h$regs[33] = null;+ h$regs[34] = null;+ h$regs[35] = null;+ h$regs[36] = null;+ h$regs[37] = null;+ h$regs[38] = null;+ h$regs[39] = null;+ h$regs[40] = null;+ h$regs[41] = null;+ h$regs[42] = null;+ h$regs[43] = null;+ h$regs[44] = null;+ h$regs[45] = null;+ h$regs[46] = null;+ h$regs[47] = null;+ h$regs[48] = null;+ h$regs[49] = null;+ h$regs[50] = null;+ h$regs[51] = null;+ h$regs[52] = null;+ h$regs[53] = null;+ h$regs[54] = null;+ h$regs[55] = null;+ h$regs[56] = null;+ h$regs[57] = null;+ h$regs[58] = null;+ h$regs[59] = null;+ h$regs[60] = null;+ h$regs[61] = null;+ h$regs[62] = null;+ h$regs[63] = null;+ h$regs[64] = null;+ h$regs[65] = null;+ h$regs[66] = null;+ h$regs[67] = null;+ h$regs[68] = null;+ h$regs[69] = null;+ h$regs[70] = null;+ h$regs[71] = null;+ h$regs[72] = null;+ h$regs[73] = null;+ h$regs[74] = null;+ h$regs[75] = null;+ h$regs[76] = null;+ h$regs[77] = null;+ h$regs[78] = null;+ h$regs[79] = null;+ h$regs[80] = null;+ h$regs[81] = null;+ h$regs[82] = null;+ h$regs[83] = null;+ h$regs[84] = null;+ h$regs[85] = null;+ h$regs[86] = null;+ h$regs[87] = null;+ h$regs[88] = null;+ h$regs[89] = null;+ h$regs[90] = null;+ h$regs[91] = null;+ h$regs[92] = null;+ h$regs[93] = null;+ h$regs[94] = null;+ h$regs[95] = null;+};+function h$resetResultVars()+{+ h$ret1 = null;+ h$ret2 = null;+ h$ret3 = null;+ h$ret4 = null;+ h$ret5 = null;+ h$ret6 = null;+ h$ret7 = null;+ h$ret8 = null;+ h$ret9 = null;+ h$ret10 = null;+};+function h$p1(x1)+{+ ++h$sp;+ h$stack[(h$sp - 0)] = x1;+};+function h$p2(x1, x2)+{+ h$sp += 2;+ h$stack[(h$sp - 1)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$p3(x1, x2, x3)+{+ h$sp += 3;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$p4(x1, x2, x3, x4)+{+ h$sp += 4;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$p5(x1, x2, x3, x4, x5)+{+ h$sp += 5;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$p6(x1, x2, x3, x4, x5, x6)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$p7(x1, x2, x3, x4, x5, x6, x7)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 1)] = x6;+ h$stack[(h$sp - 0)] = x7;+};+function h$p8(x1, x2, x3, x4, x5, x6, x7, x8)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 4)] = x4;+ h$stack[(h$sp - 3)] = x5;+ h$stack[(h$sp - 2)] = x6;+ h$stack[(h$sp - 1)] = x7;+ h$stack[(h$sp - 0)] = x8;+};+function h$p9(x1, x2, x3, x4, x5, x6, x7, x8, x9)+{+ h$sp += 9;+ h$stack[(h$sp - 8)] = x1;+ h$stack[(h$sp - 7)] = x2;+ h$stack[(h$sp - 6)] = x3;+ h$stack[(h$sp - 5)] = x4;+ h$stack[(h$sp - 4)] = x5;+ h$stack[(h$sp - 3)] = x6;+ h$stack[(h$sp - 2)] = x7;+ h$stack[(h$sp - 1)] = x8;+ h$stack[(h$sp - 0)] = x9;+};+function h$p10(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)+{+ h$sp += 10;+ h$stack[(h$sp - 9)] = x1;+ h$stack[(h$sp - 8)] = x2;+ h$stack[(h$sp - 7)] = x3;+ h$stack[(h$sp - 6)] = x4;+ h$stack[(h$sp - 5)] = x5;+ h$stack[(h$sp - 4)] = x6;+ h$stack[(h$sp - 3)] = x7;+ h$stack[(h$sp - 2)] = x8;+ h$stack[(h$sp - 1)] = x9;+ h$stack[(h$sp - 0)] = x10;+};+function h$p11(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)+{+ h$sp += 11;+ h$stack[(h$sp - 10)] = x1;+ h$stack[(h$sp - 9)] = x2;+ h$stack[(h$sp - 8)] = x3;+ h$stack[(h$sp - 7)] = x4;+ h$stack[(h$sp - 6)] = x5;+ h$stack[(h$sp - 5)] = x6;+ h$stack[(h$sp - 4)] = x7;+ h$stack[(h$sp - 3)] = x8;+ h$stack[(h$sp - 2)] = x9;+ h$stack[(h$sp - 1)] = x10;+ h$stack[(h$sp - 0)] = x11;+};+function h$p12(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)+{+ h$sp += 12;+ h$stack[(h$sp - 11)] = x1;+ h$stack[(h$sp - 10)] = x2;+ h$stack[(h$sp - 9)] = x3;+ h$stack[(h$sp - 8)] = x4;+ h$stack[(h$sp - 7)] = x5;+ h$stack[(h$sp - 6)] = x6;+ h$stack[(h$sp - 5)] = x7;+ h$stack[(h$sp - 4)] = x8;+ h$stack[(h$sp - 3)] = x9;+ h$stack[(h$sp - 2)] = x10;+ h$stack[(h$sp - 1)] = x11;+ h$stack[(h$sp - 0)] = x12;+};+function h$p13(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)+{+ h$sp += 13;+ h$stack[(h$sp - 12)] = x1;+ h$stack[(h$sp - 11)] = x2;+ h$stack[(h$sp - 10)] = x3;+ h$stack[(h$sp - 9)] = x4;+ h$stack[(h$sp - 8)] = x5;+ h$stack[(h$sp - 7)] = x6;+ h$stack[(h$sp - 6)] = x7;+ h$stack[(h$sp - 5)] = x8;+ h$stack[(h$sp - 4)] = x9;+ h$stack[(h$sp - 3)] = x10;+ h$stack[(h$sp - 2)] = x11;+ h$stack[(h$sp - 1)] = x12;+ h$stack[(h$sp - 0)] = x13;+};+function h$p14(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)+{+ h$sp += 14;+ h$stack[(h$sp - 13)] = x1;+ h$stack[(h$sp - 12)] = x2;+ h$stack[(h$sp - 11)] = x3;+ h$stack[(h$sp - 10)] = x4;+ h$stack[(h$sp - 9)] = x5;+ h$stack[(h$sp - 8)] = x6;+ h$stack[(h$sp - 7)] = x7;+ h$stack[(h$sp - 6)] = x8;+ h$stack[(h$sp - 5)] = x9;+ h$stack[(h$sp - 4)] = x10;+ h$stack[(h$sp - 3)] = x11;+ h$stack[(h$sp - 2)] = x12;+ h$stack[(h$sp - 1)] = x13;+ h$stack[(h$sp - 0)] = x14;+};+function h$p15(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)+{+ h$sp += 15;+ h$stack[(h$sp - 14)] = x1;+ h$stack[(h$sp - 13)] = x2;+ h$stack[(h$sp - 12)] = x3;+ h$stack[(h$sp - 11)] = x4;+ h$stack[(h$sp - 10)] = x5;+ h$stack[(h$sp - 9)] = x6;+ h$stack[(h$sp - 8)] = x7;+ h$stack[(h$sp - 7)] = x8;+ h$stack[(h$sp - 6)] = x9;+ h$stack[(h$sp - 5)] = x10;+ h$stack[(h$sp - 4)] = x11;+ h$stack[(h$sp - 3)] = x12;+ h$stack[(h$sp - 2)] = x13;+ h$stack[(h$sp - 1)] = x14;+ h$stack[(h$sp - 0)] = x15;+};+function h$p16(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16)+{+ h$sp += 16;+ h$stack[(h$sp - 15)] = x1;+ h$stack[(h$sp - 14)] = x2;+ h$stack[(h$sp - 13)] = x3;+ h$stack[(h$sp - 12)] = x4;+ h$stack[(h$sp - 11)] = x5;+ h$stack[(h$sp - 10)] = x6;+ h$stack[(h$sp - 9)] = x7;+ h$stack[(h$sp - 8)] = x8;+ h$stack[(h$sp - 7)] = x9;+ h$stack[(h$sp - 6)] = x10;+ h$stack[(h$sp - 5)] = x11;+ h$stack[(h$sp - 4)] = x12;+ h$stack[(h$sp - 3)] = x13;+ h$stack[(h$sp - 2)] = x14;+ h$stack[(h$sp - 1)] = x15;+ h$stack[(h$sp - 0)] = x16;+};+function h$p17(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17)+{+ h$sp += 17;+ h$stack[(h$sp - 16)] = x1;+ h$stack[(h$sp - 15)] = x2;+ h$stack[(h$sp - 14)] = x3;+ h$stack[(h$sp - 13)] = x4;+ h$stack[(h$sp - 12)] = x5;+ h$stack[(h$sp - 11)] = x6;+ h$stack[(h$sp - 10)] = x7;+ h$stack[(h$sp - 9)] = x8;+ h$stack[(h$sp - 8)] = x9;+ h$stack[(h$sp - 7)] = x10;+ h$stack[(h$sp - 6)] = x11;+ h$stack[(h$sp - 5)] = x12;+ h$stack[(h$sp - 4)] = x13;+ h$stack[(h$sp - 3)] = x14;+ h$stack[(h$sp - 2)] = x15;+ h$stack[(h$sp - 1)] = x16;+ h$stack[(h$sp - 0)] = x17;+};+function h$p18(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18)+{+ h$sp += 18;+ h$stack[(h$sp - 17)] = x1;+ h$stack[(h$sp - 16)] = x2;+ h$stack[(h$sp - 15)] = x3;+ h$stack[(h$sp - 14)] = x4;+ h$stack[(h$sp - 13)] = x5;+ h$stack[(h$sp - 12)] = x6;+ h$stack[(h$sp - 11)] = x7;+ h$stack[(h$sp - 10)] = x8;+ h$stack[(h$sp - 9)] = x9;+ h$stack[(h$sp - 8)] = x10;+ h$stack[(h$sp - 7)] = x11;+ h$stack[(h$sp - 6)] = x12;+ h$stack[(h$sp - 5)] = x13;+ h$stack[(h$sp - 4)] = x14;+ h$stack[(h$sp - 3)] = x15;+ h$stack[(h$sp - 2)] = x16;+ h$stack[(h$sp - 1)] = x17;+ h$stack[(h$sp - 0)] = x18;+};+function h$p19(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19)+{+ h$sp += 19;+ h$stack[(h$sp - 18)] = x1;+ h$stack[(h$sp - 17)] = x2;+ h$stack[(h$sp - 16)] = x3;+ h$stack[(h$sp - 15)] = x4;+ h$stack[(h$sp - 14)] = x5;+ h$stack[(h$sp - 13)] = x6;+ h$stack[(h$sp - 12)] = x7;+ h$stack[(h$sp - 11)] = x8;+ h$stack[(h$sp - 10)] = x9;+ h$stack[(h$sp - 9)] = x10;+ h$stack[(h$sp - 8)] = x11;+ h$stack[(h$sp - 7)] = x12;+ h$stack[(h$sp - 6)] = x13;+ h$stack[(h$sp - 5)] = x14;+ h$stack[(h$sp - 4)] = x15;+ h$stack[(h$sp - 3)] = x16;+ h$stack[(h$sp - 2)] = x17;+ h$stack[(h$sp - 1)] = x18;+ h$stack[(h$sp - 0)] = x19;+};+function h$p20(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20)+{+ h$sp += 20;+ h$stack[(h$sp - 19)] = x1;+ h$stack[(h$sp - 18)] = x2;+ h$stack[(h$sp - 17)] = x3;+ h$stack[(h$sp - 16)] = x4;+ h$stack[(h$sp - 15)] = x5;+ h$stack[(h$sp - 14)] = x6;+ h$stack[(h$sp - 13)] = x7;+ h$stack[(h$sp - 12)] = x8;+ h$stack[(h$sp - 11)] = x9;+ h$stack[(h$sp - 10)] = x10;+ h$stack[(h$sp - 9)] = x11;+ h$stack[(h$sp - 8)] = x12;+ h$stack[(h$sp - 7)] = x13;+ h$stack[(h$sp - 6)] = x14;+ h$stack[(h$sp - 5)] = x15;+ h$stack[(h$sp - 4)] = x16;+ h$stack[(h$sp - 3)] = x17;+ h$stack[(h$sp - 2)] = x18;+ h$stack[(h$sp - 1)] = x19;+ h$stack[(h$sp - 0)] = x20;+};+function h$p21(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)+{+ h$sp += 21;+ h$stack[(h$sp - 20)] = x1;+ h$stack[(h$sp - 19)] = x2;+ h$stack[(h$sp - 18)] = x3;+ h$stack[(h$sp - 17)] = x4;+ h$stack[(h$sp - 16)] = x5;+ h$stack[(h$sp - 15)] = x6;+ h$stack[(h$sp - 14)] = x7;+ h$stack[(h$sp - 13)] = x8;+ h$stack[(h$sp - 12)] = x9;+ h$stack[(h$sp - 11)] = x10;+ h$stack[(h$sp - 10)] = x11;+ h$stack[(h$sp - 9)] = x12;+ h$stack[(h$sp - 8)] = x13;+ h$stack[(h$sp - 7)] = x14;+ h$stack[(h$sp - 6)] = x15;+ h$stack[(h$sp - 5)] = x16;+ h$stack[(h$sp - 4)] = x17;+ h$stack[(h$sp - 3)] = x18;+ h$stack[(h$sp - 2)] = x19;+ h$stack[(h$sp - 1)] = x20;+ h$stack[(h$sp - 0)] = x21;+};+function h$p22(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22)+{+ h$sp += 22;+ h$stack[(h$sp - 21)] = x1;+ h$stack[(h$sp - 20)] = x2;+ h$stack[(h$sp - 19)] = x3;+ h$stack[(h$sp - 18)] = x4;+ h$stack[(h$sp - 17)] = x5;+ h$stack[(h$sp - 16)] = x6;+ h$stack[(h$sp - 15)] = x7;+ h$stack[(h$sp - 14)] = x8;+ h$stack[(h$sp - 13)] = x9;+ h$stack[(h$sp - 12)] = x10;+ h$stack[(h$sp - 11)] = x11;+ h$stack[(h$sp - 10)] = x12;+ h$stack[(h$sp - 9)] = x13;+ h$stack[(h$sp - 8)] = x14;+ h$stack[(h$sp - 7)] = x15;+ h$stack[(h$sp - 6)] = x16;+ h$stack[(h$sp - 5)] = x17;+ h$stack[(h$sp - 4)] = x18;+ h$stack[(h$sp - 3)] = x19;+ h$stack[(h$sp - 2)] = x20;+ h$stack[(h$sp - 1)] = x21;+ h$stack[(h$sp - 0)] = x22;+};+function h$p23(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23)+{+ h$sp += 23;+ h$stack[(h$sp - 22)] = x1;+ h$stack[(h$sp - 21)] = x2;+ h$stack[(h$sp - 20)] = x3;+ h$stack[(h$sp - 19)] = x4;+ h$stack[(h$sp - 18)] = x5;+ h$stack[(h$sp - 17)] = x6;+ h$stack[(h$sp - 16)] = x7;+ h$stack[(h$sp - 15)] = x8;+ h$stack[(h$sp - 14)] = x9;+ h$stack[(h$sp - 13)] = x10;+ h$stack[(h$sp - 12)] = x11;+ h$stack[(h$sp - 11)] = x12;+ h$stack[(h$sp - 10)] = x13;+ h$stack[(h$sp - 9)] = x14;+ h$stack[(h$sp - 8)] = x15;+ h$stack[(h$sp - 7)] = x16;+ h$stack[(h$sp - 6)] = x17;+ h$stack[(h$sp - 5)] = x18;+ h$stack[(h$sp - 4)] = x19;+ h$stack[(h$sp - 3)] = x20;+ h$stack[(h$sp - 2)] = x21;+ h$stack[(h$sp - 1)] = x22;+ h$stack[(h$sp - 0)] = x23;+};+function h$p24(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24)+{+ h$sp += 24;+ h$stack[(h$sp - 23)] = x1;+ h$stack[(h$sp - 22)] = x2;+ h$stack[(h$sp - 21)] = x3;+ h$stack[(h$sp - 20)] = x4;+ h$stack[(h$sp - 19)] = x5;+ h$stack[(h$sp - 18)] = x6;+ h$stack[(h$sp - 17)] = x7;+ h$stack[(h$sp - 16)] = x8;+ h$stack[(h$sp - 15)] = x9;+ h$stack[(h$sp - 14)] = x10;+ h$stack[(h$sp - 13)] = x11;+ h$stack[(h$sp - 12)] = x12;+ h$stack[(h$sp - 11)] = x13;+ h$stack[(h$sp - 10)] = x14;+ h$stack[(h$sp - 9)] = x15;+ h$stack[(h$sp - 8)] = x16;+ h$stack[(h$sp - 7)] = x17;+ h$stack[(h$sp - 6)] = x18;+ h$stack[(h$sp - 5)] = x19;+ h$stack[(h$sp - 4)] = x20;+ h$stack[(h$sp - 3)] = x21;+ h$stack[(h$sp - 2)] = x22;+ h$stack[(h$sp - 1)] = x23;+ h$stack[(h$sp - 0)] = x24;+};+function h$p25(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25)+{+ h$sp += 25;+ h$stack[(h$sp - 24)] = x1;+ h$stack[(h$sp - 23)] = x2;+ h$stack[(h$sp - 22)] = x3;+ h$stack[(h$sp - 21)] = x4;+ h$stack[(h$sp - 20)] = x5;+ h$stack[(h$sp - 19)] = x6;+ h$stack[(h$sp - 18)] = x7;+ h$stack[(h$sp - 17)] = x8;+ h$stack[(h$sp - 16)] = x9;+ h$stack[(h$sp - 15)] = x10;+ h$stack[(h$sp - 14)] = x11;+ h$stack[(h$sp - 13)] = x12;+ h$stack[(h$sp - 12)] = x13;+ h$stack[(h$sp - 11)] = x14;+ h$stack[(h$sp - 10)] = x15;+ h$stack[(h$sp - 9)] = x16;+ h$stack[(h$sp - 8)] = x17;+ h$stack[(h$sp - 7)] = x18;+ h$stack[(h$sp - 6)] = x19;+ h$stack[(h$sp - 5)] = x20;+ h$stack[(h$sp - 4)] = x21;+ h$stack[(h$sp - 3)] = x22;+ h$stack[(h$sp - 2)] = x23;+ h$stack[(h$sp - 1)] = x24;+ h$stack[(h$sp - 0)] = x25;+};+function h$p26(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26)+{+ h$sp += 26;+ h$stack[(h$sp - 25)] = x1;+ h$stack[(h$sp - 24)] = x2;+ h$stack[(h$sp - 23)] = x3;+ h$stack[(h$sp - 22)] = x4;+ h$stack[(h$sp - 21)] = x5;+ h$stack[(h$sp - 20)] = x6;+ h$stack[(h$sp - 19)] = x7;+ h$stack[(h$sp - 18)] = x8;+ h$stack[(h$sp - 17)] = x9;+ h$stack[(h$sp - 16)] = x10;+ h$stack[(h$sp - 15)] = x11;+ h$stack[(h$sp - 14)] = x12;+ h$stack[(h$sp - 13)] = x13;+ h$stack[(h$sp - 12)] = x14;+ h$stack[(h$sp - 11)] = x15;+ h$stack[(h$sp - 10)] = x16;+ h$stack[(h$sp - 9)] = x17;+ h$stack[(h$sp - 8)] = x18;+ h$stack[(h$sp - 7)] = x19;+ h$stack[(h$sp - 6)] = x20;+ h$stack[(h$sp - 5)] = x21;+ h$stack[(h$sp - 4)] = x22;+ h$stack[(h$sp - 3)] = x23;+ h$stack[(h$sp - 2)] = x24;+ h$stack[(h$sp - 1)] = x25;+ h$stack[(h$sp - 0)] = x26;+};+function h$p27(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27)+{+ h$sp += 27;+ h$stack[(h$sp - 26)] = x1;+ h$stack[(h$sp - 25)] = x2;+ h$stack[(h$sp - 24)] = x3;+ h$stack[(h$sp - 23)] = x4;+ h$stack[(h$sp - 22)] = x5;+ h$stack[(h$sp - 21)] = x6;+ h$stack[(h$sp - 20)] = x7;+ h$stack[(h$sp - 19)] = x8;+ h$stack[(h$sp - 18)] = x9;+ h$stack[(h$sp - 17)] = x10;+ h$stack[(h$sp - 16)] = x11;+ h$stack[(h$sp - 15)] = x12;+ h$stack[(h$sp - 14)] = x13;+ h$stack[(h$sp - 13)] = x14;+ h$stack[(h$sp - 12)] = x15;+ h$stack[(h$sp - 11)] = x16;+ h$stack[(h$sp - 10)] = x17;+ h$stack[(h$sp - 9)] = x18;+ h$stack[(h$sp - 8)] = x19;+ h$stack[(h$sp - 7)] = x20;+ h$stack[(h$sp - 6)] = x21;+ h$stack[(h$sp - 5)] = x22;+ h$stack[(h$sp - 4)] = x23;+ h$stack[(h$sp - 3)] = x24;+ h$stack[(h$sp - 2)] = x25;+ h$stack[(h$sp - 1)] = x26;+ h$stack[(h$sp - 0)] = x27;+};+function h$p28(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28)+{+ h$sp += 28;+ h$stack[(h$sp - 27)] = x1;+ h$stack[(h$sp - 26)] = x2;+ h$stack[(h$sp - 25)] = x3;+ h$stack[(h$sp - 24)] = x4;+ h$stack[(h$sp - 23)] = x5;+ h$stack[(h$sp - 22)] = x6;+ h$stack[(h$sp - 21)] = x7;+ h$stack[(h$sp - 20)] = x8;+ h$stack[(h$sp - 19)] = x9;+ h$stack[(h$sp - 18)] = x10;+ h$stack[(h$sp - 17)] = x11;+ h$stack[(h$sp - 16)] = x12;+ h$stack[(h$sp - 15)] = x13;+ h$stack[(h$sp - 14)] = x14;+ h$stack[(h$sp - 13)] = x15;+ h$stack[(h$sp - 12)] = x16;+ h$stack[(h$sp - 11)] = x17;+ h$stack[(h$sp - 10)] = x18;+ h$stack[(h$sp - 9)] = x19;+ h$stack[(h$sp - 8)] = x20;+ h$stack[(h$sp - 7)] = x21;+ h$stack[(h$sp - 6)] = x22;+ h$stack[(h$sp - 5)] = x23;+ h$stack[(h$sp - 4)] = x24;+ h$stack[(h$sp - 3)] = x25;+ h$stack[(h$sp - 2)] = x26;+ h$stack[(h$sp - 1)] = x27;+ h$stack[(h$sp - 0)] = x28;+};+function h$p29(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28, x29)+{+ h$sp += 29;+ h$stack[(h$sp - 28)] = x1;+ h$stack[(h$sp - 27)] = x2;+ h$stack[(h$sp - 26)] = x3;+ h$stack[(h$sp - 25)] = x4;+ h$stack[(h$sp - 24)] = x5;+ h$stack[(h$sp - 23)] = x6;+ h$stack[(h$sp - 22)] = x7;+ h$stack[(h$sp - 21)] = x8;+ h$stack[(h$sp - 20)] = x9;+ h$stack[(h$sp - 19)] = x10;+ h$stack[(h$sp - 18)] = x11;+ h$stack[(h$sp - 17)] = x12;+ h$stack[(h$sp - 16)] = x13;+ h$stack[(h$sp - 15)] = x14;+ h$stack[(h$sp - 14)] = x15;+ h$stack[(h$sp - 13)] = x16;+ h$stack[(h$sp - 12)] = x17;+ h$stack[(h$sp - 11)] = x18;+ h$stack[(h$sp - 10)] = x19;+ h$stack[(h$sp - 9)] = x20;+ h$stack[(h$sp - 8)] = x21;+ h$stack[(h$sp - 7)] = x22;+ h$stack[(h$sp - 6)] = x23;+ h$stack[(h$sp - 5)] = x24;+ h$stack[(h$sp - 4)] = x25;+ h$stack[(h$sp - 3)] = x26;+ h$stack[(h$sp - 2)] = x27;+ h$stack[(h$sp - 1)] = x28;+ h$stack[(h$sp - 0)] = x29;+};+function h$p30(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28, x29, x30)+{+ h$sp += 30;+ h$stack[(h$sp - 29)] = x1;+ h$stack[(h$sp - 28)] = x2;+ h$stack[(h$sp - 27)] = x3;+ h$stack[(h$sp - 26)] = x4;+ h$stack[(h$sp - 25)] = x5;+ h$stack[(h$sp - 24)] = x6;+ h$stack[(h$sp - 23)] = x7;+ h$stack[(h$sp - 22)] = x8;+ h$stack[(h$sp - 21)] = x9;+ h$stack[(h$sp - 20)] = x10;+ h$stack[(h$sp - 19)] = x11;+ h$stack[(h$sp - 18)] = x12;+ h$stack[(h$sp - 17)] = x13;+ h$stack[(h$sp - 16)] = x14;+ h$stack[(h$sp - 15)] = x15;+ h$stack[(h$sp - 14)] = x16;+ h$stack[(h$sp - 13)] = x17;+ h$stack[(h$sp - 12)] = x18;+ h$stack[(h$sp - 11)] = x19;+ h$stack[(h$sp - 10)] = x20;+ h$stack[(h$sp - 9)] = x21;+ h$stack[(h$sp - 8)] = x22;+ h$stack[(h$sp - 7)] = x23;+ h$stack[(h$sp - 6)] = x24;+ h$stack[(h$sp - 5)] = x25;+ h$stack[(h$sp - 4)] = x26;+ h$stack[(h$sp - 3)] = x27;+ h$stack[(h$sp - 2)] = x28;+ h$stack[(h$sp - 1)] = x29;+ h$stack[(h$sp - 0)] = x30;+};+function h$p31(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28, x29, x30, x31)+{+ h$sp += 31;+ h$stack[(h$sp - 30)] = x1;+ h$stack[(h$sp - 29)] = x2;+ h$stack[(h$sp - 28)] = x3;+ h$stack[(h$sp - 27)] = x4;+ h$stack[(h$sp - 26)] = x5;+ h$stack[(h$sp - 25)] = x6;+ h$stack[(h$sp - 24)] = x7;+ h$stack[(h$sp - 23)] = x8;+ h$stack[(h$sp - 22)] = x9;+ h$stack[(h$sp - 21)] = x10;+ h$stack[(h$sp - 20)] = x11;+ h$stack[(h$sp - 19)] = x12;+ h$stack[(h$sp - 18)] = x13;+ h$stack[(h$sp - 17)] = x14;+ h$stack[(h$sp - 16)] = x15;+ h$stack[(h$sp - 15)] = x16;+ h$stack[(h$sp - 14)] = x17;+ h$stack[(h$sp - 13)] = x18;+ h$stack[(h$sp - 12)] = x19;+ h$stack[(h$sp - 11)] = x20;+ h$stack[(h$sp - 10)] = x21;+ h$stack[(h$sp - 9)] = x22;+ h$stack[(h$sp - 8)] = x23;+ h$stack[(h$sp - 7)] = x24;+ h$stack[(h$sp - 6)] = x25;+ h$stack[(h$sp - 5)] = x26;+ h$stack[(h$sp - 4)] = x27;+ h$stack[(h$sp - 3)] = x28;+ h$stack[(h$sp - 2)] = x29;+ h$stack[(h$sp - 1)] = x30;+ h$stack[(h$sp - 0)] = x31;+};+function h$p32(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23,+x24, x25, x26, x27, x28, x29, x30, x31, x32)+{+ h$sp += 32;+ h$stack[(h$sp - 31)] = x1;+ h$stack[(h$sp - 30)] = x2;+ h$stack[(h$sp - 29)] = x3;+ h$stack[(h$sp - 28)] = x4;+ h$stack[(h$sp - 27)] = x5;+ h$stack[(h$sp - 26)] = x6;+ h$stack[(h$sp - 25)] = x7;+ h$stack[(h$sp - 24)] = x8;+ h$stack[(h$sp - 23)] = x9;+ h$stack[(h$sp - 22)] = x10;+ h$stack[(h$sp - 21)] = x11;+ h$stack[(h$sp - 20)] = x12;+ h$stack[(h$sp - 19)] = x13;+ h$stack[(h$sp - 18)] = x14;+ h$stack[(h$sp - 17)] = x15;+ h$stack[(h$sp - 16)] = x16;+ h$stack[(h$sp - 15)] = x17;+ h$stack[(h$sp - 14)] = x18;+ h$stack[(h$sp - 13)] = x19;+ h$stack[(h$sp - 12)] = x20;+ h$stack[(h$sp - 11)] = x21;+ h$stack[(h$sp - 10)] = x22;+ h$stack[(h$sp - 9)] = x23;+ h$stack[(h$sp - 8)] = x24;+ h$stack[(h$sp - 7)] = x25;+ h$stack[(h$sp - 6)] = x26;+ h$stack[(h$sp - 5)] = x27;+ h$stack[(h$sp - 4)] = x28;+ h$stack[(h$sp - 3)] = x29;+ h$stack[(h$sp - 2)] = x30;+ h$stack[(h$sp - 1)] = x31;+ h$stack[(h$sp - 0)] = x32;+};+function h$pp2(x1)+{+ h$sp += 2;+ h$stack[(h$sp - 0)] = x1;+};+function h$pp4(x1)+{+ h$sp += 3;+ h$stack[(h$sp - 0)] = x1;+};+function h$pp5(x1, x2)+{+ h$sp += 3;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp6(x1, x2)+{+ h$sp += 3;+ h$stack[(h$sp - 1)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp8(x1)+{+ h$sp += 4;+ h$stack[(h$sp - 0)] = x1;+};+function h$pp9(x1, x2)+{+ h$sp += 4;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp10(x1, x2)+{+ h$sp += 4;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp11(x1, x2, x3)+{+ h$sp += 4;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp12(x1, x2)+{+ h$sp += 4;+ h$stack[(h$sp - 1)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp13(x1, x2, x3)+{+ h$sp += 4;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp14(x1, x2, x3)+{+ h$sp += 4;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp16(x1)+{+ h$sp += 5;+ h$stack[(h$sp - 0)] = x1;+};+function h$pp17(x1, x2)+{+ h$sp += 5;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp18(x1, x2)+{+ h$sp += 5;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp19(x1, x2, x3)+{+ h$sp += 5;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp20(x1, x2)+{+ h$sp += 5;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp21(x1, x2, x3)+{+ h$sp += 5;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp22(x1, x2, x3)+{+ h$sp += 5;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp23(x1, x2, x3, x4)+{+ h$sp += 5;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp24(x1, x2)+{+ h$sp += 5;+ h$stack[(h$sp - 1)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp25(x1, x2, x3)+{+ h$sp += 5;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp26(x1, x2, x3)+{+ h$sp += 5;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp27(x1, x2, x3, x4)+{+ h$sp += 5;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp28(x1, x2, x3)+{+ h$sp += 5;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp29(x1, x2, x3, x4)+{+ h$sp += 5;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp30(x1, x2, x3, x4)+{+ h$sp += 5;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp32(x1)+{+ h$sp += 6;+ h$stack[(h$sp - 0)] = x1;+};+function h$pp33(x1, x2)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp34(x1, x2)+{+ h$sp += 6;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp35(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp36(x1, x2)+{+ h$sp += 6;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp37(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp38(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp39(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp40(x1, x2)+{+ h$sp += 6;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp41(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp42(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp43(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp44(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp45(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp46(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp47(x1, x2, x3, x4, x5)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp48(x1, x2)+{+ h$sp += 6;+ h$stack[(h$sp - 1)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp49(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp50(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp51(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp52(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp53(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp54(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp55(x1, x2, x3, x4, x5)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp56(x1, x2, x3)+{+ h$sp += 6;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp57(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp58(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp59(x1, x2, x3, x4, x5)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp60(x1, x2, x3, x4)+{+ h$sp += 6;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp61(x1, x2, x3, x4, x5)+{+ h$sp += 6;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp62(x1, x2, x3, x4, x5)+{+ h$sp += 6;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp64(x1)+{+ h$sp += 7;+ h$stack[(h$sp - 0)] = x1;+};+function h$pp65(x1, x2)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp66(x1, x2)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp67(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp68(x1, x2)+{+ h$sp += 7;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp69(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp70(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp71(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp72(x1, x2)+{+ h$sp += 7;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp73(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp74(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp75(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp76(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp77(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp78(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp79(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp80(x1, x2)+{+ h$sp += 7;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp81(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp82(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp83(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp84(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp85(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp86(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp87(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp88(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp89(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp90(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp91(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp92(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp93(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp94(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp95(x1, x2, x3, x4, x5, x6)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp96(x1, x2)+{+ h$sp += 7;+ h$stack[(h$sp - 1)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp97(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp98(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp99(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp100(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp101(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp102(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp103(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp104(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp105(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp106(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp107(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp108(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp109(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp110(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp111(x1, x2, x3, x4, x5, x6)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp112(x1, x2, x3)+{+ h$sp += 7;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp113(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp114(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp115(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp116(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp117(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp118(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp119(x1, x2, x3, x4, x5, x6)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp120(x1, x2, x3, x4)+{+ h$sp += 7;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp121(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp122(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp123(x1, x2, x3, x4, x5, x6)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp124(x1, x2, x3, x4, x5)+{+ h$sp += 7;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp125(x1, x2, x3, x4, x5, x6)+{+ h$sp += 7;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp126(x1, x2, x3, x4, x5, x6)+{+ h$sp += 7;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp128(x1)+{+ h$sp += 8;+ h$stack[(h$sp - 0)] = x1;+};+function h$pp129(x1, x2)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp130(x1, x2)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp131(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp132(x1, x2)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp133(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp134(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp135(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp136(x1, x2)+{+ h$sp += 8;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp137(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp138(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp139(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp140(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp141(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp142(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp143(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 4)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp144(x1, x2)+{+ h$sp += 8;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp145(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp146(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp147(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp148(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp149(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp150(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp151(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp152(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp153(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp154(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp155(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp156(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp157(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp158(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp159(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 4)] = x4;+ h$stack[(h$sp - 3)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp160(x1, x2)+{+ h$sp += 8;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp161(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp162(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp163(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp164(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp165(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp166(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp167(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp168(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp169(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp170(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp171(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp172(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp173(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp174(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp175(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 4)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp176(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp177(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp178(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp179(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp180(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp181(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp182(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp183(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp184(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp185(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp186(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp187(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp188(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp189(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp190(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp191(x1, x2, x3, x4, x5, x6, x7)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 4)] = x4;+ h$stack[(h$sp - 3)] = x5;+ h$stack[(h$sp - 2)] = x6;+ h$stack[(h$sp - 0)] = x7;+};+function h$pp192(x1, x2)+{+ h$sp += 8;+ h$stack[(h$sp - 1)] = x1;+ h$stack[(h$sp - 0)] = x2;+};+function h$pp193(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp194(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp195(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp196(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp197(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp198(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp199(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp200(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp201(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp202(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp203(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp204(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp205(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp206(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp207(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 4)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp208(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp209(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp210(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp211(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp212(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp213(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp214(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp215(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp216(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp217(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp218(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp219(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp220(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp221(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp222(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp223(x1, x2, x3, x4, x5, x6, x7)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 4)] = x4;+ h$stack[(h$sp - 3)] = x5;+ h$stack[(h$sp - 1)] = x6;+ h$stack[(h$sp - 0)] = x7;+};+function h$pp224(x1, x2, x3)+{+ h$sp += 8;+ h$stack[(h$sp - 2)] = x1;+ h$stack[(h$sp - 1)] = x2;+ h$stack[(h$sp - 0)] = x3;+};+function h$pp225(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp226(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp227(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp228(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp229(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp230(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp231(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp232(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp233(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp234(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp235(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp236(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp237(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp238(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp239(x1, x2, x3, x4, x5, x6, x7)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 4)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 1)] = x6;+ h$stack[(h$sp - 0)] = x7;+};+function h$pp240(x1, x2, x3, x4)+{+ h$sp += 8;+ h$stack[(h$sp - 3)] = x1;+ h$stack[(h$sp - 2)] = x2;+ h$stack[(h$sp - 1)] = x3;+ h$stack[(h$sp - 0)] = x4;+};+function h$pp241(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp242(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp243(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp244(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp245(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp246(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp247(x1, x2, x3, x4, x5, x6, x7)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 5)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 1)] = x6;+ h$stack[(h$sp - 0)] = x7;+};+function h$pp248(x1, x2, x3, x4, x5)+{+ h$sp += 8;+ h$stack[(h$sp - 4)] = x1;+ h$stack[(h$sp - 3)] = x2;+ h$stack[(h$sp - 2)] = x3;+ h$stack[(h$sp - 1)] = x4;+ h$stack[(h$sp - 0)] = x5;+};+function h$pp249(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp250(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp251(x1, x2, x3, x4, x5, x6, x7)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 6)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 1)] = x6;+ h$stack[(h$sp - 0)] = x7;+};+function h$pp252(x1, x2, x3, x4, x5, x6)+{+ h$sp += 8;+ h$stack[(h$sp - 5)] = x1;+ h$stack[(h$sp - 4)] = x2;+ h$stack[(h$sp - 3)] = x3;+ h$stack[(h$sp - 2)] = x4;+ h$stack[(h$sp - 1)] = x5;+ h$stack[(h$sp - 0)] = x6;+};+function h$pp253(x1, x2, x3, x4, x5, x6, x7)+{+ h$sp += 8;+ h$stack[(h$sp - 7)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 1)] = x6;+ h$stack[(h$sp - 0)] = x7;+};+function h$pp254(x1, x2, x3, x4, x5, x6, x7)+{+ h$sp += 8;+ h$stack[(h$sp - 6)] = x1;+ h$stack[(h$sp - 5)] = x2;+ h$stack[(h$sp - 4)] = x3;+ h$stack[(h$sp - 3)] = x4;+ h$stack[(h$sp - 2)] = x5;+ h$stack[(h$sp - 1)] = x6;+ h$stack[(h$sp - 0)] = x7;+};+function h$bh()+{+ h$p2(h$r1, h$upd_frame);+ h$r1.f = h$blackhole;+ h$r1.d1 = h$currentThread;+ h$r1.d2 = null;+};+function h$bh_lne(h$RTS_26, h$RTS_27)+{+ var h$RTS_28 = h$stack[h$RTS_26];+ if(h$RTS_28)+ {+ h$sp -= h$RTS_27;+ if((h$RTS_28 === h$blackhole))+ {+ return h$throw(h$baseZCControlziExceptionziBasezinonTermination, false);+ }+ else+ {+ h$r1 = h$RTS_28;+ h$sp -= h$RTS_27;+ return h$stack[h$sp];+ };+ }+ else+ {+ h$stack[h$RTS_26] = h$blackhole;+ return null;+ };+};+function h$blackhole()+{+ throw("oops: entered black hole");+ return 0;+};+h$o(h$blackhole, 5, 0, 2, 0, null);+function h$blackholeTrap()+{+ throw("oops: entered multiple times");+ return 0;+};+h$o(h$blackholeTrap, 0, 0, 2, 0, null);+function h$done(h$RTS_29)+{+ h$finishThread(h$currentThread);+ return h$reschedule;+};+h$o(h$done, (-1), 0, 0, 256, null);+function h$doneMain()+{+ if(((typeof process !== "undefined") && process.exit))+ {+ process.exit(0);+ }+ else+ {+ if((typeof quit !== "undefined"))+ {+ if((((typeof h$base_stdoutLeftover !== "undefined") && h$base_stdoutLeftover) && h$base_stdoutLeftover.val))+ {+ print(h$base_stdoutLeftover.val);+ };+ if((((typeof h$base_stderrLeftover !== "undefined") && h$base_stderrLeftover) && h$base_stderrLeftover.val))+ {+ debug(h$base_stderrLeftover.val);+ };+ quit();+ };+ };+ h$finishThread(h$currentThread);+ return h$reschedule;+};+h$o(h$doneMain, (-1), 0, 0, 256, null);+function h$false_e()+{+ return h$stack[h$sp];+};+h$o(h$false_e, 2, 1, 0, 256, null);+function h$true_e()+{+ return h$stack[h$sp];+};+h$o(h$true_e, 2, 2, 0, 256, null);+function h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e()+{+ return h$stack[h$sp];+};+h$o(h$integerzmgmpZCGHCziIntegerziTypeziSzh_con_e, 2, 1, 1, 256, null);+function h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e()+{+ return h$stack[h$sp];+};+h$o(h$integerzmgmpZCGHCziIntegerziTypeziJzh_con_e, 2, 2, 2, 256, null);+function h$data1_e()+{+ return h$stack[h$sp];+};+h$o(h$data1_e, 2, 1, 1, 256, null);+function h$data2_e()+{+ return h$stack[h$sp];+};+h$o(h$data2_e, 2, 1, 2, 256, null);+function h$con_e()+{+ return h$stack[h$sp];+};+function h$catch(h$RTS_30, h$RTS_31)+{+ h$sp += 3;+ h$stack[(h$sp - 2)] = h$currentThread.mask;+ h$stack[(h$sp - 1)] = h$RTS_31;+ h$stack[h$sp] = h$catch_e;+ h$r1 = h$RTS_30;+ return h$ap_1_0_fast();+};+function h$noop_e()+{+ return h$stack[h$sp];+};+h$o(h$noop_e, 1, 1, 0, 257, null);+var h$noop = h$c0(h$noop_e);+function h$catch_e()+{+ h$sp -= 3;+ return h$stack[h$sp];+};+h$o(h$catch_e, (-1), 0, 2, 256, null);+function h$ap1_e()+{+ var h$RTS_32 = h$r1.d1;+ var h$RTS_33 = h$r1.d2;+ h$bh();+ h$r1 = h$RTS_32;+ h$r2 = h$RTS_33;+ return h$ap_1_1_fast();+};+h$o(h$ap1_e, 0, 0, 2, 256, null);+function h$ap2_e()+{+ var h$RTS_34 = h$r1.d1;+ var h$RTS_35 = h$r1.d2.d1;+ var h$RTS_36 = h$r1.d2.d2;+ h$bh();+ h$r1 = h$RTS_34;+ h$r2 = h$RTS_35;+ h$r3 = h$RTS_36;+ return h$ap_2_2_fast();+};+h$o(h$ap2_e, 0, 0, 3, 256, null);+function h$ap3_e()+{+ var h$RTS_37 = h$r1.d1;+ var h$RTS_38 = h$r1.d2.d1;+ var h$RTS_39 = h$r1.d2.d2;+ var h$RTS_40 = h$r1.d2.d3;+ h$bh();+ h$r1 = h$RTS_37;+ h$r2 = h$RTS_38;+ h$r3 = h$RTS_39;+ h$r4 = h$RTS_40;+ return h$ap_3_3_fast();+};+h$o(h$ap3_e, 0, 0, 4, 256, null);+function h$select1_e()+{+ var h$RTS_41 = h$r1.d1;+ h$sp += 3;+ h$stack[(h$sp - 2)] = h$r1;+ h$stack[(h$sp - 1)] = h$upd_frame;+ h$stack[h$sp] = h$select1_ret;+ h$r1.f = h$blackhole;+ h$r1.d1 = h$currentThread;+ h$r1.d2 = null;+ h$r1 = h$RTS_41;+ return h$ap_0_0_fast();+};+h$o(h$select1_e, 0, 0, 1, 256, null);+function h$select1_ret()+{+ h$r1 = h$r1.d1;+ --h$sp;+ return h$ap_0_0_fast();+};+h$o(h$select1_ret, (-1), 0, 0, 256, null);+function h$select2_e()+{+ var h$RTS_42 = h$r1.d1;+ h$sp += 3;+ h$stack[(h$sp - 2)] = h$r1;+ h$stack[(h$sp - 1)] = h$upd_frame;+ h$stack[h$sp] = h$select2_ret;+ h$r1.f = h$blackhole;+ h$r1.d1 = h$currentThread;+ h$r1.d2 = null;+ h$r1 = h$RTS_42;+ return h$ap_0_0_fast();+};+h$o(h$select2_e, 0, 0, 1, 256, null);+function h$select2_ret()+{+ h$r1 = h$r1.d2;+ --h$sp;+ return h$ap_0_0_fast();+};+h$o(h$select2_ret, (-1), 0, 0, 256, null);+function h$throw(h$RTS_43, h$RTS_44)+{+ var h$RTS_45 = h$sp;+ var h$RTS_46 = null;+ var h$RTS_47;+ while((h$sp > 0))+ {+ h$RTS_47 = h$stack[h$sp];+ if(((h$RTS_47 === null) || (h$RTS_47 === undefined)))+ {+ throw("h$throw: invalid object while unwinding stack");+ };+ if((h$RTS_47 === h$catch_e))+ {+ break;+ };+ if((h$RTS_47 === h$atomically_e))+ {+ if(h$RTS_44)+ {+ h$currentThread.transaction = null;+ }+ else+ {+ if(!h$stmValidateTransaction())+ {+ ++h$sp;+ h$stack[h$sp] = h$checkInvariants_e;+ return h$stmStartTransaction(h$stack[(h$sp - 2)]);+ };+ };+ };+ if(((h$RTS_47 === h$catchStm_e) && !h$RTS_44))+ {+ break;+ };+ if((h$RTS_47 === h$upd_frame))+ {+ var h$RTS_48 = h$stack[(h$sp - 1)];+ var h$RTS_49 = h$RTS_48.d2;+ if((h$RTS_49 !== null))+ {+ for(var h$RTS_50 = 0;(h$RTS_50 < h$RTS_49.length);(h$RTS_50++)) {+ h$wakeupThread(h$RTS_49[h$RTS_50]);+ };+ };+ if(h$RTS_44)+ {+ if((h$RTS_46 === null))+ {+ h$makeResumable(h$RTS_48, (h$sp + 1), h$RTS_45, []);+ }+ else+ {+ h$makeResumable(h$RTS_48, (h$sp + 1), (h$RTS_46 - 2), [h$ap_0_0, h$stack[(h$RTS_46 - 1)], h$return]);+ };+ h$RTS_46 = h$sp;+ }+ else+ {+ h$RTS_48.f = h$raise_e;+ h$RTS_48.d1 = h$RTS_43;+ h$RTS_48.d2 = null;+ };+ };+ var h$RTS_51;+ if((h$RTS_47 === h$ap_gen))+ {+ h$RTS_51 = ((h$stack[(h$sp - 1)] >> 8) + 2);+ }+ else+ {+ var h$RTS_52 = h$RTS_47.size;+ if((h$RTS_52 < 0))+ {+ h$RTS_51 = h$stack[(h$sp - 1)];+ }+ else+ {+ h$RTS_51 = ((h$RTS_52 & 255) + 1);+ };+ };+ h$sp -= h$RTS_51;+ };+ if((h$sp > 0))+ {+ var h$RTS_53 = h$stack[(h$sp - 2)];+ var h$RTS_54 = h$stack[(h$sp - 1)];+ if((h$RTS_47 === h$catchStm_e))+ {+ h$currentThread.transaction = h$stack[(h$sp - 3)];+ h$sp -= 4;+ }+ else+ {+ if((h$sp > 3))+ {+ h$sp -= 3;+ };+ };+ h$r1 = h$RTS_54;+ h$r2 = h$RTS_43;+ if((h$RTS_47 !== h$catchStm_e))+ {+ if((((h$RTS_53 === 0) && (h$stack[h$sp] !== h$maskFrame)) && (h$stack[h$sp] !== h$maskUnintFrame)))+ {+ h$stack[(h$sp + 1)] = h$unmaskFrame;+ ++h$sp;+ }+ else+ {+ if((h$RTS_53 === 1))+ {+ h$stack[(h$sp + 1)] = h$maskUnintFrame;+ ++h$sp;+ };+ };+ h$currentThread.mask = 2;+ };+ return h$ap_2_1_fast();+ }+ else+ {+ throw("unhandled exception in haskell thread");+ };+};+function h$raise_e()+{+ return h$throw(h$r1.d1, false);+};+h$o(h$raise_e, 0, 0, 0, 256, null);+function h$raiseAsync_e()+{+ return h$throw(h$r1.d1, true);+};+h$o(h$raiseAsync_e, 0, 0, 0, 256, null);+function h$raiseAsync_frame()+{+ var h$RTS_55 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$throw(h$RTS_55, true);+};+h$o(h$raiseAsync_frame, (-1), 0, 1, 0, null);+function h$reduce()+{+ if((h$r1.f.t === 0))+ {+ return h$r1.f;+ }+ else+ {+ --h$sp;+ return h$stack[h$sp];+ };+};+h$o(h$reduce, (-1), 0, 0, 256, null);+var h$RTS_56 = 0;+function h$gc_check(h$RTS_57)+{+ if((++h$RTS_56 > 1000))+ {+ for(var h$RTS_58 = (h$sp + 1);(h$RTS_58 < h$stack.length);(h$RTS_58++)) {+ h$stack[h$RTS_58] = null;+ };+ h$RTS_56 = 0;+ };+ return 0;+};+function h$o(h$RTS_59, h$RTS_60, h$RTS_61, h$RTS_62, h$RTS_63, h$RTS_64)+{+ h$setObjInfo(h$RTS_59, h$RTS_60, "", [], h$RTS_61, h$RTS_62, h$RTS_63, h$RTS_64);+};+function h$setObjInfo(h$RTS_65, h$RTS_66, h$RTS_67, h$RTS_68, h$RTS_69, h$RTS_70, h$RTS_71, h$RTS_72)+{+ h$RTS_65.t = h$RTS_66;+ h$RTS_65.i = h$RTS_68;+ h$RTS_65.n = h$RTS_67;+ h$RTS_65.a = h$RTS_69;+ h$RTS_65.r = h$RTS_71;+ h$RTS_65.s = h$RTS_72;+ h$RTS_65.m = 0;+ h$RTS_65.size = h$RTS_70;+};+function h$static_thunk(h$RTS_73)+{+ var h$RTS_74 = { d1: null, d2: null, f: h$RTS_73, m: 0+ };+ h$CAFs.push(h$RTS_74);+ h$CAFsReset.push(h$RTS_73);+ return h$RTS_74;+};+function h$printcl(h$RTS_75)+{+ var h$RTS_76 = h$RTS_75.f;+ var h$RTS_77 = h$RTS_75.d1;+ var h$RTS_78 = "";+ switch (h$RTS_76.t)+ {+ case (0):+ h$RTS_78 += "thunk";+ break;+ case (2):+ h$RTS_78 += (("con[" + h$RTS_76.a) + "]");+ break;+ case (3):+ h$RTS_78 += (("pap[" + h$RTS_76.a) + "]");+ break;+ case (1):+ h$RTS_78 += (("fun[" + h$RTS_76.a) + "]");+ break;+ default:+ h$RTS_78 += "unknown closure type";+ break;+ };+ h$RTS_78 += ((" :: " + h$RTS_76.n) + " ->");+ var h$RTS_79 = 1;+ for(var h$RTS_80 = 0;(h$RTS_80 < h$RTS_76.i.length);(h$RTS_80++)) {+ h$RTS_78 += " ";+ switch (h$RTS_76.i[h$RTS_80])+ {+ case (0):+ h$RTS_78 += (("[ Ptr :: " + h$RTS_77[("d" + h$RTS_79)].f.n) + "]");+ h$RTS_79++;+ break;+ case (1):+ h$RTS_78 += "void";+ break;+ case (2):+ h$RTS_78 += (("(" + h$RTS_77[("d" + h$RTS_79)]) + " :: double)");+ h$RTS_79++;+ break;+ case (3):+ h$RTS_78 += (("(" + h$RTS_77[("d" + h$RTS_79)]) + " :: int)");+ h$RTS_79++;+ break;+ case (4):+ h$RTS_78 += (((("(" + h$RTS_77[("d" + h$RTS_79)]) + ",") + h$RTS_77[("d" + (h$RTS_79 + 1))]) + " :: long)");+ h$RTS_79 += 2;+ break;+ case (5):+ h$RTS_78 += (((("(" + h$RTS_77[("d" + h$RTS_79)].length) + ",") + h$RTS_77[("d" + (h$RTS_79 + 1))]) + " :: ptr)");+ h$RTS_79 += 2;+ break;+ case (6):+ h$RTS_78 += (("(" + h$RTS_77[("d" + h$RTS_79)].toString()) + " :: RTS object)");+ h$RTS_79++;+ break;+ default:+ h$RTS_78 += ("unknown field: " + h$RTS_76.i[h$RTS_80]);+ };+ };+ h$log(h$RTS_78);+};+function h$init_closure(h$RTS_81, h$RTS_82)+{+ h$RTS_81.m = 0;+ switch (h$RTS_82.length)+ {+ case (0):+ h$RTS_81.d1 = null;+ h$RTS_81.d2 = null;+ return h$RTS_81;+ case (1):+ h$RTS_81.d1 = h$RTS_82[0];+ h$RTS_81.d2 = null;+ return h$RTS_81;+ case (2):+ h$RTS_81.d1 = h$RTS_82[0];+ h$RTS_81.d2 = h$RTS_82[1];+ return h$RTS_81;+ case (3):+ h$RTS_81.d1 = h$RTS_82[0];+ h$RTS_81.d2 = { d1: h$RTS_82[1], d2: h$RTS_82[2]+ };+ return h$RTS_81;+ case (4):+ h$RTS_81.d1 = h$RTS_82[0];+ h$RTS_81.d2 = { d1: h$RTS_82[1], d2: h$RTS_82[2], d3: h$RTS_82[3]+ };+ return h$RTS_81;+ case (5):+ h$RTS_81.d1 = h$RTS_82[0];+ h$RTS_81.d2 = { d1: h$RTS_82[1], d2: h$RTS_82[2], d3: h$RTS_82[3], d4: h$RTS_82[4]+ };+ return h$RTS_81;+ case (6):+ h$RTS_81.d1 = h$RTS_82[0];+ h$RTS_81.d2 = { d1: h$RTS_82[1], d2: h$RTS_82[2], d3: h$RTS_82[3], d4: h$RTS_82[4], d5: h$RTS_82[5]+ };+ return h$RTS_81;+ case (7):+ h$RTS_81.d1 = h$RTS_82[0];+ h$RTS_81.d2 = { d1: h$RTS_82[1], d2: h$RTS_82[2], d3: h$RTS_82[3], d4: h$RTS_82[4], d5: h$RTS_82[5], d6: h$RTS_82[6]+ };+ return h$RTS_81;+ default:+ h$RTS_81.d1 = h$RTS_82[0];+ h$RTS_81.d2 = { d1: h$RTS_82[1], d2: h$RTS_82[2], d3: h$RTS_82[3], d4: h$RTS_82[4], d5: h$RTS_82[5], d6: h$RTS_82[6]+ };+ for(var h$RTS_83 = 7;(h$RTS_83 < h$RTS_82.length);(h$RTS_83++)) {+ h$RTS_81.d2[("d" + h$RTS_83)] = h$RTS_82[h$RTS_83];+ };+ return h$RTS_81;+ };+};+function h$runInitStatic()+{+ if((h$initStatic.length == 0))+ {+ return undefined;+ };+ for(var h$RTS_84 = (h$initStatic.length - 1);(h$RTS_84 >= 0);(h$RTS_84--)) {+ h$initStatic[h$RTS_84]();+ };+ h$initStatic = [];+};+function h$checkStack(h$RTS_85)+{+ if((h$RTS_85.t === (-1)))+ {+ h$stack[h$sp] = h$RTS_85;+ };+ var h$RTS_86 = h$sp;+ while((h$RTS_86 >= 0))+ {+ h$RTS_85 = h$stack[h$RTS_86];+ var h$RTS_87;+ var h$RTS_88;+ if((typeof h$RTS_85 === "function"))+ {+ if((h$RTS_85 === h$ap_gen))+ {+ h$RTS_87 = ((h$stack[(h$RTS_86 - 1)] >> 8) + 2);+ h$RTS_88 = 2;+ }+ else+ {+ var h$RTS_89 = h$stack[h$RTS_86].size;+ if((h$RTS_89 <= 0))+ {+ h$RTS_87 = h$stack[(h$RTS_86 - 1)];+ h$RTS_88 = 2;+ }+ else+ {+ h$RTS_87 = ((h$RTS_89 & 255) + 1);+ h$RTS_88 = 1;+ };+ };+ h$RTS_86 -= h$RTS_87;+ }+ else+ {+ h$dumpStackTop(h$stack, 0, h$sp);+ throw(("invalid stack object at: " + h$RTS_86));+ };+ };+};+function h$printReg(h$RTS_90)+{+ if((h$RTS_90 === null))+ {+ return "null";+ }+ else+ {+ if(((((typeof h$RTS_90 === "object") && h$RTS_90.hasOwnProperty("f")) && h$RTS_90.hasOwnProperty("d1")) && h$RTS_90.+ hasOwnProperty("d2")))+ {+ if((typeof h$RTS_90.f !== "function"))+ {+ return "dodgy object";+ }+ else+ {+ if(((h$RTS_90.f.t === 5) && h$RTS_90.x))+ {+ return (("blackhole: -> " + h$printReg({ d: h$RTS_90.d1.x2, f: h$RTS_90.x.x1+ })) + ")");+ }+ else+ {+ return (((((((h$RTS_90.alloc ? (h$RTS_90.alloc + ": ") : "") + h$RTS_90.f.n) + " (") + h$closureTypeName(h$RTS_90.f.+ t)) + ", ") + h$RTS_90.f.a) + ")");+ };+ };+ }+ else+ {+ if((typeof h$RTS_90 === "object"))+ {+ var h$RTS_91 = h$collectProps(h$RTS_90);+ if((h$RTS_91.length > 40))+ {+ return (h$RTS_91.substr(0, 40) + "...");+ }+ else+ {+ return h$RTS_91;+ };+ }+ else+ {+ var h$RTS_92 = (new String(h$RTS_90) + "");+ if((h$RTS_92.length > 40))+ {+ return (h$RTS_92.substr(0, 40) + "...");+ }+ else+ {+ return h$RTS_92;+ };+ };+ };+ };+};+function h$logStack()+{+ if((typeof h$stack[h$sp] === "undefined"))+ {+ h$log("warning: invalid stack frame");+ return undefined;+ };+ var h$RTS_93 = 0;+ var h$RTS_94 = h$stack[h$sp].size;+ if((h$RTS_94 === (-1)))+ {+ h$RTS_93 = (h$stack[(h$sp - 1)] & 255);+ }+ else+ {+ h$RTS_93 = (h$RTS_94 & 255);+ };+ h$dumpStackTop(h$stack, ((h$sp - h$RTS_93) - 2), h$sp);+ for(var h$RTS_95 = Math.max(0, ((h$sp - h$RTS_93) + 1));(h$RTS_95 <= h$sp);(h$RTS_95++)) {+ if((typeof h$stack[h$RTS_95] === "undefined"))+ {+ throw("undefined on stack");+ };+ };+};+function h$ap_1_0()+{+ var h$RTS_96 = h$r1.f;+ switch (h$RTS_96.t)+ {+ case (0):+ return h$RTS_96;+ case (1):+ var h$RTS_98 = h$RTS_96.a;+ var h$RTS_99 = (h$RTS_98 & 255);+ if((1 === h$RTS_99))+ {+ --h$sp;+ return h$RTS_96;+ }+ else+ {+ if((1 > h$RTS_99))+ {+ var h$RTS_100 = (h$RTS_98 >> 8);+ switch (h$RTS_100)+ {+ default:+ };+ h$sp -= h$RTS_100;+ var h$RTS_101 = h$apply[((1 - h$RTS_99) | ((0 - h$RTS_100) << 8))];+ h$stack[h$sp] = h$RTS_101;+ return h$RTS_96;+ }+ else+ {+ var h$RTS_97 = h$c3(h$pap_0, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 0) - 1), null);+ --h$sp;+ h$r1 = h$RTS_97;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_103 = h$r1.d2.d1;+ var h$RTS_104 = (h$RTS_103 & 255);+ if((1 === h$RTS_104))+ {+ --h$sp;+ return h$RTS_96;+ }+ else+ {+ if((1 > h$RTS_104))+ {+ var h$RTS_105 = (h$RTS_103 >> 8);+ switch (h$RTS_105)+ {+ default:+ };+ h$sp -= h$RTS_105;+ var h$RTS_106 = h$apply[((1 - h$RTS_104) | ((0 - h$RTS_105) << 8))];+ h$stack[h$sp] = h$RTS_106;+ return h$RTS_96;+ }+ else+ {+ var h$RTS_102 = h$c3(h$pap_0, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 0) - 1), null);+ --h$sp;+ h$r1 = h$RTS_102;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_1_0, unexpected closure type: " + h$RTS_96.t));+ };+};+h$o(h$ap_1_0, (-1), 0, 0, 256, null);+function h$ap_1_1()+{+ var h$RTS_107 = h$r1.f;+ switch (h$RTS_107.t)+ {+ case (0):+ return h$RTS_107;+ case (1):+ var h$RTS_109 = h$RTS_107.a;+ var h$RTS_110 = (h$RTS_109 & 255);+ if((1 === h$RTS_110))+ {+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$RTS_107;+ }+ else+ {+ if((1 > h$RTS_110))+ {+ var h$RTS_111 = (h$RTS_109 >> 8);+ switch (h$RTS_111)+ {+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_111;+ var h$RTS_112 = h$apply[((1 - h$RTS_110) | ((1 - h$RTS_111) << 8))];+ h$stack[h$sp] = h$RTS_112;+ return h$RTS_107;+ }+ else+ {+ var h$RTS_108 = h$c3(h$pap_1, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 256) - 1), h$stack[(h$sp - 1)]);+ h$sp -= 2;+ h$r1 = h$RTS_108;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_114 = h$r1.d2.d1;+ var h$RTS_115 = (h$RTS_114 & 255);+ if((1 === h$RTS_115))+ {+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$RTS_107;+ }+ else+ {+ if((1 > h$RTS_115))+ {+ var h$RTS_116 = (h$RTS_114 >> 8);+ switch (h$RTS_116)+ {+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_116;+ var h$RTS_117 = h$apply[((1 - h$RTS_115) | ((1 - h$RTS_116) << 8))];+ h$stack[h$sp] = h$RTS_117;+ return h$RTS_107;+ }+ else+ {+ var h$RTS_113 = h$c3(h$pap_1, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 256) - 1), h$stack[(h$sp - 1)]);+ h$sp -= 2;+ h$r1 = h$RTS_113;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_1_1, unexpected closure type: " + h$RTS_107.t));+ };+};+h$o(h$ap_1_1, (-1), 0, 1, 256, null);+function h$ap_1_2()+{+ var h$RTS_118 = h$r1.f;+ switch (h$RTS_118.t)+ {+ case (0):+ return h$RTS_118;+ case (1):+ var h$RTS_120 = h$RTS_118.a;+ var h$RTS_121 = (h$RTS_120 & 255);+ if((1 === h$RTS_121))+ {+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 3;+ return h$RTS_118;+ }+ else+ {+ if((1 > h$RTS_121))+ {+ var h$RTS_122 = (h$RTS_120 >> 8);+ switch (h$RTS_122)+ {+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_122;+ var h$RTS_123 = h$apply[((1 - h$RTS_121) | ((2 - h$RTS_122) << 8))];+ h$stack[h$sp] = h$RTS_123;+ return h$RTS_118;+ }+ else+ {+ var h$RTS_119 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 1), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)]);+ h$sp -= 3;+ h$r1 = h$RTS_119;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_125 = h$r1.d2.d1;+ var h$RTS_126 = (h$RTS_125 & 255);+ if((1 === h$RTS_126))+ {+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 3;+ return h$RTS_118;+ }+ else+ {+ if((1 > h$RTS_126))+ {+ var h$RTS_127 = (h$RTS_125 >> 8);+ switch (h$RTS_127)+ {+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_127;+ var h$RTS_128 = h$apply[((1 - h$RTS_126) | ((2 - h$RTS_127) << 8))];+ h$stack[h$sp] = h$RTS_128;+ return h$RTS_118;+ }+ else+ {+ var h$RTS_124 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 1), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)]);+ h$sp -= 3;+ h$r1 = h$RTS_124;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_1_2, unexpected closure type: " + h$RTS_118.t));+ };+};+h$o(h$ap_1_2, (-1), 0, 2, 256, null);+function h$ap_2_1()+{+ var h$RTS_129 = h$r1.f;+ switch (h$RTS_129.t)+ {+ case (0):+ return h$RTS_129;+ case (1):+ var h$RTS_131 = h$RTS_129.a;+ var h$RTS_132 = (h$RTS_131 & 255);+ if((2 === h$RTS_132))+ {+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$RTS_129;+ }+ else+ {+ if((2 > h$RTS_132))+ {+ var h$RTS_133 = (h$RTS_131 >> 8);+ switch (h$RTS_133)+ {+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_133;+ var h$RTS_134 = h$apply[((2 - h$RTS_132) | ((1 - h$RTS_133) << 8))];+ h$stack[h$sp] = h$RTS_134;+ return h$RTS_129;+ }+ else+ {+ var h$RTS_130 = h$c3(h$pap_1, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 256) - 2), h$stack[(h$sp - 1)]);+ h$sp -= 2;+ h$r1 = h$RTS_130;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_136 = h$r1.d2.d1;+ var h$RTS_137 = (h$RTS_136 & 255);+ if((2 === h$RTS_137))+ {+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$RTS_129;+ }+ else+ {+ if((2 > h$RTS_137))+ {+ var h$RTS_138 = (h$RTS_136 >> 8);+ switch (h$RTS_138)+ {+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_138;+ var h$RTS_139 = h$apply[((2 - h$RTS_137) | ((1 - h$RTS_138) << 8))];+ h$stack[h$sp] = h$RTS_139;+ return h$RTS_129;+ }+ else+ {+ var h$RTS_135 = h$c3(h$pap_1, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 256) - 2), h$stack[(h$sp - 1)]);+ h$sp -= 2;+ h$r1 = h$RTS_135;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_2_1, unexpected closure type: " + h$RTS_129.t));+ };+};+h$o(h$ap_2_1, (-1), 0, 1, 256, null);+function h$ap_2_2()+{+ var h$RTS_140 = h$r1.f;+ switch (h$RTS_140.t)+ {+ case (0):+ return h$RTS_140;+ case (1):+ var h$RTS_142 = h$RTS_140.a;+ var h$RTS_143 = (h$RTS_142 & 255);+ if((2 === h$RTS_143))+ {+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 3;+ return h$RTS_140;+ }+ else+ {+ if((2 > h$RTS_143))+ {+ var h$RTS_144 = (h$RTS_142 >> 8);+ switch (h$RTS_144)+ {+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_144;+ var h$RTS_145 = h$apply[((2 - h$RTS_143) | ((2 - h$RTS_144) << 8))];+ h$stack[h$sp] = h$RTS_145;+ return h$RTS_140;+ }+ else+ {+ var h$RTS_141 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 2), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)]);+ h$sp -= 3;+ h$r1 = h$RTS_141;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_147 = h$r1.d2.d1;+ var h$RTS_148 = (h$RTS_147 & 255);+ if((2 === h$RTS_148))+ {+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 3;+ return h$RTS_140;+ }+ else+ {+ if((2 > h$RTS_148))+ {+ var h$RTS_149 = (h$RTS_147 >> 8);+ switch (h$RTS_149)+ {+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_149;+ var h$RTS_150 = h$apply[((2 - h$RTS_148) | ((2 - h$RTS_149) << 8))];+ h$stack[h$sp] = h$RTS_150;+ return h$RTS_140;+ }+ else+ {+ var h$RTS_146 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 2), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)]);+ h$sp -= 3;+ h$r1 = h$RTS_146;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_2_2, unexpected closure type: " + h$RTS_140.t));+ };+};+h$o(h$ap_2_2, (-1), 0, 2, 256, null);+function h$ap_2_3()+{+ var h$RTS_151 = h$r1.f;+ switch (h$RTS_151.t)+ {+ case (0):+ return h$RTS_151;+ case (1):+ var h$RTS_153 = h$RTS_151.a;+ var h$RTS_154 = (h$RTS_153 & 255);+ if((2 === h$RTS_154))+ {+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 4;+ return h$RTS_151;+ }+ else+ {+ if((2 > h$RTS_154))+ {+ var h$RTS_155 = (h$RTS_153 >> 8);+ switch (h$RTS_155)+ {+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_155;+ var h$RTS_156 = h$apply[((2 - h$RTS_154) | ((3 - h$RTS_155) << 8))];+ h$stack[h$sp] = h$RTS_156;+ return h$RTS_151;+ }+ else+ {+ var h$RTS_152 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 2), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)]);+ h$sp -= 4;+ h$r1 = h$RTS_152;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_158 = h$r1.d2.d1;+ var h$RTS_159 = (h$RTS_158 & 255);+ if((2 === h$RTS_159))+ {+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 4;+ return h$RTS_151;+ }+ else+ {+ if((2 > h$RTS_159))+ {+ var h$RTS_160 = (h$RTS_158 >> 8);+ switch (h$RTS_160)+ {+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_160;+ var h$RTS_161 = h$apply[((2 - h$RTS_159) | ((3 - h$RTS_160) << 8))];+ h$stack[h$sp] = h$RTS_161;+ return h$RTS_151;+ }+ else+ {+ var h$RTS_157 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 2), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)]);+ h$sp -= 4;+ h$r1 = h$RTS_157;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_2_3, unexpected closure type: " + h$RTS_151.t));+ };+};+h$o(h$ap_2_3, (-1), 0, 3, 256, null);+function h$ap_2_4()+{+ var h$RTS_162 = h$r1.f;+ switch (h$RTS_162.t)+ {+ case (0):+ return h$RTS_162;+ case (1):+ var h$RTS_164 = h$RTS_162.a;+ var h$RTS_165 = (h$RTS_164 & 255);+ if((2 === h$RTS_165))+ {+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 5;+ return h$RTS_162;+ }+ else+ {+ if((2 > h$RTS_165))+ {+ var h$RTS_166 = (h$RTS_164 >> 8);+ switch (h$RTS_166)+ {+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_166;+ var h$RTS_167 = h$apply[((2 - h$RTS_165) | ((4 - h$RTS_166) << 8))];+ h$stack[h$sp] = h$RTS_167;+ return h$RTS_162;+ }+ else+ {+ var h$RTS_163 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 2), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)]);+ h$sp -= 5;+ h$r1 = h$RTS_163;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_169 = h$r1.d2.d1;+ var h$RTS_170 = (h$RTS_169 & 255);+ if((2 === h$RTS_170))+ {+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 5;+ return h$RTS_162;+ }+ else+ {+ if((2 > h$RTS_170))+ {+ var h$RTS_171 = (h$RTS_169 >> 8);+ switch (h$RTS_171)+ {+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_171;+ var h$RTS_172 = h$apply[((2 - h$RTS_170) | ((4 - h$RTS_171) << 8))];+ h$stack[h$sp] = h$RTS_172;+ return h$RTS_162;+ }+ else+ {+ var h$RTS_168 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 2), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)]);+ h$sp -= 5;+ h$r1 = h$RTS_168;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_2_4, unexpected closure type: " + h$RTS_162.t));+ };+};+h$o(h$ap_2_4, (-1), 0, 4, 256, null);+function h$ap_3_2()+{+ var h$RTS_173 = h$r1.f;+ switch (h$RTS_173.t)+ {+ case (0):+ return h$RTS_173;+ case (1):+ var h$RTS_175 = h$RTS_173.a;+ var h$RTS_176 = (h$RTS_175 & 255);+ if((3 === h$RTS_176))+ {+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 3;+ return h$RTS_173;+ }+ else+ {+ if((3 > h$RTS_176))+ {+ var h$RTS_177 = (h$RTS_175 >> 8);+ switch (h$RTS_177)+ {+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_177;+ var h$RTS_178 = h$apply[((3 - h$RTS_176) | ((2 - h$RTS_177) << 8))];+ h$stack[h$sp] = h$RTS_178;+ return h$RTS_173;+ }+ else+ {+ var h$RTS_174 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)]);+ h$sp -= 3;+ h$r1 = h$RTS_174;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_180 = h$r1.d2.d1;+ var h$RTS_181 = (h$RTS_180 & 255);+ if((3 === h$RTS_181))+ {+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 3;+ return h$RTS_173;+ }+ else+ {+ if((3 > h$RTS_181))+ {+ var h$RTS_182 = (h$RTS_180 >> 8);+ switch (h$RTS_182)+ {+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_182;+ var h$RTS_183 = h$apply[((3 - h$RTS_181) | ((2 - h$RTS_182) << 8))];+ h$stack[h$sp] = h$RTS_183;+ return h$RTS_173;+ }+ else+ {+ var h$RTS_179 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)]);+ h$sp -= 3;+ h$r1 = h$RTS_179;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_3_2, unexpected closure type: " + h$RTS_173.t));+ };+};+h$o(h$ap_3_2, (-1), 0, 2, 256, null);+function h$ap_3_3()+{+ var h$RTS_184 = h$r1.f;+ switch (h$RTS_184.t)+ {+ case (0):+ return h$RTS_184;+ case (1):+ var h$RTS_186 = h$RTS_184.a;+ var h$RTS_187 = (h$RTS_186 & 255);+ if((3 === h$RTS_187))+ {+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 4;+ return h$RTS_184;+ }+ else+ {+ if((3 > h$RTS_187))+ {+ var h$RTS_188 = (h$RTS_186 >> 8);+ switch (h$RTS_188)+ {+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_188;+ var h$RTS_189 = h$apply[((3 - h$RTS_187) | ((3 - h$RTS_188) << 8))];+ h$stack[h$sp] = h$RTS_189;+ return h$RTS_184;+ }+ else+ {+ var h$RTS_185 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)]);+ h$sp -= 4;+ h$r1 = h$RTS_185;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_191 = h$r1.d2.d1;+ var h$RTS_192 = (h$RTS_191 & 255);+ if((3 === h$RTS_192))+ {+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 4;+ return h$RTS_184;+ }+ else+ {+ if((3 > h$RTS_192))+ {+ var h$RTS_193 = (h$RTS_191 >> 8);+ switch (h$RTS_193)+ {+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_193;+ var h$RTS_194 = h$apply[((3 - h$RTS_192) | ((3 - h$RTS_193) << 8))];+ h$stack[h$sp] = h$RTS_194;+ return h$RTS_184;+ }+ else+ {+ var h$RTS_190 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)]);+ h$sp -= 4;+ h$r1 = h$RTS_190;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_3_3, unexpected closure type: " + h$RTS_184.t));+ };+};+h$o(h$ap_3_3, (-1), 0, 3, 256, null);+function h$ap_3_4()+{+ var h$RTS_195 = h$r1.f;+ switch (h$RTS_195.t)+ {+ case (0):+ return h$RTS_195;+ case (1):+ var h$RTS_197 = h$RTS_195.a;+ var h$RTS_198 = (h$RTS_197 & 255);+ if((3 === h$RTS_198))+ {+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 5;+ return h$RTS_195;+ }+ else+ {+ if((3 > h$RTS_198))+ {+ var h$RTS_199 = (h$RTS_197 >> 8);+ switch (h$RTS_199)+ {+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_199;+ var h$RTS_200 = h$apply[((3 - h$RTS_198) | ((4 - h$RTS_199) << 8))];+ h$stack[h$sp] = h$RTS_200;+ return h$RTS_195;+ }+ else+ {+ var h$RTS_196 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)]);+ h$sp -= 5;+ h$r1 = h$RTS_196;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_202 = h$r1.d2.d1;+ var h$RTS_203 = (h$RTS_202 & 255);+ if((3 === h$RTS_203))+ {+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 5;+ return h$RTS_195;+ }+ else+ {+ if((3 > h$RTS_203))+ {+ var h$RTS_204 = (h$RTS_202 >> 8);+ switch (h$RTS_204)+ {+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_204;+ var h$RTS_205 = h$apply[((3 - h$RTS_203) | ((4 - h$RTS_204) << 8))];+ h$stack[h$sp] = h$RTS_205;+ return h$RTS_195;+ }+ else+ {+ var h$RTS_201 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)]);+ h$sp -= 5;+ h$r1 = h$RTS_201;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_3_4, unexpected closure type: " + h$RTS_195.t));+ };+};+h$o(h$ap_3_4, (-1), 0, 4, 256, null);+function h$ap_3_5()+{+ var h$RTS_206 = h$r1.f;+ switch (h$RTS_206.t)+ {+ case (0):+ return h$RTS_206;+ case (1):+ var h$RTS_208 = h$RTS_206.a;+ var h$RTS_209 = (h$RTS_208 & 255);+ if((3 === h$RTS_209))+ {+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 6;+ return h$RTS_206;+ }+ else+ {+ if((3 > h$RTS_209))+ {+ var h$RTS_210 = (h$RTS_208 >> 8);+ switch (h$RTS_210)+ {+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_210;+ var h$RTS_211 = h$apply[((3 - h$RTS_209) | ((5 - h$RTS_210) << 8))];+ h$stack[h$sp] = h$RTS_211;+ return h$RTS_206;+ }+ else+ {+ var h$RTS_207 = h$c7(h$pap_5, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1280) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)]);+ h$sp -= 6;+ h$r1 = h$RTS_207;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_213 = h$r1.d2.d1;+ var h$RTS_214 = (h$RTS_213 & 255);+ if((3 === h$RTS_214))+ {+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 6;+ return h$RTS_206;+ }+ else+ {+ if((3 > h$RTS_214))+ {+ var h$RTS_215 = (h$RTS_213 >> 8);+ switch (h$RTS_215)+ {+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_215;+ var h$RTS_216 = h$apply[((3 - h$RTS_214) | ((5 - h$RTS_215) << 8))];+ h$stack[h$sp] = h$RTS_216;+ return h$RTS_206;+ }+ else+ {+ var h$RTS_212 = h$c7(h$pap_5, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1280) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)]);+ h$sp -= 6;+ h$r1 = h$RTS_212;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_3_5, unexpected closure type: " + h$RTS_206.t));+ };+};+h$o(h$ap_3_5, (-1), 0, 5, 256, null);+function h$ap_3_6()+{+ var h$RTS_217 = h$r1.f;+ switch (h$RTS_217.t)+ {+ case (0):+ return h$RTS_217;+ case (1):+ var h$RTS_219 = h$RTS_217.a;+ var h$RTS_220 = (h$RTS_219 & 255);+ if((3 === h$RTS_220))+ {+ h$r7 = h$stack[(h$sp - 6)];+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 7;+ return h$RTS_217;+ }+ else+ {+ if((3 > h$RTS_220))+ {+ var h$RTS_221 = (h$RTS_219 >> 8);+ switch (h$RTS_221)+ {+ case (6):+ h$r7 = h$stack[(h$sp - 6)];+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_221;+ var h$RTS_222 = h$apply[((3 - h$RTS_220) | ((6 - h$RTS_221) << 8))];+ h$stack[h$sp] = h$RTS_222;+ return h$RTS_217;+ }+ else+ {+ var h$RTS_218 = h$c8(h$pap_6, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1536) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)], h$stack[(h$sp - 6)]);+ h$sp -= 7;+ h$r1 = h$RTS_218;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_224 = h$r1.d2.d1;+ var h$RTS_225 = (h$RTS_224 & 255);+ if((3 === h$RTS_225))+ {+ h$r7 = h$stack[(h$sp - 6)];+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 7;+ return h$RTS_217;+ }+ else+ {+ if((3 > h$RTS_225))+ {+ var h$RTS_226 = (h$RTS_224 >> 8);+ switch (h$RTS_226)+ {+ case (6):+ h$r7 = h$stack[(h$sp - 6)];+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_226;+ var h$RTS_227 = h$apply[((3 - h$RTS_225) | ((6 - h$RTS_226) << 8))];+ h$stack[h$sp] = h$RTS_227;+ return h$RTS_217;+ }+ else+ {+ var h$RTS_223 = h$c8(h$pap_6, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1536) - 3), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)], h$stack[(h$sp - 6)]);+ h$sp -= 7;+ h$r1 = h$RTS_223;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_3_6, unexpected closure type: " + h$RTS_217.t));+ };+};+h$o(h$ap_3_6, (-1), 0, 6, 256, null);+function h$ap_4_3()+{+ var h$RTS_228 = h$r1.f;+ switch (h$RTS_228.t)+ {+ case (0):+ return h$RTS_228;+ case (1):+ var h$RTS_230 = h$RTS_228.a;+ var h$RTS_231 = (h$RTS_230 & 255);+ if((4 === h$RTS_231))+ {+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 4;+ return h$RTS_228;+ }+ else+ {+ if((4 > h$RTS_231))+ {+ var h$RTS_232 = (h$RTS_230 >> 8);+ switch (h$RTS_232)+ {+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_232;+ var h$RTS_233 = h$apply[((4 - h$RTS_231) | ((3 - h$RTS_232) << 8))];+ h$stack[h$sp] = h$RTS_233;+ return h$RTS_228;+ }+ else+ {+ var h$RTS_229 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)]);+ h$sp -= 4;+ h$r1 = h$RTS_229;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_235 = h$r1.d2.d1;+ var h$RTS_236 = (h$RTS_235 & 255);+ if((4 === h$RTS_236))+ {+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 4;+ return h$RTS_228;+ }+ else+ {+ if((4 > h$RTS_236))+ {+ var h$RTS_237 = (h$RTS_235 >> 8);+ switch (h$RTS_237)+ {+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_237;+ var h$RTS_238 = h$apply[((4 - h$RTS_236) | ((3 - h$RTS_237) << 8))];+ h$stack[h$sp] = h$RTS_238;+ return h$RTS_228;+ }+ else+ {+ var h$RTS_234 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)]);+ h$sp -= 4;+ h$r1 = h$RTS_234;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_4_3, unexpected closure type: " + h$RTS_228.t));+ };+};+h$o(h$ap_4_3, (-1), 0, 3, 256, null);+function h$ap_4_4()+{+ var h$RTS_239 = h$r1.f;+ switch (h$RTS_239.t)+ {+ case (0):+ return h$RTS_239;+ case (1):+ var h$RTS_241 = h$RTS_239.a;+ var h$RTS_242 = (h$RTS_241 & 255);+ if((4 === h$RTS_242))+ {+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 5;+ return h$RTS_239;+ }+ else+ {+ if((4 > h$RTS_242))+ {+ var h$RTS_243 = (h$RTS_241 >> 8);+ switch (h$RTS_243)+ {+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_243;+ var h$RTS_244 = h$apply[((4 - h$RTS_242) | ((4 - h$RTS_243) << 8))];+ h$stack[h$sp] = h$RTS_244;+ return h$RTS_239;+ }+ else+ {+ var h$RTS_240 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)]);+ h$sp -= 5;+ h$r1 = h$RTS_240;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_246 = h$r1.d2.d1;+ var h$RTS_247 = (h$RTS_246 & 255);+ if((4 === h$RTS_247))+ {+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 5;+ return h$RTS_239;+ }+ else+ {+ if((4 > h$RTS_247))+ {+ var h$RTS_248 = (h$RTS_246 >> 8);+ switch (h$RTS_248)+ {+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_248;+ var h$RTS_249 = h$apply[((4 - h$RTS_247) | ((4 - h$RTS_248) << 8))];+ h$stack[h$sp] = h$RTS_249;+ return h$RTS_239;+ }+ else+ {+ var h$RTS_245 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)]);+ h$sp -= 5;+ h$r1 = h$RTS_245;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_4_4, unexpected closure type: " + h$RTS_239.t));+ };+};+h$o(h$ap_4_4, (-1), 0, 4, 256, null);+function h$ap_4_5()+{+ var h$RTS_250 = h$r1.f;+ switch (h$RTS_250.t)+ {+ case (0):+ return h$RTS_250;+ case (1):+ var h$RTS_252 = h$RTS_250.a;+ var h$RTS_253 = (h$RTS_252 & 255);+ if((4 === h$RTS_253))+ {+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 6;+ return h$RTS_250;+ }+ else+ {+ if((4 > h$RTS_253))+ {+ var h$RTS_254 = (h$RTS_252 >> 8);+ switch (h$RTS_254)+ {+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_254;+ var h$RTS_255 = h$apply[((4 - h$RTS_253) | ((5 - h$RTS_254) << 8))];+ h$stack[h$sp] = h$RTS_255;+ return h$RTS_250;+ }+ else+ {+ var h$RTS_251 = h$c7(h$pap_5, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1280) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)]);+ h$sp -= 6;+ h$r1 = h$RTS_251;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_257 = h$r1.d2.d1;+ var h$RTS_258 = (h$RTS_257 & 255);+ if((4 === h$RTS_258))+ {+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 6;+ return h$RTS_250;+ }+ else+ {+ if((4 > h$RTS_258))+ {+ var h$RTS_259 = (h$RTS_257 >> 8);+ switch (h$RTS_259)+ {+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_259;+ var h$RTS_260 = h$apply[((4 - h$RTS_258) | ((5 - h$RTS_259) << 8))];+ h$stack[h$sp] = h$RTS_260;+ return h$RTS_250;+ }+ else+ {+ var h$RTS_256 = h$c7(h$pap_5, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1280) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)]);+ h$sp -= 6;+ h$r1 = h$RTS_256;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_4_5, unexpected closure type: " + h$RTS_250.t));+ };+};+h$o(h$ap_4_5, (-1), 0, 5, 256, null);+function h$ap_4_6()+{+ var h$RTS_261 = h$r1.f;+ switch (h$RTS_261.t)+ {+ case (0):+ return h$RTS_261;+ case (1):+ var h$RTS_263 = h$RTS_261.a;+ var h$RTS_264 = (h$RTS_263 & 255);+ if((4 === h$RTS_264))+ {+ h$r7 = h$stack[(h$sp - 6)];+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 7;+ return h$RTS_261;+ }+ else+ {+ if((4 > h$RTS_264))+ {+ var h$RTS_265 = (h$RTS_263 >> 8);+ switch (h$RTS_265)+ {+ case (6):+ h$r7 = h$stack[(h$sp - 6)];+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_265;+ var h$RTS_266 = h$apply[((4 - h$RTS_264) | ((6 - h$RTS_265) << 8))];+ h$stack[h$sp] = h$RTS_266;+ return h$RTS_261;+ }+ else+ {+ var h$RTS_262 = h$c8(h$pap_6, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1536) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)], h$stack[(h$sp - 6)]);+ h$sp -= 7;+ h$r1 = h$RTS_262;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_268 = h$r1.d2.d1;+ var h$RTS_269 = (h$RTS_268 & 255);+ if((4 === h$RTS_269))+ {+ h$r7 = h$stack[(h$sp - 6)];+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 7;+ return h$RTS_261;+ }+ else+ {+ if((4 > h$RTS_269))+ {+ var h$RTS_270 = (h$RTS_268 >> 8);+ switch (h$RTS_270)+ {+ case (6):+ h$r7 = h$stack[(h$sp - 6)];+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_270;+ var h$RTS_271 = h$apply[((4 - h$RTS_269) | ((6 - h$RTS_270) << 8))];+ h$stack[h$sp] = h$RTS_271;+ return h$RTS_261;+ }+ else+ {+ var h$RTS_267 = h$c8(h$pap_6, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1536) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)], h$stack[(h$sp - 6)]);+ h$sp -= 7;+ h$r1 = h$RTS_267;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_4_6, unexpected closure type: " + h$RTS_261.t));+ };+};+h$o(h$ap_4_6, (-1), 0, 6, 256, null);+function h$ap_4_7()+{+ var h$RTS_272 = h$r1.f;+ switch (h$RTS_272.t)+ {+ case (0):+ return h$RTS_272;+ case (1):+ var h$RTS_274 = h$RTS_272.a;+ var h$RTS_275 = (h$RTS_274 & 255);+ if((4 === h$RTS_275))+ {+ h$r8 = h$stack[(h$sp - 7)];+ h$r7 = h$stack[(h$sp - 6)];+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 8;+ return h$RTS_272;+ }+ else+ {+ if((4 > h$RTS_275))+ {+ var h$RTS_276 = (h$RTS_274 >> 8);+ switch (h$RTS_276)+ {+ case (7):+ h$r8 = h$stack[(h$sp - 7)];+ case (6):+ h$r7 = h$stack[(h$sp - 6)];+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_276;+ var h$RTS_277 = h$apply[((4 - h$RTS_275) | ((7 - h$RTS_276) << 8))];+ h$stack[h$sp] = h$RTS_277;+ return h$RTS_272;+ }+ else+ {+ var h$RTS_273 = h$c9(h$pap_gen, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1792) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)], h$stack[(h$sp - 6)],+ h$stack[(h$sp - 7)]);+ h$sp -= 8;+ h$r1 = h$RTS_273;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_279 = h$r1.d2.d1;+ var h$RTS_280 = (h$RTS_279 & 255);+ if((4 === h$RTS_280))+ {+ h$r8 = h$stack[(h$sp - 7)];+ h$r7 = h$stack[(h$sp - 6)];+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 8;+ return h$RTS_272;+ }+ else+ {+ if((4 > h$RTS_280))+ {+ var h$RTS_281 = (h$RTS_279 >> 8);+ switch (h$RTS_281)+ {+ case (7):+ h$r8 = h$stack[(h$sp - 7)];+ case (6):+ h$r7 = h$stack[(h$sp - 6)];+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_281;+ var h$RTS_282 = h$apply[((4 - h$RTS_280) | ((7 - h$RTS_281) << 8))];+ h$stack[h$sp] = h$RTS_282;+ return h$RTS_272;+ }+ else+ {+ var h$RTS_278 = h$c9(h$pap_gen, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1792) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)], h$stack[(h$sp - 6)],+ h$stack[(h$sp - 7)]);+ h$sp -= 8;+ h$r1 = h$RTS_278;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_4_7, unexpected closure type: " + h$RTS_272.t));+ };+};+h$o(h$ap_4_7, (-1), 0, 7, 256, null);+function h$ap_4_8()+{+ var h$RTS_283 = h$r1.f;+ switch (h$RTS_283.t)+ {+ case (0):+ return h$RTS_283;+ case (1):+ var h$RTS_285 = h$RTS_283.a;+ var h$RTS_286 = (h$RTS_285 & 255);+ if((4 === h$RTS_286))+ {+ h$r9 = h$stack[(h$sp - 8)];+ h$r8 = h$stack[(h$sp - 7)];+ h$r7 = h$stack[(h$sp - 6)];+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 9;+ return h$RTS_283;+ }+ else+ {+ if((4 > h$RTS_286))+ {+ var h$RTS_287 = (h$RTS_285 >> 8);+ switch (h$RTS_287)+ {+ case (8):+ h$r9 = h$stack[(h$sp - 8)];+ case (7):+ h$r8 = h$stack[(h$sp - 7)];+ case (6):+ h$r7 = h$stack[(h$sp - 6)];+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_287;+ var h$RTS_288 = h$apply[((4 - h$RTS_286) | ((8 - h$RTS_287) << 8))];+ h$stack[h$sp] = h$RTS_288;+ return h$RTS_283;+ }+ else+ {+ var h$RTS_284 = h$c10(h$pap_gen, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 2048) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)], h$stack[(h$sp - 6)],+ h$stack[(h$sp - 7)], h$stack[(h$sp - 8)]);+ h$sp -= 9;+ h$r1 = h$RTS_284;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_290 = h$r1.d2.d1;+ var h$RTS_291 = (h$RTS_290 & 255);+ if((4 === h$RTS_291))+ {+ h$r9 = h$stack[(h$sp - 8)];+ h$r8 = h$stack[(h$sp - 7)];+ h$r7 = h$stack[(h$sp - 6)];+ h$r6 = h$stack[(h$sp - 5)];+ h$r5 = h$stack[(h$sp - 4)];+ h$r4 = h$stack[(h$sp - 3)];+ h$r3 = h$stack[(h$sp - 2)];+ h$r2 = h$stack[(h$sp - 1)];+ h$sp -= 9;+ return h$RTS_283;+ }+ else+ {+ if((4 > h$RTS_291))+ {+ var h$RTS_292 = (h$RTS_290 >> 8);+ switch (h$RTS_292)+ {+ case (8):+ h$r9 = h$stack[(h$sp - 8)];+ case (7):+ h$r8 = h$stack[(h$sp - 7)];+ case (6):+ h$r7 = h$stack[(h$sp - 6)];+ case (5):+ h$r6 = h$stack[(h$sp - 5)];+ case (4):+ h$r5 = h$stack[(h$sp - 4)];+ case (3):+ h$r4 = h$stack[(h$sp - 3)];+ case (2):+ h$r3 = h$stack[(h$sp - 2)];+ case (1):+ h$r2 = h$stack[(h$sp - 1)];+ default:+ };+ h$sp -= h$RTS_292;+ var h$RTS_293 = h$apply[((4 - h$RTS_291) | ((8 - h$RTS_292) << 8))];+ h$stack[h$sp] = h$RTS_293;+ return h$RTS_283;+ }+ else+ {+ var h$RTS_289 = h$c10(h$pap_gen, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 2048) - 4), h$stack[(h$sp - 1)],+ h$stack[(h$sp - 2)], h$stack[(h$sp - 3)], h$stack[(h$sp - 4)], h$stack[(h$sp - 5)], h$stack[(h$sp - 6)],+ h$stack[(h$sp - 7)], h$stack[(h$sp - 8)]);+ h$sp -= 9;+ h$r1 = h$RTS_289;+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("panic: h$ap_4_8, unexpected closure type: " + h$RTS_283.t));+ };+};+h$o(h$ap_4_8, (-1), 0, 8, 256, null);+function h$ap_1_0_fast()+{+ var h$RTS_294 = h$r1.f;+ switch (h$RTS_294.t)+ {+ case (1):+ var h$RTS_295 = h$RTS_294.a;+ var h$RTS_297 = (h$RTS_295 & 255);+ if((1 === h$RTS_297))+ {+ return h$RTS_294;+ }+ else+ {+ if((1 > h$RTS_297))+ {+ var h$RTS_298 = (h$RTS_295 >> 8);+ var h$RTS_299 = (0 - h$RTS_298);+ switch (h$RTS_298)+ {+ default:+ };+ h$sp = ((h$sp + h$RTS_299) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_299 << 8) | (1 - (h$RTS_295 & 255)))];+ return h$RTS_294;+ }+ else+ {+ var h$RTS_296 = h$c3(h$pap_0, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 0) - 1), null);+ h$r1 = h$RTS_296;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_300 = h$r1.d2.d1;+ var h$RTS_302 = (h$RTS_300 & 255);+ if((1 === h$RTS_302))+ {+ return h$RTS_294;+ }+ else+ {+ if((1 > h$RTS_302))+ {+ var h$RTS_303 = (h$RTS_300 >> 8);+ var h$RTS_304 = (0 - h$RTS_303);+ switch (h$RTS_303)+ {+ default:+ };+ h$sp = ((h$sp + h$RTS_304) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_304 << 8) | (1 - (h$RTS_300 & 255)))];+ return h$RTS_294;+ }+ else+ {+ var h$RTS_301 = h$c3(h$pap_0, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 0) - 1), null);+ h$r1 = h$RTS_301;+ return h$stack[h$sp];+ };+ };+ case (0):+ ++h$sp;+ h$stack[h$sp] = h$ap_1_0;+ return h$RTS_294;+ case (5):+ ++h$sp;+ h$stack[h$sp] = h$ap_1_0;+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_1_0_fast: unexpected closure type: " + h$RTS_294.t));+ };+};+function h$ap_1_1_fast()+{+ var h$RTS_305 = h$r1.f;+ switch (h$RTS_305.t)+ {+ case (1):+ var h$RTS_306 = h$RTS_305.a;+ var h$RTS_308 = (h$RTS_306 & 255);+ if((1 === h$RTS_308))+ {+ return h$RTS_305;+ }+ else+ {+ if((1 > h$RTS_308))+ {+ var h$RTS_309 = (h$RTS_306 >> 8);+ var h$RTS_310 = (1 - h$RTS_309);+ switch (h$RTS_309)+ {+ case (0):+ h$stack[(h$sp + 1)] = h$r2;+ default:+ };+ h$sp = ((h$sp + h$RTS_310) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_310 << 8) | (1 - (h$RTS_306 & 255)))];+ return h$RTS_305;+ }+ else+ {+ var h$RTS_307 = h$c3(h$pap_1, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 256) - 1), h$r2);+ h$r1 = h$RTS_307;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_311 = h$r1.d2.d1;+ var h$RTS_313 = (h$RTS_311 & 255);+ if((1 === h$RTS_313))+ {+ return h$RTS_305;+ }+ else+ {+ if((1 > h$RTS_313))+ {+ var h$RTS_314 = (h$RTS_311 >> 8);+ var h$RTS_315 = (1 - h$RTS_314);+ switch (h$RTS_314)+ {+ case (0):+ h$stack[(h$sp + 1)] = h$r2;+ default:+ };+ h$sp = ((h$sp + h$RTS_315) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_315 << 8) | (1 - (h$RTS_311 & 255)))];+ return h$RTS_305;+ }+ else+ {+ var h$RTS_312 = h$c3(h$pap_1, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 256) - 1), h$r2);+ h$r1 = h$RTS_312;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p2(h$r2, h$ap_1_1);+ return h$RTS_305;+ case (5):+ h$p2(h$r2, h$ap_1_1);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_1_1_fast: unexpected closure type: " + h$RTS_305.t));+ };+};+function h$ap_1_2_fast()+{+ var h$RTS_316 = h$r1.f;+ switch (h$RTS_316.t)+ {+ case (1):+ var h$RTS_317 = h$RTS_316.a;+ var h$RTS_319 = (h$RTS_317 & 255);+ if((1 === h$RTS_319))+ {+ return h$RTS_316;+ }+ else+ {+ if((1 > h$RTS_319))+ {+ var h$RTS_320 = (h$RTS_317 >> 8);+ var h$RTS_321 = (2 - h$RTS_320);+ switch (h$RTS_320)+ {+ case (0):+ h$stack[(h$sp + 2)] = h$r2;+ case (1):+ h$stack[(h$sp + 1)] = h$r3;+ default:+ };+ h$sp = ((h$sp + h$RTS_321) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_321 << 8) | (1 - (h$RTS_317 & 255)))];+ return h$RTS_316;+ }+ else+ {+ var h$RTS_318 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 1), h$r2, h$r3);+ h$r1 = h$RTS_318;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_322 = h$r1.d2.d1;+ var h$RTS_324 = (h$RTS_322 & 255);+ if((1 === h$RTS_324))+ {+ return h$RTS_316;+ }+ else+ {+ if((1 > h$RTS_324))+ {+ var h$RTS_325 = (h$RTS_322 >> 8);+ var h$RTS_326 = (2 - h$RTS_325);+ switch (h$RTS_325)+ {+ case (0):+ h$stack[(h$sp + 2)] = h$r2;+ case (1):+ h$stack[(h$sp + 1)] = h$r3;+ default:+ };+ h$sp = ((h$sp + h$RTS_326) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_326 << 8) | (1 - (h$RTS_322 & 255)))];+ return h$RTS_316;+ }+ else+ {+ var h$RTS_323 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 1), h$r2, h$r3);+ h$r1 = h$RTS_323;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p3(h$r3, h$r2, h$ap_1_2);+ return h$RTS_316;+ case (5):+ h$p3(h$r3, h$r2, h$ap_1_2);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_1_2_fast: unexpected closure type: " + h$RTS_316.t));+ };+};+function h$ap_2_1_fast()+{+ var h$RTS_327 = h$r1.f;+ switch (h$RTS_327.t)+ {+ case (1):+ var h$RTS_328 = h$RTS_327.a;+ var h$RTS_330 = (h$RTS_328 & 255);+ if((2 === h$RTS_330))+ {+ return h$RTS_327;+ }+ else+ {+ if((2 > h$RTS_330))+ {+ var h$RTS_331 = (h$RTS_328 >> 8);+ var h$RTS_332 = (1 - h$RTS_331);+ switch (h$RTS_331)+ {+ case (0):+ h$stack[(h$sp + 1)] = h$r2;+ default:+ };+ h$sp = ((h$sp + h$RTS_332) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_332 << 8) | (2 - (h$RTS_328 & 255)))];+ return h$RTS_327;+ }+ else+ {+ var h$RTS_329 = h$c3(h$pap_1, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 256) - 2), h$r2);+ h$r1 = h$RTS_329;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_333 = h$r1.d2.d1;+ var h$RTS_335 = (h$RTS_333 & 255);+ if((2 === h$RTS_335))+ {+ return h$RTS_327;+ }+ else+ {+ if((2 > h$RTS_335))+ {+ var h$RTS_336 = (h$RTS_333 >> 8);+ var h$RTS_337 = (1 - h$RTS_336);+ switch (h$RTS_336)+ {+ case (0):+ h$stack[(h$sp + 1)] = h$r2;+ default:+ };+ h$sp = ((h$sp + h$RTS_337) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_337 << 8) | (2 - (h$RTS_333 & 255)))];+ return h$RTS_327;+ }+ else+ {+ var h$RTS_334 = h$c3(h$pap_1, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 256) - 2), h$r2);+ h$r1 = h$RTS_334;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p2(h$r2, h$ap_2_1);+ return h$RTS_327;+ case (5):+ h$p2(h$r2, h$ap_2_1);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_2_1_fast: unexpected closure type: " + h$RTS_327.t));+ };+};+function h$ap_2_2_fast()+{+ var h$RTS_338 = h$r1.f;+ switch (h$RTS_338.t)+ {+ case (1):+ var h$RTS_339 = h$RTS_338.a;+ var h$RTS_341 = (h$RTS_339 & 255);+ if((2 === h$RTS_341))+ {+ return h$RTS_338;+ }+ else+ {+ if((2 > h$RTS_341))+ {+ var h$RTS_342 = (h$RTS_339 >> 8);+ var h$RTS_343 = (2 - h$RTS_342);+ switch (h$RTS_342)+ {+ case (0):+ h$stack[(h$sp + 2)] = h$r2;+ case (1):+ h$stack[(h$sp + 1)] = h$r3;+ default:+ };+ h$sp = ((h$sp + h$RTS_343) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_343 << 8) | (2 - (h$RTS_339 & 255)))];+ return h$RTS_338;+ }+ else+ {+ var h$RTS_340 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 2), h$r2, h$r3);+ h$r1 = h$RTS_340;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_344 = h$r1.d2.d1;+ var h$RTS_346 = (h$RTS_344 & 255);+ if((2 === h$RTS_346))+ {+ return h$RTS_338;+ }+ else+ {+ if((2 > h$RTS_346))+ {+ var h$RTS_347 = (h$RTS_344 >> 8);+ var h$RTS_348 = (2 - h$RTS_347);+ switch (h$RTS_347)+ {+ case (0):+ h$stack[(h$sp + 2)] = h$r2;+ case (1):+ h$stack[(h$sp + 1)] = h$r3;+ default:+ };+ h$sp = ((h$sp + h$RTS_348) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_348 << 8) | (2 - (h$RTS_344 & 255)))];+ return h$RTS_338;+ }+ else+ {+ var h$RTS_345 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 2), h$r2, h$r3);+ h$r1 = h$RTS_345;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p3(h$r3, h$r2, h$ap_2_2);+ return h$RTS_338;+ case (5):+ h$p3(h$r3, h$r2, h$ap_2_2);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_2_2_fast: unexpected closure type: " + h$RTS_338.t));+ };+};+function h$ap_2_3_fast()+{+ var h$RTS_349 = h$r1.f;+ switch (h$RTS_349.t)+ {+ case (1):+ var h$RTS_350 = h$RTS_349.a;+ var h$RTS_352 = (h$RTS_350 & 255);+ if((2 === h$RTS_352))+ {+ return h$RTS_349;+ }+ else+ {+ if((2 > h$RTS_352))+ {+ var h$RTS_353 = (h$RTS_350 >> 8);+ var h$RTS_354 = (3 - h$RTS_353);+ switch (h$RTS_353)+ {+ case (0):+ h$stack[(h$sp + 3)] = h$r2;+ case (1):+ h$stack[(h$sp + 2)] = h$r3;+ case (2):+ h$stack[(h$sp + 1)] = h$r4;+ default:+ };+ h$sp = ((h$sp + h$RTS_354) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_354 << 8) | (2 - (h$RTS_350 & 255)))];+ return h$RTS_349;+ }+ else+ {+ var h$RTS_351 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 2), h$r2, h$r3, h$r4);+ h$r1 = h$RTS_351;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_355 = h$r1.d2.d1;+ var h$RTS_357 = (h$RTS_355 & 255);+ if((2 === h$RTS_357))+ {+ return h$RTS_349;+ }+ else+ {+ if((2 > h$RTS_357))+ {+ var h$RTS_358 = (h$RTS_355 >> 8);+ var h$RTS_359 = (3 - h$RTS_358);+ switch (h$RTS_358)+ {+ case (0):+ h$stack[(h$sp + 3)] = h$r2;+ case (1):+ h$stack[(h$sp + 2)] = h$r3;+ case (2):+ h$stack[(h$sp + 1)] = h$r4;+ default:+ };+ h$sp = ((h$sp + h$RTS_359) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_359 << 8) | (2 - (h$RTS_355 & 255)))];+ return h$RTS_349;+ }+ else+ {+ var h$RTS_356 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 2), h$r2, h$r3, h$r4);+ h$r1 = h$RTS_356;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p4(h$r4, h$r3, h$r2, h$ap_2_3);+ return h$RTS_349;+ case (5):+ h$p4(h$r4, h$r3, h$r2, h$ap_2_3);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_2_3_fast: unexpected closure type: " + h$RTS_349.t));+ };+};+function h$ap_2_4_fast()+{+ var h$RTS_360 = h$r1.f;+ switch (h$RTS_360.t)+ {+ case (1):+ var h$RTS_361 = h$RTS_360.a;+ var h$RTS_363 = (h$RTS_361 & 255);+ if((2 === h$RTS_363))+ {+ return h$RTS_360;+ }+ else+ {+ if((2 > h$RTS_363))+ {+ var h$RTS_364 = (h$RTS_361 >> 8);+ var h$RTS_365 = (4 - h$RTS_364);+ switch (h$RTS_364)+ {+ case (0):+ h$stack[(h$sp + 4)] = h$r2;+ case (1):+ h$stack[(h$sp + 3)] = h$r3;+ case (2):+ h$stack[(h$sp + 2)] = h$r4;+ case (3):+ h$stack[(h$sp + 1)] = h$r5;+ default:+ };+ h$sp = ((h$sp + h$RTS_365) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_365 << 8) | (2 - (h$RTS_361 & 255)))];+ return h$RTS_360;+ }+ else+ {+ var h$RTS_362 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 2), h$r2, h$r3, h$r4, h$r5);+ h$r1 = h$RTS_362;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_366 = h$r1.d2.d1;+ var h$RTS_368 = (h$RTS_366 & 255);+ if((2 === h$RTS_368))+ {+ return h$RTS_360;+ }+ else+ {+ if((2 > h$RTS_368))+ {+ var h$RTS_369 = (h$RTS_366 >> 8);+ var h$RTS_370 = (4 - h$RTS_369);+ switch (h$RTS_369)+ {+ case (0):+ h$stack[(h$sp + 4)] = h$r2;+ case (1):+ h$stack[(h$sp + 3)] = h$r3;+ case (2):+ h$stack[(h$sp + 2)] = h$r4;+ case (3):+ h$stack[(h$sp + 1)] = h$r5;+ default:+ };+ h$sp = ((h$sp + h$RTS_370) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_370 << 8) | (2 - (h$RTS_366 & 255)))];+ return h$RTS_360;+ }+ else+ {+ var h$RTS_367 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 2), h$r2, h$r3, h$r4, h$r5);+ h$r1 = h$RTS_367;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p5(h$r5, h$r4, h$r3, h$r2, h$ap_2_4);+ return h$RTS_360;+ case (5):+ h$p5(h$r5, h$r4, h$r3, h$r2, h$ap_2_4);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_2_4_fast: unexpected closure type: " + h$RTS_360.t));+ };+};+function h$ap_3_2_fast()+{+ var h$RTS_371 = h$r1.f;+ switch (h$RTS_371.t)+ {+ case (1):+ var h$RTS_372 = h$RTS_371.a;+ var h$RTS_374 = (h$RTS_372 & 255);+ if((3 === h$RTS_374))+ {+ return h$RTS_371;+ }+ else+ {+ if((3 > h$RTS_374))+ {+ var h$RTS_375 = (h$RTS_372 >> 8);+ var h$RTS_376 = (2 - h$RTS_375);+ switch (h$RTS_375)+ {+ case (0):+ h$stack[(h$sp + 2)] = h$r2;+ case (1):+ h$stack[(h$sp + 1)] = h$r3;+ default:+ };+ h$sp = ((h$sp + h$RTS_376) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_376 << 8) | (3 - (h$RTS_372 & 255)))];+ return h$RTS_371;+ }+ else+ {+ var h$RTS_373 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 3), h$r2, h$r3);+ h$r1 = h$RTS_373;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_377 = h$r1.d2.d1;+ var h$RTS_379 = (h$RTS_377 & 255);+ if((3 === h$RTS_379))+ {+ return h$RTS_371;+ }+ else+ {+ if((3 > h$RTS_379))+ {+ var h$RTS_380 = (h$RTS_377 >> 8);+ var h$RTS_381 = (2 - h$RTS_380);+ switch (h$RTS_380)+ {+ case (0):+ h$stack[(h$sp + 2)] = h$r2;+ case (1):+ h$stack[(h$sp + 1)] = h$r3;+ default:+ };+ h$sp = ((h$sp + h$RTS_381) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_381 << 8) | (3 - (h$RTS_377 & 255)))];+ return h$RTS_371;+ }+ else+ {+ var h$RTS_378 = h$c4(h$pap_2, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 512) - 3), h$r2, h$r3);+ h$r1 = h$RTS_378;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p3(h$r3, h$r2, h$ap_3_2);+ return h$RTS_371;+ case (5):+ h$p3(h$r3, h$r2, h$ap_3_2);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_3_2_fast: unexpected closure type: " + h$RTS_371.t));+ };+};+function h$ap_3_3_fast()+{+ var h$RTS_382 = h$r1.f;+ switch (h$RTS_382.t)+ {+ case (1):+ var h$RTS_383 = h$RTS_382.a;+ var h$RTS_385 = (h$RTS_383 & 255);+ if((3 === h$RTS_385))+ {+ return h$RTS_382;+ }+ else+ {+ if((3 > h$RTS_385))+ {+ var h$RTS_386 = (h$RTS_383 >> 8);+ var h$RTS_387 = (3 - h$RTS_386);+ switch (h$RTS_386)+ {+ case (0):+ h$stack[(h$sp + 3)] = h$r2;+ case (1):+ h$stack[(h$sp + 2)] = h$r3;+ case (2):+ h$stack[(h$sp + 1)] = h$r4;+ default:+ };+ h$sp = ((h$sp + h$RTS_387) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_387 << 8) | (3 - (h$RTS_383 & 255)))];+ return h$RTS_382;+ }+ else+ {+ var h$RTS_384 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 3), h$r2, h$r3, h$r4);+ h$r1 = h$RTS_384;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_388 = h$r1.d2.d1;+ var h$RTS_390 = (h$RTS_388 & 255);+ if((3 === h$RTS_390))+ {+ return h$RTS_382;+ }+ else+ {+ if((3 > h$RTS_390))+ {+ var h$RTS_391 = (h$RTS_388 >> 8);+ var h$RTS_392 = (3 - h$RTS_391);+ switch (h$RTS_391)+ {+ case (0):+ h$stack[(h$sp + 3)] = h$r2;+ case (1):+ h$stack[(h$sp + 2)] = h$r3;+ case (2):+ h$stack[(h$sp + 1)] = h$r4;+ default:+ };+ h$sp = ((h$sp + h$RTS_392) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_392 << 8) | (3 - (h$RTS_388 & 255)))];+ return h$RTS_382;+ }+ else+ {+ var h$RTS_389 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 3), h$r2, h$r3, h$r4);+ h$r1 = h$RTS_389;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p4(h$r4, h$r3, h$r2, h$ap_3_3);+ return h$RTS_382;+ case (5):+ h$p4(h$r4, h$r3, h$r2, h$ap_3_3);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_3_3_fast: unexpected closure type: " + h$RTS_382.t));+ };+};+function h$ap_3_4_fast()+{+ var h$RTS_393 = h$r1.f;+ switch (h$RTS_393.t)+ {+ case (1):+ var h$RTS_394 = h$RTS_393.a;+ var h$RTS_396 = (h$RTS_394 & 255);+ if((3 === h$RTS_396))+ {+ return h$RTS_393;+ }+ else+ {+ if((3 > h$RTS_396))+ {+ var h$RTS_397 = (h$RTS_394 >> 8);+ var h$RTS_398 = (4 - h$RTS_397);+ switch (h$RTS_397)+ {+ case (0):+ h$stack[(h$sp + 4)] = h$r2;+ case (1):+ h$stack[(h$sp + 3)] = h$r3;+ case (2):+ h$stack[(h$sp + 2)] = h$r4;+ case (3):+ h$stack[(h$sp + 1)] = h$r5;+ default:+ };+ h$sp = ((h$sp + h$RTS_398) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_398 << 8) | (3 - (h$RTS_394 & 255)))];+ return h$RTS_393;+ }+ else+ {+ var h$RTS_395 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 3), h$r2, h$r3, h$r4, h$r5);+ h$r1 = h$RTS_395;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_399 = h$r1.d2.d1;+ var h$RTS_401 = (h$RTS_399 & 255);+ if((3 === h$RTS_401))+ {+ return h$RTS_393;+ }+ else+ {+ if((3 > h$RTS_401))+ {+ var h$RTS_402 = (h$RTS_399 >> 8);+ var h$RTS_403 = (4 - h$RTS_402);+ switch (h$RTS_402)+ {+ case (0):+ h$stack[(h$sp + 4)] = h$r2;+ case (1):+ h$stack[(h$sp + 3)] = h$r3;+ case (2):+ h$stack[(h$sp + 2)] = h$r4;+ case (3):+ h$stack[(h$sp + 1)] = h$r5;+ default:+ };+ h$sp = ((h$sp + h$RTS_403) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_403 << 8) | (3 - (h$RTS_399 & 255)))];+ return h$RTS_393;+ }+ else+ {+ var h$RTS_400 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 3), h$r2, h$r3, h$r4, h$r5);+ h$r1 = h$RTS_400;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p5(h$r5, h$r4, h$r3, h$r2, h$ap_3_4);+ return h$RTS_393;+ case (5):+ h$p5(h$r5, h$r4, h$r3, h$r2, h$ap_3_4);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_3_4_fast: unexpected closure type: " + h$RTS_393.t));+ };+};+function h$ap_3_5_fast()+{+ var h$RTS_404 = h$r1.f;+ switch (h$RTS_404.t)+ {+ case (1):+ var h$RTS_405 = h$RTS_404.a;+ var h$RTS_407 = (h$RTS_405 & 255);+ if((3 === h$RTS_407))+ {+ return h$RTS_404;+ }+ else+ {+ if((3 > h$RTS_407))+ {+ var h$RTS_408 = (h$RTS_405 >> 8);+ var h$RTS_409 = (5 - h$RTS_408);+ switch (h$RTS_408)+ {+ case (0):+ h$stack[(h$sp + 5)] = h$r2;+ case (1):+ h$stack[(h$sp + 4)] = h$r3;+ case (2):+ h$stack[(h$sp + 3)] = h$r4;+ case (3):+ h$stack[(h$sp + 2)] = h$r5;+ case (4):+ h$stack[(h$sp + 1)] = h$r6;+ default:+ };+ h$sp = ((h$sp + h$RTS_409) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_409 << 8) | (3 - (h$RTS_405 & 255)))];+ return h$RTS_404;+ }+ else+ {+ var h$RTS_406 = h$c7(h$pap_5, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1280) - 3), h$r2, h$r3, h$r4, h$r5,+ h$r6);+ h$r1 = h$RTS_406;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_410 = h$r1.d2.d1;+ var h$RTS_412 = (h$RTS_410 & 255);+ if((3 === h$RTS_412))+ {+ return h$RTS_404;+ }+ else+ {+ if((3 > h$RTS_412))+ {+ var h$RTS_413 = (h$RTS_410 >> 8);+ var h$RTS_414 = (5 - h$RTS_413);+ switch (h$RTS_413)+ {+ case (0):+ h$stack[(h$sp + 5)] = h$r2;+ case (1):+ h$stack[(h$sp + 4)] = h$r3;+ case (2):+ h$stack[(h$sp + 3)] = h$r4;+ case (3):+ h$stack[(h$sp + 2)] = h$r5;+ case (4):+ h$stack[(h$sp + 1)] = h$r6;+ default:+ };+ h$sp = ((h$sp + h$RTS_414) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_414 << 8) | (3 - (h$RTS_410 & 255)))];+ return h$RTS_404;+ }+ else+ {+ var h$RTS_411 = h$c7(h$pap_5, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1280) - 3), h$r2, h$r3, h$r4, h$r5,+ h$r6);+ h$r1 = h$RTS_411;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p6(h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_3_5);+ return h$RTS_404;+ case (5):+ h$p6(h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_3_5);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_3_5_fast: unexpected closure type: " + h$RTS_404.t));+ };+};+function h$ap_3_6_fast()+{+ var h$RTS_415 = h$r1.f;+ switch (h$RTS_415.t)+ {+ case (1):+ var h$RTS_416 = h$RTS_415.a;+ var h$RTS_418 = (h$RTS_416 & 255);+ if((3 === h$RTS_418))+ {+ return h$RTS_415;+ }+ else+ {+ if((3 > h$RTS_418))+ {+ var h$RTS_419 = (h$RTS_416 >> 8);+ var h$RTS_420 = (6 - h$RTS_419);+ switch (h$RTS_419)+ {+ case (0):+ h$stack[(h$sp + 6)] = h$r2;+ case (1):+ h$stack[(h$sp + 5)] = h$r3;+ case (2):+ h$stack[(h$sp + 4)] = h$r4;+ case (3):+ h$stack[(h$sp + 3)] = h$r5;+ case (4):+ h$stack[(h$sp + 2)] = h$r6;+ case (5):+ h$stack[(h$sp + 1)] = h$r7;+ default:+ };+ h$sp = ((h$sp + h$RTS_420) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_420 << 8) | (3 - (h$RTS_416 & 255)))];+ return h$RTS_415;+ }+ else+ {+ var h$RTS_417 = h$c8(h$pap_6, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1536) - 3), h$r2, h$r3, h$r4, h$r5,+ h$r6, h$r7);+ h$r1 = h$RTS_417;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_421 = h$r1.d2.d1;+ var h$RTS_423 = (h$RTS_421 & 255);+ if((3 === h$RTS_423))+ {+ return h$RTS_415;+ }+ else+ {+ if((3 > h$RTS_423))+ {+ var h$RTS_424 = (h$RTS_421 >> 8);+ var h$RTS_425 = (6 - h$RTS_424);+ switch (h$RTS_424)+ {+ case (0):+ h$stack[(h$sp + 6)] = h$r2;+ case (1):+ h$stack[(h$sp + 5)] = h$r3;+ case (2):+ h$stack[(h$sp + 4)] = h$r4;+ case (3):+ h$stack[(h$sp + 3)] = h$r5;+ case (4):+ h$stack[(h$sp + 2)] = h$r6;+ case (5):+ h$stack[(h$sp + 1)] = h$r7;+ default:+ };+ h$sp = ((h$sp + h$RTS_425) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_425 << 8) | (3 - (h$RTS_421 & 255)))];+ return h$RTS_415;+ }+ else+ {+ var h$RTS_422 = h$c8(h$pap_6, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1536) - 3), h$r2, h$r3, h$r4, h$r5,+ h$r6, h$r7);+ h$r1 = h$RTS_422;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p7(h$r7, h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_3_6);+ return h$RTS_415;+ case (5):+ h$p7(h$r7, h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_3_6);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_3_6_fast: unexpected closure type: " + h$RTS_415.t));+ };+};+function h$ap_4_3_fast()+{+ var h$RTS_426 = h$r1.f;+ switch (h$RTS_426.t)+ {+ case (1):+ var h$RTS_427 = h$RTS_426.a;+ var h$RTS_429 = (h$RTS_427 & 255);+ if((4 === h$RTS_429))+ {+ return h$RTS_426;+ }+ else+ {+ if((4 > h$RTS_429))+ {+ var h$RTS_430 = (h$RTS_427 >> 8);+ var h$RTS_431 = (3 - h$RTS_430);+ switch (h$RTS_430)+ {+ case (0):+ h$stack[(h$sp + 3)] = h$r2;+ case (1):+ h$stack[(h$sp + 2)] = h$r3;+ case (2):+ h$stack[(h$sp + 1)] = h$r4;+ default:+ };+ h$sp = ((h$sp + h$RTS_431) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_431 << 8) | (4 - (h$RTS_427 & 255)))];+ return h$RTS_426;+ }+ else+ {+ var h$RTS_428 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 4), h$r2, h$r3, h$r4);+ h$r1 = h$RTS_428;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_432 = h$r1.d2.d1;+ var h$RTS_434 = (h$RTS_432 & 255);+ if((4 === h$RTS_434))+ {+ return h$RTS_426;+ }+ else+ {+ if((4 > h$RTS_434))+ {+ var h$RTS_435 = (h$RTS_432 >> 8);+ var h$RTS_436 = (3 - h$RTS_435);+ switch (h$RTS_435)+ {+ case (0):+ h$stack[(h$sp + 3)] = h$r2;+ case (1):+ h$stack[(h$sp + 2)] = h$r3;+ case (2):+ h$stack[(h$sp + 1)] = h$r4;+ default:+ };+ h$sp = ((h$sp + h$RTS_436) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_436 << 8) | (4 - (h$RTS_432 & 255)))];+ return h$RTS_426;+ }+ else+ {+ var h$RTS_433 = h$c5(h$pap_3, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 768) - 4), h$r2, h$r3, h$r4);+ h$r1 = h$RTS_433;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p4(h$r4, h$r3, h$r2, h$ap_4_3);+ return h$RTS_426;+ case (5):+ h$p4(h$r4, h$r3, h$r2, h$ap_4_3);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_4_3_fast: unexpected closure type: " + h$RTS_426.t));+ };+};+function h$ap_4_4_fast()+{+ var h$RTS_437 = h$r1.f;+ switch (h$RTS_437.t)+ {+ case (1):+ var h$RTS_438 = h$RTS_437.a;+ var h$RTS_440 = (h$RTS_438 & 255);+ if((4 === h$RTS_440))+ {+ return h$RTS_437;+ }+ else+ {+ if((4 > h$RTS_440))+ {+ var h$RTS_441 = (h$RTS_438 >> 8);+ var h$RTS_442 = (4 - h$RTS_441);+ switch (h$RTS_441)+ {+ case (0):+ h$stack[(h$sp + 4)] = h$r2;+ case (1):+ h$stack[(h$sp + 3)] = h$r3;+ case (2):+ h$stack[(h$sp + 2)] = h$r4;+ case (3):+ h$stack[(h$sp + 1)] = h$r5;+ default:+ };+ h$sp = ((h$sp + h$RTS_442) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_442 << 8) | (4 - (h$RTS_438 & 255)))];+ return h$RTS_437;+ }+ else+ {+ var h$RTS_439 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 4), h$r2, h$r3, h$r4, h$r5);+ h$r1 = h$RTS_439;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_443 = h$r1.d2.d1;+ var h$RTS_445 = (h$RTS_443 & 255);+ if((4 === h$RTS_445))+ {+ return h$RTS_437;+ }+ else+ {+ if((4 > h$RTS_445))+ {+ var h$RTS_446 = (h$RTS_443 >> 8);+ var h$RTS_447 = (4 - h$RTS_446);+ switch (h$RTS_446)+ {+ case (0):+ h$stack[(h$sp + 4)] = h$r2;+ case (1):+ h$stack[(h$sp + 3)] = h$r3;+ case (2):+ h$stack[(h$sp + 2)] = h$r4;+ case (3):+ h$stack[(h$sp + 1)] = h$r5;+ default:+ };+ h$sp = ((h$sp + h$RTS_447) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_447 << 8) | (4 - (h$RTS_443 & 255)))];+ return h$RTS_437;+ }+ else+ {+ var h$RTS_444 = h$c6(h$pap_4, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1024) - 4), h$r2, h$r3, h$r4, h$r5);+ h$r1 = h$RTS_444;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p5(h$r5, h$r4, h$r3, h$r2, h$ap_4_4);+ return h$RTS_437;+ case (5):+ h$p5(h$r5, h$r4, h$r3, h$r2, h$ap_4_4);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_4_4_fast: unexpected closure type: " + h$RTS_437.t));+ };+};+function h$ap_4_5_fast()+{+ var h$RTS_448 = h$r1.f;+ switch (h$RTS_448.t)+ {+ case (1):+ var h$RTS_449 = h$RTS_448.a;+ var h$RTS_451 = (h$RTS_449 & 255);+ if((4 === h$RTS_451))+ {+ return h$RTS_448;+ }+ else+ {+ if((4 > h$RTS_451))+ {+ var h$RTS_452 = (h$RTS_449 >> 8);+ var h$RTS_453 = (5 - h$RTS_452);+ switch (h$RTS_452)+ {+ case (0):+ h$stack[(h$sp + 5)] = h$r2;+ case (1):+ h$stack[(h$sp + 4)] = h$r3;+ case (2):+ h$stack[(h$sp + 3)] = h$r4;+ case (3):+ h$stack[(h$sp + 2)] = h$r5;+ case (4):+ h$stack[(h$sp + 1)] = h$r6;+ default:+ };+ h$sp = ((h$sp + h$RTS_453) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_453 << 8) | (4 - (h$RTS_449 & 255)))];+ return h$RTS_448;+ }+ else+ {+ var h$RTS_450 = h$c7(h$pap_5, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1280) - 4), h$r2, h$r3, h$r4, h$r5,+ h$r6);+ h$r1 = h$RTS_450;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_454 = h$r1.d2.d1;+ var h$RTS_456 = (h$RTS_454 & 255);+ if((4 === h$RTS_456))+ {+ return h$RTS_448;+ }+ else+ {+ if((4 > h$RTS_456))+ {+ var h$RTS_457 = (h$RTS_454 >> 8);+ var h$RTS_458 = (5 - h$RTS_457);+ switch (h$RTS_457)+ {+ case (0):+ h$stack[(h$sp + 5)] = h$r2;+ case (1):+ h$stack[(h$sp + 4)] = h$r3;+ case (2):+ h$stack[(h$sp + 3)] = h$r4;+ case (3):+ h$stack[(h$sp + 2)] = h$r5;+ case (4):+ h$stack[(h$sp + 1)] = h$r6;+ default:+ };+ h$sp = ((h$sp + h$RTS_458) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_458 << 8) | (4 - (h$RTS_454 & 255)))];+ return h$RTS_448;+ }+ else+ {+ var h$RTS_455 = h$c7(h$pap_5, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1280) - 4), h$r2, h$r3, h$r4, h$r5,+ h$r6);+ h$r1 = h$RTS_455;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p6(h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_4_5);+ return h$RTS_448;+ case (5):+ h$p6(h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_4_5);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_4_5_fast: unexpected closure type: " + h$RTS_448.t));+ };+};+function h$ap_4_6_fast()+{+ var h$RTS_459 = h$r1.f;+ switch (h$RTS_459.t)+ {+ case (1):+ var h$RTS_460 = h$RTS_459.a;+ var h$RTS_462 = (h$RTS_460 & 255);+ if((4 === h$RTS_462))+ {+ return h$RTS_459;+ }+ else+ {+ if((4 > h$RTS_462))+ {+ var h$RTS_463 = (h$RTS_460 >> 8);+ var h$RTS_464 = (6 - h$RTS_463);+ switch (h$RTS_463)+ {+ case (0):+ h$stack[(h$sp + 6)] = h$r2;+ case (1):+ h$stack[(h$sp + 5)] = h$r3;+ case (2):+ h$stack[(h$sp + 4)] = h$r4;+ case (3):+ h$stack[(h$sp + 3)] = h$r5;+ case (4):+ h$stack[(h$sp + 2)] = h$r6;+ case (5):+ h$stack[(h$sp + 1)] = h$r7;+ default:+ };+ h$sp = ((h$sp + h$RTS_464) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_464 << 8) | (4 - (h$RTS_460 & 255)))];+ return h$RTS_459;+ }+ else+ {+ var h$RTS_461 = h$c8(h$pap_6, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1536) - 4), h$r2, h$r3, h$r4, h$r5,+ h$r6, h$r7);+ h$r1 = h$RTS_461;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_465 = h$r1.d2.d1;+ var h$RTS_467 = (h$RTS_465 & 255);+ if((4 === h$RTS_467))+ {+ return h$RTS_459;+ }+ else+ {+ if((4 > h$RTS_467))+ {+ var h$RTS_468 = (h$RTS_465 >> 8);+ var h$RTS_469 = (6 - h$RTS_468);+ switch (h$RTS_468)+ {+ case (0):+ h$stack[(h$sp + 6)] = h$r2;+ case (1):+ h$stack[(h$sp + 5)] = h$r3;+ case (2):+ h$stack[(h$sp + 4)] = h$r4;+ case (3):+ h$stack[(h$sp + 3)] = h$r5;+ case (4):+ h$stack[(h$sp + 2)] = h$r6;+ case (5):+ h$stack[(h$sp + 1)] = h$r7;+ default:+ };+ h$sp = ((h$sp + h$RTS_469) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_469 << 8) | (4 - (h$RTS_465 & 255)))];+ return h$RTS_459;+ }+ else+ {+ var h$RTS_466 = h$c8(h$pap_6, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1536) - 4), h$r2, h$r3, h$r4, h$r5,+ h$r6, h$r7);+ h$r1 = h$RTS_466;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p7(h$r7, h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_4_6);+ return h$RTS_459;+ case (5):+ h$p7(h$r7, h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_4_6);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_4_6_fast: unexpected closure type: " + h$RTS_459.t));+ };+};+function h$ap_4_7_fast()+{+ var h$RTS_470 = h$r1.f;+ switch (h$RTS_470.t)+ {+ case (1):+ var h$RTS_471 = h$RTS_470.a;+ var h$RTS_473 = (h$RTS_471 & 255);+ if((4 === h$RTS_473))+ {+ return h$RTS_470;+ }+ else+ {+ if((4 > h$RTS_473))+ {+ var h$RTS_474 = (h$RTS_471 >> 8);+ var h$RTS_475 = (7 - h$RTS_474);+ switch (h$RTS_474)+ {+ case (0):+ h$stack[(h$sp + 7)] = h$r2;+ case (1):+ h$stack[(h$sp + 6)] = h$r3;+ case (2):+ h$stack[(h$sp + 5)] = h$r4;+ case (3):+ h$stack[(h$sp + 4)] = h$r5;+ case (4):+ h$stack[(h$sp + 3)] = h$r6;+ case (5):+ h$stack[(h$sp + 2)] = h$r7;+ case (6):+ h$stack[(h$sp + 1)] = h$r8;+ default:+ };+ h$sp = ((h$sp + h$RTS_475) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_475 << 8) | (4 - (h$RTS_471 & 255)))];+ return h$RTS_470;+ }+ else+ {+ var h$RTS_472 = h$c9(h$pap_gen, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1792) - 4), h$r2, h$r3, h$r4, h$r5,+ h$r6, h$r7, h$r8);+ h$r1 = h$RTS_472;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_476 = h$r1.d2.d1;+ var h$RTS_478 = (h$RTS_476 & 255);+ if((4 === h$RTS_478))+ {+ return h$RTS_470;+ }+ else+ {+ if((4 > h$RTS_478))+ {+ var h$RTS_479 = (h$RTS_476 >> 8);+ var h$RTS_480 = (7 - h$RTS_479);+ switch (h$RTS_479)+ {+ case (0):+ h$stack[(h$sp + 7)] = h$r2;+ case (1):+ h$stack[(h$sp + 6)] = h$r3;+ case (2):+ h$stack[(h$sp + 5)] = h$r4;+ case (3):+ h$stack[(h$sp + 4)] = h$r5;+ case (4):+ h$stack[(h$sp + 3)] = h$r6;+ case (5):+ h$stack[(h$sp + 2)] = h$r7;+ case (6):+ h$stack[(h$sp + 1)] = h$r8;+ default:+ };+ h$sp = ((h$sp + h$RTS_480) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_480 << 8) | (4 - (h$RTS_476 & 255)))];+ return h$RTS_470;+ }+ else+ {+ var h$RTS_477 = h$c9(h$pap_gen, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 1792) - 4), h$r2, h$r3, h$r4, h$r5,+ h$r6, h$r7, h$r8);+ h$r1 = h$RTS_477;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p8(h$r8, h$r7, h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_4_7);+ return h$RTS_470;+ case (5):+ h$p8(h$r8, h$r7, h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_4_7);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_4_7_fast: unexpected closure type: " + h$RTS_470.t));+ };+};+function h$ap_4_8_fast()+{+ var h$RTS_481 = h$r1.f;+ switch (h$RTS_481.t)+ {+ case (1):+ var h$RTS_482 = h$RTS_481.a;+ var h$RTS_484 = (h$RTS_482 & 255);+ if((4 === h$RTS_484))+ {+ return h$RTS_481;+ }+ else+ {+ if((4 > h$RTS_484))+ {+ var h$RTS_485 = (h$RTS_482 >> 8);+ var h$RTS_486 = (8 - h$RTS_485);+ switch (h$RTS_485)+ {+ case (0):+ h$stack[(h$sp + 8)] = h$r2;+ case (1):+ h$stack[(h$sp + 7)] = h$r3;+ case (2):+ h$stack[(h$sp + 6)] = h$r4;+ case (3):+ h$stack[(h$sp + 5)] = h$r5;+ case (4):+ h$stack[(h$sp + 4)] = h$r6;+ case (5):+ h$stack[(h$sp + 3)] = h$r7;+ case (6):+ h$stack[(h$sp + 2)] = h$r8;+ case (7):+ h$stack[(h$sp + 1)] = h$r9;+ default:+ };+ h$sp = ((h$sp + h$RTS_486) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_486 << 8) | (4 - (h$RTS_482 & 255)))];+ return h$RTS_481;+ }+ else+ {+ var h$RTS_483 = h$c10(h$pap_gen, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 2048) - 4), h$r2, h$r3, h$r4,+ h$r5, h$r6, h$r7, h$r8, h$r9);+ h$r1 = h$RTS_483;+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_487 = h$r1.d2.d1;+ var h$RTS_489 = (h$RTS_487 & 255);+ if((4 === h$RTS_489))+ {+ return h$RTS_481;+ }+ else+ {+ if((4 > h$RTS_489))+ {+ var h$RTS_490 = (h$RTS_487 >> 8);+ var h$RTS_491 = (8 - h$RTS_490);+ switch (h$RTS_490)+ {+ case (0):+ h$stack[(h$sp + 8)] = h$r2;+ case (1):+ h$stack[(h$sp + 7)] = h$r3;+ case (2):+ h$stack[(h$sp + 6)] = h$r4;+ case (3):+ h$stack[(h$sp + 5)] = h$r5;+ case (4):+ h$stack[(h$sp + 4)] = h$r6;+ case (5):+ h$stack[(h$sp + 3)] = h$r7;+ case (6):+ h$stack[(h$sp + 2)] = h$r8;+ case (7):+ h$stack[(h$sp + 1)] = h$r9;+ default:+ };+ h$sp = ((h$sp + h$RTS_491) + 1);+ h$stack[h$sp] = h$apply[((h$RTS_491 << 8) | (4 - (h$RTS_487 & 255)))];+ return h$RTS_481;+ }+ else+ {+ var h$RTS_488 = h$c10(h$pap_gen, h$r1, ((((h$r1.f.t === 1) ? h$r1.f.a : h$r1.d2.d1) - 2048) - 4), h$r2, h$r3, h$r4,+ h$r5, h$r6, h$r7, h$r8, h$r9);+ h$r1 = h$RTS_488;+ return h$stack[h$sp];+ };+ };+ case (0):+ h$p9(h$r9, h$r8, h$r7, h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_4_8);+ return h$RTS_481;+ case (5):+ h$p9(h$r9, h$r8, h$r7, h$r6, h$r5, h$r4, h$r3, h$r2, h$ap_4_8);+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_4_8_fast: unexpected closure type: " + h$RTS_481.t));+ };+};+function h$pap_0()+{+ var h$RTS_492 = h$r1.d1;+ var h$RTS_493 = h$r1.d2;+ var h$RTS_494 = h$RTS_492.f;+ var h$RTS_495 = ((((h$RTS_494.t === 1) ? h$RTS_494.a : h$RTS_492.d2.d1) >> 8) - 0);+ switch (h$RTS_495)+ {+ case (127):+ h$regs[95] = h$regs[95];+ case (126):+ h$regs[94] = h$regs[94];+ case (125):+ h$regs[93] = h$regs[93];+ case (124):+ h$regs[92] = h$regs[92];+ case (123):+ h$regs[91] = h$regs[91];+ case (122):+ h$regs[90] = h$regs[90];+ case (121):+ h$regs[89] = h$regs[89];+ case (120):+ h$regs[88] = h$regs[88];+ case (119):+ h$regs[87] = h$regs[87];+ case (118):+ h$regs[86] = h$regs[86];+ case (117):+ h$regs[85] = h$regs[85];+ case (116):+ h$regs[84] = h$regs[84];+ case (115):+ h$regs[83] = h$regs[83];+ case (114):+ h$regs[82] = h$regs[82];+ case (113):+ h$regs[81] = h$regs[81];+ case (112):+ h$regs[80] = h$regs[80];+ case (111):+ h$regs[79] = h$regs[79];+ case (110):+ h$regs[78] = h$regs[78];+ case (109):+ h$regs[77] = h$regs[77];+ case (108):+ h$regs[76] = h$regs[76];+ case (107):+ h$regs[75] = h$regs[75];+ case (106):+ h$regs[74] = h$regs[74];+ case (105):+ h$regs[73] = h$regs[73];+ case (104):+ h$regs[72] = h$regs[72];+ case (103):+ h$regs[71] = h$regs[71];+ case (102):+ h$regs[70] = h$regs[70];+ case (101):+ h$regs[69] = h$regs[69];+ case (100):+ h$regs[68] = h$regs[68];+ case (99):+ h$regs[67] = h$regs[67];+ case (98):+ h$regs[66] = h$regs[66];+ case (97):+ h$regs[65] = h$regs[65];+ case (96):+ h$regs[64] = h$regs[64];+ case (95):+ h$regs[63] = h$regs[63];+ case (94):+ h$regs[62] = h$regs[62];+ case (93):+ h$regs[61] = h$regs[61];+ case (92):+ h$regs[60] = h$regs[60];+ case (91):+ h$regs[59] = h$regs[59];+ case (90):+ h$regs[58] = h$regs[58];+ case (89):+ h$regs[57] = h$regs[57];+ case (88):+ h$regs[56] = h$regs[56];+ case (87):+ h$regs[55] = h$regs[55];+ case (86):+ h$regs[54] = h$regs[54];+ case (85):+ h$regs[53] = h$regs[53];+ case (84):+ h$regs[52] = h$regs[52];+ case (83):+ h$regs[51] = h$regs[51];+ case (82):+ h$regs[50] = h$regs[50];+ case (81):+ h$regs[49] = h$regs[49];+ case (80):+ h$regs[48] = h$regs[48];+ case (79):+ h$regs[47] = h$regs[47];+ case (78):+ h$regs[46] = h$regs[46];+ case (77):+ h$regs[45] = h$regs[45];+ case (76):+ h$regs[44] = h$regs[44];+ case (75):+ h$regs[43] = h$regs[43];+ case (74):+ h$regs[42] = h$regs[42];+ case (73):+ h$regs[41] = h$regs[41];+ case (72):+ h$regs[40] = h$regs[40];+ case (71):+ h$regs[39] = h$regs[39];+ case (70):+ h$regs[38] = h$regs[38];+ case (69):+ h$regs[37] = h$regs[37];+ case (68):+ h$regs[36] = h$regs[36];+ case (67):+ h$regs[35] = h$regs[35];+ case (66):+ h$regs[34] = h$regs[34];+ case (65):+ h$regs[33] = h$regs[33];+ case (64):+ h$regs[32] = h$regs[32];+ case (63):+ h$regs[31] = h$regs[31];+ case (62):+ h$regs[30] = h$regs[30];+ case (61):+ h$regs[29] = h$regs[29];+ case (60):+ h$regs[28] = h$regs[28];+ case (59):+ h$regs[27] = h$regs[27];+ case (58):+ h$regs[26] = h$regs[26];+ case (57):+ h$regs[25] = h$regs[25];+ case (56):+ h$regs[24] = h$regs[24];+ case (55):+ h$regs[23] = h$regs[23];+ case (54):+ h$regs[22] = h$regs[22];+ case (53):+ h$regs[21] = h$regs[21];+ case (52):+ h$regs[20] = h$regs[20];+ case (51):+ h$regs[19] = h$regs[19];+ case (50):+ h$regs[18] = h$regs[18];+ case (49):+ h$regs[17] = h$regs[17];+ case (48):+ h$regs[16] = h$regs[16];+ case (47):+ h$regs[15] = h$regs[15];+ case (46):+ h$regs[14] = h$regs[14];+ case (45):+ h$regs[13] = h$regs[13];+ case (44):+ h$regs[12] = h$regs[12];+ case (43):+ h$regs[11] = h$regs[11];+ case (42):+ h$regs[10] = h$regs[10];+ case (41):+ h$regs[9] = h$regs[9];+ case (40):+ h$regs[8] = h$regs[8];+ case (39):+ h$regs[7] = h$regs[7];+ case (38):+ h$regs[6] = h$regs[6];+ case (37):+ h$regs[5] = h$regs[5];+ case (36):+ h$regs[4] = h$regs[4];+ case (35):+ h$regs[3] = h$regs[3];+ case (34):+ h$regs[2] = h$regs[2];+ case (33):+ h$regs[1] = h$regs[1];+ case (32):+ h$regs[0] = h$regs[0];+ case (31):+ h$r32 = h$r32;+ case (30):+ h$r31 = h$r31;+ case (29):+ h$r30 = h$r30;+ case (28):+ h$r29 = h$r29;+ case (27):+ h$r28 = h$r28;+ case (26):+ h$r27 = h$r27;+ case (25):+ h$r26 = h$r26;+ case (24):+ h$r25 = h$r25;+ case (23):+ h$r24 = h$r24;+ case (22):+ h$r23 = h$r23;+ case (21):+ h$r22 = h$r22;+ case (20):+ h$r21 = h$r21;+ case (19):+ h$r20 = h$r20;+ case (18):+ h$r19 = h$r19;+ case (17):+ h$r18 = h$r18;+ case (16):+ h$r17 = h$r17;+ case (15):+ h$r16 = h$r16;+ case (14):+ h$r15 = h$r15;+ case (13):+ h$r14 = h$r14;+ case (12):+ h$r13 = h$r13;+ case (11):+ h$r12 = h$r12;+ case (10):+ h$r11 = h$r11;+ case (9):+ h$r10 = h$r10;+ case (8):+ h$r9 = h$r9;+ case (7):+ h$r8 = h$r8;+ case (6):+ h$r7 = h$r7;+ case (5):+ h$r6 = h$r6;+ case (4):+ h$r5 = h$r5;+ case (3):+ h$r4 = h$r4;+ case (2):+ h$r3 = h$r3;+ case (1):+ h$r2 = h$r2;+ default:+ };+ h$r1 = h$RTS_492;+ return h$RTS_494;+};+h$o(h$pap_0, 3, 0, 2, (-1), null);+function h$pap_1()+{+ var h$RTS_496 = h$r1.d1;+ var h$RTS_497 = h$r1.d2;+ var h$RTS_498 = h$RTS_496.f;+ var h$RTS_499 = ((((h$RTS_498.t === 1) ? h$RTS_498.a : h$RTS_496.d2.d1) >> 8) - 1);+ switch (h$RTS_499)+ {+ case (126):+ h$regs[95] = h$regs[94];+ case (125):+ h$regs[94] = h$regs[93];+ case (124):+ h$regs[93] = h$regs[92];+ case (123):+ h$regs[92] = h$regs[91];+ case (122):+ h$regs[91] = h$regs[90];+ case (121):+ h$regs[90] = h$regs[89];+ case (120):+ h$regs[89] = h$regs[88];+ case (119):+ h$regs[88] = h$regs[87];+ case (118):+ h$regs[87] = h$regs[86];+ case (117):+ h$regs[86] = h$regs[85];+ case (116):+ h$regs[85] = h$regs[84];+ case (115):+ h$regs[84] = h$regs[83];+ case (114):+ h$regs[83] = h$regs[82];+ case (113):+ h$regs[82] = h$regs[81];+ case (112):+ h$regs[81] = h$regs[80];+ case (111):+ h$regs[80] = h$regs[79];+ case (110):+ h$regs[79] = h$regs[78];+ case (109):+ h$regs[78] = h$regs[77];+ case (108):+ h$regs[77] = h$regs[76];+ case (107):+ h$regs[76] = h$regs[75];+ case (106):+ h$regs[75] = h$regs[74];+ case (105):+ h$regs[74] = h$regs[73];+ case (104):+ h$regs[73] = h$regs[72];+ case (103):+ h$regs[72] = h$regs[71];+ case (102):+ h$regs[71] = h$regs[70];+ case (101):+ h$regs[70] = h$regs[69];+ case (100):+ h$regs[69] = h$regs[68];+ case (99):+ h$regs[68] = h$regs[67];+ case (98):+ h$regs[67] = h$regs[66];+ case (97):+ h$regs[66] = h$regs[65];+ case (96):+ h$regs[65] = h$regs[64];+ case (95):+ h$regs[64] = h$regs[63];+ case (94):+ h$regs[63] = h$regs[62];+ case (93):+ h$regs[62] = h$regs[61];+ case (92):+ h$regs[61] = h$regs[60];+ case (91):+ h$regs[60] = h$regs[59];+ case (90):+ h$regs[59] = h$regs[58];+ case (89):+ h$regs[58] = h$regs[57];+ case (88):+ h$regs[57] = h$regs[56];+ case (87):+ h$regs[56] = h$regs[55];+ case (86):+ h$regs[55] = h$regs[54];+ case (85):+ h$regs[54] = h$regs[53];+ case (84):+ h$regs[53] = h$regs[52];+ case (83):+ h$regs[52] = h$regs[51];+ case (82):+ h$regs[51] = h$regs[50];+ case (81):+ h$regs[50] = h$regs[49];+ case (80):+ h$regs[49] = h$regs[48];+ case (79):+ h$regs[48] = h$regs[47];+ case (78):+ h$regs[47] = h$regs[46];+ case (77):+ h$regs[46] = h$regs[45];+ case (76):+ h$regs[45] = h$regs[44];+ case (75):+ h$regs[44] = h$regs[43];+ case (74):+ h$regs[43] = h$regs[42];+ case (73):+ h$regs[42] = h$regs[41];+ case (72):+ h$regs[41] = h$regs[40];+ case (71):+ h$regs[40] = h$regs[39];+ case (70):+ h$regs[39] = h$regs[38];+ case (69):+ h$regs[38] = h$regs[37];+ case (68):+ h$regs[37] = h$regs[36];+ case (67):+ h$regs[36] = h$regs[35];+ case (66):+ h$regs[35] = h$regs[34];+ case (65):+ h$regs[34] = h$regs[33];+ case (64):+ h$regs[33] = h$regs[32];+ case (63):+ h$regs[32] = h$regs[31];+ case (62):+ h$regs[31] = h$regs[30];+ case (61):+ h$regs[30] = h$regs[29];+ case (60):+ h$regs[29] = h$regs[28];+ case (59):+ h$regs[28] = h$regs[27];+ case (58):+ h$regs[27] = h$regs[26];+ case (57):+ h$regs[26] = h$regs[25];+ case (56):+ h$regs[25] = h$regs[24];+ case (55):+ h$regs[24] = h$regs[23];+ case (54):+ h$regs[23] = h$regs[22];+ case (53):+ h$regs[22] = h$regs[21];+ case (52):+ h$regs[21] = h$regs[20];+ case (51):+ h$regs[20] = h$regs[19];+ case (50):+ h$regs[19] = h$regs[18];+ case (49):+ h$regs[18] = h$regs[17];+ case (48):+ h$regs[17] = h$regs[16];+ case (47):+ h$regs[16] = h$regs[15];+ case (46):+ h$regs[15] = h$regs[14];+ case (45):+ h$regs[14] = h$regs[13];+ case (44):+ h$regs[13] = h$regs[12];+ case (43):+ h$regs[12] = h$regs[11];+ case (42):+ h$regs[11] = h$regs[10];+ case (41):+ h$regs[10] = h$regs[9];+ case (40):+ h$regs[9] = h$regs[8];+ case (39):+ h$regs[8] = h$regs[7];+ case (38):+ h$regs[7] = h$regs[6];+ case (37):+ h$regs[6] = h$regs[5];+ case (36):+ h$regs[5] = h$regs[4];+ case (35):+ h$regs[4] = h$regs[3];+ case (34):+ h$regs[3] = h$regs[2];+ case (33):+ h$regs[2] = h$regs[1];+ case (32):+ h$regs[1] = h$regs[0];+ case (31):+ h$regs[0] = h$r32;+ case (30):+ h$r32 = h$r31;+ case (29):+ h$r31 = h$r30;+ case (28):+ h$r30 = h$r29;+ case (27):+ h$r29 = h$r28;+ case (26):+ h$r28 = h$r27;+ case (25):+ h$r27 = h$r26;+ case (24):+ h$r26 = h$r25;+ case (23):+ h$r25 = h$r24;+ case (22):+ h$r24 = h$r23;+ case (21):+ h$r23 = h$r22;+ case (20):+ h$r22 = h$r21;+ case (19):+ h$r21 = h$r20;+ case (18):+ h$r20 = h$r19;+ case (17):+ h$r19 = h$r18;+ case (16):+ h$r18 = h$r17;+ case (15):+ h$r17 = h$r16;+ case (14):+ h$r16 = h$r15;+ case (13):+ h$r15 = h$r14;+ case (12):+ h$r14 = h$r13;+ case (11):+ h$r13 = h$r12;+ case (10):+ h$r12 = h$r11;+ case (9):+ h$r11 = h$r10;+ case (8):+ h$r10 = h$r9;+ case (7):+ h$r9 = h$r8;+ case (6):+ h$r8 = h$r7;+ case (5):+ h$r7 = h$r6;+ case (4):+ h$r6 = h$r5;+ case (3):+ h$r5 = h$r4;+ case (2):+ h$r4 = h$r3;+ case (1):+ h$r3 = h$r2;+ default:+ };+ h$r2 = h$RTS_497.d2;+ h$r1 = h$RTS_496;+ return h$RTS_498;+};+h$o(h$pap_1, 3, 0, 3, (-1), null);+function h$pap_2()+{+ var h$RTS_500 = h$r1.d1;+ var h$RTS_501 = h$r1.d2;+ var h$RTS_502 = h$RTS_500.f;+ var h$RTS_503 = ((((h$RTS_502.t === 1) ? h$RTS_502.a : h$RTS_500.d2.d1) >> 8) - 2);+ switch (h$RTS_503)+ {+ case (125):+ h$regs[95] = h$regs[93];+ case (124):+ h$regs[94] = h$regs[92];+ case (123):+ h$regs[93] = h$regs[91];+ case (122):+ h$regs[92] = h$regs[90];+ case (121):+ h$regs[91] = h$regs[89];+ case (120):+ h$regs[90] = h$regs[88];+ case (119):+ h$regs[89] = h$regs[87];+ case (118):+ h$regs[88] = h$regs[86];+ case (117):+ h$regs[87] = h$regs[85];+ case (116):+ h$regs[86] = h$regs[84];+ case (115):+ h$regs[85] = h$regs[83];+ case (114):+ h$regs[84] = h$regs[82];+ case (113):+ h$regs[83] = h$regs[81];+ case (112):+ h$regs[82] = h$regs[80];+ case (111):+ h$regs[81] = h$regs[79];+ case (110):+ h$regs[80] = h$regs[78];+ case (109):+ h$regs[79] = h$regs[77];+ case (108):+ h$regs[78] = h$regs[76];+ case (107):+ h$regs[77] = h$regs[75];+ case (106):+ h$regs[76] = h$regs[74];+ case (105):+ h$regs[75] = h$regs[73];+ case (104):+ h$regs[74] = h$regs[72];+ case (103):+ h$regs[73] = h$regs[71];+ case (102):+ h$regs[72] = h$regs[70];+ case (101):+ h$regs[71] = h$regs[69];+ case (100):+ h$regs[70] = h$regs[68];+ case (99):+ h$regs[69] = h$regs[67];+ case (98):+ h$regs[68] = h$regs[66];+ case (97):+ h$regs[67] = h$regs[65];+ case (96):+ h$regs[66] = h$regs[64];+ case (95):+ h$regs[65] = h$regs[63];+ case (94):+ h$regs[64] = h$regs[62];+ case (93):+ h$regs[63] = h$regs[61];+ case (92):+ h$regs[62] = h$regs[60];+ case (91):+ h$regs[61] = h$regs[59];+ case (90):+ h$regs[60] = h$regs[58];+ case (89):+ h$regs[59] = h$regs[57];+ case (88):+ h$regs[58] = h$regs[56];+ case (87):+ h$regs[57] = h$regs[55];+ case (86):+ h$regs[56] = h$regs[54];+ case (85):+ h$regs[55] = h$regs[53];+ case (84):+ h$regs[54] = h$regs[52];+ case (83):+ h$regs[53] = h$regs[51];+ case (82):+ h$regs[52] = h$regs[50];+ case (81):+ h$regs[51] = h$regs[49];+ case (80):+ h$regs[50] = h$regs[48];+ case (79):+ h$regs[49] = h$regs[47];+ case (78):+ h$regs[48] = h$regs[46];+ case (77):+ h$regs[47] = h$regs[45];+ case (76):+ h$regs[46] = h$regs[44];+ case (75):+ h$regs[45] = h$regs[43];+ case (74):+ h$regs[44] = h$regs[42];+ case (73):+ h$regs[43] = h$regs[41];+ case (72):+ h$regs[42] = h$regs[40];+ case (71):+ h$regs[41] = h$regs[39];+ case (70):+ h$regs[40] = h$regs[38];+ case (69):+ h$regs[39] = h$regs[37];+ case (68):+ h$regs[38] = h$regs[36];+ case (67):+ h$regs[37] = h$regs[35];+ case (66):+ h$regs[36] = h$regs[34];+ case (65):+ h$regs[35] = h$regs[33];+ case (64):+ h$regs[34] = h$regs[32];+ case (63):+ h$regs[33] = h$regs[31];+ case (62):+ h$regs[32] = h$regs[30];+ case (61):+ h$regs[31] = h$regs[29];+ case (60):+ h$regs[30] = h$regs[28];+ case (59):+ h$regs[29] = h$regs[27];+ case (58):+ h$regs[28] = h$regs[26];+ case (57):+ h$regs[27] = h$regs[25];+ case (56):+ h$regs[26] = h$regs[24];+ case (55):+ h$regs[25] = h$regs[23];+ case (54):+ h$regs[24] = h$regs[22];+ case (53):+ h$regs[23] = h$regs[21];+ case (52):+ h$regs[22] = h$regs[20];+ case (51):+ h$regs[21] = h$regs[19];+ case (50):+ h$regs[20] = h$regs[18];+ case (49):+ h$regs[19] = h$regs[17];+ case (48):+ h$regs[18] = h$regs[16];+ case (47):+ h$regs[17] = h$regs[15];+ case (46):+ h$regs[16] = h$regs[14];+ case (45):+ h$regs[15] = h$regs[13];+ case (44):+ h$regs[14] = h$regs[12];+ case (43):+ h$regs[13] = h$regs[11];+ case (42):+ h$regs[12] = h$regs[10];+ case (41):+ h$regs[11] = h$regs[9];+ case (40):+ h$regs[10] = h$regs[8];+ case (39):+ h$regs[9] = h$regs[7];+ case (38):+ h$regs[8] = h$regs[6];+ case (37):+ h$regs[7] = h$regs[5];+ case (36):+ h$regs[6] = h$regs[4];+ case (35):+ h$regs[5] = h$regs[3];+ case (34):+ h$regs[4] = h$regs[2];+ case (33):+ h$regs[3] = h$regs[1];+ case (32):+ h$regs[2] = h$regs[0];+ case (31):+ h$regs[1] = h$r32;+ case (30):+ h$regs[0] = h$r31;+ case (29):+ h$r32 = h$r30;+ case (28):+ h$r31 = h$r29;+ case (27):+ h$r30 = h$r28;+ case (26):+ h$r29 = h$r27;+ case (25):+ h$r28 = h$r26;+ case (24):+ h$r27 = h$r25;+ case (23):+ h$r26 = h$r24;+ case (22):+ h$r25 = h$r23;+ case (21):+ h$r24 = h$r22;+ case (20):+ h$r23 = h$r21;+ case (19):+ h$r22 = h$r20;+ case (18):+ h$r21 = h$r19;+ case (17):+ h$r20 = h$r18;+ case (16):+ h$r19 = h$r17;+ case (15):+ h$r18 = h$r16;+ case (14):+ h$r17 = h$r15;+ case (13):+ h$r16 = h$r14;+ case (12):+ h$r15 = h$r13;+ case (11):+ h$r14 = h$r12;+ case (10):+ h$r13 = h$r11;+ case (9):+ h$r12 = h$r10;+ case (8):+ h$r11 = h$r9;+ case (7):+ h$r10 = h$r8;+ case (6):+ h$r9 = h$r7;+ case (5):+ h$r8 = h$r6;+ case (4):+ h$r7 = h$r5;+ case (3):+ h$r6 = h$r4;+ case (2):+ h$r5 = h$r3;+ case (1):+ h$r4 = h$r2;+ default:+ };+ h$r2 = h$RTS_501.d2;+ h$r3 = h$RTS_501.d3;+ h$r1 = h$RTS_500;+ return h$RTS_502;+};+h$o(h$pap_2, 3, 0, 4, (-1), null);+function h$pap_3()+{+ var h$RTS_504 = h$r1.d1;+ var h$RTS_505 = h$r1.d2;+ var h$RTS_506 = h$RTS_504.f;+ var h$RTS_507 = ((((h$RTS_506.t === 1) ? h$RTS_506.a : h$RTS_504.d2.d1) >> 8) - 3);+ switch (h$RTS_507)+ {+ case (124):+ h$regs[95] = h$regs[92];+ case (123):+ h$regs[94] = h$regs[91];+ case (122):+ h$regs[93] = h$regs[90];+ case (121):+ h$regs[92] = h$regs[89];+ case (120):+ h$regs[91] = h$regs[88];+ case (119):+ h$regs[90] = h$regs[87];+ case (118):+ h$regs[89] = h$regs[86];+ case (117):+ h$regs[88] = h$regs[85];+ case (116):+ h$regs[87] = h$regs[84];+ case (115):+ h$regs[86] = h$regs[83];+ case (114):+ h$regs[85] = h$regs[82];+ case (113):+ h$regs[84] = h$regs[81];+ case (112):+ h$regs[83] = h$regs[80];+ case (111):+ h$regs[82] = h$regs[79];+ case (110):+ h$regs[81] = h$regs[78];+ case (109):+ h$regs[80] = h$regs[77];+ case (108):+ h$regs[79] = h$regs[76];+ case (107):+ h$regs[78] = h$regs[75];+ case (106):+ h$regs[77] = h$regs[74];+ case (105):+ h$regs[76] = h$regs[73];+ case (104):+ h$regs[75] = h$regs[72];+ case (103):+ h$regs[74] = h$regs[71];+ case (102):+ h$regs[73] = h$regs[70];+ case (101):+ h$regs[72] = h$regs[69];+ case (100):+ h$regs[71] = h$regs[68];+ case (99):+ h$regs[70] = h$regs[67];+ case (98):+ h$regs[69] = h$regs[66];+ case (97):+ h$regs[68] = h$regs[65];+ case (96):+ h$regs[67] = h$regs[64];+ case (95):+ h$regs[66] = h$regs[63];+ case (94):+ h$regs[65] = h$regs[62];+ case (93):+ h$regs[64] = h$regs[61];+ case (92):+ h$regs[63] = h$regs[60];+ case (91):+ h$regs[62] = h$regs[59];+ case (90):+ h$regs[61] = h$regs[58];+ case (89):+ h$regs[60] = h$regs[57];+ case (88):+ h$regs[59] = h$regs[56];+ case (87):+ h$regs[58] = h$regs[55];+ case (86):+ h$regs[57] = h$regs[54];+ case (85):+ h$regs[56] = h$regs[53];+ case (84):+ h$regs[55] = h$regs[52];+ case (83):+ h$regs[54] = h$regs[51];+ case (82):+ h$regs[53] = h$regs[50];+ case (81):+ h$regs[52] = h$regs[49];+ case (80):+ h$regs[51] = h$regs[48];+ case (79):+ h$regs[50] = h$regs[47];+ case (78):+ h$regs[49] = h$regs[46];+ case (77):+ h$regs[48] = h$regs[45];+ case (76):+ h$regs[47] = h$regs[44];+ case (75):+ h$regs[46] = h$regs[43];+ case (74):+ h$regs[45] = h$regs[42];+ case (73):+ h$regs[44] = h$regs[41];+ case (72):+ h$regs[43] = h$regs[40];+ case (71):+ h$regs[42] = h$regs[39];+ case (70):+ h$regs[41] = h$regs[38];+ case (69):+ h$regs[40] = h$regs[37];+ case (68):+ h$regs[39] = h$regs[36];+ case (67):+ h$regs[38] = h$regs[35];+ case (66):+ h$regs[37] = h$regs[34];+ case (65):+ h$regs[36] = h$regs[33];+ case (64):+ h$regs[35] = h$regs[32];+ case (63):+ h$regs[34] = h$regs[31];+ case (62):+ h$regs[33] = h$regs[30];+ case (61):+ h$regs[32] = h$regs[29];+ case (60):+ h$regs[31] = h$regs[28];+ case (59):+ h$regs[30] = h$regs[27];+ case (58):+ h$regs[29] = h$regs[26];+ case (57):+ h$regs[28] = h$regs[25];+ case (56):+ h$regs[27] = h$regs[24];+ case (55):+ h$regs[26] = h$regs[23];+ case (54):+ h$regs[25] = h$regs[22];+ case (53):+ h$regs[24] = h$regs[21];+ case (52):+ h$regs[23] = h$regs[20];+ case (51):+ h$regs[22] = h$regs[19];+ case (50):+ h$regs[21] = h$regs[18];+ case (49):+ h$regs[20] = h$regs[17];+ case (48):+ h$regs[19] = h$regs[16];+ case (47):+ h$regs[18] = h$regs[15];+ case (46):+ h$regs[17] = h$regs[14];+ case (45):+ h$regs[16] = h$regs[13];+ case (44):+ h$regs[15] = h$regs[12];+ case (43):+ h$regs[14] = h$regs[11];+ case (42):+ h$regs[13] = h$regs[10];+ case (41):+ h$regs[12] = h$regs[9];+ case (40):+ h$regs[11] = h$regs[8];+ case (39):+ h$regs[10] = h$regs[7];+ case (38):+ h$regs[9] = h$regs[6];+ case (37):+ h$regs[8] = h$regs[5];+ case (36):+ h$regs[7] = h$regs[4];+ case (35):+ h$regs[6] = h$regs[3];+ case (34):+ h$regs[5] = h$regs[2];+ case (33):+ h$regs[4] = h$regs[1];+ case (32):+ h$regs[3] = h$regs[0];+ case (31):+ h$regs[2] = h$r32;+ case (30):+ h$regs[1] = h$r31;+ case (29):+ h$regs[0] = h$r30;+ case (28):+ h$r32 = h$r29;+ case (27):+ h$r31 = h$r28;+ case (26):+ h$r30 = h$r27;+ case (25):+ h$r29 = h$r26;+ case (24):+ h$r28 = h$r25;+ case (23):+ h$r27 = h$r24;+ case (22):+ h$r26 = h$r23;+ case (21):+ h$r25 = h$r22;+ case (20):+ h$r24 = h$r21;+ case (19):+ h$r23 = h$r20;+ case (18):+ h$r22 = h$r19;+ case (17):+ h$r21 = h$r18;+ case (16):+ h$r20 = h$r17;+ case (15):+ h$r19 = h$r16;+ case (14):+ h$r18 = h$r15;+ case (13):+ h$r17 = h$r14;+ case (12):+ h$r16 = h$r13;+ case (11):+ h$r15 = h$r12;+ case (10):+ h$r14 = h$r11;+ case (9):+ h$r13 = h$r10;+ case (8):+ h$r12 = h$r9;+ case (7):+ h$r11 = h$r8;+ case (6):+ h$r10 = h$r7;+ case (5):+ h$r9 = h$r6;+ case (4):+ h$r8 = h$r5;+ case (3):+ h$r7 = h$r4;+ case (2):+ h$r6 = h$r3;+ case (1):+ h$r5 = h$r2;+ default:+ };+ h$r2 = h$RTS_505.d2;+ h$r3 = h$RTS_505.d3;+ h$r4 = h$RTS_505.d4;+ h$r1 = h$RTS_504;+ return h$RTS_506;+};+h$o(h$pap_3, 3, 0, 5, (-1), null);+function h$pap_4()+{+ var h$RTS_508 = h$r1.d1;+ var h$RTS_509 = h$r1.d2;+ var h$RTS_510 = h$RTS_508.f;+ var h$RTS_511 = ((((h$RTS_510.t === 1) ? h$RTS_510.a : h$RTS_508.d2.d1) >> 8) - 4);+ switch (h$RTS_511)+ {+ case (123):+ h$regs[95] = h$regs[91];+ case (122):+ h$regs[94] = h$regs[90];+ case (121):+ h$regs[93] = h$regs[89];+ case (120):+ h$regs[92] = h$regs[88];+ case (119):+ h$regs[91] = h$regs[87];+ case (118):+ h$regs[90] = h$regs[86];+ case (117):+ h$regs[89] = h$regs[85];+ case (116):+ h$regs[88] = h$regs[84];+ case (115):+ h$regs[87] = h$regs[83];+ case (114):+ h$regs[86] = h$regs[82];+ case (113):+ h$regs[85] = h$regs[81];+ case (112):+ h$regs[84] = h$regs[80];+ case (111):+ h$regs[83] = h$regs[79];+ case (110):+ h$regs[82] = h$regs[78];+ case (109):+ h$regs[81] = h$regs[77];+ case (108):+ h$regs[80] = h$regs[76];+ case (107):+ h$regs[79] = h$regs[75];+ case (106):+ h$regs[78] = h$regs[74];+ case (105):+ h$regs[77] = h$regs[73];+ case (104):+ h$regs[76] = h$regs[72];+ case (103):+ h$regs[75] = h$regs[71];+ case (102):+ h$regs[74] = h$regs[70];+ case (101):+ h$regs[73] = h$regs[69];+ case (100):+ h$regs[72] = h$regs[68];+ case (99):+ h$regs[71] = h$regs[67];+ case (98):+ h$regs[70] = h$regs[66];+ case (97):+ h$regs[69] = h$regs[65];+ case (96):+ h$regs[68] = h$regs[64];+ case (95):+ h$regs[67] = h$regs[63];+ case (94):+ h$regs[66] = h$regs[62];+ case (93):+ h$regs[65] = h$regs[61];+ case (92):+ h$regs[64] = h$regs[60];+ case (91):+ h$regs[63] = h$regs[59];+ case (90):+ h$regs[62] = h$regs[58];+ case (89):+ h$regs[61] = h$regs[57];+ case (88):+ h$regs[60] = h$regs[56];+ case (87):+ h$regs[59] = h$regs[55];+ case (86):+ h$regs[58] = h$regs[54];+ case (85):+ h$regs[57] = h$regs[53];+ case (84):+ h$regs[56] = h$regs[52];+ case (83):+ h$regs[55] = h$regs[51];+ case (82):+ h$regs[54] = h$regs[50];+ case (81):+ h$regs[53] = h$regs[49];+ case (80):+ h$regs[52] = h$regs[48];+ case (79):+ h$regs[51] = h$regs[47];+ case (78):+ h$regs[50] = h$regs[46];+ case (77):+ h$regs[49] = h$regs[45];+ case (76):+ h$regs[48] = h$regs[44];+ case (75):+ h$regs[47] = h$regs[43];+ case (74):+ h$regs[46] = h$regs[42];+ case (73):+ h$regs[45] = h$regs[41];+ case (72):+ h$regs[44] = h$regs[40];+ case (71):+ h$regs[43] = h$regs[39];+ case (70):+ h$regs[42] = h$regs[38];+ case (69):+ h$regs[41] = h$regs[37];+ case (68):+ h$regs[40] = h$regs[36];+ case (67):+ h$regs[39] = h$regs[35];+ case (66):+ h$regs[38] = h$regs[34];+ case (65):+ h$regs[37] = h$regs[33];+ case (64):+ h$regs[36] = h$regs[32];+ case (63):+ h$regs[35] = h$regs[31];+ case (62):+ h$regs[34] = h$regs[30];+ case (61):+ h$regs[33] = h$regs[29];+ case (60):+ h$regs[32] = h$regs[28];+ case (59):+ h$regs[31] = h$regs[27];+ case (58):+ h$regs[30] = h$regs[26];+ case (57):+ h$regs[29] = h$regs[25];+ case (56):+ h$regs[28] = h$regs[24];+ case (55):+ h$regs[27] = h$regs[23];+ case (54):+ h$regs[26] = h$regs[22];+ case (53):+ h$regs[25] = h$regs[21];+ case (52):+ h$regs[24] = h$regs[20];+ case (51):+ h$regs[23] = h$regs[19];+ case (50):+ h$regs[22] = h$regs[18];+ case (49):+ h$regs[21] = h$regs[17];+ case (48):+ h$regs[20] = h$regs[16];+ case (47):+ h$regs[19] = h$regs[15];+ case (46):+ h$regs[18] = h$regs[14];+ case (45):+ h$regs[17] = h$regs[13];+ case (44):+ h$regs[16] = h$regs[12];+ case (43):+ h$regs[15] = h$regs[11];+ case (42):+ h$regs[14] = h$regs[10];+ case (41):+ h$regs[13] = h$regs[9];+ case (40):+ h$regs[12] = h$regs[8];+ case (39):+ h$regs[11] = h$regs[7];+ case (38):+ h$regs[10] = h$regs[6];+ case (37):+ h$regs[9] = h$regs[5];+ case (36):+ h$regs[8] = h$regs[4];+ case (35):+ h$regs[7] = h$regs[3];+ case (34):+ h$regs[6] = h$regs[2];+ case (33):+ h$regs[5] = h$regs[1];+ case (32):+ h$regs[4] = h$regs[0];+ case (31):+ h$regs[3] = h$r32;+ case (30):+ h$regs[2] = h$r31;+ case (29):+ h$regs[1] = h$r30;+ case (28):+ h$regs[0] = h$r29;+ case (27):+ h$r32 = h$r28;+ case (26):+ h$r31 = h$r27;+ case (25):+ h$r30 = h$r26;+ case (24):+ h$r29 = h$r25;+ case (23):+ h$r28 = h$r24;+ case (22):+ h$r27 = h$r23;+ case (21):+ h$r26 = h$r22;+ case (20):+ h$r25 = h$r21;+ case (19):+ h$r24 = h$r20;+ case (18):+ h$r23 = h$r19;+ case (17):+ h$r22 = h$r18;+ case (16):+ h$r21 = h$r17;+ case (15):+ h$r20 = h$r16;+ case (14):+ h$r19 = h$r15;+ case (13):+ h$r18 = h$r14;+ case (12):+ h$r17 = h$r13;+ case (11):+ h$r16 = h$r12;+ case (10):+ h$r15 = h$r11;+ case (9):+ h$r14 = h$r10;+ case (8):+ h$r13 = h$r9;+ case (7):+ h$r12 = h$r8;+ case (6):+ h$r11 = h$r7;+ case (5):+ h$r10 = h$r6;+ case (4):+ h$r9 = h$r5;+ case (3):+ h$r8 = h$r4;+ case (2):+ h$r7 = h$r3;+ case (1):+ h$r6 = h$r2;+ default:+ };+ h$r2 = h$RTS_509.d2;+ h$r3 = h$RTS_509.d3;+ h$r4 = h$RTS_509.d4;+ h$r5 = h$RTS_509.d5;+ h$r1 = h$RTS_508;+ return h$RTS_510;+};+h$o(h$pap_4, 3, 0, 6, (-1), null);+function h$pap_5()+{+ var h$RTS_512 = h$r1.d1;+ var h$RTS_513 = h$r1.d2;+ var h$RTS_514 = h$RTS_512.f;+ var h$RTS_515 = ((((h$RTS_514.t === 1) ? h$RTS_514.a : h$RTS_512.d2.d1) >> 8) - 5);+ switch (h$RTS_515)+ {+ case (122):+ h$regs[95] = h$regs[90];+ case (121):+ h$regs[94] = h$regs[89];+ case (120):+ h$regs[93] = h$regs[88];+ case (119):+ h$regs[92] = h$regs[87];+ case (118):+ h$regs[91] = h$regs[86];+ case (117):+ h$regs[90] = h$regs[85];+ case (116):+ h$regs[89] = h$regs[84];+ case (115):+ h$regs[88] = h$regs[83];+ case (114):+ h$regs[87] = h$regs[82];+ case (113):+ h$regs[86] = h$regs[81];+ case (112):+ h$regs[85] = h$regs[80];+ case (111):+ h$regs[84] = h$regs[79];+ case (110):+ h$regs[83] = h$regs[78];+ case (109):+ h$regs[82] = h$regs[77];+ case (108):+ h$regs[81] = h$regs[76];+ case (107):+ h$regs[80] = h$regs[75];+ case (106):+ h$regs[79] = h$regs[74];+ case (105):+ h$regs[78] = h$regs[73];+ case (104):+ h$regs[77] = h$regs[72];+ case (103):+ h$regs[76] = h$regs[71];+ case (102):+ h$regs[75] = h$regs[70];+ case (101):+ h$regs[74] = h$regs[69];+ case (100):+ h$regs[73] = h$regs[68];+ case (99):+ h$regs[72] = h$regs[67];+ case (98):+ h$regs[71] = h$regs[66];+ case (97):+ h$regs[70] = h$regs[65];+ case (96):+ h$regs[69] = h$regs[64];+ case (95):+ h$regs[68] = h$regs[63];+ case (94):+ h$regs[67] = h$regs[62];+ case (93):+ h$regs[66] = h$regs[61];+ case (92):+ h$regs[65] = h$regs[60];+ case (91):+ h$regs[64] = h$regs[59];+ case (90):+ h$regs[63] = h$regs[58];+ case (89):+ h$regs[62] = h$regs[57];+ case (88):+ h$regs[61] = h$regs[56];+ case (87):+ h$regs[60] = h$regs[55];+ case (86):+ h$regs[59] = h$regs[54];+ case (85):+ h$regs[58] = h$regs[53];+ case (84):+ h$regs[57] = h$regs[52];+ case (83):+ h$regs[56] = h$regs[51];+ case (82):+ h$regs[55] = h$regs[50];+ case (81):+ h$regs[54] = h$regs[49];+ case (80):+ h$regs[53] = h$regs[48];+ case (79):+ h$regs[52] = h$regs[47];+ case (78):+ h$regs[51] = h$regs[46];+ case (77):+ h$regs[50] = h$regs[45];+ case (76):+ h$regs[49] = h$regs[44];+ case (75):+ h$regs[48] = h$regs[43];+ case (74):+ h$regs[47] = h$regs[42];+ case (73):+ h$regs[46] = h$regs[41];+ case (72):+ h$regs[45] = h$regs[40];+ case (71):+ h$regs[44] = h$regs[39];+ case (70):+ h$regs[43] = h$regs[38];+ case (69):+ h$regs[42] = h$regs[37];+ case (68):+ h$regs[41] = h$regs[36];+ case (67):+ h$regs[40] = h$regs[35];+ case (66):+ h$regs[39] = h$regs[34];+ case (65):+ h$regs[38] = h$regs[33];+ case (64):+ h$regs[37] = h$regs[32];+ case (63):+ h$regs[36] = h$regs[31];+ case (62):+ h$regs[35] = h$regs[30];+ case (61):+ h$regs[34] = h$regs[29];+ case (60):+ h$regs[33] = h$regs[28];+ case (59):+ h$regs[32] = h$regs[27];+ case (58):+ h$regs[31] = h$regs[26];+ case (57):+ h$regs[30] = h$regs[25];+ case (56):+ h$regs[29] = h$regs[24];+ case (55):+ h$regs[28] = h$regs[23];+ case (54):+ h$regs[27] = h$regs[22];+ case (53):+ h$regs[26] = h$regs[21];+ case (52):+ h$regs[25] = h$regs[20];+ case (51):+ h$regs[24] = h$regs[19];+ case (50):+ h$regs[23] = h$regs[18];+ case (49):+ h$regs[22] = h$regs[17];+ case (48):+ h$regs[21] = h$regs[16];+ case (47):+ h$regs[20] = h$regs[15];+ case (46):+ h$regs[19] = h$regs[14];+ case (45):+ h$regs[18] = h$regs[13];+ case (44):+ h$regs[17] = h$regs[12];+ case (43):+ h$regs[16] = h$regs[11];+ case (42):+ h$regs[15] = h$regs[10];+ case (41):+ h$regs[14] = h$regs[9];+ case (40):+ h$regs[13] = h$regs[8];+ case (39):+ h$regs[12] = h$regs[7];+ case (38):+ h$regs[11] = h$regs[6];+ case (37):+ h$regs[10] = h$regs[5];+ case (36):+ h$regs[9] = h$regs[4];+ case (35):+ h$regs[8] = h$regs[3];+ case (34):+ h$regs[7] = h$regs[2];+ case (33):+ h$regs[6] = h$regs[1];+ case (32):+ h$regs[5] = h$regs[0];+ case (31):+ h$regs[4] = h$r32;+ case (30):+ h$regs[3] = h$r31;+ case (29):+ h$regs[2] = h$r30;+ case (28):+ h$regs[1] = h$r29;+ case (27):+ h$regs[0] = h$r28;+ case (26):+ h$r32 = h$r27;+ case (25):+ h$r31 = h$r26;+ case (24):+ h$r30 = h$r25;+ case (23):+ h$r29 = h$r24;+ case (22):+ h$r28 = h$r23;+ case (21):+ h$r27 = h$r22;+ case (20):+ h$r26 = h$r21;+ case (19):+ h$r25 = h$r20;+ case (18):+ h$r24 = h$r19;+ case (17):+ h$r23 = h$r18;+ case (16):+ h$r22 = h$r17;+ case (15):+ h$r21 = h$r16;+ case (14):+ h$r20 = h$r15;+ case (13):+ h$r19 = h$r14;+ case (12):+ h$r18 = h$r13;+ case (11):+ h$r17 = h$r12;+ case (10):+ h$r16 = h$r11;+ case (9):+ h$r15 = h$r10;+ case (8):+ h$r14 = h$r9;+ case (7):+ h$r13 = h$r8;+ case (6):+ h$r12 = h$r7;+ case (5):+ h$r11 = h$r6;+ case (4):+ h$r10 = h$r5;+ case (3):+ h$r9 = h$r4;+ case (2):+ h$r8 = h$r3;+ case (1):+ h$r7 = h$r2;+ default:+ };+ h$r2 = h$RTS_513.d2;+ h$r3 = h$RTS_513.d3;+ h$r4 = h$RTS_513.d4;+ h$r5 = h$RTS_513.d5;+ h$r6 = h$RTS_513.d6;+ h$r1 = h$RTS_512;+ return h$RTS_514;+};+h$o(h$pap_5, 3, 0, 7, (-1), null);+function h$pap_6()+{+ var h$RTS_516 = h$r1.d1;+ var h$RTS_517 = h$r1.d2;+ var h$RTS_518 = h$RTS_516.f;+ var h$RTS_519 = ((((h$RTS_518.t === 1) ? h$RTS_518.a : h$RTS_516.d2.d1) >> 8) - 6);+ switch (h$RTS_519)+ {+ case (121):+ h$regs[95] = h$regs[89];+ case (120):+ h$regs[94] = h$regs[88];+ case (119):+ h$regs[93] = h$regs[87];+ case (118):+ h$regs[92] = h$regs[86];+ case (117):+ h$regs[91] = h$regs[85];+ case (116):+ h$regs[90] = h$regs[84];+ case (115):+ h$regs[89] = h$regs[83];+ case (114):+ h$regs[88] = h$regs[82];+ case (113):+ h$regs[87] = h$regs[81];+ case (112):+ h$regs[86] = h$regs[80];+ case (111):+ h$regs[85] = h$regs[79];+ case (110):+ h$regs[84] = h$regs[78];+ case (109):+ h$regs[83] = h$regs[77];+ case (108):+ h$regs[82] = h$regs[76];+ case (107):+ h$regs[81] = h$regs[75];+ case (106):+ h$regs[80] = h$regs[74];+ case (105):+ h$regs[79] = h$regs[73];+ case (104):+ h$regs[78] = h$regs[72];+ case (103):+ h$regs[77] = h$regs[71];+ case (102):+ h$regs[76] = h$regs[70];+ case (101):+ h$regs[75] = h$regs[69];+ case (100):+ h$regs[74] = h$regs[68];+ case (99):+ h$regs[73] = h$regs[67];+ case (98):+ h$regs[72] = h$regs[66];+ case (97):+ h$regs[71] = h$regs[65];+ case (96):+ h$regs[70] = h$regs[64];+ case (95):+ h$regs[69] = h$regs[63];+ case (94):+ h$regs[68] = h$regs[62];+ case (93):+ h$regs[67] = h$regs[61];+ case (92):+ h$regs[66] = h$regs[60];+ case (91):+ h$regs[65] = h$regs[59];+ case (90):+ h$regs[64] = h$regs[58];+ case (89):+ h$regs[63] = h$regs[57];+ case (88):+ h$regs[62] = h$regs[56];+ case (87):+ h$regs[61] = h$regs[55];+ case (86):+ h$regs[60] = h$regs[54];+ case (85):+ h$regs[59] = h$regs[53];+ case (84):+ h$regs[58] = h$regs[52];+ case (83):+ h$regs[57] = h$regs[51];+ case (82):+ h$regs[56] = h$regs[50];+ case (81):+ h$regs[55] = h$regs[49];+ case (80):+ h$regs[54] = h$regs[48];+ case (79):+ h$regs[53] = h$regs[47];+ case (78):+ h$regs[52] = h$regs[46];+ case (77):+ h$regs[51] = h$regs[45];+ case (76):+ h$regs[50] = h$regs[44];+ case (75):+ h$regs[49] = h$regs[43];+ case (74):+ h$regs[48] = h$regs[42];+ case (73):+ h$regs[47] = h$regs[41];+ case (72):+ h$regs[46] = h$regs[40];+ case (71):+ h$regs[45] = h$regs[39];+ case (70):+ h$regs[44] = h$regs[38];+ case (69):+ h$regs[43] = h$regs[37];+ case (68):+ h$regs[42] = h$regs[36];+ case (67):+ h$regs[41] = h$regs[35];+ case (66):+ h$regs[40] = h$regs[34];+ case (65):+ h$regs[39] = h$regs[33];+ case (64):+ h$regs[38] = h$regs[32];+ case (63):+ h$regs[37] = h$regs[31];+ case (62):+ h$regs[36] = h$regs[30];+ case (61):+ h$regs[35] = h$regs[29];+ case (60):+ h$regs[34] = h$regs[28];+ case (59):+ h$regs[33] = h$regs[27];+ case (58):+ h$regs[32] = h$regs[26];+ case (57):+ h$regs[31] = h$regs[25];+ case (56):+ h$regs[30] = h$regs[24];+ case (55):+ h$regs[29] = h$regs[23];+ case (54):+ h$regs[28] = h$regs[22];+ case (53):+ h$regs[27] = h$regs[21];+ case (52):+ h$regs[26] = h$regs[20];+ case (51):+ h$regs[25] = h$regs[19];+ case (50):+ h$regs[24] = h$regs[18];+ case (49):+ h$regs[23] = h$regs[17];+ case (48):+ h$regs[22] = h$regs[16];+ case (47):+ h$regs[21] = h$regs[15];+ case (46):+ h$regs[20] = h$regs[14];+ case (45):+ h$regs[19] = h$regs[13];+ case (44):+ h$regs[18] = h$regs[12];+ case (43):+ h$regs[17] = h$regs[11];+ case (42):+ h$regs[16] = h$regs[10];+ case (41):+ h$regs[15] = h$regs[9];+ case (40):+ h$regs[14] = h$regs[8];+ case (39):+ h$regs[13] = h$regs[7];+ case (38):+ h$regs[12] = h$regs[6];+ case (37):+ h$regs[11] = h$regs[5];+ case (36):+ h$regs[10] = h$regs[4];+ case (35):+ h$regs[9] = h$regs[3];+ case (34):+ h$regs[8] = h$regs[2];+ case (33):+ h$regs[7] = h$regs[1];+ case (32):+ h$regs[6] = h$regs[0];+ case (31):+ h$regs[5] = h$r32;+ case (30):+ h$regs[4] = h$r31;+ case (29):+ h$regs[3] = h$r30;+ case (28):+ h$regs[2] = h$r29;+ case (27):+ h$regs[1] = h$r28;+ case (26):+ h$regs[0] = h$r27;+ case (25):+ h$r32 = h$r26;+ case (24):+ h$r31 = h$r25;+ case (23):+ h$r30 = h$r24;+ case (22):+ h$r29 = h$r23;+ case (21):+ h$r28 = h$r22;+ case (20):+ h$r27 = h$r21;+ case (19):+ h$r26 = h$r20;+ case (18):+ h$r25 = h$r19;+ case (17):+ h$r24 = h$r18;+ case (16):+ h$r23 = h$r17;+ case (15):+ h$r22 = h$r16;+ case (14):+ h$r21 = h$r15;+ case (13):+ h$r20 = h$r14;+ case (12):+ h$r19 = h$r13;+ case (11):+ h$r18 = h$r12;+ case (10):+ h$r17 = h$r11;+ case (9):+ h$r16 = h$r10;+ case (8):+ h$r15 = h$r9;+ case (7):+ h$r14 = h$r8;+ case (6):+ h$r13 = h$r7;+ case (5):+ h$r12 = h$r6;+ case (4):+ h$r11 = h$r5;+ case (3):+ h$r10 = h$r4;+ case (2):+ h$r9 = h$r3;+ case (1):+ h$r8 = h$r2;+ default:+ };+ h$r2 = h$RTS_517.d2;+ h$r3 = h$RTS_517.d3;+ h$r4 = h$RTS_517.d4;+ h$r5 = h$RTS_517.d5;+ h$r6 = h$RTS_517.d6;+ h$r7 = h$RTS_517.d7;+ h$r1 = h$RTS_516;+ return h$RTS_518;+};+h$o(h$pap_6, 3, 0, 8, (-1), null);+var h$apply = [];+var h$paps = [];+h$initStatic.push((function()+ {+ for(var h$RTS_520 = 0;(h$RTS_520 < 65536);(h$RTS_520++)) {+ h$apply[h$RTS_520] = h$ap_gen;+ };+ for(h$RTS_520 = 0;(h$RTS_520 < 128);(h$RTS_520++)) {+ h$paps[h$RTS_520] = h$pap_gen;+ };+ h$apply[0] = h$ap_0_0;+ h$apply[1] = h$ap_1_0;+ h$apply[1] = h$ap_1_0;+ h$apply[257] = h$ap_1_1;+ h$apply[513] = h$ap_1_2;+ h$apply[258] = h$ap_2_1;+ h$apply[514] = h$ap_2_2;+ h$apply[770] = h$ap_2_3;+ h$apply[1026] = h$ap_2_4;+ h$apply[515] = h$ap_3_2;+ h$apply[771] = h$ap_3_3;+ h$apply[1027] = h$ap_3_4;+ h$apply[1283] = h$ap_3_5;+ h$apply[1539] = h$ap_3_6;+ h$apply[772] = h$ap_4_3;+ h$apply[1028] = h$ap_4_4;+ h$apply[1284] = h$ap_4_5;+ h$apply[1540] = h$ap_4_6;+ h$apply[1796] = h$ap_4_7;+ h$apply[2052] = h$ap_4_8;+ h$paps[0] = h$pap_0;+ h$paps[1] = h$pap_1;+ h$paps[2] = h$pap_2;+ h$paps[3] = h$pap_3;+ h$paps[4] = h$pap_4;+ h$paps[5] = h$pap_5;+ h$paps[6] = h$pap_6;+ }));+function h$ap_gen()+{+ var h$RTS_521 = h$r1.f;+ switch (h$RTS_521.t)+ {+ case (0):+ return h$RTS_521;+ case (1):+ var h$RTS_522 = h$stack[(h$sp - 1)];+ var h$RTS_523 = (h$RTS_521.a & 255);+ var h$RTS_524 = (h$RTS_522 & 255);+ var h$RTS_525 = (h$RTS_522 >> 8);+ if((h$RTS_524 === h$RTS_523))+ {+ for(var h$RTS_526 = 0;(h$RTS_526 < h$RTS_525);(h$RTS_526++)) {+ h$setReg((h$RTS_526 + 2), h$stack[((h$sp - 2) - h$RTS_526)]);+ };+ h$sp = ((h$sp - h$RTS_525) - 2);+ return h$RTS_521;+ }+ else+ {+ if((h$RTS_524 > h$RTS_523))+ {+ var h$RTS_527 = (h$RTS_521.a >> 8);+ for(var h$RTS_528 = 0;(h$RTS_528 < h$RTS_527);(h$RTS_528++)) {+ h$setReg((h$RTS_528 + 2), h$stack[((h$sp - 2) - h$RTS_528)]);+ };+ var h$RTS_529 = (((h$RTS_525 - h$RTS_527) << 8) | (h$RTS_524 - h$RTS_523));+ var h$RTS_530 = h$apply[h$RTS_529];+ if((h$RTS_530 === h$ap_gen))+ {+ h$sp -= h$RTS_527;+ h$stack[(h$sp - 1)] = h$RTS_529;+ }+ else+ {+ h$sp = ((h$sp - h$RTS_527) - 1);+ };+ h$stack[h$sp] = h$RTS_530;+ return h$RTS_521;+ }+ else+ {+ var h$RTS_531 = h$paps[h$RTS_525];+ var h$RTS_532 = [h$r1, (((((h$RTS_521.a >> 8) - h$RTS_525) * 256) + h$RTS_523) - h$RTS_524)];+ for(var h$RTS_533 = 0;(h$RTS_533 < h$RTS_525);(h$RTS_533++)) {+ h$RTS_532.push(h$stack[((h$sp - h$RTS_533) - 1)]);+ };+ h$sp = ((h$sp - h$RTS_525) - 2);+ h$r1 = h$init_closure({ d1: null, d2: null, f: h$RTS_531, m: 0+ }, h$RTS_532);+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_534 = h$stack[(h$sp - 1)];+ var h$RTS_535 = (h$r1.d2.d1 & 255);+ var h$RTS_536 = (h$RTS_534 & 255);+ var h$RTS_537 = (h$RTS_534 >> 8);+ if((h$RTS_536 === h$RTS_535))+ {+ for(var h$RTS_538 = 0;(h$RTS_538 < h$RTS_537);(h$RTS_538++)) {+ h$setReg((h$RTS_538 + 2), h$stack[((h$sp - 2) - h$RTS_538)]);+ };+ h$sp = ((h$sp - h$RTS_537) - 2);+ return h$RTS_521;+ }+ else+ {+ if((h$RTS_536 > h$RTS_535))+ {+ var h$RTS_539 = (h$r1.d2.d1 >> 8);+ for(var h$RTS_540 = 0;(h$RTS_540 < h$RTS_539);(h$RTS_540++)) {+ h$setReg((h$RTS_540 + 2), h$stack[((h$sp - 2) - h$RTS_540)]);+ };+ var h$RTS_541 = (((h$RTS_537 - h$RTS_539) << 8) | (h$RTS_536 - h$RTS_535));+ var h$RTS_542 = h$apply[h$RTS_541];+ if((h$RTS_542 === h$ap_gen))+ {+ h$sp -= h$RTS_539;+ h$stack[(h$sp - 1)] = h$RTS_541;+ }+ else+ {+ h$sp = ((h$sp - h$RTS_539) - 1);+ };+ h$stack[h$sp] = h$RTS_542;+ return h$RTS_521;+ }+ else+ {+ var h$RTS_543 = h$paps[h$RTS_537];+ var h$RTS_544 = [h$r1, (((((h$r1.d2.d1 >> 8) - h$RTS_537) * 256) + h$RTS_535) - h$RTS_536)];+ for(var h$RTS_545 = 0;(h$RTS_545 < h$RTS_537);(h$RTS_545++)) {+ h$RTS_544.push(h$stack[((h$sp - h$RTS_545) - 1)]);+ };+ h$sp = ((h$sp - h$RTS_537) - 2);+ h$r1 = h$init_closure({ d1: null, d2: null, f: h$RTS_543, m: 0+ }, h$RTS_544);+ return h$stack[h$sp];+ };+ };+ case (5):+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_gen: unexpected closure type " + h$RTS_521.t));+ };+};+h$o(h$ap_gen, (-1), 0, (-1), 256, null);+function h$ap_gen_fast(h$RTS_546)+{+ var h$RTS_547 = h$r1.f;+ switch (h$RTS_547.t)+ {+ case (0):+ var h$RTS_548 = (h$RTS_546 >> 8);+ h$sp += h$RTS_548;+ switch (h$RTS_548)+ {+ case (64):+ h$stack[(h$sp - 63)] = h$regs[32];+ case (63):+ h$stack[(h$sp - 62)] = h$regs[31];+ case (62):+ h$stack[(h$sp - 61)] = h$regs[30];+ case (61):+ h$stack[(h$sp - 60)] = h$regs[29];+ case (60):+ h$stack[(h$sp - 59)] = h$regs[28];+ case (59):+ h$stack[(h$sp - 58)] = h$regs[27];+ case (58):+ h$stack[(h$sp - 57)] = h$regs[26];+ case (57):+ h$stack[(h$sp - 56)] = h$regs[25];+ case (56):+ h$stack[(h$sp - 55)] = h$regs[24];+ case (55):+ h$stack[(h$sp - 54)] = h$regs[23];+ case (54):+ h$stack[(h$sp - 53)] = h$regs[22];+ case (53):+ h$stack[(h$sp - 52)] = h$regs[21];+ case (52):+ h$stack[(h$sp - 51)] = h$regs[20];+ case (51):+ h$stack[(h$sp - 50)] = h$regs[19];+ case (50):+ h$stack[(h$sp - 49)] = h$regs[18];+ case (49):+ h$stack[(h$sp - 48)] = h$regs[17];+ case (48):+ h$stack[(h$sp - 47)] = h$regs[16];+ case (47):+ h$stack[(h$sp - 46)] = h$regs[15];+ case (46):+ h$stack[(h$sp - 45)] = h$regs[14];+ case (45):+ h$stack[(h$sp - 44)] = h$regs[13];+ case (44):+ h$stack[(h$sp - 43)] = h$regs[12];+ case (43):+ h$stack[(h$sp - 42)] = h$regs[11];+ case (42):+ h$stack[(h$sp - 41)] = h$regs[10];+ case (41):+ h$stack[(h$sp - 40)] = h$regs[9];+ case (40):+ h$stack[(h$sp - 39)] = h$regs[8];+ case (39):+ h$stack[(h$sp - 38)] = h$regs[7];+ case (38):+ h$stack[(h$sp - 37)] = h$regs[6];+ case (37):+ h$stack[(h$sp - 36)] = h$regs[5];+ case (36):+ h$stack[(h$sp - 35)] = h$regs[4];+ case (35):+ h$stack[(h$sp - 34)] = h$regs[3];+ case (34):+ h$stack[(h$sp - 33)] = h$regs[2];+ case (33):+ h$stack[(h$sp - 32)] = h$regs[1];+ case (32):+ h$stack[(h$sp - 31)] = h$regs[0];+ case (31):+ h$stack[(h$sp - 30)] = h$r32;+ case (30):+ h$stack[(h$sp - 29)] = h$r31;+ case (29):+ h$stack[(h$sp - 28)] = h$r30;+ case (28):+ h$stack[(h$sp - 27)] = h$r29;+ case (27):+ h$stack[(h$sp - 26)] = h$r28;+ case (26):+ h$stack[(h$sp - 25)] = h$r27;+ case (25):+ h$stack[(h$sp - 24)] = h$r26;+ case (24):+ h$stack[(h$sp - 23)] = h$r25;+ case (23):+ h$stack[(h$sp - 22)] = h$r24;+ case (22):+ h$stack[(h$sp - 21)] = h$r23;+ case (21):+ h$stack[(h$sp - 20)] = h$r22;+ case (20):+ h$stack[(h$sp - 19)] = h$r21;+ case (19):+ h$stack[(h$sp - 18)] = h$r20;+ case (18):+ h$stack[(h$sp - 17)] = h$r19;+ case (17):+ h$stack[(h$sp - 16)] = h$r18;+ case (16):+ h$stack[(h$sp - 15)] = h$r17;+ case (15):+ h$stack[(h$sp - 14)] = h$r16;+ case (14):+ h$stack[(h$sp - 13)] = h$r15;+ case (13):+ h$stack[(h$sp - 12)] = h$r14;+ case (12):+ h$stack[(h$sp - 11)] = h$r13;+ case (11):+ h$stack[(h$sp - 10)] = h$r12;+ case (10):+ h$stack[(h$sp - 9)] = h$r11;+ case (9):+ h$stack[(h$sp - 8)] = h$r10;+ case (8):+ h$stack[(h$sp - 7)] = h$r9;+ case (7):+ h$stack[(h$sp - 6)] = h$r8;+ case (6):+ h$stack[(h$sp - 5)] = h$r7;+ case (5):+ h$stack[(h$sp - 4)] = h$r6;+ case (4):+ h$stack[(h$sp - 3)] = h$r5;+ case (3):+ h$stack[(h$sp - 2)] = h$r4;+ case (2):+ h$stack[(h$sp - 1)] = h$r3;+ case (1):+ h$stack[(h$sp - 0)] = h$r2;+ default:+ };+ var h$RTS_549 = h$apply[h$RTS_546];+ if((h$RTS_549 === h$ap_gen))+ {+ h$sp += 2;+ h$stack[(h$sp - 1)] = h$RTS_546;+ }+ else+ {+ ++h$sp;+ };+ h$stack[h$sp] = h$RTS_549;+ return h$RTS_547;+ case (1):+ var h$RTS_550 = h$RTS_547.a;+ var h$RTS_551 = (h$RTS_550 & 255);+ var h$RTS_552 = (h$RTS_546 & 255);+ var h$RTS_553 = (h$RTS_546 >> 8);+ if((h$RTS_552 === h$RTS_551))+ {+ return h$RTS_547;+ }+ else+ {+ if((h$RTS_552 > h$RTS_551))+ {+ var h$RTS_554 = ((h$RTS_550 >> 8) + 1);+ h$sp = (((h$sp + h$RTS_553) - h$RTS_554) + 1);+ for(var h$RTS_555 = h$RTS_553;(h$RTS_555 >= h$RTS_554);(h$RTS_555--)) {+ h$stack[((h$sp + h$RTS_554) - h$RTS_555)] = h$getReg((h$RTS_555 + 1));+ };+ var h$RTS_556 = (((h$RTS_553 - (h$RTS_550 >> 8)) << 8) | (h$RTS_552 - h$RTS_551));+ var h$RTS_557 = h$apply[h$RTS_556];+ if((h$RTS_557 === h$ap_gen))+ {+ h$sp += 2;+ h$stack[(h$sp - 1)] = h$RTS_556;+ }+ else+ {+ ++h$sp;+ };+ h$stack[h$sp] = h$RTS_557;+ return h$RTS_547;+ }+ else+ {+ if((h$RTS_546 != 0))+ {+ var h$RTS_558 = h$paps[h$RTS_553];+ var h$RTS_559 = [h$r1, (((((h$RTS_550 >> 8) - h$RTS_553) * 256) + h$RTS_551) - h$RTS_552)];+ for(var h$RTS_560 = 0;(h$RTS_560 < h$RTS_553);(h$RTS_560++)) {+ h$RTS_559.push(h$getReg((h$RTS_560 + 2)));+ };+ h$r1 = h$init_closure({ d1: null, d2: null, f: h$RTS_558, m: 0+ }, h$RTS_559);+ };+ return h$stack[h$sp];+ };+ };+ case (3):+ var h$RTS_561 = h$r1.d2.d1;+ var h$RTS_562 = (h$RTS_561 & 255);+ var h$RTS_563 = (h$RTS_546 & 255);+ var h$RTS_564 = (h$RTS_546 >> 8);+ if((h$RTS_563 === h$RTS_562))+ {+ return h$RTS_547;+ }+ else+ {+ if((h$RTS_563 > h$RTS_562))+ {+ var h$RTS_565 = ((h$RTS_561 >> 8) + 1);+ h$sp = (((h$sp + h$RTS_564) - h$RTS_565) + 1);+ for(var h$RTS_566 = h$RTS_564;(h$RTS_566 >= h$RTS_565);(h$RTS_566--)) {+ h$stack[((h$sp + h$RTS_565) - h$RTS_566)] = h$getReg((h$RTS_566 + 1));+ };+ var h$RTS_567 = (((h$RTS_564 - (h$RTS_561 >> 8)) << 8) | (h$RTS_563 - h$RTS_562));+ var h$RTS_568 = h$apply[h$RTS_567];+ if((h$RTS_568 === h$ap_gen))+ {+ h$sp += 2;+ h$stack[(h$sp - 1)] = h$RTS_567;+ }+ else+ {+ ++h$sp;+ };+ h$stack[h$sp] = h$RTS_568;+ return h$RTS_547;+ }+ else+ {+ if((h$RTS_546 != 0))+ {+ var h$RTS_569 = h$paps[h$RTS_564];+ var h$RTS_570 = [h$r1, (((((h$RTS_561 >> 8) - h$RTS_564) * 256) + h$RTS_562) - h$RTS_563)];+ for(var h$RTS_571 = 0;(h$RTS_571 < h$RTS_564);(h$RTS_571++)) {+ h$RTS_570.push(h$getReg((h$RTS_571 + 2)));+ };+ h$r1 = h$init_closure({ d1: null, d2: null, f: h$RTS_569, m: 0+ }, h$RTS_570);+ };+ return h$stack[h$sp];+ };+ };+ case (2):+ if((h$RTS_546 != 0))+ {+ throw("h$ap_gen_fast: invalid apply");+ };+ return h$RTS_547;+ case (5):+ var h$RTS_572 = (h$RTS_546 >> 8);+ h$sp += h$RTS_572;+ switch (h$RTS_572)+ {+ case (64):+ h$stack[(h$sp - 63)] = h$regs[32];+ case (63):+ h$stack[(h$sp - 62)] = h$regs[31];+ case (62):+ h$stack[(h$sp - 61)] = h$regs[30];+ case (61):+ h$stack[(h$sp - 60)] = h$regs[29];+ case (60):+ h$stack[(h$sp - 59)] = h$regs[28];+ case (59):+ h$stack[(h$sp - 58)] = h$regs[27];+ case (58):+ h$stack[(h$sp - 57)] = h$regs[26];+ case (57):+ h$stack[(h$sp - 56)] = h$regs[25];+ case (56):+ h$stack[(h$sp - 55)] = h$regs[24];+ case (55):+ h$stack[(h$sp - 54)] = h$regs[23];+ case (54):+ h$stack[(h$sp - 53)] = h$regs[22];+ case (53):+ h$stack[(h$sp - 52)] = h$regs[21];+ case (52):+ h$stack[(h$sp - 51)] = h$regs[20];+ case (51):+ h$stack[(h$sp - 50)] = h$regs[19];+ case (50):+ h$stack[(h$sp - 49)] = h$regs[18];+ case (49):+ h$stack[(h$sp - 48)] = h$regs[17];+ case (48):+ h$stack[(h$sp - 47)] = h$regs[16];+ case (47):+ h$stack[(h$sp - 46)] = h$regs[15];+ case (46):+ h$stack[(h$sp - 45)] = h$regs[14];+ case (45):+ h$stack[(h$sp - 44)] = h$regs[13];+ case (44):+ h$stack[(h$sp - 43)] = h$regs[12];+ case (43):+ h$stack[(h$sp - 42)] = h$regs[11];+ case (42):+ h$stack[(h$sp - 41)] = h$regs[10];+ case (41):+ h$stack[(h$sp - 40)] = h$regs[9];+ case (40):+ h$stack[(h$sp - 39)] = h$regs[8];+ case (39):+ h$stack[(h$sp - 38)] = h$regs[7];+ case (38):+ h$stack[(h$sp - 37)] = h$regs[6];+ case (37):+ h$stack[(h$sp - 36)] = h$regs[5];+ case (36):+ h$stack[(h$sp - 35)] = h$regs[4];+ case (35):+ h$stack[(h$sp - 34)] = h$regs[3];+ case (34):+ h$stack[(h$sp - 33)] = h$regs[2];+ case (33):+ h$stack[(h$sp - 32)] = h$regs[1];+ case (32):+ h$stack[(h$sp - 31)] = h$regs[0];+ case (31):+ h$stack[(h$sp - 30)] = h$r32;+ case (30):+ h$stack[(h$sp - 29)] = h$r31;+ case (29):+ h$stack[(h$sp - 28)] = h$r30;+ case (28):+ h$stack[(h$sp - 27)] = h$r29;+ case (27):+ h$stack[(h$sp - 26)] = h$r28;+ case (26):+ h$stack[(h$sp - 25)] = h$r27;+ case (25):+ h$stack[(h$sp - 24)] = h$r26;+ case (24):+ h$stack[(h$sp - 23)] = h$r25;+ case (23):+ h$stack[(h$sp - 22)] = h$r24;+ case (22):+ h$stack[(h$sp - 21)] = h$r23;+ case (21):+ h$stack[(h$sp - 20)] = h$r22;+ case (20):+ h$stack[(h$sp - 19)] = h$r21;+ case (19):+ h$stack[(h$sp - 18)] = h$r20;+ case (18):+ h$stack[(h$sp - 17)] = h$r19;+ case (17):+ h$stack[(h$sp - 16)] = h$r18;+ case (16):+ h$stack[(h$sp - 15)] = h$r17;+ case (15):+ h$stack[(h$sp - 14)] = h$r16;+ case (14):+ h$stack[(h$sp - 13)] = h$r15;+ case (13):+ h$stack[(h$sp - 12)] = h$r14;+ case (12):+ h$stack[(h$sp - 11)] = h$r13;+ case (11):+ h$stack[(h$sp - 10)] = h$r12;+ case (10):+ h$stack[(h$sp - 9)] = h$r11;+ case (9):+ h$stack[(h$sp - 8)] = h$r10;+ case (8):+ h$stack[(h$sp - 7)] = h$r9;+ case (7):+ h$stack[(h$sp - 6)] = h$r8;+ case (6):+ h$stack[(h$sp - 5)] = h$r7;+ case (5):+ h$stack[(h$sp - 4)] = h$r6;+ case (4):+ h$stack[(h$sp - 3)] = h$r5;+ case (3):+ h$stack[(h$sp - 2)] = h$r4;+ case (2):+ h$stack[(h$sp - 1)] = h$r3;+ case (1):+ h$stack[(h$sp - 0)] = h$r2;+ default:+ };+ var h$RTS_573 = h$apply[h$RTS_546];+ if((h$RTS_573 === h$ap_gen))+ {+ h$sp += 2;+ h$stack[(h$sp - 1)] = h$RTS_546;+ }+ else+ {+ ++h$sp;+ };+ h$stack[h$sp] = h$RTS_573;+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ throw(("h$ap_gen_fast: unexpected closure type: " + h$RTS_547.t));+ };+};+function h$ap_0_0_fast()+{+ if((typeof h$r1 !== "object"))+ {+ return h$stack[h$sp];+ };+ var h$RTS_574 = h$r1.f;+ if((h$RTS_574 === h$unbox_e))+ {+ h$r1 = h$r1.d1;+ return h$stack[h$sp];+ };+ switch (h$RTS_574.t)+ {+ case (2):+ case (1):+ case (3):+ return h$stack[h$sp];+ case (5):+ h$p3(h$ap_0_0, h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ return h$RTS_574;+ };+};+function h$ap_0_0()+{+ --h$sp;+ if((typeof h$r1 !== "object"))+ {+ return h$stack[h$sp];+ };+ var h$RTS_575 = h$r1.f;+ if((h$RTS_575 === h$unbox_e))+ {+ h$r1 = h$r1.d1;+ return h$stack[h$sp];+ };+ switch (h$RTS_575.t)+ {+ case (2):+ case (1):+ case (3):+ return h$stack[h$sp];+ case (5):+ h$p3(h$ap_0_0, h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ default:+ return h$RTS_575;+ };+};+h$o(h$ap_0_0, (-1), 0, 0, 256, null);+function h$ap_1_0(h$RTS_576)+{+ var h$RTS_577 = h$r1.f;+ if((h$RTS_577.t === 0))+ {+ return h$RTS_577;+ }+ else+ {+ if((h$RTS_577.t === 5))+ {+ h$p2(h$r1, h$return);+ return h$blockOnBlackhole(h$r1);+ }+ else+ {+ --h$sp;+ return h$RTS_577;+ };+ };+};+h$o(h$ap_1_0, (-1), 0, 0, 256, null);+function h$e(h$RTS_578)+{+ h$r1 = h$RTS_578;+ if((typeof h$RTS_578 !== "object"))+ {+ return h$stack[h$sp];+ };+ var h$RTS_579 = h$RTS_578.f;+ if((h$RTS_579 === h$unbox_e))+ {+ h$r1 = h$RTS_578.d1;+ return h$stack[h$sp];+ };+ switch (h$RTS_579.t)+ {+ case (2):+ case (1):+ case (3):+ return h$stack[h$sp];+ case (5):+ h$p3(h$ap_0_0, h$RTS_578, h$return);+ return h$blockOnBlackhole(h$RTS_578);+ default:+ return h$RTS_579;+ };+};+function h$upd_frame()+{+ var h$RTS_580 = h$stack[(h$sp - 1)];+ var h$RTS_581 = h$RTS_580.d2;+ if((h$RTS_581 !== null))+ {+ for(var h$RTS_582 = 0;(h$RTS_582 < h$RTS_581.length);(h$RTS_582++)) {+ h$wakeupThread(h$RTS_581[h$RTS_582]);+ };+ };+ if((typeof h$r1 === "object"))+ {+ h$RTS_580.f = h$r1.f;+ h$RTS_580.d1 = h$r1.d1;+ h$RTS_580.d2 = h$r1.d2;+ h$RTS_580.m = h$r1.m;+ }+ else+ {+ h$RTS_580.f = h$unbox_e;+ h$RTS_580.d1 = h$r1;+ h$RTS_580.d2 = null;+ h$RTS_580.m = 0;+ };+ h$sp -= 2;+ return h$stack[h$sp];+};+h$o(h$upd_frame, (-1), 0, 1, 256, null);+function h$upd_frame_lne()+{+ var h$RTS_583 = h$stack[(h$sp - 1)];+ h$stack[h$RTS_583] = h$r1;+ h$sp -= 2;+ return h$stack[h$sp];+};+h$o(h$upd_frame_lne, (-1), 0, 1, 256, null);+function h$pap_gen()+{+ var h$RTS_584 = h$r1.d1;+ var h$RTS_585 = h$RTS_584.f;+ var h$RTS_586 = h$r1.d2;+ var h$RTS_587 = (((h$RTS_585.t === 1) ? h$RTS_585.a : h$RTS_584.d2.d1) >> 8);+ var h$RTS_588 = (h$r1.d2.d1 >> 8);+ var h$RTS_589 = (h$RTS_587 - h$RTS_588);+ h$moveRegs2(h$RTS_588, h$RTS_589);+ switch (h$RTS_589)+ {+ case (127):+ h$regs[95] = h$RTS_586.d128;+ case (126):+ h$regs[94] = h$RTS_586.d127;+ case (125):+ h$regs[93] = h$RTS_586.d126;+ case (124):+ h$regs[92] = h$RTS_586.d125;+ case (123):+ h$regs[91] = h$RTS_586.d124;+ case (122):+ h$regs[90] = h$RTS_586.d123;+ case (121):+ h$regs[89] = h$RTS_586.d122;+ case (120):+ h$regs[88] = h$RTS_586.d121;+ case (119):+ h$regs[87] = h$RTS_586.d120;+ case (118):+ h$regs[86] = h$RTS_586.d119;+ case (117):+ h$regs[85] = h$RTS_586.d118;+ case (116):+ h$regs[84] = h$RTS_586.d117;+ case (115):+ h$regs[83] = h$RTS_586.d116;+ case (114):+ h$regs[82] = h$RTS_586.d115;+ case (113):+ h$regs[81] = h$RTS_586.d114;+ case (112):+ h$regs[80] = h$RTS_586.d113;+ case (111):+ h$regs[79] = h$RTS_586.d112;+ case (110):+ h$regs[78] = h$RTS_586.d111;+ case (109):+ h$regs[77] = h$RTS_586.d110;+ case (108):+ h$regs[76] = h$RTS_586.d109;+ case (107):+ h$regs[75] = h$RTS_586.d108;+ case (106):+ h$regs[74] = h$RTS_586.d107;+ case (105):+ h$regs[73] = h$RTS_586.d106;+ case (104):+ h$regs[72] = h$RTS_586.d105;+ case (103):+ h$regs[71] = h$RTS_586.d104;+ case (102):+ h$regs[70] = h$RTS_586.d103;+ case (101):+ h$regs[69] = h$RTS_586.d102;+ case (100):+ h$regs[68] = h$RTS_586.d101;+ case (99):+ h$regs[67] = h$RTS_586.d100;+ case (98):+ h$regs[66] = h$RTS_586.d99;+ case (97):+ h$regs[65] = h$RTS_586.d98;+ case (96):+ h$regs[64] = h$RTS_586.d97;+ case (95):+ h$regs[63] = h$RTS_586.d96;+ case (94):+ h$regs[62] = h$RTS_586.d95;+ case (93):+ h$regs[61] = h$RTS_586.d94;+ case (92):+ h$regs[60] = h$RTS_586.d93;+ case (91):+ h$regs[59] = h$RTS_586.d92;+ case (90):+ h$regs[58] = h$RTS_586.d91;+ case (89):+ h$regs[57] = h$RTS_586.d90;+ case (88):+ h$regs[56] = h$RTS_586.d89;+ case (87):+ h$regs[55] = h$RTS_586.d88;+ case (86):+ h$regs[54] = h$RTS_586.d87;+ case (85):+ h$regs[53] = h$RTS_586.d86;+ case (84):+ h$regs[52] = h$RTS_586.d85;+ case (83):+ h$regs[51] = h$RTS_586.d84;+ case (82):+ h$regs[50] = h$RTS_586.d83;+ case (81):+ h$regs[49] = h$RTS_586.d82;+ case (80):+ h$regs[48] = h$RTS_586.d81;+ case (79):+ h$regs[47] = h$RTS_586.d80;+ case (78):+ h$regs[46] = h$RTS_586.d79;+ case (77):+ h$regs[45] = h$RTS_586.d78;+ case (76):+ h$regs[44] = h$RTS_586.d77;+ case (75):+ h$regs[43] = h$RTS_586.d76;+ case (74):+ h$regs[42] = h$RTS_586.d75;+ case (73):+ h$regs[41] = h$RTS_586.d74;+ case (72):+ h$regs[40] = h$RTS_586.d73;+ case (71):+ h$regs[39] = h$RTS_586.d72;+ case (70):+ h$regs[38] = h$RTS_586.d71;+ case (69):+ h$regs[37] = h$RTS_586.d70;+ case (68):+ h$regs[36] = h$RTS_586.d69;+ case (67):+ h$regs[35] = h$RTS_586.d68;+ case (66):+ h$regs[34] = h$RTS_586.d67;+ case (65):+ h$regs[33] = h$RTS_586.d66;+ case (64):+ h$regs[32] = h$RTS_586.d65;+ case (63):+ h$regs[31] = h$RTS_586.d64;+ case (62):+ h$regs[30] = h$RTS_586.d63;+ case (61):+ h$regs[29] = h$RTS_586.d62;+ case (60):+ h$regs[28] = h$RTS_586.d61;+ case (59):+ h$regs[27] = h$RTS_586.d60;+ case (58):+ h$regs[26] = h$RTS_586.d59;+ case (57):+ h$regs[25] = h$RTS_586.d58;+ case (56):+ h$regs[24] = h$RTS_586.d57;+ case (55):+ h$regs[23] = h$RTS_586.d56;+ case (54):+ h$regs[22] = h$RTS_586.d55;+ case (53):+ h$regs[21] = h$RTS_586.d54;+ case (52):+ h$regs[20] = h$RTS_586.d53;+ case (51):+ h$regs[19] = h$RTS_586.d52;+ case (50):+ h$regs[18] = h$RTS_586.d51;+ case (49):+ h$regs[17] = h$RTS_586.d50;+ case (48):+ h$regs[16] = h$RTS_586.d49;+ case (47):+ h$regs[15] = h$RTS_586.d48;+ case (46):+ h$regs[14] = h$RTS_586.d47;+ case (45):+ h$regs[13] = h$RTS_586.d46;+ case (44):+ h$regs[12] = h$RTS_586.d45;+ case (43):+ h$regs[11] = h$RTS_586.d44;+ case (42):+ h$regs[10] = h$RTS_586.d43;+ case (41):+ h$regs[9] = h$RTS_586.d42;+ case (40):+ h$regs[8] = h$RTS_586.d41;+ case (39):+ h$regs[7] = h$RTS_586.d40;+ case (38):+ h$regs[6] = h$RTS_586.d39;+ case (37):+ h$regs[5] = h$RTS_586.d38;+ case (36):+ h$regs[4] = h$RTS_586.d37;+ case (35):+ h$regs[3] = h$RTS_586.d36;+ case (34):+ h$regs[2] = h$RTS_586.d35;+ case (33):+ h$regs[1] = h$RTS_586.d34;+ case (32):+ h$regs[0] = h$RTS_586.d33;+ case (31):+ h$r32 = h$RTS_586.d32;+ case (30):+ h$r31 = h$RTS_586.d31;+ case (29):+ h$r30 = h$RTS_586.d30;+ case (28):+ h$r29 = h$RTS_586.d29;+ case (27):+ h$r28 = h$RTS_586.d28;+ case (26):+ h$r27 = h$RTS_586.d27;+ case (25):+ h$r26 = h$RTS_586.d26;+ case (24):+ h$r25 = h$RTS_586.d25;+ case (23):+ h$r24 = h$RTS_586.d24;+ case (22):+ h$r23 = h$RTS_586.d23;+ case (21):+ h$r22 = h$RTS_586.d22;+ case (20):+ h$r21 = h$RTS_586.d21;+ case (19):+ h$r20 = h$RTS_586.d20;+ case (18):+ h$r19 = h$RTS_586.d19;+ case (17):+ h$r18 = h$RTS_586.d18;+ case (16):+ h$r17 = h$RTS_586.d17;+ case (15):+ h$r16 = h$RTS_586.d16;+ case (14):+ h$r15 = h$RTS_586.d15;+ case (13):+ h$r14 = h$RTS_586.d14;+ case (12):+ h$r13 = h$RTS_586.d13;+ case (11):+ h$r12 = h$RTS_586.d12;+ case (10):+ h$r11 = h$RTS_586.d11;+ case (9):+ h$r10 = h$RTS_586.d10;+ case (8):+ h$r9 = h$RTS_586.d9;+ case (7):+ h$r8 = h$RTS_586.d8;+ case (6):+ h$r7 = h$RTS_586.d7;+ case (5):+ h$r6 = h$RTS_586.d6;+ case (4):+ h$r5 = h$RTS_586.d5;+ case (3):+ h$r4 = h$RTS_586.d4;+ case (2):+ h$r3 = h$RTS_586.d3;+ case (1):+ h$r2 = h$RTS_586.d2;+ default:+ };+ h$r1 = h$RTS_584;+ return h$RTS_585;+};+h$o(h$pap_gen, 3, 0, (-1), (-1), null);+function h$moveRegs2(h$RTS_590, h$RTS_591)+{+ switch (((h$RTS_590 << 8) | h$RTS_591))+ {+ case (257):+ h$r3 = h$r2;+ break;+ case (258):+ h$r4 = h$r2;+ break;+ case (259):+ h$r5 = h$r2;+ break;+ case (260):+ h$r6 = h$r2;+ break;+ case (513):+ h$r4 = h$r3;+ h$r3 = h$r2;+ break;+ case (514):+ h$r5 = h$r3;+ h$r4 = h$r2;+ break;+ case (515):+ h$r6 = h$r3;+ h$r5 = h$r2;+ break;+ case (516):+ h$r7 = h$r3;+ h$r6 = h$r2;+ break;+ case (769):+ h$r5 = h$r4;+ h$r4 = h$r3;+ h$r3 = h$r2;+ break;+ case (770):+ h$r6 = h$r4;+ h$r5 = h$r3;+ h$r4 = h$r2;+ break;+ case (771):+ h$r7 = h$r4;+ h$r6 = h$r3;+ h$r5 = h$r2;+ break;+ case (772):+ h$r8 = h$r4;+ h$r7 = h$r3;+ h$r6 = h$r2;+ break;+ case (1025):+ h$r6 = h$r5;+ h$r5 = h$r4;+ h$r4 = h$r3;+ h$r3 = h$r2;+ break;+ case (1026):+ h$r7 = h$r5;+ h$r6 = h$r4;+ h$r5 = h$r3;+ h$r4 = h$r2;+ break;+ case (1027):+ h$r8 = h$r5;+ h$r7 = h$r4;+ h$r6 = h$r3;+ h$r5 = h$r2;+ break;+ case (1028):+ h$r9 = h$r5;+ h$r8 = h$r4;+ h$r7 = h$r3;+ h$r6 = h$r2;+ break;+ case (1281):+ h$r7 = h$r6;+ h$r6 = h$r5;+ h$r5 = h$r4;+ h$r4 = h$r3;+ h$r3 = h$r2;+ break;+ case (1282):+ h$r8 = h$r6;+ h$r7 = h$r5;+ h$r6 = h$r4;+ h$r5 = h$r3;+ h$r4 = h$r2;+ break;+ case (1283):+ h$r9 = h$r6;+ h$r8 = h$r5;+ h$r7 = h$r4;+ h$r6 = h$r3;+ h$r5 = h$r2;+ break;+ case (1284):+ h$r10 = h$r6;+ h$r9 = h$r5;+ h$r8 = h$r4;+ h$r7 = h$r3;+ h$r6 = h$r2;+ break;+ default:+ for(var h$RTS_592 = h$RTS_590;(h$RTS_592 > 0);(h$RTS_592--)) {+ h$setReg(((h$RTS_592 + 1) + h$RTS_591), h$getReg((h$RTS_592 + 1)));+ };+ };+};+var h$THUNK_CLOSURE = 0;+var h$FUN_CLOSURE = 1;+var h$PAP_CLOSURE = 3;+var h$CON_CLOSURE = 2;+var h$BLACKHOLE_CLOSURE = 5;+var h$STACKFRAME_CLOSURE = (-1);+function h$closureTypeName(h$RTS_593)+{+ if((h$RTS_593 === 0))+ {+ return "Thunk";+ };+ if((h$RTS_593 === 1))+ {+ return "Fun";+ };+ if((h$RTS_593 === 3))+ {+ return "Pap";+ };+ if((h$RTS_593 === 2))+ {+ return "Con";+ };+ if((h$RTS_593 === 5))+ {+ return "Blackhole";+ };+ if((h$RTS_593 === (-1)))+ {+ return "StackFrame";+ };+ return "InvalidClosureType";+};+function h$runio_e()+{+ h$r1 = h$r1.d1;+ h$stack[++h$sp] = h$ap_1_0;+ return h$ap_1_0;+};+h$o(h$runio_e, 0, 0, 1, 256, null);+function h$runio(h$RTS_594)+{+ return h$c1(h$runio_e, h$RTS_594);+};+function h$flushStdout_e()+{+ h$r1 = h$baseZCGHCziIOziHandlezihFlush;+ h$r2 = h$baseZCGHCziIOziHandleziFDzistdout;+ return h$ap_1_1_fast();+};+h$o(h$flushStdout_e, 0, 0, 0, 0, null);+var h$flushStdout = h$static_thunk(h$flushStdout_e);+var h$RTS_595 = new Date();+function h$dumpRes(h$RTS_596)+{+ h$printcl(h$RTS_596);+ var h$RTS_597 = new Date();+ h$log((("elapsed time: " + (h$RTS_597.getTime() - h$RTS_595.getTime())) + "ms"));+};+function h$ascii(h$RTS_598)+{+ var h$RTS_599 = [];+ for(var h$RTS_600 = 0;(h$RTS_600 < h$RTS_598.length);(h$RTS_600++)) {+ h$RTS_599.push(h$RTS_598.charCodeAt(h$RTS_600));+ };+ h$RTS_599.push(0);+ return h$RTS_599;+};+function h$dumpStackTop(h$RTS_601, h$RTS_602, h$RTS_603)+{+ h$RTS_602 = Math.max(h$RTS_602, 0);+ for(var h$RTS_604 = h$RTS_602;(h$RTS_604 <= h$RTS_603);(h$RTS_604++)) {+ var h$RTS_605 = h$RTS_601[h$RTS_604];+ if((h$RTS_605 && h$RTS_605.n))+ {+ h$log(((("stack[" + h$RTS_604) + "] = ") + h$RTS_605.n));+ }+ else+ {+ if((h$RTS_605 === null))+ {+ h$log((("stack[" + h$RTS_604) + "] = null WARNING DANGER"));+ }+ else+ {+ if((((((typeof h$RTS_605 === "object") && (h$RTS_605 !== null)) && h$RTS_605.hasOwnProperty("f")) && h$RTS_605.+ hasOwnProperty("d1")) && h$RTS_605.hasOwnProperty("d2")))+ {+ if((typeof h$RTS_605.f !== "function"))+ {+ h$log((("stack[" + h$RTS_604) + "] = WARNING: dodgy object"));+ }+ else+ {+ if((h$RTS_605.d1 === undefined))+ {+ h$log((("WARNING: stack[" + h$RTS_604) + "] d1 undefined"));+ };+ if((h$RTS_605.d2 === undefined))+ {+ h$log((("WARNING: stack[" + h$RTS_604) + "] d2 undefined"));+ };+ if(((((h$RTS_605.f.t === 5) && h$RTS_605.d1) && h$RTS_605.d1.x1) && h$RTS_605.d1.x1.n))+ {+ h$log(((("stack[" + h$RTS_604) + "] = blackhole -> ") + h$RTS_605.d1.x1.n));+ }+ else+ {+ h$log(((((((((("stack[" + h$RTS_604) + "] = -> ") + (h$RTS_605.alloc ? (h$RTS_605.alloc + ": ") : "")) + h$RTS_605.f.+ n) + " (") + h$closureTypeName(h$RTS_605.f.t)) + ", a: ") + h$RTS_605.f.a) + ")"));+ };+ };+ }+ else+ {+ if(h$isInstanceOf(h$RTS_605, h$MVar))+ {+ var h$RTS_606 = ((h$RTS_605.val === null) ? " empty" : (" value -> " + ((typeof h$RTS_605.+ val === "object") ? (((((h$RTS_605.val.f.n + " (") + h$closureTypeName(h$RTS_605.val.f.t)) + ", a: ") + h$RTS_605.val.f.+ a) + ")") : h$RTS_605.val)));+ h$log(((("stack[" + h$RTS_604) + "] = MVar ") + h$RTS_606));+ }+ else+ {+ if(h$isInstanceOf(h$RTS_605, h$MutVar))+ {+ h$log(((("stack[" + h$RTS_604) + "] = IORef -> ") + ((typeof h$RTS_605.val === "object") ? (((((h$RTS_605.val.f.+ n + " (") + h$closureTypeName(h$RTS_605.val.f.t)) + ", a: ") + h$RTS_605.val.f.a) + ")") : h$RTS_605.val)));+ }+ else+ {+ if((typeof h$RTS_605 === "object"))+ {+ h$log(((("stack[" + h$RTS_604) + "] = ") + h$collectProps(h$RTS_605).substring(0, 50)));+ }+ else+ {+ if((typeof h$RTS_605 === "function"))+ {+ var h$RTS_607 = new RegExp("([^\\n]+)\\n(.|\\n)*");+ h$log(((("stack[" + h$RTS_604) + "] = ") + ("" + h$RTS_605).substring(0, 50).replace(h$RTS_607, "$1")));+ }+ else+ {+ h$log(((("stack[" + h$RTS_604) + "] = ") + ("" + h$RTS_605).substring(0, 50)));+ };+ };+ };+ };+ };+ };+ };+ };+};+function h$checkObj(h$RTS_608)+{+ if(((typeof h$RTS_608 === "boolean") || (typeof h$RTS_608 === "number")))+ {+ return undefined;+ };+ if(((((!h$RTS_608.hasOwnProperty("f") || (h$RTS_608.f === null)) || (h$RTS_608.f === undefined)) || (h$RTS_608.f.+ a === undefined)) || (typeof h$RTS_608.f !== "function")))+ {+ h$log("h$checkObj: WARNING, something wrong with f:");+ h$log(("" + h$RTS_608).substring(0, 200));+ h$log(h$collectProps(h$RTS_608));+ h$log(typeof h$RTS_608.f);+ };+ if((!h$RTS_608.hasOwnProperty("d1") || (h$RTS_608.d1 === undefined)))+ {+ h$log("h$checkObj: WARNING, something wrong with d1:");+ h$log(("" + h$RTS_608).substring(0, 200));+ }+ else+ {+ if((!h$RTS_608.hasOwnProperty("d2") || (h$RTS_608.d2 === undefined)))+ {+ h$log("h$checkObj: WARNING, something wrong with d2:");+ h$log(("" + h$RTS_608).substring(0, 200));+ }+ else+ {+ if((((h$RTS_608.d2 !== null) && (typeof h$RTS_608.d2 === "object")) && (h$RTS_608.f.size !== 2)))+ {+ var h$RTS_609 = h$RTS_608.d2;+ var h$RTS_610;+ for(h$RTS_610 in h$RTS_609)+ {+ if(h$RTS_609.hasOwnProperty(h$RTS_610))+ {+ if((h$RTS_610.substring(0, 1) != "d"))+ {+ h$log(("h$checkObj: WARNING, unexpected field name: " + h$RTS_610));+ h$log(("" + h$RTS_608).substring(0, 200));+ };+ if((h$RTS_609[h$RTS_610] === undefined))+ {+ h$log(("h$checkObj: WARNING, undefined field detected: " + h$RTS_610));+ h$log(("" + h$RTS_608).substring(0, 200));+ };+ };+ };+ switch (h$RTS_608.f.size)+ {+ case (6):+ if((h$RTS_609.d5 === undefined))+ {+ h$log("h$checkObj: WARNING, undefined field detected: d5");+ };+ case (5):+ if((h$RTS_609.d4 === undefined))+ {+ h$log("h$checkObj: WARNING, undefined field detected: d4");+ };+ case (4):+ if((h$RTS_609.d3 === undefined))+ {+ h$log("h$checkObj: WARNING, undefined field detected: d3");+ };+ case (3):+ if((h$RTS_609.d2 === undefined))+ {+ h$log("h$checkObj: WARNING, undefined field detected: d2");+ };+ if((h$RTS_609.d1 === undefined))+ {+ h$log("h$checkObj: WARNING, undefined field detected: d1");+ };+ default:+ h$RTS_609 = h$RTS_608.d2;+ };+ };+ };+ };+};+function h$traceForeign(h$RTS_611, h$RTS_612)+{+ if(true)+ {+ return undefined;+ };+ var h$RTS_613 = [];+ for(var h$RTS_614 = 0;(h$RTS_614 < h$RTS_612.length);(h$RTS_614++)) {+ var h$RTS_615 = h$RTS_612[h$RTS_614];+ if((h$RTS_615 === null))+ {+ h$RTS_613.push("null");+ }+ else+ {+ if((typeof h$RTS_615 === "object"))+ {+ var h$RTS_616 = h$RTS_615.toString();+ if((h$RTS_616.length > 40))+ {+ h$RTS_613.push((h$RTS_616.substring(0, 40) + "..."));+ }+ else+ {+ h$RTS_613.push(h$RTS_616);+ };+ }+ else+ {+ h$RTS_613.push(("" + h$RTS_615));+ };+ };+ };+ h$log((((("ffi: " + h$RTS_611) + "(") + h$RTS_613.join(",")) + ")"));+};+function h$restoreThread()+{+ var h$RTS_617 = h$stack[(h$sp - 2)];+ var h$RTS_618 = h$stack[(h$sp - 1)];+ var h$RTS_619 = (h$RTS_618 - 3);+ for(var h$RTS_620 = 1;(h$RTS_620 <= h$RTS_619);(h$RTS_620++)) {+ h$setReg(h$RTS_620, h$stack[((h$sp - 2) - h$RTS_620)]);+ };+ h$sp -= h$RTS_618;+ return h$RTS_617;+};+h$o(h$restoreThread, (-1), 0, (-1), 0, null);+function h$return()+{+ h$r1 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$stack[h$sp];+};+h$o(h$return, (-1), 0, 1, 0, null);+function h$returnf()+{+ var h$RTS_621 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$RTS_621;+};+h$o(h$returnf, (-1), 0, 1, 256, null);+function h$reschedule()+{+ return h$reschedule;+};+h$o(h$reschedule, 0, 0, 0, 0, null);+function h$suspendCurrentThread(h$RTS_622)+{+ if((h$RTS_622 === h$reschedule))+ {+ throw("suspend called with h$reschedule");+ };+ if((h$RTS_622.t === (-1)))+ {+ h$stack[h$sp] = h$RTS_622;+ };+ if(((h$stack[h$sp] === h$restoreThread) || (h$RTS_622 === h$return)))+ {+ h$currentThread.sp = h$sp;+ return undefined;+ };+ var h$RTS_623;+ var h$RTS_624 = 0;+ var h$RTS_625 = h$RTS_622.t;+ if((h$RTS_625 === 3))+ {+ h$RTS_623 = ((h$r1.d2.d1 >> 8) + 1);+ }+ else+ {+ if(((h$RTS_625 === 1) || (h$RTS_625 === (-1))))+ {+ h$RTS_623 = (h$RTS_622.r >> 8);+ h$RTS_624 = (h$RTS_622.r & 255);+ }+ else+ {+ h$RTS_623 = 1;+ };+ };+ h$sp = (((h$sp + h$RTS_623) + h$RTS_624) + 3);+ for(var h$RTS_626 = 1;(h$RTS_626 <= h$RTS_624);(h$RTS_626++)) {+ h$stack[((h$sp - 2) - h$RTS_626)] = null;+ };+ for(h$RTS_626 = (h$RTS_624 + 1);(h$RTS_626 <= (h$RTS_623 + h$RTS_624));(h$RTS_626++)) {+ h$stack[((h$sp - 2) - h$RTS_626)] = h$getReg(h$RTS_626);+ };+ h$stack[(h$sp - 2)] = h$RTS_622;+ h$stack[(h$sp - 1)] = ((h$RTS_623 + h$RTS_624) + 3);+ h$stack[h$sp] = h$restoreThread;+ h$currentThread.sp = h$sp;+};+function h$dumpRes()+{+ h$log(("h$dumpRes result: " + h$stack[(h$sp - 1)]));+ h$log(h$r1);+ h$log(h$collectProps(h$r1));+ if((h$r1.f && h$r1.f.n))+ {+ h$log(("name: " + h$r1.f.n));+ };+ if(h$r1.hasOwnProperty("d1"))+ {+ h$log(("d1: " + h$r1.d1));+ };+ if(h$r1.hasOwnProperty("d2"))+ {+ h$log(("d2: " + h$r1.d2));+ };+ if(h$r1.f)+ {+ var h$RTS_627 = new RegExp("([^\\n]+)\\n(.|\\n)*");+ h$log(("function: " + ("" + h$r1.f).substring(0, 50).replace(h$RTS_627, "$1")));+ };+ h$sp -= 2;+ return h$stack[h$sp];+};+h$o(h$dumpRes, 0, 0, 1, 256, null);+function h$resume_e()+{+ var h$RTS_628 = h$r1.d1;+ h$bh();+ for(var h$RTS_629 = 0;(h$RTS_629 < h$RTS_628.length);(h$RTS_629++)) {+ h$stack[((h$sp + 1) + h$RTS_629)] = h$RTS_628[h$RTS_629];+ };+ h$sp += h$RTS_628.length;+ h$r1 = null;+ return h$stack[h$sp];+};+h$o(h$resume_e, 0, 0, 0, 256, null);+function h$unmaskFrame()+{+ h$currentThread.mask = 0;+ --h$sp;+ if((h$currentThread.excep.length > 0))+ {+ h$p2(h$r1, h$return);+ return h$reschedule;+ }+ else+ {+ return h$stack[h$sp];+ };+};+h$o(h$unmaskFrame, (-1), 0, 0, 256, null);+function h$maskFrame()+{+ h$currentThread.mask = 2;+ --h$sp;+ return h$stack[h$sp];+};+h$o(h$maskFrame, (-1), 0, 0, 256, null);+function h$maskUnintFrame()+{+ h$currentThread.mask = 1;+ --h$sp;+ return h$stack[h$sp];+};+h$o(h$maskUnintFrame, (-1), 0, 0, 256, null);+function h$unboxFFIResult()+{+ var h$RTS_630 = h$r1.d1;+ for(var h$RTS_631 = 0;(h$RTS_631 < h$RTS_630.length);(h$RTS_631++)) {+ h$setReg((h$RTS_631 + 1), h$RTS_630[h$RTS_631]);+ };+ --h$sp;+ return h$stack[h$sp];+};+h$o(h$unboxFFIResult, (-1), 0, 0, 256, null);+function h$unbox_e()+{+ h$r1 = h$r1.d1;+ return h$stack[h$sp];+};+h$o(h$unbox_e, 0, 0, 1, 256, null);+function h$retryInterrupted()+{+ var h$RTS_632 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ return h$RTS_632[0].apply(this, h$RTS_632.slice(1));+};+h$o(h$retryInterrupted, (-1), 0, 1, 256, null);+function h$atomically_e()+{+ if(h$stmValidateTransaction())+ {+ h$stmCommitTransaction();+ h$sp -= 2;+ return h$stack[h$sp];+ }+ else+ {+ ++h$sp;+ h$stack[h$sp] = h$checkInvariants_e;+ return h$stmStartTransaction(h$stack[(h$sp - 2)]);+ };+};+h$o(h$atomically_e, (-1), 0, 1, 256, null);+function h$checkInvariants_e()+{+ --h$sp;+ return h$stmCheckInvariants();+};+h$o(h$checkInvariants_e, (-1), 0, 0, 256, null);+function h$stmCheckInvariantStart_e()+{+ var h$RTS_633 = h$stack[(h$sp - 2)];+ var h$RTS_634 = h$stack[(h$sp - 1)];+ var h$RTS_635 = h$currentThread.mask;+ h$sp -= 3;+ var h$RTS_636 = new h$Transaction(h$RTS_634.action, h$RTS_633);+ h$RTS_636.checkRead = new h$Set();+ h$currentThread.transaction = h$RTS_636;+ h$p4(h$RTS_636, h$RTS_635, h$stmInvariantViolatedHandler, h$catchStm_e);+ h$r1 = h$RTS_634.action;+ return h$ap_1_0_fast();+};+h$o(h$stmCheckInvariantStart_e, (-1), 0, 2, 0, null);+function h$stmCheckInvariantResult_e()+{+ var h$RTS_637 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$stmUpdateInvariantDependencies(h$RTS_637);+ h$stmAbortTransaction();+ return h$stack[h$sp];+};+h$o(h$stmCheckInvariantResult_e, (-1), 0, 1, 256, null);+function h$stmInvariantViolatedHandler_e()+{+ if((h$stack[h$sp] !== h$stmCheckInvariantResult_e))+ {+ throw("h$stmInvariantViolatedHandler_e: unexpected value on stack");+ };+ var h$RTS_638 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ h$stmUpdateInvariantDependencies(h$RTS_638);+ h$stmAbortTransaction();+ return h$throw(h$r2, false);+};+h$o(h$stmInvariantViolatedHandler_e, 1, 258, 0, 256, null);+var h$stmInvariantViolatedHandler = h$c(h$stmInvariantViolatedHandler_e);+function h$stmCatchRetry_e()+{+ h$sp -= 2;+ h$stmCommitTransaction();+ return h$stack[h$sp];+};+h$o(h$stmCatchRetry_e, (-1), 0, 1, 256, null);+function h$catchStm_e()+{+ h$sp -= 4;+ return h$stack[h$sp];+};+h$o(h$catchStm_e, (-1), 0, 3, 256, null);+function h$stmResumeRetry_e()+{+ if((h$stack[(h$sp - 2)] !== h$atomically_e))+ {+ throw("h$stmResumeRetry_e: unexpected value on stack");+ };+ var h$RTS_639 = h$stack[(h$sp - 1)];+ h$sp -= 2;+ ++h$sp;+ h$stack[h$sp] = h$checkInvariants_e;+ h$stmRemoveBlockedThread(h$RTS_639, h$currentThread);+ return h$stmStartTransaction(h$stack[(h$sp - 2)]);+};+h$o(h$stmResumeRetry_e, (-1), 0, 0, 256, null);+function h$lazy_e()+{+ var h$RTS_640 = h$r1.d1();+ h$bh();+ h$r1 = h$RTS_640;+ return h$stack[h$sp];+};+h$o(h$lazy_e, 0, 0, 0, 256, null);
haste/haste-demo.html view
@@ -13,7 +13,7 @@ This is a small live demonstration of the Haskell library <a href="http://hackage.haskell.org/package/circle-packing"><tt>circle-packing</tt></a> by <a href="http://www.joachim-breitner.de/">Joachim Breitner</a>:<br/> Given a number of circles with their radii, this packags tries to arrange them tightly, without overlap and forming a large circle.<br/> Finding the optimal solution is NP hard, so only heuristics are feasible. This particular implementation is neither very good nor very fast, compared to the state of the art in research. Nevertheless it is simple to use and gives visually acceptable results.<br/>- This particular demonstration uses the <a href="https://github.com/valderman/haste-compiler">Haste compiler</a> to generate JavaScript code from <a href="../Optimisation/CirclePacking.hs">the original Haskell code</a> and some <a href="haste-demo.hs">code to address the HTML5 canvas</a>, so although it runs in your browser, this <em>is</em> the Haskell code at work. There is an analougous <a href="../fay/fay-demo.html">demo based the Fay compiler</a>.+ This particular demonstration uses the <a href="https://github.com/valderman/haste-compiler">Haste compiler</a> to generate JavaScript code from <a href="../Optimisation/CirclePacking.hs">the original Haskell code</a> and some <a href="haste-demo.hs">code to address the HTML5 canvas</a>, so although it runs in your browser, this <em>is</em> the Haskell code at work. There is an analougous <a href="../fay/fay-demo.html">demo based the Fay compiler</a> and one using <a href="../ghcjs/ghcjs-demo.html">GHC-JS</a>. </p> </div> </body>