<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">'use strict';
var ca, da, ea, fa, ha, ia, ja, ka, C, la, ma, na, oa, ra, sa, ta, ua, va, wa, ya, za, Aa, Ca, G, Da, Ea, Fa, Ga, Ha, M, Ia, Ja, Ka, La, Ma, Na, Oa, Qa, Ra, Sa, Ta, Ua, Wa, Xa, Ya, Za, $a, ab, bb, cb, db, eb, fb, lb, mb, nb, ob, pb, qb, rb, sb, tb, ub, vb, wb, xb, zb, Ab, Bb, Cb, Db, Eb, Fb, Gb, Hb, Ib, Jb, Kb, Lb, Mb, Nb, Ob, Pb, Sb, Tb, Ub, Vb, Wb, Xb, Yb, Zb, $b, ac, bc, cc, dc, ec, fc, gc, hc, ic = {};
"function" !== typeof Object.getPrototypeOf &amp;&amp; (Object.getPrototypeOf = "object" === typeof "test".__proto__ ? function(g) {
    return g.__proto__
} : function(g) {
    return g.constructor.prototype
});
(function() {
    function g(a, d, e, t) {
        this.set(a, d, e, t)
    }

    function h() {
        this.Wb = this.Vb = this.Yb = this.Xb = this.hc = this.gc = this.Bb = this.Ab = 0
    }

    function b(a, d, e, t) {
        a &lt; d ? e &lt; t ? (E = a &lt; e ? a : e, u = d &gt; t ? d : t) : (E = a &lt; t ? a : t, u = d &gt; e ? d : e) : e &lt; t ? (E = d &lt; e ? d : e, u = a &gt; t ? a : t) : (E = d &lt; t ? d : t, u = a &gt; e ? a : e)
    }

    function k() {
        this.items = this.Qd = null;
        this.hi = 0;
        z &amp;&amp; (this.Qd = new Set);
        this.mh = [];
        this.Le = !0
    }

    function r(a) {
        v[B++] = a
    }

    function q() {
        this.R = this.bl = this.y = this.zh = 0
    }

    function l(a) {
        this.Xg = [];
        this.gp = this.ip = this.jp = this.hp = 0;
        this.Mi(a)
    }

    function a(a, d) {
        this.Nl = a;
        this.Ml = d;
        this.cells = {}
    }

    function f(a, d) {
        this.Nl = a;
        this.Ml = d;
        this.cells = {}
    }

    function c(a, d, e) {
        var t;
        return A.length ? (t = A.pop(), t.vm = a, t.x = d, t.y = e, t) : new da(a, d, e)
    }

    function d(a, d, e) {
        this.vm = a;
        this.x = d;
        this.y = e;
        this.yb = new ea
    }

    function e(a, d, e) {
        var t;
        return y.length ? (t = y.pop(), t.vm = a, t.x = d, t.y = e, t) : new fa(a, d, e)
    }

    function n(a, d, e) {
        this.vm = a;
        this.x = d;
        this.y = e;
        this.yb = [];
        this.Bg = !0;
        this.Nd = new ea;
        this.vh = !1
    }

    function p(a, d) {
        return a.wd - d.wd
    }
    ha = function(a) {
        window.console &amp;&amp; window.console.log &amp;&amp; window.console.log(a)
    };
    ia = function(a) {
        window.console &amp;&amp; window.console.error &amp;&amp; window.console.error(a)
    };
    ca = function(a) {
        return a
    };
    ja = function(a) {
        return "undefined" === typeof a
    };
    ka = function(a) {
        return "number" === typeof a
    };
    C = function(a) {
        return "string" === typeof a
    };
    la = function(a) {
        return 0 &lt; a &amp;&amp; 0 === (a - 1 &amp; a)
    };
    ma = function(a) {
        --a;
        for (var d = 1; 32 &gt; d; d &lt;&lt;= 1) a = a | a &gt;&gt; d;
        return a + 1
    };
    na = function(a) {
        return 0 &gt; a ? -a : a
    };
    oa = function(a, d) {
        return a &gt; d ? a : d
    };
    ra = function(a, d) {
        return a &lt; d ? a : d
    };
    sa = Math.PI;
    ta = function(a) {
        return 0 &lt;= a ? a | 0 : (a | 0) - 1
    };
    ua = function(a) {
        var d = a | 0;
        return d === a ? d : d + 1
    };
    va = function(a, d, e, t, c, f, p, n) {
        var m, l, u, b;
        a &lt; e ? (l = a, m = e) : (l = e, m = a);
        c &lt; p ? (b = c, u = p) : (b = p, u = c);
        if (m &lt; b || l &gt; u) return !1;
        d &lt; t ? (l = d, m = t) : (l = t, m = d);
        f &lt; n ? (b = f, u = n) : (b = n, u = f);
        if (m &lt; b || l &gt; u) return !1;
        m = c - a + p - e;
        l = f - d + n - t;
        a = e - a;
        d = t - d;
        c = p - c;
        f = n - f;
        n = na(d * c - f * a);
        return na(c * l - f * m) &gt; n ? !1 : na(a * l - d * m) &lt;= n
    };
    g.prototype.set = function(a, d, e, t) {
        this.left = a;
        this.top = d;
        this.right = e;
        this.bottom = t
    };
    g.prototype.Ch = function(a) {
        this.left = a.left;
        this.top = a.top;
        this.right = a.right;
        this.bottom = a.bottom
    };
    g.prototype.width = function() {
        return this.right - this.left
    };
    g.prototype.height = function() {
        return this.bottom - this.top
    };
    g.prototype.offset = function(a, d) {
        this.left += a;
        this.top += d;
        this.right += a;
        this.bottom += d;
        return this
    };
    g.prototype.normalize = function() {
        var a = 0;
        this.left &gt; this.right &amp;&amp; (a = this.left, this.left = this.right, this.right = a);
        this.top &gt; this.bottom &amp;&amp; (a = this.top, this.top = this.bottom, this.bottom = a)
    };
    g.prototype.Rc = function(a, d) {
        return a &gt;= this.left &amp;&amp; a &lt;= this.right &amp;&amp; d &gt;= this.top &amp;&amp; d &lt;= this.bottom
    };
    g.prototype.Hh = function(a) {
        return this.left === a.left &amp;&amp; this.top === a.top &amp;&amp; this.right === a.right &amp;&amp; this.bottom === a.bottom
    };
    wa = g;
    h.prototype.Xk = function(a) {
        this.Ab = a.left;
        this.Bb = a.top;
        this.gc = a.right;
        this.hc = a.top;
        this.Xb = a.right;
        this.Yb = a.bottom;
        this.Vb = a.left;
        this.Wb = a.bottom
    };
    h.prototype.Sr = function(a, d) {
        if (0 === d) this.Xk(a);
        else {
            var e = Math.sin(d),
                t = Math.cos(d),
                c = a.left * e,
                f = a.top * e,
                p = a.right * e,
                e = a.bottom * e,
                n = a.left * t,
                m = a.top * t,
                l = a.right * t,
                t = a.bottom * t;
            this.Ab = n - f;
            this.Bb = m + c;
            this.gc = l - f;
            this.hc = m + p;
            this.Xb = l - e;
            this.Yb = t + p;
            this.Vb = n - e;
            this.Wb = t +
                c
        }
    };
    h.prototype.offset = function(a, d) {
        this.Ab += a;
        this.Bb += d;
        this.gc += a;
        this.hc += d;
        this.Xb += a;
        this.Yb += d;
        this.Vb += a;
        this.Wb += d;
        return this
    };
    var E = 0,
        u = 0;
    h.prototype.lp = function(a) {
        b(this.Ab, this.gc, this.Xb, this.Vb);
        a.left = E;
        a.right = u;
        b(this.Bb, this.hc, this.Yb, this.Wb);
        a.top = E;
        a.bottom = u
    };
    h.prototype.Rc = function(a, d) {
        var e = this.Ab,
            t = this.Bb,
            c = this.gc - e,
            f = this.hc - t,
            p = this.Xb - e,
            n = this.Yb - t,
            m = a - e,
            l = d - t,
            u = c * c + f * f,
            b = c * p + f * n,
            f = c * m + f * l,
            E = p * p + n * n,
            x = p * m + n * l,
            h = 1 / (u * E - b * b),
            c = (E * f - b * x) * h,
            u = (u * x - b * f) * h;
        if (0 &lt;= c &amp;&amp; 0 &lt; u &amp;&amp; 1 &gt; c + u) return !0;
        c = this.Vb - e;
        f = this.Wb - t;
        u = c * c + f * f;
        b = c * p + f * n;
        f = c * m + f * l;
        h = 1 / (u * E - b * b);
        c = (E * f - b * x) * h;
        u = (u * x - b * f) * h;
        return 0 &lt;= c &amp;&amp; 0 &lt; u &amp;&amp; 1 &gt; c + u
    };
    h.prototype.Fl = function(a, d) {
        if (d) switch (a) {
            case 0:
                return this.Ab;
            case 1:
                return this.gc;
            case 2:
                return this.Xb;
            case 3:
                return this.Vb;
            case 4:
                return this.Ab;
            default:
                return this.Ab
        } else switch (a) {
            case 0:
                return this.Bb;
            case 1:
                return this.hc;
            case 2:
                return this.Yb;
            case 3:
                return this.Wb;
            case 4:
                return this.Bb;
            default:
                return this.Bb
        }
    };
    ya = h;
    za = function(a, d) {
        for (var e in d) d.hasOwnProperty(e) &amp;&amp; (a[e] = d[e]);
        return a
    };
    Aa = function(a, d) {
        var e, t;
        d = ta(d);
        if (!(0 &gt; d || d &gt;= a.length)) {
            e = d;
            for (t = a.length - 1; e &lt; t; e++) a[e] = a[e + 1];
            Ca(a, t)
        }
    };
    Ca = function(a, d) {
        a.length = d
    };
    G = function(a) {
        Ca(a, 0)
    };
    Da = function(a, d) {
        G(a);
        var e, t;
        e = 0;
        for (t = d.length; e &lt; t; ++e) a[e] = d[e]
    };
    Ea = function(a, d) {
        a.push.apply(a, d)
    };
    Fa = function(a, d) {
        var e, t;
        e = 0;
        for (t = a.length; e &lt; t; ++e)
            if (a[e] === d) return e;
        return -1
    };
    Ga = function(a, d) {
        var e = Fa(a, d); - 1 !== e &amp;&amp; Aa(a, e)
    };
    Ha = function(a, d, e) {
        return a &lt; d ? d : a &gt; e ? e : a
    };
    M = function(a) {
        return a / (180 / sa)
    };
    Ia = function(a) {
        return 180 / sa * a
    };
    Ja = function(a) {
        a %= 360;
        0 &gt; a &amp;&amp; (a += 360);
        return a
    };
    Ka = function(a) {
        a %= 2 * sa;
        0 &gt; a &amp;&amp; (a += 2 * sa);
        return a
    };
    La = function(a) {
        return Ja(Ia(a))
    };
    Ma = function(a) {
        return Ka(M(a))
    };
    Na = function(a, d, e, t) {
        return Math.atan2(t - d, e - a)
    };
    Oa = function(a, d) {
        if (a === d) return 0;
        var e = Math.sin(a),
            t = Math.cos(a),
            c = Math.sin(d),
            f = Math.cos(d),
            e = e * c + t * f;
        return 1 &lt;= e ? 0 : -1 &gt;= e ? sa : Math.acos(e)
    };
    Qa = function(a, d, e) {
        var t = Math.sin(a),
            c = Math.cos(a),
            f = Math.sin(d),
            p = Math.cos(d);
        return Math.acos(t * f + c * p) &gt; e ? 0 &lt; c * f - t * p ? Ka(a + e) : Ka(a - e) : Ka(d)
    };
    Ra = function(a, d) {
        var e = Math.sin(a),
            t = Math.cos(a),
            c = Math.sin(d),
            f = Math.cos(d);
        return 0 &gt;= t * c - e * f
    };
    Sa = function(a, d, e, t, c, f) {
        if (0 === e) return f ? a : d;
        var p = Math.sin(e);
        e = Math.cos(e);
        a -= t;
        d -= c;
        var n = a * p;
        a = a * e - d * p;
        d = d * e + n;
        return f ? a + t : d + c
    };
    Ta = function(a, d, e, t) {
        a = e - a;
        d = t - d;
        return Math.sqrt(a * a + d * d)
    };
    Ua = function(a, d) {
        return !a !== !d
    };
    Wa = function(a) {
        for (var d in a)
            if (a.hasOwnProperty(d)) return !0;
        return !1
    };
    Xa = function(a) {
        for (var d in a) a.hasOwnProperty(d) &amp;&amp; delete a[d]
    };
    var T = +new Date;
    Ya = function() {
        if ("undefined" !== typeof window.performance) {
            var a = window.performance;
            if ("undefined" !== typeof a.now) return a.now();
            if ("undefined" !== typeof a.webkitNow) return a.webkitNow();
            if ("undefined" !== typeof a.mozNow) return a.mozNow();
            if ("undefined" !== typeof a.msNow) return a.msNow()
        }
        return Date.now() - T
    };
    var m = !1,
        x = m = !1,
        aa = !1;
    "undefined" !== typeof window &amp;&amp; (m = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent), m = !m &amp;&amp; /safari/i.test(navigator.userAgent), x = /(iphone|ipod|ipad)/i.test(navigator.userAgent), aa = window.c2ejecta);
    var z = !m &amp;&amp; !aa &amp;&amp; !x &amp;&amp; "undefined" !== typeof Set &amp;&amp; "undefined" !== typeof Set.prototype.forEach;
    k.prototype.contains = function(a) {
        return this.ke() ? !1 : z ? this.Qd.has(a) : this.items &amp;&amp; this.items.hasOwnProperty(a)
    };
    k.prototype.add = function(a) {
        if (z) this.Qd.has(a) || (this.Qd.add(a), this.Le = !1);
        else {
            var d = a.toString(),
                e = this.items;
            e ? e.hasOwnProperty(d) || (e[d] = a, this.hi++, this.Le = !1) : (this.items = {}, this.items[d] = a, this.hi = 1, this.Le = !1)
        }
    };
    k.prototype.remove = function(a) {
        if (!this.ke())
            if (z) this.Qd.has(a) &amp;&amp; (this.Qd["delete"](a), this.Le = !1);
            else if (this.items) {
            a = a.toString();
            var d = this.items;
            d.hasOwnProperty(a) &amp;&amp; (delete d[a], this.hi--, this.Le = !1)
        }
    };
    k.prototype.clear = function() {
        this.ke() || (z ? this.Qd.clear() : (this.items = null, this.hi = 0), G(this.mh), this.Le = !0)
    };
    k.prototype.ke = function() {
        return 0 === this.count()
    };
    k.prototype.count = function() {
        return z ? this.Qd.size : this.hi
    };
    var v = null,
        B = 0;
    k.prototype.xy = function() {
        if (!this.Le) {
            if (z) G(this.mh), v = this.mh, B = 0, this.Qd.forEach(r), v = null, B = 0;
            else {
                var a = this.mh;
                G(a);
                var d, e = 0,
                    t = this.items;
                if (t)
                    for (d in t) t.hasOwnProperty(d) &amp;&amp; (a[e++] = t[d])
            }
            this.Le = !0
        }
    };
    k.prototype.nf = function() {
        this.xy();
        return this.mh
    };
    ea = k;
    new ea;
    Za = function(a, d) {
        z ? $a(a, d.Qd) : ab(a, d.nf())
    };
    $a = function(a, d) {
        var e, t, c, f;
        t = e = 0;
        for (c = a.length; e &lt; c; ++e) f = a[e], d.has(f) || (a[t++] = f);
        Ca(a, t)
    };
    ab = function(a, d) {
        var e, t, c, f;
        t = e = 0;
        for (c = a.length; e &lt; c; ++e) f = a[e], -1 === Fa(d, f) &amp;&amp; (a[t++] = f);
        Ca(a, t)
    };
    q.prototype.add = function(a) {
        this.y = a - this.zh;
        this.bl = this.R + this.y;
        this.zh = this.bl - this.R - this.y;
        this.R = this.bl
    };
    q.prototype.reset = function() {
        this.R = this.bl = this.y = this.zh = 0
    };
    bb = q;
    cb = function(a) {
        return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&amp;")
    };
    l.prototype.Mi = function(a) {
        this.xr = a;
        this.Jk = a.length / 2;
        this.Xg.length = a.length;
        this.Il = this.Jl = -1;
        this.op = 0
    };
    l.prototype.bx = function() {
        return !this.xr.length
    };
    l.prototype.Cb = function() {
        for (var a = this.Xg, d = a[0], e = d, t = a[1], c = t, f, p, n = 1, m = this.Jk; n &lt; m; ++n) p = 2 * n, f = a[p], p = a[p + 1], f &lt; d &amp;&amp; (d = f), f &gt; e &amp;&amp; (e = f), p &lt; t &amp;&amp; (t = p), p &gt; c &amp;&amp; (c = p);
        this.hp = d;
        this.ip = e;
        this.jp = t;
        this.gp = c
    };
    l.prototype.Xk = function(a, d, e) {
        this.Xg.length = 8;
        this.Jk = 4;
        var t = this.Xg;
        t[0] = a.left - d;
        t[1] = a.top - e;
        t[2] = a.right - d;
        t[3] = a.top - e;
        t[4] = a.right - d;
        t[5] = a.bottom - e;
        t[6] = a.left - d;
        t[7] = a.bottom - e;
        this.Jl = a.right - a.left;
        this.Il = a.bottom - a.top;
        this.Cb()
    };
    l.prototype.Eu = function(a, d, e) {
        if (this.Jl !== a || this.Il !== d || this.op !== e) {
            this.Jl = a;
            this.Il = d;
            this.op = e;
            var t, c, f, p, n, m = 0,
                l = 1,
                u = this.xr,
                b = this.Xg;
            0 !== e &amp;&amp; (m = Math.sin(e), l = Math.cos(e));
            e = 0;
            for (f = this.Jk; e &lt; f; e++) t = 2 * e, c = t + 1, p = u[t] * a, n = u[c] * d, b[t] = p * l - n * m, b[c] = n * l + p * m;
            this.Cb()
        }
    };
    l.prototype.Rc = function(a, d) {
        var e = this.Xg;
        if (a === e[0] &amp;&amp; d === e[1]) return !0;
        var t, c, f, p = this.Jk,
            n = this.hp - 110,
            m = this.jp - 101,
            l = this.ip + 131,
            u = this.gp + 120,
            b, E, x = 0,
            h = 0;
        for (t = 0; t &lt; p; t++) c = 2 * t, f = (t + 1) % p * 2, b = e[c], c = e[c + 1], E = e[f], f = e[f + 1], va(n, m, a, d, b, c, E, f) &amp;&amp; x++, va(l, u, a, d, b, c, E, f) &amp;&amp; h++;
        return 1 === x % 2 || 1 === h % 2
    };
    db = l;
    a.prototype.Ve = function(a, d, e) {
        var t;
        t = this.cells[a];
        return t ? (t = t[d]) ? t : e ? (t = c(this, a, d), this.cells[a][d] = t) : null : e ? (t = c(this, a, d), this.cells[a] = {}, this.cells[a][d] = t) : null
    };
    a.prototype.ic = function(a) {
        return ta(a / this.Nl)
    };
    a.prototype.jc = function(a) {
        return ta(a / this.Ml)
    };
    a.prototype.update = function(a, d, e) {
        var t, c, f, p, n;
        if (d)
            for (t = d.left, c = d.right; t &lt;= c; ++t)
                for (f = d.top, p = d.bottom; f &lt;= p; ++f)
                    if (!e || !e.Rc(t, f))
                        if (n = this.Ve(t, f, !1)) n.remove(a), n.ke() &amp;&amp; (n.yb.clear(), 1E3 &gt; A.length &amp;&amp; A.push(n), this.cells[t][f] = null);
        if (e)
            for (t = e.left, c = e.right; t &lt;= c; ++t)
                for (f = e.top, p = e.bottom; f &lt;= p; ++f) d &amp;&amp; d.Rc(t, f) || this.Ve(t, f, !0).Em(a)
    };
    a.prototype.Ar = function(a, d) {
        var e, t, c, f, p, n;
        e = this.ic(a.left);
        c = this.jc(a.top);
        t = this.ic(a.right);
        for (p = this.jc(a.bottom); e &lt;= t; ++e)
            for (f = c; f &lt;= p; ++f)(n = this.Ve(e, f, !1)) &amp;&amp; n.dump(d)
    };
    eb = a;
    f.prototype.Ve = function(a, d, c) {
        var t;
        t = this.cells[a];
        return t ? (t = t[d]) ? t : c ? (t = e(this, a, d), this.cells[a][d] = t) : null : c ? (t = e(this, a, d), this.cells[a] = {}, this.cells[a][d] = t) : null
    };
    f.prototype.ic = function(a) {
        return ta(a / this.Nl)
    };
    f.prototype.jc = function(a) {
        return ta(a / this.Ml)
    };
    f.prototype.update = function(a, d, e) {
        var t, c, f, p, n;
        if (d)
            for (t = d.left, c = d.right; t &lt;= c; ++t)
                for (f = d.top, p = d.bottom; f &lt;= p; ++f)
                    if (!e || !e.Rc(t, f))
                        if (n = this.Ve(t, f, !1)) n.remove(a), n.ke() &amp;&amp; (n.reset(), 1E3 &gt; y.length &amp;&amp; y.push(n), this.cells[t][f] = null);
        if (e)
            for (t = e.left, c = e.right; t &lt;= c; ++t)
                for (f = e.top, p = e.bottom; f &lt;= p; ++f) d &amp;&amp; d.Rc(t, f) || this.Ve(t, f, !0).Em(a)
    };
    f.prototype.Ar = function(a, d, e, t, c) {
        var f, p;
        a = this.ic(a);
        d = this.jc(d);
        e = this.ic(e);
        for (f = this.jc(t); a &lt;= e; ++a)
            for (t = d; t &lt;= f; ++t)(p = this.Ve(a, t, !1)) &amp;&amp; p.dump(c)
    };
    f.prototype.mx = function(a) {
        var d, e, t, c, f;
        d = a.left;
        t = a.top;
        e = a.right;
        for (c = a.bottom; d &lt;= e; ++d)
            for (a = t; a &lt;= c; ++a)
                if (f = this.Ve(d, a, !1)) f.Bg = !1
    };
    fb = f;
    var A = [];
    d.prototype.ke = function() {
        return this.yb.ke()
    };
    d.prototype.Em = function(a) {
        this.yb.add(a)
    };
    d.prototype.remove = function(a) {
        this.yb.remove(a)
    };
    d.prototype.dump = function(a) {
        Ea(a, this.yb.nf())
    };
    da = d;
    var y = [];
    n.prototype.ke = function() {
        if (!this.yb.length) return !0;
        if (this.yb.length &gt; this.Nd.count()) return !1;
        this.fm();
        return !0
    };
    n.prototype.Em = function(a) {
        this.Nd.contains(a) ? (this.Nd.remove(a), this.Nd.ke() &amp;&amp; (this.vh = !1)) : this.yb.length ? (this.yb[this.yb.length - 1].Gd() &gt; a.Gd() &amp;&amp; (this.Bg = !1), this.yb.push(a)) : (this.yb.push(a), this.Bg = !0)
    };
    n.prototype.remove = function(a) {
        this.Nd.add(a);
        this.vh = !0;
        30 &lt;= this.Nd.count() &amp;&amp; this.fm()
    };
    n.prototype.fm = function() {
        this.vh &amp;&amp; (this.Nd.count() === this.yb.length ? this.reset() : (Za(this.yb, this.Nd), this.Nd.clear(), this.vh = !1))
    };
    n.prototype.wv = function() {
        this.Bg || (this.yb.sort(p), this.Bg = !0)
    };
    n.prototype.reset = function() {
        G(this.yb);
        this.Bg = !0;
        this.Nd.clear();
        this.vh = !1
    };
    n.prototype.dump = function(a) {
        this.fm();
        this.wv();
        this.yb.length &amp;&amp; a.push(this.yb)
    };
    fa = n;
    var H = "lighter xor copy destination-over source-in destination-in source-out destination-out source-atop destination-atop".split(" ");
    lb = function(a) {
        return 0 &gt;= a || 11 &lt;= a ? "source-over" : H[a - 1]
    };
    mb = function(a, d, e) {
        if (e) switch (a.Ub = e.ONE, a.Qb = e.ONE_MINUS_SRC_ALPHA, d) {
            case 1:
                a.Ub = e.ONE;
                a.Qb = e.ONE;
                break;
            case 3:
                a.Ub = e.ONE;
                a.Qb = e.ZERO;
                break;
            case 4:
                a.Ub = e.ONE_MINUS_DST_ALPHA;
                a.Qb = e.ONE;
                break;
            case 5:
                a.Ub = e.DST_ALPHA;
                a.Qb = e.ZERO;
                break;
            case 6:
                a.Ub = e.ZERO;
                a.Qb = e.SRC_ALPHA;
                break;
            case 7:
                a.Ub = e.ONE_MINUS_DST_ALPHA;
                a.Qb = e.ZERO;
                break;
            case 8:
                a.Ub = e.ZERO;
                a.Qb = e.ONE_MINUS_SRC_ALPHA;
                break;
            case 9:
                a.Ub = e.DST_ALPHA;
                a.Qb = e.ONE_MINUS_SRC_ALPHA;
                break;
            case 10:
                a.Ub = e.ONE_MINUS_DST_ALPHA, a.Qb = e.SRC_ALPHA
        }
    };
    nb = function(a) {
        return Math.round(1E6 * a) / 1E6
    };
    ob = function(a, d) {
        return "string" !== typeof a || "string" !== typeof d || a.length !== d.length ? !1 : a === d ? !0 : a.toLowerCase() === d.toLowerCase()
    };
    pb = function(a) {
        a = a.target;
        return !a || a === document || a === window || document &amp;&amp; document.body &amp;&amp; a === document.body || ob(a.tagName, "canvas") ? !0 : !1
    }
})();
var jc = "undefined" !== typeof Float32Array ? Float32Array : Array;

function kc(g) {
    var h = new jc(3);
    g &amp;&amp; (h[0] = g[0], h[1] = g[1], h[2] = g[2]);
    return h
}

function lc(g) {
    var h = new jc(16);
    g &amp;&amp; (h[0] = g[0], h[1] = g[1], h[2] = g[2], h[3] = g[3], h[4] = g[4], h[5] = g[5], h[6] = g[6], h[7] = g[7], h[8] = g[8], h[9] = g[9], h[10] = g[10], h[11] = g[11], h[12] = g[12], h[13] = g[13], h[14] = g[14], h[15] = g[15]);
    return h
}

function mc(g, h) {
    h[0] = g[0];
    h[1] = g[1];
    h[2] = g[2];
    h[3] = g[3];
    h[4] = g[4];
    h[5] = g[5];
    h[6] = g[6];
    h[7] = g[7];
    h[8] = g[8];
    h[9] = g[9];
    h[10] = g[10];
    h[11] = g[11];
    h[12] = g[12];
    h[13] = g[13];
    h[14] = g[14];
    h[15] = g[15]
}

function nc(g, h) {
    var b = h[0],
        k = h[1];
    h = h[2];
    g[0] *= b;
    g[1] *= b;
    g[2] *= b;
    g[3] *= b;
    g[4] *= k;
    g[5] *= k;
    g[6] *= k;
    g[7] *= k;
    g[8] *= h;
    g[9] *= h;
    g[10] *= h;
    g[11] *= h
}

function oc(g, h, b, k) {
    k || (k = lc());
    var r, q, l, a, f, c, d, e, n = g[0],
        p = g[1];
    g = g[2];
    q = b[0];
    l = b[1];
    r = b[2];
    b = h[1];
    c = h[2];
    n === h[0] &amp;&amp; p === b &amp;&amp; g === c ? (g = k, g[0] = 1, g[1] = 0, g[2] = 0, g[3] = 0, g[4] = 0, g[5] = 1, g[6] = 0, g[7] = 0, g[8] = 0, g[9] = 0, g[10] = 1, g[11] = 0, g[12] = 0, g[13] = 0, g[14] = 0, g[15] = 1) : (b = n - h[0], c = p - h[1], d = g - h[2], e = 1 / Math.sqrt(b * b + c * c + d * d), b *= e, c *= e, d *= e, h = l * d - r * c, r = r * b - q * d, q = q * c - l * b, (e = Math.sqrt(h * h + r * r + q * q)) ? (e = 1 / e, h *= e, r *= e, q *= e) : q = r = h = 0, l = c * q - d * r, a = d * h - b * q, f = b * r - c * h, (e = Math.sqrt(l * l + a * a + f * f)) ? (e = 1 / e, l *= e, a *= e, f *= e) : f = a = l = 0, k[0] = h, k[1] = l, k[2] = b, k[3] = 0, k[4] = r, k[5] = a, k[6] = c, k[7] = 0, k[8] = q, k[9] = f, k[10] = d, k[11] = 0, k[12] = -(h * n + r * p + q * g), k[13] = -(l * n + a * p + f * g), k[14] = -(b * n + c * p + d * g), k[15] = 1)
}
(function() {
    function g(a, f, c) {
        this.Ye = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent);
        this.height = this.width = 0;
        this.Fa = !!c;
        this.ak = this.Zh = !1;
        this.Tl = 0;
        this.ul = 1;
        this.qo = 1E3;
        this.Ey = (this.qo - this.ul) / 32768;
        this.Kl = kc([0, 0, 100]);
        this.Aq = kc([0, 0, 0]);
        this.ns = kc([0, 1, 0]);
        this.aj = kc([1, 1, 1]);
        this.Ap = !0;
        this.pk = lc();
        this.Lc = lc();
        this.Sm = lc();
        this.Sl = lc();
        this.A = a;
        this.version = 0 === this.A.getParameter(this.A.VERSION).indexOf("WebGL 2") ? 2 : 1;
        this.$p()
    }

    function h(a, f, c) {
        this.A = a;
        this.Ni = f;
        this.name = c;
        this.Zc = a.getAttribLocation(f, "aPos");
        this.cf = a.getAttribLocation(f, "aTex");
        this.yq = a.getUniformLocation(f, "matP");
        this.lk = a.getUniformLocation(f, "matMV");
        this.Lg = a.getUniformLocation(f, "opacity");
        this.Wm = a.getUniformLocation(f, "colorFill");
        this.zq = a.getUniformLocation(f, "samplerFront");
        this.oi = a.getUniformLocation(f, "samplerBack");
        this.Vf = a.getUniformLocation(f, "destStart");
        this.Uf = a.getUniformLocation(f, "destEnd");
        this.qi = a.getUniformLocation(f, "seconds");
        this.Ym = a.getUniformLocation(f, "pixelWidth");
        this.Xm = a.getUniformLocation(f, "pixelHeight");
        this.ni = a.getUniformLocation(f, "layerScale");
        this.mi = a.getUniformLocation(f, "layerAngle");
        this.ri = a.getUniformLocation(f, "viewOrigin");
        this.pi = a.getUniformLocation(f, "scrollPos");
        this.Lw = !!(this.Ym || this.Xm || this.qi || this.oi || this.Vf || this.Uf || this.ni || this.mi || this.ri || this.pi);
        this.Iq = this.Jq = -999;
        this.ok = 1;
        this.Eq = this.Dq = 0;
        this.Gq = this.Cq = this.Bq = 1;
        this.Mq = this.Lq = this.Kq = this.Oq = this.Nq = this.Fq = 0;
        this.Rm = [];
        this.Hq = lc();
        this.Lg &amp;&amp; a.uniform1f(this.Lg, 1);
        this.Wm &amp;&amp; a.uniform4f(this.Wm, 1, 1, 1, 1);
        this.zq &amp;&amp; a.uniform1i(this.zq, 0);
        this.oi &amp;&amp; a.uniform1i(this.oi, 1);
        this.Vf &amp;&amp; a.uniform2f(this.Vf, 0, 0);
        this.Uf &amp;&amp; a.uniform2f(this.Uf, 1, 1);
        this.ni &amp;&amp; a.uniform1f(this.ni, 1);
        this.mi &amp;&amp; a.uniform1f(this.mi, 0);
        this.ri &amp;&amp; a.uniform2f(this.ri, 0, 0);
        this.pi &amp;&amp; a.uniform2f(this.pi, 0, 0);
        this.qi &amp;&amp; a.uniform1f(this.qi, 0);
        this.Gf = !1
    }

    function b(a, f) {
        return a[0] === f[0] &amp;&amp; a[1] === f[1] &amp;&amp; a[2] === f[2] &amp;&amp; a[3] === f[3] &amp;&amp; a[4] === f[4] &amp;&amp; a[5] === f[5] &amp;&amp; a[6] === f[6] &amp;&amp; a[7] === f[7] &amp;&amp; a[8] === f[8] &amp;&amp; a[9] === f[9] &amp;&amp; a[10] === f[10] &amp;&amp; a[11] === f[11] &amp;&amp; a[12] === f[12] &amp;&amp; a[13] === f[13] &amp;&amp; a[14] === f[14] &amp;&amp; a[15] === f[15]
    }

    function k(a, f) {
        this.type = a;
        this.B = f;
        this.A = f.A;
        this.Id = this.fc = this.jr = 0;
        this.S = this.gd = null;
        this.Tr = []
    }
    var r = lc();
    g.prototype.$p = function() {
        var a = this.A,
            f;
        this.pq = 1;
        this.Qf = this.Pf = null;
        this.xj = 1;
        a.clearColor(0, 0, 0, 0);
        a.clear(a.COLOR_BUFFER_BIT);
        a.enable(a.BLEND);
        a.blendFunc(a.ONE, a.ONE_MINUS_SRC_ALPHA);
        a.disable(a.CULL_FACE);
        a.disable(a.STENCIL_TEST);
        a.disable(a.DITHER);
        this.Fa ? (a.enable(a.DEPTH_TEST), a.depthFunc(a.LEQUAL)) : a.disable(a.DEPTH_TEST);
        this.rq = a.ONE;
        this.nq = a.ONE_MINUS_SRC_ALPHA;
        this.sl = new Float32Array(8E3 * (this.Fa ? 3 : 2));
        this.dl = new Float32Array(16E3);
        this.tr = new Float32Array(32E3);
        this.zn = a.createBuffer();
        a.bindBuffer(a.ARRAY_BUFFER, this.zn);
        a.bufferData(a.ARRAY_BUFFER, this.tr.byteLength, a.DYNAMIC_DRAW);
        this.Zi = Array(4);
        this.Ui = Array(4);
        for (f = 0; 4 &gt; f; f++) this.Zi[f] = a.createBuffer(), a.bindBuffer(a.ARRAY_BUFFER, this.Zi[f]), a.bufferData(a.ARRAY_BUFFER, this.sl.byteLength, a.DYNAMIC_DRAW), this.Ui[f] = a.createBuffer(), a.bindBuffer(a.ARRAY_BUFFER, this.Ui[f]), a.bufferData(a.ARRAY_BUFFER, this.dl.byteLength, a.DYNAMIC_DRAW);
        this.$d = 0;
        this.Pw = a.createBuffer();
        a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.Pw);
        for (var c = new Uint16Array(12E3), d = f = 0; 12E3 &gt; f;) c[f++] = d, c[f++] = d + 1, c[f++] = d + 2, c[f++] = d, c[f++] = d + 2, c[f++] = d + 3, d += 4;
        a.bufferData(a.ELEMENT_ARRAY_BUFFER, c, a.STATIC_DRAW);
        this.An = this.fh = this.Ce = 0;
        this.Ta = [];
        f = this.Fa ? "attribute highp vec3 aPos;\nattribute mediump vec2 aTex;\nvarying mediump vec2 vTex;\nuniform highp mat4 matP;\nuniform highp mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, aPos.z, 1.0);\n\tvTex = aTex;\n}" : "attribute highp vec2 aPos;\nattribute mediump vec2 aTex;\nvarying mediump vec2 vTex;\nuniform highp mat4 matP;\nuniform highp mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);\n\tvTex = aTex;\n}";
        c = this.Dh({
            src: "varying mediump vec2 vTex;\nuniform lowp float opacity;\nuniform lowp sampler2D samplerFront;\nvoid main(void) {\n\tgl_FragColor = texture2D(samplerFront, vTex);\n\tgl_FragColor *= opacity;\n}"
        }, f, "&lt;default&gt;");
        this.Ta.push(c);
        c = this.Dh({
            src: "uniform mediump sampler2D samplerFront;\nvarying lowp float opacity;\nvoid main(void) {\n\tgl_FragColor = texture2D(samplerFront, gl_PointCoord);\n\tgl_FragColor *= opacity;\n}"
        }, "attribute vec4 aPos;\nvarying float opacity;\nuniform mat4 matP;\nuniform mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);\n\tgl_PointSize = aPos.z;\n\topacity = aPos.w;\n}", "&lt;point&gt;");
        this.Ta.push(c);
        c = this.Dh({
            src: "varying mediump vec2 vTex;\nuniform lowp sampler2D samplerFront;\nvoid main(void) {\n\tif (texture2D(samplerFront, vTex).a &lt; 1.0)\n\t\tdiscard;\n}"
        }, f, "&lt;earlyz&gt;");
        this.Ta.push(c);
        c = this.Dh({
            src: "uniform lowp vec4 colorFill;\nvoid main(void) {\n\tgl_FragColor = colorFill;\n}"
        }, f, "&lt;fill&gt;");
        this.Ta.push(c);
        for (var e in pc) pc.hasOwnProperty(e) &amp;&amp; this.Ta.push(this.Dh(pc[e], f, e));
        a.activeTexture(a.TEXTURE0);
        a.bindTexture(a.TEXTURE_2D, null);
        this.Ke = [];
        this.Zd = 0;
        this.Sb = !1;
        this.vp = this.ji = -1;
        this.mg = null;
        this.em = a.createFramebuffer();
        this.Cj = this.Lk = null;
        this.fp = !1;
        this.Fa &amp;&amp; (this.Cj = a.createRenderbuffer());
        this.mf = kc([0, 0, 0]);
        this.Pq = a.getParameter(a.ALIASED_POINT_SIZE_RANGE)[1];
        2048 &lt; this.Pq &amp;&amp; (this.Pq = 2048);
        this.pc(0)
    };
    h.prototype.io = function(a) {
        b(this.Hq, a) || (mc(a, this.Hq), this.A.uniformMatrix4fv(this.lk, !1, a))
    };
    g.prototype.Dh = function(a, f, c) {
        var d = this.A,
            e = d.createShader(d.FRAGMENT_SHADER);
        d.shaderSource(e, a.src);
        d.compileShader(e);
        if (!d.getShaderParameter(e, d.COMPILE_STATUS)) return d.deleteShader(e), null;
        var n = d.createShader(d.VERTEX_SHADER);
        d.shaderSource(n, f);
        d.compileShader(n);
        if (!d.getShaderParameter(n, d.COMPILE_STATUS)) return d.deleteShader(e), d.deleteShader(n), null;
        f = d.createProgram();
        d.attachShader(f, e);
        d.attachShader(f, n);
        d.linkProgram(f);
        if (!d.getProgramParameter(f, d.LINK_STATUS)) return d.deleteShader(e), d.deleteShader(n), d.deleteProgram(f), null;
        d.useProgram(f);
        d.deleteShader(e);
        d.deleteShader(n);
        c = new h(d, f, c);
        c.cm = a.cm || 0;
        c.dm = a.dm || 0;
        c.up = !!a.up;
        c.rd = !!a.rd;
        c.bp = !!a.bp;
        c.T = a.T || [];
        a = 0;
        for (e = c.T.length; a &lt; e; a++) c.T[a][1] = d.getUniformLocation(f, c.T[a][0]), c.Rm.push(0), d.uniform1f(c.T[a][1], 0);
        return c
    };
    g.prototype.tm = function(a) {
        var f, c;
        f = 0;
        for (c = this.Ta.length; f &lt; c; f++)
            if (this.Ta[f].name === a) return f;
        return -1
    };
    g.prototype.wr = function(a, f, c) {
        var d = this.Lc,
            e = this.pk,
            n = [0, 0, 0, 0, 0, 0, 0, 0];
        n[0] = d[0] * a +
            d[4] * f + d[12];
        n[1] = d[1] * a + d[5] * f + d[13];
        n[2] = d[2] * a + d[6] * f + d[14];
        n[3] = d[3] * a + d[7] * f + d[15];
        n[4] = e[0] * n[0] + e[4] * n[1] + e[8] * n[2] + e[12] * n[3];
        n[5] = e[1] * n[0] + e[5] * n[1] + e[9] * n[2] + e[13] * n[3];
        n[6] = e[2] * n[0] + e[6] * n[1] + e[10] * n[2] + e[14] * n[3];
        n[7] = -n[2];
        0 !== n[7] &amp;&amp; (n[7] = 1 / n[7], n[4] *= n[7], n[5] *= n[7], n[6] *= n[7], c[0] = (.5 * n[4] + .5) * this.width, c[1] = (.5 * n[5] + .5) * this.height)
    };
    g.prototype.xe = function(a, f, c) {
        if (this.width !== a || this.height !== f || c) {
            this.Bf();
            c = this.A;
            this.width = a;
            this.height = f;
            c.viewport(0, 0, a, f);
            oc(this.Kl, this.Aq, this.ns, this.Lc);
            if (this.Fa) {
                var d = -a / 2;
                a = a / 2;
                var e = f / 2;
                f = -f / 2;
                var n = this.ul,
                    p = this.qo,
                    l = this.pk;
                l || (l = lc());
                var u = a - d,
                    b = f - e,
                    m = p - n;
                l[0] = 2 / u;
                l[1] = 0;
                l[2] = 0;
                l[3] = 0;
                l[4] = 0;
                l[5] = 2 / b;
                l[6] = 0;
                l[7] = 0;
                l[8] = 0;
                l[9] = 0;
                l[10] = -2 / m;
                l[11] = 0;
                l[12] = -(d + a) / u;
                l[13] = -(f + e) / b;
                l[14] = -(p + n) / m;
                l[15] = 1;
                this.aj[0] = 1;
                this.aj[1] = 1
            } else f = a / f, d = this.ul, a = this.qo, l = this.pk, p = d * Math.tan(45 * Math.PI / 360), f *= p, e = -f, n = -p, l || (l = lc()), u = f - e, b = p - n, m = a - d, l[0] = 2 * d / u, l[1] = 0, l[2] = 0, l[3] = 0, l[4] = 0, l[5] = 2 * d / b, l[6] = 0, l[7] = 0, l[8] = (f + e) / u, l[9] = (p + n) / b, l[10] = -(a + d) / m, l[11] = -1, l[12] = 0, l[13] = 0, l[14] = -(a * d * 2) / m, l[15] = 0, d = [0, 0], a = [0, 0], this.wr(0, 0, d), this.wr(1, 1, a), this.aj[0] = 1 / (a[0] - d[0]), this.aj[1] = -1 / (a[1] - d[1]);
            d = 0;
            for (a = this.Ta.length; d &lt; a; d++) e = this.Ta[d], e.Gf = !1, e.yq &amp;&amp; (c.useProgram(e.Ni), c.uniformMatrix4fv(e.yq, !1, this.pk));
            c.useProgram(this.Ta[this.ji].Ni);
            c.bindTexture(c.TEXTURE_2D, null);
            c.activeTexture(c.TEXTURE1);
            c.bindTexture(c.TEXTURE_2D, null);
            c.activeTexture(c.TEXTURE0);
            this.Qf = this.Pf = null;
            this.Cj &amp;&amp; (c.bindFramebuffer(c.FRAMEBUFFER, this.em), c.bindRenderbuffer(c.RENDERBUFFER, this.Cj), c.renderbufferStorage(c.RENDERBUFFER, c.DEPTH_COMPONENT16, this.width, this.height), this.fp || (c.framebufferRenderbuffer(c.FRAMEBUFFER, c.DEPTH_ATTACHMENT, c.RENDERBUFFER, this.Cj), this.fp = !0), c.bindRenderbuffer(c.RENDERBUFFER, null), c.bindFramebuffer(c.FRAMEBUFFER, null), this.Lk = null)
        }
    };
    g.prototype.Pd = function() {
        oc(this.Kl, this.Aq, this.ns, this.Lc);
        nc(this.Lc, this.aj)
    };
    g.prototype.translate = function(a, f) {
        if (0 !== a || 0 !== f) {
            this.mf[0] = a;
            this.mf[1] = f;
            this.mf[2] = 0;
            var c = this.Lc,
                d = this.mf,
                e = d[0],
                n = d[1],
                d = d[2];
            c[12] = c[0] * e + c[4] * n + c[8] * d + c[12];
            c[13] = c[1] * e + c[5] * n + c[9] * d + c[13];
            c[14] = c[2] * e + c[6] * n + c[10] * d + c[14];
            c[15] = c[3] * e + c[7] * n + c[11] * d + c[15]
        }
    };
    g.prototype.scale = function(a, f) {
        if (1 !== a || 1 !== f) this.mf[0] = a, this.mf[1] = f, this.mf[2] = 1, nc(this.Lc, this.mf)
    };
    g.prototype.Mn = function(a) {
        if (0 !== a) {
            var f = this.Lc,
                c, d = Math.sin(a);
            a = Math.cos(a);
            var e = f[0],
                n = f[1],
                p = f[2],
                l = f[3],
                u = f[4],
                b = f[5],
                m = f[6],
                x = f[7];
            c ? f !== c &amp;&amp; (c[8] = f[8], c[9] = f[9], c[10] = f[10], c[11] = f[11], c[12] = f[12], c[13] = f[13], c[14] = f[14], c[15] = f[15]) : c = f;
            c[0] = e * a + u * d;
            c[1] = n * a + b * d;
            c[2] = p * a + m * d;
            c[3] = l * a + x * d;
            c[4] = e * -d + u * a;
            c[5] = n * -d + b * a;
            c[6] = p * -d + m * a;
            c[7] = l * -d + x * a
        }
    };
    g.prototype.vd = function() {
        if (!b(this.Sm, this.Lc)) {
            var a = this.Bc();
            a.type = 5;
            a.S ? mc(this.Lc, a.S) : a.S = lc(this.Lc);
            mc(this.Lc, this.Sm);
            this.Sb = !1
        }
    };
    g.prototype.Rk = function(a) {
        this.Fa &amp;&amp; (32760 &lt; a &amp;&amp; (a = 32760), this.Tl = this.Kl[2] - this.ul - a * this.Ey)
    };
    k.prototype.bv = function() {
        var a = this.A,
            f = this.B;
        0 !== this.fc ? (a.depthMask(!0), a.colorMask(!1, !1, !1, !1), a.disable(a.BLEND), a.bindFramebuffer(a.FRAMEBUFFER, f.em), a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, null, 0), a.clear(a.DEPTH_BUFFER_BIT), a.bindFramebuffer(a.FRAMEBUFFER, null), f.ak = !0) : (a.depthMask(!1), a.colorMask(!0, !0, !0, !0), a.enable(a.BLEND), f.ak = !1)
    };
    k.prototype.hv = function() {
        this.A.bindTexture(this.A.TEXTURE_2D, this.gd)
    };
    k.prototype.jv = function() {
        var a = this.A;
        a.activeTexture(a.TEXTURE1);
        a.bindTexture(a.TEXTURE_2D, this.gd);
        a.activeTexture(a.TEXTURE0)
    };
    k.prototype.cv = function() {
        var a = this.jr,
            f = this.B;
        f.xj = a;
        f = f.mg;
        f.Lg &amp;&amp; f.ok !== a &amp;&amp; (f.ok = a, this.A.uniform1f(f.Lg, a))
    };
    k.prototype.Xu = function() {
        this.A.drawElements(this.A.TRIANGLES, this.Id, this.A.UNSIGNED_SHORT, this.fc)
    };
    k.prototype.Zu = function() {
        this.A.blendFunc(this.fc, this.Id)
    };
    k.prototype.lv = function() {
        var a, f, c, d = this.B.Ta,
            e = this.B.vp;
        a = 0;
        for (f = d.length; a &lt; f; a++) c = d[a], a === e &amp;&amp; c.lk ? (c.io(this.S), c.Gf = !0) : c.Gf = !1;
        mc(this.S, this.B.Sl)
    };
    k.prototype.Yu = function() {
        var a = this.A,
            f = this.B;
        this.gd ? (f.Qf === this.gd &amp;&amp; (a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, null), f.Qf = null, a.activeTexture(a.TEXTURE0)), a.bindFramebuffer(a.FRAMEBUFFER, f.em), f.ak || a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, this.gd, 0)) : (f.Fa || a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, null, 0), a.bindFramebuffer(a.FRAMEBUFFER, null))
    };
    k.prototype.Uu = function() {
        var a = this.A,
            f = this.fc;
        0 === f ? (a.clearColor(this.S[0], this.S[1], this.S[2], this.S[3]), a.clear(a.COLOR_BUFFER_BIT)) : 1 === f ? (a.enable(a.SCISSOR_TEST), a.scissor(this.S[0], this.S[1], this.S[2], this.S[3]), a.clearColor(0, 0, 0, 0), a.clear(a.COLOR_BUFFER_BIT), a.disable(a.SCISSOR_TEST)) : a.clear(a.DEPTH_BUFFER_BIT)
    };
    k.prototype.av = function() {
        var a = this.A;
        0 !== this.fc ? a.enable(a.DEPTH_TEST) : a.disable(a.DEPTH_TEST)
    };
    k.prototype.Wu = function() {
        var a = this.A,
            f = this.B;
        f.Fa &amp;&amp; a.disable(a.DEPTH_TEST);
        var c = f.Ta[1];
        a.useProgram(c.Ni);
        !c.Gf &amp;&amp; c.lk &amp;&amp; (c.io(f.Sl), c.Gf = !0);
        a.enableVertexAttribArray(c.Zc);
        a.bindBuffer(a.ARRAY_BUFFER, f.zn);
        a.vertexAttribPointer(c.Zc, 4, a.FLOAT, !1, 0, 0);
        a.drawArrays(a.POINTS, this.fc / 4, this.Id);
        c = f.mg;
        a.useProgram(c.Ni);
        0 &lt;= c.Zc &amp;&amp; (a.enableVertexAttribArray(c.Zc), a.bindBuffer(a.ARRAY_BUFFER, f.Zi[f.$d]), a.vertexAttribPointer(c.Zc, f.Fa ? 3 : 2, a.FLOAT, !1, 0, 0));
        0 &lt;= c.cf &amp;&amp; (a.enableVertexAttribArray(c.cf), a.bindBuffer(a.ARRAY_BUFFER, f.Ui[f.$d]), a.vertexAttribPointer(c.cf, 2, a.FLOAT, !1, 0, 0));
        f.Fa &amp;&amp; a.enable(a.DEPTH_TEST)
    };
    k.prototype.dv = function() {
        var a = this.A,
            f = this.B,
            c = f.Ta[this.fc];
        f.vp = this.fc;
        f.mg = c;
        a.useProgram(c.Ni);
        !c.Gf &amp;&amp; c.lk &amp;&amp; (c.io(f.Sl), c.Gf = !0);
        c.Lg &amp;&amp; c.ok !== f.xj &amp;&amp; (c.ok = f.xj, a.uniform1f(c.Lg, f.xj));
        0 &lt;= c.Zc &amp;&amp; (a.enableVertexAttribArray(c.Zc), a.bindBuffer(a.ARRAY_BUFFER, f.Zi[f.$d]), a.vertexAttribPointer(c.Zc, f.Fa ? 3 : 2, a.FLOAT, !1, 0, 0));
        0 &lt;= c.cf &amp;&amp; (a.enableVertexAttribArray(c.cf), a.bindBuffer(a.ARRAY_BUFFER, f.Ui[f.$d]), a.vertexAttribPointer(c.cf, 2, a.FLOAT, !1, 0, 0))
    };
    k.prototype.$u = function() {
        var a = this.S;
        this.A.uniform4f(this.B.mg.Wm, a[0], a[1], a[2], a[3])
    };
    k.prototype.gv = function() {
        var a, f, c = this.B.mg,
            d = this.A;
        a = this.S;
        c.oi &amp;&amp; this.B.Qf !== this.gd &amp;&amp; (d.activeTexture(d.TEXTURE1), d.bindTexture(d.TEXTURE_2D, this.gd), this.B.Qf = this.gd, d.activeTexture(d.TEXTURE0));
        var e = a[0];
        c.Ym &amp;&amp; e !== c.Jq &amp;&amp; (c.Jq = e, d.uniform1f(c.Ym, e));
        e = a[1];
        c.Xm &amp;&amp; e !== c.Iq &amp;&amp; (c.Iq = e, d.uniform1f(c.Xm, e));
        e = a[2];
        f = a[3];
        !c.Vf || e === c.Dq &amp;&amp; f === c.Eq || (c.Dq = e, c.Eq = f, d.uniform2f(c.Vf, e, f));
        e = a[4];
        f = a[5];
        !c.Uf || e === c.Bq &amp;&amp; f === c.Cq || (c.Bq = e, c.Cq = f, d.uniform2f(c.Uf, e, f));
        e = a[6];
        c.ni &amp;&amp; e !== c.Gq &amp;&amp; (c.Gq = e, d.uniform1f(c.ni, e));
        e = a[7];
        c.mi &amp;&amp; e !== c.Fq &amp;&amp; (c.Fq = e, d.uniform1f(c.mi, e));
        e = a[8];
        f = a[9];
        !c.ri || e === c.Nq &amp;&amp; f === c.Oq || (c.Nq = e, c.Oq = f, d.uniform2f(c.ri, e, f));
        e = a[10];
        f = a[11];
        !c.pi || e === c.Kq &amp;&amp; f === c.Lq || (c.Kq = e, c.Lq = f, d.uniform2f(c.pi, e, f));
        e = a[12];
        c.qi &amp;&amp; e !== c.Mq &amp;&amp; (c.Mq = e, d.uniform1f(c.qi, e));
        if (c.T.length)
            for (a = 0, f = c.T.length; a &lt; f; a++) e = this.Tr[a], e !== c.Rm[a] &amp;&amp; (c.Rm[a] = e, d.uniform1f(c.T[a][1], e))
    };
    g.prototype.Bc = function() {
        this.Zd === this.Ke.length &amp;&amp; this.Ke.push(new k(0, this));
        return this.Ke[this.Zd++]
    };
    g.prototype.Bf = function() {
        if (0 !== this.Zd &amp;&amp; !this.A.isContextLost()) {
            var a = this.A;
            0 &lt; this.An &amp;&amp; (a.bindBuffer(a.ARRAY_BUFFER, this.zn), a.bufferSubData(a.ARRAY_BUFFER, 0, this.tr.subarray(0, this.An)), f &amp;&amp; 0 &lt;= f.Zc &amp;&amp; "&lt;point&gt;" === f.name &amp;&amp; a.vertexAttribPointer(f.Zc, 4, a.FLOAT, !1, 0, 0));
            if (0 &lt; this.Ce) {
                var f = this.mg;
                a.bindBuffer(a.ARRAY_BUFFER, this.Zi[this.$d]);
                a.bufferSubData(a.ARRAY_BUFFER, 0, this.sl.subarray(0, this.Ce));
                f &amp;&amp; 0 &lt;= f.Zc &amp;&amp; "&lt;point&gt;" !== f.name &amp;&amp; a.vertexAttribPointer(f.Zc, this.Fa ? 3 : 2, a.FLOAT, !1, 0, 0);
                a.bindBuffer(a.ARRAY_BUFFER, this.Ui[this.$d]);
                a.bufferSubData(a.ARRAY_BUFFER, 0, this.dl.subarray(0, this.fh));
                f &amp;&amp; 0 &lt;= f.cf &amp;&amp; "&lt;point&gt;" !== f.name &amp;&amp; a.vertexAttribPointer(f.cf, 2, a.FLOAT, !1, 0, 0)
            }
            for (var c, a = 0, f = this.Zd; a &lt; f; a++) switch (c = this.Ke[a], c.type) {
                case 1:
                    c.Xu();
                    break;
                case 2:
                    c.hv();
                    break;
                case 3:
                    c.cv();
                    break;
                case 4:
                    c.Zu();
                    break;
                case 5:
                    c.lv();
                    break;
                case 6:
                    c.Yu();
                    break;
                case 7:
                    c.Uu();
                    break;
                case 8:
                    c.Wu();
                    break;
                case 9:
                    c.dv();
                    break;
                case 10:
                    c.gv();
                    break;
                case 11:
                    c.jv();
                    break;
                case 12:
                    c.$u();
                    break;
                case 13:
                    c.av();
                    break;
                case 14:
                    c.bv()
            }
            this.An = this.fh = this.Ce = this.Zd = 0;
            this.ak = this.Sb = !1;
            this.$d++;
            4 &lt;= this.$d &amp;&amp; (this.$d = 0)
        }
    };
    g.prototype.ah = function(a) {
        if (a !== this.pq &amp;&amp; !this.Zh) {
            var f = this.Bc();
            f.type = 3;
            this.pq = f.jr = a;
            this.Sb = !1
        }
    };
    g.prototype.Nc = function(a) {
        if (a !== this.Pf) {
            var f = this.Bc();
            f.type = 2;
            this.Pf = f.gd = a;
            this.Sb = !1
        }
    };
    g.prototype.kf = function(a, f) {
        if ((a !== this.rq || f !== this.nq) &amp;&amp; !this.Zh) {
            var c = this.Bc();
            c.type = 4;
            c.fc = a;
            c.Id = f;
            this.rq = a;
            this.nq = f;
            this.Sb = !1
        }
    };
    g.prototype.Jr = function() {
        this.kf(this.A.ONE, this.A.ONE_MINUS_SRC_ALPHA)
    };
    g.prototype.Gi = function(a, f, c, d, e, n, p, l) {
        15992 &lt;= this.Ce &amp;&amp; this.Bf();
        var u = this.Ce,
            b = this.fh,
            m = this.sl,
            x = this.dl,
            h = this.Tl;
        if (this.Sb) this.Ke[this.Zd -
            1].Id += 6;
        else {
            var g = this.Bc();
            g.type = 1;
            g.fc = this.Fa ? u : u / 2 * 3;
            g.Id = 6;
            this.Sb = !0
        }
        this.Fa ? (m[u++] = a, m[u++] = f, m[u++] = h, m[u++] = c, m[u++] = d, m[u++] = h, m[u++] = e, m[u++] = n, m[u++] = h, m[u++] = p, m[u++] = l, m[u++] = h) : (m[u++] = a, m[u++] = f, m[u++] = c, m[u++] = d, m[u++] = e, m[u++] = n, m[u++] = p, m[u++] = l);
        x[b++] = 0;
        x[b++] = 0;
        x[b++] = 1;
        x[b++] = 0;
        x[b++] = 1;
        x[b++] = 1;
        x[b++] = 0;
        x[b++] = 1;
        this.Ce = u;
        this.fh = b
    };
    g.prototype.jf = function(a, f, c, d, e, n, p, l, b) {
        15992 &lt;= this.Ce &amp;&amp; this.Bf();
        var h = this.Ce,
            m = this.fh,
            x = this.sl,
            g = this.dl,
            k = this.Tl;
        if (this.Sb) this.Ke[this.Zd -
            1].Id += 6;
        else {
            var r = this.Bc();
            r.type = 1;
            r.fc = this.Fa ? h : h / 2 * 3;
            r.Id = 6;
            this.Sb = !0
        }
        var r = b.left,
            q = b.top,
            A = b.right;
        b = b.bottom;
        this.Fa ? (x[h++] = a, x[h++] = f, x[h++] = k, x[h++] = c, x[h++] = d, x[h++] = k, x[h++] = e, x[h++] = n, x[h++] = k, x[h++] = p, x[h++] = l, x[h++] = k) : (x[h++] = a, x[h++] = f, x[h++] = c, x[h++] = d, x[h++] = e, x[h++] = n, x[h++] = p, x[h++] = l);
        g[m++] = r;
        g[m++] = q;
        g[m++] = A;
        g[m++] = q;
        g[m++] = A;
        g[m++] = b;
        g[m++] = r;
        g[m++] = b;
        this.Ce = h;
        this.fh = m
    };
    g.prototype.pc = function(a) {
        if (this.ji !== a) {
            if (!this.Ta[a]) {
                if (0 === this.ji) return;
                a = 0
            }
            var f = this.Bc();
            f.type = 9;
            this.ji = f.fc = a;
            this.Sb = !1
        }
    };
    g.prototype.Ei = function(a) {
        a = this.Ta[a];
        return !(!a.Vf &amp;&amp; !a.Uf)
    };
    g.prototype.En = function(a) {
        a = this.Ta[a];
        return !!(a.Vf || a.Uf || a.up)
    };
    g.prototype.Dn = function(a) {
        return this.Ta[a].rd
    };
    g.prototype.Lx = function(a) {
        a = this.Ta[a];
        return 0 !== a.cm || 0 !== a.dm
    };
    g.prototype.sw = function(a) {
        return this.Ta[a].cm
    };
    g.prototype.uw = function(a) {
        return this.Ta[a].dm
    };
    g.prototype.vw = function(a, f) {
        return this.Ta[a].T[f][2]
    };
    g.prototype.Ik = function(a) {
        return this.Ta[a].bp
    };
    g.prototype.bh = function(a, f, c, d, e, n, p, l, b, h, m, x, g, k, r) {
        var q = this.Ta[this.ji],
            A, y;
        if (q.Lw || r.length) {
            A = this.Bc();
            A.type = 10;
            A.S ? mc(this.Lc, A.S) : A.S = lc();
            y = A.S;
            y[0] = f;
            y[1] = c;
            y[2] = d;
            y[3] = e;
            y[4] = n;
            y[5] = p;
            y[6] = l;
            y[7] = b;
            y[8] = h;
            y[9] = m;
            y[10] = x;
            y[11] = g;
            y[12] = k;
            q.oi ? A.gd = a : A.gd = null;
            if (r.length)
                for (c = A.Tr, c.length = r.length, a = 0, f = r.length; a &lt; f; a++) c[a] = r[a];
            this.Sb = !1
        }
    };
    g.prototype.clear = function(a, f, c, d) {
        var e = this.Bc();
        e.type = 7;
        e.fc = 0;
        e.S || (e.S = lc());
        e.S[0] = a;
        e.S[1] = f;
        e.S[2] = c;
        e.S[3] = d;
        this.Sb = !1
    };
    g.prototype.clearRect = function(a, f, c, d) {
        if (!(0 &gt; c || 0 &gt; d)) {
            var e = this.Bc();
            e.type = 7;
            e.fc = 1;
            e.S || (e.S = lc());
            e.S[0] = a;
            e.S[1] = f;
            e.S[2] = c;
            e.S[3] = d;
            this.Sb = !1
        }
    };
    g.prototype.Nr = function(a) {
        if (this.Fa &amp;&amp; (a = !!a, this.Zh !== a)) {
            var f = this.Bc();
            f.type = 14;
            f.fc = a ? 1 : 0;
            this.Sb = !1;
            this.Zh = a;
            this.Lk = null;
            this.Zh ? this.pc(2) : this.pc(0)
        }
    };
    g.prototype.Lr = function(a) {
        if (this.Fa) {
            var f = this.Bc();
            f.type = 13;
            f.fc = a ? 1 : 0;
            this.Sb = !1
        }
    };
    g.prototype.Lp = function() {
        mc(this.Sm, r);
        this.Pd();
        this.vd();
        var a = this.width / 2,
            f = this.height / 2;
        this.Gi(-a, f, a, f, a, -f, -a, -f);
        mc(r, this.Lc);
        this.vd()
    };
    g.prototype.Kr = function(a, f, c) {
        this.pc(3);
        var d = this.Bc();
        d.type = 12;
        d.S || (d.S = lc());
        d.S[0] = a;
        d.S[1] = f;
        d.S[2] = c;
        d.S[3] = 1;
        this.Sb = !1
    };
    g.prototype.gy = function() {
        this.pc(0)
    };
    g.prototype.Sx = function() {
        this.pc(2)
    };
    g.prototype.Kx = function() {
        this.Bf();
        this.A.flush()
    };
    var q = [],
        l = {};
    g.prototype.Ku = function() {
        G(q);
        l = {}
    };
    g.prototype.jk = function(a, f, c) {
        var d;
        d = !1;
        f = !!f;
        var e = a.src + "," + d + "," + f + (d ? ",undefined" : ""),
            n = null;
        if ("undefined" !== typeof a.src &amp;&amp; l.hasOwnProperty(e)) return n = l[e], n.nj++, n;
        this.Bf();
        var p = this.A,
            b = la(a.width) &amp;&amp; la(a.height),
            n = p.createTexture();
        p.bindTexture(p.TEXTURE_2D, n);
        p.pixelStorei(p.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0);
        var u = p.RGBA,
            h = p.RGBA,
            m = p.UNSIGNED_BYTE;
        if (c &amp;&amp; !this.Ye) switch (c) {
            case 1:
                h = u = p.RGB;
                break;
            case 2:
                m = p.UNSIGNED_SHORT_4_4_4_4;
                break;
            case 3:
                m = p.UNSIGNED_SHORT_5_5_5_1;
                break;
            case 4:
                h = u = p.RGB, m = p.UNSIGNED_SHORT_5_6_5
        }
        if (1 === this.version &amp;&amp; !b &amp;&amp; d) {
            c = document.createElement("canvas");
            c.width = ma(a.width);
            c.height = ma(a.height);
            var x = c.getContext("2d");
            "undefined" !== typeof x.imageSmoothingEnabled ? x.imageSmoothingEnabled = f : (x.webkitImageSmoothingEnabled = f, x.mozImageSmoothingEnabled = f, x.msImageSmoothingEnabled = f);
            x.drawImage(a, 0, 0, a.width, a.height, 0, 0, c.width, c.height);
            p.texImage2D(p.TEXTURE_2D, 0, u, h, m, c)
        } else p.texImage2D(p.TEXTURE_2D, 0, u, h, m, a);
        d ? (p.texParameteri(p.TEXTURE_2D, p.TEXTURE_WRAP_S, p.REPEAT), p.texParameteri(p.TEXTURE_2D, p.TEXTURE_WRAP_T, p.REPEAT)) : (p.texParameteri(p.TEXTURE_2D, p.TEXTURE_WRAP_S, p.CLAMP_TO_EDGE), p.texParameteri(p.TEXTURE_2D, p.TEXTURE_WRAP_T, p.CLAMP_TO_EDGE));
        f ? (p.texParameteri(p.TEXTURE_2D, p.TEXTURE_MAG_FILTER, p.LINEAR), (b || 2 &lt;= this.version) &amp;&amp; this.Ap ? (p.texParameteri(p.TEXTURE_2D, p.TEXTURE_MIN_FILTER, p.LINEAR_MIPMAP_LINEAR), p.generateMipmap(p.TEXTURE_2D)) : p.texParameteri(p.TEXTURE_2D, p.TEXTURE_MIN_FILTER, p.LINEAR)) : (p.texParameteri(p.TEXTURE_2D, p.TEXTURE_MAG_FILTER, p.NEAREST), p.texParameteri(p.TEXTURE_2D, p.TEXTURE_MIN_FILTER, p.NEAREST));
        p.bindTexture(p.TEXTURE_2D, null);
        this.Pf = null;
        n.uf = a.width;
        n.tf = a.height;
        n.nj = 1;
        n.np = e;
        q.push(n);
        return l[e] = n
    };
    g.prototype.Sc = function(a, f, c) {
        var d;
        this.Bf();
        var e = this.A;
        this.Ye &amp;&amp; (d = !1);
        var n = e.createTexture();
        e.bindTexture(e.TEXTURE_2D, n);
        e.texImage2D(e.TEXTURE_2D, 0, e.RGBA, a, f, 0, e.RGBA, d ? e.UNSIGNED_SHORT_4_4_4_4 : e.UNSIGNED_BYTE, null);
        e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE);
        e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE);
        e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, c ? e.LINEAR : e.NEAREST);
        e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, c ? e.LINEAR : e.NEAREST);
        e.bindTexture(e.TEXTURE_2D, null);
        this.Pf = null;
        n.uf = a;
        n.tf = f;
        q.push(n);
        return n
    };
    g.prototype.deleteTexture = function(a) {
        a &amp;&amp; ("undefined" !== typeof a.nj &amp;&amp; 1 &lt; a.nj ? a.nj-- : (this.Bf(), a === this.Pf &amp;&amp; (this.A.bindTexture(this.A.TEXTURE_2D, null), this.Pf = null), a === this.Qf &amp;&amp; (this.A.activeTexture(this.A.TEXTURE1), this.A.bindTexture(this.A.TEXTURE_2D, null), this.A.activeTexture(this.A.TEXTURE0), this.Qf = null), Ga(q, a), "undefined" !== typeof a.np &amp;&amp; delete l[a.np], this.A.deleteTexture(a)))
    };
    g.prototype.dd = function(a) {
        if (a !== this.Lk) {
            var f = this.Bc();
            f.type = 6;
            this.Lk = f.gd = a;
            this.Sb = !1
        }
    };
    qb = g
})();
(function() {
    function g(a) {
        if (a &amp;&amp; (a.getContext || a.dc) &amp;&amp; !a.c2runtime) {
            a.c2runtime = this;
            var d = this;
            this.xc = (this.bk = /crosswalk/i.test(navigator.userAgent) || /xwalk/i.test(navigator.userAgent) || !("undefined" === typeof window.c2isCrosswalk || !window.c2isCrosswalk)) || "undefined" !== typeof window.device &amp;&amp; ("undefined" !== typeof window.device.cordova || "undefined" !== typeof window.device.phonegap) || "undefined" !== typeof window.c2iscordova &amp;&amp; window.c2iscordova;
            this.Tb = !!a.dc;
            this.fq = "undefined" !== typeof window.AppMobi || this.Tb;
            this.Kc = !!window.c2cocoonjs;
            this.Wc = !!window.c2ejecta;
            this.Kc &amp;&amp; (CocoonJS.App.onSuspended.addEventListener(function() {
                d.setSuspended(!0)
            }), CocoonJS.App.onActivated.addEventListener(function() {
                d.setSuspended(!1)
            }));
            this.Wc &amp;&amp; (document.addEventListener("pagehide", function() {
                d.setSuspended(!0)
            }), document.addEventListener("pageshow", function() {
                d.setSuspended(!1)
            }), document.addEventListener("resize", function() {
                d.setSize(window.innerWidth, window.innerHeight)
            }));
            this.ra = this.Tb || this.Kc || this.Wc;
            this.ai = /edge\//i.test(navigator.userAgent);
            this.Ye = (/msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent) || /iemobile/i.test(navigator.userAgent)) &amp;&amp; !this.ai;
            this.hq = /tizen/i.test(navigator.userAgent);
            this.Zj = /android/i.test(navigator.userAgent) &amp;&amp; !this.hq &amp;&amp; !this.Ye &amp;&amp; !this.ai;
            this.kq = (/iphone/i.test(navigator.userAgent) || /ipod/i.test(navigator.userAgent)) &amp;&amp; !this.Ye &amp;&amp; !this.ai;
            this.cx = /ipad/i.test(navigator.userAgent);
            this.Dg = this.kq || this.cx || this.Wc;
            this.Yh = (/chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent)) &amp;&amp; !this.Ye &amp;&amp; !this.ai;
            this.dq = /amazonwebappplatform/i.test(navigator.userAgent);
            this.Tw = /firefox/i.test(navigator.userAgent);
            this.Ww = /safari/i.test(navigator.userAgent) &amp;&amp; !this.Yh &amp;&amp; !this.Ye &amp;&amp; !this.ai;
            this.Yw = /windows/i.test(navigator.userAgent);
            this.Mf = "undefined" !== typeof window.c2nodewebkit || "undefined" !== typeof window.c2nwjs || /nodewebkit/i.test(navigator.userAgent) || /nwjs/i.test(navigator.userAgent);
            this.iq = !("undefined" === typeof window.c2isWindows8 || !window.c2isWindows8);
            this.$w = !("undefined" === typeof window.c2isWindows8Capable || !window.c2isWindows8Capable);
            this.ei = !("undefined" === typeof window.c2isWindowsPhone8 || !window.c2isWindowsPhone8);
            this.Pm = !("undefined" === typeof window.c2isWindowsPhone81 || !window.c2isWindowsPhone81);
            this.Om = !!window.cr_windows10;
            this.Nm = this.iq || this.$w || this.Pm || this.Om;
            this.Sw = !("undefined" === typeof window.c2isBlackberry10 || !window.c2isBlackberry10);
            this.$j = this.Zj &amp;&amp; !this.Yh &amp;&amp; !this.bk &amp;&amp; !this.Tw &amp;&amp; !this.dq &amp;&amp; !this.ra;
            this.devicePixelRatio = 1;
            this.Lf = this.xc || this.bk || this.fq || this.Kc || this.Zj || this.Dg || this.ei || this.Pm || this.Sw || this.hq || this.Wc;
            this.Lf || (this.Lf = /(blackberry|bb10|playbook|palm|symbian|nokia|windows\s+ce|phone|mobile|tablet|kindle|silk)/i.test(navigator.userAgent));
            this.di = !!(this.Dg &amp;&amp; this.xc &amp;&amp; window.webkit);
            this.ym = null;
            this.Nw = "";
            this.di &amp;&amp; (this.ym = cordova &amp;&amp; cordova.plugins &amp;&amp; cordova.plugins.CorHttpd ? cordova.plugins.CorHttpd : null);
            "undefined" === typeof cr_is_preview || this.Mf || "?nw" !== window.location.search &amp;&amp; !/nodewebkit/i.test(navigator.userAgent) &amp;&amp; !/nwjs/i.test(navigator.userAgent) || (this.Mf = !0);
            this.canvas = a;
            this.oj = document.getElementById("c2canvasdiv");
            this.B = this.A = null;
            this.um = "(unavailable)";
            this.Fa = !1;
            this.zf = 0;
            this.Na = null;
            this.hm = "";
            this.Nj = !1;
            this.br = this.cr = 0;
            this.canvas.oncontextmenu = function(a) {
                a.preventDefault &amp;&amp; a.preventDefault();
                return !1
            };
            this.canvas.onselectstart = function(a) {
                a.preventDefault &amp;&amp; a.preventDefault();
                return !1
            };
            this.Tb &amp;&amp; (window.c2runtime = this);
            this.Mf &amp;&amp; (window.ondragover = function(a) {
                a.preventDefault();
                return !1
            }, window.ondrop = function(a) {
                a.preventDefault();
                return !1
            }, window.nwgui &amp;&amp; window.nwgui.App.clearCache &amp;&amp; window.nwgui.App.clearCache());
            this.$j &amp;&amp; "undefined" !== typeof jQuery &amp;&amp; jQuery("canvas").parents("*").css("overflow", "visible");
            this.width = a.width;
            this.height = a.height;
            this.H = this.width;
            this.G = this.height;
            this.vj = this.width;
            this.Fh = this.height;
            this.Hg = window.innerWidth;
            this.Gg = window.innerHeight;
            this.ca = !0;
            this.ci = !1;
            Date.now || (Date.now = function() {
                return +new Date
            });
            this.plugins = [];
            this.types = {};
            this.q = [];
            this.Ma = [];
            this.Jg = {};
            this.od = [];
            this.am = {};
            this.ee = [];
            this.oh = [];
            this.ll = [];
            this.vu = [];
            this.wu = [];
            this.xf = {};
            this.Im = this.Xe = !1;
            this.le = 0;
            this.Hm = this.Lm = !1;
            this.Ad = [];
            this.$h = !1;
            this.hk = this.Qn = "";
            this.pb = null;
            this.me = "";
            this.Ri = this.Wr = !1;
            this.Mj = [];
            this.yf = this.Te = 0;
            this.Rq = 30;
            this.Rl = this.si = 0;
            this.ih = 1;
            this.Gb = new bb;
            this.De = new bb;
            this.tk = this.Qj = this.Jh = this.hh = this.Sf = this.gm = this.ek = 0;
            this.vf = null;
            this.Ej = [];
            this.$l = [];
            this.Gj = -1;
            this.Zm = [
                []
            ];
            this.bo = this.mk = 0;
            this.Kk(null);
            this.ti = [];
            this.vi = -1;
            this.Wq = this.yi = 0;
            this.Vm = !0;
            this.Lh = 0;
            this.Si = [];
            this.Zn = this.Gn = -1;
            this.Eg = !0;
            this.Kg = 0;
            this.bi = !1;
            this.iy = 0;
            this.ig = null;
            this.nb = this.Vj = !1;
            this.$q = new ea;
            this.hn = new ea;
            this.jn = new ea;
            this.Dr = [];
            new db([]);
            new db([]);
            this.hg = [];
            this.vg = {};
            this.Pe = {};
            this.Je = {};
            this.nh = {};
            this.kp = {};
            this.xq = this.gk = this.bb = this.ob = this.wq = this.fk = this.wa = null;
            this.kh = this.Qm = !1;
            this.im = [null, null];
            this.Ef = 0;
            this.Lj = "";
            this.pe = {};
            this.Oi = this.$e = null;
            this.Yr = "";
            this.sk = [];
            this.Rx()
        }
    }

    function h(a, d) {
        return 128 &gt;= d ? a[3] : 256 &gt;= d ? a[2] : 512 &gt;= d ? a[1] : a[0]
    }

    function b() {
        try {
            return !!window.indexedDB
        } catch (a) {
            return !1
        }
    }

    function k(a) {
        a.target.result.createObjectStore("saves", {
            keyPath: "slot"
        })
    }

    function r(a, d, e, c) {
        try {
            var f = indexedDB.open("_C2SaveStates");
            f.onupgradeneeded = k;
            f.onerror = c;
            f.onsuccess = function(f) {
                f = f.target.result;
                f.onerror = c;
                f.transaction(["saves"], "readwrite").objectStore("saves").put({
                    slot: a,
                    data: d
                }).onsuccess = e
            }
        } catch (p) {
            c(p)
        }
    }

    function q(a, d, e) {
        try {
            var c = indexedDB.open("_C2SaveStates");
            c.onupgradeneeded = k;
            c.onerror = e;
            c.onsuccess = function(c) {
                c = c.target.result;
                c.onerror = e;
                var f = c.transaction(["saves"]).objectStore("saves").get(a);
                f.onsuccess = function() {
                    f.result ? d(f.result.data) : d(null)
                }
            }
        } catch (f) {
            e(f)
        }
    }

    function l() {
        ha("Reloading for continuous preview");
        window.c2cocoonjs ? CocoonJS.App.reload() : -1 &lt; window.location.search.indexOf("continuous") ? window.location.reload(!0) : window.location = window.location + "?continuous"
    }

    function a(a) {
        var d, e = {};
        for (d in a) !a.hasOwnProperty(d) || a[d] instanceof ea || a[d] &amp;&amp; "undefined" !== typeof a[d].Xz || "spriteCreatedDestroyCallback" !== d &amp;&amp; (e[d] = a[d]);
        return e
    }
    var f = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame;
    g.prototype.Rx = function() {
        var a = this;
        if (this.di) {
            var d = function() {
                a.bw(function(d) {
                    a.li(JSON.parse(d))
                }, function() {
                    alert("Error fetching data.js")
                })
            };
            this.ym ? this.ym.startServer({
                port: 0,
                localhost_only: !0
            }, function(e) {
                a.Nw = e;
                d()
            }, function(a) {
                console.log("Error starting local server: " +
                    a + ". Video playback will not work.");
                d()
            }) : (console.log("Local server unavailable. Video playback will not work."), d())
        } else {
            var e;
            this.ei ? e = new ActiveXObject("Microsoft.XMLHTTP") : e = new XMLHttpRequest;
            var c = "data.js";
            if (this.iq || this.ei || this.Pm || this.Om) c = "data.json";
            e.open("GET", c, !0);
            var f = !1;
            if (!this.ra &amp;&amp; "response" in e &amp;&amp; "responseType" in e) try {
                e.responseType = "json", f = "json" === e.responseType
            } catch (p) {
                f = !1
            }
            if (!f &amp;&amp; "responseType" in e) try {
                e.responseType = "text"
            } catch (n) {}
            if ("overrideMimeType" in e) try {
                e.overrideMimeType("application/json; charset=utf-8")
            } catch (m) {}
            this.ei ? e.onreadystatechange = function() {
                4 === e.readyState &amp;&amp; a.li(JSON.parse(e.responseText))
            } : (e.onload = function() {
                if (f) a.li(e.response);
                else if (a.Wc) {
                    var d = e.responseText,
                        d = d.substr(d.indexOf("{"));
                    a.li(JSON.parse(d))
                } else a.li(JSON.parse(e.responseText))
            }, e.onerror = function(a) {
                ia("Error requesting " + c + ":");
                ia(a)
            });
            e.send()
        }
    };
    g.prototype.Qw = function() {
        var a = this,
            d, e, c, f, p, n, m, l, b;
        this.Of = (!this.ra || this.Wc || this.xc) &amp;&amp; this.zy &amp;&amp; !this.$j;
        0 === this.Zb &amp;&amp; this.Dg &amp;&amp; (this.Of = !1);
        this.devicePixelRatio = this.Of ? window.devicePixelRatio || window.webkitDevicePixelRatio || window.mozDevicePixelRatio || window.msDevicePixelRatio || 1 : 1;
        this.Mb();
        0 &lt; this.Zb &amp;&amp; this.setSize(window.innerWidth, window.innerHeight, !0);
        this.canvas.addEventListener("webglcontextlost", function(d) {
            d.preventDefault();
            a.tx();
            ha("[Construct 2] WebGL context lost");
            window.cr_setSuspended(!0)
        }, !1);
        this.canvas.addEventListener("webglcontextrestored", function() {
            a.B.$p();
            a.B.xe(a.B.width, a.B.height, !0);
            a.ob = null;
            a.bb = null;
            a.im[0] = null;
            a.im[1] = null;
            a.ux();
            a.ca = !0;
            ha("[Construct 2] WebGL context restored");
            window.cr_setSuspended(!1)
        }, !1);
        try {
            this.uv &amp;&amp; (this.Kc || this.Wc || !this.ra) &amp;&amp; (d = {
                alpha: !0,
                depth: !1,
                antialias: !1,
                powerPreference: "high-performance",
                failIfMajorPerformanceCaveat: !0
            }, this.A = this.canvas.getContext("webgl2", d) || this.canvas.getContext("webgl", d) || this.canvas.getContext("experimental-webgl", d))
        } catch (u) {}
        if (this.A) {
            if (d = this.A.getExtension("WEBGL_debug_renderer_info")) this.um = this.A.getParameter(d.UNMASKED_RENDERER_WEBGL) + " [" + this.A.getParameter(d.UNMASKED_VENDOR_WEBGL) + "]";
            this.Fa &amp;&amp; (this.um += " [front-to-back enabled]");
            this.ra || (this.Jb = document.createElement("canvas"), jQuery(this.Jb).appendTo(this.canvas.parentNode), this.Jb.oncontextmenu = function() {
                return !1
            }, this.Jb.onselectstart = function() {
                return !1
            }, this.Jb.width = Math.round(this.vj * this.devicePixelRatio), this.Jb.height = Math.round(this.Fh * this.devicePixelRatio), jQuery(this.Jb).css({
                width: this.vj + "px",
                height: this.Fh + "px"
            }), this.ur(), this.wn = this.Jb.getContext("2d"));
            this.B = new qb(this.A, this.Lf, this.Fa);
            this.B.xe(this.canvas.width, this.canvas.height);
            this.B.Ap = 0 !== this.nv;
            this.Na = null;
            d = 0;
            for (e = this.q.length; d &lt; e; d++)
                for (p = this.q[d], c = 0, f = p.M.length; c &lt; f; c++) m = p.M[c], m.fb = this.B.tm(m.id), m.rd = this.B.Dn(m.fb), this.kh = this.kh || this.B.Ei(m.fb);
            d = 0;
            for (e = this.od.length; d &lt; e; d++) {
                l = this.od[d];
                c = 0;
                for (f = l.M.length; c &lt; f; c++) m = l.M[c], m.fb = this.B.tm(m.id), m.rd = this.B.Dn(m.fb);
                l.ud();
                c = 0;
                for (f = l.P.length; c &lt; f; c++) {
                    b = l.P[c];
                    p = 0;
                    for (n = b.M.length; p &lt; n; p++) m = b.M[p], m.fb = this.B.tm(m.id), m.rd = this.B.Dn(m.fb), this.kh = this.kh || this.B.Ei(m.fb);
                    b.ud()
                }
            }
        } else {
            if (0 &lt; this.Zb &amp;&amp; this.Tb) {
                this.canvas = null;
                document.oncontextmenu = function() {
                    return !1
                };
                document.onselectstart = function() {
                    return !1
                };
                this.Na = AppMobi.canvas.getContext("2d");
                try {
                    this.Na.samplingMode = this.Qa ? "smooth" : "sharp", this.Na.globalScale = 1, this.Na.HTML5CompatibilityMode = !0, this.Na.imageSmoothingEnabled = this.Qa
                } catch (h) {}
                0 !== this.width &amp;&amp; 0 !== this.height &amp;&amp; (this.Na.width = this.width, this.Na.height = this.height)
            }
            this.Na || (this.Kc ? (d = {
                antialias: !!this.Qa,
                alpha: !0
            }, this.Na = this.canvas.getContext("2d", d)) : (d = {
                alpha: !0
            }, this.Na = this.canvas.getContext("2d", d)), this.Qk(this.Na, this.Qa));
            this.wn = this.Jb = null
        }
        this.ds = function(d) {
            a.ub(!1, d)
        };
        window == window.top || this.ra || this.Nm || this.ei || (document.addEventListener("mousedown", function() {
            window.focus()
        }, !0), document.addEventListener("touchstart", function() {
            window.focus()
        }, !0));
        "undefined" !== typeof cr_is_preview &amp;&amp; (this.Kc &amp;&amp; console.log("[Construct 2] In preview-over-wifi via CocoonJS mode"), -1 &lt; window.location.search.indexOf("continuous") &amp;&amp; (ha("Reloading for continuous preview"), this.hk = "__c2_continuouspreview", this.Ri = !0), this.Bx &amp;&amp; !this.Lf &amp;&amp; (jQuery(window).focus(function() {
            a.setSuspended(!1)
        }), jQuery(window).blur(function() {
            var d = window.parent;
            d &amp;&amp; d.document.hasFocus() || a.setSuspended(!0)
        })));
        window.addEventListener("blur", function() {
            a.Tg()
        });
        this.ra || (d = function(a) {
            if (pb(a) &amp;&amp; document.activeElement &amp;&amp; document.activeElement !== document.getElementsByTagName("body")[0] &amp;&amp; document.activeElement.blur) try {
                document.activeElement.blur()
            } catch (d) {}
        }, "undefined" !== typeof PointerEvent ? document.addEventListener("pointerdown", d) : window.navigator.msPointerEnabled ? document.addEventListener("MSPointerDown", d) : document.addEventListener("touchstart", d), document.addEventListener("mousedown", d));
        0 === this.Zb &amp;&amp; this.Of &amp;&amp; 1 &lt; this.devicePixelRatio &amp;&amp; this.setSize(this.rb, this.qb, !0);
        this.ks();
        this.Iw();
        this.go();
        this.Ha = {}
    };
    g.prototype.setSize = function(a, d, e) {
        var c = 0,
            f = 0,
            p = 0,
            n = 0,
            n = 0;
        if (this.Hg !== a || this.Gg !== d || e) {
            this.Hg = a;
            this.Gg = d;
            var m = this.Zb,
                l = (document.mozFullScreen || document.webkitIsFullScreen || !!document.msFullscreenElement || document.fullScreen || this.bi) &amp;&amp; !this.xc;
            if (l || 0 !== this.Zb || e) l &amp;&amp; 0 &lt; this.Ef &amp;&amp; (m = this.Ef), e = this.devicePixelRatio, 4 &lt;= m ? (p = this.rb / this.qb, a / d &gt; p ? (p *= d, 5 === m ? (n = p * e / this.rb, 1 &lt; n ? n = Math.floor(n) : 1 &gt; n &amp;&amp; (n = 1 / Math.ceil(1 / n)), p = this.rb * n / e, n = this.qb * n / e, c = (a - p) / 2, f = (d - n) / 2, a = p, d = n) : (c = (a - p) / 2, a = p)) : (n = a / p, 5 === m ? (n = n * e / this.qb, 1 &lt; n ? n = Math.floor(n) : 1 &gt; n &amp;&amp; (n = 1 / Math.ceil(1 / n)), p = this.rb * n / e, n = this.qb * n / e, c = (a - p) / 2, f = (d - n) / 2, a = p) : f = (d - n) / 2, d = n), l &amp;&amp; !this.Mf &amp;&amp; (f = c = 0)) : this.Mf &amp;&amp; this.bi &amp;&amp; 0 === this.Mp &amp;&amp; (c = Math.floor((a - this.rb) / 2), f = Math.floor((d - this.qb) / 2), a = this.rb, d = this.qb), 2 &gt; m &amp;&amp; (this.xh = e), this.vj = Math.round(a), this.Fh = Math.round(d), this.width = Math.round(a * e), this.height = Math.round(d * e), this.ca = !0, this.vs ? (this.H = this.width, this.G = this.height, this.Fc = !0) : this.width &lt; this.rb &amp;&amp; this.height &lt; this.qb || 1 === m ? (this.H = this.width, this.G = this.height, this.Fc = !0) : (this.H = this.rb, this.G = this.qb, this.Fc = !1, 2 === m ? (p = this.rb / this.qb, m = this.Hg / this.Gg, m &lt; p ? this.H = this.G * m : m &gt; p &amp;&amp; (this.G = this.H / m)) : 3 === m &amp;&amp; (p = this.rb / this.qb, m = this.Hg / this.Gg, m &gt; p ? this.H = this.G * m : m &lt; p &amp;&amp; (this.G = this.H / m))), this.oj &amp;&amp; !this.ra &amp;&amp; (jQuery(this.oj).css({
                width: Math.round(a) + "px",
                height: Math.round(d) + "px",
                "margin-left": Math.floor(c) + "px",
                "margin-top": Math.floor(f) + "px"
            }), "undefined" !== typeof cr_is_preview &amp;&amp; jQuery("#borderwrap").css({
                width: Math.round(a) + "px",
                height: Math.round(d) + "px"
            })), this.canvas &amp;&amp; (this.canvas.width = Math.round(a * e), this.canvas.height = Math.round(d * e), this.Wc ? (this.canvas.style.left = Math.floor(c) + "px", this.canvas.style.top = Math.floor(f) + "px", this.canvas.style.width = Math.round(a) + "px", this.canvas.style.height = Math.round(d) + "px") : this.Of &amp;&amp; !this.ra &amp;&amp; (this.canvas.style.width = Math.round(a) + "px", this.canvas.style.height = Math.round(d) + "px")), this.Jb &amp;&amp; (this.Jb.width = Math.round(a * e), this.Jb.height = Math.round(d * e), this.Jb.style.width = this.vj + "px", this.Jb.style.height = this.Fh + "px"), this.B &amp;&amp; this.B.xe(Math.round(a * e), Math.round(d * e)), this.Tb &amp;&amp; this.Na &amp;&amp; (this.Na.width = Math.round(a), this.Na.height = Math.round(d)), this.Na &amp;&amp; this.Qk(this.Na, this.Qa), this.ks(), this.kq &amp;&amp; !this.xc &amp;&amp; window.scrollTo(0, 0)
        }
    };
    g.prototype.ks = function() {
        if (this.Au &amp;&amp; 0 !== this.un) {
            var a = "portrait";
            2 === this.un &amp;&amp; (a = "landscape");
            try {
                screen.orientation &amp;&amp; screen.orientation.lock ? screen.orientation.lock(a).catch(function() {}) : screen.lockOrientation ? screen.lockOrientation(a) : screen.webkitLockOrientation ? screen.webkitLockOrientation(a) : screen.mozLockOrientation ? screen.mozLockOrientation(a) : screen.msLockOrientation &amp;&amp; screen.msLockOrientation(a)
            } catch (d) {
                console &amp;&amp; console.warn &amp;&amp; console.warn("Failed to lock orientation: ", d)
            }
        }
    };
    g.prototype.tx = function() {
        this.B.Ku();
        this.Qm = !0;
        var a, d, e;
        a = 0;
        for (d = this.q.length; a &lt; d; a++) e = this.q[a], e.mn &amp;&amp; e.mn()
    };
    g.prototype.ux = function() {
        this.Qm = !1;
        var a, d, e;
        a = 0;
        for (d = this.q.length; a &lt; d; a++) e = this.q[a], e.rn &amp;&amp; e.rn()
    };
    g.prototype.ur = function() {
        if (!this.ra) {
            var a = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || document.msFullscreenElement || this.bi) &amp;&amp; !this.xc ? jQuery(this.canvas).offset() : jQuery(this.canvas).position();
            a.position = "absolute";
            jQuery(this.Jb).css(a)
        }
    };
    var c = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.msCancelAnimationFrame || window.oCancelAnimationFrame;
    g.prototype.setSuspended = function(a) {
        var d;
        if (a &amp;&amp; !this.ci)
            for (ha("[Construct 2] Suspending"), this.ci = !0, -1 !== this.Gn &amp;&amp; c &amp;&amp; c(this.Gn), -1 !== this.Zn &amp;&amp; clearTimeout(this.Zn), a = 0, d = this.Si.length; a &lt; d; a++) this.Si[a](!0);
        else if (!a &amp;&amp; this.ci) {
            ha("[Construct 2] Resuming");
            this.ci = !1;
            this.ek = Ya();
            this.Sf = Ya();
            a = this.si = this.Qj = 0;
            for (d = this.Si.length; a &lt; d; a++) this.Si[a](!1);
            this.ub(!1)
        }
    };
    g.prototype.Yo = function(a) {
        this.Si.push(a)
    };
    g.prototype.Ge = function(a) {
        return this.sk[a]
    };
    g.prototype.li = function(a) {
        a &amp;&amp; a.project || ia("Project model unavailable");
        a = a.project;
        this.name = a[0];
        this.Hp = a[1];
        this.Zb = a[12];
        this.Mp = a[12];
        this.rb = a[10];
        this.qb = a[11];
        this.qr = this.rb / 2;
        this.rr = this.qb / 2;
        this.ra &amp;&amp; !this.Wc &amp;&amp; (4 &lt;= a[12] || 0 === a[12]) &amp;&amp; (ha("[Construct 2] Letterbox scale fullscreen modes are not supported on this platform - falling back to 'Scale outer'"), this.Mp = this.Zb = 3);
        this.lo = a[18];
        this.bf = a[19];
        if (0 === this.bf) {
            var d = new Image;
            d.crossOrigin = "anonymous";
            this.Or(d, "loading-logo.png");
            this.$e = {
                nk: d
            }
        } else if (4 === this.bf) {
            d = new Image;
            d.src = "";
            var e = new Image;
            e.src = "";
            var c = new Image;
            c.src = "";
            var f = new Image;
            f.src = "";
            var p = new Image;
            p.src = "";
            var n = new Image;
            n.src = "";
            var m = new Image;
            m.src = "";
            var l = new Image;
            l.src = "";
            var b = new Image;
            b.src = "";
            var u = new Image;
            u.src = "";
            var h = new Image;
            h.src = "";
            var x = new Image;
            x.src = "";
            this.$e = {
                nk: [d, e, c, f],
                Hx: [p, n, m, l],
                Cy: [b, u, h, x]
            }
        }
        this.yi = a[21];
        this.sk = qc();
        this.Rd = new R(this);
        d = 0;
        for (e = a[2].length; d &lt; e; d++) m = a[2][d], c = this.Ge(m[0]), rb(m, c.prototype), l = new c(this), l.Yk = m[1], l.Ze = m[2], l.cA = m[5], l.Tq = m[9], l.J &amp;&amp; l.J(), this.plugins.push(l);
        this.sk = qc();
        d = 0;
        for (e = a[3].length; d &lt; e; d++) {
            m = a[3][d];
            p = this.Ge(m[1]);
            l = null;
            c = 0;
            for (f = this.plugins.length; c &lt; f; c++)
                if (this.plugins[c] instanceof p) {
                    l = this.plugins[c];
                    break
                }
            b = new l.ma(l);
            b.name = m[0];
            b.N = m[2];
            b.Fm = m[3].slice(0);
            b.By = m[3].length;
            b.Bu = m[4];
            b.gw = m[5];
            b.Y = m[11];
            b.N ? (b.qk = [], b.fe = this.Lh++, b.Ja = null) : (b.qk = null, b.fe = -1, b.Ja = []);
            b.Jj = null;
            b.sg = null;
            b.Bp = null;
            b.Xc = !1;
            b.uc = null;
            m[6] ? (b.Xn = m[6][0], b.bs = m[6][1], b.Yn = m[6][2]) : (b.Xn = null, b.bs = 0, b.Yn = 0);
            m[7] ? b.tc = m[7] : b.tc = null;
            b.index = d;
            b.d = [];
            b.Aj = [];
            b.Ae = [new sb(b)];
            b.Bd = 0;
            b.Tc = null;
            b.Pu = 0;
            b.eh = !0;
            b.ml = tb;
            b.Tp = ub;
            b.qw = vb;
            b.Aa = wb;
            b.Fi = xb;
            b.hf = zb;
            b.qd = Ab;
            b.Sj = Bb;
            b.km = Cb;
            b.nm = Db;
            b.Xd = Eb;
            b.pm = Fb;
            b.qp = new eb(this.rb, this.qb);
            b.cp = !0;
            b.dp = !1;
            b.Ha = {};
            b.toString = Gb;
            b.Ma = [];
            c = 0;
            for (f = m[8].length; c &lt; f; c++) {
                u = m[8][c];
                h = this.Ge(u[1]);
                x = null;
                p = 0;
                for (n = this.Ma.length; p &lt; n; p++)
                    if (this.Ma[p] instanceof h) {
                        x = this.Ma[p];
                        break
                    }
                x || (x = new h(this), x.Vq = [], x.en = new ea, x.J &amp;&amp; x.J(), this.Ma.push(x)); - 1 === x.Vq.indexOf(b) &amp;&amp; x.Vq.push(b);
                p = new x.ma(x, b);
                p.name = u[0];
                p.Y = u[2];
                p.J();
                b.Ma.push(p)
            }
            b.global = m[9];
            b.Km = m[10];
            b.M = [];
            c = 0;
            for (f = m[12].length; c &lt; f; c++) b.M.push({
                id: m[12][c][0],
                name: m[12][c][1],
                fb: -1,
                rd: !1,
                Wa: !0,
                index: c
            });
            b.rA = m[13];
            this.lo &amp;&amp; !b.N &amp;&amp; !b.Km &amp;&amp; l.Ze || b.J();
            b.name &amp;&amp; (this.types[b.name] = b);
            this.q.push(b);
            l.Yk &amp;&amp; (c = new l.Z(b), c.uid = this.yi++, c.yr = this.Wq++, c.If = 0, c.Th = Hb, c.toString = Ib, c.n = m[14], c.J(), b.d.push(c), this.pe[c.uid.toString()] = c)
        }
        d = 0;
        for (e = a[4].length; d &lt; e; d++)
            for (p = a[4][d], n = this.q[p[0]], c = 1, f = p.length; c &lt; f; c++) m = this.q[p[c]], m.Ja.push(n), n.qk.push(m);
        d = 0;
        for (e = a[28].length; d &lt; e; d++) {
            p = a[28][d];
            n = [];
            c = 0;
            for (f = p.length; c &lt; f; c++) n.push(this.q[p[c]]);
            c = 0;
            for (f = n.length; c &lt; f; c++) n[c].Xc = !0, n[c].uc = n
        }
        if (0 &lt; this.Lh)
            for (d = 0, e = this.q.length; d &lt; e; d++)
                if (m = this.q[d], !m.N &amp;&amp; m.Ja.length) {
                    m.Jj = Array(this.Lh);
                    m.sg = Array(this.Lh);
                    m.Bp = Array(this.Lh);
                    b = [];
                    c = x = h = u = 0;
                    for (f = m.Ja.length; c &lt; f; c++)
                        for (l = m.Ja[c], m.Jj[l.fe] = u, u += l.By, m.sg[l.fe] = h, h += l.Bu, m.Bp[l.fe] = x, x += l.gw, p = 0, n = l.M.length; p &lt; n; p++) b.push(za({}, l.M[p]));
                    m.M = b.concat(m.M);
                    c = 0;
                    for (f = m.M.length; c &lt; f; c++) m.M[c].index = c
                }
        d = 0;
        for (e = a[5].length; d &lt; e; d++) m = a[5][d], c = new Jb(this, m), this.Jg[c.name] = c, this.od.push(c);
        d = 0;
        for (e = a[6].length; d &lt; e; d++) m = a[6][d], c = new Kb(this, m), this.am[c.name] = c, this.ee.push(c);
        d = 0;
        for (e = this.ee.length; d &lt; e; d++) this.ee[d].Ya();
        d = 0;
        for (e = this.ee.length; d &lt; e; d++) this.ee[d].ho();
        d = 0;
        for (e = this.ll.length; d &lt; e; d++) this.ll[d].Ya();
        G(this.ll);
        this.yu = a[7];
        this.Lj = a[8];
        this.ue = a[9];
        this.xh = 1;
        this.uv = a[13];
        this.Qa = a[14];
        this.pp = a[15];
        this.zy = a[17];
        this.un = a[20];
        this.Au = 0 &lt; this.un;
        this.Bx = a[22];
        this.Fc = this.vs = a[23];
        this.nv = a[24];
        this.Ix = a[25];
        this.Fa = a[27] &amp;&amp; !this.Ye;
        this.Zk = Date.now();
        G(this.sk);
        this.Qw()
    };
    var d = !1;
    g.prototype.us = function(a, e) {
        a.cocoonLazyLoad = !0;
        a.onerror = function(e) {
            d = a.mp = !0;
            console &amp;&amp; console.error &amp;&amp; console.error("Error loading image '" + a.src + "': ", e)
        };
        this.Wc ? a.src = e : a.src || ("undefined" !== typeof XAPKReader ? XAPKReader.get(e, function(d) {
            a.src = d
        }, function(c) {
            d = a.mp = !0;
            console &amp;&amp; console.error &amp;&amp; console.error("Error extracting image '" + e + "' from expansion file: ", c)
        }) : (a.crossOrigin = "anonymous", this.Or(a, e)));
        this.oh.push(a)
    };
    g.prototype.ew = function(a) {
        var d, e;
        d = 0;
        for (e = this.oh.length; d &lt; e; d++)
            if (this.oh[d].Mu === a) return this.oh[d];
        return null
    };
    var e = 0,
        n = !1;
    g.prototype.Iw = function() {
        this.ig &amp;&amp; (e = this.ig.dy(this.yu))
    };
    g.prototype.ep = function() {
        var a = e,
            d = 0,
            c = 0,
            f = !0,
            p, m, c = 0;
        for (p = this.oh.length; c &lt; p; c++) {
            m = this.oh[c];
            var b = m.Lu;
            if (!b || 0 &gt;= b) b = 5E4;
            a += b;
            m.src &amp;&amp; (m.complete || m.loaded) &amp;&amp; !m.mp ? d += b : f = !1
        }
        f &amp;&amp; this.Ix &amp;&amp; this.ig &amp;&amp; (n || (this.ig.jy(), n = !0), c = this.ig.rw(), d += c, c &lt; e &amp;&amp; (f = !1));
        this.W = 0 == a ? 1 : d / a;
        return f
    };
    var p = !1;
    g.prototype.go = function() {
        if (this.Na || this.B) {
            var a = this.Na || this.wn;
            this.Jb &amp;&amp; this.ur();
            var e = window.innerWidth,
                c = window.innerHeight;
            this.Hg === e &amp;&amp; this.Gg === c || this.setSize(e, c);
            this.W = 0;
            this.vq = -1;
            var m = this;
            if (this.ep() &amp;&amp; (4 !== this.bf || p)) this.Jw();
            else {
                c = Date.now() - this.Zk;
                if (a) {
                    var n = this.width,
                        b = this.height,
                        e = this.devicePixelRatio;
                    if (3 &gt; this.bf &amp;&amp; (this.Kc || 500 &lt;= c &amp;&amp; this.vq != this.W)) {
                        a.clearRect(0, 0, n, b);
                        var c = n / 2,
                            b = b / 2,
                            n = 0 === this.bf &amp;&amp; this.$e.nk.complete,
                            l = 40 * e,
                            u = 0,
                            h = 80 * e,
                            x;
                        if (n) {
                            var g = this.$e.nk,
                                h = g.width * e;
                            x = g.height * e;
                            l = h / 2;
                            u = x / 2;
                            a.drawImage(g, ta(c - l), ta(b - u), h, x)
                        }
                        1 &gt;= this.bf ? (c = ta(c - l) + .5, b = ta(b + (u + (n ? 12 * e : 0))) + .5, a.fillStyle = d ? "red" : "DodgerBlue", a.fillRect(c, b, Math.floor(h * this.W), 6 * e), a.strokeStyle = "black", a.strokeRect(c, b, h, 6 * e), a.strokeStyle = "white", a.strokeRect(c - 1 * e, b - 1 * e, h + 2 * e, 8 * e)) : 2 === this.bf &amp;&amp; (a.font = this.Wc ? "12pt ArialMT" : "12pt Arial", a.fillStyle = d ? "#f00" : "#999", a.qA = "middle", e = Math.round(100 * this.W) + "%", n = a.measureText ? a.measureText(e) : null, a.fillText(e, c - (n ? n.width : 0) / 2, b));
                        this.vq = this.W
                    } else if (4 === this.bf) {
                        this.sv(a);
                        f ? f(function() {
                            m.go()
                        }) : setTimeout(function() {
                            m.go()
                        }, 16);
                        return
                    }
                }
                setTimeout(function() {
                    m.go()
                }, this.Kc ? 10 : 100)
            }
        }
    };
    var E = -1,
        u = "undefined" === typeof cr_is_preview ? 200 : 0,
        T = !0,
        m = !1,
        x = 0,
        aa = 0,
        z = "undefined" === typeof cr_is_preview ? 3E3 : 0,
        v = null,
        B = null,
        A = 0;
    g.prototype.sv = function(a) {
        if (!p) {
            for (var e = Math.ceil(this.width), c = Math.ceil(this.height), f = this.$e.nk, n = this.$e.Hx, b = this.$e.Cy, l = 0; 4 &gt; l; ++l)
                if (!f[l].complete || !n[l].complete || !b[l].complete) return;
            0 === A &amp;&amp; (E = Date.now());
            var l = Date.now(),
                g = !1,
                k = a,
                r, q;
            T || m ? (a.clearRect(0, 0, e, c), v &amp;&amp; v.width === e &amp;&amp; v.height === c || (v = document.createElement("canvas"), v.width = e, v.height = c, B = v.getContext("2d")), k = B, g = !0, T &amp;&amp; 1 === A &amp;&amp; (E = Date.now())) : a.globalAlpha = 1;
            k.fillStyle = "#333333";
            k.fillRect(0, 0, e, c);
            256 &lt; this.Fh ? (r = Ha(.22 * c, 105, .6 * e), q = .25 * r, k.drawImage(h(n, r), .5 * e - r / 2, .2 * c - q / 2, r, q), q = r = Math.min(.395 * c, .95 * e), k.drawImage(h(f, r), .5 * e - r / 2, .485 * c - q / 2, r, q), r = Ha(.22 * c, 105, .6 * e), q = .25 * r, k.drawImage(h(b, r), .5 * e - r / 2, .868 * c - q / 2, r, q), k.fillStyle = "#3C3C3C", r = e, q = Math.max(.005 * c, 2), k.fillRect(0, .8 * c - q / 2, r, q), k.fillStyle = d ? "red" : "#E0FF65", r = e * this.W, k.fillRect(.5 * e - r / 2, .8 * c - q / 2, r, q)) : (q = r = .55 * c, k.drawImage(h(f, r), .5 * e - r / 2, .45 * c - q / 2, r, q), k.fillStyle = "#3C3C3C", r = e, q = Math.max(.005 * c, 2), k.fillRect(0, .85 * c -
                q / 2, r, q), k.fillStyle = d ? "red" : "#E0FF65", r = e * this.W, k.fillRect(.5 * e - r / 2, .85 * c - q / 2, r, q));
            g &amp;&amp; (T ? a.globalAlpha = 0 === A ? 0 : Math.min((l - E) / 300, 1) : m &amp;&amp; (a.globalAlpha = Math.max(1 - (l - aa) / 300, 0)), a.drawImage(v, 0, 0, e, c));
            T &amp;&amp; 300 &lt;= l - E &amp;&amp; 2 &lt;= A &amp;&amp; (T = !1, x = l);
            !T &amp;&amp; l - x &gt;= z &amp;&amp; !m &amp;&amp; 1 &lt;= this.W &amp;&amp; (m = !0, aa = l);
            if (m &amp;&amp; l - aa &gt;= 300 + u || "undefined" !== typeof cr_is_preview &amp;&amp; 1 &lt;= this.W &amp;&amp; 500 &gt; Date.now() - E) p = !0, m = T = !1, this.$e = B = v = null;
            ++A
        }
    };
    g.prototype.Jw = function() {
        this.Jb &amp;&amp; (this.canvas.parentNode.removeChild(this.Jb), this.Jb = this.wn = null);
        this.Zk = Date.now();
        this.Sf = Ya();
        var a, d, e;
        if (this.lo)
            for (a = 0, d = this.q.length; a &lt; d; a++) e = this.q[a], e.N || e.Km || !e.Ba.Ze || e.J();
        else this.Eg = !1;
        a = 0;
        for (d = this.od.length; a &lt; d; a++) this.od[a].Nu();
        2 &lt;= this.Zb &amp;&amp; (a = this.rb / this.qb, d = this.width / this.height, this.xh = 2 !== this.Zb &amp;&amp; d &gt; a || 2 === this.Zb &amp;&amp; d &lt; a ? this.height / this.qb : this.width / this.rb);
        this.Hp ? this.Jg[this.Hp].Vn() : this.od[0].Vn();
        this.lo || (this.Kg = 1, this.trigger(R.prototype.e.zo, null), window.C2_RegisterSW &amp;&amp; window.C2_RegisterSW());
        navigator.splashscreen &amp;&amp; navigator.splashscreen.hide &amp;&amp; navigator.splashscreen.hide();
        a = 0;
        for (d = this.q.length; a &lt; d; a++) e = this.q[a], e.dr &amp;&amp; e.dr();
        document.hidden || document.webkitHidden || document.mozHidden || document.msHidden ? window.cr_setSuspended(!0) : this.ub(!1);
        this.Tb &amp;&amp; AppMobi.webview.execute("onGameReady();")
    };
    g.prototype.ub = function(a, d, e) {
        if (this.wa) {
            var c = Ya();
            if (e || !this.ci || a) {
                a || (f ? this.Gn = f(this.ds) : this.Zn = setTimeout(this.ds, this.Lf ? 1 : 16));
                d = d || c;
                var p = this.Zb;
                ((e = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement) &amp;&amp; !this.xc) || this.bi) &amp;&amp; 0 &lt; this.Ef &amp;&amp; (p = this.Ef);
                if (0 &lt; p) {
                    var p = window.innerWidth,
                        m = window.innerHeight;
                    this.Hg === p &amp;&amp; this.Gg === m || this.setSize(p, m)
                }
                this.ra || (e ? (this.Nj || (this.hm = jQuery(this.canvas).css("margin") || "0", this.Nj = !0), this.Yh || this.Mf || jQuery(this.canvas).css({
                    "margin-left": "" + Math.floor((screen.width - this.width / this.devicePixelRatio) / 2) + "px",
                    "margin-top": "" + Math.floor((screen.height - this.height / this.devicePixelRatio) / 2) + "px"
                })) : this.Nj ? (this.Yh || this.Mf || jQuery(this.canvas).css("margin", this.hm), this.hm = "", this.Nj = !1, 0 === this.Zb &amp;&amp; this.setSize(Math.round(this.cr / this.devicePixelRatio), Math.round(this.br / this.devicePixelRatio), !0)) : (this.cr = this.width, this.br = this.height));
                this.Eg &amp;&amp; (e = this.ep(), this.Kg = this.W, e &amp;&amp; (this.Eg = !1, this.W = 1, this.trigger(R.prototype.e.zo, null), window.C2_RegisterSW &amp;&amp; window.C2_RegisterSW()));
                this.kx(d);
                !this.ca &amp;&amp; !this.Kc || this.Qm || this.Ri || a || (this.ca = !1, this.B ? this.wc() : this.Cd(), this.Oi &amp;&amp; (this.canvas &amp;&amp; this.canvas.toDataURL &amp;&amp; (this.Yr = this.canvas.toDataURL(this.Oi[0], this.Oi[1]), window.cr_onSnapshot &amp;&amp; window.cr_onSnapshot(this.Yr), this.trigger(R.prototype.e.ft, null)), this.Oi = null));
                this.aA || (this.hh++, this.Jh++, this.Qj++);
                this.si += Ya() - c
            }
        }
    };
    g.prototype.kx = function(a) {
        var d, e, c, f, p, m, n, b;
        1E3 &lt;= a - this.Sf &amp;&amp; (this.Sf += 1E3, 1E3 &lt;= a - this.Sf &amp;&amp; (this.Sf = a), this.gm = this.Qj, this.Qj = 0, this.Rl = this.si, this.si = 0);
        d = 0;
        0 !== this.ek &amp;&amp; (d = a - this.ek, 0 &gt; d &amp;&amp; (d = 0), this.yf = d /= 1E3, .5 &lt; this.yf ? this.yf = 0 : this.yf &gt; 1 / this.Rq &amp;&amp; (this.yf = 1 / this.Rq));
        this.ek = a;
        this.Te = this.yf * this.ih;
        this.Gb.add(this.Te);
        this.De.add(d);
        a = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement || this.bi) &amp;&amp; !this.xc;
        2 &lt;= this.Zb || a &amp;&amp; 0 &lt; this.Ef ? (d = this.rb / this.qb, e = this.width / this.height, c = this.Zb, a &amp;&amp; 0 &lt; this.Ef &amp;&amp; (c = this.Ef), this.xh = 2 !== c &amp;&amp; e &gt; d || 2 === c &amp;&amp; e &lt; d ? this.height / this.qb : this.width / this.rb, this.wa &amp;&amp; (this.wa.Hr(this.wa.scrollX), this.wa.Ir(this.wa.scrollY))) : this.xh = this.Of ? this.devicePixelRatio : 1;
        this.Mb();
        this.le++;
        this.Rd.Vx();
        this.le--;
        this.Mb();
        this.le++;
        e = this.$q.nf();
        a = 0;
        for (d = e.length; a &lt; d; a++) e[a].lA();
        a = 0;
        for (d = this.q.length; a &lt; d; a++)
            if (m = this.q[a], !m.N &amp;&amp; (m.Ma.length || m.Ja.length))
                for (e = 0, c = m.d.length; e &lt; c; e++)
                    for (n = m.d[e], f = 0, p = n.L.length; f &lt; p; f++) n.L[f].ub();
        a = 0;
        for (d = this.q.length; a &lt; d; a++)
            if (m = this.q[a], !m.N &amp;&amp; (m.Ma.length || m.Ja.length))
                for (e = 0, c = m.d.length; e &lt; c; e++)
                    for (n = m.d[e], f = 0, p = n.L.length; f &lt; p; f++) b = n.L[f], b.Gx &amp;&amp; b.Gx();
        e = this.hn.nf();
        a = 0;
        for (d = e.length; a &lt; d; a++) e[a].ub();
        this.le--;
        this.Kw();
        for (a = 0; this.vf &amp;&amp; 10 &gt; a++;) this.zp(this.vf);
        a = 0;
        for (d = this.ee.length; a &lt; d; a++) this.ee[a].xm = !1;
        this.wa.Cf &amp;&amp; this.wa.Cf.eb();
        G(this.Dr);
        this.Vm = !1;
        this.le++;
        a = 0;
        for (d = this.q.length; a &lt; d; a++)
            if (m = this.q[a], !m.N &amp;&amp; (m.Ma.length || m.Ja.length))
                for (e = 0, c = m.d.length; e &lt; c; e++)
                    for (n = m.d[e], f = 0, p = n.L.length; f &lt; p; f++) b = n.L[f], b.gl &amp;&amp; b.gl();
        e = this.jn.nf();
        a = 0;
        for (d = e.length; a &lt; d; a++) e[a].gl();
        this.le--
    };
    g.prototype.Tg = function() {
        var a, d, e, c, f, p, m, n, b;
        a = 0;
        for (d = this.q.length; a &lt; d; a++)
            if (m = this.q[a], !m.N)
                for (e = 0, c = m.d.length; e &lt; c; e++)
                    if (n = m.d[e], n.Tg &amp;&amp; n.Tg(), n.L)
                        for (f = 0, p = n.L.length; f &lt; p; f++) b = n.L[f], b.Tg &amp;&amp; b.Tg()
    };
    g.prototype.zp = function(a) {
        var d = this.wa;
        this.wa.ky();
        var e, c, f;
        if (this.B)
            for (e = 0, c = this.q.length; e &lt; c; e++) f = this.q[e], f.N || !f.fo || f.global &amp;&amp; 0 !== f.d.length || -1 !== a.Xh.indexOf(f) || f.fo();
        d == a &amp;&amp; G(this.Rd.qc);
        G(this.Dr);
        this.Fr(!0);
        a.Vn();
        this.Fr(!1);
        this.Vm = this.ca = !0;
        this.Mb()
    };
    g.prototype.Fr = function(a) {
        var d, e, c, f, p, m, n, b, l;
        d = 0;
        for (e = this.Ma.length; d &lt; e; d++) c = this.Ma[d], a ? c.Ai &amp;&amp; c.Ai() : c.Bi &amp;&amp; c.Bi();
        d = 0;
        for (e = this.q.length; d &lt; e; d++)
            if (c = this.q[d], c.global || c.Ba.Yk)
                for (f = 0, p = c.d.length; f &lt; p; f++)
                    if (m = c.d[f], a ? m.Ai &amp;&amp; m.Ai() : m.Bi &amp;&amp; m.Bi(), m.L)
                        for (n = 0, b = m.L.length; n &lt; b; n++) l = m.L[n], a ? l.Ai &amp;&amp; l.Ai() : l.Bi &amp;&amp; l.Bi()
    };
    g.prototype.hl = function(a) {
        this.hn.add(a)
    };
    g.prototype.ny = function(a) {
        this.jn.add(a)
    };
    g.prototype.Oh = function(a) {
        return a &amp;&amp; -1 !== a.xi ? this.yf * a.xi : this.Te
    };
    g.prototype.Cd = function() {
        this.wa.Cd(this.Na);
        this.Tb &amp;&amp; this.Na.present()
    };
    g.prototype.wc = function() {
        this.Fa &amp;&amp; (this.zf = 1, this.wa.pg(this.B));
        this.wa.wc(this.B);
        this.B.Kx()
    };
    g.prototype.Wo = function(a) {
        a &amp;&amp; this.Ej.push(a)
    };
    g.prototype.Qx = function(a) {
        Ga(this.Ej, a)
    };
    g.prototype.Qh = function(a) {
        a = a.toString();
        return this.pe.hasOwnProperty(a) ? this.pe[a] : null
    };
    var y = [];
    g.prototype.Fe = function(a) {
        var d, e;
        d = a.type.name;
        var c = null;
        if (this.xf.hasOwnProperty(d)) {
            if (c = this.xf[d], c.contains(a)) return
        } else c = y.length ? y.pop() : new ea, this.xf[d] = c;
        c.add(a);
        this.Xe = !0;
        if (a.Xc)
            for (d = 0, e = a.siblings.length; d &lt; e; d++) this.Fe(a.siblings[d]);
        this.Im &amp;&amp; c.mh.push(a);
        this.Hm || (this.le++, this.trigger(Object.getPrototypeOf(a.type.Ba).e.gt, a), this.le--)
    };
    g.prototype.Mb = function() {
        if (this.Xe) {
            var a, d, e, c, f, p;
            this.Im = !0;
            e = 0;
            for (f = this.Ad.length; e &lt; f; ++e)
                for (a = this.Ad[e], d = a.type, d.d.push(a), c = 0, p = d.Ja.length; c &lt; p; ++c) d.Ja[c].d.push(a), d.Ja[c].eh = !0;
            G(this.Ad);
            this.Ts();
            Xa(this.xf);
            this.Xe = this.Im = !1
        }
    };
    g.prototype.Ts = function() {
        for (var a in this.xf) this.xf.hasOwnProperty(a) &amp;&amp; this.Ds(this.xf[a])
    };
    g.prototype.Ds = function(a) {
        var d = a.nf(),
            e = d[0].type,
            c, f, p, m, n, b;
        Za(e.d, a);
        e.eh = !0;
        0 === e.d.length &amp;&amp; (e.dp = !1);
        c = 0;
        for (f = e.Ja.length; c &lt; f; ++c) b = e.Ja[c], Za(b.d, a), b.eh = !0;
        c = 0;
        for (f = this.Rd.qc.length; c &lt; f; ++c)
            if (n = this.Rd.qc[c], n.ec.hasOwnProperty(e.index) &amp;&amp; Za(n.ec[e.index].je, a), !e.N)
                for (p = 0, m = e.Ja.length; p &lt; m; ++p) b = e.Ja[p], n.ec.hasOwnProperty(b.index) &amp;&amp; Za(n.ec[b.index].je, a);
        if (n = d[0].k) {
            if (n.Oc)
                for (p = n.d, c = 0, f = p.length; c &lt; f; ++c) m = p[c], a.contains(m) &amp;&amp; (m.Cb(), n.Lb.update(m, m.nc, null), m.nc.set(0, 0, -1, -1));
            Za(n.d, a);
            n.Li(0)
        }
        for (c = 0; c &lt; d.length; ++c) this.Cs(d[c], e);
        a.clear();
        y.push(a);
        this.ca = !0
    };
    g.prototype.Cs = function(a, d) {
        var e, c, f;
        e = 0;
        for (c = this.Ej.length; e &lt; c; ++e) this.Ej[e](a);
        a.Qe &amp;&amp; d.qp.update(a, a.Qe, null);
        (e = a.k) &amp;&amp; e.Yg(a, !0);
        if (a.L)
            for (e = 0, c = a.L.length; e &lt; c; ++e) f = a.L[e], f.qe &amp;&amp; f.qe(), f.behavior.en.remove(a);
        this.$q.remove(a);
        this.hn.remove(a);
        this.jn.remove(a);
        a.qe &amp;&amp; a.qe();
        this.pe.hasOwnProperty(a.uid.toString()) &amp;&amp; delete this.pe[a.uid.toString()];
        this.tk--;
        100 &gt; d.Aj.length &amp;&amp; d.Aj.push(a)
    };
    g.prototype.tp = function(a, d, e, c) {
        if (a.N) {
            var f = ta(Math.random() * a.qk.length);
            return this.tp(a.qk[f], d, e, c)
        }
        return a.Tc ? this.Re(a.Tc, d, !1, e, c, !1) : null
    };
    var H = [];
    g.prototype.Re = function(a, d, e, c, f, p) {
        var m, n, b, l;
        if (!a) return null;
        var u = this.q[a[1]],
            h = u.Ba.Ze;
        if (this.Eg &amp;&amp; h &amp;&amp; !u.Km || h &amp;&amp; !this.B &amp;&amp; 11 === a[0][11]) return null;
        var x = d;
        h || (d = null);
        var g;
        u.Aj.length ? (g = u.Aj.pop(), g.Cc = !0, u.Ba.Z.call(g, u)) : (g = new u.Ba.Z(u), g.Cc = !1);
        !e || p || this.pe.hasOwnProperty(a[2].toString()) ? g.uid = this.yi++ : g.uid = a[2];
        this.pe[g.uid.toString()] = g;
        g.yr = this.Wq++;
        g.If = u.d.length;
        m = 0;
        for (n = this.Ad.length; m &lt; n; ++m) this.Ad[m].type === u &amp;&amp; g.If++;
        g.Th = Hb;
        g.toString = Ib;
        b = a[3];
        if (g.Cc) Xa(g.Ha);
        else {
            g.Ha = {};
            if ("undefined" !== typeof cr_is_preview)
                for (g.cq = [], g.cq.length = b.length, m = 0, n = b.length; m &lt; n; m++) g.cq[m] = b[m][1];
            g.mb = [];
            g.mb.length = b.length
        }
        m = 0;
        for (n = b.length; m &lt; n; m++) g.mb[m] = b[m][0];
        if (h) {
            var k = a[0];
            g.x = ja(c) ? k[0] : c;
            g.y = ja(f) ? k[1] : f;
            g.z = k[2];
            g.width = k[3];
            g.height = k[4];
            g.depth = k[5];
            g.g = k[6];
            g.opacity = k[7];
            g.lc = k[8];
            g.mc = k[9];
            g.Ob = k[10];
            m = k[11];
            !this.B &amp;&amp; u.M.length &amp;&amp; (g.Ob = m);
            g.Bh = lb(g.Ob);
            this.A &amp;&amp; mb(g, g.Ob, this.A);
            if (g.Cc) {
                m = 0;
                for (n = k[12].length; m &lt; n; m++)
                    for (b = 0, l = k[12][m].length; b &lt; l; b++) g.Pa[m][b] = k[12][m][b];
                g.Nb.set(0, 0, 0, 0);
                g.Qe.set(0, 0, -1, -1);
                g.nc.set(0, 0, -1, -1);
                g.yh.Xk(g.Nb);
                G(g.Hl)
            } else {
                g.Pa = k[12].slice(0);
                m = 0;
                for (n = g.Pa.length; m &lt; n; m++) g.Pa[m] = k[12][m].slice(0);
                g.ja = [];
                g.Ie = [];
                g.Ie.length = u.M.length;
                g.Nb = new wa(0, 0, 0, 0);
                g.Qe = new wa(0, 0, -1, -1);
                g.nc = new wa(0, 0, -1, -1);
                g.yh = new ya;
                g.Hl = [];
                g.Sa = Lb;
                g.Uz = Mb;
                g.Rc = Nb;
                g.Cb = Ob;
                g.yy = Pb;
                g.sA = Sb;
                g.Gd = Tb
            }
            g.qy = !1;
            g.ty = 0;
            g.ry = 0;
            g.oy = null;
            14 === k.length &amp;&amp; (g.qy = !0, g.ty = k[13][0], g.ry = k[13][1], g.oy = k[13][2]);
            m = 0;
            for (n = u.M.length; m &lt; n; m++) g.Ie[m] = !0;
            g.ye = !0;
            g.ud = Ub;
            g.ud();
            g.rs = !!g.ja.length;
            g.Gl = !0;
            g.Ll = !0;
            u.cp = !0;
            g.visible = !0;
            g.xi = -1;
            g.k = d;
            g.wd = d.d.length;
            g.zf = 0;
            "undefined" === typeof g.zd &amp;&amp; (g.zd = null);
            this.ca = g.Ah = !0
        }
        var E;
        G(H);
        m = 0;
        for (n = u.Ja.length; m &lt; n; m++) H.push.apply(H, u.Ja[m].Ma);
        H.push.apply(H, u.Ma);
        if (g.Cc)
            for (m = 0, n = H.length; m &lt; n; m++) {
                var r = H[m];
                E = g.L[m];
                E.Cc = !0;
                r.behavior.Z.call(E, r, g);
                k = a[4][m];
                b = 0;
                for (l = k.length; b &lt; l; b++) E.n[b] = k[b];
                E.J();
                r.behavior.en.add(g)
            } else
                for (g.L = [], m = 0, n = H.length; m &lt; n; m++) r = H[m], E = new r.behavior.Z(r, g), E.Cc = !1, E.n = a[4][m].slice(0), E.J(), g.L.push(E), r.behavior.en.add(g);
        k = a[5];
        if (g.Cc)
            for (m = 0, n = k.length; m &lt; n; m++) g.n[m] = k[m];
        else g.n = k.slice(0);
        this.Ad.push(g);
        this.Xe = !0;
        d &amp;&amp; (d.wh(g, !0), 1 !== d.bd || 1 !== d.cd) &amp;&amp; (u.dp = !0);
        this.tk++;
        if (u.Xc) {
            if (g.Xc = !0, g.Cc ? G(g.siblings) : g.siblings = [], !e &amp;&amp; !p) {
                m = 0;
                for (n = u.uc.length; m &lt; n; m++)
                    if (u.uc[m] !== u) {
                        if (!u.uc[m].Tc) return null;
                        g.siblings.push(this.Re(u.uc[m].Tc, x, !1, h ? g.x : c, h ? g.y : f, !0))
                    }
                m = 0;
                for (n = g.siblings.length; m &lt; n; m++)
                    for (g.siblings[m].siblings.push(g), b = 0; b &lt; n; b++) m !== b &amp;&amp; g.siblings[m].siblings.push(g.siblings[b])
            }
        } else g.Xc = !1, g.siblings = null;
        g.J();
        m = 0;
        for (n = g.L.length; m &lt; n; m++) g.L[m].Fx &amp;&amp; g.L[m].Fx();
        return g
    };
    g.prototype.Ph = function(a) {
        var d, e;
        d = 0;
        for (e = this.wa.P.length; d &lt; e; d++) {
            var c = this.wa.P[d];
            if (ob(c.name, a)) return c
        }
        return null
    };
    g.prototype.ie = function(a) {
        a = ta(a);
        0 &gt; a &amp;&amp; (a = 0);
        a &gt;= this.wa.P.length &amp;&amp; (a = this.wa.P.length - 1);
        return this.wa.P[a]
    };
    g.prototype.Pl = function(a) {
        var d, e;
        d = 0;
        for (e = a.length; d &lt; e; d++) a[d].Aa().Ia = !0
    };
    g.prototype.Fi = function(a) {
        var d, e;
        d = 0;
        for (e = a.length; d &lt; e; d++) a[d].Fi()
    };
    g.prototype.hf = function(a) {
        var d, e;
        d = 0;
        for (e = a.length; d &lt; e; d++) a[d].hf()
    };
    g.prototype.qd = function(a) {
        var d, e;
        d = 0;
        for (e = a.length; d &lt; e; d++) a[d].qd()
    };
    g.prototype.Ti = function(a, d, e) {
        var c = a.Aa(),
            f, m, p, n, b = this.lb().jb.$c,
            l, u, g;
        if (c.Ia)
            for (c.Ia = !1, G(c.d), f = 0, n = a.d.length; f &lt; n; f++) p = a.d[f], p.Cb(), l = p.k.gb(d, e, !0), u = p.k.gb(d, e, !1), p.Rc(l, u) ? c.d.push(p) : b &amp;&amp; c.U.push(p);
        else {
            m = 0;
            g = b ? c.U : c.d;
            f = 0;
            for (n = g.length; f &lt; n; f++) p = g[f], p.Cb(), l = p.k.gb(d, e, !0), u = p.k.gb(d, e, !1), p.Rc(l, u) &amp;&amp; (b ? c.d.push(p) : (c.d[m] = c.d[f], m++));
            g.length = m
        }
        a.Xd();
        return c.wm()
    };
    new ya;
    new wa(0, 0, 0, 0);
    g.prototype.ls = function(a, d) {
        if (!d) return !1;
        var e, c, f, m, p;
        e = 0;
        for (c = a.Ma.length; e &lt; c; e++)
            if (a.Ma[e].behavior instanceof d) return !0;
        if (!a.N)
            for (e = 0, c = a.Ja.length; e &lt; c; e++)
                for (p = a.Ja[e], f = 0, m = p.Ma.length; f &lt; m; f++)
                    if (p.Ma[f].behavior instanceof d) return !0;
        return !1
    };
    g.prototype.co = function(a) {
        return this.ls(a, ic.fz)
    };
    g.prototype.eo = function(a) {
        return this.ls(a, ic.gz)
    };
    var K = -1;
    g.prototype.trigger = function(a, d, e) {
        if (!this.wa) return !1;
        var c = this.wa.Cf;
        if (!c) return !1;
        var f = !1,
            m, p, n;
        K++;
        var b = c.Vl;
        p = 0;
        for (n = b.length; p &lt; n; ++p) m = this.hs(a, d, b[p], e), f = f || m;
        m = this.hs(a, d, c, e);
        K--;
        return f || m
    };
    g.prototype.hs = function(a, d, e, c) {
        var f = !1,
            m, p, n, b;
        if (d)
            for (n = this.ao(a, d, d.type.name, e, c), f = f || n, b = d.type.Ja, m = 0, p = b.length; m &lt; p; ++m) n = this.ao(a, d, b[m].name, e, c), f = f || n;
        else n = this.ao(a, d, "system", e, c), f = f || n;
        return f
    };
    g.prototype.ao = function(a, d, e, c, f) {
        var m, p = !1,
            n = !1,
            n = "undefined" !== typeof f,
            b = (n ? c.Dp : c.js)[e];
        if (!b) return p;
        var l = null;
        c = 0;
        for (m = b.length; c &lt; m; ++c)
            if (b[c].method == a) {
                l = b[c].Ih;
                break
            }
        if (!l) return p;
        var u;
        n ? u = l[f] : u = l;
        if (!u) return null;
        c = 0;
        for (m = u.length; c &lt; m; c++) a = u[c][0], f = u[c][1], n = this.aw(d, e, a, f), p = p || n;
        return p
    };
    g.prototype.aw = function(a, d, e, c) {
        var f, m, p = !1;
        this.bo++;
        var n = this.lb().jb;
        n &amp;&amp; this.Fi(n.lf);
        var b = 1 &lt; this.bo;
        this.Fi(e.lf);
        b &amp;&amp; this.Mx();
        var l = this.Kk(e);
        l.jb = e;
        a &amp;&amp; (f = this.types[d].Aa(), f.Ia = !1, G(f.d), f.d[0] = a, this.types[d].Xd());
        a = !0;
        if (e.parent) {
            d = l.as;
            for (f = e.parent; f;) d.push(f), f = f.parent;
            d.reverse();
            f = 0;
            for (m = d.length; f &lt; m; f++)
                if (!d[f].Xx()) {
                    a = !1;
                    break
                }
        }
        a &amp;&amp; (this.Jh++, e.$c ? e.Wx(c) : e.eb(), p = p || l.Rf);
        this.Fk();
        b &amp;&amp; this.Ex();
        this.qd(e.lf);
        n &amp;&amp; this.qd(n.lf);
        this.Xe &amp;&amp; 0 === this.le &amp;&amp; 0 === K &amp;&amp; !this.Lm &amp;&amp; this.Mb();
        this.bo--;
        return p
    };
    g.prototype.Op = function() {
        var a = this.lb();
        return a.jb.ib[a.hb]
    };
    g.prototype.Mx = function() {
        this.mk++;
        this.mk &gt;= this.Zm.length &amp;&amp; this.Zm.push([])
    };
    g.prototype.Ex = function() {
        this.mk--
    };
    g.prototype.Pp = function() {
        return this.Zm[this.mk]
    };
    g.prototype.Kk = function(a) {
        this.Gj++;
        this.Gj &gt;= this.$l.length &amp;&amp; this.$l.push(new Vb);
        var d = this.lb();
        d.reset(a);
        return d
    };
    g.prototype.Fk = function() {
        this.Gj--
    };
    g.prototype.lb = function() {
        return this.$l[this.Gj]
    };
    g.prototype.Fn = function(a) {
        this.vi++;
        this.vi &gt;= this.ti.length &amp;&amp; this.ti.push(ca({
            name: a,
            index: 0,
            Ca: !1
        }));
        var d = this.Qp();
        d.name = a;
        d.index = 0;
        d.Ca = !1;
        return d
    };
    g.prototype.Bn = function() {
        this.vi--
    };
    g.prototype.Qp = function() {
        return this.ti[this.vi]
    };
    g.prototype.Sp = function(a, d) {
        for (var e, c, f, m, p, n; d;) {
            e = 0;
            for (c = d.fd.length; e &lt; c; e++)
                if (n = d.fd[e], n instanceof Wb &amp;&amp; ob(a, n.name)) return n;
            d = d.parent
        }
        e = 0;
        for (c = this.ee.length; e &lt; c; e++)
            for (p = this.ee[e], f = 0, m = p.Ue.length; f &lt; m; f++)
                if (n = p.Ue[f], n instanceof Wb &amp;&amp; ob(a, n.name)) return n;
        return null
    };
    g.prototype.Up = function(a) {
        var d, e;
        d = 0;
        for (e = this.od.length; d &lt; e; d++)
            if (this.od[d].Y === a) return this.od[d];
        return null
    };
    g.prototype.Uj = function(a) {
        var d, e;
        d = 0;
        for (e = this.q.length; d &lt; e; d++)
            if (this.q[d].Y === a) return this.q[d];
        return null
    };
    g.prototype.lw = function(a) {
        var d, e;
        d = 0;
        for (e = this.hg.length; d &lt; e; d++)
            if (this.hg[d].Y === a) return this.hg[d];
        return null
    };
    g.prototype.Su = function(a, d) {
        this.Oi = [a, d];
        this.ca = !0
    };
    g.prototype.Kw = function() {
        var a = this,
            d = this.Qn,
            e = this.me,
            c = this.hk,
            f = !1;
        this.Wr &amp;&amp; (f = !0, d = "__c2_continuouspreview", this.Wr = !1);
        if (d.length) {
            this.Mb();
            e = this.ay();
            if (b() &amp;&amp; !this.Kc) r(d, e, function() {
                ha("Saved state to IndexedDB storage (" + e.length + " bytes)");
                a.me = e;
                a.trigger(R.prototype.e.wl, null);
                a.me = "";
                f &amp;&amp; l()
            }, function(c) {
                try {
                    localStorage.setItem("__c2save_" + d, e), ha("Saved state to WebStorage (" + e.length + " bytes)"), a.me = e, a.trigger(R.prototype.e.wl, null), a.me = "", f &amp;&amp; l()
                } catch (m) {
                    ha("Failed to save game state: " +
                        c + "; " + m), a.trigger(R.prototype.e.Fo, null)
                }
            });
            else try {
                localStorage.setItem("__c2save_" + d, e), ha("Saved state to WebStorage (" + e.length + " bytes)"), a.me = e, this.trigger(R.prototype.e.wl, null), a.me = "", f &amp;&amp; l()
            } catch (m) {
                ha("Error saving to WebStorage: " + m), a.trigger(R.prototype.e.Fo, null)
            }
            this.hk = this.Qn = "";
            this.pb = null
        }
        if (c.length) {
            if (b() &amp;&amp; !this.Kc) q(c, function(d) {
                d ? (a.pb = d, ha("Loaded state from IndexedDB storage (" + a.pb.length + " bytes)")) : (a.pb = localStorage.getItem("__c2save_" + c) || "", ha("Loaded state from WebStorage (" +
                    a.pb.length + " bytes)"));
                a.Ri = !1;
                a.pb || (a.pb = null, a.trigger(R.prototype.e.gj, null))
            }, function() {
                a.pb = localStorage.getItem("__c2save_" + c) || "";
                ha("Loaded state from WebStorage (" + a.pb.length + " bytes)");
                a.Ri = !1;
                a.pb || (a.pb = null, a.trigger(R.prototype.e.gj, null))
            });
            else {
                try {
                    this.pb = localStorage.getItem("__c2save_" + c) || "", ha("Loaded state from WebStorage (" + this.pb.length + " bytes)")
                } catch (p) {
                    this.pb = null
                }
                this.Ri = !1;
                a.pb || (a.pb = null, a.trigger(R.prototype.e.gj, null))
            }
            this.Qn = this.hk = ""
        }
        null !== this.pb &amp;&amp; (this.Mb(), this.ix(this.pb) ? (this.me = this.pb, this.trigger(R.prototype.e.ut, null), this.me = "") : a.trigger(R.prototype.e.gj, null), this.pb = null)
    };
    g.prototype.ay = function() {
        var d, e, c, f, m, p, n, b = {
            c2save: !0,
            version: 1,
            rt: {
                time: this.Gb.R,
                walltime: this.De.R,
                timescale: this.ih,
                tickcount: this.hh,
                execcount: this.Jh,
                next_uid: this.yi,
                running_layout: this.wa.Y,
                start_time_offset: Date.now() - this.Zk
            },
            types: {},
            layouts: {},
            events: {
                groups: {},
                cnds: {},
                acts: {},
                vars: {}
            }
        };
        d = 0;
        for (e = this.q.length; d &lt; e; d++)
            if (m = this.q[d], !m.N &amp;&amp; !this.co(m)) {
                p = {
                    instances: []
                };
                Wa(m.Ha) &amp;&amp; (p.ex = a(m.Ha));
                c = 0;
                for (f = m.d.length; c &lt; f; c++) p.instances.push(this.Pn(m.d[c]));
                b.types[m.Y.toString()] = p
            }
        d = 0;
        for (e = this.od.length; d &lt; e; d++) c = this.od[d], b.layouts[c.Y.toString()] = c.tb();
        f = b.events.groups;
        d = 0;
        for (e = this.hg.length; d &lt; e; d++) c = this.hg[d], f[c.Y.toString()] = this.vg[c.Uh].Ff;
        e = b.events.cnds;
        for (n in this.Pe) this.Pe.hasOwnProperty(n) &amp;&amp; (d = this.Pe[n], Wa(d.Ha) &amp;&amp; (e[n] = {
            ex: a(d.Ha)
        }));
        e = b.events.acts;
        for (n in this.Je) this.Je.hasOwnProperty(n) &amp;&amp; (d = this.Je[n], Wa(d.Ha) &amp;&amp; (e[n] = {
            ex: a(d.Ha)
        }));
        e = b.events.vars;
        for (n in this.nh) this.nh.hasOwnProperty(n) &amp;&amp; (d = this.nh[n], d.ck || d.parent &amp;&amp; !d.gi || (e[n] = d.data));
        b.system = this.Rd.tb();
        return JSON.stringify(b)
    };
    g.prototype.Cr = function() {
        var a, d, e, c, f, m;
        this.pe = {};
        a = 0;
        for (d = this.q.length; a &lt; d; a++)
            if (e = this.q[a], !e.N)
                for (c = 0, f = e.d.length; c &lt; f; c++) m = e.d[c], this.pe[m.uid.toString()] = m
    };
    g.prototype.ix = function(a) {
        var d;
        try {
            d = JSON.parse(a)
        } catch (e) {
            return !1
        }
        if (!d.c2save || 1 &lt; d.version) return !1;
        this.$h = !0;
        a = d.rt;
        this.Gb.reset();
        this.Gb.R = a.time;
        this.De.reset();
        this.De.R = a.walltime || 0;
        this.ih = a.timescale;
        this.hh = a.tickcount;
        this.Jh = a.execcount;
        this.Zk = Date.now() - a.start_time_offset;
        var c = a.running_layout;
        if (c !== this.wa.Y)
            if (c = this.Up(c)) this.zp(c);
            else return;
        var f, m, p, n, b, l, u;
        l = d.types;
        for (m in l)
            if (l.hasOwnProperty(m) &amp;&amp; (n = this.Uj(parseInt(m, 10))) &amp;&amp; !n.N &amp;&amp; !this.co(n)) {
                l[m].ex ? n.Ha = l[m].ex : Xa(n.Ha);
                b = n.d;
                p = l[m].instances;
                c = 0;
                for (f = ra(b.length, p.length); c &lt; f; c++) this.ik(b[c], p[c]);
                c = p.length;
                for (f = b.length; c &lt; f; c++) this.Fe(b[c]);
                c = b.length;
                for (f = p.length; c &lt; f; c++) {
                    b = null;
                    if (n.Ba.Ze &amp;&amp; (b = this.wa.Tj(p[c].w.l), !b)) continue;
                    b = this.Re(n.Tc, b, !1, 0, 0, !0);
                    this.ik(b, p[c])
                }
                n.eh = !0
            }
        this.Mb();
        this.Cr();
        f = d.layouts;
        for (m in f) f.hasOwnProperty(m) &amp;&amp; (c = this.Up(parseInt(m, 10))) &amp;&amp; c.Hb(f[m]);
        f = d.events.groups;
        for (m in f) f.hasOwnProperty(m) &amp;&amp; (c = this.lw(parseInt(m, 10))) &amp;&amp; this.vg[c.Uh] &amp;&amp; this.vg[c.Uh].Sk(f[m]);
        c = d.events.cnds;
        for (m in this.Pe) this.Pe.hasOwnProperty(m) &amp;&amp; (c.hasOwnProperty(m) ? this.Pe[m].Ha = c[m].ex : this.Pe[m].Ha = {});
        c = d.events.acts;
        for (m in this.Je) this.Je.hasOwnProperty(m) &amp;&amp; (c.hasOwnProperty(m) ? this.Je[m].Ha = c[m].ex : this.Je[m].Ha = {});
        c = d.events.vars;
        for (m in c) c.hasOwnProperty(m) &amp;&amp; this.nh.hasOwnProperty(m) &amp;&amp; (this.nh[m].data = c[m]);
        this.yi = a.next_uid;
        this.$h = !1;
        c = 0;
        for (f = this.Mj.length; c &lt; f; ++c) b = this.Mj[c], this.trigger(Object.getPrototypeOf(b.type.Ba).e.cj, b);
        G(this.Mj);
        this.Rd.Hb(d.system);
        c = 0;
        for (f = this.q.length; c &lt; f; c++)
            if (n = this.q[c], !n.N &amp;&amp; !this.co(n))
                for (d = 0, m = n.d.length; d &lt; m; d++) {
                    b = n.d[d];
                    if (n.Xc)
                        for (l = b.Th(), G(b.siblings), a = 0, p = n.uc.length; a &lt; p; a++) u = n.uc[a], n !== u &amp;&amp; b.siblings.push(u.d[l]);
                    b.Vd &amp;&amp; b.Vd();
                    if (b.L)
                        for (a = 0, p = b.L.length; a &lt; p; a++) l = b.L[a], l.Vd &amp;&amp; l.Vd()
                }
        return this.ca = !0
    };
    g.prototype.Pn = function(d, e) {
        var c, f, m, n, p;
        n = d.type;
        m = n.Ba;
        var b = {};
        e ? b.c2 = !0 : b.uid = d.uid;
        Wa(d.Ha) &amp;&amp; (b.ex = a(d.Ha));
        if (d.mb &amp;&amp; d.mb.length)
            for (b.ivs = {}, c = 0, f = d.mb.length; c &lt; f; c++) b.ivs[d.type.Fm[c].toString()] = d.mb[c];
        if (m.Ze) {
            m = {
                x: d.x,
                y: d.y,
                w: d.width,
                h: d.height,
                l: d.k.Y,
                zi: d.Gd()
            };
            0 !== d.g &amp;&amp; (m.a = d.g);
            1 !== d.opacity &amp;&amp; (m.o = d.opacity);
            .5 !== d.lc &amp;&amp; (m.hX = d.lc);
            .5 !== d.mc &amp;&amp; (m.hY = d.mc);
            0 !== d.Ob &amp;&amp; (m.bm = d.Ob);
            d.visible || (m.v = d.visible);
            d.Ah || (m.ce = d.Ah); - 1 !== d.xi &amp;&amp; (m.mts = d.xi);
            if (n.M.length)
                for (m.fx = [], c = 0, f = n.M.length; c &lt; f; c++) p = n.M[c], m.fx.push({
                    name: p.name,
                    active: d.Ie[p.index],
                    params: d.Pa[p.index]
                });
            b.w = m
        }
        if (d.L &amp;&amp; d.L.length)
            for (b.behs = {}, c = 0, f = d.L.length; c &lt; f; c++) n = d.L[c], n.tb &amp;&amp; (b.behs[n.type.Y.toString()] = n.tb());
        d.tb &amp;&amp; (b.data = d.tb());
        return b
    };
    g.prototype.ow = function(a, d) {
        var e, c;
        e = 0;
        for (c = a.Fm.length; e &lt; c; e++)
            if (a.Fm[e] === d) return e;
        return -1
    };
    g.prototype.kw = function(a, d) {
        var e, c;
        e = 0;
        for (c = a.L.length; e &lt; c; e++)
            if (a.L[e].type.Y === d) return e;
        return -1
    };
    g.prototype.ik = function(a, d, e) {
        var c, f, m, n, p;
        p = a.type;
        n = p.Ba;
        if (e) {
            if (!d.c2) return
        } else a.uid = d.uid;
        d.ex ? a.Ha = d.ex : Xa(a.Ha);
        if (f = d.ivs)
            for (c in f) f.hasOwnProperty(c) &amp;&amp; (m = this.ow(p, parseInt(c, 10)), 0 &gt; m || m &gt;= a.mb.length || (a.mb[m] = f[c]));
        if (n.Ze) {
            m = d.w;
            a.k.Y !== m.l &amp;&amp; (f = a.k, a.k = this.wa.Tj(m.l), a.k ? (f.Yg(a, !0), a.k.wh(a, !0), a.Sa(), a.k.Li(0)) : (a.k = f, e || this.Fe(a)));
            a.x = m.x;
            a.y = m.y;
            a.width = m.w;
            a.height = m.h;
            a.wd = m.zi;
            a.g = m.hasOwnProperty("a") ? m.a : 0;
            a.opacity = m.hasOwnProperty("o") ? m.o : 1;
            a.lc = m.hasOwnProperty("hX") ? m.hX : .5;
            a.mc = m.hasOwnProperty("hY") ? m.hY : .5;
            a.visible = m.hasOwnProperty("v") ? m.v : !0;
            a.Ah = m.hasOwnProperty("ce") ? m.ce : !0;
            a.xi = m.hasOwnProperty("mts") ? m.mts : -1;
            a.Ob = m.hasOwnProperty("bm") ? m.bm : 0;
            a.Bh = lb(a.Ob);
            this.A &amp;&amp; mb(a, a.Ob, this.A);
            a.Sa();
            if (m.hasOwnProperty("fx"))
                for (e = 0, f = m.fx.length; e &lt; f; e++) n = p.nm(m.fx[e].name), 0 &gt; n || (a.Ie[n] = m.fx[e].active, a.Pa[n] = m.fx[e].params);
            a.ud()
        }
        if (p = d.behs)
            for (c in p) p.hasOwnProperty(c) &amp;&amp; (e = this.kw(a, parseInt(c, 10)), 0 &gt; e || a.L[e].Hb(p[c]));
        d.data &amp;&amp; a.Hb(d.data)
    };
    g.prototype.Ep = function(a, d, e) {
        window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "www/" + a, function(a) {
            a.file(d, e)
        }, e)
    };
    g.prototype.bw = function(a, d) {
        this.Ep("data.js", function(e) {
            var c = new FileReader;
            c.onload = function(d) {
                a(d.target.result)
            };
            c.onerror = d;
            c.readAsText(e)
        }, d)
    };
    var X = [],
        L = 0;
    g.prototype.an = function() {
        if (X.length &amp;&amp; !(8 &lt;= L)) {
            L++;
            var a = X.shift();
            this.Vu(a.filename, a.my, a.yv)
        }
    };
    g.prototype.Fp = function(a, d, e) {
        var c = this;
        X.push({
            filename: a,
            my: function(a) {
                L--;
                c.an();
                d(a)
            },
            yv: function(a) {
                L--;
                c.an();
                e(a)
            }
        });
        this.an()
    };
    g.prototype.Vu = function(a, d, e) {
        this.Ep(a, function(a) {
            var e = new FileReader;
            e.onload = function(a) {
                d(a.target.result)
            };
            e.readAsArrayBuffer(a)
        }, e)
    };
    g.prototype.dw = function(a, d, e) {
        this.Fp(a, function(a) {
            a = URL.createObjectURL(new Blob([a]));
            d(a)
        }, e)
    };
    g.prototype.Rw = function(a) {
        return /^(?:[a-z]+:)?\/\//.test(a) || "data:" === a.substr(0, 5) || "blob:" === a.substr(0, 5)
    };
    g.prototype.Or = function(a, d) {
        this.di &amp;&amp; !this.Rw(d) ? this.dw(d, function(d) {
            a.src = d
        }, function(a) {
            alert("Failed to load image: " +
                a)
        }) : a.src = d
    };
    g.prototype.Qk = function(a, d) {
        "undefined" !== typeof a.imageSmoothingEnabled ? a.imageSmoothingEnabled = d : (a.webkitImageSmoothingEnabled = d, a.mozImageSmoothingEnabled = d, a.msImageSmoothingEnabled = d)
    };
    Xb = function(a) {
        return new g(document.getElementById(a))
    };
    Yb = function(a, d) {
        return new g({
            dc: !0,
            width: a,
            height: d
        })
    };
    window.cr_createRuntime = Xb;
    window.cr_createDCRuntime = Yb;
    window.createCocoonJSRuntime = function() {
        window.c2cocoonjs = !0;
        var a = document.createElement("screencanvas") || document.createElement("canvas");
        a.rf = !0;
        document.body.appendChild(a);
        a = new g(a);
        window.c2runtime = a;
        window.addEventListener("orientationchange", function() {
            window.c2runtime.setSize(window.innerWidth, window.innerHeight)
        });
        window.c2runtime.setSize(window.innerWidth, window.innerHeight);
        return a
    };
    window.createEjectaRuntime = function() {
        var a = new g(document.getElementById("canvas"));
        window.c2runtime = a;
        window.c2runtime.setSize(window.innerWidth, window.innerHeight);
        return a
    }
})();
window.cr_getC2Runtime = function() {
    var g = document.getElementById("c2canvas");
    return g ? g.c2runtime : window.c2runtime ? window.c2runtime : null
};
window.cr_getSnapshot = function(g, h) {
    var b = window.cr_getC2Runtime();
    b &amp;&amp; b.Su(g, h)
};
window.cr_sizeCanvas = function(g, h) {
    if (0 !== g &amp;&amp; 0 !== h) {
        var b = window.cr_getC2Runtime();
        b &amp;&amp; b.setSize(g, h)
    }
};
window.cr_setSuspended = function(g) {
    var h = window.cr_getC2Runtime();
    h &amp;&amp; h.setSuspended(g)
};
(function() {
    function g(a, e) {
        this.b = a;
        this.Cf = null;
        this.scrollX = this.b.rb / 2;
        this.scrollY = this.b.qb / 2;
        this.scale = 1;
        this.g = 0;
        this.tg = !0;
        this.name = e[0];
        this.Ax = e[1];
        this.zx = e[2];
        this.width = e[1];
        this.height = e[2];
        this.ms = e[3];
        this.Ur = e[4];
        this.Y = e[5];
        var c = e[6],
            f, b;
        this.P = [];
        this.Xh = [];
        f = 0;
        for (b = c.length; f &lt; b; f++) {
            var l = new Zb(this, c[f]);
            l.Yq = f;
            this.P.push(l)
        }
        c = e[7];
        this.Kf = [];
        f = 0;
        for (b = c.length; f &lt; b; f++) {
            var l = c[f],
                g = this.b.q[l[1]];
            g.Tc || (g.Tc = l);
            this.Kf.push(l); - 1 === this.Xh.indexOf(g) &amp;&amp; this.Xh.push(g)
        }
        this.M = [];
        this.ja = [];
        this.ye = !0;
        this.Pa = [];
        f = 0;
        for (b = e[8].length; f &lt; b; f++) this.M.push({
            id: e[8][f][0],
            name: e[8][f][1],
            fb: -1,
            rd: !1,
            Wa: !0,
            index: f
        }), this.Pa.push(e[8][f][2].slice(0));
        this.ud();
        this.Hn = new wa(0, 0, 1, 1);
        this.In = new wa(0, 0, 1, 1);
        this.gf = {}
    }

    function h(a, e) {
        return a.wd - e.wd
    }

    function b(a, e) {
        this.xb = a;
        this.b = a.b;
        this.d = [];
        this.scale = 1;
        this.g = 0;
        this.de = !1;
        this.Be = new wa(0, 0, 0, 0);
        this.es = new ya;
        this.Da = this.za = this.Ea = this.ya = 0;
        this.dg = !1;
        this.Ee = -1;
        this.Ql = 0;
        this.name = e[0];
        this.index = e[1];
        this.Y = e[2];
        this.visible = e[3];
        this.ld = e[4];
        this.td = e[5];
        this.bd = e[6];
        this.cd = e[7];
        this.opacity = e[8];
        this.Pj = e[9];
        this.Oc = e[10];
        this.rc = e[11];
        this.Ob = e[12];
        this.tv = e[13];
        this.Bh = "source-over";
        this.Qb = this.Ub = 0;
        this.Lb = null;
        this.ne = k();
        this.sd = !0;
        this.Ig = new wa(0, 0, -1, -1);
        this.Db = new wa(0, 0, -1, -1);
        this.Oc &amp;&amp; (this.Lb = new fb(this.b.rb, this.b.qb));
        this.Od = !1;
        var c = e[14],
            f, b;
        this.Zr = [];
        this.Ic = [];
        this.Eh = [];
        f = 0;
        for (b = c.length; f &lt; b; f++) {
            var l = c[f],
                g = this.b.q[l[1]];
            g.Tc || (g.Tc = l, g.Pu = this.index);
            this.Ic.push(l); - 1 === this.xb.Xh.indexOf(g) &amp;&amp; this.xb.Xh.push(g)
        }
        Da(this.Zr, this.Ic);
        this.M = [];
        this.ja = [];
        this.ye = !0;
        this.Pa = [];
        f = 0;
        for (b = e[15].length; f &lt; b; f++) this.M.push({
            id: e[15][f][0],
            name: e[15][f][1],
            fb: -1,
            rd: !1,
            Wa: !0,
            index: f
        }), this.Pa.push(e[15][f][2].slice(0));
        this.ud();
        this.Hn = new wa(0, 0, 1, 1);
        this.In = new wa(0, 0, 1, 1)
    }

    function k() {
        return a.length ? a.pop() : []
    }

    function r(d) {
        G(d);
        a.push(d)
    }
    g.prototype.$x = function(a) {
        var e = a.type.Y.toString();
        this.gf.hasOwnProperty(e) || (this.gf[e] = []);
        this.gf[e].push(this.b.Pn(a))
    };
    g.prototype.Xp = function() {
        var a = this.P[0];
        return !a.td &amp;&amp; 1 === a.opacity &amp;&amp; !a.Pj &amp;&amp; a.visible
    };
    g.prototype.ud = function() {
        G(this.ja);
        this.ye = !0;
        var a, e, c;
        a = 0;
        for (e = this.M.length; a &lt; e; a++) c = this.M[a], c.Wa &amp;&amp; (this.ja.push(c), c.rd || (this.ye = !1))
    };
    g.prototype.mm = function(a) {
        var e, c, f;
        e = 0;
        for (c = this.M.length; e &lt; c; e++)
            if (f = this.M[e], f.name === a) return f;
        return null
    };
    var q = [],
        l = !0;
    g.prototype.Vn = function() {
        this.Ur &amp;&amp; (this.Cf = this.b.am[this.Ur], this.Cf.ho());
        this.b.wa = this;
        this.width = this.Ax;
        this.height = this.zx;
        this.scrollX = this.b.rb / 2;
        this.scrollY = this.b.qb / 2;
        var a, e, c, f, b, u, g;
        a = 0;
        for (c = this.b.q.length; a &lt; c; a++)
            if (e = this.b.q[a], !e.N)
                for (b = e.d, e = 0, f = b.length; e &lt; f; e++)
                    if (u = b[e], u.k) {
                        var m = u.k.Yq;
                        m &gt;= this.P.length &amp;&amp; (m = this.P.length - 1);
                        u.k = this.P[m]; - 1 === u.k.d.indexOf(u) &amp;&amp; u.k.d.push(u);
                        u.k.dg = !0
                    }
        if (!l)
            for (a = 0, c = this.P.length; a &lt; c; ++a) this.P[a].d.sort(h);
        G(q);
        this.Cu();
        a = 0;
        for (c = this.P.length; a &lt; c; a++) u = this.P[a], u.Ou(), u.ol();
        b = !1;
        if (!this.tg) {
            for (g in this.gf)
                if (this.gf.hasOwnProperty(g) &amp;&amp; (e = this.b.Uj(parseInt(g, 10))) &amp;&amp; !e.N &amp;&amp; this.b.eo(e)) {
                    f = this.gf[g];
                    a = 0;
                    for (c = f.length; a &lt; c; a++) {
                        u = null;
                        if (e.Ba.Ze &amp;&amp; (u = this.Tj(f[a].w.l), !u)) continue;
                        u = this.b.Re(e.Tc, u, !1, 0, 0, !0);
                        this.b.ik(u, f[a]);
                        b = !0;
                        q.push(u)
                    }
                    G(f)
                }
            a = 0;
            for (c = this.P.length; a &lt; c; a++) this.P[a].d.sort(h), this.P[a].dg = !0
        }
        b &amp;&amp; (this.b.Mb(), this.b.Cr());
        for (a = 0; a &lt; q.length; a++)
            if (u = q[a], u.type.Xc)
                for (c = u.Th(), e = 0, f = u.type.uc.length; e &lt; f; e++) g = u.type.uc[e], u.type !== g &amp;&amp; (g.d.length &gt; c ? u.siblings.push(g.d[c]) : g.Tc &amp;&amp; (b = this.b.Re(g.Tc, u.k, !0, u.x, u.y, !0), this.b.Mb(), g.ml(), u.siblings.push(b), q.push(b)));
        a = 0;
        for (c = this.Kf.length; a &lt; c; a++) this.b.Re(this.Kf[a], null, !0);
        this.b.vf = null;
        this.b.Mb();
        if (this.b.Na &amp;&amp; !this.b.ra)
            for (a = 0, c = this.b.q.length; a &lt; c; a++) g = this.b.q[a], !g.N &amp;&amp; g.d.length &amp;&amp; g.Cn &amp;&amp; g.Cn(this.b.Na);
        if (this.b.$h) Da(this.b.Mj, q);
        else
            for (a = 0, c = q.length; a &lt; c; a++) u = q[a], this.b.trigger(Object.getPrototypeOf(u.type.Ba).e.cj, u);
        G(q);
        this.b.$h || this.b.trigger(R.prototype.e.yo, null);
        this.tg = !1
    };
    g.prototype.Nu = function() {
        var a, e, c, f, b;
        e = a = 0;
        for (c = this.Kf.length; a &lt; c; a++) f = this.Kf[a], b = this.b.q[f[1]], b.global ? b.Xc || this.b.Re(f, null, !0) : (this.Kf[e] = f, e++);
        Ca(this.Kf, e)
    };
    g.prototype.ky = function() {
        this.b.$h || this.b.trigger(R.prototype.e.tt, null);
        this.b.Hm = !0;
        G(this.b.Rd.qc);
        var a, e, c, f, b, g;
        if (!this.tg)
            for (a = 0, e = this.P.length; a &lt; e; a++)
                for (this.P[a].ko(), b = this.P[a].d, c = 0, f = b.length; c &lt; f; c++) g = b[c], g.type.global || this.b.eo(g.type) &amp;&amp; this.$x(g);
        a = 0;
        for (e = this.P.length; a &lt; e; a++) {
            b = this.P[a].d;
            c = 0;
            for (f = b.length; c &lt; f; c++) g = b[c], g.type.global || this.b.Fe(g);
            this.b.Mb();
            G(b);
            this.P[a].dg = !0
        }
        a = 0;
        for (e = this.b.q.length; a &lt; e; a++)
            if (b = this.b.q[a], !(b.global || b.Ba.Ze || b.Ba.Yk || b.N)) {
                c = 0;
                for (f = b.d.length; c &lt; f; c++) this.b.Fe(b.d[c]);
                this.b.Mb()
            }
        l = !1;
        this.b.Hm = !1
    };
    new wa(0, 0, 0, 0);
    g.prototype.Cd = function(a) {
        var e, c = a,
            f = !1,
            b = !this.b.Fc;
        b &amp;&amp; (this.b.gk || (this.b.gk = document.createElement("canvas"), e = this.b.gk, e.width = this.b.H, e.height = this.b.G, this.b.xq = e.getContext("2d"), f = !0), e = this.b.gk, c = this.b.xq, e.width !== this.b.H &amp;&amp; (e.width = this.b.H, f = !0), e.height !== this.b.G &amp;&amp; (e.height = this.b.G, f = !0), f &amp;&amp; this.b.Qk(c, this.b.Qa));
        c.globalAlpha = 1;
        c.globalCompositeOperation = "source-over";
        this.b.pp &amp;&amp; !this.Xp() &amp;&amp; c.clearRect(0, 0, this.b.H, this.b.G);
        var l, g, f = 0;
        for (l = this.P.length; f &lt; l; f++) g = this.P[f], g.visible &amp;&amp; 0 &lt; g.opacity &amp;&amp; 11 !== g.Ob &amp;&amp; (g.d.length || !g.td) ? g.Cd(c) : g.ol();
        b &amp;&amp; a.drawImage(e, 0, 0, this.b.width, this.b.height)
    };
    g.prototype.pg = function(a) {
        a.Nr(!0);
        this.b.bb || (this.b.bb = a.Sc(this.b.H, this.b.G, this.b.Qa));
        if (this.b.bb.uf !== this.b.H || this.b.bb.tf !== this.b.G) a.deleteTexture(this.b.bb), this.b.bb = a.Sc(this.b.H, this.b.G, this.b.Qa);
        a.dd(this.b.bb);
        this.b.Fc || a.xe(this.b.H, this.b.G);
        var e, c;
        for (e = this.P.length - 1; 0 &lt;= e; --e) c = this.P[e], c.visible &amp;&amp; 1 === c.opacity &amp;&amp; c.ye &amp;&amp; 0 === c.Ob &amp;&amp; (c.d.length || !c.td) ? c.pg(a) : c.ol();
        a.Nr(!1)
    };
    g.prototype.wc = function(a) {
        var e = 0 &lt; this.ja.length || this.b.kh || !this.b.Fc || this.b.Fa;
        if (e) {
            this.b.bb || (this.b.bb = a.Sc(this.b.H, this.b.G, this.b.Qa));
            if (this.b.bb.uf !== this.b.H || this.b.bb.tf !== this.b.G) a.deleteTexture(this.b.bb), this.b.bb = a.Sc(this.b.H, this.b.G, this.b.Qa);
            a.dd(this.b.bb);
            this.b.Fc || a.xe(this.b.H, this.b.G)
        } else this.b.bb &amp;&amp; (a.dd(null), a.deleteTexture(this.b.bb), this.b.bb = null);
        this.b.pp &amp;&amp; !this.Xp() &amp;&amp; a.clear(0, 0, 0, 0);
        var c, f, b;
        c = 0;
        for (f = this.P.length; c &lt; f; c++) b = this.P[c], b.visible &amp;&amp; 0 &lt; b.opacity &amp;&amp; (b.d.length || !b.td) ? b.wc(a) : b.ol();
        e &amp;&amp; (0 === this.ja.length || 1 === this.ja.length &amp;&amp; this.b.Fc ? (1 === this.ja.length ? (e = this.ja[0].index, a.pc(this.ja[0].fb), a.bh(null, 1 / this.b.H, 1 / this.b.G, 0, 0, 1, 1, this.scale, this.g, 0, 0, this.b.H / 2, this.b.G / 2, this.b.Gb.R, this.Pa[e]), a.Ik(this.ja[0].fb) &amp;&amp; (this.b.ca = !0)) : a.pc(0), this.b.Fc || a.xe(this.b.width, this.b.height), a.dd(null), a.Lr(!1), a.ah(1), a.Nc(this.b.bb), a.Jr(), a.Pd(), a.vd(), e = this.b.width / 2, c = this.b.height / 2, a.Gi(-e, c, e, c, e, -c, -e, -c), a.Nc(null), a.Lr(!0)) : this.Jn(a, null, null, null))
    };
    g.prototype.Rh = function() {
        return 0 &lt; this.ja.length || this.b.kh || !this.b.Fc || this.b.Fa ? this.b.bb : null
    };
    g.prototype.Vp = function() {
        var a = this.P[0].Hc(),
            e, c, f;
        e = 1;
        for (c = this.P.length; e &lt; c; e++) f = this.P[e], (0 !== f.bd || 0 !== f.cd) &amp;&amp; f.Hc() &lt; a &amp;&amp; (a = f.Hc());
        return a
    };
    g.prototype.Hr = function(a) {
        if (!this.ms) {
            var e = 1 / this.Vp() * this.b.H / 2;
            a &gt; this.width - e &amp;&amp; (a = this.width - e);
            a &lt; e &amp;&amp; (a = e)
        }
        this.scrollX !== a &amp;&amp; (this.scrollX = a, this.b.ca = !0)
    };
    g.prototype.Ir = function(a) {
        if (!this.ms) {
            var e = 1 / this.Vp() * this.b.G / 2;
            a &gt; this.height - e &amp;&amp; (a = this.height - e);
            a &lt; e &amp;&amp; (a = e)
        }
        this.scrollY !== a &amp;&amp; (this.scrollY = a, this.b.ca = !0)
    };
    g.prototype.Cu = function() {
        this.Hr(this.scrollX);
        this.Ir(this.scrollY)
    };
    g.prototype.Jn = function(a, e, c, f) {
        var b = c ? c.ja : e ? e.ja : this.ja,
            l = 1,
            g = 0,
            m = 0,
            h = 0,
            k = this.b.H,
            r = this.b.G;
        c ? (l = c.k.Hc(), g = c.k.Fb(), m = c.k.ya, h = c.k.za, k = c.k.Ea, r = c.k.Da) : e &amp;&amp; (l = e.Hc(), g = e.Fb(), m = e.ya, h = e.za, k = e.Ea, r = e.Da);
        var q = this.b.im,
            B, A, y, H, K = 0,
            X = 1,
            L, t, P = this.b.H,
            Q = this.b.G,
            V = P / 2,
            F = Q / 2,
            w = e ? e.Hn : this.Hn,
            I = e ? e.In : this.In,
            D = 0,
            N = 0,
            J = 0,
            O = 0,
            S = P,
            ga = P,
            U = Q,
            pa = Q,
            qa = y = 0;
        H = c ? c.k.Fb() : 0;
        if (c) {
            B = 0;
            for (A = b.length; B &lt; A; B++) y += a.sw(b[B].fb), qa += a.uw(b[B].fb);
            O = c.Nb;
            D = e.ac(O.left, O.top, !0, !0);
            J = e.ac(O.left, O.top, !1, !0);
            S = e.ac(O.right, O.bottom, !0, !0);
            U = e.ac(O.right, O.bottom, !1, !0);
            0 !== H &amp;&amp; (B = e.ac(O.right, O.top, !0, !0), A = e.ac(O.right, O.top, !1, !0), N = e.ac(O.left, O.bottom, !0, !0), O = e.ac(O.left, O.bottom, !1, !0), H = Math.min(D, S, B, N), S = Math.max(D, S, B, N), D = H, H = Math.min(J, U, A, O), U = Math.max(J, U, A, O), J = H);
            D -= y;
            J -= qa;
            S += y;
            U += qa;
            I.left = D / P;
            I.top = 1 - J / Q;
            I.right = S / P;
            I.bottom = 1 - U / Q;
            N = D = ta(D);
            O = J = ta(J);
            ga = S = ua(S);
            pa = U = ua(U);
            N -= y;
            O -= qa;
            ga += y;
            pa += qa;
            0 &gt; D &amp;&amp; (D = 0);
            0 &gt; J &amp;&amp; (J = 0);
            S &gt; P &amp;&amp; (S = P);
            U &gt; Q &amp;&amp; (U = Q);
            0 &gt; N &amp;&amp; (N = 0);
            0 &gt; O &amp;&amp; (O = 0);
            ga &gt; P &amp;&amp; (ga = P);
            pa &gt; Q &amp;&amp; (pa = Q);
            w.left = D / P;
            w.top = 1 - J / Q;
            w.right = S / P;
            w.bottom = 1 - U / Q
        } else w.left = I.left = 0, w.top = I.top = 0, w.right = I.right = 1, w.bottom = I.bottom = 1;
        qa = c &amp;&amp; (a.Ei(b[0].fb) || 0 !== y || 0 !== qa || 1 !== c.opacity || c.type.Ba.Tq) || e &amp;&amp; !c &amp;&amp; 1 !== e.opacity;
        a.Jr();
        if (qa) {
            q[K] || (q[K] = a.Sc(P, Q, this.b.Qa));
            if (q[K].uf !== P || q[K].tf !== Q) a.deleteTexture(q[K]), q[K] = a.Sc(P, Q, this.b.Qa);
            a.pc(0);
            a.dd(q[K]);
            t = pa - O;
            a.clearRect(N, Q - O - t, ga - N, t);
            c ? c.wc(a) : (a.Nc(this.b.ob), a.ah(e.opacity), a.Pd(), a.translate(-V, -F), a.vd(), a.jf(D, U, S, U, S, J, D, J, w));
            I.left = I.top = 0;
            I.right = I.bottom = 1;
            c &amp;&amp; (H = w.top, w.top = w.bottom, w.bottom = H);
            K = 1;
            X = 0
        }
        a.ah(1);
        y = b.length - 1;
        var Pa = a.En(b[y].fb) || !e &amp;&amp; !c &amp;&amp; !this.b.Fc;
        B = H = 0;
        for (A = b.length; B &lt; A; B++) {
            q[K] || (q[K] = a.Sc(P, Q, this.b.Qa));
            if (q[K].uf !== P || q[K].tf !== Q) a.deleteTexture(q[K]), q[K] = a.Sc(P, Q, this.b.Qa);
            a.pc(b[B].fb);
            H = b[B].index;
            a.Ik(b[B].fb) &amp;&amp; (this.b.ca = !0);
            0 != B || qa ? (a.bh(f, 1 / P, 1 / Q, I.left, I.top, I.right, I.bottom, l, g, m, h, (m + k) / 2, (h + r) / 2, this.b.Gb.R, c ? c.Pa[H] : e ? e.Pa[H] : this.Pa[H]), a.Nc(null), B !== y || Pa ? (a.dd(q[K]), t = pa - O, L = Q - O - t, a.clearRect(N, L, ga - N, t)) : (c ? a.kf(c.Ub, c.Qb) : e &amp;&amp; a.kf(e.Ub, e.Qb), a.dd(f)), a.Nc(q[X]), a.Pd(), a.translate(-V, -F), a.vd(), a.jf(D, U, S, U, S, J, D, J, w), B !== y || Pa || a.Nc(null)) : (a.dd(q[K]), t = pa - O, L = Q - O - t, a.clearRect(N, L, ga - N, t), c ? (c.Oa &amp;&amp; c.Oa.xa ? (L = c.Oa.xa, X = 1 / L.width, L = 1 / L.height) : (X = 1 / c.width, L = 1 / c.height), a.bh(f, X, L, I.left, I.top, I.right, I.bottom, l, g, m, h, (m + k) / 2, (h + r) / 2, this.b.Gb.R, c.Pa[H]), c.wc(a)) : (a.bh(f, 1 / P, 1 / Q, 0, 0, 1, 1, l, g, m, h, (m + k) / 2, (h + r) / 2, this.b.Gb.R, e ? e.Pa[H] : this.Pa[H]), a.Nc(e ? this.b.ob : this.b.bb), a.Pd(), a.translate(-V, -F), a.vd(), a.jf(D, U, S, U, S, J, D, J, w)), I.left = I.top = 0, I.right = I.bottom = 1, c &amp;&amp; !Pa &amp;&amp; (H = U, U = J, J = H));
            K = 0 === K ? 1 : 0;
            X = 0 === K ? 1 : 0
        }
        Pa &amp;&amp; (a.pc(0), c ? a.kf(c.Ub, c.Qb) : e ? a.kf(e.Ub, e.Qb) : this.b.Fc || (a.xe(this.b.width, this.b.height), V = this.b.width / 2, F = this.b.height / 2, J = D = 0, S = this.b.width, U = this.b.height), a.dd(f), a.Nc(q[X]), a.Pd(), a.translate(-V, -F), a.vd(), c &amp;&amp; 1 === b.length &amp;&amp; !qa ? a.jf(D, J, S, J, S, U, D, U, w) : a.jf(D, U, S, U, S, J, D, J, w), a.Nc(null))
    };
    g.prototype.Tj = function(a) {
        var c, f;
        c = 0;
        for (f = this.P.length; c &lt; f; c++)
            if (this.P[c].Y === a) return this.P[c];
        return null
    };
    g.prototype.tb = function() {
        var a, c, f, b = {
            sx: this.scrollX,
            sy: this.scrollY,
            s: this.scale,
            a: this.g,
            w: this.width,
            h: this.height,
            fv: this.tg,
            persist: this.gf,
            fx: [],
            layers: {}
        };
        a = 0;
        for (c = this.M.length; a &lt; c; a++) f = this.M[a], b.fx.push({
            name: f.name,
            active: f.Wa,
            params: this.Pa[f.index]
        });
        a = 0;
        for (c = this.P.length; a &lt; c; a++) f = this.P[a], b.layers[f.Y.toString()] = f.tb();
        return b
    };
    g.prototype.Hb = function(a) {
        var c, f, b, l;
        this.scrollX = a.sx;
        this.scrollY = a.sy;
        this.scale = a.s;
        this.g = a.a;
        this.width = a.w;
        this.height = a.h;
        this.gf = a.persist;
        "undefined" !== typeof a.fv &amp;&amp; (this.tg = a.fv);
        var g = a.fx;
        c = 0;
        for (f = g.length; c &lt; f; c++)
            if (b = this.mm(g[c].name)) b.Wa = g[c].active, this.Pa[b.index] = g[c].params;
        this.ud();
        c = a.layers;
        for (l in c) c.hasOwnProperty(l) &amp;&amp; (a = this.Tj(parseInt(l, 10))) &amp;&amp; a.Hb(c[l])
    };
    Jb = g;
    b.prototype.ud = function() {
        G(this.ja);
        this.ye = !0;
        var a, c, f;
        a = 0;
        for (c = this.M.length; a &lt; c; a++) f = this.M[a], f.Wa &amp;&amp; (this.ja.push(f), f.rd || (this.ye = !1))
    };
    b.prototype.mm = function(a) {
        var c, f, b;
        c = 0;
        for (f = this.M.length; c &lt; f; c++)
            if (b = this.M[c], b.name === a) return b;
        return null
    };
    b.prototype.Ou = function() {
        var a, c, f, b, l, g;
        c = a = 0;
        for (f = this.Ic.length; a &lt; f; a++) {
            b = this.Ic[a];
            l = this.b.q[b[1]];
            g = this.b.eo(l);
            l = !0;
            if (!g || this.xb.tg) {
                b = this.b.Re(b, this, !0);
                if (!b) continue;
                q.push(b);
                b.type.global &amp;&amp; (l = !1, this.Eh.push(b.uid))
            }
            l &amp;&amp; (this.Ic[c] = this.Ic[a], c++)
        }
        this.Ic.length = c;
        this.b.Mb();
        !this.b.B &amp;&amp; this.M.length &amp;&amp; (this.Ob = this.tv);
        this.Bh = lb(this.Ob);
        this.b.A &amp;&amp; mb(this, this.Ob, this.b.A);
        this.sd = !0
    };
    b.prototype.Yg = function(a, c) {
        var f = Fa(this.d, a);
        0 &gt; f || (c &amp;&amp; this.Oc &amp;&amp; a.nc &amp;&amp; a.nc.right &gt;= a.nc.left &amp;&amp; (a.Cb(), this.Lb.update(a, a.nc, null), a.nc.set(0, 0, -1, -1)), f === this.d.length - 1 ? this.d.pop() : (Aa(this.d, f), this.Li(f)), this.sd = !0)
    };
    b.prototype.wh = function(a, c) {
        a.wd = this.d.length;
        this.d.push(a);
        c &amp;&amp; this.Oc &amp;&amp; a.nc &amp;&amp; a.Sa();
        this.sd = !0
    };
    b.prototype.Jx = function(a) {
        this.d.unshift(a);
        this.Li(0)
    };
    b.prototype.qx = function(a, c, f) {
        var b = a.Gd();
        c = c.Gd();
        Aa(this.d, b);
        b &lt; c &amp;&amp; c--;
        f &amp;&amp; c++;
        c === this.d.length ? this.d.push(a) : this.d.splice(c, 0, a);
        this.Li(b &lt; c ? b : c)
    };
    b.prototype.Li = function(a) {
        -1 === this.Ee ? this.Ee = a : a &lt; this.Ee &amp;&amp; (this.Ee = a);
        this.sd = this.dg = !0
    };
    b.prototype.ko = function() {
        if (this.dg) {
            -1 === this.Ee &amp;&amp; (this.Ee = 0);
            var a, c, f;
            if (this.Oc)
                for (a = this.Ee, c = this.d.length; a &lt; c; ++a) f = this.d[a], f.wd = a, this.Lb.mx(f.nc);
            else
                for (a = this.Ee, c = this.d.length; a &lt; c; ++a) this.d[a].wd = a;
            this.dg = !1;
            this.Ee = -1
        }
    };
    b.prototype.Hc = function(a) {
        return this.pw() * (this.b.Fc || a ? this.b.xh : 1)
    };
    b.prototype.pw = function() {
        return (this.scale * this.xb.scale - 1) * this.rc + 1
    };
    b.prototype.Fb = function() {
        return this.de ? 0 : Ka(this.xb.g + this.g)
    };
    var a = [],
        f = [],
        c = [];
    b.prototype.rm = function() {
        this.ko();
        this.Lb.Ar(this.ya, this.za, this.Ea, this.Da, c);
        if (!c.length) return k();
        if (1 === c.length) {
            var a = k();
            Da(a, c[0]);
            G(c);
            return a
        }
        for (var e = !0; 1 &lt; c.length;) {
            for (var a = c, b = void 0, p = void 0, l = void 0, g = void 0, h = void 0, b = 0, p = a.length; b &lt; p - 1; b += 2) {
                var l = a[b],
                    g = a[b + 1],
                    h = k(),
                    m = l,
                    x = g,
                    q = h,
                    z = 0,
                    v = 0,
                    B = 0,
                    A = m.length,
                    y = x.length,
                    H = void 0,
                    K = void 0;
                for (q.length = A + y; z &lt; A &amp;&amp; v &lt; y; ++B) H = m[z], K = x[v], H.wd &lt; K.wd ? (q[B] = H, ++z) : (q[B] = K, ++v);
                for (; z &lt; A; ++z, ++B) q[B] = m[z];
                for (; v &lt; y; ++v, ++B) q[B] = x[v];
                e || (r(l), r(g));
                f.push(h)
            }
            1 === p % 2 &amp;&amp; (e ? (l = k(), Da(l, a[p - 1]), f.push(l)) : f.push(a[p - 1]));
            Da(a, f);
            G(f);
            e = !1
        }
        a = c[0];
        G(c);
        return a
    };
    b.prototype.Cd = function(a) {
        this.Od = this.Pj || 1 !== this.opacity || 0 !== this.Ob;
        var c = this.b.canvas,
            f = a,
            b = !1;
        this.Od &amp;&amp; (this.b.fk || (this.b.fk = document.createElement("canvas"), c = this.b.fk, c.width = this.b.H, c.height = this.b.G, this.b.wq = c.getContext("2d"), b = !0), c = this.b.fk, f = this.b.wq, c.width !== this.b.H &amp;&amp; (c.width = this.b.H, b = !0), c.height !== this.b.G &amp;&amp; (c.height = this.b.G, b = !0), b &amp;&amp; this.b.Qk(f, this.b.Qa), this.td &amp;&amp; f.clearRect(0, 0, this.b.H, this.b.G));
        f.globalAlpha = 1;
        f.globalCompositeOperation = "source-over";
        this.td || (f.fillStyle = "rgb(" + this.ld[0] + "," + this.ld[1] + "," + this.ld[2] + ")", f.fillRect(0, 0, this.b.H, this.b.G));
        f.save();
        this.de = !0;
        var b = this.gb(0, 0, !0, !0),
            l = this.gb(0, 0, !1, !0);
        this.de = !1;
        this.b.ue &amp;&amp; (b = Math.round(b), l = Math.round(l));
        this.Mk(b, l, f);
        var g = this.Hc();
        f.scale(g, g);
        f.translate(-b, -l);
        this.Oc ? (this.Db.left = this.Lb.ic(this.ya), this.Db.top = this.Lb.jc(this.za), this.Db.right = this.Lb.ic(this.Ea), this.Db.bottom = this.Lb.jc(this.Da), this.sd || !this.Db.Hh(this.Ig) ? (r(this.ne), b = this.rm(), this.sd = !1, this.Ig.Ch(this.Db)) : b = this.ne) : b = this.d;
        for (var h, m = null, l = 0, g = b.length; l &lt; g; ++l) h = b[l], h !== m &amp;&amp; (this.ov(h, f), m = h);
        this.Oc &amp;&amp; (this.ne = b);
        f.restore();
        this.Od &amp;&amp; (a.globalCompositeOperation = this.Bh, a.globalAlpha = this.opacity, a.drawImage(c, 0, 0))
    };
    b.prototype.ov = function(a, c) {
        if (a.visible &amp;&amp; 0 !== a.width &amp;&amp; 0 !== a.height) {
            a.Cb();
            var f = a.Nb;
            f.right &lt; this.ya || f.bottom &lt; this.za || f.left &gt; this.Ea || f.top &gt; this.Da || (c.globalCompositeOperation = a.Bh, a.Cd(c))
        }
    };
    b.prototype.ol = function() {
        this.de = !0;
        var a = this.gb(0, 0, !0, !0),
            c = this.gb(0, 0, !1, !0);
        this.de = !1;
        this.b.ue &amp;&amp; (a = Math.round(a), c = Math.round(c));
        this.Mk(a, c, null)
    };
    b.prototype.Mk = function(a, c, f) {
        var b = this.Hc();
        this.ya = a;
        this.za = c;
        this.Ea = a + 1 / b * this.b.H;
        this.Da = c + 1 / b * this.b.G;
        this.ya &gt; this.Ea &amp;&amp; (a = this.ya, this.ya = this.Ea, this.Ea = a);
        this.za &gt; this.Da &amp;&amp; (a = this.za, this.za = this.Da, this.Da = a);
        a = this.Fb();
        0 !== a &amp;&amp; (f &amp;&amp; (f.translate(this.b.H / 2, this.b.G / 2), f.rotate(-a), f.translate(this.b.H / -2, this.b.G / -2)), this.Be.set(this.ya, this.za, this.Ea, this.Da), this.Be.offset((this.ya + this.Ea) / -2, (this.za + this.Da) / -2), this.es.Sr(this.Be, a), this.es.lp(this.Be), this.Be.offset((this.ya + this.Ea) / 2, (this.za +
            this.Da) / 2), this.ya = this.Be.left, this.za = this.Be.top, this.Ea = this.Be.right, this.Da = this.Be.bottom)
    };
    b.prototype.pg = function(a) {
        if (this.Od = this.Pj) {
            this.b.ob || (this.b.ob = a.Sc(this.b.H, this.b.G, this.b.Qa));
            if (this.b.ob.uf !== this.b.H || this.b.ob.tf !== this.b.G) a.deleteTexture(this.b.ob), this.b.ob = a.Sc(this.b.H, this.b.G, this.b.Qa);
            a.dd(this.b.ob)
        }
        this.de = !0;
        var c = this.gb(0, 0, !0, !0),
            f = this.gb(0, 0, !1, !0);
        this.de = !1;
        this.b.ue &amp;&amp; (c = Math.round(c), f = Math.round(f));
        this.Mk(c, f, null);
        c = this.Hc();
        a.Pd();
        a.scale(c, c);
        a.Mn(-this.Fb());
        a.translate((this.ya + this.Ea) / -2, (this.za + this.Da) / -2);
        a.vd();
        this.Oc ? (this.Db.left = this.Lb.ic(this.ya), this.Db.top = this.Lb.jc(this.za), this.Db.right = this.Lb.ic(this.Ea), this.Db.bottom = this.Lb.jc(this.Da), this.sd || !this.Db.Hh(this.Ig) ? (r(this.ne), c = this.rm(), this.sd = !1, this.Ig.Ch(this.Db)) : c = this.ne) : c = this.d;
        for (var b, l = null, f = c.length - 1; 0 &lt;= f; --f) b = c[f], b !== l &amp;&amp; (this.qv(c[f], a), l = b);
        this.Oc &amp;&amp; (this.ne = c);
        this.td || (this.Ql = this.b.zf++, a.Rk(this.Ql), a.Kr(1, 1, 1), a.Lp(), a.Sx())
    };
    b.prototype.wc = function(a) {
        var c = 0,
            f = 0;
        if (this.Od = this.Pj || 1 !== this.opacity || 0 &lt; this.ja.length || 0 !== this.Ob) {
            this.b.ob || (this.b.ob = a.Sc(this.b.H, this.b.G, this.b.Qa));
            if (this.b.ob.uf !== this.b.H || this.b.ob.tf !== this.b.G) a.deleteTexture(this.b.ob), this.b.ob = a.Sc(this.b.H, this.b.G, this.b.Qa);
            a.dd(this.b.ob);
            this.td &amp;&amp; a.clear(0, 0, 0, 0)
        }
        this.td || (this.b.Fa ? (a.Rk(this.Ql), a.Kr(this.ld[0] / 255, this.ld[1] / 255, this.ld[2] / 255), a.Lp(), a.gy()) : a.clear(this.ld[0] / 255, this.ld[1] / 255, this.ld[2] / 255, 1));
        this.de = !0;
        var b = this.gb(0, 0, !0, !0),
            c = this.gb(0, 0, !1, !0);
        this.de = !1;
        this.b.ue &amp;&amp; (b = Math.round(b), c = Math.round(c));
        this.Mk(b, c, null);
        b = this.Hc();
        a.Pd();
        a.scale(b, b);
        a.Mn(-this.Fb());
        a.translate((this.ya + this.Ea) / -2, (this.za + this.Da) / -2);
        a.vd();
        this.Oc ? (this.Db.left = this.Lb.ic(this.ya), this.Db.top = this.Lb.jc(this.za), this.Db.right = this.Lb.ic(this.Ea), this.Db.bottom = this.Lb.jc(this.Da), this.sd || !this.Db.Hh(this.Ig) ? (r(this.ne), c = this.rm(), this.sd = !1, this.Ig.Ch(this.Db)) : c = this.ne) : c = this.d;
        var l, g, h = null,
            f = 0;
        for (l = c.length; f &lt; l; ++f) g = c[f], g !== h &amp;&amp; (this.pv(c[f], a), h = g);
        this.Oc &amp;&amp; (this.ne = c);
        this.Od &amp;&amp; (c = this.ja.length ? this.ja[0].fb : 0, f = this.ja.length ? this.ja[0].index : 0, 0 === this.ja.length || 1 === this.ja.length &amp;&amp; !a.En(c) &amp;&amp; 1 === this.opacity ? (1 === this.ja.length ? (a.pc(c), a.bh(this.xb.Rh(), 1 / this.b.H, 1 / this.b.G, 0, 0, 1, 1, b, this.Fb(), this.ya, this.za, (this.ya + this.Ea) / 2, (this.za + this.Da) / 2, this.b.Gb.R, this.Pa[f]), a.Ik(c) &amp;&amp; (this.b.ca = !0)) : a.pc(0), a.dd(this.xb.Rh()), a.ah(this.opacity), a.Nc(this.b.ob), a.kf(this.Ub, this.Qb), a.Pd(), a.vd(), b = this.b.H / 2, c = this.b.G / 2, a.Gi(-b, c, b, c, b, -c, -b, -c), a.Nc(null)) : this.xb.Jn(a, this, null, this.xb.Rh()))
    };
    b.prototype.pv = function(a, c) {
        if (a.visible &amp;&amp; 0 !== a.width &amp;&amp; 0 !== a.height) {
            a.Cb();
            var f = a.Nb;
            f.right &lt; this.ya || f.bottom &lt; this.za || f.left &gt; this.Ea || f.top &gt; this.Da || (c.Rk(a.zf), a.rs ? this.rv(a, c) : (c.pc(0), c.kf(a.Ub, a.Qb), a.wc(c)))
        }
    };
    b.prototype.qv = function(a, c) {
        if (a.visible &amp;&amp; 0 !== a.width &amp;&amp; 0 !== a.height) {
            a.Cb();
            var f = a.Nb;
            f.right &lt; this.ya || f.bottom &lt; this.za || f.left &gt; this.Ea || f.top &gt; this.Da || (a.zf = this.b.zf++, 0 === a.Ob &amp;&amp; 1 === a.opacity &amp;&amp; a.ye &amp;&amp; a.pg &amp;&amp; (c.Rk(a.zf), a.pg(c)))
        }
    };
    b.prototype.rv = function(a, c) {
        var f = a.ja[0].fb,
            b = a.ja[0].index,
            l = this.Hc();
        if (1 !== a.ja.length || c.En(f) || c.Lx(f) || (a.g || a.k.Fb()) &amp;&amp; c.Ei(f) || 1 !== a.opacity || a.type.Ba.Tq) this.xb.Jn(c, this, a, this.Od ? this.b.ob : this.xb.Rh()), c.Pd(), c.scale(l, l), c.Mn(-this.Fb()), c.translate((this.ya + this.Ea) / -2, (this.za + this.Da) / -2), c.vd();
        else {
            c.pc(f);
            c.kf(a.Ub, a.Qb);
            c.Ik(f) &amp;&amp; (this.b.ca = !0);
            var g = 0,
                h = 0,
                m = 0,
                k = 0;
            c.Ei(f) &amp;&amp; (k = a.Nb, g = this.ac(k.left, k.top, !0, !0), h = this.ac(k.left, k.top, !1, !0), m = this.ac(k.right, k.bottom, !0, !0), k = this.ac(k.right, k.bottom, !1, !0), g = g / windowWidth, h = 1 - h / windowHeight, m = m / windowWidth, k = 1 - k / windowHeight);
            var r;
            a.Oa &amp;&amp; a.Oa.xa ? (r = a.Oa.xa, f = 1 / r.width, r = 1 / r.height) : (f = 1 / a.width, r = 1 / a.height);
            c.bh(this.Od ? this.b.ob : this.xb.Rh(), f, r, g, h, m, k, l, this.Fb(), this.ya, this.za, (this.ya + this.Ea) / 2, (this.za + this.Da) / 2, this.b.Gb.R, a.Pa[b]);
            a.wc(c)
        }
    };
    b.prototype.gb = function(a, c, f, b) {
        var l = this.b.devicePixelRatio;
        this.b.Of &amp;&amp; (a *= l, c *= l);
        var l = this.b.qr,
            g = this.b.rr,
            l = (this.xb.scrollX -
                l) * this.bd + l,
            g = (this.xb.scrollY - g) * this.cd + g,
            h = l,
            m = g,
            k = 1 / this.Hc(!b);
        b ? (h -= this.b.H * k / 2, m -= this.b.G * k / 2) : (h -= this.b.width * k / 2, m -= this.b.height * k / 2);
        h += a * k;
        m += c * k;
        c = this.Fb();
        0 !== c &amp;&amp; (h -= l, m -= g, a = Math.cos(c), c = Math.sin(c), b = h * a - m * c, m = m * a + h * c, h = b + l, m += g);
        return f ? h : m
    };
    b.prototype.ac = function(a, c, f, b) {
        var l = this.b.qr,
            g = this.b.rr,
            h = (this.xb.scrollX - l) * this.bd + l,
            m = (this.xb.scrollY - g) * this.cd + g,
            g = h,
            l = m,
            k = this.Fb();
        if (0 !== k) {
            a -= h;
            c -= m;
            var r = Math.cos(-k),
                k = Math.sin(-k),
                q = a * r - c * k;
            c = c * r + a * k;
            a = q + h;
            c += m
        }
        h = 1 / this.Hc(!b);
        b ? (g -= this.b.H * h / 2, l -= this.b.G * h / 2) : (g -= this.b.width * h / 2, l -= this.b.height * h / 2);
        g = (a - g) / h;
        l = (c - l) / h;
        a = this.b.devicePixelRatio;
        this.b.Of &amp;&amp; !b &amp;&amp; (g /= a, l /= a);
        return f ? g : l
    };
    b.prototype.tb = function() {
        var a, c, f, b = {
            s: this.scale,
            a: this.g,
            vl: this.ya,
            vt: this.za,
            vr: this.Ea,
            vb: this.Da,
            v: this.visible,
            bc: this.ld,
            t: this.td,
            px: this.bd,
            py: this.cd,
            o: this.opacity,
            zr: this.rc,
            fx: [],
            cg: this.Eh,
            instances: []
        };
        a = 0;
        for (c = this.M.length; a &lt; c; a++) f = this.M[a], b.fx.push({
            name: f.name,
            active: f.Wa,
            params: this.Pa[f.index]
        });
        return b
    };
    b.prototype.Hb = function(a) {
        var c, f, b;
        this.scale = a.s;
        this.g = a.a;
        this.ya = a.vl;
        this.za = a.vt;
        this.Ea = a.vr;
        this.Da = a.vb;
        this.visible = a.v;
        this.ld = a.bc;
        this.td = a.t;
        this.bd = a.px;
        this.cd = a.py;
        this.opacity = a.o;
        this.rc = a.zr;
        this.Eh = a.cg || [];
        Da(this.Ic, this.Zr);
        var l = new ea;
        c = 0;
        for (b = this.Eh.length; c &lt; b; ++c) l.add(this.Eh[c]);
        f = c = 0;
        for (b = this.Ic.length; c &lt; b; ++c) l.contains(this.Ic[c][2]) || (this.Ic[f] = this.Ic[c], ++f);
        Ca(this.Ic, f);
        f = a.fx;
        c = 0;
        for (b = f.length; c &lt; b; c++)
            if (a = this.mm(f[c].name)) a.Wa = f[c].active, this.Pa[a.index] = f[c].params;
        this.ud();
        this.d.sort(h);
        this.dg = !0
    };
    Zb = b
})();
(function() {
    function g(a, c) {
        var d, e = a.length;
        switch (e) {
            case 0:
                return !0;
            case 1:
                return a[0] === c[0];
            case 2:
                return a[0] === c[0] &amp;&amp; a[1] === c[1];
            default:
                for (d = 0; d &lt; e; d++)
                    if (a[d] !== c[d]) return !1;
                return !0
        }
    }

    function h(a, c) {
        return a.index - c.index
    }

    function b(a) {
        var c, d, e, f;
        2 === a.length ? a[0].index &gt; a[1].index &amp;&amp; (c = a[0], a[0] = a[1], a[1] = c) : 2 &lt; a.length &amp;&amp; a.sort(h);
        a.length &gt;= E.length &amp;&amp; (E.length = a.length + 1);
        E[a.length] || (E[a.length] = []);
        f = E[a.length];
        c = 0;
        for (d = f.length; c &lt; d; c++)
            if (e = f[c], g(a, e)) return e;
        f.push(a);
        return a
    }

    function k(a, c) {
        this.b = a;
        this.js = {};
        this.Dp = {};
        this.xm = !1;
        this.Zp = new ea;
        this.Vl = [];
        this.Dl = [];
        this.name = c[0];
        var d = c[1];
        this.Ue = [];
        var e, f;
        e = 0;
        for (f = d.length; e &lt; f; e++) this.aq(d[e], null, this.Ue)
    }

    function r(a) {
        this.type = a;
        this.d = [];
        this.U = [];
        this.Ia = !0
    }

    function q(a, c, d) {
        this.sheet = a;
        this.parent = c;
        this.b = a.b;
        this.X = [];
        this.lf = [];
        this.Yp = this.il = this.$n = this.Dm = this.group = this.Un = !1;
        this.ib = [];
        this.jd = [];
        this.fd = [];
        this.Uh = "";
        this.Ff = this.Dm = this.group = !1;
        this.tj = null;
        d[1] &amp;&amp; (this.Uh = d[1][1].toLowerCase(), this.group = !0, this.Dm = !!d[1][0], this.tj = [], this.Ff = this.Dm, this.b.hg.push(this), this.b.vg[this.Uh] = this);
        this.$c = d[2];
        this.Y = d[4];
        this.group || (this.b.kp[this.Y.toString()] = this);
        var e = d[5];
        a = 0;
        for (c = e.length; a &lt; c; a++) {
            var f = new $b(this, e[a]);
            f.index = a;
            this.ib.push(f);
            this.Xo(f.type)
        }
        e = d[6];
        a = 0;
        for (c = e.length; a &lt; c; a++) f = new ac(this, e[a]), f.index = a, this.jd.push(f);
        if (8 === d.length)
            for (d = d[7], a = 0, c = d.length; a &lt; c; a++) this.sheet.aq(d[a], this, this.fd);
        this.dk = !1;
        this.ib.length &amp;&amp; (this.dk = null == this.ib[0].type &amp;&amp; this.ib[0].Eb == R.prototype.e.to)
    }

    function l(a, c) {
        var d, e, f;
        if (a &amp;&amp; (-1 === c.indexOf(a) &amp;&amp; c.push(a), a.Xc))
            for (d = 0, e = a.uc.length; d &lt; e; d++) f = a.uc[d], a !== f &amp;&amp; -1 === c.indexOf(f) &amp;&amp; c.push(f)
    }

    function a(a, c) {
        this.Ec = a;
        this.sheet = a.sheet;
        this.b = a.b;
        this.T = [];
        this.Ra = [];
        this.Ha = {};
        this.index = -1;
        this.uh = !1;
        this.Eb = this.b.Ge(c[1]);
        this.trigger = 0 &lt; c[3];
        this.Cp = 2 === c[3];
        this.Kd = c[4];
        this.Gm = c[5];
        this.dx = c[6];
        this.Y = c[7];
        this.b.Pe[this.Y.toString()] = this; - 1 === c[0] ? (this.type = null, this.eb = this.On, this.sf = null, this.md = -1) : (this.type = this.b.q[c[0]], this.eb = this.dx ? this.Yx : this.Nn, c[2] ? (this.sf = this.type.Sj(c[2]), this.md = this.type.km(c[2])) : (this.sf = null, this.md = -1), this.Ec.parent &amp;&amp; this.Ec.parent.Uk());
        this.Cp &amp;&amp; (this.eb = this.Zx);
        if (10 === c.length) {
            var d, e, f = c[9];
            d = 0;
            for (e = f.length; d &lt; e; d++) {
                var b = new bc(this, f[d]);
                this.T.push(b)
            }
            this.Ra.length = f.length
        }
    }

    function f(a, c) {
        this.Ec = a;
        this.sheet = a.sheet;
        this.b = a.b;
        this.T = [];
        this.Ra = [];
        this.Ha = {};
        this.index = -1;
        this.uh = !1;
        this.Eb = this.b.Ge(c[1]); - 1 === c[0] ? (this.type = null, this.eb = this.On, this.sf = null, this.md = -1) : (this.type = this.b.q[c[0]], this.eb = this.Nn, c[2] ? (this.sf = this.type.Sj(c[2]), this.md = this.type.km(c[2])) : (this.sf = null, this.md = -1));
        this.Y = c[3];
        this.b.Je[this.Y.toString()] = this;
        if (6 === c.length) {
            var d, e, f = c[5];
            d = 0;
            for (e = f.length; d &lt; e; d++) {
                var b = new bc(this, f[d]);
                this.T.push(b)
            }
            this.Ra.length = f.length
        }
    }

    function c() {
        T++;
        u.length === T &amp;&amp; u.push(new cc);
        return u[T]
    }

    function d(a, c) {
        this.ad = a;
        this.Ec = a.Ec;
        this.sheet = a.sheet;
        this.b = a.b;
        this.type = c[0];
        this.Ed = null;
        this.ze = 0;
        this.get = null;
        this.rp = 0;
        this.xb = null;
        this.key = 0;
        this.object = null;
        this.index = 0;
        this.Xi = this.$f = this.Xi = this.$f = this.Gp = this.Df = this.Yi = null;
        this.hd = !1;
        var d, f, e;
        switch (c[0]) {
            case 0:
            case 7:
                this.Ed = new dc(this, c[1]);
                this.ze = 0;
                this.get = this.zw;
                break;
            case 1:
                this.Ed = new dc(this, c[1]);
                this.ze = 0;
                this.get = this.Aw;
                break;
            case 5:
                this.Ed = new dc(this, c[1]);
                this.ze = 0;
                this.get = this.Ew;
                break;
            case 3:
            case 8:
                this.rp = c[1];
                this.get = this.xw;
                break;
            case 6:
                this.xb = this.b.Jg[c[1]];
                this.get = this.Fw;
                break;
            case 9:
                this.key = c[1];
                this.get = this.Dw;
                break;
            case 4:
                this.object = this.b.q[c[1]];
                this.get = this.Gw;
                this.Ec.Xo(this.object);
                this.ad instanceof ac ? this.Ec.Uk() : this.Ec.parent &amp;&amp; this.Ec.parent.Uk();
                break;
            case 10:
                this.index = c[1];
                a.type &amp;&amp; a.type.N ? (this.get = this.Bw, this.hd = !0) : this.get = this.Cw;
                break;
            case 11:
                this.Yi = c[1];
                this.Df = null;
                this.get = this.yw;
                break;
            case 2:
            case 12:
                this.Gp = c[1];
                this.get = this.ww;
                break;
            case 13:
                for (this.get = this.Hw, this.$f = [], this.Xi = [], d = 1, f = c.length; d &lt; f; d++) e = new bc(this.ad, c[d]), this.$f.push(e), this.Xi.push(0)
        }
    }

    function e(a, c, d) {
        this.sheet = a;
        this.parent = c;
        this.b = a.b;
        this.X = [];
        this.name = d[1];
        this.rl = d[2];
        this.Cm = d[3];
        this.gi = !!d[4];
        this.ck = !!d[5];
        this.Y = d[6];
        this.b.nh[this.Y.toString()] = this;
        this.data = this.Cm;
        this.parent ? (this.Wf = this.gi || this.ck ? -1 : this.b.iy++, this.b.wu.push(this)) : (this.Wf = -1, this.b.vu.push(this))
    }

    function n(a, c, d) {
        this.sheet = a;
        this.parent = c;
        this.b = a.b;
        this.X = [];
        this.Wh = null;
        this.Ow = d[1];
        this.Wa = !0
    }

    function p() {
        this.as = [];
        this.reset(null)
    }
    var E = [];
    k.prototype.toString = function() {
        return this.name
    };
    k.prototype.aq = function(a, c, d) {
        switch (a[0]) {
            case 0:
                a = new ec(this, c, a);
                if (a.$c)
                    for (d.push(a), d = 0, c = a.ib.length; d &lt; c; d++) a.ib[d].trigger &amp;&amp; this.bq(a, d);
                else a.jq() ? this.bq(a, 0) : d.push(a);
                break;
            case 1:
                a = new Wb(this, c, a);
                d.push(a);
                break;
            case 2:
                a = new fc(this, c, a), d.push(a)
        }
    };
    k.prototype.Ya = function() {
        var a, c;
        a = 0;
        for (c = this.Ue.length; a &lt; c; a++) this.Ue[a].Ya(a &lt; c - 1 &amp;&amp; this.Ue[a + 1].dk)
    };
    k.prototype.ho = function() {
        G(this.Vl);
        G(this.Dl);
        this.Vo(this);
        G(this.Dl)
    };
    k.prototype.Vo = function(a) {
        var c, d, f, e, b = a.Vl,
            l = a.Dl,
            p = this.Zp.nf();
        c = 0;
        for (d = p.length; c &lt; d; ++c) f = p[c], e = f.Wh, !f.Wa || a === e || -1 &lt; l.indexOf(e) || (l.push(e), e.Vo(a), b.push(e))
    };
    k.prototype.eb = function(a) {
        this.b.oA || (this.xm = !0, a || (this.b.Lm = !0));
        var c, d;
        c = 0;
        for (d = this.Ue.length; c &lt; d; c++) {
            var e = this.Ue[c];
            e.eb();
            this.b.Pl(e.X);
            this.b.Xe &amp;&amp; this.b.Mb()
        }
        a || (this.b.Lm = !1)
    };
    k.prototype.bq = function(a, c) {
        a.$c || this.b.ll.push(a);
        var d, e, f = a.ib[c],
            b;
        f.type ? b = f.type.name : b = "system";
        var l = (d = f.Cp) ? this.Dp : this.js;
        l[b] || (l[b] = []);
        b = l[b];
        l = f.Eb;
        if (d) {
            if (f.T.length &amp;&amp; (f = f.T[0], 1 === f.type &amp;&amp; 2 === f.Ed.type)) {
                f = f.Ed.value.toLowerCase();
                d = 0;
                for (e = b.length; d &lt; e; d++)
                    if (b[d].method == l) {
                        d = b[d].Ih;
                        d[f] ? d[f].push([a, c]) : d[f] = [
                            [a, c]
                        ];
                        return
                    }
                d = {};
                d[f] = [
                    [a, c]
                ];
                b.push({
                    method: l,
                    Ih: d
                })
            }
        } else {
            d = 0;
            for (e = b.length; d &lt; e; d++)
                if (b[d].method == l) {
                    b[d].Ih.push([a, c]);
                    return
                }
            rc &amp;&amp; l === rc.prototype.e.gg ? b.unshift({
                method: l,
                Ih: [
                    [a, c]
                ]
            }) : b.push({
                method: l,
                Ih: [
                    [a, c]
                ]
            })
        }
    };
    Kb = k;
    r.prototype.wm = function() {
        return this.Ia ? this.type.d.length : this.d.length
    };
    r.prototype.Vc = function() {
        return this.Ia ? this.type.d : this.d
    };
    r.prototype.Vg = function(a) {
        a &amp;&amp; (a.b.lb().jb.$c ? (this.Ia &amp;&amp; (G(this.d), Da(this.U, a.type.d), this.Ia = !1), a = this.U.indexOf(a), -1 !== a &amp;&amp; (this.d.push(this.U[a]), this.U.splice(a, 1))) : (this.Ia = !1, G(this.d), this.d[0] = a))
    };
    sb = r;
    window._c2hh_ = "2FA7375798E5DF0F80325267C6FFD6EC67711055";
    q.prototype.Ya = function(a) {
        var c, d = this.parent;
        if (this.group)
            for (this.il = !0; d;) {
                if (!d.group) {
                    this.il = !1;
                    break
                }
                d = d.parent
            }
        this.$n = !this.jq() &amp;&amp; (!this.parent || this.parent.group &amp;&amp; this.parent.il);
        this.Yp = !!a;
        this.lf = this.X.slice(0);
        for (d = this.parent; d;) {
            a = 0;
            for (c = d.X.length; a &lt; c; a++) this.uu(d.X[a]);
            d = d.parent
        }
        this.X = b(this.X);
        this.lf = b(this.lf);
        a = 0;
        for (c = this.ib.length; a &lt; c; a++) this.ib[a].Ya();
        a = 0;
        for (c = this.jd.length; a &lt; c; a++) this.jd[a].Ya();
        a = 0;
        for (c = this.fd.length; a &lt; c; a++) this.fd[a].Ya(a &lt; c - 1 &amp;&amp; this.fd[a + 1].dk)
    };
    q.prototype.Sk = function(a) {
        if (this.Ff !== !!a) {
            this.Ff = !!a;
            var c;
            a = 0;
            for (c = this.tj.length; a &lt; c; ++a) this.tj[a].os();
            0 &lt; c &amp;&amp; this.b.wa.Cf &amp;&amp; this.b.wa.Cf.ho()
        }
    };
    q.prototype.Xo = function(a) {
        l(a, this.X)
    };
    q.prototype.uu = function(a) {
        l(a, this.lf)
    };
    q.prototype.Uk = function() {
        this.Un = !0;
        this.parent &amp;&amp; this.parent.Uk()
    };
    q.prototype.jq = function() {
        return this.ib.length ? this.ib[0].trigger : !1
    };
    q.prototype.eb = function() {
        var a, c, d = !1,
            f = this.b,
            e = this.b.lb();
        e.jb = this;
        var b = this.ib;
        this.dk || (e.Zl = !1);
        if (this.$c) {
            0 === b.length &amp;&amp; (d = !0);
            e.hb = 0;
            for (a = b.length; e.hb &lt; a; e.hb++) c = b[e.hb], c.trigger || (c = c.eb()) &amp;&amp; (d = !0);
            (e.Rf = d) &amp;&amp; this.Nk()
        } else {
            e.hb = 0;
            for (a = b.length; e.hb &lt; a; e.hb++)
                if (c = b[e.hb].eb(), !c) {
                    e.Rf = !1;
                    this.$n &amp;&amp; f.Xe &amp;&amp; f.Mb();
                    return
                }
            e.Rf = !0;
            this.Nk()
        }
        this.vv(e)
    };
    q.prototype.vv = function(a) {
        a.Rf &amp;&amp; this.Yp &amp;&amp; (a.Zl = !0);
        this.$n &amp;&amp; this.b.Xe &amp;&amp; this.b.Mb()
    };
    q.prototype.Wx = function(a) {
        this.b.lb().jb = this;
        this.ib[a].eb() &amp;&amp; (this.Nk(), this.b.lb().Rf = !0)
    };
    q.prototype.Nk = function() {
        var a = this.b.lb(),
            c;
        a.sc = 0;
        for (c = this.jd.length; a.sc &lt; c; a.sc++)
            if (this.jd[a.sc].eb()) return;
        this.Gr()
    };
    q.prototype.Tx = function() {
        var a = this.b.lb(),
            c;
        for (c = this.jd.length; a.sc &lt; c; a.sc++)
            if (this.jd[a.sc].eb()) return;
        this.Gr()
    };
    q.prototype.Gr = function() {
        if (this.fd.length) {
            var a, c, d, e, f = this.fd.length - 1;
            this.b.Kk(this);
            if (this.Un)
                for (a = 0, c = this.fd.length; a &lt; c; a++) d = this.fd[a], (e = !this.il || !this.group &amp;&amp; a &lt; f) &amp;&amp; this.b.hf(d.X), d.eb(), e ? this.b.qd(d.X) : this.b.Pl(d.X);
            else
                for (a = 0, c = this.fd.length; a &lt; c; a++) this.fd[a].eb();
            this.b.Fk()
        }
    };
    q.prototype.Xx = function() {
        var a = this.b.lb();
        a.jb = this;
        var c = !1,
            d;
        a.hb = 0;
        for (d = this.ib.length; a.hb &lt; d; a.hb++)
            if (this.ib[a.hb].eb()) c = !0;
            else if (!this.$c) return !1;
        return this.$c ? c : !0
    };
    q.prototype.ve = function() {
        this.b.Jh++;
        var a = this.b.lb().hb,
            c = this.b.Kk(this);
        if (!this.$c)
            for (c.hb = a + 1, a = this.ib.length; c.hb &lt; a; c.hb++)
                if (!this.ib[c.hb].eb()) return this.b.Fk(), !1;
        this.Nk();
        this.b.Fk();
        return !0
    };
    q.prototype.Uw = function(a) {
        var c = a.index;
        if (0 === c) return !0;
        for (--c; 0 &lt;= c; --c)
            if (this.ib[c].type === a.type) return !1;
        return !0
    };
    ec = q;
    a.prototype.Ya = function() {
        var a, c, d;
        a = 0;
        for (c = this.T.length; a &lt; c; a++) d = this.T[a], d.Ya(), d.hd &amp;&amp; (this.uh = !0)
    };
    a.prototype.Zx = function() {
        return !0
    };
    a.prototype.On = function() {
        var a, c;
        a = 0;
        for (c = this.T.length; a &lt; c; a++) this.Ra[a] = this.T[a].get();
        return Ua(this.Eb.apply(this.b.Rd, this.Ra), this.Gm)
    };
    a.prototype.Yx = function() {
        var a, c;
        a = 0;
        for (c = this.T.length; a &lt; c; a++) this.Ra[a] = this.T[a].get();
        a = this.Eb.apply(this.sf ? this.sf : this.type, this.Ra);
        this.type.Xd();
        return a
    };
    a.prototype.Nn = function() {
        var a, c, d, e, f, b, l, p, g = this.type,
            n = g.Aa(),
            h = this.Ec.$c &amp;&amp; !this.trigger;
        c = 0;
        var u = g.Xc,
            k = g.N,
            r = g.fe,
            q = this.md,
            E = -1 &lt; q,
            T = this.uh,
            w = this.T,
            I = this.Ra,
            D = this.Gm,
            N = this.Eb,
            J;
        if (T)
            for (c = 0, f = w.length; c &lt; f; ++c) b = w[c], b.hd || (I[c] = b.get(0));
        else
            for (c = 0, f = w.length; c &lt; f; ++c) I[c] = w[c].get(0);
        if (n.Ia) {
            G(n.d);
            G(n.U);
            J = g.d;
            a = 0;
            for (e = J.length; a &lt; e; ++a) {
                p = J[a];
                if (T)
                    for (c = 0, f = w.length; c &lt; f; ++c) b = w[c], b.hd &amp;&amp; (I[c] = b.get(a));
                E ? (c = 0, k &amp;&amp; (c = p.type.sg[r]), c = N.apply(p.L[q + c], I)) : c = N.apply(p, I);
                (l = Ua(c, D)) ? n.d.push(p): h &amp;&amp; n.U.push(p)
            }
            g.finish &amp;&amp; g.finish(!0);
            n.Ia = !1;
            g.Xd();
            return n.wm()
        }
        d = 0;
        J = (l = h &amp;&amp; !this.Ec.Uw(this)) ? n.U : n.d;
        var O = !1;
        a = 0;
        for (e = J.length; a &lt; e; ++a) {
            p = J[a];
            if (T)
                for (c = 0, f = w.length; c &lt; f; ++c) b = w[c], b.hd &amp;&amp; (I[c] = b.get(a));
            E ? (c = 0, k &amp;&amp; (c = p.type.sg[r]), c = N.apply(p.L[q + c], I)) : c = N.apply(p, I);
            if (Ua(c, D))
                if (O = !0, l) {
                    if (n.d.push(p), u)
                        for (c = 0, f = p.siblings.length; c &lt; f; c++) b = p.siblings[c], b.type.Aa().d.push(b)
                } else {
                    J[d] = p;
                    if (u)
                        for (c = 0, f = p.siblings.length; c &lt; f; c++) b = p.siblings[c], b.type.Aa().d[d] = b;
                    d++
                }
            else if (l) {
                J[d] = p;
                if (u)
                    for (c = 0, f = p.siblings.length; c &lt; f; c++) b = p.siblings[c], b.type.Aa().U[d] = b;
                d++
            } else if (h &amp;&amp; (n.U.push(p), u))
                for (c = 0, f = p.siblings.length; c &lt; f; c++) b = p.siblings[c], b.type.Aa().U.push(b)
        }
        Ca(J, d);
        if (u)
            for (k = g.uc, a = 0, e = k.length; a &lt; e; a++) p = k[a].Aa(), l ? Ca(p.U, d) : Ca(p.d, d);
        d = O;
        if (l &amp;&amp; !O)
            for (a = 0, e = n.d.length; a &lt; e; a++) {
                p = n.d[a];
                if (T)
                    for (c = 0, f = w.length; c &lt; f; c++) b = w[c], b.hd &amp;&amp; (I[c] = b.get(a));
                c = E ? N.apply(p.L[q], I) : N.apply(p, I);
                if (Ua(c, D)) {
                    O = !0;
                    break
                }
            }
        g.finish &amp;&amp; g.finish(d || h);
        return h ? O : n.wm()
    };
    $b = a;
    f.prototype.Ya = function() {
        var a, c, d;
        a = 0;
        for (c = this.T.length; a &lt; c; a++) d = this.T[a], d.Ya(), d.hd &amp;&amp; (this.uh = !0)
    };
    f.prototype.On = function() {
        var a = this.b,
            c, d, f = this.T,
            e = this.Ra;
        c = 0;
        for (d = f.length; c &lt; d; ++c) e[c] = f[c].get();
        return this.Eb.apply(a.Rd, e)
    };
    f.prototype.Nn = function() {
        var a = this.type,
            c = this.md,
            d = a.fe,
            f = this.uh,
            e = this.T,
            b = this.Ra,
            l = this.Eb,
            p = a.Aa().Vc(),
            a = a.N,
            g = -1 &lt; c,
            n, h, u, k, r, q;
        if (f)
            for (h = 0, k = e.length; h &lt; k; ++h) r = e[h], r.hd || (b[h] = r.get(0));
        else
            for (h = 0, k = e.length; h &lt; k; ++h) b[h] = e[h].get(0);
        n = 0;
        for (u = p.length; n &lt; u; ++n) {
            q = p[n];
            if (f)
                for (h = 0, k = e.length; h &lt; k; ++h) r = e[h], r.hd &amp;&amp; (b[h] = r.get(n));
            g ? (h = 0, a &amp;&amp; (h = q.type.sg[d]), l.apply(q.L[c + h], b)) : l.apply(q, b)
        }
        return !1
    };
    ac = f;
    var u = [],
        T = -1;
    d.prototype.Ya = function() {
        var a, c;
        if (11 === this.type) this.Df = this.b.Sp(this.Yi, this.Ec.parent);
        else if (13 === this.type)
            for (a = 0, c = this.$f.length; a &lt; c; a++) this.$f[a].Ya();
        this.Ed &amp;&amp; this.Ed.Ya()
    };
    d.prototype.ox = function(a) {
        this.hd || !a || a.Ba.Yk || (this.hd = !0)
    };
    d.prototype.Rr = function() {
        this.hd = !0
    };
    d.prototype.zw = function(a) {
        this.ze = a || 0;
        a = c();
        this.Ed.get(a);
        T--;
        return a.data
    };
    d.prototype.Aw = function(a) {
        this.ze = a || 0;
        a = c();
        this.Ed.get(a);
        T--;
        return C(a.data) ? a.data : ""
    };
    d.prototype.Gw = function() {
        return this.object
    };
    d.prototype.xw = function() {
        return this.rp
    };
    d.prototype.Ew = function(a) {
        this.ze = a || 0;
        a = c();
        this.Ed.get(a);
        T--;
        return a.wb() ? this.b.ie(a.data) : this.b.Ph(a.data)
    };
    d.prototype.Fw = function() {
        return this.xb
    };
    d.prototype.Dw = function() {
        return this.key
    };
    d.prototype.Cw = function() {
        return this.index
    };
    d.prototype.Bw = function(a) {
        a = a || 0;
        var c = this.ad.type,
            d = null,
            d = c.Aa(),
            e = d.Vc();
        if (e.length) d = e[a % e.length].type;
        else if (d.U.length) d = d.U[a % d.U.length].type;
        else if (c.d.length) d = c.d[a % c.d.length].type;
        else return 0;
        return this.index + d.Jj[c.fe]
    };
    d.prototype.yw = function() {
        return this.Df
    };
    d.prototype.ww = function() {
        return this.Gp
    };
    d.prototype.Hw = function() {
        var a, c;
        a = 0;
        for (c = this.$f.length; a &lt; c; a++) this.Xi[a] = this.$f[a].get();
        return this.Xi
    };
    bc = d;
    e.prototype.Ya = function() {
        this.X = b(this.X)
    };
    e.prototype.Zf = function(a) {
        var c = this.b.Pp();
        this.parent &amp;&amp; !this.gi &amp;&amp; c ? (this.Wf &gt;= c.length &amp;&amp; (c.length = this.Wf + 1), c[this.Wf] = a) : this.data = a
    };
    e.prototype.Sh = function() {
        var a = this.b.Pp();
        return !this.parent || this.gi || !a || this.ck ? this.data : this.Wf &gt;= a.length || "undefined" === typeof a[this.Wf] ? this.Cm : a[this.Wf]
    };
    e.prototype.eb = function() {
        !this.parent || this.gi || this.ck || this.Zf(this.Cm)
    };
    Wb = e;
    n.prototype.toString = function() {
        return "include:" + this.Wh.toString()
    };
    n.prototype.Ya = function() {
        this.Wh = this.b.am[this.Ow];
        this.sheet.Zp.add(this);
        this.X = b(this.X);
        for (var a = this.parent; a;) a.group &amp;&amp; a.tj.push(this), a = a.parent;
        this.os()
    };
    n.prototype.eb = function() {
        this.parent &amp;&amp; this.b.Fi(this.b.q);
        this.Wh.xm || this.Wh.eb(!0);
        this.parent &amp;&amp; this.b.qd(this.b.q)
    };
    n.prototype.os = function() {
        for (var a = this.parent; a;) {
            if (a.group &amp;&amp; !a.Ff) {
                this.Wa = !1;
                return
            }
            a = a.parent
        }
        this.Wa = !0
    };
    fc = n;
    p.prototype.reset = function(a) {
        this.jb = a;
        this.sc = this.hb = 0;
        G(this.as);
        this.Zl = this.Rf = !1
    };
    p.prototype.Jm = function() {
        return this.jb.Un ? !0 : this.hb &lt; this.jb.ib.length - 1 ? !!this.jb.X.length : !1
    };
    Vb = p
})();
(function() {
    function g(b, a) {
        this.ad = b;
        this.b = b.b;
        this.type = a[0];
        this.get = [this.Ov, this.Kv, this.Xv, this.$v, this.zv, this.Yv, this.Sv, this.Hv, this.Rv, this.Wv, this.Av, this.Vv, this.Iv, this.Tv, this.Pv, this.Qv, this.Lv, this.Mv, this.Gv, this.Zv, this.Uv, this.Nv, this.Fv, this.Jv][this.type];
        var f = null;
        this.oe = this.T = this.Ra = this.Eb = this.fl = this.second = this.first = this.value = null;
        this.md = -1;
        this.nd = null;
        this.ss = -1;
        this.Df = this.Yi = null;
        this.Zg = !1;
        switch (this.type) {
            case 0:
            case 1:
            case 2:
                this.value = a[1];
                break;
            case 3:
                this.first = new dc(b, a[1]);
                break;
            case 18:
                this.first = new dc(b, a[1]);
                this.second = new dc(b, a[2]);
                this.fl = new dc(b, a[3]);
                break;
            case 19:
                this.Eb = this.b.Ge(a[1]);
                this.Eb !== R.prototype.ea.random &amp;&amp; this.Eb !== R.prototype.ea.Iu || this.ad.Rr();
                this.Ra = [];
                this.T = [];
                3 === a.length ? (f = a[2], this.Ra.length = f.length + 1) : this.Ra.length = 1;
                break;
            case 20:
                this.oe = this.b.q[a[1]];
                this.md = -1;
                this.Eb = this.b.Ge(a[2]);
                this.Zg = a[3];
                sc &amp;&amp; this.Eb === sc.prototype.ea.zs &amp;&amp; this.ad.Rr();
                a[4] ? this.nd = new dc(b, a[4]) : this.nd = null;
                this.Ra = [];
                this.T = [];
                6 === a.length ? (f = a[5], this.Ra.length = f.length + 1) : this.Ra.length = 1;
                break;
            case 21:
                this.oe = this.b.q[a[1]];
                this.Zg = a[2];
                a[3] ? this.nd = new dc(b, a[3]) : this.nd = null;
                this.ss = a[4];
                break;
            case 22:
                this.oe = this.b.q[a[1]];
                this.oe.Sj(a[2]);
                this.md = this.oe.km(a[2]);
                this.Eb = this.b.Ge(a[3]);
                this.Zg = a[4];
                a[5] ? this.nd = new dc(b, a[5]) : this.nd = null;
                this.Ra = [];
                this.T = [];
                7 === a.length ? (f = a[6], this.Ra.length = f.length + 1) : this.Ra.length = 1;
                break;
            case 23:
                this.Yi = a[1], this.Df = null
        }
        this.ad.ox(this.oe);
        4 &lt;= this.type &amp;&amp; 17 &gt;= this.type &amp;&amp; (this.first = new dc(b, a[1]), this.second = new dc(b, a[2]));
        if (f) {
            var c, d;
            c = 0;
            for (d = f.length; c &lt; d; c++) this.T.push(new dc(b, f[c]))
        }
    }

    function h() {
        ++q;
        r.length === q &amp;&amp; r.push(new cc);
        return r[q]
    }

    function b(b, a, f) {
        var c, d;
        c = 0;
        for (d = b.length; c &lt; d; ++c) b[c].get(f), a[c + 1] = f.data
    }

    function k(b, a) {
        this.type = b || gc.fg;
        this.data = a || 0;
        this.Xf = null;
        this.type == gc.fg &amp;&amp; (this.data = Math.floor(this.data))
    }
    g.prototype.Ya = function() {
        23 === this.type &amp;&amp; (this.Df = this.ad.b.Sp(this.Yi, this.ad.Ec.parent));
        this.first &amp;&amp; this.first.Ya();
        this.second &amp;&amp; this.second.Ya();
        this.fl &amp;&amp; this.fl.Ya();
        this.nd &amp;&amp; this.nd.Ya();
        if (this.T) {
            var b, a;
            b = 0;
            for (a = this.T.length; b &lt; a; b++) this.T[b].Ya()
        }
    };
    var r = [],
        q = -1;
    g.prototype.Zv = function(l) {
        var a = this.T,
            f = this.Ra;
        f[0] = l;
        l = h();
        b(a, f, l);
        --q;
        this.Eb.apply(this.b.Rd, f)
    };
    g.prototype.Uv = function(l) {
        var a = this.oe,
            f = this.Ra,
            c = this.T,
            d = this.nd,
            e = this.Eb,
            g = this.ad.ze,
            p = a.Aa(),
            k = p.Vc();
        if (!k.length)
            if (p.U.length) k = p.U;
            else {
                this.Zg ? l.Za("") : l.la(0);
                return
            }
        f[0] = l;
        l.Xf = a;
        l = h();
        b(c, f, l);
        d &amp;&amp; (d.get(l), l.wb() &amp;&amp; (g = l.data, k = a.d));
        --q;
        a = k.length;
        if (g &gt;= a || g &lt;= -a) g %= a;
        0 &gt; g &amp;&amp; (g += a);
        e.apply(k[g], f)
    };
    g.prototype.Fv = function(l) {
        var a = this.oe,
            f = this.Ra,
            c = this.T,
            d = this.nd,
            e = this.md,
            g = this.Eb,
            p = this.ad.ze,
            k = a.Aa(),
            u = k.Vc();
        if (!u.length)
            if (k.U.length) u = k.U;
            else {
                this.Zg ? l.Za("") : l.la(0);
                return
            }
        f[0] = l;
        l.Xf = a;
        l = h();
        b(c, f, l);
        d &amp;&amp; (d.get(l), l.wb() &amp;&amp; (p = l.data, u = a.d));
        --q;
        c = u.length;
        if (p &gt;= c || p &lt;= -c) p %= c;
        0 &gt; p &amp;&amp; (p += c);
        p = u[p];
        u = 0;
        a.N &amp;&amp; (u = p.type.sg[a.fe]);
        g.apply(p.L[e + u], f)
    };
    g.prototype.Nv = function(b) {
        var a = this.nd,
            f = this.oe,
            c = this.ss,
            d = this.ad.ze,
            e = f.Aa(),
            g = e.Vc();
        if (!g.length)
            if (e.U.length) g = e.U;
            else {
                this.Zg ? b.Za("") : b.la(0);
                return
            }
        if (a) {
            e = h();
            a.get(e);
            if (e.wb()) {
                d = e.data;
                g = f.d;
                0 !== g.length &amp;&amp; (d %= g.length, 0 &gt; d &amp;&amp; (d += g.length));
                d = f.pm(d);
                f = d.mb[c];
                C(f) ? b.Za(f) : b.u(f);
                --q;
                return
            }--q
        }
        a = g.length;
        if (d &gt;= a || d &lt;= -a) d %= a;
        0 &gt; d &amp;&amp; (d += a);
        d = g[d];
        g = 0;
        f.N &amp;&amp; (g = d.type.Jj[f.fe]);
        f = d.mb[c + g];
        C(f) ? b.Za(f) : b.u(f)
    };
    g.prototype.Ov = function(b) {
        b.type = gc.fg;
        b.data = this.value
    };
    g.prototype.Kv = function(b) {
        b.type = gc.eg;
        b.data = this.value
    };
    g.prototype.Xv = function(b) {
        b.type = gc.String;
        b.data = this.value
    };
    g.prototype.$v = function(b) {
        this.first.get(b);
        b.wb() &amp;&amp; (b.data = -b.data)
    };
    g.prototype.zv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.wb() &amp;&amp; a.wb() &amp;&amp; (b.data += a.data, a.zg() &amp;&amp; b.Mg());
        --q
    };
    g.prototype.Yv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.wb() &amp;&amp; a.wb() &amp;&amp; (b.data -= a.data, a.zg() &amp;&amp; b.Mg());
        --q
    };
    g.prototype.Sv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.wb() &amp;&amp; a.wb() &amp;&amp; (b.data *= a.data, a.zg() &amp;&amp; b.Mg());
        --q
    };
    g.prototype.Hv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.wb() &amp;&amp; a.wb() &amp;&amp; (b.data /= a.data, b.Mg());
        --q
    };
    g.prototype.Rv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.wb() &amp;&amp; a.wb() &amp;&amp; (b.data %= a.data, a.zg() &amp;&amp; b.Mg());
        --q
    };
    g.prototype.Wv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.wb() &amp;&amp; a.wb() &amp;&amp; (b.data = Math.pow(b.data, a.data), a.zg() &amp;&amp; b.Mg());
        --q
    };
    g.prototype.Av = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        a.Cg() || b.Cg() ? this.Cv(b, a) : this.Bv(b, a);
        --q
    };
    g.prototype.Cv = function(b, a) {
        b.Cg() &amp;&amp; a.Cg() ? this.Ev(b, a) : this.Dv(b, a)
    };
    g.prototype.Ev = function(b, a) {
        b.data += a.data
    };
    g.prototype.Dv = function(b, a) {
        b.Cg() ? b.data += (Math.round(1E10 * a.data) / 1E10).toString() : b.Za(b.data.toString() + a.data)
    };
    g.prototype.Bv = function(b, a) {
        b.la(b.data &amp;&amp; a.data ? 1 : 0)
    };
    g.prototype.Vv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.wb() &amp;&amp; a.wb() &amp;&amp; (b.data || a.data ? b.la(1) : b.la(0));
        --q
    };
    g.prototype.Gv = function(b) {
        this.first.get(b);
        b.data ? this.second.get(b) : this.fl.get(b)
    };
    g.prototype.Iv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.la(b.data === a.data ? 1 : 0);
        --q
    };
    g.prototype.Tv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.la(b.data !== a.data ? 1 : 0);
        --q
    };
    g.prototype.Pv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.la(b.data &lt; a.data ? 1 : 0);
        --q
    };
    g.prototype.Qv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.la(b.data &lt;= a.data ? 1 : 0);
        --q
    };
    g.prototype.Lv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.la(b.data &gt; a.data ? 1 : 0);
        --q
    };
    g.prototype.Mv = function(b) {
        this.first.get(b);
        var a = h();
        this.second.get(a);
        b.la(b.data &gt;= a.data ? 1 : 0);
        --q
    };
    g.prototype.Jv = function(b) {
        var a = this.Df.Sh();
        ka(a) ? b.u(a) : b.Za(a)
    };
    dc = g;
    k.prototype.zg = function() {
        return this.type === gc.eg
    };
    k.prototype.wb = function() {
        return this.type === gc.fg || this.type === gc.eg
    };
    k.prototype.Cg = function() {
        return this.type === gc.String
    };
    k.prototype.Mg = function() {
        this.zg() || (this.Cg() &amp;&amp; (this.data = parseFloat(this.data)), this.type = gc.eg)
    };
    k.prototype.la = function(b) {
        this.type = gc.fg;
        this.data = Math.floor(b)
    };
    k.prototype.u = function(b) {
        this.type = gc.eg;
        this.data = b
    };
    k.prototype.Za = function(b) {
        this.type = gc.String;
        this.data = b
    };
    k.prototype.Wk = function(b) {
        ka(b) ? (this.type = gc.eg, this.data = b) : C(b) ? (this.type = gc.String, this.data = b.toString()) : (this.type = gc.fg, this.data = 0)
    };
    cc = k;
    gc = {
        fg: 0,
        eg: 1,
        String: 2
    }
})();

function R(g) {
    this.b = g;
    this.qc = []
}
R.prototype.tb = function() {
    var g = {},
        h, b, k, r, q, l, a, f;
    g.waits = [];
    var c = g.waits,
        d;
    h = 0;
    for (b = this.qc.length; h &lt; b; h++) {
        l = this.qc[h];
        d = {
            t: l.time,
            st: l.Xr,
            s: l.Tn,
            ev: l.rg.Y,
            sm: [],
            sols: {}
        };
        l.rg.jd[l.sc] &amp;&amp; (d.act = l.rg.jd[l.sc].Y);
        k = 0;
        for (r = l.X.length; k &lt; r; k++) d.sm.push(l.X[k].Y);
        for (q in l.ec)
            if (l.ec.hasOwnProperty(q)) {
                a = this.b.q[parseInt(q, 10)];
                f = {
                    sa: l.ec[q].Ok,
                    insts: []
                };
                k = 0;
                for (r = l.ec[q].je.length; k &lt; r; k++) f.insts.push(l.ec[q].je[k].uid);
                d.sols[a.Y.toString()] = f
            }
        c.push(d)
    }
    return g
};
R.prototype.Hb = function(g) {
    g = g.waits;
    var h, b, k, r, q, l, a, f, c, d, e;
    G(this.qc);
    h = 0;
    for (b = g.length; h &lt; b; h++)
        if (l = g[h], f = this.b.kp[l.ev.toString()]) {
            c = -1;
            k = 0;
            for (r = f.jd.length; k &lt; r; k++)
                if (f.jd[k].Y === l.act) {
                    c = k;
                    break
                }
            if (-1 !== c) {
                a = {
                    ec: {},
                    X: [],
                    Wl: !1
                };
                a.time = l.t;
                a.Xr = l.st || "";
                a.Tn = !!l.s;
                a.rg = f;
                a.sc = c;
                k = 0;
                for (r = l.sm.length; k &lt; r; k++)(f = this.b.Uj(l.sm[k])) &amp;&amp; a.X.push(f);
                for (q in l.sols)
                    if (l.sols.hasOwnProperty(q) &amp;&amp; (f = this.b.Uj(parseInt(q, 10)))) {
                        c = l.sols[q];
                        d = {
                            Ok: c.sa,
                            je: []
                        };
                        k = 0;
                        for (r = c.insts.length; k &lt; r; k++)(e = this.b.Qh(c.insts[k])) &amp;&amp; d.je.push(e);
                        a.ec[f.index.toString()] = d
                    }
                this.qc.push(a)
            }
        }
};
(function() {
    function g() {}

    function h() {}

    function b() {}
    var k = R.prototype;
    g.prototype.yo = function() {
        return !0
    };
    g.prototype.tt = function() {
        return !0
    };
    g.prototype.Es = function(b, a, f) {
        return hc(b, a, f)
    };
    g.prototype.Vs = function(b) {
        return b ? b.visible : !1
    };
    g.prototype.Pt = function(b) {
        var a = this.b.lb(),
            f = a.jb,
            c = a.Jm(),
            a = this.b.Fn();
        if (c)
            for (c = 0; c &lt; b &amp;&amp; !a.Ca; c++) this.b.hf(f.X), a.index = c, f.ve(), this.b.qd(f.X);
        else
            for (c = 0; c &lt; b &amp;&amp; !a.Ca; c++) a.index = c, f.ve();
        this.b.Bn();
        return !1
    };
    g.prototype.ku = function() {
        var b = this.b.lb(),
            a = b.jb,
            f = b.Jm(),
            b = this.b.Fn();
        if (f)
            for (f = 0; !b.Ca; f++) this.b.hf(a.X), b.index = f, a.ve() || (b.Ca = !0), this.b.qd(a.X);
        else
            for (f = 0; !b.Ca; f++) b.index = f, a.ve() || (b.Ca = !0);
        this.b.Bn();
        return !1
    };
    g.prototype.Is = function(b, a, f) {
        var c = this.b.lb(),
            d = c.jb,
            c = c.Jm();
        b = this.b.Fn(b);
        if (f &lt; a)
            if (c)
                for (; a &gt;= f &amp;&amp; !b.Ca; --a) this.b.hf(d.X), b.index = a, d.ve(), this.b.qd(d.X);
            else
                for (; a &gt;= f &amp;&amp; !b.Ca; --a) b.index = a, d.ve();
        else if (c)
            for (; a &lt;= f &amp;&amp; !b.Ca; ++a) this.b.hf(d.X), b.index = a, d.ve(), this.b.qd(d.X);
        else
            for (; a &lt;= f &amp;&amp; !b.Ca; ++a) b.index = a, d.ve();
        this.b.Bn();
        return !1
    };
    g.prototype.hu = function() {
        var b = this.b.Op().Ha;
        "undefined" === typeof b.TriggerOnce_lastTick &amp;&amp; (b.TriggerOnce_lastTick = -1);
        var a = b.TriggerOnce_lastTick,
            f = this.b.hh;
        b.TriggerOnce_lastTick = f;
        return this.b.Vm || a !== f - 1
    };
    g.prototype.Lt = function(b, a) {
        if (!b) return !1;
        var f = b.Aa(),
            c = f.Vc();
        a = ta(a);
        if (0 &gt; a || a &gt;= c.length) return !1;
        f.Vg(c[a]);
        b.Xd();
        return !0
    };
    g.prototype.Gs = function(b, a, f) {
        return hc(b.Sh(), a, f)
    };
    g.prototype.Rs = function(b) {
        return (b = this.b.vg[b.toLowerCase()]) &amp;&amp; b.Ff
    };
    g.prototype.to = function() {
        var b = this.b.lb();
        return b.Zl ? !1 : !b.Rf
    };
    g.prototype.zo = function() {
        return !0
    };
    g.prototype.ft = function() {
        return !0
    };
    g.prototype.wl = function() {
        return !0
    };
    g.prototype.Fo = function() {
        return !0
    };
    g.prototype.ut = function() {
        return !0
    };
    g.prototype.gj = function() {
        return !0
    };
    g.prototype.xs = function(b, a, f) {
        return Oa(M(b), M(f)) &lt;= M(a)
    };
    g.prototype.Qs = function(b, a) {
        return Ra(M(b), M(a))
    };
    g.prototype.Ps = function(b, a, f) {
        b = Ma(b);
        a = Ma(a);
        f = Ma(f);
        return Ra(f, a) ? Ra(b, a) &amp;&amp; !Ra(b, f) : !(!Ra(b, a) &amp;&amp; Ra(b, f))
    };
    k.e = new g;
    h.prototype.Ks = function(b) {
        this.b.Eg || this.b.vf || (this.b.vf = b)
    };
    h.prototype.Zt = function(b, a) {
        b &amp;&amp; b.visible !== a &amp;&amp; (b.visible = a, this.b.ca = !0)
    };
    h.prototype.bu = function(b, a) {
        0 === b.rl ? ka(a) ? b.Zf(a) : b.Zf(parseFloat(a)) : 1 === b.rl &amp;&amp; b.Zf(a.toString())
    };
    h.prototype.ws = function(b, a) {
        0 === b.rl ? ka(a) ? b.Zf(b.Sh() + a) : b.Zf(b.Sh() + parseFloat(a)) : 1 === b.rl &amp;&amp; b.Zf(b.Sh() + a.toString())
    };
    h.prototype.Wt = function(b, a) {
        var f = this.b.vg[b.toLowerCase()];
        if (f) switch (a) {
            case 0:
                f.Sk(!1);
                break;
            case 1:
                f.Sk(!0);
                break;
            case 2:
                f.Sk(!f.Ff)
        }
    };
    var r = [],
        q = [];
    h.prototype.ju = function(b) {
        if (!(0 &gt; b)) {
            var a, f, c, d = this.b.lb(),
                e;
            r.length ? e = r.pop() : e = {
                ec: {},
                X: []
            };
            e.Wl = !1;
            e.time = this.b.Gb.R + b;
            e.Xr = "";
            e.Tn = !1;
            e.rg = d.jb;
            e.sc = d.sc + 1;
            b = 0;
            for (a = this.b.q.length; b &lt; a; b++) c = this.b.q[b], f = c.Aa(), f.Ia &amp;&amp; -1 === d.jb.X.indexOf(c) || (e.X.push(c), c = void 0, q.length ? c = q.pop() : c = {
                je: []
            }, c.Ok = !1, c.Ok = f.Ia, Da(c.je, f.d), e.ec[b.toString()] = c);
            this.qc.push(e);
            return !0
        }
    };
    h.prototype.Ls = function(b) {
        if (!this.b.Eg &amp;&amp; !this.b.vf)
            for (var a in this.b.Jg)
                if (this.b.Jg.hasOwnProperty(a) &amp;&amp; ob(a, b)) {
                    this.b.vf = this.b.Jg[a];
                    break
                }
    };
    k.D = new h;
    b.prototype["int"] = function(b, a) {
        C(a) ? (b.la(parseInt(a, 10)), isNaN(b.data) &amp;&amp; (b.data = 0)) : b.la(a)
    };
    b.prototype["float"] = function(b, a) {
        C(a) ? (b.u(parseFloat(a)), isNaN(b.data) &amp;&amp; (b.data = 0)) : b.u(a)
    };
    b.prototype.random = function(b, a, f) {
        void 0 === f ? b.u(Math.random() * a) : b.u(Math.random() * (f - a) + a)
    };
    b.prototype.sqrt = function(b, a) {
        b.u(Math.sqrt(a))
    };
    b.prototype.abs = function(b, a) {
        b.u(Math.abs(a))
    };
    b.prototype.round = function(b, a) {
        b.la(Math.round(a))
    };
    b.prototype.floor = function(b, a) {
        b.la(Math.floor(a))
    };
    b.prototype.ceil = function(b, a) {
        b.la(Math.ceil(a))
    };
    b.prototype.sin = function(b, a) {
        b.u(Math.sin(M(a)))
    };
    b.prototype.cos = function(b, a) {
        b.u(Math.cos(M(a)))
    };
    b.prototype.tan = function(b, a) {
        b.u(Math.tan(M(a)))
    };
    b.prototype.asin = function(b, a) {
        b.u(Ia(Math.asin(a)))
    };
    b.prototype.acos = function(b, a) {
        b.u(Ia(Math.acos(a)))
    };
    b.prototype.atan = function(b, a) {
        b.u(Ia(Math.atan(a)))
    };
    b.prototype.exp = function(b, a) {
        b.u(Math.exp(a))
    };
    b.prototype.log10 = function(b, a) {
        b.u(Math.log(a) / Math.LN10)
    };
    b.prototype.max = function(b) {
        var a = arguments[1];
        "number" !== typeof a &amp;&amp; (a = 0);
        var f, c, d;
        f = 2;
        for (c = arguments.length; f &lt; c; f++) d = arguments[f], "number" === typeof d &amp;&amp; a &lt; d &amp;&amp; (a = d);
        b.u(a)
    };
    b.prototype.min = function(b) {
        var a = arguments[1];
        "number" !== typeof a &amp;&amp; (a = 0);
        var f, c, d;
        f = 2;
        for (c = arguments.length; f &lt; c; f++) d = arguments[f], "number" === typeof d &amp;&amp; a &gt; d &amp;&amp; (a = d);
        b.u(a)
    };
    b.prototype.Te = function(b) {
        b.u(this.b.Te)
    };
    b.prototype.ih = function(b) {
        b.u(this.b.ih)
    };
    b.prototype.time = function(b) {
        b.u(this.b.Gb.R)
    };
    b.prototype.hh = function(b) {
        b.la(this.b.hh)
    };
    b.prototype.tk = function(b) {
        b.la(this.b.tk)
    };
    b.prototype.gm = function(b) {
        b.la(this.b.gm)
    };
    b.prototype.lx = function(b, a) {
        var f, c;
        if (this.b.ti.length)
            if (a) {
                for (c = this.b.vi; 0 &lt;= c; --c)
                    if (f = this.b.ti[c], f.name === a) {
                        b.la(f.index);
                        return
                    }
                b.la(0)
            } else f = this.b.Qp(), b.la(f ? f.index : -1);
        else b.la(0)
    };
    b.prototype.g = function(b, a, f, c, d) {
        b.u(Ia(Na(a, f, c, d)))
    };
    b.prototype.left = function(b, a, f) {
        b.Za(C(a) ? a.substr(0, f) : "")
    };
    b.prototype.right = function(b, a, f) {
        b.Za(C(a) ? a.substr(a.length - f) : "")
    };
    b.prototype.uy = function(b, a, f, c) {
        C(a) &amp;&amp; C(c) ? (a = a.split(c), f = ta(f), 0 &gt; f || f &gt;= a.length ? b.Za("") : b.Za(a[f])) : b.Za("")
    };
    b.prototype.replace = function(b, a, f, c) {
        C(a) &amp;&amp; C(f) &amp;&amp; C(c) ? b.Za(a.replace(new RegExp(cb(f), "gi"), c)) : b.Za(C(a) ? a : "")
    };
    b.prototype.trim = function(b, a) {
        b.Za(C(a) ? a.trim() : "")
    };
    b.prototype.hx = function(b) {
        this.b.wa ? b.Za(this.b.wa.name) : b.Za("")
    };
    b.prototype.Iu = function(b) {
        var a = ta(Math.random() * (arguments.length - 1));
        b.Wk(arguments[a + 1])
    };
    b.prototype.Rl = function(b) {
        b.u(this.b.Rl / 1E3)
    };
    b.prototype.Kg = function(b) {
        b.u(this.b.Kg)
    };
    k.ea = new b;
    k.Vx = function() {
        var b, a, f, c, d, e, g = this.b.lb();
        b = 0;
        for (f = this.qc.length; b &lt; f; b++) {
            c = this.qc[b];
            if (-1 === c.time) {
                if (!c.Tn) continue
            } else if (c.time &gt; this.b.Gb.R) continue;
            g.jb = c.rg;
            g.sc = c.sc;
            g.hb = 0;
            for (a in c.ec) c.ec.hasOwnProperty(a) &amp;&amp; (d = this.b.q[parseInt(a, 10)].Aa(), e = c.ec[a], d.Ia = e.Ok, Da(d.d, e.je), d = e, G(d.je), q.push(d));
            c.rg.Tx();
            this.b.Pl(c.X);
            c.Wl = !0
        }
        a = b = 0;
        for (f = this.qc.length; b &lt; f; b++) c = this.qc[b], this.qc[a] = c, c.Wl ? (Xa(c.ec), G(c.X), r.push(c)) : a++;
        Ca(this.qc, a)
    }
})();
(function() {
    rb = function(g, b) {
        var k = g[1],
            r = g[3],
            q = g[4],
            l = g[5],
            a = g[6],
            f = g[7],
            c = g[8];
        b.e || (b.e = {});
        b.D || (b.D = {});
        b.ea || (b.ea = {});
        var d = b.e,
            e = b.D,
            n = b.ea;
        r &amp;&amp; (d.so = function(a, c) {
            return hc(this.x, a, c)
        }, d.Qy = function(a, c) {
            return hc(this.y, a, c)
        }, d.Vy = function() {
            var a = this.k;
            this.Cb();
            var c = this.Nb;
            return !(c.right &lt; a.ya || c.bottom &lt; a.za || c.left &gt; a.Ea || c.top &gt; a.Da)
        }, d.Wy = function() {
            this.Cb();
            var a = this.Nb,
                c = this.b.wa;
            return 0 &gt; a.right || 0 &gt; a.bottom || a.left &gt; c.width || a.top &gt; c.height
        }, d.iz = function(a, c, b) {
            var d = this.Aa(),
                e = d.Vc();
            if (!e.length) return !1;
            var f = e[0],
                g = f,
                n = Ta(f.x, f.y, c, b),
                h, k, l;
            h = 1;
            for (k = e.length; h &lt; k; h++)
                if (f = e[h], l = Ta(f.x, f.y, c, b), 0 === a &amp;&amp; l &lt; n || 1 === a &amp;&amp; l &gt; n) n = l, g = f;
            d.Vg(g);
            return !0
        }, e.Lo = function(a) {
            this.x !== a &amp;&amp; (this.x = a, this.Sa())
        }, e.Kz = function(a) {
            this.y !== a &amp;&amp; (this.y = a, this.Sa())
        }, e.au = function(a, c) {
            if (this.x !== a || this.y !== c) this.x = a, this.y = c, this.Sa()
        }, e.Ez = function(a, c) {
            var b = a.qw(this);
            if (b) {
                var d;
                b.om ? (d = b.om(c, !0), b = b.om(c, !1)) : (d = b.x, b = b.y);
                if (this.x !== d || this.y !== b) this.x = d, this.y = b, this.Sa()
            }
        }, e.bz = function(a) {
            0 !== a &amp;&amp; (this.x += Math.cos(this.g) * a, this.y += Math.sin(this.g) * a, this.Sa())
        }, e.az = function(a, c) {
            0 !== c &amp;&amp; (this.x += Math.cos(M(a)) * c, this.y += Math.sin(M(a)) * c, this.Sa())
        }, n.No = function(a) {
            a.u(this.x)
        }, n.Oo = function(a) {
            a.u(this.y)
        }, n.Te = function(a) {
            a.u(this.b.Oh(this))
        });
        q &amp;&amp; (d.Py = function(a, c) {
            return hc(this.width, a, c)
        }, d.Ly = function(a, c) {
            return hc(this.height, a, c)
        }, e.Jz = function(a) {
            this.width !== a &amp;&amp; (this.width = a, this.Sa())
        }, e.Az = function(a) {
            this.height !== a &amp;&amp; (this.height = a, this.Sa())
        }, e.Jo = function(a, c) {
            if (this.width !== a || this.height !== c) this.width = a, this.height = c, this.Sa()
        }, n.lu = function(a) {
            a.u(this.width)
        }, n.uo = function(a) {
            a.u(this.height)
        }, n.Iy = function(a) {
            this.Cb();
            a.u(this.Nb.left)
        }, n.Ky = function(a) {
            this.Cb();
            a.u(this.Nb.top)
        }, n.Jy = function(a) {
            this.Cb();
            a.u(this.Nb.right)
        }, n.Hy = function(a) {
            this.Cb();
            a.u(this.Nb.bottom)
        });
        l &amp;&amp; (d.xs = function(a, c) {
            return Oa(this.g, M(c)) &lt;= M(a)
        }, d.Qs = function(a) {
            return Ra(this.g, M(a))
        }, d.Ps = function(a, c) {
            var b = Ma(a),
                d = Ma(c),
                e = Ka(this.g);
            return Ra(d, b) ? Ra(e, b) &amp;&amp; !Ra(e, d) : !(!Ra(e, b) &amp;&amp; Ra(e, d))
        }, e.sz = function(a) {
            a = M(Ja(a));
            isNaN(a) || this.g === a || (this.g = a, this.Sa())
        }, e.oz = function(a) {
            0 === a || isNaN(a) || (this.g += M(a), this.g = Ka(this.g), this.Sa())
        }, e.pz = function(a) {
            0 === a || isNaN(a) || (this.g -= M(a), this.g = Ka(this.g), this.Sa())
        }, e.qz = function(a, c) {
            var b = Qa(this.g, M(c), M(a));
            isNaN(b) || this.g === b || (this.g = b, this.Sa())
        }, e.rz = function(a, c, b) {
            a = Qa(this.g, Math.atan2(b - this.y, c - this.x), M(a));
            isNaN(a) || this.g === a || (this.g = a, this.Sa())
        }, e.Gz = function(a, c) {
            var b = Math.atan2(c -
                this.y, a - this.x);
            isNaN(b) || this.g === b || (this.g = b, this.Sa())
        }, n.Gy = function(a) {
            a.u(La(this.g))
        });
        k || (d.My = function(a, c, b) {
            return hc(this.mb[a], c, b)
        }, d.Ty = function(a) {
            return this.mb[a]
        }, d.jz = function(a, c) {
            var b = this.Aa(),
                d = b.Vc();
            if (!d.length) return !1;
            var e = d[0],
                f = e,
                g = e.mb[c],
                n, h, k;
            n = 1;
            for (h = d.length; n &lt; h; n++)
                if (e = d[n], k = e.mb[c], 0 === a &amp;&amp; k &lt; g || 1 === a &amp;&amp; k &gt; g) g = k, f = e;
            b.Vg(f);
            return !0
        }, d.hz = function(a) {
            var c, b, d, e, f;
            if (this.b.Op().Gm) {
                f = this.Aa();
                if (f.Ia)
                    for (f.Ia = !1, G(f.d), G(f.U), d = this.d, c = 0, b = d.length; c &lt; b; c++) e = d[c], e.uid === a ? f.U.push(e) : f.d.push(e);
                else {
                    d = c = 0;
                    for (b = f.d.length; c &lt; b; c++) e = f.d[c], f.d[d] = e, e.uid === a ? f.U.push(e) : d++;
                    Ca(f.d, d)
                }
                this.Xd();
                return !!f.d.length
            }
            e = this.b.Qh(a);
            if (!e) return !1;
            f = this.Aa();
            if (!f.Ia &amp;&amp; -1 === f.d.indexOf(e)) return !1;
            if (this.N)
                for (a = e.type.Ja, c = 0, b = a.length; c &lt; b; c++) {
                    if (a[c] === this) return f.Vg(e), this.Xd(), !0
                } else if (e.type === this) return f.Vg(e), this.Xd(), !0;
            return !1
        }, d.cj = function() {
            return !0
        }, d.gt = function() {
            return !0
        }, e.Xt = function(a, c) {
            var b = this.mb;
            ka(b[a]) ? b[a] = ka(c) ? c : parseFloat(c) : C(b[a]) &amp;&amp; (b[a] = C(c) ? c : c.toString())
        }, e.Fy = function(a, c) {
            var b = this.mb;
            ka(b[a]) ? b[a] = ka(c) ? b[a] + c : b[a] + parseFloat(c) : C(b[a]) &amp;&amp; (b[a] = C(c) ? b[a] + c : b[a] + c.toString())
        }, e.Mz = function(a, c) {
            var b = this.mb;
            ka(b[a]) &amp;&amp; (b[a] = ka(c) ? b[a] - c : b[a] - parseFloat(c))
        }, e.uz = function(a, c) {
            this.mb[a] = c ? 1 : 0
        }, e.Oz = function(a) {
            this.mb[a] = 1 - this.mb[a]
        }, e.Sy = function() {
            this.b.Fe(this)
        }, e.Xs || (e.Xs = function(a) {
            var c, b;
            try {
                c = JSON.parse(a)
            } catch (d) {
                return
            }
            this.b.ik(this, c, !0);
            this.Vd &amp;&amp; this.Vd();
            if (this.L)
                for (a = 0, c = this.L.length; a &lt; c; ++a) b = this.L[a], b.Vd &amp;&amp; b.Vd()
        }), n.Ry = function(a) {
            var c = a.Xf.d.length,
                b, d, e;
            b = 0;
            for (d = this.b.Ad.length; b &lt; d; b++) e = this.b.Ad[b], a.Xf.N ? 0 &lt;= e.type.Ja.indexOf(a.Xf) &amp;&amp; c++ : e.type === a.Xf &amp;&amp; c++;
            a.la(c)
        }, n.lz = function(a) {
            a.la(a.Xf.Aa().Vc().length)
        }, n.Qz = function(a) {
            a.la(this.uid)
        }, n.Ns = function(a) {
            a.la(this.Th())
        }, n.ro || (n.ro = function(a) {
            a.Za(JSON.stringify(this.b.Pn(this, !0)))
        }));
        a &amp;&amp; (d.Yy = function() {
            return this.visible
        }, e.cu = function(a) {
            !a !== !this.visible &amp;&amp; (this.visible = !!a, this.b.ca = !0)
        }, d.Ny = function(a, c) {
            return hc(nb(100 * this.opacity), a, c)
        }, e.Cz = function(a) {
            a = a / 100;
            0 &gt; a ? a = 0 : 1 &lt; a &amp;&amp; (a = 1);
            a !== this.opacity &amp;&amp; (this.opacity = a, this.b.ca = !0)
        }, n.Opacity = function(a) {
            a.u(nb(100 * this.opacity))
        });
        f &amp;&amp; (d.Uy = function(a) {
            return a ? this.k === a : !1
        }, d.kz = function(a) {
            var c = this.Aa(),
                b = c.Vc();
            if (!b.length) return !1;
            var d = b[0],
                e = d,
                f, g;
            f = 1;
            for (g = b.length; f &lt; g; f++)
                if (d = b[f], 0 === a) {
                    if (d.k.index &gt; e.k.index || d.k.index === e.k.index &amp;&amp; d.Gd() &gt; e.Gd()) e = d
                } else if (d.k.index &lt; e.k.index || d.k.index === e.k.index &amp;&amp; d.Gd() &lt; e.Gd()) e = d;
            c.Vg(e);
            return !0
        }, e.ez = function() {
            var a = this.k,
                c = a.d;
            c.length &amp;&amp; c[c.length - 1] === this || (a.Yg(this, !1), a.wh(this, !1), this.b.ca = !0)
        }, e.cz = function() {
            var a = this.k,
                c = a.d;
            c.length &amp;&amp; c[0] === this || (a.Yg(this, !1), a.Jx(this), this.b.ca = !0)
        }, e.dz = function(a) {
            a &amp;&amp; a != this.k &amp;&amp; (this.k.Yg(this, !0), this.k = a, a.wh(this, !0), this.b.ca = !0)
        }, e.Sz = function(a, c) {
            var b = 0 === a;
            if (c) {
                var d = c.Tp(this);
                d &amp;&amp; d.uid !== this.uid &amp;&amp; (this.k.index !== d.k.index &amp;&amp; (this.k.Yg(this, !0), this.k = d.k, d.k.wh(this, !0)), this.k.qx(this, d, b), this.b.ca = !0)
            }
        }, n.$y = function(a) {
            a.la(this.k.Yq)
        }, n.Zy = function(a) {
            a.Za(this.k.name)
        }, n.Rz = function(a) {
            a.la(this.Gd())
        });
        c &amp;&amp; (e.xz = function(a, c) {
            if (this.b.B) {
                var b = this.type.nm(c);
                if (!(0 &gt; b)) {
                    var d = 1 === a;
                    this.Ie[b] !== d &amp;&amp; (this.Ie[b] = d, this.ud(), this.b.ca = !0)
                }
            }
        }, e.yz = function(a, c, b) {
            if (this.b.B) {
                var d = this.type.nm(a);
                0 &gt; d || (a = this.type.M[d], d = this.Pa[d], c = Math.floor(c), 0 &gt; c || c &gt;= d.length || (1 === this.b.B.vw(a.fb, c) &amp;&amp; (b /= 100), d[c] !== b &amp;&amp; (d[c] = b, a.Wa &amp;&amp; (this.b.ca = !0))))
            }
        })
    };
    Lb = function() {
        this.Ll = this.Gl = !0;
        this.type.cp = !0;
        this.b.ca = !0;
        var g, b, k = this.Hl;
        g = 0;
        for (b = k.length; g &lt; b; ++g) k[g](this);
        this.k.Oc &amp;&amp; this.Cb()
    };
    Mb = function(g) {
        g &amp;&amp; this.Hl.push(g)
    };
    Ob = function() {
        if (this.Gl) {
            var g = this.Nb,
                b = this.yh;
            g.set(this.x, this.y, this.x + this.width, this.y + this.height);
            g.offset(-this.lc * this.width, -this.mc * this.height);
            this.g ? (g.offset(-this.x, -this.y), b.Sr(g, this.g), b.offset(this.x, this.y), b.lp(g)) : b.Xk(g);
            g.normalize();
            this.Gl = !1;
            this.yy()
        }
    };
    var g = new wa(0, 0, 0, 0);
    Pb = function() {
        if (this.k.Oc) {
            var h = this.k.Lb,
                b = this.Nb;
            g.set(h.ic(b.left), h.jc(b.top), h.ic(b.right), h.jc(b.bottom));
            this.nc.Hh(g) || (this.nc.right &lt; this.nc.left ? h.update(this, null, g) : h.update(this, this.nc, g), this.nc.Ch(g), this.k.sd = !0)
        }
    };
    Sb = function() {
        if (this.Ll &amp;&amp; this.Ah) {
            this.Cb();
            var h = this.type.qp,
                b = this.Nb;
            g.set(h.ic(b.left), h.jc(b.top), h.ic(b.right), h.jc(b.bottom));
            this.Qe.Hh(g) || (this.Qe.right &lt; this.Qe.left ? h.update(this, null, g) : h.update(this, this.Qe, g), this.Qe.Ch(g), this.Ll = !1)
        }
    };
    Nb = function(g, b) {
        return this.Nb.Rc(g, b) &amp;&amp; this.yh.Rc(g, b) ? this.zd &amp;&amp; !this.zd.bx() ? (this.zd.Eu(this.width, this.height, this.g), this.zd.Rc(g -
            this.x, b - this.y)) : !0 : !1
    };
    Hb = function() {
        this.type.ml();
        return this.If
    };
    Tb = function() {
        this.k.ko();
        return this.wd
    };
    Ub = function() {
        G(this.ja);
        var g, b, k, r = !0;
        g = 0;
        for (b = this.Ie.length; g &lt; b; g++) this.Ie[g] &amp;&amp; (k = this.type.M[g], this.ja.push(k), k.rd || (r = !1));
        this.rs = !!this.ja.length;
        this.ye = r
    };
    Ib = function() {
        return "Inst" + this.yr
    };
    ub = function(g) {
        if (g &amp;&amp; g.Xc &amp;&amp; g.type != this) {
            var b, k, r;
            b = 0;
            for (k = g.siblings.length; b &lt; k; b++)
                if (r = g.siblings[b], r.type == this) return r
        }
        g = this.Aa().Vc();
        return g.length ? g[0] : null
    };
    vb = function(g) {
        var b = this.Aa().Vc();
        return b.length ? b[g.Th() % b.length] : null
    };
    tb = function() {
        if (this.eh &amp;&amp; !this.N) {
            var g, b;
            g = 0;
            for (b = this.d.length; g &lt; b; g++) this.d[g].If = g;
            var k = g,
                r = this.b.Ad;
            g = 0;
            for (b = r.length; g &lt; b; ++g) r[g].type === this &amp;&amp; (r[g].If = k++);
            this.eh = !1
        }
    };
    Fb = function(g) {
        if (g &lt; this.d.length) return this.d[g];
        g -= this.d.length;
        var b = this.b.Ad,
            k, r;
        k = 0;
        for (r = b.length; k &lt; r; ++k)
            if (b[k].type === this) {
                if (0 === g) return b[k];
                --g
            }
        return null
    };
    wb = function() {
        return this.Ae[this.Bd]
    };
    xb = function() {
        this.Bd++;
        this.Bd === this.Ae.length ? this.Ae.push(new sb(this)) : (this.Ae[this.Bd].Ia = !0, G(this.Ae[this.Bd].U))
    };
    zb = function() {
        this.Bd++;
        this.Bd === this.Ae.length &amp;&amp; this.Ae.push(new sb(this));
        var g = this.Ae[this.Bd],
            b = this.Ae[this.Bd - 1];
        b.Ia ? (g.Ia = !0, G(g.U)) : (g.Ia = !1, Da(g.d, b.d), Da(g.U, b.U))
    };
    Ab = function() {
        this.Bd--
    };
    Bb = function(g) {
        var b, k, r, q, l, a = 0;
        if (!this.N)
            for (b = 0, k = this.Ja.length; b &lt; k; b++)
                for (l = this.Ja[b], r = 0, q = l.Ma.length; r &lt; q; r++) {
                    if (g === l.Ma[r].name) return this.Ha.lastBehIndex = a, l.Ma[r];
                    a++
                }
        b = 0;
        for (k = this.Ma.length; b &lt; k; b++) {
            if (g === this.Ma[b].name) return this.Ha.lastBehIndex = a, this.Ma[b];
            a++
        }
        return null
    };
    Cb = function(g) {
        return this.Sj(g) ? this.Ha.lastBehIndex : -1
    };
    Db = function(g) {
        var b, k;
        b = 0;
        for (k = this.M.length; b &lt; k; b++)
            if (this.M[b].name === g) return b;
        return -1
    };
    Eb = function() {
        if (this.Xc &amp;&amp; !this.N) {
            var g, b, k, r, q, l, a;
            this.ml();
            l = this.Aa();
            var f = l.Ia,
                c = (g = this.b.lb()) &amp;&amp; g.jb &amp;&amp; g.jb.$c;
            g = 0;
            for (b = this.uc.length; g &lt; b; g++)
                if (q = this.uc[g], q !== this &amp;&amp; (q.ml(), a = q.Aa(), a.Ia = f, !f)) {
                    G(a.d);
                    k = 0;
                    for (r = l.d.length; k &lt; r; ++k) a.d[k] = q.pm(l.d[k].If);
                    if (c)
                        for (G(a.U), k = 0, r = l.U.length; k &lt; r; ++k) a.U[k] = q.pm(l.U[k].If)
                }
        }
    };
    Gb = function() {
        return "Type" + this.Y
    };
    hc = function(g, b, k) {
        if ("undefined" === typeof g || "undefined" === typeof k) return !1;
        switch (b) {
            case 0:
                return g === k;
            case 1:
                return g !== k;
            case 2:
                return g &lt; k;
            case 3:
                return g &lt;= k;
            case 4:
                return g &gt; k;
            case 5:
                return g &gt;= k;
            default:
                return !1
        }
    }
})();
var pc = {};

function tc(g) {
    this.b = g
}
(function() {
    function g() {
        return a.length ? a.pop() : []
    }

    function h(b) {
        var c, d;
        c = 0;
        for (d = b.length; c &lt; d; c++) Array.isArray(b[c]) &amp;&amp; h(b[c]);
        G(b);
        a.push(b)
    }

    function b() {}

    function k() {}

    function r() {}
    var q = tc.prototype;
    q.ma = function(a) {
        this.Ba = a;
        this.b = a.b
    };
    q.ma.prototype.J = function() {};
    q.Z = function(a) {
        this.type = a;
        this.b = a.b
    };
    var l = q.Z.prototype,
        a = [];
    Array.isArray || (Array.isArray = function(a) {
        return "[object Array]" === Object.prototype.toString.call(a)
    });
    l.J = function() {
        this.Pb = this.n[0];
        this.kc = this.n[1];
        this.vc = this.n[2];
        this.Cc || (this.Pc = g());
        var a = this.Pc;
        a.length = this.Pb;
        var c, b, e;
        for (c = 0; c &lt; this.Pb; c++)
            for (a[c] || (a[c] = g()), a[c].length = this.kc, b = 0; b &lt; this.kc; b++)
                for (a[c][b] || (a[c][b] = g()), a[c][b].length = this.vc, e = 0; e &lt; this.vc; e++) a[c][b][e] = 0;
        this.Ip = [];
        this.Jp = [];
        this.Kp = [];
        this.ge = -1
    };
    l.qe = function() {
        var a;
        for (a = 0; a &lt; this.Pb; a++) h(this.Pc[a]);
        G(this.Pc)
    };
    l.Fl = function(a, c, b) {
        a = Math.floor(a);
        c = Math.floor(c);
        b = Math.floor(b);
        return isNaN(a) || 0 &gt; a || a &gt; this.Pb - 1 || isNaN(c) || 0 &gt; c || c &gt; this.kc - 1 || isNaN(b) || 0 &gt; b || b &gt; this.vc -
            1 ? 0 : this.Pc[a][c][b]
    };
    l.set = function(a, c, b, e) {
        a = Math.floor(a);
        c = Math.floor(c);
        b = Math.floor(b);
        isNaN(a) || 0 &gt; a || a &gt; this.Pb - 1 || isNaN(c) || 0 &gt; c || c &gt; this.kc - 1 || isNaN(b) || 0 &gt; b || b &gt; this.vc - 1 || (this.Pc[a][c][b] = e)
    };
    l.jw = function() {
        return JSON.stringify({
            c2array: !0,
            size: [this.Pb, this.kc, this.vc],
            data: this.Pc
        })
    };
    l.tb = function() {
        return {
            size: [this.Pb, this.kc, this.vc],
            data: this.Pc
        }
    };
    l.Hb = function(a) {
        var c = a.size;
        this.Pb = c[0];
        this.kc = c[1];
        this.vc = c[2];
        this.Pc = a.data
    };
    l.xe = function(a, c, b) {
        0 &gt; a &amp;&amp; (a = 0);
        0 &gt; c &amp;&amp; (c = 0);
        0 &gt; b &amp;&amp; (b = 0);
        if (this.Pb !== a || this.kc !== c || this.vc !== b) {
            this.Pb = a;
            this.kc = c;
            this.vc = b;
            var e, n, k = this.Pc;
            k.length = a;
            for (a = 0; a &lt; this.Pb; a++)
                for (ja(k[a]) &amp;&amp; (k[a] = g()), k[a].length = c, e = 0; e &lt; this.kc; e++)
                    for (ja(k[a][e]) &amp;&amp; (k[a][e] = g()), k[a][e].length = b, n = 0; n &lt; this.vc; n++) ja(k[a][e][n]) &amp;&amp; (k[a][e][n] = 0)
        }
    };
    l.zj = function() {
        return 0 &lt;= this.ge &amp;&amp; this.ge &lt; this.Ip.length ? this.Ip[this.ge] : 0
    };
    l.Xl = function() {
        return 0 &lt;= this.ge &amp;&amp; this.ge &lt; this.Jp.length ? this.Jp[this.ge] : 0
    };
    l.Zz = function() {
        return 0 &lt;= this.ge &amp;&amp; this.ge &lt; this.Kp.length ? this.Kp[this.ge] : 0
    };
    b.prototype.so = function(a, c, b) {
        return hc(this.Fl(a, 0, 0), c, b)
    };
    l.rf = function(a) {
        this.b.hf(a.X);
        a.ve();
        this.b.qd(a.X)
    };
    q.e = new b;
    k.prototype.Bs = function() {
        var a, c, b;
        for (a = 0; a &lt; this.Pb; a++)
            for (c = 0; c &lt; this.kc; c++)
                for (b = 0; b &lt; this.vc; b++) this.Pc[a][c][b] = 0
    };
    k.prototype.Jo = function(a, c, b) {
        this.xe(a, c, b)
    };
    k.prototype.Lo = function(a, c) {
        this.set(a, 0, 0, c)
    };
    k.prototype.Qt = function(a) {
        var c = 0,
            b = 0,
            e = this.Pc;
        if (0 !== this.Pb &amp;&amp; 0 !== this.kc &amp;&amp; 0 !== this.vc) switch (a) {
            case 0:
                e.reverse();
                break;
            case 1:
                for (; c &lt; this.Pb; c++) e[c].reverse();
                break;
            case 2:
                for (; c &lt; this.Pb; c++)
                    for (b = 0; b &lt; this.kc; b++) e[c][b].reverse();
                this.vc--
        }
    };
    k.prototype.Us = function(a) {
        var c;
        try {
            c = JSON.parse(a)
        } catch (b) {
            return
        }
        c.c2array &amp;&amp; (a = c.size, this.Pb = a[0], this.kc = a[1], this.vc = a[2], this.Pc = c.data)
    };
    q.D = new k;
    r.prototype.ys = function(a, c, b, e) {
        a.Wk(this.Fl(c, b || 0, e || 0))
    };
    r.prototype.lu = function(a) {
        a.la(this.Pb)
    };
    r.prototype.uo = function(a) {
        a.la(this.kc)
    };
    r.prototype.ro = function(a) {
        a.Za(this.jw())
    };
    q.ea = new r
})();

function uc(g) {
    this.b = g
}
(function() {
    function g(a) {
        a = Math.pow(10, a / 20);
        isFinite(a) || (a = 0);
        0 &gt; a &amp;&amp; (a = 0);
        1 &lt; a &amp;&amp; (a = 1);
        return a
    }

    function h(a) {
        0 &gt; a &amp;&amp; (a = 0);
        1 &lt; a &amp;&amp; (a = 1);
        return Math.log(a) / Math.log(10) * 20
    }

    function b(a) {
        a = a.toLowerCase();
        return ba.hasOwnProperty(a) &amp;&amp; ba[a].length ? ba[a][0].Gc() : w.destination
    }

    function k() {
        return w.createGain ? w.createGain() : w.createGainNode()
    }

    function r(a) {
        return w.createDelay ? w.createDelay(a) : w.createDelayNode(a)
    }

    function q(a, c) {
        a.start ? a.start(c || 0) : a.noteOn(c || 0)
    }

    function l(a, c, b, d) {
        a.start ? a.start(d || 0, c) : a.noteGrainOn(d || 0, c, b - c)
    }

    function a(a) {
        try {
            a.stop ? a.stop(0) : a.noteOff(0)
        } catch (c) {}
    }

    function f(a, c, b, d, e, f) {
        this.type = "filter";
        this.Kb = [a, c, b, d, e, f];
        this.ba = k();
        this.K = k();
        this.K.gain.value = f;
        this.I = k();
        this.I.gain.value = 1 - f;
        this.$a = w.createBiquadFilter();
        this.$a.type = "number" === typeof this.$a.type ? a : dd[a];
        this.$a.frequency.value = c;
        this.$a.detune &amp;&amp; (this.$a.detune.value = b);
        this.$a.Q.value = d;
        this.$a.gain.value = e;
        this.ba.connect(this.$a);
        this.ba.connect(this.I);
        this.$a.connect(this.K)
    }

    function c(a, c, b) {
        this.type = "delay";
        this.Kb = [a, c, b];
        this.ba = k();
        this.K = k();
        this.K.gain.value = b;
        this.I = k();
        this.I.gain.value = 1 - b;
        this.wi = k();
        this.Uc = r(a);
        this.Uc.delayTime.value = a;
        this.Bj = k();
        this.Bj.gain.value = c;
        this.ba.connect(this.wi);
        this.ba.connect(this.I);
        this.wi.connect(this.K);
        this.wi.connect(this.Uc);
        this.Uc.connect(this.Bj);
        this.Bj.connect(this.wi)
    }

    function d(a, c, b, d) {
        this.type = "convolve";
        this.Kb = [c, b, d];
        this.ba = k();
        this.K = k();
        this.K.gain.value = b;
        this.I = k();
        this.I.gain.value = 1 - b;
        this.wf = w.createConvolver();
        a &amp;&amp; (this.wf.normalize = c, this.wf.buffer = a);
        this.ba.connect(this.wf);
        this.ba.connect(this.I);
        this.wf.connect(this.K)
    }

    function e(a, c, b, d, e) {
        this.type = "flanger";
        this.Kb = [a, c, b, d, e];
        this.ba = k();
        this.I = k();
        this.I.gain.value = 1 - e / 2;
        this.K = k();
        this.K.gain.value = e / 2;
        this.Kj = k();
        this.Kj.gain.value = d;
        this.Uc = r(a + c);
        this.Uc.delayTime.value = a;
        this.zb = w.createOscillator();
        this.zb.frequency.value = b;
        this.Ac = k();
        this.Ac.gain.value = c;
        this.ba.connect(this.Uc);
        this.ba.connect(this.I);
        this.Uc.connect(this.K);
        this.Uc.connect(this.Kj);
        this.Kj.connect(this.Uc);
        this.zb.connect(this.Ac);
        this.Ac.connect(this.Uc.delayTime);
        q(this.zb)
    }

    function n(a, c, b, d, e, f) {
        this.type = "phaser";
        this.Kb = [a, c, b, d, e, f];
        this.ba = k();
        this.I = k();
        this.I.gain.value = 1 - f / 2;
        this.K = k();
        this.K.gain.value = f / 2;
        this.$a = w.createBiquadFilter();
        this.$a.type = "number" === typeof this.$a.type ? 7 : "allpass";
        this.$a.frequency.value = a;
        this.$a.detune &amp;&amp; (this.$a.detune.value = c);
        this.$a.Q.value = b;
        this.zb = w.createOscillator();
        this.zb.frequency.value = e;
        this.Ac = k();
        this.Ac.gain.value = d;
        this.ba.connect(this.$a);
        this.ba.connect(this.I);
        this.$a.connect(this.K);
        this.zb.connect(this.Ac);
        this.Ac.connect(this.$a.frequency);
        q(this.zb)
    }

    function p(a) {
        this.type = "gain";
        this.Kb = [a];
        this.ga = k();
        this.ga.gain.value = a
    }

    function E(a, c) {
        this.type = "tremolo";
        this.Kb = [a, c];
        this.ga = k();
        this.ga.gain.value = 1 - c / 2;
        this.zb = w.createOscillator();
        this.zb.frequency.value = a;
        this.Ac = k();
        this.Ac.gain.value = c / 2;
        this.zb.connect(this.Ac);
        this.Ac.connect(this.ga.gain);
        q(this.zb)
    }

    function u(a, c) {
        this.type = "ringmod";
        this.Kb = [a, c];
        this.ba = k();
        this.K = k();
        this.K.gain.value = c;
        this.I = k();
        this.I.gain.value = 1 - c;
        this.Ji = k();
        this.Ji.gain.value = 0;
        this.zb = w.createOscillator();
        this.zb.frequency.value = a;
        this.zb.connect(this.Ji.gain);
        q(this.zb);
        this.ba.connect(this.Ji);
        this.ba.connect(this.I);
        this.Ji.connect(this.K)
    }

    function T(a, c, b, d, e) {
        this.type = "distortion";
        this.Kb = [a, c, b, d, e];
        this.ba = k();
        this.Hk = k();
        this.Gk = k();
        this.by(b, Math.pow(10, d / 20));
        this.K = k();
        this.K.gain.value = e;
        this.I = k();
        this.I.gain.value = 1 - e;
        this.tl = w.createWaveShaper();
        this.yj = new Float32Array(65536);
        this.hw(a, c);
        this.tl.yj = this.yj;
        this.ba.connect(this.Hk);
        this.ba.connect(this.I);
        this.Hk.connect(this.tl);
        this.tl.connect(this.Gk);
        this.Gk.connect(this.K)
    }

    function m(a, c, b, d, e) {
        this.type = "compressor";
        this.Kb = [a, c, b, d, e];
        this.ga = w.createDynamicsCompressor();
        try {
            this.ga.threshold.value = a, this.ga.knee.value = c, this.ga.ratio.value = b, this.ga.attack.value = d, this.ga.release.value = e
        } catch (f) {}
    }

    function x(a, c) {
        this.type = "analyser";
        this.Kb = [a, c];
        this.ga = w.createAnalyser();
        this.ga.fftSize = a;
        this.ga.smoothingTimeConstant = c;
        this.fw = new Float32Array(this.ga.frequencyBinCount);
        this.Vr = new Uint8Array(a);
        this.Ci = 0
    }

    function aa() {
        this.ta = null;
        this.kk = 0
    }

    function z(a, c) {
        this.src = a;
        this.V = F;
        this.Yc = c;
        this.mj = !1;
        var b = this;
        this.cn = this.vn = null;
        this.Ug = [];
        this.Pk = 0;
        this.oo = this.Ij = this.$r = this.Bk = !1;
        1 === F &amp;&amp; c &amp;&amp; !gb &amp;&amp; (this.V = 0, this.vn = k());
        this.Yd = this.ka = null;
        var d;
        switch (this.V) {
            case 0:
                this.ka = new Audio;
                this.ka.crossOrigin = "anonymous";
                this.ka.addEventListener("canplaythrough", function() {
                    b.oo = !0
                });
                1 === F &amp;&amp; w.createMediaElementSource &amp;&amp; !/wiiu/i.test(navigator.userAgent) &amp;&amp; (this.$r = !0, this.ka.addEventListener("canplay", function() {
                    b.cn || (b.cn = w.createMediaElementSource(b.ka), b.cn.connect(b.vn))
                }));
                this.ka.autoplay = !1;
                this.ka.kA = "auto";
                this.ka.src = a;
                break;
            case 1:
                t.di ? t.Fp(a, function(a) {
                    b.Yd = a;
                    b.wp()
                }, function() {
                    b.Ij = !0
                }) : (d = new XMLHttpRequest, d.open("GET", a, !0), d.responseType = "arraybuffer", d.onload = function() {
                    b.Yd = d.response;
                    b.wp()
                }, d.onerror = function() {
                    b.Ij = !0
                }, d.send());
                break;
            case 2:
                this.ka = !0;
                break;
            case 3:
                this.ka = !0
        }
    }

    function v(a, c) {
        var d = this;
        this.tag = c;
        this.Ca = this.Fd = !0;
        this.src = a.src;
        this.buffer = a;
        this.V = F;
        this.Yc = a.Yc;
        this.playbackRate = 1;
        this.wg = !0;
        this.yc = this.Mc = !1;
        this.oc = 0;
        this.fi = this.Ag = this.Kd = !1;
        this.volume = 1;
        this.tn = function(a) {
            if (!d.yc &amp;&amp; !d.Mc) {
                var c = this;
                c || (c = a.target);
                c === d.lj &amp;&amp; (d.wg = !0, d.Ca = !0, Q = d.tag, t.trigger(uc.prototype.e.dj, P))
            }
        };
        this.lj = null;
        this.yg = 1 === O &amp;&amp; !this.Yc || 2 === O;
        this.Og = 1;
        this.startTime = this.yg ? t.Gb.R : t.De.R;
        this.cb = this.kb = null;
        this.Ld = !1;
        this.Ib = null;
        this.nr = this.mr = this.lr = this.kr = this.pr = this.or = 0;
        this.j = null;
        var e = !1;
        1 !== this.V || 0 !== this.buffer.V || this.buffer.$r || (this.V = 0);
        switch (this.V) {
            case 0:
                this.Yc ? (this.j = a.ka, e = !a.mj, a.mj = !0) : (this.j = new Audio, this.j.crossOrigin = "anonymous", this.j.autoplay = !1, this.j.src = a.ka.src, e = !0);
                e &amp;&amp; this.j.addEventListener("ended", function() {
                    Q = d.tag;
                    d.Ca = !0;
                    t.trigger(uc.prototype.e.dj, P)
                });
                break;
            case 1:
                this.kb = k();
                this.kb.connect(b(c));
                1 === this.buffer.V ? a.ka &amp;&amp; (this.j = w.createBufferSource(), this.j.buffer = a.ka, this.j.connect(this.kb)) : (this.j = this.buffer.ka, this.buffer.vn.connect(this.kb), this.buffer.mj || (this.buffer.mj = !0, this.buffer.ka.addEventListener("ended", function() {
                    Q = d.tag;
                    d.Ca = !0;
                    t.trigger(uc.prototype.e.dj, P)
                })));
                break;
            case 2:
                this.j = new window.Media(V + this.src, null, null, function(a) {
                    a === window.Media.MEDIA_STOPPED &amp;&amp; (d.wg = !0, d.Ca = !0, Q = d.tag, t.trigger(uc.prototype.e.dj, P))
                });
                break;
            case 3:
                this.j = !0
        }
    }

    function B(a, c) {
        var b = a.Nf() ? 1 : 0,
            d = c.Nf() ? 1 : 0;
        return b === d ? 0 : b &lt; d ? 1 : -1
    }

    function A(a, c) {
        G(xa);
        if (a.length) {
            var b, d, e;
            b = 0;
            for (d = D.length; b &lt; d; b++) e = D[b], ob(a, e.tag) &amp;&amp; xa.push(e);
            c &amp;&amp; xa.sort(B)
        } else N &amp;&amp; !N.Hf() &amp;&amp; (G(xa), xa[0] = N)
    }

    function y(a, c) {
        ba.hasOwnProperty(a) ? ba[a].push(c) : ba[a] = [c];
        var b, d, e, f, g = w.destination;
        if (ba.hasOwnProperty(a) &amp;&amp; (e = ba[a], e.length))
            for (g = e[0].Gc(), b = 0, d = e.length; b &lt; d; b++) f = e[b], b + 1 === d ? f.Qc(w.destination) : f.Qc(e[b + 1].Gc());
        A(a);
        b = 0;
        for (d = xa.length; b &lt; d; b++) xa[b].Nx(g);
        Va &amp;&amp; Qb === a &amp;&amp; (Va.disconnect(), Va.connect(g))
    }

    function H() {}

    function K() {}

    function X() {}
    var L = uc.prototype;
    L.ma = function(a) {
        this.Ba = a;
        this.b = a.b
    };
    L.ma.prototype.J = function() {};
    var t = null,
        P = null,
        Q = "",
        V = "",
        F = 0,
        w = null,
        I = [],
        D = [],
        N = null,
        J = !1,
        O = 0,
        S = !1,
        ga = 1,
        U = 0,
        pa = 0,
        qa = !1,
        Pa = 1,
        Rb = 1,
        Qc = 10,
        Rc = 1E4,
        Sc = 1,
        Va = null,
        Qb = "",
        hb = !1,
        ib = [],
        gb = !1,
        ba = {},
        dd = "lowpass highpass bandpass lowshelf highshelf peaking notch allpass".split(" ");
    f.prototype.Qc = function(a) {
        this.K.disconnect();
        this.K.connect(a);
        this.I.disconnect();
        this.I.connect(a)
    };
    f.prototype.remove = function() {
        this.ba.disconnect();
        this.$a.disconnect();
        this.K.disconnect();
        this.I.disconnect()
    };
    f.prototype.Gc = function() {
        return this.ba
    };
    c.prototype.Qc = function(a) {
        this.K.disconnect();
        this.K.connect(a);
        this.I.disconnect();
        this.I.connect(a)
    };
    c.prototype.remove = function() {
        this.ba.disconnect();
        this.wi.disconnect();
        this.Uc.disconnect();
        this.Bj.disconnect();
        this.K.disconnect();
        this.I.disconnect()
    };
    c.prototype.Gc = function() {
        return this.ba
    };
    d.prototype.Qc = function(a) {
        this.K.disconnect();
        this.K.connect(a);
        this.I.disconnect();
        this.I.connect(a)
    };
    d.prototype.remove = function() {
        this.ba.disconnect();
        this.wf.disconnect();
        this.K.disconnect();
        this.I.disconnect()
    };
    d.prototype.Gc = function() {
        return this.ba
    };
    e.prototype.Qc = function(a) {
        this.I.disconnect();
        this.I.connect(a);
        this.K.disconnect();
        this.K.connect(a)
    };
    e.prototype.remove = function() {
        this.ba.disconnect();
        this.Uc.disconnect();
        this.zb.disconnect();
        this.Ac.disconnect();
        this.I.disconnect();
        this.K.disconnect();
        this.Kj.disconnect()
    };
    e.prototype.Gc = function() {
        return this.ba
    };
    n.prototype.Qc = function(a) {
        this.I.disconnect();
        this.I.connect(a);
        this.K.disconnect();
        this.K.connect(a)
    };
    n.prototype.remove = function() {
        this.ba.disconnect();
        this.$a.disconnect();
        this.zb.disconnect();
        this.Ac.disconnect();
        this.I.disconnect();
        this.K.disconnect()
    };
    n.prototype.Gc = function() {
        return this.ba
    };
    p.prototype.Qc = function(a) {
        this.ga.disconnect();
        this.ga.connect(a)
    };
    p.prototype.remove = function() {
        this.ga.disconnect()
    };
    p.prototype.Gc = function() {
        return this.ga
    };
    E.prototype.Qc = function(a) {
        this.ga.disconnect();
        this.ga.connect(a)
    };
    E.prototype.remove = function() {
        this.zb.disconnect();
        this.Ac.disconnect();
        this.ga.disconnect()
    };
    E.prototype.Gc = function() {
        return this.ga
    };
    u.prototype.Qc = function(a) {
        this.K.disconnect();
        this.K.connect(a);
        this.I.disconnect();
        this.I.connect(a)
    };
    u.prototype.remove = function() {
        this.zb.disconnect();
        this.Ji.disconnect();
        this.ba.disconnect();
        this.K.disconnect();
        this.I.disconnect()
    };
    u.prototype.Gc = function() {
        return this.ba
    };
    T.prototype.by = function(a, c) {
        .01 &gt; a &amp;&amp; (a = .01);
        this.Hk.gain.value = a;
        this.Gk.gain.value = Math.pow(1 / a, .6) * c
    };
    T.prototype.shape = function(a, c, b) {
        var d = 1.05 * b * c - c;
        b = 0 &gt; a ? -1 : 1;
        a = 0 &gt; a ? -a : a;
        c = a &lt; c ? a : c + d * (1 - Math.exp(-(1 / d) * (a - c)));
        return c * b
    };
    T.prototype.hw = function(a, c) {
        for (var b = Math.pow(10, a / 20), d = Math.pow(10, c / 20), e = 0, f = 0; 32768 &gt; f; ++f) e = f / 32768, e = this.shape(e, b, d), this.yj[32768 + f] = e, this.yj[32768 - f - 1] = -e
    };
    T.prototype.Qc = function(a) {
        this.K.disconnect();
        this.K.connect(a);
        this.I.disconnect();
        this.I.connect(a)
    };
    T.prototype.remove = function() {
        this.ba.disconnect();
        this.Hk.disconnect();
        this.tl.disconnect();
        this.Gk.disconnect();
        this.K.disconnect();
        this.I.disconnect()
    };
    T.prototype.Gc = function() {
        return this.ba
    };
    m.prototype.Qc = function(a) {
        this.ga.disconnect();
        this.ga.connect(a)
    };
    m.prototype.remove = function() {
        this.ga.disconnect()
    };
    m.prototype.Gc = function() {
        return this.ga
    };
    x.prototype.ub = function() {
        this.ga.getFloatFrequencyData(this.fw);
        this.ga.getByteTimeDomainData(this.Vr);
        for (var a = this.ga.fftSize, c = 0, b = this.Ci = 0, d = 0; c &lt; a; c++) d = (this.Vr[c] - 128) / 128, 0 &gt; d &amp;&amp; (d = -d), this.Ci &lt; d &amp;&amp; (this.Ci = d), b += d * d;
        this.Ci = h(this.Ci);
        h(Math.sqrt(b / a))
    };
    x.prototype.Qc = function(a) {
        this.ga.disconnect();
        this.ga.connect(a)
    };
    x.prototype.remove = function() {
        this.ga.disconnect()
    };
    x.prototype.Gc = function() {
        return this.ga
    };
    aa.prototype.Ki = function(a) {
        this.ta = a
    };
    aa.prototype.Yj = function() {
        return !!this.ta
    };
    aa.prototype.ub = function() {};
    var yb = !1;
    z.prototype.Ox = function() {
        var a, c, b, d;
        b = a = 0;
        for (c = D.length; a &lt; c; ++a) d = D[a], D[b] = d, d.buffer === this ? d.stop() : ++b;
        D.length = b;
        this.Yd = this.ka = null
    };
    z.prototype.wp = function() {
        if (!this.ka &amp;&amp; this.Yd) {
            var a = this;
            if (w.decodeAudioData) w.decodeAudioData(this.Yd, function(c) {
                a.ka = c;
                a.Yd = null;
                var b, d, e;
                if (ja(a.Dk) || S) ja(a.uj) || (b = a.uj.wf, b.normalize = a.Xq, b.buffer = c);
                else if (a.Ug.length) {
                    b = 0;
                    for (d = a.Ug.length; b &lt; d; b++) {
                        c = a.Ug[b];
                        e = new v(a, c.cs);
                        e.Tk(!0);
                        if ("undefined" !== typeof c.Zq &amp;&amp; (c.ta = t.Qh(c.Zq), !c.ta)) continue;
                        if (c.ta) {
                            var f = Sa(c.ta.x, c.ta.y, -c.ta.k.Fb(), U, pa, !0),
                                g = Sa(c.ta.x, c.ta.y, -c.ta.k.Fb(), U, pa, !1);
                            e.Rn(f, g, Ia(c.ta.g - c.ta.k.Fb()), c.zm, c.gn, c.kn);
                            e.Ki(c.ta)
                        } else e.Rn(c.x, c.y, c.qu, c.zm, c.gn, c.kn);
                        e.play(a.$m, a.no, a.Pk);
                        a.Bk &amp;&amp; e.pause();
                        D.push(e)
                    }
                    G(a.Ug)
                } else e = new v(a, a.Dk || ""), e.play(a.$m, a.no, a.Pk), a.Bk &amp;&amp; e.pause(), D.push(e)
            }, function() {
                a.Ij = !0
            });
            else if (this.ka = w.createBuffer(this.Yd, !1), this.Yd = null, ja(this.Dk) || S) ja(this.uj) || (c = this.uj.wf, c.normalize = this.Xq, c.buffer = this.ka);
            else {
                var c = new v(this, this.Dk);
                c.play(this.$m, this.no, this.Pk);
                this.Bk &amp;&amp; c.pause();
                D.push(c)
            }
        }
    };
    z.prototype.gq = function() {
        switch (this.V) {
            case 0:
                var a = 4 &lt;= this.ka.readyState;
                a &amp;&amp; (this.oo = !0);
                return a || this.oo;
            case 1:
                return !!this.Yd || !!this.ka;
            case 2:
                return !0;
            case 3:
                return !0
        }
        return !1
    };
    z.prototype.Vw = function() {
        switch (this.V) {
            case 0:
                return this.gq();
            case 1:
                return !!this.ka;
            case 2:
                return !0;
            case 3:
                return !0
        }
        return !1
    };
    z.prototype.Mw = function() {
        switch (this.V) {
            case 0:
                return !!this.ka.error;
            case 1:
                return this.Ij
        }
        return !1
    };
    v.prototype.Hf = function() {
        switch (this.V) {
            case 0:
                return this.j.ended;
            case 1:
                return 1 === this.buffer.V ? !this.Fd &amp;&amp; !this.Ca &amp;&amp; this.j.loop || this.yc ? !1 : this.wg : this.j.ended;
            case 2:
                return this.wg;
            case 3:
                !0
        }
        return !0
    };
    v.prototype.Gu = function() {
        return this.Fd || this.Ca ? !0 : this.Hf()
    };
    v.prototype.Tk = function(a) {
        1 === F &amp;&amp; (!this.Ld &amp;&amp; a ? this.kb &amp;&amp; (this.cb || (this.cb = w.createPanner(), this.cb.panningModel = "number" === typeof this.cb.panningModel ? Pa : ["equalpower", "HRTF", "soundfield"][Pa], this.cb.distanceModel = "number" === typeof this.cb.distanceModel ? Rb : ["linear", "inverse", "exponential"][Rb], this.cb.refDistance = Qc, this.cb.maxDistance = Rc, this.cb.rolloffFactor = Sc), this.kb.disconnect(), this.kb.connect(this.cb), this.cb.connect(b(this.tag)), this.Ld = !0) : this.Ld &amp;&amp; !a &amp;&amp; this.kb &amp;&amp; (this.cb.disconnect(), this.kb.disconnect(), this.kb.connect(b(this.tag)), this.Ld = !1))
    };
    v.prototype.Rn = function(a, c, b, d, e, f) {
        this.Ld &amp;&amp; 1 === F &amp;&amp; (this.cb.setPosition(a, c, 0), this.cb.setOrientation(Math.cos(M(b)), Math.sin(M(b)), 0), this.cb.coneInnerAngle = d, this.cb.coneOuterAngle = e, this.cb.coneOuterGain = f, this.or = a, this.pr = c, this.kr = b, this.lr = d, this.mr = e, this.nr = f)
    };
    v.prototype.Ki = function(a) {
        this.Ld &amp;&amp; 1 === F &amp;&amp; (this.Ib || (this.Ib = new aa), this.Ib.Ki(a))
    };
    v.prototype.ub = function(a) {
        if (this.Ld &amp;&amp; 1 === F &amp;&amp; this.Ib &amp;&amp; this.Ib.Yj() &amp;&amp; this.Nf()) {
            this.Ib.ub(a);
            a = this.Ib.ta;
            var c = Sa(a.x, a.y, -a.k.Fb(), U, pa, !0),
                b = Sa(a.x, a.y, -a.k.Fb(), U, pa, !1);
            this.cb.setPosition(c, b, 0);
            c = 0;
            "undefined" !== typeof this.Ib.ta.g &amp;&amp; (c = a.g - a.k.Fb(), this.cb.setOrientation(Math.cos(c), Math.sin(c), 0))
        }
    };
    v.prototype.play = function(a, c, b, d) {
        var e = this.j;
        this.Kd = a;
        this.volume = c;
        b = b || 0;
        d = d || 0;
        switch (this.V) {
            case 0:
                1 !== e.playbackRate &amp;&amp; (e.playbackRate = 1);
                e.volume !== c * ga &amp;&amp; (e.volume = c * ga);
                e.loop !== a &amp;&amp; (e.loop = a);
                e.muted &amp;&amp; (e.muted = !1);
                if (e.currentTime !== b) try {
                    e.currentTime = b
                } catch (f) {}
                if (this.Yc &amp;&amp; hb &amp;&amp; !t.nb) ib.push(this);
                else try {
                    this.j.play()
                } catch (g) {
                    console &amp;&amp; console.log &amp;&amp; console.log("[C2] WARNING: exception trying to play audio '" + this.buffer.src + "': ", g)
                }
                break;
            case 1:
                this.muted = !1;
                this.Og = 1;
                if (1 === this.buffer.V) this.kb.gain.value = c * ga, this.Fd || (this.j = w.createBufferSource(), this.j.buffer = this.buffer.ka, this.j.connect(this.kb)), this.j.onended = this.tn, this.lj = this.j, this.j.loop = a, this.wg = !1, 0 === b ? q(this.j, d) : l(this.j, b, this.We(), d);
                else {
                    1 !== e.playbackRate &amp;&amp; (e.playbackRate = 1);
                    e.loop !== a &amp;&amp; (e.loop = a);
                    e.volume = c * ga;
                    if (e.currentTime !== b) try {
                        e.currentTime = b
                    } catch (n) {}
                    this.Yc &amp;&amp; hb &amp;&amp; !t.nb ? ib.push(this) : e.play()
                }
                break;
            case 2:
                (!this.Fd &amp;&amp; this.Ca || 0 !== b) &amp;&amp; e.seekTo(b);
                e.play();
                this.wg = !1;
                break;
            case 3:
                t.Tb ? AppMobi.context.playSound(this.src, a) : AppMobi.player.playSound(this.src, a)
        }
        this.playbackRate = 1;
        this.startTime = (this.yg ? t.Gb.R : t.De.R) - b;
        this.yc = this.Ca = this.Fd = !1
    };
    v.prototype.stop = function() {
        switch (this.V) {
            case 0:
                this.j.paused || this.j.pause();
                break;
            case 1:
                1 === this.buffer.V ? a(this.j) : this.j.paused || this.j.pause();
                break;
            case 2:
                this.j.stop();
                break;
            case 3:
                t.Tb &amp;&amp; AppMobi.context.stopSound(this.src)
        }
        this.Ca = !0;
        this.yc = !1
    };
    v.prototype.pause = function() {
        if (!(this.Fd || this.Ca || this.Hf() || this.yc)) {
            switch (this.V) {
                case 0:
                    this.j.paused || this.j.pause();
                    break;
                case 1:
                    1 === this.buffer.V ? (this.oc = this.qm(!0), this.Kd &amp;&amp; (this.oc = this.oc % this.We()), this.yc = !0, a(this.j)) : this.j.paused || this.j.pause();
                    break;
                case 2:
                    this.j.pause();
                    break;
                case 3:
                    t.Tb &amp;&amp; AppMobi.context.stopSound(this.src)
            }
            this.yc = !0
        }
    };
    v.prototype.Er = function() {
        if (!(this.Fd || this.Ca || this.Hf()) &amp;&amp; this.yc) {
            switch (this.V) {
                case 0:
                    this.j.play();
                    break;
                case 1:
                    1 === this.buffer.V ? (this.j = w.createBufferSource(), this.j.buffer = this.buffer.ka, this.j.connect(this.kb), this.j.onended = this.tn, this.lj = this.j, this.j.loop = this.Kd, this.kb.gain.value = ga * this.volume * this.Og, this.nl(), this.startTime = (this.yg ? t.Gb.R : t.De.R) - this.oc / (this.playbackRate || .001), l(this.j, this.oc, this.We())) : this.j.play();
                    break;
                case 2:
                    this.j.play();
                    break;
                case 3:
                    t.Tb &amp;&amp; AppMobi.context.resumeSound(this.src)
            }
            this.yc = !1
        }
    };
    v.prototype.seek = function(a) {
        if (!(this.Fd || this.Ca || this.Hf())) switch (this.V) {
            case 0:
                try {
                    this.j.currentTime = a
                } catch (c) {}
                break;
            case 1:
                if (1 === this.buffer.V) this.yc ? this.oc = a : (this.pause(), this.oc = a, this.Er());
                else try {
                    this.j.currentTime = a
                } catch (b) {}
                break;
            case 3:
                t.Tb &amp;&amp; AppMobi.context.seekSound(this.src, a)
        }
    };
    v.prototype.Nx = function(a) {
        1 === this.V &amp;&amp; (this.Ld ? (this.cb.disconnect(), this.cb.connect(a)) : (this.kb.disconnect(), this.kb.connect(a)))
    };
    v.prototype.We = function() {
        var a = 0;
        switch (this.V) {
            case 0:
                "undefined" !== typeof this.j.duration &amp;&amp; (a = this.j.duration);
                break;
            case 1:
                a = this.buffer.ka.duration;
                break;
            case 2:
                a = this.j.getDuration();
                break;
            case 3:
                t.Tb &amp;&amp; (a = AppMobi.context.getDurationSound(this.src))
        }
        return a
    };
    v.prototype.qm = function(a) {
        var c = this.We(),
            b = 0;
        switch (this.V) {
            case 0:
                "undefined" !== typeof this.j.currentTime &amp;&amp; (b = this.j.currentTime);
                break;
            case 1:
                if (1 === this.buffer.V) {
                    if (this.yc) return this.oc;
                    b = (this.yg ? t.Gb.R : t.De.R) - this.startTime
                } else "undefined" !== typeof this.j.currentTime &amp;&amp; (b = this.j.currentTime);
                break;
            case 3:
                t.Tb &amp;&amp; (b = AppMobi.context.getPlaybackTimeSound(this.src))
        }
        a &amp;&amp; (b *= this.playbackRate);
        !this.Kd &amp;&amp; b &gt; c &amp;&amp; (b = c);
        return b
    };
    v.prototype.Nf = function() {
        return !this.yc &amp;&amp; !this.Fd &amp;&amp; !this.Ca &amp;&amp; !this.Hf()
    };
    v.prototype.hy = function() {
        return !this.Fd &amp;&amp; !this.Ca &amp;&amp; !this.Hf()
    };
    v.prototype.wy = function() {
        var a = this.volume * ga;
        isFinite(a) || (a = 0);
        switch (this.V) {
            case 0:
                "undefined" !== typeof this.j.volume &amp;&amp; this.j.volume !== a &amp;&amp; (this.j.volume = a);
                break;
            case 1:
                1 === this.buffer.V ? this.kb.gain.value = a * this.Og : "undefined" !== typeof this.j.volume &amp;&amp; this.j.volume !== a &amp;&amp; (this.j.volume = a)
        }
    };
    v.prototype.Fj = function(a) {
        switch (this.V) {
            case 0:
                this.j.muted !== !!a &amp;&amp; (this.j.muted = !!a);
                break;
            case 1:
                1 === this.buffer.V ? (this.Og = a ? 0 : 1, this.kb.gain.value = ga * this.volume * this.Og) : this.j.muted !== !!a &amp;&amp; (this.j.muted = !!a)
        }
    };
    v.prototype.cy = function() {
        this.Ag = !0;
        this.Fj(this.Ag || this.fi)
    };
    v.prototype.Qr = function(a) {
        this.fi = !!a;
        this.Fj(this.Ag || this.fi)
    };
    v.prototype.nl = function() {
        var a = this.playbackRate;
        this.yg &amp;&amp; (a *= t.ih);
        switch (this.V) {
            case 0:
                this.j.playbackRate !== a &amp;&amp; (this.j.playbackRate = a);
                break;
            case 1:
                1 === this.buffer.V ? this.j.playbackRate.value !== a &amp;&amp; (this.j.playbackRate.value = a) : this.j.playbackRate !== a &amp;&amp; (this.j.playbackRate = a)
        }
    };
    v.prototype.fy = function(c) {
        switch (this.V) {
            case 0:
                c ? this.Nf() ? (this.Mc = !0, this.j.pause()) : this.Mc = !1 : this.Mc &amp;&amp; (this.j.play(), this.Mc = !1);
                break;
            case 1:
                c ? this.Nf() ? (this.Mc = !0, 1 === this.buffer.V ? (this.oc = this.qm(!0), this.Kd &amp;&amp; (this.oc = this.oc % this.We()), a(this.j)) : this.j.pause()) : this.Mc = !1 : this.Mc &amp;&amp; (1 === this.buffer.V ? (this.j = w.createBufferSource(), this.j.buffer = this.buffer.ka, this.j.connect(this.kb), this.j.onended = this.tn, this.lj = this.j, this.j.loop = this.Kd, this.kb.gain.value = ga * this.volume * this.Og, this.nl(), this.startTime = (this.yg ? t.Gb.R : t.De.R) - this.oc / (this.playbackRate || .001), l(this.j, this.oc, this.We())) : this.j.play(), this.Mc = !1);
                break;
            case 2:
                c ? this.Nf() ? (this.j.pause(), this.Mc = !0) : this.Mc = !1 : this.Mc &amp;&amp; (this.Mc = !1, this.j.play())
        }
    };
    L.Z = function(a) {
        function c() {
            if (!qa &amp;&amp; w.createBuffer) {
                var a = w.createBuffer(1, 220, 22050),
                    b = w.createBufferSource();
                b.buffer = a;
                b.connect(w.destination);
                q(b)
            }
        }
        this.type = a;
        t = this.b = a.b;
        P = this;
        this.zc = null;
        this.ki = -600;
        this.b.di &amp;&amp; (gb = !0);
        !(this.b.Dg || this.b.Zj &amp;&amp; (this.b.Yh || this.b.$j)) || this.b.bk || this.b.ra || this.b.dq || gb || (hb = !0);
        w = null;
        "undefined" !== typeof AudioContext ? (F = 1, w = new AudioContext) : "undefined" !== typeof webkitAudioContext &amp;&amp; (F = 1, w = new webkitAudioContext);
        this.b.Dg &amp;&amp; w &amp;&amp; (w.close &amp;&amp; w.close(), "undefined" !== typeof AudioContext ? w = new AudioContext : "undefined" !== typeof webkitAudioContext &amp;&amp; (w = new webkitAudioContext));
        hb ? document.addEventListener("touchend", function() {
            !yb &amp;&amp; w &amp;&amp; (c(), yb = !0);
            var a, b, d;
            if (hb) {
                if (!S)
                    for (a = 0, b = ib.length; a &lt; b; ++a) d = ib[a], d.Ca || d.yc || d.j.play();
                G(ib)
            }
        }, !0) : gb &amp;&amp; document.addEventListener("touchend", function() {
            !yb &amp;&amp; w &amp;&amp; (c(), yb = !0)
        }, !0);
        1 !== F &amp;&amp; (this.b.xc &amp;&amp; "undefined" !== typeof window.Media ? F = 2 : this.b.fq &amp;&amp; (F = 3));
        2 === F &amp;&amp; (V = location.href, a = V.lastIndexOf("/"), -1 &lt; a &amp;&amp; (V = V.substr(0, a + 1)), V = V.replace("file://", ""));
        if (this.b.Ww &amp;&amp; this.b.Yw &amp;&amp; "undefined" === typeof Audio) alert("It looks like you're using Safari for Windows without Quicktime.  Audio cannot be played until Quicktime is installed."), this.b.Fe(this);
        else {
            if (this.b.Tb) J = this.b.Zj;
            else try {
                J = !!(new Audio).canPlayType('audio/ogg; codecs="vorbis"')
            } catch (b) {
                J = !1
            }
            this.b.hl(this)
        }
    };
    var Ba = L.Z.prototype;
    Ba.J = function() {
        this.b.ig = this;
        O = this.n[0];
        this.we = this.n[1];
        this.Cx = 0 !== this.n[2];
        this.rk = 0;
        Pa = this.n[3];
        Rb = this.n[4];
        this.ki = -this.n[5];
        Qc = this.n[6];
        Rc = this.n[7];
        Sc = this.n[8];
        this.zc = new aa;
        var a = this.b.H || this.b.width,
            c = this.b.G || this.b.height;
        1 === F &amp;&amp; (w.listener.setPosition(a / 2, c / 2, this.ki), w.listener.setOrientation(0, 0, 1, 0, -1, 0), window.c2OnAudioMicStream = function(a, c) {
            Va &amp;&amp; Va.disconnect();
            Qb = c.toLowerCase();
            Va = w.createMediaStreamSource(a);
            Va.connect(b(Qb))
        });
        this.b.Yo(function(a) {
            P.xx(a)
        });
        var d = this;
        this.b.Wo(function(a) {
            d.ln(a)
        })
    };
    Ba.ln = function(a) {
        var c, b, d;
        c = 0;
        for (b = D.length; c &lt; b; c++) d = D[c], d.Ib &amp;&amp; d.Ib.ta === a &amp;&amp; (d.Ib.ta = null, d.Ld &amp;&amp; d.Nf() &amp;&amp; d.Kd &amp;&amp; d.stop());
        this.zc.ta === a &amp;&amp; (this.zc.ta = null)
    };
    Ba.tb = function() {
        var a = {
                silent: S,
                masterVolume: ga,
                listenerZ: this.ki,
                listenerUid: this.zc.Yj() ? this.zc.ta.uid : -1,
                playing: [],
                effects: {}
            },
            c = a.playing,
            b, d, e, f, g, n;
        b = 0;
        for (d = D.length; b &lt; d; b++) e = D[b], !e.hy() || 3 === this.we || e.Yc &amp;&amp; 1 === this.we || !e.Yc &amp;&amp; 2 === this.we || (f = e.qm(), e.Kd &amp;&amp; (f = f % e.We()), f = {
            tag: e.tag,
            buffersrc: e.buffer.src,
            is_music: e.Yc,
            playbackTime: f,
            volume: e.volume,
            looping: e.Kd,
            muted: e.Ag,
            playbackRate: e.playbackRate,
            paused: e.yc,
            resume_position: e.oc
        }, e.Ld &amp;&amp; (f.pan = {}, n = f.pan, e.Ib &amp;&amp; e.Ib.Yj() ? n.objUid = e.Ib.ta.uid : (n.x = e.or, n.y = e.pr, n.a = e.kr), n.ia = e.lr, n.oa = e.mr, n.og = e.nr), c.push(f));
        c = a.effects;
        for (g in ba)
            if (ba.hasOwnProperty(g)) {
                e = [];
                b = 0;
                for (d = ba[g].length; b &lt; d; b++) e.push({
                    type: ba[g][b].type,
                    params: ba[g][b].Kb
                });
                c[g] = e
            }
        return a
    };
    var jb = [];
    Ba.Hb = function(a) {
        var b = a.silent;
        ga = a.masterVolume;
        this.ki = a.listenerZ;
        this.zc.Ki(null);
        var g = a.listenerUid; - 1 !== g &amp;&amp; (this.zc.kk = g, jb.push(this.zc));
        var g = a.playing,
            k, h, l, r, q, t, B, w, z, v, K;
        if (3 !== this.we)
            for (k = 0, h = D.length; k &lt; h; k++) z = D[k], z.Yc &amp;&amp; 1 === this.we || (z.Yc || 2 !== this.we) &amp;&amp; z.stop();
        for (q in ba)
            if (ba.hasOwnProperty(q))
                for (k = 0, h = ba[q].length; k &lt; h; k++) ba[q][k].remove();
        Xa(ba);
        for (q in a.effects)
            if (a.effects.hasOwnProperty(q))
                for (t = a.effects[q], k = 0, h = t.length; k &lt; h; k++) switch (l = t[k].type, v = t[k].params, l) {
                    case "filter":
                        y(q, new f(v[0], v[1], v[2], v[3], v[4], v[5]));
                        break;
                    case "delay":
                        y(q, new c(v[0], v[1], v[2]));
                        break;
                    case "convolve":
                        l = v[2];
                        z = this.Rj(l, !1);
                        z.ka ? l = new d(z.ka, v[0], v[1], l) : (l = new d(null, v[0], v[1], l), z.Xq = v[0], z.uj = l);
                        y(q, l);
                        break;
                    case "flanger":
                        y(q, new e(v[0], v[1], v[2], v[3], v[4]));
                        break;
                    case "phaser":
                        y(q, new n(v[0], v[1], v[2], v[3], v[4], v[5]));
                        break;
                    case "gain":
                        y(q, new p(v[0]));
                        break;
                    case "tremolo":
                        y(q, new E(v[0], v[1]));
                        break;
                    case "ringmod":
                        y(q, new u(v[0], v[1]));
                        break;
                    case "distortion":
                        y(q, new T(v[0], v[1], v[2], v[3], v[4]));
                        break;
                    case "compressor":
                        y(q, new m(v[0], v[1], v[2], v[3], v[4]));
                        break;
                    case "analyser":
                        y(q, new x(v[0], v[1]))
                }
        k = 0;
        for (h = g.length; k &lt; h; k++) 3 === this.we || (a = g[k], l = a.buffersrc, r = a.is_music, q = a.tag, t = a.playbackTime, B = a.looping, w = a.volume, K = (v = a.pan) &amp;&amp; v.hasOwnProperty("objUid") ? v.objUid : -1, r &amp;&amp; 1 === this.we) || !r &amp;&amp; 2 === this.we || ((z = this.jm(l, q, r, B, w)) ? (z.oc = a.resume_position, z.Tk(!!v), z.play(B, w, t), z.nl(), z.wy(), z.Fj(z.Ag || z.fi), a.paused &amp;&amp; z.pause(), a.muted &amp;&amp; z.cy(), z.Fj(z.Ag || z.fi), v &amp;&amp; (-1 !== K ? (z.Ib = z.Ib || new aa, z.Ib.kk = K, jb.push(z.Ib)) : z.Rn(v.x, v.y, v.a, v.ia, v.oa, v.og))) : (z = this.Rj(l, r), z.Pk = t, z.Bk = a.paused, v &amp;&amp; (-1 !== K ? z.Ug.push({
            Zq: K,
            zm: v.ia,
            gn: v.oa,
            kn: v.og,
            cs: q
        }) : z.Ug.push({
            x: v.x,
            y: v.y,
            qu: v.a,
            zm: v.ia,
            gn: v.oa,
            kn: v.og,
            cs: q
        }))));
        if (b &amp;&amp; !S) {
            k = 0;
            for (h = D.length; k &lt; h; k++) D[k].Qr(!0);
            S = !0
        } else if (!b &amp;&amp; S) {
            k = 0;
            for (h = D.length; k &lt; h; k++) D[k].Qr(!1);
            S = !1
        }
    };
    Ba.Vd = function() {
        var a, c, b, d;
        a = 0;
        for (c = jb.length; a &lt; c; a++) b = jb[a], d = this.b.Qh(b.kk), b.Ki(d), b.kk = -1, d &amp;&amp; (U = d.x, pa = d.y);
        G(jb)
    };
    Ba.xx = function(a) {
        if (!this.Cx) {
            !a &amp;&amp; w &amp;&amp; w.resume &amp;&amp; (w.resume(), qa = !1);
            var c, b;
            c = 0;
            for (b = D.length; c &lt; b; c++) D[c].fy(a);
            a &amp;&amp; w &amp;&amp; w.suspend &amp;&amp; (w.suspend(), qa = !0)
        }
    };
    Ba.ub = function() {
        var a = this.b.Te,
            c, b, d;
        c = 0;
        for (b = D.length; c &lt; b; c++) d = D[c], d.ub(a), 0 !== O &amp;&amp; d.nl();
        var e, f;
        for (e in ba)
            if (ba.hasOwnProperty(e))
                for (d = ba[e], c = 0, b = d.length; c &lt; b; c++) f = d[c], f.ub &amp;&amp; f.ub();
        1 === F &amp;&amp; this.zc.Yj() &amp;&amp; (this.zc.ub(a), U = this.zc.ta.x, pa = this.zc.ta.y, w.listener.setPosition(this.zc.ta.x, this.zc.ta.y, this.ki))
    };
    var kb = [];
    Ba.dy = function(a) {
        var c, b, d, e, f, g = 0;
        c = 0;
        for (b = a.length; c &lt; b; ++c)
            if (d = a[c], e = d[0], d = 2 * d[1], (f = 4 &lt; e.length &amp;&amp; ".ogg" === e.substr(e.length - 4)) &amp;&amp; J || !f &amp;&amp; !J) kb.push({
                filename: e,
                size: d,
                ta: null
            }), g += d;
        return g
    };
    Ba.jy = function() {
        var a, c, b, d;
        a = 0;
        for (c = kb.length; a &lt; c; ++a) b = kb[a], d = this.b.Lj + b.filename, b.ta = this.Rj(d, !1)
    };
    Ba.rw = function() {
        var a = 0,
            c, b, d;
        c = 0;
        for (b = kb.length; c &lt; b; ++c) d = kb[c], d.ta.Vw() || d.ta.Mw() || this.b.ra || this.b.$j ? a += d.size : d.ta.gq() &amp;&amp; (a += Math.floor(d.size / 2));
        return a
    };
    Ba.Px = function() {
        var a, c, b, d;
        b = a = 0;
        for (c = I.length; a &lt; c; ++a) d = I[a], I[b] = d, d.Yc ? d.Ox() : ++b;
        I.length = b
    };
    Ba.Rj = function(a, c) {
        var b, d, e, f = null;
        b = 0;
        for (d = I.length; b &lt; d; b++)
            if (e = I[b], e.src === a) {
                f = e;
                break
            }
        f || (gb &amp;&amp; c &amp;&amp; this.Px(), f = new z(a, c), I.push(f));
        return f
    };
    Ba.jm = function(a, c, b, d, e) {
        var f, g, n;
        f = 0;
        for (g = D.length; f &lt; g; f++)
            if (n = D[f], n.src === a &amp;&amp; (n.Gu() || b)) return n.tag = c, n;
        a = this.Rj(a, b);
        if (!a.ka) return "&lt;preload&gt;" !== c &amp;&amp; (a.Dk = c, a.$m = d, a.no = e), null;
        n = new v(a, c);
        D.push(n);
        return n
    };
    var xa = [];
    H.prototype.dj = function(a) {
        return ob(Q, a)
    };
    L.e = new H;
    K.prototype.Play = function(a, c, b, d) {
        !S &amp;&amp; (b = g(b), N = this.jm(this.b.Lj + a[0] + (J ? ".ogg" : ".m4a"), d, a[1], 0 !== c, b)) &amp;&amp; (N.Tk(!1), N.play(0 !== c, b, 0, this.rk), this.rk = 0)
    };
    K.prototype.Nt = function(a, c, b, d, e) {
        !S &amp;&amp; (d = g(d), N = this.jm(this.b.Lj + c.toLowerCase() + (J ? ".ogg" : ".m4a"), e, 1 === a, 0 !== b, d)) &amp;&amp; (N.Tk(!1), N.play(0 !== b, d, 0, this.rk), this.rk = 0)
    };
    K.prototype.Mo = function(a) {
        A(a);
        var c;
        a = 0;
        for (c = xa.length; a &lt; c; a++) xa[a].stop()
    };
    K.prototype.$t = function(a, c) {
        A(a);
        var b, d;
        b = 0;
        for (d = xa.length; b &lt; d; b++) 0 === c ? xa[b].pause() : xa[b].Er()
    };
    L.D = new K;
    X.prototype.Hs = function(a, c) {
        A(c, !0);
        xa.length ? a.u(xa[0].We()) : a.u(0)
    };
    L.ea = new X
})();

function vc(g) {
    this.b = g
}
(function() {
    function g() {
        l &amp;&amp; a &amp;&amp; window.OfflineClientInfo &amp;&amp; window.OfflineClientInfo.SetMessageCallback(function(a) {
            f.wx(a)
        })
    }

    function h() {}

    function b() {}

    function k() {}
    var r = vc.prototype;
    r.ma = function(a) {
        this.Ba = a;
        this.b = a.b
    };
    var q = r.ma.prototype;
    q.J = function() {};
    var l = !1,
        a = !1;
    document.addEventListener("DOMContentLoaded", function() {
        if (window.C2_RegisterSW &amp;&amp; navigator.rf) {
            var a = document.createElement("script");
            a.onload = function() {
                l = !0;
                g()
            };
            a.src = "offlineClient.js";
            document.head.appendChild(a)
        }
    });
    var f = null;
    q.dr = function() {
        a = !0;
        g()
    };
    r.Z = function(a) {
        this.type = a;
        this.b = a.b
    };
    q = r.Z.prototype;
    q.J = function() {
        var a = this;
        window.addEventListener("resize", function() {
            a.b.trigger(vc.prototype.e.Ct, a)
        });
        f = this;
        "undefined" !== typeof navigator.onLine &amp;&amp; (window.addEventListener("online", function() {
            a.b.trigger(vc.prototype.e.zt, a)
        }), window.addEventListener("offline", function() {
            a.b.trigger(vc.prototype.e.xt, a)
        }));
        "undefined" !== typeof window.applicationCache &amp;&amp; (window.applicationCache.addEventListener("updateready", function() {
            a.b.Kg = 1;
            a.b.trigger(vc.prototype.e.hj, a)
        }), window.applicationCache.addEventListener("progress", function(b) {
            a.b.Kg = b.loaded / b.total || 0
        }));
        this.b.Tb || (document.addEventListener("appMobi.device.update.available", function() {
            a.b.trigger(vc.prototype.e.hj, a)
        }), document.addEventListener("backbutton", function() {
            a.b.trigger(vc.prototype.e.bj, a)
        }), document.addEventListener("menubutton", function() {
            a.b.trigger(vc.prototype.e.Ao, a)
        }), document.addEventListener("searchbutton", function() {
            a.b.trigger(vc.prototype.e.Ft, a)
        }), document.addEventListener("tizenhwkey", function(b) {
            var e;
            switch (b.keyName) {
                case "back":
                    e = a.b.trigger(vc.prototype.e.bj, a);
                    !e &amp;&amp; window.tizen &amp;&amp; window.tizen.application.getCurrentApplication().exit();
                    break;
                case "menu":
                    (e = a.b.trigger(vc.prototype.e.Ao, a)) || b.preventDefault()
            }
        }));
        this.b.Om &amp;&amp; "undefined" !== typeof Windows ? Windows.UI.Core.SystemNavigationManager.getForCurrentView().addEventListener("backrequested", function(b) {
            a.b.trigger(vc.prototype.e.bj, a) &amp;&amp; (b.Xj = !0)
        }) : this.b.Nm &amp;&amp; WinJS.Application &amp;&amp; (WinJS.Application.onbackclick = function() {
            return !!a.b.trigger(vc.prototype.e.bj, a)
        });
        this.b.Yo(function(b) {
            b ? a.b.trigger(vc.prototype.e.At, a) : a.b.trigger(vc.prototype.e.Bt, a)
        });
        this.ax = "undefined" !== typeof window.is_scirra_arcade
    };
    q.wx = function(a) {
        a = a.data.type;
        "downloading-update" === a ? this.b.trigger(vc.prototype.e.It, this) : "update-ready" === a || "update-pending" === a ? this.b.trigger(vc.prototype.e.hj, this) : "offline-ready" === a &amp;&amp; this.b.trigger(vc.prototype.e.yt, this)
    };
    h.prototype.zt = function() {
        return !0
    };
    h.prototype.xt = function() {
        return !0
    };
    h.prototype.hj = function() {
        return !0
    };
    h.prototype.Bt = function() {
        return !0
    };
    h.prototype.At = function() {
        return !0
    };
    h.prototype.Ct = function() {
        return !0
    };
    h.prototype.bj = function() {
        return !0
    };
    h.prototype.Ao = function() {
        return !0
    };
    h.prototype.Ft = function() {
        return !0
    };
    h.prototype.It = function() {
        return !0
    };
    h.prototype.hj = function() {
        return !0
    };
    h.prototype.yt = function() {
        return !0
    };
    r.e = new h;
    b.prototype.Ms = function(a, b) {
        this.b.Kc ? CocoonJS.App.openURL(a) : this.b.Wc ? ejecta.openURL(a) : this.b.Nm ? Windows.System.Launcher.launchUriAsync(new Windows.Foundation.Uri(a)) : navigator.app &amp;&amp; navigator.app.loadUrl ? navigator.app.loadUrl(a, {
            openExternal: !0
        }) : this.b.xc ? window.open(a, "_system") : this.ax || this.b.ra || window.open(a, b)
    };
    r.D = new b;
    k.prototype.Ot = function(a) {
        a.Za(this.b.ra ? "" : document.referrer)
    };
    r.ea = new k
})();

function wc(g) {
    this.b = g
}
(function() {
    function g() {}

    function h() {}
    var b = wc.prototype;
    b.ma = function(b) {
        this.Ba = b;
        this.b = b.b
    };
    b.ma.prototype.J = function() {};
    b.Z = function(b) {
        this.type = b;
        this.b = b.b
    };
    var k = b.Z.prototype;
    k.J = function() {
        this.b.ra ? ha("[Construct 2] Button plugin not supported on this platform - the object will not be created") : (this.xg = 1 === this.n[0], this.Jc = document.createElement("input"), this.qa = this.xg ? document.createElement("label") : this.Jc, this.ii = null, this.Jc.type = this.xg ? "checkbox" : "button", this.Jc.id = this.n[6], jQuery(this.qa).appendTo(this.b.oj ? this.b.oj : "body"), this.xg ? (jQuery(this.Jc).appendTo(this.qa), this.ii = document.createTextNode(this.n[1]), jQuery(this.qa).append(this.ii), this.Jc.checked = 0 !== this.n[7], jQuery(this.qa).css("font-family", "sans-serif"), jQuery(this.qa).css("display", "inline-block"), jQuery(this.qa).css("color", "black")) : this.Jc.value = this.n[1], this.qa.title = this.n[2], this.Jc.disabled = 0 === this.n[4], this.zu = 0 !== this.n[5], this.Af = !1, 0 === this.n[3] &amp;&amp; (jQuery(this.qa).hide(), this.visible = !1, this.Af = !0), this.Jc.onclick = function(b) {
            return function(g) {
                g.stopPropagation();
                b.b.nb = !0;
                b.b.trigger(wc.prototype.e.wo, b);
                b.b.nb = !1
            }
        }(this), this.qa.addEventListener("touchstart", function(b) {
            b.stopPropagation()
        }, !1), this.qa.addEventListener("touchmove", function(b) {
            b.stopPropagation()
        }, !1), this.qa.addEventListener("touchend", function(b) {
            b.stopPropagation()
        }, !1), jQuery(this.qa).mousedown(function(b) {
            b.stopPropagation()
        }), jQuery(this.qa).mouseup(function(b) {
            b.stopPropagation()
        }), jQuery(this.qa).keydown(function(b) {
            b.stopPropagation()
        }), jQuery(this.qa).keyup(function(b) {
            b.stopPropagation()
        }), this.tq = this.uq = this.mq = this.qq = this.sq = this.oq = 0, this.qs(!0), this.b.hl(this))
    };
    k.tb = function() {
        var b = {
            tooltip: this.qa.title,
            disabled: !!this.Jc.disabled
        };
        this.xg ? (b.checked = !!this.Jc.checked, b.text = this.ii.nodeValue) : b.text = this.qa.value;
        return b
    };
    k.Hb = function(b) {
        this.qa.title = b.tooltip;
        this.Jc.disabled = b.disabled;
        this.xg ? (this.Jc.checked = b.checked, this.ii.nodeValue = b.text) : this.qa.value = b.text
    };
    k.qe = function() {
        this.b.ra || (jQuery(this.qa).remove(), this.qa = null)
    };
    k.ub = function() {
        this.qs()
    };
    k.qs = function(b) {
        if (!this.b.ra) {
            var g = this.k.ac(this.x, this.y, !0),
                k = this.k.ac(this.x, this.y, !1),
                a = this.k.ac(this.x + this.width, this.y + this.height, !0),
                f = this.k.ac(this.x + this.width, this.y + this.height, !1),
                c = this.b.width / this.b.devicePixelRatio,
                d = this.b.height / this.b.devicePixelRatio;
            !this.visible || !this.k.visible || 0 &gt;= a || 0 &gt;= f || g &gt;= c || k &gt;= d ? (this.Af || jQuery(this.qa).hide(), this.Af = !0) : (1 &gt; g &amp;&amp; (g = 1), 1 &gt; k &amp;&amp; (k = 1), a &gt;= c &amp;&amp; (a = c - 1), f &gt;= d &amp;&amp; (f = d - 1), c = window.innerWidth, d = window.innerHeight, b || this.oq !== g || this.sq !== k || this.qq !== a || this.mq !== f || this.uq !== c || this.tq !== d ? (this.oq = g, this.sq = k, this.qq = a, this.mq = f, this.uq = c, this.tq = d, this.Af &amp;&amp; (jQuery(this.qa).show(), this.Af = !1), b = Math.round(g) + jQuery(this.b.canvas).offset().left, c = Math.round(k) + jQuery(this.b.canvas).offset().top, jQuery(this.qa).css("position", "absolute"), jQuery(this.qa).offset({
                left: b,
                top: c
            }), jQuery(this.qa).width(Math.round(a - g)), jQuery(this.qa).height(Math.round(f - k)), this.zu &amp;&amp; jQuery(this.qa).css("font-size", this.k.Hc(!0) / this.b.devicePixelRatio - .2 + "em")) : this.Af &amp;&amp; (jQuery(this.qa).show(), this.Af = !1))
        }
    };
    k.Cd = function() {};
    k.wc = function() {};
    g.prototype.wo = function() {
        return !0
    };
    b.e = new g;
    h.prototype.Ko = function(b) {
        this.b.ra || (this.xg ? this.ii.nodeValue = b : this.qa.value = b)
    };
    h.prototype.cu = function(b) {
        this.b.ra || (this.visible = 0 !== b)
    };
    h.prototype.Vt = function(b) {
        this.b.ra || (this.Jc.disabled = 0 === b)
    };
    h.prototype.St = function(b, g) {
        this.b.ra || jQuery(this.qa).css(b, g)
    };
    b.D = new h;
    b.ea = new function() {}
})();

function sc(g) {
    this.b = g
}
(function() {
    function g() {
        this.name = "";
        this.Ii = 0;
        this.Kb = []
    }

    function h() {
        a++;
        a === l.length &amp;&amp; l.push(new g);
        return l[a]
    }

    function b() {}

    function k() {}

    function r() {}
    var q = sc.prototype;
    q.ma = function(a) {
        this.Ba = a;
        this.b = a.b
    };
    q.ma.prototype.J = function() {};
    q.Z = function(a) {
        this.type = a;
        this.b = a.b
    };
    var l = [],
        a = -1;
    q.Z.prototype.J = function() {
        var b = this;
        window.c2_callFunction = function(c, d) {
            var e, g, k, l = h();
            l.name = c.toLowerCase();
            l.Ii = 0;
            if (d)
                for (l.Kb.length = d.length, e = 0, g = d.length; e &lt; g; ++e) k = d[e], l.Kb[e] = "number" === typeof k || "string" === typeof k ? k : "boolean" === typeof k ? k ? 1 : 0 : 0;
            else G(l.Kb);
            b.b.trigger(sc.prototype.e.fj, b, l.name);
            a--;
            return l.Ii
        }
    };
    b.prototype.fj = function(b) {
        var c = 0 &gt; a ? null : l[a];
        return c ? ob(b, c.name) : !1
    };
    q.e = new b;
    k.prototype.CallFunction = function(b, c) {
        var d = h();
        d.name = b.toLowerCase();
        d.Ii = 0;
        Da(d.Kb, c);
        this.b.trigger(sc.prototype.e.fj, this, d.name);
        a--
    };
    q.D = new k;
    r.prototype.zs = function(b, c) {
        var d = h();
        d.name = c.toLowerCase();
        d.Ii = 0;
        G(d.Kb);
        var e, g;
        e = 2;
        for (g = arguments.length; e &lt; g; e++) d.Kb.push(arguments[e]);
        this.b.trigger(sc.prototype.e.fj, this, d.name);
        a--;
        b.Wk(d.Ii)
    };
    q.ea = new r
})();
var xc = !1;
try {
    ! function() {
        var g, h, b;
        ! function() {
            var k = {},
                r = {};
            g = function(b, g, a) {
                k[b] = {
                    Qu: g,
                    Fu: a
                }
            };
            b = h = function(g) {
                function l(a) {
                    if ("." !== a.charAt(0)) return a;
                    a = a.split("/");
                    for (var c = g.split("/").slice(0, -1), b = 0, d = a.length; d &gt; b; b++) {
                        var e = a[b];
                        ".." === e ? c.pop() : "." !== e &amp;&amp; c.push(e)
                    }
                    return c.join("/")
                }
                if (b.Tz = k, r[g]) return r[g];
                if (r[g] = {}, !k[g]) throw Error("Could not find module " + g);
                for (var a, f = k[g], c = f.Qu, f = f.Fu, d = [], e = 0, n = c.length; n &gt; e; e++) "exports" === c[e] ? d.push(a = {}) : d.push(h(l(c[e])));
                c = f.apply(this, d);
                return r[g] = a || c
            }
        }();
        g("promise/all", ["./utils", "exports"], function(b, g) {
            var h = b.isArray,
                l = b.isFunction;
            g.all = function(a) {
                if (!h(a)) throw new TypeError("You must pass an array to all.");
                return new this(function(b, c) {
                    function d(a) {
                        return function(c) {
                            g[a] = c;
                            0 === --k &amp;&amp; b(g)
                        }
                    }
                    var e, g = [],
                        k = a.length;
                    0 === k &amp;&amp; b([]);
                    for (var h = 0; h &lt; a.length; h++)(e = a[h]) &amp;&amp; l(e.then) ? e.then(d(h), c) : (g[h] = e, 0 === --k &amp;&amp; b(g))
                })
            }
        });
        g("promise/asap", ["exports"], function(b) {
            function g() {
                return function() {
                    process.jA(a)
                }
            }

            function h() {
                var c = 0,
                    b = new d(a),
                    e = document.createTextNode("");
                return b.observe(e, {
                        characterData: !0
                    }),
                    function() {
                        e.data = c = ++c % 2
                    }
            }

            function l() {
                return function() {
                    e.setTimeout(a, 1)
                }
            }

            function a() {
                for (var a = 0; a &lt; n.length; a++) {
                    var c = n[a];
                    (0, c[0])(c[1])
                }
                n = []
            }
            var f, c = "undefined" != typeof window ? window : {},
                d = c.MutationObserver || c.WebKitMutationObserver,
                e = "undefined" != typeof global ? global : void 0 === this ? window : this,
                n = [];
            f = "undefined" != typeof process &amp;&amp; "[object process]" === {}.toString.call(process) ? g() : d ? h() : l();
            b.xu = function(a, c) {
                1 === n.push([a, c]) &amp;&amp; f()
            }
        });
        g("promise/config", ["exports"], function(b) {
            var g = {
                bA: !1
            };
            b.sp = g;
            b.Ju = function(b, k) {
                return 2 !== arguments.length ? g[b] : void(g[b] = k)
            }
        });
        g("promise/polyfill", ["./promise", "./utils", "exports"], function(b, g, h) {
            var l = b.Promise,
                a = g.isFunction;
            h.Dx = function() {
                var b;
                b = "undefined" != typeof global ? global : "undefined" != typeof window &amp;&amp; window.document ? window : self;
                "Promise" in b &amp;&amp; "resolve" in b.Promise &amp;&amp; "reject" in b.Promise &amp;&amp; "all" in b.Promise &amp;&amp; "race" in b.Promise &amp;&amp; function() {
                    var c;
                    return new b.Promise(function(a) {
                        c = a
                    }), a(c)
                }() || (b.Promise = l)
            }
        });
        g("promise/promise", "./config ./utils ./all ./race ./resolve ./reject ./asap exports".split(" "), function(b, g, h, l, a, f, c, d) {
            function e(a) {
                if (!y(a)) throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");
                if (!(this instanceof e)) throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
                this.kj = [];
                n(a, this)
            }

            function n(a, c) {
                function b(a) {
                    m(c, a)
                }

                function d(a) {
                    aa(c, a)
                }
                try {
                    a(b, d)
                } catch (e) {
                    d(e)
                }
            }

            function p(a, c, b, d) {
                var e, f, g, n, k = y(b);
                if (k) try {
                    e = b(d), g = !0
                } catch (h) {
                    n = !0, f = h
                } else e = d, g = !0;
                T(c, e) || (k &amp;&amp; g ? m(c, e) : n ? aa(c, f) : a === X ? m(c, e) : a === L &amp;&amp; aa(c, e))
            }

            function E(a, c, b, d) {
                a = a.kj;
                var e = a.length;
                a[e] = c;
                a[e + X] = b;
                a[e + L] = d
            }

            function u(a, c) {
                for (var b, d, e = a.kj, f = a.jj, g = 0; g &lt; e.length; g += 3) b = e[g], d = e[g + c], p(c, b, d, f);
                a.kj = null
            }

            function T(a, c) {
                var b, d = null;
                try {
                    if (a === c) throw new TypeError("A promises callback cannot return that same promise.");
                    if (A(c) &amp;&amp; (d = c.then, y(d))) return d.call(c, function(d) {
                        return b ? !0 : (b = !0, void(c !== d ? m(a, d) : x(a, d)))
                    }, function(c) {
                        return b ? !0 : (b = !0, void aa(a, c))
                    }), !0
                } catch (e) {
                    return b ? !0 : (aa(a, e), !0)
                }
                return !1
            }

            function m(a, c) {
                a === c ? x(a, c) : T(a, c) || x(a, c)
            }

            function x(a, c) {
                a.Ud === H &amp;&amp; (a.Ud = K, a.jj = c, B.async(z, a))
            }

            function aa(a, c) {
                a.Ud === H &amp;&amp; (a.Ud = K, a.jj = c, B.async(v, a))
            }

            function z(a) {
                u(a, a.Ud = X)
            }

            function v(a) {
                u(a, a.Ud = L)
            }
            var B = b.sp,
                A = (b.Ju, g.rx),
                y = g.isFunction;
            b = (g.now, h.all);
            l = l.race;
            a = a.resolve;
            f = f.reject;
            B.async = c.xu;
            var H = void 0,
                K = 0,
                X = 1,
                L = 2;
            e.prototype = {
                constructor: e,
                Ud: void 0,
                jj: void 0,
                kj: void 0,
                then: function(a, c) {
                    var b = this,
                        d = new this.constructor(function() {});
                    if (this.Ud) {
                        var e = arguments;
                        B.async(function() {
                            p(b.Ud, d, e[b.Ud - 1], b.jj)
                        })
                    } else E(this, d, a, c);
                    return d
                },
                "catch": function(a) {
                    return this.then(null, a)
                }
            };
            e.all = b;
            e.race = l;
            e.resolve = a;
            e.reject = f;
            d.Promise = e
        });
        g("promise/race", ["./utils", "exports"], function(b, g) {
            var h = b.isArray;
            g.race = function(b) {
                if (!h(b)) throw new TypeError("You must pass an array to race.");
                return new this(function(a, f) {
                    for (var c, d = 0; d &lt; b.length; d++)(c = b[d]) &amp;&amp; "function" == typeof c.then ? c.then(a, f) : a(c)
                })
            }
        });
        g("promise/reject", ["exports"], function(b) {
            b.reject = function(b) {
                return new this(function(g, k) {
                    k(b)
                })
            }
        });
        g("promise/resolve", ["exports"], function(b) {
            b.resolve = function(b) {
                return b &amp;&amp; "object" == typeof b &amp;&amp; b.constructor === this ? b : new this(function(g) {
                    g(b)
                })
            }
        });
        g("promise/utils", ["exports"], function(b) {
            function g(b) {
                return "function" == typeof b
            }
            var h = Date.now || function() {
                return (new Date).getTime()
            };
            b.rx = function(b) {
                return g(b) || "object" == typeof b &amp;&amp; null !== b
            };
            b.isFunction = g;
            b.isArray = function(b) {
                return "[object Array]" === Object.prototype.toString.call(b)
            };
            b.now = h
        });
        h("promise/polyfill").Dx()
    }();
    var yc = function() {
        return function(g) {
            function h(k) {
                if (b[k]) return b[k].Dd;
                var r = b[k] = {
                    Dd: {},
                    id: k,
                    loaded: !1
                };
                return g[k].call(r.Dd, r, r.Dd, h), r.loaded = !0, r.Dd
            }
            var b = {};
            return h.rf = g, h.zh = b, h.zj = "", h(0)
        }([function(g, h, b) {
            h.ij = !0;
            var k = function(g) {
                function k(a, c) {
                    a[c] = function() {
                        var b = arguments;
                        return a.ready().then(function() {
                            return a[c].apply(a, b)
                        })
                    }
                }

                function h() {
                    for (var a = 1; a &lt; arguments.length; a++) {
                        var c = arguments[a];
                        if (c)
                            for (var b in c) c.hasOwnProperty(b) &amp;&amp; (p(c[b]) ? arguments[0][b] = c[b].slice() : arguments[0][b] = c[b])
                    }
                    return arguments[0]
                }

                function a(a) {
                    for (var b in c)
                        if (c.hasOwnProperty(b) &amp;&amp; c[b] === a) return !0;
                    return !1
                }
                var f = {},
                    c = {
                        ph: "asyncStorage",
                        qh: "localStorageWrapper",
                        rh: "webSQLStorage"
                    },
                    d = "clear getItem iterate key keys length removeItem setItem".split(" "),
                    e = {
                        description: "",
                        qg: [c.ph, c.rh, c.qh].slice(),
                        name: "localforage",
                        size: 4980736,
                        ua: "keyvaluepairs",
                        version: 1
                    },
                    n = function(a) {
                        var b = {},
                            d;
                        try {
                            var e = e || a.indexedDB || a.webkitIndexedDB || a.mozIndexedDB || a.Xl || a.msIndexedDB;
                            d = "undefined" != typeof a.openDatabase &amp;&amp; a.navigator &amp;&amp; a.navigator.userAgent &amp;&amp; /Safari/.test(a.navigator.userAgent) &amp;&amp; !/Chrome/.test(a.navigator.userAgent) ? !1 : e &amp;&amp; "function" == typeof e.open &amp;&amp; "undefined" != typeof a.IDBKeyRange
                        } catch (f) {
                            d = !1
                        }
                        b[c.ph] = !!d;
                        var g;
                        try {
                            g = a.openDatabase
                        } catch (n) {
                            g = !1
                        }
                        b[c.rh] = !!g;
                        var k;
                        try {
                            k = a.localStorage &amp;&amp; "setItem" in a.localStorage &amp;&amp; a.localStorage.setItem
                        } catch (h) {
                            k = !1
                        }
                        return b[c.qh] = !!k, b
                    }(g),
                    p = Array.isArray || function(a) {
                        return "[object Array]" === Object.prototype.toString.call(a)
                    };
                return new(function() {
                    function g(a) {
                        if (!(this instanceof g)) throw new TypeError("Cannot call a class as a function");
                        this.ph = c.ph;
                        this.qh = c.qh;
                        this.rh = c.rh;
                        this.zl = h({}, e);
                        this.of = h({}, this.zl, a);
                        this.Qo = this.xd = null;
                        this.He = !1;
                        this.na = null;
                        this.Ro();
                        this.Mr(this.of.qg)
                    }
                    return g.prototype.sp = function(a) {
                        if ("object" == typeof a) {
                            if (this.He) return Error("Can't call config() after localforage has been used.");
                            for (var c in a) "storeName" === c &amp;&amp; (a[c] = a[c].replace(/\W/g, "_")), this.of[c] = a[c];
                            return "driver" in a &amp;&amp; a.qg &amp;&amp; this.Mr(this.of.qg), !0
                        }
                        return "string" == typeof a ? this.of[a] : this.of
                    }, g.prototype.qg = function() {
                        return this.sh || null
                    }, g.prototype.Rp = function(c, d, e) {
                        var g = this,
                            n = function() {
                                if (a(c)) switch (c) {
                                    case g.ph:
                                        return new Promise(function(a) {
                                            a(b(1))
                                        });
                                    case g.qh:
                                        return new Promise(function(a) {
                                            a(b(2))
                                        });
                                    case g.rh:
                                        return new Promise(function(a) {
                                            a(b(4))
                                        })
                                } else if (f[c]) return Promise.resolve(f[c]);
                                return Promise.reject(Error("Driver not found."))
                            }();
                        return n.then(d, e), n
                    }, g.prototype.ready = function(a) {
                        var c = this,
                            b = c.xd.then(function() {
                                return null === c.He &amp;&amp; (c.He = c.Qo()), c.He
                            });
                        return b.then(a, a), b
                    }, g.prototype.Mr = function(a, c, b) {
                        function d() {
                            f.of.qg = f.qg()
                        }

                        function e(a) {
                            return function() {
                                function c() {
                                    for (; b &lt; a.length;) {
                                        var e = a[b];
                                        return b++, f.na = null, f.He = null, f.Rp(e).then(function(a) {
                                            return f.ou(a), d(), f.He = f.Bl(f.of), f.He
                                        })["catch"](c)
                                    }
                                    d();
                                    return f.xd = Promise.reject(Error("No available storage method found.")), f.xd
                                }
                                var b = 0;
                                return c()
                            }
                        }
                        var f = this;
                        p(a) || (a = [a]);
                        var g = this.pu(a);
                        return this.xd = (null !== this.xd ? this.xd["catch"](function() {
                            return Promise.resolve()
                        }) : Promise.resolve()).then(function() {
                            var a = g[0];
                            return f.na = null, f.He = null, f.Rp(a).then(function(a) {
                                f.sh = a.sh;
                                d();
                                f.Ro();
                                f.Qo = e(g)
                            })
                        })["catch"](function() {
                            d();
                            return f.xd = Promise.reject(Error("No available storage method found.")), f.xd
                        }), this.xd.then(c, b), this.xd
                    }, g.prototype.supports = function(a) {
                        return !!n[a]
                    }, g.prototype.ou = function(a) {
                        h(this, a)
                    }, g.prototype.pu = function(a) {
                        for (var c = [], b = 0, d = a.length; d &gt; b; b++) {
                            var e = a[b];
                            this.supports(e) &amp;&amp; c.push(e)
                        }
                        return c
                    }, g.prototype.Ro = function() {
                        for (var a = 0; a &lt; d.length; a++) k(this, d[a])
                    }, g.prototype.tp = function(a) {
                        return new g(a)
                    }, g
                }())
            }("undefined" != typeof window ? window : self);
            h["default"] = k;
            g.Dd = h["default"]
        }, function(g, h) {
            h.ij = !0;
            h["default"] = function(b) {
                function g(a, c) {
                    a = a || [];
                    c = c || {};
                    try {
                        return new Blob(a, c)
                    } catch (d) {
                        if ("TypeError" !== d.name) throw d;
                        for (var e = new(b.BlobBuilder || b.rf || b.zj || b.WebKitBlobBuilder), f = 0; f &lt; a.length; f += 1) e.append(a[f]);
                        return e.getBlob(c.type)
                    }
                }

                function h(a) {
                    return new Promise(function(c, b) {
                        var d = new XMLHttpRequest;
                        d.open("GET", a);
                        d.withCredentials = !0;
                        d.responseType = "arraybuffer";
                        d.onreadystatechange = function() {
                            return 4 === d.readyState ? 200 === d.status ? c({
                                response: d.response,
                                type: d.getResponseHeader("Content-Type")
                            }) : void b({
                                status: d.status,
                                response: d.response
                            }) : void 0
                        };
                        d.send()
                    })
                }

                function q(a) {
                    return (new Promise(function(c, b) {
                        var d = g([""], {
                                type: "image/png"
                            }),
                            e = a.transaction([H], "readwrite");
                        e.objectStore(H).put(d, "key");
                        e.oncomplete = function() {
                            var d = a.transaction([H], "readwrite").objectStore(H).get("key");
                            d.onerror = b;
                            d.onsuccess = function(a) {
                                var b = URL.createObjectURL(a.target.result);
                                h(b).then(function(a) {
                                    c(!(!a || "image/png" !== a.type))
                                }, function() {
                                    c(!1)
                                }).then(function() {
                                    URL.revokeObjectURL(b)
                                })
                            }
                        };
                        e.onerror = e.onabort = b
                    }))["catch"](function() {
                        return !1
                    })
                }

                function l(a) {
                    return "boolean" == typeof A ? Promise.resolve(A) : q(a).then(function(a) {
                        return A = a
                    })
                }

                function a(a) {
                    return new Promise(function(c, b) {
                        var d = new FileReader;
                        d.onerror = b;
                        d.onloadend = function(b) {
                            c({
                                Po: !0,
                                data: btoa(b.target.result || ""),
                                type: a.type
                            })
                        };
                        d.readAsBinaryString(a)
                    })
                }

                function f(a) {
                    for (var c = atob(a.data), b = c.length, d = new ArrayBuffer(b), e = new Uint8Array(d), f = 0; b &gt; f; f++) e[f] = c.charCodeAt(f);
                    return g([d], {
                        type: a.type
                    })
                }

                function c(a) {
                    var c = this,
                        b = c.Al().then(function() {
                            var a = y[c.na.name];
                            return a &amp;&amp; a.ng ? a.ng : void 0
                        });
                    return b.then(a, a), b
                }

                function d(a) {
                    a = y[a.name];
                    var c = {};
                    c.promise = new Promise(function(a) {
                        c.resolve = a
                    });
                    a.xp.push(c);
                    a.ng ? a.ng = a.ng.then(function() {
                        return c.promise
                    }) : a.ng = c.promise
                }

                function e(a) {
                    function d() {
                        return Promise.resolve()
                    }
                    var e = this,
                        f = {
                            db: null
                        };
                    if (a)
                        for (var g in a) f[g] = a[g];
                    y || (y = {});
                    var m = y[f.name];
                    m || (m = {
                        Oj: [],
                        db: null,
                        ng: null,
                        xp: []
                    }, y[f.name] = m);
                    m.Oj.push(e);
                    e.Al || (e.Al = e.ready, e.ready = c);
                    a = [];
                    for (g = 0; g &lt; m.Oj.length; g++) {
                        var k = m.Oj[g];
                        k !== e &amp;&amp; a.push(k.Al()["catch"](d))
                    }
                    var h = m.Oj.slice(0);
                    return Promise.all(a).then(function() {
                        return f.db = m.db, n(f, !1)
                    }).then(function(a) {
                        f.db = a;
                        var c;
                        c = e.zl.version;
                        if (f.db) {
                            var d = !f.db.objectStoreNames.contains(f.ua),
                                g = f.version &gt; f.db.version;
                            (f.version &lt; f.db.version &amp;&amp; (f.version !== c &amp;&amp; b.console.warn('The database "' + f.name + "\" can't be downgraded from version " + f.db.version + " to version " + f.version + "."), f.version = f.db.version), g || d) ? (d &amp;&amp; (c = f.db.version + 1, c &gt; f.version &amp;&amp; (f.version = c)), c = !0) : c = !1
                        } else c = !0;
                        return c ? n(f, !0) : a
                    }).then(function(a) {
                        f.db = m.db = a;
                        e.na = f;
                        for (a = 0; a &lt; h.length; a++) {
                            var c = h[a];
                            c !== e &amp;&amp; (c.na.db = f.db, c.na.version = f.version)
                        }
                    })
                }

                function n(a, c) {
                    return new Promise(function(e, f) {
                        if (a.db) {
                            if (!c) return e(a.db);
                            d(a);
                            a.db.close()
                        }
                        var g = [a.name];
                        c &amp;&amp; g.push(a.version);
                        var n = B.open.apply(B, g);
                        c &amp;&amp; (n.onupgradeneeded = function(c) {
                            var d = n.result;
                            try {
                                d.createObjectStore(a.ua), 1 &gt;= c.oldVersion &amp;&amp; d.createObjectStore(H)
                            } catch (e) {
                                if ("ConstraintError" !== e.name) throw e;
                                b.console.warn('The database "' + a.name + '" has been upgraded from version ' + c.oldVersion + " to version " + c.newVersion + ', but the storage "' + a.ua + '" already exists.')
                            }
                        });
                        n.onerror = function() {
                            f(n.error)
                        };
                        n.onsuccess = function() {
                            e(n.result);
                            var c = y[a.name].xp.pop();
                            c &amp;&amp; c.resolve()
                        }
                    })
                }

                function p(a, c) {
                    var d = this;
                    "string" != typeof a &amp;&amp; (b.console.warn(a + " used as a key, but it is not a string."), a = String(a));
                    var e = new Promise(function(c, b) {
                        d.ready().then(function() {
                            var e = d.na,
                                g = e.db.transaction(e.ua, "readonly").objectStore(e.ua).get(a);
                            g.onsuccess = function() {
                                var a = g.result;
                                void 0 === a &amp;&amp; (a = null);
                                a &amp;&amp; a.Po &amp;&amp; (a = f(a));
                                c(a)
                            };
                            g.onerror = function() {
                                b(g.error)
                            }
                        })["catch"](b)
                    });
                    return v(e, c), e
                }

                function E(a, c) {
                    var b = this,
                        d = new Promise(function(c, d) {
                            b.ready().then(function() {
                                var e = b.na,
                                    g = e.db.transaction(e.ua, "readonly").objectStore(e.ua).openCursor(),
                                    n = 1;
                                g.onsuccess = function() {
                                    var b = g.result;
                                    if (b) {
                                        var d = b.value;
                                        d &amp;&amp; d.Po &amp;&amp; (d = f(d));
                                        d = a(d, b.key, n++);
                                        void 0 !== d ? c(d) : b["continue"]()
                                    } else c()
                                };
                                g.onerror = function() {
                                    d(g.error)
                                }
                            })["catch"](d)
                        });
                    return v(d, c), d
                }

                function u(c, d, e) {
                    var f = this;
                    "string" != typeof c &amp;&amp; (b.console.warn(c + " used as a key, but it is not a string."), c = String(c));
                    var g = new Promise(function(b, e) {
                        var g;
                        f.ready().then(function() {
                            return g = f.na, d instanceof Blob ? l(g.db).then(function(c) {
                                return c ? d : a(d)
                            }) : d
                        }).then(function(a) {
                            var d = g.db.transaction(g.ua, "readwrite"),
                                f = d.objectStore(g.ua);
                            null === a &amp;&amp; (a = void 0);
                            d.oncomplete = function() {
                                void 0 === a &amp;&amp; (a = null);
                                b(a)
                            };
                            d.onabort = d.onerror = function() {
                                e(n.error ? n.error : n.transaction.error)
                            };
                            var n = f.put(a, c)
                        })["catch"](e)
                    });
                    return v(g, e), g
                }

                function T(a, c) {
                    var d = this;
                    "string" != typeof a &amp;&amp; (b.console.warn(a + " used as a key, but it is not a string."), a = String(a));
                    var e = new Promise(function(c, b) {
                        d.ready().then(function() {
                            var e = d.na,
                                f = e.db.transaction(e.ua, "readwrite"),
                                g = f.objectStore(e.ua)["delete"](a);
                            f.oncomplete = function() {
                                c()
                            };
                            f.onerror = function() {
                                b(g.error)
                            };
                            f.onabort = function() {
                                b(g.error ? g.error : g.transaction.error)
                            }
                        })["catch"](b)
                    });
                    return v(e, c), e
                }

                function m(a) {
                    var c = this,
                        b = new Promise(function(a, b) {
                            c.ready().then(function() {
                                var d = c.na,
                                    e = d.db.transaction(d.ua, "readwrite"),
                                    f = e.objectStore(d.ua).clear();
                                e.oncomplete = function() {
                                    a()
                                };
                                e.onabort = e.onerror = function() {
                                    b(f.error ? f.error : f.transaction.error)
                                }
                            })["catch"](b)
                        });
                    return v(b, a), b
                }

                function x(a) {
                    var c = this,
                        b = new Promise(function(a, b) {
                            c.ready().then(function() {
                                var d = c.na,
                                    e = d.db.transaction(d.ua, "readonly").objectStore(d.ua).count();
                                e.onsuccess = function() {
                                    a(e.result)
                                };
                                e.onerror = function() {
                                    b(e.error)
                                }
                            })["catch"](b)
                        });
                    return v(b, a), b
                }

                function aa(a, c) {
                    var b = this,
                        d = new Promise(function(c, d) {
                            return 0 &gt; a ? void c(null) : void b.ready().then(function() {
                                var e = b.na,
                                    f = !1,
                                    g = e.db.transaction(e.ua, "readonly").objectStore(e.ua).openCursor();
                                g.onsuccess = function() {
                                    var b = g.result;
                                    return b ? void(0 === a ? c(b.key) : f ? c(b.key) : (f = !0, b.advance(a))) : void c(null)
                                };
                                g.onerror = function() {
                                    d(g.error)
                                }
                            })["catch"](d)
                        });
                    return v(d, c), d
                }

                function z(a) {
                    var c = this,
                        b = new Promise(function(a, b) {
                            c.ready().then(function() {
                                var d = c.na,
                                    e = d.db.transaction(d.ua, "readonly").objectStore(d.ua).openCursor(),
                                    f = [];
                                e.onsuccess = function() {
                                    var c = e.result;
                                    return c ? (f.push(c.key), void c["continue"]()) : void a(f)
                                };
                                e.onerror = function() {
                                    b(e.error)
                                }
                            })["catch"](b)
                        });
                    return v(b, a), b
                }

                function v(a, c) {
                    c &amp;&amp; a.then(function(a) {
                        c(null, a)
                    }, function(a) {
                        c(a)
                    })
                }
                var B = B || b.indexedDB || b.webkitIndexedDB || b.mozIndexedDB || b.Xl || b.msIndexedDB;
                if (B) {
                    var A, y, H = "local-forage-detect-blob-support";
                    return {
                        sh: "asyncStorage",
                        Bl: e,
                        lq: E,
                        getItem: p,
                        setItem: u,
                        removeItem: T,
                        clear: m,
                        length: x,
                        key: aa,
                        keys: z
                    }
                }
            }("undefined" != typeof window ? window : self);
            g.Dd = h["default"]
        }, function(g, h, b) {
            h.ij = !0;
            h["default"] = function(g) {
                function h(a, b) {
                    b &amp;&amp; a.then(function(a) {
                        b(null, a)
                    }, function(a) {
                        b(a)
                    })
                }
                var q = null;
                try {
                    if (!(g.localStorage &amp;&amp; "setItem" in g.localStorage)) return;
                    q = g.localStorage
                } catch (l) {
                    return
                }
                return {
                    sh: "localStorageWrapper",
                    Bl: function(a) {
                        var f = {};
                        if (a)
                            for (var c in a) f[c] = a[c];
                        return f.Jd = f.name + "/", f.ua !== this.zl.ua &amp;&amp; (f.Jd += f.ua + "/"), this.na = f, (new Promise(function(a) {
                            a(b(3))
                        })).then(function(a) {
                            return f.Yf = a, Promise.resolve()
                        })
                    },
                    lq: function(a, b) {
                        var c = this,
                            d = c.ready().then(function() {
                                for (var b = c.na, d = b.Jd, f = d.length, g = q.length, k = 1, h = 0; g &gt; h; h++) {
                                    var m = q.key(h);
                                    if (0 === m.indexOf(d)) {
                                        var l = q.getItem(m);
                                        if (l &amp;&amp; (l = b.Yf.Dj(l)), l = a(l, m.substring(f), k++), void 0 !== l) return l
                                    }
                                }
                            });
                        return h(d, b), d
                    },
                    getItem: function(a, b) {
                        var c = this;
                        "string" != typeof a &amp;&amp; (g.console.warn(a + " used as a key, but it is not a string."), a = String(a));
                        var d = c.ready().then(function() {
                            var b = c.na,
                                d = q.getItem(b.Jd + a);
                            return d &amp;&amp; (d = b.Yf.Dj(d)), d
                        });
                        return h(d, b), d
                    },
                    setItem: function(a, b, c) {
                        var d = this;
                        "string" != typeof a &amp;&amp; (g.console.warn(a + " used as a key, but it is not a string."), a = String(a));
                        var e = d.ready().then(function() {
                            void 0 === b &amp;&amp; (b = null);
                            var c = b;
                            return new Promise(function(e, g) {
                                var k = d.na;
                                k.Yf.serialize(b, function(b, d) {
                                    if (d) g(d);
                                    else try {
                                        q.setItem(k.Jd +
                                            a, b), e(c)
                                    } catch (f) {
                                        "QuotaExceededError" !== f.name &amp;&amp; "NS_ERROR_DOM_QUOTA_REACHED" !== f.name || g(f), g(f)
                                    }
                                })
                            })
                        });
                        return h(e, c), e
                    },
                    removeItem: function(a, b) {
                        var c = this;
                        "string" != typeof a &amp;&amp; (g.console.warn(a + " used as a key, but it is not a string."), a = String(a));
                        var d = c.ready().then(function() {
                            q.removeItem(c.na.Jd + a)
                        });
                        return h(d, b), d
                    },
                    clear: function(a) {
                        var b = this,
                            c = b.ready().then(function() {
                                for (var a = b.na.Jd, c = q.length - 1; 0 &lt;= c; c--) {
                                    var g = q.key(c);
                                    0 === g.indexOf(a) &amp;&amp; q.removeItem(g)
                                }
                            });
                        return h(c, a), c
                    },
                    length: function(a) {
                        var b = this.keys().then(function(a) {
                            return a.length
                        });
                        return h(b, a), b
                    },
                    key: function(a, b) {
                        var c = this,
                            d = c.ready().then(function() {
                                var b, d = c.na;
                                try {
                                    b = q.key(a)
                                } catch (f) {
                                    b = null
                                }
                                return b &amp;&amp; (b = b.substring(d.Jd.length)), b
                            });
                        return h(d, b), d
                    },
                    keys: function(a) {
                        var b = this,
                            c = b.ready().then(function() {
                                for (var a = b.na, c = q.length, g = [], k = 0; c &gt; k; k++) 0 === q.key(k).indexOf(a.Jd) &amp;&amp; g.push(q.key(k).substring(a.Jd.length));
                                return g
                            });
                        return h(c, a), c
                    }
                }
            }("undefined" != typeof window ? window : self);
            g.Dd = h["default"]
        }, function(g, h) {
            h.ij = !0;
            h["default"] = function(b) {
                function g(a) {
                    var b, c, d, e, n;
                    b = .75 * a.length;
                    var k = a.length,
                        h = 0;
                    "=" === a[a.length - 1] &amp;&amp; (b--, "=" === a[a.length - 2] &amp;&amp; b--);
                    var l = new ArrayBuffer(b),
                        r = new Uint8Array(l);
                    for (b = 0; k &gt; b; b += 4) c = q.indexOf(a[b]), d = q.indexOf(a[b + 1]), e = q.indexOf(a[b + 2]), n = q.indexOf(a[b + 3]), r[h++] = c &lt;&lt; 2 | d &gt;&gt; 4, r[h++] = (15 &amp; d) &lt;&lt; 4 | e &gt;&gt; 2, r[h++] = (3 &amp; e) &lt;&lt; 6 | 63 &amp; n;
                    return l
                }

                function h(a) {
                    var b = new Uint8Array(a),
                        c = "";
                    for (a = 0; a &lt; b.length; a += 3) c += q[b[a] &gt;&gt; 2], c += q[(3 &amp; b[a]) &lt;&lt; 4 | b[a + 1] &gt;&gt; 4], c += q[(15 &amp; b[a + 1]) &lt;&lt; 2 | b[a + 2] &gt;&gt; 6], c += q[63 &amp; b[a + 2]];
                    return 2 === b.length % 3 ? c = c.substring(0, c.length - 1) + "=" : 1 === b.length % 3 &amp;&amp; (c = c.substring(0, c.length - 2) + "=="), c
                }
                var q = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
                    l = /^~~local_forage_type~([^~]+)~/;
                return {
                    serialize: function(a, b) {
                        var c = "";
                        if (a &amp;&amp; (c = a.toString()), a &amp;&amp; ("[object ArrayBuffer]" === a.toString() || a.buffer &amp;&amp; "[object ArrayBuffer]" === a.buffer.toString())) {
                            var d, e = "__lfsc__:";
                            a instanceof ArrayBuffer ? (d = a, e += "arbf") : (d = a.buffer, "[object Int8Array]" === c ? e += "si08" : "[object Uint8Array]" === c ? e += "ui08" : "[object Uint8ClampedArray]" === c ? e += "uic8" : "[object Int16Array]" === c ? e += "si16" : "[object Uint16Array]" === c ? e += "ur16" : "[object Int32Array]" === c ? e += "si32" : "[object Uint32Array]" === c ? e += "ui32" : "[object Float32Array]" === c ? e += "fl32" : "[object Float64Array]" === c ? e += "fl64" : b(Error("Failed to get type for BinaryArray")));
                            b(e + h(d))
                        } else if ("[object Blob]" === c) c = new FileReader, c.onload = function() {
                            var c = "~~local_forage_type~" + a.type + "~" + h(this.result);
                            b("__lfsc__:blob" + c)
                        }, c.readAsArrayBuffer(a);
                        else try {
                            b(JSON.stringify(a))
                        } catch (g) {
                            console.error("Couldn't convert value into a JSON string: ", a), b(null, g)
                        }
                    },
                    Dj: function(a) {
                        if ("__lfsc__:" !== a.substring(0, 9)) return JSON.parse(a);
                        var f, c = a.substring(13);
                        a = a.substring(9, 13);
                        if ("blob" === a &amp;&amp; l.test(c)) {
                            var d = c.match(l);
                            f = d[1];
                            c = c.substring(d[0].length)
                        }
                        c = g(c);
                        switch (a) {
                            case "arbf":
                                return c;
                            case "blob":
                                var e;
                                c = [c];
                                f = {
                                    type: f
                                };
                                c = c || [];
                                f = f || {};
                                try {
                                    e = new Blob(c, f)
                                } catch (n) {
                                    if ("TypeError" !== n.name) throw n;
                                    e = new(b.BlobBuilder || b.rf || b.zj || b.WebKitBlobBuilder);
                                    for (a = 0; a &lt; c.length; a += 1) e.append(c[a]);
                                    e = e.getBlob(f.type)
                                }
                                return e;
                            case "si08":
                                return new Int8Array(c);
                            case "ui08":
                                return new Uint8Array(c);
                            case "uic8":
                                return new Uint8ClampedArray(c);
                            case "si16":
                                return new Int16Array(c);
                            case "ur16":
                                return new Uint16Array(c);
                            case "si32":
                                return new Int32Array(c);
                            case "ui32":
                                return new Uint32Array(c);
                            case "fl32":
                                return new Float32Array(c);
                            case "fl64":
                                return new Float64Array(c);
                            default:
                                throw Error("Unkown type: " + a);
                        }
                    },
                    pA: g,
                    Wz: h
                }
            }("undefined" != typeof window ? window : self);
            g.Dd = h["default"]
        }, function(g, h, b) {
            h.ij = !0;
            h["default"] = function(g) {
                function h(a) {
                    var c = this,
                        d = {
                            db: null
                        };
                    if (a)
                        for (var e in a) d[e] = "string" != typeof a[e] ? a[e].toString() : a[e];
                    var f = new Promise(function(a, b) {
                        try {
                            d.db = E(d.name, String(d.version), d.description, d.size)
                        } catch (e) {
                            return b(e)
                        }
                        d.db.transaction(function(e) {
                            e.executeSql("CREATE TABLE IF NOT EXISTS " + d.ua + " (id INTEGER PRIMARY KEY, key unique, value)", [], function() {
                                c.na = d;
                                a()
                            }, function(a, c) {
                                b(c)
                            })
                        })
                    });
                    return (new Promise(function(a) {
                        a(b(3))
                    })).then(function(a) {
                        return d.Yf = a, f
                    })
                }

                function q(a, c) {
                    var b = this;
                    "string" != typeof a &amp;&amp; (g.console.warn(a + " used as a key, but it is not a string."), a = String(a));
                    var d = new Promise(function(c, d) {
                        b.ready().then(function() {
                            var e = b.na;
                            e.db.transaction(function(b) {
                                b.executeSql("SELECT * FROM " + e.ua + " WHERE key = ? LIMIT 1", [a], function(a, b) {
                                    var d = b.rows.length ? b.rows.item(0).value : null;
                                    d &amp;&amp; (d = e.Yf.Dj(d));
                                    c(d)
                                }, function(a, c) {
                                    d(c)
                                })
                            })
                        })["catch"](d)
                    });
                    return p(d, c), d
                }

                function l(a, c) {
                    var b = this,
                        d = new Promise(function(c, d) {
                            b.ready().then(function() {
                                var e = b.na;
                                e.db.transaction(function(b) {
                                    b.executeSql("SELECT * FROM " + e.ua, [], function(b, d) {
                                        for (var f = d.rows, g = f.length, n = 0; g &gt; n; n++) {
                                            var m = f.item(n),
                                                k = m.value;
                                            if (k &amp;&amp; (k = e.Yf.Dj(k)), k = a(k, m.key, n + 1), void 0 !== k) return void c(k)
                                        }
                                        c()
                                    }, function(a, c) {
                                        d(c)
                                    })
                                })
                            })["catch"](d)
                        });
                    return p(d, c), d
                }

                function a(a, c, b) {
                    var d = this;
                    "string" != typeof a &amp;&amp; (g.console.warn(a + " used as a key, but it is not a string."), a = String(a));
                    var e = new Promise(function(b, e) {
                        d.ready().then(function() {
                            void 0 === c &amp;&amp; (c = null);
                            var f = c,
                                g = d.na;
                            g.Yf.serialize(c, function(c, d) {
                                d ? e(d) : g.db.transaction(function(d) {
                                    d.executeSql("INSERT OR REPLACE INTO " + g.ua +
                                        " (key, value) VALUES (?, ?)", [a, c],
                                        function() {
                                            b(f)
                                        },
                                        function(a, c) {
                                            e(c)
                                        })
                                }, function(a) {
                                    a.code === a.QUOTA_ERR &amp;&amp; e(a)
                                })
                            })
                        })["catch"](e)
                    });
                    return p(e, b), e
                }

                function f(a, c) {
                    var b = this;
                    "string" != typeof a &amp;&amp; (g.console.warn(a + " used as a key, but it is not a string."), a = String(a));
                    var d = new Promise(function(c, d) {
                        b.ready().then(function() {
                            var e = b.na;
                            e.db.transaction(function(b) {
                                b.executeSql("DELETE FROM " + e.ua + " WHERE key = ?", [a], function() {
                                    c()
                                }, function(a, c) {
                                    d(c)
                                })
                            })
                        })["catch"](d)
                    });
                    return p(d, c), d
                }

                function c(a) {
                    var c = this,
                        b = new Promise(function(a, b) {
                            c.ready().then(function() {
                                var d = c.na;
                                d.db.transaction(function(c) {
                                    c.executeSql("DELETE FROM " + d.ua, [], function() {
                                        a()
                                    }, function(a, c) {
                                        b(c)
                                    })
                                })
                            })["catch"](b)
                        });
                    return p(b, a), b
                }

                function d(a) {
                    var c = this,
                        b = new Promise(function(a, b) {
                            c.ready().then(function() {
                                var d = c.na;
                                d.db.transaction(function(c) {
                                    c.executeSql("SELECT COUNT(key) as c FROM " + d.ua, [], function(c, b) {
                                        var d = b.rows.item(0).zh;
                                        a(d)
                                    }, function(a, c) {
                                        b(c)
                                    })
                                })
                            })["catch"](b)
                        });
                    return p(b, a), b
                }

                function e(a, c) {
                    var b = this,
                        d = new Promise(function(c, d) {
                            b.ready().then(function() {
                                var e = b.na;
                                e.db.transaction(function(b) {
                                    b.executeSql("SELECT key FROM " + e.ua + " WHERE id = ? LIMIT 1", [a + 1], function(a, b) {
                                        var d = b.rows.length ? b.rows.item(0).key : null;
                                        c(d)
                                    }, function(a, c) {
                                        d(c)
                                    })
                                })
                            })["catch"](d)
                        });
                    return p(d, c), d
                }

                function n(a) {
                    var c = this,
                        b = new Promise(function(a, b) {
                            c.ready().then(function() {
                                var d = c.na;
                                d.db.transaction(function(c) {
                                    c.executeSql("SELECT key FROM " + d.ua, [], function(c, b) {
                                        for (var d = [], e = 0; e &lt; b.rows.length; e++) d.push(b.rows.item(e).key);
                                        a(d)
                                    }, function(a, c) {
                                        b(c)
                                    })
                                })
                            })["catch"](b)
                        });
                    return p(b, a), b
                }

                function p(a, c) {
                    c &amp;&amp; a.then(function(a) {
                        c(null, a)
                    }, function(a) {
                        c(a)
                    })
                }
                var E = g.openDatabase;
                if (E) return {
                    sh: "webSQLStorage",
                    Bl: h,
                    lq: l,
                    getItem: q,
                    setItem: a,
                    removeItem: f,
                    clear: c,
                    length: d,
                    key: e,
                    keys: n
                }
            }("undefined" != typeof window ? window : self);
            g.Dd = h["default"]
        }])
    };
    "object" == typeof exports &amp;&amp; "object" == typeof module ? module.Dd = yc() : "function" == typeof define &amp;&amp; define.Vz ? define([], yc) : "object" == typeof exports ? exports.localforage = yc() : this.localforage = yc()
} catch (zc) {
    xc = !0
}

function Ac(g) {
    this.b = g
}
(function() {
    function g(a) {
        a.b.trigger(Ac.prototype.e.ej, a)
    }

    function h() {}

    function b() {}

    function k() {}
    var r = "",
        q = "",
        l = "";
    "undefined" !== typeof window.is_scirra_arcade &amp;&amp; (l = "sa" + window.scirra_arcade_id + "_");
    var a = Ac.prototype;
    a.ma = function(a) {
        this.Ba = a;
        this.b = a.b
    };
    a.ma.prototype.J = function() {};
    a.Z = function(a) {
        this.type = a;
        this.b = a.b
    };
    var f = a.Z.prototype;
    f.J = function() {
        this.xn = this.yn = 0
    };
    f.qe = function() {};
    f.tb = function() {
        return {}
    };
    f.Hb = function() {};
    h.prototype.qt = function(a) {
        return r === a
    };
    h.prototype.et = function() {
        return !0
    };
    h.prototype.ot = function(a) {
        return r === a
    };
    h.prototype.dt = function() {
        return !0
    };
    h.prototype.ej = function() {
        return !0
    };
    h.prototype.xo = function(a) {
        return r === a
    };
    h.prototype.pt = function(a) {
        return r === a
    };
    h.prototype.Zs = function() {
        return !0
    };
    h.prototype.Ys = function() {
        return !0
    };
    a.e = new h;
    b.prototype.Yt = function(a, b) {
        if (xc) g(this);
        else {
            var e = l + a;
            this.yn++;
            var f = this;
            localforage.setItem(e, b, function(b, d) {
                f.yn--;
                b ? f.b.trigger(Ac.prototype.e.ej, f) : (r = a, q = d, f.b.trigger(Ac.prototype.e.et, f), f.b.trigger(Ac.prototype.e.qt, f), q = r = "");
                0 === f.yn &amp;&amp; f.b.trigger(Ac.prototype.e.Zs, f)
            })
        }
    };
    b.prototype.Js = function(a) {
        if (xc) g(this);
        else {
            var b = l + a;
            this.xn++;
            var e = this;
            localforage.getItem(b, function(b, d) {
                e.xn--;
                if (b) e.b.trigger(Ac.prototype.e.ej, e);
                else {
                    r = a;
                    q = d;
                    if ("undefined" === typeof q || null === q) q = "";
                    e.b.trigger(Ac.prototype.e.dt, e);
                    e.b.trigger(Ac.prototype.e.ot, e);
                    q = r = ""
                }
                0 === e.xn &amp;&amp; e.b.trigger(Ac.prototype.e.Ys, e)
            })
        }
    };
    b.prototype.As = function(a) {
        if (xc) g(this);
        else {
            var b = this;
            localforage.getItem(l + a, function(e, f) {
                e ? b.b.trigger(Ac.prototype.e.ej, b) : (r = a, null === f ? (q = "", b.b.trigger(Ac.prototype.e.pt, b)) : (q = f, b.b.trigger(Ac.prototype.e.xo, b)), q = r = "")
            })
        }
    };
    a.D = new b;
    k.prototype.Ss = function(a) {
        a.Wk(q)
    };
    a.ea = new k
})();

function Bc(g) {
    this.b = g
}
(function() {
    function g() {}

    function h() {}
    var b = Bc.prototype;
    b.ma = function(b) {
        this.Ba = b;
        this.b = b.b
    };
    b.ma.prototype.J = function() {};
    b.Z = function(b) {
        this.type = b;
        this.b = b.b;
        this.jg = Array(4);
        this.gs = this.jl = this.bg = this.ff = this.ef = 0;
        this.Xj = !1
    };
    var k = b.Z.prototype;
    k.J = function() {
        var b = this;
        if (!this.b.ra) {
            jQuery(document).mousemove(function(a) {
                b.pn(a)
            });
            jQuery(document).mousedown(function(a) {
                b.nn(a)
            });
            jQuery(document).mouseup(function(a) {
                b.qn(a)
            });
            jQuery(document).dblclick(function(a) {
                b.vx(a)
            });
            var g = function(a) {
                b.yx(a)
            };
            document.addEventListener("mousewheel", g, !1);
            document.addEventListener("DOMMouseScroll", g, !1)
        }
    };
    var r = {
        left: 0,
        top: 0
    };
    k.pn = function(b) {
        var g = this.b.ra ? r : jQuery(this.b.canvas).offset();
        this.ef = b.pageX - g.left;
        this.ff = b.pageY - g.top
    };
    k.Sq = function() {
        return 0 &lt; this.b.Zb ? !0 : 0 &lt;= this.ef &amp;&amp; 0 &lt;= this.ff &amp;&amp; this.ef &lt; this.b.width &amp;&amp; this.ff &lt; this.b.height
    };
    k.nn = function(b) {
        this.Sq() &amp;&amp; (this.jg[b.which] = !0, this.b.nb = !0, this.b.trigger(Bc.prototype.e.ct, this), this.bg = b.which - 1, this.jl = 0, this.b.trigger(Bc.prototype.e.vo, this), this.b.trigger(Bc.prototype.e.Do, this), this.b.nb = !1)
    };
    k.qn = function(b) {
        this.jg[b.which] &amp;&amp; (this.b.Vj &amp;&amp; !this.b.Lf &amp;&amp; b.preventDefault(), this.b.Vj = !0, this.jg[b.which] = !1, this.b.nb = !0, this.bg = b.which - 1, this.b.trigger(Bc.prototype.e.Eo, this), this.b.nb = !1)
    };
    k.vx = function(b) {
        this.Sq() &amp;&amp; (b.preventDefault(), this.b.nb = !0, this.bg = b.which - 1, this.jl = 1, this.b.trigger(Bc.prototype.e.vo, this), this.b.trigger(Bc.prototype.e.Do, this), this.b.nb = !1)
    };
    k.yx = function(b) {
        this.gs = 0 &gt; (b.wheelDelta ? b.wheelDelta : b.detail ? -b.detail : 0) ? 0 : 1;
        this.Xj = !1;
        this.b.nb = !0;
        this.b.trigger(Bc.prototype.e.Kt, this);
        this.b.nb = !1;
        this.Xj &amp;&amp; pb(b) &amp;&amp; b.preventDefault()
    };
    k.Tg = function() {
        var b, g;
        b = 0;
        for (g = this.jg.length; b &lt; g; ++b) this.jg[b] &amp;&amp; (this.jg[b] = !1, this.bg = b - 1, this.b.trigger(Bc.prototype.e.Eo, this))
    };
    g.prototype.vo = function(b, g) {
        return b === this.bg &amp;&amp; g === this.jl
    };
    g.prototype.ct = function() {
        return !0
    };
    g.prototype.Eo = function(b) {
        return b === this.bg
    };
    g.prototype.Do = function(b, g, a) {
        return b !== this.bg || g !== this.jl ? !1 : this.b.Ti(a, this.ef, this.ff)
    };
    g.prototype.Kt = function(b) {
        this.Xj = !0;
        return b === this.gs
    };
    b.e = new g;
    b.D = new function() {};
    h.prototype.No = function(b, g) {
        var a, f, c, d, e;
        ja(g) ? (a = this.b.ie(0), f = a.scale, c = a.rc, d = a.bd, e = a.g, a.scale = 1, a.rc = 1, a.bd = 1, a.g = 0, b.u(a.gb(this.ef, this.ff, !0)), a.scale = f, a.rc = c, a.bd = d, a.g = e) : (a = ka(g) ? this.b.ie(g) : this.b.Ph(g)) ? b.u(a.gb(this.ef, this.ff, !0)) : b.u(0)
    };
    h.prototype.Oo = function(b, g) {
        var a, f, c, d, e;
        ja(g) ? (a = this.b.ie(0), f = a.scale, c = a.rc, d = a.cd, e = a.g, a.scale = 1, a.rc = 1, a.cd = 1, a.g = 0, b.u(a.gb(this.ef, this.ff, !1)), a.scale = f, a.rc = c, a.cd = d, a.g = e) : (a = ka(g) ? this.b.ie(g) : this.b.Ph(g)) ? b.u(a.gb(this.ef, this.ff, !1)) : b.u(0)
    };
    b.ea = new h
})();

function rc(g) {
    this.b = g
}
(function() {
    function g() {
        if (0 === this.Ul.length) {
            var a = document.createElement("canvas");
            a.width = this.width;
            a.height = this.height;
            var b = a.getContext("2d");
            this.dh ? b.drawImage(this.xa, this.Qg, this.Rg, this.width, this.height, 0, 0, this.width, this.height) : b.drawImage(this.xa, 0, 0, this.width, this.height);
            this.Ul = a.toDataURL("image/png")
        }
        return this.Ul
    }

    function h() {}

    function b() {}
    var k = rc.prototype;
    k.ma = function(a) {
        this.Ba = a;
        this.b = a.b
    };
    var r = k.ma.prototype;
    r.J = function() {
        if (!this.N) {
            var a, b, e, f, k, h, l, r, m;
            this.kd = [];
            this.Vh = !1;
            a = 0;
            for (b = this.tc.length; a &lt; b; a++) {
                k = this.tc[a];
                l = {};
                l.name = k[0];
                l.speed = k[1];
                l.loop = k[2];
                l.Kn = k[3];
                l.Ln = k[4];
                l.te = k[5];
                l.Y = k[6];
                l.frames = [];
                e = 0;
                for (f = k[7].length; e &lt; f; e++) h = k[7][e], r = {}, r.Xn = h[0], r.bs = h[1], r.Qg = h[2], r.Rg = h[3], r.width = h[4], r.height = h[5], r.duration = h[6], r.lc = h[7], r.mc = h[8], r.Am = h[9], r.Ek = h[10], r.sr = h[11], r.dh = 0 !== r.width, r.Ul = "", r.$z = g, m = {
                    left: 0,
                    top: 0,
                    right: 1,
                    bottom: 1
                }, r.Sn = m, r.Va = null, (m = this.b.ew(h[0])) ? r.xa = m : (r.xa = new Image, r.xa.Mu = h[0], r.xa.Lu = h[1], r.xa.Du = null, this.b.us(r.xa, h[0])), l.frames.push(r), this.kd.push(r);
                this.tc[a] = l
            }
        }
    };
    r.ps = function() {
        var a, b, e;
        a = 0;
        for (b = this.d.length; a &lt; b; a++) e = this.d[a], e.wj = e.Oa.Va
    };
    r.mn = function() {
        if (!this.N) {
            var a, b, e;
            a = 0;
            for (b = this.kd.length; a &lt; b; ++a) e = this.kd[a], e.xa.Du = null, e.Va = null;
            this.Vh = !1;
            this.ps()
        }
    };
    r.rn = function() {
        if (!this.N &amp;&amp; this.d.length) {
            var a, b, e;
            a = 0;
            for (b = this.kd.length; a &lt; b; ++a) e = this.kd[a], e.Va = this.b.B.jk(e.xa, this.b.Qa, e.sr);
            this.ps()
        }
    };
    r.jx = function() {
        if (!this.N &amp;&amp; !this.Vh &amp;&amp; this.b.B) {
            var a, b, e;
            a = 0;
            for (b = this.kd.length; a &lt; b; ++a) e = this.kd[a], e.Va = this.b.B.jk(e.xa, this.b.Qa, e.sr);
            this.Vh = !0
        }
    };
    r.fo = function() {
        if (!this.N &amp;&amp; !this.d.length &amp;&amp; this.Vh) {
            var a, b, e;
            a = 0;
            for (b = this.kd.length; a &lt; b; ++a) e = this.kd[a], this.b.B.deleteTexture(e.Va), e.Va = null;
            this.Vh = !1
        }
    };
    var q = [];
    r.Cn = function(a) {
        var b, e, f;
        G(q);
        b = 0;
        for (e = this.kd.length; b &lt; e; ++b) f = this.kd[b].xa, -1 === q.indexOf(f) &amp;&amp; (a.drawImage(f, 0, 0), q.push(f))
    };
    k.Z = function(a) {
        this.type = a;
        this.b = a.b;
        a = this.type.tc[0].frames[0].Ek;
        this.Cc ? this.zd.Mi(a) : this.zd = new db(a)
    };
    var l = k.Z.prototype;
    l.J = function() {
        this.visible = 0 === this.n[0];
        this.Bm = this.Mm = !1;
        this.Ah = 0 !== this.n[3];
        this.Ga = this.Np(this.n[1]) || this.type.tc[0];
        this.F = this.n[2];
        0 &gt; this.F &amp;&amp; (this.F = 0);
        this.F &gt;= this.Ga.frames.length &amp;&amp; (this.F = this.Ga.frames.length - 1);
        var a = this.Ga.frames[this.F];
        this.zd.Mi(a.Ek);
        this.lc = a.lc;
        this.mc = a.mc;
        this.lg = this.Ga.speed;
        this.Se = this.Ga.Ln;
        1 === this.type.tc.length &amp;&amp; 1 === this.type.tc[0].frames.length || 0 === this.lg || (this.b.hl(this), this.Mm = !0);
        this.Cc ? this.yd.reset() : this.yd = new bb;
        this.he = this.yd.R;
        this.qf = !0;
        this.Wd = 0;
        this.pf = !0;
        this.Ol = this.$o = "";
        this.Hu = 0;
        this.pj = -1;
        this.type.jx();
        var b, e, f, g, k, h, l, a = 0;
        for (b = this.type.tc.length; a &lt; b; a++)
            for (g = this.type.tc[a], e = 0, f = g.frames.length; e &lt; f; e++) k = g.frames[e], 0 === k.width &amp;&amp; (k.width = k.xa.width, k.height = k.xa.height), k.dh &amp;&amp; (l = k.xa, h = k.Sn, h.left = k.Qg / l.width, h.top = k.Rg / l.height, h.right = (k.Qg + k.width) / l.width, h.bottom = (k.Rg + k.height) / l.height, 0 === k.Qg &amp;&amp; 0 === k.Rg &amp;&amp; k.width === l.width &amp;&amp; k.height === l.height &amp;&amp; (k.dh = !1));
        this.Oa = this.Ga.frames[this.F];
        this.wj = this.Oa.Va
    };
    l.tb = function() {
        var a = {
            a: this.Ga.Y,
            f: this.F,
            cas: this.lg,
            fs: this.he,
            ar: this.Wd,
            at: this.yd.R,
            rt: this.Se
        };
        this.qf || (a.ap = this.qf);
        this.pf || (a.af = this.pf);
        return a
    };
    l.Hb = function(a) {
        var b = this.iw(a.a);
        b &amp;&amp; (this.Ga = b);
        this.F = a.f;
        0 &gt; this.F &amp;&amp; (this.F = 0);
        this.F &gt;= this.Ga.frames.length &amp;&amp; (this.F = this.Ga.frames.length - 1);
        this.lg = a.cas;
        this.he = a.fs;
        this.Wd = a.ar;
        this.yd.reset();
        this.yd.R = a.at;
        this.qf = a.hasOwnProperty("ap") ? a.ap : !0;
        this.pf = a.hasOwnProperty("af") ? a.af : !0;
        a.hasOwnProperty("rt") ? this.Se = a.rt : this.Se = this.Ga.Ln;
        this.Oa = this.Ga.frames[this.F];
        this.wj = this.Oa.Va;
        this.zd.Mi(this.Oa.Ek);
        this.lc = this.Oa.lc;
        this.mc = this.Oa.mc
    };
    l.El = function(a) {
        this.F = a ? 0 : this.Ga.frames.length - 1;
        this.qf = !1;
        this.$o = this.Ga.name;
        this.Bm = !0;
        this.b.trigger(rc.prototype.e.bt, this);
        this.b.trigger(rc.prototype.e.$s, this);
        this.Bm = !1;
        this.Wd = 0
    };
    l.rf = function() {
        return this.yd.R
    };
    l.ub = function() {
        this.yd.add(this.b.Oh(this));
        this.Ol.length &amp;&amp; this.Tu();
        0 &lt;= this.pj &amp;&amp; this.yp();
        var a = this.yd.R,
            b = this.Ga,
            e = b.frames[this.F],
            f = e.duration / this.lg;
        this.qf &amp;&amp; a &gt;= this.he + f &amp;&amp; (this.pf ? this.F++ : this.F--, this.he += f, this.F &gt;= b.frames.length &amp;&amp; (b.te ? (this.pf = !1, this.F = b.frames.length - 2) : b.loop ? this.F = this.Se : (this.Wd++, this.Wd &gt;= b.Kn ? this.El(!1) : this.F = this.Se)), 0 &gt; this.F &amp;&amp; (b.te ? (this.F = 1, this.pf = !0, b.loop || (this.Wd++, this.Wd &gt;= b.Kn &amp;&amp; this.El(!0))) : b.loop ? this.F = this.Se : (this.Wd++, this.Wd &gt;= b.Kn ? this.El(!0) : this.F = this.Se)), 0 &gt; this.F ? this.F = 0 : this.F &gt;= b.frames.length &amp;&amp; (this.F = b.frames.length - 1), a &gt; this.he + b.frames[this.F].duration / this.lg &amp;&amp; (this.he = a), a = b.frames[this.F], this.gg(e, a), this.b.ca = !0)
    };
    l.Np = function(a) {
        var b, e, f;
        b = 0;
        for (e = this.type.tc.length; b &lt; e; b++)
            if (f = this.type.tc[b], ob(f.name, a)) return f;
        return null
    };
    l.iw = function(a) {
        var b, e, f;
        b = 0;
        for (e = this.type.tc.length; b &lt; e; b++)
            if (f = this.type.tc[b], f.Y === a) return f;
        return null
    };
    l.Tu = function() {
        var a = this.Ga.frames[this.F],
            b = this.Np(this.Ol);
        this.Ol = "";
        !b || ob(b.name, this.Ga.name) &amp;&amp; this.qf || (this.Ga = b, this.lg = b.speed, this.Se = b.Ln, 0 &gt; this.F &amp;&amp; (this.F = 0), this.F &gt;= this.Ga.frames.length &amp;&amp; (this.F = this.Ga.frames.length -
            1), 1 === this.Hu &amp;&amp; (this.F = 0), this.qf = !0, this.he = this.yd.R, this.pf = !0, this.gg(a, this.Ga.frames[this.F]), this.b.ca = !0)
    };
    l.yp = function() {
        var a = this.Ga.frames[this.F],
            b = this.F;
        this.F = ta(this.pj);
        0 &gt; this.F &amp;&amp; (this.F = 0);
        this.F &gt;= this.Ga.frames.length &amp;&amp; (this.F = this.Ga.frames.length - 1);
        b !== this.F &amp;&amp; (this.gg(a, this.Ga.frames[this.F]), this.he = this.yd.R, this.b.ca = !0);
        this.pj = -1
    };
    l.gg = function(a, b) {
        var e = a.width,
            f = a.height,
            g = b.width,
            k = b.height;
        e != g &amp;&amp; (this.width *= g / e);
        f != k &amp;&amp; (this.height *= k / f);
        this.lc = b.lc;
        this.mc = b.mc;
        this.zd.Mi(b.Ek);
        this.Sa();
        this.Oa = b;
        this.wj = b.Va;
        e = 0;
        for (f = this.L.length; e &lt; f; e++) g = this.L[e], g.gr &amp;&amp; g.gr(a, b);
        this.b.trigger(rc.prototype.e.gg, this)
    };
    l.Cd = function(a) {
        a.globalAlpha = this.opacity;
        var b = this.Oa,
            e = b.dh,
            f = b.xa,
            g = this.x,
            k = this.y,
            h = this.width,
            l = this.height;
        if (0 === this.g &amp;&amp; 0 &lt;= h &amp;&amp; 0 &lt;= l) g -= this.lc * h, k -= this.mc * l, this.b.ue &amp;&amp; (g = Math.round(g), k = Math.round(k)), e ? a.drawImage(f, b.Qg, b.Rg, b.width, b.height, g, k, h, l) : a.drawImage(f, g, k, h, l);
        else {
            this.b.ue &amp;&amp; (g = Math.round(g), k = Math.round(k));
            a.save();
            var m = 0 &lt; h ? 1 : -1,
                r = 0 &lt; l ? 1 : -1;
            a.translate(g, k);
            1 === m &amp;&amp; 1 === r || a.scale(m, r);
            a.rotate(this.g * m * r);
            g = 0 - this.lc * na(h);
            k = 0 - this.mc * na(l);
            e ? a.drawImage(f, b.Qg, b.Rg, b.width, b.height, g, k, na(h), na(l)) : a.drawImage(f, g, k, na(h), na(l));
            a.restore()
        }
    };
    l.pg = function(a) {
        this.wc(a)
    };
    l.wc = function(a) {
        a.Nc(this.wj);
        a.ah(this.opacity);
        var b = this.Oa,
            e = this.yh;
        if (this.b.ue) {
            var f = Math.round(this.x) - this.x,
                g = Math.round(this.y) - this.y;
            b.dh ? a.jf(e.Ab + f, e.Bb + g, e.gc + f, e.hc + g, e.Xb + f, e.Yb + g, e.Vb + f, e.Wb + g, b.Sn) : a.Gi(e.Ab + f, e.Bb + g, e.gc + f, e.hc + g, e.Xb + f, e.Yb + g, e.Vb + f, e.Wb + g)
        } else b.dh ? a.jf(e.Ab, e.Bb, e.gc, e.hc, e.Xb, e.Yb, e.Vb, e.Wb, b.Sn) : a.Gi(e.Ab, e.Bb, e.gc, e.hc, e.Xb, e.Yb, e.Vb, e.Wb)
    };
    l.mw = function(a) {
        var b = this.Oa,
            e, f;
        e = 0;
        for (f = b.Am.length; e &lt; f; e++)
            if (ob(a, b.Am[e][0])) return e;
        return -1
    };
    l.om = function(a, b) {
        var e = this.Oa,
            f = e.Am,
            g;
        C(a) ? g = this.mw(a) : g = a - 1;
        g = ta(g);
        if (0 &gt; g || g &gt;= f.length) return b ? this.x : this.y;
        var k = (f[g][1] - e.lc) * this.width,
            f = f[g][2],
            f = (f - e.mc) * this.height,
            e = Math.cos(this.g);
        g = Math.sin(this.g);
        var h = k * e - f * g,
            f = f * e + k * g,
            k = h + this.x,
            f = f + this.y;
        return b ? k : f
    };
    var a = new ea,
        f = !1;
    new wa(0, 0, 0, 0);
    r.finish = function(b) {
        if (f) {
            if (b) {
                var d = this.b.lb().jb.$c;
                b = null.Aa();
                var e = a.nf(),
                    g, k;
                if (b.Ia) {
                    b.Ia = !1;
                    G(b.d);
                    g = 0;
                    for (k = e.length; g &lt; k; ++g) b.d[g] = e[g];
                    if (d)
                        for (G(b.U), g = 0, k = null.d.length; g &lt; k; ++g) e = null.d[g], a.contains(e) || b.U.push(e)
                } else if (d)
                    for (d = b.d.length, g = 0, k = e.length; g &lt; k; ++g) b.d[d + g] = e[g], Ga(b.U, e[g]);
                else Da(b.d, e);
                null.Xd()
            }
            a.clear();
            f = !1
        }
    };
    h.prototype.Fs = function(a, b) {
        return hc(this.F, a, b)
    };
    h.prototype.$s = function(a) {
        return ob(this.$o, a)
    };
    h.prototype.bt = function() {
        return !0
    };
    h.prototype.gg = function() {
        return !0
    };
    k.e = new h;
    b.prototype.Rt = function(a) {
        this.pj = a;
        this.Mm || (this.b.hl(this), this.Mm = !0);
        this.Bm || this.yp()
    };
    k.D = new b;
    k.ea = new function() {}
})();

function Cc(g) {
    this.b = g
}
(function() {
    function g(a, b) {
        return a.length ? a.pop() : new b
    }

    function h(a, b, c) {
        if (c) {
            var d;
            c = 0;
            for (d = b.length; c &lt; d; c++) a.length &lt; l &amp;&amp; a.push(b[c]);
            G(b)
        } else
            for (d in b) Object.prototype.hasOwnProperty.call(b, d) &amp;&amp; (a.length &lt; l &amp;&amp; a.push(b[d]), delete b[d])
    }

    function b(b, c, d) {
        var e = b.Tf;
        d = d.replace(/\s\s*$/, "");
        c &gt;= e.length &amp;&amp; e.push(g(a, Object));
        c = e[c];
        c.text = d;
        c.width = b.bn(d);
        b.gh = oa(b.gh, c.width)
    }

    function k() {}
    var r = Cc.prototype;
    r.J = function() {};
    r.ma = function(a) {
        this.Ba = a;
        this.b = a.b
    };
    var q = r.ma.prototype;
    q.J = function() {
        this.N || (this.xa = new Image, this.b.us(this.xa, this.Xn), this.Va = null)
    };
    q.mn = function() {
        this.N || (this.Va = null)
    };
    q.rn = function() {
        if (!this.N &amp;&amp; this.d.length) {
            this.Va || (this.Va = this.b.B.jk(this.xa, this.b.Qa, this.Yn));
            var a, b;
            a = 0;
            for (b = this.d.length; a &lt; b; a++) this.d[a].Va = this.Va
        }
    };
    q.fo = function() {
        this.N || this.d.length || !this.Va || (this.b.B.deleteTexture(this.Va), this.Va = null)
    };
    q.Cn = function(a) {
        a.drawImage(this.xa, 0, 0)
    };
    r.Z = function(a) {
        this.type = a;
        this.b = a.b
    };
    q = r.Z.prototype;
    q.qe = function() {
        h(a, this.Tf, !0);
        h(f, this.rj, !1);
        h(c, this.sj, !1);
        Xa(this.Oe)
    };
    q.J = function() {
        this.xa = this.type.xa;
        this.qj = this.n[0];
        this.Me = this.n[1];
        this.characterSet = this.n[2];
        this.text = this.n[3];
        this.Ne = this.n[4];
        this.visible = 0 === this.n[5];
        this.Wj = this.n[6] / 2;
        this.ql = this.n[7] / 2;
        this.Dy = 0 === this.n[9];
        this.kg = this.n[10];
        this.lineHeight = this.n[11];
        this.ag = this.gh = 0;
        this.Cc ? (G(this.Tf), Xa(this.rj), Xa(this.sj), Xa(this.Oe)) : (this.Tf = [], this.rj = {}, this.sj = {}, this.Oe = {});
        this.Vi = !0;
        this.Um = this.width;
        this.b.B &amp;&amp; (this.type.Va || (this.type.Va = this.b.B.jk(this.type.xa, this.b.Qa, this.type.Yn)), this.Va = this.type.Va);
        this.du()
    };
    q.tb = function() {
        var a = {
                t: this.text,
                csc: this.Ne,
                csp: this.kg,
                lh: this.lineHeight,
                tw: this.gh,
                th: this.ag,
                lrt: this.gx,
                ha: this.Wj,
                va: this.ql,
                cw: {}
            },
            b;
        for (b in this.Oe) a.cw[b] = this.Oe[b];
        return a
    };
    q.Hb = function(a) {
        this.text = a.t;
        this.Ne = a.csc;
        this.kg = a.csp;
        this.lineHeight = a.lh;
        this.gh = a.tw;
        this.ag = a.th;
        this.gx = a.lrt;
        a.hasOwnProperty("ha") &amp;&amp; (this.Wj = a.ha);
        a.hasOwnProperty("va") &amp;&amp; (this.ql = a.va);
        for (var b in a.cw) this.Oe[b] = a.cw[b];
        this.Vi = !0;
        this.Um = this.width
    };
    var l = 1E3,
        a = [],
        f = [],
        c = [];
    q.du = function() {
        for (var a = this.xa, b = a.width, d = a.height, a = this.qj, e = this.Me, k = a / b, h = e / d, l = this.characterSet, b = Math.floor(b / a), d = Math.floor(d / e), r = 0; r &lt; l.length &amp;&amp; !(r &gt;= b * d); r++) {
            var q = r % b,
                v = Math.floor(r / b),
                B = l.charAt(r);
            if (this.b.B) {
                var A = this.sj,
                    y = q * k,
                    H = v * h,
                    q = (q + 1) * k,
                    v = (v + 1) * h;
                void 0 === A[B] &amp;&amp; (A[B] = g(c, wa));
                A[B].left = y;
                A[B].top = H;
                A[B].right = q;
                A[B].bottom = v
            } else A = this.rj, q = q * a, v = v * e, y = a, H = e, void 0 === A[B] &amp;&amp; (A[B] = g(f, Object)), A[B].x = q, A[B].y = v, A[B].ts = y, A[B].Wp = H
        }
    };
    var d = [];
    r.gu = function(a) {
        G(d);
        for (var b = "", c, e = 0; e &lt; a.length;)
            if (c = a.charAt(e), "\n" === c) b.length &amp;&amp; (d.push(b), b = ""), d.push("\n"), ++e;
            else if (" " === c || "\t" === c || "-" === c) {
            do b += a.charAt(e), e++; while (e &lt; a.length &amp;&amp; (" " === a.charAt(e) || "\t" === a.charAt(e)));
            d.push(b);
            b = ""
        } else e &lt; a.length &amp;&amp; (b += c, e++);
        b.length &amp;&amp; d.push(b)
    };
    r.mu = function(b) {
        var c = b.text,
            d = b.Tf;
        if (c &amp;&amp; c.length) {
            var e = b.width;
            if (2 &gt;= e) h(a, d, !0);
            else {
                var f = b.Ne,
                    k = b.kg;
                if (c.length * (b.qj * f + k) - k &lt;= e &amp;&amp; -1 === c.indexOf("\n") &amp;&amp; (k = b.bn(c), k &lt;= e)) {
                    h(a, d, !0);
                    d.push(g(a, Object));
                    d[0].text = c;
                    d[0].width = k;
                    b.gh = k;
                    b.ag = b.Me * f + b.lineHeight;
                    return
                }
                this.nu(b);
                b.ag = d.length * (b.Me * f + b.lineHeight)
            }
        } else h(a, d, !0)
    };
    r.nu = function(c) {
        var e = c.Dy,
            f = c.text,
            g = c.Tf,
            k = c.width;
        e &amp;&amp; (this.gu(f), f = d);
        var h = "",
            r, q, z, v = 0,
            B = !1;
        for (z = 0; z &lt; f.length; z++) "\n" === f[z] ? (!0 === B ? B = !1 : (b(c, v, h), v++), h = "") : (B = !1, r = h, h += f[z], q = c.bn(h.replace(/\s\s*$/, "")), q &gt; k &amp;&amp; ("" === r ? (b(c, v, h), h = "", B = !0) : (b(c, v, r), h = f[z]), v++, e || " " !== h || (h = "")));
        h.replace(/\s\s*$/, "").length &amp;&amp; (b(c, v, h), v++);
        for (z = v; z &lt; g.length; z++) a.length &lt; l &amp;&amp; a.push(g[z]);
        g.length = v
    };
    q.bn = function(a) {
        for (var b = this.kg, c = a.length, d = 0, e = 0; e &lt; c; e++) d += this.lm(a.charAt(e)) * this.Ne + b;
        return d - (0 &lt; d ? b : 0)
    };
    q.lm = function(a) {
        var b = this.Oe;
        return void 0 !== b[a] ? b[a] : this.qj
    };
    q.Br = function() {
        if (this.Vi || this.width !== this.Um) this.ag = this.gh = 0, this.type.Ba.mu(this), this.Vi = !1, this.Um = this.width
    };
    q.Cd = function(a) {
        var b = this.xa;
        if ("" !== this.text &amp;&amp; null != b &amp;&amp; (this.Br(), !(this.height &lt; this.Me * this.Ne + this.lineHeight))) {
            a.globalAlpha = this.opacity;
            var b = this.x,
                c = this.y;
            this.b.ue &amp;&amp; (b = Math.round(b), c = Math.round(c));
            var d = this.k.ya,
                e = this.k.za,
                f = this.k.Ea,
                g = this.k.Da;
            a.save();
            a.translate(b, c);
            a.rotate(this.g);
            for (var k = this.g, h = this.Wj, l = this.Ne, r = this.Me * l, q = this.lineHeight, y = this.kg, H = this.Tf, K, X = -(this.lc * this.width), L = -(this.mc * this.height), L = L + this.ql * oa(0, this.height - this.ag), t, P, Q, V = 0; V &lt; H.length; V++) {
                var F = H[V].text;
                K = h * oa(0, this.width - H[V].width);
                t = X + K;
                L += q;
                if (0 === k &amp;&amp; c + L + r &lt; e) L += r;
                else {
                    for (var w = 0; w &lt; F.length; w++) {
                        P = F.charAt(w);
                        K = this.lm(P);
                        var I = this.rj[P];
                        if (0 === k &amp;&amp; b +
                            t + K * l + y &lt; d) t += K * l + y;
                        else {
                            if (t + K * l &gt; this.width + 1E-5) break;
                            void 0 !== I &amp;&amp; (P = t, Q = L, 0 === k &amp;&amp; 1 === l &amp;&amp; (P = Math.round(P), Q = Math.round(Q)), a.drawImage(this.xa, I.x, I.y, I.ts, I.Wp, P, Q, I.ts * l, I.Wp * l));
                            t += K * l + y;
                            if (0 === k &amp;&amp; b + t &gt; f) break
                        }
                    }
                    L += r;
                    if (0 === k &amp;&amp; (L + r + q &gt; this.height || c + L &gt; g)) break
                }
            }
            a.restore()
        }
    };
    var e = new ya;
    q.wc = function(a) {
        a.Nc(this.Va);
        a.ah(this.opacity);
        if (this.text &amp;&amp; (this.Br(), !(this.height &lt; this.Me * this.Ne + this.lineHeight))) {
            this.Cb();
            var b = this.yh,
                c = 0,
                d = 0;
            this.b.ue &amp;&amp; (c = Math.round(this.x) - this.x, d = Math.round(this.y) -
                this.y);
            var f = this.k.ya,
                g = this.k.za,
                k = this.k.Ea,
                h = this.k.Da,
                l = this.g,
                r = this.Wj,
                q = this.ql,
                A = this.Ne,
                y = this.Me * A,
                H = this.lineHeight,
                K = this.kg,
                X = this.Tf,
                L = this.ag,
                t, P, Q;
            0 !== l &amp;&amp; (P = Math.cos(l), Q = Math.sin(l));
            for (var c = b.Ab + c, b = b.Bb + d, V, q = q * oa(0, this.height - L), F, w, L = 0; L &lt; X.length; L++)
                if (d = X[L].text, V = t = r * oa(0, this.width - X[L].width), q += H, 0 === l &amp;&amp; b + q + y &lt; g) q += y;
                else {
                    for (var I = 0; I &lt; d.length; I++) {
                        var D = d.charAt(I);
                        t = this.lm(D);
                        D = this.sj[D];
                        if (0 === l &amp;&amp; c + V + t * A + K &lt; f) V += t * A + K;
                        else {
                            if (V + t * A &gt; this.width + 1E-5) break;
                            if (void 0 !== D) {
                                var N = this.qj * A,
                                    J = this.Me * A;
                                F = V;
                                w = q;
                                0 === l &amp;&amp; 1 === A &amp;&amp; (F = Math.round(F), w = Math.round(w));
                                e.Ab = F;
                                e.Bb = w;
                                e.gc = F + N;
                                e.hc = w;
                                e.Vb = F;
                                e.Wb = w + J;
                                e.Xb = F + N;
                                e.Yb = w + J;
                                0 !== l &amp;&amp; (F = e, w = P, N = Q, J = void 0, J = F.Ab * w - F.Bb * N, F.Bb = F.Bb * w + F.Ab * N, F.Ab = J, J = F.gc * w - F.hc * N, F.hc = F.hc * w + F.gc * N, F.gc = J, J = F.Vb * w - F.Wb * N, F.Wb = F.Wb * w + F.Vb * N, F.Vb = J, J = F.Xb * w - F.Yb * N, F.Yb = F.Yb * w + F.Xb * N, F.Xb = J);
                                e.offset(c, b);
                                a.jf(e.Ab, e.Bb, e.gc, e.hc, e.Xb, e.Yb, e.Vb, e.Wb, D)
                            }
                            V += t * A + K;
                            if (0 === l &amp;&amp; c + V &gt; k) break
                        }
                    }
                    q += y;
                    if (0 === l &amp;&amp; (q + y + H &gt; this.height || b + q &gt; h)) break
                }
        }
    };
    r.e = new function() {};
    k.prototype.Ko = function(a) {
        ka(a) &amp;&amp; 1E9 &gt; a &amp;&amp; (a = Math.round(1E10 * a) / 1E10);
        a = a.toString();
        this.text !== a &amp;&amp; (this.text = a, this.Vi = !0, this.b.ca = !0)
    };
    q.Tt = function(a, b) {
        var c = parseInt(b, 10);
        this.Oe[a] !== c &amp;&amp; (this.Oe[a] = c, this.Vi = !0, this.b.ca = !0)
    };
    k.prototype.Ut = function(a, b) {
        if ("" !== a)
            for (var c = 0; c &lt; a.length; c++) this.Tt(a.charAt(c), b)
    };
    r.D = new k;
    r.ea = new function() {}
})();

function Dc(g) {
    this.b = g
}
(function() {
    function g(a) {
        f = a.x;
        c = a.y;
        d = a.z
    }

    function h(a, c, d, f) {
        var g;
        g = e.length ? e.pop() : new b;
        g.init(a, c, d, f);
        return g
    }

    function b() {
        this.Qi = this.id = this.y = this.x = this.al = this.$k = this.Tm = this.time = this.Wn = 0;
        this.Wi = this.kl = !1
    }

    function k() {}

    function r() {}
    var q = Dc.prototype;
    q.ma = function(a) {
        this.Ba = a;
        this.b = a.b
    };
    q.ma.prototype.J = function() {};
    q.Z = function(a) {
        this.type = a;
        this.b = a.b;
        this.touches = [];
        this.dn = !1
    };
    var l = q.Z.prototype,
        a = {
            left: 0,
            top: 0
        };
    l.Mh = function(a) {
        var b, c;
        b = 0;
        for (c = this.touches.length; b &lt; c; b++)
            if (this.touches[b].id === a) return b;
        return -1
    };
    var f = 0,
        c = 0,
        d = 0,
        e = [];
    b.prototype.init = function(a, b, c, d) {
        var e = Ya();
        this.Wn = this.Tm = this.time = e;
        this.$k = a;
        this.al = b;
        this.x = a;
        this.y = b;
        this.pressure = this.height = this.width = 0;
        this.id = c;
        this.Qi = d;
        this.Wi = this.kl = !1
    };
    b.prototype.update = function(a, b, c, d, e, f) {
        this.Tm = this.time;
        this.time = a;
        this.x = b;
        this.y = c;
        this.width = d;
        this.height = e;
        this.pressure = f;
        !this.Wi &amp;&amp; 15 &lt;= Ta(this.$k, this.al, this.x, this.y) &amp;&amp; (this.Wi = !0)
    };
    b.prototype.nx = function(a, b) {
        !this.kl &amp;&amp; 500 &lt;= Ya() - this.Wn &amp;&amp; !this.Wi &amp;&amp; 15 &gt; Ta(this.$k, this.al, this.x, this.y) &amp;&amp; (this.kl = !0, a.Sd = this.Qi, a.jh = this.id, a.ug = b, a.b.trigger(Dc.prototype.e.mt, a), a.ae = this.x, a.be = this.y, a.b.trigger(Dc.prototype.e.nt, a), a.ug = 0)
    };
    var n = -1E3,
        p = -1E3,
        E = -1E4;
    b.prototype.Qq = function(a, b) {
        if (!this.kl) {
            var c = Ya();
            333 &gt;= c - this.Wn &amp;&amp; !this.Wi &amp;&amp; 15 &gt; Ta(this.$k, this.al, this.x, this.y) &amp;&amp; (a.Sd = this.Qi, a.jh = this.id, a.ug = b, 666 &gt;= c - E &amp;&amp; 25 &gt; Ta(n, p, this.x, this.y) ? (a.b.trigger(Dc.prototype.e.ht, a), a.ae = this.x, a.be = this.y, a.b.trigger(Dc.prototype.e.it, a), p = n = -1E3, E = -1E4) : (a.b.trigger(Dc.prototype.e.Ht, a), a.ae = this.x, a.be = this.y, a.b.trigger(Dc.prototype.e.Go, a), n = this.x, p = this.y, E = c), a.ug = 0)
        }
    };
    l.J = function() {
        this.Zw = !("undefined" === typeof window.c2isWindows8 || !window.c2isWindows8);
        this.ug = this.jh = this.Sd = this.be = this.ae = this.Uo = this.To = this.So = this.tu = this.su = this.ru = this.Ak = this.zk = this.yk = 0;
        this.Ay = 0 !== this.n[0];
        var a = 0 &lt; this.b.Zb ? document : this.b.canvas,
            b = document;
        this.b.Tb ? b = a = window.Canvas : this.b.Kc &amp;&amp; (b = a = window);
        var c = this;
        "undefined" !== typeof PointerEvent ? (a.addEventListener("pointerdown", function(a) {
            c.fr(a)
        }, !1), a.addEventListener("pointermove", function(a) {
            c.er(a)
        }, !1), b.addEventListener("pointerup", function(a) {
            c.vk(a, !1)
        }, !1), b.addEventListener("pointercancel", function(a) {
            c.vk(a, !0)
        }, !1), this.b.canvas &amp;&amp; (this.b.canvas.addEventListener("MSGestureHold", function(a) {
            a.preventDefault()
        }, !1), document.addEventListener("MSGestureHold", function(a) {
            a.preventDefault()
        }, !1), this.b.canvas.addEventListener("gesturehold", function(a) {
            a.preventDefault()
        }, !1), document.addEventListener("gesturehold", function(a) {
            a.preventDefault()
        }, !1))) : window.navigator.msPointerEnabled ? (a.addEventListener("MSPointerDown", function(a) {
            c.fr(a)
        }, !1), a.addEventListener("MSPointerMove", function(a) {
            c.er(a)
        }, !1), b.addEventListener("MSPointerUp", function(a) {
            c.vk(a, !1)
        }, !1), b.addEventListener("MSPointerCancel", function(a) {
            c.vk(a, !0)
        }, !1), this.b.canvas &amp;&amp; (this.b.canvas.addEventListener("MSGestureHold", function(a) {
            a.preventDefault()
        }, !1), document.addEventListener("MSGestureHold", function(a) {
            a.preventDefault()
        }, !1))) : (a.addEventListener("touchstart", function(a) {
            c.ir(a)
        }, !1), a.addEventListener("touchmove", function(a) {
            c.hr(a)
        }, !1), b.addEventListener("touchend", function(a) {
            c.sn(a, !1)
        }, !1), b.addEventListener("touchcancel", function(a) {
            c.sn(a, !0)
        }, !1));
        if (this.Zw) {
            var d = function(a) {
                    a = a.reading;
                    c.So = a.accelerationX;
                    c.To = a.accelerationY;
                    c.Uo = a.accelerationZ
                },
                e = function(a) {
                    a = a.reading;
                    c.yk = a.yawDegrees;
                    c.zk = a.pitchDegrees;
                    c.Ak = a.rollDegrees
                },
                f = Windows.Devices.Sensors.Accelerometer.getDefault();
            f &amp;&amp; (f.reportInterval = Math.max(f.minimumReportInterval, 16), f.addEventListener("readingchanged", d));
            var k = Windows.Devices.Sensors.Inclinometer.getDefault();
            k &amp;&amp; (k.reportInterval = Math.max(k.minimumReportInterval, 16), k.addEventListener("readingchanged", e));
            document.addEventListener("visibilitychange", function() {
                document.hidden || document.msHidden ? (f &amp;&amp; f.removeEventListener("readingchanged", d), k &amp;&amp; k.removeEventListener("readingchanged", e)) : (f &amp;&amp; f.addEventListener("readingchanged", d), k &amp;&amp; k.addEventListener("readingchanged", e))
            }, !1)
        } else window.addEventListener("deviceorientation", function(a) {
            c.yk = a.alpha || 0;
            c.zk = a.beta || 0;
            c.Ak = a.gamma || 0
        }, !1), window.addEventListener("devicemotion", function(a) {
            a.accelerationIncludingGravity &amp;&amp; (c.ru = a.accelerationIncludingGravity.x || 0, c.su = a.accelerationIncludingGravity.y || 0, c.tu = a.accelerationIncludingGravity.z || 0);
            a.acceleration &amp;&amp; (c.So = a.acceleration.x || 0, c.To = a.acceleration.y || 0, c.Uo = a.acceleration.z || 0)
        }, !1);
        this.Ay &amp;&amp; !this.b.ra &amp;&amp; (jQuery(document).mousemove(function(a) {
            c.pn(a)
        }), jQuery(document).mousedown(function(a) {
            c.nn(a)
        }), jQuery(document).mouseup(function(a) {
            c.qn(a)
        }));
        !this.b.Dg &amp;&amp; this.b.xc &amp;&amp; navigator.accelerometer &amp;&amp; navigator.accelerometer.watchAcceleration &amp;&amp; navigator.accelerometer.watchAcceleration(g, null, {
            frequency: 40
        });
        this.b.ny(this)
    };
    l.er = function(b) {
        if (b.pointerType !== b.MSPOINTER_TYPE_MOUSE &amp;&amp; "mouse" !== b.pointerType) {
            b.preventDefault &amp;&amp; b.preventDefault();
            var c = this.Mh(b.pointerId),
                d = Ya();
            if (0 &lt;= c) {
                var e = this.b.ra ? a : jQuery(this.b.canvas).offset(),
                    c = this.touches[c];
                2 &gt; d - c.time || c.update(d, b.pageX - e.left, b.pageY - e.top, b.width || 0, b.height || 0, b.pressure || 0)
            }
        }
    };
    l.fr = function(b) {
        if (b.pointerType !== b.MSPOINTER_TYPE_MOUSE &amp;&amp; "mouse" !== b.pointerType) {
            b.preventDefault &amp;&amp; pb(b) &amp;&amp; b.preventDefault();
            var c = this.b.ra ? a : jQuery(this.b.canvas).offset(),
                d = b.pageX - c.left,
                c = b.pageY - c.top;
            Ya();
            this.Sd = this.touches.length;
            this.jh = b.pointerId;
            this.touches.push(h(d, c, b.pointerId, this.Sd));
            this.b.nb = !0;
            this.b.trigger(Dc.prototype.e.Co, this);
            this.b.trigger(Dc.prototype.e.Io, this);
            this.ae = d;
            this.be = c;
            this.b.trigger(Dc.prototype.e.yl, this);
            this.b.nb = !1
        }
    };
    l.vk = function(a, b) {
        if (a.pointerType !== a.MSPOINTER_TYPE_MOUSE &amp;&amp; "mouse" !== a.pointerType) {
            a.preventDefault &amp;&amp; pb(a) &amp;&amp; a.preventDefault();
            var c = this.Mh(a.pointerId);
            this.Sd = 0 &lt;= c ? this.touches[c].Qi : -1;
            this.jh = 0 &lt;= c ? this.touches[c].id : -1;
            this.b.nb = !0;
            this.b.trigger(Dc.prototype.e.Bo, this);
            this.b.trigger(Dc.prototype.e.Ho, this);
            0 &lt;= c &amp;&amp; (b || this.touches[c].Qq(this, c), 100 &gt; e.length &amp;&amp; e.push(this.touches[c]), this.touches.splice(c, 1));
            this.b.nb = !1
        }
    };
    l.hr = function(b) {
        b.preventDefault &amp;&amp; b.preventDefault();
        var c = Ya(),
            d, e, f, g;
        d = 0;
        for (e = b.changedTouches.length; d &lt; e; d++)
            if (f = b.changedTouches[d], g = this.Mh(f.identifier), 0 &lt;= g) {
                var k = this.b.ra ? a : jQuery(this.b.canvas).offset();
                g = this.touches[g];
                2 &gt; c - g.time || g.update(c, f.pageX - k.left, f.pageY - k.top, 2 * (f.mA || f.uA || f.eA || f.hA || 0), 2 * (f.nA || f.vA || f.fA || f.iA || 0), f.Yz || f.tA || f.dA || f.gA || 0)
            }
    };
    l.ir = function(b) {
        b.preventDefault &amp;&amp; pb(b) &amp;&amp; b.preventDefault();
        var c = this.b.ra ? a : jQuery(this.b.canvas).offset();
        Ya();
        this.b.nb = !0;
        var d, e, f, g;
        d = 0;
        for (e = b.changedTouches.length; d &lt; e; d++)
            if (f = b.changedTouches[d], g = this.Mh(f.identifier), -1 === g) {
                g = f.pageX - c.left;
                var k = f.pageY - c.top;
                this.Sd = this.touches.length;
                this.jh = f.identifier;
                this.touches.push(h(g, k, f.identifier, this.Sd));
                this.b.trigger(Dc.prototype.e.Co, this);
                this.b.trigger(Dc.prototype.e.Io, this);
                this.ae = g;
                this.be = k;
                this.b.trigger(Dc.prototype.e.yl, this)
            }
        this.b.nb = !1
    };
    l.sn = function(a, b) {
        a.preventDefault &amp;&amp; pb(a) &amp;&amp; a.preventDefault();
        this.b.nb = !0;
        var c, d, f;
        c = 0;
        for (d = a.changedTouches.length; c &lt; d; c++) f = a.changedTouches[c], f = this.Mh(f.identifier), 0 &lt;= f &amp;&amp; (this.Sd = this.touches[f].Qi, this.jh = this.touches[f].id, this.b.trigger(Dc.prototype.e.Bo, this), this.b.trigger(Dc.prototype.e.Ho, this), b || this.touches[f].Qq(this, f), 100 &gt; e.length &amp;&amp; e.push(this.touches[f]), this.touches.splice(f, 1));
        this.b.nb = !1
    };
    l.rf = function() {
        return this.b.xc &amp;&amp; 0 === this.yk &amp;&amp; 0 !== d ? 90 * d : this.yk
    };
    l.zj = function() {
        return this.b.xc &amp;&amp; 0 === this.zk &amp;&amp; 0 !== c ? 90 * c : this.zk
    };
    l.Xl = function() {
        return this.b.xc &amp;&amp; 0 === this.Ak &amp;&amp; 0 !== f ? 90 * f : this.Ak
    };
    l.nn = function(a) {
        this.ir({
            changedTouches: [{
                pageX: a.pageX,
                pageY: a.pageY,
                identifier: 0
            }]
        });
        this.dn = !0
    };
    l.pn = function(a) {
        this.dn &amp;&amp; this.hr({
            changedTouches: [{
                pageX: a.pageX,
                pageY: a.pageY,
                identifier: 0
            }]
        })
    };
    l.qn = function(a) {
        a.preventDefault &amp;&amp; this.b.Vj &amp;&amp; !this.b.Lf &amp;&amp; a.preventDefault();
        this.b.Vj = !0;
        this.sn({
            changedTouches: [{
                pageX: a.pageX,
                pageY: a.pageY,
                identifier: 0
            }]
        });
        this.dn = !1
    };
    l.gl = function() {
        var a, b, c, d = Ya();
        a = 0;
        for (b = this.touches.length; a &lt; b; ++a) c = this.touches[a], c.time &lt;= d - 50 &amp;&amp; (c.Tm = d), c.nx(this, a)
    };
    k.prototype.Io = function() {
        return !0
    };
    k.prototype.Ho = function() {
        return !0
    };
    k.prototype.yl = function(a) {
        return a ? this.b.Ti(a, this.ae, this.be) : !1
    };
    k.prototype.Co = function(a) {
        a = Math.floor(a);
        return a === this.Sd
    };
    k.prototype.Bo = function(a) {
        a = Math.floor(a);
        return a === this.Sd
    };
    k.prototype.mt = function() {
        return !0
    };
    k.prototype.Ht = function() {
        return !0
    };
    k.prototype.ht = function() {
        return !0
    };
    k.prototype.nt = function(a) {
        return a ? this.b.Ti(a, this.ae, this.be) : !1
    };
    k.prototype.Go = function(a) {
        return a ? this.b.Ti(a, this.ae, this.be) : !1
    };
    k.prototype.it = function(a) {
        return a ? this.b.Ti(a, this.ae, this.be) : !1
    };
    q.e = new k;
    r.prototype.No = function(a, b) {
        var c = this.ug;
        if (0 &gt; c || c &gt;= this.touches.length) a.u(0);
        else {
            var d, e, f, g, k;
            ja(b) ? (d = this.b.ie(0), e = d.scale, f = d.rc, g = d.bd, k = d.g, d.scale = 1, d.rc = 1, d.bd = 1, d.g = 0, a.u(d.gb(this.touches[c].x, this.touches[c].y, !0)), d.scale = e, d.rc = f, d.bd = g, d.g = k) : (d = ka(b) ? this.b.ie(b) : this.b.Ph(b)) ? a.u(d.gb(this.touches[c].x, this.touches[c].y, !0)) : a.u(0)
        }
    };
    r.prototype.Oo = function(a, b) {
        var c = this.ug;
        if (0 &gt; c || c &gt;= this.touches.length) a.u(0);
        else {
            var d, e, f, g, k;
            ja(b) ? (d = this.b.ie(0), e = d.scale, f = d.rc, g = d.cd, k = d.g, d.scale = 1, d.rc = 1, d.cd = 1, d.g = 0, a.u(d.gb(this.touches[c].x, this.touches[c].y, !1)), d.scale = e, d.rc = f, d.cd = g, d.g = k) : (d = ka(b) ? this.b.ie(b) : this.b.Ph(b)) ? a.u(d.gb(this.touches[c].x, this.touches[c].y, !1)) : a.u(0)
        }
    };
    q.ea = new r
})();

function Ec(g) {
    this.b = g
}
var W = "",
    Fc = "";
(function() {
    function g() {}

    function h() {}
    var b = Ec.prototype;
    b.ma = function(b) {
        this.Ba = b;
        this.b = b.b
    };
    b.ma.prototype.J = function() {};
    b.Z = function(b) {
        this.type = b;
        this.b = b.b
    };
    var k = b.Z.prototype;
    k.J = function() {
        this.$b = $("body");
        var b = this;
        this.$b.addClass("animated").on("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function(g) {
            Fc = g.originalEvent.animationName; - 1 != Fc.indexOf("Out") &amp;&amp; b.$b.css("opacity", "0");
            b.b.trigger(Ec.prototype.e.Xw, b);
            b.$b.removeClass(W);
            W = ""
        })
    };
    k.qe = function() {};
    k.tb = function() {
        return {}
    };
    k.Hb = function() {};
    k.Cd = function() {};
    k.wc = function() {};
    g.prototype.Xw = function() {
        return !0
    };
    b.e = new g;
    h.prototype.xv = function(b, g, k) {
        0 &gt; g ? (this.$b.Hd("-webkit-animation-duration"), this.$b.Hd("-moz-animation-duration"), this.$b.Hd("-o-animation-duration"), this.$b.Hd("-ms-animation-duration"), this.$b.Hd("animation-duration")) : this.$b.css({
            "-webkit-animation-duration": g + "s",
            "-moz-animation-duration": g + "s",
            "-o-animation-duration": g + "s",
            "-ms-animation-duration": g + "s",
            "animation-duration": g + "s"
        });
        0 &gt; k ? (this.$b.Hd("-webkit-animation-delay"), this.$b.Hd("-moz-animation-delay"), this.$b.Hd("-o-animation-delay"), this.$b.Hd("-ms-animation-delay"), this.$b.Hd("animation-delay")) : this.$b.css({
            "-webkit-animation-delay": k + "s",
            "-moz-animation-delay": k + "s",
            "-o-animation-delay": k + "s",
            "-ms-animation-delay": k + "s",
            "animation-delay": k + "s"
        });
        switch (b) {
            case 0:
                W = "bounceIn";
                break;
            case 1:
                W = "bounceInDown";
                break;
            case 2:
                W = "bounceInLeft";
                break;
            case 3:
                W = "bounceInRight";
                break;
            case 4:
                W = "bounceInUp";
                break;
            case 5:
                W = "fadeIn";
                break;
            case 6:
                W = "fadeInDown";
                break;
            case 7:
                W = "fadeInDownBig";
                break;
            case 8:
                W = "fadeInLeft";
                break;
            case 9:
                W = "fadeInLeftBig";
                break;
            case 10:
                W = "fadeInRight";
                break;
            case 11:
                W = "fadeInRightBig";
                break;
            case 12:
                W = "fadeInUp";
                break;
            case 13:
                W = "fadeInUpBig";
                break;
            case 14:
                W = "flipInX";
                break;
            case 15:
                W = "flipInY";
                break;
            case 16:
                W = "lightSpeedIn";
                break;
            case 17:
                W = "rotateIn";
                break;
            case 18:
                W = "rotateInDownLeft";
                break;
            case 19:
                W = "rotateInDownRight";
                break;
            case 20:
                W = "rotateInUpLeft";
                break;
            case 21:
                W = "rotateInUpRight";
                break;
            case 22:
                W = "rollIn";
                break;
            case 23:
                W = "zoomIn";
                break;
            case 24:
                W = "zoomInDown";
                break;
            case 25:
                W = "zoomInLeft";
                break;
            case 26:
                W = "zoomInRight";
                break;
            case 27:
                W = "zoomInUp";
                break;
            case 28:
                W = "slideInDown";
                break;
            case 29:
                W = "slideInLeft";
                break;
            case 30:
                W = "slideInRight";
                break;
            case 31:
                W = "slideInUp";
                break;
            default:
                W = "bounceIn"
        }
        this.$b.css("opacity", "1").addClass(W)
    };
    b.D = new h;
    b.ea = new function() {}
})();
$.fn.Hd = function(g) {
    if ("undefined" != typeof $(this).attr("style")) {
        for (var h = $(this).attr("style").split(";"), b = -1, k = 0; k &lt; h.length; k++) - 1 !== h[k].indexOf(g) &amp;&amp; (b = k); - 1 !== b &amp;&amp; delete h[b];
        $(this).attr("style", h.join(";") + ";")
    }
};

function Gc(g) {
    this.b = g
}
(function() {
    function g() {}

    function h() {}
    var b = Gc.prototype;
    b.ma = function(b) {
        this.behavior = b;
        this.b = b.b
    };
    b.ma.prototype.J = function() {};
    b.Z = function(b, g) {
        this.type = b;
        this.behavior = b.behavior;
        this.c = g;
        this.b = b.b
    };
    var k = b.Z.prototype;
    k.J = function() {
        this.Cl = 1 === this.n[0];
        this.Pr = !1;
        this.Kh = this.n[1];
        this.$i = this.n[2];
        this.Hj = this.n[3];
        this.Ru = this.n[4];
        this.Dc = this.Cl ? 0 : 3;
        this.Cc ? this.ed.reset() : this.ed = new bb;
        this.df = this.c.opacity ? this.c.opacity : 1;
        this.Cl &amp;&amp; (0 === this.Kh ? (this.Dc = 1, 0 === this.$i &amp;&amp; (this.Dc = 2)) : (this.c.opacity = 0, this.b.ca = !0))
    };
    k.tb = function() {
        return {
            fit: this.Kh,
            wt: this.$i,
            fot: this.Hj,
            s: this.Dc,
            st: this.ed.R,
            mo: this.df
        }
    };
    k.Hb = function(b) {
        this.Kh = b.fit;
        this.$i = b.wt;
        this.Hj = b.fot;
        this.Dc = b.s;
        this.ed.reset();
        this.ed.R = b.st;
        this.df = b.mo
    };
    k.ub = function() {
        this.ed.add(this.b.Oh(this.c));
        0 === this.Dc &amp;&amp; (this.c.opacity = this.ed.R / this.Kh * this.df, this.b.ca = !0, this.c.opacity &gt;= this.df &amp;&amp; (this.c.opacity = this.df, this.Dc = 1, this.ed.reset(), this.b.trigger(Gc.prototype.e.kt, this.c)));
        1 === this.Dc &amp;&amp; this.ed.R &gt;= this.$i &amp;&amp; (this.Dc = 2, this.ed.reset(), this.b.trigger(Gc.prototype.e.Jt, this.c));
        2 === this.Dc &amp;&amp; 0 !== this.Hj &amp;&amp; (this.c.opacity = this.df - this.ed.R / this.Hj * this.df, this.b.ca = !0, 0 &gt; this.c.opacity &amp;&amp; (this.c.opacity = 0, this.Dc = 3, this.ed.reset(), this.b.trigger(Gc.prototype.e.lt, this.c), 1 === this.Ru &amp;&amp; this.b.Fe(this.c)))
    };
    k.kv = function() {
        this.Dc = 0;
        this.ed.reset();
        0 === this.Kh ? (this.Dc = 1, 0 === this.$i &amp;&amp; (this.Dc = 2)) : (this.c.opacity = 0, this.b.ca = !0)
    };
    g.prototype.lt = function() {
        return !0
    };
    g.prototype.kt = function() {
        return !0
    };
    g.prototype.Jt = function() {
        return !0
    };
    b.e = new g;
    h.prototype.fu = function() {
        this.Cl || this.Pr || (this.df = this.c.opacity ? this.c.opacity : 1, this.Pr = !0);
        3 === this.Dc &amp;&amp; this.kv()
    };
    b.D = new h;
    b.ea = new function() {}
})();

function Hc(g) {
    this.b = g
}
(function() {
    function g() {}
    var h = Hc.prototype;
    h.ma = function(b) {
        this.behavior = b;
        this.b = b.b
    };
    h.ma.prototype.J = function() {};
    h.Z = function(b, g) {
        this.type = b;
        this.behavior = b.behavior;
        this.c = g;
        this.b = b.b
    };
    var b = h.Z.prototype;
    b.J = function() {
        this.sb = null;
        this.Ck = -1;
        this.mode = this.Fg = this.el = this.Pg = this.se = this.Di = 0;
        var b = this;
        this.Cc || (this.Uq = function(g) {
            b.ln(g)
        });
        this.b.Wo(this.Uq)
    };
    b.tb = function() {
        return {
            uid: this.sb ? this.sb.uid : -1,
            pa: this.Di,
            pd: this.se,
            msa: this.Pg,
            tsa: this.el,
            lka: this.Fg,
            m: this.mode
        }
    };
    b.Hb = function(b) {
        this.Ck = b.uid;
        this.Di = b.pa;
        this.se = b.pd;
        this.Pg = b.msa;
        this.el = b.tsa;
        this.Fg = b.lka;
        this.mode = b.m
    };
    b.Vd = function() {
        -1 === this.Ck ? this.sb = null : this.sb = this.b.Qh(this.Ck);
        this.Ck = -1
    };
    b.ln = function(b) {
        this.sb == b &amp;&amp; (this.sb = null)
    };
    b.qe = function() {
        this.sb = null;
        this.b.Qx(this.Uq)
    };
    b.ub = function() {};
    b.gl = function() {
        if (this.sb) {
            this.Fg !== this.c.g &amp;&amp; (this.Pg = Ka(this.Pg + (this.c.g - this.Fg)));
            var b = this.c.x,
                g = this.c.y;
            if (3 === this.mode || 4 === this.mode) {
                var h = Ta(this.c.x, this.c.y, this.sb.x, this.sb.y);
                if (h &gt; this.se || 4 === this.mode &amp;&amp; h &lt; this.se) g = Na(this.sb.x, this.sb.y, this.c.x, this.c.y), b = this.sb.x + Math.cos(g) * this.se, g = this.sb.y + Math.sin(g) * this.se
            } else b = this.sb.x + Math.cos(this.sb.g + this.Di) * this.se, g = this.sb.y + Math.sin(this.sb.g + this.Di) * this.se;
            this.Fg = h = Ka(this.Pg + (this.sb.g - this.el));
            0 !== this.mode &amp;&amp; 1 !== this.mode &amp;&amp; 3 !== this.mode &amp;&amp; 4 !== this.mode || this.c.x === b &amp;&amp; this.c.y === g || (this.c.x = b, this.c.y = g, this.c.Sa());
            0 !== this.mode &amp;&amp; 2 !== this.mode || this.c.g === h || (this.c.g = h, this.c.Sa())
        }
    };
    h.e = new function() {};
    g.prototype.Mt = function(b, g) {
        if (b) {
            var h = b.Tp(this.c);
            h &amp;&amp; (this.sb = h, this.Di = Na(h.x, h.y, this.c.x, this.c.y) - h.g, this.se = Ta(h.x, h.y, this.c.x, this.c.y), this.Fg = this.Pg = this.c.g, this.el = h.g, this.mode = g)
        }
    };
    h.D = new g;
    h.ea = new function() {}
})();

function Ic(g) {
    this.b = g
}
(function() {
    function g() {}

    function h() {}
    var b = Ic.prototype;
    b.ma = function(a) {
        this.behavior = a;
        this.b = a.b
    };
    b.ma.prototype.J = function() {};
    b.Z = function(a, b) {
        this.type = a;
        this.behavior = a.behavior;
        this.c = b;
        this.b = a.b;
        this.Xa = 0
    };
    var k = b.Z.prototype,
        r = 2 * Math.PI,
        q = Math.PI / 2,
        l = 3 * Math.PI / 2;
    k.J = function() {
        this.Wa = 1 === this.n[0];
        this.Ng = this.n[1];
        this.po = this.n[2];
        this.re = this.n[3];
        this.re += Math.random() * this.n[4];
        0 === this.re ? this.Xa = 0 : (this.Xa = this.n[5] / this.re * r, this.Xa += Math.random() * this.n[6] / this.re * r);
        this.cc = this.n[7];
        this.cc += Math.random() * this.n[8];
        this.Hi = this.Jf = this.aa = 0;
        this.init()
    };
    k.tb = function() {
        return {
            i: this.Xa,
            a: this.Wa,
            mv: this.Ng,
            w: this.po,
            p: this.re,
            mag: this.cc,
            iv: this.aa,
            iv2: this.Jf,
            r: this.Hi,
            lkv: this.O,
            lkv2: this.Ka
        }
    };
    k.Hb = function(a) {
        this.Xa = a.i;
        this.Wa = a.a;
        this.Ng = a.mv;
        this.po = a.w;
        this.re = a.p;
        this.cc = a.mag;
        this.aa = a.iv;
        this.Jf = a.iv2 || 0;
        this.Hi = a.r;
        this.O = a.lkv;
        this.Ka = a.lkv2 || 0
    };
    k.init = function() {
        switch (this.Ng) {
            case 0:
                this.aa = this.c.x;
                break;
            case 1:
                this.aa = this.c.y;
                break;
            case 2:
                this.aa = this.c.width;
                this.Hi = this.c.height / this.c.width;
                break;
            case 3:
                this.aa = this.c.width;
                break;
            case 4:
                this.aa = this.c.height;
                break;
            case 5:
                this.aa = this.c.g;
                this.cc = M(this.cc);
                break;
            case 6:
                this.aa = this.c.opacity;
                break;
            case 7:
                this.aa = 0;
                break;
            case 8:
                this.aa = this.c.x, this.Jf = this.c.y
        }
        this.O = this.aa;
        this.Ka = this.Jf
    };
    k.Td = function(a) {
        a = a % r;
        switch (this.po) {
            case 0:
                return Math.sin(a);
            case 1:
                return a &lt;= q ? a / q : a &lt;= l ? 1 - 2 * (a - q) / Math.PI : (a - l) / q - 1;
            case 2:
                return 2 * a / r - 1;
            case 3:
                return -2 * a / r + 1;
            case 4:
                return a &lt; Math.PI ? -1 : 1
        }
        return 0
    };
    k.ub = function() {
        var a = this.b.Oh(this.c);
        this.Wa &amp;&amp; 0 !== a &amp;&amp; (0 === this.re ? this.Xa = 0 : (this.Xa += a / this.re * r, this.Xa = this.Xa % r), this.vy())
    };
    k.vy = function() {
        switch (this.Ng) {
            case 0:
                this.c.x !== this.O &amp;&amp; (this.aa += this.c.x - this.O);
                this.c.x = this.aa + this.Td(this.Xa) * this.cc;
                this.O = this.c.x;
                break;
            case 1:
                this.c.y !== this.O &amp;&amp; (this.aa += this.c.y - this.O);
                this.c.y = this.aa + this.Td(this.Xa) * this.cc;
                this.O = this.c.y;
                break;
            case 2:
                this.c.width = this.aa + this.Td(this.Xa) * this.cc;
                this.c.height = this.c.width * this.Hi;
                break;
            case 3:
                this.c.width = this.aa + this.Td(this.Xa) * this.cc;
                break;
            case 4:
                this.c.height = this.aa + this.Td(this.Xa) * this.cc;
                break;
            case 5:
                this.c.g !== this.O &amp;&amp; (this.aa = Ka(this.aa + (this.c.g - this.O)));
                this.c.g = Ka(this.aa + this.Td(this.Xa) * this.cc);
                this.O = this.c.g;
                break;
            case 6:
                this.c.opacity = this.aa + this.Td(this.Xa) * this.cc / 100;
                0 &gt; this.c.opacity ? this.c.opacity = 0 : 1 &lt; this.c.opacity &amp;&amp; (this.c.opacity = 1);
                break;
            case 8:
                this.c.x !== this.O &amp;&amp; (this.aa += this.c.x - this.O), this.c.y !== this.Ka &amp;&amp; (this.Jf += this.c.y - this.Ka), this.c.x = this.aa + Math.cos(this.c.g) * this.Td(this.Xa) * this.cc, this.c.y = this.Jf + Math.sin(this.c.g) * this.Td(this.Xa) * this.cc, this.O = this.c.x, this.Ka = this.c.y
        }
        this.c.Sa()
    };
    k.gr = function(a, b) {
        switch (this.Ng) {
            case 2:
                this.aa *= b.width / a.width;
                this.Hi = b.height / b.width;
                break;
            case 3:
                this.aa *= b.width / a.width;
                break;
            case 4:
                this.aa *= b.height / a.height
        }
    };
    g.prototype.Os = function() {
        return this.Wa
    };
    b.e = new g;
    b.D = new function() {};
    h.prototype.iu = function(a) {
        a.u(this.Td(this.Xa) * this.cc)
    };
    b.ea = new h
})();
var Jc = [],
    Kc = [],
    Lc = [],
    Mc = [],
    Nc = [],
    Oc = [],
    Pc = [],
    Tc = [],
    Uc = [];

function Vc(g, h) {
    return Math.round(g / h * 1E4)
}

function Wc(g, h, b, k) {
    var r = 0;
    switch (g) {
        case 0:
            r = 1 * h / b + 0;
            break;
        case 1:
            r = 1 * (h /= b) * h + 0;
            break;
        case 2:
            r = -1 * (h /= b) * (h - 2) + 0;
            break;
        case 3:
            r = 1 &gt; (h /= b / 2) ? .5 * h * h + 0 : -.5 * (--h * (h - 2) - 1) + 0;
            break;
        case 4:
            r = 1 * (h /= b) * h * h + 0;
            break;
        case 5:
            r = 1 * ((h = h / b - 1) * h * h + 1) + 0;
            break;
        case 6:
            r = 1 &gt; (h /= b / 2) ? .5 * h * h * h + 0 : .5 * ((h -= 2) * h * h + 2) + 0;
            break;
        case 7:
            r = 1 * (h /= b) * h * h * h + 0;
            break;
        case 8:
            r = -1 * ((h = h / b - 1) * h * h * h - 1) + 0;
            break;
        case 9:
            r = 1 &gt; (h /= b / 2) ? .5 * h * h * h * h + 0 : -.5 * ((h -= 2) * h * h * h - 2) + 0;
            break;
        case 10:
            r = 1 * (h /= b) * h * h * h * h + 0;
            break;
        case 11:
            r = 1 * ((h = h / b - 1) * h * h * h * h +
                1) + 0;
            break;
        case 12:
            r = 1 &gt; (h /= b / 2) ? .5 * h * h * h * h * h + 0 : .5 * ((h -= 2) * h * h * h * h + 2) + 0;
            break;
        case 13:
            r = Nc[Vc(h, b)];
            break;
        case 14:
            r = Oc[Vc(h, b)];
            break;
        case 15:
            r = Pc[Vc(h, b)];
            break;
        case 16:
            g = 0;
            0 == g &amp;&amp; (g = 1.70158);
            r = 1 * (h /= b) * h * ((g + 1) * h - g) + 0;
            break;
        case 17:
            r = Tc[Vc(h, b)];
            break;
        case 18:
            r = Uc[Vc(h, b)];
            break;
        case 19:
            r = Kc[Vc(h, b)];
            break;
        case 20:
            r = Lc[Vc(h, b)];
            break;
        case 21:
            r = Mc[Vc(h, b)];
            break;
        case 22:
            r = 1 - Jc[Vc(b - h, b)] + 0;
            break;
        case 23:
            r = Jc[Vc(h, b)];
            break;
        case 24:
            r = h &lt; b / 2 ? .5 * (1 - Jc[Vc(b - 2 * h, b)] + 0) + 0 : .5 * Jc[Vc(2 * h - b, b)] + .5;
            break;
        case 25:
            h = h / b / 2;
            r = 2 * h * h * (3 - 2 * h);
            break;
        case 26:
            h = (h / b + 1) / 2;
            r = 2 * h * h * (3 - 2 * h) - 1;
            break;
        case 27:
            h = h / b, r = h * h * (3 - 2 * h)
    }
    return k ? 1 - r : r
}
for (var Xc = 0, Yc = 0, Zc = 0, Y = 0, Z = 0, $c = 0; 1E4 &gt;= $c; $c++) {
    Y = $c / 1E4;
    (Y /= 1) &lt; 1 / 2.75 || (Y &lt; 2 / 2.75 ? Y -= 1.5 / 2.75 : Y &lt; 2.5 / 2.75 ? Y -= 2.25 / 2.75 : Y -= 2.625 / 2.75);
    var ad, bd = $c / 1E4;
    ad = (bd /= 1) &lt; 1 / 2.75 ? 7.5625 * bd * bd + 0 : bd &lt; 2 / 2.75 ? 1 * (7.5625 * (bd -= 1.5 / 2.75) * bd + .75) + 0 : bd &lt; 2.5 / 2.75 ? 1 * (7.5625 * (bd -= 2.25 / 2.75) * bd + .9375) + 0 : 1 * (7.5625 * (bd -= 2.625 / 2.75) * bd + .984375) + 0;
    Jc[$c] = ad;
    Y = $c / 1E4;
    Zc = Yc = 0;
    Y /= 1;
    0 == Zc &amp;&amp; (Zc = .3);
    0 == Yc || Yc &lt; Math.abs(1) ? (Yc = 1, Z = Zc / 4) : Z = Zc / (2 * Math.PI) * Math.asin(1 / Yc);
    Xc = -(Yc * Math.pow(2, 10 * --Y) * Math.sin(2 * (1 * Y - Z) * Math.PI / Zc)) + 0;
    Kc[$c] = Xc;
    Y = $c / 1E4;
    Zc = Yc = 0;
    Y /= 1;
    0 == Zc &amp;&amp; (Zc = .3);
    0 == Yc || Yc &lt; Math.abs(1) ? (Yc = 1, Z = Zc / 4) : Z = Zc / (2 * Math.PI) * Math.asin(1 / Yc);
    Xc = Yc * Math.pow(2, -10 * Y) * Math.sin(2 * (1 * Y - Z) * Math.PI / Zc) + 1;
    Lc[$c] = Xc;
    Y = $c / 1E4;
    Zc = Yc = 0;
    Y /= .5;
    0 == Zc &amp;&amp; (Zc = .3 * 1.5);
    0 == Yc || Yc &lt; Math.abs(1) ? (Yc = 1, Z = Zc / 4) : Z = Zc / (2 * Math.PI) * Math.asin(1 / Yc);
    Xc = 1 &gt; Y ? -.5 * Yc * Math.pow(2, 10 * --Y) * Math.sin(2 * (1 * Y - Z) * Math.PI / Zc) + 0 : Yc * Math.pow(2, -10 * --Y) * Math.sin(2 * (1 * Y - Z) * Math.PI / Zc) * .5 + 1;
    Mc[$c] = Xc;
    Y = $c / 1E4;
    Nc[$c] = -(Math.sqrt(1 - Y * Y) - 1);
    Y = $c / 1E4;
    Oc[$c] = Math.sqrt(1 - (Y - 1) * (Y - 1));
    Y = $c / 1E4;
    Xc = 1 &gt; (Y /= .5) ? -.5 * (Math.sqrt(1 - Y * Y) - 1) + 0 : .5 * (Math.sqrt(1 - (Y -= 2) * Y) + 1) + 0;
    Pc[$c] = Xc;
    Y = $c / 1E4;
    Z = 0;
    0 == Z &amp;&amp; (Z = 1.70158);
    Xc = 1 * ((Y = Y / 1 - 1) * Y * ((Z + 1) * Y + Z) + 1) + 0;
    Tc[$c] = Xc;
    Y = $c / 1E4;
    Z = 0;
    0 == Z &amp;&amp; (Z = 1.70158);
    Xc = 1 &gt; (Y /= .5) ? .5 * Y * Y * (((Z *= 1.525) + 1) * Y - Z) + 0 : .5 * ((Y -= 2) * Y * (((Z *= 1.525) + 1) * Y + Z) + 2) + 0;
    Uc[$c] = Xc
}

function cd(g, h, b, k, r, q, l) {
    this.name = g;
    this.value = 0;
    this.$g(k);
    this.Vk(r);
    this.Gh = b;
    this.La = h;
    this.duration = q;
    this.state = this.W = 0;
    this.wk = this.xk = this.uk = this.Sg = !1;
    this.Ka = this.O = 0;
    this.Rb = l;
    this.te = 1;
    this.Nh = !1
}
cd.prototype = {};
cd.prototype.$g = function(g) {
    this.fa = parseFloat(g.split(",")[0]);
    this.ab = parseFloat(g.split(",")[1]);
    this.Ka = this.O = 0
};
cd.prototype.Vk = function(g) {
    this.da = parseFloat(g.split(",")[0]);
    this.Ua = parseFloat(g.split(",")[1]);
    isNaN(this.Ua) &amp;&amp; (this.Ua = this.da)
};
cd.prototype.xl = function(g) {
    if (0 === this.state) return -1;
    1 === this.state &amp;&amp; (this.W += g);
    2 === this.state &amp;&amp; (this.W -= g);
    3 === this.state &amp;&amp; (this.state = 0);
    if (4 === this.state || 6 === this.state) this.W += g * this.te;
    5 === this.state &amp;&amp; (this.W += g * this.te);
    return 0 &gt; this.W ? (this.W = 0, 4 === this.state ? this.te = 1 : 6 === this.state ? (this.te = 1, this.Nh = !1) : this.state = 0, this.wk = !0, 0) : this.W &gt; this.duration ? (this.W = this.duration, 4 === this.state ? this.te = -1 : 6 === this.state ? (this.te = -1, this.Nh = !0) : 5 === this.state ? this.W = 0 : this.state = 0, this.uk = !0, 1) : this.Nh ? Wc(this.Gh, this.duration - this.W, this.duration, this.Nh) : Wc(this.Gh, this.W, this.duration, this.Nh)
};

function ed(g) {
    this.b = g
}
(function() {
    var g = ed.prototype;
    g.ma = function(b) {
        this.behavior = b;
        this.b = b.b
    };
    g.ma.prototype.J = function() {};
    g.Z = function(b, g) {
        this.type = b;
        this.behavior = b.behavior;
        this.c = g;
        this.b = b.b;
        this.Xa = 0
    };
    var h = g.Z.prototype;
    h.J = function() {
        this.Wg = this.n[0];
        this.Wa = 1 == this.Wg || 2 == this.Wg || 3 == this.Wg || 4 == this.Wg;
        this.La = this.n[1];
        this.Yl = this.n[2];
        this.target = this.n[3];
        this.cl = this.n[4];
        this.pl = !1;
        1 === this.cl &amp;&amp; (this.target = "relative(" + this.target + ")");
        this.duration = this.n[5];
        this.Rb = 1 === this.n[6];
        this.value = 0;
        this.C = {};
        this.Zo(this.La, this.Yl, "current", this.target, this.duration, this.Rb);
        1 === this.n[0] &amp;&amp; this.Pi(0);
        2 === this.n[0] &amp;&amp; this.Pi(2);
        3 === this.n[0] &amp;&amp; this.Pi(3);
        4 === this.n[0] &amp;&amp; this.Pi(4)
    };
    h.Md = function(b, g) {
        void 0 === g &amp;&amp; (g = "current");
        var h = g.replace(/^\s\s*/, "").replace(/\s\s*$/, "");
        g = g.replace(/^\s\s*/, "").replace(/\s\s*$/, "");
        var q = this.value;
        if ("current" === g) switch (b) {
            case 0:
                h = this.c.x + "," + this.c.y;
                break;
            case 1:
                h = this.c.width + "," + this.c.height;
                break;
            case 2:
                h = this.c.width + "," + this.c.height;
                break;
            case 3:
                h = this.c.width + "," + this.c.height;
                break;
            case 4:
                h = Ia(this.c.g) + "," + Ia(this.c.g);
                break;
            case 5:
                h = 100 * this.c.opacity + "," + 100 * this.c.opacity;
                break;
            case 6:
                h = q + "," + q;
                break;
            case 7:
                h = this.c.x + "," + this.c.y;
                break;
            case 8:
                h = this.c.x + "," + this.c.y;
                break;
            case 9:
                h = void 0 !== this.c.Oa ? this.c.width / this.c.Oa.width + "," + this.c.height / this.c.Oa.height : "1,1"
        }
        if ("relative" === g.substring(0, 8)) {
            var l = g.match(/\((.*?)\)/);
            if (l) var a = parseFloat(l[1].split(",")[0]),
                f = parseFloat(l[1].split(",")[1]);
            isNaN(a) &amp;&amp; (a = 0);
            isNaN(f) &amp;&amp; (f = 0);
            switch (b) {
                case 0:
                    h = this.c.x + a + "," + (this.c.y + f);
                    break;
                case 1:
                    h = this.c.width + a + "," + (this.c.height + f);
                    break;
                case 2:
                    h = this.c.width + a + "," + (this.c.height + f);
                    break;
                case 3:
                    h = this.c.width + a + "," + (this.c.height + f);
                    break;
                case 4:
                    h = Ia(this.c.g) + a + "," + (Ia(this.c.g) + f);
                    break;
                case 5:
                    h = 100 * this.c.opacity + a + "," + (100 * this.c.opacity + f);
                    break;
                case 6:
                    h = q + a + "," + q + a;
                    break;
                case 7:
                    h = this.c.x + a + "," + this.c.y;
                    break;
                case 8:
                    h = this.c.x + "," + (this.c.y + a);
                    break;
                case 9:
                    h = a + "," + f
            }
        }
        return h
    };
    h.Zo = function(b, g, h, q, l, a) {
        h = this.Md(b, h);
        q = this.Md(b, q);
        void 0 !== this.C["default"] &amp;&amp; delete this.C["default"];
        this.C["default"] = new cd("default", b, g, h, q, l, a);
        this.C["default"].Te = 0
    };
    h.tb = function() {
        JSON.stringify(this.C["default"]);
        return {
            playmode: this.Wg,
            active: this.Wa,
            tweened: this.La,
            easing: this.Yl,
            target: this.target,
            targetmode: this.cl,
            useCurrent: this.pl,
            duration: this.duration,
            enforce: this.Rb,
            value: this.value,
            tweenlist: JSON.stringify(this.C["default"])
        }
    };
    cd.Ws = function(b, g, h, q, l, a, f, c) {
        g = new cd(g, h, q, l, a, f, c);
        for (var d in b) g[d] = b[d];
        return g
    };
    h.Hb = function(b) {
        var g = JSON.parse(b.tweenlist),
            g = cd.Ws(g, g.name, g.La, g.Gh, g.fa + "," + g.ab, g.da + "," + g.Ua, g.duration, g.Rb);
        this.C["default"] = g;
        this.Wg = b.playmode;
        this.Wa = b.active;
        this.Ng = b.tweened;
        this.Yl = b.easing;
        this.target = b.target;
        this.cl = b.targetmode;
        this.pl = b.useCurrent;
        this.duration = b.duration;
        this.Rb = b.enforce;
        this.value = b.value
    };
    h.ey = function(b) {
        1 &lt; b &amp;&amp; (b = 1);
        0 &gt; b &amp;&amp; (b = 0);
        for (var g in this.C) {
            var h = this.C[g];
            h.O = 0;
            h.Ka = 0;
            h.state = 3;
            h.W = b * h.duration;
            var q = h.xl(0);
            this.jo(h, q)
        }
    };
    h.Pi = function(b) {
        for (var g in this.C) {
            var h = this.C[g];
            if (this.pl) {
                var q = this.Md(h.La, "current"),
                    l = this.Md(h.La, this.target);
                h.$g(q);
                h.Vk(l)
            }
            0 === b &amp;&amp; (h.W = 1E-6, h.O = 0, h.Ka = 0, h.Sg = !0, h.state = 1);
            1 === b &amp;&amp; (h.state = 1);
            if (2 === b || 4 === b) h.W = 1E-6, h.O = 0, h.Ka = 0, h.Sg = !0, 2 == b &amp;&amp; (h.state = 4), 4 == b &amp;&amp; (h.state = 6);
            3 === b &amp;&amp; (h.W = 1E-6, h.O = 0, h.Ka = 0, h.Sg = !0, h.state = 5)
        }
    };
    h.ly = function(b) {
        for (var g in this.C) {
            var h = this.C[g];
            1 === b &amp;&amp; (h.W = 0);
            2 === b &amp;&amp; (h.W = h.duration);
            h.state = 3;
            var q = h.xl(0);
            this.jo(h, q)
        }
    };
    h.Ux = function(b) {
        for (var g in this.C) {
            var h = this.C[g];
            1 === b &amp;&amp; (h.W = h.duration, h.O = 0, h.Ka = 0, h.xk = !0);
            h.state = 2
        }
    };
    h.jo = function(b, g) {
        var h = 1,
            q = 1;
        0 &gt; this.c.width &amp;&amp; (h = -1);
        0 &gt; this.c.height &amp;&amp; (q = -1);
        0 === b.La ? b.Rb ? (this.c.x = b.fa + (b.da - b.fa) * g, this.c.y = b.ab + (b.Ua - b.ab) * g) : (this.c.x += (b.da - b.fa) * g - b.O, this.c.y += (b.Ua - b.ab) * g - b.Ka, b.O = (b.da - b.fa) * g, b.Ka = (b.Ua - b.ab) * g) : 1 === b.La ? b.Rb ? (this.c.width = h * b.fa + (b.da - b.fa) * g * h, this.c.height = q * b.ab + (b.Ua - b.ab) * g * q) : (this.c.width += h * (b.da - b.fa) * g - b.O, this.c.height += q * (b.Ua - b.ab) * g - b.Ka, b.O = h * (b.da - b.fa) * g, b.Ka = q * (b.Ua - b.ab) * g) : 2 === b.La ? b.Rb ? this.c.width = h * b.fa + (b.da - b.fa) * g * h : (this.c.width += h * (b.da - b.fa) * g - b.O, b.O = h * (b.da - b.fa) * g) : 3 === b.La ? b.Rb ? this.c.height = q * b.ab + (b.Ua - b.ab) * g * q : (this.c.height += q * (b.Ua - b.ab) * g - b.Ka, b.Ka = q * (b.Ua - b.ab) * g) : 4 === b.La ? b.Rb ? (h = b.fa + (b.da - b.fa) * g, this.c.g = Ka(M(h))) : (h = (b.da - b.fa) * g - b.O, this.c.g = Ka(this.c.g + M(h)), b.O = (b.da - b.fa) * g) : 5 === b.La ? b.Rb ? this.c.opacity = (b.fa + (b.da - b.fa) * g) / 100 : (this.c.opacity += ((b.da - b.fa) * g - b.O) / 100, b.O = (b.da - b.fa) * g) : 6 === b.La ? b.Rb ? this.value = b.fa + (b.da - b.fa) * g : (this.value += (b.da - b.fa) * g - b.O, b.O = (b.da - b.fa) * g) : 7 === b.La ? b.Rb ? this.c.x = b.fa + (b.da - b.fa) * g : (this.c.x += (b.da - b.fa) * g - b.O, b.O = (b.da - b.fa) * g) : 8 === b.La ? b.Rb ? this.c.y = b.ab + (b.Ua - b.ab) * g : (this.c.y += (b.Ua - b.ab) * g - b.Ka, b.Ka = (b.Ua - b.ab) * g) : 9 === b.La &amp;&amp; (h = b.fa + (b.da - b.fa) * g, q = b.ab + (b.Ua - b.ab) * g, 0 &gt; this.c.width &amp;&amp; (h = b.fa + (b.da + b.fa) * -g), 0 &gt; this.c.height &amp;&amp; (q = b.ab + (b.Ua + b.ab) * -g), b.Rb ? (this.c.width = this.c.Oa.width * h, this.c.height = this.c.Oa.height * q) : (0 &gt; this.c.width ? (this.c.width = this.c.width / (-1 + b.O) * h, b.O = h + 1) : (this.c.width = this.c.width / (1 + b.O) * h, b.O = h - 1), 0 &gt; this.c.height ? (this.c.height = this.c.height / (-1 + b.Ka) * q, b.Ka = q + 1) : (this.c.height = this.c.height / (1 + b.Ka) * q, b.Ka = q - 1)));
        this.c.Sa()
    };
    h.ub = function() {
        var b = this.b.Oh(this.c),
            g = this.C["default"];
        0 !== g.state &amp;&amp; (g.Sg &amp;&amp; (this.b.trigger(ed.prototype.e.Gt, this.c), g.Sg = !1), g.xk &amp;&amp; (this.b.trigger(ed.prototype.e.Et, this.c), g.xk = !1), this.Wa = 1 == g.state || 2 == g.state || 4 == g.state || 5 == g.state || 6 == g.state, b = g.xl(b), this.jo(g, b), g.uk &amp;&amp; (this.b.trigger(ed.prototype.e.jt, this.c), g.uk = !1), g.wk &amp;&amp; (this.b.trigger(ed.prototype.e.Dt, this.c), g.wk = !1))
    };
    g.e = {};
    h = g.e;
    h.Os = function() {
        return 0 !== this.C["default"].state
    };
    h.Xy = function() {
        return 2 == this.C["default"].state
    };
    h.Oy = function(b, g) {
        var h = this.C["default"];
        return hc(h.W / h.duration, b, g)
    };
    h.Gt = function() {
        return void 0 === this.C["default"] ? !1 : this.C["default"].Sg
    };
    h.Et = function() {
        return void 0 === this.C["default"] ? !1 : this.C["default"].xk
    };
    h.jt = function() {
        return void 0 === this.C["default"] ? !1 : this.C["default"].uk
    };
    h.Dt = function() {
        return void 0 === this.C["default"] ? !1 : this.C["default"].wk
    };
    g.D = {};
    h = g.D;
    h.eu = function(b, g) {
        this.pl = 1 == g;
        this.Pi(b)
    };
    h.Mo = function(b) {
        this.ly(b)
    };
    h.Qt = function(b) {
        this.Ux(b)
    };
    h.nz = function(b) {
        this.ey(b)
    };
    h.vz = function(b) {
        isNaN(b) || 0 &gt; b || void 0 === this.C["default"] || (this.C["default"].duration = b)
    };
    h.zz = function(b) {
        void 0 !== this.C["default"] &amp;&amp; (this.C["default"].Rb = 1 === b)
    };
    h.Bz = function(b) {
        void 0 !== this.C["default"] &amp;&amp; (b = this.Md(this.C["default"].La, b), this.C["default"].$g(b))
    };
    h.Fz = function(b, g, h) {
        if (void 0 !== this.C["default"] &amp;&amp; !isNaN(h)) {
            var q = this.C["default"],
                l = h + "";
            this.cl = g;
            var a = "",
                f = "";
            if (1 === g) {
                this.target = "relative(" + l + ")";
                switch (b) {
                    case 0:
                        a = this.c.x + h;
                        f = q.Ua;
                        break;
                    case 1:
                        a = q.da;
                        f = this.c.y + h;
                        break;
                    case 2:
                        f = a = "" + Ia(this.c.g + M(h));
                        break;
                    case 3:
                        f = a = "" + 100 * this.c.opacity + h;
                        break;
                    case 4:
                        a = this.c.width + h;
                        f = q.Ua;
                        break;
                    case 5:
                        a = q.da;
                        f = this.c.height + h;
                        break;
                    case 6:
                        f = a = h
                }
                l = a + "," + f
            } else {
                switch (b) {
                    case 0:
                        a = h;
                        f = q.Ua;
                        break;
                    case 1:
                        a = q.da;
                        f = h;
                        break;
                    case 2:
                        f = a = h;
                        break;
                    case 3:
                        f = a = h;
                        break;
                    case 4:
                        a = h;
                        f = q.Ua;
                        break;
                    case 5:
                        a = q.da;
                        f = h;
                        break;
                    case 6:
                        f = a = h
                }
                this.target = l = a +
                    "," + f
            }
            b = this.Md(this.C["default"].La, "current");
            l = this.Md(this.C["default"].La, l);
            q.$g(b);
            q.Vk(l)
        }
    };
    h.Hz = function(b) {
        void 0 !== this.C["default"] &amp;&amp; (this.C["default"].La = b)
    };
    h.wz = function(b) {
        void 0 !== this.C["default"] &amp;&amp; (this.C["default"].Gh = b)
    };
    h.Iz = function(b) {
        var g = this.C["default"];
        this.value = b;
        6 === g.La &amp;&amp; g.$g(this.Md(g.La, "current"))
    };
    h.Dz = function(b, g, h, q, l) {
        if (void 0 === this.C["default"]) this.Zo(b, g, initial, h, q, l);
        else {
            var a = this.C["default"];
            a.La = b;
            a.Gh = g;
            a.$g(this.Md(b, "current"));
            a.Vk(this.Md(b, h));
            a.duration = q;
            a.Rb = 1 === l
        }
    };
    g.ea = {};
    g = g.ea;
    g.Lz = function(b) {
        var g = "N/A";
        switch (this.C["default"].state) {
            case 0:
                g = "paused";
                break;
            case 1:
                g = "playing";
                break;
            case 2:
                g = "reversing";
                break;
            case 3:
                g = "seeking"
        }
        b.Za(g)
    };
    g.mz = function(b) {
        b.u(this.C["default"].W / this.C["default"].duration)
    };
    g.Hs = function(b) {
        b.u(this.C["default"].duration)
    };
    g.Nz = function(b) {
        var g = this.C["default"],
            h = "N/A";
        switch (g.La) {
            case 0:
                h = g.da;
                break;
            case 1:
                h = g.Ua;
                break;
            case 2:
                h = g.da;
                break;
            case 3:
                h = g.da;
                break;
            case 4:
                h = g.da;
                break;
            case 5:
                h = g.Ua;
                break;
            case 6:
                h = g.da
        }
        b.u(h)
    };
    g.iu = function(b) {
        b.u(this.value)
    };
    g.Pz = function(b, g, h, q, l) {
        q = 1 &lt; q ? 1 : q;
        l = Wc(l, 0 &gt; q ? 0 : q, 1, !1);
        b.u(g + l * (h - g))
    }
})();

function qc() {
    return [sc, Ac, Bc, Ec, Cc, Dc, rc, uc, tc, wc, vc, ed, Hc, Gc, Ic, R.prototype.e.Rs, R.prototype.e.yo, Ec.prototype.D.xv, R.prototype.D.ju, R.prototype.D.bu, R.prototype.ea.uy, R.prototype.ea["int"], R.prototype.ea.right, R.prototype.ea.hx, tc.prototype.D.Bs, tc.prototype.D.Jo, Hc.prototype.D.Mt, R.prototype.D.Wt, R.prototype.D.Zt, R.prototype.e.Gs, rc.prototype.D.Rt, R.prototype.e.Pt, tc.prototype.D.Lo, R.prototype.ea.lx, R.prototype.ea.random, tc.prototype.e.so, tc.prototype.ea.ys, R.prototype.e.to, R.prototype.e.ku, R.prototype.e.Lt, rc.prototype.D.Xt, Dc.prototype.e.yl, rc.prototype.e.Fs, R.prototype.D.ws, rc.prototype.ea.Ns, R.prototype.e.Es, sc.prototype.D.CallFunction, sc.prototype.e.fj, uc.prototype.D.$t, uc.prototype.D.Play, R.prototype.e.Vs, R.prototype.e.hu, Gc.prototype.D.fu, ed.prototype.D.eu, Cc.prototype.D.Ko, wc.prototype.D.Vt, Ac.prototype.D.Yt, Cc.prototype.e.cj, tc.prototype.D.Us, Cc.prototype.D.Ut, R.prototype.e.Is, tc.prototype.ea.uo, R.prototype.D.Ks, R.prototype.D.Ls, uc.prototype.D.Mo, wc.prototype.e.wo, vc.prototype.D.Ms, vc.prototype.ea.Ot, Dc.prototype.e.Go, wc.prototype.e.cj, wc.prototype.D.St, wc.prototype.D.au, uc.prototype.D.Nt, Ac.prototype.D.As, Ac.prototype.e.xo, Ac.prototype.D.Js, Ac.prototype.ea.Ss]
};</pre></body></html>