BigDecimaljs vs purejs

Benchmark created by test on


Preparation HTML

<script src="https://numericjs.com/lib/numeric-1.2.6.min.js"></script>

Setup

(function(exports) {
    
      if (typeof document === 'undefined')
        var document = {};
    
      if (typeof window === 'undefined')
        var window = {};
      if (!window.document)
        window.document = document;
    
      if (typeof navigator === 'undefined')
        var navigator = {};
      if (!navigator.userAgent)
        navigator.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22';
    
      function gwtapp() {};
    
      (function() {
        var $gwt_version = "2.4.0";
        var $wnd = window;
        var $doc = $wnd.document;
        var $moduleName, $moduleBase;
        var $strongName = '4533928AF3A2228268FD8F10BB191446';
        var $stats = $wnd.__gwtStatsEvent ? function(a) {
            return $wnd.__gwtStatsEvent(a);
          } : null;
        var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
        $stats && $stats({
          moduleName: 'gwtapp',
          sessionId: $sessionId,
          subSystem: 'startup',
          evtGroup: 'moduleStartup',
          millis: (new Date()).getTime(),
          type: 'moduleEvalStart'
        });
    
        function H() {}
    
        function P() {}
    
        function O() {}
    
        function N() {}
    
        function M() {}
    
        function rr() {}
    
        function gb() {}
    
        function ub() {}
    
        function pb() {}
    
        function Fb() {}
    
        function Ab() {}
    
        function Lb() {}
    
        function Tb() {}
    
        function Kb() {}
    
        function Zb() {}
    
        function _b() {}
    
        function fc() {}
    
        function ic() {}
    
        function hc() {}
    
        function Se() {}
    
        function Re() {}
    
        function Ze() {}
    
        function Ye() {}
    
        function Xe() {}
    
        function Ah() {}
    
        function Hh() {}
    
        function Gh() {}
    
        function Ej() {}
    
        function Mj() {}
    
        function Uj() {}
    
        function _j() {}
    
        function gk() {}
    
        function mk() {}
    
        function pk() {}
    
        function wk() {}
    
        function vk() {}
    
        function Dk() {}
    
        function Ik() {}
    
        function Qk() {}
    
        function Uk() {}
    
        function il() {}
    
        function ol() {}
    
        function rl() {}
    
        function Tl() {}
    
        function Xl() {}
    
        function km() {}
    
        function om() {}
    
        function Nn() {}
    
        function Np() {}
    
        function ep() {}
    
        function dp() {}
    
        function yp() {}
    
        function yo() {}
    
        function Zo() {}
    
        function xp() {}
    
        function Hp() {}
    
        function Mp() {}
    
        function Xp() {}
    
        function bq() {}
    
        function jq() {}
    
        function qq() {}
    
        function Dq() {}
    
        function Hq() {}
    
        function Nq() {}
    
        function Qq() {}
    
        function Zq() {}
    
        function Yq() {}
    
        function Yj() {
          Wj()
        }
    
        function Ij() {
          Gj()
        }
    
        function Eh() {
          Ch()
        }
    
        function Ek() {
          Cb()
        }
    
        function qk() {
          Cb()
        }
    
        function Rk() {
          Cb()
        }
    
        function Vk() {
          Cb()
        }
    
        function jl() {
          Cb()
        }
    
        function Oq() {
          Cb()
        }
    
        function kk() {
          ik()
        }
    
        function fm() {
          Yl(this)
        }
    
        function gm() {
          Yl(this)
        }
    
        function mg(a) {
          Hf(this, a)
        }
    
        function mq(a) {
          this.c = a
        }
    
        function bk(a) {
          this.b = a
        }
    
        function Cp(a) {
          this.b = a
        }
    
        function Sp(a) {
          this.b = a
        }
    
        function V(a) {
          Cb();
          this.f = a
        }
    
        function nk(a) {
          V.call(this, a)
        }
    
        function rk(a) {
          V.call(this, a)
        }
    
        function Sk(a) {
          V.call(this, a)
        }
    
        function Wk(a) {
          V.call(this, a)
        }
    
        function kl(a) {
          V.call(this, a)
        }
    
        function Yl(a) {
          a.b = new fc
        }
    
        function Ul() {
          this.b = new fc
        }
    
        function rb() {
          rb = rr;
          qb = new ub
        }
    
        function lr() {
          lr = rr;
          kr = new gr
        }
    
        function jr(a, b) {
          return b
        }
    
        function ac(a, b) {
          a.b += b
        }
    
        function bc(a, b) {
          a.b += b
        }
    
        function cc(a, b) {
          a.b += b
        }
    
        function dc(a, b) {
          a.b += b
        }
    
        function or(a, b) {
          lr();
          a[Ls] = b
        }
    
        function nr(a, b) {
          lr();
          ar(a, b)
        }
    
        function _q(a, b, c) {
          rp(a.b, b, c)
        }
    
        function Jg() {
          rf();
          Hf(this, Tr)
        }
    
        function pl(a) {
          Sk.call(this, a)
        }
    
        function Hk(a) {
          return isNaN(a)
        }
    
        function Jj(a) {
          return new Oi(a)
        }
    
        function Zj(a) {
          return new Oj(a)
        }
    
        function dl(a) {
          return a < 0 ? -a : a
        }
    
        function hl(a, b) {
          return a < b ? a : b
        }
    
        function gl(a, b) {
          return a > b ? a : b
        }
    
        function xe(a, b) {
          return !we(a, b)
        }
    
        function ye(a, b) {
          return !ve(a, b)
        }
    
        function ir(a, b) {
          return new b(a)
        }
    
        function Oj(a) {
          this.b = new Yn(a)
        }
    
        function Nj() {
          this.b = (Un(), Rn)
        }
    
        function ak() {
          this.b = (Qo(), Fo)
        }
    
        function Wo() {
          Qo();
          return zo
        }
    
        function mr(a, b) {
          lr();
          _q(kr, a, b)
        }
    
        function br(a, b) {
          a[b] || (a[b] = {})
        }
    
        function kq(a) {
          return a.b < a.c.c
        }
    
        function Vn(a) {
          return a.b << 3 | a.c.c
        }
    
        function Mi(a) {
          return a.f * a.b[0]
        }
    
        function Je(a) {
          return a.l | a.m << 22
        }
    
        function op(b, a) {
          return b.f[Qr + a]
        }
    
        function Yp(a, b) {
          this.c = a;
          this.b = b
        }
    
        function Ro(a, b) {
          this.b = a;
          this.c = b
        }
    
        function Iq(a, b) {
          this.b = a;
          this.c = b
        }
    
        function bm(a, b) {
          ac(a.b, b);
          return a
        }
    
        function cm(a, b) {
          bc(a.b, b);
          return a
        }
    
        function dm(a, b) {
          cc(a.b, b);
          return a
        }
    
        function pr(a) {
          lr();
          return er(kr, a)
        }
    
        function qr(a) {
          lr();
          return fr(kr, a)
        }
    
        function Oi(a) {
          Oh();
          oi.call(this, a)
        }
    
        function Ni() {
          Oh();
          oi.call(this, Tr)
        }
    
        function cg(a) {
          dg.call(this, a, 0)
        }
    
        function Kg(a) {
          mg.call(this, a.tS())
        }
    
        function el(a) {
          return Math.floor(a)
        }
    
        function yl(b, a) {
          return b.indexOf(a)
        }
    
        function qp(b, a) {
          return Qr + a in b.f
        }
    
        function uc(a, b) {
          return a.cM && a.cM[b]
        }
    
        function re(a, b) {
          return ee(a, b, false)
        }
    
        function bn(a, b) {
          return cn(a.b, a.e, b)
        }
    
        function ce(a) {
          return de(a.l, a.m, a.h)
        }
    
        function Ac(a) {
          return a == null ? null : a
        }
    
        function sf(a) {
          return a.r() < 0 ? Mf(a) : a
        }
    
        function ob(a) {
          return a.$H || (a.$H = ++jb)
        }
    
        function zc(a) {
          return a.tM == rr || tc(a, 1)
        }
    
        function tc(a, b) {
          return a.cM && !! a.cM[b]
        }
    
        function vl(b, a) {
          return b.charCodeAt(a)
        }
    
        function hm(a) {
          Yl(this);
          cc(this.b, a)
        }
    
        function oi(a) {
          Oh();
          pi.call(this, a, 10)
        }
    
        function Aq(a, b, c, d) {
          a.splice(b, c, d)
        }
    
        function dq(a, b) {
          (a < 0 || a >= b) && hq(a, b)
        }
    
        function xc(a, b) {
          return a != null && tc(a, b)
        }
    
        function db(a) {
          return yc(a) ? Db(wc(a)) : Lr
        }
    
        function Z(a) {
          return yc(a) ? $(wc(a)) : a + Lr
        }
    
        function Fl(a) {
          return lc(Vd, {
            6: 1
          }, 1, a, 0)
        }
    
        function vq() {
          this.b = lc(Td, {
            6: 1
          }, 0, 0, 0)
        }
    
        function Pl() {
          Pl = rr;
          Ml = {};
          Ol = {}
        }
    
        function Yo() {
          Yo = rr;
          Xo = Jk((Qo(), zo))
        }
    
        function ik() {
          if (!hk) {
            hk = true;
            jk()
          }
        }
    
        function Gj() {
          if (!Fj) {
            Fj = true;
            Hj()
          }
        }
    
        function Wj() {
          if (!Vj) {
            Vj = true;
            new kk;
            Xj()
          }
        }
    
        function gr() {
          this.b = new Fq;
          new Fq;
          new Fq
        }
    
        function X(a) {
          Cb();
          this.c = a;
          Bb(new Tb, this)
        }
    
        function Pi(a) {
          Oh();
          oi.call(this, Hm(a, 0))
        }
    
        function gg(a) {
          hg.call(this, a, 0, a.length)
        }
    
        function fg(a, b) {
          cg.call(this, a);
          If(this, b)
        }
    
        function ze(a, b) {
          ee(a, b, true);
          return ae
        }
    
        function tq(a, b) {
          dq(b, a.c);
          return a.b[b]
        }
    
        function rq(a, b) {
          nc(a.b, a.c++, b);
          return true
        }
    
        function _l(a, b, c) {
          dc(a.b, Ll(b, 0, c));
          return a
        }
    
        function kb(a, b, c) {
          return a.apply(b, c);
          var d
        }
    
        function em(a, b, c) {
          return ec(a.b, b, b, c), a
        }
    
        function Af(a, b, c) {
          return yf(a, b, Bc(a.f), c)
        }
    
        function xf(a, b, c) {
          return yf(a, b, Bc(a.f), Uo(c))
        }
    
        function Bl(c, a, b) {
          return c.substr(a, b - a)
        }
    
        function Al(b, a) {
          return b.substr(a, b.length - a)
        }
    
        function fl(a) {
          return Math.log(a) * Math.LOG10E
        }
    
        function cb(a) {
          return a == null ? null : a.name
        }
    
        function $(a) {
          return a == null ? null : a.message
        }
    
        function yc(a) {
          return a != null && a.tM != rr && !tc(a, 1)
        }
    
        function ec(a, b, c, d) {
          a.b = Bl(a.b, 0, b) + d + Al(a.b, c)
        }
    
        function eg(a, b, c) {
          dg.call(this, a, b);
          If(this, c)
        }
    
        function pg(a, b) {
          this.g = a;
          this.f = b;
          this.b = sg(a)
        }
    
        function si(a, b, c) {
          Oh();
          this.f = a;
          this.e = b;
          this.b = c
        }
    
        function sl(a) {
          this.b = 'Unknown';
          this.d = a;
          this.c = -1
        }
    
        function yk(a, b) {
          var c;
          c = new wk;
          c.d = a + b;
          return c
        }
    
        function dr(a, b) {
          var c;
          c = mp(a.b, b);
          return wc(c)
        }
    
        function fb(a) {
          var b;
          return b = a, zc(b) ? b.hC() : ob(b)
        }
    
        function To(a) {
          Qo();
          return Ok((Yo(), Xo), a)
        }
    
        function qe(a, b) {
          return de(a.l & b.l, a.m & b.m, a.h & b.h)
        }
    
        function De(a, b) {
          return de(a.l | b.l, a.m | b.m, a.h | b.h)
        }
    
        function Le(a, b) {
          return de(a.l ^ b.l, a.m ^ b.m, a.h ^ b.h)
        }
    
        function Bm(a, b) {
          return (a.b[~~b >> 5] & 1 << (b & 31)) != 0
        }
    
        function Cq(a, b) {
          var c;
          for (c = 0; c < b; ++c) {
            a[c] = false
          }
        }
    
        function Lf(a, b, c) {
          var d;
          d = Kf(a, b);
          If(d, c);
          return d
        }
    
        function zb(a, b) {
          a.length >= b && a.splice(0, b);
          return a
        }
    
        function wb(a, b) {
          !a && (a = []);
          a[a.length] = b;
          return a
        }
    
        function Ph(a, b) {
          if (mi(a, b)) {
            return tm(a, b)
          }
          return a
        }
    
        function ii(a, b) {
          if (!mi(a, b)) {
            return tm(a, b)
          }
          return a
        }
    
        function _d(a) {
          if (xc(a, 15)) {
            return a
          }
          return new X(a)
        }
    
        function Eb() {
          try {
            null.a()
          } catch (a) {
            return a
          }
        }
    
        function Ak(a) {
          var b;
          b = new wk;
          b.d = Lr + a;
          b.c = 1;
          return b
        }
    
        function eb(a, b) {
          var c;
          return c = a, zc(c) ? c.eQ(b) : c === b
        }
    
        function se(a, b) {
          return a.l == b.l && a.m == b.m && a.h == b.h
        }
    
        function Ce(a, b) {
          return a.l != b.l || a.m != b.m || a.h != b.h
        }
    
        function de(a, b, c) {
          return _ = new Se, _.l = a, _.m = b, _.h = c, _
        }
    
        function rp(a, b, c) {
          return !b ? tp(a, c) : sp(a, b, c, ~~ob(b))
        }
    
        function Eq(a, b) {
          return Ac(a) === Ac(b) || a != null && eb(a, b)
        }
    
        function Xq(a, b) {
          return Ac(a) === Ac(b) || a != null && eb(a, b)
        }
    
        function hq(a, b) {
          throw new Wk('Index: ' + a + ', Size: ' + b)
        }
    
        function Xh(a, b) {
          if (b < 0) {
            throw new nk(ts)
          }
          return tm(a, b)
        }
    
        function dg(a, b) {
          if (!a) {
            throw new jl
          }
          this.f = b;
          Tf(this, a)
        }
    
        function og(a, b) {
          if (!a) {
            throw new jl
          }
          this.f = b;
          Tf(this, a)
        }
    
        function ig(a, b, c, d) {
          hg.call(this, a, b, c);
          If(this, d)
        }
    
        function jg(a, b) {
          hg.call(this, a, 0, a.length);
          If(this, b)
        }
    
        function ng(a, b) {
          hg.call(this, Cl(a), 0, a.length);
          If(this, b)
        }
    
        function lm(a) {
          V.call(this, 'String index out of range: ' + a)
        }
    
        function Zl(a, b) {
          dc(a.b, String.fromCharCode(b));
          return a
        }
    
        function pn(a, b) {
          tn(a.b, a.b, a.e, b.b, b.e);
          Sh(a);
          a.c = -2
        }
    
        function Tf(a, b) {
          a.d = b;
          a.b = b.ab();
          a.b < 54 && (a.g = Ie(ai(b)))
        }
    
        function qc() {
          qc = rr;
          oc = [];
          pc = [];
          rc(new ic, oc, pc)
        }
    
        function Ch() {
          if (!Bh) {
            Bh = true;
            new Yj;
            new Ij;
            Dh()
          }
        }
    
        function Sl() {
          if (Nl == 256) {
            Ml = Ol;
            Ol = {};
            Nl = 0
          }++Nl
        }
    
        function cr(a) {
          var b;
          b = a[Ls];
          if (!b) {
            b = [];
            a[Ls] = b
          }
          return b
        }
    
        function zk(a, b, c) {
          var d;
          d = new wk;
          d.d = a + b;
          d.c = c ? 8 : 0;
          return d
        }
    
        function xk(a, b, c) {
          var d;
          d = new wk;
          d.d = a + b;
          d.c = 4;
          d.b = c;
          return d
        }
    
        function lc(a, b, c, d, e) {
          var f;
          f = jc(e, d);
          mc(a, b, c, f);
          return f
        }
    
        function Ll(a, b, c) {
          var d;
          d = b + c;
          El(a.length, b, d);
          return Gl(a, b, d)
        }
    
        function mo(a, b) {
          go();
          return b < fo.length ? lo(a, fo[b]) : ei(a, po(b))
        }
    
        function me(a) {
          return a.l + a.m * 4194304 + a.h * 17592186044416
        }
    
        function vc(a, b) {
          if (a != null && !uc(a, b)) {
            throw new Ek
          }
          return a
        }
    
        function lq(a) {
          if (a.b >= a.c.c) {
            throw new Oq
          }
          return tq(a.c, a.b++)
        }
    
        function wl(a, b) {
          if (!xc(b, 1)) {
            return false
          }
          return String(a) == b
        }
    
        function lb() {
          if (ib++ == 0) {
            sb((rb(), qb));
            return true
          }
          return false
        }
    
        function fi(a) {
          if (a.f < 0) {
            throw new nk('start < 0: ' + a)
          }
          return xo(a)
        }
    
        function pm() {
          V.call(this, 'Add not supported on this collection')
        }
    
        function Fq() {
          this.b = [];
          this.f = {};
          this.d = false;
          this.c = null;
          this.e = 0
        }
    
        function qi(a, b) {
          Oh();
          this.f = a;
          this.e = 1;
          this.b = mc(Od, {
            6: 1
          }, -1, [b])
        }
    
        function sc(a, b, c) {
          qc();
          for (var d = 0, e = b.length; d < e; ++d) {
            a[b[d]] = c[d]
          }
        }
    
        function xl(a, b, c, d) {
          var e;
          for (e = 0; e < b; ++e) {
            c[d++] = a.charCodeAt(e)
          }
        }
    
        function Wh(a, b) {
          var c;
          for (c = a.e - 1; c >= 0 && a.b[c] == b[c]; --c) {}
          return c < 0
        }
    
        function tp(a, b) {
          var c;
          c = a.c;
          a.c = b;
          if (!a.d) {
            a.d = true;
            ++a.e
          }
          return c
        }
    
        function $l(a, b) {
          dc(a.b, String.fromCharCode.apply(null, b));
          return a
        }
    
        function am(a, b, c, d) {
          b == null && (b = Mr);
          bc(a.b, b.substr(c, d - c));
          return a
        }
    
        function sn(a, b, c, d) {
          var e;
          e = lc(Od, {
            6: 1
          }, -1, b, 1);
          tn(e, a, b, c, d);
          return e
        }
    
        function mc(a, b, c, d) {
          qc();
          sc(d, oc, pc);
          d.aC = a;
          d.cM = b;
          d.qI = c;
          return d
        }
    
        function uq(a, b, c) {
          for (; c < a.c; ++c) {
            if (Xq(b, a.b[c])) {
              return c
            }
          }
          return -1
        }
    
        function sq(a, b, c) {
          (b < 0 || b > a.c) && hq(b, a.c);
          Aq(a.b, b, 0, c);
          ++a.c
        }
    
        function nn(a, b) {
          var c;
          c = on(a.b, a.e, b);
          if (c == 1) {
            a.b[a.e] = 1;
            ++a.e
          }
          a.c = -2
        }
    
        function Sh(a) {
          while (a.e > 0 && a.b[--a.e] == 0) {}
          a.b[a.e++] == 0 && (a.f = 0)
        }
    
        function Gg(a) {
          if (we(a, ur) && xe(a, xr)) {
            return df[Je(a)]
          }
          return new qg(a, 0)
        }
    
        function ji(a, b) {
          if (b == 0 || a.f == 0) {
            return a
          }
          return b > 0 ? wm(a, b) : zm(a, -b)
        }
    
        function li(a, b) {
          if (b == 0 || a.f == 0) {
            return a
          }
          return b > 0 ? zm(a, b) : wm(a, -b)
        }
    
        function $h(a) {
          var b;
          if (a.f == 0) {
            return -1
          }
          b = Zh(a);
          return (b << 5) + _k(a.b[b])
        }
    
        function bl(a) {
          var b;
          b = Je(a);
          return b != 0 ? _k(b) : _k(Je(Fe(a, 32))) + 32
        }
    
        function Sb(a, b) {
          var c;
          c = Mb(a, b);
          return c.length == 0 ? (new Fb).o(b) : zb(c, 1)
        }
    
        function Gl(a, b, c) {
          a = a.slice(b, c);
          return String.fromCharCode.apply(null, a)
        }
    
        function rc(a, b, c) {
          var d = 0,
            e;
          for (var f in a) {
            if (e = a[f]) {
              b[d] = f;
              c[d] = e;
              ++d
            }
          }
        }
    
        function up(e, a, b) {
          var c, d = e.f;
          a = Qr + a;
          a in d ? (c = d[a]) : ++e.e;
          d[a] = b;
          return c
        }
    
        function gn(a, b, c, d) {
          var e;
          e = lc(Od, {
            6: 1
          }, -1, b + 1, 1);
          hn(e, a, b, c, d);
          return e
        }
    
        function Cl(a) {
          var b, c;
          c = a.length;
          b = lc(Md, {
            6: 1
          }, -1, c, 1);
          xl(a, c, b, 0);
          return b
        }
    
        function _e(a) {
          var b;
          b = bf(a);
          if (isNaN(b)) {
            throw new pl(Zr + a + $r)
          }
          return b
        }
    
        function Fg(a) {
          if (!isFinite(a) || isNaN(a)) {
            throw new pl(hs)
          }
          return new mg(Lr + a)
        }
    
        function wc(a) {
          if (a != null && (a.tM == rr || tc(a, 1))) {
            throw new Ek
          }
          return a
        }
    
        function Qf(a, b) {
          var c;
          c = new og((!a.d && (a.d = Li(a.g)), a.d), a.f);
          If(c, b);
          return c
        }
    
        function bg(a, b) {
          var c;
          c = new Pi(Zf(a));
          if (sm(c) < b) {
            return ai(c)
          }
          throw new nk(cs)
        }
    
        function ei(a, b) {
          if (b.f == 0) {
            return Nh
          }
          if (a.f == 0) {
            return Nh
          }
          return go(), ho(a, b)
        }
    
        function bi(a, b) {
          var c;
          if (b.f <= 0) {
            throw new nk(us)
          }
          c = hi(a, b);
          return c.f < 0 ? fn(c, b) : c
        }
    
        function Ip(a) {
          var b;
          b = new vq;
          a.d && rq(b, new Sp(a));
          kp(a, b);
          jp(a, b);
          this.b = new mq(b)
        }
    
        function lp(a, b) {
          return b == null ? a.d : xc(b, 1) ? qp(a, vc(b, 1)) : pp(a, b, ~~fb(b))
        }
    
        function mp(a, b) {
          return b == null ? a.c : xc(b, 1) ? op(a, vc(b, 1)) : np(a, b, ~~fb(b))
        }
    
        function Bc(a) {
          return~~ Math.max(Math.min(a, 2147483647), -2147483648)
        }
    
        function qg(a, b) {
          this.f = b;
          this.b = tg(a);
          this.b < 54 ? (this.g = Ie(a)) : (this.d = Ki(a))
        }
    
        function kg(a) {
          if (!isFinite(a) || isNaN(a)) {
            throw new pl(hs)
          }
          Hf(this, a.toPrecision(20))
        }
    
        function mb(b) {
          return function() {
            try {
              return nb(b, this, arguments)
            } catch (a) {
              throw a
            }
          }
        }
    
        function nb(a, b, c) {
          var d;
          d = lb();
          try {
            return kb(a, b, c)
          } finally {
            d && tb((rb(), qb));
            --ib
          }
        }
    
        function Ok(a, b) {
          var c;
          c = a[Qr + b];
          if (c) {
            return c
          }
          if (b == null) {
            throw new jl
          }
          throw new Rk
        }
    
        function sb(a) {
          var b, c;
          if (a.b) {
            c = null;
            do {
              b = a.b;
              a.b = null;
              c = xb(b, c)
            } while (a.b);
            a.b = c
          }
        }
    
        function tb(a) {
          var b, c;
          if (a.c) {
            c = null;
            do {
              b = a.c;
              a.c = null;
              c = xb(b, c)
            } while (a.c);
            a.c = c
          }
        }
    
        function _k(a) {
          var b, c;
          if (a == 0) {
            return 32
          } else {
            c = 0;
            for (b = 1;
              (b & a) == 0; b <<= 1) {
              ++c
            }
            return c
          }
        }
    
        function Jk(a) {
          var b, c, d, e;
          b = {};
          for (d = 0, e = a.length; d < e; ++d) {
            c = a[d];
            b[Qr + c.b] = c
          }
          return b
        }
    
        function Rb(a) {
          var b;
          b = zb(Sb(a, Eb()), 3);
          b.length == 0 && (b = zb((new Fb).k(), 1));
          return b
        }
    
        function Wn(a) {
          var b;
          b = new gm;
          $l(b, Sn);
          bm(b, a.b);
          b.b.b += ys;
          $l(b, Tn);
          cm(b, a.c);
          return b.b.b
        }
    
        function Rh(a) {
          var b;
          b = lc(Od, {
            6: 1
          }, -1, a.e, 1);
          nm(a.b, 0, b, 0, a.e);
          return new si(a.f, a.e, b)
        }
    
        function Bf(a, b) {
          var c;
          c = lc(Wd, {
            6: 1
          }, 16, 2, 0);
          nc(c, 0, Df(a, b));
          nc(c, 1, Xf(a, Kf(c[0], b)));
          return c
        }
    
        function Cf(a, b, c) {
          var d;
          d = lc(Wd, {
            6: 1
          }, 16, 2, 0);
          nc(d, 0, Ef(a, b, c));
          nc(d, 1, Xf(a, Kf(d[0], b)));
          return d
        }
    
        function $o(a, b) {
          var c;
          while (a.Pb()) {
            c = a.Qb();
            if (b == null ? c == null : eb(b, c)) {
              return a
            }
          }
          return null
        }
    
        function Zh(a) {
          var b;
          if (a.c == -2) {
            if (a.f == 0) {
              b = -1
            } else {
              for (b = 0; a.b[b] == 0; ++b) {}
            }
            a.c = b
          }
          return a.c
        }
    
        function bb(a) {
          var b;
          return a == null ? Mr : yc(a) ? cb(wc(a)) : xc(a, 1) ? Nr : (b = a, zc(b) ? b.gC() : Gc).d
        }
    
        function Uf(a) {
          if (a.b < 54) {
            return a.g < 0 ? -1 : a.g > 0 ? 1 : 0
          }
          return (!a.d && (a.d = Li(a.g)), a.d).r()
        }
    
        function Mf(a) {
          if (a.b < 54) {
            return new pg(-a.g, a.f)
          }
          return new og((!a.d && (a.d = Li(a.g)), a.d).cb(), a.f)
        }
    
        function El(a, b, c) {
          if (b < 0) {
            throw new lm(b)
          }
          if (c < b) {
            throw new lm(c - b)
          }
          if (c > a) {
            throw new lm(c)
          }
        }
    
        function lg(a, b) {
          if (!isFinite(a) || isNaN(a)) {
            throw new pl(hs)
          }
          Hf(this, a.toPrecision(20));
          If(this, b)
        }
    
        function Gk(a, b) {
          if (isNaN(a)) {
            return isNaN(b) ? 0 : 1
          } else if (isNaN(b)) {
            return -1
          }
          return a < b ? -1 : a > b ? 1 : 0
        }
    
        function uk(a, b) {
          if (b < 2 || b > 36) {
            return 0
          }
          if (a < 0 || a >= b) {
            return 0
          }
          return a < 10 ? 48 + a & 65535 : 97 + a - 10 & 65535
        }
    
        function er(a, b) {
          var c;
          if (!b) {
            return null
          }
          c = b[Ls];
          if (c) {
            return c
          }
          c = ir(b, dr(a, b.gC()));
          b[Ls] = c;
          return c
        }
    
        function ke(a) {
          var b, c;
          c = $k(a.h);
          if (c == 32) {
            b = $k(a.m);
            return b == 32 ? $k(a.l) + 32 : b + 20 - 10
          } else {
            return c - 12
          }
        }
    
        function be(a) {
          var b, c, d;
          b = a & 4194303;
          c = ~~a >> 22 & 4194303;
          d = a < 0 ? 1048575 : 0;
          return de(b, c, d)
        }
    
        function Qe() {
          Qe = rr;
          Me = de(4194303, 4194303, 524287);
          Ne = de(0, 0, 524288);
          Oe = ue(1);
          ue(2);
          Pe = ue(0)
        }
    
        function mn(a, b) {
          hn(a.b, a.b, a.e, b.b, b.e);
          a.e = hl(gl(a.e, b.e) + 1, a.b.length);
          Sh(a);
          a.c = -2
        }
    
        function um(a, b) {
          var c;
          c = ~~b >> 5;
          a.e += c + ($k(a.b[a.e - 1]) - (b & 31) >= 0 ? 0 : 1);
          xm(a.b, a.b, c, b & 31);
          Sh(a);
          a.c = -2
        }
    
        function Tm(a, b) {
          var c, d;
          c = ~~b >> 5;
          if (a.e < c || a.ab() <= b) {
            return
          }
          d = 32 - (b & 31);
          a.e = c + 1;
          a.b[c] &= d < 32 ? ~~-1 >>> d : 0;
          Sh(a)
        }
    
        function ai(a) {
          var b;
          b = a.e > 1 ? De(Ee(ue(a.b[1]), 32), qe(ue(a.b[0]), yr)) : qe(ue(a.b[0]), yr);
          return Ae(ue(a.f), b)
        }
    
        function jn(a, b, c) {
          var d;
          for (d = c - 1; d >= 0 && a[d] == b[d]; --d) {}
          return d < 0 ? 0 : xe(qe(ue(a[d]), yr), qe(ue(b[d]), yr)) ? -1 : 1
        }
    
        function ym(a, b, c) {
          var d, e, f;
          d = 0;
          for (e = 0; e < c; ++e) {
            f = b[e];
            a[e] = f << 1 | d;
            d = ~~f >>> 31
          }
          d != 0 && (a[c] = d)
        }
    
        function ge(a, b, c, d, e) {
          var f;
          f = Fe(a, b);
          c && je(f);
          if (e) {
            a = ie(a, b);
            d ? (ae = Be(a)) : (ae = de(a.l, a.m, a.h))
          }
          return f
        }
    
        function gwtOnLoad(b, c, d, e) {
          $moduleName = c;
          $moduleBase = d;
          if (b) try {
            Jr($d)()
          } catch (a) {
            b(c)
          } else {
            Jr($d)()
          }
        }
    
        function fr(a, b) {
          var c, d, e;
          if (b == null) {
            return null
          }
          d = cr(b);
          e = d;
          for (c = 0; c < b.length; ++c) {
            e[c] = er(a, b[c])
          }
          return d
        }
    
        function Mb(a, b) {
          var c, d, e;
          e = b && b.stack ? b.stack.split('\n') : [];
          for (c = 0, d = e.length; c < d; ++c) {
            e[c] = a.n(e[c])
          }
          return e
        }
    
        function Um(a, b) {
          var c, d;
          d = ~~b >> 5 == a.e - 1 && a.b[a.e - 1] == 1 << (b & 31);
          if (d) {
            for (c = 0; d && c < a.e - 1; ++c) {
              d = a.b[c] == 0
            }
          }
          return d
        }
    
        function _h(a) {
          var b;
          if (a.d != 0) {
            return a.d
          }
          for (b = 0; b < a.b.length; ++b) {
            a.d = a.d * 33 + (a.b[b] & -1)
          }
          a.d = a.d * a.f;
          return a.d
        }
    
        function Hg(a, b) {
          if (b == 0) {
            return Gg(a)
          }
          if (se(a, ur) && b >= 0 && b < pf.length) {
            return pf[b]
          }
          return new qg(a, b)
        }
    
        function Ig(a) {
          if (a == Bc(a)) {
            return Hg(ur, Bc(a))
          }
          if (a >= 0) {
            return new qg(ur, 2147483647)
          }
          return new qg(ur, -2147483648)
        }
    
        function Li(a) {
          Oh();
          if (a < 0) {
            if (a != -1) {
              return new ui(-1, -a)
            }
            return Ih
          } else return a <= 10 ? Kh[Bc(a)] : new ui(1, a)
        }
    
        function zg(a) {
          var b = qf;
          !b && (b = qf = /^[+-]?\d*$/i);
          if (b.test(a)) {
            return parseInt(a, 10)
          } else {
            return Number.NaN
          }
        }
    
        function kp(e, a) {
          var b = e.f;
          for (var c in b) {
            if (c.charCodeAt(0) == 58) {
              var d = new Yp(e, c.substring(1));
              a.Kb(d)
            }
          }
        }
    
        function Rl(a) {
          Pl();
          var b = Qr + a;
          var c = Ol[b];
          if (c != null) {
            return c
          }
          c = Ml[b];
          c == null && (c = Ql(a));
          Sl();
          return Ol[b] = c
        }
    
        function Be(a) {
          var b, c, d;
          b = ~a.l + 1 & 4194303;
          c = ~a.m + (b == 0 ? 1 : 0) & 4194303;
          d = ~a.h + (b == 0 && c == 0 ? 1 : 0) & 1048575;
          return de(b, c, d)
        }
    
        function je(a) {
          var b, c, d;
          b = ~a.l + 1 & 4194303;
          c = ~a.m + (b == 0 ? 1 : 0) & 4194303;
          d = ~a.h + (b == 0 && c == 0 ? 1 : 0) & 1048575;
          a.l = b;
          a.m = c;
          a.h = d
        }
    
        function Q(a) {
          var b, c, d;
          c = lc(Ud, {
            6: 1
          }, 13, a.length, 0);
          for (d = 0, b = a.length; d < b; ++d) {
            if (!a[d]) {
              throw new jl
            }
            c[d] = a[d]
          }
        }
    
        function Cb() {
          var a, b, c, d;
          c = Rb(new Tb);
          d = lc(Ud, {
            6: 1
          }, 13, c.length, 0);
          for (a = 0, b = d.length; a < b; ++a) {
            d[a] = new sl(c[a])
          }
          Q(d)
        }
    
        function fk() {
          var a, b, c;
          c = (Qo(), Qo(), zo);
          b = lc(Sd, {
            6: 1
          }, 5, c.length, 0);
          for (a = 0; a < c.length; ++a) b[a] = new bk(c[a]);
          return b
        }
    
        function ki(a) {
          var b, c, d, e;
          return a.f == 0 ? a : (e = a.e, c = e + 1, b = lc(Od, {
            6: 1
          }, -1, c, 1), ym(b, a.b, e), d = new si(a.f, c, b), Sh(d), d)
        }
    
        function Ym(a, b, c, d) {
          var e, f;
          e = c.e;
          f = lc(Od, {
            6: 1
          }, -1, (e << 1) + 1, 1);
          io(a.b, hl(e, a.e), b.b, hl(e, b.e), f);
          Zm(f, c, d);
          return Pm(f, c)
        }
    
        function Vh(a, b) {
          var c;
          if (a === b) {
            return true
          }
          if (xc(b, 17)) {
            c = vc(b, 17);
            return a.f == c.f && a.e == c.e && Wh(a, c.b)
          }
          return false
        }
    
        function Zk(a) {
          var b;
          if (a < 0) {
            return -2147483648
          } else if (a == 0) {
            return 0
          } else {
            for (b = 1073741824;
              (b & a) == 0; b >>= 1) {}
            return b
          }
        }
    
        function sm(a) {
          var b, c, d;
          if (a.f == 0) {
            return 0
          }
          b = a.e << 5;
          c = a.b[a.e - 1];
          if (a.f < 0) {
            d = Zh(a);
            d == a.e - 1 && (c = ~~ (c - 1))
          }
          b -= $k(c);
          return b
        }
    
        function io(a, b, c, d, e) {
          go();
          if (b == 0 || d == 0) {
            return
          }
          b == 1 ? (e[d] = ko(e, c, d, a[0])) : d == 1 ? (e[b] = ko(e, a, b, c[0])) : jo(a, c, e, b, d)
        }
    
        function en(a, b, c, d, e) {
          var f, g;
          g = a;
          for (f = c.ab() - 1; f >= 0; --f) {
            g = Ym(g, g, d, e);
            (c.b[~~f >> 5] & 1 << (f & 31)) != 0 && (g = Ym(g, b, d, e))
          }
          return g
        }
    
        function on(a, b, c) {
          var d, e;
          d = qe(ue(c), yr);
          for (e = 0; Ce(d, ur) && e < b; ++e) {
            d = pe(d, qe(ue(a[e]), yr));
            a[e] = Je(d);
            d = Fe(d, 32)
          }
          return Je(d)
        }
    
        function hg(b, c, d) {
          var a, e;
          try {
            Hf(this, Ll(b, c, d))
          } catch (a) {
            a = _d(a);
            if (xc(a, 14)) {
              e = a;
              throw new pl(e.f)
            } else throw a
          }
        }
    
        function Dg(a) {
          if (a < -2147483648) {
            throw new nk('Overflow')
          } else if (a > 2147483647) {
            throw new nk('Underflow')
          } else {
            return Bc(a)
          }
        }
    
        function Xn(a, b) {
          Un();
          if (a < 0) {
            throw new Sk('Digits < 0')
          }
          if (!b) {
            throw new kl('null RoundingMode')
          }
          this.b = a;
          this.c = b
        }
    
        function Ki(a) {
          Oh();
          if (xe(a, ur)) {
            if (Ce(a, wr)) {
              return new ti(-1, Be(a))
            }
            return Ih
          } else return ye(a, tr) ? Kh[Je(a)] : new ti(1, a)
        }
    
        function tg(a) {
          var b;
          xe(a, ur) && (a = de(~a.l & 4194303, ~a.m & 4194303, ~a.h & 1048575));
          return 64 - (b = Je(Fe(a, 32)), b != 0 ? $k(b) : $k(Je(a)) + 32)
        }
    
        function pe(a, b) {
          var c, d, e;
          c = a.l + b.l;
          d = a.m + b.m + (~~c >> 22);
          e = a.h + b.h + (~~d >> 22);
          return de(c & 4194303, d & 4194303, e & 1048575)
        }
    
        function He(a, b) {
          var c, d, e;
          c = a.l - b.l;
          d = a.m - b.m + (~~c >> 22);
          e = a.h - b.h + (~~d >> 22);
          return de(c & 4194303, d & 4194303, e & 1048575)
        }
    
        function Sm(a, b) {
          var c;
          c = b - 1;
          if (a.f > 0) {
            while (!a.gb(c)) {
              --c
            }
            return b - 1 - c
          } else {
            while (a.gb(c)) {
              --c
            }
            return b - 1 - gl(c, a.bb())
          }
        }
    
        function fe(a, b) {
          if (a.h == 524288 && a.m == 0 && a.l == 0) {
            b && (ae = de(0, 0, 0));
            return ce((Qe(), Oe))
          }
          b && (ae = de(a.l, a.m, a.h));
          return de(0, 0, 0)
        }
    
        function Ff(a, b) {
          var c;
          if (a === b) {
            return true
          }
          if (xc(b, 16)) {
            c = vc(b, 16);
            return c.f == a.f && (a.b < 54 ? c.g == a.g : a.d.eQ(c.d))
          }
          return false
        }
    
        function cn(a, b, c) {
          var d, e, f, g;
          f = ur;
          for (d = b - 1; d >= 0; --d) {
            g = pe(Ee(f, 32), qe(ue(a[d]), yr));
            e = Nm(g, c);
            f = ue(Je(Fe(e, 32)))
          }
          return Je(f)
        }
    
        function wm(a, b) {
          var c, d, e, f;
          c = ~~b >> 5;
          b &= 31;
          e = a.e + c + (b == 0 ? 0 : 1);
          d = lc(Od, {
            6: 1
          }, -1, e, 1);
          xm(d, a.b, c, b);
          f = new si(a.f, e, d);
          Sh(f);
          return f
        }
    
        function ue(a) {
          var b, c;
          if (a > -129 && a < 128) {
            b = a + 128;
            oe == null && (oe = lc(Pd, {
              6: 1
            }, 2, 256, 0));
            c = oe[b];
            !c && (c = oe[b] = be(a));
            return c
          }
          return be(a)
        }
    
        function Ai(a) {
          Oh();
          var b, c, d;
          if (a < Mh.length) {
            return Mh[a]
          }
          c = ~~a >> 5;
          b = a & 31;
          d = lc(Od, {
            6: 1
          }, -1, c + 1, 1);
          d[c] = 1 << b;
          return new si(1, c + 1, d)
        }
    
        function ri(a) {
          Oh();
          if (a.length == 0) {
            this.f = 0;
            this.e = 1;
            this.b = mc(Od, {
              6: 1
            }, -1, [0])
          } else {
            this.f = 1;
            this.e = a.length;
            this.b = a;
            Sh(this)
          }
        }
    
        function Dl(c) {
          if (c.length == 0 || c[0] > ys && c[c.length - 1] > ys) {
            return c
          }
          var a = c.replace(/^(\s*)/, Lr);
          var b = a.replace(/\s*$/, Lr);
          return b
        }
    
        function Yk(a) {
          a -= ~~a >> 1 & 1431655765;
          a = (~~a >> 2 & 858993459) + (a & 858993459);
          a = (~~a >> 4) + a & 252645135;
          a += ~~a >> 8;
          a += ~~a >> 16;
          return a & 63
        }
    
        function nc(a, b, c) {
          if (c != null) {
            if (a.qI > 0 && !uc(c, a.qI)) {
              throw new qk
            }
            if (a.qI < 0 && (c.tM == rr || tc(c, 1))) {
              throw new qk
            }
          }
          return a[b] = c
        }
    
        function Qh(a, b) {
          if (a.f > b.f) {
            return 1
          }
          if (a.f < b.f) {
            return -1
          }
          if (a.e > b.e) {
            return a.f
          }
          if (a.e < b.e) {
            return -b.f
          }
          return a.f * jn(a.b, b.b, a.e)
        }
    
        function Rf(a, b) {
          var c;
          c = a.f - b;
          if (a.b < 54) {
            if (a.g == 0) {
              return Ig(c)
            }
            return new pg(a.g, Dg(c))
          }
          return new dg((!a.d && (a.d = Li(a.g)), a.d), Dg(c))
        }
    
        function jp(i, a) {
          var b = i.b;
          for (var c in b) {
            var d = parseInt(c, 10);
            if (c == d) {
              var e = b[d];
              for (var f = 0, g = e.length; f < g; ++f) {
                a.Kb(e[f])
              }
            }
          }
        }
    
        function np(i, a, b) {
          var c = i.b[b];
          if (c) {
            for (var d = 0, e = c.length; d < e; ++d) {
              var f = c[d];
              var g = f.Rb();
              if (i.Ob(a, g)) {
                return f.Sb()
              }
            }
          }
          return null
        }
    
        function pp(i, a, b) {
          var c = i.b[b];
          if (c) {
            for (var d = 0, e = c.length; d < e; ++d) {
              var f = c[d];
              var g = f.Rb();
              if (i.Ob(a, g)) {
                return true
              }
            }
          }
          return false
        }
    
        function Bq(a, b) {
          var c, d, e, f;
          d = 0;
          c = a.length - 1;
          while (d <= c) {
            e = d + (~~(c - d) >> 1);
            f = a[e];
            if (f < b) {
              d = e + 1
            } else if (f > b) {
              c = e - 1
            } else {
              return e
            }
          }
          return -d - 1
        }
    
        function Pk(a) {
          var b;
          b = _e(a);
          if (b > 3.4028234663852886E38) {
            return Infinity
          } else if (b < -3.4028234663852886E38) {
            return -Infinity
          }
          return b
        }
    
        function Ie(a) {
          if (se(a, (Qe(), Ne))) {
            return -9223372036854775808
          }
          if (!we(a, Pe)) {
            return -me(Be(a))
          }
          return a.l + a.m * 4194304 + a.h * 17592186044416
        }
    
        function Bb(a, b) {
          var c, d, e, f;
          e = Sb(a, yc(b.c) ? wc(b.c) : null);
          f = lc(Ud, {
            6: 1
          }, 13, e.length, 0);
          for (c = 0, d = f.length; c < d; ++c) {
            f[c] = new sl(e[c])
          }
          Q(f)
        }
    
        function yb(a) {
          var b, c, d;
          d = Lr;
          a = Dl(a);
          b = a.indexOf(Or);
          if (b != -1) {
            c = a.indexOf('function') == 0 ? 8 : 0;
            d = Dl(a.substr(c, b - c))
          }
          return d.length > 0 ? d : Pr
        }
    
        function ie(a, b) {
          var c, d, e;
          if (b <= 22) {
            c = a.l & (1 << b) - 1;
            d = e = 0
          } else if (b <= 44) {
            c = a.l;
            d = a.m & (1 << b - 22) - 1;
            e = 0
          } else {
            c = a.l;
            d = a.m;
            e = a.h & (1 << b - 44) - 1
          }
          return de(c, d, e)
        }
    
        function Db(b) {
          var c = Lr;
          try {
            for (var d in b) {
              if (d != 'name' && d != 'message' && d != 'toString') {
                try {
                  c += '\n ' + d + Kr + b[d]
                } catch (a) {}
              }
            }
          } catch (a) {}
          return c
        }
    
        function ti(a, b) {
          this.f = a;
          if (se(qe(b, zr), ur)) {
            this.e = 1;
            this.b = mc(Od, {
              6: 1
            }, -1, [Je(b)])
          } else {
            this.e = 2;
            this.b = mc(Od, {
              6: 1
            }, -1, [Je(b), Je(Fe(b, 32))])
          }
        }
    
        function ui(a, b) {
          this.f = a;
          if (b < 4294967296) {
            this.e = 1;
            this.b = mc(Od, {
              6: 1
            }, -1, [~~b])
          } else {
            this.e = 2;
            this.b = mc(Od, {
              6: 1
            }, -1, [~~(b % 4294967296), ~~ (b / 4294967296)])
          }
        }
    
        function Xm(a, b) {
          var c, d;
          d = new ri(lc(Od, {
            6: 1
          }, -1, 1 << b, 1));
          d.e = 1;
          d.b[0] = 1;
          d.f = 1;
          for (c = 1; c < b; ++c) {
            Bm(ei(a, d), c) && (d.b[~~c >> 5] |= 1 << (c & 31))
          }
          return d
        }
    
        function Jm(a) {
          var b, c, d;
          b = qe(ue(a.b[0]), yr);
          c = sr;
          d = vr;
          do {
            Ce(qe(Ae(b, c), d), ur) && (c = De(c, d));
            d = Ee(d, 1)
          } while (xe(d, Fr));
          c = Be(c);
          return Je(qe(c, yr))
        }
    
        function Gm(a) {
          var b, c, d;
          if (we(a, ur)) {
            c = re(a, Ar);
            d = ze(a, Ar)
          } else {
            b = Ge(a, 1);
            c = re(b, Br);
            d = ze(b, Br);
            d = pe(Ee(d, 1), qe(a, sr))
          }
          return De(Ee(d, 32), qe(c, yr))
        }
    
        function ko(a, b, c, d) {
          go();
          var e, f;
          e = ur;
          for (f = 0; f < c; ++f) {
            e = pe(Ae(qe(ue(b[f]), yr), qe(ue(d), yr)), qe(ue(Je(e)), yr));
            a[f] = Je(e);
            e = Ge(e, 32)
          }
          return Je(e)
        }
    
        function _m(a, b, c) {
          var d, e, f, g, i;
          e = c.e << 5;
          d = bi(a.eb(e), c);
          i = bi(Ai(e), c);
          f = Jm(c);
          c.e == 1 ? (g = en(i, d, b, c, f)) : (g = dn(i, d, b, c, f));
          return Ym(g, (Oh(), Jh), c, f)
        }
    
        function Om(a, b, c) {
          var d, e, f, g, i, j;
          d = c.bb();
          e = c.fb(d);
          g = _m(a, b, e);
          i = an(a, b, d);
          f = Xm(e, d);
          j = ei(rn(i, g), f);
          Tm(j, d);
          j.f < 0 && (j = fn(j, Ai(d)));
          return fn(g, ei(e, j))
        }
    
        function xb(b, c) {
          var a, d, e, f;
          for (d = 0, e = b.length; d < e; ++d) {
            f = b[d];
            try {
              f[1] ? f[0].Ub() && (c = wb(c, f)) : f[0].Ub()
            } catch (a) {
              a = _d(a);
              if (!xc(a, 12)) throw a
            }
          }
          return c
        }
    
        function bf(a) {
          var b = $e;
          !b && (b = $e = /^\s*[+-]?((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?\s*$/i);
          if (b.test(a)) {
            return parseFloat(a)
          } else {
            return Number.NaN
          }
        }
    
        function pi(a, b) {
          if (a == null) {
            throw new jl
          }
          if (b < 2 || b > 36) {
            throw new pl('Radix out of range')
          }
          if (a.length == 0) {
            throw new pl('Zero length BigInteger')
          }
          Ei(this, a, b)
        }
    
        function Vq() {
          Uq();
          var a, b, c;
          c = Tq+++(new Date).getTime();
          a = Bc(Math.floor(c * 5.9604644775390625E-8)) & 16777215;
          b = Bc(c - a * 16777216);
          this.b = a ^ 1502;
          this.c = b ^ 15525485
        }
    
        function un(a, b, c, d) {
          var e;
          if (c > d) {
            return 1
          } else if (c < d) {
            return -1
          } else {
            for (e = c - 1; e >= 0 && a[e] == b[e]; --e) {}
            return e < 0 ? 0 : xe(qe(ue(a[e]), yr), qe(ue(b[e]), yr)) ? -1 : 1
          }
        }
    
        function In(a, b) {
          var c, d, e, f;
          e = a.e;
          d = lc(Od, {
            6: 1
          }, -1, e, 1);
          hl(Zh(a), Zh(b));
          for (c = 0; c < b.e; ++c) {
            d[c] = a.b[c] | b.b[c]
          }
          for (; c < e; ++c) {
            d[c] = a.b[c]
          }
          f = new si(1, e, d);
          return f
        }
    
        function Mn(a, b) {
          var c, d, e, f;
          e = a.e;
          d = lc(Od, {
            6: 1
          }, -1, e, 1);
          c = hl(Zh(a), Zh(b));
          for (; c < b.e; ++c) {
            d[c] = a.b[c] ^ b.b[c]
          }
          for (; c < a.e; ++c) {
            d[c] = a.b[c]
          }
          f = new si(1, e, d);
          Sh(f);
          return f
        }
    
        function Bn(a, b) {
          var c, d, e, f;
          e = lc(Od, {
            6: 1
          }, -1, a.e, 1);
          d = hl(a.e, b.e);
          for (c = Zh(a); c < d; ++c) {
            e[c] = a.b[c] & ~b.b[c]
          }
          for (; c < a.e; ++c) {
            e[c] = a.b[c]
          }
          f = new si(1, a.e, e);
          Sh(f);
          return f
        }
    
        function Dn(a, b) {
          var c, d, e, f;
          e = hl(a.e, b.e);
          c = gl(Zh(a), Zh(b));
          if (c >= e) {
            return Oh(), Nh
          }
          d = lc(Od, {
            6: 1
          }, -1, e, 1);
          for (; c < e; ++c) {
            d[c] = a.b[c] & b.b[c]
          }
          f = new si(1, e, d);
          Sh(f);
          return f
        }
    
        function Nf(a, b) {
          var c;
          if (b == 0) {
            return lf
          }
          if (b < 0 || b > 999999999) {
            throw new nk(bs)
          }
          c = a.f * b;
          return a.b == 0 && a.g != -1 ? Ig(c) : new dg((!a.d && (a.d = Li(a.g)), a.d).db(b), Dg(c))
        }
    
        function tk(a, b) {
          if (b < 2 || b > 36) {
            return -1
          }
          if (a >= 48 && a < 48 + (b < 10 ? b : 10)) {
            return a - 48
          }
          if (a >= 97 && a < b + 97 - 10) {
            return a - 97 + 10
          }
          if (a >= 65 && a < b + 65 - 10) {
            return a - 65 + 10
          }
          return -1
        }
    
        function Uq() {
          Uq = rr;
          var a, b, c;
          Rq = lc(Nd, {
            6: 1
          }, -1, 25, 1);
          Sq = lc(Nd, {
            6: 1
          }, -1, 33, 1);
          c = 1.52587890625E-5;
          for (a = 32; a >= 0; --a) {
            Sq[a] = c;
            c *= 0.5
          }
          b = 1;
          for (a = 24; a >= 0; --a) {
            Rq[a] = b;
            b *= 0.5
          }
        }
    
        function oo(a, b) {
          go();
          var c, d;
          d = (Oh(), Jh);
          c = a;
          for (; b > 1; b >>= 1) {
            (b & 1) != 0 && (d = ei(d, c));
            c.e == 1 ? (c = ei(c, c)) : (c = new ri(qo(c.b, c.e, lc(Od, {
              6: 1
            }, -1, c.e << 1, 1))))
          }
          d = ei(d, c);
          return d
        }
    
        function nl() {
          nl = rr;
          ml = mc(Md, {
            6: 1
          }, -1, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122])
        }
    
        function rm(a) {
          var b, c;
          b = 0;
          if (a.f == 0) {
            return 0
          }
          c = Zh(a);
          if (a.f > 0) {
            for (; c < a.e; ++c) {
              b += Yk(a.b[c])
            }
          } else {
            b += Yk(-a.b[c]);
            for (++c; c < a.e; ++c) {
              b += Yk(~a.b[c])
            }
            b = (a.e << 5) - b
          }
          return b
        }
    
        function ne(a, b) {
          var c, d, e;
          e = a.h - b.h;
          if (e < 0) {
            return false
          }
          c = a.l - b.l;
          d = a.m - b.m + (~~c >> 22);
          e += ~~d >> 22;
          if (e < 0) {
            return false
          }
          a.l = c & 4194303;
          a.m = d & 4194303;
          a.h = e & 1048575;
          return true
        }
    
        function al(a) {
          var b, c, d;
          b = lc(Md, {
            6: 1
          }, -1, 8, 1);
          c = (nl(), ml);
          d = 7;
          if (a >= 0) {
            while (a > 15) {
              b[d--] = c[a & 15];
              a >>= 4
            }
          } else {
            while (d > 0) {
              b[d--] = c[a & 15];
              a >>= 4
            }
          }
          b[d] = c[a & 15];
          return Gl(b, d, 8)
        }
    
        function vn(a, b) {
          if (b.f == 0 || a.f == 0) {
            return Oh(), Nh
          }
          if (Vh(b, (Oh(), Ih))) {
            return a
          }
          if (Vh(a, Ih)) {
            return b
          }
          return a.f > 0 ? b.f > 0 ? Dn(a, b) : wn(a, b) : b.f > 0 ? wn(b, a) : a.e > b.e ? xn(a, b) : xn(b, a)
        }
    
        function yn(a, b) {
          if (b.f == 0) {
            return a
          }
          if (a.f == 0) {
            return Oh(), Nh
          }
          if (Vh(a, (Oh(), Ih))) {
            return new Pi(En(b))
          }
          if (Vh(b, Ih)) {
            return Nh
          }
          return a.f > 0 ? b.f > 0 ? Bn(a, b) : Cn(a, b) : b.f > 0 ? An(a, b) : zn(a, b)
        }
    
        function Gf(a) {
          var b;
          if (a.c != 0) {
            return a.c
          }
          if (a.b < 54) {
            b = te(a.g);
            a.c = Je(qe(b, wr));
            a.c = 33 * a.c + Je(qe(Fe(b, 32), wr));
            a.c = 17 * a.c + Bc(a.f);
            return a.c
          }
          a.c = 17 * a.d.hC() + Bc(a.f);
          return a.c
        }
    
        function vg(a, b, c, d) {
          var e, f, g, i, j;
          f = (j = a / b, j > 0 ? Math.floor(j) : Math.ceil(j));
          g = a % b;
          i = Gk(a * b, 0);
          if (g != 0) {
            e = Gk((g <= 0 ? 0 - g : g) * 2, b <= 0 ? 0 - b : b);
            f += Bg(Bc(f) & 1, i * (5 + e), d)
          }
          return new pg(f, c)
        }
    
        function jc(a, b) {
          var c = new Array(b);
          if (a == 3) {
            for (var d = 0; d < b; ++d) {
              var e = new Object;
              e.l = e.m = e.h = 0;
              c[d] = e
            }
          } else if (a > 0) {
            var e = [null, 0, false][a];
            for (var d = 0; d < b; ++d) {
              c[d] = e
            }
          }
          return c
        }
    
        function tn(a, b, c, d, e) {
          var f, g;
          f = ur;
          for (g = 0; g < e; ++g) {
            f = pe(f, He(qe(ue(b[g]), yr), qe(ue(d[g]), yr)));
            a[g] = Je(f);
            f = Fe(f, 32)
          }
          for (; g < c; ++g) {
            f = pe(f, qe(ue(b[g]), yr));
            a[g] = Je(f);
            f = Fe(f, 32)
          }
        }
    
        function xm(a, b, c, d) {
          var e, f;
          if (d == 0) {
            nm(b, 0, a, c, a.length - c)
          } else {
            f = 32 - d;
            a[a.length - 1] = 0;
            for (e = a.length - 1; e > c; --e) {
              a[e] |= ~~b[e - c - 1] >>> f;
              a[e - 1] = b[e - c - 1] << d
            }
          }
          for (e = 0; e < c; ++e) {
            a[e] = 0
          }
        }
    
        function rg(a, b, c) {
          if (c < hf.length && gl(a.b, b.b + jf[Bc(c)]) + 1 < 54) {
            return new pg(a.g + b.g * hf[Bc(c)], a.f)
          }
          return new og(fn((!a.d && (a.d = Li(a.g)), a.d), mo((!b.d && (b.d = Li(b.g)), b.d), Bc(c))), a.f)
        }
    
        function Ue(a) {
          return $stats({
            moduleName: $moduleName,
            sessionId: $sessionId,
            subSystem: 'startup',
            evtGroup: 'moduleStartup',
            millis: (new Date).getTime(),
            type: 'onModuleLoadStart',
            className: a
          })
        }
    
        function vm(a, b) {
          var c, d, e;
          e = a.r();
          if (b == 0 || a.r() == 0) {
            return
          }
          d = ~~b >> 5;
          a.e -= d;
          if (!Am(a.b, a.e, a.b, d, b & 31) && e < 0) {
            for (c = 0; c < a.e && a.b[c] == -1; ++c) {
              a.b[c] = 0
            }
            c == a.e && ++a.e;
            ++a.b[c]
          }
          Sh(a);
          a.c = -2
        }
    
        function ve(a, b) {
          var c, d;
          c = ~~a.h >> 19;
          d = ~~b.h >> 19;
          return c == 0 ? d != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l > b.l : !(d == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l <= b.l)
        }
    
        function we(a, b) {
          var c, d;
          c = ~~a.h >> 19;
          d = ~~b.h >> 19;
          return c == 0 ? d != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l >= b.l : !(d == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l < b.l)
        }
    
        function Rm(a, b) {
          var c, d, e;
          c = bl(a);
          d = bl(b);
          e = c < d ? c : d;
          c != 0 && (a = Ge(a, c));
          d != 0 && (b = Ge(b, d));
          do {
            if (we(a, b)) {
              a = He(a, b);
              a = Ge(a, bl(a))
            } else {
              b = He(b, a);
              b = Ge(b, bl(b))
            }
          } while (Ce(a, ur));
          return Ee(b, e)
        }
    
        function Fn(a, b) {
          if (Vh(b, (Oh(), Ih)) || Vh(a, Ih)) {
            return Ih
          }
          if (b.f == 0) {
            return a
          }
          if (a.f == 0) {
            return b
          }
          return a.f > 0 ? b.f > 0 ? a.e > b.e ? In(a, b) : In(b, a) : Gn(a, b) : b.f > 0 ? Gn(b, a) : Zh(b) > Zh(a) ? Hn(b, a) : Hn(a, b)
        }
    
        function sg(a) {
          var b, c;
          if (a > -140737488355328 && a < 140737488355328) {
            if (a == 0) {
              return 0
            }
            b = a < 0;
            b && (a = -a);
            c = Bc(el(Math.log(a) / 0.6931471805599453));
            (!b || a != Math.pow(2, c)) && ++c;
            return c
          }
          return tg(te(a))
        }
    
        function Yh(a, b) {
          var c, d;
          c = a._();
          d = b._();
          if (c.r() == 0) {
            return d
          } else if (d.r() == 0) {
            return c
          }
          if ((c.e == 1 || c.e == 2 && c.b[1] > 0) && (d.e == 1 || d.e == 2 && d.b[1] > 0)) {
            return Ki(Rm(ai(c), ai(d)))
          }
          return Qm(Rh(c), Rh(d))
        }
    
        function ci(a, b) {
          var c;
          if (b.f <= 0) {
            throw new nk(us)
          }
          if (!(a.gb(0) || b.gb(0))) {
            throw new nk(vs)
          }
          if (b.e == 1 && b.b[0] == 1) {
            return Nh
          }
          c = Wm(bi(a._(), b), b);
          if (c.f == 0) {
            throw new nk(vs)
          }
          c = a.f < 0 ? rn(b, c) : c;
          return c
        }
    
        function Am(a, b, c, d, e) {
          var f, g, i;
          f = true;
          for (g = 0; g < d; ++g) {
            f = f & c[g] == 0
          }
          if (e == 0) {
            nm(c, d, a, 0, b)
          } else {
            i = 32 - e;
            f = f & c[g] << i == 0;
            for (g = 0; g < b - 1; ++g) {
              a[g] = ~~c[g + d] >>> e | c[g + d + 1] << i
            }
            a[g] = ~~c[g + d] >>> e;
            ++g
          }
          return f
        }
    
        function Ql(a) {
          var b, c, d, e;
          b = 0;
          d = a.length;
          e = d - 4;
          c = 0;
          while (c < e) {
            b = a.charCodeAt(c + 3) + 31 * (a.charCodeAt(c + 2) + 31 * (a.charCodeAt(c + 1) + 31 * (a.charCodeAt(c) + 31 * b))) | 0;
            c += 4
          }
          while (c < d) {
            b = b * 31 + vl(a, c++)
          }
          return b | 0
        }
    
        function Pm(a, b) {
          var c, d, e, f, g;
          f = b.e;
          c = a[f] != 0;
          if (!c) {
            e = b.b;
            c = true;
            for (d = f - 1; d >= 0; --d) {
              if (a[d] != e[d]) {
                c = a[d] != 0 && ve(qe(ue(a[d]), yr), qe(ue(e[d]), yr));
                break
              }
            }
          }
          g = new si(1, f + 1, a);
          c && pn(g, b);
          Sh(g);
          return g
        }
    
        function Kf(a, b) {
          var c;
          c = a.f + b.f;
          if (a.b == 0 && a.g != -1 || b.b == 0 && b.g != -1) {
            return Ig(c)
          }
          if (a.b + b.b < 54) {
            return new pg(a.g * b.g, Dg(c))
          }
          return new dg(ei((!a.d && (a.d = Li(a.g)), a.d), (!b.d && (b.d = Li(b.g)), b.d)), Dg(c))
        }
    
        function sp(k, a, b, c) {
          var d = k.b[c];
          if (d) {
            for (var e = 0, f = d.length; e < f; ++e) {
              var g = d[e];
              var i = g.Rb();
              if (k.Ob(a, i)) {
                var j = g.Sb();
                g.Tb(b);
                return j
              }
            }
          } else {
            d = k.b[c] = []
          }
          var g = new Iq(a, b);
          d.push(g);
          ++k.e;
          return null
        }
    
        function an(a, b, c) {
          var d, e, f, g, i;
          g = (Oh(), Jh);
          e = Rh(b);
          d = Rh(a);
          a.gb(0) && Tm(e, c - 1);
          Tm(d, c);
          for (f = e.ab() - 1; f >= 0; --f) {
            i = Rh(g);
            Tm(i, c);
            g = ei(g, i);
            if ((e.b[~~f >> 5] & 1 << (f & 31)) != 0) {
              g = ei(g, d);
              Tm(g, c)
            }
          }
          Tm(g, c);
          return g
        }
    
        function ar(a, b) {
          var c, d, e, f, g, i, j;
          j = zl(a, Ks, 0);
          i = $wnd;
          for (g = 0; g < j.length; ++g) {
            if (!wl(j[g], 'client')) {
              br(i, j[g]);
              i = i[j[g]]
            }
          }
          c = zl(b, Ks, 0);
          for (e = 0, f = c.length; e < f; ++e) {
            d = c[e];
            if (!wl(Dl(d), Lr)) {
              br(i, d);
              i = i[d]
            }
          }
        }
    
        function gi(a, b) {
          var c;
          if (b < 0) {
            throw new nk('Negative exponent')
          }
          if (b == 0) {
            return Jh
          } else if (b == 1 || a.eQ(Jh) || a.eQ(Nh)) {
            return a
          }
          if (!a.gb(0)) {
            c = 1;
            while (!a.gb(c)) {
              ++c
            }
            return ei(Ai(c * b), a.fb(c).db(b))
          }
          return oo(a, b)
        }
    
        function Ee(a, b) {
          var c, d, e;
          b &= 63;
          if (b < 22) {
            c = a.l << b;
            d = a.m << b | ~~a.l >> 22 - b;
            e = a.h << b | ~~a.m >> 22 - b
          } else if (b < 44) {
            c = 0;
            d = a.l << b - 22;
            e = a.m << b - 22 | ~~a.l >> 44 - b
          } else {
            c = 0;
            d = 0;
            e = a.l << b - 44
          }
          return de(c & 4194303, d & 4194303, e & 1048575)
        }
    
        function Ge(a, b) {
          var c, d, e, f;
          b &= 63;
          c = a.h & 1048575;
          if (b < 22) {
            f = ~~c >>> b;
            e = ~~a.m >> b | c << 22 - b;
            d = ~~a.l >> b | a.m << 22 - b
          } else if (b < 44) {
            f = 0;
            e = ~~c >>> b - 22;
            d = ~~a.m >> b - 22 | a.h << 44 - b
          } else {
            f = 0;
            e = 0;
            d = ~~c >>> b - 44
          }
          return de(d & 4194303, e & 4194303, f & 1048575)
        }
    
        function Uo(a) {
          Qo();
          switch (a) {
            case 2:
              return Ao;
            case 1:
              return Bo;
            case 3:
              return Co;
            case 5:
              return Do;
            case 6:
              return Eo;
            case 4:
              return Fo;
            case 7:
              return Go;
            case 0:
              return Ho;
            default:
              throw new Sk('Invalid rounding mode');
          }
        }
    
        function mi(a, b) {
          var c, d, e;
          if (b == 0) {
            return (a.b[0] & 1) != 0
          }
          if (b < 0) {
            throw new nk(ts)
          }
          e = ~~b >> 5;
          if (e >= a.e) {
            return a.f < 0
          }
          c = a.b[e];
          b = 1 << (b & 31);
          if (a.f < 0) {
            d = Zh(a);
            if (e < d) {
              return false
            } else d == e ? (c = -c) : (c = ~c)
          }
          return (c & b) != 0
        }
    
        function Pf(a) {
          var b, c;
          if (a.e > 0) {
            return a.e
          }
          b = 1;
          c = 1;
          if (a.b < 54) {
            a.b >= 1 && (c = a.g);
            b += Math.log(c <= 0 ? 0 - c : c) * Math.LOG10E
          } else {
            b += (a.b - 1) * 0.3010299956639812;
            Th((!a.d && (a.d = Li(a.g)), a.d), po(b)).r() != 0 && ++b
          }
          a.e = Bc(b);
          return a.e
        }
    
        function zh(a) {
          rf();
          var b, c;
          c = Lj(a);
          if (c == ks) b = Fg(a[0]);
          else if (c == ks) b = Gg(ue(a[0]));
          else if (c == ns) b = Hg(ue(a[0]), a[1]);
          else throw new V('Unknown call signature for bd = java.math.BigDecimal.valueOf: ' + c);
          return new Kg(b)
        }
    
        function Qi(a) {
          Oh();
          var b, c;
          c = Lj(a);
          if (c == ms) b = new oi(a[0].toString());
          else if (c == 'string number') b = new pi(a[0].toString(), a[1]);
          else throw new V('Unknown call signature for obj = new java.math.BigInteger: ' + c);
          return new Pi(b)
        }
    
        function Un() {
          Un = rr;
          On = new Xn(34, (Qo(), Eo));
          Pn = new Xn(7, Eo);
          Qn = new Xn(16, Eo);
          Rn = new Xn(0, Fo);
          Sn = mc(Md, {
            6: 1
          }, -1, [112, 114, 101, 99, 105, 115, 105, 111, 110, 61]);
          Tn = mc(Md, {
            6: 1
          }, -1, [114, 111, 117, 110, 100, 105, 110, 103, 77, 111, 100, 101, 61])
        }
    
        function Jn(a, b) {
          if (b.f == 0) {
            return a
          }
          if (a.f == 0) {
            return b
          }
          if (Vh(b, (Oh(), Ih))) {
            return new Pi(En(a))
          }
          if (Vh(a, Ih)) {
            return new Pi(En(b))
          }
          return a.f > 0 ? b.f > 0 ? a.e > b.e ? Mn(a, b) : Mn(b, a) : Kn(a, b) : b.f > 0 ? Kn(b, a) : Zh(b) > Zh(a) ? Ln(b, a) : Ln(a, b)
        }
    
        function Cn(a, b) {
          var c, d, e, f, g, i;
          d = Zh(b);
          e = Zh(a);
          if (d >= a.e) {
            return a
          }
          g = hl(a.e, b.e);
          f = lc(Od, {
            6: 1
          }, -1, g, 1);
          c = e;
          for (; c < d; ++c) {
            f[c] = a.b[c]
          }
          if (c == d) {
            f[c] = a.b[c] & b.b[c] - 1;
            ++c
          }
          for (; c < g; ++c) {
            f[c] = a.b[c] & b.b[c]
          }
          i = new si(1, g, f);
          Sh(i);
          return i
        }
    
        function Wf(a) {
          var b, c, d, e, f;
          b = 1;
          c = nf.length - 1;
          d = a.f;
          if (a.b == 0 && a.g != -1) {
            return new mg(Tr)
          }
          f = (!a.d && (a.d = Li(a.g)), a.d);
          while (!f.gb(0)) {
            e = Uh(f, nf[b]);
            if (e[1].r() == 0) {
              d -= b;
              b < c && ++b;
              f = e[0]
            } else {
              if (b == 1) {
                break
              }
              b = 1
            }
          }
          return new dg(f, Dg(d))
        }
    
        function jo(a, b, c, d, e) {
          var f, g, i, j;
          if (Ac(a) === Ac(b) && d == e) {
            qo(a, d, c);
            return
          }
          for (i = 0; i < d; ++i) {
            g = ur;
            f = a[i];
            for (j = 0; j < e; ++j) {
              g = pe(pe(Ae(qe(ue(f), yr), qe(ue(b[j]), yr)), qe(ue(c[i + j]), yr)), qe(ue(Je(g)), yr));
              c[i + j] = Je(g);
              g = Ge(g, 32)
            }
            c[i + e] = Je(g)
          }
        }
    
        function hi(a, b) {
          var c, d, e, f, g;
          if (b.f == 0) {
            throw new nk(ss)
          }
          g = a.e;
          c = b.e;
          if ((g != c ? g > c ? 1 : -1 : jn(a.b, b.b, g)) == -1) {
            return a
          }
          e = lc(Od, {
            6: 1
          }, -1, c, 1);
          if (c == 1) {
            e[0] = cn(a.b, g, b.b[0])
          } else {
            d = g - c + 1;
            e = Km(null, d, a.b, g, b.b, c)
          }
          f = new si(a.f, c, e);
          Sh(f);
          return f
        }
    
        function $k(a) {
          var b, c, d;
          if (a < 0) {
            return 0
          } else if (a == 0) {
            return 32
          } else {
            d = -(~~a >> 16);
            b = ~~d >> 16 & 16;
            c = 16 - b;
            a = ~~a >> b;
            d = a - 256;
            b = ~~d >> 16 & 8;
            c += b;
            a <<= b;
            d = a - 4096;
            b = ~~d >> 16 & 4;
            c += b;
            a <<= b;
            d = a - 16384;
            b = ~~d >> 16 & 2;
            c += b;
            a <<= b;
            d = ~~a >> 14;
            b = d & ~(~~d >> 1);
            return c + 2 - b
          }
        }
    
        function kn(a, b) {
          var c;
          if (a.f == 0) {
            nm(b.b, 0, a.b, 0, b.e)
          } else if (b.f == 0) {
            return
          } else if (a.f == b.f) {
            hn(a.b, a.b, a.e, b.b, b.e)
          } else {
            c = un(a.b, b.b, a.e, b.e);
            if (c > 0) {
              tn(a.b, a.b, a.e, b.b, b.e)
            } else {
              qn(a.b, a.b, a.e, b.b, b.e);
              a.f = -a.f
            }
          }
          a.e = gl(a.e, b.e) + 1;
          Sh(a);
          a.c = -2
        }
    
        function ln(a, b) {
          var c, d;
          c = Qh(a, b);
          if (a.f == 0) {
            nm(b.b, 0, a.b, 0, b.e);
            a.f = -b.f
          } else if (a.f != b.f) {
            hn(a.b, a.b, a.e, b.b, b.e);
            a.f = c
          } else {
            d = un(a.b, b.b, a.e, b.e);
            if (d > 0) {
              tn(a.b, a.b, a.e, b.b, b.e)
            } else {
              qn(a.b, a.b, a.e, b.b, b.e);
              a.f = -a.f
            }
          }
          a.e = gl(a.e, b.e) + 1;
          Sh(a);
          a.c = -2
        }
    
        function di(a, b, c) {
          var d, e;
          if (c.f <= 0) {
            throw new nk(us)
          }
          d = a;
          if ((c.e == 1 && c.b[0] == 1) | b.f > 0 & d.f == 0) {
            return Nh
          }
          if (d.f == 0 && b.f == 0) {
            return Jh
          }
          if (b.f < 0) {
            d = ci(a, c);
            b = b.cb()
          }
          e = c.gb(0) ? _m(d._(), b, c) : Om(d._(), b, c);
          d.f < 0 && b.gb(0) && (e = bi(ei(rn(c, Jh), e), c));
          return e
        }
    
        function $m(a, b, c, d, e) {
          var f, g, i;
          f = ur;
          g = ur;
          for (i = 0; i < d; ++i) {
            f = (go(), pe(Ae(qe(ue(c[i]), yr), qe(ue(e), yr)), qe(ue(Je(f)), yr)));
            g = pe(He(qe(ue(a[b + i]), yr), qe(f, yr)), g);
            a[b + i] = Je(g);
            g = Fe(g, 32);
            f = Ge(f, 32)
          }
          g = pe(He(qe(ue(a[b + d]), yr), f), g);
          a[b + d] = Je(g);
          return Je(Fe(g, 32))
        }
    
        function ho(a, b) {
          go();
          var c, d, e, f, g, i, j, k, n;
          if (b.e > a.e) {
            i = a;
            a = b;
            b = i
          }
          if (b.e < 63) {
            return no(a, b)
          }
          g = (a.e & -2) << 4;
          k = a.fb(g);
          n = b.fb(g);
          d = rn(a, k.eb(g));
          e = rn(b, n.eb(g));
          j = ho(k, n);
          c = ho(d, e);
          f = ho(rn(k, d), rn(e, n));
          f = fn(fn(f, j), c);
          f = f.eb(g);
          j = j.eb(g << 1);
          return fn(fn(j, f), c)
        }
    
        function le(a) {
          var b, c, d;
          c = a.l;
          if ((c & c - 1) != 0) {
            return -1
          }
          d = a.m;
          if ((d & d - 1) != 0) {
            return -1
          }
          b = a.h;
          if ((b & b - 1) != 0) {
            return -1
          }
          if (b == 0 && d == 0 && c == 0) {
            return -1
          }
          if (b == 0 && d == 0 && c != 0) {
            return _k(c)
          }
          if (b == 0 && d != 0 && c == 0) {
            return _k(d) + 22
          }
          if (b != 0 && d == 0 && c == 0) {
            return _k(b) + 44
          }
          return -1
        }
    
        function wn(a, b) {
          var c, d, e, f, g, i, j;
          e = Zh(a);
          d = Zh(b);
          if (d >= a.e) {
            return Oh(), Nh
          }
          i = a.e;
          g = lc(Od, {
            6: 1
          }, -1, i, 1);
          c = e > d ? e : d;
          if (c == d) {
            g[c] = -b.b[c] & a.b[c];
            ++c
          }
          f = hl(b.e, a.e);
          for (; c < f; ++c) {
            g[c] = ~b.b[c] & a.b[c]
          }
          if (c >= b.e) {
            for (; c < a.e; ++c) {
              g[c] = a.b[c]
            }
          }
          j = new si(1, i, g);
          Sh(j);
          return j
        }
    
        function Jf(a, b) {
          if (a.b == 0 && a.g != -1) {
            return Ig(b > 0 ? b : 0)
          }
          if (b >= 0) {
            if (a.b < 54) {
              return new pg(a.g, Dg(b))
            }
            return new dg((!a.d && (a.d = Li(a.g)), a.d), Dg(b))
          }
          if (-b < hf.length && a.b + jf[Bc(-b)] < 54) {
            return new pg(a.g * hf[Bc(-b)], 0)
          }
          return new dg(mo((!a.d && (a.d = Li(a.g)), a.d), Bc(-b)), 0)
        }
    
        function Fe(a, b) {
          var c, d, e, f, g;
          b &= 63;
          c = a.h;
          d = (c & 524288) != 0;
          d && (c |= -1048576);
          if (b < 22) {
            g = ~~c >> b;
            f = ~~a.m >> b | c << 22 - b;
            e = ~~a.l >> b | a.m << 22 - b
          } else if (b < 44) {
            g = d ? 1048575 : 0;
            f = ~~c >> b - 22;
            e = ~~a.m >> b - 22 | c << 44 - b
          } else {
            g = d ? 1048575 : 0;
            f = d ? 4194303 : 0;
            e = ~~c >> b - 44
          }
          return de(e & 4194303, f & 4194303, g & 1048575)
        }
    
        function Oh() {
          Oh = rr;
          var a;
          Jh = new qi(1, 1);
          Lh = new qi(1, 10);
          Nh = new qi(0, 0);
          Ih = new qi(-1, 1);
          Kh = mc(Xd, {
            6: 1
          }, 17, [Nh, Jh, new qi(1, 2), new qi(1, 3), new qi(1, 4), new qi(1, 5), new qi(1, 6), new qi(1, 7), new qi(1, 8), new qi(1, 9), Lh]);
          Mh = lc(Xd, {
            6: 1
          }, 17, 32, 0);
          for (a = 0; a < Mh.length; ++a) {
            nc(Mh, a, Ki(Ee(sr, a)))
          }
        }
    
        function lo(a, b) {
          go();
          var c, d, e, f, g, i, j, k, n;
          k = a.f;
          if (k == 0) {
            return Oh(), Nh
          }
          d = a.e;
          c = a.b;
          if (d == 1) {
            e = Ae(qe(ue(c[0]), yr), qe(ue(b), yr));
            j = Je(e);
            g = Je(Ge(e, 32));
            return g == 0 ? new qi(k, j) : new si(k, 2, mc(Od, {
              6: 1
            }, -1, [j, g]))
          }
          i = d + 1;
          f = lc(Od, {
            6: 1
          }, -1, i, 1);
          f[d] = ko(f, c, d, b);
          n = new si(k, i, f);
          Sh(n);
          return n
        }
    
        function no(a, b) {
          var c, d, e, f, g, i, j, k, n, o, q;
          d = a.e;
          f = b.e;
          i = d + f;
          j = a.f != b.f ? -1 : 1;
          if (i == 2) {
            n = Ae(qe(ue(a.b[0]), yr), qe(ue(b.b[0]), yr));
            q = Je(n);
            o = Je(Ge(n, 32));
            return o == 0 ? new qi(j, q) : new si(j, 2, mc(Od, {
              6: 1
            }, -1, [q, o]))
          }
          c = a.b;
          e = b.b;
          g = lc(Od, {
            6: 1
          }, -1, i, 1);
          io(c, d, e, f, g);
          k = new si(j, i, g);
          Sh(k);
          return k
        }
    
        function Hn(a, b) {
          var c, d, e, f, g, i;
          d = Zh(b);
          e = Zh(a);
          if (e >= b.e) {
            return b
          } else if (d >= a.e) {
            return a
          }
          g = hl(a.e, b.e);
          f = lc(Od, {
            6: 1
          }, -1, g, 1);
          if (d == e) {
            f[e] = -(-a.b[e] | -b.b[e]);
            c = e
          } else {
            for (c = d; c < e; ++c) {
              f[c] = b.b[c]
            }
            f[c] = b.b[c] & a.b[c] - 1
          }
          for (++c; c < g; ++c) {
            f[c] = a.b[c] & b.b[c]
          }
          i = new si(-1, g, f);
          Sh(i);
          return i
        }
    
        function zm(a, b) {
          var c, d, e, f, g;
          d = ~~b >> 5;
          b &= 31;
          if (d >= a.e) {
            return a.f < 0 ? (Oh(), Ih) : (Oh(), Nh)
          }
          f = a.e - d;
          e = lc(Od, {
            6: 1
          }, -1, f + 1, 1);
          Am(e, f, a.b, d, b);
          if (a.f < 0) {
            for (c = 0; c < d && a.b[c] == 0; ++c) {}
            if (c < d || b > 0 && a.b[c] << 32 - b != 0) {
              for (c = 0; c < f && e[c] == -1; ++c) {
                e[c] = 0
              }
              c == f && ++f;
              ++e[c]
            }
          }
          g = new si(a.f, f, e);
          Sh(g);
          return g
        }
    
        function vo(a, b) {
          uo();
          var c, d;
          if (b <= 0 || a.e == 1 && a.b[0] == 2) {
            return true
          }
          if (!mi(a, 0)) {
            return false
          }
          if (a.e == 1 && (a.b[0] & -1024) == 0) {
            return Bq(to, a.b[0]) >= 0
          }
          for (d = 1; d < to.length; ++d) {
            if (cn(a.b, a.e, to[d]) == 0) {
              return false
            }
          }
          c = sm(a);
          for (d = 2; c < ro[d]; ++d) {}
          b = d < 1 + (~~(b - 1) >> 1) ? d : 1 + (~~(b - 1) >> 1);
          return wo(a, b)
        }
    
        function Qm(a, b) {
          var c, d, e, f;
          c = a.bb();
          d = b.bb();
          e = c < d ? c : d;
          vm(a, c);
          vm(b, d);
          if (Qh(a, b) == 1) {
            f = a;
            a = b;
            b = f
          }
          do {
            if (b.e == 1 || b.e == 2 && b.b[1] > 0) {
              b = Ki(Rm(ai(a), ai(b)));
              break
            }
            if (b.e > a.e * 1.2) {
              b = hi(b, a);
              b.r() != 0 && vm(b, b.bb())
            } else {
              do {
                pn(b, a);
                vm(b, b.bb())
              } while (Qh(b, a) >= 0)
            }
            f = b;
            b = a;
            a = f
          } while (f.f != 0);
          return b.eb(e)
        }
    
        function Sf(a, b, c) {
          var d;
          if (!c) {
            throw new jl
          }
          d = b - a.f;
          if (d == 0) {
            return a
          }
          if (d > 0) {
            if (d < hf.length && a.b + jf[Bc(d)] < 54) {
              return new pg(a.g * hf[Bc(d)], b)
            }
            return new dg(mo((!a.d && (a.d = Li(a.g)), a.d), Bc(d)), b)
          }
          if (a.b < 54 && -d < hf.length) {
            return vg(a.g, hf[Bc(-d)], b, c)
          }
          return ug((!a.d && (a.d = Li(a.g)), a.d), po(-d), b, c)
        }
    
        function cl(a, b) {
          var c, d, e, f;
          if (b == 10 || b < 2 || b > 36) {
            return Lr + Ke(a)
          }
          c = lc(Md, {
            6: 1
          }, -1, 65, 1);
          d = (nl(), ml);
          e = 64;
          f = ue(b);
          if (we(a, ur)) {
            while (we(a, f)) {
              c[e--] = d[Je(ze(a, f))];
              a = ee(a, f, false)
            }
            c[e] = d[Je(a)]
          } else {
            while (ye(a, Be(f))) {
              c[e--] = d[Je(Be(ze(a, f)))];
              a = ee(a, f, false)
            }
            c[e--] = d[Je(Be(a))];
            c[e] = 45
          }
          return Gl(c, e, 65)
        }
    
        function Of(a, b, c) {
          var d, e, f, g, i, j;
          f = b < 0 ? -b : b;
          g = c.b;
          e = Bc(fl(f)) + 1;
          i = c;
          if (b == 0 || a.b == 0 && a.g != -1 && b > 0) {
            return Nf(a, b)
          }
          if (f > 999999999 || g == 0 && b < 0 || g > 0 && e > g) {
            throw new nk(bs)
          }
          g > 0 && (i = new Xn(g + e + 1, c.c));
          d = Qf(a, i);
          j = ~~Zk(f) >> 1;
          while (j > 0) {
            d = Lf(d, d, i);
            (f & j) == j && (d = Lf(d, a, i));
            j >>= 1
          }
          b < 0 && (d = zf(lf, d, i));
          If(d, c);
          return d
        }
    
        function tf(a, b) {
          var c;
          c = a.f - b.f;
          if (a.b == 0 && a.g != -1) {
            if (c <= 0) {
              return b
            }
            if (b.b == 0 && b.g != -1) {
              return a
            }
          } else if (b.b == 0 && b.g != -1) {
            if (c >= 0) {
              return a
            }
          }
          if (c == 0) {
            if (gl(a.b, b.b) + 1 < 54) {
              return new pg(a.g + b.g, a.f)
            }
            return new og(fn((!a.d && (a.d = Li(a.g)), a.d), (!b.d && (b.d = Li(b.g)), b.d)), a.f)
          } else return c > 0 ? rg(a, b, c) : rg(b, a, -c)
        }
    
        function Nm(a, b) {
          var c, d, e, f, g;
          d = qe(ue(b), yr);
          if (we(a, ur)) {
            f = ee(a, d, false);
            g = ze(a, d)
          } else {
            c = Ge(a, 1);
            e = ue(~~b >>> 1);
            f = ee(c, e, false);
            g = ze(c, e);
            g = pe(Ee(g, 1), qe(a, sr));
            if ((b & 1) != 0) {
              if (!ve(f, g)) {
                g = He(g, f)
              } else {
                if (ye(He(f, g), d)) {
                  g = pe(g, He(d, f));
                  f = He(f, sr)
                } else {
                  g = pe(g, He(Ee(d, 1), f));
                  f = He(f, vr)
                }
              }
            }
          }
          return De(Ee(g, 32), qe(f, yr))
        }
    
        function Ei(a, b, c) {
          var d, e, f, g, i, j, k, n, o, q, r, s, t, u;
          r = b.length;
          k = r;
          if (b.charCodeAt(0) == 45) {
            o = -1;
            q = 1;
            --r
          } else {
            o = 1;
            q = 0
          }
          g = (Em(), Dm)[c];
          f = ~~ (r / g);
          u = r % g;
          u != 0 && ++f;
          j = lc(Od, {
            6: 1
          }, -1, f, 1);
          d = Cm[c - 2];
          i = 0;
          s = q + (u == 0 ? g : u);
          for (t = q; t < k; t = s, s = s + g) {
            e = af(b.substr(t, s - t), c);
            n = (go(), ko(j, j, i, d));
            n += on(j, i, e);
            j[i++] = n
          }
          a.f = o;
          a.e = i;
          a.b = j;
          Sh(a)
        }
    
        function te(a) {
          var b, c, d, e, f;
          if (isNaN(a)) {
            return Qe(), Pe
          }
          if (a < -9223372036854775808) {
            return Qe(), Ne
          }
          if (a >= 9223372036854775807) {
            return Qe(), Me
          }
          e = false;
          if (a < 0) {
            e = true;
            a = -a
          }
          d = 0;
          if (a >= 17592186044416) {
            d = Bc(a / 17592186044416);
            a -= d * 17592186044416
          }
          c = 0;
          if (a >= 4194304) {
            c = Bc(a / 4194304);
            a -= c * 4194304
          }
          b = Bc(a);
          f = de(b, c, d);
          e && je(f);
          return f
        }
    
        function Ke(a) {
          var b, c, d, e, f;
          if (a.l == 0 && a.m == 0 && a.h == 0) {
            return Tr
          }
          if (a.h == 524288 && a.m == 0 && a.l == 0) {
            return '-9223372036854775808'
          }
          if (~~a.h >> 19 != 0) {
            return Ur + Ke(Be(a))
          }
          c = a;
          d = Lr;
          while (!(c.l == 0 && c.m == 0 && c.h == 0)) {
            e = ue(1000000000);
            c = ee(c, e, true);
            b = Lr + Je(ae);
            if (!(c.l == 0 && c.m == 0 && c.h == 0)) {
              f = 9 - b.length;
              for (; f > 0; --f) {
                b = Tr + b
              }
            }
            d = b + d
          }
          return d
        }
    
        function Uh(a, b) {
          var c, d, e, f, g, i, j, k, n, o, q, r, s;
          f = b.f;
          if (f == 0) {
            throw new nk(ss)
          }
          e = b.e;
          d = b.b;
          if (e == 1) {
            return Lm(a, d[0], f)
          }
          q = a.b;
          r = a.e;
          c = r != e ? r > e ? 1 : -1 : jn(q, d, r);
          if (c < 0) {
            return mc(Xd, {
              6: 1
            }, 17, [Nh, a])
          }
          s = a.f;
          i = r - e + 1;
          j = s == f ? 1 : -1;
          g = lc(Od, {
            6: 1
          }, -1, i, 1);
          k = Km(g, i, q, r, d, e);
          n = new si(j, i, g);
          o = new si(s, e, k);
          Sh(n);
          Sh(o);
          return mc(Xd, {
            6: 1
          }, 17, [n, o])
        }
    
        function Zf(a) {
          var b;
          if (a.f == 0 || a.b == 0 && a.g != -1) {
            return !a.d && (a.d = Li(a.g)), a.d
          } else if (a.f < 0) {
            return ei((!a.d && (a.d = Li(a.g)), a.d), po(-a.f))
          } else {
            if (a.f > (a.e > 0 ? a.e : el((a.b - 1) * 0.3010299956639812) + 1) || a.f > (!a.d && (a.d = Li(a.g)), a.d).bb()) {
              throw new nk(cs)
            }
            b = Uh((!a.d && (a.d = Li(a.g)), a.d), po(a.f));
            if (b[1].r() != 0) {
              throw new nk(cs)
            }
            return b[0]
          }
        }
    
        function qn(a, b, c, d, e) {
          var f, g;
          f = ur;
          if (c < e) {
            for (g = 0; g < c; ++g) {
              f = pe(f, He(qe(ue(d[g]), yr), qe(ue(b[g]), yr)));
              a[g] = Je(f);
              f = Fe(f, 32)
            }
            for (; g < e; ++g) {
              f = pe(f, qe(ue(d[g]), yr));
              a[g] = Je(f);
              f = Fe(f, 32)
            }
          } else {
            for (g = 0; g < e; ++g) {
              f = pe(f, He(qe(ue(d[g]), yr), qe(ue(b[g]), yr)));
              a[g] = Je(f);
              f = Fe(f, 32)
            }
            for (; g < c; ++g) {
              f = He(f, qe(ue(b[g]), yr));
              a[g] = Je(f);
              f = Fe(f, 32)
            }
          }
        }
    
        function Lm(a, b, c) {
          var d, e, f, g, i, j, k, n, o, q, r, s;
          q = a.b;
          r = a.e;
          s = a.f;
          if (r == 1) {
            d = qe(ue(q[0]), yr);
            e = qe(ue(b), yr);
            f = ee(d, e, false);
            j = ze(d, e);
            s != c && (f = Be(f));
            s < 0 && (j = Be(j));
            return mc(Xd, {
              6: 1
            }, 17, [Ki(f), Ki(j)])
          }
          i = s == c ? 1 : -1;
          g = lc(Od, {
            6: 1
          }, -1, r, 1);
          k = mc(Od, {
            6: 1
          }, -1, [Mm(g, q, r, b)]);
          n = new si(i, r, g);
          o = new si(s, 1, k);
          Sh(n);
          Sh(o);
          return mc(Xd, {
            6: 1
          }, 17, [n, o])
        }
    
        function Zm(a, b, c) {
          var d, e, f, g, i, j, k;
          i = b.b;
          j = b.e;
          k = ur;
          for (d = 0; d < j; ++d) {
            e = ur;
            g = Je((go(), Ae(qe(ue(a[d]), yr), qe(ue(c), yr))));
            for (f = 0; f < j; ++f) {
              e = pe(pe(Ae(qe(ue(g), yr), qe(ue(i[f]), yr)), qe(ue(a[d + f]), yr)), qe(ue(Je(e)), yr));
              a[d + f] = Je(e);
              e = Ge(e, 32)
            }
            k = pe(k, pe(qe(ue(a[d + j]), yr), e));
            a[d + j] = Je(k);
            k = Ge(k, 32)
          }
          a[j << 1] = Je(k);
          for (f = 0; f < j + 1; ++f) {
            a[f] = a[f + j]
          }
        }
    
        function af(a, b) {
          var c, d, e, f;
          if (a == null) {
            throw new pl(Mr)
          }
          if (b < 2 || b > 36) {
            throw new pl('radix ' + b + ' out of range')
          }
          d = a.length;
          e = d > 0 && a.charCodeAt(0) == 45 ? 1 : 0;
          for (c = e; c < d; ++c) {
            if (tk(a.charCodeAt(c), b) == -1) {
              throw new pl(Zr + a + $r)
            }
          }
          f = parseInt(a, b);
          if (isNaN(f)) {
            throw new pl(Zr + a + $r)
          } else if (f < -2147483648 || f > 2147483647) {
            throw new pl(Zr + a + $r)
          }
          return f
        }
    
        function En(a) {
          var b, c;
          if (a.f == 0) {
            return Oh(), Ih
          }
          if (Vh(a, (Oh(), Ih))) {
            return Nh
          }
          c = lc(Od, {
            6: 1
          }, -1, a.e + 1, 1);
          if (a.f > 0) {
            if (a.b[a.e - 1] != -1) {
              for (b = 0; a.b[b] == -1; ++b) {}
            } else {
              for (b = 0; b < a.e && a.b[b] == -1; ++b) {}
              if (b == a.e) {
                c[b] = 1;
                return new si(-a.f, b + 1, c)
              }
            }
          } else {
            for (b = 0; a.b[b] == 0; ++b) {
              c[b] = -1
            }
          }
          c[b] = a.b[b] + a.f;
          for (++b; b < a.e; ++b) {
            c[b] = a.b[b]
          }
          return new si(-a.f, b, c)
        }
    
        function Bg(a, b, c) {
          var d;
          d = 0;
          switch (c.c) {
            case 7:
              if (b != 0) {
                throw new nk(cs)
              }
              break;
            case 0:
              d = b == 0 ? 0 : b < 0 ? -1 : 1;
              break;
            case 2:
              d = (b == 0 ? 0 : b < 0 ? -1 : 1) > 0 ? b == 0 ? 0 : b < 0 ? -1 : 1 : 0;
              break;
            case 3:
              d = (b == 0 ? 0 : b < 0 ? -1 : 1) < 0 ? b == 0 ? 0 : b < 0 ? -1 : 1 : 0;
              break;
            case 4:
              (b < 0 ? -b : b) >= 5 && (d = b == 0 ? 0 : b < 0 ? -1 : 1);
              break;
            case 5:
              (b < 0 ? -b : b) > 5 && (d = b == 0 ? 0 : b < 0 ? -1 : 1);
              break;
            case 6:
              (b < 0 ? -b : b) + a > 5 && (d = b == 0 ? 0 : b < 0 ? -1 : 1);
          }
          return d
        }
    
        function Vf(a, b, c) {
          var d, e, f, g, i, j;
          i = te(hf[c]);
          g = He(te(a.f), ue(c));
          j = te(a.g);
          f = ee(j, i, false);
          e = ze(j, i);
          if (Ce(e, ur)) {
            d = se(He(Ee(xe(e, ur) ? Be(e) : e, 1), i), ur) ? 0 : xe(He(Ee(xe(e, ur) ? Be(e) : e, 1), i), ur) ? -1 : 1;
            f = pe(f, ue(Bg(Je(f) & 1, (se(e, ur) ? 0 : xe(e, ur) ? -1 : 1) * (5 + d), b.c)));
            if (fl(Ie(xe(f, ur) ? Be(f) : f)) >= b.b) {
              f = re(f, tr);
              g = He(g, sr)
            }
          }
          a.f = Dg(Ie(g));
          a.e = b.b;
          a.g = Ie(f);
          a.b = tg(f);
          a.d = null
        }
    
        function tm(a, b) {
          var c, d, e, f, g, i, j, k, n;
          k = a.f == 0 ? 1 : a.f;
          g = ~~b >> 5;
          c = b & 31;
          j = gl(g + 1, a.e) + 1;
          i = lc(Od, {
            6: 1
          }, -1, j, 1);
          d = 1 << c;
          nm(a.b, 0, i, 0, a.e);
          if (a.f < 0) {
            if (g >= a.e) {
              i[g] = d
            } else {
              e = Zh(a);
              if (g > e) {
                i[g] ^= d
              } else if (g < e) {
                i[g] = -d;
                for (f = g + 1; f < e; ++f) {
                  i[f] = -1
                }
                i[f] = i[f]--
              } else {
                f = g;
                i[g] = -(-i[g] ^ d);
                if (i[g] == 0) {
                  for (++f; i[f] == -1; ++f) {
                    i[f] = 0
                  }++i[f]
                }
              }
            }
          } else {
            i[g] ^= d
          }
          n = new si(k, j, i);
          Sh(n);
          return n
        }
    
        function wo(a, b) {
          var c, d, e, f, g, i, j, k, n;
          g = rn(a, (Oh(), Jh));
          c = g.ab();
          f = g.bb();
          i = g.fb(f);
          j = new Vq;
          for (d = 0; d < b; ++d) {
            if (d < to.length) {
              k = so[d]
            } else {
              do {
                k = new ni(c, j)
              } while (Qh(k, a) >= 0 || k.f == 0 || k.e == 1 && k.b[0] == 1)
            }
            n = di(k, i, a);
            if (n.e == 1 && n.b[0] == 1 || n.eQ(g)) {
              continue
            }
            for (e = 1; e < f; ++e) {
              if (n.eQ(g)) {
                continue
              }
              n = bi(ei(n, n), a);
              if (n.e == 1 && n.b[0] == 1) {
                return false
              }
            }
            if (!n.eQ(g)) {
              return false
            }
          }
          return true
        }
    
        function Mm(a, b, c, d) {
          var e, f, g, i, j, k, n;
          k = ur;
          f = qe(ue(d), yr);
          for (i = c - 1; i >= 0; --i) {
            n = De(Ee(k, 32), qe(ue(b[i]), yr));
            if (we(n, ur)) {
              j = ee(n, f, false);
              k = ze(n, f)
            } else {
              e = Ge(n, 1);
              g = ue(~~d >>> 1);
              j = ee(e, g, false);
              k = ze(e, g);
              k = pe(Ee(k, 1), qe(n, sr));
              if ((d & 1) != 0) {
                if (!ve(j, k)) {
                  k = He(k, j)
                } else {
                  if (ye(He(j, k), f)) {
                    k = pe(k, He(f, j));
                    j = He(j, sr)
                  } else {
                    k = pe(k, He(Ee(f, 1), j));
                    j = He(j, vr)
                  }
                }
              }
            }
            a[i] = Je(qe(j, yr))
          }
          return Je(k)
        }
    
        function he(a, b, c, d, e, f) {
          var g, i, j, k, n, o, q;
          k = ke(b) - ke(a);
          g = Ee(b, k);
          j = de(0, 0, 0);
          while (k >= 0) {
            i = ne(a, g);
            if (i) {
              k < 22 ? (j.l |= 1 << k, undefined) : k < 44 ? (j.m |= 1 << k - 22, undefined) : (j.h |= 1 << k - 44, undefined);
              if (a.l == 0 && a.m == 0 && a.h == 0) {
                break
              }
            }
            o = g.m;
            q = g.h;
            n = g.l;
            g.h = ~~q >>> 1;
            g.m = ~~o >>> 1 | (q & 1) << 21;
            g.l = ~~n >>> 1 | (o & 1) << 21;
            --k
          }
          c && je(j);
          if (f) {
            if (d) {
              ae = Be(a);
              e && (ae = He(ae, (Qe(), Oe)))
            } else {
              ae = de(a.l, a.m, a.h)
            }
          }
          return j
        }
    
        function dn(a, b, c, d, e) {
          var f, g, i, j, k, n, o;
          k = lc(Xd, {
            6: 1
          }, 17, 8, 0);
          n = a;
          nc(k, 0, b);
          o = Ym(b, b, d, e);
          for (g = 1; g <= 7; ++g) {
            nc(k, g, Ym(k[g - 1], o, d, e))
          }
          for (g = c.ab() - 1; g >= 0; --g) {
            if ((c.b[~~g >> 5] & 1 << (g & 31)) != 0) {
              j = 1;
              f = g;
              for (i = g - 3 > 0 ? g - 3 : 0; i <= g - 1; ++i) {
                if ((c.b[~~i >> 5] & 1 << (i & 31)) != 0) {
                  if (i < f) {
                    f = i;
                    j = j << g - i ^ 1
                  } else {
                    j = j ^ 1 << i - f
                  }
                }
              }
              for (i = f; i <= g; ++i) {
                n = Ym(n, n, d, e)
              }
              n = Ym(k[~~(j - 1) >> 1], n, d, e);
              g = f
            } else {
              n = Ym(n, n, d, e)
            }
          }
          return n
        }
    
        function Ln(a, b) {
          var c, d, e, f, g, i, j;
          i = gl(a.e, b.e);
          g = lc(Od, {
            6: 1
          }, -1, i, 1);
          e = Zh(a);
          d = Zh(b);
          c = d;
          if (e == d) {
            g[d] = -a.b[d] ^ -b.b[d]
          } else {
            g[d] = -b.b[d];
            f = hl(b.e, e);
            for (++c; c < f; ++c) {
              g[c] = ~b.b[c]
            }
            if (c == b.e) {
              for (; c < e; ++c) {
                g[c] = -1
              }
              g[c] = a.b[c] - 1
            } else {
              g[c] = -a.b[c] ^ ~b.b[c]
            }
          }
          f = hl(a.e, b.e);
          for (++c; c < f; ++c) {
            g[c] = a.b[c] ^ b.b[c]
          }
          for (; c < a.e; ++c) {
            g[c] = a.b[c]
          }
          for (; c < b.e; ++c) {
            g[c] = b.b[c]
          }
          j = new si(1, i, g);
          Sh(j);
          return j
        }
    
        function qo(a, b, c) {
          var d, e, f, g;
          for (e = 0; e < b; ++e) {
            d = ur;
            for (g = e + 1; g < b; ++g) {
              d = pe(pe(Ae(qe(ue(a[e]), yr), qe(ue(a[g]), yr)), qe(ue(c[e + g]), yr)), qe(ue(Je(d)), yr));
              c[e + g] = Je(d);
              d = Ge(d, 32)
            }
            c[e + b] = Je(d)
          }
          ym(c, c, b << 1);
          d = ur;
          for (e = 0, f = 0; e < b; ++e, ++f) {
            d = pe(pe(Ae(qe(ue(a[e]), yr), qe(ue(a[e]), yr)), qe(ue(c[f]), yr)), qe(ue(Je(d)), yr));
            c[f] = Je(d);
            d = Ge(d, 32);
            ++f;
            d = pe(d, qe(ue(c[f]), yr));
            c[f] = Je(d);
            d = Ge(d, 32)
          }
          return c
        }
    
        function vf(a, b) {
          var c, d, e, f, g, i;
          e = Uf(a);
          i = Uf(b);
          if (e == i) {
            if (a.f == b.f && a.b < 54 && b.b < 54) {
              return a.g < b.g ? -1 : a.g > b.g ? 1 : 0
            }
            d = a.f - b.f;
            c = (a.e > 0 ? a.e : el((a.b - 1) * 0.3010299956639812) + 1) - (b.e > 0 ? b.e : el((b.b - 1) * 0.3010299956639812) + 1);
            if (c > d + 1) {
              return e
            } else if (c < d - 1) {
              return -e
            } else {
              f = (!a.d && (a.d = Li(a.g)), a.d);
              g = (!b.d && (b.d = Li(b.g)), b.d);
              d < 0 ? (f = ei(f, po(-d))) : d > 0 && (g = ei(g, po(d)));
              return Qh(f, g)
            }
          } else return e < i ? -1 : 1
        }
    
        function If(a, b) {
          var c, d, e, f, g, i, j;
          f = b.b;
          if ((a.e > 0 ? a.e : el((a.b - 1) * 0.3010299956639812) + 1) - f < 0 || f == 0) {
            return
          }
          d = a.q() - f;
          if (d <= 0) {
            return
          }
          if (a.b < 54) {
            Vf(a, b, d);
            return
          }
          i = po(d);
          e = Uh((!a.d && (a.d = Li(a.g)), a.d), i);
          g = a.f - d;
          if (e[1].r() != 0) {
            c = Qh(ki(e[1]._()), i);
            c = Bg(e[0].gb(0) ? 1 : 0, e[1].r() * (5 + c), b.c);
            c != 0 && nc(e, 0, fn(e[0], Ki(ue(c))));
            j = new cg(e[0]);
            if (j.q() > f) {
              nc(e, 0, Th(e[0], (Oh(), Lh)));
              --g
            }
          }
          a.f = Dg(g);
          a.e = f;
          Tf(a, e[0])
        }
    
        function Yf(a, b, c) {
          var d, e, f, g;
          d = b.f - a.f;
          if (b.b == 0 && b.g != -1 || a.b == 0 && a.g != -1 || c.b == 0) {
            return Qf(Xf(a, b), c)
          }
          if ((b.e > 0 ? b.e : el((b.b - 1) * 0.3010299956639812) + 1) < d - 1) {
            if (c.b < (a.e > 0 ? a.e : el((a.b - 1) * 0.3010299956639812) + 1)) {
              g = Uf(a);
              if (g != b.r()) {
                f = fn(lo((!a.d && (a.d = Li(a.g)), a.d), 10), Ki(ue(g)))
              } else {
                f = rn((!a.d && (a.d = Li(a.g)), a.d), Ki(ue(g)));
                f = fn(lo(f, 10), Ki(ue(g * 9)))
              }
              e = new og(f, a.f + 1);
              return Qf(e, c)
            }
          }
          return Qf(Xf(a, b), c)
        }
    
        function rn(a, b) {
          var c, d, e, f, g, i, j, k, n, o;
          g = a.f;
          j = b.f;
          if (j == 0) {
            return a
          }
          if (g == 0) {
            return b.cb()
          }
          f = a.e;
          i = b.e;
          if (f + i == 2) {
            c = qe(ue(a.b[0]), yr);
            d = qe(ue(b.b[0]), yr);
            g < 0 && (c = Be(c));
            j < 0 && (d = Be(d));
            return Ki(He(c, d))
          }
          e = f != i ? f > i ? 1 : -1 : jn(a.b, b.b, f);
          if (e == -1) {
            o = -j;
            n = g == j ? sn(b.b, i, a.b, f) : gn(b.b, i, a.b, f)
          } else {
            o = g;
            if (g == j) {
              if (e == 0) {
                return Oh(), Nh
              }
              n = sn(a.b, f, b.b, i)
            } else {
              n = gn(a.b, f, b.b, i)
            }
          }
          k = new si(o, n.length, n);
          Sh(k);
          return k
        }
    
        function zn(a, b) {
          var c, d, e, f, g, i, j;
          e = Zh(a);
          d = Zh(b);
          if (e >= b.e) {
            return Oh(), Nh
          }
          i = b.e;
          g = lc(Od, {
            6: 1
          }, -1, i, 1);
          c = e;
          if (e < d) {
            g[e] = -a.b[e];
            f = hl(a.e, d);
            for (++c; c < f; ++c) {
              g[c] = ~a.b[c]
            }
            if (c == a.e) {
              for (; c < d; ++c) {
                g[c] = -1
              }
              g[c] = b.b[c] - 1
            } else {
              g[c] = ~a.b[c] & b.b[c] - 1
            }
          } else d < e ? (g[e] = -a.b[e] & b.b[e]) : (g[e] = -a.b[e] & b.b[e] - 1);
          f = hl(a.e, b.e);
          for (++c; c < f; ++c) {
            g[c] = ~a.b[c] & b.b[c]
          }
          for (; c < b.e; ++c) {
            g[c] = b.b[c]
          }
          j = new si(1, i, g);
          Sh(j);
          return j
        }
    
        function Th(a, b) {
          var c, d, e, f, g, i, j, k, n, o;
          if (b.f == 0) {
            throw new nk(ss)
          }
          e = b.f;
          if (b.e == 1 && b.b[0] == 1) {
            return b.f > 0 ? a : a.cb()
          }
          n = a.f;
          k = a.e;
          d = b.e;
          if (k + d == 2) {
            o = re(qe(ue(a.b[0]), yr), qe(ue(b.b[0]), yr));
            n != e && (o = Be(o));
            return Ki(o)
          }
          c = k != d ? k > d ? 1 : -1 : jn(a.b, b.b, k);
          if (c == 0) {
            return n == e ? Jh : Ih
          }
          if (c == -1) {
            return Nh
          }
          g = k - d + 1;
          f = lc(Od, {
            6: 1
          }, -1, g, 1);
          i = n == e ? 1 : -1;
          d == 1 ? Mm(f, a.b, k, b.b[0]) : Km(f, g, a.b, k, b.b, d);
          j = new si(i, g, f);
          Sh(j);
          return j
        }
    
        function hn(a, b, c, d, e) {
          var f, g;
          f = pe(qe(ue(b[0]), yr), qe(ue(d[0]), yr));
          a[0] = Je(f);
          f = Fe(f, 32);
          if (c >= e) {
            for (g = 1; g < e; ++g) {
              f = pe(f, pe(qe(ue(b[g]), yr), qe(ue(d[g]), yr)));
              a[g] = Je(f);
              f = Fe(f, 32)
            }
            for (; g < c; ++g) {
              f = pe(f, qe(ue(b[g]), yr));
              a[g] = Je(f);
              f = Fe(f, 32)
            }
          } else {
            for (g = 1; g < c; ++g) {
              f = pe(f, pe(qe(ue(b[g]), yr), qe(ue(d[g]), yr)));
              a[g] = Je(f);
              f = Fe(f, 32)
            }
            for (; g < e; ++g) {
              f = pe(f, qe(ue(d[g]), yr));
              a[g] = Je(f);
              f = Fe(f, 32)
            }
          }
          Ce(f, ur) && (a[g] = Je(f))
        }
    
        function go() {
          go = rr;
          var a, b;
          bo = lc(Xd, {
            6: 1
          }, 17, 32, 0);
          co = lc(Xd, {
            6: 1
          }, 17, 32, 0);
          eo = mc(Od, {
            6: 1
          }, -1, [1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125]);
          fo = mc(Od, {
            6: 1
          }, -1, [1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000]);
          a = sr;
          for (b = 0; b <= 18; ++b) {
            nc(bo, b, Ki(a));
            nc(co, b, Ki(Ee(a, b)));
            a = Ae(a, Hr)
          }
          for (; b < co.length; ++b) {
            nc(bo, b, ei(bo[b - 1], bo[1]));
            nc(co, b, ei(co[b - 1], (Oh(), Lh)))
          }
        }
    
        function yf(a, b, c, d) {
          var e, f, g;
          if (!d) {
            throw new jl
          }
          if (b.b == 0 && b.g != -1) {
            throw new nk(_r)
          }
          e = a.f - b.f - c;
          if (a.b < 54 && b.b < 54) {
            if (e == 0) {
              return vg(a.g, b.g, c, d)
            } else if (e > 0) {
              if (e < hf.length && b.b + jf[Bc(e)] < 54) {
                return vg(a.g, b.g * hf[Bc(e)], c, d)
              }
            } else {
              if (-e < hf.length && a.b + jf[Bc(-e)] < 54) {
                return vg(a.g * hf[Bc(-e)], b.g, c, d)
              }
            }
          }
          f = (!a.d && (a.d = Li(a.g)), a.d);
          g = (!b.d && (b.d = Li(b.g)), b.d);
          e > 0 ? (g = mo(g, Bc(e))) : e < 0 && (f = mo(f, Bc(-e)));
          return ug(f, g, c, d)
        }
    
        function Gn(a, b) {
          var c, d, e, f, g, i, j;
          d = Zh(b);
          e = Zh(a);
          if (e >= b.e) {
            return b
          }
          i = b.e;
          g = lc(Od, {
            6: 1
          }, -1, i, 1);
          if (d < e) {
            for (c = d; c < e; ++c) {
              g[c] = b.b[c]
            }
          } else if (e < d) {
            c = e;
            g[e] = -a.b[e];
            f = hl(a.e, d);
            for (++c; c < f; ++c) {
              g[c] = ~a.b[c]
            }
            if (c != a.e) {
              g[c] = ~ (-b.b[c] | a.b[c])
            } else {
              for (; c < d; ++c) {
                g[c] = -1
              }
              g[c] = b.b[c] - 1
            }++c
          } else {
            c = e;
            g[e] = -(-b.b[e] | a.b[e]);
            ++c
          }
          f = hl(b.e, a.e);
          for (; c < f; ++c) {
            g[c] = b.b[c] & ~a.b[c]
          }
          for (; c < b.e; ++c) {
            g[c] = b.b[c]
          }
          j = new si(-1, i, g);
          Sh(j);
          return j
        }
    
        function _f(a) {
          var b, c, d, e;
          d = Hm((!a.d && (a.d = Li(a.g)), a.d), 0);
          if (a.f == 0 || a.b == 0 && a.g != -1 && a.f < 0) {
            return d
          }
          b = Uf(a) < 0 ? 1 : 0;
          c = a.f;
          e = new gm(d.length + 1 + dl(Bc(a.f)));
          b == 1 && (e.b.b += Ur, e);
          if (a.f > 0) {
            c -= d.length - b;
            if (c >= 0) {
              e.b.b += es;
              for (; c > ef.length; c -= ef.length) {
                $l(e, ef)
              }
              _l(e, ef, Bc(c));
              dm(e, Al(d, b))
            } else {
              c = b - c;
              dm(e, Bl(d, b, Bc(c)));
              e.b.b += ds;
              dm(e, Al(d, Bc(c)))
            }
          } else {
            dm(e, Al(d, b));
            for (; c < -ef.length; c += ef.length) {
              $l(e, ef)
            }
            _l(e, ef, Bc(-c))
          }
          return e.b.b
        }
    
        function ug(a, b, c, d) {
          var e, f, g, i, j, k, n;
          g = Uh(a, b);
          i = g[0];
          k = g[1];
          if (k.r() == 0) {
            return new dg(i, c)
          }
          n = a.r() * b.r();
          if (b.ab() < 54) {
            j = ai(k);
            f = ai(b);
            e = se(He(Ee(xe(j, ur) ? Be(j) : j, 1), xe(f, ur) ? Be(f) : f), ur) ? 0 : xe(He(Ee(xe(j, ur) ? Be(j) : j, 1), xe(f, ur) ? Be(f) : f), ur) ? -1 : 1;
            e = Bg(i.gb(0) ? 1 : 0, n * (5 + e), d)
          } else {
            e = Qh(ki(k._()), b._());
            e = Bg(i.gb(0) ? 1 : 0, n * (5 + e), d)
          } if (e != 0) {
            if (i.ab() < 54) {
              return Hg(pe(ai(i), ue(e)), c)
            }
            i = fn(i, Ki(ue(e)));
            return new dg(i, c)
          }
          return new dg(i, c)
        }
    
        function ag(a) {
          var b, c, d, e, f;
          if (a.i != null) {
            return a.i
          }
          if (a.b < 32) {
            a.i = Im(te(a.g), Bc(a.f));
            return a.i
          }
          e = Hm((!a.d && (a.d = Li(a.g)), a.d), 0);
          if (a.f == 0) {
            return e
          }
          b = (!a.d && (a.d = Li(a.g)), a.d).r() < 0 ? 2 : 1;
          c = e.length;
          d = -a.f + c - b;
          f = new fm;
          cc(f.b, e);
          if (a.f > 0 && d >= -6) {
            if (d >= 0) {
              em(f, c - Bc(a.f), ds)
            } else {
              ec(f.b, b - 1, b - 1, es);
              em(f, b + 1, Ll(ef, 0, -Bc(d) - 1))
            }
          } else {
            if (c - b >= 1) {
              ec(f.b, b, b, ds);
              ++c
            }
            ec(f.b, c, c, fs);
            d > 0 && em(f, ++c, gs);
            em(f, ++c, Lr + Ke(te(d)))
          }
          a.i = f.b.b;
          return a.i
        }
    
        function xn(a, b) {
          var c, d, e, f, g, i, j;
          e = Zh(a);
          f = Zh(b);
          if (e >= b.e) {
            return a
          }
          d = f > e ? f : e;
          f > e ? (c = -b.b[d] & ~a.b[d]) : f < e ? (c = ~b.b[d] & -a.b[d]) : (c = -b.b[d] & -a.b[d]);
          if (c == 0) {
            for (++d; d < b.e && (c = ~ (a.b[d] | b.b[d])) == 0; ++d) {}
            if (c == 0) {
              for (; d < a.e && (c = ~a.b[d]) == 0; ++d) {}
              if (c == 0) {
                i = a.e + 1;
                g = lc(Od, {
                  6: 1
                }, -1, i, 1);
                g[i - 1] = 1;
                j = new si(-1, i, g);
                return j
              }
            }
          }
          i = a.e;
          g = lc(Od, {
            6: 1
          }, -1, i, 1);
          g[d] = -c;
          for (++d; d < b.e; ++d) {
            g[d] = a.b[d] | b.b[d]
          }
          for (; d < a.e; ++d) {
            g[d] = a.b[d]
          }
          j = new si(-1, i, g);
          return j
        }
    
        function zl(o, a, b) {
          var c = new RegExp(a, 'g');
          var d = [];
          var e = 0;
          var f = o;
          var g = null;
          while (true) {
            var i = c.exec(f);
            if (i == null || f == Lr || e == b - 1 && b > 0) {
              d[e] = f;
              break
            } else {
              d[e] = f.substring(0, i.index);
              f = f.substring(i.index + i[0].length, f.length);
              c.lastIndex = 0;
              if (g == f) {
                d[e] = f.substring(0, 1);
                f = f.substring(1)
              }
              g = f;
              e++
            }
          }
          if (b == 0 && o.length > 0) {
            var j = d.length;
            while (j > 0 && d[j - 1] == Lr) {
              --j
            }
            j < d.length && d.splice(j, d.length - j)
          }
          var k = Fl(d.length);
          for (var n = 0; n < d.length; ++n) {
            k[n] = d[n]
          }
          return k
        }
    
        function po(a) {
          go();
          var b, c, d, e;
          b = Bc(a);
          if (a < co.length) {
            return co[b]
          } else if (a <= 50) {
            return (Oh(), Lh).db(b)
          } else if (a <= 1000) {
            return bo[1].db(b).eb(b)
          }
          if (a > 1000000) {
            throw new nk('power of ten too big')
          }
          if (a <= 2147483647) {
            return bo[1].db(b).eb(b)
          }
          d = bo[1].db(2147483647);
          e = d;
          c = te(a - 2147483647);
          b = Bc(a % 2147483647);
          while (ve(c, Ir)) {
            e = ei(e, d);
            c = He(c, Ir)
          }
          e = ei(e, bo[1].db(b));
          e = e.eb(2147483647);
          c = te(a - 2147483647);
          while (ve(c, Ir)) {
            e = e.eb(2147483647);
            c = He(c, Ir)
          }
          e = e.eb(b);
          return e
        }
    
        function $d() {
          var a; !! $stats && Ue('com.iriscouch.gwtapp.client.BigDecimalApp');
          ik(new kk);
          Wj(new Yj);
          Gj(new Ij);
          Ch(new Eh); !! $stats && Ue('com.google.gwt.user.client.UserAgentAsserter');
          a = We();
          wl(Sr, a) || ($wnd.alert('ERROR: Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (safari) does not match the runtime user.agent value (' + a + '). Expect more errors.\n'), undefined); !! $stats && Ue('com.google.gwt.user.client.DocumentModeAsserter');
          Ve()
        }
    
        function Vo(a) {
          Qo();
          var b, c, d, e, f;
          if (a == null) {
            throw new jl
          }
          d = Cl(a);
          c = d.length;
          if (c < Po.length || c > Oo.length) {
            throw new Rk
          }
          f = null;
          e = null;
          if (d[0] == 67) {
            e = Ao;
            f = Io
          } else if (d[0] == 68) {
            e = Bo;
            f = Jo
          } else if (d[0] == 70) {
            e = Co;
            f = Ko
          } else if (d[0] == 72) {
            if (c > 6) {
              if (d[5] == 68) {
                e = Do;
                f = Lo
              } else if (d[5] == 69) {
                e = Eo;
                f = Mo
              } else if (d[5] == 85) {
                e = Fo;
                f = No
              }
            }
          } else if (d[0] == 85) {
            if (d[1] == 80) {
              e = Ho;
              f = Po
            } else if (d[1] == 78) {
              e = Go;
              f = Oo
            }
          }
          if ( !! e && c == f.length) {
            for (b = 1; b < c && d[b] == f[b]; ++b) {}
            if (b == c) {
              return e
            }
          }
          throw new Rk
        }
    
        function ni(a, b) {
          var d, e, f, g, i, j;
          Oh();
          var c;
          if (a < 0) {
            throw new Sk('numBits must be non-negative')
          }
          if (a == 0) {
            this.f = 0;
            this.e = 1;
            this.b = mc(Od, {
              6: 1
            }, -1, [0])
          } else {
            this.f = 1;
            this.e = ~~ (a + 31) >> 5;
            this.b = lc(Od, {
              6: 1
            }, -1, this.e, 1);
            for (c = 0; c < this.e; ++c) {
              this.b[c] = Bc((g = b.b * 15525485 + b.c * 1502, j = b.c * 15525485 + 11, d = Math.floor(j * 5.9604644775390625E-8), g += d, j -= d * 16777216, g %= 16777216, b.b = g, b.c = j, f = b.b * 256, i = el(b.c * Sq[32]), e = f + i, e >= 2147483648 && (e -= 4294967296), e))
            }
            this.b[this.e - 1] >>>= -a & 31;
            Sh(this)
          }
        }
    
        function fn(a, b) {
          var c, d, e, f, g, i, j, k, n, o, q, r;
          g = a.f;
          j = b.f;
          if (g == 0) {
            return b
          }
          if (j == 0) {
            return a
          }
          f = a.e;
          i = b.e;
          if (f + i == 2) {
            c = qe(ue(a.b[0]), yr);
            d = qe(ue(b.b[0]), yr);
            if (g == j) {
              k = pe(c, d);
              r = Je(k);
              q = Je(Ge(k, 32));
              return q == 0 ? new qi(g, r) : new si(g, 2, mc(Od, {
                6: 1
              }, -1, [r, q]))
            }
            return Ki(g < 0 ? He(d, c) : He(c, d))
          } else if (g == j) {
            o = g;
            n = f >= i ? gn(a.b, f, b.b, i) : gn(b.b, i, a.b, f)
          } else {
            e = f != i ? f > i ? 1 : -1 : jn(a.b, b.b, f);
            if (e == 0) {
              return Oh(), Nh
            }
            if (e == 1) {
              o = g;
              n = sn(a.b, f, b.b, i)
            } else {
              o = j;
              n = sn(b.b, i, a.b, f)
            }
          }
          k = new si(o, n.length, n);
          Sh(k);
          return k
        }
    
        function Yn(a) {
          Un();
          var b, c, d, e;
          if (a == null) {
            throw new kl('null string')
          }
          b = Cl(a);
          if (b.length < 27 || b.length > 45) {
            throw new Sk(Hs)
          }
          for (d = 0; d < Sn.length && b[d] == Sn[d]; ++d) {}
          if (d < Sn.length) {
            throw new Sk(Hs)
          }
          c = tk(b[d], 10);
          if (c == -1) {
            throw new Sk(Hs)
          }
          this.b = this.b * 10 + c;
          ++d;
          do {
            c = tk(b[d], 10);
            if (c == -1) {
              if (b[d] == 32) {
                ++d;
                break
              }
              throw new Sk(Hs)
            }
            this.b = this.b * 10 + c;
            if (this.b < 0) {
              throw new Sk(Hs)
            }++d
          } while (true);
          for (e = 0; e < Tn.length && b[d] == Tn[e]; ++d, ++e) {}
          if (e < Tn.length) {
            throw new Sk(Hs)
          }
          this.c = Vo(Ll(b, d, b.length - d))
        }
    
        function Em() {
          Em = rr;
          Cm = mc(Od, {
            6: 1
          }, -1, [-2147483648, 1162261467, 1073741824, 1220703125, 362797056, 1977326743, 1073741824, 387420489, 1000000000, 214358881, 429981696, 815730721, 1475789056, 170859375, 268435456, 410338673, 612220032, 893871739, 1280000000, 1801088541, 113379904, 148035889, 191102976, 244140625, 308915776, 387420489, 481890304, 594823321, 729000000, 887503681, 1073741824, 1291467969, 1544804416, 1838265625, 60466176]);
          Dm = mc(Od, {
            6: 1
          }, -1, [-1, -1, 31, 19, 15, 13, 11, 11, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5])
        }
    
        function uf(a, b, c) {
          var d, e, f, g, i;
          d = a.f - b.f;
          if (b.b == 0 && b.g != -1 || a.b == 0 && a.g != -1 || c.b == 0) {
            return Qf(tf(a, b), c)
          }
          if ((a.e > 0 ? a.e : el((a.b - 1) * 0.3010299956639812) + 1) < d - 1) {
            e = b;
            g = a
          } else if ((b.e > 0 ? b.e : el((b.b - 1) * 0.3010299956639812) + 1) < -d - 1) {
            e = a;
            g = b
          } else {
            return Qf(tf(a, b), c)
          } if (c.b >= (e.e > 0 ? e.e : el((e.b - 1) * 0.3010299956639812) + 1)) {
            return Qf(tf(a, b), c)
          }
          f = e.r();
          if (f == g.r()) {
            i = fn(lo((!e.d && (e.d = Li(e.g)), e.d), 10), Ki(ue(f)))
          } else {
            i = rn((!e.d && (e.d = Li(e.g)), e.d), Ki(ue(f)));
            i = fn(lo(i, 10), Ki(ue(f * 9)))
          }
          e = new og(i, e.f + 1);
          return Qf(e, c)
        }
    
        function $f(a) {
          var b, c, d, e, f, g, i, j;
          g = Hm((!a.d && (a.d = Li(a.g)), a.d), 0);
          if (a.f == 0) {
            return g
          }
          b = (!a.d && (a.d = Li(a.g)), a.d).r() < 0 ? 2 : 1;
          d = g.length;
          e = -a.f + d - b;
          j = new hm(g);
          if (a.f > 0 && e >= -6) {
            if (e >= 0) {
              em(j, d - Bc(a.f), ds)
            } else {
              ec(j.b, b - 1, b - 1, es);
              em(j, b + 1, Ll(ef, 0, -Bc(e) - 1))
            }
          } else {
            c = d - b;
            i = Bc(e % 3);
            if (i != 0) {
              if ((!a.d && (a.d = Li(a.g)), a.d).r() == 0) {
                i = i < 0 ? -i : 3 - i;
                e += i
              } else {
                i = i < 0 ? i + 3 : i;
                e -= i;
                b += i
              } if (c < 3) {
                for (f = i - c; f > 0; --f) {
                  em(j, d++, Tr)
                }
              }
            }
            if (d - b >= 1) {
              ec(j.b, b, b, ds);
              ++d
            }
            if (e != 0) {
              ec(j.b, d, d, fs);
              e > 0 && em(j, ++d, gs);
              em(j, ++d, Lr + Ke(te(e)))
            }
          }
          return j.b.b
        }
    
        function nm(a, b, c, d, e) {
          var f, g, i, j, k, n, o, q, r;
          if (a == null || c == null) {
            throw new jl
          }
          q = a.gC();
          j = c.gC();
          if ((q.c & 4) == 0 || (j.c & 4) == 0) {
            throw new rk('Must be array types')
          }
          o = q.b;
          g = j.b;
          if (!((o.c & 1) != 0 ? o == g : (g.c & 1) == 0)) {
            throw new rk('Array types must match')
          }
          r = a.length;
          k = c.length;
          if (b < 0 || d < 0 || e < 0 || b + e > r || d + e > k) {
            throw new Vk
          }
          if (((o.c & 1) == 0 || (o.c & 4) != 0) && q != j) {
            n = vc(a, 11);
            f = vc(c, 11);
            if (Ac(a) === Ac(c) && b < d) {
              b += e;
              for (i = d + e; i-- > d;) {
                nc(f, i, n[--b])
              }
            } else {
              for (i = d + e; d < i;) {
                nc(f, d++, n[b++])
              }
            }
          } else {
            Array.prototype.splice.apply(c, [d, e].concat(a.slice(b, b + e)))
          }
        }
    
        function xo(a) {
          uo();
          var b, c, d, e, f, g, i;
          f = lc(Od, {
            6: 1
          }, -1, to.length, 1);
          d = lc(Zd, {
            6: 1
          }, -1, 1024, 2);
          if (a.e == 1 && a.b[0] >= 0 && a.b[0] < to[to.length - 1]) {
            for (c = 0; a.b[0] >= to[c]; ++c) {}
            return so[c]
          }
          i = new si(1, a.e, lc(Od, {
            6: 1
          }, -1, a.e + 1, 1));
          nm(a.b, 0, i.b, 0, a.e);
          mi(a, 0) ? nn(i, 2) : (i.b[0] |= 1);
          e = i.ab();
          for (b = 2; e < ro[b]; ++b) {}
          for (c = 0; c < to.length; ++c) {
            f[c] = bn(i, to[c]) - 1024
          }
          while (true) {
            Cq(d, d.length);
            for (c = 0; c < to.length; ++c) {
              f[c] = (f[c] + 1024) % to[c];
              e = f[c] == 0 ? 0 : to[c] - f[c];
              for (; e < 1024; e += to[c]) {
                d[e] = true
              }
            }
            for (e = 0; e < 1024; ++e) {
              if (!d[e]) {
                g = Rh(i);
                nn(g, e);
                if (wo(g, b)) {
                  return g
                }
              }
            }
            nn(i, 1024)
          }
        }
    
        function Qo() {
          Qo = rr;
          Ho = new Ro('UP', 0);
          Bo = new Ro('DOWN', 1);
          Ao = new Ro('CEILING', 2);
          Co = new Ro('FLOOR', 3);
          Fo = new Ro('HALF_UP', 4);
          Do = new Ro('HALF_DOWN', 5);
          Eo = new Ro('HALF_EVEN', 6);
          Go = new Ro('UNNECESSARY', 7);
          zo = mc(Yd, {
            6: 1
          }, 19, [Ho, Bo, Ao, Co, Fo, Do, Eo, Go]);
          Io = mc(Md, {
            6: 1
          }, -1, [67, 69, 73, 76, 73, 78, 71]);
          Jo = mc(Md, {
            6: 1
          }, -1, [68, 79, 87, 78]);
          Ko = mc(Md, {
            6: 1
          }, -1, [70, 76, 79, 79, 82]);
          Lo = mc(Md, {
            6: 1
          }, -1, [72, 65, 76, 70, 95, 68, 79, 87, 78]);
          Mo = mc(Md, {
            6: 1
          }, -1, [72, 65, 76, 70, 95, 69, 86, 69, 78]);
          No = mc(Md, {
            6: 1
          }, -1, [72, 65, 76, 70, 95, 85, 80]);
          Oo = mc(Md, {
            6: 1
          }, -1, [85, 78, 78, 69, 67, 69, 83, 83, 65, 82, 89]);
          Po = mc(Md, {
            6: 1
          }, -1, [85, 80])
        }
    
        function wf(a, b) {
          var c, d, e, f, g, i, j, k, n, o;
          k = (!a.d && (a.d = Li(a.g)), a.d);
          n = (!b.d && (b.d = Li(b.g)), b.d);
          c = a.f - b.f;
          g = 0;
          e = 1;
          i = kf.length - 1;
          if (b.b == 0 && b.g != -1) {
            throw new nk(_r)
          }
          if (k.r() == 0) {
            return Ig(c)
          }
          d = Yh(k, n);
          k = Th(k, d);
          n = Th(n, d);
          f = n.bb();
          n = n.fb(f);
          do {
            o = Uh(n, kf[e]);
            if (o[1].r() == 0) {
              g += e;
              e < i && ++e;
              n = o[0]
            } else {
              if (e == 1) {
                break
              }
              e = 1
            }
          } while (true);
          if (!n._().eQ((Oh(), Jh))) {
            throw new nk('Non-terminating decimal expansion; no exact representable decimal result')
          }
          n.r() < 0 && (k = k.cb());
          j = Dg(c + (f > g ? f : g));
          e = f - g;
          k = e > 0 ? (go(), e < eo.length ? lo(k, eo[e]) : e < bo.length ? ei(k, bo[e]) : ei(k, bo[1].db(e))) : k.eb(-e);
          return new dg(k, j)
        }
    
        function ee(a, b, c) {
          var d, e, f, g, i, j;
          if (b.l == 0 && b.m == 0 && b.h == 0) {
            throw new nk('divide by zero')
          }
          if (a.l == 0 && a.m == 0 && a.h == 0) {
            c && (ae = de(0, 0, 0));
            return de(0, 0, 0)
          }
          if (b.h == 524288 && b.m == 0 && b.l == 0) {
            return fe(a, c)
          }
          j = false;
          if (~~b.h >> 19 != 0) {
            b = Be(b);
            j = true
          }
          g = le(b);
          f = false;
          e = false;
          d = false;
          if (a.h == 524288 && a.m == 0 && a.l == 0) {
            e = true;
            f = true;
            if (g == -1) {
              a = ce((Qe(), Me));
              d = true;
              j = !j
            } else {
              i = Fe(a, g);
              j && je(i);
              c && (ae = de(0, 0, 0));
              return i
            }
          } else if (~~a.h >> 19 != 0) {
            f = true;
            a = Be(a);
            d = true;
            j = !j
          }
          if (g != -1) {
            return ge(a, g, j, f, c)
          }
          if (!we(a, b)) {
            c && (f ? (ae = Be(a)) : (ae = de(a.l, a.m, a.h)));
            return de(0, 0, 0)
          }
          return he(d ? a : de(a.l, a.m, a.h), b, j, f, e, c)
        }
    
        function An(a, b) {
          var c, d, e, f, g, i, j, k;
          e = Zh(a);
          f = Zh(b);
          if (e >= b.e) {
            return a
          }
          j = gl(a.e, b.e);
          d = e;
          if (f > e) {
            i = lc(Od, {
              6: 1
            }, -1, j, 1);
            g = hl(a.e, f);
            for (; d < g; ++d) {
              i[d] = a.b[d]
            }
            if (d == a.e) {
              for (d = f; d < b.e; ++d) {
                i[d] = b.b[d]
              }
            }
          } else {
            c = -a.b[e] & ~b.b[e];
            if (c == 0) {
              g = hl(b.e, a.e);
              for (++d; d < g && (c = ~ (a.b[d] | b.b[d])) == 0; ++d) {}
              if (c == 0) {
                for (; d < b.e && (c = ~b.b[d]) == 0; ++d) {}
                for (; d < a.e && (c = ~a.b[d]) == 0; ++d) {}
                if (c == 0) {
                  ++j;
                  i = lc(Od, {
                    6: 1
                  }, -1, j, 1);
                  i[j - 1] = 1;
                  k = new si(-1, j, i);
                  return k
                }
              }
            }
            i = lc(Od, {
              6: 1
            }, -1, j, 1);
            i[d] = -c;
            ++d
          }
          g = hl(b.e, a.e);
          for (; d < g; ++d) {
            i[d] = a.b[d] | b.b[d]
          }
          for (; d < a.e; ++d) {
            i[d] = a.b[d]
          }
          for (; d < b.e; ++d) {
            i[d] = b.b[d]
          }
          k = new si(-1, j, i);
          return k
        }
    
        function Lj(a) {
          var b = [];
          for (var c in a) {
            var d = typeof a[c];
            d != ws ? (b[b.length] = d) : a[c] instanceof Array ? (b[b.length] = js) : $wnd && $wnd.bigdecimal && $wnd.bigdecimal.BigInteger && a[c] instanceof $wnd.bigdecimal.BigInteger ? (b[b.length] = is) : $wnd && $wnd.bigdecimal && $wnd.bigdecimal.BigDecimal && a[c] instanceof $wnd.bigdecimal.BigDecimal ? (b[b.length] = ps) : $wnd && $wnd.bigdecimal && $wnd.bigdecimal.RoundingMode && a[c] instanceof $wnd.bigdecimal.RoundingMode ? (b[b.length] = xs) : $wnd && $wnd.bigdecimal && $wnd.bigdecimal.MathContext && a[c] instanceof $wnd.bigdecimal.MathContext ? (b[b.length] = os) : (b[b.length] = ws)
          }
          return b.join(ys)
        }
    
        function Ae(a, b) {
          var c, d, e, f, g, i, j, k, n, o, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G;
          c = a.l & 8191;
          d = ~~a.l >> 13 | (a.m & 15) << 9;
          e = ~~a.m >> 4 & 8191;
          f = ~~a.m >> 17 | (a.h & 255) << 5;
          g = ~~ (a.h & 1048320) >> 8;
          i = b.l & 8191;
          j = ~~b.l >> 13 | (b.m & 15) << 9;
          k = ~~b.m >> 4 & 8191;
          n = ~~b.m >> 17 | (b.h & 255) << 5;
          o = ~~ (b.h & 1048320) >> 8;
          C = c * i;
          D = d * i;
          E = e * i;
          F = f * i;
          G = g * i;
          if (j != 0) {
            D += c * j;
            E += d * j;
            F += e * j;
            G += f * j
          }
          if (k != 0) {
            E += c * k;
            F += d * k;
            G += e * k
          }
          if (n != 0) {
            F += c * n;
            G += d * n
          }
          o != 0 && (G += c * o);
          r = C & 4194303;
          s = (D & 511) << 13;
          q = r + s;
          u = ~~C >> 22;
          v = ~~D >> 9;
          w = (E & 262143) << 4;
          x = (F & 31) << 17;
          t = u + v + w + x;
          z = ~~E >> 18;
          A = ~~F >> 5;
          B = (G & 4095) << 8;
          y = z + A + B;
          t += ~~q >> 22;
          q &= 4194303;
          y += ~~t >> 22;
          t &= 4194303;
          y &= 1048575;
          return de(q, t, y)
        }
    
        function zf(a, b, c) {
          var d, e, f, g, i, j, k, n;
          n = Ie(pe(ue(c.b), vr)) + (b.e > 0 ? b.e : el((b.b - 1) * 0.3010299956639812) + 1) - (a.e > 0 ? a.e : el((a.b - 1) * 0.3010299956639812) + 1);
          e = a.f - b.f;
          j = e;
          f = 1;
          i = nf.length - 1;
          k = mc(Xd, {
            6: 1
          }, 17, [(!a.d && (a.d = Li(a.g)), a.d)]);
          if (c.b == 0 || a.b == 0 && a.g != -1 || b.b == 0 && b.g != -1) {
            return wf(a, b)
          }
          if (n > 0) {
            nc(k, 0, ei((!a.d && (a.d = Li(a.g)), a.d), po(n)));
            j += n
          }
          k = Uh(k[0], (!b.d && (b.d = Li(b.g)), b.d));
          g = k[0];
          if (k[1].r() != 0) {
            d = Qh(ki(k[1]), (!b.d && (b.d = Li(b.g)), b.d));
            g = fn(ei(g, (Oh(), Lh)), Ki(ue(k[0].r() * (5 + d))));
            ++j
          } else {
            while (!g.gb(0)) {
              k = Uh(g, nf[f]);
              if (k[1].r() == 0 && j - f >= e) {
                j -= f;
                f < i && ++f;
                g = k[0]
              } else {
                if (f == 1) {
                  break
                }
                f = 1
              }
            }
          }
          return new eg(g, Dg(j), c)
        }
    
        function Wm(a, b) {
          var c, d, e, f, g, i, j, k, n, o, q;
          if (a.f == 0) {
            throw new nk(vs)
          }
          if (!b.gb(0)) {
            return Vm(a, b)
          }
          f = b.e * 32;
          o = Rh(b);
          q = Rh(a);
          g = gl(q.e, o.e);
          j = new si(1, 1, lc(Od, {
            6: 1
          }, -1, g + 1, 1));
          k = new si(1, 1, lc(Od, {
            6: 1
          }, -1, g + 1, 1));
          k.b[0] = 1;
          c = 0;
          d = o.bb();
          e = q.bb();
          if (d > e) {
            vm(o, d);
            vm(q, e);
            um(j, e);
            c += d - e
          } else {
            vm(o, d);
            vm(q, e);
            um(k, d);
            c += e - d
          }
          j.f = 1;
          while (q.r() > 0) {
            while (Qh(o, q) > 0) {
              pn(o, q);
              n = o.bb();
              vm(o, n);
              mn(j, k);
              um(k, n);
              c += n
            }
            while (Qh(o, q) <= 0) {
              pn(q, o);
              if (q.r() == 0) {
                break
              }
              n = q.bb();
              vm(q, n);
              mn(k, j);
              um(j, n);
              c += n
            }
          }
          if (!(o.e == 1 && o.b[0] == 1)) {
            throw new nk(vs)
          }
          Qh(j, b) >= 0 && pn(j, b);
          j = rn(b, j);
          i = Jm(b);
          if (c > f) {
            j = Ym(j, (Oh(), Jh), b, i);
            c = c - f
          }
          j = Ym(j, Ai(f - c), b, i);
          return j
        }
    
        function Xf(a, b) {
          var c;
          c = a.f - b.f;
          if (a.b == 0 && a.g != -1) {
            if (c <= 0) {
              return Mf(b)
            }
            if (b.b == 0 && b.g != -1) {
              return a
            }
          } else if (b.b == 0 && b.g != -1) {
            if (c >= 0) {
              return a
            }
          }
          if (c == 0) {
            if (gl(a.b, b.b) + 1 < 54) {
              return new pg(a.g - b.g, a.f)
            }
            return new og(rn((!a.d && (a.d = Li(a.g)), a.d), (!b.d && (b.d = Li(b.g)), b.d)), a.f)
          } else if (c > 0) {
            if (c < hf.length && gl(a.b, b.b + jf[Bc(c)]) + 1 < 54) {
              return new pg(a.g - b.g * hf[Bc(c)], a.f)
            }
            return new og(rn((!a.d && (a.d = Li(a.g)), a.d), mo((!b.d && (b.d = Li(b.g)), b.d), Bc(c))), a.f)
          } else {
            c = -c;
            if (c < hf.length && gl(a.b + jf[Bc(c)], b.b) + 1 < 54) {
              return new pg(a.g * hf[Bc(c)] - b.g, b.f)
            }
            return new og(rn(mo((!a.d && (a.d = Li(a.g)), a.d), Bc(c)), (!b.d && (b.d = Li(b.g)), b.d)), b.f)
          }
        }
    
        function Df(a, b) {
          var c, d, e, f, g, i, j;
          mc(Xd, {
            6: 1
          }, 17, [(!a.d && (a.d = Li(a.g)), a.d)]);
          f = a.f - b.f;
          j = 0;
          c = 1;
          e = nf.length - 1;
          if (b.b == 0 && b.g != -1) {
            throw new nk(_r)
          }
          if ((b.e > 0 ? b.e : el((b.b - 1) * 0.3010299956639812) + 1) + f > (a.e > 0 ? a.e : el((a.b - 1) * 0.3010299956639812) + 1) + 1 || a.b == 0 && a.g != -1) {
            d = (Oh(), Nh)
          } else if (f == 0) {
            d = Th((!a.d && (a.d = Li(a.g)), a.d), (!b.d && (b.d = Li(b.g)), b.d))
          } else if (f > 0) {
            g = po(f);
            d = Th((!a.d && (a.d = Li(a.g)), a.d), ei((!b.d && (b.d = Li(b.g)), b.d), g));
            d = ei(d, g)
          } else {
            g = po(-f);
            d = Th(ei((!a.d && (a.d = Li(a.g)), a.d), g), (!b.d && (b.d = Li(b.g)), b.d));
            while (!d.gb(0)) {
              i = Uh(d, nf[c]);
              if (i[1].r() == 0 && j - c >= f) {
                j -= c;
                c < e && ++c;
                d = i[0]
              } else {
                if (c == 1) {
                  break
                }
                c = 1
              }
            }
            f = j
          }
          return d.r() == 0 ? Ig(f) : new dg(d, Dg(f))
        }
    
        function Fm(a, b) {
          Em();
          var c, d, e, f, g, i, j, k, n, o, q, r, s, t, u, v, w, x;
          u = a.f;
          o = a.e;
          i = a.b;
          if (u == 0) {
            return Tr
          }
          if (o == 1) {
            j = i[0];
            x = qe(ue(j), yr);
            u < 0 && (x = Be(x));
            return cl(x, b)
          }
          if (b == 10 || b < 2 || b > 36) {
            return Hm(a, 0)
          }
          d = Math.log(b) / Math.log(2);
          s = Bc(sm(new Pi(a.f < 0 ? new si(1, a.e, a.b) : a)) / d + (u < 0 ? 1 : 0)) + 1;
          t = lc(Md, {
            6: 1
          }, -1, s, 1);
          f = s;
          if (b != 16) {
            v = lc(Od, {
              6: 1
            }, -1, o, 1);
            nm(i, 0, v, 0, o);
            w = o;
            e = Dm[b];
            c = Cm[b - 2];
            while (true) {
              r = Mm(v, v, w, c);
              q = f;
              do {
                t[--f] = uk(r % b, b)
              } while ((r = ~~ (r / b)) != 0 && f != 0);
              g = e - q + f;
              for (k = 0; k < g && f > 0; ++k) {
                t[--f] = 48
              }
              for (k = w - 1; k > 0 && v[k] == 0; --k) {}
              w = k + 1;
              if (w == 1 && v[0] == 0) {
                break
              }
            }
          } else {
            for (k = 0; k < o; ++k) {
              for (n = 0; n < 8 && f > 0; ++n) {
                r = ~~i[k] >> (n << 2) & 15;
                t[--f] = uk(r, 16)
              }
            }
          }
          while (t[f] == 48) {
            ++f
          }
          u == -1 && (t[--f] = 45);
          return Ll(t, f, s - f)
        }
    
        function Km(a, b, c, d, e, f) {
          var g, i, j, k, n, o, q, r, s, t, u, v, w, x, y, z, A;
          u = lc(Od, {
            6: 1
          }, -1, d + 1, 1);
          v = lc(Od, {
            6: 1
          }, -1, f + 1, 1);
          j = $k(e[f - 1]);
          if (j != 0) {
            xm(v, e, 0, j);
            xm(u, c, 0, j)
          } else {
            nm(c, 0, u, 0, d);
            nm(e, 0, v, 0, f)
          }
          k = v[f - 1];
          o = b - 1;
          q = d;
          while (o >= 0) {
            if (u[q] == k) {
              n = -1
            } else {
              w = pe(Ee(qe(ue(u[q]), yr), 32), qe(ue(u[q - 1]), yr));
              z = Nm(w, k);
              n = Je(z);
              y = Je(Fe(z, 32));
              if (n != 0) {
                x = false;
                ++n;
                do {
                  --n;
                  if (x) {
                    break
                  }
                  s = Ae(qe(ue(n), yr), qe(ue(v[f - 2]), yr));
                  A = pe(Ee(ue(y), 32), qe(ue(u[q - 2]), yr));
                  t = pe(qe(ue(y), yr), qe(ue(k), yr));
                  $k(Je(Ge(t, 32))) < 32 ? (x = true) : (y = Je(t))
                } while (ve(Le(s, Gr), Le(A, Gr)))
              }
            } if (n != 0) {
              g = $m(u, q - f, v, f, n);
              if (g != 0) {
                --n;
                i = ur;
                for (r = 0; r < f; ++r) {
                  i = pe(i, pe(qe(ue(u[q - f + r]), yr), qe(ue(v[r]), yr)));
                  u[q - f + r] = Je(i);
                  i = Ge(i, 32)
                }
              }
            }
            a != null && (a[o] = n);
            --q;
            --o
          }
          if (j != 0) {
            Am(v, f, u, 0, j);
            return v
          }
          nm(u, 0, v, 0, f);
          return u
        }
    
        function Vm(a, b) {
          var c, d, e, f, g, i, j, k, n, o, q;
          f = gl(a.e, b.e);
          n = lc(Od, {
            6: 1
          }, -1, f + 1, 1);
          q = lc(Od, {
            6: 1
          }, -1, f + 1, 1);
          nm(b.b, 0, n, 0, b.e);
          nm(a.b, 0, q, 0, a.e);
          k = new si(b.f, b.e, n);
          o = new si(a.f, a.e, q);
          i = new si(0, 1, lc(Od, {
            6: 1
          }, -1, f + 1, 1));
          j = new si(1, 1, lc(Od, {
            6: 1
          }, -1, f + 1, 1));
          j.b[0] = 1;
          c = 0;
          d = 0;
          g = b.ab();
          while (!Um(k, c) && !Um(o, d)) {
            e = Sm(k, g);
            if (e != 0) {
              um(k, e);
              if (c >= d) {
                um(i, e)
              } else {
                vm(j, d - c < e ? d - c : e);
                e - (d - c) > 0 && um(i, e - d + c)
              }
              c += e
            }
            e = Sm(o, g);
            if (e != 0) {
              um(o, e);
              if (d >= c) {
                um(j, e)
              } else {
                vm(i, c - d < e ? c - d : e);
                e - (c - d) > 0 && um(j, e - c + d)
              }
              d += e
            }
            if (k.r() == o.r()) {
              if (c <= d) {
                ln(k, o);
                ln(i, j)
              } else {
                ln(o, k);
                ln(j, i)
              }
            } else {
              if (c <= d) {
                kn(k, o);
                kn(i, j)
              } else {
                kn(o, k);
                kn(j, i)
              }
            } if (o.r() == 0 || k.r() == 0) {
              throw new nk(vs)
            }
          }
          if (Um(o, d)) {
            i = j;
            o.r() != k.r() && (k = k.cb())
          }
          k.gb(g) && (i.r() < 0 ? (i = i.cb()) : (i = rn(b, i)));
          i.r() < 0 && (i = fn(i, b));
          return i
        }
    
        function We() {
          var c = navigator.userAgent.toLowerCase();
          var d = function(a) {
            return parseInt(a[1]) * 1000 + parseInt(a[2])
          };
          if (function() {
            return c.indexOf(Wr) != -1
          }()) return Wr;
          if (function() {
            return c.indexOf('webkit') != -1 || function() {
              if (c.indexOf('chromeframe') != -1) {
                return true
              }
              if (typeof window['ActiveXObject'] != Xr) {
                try {
                  var b = new ActiveXObject('ChromeTab.ChromeFrame');
                  if (b) {
                    b.registerBhoIfNeeded();
                    return true
                  }
                } catch (a) {}
              }
              return false
            }()
          }()) return Sr;
          if (function() {
            return c.indexOf(Yr) != -1 && $doc.documentMode >= 9
          }()) return 'ie9';
          if (function() {
            return c.indexOf(Yr) != -1 && $doc.documentMode >= 8
          }()) return 'ie8';
          if (function() {
            var a = /msie ([0-9]+)\.([0-9]+)/.exec(c);
            if (a && a.length == 3) return d(a) >= 6000
          }()) return 'ie6';
          if (function() {
            return c.indexOf('gecko') != -1
          }()) return 'gecko1_8';
          return 'unknown'
        }
    
        function Kn(a, b) {
          var c, d, e, f, g, i, j, k;
          j = gl(b.e, a.e);
          e = Zh(b);
          f = Zh(a);
          if (e < f) {
            i = lc(Od, {
              6: 1
            }, -1, j, 1);
            d = e;
            i[e] = b.b[e];
            g = hl(b.e, f);
            for (++d; d < g; ++d) {
              i[d] = b.b[d]
            }
            if (d == b.e) {
              for (; d < a.e; ++d) {
                i[d] = a.b[d]
              }
            }
          } else if (f < e) {
            i = lc(Od, {
              6: 1
            }, -1, j, 1);
            d = f;
            i[f] = -a.b[f];
            g = hl(a.e, e);
            for (++d; d < g; ++d) {
              i[d] = ~a.b[d]
            }
            if (d == e) {
              i[d] = ~ (a.b[d] ^ -b.b[d]);
              ++d
            } else {
              for (; d < e; ++d) {
                i[d] = -1
              }
              for (; d < b.e; ++d) {
                i[d] = b.b[d]
              }
            }
          } else {
            d = e;
            c = a.b[e] ^ -b.b[e];
            if (c == 0) {
              g = hl(a.e, b.e);
              for (++d; d < g && (c = a.b[d] ^ ~b.b[d]) == 0; ++d) {}
              if (c == 0) {
                for (; d < a.e && (c = ~a.b[d]) == 0; ++d) {}
                for (; d < b.e && (c = ~b.b[d]) == 0; ++d) {}
                if (c == 0) {
                  j = j + 1;
                  i = lc(Od, {
                    6: 1
                  }, -1, j, 1);
                  i[j - 1] = 1;
                  k = new si(-1, j, i);
                  return k
                }
              }
            }
            i = lc(Od, {
              6: 1
            }, -1, j, 1);
            i[d] = -c;
            ++d
          }
          g = hl(b.e, a.e);
          for (; d < g; ++d) {
            i[d] = ~ (~b.b[d] ^ a.b[d])
          }
          for (; d < a.e; ++d) {
            i[d] = a.b[d]
          }
          for (; d < b.e; ++d) {
            i[d] = b.b[d]
          }
          k = new si(-1, j, i);
          Sh(k);
          return k
        }
    
        function rf() {
          rf = rr;
          var a, b;
          lf = new qg(sr, 0);
          mf = new qg(tr, 0);
          of = new qg(ur, 0);
          df = lc(Wd, {
            6: 1
          }, 16, 11, 0);
          ef = lc(Md, {
            6: 1
          }, -1, 100, 1);
          ff = mc(Nd, {
            6: 1
          }, -1, [1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125, 6103515625, 30517578125, 152587890625, 762939453125, 3814697265625, 19073486328125, 95367431640625, 476837158203125, 2384185791015625]);
          gf = lc(Od, {
            6: 1
          }, -1, ff.length, 1);
          hf = mc(Nd, {
            6: 1
          }, -1, [1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 10000000000, 100000000000, 1000000000000, 10000000000000, 100000000000000, 1000000000000000, 10000000000000000]);
          jf = lc(Od, {
            6: 1
          }, -1, hf.length, 1);
          pf = lc(Wd, {
            6: 1
          }, 16, 11, 0);
          a = 0;
          for (; a < pf.length; ++a) {
            nc(df, a, new qg(ue(a), 0));
            nc(pf, a, new qg(ur, a));
            ef[a] = 48
          }
          for (; a < ef.length; ++a) {
            ef[a] = 48
          }
          for (b = 0; b < gf.length; ++b) {
            gf[b] = sg(ff[b])
          }
          for (b = 0; b < jf.length; ++b) {
            jf[b] = sg(hf[b])
          }
          nf = (go(), co);
          kf = bo
        }
    
        function Hf(a, b) {
          var c, d, e, f, g, i, j, k, n, o;
          c = 0;
          i = 0;
          g = b.length;
          n = new gm(b.length);
          if (0 < g && b.charCodeAt(0) == 43) {
            ++i;
            ++c;
            if (i < g && (b.charCodeAt(i) == 43 || b.charCodeAt(i) == 45)) {
              throw new pl(Zr + b + $r)
            }
          }
          e = 0;
          o = false;
          for (; i < g && b.charCodeAt(i) != 46 && b.charCodeAt(i) != 101 && b.charCodeAt(i) != 69; ++i) {
            o || (b.charCodeAt(i) == 48 ? ++e : (o = true))
          }
          am(n, b, c, i);
          if (i < g && b.charCodeAt(i) == 46) {
            ++i;
            c = i;
            for (; i < g && b.charCodeAt(i) != 101 && b.charCodeAt(i) != 69; ++i) {
              o || (b.charCodeAt(i) == 48 ? ++e : (o = true))
            }
            a.f = i - c;
            am(n, b, c, i)
          } else {
            a.f = 0
          } if (i < g && (b.charCodeAt(i) == 101 || b.charCodeAt(i) == 69)) {
            ++i;
            c = i;
            if (i < g && b.charCodeAt(i) == 43) {
              ++i;
              i < g && b.charCodeAt(i) != 45 && ++c
            }
            j = b.substr(c, g - c);
            a.f = a.f - af(j, 10);
            if (a.f != Bc(a.f)) {
              throw new pl('Scale out of range.')
            }
          }
          k = n.b.b;
          if (k.length < 16) {
            a.g = zg(k);
            if (Hk(a.g)) {
              throw new pl(Zr + b + $r)
            }
            a.b = sg(a.g)
          } else {
            Tf(a, new oi(k))
          }
          a.e = n.b.b.length - e;
          for (f = 0; f < n.b.b.length; ++f) {
            d = vl(n.b.b, f);
            if (d != 45 && d != 48) {
              break
            }--a.e
          }
        }
    
        function Im(a, b) {
          Em();
          var c, d, e, f, g, i, j, k, n, o;
          g = xe(a, ur);
          g && (a = Be(a));
          if (se(a, ur)) {
            switch (b) {
              case 0:
                return Tr;
              case 1:
                return zs;
              case 2:
                return As;
              case 3:
                return Bs;
              case 4:
                return Cs;
              case 5:
                return Ds;
              case 6:
                return Es;
              default:
                k = new fm;
                b < 0 ? (k.b.b += Fs, k) : (k.b.b += Gs, k);
                cc(k.b, b == -2147483648 ? '2147483648' : Lr + -b);
                return k.b.b;
            }
          }
          j = lc(Md, {
            6: 1
          }, -1, 19, 1);
          c = 18;
          o = a;
          do {
            i = o;
            o = re(o, tr);
            j[--c] = Je(pe(Cr, He(i, Ae(o, tr)))) & 65535
          } while (Ce(o, ur));
          d = He(He(He(Dr, ue(c)), ue(b)), sr);
          if (b == 0) {
            g && (j[--c] = 45);
            return Ll(j, c, 18 - c)
          }
          if (b > 0 && we(d, Er)) {
            if (we(d, ur)) {
              e = c + Je(d);
              for (f = 17; f >= e; --f) {
                j[f + 1] = j[f]
              }
              j[++e] = 46;
              g && (j[--c] = 45);
              return Ll(j, c, 18 - c + 1)
            }
            for (f = 2; xe(ue(f), pe(Be(d), sr)); ++f) {
              j[--c] = 48
            }
            j[--c] = 46;
            j[--c] = 48;
            g && (j[--c] = 45);
            return Ll(j, c, 18 - c)
          }
          n = c + 1;
          k = new gm;
          g && (k.b.b += Ur, k);
          if (18 - n >= 1) {
            Zl(k, j[c]);
            k.b.b += ds;
            dc(k.b, Ll(j, c + 1, 18 - c - 1))
          } else {
            dc(k.b, Ll(j, c, 18 - c))
          }
          k.b.b += fs;
          ve(d, ur) && (k.b.b += gs, k);
          cc(k.b, Lr + Ke(d));
          return k.b.b
        }
    
        function Ef(a, b, c) {
          var d, e, f, g, i, j, k, n, o, q, r, s, t;
          n = c.b;
          e = Pf(a) - b.q();
          k = nf.length - 1;
          f = a.f - b.f;
          o = f;
          r = e - f + 1;
          q = lc(Xd, {
            6: 1
          }, 17, 2, 0);
          if (n == 0 || a.b == 0 && a.g != -1 || b.b == 0 && b.g != -1) {
            return Df(a, b)
          }
          if (r <= 0) {
            nc(q, 0, (Oh(), Nh))
          } else if (f == 0) {
            nc(q, 0, Th((!a.d && (a.d = Li(a.g)), a.d), (!b.d && (b.d = Li(b.g)), b.d)))
          } else if (f > 0) {
            nc(q, 0, Th((!a.d && (a.d = Li(a.g)), a.d), ei((!b.d && (b.d = Li(b.g)), b.d), po(f))));
            o = f < (n - r + 1 > 0 ? n - r + 1 : 0) ? f : n - r + 1 > 0 ? n - r + 1 : 0;
            nc(q, 0, ei(q[0], po(o)))
          } else {
            g = -f < (n - e > 0 ? n - e : 0) ? -f : n - e > 0 ? n - e : 0;
            q = Uh(ei((!a.d && (a.d = Li(a.g)), a.d), po(g)), (!b.d && (b.d = Li(b.g)), b.d));
            o += g;
            g = -o;
            if (q[1].r() != 0 && g > 0) {
              d = (new cg(q[1])).q() + g - b.q();
              if (d == 0) {
                nc(q, 1, Th(ei(q[1], po(g)), (!b.d && (b.d = Li(b.g)), b.d)));
                d = dl(q[1].r())
              }
              if (d > 0) {
                throw new nk(as)
              }
            }
          } if (q[0].r() == 0) {
            return Ig(f)
          }
          t = q[0];
          j = new cg(q[0]);
          s = j.q();
          i = 1;
          while (!t.gb(0)) {
            q = Uh(t, nf[i]);
            if (q[1].r() == 0 && (s - i >= n || o - i >= f)) {
              s -= i;
              o -= i;
              i < k && ++i;
              t = q[0]
            } else {
              if (i == 1) {
                break
              }
              i = 1
            }
          }
          if (s > n) {
            throw new nk(as)
          }
          j.f = Dg(o);
          Tf(j, t);
          return j
        }
    
        function Ve() {
          var a, b, c;
          b = $doc.compatMode;
          a = mc(Vd, {
            6: 1
          }, 1, [Vr]);
          for (c = 0; c < a.length; ++c) {
            if (wl(a[c], b)) {
              return
            }
          }
          a.length == 1 && wl(Vr, a[0]) && wl('BackCompat', b) ? "GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').<br>Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,<br>e.g. by using &lt;!doctype html&gt; at the start of your application's HTML page.<br><br>To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding<br>the following line to your*.gwt.xml module file:<br>&nbsp;&nbsp;&lt;extend-configuration-property name=\"document.compatMode\" value=\"" + b + '"/&gt;' : "Your *.gwt.xml module configuration prohibits the use of the current doucment rendering mode (document.compatMode=' " + b + "').<br>Modify your application's host HTML page doctype, or update your custom 'document.compatMode' configuration property settings."
        }
    
        function Lg(a) {
          rf();
          var b, c;
          c = Lj(a);
          if (c == is) b = new cg(new oi(a[0].toString()));
          else if (c == 'BigInteger number') b = new dg(new oi(a[0].toString()), a[1]);
          else if (c == 'BigInteger number MathContext') b = new eg(new oi(a[0].toString()), a[1], new Yn(a[2].toString()));
          else if (c == 'BigInteger MathContext') b = new fg(new oi(a[0].toString()), new Yn(a[1].toString()));
          else if (c == js) b = new gg(Cl(a[0].toString()));
          else if (c == 'array number number') b = new hg(Cl(a[0].toString()), a[1], a[2]);
          else if (c == 'array number number MathContext') b = new ig(Cl(a[0].toString()), a[1], a[2], new Yn(a[3].toString()));
          else if (c == 'array MathContext') b = new jg(Cl(a[0].toString()), new Yn(a[1].toString()));
          else if (c == ks) b = new kg(a[0]);
          else if (c == ls) b = new lg(a[0], new Yn(a[1].toString()));
          else if (c == ms) b = new mg(a[0].toString());
          else if (c == 'string MathContext') b = new ng(a[0].toString(), new Yn(a[1].toString()));
          else throw new V('Unknown call signature for obj = new java.math.BigDecimal: ' + c);
          return new Kg(b)
        }
    
        function uo() {
          uo = rr;
          var a;
          ro = mc(Od, {
            6: 1
          }, -1, [0, 0, 1854, 1233, 927, 747, 627, 543, 480, 431, 393, 361, 335, 314, 295, 279, 265, 253, 242, 232, 223, 216, 181, 169, 158, 150, 145, 140, 136, 132, 127, 123, 119, 114, 110, 105, 101, 96, 92, 87, 83, 78, 73, 69, 64, 59, 54, 49, 44, 38, 32, 26, 1]);
          to = mc(Od, {
            6: 1
          }, -1, [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, 1009, 1013, 1019, 1021]);
          so = lc(Xd, {
            6: 1
          }, 17, to.length, 0);
          for (a = 0; a < to.length; ++a) {
            nc(so, a, Ki(ue(to[a])))
          }
        }
    
        function Xj() {
          nr(rs, Lr);
          if ($wnd.bigdecimal.MathContext) {
            var b = $wnd.bigdecimal.MathContext
          }
          $wnd.bigdecimal.MathContext = Jr(function() {
            if (arguments.length == 1 && arguments[0] != null && arguments[0].gC() == Uc) {
              this.__gwt_instance = arguments[0]
            } else if (arguments.length == 0) {
              this.__gwt_instance = new Nj;
              or(this.__gwt_instance, this)
            } else if (arguments.length == 1) {
              this.__gwt_instance = Zj(arguments[0]);
              or(this.__gwt_instance, this)
            }
          });
          var c = $wnd.bigdecimal.MathContext.prototype = new Object;
          if (b) {
            for (p in b) {
              $wnd.bigdecimal.MathContext[p] = b[p]
            }
          }
          c.getPrecision = jr(Number, Jr(function() {
            var a = this.__gwt_instance.Hb();
            return a
          }));
          c.getRoundingMode = Jr(function() {
            var a = this.__gwt_instance.Ib();
            return pr(a)
          });
          c.hashCode = jr(Number, Jr(function() {
            var a = this.__gwt_instance.hC();
            return a
          }));
          c.toString = Jr(function() {
            var a = this.__gwt_instance.tS();
            return a
          });
          $wnd.bigdecimal.MathContext.DECIMAL128 = Jr(function() {
            var a = new Oj(Wn((Un(), On)));
            return pr(a)
          });
          $wnd.bigdecimal.MathContext.DECIMAL32 = Jr(function() {
            var a = new Oj(Wn((Un(), Pn)));
            return pr(a)
          });
          $wnd.bigdecimal.MathContext.DECIMAL64 = Jr(function() {
            var a = new Oj(Wn((Un(), Qn)));
            return pr(a)
          });
          $wnd.bigdecimal.MathContext.UNLIMITED = Jr(function() {
            var a = new Oj(Wn((Un(), Rn)));
            return pr(a)
          });
          mr(Uc, $wnd.bigdecimal.MathContext)
        }
    
        function Hm(a, b) {
          Em();
          var c, d, e, f, g, i, j, k, n, o, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E;
          z = a.f;
          q = a.e;
          e = a.b;
          if (z == 0) {
            switch (b) {
              case 0:
                return Tr;
              case 1:
                return zs;
              case 2:
                return As;
              case 3:
                return Bs;
              case 4:
                return Cs;
              case 5:
                return Ds;
              case 6:
                return Es;
              default:
                x = new fm;
                b < 0 ? (x.b.b += Fs, x) : (x.b.b += Gs, x);
                ac(x.b, -b);
                return x.b.b;
            }
          }
          v = q * 10 + 1 + 7;
          w = lc(Md, {
            6: 1
          }, -1, v + 1, 1);
          c = v;
          if (q == 1) {
            g = e[0];
            if (g < 0) {
              E = qe(ue(g), yr);
              do {
                r = E;
                E = re(E, tr);
                w[--c] = 48 + Je(He(r, Ae(E, tr))) & 65535
              } while (Ce(E, ur))
            } else {
              E = g;
              do {
                r = E;
                E = ~~ (E / 10);
                w[--c] = 48 + (r - E * 10) & 65535
              } while (E != 0)
            }
          } else {
            B = lc(Od, {
              6: 1
            }, -1, q, 1);
            D = q;
            nm(e, 0, B, 0, q);
            F: while (true) {
              y = ur;
              for (j = D - 1; j >= 0; --j) {
                C = pe(Ee(y, 32), qe(ue(B[j]), yr));
                t = Gm(C);
                B[j] = Je(t);
                y = ue(Je(Fe(t, 32)))
              }
              u = Je(y);
              s = c;
              do {
                w[--c] = 48 + u % 10 & 65535
              } while ((u = ~~ (u / 10)) != 0 && c != 0);
              d = 9 - s + c;
              for (i = 0; i < d && c > 0; ++i) {
                w[--c] = 48
              }
              n = D - 1;
              for (; B[n] == 0; --n) {
                if (n == 0) {
                  break F
                }
              }
              D = n + 1
            }
            while (w[c] == 48) {
              ++c
            }
          }
          o = z < 0;
          f = v - c - b - 1;
          if (b == 0) {
            o && (w[--c] = 45);
            return Ll(w, c, v - c)
          }
          if (b > 0 && f >= -6) {
            if (f >= 0) {
              k = c + f;
              for (n = v - 1; n >= k; --n) {
                w[n + 1] = w[n]
              }
              w[++k] = 46;
              o && (w[--c] = 45);
              return Ll(w, c, v - c + 1)
            }
            for (n = 2; n < -f + 1; ++n) {
              w[--c] = 48
            }
            w[--c] = 46;
            w[--c] = 48;
            o && (w[--c] = 45);
            return Ll(w, c, v - c)
          }
          A = c + 1;
          x = new gm;
          o && (x.b.b += Ur, x);
          if (v - A >= 1) {
            Zl(x, w[c]);
            x.b.b += ds;
            dc(x.b, Ll(w, c + 1, v - c - 1))
          } else {
            dc(x.b, Ll(w, c, v - c))
          }
          x.b.b += fs;
          f > 0 && (x.b.b += gs, x);
          cc(x.b, Lr + f);
          return x.b.b
        }
    
        function jk() {
          nr(rs, Lr);
          if ($wnd.bigdecimal.RoundingMode) {
            var c = $wnd.bigdecimal.RoundingMode
          }
          $wnd.bigdecimal.RoundingMode = Jr(function() {
            if (arguments.length == 1 && arguments[0] != null && arguments[0].gC() == Wc) {
              this.__gwt_instance = arguments[0]
            } else if (arguments.length == 0) {
              this.__gwt_instance = new ak;
              or(this.__gwt_instance, this)
            }
          });
          var d = $wnd.bigdecimal.RoundingMode.prototype = new Object;
          if (c) {
            for (p in c) {
              $wnd.bigdecimal.RoundingMode[p] = c[p]
            }
          }
          $wnd.bigdecimal.RoundingMode.valueOf = Jr(function(a) {
            var b = new bk((Qo(), Ok((Yo(), Xo), a)));
            return pr(b)
          });
          $wnd.bigdecimal.RoundingMode.values = Jr(function() {
            var a = fk();
            return qr(a)
          });
          d.name = Jr(function() {
            var a = this.__gwt_instance.Jb();
            return a
          });
          d.toString = Jr(function() {
            var a = this.__gwt_instance.tS();
            return a
          });
          $wnd.bigdecimal.RoundingMode.CEILING = Jr(function() {
            var a = new bk((Qo(), Ao));
            return pr(a)
          });
          $wnd.bigdecimal.RoundingMode.DOWN = Jr(function() {
            var a = new bk((Qo(), Bo));
            return pr(a)
          });
          $wnd.bigdecimal.RoundingMode.FLOOR = Jr(function() {
            var a = new bk((Qo(), Co));
            return pr(a)
          });
          $wnd.bigdecimal.RoundingMode.HALF_DOWN = Jr(function() {
            var a = new bk((Qo(), Do));
            return pr(a)
          });
          $wnd.bigdecimal.RoundingMode.HALF_EVEN = Jr(function() {
            var a = new bk((Qo(), Eo));
            return pr(a)
          });
          $wnd.bigdecimal.RoundingMode.HALF_UP = Jr(function() {
            var a = new bk((Qo(), Fo));
            return pr(a)
          });
          $wnd.bigdecimal.RoundingMode.UNNECESSARY = Jr(function() {
            var a = new bk((Qo(), Go));
            return pr(a)
          });
          $wnd.bigdecimal.RoundingMode.UP = Jr(function() {
            var a = new bk((Qo(), Ho));
            return pr(a)
          });
          mr(Wc, $wnd.bigdecimal.RoundingMode)
        }
    
        function Hj() {
          nr(rs, Lr);
          if ($wnd.bigdecimal.BigInteger) {
            var d = $wnd.bigdecimal.BigInteger
          }
          $wnd.bigdecimal.BigInteger = Jr(function() {
            if (arguments.length == 1 && arguments[0] != null && arguments[0].gC() == Sc) {
              this.__gwt_instance = arguments[0]
            } else if (arguments.length == 0) {
              this.__gwt_instance = new Ni;
              or(this.__gwt_instance, this)
            } else if (arguments.length == 1) {
              this.__gwt_instance = Jj(arguments[0]);
              or(this.__gwt_instance, this)
            }
          });
          var e = $wnd.bigdecimal.BigInteger.prototype = new Object;
          if (d) {
            for (p in d) {
              $wnd.bigdecimal.BigInteger[p] = d[p]
            }
          }
          $wnd.bigdecimal.BigInteger.__init__ = Jr(function(a) {
            var b = Qi(a);
            return pr(b)
          });
          e.abs = Jr(function() {
            var a = this.__gwt_instance._();
            return pr(a)
          });
          e.add = Jr(function(a) {
            var b = this.__gwt_instance.hb(a.__gwt_instance);
            return pr(b)
          });
          e.and = Jr(function(a) {
            var b = this.__gwt_instance.ib(a.__gwt_instance);
            return pr(b)
          });
          e.andNot = Jr(function(a) {
            var b = this.__gwt_instance.jb(a.__gwt_instance);
            return pr(b)
          });
          e.bitCount = jr(Number, Jr(function() {
            var a = this.__gwt_instance.kb();
            return a
          }));
          e.bitLength = jr(Number, Jr(function() {
            var a = this.__gwt_instance.ab();
            return a
          }));
          e.clearBit = Jr(function(a) {
            var b = this.__gwt_instance.lb(a);
            return pr(b)
          });
          e.compareTo = jr(Number, Jr(function(a) {
            var b = this.__gwt_instance.mb(a.__gwt_instance);
            return b
          }));
          e.divide = Jr(function(a) {
            var b = this.__gwt_instance.nb(a.__gwt_instance);
            return pr(b)
          });
          e.doubleValue = jr(Number, Jr(function() {
            var a = this.__gwt_instance.z();
            return a
          }));
          e.equals = jr(Number, Jr(function(a) {
            var b = this.__gwt_instance.eQ(a);
            return b
          }));
          e.flipBit = Jr(function(a) {
            var b = this.__gwt_instance.pb(a);
            return pr(b)
          });
          e.floatValue = jr(Number, Jr(function() {
            var a = this.__gwt_instance.A();
            return a
          }));
          e.gcd = Jr(function(a) {
            var b = this.__gwt_instance.qb(a.__gwt_instance);
            return pr(b)
          });
          e.getLowestSetBit = jr(Number, Jr(function() {
            var a = this.__gwt_instance.bb();
            return a
          }));
          e.hashCode = jr(Number, Jr(function() {
            var a = this.__gwt_instance.hC();
            return a
          }));
          e.intValue = jr(Number, Jr(function() {
            var a = this.__gwt_instance.B();
            return a
          }));
          e.isProbablePrime = jr(Number, Jr(function(a) {
            var b = this.__gwt_instance.rb(a);
            return b
          }));
          e.max = Jr(function(a) {
            var b = this.__gwt_instance.tb(a.__gwt_instance);
            return pr(b)
          });
          e.min = Jr(function(a) {
            var b = this.__gwt_instance.ub(a.__gwt_instance);
            return pr(b)
          });
          e.mod = Jr(function(a) {
            var b = this.__gwt_instance.vb(a.__gwt_instance);
            return pr(b)
          });
          e.modInverse = Jr(function(a) {
            var b = this.__gwt_instance.wb(a.__gwt_instance);
            return pr(b)
          });
          e.modPow = Jr(function(a, b) {
            var c = this.__gwt_instance.xb(a.__gwt_instance, b.__gwt_instance);
            return pr(c)
          });
          e.multiply = Jr(function(a) {
            var b = this.__gwt_instance.yb(a.__gwt_instance);
            return pr(b)
          });
          e.negate = Jr(function() {
            var a = this.__gwt_instance.cb();
            return pr(a)
          });
          e.nextProbablePrime = Jr(function() {
            var a = this.__gwt_instance.zb();
            return pr(a)
          });
          e.not = Jr(function() {
            var a = this.__gwt_instance.Ab();
            return pr(a)
          });
          e.or = Jr(function(a) {
            var b = this.__gwt_instance.Bb(a.__gwt_instance);
            return pr(b)
          });
          e.pow = Jr(function(a) {
            var b = this.__gwt_instance.db(a);
            return pr(b)
          });
          e.remainder = Jr(function(a) {
            var b = this.__gwt_instance.Cb(a.__gwt_instance);
            return pr(b)
          });
          e.setBit = Jr(function(a) {
            var b = this.__gwt_instance.Db(a);
            return pr(b)
          });
          e.shiftLeft = Jr(function(a) {
            var b = this.__gwt_instance.eb(a);
            return pr(b)
          });
          e.shiftRight = Jr(function(a) {
            var b = this.__gwt_instance.fb(a);
            return pr(b)
          });
          e.signum = jr(Number, Jr(function() {
            var a = this.__gwt_instance.r();
            return a
          }));
          e.subtract = Jr(function(a) {
            var b = this.__gwt_instance.Eb(a.__gwt_instance);
            return pr(b)
          });
          e.testBit = jr(Number, Jr(function(a) {
            var b = this.__gwt_instance.gb(a);
            return b
          }));
          e.toString_va = Jr(function(a) {
            var b = this.__gwt_instance.Fb(a);
            return b
          });
          e.xor = Jr(function(a) {
            var b = this.__gwt_instance.Gb(a.__gwt_instance);
            return pr(b)
          });
          e.divideAndRemainder = Jr(function(a) {
            var b = this.__gwt_instance.ob(a.__gwt_instance);
            return qr(b)
          });
          e.longValue = jr(Number, Jr(function() {
            var a = this.__gwt_instance.sb();
            return a
          }));
          $wnd.bigdecimal.BigInteger.valueOf = Jr(function(a) {
            var b = (Oh(), new Pi(Ki(te(a))));
            return pr(b)
          });
          $wnd.bigdecimal.BigInteger.ONE = Jr(function() {
            var a = (Oh(), new Pi(Jh));
            return pr(a)
          });
          $wnd.bigdecimal.BigInteger.TEN = Jr(function() {
            var a = (Oh(), new Pi(Lh));
            return pr(a)
          });
          $wnd.bigdecimal.BigInteger.ZERO = Jr(function() {
            var a = (Oh(), new Pi(Nh));
            return pr(a)
          });
          mr(Sc, $wnd.bigdecimal.BigInteger)
        }
    
        function Dh() {
          nr(rs, Lr);
          if ($wnd.bigdecimal.BigDecimal) {
            var c = $wnd.bigdecimal.BigDecimal
          }
          $wnd.bigdecimal.BigDecimal = Jr(function() {
            if (arguments.length == 1 && arguments[0] != null && arguments[0].gC() == Qc) {
              this.__gwt_instance = arguments[0]
            } else if (arguments.length == 0) {
              this.__gwt_instance = new Jg;
              or(this.__gwt_instance, this)
            }
          });
          var d = $wnd.bigdecimal.BigDecimal.prototype = new Object;
          if (c) {
            for (p in c) {
              $wnd.bigdecimal.BigDecimal[p] = c[p]
            }
          }
          $wnd.bigdecimal.BigDecimal.ROUND_CEILING = 2;
          $wnd.bigdecimal.BigDecimal.ROUND_DOWN = 1;
          $wnd.bigdecimal.BigDecimal.ROUND_FLOOR = 3;
          $wnd.bigdecimal.BigDecimal.ROUND_HALF_DOWN = 5;
          $wnd.bigdecimal.BigDecimal.ROUND_HALF_EVEN = 6;
          $wnd.bigdecimal.BigDecimal.ROUND_HALF_UP = 4;
          $wnd.bigdecimal.BigDecimal.ROUND_UNNECESSARY = 7;
          $wnd.bigdecimal.BigDecimal.ROUND_UP = 0;
          $wnd.bigdecimal.BigDecimal.__init__ = Jr(function(a) {
            var b = Lg(a);
            return pr(b)
          });
          d.abs_va = Jr(function(a) {
            var b = this.__gwt_instance.s(a);
            return pr(b)
          });
          d.add_va = Jr(function(a) {
            var b = this.__gwt_instance.t(a);
            return pr(b)
          });
          d.byteValueExact = jr(Number, Jr(function() {
            var a = this.__gwt_instance.u();
            return a
          }));
          d.compareTo = jr(Number, Jr(function(a) {
            var b = this.__gwt_instance.v(a.__gwt_instance);
            return b
          }));
          d.divide_va = Jr(function(a) {
            var b = this.__gwt_instance.y(a);
            return pr(b)
          });
          d.divideToIntegralValue_va = Jr(function(a) {
            var b = this.__gwt_instance.x(a);
            return pr(b)
          });
          d.doubleValue = jr(Number, Jr(function() {
            var a = this.__gwt_instance.z();
            return a
          }));
          d.equals = jr(Number, Jr(function(a) {
            var b = this.__gwt_instance.eQ(a);
            return b
          }));
          d.floatValue = jr(Number, Jr(function() {
            var a = this.__gwt_instance.A();
            return a
          }));
          d.hashCode = jr(Number, Jr(function() {
            var a = this.__gwt_instance.hC();
            return a
          }));
          d.intValue = jr(Number, Jr(function() {
            var a = this.__gwt_instance.B();
            return a
          }));
          d.intValueExact = jr(Number, Jr(function() {
            var a = this.__gwt_instance.C();
            return a
          }));
          d.max = Jr(function(a) {
            var b = this.__gwt_instance.F(a.__gwt_instance);
            return pr(b)
          });
          d.min = Jr(function(a) {
            var b = this.__gwt_instance.G(a.__gwt_instance);
            return pr(b)
          });
          d.movePointLeft = Jr(function(a) {
            var b = this.__gwt_instance.H(a);
            return pr(b)
          });
          d.movePointRight = Jr(function(a) {
            var b = this.__gwt_instance.I(a);
            return pr(b)
          });
          d.multiply_va = Jr(function(a) {
            var b = this.__gwt_instance.J(a);
            return pr(b)
          });
          d.negate_va = Jr(function(a) {
            var b = this.__gwt_instance.K(a);
            return pr(b)
          });
          d.plus_va = Jr(function(a) {
            var b = this.__gwt_instance.L(a);
            return pr(b)
          });
          d.pow_va = Jr(function(a) {
            var b = this.__gwt_instance.M(a);
            return pr(b)
          });
          d.precision = jr(Number, Jr(function() {
            var a = this.__gwt_instance.q();
            return a
          }));
          d.remainder_va = Jr(function(a) {
            var b = this.__gwt_instance.N(a);
            return pr(b)
          });
          d.round = Jr(function(a) {
            var b = this.__gwt_instance.O(a.__gwt_instance);
            return pr(b)
          });
          d.scale = jr(Number, Jr(function() {
            var a = this.__gwt_instance.P();
            return a
          }));
          d.scaleByPowerOfTen = Jr(function(a) {
            var b = this.__gwt_instance.Q(a);
            return pr(b)
          });
          d.setScale_va = Jr(function(a) {
            var b = this.__gwt_instance.R(a);
            return pr(b)
          });
          d.shortValueExact = jr(Number, Jr(function() {
            var a = this.__gwt_instance.S();
            return a
          }));
          d.signum = jr(Number, Jr(function() {
            var a = this.__gwt_instance.r();
            return a
          }));
          d.stripTrailingZeros = Jr(function() {
            var a = this.__gwt_instance.T();
            return pr(a)
          });
          d.subtract_va = Jr(function(a) {
            var b = this.__gwt_instance.U(a);
            return pr(b)
          });
          d.toBigInteger = Jr(function() {
            var a = this.__gwt_instance.V();
            return pr(a)
          });
          d.toBigIntegerExact = Jr(function() {
            var a = this.__gwt_instance.W();
            return pr(a)
          });
          d.toEngineeringString = Jr(function() {
            var a = this.__gwt_instance.X();
            return a
          });
          d.toPlainString = Jr(function() {
            var a = this.__gwt_instance.Y();
            return a
          });
          d.toString = Jr(function() {
            var a = this.__gwt_instance.tS();
            return a
          });
          d.ulp = Jr(function() {
            var a = this.__gwt_instance.Z();
            return pr(a)
          });
          d.unscaledValue = Jr(function() {
            var a = this.__gwt_instance.$();
            return pr(a)
          });
          d.divideAndRemainder_va = Jr(function(a) {
            var b = this.__gwt_instance.w(a);
            return qr(b)
          });
          d.longValue = jr(Number, Jr(function() {
            var a = this.__gwt_instance.E();
            return a
          }));
          d.longValueExact = jr(Number, Jr(function() {
            var a = this.__gwt_instance.D();
            return a
          }));
          $wnd.bigdecimal.BigDecimal.valueOf_va = Jr(function(a) {
            var b = zh(a);
            return pr(b)
          });
          $wnd.bigdecimal.BigDecimal.log = jr(Number, Jr(function(a) {
            rf();
            typeof console !== Xr && console.log && console.log(a)
          }));
          $wnd.bigdecimal.BigDecimal.logObj = jr(Number, Jr(function(a) {
            rf();
            typeof console !== Xr && console.log && typeof JSON !== Xr && JSON.stringify && console.log('object: ' + JSON.stringify(a))
          }));
          $wnd.bigdecimal.BigDecimal.ONE = Jr(function() {
            var a = (rf(), new Kg(lf));
            return pr(a)
          });
          $wnd.bigdecimal.BigDecimal.TEN = Jr(function() {
            var a = (rf(), new Kg(mf));
            return pr(a)
          });
          $wnd.bigdecimal.BigDecimal.ZERO = Jr(function() {
            var a = (rf(), new Kg(of));
            return pr(a)
          });
          mr(Qc, $wnd.bigdecimal.BigDecimal)
        }
        var Lr = '',
          ys = ' ',
          $r = '"',
          Or = '(',
          gs = '+',
          Is = ', ',
          Ur = '-',
          ds = '.',
          Tr = '0',
          es = '0.',
          zs = '0.0',
          As = '0.00',
          Bs = '0.000',
          Cs = '0.0000',
          Ds = '0.00000',
          Es = '0.000000',
          Gs = '0E',
          Fs = '0E+',
          Qr = ':',
          Kr = ': ',
          Js = '=',
          ps = 'BigDecimal',
          qs = 'BigDecimal MathContext',
          Ts = 'BigDecimal;',
          is = 'BigInteger',
          ss = 'BigInteger divide by zero',
          vs = 'BigInteger not invertible.',
          us = 'BigInteger: modulus not positive',
          Us = 'BigInteger;',
          Vr = 'CSS1Compat',
          _r = 'Division by zero',
          as = 'Division impossible',
          fs = 'E',
          Zr = 'For input string: "',
          hs = 'Infinite or NaN',
          bs = 'Invalid Operation',
          os = 'MathContext',
          ts = 'Negative bit address',
          cs = 'Rounding necessary',
          xs = 'RoundingMode',
          Vs = 'RoundingMode;',
          Nr = 'String',
          Rr = '[',
          Ss = '[Lcom.iriscouch.gwtapp.client.',
          Os = '[Ljava.lang.',
          Ws = '[Ljava.math.',
          Ks = '\\.',
          Ls = '__gwtex_wrap',
          Pr = 'anonymous',
          js = 'array',
          Hs = 'bad string format',
          rs = 'bigdecimal',
          Ns = 'com.google.gwt.core.client.',
          Ps = 'com.google.gwt.core.client.impl.',
          Rs = 'com.iriscouch.gwtapp.client.',
          Ms = 'java.lang.',
          Qs = 'java.math.',
          Xs = 'java.util.',
          Yr = 'msie',
          Mr = 'null',
          ks = 'number',
          ls = 'number MathContext',
          ns = 'number number',
          ws = 'object',
          Wr = 'opera',
          Ys = 'org.timepedia.exporter.client.',
          Sr = 'safari',
          ms = 'string',
          Xr = 'undefined';
        var _, Gr = {
            l: 0,
            m: 0,
            h: 524288
          }, zr = {
            l: 0,
            m: 4193280,
            h: 1048575
          }, Er = {
            l: 4194298,
            m: 4194303,
            h: 1048575
          }, wr = {
            l: 4194303,
            m: 4194303,
            h: 1048575
          }, ur = {
            l: 0,
            m: 0,
            h: 0
          }, sr = {
            l: 1,
            m: 0,
            h: 0
          }, vr = {
            l: 2,
            m: 0,
            h: 0
          }, Hr = {
            l: 5,
            m: 0,
            h: 0
          }, tr = {
            l: 10,
            m: 0,
            h: 0
          }, xr = {
            l: 11,
            m: 0,
            h: 0
          }, Dr = {
            l: 18,
            m: 0,
            h: 0
          }, Cr = {
            l: 48,
            m: 0,
            h: 0
          }, Br = {
            l: 877824,
            m: 119,
            h: 0
          }, Ar = {
            l: 1755648,
            m: 238,
            h: 0
          }, Ir = {
            l: 4194303,
            m: 511,
            h: 0
          }, yr = {
            l: 4194303,
            m: 1023,
            h: 0
          }, Fr = {
            l: 0,
            m: 1024,
            h: 0
          };
        _ = H.prototype = {};
        _.eQ = function I(a) {
          return this === a
        };
        _.gC = function J() {
          return gd
        };
        _.hC = function K() {
          return ob(this)
        };
        _.tS = function L() {
          return this.gC().d + '@' + al(this.hC())
        };
        _.toString = function() {
          return this.tS()
        };
        _.tM = rr;
        _.cM = {};
        _ = P.prototype = new H;
        _.gC = function R() {
          return nd
        };
        _.j = function S() {
          return this.f
        };
        _.tS = function T() {
          var a, b;
          a = this.gC().d;
          b = this.j();
          return b != null ? a + Kr + b : a
        };
        _.cM = {
          6: 1,
          15: 1
        };
        _.f = null;
        _ = O.prototype = new P;
        _.gC = function U() {
          return ad
        };
        _.cM = {
          6: 1,
          15: 1
        };
        _ = V.prototype = N.prototype = new O;
        _.gC = function W() {
          return hd
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        _ = X.prototype = M.prototype = new N;
        _.gC = function Y() {
          return Fc
        };
        _.j = function ab() {
          this.d == null && (this.e = bb(this.c), this.b = Z(this.c), this.d = Or + this.e + '): ' + this.b + db(this.c), undefined);
          return this.d
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        _.b = null;
        _.c = null;
        _.d = null;
        _.e = null;
        _ = gb.prototype = new H;
        _.gC = function hb() {
          return Hc
        };
        var ib = 0,
          jb = 0;
        _ = ub.prototype = pb.prototype = new gb;
        _.gC = function vb() {
          return Ic
        };
        _.b = null;
        _.c = null;
        var qb;
        _ = Fb.prototype = Ab.prototype = new H;
        _.k = function Gb() {
          var a = {};
          var b = [];
          var c = arguments.callee.caller.caller;
          while (c) {
            var d = this.n(c.toString());
            b.push(d);
            var e = Qr + d;
            var f = a[e];
            if (f) {
              var g, i;
              for (g = 0, i = f.length; g < i; g++) {
                if (f[g] === c) {
                  return b
                }
              }
            }(f || (a[e] = [])).push(c);
            c = c.caller
          }
          return b
        };
        _.n = function Hb(a) {
          return yb(a)
        };
        _.gC = function Ib() {
          return Lc
        };
        _.o = function Jb(a) {
          return []
        };
        _ = Lb.prototype = new Ab;
        _.k = function Nb() {
          return zb(this.o(Eb()), this.p())
        };
        _.gC = function Ob() {
          return Kc
        };
        _.o = function Pb(a) {
          return Mb(this, a)
        };
        _.p = function Qb() {
          return 2
        };
        _ = Tb.prototype = Kb.prototype = new Lb;
        _.k = function Ub() {
          return Rb(this)
        };
        _.n = function Vb(a) {
          var b, c;
          if (a.length == 0) {
            return Pr
          }
          c = Dl(a);
          c.indexOf('at ') == 0 && (c = Al(c, 3));
          b = c.indexOf(Rr);
          b == -1 && (b = c.indexOf(Or));
          if (b == -1) {
            return Pr
          } else {
            c = Dl(c.substr(0, b - 0))
          }
          b = yl(c, String.fromCharCode(46));
          b != -1 && (c = Al(c, b + 1));
          return c.length > 0 ? c : Pr
        };
        _.gC = function Wb() {
          return Jc
        };
        _.o = function Xb(a) {
          return Sb(this, a)
        };
        _.p = function Yb() {
          return 3
        };
        _ = Zb.prototype = new H;
        _.gC = function $b() {
          return Nc
        };
        _ = fc.prototype = _b.prototype = new Zb;
        _.gC = function gc() {
          return Mc
        };
        _.b = Lr;
        _ = ic.prototype = hc.prototype = new H;
        _.gC = function kc() {
          return this.aC
        };
        _.aC = null;
        _.qI = 0;
        var oc, pc;
        var ae = null;
        var oe = null;
        var Me, Ne, Oe, Pe;
        _ = Se.prototype = Re.prototype = new H;
        _.gC = function Te() {
          return Oc
        };
        _.cM = {
          2: 1
        };
        _ = Ze.prototype = new H;
        _.gC = function cf() {
          return fd
        };
        _.cM = {
          6: 1,
          10: 1
        };
        var $e = null;
        _ = qg.prototype = pg.prototype = og.prototype = ng.prototype = mg.prototype = lg.prototype = kg.prototype = jg.prototype = ig.prototype = hg.prototype = gg.prototype = fg.prototype = eg.prototype = dg.prototype = cg.prototype = Ye.prototype = new Ze;
        _.eQ = function wg(a) {
          return Ff(this, a)
        };
        _.gC = function xg() {
          return pd
        };
        _.hC = function yg() {
          return Gf(this)
        };
        _.q = function Ag() {
          return Pf(this)
        };
        _.r = function Cg() {
          return Uf(this)
        };
        _.tS = function Eg() {
          return ag(this)
        };
        _.cM = {
          6: 1,
          8: 1,
          10: 1,
          16: 1
        };
        _.b = 0;
        _.c = 0;
        _.d = null;
        _.e = 0;
        _.f = 0;
        _.g = 0;
        _.i = null;
        var df, ef, ff, gf, hf, jf, kf = null,
          lf, mf, nf = null,
          of, pf, qf = null;
        _ = Kg.prototype = Jg.prototype = Xe.prototype = new Ye;
        _.s = function Mg(a) {
          var b, c, d;
          d = Lj(a);
          if (d == Lr) b = Uf(this) < 0 ? Mf(this) : this;
          else if (d == os) b = sf(Qf(this, new Yn(a[0].toString())));
          else throw new V('Unknown call signature for interim = super.abs: ' + d);
          c = new Kg(b);
          return c
        };
        _.t = function Ng(a) {
          var b, c, d;
          d = Lj(a);
          if (d == ps) b = tf(this, new mg(a[0].toString()));
          else if (d == qs) b = uf(this, new mg(a[0].toString()), new Yn(a[1].toString()));
          else throw new V('Unknown call signature for interim = super.add: ' + d);
          c = new Kg(b);
          return c
        };
        _.u = function Og() {
          return~~ (Je(bg(this, 8)) << 24) >> 24
        };
        _.v = function Pg(a) {
          return vf(this, a)
        };
        _.w = function Qg(a) {
          var b, c, d, e;
          e = Lj(a);
          if (e == ps) c = Bf(this, new mg(a[0].toString()));
          else if (e == qs) c = Cf(this, new mg(a[0].toString()), new Yn(a[1].toString()));
          else throw new V('Unknown call signature for interim = super.divideAndRemainder: ' + e);
          d = lc(Qd, {
            6: 1
          }, 3, c.length, 0);
          for (b = 0; b < c.length; ++b) d[b] = new Kg(c[b]);
          return d
        };
        _.x = function Rg(a) {
          var b, c, d;
          d = Lj(a);
          if (d == ps) b = Df(this, new mg(a[0].toString()));
          else if (d == qs) b = Ef(this, new mg(a[0].toString()), new Yn(a[1].toString()));
          else throw new V('Unknown call signature for interim = super.divideToIntegralValue: ' + d);
          c = new Kg(b);
          return c
        };
        _.y = function Sg(a) {
          var b, c, d;
          d = Lj(a);
          if (d == ps) b = wf(this, new mg(a[0].toString()));
          else if (d == 'BigDecimal number') b = xf(this, new mg(a[0].toString()), a[1]);
          else if (d == 'BigDecimal number number') b = yf(this, new mg(a[0].toString()), a[1], Uo(a[2]));
          else if (d == 'BigDecimal number RoundingMode') b = yf(this, new mg(a[0].toString()), a[1], To(a[2].toString()));
          else if (d == qs) b = zf(this, new mg(a[0].toString()), new Yn(a[1].toString()));
          else if (d == 'BigDecimal RoundingMode') b = Af(this, new mg(a[0].toString()), To(a[1].toString()));
          else throw new V('Unknown call signature for interim = super.divide: ' + d);
          c = new Kg(b);
          return c
        };
        _.z = function Tg() {
          return _e(ag(this))
        };
        _.eQ = function Ug(a) {
          return Ff(this, a)
        };
        _.A = function Vg() {
          var a, b;
          return a = Uf(this), b = this.b - this.f / 0.3010299956639812, b < -149 || a == 0 ? (a *= 0) : b > 129 ? (a *= Infinity) : (a = _e(ag(this))), a
        };
        _.gC = function Wg() {
          return Qc
        };
        _.hC = function Xg() {
          return Gf(this)
        };
        _.B = function Yg() {
          return this.f <= -32 || this.f > (this.e > 0 ? this.e : el((this.b - 1) * 0.3010299956639812) + 1) ? 0 : Mi(new Pi(this.f == 0 || this.b == 0 && this.g != -1 ? (!this.d && (this.d = Li(this.g)), this.d) : this.f < 0 ? ei((!this.d && (this.d = Li(this.g)), this.d), po(-this.f)) : Th((!this.d && (this.d = Li(this.g)), this.d), po(this.f))))
        };
        _.C = function Zg() {
          return Je(bg(this, 32))
        };
        _.D = function $g() {
          return Je(bg(this, 32))
        };
        _.E = function _g() {
          return _e(ag(this))
        };
        _.F = function ah(a) {
          return new Kg(vf(this, a) >= 0 ? this : a)
        };
        _.G = function bh(a) {
          return new Kg(vf(this, a) <= 0 ? this : a)
        };
        _.H = function ch(a) {
          return new Kg(Jf(this, this.f + a))
        };
        _.I = function dh(a) {
          return new Kg(Jf(this, this.f - a))
        };
        _.J = function eh(a) {
          var b, c, d;
          d = Lj(a);
          if (d == ps) b = Kf(this, new mg(a[0].toString()));
          else if (d == qs) b = Lf(this, new mg(a[0].toString()), new Yn(a[1].toString()));
          else throw new V('Unknown call signature for interim = super.multiply: ' + d);
          c = new Kg(b);
          return c
        };
        _.K = function fh(a) {
          var b, c, d;
          d = Lj(a);
          if (d == Lr) b = Mf(this);
          else if (d == os) b = Mf(Qf(this, new Yn(a[0].toString())));
          else throw new V('Unknown call signature for interim = super.negate: ' + d);
          c = new Kg(b);
          return c
        };
        _.L = function gh(a) {
          var b, c, d;
          d = Lj(a);
          if (d == Lr) b = this;
          else if (d == os) b = Qf(this, new Yn(a[0].toString()));
          else throw new V('Unknown call signature for interim = super.plus: ' + d);
          c = new Kg(b);
          return c
        };
        _.M = function hh(a) {
          var b, c, d;
          d = Lj(a);
          if (d == ks) b = Nf(this, a[0]);
          else if (d == ls) b = Of(this, a[0], new Yn(a[1].toString()));
          else throw new V('Unknown call signature for interim = super.pow: ' + d);
          c = new Kg(b);
          return c
        };
        _.q = function ih() {
          return Pf(this)
        };
        _.N = function jh(a) {
          var b, c, d;
          d = Lj(a);
          if (d == ps) b = Bf(this, new mg(a[0].toString()))[1];
          else if (d == qs) b = Cf(this, new mg(a[0].toString()), new Yn(a[1].toString()))[1];
          else throw new V('Unknown call signature for interim = super.remainder: ' + d);
          c = new Kg(b);
          return c
        };
        _.O = function kh(a) {
          return new Kg(Qf(this, new Yn(Wn(a.b))))
        };
        _.P = function lh() {
          return Bc(this.f)
        };
        _.Q = function mh(a) {
          return new Kg(Rf(this, a))
        };
        _.R = function nh(a) {
          var b, c, d;
          d = Lj(a);
          if (d == ks) b = Sf(this, a[0], (Qo(), Go));
          else if (d == ns) b = Sf(this, a[0], Uo(a[1]));
          else if (d == 'number RoundingMode') b = Sf(this, a[0], To(a[1].toString()));
          else throw new V('Unknown call signature for interim = super.setScale: ' + d);
          c = new Kg(b);
          return c
        };
        _.S = function oh() {
          return~~ (Je(bg(this, 16)) << 16) >> 16
        };
        _.r = function ph() {
          return Uf(this)
        };
        _.T = function qh() {
          return new Kg(Wf(this))
        };
        _.U = function rh(a) {
          var b, c, d;
          d = Lj(a);
          if (d == ps) b = Xf(this, new mg(a[0].toString()));
          else if (d == qs) b = Yf(this, new mg(a[0].toString()), new Yn(a[1].toString()));
          else throw new V('Unknown call signature for interim = super.subtract: ' + d);
          c = new Kg(b);
          return c
        };
        _.V = function sh() {
          return new Pi(this.f == 0 || this.b == 0 && this.g != -1 ? (!this.d && (this.d = Li(this.g)), this.d) : this.f < 0 ? ei((!this.d && (this.d = Li(this.g)), this.d), po(-this.f)) : Th((!this.d && (this.d = Li(this.g)), this.d), po(this.f)))
        };
        _.W = function th() {
          return new Pi(Zf(this))
        };
        _.X = function uh() {
          return $f(this)
        };
        _.Y = function vh() {
          return _f(this)
        };
        _.tS = function wh() {
          return ag(this)
        };
        _.Z = function xh() {
          return new Kg(new pg(1, this.f))
        };
        _.$ = function yh() {
          return new Pi((!this.d && (this.d = Li(this.g)), this.d))
        };
        _.cM = {
          3: 1,
          6: 1,
          8: 1,
          10: 1,
          16: 1,
          24: 1
        };
        _ = Eh.prototype = Ah.prototype = new H;
        _.gC = function Fh() {
          return Pc
        };
        var Bh = false;
        _ = ui.prototype = ti.prototype = si.prototype = ri.prototype = qi.prototype = pi.prototype = oi.prototype = ni.prototype = Hh.prototype = new Ze;
        _._ = function vi() {
          return this.f < 0 ? new si(1, this.e, this.b) : this
        };
        _.ab = function wi() {
          return sm(this)
        };
        _.eQ = function xi(a) {
          return Vh(this, a)
        };
        _.gC = function yi() {
          return qd
        };
        _.bb = function zi() {
          return $h(this)
        };
        _.hC = function Bi() {
          return _h(this)
        };
        _.cb = function Ci() {
          return this.f == 0 ? this : new si(-this.f, this.e, this.b)
        };
        _.db = function Di(a) {
          return gi(this, a)
        };
        _.eb = function Fi(a) {
          return ji(this, a)
        };
        _.fb = function Gi(a) {
          return li(this, a)
        };
        _.r = function Hi() {
          return this.f
        };
        _.gb = function Ii(a) {
          return mi(this, a)
        };
        _.tS = function Ji() {
          return Hm(this, 0)
        };
        _.cM = {
          6: 1,
          8: 1,
          10: 1,
          17: 1
        };
        _.b = null;
        _.c = -2;
        _.d = 0;
        _.e = 0;
        _.f = 0;
        var Ih, Jh, Kh, Lh, Mh = null,
          Nh;
        _ = Pi.prototype = Oi.prototype = Ni.prototype = Gh.prototype = new Hh;
        _._ = function Ri() {
          return new Pi(this.f < 0 ? new si(1, this.e, this.b) : this)
        };
        _.hb = function Si(a) {
          return new Pi(fn(this, a))
        };
        _.ib = function Ti(a) {
          return new Pi(vn(this, a))
        };
        _.jb = function Ui(a) {
          return new Pi(yn(this, a))
        };
        _.kb = function Vi() {
          return rm(this)
        };
        _.ab = function Wi() {
          return sm(this)
        };
        _.lb = function Xi(a) {
          return new Pi(Ph(this, a))
        };
        _.mb = function Yi(a) {
          return Qh(this, a)
        };
        _.nb = function Zi(a) {
          return new Pi(Th(this, a))
        };
        _.ob = function $i(a) {
          var b, c, d;
          c = Uh(this, a);
          d = lc(Rd, {
            6: 1
          }, 4, c.length, 0);
          for (b = 0; b < c.length; ++b) d[b] = new Pi(c[b]);
          return d
        };
        _.z = function _i() {
          return _e(Hm(this, 0))
        };
        _.eQ = function aj(a) {
          return Vh(this, a)
        };
        _.pb = function bj(a) {
          return new Pi(Xh(this, a))
        };
        _.A = function cj() {
          return Pk(Hm(this, 0))
        };
        _.qb = function dj(a) {
          return new Pi(Yh(this, a))
        };
        _.gC = function ej() {
          return Sc
        };
        _.bb = function fj() {
          return $h(this)
        };
        _.hC = function gj() {
          return _h(this)
        };
        _.B = function hj() {
          return Mi(this)
        };
        _.rb = function ij(a) {
          return vo(new Pi(this.f < 0 ? new si(1, this.e, this.b) : this), a)
        };
        _.sb = function jj() {
          return _e(Hm(this, 0))
        };
        _.tb = function kj(a) {
          return new Pi(Qh(this, a) == 1 ? this : a)
        };
        _.ub = function lj(a) {
          return new Pi(Qh(this, a) == -1 ? this : a)
        };
        _.vb = function mj(a) {
          return new Pi(bi(this, a))
        };
        _.wb = function nj(a) {
          return new Pi(ci(this, a))
        };
        _.xb = function oj(a, b) {
          return new Pi(di(this, a, b))
        };
        _.yb = function pj(a) {
          return new Pi(ei(this, a))
        };
        _.cb = function qj() {
          return new Pi(this.f == 0 ? this : new si(-this.f, this.e, this.b))
        };
        _.zb = function rj() {
          return new Pi(fi(this))
        };
        _.Ab = function sj() {
          return new Pi(En(this))
        };
        _.Bb = function tj(a) {
          return new Pi(Fn(this, a))
        };
        _.db = function uj(a) {
          return new Pi(gi(this, a))
        };
        _.Cb = function vj(a) {
          return new Pi(hi(this, a))
        };
        _.Db = function wj(a) {
          return new Pi(ii(this, a))
        };
        _.eb = function xj(a) {
          return new Pi(ji(this, a))
        };
        _.fb = function yj(a) {
          return new Pi(li(this, a))
        };
        _.r = function zj() {
          return this.f
        };
        _.Eb = function Aj(a) {
          return new Pi(rn(this, a))
        };
        _.gb = function Bj(a) {
          return mi(this, a)
        };
        _.Fb = function Cj(a) {
          var b, c;
          c = Lj(a);
          if (c == Lr) b = Hm(this, 0);
          else if (c == ks) b = Fm(this, a[0]);
          else throw new V('Unknown call signature for result = super.toString: ' + c);
          return b
        };
        _.Gb = function Dj(a) {
          return new Pi(Jn(this, a))
        };
        _.cM = {
          4: 1,
          6: 1,
          8: 1,
          10: 1,
          17: 1,
          24: 1
        };
        _ = Ij.prototype = Ej.prototype = new H;
        _.gC = function Kj() {
          return Rc
        };
        var Fj = false;
        _ = Oj.prototype = Nj.prototype = Mj.prototype = new H;
        _.gC = function Pj() {
          return Uc
        };
        _.Hb = function Qj() {
          return this.b.b
        };
        _.Ib = function Rj() {
          return new bk(this.b.c)
        };
        _.hC = function Sj() {
          return Vn(this.b)
        };
        _.tS = function Tj() {
          return Wn(this.b)
        };
        _.cM = {
          24: 1
        };
        _.b = null;
        _ = Yj.prototype = Uj.prototype = new H;
        _.gC = function $j() {
          return Tc
        };
        var Vj = false;
        _ = bk.prototype = ak.prototype = _j.prototype = new H;
        _.gC = function ck() {
          return Wc
        };
        _.Jb = function dk() {
          return this.b.b
        };
        _.tS = function ek() {
          return this.b.b
        };
        _.cM = {
          5: 1,
          24: 1
        };
        _.b = null;
        _ = kk.prototype = gk.prototype = new H;
        _.gC = function lk() {
          return Vc
        };
        var hk = false;
        _ = nk.prototype = mk.prototype = new N;
        _.gC = function ok() {
          return Xc
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        _ = rk.prototype = qk.prototype = pk.prototype = new N;
        _.gC = function sk() {
          return Yc
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        _ = wk.prototype = vk.prototype = new H;
        _.gC = function Bk() {
          return $c
        };
        _.tS = function Ck() {
          return ((this.c & 2) != 0 ? 'interface ' : (this.c & 1) != 0 ? Lr : 'class ') + this.d
        };
        _.b = null;
        _.c = 0;
        _.d = null;
        _ = Ek.prototype = Dk.prototype = new N;
        _.gC = function Fk() {
          return Zc
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        _ = Ik.prototype = new H;
        _.eQ = function Kk(a) {
          return this === a
        };
        _.gC = function Lk() {
          return _c
        };
        _.hC = function Mk() {
          return ob(this)
        };
        _.tS = function Nk() {
          return this.b
        };
        _.cM = {
          6: 1,
          8: 1,
          9: 1
        };
        _.b = null;
        _.c = 0;
        _ = Sk.prototype = Rk.prototype = Qk.prototype = new N;
        _.gC = function Tk() {
          return bd
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        _ = Wk.prototype = Vk.prototype = Uk.prototype = new N;
        _.gC = function Xk() {
          return cd
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        _ = kl.prototype = jl.prototype = il.prototype = new N;
        _.gC = function ll() {
          return dd
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        var ml;
        _ = pl.prototype = ol.prototype = new Qk;
        _.gC = function ql() {
          return ed
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        _ = sl.prototype = rl.prototype = new H;
        _.gC = function tl() {
          return id
        };
        _.tS = function ul() {
          return this.b + ds + this.d + '(Unknown Source' + (this.c >= 0 ? Qr + this.c : Lr) + ')'
        };
        _.cM = {
          6: 1,
          13: 1
        };
        _.b = null;
        _.c = 0;
        _.d = null;
        _ = String.prototype;
        _.eQ = function Hl(a) {
          return wl(this, a)
        };
        _.gC = function Il() {
          return md
        };
        _.hC = function Jl() {
          return Rl(this)
        };
        _.tS = function Kl() {
          return this
        };
        _.cM = {
          1: 1,
          6: 1,
          7: 1,
          8: 1
        };
        var Ml, Nl = 0,
          Ol;
        _ = Ul.prototype = Tl.prototype = new H;
        _.gC = function Vl() {
          return jd
        };
        _.tS = function Wl() {
          return this.b.b
        };
        _.cM = {
          7: 1
        };
        _ = hm.prototype = gm.prototype = fm.prototype = Xl.prototype = new H;
        _.gC = function im() {
          return kd
        };
        _.tS = function jm() {
          return this.b.b
        };
        _.cM = {
          7: 1
        };
        _ = lm.prototype = km.prototype = new Uk;
        _.gC = function mm() {
          return ld
        };
        _.cM = {
          6: 1,
          12: 1,
          14: 1,
          15: 1
        };
        _ = pm.prototype = om.prototype = new N;
        _.gC = function qm() {
          return od
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        var Cm, Dm;
        _ = Yn.prototype = Xn.prototype = Nn.prototype = new H;
        _.eQ = function Zn(a) {
          return xc(a, 18) && vc(a, 18).b == this.b && vc(a, 18).c == this.c
        };
        _.gC = function $n() {
          return rd
        };
        _.hC = function _n() {
          return Vn(this)
        };
        _.tS = function ao() {
          return Wn(this)
        };
        _.cM = {
          6: 1,
          18: 1
        };
        _.b = 0;
        _.c = null;
        var On, Pn, Qn, Rn, Sn, Tn;
        var bo, co, eo, fo;
        var ro, so, to;
        _ = Ro.prototype = yo.prototype = new Ik;
        _.gC = function So() {
          return sd
        };
        _.cM = {
          6: 1,
          8: 1,
          9: 1,
          19: 1
        };
        var zo, Ao, Bo, Co, Do, Eo, Fo, Go, Ho, Io, Jo, Ko, Lo, Mo, No, Oo, Po;
        var Xo;
        _ = Zo.prototype = new H;
        _.Kb = function _o(a) {
          throw new pm
        };
        _.Lb = function ap(a) {
          var b;
          b = $o(this.Mb(), a);
          return !!b
        };
        _.gC = function bp() {
          return td
        };
        _.tS = function cp() {
          var a, b, c, d;
          c = new Ul;
          a = null;
          c.b.b += Rr;
          b = this.Mb();
          while (b.Pb()) {
            a != null ? (cc(c.b, a), c) : (a = Is);
            d = b.Qb();
            cc(c.b, d === this ? '(this Collection)' : Lr + d)
          }
          c.b.b += ']';
          return c.b.b
        };
        _ = ep.prototype = new H;
        _.eQ = function fp(a) {
          var b, c, d, e, f;
          if (a === this) {
            return true
          }
          if (!xc(a, 21)) {
            return false
          }
          e = vc(a, 21);
          if (this.e != e.e) {
            return false
          }
          for (c = new Ip((new Cp(e)).b); kq(c.b);) {
            b = vc(lq(c.b), 22);
            d = b.Rb();
            f = b.Sb();
            if (!(d == null ? this.d : xc(d, 1) ? Qr + vc(d, 1) in this.f : pp(this, d, ~~fb(d)))) {
              return false
            }
            if (!Xq(f, d == null ? this.c : xc(d, 1) ? op(this, vc(d, 1)) : np(this, d, ~~fb(d)))) {
              return false
            }
          }
          return true
        };
        _.gC = function gp() {
          return Cd
        };
        _.hC = function hp() {
          var a, b, c;
          c = 0;
          for (b = new Ip((new Cp(this)).b); kq(b.b);) {
            a = vc(lq(b.b), 22);
            c += a.hC();
            c = ~~c
          }
          return c
        };
        _.tS = function ip() {
          var a, b, c, d;
          d = '{';
          a = false;
          for (c = new Ip((new Cp(this)).b); kq(c.b);) {
            b = vc(lq(c.b), 22);
            a ? (d += Is) : (a = true);
            d += Lr + b.Rb();
            d += Js;
            d += Lr + b.Sb()
          }
          return d + '}'
        };
        _.cM = {
          21: 1
        };
        _ = dp.prototype = new ep;
        _.Ob = function vp(a, b) {
          return Ac(a) === Ac(b) || a != null && eb(a, b)
        };
        _.gC = function wp() {
          return yd
        };
        _.cM = {
          21: 1
        };
        _.b = null;
        _.c = null;
        _.d = false;
        _.e = 0;
        _.f = null;
        _ = yp.prototype = new Zo;
        _.eQ = function zp(a) {
          var b, c, d;
          if (a === this) {
            return true
          }
          if (!xc(a, 23)) {
            return false
          }
          c = vc(a, 23);
          if (c.b.e != this.Nb()) {
            return false
          }
          for (b = new Ip(c.b); kq(b.b);) {
            d = vc(lq(b.b), 22);
            if (!this.Lb(d)) {
              return false
            }
          }
          return true
        };
        _.gC = function Ap() {
          return Dd
        };
        _.hC = function Bp() {
          var a, b, c;
          a = 0;
          for (b = this.Mb(); b.Pb();) {
            c = b.Qb();
            if (c != null) {
              a += fb(c);
              a = ~~a
            }
          }
          return a
        };
        _.cM = {
          23: 1
        };
        _ = Cp.prototype = xp.prototype = new yp;
        _.Lb = function Dp(a) {
          var b, c, d;
          if (xc(a, 22)) {
            b = vc(a, 22);
            c = b.Rb();
            if (lp(this.b, c)) {
              d = mp(this.b, c);
              return Eq(b.Sb(), d)
            }
          }
          return false
        };
        _.gC = function Ep() {
          return vd
        };
        _.Mb = function Fp() {
          return new Ip(this.b)
        };
        _.Nb = function Gp() {
          return this.b.e
        };
        _.cM = {
          23: 1
        };
        _.b = null;
        _ = Ip.prototype = Hp.prototype = new H;
        _.gC = function Jp() {
          return ud
        };
        _.Pb = function Kp() {
          return kq(this.b)
        };
        _.Qb = function Lp() {
          return vc(lq(this.b), 22)
        };
        _.b = null;
        _ = Np.prototype = new H;
        _.eQ = function Op(a) {
          var b;
          if (xc(a, 22)) {
            b = vc(a, 22);
            if (Xq(this.Rb(), b.Rb()) && Xq(this.Sb(), b.Sb())) {
              return true
            }
          }
          return false
        };
        _.gC = function Pp() {
          return Bd
        };
        _.hC = function Qp() {
          var a, b;
          a = 0;
          b = 0;
          this.Rb() != null && (a = fb(this.Rb()));
          this.Sb() != null && (b = fb(this.Sb()));
          return a ^ b
        };
        _.tS = function Rp() {
          return this.Rb() + Js + this.Sb()
        };
        _.cM = {
          22: 1
        };
        _ = Sp.prototype = Mp.prototype = new Np;
        _.gC = function Tp() {
          return wd
        };
        _.Rb = function Up() {
          return null
        };
        _.Sb = function Vp() {
          return this.b.c
        };
        _.Tb = function Wp(a) {
          return tp(this.b, a)
        };
        _.cM = {
          22: 1
        };
        _.b = null;
        _ = Yp.prototype = Xp.prototype = new Np;
        _.gC = function Zp() {
          return xd
        };
        _.Rb = function $p() {
          return this.b
        };
        _.Sb = function _p() {
          return op(this.c, this.b)
        };
        _.Tb = function aq(a) {
          return up(this.c, this.b, a)
        };
        _.cM = {
          22: 1
        };
        _.b = null;
        _.c = null;
        _ = bq.prototype = new Zo;
        _.Kb = function cq(a) {
          sq(this, this.Nb(), a);
          return true
        };
        _.eQ = function eq(a) {
          var b, c, d, e, f;
          if (a === this) {
            return true
          }
          if (!xc(a, 20)) {
            return false
          }
          f = vc(a, 20);
          if (this.Nb() != f.c) {
            return false
          }
          d = new mq(this);
          e = new mq(f);
          while (d.b < d.c.c) {
            b = lq(d);
            c = lq(e);
            if (!(b == null ? c == null : eb(b, c))) {
              return false
            }
          }
          return true
        };
        _.gC = function fq() {
          return Ad
        };
        _.hC = function gq() {
          var a, b, c;
          b = 1;
          a = new mq(this);
          while (a.b < a.c.c) {
            c = lq(a);
            b = 31 * b + (c == null ? 0 : fb(c));
            b = ~~b
          }
          return b
        };
        _.Mb = function iq() {
          return new mq(this)
        };
        _.cM = {
          20: 1
        };
        _ = mq.prototype = jq.prototype = new H;
        _.gC = function nq() {
          return zd
        };
        _.Pb = function oq() {
          return kq(this)
        };
        _.Qb = function pq() {
          return lq(this)
        };
        _.b = 0;
        _.c = null;
        _ = vq.prototype = qq.prototype = new bq;
        _.Kb = function wq(a) {
          return rq(this, a)
        };
        _.Lb = function xq(a) {
          return uq(this, a, 0) != -1
        };
        _.gC = function yq() {
          return Ed
        };
        _.Nb = function zq() {
          return this.c
        };
        _.cM = {
          6: 1,
          20: 1
        };
        _.c = 0;
        _ = Fq.prototype = Dq.prototype = new dp;
        _.gC = function Gq() {
          return Fd
        };
        _.cM = {
          6: 1,
          21: 1
        };
        _ = Iq.prototype = Hq.prototype = new Np;
        _.gC = function Jq() {
          return Gd
        };
        _.Rb = function Kq() {
          return this.b
        };
        _.Sb = function Lq() {
          return this.c
        };
        _.Tb = function Mq(a) {
          var b;
          b = this.c;
          this.c = a;
          return b
        };
        _.cM = {
          22: 1
        };
        _.b = null;
        _.c = null;
        _ = Oq.prototype = Nq.prototype = new N;
        _.gC = function Pq() {
          return Hd
        };
        _.cM = {
          6: 1,
          12: 1,
          15: 1
        };
        _ = Vq.prototype = Qq.prototype = new H;
        _.gC = function Wq() {
          return Id
        };
        _.b = 0;
        _.c = 0;
        var Rq, Sq, Tq = 0;
        _ = Zq.prototype = new H;
        _.gC = function $q() {
          return Kd
        };
        _ = gr.prototype = Yq.prototype = new Zq;
        _.gC = function hr() {
          return Jd
        };
        var kr;
        var Jr = mb;
        var gd = yk(Ms, 'Object'),
          _c = yk(Ms, 'Enum'),
          nd = yk(Ms, 'Throwable'),
          ad = yk(Ms, 'Exception'),
          hd = yk(Ms, 'RuntimeException'),
          Fc = yk(Ns, 'JavaScriptException'),
          Gc = yk(Ns, 'JavaScriptObject$'),
          Hc = yk(Ns, 'Scheduler'),
          Ec = Ak('int'),
          Od = xk(Lr, '[I', Ec),
          Td = xk(Os, 'Object;', gd),
          Ld = Ak('boolean'),
          Zd = xk(Lr, '[Z', Ld),
          Ic = yk(Ps, 'SchedulerImpl'),
          Lc = yk(Ps, 'StackTraceCreator$Collector'),
          id = yk(Ms, 'StackTraceElement'),
          Ud = xk(Os, 'StackTraceElement;', id),
          Kc = yk(Ps, 'StackTraceCreator$CollectorMoz'),
          Jc = yk(Ps, 'StackTraceCreator$CollectorChrome'),
          Nc = yk(Ps, 'StringBufferImpl'),
          Mc = yk(Ps, 'StringBufferImplAppend'),
          md = yk(Ms, Nr),
          Vd = xk(Os, 'String;', md),
          Oc = yk('com.google.gwt.lang.', 'LongLibBase$LongEmul'),
          Pd = xk('[Lcom.google.gwt.lang.', 'LongLibBase$LongEmul;', Oc),
          fd = yk(Ms, 'Number'),
          pd = yk(Qs, ps),
          Qc = yk(Rs, ps),
          Qd = xk(Ss, Ts, Qc),
          Pc = yk(Rs, 'BigDecimalExporterImpl'),
          qd = yk(Qs, is),
          Sc = yk(Rs, is),
          Rd = xk(Ss, Us, Sc),
          Rc = yk(Rs, 'BigIntegerExporterImpl'),
          Uc = yk(Rs, os),
          Tc = yk(Rs, 'MathContextExporterImpl'),
          Wc = yk(Rs, xs),
          Sd = xk(Ss, Vs, Wc),
          Vc = yk(Rs, 'RoundingModeExporterImpl'),
          Xc = yk(Ms, 'ArithmeticException'),
          cd = yk(Ms, 'IndexOutOfBoundsException'),
          Yc = yk(Ms, 'ArrayStoreException'),
          Cc = Ak('char'),
          Md = xk(Lr, '[C', Cc),
          $c = yk(Ms, 'Class'),
          Zc = yk(Ms, 'ClassCastException'),
          bd = yk(Ms, 'IllegalArgumentException'),
          dd = yk(Ms, 'NullPointerException'),
          ed = yk(Ms, 'NumberFormatException'),
          jd = yk(Ms, 'StringBuffer'),
          kd = yk(Ms, 'StringBuilder'),
          ld = yk(Ms, 'StringIndexOutOfBoundsException'),
          od = yk(Ms, 'UnsupportedOperationException'),
          Wd = xk(Ws, Ts, pd),
          Dc = Ak('double'),
          Nd = xk(Lr, '[D', Dc),
          Xd = xk(Ws, Us, qd),
          rd = yk(Qs, os),
          sd = zk(Qs, xs, Wo),
          Yd = xk(Ws, Vs, sd),
          td = yk(Xs, 'AbstractCollection'),
          Cd = yk(Xs, 'AbstractMap'),
          yd = yk(Xs, 'AbstractHashMap'),
          Dd = yk(Xs, 'AbstractSet'),
          vd = yk(Xs, 'AbstractHashMap$EntrySet'),
          ud = yk(Xs, 'AbstractHashMap$EntrySetIterator'),
          Bd = yk(Xs, 'AbstractMapEntry'),
          wd = yk(Xs, 'AbstractHashMap$MapEntryNull'),
          xd = yk(Xs, 'AbstractHashMap$MapEntryString'),
          Ad = yk(Xs, 'AbstractList'),
          zd = yk(Xs, 'AbstractList$IteratorImpl'),
          Ed = yk(Xs, 'ArrayList'),
          Fd = yk(Xs, 'HashMap'),
          Gd = yk(Xs, 'MapEntryImpl'),
          Hd = yk(Xs, 'NoSuchElementException'),
          Id = yk(Xs, 'Random'),
          Kd = yk(Ys, 'ExporterBaseImpl'),
          Jd = yk(Ys, 'ExporterBaseActual');
        $stats && $stats({
          moduleName: 'gwtapp',
          sessionId: $sessionId,
          subSystem: 'startup',
          evtGroup: 'moduleStartup',
          millis: (new Date()).getTime(),
          type: 'moduleEvalEnd'
        });
        if (gwtapp && gwtapp.onScriptLoad) gwtapp.onScriptLoad(gwtOnLoad);
        gwtOnLoad(null, 'ModuleName', 'moduleBase');
      })();
    
      exports.RoundingMode = window.bigdecimal.RoundingMode;
      exports.MathContext = window.bigdecimal.MathContext;
    
      fix_and_export('BigDecimal');
      fix_and_export('BigInteger');
    
      // This is an unfortunate kludge because Java methods and constructors cannot accept vararg parameters.
    
      function fix_and_export(class_name) {
        var Src = window.bigdecimal[class_name];
        var Fixed = Src;
        if (Src.__init__) {
          Fixed = function wrap_constructor() {
            var args = Array.prototype.slice.call(arguments);
            return Src.__init__(args);
          };
    
          Fixed.prototype = Src.prototype;
    
          for (var a in Src)
            if (Src.hasOwnProperty(a)) {
              if ((typeof Src[a] != 'function') || !a.match(/_va$/))
                Fixed[a] = Src[a];
              else {
                var pub_name = a.replace(/_va$/, '');
                Fixed[pub_name] = function wrap_classmeth() {
                  var args = Array.prototype.slice.call(arguments);
                  return wrap_classmeth.inner_method(args);
                };
                Fixed[pub_name].inner_method = Src[a];
              }
            }
    
        }
    
        var proto = Fixed.prototype;
        for (var a in proto) {
          if (proto.hasOwnProperty(a) && (typeof proto[a] == 'function') && a.match(/_va$/)) {
            var pub_name = a.replace(/_va$/, '');
            proto[pub_name] = function wrap_meth() {
              var args = Array.prototype.slice.call(arguments);
              return wrap_meth.inner_method.apply(this, [args]);
            };
            proto[pub_name].inner_method = proto[a];
            delete proto[a];
          }
        }
    
        exports[class_name] = Fixed;
      }
    
    })(typeof exports !== 'undefined' ? exports : (typeof window !== 'undefined' ? window : {}));

Test runner

Ready to run.

Testing in
TestOps/sec
BigDecimal
var bd1 = new BigDecimal(2);
var bd2 = new BigDecimal(3.5);
bd1.multiply(bd2).floatValue();
ready
pure js
2 * 3.5
ready
numeric.js
var multiplied = numeric.dot(0.1,0.2);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 1: published by test on