// Generated by Construct 2, the HTML5 game and app creator :: http://www.scirra.com 'use strict'; var aa, ca, da, ea, fa, ha, ia, ja, ma, na, pa, qa, ra, sa, ta, ua, va, wa, xa, ya, za, Ba, Ca, B, Da, Ea, Fa, Ga, Ha, D, Ja, Ka, La, Ma, Na, Oa, Pa, Qa, Ra, Sa, Ta, Va, Wa, Xa, Ya, Za, $a, ab, eb, fb, gb, hb, ib, jb, kb, lb, mb, nb, ob, pb, qb, rb, sb, tb, ub, vb, wb, xb, Db, Eb, Fb, Gb, Hb, Ib, Jb, Kb, Lb, Mb, Nb, Ob, Qb, Rb, Sb, Tb, Ub, Vb, Wb, Xb, Yb, Zb, $b, ac, bc, cc, dc, ec, fc, hc, ic, jc, kc, lc, mc, nc, oc = {}, pc = {}; "function" !== typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" === typeof "test".__proto__ ? function(g) { return g.__proto__ } : function(g) { return g.constructor.prototype }); (function() { function g(a, e, b, k) { this.set(a, e, b, k) } function l() { this.Hb = this.Gb = this.Jb = this.Ib = this.Rb = this.Qb = this.rb = this.qb = 0 } function p(a, e, b, k) { a < e ? b < k ? (q = a < b ? a : b, u = e > k ? e : k) : (q = a < k ? a : k, u = e > b ? e : b) : b < k ? (q = e < b ? e : b, u = a > k ? a : k) : (q = e < k ? e : k, u = a > b ? a : b) } function f() { this.items = this.lf = null; this.Mk = 0; H && (this.lf = new Set); this.Fj = []; this.vg = !0 } function b(a) { y[I++] = a } function d() { this.ta = this.Zo = this.y = this.dk = 0 } function c(a) { this.hb = []; this.Fm = this.Hm = this.Im = this.Gm = 0; this.Gl(a) } function a(a, e) { this.cc = a; this.oc = e; this.cells = {} } function n(a, e) { this.cc = a; this.oc = e; this.cells = {} } function h(a, e, b) { var k; return R.length ? (k = R.pop(), k.Sq = a, k.x = e, k.y = b, k) : new ca(a, e, b) } function e(a, e, b) { this.Sq = a; this.x = e; this.y = b; this.sc = new da } function t(a, e, b) { var k; return M.length ? (k = M.pop(), k.Sq = a, k.x = e, k.y = b, k) : new ea(a, e, b) } function x(a, e, b) { this.Sq = a; this.x = e; this.y = b; this.sc = []; this.Xi = !0; this.ff = new da; this.ak = !1 } function m(a, e) { return a.Rd - e.Rd } fa = function(a) { window.console && window.console.log && window.console.log(a) }; ha = function(a) { window.console && window.console.error && window.console.error(a) }; aa = function(a) { return a }; ia = function(a) { return "undefined" === typeof a }; ja = function(a) { return "number" === typeof a }; ma = function(a) { return "string" === typeof a }; na = function(a) { return 0 < a && 0 === (a - 1 & a) }; pa = function(a) { --a; for (var e = 1; 32 > e; e <<= 1) a = a | a >> e; return a + 1 }; qa = function(a) { return 0 > a ? -a : a }; ra = function(a, e) { return a > e ? a : e }; sa = function(a, e) { return a < e ? a : e }; ta = Math.PI; ua = function(a) { return 0 <= a ? a | 0 : (a | 0) - 1 }; va = function(a) { var e = a | 0; return e === a ? e : e + 1 }; wa = function(a, e, b, k, n, m, h, t) { var c, d, r, f; a < b ? (d = a, c = b) : (d = b, c = a); n < h ? (f = n, r = h) : (f = h, r = n); if (c < f || d > r) return !1; e < k ? (d = e, c = k) : (d = k, c = e); m < t ? (f = m, r = t) : (f = t, r = m); if (c < f || d > r) return !1; c = n - a + h - b; d = m - e + t - k; a = b - a; e = k - e; n = h - n; m = t - m; t = qa(e * n - m * a); return qa(n * d - m * c) > t ? !1 : qa(a * d - e * c) <= t }; g.prototype.set = function(a, e, b, k) { this.left = a; this.top = e; this.right = b; this.bottom = k }; g.prototype.Di = 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, e) { this.left += a; this.top += e; this.right += a; this.bottom += e; return this }; g.prototype.normalize = function() { var a = 0; this.left > this.right && (a = this.left, this.left = this.right, this.right = a); this.top > this.bottom && (a = this.top, this.top = this.bottom, this.bottom = a) }; g.prototype.dF = function(a) { return !(a.right < this.left || a.bottom < this.top || a.left > this.right || a.top > this.bottom) }; g.prototype.eF = function(a, e, b) { return !(a.right + e < this.left || a.bottom + b < this.top || a.left + e > this.right || a.top + b > this.bottom) }; g.prototype.wc = function(a, e) { return a >= this.left && a <= this.right && e >= this.top && e <= this.bottom }; g.prototype.nk = function(a) { return this.left === a.left && this.top === a.top && this.right === a.right && this.bottom === a.bottom }; xa = g; l.prototype.Fl = function(a) { this.qb = a.left; this.rb = a.top; this.Qb = a.right; this.Rb = a.top; this.Ib = a.right; this.Jb = a.bottom; this.Gb = a.left; this.Hb = a.bottom }; l.prototype.Hx = function(a, e) { if (0 === e) this.Fl(a); else { var b = Math.sin(e), k = Math.cos(e), n = a.left * b, m = a.top * b, h = a.right * b, b = a.bottom * b, c = a.left * k, t = a.top * k, d = a.right * k, k = a.bottom * k; this.qb = c - m; this.rb = t + n; this.Qb = d - m; this.Rb = t + h; this.Ib = d - b; this.Jb = k + h; this.Gb = c - b; this.Hb = k + n } }; l.prototype.offset = function(a, e) { this.qb += a; this.rb += e; this.Qb += a; this.Rb += e; this.Ib += a; this.Jb += e; this.Gb += a; this.Hb += e; return this }; var q = 0, u = 0; l.prototype.Nu = function(a) { p(this.qb, this.Qb, this.Ib, this.Gb); a.left = q; a.right = u; p(this.rb, this.Rb, this.Jb, this.Hb); a.top = q; a.bottom = u }; l.prototype.wc = function(a, e) { var b = this.qb, k = this.rb, n = this.Qb - b, m = this.Rb - k, h = this.Ib - b, c = this.Jb - k, t = a - b, d = e - k, r = n * n + m * m, f = n * h + m * c, m = n * t + m * d, v = h * h + c * c, q = h * t + c * d, w = 1 / (r * v - f * f), n = (v * m - f * q) * w, r = (r * q - f * m) * w; if (0 <= n && 0 < r && 1 > n + r) return !0; n = this.Gb - b; m = this.Hb - k; r = n * n + m * m; f = n * h + m * c; m = n * t + m * d; w = 1 / (r * v - f * f); n = (v * m - f * q) * w; r = (r * q - f * m) * w; return 0 <= n && 0 < r && 1 > n + r }; l.prototype.Td = function(a, e) { if (e) switch (a) { case 0: return this.qb; case 1: return this.Qb; case 2: return this.Ib; case 3: return this.Gb; case 4: return this.qb; default: return this.qb } else switch (a) { case 0: return this.rb; case 1: return this.Rb; case 2: return this.Jb; case 3: return this.Hb; case 4: return this.rb; default: return this.rb } }; l.prototype.yw = function() { return (this.qb + this.Qb + this.Ib + this.Gb) / 4 }; l.prototype.zw = function() { return (this.rb + this.Rb + this.Jb + this.Hb) / 4 }; l.prototype.Nv = function(a) { var e = a.yw(), b = a.zw(); if (this.wc(e, b)) return !0; e = this.yw(); b = this.zw(); if (a.wc(e, b)) return !0; var k, n, m, h, c, t, d, r; for (d = 0; 4 > d; d++) for (r = 0; 4 > r; r++) if (e = this.Td(d, !0), b = this.Td(d, !1), k = this.Td(d + 1, !0), n = this.Td(d + 1, !1), m = a.Td(r, !0), h = a.Td(r, !1), c = a.Td(r + 1, !0), t = a.Td(r + 1, !1), wa(e, b, k, n, m, h, c, t)) return !0; return !1 }; ya = l; za = function(a, e) { for (var b in e) e.hasOwnProperty(b) && (a[b] = e[b]); return a }; Ba = function(a, e) { var b, k; e = ua(e); if (!(0 > e || e >= a.length)) { b = e; for (k = a.length - 1; b < k; b++) a[b] = a[b + 1]; Ca(a, k) } }; Ca = function(a, e) { a.length = e }; B = function(a) { Ca(a, 0) }; Da = function(a, e) { B(a); var b, k; b = 0; for (k = e.length; b < k; ++b) a[b] = e[b] }; Ea = function(a, e) { a.push.apply(a, e) }; Fa = function(a, e) { var b, k; b = 0; for (k = a.length; b < k; ++b) if (a[b] === e) return b; return -1 }; Ga = function(a, e) { var b = Fa(a, e); - 1 !== b && Ba(a, b) }; Ha = function(a, e, b) { return a < e ? e : a > b ? b : a }; D = function(a) { return a / (180 / ta) }; Ja = function(a) { return 180 / ta * a }; Ka = function(a) { a %= 360; 0 > a && (a += 360); return a }; La = function(a) { a %= 2 * ta; 0 > a && (a += 2 * ta); return a }; Ma = function(a) { return Ka(Ja(a)) }; Na = function(a) { return La(D(a)) }; Oa = function(a, e, b, k) { return Math.atan2(k - e, b - a) }; Pa = function(a, e) { if (a === e) return 0; var b = Math.sin(a), k = Math.cos(a), n = Math.sin(e), m = Math.cos(e), b = b * n + k * m; return 1 <= b ? 0 : -1 >= b ? ta : Math.acos(b) }; Qa = function(a, e, b) { var k = Math.sin(a), n = Math.cos(a), m = Math.sin(e), h = Math.cos(e); return Math.acos(k * m + n * h) > b ? 0 < n * m - k * h ? La(a + b) : La(a - b) : La(e) }; Ra = function(a, e) { var b = Math.sin(a), k = Math.cos(a), n = Math.sin(e), m = Math.cos(e); return 0 >= k * n - b * m }; Sa = function(a, e, b, k, n, m) { if (0 === b) return m ? a : e; var h = Math.sin(b); b = Math.cos(b); a -= k; e -= n; var c = a * h; a = a * b - e * h; e = e * b + c; return m ? a + k : e + n }; Ta = function(a, e, b, k) { a = b - a; e = k - e; return Math.sqrt(a * a + e * e) }; Va = function(a, e) { return !a !== !e }; Wa = function(a, e, b) { return a + (e - a) * b }; Xa = function(a, e, b) { return a === e ? 0 : (b - a) / (e - a) }; Ya = function(a) { for (var e in a) if (a.hasOwnProperty(e)) return !0; return !1 }; Za = function(a) { for (var e in a) a.hasOwnProperty(e) && delete a[e] }; var w = +new Date; $a = 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() - w }; var v = !1, k = v = !1, r = !1; "undefined" !== typeof window && (v = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent), v = !v && /safari/i.test(navigator.userAgent), k = /(iphone|ipod|ipad)/i.test(navigator.userAgent), r = window.c2ejecta); var H = !v && !r && !k && "undefined" !== typeof Set && "undefined" !== typeof Set.prototype.forEach; f.prototype.contains = function(a) { return this.Nf() ? !1 : H ? this.lf.has(a) : this.items && this.items.hasOwnProperty(a) }; f.prototype.add = function(a) { if (H) this.lf.has(a) || (this.lf.add(a), this.vg = !1); else { var e = a.toString(), b = this.items; b ? b.hasOwnProperty(e) || (b[e] = a, this.Mk++, this.vg = !1) : (this.items = {}, this.items[e] = a, this.Mk = 1, this.vg = !1) } }; f.prototype.remove = function(a) { if (!this.Nf()) if (H) this.lf.has(a) && (this.lf["delete"](a), this.vg = !1); else if (this.items) { a = a.toString(); var e = this.items; e.hasOwnProperty(a) && (delete e[a], this.Mk--, this.vg = !1) } }; f.prototype.clear = function() { this.Nf() || (H ? this.lf.clear() : (this.items = null, this.Mk = 0), B(this.Fj), this.vg = !0) }; f.prototype.Nf = function() { return 0 === this.count() }; f.prototype.count = function() { return H ? this.lf.size : this.Mk }; var y = null, I = 0; f.prototype.fH = function() { if (!this.vg) { if (H) B(this.Fj), y = this.Fj, I = 0, this.lf.forEach(b), y = null, I = 0; else { var a = this.Fj; B(a); var e, k = 0, n = this.items; if (n) for (e in n) n.hasOwnProperty(e) && (a[k++] = n[e]) } this.vg = !0 } }; f.prototype.ig = function() { this.fH(); return this.Fj }; da = f; new da; ab = function(a, e) { H ? eb(a, e.lf) : fb(a, e.ig()) }; eb = function(a, e) { var b, k, n, m; k = b = 0; for (n = a.length; b < n; ++b) m = a[b], e.has(m) || (a[k++] = m); Ca(a, k) }; fb = function(a, e) { var b, k, n, m; k = b = 0; for (n = a.length; b < n; ++b) m = a[b], -1 === Fa(e, m) && (a[k++] = m); Ca(a, k) }; d.prototype.add = function(a) { this.y = a - this.dk; this.Zo = this.ta + this.y; this.dk = this.Zo - this.ta - this.y; this.ta = this.Zo }; d.prototype.reset = function() { this.ta = this.Zo = this.y = this.dk = 0 }; gb = d; hb = function(a) { return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") }; c.prototype.Gl = function(a) { this.ox = a; this.Ad = a.length / 2; this.hb.length = a.length; this.Km = this.Lm = -1; this.Qu = 0 }; c.prototype.Ui = function() { return !this.ox.length }; c.prototype.jb = function() { for (var a = this.hb, e = a[0], b = e, k = a[1], n = k, m, h, c = 1, t = this.Ad; c < t; ++c) h = 2 * c, m = a[h], h = a[h + 1], m < e && (e = m), m > b && (b = m), h < k && (k = h), h > n && (n = h); this.Gm = e; this.Hm = b; this.Im = k; this.Fm = n }; c.prototype.Fl = function(a, e, b) { this.hb.length = 8; this.Ad = 4; var k = this.hb; k[0] = a.left - e; k[1] = a.top - b; k[2] = a.right - e; k[3] = a.top - b; k[4] = a.right - e; k[5] = a.bottom - b; k[6] = a.left - e; k[7] = a.bottom - b; this.Lm = a.right - a.left; this.Km = a.bottom - a.top; this.jb() }; c.prototype.uj = function(a, e, b, k, n) { this.hb.length = 8; this.Ad = 4; var m = this.hb; m[0] = a.qb - e; m[1] = a.rb - b; m[2] = a.Qb - e; m[3] = a.Rb - b; m[4] = a.Ib - e; m[5] = a.Jb - b; m[6] = a.Gb - e; m[7] = a.Hb - b; this.Lm = k; this.Km = n; this.jb() }; c.prototype.Gx = function(a) { this.Ad = a.Ad; Da(this.hb, a.hb); this.Gm = a.Gm; this.Im - a.Im; this.Hm = a.Hm; this.Fm = a.Fm }; c.prototype.uh = function(a, e, b) { if (this.Lm !== a || this.Km !== e || this.Qu !== b) { this.Lm = a; this.Km = e; this.Qu = b; var k, n, m, h, c, t = 0, d = 1, r = this.ox, f = this.hb; 0 !== b && (t = Math.sin(b), d = Math.cos(b)); b = 0; for (m = this.Ad; b < m; b++) k = 2 * b, n = k + 1, h = r[k] * a, c = r[n] * e, f[k] = h * d - c * t, f[n] = c * d + h * t; this.jb() } }; c.prototype.wc = function(a, e) { var b = this.hb; if (a === b[0] && e === b[1]) return !0; var k, n, m, h = this.Ad, c = this.Gm - 110, t = this.Im - 101, d = this.Hm + 131, r = this.Fm + 120, f, v, q = 0, w = 0; for (k = 0; k < h; k++) n = 2 * k, m = (k + 1) % h * 2, f = b[n], n = b[n + 1], v = b[m], m = b[m + 1], wa(c, t, a, e, f, n, v, m) && q++, wa(d, r, a, e, f, n, v, m) && w++; return 1 === q % 2 || 1 === w % 2 }; c.prototype.Bk = function(a, e, b) { var k = a.hb, n = this.hb; if (this.wc(k[0] + e, k[1] + b) || a.wc(n[0] - e, n[1] - b)) return !0; var m, h, c, t, d, r, f, v, q, w, u, x; m = 0; for (t = this.Ad; m < t; m++) for (h = 2 * m, c = (m + 1) % t * 2, v = n[h], h = n[h + 1], q = n[c], w = n[c + 1], c = 0, f = a.Ad; c < f; c++) if (d = 2 * c, r = (c + 1) % f * 2, u = k[d] + e, d = k[d + 1] + b, x = k[r] + e, r = k[r + 1] + b, wa(v, h, q, w, u, d, x, r)) return !0; return !1 }; c.prototype.IF = function(a) { var e, b, k; e = 0; for (b = this.Ad; e < b; ++e) k = 2 * e, this.hb[k] = 2 * a - this.hb[k] }; c.prototype.pE = function(a) { var e, b, k; e = 0; for (b = this.Ad; e < b; ++e) k = 2 * e + 1, this.hb[k] = 2 * a - this.hb[k] }; c.prototype.eD = function() { var a, e, b, k, n; a = 0; for (e = this.Ad; a < e; ++a) b = 2 * a, k = b + 1, n = this.hb[b], this.hb[b] = this.hb[k], this.hb[k] = n }; ib = c; a.prototype.Jg = function(a, e, b) { var k; k = this.cells[a]; return k ? (k = k[e]) ? k : b ? (k = h(this, a, e), this.cells[a][e] = k) : null : b ? (k = h(this, a, e), this.cells[a] = {}, this.cells[a][e] = k) : null }; a.prototype.cd = function(a) { return ua(a / this.cc) }; a.prototype.dd = function(a) { return ua(a / this.oc) }; a.prototype.update = function(a, e, b) { var k, n, m, h, c; if (e) for (k = e.left, n = e.right; k <= n; ++k) for (m = e.top, h = e.bottom; m <= h; ++m) if (!b || !b.wc(k, m)) if (c = this.Jg(k, m, !1)) c.remove(a), c.Nf() && (c.sc.clear(), 1E3 > R.length && R.push(c), this.cells[k][m] = null); if (b) for (k = b.left, n = b.right; k <= n; ++k) for (m = b.top, h = b.bottom; m <= h; ++m) e && e.wc(k, m) || this.Jg(k, m, !0).Zq(a) }; a.prototype.Fo = function(a, e) { var b, k, n, m, h, c; b = this.cd(a.left); n = this.dd(a.top); k = this.cd(a.right); for (h = this.dd(a.bottom); b <= k; ++b) for (m = n; m <= h; ++m)(c = this.Jg(b, m, !1)) && c.dump(e) }; jb = a; n.prototype.Jg = function(a, e, b) { var k; k = this.cells[a]; return k ? (k = k[e]) ? k : b ? (k = t(this, a, e), this.cells[a][e] = k) : null : b ? (k = t(this, a, e), this.cells[a] = {}, this.cells[a][e] = k) : null }; n.prototype.cd = function(a) { return ua(a / this.cc) }; n.prototype.dd = function(a) { return ua(a / this.oc) }; n.prototype.update = function(a, e, b) { var k, n, m, h, c; if (e) for (k = e.left, n = e.right; k <= n; ++k) for (m = e.top, h = e.bottom; m <= h; ++m) if (!b || !b.wc(k, m)) if (c = this.Jg(k, m, !1)) c.remove(a), c.Nf() && (c.reset(), 1E3 > M.length && M.push(c), this.cells[k][m] = null); if (b) for (k = b.left, n = b.right; k <= n; ++k) for (m = b.top, h = b.bottom; m <= h; ++m) e && e.wc(k, m) || this.Jg(k, m, !0).Zq(a) }; n.prototype.Fo = function(a, e, b, k, n) { var m, h; a = this.cd(a); e = this.dd(e); b = this.cd(b); for (m = this.dd(k); a <= b; ++a) for (k = e; k <= m; ++k)(h = this.Jg(a, k, !1)) && h.dump(n) }; n.prototype.FF = function(a) { var e, b, k, n, m; e = a.left; k = a.top; b = a.right; for (n = a.bottom; e <= b; ++e) for (a = k; a <= n; ++a) if (m = this.Jg(e, a, !1)) m.Xi = !1 }; kb = n; var R = []; e.prototype.Nf = function() { return this.sc.Nf() }; e.prototype.Zq = function(a) { this.sc.add(a) }; e.prototype.remove = function(a) { this.sc.remove(a) }; e.prototype.dump = function(a) { Ea(a, this.sc.ig()) }; ca = e; var M = []; x.prototype.Nf = function() { if (!this.sc.length) return !0; if (this.sc.length > this.ff.count()) return !1; this.Eq(); return !0 }; x.prototype.Zq = function(a) { this.ff.contains(a) ? (this.ff.remove(a), this.ff.Nf() && (this.ak = !1)) : this.sc.length ? (this.sc[this.sc.length - 1].Xe() > a.Xe() && (this.Xi = !1), this.sc.push(a)) : (this.sc.push(a), this.Xi = !0) }; x.prototype.remove = function(a) { this.ff.add(a); this.ak = !0; 30 <= this.ff.count() && this.Eq() }; x.prototype.Eq = function() { this.ak && (this.ff.count() === this.sc.length ? this.reset() : (ab(this.sc, this.ff), this.ff.clear(), this.ak = !1)) }; x.prototype.ID = function() { this.Xi || (this.sc.sort(m), this.Xi = !0) }; x.prototype.reset = function() { B(this.sc); this.Xi = !0; this.ff.clear(); this.ak = !1 }; x.prototype.dump = function(a) { this.Eq(); this.ID(); this.sc.length && a.push(this.sc) }; ea = x; var G = "lighter xor copy destination-over source-in destination-in source-out destination-out source-atop destination-atop".split(" "); lb = function(a) { return 0 >= a || 11 <= a ? "source-over" : G[a - 1] }; mb = function(a, e, b) { if (b) switch (a.ib = b.ONE, a.eb = b.ONE_MINUS_SRC_ALPHA, e) { case 1: a.ib = b.ONE; a.eb = b.ONE; break; case 3: a.ib = b.ONE; a.eb = b.ZERO; break; case 4: a.ib = b.ONE_MINUS_DST_ALPHA; a.eb = b.ONE; break; case 5: a.ib = b.DST_ALPHA; a.eb = b.ZERO; break; case 6: a.ib = b.ZERO; a.eb = b.SRC_ALPHA; break; case 7: a.ib = b.ONE_MINUS_DST_ALPHA; a.eb = b.ZERO; break; case 8: a.ib = b.ZERO; a.eb = b.ONE_MINUS_SRC_ALPHA; break; case 9: a.ib = b.DST_ALPHA; a.eb = b.ONE_MINUS_SRC_ALPHA; break; case 10: a.ib = b.ONE_MINUS_DST_ALPHA, a.eb = b.SRC_ALPHA } }; nb = function(a) { return Math.round(1E6 * a) / 1E6 }; ob = function(a, e) { return "string" !== typeof a || "string" !== typeof e || a.length !== e.length ? !1 : a === e ? !0 : a.toLowerCase() === e.toLowerCase() }; pb = function(a) { a = a.target; return !a || a === document || a === window || document && document.body && a === document.body || ob(a.tagName, "canvas") ? !0 : !1 } })(); var qc = "undefined" !== typeof Float32Array ? Float32Array : Array; function rc(g) { var l = new qc(3); g && (l[0] = g[0], l[1] = g[1], l[2] = g[2]); return l } function sc(g) { var l = new qc(16); g && (l[0] = g[0], l[1] = g[1], l[2] = g[2], l[3] = g[3], l[4] = g[4], l[5] = g[5], l[6] = g[6], l[7] = g[7], l[8] = g[8], l[9] = g[9], l[10] = g[10], l[11] = g[11], l[12] = g[12], l[13] = g[13], l[14] = g[14], l[15] = g[15]); return l } function tc(g, l) { l[0] = g[0]; l[1] = g[1]; l[2] = g[2]; l[3] = g[3]; l[4] = g[4]; l[5] = g[5]; l[6] = g[6]; l[7] = g[7]; l[8] = g[8]; l[9] = g[9]; l[10] = g[10]; l[11] = g[11]; l[12] = g[12]; l[13] = g[13]; l[14] = g[14]; l[15] = g[15] } function uc(g, l) { var p = l[0], f = l[1]; l = l[2]; g[0] *= p; g[1] *= p; g[2] *= p; g[3] *= p; g[4] *= f; g[5] *= f; g[6] *= f; g[7] *= f; g[8] *= l; g[9] *= l; g[10] *= l; g[11] *= l } function vc(g, l, p, f) { f || (f = sc()); var b, d, c, a, n, h, e, t, x = g[0], m = g[1]; g = g[2]; d = p[0]; c = p[1]; b = p[2]; p = l[1]; h = l[2]; x === l[0] && m === p && g === h ? (g = f, 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) : (p = x - l[0], h = m - l[1], e = g - l[2], t = 1 / Math.sqrt(p * p + h * h + e * e), p *= t, h *= t, e *= t, l = c * e - b * h, b = b * p - d * e, d = d * h - c * p, (t = Math.sqrt(l * l + b * b + d * d)) ? (t = 1 / t, l *= t, b *= t, d *= t) : d = b = l = 0, c = h * d - e * b, a = e * l - p * d, n = p * b - h * l, (t = Math.sqrt(c * c + a * a + n * n)) ? (t = 1 / t, c *= t, a *= t, n *= t) : n = a = c = 0, f[0] = l, f[1] = c, f[2] = p, f[3] = 0, f[4] = b, f[5] = a, f[6] = h, f[7] = 0, f[8] = d, f[9] = n, f[10] = e, f[11] = 0, f[12] = -(l * x + b * m + d * g), f[13] = -(c * x + a * m + n * g), f[14] = -(p * x + h * m + e * g), f[15] = 1) } (function() { function g(a, b, h) { this.Of = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); this.height = this.width = 0; this.fb = !!h; this.In = this.Ek = !1; this.Vm = 0; this.sp = 1; this.Ys = 1E3; this.pH = (this.Ys - this.sp) / 32768; this.dq = rc([0, 0, 100]); this.ew = rc([0, 0, 0]); this.gy = rc([0, 1, 0]); this.cm = rc([1, 1, 1]); this.dv = !0; this.co = sc(); this.Kd = sc(); this.qr = sc(); this.qq = sc(); this.S = a; this.version = 0 === this.S.getParameter(this.S.VERSION).indexOf("WebGL 2") ? 2 : 1; this.Jv() } function l(a, b, h) { this.S = a; this.Hl = b; this.name = h; this.de = a.getAttribLocation(b, "aPos"); this.Vg = a.getAttribLocation(b, "aTex"); this.bw = a.getUniformLocation(b, "matP"); this.Zn = a.getUniformLocation(b, "matMV"); this.bj = a.getUniformLocation(b, "opacity"); this.wr = a.getUniformLocation(b, "colorFill"); this.dw = a.getUniformLocation(b, "samplerFront"); this.Uk = a.getUniformLocation(b, "samplerBack"); this.Yh = a.getUniformLocation(b, "destStart"); this.Xh = a.getUniformLocation(b, "destEnd"); this.Wk = a.getUniformLocation(b, "seconds"); this.yr = a.getUniformLocation(b, "pixelWidth"); this.xr = a.getUniformLocation(b, "pixelHeight"); this.Tk = a.getUniformLocation(b, "layerScale"); this.Sk = a.getUniformLocation(b, "layerAngle"); this.Xk = a.getUniformLocation(b, "viewOrigin"); this.Vk = a.getUniformLocation(b, "scrollPos"); this.WE = !!(this.yr || this.xr || this.Wk || this.Uk || this.Yh || this.Xh || this.Tk || this.Sk || this.Xk || this.Vk); this.mw = this.ow = -999; this.bo = 1; this.iw = this.hw = 0; this.kw = this.gw = this.fw = 1; this.rw = this.qw = this.pw = this.uw = this.sw = this.jw = 0; this.pr = []; this.lw = sc(); this.bj && a.uniform1f(this.bj, 1); this.wr && a.uniform4f(this.wr, 1, 1, 1, 1); this.dw && a.uniform1i(this.dw, 0); this.Uk && a.uniform1i(this.Uk, 1); this.Yh && a.uniform2f(this.Yh, 0, 0); this.Xh && a.uniform2f(this.Xh, 1, 1); this.Tk && a.uniform1f(this.Tk, 1); this.Sk && a.uniform1f(this.Sk, 0); this.Xk && a.uniform2f(this.Xk, 0, 0); this.Vk && a.uniform2f(this.Vk, 0, 0); this.Wk && a.uniform1f(this.Wk, 0); this.Ih = !1 } function p(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8] && a[9] === b[9] && a[10] === b[10] && a[11] === b[11] && a[12] === b[12] && a[13] === b[13] && a[14] === b[14] && a[15] === b[15] } function f(a, b) { this.type = a; this.J = b; this.S = b.S; this.Gd = this.Sc = this.Yw = 0; this.Ea = this.ke = null; this.Ix = [] } var b = sc(); g.prototype.Jv = function() { var a = this.S, b; this.Xv = 1; this.Qh = this.Sg = null; this.Um = 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.fb ? (a.enable(a.DEPTH_TEST), a.depthFunc(a.LEQUAL)) : a.disable(a.DEPTH_TEST); this.Yv = a.ONE; this.Wv = a.ONE_MINUS_SRC_ALPHA; this.Zl = new Float32Array(8E3 * (this.fb ? 3 : 2)); this.Pl = new Float32Array(16E3); this.lx = new Float32Array(32E3); this.bs = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, this.bs); a.bufferData(a.ARRAY_BUFFER, this.lx.byteLength, a.DYNAMIC_DRAW); this.Yl = Array(4); this.Ol = Array(4); for (b = 0; 4 > b; b++) this.Yl[b] = a.createBuffer(), a.bindBuffer(a.ARRAY_BUFFER, this.Yl[b]), a.bufferData(a.ARRAY_BUFFER, this.Zl.byteLength, a.DYNAMIC_DRAW), this.Ol[b] = a.createBuffer(), a.bindBuffer(a.ARRAY_BUFFER, this.Ol[b]), a.bufferData(a.ARRAY_BUFFER, this.Pl.byteLength, a.DYNAMIC_DRAW); this.Bf = 0; this.bF = a.createBuffer(); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.bF); for (var h = new Uint16Array(12E3), e = b = 0; 12E3 > b;) h[b++] = e, h[b++] = e + 1, h[b++] = e + 2, h[b++] = e, h[b++] = e + 2, h[b++] = e + 3, e += 4; a.bufferData(a.ELEMENT_ARRAY_BUFFER, h, a.STATIC_DRAW); this.cs = this.dh = this.me = 0; this.Eb = []; b = this.fb ? "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}"; h = this.jk({ 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}" }, b, ""); this.Eb.push(h); h = this.jk({ 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}", ""); this.Eb.push(h); h = this.jk({ src: "varying mediump vec2 vTex;\nuniform lowp sampler2D samplerFront;\nvoid main(void) {\n\tif (texture2D(samplerFront, vTex).a < 1.0)\n\t\tdiscard;\n}" }, b, ""); this.Eb.push(h); h = this.jk({ src: "uniform lowp vec4 colorFill;\nvoid main(void) {\n\tgl_FragColor = colorFill;\n}" }, b, ""); this.Eb.push(h); for (var c in wc) wc.hasOwnProperty(c) && this.Eb.push(this.jk(wc[c], b, c)); a.activeTexture(a.TEXTURE0); a.bindTexture(a.TEXTURE_2D, null); this.Qe = []; this.te = 0; this.pc = !1; this.Yu = this.Pk = -1; this.Fi = null; this.Cq = a.createFramebuffer(); this.$m = this.Ho = null; this.Ku = !1; this.fb && (this.$m = a.createRenderbuffer()); this.eh = rc([0, 0, 0]); this.vw = a.getParameter(a.ALIASED_POINT_SIZE_RANGE)[1]; 2048 < this.vw && (this.vw = 2048); this.md(0) }; l.prototype.Rs = function(a) { p(this.lw, a) || (tc(a, this.lw), this.S.uniformMatrix4fv(this.Zn, !1, a)) }; g.prototype.jk = function(a, b, h) { var e = this.S, c = e.createShader(e.FRAGMENT_SHADER); e.shaderSource(c, a.src); e.compileShader(c); if (!e.getShaderParameter(c, e.COMPILE_STATUS)) throw a = e.getShaderInfoLog(c), e.deleteShader(c), Error("error compiling fragment shader: " + a); var d = e.createShader(e.VERTEX_SHADER); e.shaderSource(d, b); e.compileShader(d); if (!e.getShaderParameter(d, e.COMPILE_STATUS)) throw a = e.getShaderInfoLog(d), e.deleteShader(c), e.deleteShader(d), Error("error compiling vertex shader: " + a); b = e.createProgram(); e.attachShader(b, c); e.attachShader(b, d); e.linkProgram(b); if (!e.getProgramParameter(b, e.LINK_STATUS)) throw a = e.getProgramInfoLog(b), e.deleteShader(c), e.deleteShader(d), e.deleteProgram(b), Error("error linking shader program: " + a); e.useProgram(b); e.deleteShader(c); e.deleteShader(d); c = new l(e, b, h); c.Aq = a.Aq || 0; c.Bq = a.Bq || 0; c.Xu = !!a.Xu; c.Ee = !!a.Ee; c.Hu = !!a.Hu; c.ra = a.ra || []; a = 0; for (d = c.ra.length; a < d; a++) c.ra[a][1] = e.getUniformLocation(b, c.ra[a][0]), c.pr.push(0), e.uniform1f(c.ra[a][1], 0); return c }; g.prototype.Oq = function(a) { var b, h; b = 0; for (h = this.Eb.length; b < h; b++) if (this.Eb[b].name === a) return b; return -1 }; g.prototype.nx = function(a, b, h) { var e = this.Kd, c = this.co, d = [0, 0, 0, 0, 0, 0, 0, 0]; d[0] = e[0] * a + e[4] * b + e[12]; d[1] = e[1] * a + e[5] * b + e[13]; d[2] = e[2] * a + e[6] * b + e[14]; d[3] = e[3] * a + e[7] * b + e[15]; d[4] = c[0] * d[0] + c[4] * d[1] + c[8] * d[2] + c[12] * d[3]; d[5] = c[1] * d[0] + c[5] * d[1] + c[9] * d[2] + c[13] * d[3]; d[6] = c[2] * d[0] + c[6] * d[1] + c[10] * d[2] + c[14] * d[3]; d[7] = -d[2]; 0 !== d[7] && (d[7] = 1 / d[7], d[4] *= d[7], d[5] *= d[7], d[6] *= d[7], h[0] = (.5 * d[4] + .5) * this.width, h[1] = (.5 * d[5] + .5) * this.height) }; g.prototype.bg = function(a, b, h) { if (this.width !== a || this.height !== b || h) { this.Ff(); h = this.S; this.width = a; this.height = b; h.viewport(0, 0, a, b); vc(this.dq, this.ew, this.gy, this.Kd); if (this.fb) { var e = -a / 2; a = a / 2; var c = b / 2; b = -b / 2; var d = this.sp, m = this.Ys, f = this.co; f || (f = sc()); var u = a - e, w = b - c, v = m - d; f[0] = 2 / u; f[1] = 0; f[2] = 0; f[3] = 0; f[4] = 0; f[5] = 2 / w; f[6] = 0; f[7] = 0; f[8] = 0; f[9] = 0; f[10] = -2 / v; f[11] = 0; f[12] = -(e + a) / u; f[13] = -(b + c) / w; f[14] = -(m + d) / v; f[15] = 1; this.cm[0] = 1; this.cm[1] = 1 } else b = a / b, e = this.sp, a = this.Ys, f = this.co, m = e * Math.tan(45 * Math.PI / 360), b *= m, c = -b, d = -m, f || (f = sc()), u = b - c, w = m - d, v = a - e, f[0] = 2 * e / u, f[1] = 0, f[2] = 0, f[3] = 0, f[4] = 0, f[5] = 2 * e / w, f[6] = 0, f[7] = 0, f[8] = (b + c) / u, f[9] = (m + d) / w, f[10] = -(a + e) / v, f[11] = -1, f[12] = 0, f[13] = 0, f[14] = -(a * e * 2) / v, f[15] = 0, e = [0, 0], a = [0, 0], this.nx(0, 0, e), this.nx(1, 1, a), this.cm[0] = 1 / (a[0] - e[0]), this.cm[1] = -1 / (a[1] - e[1]); e = 0; for (a = this.Eb.length; e < a; e++) c = this.Eb[e], c.Ih = !1, c.bw && (h.useProgram(c.Hl), h.uniformMatrix4fv(c.bw, !1, this.co)); h.useProgram(this.Eb[this.Pk].Hl); h.bindTexture(h.TEXTURE_2D, null); h.activeTexture(h.TEXTURE1); h.bindTexture(h.TEXTURE_2D, null); h.activeTexture(h.TEXTURE0); this.Qh = this.Sg = null; this.$m && (h.bindFramebuffer(h.FRAMEBUFFER, this.Cq), h.bindRenderbuffer(h.RENDERBUFFER, this.$m), h.renderbufferStorage(h.RENDERBUFFER, h.DEPTH_COMPONENT16, this.width, this.height), this.Ku || (h.framebufferRenderbuffer(h.FRAMEBUFFER, h.DEPTH_ATTACHMENT, h.RENDERBUFFER, this.$m), this.Ku = !0), h.bindRenderbuffer(h.RENDERBUFFER, null), h.bindFramebuffer(h.FRAMEBUFFER, null), this.Ho = null) } }; g.prototype.kf = function() { vc(this.dq, this.ew, this.gy, this.Kd); uc(this.Kd, this.cm) }; g.prototype.translate = function(a, b) { if (0 !== a || 0 !== b) { this.eh[0] = a; this.eh[1] = b; this.eh[2] = 0; var h = this.Kd, e = this.eh, c = e[0], d = e[1], e = e[2]; h[12] = h[0] * c + h[4] * d + h[8] * e + h[12]; h[13] = h[1] * c + h[5] * d + h[9] * e + h[13]; h[14] = h[2] * c + h[6] * d + h[10] * e + h[14]; h[15] = h[3] * c + h[7] * d + h[11] * e + h[15] } }; g.prototype.scale = function(a, b) { if (1 !== a || 1 !== b) this.eh[0] = a, this.eh[1] = b, this.eh[2] = 1, uc(this.Kd, this.eh) }; g.prototype.ns = function(a) { if (0 !== a) { var b = this.Kd, c, e = Math.sin(a); a = Math.cos(a); var d = b[0], f = b[1], m = b[2], q = b[3], u = b[4], w = b[5], v = b[6], k = b[7]; c ? b !== c && (c[8] = b[8], c[9] = b[9], c[10] = b[10], c[11] = b[11], c[12] = b[12], c[13] = b[13], c[14] = b[14], c[15] = b[15]) : c = b; c[0] = d * a + u * e; c[1] = f * a + w * e; c[2] = m * a + v * e; c[3] = q * a + k * e; c[4] = d * -e + u * a; c[5] = f * -e + w * a; c[6] = m * -e + v * a; c[7] = q * -e + k * a } }; g.prototype.Me = function() { if (!p(this.qr, this.Kd)) { var a = this.jd(); a.type = 5; a.Ea ? tc(this.Kd, a.Ea) : a.Ea = sc(this.Kd); tc(this.Kd, this.qr); this.pc = !1 } }; g.prototype.Qo = function(a) { this.fb && (32760 < a && (a = 32760), this.Vm = this.dq[2] - this.sp - a * this.pH) }; f.prototype.rD = function() { var a = this.S, b = this.J; 0 !== this.Sc ? (a.depthMask(!0), a.colorMask(!1, !1, !1, !1), a.disable(a.BLEND), a.bindFramebuffer(a.FRAMEBUFFER, b.Cq), a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, null, 0), a.clear(a.DEPTH_BUFFER_BIT), a.bindFramebuffer(a.FRAMEBUFFER, null), b.In = !0) : (a.depthMask(!1), a.colorMask(!0, !0, !0, !0), a.enable(a.BLEND), b.In = !1) }; f.prototype.vD = function() { this.S.bindTexture(this.S.TEXTURE_2D, this.ke) }; f.prototype.wD = function() { var a = this.S; a.activeTexture(a.TEXTURE1); a.bindTexture(a.TEXTURE_2D, this.ke); a.activeTexture(a.TEXTURE0) }; f.prototype.sD = function() { var a = this.Yw, b = this.J; b.Um = a; b = b.Fi; b.bj && b.bo !== a && (b.bo = a, this.S.uniform1f(b.bj, a)) }; f.prototype.lD = function() { this.S.drawElements(this.S.TRIANGLES, this.Gd, this.S.UNSIGNED_SHORT, this.Sc) }; f.prototype.oD = function() { this.S.blendFunc(this.Sc, this.Gd) }; f.prototype.xD = function() { var a, b, c, e = this.J.Eb, d = this.J.Yu; a = 0; for (b = e.length; a < b; a++) c = e[a], a === d && c.Zn ? (c.Rs(this.Ea), c.Ih = !0) : c.Ih = !1; tc(this.Ea, this.J.qq) }; f.prototype.mD = function() { var a = this.S, b = this.J; this.ke ? (b.Qh === this.ke && (a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, null), b.Qh = null, a.activeTexture(a.TEXTURE0)), a.bindFramebuffer(a.FRAMEBUFFER, b.Cq), b.In || a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, this.ke, 0)) : (b.fb || a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, null, 0), a.bindFramebuffer(a.FRAMEBUFFER, null)) }; f.prototype.hD = function() { var a = this.S, b = this.Sc; 0 === b ? (a.clearColor(this.Ea[0], this.Ea[1], this.Ea[2], this.Ea[3]), a.clear(a.COLOR_BUFFER_BIT)) : 1 === b ? (a.enable(a.SCISSOR_TEST), a.scissor(this.Ea[0], this.Ea[1], this.Ea[2], this.Ea[3]), a.clearColor(0, 0, 0, 0), a.clear(a.COLOR_BUFFER_BIT), a.disable(a.SCISSOR_TEST)) : a.clear(a.DEPTH_BUFFER_BIT) }; f.prototype.qD = function() { var a = this.S; 0 !== this.Sc ? a.enable(a.DEPTH_TEST) : a.disable(a.DEPTH_TEST) }; f.prototype.kD = function() { var a = this.S, b = this.J; b.fb && a.disable(a.DEPTH_TEST); var c = b.Eb[1]; a.useProgram(c.Hl); !c.Ih && c.Zn && (c.Rs(b.qq), c.Ih = !0); a.enableVertexAttribArray(c.de); a.bindBuffer(a.ARRAY_BUFFER, b.bs); a.vertexAttribPointer(c.de, 4, a.FLOAT, !1, 0, 0); a.drawArrays(a.POINTS, this.Sc / 4, this.Gd); c = b.Fi; a.useProgram(c.Hl); 0 <= c.de && (a.enableVertexAttribArray(c.de), a.bindBuffer(a.ARRAY_BUFFER, b.Yl[b.Bf]), a.vertexAttribPointer(c.de, b.fb ? 3 : 2, a.FLOAT, !1, 0, 0)); 0 <= c.Vg && (a.enableVertexAttribArray(c.Vg), a.bindBuffer(a.ARRAY_BUFFER, b.Ol[b.Bf]), a.vertexAttribPointer(c.Vg, 2, a.FLOAT, !1, 0, 0)); b.fb && a.enable(a.DEPTH_TEST) }; f.prototype.tD = function() { var a = this.S, b = this.J, c = b.Eb[this.Sc]; b.Yu = this.Sc; b.Fi = c; a.useProgram(c.Hl); !c.Ih && c.Zn && (c.Rs(b.qq), c.Ih = !0); c.bj && c.bo !== b.Um && (c.bo = b.Um, a.uniform1f(c.bj, b.Um)); 0 <= c.de && (a.enableVertexAttribArray(c.de), a.bindBuffer(a.ARRAY_BUFFER, b.Yl[b.Bf]), a.vertexAttribPointer(c.de, b.fb ? 3 : 2, a.FLOAT, !1, 0, 0)); 0 <= c.Vg && (a.enableVertexAttribArray(c.Vg), a.bindBuffer(a.ARRAY_BUFFER, b.Ol[b.Bf]), a.vertexAttribPointer(c.Vg, 2, a.FLOAT, !1, 0, 0)) }; f.prototype.pD = function() { var a = this.Ea; this.S.uniform4f(this.J.Fi.wr, a[0], a[1], a[2], a[3]) }; f.prototype.uD = function() { var a, b, c = this.J.Fi, e = this.S; a = this.Ea; c.Uk && this.J.Qh !== this.ke && (e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, this.ke), this.J.Qh = this.ke, e.activeTexture(e.TEXTURE0)); var d = a[0]; c.yr && d !== c.ow && (c.ow = d, e.uniform1f(c.yr, d)); d = a[1]; c.xr && d !== c.mw && (c.mw = d, e.uniform1f(c.xr, d)); d = a[2]; b = a[3]; !c.Yh || d === c.hw && b === c.iw || (c.hw = d, c.iw = b, e.uniform2f(c.Yh, d, b)); d = a[4]; b = a[5]; !c.Xh || d === c.fw && b === c.gw || (c.fw = d, c.gw = b, e.uniform2f(c.Xh, d, b)); d = a[6]; c.Tk && d !== c.kw && (c.kw = d, e.uniform1f(c.Tk, d)); d = a[7]; c.Sk && d !== c.jw && (c.jw = d, e.uniform1f(c.Sk, d)); d = a[8]; b = a[9]; !c.Xk || d === c.sw && b === c.uw || (c.sw = d, c.uw = b, e.uniform2f(c.Xk, d, b)); d = a[10]; b = a[11]; !c.Vk || d === c.pw && b === c.qw || (c.pw = d, c.qw = b, e.uniform2f(c.Vk, d, b)); d = a[12]; c.Wk && d !== c.rw && (c.rw = d, e.uniform1f(c.Wk, d)); if (c.ra.length) for (a = 0, b = c.ra.length; a < b; a++) d = this.Ix[a], d !== c.pr[a] && (c.pr[a] = d, e.uniform1f(c.ra[a][1], d)) }; g.prototype.jd = function() { this.te === this.Qe.length && this.Qe.push(new f(0, this)); return this.Qe[this.te++] }; g.prototype.Ff = function() { if (0 !== this.te && !this.S.isContextLost()) { var a = this.S; 0 < this.cs && (a.bindBuffer(a.ARRAY_BUFFER, this.bs), a.bufferSubData(a.ARRAY_BUFFER, 0, this.lx.subarray(0, this.cs)), b && 0 <= b.de && "" === b.name && a.vertexAttribPointer(b.de, 4, a.FLOAT, !1, 0, 0)); if (0 < this.me) { var b = this.Fi; a.bindBuffer(a.ARRAY_BUFFER, this.Yl[this.Bf]); a.bufferSubData(a.ARRAY_BUFFER, 0, this.Zl.subarray(0, this.me)); b && 0 <= b.de && "" !== b.name && a.vertexAttribPointer(b.de, this.fb ? 3 : 2, a.FLOAT, !1, 0, 0); a.bindBuffer(a.ARRAY_BUFFER, this.Ol[this.Bf]); a.bufferSubData(a.ARRAY_BUFFER, 0, this.Pl.subarray(0, this.dh)); b && 0 <= b.Vg && "" !== b.name && a.vertexAttribPointer(b.Vg, 2, a.FLOAT, !1, 0, 0) } for (var c, a = 0, b = this.te; a < b; a++) switch (c = this.Qe[a], c.type) { case 1: c.lD(); break; case 2: c.vD(); break; case 3: c.sD(); break; case 4: c.oD(); break; case 5: c.xD(); break; case 6: c.mD(); break; case 7: c.hD(); break; case 8: c.kD(); break; case 9: c.tD(); break; case 10: c.uD(); break; case 11: c.wD(); break; case 12: c.pD(); break; case 13: c.qD(); break; case 14: c.rD() } this.cs = this.dh = this.me = this.te = 0; this.In = this.pc = !1; this.Bf++; 4 <= this.Bf && (this.Bf = 0) } }; g.prototype.ag = function(a) { if (a !== this.Xv && !this.Ek) { var b = this.jd(); b.type = 3; this.Xv = b.Yw = a; this.pc = !1 } }; g.prototype.Zc = function(a) { if (a !== this.Sg) { var b = this.jd(); b.type = 2; this.Sg = b.ke = a; this.pc = !1 } }; g.prototype.$f = function(a, b) { if ((a !== this.Yv || b !== this.Wv) && !this.Ek) { var c = this.jd(); c.type = 4; c.Sc = a; c.Gd = b; this.Yv = a; this.Wv = b; this.pc = !1 } }; g.prototype.zx = function() { this.$f(this.S.ONE, this.S.ONE_MINUS_SRC_ALPHA) }; g.prototype.fi = function(a, b, c, e, d, f, m, q) { 15992 <= this.me && this.Ff(); var u = this.me, w = this.dh, v = this.Zl, k = this.Pl, r = this.Vm; if (this.pc) this.Qe[this.te - 1].Gd += 6; else { var H = this.jd(); H.type = 1; H.Sc = this.fb ? u : u / 2 * 3; H.Gd = 6; this.pc = !0 } this.fb ? (v[u++] = a, v[u++] = b, v[u++] = r, v[u++] = c, v[u++] = e, v[u++] = r, v[u++] = d, v[u++] = f, v[u++] = r, v[u++] = m, v[u++] = q, v[u++] = r) : (v[u++] = a, v[u++] = b, v[u++] = c, v[u++] = e, v[u++] = d, v[u++] = f, v[u++] = m, v[u++] = q); k[w++] = 0; k[w++] = 0; k[w++] = 1; k[w++] = 0; k[w++] = 1; k[w++] = 1; k[w++] = 0; k[w++] = 1; this.me = u; this.dh = w }; g.prototype.Fe = function(a, b, c, e, d, f, m, q, u) { 15992 <= this.me && this.Ff(); var w = this.me, v = this.dh, k = this.Zl, r = this.Pl, H = this.Vm; if (this.pc) this.Qe[this.te - 1].Gd += 6; else { var y = this.jd(); y.type = 1; y.Sc = this.fb ? w : w / 2 * 3; y.Gd = 6; this.pc = !0 } var y = u.left, g = u.top, l = u.right; u = u.bottom; this.fb ? (k[w++] = a, k[w++] = b, k[w++] = H, k[w++] = c, k[w++] = e, k[w++] = H, k[w++] = d, k[w++] = f, k[w++] = H, k[w++] = m, k[w++] = q, k[w++] = H) : (k[w++] = a, k[w++] = b, k[w++] = c, k[w++] = e, k[w++] = d, k[w++] = f, k[w++] = m, k[w++] = q); r[v++] = y; r[v++] = g; r[v++] = l; r[v++] = g; r[v++] = l; r[v++] = u; r[v++] = y; r[v++] = u; this.me = w; this.dh = v }; g.prototype.nG = function(a, b, c, e, d, f, m, q, u, w, v, k, r, H, y, g) { 15992 <= this.me && this.Ff(); var l = this.me, p = this.dh, G = this.Zl, E = this.Pl, J = this.Vm; if (this.pc) this.Qe[this.te - 1].Gd += 6; else { var F = this.jd(); F.type = 1; F.Sc = this.fb ? l : l / 2 * 3; F.Gd = 6; this.pc = !0 } this.fb ? (G[l++] = a, G[l++] = b, G[l++] = J, G[l++] = c, G[l++] = e, G[l++] = J, G[l++] = d, G[l++] = f, G[l++] = J, G[l++] = m, G[l++] = q, G[l++] = J) : (G[l++] = a, G[l++] = b, G[l++] = c, G[l++] = e, G[l++] = d, G[l++] = f, G[l++] = m, G[l++] = q); E[p++] = u; E[p++] = w; E[p++] = v; E[p++] = k; E[p++] = r; E[p++] = H; E[p++] = y; E[p++] = g; this.me = l; this.dh = p }; g.prototype.md = function(a) { if (this.Pk !== a) { if (!this.Eb[a]) { if (0 === this.Pk) return; a = 0 } var b = this.jd(); b.type = 9; this.Pk = b.Sc = a; this.pc = !1 } }; g.prototype.sl = function(a) { a = this.Eb[a]; return !(!a.Yh && !a.Xh) }; g.prototype.es = function(a) { a = this.Eb[a]; return !!(a.Yh || a.Xh || a.Xu) }; g.prototype.ds = function(a) { return this.Eb[a].Ee }; g.prototype.jG = function(a) { a = this.Eb[a]; return 0 !== a.Aq || 0 !== a.Bq }; g.prototype.EE = function(a) { return this.Eb[a].Aq }; g.prototype.FE = function(a) { return this.Eb[a].Bq }; g.prototype.GE = function(a, b) { return this.Eb[a].ra[b][2] }; g.prototype.Co = function(a) { return this.Eb[a].Hu }; g.prototype.tj = function(a, b, c, e, d, f, m, q, u, w, v, k, r, H, y) { var g = this.Eb[this.Pk], l, p; if (g.WE || y.length) { l = this.jd(); l.type = 10; l.Ea ? tc(this.Kd, l.Ea) : l.Ea = sc(); p = l.Ea; p[0] = b; p[1] = c; p[2] = e; p[3] = d; p[4] = f; p[5] = m; p[6] = q; p[7] = u; p[8] = w; p[9] = v; p[10] = k; p[11] = r; p[12] = H; g.Uk ? l.ke = a : l.ke = null; if (y.length) for (c = l.Ix, c.length = y.length, a = 0, b = y.length; a < b; a++) c[a] = y[a]; this.pc = !1 } }; g.prototype.clear = function(a, b, c, e) { var d = this.jd(); d.type = 7; d.Sc = 0; d.Ea || (d.Ea = sc()); d.Ea[0] = a; d.Ea[1] = b; d.Ea[2] = c; d.Ea[3] = e; this.pc = !1 }; g.prototype.clearRect = function(a, b, c, e) { if (!(0 > c || 0 > e)) { var d = this.jd(); d.type = 7; d.Sc = 1; d.Ea || (d.Ea = sc()); d.Ea[0] = a; d.Ea[1] = b; d.Ea[2] = c; d.Ea[3] = e; this.pc = !1 } }; g.prototype.Dx = function(a) { if (this.fb && (a = !!a, this.Ek !== a)) { var b = this.jd(); b.type = 14; b.Sc = a ? 1 : 0; this.pc = !1; this.Ek = a; this.Ho = null; this.Ek ? this.md(2) : this.md(0) } }; g.prototype.Bx = function(a) { if (this.fb) { var b = this.jd(); b.type = 13; b.Sc = a ? 1 : 0; this.pc = !1 } }; g.prototype.tv = function() { tc(this.qr, b); this.kf(); this.Me(); var a = this.width / 2, c = this.height / 2; this.fi(-a, c, a, c, a, -c, -a, -c); tc(b, this.Kd); this.Me() }; g.prototype.Ax = function(a, b, c) { this.md(3); var e = this.jd(); e.type = 12; e.Ea || (e.Ea = sc()); e.Ea[0] = a; e.Ea[1] = b; e.Ea[2] = c; e.Ea[3] = 1; this.pc = !1 }; g.prototype.PG = function() { this.md(0) }; g.prototype.yG = function() { this.md(2) }; g.prototype.iG = function() { this.Ff(); this.S.flush() }; var d = [], c = {}; g.prototype.WC = function() { B(d); c = {} }; g.prototype.Tf = function(a, b, f, e) { b = !!b; f = !!f; var t = a.src + "," + b + "," + f + (b ? ",undefined" : ""), g = null; if ("undefined" !== typeof a.src && c.hasOwnProperty(t)) return g = c[t], g.Jm++, g; this.Ff(); var m = this.S, q = na(a.width) && na(a.height), g = m.createTexture(); m.bindTexture(m.TEXTURE_2D, g); m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0); var u = m.RGBA, w = m.RGBA, v = m.UNSIGNED_BYTE; if (e && !this.Of) switch (e) { case 1: w = u = m.RGB; break; case 2: v = m.UNSIGNED_SHORT_4_4_4_4; break; case 3: v = m.UNSIGNED_SHORT_5_5_5_1; break; case 4: w = u = m.RGB, v = m.UNSIGNED_SHORT_5_6_5 } if (1 === this.version && !q && b) { e = document.createElement("canvas"); e.width = pa(a.width); e.height = pa(a.height); var k = e.getContext("2d"); "undefined" !== typeof k.imageSmoothingEnabled ? k.imageSmoothingEnabled = f : (k.webkitImageSmoothingEnabled = f, k.mozImageSmoothingEnabled = f, k.msImageSmoothingEnabled = f); k.drawImage(a, 0, 0, a.width, a.height, 0, 0, e.width, e.height); m.texImage2D(m.TEXTURE_2D, 0, u, w, v, e) } else m.texImage2D(m.TEXTURE_2D, 0, u, w, v, a); b ? (m.texParameteri(m.TEXTURE_2D, m.TEXTURE_WRAP_S, m.REPEAT), m.texParameteri(m.TEXTURE_2D, m.TEXTURE_WRAP_T, m.REPEAT)) : (m.texParameteri(m.TEXTURE_2D, m.TEXTURE_WRAP_S, m.CLAMP_TO_EDGE), m.texParameteri(m.TEXTURE_2D, m.TEXTURE_WRAP_T, m.CLAMP_TO_EDGE)); f ? (m.texParameteri(m.TEXTURE_2D, m.TEXTURE_MAG_FILTER, m.LINEAR), (q || 2 <= this.version) && this.dv ? (m.texParameteri(m.TEXTURE_2D, m.TEXTURE_MIN_FILTER, m.LINEAR_MIPMAP_LINEAR), m.generateMipmap(m.TEXTURE_2D)) : m.texParameteri(m.TEXTURE_2D, m.TEXTURE_MIN_FILTER, m.LINEAR)) : (m.texParameteri(m.TEXTURE_2D, m.TEXTURE_MAG_FILTER, m.NEAREST), m.texParameteri(m.TEXTURE_2D, m.TEXTURE_MIN_FILTER, m.NEAREST)); m.bindTexture(m.TEXTURE_2D, null); this.Sg = null; g.sh = a.width; g.rh = a.height; g.Jm = 1; g.Pu = t; d.push(g); return c[t] = g }; g.prototype.Dd = function(a, b, c, e, f) { this.Ff(); var g = this.S; this.Of && (e = !1); var m = g.createTexture(); g.bindTexture(g.TEXTURE_2D, m); g.texImage2D(g.TEXTURE_2D, 0, g.RGBA, a, b, 0, g.RGBA, e ? g.UNSIGNED_SHORT_4_4_4_4 : g.UNSIGNED_BYTE, null); f ? (g.texParameteri(g.TEXTURE_2D, g.TEXTURE_WRAP_S, g.REPEAT), g.texParameteri(g.TEXTURE_2D, g.TEXTURE_WRAP_T, g.REPEAT)) : (g.texParameteri(g.TEXTURE_2D, g.TEXTURE_WRAP_S, g.CLAMP_TO_EDGE), g.texParameteri(g.TEXTURE_2D, g.TEXTURE_WRAP_T, g.CLAMP_TO_EDGE)); g.texParameteri(g.TEXTURE_2D, g.TEXTURE_MAG_FILTER, c ? g.LINEAR : g.NEAREST); g.texParameteri(g.TEXTURE_2D, g.TEXTURE_MIN_FILTER, c ? g.LINEAR : g.NEAREST); g.bindTexture(g.TEXTURE_2D, null); this.Sg = null; m.sh = a; m.rh = b; d.push(m); return m }; g.prototype.kH = function(a, b) { var c; this.Ff(); var e = this.S; this.Of && (c = !1); e.bindTexture(e.TEXTURE_2D, b); e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0); try { e.texImage2D(e.TEXTURE_2D, 0, e.RGBA, e.RGBA, c ? e.UNSIGNED_SHORT_4_4_4_4 : e.UNSIGNED_BYTE, a) } catch (d) { console && console.error && console.error("Error updating WebGL texture: ", d) } e.bindTexture(e.TEXTURE_2D, null); this.Sg = null }; g.prototype.deleteTexture = function(a) { a && ("undefined" !== typeof a.Jm && 1 < a.Jm ? a.Jm-- : (this.Ff(), a === this.Sg && (this.S.bindTexture(this.S.TEXTURE_2D, null), this.Sg = null), a === this.Qh && (this.S.activeTexture(this.S.TEXTURE1), this.S.bindTexture(this.S.TEXTURE_2D, null), this.S.activeTexture(this.S.TEXTURE0), this.Qh = null), Ga(d, a), "undefined" !== typeof a.Pu && delete c[a.Pu], this.S.deleteTexture(a))) }; g.prototype.he = function(a) { if (a !== this.Ho) { var b = this.jd(); b.type = 6; this.Ho = b.ke = a; this.pc = !1 } }; qb = g })(); (function() { function g(a) { if (a && (a.getContext || a.dc) && !a.c2runtime) { a.c2runtime = this; var b = this; this.Uc = (this.Dk = /crosswalk/i.test(navigator.userAgent) || /xwalk/i.test(navigator.userAgent) || !("undefined" === typeof window.c2isCrosswalk || !window.c2isCrosswalk)) || "undefined" !== typeof window.device && ("undefined" !== typeof window.device.cordova || "undefined" !== typeof window.device.phonegap) || "undefined" !== typeof window.c2iscordova && window.c2iscordova; this.Cc = !!a.dc; this.Ov = "undefined" !== typeof window.AppMobi || this.Cc; this.vd = !!window.c2cocoonjs; this.ae = !!window.c2ejecta; this.vd && (CocoonJS.App.onSuspended.addEventListener(function() { b.setSuspended(!0) }), CocoonJS.App.onActivated.addEventListener(function() { b.setSuspended(!1) })); this.ae && (document.addEventListener("pagehide", function() { b.setSuspended(!0) }), document.addEventListener("pageshow", function() { b.setSuspended(!1) }), document.addEventListener("resize", function() { b.setSize(window.innerWidth, window.innerHeight) })); this.kb = this.Cc || this.vd || this.ae; this.Gk = /edge\//i.test(navigator.userAgent); this.Of = (/msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent) || /iemobile/i.test(navigator.userAgent)) && !this.Gk; this.ir = /tizen/i.test(navigator.userAgent); this.Ck = /android/i.test(navigator.userAgent) && !this.ir && !this.Of && !this.Gk; this.Uv = (/iphone/i.test(navigator.userAgent) || /ipod/i.test(navigator.userAgent)) && !this.Of && !this.Gk; this.tF = /ipad/i.test(navigator.userAgent); this.Ph = this.Uv || this.tF || this.ae; this.cr = (/chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent)) && !this.Of && !this.Gk; this.Gn = /amazonwebappplatform/i.test(navigator.userAgent); this.iF = /firefox/i.test(navigator.userAgent); this.mF = /safari/i.test(navigator.userAgent) && !this.cr && !this.Of && !this.Gk; this.nF = /windows/i.test(navigator.userAgent); this.Rv = this.Ri = "undefined" !== typeof window.c2nodewebkit || "undefined" !== typeof window.c2nwjs || /nodewebkit/i.test(navigator.userAgent) || /nwjs/i.test(navigator.userAgent); this.gF = "undefined" !== typeof window.is_scirra_arcade; this.jr = !("undefined" === typeof window.c2isWindows8 || !window.c2isWindows8); this.pF = !("undefined" === typeof window.c2isWindows8Capable || !window.c2isWindows8Capable); this.Ze = !("undefined" === typeof window.c2isWindowsPhone8 || !window.c2isWindowsPhone8); this.kr = !("undefined" === typeof window.c2isWindowsPhone81 || !window.c2isWindowsPhone81); this.Nn = !!window.cr_windows10; this.Mn = this.jr || this.pF || this.kr || this.Nn; this.br = !("undefined" === typeof window.c2isBlackberry10 || !window.c2isBlackberry10); this.Hn = this.Ck && !this.cr && !this.Dk && !this.iF && !this.Gn && !this.kb; this.devicePixelRatio = 1; this.Pg = this.Uc || this.Dk || this.Ov || this.vd || this.Ck || this.Ph || this.Ze || this.kr || this.br || this.ir || this.ae; this.Pg || (this.Pg = /(blackberry|bb10|playbook|palm|symbian|nokia|windows\s+ce|phone|mobile|tablet|kindle|silk)/i.test(navigator.userAgent)); this.Ln = !!(this.Ph && this.Uc && window.webkit); "undefined" === typeof cr_is_preview || this.Ri || "?nw" !== window.location.search && !/nodewebkit/i.test(navigator.userAgent) && !/nwjs/i.test(navigator.userAgent) || (this.Ri = !0); this.canvas = a; this.Ru = document.getElementById("c2canvasdiv"); this.J = this.S = null; this.Rq = "(unavailable)"; this.fb = !1; this.zh = 0; this.B = null; this.mn = !1; this.Qw = this.Rw = 0; this.canvas.oncontextmenu = function(a) { a.preventDefault && a.preventDefault(); return !1 }; this.canvas.onselectstart = function(a) { a.preventDefault && a.preventDefault(); return !1 }; this.Cc && (window.c2runtime = this); this.Ri && (window.ondragover = function(a) { a.preventDefault(); return !1 }, window.ondrop = function(a) { a.preventDefault(); return !1 }, window.nwgui && window.nwgui.App.clearCache && window.nwgui.App.clearCache()); this.Hn && "undefined" !== typeof jQuery && jQuery("canvas").parents("*").css("overflow", "visible"); this.width = a.width; this.height = a.height; this.ja = this.width; this.ga = this.height; this.Tm = this.width; this.lk = this.height; this.Sh = window.innerWidth; this.Rh = window.innerHeight; this.H = !0; this.Hk = !1; Date.now || (Date.now = function() { return +new Date }); this.plugins = []; this.types = {}; this.R = []; this.xb = []; this.aj = {}; this.Be = []; this.zq = {}; this.Gf = []; this.ri = []; this.ip = []; this.Zp = []; this.HC = []; this.xh = {}; this.er = this.Ng = !1; this.Id = 0; this.dr = this.gr = !1; this.ve = []; this.Fk = !1; this.Vn = this.rs = ""; this.kc = null; this.Rf = ""; this.Ll = this.Lx = !1; this.ln = []; this.yh = this.Hg = 0; this.Gr = 30; this.oq = this.Yk = 0; this.qf = 1; this.hc = new gb; this.jg = new gb; this.fl = this.tn = this.pk = this.ni = this.Uh = this.sn = this.Qn = 0; this.gk = null; this.bn = []; this.yq = []; this.dn = -1; this.Ar = [ [] ]; this.Ls = this.$n = 0; this.Do(null); this.Zk = []; this.cj = -1; this.Ew = this.dl = 0; this.ur = !0; this.rk = 0; this.Ml = []; this.Is = this.gs = -1; this.Lk = !0; this.Wh = 0; this.Si = !1; this.TG = 0; this.Bi = null; this.Dc = this.Cn = !1; this.Pw = new da; this.Jr = new da; this.Kr = new da; this.ux = []; this.Ie = new ib([]); this.Cs = new ib([]); this.Ai = []; this.Oi = {}; this.Ag = {}; this.sg = {}; this.Gj = {}; this.Mu = {}; this.aw = this.Un = this.Xb = this.ic = this.$v = this.Tn = this.Ha = null; this.Ej = this.lr = !1; this.Gq = [null, null]; this.Kf = 0; this.Dq = ""; this.Vf = {}; this.Jl = this.Tg = null; this.Nx = ""; this.fo = []; this.xG() } } function l(a, b) { return 128 >= b ? a[3] : 256 >= b ? a[2] : 512 >= b ? a[1] : a[0] } function p() { try { return !!window.indexedDB } catch (a) { return !1 } } function f(a) { a.target.result.createObjectStore("saves", { keyPath: "slot" }) } function b(a, b, e, k) { try { var c = indexedDB.open("_C2SaveStates"); c.onupgradeneeded = f; c.onerror = k; c.onsuccess = function(c) { c = c.target.result; c.onerror = k; c.transaction(["saves"], "readwrite").objectStore("saves").put({ slot: a, data: b }).onsuccess = e } } catch (m) { k(m) } } function d(a, b, e) { try { var k = indexedDB.open("_C2SaveStates"); k.onupgradeneeded = f; k.onerror = e; k.onsuccess = function(k) { k = k.target.result; k.onerror = e; var c = k.transaction(["saves"]).objectStore("saves").get(a); c.onsuccess = function() { c.result ? b(c.result.data) : b(null) } } } catch (c) { e(c) } } function c() { fa("Reloading for continuous preview"); window.c2cocoonjs ? CocoonJS.App.reload() : -1 < window.location.search.indexOf("continuous") ? window.location.reload(!0) : window.location = window.location + "?continuous" } function a(a) { var b, e = {}; for (b in a) !a.hasOwnProperty(b) || a[b] instanceof da || a[b] && "undefined" !== typeof a[b].CI || "spriteCreatedDestroyCallback" !== b && (e[b] = a[b]); return e } var n = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame; g.prototype.xG = function() { var a = this; if (this.Ln) this.mE(function(b) { a.Rk(JSON.parse(b)) }, function() { alert("Error fetching data.js") }); else { var b; this.Ze ? b = new ActiveXObject("Microsoft.XMLHTTP") : b = new XMLHttpRequest; var e = "data.js"; if (this.jr || this.Ze || this.kr || this.Nn) e = "data.json"; b.open("GET", e, !0); var k = !1; if (!this.kb && "response" in b && "responseType" in b) try { b.responseType = "json", k = "json" === b.responseType } catch (c) { k = !1 } if (!k && "responseType" in b) try { b.responseType = "text" } catch (m) {} if ("overrideMimeType" in b) try { b.overrideMimeType("application/json; charset=utf-8") } catch (d) {} this.Ze ? b.onreadystatechange = function() { 4 === b.readyState && a.Rk(JSON.parse(b.responseText)) } : (b.onload = function() { if (k) a.Rk(b.response); else if (a.ae) { var e = b.responseText, e = e.substr(e.indexOf("{")); a.Rk(JSON.parse(e)) } else a.Rk(JSON.parse(b.responseText)) }, b.onerror = function(a) { ha("Error requesting " + e + ":"); ha(a) }); b.send() } }; g.prototype.cF = function() { var a = this, b, e, k, c, m, d, r, f, h; this.Nh = (!this.kb || this.ae || this.Uc) && this.hH && !this.Hn; 0 === this.Pc && this.Ph && (this.Nh = !1); this.devicePixelRatio = this.Nh ? window.devicePixelRatio || window.webkitDevicePixelRatio || window.mozDevicePixelRatio || window.msDevicePixelRatio || 1 : 1; this.Lc(); 0 < this.Pc && this.setSize(window.innerWidth, window.innerHeight, !0); this.canvas.addEventListener("webglcontextlost", function(b) { b.preventDefault(); a.PF(); fa("[Construct 2] WebGL context lost"); window.cr_setSuspended(!0) }, !1); this.canvas.addEventListener("webglcontextrestored", function() { a.J.Jv(); a.J.bg(a.J.width, a.J.height, !0); a.ic = null; a.Xb = null; a.Gq[0] = null; a.Gq[1] = null; a.QF(); a.H = !0; fa("[Construct 2] WebGL context restored"); window.cr_setSuspended(!1) }, !1); try { this.GD && (this.vd || this.ae || !this.kb) && (b = { alpha: !0, depth: !1, antialias: !1, powerPreference: "high-performance", failIfMajorPerformanceCaveat: !0 }, this.S = this.canvas.getContext("webgl2", b) || this.canvas.getContext("webgl", b) || this.canvas.getContext("experimental-webgl", b)) } catch (n) {} if (this.S) { if (b = this.S.getExtension("WEBGL_debug_renderer_info")) this.Rq = this.S.getParameter(b.UNMASKED_RENDERER_WEBGL) + " [" + this.S.getParameter(b.UNMASKED_VENDOR_WEBGL) + "]"; this.fb && (this.Rq += " [front-to-back enabled]"); this.kb || (this.Fc = document.createElement("canvas"), jQuery(this.Fc).appendTo(this.canvas.parentNode), this.Fc.oncontextmenu = function() { return !1 }, this.Fc.onselectstart = function() { return !1 }, this.Fc.width = Math.round(this.Tm * this.devicePixelRatio), this.Fc.height = Math.round(this.lk * this.devicePixelRatio), jQuery(this.Fc).css({ width: this.Tm + "px", height: this.lk + "px" }), this.mx(), this.Sr = this.Fc.getContext("2d")); this.J = new qb(this.S, this.Pg, this.fb); this.J.bg(this.canvas.width, this.canvas.height); this.J.dv = 0 !== this.yD; this.B = null; b = 0; for (e = this.R.length; b < e; b++) for (m = this.R[b], k = 0, c = m.wa.length; k < c; k++) r = m.wa[k], r.$b = this.J.Oq(r.id), r.Ee = this.J.ds(r.$b), this.Ej = this.Ej || this.J.sl(r.$b); b = 0; for (e = this.Be.length; b < e; b++) { f = this.Be[b]; k = 0; for (c = f.wa.length; k < c; k++) r = f.wa[k], r.$b = this.J.Oq(r.id), r.Ee = this.J.ds(r.$b); f.Le(); k = 0; for (c = f.ea.length; k < c; k++) { h = f.ea[k]; m = 0; for (d = h.wa.length; m < d; m++) r = h.wa[m], r.$b = this.J.Oq(r.id), r.Ee = this.J.ds(r.$b), this.Ej = this.Ej || this.J.sl(r.$b); h.Le() } } } else { if (0 < this.Pc && this.Cc) { this.canvas = null; document.oncontextmenu = function() { return !1 }; document.onselectstart = function() { return !1 }; this.B = AppMobi.canvas.getContext("2d"); try { this.B.samplingMode = this.gb ? "smooth" : "sharp", this.B.globalScale = 1, this.B.HTML5CompatibilityMode = !0, this.B.imageSmoothingEnabled = this.gb } catch (t) {} 0 !== this.width && 0 !== this.height && (this.B.width = this.width, this.B.height = this.height) } this.B || (this.vd ? (b = { antialias: !!this.gb, alpha: !0 }, this.B = this.canvas.getContext("2d", b)) : (b = { alpha: !0 }, this.B = this.canvas.getContext("2d", b)), this.Po(this.B, this.gb)); this.Sr = this.Fc = null } this.Ux = function(b) { a.ub(!1, b) }; window == window.top || this.kb || this.Mn || this.Ze || (document.addEventListener("mousedown", function() { window.focus() }, !0), document.addEventListener("touchstart", function() { window.focus() }, !0)); "undefined" !== typeof cr_is_preview && (this.vd && console.log("[Construct 2] In preview-over-wifi via CocoonJS mode"), -1 < window.location.search.indexOf("continuous") && (fa("Reloading for continuous preview"), this.Vn = "__c2_continuouspreview", this.Ll = !0), this.XF && !this.Pg && (jQuery(window).focus(function() { a.setSuspended(!1) }), jQuery(window).blur(function() { var b = window.parent; b && b.document.hasFocus() || a.setSuspended(!0) }))); window.addEventListener("blur", function() { a.mj() }); this.kb || (b = function(a) { if (pb(a) && document.activeElement && document.activeElement !== document.getElementsByTagName("body")[0] && document.activeElement.blur) try { document.activeElement.blur() } catch (b) {} }, "undefined" !== typeof PointerEvent ? document.addEventListener("pointerdown", b) : window.navigator.msPointerEnabled ? document.addEventListener("MSPointerDown", b) : document.addEventListener("touchstart", b), document.addEventListener("mousedown", b)); 0 === this.Pc && this.Nh && 1 < this.devicePixelRatio && this.setSize(this.Nb, this.Mb, !0); this.cy(); this.TE(); this.go(); this.Da = {} }; g.prototype.setSize = function(a, b, e) { var k = 0, c = 0, m = 0, d = 0, d = 0; if (this.Sh !== a || this.Rh !== b || e) { this.Sh = a; this.Rh = b; var r = this.Pc; if ((m = (document.mozFullScreen || document.webkitIsFullScreen || !!document.msFullscreenElement || document.fullScreen || this.Si) && !this.Uc) || 0 !== this.Pc || e) m && 0 < this.Kf && (r = this.Kf), e = this.devicePixelRatio, 4 <= r ? (m = this.Nb / this.Mb, a / b > m ? (m *= b, 5 === r ? (d = m * e / this.Nb, 1 < d ? d = Math.floor(d) : 1 > d && (d = 1 / Math.ceil(1 / d)), m = this.Nb * d / e, d = this.Mb * d / e, k = (a - m) / 2, c = (b - d) / 2, a = m, b = d) : (k = (a - m) / 2, a = m)) : (d = a / m, 5 === r ? (d = d * e / this.Mb, 1 < d ? d = Math.floor(d) : 1 > d && (d = 1 / Math.ceil(1 / d)), m = this.Nb * d / e, d = this.Mb * d / e, k = (a - m) / 2, c = (b - d) / 2, a = m) : c = (b - d) / 2, b = d)) : this.Ri && this.Si && 0 === this.uv && (k = Math.floor((a - this.Nb) / 2), c = Math.floor((b - this.Mb) / 2), a = this.Nb, b = this.Mb), 2 > r && (this.ck = e), this.Tm = Math.round(a), this.lk = Math.round(b), this.width = Math.round(a * e), this.height = Math.round(b * e), this.H = !0, this.ny ? (this.ja = this.width, this.ga = this.height, this.Ed = !0) : this.width < this.Nb && this.height < this.Mb || 1 === r ? (this.ja = this.width, this.ga = this.height, this.Ed = !0) : (this.ja = this.Nb, this.ga = this.Mb, this.Ed = !1, 2 === r ? (m = this.Nb / this.Mb, r = this.Sh / this.Rh, r < m ? this.ja = this.ga * r : r > m && (this.ga = this.ja / r)) : 3 === r && (m = this.Nb / this.Mb, r = this.Sh / this.Rh, r > m ? this.ja = this.ga * r : r < m && (this.ga = this.ja / r))), this.Ru && !this.kb && (jQuery(this.Ru).css({ width: Math.round(a) + "px", height: Math.round(b) + "px", "margin-left": Math.floor(k) + "px", "margin-top": Math.floor(c) + "px" }), "undefined" !== typeof cr_is_preview && jQuery("#borderwrap").css({ width: Math.round(a) + "px", height: Math.round(b) + "px" })), this.canvas && (this.canvas.width = Math.round(a * e), this.canvas.height = Math.round(b * e), this.ae ? (this.canvas.style.left = Math.floor(k) + "px", this.canvas.style.top = Math.floor(c) + "px", this.canvas.style.width = Math.round(a) + "px", this.canvas.style.height = Math.round(b) + "px") : this.Nh && !this.kb && (this.canvas.style.width = Math.round(a) + "px", this.canvas.style.height = Math.round(b) + "px")), this.Fc && (this.Fc.width = Math.round(a * e), this.Fc.height = Math.round(b * e), this.Fc.style.width = this.Tm + "px", this.Fc.style.height = this.lk + "px"), this.J && this.J.bg(Math.round(a * e), Math.round(b * e)), this.Cc && this.B && (this.B.width = Math.round(a), this.B.height = Math.round(b)), this.B && this.Po(this.B, this.gb), this.cy(), this.Uv && !this.Uc && window.scrollTo(0, 0) } }; g.prototype.cy = function() { if (this.KC && 0 !== this.Rr) { var a = "portrait"; 2 === this.Rr && (a = "landscape"); try { screen.orientation && 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 && screen.msLockOrientation(a) } catch (b) { console && console.warn && console.warn("Failed to lock orientation: ", b) } } }; g.prototype.PF = function() { this.J.WC(); this.lr = !0; var a, b, e; a = 0; for (b = this.R.length; a < b; a++) e = this.R[a], e.ll && e.ll() }; g.prototype.QF = function() { this.lr = !1; var a, b, e; a = 0; for (b = this.R.length; a < b; a++) e = this.R[a], e.ml && e.ml() }; g.prototype.mx = function() { if (!this.kb) { var a = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || document.msFullscreenElement || this.Si) && !this.Uc ? jQuery(this.canvas).offset() : jQuery(this.canvas).position(); a.position = "absolute"; jQuery(this.Fc).css(a) } }; var h = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.msCancelAnimationFrame || window.oCancelAnimationFrame; g.prototype.setSuspended = function(a) { var b; if (a && !this.Hk) for (fa("[Construct 2] Suspending"), this.Hk = !0, -1 !== this.gs && h && h(this.gs), -1 !== this.Is && clearTimeout(this.Is), a = 0, b = this.Ml.length; a < b; a++) this.Ml[a](!0); else if (!a && this.Hk) { fa("[Construct 2] Resuming"); this.Hk = !1; this.Qn = $a(); this.Uh = $a(); a = this.Yk = this.tn = 0; for (b = this.Ml.length; a < b; a++) this.Ml[a](!1); this.ub(!1) } }; g.prototype.Eu = function(a) { this.Ml.push(a) }; g.prototype.mg = function(a) { return this.fo[a] }; g.prototype.Rk = function(a) { a && a.project || ha("Project model unavailable"); a = a.project; this.name = a[0]; this.pv = a[1]; this.Pc = a[12]; this.uv = a[12]; this.Nb = a[10]; this.Mb = a[11]; this.gx = this.Nb / 2; this.hx = this.Mb / 2; this.kb && !this.ae && (4 <= a[12] || 0 === a[12]) && (fa("[Construct 2] Letterbox scale fullscreen modes are not supported on this platform - falling back to 'Scale outer'"), this.uv = this.Pc = 3); this.Us = a[18]; this.Ug = a[19]; if (0 === this.Ug) { var b = new Image; b.crossOrigin = "anonymous"; this.Bl(b, "loading-logo.png"); this.Tg = { ao: b } } else if (4 === this.Ug) { b = new Image; b.src = ""; var e = new Image; e.src = ""; var k = new Image; k.src = ""; var c = new Image; c.src = ""; var m = new Image; m.src = ""; var d = new Image; d.src = ""; var r = new Image; r.src = ""; var f = new Image; f.src = ""; var h = new Image; h.src = ""; var n = new Image; n.src = ""; var t = new Image; t.src = ""; var v = new Image; v.src = ""; this.Tg = { ao: [b, e, k, c], eG: [m, d, r, f], lH: [h, n, t, v] } } this.dl = a[21]; this.fo = xc(); this.nf = new Q(this); b = 0; for (e = a[2].length; b < e; b++) r = a[2][b], k = this.mg(r[0]), rb(r, k.prototype), f = new k(this), f.Vo = r[1], f.$e = r[2], f.OI = r[5], f.Bw = r[9], f.I && f.I(), this.plugins.push(f); this.fo = xc(); b = 0; for (e = a[3].length; b < e; b++) { r = a[3][b]; m = this.mg(r[1]); f = null; k = 0; for (c = this.plugins.length; k < c; k++) if (this.plugins[k] instanceof m) { f = this.plugins[k]; break } h = new f.N(f); h.name = r[0]; h.Z = r[2]; h.$q = r[3].slice(0); h.jH = r[3].length; h.NC = r[4]; h.rE = r[5]; h.Ia = r[11]; h.Z ? (h.ai = [], h.Hf = this.rk++, h.sb = null) : (h.ai = null, h.Hf = -1, h.sb = []); h.jn = null; h.Li = null; h.hv = null; h.gc = !1; h.td = null; r[6] ? (h.yj = r[6][0], h.Ql = r[6][1], h.Rl = r[6][2]) : (h.yj = null, h.Ql = 0, h.Rl = 0); r[7] ? h.qd = r[7] : h.qd = null; h.index = b; h.k = []; h.Ym = []; h.fg = [new sb(h)]; h.Re = 0; h.Yd = null; h.bD = 0; h.vj = !0; h.kp = tb; h.xn = ub; h.CE = vb; h.V = wb; h.tl = xb; h.Yf = Db; h.ge = Eb; h.wn = Fb; h.Hq = Gb; h.Lq = Hb; h.Bd = Ib; h.Mq = Jb; h.ik = new jb(this.Nb, this.Mb); h.Cm = !0; h.Dm = !1; h.Da = {}; h.toString = Kb; h.xb = []; k = 0; for (c = r[8].length; k < c; k++) { n = r[8][k]; t = this.mg(n[1]); v = null; m = 0; for (d = this.xb.length; m < d; m++) if (this.xb[m] instanceof t) { v = this.xb[m]; break } v || (v = new t(this), v.Cw = [], v.eo = new da, v.I && v.I(), this.xb.push(v)); - 1 === v.Cw.indexOf(h) && v.Cw.push(h); m = new v.N(v, h); m.name = n[0]; m.Ia = n[2]; m.I(); h.xb.push(m) } h.global = r[9]; h.fr = r[10]; h.wa = []; k = 0; for (c = r[12].length; k < c; k++) h.wa.push({ id: r[12][k][0], name: r[12][k][1], $b: -1, Ee: !1, P: !0, index: k }); h.cp = r[13]; this.Us && !h.Z && !h.fr && f.$e || h.I(); h.name && (this.types[h.name] = h); this.R.push(h); f.Vo && (k = new f.L(h), k.uid = this.dl++, k.qx = this.Ew++, k.Kh = 0, k.uk = Lb, k.toString = Mb, k.u = r[14], k.I(), h.k.push(k), this.Vf[k.uid.toString()] = k) } b = 0; for (e = a[4].length; b < e; b++) for (m = a[4][b], d = this.R[m[0]], k = 1, c = m.length; k < c; k++) r = this.R[m[k]], r.sb.push(d), d.ai.push(r); b = 0; for (e = a[28].length; b < e; b++) { m = a[28][b]; d = []; k = 0; for (c = m.length; k < c; k++) d.push(this.R[m[k]]); k = 0; for (c = d.length; k < c; k++) d[k].gc = !0, d[k].td = d } if (0 < this.rk) for (b = 0, e = this.R.length; b < e; b++) if (r = this.R[b], !r.Z && r.sb.length) { r.jn = Array(this.rk); r.Li = Array(this.rk); r.hv = Array(this.rk); h = []; k = v = t = n = 0; for (c = r.sb.length; k < c; k++) for (f = r.sb[k], r.jn[f.Hf] = n, n += f.jH, r.Li[f.Hf] = t, t += f.NC, r.hv[f.Hf] = v, v += f.rE, m = 0, d = f.wa.length; m < d; m++) h.push(za({}, f.wa[m])); r.wa = h.concat(r.wa); k = 0; for (c = r.wa.length; k < c; k++) r.wa[k].index = k } b = 0; for (e = a[5].length; b < e; b++) r = a[5][b], k = new Nb(this, r), this.aj[k.name] = k, this.Be.push(k); b = 0; for (e = a[6].length; b < e; b++) r = a[6][b], k = new Ob(this, r), this.zq[k.name] = k, this.Gf.push(k); b = 0; for (e = this.Gf.length; b < e; b++) this.Gf[b].Ob(); b = 0; for (e = this.Gf.length; b < e; b++) this.Gf[b].Qs(); b = 0; for (e = this.ip.length; b < e; b++) this.ip[b].Ob(); B(this.ip); this.JC = a[7]; this.Dq = a[8]; this.hd = a[9]; this.ck = 1; this.GD = a[13]; this.gb = a[14]; this.Tu = a[15]; this.hH = a[17]; this.Rr = a[20]; this.KC = 0 < this.Rr; this.XF = a[22]; this.Ed = this.ny = a[23]; this.yD = a[24]; this.fG = a[25]; this.kG = a[26]; this.fb = a[27] && !this.Of; this.Wo = Date.now(); B(this.fo); this.cF() }; var e = !1, t = 0, x = []; g.prototype.oG = function(a, b) { function e() { t--; k.ww() } var k = this; a.addEventListener("load", e); a.addEventListener("error", e); x.push([a, b]); this.ww() }; g.prototype.ww = function() { for (var a; x.length && 100 > t;) t++, a = x.shift(), this.Bl(a[0], a[1]) }; g.prototype.qp = function(a, b) { a.cocoonLazyLoad = !0; a.onerror = function(b) { e = a.Ou = !0; console && console.error && console.error("Error loading image '" + a.src + "': ", b) }; this.ae ? a.src = b : a.src || ("undefined" !== typeof XAPKReader ? XAPKReader.get(b, function(b) { a.src = b }, function(k) { e = a.Ou = !0; console && console.error && console.error("Error extracting image '" + b + "' from expansion file: ", k) }) : (a.crossOrigin = "anonymous", this.oG(a, b))); this.ri.push(a) }; g.prototype.oE = function(a) { var b, e; b = 0; for (e = this.ri.length; b < e; b++) if (this.ri[b].XC === a) return this.ri[b]; return null }; var m = 0, q = !1; g.prototype.TE = function() { this.Bi && (m = this.Bi.NG(this.JC)) }; g.prototype.Ju = function() { var a = m, b = 0, e = 0, k = !0, c, d, e = 0; for (c = this.ri.length; e < c; e++) { d = this.ri[e]; var r = d.Rm; if (!r || 0 >= r) r = 5E4; a += r; d.src && (d.complete || d.loaded) && !d.Ou ? b += r : k = !1 } k && this.fG && this.Bi && (q || (this.Bi.UG(), q = !0), e = this.Bi.DE(), b += e, e < m && (k = !1)); this.Xc = 0 == a ? 1 : b / a; return k }; var u = !1; g.prototype.go = function() { if (this.B || this.J) { var a = this.B || this.Sr; this.Fc && this.mx(); var b = window.innerWidth, k = window.innerHeight; this.Sh === b && this.Rh === k || this.setSize(b, k); this.Xc = 0; this.Zv = -1; var c = this; if (this.Ju() && (4 !== this.Ug || u)) this.UE(); else { k = Date.now() - this.Wo; if (a) { var m = this.width, d = this.height, b = this.devicePixelRatio; if (3 > this.Ug && (this.vd || 500 <= k && this.Zv != this.Xc)) { a.clearRect(0, 0, m, d); var k = m / 2, d = d / 2, m = 0 === this.Ug && this.Tg.ao.complete, r = 40 * b, f = 0, h = 80 * b, t; if (m) { var v = this.Tg.ao, h = v.width * b; t = v.height * b; r = h / 2; f = t / 2; a.drawImage(v, ua(k - r), ua(d - f), h, t) } 1 >= this.Ug ? (k = ua(k - r) + .5, d = ua(d + (f + (m ? 12 * b : 0))) + .5, a.fillStyle = e ? "red" : "DodgerBlue", a.fillRect(k, d, Math.floor(h * this.Xc), 6 * b), a.strokeStyle = "black", a.strokeRect(k, d, h, 6 * b), a.strokeStyle = "white", a.strokeRect(k - 1 * b, d - 1 * b, h + 2 * b, 8 * b)) : 2 === this.Ug && (a.font = this.ae ? "12pt ArialMT" : "12pt Arial", a.fillStyle = e ? "#f00" : "#999", a.iJ = "middle", b = Math.round(100 * this.Xc) + "%", m = a.measureText ? a.measureText(b) : null, a.fillText(b, k - (m ? m.width : 0) / 2, d)); this.Zv = this.Xc } else if (4 === this.Ug) { this.DD(a); n ? n(function() { c.go() }) : setTimeout(function() { c.go() }, 16); return } } setTimeout(function() { c.go() }, this.vd ? 10 : 100) } } }; var w = -1, v = "undefined" === typeof cr_is_preview ? 200 : 0, k = !0, r = !1, H = 0, y = 0, I = "undefined" === typeof cr_is_preview ? 3E3 : 0, R = null, M = null, G = 0; g.prototype.DD = function(a) { if (!u) { for (var b = Math.ceil(this.width), c = Math.ceil(this.height), m = this.Tg.ao, d = this.Tg.eG, f = this.Tg.lH, h = 0; 4 > h; ++h) if (!m[h].complete || !d[h].complete || !f[h].complete) return; 0 === G && (w = Date.now()); var h = Date.now(), n = !1, t = a, q, g; k || r ? (a.clearRect(0, 0, b, c), R && R.width === b && R.height === c || (R = document.createElement("canvas"), R.width = b, R.height = c, M = R.getContext("2d")), t = M, n = !0, k && 1 === G && (w = Date.now())) : a.globalAlpha = 1; t.fillStyle = "#333333"; t.fillRect(0, 0, b, c); 256 < this.lk ? (q = Ha(.22 * c, 105, .6 * b), g = .25 * q, t.drawImage(l(d, q), .5 * b - q / 2, .2 * c - g / 2, q, g), g = q = Math.min(.395 * c, .95 * b), t.drawImage(l(m, q), .5 * b - q / 2, .485 * c - g / 2, q, g), q = Ha(.22 * c, 105, .6 * b), g = .25 * q, t.drawImage(l(f, q), .5 * b - q / 2, .868 * c - g / 2, q, g), t.fillStyle = "#3C3C3C", q = b, g = Math.max(.005 * c, 2), t.fillRect(0, .8 * c - g / 2, q, g), t.fillStyle = e ? "red" : "#E0FF65", q = b * this.Xc, t.fillRect(.5 * b - q / 2, .8 * c - g / 2, q, g)) : (g = q = .55 * c, t.drawImage(l(m, q), .5 * b - q / 2, .45 * c - g / 2, q, g), t.fillStyle = "#3C3C3C", q = b, g = Math.max(.005 * c, 2), t.fillRect(0, .85 * c - g / 2, q, g), t.fillStyle = e ? "red" : "#E0FF65", q = b * this.Xc, t.fillRect(.5 * b - q / 2, .85 * c - g / 2, q, g)); n && (k ? a.globalAlpha = 0 === G ? 0 : Math.min((h - w) / 300, 1) : r && (a.globalAlpha = Math.max(1 - (h - y) / 300, 0)), a.drawImage(R, 0, 0, b, c)); k && 300 <= h - w && 2 <= G && (k = !1, H = h); !k && h - H >= I && !r && 1 <= this.Xc && (r = !0, y = h); if (r && h - y >= 300 + v || "undefined" !== typeof cr_is_preview && 1 <= this.Xc && 500 > Date.now() - w) u = !0, r = k = !1, this.Tg = M = R = null; ++G } }; g.prototype.UE = function() { this.Fc && (this.canvas.parentNode.removeChild(this.Fc), this.Fc = this.Sr = null); this.Wo = Date.now(); this.Uh = $a(); var a, b, e; if (this.Us) for (a = 0, b = this.R.length; a < b; a++) e = this.R[a], e.Z || e.fr || !e.W.$e || e.I(); else this.Lk = !1; a = 0; for (b = this.Be.length; a < b; a++) this.Be[a].YC(); 2 <= this.Pc && (a = this.Nb / this.Mb, b = this.width / this.height, this.ck = 2 !== this.Pc && b > a || 2 === this.Pc && b < a ? this.height / this.Mb : this.width / this.Nb); this.pv ? this.aj[this.pv].As() : this.Be[0].As(); this.Us || (this.Wh = 1, this.trigger(Q.prototype.g.Cp, null), window.C2_RegisterSW && window.C2_RegisterSW()); navigator.splashscreen && navigator.splashscreen.hide && navigator.splashscreen.hide(); a = 0; for (b = this.R.length; a < b; a++) e = this.R[a], e.Sw && e.Sw(); document.hidden || document.webkitHidden || document.mozHidden || document.msHidden ? window.cr_setSuspended(!0) : this.ub(!1); this.Cc && AppMobi.webview.execute("onGameReady();") }; g.prototype.ub = function(a, b, e) { if (this.Ha) { var k = $a(); if (e || !this.Hk || a) { a || (n ? this.gs = n(this.Ux) : this.Is = setTimeout(this.Ux, this.Pg ? 1 : 16)); b = b || k; var c = this.Pc; ((e = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement) && !this.Uc) || this.Si) && 0 < this.Kf && (c = this.Kf); if (0 < c) { var c = window.innerWidth, m = window.innerHeight; this.Sh === c && this.Rh === m || this.setSize(c, m) } this.kb || (e ? this.mn || (this.mn = !0) : this.mn ? (this.mn = !1, 0 === this.Pc && this.setSize(Math.round(this.Rw / this.devicePixelRatio), Math.round(this.Qw / this.devicePixelRatio), !0)) : (this.Rw = this.width, this.Qw = this.height)); this.Lk && (e = this.Ju(), this.Wh = this.Xc, e && (this.Lk = !1, this.Xc = 1, this.trigger(Q.prototype.g.Cp, null), window.C2_RegisterSW && window.C2_RegisterSW())); this.CF(b); !this.H && !this.vd || this.lr || this.Ll || a || (this.H = !1, this.J ? this.yc() : this.ud(), this.Jl && (this.canvas && this.canvas.toDataURL && (this.Nx = this.canvas.toDataURL(this.Jl[0], this.Jl[1]), window.cr_onSnapshot && window.cr_onSnapshot(this.Nx), this.trigger(Q.prototype.g.rA, null)), this.Jl = null)); this.MI || (this.ni++, this.pk++, this.tn++); this.Yk += $a() - k } } }; g.prototype.CF = function(a) { var b, e, k, c, m, d, r, h; 1E3 <= a - this.Uh && (this.Uh += 1E3, 1E3 <= a - this.Uh && (this.Uh = a), this.sn = this.tn, this.tn = 0, this.oq = this.Yk, this.Yk = 0); b = 0; 0 !== this.Qn && (b = a - this.Qn, 0 > b && (b = 0), this.yh = b /= 1E3, .5 < this.yh ? this.yh = 0 : this.yh > 1 / this.Gr && (this.yh = 1 / this.Gr)); this.Qn = a; this.Hg = this.yh * this.qf; this.hc.add(this.Hg); this.jg.add(b); a = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement || this.Si) && !this.Uc; 2 <= this.Pc || a && 0 < this.Kf ? (b = this.Nb / this.Mb, e = this.width / this.height, k = this.Pc, a && 0 < this.Kf && (k = this.Kf), this.ck = 2 !== k && e > b || 2 === k && e < b ? this.height / this.Mb : this.width / this.Nb, this.Ha && (this.Ha.zl(this.Ha.scrollX), this.Ha.Al(this.Ha.scrollY))) : this.ck = this.Nh ? this.devicePixelRatio : 1; this.Lc(); this.Id++; this.nf.DG(); this.Id--; this.Lc(); this.Id++; e = this.Pw.ig(); a = 0; for (b = e.length; a < b; a++) e[a].$I(); a = 0; for (b = this.R.length; a < b; a++) if (d = this.R[a], !d.Z && (d.xb.length || d.sb.length)) for (e = 0, k = d.k.length; e < k; e++) for (r = d.k[e], c = 0, m = r.la.length; c < m; c++) r.la[c].ub(); a = 0; for (b = this.R.length; a < b; a++) if (d = this.R[a], !d.Z && (d.xb.length || d.sb.length)) for (e = 0, k = d.k.length; e < k; e++) for (r = d.k[e], c = 0, m = r.la.length; c < m; c++) h = r.la[c], h.dG && h.dG(); e = this.Jr.ig(); a = 0; for (b = e.length; a < b; a++) e[a].ub(); this.Id--; this.VE(); for (a = 0; this.gk && 10 > a++;) this.av(this.gk); a = 0; for (b = this.Gf.length; a < b; a++) this.Gf[a].Vq = !1; this.Ha.Ah && this.Ha.Ah.Zb(); B(this.ux); this.ur = !1; this.Id++; a = 0; for (b = this.R.length; a < b; a++) if (d = this.R[a], !d.Z && (d.xb.length || d.sb.length)) for (e = 0, k = d.k.length; e < k; e++) for (r = d.k[e], c = 0, m = r.la.length; c < m; c++) h = r.la[c], h.zj && h.zj(); e = this.Kr.ig(); a = 0; for (b = e.length; a < b; a++) e[a].zj(); this.Id-- }; g.prototype.mj = function() { var a, b, e, k, c, m, d, r, h; a = 0; for (b = this.R.length; a < b; a++) if (d = this.R[a], !d.Z) for (e = 0, k = d.k.length; e < k; e++) if (r = d.k[e], r.mj && r.mj(), r.la) for (c = 0, m = r.la.length; c < m; c++) h = r.la[c], h.mj && h.mj() }; g.prototype.av = function(a) { var b = this.Ha; this.Ha.VG(); var e, k, c; if (this.J) for (e = 0, k = this.R.length; e < k; e++) c = this.R[e], c.Z || !c.Tl || c.global && 0 !== c.k.length || -1 !== a.Ak.indexOf(c) || c.Tl(); b == a && B(this.nf.nd); B(this.ux); this.xx(!0); a.As(); this.xx(!1); this.ur = this.H = !0; this.Lc() }; g.prototype.xx = function(a) { var b, e, k, c, m, d, r, h, f; b = 0; for (e = this.xb.length; b < e; b++) k = this.xb[b], a ? k.gl && k.gl() : k.kl && k.kl(); b = 0; for (e = this.R.length; b < e; b++) if (k = this.R[b], k.global || k.W.Vo) for (c = 0, m = k.k.length; c < m; c++) if (d = k.k[c], a ? d.gl && d.gl() : d.kl && d.kl(), d.la) for (r = 0, h = d.la.length; r < h; r++) f = d.la[r], a ? f.gl && f.gl() : f.kl && f.kl() }; g.prototype.Aj = function(a) { this.Jr.add(a) }; g.prototype.ZG = function(a) { this.Kr.add(a) }; g.prototype.Fh = function(a) { return a && -1 !== a.df ? this.yh * a.df : this.Hg }; g.prototype.ud = function() { this.Ha.ud(this.B); this.Cc && this.B.present() }; g.prototype.yc = function() { this.fb && (this.zh = 1, this.Ha.Gg(this.J)); this.Ha.yc(this.J); this.J.iG() }; g.prototype.Xp = function(a) { a && this.bn.push(a) }; g.prototype.vx = function(a) { Ga(this.bn, a) }; g.prototype.Lg = function(a) { a = a.toString(); return this.Vf.hasOwnProperty(a) ? this.Vf[a] : null }; var E = []; g.prototype.ne = function(a) { var b, e; b = a.type.name; var k = null; if (this.xh.hasOwnProperty(b)) { if (k = this.xh[b], k.contains(a)) return } else k = E.length ? E.pop() : new da, this.xh[b] = k; k.add(a); this.Ng = !0; if (a.gc) for (b = 0, e = a.siblings.length; b < e; b++) this.ne(a.siblings[b]); this.er && k.Fj.push(a); this.dr || (this.Id++, this.trigger(Object.getPrototypeOf(a.type.W).g.Dt, a), this.Id--) }; g.prototype.Lc = function() { if (this.Ng) { var a, b, e, k, c, m; this.er = !0; e = 0; for (c = this.ve.length; e < c; ++e) for (a = this.ve[e], b = a.type, b.k.push(a), k = 0, m = b.sb.length; k < m; ++k) b.sb[k].k.push(a), b.sb[k].vj = !0; B(this.ve); this.Yz(); Za(this.xh); this.Ng = this.er = !1 } }; g.prototype.Yz = function() { for (var a in this.xh) this.xh.hasOwnProperty(a) && this.My(this.xh[a]) }; g.prototype.My = function(a) { var b = a.ig(), e = b[0].type, k, c, m, d, r, h; ab(e.k, a); e.vj = !0; 0 === e.k.length && (e.Dm = !1); k = 0; for (c = e.sb.length; k < c; ++k) h = e.sb[k], ab(h.k, a), h.vj = !0; k = 0; for (c = this.nf.nd.length; k < c; ++k) if (r = this.nf.nd[k], r.$c.hasOwnProperty(e.index) && ab(r.$c[e.index].Mf, a), !e.Z) for (m = 0, d = e.sb.length; m < d; ++m) h = e.sb[m], r.$c.hasOwnProperty(h.index) && ab(r.$c[h.index].Mf, a); if (r = b[0].F) { if (r.Qd) for (m = r.k, k = 0, c = m.length; k < c; ++k) d = m[k], a.contains(d) && (d.jb(), r.Jc.update(d, d.kd, null), d.kd.set(0, 0, -1, -1)); ab(r.k, a); r.El(0) } for (k = 0; k < b.length; ++k) this.Ly(b[k], e); a.clear(); E.push(a); this.H = !0 }; g.prototype.Ly = function(a, b) { var e, k, c; e = 0; for (k = this.bn.length; e < k; ++e) this.bn[e](a); a.Ud && b.ik.update(a, a.Ud, null); (e = a.F) && e.rj(a, !0); if (a.la) for (e = 0, k = a.la.length; e < k; ++e) c = a.la[e], c.yd && c.yd(), c.behavior.eo.remove(a); this.Pw.remove(a); this.Jr.remove(a); this.Kr.remove(a); a.yd && a.yd(); this.Vf.hasOwnProperty(a.uid.toString()) && delete this.Vf[a.uid.toString()]; this.fl--; 100 > b.Ym.length && b.Ym.push(a) }; g.prototype.Sm = function(a, b, e, k) { if (a.Z) { var c = ua(Math.random() * a.ai.length); return this.Sm(a.ai[c], b, e, k) } return a.Yd ? this.Cg(a.Yd, b, !1, e, k, !1) : null }; var J = []; g.prototype.Cg = function(a, b, e, k, c, m) { var d, r, h, f; if (!a) return null; var n = this.R[a[1]], t = n.W.$e; if (this.Lk && t && !n.fr || t && !this.J && 11 === a[0][11]) return null; var v = b; t || (b = null); var q; n.Ym.length ? (q = n.Ym.pop(), q.uc = !0, n.W.L.call(q, n)) : (q = new n.W.L(n), q.uc = !1); !e || m || this.Vf.hasOwnProperty(a[2].toString()) ? q.uid = this.dl++ : q.uid = a[2]; this.Vf[q.uid.toString()] = q; q.qx = this.Ew++; q.Kh = n.k.length; d = 0; for (r = this.ve.length; d < r; ++d) this.ve[d].type === n && q.Kh++; q.uk = Lb; q.toString = Mb; h = a[3]; if (q.uc) Za(q.Da); else { q.Da = {}; if ("undefined" !== typeof cr_is_preview) for (q.Mv = [], q.Mv.length = h.length, d = 0, r = h.length; d < r; d++) q.Mv[d] = h[d][1]; q.Lb = []; q.Lb.length = h.length } d = 0; for (r = h.length; d < r; d++) q.Lb[d] = h[d][0]; if (t) { var g = a[0]; q.x = ia(k) ? g[0] : k; q.y = ia(c) ? g[1] : c; q.z = g[2]; q.width = g[3]; q.height = g[4]; q.depth = g[5]; q.q = g[6]; q.opacity = g[7]; q.Ab = g[8]; q.Bb = g[9]; q.ac = g[10]; d = g[11]; !this.J && n.wa.length && (q.ac = d); q.Wd = lb(q.ac); this.S && mb(q, q.ac, this.S); if (q.uc) { d = 0; for (r = g[12].length; d < r; d++) for (h = 0, f = g[12][d].length; h < f; h++) q.yb[d][h] = g[12][d][h]; q.Tb.set(0, 0, 0, 0); q.Ud.set(0, 0, -1, -1); q.kd.set(0, 0, -1, -1); q.Nc.Fl(q.Tb); B(q.cq) } else { q.yb = g[12].slice(0); d = 0; for (r = q.yb.length; d < r; d++) q.yb[d] = g[12][d].slice(0); q.Na = []; q.rg = []; q.rg.length = n.wa.length; q.Tb = new xa(0, 0, 0, 0); q.Ud = new xa(0, 0, -1, -1); q.kd = new xa(0, 0, -1, -1); q.Nc = new ya; q.cq = []; q.ca = Qb; q.xI = Rb; q.wc = Sb; q.jb = Tb; q.gH = Ub; q.ky = Vb; q.Xe = Wb } q.Bj = !1; q.Yx = 0; q.Xx = 0; q.Wx = null; 14 === g.length && (q.Bj = !0, q.Yx = g[13][0], q.Xx = g[13][1], q.Wx = g[13][2]); d = 0; for (r = n.wa.length; d < r; d++) q.rg[d] = !0; q.dg = !0; q.Le = Xb; q.Le(); q.ly = !!q.Na.length; q.bq = !0; q.hq = !0; n.Cm = !0; q.visible = !0; q.df = -1; q.F = b; q.Rd = b.k.length; q.zh = 0; "undefined" === typeof q.Qa && (q.Qa = null); this.H = q.Vd = !0 } var w; B(J); d = 0; for (r = n.sb.length; d < r; d++) J.push.apply(J, n.sb[d].xb); J.push.apply(J, n.xb); if (q.uc) for (d = 0, r = J.length; d < r; d++) { var u = J[d]; w = q.la[d]; w.uc = !0; u.behavior.L.call(w, u, q); g = a[4][d]; h = 0; for (f = g.length; h < f; h++) w.u[h] = g[h]; w.I(); u.behavior.eo.add(q) } else for (q.la = [], d = 0, r = J.length; d < r; d++) u = J[d], w = new u.behavior.L(u, q), w.uc = !1, w.u = a[4][d].slice(0), w.I(), q.la.push(w), u.behavior.eo.add(q); g = a[5]; if (q.uc) for (d = 0, r = g.length; d < r; d++) q.u[d] = g[d]; else q.u = g.slice(0); this.ve.push(q); this.Ng = !0; b && (b.bk(q, !0), 1 !== b.Gc || 1 !== b.Hc) && (n.Dm = !0); this.fl++; if (n.gc) { if (q.gc = !0, q.uc ? B(q.siblings) : q.siblings = [], !e && !m) { d = 0; for (r = n.td.length; d < r; d++) if (n.td[d] !== n) { if (!n.td[d].Yd) return null; q.siblings.push(this.Cg(n.td[d].Yd, v, !1, t ? q.x : k, t ? q.y : c, !0)) } d = 0; for (r = q.siblings.length; d < r; d++) for (q.siblings[d].siblings.push(q), h = 0; h < r; h++) d !== h && q.siblings[d].siblings.push(q.siblings[h]) } } else q.gc = !1, q.siblings = null; q.I(); d = 0; for (r = q.la.length; d < r; d++) q.la[d].cG && q.la[d].cG(); return q }; g.prototype.ze = function(a) { var b, e; b = 0; for (e = this.Ha.ea.length; b < e; b++) { var k = this.Ha.ea[b]; if (ob(k.name, a)) return k } return null }; g.prototype.Qc = function(a) { a = ua(a); 0 > a && (a = 0); a >= this.Ha.ea.length && (a = this.Ha.ea.length - 1); return this.Ha.ea[a] }; g.prototype.AE = function(a) { return ja(a) ? this.Qc(a) : this.ze(a.toString()) }; g.prototype.lq = function(a) { var b, e; b = 0; for (e = a.length; b < e; b++) a[b].V().X = !0 }; g.prototype.tl = function(a) { var b, e; b = 0; for (e = a.length; b < e; b++) a[b].tl() }; g.prototype.Yf = function(a) { var b, e; b = 0; for (e = a.length; b < e; b++) a[b].Yf() }; g.prototype.ge = function(a) { var b, e; b = 0; for (e = a.length; b < e; b++) a[b].ge() }; g.prototype.iy = function(a) { if (a.Cm) { var b, e, k = a.k; b = 0; for (e = k.length; b < e; ++b) k[b].ky(); k = this.ve; b = 0; for (e = k.length; b < e; ++b) k[b].type === a && k[b].ky(); a.Cm = !1 } }; g.prototype.vE = function(a, b, e, k) { var c, d, m = a ? 1 !== a.Gc || 1 !== a.Hc : !1; if (b.Z) for (a = 0, c = b.ai.length; a < c; ++a) d = b.ai[a], m || d.Dm ? Ea(k, d.k) : (this.iy(d), d.ik.Fo(e, k)); else m || b.Dm ? Ea(k, b.k) : (this.iy(b), b.ik.Fo(e, k)) }; g.prototype.Nl = function(a, b, e) { var k = a.V(), c, d, m, r, h = this.zb().Kb.Ld, f, n, q; if (k.X) for (k.X = !1, B(k.k), c = 0, r = a.k.length; c < r; c++) m = a.k[c], m.jb(), f = m.F.nb(b, e, !0), n = m.F.nb(b, e, !1), m.wc(f, n) ? k.k.push(m) : h && k.na.push(m); else { d = 0; q = h ? k.na : k.k; c = 0; for (r = q.length; c < r; c++) m = q[c], m.jb(), f = m.F.nb(b, e, !0), n = m.F.nb(b, e, !1), m.wc(f, n) && (h ? k.k.push(m) : (k.k[d] = k.k[c], d++)); q.length = d } a.Bd(); return k.Uq() }; g.prototype.Rx = function(a, b) { if (!(a && b && a !== b && a.Vd && b.Vd)) return !1; a.jb(); b.jb(); var e = a.F, k = b.F, c, d, m, r, h, f, n, q; if (e === k || e.Gc === k.Gc && k.Hc === k.Hc && e.scale === k.scale && e.q === k.q && e.Fb === k.Fb) { if (!a.Tb.dF(b.Tb) || !a.Nc.Nv(b.Nc) || a.Bj && b.Bj) return !1; if (a.Bj) return this.Sx(a, b); if (b.Bj) return this.Sx(b, a); n = a.Qa && !a.Qa.Ui(); c = b.Qa && !b.Qa.Ui(); if (!n && !c) return !0; n ? (a.Qa.uh(a.width, a.height, a.q), n = a.Qa) : (this.Ie.uj(a.Nc, a.x, a.y, a.width, a.height), n = this.Ie); c ? (b.Qa.uh(b.width, b.height, b.q), q = b.Qa) : (this.Ie.uj(b.Nc, b.x, b.y, b.width, b.height), q = this.Ie); return n.Bk(q, b.x - a.x, b.y - a.y) } n = a.Qa && !a.Qa.Ui(); c = b.Qa && !b.Qa.Ui(); n ? (a.Qa.uh(a.width, a.height, a.q), this.Ie.Gx(a.Qa)) : this.Ie.uj(a.Nc, a.x, a.y, a.width, a.height); n = this.Ie; c ? (b.Qa.uh(b.width, b.height, b.q), this.Cs.Gx(b.Qa)) : this.Cs.uj(b.Nc, b.x, b.y, b.width, b.height); q = this.Cs; c = 0; for (d = n.Ad; c < d; c++) m = 2 * c, r = m + 1, h = n.hb[m], f = n.hb[r], n.hb[m] = e.Vc(h + a.x, f + a.y, !0), n.hb[r] = e.Vc(h + a.x, f + a.y, !1); n.jb(); c = 0; for (d = q.Ad; c < d; c++) m = 2 * c, r = m + 1, h = q.hb[m], f = q.hb[r], q.hb[m] = k.Vc(h + b.x, f + b.y, !0), q.hb[r] = k.Vc(h + b.x, f + b.y, !1); q.jb(); return n.Bk(q, 0, 0) }; var F = new ya; new xa(0, 0, 0, 0); var z = []; g.prototype.Sx = function(a, b) { var e, k, c, d, m = b.Tb, r = a.x, h = a.y; a.wE(m, z); var f = b.Qa && !b.Qa.Ui(); e = 0; for (k = z.length; e < k; ++e) if (c = z[e], d = c.Ta, m.eF(d, r, h) && (F.Fl(d), F.offset(r, h), F.Nv(b.Nc))) if (f) if (b.Qa.uh(b.width, b.height, b.q), c.Xf) { if (c.Xf.Bk(b.Qa, b.x - (r + d.left), b.y - (h + d.top))) return B(z), !0 } else { if (this.Ie.uj(F, 0, 0, d.right - d.left, d.bottom - d.top), this.Ie.Bk(b.Qa, b.x, b.y)) return B(z), !0 } else if (c.Xf) { if (this.Ie.uj(b.Nc, 0, 0, b.width, b.height), c.Xf.Bk(this.Ie, -(r + d.left), -(h + d.top))) return B(z), !0 } else return B(z), !0; B(z); return !1 }; g.prototype.ey = function(a, b) { if (!b) return !1; var e, k, c, d, m; e = 0; for (k = a.xb.length; e < k; e++) if (a.xb[e].behavior instanceof b) return !0; if (!a.Z) for (e = 0, k = a.sb.length; e < k; e++) for (m = a.sb[e], c = 0, d = m.xb.length; c < d; c++) if (m.xb[c].behavior instanceof b) return !0; return !1 }; g.prototype.Ms = function(a) { return this.ey(a, pc.RH) }; g.prototype.Ns = function(a) { return this.ey(a, pc.UH) }; var C = -1; g.prototype.trigger = function(a, b, e) { if (!this.Ha) return !1; var k = this.Ha.Ah; if (!k) return !1; var c = !1, d, m, r; C++; var h = k.tq; m = 0; for (r = h.length; m < r; ++m) d = this.ay(a, b, h[m], e), c = c || d; d = this.ay(a, b, k, e); C--; return c || d }; g.prototype.ay = function(a, b, e, k) { var c = !1, d, m, r, h; if (b) for (r = this.Ks(a, b, b.type.name, e, k), c = c || r, h = b.type.sb, d = 0, m = h.length; d < m; ++d) r = this.Ks(a, b, h[d].name, e, k), c = c || r; else r = this.Ks(a, b, "system", e, k), c = c || r; return c }; g.prototype.Ks = function(a, b, e, k, c) { var d, m = !1, r = !1, r = "undefined" !== typeof c, h = (r ? k.kv : k.by)[e]; if (!h) return m; var f = null; k = 0; for (d = h.length; k < d; ++k) if (h[k].method == a) { f = h[k].ok; break } if (!f) return m; var n; r ? n = f[c] : n = f; if (!n) return null; k = 0; for (d = n.length; k < d; k++) a = n[k][0], c = n[k][1], r = this.lE(b, e, a, c), m = m || r; return m }; g.prototype.lE = function(a, b, e, k) { var c, d, m = !1; this.Ls++; var r = this.zb().Kb; r && this.tl(r.bh); var h = 1 < this.Ls; this.tl(e.bh); h && this.mG(); var f = this.Do(e); f.Kb = e; a && (c = this.types[b].V(), c.X = !1, B(c.k), c.k[0] = a, this.types[b].Bd()); a = !0; if (e.parent) { b = f.Qx; for (c = e.parent; c;) b.push(c), c = c.parent; b.reverse(); c = 0; for (d = b.length; c < d; c++) if (!b[c].FG()) { a = !1; break } } a && (this.pk++, e.Ld ? e.EG(k) : e.Zb(), m = m || f.Th); this.yo(); h && this.bG(); this.ge(e.bh); r && this.ge(r.bh); this.Ng && 0 === this.Id && 0 === C && !this.gr && this.Lc(); this.Ls--; return m }; g.prototype.Eh = function() { var a = this.zb(); return a.Kb.ec[a.Ub] }; g.prototype.hF = function() { return 0 === this.zb().Ub }; g.prototype.mG = function() { this.$n++; this.$n >= this.Ar.length && this.Ar.push([]) }; g.prototype.bG = function() { this.$n-- }; g.prototype.yv = function() { return this.Ar[this.$n] }; g.prototype.Do = function(a) { this.dn++; this.dn >= this.yq.length && this.yq.push(new Yb); var b = this.zb(); b.reset(a); return b }; g.prototype.yo = function() { this.dn-- }; g.prototype.zb = function() { return this.yq[this.dn] }; g.prototype.Eo = function(a) { this.cj++; this.cj >= this.Zk.length && this.Zk.push(aa({ name: a, index: 0, Ya: !1 })); var b = this.Jq(); b.name = a; b.index = 0; b.Ya = !1; return b }; g.prototype.zo = function() { this.cj-- }; g.prototype.Jq = function() { return this.Zk[this.cj] }; g.prototype.Av = function(a, b) { for (var e, k, c, d, m, r; b;) { e = 0; for (k = b.je.length; e < k; e++) if (r = b.je[e], r instanceof Zb && ob(a, r.name)) return r; b = b.parent } e = 0; for (k = this.Gf.length; e < k; e++) for (m = this.Gf[e], c = 0, d = m.Ig.length; c < d; c++) if (r = m.Ig[c], r instanceof Zb && ob(a, r.name)) return r; return null }; g.prototype.Cv = function(a) { var b, e; b = 0; for (e = this.Be.length; b < e; b++) if (this.Be[b].Ia === a) return this.Be[b]; return null }; g.prototype.zn = function(a) { var b, e; b = 0; for (e = this.R.length; b < e; b++) if (this.R[b].Ia === a) return this.R[b]; return null }; g.prototype.xE = function(a) { var b, e; b = 0; for (e = this.Ai.length; b < e; b++) if (this.Ai[b].Ia === a) return this.Ai[b]; return null }; g.prototype.gD = function(a, b) { this.Jl = [a, b]; this.H = !0 }; g.prototype.VE = function() { var a = this, e = this.rs, k = this.Rf, m = this.Vn, r = !1; this.Lx && (r = !0, e = "__c2_continuouspreview", this.Lx = !1); if (e.length) { this.Lc(); k = this.JG(); if (p() && !this.vd) b(e, k, function() { fa("Saved state to IndexedDB storage (" + k.length + " bytes)"); a.Rf = k; a.trigger(Q.prototype.g.Dp, null); a.Rf = ""; r && c() }, function(b) { try { localStorage.setItem("__c2save_" + e, k), fa("Saved state to WebStorage (" + k.length + " bytes)"), a.Rf = k, a.trigger(Q.prototype.g.Dp, null), a.Rf = "", r && c() } catch (d) { fa("Failed to save game state: " + b + "; " + d), a.trigger(Q.prototype.g.Ut, null) } }); else try { localStorage.setItem("__c2save_" + e, k), fa("Saved state to WebStorage (" + k.length + " bytes)"), a.Rf = k, this.trigger(Q.prototype.g.Dp, null), a.Rf = "", r && c() } catch (h) { fa("Error saving to WebStorage: " + h), a.trigger(Q.prototype.g.Ut, null) } this.Vn = this.rs = ""; this.kc = null } if (m.length) { if (p() && !this.vd) d(m, function(b) { b ? (a.kc = b, fa("Loaded state from IndexedDB storage (" + a.kc.length + " bytes)")) : (a.kc = localStorage.getItem("__c2save_" + m) || "", fa("Loaded state from WebStorage (" + a.kc.length + " bytes)")); a.Ll = !1; a.kc || (a.kc = null, a.trigger(Q.prototype.g.lm, null)) }, function() { a.kc = localStorage.getItem("__c2save_" + m) || ""; fa("Loaded state from WebStorage (" + a.kc.length + " bytes)"); a.Ll = !1; a.kc || (a.kc = null, a.trigger(Q.prototype.g.lm, null)) }); else { try { this.kc = localStorage.getItem("__c2save_" + m) || "", fa("Loaded state from WebStorage (" + this.kc.length + " bytes)") } catch (f) { this.kc = null } this.Ll = !1; a.kc || (a.kc = null, a.trigger(Q.prototype.g.lm, null)) } this.rs = this.Vn = "" } null !== this.kc && (this.Lc(), this.AF(this.kc) ? (this.Rf = this.kc, this.trigger(Q.prototype.g.BA, null), this.Rf = "") : a.trigger(Q.prototype.g.lm, null), this.kc = null) }; g.prototype.JG = function() { var b, e, k, c, d, m, r, h = { c2save: !0, version: 1, rt: { time: this.hc.ta, walltime: this.jg.ta, timescale: this.qf, tickcount: this.ni, execcount: this.pk, next_uid: this.dl, running_layout: this.Ha.Ia, start_time_offset: Date.now() - this.Wo }, types: {}, layouts: {}, events: { groups: {}, cnds: {}, acts: {}, vars: {} } }; b = 0; for (e = this.R.length; b < e; b++) if (d = this.R[b], !d.Z && !this.Ms(d)) { m = { instances: [] }; Ya(d.Da) && (m.ex = a(d.Da)); k = 0; for (c = d.k.length; k < c; k++) m.instances.push(this.qs(d.k[k])); h.types[d.Ia.toString()] = m } b = 0; for (e = this.Be.length; b < e; b++) k = this.Be[b], h.layouts[k.Ia.toString()] = k.$a(); c = h.events.groups; b = 0; for (e = this.Ai.length; b < e; b++) k = this.Ai[b], c[k.Ia.toString()] = this.Oi[k.vk].Gh; e = h.events.cnds; for (r in this.Ag) this.Ag.hasOwnProperty(r) && (b = this.Ag[r], Ya(b.Da) && (e[r] = { ex: a(b.Da) })); e = h.events.acts; for (r in this.sg) this.sg.hasOwnProperty(r) && (b = this.sg[r], Ya(b.Da) && (e[r] = { ex: a(b.Da) })); e = h.events.vars; for (r in this.Gj) this.Gj.hasOwnProperty(r) && (b = this.Gj[r], b.On || b.parent && !b.Kk || (e[r] = b.data)); h.system = this.nf.$a(); return JSON.stringify(h) }; g.prototype.tx = function() { var a, b, e, k, c, d; this.Vf = {}; a = 0; for (b = this.R.length; a < b; a++) if (e = this.R[a], !e.Z) for (k = 0, c = e.k.length; k < c; k++) d = e.k[k], this.Vf[d.uid.toString()] = d }; g.prototype.AF = function(a) { var b; try { b = JSON.parse(a) } catch (e) { return !1 } if (!b.c2save || 1 < b.version) return !1; this.Fk = !0; a = b.rt; this.hc.reset(); this.hc.ta = a.time; this.jg.reset(); this.jg.ta = a.walltime || 0; this.qf = a.timescale; this.ni = a.tickcount; this.pk = a.execcount; this.Wo = Date.now() - a.start_time_offset; var k = a.running_layout; if (k !== this.Ha.Ia) if (k = this.Cv(k)) this.av(k); else return; var c, d, m, r, h, f, n; f = b.types; for (d in f) if (f.hasOwnProperty(d) && (r = this.zn(parseInt(d, 10))) && !r.Z && !this.Ms(r)) { f[d].ex ? r.Da = f[d].ex : Za(r.Da); h = r.k; m = f[d].instances; k = 0; for (c = sa(h.length, m.length); k < c; k++) this.Wn(h[k], m[k]); k = m.length; for (c = h.length; k < c; k++) this.ne(h[k]); k = h.length; for (c = m.length; k < c; k++) { h = null; if (r.W.$e && (h = this.Ha.yn(m[k].w.l), !h)) continue; h = this.Cg(r.Yd, h, !1, 0, 0, !0); this.Wn(h, m[k]) } r.vj = !0 } this.Lc(); this.tx(); c = b.layouts; for (d in c) c.hasOwnProperty(d) && (k = this.Cv(parseInt(d, 10))) && k.lb(c[d]); c = b.events.groups; for (d in c) c.hasOwnProperty(d) && (k = this.xE(parseInt(d, 10))) && this.Oi[k.vk] && this.Oi[k.vk].Ro(c[d]); k = b.events.cnds; for (d in this.Ag) this.Ag.hasOwnProperty(d) && (k.hasOwnProperty(d) ? this.Ag[d].Da = k[d].ex : this.Ag[d].Da = {}); k = b.events.acts; for (d in this.sg) this.sg.hasOwnProperty(d) && (k.hasOwnProperty(d) ? this.sg[d].Da = k[d].ex : this.sg[d].Da = {}); k = b.events.vars; for (d in k) k.hasOwnProperty(d) && this.Gj.hasOwnProperty(d) && (this.Gj[d].data = k[d]); this.dl = a.next_uid; this.Fk = !1; k = 0; for (c = this.ln.length; k < c; ++k) h = this.ln[k], this.trigger(Object.getPrototypeOf(h.type.W).g.jh, h); B(this.ln); this.nf.lb(b.system); k = 0; for (c = this.R.length; k < c; k++) if (r = this.R[k], !r.Z && !this.Ms(r)) for (b = 0, d = r.k.length; b < d; b++) { h = r.k[b]; if (r.gc) for (f = h.uk(), B(h.siblings), a = 0, m = r.td.length; a < m; a++) n = r.td[a], r !== n && h.siblings.push(n.k[f]); h.pe && h.pe(); if (h.la) for (a = 0, m = h.la.length; a < m; a++) f = h.la[a], f.pe && f.pe() } return this.H = !0 }; g.prototype.qs = function(b, e) { var k, c, d, m, r; m = b.type; d = m.W; var h = {}; e ? h.c2 = !0 : h.uid = b.uid; Ya(b.Da) && (h.ex = a(b.Da)); if (b.Lb && b.Lb.length) for (h.ivs = {}, k = 0, c = b.Lb.length; k < c; k++) h.ivs[b.type.$q[k].toString()] = b.Lb[k]; if (d.$e) { d = { x: b.x, y: b.y, w: b.width, h: b.height, l: b.F.Ia, zi: b.Xe() }; 0 !== b.q && (d.a = b.q); 1 !== b.opacity && (d.o = b.opacity); .5 !== b.Ab && (d.hX = b.Ab); .5 !== b.Bb && (d.hY = b.Bb); 0 !== b.ac && (d.bm = b.ac); b.visible || (d.v = b.visible); b.Vd || (d.ce = b.Vd); - 1 !== b.df && (d.mts = b.df); if (m.wa.length) for (d.fx = [], k = 0, c = m.wa.length; k < c; k++) r = m.wa[k], d.fx.push({ name: r.name, active: b.rg[r.index], params: b.yb[r.index] }); h.w = d } if (b.la && b.la.length) for (h.behs = {}, k = 0, c = b.la.length; k < c; k++) m = b.la[k], m.$a && (h.behs[m.type.Ia.toString()] = m.$a()); b.$a && (h.data = b.$a()); return h }; g.prototype.zE = function(a, b) { var e, k; e = 0; for (k = a.$q.length; e < k; e++) if (a.$q[e] === b) return e; return -1 }; g.prototype.uE = function(a, b) { var e, k; e = 0; for (k = a.la.length; e < k; e++) if (a.la[e].type.Ia === b) return e; return -1 }; g.prototype.Wn = function(a, b, e) { var k, c, d, m, r; r = a.type; m = r.W; if (e) { if (!b.c2) return } else a.uid = b.uid; b.ex ? a.Da = b.ex : Za(a.Da); if (c = b.ivs) for (k in c) c.hasOwnProperty(k) && (d = this.zE(r, parseInt(k, 10)), 0 > d || d >= a.Lb.length || (a.Lb[d] = c[k])); if (m.$e) { d = b.w; a.F.Ia !== d.l && (c = a.F, a.F = this.Ha.yn(d.l), a.F ? (c.rj(a, !0), a.F.bk(a, !0), a.ca(), a.F.El(0)) : (a.F = c, e || this.ne(a))); a.x = d.x; a.y = d.y; a.width = d.w; a.height = d.h; a.Rd = d.zi; a.q = d.hasOwnProperty("a") ? d.a : 0; a.opacity = d.hasOwnProperty("o") ? d.o : 1; a.Ab = d.hasOwnProperty("hX") ? d.hX : .5; a.Bb = d.hasOwnProperty("hY") ? d.hY : .5; a.visible = d.hasOwnProperty("v") ? d.v : !0; a.Vd = d.hasOwnProperty("ce") ? d.ce : !0; a.df = d.hasOwnProperty("mts") ? d.mts : -1; a.ac = d.hasOwnProperty("bm") ? d.bm : 0; a.Wd = lb(a.ac); this.S && mb(a, a.ac, this.S); a.ca(); if (d.hasOwnProperty("fx")) for (e = 0, c = d.fx.length; e < c; e++) m = r.Lq(d.fx[e].name), 0 > m || (a.rg[m] = d.fx[e].active, a.yb[m] = d.fx[e].params); a.Le() } if (r = b.behs) for (k in r) r.hasOwnProperty(k) && (e = this.uE(a, parseInt(k, 10)), 0 > e || a.la[e].lb(r[k])); b.data && a.lb(b.data) }; g.prototype.lv = function(a, b, e) { window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "www/" + a, function(a) { a.file(b, e) }, e) }; g.prototype.mE = function(a, b) { this.lv("data.js", function(e) { var k = new FileReader; k.onload = function(b) { a(b.target.result) }; k.onerror = b; k.readAsText(e) }, b) }; var O = [], ba = 0; g.prototype.Er = function() { if (O.length && !(8 <= ba)) { ba++; var a = O.shift(); this.jD(a.filename, a.WG, a.JD) } }; g.prototype.nv = function(a, b, e) { var k = this; O.push({ filename: a, WG: function(a) { ba--; k.Er(); b(a) }, JD: function(a) { ba--; k.Er(); e(a) } }); this.Er() }; g.prototype.jD = function(a, b, e) { this.lv(a, function(a) { var e = new FileReader; e.onload = function(a) { b(a.target.result) }; e.readAsArrayBuffer(a) }, e) }; g.prototype.nE = function(a, b, e) { var k = "", c = a.toLowerCase(), d = c.substr(c.length - 4), c = c.substr(c.length - 5); ".mp4" === d ? k = "video/mp4" : ".webm" === c ? k = "video/webm" : ".m4a" === d ? k = "audio/mp4" : ".mp3" === d && (k = "audio/mpeg"); this.nv(a, function(a) { a = URL.createObjectURL(new Blob([a], { type: k })); b(a) }, e) }; g.prototype.fF = function(a) { return /^(?:[a-z]+:)?\/\//.test(a) || "data:" === a.substr(0, 5) || "blob:" === a.substr(0, 5) }; g.prototype.Bl = function(a, b) { this.Ln && !this.fF(b) ? this.nE(b, function(b) { a.src = b }, function(a) { alert("Failed to load image: " + a) }) : a.src = b }; g.prototype.Po = function(a, b) { "undefined" !== typeof a.imageSmoothingEnabled ? a.imageSmoothingEnabled = b : (a.webkitImageSmoothingEnabled = b, a.mozImageSmoothingEnabled = b, a.msImageSmoothingEnabled = b) }; $b = function(a) { return new g(document.getElementById(a)) }; ac = function(a, b) { return new g({ dc: !0, width: a, height: b }) }; window.cr_createRuntime = $b; window.cr_createDCRuntime = ac; window.createCocoonJSRuntime = function() { window.c2cocoonjs = !0; var a = document.createElement("screencanvas") || document.createElement("canvas"); a.zc = !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, l) { var p = window.cr_getC2Runtime(); p && p.gD(g, l) }; window.cr_sizeCanvas = function(g, l) { if (0 !== g && 0 !== l) { var p = window.cr_getC2Runtime(); p && p.setSize(g, l) } }; window.cr_setSuspended = function(g) { var l = window.cr_getC2Runtime(); l && l.setSuspended(g) }; (function() { function g(a, b) { this.c = a; this.Ah = null; this.scrollX = this.c.Nb / 2; this.scrollY = this.c.Mb / 2; this.scale = 1; this.q = 0; this.Mi = !0; this.name = b[0]; this.WF = b[1]; this.VF = b[2]; this.width = b[1]; this.height = b[2]; this.fy = b[3]; this.Jx = b[4]; this.Ia = b[5]; var c = b[6], d, h; this.ea = []; this.Ak = []; d = 0; for (h = c.length; d < h; d++) { var f = new bc(this, c[d]); f.Gw = d; this.ea.push(f) } c = b[7]; this.Og = []; d = 0; for (h = c.length; d < h; d++) { var f = c[d], n = this.c.R[f[1]]; n.Yd || (n.Yd = f); this.Og.push(f); - 1 === this.Ak.indexOf(n) && this.Ak.push(n) } this.wa = []; this.Na = []; this.dg = !0; this.yb = []; d = 0; for (h = b[8].length; d < h; d++) this.wa.push({ id: b[8][d][0], name: b[8][d][1], $b: -1, Ee: !1, P: !0, index: d }), this.yb.push(b[8][d][2].slice(0)); this.Le(); this.qj = new xa(0, 0, 1, 1); this.hs = new xa(0, 0, 1, 1); this.Yg = {} } function l(a, b) { return a.Rd - b.Rd } function p(a, b) { this.jc = a; this.c = a.c; this.k = []; this.scale = 1; this.q = 0; this.Ef = !1; this.hg = new xa(0, 0, 0, 0); this.Zx = new ya; this.ab = this.Xa = this.bb = this.Wa = 0; this.kg = !1; this.lg = -1; this.mq = 0; this.name = b[0]; this.index = b[1]; this.Ia = b[2]; this.visible = b[3]; this.re = b[4]; this.Ke = b[5]; this.Gc = b[6]; this.Hc = b[7]; this.opacity = b[8]; this.rn = b[9]; this.Qd = b[10]; this.Fb = b[11]; this.ac = b[12]; this.FD = b[13]; this.Wd = "source-over"; this.eb = this.ib = 0; this.Jc = null; this.Sf = f(); this.Ge = !0; this.$i = new xa(0, 0, -1, -1); this.xc = new xa(0, 0, -1, -1); this.Qd && (this.Jc = new kb(this.c.Nb, this.c.Mb)); this.jf = !1; var c = b[14], d, h; this.Ox = []; this.Hd = []; this.kk = []; d = 0; for (h = c.length; d < h; d++) { var n = c[d], g = this.c.R[n[1]]; g.Yd || (g.Yd = n, g.bD = this.index); this.Hd.push(n); - 1 === this.jc.Ak.indexOf(g) && this.jc.Ak.push(g) } Da(this.Ox, this.Hd); this.wa = []; this.Na = []; this.dg = !0; this.yb = []; d = 0; for (h = b[15].length; d < h; d++) this.wa.push({ id: b[15][d][0], name: b[15][d][1], $b: -1, Ee: !1, P: !0, index: d }), this.yb.push(b[15][d][2].slice(0)); this.Le(); this.qj = new xa(0, 0, 1, 1); this.hs = new xa(0, 0, 1, 1) } function f() { return a.length ? a.pop() : [] } function b(b) { B(b); a.push(b) } g.prototype.IG = function(a) { var b = a.type.Ia.toString(); this.Yg.hasOwnProperty(b) || (this.Yg[b] = []); this.Yg[b].push(this.c.qs(a)) }; g.prototype.Gv = function() { var a = this.ea[0]; return !a.Ke && 1 === a.opacity && !a.rn && a.visible }; g.prototype.Le = function() { B(this.Na); this.dg = !0; var a, b, c; a = 0; for (b = this.wa.length; a < b; a++) c = this.wa[a], c.P && (this.Na.push(c), c.Ee || (this.dg = !1)) }; g.prototype.Kq = function(a) { var b, c, d; b = 0; for (c = this.wa.length; b < c; b++) if (d = this.wa[b], d.name === a) return d; return null }; var d = [], c = !0; g.prototype.As = function() { this.Jx && (this.Ah = this.c.zq[this.Jx], this.Ah.Qs()); this.c.Ha = this; this.width = this.WF; this.height = this.VF; this.scrollX = this.c.Nb / 2; this.scrollY = this.c.Mb / 2; var a, b, h, m, f, n, g; a = 0; for (h = this.c.R.length; a < h; a++) if (b = this.c.R[a], !b.Z) for (f = b.k, b = 0, m = f.length; b < m; b++) if (n = f[b], n.F) { var v = n.F.Gw; v >= this.ea.length && (v = this.ea.length - 1); n.F = this.ea[v]; - 1 === n.F.k.indexOf(n) && n.F.k.push(n); n.F.kg = !0 } if (!c) for (a = 0, h = this.ea.length; a < h; ++a) this.ea[a].k.sort(l); B(d); this.OC(); a = 0; for (h = this.ea.length; a < h; a++) n = this.ea[a], n.$C(), n.mp(); f = !1; if (!this.Mi) { for (g in this.Yg) if (this.Yg.hasOwnProperty(g) && (b = this.c.zn(parseInt(g, 10))) && !b.Z && this.c.Ns(b)) { m = this.Yg[g]; a = 0; for (h = m.length; a < h; a++) { n = null; if (b.W.$e && (n = this.yn(m[a].w.l), !n)) continue; n = this.c.Cg(b.Yd, n, !1, 0, 0, !0); this.c.Wn(n, m[a]); f = !0; d.push(n) } B(m) } a = 0; for (h = this.ea.length; a < h; a++) this.ea[a].k.sort(l), this.ea[a].kg = !0 } f && (this.c.Lc(), this.c.tx()); for (a = 0; a < d.length; a++) if (n = d[a], n.type.gc) for (h = n.uk(), b = 0, m = n.type.td.length; b < m; b++) g = n.type.td[b], n.type !== g && (g.k.length > h ? n.siblings.push(g.k[h]) : g.Yd && (f = this.c.Cg(g.Yd, n.F, !0, n.x, n.y, !0), this.c.Lc(), g.kp(), n.siblings.push(f), d.push(f))); a = 0; for (h = this.Og.length; a < h; a++) n = this.Og[a], b = this.c.R[n[1]], b.gc || this.c.Cg(this.Og[a], null, !0); this.c.gk = null; this.c.Lc(); if (this.c.B && !this.c.kb) for (a = 0, h = this.c.R.length; a < h; a++) g = this.c.R[a], !g.Z && g.k.length && g.rl && g.rl(this.c.B); if (this.c.Fk) Da(this.c.ln, d); else for (a = 0, h = d.length; a < h; a++) n = d[a], this.c.trigger(Object.getPrototypeOf(n.type.W).g.jh, n); B(d); this.c.Fk || this.c.trigger(Q.prototype.g.Kt, null); this.Mi = !1 }; g.prototype.YC = function() { var a, b, c, d, h; b = a = 0; for (c = this.Og.length; a < c; a++) d = this.Og[a], h = this.c.R[d[1]], h.global ? h.gc || this.c.Cg(d, null, !0) : (this.Og[b] = d, b++); Ca(this.Og, b) }; g.prototype.VG = function() { this.c.Fk || this.c.trigger(Q.prototype.g.AA, null); this.c.dr = !0; B(this.c.nf.nd); var a, b, d, m, h, f; if (!this.Mi) for (a = 0, b = this.ea.length; a < b; a++) for (this.ea[a].Ts(), h = this.ea[a].k, d = 0, m = h.length; d < m; d++) f = h[d], f.type.global || this.c.Ns(f.type) && this.IG(f); a = 0; for (b = this.ea.length; a < b; a++) { h = this.ea[a].k; d = 0; for (m = h.length; d < m; d++) f = h[d], f.type.global || this.c.ne(f); this.c.Lc(); B(h); this.ea[a].kg = !0 } a = 0; for (b = this.c.R.length; a < b; a++) if (h = this.c.R[a], !(h.global || h.W.$e || h.W.Vo || h.Z)) { d = 0; for (m = h.k.length; d < m; d++) this.c.ne(h.k[d]); this.c.Lc() } c = !1; this.c.dr = !1 }; new xa(0, 0, 0, 0); g.prototype.ud = function(a) { var b, c = a, d = !1, h = !this.c.Ed; h && (this.c.Un || (this.c.Un = document.createElement("canvas"), b = this.c.Un, b.width = this.c.ja, b.height = this.c.ga, this.c.aw = b.getContext("2d"), d = !0), b = this.c.Un, c = this.c.aw, b.width !== this.c.ja && (b.width = this.c.ja, d = !0), b.height !== this.c.ga && (b.height = this.c.ga, d = !0), d && this.c.Po(c, this.c.gb)); c.globalAlpha = 1; c.globalCompositeOperation = "source-over"; this.c.Tu && !this.Gv() && c.clearRect(0, 0, this.c.ja, this.c.ga); var f, n, d = 0; for (f = this.ea.length; d < f; d++) n = this.ea[d], n.visible && 0 < n.opacity && 11 !== n.ac && (n.k.length || !n.Ke) ? n.ud(c) : n.mp(); h && a.drawImage(b, 0, 0, this.c.width, this.c.height) }; g.prototype.Gg = function(a) { a.Dx(!0); this.c.Xb || (this.c.Xb = a.Dd(this.c.ja, this.c.ga, this.c.gb)); if (this.c.Xb.sh !== this.c.ja || this.c.Xb.rh !== this.c.ga) a.deleteTexture(this.c.Xb), this.c.Xb = a.Dd(this.c.ja, this.c.ga, this.c.gb); a.he(this.c.Xb); this.c.Ed || a.bg(this.c.ja, this.c.ga); var b, c; for (b = this.ea.length - 1; 0 <= b; --b) c = this.ea[b], c.visible && 1 === c.opacity && c.dg && 0 === c.ac && (c.k.length || !c.Ke) ? c.Gg(a) : c.mp(); a.Dx(!1) }; g.prototype.yc = function(a) { var b = 0 < this.Na.length || this.c.Ej || !this.c.Ed || this.c.fb; if (b) { this.c.Xb || (this.c.Xb = a.Dd(this.c.ja, this.c.ga, this.c.gb)); if (this.c.Xb.sh !== this.c.ja || this.c.Xb.rh !== this.c.ga) a.deleteTexture(this.c.Xb), this.c.Xb = a.Dd(this.c.ja, this.c.ga, this.c.gb); a.he(this.c.Xb); this.c.Ed || a.bg(this.c.ja, this.c.ga) } else this.c.Xb && (a.he(null), a.deleteTexture(this.c.Xb), this.c.Xb = null); this.c.Tu && !this.Gv() && a.clear(0, 0, 0, 0); var c, d, h; c = 0; for (d = this.ea.length; c < d; c++) h = this.ea[c], h.visible && 0 < h.opacity && (h.k.length || !h.Ke) ? h.yc(a) : h.mp(); b && (0 === this.Na.length || 1 === this.Na.length && this.c.Ed ? (1 === this.Na.length ? (b = this.Na[0].index, a.md(this.Na[0].$b), a.tj(null, 1 / this.c.ja, 1 / this.c.ga, 0, 0, 1, 1, this.scale, this.q, 0, 0, this.c.ja / 2, this.c.ga / 2, this.c.hc.ta, this.yb[b]), a.Co(this.Na[0].$b) && (this.c.H = !0)) : a.md(0), this.c.Ed || a.bg(this.c.width, this.c.height), a.he(null), a.Bx(!1), a.ag(1), a.Zc(this.c.Xb), a.zx(), a.kf(), a.Me(), b = this.c.width / 2, c = this.c.height / 2, a.fi(-b, c, b, c, b, -c, -b, -c), a.Zc(null), a.Bx(!0)) : this.ks(a, null, null, null)) }; g.prototype.sk = function() { return 0 < this.Na.length || this.c.Ej || !this.c.Ed || this.c.fb ? this.c.Xb : null }; g.prototype.Dv = function() { var a = this.ea[0].$d(), b, c, d; b = 1; for (c = this.ea.length; b < c; b++) d = this.ea[b], (0 !== d.Gc || 0 !== d.Hc) && d.$d() < a && (a = d.$d()); return a }; g.prototype.zl = function(a) { if (!this.fy) { var b = 1 / this.Dv() * this.c.ja / 2; a > this.width - b && (a = this.width - b); a < b && (a = b) } this.scrollX !== a && (this.scrollX = a, this.c.H = !0) }; g.prototype.Al = function(a) { if (!this.fy) { var b = 1 / this.Dv() * this.c.ga / 2; a > this.height - b && (a = this.height - b); a < b && (a = b) } this.scrollY !== a && (this.scrollY = a, this.c.H = !0) }; g.prototype.OC = function() { this.zl(this.scrollX); this.Al(this.scrollY) }; g.prototype.ks = function(a, b, c, d) { var h = c ? c.Na : b ? b.Na : this.Na, f = 1, n = 0, v = 0, k = 0, r = this.c.ja, g = this.c.ga; c ? (f = c.F.$d(), n = c.F.Bc(), v = c.F.Wa, k = c.F.Xa, r = c.F.bb, g = c.F.ab) : b && (f = b.$d(), n = b.Bc(), v = b.Wa, k = b.Xa, r = b.bb, g = b.ab); var y = this.c.Gq, l, p, M, G, E = 0, J = 1, F, z, C = this.c.ja, O = this.c.ga, ba = C / 2, U = O / 2, A = b ? b.qj : this.qj, P = b ? b.hs : this.hs, L = 0, V = 0, K = 0, N = 0, S = C, Y = C, T = O, ka = O, la = M = 0; G = c ? c.F.Bc() : 0; if (c) { l = 0; for (p = h.length; l < p; l++) M += a.EE(h[l].$b), la += a.FE(h[l].$b); N = c.Tb; L = b.Vc(N.left, N.top, !0, !0); K = b.Vc(N.left, N.top, !1, !0); S = b.Vc(N.right, N.bottom, !0, !0); T = b.Vc(N.right, N.bottom, !1, !0); 0 !== G && (l = b.Vc(N.right, N.top, !0, !0), p = b.Vc(N.right, N.top, !1, !0), V = b.Vc(N.left, N.bottom, !0, !0), N = b.Vc(N.left, N.bottom, !1, !0), G = Math.min(L, S, l, V), S = Math.max(L, S, l, V), L = G, G = Math.min(K, T, p, N), T = Math.max(K, T, p, N), K = G); L -= M; K -= la; S += M; T += la; P.left = L / C; P.top = 1 - K / O; P.right = S / C; P.bottom = 1 - T / O; V = L = ua(L); N = K = ua(K); Y = S = va(S); ka = T = va(T); V -= M; N -= la; Y += M; ka += la; 0 > L && (L = 0); 0 > K && (K = 0); S > C && (S = C); T > O && (T = O); 0 > V && (V = 0); 0 > N && (N = 0); Y > C && (Y = C); ka > O && (ka = O); A.left = L / C; A.top = 1 - K / O; A.right = S / C; A.bottom = 1 - T / O } else A.left = P.left = 0, A.top = P.top = 0, A.right = P.right = 1, A.bottom = P.bottom = 1; la = c && (a.sl(h[0].$b) || 0 !== M || 0 !== la || 1 !== c.opacity || c.type.W.Bw) || b && !c && 1 !== b.opacity; a.zx(); if (la) { y[E] || (y[E] = a.Dd(C, O, this.c.gb)); if (y[E].sh !== C || y[E].rh !== O) a.deleteTexture(y[E]), y[E] = a.Dd(C, O, this.c.gb); a.md(0); a.he(y[E]); z = ka - N; a.clearRect(V, O - N - z, Y - V, z); c ? c.yc(a) : (a.Zc(this.c.ic), a.ag(b.opacity), a.kf(), a.translate(-ba, -U), a.Me(), a.Fe(L, T, S, T, S, K, L, K, A)); P.left = P.top = 0; P.right = P.bottom = 1; c && (G = A.top, A.top = A.bottom, A.bottom = G); E = 1; J = 0 } a.ag(1); M = h.length - 1; var Z = a.es(h[M].$b) || !b && !c && !this.c.Ed; l = G = 0; for (p = h.length; l < p; l++) { y[E] || (y[E] = a.Dd(C, O, this.c.gb)); if (y[E].sh !== C || y[E].rh !== O) a.deleteTexture(y[E]), y[E] = a.Dd(C, O, this.c.gb); a.md(h[l].$b); G = h[l].index; a.Co(h[l].$b) && (this.c.H = !0); 0 != l || la ? (a.tj(d, 1 / C, 1 / O, P.left, P.top, P.right, P.bottom, f, n, v, k, (v + r) / 2, (k + g) / 2, this.c.hc.ta, c ? c.yb[G] : b ? b.yb[G] : this.yb[G]), a.Zc(null), l !== M || Z ? (a.he(y[E]), z = ka - N, F = O - N - z, a.clearRect(V, F, Y - V, z)) : (c ? a.$f(c.ib, c.eb) : b && a.$f(b.ib, b.eb), a.he(d)), a.Zc(y[J]), a.kf(), a.translate(-ba, -U), a.Me(), a.Fe(L, T, S, T, S, K, L, K, A), l !== M || Z || a.Zc(null)) : (a.he(y[E]), z = ka - N, F = O - N - z, a.clearRect(V, F, Y - V, z), c ? (c.Ca && c.Ca.K ? (F = c.Ca.K, J = 1 / F.width, F = 1 / F.height) : (J = 1 / c.width, F = 1 / c.height), a.tj(d, J, F, P.left, P.top, P.right, P.bottom, f, n, v, k, (v + r) / 2, (k + g) / 2, this.c.hc.ta, c.yb[G]), c.yc(a)) : (a.tj(d, 1 / C, 1 / O, 0, 0, 1, 1, f, n, v, k, (v + r) / 2, (k + g) / 2, this.c.hc.ta, b ? b.yb[G] : this.yb[G]), a.Zc(b ? this.c.ic : this.c.Xb), a.kf(), a.translate(-ba, -U), a.Me(), a.Fe(L, T, S, T, S, K, L, K, A)), P.left = P.top = 0, P.right = P.bottom = 1, c && !Z && (G = T, T = K, K = G)); E = 0 === E ? 1 : 0; J = 0 === E ? 1 : 0 } Z && (a.md(0), c ? a.$f(c.ib, c.eb) : b ? a.$f(b.ib, b.eb) : this.c.Ed || (a.bg(this.c.width, this.c.height), ba = this.c.width / 2, U = this.c.height / 2, K = L = 0, S = this.c.width, T = this.c.height), a.he(d), a.Zc(y[J]), a.kf(), a.translate(-ba, -U), a.Me(), c && 1 === h.length && !la ? a.Fe(L, K, S, K, S, T, L, T, A) : a.Fe(L, T, S, T, S, K, L, K, A), a.Zc(null)) }; g.prototype.yn = function(a) { var b, c; b = 0; for (c = this.ea.length; b < c; b++) if (this.ea[b].Ia === a) return this.ea[b]; return null }; g.prototype.$a = function() { var a, b, c, d = { sx: this.scrollX, sy: this.scrollY, s: this.scale, a: this.q, w: this.width, h: this.height, fv: this.Mi, persist: this.Yg, fx: [], layers: {} }; a = 0; for (b = this.wa.length; a < b; a++) c = this.wa[a], d.fx.push({ name: c.name, active: c.P, params: this.yb[c.index] }); a = 0; for (b = this.ea.length; a < b; a++) c = this.ea[a], d.layers[c.Ia.toString()] = c.$a(); return d }; g.prototype.lb = function(a) { var b, c, d, h; this.scrollX = a.sx; this.scrollY = a.sy; this.scale = a.s; this.q = a.a; this.width = a.w; this.height = a.h; this.Yg = a.persist; "undefined" !== typeof a.fv && (this.Mi = a.fv); var f = a.fx; b = 0; for (c = f.length; b < c; b++) if (d = this.Kq(f[b].name)) d.P = f[b].active, this.yb[d.index] = f[b].params; this.Le(); b = a.layers; for (h in b) b.hasOwnProperty(h) && (a = this.yn(parseInt(h, 10))) && a.lb(b[h]) }; Nb = g; p.prototype.Le = function() { B(this.Na); this.dg = !0; var a, b, c; a = 0; for (b = this.wa.length; a < b; a++) c = this.wa[a], c.P && (this.Na.push(c), c.Ee || (this.dg = !1)) }; p.prototype.Kq = function(a) { var b, c, d; b = 0; for (c = this.wa.length; b < c; b++) if (d = this.wa[b], d.name === a) return d; return null }; p.prototype.$C = function() { var a, b, c, m, h, f; b = a = 0; for (c = this.Hd.length; a < c; a++) { m = this.Hd[a]; h = this.c.R[m[1]]; f = this.c.Ns(h); h = !0; if (!f || this.jc.Mi) { m = this.c.Cg(m, this, !0); if (!m) continue; d.push(m); m.type.global && (h = !1, this.kk.push(m.uid)) } h && (this.Hd[b] = this.Hd[a], b++) } this.Hd.length = b; this.c.Lc(); !this.c.J && this.wa.length && (this.ac = this.FD); this.Wd = lb(this.ac); this.c.S && mb(this, this.ac, this.c.S); this.Ge = !0 }; p.prototype.rj = function(a, b) { var c = Fa(this.k, a); 0 > c || (b && this.Qd && a.kd && a.kd.right >= a.kd.left && (a.jb(), this.Jc.update(a, a.kd, null), a.kd.set(0, 0, -1, -1)), c === this.k.length - 1 ? this.k.pop() : (Ba(this.k, c), this.El(c)), this.Ge = !0) }; p.prototype.bk = function(a, b) { a.Rd = this.k.length; this.k.push(a); b && this.Qd && a.kd && a.ca(); this.Ge = !0 }; p.prototype.gG = function(a) { this.k.unshift(a); this.El(0) }; p.prototype.JF = function(a, b, c) { var d = a.Xe(); b = b.Xe(); Ba(this.k, d); d < b && b--; c && b++; b === this.k.length ? this.k.push(a) : this.k.splice(b, 0, a); this.El(d < b ? d : b) }; p.prototype.El = function(a) { -1 === this.lg ? this.lg = a : a < this.lg && (this.lg = a); this.Ge = this.kg = !0 }; p.prototype.Ts = function() { if (this.kg) { -1 === this.lg && (this.lg = 0); var a, b, c; if (this.Qd) for (a = this.lg, b = this.k.length; a < b; ++a) c = this.k[a], c.Rd = a, this.Jc.FF(c.kd); else for (a = this.lg, b = this.k.length; a < b; ++a) this.k[a].Rd = a; this.kg = !1; this.lg = -1 } }; p.prototype.$d = function(a) { return this.BE() * (this.c.Ed || a ? this.c.ck : 1) }; p.prototype.BE = function() { return (this.scale * this.jc.scale - 1) * this.Fb + 1 }; p.prototype.Bc = function() { return this.Ef ? 0 : La(this.jc.q + this.q) }; var a = [], n = [], h = []; p.prototype.Nq = function() { this.Ts(); this.Jc.Fo(this.Wa, this.Xa, this.bb, this.ab, h); if (!h.length) return f(); if (1 === h.length) { var a = f(); Da(a, h[0]); B(h); return a } for (var c = !0; 1 < h.length;) { for (var a = h, d = void 0, m = void 0, q = void 0, g = void 0, w = void 0, d = 0, m = a.length; d < m - 1; d += 2) { var q = a[d], g = a[d + 1], w = f(), v = q, k = g, r = w, H = 0, y = 0, l = 0, p = v.length, M = k.length, G = void 0, E = void 0; for (r.length = p + M; H < p && y < M; ++l) G = v[H], E = k[y], G.Rd < E.Rd ? (r[l] = G, ++H) : (r[l] = E, ++y); for (; H < p; ++H, ++l) r[l] = v[H]; for (; y < M; ++y, ++l) r[l] = k[y]; c || (b(q), b(g)); n.push(w) } 1 === m % 2 && (c ? (q = f(), Da(q, a[m - 1]), n.push(q)) : n.push(a[m - 1])); Da(a, n); B(n); c = !1 } a = h[0]; B(h); return a }; p.prototype.ud = function(a) { this.jf = this.rn || 1 !== this.opacity || 0 !== this.ac; var c = this.c.canvas, d = a, m = !1; this.jf && (this.c.Tn || (this.c.Tn = document.createElement("canvas"), c = this.c.Tn, c.width = this.c.ja, c.height = this.c.ga, this.c.$v = c.getContext("2d"), m = !0), c = this.c.Tn, d = this.c.$v, c.width !== this.c.ja && (c.width = this.c.ja, m = !0), c.height !== this.c.ga && (c.height = this.c.ga, m = !0), m && this.c.Po(d, this.c.gb), this.Ke && d.clearRect(0, 0, this.c.ja, this.c.ga)); d.globalAlpha = 1; d.globalCompositeOperation = "source-over"; this.Ke || (d.fillStyle = "rgb(" + this.re[0] + "," + this.re[1] + "," + this.re[2] + ")", d.fillRect(0, 0, this.c.ja, this.c.ga)); d.save(); this.Ef = !0; var m = this.nb(0, 0, !0, !0), h = this.nb(0, 0, !1, !0); this.Ef = !1; this.c.hd && (m = Math.round(m), h = Math.round(h)); this.Jo(m, h, d); var f = this.$d(); d.scale(f, f); d.translate(-m, -h); this.Qd ? (this.xc.left = this.Jc.cd(this.Wa), this.xc.top = this.Jc.dd(this.Xa), this.xc.right = this.Jc.cd(this.bb), this.xc.bottom = this.Jc.dd(this.ab), this.Ge || !this.xc.nk(this.$i) ? (b(this.Sf), m = this.Nq(), this.Ge = !1, this.$i.Di(this.xc)) : m = this.Sf) : m = this.k; for (var n, v = null, h = 0, f = m.length; h < f; ++h) n = m[h], n !== v && (this.zD(n, d), v = n); this.Qd && (this.Sf = m); d.restore(); this.jf && (a.globalCompositeOperation = this.Wd, a.globalAlpha = this.opacity, a.drawImage(c, 0, 0)) }; p.prototype.zD = function(a, b) { if (a.visible && 0 !== a.width && 0 !== a.height) { a.jb(); var c = a.Tb; c.right < this.Wa || c.bottom < this.Xa || c.left > this.bb || c.top > this.ab || (b.globalCompositeOperation = a.Wd, a.ud(b)) } }; p.prototype.mp = function() { this.Ef = !0; var a = this.nb(0, 0, !0, !0), b = this.nb(0, 0, !1, !0); this.Ef = !1; this.c.hd && (a = Math.round(a), b = Math.round(b)); this.Jo(a, b, null) }; p.prototype.Jo = function(a, b, c) { var d = this.$d(); this.Wa = a; this.Xa = b; this.bb = a + 1 / d * this.c.ja; this.ab = b + 1 / d * this.c.ga; this.Wa > this.bb && (a = this.Wa, this.Wa = this.bb, this.bb = a); this.Xa > this.ab && (a = this.Xa, this.Xa = this.ab, this.ab = a); a = this.Bc(); 0 !== a && (c && (c.translate(this.c.ja / 2, this.c.ga / 2), c.rotate(-a), c.translate(this.c.ja / -2, this.c.ga / -2)), this.hg.set(this.Wa, this.Xa, this.bb, this.ab), this.hg.offset((this.Wa + this.bb) / -2, (this.Xa + this.ab) / -2), this.Zx.Hx(this.hg, a), this.Zx.Nu(this.hg), this.hg.offset((this.Wa + this.bb) / 2, (this.Xa + this.ab) / 2), this.Wa = this.hg.left, this.Xa = this.hg.top, this.bb = this.hg.right, this.ab = this.hg.bottom) }; p.prototype.Gg = function(a) { if (this.jf = this.rn) { this.c.ic || (this.c.ic = a.Dd(this.c.ja, this.c.ga, this.c.gb)); if (this.c.ic.sh !== this.c.ja || this.c.ic.rh !== this.c.ga) a.deleteTexture(this.c.ic), this.c.ic = a.Dd(this.c.ja, this.c.ga, this.c.gb); a.he(this.c.ic) } this.Ef = !0; var c = this.nb(0, 0, !0, !0), d = this.nb(0, 0, !1, !0); this.Ef = !1; this.c.hd && (c = Math.round(c), d = Math.round(d)); this.Jo(c, d, null); c = this.$d(); a.kf(); a.scale(c, c); a.ns(-this.Bc()); a.translate((this.Wa + this.bb) / -2, (this.Xa + this.ab) / -2); a.Me(); this.Qd ? (this.xc.left = this.Jc.cd(this.Wa), this.xc.top = this.Jc.dd(this.Xa), this.xc.right = this.Jc.cd(this.bb), this.xc.bottom = this.Jc.dd(this.ab), this.Ge || !this.xc.nk(this.$i) ? (b(this.Sf), c = this.Nq(), this.Ge = !1, this.$i.Di(this.xc)) : c = this.Sf) : c = this.k; for (var m, h = null, d = c.length - 1; 0 <= d; --d) m = c[d], m !== h && (this.BD(c[d], a), h = m); this.Qd && (this.Sf = c); this.Ke || (this.mq = this.c.zh++, a.Qo(this.mq), a.Ax(1, 1, 1), a.tv(), a.yG()) }; p.prototype.yc = function(a) { var c = 0, d = 0; if (this.jf = this.rn || 1 !== this.opacity || 0 < this.Na.length || 0 !== this.ac) { this.c.ic || (this.c.ic = a.Dd(this.c.ja, this.c.ga, this.c.gb)); if (this.c.ic.sh !== this.c.ja || this.c.ic.rh !== this.c.ga) a.deleteTexture(this.c.ic), this.c.ic = a.Dd(this.c.ja, this.c.ga, this.c.gb); a.he(this.c.ic); this.Ke && a.clear(0, 0, 0, 0) } this.Ke || (this.c.fb ? (a.Qo(this.mq), a.Ax(this.re[0] / 255, this.re[1] / 255, this.re[2] / 255), a.tv(), a.PG()) : a.clear(this.re[0] / 255, this.re[1] / 255, this.re[2] / 255, 1)); this.Ef = !0; var m = this.nb(0, 0, !0, !0), c = this.nb(0, 0, !1, !0); this.Ef = !1; this.c.hd && (m = Math.round(m), c = Math.round(c)); this.Jo(m, c, null); m = this.$d(); a.kf(); a.scale(m, m); a.ns(-this.Bc()); a.translate((this.Wa + this.bb) / -2, (this.Xa + this.ab) / -2); a.Me(); this.Qd ? (this.xc.left = this.Jc.cd(this.Wa), this.xc.top = this.Jc.dd(this.Xa), this.xc.right = this.Jc.cd(this.bb), this.xc.bottom = this.Jc.dd(this.ab), this.Ge || !this.xc.nk(this.$i) ? (b(this.Sf), c = this.Nq(), this.Ge = !1, this.$i.Di(this.xc)) : c = this.Sf) : c = this.k; var h, f, n = null, d = 0; for (h = c.length; d < h; ++d) f = c[d], f !== n && (this.AD(c[d], a), n = f); this.Qd && (this.Sf = c); this.jf && (c = this.Na.length ? this.Na[0].$b : 0, d = this.Na.length ? this.Na[0].index : 0, 0 === this.Na.length || 1 === this.Na.length && !a.es(c) && 1 === this.opacity ? (1 === this.Na.length ? (a.md(c), a.tj(this.jc.sk(), 1 / this.c.ja, 1 / this.c.ga, 0, 0, 1, 1, m, this.Bc(), this.Wa, this.Xa, (this.Wa + this.bb) / 2, (this.Xa + this.ab) / 2, this.c.hc.ta, this.yb[d]), a.Co(c) && (this.c.H = !0)) : a.md(0), a.he(this.jc.sk()), a.ag(this.opacity), a.Zc(this.c.ic), a.$f(this.ib, this.eb), a.kf(), a.Me(), m = this.c.ja / 2, c = this.c.ga / 2, a.fi(-m, c, m, c, m, -c, -m, -c), a.Zc(null)) : this.jc.ks(a, this, null, this.jc.sk())) }; p.prototype.AD = function(a, b) { if (a.visible && 0 !== a.width && 0 !== a.height) { a.jb(); var c = a.Tb; c.right < this.Wa || c.bottom < this.Xa || c.left > this.bb || c.top > this.ab || (b.Qo(a.zh), a.ly ? this.CD(a, b) : (b.md(0), b.$f(a.ib, a.eb), a.yc(b))) } }; p.prototype.BD = function(a, b) { if (a.visible && 0 !== a.width && 0 !== a.height) { a.jb(); var c = a.Tb; c.right < this.Wa || c.bottom < this.Xa || c.left > this.bb || c.top > this.ab || (a.zh = this.c.zh++, 0 === a.ac && 1 === a.opacity && a.dg && a.Gg && (b.Qo(a.zh), a.Gg(b))) } }; p.prototype.CD = function(a, b) { var c = a.Na[0].$b, d = a.Na[0].index, h = this.$d(); if (1 !== a.Na.length || b.es(c) || b.jG(c) || (a.q || a.F.Bc()) && b.sl(c) || 1 !== a.opacity || a.type.W.Bw) this.jc.ks(b, this, a, this.jf ? this.c.ic : this.jc.sk()), b.kf(), b.scale(h, h), b.ns(-this.Bc()), b.translate((this.Wa + this.bb) / -2, (this.Xa + this.ab) / -2), b.Me(); else { b.md(c); b.$f(a.ib, a.eb); b.Co(c) && (this.c.H = !0); var f = 0, n = 0, v = 0, k = 0; b.sl(c) && (k = a.Tb, f = this.Vc(k.left, k.top, !0, !0), n = this.Vc(k.left, k.top, !1, !0), v = this.Vc(k.right, k.bottom, !0, !0), k = this.Vc(k.right, k.bottom, !1, !0), f = f / windowWidth, n = 1 - n / windowHeight, v = v / windowWidth, k = 1 - k / windowHeight); var r; a.Ca && a.Ca.K ? (r = a.Ca.K, c = 1 / r.width, r = 1 / r.height) : (c = 1 / a.width, r = 1 / a.height); b.tj(this.jf ? this.c.ic : this.jc.sk(), c, r, f, n, v, k, h, this.Bc(), this.Wa, this.Xa, (this.Wa + this.bb) / 2, (this.Xa + this.ab) / 2, this.c.hc.ta, a.yb[d]); a.yc(b) } }; p.prototype.nb = function(a, b, c, d) { var h = this.c.devicePixelRatio; this.c.Nh && (a *= h, b *= h); var h = this.c.gx, f = this.c.hx, h = (this.jc.scrollX - h) * this.Gc + h, f = (this.jc.scrollY - f) * this.Hc + f, n = h, v = f, k = 1 / this.$d(!d); d ? (n -= this.c.ja * k / 2, v -= this.c.ga * k / 2) : (n -= this.c.width * k / 2, v -= this.c.height * k / 2); n += a * k; v += b * k; b = this.Bc(); 0 !== b && (n -= h, v -= f, a = Math.cos(b), b = Math.sin(b), d = n * a - v * b, v = v * a + n * b, n = d + h, v += f); return c ? n : v }; p.prototype.Vc = function(a, b, c, d) { var h = this.c.gx, f = this.c.hx, n = (this.jc.scrollX - h) * this.Gc + h, v = (this.jc.scrollY - f) * this.Hc + f, f = n, h = v, k = this.Bc(); if (0 !== k) { a -= n; b -= v; var r = Math.cos(-k), k = Math.sin(-k), g = a * r - b * k; b = b * r + a * k; a = g + n; b += v } n = 1 / this.$d(!d); d ? (f -= this.c.ja * n / 2, h -= this.c.ga * n / 2) : (f -= this.c.width * n / 2, h -= this.c.height * n / 2); f = (a - f) / n; h = (b - h) / n; a = this.c.devicePixelRatio; this.c.Nh && !d && (f /= a, h /= a); return c ? f : h }; p.prototype.$a = function() { var a, b, c, d = { s: this.scale, a: this.q, vl: this.Wa, vt: this.Xa, vr: this.bb, vb: this.ab, v: this.visible, bc: this.re, t: this.Ke, px: this.Gc, py: this.Hc, o: this.opacity, zr: this.Fb, fx: [], cg: this.kk, instances: [] }; a = 0; for (b = this.wa.length; a < b; a++) c = this.wa[a], d.fx.push({ name: c.name, active: c.P, params: this.yb[c.index] }); return d }; p.prototype.lb = function(a) { var b, c, d; this.scale = a.s; this.q = a.a; this.Wa = a.vl; this.Xa = a.vt; this.bb = a.vr; this.ab = a.vb; this.visible = a.v; this.re = a.bc; this.Ke = a.t; this.Gc = a.px; this.Hc = a.py; this.opacity = a.o; this.Fb = a.zr; this.kk = a.cg || []; Da(this.Hd, this.Ox); var h = new da; b = 0; for (d = this.kk.length; b < d; ++b) h.add(this.kk[b]); c = b = 0; for (d = this.Hd.length; b < d; ++b) h.contains(this.Hd[b][2]) || (this.Hd[c] = this.Hd[b], ++c); Ca(this.Hd, c); c = a.fx; b = 0; for (d = c.length; b < d; b++) if (a = this.Kq(c[b].name)) a.P = c[b].active, this.yb[a.index] = c[b].params; this.Le(); this.k.sort(l); this.kg = !0 }; bc = p })(); (function() { function g(a, b) { var c, d = a.length; switch (d) { case 0: return !0; case 1: return a[0] === b[0]; case 2: return a[0] === b[0] && a[1] === b[1]; default: for (c = 0; c < d; c++) if (a[c] !== b[c]) return !1; return !0 } } function l(a, b) { return a.index - b.index } function p(a) { var b, c, d, e; 2 === a.length ? a[0].index > a[1].index && (b = a[0], a[0] = a[1], a[1] = b) : 2 < a.length && a.sort(l); a.length >= q.length && (q.length = a.length + 1); q[a.length] || (q[a.length] = []); e = q[a.length]; b = 0; for (c = e.length; b < c; b++) if (d = e[b], g(a, d)) return d; e.push(a); return a } function f(a, b) { this.c = a; this.by = {}; this.kv = {}; this.Vq = !1; this.Iv = new da; this.tq = []; this.$p = []; this.name = b[0]; var c = b[1]; this.Ig = []; var d, e; d = 0; for (e = c.length; d < e; d++) this.Kv(c[d], null, this.Ig) } function b(a) { this.type = a; this.k = []; this.na = []; this.X = !0 } function d(a, b, c) { this.sheet = a; this.parent = b; this.c = a.c; this.Aa = []; this.bh = []; this.Hv = this.fp = this.Js = this.Yq = this.group = this.zs = !1; this.ec = []; this.oe = []; this.je = []; this.vk = ""; this.Gh = this.Yq = this.group = !1; this.Pm = null; c[1] && (this.vk = c[1][1].toLowerCase(), this.group = !0, this.Yq = !!c[1][0], this.Pm = [], this.Gh = this.Yq, this.c.Ai.push(this), this.c.Oi[this.vk] = this); this.Ld = c[2]; this.Ia = c[4]; this.group || (this.c.Mu[this.Ia.toString()] = this); var d = c[5]; a = 0; for (b = d.length; a < b; a++) { var e = new cc(this, d[a]); e.index = a; this.ec.push(e); this.Du(e.type) } d = c[6]; a = 0; for (b = d.length; a < b; a++) e = new dc(this, d[a]), e.index = a, this.oe.push(e); if (8 === c.length) for (c = c[7], a = 0, b = c.length; a < b; a++) this.sheet.Kv(c[a], this, this.je); this.Pn = !1; this.ec.length && (this.Pn = null == this.ec[0].type && this.ec[0].Ac == Q.prototype.g.kt) } function c(a, b) { var c, d, e; if (a && (-1 === b.indexOf(a) && b.push(a), a.gc)) for (c = 0, d = a.td.length; c < d; c++) e = a.td[c], a !== e && -1 === b.indexOf(e) && b.push(e) } function a(a, b) { this.Cd = a; this.sheet = a.sheet; this.c = a.c; this.ra = []; this.Db = []; this.Da = {}; this.index = -1; this.$j = !1; this.Ac = this.c.mg(b[1]); this.trigger = 0 < b[3]; this.jv = 2 === b[3]; this.cf = b[4]; this.Fn = b[5]; this.uF = b[6]; this.Ia = b[7]; this.c.Ag[this.Ia.toString()] = this; - 1 === b[0] ? (this.type = null, this.Zb = this.ps, this.qh = null, this.ue = -1) : (this.type = this.c.R[b[0]], this.Zb = this.uF ? this.GG : this.os, b[2] ? (this.qh = this.type.wn(b[2]), this.ue = this.type.Hq(b[2])) : (this.qh = null, this.ue = -1), this.Cd.parent && this.Cd.parent.To()); this.jv && (this.Zb = this.HG); if (10 === b.length) { var c, d, e = b[9]; c = 0; for (d = e.length; c < d; c++) { var h = new ec(this, e[c]); this.ra.push(h) } this.Db.length = e.length } } function n(a, b) { this.Cd = a; this.sheet = a.sheet; this.c = a.c; this.ra = []; this.Db = []; this.Da = {}; this.index = -1; this.$j = !1; this.Ac = this.c.mg(b[1]); - 1 === b[0] ? (this.type = null, this.Zb = this.ps, this.qh = null, this.ue = -1) : (this.type = this.c.R[b[0]], this.Zb = this.os, b[2] ? (this.qh = this.type.wn(b[2]), this.ue = this.type.Hq(b[2])) : (this.qh = null, this.ue = -1)); this.Ia = b[3]; this.c.sg[this.Ia.toString()] = this; if (6 === b.length) { var c, d, e = b[5]; c = 0; for (d = e.length; c < d; c++) { var h = new ec(this, e[c]); this.ra.push(h) } this.Db.length = e.length } } function h() { w++; u.length === w && u.push(new fc); return u[w] } function e(a, b) { this.fe = a; this.Cd = a.Cd; this.sheet = a.sheet; this.c = a.c; this.type = b[0]; this.Ve = null; this.eg = 0; this.get = null; this.Uu = 0; this.jc = null; this.key = 0; this.object = null; this.index = 0; this.Vl = this.li = this.Vl = this.li = this.ov = this.Bh = this.Wl = null; this.le = !1; var c, d, e; switch (b[0]) { case 0: case 7: this.Ve = new hc(this, b[1]); this.eg = 0; this.get = this.LE; break; case 1: this.Ve = new hc(this, b[1]); this.eg = 0; this.get = this.ME; break; case 5: this.Ve = new hc(this, b[1]); this.eg = 0; this.get = this.Qq; break; case 3: case 8: this.Uu = b[1]; this.get = this.JE; break; case 6: this.jc = this.c.aj[b[1]]; this.get = this.QE; break; case 9: this.key = b[1]; this.get = this.PE; break; case 4: this.object = this.c.R[b[1]]; this.get = this.RE; this.Cd.Du(this.object); this.fe instanceof dc ? this.Cd.To() : this.Cd.parent && this.Cd.parent.To(); break; case 10: this.index = b[1]; a.type && a.type.Z ? (this.get = this.NE, this.le = !0) : this.get = this.OE; break; case 11: this.Wl = b[1]; this.Bh = null; this.get = this.KE; break; case 2: case 12: this.ov = b[1]; this.get = this.IE; break; case 13: for (this.get = this.SE, this.li = [], this.Vl = [], c = 1, d = b.length; c < d; c++) e = new ec(this.fe, b[c]), this.li.push(e), this.Vl.push(0) } } function t(a, b, c) { this.sheet = a; this.parent = b; this.c = a.c; this.Aa = []; this.name = c[1]; this.np = c[2]; this.M = c[3]; this.Kk = !!c[4]; this.On = !!c[5]; this.Ia = c[6]; this.c.Gj[this.Ia.toString()] = this; this.data = this.M; this.parent ? (this.Zh = this.Kk || this.On ? -1 : this.c.TG++, this.c.HC.push(this)) : (this.Zh = -1, this.c.Zp.push(this)) } function x(a, b, c) { this.sheet = a; this.parent = b; this.c = a.c; this.Aa = []; this.zk = null; this.aF = c[1]; this.P = !0 } function m() { this.Qx = []; this.reset(null) } var q = []; f.prototype.toString = function() { return this.name }; f.prototype.Kv = function(a, b, c) { switch (a[0]) { case 0: a = new ic(this, b, a); if (a.Ld) for (c.push(a), c = 0, b = a.ec.length; c < b; c++) a.ec[c].trigger && this.Lv(a, c); else a.Tv() ? this.Lv(a, 0) : c.push(a); break; case 1: a = new Zb(this, b, a); c.push(a); break; case 2: a = new jc(this, b, a), c.push(a) } }; f.prototype.Ob = function() { var a, b; a = 0; for (b = this.Ig.length; a < b; a++) this.Ig[a].Ob(a < b - 1 && this.Ig[a + 1].Pn) }; f.prototype.Qs = function() { B(this.tq); B(this.$p); this.Cu(this); B(this.$p) }; f.prototype.Cu = function(a) { var b, c, d, e, h = a.tq, m = a.$p, f = this.Iv.ig(); b = 0; for (c = f.length; b < c; ++b) d = f[b], e = d.zk, !d.P || a === e || -1 < m.indexOf(e) || (m.push(e), e.Cu(a), h.push(e)) }; f.prototype.Zb = function(a) { this.c.eJ || (this.Vq = !0, a || (this.c.gr = !0)); var b, c; b = 0; for (c = this.Ig.length; b < c; b++) { var d = this.Ig[b]; d.Zb(); this.c.lq(d.Aa); this.c.Ng && this.c.Lc() } a || (this.c.gr = !1) }; f.prototype.Lv = function(a, b) { a.Ld || this.c.ip.push(a); var c, d, e = a.ec[b], h; e.type ? h = e.type.name : h = "system"; var m = (c = e.jv) ? this.kv : this.by; m[h] || (m[h] = []); h = m[h]; m = e.Ac; if (c) { if (e.ra.length && (e = e.ra[0], 1 === e.type && 2 === e.Ve.type)) { e = e.Ve.value.toLowerCase(); c = 0; for (d = h.length; c < d; c++) if (h[c].method == m) { c = h[c].ok; c[e] ? c[e].push([a, b]) : c[e] = [ [a, b] ]; return } c = {}; c[e] = [ [a, b] ]; h.push({ method: m, ok: c }) } } else { c = 0; for (d = h.length; c < d; c++) if (h[c].method == m) { h[c].ok.push([a, b]); return } W && m === W.prototype.g.wi ? h.unshift({ method: m, ok: [ [a, b] ] }) : h.push({ method: m, ok: [ [a, b] ] }) } }; Ob = f; b.prototype.Uq = function() { return this.X ? this.type.k.length : this.k.length }; b.prototype.tb = function() { return this.X ? this.type.k : this.k }; b.prototype.ei = function(a) { a && (a.c.zb().Kb.Ld ? (this.X && (B(this.k), Da(this.na, a.type.k), this.X = !1), a = this.na.indexOf(a), -1 !== a && (this.k.push(this.na[a]), this.na.splice(a, 1))) : (this.X = !1, B(this.k), this.k[0] = a)) }; sb = b; window._c2hh_ = "BCB0A626DFD9DBB9668C89A6D85FE2AD12A6FC39"; d.prototype.Ob = function(a) { var b, c = this.parent; if (this.group) for (this.fp = !0; c;) { if (!c.group) { this.fp = !1; break } c = c.parent } this.Js = !this.Tv() && (!this.parent || this.parent.group && this.parent.fp); this.Hv = !!a; this.bh = this.Aa.slice(0); for (c = this.parent; c;) { a = 0; for (b = c.Aa.length; a < b; a++) this.GC(c.Aa[a]); c = c.parent } this.Aa = p(this.Aa); this.bh = p(this.bh); a = 0; for (b = this.ec.length; a < b; a++) this.ec[a].Ob(); a = 0; for (b = this.oe.length; a < b; a++) this.oe[a].Ob(); a = 0; for (b = this.je.length; a < b; a++) this.je[a].Ob(a < b - 1 && this.je[a + 1].Pn) }; d.prototype.Ro = function(a) { if (this.Gh !== !!a) { this.Gh = !!a; var b; a = 0; for (b = this.Pm.length; a < b; ++a) this.Pm[a].hy(); 0 < b && this.c.Ha.Ah && this.c.Ha.Ah.Qs() } }; d.prototype.Du = function(a) { c(a, this.Aa) }; d.prototype.GC = function(a) { c(a, this.bh) }; d.prototype.To = function() { this.zs = !0; this.parent && this.parent.To() }; d.prototype.Tv = function() { return this.ec.length ? this.ec[0].trigger : !1 }; d.prototype.Zb = function() { var a, b, c = !1, d = this.c, e = this.c.zb(); e.Kb = this; var h = this.ec; this.Pn || (e.xq = !1); if (this.Ld) { 0 === h.length && (c = !0); e.Ub = 0; for (a = h.length; e.Ub < a; e.Ub++) b = h[e.Ub], b.trigger || (b = b.Zb()) && (c = !0); (e.Th = c) && this.Ko() } else { e.Ub = 0; for (a = h.length; e.Ub < a; e.Ub++) if (b = h[e.Ub].Zb(), !b) { e.Th = !1; this.Js && d.Ng && d.Lc(); return } e.Th = !0; this.Ko() } this.HD(e) }; d.prototype.HD = function(a) { a.Th && this.Hv && (a.xq = !0); this.Js && this.c.Ng && this.c.Lc() }; d.prototype.EG = function(a) { this.c.zb().Kb = this; this.ec[a].Zb() && (this.Ko(), this.c.zb().Th = !0) }; d.prototype.Ko = function() { var a = this.c.zb(), b; a.od = 0; for (b = this.oe.length; a.od < b; a.od++) if (this.oe[a.od].Zb()) return; this.yx() }; d.prototype.BG = function() { var a = this.c.zb(), b; for (b = this.oe.length; a.od < b; a.od++) if (this.oe[a.od].Zb()) return; this.yx() }; d.prototype.yx = function() { if (this.je.length) { var a, b, c, d, e = this.je.length - 1; this.c.Do(this); if (this.zs) for (a = 0, b = this.je.length; a < b; a++) c = this.je[a], (d = !this.fp || !this.group && a < e) && this.c.Yf(c.Aa), c.Zb(), d ? this.c.ge(c.Aa) : this.c.lq(c.Aa); else for (a = 0, b = this.je.length; a < b; a++) this.je[a].Zb(); this.c.yo() } }; d.prototype.FG = function() { var a = this.c.zb(); a.Kb = this; var b = !1, c; a.Ub = 0; for (c = this.ec.length; a.Ub < c; a.Ub++) if (this.ec[a.Ub].Zb()) b = !0; else if (!this.Ld) return !1; return this.Ld ? b : !0 }; d.prototype.He = function() { this.c.pk++; var a = this.c.zb().Ub, b = this.c.Do(this); if (!this.Ld) for (b.Ub = a + 1, a = this.ec.length; b.Ub < a; b.Ub++) if (!this.ec[b.Ub].Zb()) return this.c.yo(), !1; this.Ko(); this.c.yo(); return !0 }; d.prototype.jF = function(a) { var b = a.index; if (0 === b) return !0; for (--b; 0 <= b; --b) if (this.ec[b].type === a.type) return !1; return !0 }; ic = d; a.prototype.Ob = function() { var a, b, c; a = 0; for (b = this.ra.length; a < b; a++) c = this.ra[a], c.Ob(), c.le && (this.$j = !0) }; a.prototype.HG = function() { return !0 }; a.prototype.ps = function() { var a, b; a = 0; for (b = this.ra.length; a < b; a++) this.Db[a] = this.ra[a].get(); return Va(this.Ac.apply(this.c.nf, this.Db), this.Fn) }; a.prototype.GG = function() { var a, b; a = 0; for (b = this.ra.length; a < b; a++) this.Db[a] = this.ra[a].get(); a = this.Ac.apply(this.qh ? this.qh : this.type, this.Db); this.type.Bd(); return a }; a.prototype.os = function() { var a, b, c, d, e, h, m, f, n = this.type, q = n.V(), g = this.Cd.Ld && !this.trigger; b = 0; var w = n.gc, l = n.Z, u = n.Hf, t = this.ue, p = -1 < t, x = this.$j, A = this.ra, P = this.Db, L = this.Fn, V = this.Ac, K; if (x) for (b = 0, e = A.length; b < e; ++b) h = A[b], h.le || (P[b] = h.get(0)); else for (b = 0, e = A.length; b < e; ++b) P[b] = A[b].get(0); if (q.X) { B(q.k); B(q.na); K = n.k; a = 0; for (d = K.length; a < d; ++a) { f = K[a]; if (x) for (b = 0, e = A.length; b < e; ++b) h = A[b], h.le && (P[b] = h.get(a)); p ? (b = 0, l && (b = f.type.Li[u]), b = V.apply(f.la[t + b], P)) : b = V.apply(f, P); (m = Va(b, L)) ? q.k.push(f): g && q.na.push(f) } n.finish && n.finish(!0); q.X = !1; n.Bd(); return q.Uq() } c = 0; K = (m = g && !this.Cd.jF(this)) ? q.na : q.k; var N = !1; a = 0; for (d = K.length; a < d; ++a) { f = K[a]; if (x) for (b = 0, e = A.length; b < e; ++b) h = A[b], h.le && (P[b] = h.get(a)); p ? (b = 0, l && (b = f.type.Li[u]), b = V.apply(f.la[t + b], P)) : b = V.apply(f, P); if (Va(b, L)) if (N = !0, m) { if (q.k.push(f), w) for (b = 0, e = f.siblings.length; b < e; b++) h = f.siblings[b], h.type.V().k.push(h) } else { K[c] = f; if (w) for (b = 0, e = f.siblings.length; b < e; b++) h = f.siblings[b], h.type.V().k[c] = h; c++ } else if (m) { K[c] = f; if (w) for (b = 0, e = f.siblings.length; b < e; b++) h = f.siblings[b], h.type.V().na[c] = h; c++ } else if (g && (q.na.push(f), w)) for (b = 0, e = f.siblings.length; b < e; b++) h = f.siblings[b], h.type.V().na.push(h) } Ca(K, c); if (w) for (l = n.td, a = 0, d = l.length; a < d; a++) f = l[a].V(), m ? Ca(f.na, c) : Ca(f.k, c); c = N; if (m && !N) for (a = 0, d = q.k.length; a < d; a++) { f = q.k[a]; if (x) for (b = 0, e = A.length; b < e; b++) h = A[b], h.le && (P[b] = h.get(a)); b = p ? V.apply(f.la[t], P) : V.apply(f, P); if (Va(b, L)) { N = !0; break } } n.finish && n.finish(c || g); return g ? N : q.Uq() }; cc = a; n.prototype.Ob = function() { var a, b, c; a = 0; for (b = this.ra.length; a < b; a++) c = this.ra[a], c.Ob(), c.le && (this.$j = !0) }; n.prototype.ps = function() { var a = this.c, b, c, d = this.ra, e = this.Db; b = 0; for (c = d.length; b < c; ++b) e[b] = d[b].get(); return this.Ac.apply(a.nf, e) }; n.prototype.os = function() { var a = this.type, b = this.ue, c = a.Hf, d = this.$j, e = this.ra, h = this.Db, m = this.Ac, f = a.V().tb(), a = a.Z, n = -1 < b, q, g, w, l, u, t; if (d) for (g = 0, l = e.length; g < l; ++g) u = e[g], u.le || (h[g] = u.get(0)); else for (g = 0, l = e.length; g < l; ++g) h[g] = e[g].get(0); q = 0; for (w = f.length; q < w; ++q) { t = f[q]; if (d) for (g = 0, l = e.length; g < l; ++g) u = e[g], u.le && (h[g] = u.get(q)); n ? (g = 0, a && (g = t.type.Li[c]), m.apply(t.la[b + g], h)) : m.apply(t, h) } return !1 }; dc = n; var u = [], w = -1; e.prototype.Ob = function() { var a, b; if (11 === this.type) this.Bh = this.c.Av(this.Wl, this.Cd.parent); else if (13 === this.type) for (a = 0, b = this.li.length; a < b; a++) this.li[a].Ob(); this.Ve && this.Ve.Ob() }; e.prototype.HF = function(a) { this.le || !a || a.W.Vo || (this.le = !0) }; e.prototype.Fx = function() { this.le = !0 }; e.prototype.LE = function(a) { this.eg = a || 0; a = h(); this.Ve.get(a); w--; return a.data }; e.prototype.ME = function(a) { this.eg = a || 0; a = h(); this.Ve.get(a); w--; return ma(a.data) ? a.data : "" }; e.prototype.RE = function() { return this.object }; e.prototype.JE = function() { return this.Uu }; e.prototype.Qq = function(a) { this.eg = a || 0; a = h(); this.Ve.get(a); w--; return a.qc() ? this.c.Qc(a.data) : this.c.ze(a.data) }; e.prototype.QE = function() { return this.jc }; e.prototype.PE = function() { return this.key }; e.prototype.OE = function() { return this.index }; e.prototype.NE = function(a) { a = a || 0; var b = this.fe.type, c = null, c = b.V(), d = c.tb(); if (d.length) c = d[a % d.length].type; else if (c.na.length) c = c.na[a % c.na.length].type; else if (b.k.length) c = b.k[a % b.k.length].type; else return 0; return this.index + c.jn[b.Hf] }; e.prototype.KE = function() { return this.Bh }; e.prototype.IE = function() { return this.ov }; e.prototype.SE = function() { var a, b; a = 0; for (b = this.li.length; a < b; a++) this.Vl[a] = this.li[a].get(); return this.Vl }; ec = e; t.prototype.Ob = function() { this.Aa = p(this.Aa) }; t.prototype.ji = function(a) { var b = this.c.yv(); this.parent && !this.Kk && b ? (this.Zh >= b.length && (b.length = this.Zh + 1), b[this.Zh] = a) : this.data = a }; t.prototype.tk = function() { var a = this.c.yv(); return !this.parent || this.Kk || !a || this.On ? this.data : this.Zh >= a.length || "undefined" === typeof a[this.Zh] ? this.M : a[this.Zh] }; t.prototype.Zb = function() { !this.parent || this.Kk || this.On || this.ji(this.M) }; Zb = t; x.prototype.toString = function() { return "include:" + this.zk.toString() }; x.prototype.Ob = function() { this.zk = this.c.zq[this.aF]; this.sheet.Iv.add(this); this.Aa = p(this.Aa); for (var a = this.parent; a;) a.group && a.Pm.push(this), a = a.parent; this.hy() }; x.prototype.Zb = function() { this.parent && this.c.tl(this.c.R); this.zk.Vq || this.zk.Zb(!0); this.parent && this.c.ge(this.c.R) }; x.prototype.hy = function() { for (var a = this.parent; a;) { if (a.group && !a.Gh) { this.P = !1; return } a = a.parent } this.P = !0 }; jc = x; m.prototype.reset = function(a) { this.Kb = a; this.od = this.Ub = 0; B(this.Qx); this.xq = this.Th = !1 }; m.prototype.Jn = function() { return this.Kb.zs ? !0 : this.Ub < this.Kb.ec.length - 1 ? !!this.Kb.Aa.length : !1 }; Yb = m })(); (function() { function g(b, a) { this.fe = b; this.c = b.c; this.type = a[0]; this.get = [this.ZD, this.VD, this.hE, this.kE, this.KD, this.iE, this.cE, this.SD, this.bE, this.gE, this.LD, this.fE, this.TD, this.dE, this.$D, this.aE, this.WD, this.XD, this.RD, this.jE, this.eE, this.YD, this.QD, this.UD][this.type]; var d = null; this.Uf = this.ra = this.Db = this.Ac = this.bp = this.second = this.first = this.value = null; this.ue = -1; this.Ae = null; this.my = -1; this.Bh = this.Wl = null; this.sj = !1; switch (this.type) { case 0: case 1: case 2: this.value = a[1]; break; case 3: this.first = new hc(b, a[1]); break; case 18: this.first = new hc(b, a[1]); this.second = new hc(b, a[2]); this.bp = new hc(b, a[3]); break; case 19: this.Ac = this.c.mg(a[1]); this.Ac !== Q.prototype.n.random && this.Ac !== Q.prototype.n.Su || this.fe.Fx(); this.Db = []; this.ra = []; 3 === a.length ? (d = a[2], this.Db.length = d.length + 1) : this.Db.length = 1; break; case 20: this.Uf = this.c.R[a[1]]; this.ue = -1; this.Ac = this.c.mg(a[2]); this.sj = a[3]; yc && this.Ac === yc.prototype.n.Zs && this.fe.Fx(); a[4] ? this.Ae = new hc(b, a[4]) : this.Ae = null; this.Db = []; this.ra = []; 6 === a.length ? (d = a[5], this.Db.length = d.length + 1) : this.Db.length = 1; break; case 21: this.Uf = this.c.R[a[1]]; this.sj = a[2]; a[3] ? this.Ae = new hc(b, a[3]) : this.Ae = null; this.my = a[4]; break; case 22: this.Uf = this.c.R[a[1]]; this.Uf.wn(a[2]); this.ue = this.Uf.Hq(a[2]); this.Ac = this.c.mg(a[3]); this.sj = a[4]; a[5] ? this.Ae = new hc(b, a[5]) : this.Ae = null; this.Db = []; this.ra = []; 7 === a.length ? (d = a[6], this.Db.length = d.length + 1) : this.Db.length = 1; break; case 23: this.Wl = a[1], this.Bh = null } this.fe.HF(this.Uf); 4 <= this.type && 17 >= this.type && (this.first = new hc(b, a[1]), this.second = new hc(b, a[2])); if (d) { var h, e; h = 0; for (e = d.length; h < e; h++) this.ra.push(new hc(b, d[h])) } } function l() { ++d; b.length === d && b.push(new fc); return b[d] } function p(b, a, d) { var h, e; h = 0; for (e = b.length; h < e; ++h) b[h].get(d), a[h + 1] = d.data } function f(b, a) { this.type = b || kc.ti; this.data = a || 0; this.bi = null; this.type == kc.ti && (this.data = Math.floor(this.data)) } g.prototype.Ob = function() { 23 === this.type && (this.Bh = this.fe.c.Av(this.Wl, this.fe.Cd.parent)); this.first && this.first.Ob(); this.second && this.second.Ob(); this.bp && this.bp.Ob(); this.Ae && this.Ae.Ob(); if (this.ra) { var b, a; b = 0; for (a = this.ra.length; b < a; b++) this.ra[b].Ob() } }; var b = [], d = -1; g.prototype.jE = function(b) { var a = this.ra, f = this.Db; f[0] = b; b = l(); p(a, f, b); --d; this.Ac.apply(this.c.nf, f) }; g.prototype.eE = function(b) { var a = this.Uf, f = this.Db, h = this.ra, e = this.Ae, g = this.Ac, x = this.fe.eg, m = a.V(), q = m.tb(); if (!q.length) if (m.na.length) q = m.na; else { this.sj ? b.aa("") : b.G(0); return } f[0] = b; b.bi = a; b = l(); p(h, f, b); e && (e.get(b), b.qc() && (x = b.data, q = a.k)); --d; a = q.length; if (x >= a || x <= -a) x %= a; 0 > x && (x += a); g.apply(q[x], f) }; g.prototype.QD = function(b) { var a = this.Uf, f = this.Db, h = this.ra, e = this.Ae, g = this.ue, x = this.Ac, m = this.fe.eg, q = a.V(), u = q.tb(); if (!u.length) if (q.na.length) u = q.na; else { this.sj ? b.aa("") : b.G(0); return } f[0] = b; b.bi = a; b = l(); p(h, f, b); e && (e.get(b), b.qc() && (m = b.data, u = a.k)); --d; h = u.length; if (m >= h || m <= -h) m %= h; 0 > m && (m += h); m = u[m]; u = 0; a.Z && (u = m.type.Li[a.Hf]); x.apply(m.la[g + u], f) }; g.prototype.YD = function(b) { var a = this.Ae, f = this.Uf, h = this.my, e = this.fe.eg, g = f.V(), p = g.tb(); if (!p.length) if (g.na.length) p = g.na; else { this.sj ? b.aa("") : b.G(0); return } if (a) { g = l(); a.get(g); if (g.qc()) { e = g.data; p = f.k; 0 !== p.length && (e %= p.length, 0 > e && (e += p.length)); e = f.Mq(e); f = e.Lb[h]; ma(f) ? b.aa(f) : b.C(f); --d; return }--d } a = p.length; if (e >= a || e <= -a) e %= a; 0 > e && (e += a); e = p[e]; p = 0; f.Z && (p = e.type.jn[f.Hf]); f = e.Lb[h + p]; ma(f) ? b.aa(f) : b.C(f) }; g.prototype.ZD = function(b) { b.type = kc.ti; b.data = this.value }; g.prototype.VD = function(b) { b.type = kc.si; b.data = this.value }; g.prototype.hE = function(b) { b.type = kc.String; b.data = this.value }; g.prototype.kE = function(b) { this.first.get(b); b.qc() && (b.data = -b.data) }; g.prototype.KD = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.qc() && a.qc() && (b.data += a.data, a.Vi() && b.dj()); --d }; g.prototype.iE = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.qc() && a.qc() && (b.data -= a.data, a.Vi() && b.dj()); --d }; g.prototype.cE = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.qc() && a.qc() && (b.data *= a.data, a.Vi() && b.dj()); --d }; g.prototype.SD = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.qc() && a.qc() && (b.data /= a.data, b.dj()); --d }; g.prototype.bE = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.qc() && a.qc() && (b.data %= a.data, a.Vi() && b.dj()); --d }; g.prototype.gE = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.qc() && a.qc() && (b.data = Math.pow(b.data, a.data), a.Vi() && b.dj()); --d }; g.prototype.LD = function(b) { this.first.get(b); var a = l(); this.second.get(a); a.Yi() || b.Yi() ? this.ND(b, a) : this.MD(b, a); --d }; g.prototype.ND = function(b, a) { b.Yi() && a.Yi() ? this.PD(b, a) : this.OD(b, a) }; g.prototype.PD = function(b, a) { b.data += a.data }; g.prototype.OD = function(b, a) { b.Yi() ? b.data += (Math.round(1E10 * a.data) / 1E10).toString() : b.aa(b.data.toString() + a.data) }; g.prototype.MD = function(b, a) { b.G(b.data && a.data ? 1 : 0) }; g.prototype.fE = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.qc() && a.qc() && (b.data || a.data ? b.G(1) : b.G(0)); --d }; g.prototype.RD = function(b) { this.first.get(b); b.data ? this.second.get(b) : this.bp.get(b) }; g.prototype.TD = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.G(b.data === a.data ? 1 : 0); --d }; g.prototype.dE = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.G(b.data !== a.data ? 1 : 0); --d }; g.prototype.$D = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.G(b.data < a.data ? 1 : 0); --d }; g.prototype.aE = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.G(b.data <= a.data ? 1 : 0); --d }; g.prototype.WD = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.G(b.data > a.data ? 1 : 0); --d }; g.prototype.XD = function(b) { this.first.get(b); var a = l(); this.second.get(a); b.G(b.data >= a.data ? 1 : 0); --d }; g.prototype.UD = function(b) { var a = this.Bh.tk(); ja(a) ? b.C(a) : b.aa(a) }; hc = g; f.prototype.Vi = function() { return this.type === kc.si }; f.prototype.qc = function() { return this.type === kc.ti || this.type === kc.si }; f.prototype.Yi = function() { return this.type === kc.String }; f.prototype.dj = function() { this.Vi() || (this.Yi() && (this.data = parseFloat(this.data)), this.type = kc.si) }; f.prototype.G = function(b) { this.type = kc.ti; this.data = Math.floor(b) }; f.prototype.C = function(b) { this.type = kc.si; this.data = b }; f.prototype.aa = function(b) { this.type = kc.String; this.data = b }; f.prototype.Nd = function(b) { ja(b) ? (this.type = kc.si, this.data = b) : ma(b) ? (this.type = kc.String, this.data = b.toString()) : (this.type = kc.ti, this.data = 0) }; fc = f; kc = { ti: 0, si: 1, String: 2 } })(); function Q(g) { this.c = g; this.nd = [] } Q.prototype.$a = function() { var g = {}, l, p, f, b, d, c, a, n; g.waits = []; var h = g.waits, e; l = 0; for (p = this.nd.length; l < p; l++) { c = this.nd[l]; e = { t: c.time, st: c.Mx, s: c.ys, ev: c.Ji.Ia, sm: [], sols: {} }; c.Ji.oe[c.od] && (e.act = c.Ji.oe[c.od].Ia); f = 0; for (b = c.Aa.length; f < b; f++) e.sm.push(c.Aa[f].Ia); for (d in c.$c) if (c.$c.hasOwnProperty(d)) { a = this.c.R[parseInt(d, 10)]; n = { sa: c.$c[d].Lo, insts: [] }; f = 0; for (b = c.$c[d].Mf.length; f < b; f++) n.insts.push(c.$c[d].Mf[f].uid); e.sols[a.Ia.toString()] = n } h.push(e) } return g }; Q.prototype.lb = function(g) { g = g.waits; var l, p, f, b, d, c, a, n, h, e, t; B(this.nd); l = 0; for (p = g.length; l < p; l++) if (c = g[l], n = this.c.Mu[c.ev.toString()]) { h = -1; f = 0; for (b = n.oe.length; f < b; f++) if (n.oe[f].Ia === c.act) { h = f; break } if (-1 !== h) { a = { $c: {}, Aa: [], uq: !1 }; a.time = c.t; a.Mx = c.st || ""; a.ys = !!c.s; a.Ji = n; a.od = h; f = 0; for (b = c.sm.length; f < b; f++)(n = this.c.zn(c.sm[f])) && a.Aa.push(n); for (d in c.sols) if (c.sols.hasOwnProperty(d) && (n = this.c.zn(parseInt(d, 10)))) { h = c.sols[d]; e = { Lo: h.sa, Mf: [] }; f = 0; for (b = h.insts.length; f < b; f++)(t = this.c.Lg(h.insts[f])) && e.Mf.push(t); a.$c[n.index.toString()] = e } this.nd.push(a) } } }; (function() { function g() {} function l(a, b) { var c = a.Da.c2_feo_val, d = b.Da.c2_feo_val; if (ja(c) && ja(d)) return c - d; c = "" + c; d = "" + d; return c < d ? -1 : c > d ? 1 : 0 } function p(a, b) { h && a === e && b === t || (h = new RegExp(a, b), e = a, t = b); h.lastIndex = 0; return h } function f() {} function b() {} function d(a, b, c) { if (a !== u || b !== w || c !== v) { var d = p(b, c); q = a.match(d); u = a; w = b; v = c } } var c = Q.prototype; g.prototype.mz = function() { return !0 }; g.prototype.Kt = function() { return !0 }; g.prototype.AA = function() { return !0 }; g.prototype.Ty = function(a, b, c) { return lc(a, b, c) }; g.prototype.dC = function() { var a = this.c.zb(), b = a.Kb, c = a.Jn(), a = this.c.Eo(); if (c) for (c = 0; !a.Ya; c++) this.c.Yf(b.Aa), a.index = c, b.He() || (a.Ya = !0), this.c.ge(b.Aa); else for (c = 0; !a.Ya; c++) a.index = c, b.He() || (a.Ya = !0); this.c.zo(); return !1 }; g.prototype.qz = function(a, b, c) { var d = this.c.zb(), e = d.Kb, d = d.Jn(); a = this.c.Eo(a); if (c < b) if (d) for (; b >= c && !a.Ya; --b) this.c.Yf(e.Aa), a.index = b, e.He(), this.c.ge(e.Aa); else for (; b >= c && !a.Ya; --b) a.index = b, e.He(); else if (d) for (; b <= c && !a.Ya; ++b) this.c.Yf(e.Aa), a.index = b, e.He(), this.c.ge(e.Aa); else for (; b <= c && !a.Ya; ++b) a.index = b, e.He(); this.c.zo(); return !1 }; var a = [], n = -1; g.prototype.rz = function(b) { var c = b.V(); n++; a.length === n && a.push([]); var d = a[n]; Da(d, c.tb()); var e = this.c.zb(), h = e.Kb, m = e.Jn(), e = this.c.Eo(), f, g, q, w, l, u, t = b.gc; if (m) for (m = 0, f = d.length; m < f && !e.Ya; m++) { this.c.Yf(h.Aa); w = d[m]; c = b.V(); c.X = !1; B(c.k); c.k[0] = w; if (t) for (g = 0, q = w.siblings.length; g < q; g++) l = w.siblings[g], u = l.type.V(), u.X = !1, B(u.k), u.k[0] = l; e.index = m; h.He(); this.c.ge(h.Aa) } else for (c.X = !1, B(c.k), m = 0, f = d.length; m < f && !e.Ya; m++) { w = d[m]; c.k[0] = w; if (t) for (g = 0, q = w.siblings.length; g < q; g++) l = w.siblings[g], u = l.type.V(), u.X = !1, B(u.k), u.k[0] = l; e.index = m; h.He() } B(d); this.c.zo(); n--; return !1 }; g.prototype.sz = function(b, c, d) { c = b.V(); n++; a.length === n && a.push([]); var e = a[n]; Da(e, c.tb()); var h = this.c.zb(), m = h.Kb, f = this.c.Eh(), g = h.Jn(), h = this.c.Eo(), q, w, u, t, v; q = 0; for (w = e.length; q < w; q++) e[q].Da.c2_feo_val = f.ra[1].get(q); e.sort(l); 1 === d && e.reverse(); d = b.gc; if (g) for (q = 0, w = e.length; q < w && !h.Ya; q++) { this.c.Yf(m.Aa); u = e[q]; c = b.V(); c.X = !1; B(c.k); c.k[0] = u; if (d) for (f = 0, g = u.siblings.length; f < g; f++) t = u.siblings[f], v = t.type.V(), v.X = !1, B(v.k), v.k[0] = t; h.index = q; m.He(); this.c.ge(m.Aa) } else for (c.X = !1, B(c.k), q = 0, w = e.length; q < w && !h.Ya; q++) { u = e[q]; c.k[0] = u; if (d) for (f = 0, g = u.siblings.length; f < g; f++) t = u.siblings[f], v = t.type.V(), v.X = !1, B(v.k), v.k[0] = t; h.index = q; m.He() } B(e); this.c.zo(); n--; return !1 }; g.prototype.SA = function(b, c, d, e) { var h, m, f, g; if (b) { n++; a.length === n && a.push([]); var q = a[n], w = b.V(); Da(q, w.tb()); w.X && B(w.na); var l = this.c.Eh(); f = h = 0; for (m = q.length; h < m; h++) g = q[h], q[f] = g, c = l.ra[1].get(h), e = l.ra[3].get(h), lc(c, d, e) ? f++ : w.na.push(g); Ca(q, f); w.X = !1; Da(w.k, q); B(q); n--; b.Bd(); return !!w.k.length } }; g.prototype.TA = function(b, c) { var d, e, h, m; if (b) { n++; a.length === n && a.push([]); var f = a[n], q = b.V(); Da(f, q.tb()); q.X && B(q.na); var g = this.c.Eh(); h = d = 0; for (e = f.length; d < e; d++) m = f[d], f[h] = m, (c = g.ra[1].get(d)) ? h++ : q.na.push(m); Ca(f, h); q.X = !1; Da(q.k, f); B(f); n--; b.Bd(); return !!q.k.length } }; g.prototype.$B = function() { var a = this.c.Eh().Da; "undefined" === typeof a.TriggerOnce_lastTick && (a.TriggerOnce_lastTick = -1); var b = a.TriggerOnce_lastTick, c = this.c.ni; a.TriggerOnce_lastTick = c; return this.c.ur || b !== c - 1 }; g.prototype.lz = function(a) { var b = this.c.Eh(), c = b.Da.Every_lastTime || 0, d = this.c.hc.ta; "undefined" === typeof b.Da.Every_seconds && (b.Da.Every_seconds = a); var e = b.Da.Every_seconds; if (d >= c + e) return b.Da.Every_lastTime = c + e, d >= b.Da.Every_lastTime + .04 && (b.Da.Every_lastTime = d), b.Da.Every_seconds = a, !0; d < c - .1 && (b.Da.Every_lastTime = d); return !1 }; g.prototype.Zy = function(a, b, c) { return lc(a.tk(), b, c) }; g.prototype.Kz = function(a) { return (a = this.c.Oi[a.toLowerCase()]) && a.Gh }; g.prototype.Tz = function() { return "undefined" !== typeof cr_is_preview }; g.prototype.RA = function(a) { if (!a || !a.k.length) return !1; a.V().X = !0; a.Bd(); return !0 }; g.prototype.Lz = function() { return this.c.Pg }; g.prototype.kt = function() { var a = this.c.zb(); return a.xq ? !1 : !a.Th }; g.prototype.Cp = function() { return !0 }; g.prototype.rA = function() { return !0 }; g.prototype.Dp = function() { return !0 }; g.prototype.Ut = function() { return !0 }; g.prototype.BA = function() { return !0 }; g.prototype.lm = function() { return !0 }; g.prototype.jA = function(a) { return !!this.c.Lg(a) }; g.prototype.Oz = function(a) { var b = this.c; switch (a) { case 0: return !b.kb && !b.Rv && !b.Uc && !b.Mn && !b.Ze && !b.br && !b.Gn; case 1: return b.Ph; case 2: return b.Ck; case 3: return b.jr; case 4: return b.Ze; case 5: return b.br; case 6: return b.ir; case 7: return b.vd; case 8: return b.Uc; case 9: return b.gF; case 10: return b.Rv; case 11: return b.Dk; case 12: return b.Gn; case 13: return b.Nn; default: return !1 } }; var h = null, e = "", t = ""; g.prototype.Nz = function(a) { return !!isNaN(a) }; g.prototype.xy = function(a, b, c) { return Pa(D(a), D(c)) <= D(b) }; g.prototype.Jz = function(a, b) { return Ra(D(a), D(b)) }; g.prototype.Iz = function(a, b, c) { a = Na(a); b = Na(b); c = Na(c); return Ra(c, b) ? Ra(a, b) && !Ra(a, c) : !(!Ra(a, b) && Ra(a, c)) }; c.g = new g; f.prototype.cz = function(a, b, c, d) { if (b && a && (b = this.c.Sm(a, b, c, d))) { this.c.Id++; var e; this.c.trigger(Object.getPrototypeOf(a.W).g.jh, b); if (b.gc) for (c = 0, d = b.siblings.length; c < d; c++) e = b.siblings[c], this.c.trigger(Object.getPrototypeOf(e.type.W).g.jh, e); this.c.Id--; a = a.V(); a.X = !1; B(a.k); a.k[0] = b; if (b.gc) for (c = 0, d = b.siblings.length; c < d; c++) e = b.siblings[c], a = e.type.V(), a.X = !1, B(a.k), a.k[0] = e } }; f.prototype.pB = function(a) { this.c.Ha.zl(a) }; f.prototype.qB = function(a) { this.c.Ha.Al(a) }; f.prototype.oB = function(a, b) { this.c.Ha.zl(a); this.c.Ha.Al(b) }; f.prototype.LB = function(a, b) { 0 === a.np ? ja(b) ? a.ji(b) : a.ji(parseFloat(b)) : 1 === a.np && a.ji(b.toString()) }; f.prototype.wy = function(a, b) { 0 === a.np ? ja(b) ? a.ji(a.tk() + b) : a.ji(a.tk() + parseFloat(b)) : 1 === a.np && a.ji(a.tk() + b.toString()) }; f.prototype.wB = function(a, b) { var c = this.c.Oi[a.toLowerCase()]; if (c) switch (b) { case 0: c.Ro(!1); break; case 1: c.Ro(!0); break; case 2: c.Ro(!c.Gh) } }; f.prototype.JB = function(a) { 0 > a && (a = 0); this.c.qf = a }; f.prototype.EB = function(a, b) { var c = b; 0 > c && (c = 0); if (a) { var d = a.V().tb(), e, h; e = 0; for (h = d.length; e < h; e++) d[e].df = c } }; var x = [], m = []; f.prototype.cC = function(a) { if (!(0 > a)) { var b, c, d, e = this.c.zb(), h; x.length ? h = x.pop() : h = { $c: {}, Aa: [] }; h.uq = !1; h.time = this.c.hc.ta + a; h.Mx = ""; h.ys = !1; h.Ji = e.Kb; h.od = e.od + 1; a = 0; for (b = this.c.R.length; a < b; a++) d = this.c.R[a], c = d.V(), c.X && -1 === e.Kb.Aa.indexOf(d) || (h.Aa.push(d), d = void 0, m.length ? d = m.pop() : d = { Mf: [] }, d.Lo = !1, d.Lo = c.X, Da(d.Mf, c.k), h.$c[a.toString()] = d); this.nd.push(h); return !0 } }; f.prototype.BB = function(a, b) { a && a.scale !== b && (a.scale = b, this.c.H = !0) }; f.prototype.iB = function() { var a, b, c; a = 0; for (b = this.c.Zp.length; a < b; a++) c = this.c.Zp[a], c.data = c.M }; f.prototype.QB = function() { 0 > this.c.cj || (this.c.Jq().Ya = !0) }; f.prototype.Cz = function(a) { if (!this.c.Lk && !this.c.gk) for (var b in this.c.aj) if (this.c.aj.hasOwnProperty(b) && ob(b, a)) { this.c.gk = this.c.aj[b]; break } }; f.prototype.sB = function(a, b) { if (!(0 >= a || 0 >= b)) { var c = this.c.Pc; (document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement || document.fullScreen || this.c.Si) && 0 < this.c.Kf && (c = this.c.Kf); 0 === c ? this.c.setSize(a, b, !0) : (this.c.Nb = a, this.c.Mb = b, this.c.setSize(this.c.Sh, this.c.Rh, !0)) } }; f.prototype.DB = function(a) { 1 > a && (a = 1); 120 < a && (a = 120); this.c.Gr = a }; c.j = new f; b.prototype["int"] = function(a, b) { ma(b) ? (a.G(parseInt(b, 10)), isNaN(a.data) && (a.data = 0)) : a.G(b) }; b.prototype["float"] = function(a, b) { ma(b) ? (a.C(parseFloat(b)), isNaN(a.data) && (a.data = 0)) : a.C(b) }; b.prototype.yF = function(a, b) { a.G(b.length || 0) }; b.prototype.random = function(a, b, c) { void 0 === c ? a.C(Math.random() * b) : a.C(Math.random() * (c - b) + b) }; b.prototype.sqrt = function(a, b) { a.C(Math.sqrt(b)) }; b.prototype.abs = function(a, b) { a.C(Math.abs(b)) }; b.prototype.round = function(a, b) { a.G(Math.round(b)) }; b.prototype.floor = function(a, b) { a.G(Math.floor(b)) }; b.prototype.ceil = function(a, b) { a.G(Math.ceil(b)) }; b.prototype.sin = function(a, b) { a.C(Math.sin(D(b))) }; b.prototype.cos = function(a, b) { a.C(Math.cos(D(b))) }; b.prototype.tan = function(a, b) { a.C(Math.tan(D(b))) }; b.prototype.asin = function(a, b) { a.C(Ja(Math.asin(b))) }; b.prototype.acos = function(a, b) { a.C(Ja(Math.acos(b))) }; b.prototype.atan = function(a, b) { a.C(Ja(Math.atan(b))) }; b.prototype.exp = function(a, b) { a.C(Math.exp(b)) }; b.prototype.log10 = function(a, b) { a.C(Math.log(b) / Math.LN10) }; b.prototype.max = function(a) { var b = arguments[1]; "number" !== typeof b && (b = 0); var c, d, e; c = 2; for (d = arguments.length; c < d; c++) e = arguments[c], "number" === typeof e && b < e && (b = e); a.C(b) }; b.prototype.min = function(a) { var b = arguments[1]; "number" !== typeof b && (b = 0); var c, d, e; c = 2; for (d = arguments.length; c < d; c++) e = arguments[c], "number" === typeof e && b > e && (b = e); a.C(b) }; b.prototype.Hg = function(a) { a.C(this.c.Hg) }; b.prototype.qf = function(a) { a.C(this.c.qf) }; b.prototype.time = function(a) { a.C(this.c.hc.ta) }; b.prototype.ni = function(a) { a.G(this.c.ni) }; b.prototype.fl = function(a) { a.G(this.c.fl) }; b.prototype.sn = function(a) { a.G(this.c.sn) }; b.prototype.DF = function(a, b) { var c, d; if (this.c.Zk.length) if (b) { for (d = this.c.cj; 0 <= d; --d) if (c = this.c.Zk[d], c.name === b) { a.G(c.index); return } a.G(0) } else c = this.c.Jq(), a.G(c ? c.index : -1); else a.G(0) }; b.prototype.fD = function(a, b, c, d, e) { a.C(Ta(b, c, d, e)) }; b.prototype.q = function(a, b, c, d, e) { a.C(Ja(Oa(b, c, d, e))) }; b.prototype.KG = function(a) { a.C(this.c.Ha.scrollY) }; b.prototype.LF = function(a) { a.aa("\n") }; b.prototype.zF = function(a, b, c, d) { a.C(Wa(b, c, d)) }; b.prototype.EF = function(a, b) { a.aa(ma(b) ? b.toLowerCase() : "") }; b.prototype.SC = function(a, b, c, d) { b < c ? a.C(c) : b > d ? a.C(d) : a.C(b) }; b.prototype.wF = function(a, b) { var c = this.c.AE(b); c ? a.C(c.scale) : a.C(0) }; b.prototype.find = function(a, b, c) { ma(b) && ma(c) ? a.G(b.search(new RegExp(hb(c), "i"))) : a.G(-1) }; b.prototype.left = function(a, b, c) { a.aa(ma(b) ? b.substr(0, c) : "") }; b.prototype.right = function(a, b, c) { a.aa(ma(b) ? b.substr(b.length - c) : "") }; b.prototype.$G = function(a, b, c, d) { ma(b) && ma(d) ? (b = b.split(d), c = ua(c), 0 > c || c >= b.length ? a.aa("") : a.aa(b[c])) : a.aa("") }; b.prototype.aH = function(a, b, c) { ma(b) && b.length ? a.G(b.split(c).length) : a.G(0) }; b.prototype.replace = function(a, b, c, d) { ma(b) && ma(c) && ma(d) ? a.aa(b.replace(new RegExp(hb(c), "gi"), d)) : a.aa(ma(b) ? b : "") }; b.prototype.trim = function(a, b) { a.aa(ma(b) ? b.trim() : "") }; b.prototype.YF = function(a) { a.C(ta) }; b.prototype.xF = function(a) { this.c.Ha ? a.aa(this.c.Ha.name) : a.aa("") }; b.prototype.wG = function(a) { a.aa(this.c.S ? "webgl" : "canvas2d") }; b.prototype.Su = function(a) { var b = ua(Math.random() * (arguments.length - 1)); a.Nd(arguments[b + 1]) }; b.prototype.lG = function(a) { a.aa(this.c.kG) }; b.prototype.oq = function(a) { a.C(this.c.oq / 1E3) }; b.prototype.Wh = function(a) { a.C(this.c.Wh) }; b.prototype.cH = function(a, b, c, d) { a.C(Xa(b, c, d)) }; b.prototype.tG = function(a, b, c, d) { c = p(c, d); a.G(b ? b.search(c) : -1) }; b.prototype.sG = function(a, b, c, d, e) { c = p(c, d); a.aa(b ? b.replace(c, e) : "") }; var q = [], u = "", w = "", v = ""; b.prototype.rG = function(a, b, c, e) { p(c, e); d(b, c, e); a.G(q ? q.length : 0) }; b.prototype.qG = function(a, b, c, e, h) { h = Math.floor(h); p(c, e); d(b, c, e); !q || 0 > h || h >= q.length ? a.aa("") : a.aa(q[h]) }; c.n = new b; c.DG = function() { var a, b, c, d, e, h, f = this.c.zb(); a = 0; for (c = this.nd.length; a < c; a++) { d = this.nd[a]; if (-1 === d.time) { if (!d.ys) continue } else if (d.time > this.c.hc.ta) continue; f.Kb = d.Ji; f.od = d.od; f.Ub = 0; for (b in d.$c) d.$c.hasOwnProperty(b) && (e = this.c.R[parseInt(b, 10)].V(), h = d.$c[b], e.X = h.Lo, Da(e.k, h.Mf), e = h, B(e.Mf), m.push(e)); d.Ji.BG(); this.c.lq(d.Aa); d.uq = !0 } b = a = 0; for (c = this.nd.length; a < c; a++) d = this.nd[a], this.nd[b] = d, d.uq ? (Za(d.$c), B(d.Aa), x.push(d)) : b++; Ca(this.nd, b) } })(); (function() { rb = function(g, p) { var f = g[1], b = g[3], d = g[4], c = g[5], a = g[6], n = g[7], h = g[8]; p.g || (p.g = {}); p.j || (p.j = {}); p.n || (p.n = {}); var e = p.g, t = p.j, x = p.n; b && (e.et = function(a, b) { return lc(this.x, a, b) }, e.ft = function(a, b) { return lc(this.y, a, b) }, e.KH = function() { var a = this.F; this.jb(); var b = this.Tb; return !(b.right < a.Wa || b.bottom < a.Xa || b.left > a.bb || b.top > a.ab) }, e.LH = function() { this.jb(); var a = this.Tb, b = this.c.Ha; return 0 > a.right || 0 > a.bottom || a.left > b.width || a.top > b.height }, e.UA = function(a, b, c) { var d = this.V(), e = d.tb(); if (!e.length) return !1; var h = e[0], f = h, n = Ta(h.x, h.y, b, c), g, l, t; g = 1; for (l = e.length; g < l; g++) if (h = e[g], t = Ta(h.x, h.y, b, c), 0 === a && t < n || 1 === a && t > n) n = t, f = h; d.ei(f); return !0 }, t.Pj = function(a) { this.x !== a && (this.x = a, this.ca()) }, t.Pp = function(a) { this.y !== a && (this.y = a, this.ca()) }, t.rm = function(a, b) { if (this.x !== a || this.y !== b) this.x = a, this.y = b, this.ca() }, t.lI = function(a, b) { var c = a.CE(this); if (c) { var d; c.Lf ? (d = c.Lf(b, !0), c = c.Lf(b, !1)) : (d = c.x, c = c.y); if (this.x !== d || this.y !== c) this.x = d, this.y = c, this.ca() } }, t.PH = function(a) { 0 !== a && (this.x += Math.cos(this.q) * a, this.y += Math.sin(this.q) * a, this.ca()) }, t.OH = function(a, b) { 0 !== b && (this.x += Math.cos(D(a)) * b, this.y += Math.sin(D(a)) * b, this.ca()) }, x.kh = function(a) { a.C(this.x) }, x.mh = function(a) { a.C(this.y) }, x.Hg = function(a) { a.C(this.c.Fh(this)) }); d && (e.xH = function(a, b) { return lc(this.width, a, b) }, e.wH = function(a, b) { return lc(this.height, a, b) }, t.iu = function(a) { this.width !== a && (this.width = a, this.ca()) }, t.yB = function(a) { this.height !== a && (this.height = a, this.ca()) }, t.Oj = function(a, b) { if (this.width !== a || this.height !== b) this.width = a, this.height = b, this.ca() }, x.yi = function(a) { a.C(this.width) }, x.fm = function(a) { a.C(this.height) }, x.rH = function(a) { this.jb(); a.C(this.Tb.left) }, x.tH = function(a) { this.jb(); a.C(this.Tb.top) }, x.sH = function(a) { this.jb(); a.C(this.Tb.right) }, x.Cy = function(a) { this.jb(); a.C(this.Tb.bottom) }); c && (e.xy = function(a, b) { return Pa(this.q, D(b)) <= D(a) }, e.Jz = function(a) { return Ra(this.q, D(a)) }, e.Iz = function(a, b) { var c = Na(a), d = Na(b), e = La(this.q); return Ra(d, c) ? Ra(e, c) && !Ra(e, d) : !(!Ra(e, c) && Ra(e, d)) }, t.rB = function(a) { a = D(Ka(a)); isNaN(a) || this.q === a || (this.q = a, this.ca()) }, t.aI = function(a) { 0 === a || isNaN(a) || (this.q += D(a), this.q = La(this.q), this.ca()) }, t.bI = function(a) { 0 === a || isNaN(a) || (this.q -= D(a), this.q = La(this.q), this.ca()) }, t.cI = function(a, b) { var c = Qa(this.q, D(b), D(a)); isNaN(c) || this.q === c || (this.q = c, this.ca()) }, t.dI = function(a, b, c) { a = Qa(this.q, Math.atan2(c - this.y, b - this.x), D(a)); isNaN(a) || this.q === a || (this.q = a, this.ca()) }, t.pI = function(a, b) { var c = Math.atan2(b - this.y, a - this.x); isNaN(c) || this.q === c || (this.q = c, this.ca()) }, x.qH = function(a) { a.C(Ma(this.q)) }); f || (e.em = function(a, b, c) { return lc(this.Lb[a], b, c) }, e.IH = function(a) { return this.Lb[a] }, e.VA = function(a, b) { var c = this.V(), d = c.tb(); if (!d.length) return !1; var e = d[0], h = e, f = e.Lb[b], n, g, l; n = 1; for (g = d.length; n < g; n++) if (e = d[n], l = e.Lb[b], 0 === a && l < f || 1 === a && l > f) f = l, h = e; c.ei(h); return !0 }, e.Ip = function(a) { var b, c, d, e, h; if (this.c.Eh().Fn) { h = this.V(); if (h.X) for (h.X = !1, B(h.k), B(h.na), d = this.k, b = 0, c = d.length; b < c; b++) e = d[b], e.uid === a ? h.na.push(e) : h.k.push(e); else { d = b = 0; for (c = h.k.length; b < c; b++) e = h.k[b], h.k[d] = e, e.uid === a ? h.na.push(e) : d++; Ca(h.k, d) } this.Bd(); return !!h.k.length } e = this.c.Lg(a); if (!e) return !1; h = this.V(); if (!h.X && -1 === h.k.indexOf(e)) return !1; if (this.Z) for (a = e.type.sb, b = 0, c = a.length; b < c; b++) { if (a[b] === this) return h.ei(e), this.Bd(), !0 } else if (e.type === this) return h.ei(e), this.Bd(), !0; return !1 }, e.jh = function() { return !0 }, e.Dt = function() { return !0 }, t.qm = function(a, b) { var c = this.Lb; ja(c[a]) ? c[a] = ja(b) ? b : parseFloat(b) : ma(c[a]) && (c[a] = ma(b) ? b : b.toString()) }, t.ty = function(a, b) { var c = this.Lb; ja(c[a]) ? c[a] = ja(b) ? c[a] + b : c[a] + parseFloat(b) : ma(c[a]) && (c[a] = ma(b) ? c[a] + b : c[a] + b.toString()) }, t.TB = function(a, b) { var c = this.Lb; ja(c[a]) && (c[a] = ja(b) ? c[a] - b : c[a] - parseFloat(b)) }, t.eI = function(a, b) { this.Lb[a] = b ? 1 : 0 }, t.vI = function(a) { this.Lb[a] = 1 - this.Lb[a] }, t.Ij = function() { this.c.ne(this) }, t.gm || (t.gm = function(a) { var b, c; try { b = JSON.parse(a) } catch (d) { return } this.c.Wn(this, b, !0); this.pe && this.pe(); if (this.la) for (a = 0, b = this.la.length; a < b; ++a) c = this.la[a], c.pe && c.pe() }), x.bz = function(a) { var b = a.bi.k.length, c, d, e; c = 0; for (d = this.c.ve.length; c < d; c++) e = this.c.ve[c], a.bi.Z ? 0 <= e.type.sb.indexOf(a.bi) && b++ : e.type === a.bi && b++; a.G(b) }, x.WH = function(a) { a.G(a.bi.V().tb().length) }, x.Rp = function(a) { a.G(this.uid) }, x.GH = function(a) { a.G(this.uk()) }, x.tf || (x.tf = function(a) { a.aa(JSON.stringify(this.c.qs(this, !0))) })); a && (e.Wz = function() { return this.visible }, t.tm = function(a) { !a !== !this.visible && (this.visible = !!a, this.c.H = !0) }, e.Vy = function(a, b) { return lc(nb(100 * this.opacity), a, b) }, t.Lp = function(a) { a = a / 100; 0 > a ? a = 0 : 1 < a && (a = 1); a !== this.opacity && (this.opacity = a, this.c.H = !0) }, x.Opacity = function(a) { a.C(nb(100 * this.opacity)) }); n && (e.JH = function(a) { return a ? this.F === a : !1 }, e.VH = function(a) { var b = this.V(), c = b.tb(); if (!c.length) return !1; var d = c[0], e = d, h, f; h = 1; for (f = c.length; h < f; h++) if (d = c[h], 0 === a) { if (d.F.index > e.F.index || d.F.index === e.F.index && d.Xe() > e.Xe()) e = d } else if (d.F.index < e.F.index || d.F.index === e.F.index && d.Xe() < e.Xe()) e = d; b.ei(e); return !0 }, t.zp = function() { var a = this.F, b = a.k; b.length && b[b.length - 1] === this || (a.rj(this, !1), a.bk(this, !1), this.c.H = !0) }, t.iA = function() { var a = this.F, b = a.k; b.length && b[0] === this || (a.rj(this, !1), a.gG(this), this.c.H = !0) }, t.QH = function(a) { a && a != this.F && (this.F.rj(this, !0), this.F = a, a.bk(this, !0), this.c.H = !0) }, t.qu = function(a, b) { var c = 0 === a; if (b) { var d = b.xn(this); d && d.uid !== this.uid && (this.F.index !== d.F.index && (this.F.rj(this, !0), this.F = d.F, d.F.bk(this, !0)), this.F.JF(this, d, c), this.c.H = !0) } }, x.NH = function(a) { a.G(this.F.Gw) }, x.MH = function(a) { a.aa(this.F.name) }, x.Sp = function(a) { a.G(this.Xe()) }); h && (t.gI = function(a, b) { if (this.c.J) { var c = this.type.Lq(b); if (!(0 > c)) { var d = 1 === a; this.rg[c] !== d && (this.rg[c] = d, this.Le(), this.c.H = !0) } } }, t.hI = function(a, b, c) { if (this.c.J) { var d = this.type.Lq(a); 0 > d || (a = this.type.wa[d], d = this.yb[d], b = Math.floor(b), 0 > b || b >= d.length || (1 === this.c.J.GE(a.$b, b) && (c /= 100), d[b] !== c && (d[b] = c, a.P && (this.c.H = !0)))) } }) }; Qb = function() { this.hq = this.bq = !0; this.type.Cm = !0; this.c.H = !0; var g, p, f = this.cq; g = 0; for (p = f.length; g < p; ++g) f[g](this); this.F.Qd && this.jb() }; Rb = function(g) { g && this.cq.push(g) }; Tb = function() { if (this.bq) { var g = this.Tb, p = this.Nc; g.set(this.x, this.y, this.x + this.width, this.y + this.height); g.offset(-this.Ab * this.width, -this.Bb * this.height); this.q ? (g.offset(-this.x, -this.y), p.Hx(g, this.q), p.offset(this.x, this.y), p.Nu(g)) : p.Fl(g); g.normalize(); this.bq = !1; this.gH() } }; var g = new xa(0, 0, 0, 0); Ub = function() { if (this.F.Qd) { var l = this.F.Jc, p = this.Tb; g.set(l.cd(p.left), l.dd(p.top), l.cd(p.right), l.dd(p.bottom)); this.kd.nk(g) || (this.kd.right < this.kd.left ? l.update(this, null, g) : l.update(this, this.kd, g), this.kd.Di(g), this.F.Ge = !0) } }; Vb = function() { if (this.hq && this.Vd) { this.jb(); var l = this.type.ik, p = this.Tb; g.set(l.cd(p.left), l.dd(p.top), l.cd(p.right), l.dd(p.bottom)); this.Ud.nk(g) || (this.Ud.right < this.Ud.left ? l.update(this, null, g) : l.update(this, this.Ud, g), this.Ud.Di(g), this.hq = !1) } }; Sb = function(g, p) { return this.Tb.wc(g, p) && this.Nc.wc(g, p) ? this.Bj ? this.YG(g, p) : this.Qa && !this.Qa.Ui() ? (this.Qa.uh(this.width, this.height, this.q), this.Qa.wc(g - this.x, p - this.y)) : !0 : !1 }; Lb = function() { this.type.kp(); return this.Kh }; Wb = function() { this.F.Ts(); return this.Rd }; Xb = function() { B(this.Na); var g, p, f, b = !0; g = 0; for (p = this.rg.length; g < p; g++) this.rg[g] && (f = this.type.wa[g], this.Na.push(f), f.Ee || (b = !1)); this.ly = !!this.Na.length; this.dg = b }; Mb = function() { return "Inst" + this.qx }; ub = function(g) { if (g && g.gc && g.type != this) { var p, f, b; p = 0; for (f = g.siblings.length; p < f; p++) if (b = g.siblings[p], b.type == this) return b } g = this.V().tb(); return g.length ? g[0] : null }; vb = function(g) { var p = this.V().tb(); return p.length ? p[g.uk() % p.length] : null }; tb = function() { if (this.vj && !this.Z) { var g, p; g = 0; for (p = this.k.length; g < p; g++) this.k[g].Kh = g; var f = g, b = this.c.ve; g = 0; for (p = b.length; g < p; ++g) b[g].type === this && (b[g].Kh = f++); this.vj = !1 } }; Jb = function(g) { if (g < this.k.length) return this.k[g]; g -= this.k.length; var p = this.c.ve, f, b; f = 0; for (b = p.length; f < b; ++f) if (p[f].type === this) { if (0 === g) return p[f]; --g } return null }; wb = function() { return this.fg[this.Re] }; xb = function() { this.Re++; this.Re === this.fg.length ? this.fg.push(new sb(this)) : (this.fg[this.Re].X = !0, B(this.fg[this.Re].na)) }; Db = function() { this.Re++; this.Re === this.fg.length && this.fg.push(new sb(this)); var g = this.fg[this.Re], p = this.fg[this.Re - 1]; p.X ? (g.X = !0, B(g.na)) : (g.X = !1, Da(g.k, p.k), Da(g.na, p.na)) }; Eb = function() { this.Re-- }; Fb = function(g) { var p, f, b, d, c, a = 0; if (!this.Z) for (p = 0, f = this.sb.length; p < f; p++) for (c = this.sb[p], b = 0, d = c.xb.length; b < d; b++) { if (g === c.xb[b].name) return this.Da.lastBehIndex = a, c.xb[b]; a++ } p = 0; for (f = this.xb.length; p < f; p++) { if (g === this.xb[p].name) return this.Da.lastBehIndex = a, this.xb[p]; a++ } return null }; Gb = function(g) { return this.wn(g) ? this.Da.lastBehIndex : -1 }; Hb = function(g) { var p, f; p = 0; for (f = this.wa.length; p < f; p++) if (this.wa[p].name === g) return p; return -1 }; Ib = function() { if (this.gc && !this.Z) { var g, p, f, b, d, c, a; this.kp(); c = this.V(); var n = c.X, h = (g = this.c.zb()) && g.Kb && g.Kb.Ld; g = 0; for (p = this.td.length; g < p; g++) if (d = this.td[g], d !== this && (d.kp(), a = d.V(), a.X = n, !n)) { B(a.k); f = 0; for (b = c.k.length; f < b; ++f) a.k[f] = d.Mq(c.k[f].Kh); if (h) for (B(a.na), f = 0, b = c.na.length; f < b; ++f) a.na[f] = d.Mq(c.na[f].Kh) } } }; Kb = function() { return "Type" + this.Ia }; lc = function(g, p, f) { if ("undefined" === typeof g || "undefined" === typeof f) return !1; switch (p) { case 0: return g === f; case 1: return g !== f; case 2: return g < f; case 3: return g <= f; case 4: return g > f; case 5: return g >= f; default: return !1 } } })(); var wc = {}; function Ac(g) { this.c = g } (function() { function g() {} function l() {} function p() {} var f = !1, b = null, d = null, c = "", a = Ac.prototype; a.N = function(a) { this.W = a; this.c = a.c }; a.N.prototype.I = function() {}; a.L = function(a) { this.type = a; this.c = a.c; this.we = this.Qf = ""; this.Xc = 0; this.timeout = -1; if (f = this.c.Ri) b = require("path"), d = require("fs"), c = b.dirname((window.process || nw.process).execPath) + "\\" }; var n = a.L.prototype, h = null; window.C2_AJAX_DCSide = function(a, b, c) { h && ("success" === a ? (h.we = b, h.Qf = c, h.c.trigger(Ac.prototype.g.Ap, h), h.c.trigger(Ac.prototype.g.im, h)) : "error" === a ? (h.we = b, h.c.trigger(Ac.prototype.g.Bp, h), h.c.trigger(Ac.prototype.g.ng, h)) : "progress" === a && (h.Xc = c, h.we = b, h.c.trigger(Ac.prototype.g.Lj, h))) }; n.I = function() { h = this }; n.$a = function() { return { lastData: this.Qf } }; n.lb = function(a) { this.Qf = a.lastData; this.we = ""; this.Xc = 0 }; var e = {}, t = ""; n.nD = function(a, b, h, n) { if (this.c.Cc) AppMobi.webview.execute('C2_AJAX_WebSide("' + a + '", "' + b + '", "' + h + '", ' + (n ? '"' + n + '"' : "null") + ");"); else { var g = this, l = null, k = function() { g.we = a; g.c.trigger(Ac.prototype.g.Bp, g); g.c.trigger(Ac.prototype.g.ng, g) }, r = function() { if (f) { var e = c + b; d.existsSync(e) ? d.readFile(e, { encoding: "utf8" }, function(b, c) { b ? k() : (g.we = a, g.Qf = c.replace(/\r\n/g, "\n"), g.c.trigger(Ac.prototype.g.Ap, g), g.c.trigger(Ac.prototype.g.im, g)) }) : k() } else k() }, p = function(b) { b.lengthComputable && (g.Xc = b.loaded / b.total, g.we = a, g.c.trigger(Ac.prototype.g.Lj, g)) }; try { this.c.Ze ? l = new ActiveXObject("Microsoft.XMLHTTP") : l = new XMLHttpRequest; l.onreadystatechange = function() { 4 === l.readyState && (g.we = a, l.responseText ? g.Qf = l.responseText.replace(/\r\n/g, "\n") : g.Qf = "", 400 <= l.status ? (g.c.trigger(Ac.prototype.g.Bp, g), g.c.trigger(Ac.prototype.g.ng, g)) : f && !g.Qf.length || !f && 0 === l.status && !g.Qf.length || (g.c.trigger(Ac.prototype.g.Ap, g), g.c.trigger(Ac.prototype.g.im, g))) }; this.c.Ze || (l.onerror = r, l.ontimeout = r, l.onabort = r, l.onprogress = p); l.open(h, b); !this.c.Ze && 0 <= this.timeout && "undefined" !== typeof l.timeout && (l.timeout = this.timeout); try { l.responseType = "text" } catch (y) {} n && l.setRequestHeader && !e.hasOwnProperty("Content-Type") && l.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); if (l.setRequestHeader) { for (var I in e) if (e.hasOwnProperty(I)) try { l.setRequestHeader(I, e[I]) } catch (R) {} e = {} } if (t && l.overrideMimeType) { try { l.overrideMimeType(t) } catch (M) {} t = "" } // n ? l.send(n) : l.send() } catch (G) { r() } } }; g.prototype.im = function(a) { return ob(a, this.we) }; g.prototype.Ap = function() { return !0 }; g.prototype.ng = function(a) { return ob(a, this.we) }; g.prototype.Bp = function() { return !0 }; g.prototype.Lj = function(a) { return ob(a, this.we) }; a.g = new g; l.prototype.aB = function(a, b, c, d) { this.nD(a, b, d, c) }; a.j = new l; p.prototype.aA = function(a) { a.aa(this.Qf) }; p.prototype.bB = function(a) { a.C(this.Xc) }; a.n = new p })(); function Bc(g) { this.c = g } (function() { function g() { return a.length ? a.pop() : [] } function l(b) { var c, d; c = 0; for (d = b.length; c < d; c++) Array.isArray(b[c]) && l(b[c]); B(b); a.push(b) } function p() {} function f() {} function b() {} var d = Bc.prototype; d.N = function(a) { this.W = a; this.c = a.c }; d.N.prototype.I = function() {}; d.L = function(a) { this.type = a; this.c = a.c }; var c = d.L.prototype, a = []; Array.isArray || (Array.isArray = function(a) { return "[object Array]" === Object.prototype.toString.call(a) }); c.I = function() { this.Oa = this.u[0]; this.cb = this.u[1]; this.pb = this.u[2]; this.uc || (this.Mc = g()); var a = this.Mc; a.length = this.Oa; var b, c, d; for (b = 0; b < this.Oa; b++) for (a[b] || (a[b] = g()), a[b].length = this.cb, c = 0; c < this.cb; c++) for (a[b][c] || (a[b][c] = g()), a[b][c].length = this.pb, d = 0; d < this.pb; d++) a[b][c][d] = 0; this.qv = []; this.rv = []; this.sv = []; this.If = -1 }; c.yd = function() { var a; for (a = 0; a < this.Oa; a++) l(this.Mc[a]); B(this.Mc) }; c.Td = function(a, b, c) { a = Math.floor(a); b = Math.floor(b); c = Math.floor(c); return isNaN(a) || 0 > a || a > this.Oa - 1 || isNaN(b) || 0 > b || b > this.cb - 1 || isNaN(c) || 0 > c || c > this.pb - 1 ? 0 : this.Mc[a][b][c] }; c.set = function(a, b, c, d) { a = Math.floor(a); b = Math.floor(b); c = Math.floor(c); isNaN(a) || 0 > a || a > this.Oa - 1 || isNaN(b) || 0 > b || b > this.cb - 1 || isNaN(c) || 0 > c || c > this.pb - 1 || (this.Mc[a][b][c] = d) }; c.wv = function() { return JSON.stringify({ c2array: !0, size: [this.Oa, this.cb, this.pb], data: this.Mc }) }; c.$a = function() { return { size: [this.Oa, this.cb, this.pb], data: this.Mc } }; c.lb = function(a) { var b = a.size; this.Oa = b[0]; this.cb = b[1]; this.pb = b[2]; this.Mc = a.data }; c.bg = function(a, b, c) { 0 > a && (a = 0); 0 > b && (b = 0); 0 > c && (c = 0); if (this.Oa !== a || this.cb !== b || this.pb !== c) { this.Oa = a; this.cb = b; this.pb = c; var d, f, m = this.Mc; m.length = a; for (a = 0; a < this.Oa; a++) for (ia(m[a]) && (m[a] = g()), m[a].length = b, d = 0; d < this.cb; d++) for (ia(m[a][d]) && (m[a][d] = g()), m[a][d].length = c, f = 0; f < this.pb; f++) ia(m[a][d][f]) && (m[a][d][f] = 0) } }; c.Dh = function() { return 0 <= this.If && this.If < this.qv.length ? this.qv[this.If] : 0 }; c.Nk = function() { return 0 <= this.If && this.If < this.rv.length ? this.rv[this.If] : 0 }; c.or = function() { return 0 <= this.If && this.If < this.sv.length ? this.sv[this.If] : 0 }; p.prototype.et = function(a, b, c) { return lc(this.Td(a, 0, 0), b, c) }; c.zc = function(a) { this.c.Yf(a.Aa); a.He(); this.c.ge(a.Aa) }; p.prototype.az = function(a) { var b, c, d; for (b = 0; b < this.Oa; b++) for (c = 0; c < this.cb; c++) for (d = 0; d < this.pb; d++) if (this.Mc[b][c][d] === a) return !0; return !1 }; p.prototype.xp = function() { return 0 === this.Oa || 0 === this.cb || 0 === this.pb }; p.prototype.Yy = function(a, b, c) { var d = 0; switch (a) { case 0: d = this.Oa; break; case 1: d = this.cb; break; case 2: d = this.pb } return lc(d, b, c) }; d.g = new p; f.prototype.bt = function() { var a, b, c; for (a = 0; a < this.Oa; a++) for (b = 0; b < this.cb; b++) for (c = 0; c < this.pb; c++) this.Mc[a][b][c] = 0 }; f.prototype.Oj = function(a, b, c) { this.bg(a, b, c) }; f.prototype.Pj = function(a, b) { this.set(a, 0, 0, b) }; f.prototype.cB = function(a, b, c) { var d = 0, f = 0, m = 0, q = this.Mc; switch (c) { case 0: 0 === a ? (d = q.length, q.push(g())) : (d = 0, q.unshift(g())); for (q[d].length = this.cb; f < this.cb; f++) for (q[d][f] = g(), q[d][f].length = this.pb, m = 0; m < this.pb; m++) q[d][f][m] = b; this.Oa++; break; case 1: for (; d < this.Oa; d++) for (0 === a ? (f = q[d].length, q[d].push(g())) : (f = 0, q[d].unshift(g())), q[d][f].length = this.pb, m = 0; m < this.pb; m++) q[d][f][m] = b; this.cb++; break; case 2: for (; d < this.Oa; d++) for (f = 0; f < this.cb; f++) 0 === a ? q[d][f].push(b) : q[d][f].unshift(b); this.pb++ } }; f.prototype.Yt = function(a, b) { var c = 0, d = 0, f = this.Mc; switch (b) { case 0: if (0 === this.Oa) break; 0 === a ? l(f.pop()) : l(f.shift()); this.Oa--; break; case 1: if (0 === this.cb) break; for (; c < this.Oa; c++) 0 === a ? l(f[c].pop()) : l(f[c].shift()); this.cb--; break; case 2: if (0 === this.pb) break; for (; c < this.Oa; c++) for (d = 0; d < this.cb; d++) 0 === a ? f[c][d].pop() : f[c][d].shift(); this.pb-- } }; f.prototype.Jp = function(a) { var b = 0, c = 0, d = this.Mc; if (0 !== this.Oa && 0 !== this.cb && 0 !== this.pb) switch (a) { case 0: d.reverse(); break; case 1: for (; b < this.Oa; b++) d[b].reverse(); break; case 2: for (; b < this.Oa; b++) for (c = 0; c < this.cb; c++) d[b][c].reverse(); this.pb-- } }; f.prototype.ez = function(a, b) { var c = 0, d = 0; a = Math.floor(a); var f = this.Mc; if (!(0 > a)) switch (b) { case 0: if (a >= this.Oa) break; l(f[a]); f.splice(a, 1); this.Oa--; break; case 1: if (a >= this.cb) break; for (; c < this.Oa; c++) l(f[c][a]), f[c].splice(a, 1); this.cb--; break; case 2: if (a >= this.pb) break; for (; c < this.Oa; c++) for (d = 0; d < this.cb; d++) f[c][d].splice(a, 1); this.pb-- } }; f.prototype.vi = function(a) { var b; try { b = JSON.parse(a) } catch (c) { return } b.c2array && (a = b.size, this.Oa = a[0], this.cb = a[1], this.pb = a[2], this.Mc = b.data) }; d.j = new f; b.prototype.By = function(a, b, c, d) { a.Nd(this.Td(b, c || 0, d || 0)) }; b.prototype.yi = function(a) { a.G(this.Oa) }; b.prototype.fm = function(a) { a.G(this.cb) }; b.prototype.wz = function(a) { a.Nd(this.Td(0, 0, 0)) }; b.prototype.Hz = function(a, b) { for (var c = 0; c < this.Oa; c++) if (this.Mc[c][0][0] === b) { a.G(c); return } a.G(-1) }; b.prototype.tf = function(a) { a.aa(this.wv()) }; d.n = new b })(); function Cc(g) { this.c = g } (function() { function g(a) { a = Math.pow(10, a / 20); isFinite(a) || (a = 0); 0 > a && (a = 0); 1 < a && (a = 1); return a } function l(a) { 0 > a && (a = 0); 1 < a && (a = 1); return Math.log(a) / Math.log(10) * 20 } function p(a) { a = a.toLowerCase(); return oa.hasOwnProperty(a) && oa[a].length ? oa[a][0].Fd() : A.destination } function f() { return A.createGain ? A.createGain() : A.createGainNode() } function b(a) { return A.createDelay ? A.createDelay(a) : A.createDelayNode(a) } function d(a, b) { a.start ? a.start(b || 0) : a.noteOn(b || 0) } function c(a, b, c, d) { a.start ? a.start(d || 0, b) : a.noteGrainOn(d || 0, b, c - b) } function a(a) { try { a.stop ? a.stop(0) : a.noteOff(0) } catch (b) {} } function n(a, b, c, d, e, h) { this.type = "filter"; this.Cb = [a, b, c, d, e, h]; this.Ka = f(); this.ua = f(); this.ua.gain.value = h; this.qa = f(); this.qa.gain.value = 1 - h; this.Vb = A.createBiquadFilter(); this.Vb.type = "number" === typeof this.Vb.type ? a : kd[a]; this.Vb.frequency.value = b; this.Vb.detune && (this.Vb.detune.value = c); this.Vb.Q.value = d; this.Vb.gain.value = e; this.Ka.connect(this.Vb); this.Ka.connect(this.qa); this.Vb.connect(this.ua) } function h(a, c, d) { this.type = "delay"; this.Cb = [a, c, d]; this.Ka = f(); this.ua = f(); this.ua.gain.value = d; this.qa = f(); this.qa.gain.value = 1 - d; this.$k = f(); this.Zd = b(a); this.Zd.delayTime.value = a; this.Zm = f(); this.Zm.gain.value = c; this.Ka.connect(this.$k); this.Ka.connect(this.qa); this.$k.connect(this.ua); this.$k.connect(this.Zd); this.Zd.connect(this.Zm); this.Zm.connect(this.$k) } function e(a, b, c, d) { this.type = "convolve"; this.Cb = [b, c, d]; this.Ka = f(); this.ua = f(); this.ua.gain.value = c; this.qa = f(); this.qa.gain.value = 1 - c; this.vh = A.createConvolver(); a && (this.vh.normalize = b, this.vh.buffer = a); this.Ka.connect(this.vh); this.Ka.connect(this.qa); this.vh.connect(this.ua) } function t(a, c, e, h, k) { this.type = "flanger"; this.Cb = [a, c, e, h, k]; this.Ka = f(); this.qa = f(); this.qa.gain.value = 1 - k / 2; this.ua = f(); this.ua.gain.value = k / 2; this.kn = f(); this.kn.gain.value = h; this.Zd = b(a + c); this.Zd.delayTime.value = a; this.tc = A.createOscillator(); this.tc.frequency.value = e; this.zd = f(); this.zd.gain.value = c; this.Ka.connect(this.Zd); this.Ka.connect(this.qa); this.Zd.connect(this.ua); this.Zd.connect(this.kn); this.kn.connect(this.Zd); this.tc.connect(this.zd); this.zd.connect(this.Zd.delayTime); d(this.tc) } function x(a, b, c, e, h, k) { this.type = "phaser"; this.Cb = [a, b, c, e, h, k]; this.Ka = f(); this.qa = f(); this.qa.gain.value = 1 - k / 2; this.ua = f(); this.ua.gain.value = k / 2; this.Vb = A.createBiquadFilter(); this.Vb.type = "number" === typeof this.Vb.type ? 7 : "allpass"; this.Vb.frequency.value = a; this.Vb.detune && (this.Vb.detune.value = b); this.Vb.Q.value = c; this.tc = A.createOscillator(); this.tc.frequency.value = h; this.zd = f(); this.zd.gain.value = e; this.Ka.connect(this.Vb); this.Ka.connect(this.qa); this.Vb.connect(this.ua); this.tc.connect(this.zd); this.zd.connect(this.Vb.frequency); d(this.tc) } function m(a) { this.type = "gain"; this.Cb = [a]; this.Ma = f(); this.Ma.gain.value = a } function q(a, b) { this.type = "tremolo"; this.Cb = [a, b]; this.Ma = f(); this.Ma.gain.value = 1 - b / 2; this.tc = A.createOscillator(); this.tc.frequency.value = a; this.zd = f(); this.zd.gain.value = b / 2; this.tc.connect(this.zd); this.zd.connect(this.Ma.gain); d(this.tc) } function u(a, b) { this.type = "ringmod"; this.Cb = [a, b]; this.Ka = f(); this.ua = f(); this.ua.gain.value = b; this.qa = f(); this.qa.gain.value = 1 - b; this.yl = f(); this.yl.gain.value = 0; this.tc = A.createOscillator(); this.tc.frequency.value = a; this.tc.connect(this.yl.gain); d(this.tc); this.Ka.connect(this.yl); this.Ka.connect(this.qa); this.yl.connect(this.ua) } function w(a, b, c, d, e) { this.type = "distortion"; this.Cb = [a, b, c, d, e]; this.Ka = f(); this.Bo = f(); this.Ao = f(); this.LG(c, Math.pow(10, d / 20)); this.ua = f(); this.ua.gain.value = e; this.qa = f(); this.qa.gain.value = 1 - e; this.rp = A.createWaveShaper(); this.Wm = new Float32Array(65536); this.sE(a, b); this.rp.Wm = this.Wm; this.Ka.connect(this.Bo); this.Ka.connect(this.qa); this.Bo.connect(this.rp); this.rp.connect(this.Ao); this.Ao.connect(this.ua) } function v(a, b, c, d, e) { this.type = "compressor"; this.Cb = [a, b, c, d, e]; this.Ma = A.createDynamicsCompressor(); try { this.Ma.threshold.value = a, this.Ma.knee.value = b, this.Ma.ratio.value = c, this.Ma.attack.value = d, this.Ma.release.value = e } catch (h) {} } function k(a, b) { this.type = "analyser"; this.Cb = [a, b]; this.Ma = A.createAnalyser(); this.Ma.fftSize = a; this.Ma.smoothingTimeConstant = b; this.qE = new Float32Array(this.Ma.frequencyBinCount); this.Kx = new Uint8Array(a); this.pl = 0 } function r() { this.Sa = null; this.Yn = 0 } function H(a, b) { this.src = a; this.Fa = U; this.be = b; this.Bm = !1; var c = this; this.ej = this.nj = null; this.oj = []; this.No = 0; this.Ws = this.hn = this.Px = this.qo = !1; 1 === U && b && !yb && (this.Fa = 0, this.nj = f()); this.yf = this.La = null; var d; switch (this.Fa) { case 0: this.La = new Audio; this.La.crossOrigin = "anonymous"; this.La.addEventListener("canplaythrough", function() { c.Ws = !0 }); 1 === U && A.createMediaElementSource && !/wiiu/i.test(navigator.userAgent) && (this.Px = !0, this.La.addEventListener("canplay", function() { !c.ej && c.La && (c.ej = A.createMediaElementSource(c.La), c.ej.connect(c.nj)) })); this.La.autoplay = !1; this.La.ZI = "auto"; this.La.src = a; break; case 1: z.Ln ? z.nv(a, function(a) { c.yf = a; c.Zu() }, function() { c.hn = !0 }) : (d = new XMLHttpRequest, d.open("GET", a, !0), d.responseType = "arraybuffer", d.onload = function() { c.yf = d.response; c.Zu() }, d.onerror = function() { c.hn = !0 }, d.send()); break; case 2: this.La = !0; break; case 3: this.La = !0 } } function y(a, b) { var c = this; this.tag = b; this.Ya = this.We = !0; this.src = a.src; this.buffer = a; this.Fa = U; this.be = a.be; this.playbackRate = 1; this.Pi = !0; this.wd = this.Md = !1; this.ld = 0; this.Jk = this.Wi = this.cf = !1; this.volume = 1; this.Qr = function(a) { if (!c.wd && !c.Md) { var b = this; b || (b = a.target); b === c.Am && (c.Pi = !0, c.Ya = !0, O = c.tag, z.trigger(Cc.prototype.g.jm, C)) } }; this.Am = null; this.Ti = 1 === N && !this.be || 2 === N; this.gj = 1; this.startTime = this.Ti ? z.hc.ta : z.jg.ta; this.Yb = this.fc = null; this.ef = !1; this.Ec = null; this.bx = this.ax = this.$w = this.Zw = this.dx = this.cx = 0; this.D = null; var d = !1; 1 !== this.Fa || 0 !== this.buffer.Fa || this.buffer.Px || (this.Fa = 0); switch (this.Fa) { case 0: this.be ? (this.D = a.La, d = !a.Bm, a.Bm = !0) : (this.D = new Audio, this.D.crossOrigin = "anonymous", this.D.autoplay = !1, this.D.src = a.La.src, d = !0); d && this.D.addEventListener("ended", function() { O = c.tag; c.Ya = !0; z.trigger(Cc.prototype.g.jm, C) }); break; case 1: this.fc = f(); this.fc.connect(p(b)); 1 === this.buffer.Fa ? a.La && (this.D = A.createBufferSource(), this.D.buffer = a.La, this.D.connect(this.fc)) : (this.D = this.buffer.La, this.buffer.nj.connect(this.fc), this.buffer.Bm || (this.buffer.Bm = !0, this.buffer.La.addEventListener("ended", function() { O = c.tag; c.Ya = !0; z.trigger(Cc.prototype.g.jm, C) }))); break; case 2: this.D = new window.Media(ba + this.src, null, null, function(a) { a === window.Media.MEDIA_STOPPED && (c.Pi = !0, c.Ya = !0, O = c.tag, z.trigger(Cc.prototype.g.jm, C)) }); break; case 3: this.D = !0 } } function I(a, b) { var c = a.Qg() ? 1 : 0, d = b.Qg() ? 1 : 0; return c === d ? 0 : c < d ? 1 : -1 } function R(a, b) { B(Aa); if (a.length) { var c, d, e; c = 0; for (d = L.length; c < d; c++) e = L[c], ob(a, e.tag) && Aa.push(e); b && Aa.sort(I) } else V && !V.Jh() && (B(Aa), Aa[0] = V) } function M(a, b) { oa.hasOwnProperty(a) ? oa[a].push(b) : oa[a] = [b]; var c, d, e, h, f = A.destination; if (oa.hasOwnProperty(a) && (e = oa[a], e.length)) for (f = e[0].Fd(), c = 0, d = e.length; c < d; c++) h = e[c], c + 1 === d ? h.Xd(A.destination) : h.Xd(e[c + 1].Fd()); R(a); c = 0; for (d = Aa.length; c < d; c++) Aa[c].pG(f); db && gc === a && (db.disconnect(), db.connect(f)) } function G() {} function E() {} function J() {} var F = Cc.prototype; F.N = function(a) { this.W = a; this.c = a.c }; F.N.prototype.I = function() {}; var z = null, C = null, O = "", ba = "", U = 0, A = null, P = [], L = [], V = null, K = !1, N = 0, S = !1, Y = 1, T = 0, ka = 0, la = !1, Z = 1, Ua = 1, bb = 10, cb = 1E4, gd = 1, db = null, gc = "", zb = !1, Ab = [], yb = !1, oa = {}, kd = "lowpass highpass bandpass lowshelf highshelf peaking notch allpass".split(" "); n.prototype.Xd = function(a) { this.ua.disconnect(); this.ua.connect(a); this.qa.disconnect(); this.qa.connect(a) }; n.prototype.remove = function() { this.Ka.disconnect(); this.Vb.disconnect(); this.ua.disconnect(); this.qa.disconnect() }; n.prototype.Fd = function() { return this.Ka }; h.prototype.Xd = function(a) { this.ua.disconnect(); this.ua.connect(a); this.qa.disconnect(); this.qa.connect(a) }; h.prototype.remove = function() { this.Ka.disconnect(); this.$k.disconnect(); this.Zd.disconnect(); this.Zm.disconnect(); this.ua.disconnect(); this.qa.disconnect() }; h.prototype.Fd = function() { return this.Ka }; e.prototype.Xd = function(a) { this.ua.disconnect(); this.ua.connect(a); this.qa.disconnect(); this.qa.connect(a) }; e.prototype.remove = function() { this.Ka.disconnect(); this.vh.disconnect(); this.ua.disconnect(); this.qa.disconnect() }; e.prototype.Fd = function() { return this.Ka }; t.prototype.Xd = function(a) { this.qa.disconnect(); this.qa.connect(a); this.ua.disconnect(); this.ua.connect(a) }; t.prototype.remove = function() { this.Ka.disconnect(); this.Zd.disconnect(); this.tc.disconnect(); this.zd.disconnect(); this.qa.disconnect(); this.ua.disconnect(); this.kn.disconnect() }; t.prototype.Fd = function() { return this.Ka }; x.prototype.Xd = function(a) { this.qa.disconnect(); this.qa.connect(a); this.ua.disconnect(); this.ua.connect(a) }; x.prototype.remove = function() { this.Ka.disconnect(); this.Vb.disconnect(); this.tc.disconnect(); this.zd.disconnect(); this.qa.disconnect(); this.ua.disconnect() }; x.prototype.Fd = function() { return this.Ka }; m.prototype.Xd = function(a) { this.Ma.disconnect(); this.Ma.connect(a) }; m.prototype.remove = function() { this.Ma.disconnect() }; m.prototype.Fd = function() { return this.Ma }; q.prototype.Xd = function(a) { this.Ma.disconnect(); this.Ma.connect(a) }; q.prototype.remove = function() { this.tc.disconnect(); this.zd.disconnect(); this.Ma.disconnect() }; q.prototype.Fd = function() { return this.Ma }; u.prototype.Xd = function(a) { this.ua.disconnect(); this.ua.connect(a); this.qa.disconnect(); this.qa.connect(a) }; u.prototype.remove = function() { this.tc.disconnect(); this.yl.disconnect(); this.Ka.disconnect(); this.ua.disconnect(); this.qa.disconnect() }; u.prototype.Fd = function() { return this.Ka }; w.prototype.LG = function(a, b) { .01 > a && (a = .01); this.Bo.gain.value = a; this.Ao.gain.value = Math.pow(1 / a, .6) * b }; w.prototype.shape = function(a, b, c) { var d = 1.05 * c * b - b; c = 0 > a ? -1 : 1; a = 0 > a ? -a : a; b = a < b ? a : b + d * (1 - Math.exp(-(1 / d) * (a - b))); return b * c }; w.prototype.sE = function(a, b) { for (var c = Math.pow(10, a / 20), d = Math.pow(10, b / 20), e = 0, h = 0; 32768 > h; ++h) e = h / 32768, e = this.shape(e, c, d), this.Wm[32768 + h] = e, this.Wm[32768 - h - 1] = -e }; w.prototype.Xd = function(a) { this.ua.disconnect(); this.ua.connect(a); this.qa.disconnect(); this.qa.connect(a) }; w.prototype.remove = function() { this.Ka.disconnect(); this.Bo.disconnect(); this.rp.disconnect(); this.Ao.disconnect(); this.ua.disconnect(); this.qa.disconnect() }; w.prototype.Fd = function() { return this.Ka }; v.prototype.Xd = function(a) { this.Ma.disconnect(); this.Ma.connect(a) }; v.prototype.remove = function() { this.Ma.disconnect() }; v.prototype.Fd = function() { return this.Ma }; k.prototype.ub = function() { this.Ma.getFloatFrequencyData(this.qE); this.Ma.getByteTimeDomainData(this.Kx); for (var a = this.Ma.fftSize, b = 0, c = this.pl = 0, d = 0; b < a; b++) d = (this.Kx[b] - 128) / 128, 0 > d && (d = -d), this.pl < d && (this.pl = d), c += d * d; this.pl = l(this.pl); l(Math.sqrt(c / a)) }; k.prototype.Xd = function(a) { this.Ma.disconnect(); this.Ma.connect(a) }; k.prototype.remove = function() { this.Ma.disconnect() }; k.prototype.Fd = function() { return this.Ma }; r.prototype.Cl = function(a) { this.Sa = a }; r.prototype.Dn = function() { return !!this.Sa }; r.prototype.ub = function() {}; var Pb = !1; H.prototype.uG = function() { var a, b, c, d; c = a = 0; for (b = L.length; a < b; ++a) d = L[a], L[c] = d, d.buffer === this ? d.stop() : ++c; L.length = c; this.ej && (this.ej.disconnect(), this.ej = null); this.nj && (this.nj.disconnect(), this.nj = null); this.yf = this.La = null }; H.prototype.Zu = function() { if (!this.La && this.yf) { var a = this; if (A.decodeAudioData) A.decodeAudioData(this.yf, function(b) { a.La = b; a.yf = null; var c, d, e; if (ia(a.wo) || S) ia(a.Qm) || (c = a.Qm.vh, c.normalize = a.Fw, c.buffer = b); else if (a.oj.length) { c = 0; for (d = a.oj.length; c < d; c++) { b = a.oj[c]; e = new y(a, b.Tx); e.us(!0); if ("undefined" !== typeof b.Lw && (b.Sa = z.Lg(b.Lw), !b.Sa)) continue; if (b.Sa) { var h = Sa(b.Sa.x, b.Sa.y, -b.Sa.F.Bc(), T, ka, !0), f = Sa(b.Sa.x, b.Sa.y, -b.Sa.F.Bc(), T, ka, !1); e.ts(h, f, Ja(b.Sa.q - b.Sa.F.Bc()), b.Wq, b.Ir, b.Lr); e.Cl(b.Sa) } else e.ts(b.x, b.y, b.BC, b.Wq, b.Ir, b.Lr); e.play(a.Br, a.Vs, a.No); a.qo && e.pause(); L.push(e) } B(a.oj) } else e = new y(a, a.wo || ""), e.play(a.Br, a.Vs, a.No), a.qo && e.pause(), L.push(e) }, function() { a.hn = !0 }); else if (this.La = A.createBuffer(this.yf, !1), this.yf = null, ia(this.wo) || S) ia(this.Qm) || (b = this.Qm.vh, b.normalize = this.Fw, b.buffer = this.La); else { var b = new y(this, this.wo); b.play(this.Br, this.Vs, this.No); this.qo && b.pause(); L.push(b) } } }; H.prototype.Qv = function() { switch (this.Fa) { case 0: var a = 4 <= this.La.readyState; a && (this.Ws = !0); return a || this.Ws; case 1: return !!this.yf || !!this.La; case 2: return !0; case 3: return !0 } return !1 }; H.prototype.lF = function() { switch (this.Fa) { case 0: return this.Qv(); case 1: return !!this.La; case 2: return !0; case 3: return !0 } return !1 }; H.prototype.XE = function() { switch (this.Fa) { case 0: return !!this.La.error; case 1: return this.hn } return !1 }; y.prototype.Jh = function() { switch (this.Fa) { case 0: return this.D.ended; case 1: return 1 === this.buffer.Fa ? !this.We && !this.Ya && this.D.loop || this.wd ? !1 : this.Pi : this.D.ended; case 2: return this.Pi; case 3: !0 } return !0 }; y.prototype.RC = function() { return this.We || this.Ya ? !0 : this.Jh() }; y.prototype.us = function(a) { 1 === U && (!this.ef && a ? this.fc && (this.Yb || (this.Yb = A.createPanner(), this.Yb.panningModel = "number" === typeof this.Yb.panningModel ? Z : ["equalpower", "HRTF", "soundfield"][Z], this.Yb.distanceModel = "number" === typeof this.Yb.distanceModel ? Ua : ["linear", "inverse", "exponential"][Ua], this.Yb.refDistance = bb, this.Yb.maxDistance = cb, this.Yb.rolloffFactor = gd), this.fc.disconnect(), this.fc.connect(this.Yb), this.Yb.connect(p(this.tag)), this.ef = !0) : this.ef && !a && this.fc && (this.Yb.disconnect(), this.fc.disconnect(), this.fc.connect(p(this.tag)), this.ef = !1)) }; y.prototype.ts = function(a, b, c, d, e, h) { this.ef && 1 === U && (this.Yb.setPosition(a, b, 0), this.Yb.setOrientation(Math.cos(D(c)), Math.sin(D(c)), 0), this.Yb.coneInnerAngle = d, this.Yb.coneOuterAngle = e, this.Yb.coneOuterGain = h, this.cx = a, this.dx = b, this.Zw = c, this.$w = d, this.ax = e, this.bx = h) }; y.prototype.Cl = function(a) { this.ef && 1 === U && (this.Ec || (this.Ec = new r), this.Ec.Cl(a)) }; y.prototype.ub = function(a) { if (this.ef && 1 === U && this.Ec && this.Ec.Dn() && this.Qg()) { this.Ec.ub(a); a = this.Ec.Sa; var b = Sa(a.x, a.y, -a.F.Bc(), T, ka, !0), c = Sa(a.x, a.y, -a.F.Bc(), T, ka, !1); this.Yb.setPosition(b, c, 0); b = 0; "undefined" !== typeof this.Ec.Sa.q && (b = a.q - a.F.Bc(), this.Yb.setOrientation(Math.cos(b), Math.sin(b), 0)) } }; y.prototype.play = function(a, b, e, h) { alert(1) var f = this.D; this.cf = a; this.volume = b; e = e || 0; h = h || 0; switch (this.Fa) { case 0: 1 !== f.playbackRate && (f.playbackRate = 1); f.volume !== b * Y && (f.volume = b * Y); f.loop !== a && (f.loop = a); f.muted && (f.muted = !1); if (f.currentTime !== e) try { f.currentTime = e } catch (k) {} if (this.be && zb && !z.Dc) Ab.push(this); else try { this.D.play() } catch (m) { console && console.log && console.log("[C2] WARNING: exception trying to play audio '" + this.buffer.src + "': ", m) } break; case 1: this.muted = !1; this.gj = 1; if (1 === this.buffer.Fa) this.fc.gain.value = b * Y, this.We || (this.D = A.createBufferSource(), this.D.buffer = this.buffer.La, this.D.connect(this.fc)), this.D.onended = this.Qr, this.Am = this.D, this.D.loop = a, this.Pi = !1, 0 === e ? d(this.D, h) : c(this.D, e, this.Kg(), h); else { 1 !== f.playbackRate && (f.playbackRate = 1); f.loop !== a && (f.loop = a); f.volume = b * Y; if (f.currentTime !== e) try { f.currentTime = e } catch (g) {} this.be && zb && !z.Dc ? Ab.push(this) : f.play() } break; case 2: (!this.We && this.Ya || 0 !== e) && f.seekTo(e); f.play(); this.Pi = !1; break; case 3: z.Cc ? AppMobi.context.playSound(this.src, a) : AppMobi.player.playSound(this.src, a) } this.playbackRate = 1; this.startTime = (this.Ti ? z.hc.ta : z.jg.ta) - e; this.wd = this.Ya = this.We = !1 }; y.prototype.stop = function() { switch (this.Fa) { case 0: this.D.paused || this.D.pause(); break; case 1: 1 === this.buffer.Fa ? a(this.D) : this.D.paused || this.D.pause(); break; case 2: this.D.stop(); break; case 3: z.Cc && AppMobi.context.stopSound(this.src) } this.Ya = !0; this.wd = !1 }; y.prototype.pause = function() { if (!(this.We || this.Ya || this.Jh() || this.wd)) { switch (this.Fa) { case 0: this.D.paused || this.D.pause(); break; case 1: 1 === this.buffer.Fa ? (this.ld = this.An(!0), this.cf && (this.ld = this.ld % this.Kg()), this.wd = !0, a(this.D)) : this.D.paused || this.D.pause(); break; case 2: this.D.pause(); break; case 3: z.Cc && AppMobi.context.stopSound(this.src) } this.wd = !0 } }; y.prototype.AG = function() { if (!(this.We || this.Ya || this.Jh()) && this.wd) { switch (this.Fa) { case 0: this.D.play(); break; case 1: 1 === this.buffer.Fa ? (this.D = A.createBufferSource(), this.D.buffer = this.buffer.La, this.D.connect(this.fc), this.D.onended = this.Qr, this.Am = this.D, this.D.loop = this.cf, this.fc.gain.value = Y * this.volume * this.gj, this.lp(), this.startTime = (this.Ti ? z.hc.ta : z.jg.ta) - this.ld / (this.playbackRate || .001), c(this.D, this.ld, this.Kg())) : this.D.play(); break; case 2: this.D.play(); break; case 3: z.Cc && AppMobi.context.resumeSound(this.src) } this.wd = !1 } }; y.prototype.seek = function(a) { if (!(this.We || this.Ya || this.Jh())) switch (this.Fa) { case 0: try { this.D.currentTime = a } catch (b) {} break; case 1: if (1 === this.buffer.Fa) this.wd ? this.ld = a : (this.pause(), this.ld = a, this.AG()); else try { this.D.currentTime = a } catch (c) {} break; case 3: z.Cc && AppMobi.context.seekSound(this.src, a) } }; y.prototype.pG = function(a) { 1 === this.Fa && (this.ef ? (this.Yb.disconnect(), this.Yb.connect(a)) : (this.fc.disconnect(), this.fc.connect(a))) }; y.prototype.Kg = function() { var a = 0; switch (this.Fa) { case 0: "undefined" !== typeof this.D.duration && (a = this.D.duration); break; case 1: a = this.buffer.La.duration; break; case 2: a = this.D.getDuration(); break; case 3: z.Cc && (a = AppMobi.context.getDurationSound(this.src)) } return a }; y.prototype.An = function(a) { var b = this.Kg(), c = 0; switch (this.Fa) { case 0: "undefined" !== typeof this.D.currentTime && (c = this.D.currentTime); break; case 1: if (1 === this.buffer.Fa) { if (this.wd) return this.ld; c = (this.Ti ? z.hc.ta : z.jg.ta) - this.startTime } else "undefined" !== typeof this.D.currentTime && (c = this.D.currentTime); break; case 3: z.Cc && (c = AppMobi.context.getPlaybackTimeSound(this.src)) } a && (c *= this.playbackRate); !this.cf && c > b && (c = b); return c }; y.prototype.Qg = function() { return !this.wd && !this.We && !this.Ya && !this.Jh() }; y.prototype.RG = function() { return !this.We && !this.Ya && !this.Jh() }; y.prototype.jy = function() { var a = this.volume * Y; isFinite(a) || (a = 0); switch (this.Fa) { case 0: "undefined" !== typeof this.D.volume && this.D.volume !== a && (this.D.volume = a); break; case 1: 1 === this.buffer.Fa ? this.fc.gain.value = a * this.gj : "undefined" !== typeof this.D.volume && this.D.volume !== a && (this.D.volume = a) } }; y.prototype.cn = function(a) { switch (this.Fa) { case 0: this.D.muted !== !!a && (this.D.muted = !!a); break; case 1: 1 === this.buffer.Fa ? (this.gj = a ? 0 : 1, this.fc.gain.value = Y * this.volume * this.gj) : this.D.muted !== !!a && (this.D.muted = !!a) } }; y.prototype.MG = function() { this.Wi = !0; this.cn(this.Wi || this.Jk) }; y.prototype.So = function(a) { this.Jk = !!a; this.cn(this.Wi || this.Jk) }; y.prototype.lp = function() { var a = this.playbackRate; this.Ti && (a *= z.qf); switch (this.Fa) { case 0: this.D.playbackRate !== a && (this.D.playbackRate = a); break; case 1: 1 === this.buffer.Fa ? this.D.playbackRate.value !== a && (this.D.playbackRate.value = a) : this.D.playbackRate !== a && (this.D.playbackRate = a) } }; y.prototype.OG = function(b) { switch (this.Fa) { case 0: b ? this.Qg() ? (this.Md = !0, this.D.pause()) : this.Md = !1 : this.Md && (this.D.play(), this.Md = !1); break; case 1: b ? this.Qg() ? (this.Md = !0, 1 === this.buffer.Fa ? (this.ld = this.An(!0), this.cf && (this.ld = this.ld % this.Kg()), a(this.D)) : this.D.pause()) : this.Md = !1 : this.Md && (1 === this.buffer.Fa ? (this.D = A.createBufferSource(), this.D.buffer = this.buffer.La, this.D.connect(this.fc), this.D.onended = this.Qr, this.Am = this.D, this.D.loop = this.cf, this.fc.gain.value = Y * this.volume * this.gj, this.lp(), this.startTime = (this.Ti ? z.hc.ta : z.jg.ta) - this.ld / (this.playbackRate || .001), c(this.D, this.ld, this.Kg())) : this.D.play(), this.Md = !1); break; case 2: b ? this.Qg() ? (this.D.pause(), this.Md = !0) : this.Md = !1 : this.Md && (this.Md = !1, this.D.play()) } }; F.L = function(a) { function b() { "suspended" === A.state && A.resume && A.resume(); if (!la && A.createBuffer) { var a = A.createBuffer(1, 220, 22050), c = A.createBufferSource(); c.buffer = a; c.connect(A.destination); d(c) } } let uptapTimer; let time_ad = 1;//定义是否弹出广告的标签1:弹 0:不弹 this.type = a; z = this.c = a.c; C = this; this.xd = null; this.Qk = -600; this.c.Ln && (yb = !0); !(this.c.Ph || this.c.Ck && (this.c.cr || this.c.Hn)) || this.c.Dk || this.c.kb || this.c.Gn || yb || (zb = !0); A = null; "undefined" !== typeof AudioContext ? (U = 1, A = new AudioContext) : "undefined" !== typeof webkitAudioContext && (U = 1, A = new webkitAudioContext); this.c.Ph && A && (A.close && A.close(), "undefined" !== typeof AudioContext ? A = new AudioContext : "undefined" !== typeof webkitAudioContext && (A = new webkitAudioContext)); zb ? document.addEventListener("touchend", function() { // console.log('uptap统一点击事件') if (!uptapTimer) { uptapTimer = setInterval(function() { // console.log('时间到') time_ad = 1;// 每60秒将广告标签设为1 }, 50000); } let _uptap_back = function(){ time_ad = 0;//弹出广告后设置为0 !Pb && A && (b(), Pb = !0); var a, c, d; if (zb) { if (!S) for (a = 0, c = Ab.length; a < c; ++a) d = Ab[a], d.Ya || d.wd || d.D.play(); B(Ab) } } if(time_ad){ // 调用广告 window['uptap'].ShowScreenVideo("下一关", function () { // console.log('展示广告') _uptap_back(); }); }else{ _uptap_back(); } }, !0) : yb && document.addEventListener("touchend", function() { !Pb && A && (b(), Pb = !0) }, !0); 1 !== U && (this.c.Uc && "undefined" !== typeof window.Media ? U = 2 : this.c.Ov && (U = 3)); 2 === U && (ba = location.href, a = ba.lastIndexOf("/"), -1 < a && (ba = ba.substr(0, a + 1)), ba = ba.replace("file://", "")); if (this.c.mF && this.c.nF && "undefined" === typeof Audio) alert("It looks like you're using Safari for Windows without Quicktime. Audio cannot be played until Quicktime is installed."), this.c.ne(this); else { if (this.c.Cc) K = this.c.Ck; else try { K = !!(new Audio).canPlayType('audio/ogg; codecs="vorbis"') } catch (c) { K = !1 } this.c.Aj(this) } }; var Ia = F.L.prototype; Ia.I = function() { this.c.Bi = this; N = this.u[0]; this.Zf = this.u[1]; this.ZF = 0 !== this.u[2]; this.Dw = 0; Z = this.u[3]; Ua = this.u[4]; this.Qk = -this.u[5]; bb = this.u[6]; cb = this.u[7]; gd = this.u[8]; this.xd = new r; var a = this.c.ja || this.c.width, b = this.c.ga || this.c.height; 1 === U && (A.listener.setPosition(a / 2, b / 2, this.Qk), A.listener.setOrientation(0, 0, 1, 0, -1, 0), window.c2OnAudioMicStream = function(a, b) { db && db.disconnect(); gc = b.toLowerCase(); db = A.createMediaStreamSource(a); db.connect(p(gc)) }); this.c.Eu(function(a) { C.TF(a) }); var c = this; this.c.Xp(function(a) { c.jl(a) }) }; Ia.jl = function(a) { var b, c, d; b = 0; for (c = L.length; b < c; b++) d = L[b], d.Ec && d.Ec.Sa === a && (d.Ec.Sa = null, d.ef && d.Qg() && d.cf && d.stop()); this.xd.Sa === a && (this.xd.Sa = null) }; Ia.$a = function() { var a = { silent: S, masterVolume: Y, listenerZ: this.Qk, listenerUid: this.xd.Dn() ? this.xd.Sa.uid : -1, playing: [], effects: {} }, b = a.playing, c, d, e, h, f, k; c = 0; for (d = L.length; c < d; c++) e = L[c], !e.RG() || 3 === this.Zf || e.be && 1 === this.Zf || !e.be && 2 === this.Zf || (h = e.An(), e.cf && (h = h % e.Kg()), h = { tag: e.tag, buffersrc: e.buffer.src, is_music: e.be, playbackTime: h, volume: e.volume, looping: e.cf, muted: e.Wi, playbackRate: e.playbackRate, paused: e.wd, resume_position: e.ld }, e.ef && (h.pan = {}, k = h.pan, e.Ec && e.Ec.Dn() ? k.objUid = e.Ec.Sa.uid : (k.x = e.cx, k.y = e.dx, k.a = e.Zw), k.ia = e.$w, k.oa = e.ax, k.og = e.bx), b.push(h)); b = a.effects; for (f in oa) if (oa.hasOwnProperty(f)) { e = []; c = 0; for (d = oa[f].length; c < d; c++) e.push({ type: oa[f][c].type, params: oa[f][c].Cb }); b[f] = e } return a }; var Bb = []; Ia.lb = function(a) { var b = a.silent; Y = a.masterVolume; this.Qk = a.listenerZ; this.xd.Cl(null); var c = a.listenerUid; - 1 !== c && (this.xd.Yn = c, Bb.push(this.xd)); var c = a.playing, d, f, g, l, p, y, H, R, I, z, E; if (3 !== this.Zf) for (d = 0, f = L.length; d < f; d++) I = L[d], I.be && 1 === this.Zf || (I.be || 2 !== this.Zf) && I.stop(); for (p in oa) if (oa.hasOwnProperty(p)) for (d = 0, f = oa[p].length; d < f; d++) oa[p][d].remove(); Za(oa); for (p in a.effects) if (a.effects.hasOwnProperty(p)) for (y = a.effects[p], d = 0, f = y.length; d < f; d++) switch (g = y[d].type, z = y[d].params, g) { case "filter": M(p, new n(z[0], z[1], z[2], z[3], z[4], z[5])); break; case "delay": M(p, new h(z[0], z[1], z[2])); break; case "convolve": g = z[2]; I = this.vn(g, !1); I.La ? g = new e(I.La, z[0], z[1], g) : (g = new e(null, z[0], z[1], g), I.Fw = z[0], I.Qm = g); M(p, g); break; case "flanger": M(p, new t(z[0], z[1], z[2], z[3], z[4])); break; case "phaser": M(p, new x(z[0], z[1], z[2], z[3], z[4], z[5])); break; case "gain": M(p, new m(z[0])); break; case "tremolo": M(p, new q(z[0], z[1])); break; case "ringmod": M(p, new u(z[0], z[1])); break; case "distortion": M(p, new w(z[0], z[1], z[2], z[3], z[4])); break; case "compressor": M(p, new v(z[0], z[1], z[2], z[3], z[4])); break; case "analyser": M(p, new k(z[0], z[1])) } d = 0; for (f = c.length; d < f; d++) 3 === this.Zf || (a = c[d], g = a.buffersrc, l = a.is_music, p = a.tag, y = a.playbackTime, H = a.looping, R = a.volume, E = (z = a.pan) && z.hasOwnProperty("objUid") ? z.objUid : -1, l && 1 === this.Zf) || !l && 2 === this.Zf || ((I = this.xv(g, p, l, H, R)) ? (I.ld = a.resume_position, I.us(!!z), I.play(H, R, y), I.lp(), I.jy(), I.cn(I.Wi || I.Jk), a.paused && I.pause(), a.muted && I.MG(), I.cn(I.Wi || I.Jk), z && (-1 !== E ? (I.Ec = I.Ec || new r, I.Ec.Yn = E, Bb.push(I.Ec)) : I.ts(z.x, z.y, z.a, z.ia, z.oa, z.og))) : (I = this.vn(g, l), I.No = y, I.qo = a.paused, z && (-1 !== E ? I.oj.push({ Lw: E, Wq: z.ia, Ir: z.oa, Lr: z.og, Tx: p }) : I.oj.push({ x: z.x, y: z.y, BC: z.a, Wq: z.ia, Ir: z.oa, Lr: z.og, Tx: p })))); if (b && !S) { d = 0; for (f = L.length; d < f; d++) L[d].So(!0); S = !0 } else if (!b && S) { d = 0; for (f = L.length; d < f; d++) L[d].So(!1); S = !1 } }; Ia.pe = function() { var a, b, c, d; a = 0; for (b = Bb.length; a < b; a++) c = Bb[a], d = this.c.Lg(c.Yn), c.Cl(d), c.Yn = -1, d && (T = d.x, ka = d.y); B(Bb) }; Ia.TF = function(a) { if (!this.ZF) { !a && A && A.resume && (A.resume(), la = !1); var b, c; b = 0; for (c = L.length; b < c; b++) L[b].OG(a); a && A && A.suspend && (A.suspend(), la = !0) } }; Ia.ub = function() { var a = this.c.Hg, b, c, d; b = 0; for (c = L.length; b < c; b++) d = L[b], d.ub(a), 0 !== N && d.lp(); var e, h; for (e in oa) if (oa.hasOwnProperty(e)) for (d = oa[e], b = 0, c = d.length; b < c; b++) h = d[b], h.ub && h.ub(); 1 === U && this.xd.Dn() && (this.xd.ub(a), T = this.xd.Sa.x, ka = this.xd.Sa.y, A.listener.setPosition(this.xd.Sa.x, this.xd.Sa.y, this.Qk)) }; var Cb = []; Ia.NG = function(a) { var b, c, d, e, h, f = 0; b = 0; for (c = a.length; b < c; ++b) if (d = a[b], e = d[0], d = 2 * d[1], (h = 4 < e.length && ".ogg" === e.substr(e.length - 4)) && K || !h && !K) Cb.push({ filename: e, size: d, Sa: null }), f += d; return f }; Ia.UG = function() { var a, b, c, d; a = 0; for (b = Cb.length; a < b; ++a) c = Cb[a], d = this.c.Dq + c.filename, c.Sa = this.vn(d, !1) }; Ia.DE = function() { var a = 0, b, c, d; b = 0; for (c = Cb.length; b < c; ++b) d = Cb[b], d.Sa.lF() || d.Sa.XE() || this.c.kb || this.c.Hn ? a += d.size : d.Sa.Qv() && (a += Math.floor(d.size / 2)); return a }; Ia.vG = function() { var a, b, c, d; c = a = 0; for (b = P.length; a < b; ++a) d = P[a], P[c] = d, d.be ? d.uG() : ++c; P.length = c }; Ia.vn = function(a, b) { var c, d, e, h = null; c = 0; for (d = P.length; c < d; c++) if (e = P[c], e.src === a) { h = e; break } h || (yb && b && this.vG(), h = new H(a, b), P.push(h)); return h }; Ia.xv = function(a, b, c, d, e) { var h, f, k; h = 0; for (f = L.length; h < f; h++) if (k = L[h], k.src === a && (k.RC() || c)) return k.tag = b, k; a = this.vn(a, c); if (!a.La) return "" !== b && (a.wo = b, a.Br = d, a.Vs = e), null; k = new y(a, b); L.push(k); return k }; var Aa = []; G.prototype.jm = function(a) { return ob(O, a) }; G.prototype.Uz = function(a) { R(a); var b; a = 0; for (b = Aa.length; a < b; a++) if (Aa[a].Qg()) return !0; return !1 }; F.g = new G; E.prototype.YA = function(a, b, c, d, e) { !S && (d = g(d), V = this.xv(this.c.Dq + b.toLowerCase() + (K ? ".ogg" : ".m4a"), e, 1 === a, 0 !== c, d)) && (V.us(!1), V.play(0 !== c, d, 0, this.Dw), this.Dw = 0) }; E.prototype.Rj = function(a) { R(a); var b; a = 0; for (b = Aa.length; a < b; a++) Aa[a].stop() }; E.prototype.IB = function(a) { var b; 2 === a && (a = S ? 1 : 0); if (0 === a && !S) { a = 0; for (b = L.length; a < b; a++) L[a].So(!0); S = !0 } else if (1 === a && S) { a = 0; for (b = L.length; a < b; a++) L[a].So(!1); S = !1 } }; E.prototype.CB = function(a) { Y = g(a); var b; a = 0; for (b = L.length; a < b; a++) L[a].jy() }; F.j = new E; J.prototype.jt = function(a, b) { R(b, !0); Aa.length ? a.C(Aa[0].Kg()) : a.C(0) }; J.prototype.ZA = function(a, b) { R(b, !0); Aa.length ? a.C(Aa[0].An(!0)) : a.C(0) }; F.n = new J })(); function Dc(g) { this.c = g } (function() { function g() { c && a && window.OfflineClientInfo && window.OfflineClientInfo.SetMessageCallback(function(a) { n.SF(a) }) } function l() {} function p() {} function f() {} var b = Dc.prototype; b.N = function(a) { this.W = a; this.c = a.c }; var d = b.N.prototype; d.I = function() {}; var c = !1, a = !1; document.addEventListener("DOMContentLoaded", function() { if (window.C2_RegisterSW && navigator.zc) { var a = document.createElement("script"); a.onload = function() { c = !0; g() }; a.src = "offlineClient.js"; document.head.appendChild(a) } }); var n = null; d.Sw = function() { a = !0; g() }; b.L = function(a) { this.type = a; this.c = a.c }; d = b.L.prototype; d.I = function() { var a = this; window.addEventListener("resize", function() { a.c.trigger(Dc.prototype.g.Tt, a) }); n = this; "undefined" !== typeof navigator.onLine && (window.addEventListener("online", function() { a.c.trigger(Dc.prototype.g.EA, a) }), window.addEventListener("offline", function() { a.c.trigger(Dc.prototype.g.CA, a) })); "undefined" !== typeof window.applicationCache && (window.applicationCache.addEventListener("updateready", function() { a.c.Wh = 1; a.c.trigger(Dc.prototype.g.nm, a) }), window.applicationCache.addEventListener("progress", function(b) { a.c.Wh = b.loaded / b.total || 0 })); this.c.Cc || (document.addEventListener("appMobi.device.update.available", function() { a.c.trigger(Dc.prototype.g.nm, a) }), document.addEventListener("backbutton", function() { a.c.trigger(Dc.prototype.g.hm, a) }), document.addEventListener("menubutton", function() { a.c.trigger(Dc.prototype.g.Nt, a) }), document.addEventListener("searchbutton", function() { a.c.trigger(Dc.prototype.g.IA, a) }), document.addEventListener("tizenhwkey", function(b) { var c; switch (b.keyName) { case "back": c = a.c.trigger(Dc.prototype.g.hm, a); !c && window.tizen && window.tizen.application.getCurrentApplication().exit(); break; case "menu": (c = a.c.trigger(Dc.prototype.g.Nt, a)) || b.preventDefault() } })); this.c.Nn && "undefined" !== typeof Windows ? Windows.UI.Core.SystemNavigationManager.getForCurrentView().addEventListener("backrequested", function(b) { a.c.trigger(Dc.prototype.g.hm, a) && (b.handled = !0) }) : this.c.Mn && WinJS.Application && (WinJS.Application.onbackclick = function() { return !!a.c.trigger(Dc.prototype.g.hm, a) }); this.c.Eu(function(b) { b ? a.c.trigger(Dc.prototype.g.FA, a) : a.c.trigger(Dc.prototype.g.GA, a) }); this.qF = "undefined" !== typeof window.is_scirra_arcade }; d.SF = function(a) { a = a.data.type; "downloading-update" === a ? this.c.trigger(Dc.prototype.g.MA, this) : "update-ready" === a || "update-pending" === a ? this.c.trigger(Dc.prototype.g.nm, this) : "offline-ready" === a && this.c.trigger(Dc.prototype.g.DA, this) }; l.prototype.Pz = function() { return navigator ? navigator.onLine : !1 }; l.prototype.EA = function() { return !0 }; l.prototype.CA = function() { return !0 }; l.prototype.nm = function() { return !0 }; l.prototype.GA = function() { return !0 }; l.prototype.FA = function() { return !0 }; l.prototype.Tt = function() { return !0 }; l.prototype.hm = function() { return !0 }; l.prototype.Nt = function() { return !0 }; l.prototype.IA = function() { return !0 }; l.prototype.Sz = function(a) { return (window.innerWidth <= window.innerHeight ? 0 : 1) === a }; l.prototype.MA = function() { return !0 }; l.prototype.nm = function() { return !0 }; l.prototype.DA = function() { return !0 }; b.g = new l; p.prototype.Dz = function(a, b) { this.c.vd ? CocoonJS.App.openURL(a) : this.c.ae ? ejecta.openURL(a) : this.c.Mn ? Windows.System.Launcher.launchUriAsync(new Windows.Foundation.Uri(a)) : navigator.app && navigator.app.loadUrl ? navigator.app.loadUrl(a, { openExternal: !0 }) : this.c.Uc ? window.open(a, "_system") : this.qF || this.c.kb || window.open(a, b) }; p.prototype.$y = function(a, b) { "undefined" !== typeof console && (0 === a && console.log && console.log(b.toString()), 1 === a && console.warn && console.warn(b.toString()), 2 === a && console.error && console.error(b.toString())) }; p.prototype.oz = function(a) { try { eval && eval(a) } catch (b) { console && console.error && console.error("Error executing Javascript: ", b) } }; b.j = new p; f.prototype.hz = function(a) { a.aa(this.c.kb ? "" : window.location.hostname) }; f.prototype.dB = function(a) { a.aa(this.c.kb ? "" : document.referrer) }; f.prototype.bC = function(a) { a.aa(this.c.kb ? "" : navigator.userAgent) }; f.prototype.nz = function(a, b) { if (eval) { var c = 0; try { c = eval(b) } catch (d) { console && console.error && console.error("Error executing Javascript: ", d) } "number" === typeof c ? a.Nd(c) : "string" === typeof c ? a.Nd(c) : "boolean" === typeof c ? a.Nd(c ? 1 : 0) : a.Nd(0) } else a.Nd(0) }; b.n = new f })(); function Ec(g) { this.c = g } (function() { function g() {} function l() {} function p() {} var f = Ec.prototype; f.N = function(b) { this.W = b; this.c = b.c }; f.N.prototype.I = function() {}; f.L = function(b) { this.type = b; this.c = b.c }; var b = f.L.prototype; b.I = function() { this.ed = {}; this.Rg = 0 }; b.$a = function() { return this.ed }; b.lb = function(b) { this.ed = b; this.Rg = 0; for (var c in this.ed) this.ed.hasOwnProperty(c) && this.Rg++ }; g.prototype.Ez = function(b) { return this.ed.hasOwnProperty(b) }; g.prototype.xp = function() { return 0 === this.Rg }; f.g = new g; l.prototype.vy = function(b, c) { this.ed.hasOwnProperty(b) || this.Rg++; this.ed[b] = c }; l.prototype.bt = function() { Za(this.ed); this.Rg = 0 }; l.prototype.vi = function(b) { var c; try { c = JSON.parse(b) } catch (a) { return } if (c.c2dictionary) { this.ed = c.data; this.Rg = 0; for (var f in this.ed) this.ed.hasOwnProperty(f) && this.Rg++ } }; f.j = new l; p.prototype.xz = function(b, c) { this.ed.hasOwnProperty(c) ? b.Nd(this.ed[c]) : b.G(0) }; p.prototype.zt = function(b) { b.G(this.Rg) }; p.prototype.tf = function(b) { b.aa(JSON.stringify({ c2dictionary: !0, data: this.ed })) }; f.n = new p })(); function yc(g) { this.c = g } (function() { function g() { this.name = ""; this.hi = 0; this.Cb = [] } function l() { n++; n === a.length && a.push(new g); return a[n] } function p() { return 0 > n ? null : a[n] } function f() {} function b() {} function d() {} var c = yc.prototype; c.N = function(a) { this.W = a; this.c = a.c }; c.N.prototype.I = function() {}; c.L = function(a) { this.type = a; this.c = a.c }; var a = [], n = -1; c.L.prototype.I = function() { var a = this; window.c2_callFunction = function(b, c) { var d, f, g, u = l(); u.name = b.toLowerCase(); u.hi = 0; if (c) for (u.Cb.length = c.length, d = 0, f = c.length; d < f; ++d) g = c[d], u.Cb[d] = "number" === typeof g || "string" === typeof g ? g : "boolean" === typeof g ? g ? 1 : 0 : 0; else B(u.Cb); a.c.trigger(yc.prototype.g.km, a, u.name); n--; return u.hi } }; f.prototype.km = function(a) { var b = p(); return b ? ob(a, b.name) : !1 }; f.prototype.Wy = function(a, b, c) { var d = p(); if (!d) return !1; a = ua(a); return 0 > a || a >= d.Cb.length ? !1 : lc(d.Cb[a], b, c) }; c.g = new f; b.prototype.CallFunction = function(a, b) { var c = l(); c.name = a.toLowerCase(); c.hi = 0; Da(c.Cb, b); this.c.trigger(yc.prototype.g.km, this, c.name); n-- }; b.prototype.HB = function(a) { var b = p(); b && (b.hi = a) }; c.j = new b; d.prototype.kB = function(b) { var c; a.length ? (c = n + 1, c >= a.length && (c = a.length - 1), c = a[c]) : c = null; c ? b.Nd(c.hi) : b.G(0) }; d.prototype.PA = function(a) { var b = p(); b ? a.G(b.Cb.length) : a.G(0) }; d.prototype.OA = function(a, b) { b = ua(b); var c = p(); c ? 0 <= b && b < c.Cb.length ? a.Nd(c.Cb[b]) : a.G(0) : a.G(0) }; d.prototype.Zs = function(a, b) { var c = l(); c.name = b.toLowerCase(); c.hi = 0; B(c.Cb); var d, f; d = 2; for (f = arguments.length; d < f; d++) c.Cb.push(arguments[d]); this.c.trigger(yc.prototype.g.km, this, c.name); n--; a.Nd(c.hi) }; c.n = new d })(); function Fc(g) { this.c = g } (function() { function g() {} var l = Fc.prototype; l.N = function(f) { this.W = f; this.c = f.c }; l.N.prototype.I = function() {}; l.L = function(f) { this.type = f; this.c = f.c }; var p = l.L.prototype; p.I = function() { }; p.yd = function() {}; p.$a = function() { return {} }; p.lb = function() {}; p.ud = function() {}; p.yc = function() {}; l.g = new function() {}; g.prototype.YB = function(f, b) { }; l.j = new g; l.n = new function() {} })(); var Gc = !1; try { ! function() { var g, l, p; ! function() { var f = {}, b = {}; g = function(b, c, a) { f[b] = { cD: c, QC: a } }; p = l = function(d) { function c(a) { if ("." !== a.charAt(0)) return a; a = a.split("/"); for (var b = d.split("/").slice(0, -1), c = 0, e = a.length; e > c; c++) { var f = a[c]; ".." === f ? b.pop() : "." !== f && b.push(f) } return b.join("/") } if (p.wI = f, b[d]) return b[d]; if (b[d] = {}, !f[d]) throw Error("Could not find module " + d); for (var a, g = f[d], h = g.cD, g = g.QC, e = [], t = 0, x = h.length; x > t; t++) "exports" === h[t] ? e.push(a = {}) : e.push(l(c(h[t]))); h = g.apply(this, e); return b[d] = a || h } }(); g("promise/all", ["./utils", "exports"], function(f, b) { var d = f.isArray, c = f.isFunction; b.all = function(a) { if (!d(a)) throw new TypeError("You must pass an array to all."); return new this(function(b, d) { function e(a) { return function(c) { g[a] = c; 0 === --m && b(g) } } var f, g = [], m = a.length; 0 === m && b([]); for (var q = 0; q < a.length; q++)(f = a[q]) && c(f.then) ? f.then(e(q), d) : (g[q] = f, 0 === --m && b(g)) }) } }); g("promise/asap", ["exports"], function(f) { function b() { return function() { process.YI(a) } } function d() { var b = 0, c = new e(a), d = document.createTextNode(""); return c.observe(d, { characterData: !0 }), function() { d.data = b = ++b % 2 } } function c() { return function() { l.setTimeout(a, 1) } } function a() { for (var a = 0; a < p.length; a++) { var b = p[a]; (0, b[0])(b[1]) } p = [] } var g, h = "undefined" != typeof window ? window : {}, e = h.MutationObserver || h.WebKitMutationObserver, l = "undefined" != typeof global ? global : void 0 === this ? window : this, p = []; g = "undefined" != typeof process && "[object process]" === {}.toString.call(process) ? b() : e ? d() : c(); f.IC = function(a, b) { 1 === p.push([a, b ]) && g() } }); g("promise/config", ["exports"], function(f) { var b = { NI: !1 }; f.Vu = b; f.VC = function(d, c) { return 2 !== arguments.length ? b[d] : void(b[d] = c) } }); g("promise/polyfill", ["./promise", "./utils", "exports"], function(f, b, d) { var c = f.Promise, a = b.isFunction; d.$F = function() { var b; b = "undefined" != typeof global ? global : "undefined" != typeof window && window.document ? window : self; "Promise" in b && "resolve" in b.Promise && "reject" in b.Promise && "all" in b.Promise && "race" in b.Promise && function() { var c; return new b.Promise(function(a) { c = a }), a(c) }() || (b.Promise = c) } }); g("promise/promise", "./config ./utils ./all ./race ./resolve ./reject ./asap exports".split(" "), function(f, b, d, c, a, g, h, e) { function l(a) { if (!M(a)) throw new TypeError("You must pass a resolver function as the first argument to the promise constructor"); if (!(this instanceof l)) throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); this.zm = []; p(a, this) } function p(a, b) { function c(a) { v(b, a) } function d(a) { r(b, a) } try { a(c, d) } catch (e) { d(e) } } function m(a, b, c, d) { var e, f, h, k, m = M(c); if (m) try { e = c(d), h = !0 } catch (g) { k = !0, f = g } else e = d, h = !0; w(b, e) || (m && h ? v(b, e) : k ? r(b, f) : a === J ? v(b, e) : a === F && r(b, e)) } function q(a, b, c, d) { a = a.zm; var e = a.length; a[e] = b; a[e + J] = c; a[e + F] = d } function u(a, b) { for (var c, d, e = a.zm, f = a.vm, h = 0; h < e.length; h += 3) c = e[h], d = e[h + b], m(b, c, d, f); a.zm = null } function w(a, b) { var c, d = null; try { if (a === b) throw new TypeError("A promises callback cannot return that same promise."); if (R(b) && (d = b.then, M(d))) return d.call(b, function(d) { return c ? !0 : (c = !0, void(b !== d ? v(a, d) : k(a, d))) }, function(b) { return c ? !0 : (c = !0, void r(a, b)) }), !0 } catch (e) { return c ? !0 : (r(a, e), !0) } return !1 } function v(a, b) { a === b ? k(a, b) : w(a, b) || k(a, b) } function k(a, b) { a.wf === G && (a.wf = E, a.vm = b, I.async(H, a)) } function r(a, b) { a.wf === G && (a.wf = E, a.vm = b, I.async(y, a)) } function H(a) { u(a, a.wf = J) } function y(a) { u(a, a.wf = F) } var I = f.Vu, R = (f.VC, b.MF), M = b.isFunction; f = (b.now, d.all); c = c.race; a = a.resolve; g = g.reject; I.async = h.IC; var G = void 0, E = 0, J = 1, F = 2; l.prototype = { constructor: l, wf: void 0, vm: void 0, zm: void 0, then: function(a, b) { var c = this, d = new this.constructor(function() {}); if (this.wf) { var e = arguments; I.async(function() { m(c.wf, d, e[c.wf - 1], c.vm) }) } else q(this, d, a, b); return d }, "catch": function(a) { return this.then(null, a) } }; l.all = f; l.race = c; l.resolve = a; l.reject = g; e.Promise = l }); g("promise/race", ["./utils", "exports"], function(f, b) { var d = f.isArray; b.race = function(b) { if (!d(b)) throw new TypeError("You must pass an array to race."); return new this(function(a, d) { for (var f, e = 0; e < b.length; e++)(f = b[e]) && "function" == typeof f.then ? f.then(a, d) : a(f) }) } }); g("promise/reject", ["exports"], function(f) { f.reject = function(b) { return new this(function(d, c) { c(b) }) } }); g("promise/resolve", ["exports"], function(f) { f.resolve = function(b) { return b && "object" == typeof b && b.constructor === this ? b : new this(function(d) { d(b) }) } }); g("promise/utils", ["exports"], function(f) { function b(b) { return "function" == typeof b } var d = Date.now || function() { return (new Date).getTime() }; f.MF = function(c) { return b(c) || "object" == typeof c && null !== c }; f.isFunction = b; f.isArray = function(b) { return "[object Array]" === Object.prototype.toString.call(b) }; f.now = d }); l("promise/polyfill").$F() }(); var Hc = function() { return function(g) { function l(f) { if (p[f]) return p[f].Ue; var b = p[f] = { Ue: {}, id: f, loaded: !1 }; return g[f].call(b.Ue, b, b.Ue, l), b.loaded = !0, b.Ue } var p = {}; return l.zc = g, l.dk = p, l.Dh = "", l(0) }([function(g, l, p) { l.um = !0; var f = function(b) { function d(a, b) { a[b] = function() { var c = arguments; return a.ready().then(function() { return a[b].apply(a, c) }) } } function c() { for (var a = 1; a < arguments.length; a++) { var b = arguments[a]; if (b) for (var c in b) b.hasOwnProperty(c) && (m(b[c]) ? arguments[0][c] = b[c].slice() : arguments[0][c] = b[c]) } return arguments[0] } function a(a) { for (var b in h) if (h.hasOwnProperty(b) && h[b] === a) return !0; return !1 } var f = {}, h = { Jj: "asyncStorage", Kj: "localStorageWrapper", Sj: "webSQLStorage" }, e = "clear getItem iterate key keys length removeItem setItem".split(" "), g = { description: "", Ii: [h.Jj, h.Sj, h.Kj].slice(), name: "localforage", size: 4980736, Ua: "keyvaluepairs", version: 1 }, l = function(a) { var b = {}, c; try { var d = d || a.indexedDB || a.webkitIndexedDB || a.mozIndexedDB || a.or || a.msIndexedDB; c = "undefined" != typeof a.openDatabase && a.navigator && a.navigator.userAgent && /Safari/.test(a.navigator.userAgent) && !/Chrome/.test(a.navigator.userAgent) ? !1 : d && "function" == typeof d.open && "undefined" != typeof a.IDBKeyRange } catch (e) { c = !1 } b[h.Jj] = !!c; var f; try { f = a.openDatabase } catch (m) { f = !1 } b[h.Sj] = !!f; var g; try { g = a.localStorage && "setItem" in a.localStorage && a.localStorage.setItem } catch (n) { g = !1 } return b[h.Kj] = !!g, b }(b), m = Array.isArray || function(a) { return "[object Array]" === Object.prototype.toString.call(a) }; return new(function() { function b(a) { if (!(this instanceof b)) throw new TypeError("Cannot call a class as a function"); this.Jj = h.Jj; this.Kj = h.Kj; this.Sj = h.Sj; this.Tp = c({}, g); this.nh = c({}, this.Tp, a); this.tu = this.Ne = null; this.qg = !1; this.Pa = null; this.xu(); this.Cx(this.nh.Ii) } return b.prototype.Vu = function(a) { if ("object" == typeof a) { if (this.qg) return Error("Can't call config() after localforage has been used."); for (var b in a) "storeName" === b && (a[b] = a[b].replace(/\W/g, "_")), this.nh[b] = a[b]; return "driver" in a && a.Ii && this.Cx(this.nh.Ii), !0 } return "string" == typeof a ? this.nh[a] : this.nh }, b.prototype.Ii = function() { return this.Wj || null }, b.prototype.zv = function(b, c, d) { var e = this, h = function() { if (a(b)) switch (b) { case e.Jj: return new Promise(function(a) { a(p(1)) }); case e.Kj: return new Promise(function(a) { a(p(2)) }); case e.Sj: return new Promise(function(a) { a(p(4)) }) } else if (f[b]) return Promise.resolve(f[b]); return Promise.reject(Error("Driver not found.")) }(); return h.then(c, d), h }, b.prototype.ready = function(a) { var b = this, c = b.Ne.then(function() { return null === b.qg && (b.qg = b.tu()), b.qg }); return c.then(a, a), c }, b.prototype.Cx = function(a, b, c) { function d() { f.nh.Ii = f.Ii() } function e(a) { return function() { function b() { for (; c < a.length;) { var e = a[c]; return c++, f.Pa = null, f.qg = null, f.zv(e).then(function(a) { return f.lC(a), d(), f.qg = f.Vp(f.nh), f.qg })["catch"](b) } d(); return f.Ne = Promise.reject(Error("No available storage method found.")), f.Ne } var c = 0; return b() } } var f = this; m(a) || (a = [a]); var h = this.qC(a); return this.Ne = (null !== this.Ne ? this.Ne["catch"](function() { return Promise.resolve() }) : Promise.resolve()).then(function() { var a = h[0]; return f.Pa = null, f.qg = null, f.zv(a).then(function(a) { f.Wj = a.Wj; d(); f.xu(); f.tu = e(h) }) })["catch"](function() { d(); return f.Ne = Promise.reject(Error("No available storage method found.")), f.Ne }), this.Ne.then(b, c), this.Ne }, b.prototype.supports = function(a) { return !!l[a] }, b.prototype.lC = function(a) { c(this, a) }, b.prototype.qC = function(a) { for (var b = [], c = 0, d = a.length; d > c; c++) { var e = a[c]; this.supports(e) && b.push(e) } return b }, b.prototype.xu = function() { for (var a = 0; a < e.length; a++) d(this, e[a]) }, b.prototype.Sm = function(a) { return new b(a) }, b }()) }("undefined" != typeof window ? window : self); l["default"] = f; g.Ue = l["default"] }, function(g, l) { l.um = !0; l["default"] = function(g) { function f(a, b) { a = a || []; b = b || {}; try { return new Blob(a, b) } catch (c) { if ("TypeError" !== c.name) throw c; for (var d = new(g.BlobBuilder || g.Dh || g.Nk || g.WebKitBlobBuilder), e = 0; e < a.length; e += 1) d.append(a[e]); return d.getBlob(b.type) } } function b(a) { return new Promise(function(b, c) { var d = new XMLHttpRequest; d.open("GET", a); d.withCredentials = !0; d.responseType = "arraybuffer"; d.onreadystatechange = function() { return 4 === d.readyState ? 200 === d.status ? b({ response: d.response, type: d.getResponseHeader("Content-Type") }) : void c({ status: d.status, response: d.response }) : void 0 }; d.send() }) } function d(a) { return (new Promise(function(c, d) { var e = f([""], { type: "image/png" }), h = a.transaction([G], "readwrite"); h.objectStore(G).put(e, "key"); h.oncomplete = function() { var e = a.transaction([G], "readwrite").objectStore(G).get("key"); e.onerror = d; e.onsuccess = function(a) { var d = URL.createObjectURL(a.target.result); b(d).then(function(a) { c(!(!a || "image/png" !== a.type)) }, function() { c(!1) }).then(function() { URL.revokeObjectURL(d) }) } }; h.onerror = h.onabort = d }))["catch"](function() { return !1 }) } function c(a) { return "boolean" == typeof R ? Promise.resolve(R) : d(a).then(function(a) { return R = a }) } function a(a) { return new Promise(function(b, c) { var d = new FileReader; d.onerror = c; d.onloadend = function(c) { b({ ru: !0, data: btoa(c.target.result || ""), type: a.type }) }; d.readAsBinaryString(a) }) } function n(a) { for (var b = atob(a.data), c = b.length, d = new ArrayBuffer(c), e = new Uint8Array(d), h = 0; c > h; h++) e[h] = b.charCodeAt(h); return f([d], { type: a.type }) } function h(a) { var b = this, c = b.Up().then(function() { var a = M[b.Pa.name]; return a && a.Gi ? a.Gi : void 0 }); return c.then(a, a), c } function e(a) { a = M[a.name]; var b = {}; b.promise = new Promise(function(a) { b.resolve = a }); a.$u.push(b); a.Gi ? a.Gi = a.Gi.then(function() { return b.promise }) : a.Gi = b.promise } function l(a) { function b() { return Promise.resolve() } var c = this, d = { db: null }; if (a) for (var e in a) d[e] = a[e]; M || (M = {}); var f = M[d.name]; f || (f = { qn: [], db: null, Gi: null, $u: [] }, M[d.name] = f); f.qn.push(c); c.Up || (c.Up = c.ready, c.ready = h); a = []; for (e = 0; e < f.qn.length; e++) { var k = f.qn[e]; k !== c && a.push(k.Up()["catch"](b)) } var m = f.qn.slice(0); return Promise.all(a).then(function() { return d.db = f.db, x(d, !1) }).then(function(a) { d.db = a; var b; b = c.Tp.version; if (d.db) { var e = !d.db.objectStoreNames.contains(d.Ua), f = d.version > d.db.version; (d.version < d.db.version && (d.version !== b && g.console.warn('The database "' + d.name + "\" can't be downgraded from version " + d.db.version + " to version " + d.version + "."), d.version = d.db.version), f || e) ? (e && (b = d.db.version + 1, b > d.version && (d.version = b)), b = !0) : b = !1 } else b = !0; return b ? x(d, !0) : a }).then(function(a) { d.db = f.db = a; c.Pa = d; for (a = 0; a < m.length; a++) { var b = m[a]; b !== c && (b.Pa.db = d.db, b.Pa.version = d.version) } }) } function x(a, b) { return new Promise(function(c, d) { if (a.db) { if (!b) return c(a.db); e(a); a.db.close() } var f = [a.name]; b && f.push(a.version); var h = I.open.apply(I, f); b && (h.onupgradeneeded = function(b) { var c = h.result; try { c.createObjectStore(a.Ua), 1 >= b.oldVersion && c.createObjectStore(G) } catch (d) { if ("ConstraintError" !== d.name) throw d; g.console.warn('The database "' + a.name + '" has been upgraded from version ' + b.oldVersion + " to version " + b.newVersion + ', but the storage "' + a.Ua + '" already exists.') } }); h.onerror = function() { d(h.error) }; h.onsuccess = function() { c(h.result); var b = M[a.name].$u.pop(); b && b.resolve() } }) } function m(a, b) { var c = this; "string" != typeof a && (g.console.warn(a + " used as a key, but it is not a string."), a = String(a)); var d = new Promise(function(b, d) { c.ready().then(function() { var e = c.Pa, f = e.db.transaction(e.Ua, "readonly").objectStore(e.Ua).get(a); f.onsuccess = function() { var a = f.result; void 0 === a && (a = null); a && a.ru && (a = n(a)); b(a) }; f.onerror = function() { d(f.error) } })["catch"](d) }); return y(d, b), d } function q(a, b) { var c = this, d = new Promise(function(b, d) { c.ready().then(function() { var e = c.Pa, f = e.db.transaction(e.Ua, "readonly").objectStore(e.Ua).openCursor(), h = 1; f.onsuccess = function() { var c = f.result; if (c) { var d = c.value; d && d.ru && (d = n(d)); d = a(d, c.key, h++); void 0 !== d ? b(d) : c["continue"]() } else b() }; f.onerror = function() { d(f.error) } })["catch"](d) }); return y(d, b), d } function u(b, d, e) { var f = this; "string" != typeof b && (g.console.warn(b + " used as a key, but it is not a string."), b = String(b)); var h = new Promise(function(e, h) { var k; f.ready().then(function() { return k = f.Pa, d instanceof Blob ? c(k.db).then(function(b) { return b ? d : a(d) }) : d }).then(function(a) { var c = k.db.transaction(k.Ua, "readwrite"), d = c.objectStore(k.Ua); null === a && (a = void 0); c.oncomplete = function() { void 0 === a && (a = null); e(a) }; c.onabort = c.onerror = function() { h(f.error ? f.error : f.transaction.error) }; var f = d.put(a, b) })["catch"](h) }); return y(h, e), h } function w(a, b) { var c = this; "string" != typeof a && (g.console.warn(a + " used as a key, but it is not a string."), a = String(a)); var d = new Promise(function(b, d) { c.ready().then(function() { var e = c.Pa, f = e.db.transaction(e.Ua, "readwrite"), h = f.objectStore(e.Ua)["delete"](a); f.oncomplete = function() { b() }; f.onerror = function() { d(h.error) }; f.onabort = function() { d(h.error ? h.error : h.transaction.error) } })["catch"](d) }); return y(d, b), d } function v(a) { var b = this, c = new Promise(function(a, c) { b.ready().then(function() { var d = b.Pa, e = d.db.transaction(d.Ua, "readwrite"), f = e.objectStore(d.Ua).clear(); e.oncomplete = function() { a() }; e.onabort = e.onerror = function() { c(f.error ? f.error : f.transaction.error) } })["catch"](c) }); return y(c, a), c } function k(a) { var b = this, c = new Promise(function(a, c) { b.ready().then(function() { var d = b.Pa, e = d.db.transaction(d.Ua, "readonly").objectStore(d.Ua).count(); e.onsuccess = function() { a(e.result) }; e.onerror = function() { c(e.error) } })["catch"](c) }); return y(c, a), c } function r(a, b) { var c = this, d = new Promise(function(b, d) { return 0 > a ? void b(null) : void c.ready().then(function() { var e = c.Pa, f = !1, h = e.db.transaction(e.Ua, "readonly").objectStore(e.Ua).openCursor(); h.onsuccess = function() { var c = h.result; return c ? void(0 === a ? b(c.key) : f ? b(c.key) : (f = !0, c.advance(a))) : void b(null) }; h.onerror = function() { d(h.error) } })["catch"](d) }); return y(d, b), d } function H(a) { var b = this, c = new Promise(function(a, c) { b.ready().then(function() { var d = b.Pa, e = d.db.transaction(d.Ua, "readonly").objectStore(d.Ua).openCursor(), f = []; e.onsuccess = function() { var b = e.result; return b ? (f.push(b.key), void b["continue"]()) : void a(f) }; e.onerror = function() { c(e.error) } })["catch"](c) }); return y(c, a), c } function y(a, b) { b && a.then(function(a) { b(null, a) }, function(a) { b(a) }) } var I = I || g.indexedDB || g.webkitIndexedDB || g.mozIndexedDB || g.or || g.msIndexedDB; if (I) { var R, M, G = "local-forage-detect-blob-support"; return { Wj: "asyncStorage", Vp: l, Vv: q, getItem: m, setItem: u, removeItem: w, clear: v, length: k, key: r, keys: H } } }("undefined" != typeof window ? window : self); g.Ue = l["default"] }, function(g, l, p) { l.um = !0; l["default"] = function(f) { function b(a, b) { b && a.then(function(a) { b(null, a) }, function(a) { b(a) }) } var d = null; try { if (!(f.localStorage && "setItem" in f.localStorage)) return; d = f.localStorage } catch (c) { return } return { Wj: "localStorageWrapper", Vp: function(a) { var b = {}; if (a) for (var c in a) b[c] = a[c]; return b.bf = b.name + "/", b.Ua !== this.Tp.Ua && (b.bf += b.Ua + "/"), this.Pa = b, (new Promise(function(a) { a(p(3)) })).then(function(a) { return b.ii = a, Promise.resolve() }) }, Vv: function(a, c) { var f = this, e = f.ready().then(function() { for (var b = f.Pa, c = b.bf, e = c.length, g = d.length, n = 1, l = 0; g > l; l++) { var p = d.key(l); if (0 === p.indexOf(c)) { var k = d.getItem(p); if (k && (k = b.ii.an(k)), k = a(k, p.substring(e), n++), void 0 !== k) return k } } }); return b(e, c), e }, getItem: function(a, c) { var h = this; "string" != typeof a && (f.console.warn(a + " used as a key, but it is not a string."), a = String(a)); var e = h.ready().then(function() { var b = h.Pa, c = d.getItem(b.bf + a); return c && (c = b.ii.an(c)), c }); return b(e, c), e }, setItem: function(a, c, h) { var e = this; "string" != typeof a && (f.console.warn(a + " used as a key, but it is not a string."), a = String(a)); var g = e.ready().then(function() { void 0 === c && (c = null); var b = c; return new Promise(function(f, h) { var g = e.Pa; g.ii.serialize(c, function(c, e) { if (e) h(e); else try { d.setItem(g.bf + a, c), f(b) } catch (k) { "QuotaExceededError" !== k.name && "NS_ERROR_DOM_QUOTA_REACHED" !== k.name || h(k), h(k) } }) }) }); return b(g, h), g }, removeItem: function(a, c) { var h = this; "string" != typeof a && (f.console.warn(a + " used as a key, but it is not a string."), a = String(a)); var e = h.ready().then(function() { d.removeItem(h.Pa.bf + a) }); return b(e, c), e }, clear: function(a) { var c = this, f = c.ready().then(function() { for (var a = c.Pa.bf, b = d.length - 1; 0 <= b; b--) { var f = d.key(b); 0 === f.indexOf(a) && d.removeItem(f) } }); return b(f, a), f }, length: function(a) { var c = this.keys().then(function(a) { return a.length }); return b(c, a), c }, key: function(a, c) { var f = this, e = f.ready().then(function() { var b, c = f.Pa; try { b = d.key(a) } catch (e) { b = null } return b && (b = b.substring(c.bf.length)), b }); return b(e, c), e }, keys: function(a) { var c = this, f = c.ready().then(function() { for (var a = c.Pa, b = d.length, f = [], h = 0; b > h; h++) 0 === d.key(h).indexOf(a.bf) && f.push(d.key(h).substring(a.bf.length)); return f }); return b(f, a), f } } }("undefined" != typeof window ? window : self); g.Ue = l["default"] }, function(g, l) { l.um = !0; l["default"] = function(g) { function f(a) { var b, c, e, f, g; b = .75 * a.length; var m = a.length, q = 0; "=" === a[a.length - 1] && (b--, "=" === a[a.length - 2] && b--); var l = new ArrayBuffer(b), w = new Uint8Array(l); for (b = 0; m > b; b += 4) c = d.indexOf(a[b]), e = d.indexOf(a[b + 1]), f = d.indexOf(a[b + 2]), g = d.indexOf(a[b + 3]), w[q++] = c << 2 | e >> 4, w[q++] = (15 & e) << 4 | f >> 2, w[q++] = (3 & f) << 6 | 63 & g; return l } function b(a) { var b = new Uint8Array(a), c = ""; for (a = 0; a < b.length; a += 3) c += d[b[a] >> 2], c += d[(3 & b[a]) << 4 | b[a + 1] >> 4], c += d[(15 & b[a + 1]) << 2 | b[a + 2] >> 6], c += d[63 & b[a + 2]]; return 2 === b.length % 3 ? c = c.substring(0, c.length - 1) + "=" : 1 === b.length % 3 && (c = c.substring(0, c.length - 2) + "=="), c } var d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = /^~~local_forage_type~([^~]+)~/; return { serialize: function(a, c) { var d = ""; if (a && (d = a.toString()), a && ("[object ArrayBuffer]" === a.toString() || a.buffer && "[object ArrayBuffer]" === a.buffer.toString())) { var e, f = "__lfsc__:"; a instanceof ArrayBuffer ? (e = a, f += "arbf") : (e = a.buffer, "[object Int8Array]" === d ? f += "si08" : "[object Uint8Array]" === d ? f += "ui08" : "[object Uint8ClampedArray]" === d ? f += "uic8" : "[object Int16Array]" === d ? f += "si16" : "[object Uint16Array]" === d ? f += "ur16" : "[object Int32Array]" === d ? f += "si32" : "[object Uint32Array]" === d ? f += "ui32" : "[object Float32Array]" === d ? f += "fl32" : "[object Float64Array]" === d ? f += "fl64" : c(Error("Failed to get type for BinaryArray"))); c(f + b(e)) } else if ("[object Blob]" === d) d = new FileReader, d.onload = function() { var d = "~~local_forage_type~" + a.type + "~" + b(this.result); c("__lfsc__:blob" + d) }, d.readAsArrayBuffer(a); else try { c(JSON.stringify(a)) } catch (g) { console.error("Couldn't convert value into a JSON string: ", a), c(null, g) } }, an: function(a) { if ("__lfsc__:" !== a.substring(0, 9)) return JSON.parse(a); var b, d = a.substring(13); a = a.substring(9, 13); if ("blob" === a && c.test(d)) { var e = d.match(c); b = e[1]; d = d.substring(e[0].length) } d = f(d); switch (a) { case "arbf": return d; case "blob": var l; d = [d]; b = { type: b }; d = d || []; b = b || {}; try { l = new Blob(d, b) } catch (x) { if ("TypeError" !== x.name) throw x; l = new(g.BlobBuilder || g.Dh || g.Nk || g.WebKitBlobBuilder); for (a = 0; a < d.length; a += 1) l.append(d[a]); l = l.getBlob(b.type) } return l; case "si08": return new Int8Array(d); case "ui08": return new Uint8Array(d); case "uic8": return new Uint8ClampedArray(d); case "si16": return new Int16Array(d); case "ur16": return new Uint16Array(d); case "si32": return new Int32Array(d); case "ui32": return new Uint32Array(d); case "fl32": return new Float32Array(d); case "fl64": return new Float64Array(d); default: throw Error("Unkown type: " + a); } }, hJ: f, BI: b } }("undefined" != typeof window ? window : self); g.Ue = l["default"] }, function(g, l, p) { l.um = !0; l["default"] = function(f) { function b(a) { var b = this, c = { db: null }; if (a) for (var d in a) c[d] = "string" != typeof a[d] ? a[d].toString() : a[d]; var e = new Promise(function(a, d) { try { c.db = q(c.name, String(c.version), c.description, c.size) } catch (e) { return d(e) } c.db.transaction(function(e) { e.executeSql("CREATE TABLE IF NOT EXISTS " + c.Ua + " (id INTEGER PRIMARY KEY, key unique, value)", [], function() { b.Pa = c; a() }, function(a, b) { d(b) }) }) }); return (new Promise(function(a) { a(p(3)) })).then(function(a) { return c.ii = a, e }) } function d(a, b) { var c = this; "string" != typeof a && (f.console.warn(a + " used as a key, but it is not a string."), a = String(a)); var d = new Promise(function(b, d) { c.ready().then(function() { var e = c.Pa; e.db.transaction(function(c) { c.executeSql("SELECT * FROM " + e.Ua + " WHERE key = ? LIMIT 1", [a], function(a, c) { var d = c.rows.length ? c.rows.item(0).value : null; d && (d = e.ii.an(d)); b(d) }, function(a, b) { d(b) }) }) })["catch"](d) }); return m(d, b), d } function c(a, b) { var c = this, d = new Promise(function(b, d) { c.ready().then(function() { var e = c.Pa; e.db.transaction(function(c) { c.executeSql("SELECT * FROM " + e.Ua, [], function(c, d) { for (var f = d.rows, h = f.length, k = 0; h > k; k++) { var g = f.item(k), m = g.value; if (m && (m = e.ii.an(m)), m = a(m, g.key, k + 1), void 0 !== m) return void b(m) } b() }, function(a, b) { d(b) }) }) })["catch"](d) }); return m(d, b), d } function a(a, b, c) { var d = this; "string" != typeof a && (f.console.warn(a + " used as a key, but it is not a string."), a = String(a)); var e = new Promise(function(c, e) { d.ready().then(function() { void 0 === b && (b = null); var f = b, h = d.Pa; h.ii.serialize(b, function(b, d) { d ? e(d) : h.db.transaction(function(d) { d.executeSql("INSERT OR REPLACE INTO " + h.Ua + " (key, value) VALUES (?, ?)", [a, b], function() { c(f) }, function(a, b) { e(b) }) }, function(a) { a.code === a.QUOTA_ERR && e(a) }) }) })["catch"](e) }); return m(e, c), e } function g(a, b) { var c = this; "string" != typeof a && (f.console.warn(a + " used as a key, but it is not a string."), a = String(a)); var d = new Promise(function(b, d) { c.ready().then(function() { var e = c.Pa; e.db.transaction(function(c) { c.executeSql("DELETE FROM " + e.Ua + " WHERE key = ?", [a], function() { b() }, function(a, b) { d(b) }) }) })["catch"](d) }); return m(d, b), d } function h(a) { var b = this, c = new Promise(function(a, c) { b.ready().then(function() { var d = b.Pa; d.db.transaction(function(b) { b.executeSql("DELETE FROM " + d.Ua, [], function() { a() }, function(a, b) { c(b) }) }) })["catch"](c) }); return m(c, a), c } function e(a) { var b = this, c = new Promise(function(a, c) { b.ready().then(function() { var d = b.Pa; d.db.transaction(function(b) { b.executeSql("SELECT COUNT(key) as c FROM " + d.Ua, [], function(b, c) { var d = c.rows.item(0).dk; a(d) }, function(a, b) { c(b) }) }) })["catch"](c) }); return m(c, a), c } function l(a, b) { var c = this, d = new Promise(function(b, d) { c.ready().then(function() { var e = c.Pa; e.db.transaction(function(c) { c.executeSql("SELECT key FROM " + e.Ua + " WHERE id = ? LIMIT 1", [a + 1], function(a, c) { var d = c.rows.length ? c.rows.item(0).key : null; b(d) }, function(a, b) { d(b) }) }) })["catch"](d) }); return m(d, b), d } function x(a) { var b = this, c = new Promise(function(a, c) { b.ready().then(function() { var d = b.Pa; d.db.transaction(function(b) { b.executeSql("SELECT key FROM " + d.Ua, [], function(b, c) { for (var d = [], e = 0; e < c.rows.length; e++) d.push(c.rows.item(e).key); a(d) }, function(a, b) { c(b) }) }) })["catch"](c) }); return m(c, a), c } function m(a, b) { b && a.then(function(a) { b(null, a) }, function(a) { b(a) }) } var q = f.openDatabase; if (q) return { Wj: "webSQLStorage", Vp: b, Vv: c, getItem: d, setItem: a, removeItem: g, clear: h, length: e, key: l, keys: x } }("undefined" != typeof window ? window : self); g.Ue = l["default"] }]) }; "object" == typeof exports && "object" == typeof module ? module.Ue = Hc() : "function" == typeof define && define.zI ? define([], Hc) : "object" == typeof exports ? exports.localforage = Hc() : this.localforage = Hc() } catch (Ic) { Gc = !0 } function Jc(g) { this.c = g } (function() { function g(a) { a.c.trigger(Jc.prototype.g.ng, a) } function l() {} function p() {} function f() {} var b = "", d = "", c = [], a = "", n = "undefined" !== typeof window.is_scirra_arcade; n && (a = "sa" + window.scirra_arcade_id + "_"); var h = Jc.prototype; h.N = function(a) { this.W = a; this.c = a.c }; h.N.prototype.I = function() {}; h.L = function(a) { this.type = a; this.c = a.c }; var e = h.L.prototype; e.I = function() { this.Vr = this.Wr = 0 }; e.yd = function() {}; e.$a = function() { return {} }; e.lb = function() {}; l.prototype.Jt = function(a) { return b === a }; l.prototype.pA = function() { return !0 }; l.prototype.It = function(a) { return b === a }; l.prototype.Bt = function() { return !0 }; l.prototype.sA = function() { return !0 }; l.prototype.ng = function() { return !0 }; l.prototype.lA = function() { return !0 }; l.prototype.kA = function() { return !0 }; h.g = new l; p.prototype.AB = function(c, e) { if (Gc) g(this); else { var f = a + c; this.Wr++; var h = this; localforage.setItem(f, e, function(a, e) { h.Wr--; a ? h.c.trigger(Jc.prototype.g.ng, h) : (b = c, d = e, h.c.trigger(Jc.prototype.g.pA, h), h.c.trigger(Jc.prototype.g.Jt, h), d = b = ""); 0 === h.Wr && h.c.trigger(Jc.prototype.g.lA, h) }) } }; p.prototype.Az = function(c) { if (Gc) g(this); else { var e = a + c; this.Vr++; var f = this; localforage.getItem(e, function(a, e) { f.Vr--; if (a) f.c.trigger(Jc.prototype.g.ng, f); else { b = c; d = e; if ("undefined" === typeof d || null === d) d = ""; f.c.trigger(Jc.prototype.g.Bt, f); f.c.trigger(Jc.prototype.g.It, f); d = b = "" } 0 === f.Vr && f.c.trigger(Jc.prototype.g.kA, f) }) } }; p.prototype.Oy = function() { if (Gc) g(this); else if (!n) { var a = this; localforage.clear(function(e) { e ? a.c.trigger(Jc.prototype.g.ng, a) : (d = b = "", B(c), a.c.trigger(Jc.prototype.g.sA, a)) }) } }; h.j = new p; f.prototype.Xz = function(a) { a.Nd(d) }; f.prototype.$z = function(a) { a.aa(b) }; f.prototype.zt = function(a) { a.G(c.length) }; h.n = new f })(); function Kc(g) { this.c = g } (function() { function g() {} function l() {} var p = Kc.prototype; p.N = function(b) { this.W = b; this.c = b.c }; p.N.prototype.I = function() {}; p.L = function(b) { this.type = b; this.c = b.c; this.Ci = Array(4); this.$x = this.gp = this.oi = this.Xg = this.Wg = 0; this.Tq = !1 }; var f = p.L.prototype; f.I = function() { var b = this; if (!this.c.kb) { jQuery(document).mousemove(function(a) { b.Nr(a) }); jQuery(document).mousedown(function(a) { b.Mr(a) }); jQuery(document).mouseup(function(a) { b.Or(a) }); jQuery(document).dblclick(function(a) { b.RF(a) }); var c = function(a) { b.UF(a) }; document.addEventListener("mousewheel", c, !1); document.addEventListener("DOMMouseScroll", c, !1) } }; var b = { left: 0, top: 0 }; f.Nr = function(d) { var c = this.c.kb ? b : jQuery(this.c.canvas).offset(); this.Wg = d.pageX - c.left; this.Xg = d.pageY - c.top }; f.Aw = function() { return 0 < this.c.Pc ? !0 : 0 <= this.Wg && 0 <= this.Xg && this.Wg < this.c.width && this.Xg < this.c.height }; f.Mr = function(b) { this.Aw() && (this.Ci[b.which] = !0, this.c.Dc = !0, this.c.trigger(Kc.prototype.g.oA, this), this.oi = b.which - 1, this.gp = 0, this.c.trigger(Kc.prototype.g.Ct, this), this.c.trigger(Kc.prototype.g.Qt, this), this.c.Dc = !1) }; f.Or = function(b) { this.Ci[b.which] && (this.c.Cn && !this.c.Pg && b.preventDefault(), this.c.Cn = !0, this.Ci[b.which] = !1, this.c.Dc = !0, this.oi = b.which - 1, this.c.trigger(Kc.prototype.g.St, this), this.c.Dc = !1) }; f.RF = function(b) { this.Aw() && (b.preventDefault(), this.c.Dc = !0, this.oi = b.which - 1, this.gp = 1, this.c.trigger(Kc.prototype.g.Ct, this), this.c.trigger(Kc.prototype.g.Qt, this), this.c.Dc = !1) }; f.UF = function(b) { this.$x = 0 > (b.wheelDelta ? b.wheelDelta : b.detail ? -b.detail : 0) ? 0 : 1; this.Tq = !1; this.c.Dc = !0; this.c.trigger(Kc.prototype.g.Wt, this); this.c.Dc = !1; this.Tq && pb(b) && b.preventDefault() }; f.mj = function() { var b, c; b = 0; for (c = this.Ci.length; b < c; ++b) this.Ci[b] && (this.Ci[b] = !1, this.oi = b - 1, this.c.trigger(Kc.prototype.g.St, this)) }; g.prototype.Ct = function(b, c) { return b === this.oi && c === this.gp }; g.prototype.oA = function() { return !0 }; g.prototype.St = function(b) { return b === this.oi }; g.prototype.Qt = function(b, c, a) { return b !== this.oi || c !== this.gp ? !1 : this.c.Nl(a, this.Wg, this.Xg) }; g.prototype.Wt = function(b) { this.Tq = !0; return b === this.$x }; p.g = new g; p.j = new function() {}; l.prototype.kh = function(b, c) { var a, f, h, e, g; ia(c) ? (a = this.c.Qc(0), f = a.scale, h = a.Fb, e = a.Gc, g = a.q, a.scale = 1, a.Fb = 1, a.Gc = 1, a.q = 0, b.C(a.nb(this.Wg, this.Xg, !0)), a.scale = f, a.Fb = h, a.Gc = e, a.q = g) : (a = ja(c) ? this.c.Qc(c) : this.c.ze(c)) ? b.C(a.nb(this.Wg, this.Xg, !0)) : b.C(0) }; l.prototype.mh = function(b, c) { var a, f, h, e, g; ia(c) ? (a = this.c.Qc(0), f = a.scale, h = a.Fb, e = a.Hc, g = a.q, a.scale = 1, a.Fb = 1, a.Hc = 1, a.q = 0, b.C(a.nb(this.Wg, this.Xg, !1)), a.scale = f, a.Fb = h, a.Hc = e, a.q = g) : (a = ja(c) ? this.c.Qc(c) : this.c.ze(c)) ? b.C(a.nb(this.Wg, this.Xg, !1)) : b.C(0) }; p.n = new l })(); function Lc(g) { this.c = g }(function() { function g() {} function l() {} var p = Lc.prototype; p.N = function(b) { this.W = b; this.c = b.c }; p.N.prototype.I = function() {}; p.L = function(b) { this.type = b; this.c = b.c }; var f = p.L.prototype; f.I = function() {}; f.yd = function() {}; p.g = new g; g.prototype.At = function() { return !0 }; p.j = new l; l.prototype.At = function() {}; p.n = new function() {} })(); function Mc(g) { this.c = g } (function() { function g() {} function l() {} var p = Mc.prototype; p.N = function(b) { this.W = b; this.c = b.c }; p.N.prototype.I = function() {}; p.L = function(b) { this.type = b; this.c = b.c }; var f = p.L.prototype; f.I = function() { this.rF = 1 == this.u[0]; this.am = [] }; f.$a = function() { return { wl: this.am } }; f.lb = function(b) { this.am = b.wl }; p.g = new g; g.prototype.Iy = function() { var b = window.top == window; if (this.rF) return b; if (b) return !0; b = document.referrer; if ("" == b) return !0; var d = this.am.length, c; for (c = 0; c < d; c++) if (-1 != b.indexOf(this.am[c])) return !0; return !1 }; p.j = new l; l.prototype.Ay = function(b) { this.am.push(b) }; p.n = new function() {} })(); var Nc = 0, Oc = 0, Pc = 100, Qc = 100, Rc = "", Sc = []; Sc[Nc] = []; function Tc(g) { this.c = g } (function() { function g() {} function l() {} function p() {} var f = Tc.prototype; f.N = function(b) { this.W = b; this.c = b.c }; f.N.prototype.I = function() {}; f.L = function(b) { this.type = b; this.c = b.c }; var b = f.L.prototype; b.I = function() { this.tg = new Tc.zc(this); this.Yj = null; this.pg = {} }; b.Vt = function(b, c) { this.Yj = b; this.pg = c; this.c.trigger(Tc.prototype.g.HA, this) }; b.Mt = function(b, c) { this.Yj = b; this.pg = c; this.c.trigger(Tc.prototype.g.Lt, this) }; f.g = new g; g.prototype.HA = function(b) { if (b) return this.tg.om(b, this.Yj) }; g.prototype.Lt = function(b) { if (b) return this.tg.om(b, this.Yj) }; f.j = new l; l.prototype.dm = function() { this.tg.dm() }; l.prototype.Kp = function(b, c, a, f) { b && this.tg.Kp(b, c, a, f) }; l.prototype.gA = function(b, c, a, f) { Pc = b; Qc = c; Rc = a; Oc = f; this.tg.cA() }; l.prototype.SB = function(b) { this.tg.Zz(b) }; l.prototype.fz = function(b) { this.tg.kC(b) }; f.n = new p; p.prototype.Dy = function(b) { var c = this.tg.Qp(); b.aa(c) } })(); (function() { function g(b, a) { var f = d.Os[b.uid], h = d.Os[a.uid]; return null != f && null != h ? f > h ? 1 : f < h ? -1 : 0 : null == f && null == h ? 0 : null == h ? 1 : -1 } function l(b) { this.W = b; this.hh() } function p(b) { for (var a in b) delete b[a]; return b } function f(b, a) { var d = null == a ? {} : a, f; for (f in b) d[f] = b[f]; return d } Tc.zc = function(b) { this.W = b; this.ZE = null != b.Vt; this.YE = null != b.Mt; this.Zj = new l(b); this.vf = {}; this.ym = {}; this.pg = {}; this.dm() }; var b = Tc.zc.prototype; b.dm = function() { p(this.vf) }; b.uC = function(b) { this.Yj = b; p(this.pg); this.W.Vt(b, this.pg); return f(this.pg) }; b.rC = function(b) { var a = this.vf[b]; null == a ? (a = {}, this.vf[b] = a) : a = null; return a }; b.AC = function(b, a, d, f) { W && b instanceof W.prototype.L ? (a.plugin = "Sprite", a.cur_frame = b.U, a.cur_anim_speed = b.Eg, a.cur_anim_name = b.Ga.name) : oc.Text && b instanceof oc.Text.prototype.L ? (a.plugin = "Text", a.content = b.text) : a.plugin = "World"; a.x = b.x + d; a.y = b.y + f; a.width = b.width; a.height = b.height; a.angle = b.q; a.opacity = b.opacity; a.visible = b.visible; a.layer = b.F.index; a.z_order = b.F.k.indexOf(b) }; b.xC = function(b, a) { a.plugin = "Array"; a.content = b.wv() }; b.yC = function(b, a) { a.plugin = "Dictionary"; a.content = JSON.stringify({ c2dictionary: !0, data: b.ed }) }; b.zC = function(b, a) { if (b.gc) { a.container_insts = {}; var d, f = b.siblings.length, e; for (d = 0; d < f; d++) e = b.siblings[d], a.container_insts[e.type.name] = e.uid, e = this.Zt(xS_offset, yS_offset, e, !0), e.create_me = !1 } }; b.Zt = function(b, a, d, f) { var e = this.rC(d.uid); if (null != e) return e.create_me = !0, e.saveduid = d.uid, d.type.W.$e ? this.AC(d, e, b, a) : Bc && d instanceof Bc.prototype.L ? this.xC(d, e) : Ec && d instanceof Ec.prototype.L && this.yC(d, e), e.type = d.type.name, e.inst_vars = d.Lb.slice(), e.custom_data = this.ZE ? this.uC(d) : {}, f || this.zC(d, e), e }; b.Kp = function(b, a, d, f) { b = b.V(); var e = b.X; 1 == a && (b.X = !0); a = b.tb().slice(); a.mJ = d; a.nJ = f; var g = a.length, l; for (l = 0; l < g; l++) this.Zt(d, f, a[l]); b.X = e }; b.tC = function(b, a) { f(a, p(this.pg)); this.W.Mt(b, this.pg) }; b.pC = function(b, a) { "Sprite" == a.plugin ? (b.Eg = a.cur_anim_speed, W.prototype.j.bu.apply(b, [a.cur_frame]), W.prototype.j.au.apply(b, [a.cur_anim_name, 1])) : "Text" == a.plugin && oc.Text.prototype.j.gu.apply(b, [a.content]); b.x = a.x + Pc; b.y = a.y + Qc; b.width = a.width; b.height = a.height; b.q = a.angle; b.opacity = a.opacity; b.visible = a.visible }; b.mC = function(b, a) { Bc.prototype.j.vi.apply(b, [a.content]) }; b.nC = function(b, a) { Ec.prototype.j.vi.apply(b, [a.content]) }; b.su = function(b, a) { null != b && null != a && (this.ym[a.saveduid] = b, b.type.W.$e ? this.pC(b, a) : "Array" == a.plugin ? this.mC(b, a) : "Dictionary" == a.plugin && this.nC(b, a), Da(b.Lb, a.inst_vars), this.YE && this.tC(b, a.custom_data), /\w[^\d]/i.test(Rc) ? this.Zj.Fu(this.W.c.ze(Rc)) : this.Zj.Fu(this.W.c.Qc(a.layer)), this.Zj.bH(b.uid, a.z_order)) }; b.oC = function(b, a) { var d = a.container_insts; if (null != d && b.gc) { var f, e = b.siblings.length, g, l; for (f = 0; f < e; f++) g = b.siblings[f], l = d[g.type.name], this.su(g, this.nu(l)) } }; b.jC = function(b) { var a = b.type; this.om(a, b); var d = this.W.c; d.Id++; d.trigger(Object.getPrototypeOf(a.W).g.jh, b); d.Id-- }; b.it = function(b) { "object" != typeof b && (b = this.nu(b)); if (null == b || !b.create_me) return null; var a = this.W.c, d = a.types[b.type], f = d.V(), e = f.X, g = a.Qc(b.layer); /\w[^\d]/i.test(Rc) && (g = a.ze(Rc)); a = a.Sm(d, g, b.x, b.y); if (!a) return null; this.su(a, b); Sc[Nc][a.uid] = a; this.oC(a, b); this.jC(a); f.X = e; return a }; b.kC = function(b) { var a = this.W.c, d; for (d in Sc[b]) a.ne(Sc[b][d]); Sc[b] = [] }; b.eA = function() { this.Zj.hh(); p(this.ym) }; b.dA = function() { this.Zj.OB(); p(this.ym) }; b.sC = function() { Nc = Oc; Sc[Nc] = []; for (var b in this.vf) this.it(b) }; b.cA = function() { this.eA(); this.sC(); this.dA() }; b.Qp = function() { return JSON.stringify(this.vf) }; b.Zz = function(b) { this.vf = JSON.parse(b) }; b.zc = function() { return this.vf }; b.Dh = function(b) { f(b, p(this.vf)) }; b.nu = function(b) { return this.vf[b] }; b.om = function(b, a) { if (!b || !a) return !1; if (b.Z) { var d = b.ai, f = d.length, e, g, l = !1; for (e = 0; e < f; e++) if (g = d[e], a.type == g) { l = !0; break } if (!l) return !1 } else if (a.type != b) return !1; b.V().ei(a); if (a.gc) for (d = a.siblings.length, e = 0; e < d; e++) f = a.siblings[e], f.type.V().ei(f); return !0 }; b.nB = function(b) { var a = this.ym[b]; null == a && (a = this.it(b)); return a }; b.Nk = function(b, a) { return this.om(b, this.nB(a)) }; b = l.prototype; b.hh = function() { this.ea = {}; this.Os = {} }; b.Fu = function(b) { null == this.ea[b.index] && (this.ea[b.index] = b) }; b.bH = function(b, a) { this.Os[b] = a }; var d = null; b.OB = function() { var b, a; d = this; for (b in this.ea) a = this.ea[b], a.k.sort(g), a.kg = !0; this.W.c.H = !0 } })(); function Uc(g) { this.c = g } (function() { function g(b, c) { a.Tj = b.uid; a.Uj = c.uid; a.c.trigger(Uc.prototype.g.mm, a); return a.Vj } function l() {} function p() {} function f() {} var b = Uc.prototype; b.N = function(a) { this.W = a; this.c = a.c }; b.N.prototype.I = function() {}; b.L = function(a) { this.type = a; this.c = a.c }; var d = b.L.prototype, c = !0; d.I = function() { c = 0 == this.u[0]; this.Vj = this.Uj = this.Tj = 0; this.Xj = "" }; d.ud = function() {}; d.Qq = function(a) { return "number" == typeof a ? this.c.Qc(a) : this.c.ze(a) }; var a = null; d.$a = function() { return { xi: c } }; d.lb = function(a) { c = a.xi }; b.g = new l; l.prototype.mm = function(a) { return this.Xj == a }; b.j = new p; p.prototype.ku = function(b, c) { var d = this.Qq(b); null == d ? alert("Z Sort: Can not find layer " + b) : (a = this, this.Xj = c, d.k.sort(g), d.kg = !0, this.c.H = !0) }; p.prototype.du = function(a) { this.Vj = a - 1 }; b.n = new f; f.prototype.ct = function(a) { a.G(this.Tj) }; f.prototype.dt = function(a) { a.G(this.Uj) } })(); function Vc(g) { this.c = g } (function() { function g(a, b) { c.Tj = parseInt(a); c.Uj = parseInt(b); c.c.trigger(Vc.prototype.g.mm, c); return c.Vj } function l() {} function p() {} function f() {} var b = Vc.prototype; b.N = function(a) { this.W = a; this.c = a.c }; b.N.prototype.I = function() {}; b.L = function(a) { this.type = a; this.c = a.c }; var d = b.L.prototype; d.I = function() { this.Hh = {}; this.xl = null; this.Go = -1; this.Uj = this.Tj = 0; this.Xj = ""; this.Vj = 0; this.wm = {}; this.cl = function(a) { return function(b) { a.jl(b) } }(this); this.c.Xp(this.cl) }; d.yd = function() { this.c.vx(this.cl) }; d.jl = function(a) { a = a.uid; var b, c = this.Hh; for (b in c) c[b].Mj(a); this.wC(a) }; d.iC = function(a) { var b; "@" != a.charAt(0) ? b = -1 : (b = a.indexOf("$"), b = -1 == b ? -1 : parseInt(a.substring(1, b))); if (-1 != b) { var c = this.wm[b]; null == c ? (c = [a], this.wm[b] = c) : c.push(a) } }; d.wC = function(a) { var b = this.wm[a]; if (null != b) { var c = b.length, d; for (d = 0; d < c; d++) this.up(b[d]); delete this.wm[a] } }; d.mb = function(a) { var b = this.Hh[a]; null == b && (b = new window.zc, this.Hh[a] = b, this.iC(a)); return b }; d.up = function(a) { null != this.Hh[a] && delete this.Hh[a] }; d.zc = function() { var a = {}, b, c = this.Hh; for (b in c) a[b] = c[b].Qp(); return JSON.stringify(a) }; d.Wp = function(a, b, c) { a != c && b != c ? (this.mb(c).tp(this.mb(a)), a = c) : c == b && (b = a, a = c); return { a: a, b: b } }; d.wu = function(a, b) { var c = this.c.Lg(a); if (null == c) return null; if (null == b || c.type == b) return c; if (b.Z) { var d = c.type.sb, f = d.length, g; for (g = 0; g < f; g++) if (b == d[g]) return c } return null }; d.uu = function(a, b, c) { a = this.mb(a); var d = a.za, f = b.V(); f.X = !1; f.k.length = 0; var g = d.length, m, q; for (m = 0; m < g; m++) q = this.wu(d[m], b), null != q && f.k.push(q); if (1 == c) for (g = f.k.length, m = 0; m < g; m++) a.Mj(f.k[m].uid); b.Bd(); return 0 < f.k.length }; d.vC = function(a, b, c, d) { a = this.mb(a); var f = a.za, g = f.length > b, m = c.V(); m.X = !1; m.k.length = 0; var q = null; g && (q = this.wu(f[b], c), null != q && m.k.push(q)); 1 == d && null != q && a.Mj(q.uid); return 0 < m.k.length }; var c = null; d.$a = function() { var a = {}, b, c = this.Hh; for (b in c) a[b] = c[b].za; return { d: a, randomuid: null != this.xl ? this.xl.uid : -1 } }; d.lb = function(a) { var b = a.d, c; for (c in b) this.mb(c).cu(b[c]); this.Go = a.randomuid }; d.pe = function() { -1 === this.Go ? this.xl = null : this.xl = this.c.Lg(this.Go); this.Go = -1 }; b.g = new l; l.prototype.mm = function(a) { return this.Xj == a }; l.prototype.Xt = function(a, b, c) { if (b) return this.uu(a, b, c) }; l.prototype.xt = function(a, b) { return this.mb(b).xt(a) }; l.prototype.xp = function(a) { return 0 == this.mb(a).za.length }; l.prototype.$A = function(a, b, c, d) { if (c) return this.vC(a, b, c, d) }; l.prototype.yt = function(a, b) { var c = this.mb(b), d = this.mb(a); return c.yt(d) }; b.j = new p; p.prototype.hh = function(a) { this.mb(a).hh() }; p.prototype.up = function(a) { this.up(a) }; p.prototype.tp = function(a, b) { a != b && this.mb(b).tp(this.mb(a)) }; p.prototype.uy = function(a, b) { if (a) { var c = a.V().tb(), d = c.length; if (1 == d) this.mb(b).Hj(c[0].uid); else { var f, g = []; g.length = c.length; for (f = 0; f < d; f++) g[f] = c[f].uid; this.mb(b).Hj(g) } } }; p.prototype.ou = function(a, b, c) { a = this.Wp(a, b, c); this.mb(a.a).ou(this.mb(a.b)) }; p.prototype.gt = function(a, b, c) { a = this.Wp(a, b, c); this.mb(a.a).gt(this.mb(a.b)) }; p.prototype.tt = function(a, b, c) { a = this.Wp(a, b, c); this.mb(a.a).tt(this.mb(a.b)) }; p.prototype.ju = function(a) { this.mb(a).ju(this.xl) }; p.prototype.ku = function(a, b) { c = this; this.Xj = b; this.mb(a).za.sort(g) }; p.prototype.du = function(a) { this.Vj = a - 1 }; p.prototype.Xt = function(a, b, c) { b && this.uu(a, b, c) }; p.prototype.Jp = function(a) { this.mb(a).za.reverse() }; b.n = new f; f.prototype.ct = function(a) { a.G(this.Tj) }; f.prototype.dt = function(a) { a.G(this.Uj) }; f.prototype.mu = function(a, b, c) { a.G(this.mb(b).mu(c)) }; f.prototype.qt = function(a, b, c) { a.G(this.mb(b).qt(c)) }; f.prototype.Yt = function(a, b, c) { b = this.mb(b); var d = b.za; - 1 == c && (c = d.length - 1); c = d[c]; null == c ? c = -1 : b.Mj(c); a.G(c) } })(); (function() { if (null == window.zc) { var g = function() { this.Za = {}; this.za = [] }, l = g.prototype; l.hh = function() { for (var f in this.Za) delete this.Za[f]; this.za.length = 0 }; l.tp = function(f) { var b, d; d = this.Za; for (b in d) delete this.Za[b]; d = f.Za; for (b in d) this.Za[b] = d[b]; Da(this.za, f.za) }; l.cu = function(f) { this.hh(); this.Hj(f) }; l.Hj = function(f) { if ("number" == typeof f) null == this.Za[f] && (this.Za[f] = !0, this.za.push(f)); else { var b, d, c = f.length; for (b = 0; b < c; b++) d = f[b], null == this.Za[d] && (this.Za[d] = !0, this.za.push(d)) } }; l.XI = function(f, b) { if ("number" == typeof f) null == this.Za[f] ? this.Za[f] = !0 : Ba(this.za, this.za.indexOf(f)), b ? this.za.unshift(f) : this.za.push(f); else { var d, c, a = f.length; for (d = 0; d < a; d++) c = f[d], null == this.Za[c] ? this.Za[c] = !0 : Ba(this.za, this.za.indexOf(c)); b ? this.za.unshift.apply(this.za, f) : this.za.push.apply(this.za, f) } }; l.Nk = function(f, b) { if ("number" == typeof f) null == this.Za[f] ? this.Za[f] = !0 : Ba(this.za, this.za.indexOf(f)), p(this.za, f, b); else { var d, c, a = f.length; for (d = 0; d < a; d++) c = f[d], null == this.Za[c] ? this.Za[c] = !0 : Ba(this.za, this.za.indexOf(c)); p(this.za, f, b) } }; l.Mj = function(f) { if ("number" == typeof f) null != this.Za[f] && (delete this.Za[f], Ba(this.za, this.za.indexOf(f))); else { var b, d, c = f.length; for (b = 0; b < c; b++) d = f[b], null != this.Za[d] && (delete this.Za[d], Ba(this.za, this.za.indexOf(d))) } }; l.mu = function(f) { return this.za.indexOf(f) }; l.qt = function(f) { var b = this.za; return f < b.length ? b[f] : -1 }; l.ou = function(f) { f = f.Za; for (var b in f) this.Hj(parseInt(b)) }; l.gt = function(f) { this.Mj(f.za) }; l.tt = function(f) { var b, d = this.Za, c = {}; for (b in d) c[b] = !0; this.hh(); d = f.Za; for (b in d) null != c[b] && this.Hj(parseInt(b)) }; l.yt = function(f) { f = f.Za; var b, d = !0; for (b in f) if (!(b in this.Za)) { d = !1; break } return d }; l.Dh = function() { return this.Za }; l.zc = function() { return this.za }; l.xt = function(f) { return null != this.Za[f] }; l.Qp = function() { return JSON.stringify(this.za) }; l.or = function(f) { this.cu(JSON.parse(f)) }; l.ju = function(f) { var b = this.za, d = b.length, c, a; if (0 != d) for (; --d;) c = null == f ? Math.random() : f.random(), c = Math.floor(c * (d + 1)), a = b[d], b[d] = b[c], b[c] = a }; var p = function(f, b, d) { var c = f.length; d > c && (d = c); if ("object" != typeof b) if (0 == d) f.unshift(b); else if (d == c) f.push(b); else { var a, c = f.length; f.length += 1; for (a = c; a > d; a--) f[a] = f[a - 1]; f[d] = b } else if (0 == d) f.unshift.apply(f, b); else if (d == c) f.push.apply(f, b); else { a = f.length - 1; var c = d, g = b.length; for (f.length += g; a >= c; a--) f[a + g] = f[a]; for (a = 0; a < g; a++) f[a + d] = b[a] } }; window.zc = g } })(); function W(g) { this.c = g } (function() { function g() { if (0 === this.Xm.length) { var a = document.createElement("canvas"); a.width = this.width; a.height = this.height; var b = a.getContext("2d"); this.ki ? b.drawImage(this.K, this.ci, this.di, this.width, this.height, 0, 0, this.width, this.height) : b.drawImage(this.K, 0, 0, this.width, this.height); this.Xm = a.toDataURL("image/png") } return this.Xm } function l() {} function p() {} function f() {} var b = W.prototype; b.N = function(a) { this.W = a; this.c = a.c }; var d = b.N.prototype; d.I = function() { if (!this.Z) { var a, b, c, d, e, f, h, n, l; this.qe = []; this.xk = !1; a = 0; for (b = this.qd.length; a < b; a++) { e = this.qd[a]; h = {}; h.name = e[0]; h.speed = e[1]; h.loop = e[2]; h.ls = e[3]; h.ms = e[4]; h.kx = e[5]; h.Ia = e[6]; h.frames = []; c = 0; for (d = e[7].length; c < d; c++) f = e[7][c], n = {}, n.yj = f[0], n.Ql = f[1], n.ci = f[2], n.di = f[3], n.width = f[4], n.height = f[5], n.duration = f[6], n.Ab = f[7], n.Bb = f[8], n.Xq = f[9], n.xo = f[10], n.as = f[11], n.ki = 0 !== n.width, n.Xm = "", n.JI = g, l = { left: 0, top: 0, right: 1, bottom: 1 }, n.xs = l, n.da = null, (l = this.c.oE(f[0])) ? n.K = l : (n.K = new Image, n.K.XC = f[0], n.K.Rm = f[1], n.K.PC = null, this.c.qp(n.K, f[0])), h.frames.push(n), this.qe.push(n); this.qd[a] = h } } }; d.Ps = function() { var a, b, c; a = 0; for (b = this.k.length; a < b; a++) c = this.k[a], c.Ei = c.Ca.da }; d.ll = function() { if (!this.Z) { var a, b, c; a = 0; for (b = this.qe.length; a < b; ++a) c = this.qe[a], c.K.PC = null, c.da = null; this.xk = !1; this.Ps() } }; d.ml = function() { if (!this.Z && this.k.length) { var a, b, c; a = 0; for (b = this.qe.length; a < b; ++a) c = this.qe[a], c.da = this.c.J.Tf(c.K, !1, this.c.gb, c.as); this.Ps() } }; d.Xn = function() { if (!this.Z && !this.xk && this.c.J) { var a, b, c; a = 0; for (b = this.qe.length; a < b; ++a) c = this.qe[a], c.da = this.c.J.Tf(c.K, !1, this.c.gb, c.as); this.xk = !0 } }; d.Tl = function() { if (!this.Z && !this.k.length && this.xk) { var a, b, c; a = 0; for (b = this.qe.length; a < b; ++a) c = this.qe[a], this.c.J.deleteTexture(c.da), c.da = null; this.xk = !1 } }; var c = []; d.rl = function(a) { var b, d, e; B(c); b = 0; for (d = this.qe.length; b < d; ++b) e = this.qe[b].K, -1 === c.indexOf(e) && (a.drawImage(e, 0, 0), c.push(e)) }; b.L = function(a) { this.type = a; this.c = a.c; a = this.type.qd[0].frames[0].xo; this.uc ? this.Qa.Gl(a) : this.Qa = new ib(a) }; var a = b.L.prototype; a.I = function() { this.visible = 0 === this.u[0]; this.Qi = this.Pf = !1; this.Vd = 0 !== this.u[3]; this.Ga = this.vv(this.u[1]) || this.type.qd[0]; this.U = this.u[2]; 0 > this.U && (this.U = 0); this.U >= this.Ga.frames.length && (this.U = this.Ga.frames.length - 1); var a = this.Ga.frames[this.U]; this.Qa.Gl(a.xo); this.Ab = a.Ab; this.Bb = a.Bb; this.Eg = this.Ga.speed; this.Dg = this.Ga.ms; 1 === this.type.qd.length && 1 === this.type.qd[0].frames.length || 0 === this.Eg || (this.c.Aj(this), this.Pf = !0); this.uc ? this.Pe.reset() : this.Pe = new gb; this.Jf = this.Pe.ta; this.ph = !0; this.xf = 0; this.oh = !0; this.fk = this.Gu = ""; this.iq = 0; this.ek = -1; this.type.Xn(); var b, c, d, e, f, h, g, a = 0; for (b = this.type.qd.length; a < b; a++) for (e = this.type.qd[a], c = 0, d = e.frames.length; c < d; c++) f = e.frames[c], 0 === f.width && (f.width = f.K.width, f.height = f.K.height), f.ki && (g = f.K, h = f.xs, h.left = f.ci / g.width, h.top = f.di / g.height, h.right = (f.ci + f.width) / g.width, h.bottom = (f.di + f.height) / g.height, 0 === f.ci && 0 === f.di && f.width === g.width && f.height === g.height && (f.ki = !1)); this.Ca = this.Ga.frames[this.U]; this.Ei = this.Ca.da }; a.$a = function() { var a = { a: this.Ga.Ia, f: this.U, cas: this.Eg, fs: this.Jf, ar: this.xf, at: this.Pe.ta, rt: this.Dg }; this.ph || (a.ap = this.ph); this.oh || (a.af = this.oh); return a }; a.lb = function(a) { var b = this.tE(a.a); b && (this.Ga = b); this.U = a.f; 0 > this.U && (this.U = 0); this.U >= this.Ga.frames.length && (this.U = this.Ga.frames.length - 1); this.Eg = a.cas; this.Jf = a.fs; this.xf = a.ar; this.Pe.reset(); this.Pe.ta = a.at; this.ph = a.hasOwnProperty("ap") ? a.ap : !0; this.oh = a.hasOwnProperty("af") ? a.af : !0; a.hasOwnProperty("rt") ? this.Dg = a.rt : this.Dg = this.Ga.ms; this.Ca = this.Ga.frames[this.U]; this.Ei = this.Ca.da; this.Qa.Gl(this.Ca.xo); this.Ab = this.Ca.Ab; this.Bb = this.Ca.Bb }; a.aq = function(a) { this.U = a ? 0 : this.Ga.frames.length - 1; this.ph = !1; this.Gu = this.Ga.name; this.Qi = !0; this.c.trigger(W.prototype.g.nA, this); this.c.trigger(W.prototype.g.mA, this); this.Qi = !1; this.xf = 0 }; a.zc = function() { return this.Pe.ta }; a.ub = function() { this.Pe.add(this.c.Fh(this)); this.fk.length && this.vq(); 0 <= this.ek && this.wq(); var a = this.Pe.ta, b = this.Ga, c = b.frames[this.U], d = c.duration / this.Eg; this.ph && a >= this.Jf + d && (this.oh ? this.U++ : this.U--, this.Jf += d, this.U >= b.frames.length && (b.kx ? (this.oh = !1, this.U = b.frames.length - 2) : b.loop ? this.U = this.Dg : (this.xf++, this.xf >= b.ls ? this.aq(!1) : this.U = this.Dg)), 0 > this.U && (b.kx ? (this.U = 1, this.oh = !0, b.loop || (this.xf++, this.xf >= b.ls && this.aq(!0))) : b.loop ? this.U = this.Dg : (this.xf++, this.xf >= b.ls ? this.aq(!0) : this.U = this.Dg)), 0 > this.U ? this.U = 0 : this.U >= b.frames.length && (this.U = b.frames.length - 1), a > this.Jf + b.frames[this.U].duration / this.Eg && (this.Jf = a), a = b.frames[this.U], this.wi(c, a), this.c.H = !0) }; a.vv = function(a) { var b, c, d; b = 0; for (c = this.type.qd.length; b < c; b++) if (d = this.type.qd[b], ob(d.name, a)) return d; return null }; a.tE = function(a) { var b, c, d; b = 0; for (c = this.type.qd.length; b < c; b++) if (d = this.type.qd[b], d.Ia === a) return d; return null }; a.vq = function() { var a = this.Ga.frames[this.U], b = this.vv(this.fk); this.fk = ""; !b || ob(b.name, this.Ga.name) && this.ph || (this.Ga = b, this.Eg = b.speed, this.Dg = b.ms, 0 > this.U && (this.U = 0), this.U >= this.Ga.frames.length && (this.U = this.Ga.frames.length - 1), 1 === this.iq && (this.U = 0), this.ph = !0, this.Jf = this.Pe.ta, this.oh = !0, this.wi(a, this.Ga.frames[this.U]), this.c.H = !0) }; a.wq = function() { var a = this.Ga.frames[this.U], b = this.U; this.U = ua(this.ek); 0 > this.U && (this.U = 0); this.U >= this.Ga.frames.length && (this.U = this.Ga.frames.length - 1); b !== this.U && (this.wi(a, this.Ga.frames[this.U]), this.Jf = this.Pe.ta, this.c.H = !0); this.ek = -1 }; a.wi = function(a, b) { var c = a.width, d = a.height, e = b.width, f = b.height; c != e && (this.width *= e / c); d != f && (this.height *= f / d); this.Ab = b.Ab; this.Bb = b.Bb; this.Qa.Gl(b.xo); this.ca(); this.Ca = b; this.Ei = b.da; c = 0; for (d = this.la.length; c < d; c++) e = this.la[c], e.Vw && e.Vw(a, b); this.c.trigger(W.prototype.g.wi, this) }; a.ud = function(a) { a.globalAlpha = this.opacity; var b = this.Ca, c = b.ki, d = b.K, e = this.x, f = this.y, h = this.width, g = this.height; if (0 === this.q && 0 <= h && 0 <= g) e -= this.Ab * h, f -= this.Bb * g, this.c.hd && (e = Math.round(e), f = Math.round(f)), c ? a.drawImage(d, b.ci, b.di, b.width, b.height, e, f, h, g) : a.drawImage(d, e, f, h, g); else { this.c.hd && (e = Math.round(e), f = Math.round(f)); a.save(); var n = 0 < h ? 1 : -1, l = 0 < g ? 1 : -1; a.translate(e, f); 1 === n && 1 === l || a.scale(n, l); a.rotate(this.q * n * l); e = 0 - this.Ab * qa(h); f = 0 - this.Bb * qa(g); c ? a.drawImage(d, b.ci, b.di, b.width, b.height, e, f, qa(h), qa(g)) : a.drawImage(d, e, f, qa(h), qa(g)); a.restore() } }; a.Gg = function(a) { this.yc(a) }; a.yc = function(a) { a.Zc(this.Ei); a.ag(this.opacity); var b = this.Ca, c = this.Nc; if (this.c.hd) { var d = Math.round(this.x) - this.x, e = Math.round(this.y) - this.y; b.ki ? a.Fe(c.qb + d, c.rb + e, c.Qb + d, c.Rb + e, c.Ib + d, c.Jb + e, c.Gb + d, c.Hb + e, b.xs) : a.fi(c.qb + d, c.rb + e, c.Qb + d, c.Rb + e, c.Ib + d, c.Jb + e, c.Gb + d, c.Hb + e) } else b.ki ? a.Fe(c.qb, c.rb, c.Qb, c.Rb, c.Ib, c.Jb, c.Gb, c.Hb, b.xs) : a.fi(c.qb, c.rb, c.Qb, c.Rb, c.Ib, c.Jb, c.Gb, c.Hb) }; a.yE = function(a) { var b = this.Ca, c, d; c = 0; for (d = b.Xq.length; c < d; c++) if (ob(a, b.Xq[c][0])) return c; return -1 }; a.Lf = function(a, b) { var c = this.Ca, d = c.Xq, e; ma(a) ? e = this.yE(a) : e = a - 1; e = ua(e); if (0 > e || e >= d.length) return b ? this.x : this.y; var f = (d[e][1] - c.Ab) * this.width, d = d[e][2], d = (d - c.Bb) * this.height, c = Math.cos(this.q); e = Math.sin(this.q); var h = f * c - d * e, d = d * c + f * e, f = h + this.x, d = d + this.y; return b ? f : d }; var n = null, h = new da, e = !1, t = [], x = new xa(0, 0, 0, 0); d.finish = function(a) { if (e) { if (a) { var b = this.c.zb().Kb.Ld; a = n.V(); var c = h.ig(), d, f; if (a.X) { a.X = !1; B(a.k); d = 0; for (f = c.length; d < f; ++d) a.k[d] = c[d]; if (b) for (B(a.na), d = 0, f = n.k.length; d < f; ++d) c = n.k[d], h.contains(c) || a.na.push(c) } else if (b) for (b = a.k.length, d = 0, f = c.length; d < f; ++d) a.k[b + d] = c[d], Ga(a.na, c[d]); else Da(a.k, c); n.Bd() } h.clear(); e = !1 } }; l.prototype.Qz = function(a) { if (a) { var b = !1, c, d, f, g = this.c.Eh(), r = g.type, g = g.Fn; c = a.V(); d = this.c.zb().Kb.Ld; var l; c.X ? (this.jb(), x.Di(this.Tb), x.offset(0, 0), this.c.vE(this.F, a, x, t), l = t) : l = d ? this.c.hF() && !c.na.length && c.k.length ? c.k : c.na : c.k; n = a; e = r !== a && !g; c = 0; for (d = l.length; c < d; c++) if (f = l[c], this.c.Rx(this, f)) { b = !0; if (g) break; r !== a && h.add(f) } B(t); a = b } else a = !1; return a }; l.prototype.Uy = function(a, b) { return lc(this.U, a, b) }; l.prototype.mA = function(a) { return ob(this.Gu, a) }; l.prototype.nA = function() { return !0 }; l.prototype.wi = function() { return !0 }; l.prototype.uf = function() { return !0 }; b.g = new l; p.prototype.pm = function(a) { this.ac = a; this.Wd = lb(a); mb(this, a, this.c.S); this.c.H = !0 }; p.prototype.au = function(a, b) { this.fk = a; this.iq = b; this.Pf || (this.c.Aj(this), this.Pf = !0); this.Qi || this.vq() }; p.prototype.bu = function(a) { this.ek = a; this.Pf || (this.c.Aj(this), this.Pf = !0); this.Qi || this.wq() }; p.prototype.Mp = function(a) { var b = this.Ca, c = b.width * a * (0 > this.width ? -1 : 1); a = b.height * a * (0 > this.height ? -1 : 1); if (this.width !== c || this.height !== a) this.width = c, this.height = a, this.ca() }; p.prototype.yp = function(a, b, c) { var d = new Image, e = this, f = this.Ca; d.onload = function() { f.K.src === d.src ? e.c.J && e.Ca === f && (e.Ei = f.da) : (f.K = d, f.ci = 0, f.di = 0, f.width = d.width, f.height = d.height, f.ki = !1, f.Xm = "", f.as = 0, e.c.J && (f.da && e.c.J.deleteTexture(f.da), f.da = e.c.J.Tf(d, !1, e.c.gb), e.Ca === f && (e.Ei = f.da), e.type.Ps())); 0 === b && (e.width = d.width, e.height = d.height, e.ca()); e.c.H = !0; e.c.trigger(W.prototype.g.uf, e) }; "data:" !== a.substr(0, 5) && 0 === c && (d.crossOrigin = "anonymous"); this.c.Bl(d, a) }; b.j = new p; f.prototype.yy = function(a) { a.G(this.U) }; f.prototype.zy = function(a) { a.aa(this.Ga.name) }; f.prototype.Fz = function(a, b) { a.C(this.Lf(b, !0)) }; f.prototype.Gz = function(a, b) { a.C(this.Lf(b, !1)) }; f.prototype.wp = function(a) { a.C(this.Ca.width) }; f.prototype.pt = function(a) { a.C(this.Ca.height) }; b.n = new f })(); function Wc(g) { this.c = g } (function() { function g(a, b) { return a.length ? a.pop() : new b } function l(b, c, d) { if (d) { var e; d = 0; for (e = c.length; d < e; d++) b.length < a && b.push(c[d]); B(c) } else for (e in c) Object.prototype.hasOwnProperty.call(c, e) && (b.length < a && b.push(c[e]), delete c[e]) } function p(a, b, c) { var d = a.Vh; c = c.replace(/\s\s*$/, ""); b >= d.length && d.push(g(n, Object)); b = d[b]; b.text = c; b.width = a.Fr(c); a.xj = ra(a.xj, b.width) } function f() {} function b() {} var d = Wc.prototype; d.I = function() {}; d.N = function(a) { this.W = a; this.c = a.c }; var c = d.N.prototype; c.I = function() { this.Z || (this.K = new Image, this.c.qp(this.K, this.yj), this.da = null) }; c.ll = function() { this.Z || (this.da = null) }; c.ml = function() { if (!this.Z && this.k.length) { this.da || (this.da = this.c.J.Tf(this.K, !1, this.c.gb, this.Rl)); var a, b; a = 0; for (b = this.k.length; a < b; a++) this.k[a].da = this.da } }; c.Tl = function() { this.Z || this.k.length || !this.da || (this.c.J.deleteTexture(this.da), this.da = null) }; c.rl = function(a) { a.drawImage(this.K, 0, 0) }; d.L = function(a) { this.type = a; this.c = a.c }; c = d.L.prototype; c.yd = function() { l(n, this.Vh, !0); l(h, this.Nm, !1); l(e, this.Om, !1); Za(this.zg) }; c.I = function() { this.K = this.type.K; this.Mm = this.u[0]; this.xg = this.u[1]; this.characterSet = this.u[2]; this.text = this.u[3]; this.sd = this.u[4]; this.visible = 0 === this.u[5]; this.wk = this.u[6] / 2; this.Ul = this.u[7] / 2; this.oH = 0 === this.u[9]; this.yg = this.u[10]; this.lineHeight = this.u[11]; this.mi = this.xj = 0; this.uc ? (B(this.Vh), Za(this.Nm), Za(this.Om), Za(this.zg)) : (this.Vh = [], this.Nm = {}, this.Om = {}, this.zg = {}); this.gg = !0; this.tr = this.width; this.c.J && (this.type.da || (this.type.da = this.c.J.Tf(this.type.K, !1, this.c.gb, this.type.Rl)), this.da = this.type.da); this.PB() }; c.$a = function() { var a = { t: this.text, csc: this.sd, csp: this.yg, lh: this.lineHeight, tw: this.xj, th: this.mi, lrt: this.vF, ha: this.wk, va: this.Ul, cw: {} }, b; for (b in this.zg) a.cw[b] = this.zg[b]; return a }; c.lb = function(a) { this.text = a.t; this.sd = a.csc; this.yg = a.csp; this.lineHeight = a.lh; this.xj = a.tw; this.mi = a.th; this.vF = a.lrt; a.hasOwnProperty("ha") && (this.wk = a.ha); a.hasOwnProperty("va") && (this.Ul = a.va); for (var b in a.cw) this.zg[b] = a.cw[b]; this.gg = !0; this.tr = this.width }; var a = 1E3, n = [], h = [], e = []; c.PB = function() { for (var a = this.K, b = a.width, c = a.height, a = this.Mm, d = this.xg, f = a / b, k = d / c, r = this.characterSet, b = Math.floor(b / a), c = Math.floor(c / d), n = 0; n < r.length && !(n >= b * c); n++) { var l = n % b, p = Math.floor(n / b), t = r.charAt(n); if (this.c.J) { var M = this.Om, x = l * f, E = p * k, l = (l + 1) * f, p = (p + 1) * k; void 0 === M[t] && (M[t] = g(e, xa)); M[t].left = x; M[t].top = E; M[t].right = l; M[t].bottom = p } else M = this.Nm, l = l * a, p = p * d, x = a, E = d, void 0 === M[t] && (M[t] = g(h, Object)), M[t].x = l, M[t].y = p, M[t].op = x, M[t].Bn = E } }; var t = []; d.VB = function(a) { B(t); for (var b = "", c, d = 0; d < a.length;) if (c = a.charAt(d), "\n" === c) b.length && (t.push(b), b = ""), t.push("\n"), ++d; else if (" " === c || "\t" === c || "-" === c) { do b += a.charAt(d), d++; while (d < a.length && (" " === a.charAt(d) || "\t" === a.charAt(d))); t.push(b); b = "" } else d < a.length && (b += c, d++); b.length && t.push(b) }; d.eC = function(a) { var b = a.text, c = a.Vh; if (b && b.length) { var d = a.width; if (2 >= d) l(n, c, !0); else { var e = a.sd, f = a.yg; if (b.length * (a.Mm * e + f) - f <= d && -1 === b.indexOf("\n") && (f = a.Fr(b), f <= d)) { l(n, c, !0); c.push(g(n, Object)); c[0].text = b; c[0].width = f; a.xj = f; a.mi = a.xg * e + a.lineHeight; return } this.fC(a); a.mi = c.length * (a.xg * e + a.lineHeight) } } else l(n, c, !0) }; d.fC = function(b) { var c = b.oH, d = b.text, e = b.Vh, f = b.width; c && (this.VB(d), d = t); var h = "", g, l, y, I = 0, R = !1; for (y = 0; y < d.length; y++) "\n" === d[y] ? (!0 === R ? R = !1 : (p(b, I, h), I++), h = "") : (R = !1, g = h, h += d[y], l = b.Fr(h.replace(/\s\s*$/, "")), l > f && ("" === g ? (p(b, I, h), h = "", R = !0) : (p(b, I, g), h = d[y]), I++, c || " " !== h || (h = ""))); h.replace(/\s\s*$/, "").length && (p(b, I, h), I++); for (y = I; y < e.length; y++) n.length < a && n.push(e[y]); e.length = I }; c.Fr = function(a) { for (var b = this.yg, c = a.length, d = 0, e = 0; e < c; e++) d += this.Iq(a.charAt(e)) * this.sd + b; return d - (0 < d ? b : 0) }; c.Iq = function(a) { var b = this.zg; return void 0 !== b[a] ? b[a] : this.Mm }; c.rx = function() { if (this.gg || this.width !== this.tr) this.mi = this.xj = 0, this.type.W.eC(this), this.gg = !1, this.tr = this.width }; c.ud = function(a) { var b = this.K; if ("" !== this.text && null != b && (this.rx(), !(this.height < this.xg * this.sd + this.lineHeight))) { a.globalAlpha = this.opacity; var b = this.x, c = this.y; this.c.hd && (b = Math.round(b), c = Math.round(c)); var d = this.F.Wa, e = this.F.Xa, f = this.F.bb, h = this.F.ab; a.save(); a.translate(b, c); a.rotate(this.q); for (var g = this.q, n = this.wk, l = this.sd, p = this.xg * l, t = this.lineHeight, x = this.yg, E = this.Vh, J, F = -(this.Ab * this.width), z = -(this.Bb * this.height), z = z + this.Ul * ra(0, this.height - this.mi), C, O, ba, U = 0; U < E.length; U++) { var A = E[U].text; J = n * ra(0, this.width - E[U].width); C = F + J; z += t; if (0 === g && c + z + p < e) z += p; else { for (var P = 0; P < A.length; P++) { O = A.charAt(P); J = this.Iq(O); var L = this.Nm[O]; if (0 === g && b + C + J * l + x < d) C += J * l + x; else { if (C + J * l > this.width + 1E-5) break; void 0 !== L && (O = C, ba = z, 0 === g && 1 === l && (O = Math.round(O), ba = Math.round(ba)), a.drawImage(this.K, L.x, L.y, L.op, L.Bn, O, ba, L.op * l, L.Bn * l)); C += J * l + x; if (0 === g && b + C > f) break } } z += p; if (0 === g && (z + p + t > this.height || c + z > h)) break } } a.restore() } }; var x = new ya; c.yc = function(a) { a.Zc(this.da); a.ag(this.opacity); if (this.text && (this.rx(), !(this.height < this.xg * this.sd + this.lineHeight))) { this.jb(); var b = this.Nc, c = 0, d = 0; this.c.hd && (c = Math.round(this.x) - this.x, d = Math.round(this.y) - this.y); var e = this.F.Wa, f = this.F.Xa, h = this.F.bb, g = this.F.ab, n = this.q, l = this.wk, p = this.Ul, t = this.sd, G = this.xg * t, E = this.lineHeight, J = this.yg, F = this.Vh, z = this.mi, C, O, ba; 0 !== n && (O = Math.cos(n), ba = Math.sin(n)); for (var c = b.qb + c, b = b.rb + d, U, p = p * ra(0, this.height - z), A, P, z = 0; z < F.length; z++) if (d = F[z].text, U = C = l * ra(0, this.width - F[z].width), p += E, 0 === n && b + p + G < f) p += G; else { for (var L = 0; L < d.length; L++) { var V = d.charAt(L); C = this.Iq(V); V = this.Om[V]; if (0 === n && c + U + C * t + J < e) U += C * t + J; else { if (U + C * t > this.width + 1E-5) break; if (void 0 !== V) { var K = this.Mm * t, N = this.xg * t; A = U; P = p; 0 === n && 1 === t && (A = Math.round(A), P = Math.round(P)); x.qb = A; x.rb = P; x.Qb = A + K; x.Rb = P; x.Gb = A; x.Hb = P + N; x.Ib = A + K; x.Jb = P + N; 0 !== n && (A = x, P = O, K = ba, N = void 0, N = A.qb * P - A.rb * K, A.rb = A.rb * P + A.qb * K, A.qb = N, N = A.Qb * P - A.Rb * K, A.Rb = A.Rb * P + A.Qb * K, A.Qb = N, N = A.Gb * P - A.Hb * K, A.Hb = A.Hb * P + A.Gb * K, A.Gb = N, N = A.Ib * P - A.Jb * K, A.Jb = A.Jb * P + A.Ib * K, A.Ib = N); x.offset(c, b); a.Fe(x.qb, x.rb, x.Qb, x.Rb, x.Ib, x.Jb, x.Gb, x.Hb, V) } U += C * t + J; if (0 === n && c + U > h) break } } p += G; if (0 === n && (p + G + E > this.height || b + p > g)) break } } }; d.g = new function() {}; f.prototype.gu = function(a) { ja(a) && 1E9 > a && (a = Math.round(1E10 * a) / 1E10); a = a.toString(); this.text !== a && (this.text = a, this.gg = !0, this.c.H = !0) }; f.prototype.Mp = function(a) { a !== this.sd && (this.sd = a, this.gg = !0, this.c.H = !0) }; f.prototype.uB = function(a) { a !== this.Hy && (this.yg = a, this.gg = !0, this.c.H = !0) }; c.tB = function(a, b) { var c = parseInt(b, 10); this.zg[a] !== c && (this.zg[a] = c, this.gg = !0, this.c.H = !0) }; f.prototype.vB = function(a, b) { if ("" !== a) for (var c = 0; c < a.length; c++) this.tB(a.charAt(c), b) }; f.prototype.pm = function(a) { this.ac = a; this.Wd = lb(a); mb(this, a, this.c.S); this.c.H = !0 }; f.prototype.xB = function(a) { this.wk = a / 2; this.gg = !0; this.c.H = !0 }; f.prototype.KB = function(a) { this.Ul = a / 2; this.gg = !0; this.c.H = !0 }; d.j = new f; b.prototype.Gy = function(a) { a.C(this.sd) }; b.prototype.Hy = function(a) { a.G(this.yg) }; b.prototype.bA = function(a) { a.G(this.lineHeight) }; b.prototype.Text = function(a) { a.aa(this.text) }; d.n = new b })(); function Xc(g) { this.c = g } (function() { function g() {} function l() {} function p() {} var f = Xc.prototype; f.N = function(b) { this.W = b; this.c = b.c }; var b = f.N.prototype; b.I = function() { this.Z || (this.K = new Image, this.K.Rm = this.Ql, this.c.qp(this.K, this.yj), this.da = this.pattern = null) }; b.ll = function() { this.Z || (this.da = null) }; b.ml = function() { if (!this.Z && this.k.length) { this.da || (this.da = this.c.J.Tf(this.K, !0, this.c.gb, this.Rl)); var b, c; b = 0; for (c = this.k.length; b < c; b++) this.k[b].da = this.da } }; b.Xn = function() { this.Z || this.da || !this.c.J || (this.da = this.c.J.Tf(this.K, !0, this.c.gb, this.Rl)) }; b.Tl = function() { this.Z || this.k.length || !this.da || (this.c.J.deleteTexture(this.da), this.da = null) }; b.rl = function(b) { b.drawImage(this.K, 0, 0) }; f.L = function(b) { this.type = b; this.c = b.c }; b = f.L.prototype; b.I = function() { this.visible = 0 === this.u[0]; this.qj = new xa(0, 0, 0, 0); this.En = !1; this.K = this.type.K; this.c.J ? (this.type.Xn(), this.da = this.type.da) : (this.type.pattern || (this.type.pattern = this.c.B.createPattern(this.type.K, "repeat")), this.pattern = this.type.pattern) }; b.pe = function() { this.En = !1; this.K = this.type.K }; b.yd = function() { this.c.J && this.En && this.da && (this.c.J.deleteTexture(this.da), this.da = null) }; b.ud = function(b) { b.globalAlpha = this.opacity; b.save(); b.fillStyle = this.pattern; var c = this.x, a = this.y; this.c.hd && (c = Math.round(c), a = Math.round(a)); var f = -(this.Ab * this.width), h = -(this.Bb * this.height), e = f % this.K.width, g = h % this.K.height; 0 > e && (e += this.K.width); 0 > g && (g += this.K.height); b.translate(c, a); b.rotate(this.q); b.translate(e, g); b.fillRect(f - e, h - g, this.width, this.height); b.restore() }; b.Gg = function(b) { this.yc(b) }; b.yc = function(b) { b.Zc(this.da); b.ag(this.opacity); var c = this.qj; c.right = this.width / this.K.width; c.bottom = this.height / this.K.height; var a = this.Nc; if (this.c.hd) { var f = Math.round(this.x) - this.x, h = Math.round(this.y) - this.y; b.Fe(a.qb + f, a.rb + h, a.Qb + f, a.Rb + h, a.Ib + f, a.Jb + h, a.Gb + f, a.Hb + h, c) } else b.Fe(a.qb, a.rb, a.Qb, a.Rb, a.Ib, a.Jb, a.Gb, a.Hb, c) }; g.prototype.uf = function() { return !0 }; f.g = new g; l.prototype.pm = function(b) { this.ac = b; this.Wd = lb(b); mb(this, b, this.c.S); this.c.H = !0 }; l.prototype.yp = function(b, c) { var a = new Image, f = this; a.onload = function() { f.K = a; f.c.J ? (f.En && f.da && f.c.J.deleteTexture(f.da), f.da = f.c.J.Tf(a, !0, f.c.gb)) : f.pattern = f.c.B.createPattern(a, "repeat"); f.En = !0; f.c.H = !0; f.c.trigger(Xc.prototype.g.uf, f) }; "data:" !== b.substr(0, 5) && 0 === c && (a.crossOrigin = "anonymous"); this.c.Bl(a, b) }; f.j = new l; p.prototype.wp = function(b) { b.C(this.K.width) }; p.prototype.pt = function(b) { b.C(this.K.height) }; f.n = new p })(); function Yc(g) { this.c = g } (function() { function g() { this.dp = this.id = -1; this.Iu = this.Hi = this.Xl = this.yk = !1; this.Ta = new xa(0, 0, 0, 0) } function l(a) { 1E4 > u.length && u.push(a) } function p() { this.id = -1; this.Ta = new xa(0, 0, 0, 0); this.Xf = null } function f(a) { 1E4 > w.length && w.push(a) } function b(a, b, c) { var e; return v.length ? (e = v.pop(), e.e = a, e.x = b, e.y = c, e.left = e.x * e.e.cc * e.e.nc, e.top = e.y * e.e.oc * e.e.mc, e.clear(), e.ul = !1, e) : new d(a, b, c) } function d(a, b, c) { this.e = a; this.x = b; this.y = c; this.left = this.x * this.e.cc * this.e.nc; this.top = this.y * this.e.oc * this.e.mc; this.of = []; this.Ic = []; this.Tc = []; this.ul = !1; var d, e; a = 0; for (b = this.e.oc; a < b; ++a) { e = []; c = 0; for (d = this.e.cc; c < d; ++c) e.push(-1); this.of.push(e) } } function c() {} function a(a) { switch (a) { case 0: return 0; case 1: return t; case 2: return x; case 3: return t | m; case 4: return t | x; case 5: return x | m; case 6: return t | x | m; case 7: return m; default: return 0 } } function n() {} var h = Yc.prototype; h.N = function(a) { this.W = a; this.c = a.c }; var e = h.N.prototype; e.I = function() { var a, b, c; if (!this.Z && (this.K = new Image, this.K.Rm = this.Ql, this.c.qp(this.K, this.yj), this.wh = [], this.rq = !1, this.Je = [], this.Vx = !1, this.cp && this.cp.length)) for (a = 0, b = this.cp.length; a < b; ++a)(c = this.cp[a]) ? this.Je.push({ Xf: c, nn: [ [ [null, null], [null, null] ], [ [null, null], [null, null] ] ] }) : this.Je.push(null) }; e.ug = function(a, b, c, d, e, f) { if (!(0 > a || a >= this.Je.length) && this.Je[a]) { var h = this.Je[a].nn; a = new ib(this.Je[a].Xf); a.uh(b, c, 0); f && a.eD(); d && a.IF(b / 2); e && a.pE(c / 2); h[d ? 1 : 0][e ? 1 : 0][f ? 1 : 0] = a } }; e.Ev = function(a) { if (-1 === a) return null; var b = a & q; return 0 > b || b >= this.Je.length || !this.Je[b] ? null : this.Je[b].nn[a & t ? 1 : 0][a & x ? 1 : 0][a & m ? 1 : 0] }; e.un = function() { var a, b, c = this.c.J; if (c) for (a = 0, b = this.wh.length; a < b; ++a) c.deleteTexture(this.wh[a]); B(this.wh); this.rq = !1 }; e.Dr = function(a, b, c, d, e, f, h) { if (!(this.rq || 0 >= a || 0 >= b)) { this.un(); var g = this.K.width, k = this.K.height, m; for (m = d; m + b <= k; m += b + f) for (d = c; d + a <= g; d += a + e) this.wh.push(this.dz(d, m, a, b, h)); this.rq = !0 } }; e.dz = function(a, b, c, d, e) { if (this.c.J) return this.vp(a, b, c, d, !1, !1, !1, e); var f = [ [ [null, null], [null, null] ], [ [null, null], [null, null] ] ]; f[0][0][0] = this.vp(a, b, c, d, !1, !1, !1, e); return { nn: f, x: a, y: b, op: c, Bn: d } }; e.ot = function(a, b, c, d, e) { if (0 > a || a >= this.wh.length) return null; a = this.wh[a]; var f = a.nn; b = b ? 1 : 0; c = c ? 1 : 0; d = d ? 1 : 0; var h = f[b][c][d]; if (h) return h; h = this.vp(a.x, a.y, a.op, a.Bn, 0 !== b, 0 !== c, 0 !== d, e); return f[b][c][d] = h }; e.vp = function(a, b, c, d, e, f, h, g) { var k = c, m = d; this.c.J && !g && (na(k) || (k = pa(k)), na(m) || (m = pa(m))); var n = document.createElement("canvas"); n.width = k; n.height = m; var l = n.getContext("2d"); if (this.c.B) return e ? f ? (h ? (l.rotate(Math.PI / 2), l.scale(-1, 1)) : l.scale(-1, -1), l.translate(-k, -m)) : h ? (l.rotate(Math.PI / 2), l.translate(0, -m)) : (l.scale(-1, 1), l.translate(-k, 0)) : f ? h ? (l.rotate(-Math.PI / 2), l.translate(-k, 0)) : (l.scale(1, -1), l.translate(0, -m)) : h && (l.scale(-1, 1), l.rotate(Math.PI / 2)), l.drawImage(this.K, a, b, c, d, 0, 0, k, m), g ? n : this.c.B.createPattern(n, "repeat"); l.drawImage(this.K, a, b, c, d, 0, 0, k, m); a = this.c.J.Dd(k, m, this.c.gb, !1, !g); this.c.J.kH(n, a); return a }; e.ll = function() { this.Z || this.un() }; e.ml = function() {}; e.Xn = function() {}; e.Tl = function() { this.Z || this.k.length || this.un() }; e.rl = function() {}; h.L = function(a) { this.type = a; this.c = a.c }; var e = h.L.prototype, t = -2147483648, x = 1073741824, m = 536870912, q = 536870911, u = [], w = [], v = []; d.prototype.clear = function() { var a, b, c, d, e; this.of.length = this.e.oc; a = 0; for (b = this.of.length; a < b; ++a) for (e = this.of[a], e || (e = [], this.of[a] = e), e.length = this.e.cc, c = 0, d = e.length; c < d; ++c) e[c] = -1 }; d.prototype.al = function() { if (!this.ul) { var a = this.e.nc, b = this.e.mc; if (!(0 >= a || 0 >= b)) { var c, d, e, h, k, n; c = 0; for (d = this.Ic.length; c < d; ++c) l(this.Ic[c]); c = 0; for (d = this.Tc.length; c < d; ++c) f(this.Tc[c]); B(this.Ic); B(this.Tc); var v = Math.min(this.e.ee, Math.floor(this.e.width / a)), F = Math.min(this.e.Ce, Math.floor(this.e.height / b)), v = v - this.left / a, F = F - this.top / b; v > this.e.cc && (v = this.e.cc); F > this.e.oc && (F = this.e.oc); var z = this.e.ah, C = null; c = 0; for (d = F; c < d; ++c) { k = this.of[c]; e = 0; for (h = v; e < h; ++e) n = k[e], -1 === n ? C && (this.Ic.push(C), C = null) : z || !C || n !== C.id ? (C && this.Ic.push(C), C = u.length ? u.pop() : new g, C.id = n, C.dp = n & q, C.yk = 0 !== (n & t), C.Xl = 0 !== (n & x), C.Hi = 0 !== (n & m), C.Iu = C.yk || C.Xl || C.Hi, C.Ta.left = e * a + this.left, C.Ta.top = c * b + this.top, C.Ta.right = C.Ta.left + a, C.Ta.bottom = C.Ta.top + b) : C.Ta.right += a; C && (this.Ic.push(C), C = null) } var C = null, O = !1; c = 0; for (d = F; c < d; ++c) { k = this.of[c]; e = 0; for (h = v; e < h; ++e) n = k[e], -1 === n ? C && (this.Tc.push(C), C = null, O = !1) : (F = this.e.type.Ev(n), !C || F || O ? (C && this.Tc.push(C), C = w.length ? w.pop() : new p, C.id = n, C.Xf = F ? F : null, n = C.Ta, n.left = e * a + this.left, n.top = c * b + this.top, n.right = n.left + a, n.bottom = n.top + b, O = !!F) : C.Ta.right += a); C && (this.Tc.push(C), C = null, O = !1) } if (!z) for (d = this.Ic.length, c = 0; c < d; ++c) for (h = this.Ic[c], a = c + 1; a < d; ++a) if (e = this.Ic[a], !(e.Ta.top < h.Ta.bottom)) { if (e.Ta.top > h.Ta.bottom) break; if (e.Ta.right > h.Ta.right || e.Ta.left > h.Ta.left) break; e.id === h.id && e.Ta.left === h.Ta.left && e.Ta.right === h.Ta.right && (l(this.Ic[a]), this.Ic.splice(a, 1), --d, h.Ta.bottom += b, --a) } d = this.Tc.length; for (c = 0; c < d; ++c) if (h = this.Tc[c], !h.Xf) for (k = h.Ta, a = c + 1; a < d; ++a) if (e = this.Tc[a], h = e.Ta, !(h.top < k.bottom)) { if (h.top > k.bottom) break; if (h.right > k.right || h.left > k.left) break; e.Xf || h.left !== k.left || h.right !== k.right || (f(this.Tc[a]), this.Tc.splice(a, 1), --d, k.bottom += b, --a) } this.ul = !0 } } }; d.prototype.Dl = function(a, b, c) { this.of[b][a] !== c && (this.of[b][a] = c, this.ul = !1, this.e.Em = !0, this.e.ql = !0, this.e.c.H = !0) }; e.I = function() { var a, b, c; this.visible = 0 === this.u[0]; this.nc = this.u[1]; this.mc = this.u[2]; this.Es = this.u[3]; this.Gs = this.u[4]; this.Fs = this.u[5]; this.Hs = this.u[6]; this.ah = 0 !== this.u[7]; this.ee = this.Yx; this.Ce = this.Xx; this.Sn = this.width; this.Rn = this.height; var d = this.nc, e = this.mc; 0 === d && (d = 1); 0 === e && (e = 1); this.cc = Math.ceil(this.c.Nb / d); this.oc = Math.ceil(this.c.Mb / e); if (!this.type.Vx) for (this.type.Vx = !0, a = 0, b = this.type.Je.length; a < b; ++a) if (c = this.type.Je[a]) this.type.ug(a, d, e, !1, !1, !1), this.type.ug(a, d, e, !1, !1, !0), this.type.ug(a, d, e, !1, !0, !1), this.type.ug(a, d, e, !1, !0, !0), this.type.ug(a, d, e, !0, !1, !1), this.type.ug(a, d, e, !0, !1, !0), this.type.ug(a, d, e, !0, !0, !1), this.type.ug(a, d, e, !0, !0, !0); this.uc || (this.bd = []); this.bl(!0); this.Ex(this.Wx); this.type.Dr(this.nc, this.mc, this.Es, this.Gs, this.Fs, this.Hs, this.ah); this.ql = !1; this.Em = !0; this.Cr() }; e.Cr = function() { if (this.Em) { var a, b, c, d, e; a = 0; for (b = this.bd.length; a < b; ++a) for (e = this.bd[a], c = 0, d = e.length; c < d; ++c) e[c].al(); this.Em = !1 } }; e.Oo = function() { var a, b, c, d, e; a = 0; for (b = this.bd.length; a < b; ++a) for (e = this.bd[a], c = 0, d = e.length; c < d; ++c) e[c].ul = !1; this.Em = !0 }; e.bl = function(a) { var c = ua(this.width / this.nc), d = ua(this.height / this.mc); if (!(c <= this.ee && d <= this.Ce) || a) { var e; a ? (a = Math.ceil(this.Ce / this.oc), e = Math.ceil(this.ee / this.cc)) : (a = this.bd.length, e = Math.ceil(this.ee / this.cc), d > this.Ce && (this.Ce = d, a = Math.ceil(this.Ce / this.oc)), c > this.ee && (this.ee = c, e = Math.ceil(this.ee / this.cc)), this.Oo(), this.ql = !0, this.c.H = !0); for (var f, c = 0; c < a; ++c) if (f = this.bd[c]) for (d = f.length; d < e; ++d) f.push(b(this, d, c)); else { f = []; for (d = 0; d < e; ++d) f.push(b(this, d, c)); this.bd[c] = f } } }; e.fq = function(a, b) { if (0 > a || 0 > b) return null; var c = ua(b / this.oc); if (c >= this.bd.length) return null; var c = this.bd[c], d = ua(a / this.cc); return d >= c.length ? null : c[d] }; e.gq = function(a, b) { if (0 > a || 0 > b || b >= this.bd.length) return null; var c = this.bd[b]; return a >= c.length ? null : c[a] }; e.Ex = function(a) { var b = []; a = a.split(","); var c, d, e, f, h; c = 0; for (d = a.length; c < d; ++c) if (e = a[c], f = e.indexOf("x"), -1 < f) for (h = parseInt(e.substring(0, f), 10), e = e.substring(f + 1), f = parseInt(e, 10), -1 < e.indexOf("h") && (f |= t), -1 < e.indexOf("v") && (f |= x), -1 < e.indexOf("d") && (f |= m); 0 < h; --h) b.push(f); else f = parseInt(e, 10), -1 < e.indexOf("h") && (f |= t), -1 < e.indexOf("v") && (f |= x), -1 < e.indexOf("d") && (f |= m), b.push(f); for (c = a = 0; c < this.Ce; ++c) for (d = 0; d < this.ee; ++d) h = b[a++], (e = this.fq(d, c)) && e.Dl(d % this.cc, c % this.oc, h) }; e.HE = function() { var a = ""; if (0 >= this.ee || 0 >= this.Ce) return a; var b = 1, c = this.Pq(0, 0), d, e, f, h, g, k, n, l; h = ua(this.width / this.nc); e = ua(this.height / this.mc); for (d = 0; d < e; ++d) for (f = 0 === d ? 1 : 0; f < h; ++f) g = this.Pq(f, d), g === c ? ++b : (-1 === c ? (k = -1, c = l = n = !1) : (k = c & q, n = 0 !== (c & t), l = 0 !== (c & x), c = 0 !== (c & m)), a = 1 === b ? a + ("" + k) : a + ("" + b + "x" + k), n && (a += "h"), l && (a += "v"), c && (a += "d"), a += ",", b = 1, c = g); - 1 === c ? (k = -1, c = l = n = !1) : (k = c & q, n = 0 !== (c & t), l = 0 !== (c & x), c = 0 !== (c & m)); a = 1 === b ? a + ("" + k) : a + ("" + b + "x" + k); n && (a += "h"); l && (a += "v"); c && (a += "d"); return a }; e.Pq = function(a, b) { a = Math.floor(a); b = Math.floor(b); if (0 > a || 0 > b || a >= this.ee || b >= this.Ce) return -1; var c = this.fq(a, b); return c ? c.of[b % this.oc][a % this.cc] : -1 }; e.Dl = function(a, b, c) { a = Math.floor(a); b = Math.floor(b); if (0 > a || 0 > b || a >= this.ee || b >= this.Ce) return -1; var d = this.fq(a, b); if (!d) return -1; d.Dl(a % this.cc, b % this.oc, c) }; e.oy = function(a) { return Math.floor((a - this.x) / (this.cc * this.nc)) }; e.qy = function(a) { return Math.floor((a - this.y) / (this.oc * this.mc)) }; e.mH = function(a) { return Math.floor((a - this.x) / this.nc) }; e.nH = function(a) { return Math.floor((a - this.y) / this.mc) }; e.wE = function(a, b) { var c = this.qy(a.top), d = this.oy(a.right), e = this.qy(a.bottom), f, h, g; for (f = this.oy(a.left); f <= d; ++f) for (h = c; h <= e; ++h) if (g = this.gq(f, h)) g.al(), Ea(b, g.Tc) }; e.YG = function(a, b) { var c = this.Pq(this.mH(a), this.nH(b)); if (-1 === c) return !1; c = this.type.Ev(c); if (!c) return !0; var d = Math.floor((b - this.y) / this.mc) * this.mc + this.y; a -= Math.floor((a - this.x) / this.nc) * this.nc + this.x; return c.wc(a, b - d) }; e.zc = function(a) { var b, c, d, e, f, h; b = 0; for (c = this.bd.length; b < c; ++b) for (f = this.bd[b], d = 0, e = f.length; d < e; ++d) h = f[d], h.al(), Ea(a, h.Tc) }; e.yd = function() { var a, b, c, d, e; a = 0; for (b = this.bd.length; a < b; ++a) { e = this.bd[a]; c = 0; for (d = e.length; c < d; ++c) { for (var h = e[c], g = void 0, k = void 0, g = 0, k = h.Ic.length; g < k; ++g) l(h.Ic[g]); B(h.Ic); g = 0; for (k = h.Tc.length; g < k; ++g) f(h.Tc[g]); B(h.Tc); 1E3 > v.length && v.push(h) } B(e) } B(this.bd) }; e.$a = function() { this.bl(); return { w: ua(this.width / this.nc), h: ua(this.height / this.mc), d: this.HE() } }; e.lb = function(a) { this.ee = a.w; this.Ce = a.h; this.bl(!0); this.Ex(a.d); this.ql = !0; this.Oo() }; e.ud = function(a) { if (!(0 >= this.nc || 0 >= this.mc)) { this.type.Dr(this.nc, this.mc, this.Es, this.Gs, this.Fs, this.Hs, this.ah); if (this.width !== this.Sn || this.height !== this.Rn) this.ql = !0, this.Oo(), this.Cr(), this.Sn = this.width, this.Rn = this.height; a.globalAlpha = this.opacity; var b = this.F, c = b.Wa, d = b.Xa, e = b.bb, b = b.ab, f = this.x, h = this.y, g = this.ah, k; this.c.hd && (f = Math.round(f), h = Math.round(h)); var m = this.cc * this.nc, n = this.oc * this.mc, l = Math.floor((c - f) / m), m = Math.floor((e - f) / m), p = Math.floor((d - h) / n), n = Math.floor((b - h) / n), q = f % this.nc, w = h % this.mc; this.ah && (w = q = 0); if (0 !== q || 0 !== w) a.save(), a.translate(q, w), f -= q, h -= w, c -= q, d -= w, e -= q, b -= w; for (var t, v, u, x, K, N, S, Y, T; l <= m; ++l) for (t = p; t <= n; ++t) if (v = this.gq(l, t)) for (v.al(), u = 0, x = v.Ic.length; u < x; ++u) K = v.Ic[u], -1 !== K.id && (k = K.Ta, N = k.left + f, S = k.top + h, Y = k.right + f, k = k.bottom + h, N > e || Y < c || S > b || k < d || (T = this.type.ot(K.dp, K.yk, K.Xl, K.Hi, this.ah), g ? a.drawImage(T, N, S) : (a.fillStyle = this.type.ot(K.dp, K.yk, K.Xl, K.Hi, this.ah), a.fillRect(N, S, Y - N, k - S)))); 0 === q && 0 === w || a.restore() } }; var k = new xa(0, 0, 1, 1); e.Gg = function(a) { this.yc(a) }; e.yc = function(a) { if (!(0 >= this.nc || 0 >= this.mc)) { this.type.Dr(this.nc, this.mc, this.Es, this.Gs, this.Fs, this.Hs, this.ah); if (this.width !== this.Sn || this.height !== this.Rn) this.ql = !0, this.Oo(), this.Cr(), this.Sn = this.width, this.Rn = this.height; a.ag(this.opacity); var b = this.type.wh, c = this.F, d = c.Wa, e = c.Xa, f = c.bb, c = c.ab, h = this.x, g = this.y, m; this.c.hd && (h = Math.round(h), g = Math.round(g)); var n = this.cc * this.nc, l = this.oc * this.mc, p = Math.floor((f - h) / n), q = Math.floor((e - g) / l), l = Math.floor((c - g) / l), w, t, v, u, x, V, K, N, S, Y, T, ka, la, Z, Ua, bb, cb; for (Ua = Math.floor((d - h) / n); Ua <= p; ++Ua) for (bb = q; bb <= l; ++bb) if (cb = this.gq(Ua, bb)) for (cb.al(), n = 0, w = cb.Ic.length; n < w; ++n) t = cb.Ic[n], -1 !== t.id && (m = t.Ta, v = m.left + h, u = m.top + g, x = m.right + h, m = m.bottom + g, v > f || x < d || u > c || m < e || (a.Zc(b[t.dp]), k.right = (x - v) / this.nc, k.bottom = (m - u) / this.mc, t.Iu ? (t.Hi && (Z = k.right, k.right = k.bottom, k.bottom = Z), K = V = 0, N = k.right, S = 0, Y = k.right, T = k.bottom, ka = 0, la = k.bottom, t.Hi && (Z = ka, ka = N, N = Z, Z = la, la = S, S = Z), t.yk && (Z = V, V = N, N = Z, Z = K, K = S, S = Z, Z = ka, ka = Y, Y = Z, Z = la, la = T, T = Z), t.Xl && (Z = V, V = ka, ka = Z, Z = K, K = la, la = Z, Z = N, N = Y, Y = Z, Z = S, S = T, T = Z), a.nG(v, u, x, u, x, m, v, m, V, K, N, S, Y, T, ka, la)) : a.Fe(v, u, x, u, x, m, v, m, k))) } }; c.prototype.uf = function() { return !0 }; h.g = new c; n.prototype.mt = function(a, b) { this.bl(); this.Dl(a, b, -1) }; n.prototype.Op = function(b, c, d, e) { this.bl(); this.Dl(b, c, d & q | a(e)) }; n.prototype.yp = function(a, b) { var c = new Image, d = this; c.onload = function() { var a = d.type; a.un(); a.K = c; d.c.H = !0; d.c.trigger(Yc.prototype.g.uf, d) }; "data:" !== a.substr(0, 5) && 0 === b && (c.crossOrigin = "anonymous"); this.c.Bl(c, a) }; h.j = new n; h.n = new function() {} })(); function Zc(g) { this.c = g } (function() { function g(a) { n = a.x; h = a.y; e = a.z } function l(a, b, c, d) { var e; e = t.length ? t.pop() : new p; e.init(a, b, c, d); return e } function p() { this.Kl = this.id = this.y = this.x = this.Yo = this.Xo = this.sr = this.time = this.Bs = 0; this.Sl = this.hp = !1 } function f() {} function b() {} var d = Zc.prototype; d.N = function(a) { this.W = a; this.c = a.c }; d.N.prototype.I = function() {}; d.L = function(a) { this.type = a; this.c = a.c; this.touches = []; this.Hr = !1 }; var c = d.L.prototype, a = { left: 0, top: 0 }; c.Ch = function(a) { var b, c; b = 0; for (c = this.touches.length; b < c; b++) if (this.touches[b].id === a) return b; return -1 }; var n = 0, h = 0, e = 0, t = []; p.prototype.init = function(a, b, c, d) { var e = $a(); this.Bs = this.sr = this.time = e; this.Xo = a; this.Yo = b; this.x = a; this.y = b; this.pressure = this.height = this.width = 0; this.id = c; this.Kl = d; this.Sl = this.hp = !1 }; p.prototype.update = function(a, b, c, d, e, f) { this.sr = this.time; this.time = a; this.x = b; this.y = c; this.width = d; this.height = e; this.pressure = f; !this.Sl && 15 <= Ta(this.Xo, this.Yo, this.x, this.y) && (this.Sl = !0) }; p.prototype.GF = function(a, b) { !this.hp && 500 <= $a() - this.Bs && !this.Sl && 15 > Ta(this.Xo, this.Yo, this.x, this.y) && (this.hp = !0, a.rf = this.Kl, a.pi = this.id, a.Ni = b, a.c.trigger(Zc.prototype.g.Ht, a), a.Cf = this.x, a.Df = this.y, a.c.trigger(Zc.prototype.g.zA, a), a.Ni = 0) }; var x = -1E3, m = -1E3, q = -1E4; p.prototype.xw = function(a, b) { if (!this.hp) { var c = $a(); 333 >= c - this.Bs && !this.Sl && 15 > Ta(this.Xo, this.Yo, this.x, this.y) && (a.rf = this.Kl, a.pi = this.id, a.Ni = b, 666 >= c - q && 25 > Ta(x, m, this.x, this.y) ? (a.c.trigger(Zc.prototype.g.uA, a), a.Cf = this.x, a.Df = this.y, a.c.trigger(Zc.prototype.g.vA, a), m = x = -1E3, q = -1E4) : (a.c.trigger(Zc.prototype.g.KA, a), a.Cf = this.x, a.Df = this.y, a.c.trigger(Zc.prototype.g.LA, a), x = this.x, m = this.y, q = c), a.Ni = 0) } }; c.I = function() { this.oF = !("undefined" === typeof window.c2isWindows8 || !window.c2isWindows8); this.Ni = this.pi = this.rf = this.Df = this.Cf = this.Au = this.zu = this.yu = this.EC = this.DC = this.CC = this.po = this.oo = this.no = 0; this.iH = 0 !== this.u[0]; var a = 0 < this.c.Pc ? document : this.c.canvas, b = document; this.c.Cc ? b = a = window.Canvas : this.c.vd && (b = a = window); var c = this; "undefined" !== typeof PointerEvent ? (a.addEventListener("pointerdown", function(a) { c.Uw(a) }, !1), a.addEventListener("pointermove", function(a) { c.Tw(a) }, !1), b.addEventListener("pointerup", function(a) { c.jo(a, !1) }, !1), b.addEventListener("pointercancel", function(a) { c.jo(a, !0) }, !1), this.c.canvas && (this.c.canvas.addEventListener("MSGestureHold", function(a) { a.preventDefault() }, !1), document.addEventListener("MSGestureHold", function(a) { a.preventDefault() }, !1), this.c.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.Uw(a) }, !1), a.addEventListener("MSPointerMove", function(a) { c.Tw(a) }, !1), b.addEventListener("MSPointerUp", function(a) { c.jo(a, !1) }, !1), b.addEventListener("MSPointerCancel", function(a) { c.jo(a, !0) }, !1), this.c.canvas && (this.c.canvas.addEventListener("MSGestureHold", function(a) { a.preventDefault() }, !1), document.addEventListener("MSGestureHold", function(a) { a.preventDefault() }, !1))) : (a.addEventListener("touchstart", function(a) { c.Xw(a) }, !1), a.addEventListener("touchmove", function(a) { c.Ww(a) }, !1), b.addEventListener("touchend", function(a) { c.Pr(a, !1) }, !1), b.addEventListener("touchcancel", function(a) { c.Pr(a, !0) }, !1)); if (this.oF) { var d = function(a) { a = a.reading; c.yu = a.accelerationX; c.zu = a.accelerationY; c.Au = a.accelerationZ }, e = function(a) { a = a.reading; c.no = a.yawDegrees; c.oo = a.pitchDegrees; c.po = a.rollDegrees }, f = Windows.Devices.Sensors.Accelerometer.getDefault(); f && (f.reportInterval = Math.max(f.minimumReportInterval, 16), f.addEventListener("readingchanged", d)); var h = Windows.Devices.Sensors.Inclinometer.getDefault(); h && (h.reportInterval = Math.max(h.minimumReportInterval, 16), h.addEventListener("readingchanged", e)); document.addEventListener("visibilitychange", function() { document.hidden || document.msHidden ? (f && f.removeEventListener("readingchanged", d), h && h.removeEventListener("readingchanged", e)) : (f && f.addEventListener("readingchanged", d), h && h.addEventListener("readingchanged", e)) }, !1) } else window.addEventListener("deviceorientation", function(a) { c.no = a.alpha || 0; c.oo = a.beta || 0; c.po = a.gamma || 0 }, !1), window.addEventListener("devicemotion", function(a) { a.accelerationIncludingGravity && (c.CC = a.accelerationIncludingGravity.x || 0, c.DC = a.accelerationIncludingGravity.y || 0, c.EC = a.accelerationIncludingGravity.z || 0); a.acceleration && (c.yu = a.acceleration.x || 0, c.zu = a.acceleration.y || 0, c.Au = a.acceleration.z || 0) }, !1); this.iH && !this.c.kb && (jQuery(document).mousemove(function(a) { c.Nr(a) }), jQuery(document).mousedown(function(a) { c.Mr(a) }), jQuery(document).mouseup(function(a) { c.Or(a) })); !this.c.Ph && this.c.Uc && navigator.accelerometer && navigator.accelerometer.watchAcceleration && navigator.accelerometer.watchAcceleration(g, null, { frequency: 40 }); this.c.ZG(this) }; c.Tw = function(b) { if (b.pointerType !== b.MSPOINTER_TYPE_MOUSE && "mouse" !== b.pointerType) { b.preventDefault && b.preventDefault(); var c = this.Ch(b.pointerId), d = $a(); if (0 <= c) { var e = this.c.kb ? a : jQuery(this.c.canvas).offset(), c = this.touches[c]; 2 > d - c.time || c.update(d, b.pageX - e.left, b.pageY - e.top, b.width || 0, b.height || 0, b.pressure || 0) } } }; c.Uw = function(b) { if (b.pointerType !== b.MSPOINTER_TYPE_MOUSE && "mouse" !== b.pointerType) { b.preventDefault && pb(b) && b.preventDefault(); var c = this.c.kb ? a : jQuery(this.c.canvas).offset(), d = b.pageX - c.left, c = b.pageY - c.top; $a(); this.rf = this.touches.length; this.pi = b.pointerId; this.touches.push(l(d, c, b.pointerId, this.rf)); this.c.Dc = !0; this.c.trigger(Zc.prototype.g.Pt, this); this.c.trigger(Zc.prototype.g.Gp, this); this.Cf = d; this.Df = c; this.c.trigger(Zc.prototype.g.Fp, this); this.c.Dc = !1 } }; c.jo = function(a, b) { if (a.pointerType !== a.MSPOINTER_TYPE_MOUSE && "mouse" !== a.pointerType) { a.preventDefault && pb(a) && a.preventDefault(); var c = this.Ch(a.pointerId); this.rf = 0 <= c ? this.touches[c].Kl : -1; this.pi = 0 <= c ? this.touches[c].id : -1; this.c.Dc = !0; this.c.trigger(Zc.prototype.g.Ot, this); this.c.trigger(Zc.prototype.g.Ep, this); 0 <= c && (b || this.touches[c].xw(this, c), 100 > t.length && t.push(this.touches[c]), this.touches.splice(c, 1)); this.c.Dc = !1 } }; c.Ww = function(b) { b.preventDefault && b.preventDefault(); var c = $a(), d, e, f, h; d = 0; for (e = b.changedTouches.length; d < e; d++) if (f = b.changedTouches[d], h = this.Ch(f.identifier), 0 <= h) { var g = this.c.kb ? a : jQuery(this.c.canvas).offset(); h = this.touches[h]; 2 > c - h.time || h.update(c, f.pageX - g.left, f.pageY - g.top, 2 * (f.aJ || f.kJ || f.RI || f.VI || 0), 2 * (f.bJ || f.lJ || f.SI || f.WI || 0), f.II || f.jJ || f.QI || f.TI || 0) } }; c.Xw = function(b) { b.preventDefault && pb(b) && b.preventDefault(); var c = this.c.kb ? a : jQuery(this.c.canvas).offset(); $a(); this.c.Dc = !0; var d, e, f, h; d = 0; for (e = b.changedTouches.length; d < e; d++) if (f = b.changedTouches[d], h = this.Ch(f.identifier), -1 === h) { h = f.pageX - c.left; var g = f.pageY - c.top; this.rf = this.touches.length; this.pi = f.identifier; this.touches.push(l(h, g, f.identifier, this.rf)); this.c.trigger(Zc.prototype.g.Pt, this); this.c.trigger(Zc.prototype.g.Gp, this); this.Cf = h; this.Df = g; this.c.trigger(Zc.prototype.g.Fp, this) } this.c.Dc = !1 }; c.Pr = function(a, b) { a.preventDefault && pb(a) && a.preventDefault(); this.c.Dc = !0; var c, d, e; c = 0; for (d = a.changedTouches.length; c < d; c++) e = a.changedTouches[c], e = this.Ch(e.identifier), 0 <= e && (this.rf = this.touches[e].Kl, this.pi = this.touches[e].id, this.c.trigger(Zc.prototype.g.Ot, this), this.c.trigger(Zc.prototype.g.Ep, this), b || this.touches[e].xw(this, e), 100 > t.length && t.push(this.touches[e]), this.touches.splice(e, 1)); this.c.Dc = !1 }; c.zc = function() { return this.c.Uc && 0 === this.no && 0 !== e ? 90 * e : this.no }; c.Dh = function() { return this.c.Uc && 0 === this.oo && 0 !== h ? 90 * h : this.oo }; c.Nk = function() { return this.c.Uc && 0 === this.po && 0 !== n ? 90 * n : this.po }; c.Mr = function(a) { this.Xw({ changedTouches: [{ pageX: a.pageX, pageY: a.pageY, identifier: 0 }] }); this.Hr = !0 }; c.Nr = function(a) { this.Hr && this.Ww({ changedTouches: [{ pageX: a.pageX, pageY: a.pageY, identifier: 0 }] }) }; c.Or = function(a) { a.preventDefault && this.c.Cn && !this.c.Pg && a.preventDefault(); this.c.Cn = !0; this.Pr({ changedTouches: [{ pageX: a.pageX, pageY: a.pageY, identifier: 0 }] }); this.Hr = !1 }; c.zj = function() { var a, b, c, d = $a(); a = 0; for (b = this.touches.length; a < b; ++a) c = this.touches[a], c.time <= d - 50 && (c.sr = d), c.GF(this, a) }; f.prototype.Gp = function() { return !0 }; f.prototype.Ep = function() { return !0 }; f.prototype.Fp = function(a) { return a ? this.c.Nl(a, this.Cf, this.Df) : !1 }; var u = []; f.prototype.Vz = function(a) { if (!a) return !1; var b = a.V(), c = b.tb(), d, e, f, h, g, m; f = 0; for (h = c.length; f < h; f++) { var n = c[f]; n.jb(); g = 0; for (m = this.touches.length; g < m; g++) if (e = this.touches[g], d = n.F.nb(e.x, e.y, !0), e = n.F.nb(e.x, e.y, !1), n.wc(d, e)) { u.push(n); break } } return u.length ? (b.X = !1, Da(b.k, u), a.Bd(), B(u), !0) : !1 }; f.prototype.Pt = function(a) { a = Math.floor(a); return a === this.rf }; f.prototype.Ot = function(a) { a = Math.floor(a); return a === this.rf }; f.prototype.Ht = function() { return !0 }; f.prototype.KA = function() { return !0 }; f.prototype.uA = function() { return !0 }; f.prototype.zA = function(a) { return a ? this.c.Nl(a, this.Cf, this.Df) : !1 }; f.prototype.LA = function(a) { return a ? this.c.Nl(a, this.Cf, this.Df) : !1 }; f.prototype.vA = function(a) { return a ? this.c.Nl(a, this.Cf, this.Df) : !1 }; d.g = new f; b.prototype.WB = function(a) { a.G(this.touches.length) }; b.prototype.kh = function(a, b) { var c = this.Ni; if (0 > c || c >= this.touches.length) a.C(0); else { var d, e, f, h, g; ia(b) ? (d = this.c.Qc(0), e = d.scale, f = d.Fb, h = d.Gc, g = d.q, d.scale = 1, d.Fb = 1, d.Gc = 1, d.q = 0, a.C(d.nb(this.touches[c].x, this.touches[c].y, !0)), d.scale = e, d.Fb = f, d.Gc = h, d.q = g) : (d = ja(b) ? this.c.Qc(b) : this.c.ze(b)) ? a.C(d.nb(this.touches[c].x, this.touches[c].y, !0)) : a.C(0) } }; b.prototype.gC = function(a, b, c) { b = this.Ch(b); if (0 > b) a.C(0); else { b = this.touches[b]; var d, e, f, h; ia(c) ? (c = this.c.Qc(0), d = c.scale, e = c.Fb, f = c.Gc, h = c.q, c.scale = 1, c.Fb = 1, c.Gc = 1, c.q = 0, a.C(c.nb(b.x, b.y, !0)), c.scale = d, c.Fb = e, c.Gc = f, c.q = h) : (c = ja(c) ? this.c.Qc(c) : this.c.ze(c)) ? a.C(c.nb(b.x, b.y, !0)) : a.C(0) } }; b.prototype.mh = function(a, b) { var c = this.Ni; if (0 > c || c >= this.touches.length) a.C(0); else { var d, e, f, h, g; ia(b) ? (d = this.c.Qc(0), e = d.scale, f = d.Fb, h = d.Hc, g = d.q, d.scale = 1, d.Fb = 1, d.Hc = 1, d.q = 0, a.C(d.nb(this.touches[c].x, this.touches[c].y, !1)), d.scale = e, d.Fb = f, d.Hc = h, d.q = g) : (d = ja(b) ? this.c.Qc(b) : this.c.ze(b)) ? a.C(d.nb(this.touches[c].x, this.touches[c].y, !1)) : a.C(0) } }; b.prototype.hC = function(a, b, c) { b = this.Ch(b); if (0 > b) a.C(0); else { b = this.touches[b]; var d, e, f, h; ia(c) ? (c = this.c.Qc(0), d = c.scale, e = c.Fb, f = c.Hc, h = c.q, c.scale = 1, c.Fb = 1, c.Hc = 1, c.q = 0, a.C(c.nb(b.x, b.y, !1)), c.scale = d, c.Fb = e, c.Hc = f, c.q = h) : (c = ja(c) ? this.c.Qc(c) : this.c.ze(c)) ? a.C(c.nb(b.x, b.y, !1)) : a.C(0) } }; b.prototype.XB = function(a) { a.C(this.pi) }; d.n = new b })(); function $c(g) { this.c = g } (function() { function g() {} function l() {} function p() {} var f = $c.prototype; f.N = function(a) { this.W = a; this.c = a.c }; f.N.prototype.I = function() {}; f.L = function(a) { this.type = a; this.c = a.c }; var b = f.L.prototype, d = "", c = "undefined" !== typeof window.is_scirra_arcade; c && (d = "arcade" + window.scirra_arcade_id); var a = !1; try { localStorage.getItem("test"), a = !0 } catch (n) { a = !1 } b.I = function() { a || fa("[Construct 2] Webstorage plugin: local storage is not supported on this platform.") }; g.prototype.Rt = function() { return !0 }; f.g = new g; l.prototype.RB = function(b, c) { if (a) try { localStorage.setItem(d + b, c) } catch (f) { this.c.trigger($c.prototype.g.Rt, this) } }; l.prototype.vi = function(b, e) { if (a) { var f; try { f = JSON.parse(b) } catch (g) { return } if (f.c2dictionary) { f = f.data; 0 !== e || c || localStorage.clear(); for (var m in f) if (f.hasOwnProperty(m)) try { localStorage.setItem(d + m, f[m]) } catch (n) { this.c.trigger($c.prototype.g.Rt, this); break } } } }; f.j = new l; p.prototype.hA = function(b, c) { a ? b.aa(localStorage.getItem(d + c) || "") : b.aa("") }; p.prototype.tf = function(b) { if (a) { var e = {}, f, g, m; f = 0; for (g = localStorage.length; f < g; f++) m = localStorage.key(f), c ? m.substr(0, d.length) === d && (e[m.substr(d.length)] = localStorage.getItem(m)) : e[m] = localStorage.getItem(m); b.aa(JSON.stringify({ c2dictionary: !0, data: e })) } else b.aa("") }; f.n = new p })(); function ad(g, l, p, f, b, d) { function c(a) { return m == g[a] && q == g[a + 1] && u == g[a + 2] } function a(a) { g[a] = h; g[a + 1] = e; g[a + 2] = t; g[a + 3] = 255 } function n(a) { c(x + 4 * a) ? v[a] || (w.push([f + a, b]), v[a] = !0) : v[a] && (v[a] = !1) } if (!(0 > f || f > l || 0 > b || b > p)) { d = $("
").css("background-color", d).css("background-color"); "transparent" == d && (d = "rgb(0,0,0)"); d = d.slice(4, -1).split(","); var h = d[0], e = d[1], t = d[2], x = 4 * (b * l + f), m = g[x], q = g[x + 1], u = g[x + 2]; if (h != m || e != q || t != u) for (var w = [ [f, b] ]; w.length;) { d = w.pop(); f = d[0]; b = d[1]; for (x = 4 * (b * l + f); 0 <= b-- && c(x);) x -= 4 * l; x += 4 * l; ++b; var v = []; v[-1] = !1; for (v[1] = !1; b++ < p - 1 && c(x);) a(x), 0 < f && n(-1), f < l - 1 && n(1), x += 4 * l } } } function X(g) { this.c = g } (function() { var g = X.prototype; g.N = function(f) { this.W = f; this.c = f.c }; g.N.prototype.I = function() { this.K = new Image; this.K.src = this.yj; this.K.Rm = this.Ql; this.c.ri.push(this.K) }; g.L = function(f) { this.type = f; this.c = f.c }; var l = g.L.prototype, p = "lighter xor copy destination-over source-in destination-in source-out destination-out source-atop destination-atop".split(" "); l.cv = function(f) { return 0 >= f || 11 <= f ? "source-over" : p[f - 1] }; l.dH = function(f) { var b = this.c.S; if (b) switch (this.ib = b.ONE, this.eb = b.ONE_MINUS_SRC_ALPHA, f) { case 1: this.eb = this.ib = b.ONE; break; case 3: this.ib = b.ONE; this.eb = b.ZERO; break; case 4: this.ib = b.ONE_MINUS_DST_ALPHA; this.eb = b.ONE; break; case 5: this.ib = b.DST_ALPHA; this.eb = b.ZERO; break; case 6: this.ib = b.ZERO; this.eb = b.SRC_ALPHA; break; case 7: this.ib = b.ONE_MINUS_DST_ALPHA; this.eb = b.ZERO; break; case 8: this.ib = b.ZERO; this.eb = b.ONE_MINUS_SRC_ALPHA; break; case 9: this.ib = b.DST_ALPHA; this.eb = b.ONE_MINUS_SRC_ALPHA; break; case 10: this.ib = b.ONE_MINUS_DST_ALPHA, this.eb = b.SRC_ALPHA } }; l.I = function() { this.visible = 0 === this.u[0]; this.Wd = this.cv(this.u[1]); this.dH(this.u[1]); this.canvas = document.createElement("canvas"); this.canvas.width = this.width; this.canvas.height = this.height; this.B = this.canvas.getContext("2d"); this.B.drawImage(this.type.K, 0, 0, this.width, this.height); this.wj = document.createElement("canvas"); this.XG = this.wj.getContext("2d"); this.wb = !0; this.qj = new xa(0, 0, 0, 0); this.ba = []; this.zf = {}; this.vc = []; this.nq = {}; this.Yc = []; this.ka = []; this.Mo = {}; this.Y = []; this.Kn = !1; this.el = this.Ye = this.Af = this.nr = 0; this.Pv = !1; this.Mg = [null]; this.Bg = [null]; this.kF = 1 === this.u[3]; this.BF = !0 }; l.yd = function() {}; l.$a = function() { return { canvas_w: this.canvas.width, canvas_h: this.canvas.height, image: this.B.getImageData(0, 0, this.canvas.width, this.canvas.height).data } }; l.lb = function(f) { for (var b = this.canvas.width = f.canvas_w, d = this.canvas.height = f.canvas_h, c = this.B.getImageData(0, 0, this.canvas.width, this.canvas.height).data, a = 0; a < d; ++a) for (var g = 0; g < b; ++g) for (var h = 4 * (a * b + g), e = 0; 4 > e; ++e) c[h + e] = f.image[h + e] }; l.bv = function(f, b) { for (var d in f) if (0 != f[d].visible || 0 != this.c.Rx(this, f[d])) b.save(), b.scale(this.canvas.width / this.width, this.canvas.height / this.height), b.rotate(-this.q), b.translate(-this.Nc.qb, -this.Nc.rb), b.globalCompositeOperation = f[d].Wd, f[d].ud(b), b.restore() }; l.ud = function(f) { f.save(); f.globalAlpha = this.opacity; f.globalCompositeOperation = this.Wd; var b = this.x, d = this.y; this.c.hd && (b = Math.round(b), d = Math.round(d)); f.translate(b, d); f.rotate(this.q); f.drawImage(this.canvas, 0 - this.Ab * this.width, 0 - this.Bb * this.height, this.width, this.height); f.restore() }; l.yc = function(f) { f.$f(this.ib, this.eb); this.wb && (this.Ds && f.deleteTexture(this.Ds), this.Ds = f.Tf(this.canvas, !1, this.kF), this.wb = !1); f.Zc(this.Ds); f.ag(this.opacity); var b = this.Nc; if (this.c.hd) { var d = Math.round(this.x) - this.x, c = Math.round(this.y) - this.y; f.fi(b.qb + d, b.rb + c, b.Qb + d, b.Rb + c, b.Ib + d, b.Jb + c, b.Gb + d, b.Hb + c) } else f.fi(b.qb, b.rb, b.Qb, b.Rb, b.Ib, b.Jb, b.Gb, b.Hb) }; g.g = {}; g.g.uf = function() { return !0 }; g.j = {}; l = g.j; l.pm = function(f) { this.Wd = this.cv(f); this.wb = this.c.H = !0 }; l.BH = function(f, b, d) { var c = this.B; c.fillStyle = d; c.fillRect(f, b, 1, 1); this.wb = this.c.H = !0 }; l.jB = function(f, b) { this.canvas.width = f; this.canvas.height = b; this.wb = this.c.H = !0 }; l.QA = function(f) { var b = this.B; this.jb(); f = f.V(); this.bv(f.X ? f.type.k : f.k, b); this.wb = this.c.H = !0 }; l.SH = function(f) { if (!f || !f.visible) return !1; var b = this.B; this.jb(); this.wj.width = this.canvas.width; this.wj.height = this.canvas.height; var d = this.XG; d.clearRect(0, 0, this.wj.width, this.wj.height); this.bv(f.k, d); b.drawImage(this.wj, 0, 0, this.width, this.height); this.wb = this.c.H = !0 }; l.zH = function(f, b, d, c, a) { this.B.fillStyle = a; this.B.fillRect(f, b, d, c); this.wb = this.c.H = !0 }; l.uH = function(f, b, d, c) { this.B.clearRect(f, b, d, c); this.wb = this.c.H = !0 }; l.AH = function(f, b, d, c, a, g) { var h = this.B; h.strokeStyle = a; h.lineWidth = g; h.beginPath(); h.moveTo(f, b); h.lineTo(d, c); h.stroke(); this.wb = this.c.H = !0 }; l.Ky = function() { this.B.clearRect(0, 0, this.canvas.width, this.canvas.height); this.wb = this.c.H = !0 }; l.nt = function(f) { this.B.fillStyle = f; this.B.fillRect(0, 0, this.canvas.width, this.canvas.height); this.wb = this.c.H = !0 }; l.GI = function(f, b, d) { var c = this.B, a = this.canvas.width, g = this.canvas.height, h; switch (f) { case 0: h = c.createLinearGradient(0, 0, a, 0); break; case 1: h = c.createLinearGradient(0, 0, 0, g); break; case 2: h = c.createLinearGradient(0, 0, a, g); break; case 3: h = c.createLinearGradient(a, 0, 0, g); break; case 4: h = c.createRadialGradient(a / 2, g / 2, 0, a / 2, g / 2, Math.sqrt(a ^ 2 + g ^ 2) / 2) } try { h.addColorStop(0, b) } catch (e) { h.addColorStop(0, "black") } try { h.addColorStop(1, d) } catch (l) { h.addColorStop(1, "black") } this.B.fillStyle = h; this.B.fillRect(0, 0, a, g); this.wb = this.c.H = !0 }; l.beginPath = function() { this.B.beginPath() }; l.FI = function(f, b) { var d = this.B; d.strokeStyle = f; d.lineWidth = b; d.stroke(); this.wb = this.c.H = !0 }; l.gJ = function(f, b) { var d = this.B; d.lineCap = ["butt", "round", "square"][f]; d.lineJoin = ["round", "bevel", "milet"][b] }; l.HI = function(f) { this.B.fillStyle = f; this.B.fill(); this.wb = this.c.H = !0 }; l.moveTo = function(f, b) { this.B.moveTo(f, b) }; l.lineTo = function(f, b) { this.B.lineTo(f, b) }; l.arc = function(f, b, d, c, a, g) { this.B.arc(f, b, d, D(c), D(a), 1 == g) }; l.EI = function(f, b, d, c, a) { var g = this.B; g.strokeStyle = c; g.lineWidth = a; g.beginPath(); g.arc(f, b, d, 0, D(360), !0); g.stroke(); this.wb = this.c.H = !0 }; l.bezierCurveTo = function(f, b, d, c, a, g) { this.B.bezierCurveTo(f, b, d, c, a, g) }; l.quadraticCurveTo = function(f, b, d, c) { this.B.quadraticCurveTo(f, b, d, c) }; l.cJ = function(f, b, d, c) { this.B.rect(f, b, d, c) }; l.CH = function(f, b, d) { var c = this.B, a = c.getImageData(0, 0, this.canvas.width, this.canvas.height); ad(a.data, this.canvas.width, this.canvas.height, f, b, d); c.putImageData(a, 0, 0); this.wb = this.c.H = !0 }; l.fA = function(f, b) { var d = this, c = new Image; c.onload = function() { d.canvas.width = c.width; d.canvas.height = c.height; d.B.drawImage(c, 0, 0, c.width, c.height); 0 === b && (d.width = c.width, d.height = c.height, d.ca()); d.c.H = !0; d.wb = !0; d.c.trigger(X.prototype.g.uf, d) }; "data:" !== f.substr(0, 5) && (c.crossOrigin = "anonymous"); c.src = f }; l.uI = function(f) { f = f / 100; for (var b = this.B.getImageData(0, 0, this.canvas.width, this.canvas.height), d = b.data, c = 0; c < d.length; c += 4) { var a = (Math.max(d[c], d[c + 1], d[c + 2]) + Math.min(d[c], d[c + 1], d[c + 2])) / 2; Math.floor(a += 0 <= f ? (255 - a) * f : a * f); d[c] = a; d[c + 1] = a; d[c + 2] = a } this.B.putImageData(b, 0, 0) }; l.YH = function(f, b) { f = Math.max(1, f); b = Math.max(1, b); var d = Math.floor(this.canvas.width / f), c = Math.floor(this.canvas.height / f), a = d * b, g = c * b, h = document.createElement("canvas"); h.width = a; h.height = g; for (var h = h.getContext("2d"), e = this.B.getImageData(0, 0, d * f, c * f).data, l = 4 * f, p = 4 * f * f, m = 0, q = 0; q < c; q++) { this.ba[q] = []; for (var u = 0; u < d; u++) { var w = u * l + q * d * p, v = e[w + 3], w = "rgba(" + e[w] + "," + e[w + 1] + "," + e[w + 2] + "," + v + ")"; h.fillStyle = w; h.fillRect(u * b, q * b, b, b); 255 == v ? (this.zf.hasOwnProperty(w) || (m++, this.zf[w] = m), this.ba[q][u] = this.zf[w], this.vc[m] = w) : this.ba[q][u] = 0 } } d = h.getImageData(0, 0, a, g); this.canvas.width = a; this.canvas.height = g; this.B.putImageData(d, 0, 0); this.width = a; this.height = g; this.ca(); this.wb = this.c.H = !0 }; l.Ny = function(f, b, d, c, a) { if (this.ba.length && void 0 != this.ka[b] && void 0 != this.ka[b][f] && void 0 != this.ba[b][f] && 0 != this.ka[b][f][0]) { var g = c.V(); c = g.tb()[0]; g = a.V(); a = g.tb()[0]; c.B.clearRect(f * d, b * d, d, d); this.ka[b][f][0] == this.ba[b][f] ? this.Af-- : this.Ye--; d = this.ka[b][f][1]; null != d && void 0 != this.Y[d] && (this.Y[d] = null, this.Kn = !0); this.ka[b][f][0] = 0; this.ka[b][f][1] = null; Yc.prototype.j.Op.apply(a, [f, b, this.ba[b][f] - 1, "normal"]); c.c.H = !0; c.wb = !0 } }; l.NA = function(f, b, d, c, a, g, h) { var e = a.V(); a = e.tb()[0]; e = g.V(); g = e.tb()[0]; h = h / 100; e = !1; void 0 != this.vc[d] && void 0 != this.ka[b] && void 0 != this.ka[b][f] && void 0 != this.ba[b][f] && 0 != this.ba[b][f] && (this.ka[b][f][0] != d && (this.ka[b][f][0] == this.ba[b][f] && this.BF && (e = !0), this.ba[b][f] == d ? (a.B.clearRect(f * c, b * c, c, c), a.B.fillStyle = this.vc[d], a.B.fillRect(f * c, b * c, c, c), Yc.prototype.j.mt.apply(g, [f, b]), 0 != this.ka[b][f][0] && this.Ye--, this.Af++) : e || (a.B.clearRect(f * c, b * c, c, c), a.B.fillStyle = this.vc[d].replace(/\d+\)$/, h + ")"), a.B.fillRect(f * c, b * c, c, c), Yc.prototype.j.Op.apply(g, [f, b, this.ba[b][f] - 1, "normal"]), this.ka[b][f][0] == this.ba[b][f] ? (this.Af--, this.Ye++) : 0 == this.ka[b][f][0] && this.Ye++), e || (this.Y.push([f, b, d]), c = this.ka[b][f][1], 0 != this.ka[b][f][0] && null != c && void 0 != this.Y[c] && (this.Y[c] = null, this.Kn = !0), this.ka[b][f][0] = d, this.ka[b][f][1] = this.Y.length - 1)), a.c.H = !0, a.wb = !0) }; l.jz = function(f, b, d, c) { if (!this.ba.length) { var a = {}; try { a = JSON.parse(c) } catch (g) { console.log(g) } if (a.hasOwnProperty("idTable") && a.hasOwnProperty("colors")) this.ba = a.idTable, this.vc = a.colors; else return } if (this.vc[f]) { this.B.clearRect(0, 0, this.canvas.width, this.canvas.height); c = this.ba[0].length; for (var a = this.ba.length, h = 0; h < a; h++) for (var e = 0; e < c; e++) this.ba[h][e] == f && (this.B.fillStyle = b, this.B.fillRect(e * d, h * d, d, d)); this.wb = this.c.H = !0 } }; l.iz = function(f, b, d, c, a, g, h, e) { var l = {}; if ("" != e) try { l = JSON.parse(e) } catch (p) { console.log(p) } e = g.V(); g = e.tb()[0]; e = h.V(); h = e.tb()[0]; e = Math.floor(this.canvas.width / f); var m = Math.floor(this.canvas.height / f); this.Yc = []; this.Y = []; l.hasOwnProperty("colors") && l.hasOwnProperty("idTable") && (this.Y = l.idTable, this.Yc = l.colors); this.ka = []; for (var q = 0; q < m; q++) { this.ka[q] = []; for (var u = 0; u < e; u++) this.ka[q][u] = [0, null] } if (0 < this.Y.length) for (var w = 0; w < this.Y.length; w++) { var v = this.Y[w][0], k = this.Y[w][1], l = this.Y[w][2]; if (k >= this.ka.length || v >= this.ka[k].length) { this.Y = []; break } this.ka[k][v][0] = l; this.ka[k][v][1] = w } var v = e * b, k = m * b, r = e * d; d = m * d; g.canvas.width = v; g.canvas.height = k; h.width = r; h.height = d; l = document.createElement("canvas"); l.width = v; l.height = k; var H = l.getContext("2d"), y = this.B.getImageData(0, 0, e * f, m * f).data, I = 4 * f; f = 4 * f * f; var l = 0, R = c / 100; a = a / 100; var M = {}; this.Ye = this.Af = this.el = 0; var G = [null]; if (1 < this.Yc.length) for (q = 1; q < this.Yc.length; q++) { var u = this.Yc[q], u = u.match(/(\d+)/g), E = parseInt(u[0]), J = parseInt(u[1]), F = parseInt(u[2]); G.push([E, J, F]) } for (q = 0; q < m; q++) for (this.ba[q] = [], this.ka[q] || (this.ka[q] = []), u = 0; u < e; u++) { var w = u * I + q * e * f, E = y[w], J = y[w + 1], F = y[w + 2], w = y[w + 3], z = "rgba(" + E + "," + J + "," + F + "," + w + ")"; 255 == w ? (this.zf.hasOwnProperty(z) || (l++, this.zf[z] = l, J = (Math.max(E, J, F) + Math.min(E, J, F)) / 2, J = 0 != c ? Math.floor(J + (0 <= R ? (255 - J) * R : J * R)) : Math.floor(J), M[l] = J), E = this.zf[z], this.ba[q][u] = E, this.vc[E] = z, J = M[E], w = "rgba(" + J + "," + J + "," + J + "," + w + ")", Yc.prototype.j.Op.apply(h, [u, q, E - 1, "normal"]), this.ka[q][u] ? void 0 != this.ka[q] && void 0 != this.ka[q][u] && (F = this.ka[q][u][0], F == this.ba[q][u] ? (E = this.Yc[F], g.B.fillStyle = E, g.B.fillRect(u * b, q * b, b, b), Yc.prototype.j.mt.apply(h, [u, q]), this.Af++) : 0 != F && (E = G[F][0], J = G[F][1], F = G[F][2], E = "rgba(" + E + "," + J + "," + F + "," + a + ")", g.B.fillStyle = E, g.B.fillRect(u * b, q * b, b, b), this.Ye++)) : this.ka[q][u] = [0, null], this.el++) : (w = "rgba(255,255,255,0)", this.ba[q][u] = 0); H.fillStyle = w; H.fillRect(u * b, q * b, b, b) } 0 == this.Yc.length && (this.Yc = this.vc.slice()); b = H.getImageData(0, 0, v, k); this.canvas.width = v; this.canvas.height = k; this.B.putImageData(b, 0, 0); this.width = r; this.height = d; g.width = r; g.height = d; this.ca(); g.ca(); h.ca(); this.wb = this.c.H = !0; g.c.H = !0; g.wb = !0 }; l.kz = function(f, b, d, c, a, g, h, e) { b = {}; if ("" != e) try { b = JSON.parse(e) } catch (l) { console.log(l) } this.Yc = []; this.Y = []; b.hasOwnProperty("colors") && b.hasOwnProperty("idTable") && (this.Y = b.idTable, this.Yc = b.colors); e = Math.floor(this.canvas.width / f); b = Math.floor(this.canvas.height / f); var p; p = Math.exp(-Wa(0, 3.912, Ha(Xa(10, 110, e < b ? b : e), 0, 1)) + 1.4586) - .086; p = Wa(4, 1, Xa(4.214, 0, p)); p = Ha(p, 1, 4); p = Math.round(p); this.ka = []; for (var m = 0; m < b; m++) { this.ka[m] = []; for (var q = 0; q < e; q++) this.ka[m][q] = [0, null] } if (this.Y.length) for (var u = 0; u < this.Y.length; u++) { var w = this.Y[u][0], v = this.Y[u][1], k = this.Y[u][2]; if (v >= this.ka.length || w >= this.ka[v].length) { this.Y = []; break } this.ka[v][w][0] = k; this.ka[v][w][1] = u } w = p * e; v = document.createElement("canvas"); v.width = w; v.height = p * b; var r = v.getContext("2d").getImageData(0, 0, v.width, v.height), H = r.data, y = this.B.getImageData(0, 0, e * f, b * f).data, I = 4 * f; f = 4 * f * f; var k = 0, R = g / 100; h = h / 100; var M = {}; this.Ye = this.Af = this.el = 0; var G = [null]; if (1 < this.Yc.length) for (m = 1; m < this.Yc.length; m++) { var q = this.Yc[m], q = q.match(/(\d+)/g), E = parseInt(q[0]), J = parseInt(q[1]), F = parseInt(q[2]); G.push([E, J, F]) } for (m = 0; m < b; m++) for (this.ba[m] = [], q = 0; q < e; q++) { var u = q * I + m * e * f, E = y[u], J = y[u + 1], F = y[u + 2], z = y[u + 3], C = "rgba(" + E + "," + J + "," + F + "," + z + ")"; if (255 == z) { if (!this.zf.hasOwnProperty(C)) { k++; this.zf[C] = k; if ("gray" == a) var O = (Math.max(E, J, F) + Math.min(E, J, F)) / 2, O = 0 != g ? Math.floor(O + (0 <= R ? (255 - O) * R : O * R)) : Math.floor(O); M[k] = O } O = this.zf[C]; this.ba[m][q] = O; this.vc[O] = C; O = M[O]; this.ka.length && void 0 != this.ka[m] && void 0 != this.ka[m][q] && (F = this.ka[m][q][0], F == this.ba[m][q] ? (E = y[u], J = y[u + 1], F = y[u + 2], this.Af++) : 0 != F ? (E = G[F][0], J = G[F][1], F = G[F][2], E = O - Math.floor((O - E) * h), J = O - Math.floor((O - J) * h), F = O - Math.floor((O - F) * h), this.Ye++) : F = J = E = O); this.el++ } else F = J = E = 255, z = 0; for (var u = p * q * 4, C = p * m * w * 4, ba = 0; ba < p; ba++) for (var U = 0; U < p; U++) { var A = u + 4 * U + (ba * w * 4 + C); H[A] = E; H[A + 1] = J; H[A + 2] = F; H[A + 3] = z } } this.canvas.width = d; this.canvas.height = c; this.B.putImageData(r, Math.floor(.5 * (this.canvas.width - v.width)), Math.floor(.5 * (this.canvas.height - v.height))); this.width = d; this.height = c; this.ca() }; l.gB = function(f, b, d, c, a, g, h, e) { if ("" != a && "" != g) { var l = {}; if (0 == this.ba.length) { try { l = JSON.parse(a) } catch (p) { console.log(p) } this.ba = []; this.vc = []; l.hasOwnProperty("colors") && l.hasOwnProperty("idTable") && (this.ba = l.idTable, this.vc = l.colors) } if (0 == this.Y.length) { try { l = JSON.parse(g) } catch (m) { console.log(m) } this.Yc = []; this.Y = []; l.hasOwnProperty("colors") && l.hasOwnProperty("idTable") && (this.Y = l.idTable, this.Yc = l.colors) } if (void 0 != this.ba[0] && void 0 != this.ba[0][0]) { a = this.ba[0].length; g = this.ba.length; l = []; if (0 != this.Y.length) { for (var q = 0; q < g; q++) { l[q] = []; for (var u = 0; u < a; u++) l[q][u] = 0 } for (q = h; q < e && !(q >= this.Y.length); q++) { var w = this.Y[q][0], u = this.Y[q][1], v = this.Y[q][2]; u < l.length && w < l[u] && (l[u][w] = v) } } v = a * f; q = g * f; u = d / 100; c = c / 100; var k, r, H, y; if (1 == this.Mg.length) for (w = 1; w < this.vc.length; w++) H = this.vc[w], H = H.match(/(\d+)/g), k = parseInt(H[0]), r = parseInt(H[1]), H = parseInt(H[2]), this.Bg.push([k, r, H]), "gray" == b && (y = (Math.max(k, r, H) + Math.min(k, r, H)) / 2, H = r = k = y = 0 != d ? Math.floor(y + (0 <= u ? (255 - y) * u : y * u)) : Math.floor(y)), this.Mg.push([k, r, H]); if (0 == this.Pv) for (this.Pv = !0, this.canvas.width = v, this.canvas.height = q, this.width = v, this.height = q, b = this.B.getImageData(0, 0, this.canvas.width, this.canvas.height), d = b.data, q = 0; q < g; q++) for (u = 0; u < a; u++) { if (h = this.ba[q][u], 0 != h) for (y = l[q][u], 0 == y ? (k = this.Mg[h][0], r = this.Mg[h][1], H = this.Mg[h][2]) : (k = this.Bg[y][0], r = this.Bg[y][1], H = this.Bg[y][2], y != h && (y = this.Mg[h][0], k = y - Math.floor((y - k) * c), r = y - Math.floor((y - r) * c), H = y - Math.floor((y - H) * c))), h = f * u * 4, y = f * q * v * 4, w = 0; w < f; w++) for (var I = 0; I < f; I++) { var R = h + 4 * I + (w * v * 4 + y); d[R] = k; d[R + 1] = r; d[R + 2] = H; d[R + 3] = 255 } } else if (b = this.B.getImageData(0, 0, this.canvas.width, this.canvas.height), d = b.data, this.Y.length) for (q = h; q < e && !(q >= this.Y.length); q++) if (w = this.Y[q][0], u = this.Y[q][1], y = this.Y[q][2], !(u >= this.ba.length || w >= this.ba[u].length || y >= this.Bg.length) && (h = this.ba[u][w], 0 != h)) for (k = this.Bg[y][0], r = this.Bg[y][1], H = this.Bg[y][2], y != h && h < this.Mg.length && (y = this.Mg[h][0], k = y - Math.floor((y - k) * c), r = y - Math.floor((y - r) * c), H = y - Math.floor((y - H) * c)), h = f * w * 4, y = f * u * v * 4, w = 0; w < f; w++) for (I = 0; I < f; I++) R = h + 4 * I + (w * v * 4 + y), d[R] = k, d[R + 1] = r, d[R + 2] = H, d[R + 3] = 255; this.B.putImageData(b, 0, 0) } } }; l.CG = function(f, b, d, c) { c = c || 0; if (255 < f || 255 < b || 255 < d || 255 < c) throw "Invalid color component"; return (f << 16 | b << 8 | d).toString(16) + c.toString(16) }; g.n = {}; g = g.n; g.fJ = function(f, b, d) { b = this.B.getImageData(b, d, 1, 1).data; f.aa("rgba(" + b[0] + "," + b[1] + "," + b[2] + "," + b[3] / 255 + ")") }; g.LI = function(f, b, d) { b = this.B.getImageData(b, d, 1, 1).data; d = X.prototype.j.CG; b = "#" + ("000000" + d(b[0], b[1], b[2], b[3])).slice(-8); f.aa(b) }; g.dJ = function(f, b, d) { b = this.B.getImageData(b, d, 1, 1).data; f.G(b[0]) }; g.KI = function(f, b, d) { b = this.B.getImageData(b, d, 1, 1).data; f.G(b[1]) }; g.AI = function(f, b, d) { b = this.B.getImageData(b, d, 1, 1).data; f.G(b[2]) }; g.yI = function(f, b, d) { b = this.B.getImageData(b, d, 1, 1).data; f.G(b[0] / 255) }; g.$E = function(f) { f.aa(this.canvas.toDataURL()) }; g.tf = function(f) { f.aa(JSON.stringify({ c2array: !0, size: [1, 1, this.canvas.width * this.canvas.height * 4], data: [ [this.B.getImageData(0, 0, this.canvas.width, this.canvas.height).data] ] })) }; g.Qy = function(f) { 0 < this.ba.length && (this.nq.colors = this.vc, this.nq.idTable = this.ba); f.aa(JSON.stringify(this.nq)) }; g.Sy = function(f) { void 0 != this.ba[0] && void 0 != this.ba[0][0] && f.G(this.ba[0].length) }; g.Ry = function(f) { void 0 != this.ba[0] && f.G(this.ba.length) }; g.mB = function(f) { var b = [], d = 0; if (0 < this.Y.length) { if (this.Kn) { for (var c = 0; c < this.Y.length; c++) { var a = this.Y[c]; null != a && (b[d] = a, d++) } this.Mo.idTable = b } else this.Mo.idTable = this.Y; this.Mo.colors = this.Yc } f.aa(JSON.stringify(this.Mo)) }; g.Fy = function(f) { f.G(this.canvas.width) }; g.Ey = function(f) { f.G(this.canvas.height) }; g.Py = function(f) { f.G(this.vc.length) }; g.yz = function(f, b) { b >= this.vc.length || !this.vc[b] || f.aa(this.vc[b]) }; g.zz = function(f, b, d) { d >= this.ba.length || !this.ba[d] || b >= this.ba[d].length || !this.ba[d][b] || f.G(this.ba[d][b]) }; g.Jy = function(f) { var b = [], d = 0, c = 0; if (this.Kn) { for (c = 0; c < this.Y.length; c++) { var a = this.Y[c]; null != a && (b[d] = a, d++) } c = b.length } else c = this.Y.length; f.G(c) }; g.gz = function(f) { f.G(this.Y.length) }; g.EH = function(f, b) { b >= this.Y.length || !this.Y[b] || f.G(this.Y[b][0]) }; g.FH = function(f, b) { b >= this.Y.length || !this.Y[b] || f.G(this.Y[b][1]) }; g.DH = function(f, b) { b >= this.Y.length || !this.Y[b] || f.G(this.Y[b][2]) }; g.Bz = function(f) { this.nr = this.Af / this.el; 0 == this.Af && 0 != this.Ye && (this.nr = -this.Ye); f.C(this.nr) } })(); function bd(g) { this.c = g } (function() { function g() {} function l() {} function p() {} var f = bd.prototype; f.N = function(b) { this.W = b; this.c = b.c }; f.N.prototype.I = function() {}; f.L = function(b) { this.type = b; this.c = b.c }; var b = f.L.prototype; b.I = function() { this.options = { repeat: this.u[0], quality: this.u[1], workers: this.u[2], background: this.u[3], transparent: "" !== this.u[4] ? this.u[4] : null }; this.ih = null; this.Yp = !1; this.zG = null; this.gv = this.Ki = this.MC = ""; this.wx = 0 }; b.yd = function() { this.js() }; b.zc = function(b) { var c = new FileReader; c.readAsDataURL(b); var a = this; c.onloadend = function() { a.MC = c.result.replace(/^data:image\/\w+;base64,/, ""); a.c.trigger(bd.prototype.g.qA, a) } }; b.Bv = function() { if (null != this.ih) return this.ih; this.ih = new window.GIF(this.options); var b = this; this.ih.on("finished", function(c) { b.js(); b.zG = c; b.Ki = URL.createObjectURL(c); b.gv = c.type || ""; b.c.trigger(bd.prototype.g.Ft, b) }); this.ih.on("progress", function(c) { b.wx = c; b.c.trigger(bd.prototype.g.Lj, b) }); return this.ih }; b.js = function() { "" !== this.Ki && (URL.revokeObjectURL(this.Ki), this.gv = this.Ki = "") }; b.FC = function(b, c, a) { null != b && (this.Yp && (this.ih = null, this.Yp = !1), c = { delay: Math.floor(1E3 * c), copy: 1 === a }, this.Bv().addFrame(b, c)) }; f.g = new g; g.prototype.Ft = function() { return !0 }; g.prototype.Lj = function() { return !0 }; g.prototype.qA = function() { return !0 }; f.j = new l; l.prototype.ry = function(b, c, a) { if (b) { b = b.xn(); var f; b ? b.canvas ? f = b.canvas : b.Ca && b.Ca.K ? f = b.Ca.K : f = null : f = null; this.FC(f, c, a) } }; l.prototype.fB = function() { this.Bv().render(); this.Yp = !0 }; l.prototype.eB = function() { this.js() }; l.prototype.lB = function(b) { if (this.Ki) { let _uptap_back = function(that){ "" == b && (b = "myGif"); var c = new XMLHttpRequest, a = that.Ki; c.responseType = "blob"; c.open("GET", a, !0); c.onreadystatechange = function() { c.readyState == c.DONE && saveAs(c.response, b + ".gif") }; c.send() } let _this = this; // console.log('uptap-下载gif') window.uptap.ShowExcitationVideoAdv((n1) => { switch (n1.type) { case "1": //暂时没有广告 console.log("暂时没有广告"); break; case "2": //想要奖励,必须看完广告(用户点击跳过按钮) console.log("必须看完整视频才能获得奖励哦!"); break; case "3": //广告正常播放完毕 _uptap_back(_this) break; } }) } }; f.n = new p; p.prototype.hB = function(b) { b.C(this.wx) } })(); "undefined" !== typeof window && window.document.addEventListener("DOMContentLoaded", function() { }); function cd(g) { this.c = g } (function() { function g() {} function l() {} var p = cd.prototype; p.N = function(b) { this.W = b; this.c = b.c }; p.N.prototype.I = function() {}; p.L = function(b) { this.type = b; this.c = b.c; window.pipocpmstar = { CountdownBanner: function(b) { cd.prototype.j.ht(b) }, clickAdsBanner: function() { cd.prototype.j.TC() } } }; var f, b = null; p.L.prototype.I = function() { f = this; this.hr = !1; this.Sv = 1 == this.u[3] ? !0 : !1; this.ep = this.u[4]; this.QG = 1 == this.u[6] ? !0 : !1; this.hG = this.u[7]; this.LC = this.u[8]; var b = document.getElementById("adsPrerollBg"); cd.prototype.j.$s(function() { f.QG && cd.prototype.j.NB() }, function() { b.style.display = "none" }); cd.prototype.j.ZB() }; g.prototype.ko = function() { return !0 }; g.prototype.io = function() { return !0 }; g.prototype.OF = function() { return !0 }; g.prototype.NF = function() { return !0 }; p.g = new g; l.prototype.$s = function(b, c) { }; l.prototype.NB = function() { var b = document.getElementById("adsPrerollBg"); (function() { document.getElementById("adsPrerollBg").style.display = "block"; (function(c, a, g, h, e, l, p, m, q, u) { h.aG = f.hG; e.background = null; e.close = null; e.type = "game"; p.select = "#adsPrerollDiv"; l.closed = function() { b.style.display = "none"; f.c.trigger(cd.prototype.g.ko, f); f.hr = !1; cd.prototype.j.Qj() }; l.init = function() { b.style.display = "block"; f.c.trigger(cd.prototype.g.io, f); f.hr = !0 }; l.DI = function() { b.style.display = "none"; f.c.trigger(cd.prototype.g.ko, f); f.hr = !1; cd.prototype.j.Qj() }; u = g.getElementsByTagName("script"); a[c] || (a[c] = { ads: [] }, q = g.createElement("script"), q.src = "//server.cpmstar.com/cached/js/global_v100.pack.js?poolid=" + h.aG, q.type = "text/javascript", q.async = "", u[0].parentNode.insertBefore(q, u[0])); a[c].ads.push({ params: h, config: e, events: l, overlay: p, placeholder: u[u.length - 1] }) })("cpmstar", window, document, {}, {}, {}, {}) })() }; l.prototype.MB = function(d, c) { }; l.prototype.ht = function(b) { void 0 == b && (b = f.u[0]); b = Number(b); var c = document.getElementById("adsInterstitialCloseBtn"), a = this; this.Wu = function(b) { if (0 < b) { b--; setTimeout(function() { c.value = "Advertisement ends in " + b + "..."; a.Wu(b) }, 1E3); try { f.c.trigger(cd.prototype.g.io, f) } catch (d) { console.log(d.message) } } else c.value = "Close \u2715", c.removeAttribute("disabled"), c.onclick = function() { cd.prototype.j.hk() } }; this.Wu(b) }; l.prototype.hk = function() { var b = document.getElementById("adsInterstitialDiv"), c = document.getElementById("adsInterstitialContainer"), a = document.getElementById("adsInterstitialIframeCont"), g = document.getElementById("adInterstitialDescr"), h = document.getElementById("adsInterstitialCloseBtn"); document.getElementById("adsPrerollBg").style.display = "none"; b.style.display = "none"; c.style.display = "none"; a.innerHTML = ""; g.style.display = "none"; try { f.c.trigger(cd.prototype.g.ko, f), f.c.trigger(cd.prototype.g.OF, f) } catch (e) { console.log(e.message) } h.setAttribute("disabled", "disabled"); h.value = "..."; document.getElementById("adblockInterstitialDiv").style.display = "none" }; l.prototype.TC = function() { setTimeout(function() { cd.prototype.j.hk(); f.c.trigger(cd.prototype.g.NF, f) }, 1E3) }; l.prototype.SG = function() { document.getElementById("adblockInterstitialDiv").style.display = "block"; cd.prototype.j.ht(f.u[0]); cd.prototype.j.Qj() }; l.prototype.Qj = function() { f.Sv && null == b && (b = setTimeout(function() { b = null }, f.ep)) }; l.prototype.ZB = function() { var b = {}; $.get("dablock_translate.txt", function(c) { var a = /\t(?=\t)\t/gi; c = c.replace(a, "\t"); a = /\r/gi; c = c.replace(a, ""); a = /\n/gi; c = c.split(a); if (0 < c.length) { for (var f = 0; f < c.length; f++) a = /\t/gi, c[f] = c[f].split(a); for (f = 1; f < c.length; f++) for (a = 1; a < c[0].length; a++) { var h = c[0][a].toLowerCase(), e = c[f][0]; void 0 == b[h] && (b[h] = {}); void 0 == b[h][e] && (b[h][e] = c[f][a]) } } c = navigator.browserLanguage || navigator.language || navigator.Dh; "" != c && (c = c.toLowerCase(), c = c.slice(0, 2)); void 0 == b[c] && (c = "en"); }) }; p.j = new l; p.n = new function() {} })(); function dd(g) { this.c = g } (function() { function g() {} var l = dd.prototype; l.N = function(f) { this.behavior = f; this.c = f.c }; l.N.prototype.I = function() {}; l.L = function(f, b) { this.type = f; this.behavior = f.behavior; this.e = b; this.c = f.c }; var p = l.L.prototype; p.I = function() { this.Bu = 1 === this.u[0]; this.qk = this.u[1]; this.$l = this.u[2]; this.gn = this.u[3]; this.dD = this.u[4]; this.lc = this.Bu ? 0 : 3; this.uc ? this.ie.reset() : this.ie = new gb; this.$h = this.e.opacity ? this.e.opacity : 1; this.Bu && (0 === this.qk ? (this.lc = 1, 0 === this.$l && (this.lc = 2)) : (this.e.opacity = 0, this.c.H = !0)) }; p.$a = function() { return { fit: this.qk, wt: this.$l, fot: this.gn, s: this.lc, st: this.ie.ta, mo: this.$h } }; p.lb = function(f) { this.qk = f.fit; this.$l = f.wt; this.gn = f.fot; this.lc = f.s; this.ie.reset(); this.ie.ta = f.st; this.$h = f.mo }; p.ub = function() { this.ie.add(this.c.Fh(this.e)); 0 === this.lc && (this.e.opacity = this.ie.ta / this.qk * this.$h, this.c.H = !0, this.e.opacity >= this.$h && (this.e.opacity = this.$h, this.lc = 1, this.ie.reset(), this.c.trigger(dd.prototype.g.wA, this.e))); 1 === this.lc && this.ie.ta >= this.$l && (this.lc = 2, this.ie.reset(), this.c.trigger(dd.prototype.g.Hp, this.e)); 2 === this.lc && 0 !== this.gn && (this.e.opacity = this.$h - this.ie.ta / this.gn * this.$h, this.c.H = !0, 0 > this.e.opacity && (this.e.opacity = 0, this.lc = 3, this.ie.reset(), this.c.trigger(dd.prototype.g.xA, this.e), 1 === this.dD && this.c.ne(this.e))) }; p.zc = function() { this.lc = 0; this.ie.reset(); 0 === this.qk ? (this.lc = 1, 0 === this.$l && (this.lc = 2)) : (this.e.opacity = 0, this.c.H = !0) }; g.prototype.xA = function() { return !0 }; g.prototype.wA = function() { return !0 }; g.prototype.Hp = function() { return !0 }; l.g = new g; l.j = new function() {}; l.n = new function() {} })(); function ed(g) { this.c = g } (function() { function g() {} function l() {} var p = ed.prototype; p.N = function(b) { this.behavior = b; this.c = b.c }; p.N.prototype.I = function() {}; p.L = function(b, d) { this.type = b; this.behavior = b.behavior; this.e = d; this.c = b.c }; var f = p.L.prototype; f.I = function() { this.pf = this.mf = this.lc = this.ho = this.lo = 0 }; f.$a = function() { return { ontime: this.lo, offtime: this.ho, stage: this.lc, stagetimeleft: this.mf, timeleft: this.pf } }; f.lb = function(b) { this.lo = b.ontime; this.ho = b.offtime; this.lc = b.stage; this.mf = b.stagetimeleft; this.pf = b.timeleft; null === this.pf && (this.pf = Infinity) }; f.ub = function() { if (!(0 >= this.pf)) { var b = this.c.Fh(this.e); this.pf -= b; 0 >= this.pf ? (this.pf = 0, this.e.visible = !0, this.c.H = !0, this.c.trigger(ed.prototype.g.yA, this.e)) : (this.mf -= b, 0 >= this.mf && (0 === this.lc ? (this.e.visible = !1, this.lc = 1, this.mf += this.ho) : (this.e.visible = !0, this.lc = 0, this.mf += this.lo), this.c.H = !0)) } }; g.prototype.yA = function() { return !0 }; p.g = new g; l.prototype.pz = function(b, d, c) { this.lo = b; this.ho = d; this.lc = 1; this.mf = d; this.pf = c; this.e.visible = !1; this.c.H = !0 }; p.j = new l; p.n = new function() {} })(); function fd(g) { this.c = g } (function() { function g() {} function l() {} function p() {} var f = fd.prototype; f.N = function(b) { this.behavior = b; this.c = b.c }; f.N.prototype.I = function() {}; f.L = function(b, c) { this.type = b; this.behavior = b.behavior; this.e = c; this.c = b.c }; var b = f.L.prototype; b.I = function() { this.A = null; this.so = -1; this.ix = this.jx = this.mode = this.Zi = this.$o = this.hj = this.Rc = this.De = 0; this.uo = this.to = 1; this.Zr = this.$r = 0; this.x = this.u[0]; this.y = this.u[1]; this.zIndex = this.u[2]; this.q = this.u[3]; this.width = this.u[4]; this.height = this.u[5]; this.opacity = this.u[6]; this.visibility = this.u[7]; this.UC = this.u[8]; this.qf = this.u[9]; this.Ab = this.u[10]; this.Bb = this.u[11]; this.gf = this.u[12]; this.ro = this.u[13]; this.Yr = this.u[14]; this.Zg = this.u[15]; this.pj = this.u[16]; this.Xr = this.u[17]; this.Te = this.Se = 1; this.Ss = this.vo = !1; var b = this; this.uc || (this.cl = function(c) { b.jl(c) }); this.c.Xp(this.cl) }; b.$a = function() { return { uid: this.A ? this.A.uid : -1, pa: this.De, pd: this.Rc, msa: this.hj, tsa: this.$o, lka: this.Zi, m: this.mode, o: this.opacity, v: this.visibility, psrx: this.to, psry: this.uo, fsr: this.pn } }; b.lb = function(b) { this.so = b.uid; this.De = b.pa; this.Rc = b.pd; this.hj = b.msa; this.$o = b.tsa; this.Zi = b.lka; this.mode = b.m; this.opacity = b.o; this.visibility = b.v; this.to = b.psrx; this.uo = b.psry; this.pn = b.fsr }; b.pe = function() { -1 === this.so ? this.A = null : this.A = this.c.Lg(this.so); this.so = -1 }; b.jl = function(b) { this.A == b && (this.A = null) }; b.yd = function() { this.A = null; this.c.vx(this.cl) }; b.ub = function() { 0 !== this.Xr && this.vo && null == this.A && (this.vo = !1, this.c.ne(this.e)) }; b.zj = function() { if (this.A) { if (this.A.x !== this.Nw || this.A.y !== this.Ow || this.A.q !== this.Hw || this.A.width !== this.Mw || this.A.height !== this.Kw || this.Iw !== this.Se || this.Jw !== this.Te || this.Ss) { this.Ss = !1; this.Zi !== this.e.q && (this.hj = La(this.hj + (this.e.q - this.Zi))); var b = this.e.x, c = this.e.y, a = 0 === this.gf ? this.A.x : this.A.Lf(this.gf, !0), f = 0 === this.gf ? this.A.y : this.A.Lf(this.gf, !1); if (3 === this.mode || 4 === this.mode) { var h = Ta(this.e.x, this.e.y, a, f); if (h > this.Rc || 4 === this.mode && h < this.Rc) c = Oa(a, f, this.e.x, this.e.y), b = a + Math.cos(c) * this.Rc, c = f + Math.sin(c) * this.Rc } else if (this.Se = this.Te = 1, this.A.Ca && (this.Se = this.A.width / this.A.Ca.width, this.Te = this.A.height / this.A.Ca.height), 2 === this.x ? b = a : b = a + Math.cos(this.A.q + this.De) * this.Rc * this.Se, 2 === this.y ? c = f : c = f + Math.sin(this.A.q + this.De) * this.Rc * this.Te, 3 <= this.Zg && 1 === this.x || 3 <= this.pj || 1 === this.y) { var h = this.$r / Math.abs(this.$r) !== this.A.width / Math.abs(this.A.width), e = this.Zr / Math.abs(this.Zr) !== this.A.height / Math.abs(this.A.height); 3 <= this.Zg && h && 3 <= this.pj && e ? (h = this.De + D(180), b = a + Math.cos(this.A.q + h) * this.Rc, c = f + Math.sin(this.A.q + h) * this.Rc) : 3 <= this.Zg && h ? (h = this.De, c = Pa(h, D(90)), h = h < D(270) && h > D(90) ? h - 2 * c : h + 2 * c, b = a + Math.cos(this.A.q + h) * this.Rc, c = f + Math.sin(this.A.q + h) * this.Rc) : 3 <= this.pj && e && (h = this.De, c = Pa(h, 0), h = h < D(180) && 0 < h ? h - 2 * c : h + 2 * c, b = a + Math.cos(this.A.q + h) * this.Rc, c = f + Math.sin(this.A.q + h) * this.Rc) } this.Zi = a = La(this.hj + (this.A.q - this.$o)); 0 !== this.mode && 1 !== this.mode && 3 !== this.mode && 4 !== this.mode || !(0 !== this.x && this.e.x !== b || 0 !== this.y && this.e.y !== c) || (0 !== this.x && (this.e.x = b), 0 !== this.y && (this.e.y = c), this.e.ca()); 0 !== this.mode && 2 !== this.mode && 0 === this.q || this.e.q === a || 0 === this.q || (2 === this.q ? this.e.q = this.A.q : this.e.q = a, this.e.ca()) } 0 !== this.zIndex && (1 < Math.abs(this.A.Rd - this.e.Rd) || this.A.F.index !== this.e.F.index) && (b = this.A.type.V(), a = b.k, f = b.X, b.k = [this.A], b.X = !1, this.e.type.W.__proto__.j.qu.call(this.e, this.zIndex - 1, this.A.type), b.k = a, b.X = f); if (0 !== this.width) switch (b = this.A.width, this.width) { case 1: b !== this.e.width && (this.e.width = b, this.e.ca()); break; case 2: b = this.A.width + this.jx; b !== this.e.width && (this.e.width = b, this.e.ca()); break; case 3: b = this.A.width / this.A.Ca.width * this.e.Ca.width; b !== this.e.width && (this.e.width = b, this.e.ca()); break; case 4: b = this.A.width * this.to, b !== this.e.width && (this.e.width = b, this.e.characterSet && (this.e.sd = this.A.width / this.pn), this.e.ca()) } if (0 !== this.height) switch (b = this.A.height, this.height) { case 1: b !== this.e.height && (this.e.height = b, this.e.ca()); break; case 2: b = this.A.height + this.ix; b !== this.e.height && (this.e.height = b, this.e.ca()); break; case 3: b = this.A.height / this.A.Ca.height * this.e.Ca.height; b !== this.e.height && (this.e.height = b, this.e.ca()); break; case 4: b = this.A.height * this.uo, b !== this.e.height && (this.e.height = b, 4 !== this.width && this.e.characterSet && (this.e.sd = this.A.width / this.pn), this.e.ca()) } 1 === this.opacity && this.A.opacity !== this.e.opacity && (this.e.opacity = this.A.opacity, this.c.H = !0); 1 === this.visibility && this.A.visible !== this.e.visible && (this.e.visible = this.A.visible, this.c.H = !0); 1 === this.UC && this.A.Vd !== this.e.Vd && (this.e.Vd = this.A.Vd, this.e.Vd ? this.e.ca() : (this.e.Ud.right >= this.e.Ud.left && this.e.type.ik.update(this.e, this.e.Ud, null), this.e.Ud.set(0, 0, -1, -1))); 1 === this.qf && this.A.df !== this.e.df && (this.e.df = this.A.df); 1 === this.Ab && this.A.Ab !== this.e.Ab && (this.e.Ab = this.A.Ab, this.e.ca()); 1 === this.Bb && this.A.Bb !== this.e.Bb && (this.e.Bb = this.A.Bb, this.e.ca()); 0 !== this.ro && this.A.Ga.name !== this.e.Ga.name && (this.e.fk = this.A.Ga.name, this.e.iq = this.ro - 1, this.e.Pf || (this.e.c.Aj(this.e), this.e.Pf = !0), this.e.Qi || this.e.vq()); 1 === this.Yr && this.A.U !== this.e.U && (this.e.ek = this.A.U, this.e.Pf || (this.e.c.Aj(this.e), this.e.Pf = !0), this.e.Qi || this.e.wq()); if (0 !== this.Zg && 0 != this.A.width) switch (b = this.e.width / Math.abs(this.e.width), a = this.A.width / Math.abs(this.A.width), this.Zg) { case 1: case 3: a !== b && (this.e.width = Math.abs(this.e.width) * a, this.e.ca()); break; case 2: case 4: a !== this.Ur && (this.e.width = 0 < this.kq ? -this.e.width : Math.abs(this.e.width), this.kq *= -1, this.Ur *= -1, this.e.ca()) } if (0 !== this.pj && 0 != this.A.height) switch (b = this.e.height / Math.abs(this.e.height), a = this.A.height / Math.abs(this.A.height), this.Zg) { case 1: case 3: a !== b && (this.e.height = Math.abs(this.e.height) * a, this.e.ca()); break; case 2: case 4: a !== this.Tr && (this.e.height = 0 < this.jq ? -this.e.height : Math.abs(this.e.height), this.jq *= -1, this.Tr *= -1, this.e.ca()) } this.Nw = this.A.x; this.Ow = this.A.y; this.Hw = this.A.q; this.Mw = this.A.width; this.Kw = this.A.height; this.Iw = this.Se; this.Jw = this.Te } }; g.prototype.Rz = function() { return !!this.A }; f.g = new g; l.prototype.WA = function(b, c) { if (b) { var a = b.xn(this.e); if (a) { this.A = a; var f = 0 === this.gf ? this.A.x : this.A.Lf(this.gf, !0), h = 0 === this.gf ? this.A.y : this.A.Lf(this.gf, !1); this.Se = this.Te = 1; this.A.Ca && (this.Se = this.A.width / this.A.Ca.width, this.Te = this.A.height / this.A.Ca.height); this.Mw = this.A.width; this.Kw = this.A.height; this.De = Oa(f, h, this.e.x, this.e.y) - a.q; this.Rc = Ta(f, h, this.e.x, this.e.y); this.Zi = this.hj = this.e.q; this.$o = a.q; this.mode = c; this.jx = this.e.width - this.A.width; this.ix = this.e.height - this.A.height; this.to = this.e.width / this.A.width; this.uo = this.e.height / this.A.height; this.$r = this.A.width; this.Zr = this.A.height; this.kq = this.e.width / Math.abs(this.e.width); this.Ur = this.A.width / Math.abs(this.A.width); this.jq = this.e.height / Math.abs(this.e.height); this.Tr = this.A.height / Math.abs(this.A.height); this.e.x = this.A.x + Math.cos(this.A.q + this.De) * this.Rc * this.Se; this.e.y = this.A.y + Math.sin(this.A.q + this.De) * this.Rc * this.Te; this.Nw = this.A.x; this.Ow = this.A.y; this.Hw = this.A.q; this.Iw = this.Se; this.Jw = this.Te; this.e.characterSet && (this.pn = this.A.width / this.e.sd); this.vo = !0; this.Ss = !1 } } }; l.prototype.aC = function() { this.A = null; this.vo = !1; this.Te = this.Se = 1 }; l.prototype.De = function(b) { this.q = b }; l.prototype.gf = function(b) { this.gf = b }; l.prototype.ro = function(b) { this.ro = b }; l.prototype.Yr = function(b) { this.Yr = b }; l.prototype.Zg = function(b) { this.Zg = b }; l.prototype.pj = function(b) { this.pj = b }; l.prototype.Xr = function(b) { this.Xr = b }; f.j = new l; p.prototype.XA = function(b) { b.G(this.A ? this.A.uid : -1) }; f.n = new p })(); function hd(g) { this.c = g } (function() { function g() {} function l() {} var p = hd.prototype; p.N = function(b) { this.behavior = b; this.c = b.c }; p.N.prototype.I = function() {}; p.L = function(b, d) { this.type = b; this.behavior = b.behavior; this.e = d; this.c = b.c }; var f = p.L.prototype; f.I = function() { this.enabled = 1 == this.u[0]; this.uc || (this.move = { max: 0, acc: 0, dec: 0 }); this.move.max = this.u[1]; this.move.acc = this.u[2]; this.move.dec = this.u[3]; this.uc || (this.target = { x: 0, y: 0, a: 0 }); this.Oh = !1; this.gi = this.Fg = 0; this.Ik = !1; this.uc || (this.Oe = { x: 0, y: 0 }); this.Oe.x = 0; this.Oe.y = 0; this.uc || (this.Sd = { x: 0, y: 0, a: -1 }); this.Sd.x = 0; this.Sd.y = 0; this.Sd.a = -1; this.xm = null; this.mr = !1 }; f.ub = function() { this.Ik && (this.e.x == this.target.x && this.e.y == this.target.y && (this.mr = !0, this.c.trigger(hd.prototype.g.Gt, this.e), this.mr = !1), this.Ik = !1); if (this.enabled && this.Oh) { var b = this.c.Fh(this.e); if (0 != b) { this.Oe.x == this.e.x && this.Oe.y == this.e.y || this.vu(); var d = !1; 0 != this.move.dec && (d = this.Fg, d = d * d / (2 * this.move.dec) >= this.gi); d = d ? -this.move.dec : this.move.acc; 0 != d && this.Nj(this.Fg + d * b); b = this.Fg * b; this.gi -= b; 0 >= this.gi || 0 >= this.Fg ? (this.Oh = !1, this.e.x = this.target.x, this.e.y = this.target.y, this.Nj(0), this.KF(), this.Ik = !0) : (d = this.target.a, this.e.x += b * Math.cos(d), this.e.y += b * Math.sin(d)); this.e.ca(); this.Oe.x = this.e.x; this.Oe.y = this.e.y } } }; f.zj = function() { this.Sd.x = this.e.x; this.Sd.y = this.e.y }; f.Nj = function(b) { null != b ? this.Fg = b > this.move.max ? this.move.max : b : 0 == this.move.acc && (this.Fg = this.move.max) }; f.vu = function() { var b = this.target.x - this.e.x, d = this.target.y - this.e.y; this.target.a = Math.atan2(d, b); this.gi = Math.sqrt(b * b + d * d); this.Oe.x = this.e.x; this.Oe.y = this.e.y }; f.Np = function(b, d) { this.Oh = !0; this.target.x = b; this.target.y = d; this.vu(); this.Nj(null); this.Sd.x = this.e.x; this.Sd.y = this.e.y }; f.sF = function() { var b = this.c.ni, d = this.xm != b; this.xm = b; return d }; f.KF = function() { if (this.sF()) { var b = this.e.x - this.Sd.x, d = this.e.y - this.Sd.y; if (0 != b || 0 != d) this.Sd.a = Ma(Math.atan2(d, b)) } }; f.$a = function() { return { en: this.enabled, v: this.move, t: this.target, is_m: this.Oh, c_spd: this.Fg, rd: this.gi, is_ht: this.Ik, pp: this.Oe, ma: this.Sd, lt: this.xm } }; f.lb = function(b) { this.enabled = b.en; this.move = b.v; this.target = b.t; this.Oh = b.is_m; this.Fg = b.c_spd; this.gi = b.rd; this.Ik = b.is_ht; this.Oe = b.pp; this.Sd = b.ma; this.xm = b.lt }; p.g = new g; g.prototype.Gt = function() { return this.mr }; g.prototype.Mz = function() { return this.enabled && this.Oh }; p.j = new l; l.prototype.Np = function(b, d) { this.Np(b, d) }; l.prototype.Nj = function(b) { this.Nj(b) }; l.prototype.Rj = function() { this.Oh = !1 }; p.n = new function() {} })(); function id(g) { this.c = g } (function() { function g() {} function l() {} function p() {} var f = id.prototype; f.N = function(a) { this.behavior = a; this.c = a.c }; f.N.prototype.I = function() {}; f.L = function(a, b) { this.type = a; this.behavior = a.behavior; this.e = b; this.c = a.c; this.O = 0 }; var b = f.L.prototype, d = 2 * Math.PI, c = Math.PI / 2, a = 3 * Math.PI / 2; b.I = function() { this.P = 1 === this.u[0]; this.fj = this.u[1]; this.Xs = this.u[2]; this.Wf = this.u[3]; this.Wf += Math.random() * this.u[4]; 0 === this.Wf ? this.O = 0 : (this.O = this.u[5] / this.Wf * d, this.O += Math.random() * this.u[6] / this.Wf * d); this.Wc = this.u[7]; this.Wc += Math.random() * this.u[8]; this.hf = this.Lh = this.Ja = 0; 5 === this.fj && (this.Wc = D(this.Wc)); this.init() }; b.$a = function() { return { i: this.O, a: this.P, mv: this.fj, w: this.Xs, p: this.Wf, mag: this.Wc, iv: this.Ja, iv2: this.Lh, r: this.hf, lkv: this.rc, lkv2: this.Ok } }; b.lb = function(a) { this.O = a.i; this.P = a.a; this.fj = a.mv; this.Xs = a.w; this.Wf = a.p; this.Wc = a.mag; this.Ja = a.iv; this.Lh = a.iv2 || 0; this.hf = a.r; this.rc = a.lkv; this.Ok = a.lkv2 || 0 }; b.init = function() { switch (this.fj) { case 0: this.Ja = this.e.x; break; case 1: this.Ja = this.e.y; break; case 2: this.Ja = this.e.width; this.hf = this.e.height / this.e.width; break; case 3: this.Ja = this.e.width; break; case 4: this.Ja = this.e.height; break; case 5: this.Ja = this.e.q; break; case 6: this.Ja = this.e.opacity; break; case 7: this.Ja = 0; break; case 8: this.Ja = this.e.x, this.Lh = this.e.y } this.rc = this.Ja; this.Ok = this.Lh }; b.sf = function(b) { b = b % d; switch (this.Xs) { case 0: return Math.sin(b); case 1: return b <= c ? b / c : b <= a ? 1 - 2 * (b - c) / Math.PI : (b - a) / c - 1; case 2: return 2 * b / d - 1; case 3: return -2 * b / d + 1; case 4: return b < Math.PI ? -1 : 1 } return 0 }; b.ub = function() { var a = this.c.Fh(this.e); this.P && 0 !== a && (0 === this.Wf ? this.O = 0 : (this.O += a / this.Wf * d, this.O = this.O % d), this.eH()) }; b.eH = function() { switch (this.fj) { case 0: this.e.x !== this.rc && (this.Ja += this.e.x - this.rc); this.e.x = this.Ja + this.sf(this.O) * this.Wc; this.rc = this.e.x; break; case 1: this.e.y !== this.rc && (this.Ja += this.e.y - this.rc); this.e.y = this.Ja + this.sf(this.O) * this.Wc; this.rc = this.e.y; break; case 2: this.e.width = this.Ja + this.sf(this.O) * this.Wc; this.e.height = this.e.width * this.hf; break; case 3: this.e.width = this.Ja + this.sf(this.O) * this.Wc; break; case 4: this.e.height = this.Ja + this.sf(this.O) * this.Wc; break; case 5: this.e.q !== this.rc && (this.Ja = La(this.Ja + (this.e.q - this.rc))); this.e.q = La(this.Ja + this.sf(this.O) * this.Wc); this.rc = this.e.q; break; case 6: this.e.opacity = this.Ja + this.sf(this.O) * this.Wc / 100; 0 > this.e.opacity ? this.e.opacity = 0 : 1 < this.e.opacity && (this.e.opacity = 1); break; case 8: this.e.x !== this.rc && (this.Ja += this.e.x - this.rc), this.e.y !== this.Ok && (this.Lh += this.e.y - this.Ok), this.e.x = this.Ja + Math.cos(this.e.q) * this.sf(this.O) * this.Wc, this.e.y = this.Lh + Math.sin(this.e.q) * this.sf(this.O) * this.Wc, this.rc = this.e.x, this.Ok = this.e.y } this.e.ca() }; b.Vw = function(a, b) { switch (this.fj) { case 2: this.Ja *= b.width / a.width; this.hf = b.height / b.width; break; case 3: this.Ja *= b.width / a.width; break; case 4: this.Ja *= b.height / a.height } }; g.prototype.ut = function() { return this.P }; f.g = new g; l.prototype.$t = function(a) { this.P = 1 === a }; f.j = new l; p.prototype.pu = function(a) { a.C(this.sf(this.O) * this.Wc) }; f.n = new p })(); function jd(g) { this.c = g } (function() { var g = jd.prototype; g.N = function(g) { this.behavior = g; this.c = g.c }; g.N.prototype.I = function() {}; g.L = function(g, f) { this.type = g; this.behavior = g.behavior; this.e = f; this.c = g.c }; var l = g.L.prototype; l.I = function() { this.wg = document.createElement("canvas"); this.pq = this.wg.getContext("2d"); this.sq = "" }; l.ub = function() {}; g.g = {}; g.g.Mz = function() { return !1 }; g.j = {}; l = g.j; l.Rj = function() {}; l.nt = function(g) { this.wg.width = this.e.Ga.frames[this.e.U].K.width; this.wg.height = this.e.Ga.frames[this.e.U].K.height; this.pq.fillStyle = g; this.pq.fillRect(0, 0, this.wg.width, this.wg.height) }; g.n = {}; g.n.aD = function(g) { this.wg.width = this.e.Ga.frames[this.e.U].K.width; this.wg.height = this.e.Ga.frames[this.e.U].K.height; this.pq.drawImage(this.e.Ga.frames[this.e.U].K, 0, 0); this.sq = this.wg.toDataURL("image/png"); this.sq.replace(/^data:image\/(png|jpg);base64,/, ""); g.aa(this.sq) } })(); function ld(g) { this.c = g } (function() { function g(b, d) { return (b /= d) < 1 / 2.75 ? 7.5625 * b * b + 0 : b < 2 / 2.75 ? 1 * (7.5625 * (b -= 1.5 / 2.75) * b + .75) + 0 : b < 2.5 / 2.75 ? 1 * (7.5625 * (b -= 2.25 / 2.75) * b + .9375) + 0 : 1 * (7.5625 * (b -= 2.625 / 2.75) * b + .984375) + 0 } var l = ld.prototype; l.N = function(b) { this.behavior = b; this.c = b.c }; l.N.prototype.I = function() {}; l.L = function(b, d) { this.type = b; this.behavior = b.behavior; this.e = d; this.c = b.c; this.O = 0 }; var p = l.L.prototype; p.zc = function(b) { 1 < b && (b = 1); mc[this.group] = -1; mc[this.group] = b; mc[this.group] >= b && (mc[this.group] = b) }; p.Fv = function() { "" != this.group && ("undefined" === typeof nc && (nc = {}, mc = {}), "undefined" === typeof nc[this.group] && (nc[this.group] = [], mc[this.group] = -1), -1 == nc[this.group].indexOf(this) && nc[this.group].push(this)) }; p.$g = function() { this.Pd = this.e.width; this.Od = this.e.height; this.Cj = this.e.q; this.dy = this.e.opacity; this.fh = this.e.x; this.gh = this.e.y; this.jp = this.value }; p.I = function() { this.P = 1 === this.u[0]; this.T = this.u[1]; this.mk = this.u[2]; this.M = this.u[3]; this.target = this.u[4]; this.duration = this.u[5]; this.qi = this.u[6]; this.fa = this.u[7]; this.value = this.u[8]; this.Oc = this.u[9]; this.Fq = 1 === this.u[10]; this.group = this.u[11]; this.ad = null; this.gd = 0; 5 == this.fa && (this.gd = 1); this.Fv(); this.Mh = !1; this.xa = this.e.x; this.Wb = this.e.y; this.ya = parseFloat(this.target.split(",")[0]); this.Pb = parseFloat(this.target.split(",")[1]); this.$g(); this.Dj = this.Kc = this.Va = this.Sb = this.Ba = 0; this.hf = this.e.height / this.e.width; this.Io = this.reverse = !1; this.ye = this.xe = !0; this.loop = !1; this.ob = this.Ra = 0; this.rr = this.fa; this.fd = this.rc = this.Ba; this.Jd = this.Sb; this.Fq && this.init(); "" == this.M && (this.M = "current"); this.hl = this.ij = this.il = this.jj = this.ol = this.lj = this.nl = this.kj = !1; this.P && this.init() }; p.init = function() { this.kj = !1; "" === this.M && (this.M = "current"); "" === this.target && (this.target = "current"); var b = "current" === this.M, d = "current" === this.target, c = "OBJ" === this.target; "OBJ" === this.target && null != this.ad && (0 == this.T ? this.target = 1 == this.Oc ? this.ad.x - this.e.x + "," + (this.ad.y - this.e.y) : this.ad.x + "," + this.ad.y : 1 == this.T || 2 == this.T || 3 == this.T || 7 == this.T ? this.target = 1 == this.Oc ? (2 == this.T ? 1 : this.ad.width) + "," + (3 == this.T ? 1 : this.ad.height) : (2 == this.T ? 1 : this.ad.width / this.Pd) + "," + (3 == this.T ? 1 : this.ad.height / this.Od) : 4 == this.T ? this.target = 1 == this.Oc ? Ja(this.ad.q - this.e.q) + "" : Ja(this.ad.q) + "" : 5 == this.T && (this.target = 1 == this.Oc ? 100 * (this.ad.opacity - this.e.opacity) + "" : 100 * this.ad.opacity + "")); if (0 == this.T) d && (this.target = this.e.x + "," + this.e.y), b ? this.M = 1 == this.Oc ? this.e.x + "," + this.e.y : this.fh + "," + this.gh : this.reverse || 1 == this.fa || (this.e.x = parseFloat(this.M.split(",")[0]), this.e.y = parseFloat(this.M.split(",")[1])), 1 == this.Oc ? (this.loop && (this.e.x = this.fh, this.e.y = this.gh), this.xa = this.e.x, this.Wb = this.e.y, this.reverse ? (this.ya = -parseFloat(this.target.split(",")[0]), this.Pb = -parseFloat(this.target.split(",")[1])) : (this.ya = parseFloat(this.target.split(",")[0]), this.Pb = parseFloat(this.target.split(",")[1])), this.Ba = this.xa, this.Sb = this.Wb, this.Va = this.Ba + this.ya, this.Kc = this.Sb + this.Pb) : (this.reverse ? (this.e.x = parseFloat(this.target.split(",")[0]), this.e.y = parseFloat(this.target.split(",")[1]), this.ya = this.fh, this.Pb = this.gh) : (this.e.x = this.fh, this.e.y = this.gh, this.ya = parseFloat(this.target.split(",")[0]), this.Pb = parseFloat(this.target.split(",")[1])), this.xa = this.e.x, this.Wb = this.e.y, this.Ba = this.xa, this.Sb = this.Wb, this.Va = this.ya, this.Kc = this.Pb, -6 == this.fa && (this.Va = this.fh, this.Kc = this.gh)); else if (1 == this.T || 2 == this.T || 3 == this.T) { d && (this.target = "1,1"); "current" == this.M && (this.M = "1,1"); this.M = "" + this.M; this.target = "" + this.target; 2 == this.T ? (-1 == this.M.indexOf(",") && (this.M = parseFloat(this.M) + ",1"), -1 == this.target.indexOf(",") && (this.target = parseFloat(this.target) + ",1")) : 3 == this.T ? (-1 == this.M.indexOf(",") && (this.M = "1," + parseFloat(this.M)), -1 == this.target.indexOf(",") && (this.target = "1," + parseFloat(this.target))) : (-1 == this.M.indexOf(",") && (this.M = parseFloat(this.M) + "," + parseFloat(this.M)), -1 == this.target.indexOf(",") && (this.target = parseFloat(this.target) + "," + parseFloat(this.target))); var a = parseFloat(this.M.split(",")[0]), f = parseFloat(this.M.split(",")[1]); this.xe = !0; var h = parseFloat(this.target.split(",")[0]); if (0 == h || isNaN(h)) this.xe = !1; 3 == this.T && (this.xe = !1); this.ye = !0; var e = parseFloat(this.target.split(",")[1]); if (0 == e || isNaN(e)) this.ye = !1; 2 == this.T && (this.ye = !1); 1 == this.Oc ? (this.loop && (this.e.width = this.Pd, this.e.height = this.Od), b || (this.reverse ? (this.e.width = this.e.width * h, this.e.height = this.e.height * e) : (this.e.width = this.e.width * a, this.e.height = this.e.height * f)), this.xa = this.e.width, this.Wb = this.e.height, this.Ba = this.xa, this.Sb = this.Wb, this.reverse ? (this.ya = this.xa * a / h, this.Pb = this.Wb * f / e) : (this.ya = this.xa * h, this.Pb = this.Wb * e)) : (b || (this.reverse ? (this.e.width = this.Pd * h, this.e.height = this.Od * e) : (this.e.width = this.Pd * a, this.e.height = this.Od * f)), this.xa = this.e.width, this.Wb = this.e.height, this.Ba = this.xa, this.Sb = this.Wb, this.reverse ? (this.ya = this.Pd * a, this.Pb = this.Od * f) : (this.ya = this.Pd * h, this.Pb = this.Od * e)); this.Va = this.ya; this.Kc = this.Pb; - 6 == this.fa && (this.Va = this.Pd * a, this.Kc = this.Od * f) } else if (4 == this.T) d && (this.target = Ja(this.e.q)), "current" == this.M || this.reverse || 1 == this.fa || (this.e.q = D(parseFloat(this.M.split(",")[0]))), 1 == this.Oc ? (this.loop && (this.e.q = this.Cj), this.xa = this.e.q, this.reverse ? this.ya = this.e.q - D(parseFloat(this.target.split(",")[0])) : this.ya = this.e.q + D(parseFloat(this.target.split(",")[0]))) : this.reverse ? (this.e.q = D(parseFloat(this.target.split(",")[0])), this.xa = this.e.q, this.ya = this.Cj) : (this.e.q = this.Cj, this.xa = this.e.q, this.ya = D(parseFloat(this.target.split(",")[0]))), this.Ba = this.xa, this.Va = Ja(this.ya), -6 == this.fa && (this.Va = Ja(this.Cj)), this.Dj = D(this.Va); else if (5 == this.T) "current" == this.M && (this.M = this.e.opacity), d && (this.target = "" + this.e.opacity), b || this.reverse || 1 == this.fa || (this.e.opacity = parseFloat(this.M.split(",")[0]) / 100), 1 == this.Oc ? (this.loop && (this.e.opacity = this.dy), this.Ba = this.xa = this.e.opacity, this.ya = this.reverse ? -parseFloat(this.target.split(",")[0]) / 100 : parseFloat(this.target.split(",")[0]) / 100, this.Va = this.Ba + this.ya) : (this.xa = this.e.opacity, this.reverse ? (this.Ba = parseFloat(this.target.split(",")[0]) / 100, this.ya = parseFloat(this.M.split(",")[0]) / 100) : (this.Ba = this.xa, this.ya = parseFloat(this.target.split(",")[0]) / 100), this.Va = this.ya), -6 == this.fa && (this.Va = this.dy); else if (6 == this.T) isNaN(this.value) && (this.value = 0), "current" == this.M && (this.M = "" + this.value), d && (this.target = "" + this.value), b || this.reverse || 1 == this.fa || (this.value = parseFloat(this.M.split(",")[0])), 1 == this.Oc ? (this.loop && (this.value = this.jp), b || (this.value = this.reverse ? parseFloat(this.target.split(",")[0]) : parseFloat(this.M.split(",")[0])), this.xa = this.value, this.reverse ? this.ya = this.xa - parseFloat(this.target.split(",")[0]) : this.ya = this.xa + parseFloat(this.target.split(",")[0]), this.Ba = this.xa, this.Va = this.ya) : (b || (this.value = this.reverse ? parseFloat(this.target.split(",")[0]) : parseFloat(this.M.split(",")[0])), this.xa = this.value, this.ya = this.reverse ? parseFloat(this.M.split(",")[0]) : parseFloat(this.target.split(",")[0]), this.Ba = this.xa, this.Va = this.ya), -6 == this.fa && (this.Va = this.jp); else if (7 == this.T) { d && (this.target = this.e.width + "," + this.e.height); "current" == this.M || this.reverse || 1 == this.fa || (this.e.width = parseFloat(this.M.split(",")[0]), this.e.height = parseFloat(this.M.split(",")[1])); this.xe = !0; h = parseFloat(this.target.split(",")[0]); if (0 > h || isNaN(h)) this.xe = !1; this.ye = !0; e = parseFloat(this.target.split(",")[1]); if (0 > e || isNaN(e)) this.ye = !1; 1 == this.Oc ? (this.loop && (this.e.width = this.Pd, this.e.height = this.Od), this.xa = this.e.width, this.Wb = this.e.height, this.reverse ? (this.ya = this.xa - parseFloat(this.target.split(",")[0]), this.Pb = this.Wb - parseFloat(this.target.split(",")[1])) : (this.ya = this.xa + parseFloat(this.target.split(",")[0]), this.Pb = this.Wb + parseFloat(this.target.split(",")[1]))) : (b || (this.reverse ? (this.e.width = parseFloat(this.target.split(",")[0]), this.e.height = parseFloat(this.target.split(",")[1])) : (this.e.width = this.Pd, this.e.height = this.Od)), this.xa = this.e.width, this.Wb = this.e.height, this.reverse ? (this.ya = this.Pd, this.Pb = this.Od) : (this.ya = parseFloat(this.target.split(",")[0]), this.Pb = parseFloat(this.target.split(",")[1]))); this.Ba = this.xa; this.Sb = this.Wb; this.Va = this.ya; this.Kc = this.Pb; - 6 == this.fa && (this.Va = this.Pd, this.Kc = this.Od) } this.fd = this.rc = this.Ba; this.Jd = this.Sb; this.Ra = parseFloat(this.qi.split(",")[0]); this.ob = parseFloat(this.qi.split(",")[1]); if (0 > this.Ra || isNaN(this.Ra)) this.Ra = 0; if (0 > this.ob || isNaN(this.ob)) this.ob = 0; b && (this.M = "current"); d && (this.target = "current"); c && (this.target = "OBJ") }; p.ED = function(b, d) { switch (this.mk) { case 0: return 1 * b / d + 0; case 1: return 1 * (b /= d) * b + 0; case 2: return -1 * (b /= d) * (b - 2) + 0; case 3: return 1 > (b /= d / 2) ? .5 * b * b + 0 : -.5 * (--b * (b - 2) - 1) + 0; case 4: return 1 * (b /= d) * b * b + 0; case 5: return 1 * ((b = b / d - 1) * b * b + 1) + 0; case 6: return 1 > (b /= d / 2) ? .5 * b * b * b + 0 : .5 * ((b -= 2) * b * b + 2) + 0; case 7: return 1 * (b /= d) * b * b * b + 0; case 8: return -1 * ((b = b / d - 1) * b * b * b - 1) + 0; case 9: return 1 > (b /= d / 2) ? .5 * b * b * b * b + 0 : -.5 * ((b -= 2) * b * b * b - 2) + 0; case 10: return 1 * (b /= d) * b * b * b * b + 0; case 11: return 1 * ((b = b / d - 1) * b * b * b * b + 1) + 0; case 12: return 1 > (b /= d / 2) ? .5 * b * b * b * b * b + 0 : .5 * ((b -= 2) * b * b * b * b + 2) + 0; case 13: return -1 * (Math.sqrt(1 - (b /= d) * b) - 1) + 0; case 14: return 1 * Math.sqrt(1 - (b = b / d - 1) * b) + 0; case 15: return 1 > (b /= d / 2) ? -.5 * (Math.sqrt(1 - b * b) - 1) + 0 : .5 * (Math.sqrt(1 - (b -= 2) * b) + 1) + 0; case 16: var c = 0; 0 == c && (c = 1.70158); return 1 * (b /= d) * b * ((c + 1) * b - c) + 0; case 17: return c = 0, 0 == c && (c = 1.70158), 1 * ((b = b / d - 1) * b * ((c + 1) * b + c) + 1) + 0; case 18: return c = 0, 0 == c && (c = 1.70158), 1 > (b /= d / 2) ? .5 * b * b * (((c *= 1.525) + 1) * b - c) + 0 : .5 * ((b -= 2) * b * (((c *= 1.525) + 1) * b + c) + 2) + 0; case 19: var a = 0, f = 0; if (0 == b) break; if (1 == (b /= d)) return 1; 0 == f && (f = .3 * d); 0 == a || a < Math.abs(1) ? (a = 1, c = f / 4) : c = f / (2 * Math.PI) * Math.asin(1 / a); return -(a * Math.pow(2, 10 * --b) * Math.sin(2 * (b * d - c) * Math.PI / f)) + 0; case 20: f = a = 0; if (0 == b) break; if (1 == (b /= d)) return 1; 0 == f && (f = .6 * d); 0 == a || a < Math.abs(1) ? (a = 1, c = f / 4) : c = f / (2 * Math.PI) * Math.asin(1 / a); return a * Math.pow(2, -10 * b) * Math.sin(2 * (b * d - c) * Math.PI / f) + 1; case 21: f = a = 0; if (0 == b) break; if (2 == (b /= d / 2)) return 1; 0 == f && (f = .3 * d * 1.5); 0 == a || a < Math.abs(1) ? (a = 1, c = f / 4) : c = f / (2 * Math.PI) * Math.asin(1 / a); return 1 > b ? -.5 * a * Math.pow(2, 10 * --b) * Math.sin(2 * (b * d - c) * Math.PI / f) + 0 : a * Math.pow(2, -10 * --b) * Math.sin(2 * (b * d - c) * Math.PI / f) * .5 + 1; case 22: return 1 - g(d - b, d) + 0; case 23: return g(b, d); case 24: return b < d / 2 ? .5 * (1 - g(d - 2 * b, d) + 0) + 0 : .5 * g(2 * b - d, d) + .5; case 25: return c = b / d / 2, 2 * c * c * (3 - 2 * c); case 26: return c = (b / d + 1) / 2, 2 * c * c * (3 - 2 * c) - 1; case 27: return c = b / d, c * c * (3 - 2 * c) } return 0 }; p.$a = function() { return { i: this.O, active: this.P, tweened: this.T, easing: this.mk, initial: this.M, target: this.target, duration: this.duration, wait: this.qi, playmode: this.fa, value: this.value, coord_mode: this.Oc, forceInit: this.Fq, group: this.group, targetObject: this.ad, pingpongCounter: this.gd, isPaused: this.Mh, initialX: this.xa, initialY: this.Wb, targetX: this.ya, targetY: this.Pb, tweenSaveWidth: this.Pd, tweenSaveHeight: this.Od, tweenSaveAngle: this.Cj, tweenSaveX: this.fh, tweenSaveY: this.gh, tweenSaveValue: this.jp, tweenInitialX: this.Ba, tweenInitialY: this.Sb, tweenTargetX: this.Va, tweenTargetY: this.Kc, tweenTargetAngle: this.Dj, ratio: this.hf, reverse: this.reverse, rewindMode: this.Io, doTweenX: this.xe, doTweenY: this.ye, loop: this.loop, initiating: this.Ra, cooldown: this.ob, lastPlayMode: this.rr, lastKnownValue: this.rc, lastKnownX: this.fd, lastKnownY: this.Jd, onStarted: this.kj, onStartedDone: this.nl, onWaitEnd: this.lj, onWaitEndDone: this.ol, onEnd: this.jj, onEndDone: this.il, onCooldown: this.ij, onCooldownDone: this.hl } }; p.lb = function(b) { this.O = b.i; this.P = b.active; this.T = b.tweened; this.mk = b.easing; this.M = b.initial; this.target = b.target; this.duration = b.duration; this.qi = b.wait; this.fa = b.playmode; this.value = b.value; this.Oc = b.coord_mode; this.Fq = b.forceInit; this.group = b.group; this.ad = b.targetObject; this.gd = b.pingpongCounter; this.Mh = b.isPaused; this.xa = b.initialX; this.Wb = b.initialY; this.ya = b.targetX; this.Pb = b.targetY; this.Pd = b.tweenSaveWidth; this.Od = b.tweenSaveHeight; this.Cj = b.tweenSaveAngle; this.fh = b.tweenSaveX; this.gh = b.tweenSaveY; this.jp = b.tweenSaveValue; this.Ba = b.tweenInitialX; this.Sb = b.tweenInitialY; this.Va = b.tweenTargetX; this.Kc = b.tweenTargetY; this.Dj = b.tweenTargetAngle; this.hf = b.ratio; this.reverse = b.reverse; this.Io = b.rewindMode; this.xe = b.doTweenX; this.ye = b.doTweenY; this.loop = b.loop; this.Ra = b.initiating; this.ob = b.cooldown; this.rr = b.lastPlayMode; this.rc = b.lastKnownValue; this.fd = b.lastKnownX; this.Jd = b.lastKnownY; this.kj = b.onStarted; this.nl = b.onStartedDone; this.lj = b.onWaitEnd; this.ol = b.onWaitEndDone; this.jj = b.onEnd; this.il = b.onEndDone; this.ij = b.onCooldown; this.hl = b.onCooldownDone; this.Fv() }; p.ub = function() { var b = this.c.Fh(this.e), d = -1 == this.O; this.P && 0 !== b && (0 != this.O || this.kj || (this.kj = !0, this.hl = this.ij = this.il = this.jj = this.ol = this.lj = this.nl = !1, this.c.trigger(ld.prototype.g.JA, this.e), this.nl = !0), this.O = -1 == this.O ? this.Ra + this.duration + this.ob : this.O + b, this.O <= this.Ra || (0 == this.lj && (this.lj = !0, this.c.trigger(ld.prototype.g.Hp, this.e), this.ol = !0), this.O <= this.duration + this.Ra && (b = this.ED(this.O - this.Ra, this.duration), 0 == this.T ? (1 == this.Oc ? (this.e.x !== this.fd && (this.Ba += this.e.x - this.fd, this.Va += this.e.x - this.fd), this.e.y !== this.Jd && (this.Sb += this.e.y - this.Jd, this.Kc += this.e.y - this.Jd)) : (this.e.x !== this.fd && (this.Ba += this.e.x - this.fd), this.e.y !== this.Jd && (this.Sb += this.e.y - this.Jd)), this.e.x = this.Ba + (this.Va - this.Ba) * b, this.e.y = this.Sb + (this.Kc - this.Sb) * b, this.fd = this.e.x, this.Jd = this.e.y) : 1 == this.T || 2 == this.T || 3 == this.T ? (this.e.width !== this.fd && (this.Ba = this.e.width), this.e.height !== this.Jd && (this.Sb = this.e.height), this.xe && (this.e.width = this.Ba + (this.Va - this.Ba) * b), this.ye ? this.e.height = this.Sb + (this.Kc - this.Sb) * b : 1 == this.T && (this.e.height = this.e.width * this.hf), this.fd = this.e.width, this.Jd = this.e.height) : 4 == this.T ? (b = this.Ba + (this.Dj - this.Ba) * b, this.O >= this.duration + this.Ra && (b = this.Dj), this.e.q = La(b)) : 5 == this.T ? (1 == this.Oc && this.e.opacity !== this.fd && (this.Ba = this.e.opacity), this.e.opacity = this.Ba + (this.Va - this.Ba) * b, this.fd = this.e.opacity) : 6 == this.T ? this.value = this.Ba + (this.Va - this.Ba) * b : 7 == this.T && (1 == this.Oc && (this.e.width !== this.fd && (this.Ba = this.e.width), this.e.height !== this.Jd && (this.Sb = this.e.height)), this.xe && (this.e.width = this.Ba + (this.Va - this.Ba) * b), this.ye && (this.e.height = this.Sb + (this.Kc - this.Sb) * b), this.fd = this.e.width, this.Jd = this.e.height), this.e.ca()), this.O >= this.duration + this.Ra && (this.iD(d), this.e.ca(), 0 == this.jj && (this.jj = !0, this.c.trigger(ld.prototype.g.Et, this.e), this.il = !0)))) }; p.iD = function(b) { switch (this.T) { case 0: this.e.x = this.Va; this.e.y = this.Kc; break; case 1: this.xe && (this.e.width = this.Va); this.ye ? this.e.height = this.Kc : this.e.height = this.e.width * this.hf; break; case 2: this.e.width = this.Va; break; case 3: this.e.height = this.Kc; break; case 4: this.e.q = La(this.Dj); this.rc = this.e.q; break; case 5: this.e.opacity = this.Va; break; case 6: this.value = this.Va; break; case 7: this.xe && (this.e.width = this.Va), this.ye && (this.e.height = this.Kc) } this.O >= this.duration + this.Ra + this.ob && (0 == this.fa ? (this.reverse = this.P = !1, this.O = this.duration + this.Ra + this.ob) : 1 == this.fa ? (this.O = 0, this.init(), this.P = !0) : 2 == this.fa ? b ? (this.reverse = !1, this.init()) : (this.reverse = !this.reverse, this.O = 0, this.init(), this.P = !0) : 3 == this.fa ? this.c.ne(this.e) : 4 == this.fa ? (this.loop = !0, this.O = 0, this.init(), this.P = !0) : 5 == this.fa ? b ? (this.reverse = !1, this.init()) : 0 >= this.gd ? (this.O = this.duration + this.Ra + this.ob, this.P = !1) : (this.reverse ? (--this.gd, this.reverse = !1) : (--this.gd, this.reverse = !0), this.O = 0, this.init(), this.P = !0) : -6 == this.fa ? (this.fa = this.rr, this.reverse = !1, this.O = 0, this.P = !1) : 6 == this.fa && (this.reverse = !1, this.O = this.duration + this.Ra + this.ob, this.P = !1)); 0 == this.ij && (this.ij = !0, this.c.trigger(ld.prototype.g.tA, this.e), this.hl = !0) }; l.g = {}; p = l.g; p.ut = function() { return this.P }; p.vH = function(b, d) { var c = []; nc[this.group].forEach(function(a) { c.push(a.O / (a.duration + a.Ra + a.ob)) }); return lc(Math.min.apply(null, c), b, d) }; p.Xy = function(b, d) { return lc(this.O / (this.duration + this.Ra + this.ob), b, d) }; p.JA = function() { if (!1 === this.nl) return this.kj }; p.Hp = function() { if (!1 === this.ol) return this.lj }; p.Et = function() { if (!1 === this.il) return this.jj }; p.tA = function() { if (!1 === this.hl) return this.ij }; l.j = {}; var f = l.j; f.$t = function(b) { this.P = 1 === b }; f.sI = function(b, d) { "" === d && (d = this.group); (1 === b || nc[d].every(function(b) { return !b.P })) && nc[d].forEach(function(c) { 1 === b ? f.uz.apply(c) : f.lu.apply(c) }) }; f.tI = function(b, d) { "" === d && (d = this.group); nc[d].forEach(function(c) { f.Rj.apply(c, [b]) }) }; f.$H = function(b, d, c) { "" === c && (c = this.group); (1 === b || nc[c].every(function(a) { return !a.P })) && nc[c].forEach(function(a) { 1 === b ? f.vz.apply(a, [d]) : f.Jp.apply(a, [d]) }) }; f.uz = function() { this.loop = 4 === this.fa; 5 == this.fa && (this.gd = 1); 6 == this.fa || -6 == this.fa ? this.O < this.duration + this.ob + this.Ra && (this.reverse = !1, this.init(), this.P = !0) : (this.reverse = !1, this.O = 0, this.init(), this.P = !0) }; f.vz = function(b) { this.Io = 1 == b; this.loop = 4 === this.fa; 5 == this.fa && (this.gd = 1); 6 == this.fa || -6 == this.fa ? this.O < this.duration + this.ob + this.Ra && (this.reverse = !0, this.init(), this.P = !0) : b ? 1 == this.gd && this.O >= this.duration + this.ob + this.Ra && (this.reverse = !0, this.O = 0, this.gd = 2, this.init(), this.P = !0) : (this.reverse = !0, this.O = 0, this.init(), this.P = !0) }; f.lu = function() { this.P || (this.loop = 4 === this.fa, 5 == this.fa && (this.gd = 1), 6 == this.fa || -6 == this.fa ? this.O < this.duration + this.ob + this.Ra && (this.reverse = !1, this.init(), this.P = !0) : (this.gd = 1, this.reverse = !1, this.O = 0, this.init(), this.P = !0)) }; f.Rj = function(b) { this.P && (2 == this.fa || 4 == this.fa ? this.O = this.reverse ? 0 : -1 : 1 == b ? this.$g() : 0 == b ? this.O = this.Ra + this.ob + this.duration : this.O = 0, this.ub(), this.P = !1) }; f.TH = function() { this.P && (this.Mh = !0, this.P = !1) }; f.ZH = function() { this.Mh ? (this.P = !0, this.Mh = !1) : this.P || (this.reverse = !1, this.O = 0, this.init(), this.P = !0) }; f.Jp = function(b) { this.Io = 1 == b; this.P || (this.loop = 4 === this.fa, 5 == this.fa && (this.gd = 1), 6 == this.fa || -6 == this.fa ? this.O < this.duration + this.ob + this.Ra && (this.reverse = !0, this.init(), this.P = !0) : b ? 1 == this.gd && this.O >= this.duration + this.ob + this.Ra && (this.reverse = !0, this.O = 0, this.gd = 2, this.init(), this.P = !0) : (this.reverse = !0, this.O = 0, this.init(), this.P = !0)) }; f.eu = function(b) { this.duration = b }; f.hu = function(b) { this.qi = b; this.Ra = parseFloat(this.qi.split(",")[0]); this.ob = parseFloat(this.qi.split(",")[1]); if (0 > this.Ra || isNaN(this.Ra)) this.Ra = 0; if (0 > this.ob || isNaN(this.ob)) this.ob = 0 }; f.fu = function(b) { "string" == typeof b ? (this.target = b, this.ya = parseFloat(b.split(",")[0]), this.Pb = parseFloat(b.split(",")[1])) : this.ya = this.target = b; this.P || this.init() }; f.mI = function(b) { b && (b = b.xn()) && (this.ad = b, this.target = "OBJ") }; f.nI = function(b) { 2 == this.T || 3 == this.T || 4 == this.T || 5 == this.T || 6 == this.T ? ("string" == typeof b ? this.target = parseFloat(b.split(",")[0]) : this.target = "" + b + "," + this.Pb, this.ya = this.target) : (this.target = String(b) + "," + this.target.split(",")[1], this.ya = parseFloat(this.target.split(",")[0]), this.Pb = parseFloat(this.target.split(",")[1])); this.P || (this.$g(), this.init()) }; f.oI = function(b) { 2 == this.T || 3 == this.T || 4 == this.T || 5 == this.T || 6 == this.T ? this.ya = this.target = "string" == typeof b ? parseFloat(b) + "" : this.ya + "," + b : (this.target = this.target.split(",")[0] + "," + String(b), this.ya = parseFloat(this.target.split(",")[0]), this.Pb = parseFloat(this.target.split(",")[1])); this.P || (this.$g(), this.init()) }; f.zB = function(b) { "string" == typeof b ? (this.M = b, this.xa = parseFloat(b.split(",")[0]), this.Wb = parseFloat(b.split(",")[1])) : (this.M = "" + b, this.xa = b); 6 == this.T && (this.value = this.xa); this.P || (this.$g(), this.init()) }; f.iI = function(b) { 2 == this.T || 3 == this.T || 4 == this.T || 5 == this.T || 6 == this.T ? ("string" == typeof b ? this.M = parseFloat(b) : this.M = "" + b + "," + this.Wb, this.xa = this.M) : ("" == this.M && (this.M = "current"), this.M = String(b) + "," + ("current" == this.M ? this.gh : this.M.split(",")[1]), this.xa = parseFloat(this.M.split(",")[0]), this.Wb = parseFloat(this.M.split(",")[1])); 6 == this.T && (this.value = this.xa); this.P || (this.$g(), this.init()) }; f.jI = function(b) { 2 == this.T || 3 == this.T || 4 == this.T || 5 == this.T || 6 == this.T ? ("string" == typeof b ? this.M = parseFloat(b) : this.M = "" + this.xa + "," + b, this.xa = this.M) : ("" == this.M && (this.M = "current"), this.M = ("current" == this.M ? this.fh : this.M.split(",")[0]) + "," + String(b), this.xa = parseFloat(this.M.split(",")[0]), this.Wb = parseFloat(this.M.split(",")[1])); this.P || (this.$g(), this.init()) }; f.rI = function(b) { this.value = b }; f.qI = function(b) { this.T = b }; f.fI = function(b) { this.mk = b }; f.kI = function(b) { this.fa = b }; f.GB = function(b, d, c, a, g, h, e, l) { this.T = b; this.fa = d; this.mk = c; f.zB.apply(this, [a]); f.fu.apply(this, [g]); f.eu.apply(this, [h]); f.hu.apply(this, [e]); this.Oc = l; this.$g() }; l.n = {}; l = l.n; l.bB = function(b) { b.C(this.O / (this.duration + this.Ra + this.ob)) }; l.XH = function(b) { b.C(this.O) }; l.jt = function(b) { b.C(this.duration) }; l.HH = function(b) { b.C(this.Ra) }; l.yH = function(b) { b.C(this.ob) }; l.UB = function(b) { b.aa(this.target) }; l.pu = function(b) { b.C(this.value) }; l.Mh = function(b) { b.G(this.Mh ? 1 : 0) } })(); function md(g) { this.c = g; this.ws = this.Uo = this.Il = this.vs = 0 } (function() { var g = md.prototype; g.N = function(g) { this.behavior = g; this.c = g.c }; g.N.prototype.I = function() {}; g.L = function(g, f) { this.type = g; this.behavior = g.behavior; this.e = f; this.c = g.c }; var l = g.L.prototype; l.I = function() { this.enabled = 0 !== this.u[0] }; l.$a = function() { return { smg: this.behavior.vs, ss: this.behavior.Il, se: this.behavior.Uo, smd: this.behavior.ws } }; l.lb = function(g) { this.behavior.vs = g.smg; this.behavior.Il = g.ss; this.behavior.Uo = g.se; this.behavior.ws = g.smd }; l.ub = function() {}; l.zj = function() { if (this.enabled) { var g = this.behavior.eo.ig(), f = 0, b = 0, d, c, a, l = 0; d = 0; for (c = g.length; d < c; d++) { a: { a = g[d]; for (var h = void 0, e = void 0, t = void 0, h = 0, e = a.la.length; h < e; ++h) if (t = a.la[h], t.behavior instanceof md) { a = t; break a } a = null } a && a.enabled && (f += g[d].x, b += g[d].y, ++l) } g = this.e.F.jc; c = this.c.hc.ta; a = d = 0; c >= this.behavior.Il && c < this.behavior.Uo && (d = this.behavior.vs * Math.min(this.c.qf, 1), 0 === this.behavior.ws && (d *= 1 - (c - this.behavior.Il) / (this.behavior.Uo - this.behavior.Il)), c = Math.random() * Math.PI * 2, a = Math.random() * d, d = Math.cos(c) * a, a *= Math.sin(c)); g.zl(f / l + d); g.Al(b / l + a) } }; g.j = new function() {} })(); function xc() { return [Ac, Bc, Cc, Dc, Fc, Ec, X, cd, bd, yc, Jc, Kc, Lc, Vc, Mc, Tc, Xc, Yc, Zc, $c, Uc, W, Wc, ld, id, dd, fd, ed, md, hd, jd, Q.prototype.g.Kt, Xc.prototype.j.rm, W.prototype.j.Ij, X.prototype.j.Ij, Xc.prototype.j.tm, W.prototype.j.tm, W.prototype.j.Lp, W.prototype.j.qm, Q.prototype.n.xF, Wc.prototype.j.qm, Xc.prototype.j.qm, Q.prototype.j.BB, Wc.prototype.g.em, Wc.prototype.j.Ij, Q.prototype.g.Zy, Q.prototype.j.wB, Q.prototype.g.Ty, Jc.prototype.j.Az, Fc.prototype.j.YB, Q.prototype.n.lG, Q.prototype.g.Kz, Q.prototype.g.$B, Q.prototype.g.mz, Wc.prototype.j.gu, Q.prototype.n.sn, Q.prototype.n.fl, Q.prototype.n.wF, Q.prototype.n.LF, Zc.prototype.g.Fp, Bc.prototype.j.Oj, X.prototype.n.Sy, X.prototype.n.Ry, Q.prototype.g.qz, Bc.prototype.n.yi, Bc.prototype.j.Pj, Q.prototype.n.DF, Q.prototype.j.cC, yc.prototype.j.CallFunction, yc.prototype.g.km, Bc.prototype.g.Yy, Q.prototype.j.LB, Q.prototype.n.floor, Q.prototype.n.random, Bc.prototype.n.By, X.prototype.n.zz, Bc.prototype.j.ez, Q.prototype.n.Hg, Q.prototype.g.kt, Dc.prototype.j.$y, Kc.prototype.g.Wt, Q.prototype.n.wG, Jc.prototype.g.It, X.prototype.g.em, X.prototype.j.qm, Jc.prototype.n.Xz, X.prototype.j.fA, X.prototype.g.uf, X.prototype.j.rm, X.prototype.j.iz, Lc.prototype.j.At, Q.prototype.n.max, Q.prototype.n.zF, Q.prototype.n.SC, Q.prototype.n.cH, Q.prototype.n.exp, X.prototype.j.tm, X.prototype.j.Oj, X.prototype.n.yi, X.prototype.n.fm, X.prototype.j.jB, X.prototype.n.Fy, X.prototype.n.Ey, X.prototype.n.kh, X.prototype.n.mh, yc.prototype.j.HB, Dc.prototype.n.nz, yc.prototype.n.OA, X.prototype.n.Py, W.prototype.j.rm, X.prototype.n.yz, Q.prototype.n["int"], Q.prototype.j.cz, X.prototype.j.nt, W.prototype.j.bu, W.prototype.j.pm, W.prototype.j.rB, Q.prototype.n.Su, X.prototype.j.QA, fd.prototype.j.WA, W.prototype.j.zp, X.prototype.n.gz, W.prototype.g.Vy, X.prototype.n.Bz, W.prototype.g.Wz, W.prototype.j.Mp, ld.prototype.j.lu, ld.prototype.g.ut, Zc.prototype.g.Gp, Zc.prototype.n.kh, Zc.prototype.n.mh, Zc.prototype.n.XB, Q.prototype.n.fD, Zc.prototype.n.gC, Zc.prototype.n.hC, Xc.prototype.n.kh, Xc.prototype.n.mh, Zc.prototype.n.WB, Zc.prototype.g.Ep, Zc.prototype.g.Vz, ed.prototype.j.pz, Yc.prototype.j.tm, Yc.prototype.j.Lp, X.prototype.j.Lp, Yc.prototype.n.Opacity, Zc.prototype.g.Ht, yc.prototype.g.Wy, X.prototype.j.NA, X.prototype.j.Ny, Jc.prototype.j.AB, X.prototype.n.mB, Jc.prototype.g.Jt, Q.prototype.j.Cz, ld.prototype.j.Rj, ld.prototype.j.GB, ld.prototype.n.jt, ld.prototype.n.pu, Q.prototype.j.oB, X.prototype.j.Ky, fd.prototype.j.aC, W.prototype.g.em, X.prototype.j.jz, X.prototype.n.Qy, ld.prototype.g.Xy, ld.prototype.g.Et, W.prototype.j.iA, bd.prototype.j.eB, bd.prototype.j.lB, X.prototype.n.Jy, Q.prototype.n.ceil, Q.prototype.n.round, X.prototype.j.gB, W.prototype.j.yp, X.prototype.n.$E, Q.prototype.j.wy, Q.prototype.j.QB, W.prototype.g.uf, W.prototype.j.ty, bd.prototype.j.ry, W.prototype.n.kh, W.prototype.n.mh, W.prototype.j.au, Xc.prototype.j.iu, bd.prototype.j.fB, Q.prototype.n.$G, Ec.prototype.n.xz, bd.prototype.g.Lj, Xc.prototype.n.yi, bd.prototype.n.hB, bd.prototype.g.Ft, id.prototype.j.$t, W.prototype.g.Uy, W.prototype.n.yy, Bc.prototype.j.cB, Wc.prototype.g.jh, Bc.prototype.j.vi, Bc.prototype.n.fm, Wc.prototype.j.vB, Wc.prototype.n.Gy, Wc.prototype.j.uB, Wc.prototype.n.bA, Q.prototype.n.replace, Wc.prototype.n.tf, Wc.prototype.j.xB, Wc.prototype.j.KB, yc.prototype.n.PA, Wc.prototype.g.Ip, Ec.prototype.n.tf, Wc.prototype.n.Text, Dc.prototype.j.oz, $c.prototype.j.RB, Ec.prototype.j.bt, Q.prototype.j.iB, Ec.prototype.j.vy, Ec.prototype.j.vi, $c.prototype.n.hA, Ec.prototype.n.zt, Ec.prototype.g.Ez, Q.prototype.n.find, Q.prototype.n.EF, Q.prototype.n.left, Q.prototype.n.aH, Bc.prototype.j.Yt, Bc.prototype.n.wz, Xc.prototype.n.wp, Q.prototype.n.time, yc.prototype.n.Zs, Bc.prototype.j.Ij, W.prototype.n.Sp, Wc.prototype.n.Sp, Xc.prototype.n.Sp, Bc.prototype.g.az, Q.prototype.g.TA, Vc.prototype.j.uy, Vc.prototype.j.Xt, W.prototype.j.TB, Q.prototype.j.EB, Tc.prototype.j.fz, Bc.prototype.n.Hz, Q.prototype.g.SA, Uc.prototype.j.ku, Xc.prototype.j.zp, Uc.prototype.g.mm, W.prototype.g.Ip, Uc.prototype.n.ct, Uc.prototype.n.dt, Uc.prototype.j.du, Xc.prototype.g.Ip, Tc.prototype.j.dm, Tc.prototype.j.SB, Tc.prototype.j.gA, Tc.prototype.g.Lt, W.prototype.n.tf, Xc.prototype.n.tf, Vc.prototype.g.xp, Vc.prototype.g.$A, Q.prototype.g.RA, W.prototype.n.Rp, Q.prototype.g.jA, W.prototype.j.gm, W.prototype.n.yi, W.prototype.n.wp, Wc.prototype.j.gm, Wc.prototype.n.Rp, Xc.prototype.j.gm, W.prototype.g.jh, Q.prototype.n.sG, Q.prototype.n.qG, W.prototype.n.zy, W.prototype.g.Qz, Xc.prototype.n.Rp, W.prototype.g.UA, fd.prototype.n.XA, Q.prototype.g.rz, fd.prototype.g.Rz, Q.prototype.n["float"], Wc.prototype.n.kh, Wc.prototype.n.mh, Wc.prototype.j.Mp, Wc.prototype.j.Oj, Wc.prototype.n.yi, Wc.prototype.n.fm, Q.prototype.n.YF, Q.prototype.n.cos, Q.prototype.n.sin, Q.prototype.n.sqrt, Q.prototype.n.acos, Q.prototype.n.asin, Q.prototype.n.abs, W.prototype.g.Dt, Dc.prototype.j.Dz, Xc.prototype.j.Oj, ld.prototype.j.eu, ld.prototype.j.hu, yc.prototype.n.kB, Q.prototype.g.Lz, Dc.prototype.g.Sz, Q.prototype.n.min, W.prototype.n.pt, W.prototype.n.Opacity, Q.prototype.j.JB, Xc.prototype.j.Ij, Dc.prototype.g.Tt, Q.prototype.j.sB, W.prototype.j.Pj, W.prototype.j.Pp, Wc.prototype.j.Pj, Wc.prototype.j.Pp, Xc.prototype.g.em, Xc.prototype.j.Pj, Xc.prototype.j.Pp, ld.prototype.n.UB, ld.prototype.j.fu, Xc.prototype.j.yB, Xc.prototype.j.qu, Q.prototype.g.lz, Cc.prototype.g.Uz, Cc.prototype.j.YA, Cc.prototype.n.ZA, Q.prototype.n.rG, Q.prototype.g.dC, Q.prototype.n.tG, Dc.prototype.n.dB, cd.prototype.j.MB, Cc.prototype.j.IB, Cc.prototype.j.CB, cd.prototype.g.io, cd.prototype.g.ko, Q.prototype.j.DB, Dc.prototype.n.bC, Q.prototype.g.Oz, Mc.prototype.j.Ay, Dc.prototype.n.hz, Mc.prototype.g.Iy, Q.prototype.g.Tz, Q.prototype.n.Wh, Q.prototype.g.Cp, Q.prototype.j.pB, jd.prototype.n.aD, W.prototype.n.bz, W.prototype.g.VA, W.prototype.g.et, Q.prototype.g.sz, W.prototype.g.ft, Q.prototype.j.qB, Jc.prototype.g.Bt, Jc.prototype.n.$z, X.prototype.j.kz, W.prototype.n.Fz, W.prototype.n.Gz, W.prototype.j.iu, W.prototype.n.Cy, X.prototype.j.zp, Q.prototype.g.Nz, Q.prototype.n.KG, Xc.prototype.g.ft, hd.prototype.j.Np, hd.prototype.g.Gt, Jc.prototype.j.Oy, Wc.prototype.j.rm, Tc.prototype.j.Kp, Tc.prototype.n.Dy, Dc.prototype.g.Pz, Ac.prototype.j.aB, Ac.prototype.g.im, Q.prototype.n.yF, Ac.prototype.n.aA ] };