var c = c || {}; c.H = c.H || {}; c.f = {}; p = window; p = Object.prototype; delete window._p; c.ac = function(a) { return document.createElement(a) }; c.Ra = function(a, b, d, e) { a.addEventListener(b, d, e) }; c.IM = "undefined" !== typeof require && require("fs"); c.Rn = function(a, b, d) { if (a) if (a instanceof Array) for (var e = 0, f = a.length; e < f && !1 !== b.call(d, a[e], e); e++); else for (e in a) if (!1 === b.call(d, a[e], e)) break }; c.Bz = function(a) { if (!a) return c.log("invalid URL"), !1; var b = a.indexOf("://"); if (-1 == b) return !1; b = a.indexOf("/", b + 3); return (-1 == b ? a : a.substring(0, b)) != location.origin }; c.async = { tL: function(a) { var b = this.KO; if (!b.MG) { var d = b.length, e = b.wR, f = b.YQ, g = f.vd, h = f.CO, k = f.LI, f = f.xpa; if (a) { if (b.MG = a, g) return g.call(h, a) } else { var m = Array.apply(null, arguments).slice(1), n = m.length; 0 == n ? m = null : 1 == n && (m = m[0]); e[this.index] = m; b.count--; k && k.call(f, m, d - b.count, d); 0 == b.count && g && g.apply(h, [null, e]) } } }, hM: function() {}, ula: function(a, b, d) { var e = c.async; if (void 0 !== d)"function" == typeof b && (b = { LI: b }), b.vd = d || b.vd; else if (void 0 !== b)"function" == typeof b && (b = { vd: b }); else if (void 0 !== a) b = {}; else throw "arguments error!"; var f = (d = a instanceof Array) ? a.length : Object.keys(a).length; if (0 == f) b.vd && b.vd.call(b.CO, null); else { var g = { length: f, count: f, YQ: b, wR: d ? [] : {} }; c.Rn(a, function(a, d) { if (g.MG) return !1; var f = b.vd || b.LI ? e.tL.bind({ KO: g, index: d }) : e.hM; a(f, d) }) } }, map: function(a, b, d) { var e = this, f = arguments.length; "function" == typeof b && (b = { zH: b }); if (3 === f) b.vd = d || b.vd; else if (2 > f) throw "arguments error!"; "function" == typeof b && (b = { zH: b }); if (void 0 !== d) b.vd = d || b.vd; else if (void 0 === a) throw "arguments error!"; var g = (f = a instanceof Array) ? a.length : Object.keys(a).length; if (0 === g) b.vd && b.vd.call(b.CO, null); else { var h = { length: g, count: g, YQ: b, wR: f ? [] : {} }; c.Rn(a, function(a, d) { if (h.MG) return !1; var f = b.vd ? e.tL.bind({ KO: h, index: d }) : e.hM; b.zH.call(b.U4, a, d, f) }) } } }; c.path = { join: function() { for (var a = arguments.length, b = "", d = 0; d < a; d++) b = (b + ("" == b ? "" : "/") + arguments[d]).replace(/(\/|\\\\)$/, ""); return b }, jm: function(a) { return (a = /(\.[^\.\/\?\\]*)(\?.*)?$/.exec(a)) ? a[1] : null }, vka: function(a) { if (a) { var b = a.lastIndexOf("."); if (-1 !== b) return a.substring(0, b) } return a }, E1: function(a, b) { var d = a.indexOf("?"); 0 < d && (a = a.substring(0, d)); d = /(\/|\\\\)([^(\/|\\\\)]+)$/g.exec(a.replace(/(\/|\\\\)$/, "")); if (!d) return null; d = d[2]; return b && a.substring(a.length - b.length).toLowerCase() == b.toLowerCase() ? d.substring(0, d.length - b.length) : d }, dirname: function(a) { return a.replace(/((.*)(\/|\\|\\\\))?(.*?\..*$)?/, "$2") }, DO: function(a, b) { b = b || ""; var d = a.indexOf("?"), e = ""; 0 < d && (e = a.substring(d), a = a.substring(0, d)); d = a.lastIndexOf("."); return 0 > d ? a + b + e : a.substring(0, d) + b + e }, kq: function(a, b, d) { if (0 == b.indexOf(".")) return this.DO(a, b); var e = a.indexOf("?"), f = ""; d = d ? this.jm(a) : ""; 0 < e && (f = a.substring(e), a = a.substring(0, e)); e = a.lastIndexOf("/"); return a.substring(0, 0 >= e ? 0 : e + 1) + b + d + f } }; c.X = { OM: {}, ey: {}, TZ: {}, Um: {}, mA: "", A1: "", Ig: {}, kz: function() { return window.XMLHttpRequest ? new window.XMLHttpRequest : new ActiveXObject("MSXML2.XMLHTTP") }, tM: function(a) { var b = a[0], d = a[1], e = a[2], f = ["", null, null]; if (1 === a.length) f[1] = b instanceof Array ? b : [b]; else if (2 === a.length)"function" == typeof d ? (f[1] = b instanceof Array ? b : [b], f[2] = d) : (f[0] = b || "", f[1] = d instanceof Array ? d : [d]); else if (3 === a.length) f[0] = b || "", f[1] = d instanceof Array ? d : [d], f[2] = e; else throw "arguments error to load js!"; return f }, E5: function(a, b, d) { var e = this, f = e.OM, g = e.tM(arguments); - 1 < navigator.userAgent.indexOf("Trident/5") ? e.TM(g[0], g[1], 0, g[2]) : c.async.map(g[1], function(a, b, d) { a = c.path.join(g[0], a); if (f[a]) return d(null); e.uL(a, !1, d) }, g[2]) }, LQ: function(a, b, d) { var e = this.WZ(), f = this.tM(arguments); this.E5(f[0], f[1], function(a) { if (a) throw a; e.parentNode.removeChild(e); if (f[2]) f[2]() }) }, uL: function(a, b, d) { var e = document, f = c.ac("script"); f.async = b; f.src = a; this.OM[a] = !0; c.Ra(f, "load", function() { this.removeEventListener("load", arguments.callee, !1); d() }, !1); c.Ra(f, "error", function() { d("Load " + a + " failed!") }, !1); e.body.appendChild(f) }, TM: function(a, b, d, e) { if (d >= b.length) e && e(); else { var f = this; f.uL(c.path.join(a, b[d]), !1, function(g) { if (g) return e(g); f.TM(a, b, d + 1, e) }) } }, WZ: function() { var a = document, b = a.getElementById("cocos2d_loadJsImg"); if (!b) { b = c.ac("img"); c.WM && (b.src = c.WM); a = a.getElementById(c.Wc.vf.id); a.style.backgroundColor = "black"; a.parentNode.appendChild(b); var d = getComputedStyle ? getComputedStyle(a) : a.currentStyle; d || (d = { width: a.width, height: a.height }); b.style.left = a.offsetLeft + (parseFloat(d.width) - b.width) / 2 + "px"; b.style.top = a.offsetTop + (parseFloat(d.height) - b.height) / 2 + "px"; b.style.position = "absolute" } return b }, Pz: function(a, b) { if (c.IM) require("fs").Nla(a, function(a, d) { a ? b(a) : b(null, d.toString()) }); else { var d = this.kz(), e = "load " + a + " failed!"; d.open("GET", a, !0); /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? (d.setRequestHeader("Accept-Charset", "utf-8"), d.onreadystatechange = function() { 4 == d.readyState && 200 == d.status ? b(null, d.responseText) : b(e) }) : (d.overrideMimeType && d.overrideMimeType("text/plain; charset=utf-8"), d.onload = function() { 4 == d.readyState && 200 == d.status ? b(null, d.responseText) : b(e) }); d.send(null) } }, UM: function(a) { if (c.IM) return require("fs").Ola(a).toString(); var b = this.kz(); b.open("GET", a, !1); /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? b.setRequestHeader("Accept-Charset", "utf-8") : b.overrideMimeType && b.overrideMimeType("text/plain; charset=utf-8"); b.send(null); return 4 == !b.readyState || 200 != b.status ? null : b.responseText }, MQ: function(a, b) { this.Pz(a, function(d, e) { try { d ? b(d) : b(null, JSON.parse(e)) } catch (f) { throw "load json [" + a + "] failed : " + f; } }) }, pL: function(a) { return null != /(\.png)|(\.jpg)|(\.bmp)|(\.jpeg)|(\.gif)/.exec(a) }, Qq: function(a, b, d) { var e = !0; void 0 !== d ? e = null == b.Bz ? e : b.Bz : void 0 !== b && (d = b); var f = new Image; e && "file://" != location.origin && (f.crossOrigin = "Anonymous"); c.Ra(f, "load", function() { this.removeEventListener("load", arguments.callee, !1); this.removeEventListener("error", arguments.callee, !1); d && d(null, f) }); c.Ra(f, "error", function() { this.removeEventListener("error", arguments.callee, !1); d && d("load image failed") }); f.src = a; return f }, XZ: function(a, b, d) { var e = this, f = null; (b = a.type) ? (b = "." + b.toLowerCase(), f = a.src ? a.src : a.name + b) : (f = a, b = c.path.jm(f)); var g = e.Ig[f]; if (g) return d(null, g); g = e.ey[b.toLowerCase()]; if (!g) return c.error("loader for [" + b + "] not exists!"), d(); b = e.e4(g.cz ? g.cz() : e.mA, f); g.load(b, f, a, function(a, b) { a ? (c.log(a), e.Ig[f] = null, delete e.Ig[f], d()) : (e.Ig[f] = b, d(null, b)) }) }, e4: function(a, b) { var d = this.TZ, e = c.path; if (void 0 !== a && void 0 === b) { b = a; var f = e.jm(b), f = f ? f.toLowerCase() : ""; a = (f = this.ey[f]) ? f.cz ? f.cz() : this.mA : this.mA } b = c.path.join(a || "", b); if (b.match(/[\/(\\\\)]lang[\/(\\\\)]/i)) { if (d[b]) return d[b]; e = e.jm(b) || ""; b = d[b] = b.substring(0, b.length - e.length) + "_" + c.Yb.language + e } return b }, load: function(a, b, d) { if (void 0 !== d)"function" == typeof b && (b = { LI: b }); else if (void 0 !== b)"function" == typeof b && (d = b, b = {}); else if (void 0 !== a) b = {}; else throw "arguments error!"; b.vd = function(a, b) { a && c.log(a); d && d(b) }; a instanceof Array || (a = [a]); b.zH = this.XZ; b.U4 = this; c.async.map(a, b) }, BM: function(a, b) { var d = this.Um, e = [], f; for (f in a) { var g = a[f]; d[f] = g; e.push(g) } this.load(e, b) }, rka: function(a, b) { var d = this, e = d.be(a); e ? d.BM(e.filenames, b) : d.load(a, function(a) { d.BM(a[0].filenames, b) }) }, Tk: function(a, b) { if (a && b) { if ("string" == typeof a) return this.ey[a.trim().toLowerCase()] = b; for (var d = 0, e = a.length; d < e; d++) this.ey["." + a[d].trim().toLowerCase()] = b } }, be: function(a) { return this.Ig[a] || this.Ig[this.Um[a]] }, Lj: function(a) { var b = this.Ig, d = this.Um; delete b[a]; delete b[d[a]]; delete d[a] }, Yla: function() { var a = this.Ig, b = this.Um, d; for (d in a) delete a[d]; for (d in b) delete b[d] } }; (function() { function a() { c.wa && c.Wc.Fl && c.wa.dispatchEvent(c.Wc.Fl) } function b() { c.wa && c.Wc.El && c.wa.dispatchEvent(c.Wc.El) } var d = window, e, f; "undefined" !== typeof document.hidden ? (e = "hidden", f = "visibilitychange") : "undefined" !== typeof document.mozHidden ? (e = "mozHidden", f = "mozvisibilitychange") : "undefined" !== typeof document.msHidden ? (e = "msHidden", f = "msvisibilitychange") : "undefined" !== typeof document.webkitHidden && (e = "webkitHidden", f = "webkitvisibilitychange"); e ? c.Ra(document, f, function() { document[e] ? b() : a() }, !1) : (c.Ra(d, "blur", b, !1), c.Ra(d, "focus", a, !1)); "onpageshow" in window && "onpagehide" in window && (c.Ra(d, "pagehide", b, !1), c.Ra(d, "pageshow", a, !1)); f = d = null })(); c.log = c.warn = c.error = c.assert = function() {}; c.OO = function(a, b) { for (var d = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"], e = null, f = 0; f < d.length; ++f) { try { e = a.getContext(d[f], b) } catch (g) {} if (e) break } return e }; c.FZ = function(a, b) { c.Ha = 0; c.ea = 1; var d = c.Yb = {}; d.EU = "en"; d.Y$ = "zh"; d.Z$ = "fr"; d.baa = "it"; d.$$ = "de"; d.iaa = "es"; d.haa = "ru"; d.daa = "ko"; d.caa = "ja"; d.aaa = "hu"; d.gaa = "pt"; d.X$ = "ar"; d.eaa = "no"; d.faa = "pl"; d.lV = "Windows"; d.BJ = "iOS"; d.CJ = "OS X"; d.jV = "UNIX"; d.iV = "Linux"; d.hV = "Android"; d.kV = "Unknown"; d.jT = "wechat"; d.fT = "androidbrowser"; d.UA = "ie"; d.gT = "qqbrowser"; d.$I = "mqqbrowser"; d.hT = "ucbrowser"; d.Y9 = "360browser"; d.Z9 = "baiduboxapp"; d.ZI = "baidubrowser"; d.a$ = "maxthon"; d.VA = "opera"; d.b$ = "miuibrowser"; d.Ar = "firefox"; d.WA = "safari"; d.TA = "chrome"; d.iT = "unknown"; d.hia = !1; var e = [d.ZI, d.VA, d.Ar, d.TA, d.WA], f = [d.ZI, d.VA, d.Ar, d.TA, d.WA, d.hT, d.gT, d.$I, d.UA], g = window, h = g.navigator, k = document.documentElement, m = h.userAgent.toLowerCase(); d.Aj = -1 != m.indexOf("mobile") || -1 != m.indexOf("android"); var n = h.language, n = (n = n ? n : h.browserLanguage) ? n.split("-")[0] : d.EU; d.language = n; var n = d.iT, q = m.match(/micromessenger|qqbrowser|mqqbrowser|ucbrowser|360browser|baiduboxapp|baidubrowser|maxthon|trident|opera|miuibrowser|firefox/i) || m.match(/chrome|safari/i); q && 0 < q.length && (n = q[0].toLowerCase(), "micromessenger" == n ? n = d.jT : "safari" === n && m.match(/android.*applewebkit/) ? n = d.fT : "trident" == n && (n = d.UA)); d.In = n; d.G0 = -1 < f.indexOf(d.In); f = parseInt(a[b.lA]); n = c.ea; q = c.ac("Canvas"); c.Yt = !0; e = -1 == e.indexOf(d.In); if (1 === f || 0 === f && (d.Aj || e)) n = c.Ha; n != c.ea || g.WebGLRenderingContext && c.OO(q, { stencil: !0, preserveDrawingBuffer: !0 }) || (0 == f ? n = c.Ha : c.Yt = !1); if (n == c.Ha) try { q.getContext("2d") } catch (r) { c.Yt = !1 } c.F = n; try { d.vy = !! new(g.AudioContext || g.webkitAudioContext || g.mozAudioContext) } catch (t) { d.vy = !1 } try { var s = d.localStorage = g.localStorage; s.setItem("storage", ""); s.removeItem("storage"); s = null } catch (u) { "SECURITY_ERR" !== u.name && "QuotaExceededError" !== u.name || c.warn("Warning: localStorage isn't enabled. Please confirm browser cookie or privacy option"), d.localStorage = function() {} } s = d.sG = { canvas: !0 }; c.F == c.ea && (s.opengl = !0); void 0 !== k.ontouchstart || h.msPointerEnabled ? s.touches = !0 : void 0 !== k.onmouseup && (s.mouse = !0); void 0 !== k.onkeyup && (s.keyboard = !0); if (g.DeviceMotionEvent || g.DeviceOrientationEvent) s.accelerometer = !0; g = m.match(/(iPad|iPhone|iPod)/i) ? !0 : !1; m = m.match(/android/i) || h.platform.match(/android/i) ? !0 : !1; k = d.kV; - 1 != h.appVersion.indexOf("Win") ? k = d.lV : g ? k = d.BJ : -1 != h.appVersion.indexOf("Mac") ? k = d.CJ : -1 != h.appVersion.indexOf("X11") ? k = d.jV : -1 != h.appVersion.indexOf("Linux") ? k = d.iV : m && (k = d.hV); d.PH = k; d.Wea = function() {}; d.Rda = function() {}; d.tma = function() {}; d.Pda = function() { var a; a = "" + ("isMobile : " + this.Aj + "\r\n"); a += "language : " + this.language + "\r\n"; a += "browserType : " + this.In + "\r\n"; a += "capabilities : " + JSON.stringify(this.sG) + "\r\n"; a += "os : " + this.PH + "\r\n"; c.log(a) } }; c.vaa = 0; c.waa = 1; c.taa = 2; c.uaa = 3; c.jf = null; c.m = null; c.eb = null; c.NY = null; c.fy = !1; c.MN = !1; c.LN = function(a) { var b, d; if (!c.MN) { c.MN = !0; var e = window; e.$H = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame; var f = c.Fb(a) || c.Fb("#" + a), g; "CANVAS" == f.tagName ? (b = b || f.width, d = d || f.height, g = c.Mn = c.ac("DIV"), a = c.eb = f, a.parentNode.insertBefore(g, a), a.qO(g), g.setAttribute("id", "Cocos2dGameContainer")) : ("DIV" != f.tagName && c.log("Warning: target element is not a DIV or CANVAS"), b = b || f.clientWidth, d = d || f.clientHeight, g = c.Mn = f, a = c.eb = c.Fb(c.ac("CANVAS")), f.appendChild(a)); a.mO("gameCanvas"); a.setAttribute("width", b || 480); a.setAttribute("height", d || 320); a.setAttribute("tabindex", 99); a.style.outline = "none"; f = g.style; f.width = (b || 480) + "px"; f.height = (d || 320) + "px"; f.margin = "0 auto"; f.position = "relative"; f.overflow = "hidden"; g.top = "100%"; c.F == c.ea && (c.m = c.Opa = c.OO(a, { stencil: !0, preserveDrawingBuffer: !0, antialias: !c.Yb.Aj, alpha: !1 })); c.m ? (e.gl = c.m, c.jf = new c.RT(c.m), c.fy = !0, c.Ka.KZ(), c.ge.ot()) : (c.m = a.getContext("2d"), c.ZZ = c.m, c.m.translate(0, a.height), c.jf = c.jJ ? new c.jJ(c.m) : null); c.NY = g; c.log(c.fB); c.W_(); c.Yb.Aj && (b = c.ac("style"), b.type = "text/css", document.body.appendChild(b), b.textContent = "body,canvas,div{ -moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;-khtml-user-select: none;-webkit-tap-highlight-color:rgba(0,0,0,0);}"); c.view = c.dB.HD(); c.qQ.G6(c.eb); c.L = c.bb.HD(); c.L.pI && c.L.pI(c.view); c.ja = c.L.V; c.Cma = new c.ww; c.n6 = new c.zV } }; c.fD = function() { if (c.F !== c.ea) throw "This feature supports WebGL render mode only."; }; c.HM = !1; c.W_ = function() { c.HM = !1; c.eb.oncontextmenu = function() { if (!c.HM) return !1 } }; c.Wc = { cJ: 0, ET: 1, t$: 2, DT: 3, ZA: 4, dJ: 5, bJ: 6, Uv: "game_on_hide", Fr: "game_on_show", El: null, Fl: null, Yba: [], Nh: { LG: "engineDir", yda: "dependencies", yu: "debugMode", s8: "showFPS", $y: "frameRate", id: "id", lA: "renderMode", W4: "jsList", M1: "classReleaseMode" }, iN: !1, EE: !1, Ac: !0, XD: null, vf: null, dv: null, Yka: null, ona: function(a) { this.vf[this.Nh.$y] = a; this.XD && clearInterval(this.XD); this.Ac = !0; this.UE() }, UE: function() { var a = this, b, d = a.vf, e = a.Nh, f = window, g = d[e.$y], h = c.L; h.v7(d[e.s8]); f.$H && 60 == g ? (b = function() { a.Ac || (h.NQ(), f.$H(b)) }, f.$H(b)) : (b = function() { h.NQ() }, a.XD = setInterval(b, 1E3 / g)); a.Ac = !1 }, d7: function(a) { function b() { a && (d.vf[d.Nh.id] = a); d.iN ? c.Yt && (d.hY = setInterval(function() { d.EE && (c.LN(d.vf[d.Nh.id]), d.UE(), d.El = d.El || new c.Tj(d.Uv), d.El.setUserData(d), d.Fl = d.Fl || new c.Tj(d.Fr), d.Fl.setUserData(d), d.dv(), clearInterval(d.hY)) }, 10)) : d.s6(function() { c.Yt && (c.LN(d.vf[d.Nh.id]), d.UE(), d.El = d.El || new c.Tj(d.Uv), d.El.setUserData(d), d.Fl = d.Fl || new c.Tj(d.Fr), d.Fl.setUserData(d), d.dv()) }) } var d = this; document.body ? b() : c.Ra(window, "load", function() { this.removeEventListener("load", arguments.callee, !1); b() }, !1) }, BZ: function() { function a(a) { a[b.LG] = a[b.LG] || "frameworks/cocos2d-html5"; null == a[b.yu] && (a[b.yu] = 0); a[b.$y] = a[b.$y] || 60; null == a[b.lA] && (a[b.lA] = 1); return a } var b = this.Nh; if (document.ccConfig) this.vf = a(document.ccConfig); else try { for (var d = document.getElementsByTagName("script"), e = 0; e < d.length; e++) { var f = d[e].getAttribute("cocos"); if ("" == f || f) break } var g, h, k; if (e < d.length) { if (g = d[e].src) k = /(.*)\//.exec(g)[0], c.X.mA = k, g = c.path.join(k, "project.txt"); h = c.X.UM(g) } h || (h = c.X.UM("project.txt")); var m = JSON.parse(h); this.vf = a(m || {}) } catch (n) { c.log("Failed to read or parse project.txt"), this.vf = a({}) } c.FZ(this.vf, b) }, RZ: {}, vM: function(a, b, d) { var e = this.RZ; if (e[b]) return null; d = d || ""; var f = [], g = a[b]; if (!g) throw "can not find module [" + b + "]"; b = c.path; for (var h = 0, k = g.length; h < k; h++) { var m = g[h]; if (!e[m]) { var n = b.jm(m); n ? ".js" == n.toLowerCase() && f.push(b.join(d, m)) : (n = this.vM(a, m, d)) && (f = f.concat(n)); e[m] = 1 } } return f }, s6: function(a) { var b = this, d = b.vf, e = b.Nh, f = d[e.LG], g = c.X; if (c.Yt) { b.iN = !0; var h = d[e.W4] || []; c.qa ? g.LQ("", h, function(d) { if (d) throw d; b.EE = !0; a && a() }) : (e = c.path.join(f, "moduleConfig.txt"), g.MQ(e, function(e, g) { if (e) throw e; var n = d.modules || [], q = g.module, r = []; c.F == c.ea ? n.splice(0, 0, "shaders") : 0 > n.indexOf("core") && n.splice(0, 0, "core"); for (var t = 0, s = n.length; t < s; t++) { var u = b.vM(q, n[t], f); u && (r = r.concat(u)) } r = r.concat(h); c.X.LQ(r, function(d) { if (d) throw d; b.EE = !0; a && a() }) })) } else c.error("Can not support render!") } }; c.Wc.BZ(); c.f = { UI: "cc.ActionManager.addAction(): action must be non-null", aT: "cocos2d: removeAction: Target not found", K9: "cc.ActionManager.removeActionByTag(): an invalid tag", L9: "cc.ActionManager.removeActionByTag(): target must be non-null", ZS: "cc.ActionManager.getActionByTag(): an invalid tag", $S: "cocos2d : getActionByTag(tag = %s): Action not found", Y1: "cocos2d: **** WARNING **** CC_ENABLE_PROFILERS is defined. Disable it when you finish profiling (from ccConfig.js)", Z1: "Expected 'data' dict, but not found. Config file: %s", a2: "Please load the resource first : %s", KT: "cocos2d: Director: Error in gettimeofday", LT: "cocos2d: Director: unrecognized projection", G$: "cocos2d: Director: unrecognized projection", JT: "cocos2d: Director: Error in gettimeofday", IT: "running scene should not null", iJ: "the scene should not null", gq: "element type is wrong!", XV: "CCSheduler#scheduleCallback. Callback already scheduled. Updating interval from:%s to %s", YV: "cc.scheduler.scheduleCallbackForTarget(): callback_fn should be non-null.", ZV: "cc.scheduler.scheduleCallbackForTarget(): target should be non-null.", VV: "cc.Scheduler.pauseTarget():target should be non-null", WV: "cc.Scheduler.resumeTarget():target should be non-null", UV: "cc.Scheduler.isTargetPaused():target should be non-null", UU: "getZOrder is deprecated. Please use getLocalZOrder instead.", eV: "setZOrder is deprecated. Please use setLocalZOrder instead.", SU: "RotationX != RotationY. Don't know which one to return", TU: "ScaleX != ScaleY. Don't know which one to return", OU: "An Node can't be added as a child of itself.", PU: "child already added. It can't be added again", QU: "child must be non-null", ZU: "removeFromParentAndCleanup is deprecated. Use removeFromParent instead", XU: "argument tag is an invalid tag", YU: "cocos2d: removeChildByTag(tag = %s): child not found!", WU: "removeAllChildrenWithCleanup is deprecated. Use removeAllChildren instead", fV: "cc.Node.stopActionBy(): argument tag an invalid tag", RU: "cc.Node.getActionByTag(): argument tag is an invalid tag", aV: "resumeSchedulerAndActions is deprecated, please use resume instead.", VU: "pauseSchedulerAndActions is deprecated, please use pause instead.", NU: "Unknown callback function", $U: "child must be non-null", bV: "cc.Node.runAction(): action must be non-null", cV: "callback function must be non-null", dV: "interval must be positive", naa: "cocos2d: Could not initialize cc.AtlasNode. Invalid Texture.", dT: "cc.AtlasNode.updateAtlasValues(): Shall be overridden in subclasses", T9: "", WI: "cocos2d: Could not initialize cc.AtlasNode. Invalid Texture.", DX: "cc._EventListenerKeyboard.checkAvailable(): Invalid EventListenerKeyboard!", FX: "cc._EventListenerTouchOneByOne.checkAvailable(): Invalid EventListenerTouchOneByOne!", EX: "cc._EventListenerTouchAllAtOnce.checkAvailable(): Invalid EventListenerTouchAllAtOnce!", CX: "cc._EventListenerAcceleration.checkAvailable(): _onAccelerationEvent must be non-nil", ZT: "Invalid parameter.", Lw: "Don't call this method if the event is for touch.", M2: "Invalid scene graph priority!", N2: "0 priority is forbidden for fixed priority since it's used for scene graph based priority.", R2: "Invalid listener type!", S2: "Can't set fixed priority with scene graph based listener.", O2: "Invalid parameters.", P2: "listener must be a cc.EventListener object when adding a fixed priority listener", Q2: "The listener has been registered, please don't register it again.", HU: "parameters should not be ending with null in Javascript", IU: "Invalid index in MultiplexLayer switchTo message", JU: "Invalid index in MultiplexLayer switchTo message", GU: "cc.Layer.addLayer(): layer should be non-null", ST: "Resolution not valid", TT: "should set resolutionPolicy", H4: "The touches is more than MAX_TOUCHES, nUnusedIndex = %s", uS: "cc.swap is being modified from original macro, please check usage", mq: "WebGL error %s", m1: "cocos2d: cc.AnimationCache: No animations were found in provided dictionary.", n1: "cc.AnimationCache. Invalid animation format", u1: "cc.AnimationCache.addAnimations(): File could not be found", o1: "cocos2d: cc.AnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.", p1: "cocos2d: cc.AnimationCache: Animation '%s' refers to frame '%s' which is not currently in the cc.SpriteFrameCache. This frame will not be added to the animation.", q1: "cocos2d: cc.AnimationCache: None of the frames for animation '%s' were found in the cc.SpriteFrameCache. Animation is not being added to the Animation Cache.", r1: "cocos2d: cc.AnimationCache: An animation in your dictionary refers to a frame which is not in the cc.SpriteFrameCache. Some or all of the frames for the animation '%s' may be missing.", s1: "cocos2d: CCAnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.", t1: "cocos2d: cc.AnimationCache: Animation '%s' refers to frame '%s' which is not currently in the cc.SpriteFrameCache. This frame will not be added to the animation.", v1: "cc.AnimationCache.addAnimations(): Invalid texture file name", xW: "cc.Sprite.reorderChild(): this child is not in children list", pW: "cc.Sprite.ignoreAnchorPointForPosition(): it is invalid in cc.Sprite when using SpriteBatchNode", AW: "cc.Sprite.setDisplayFrameWithAnimationName(): Frame not found", BW: "cc.Sprite.setDisplayFrameWithAnimationName(): Invalid frame index", zW: "setDisplayFrame is deprecated, please use setSpriteFrame instead.", iW: "cc.Sprite._updateBlendFunc(): _updateBlendFunc doesn't work when the sprite is rendered using a cc.CCSpriteBatchNode", rW: "cc.Sprite.initWithSpriteFrame(): spriteFrame should be non-null", sW: "cc.Sprite.initWithSpriteFrameName(): spriteFrameName should be non-null", tW: " is null, please check.", qW: "cc.Sprite.initWithFile(): filename should be non-null", DW: "cc.Sprite.setDisplayFrameWithAnimationName(): animationName must be non-null", yW: "cc.Sprite.reorderChild(): child should be non-null", jW: "cc.Sprite.addChild(): cc.Sprite only supports cc.Sprites as children when using cc.SpriteBatchNode", kW: "cc.Sprite.addChild(): cc.Sprite only supports a sprite using same texture as children when using cc.SpriteBatchNode", lW: "cc.Sprite.addChild(): child should be non-null", FW: "cc.Sprite.texture setter: Batched sprites should use the same texture as the batchnode", Oaa: "cc.SpriteBatchNode.updateQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", vW: "cc.SpriteBatchNode.insertQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", mW: "cc.SpriteBatchNode.addChild(): cc.SpriteBatchNode only supports cc.Sprites as children", nW: "cc.SpriteBatchNode.addChild(): cc.Sprite is not using the same texture", uW: "Sprite.initWithTexture(): Argument must be non-nil ", EW: "Invalid spriteFrameName", GW: "Invalid argument: cc.Sprite.texture setter expects a CCTexture2D.", Paa: "cc.SpriteBatchNode.updateQuadFromSprite(): sprite should be non-null", wW: "cc.SpriteBatchNode.insertQuadFromSprite(): sprite should be non-null", oW: "cc.SpriteBatchNode.addChild(): child should be non-null", bW: "cc.SpriteBatchNode.addQuadFromSprite(): SpriteBatchNode only supports cc.Sprites as children", dW: "cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from %s to %s.", eW: "cocos2d: WARNING: Not enough memory to resize the atlas", gW: "cc.SpriteBatchNode.addChild(): Child doesn't belong to Sprite", fW: "cc.SpriteBatchNode.addChild(): sprite batch node should contain the child", cW: "cc.SpriteBatchNode.addQuadFromSprite(): child should be non-null", hW: "cc.SpriteBatchNode.addChild():child should be non-null", y8: "cocos2d: WARNING: originalWidth/Height not found on the cc.SpriteFrame. AnchorPoint won't work as expected. Regenrate the .plist", A8: "cocos2d: WARNING: an alias with name %s already exists", x8: "cocos2d: WARNING: Sprite frame: %s has already been added by another source, please fix name conflit", D8: "cocos2d: cc.SpriteFrameCahce: Frame %s not found", z8: "Please load the resource first : %s", B8: "cc.SpriteFrameCache.addSpriteFrames(): plist should be non-null", C8: "Argument must be non-nil", YA: "cc.SpriteBatchNode.updateQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", rT: "cc.SpriteBatchNode.insertQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", nT: "cc.SpriteBatchNode.addChild(): cc.SpriteBatchNode only supports cc.Sprites as children", qT: "Sprite.initWithTexture(): Argument must be non-nil ", oT: "cc.Sprite.addChild(): child should be non-null", tT: "Invalid spriteFrameName", uT: "Invalid argument: cc.Sprite texture setter expects a CCTexture2D.", vT: "cc.SpriteBatchNode.updateQuadFromSprite(): sprite should be non-null", sT: "cc.SpriteBatchNode.insertQuadFromSprite(): sprite should be non-null", pT: "cc.SpriteBatchNode.addChild(): child should be non-null", aX: "cocos2d: Could not open file: %s", mK: "cc.TextureAtlas.insertQuad(): invalid totalQuads", bX: "cc.TextureAtlas.initWithTexture():texture should be non-null", lX: "cc.TextureAtlas.updateQuad(): quad should be non-null", mX: "cc.TextureAtlas.updateQuad(): Invalid index", eX: "cc.TextureAtlas.insertQuad(): Invalid index", fX: "cc.TextureAtlas.insertQuad(): Invalid index + amount", cX: "cc.TextureAtlas.insertQuadFromIndex(): Invalid newIndex", dX: "cc.TextureAtlas.insertQuadFromIndex(): Invalid fromIndex", jX: "cc.TextureAtlas.removeQuadAtIndex(): Invalid index", kX: "cc.TextureAtlas.removeQuadsAtIndex(): index + amount out of bounds", gX: "cc.TextureAtlas.moveQuadsFromIndex(): move is out of bounds", hX: "cc.TextureAtlas.moveQuadsFromIndex(): Invalid newIndex", iX: "cc.TextureAtlas.moveQuadsFromIndex(): Invalid oldIndex", Q8: "TextureCache:addPVRTCImage does not support on HTML5", O8: "TextureCache:addPVRTCImage does not support on HTML5", P8: "addPVRImage does not support on HTML5", R8: "cocos2d: Couldn't add UIImage in TextureCache", T8: "cocos2d: '%s' id=%s %s x %s", xS: "cocos2d: '%s' id= HTMLCanvasElement %s x %s", U8: "cocos2d: TextureCache dumpDebugInfo: %s textures, HTMLCanvasElement for %s KB (%s MB)", S8: "cc.Texture.addUIImage(): image should be non-null", SW: "initWithETCFile does not support on HTML5", WW: "initWithPVRFile does not support on HTML5", YW: "initWithPVRTCData does not support on HTML5", OW: "cc.Texture.addImage(): path should be non-null", UW: "cocos2d: cc.Texture2D. Can't create Texture. UIImage is nil", VW: "cocos2d: WARNING: Image (%s x %s) is bigger than the supported %s x %s", $W: "initWithString isn't supported on cocos2d-html5", TW: "initWithETCFile does not support on HTML5", XW: "initWithPVRFile does not support on HTML5", ZW: "initWithPVRTCData does not support on HTML5", QW: "bitsPerPixelForFormat: %s, cannot give useful result, it's a illegal pixel format", NW: "cocos2d: cc.Texture2D: Using RGB565 texture since image has no alpha", PW: "cc.Texture.addImage(): path should be non-null", RW: "NSInternalInconsistencyException", cd: "Missing file: %s", jR: "cc.radiansToDegress() should be called cc.radiansToDegrees()", UB: "Rect width exceeds maximum margin: %s", TB: "Rect height exceeds maximum margin: %s", $T: "If program goes here, there should be event in dispatch.", aU: "_inDispatch should be 1 here." }; c.Nx = function(a) { if (c.eb) { var b = c.YZ, d = document; if (!b) { var e = d.createElement("Div"), b = e.style; e.setAttribute("id", "logInfoDiv"); c.eb.parentNode.appendChild(e); e.setAttribute("width", "200"); e.setAttribute("height", c.eb.height); b.zIndex = "99999"; b.position = "absolute"; b.top = "0"; b.left = "0"; b = c.YZ = d.createElement("textarea"); d = b.style; b.setAttribute("rows", "20"); b.setAttribute("cols", "30"); b.setAttribute("disabled", !0); e.appendChild(b); d.backgroundColor = "transparent"; d.borderBottom = "1px solid #cccccc"; d.borderRightWidth = "0px"; d.borderLeftWidth = "0px"; d.borderTopWidth = "0px"; d.borderTopStyle = "none"; d.borderRightStyle = "none"; d.borderLeftStyle = "none"; d.padding = "0px"; d.margin = 0 } a = "string" == typeof a ? a : JSON.stringify(a); b.value = b.value + a + "\r\n"; b.scrollTop = b.scrollHeight } }; c.zx = function(a) { if ("object" === typeof a) try { return JSON.stringify(a) } catch (b) { return "" } else return a }; console.log && (c.log = function(a) { for (var b = 1; b < arguments.length; b++) a = a.replace(/(%s)|(%d)/, c.zx(arguments[b])); console.log(a) }, c.warn = console.warn ? function(a) { for (var b = 1; b < arguments.length; b++) a = a.replace(/(%s)|(%d)/, c.zx(arguments[b])); console.warn(a) } : c.log, c.error = console.error ? function(a) { for (var b = 1; b < arguments.length; b++) a = a.replace(/(%s)|(%d)/, c.zx(arguments[b])); console.error(a) } : c.log, c.assert = function(a, b) { if (!a && b) { for (var d = 2; d < arguments.length; d++) b = b.replace(/(%s)|(%d)/, c.zx(arguments[d])); throw b; } }); var ga = c.Wc.vf[c.Wc.Nh.yu], ja = c.Wc; console.log && ga === ja.ET || (c.log = ga == ja.ZA ? c.Nx.bind(c) : function() {}); ga && ga != ja.cJ && ga != ja.DT && ga != ja.bJ || (c.warn = function() {}); ga != ja.ZA && ga != ja.dJ && console.warn || (c.warn = c.Nx.bind(c)); ga && ga != ja.cJ ? ga != ja.ZA && ga != ja.dJ && ga != ja.bJ && console.error || (c.error = c.Nx.bind(c), c.assert = function(a, b) { if (!a && b) { for (var d = 2; d < arguments.length; d++) b = b.replace("%s", arguments[d]); c.Nx(b) } }) : (c.error = function() {}, c.assert = function() {}); c.X.C5 = function(a, b) { var d = this, e = this.kz(), f = "load " + a + " failed!"; e.open("GET", a, !0); /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? (e.setRequestHeader("Accept-Charset", "x-user-defined"), e.onreadystatechange = function() { if (4 == e.readyState && 200 == e.status) { var a = c.rL(e.responseBody); b(null, d.ry(a)) } else b(f) }) : (e.overrideMimeType && e.overrideMimeType("text/plain; charset=x-user-defined"), e.onload = function() { 4 == e.readyState && 200 == e.status ? b(null, d.ry(e.responseText)) : b(f) }); e.send(null) }; c.X.ry = function(a) { if (!a) return null; for (var b = new Uint8Array(a.length), d = 0; d < a.length; d++) b[d] = a.charCodeAt(d) & 255; return b }; c.X.ska = function(a) { var b = this.kz(), d = "load " + a + " failed!"; b.open("GET", a, !1); a = null; if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) { b.setRequestHeader("Accept-Charset", "x-user-defined"); b.send(null); if (200 != b.status) return c.log(d), null; (b = c.rL(b.responseBody)) && (a = this.ry(b)) } else { b.overrideMimeType && b.overrideMimeType("text/plain; charset=x-user-defined"); b.send(null); if (200 != b.status) return c.log(d), null; a = this.ry(b.responseText) } return a }; var Uint8Array = Uint8Array || Array; if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) { var ma = c.ac("script"); ma.type = "text/vbscript"; ma.textContent = '\r\nFunction IEBinaryToArray_ByteStr(Binary)\r\n IEBinaryToArray_ByteStr = CStr(Binary)\r\nEnd Function\r\nFunction IEBinaryToArray_ByteStr_Last(Binary)\r\n Dim lastIndex\r\n lastIndex = LenB(Binary)\r\n if lastIndex mod 2 Then\r\n IEBinaryToArray_ByteStr_Last = Chr( AscB( MidB( Binary, lastIndex, 1 ) ) )\r\n Else\r\n IEBinaryToArray_ByteStr_Last = ""\r\n End If\r\nEnd Function\r\n'; document.body.appendChild(ma); c.rL = function(a) { for (var b = {}, d = 0; 256 > d; d++) for (var e = 0; 256 > e; e++) b[String.fromCharCode(d + 256 * e)] = String.fromCharCode(d) + String.fromCharCode(e); d = IEBinaryToArray_ByteStr(a); a = IEBinaryToArray_ByteStr_Last(a); return d.replace(/[\s\S]/g, function(a) { return b[a] }) + a } }; c = c || {}; c.WM = "data:image/gif;base64,R0lGODlhEAAQALMNAD8/P7+/vyoqKlVVVX9/fxUVFUBAQGBgYMDAwC8vL5CQkP///wAAAP///wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAANACwAAAAAEAAQAAAEO5DJSau9OOvNex0IMnDIsiCkiW6g6BmKYlBFkhSUEgQKlQCARG6nEBwOgl+QApMdCIRD7YZ5RjlGpCUCACH5BAUAAA0ALAAAAgAOAA4AAAQ6kLGB0JA4M7QW0hrngRllkYyhKAYqKUGguAws0ypLS8JxCLQDgXAIDg+FRKIA6v0SAECCBpXSkstMBAAh+QQFAAANACwAAAAACgAQAAAEOJDJORAac6K1kDSKYmydpASBUl0mqmRfaGTCcQgwcxDEke+9XO2WkxQSiUIuAQAkls0n7JgsWq8RACH5BAUAAA0ALAAAAAAOAA4AAAQ6kMlplDIzTxWC0oxwHALnDQgySAdBHNWFLAvCukc215JIZihVIZEogDIJACBxnCSXTcmwGK1ar1hrBAAh+QQFAAANACwAAAAAEAAKAAAEN5DJKc4RM+tDyNFTkSQF5xmKYmQJACTVpQSBwrpJNteZSGYoFWjIGCAQA2IGsVgglBOmEyoxIiMAIfkEBQAADQAsAgAAAA4ADgAABDmQSVZSKjPPBEDSGucJxyGA1XUQxAFma/tOpDlnhqIYN6MEAUXvF+zldrMBAjHoIRYLhBMqvSmZkggAIfkEBQAADQAsBgAAAAoAEAAABDeQyUmrnSWlYhMASfeFVbZdjHAcgnUQxOHCcqWylKEohqUEAYVkgEAMfkEJYrFA6HhKJsJCNFoiACH5BAUAAA0ALAIAAgAOAA4AAAQ3kMlJq704611SKloCAEk4lln3DQgyUMJxCBKyLAh1EMRR3wiDQmHY9SQslyIQUMRmlmVTIyRaIgA7"; c.up = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAAgCAYAAAD9qabkAAAKQ2lDQ1BJQ0MgcHJvZmlsZQAAeNqdU3dYk/cWPt/3ZQ9WQtjwsZdsgQAiI6wIyBBZohCSAGGEEBJAxYWIClYUFRGcSFXEgtUKSJ2I4qAouGdBiohai1VcOO4f3Ke1fXrv7e371/u855zn/M55zw+AERImkeaiagA5UoU8Otgfj09IxMm9gAIVSOAEIBDmy8JnBcUAAPADeXh+dLA//AGvbwACAHDVLiQSx+H/g7pQJlcAIJEA4CIS5wsBkFIAyC5UyBQAyBgAsFOzZAoAlAAAbHl8QiIAqg0A7PRJPgUA2KmT3BcA2KIcqQgAjQEAmShHJAJAuwBgVYFSLALAwgCgrEAiLgTArgGAWbYyRwKAvQUAdo5YkA9AYACAmUIszAAgOAIAQx4TzQMgTAOgMNK/4KlfcIW4SAEAwMuVzZdL0jMUuJXQGnfy8ODiIeLCbLFCYRcpEGYJ5CKcl5sjE0jnA0zODAAAGvnRwf44P5Dn5uTh5mbnbO/0xaL+a/BvIj4h8d/+vIwCBAAQTs/v2l/l5dYDcMcBsHW/a6lbANpWAGjf+V0z2wmgWgrQevmLeTj8QB6eoVDIPB0cCgsL7SViob0w44s+/zPhb+CLfvb8QB7+23rwAHGaQJmtwKOD/XFhbnauUo7nywRCMW735yP+x4V//Y4p0eI0sVwsFYrxWIm4UCJNx3m5UpFEIcmV4hLpfzLxH5b9CZN3DQCshk/ATrYHtctswH7uAQKLDljSdgBAfvMtjBoLkQAQZzQyefcAAJO/+Y9AKwEAzZek4wAAvOgYXKiUF0zGCAAARKCBKrBBBwzBFKzADpzBHbzAFwJhBkRADCTAPBBCBuSAHAqhGJZBGVTAOtgEtbADGqARmuEQtMExOA3n4BJcgetwFwZgGJ7CGLyGCQRByAgTYSE6iBFijtgizggXmY4EImFINJKApCDpiBRRIsXIcqQCqUJqkV1II/ItchQ5jVxA+pDbyCAyivyKvEcxlIGyUQPUAnVAuagfGorGoHPRdDQPXYCWomvRGrQePYC2oqfRS+h1dAB9io5jgNExDmaM2WFcjIdFYIlYGibHFmPlWDVWjzVjHVg3dhUbwJ5h7wgkAouAE+wIXoQQwmyCkJBHWExYQ6gl7CO0EroIVwmDhDHCJyKTqE+0JXoS+cR4YjqxkFhGrCbuIR4hniVeJw4TX5NIJA7JkuROCiElkDJJC0lrSNtILaRTpD7SEGmcTCbrkG3J3uQIsoCsIJeRt5APkE+S+8nD5LcUOsWI4kwJoiRSpJQSSjVlP+UEpZ8yQpmgqlHNqZ7UCKqIOp9aSW2gdlAvU4epEzR1miXNmxZDy6Qto9XQmmlnafdoL+l0ugndgx5Fl9CX0mvoB+nn6YP0dwwNhg2Dx0hiKBlrGXsZpxi3GS+ZTKYF05eZyFQw1zIbmWeYD5hvVVgq9ip8FZHKEpU6lVaVfpXnqlRVc1U/1XmqC1SrVQ+rXlZ9pkZVs1DjqQnUFqvVqR1Vu6k2rs5Sd1KPUM9RX6O+X/2C+mMNsoaFRqCGSKNUY7fGGY0hFsYyZfFYQtZyVgPrLGuYTWJbsvnsTHYF+xt2L3tMU0NzqmasZpFmneZxzQEOxrHg8DnZnErOIc4NznstAy0/LbHWaq1mrX6tN9p62r7aYu1y7Rbt69rvdXCdQJ0snfU6bTr3dQm6NrpRuoW623XP6j7TY+t56Qn1yvUO6d3RR/Vt9KP1F+rv1u/RHzcwNAg2kBlsMThj8MyQY+hrmGm40fCE4agRy2i6kcRoo9FJoye4Ju6HZ+M1eBc+ZqxvHGKsNN5l3Gs8YWJpMtukxKTF5L4pzZRrmma60bTTdMzMyCzcrNisyeyOOdWca55hvtm82/yNhaVFnMVKizaLx5balnzLBZZNlvesmFY+VnlW9VbXrEnWXOss623WV2xQG1ebDJs6m8u2qK2brcR2m23fFOIUjynSKfVTbtox7PzsCuya7AbtOfZh9iX2bfbPHcwcEh3WO3Q7fHJ0dcx2bHC866ThNMOpxKnD6VdnG2ehc53zNRemS5DLEpd2lxdTbaeKp26fesuV5RruutK10/Wjm7ub3K3ZbdTdzD3Ffav7TS6bG8ldwz3vQfTw91jicczjnaebp8LzkOcvXnZeWV77vR5Ps5wmntYwbcjbxFvgvct7YDo+PWX6zukDPsY+Ap96n4e+pr4i3z2+I37Wfpl+B/ye+zv6y/2P+L/hefIW8U4FYAHBAeUBvYEagbMDawMfBJkEpQc1BY0FuwYvDD4VQgwJDVkfcpNvwBfyG/ljM9xnLJrRFcoInRVaG/owzCZMHtYRjobPCN8Qfm+m+UzpzLYIiOBHbIi4H2kZmRf5fRQpKjKqLupRtFN0cXT3LNas5Fn7Z72O8Y+pjLk722q2cnZnrGpsUmxj7Ju4gLiquIF4h/hF8ZcSdBMkCe2J5MTYxD2J43MC52yaM5zkmlSWdGOu5dyiuRfm6c7Lnnc8WTVZkHw4hZgSl7I/5YMgQlAvGE/lp25NHRPyhJuFT0W+oo2iUbG3uEo8kuadVpX2ON07fUP6aIZPRnXGMwlPUit5kRmSuSPzTVZE1t6sz9lx2S05lJyUnKNSDWmWtCvXMLcot09mKyuTDeR55m3KG5OHyvfkI/lz89sVbIVM0aO0Uq5QDhZML6greFsYW3i4SL1IWtQz32b+6vkjC4IWfL2QsFC4sLPYuHhZ8eAiv0W7FiOLUxd3LjFdUrpkeGnw0n3LaMuylv1Q4lhSVfJqedzyjlKD0qWlQyuCVzSVqZTJy26u9Fq5YxVhlWRV72qX1VtWfyoXlV+scKyorviwRrjm4ldOX9V89Xlt2treSrfK7etI66Trbqz3Wb+vSr1qQdXQhvANrRvxjeUbX21K3nShemr1js20zcrNAzVhNe1bzLas2/KhNqP2ep1/XctW/a2rt77ZJtrWv913e/MOgx0VO97vlOy8tSt4V2u9RX31btLugt2PGmIbur/mft24R3dPxZ6Pe6V7B/ZF7+tqdG9s3K+/v7IJbVI2jR5IOnDlm4Bv2pvtmne1cFoqDsJB5cEn36Z8e+NQ6KHOw9zDzd+Zf7f1COtIeSvSOr91rC2jbaA9ob3v6IyjnR1eHUe+t/9+7zHjY3XHNY9XnqCdKD3x+eSCk+OnZKeenU4/PdSZ3Hn3TPyZa11RXb1nQ8+ePxd07ky3X/fJ897nj13wvHD0Ivdi2yW3S609rj1HfnD94UivW2/rZffL7Vc8rnT0Tes70e/Tf/pqwNVz1/jXLl2feb3vxuwbt24m3Ry4Jbr1+Hb27Rd3Cu5M3F16j3iv/L7a/eoH+g/qf7T+sWXAbeD4YMBgz8NZD+8OCYee/pT/04fh0kfMR9UjRiONj50fHxsNGr3yZM6T4aeypxPPyn5W/3nrc6vn3/3i+0vPWPzY8Av5i8+/rnmp83Lvq6mvOscjxx+8znk98ab8rc7bfe+477rfx70fmSj8QP5Q89H6Y8en0E/3Pud8/vwv94Tz+4A5JREAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfcAgcQLxxUBNp/AAAQZ0lEQVR42u2be3QVVZbGv1N17829eRLyIKAEOiISEtPhJTJAYuyBDmhWjAEx4iAGBhxA4wABbVAMWUAeykMCM+HRTcBRWkNH2l5moS0LCCrQTkYeQWBQSCAIgYRXEpKbW/XNH5zS4noR7faPEeu31l0h4dSpvc+t/Z199jkFWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY/H9D/MR9qfKnLj/00U71aqfJn9+HCkCR/Wk36ddsgyJ/1wF4fkDfqqm9/gPsUeTnVr6a2xlQfnxdI7zs0W7irzD17Ytb2WT7EeNv/r4ox1O3Quf2QP2pgt9utwfout4FQE8AVBSlnaRmfvAURQkg2RlAbwB9AThlW5L0GaiKojhJhgOIBqDa7XaPrusdPtr5kQwF0BVAAoBIABRCKDd5aFUhRDAAw57eAOwAhKIoupft3zoqhB1AqLwuHIBut9uFt02qqvqRDJR2dAEQJj/BAOjn56dqmma+xiaECAEQAWAggLsB6A6HQ2iaZggBhBAqgEAAnQB0kzaEmT4hAITT6VQ8Ho/HJAKKECJQtr8LwD1y/A1/vcdfEUIEyfZ9AcQbYvZ942Px88L2UwlJR0dH0EMPPbRj5syZPUeNGrXR7Xb/641xIwJ1XY9NSUlZm52dfW+XLl1w8uRJzJ8//+OGhoYJqqqe1TSt1Wsm9NN1PSIqKmr12rVrR5WUlHy1bdu2AQCumWc3IYRD1/UwVVXnFRQUTIuNjUVzczN2797dWFJSkq8oymZd15sAGAEnFEUJ1nX9nzIzM1dnZmZGh4SE4OTJk5g5c+Zf29vbp9pstrMej6fVOyhIhgAYU1hY+B+hoaGoqKg4XVlZea+XTULTNFdCQsLGiRMnPuR2u3UhBOV9eeDAAWXTpk095DUe6WsoyRE5OTlr0tLSAux2O/bs2cO5c+e+pijKUpIXSHaQVAGkvPLKK++6XK4OksJLCFlXV2cvKSlJBFAjhU+x2WwhHo9nUHp6+urMzMy7wsLCUF9fjxdffPHjxsbGiTab7WuPx9NiEutOuq4PyMjI+M+srKyYqKgoHD58GDNmzNjq8XhyVFU9b/q+LH7hBAEYu3PnTlZVVRFAGgCX6f/tAHoOHDjwa0p27txp/JO9e/f+QM7cipw9nfL3kQBKt2zZQpJ87rnn6mQmoHilw2EACs+cOUOSrK+vZ1NTE0nyo48+IoBpxswoBcMJ4Ndjx471kOTFixe5d+9ekqTH42H//v13A4jyzpAURfEH0H/OnDnthu1z5sw558MmFUCPWbNmnaMP3nrrLZoyDmP8Hl68eDFJ8siRI9/Yc+zYMQKYKdtAztrTrl27xptRXV1NAKMAOAyBBBA/Y8aMdpLs6Ojgxx9//E37+++//29yvFXppwvAwMcee8xjtDHsuXLlCqOjo//ia3wsfpkoALqFhoZuIckJEyackimm3dQmEMDUmpoakmRISMhhAHOHDx/eQJIbN24kgKEyMAHAFRMTs2XXrl1saWkhSZ0kp0+ffhrAr3wEW/S8efOukORLL72kA1gKYMPWrVtJkk899dRJAHeYrgsEsIQkjx8/TgDvAPjd448/3kaSb7zxBmUa7vC6z53BwcFbSHL9+vU6Sc6aNes8gF5ewWAH0PfVV18lSQL4DMBGIcQ6AKtcLleBFC2jXtFt8ODBe0iyoqKCAJYByC8qKmJDQwOzsrK+MAmqo1OnTveHhoa+GRkZ+XZkZOSWiIiIvzgcjk9mzpypkWRmZuZpmbYbGV4AgPnNzc1sa2sjgN0A5iQmJtaSZHl5OQHcb/K3s81mW0uSTU1NBFAFYFbfvn1Pk+Tbb79NAA8IIVzW42/hByA+Pz/fLR/2ZXIda05NI/z9/TeR5J49ewhgqlxTrtI0jY2NjQQw3zTLuWJiYjaUlJToS5Ys6fjkk080kwDEeAmADcA9GzZsIElGRUW9CyAWwLApU6Y0kOSKFSsog9QICGdERMTGsrIyZmVlEcC9AB4IDw/fTpLbtm0jgN94CUAnAJmVlZVcs2aNZ/LkyRdJcvbs2b4EwAkgZfPmzTxw4AABFAN4BkC6vFeUSewcAO5duXIlSTIhIaEawGMAxgKYAmAGgCS73e5vrKVk/yGythANYEhCQsIhkly+fDkBpKqqGmL6DgIALDKN/3yZpVWQZGVlJQE8aPI3KiMjo5okV61aRQAjAPQBMPfIkSN0u90EUCBtsPiFEwpgbn19PdetW2fM5N4zQ9ekpKQqkty0aRMBpMjiWM6JEydIkoqirJUFJ6iq6pAPVy8A6cZMehMBUACEuVyuFwG8HBwcPEIWx367ZMkSjSQXLVrUJouTRorrkAHdA8BdQogsAOsKCwtJkmPGjDkvMw2bDDo/ADEjRoz4XylyFbm5uY0mAbjLyyZ/AOOrq6tZVlbWsWDBgo69e/eyoqKCgwcPPg4gSQaoIRbp27dvN7KF+tLSUr28vJwFBQXtMpvpYRIM7+wrAkDeqVOnePbsWQIoNKfzpiXPg8uXLydJJicnNwF4f+nSpW6STEtLq5fjYwhk1wkTJtSQ5Ouvv04AqTKj+N2xY8dIkgEBAW/Ie1v8wncRegwZMmQvSfbr12+3Ua33WqPfOWbMmP0kWVpaSgCDZAqcfejQIWNZsEGKgvnh9gfQb9myZd8nAEJVVZtMkUNk8CcNHTq0liR1XWdYWNhmH1mJIme80OnTp18x1rp5eXkEsNJms92Fb7e/IgEsvHz5Mp999tkmAI/l5uZeMC0B7vEqqAYAyL106RJJsra2lpWVld+sucePH38ZQG+5NncBeOrgwYMkqbe3t/Po0aOsra011wAWyl0H7x0JJ4DE+fPnu0kyPT29DsDdUrBuyNKEEAkAdpw/f/6GeoEM8GUmfwEgPCIiopwkGxsbabPZPgOw6L777vvm4p49e26VGYjFLxUhhD+ApLKyMp44ccIoVnXybgbgzkcfffRzklyzZg0BDJYCMMmoCwQFBXkLgLGWvvcWAgBToSsKwNPTp09vMR7UuLi4rwH0lgU8c/Db5ezbeeTIkRWzZ8++aMxu+fn5BPCADBwHgP4LFy701NXVEUAJgAnPP/98kyxMNgHo53A4zH77BQQETMvPz7+Um5vbBuAlAFMSExPPmdbVL0qh8Acw8fDhw5SCchVAEYAVb775JknyhRdeaJYztHfxMwLAaqNwCGC2FArv8x0hAHKNLGPKlCme5OTk/Zs3bzb7O0wKiiG8KXl5ed8IxenTp0mSR48e1UmyW7duWywBuD2xyQcgFECgoih+8H1gyJgZV5Lkyy+/3CbTRIePtl2HDBmyw1QBHyGDdXZdXR1JUghRKkXBjOMHCoBdpr0L3nvvPZLkF198wejo6O0A4lVVDTb74HQ6AwD8Wq7Jh8rgGgDgQ13XjVR8qaxJuADMbmlpYXl5uV5UVNRWUFDgfv/993Vj/ZydnU1c37eHXML4S3viAcQqitJD2l104cIFY8lTKsXSBWBMVVWVcd9yed2A1NTUQ6Zl00CvLMMOoHdubm6zFIlWOf5+PsY/Kj09vdrU11QAwwGsv3jxIk21m2DZr10I0RXAuAcffPBgaWkpV69eTYfDcdiwUxY0w6xw+flX8L1xApjevXv3lREREaW6rofB93aPDUDQpEmTMgHgtddeqwBwEd/utZvpqK6uPgEAcXFxkA94NwB9unfvjrNnz4LklwDcf08iIqv66Zs2bXrl4YcfxooVKxAbG7uqrq5uAYA2TdOEqqpGYIi2tjbl6aeffu/YsWPv5uTk7JaC1wHg4Pnz542MwoVvTx+21dbWYvjw4WLixIl+2dnZ9lGjRgmSTE1NRUpKCkwFTGiaxtTU1OXTpk3707Bhw/6g67pDipnT4biuj7qut+Lbk3Vf1tTUXI9qu91Pjq1QFEUBgJaWFgBo8yGOQ8eNGxcAAOvXr/8QwBUfYygAKL169eoCABcuXACAWtn2hOGv0+kMNO1KiPDw8F4A4rZv3/7R1KlTR0+bNu1ht9u9r1+/fqitrQXJgwDarRC6/QjPzs4+QJIffPCB9/aQmSAA43ft2mW0e1QGoi8CAPyLsZccExNTC2BlRkbGRdOyYJCP2csBIN6UAZzCd7cBbQCijYp/dXU1ExMTz6SmptaMHj36f9LS0vYlJCRsl6mxIWSdu3fv/g5J7t+/nwC2AShMTk6+SJKff/45AWRLYbD7+fndAeDf5BJnLoCCyZMnt5JkdnZ2C4B/F0KEm1Pu+Pj4rST55ZdfEsBWAK+mpaVdMo3raDn7KwDuSEpK+m+S3LBhAwG8DuCtHTt2UBbpjgC408vvcFVV15HkuXPnjMp+p5uMf0RcXNyHJNnQ0EBVVfcCWBQXF3fG+Jv0yxABPwB5LS0tRmFxN4BlTzzxxGWSXLx4sS5F3GGFy+1Hp5SUlJq6ujoWFxdTpsZ2H+0iIyMj/0iSWVlZX5mr5jfJFroPGzasxlhTnjp1iiTZ3NxMl8tlrCd9pfa9SkpKSJI5OTmnZOageLUZZqxvfVFWVkZcPwdgNwnSCKPqb17jkmR8fPzfZMDZ5CRsFBmNI7h95s2b1yhT7/MAYmStwCx4vy0uLqa3v5qmEcCfvSr1QQAeXb16NY3Cm3HQ55133iGAp+SxZTNhKSkpfzUddkrFjYevzAQCeGjp0qXfsYckY2NjTwD4leGDLCL2HTdunNtoY+zWSHFcIHdsFCtcfuZ1vO9Eqs3m7/F47sb1k2qX/f3997W2tl7BjWfpBYDOzzzzzIVJkyZh0KBBCwEsB3AJvl9AETabLcDj8dwRFRW1ctasWb8JCgpSzp07d62wsPC/Wltb8xRFadR1/ZqPXYbgAQMGbI2Pjw/+6quv9ldVVT0r01ezuPRJSUn5Y9euXXVd11WzDaqq6kePHm3+7LPPRgO4KlNuxWazhXo8nuTk5OSXMjIyEl0uFxoaGtqKior+dPXq1VdUVT0jj7r68ieoT58+vx8yZMjdx48fP1JVVTVF9m20VW02WyfZf97YsWPjXS4X6urqWvPy8jYCWCyEuEDS8FdVFKWzruv//OSTTy5OTk7uqWkaPv3007qysrJ8RVH+LI8ym8/rB3Tu3HnRI488knLo0KG2ffv2ZQI4C98vP6mqqoZqmpaclpa2cOTIkX39/f3R0NDQUVxc/G5TU9PLqqrWa5rWLH1QVFUN0TStX1JSUvH48eP7BwYG4uDBg1cKCgpeBbBe2u+2Qug2EwD5N5sMPuNtMe8XP4TT6Qxoa2sbIGeXvUKIK7d4IISiKC5d1wPljOfA9bPwzYqiXNV13dd6Uqiq6qdpml2mpe02m63d4/G4vcTF5fF47LJf71nJA6BZVVW3pmntuPHlmAD5wk6Q9NnbHp9vHaqq6tA0zU/64PZhk1FfCZB9G/23ALiqKEqzD39tpvbGUqoFwFUhRLP3yzpCCDtJpxyXDulfG27+pqRR3DXsUWVd4Yq0x/taVQjhIhksC8L+ABpM9ljBf5sKwI8pIBr75L5E4vvu+UNeG/a+hv+AL7yFH8qPtOfHjtOP6V/Bja8D6z/B2Nys/1u9Xv33tLf4GfF/LC4GCJwByWIAAAAASUVORK5CYII="; c.VM = "data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAlAAD/4QMpaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjM4MDBEMDY2QTU1MjExRTFBQTAzQjEzMUNFNzMxRkQwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjM4MDBEMDY1QTU1MjExRTFBQTAzQjEzMUNFNzMxRkQwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU2RTk0OEM4OERCNDExRTE5NEUyRkE3M0M3QkE1NTlEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU2RTk0OEM5OERCNDExRTE5NEUyRkE3M0M3QkE1NTlEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQADQkJCQoJDQoKDRMMCwwTFhENDREWGhUVFhUVGhkUFhUVFhQZGR0fIB8dGScnKionJzk4ODg5QEBAQEBAQEBAQAEODAwOEA4RDw8RFA4RDhQVERISERUfFRUXFRUfKB0ZGRkZHSgjJiAgICYjLCwoKCwsNzc1NzdAQEBAQEBAQEBA/8AAEQgAyACgAwEiAAIRAQMRAf/EALAAAAEFAQEAAAAAAAAAAAAAAAQAAgMFBgcBAQEAAwEBAAAAAAAAAAAAAAAAAQMEAgUQAAIBAgIEBwoLBgQGAwAAAAECAwAEEQUhMRIGQVFxsTITFGGBwdEiQlKSMzWRoeFicqKyI1NzFYJjJDQWB9KjVCbxwkNkJWXik3QRAAIBAgMFBQcDBQEAAAAAAAABAhEDIRIEMUFRcTJhwVIUBZGhsSJyEzOB0ULhYpIjUxX/2gAMAwEAAhEDEQA/AMJSpUqAVKlXuFAeUq9wpUB5XuFe4V6ooDzZHDox0CnGMinzwl7Z8NajaHeoO3vmTBZBtp9YUIqTEV5ROxHKnWRnaU8VRMhFBUjpV7hSoSeUq9pUB5Sr2lhQHlKvcK8oBV7hSFSRrtaKAZs07YNPM1pG2xJIAw1jSeandry/8X4m8VCKkWwaWwam7Xl/4v1W8VLtmX/i/VbxUoKkWwakSM407tmX/i/VbxUmzGwjQsjdY41IARie/U0IbZO0kNtCXnOCkEBeFu4KI3Bs7DNb27ya+jDx3kJeEnpJJEcQVbWDsk17u5urd591ucZkWhym2Vnd9RkCDEpFxDRpbw0bunu5mlp2De2FMLYXOD2wB2xbOeraUcYGJ72mlSUiqzzdzMd3Z3mixltA2yzcK/NlHM1DQyRXce1HocdNOEfJXZ88y9ZojOqhiBszIRiHQ8Y4cK5TvHuzLljHNMqxNoDjLFraHHnjPxcNCGVbxEUzYNTx5jZSxhpW6qTzlwJ+DCvO2Zf+L9VvFSgqyHYNLYNTdssPxfibxUu15f8Ai/VPiqCakOwa82DU/a8v/F+JvFTDdWPBL8R8VKCvYRYV5UzoMAy6QdIIqI0B4KJtxiRQwou16QoGUkntH5Tz0RbZbmF2hktraSVBo2lUkY8tDye0flPPXTslVUyiyVRsjqUOA4yMT8dW2ram2m6UVTNq9S7EIyUVJydMTn/6DnP+im9Wl+g5z/opvVrpteEhQWY4AaSTwAVf5WPiZh/9S5/zj7zltzlmYWkfWXNvJDGTgGcYDHirR7i7mSbwXParsFMrgb7w6jKw/wCmnc9I14kF3vpvCljbMyWMOJL4aEiB8qU/ObUK7HYWVrl1pFZWiCOCBQqKOLjPGTrNZZqKbUXVHq2nNwTuJRk1VpbgXN8s7Rk5ym0UQQzhIG2NAjhxHWbI+gCBVjBBFbwxwQqEiiUJGg1BVGAFe7dV28WYLYZFmF2Th1UD7JGjymGyn1iK5OyzIBGB1HgrLZhamzumQAGJwSqnSCh1q3GOCodxt4cxurdcpzuN4cyhiWaF5Bg09udUmnWw1H/jV9nFuJ7Quo+8h8peThFA+047vduyMtk7fYqTl07YFdfUufMPzT5p71UdtlmYXaGS2t3mQHAsgxANdadYJopLe4QS2867EsZ4QfCNYrCFbjdDPmgkYyWFxgVf04ifJf6ScNdRUW1XBb6FU5TjF5EpSSrGu/s5lN+g5z/opvVpfoOc/wCim9WtdHnatvObJXDW7xLGhB8nrPaY9/HCr+tEdPCVaSeDoYLnqF63lzW4/PFSW3ecxbI84VSzWUwUaSdg0DXXK5nvAipnd6qgKvWnQO7pri9ZUEmm3Vl2j1kr8pRlFRyquBNZjGxQ/S56Y1S2fu9OVueon11Szahoou06QoQUXadIVCD2FJJ7R+U89dMydv8Axdn+TH9muZye0flPPXQstlK5Tbka1gUjlC1q0vVLkeb6r+O3Tx9xcY1nt8c0NrZCyiOE1108NYjGv1joo7Js1jzKyScYLIvkzL6LDwHXVJksH9Sb49dKNq0tj1jA6uriOCL+02FWX7iVtZX1/AzaHTyeoauKn2MX9W79zebiZCuR5MjSrhfXuEtwTrUeZH+yNfdrRNcxI6IzhXlJEak6WIGJ2Rw4ChWnChndtlVBLMdQA0k1gbXNMzzDfDLs6mjaPKppJbWwJ1bOwwxw43OnHh71YT3DpfWUJmFlb5jHHDdeXBHIsrRea5TSqvxqG04cNN62vetoCS4tre5mgnkGE9q+3DKOkuI2WX6LDQRRHWDh1UCtwj7QRg2wdl8Djgw1qe7XvW0BQ3kfZ7mSLgU+T9E6RVbnuVrnWVSWqj+Lt8ZbRuHEdKPkYVcZ2MJY5fSGyeVar45+rkWQHAqccalPE5km1htWK5nK4Wnt5FuUBUwOMG4nGkA/BXUrW4S6torlOjMgcd/xVn7rLo7zKs0uEjCNeSvdwoBhgsZxX1l2j36k3Lu+uyprdj5Vs5A+i/lD48a0aaVJOPi7jB6lbzWozpjB48pf1NDXNN4vfl7+Z4BXS65pvF78vfzPAK71XTHmZ/S/yT+jvJ7L3fHytz1E+upbL+Qj5W56jfXWRnsIYKLtekKEFGWvSFQgyjk9o/Keet3YthlMP/5x9msJJ7R+U89biyb/AMXEv7gD6tadL1T+kwepRrC39ZkLDMbiwMvUHRPG0bjlGg8ore/23sxBldxfMPLupNhT8yL/AORNZbdzJ484scytxgLqJY5LZj6Q2sV5G1Vud1mjjyG0ij0NEGSZToKyhjtqw4waztuiXA3qKTbSxltfGhbZlE95ZtZqxVbgiOZhrER9ph3Svk9+pJILZ4Y4DGBFCUMKjRsGPobPFhUfW0NJmljE2xJcIrcI2vFUEln1lRXd6lrazXT9GCNpD+yNqoI7mOVduNw6nzlOIoPOUa6yye1XXcbMR5GdQ3xY0BSbj31/FcTQZirJ+q431q7anbHCTZ72Bw7lbPrKBMcBWNNgbMBBh+bsjBdni0VJ1lARZs6yWiupxCuMDy6KpS2IwOo6DTr3Mre3e5tZZVUM4ZBjqOOJoWO4jkXajcOOMHGgDISvWIrdAkKR80+TzVl908bPPL3LzxOuHdifxVfiTAg92qI/w+/8gGgSyN/mR7XPVlp0lF/3L3mbVKtu5Hjbk/8AHE2Fc03i9+Xv5ngFdKNc13i9+Xv5ngFaNV0x5nn+l/kn9HeEWXu+PlbnqJ9dS2Xu9OVueon11kZ7CGCjLXpCgxRlr0hUIPYUcntH5Tz1s8vb+Bt1/dqPirGSe0flPPWusG/g4Py15q06XqlyMWvVYQ+ruI9xJOqzO9hOto/sP8tbGOFIrmWeM7IuMDMnAXXQJOUjQeOsJk0nY96ip0CYunrjaHx1t+srPJUbXBm2LrFPikwTOb+T+VhbZxGMrDXp83x1QSy2tucJpUjPETp+Cn5/ftaRvKvtp3Kx48HG3erHMzOxZiWZtLMdJNQSbbL71Vk6yynViOkqnEEfOWtPbXi3EQkGg6mXiNckjeSJxJGxR10qw0GtxuxmvbImD4CZMFlA4fRfv0BqesqqzTMZNMEDbIHtHH2QeCiZJSqMQdOGiue53mz3czQwsRbIcNHnkec3c4qAMuriz68gTIToxwOOnlp0MjxMJYW741Gs3RVldtbygE/dMcHX/moDaxTiWNZB53B3arb8/wC+4SOF4sf/AKxU9kcBsfOGHfoUHtG/RbzY5Die5HHhXdvavqiZ9Q8Jdlq4/gbKua7xe/L38zwCuhpf2Uk/Zo50kmwJKIdogDjw1VzzeL35e/meAVp1LTgqY4nn+mRauzqmqwrjzCLL3fHytz1E+upLL+Qj5W56jfXWRnroYKLtekKEFF2vSFQg9hSSe0flPPWosm/hIfoLzVl5PaPynnrRWb/w0X0F5q06XqlyM2sVYx5gmbFre/t71NY2T+0h8VbSO5SWNJUOKSAMp7jDGspmMPaLRlXS6eWve1/FRO7WYdbZm1Y/eW/R7qHxHRXGojlm3ulid6aVbaW+OALvgCLq2Hm9WxHKWqjhj6xsK1e8dm15l4niG1LZkswGsxtrPeOmsvayBJA1VItlWjptLuTdPMo7LtjRDq9naK4+WF9IrUW7BaHOljGqVHB7w2hzVoZt87d8vaNYSLl02CcRsDEbJbj71Uu7UBkvJ7/D7q2QoDxySaAO8MTXdxRVMpRp5XZOWdF/ms7R5XdyKfKWJsO/5PhrG5XlNxmEywW6bTnTxAAcJNbGSMXkM1pjgbiNo1PziPJ+Os7u7m/6ReM00ZOgxSpqYYHT3wRXMKN4ll9zUG4bQfNshu8sZVuEA2hirA4qe/VOwwrVbzbww5mI44UKRRYkbWG0S3JWctbd7u5WFfOOLHiUdJqmaipfLsIsObhWe001lMkMVvJNjhghIALMcBxCs7fxXQmkupx1bXDswGPlaTidVaEyKNXkoo4eBV+Sq7L7Vs9zcBgeyQ4GQ/MB1crmoim2orezqcowTuSeEY48jQ7oZX2PLzdyLhNd6RjrEY6I7+uspvH78vfzPAK6UAAAFGAGgAcArmu8Xvy9/M8ArTfio24RW5nnaG67uou3H/KPuqT2X8hHytz1G+upLL3enK3PUb66ys9RDBRdr0hQgou06QqEGUkntH5Tz1e238vF9BeaqKT2j8p56vbb+Xi+gvNWjTdUuRn1XTHmTh8KrJTJlt8t1CPIY44cGnpJVjTJYkmjaN9Ib4u7V923njTethRauZJV3PaW1rfLIiXEDYg6R4VYc9CXW7thfOZbKdbGZtLW8uPVY/u3GrkNUkM9zlcxUjbhfWOA90cRq4gv4LhdqN+VToNYWmnRm9NNVWNTyHc6VWBv8wt4YeHqm6xyPmroq1Z7WGFLSxTq7WLSuPSdjrkfumq5yHXDUeA92oO2SKpVumNAaoJLMXH3myp0rpJ4uKhc3tbDM5BMri1zAj79j7KTiY8TcdBpcsith0286o+sPCagEX9Pzg4zXUCp6QYse8oouCG3tk6m1BYv05W6T+IdyolxbHDAAa2OgDlNCz3ryN2WxBd5PJMg1t81eId2ukqnLlTBbfcuY+9uJLiRcvtPvHdsHK+cfRHcHDWsyawjyy0WBcDI3lTP6TeIcFV+S5OmXx9bJg1048o8Cj0V8Jq2DVu09nL80up7OxHi+oal3P8AXB/IsZS8T/YOV65zvCcc7vfzPAK3ivWCz445zeH954BXOr6I8yfSfyz+jvCLP3fHytz1G+upLP3fHytz1E+usbPaQ0UXadIUIKLtekKhB7Ckk9o/Keer22/l4/oLzVRSe0flPPV7b/y8X0F5q0abqlyM+q6Y8yQsBTDMor1o8aiaE1pbluMqS3sbLLHIhSRQyngqukhaJ9uBjo+H5aOa3ao2t34qouRlLajTalGP8v0IY8ylXQ+PKPFU/bYXOLPge6CKia0LaxTOxHu1Q7cuBd9yPEJ7TbjXKO8CajbMIF6CNIeNvJHjqIWJ7tSpYkalqVblwIdyG+RGXur0hXYJFxal+Dhq5y3slkv3Y2pD0pTr+QUClpJRUdo9XW4OLrTHtM16cZLLWkeC7y4jvlNEpcRtw1Ux27Ci448NZrTFy3nn3IQWxlgGrDZ3pza7/M8ArZo+ArF5171uvp+CqdV0R5l/psUrs2vB3hdl7vTlbnqJ9dS2Xu+PlbnqJ9dY2eshooq16QoQUXa9IVCD2FLJ7RuU89WNtmUSQqkgYMgw0accKrpPaPynnrZWG4Vi+VWmY5tnMWXG+XrIYnA0rhj0mdcTgdNdwnKDqjmduM1SRR/qlr8/4KX6pa8T/BVzDuLZXudRZblmbxXcPUNPc3KqCIwrbOzgrHEnHjoyD+3eSXkht7DeKG4umDGOJVUklfouThXfmbnZ7Cvy1vt9pmv1W1+d8FL9VteJvgq5yrcOGfLmzHN80iyyETPbptAEFo2ZG8pmUa1OFNn3Ky6W/sbDKM5hv5bx2WTZA+7RF2y52WOPJTzE+z2Dy1vt9pT/AKpacTerS/U7Tib1a04/t7kDXPY03jhN0W6sQ7K7W3q2dnrMccaDy/8At80kuZfqWYxWNtlcvUPPhiGYhWDeUy7IwYU8xPs9g8tb7faUn6pacTerTxm9oOBvVq3v9z927aynuId44LiWKNnjhAXF2UYhRg516qpsryjLr21665zFLSTaK9U2GOA87SwqY37knRU+BzOzags0s1Oyr+BKM6sxwP6tSDPLMen6vy0rvdm3Sxlu7K/S7WDDrFUDUTxgnTU826eXW7KlxmqQuwDBXUKcD+1Xee/wXuKX5XDGWLapSVcOyhEM/seJ/V+WnjeGx4pPV+Wkm6kKZlFay3Jlt7iFpYZY8ASVK6DjtDDA0f8A0Tl340/1f8Ndx8xJVWXB0KbktFFpNzdVXAC/qOwA0CQni2flrO3Vwbm5lnI2TKxbDirX/wBE5d+NcfV/wVR7xZPa5U9utvI8nWhmbbw0YEAYYAVxfhfy5rlKR4Fulu6X7mW1mzT8S4Yis/5CPlbnqJ9dSWfu9OVueon11mZvQ2i7XpChKKtekKhBlNJ7R+U89bDfGTb3a3ZX0Lcj6kdY+T2j8p560288m1kWQr6MJ+ylSAr+2cnV5renjs3H1loX+3j9XvbbtxLN9lqW4UnV5jdnjtXHxihtyZNjeSBu5J9k1BJe7xy7W5CJ/wCzuD/mTVTf2+fq97LJuLrPsNRueS7W6aJ/38x+vLVXuY+xvHaNxbf2GoCezf8A36j/APsSf8w1sLnqczTefJluYoLm5uo5F61sBshItP1cNFYe1f8A3ir/APfE/wCZUe9bB94r5jwuPsrQFhmG4l/Z2M17HdW90tuu3IkTHaCjWdIw0VVZdks9/C06yJFEp2dp+E1bbqybGTZ8vpQD7L1XRv8A7blT96Oda7tpNuuNE37Cq9KSisjyuUoxrStKllHbLlWTXsMs8chuSuwEPDqwoLe5y+YRE/gLzmqRekvKKtd4327yM/ulHxmrHJStySWVRyrjxKI2XC/CTlnlPPKTpTdFbP0L1bgrf5Lp0G3dPhQHwV0S1lzBsns3sESR8Crh9WAJGjSOKuU3E+zdZQ3oJh8IArdZXFDmOTpHa3i2+YrI2KtKy4ricBsBuHHgFXSo440+Wa2qqxjvM9uMoy+WvzWpLCWWWE28HxL6e43ojgkeSCBY1Ri5BGIUDT51cl3vm276BBqSEH4WbxV0tlkyXJcxTMb+OW6uY9mGHrCzDQwwAbTp2uKuTZ9N1uYsfRRR8WPhrm419mSSjRyiqxVK7y23B/ftuTm2oSdJyzNVw3BFn7vTlbnqF9dS2fu9OVueon11lZuQ2iLdsGFD05H2dNQGV0ntG5Tz1dWm9N1b2kVq8EVwsI2UaQaQOKhmitZGLOmk68DhSFvY+gfWNSAg7z3Qvo7yKCKIohiaNR5LKxx8qpxvjcqS0VpbxvwOAcRQPZ7D0G9Y0uz2HoH1jUCpLY7zXlpbm3eKO5QuzjrBqZji3x17PvNcyT288VvDBJbMWUovS2hslW7mFQ9nsPQPrGl2ew9A+saCod/WNxtbYsrfb17WBxx5ddD2281xC88klvDcSXEnWuzrqOGGC9zRUPZ7D0G9Y0uzWHoH1jQVCLreq6ntZbaO3it1mGy7RjTs1X2mYy20ZiCq8ZOODcdEdmsPQb1jS7PYegfWNdJuLqnQiSUlRqpFLmryxtH1Ma7Qw2gNNPOdSt0oI27p007s9h6B9Y0uz2HoH1jXX3Z+I4+1b8IJdX89xLHKQFMXQUahpxoiPN5P+onfU+A0/s9h6DesaXZ7D0D6xpG7OLbUtu0StW5JJx2bBsmbtiSiEk+cxoCWWSaVpZOk2vDVo0VYdnsPQb1jSNvZcCH1jSd2c+p1XAmFqEOmOPEfaH+BQd1ueo211IzrgFUYKNAAqI1WztCpUqVCRUqVKgFSpUqAVKlSoBUqVKgFSpUqAVKlSoBUqVKgFSpUqAVKlSoD/9k="; var c = c || {}, na = { id: 0 | 998 * Math.random(), I4: 0 | 998 * Math.random(), HO: function(a, b, d) { a = a.toString(); var e = a.substring(a.indexOf("(") + 1, a.indexOf(")")), e = e.trim(); for (a = a.substring(a.indexOf("{") + 1, a.lastIndexOf("}")); - 1 != a.indexOf("this._super");) { var f = a.indexOf("this._super"), g = a.indexOf("(", f), h = a.substring(g + 1, a.indexOf(")", g)), h = h.trim(); a = a.substring(0, f) + "ClassManager[" + d + "]." + b + ".call(this" + (h ? "," : "") + a.substring(g + 1) } return Function(e, a) }, I3: function() { return this.id++ }, J3: function() { return this.I4++ } }; na.HO.q$ = na; (function() { var a = /\b_super\b/, b = c.Wc.vf[c.Wc.Nh.M1]; b && console.log("release Mode"); c.qa = function() {}; c.qa.extend = function(d) { function e() { this.Ba = na.J3(); this.ctor && this.ctor.apply(this, arguments) } var f = this.prototype, g = Object.create(f), h = na.I3(); na[h] = f; var k = { writable: !0, enumerable: !1, configurable: !0 }; g.Ba = null; e.id = h; k.value = h; Object.defineProperty(g, "__pid", k); e.prototype = g; k.value = e; Object.defineProperty(e.prototype, "constructor", k); this.Wi && (e.Wi = c.k(this.Wi)); this.Xi && (e.Xi = c.k(this.Xi)); for (var m = 0, n = arguments.length; m < n; ++m) { var q = arguments[m], r; for (r in q) { var t = "function" === typeof q[r], s = "function" === typeof f[r], u = a.test(q[r]); b && t && s && u ? (k.value = na.HO(q[r], r, h), Object.defineProperty(g, r, k)) : t && s && u ? (k.value = function(a, b) { return function() { var d = this._super; this._super = f[a]; var e = b.apply(this, arguments); this._super = d; return e } }(r, q[r]), Object.defineProperty(g, r, k)) : t ? (k.value = q[r], Object.defineProperty(g, r, k)) : g[r] = q[r]; if (t) { var v, B; if (this.Wi && this.Wi[r]) { var t = this.Wi[r], x; for (x in this.Xi) if (this.Xi[x] == t) { B = x; break } c.i(g, t, q[r], q[B] ? q[B] : g[B], r, B) } if (this.Xi && this.Xi[r]) { t = this.Xi[r]; for (x in this.Wi) if (this.Wi[x] == t) { v = x; break } c.i(g, t, q[v] ? q[v] : g[v], q[r], v, r) } } } } e.extend = c.qa.extend; e.Qha = function(a) { for (var b in a) g[b] = a[b] }; return e }; Function.prototype.bind = Function.prototype.bind || function(a) { var b = this; return function() { var f = Array.prototype.slice.call(arguments); return b.apply(a || null, f) } } })(); c.i = function(a, b, d, e, f, g) { if (a.__defineGetter__) d && a.__defineGetter__(b, d), e && a.__defineSetter__(b, e); else if (Object.defineProperty) { var h = { enumerable: !1, configurable: !0 }; d && (h.get = d); e && (h.set = e); Object.defineProperty(a, b, h) } else throw Error("browser does not support getters"); if (!f && !g) for (var h = null != d, k = void 0 != e, m = Object.getOwnPropertyNames(a), n = 0; n < m.length; n++) { var q = m[n]; if ((a.__lookupGetter__ ? !a.__lookupGetter__(q) : !Object.getOwnPropertyDescriptor(a, q)) && "function" === typeof a[q]) { var r = a[q]; if (h && r === d && (f = q, !k || g)) break; if (k && r === e && (g = q, !h || f)) break } } a = a.constructor; f && (a.Wi || (a.Wi = {}), a.Wi[f] = b); g && (a.Xi || (a.Xi = {}), a.Xi[g] = b) }; c.k = function(a) { var b = a.constructor ? new a.constructor : {}, d; for (d in a) { var e = a[d]; b[d] = "object" != typeof e || !e || e instanceof c.t || e instanceof HTMLElement ? e : c.k(e) } return b }; c = c || {}; c.H = c.H || {}; c.Nca = function() {}; c.$r = { vO: 8, N8: 9, gP: 13, shift: 16, tda: 17, alt: 18, pause: 19, Yca: 20, escape: 27, tla: 33, sla: 34, end: 35, home: 36, left: 37, Apa: 38, right: 39, Nda: 40, Nu: 45, E$: 46, 0: 48, 1: 49, 2: 50, 3: 51, 4: 52, 5: 53, 6: 54, 7: 55, 8: 56, 9: 57, a: 65, b: 66, C: 67, D: 68, Jd: 69, wf: 70, g: 71, Fq: 72, Bi: 73, Cz: 74, Dz: 75, Ej: 76, Mk: 77, ha: 78, Uz: 79, d: 80, gA: 81, r: 82, eI: 83, jg: 84, da: 85, G: 86, l: 87, x: 88, y: 89, z: 90, Jka: 96, Kka: 97, Lka: 98, Mka: 99, Nka: 100, Oka: 101, Pka: 102, Qka: 103, Rka: 104, Ska: 105, "*": 106, "+": 107, "-": 109, numdel: 110, "/": 111, xea: 112, Bea: 113, Cea: 114, Dea: 115, Eea: 116, Fea: 117, Gea: 118, Hea: 119, Iea: 120, yea: 121, zea: 122, Aea: 123, Vka: 144, Gma: 145, Ima: 186, ",": 186, vea: 187, "=": 187, ";": 188, nda: 188, uda: 189, ".": 190, zla: 190, Uea: 191, Mha: 192, "[": 219, cla: 219, "]": 221, jda: 221, Oca: 220, quote: 222, Ec: 32 }; c.J$ = 0; c.iB = 1; c.lJ = 2; c.K$ = 3; c.L$ = 4; c.dU = 5; c.w3 = function(a) { return 8 < a.length && 137 == a[0] && 80 == a[1] && 78 == a[2] && 71 == a[3] && 13 == a[4] && 10 == a[5] && 26 == a[6] && 10 == a[7] ? c.iB : 2 < a.length && (73 == a[0] && 73 == a[1] || 77 == a[0] && 77 == a[1] || 255 == a[0] && 216 == a[1]) ? c.lJ : c.dU }; c.Rha = function(a, b) { function d() {} d.prototype = b.prototype; a.HA = b.prototype; a.prototype = new d; a.prototype.constructor = a }; c.Pca = function(a, b, d) { var e = arguments.callee.caller; if (e.HA) return ret = e.HA.constructor.apply(a, Array.prototype.slice.call(arguments, 1)); for (var f = Array.prototype.slice.call(arguments, 2), g = !1, h = a.constructor; h; h = h.HA && h.HA.constructor) if (h.prototype[b] === e) g = !0; else if (g) return h.prototype[b].apply(a, f); if (a[b] === e) return a.constructor.prototype[b].apply(a, f); throw Error("cc.base called from a method of one name to a method of a different name"); }; c.Baa = function(a, b) { this.x = a || 0; this.y = b || 0 }; c.d = function(a, b) { return void 0 == a ? { x: 0, y: 0 } : void 0 == b ? { x: a.x, y: a.y } : { x: a, y: b } }; c.VH = function(a, b) { return a && b && a.x === b.x && a.y === b.y }; c.Laa = function(a, b) { this.width = a || 0; this.height = b || 0 }; c.size = function(a, b) { return void 0 === a ? { width: 0, height: 0 } : void 0 === b ? { width: a.width, height: a.height } : { width: a, height: b } }; c.Soa = function(a, b) { return a && b && a.width == b.width && a.height == b.height }; c.VJ = function(a, b, d, e) { this.x = a || 0; this.y = b || 0; this.width = d || 0; this.height = e || 0 }; c.rect = function(a, b, d, e) { return void 0 === a ? { x: 0, y: 0, width: 0, height: 0 } : void 0 === b ? { x: a.x, y: a.y, width: a.width, height: a.height } : { x: a, y: b, width: d, height: e } }; c.nR = function(a, b) { return a && b && a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height }; c.dy = function(a) { return a && 0 === a.x && 0 === a.y && 0 === a.width && 0 === a.height }; c.Tla = function(a, b) { return a && b ? !(a.x >= b.x || a.y >= b.y || a.x + a.width <= b.x + b.width || a.y + a.height <= b.y + b.height) : !1 }; c.qv = function(a) { return a.x + a.width }; c.Ula = function(a) { return a.x + a.width / 2 }; c.Zq = function(a) { return a.x }; c.rv = function(a) { return a.y + a.height }; c.Vla = function(a) { return a.y + a.height / 2 }; c.$q = function(a) { return a.y }; c.Rg = function(a, b) { return b.x >= c.Zq(a) && b.x <= c.qv(a) && b.y >= c.$q(a) && b.y <= c.rv(a) }; c.F6 = function(a, b) { var d = a.y + a.height, e = b.x + b.width, f = b.y + b.height; return !(a.x + a.width < b.x || e < a.x || d < b.y || f < a.y) }; c.Xla = function(a, b) { return !(a.x + a.width < b.x || b.x + b.width < a.x || a.y + a.height < b.y || b.y + b.height < a.y) }; c.jA = function(a, b) { var d = c.rect(0, 0, 0, 0); d.x = Math.min(a.x, b.x); d.y = Math.min(a.y, b.y); d.width = Math.max(a.x + a.width, b.x + b.width) - d.x; d.height = Math.max(a.y + a.height, b.y + b.height) - d.y; return d }; c.Wla = function(a, b) { var d = c.rect(Math.max(c.Zq(a), c.Zq(b)), Math.max(c.$q(a), c.$q(b)), 0, 0); d.width = Math.min(c.qv(a), c.qv(b)) - c.Zq(d); d.height = Math.min(c.rv(a), c.rv(b)) - c.$q(d); return d }; c.ww = c.qa.extend({ dN: null, ZD: null, ctor: function() { window.DOMParser ? (this.ZD = !0, this.dN = new DOMParser) : this.ZD = !1 }, parse: function(a) { return this.sE(a) }, sE: function(a) { var b; this.ZD ? b = this.dN.parseFromString(a, "text/xml") : (b = new ActiveXObject("Microsoft.XMLDOM"), b.async = "false", b.loadXML(a)); return b } }); c.zV = c.ww.extend({ parse: function(a) { a = this.sE(a).documentElement; if ("plist" != a.tagName) throw "Not a plist file!"; for (var b = null, d = 0, e = a.childNodes.length; d < e && (b = a.childNodes[d], 1 != b.nodeType); d++); return this.rE(b) }, rE: function(a) { var b = null, d = a.tagName; if ("dict" == d) b = this.r_(a); else if ("array" == d) b = this.q_(a); else if ("string" == d) if (1 == a.childNodes.length) b = a.firstChild.nodeValue; else for (b = "", d = 0; d < a.childNodes.length; d++) b += a.childNodes[d].nodeValue; else "false" == d ? b = !1 : "true" == d ? b = !0 : "real" == d ? b = parseFloat(a.firstChild.nodeValue) : "integer" == d && (b = parseInt(a.firstChild.nodeValue, 10)); return b }, q_: function(a) { for (var b = [], d = 0, e = a.childNodes.length; d < e; d++) { var f = a.childNodes[d]; 1 == f.nodeType && b.push(this.rE(f)) } return b }, r_: function(a) { for (var b = {}, d = null, e = 0, f = a.childNodes.length; e < f; e++) { var g = a.childNodes[e]; 1 == g.nodeType && ("key" == g.tagName ? d = g.firstChild.nodeValue : b[d] = this.rE(g)) } return b } }); c.$N = { load: function(a, b, d, e) { c.X.Pz(a, e) } }; c.X.Tk(["txt", "xml", "vsh", "fsh", "atlas"], c.$N); c.SZ = { load: function(a, b, d, e) { c.X.MQ(a, e) } }; c.X.Tk(["json", "ExportJson"], c.SZ); c.zZ = { load: function(a, b, d, e) { c.X.Ig[b] = c.X.Qq(a, function(a, d) { if (a) return e(a); c.Ka.$b(b); e(null, d) }) } }; c.X.Tk("png jpg bmp jpeg gif ico".split(" "), c.zZ); c.N_ = { load: function(a, b, d, e) { c.X.Ig[b] = c.X.Qq(d.src, function(a, d) { if (a) return e(a); c.Ka.$b(b); e(null, d) }) } }; c.X.Tk(["serverImg"], c.N_); c.w_ = { load: function(a, b, d, e) { c.X.Pz(a, function(a, b) { if (a) return e(a); e(null, c.n6.parse(b)) }) } }; c.X.Tk(["plist"], c.w_); c.LY = { LW: { ".eot": "embedded-opentype", ".ttf": "truetype", ".woff": "woff", ".svg": "svg" }, SM: function(a, b, d) { var e = document, f = c.path, g = this.LW, h = c.ac("style"); h.type = "text/css"; e.body.appendChild(h); var k = "@font-face { font-family:" + a + "; src:"; if (b instanceof Array) for (var m = 0, n = b.length; m < n; m++) d = f.jm(b[m]).toLowerCase(), k += "url('" + b[m] + "') format('" + g[d] + "')", k += m == n - 1 ? ";" : ","; else k += "url('" + b + "') format('" + g[d] + "');"; h.textContent += k + "};"; b = c.ac("div"); d = b.style; d.fontFamily = a; b.innerHTML = "."; d.position = "absolute"; d.left = "-100px"; d.top = "-100px"; e.body.appendChild(b) }, load: function(a, b, d, e) { b = d.type; a = d.name; b = d.Yoa; "string" == typeof d ? (b = c.path.jm(d), a = c.path.E1(d, b), this.SM(a, d, b)) : this.SM(a, b); e(null, !0) } }; c.X.Tk(["font", "eot", "ttf", "woff", "svg"], c.LY); c.Cba = { load: function(a, b, d, e) { c.X.C5(a, e) } }; window.CocosEngine = c.fB = "Cocos2d-html5 v3.0 RC0"; c.Do = 0; c.aB = c.d(0, 0); c.FT = 0.5; c.p$ = 1; c.ZB = 1; c.gV = 0; c.eK = 0; c.bC = 0; c.Saa = 0; c.Daa = 1; c.Caa = "-hd"; c.zX = 1; c.hl = 0; c.Haa = 0; c.DU = 0; c.CU = 0; c.qB = 1; c.u$ = c.fB + "-canvas"; c.Sv = 1; c.Qh = 1; c.Fb = function(a) { var b = this == c ? document : this; if (a = a instanceof HTMLElement ? a : b.querySelector(a)) a.find = a.find || c.Fb, a.kH = a.kH || function(a) { return this.className.match(RegExp("(\\s|^)" + a + "(\\s|$)")) }, a.mO = a.mO || function(a) { this.kH(a) || (this.className && (this.className += " "), this.className += a); return this }, a.M6 = a.M6 || function(a) { this.kH(a) && (this.className = this.className.replace(a, "")); return this }, a.remove = a.remove || function() { this.parentNode && this.parentNode.removeChild(this); return this }, a.qO = a.qO || function(a) { a.appendChild(this); return this }, a.t6 = a.t6 || function(a) { a.childNodes[0] ? a.insertBefore(this, a.childNodes[0]) : a.appendChild(this); return this }, a.Iv = a.Iv || function() { this.style[c.Fb.W8] = c.Fb.translate(this.position) + c.Fb.rotate(this.rotation) + c.Fb.scale(this.scale) + c.Fb.gr(this.gr); return this }, a.position = a.position || { x: 0, y: 0 }, a.rotation = a.rotation || 0, a.scale = a.scale || { x: 1, y: 1 }, a.gr = a.gr || { x: 0, y: 0 }, a.CS = function(a, b) { this.position.x = a; this.position.y = b; this.Iv() }, a.rotate = function(a) { this.rotation = a; this.Iv(); return this }, a.resize = function(a, b) { this.scale.x = a; this.scale.y = b; this.Iv(); return this }, a.hoa = function(a, b) { this.gr.x = a; this.gr.y = b; this.Iv(); return this }; return a }; switch (c.Yb.In) { case c.Yb.Ar: c.Fb.mv = "Moz"; c.Fb.Gq = !0; break; case c.Yb.TA: case c.Yb.WA: c.Fb.mv = "webkit"; c.Fb.Gq = !0; break; case c.Yb.VA: c.Fb.mv = "O"; c.Fb.Gq = !1; break; case c.Yb.UA: c.Fb.mv = "ms"; c.Fb.Gq = !1; break; default: c.Fb.mv = "webkit", c.Fb.Gq = !0 } c.Fb.W8 = c.Fb.mv + "Transform"; c.Fb.translate = c.Fb.Gq ? function(a) { return "translate3d(" + a.x + "px, " + a.y + "px, 0) " } : function(a) { return "translate(" + a.x + "px, " + a.y + "px) " }; c.Fb.rotate = c.Fb.Gq ? function(a) { return "rotateZ(" + a + "deg) " } : function(a) { return "rotate(" + a + "deg) " }; c.Fb.scale = function(a) { return "scale(" + a.x + ", " + a.y + ") " }; c.Fb.gr = function(a) { return "skewX(" + -a.x + "deg) skewY(" + a.y + "deg)" }; c.XS = function() { return c.Fb(document.createElement("input")) }; c.Fb.Oea = function(a) { var b = 0, d = 0; do b += a.offsetLeft, d += a.offsetTop; while (a = a.offsetParent); return { x: b, y: d } }; c.V$ = -1; c.PI = Math.PI; c.cU = parseFloat("3.402823466e+38F"); c.I$ = parseFloat("1.175494351e-38F"); c.BV = c.PI / 180; c.fJ = 180 / c.PI; c.sC = 4294967295; c.uS = function(a, b, d) { if ("object" == typeof d && "undefined" != typeof d.x && "undefined" != typeof d.y) { var e = d[a]; d[a] = d[b]; d[b] = e } else c.log(c.f.uS) }; c.KQ = function(a, b, d) { return a + (b - a) * d }; c.Mb = function() { return 16777215 * Math.random() }; c.B6 = function() { return 2 * (Math.random() - 0.5) }; c.Lla = Math.random; c.ag = function(a) { return a * c.BV }; c.Yq = function(a) { return a * c.fJ }; c.jR = function(a) { c.log(c.f.jR); return a * c.fJ }; c.js = Number.MAX_VALUE - 1; c.vc = c.gV ? 1 : 770; c.uc = 771; c.av = function(a) { a.Sb && (a.Sb.$c(), a.Sb.Ef()) }; c.tea = function() {}; c.Cda = function() {}; c.Ng = function() { c.Lg += 1 }; c.lw = 1.192092896E-7; c.wb = c.qB ? function() { return c.L.Uh } : function() { return 1 }; c.o6 = function(a) { var b = c.wb(); return c.d(a.x * b, a.y * b) }; c.WH = function(a) { var b = c.wb(); return c.d(a.x / b, a.y / b) }; c.wE = function(a, b) { var d = c.wb(); b.x = a.x / d; b.y = a.y / d }; c.t8 = function(a) { var b = c.wb(); return c.size(a.width * b, a.height * b) }; c.jS = function(a) { var b = c.wb(); return c.size(a.width / b, a.height / b) }; c.RN = function(a, b) { var d = c.wb(); b.width = a.width / d; b.height = a.height / d }; c.Sk = c.qB ? function(a) { var b = c.wb(); return c.rect(a.x / b, a.y / b, a.width / b, a.height / b) } : function(a) { return a }; c.sv = c.qB ? function(a) { var b = c.wb(); return c.rect(a.x * b, a.y * b, a.width * b, a.height * b) } : function(a) { return a }; c.ONE = 1; c.ZERO = 0; c.SRC_ALPHA = 770; c.SRC_ALPHA_SATURATE = 776; c.SRC_COLOR = 768; c.DST_ALPHA = 772; c.DST_COLOR = 774; c.ONE_MINUS_SRC_ALPHA = 771; c.ONE_MINUS_SRC_COLOR = 769; c.ONE_MINUS_DST_ALPHA = 773; c.ONE_MINUS_DST_COLOR = 775; c.ONE_MINUS_CONSTANT_ALPHA = 32772; c.ONE_MINUS_CONSTANT_COLOR = 32770; c.mq = function() { if (c.lA == c.ea) { var a = c.m.getError(); a && c.log(CC.Jb.mq, a) } }; c.y$ = 0; c.w$ = 1; c.z$ = 2; c.x$ = 3; c.v$ = 2; c.rba = 0; c.ke = 1; c.Hw = 2; c.Ro = 4; c.Sm = c.ke | c.Hw | c.Ro; c.N$ = 0; c.Ab = 0; c.ef = 1; c.Sd = 2; c.sba = 3; c.vC = 0; c.uC = 1; c.Es = 2; c.zC = 3; c.yC = 4; c.tC = 5; c.wC = 6; c.xC = 7; c.oba = 8; c.Zj = "ShaderPositionTextureColor"; c.yw = "ShaderPositionTextureColorAlphaTest"; c.xw = "ShaderPositionColor"; c.ns = "ShaderPositionTexture"; c.XB = "ShaderPositionTexture_uColor"; c.WB = "ShaderPositionTextureA8Color"; c.YB = "ShaderPosition_uColor"; c.ZJ = "ShaderPositionLengthTextureColor"; c.tX = "CC_PMatrix"; c.rX = "CC_MVMatrix"; c.sX = "CC_MVPMatrix"; c.xX = "CC_Time"; c.wX = "CC_SinTime"; c.qX = "CC_CosTime"; c.uX = "CC_Random01"; c.vX = "CC_Texture0"; c.SK = "CC_alpha_value"; c.wr = "a_color"; c.Cm = "a_position"; c.Ao = "a_texCoord"; c.pU = 32; c.aJ = 3233828865; c.Iw = 3233828866; c.MU = 8801; c.CV = 8802; c.GT = 8803; c = c || {}; c.H = c.H || {}; c.H.DC = function() { c.color = function(a, d, e, f, g, h) { return void 0 === a ? new oa(0, 0, 0, 255, g, h) : "string" === typeof a ? (a = c.aQ(a), new oa(a.r, a.g, a.b, a.a)) : "object" === typeof a ? new oa(a.r, a.g, a.b, a.a, a.Ly, a.offset) : new oa(a, d, e, f, g, h) }; oa = function(a, d, e, f, g, h) { this.nd = g || new ArrayBuffer(oa.BYTES_PER_ELEMENT); this.oa = h || 0; g = this.nd; h = this.oa; var k = Uint8Array.BYTES_PER_ELEMENT; this.KE = new Uint8Array(g, h, 1); this.CD = new Uint8Array(g, h + k, 1); this.TC = new Uint8Array(g, h + 2 * k, 1); this.MC = new Uint8Array(g, h + 3 * k, 1); this.KE[0] = a || 0; this.CD[0] = d || 0; this.TC[0] = e || 0; this.MC[0] = f || 255; void 0 === f && (this.mu = !0) }; oa.BYTES_PER_ELEMENT = 4; var a = oa.prototype; a.mZ = function() { return this.KE[0] }; a.c0 = function(a) { this.KE[0] = 0 > a ? 0 : a }; a.bZ = function() { return this.CD[0] }; a.Y_ = function(a) { this.CD[0] = 0 > a ? 0 : a }; a.UY = function() { return this.TC[0] }; a.P_ = function(a) { this.TC[0] = 0 > a ? 0 : a }; a.QY = function() { return this.MC[0] }; a.O_ = function(a) { this.MC[0] = 0 > a ? 0 : a }; c.i(a, "r", a.mZ, a.c0); c.i(a, "g", a.bZ, a.Y_); c.i(a, "b", a.UY, a.P_); c.i(a, "a", a.QY, a.O_); c.Sc = function(a, d, e, f) { this.nd = e || new ArrayBuffer(c.Sc.BYTES_PER_ELEMENT); this.oa = f || 0; this.Dn = new Float32Array(this.nd, this.oa, 1); this.En = new Float32Array(this.nd, this.oa + 4, 1); this.Dn[0] = a || 0; this.En[0] = d || 0 }; c.Sc.BYTES_PER_ELEMENT = 8; Object.defineProperties(c.Sc.prototype, { x: { get: function() { return this.Dn[0] }, set: function(a) { this.Dn[0] = a }, enumerable: !0 }, y: { get: function() { return this.En[0] }, set: function(a) { this.En[0] = a }, enumerable: !0 } }); c.xc = function(a, d, e, f, g) { this.nd = f || new ArrayBuffer(c.xc.BYTES_PER_ELEMENT); this.oa = g || 0; f = this.nd; g = this.oa; this.Dn = new Float32Array(f, g, 1); this.Dn[0] = a || 0; this.En = new Float32Array(f, g + Float32Array.BYTES_PER_ELEMENT, 1); this.En[0] = d || 0; this.bG = new Float32Array(f, g + 2 * Float32Array.BYTES_PER_ELEMENT, 1); this.bG[0] = e || 0 }; c.xc.BYTES_PER_ELEMENT = 12; Object.defineProperties(c.xc.prototype, { x: { get: function() { return this.Dn[0] }, set: function(a) { this.Dn[0] = a }, enumerable: !0 }, y: { get: function() { return this.En[0] }, set: function(a) { this.En[0] = a }, enumerable: !0 }, z: { get: function() { return this.bG[0] }, set: function(a) { this.bG[0] = a }, enumerable: !0 } }); c.$j = function(a, d, e, f) { this.nd = e || new ArrayBuffer(c.$j.BYTES_PER_ELEMENT); this.oa = f || 0; this.JF = new Float32Array(this.nd, this.oa, 1); this.PF = new Float32Array(this.nd, this.oa + 4, 1); this.JF[0] = a || 0; this.PF[0] = d || 0 }; c.$j.BYTES_PER_ELEMENT = 8; Object.defineProperties(c.$j.prototype, { da: { get: function() { return this.JF[0] }, set: function(a) { this.JF[0] = a }, enumerable: !0 }, G: { get: function() { return this.PF[0] }, set: function(a) { this.PF[0] = a }, enumerable: !0 } }); c.RB = function(a, d, e, f, g, h) { this.nd = g || new ArrayBuffer(c.RB.BYTES_PER_ELEMENT); this.oa = h || 0; g = this.nd; h = c.Sc.BYTES_PER_ELEMENT; this.Yp = a ? new c.Sc(a.x, a.y, g, 0) : new c.Sc(0, 0, g, 0); this.aq = d ? new c.Sc(d.x, d.y, g, h) : new c.Sc(0, 0, g, h); this.Wo = e ? new c.Sc(e.x, e.y, g, 2 * h) : new c.Sc(0, 0, g, 2 * h); this.$o = f ? new c.Sc(f.x, f.y, g, 3 * h) : new c.Sc(0, 0, g, 3 * h) }; c.RB.BYTES_PER_ELEMENT = 32; c.uw = function(a, d, e, f) { this.I = a || new c.xc(0, 0, 0); this.R = d || new c.xc(0, 0, 0); this.Q = e || new c.xc(0, 0, 0); this.N = f || new c.xc(0, 0, 0) }; Object.defineProperties(c.RB.prototype, { Q: { get: function() { return this.Yp }, set: function(a) { this.Yp.x = a.x; this.Yp.y = a.y }, enumerable: !0 }, N: { get: function() { return this.aq }, set: function(a) { this.aq.x = a.x; this.aq.y = a.y }, enumerable: !0 }, I: { get: function() { return this.Wo }, set: function(a) { this.Wo.x = a.x; this.Wo.y = a.y }, enumerable: !0 }, R: { get: function() { return this.$o }, set: function(a) { this.$o.x = a.x; this.$o.y = a.y }, enumerable: !0 } }); c.kh = function(a, d, e, f, g) { this.nd = f || new ArrayBuffer(c.kh.BYTES_PER_ELEMENT); this.oa = g || 0; f = this.nd; g = this.oa; var h = c.xc.BYTES_PER_ELEMENT; this.Ya = a ? new c.xc(a.x, a.y, a.z, f, g) : new c.xc(0, 0, 0, f, g); this.Ts = d ? c.color(d.r, d.g, d.b, d.a, f, g + h) : c.color(0, 0, 0, 0, f, g + h); this.Fg = e ? new c.$j(e.da, e.G, f, g + h + oa.BYTES_PER_ELEMENT) : new c.$j(0, 0, f, g + h + oa.BYTES_PER_ELEMENT) }; c.kh.BYTES_PER_ELEMENT = 24; Object.defineProperties(c.kh.prototype, { j: { get: function() { return this.Ya }, set: function(a) { var d = this.Ya; d.x = a.x; d.y = a.y; d.z = a.z }, enumerable: !0 }, v: { get: function() { return this.Ts }, set: function(a) { var d = this.Ts; d.r = a.r; d.g = a.g; d.b = a.b; d.a = a.a }, enumerable: !0 }, n: { get: function() { return this.Fg }, set: function(a) { this.Fg.da = a.da; this.Fg.G = a.G }, enumerable: !0 } }); c.Nb = function(a, d, e, f, g, h) { this.nd = g || new ArrayBuffer(c.Nb.BYTES_PER_ELEMENT); this.oa = h || 0; g = this.nd; h = this.oa; var k = c.kh.BYTES_PER_ELEMENT; this.Yp = a ? new c.kh(a.j, a.v, a.n, g, h) : new c.kh(null, null, null, g, h); this.Wo = d ? new c.kh(d.j, d.v, d.n, g, h + k) : new c.kh(null, null, null, g, h + k); this.aq = e ? new c.kh(e.j, e.v, e.n, g, h + 2 * k) : new c.kh(null, null, null, g, h + 2 * k); this.$o = f ? new c.kh(f.j, f.v, f.n, g, h + 3 * k) : new c.kh(null, null, null, g, h + 3 * k) }; c.Nb.BYTES_PER_ELEMENT = 96; Object.defineProperties(c.Nb.prototype, { Q: { get: function() { return this.Yp }, set: function(a) { var d = this.Yp; d.j = a.j; d.v = a.v; d.n = a.n }, enumerable: !0 }, I: { get: function() { return this.Wo }, set: function(a) { var d = this.Wo; d.j = a.j; d.v = a.v; d.n = a.n }, enumerable: !0 }, N: { get: function() { return this.aq }, set: function(a) { var d = this.aq; d.j = a.j; d.v = a.v; d.n = a.n }, enumerable: !0 }, R: { get: function() { return this.$o }, set: function(a) { var d = this.$o; d.j = a.j; d.v = a.v; d.n = a.n }, enumerable: !0 }, Ly: { get: function() { return this.nd }, enumerable: !0 } }); c.UK = function() { return new c.Nb }; c.TK = function(a) { if (!a) return c.UK(); var d = a.Q, e = a.I, f = a.N; a = a.R; return { Q: { j: { x: d.j.x, y: d.j.y, z: d.j.z }, v: { r: d.v.r, g: d.v.g, b: d.v.b, a: d.v.a }, n: { da: d.n.da, G: d.n.G } }, I: { j: { x: e.j.x, y: e.j.y, z: e.j.z }, v: { r: e.v.r, g: e.v.g, b: e.v.b, a: e.v.a }, n: { da: e.n.da, G: e.n.G } }, N: { j: { x: f.j.x, y: f.j.y, z: f.j.z }, v: { r: f.v.r, g: f.v.g, b: f.v.b, a: f.v.a }, n: { da: f.n.da, G: f.n.G } }, R: { j: { x: a.j.x, y: a.j.y, z: a.j.z }, v: { r: a.v.r, g: a.v.g, b: a.v.b, a: a.v.a }, n: { da: a.n.da, G: a.n.G } } } }; c.qba = function(a) { if (!a) return []; for (var d = [], e = 0; e < a.length; e++) d.push(c.TK(a[e])); return d }; c.Rd = function(a, d, e, f, g) { this.nd = f || new ArrayBuffer(c.Rd.BYTES_PER_ELEMENT); this.oa = g || 0; f = this.nd; g = this.oa; var h = c.Sc.BYTES_PER_ELEMENT; this.Ya = a ? new c.Sc(a.x, a.y, f, g) : new c.Sc(0, 0, f, g); this.Ts = d ? c.color(d.r, d.g, d.b, d.a, f, g + h) : c.color(0, 0, 0, 0, f, g + h); this.Fg = e ? new c.$j(e.da, e.G, f, g + h + oa.BYTES_PER_ELEMENT) : new c.$j(0, 0, f, g + h + oa.BYTES_PER_ELEMENT) }; c.Rd.BYTES_PER_ELEMENT = 20; Object.defineProperties(c.Rd.prototype, { j: { get: function() { return this.Ya }, set: function(a) { this.Ya.x = a.x; this.Ya.y = a.y }, enumerable: !0 }, v: { get: function() { return this.Ts }, set: function(a) { var d = this.Ts; d.r = a.r; d.g = a.g; d.b = a.b; d.a = a.a }, enumerable: !0 }, n: { get: function() { return this.Fg }, set: function(a) { this.Fg.da = a.da; this.Fg.G = a.G }, enumerable: !0 } }); c.lc = function(a, d, e, f, g) { this.nd = f || new ArrayBuffer(c.lc.BYTES_PER_ELEMENT); this.oa = g || 0; f = this.nd; g = this.oa; var h = c.Rd.BYTES_PER_ELEMENT; this.cL = a ? new c.Rd(a.j, a.v, a.n, f, g) : new c.Rd(null, null, null, f, g); this.kL = d ? new c.Rd(d.j, d.v, d.n, f, g + h) : new c.Rd(null, null, null, f, g + h); this.oL = e ? new c.Rd(e.j, e.v, e.n, f, g + 2 * h) : new c.Rd(null, null, null, f, g + 2 * h) }; c.lc.BYTES_PER_ELEMENT = 60; Object.defineProperties(c.lc.prototype, { a: { get: function() { return this.cL }, set: function(a) { var d = this.cL; d.j = a.j; d.v = a.v; d.n = a.n }, enumerable: !0 }, b: { get: function() { return this.kL }, set: function(a) { var d = this.kL; d.j = a.j; d.v = a.v; d.n = a.n }, enumerable: !0 }, C: { get: function() { return this.oL }, set: function(a) { var d = this.oL; d.j = a.j; d.v = a.v; d.n = a.n }, enumerable: !0 } }) }; c.H.JB = function() { var a = c.color; a.xZ = function() { return a(255, 255, 255) }; a.yZ = function() { return a(255, 255, 0) }; a.WY = function() { return a(0, 0, 255) }; a.dZ = function() { return a(0, 255, 0) }; a.nZ = function() { return a(255, 0, 0) }; a.iZ = function() { return a(255, 0, 255) }; a.VY = function() { return a(0, 0, 0) }; a.lZ = function() { return a(255, 127, 0) }; a.cZ = function() { return a(166, 166, 166) }; c.i(a, "WHITE", a.xZ); c.i(a, "YELLOW", a.yZ); c.i(a, "BLUE", a.WY); c.i(a, "GREEN", a.dZ); c.i(a, "RED", a.nZ); c.i(a, "MAGENTA", a.iZ); c.i(a, "BLACK", a.VY); c.i(a, "ORANGE", a.lZ); c.i(a, "GRAY", a.cZ) }; function oa(a, b, d, e) { this.r = a || 0; this.g = b || 0; this.b = d || 0; this.a = e || 255 } c.color = function(a, b, d, e) { return void 0 === a ? { r: 0, g: 0, b: 0, a: 255 } : "string" === typeof a ? c.aQ(a) : "object" === typeof a ? { r: a.r, g: a.g, b: a.b, a: a.a || 255 } : { r: a, g: b, b: d, a: e || 255 } }; c.lda = function(a, b) { return a.r === b.r && a.g === b.g && a.b === b.b }; c.YS = function() { this.timestamp = this.z = this.y = this.x = 0 }; c.Sc = function(a, b) { this.x = a || 0; this.y = b || 0 }; c.QA = function(a, b) { return new c.Sc(a, b) }; c.xc = function(a, b, d) { this.x = a || 0; this.y = b || 0; this.z = d || 0 }; c.Kpa = function(a, b, d) { return new c.xc(a, b, d) }; c.$j = function(a, b) { this.da = a || 0; this.G = b || 0 }; c.lpa = function(a, b) { return new c.$j(a, b) }; c.cl = function(a, b) { this.src = a; this.W = b }; c.Tca = function() { return new c.cl(c.ONE, c.ZERO) }; c.aQ = function(a) { a = a.replace(/^#?/, "0x"); a = parseInt(a); return c.color(a >> 16, (a >> 8) % 256, a % 256) }; c.mda = function(a) { var b = a.r.toString(16), d = a.g.toString(16), e = a.b.toString(16); return "#" + (16 > a.r ? "0" + b : b) + (16 > a.g ? "0" + d : d) + (16 > a.b ? "0" + e : e) }; c.ss = 0; c.Pm = 1; c.hK = 2; c.Fs = 0; c.AX = 1; c.VK = 2; c.wba = c.qa.extend({ Jp: null, gu: null, LC: 0, ctor: function() { this.Jp = {}; this.gu = {}; this.LC = 2 << (0 | 10 * Math.random()) }, MX: function() { this.LC++; return "key_" + this.LC }, Mna: function(a, b) { if (null != b) { var d = this.MX(); this.Jp[d] = b; this.gu[d] = a } }, S5: function(a) { if (null == a) return null; var b = this.Jp, d; for (d in b) if (b[d] === a) return this.gu[d]; return null }, Jpa: function(a) { return this.S5(a) }, P6: function(a) { if (null != a) { var b = this.Jp, d; for (d in b) if (b[d] === a) { delete this.gu[d]; delete b[d]; break } } }, kma: function(a) { if (null != a) for (var b = 0; b < a.length; b++) this.P6(a[b]) }, l1: function() { var a = [], b = this.Jp, d; for (d in b) a.push(b[d]); return a }, ema: function() { this.Jp = {}; this.gu = {} }, count: function() { return this.l1().length } }); c.nJ = function() { this.fontName = "Arial"; this.fontSize = 12; this.textAlign = c.Pm; this.verticalAlign = c.Fs; this.fillStyle = c.color(255, 255, 255, 255); this.boundingHeight = this.boundingWidth = 0; this.HI = !1; this.strokeStyle = c.color(255, 255, 255, 255); this.lineWidth = 1; this.iS = !1; this.shadowBlur = this.shadowOffsetY = this.shadowOffsetX = 0; this.shadowOpacity = 1 }; c.F === c.ea && (c.assert("function" === typeof c.H.DC, c.f.cd, "CCTypesWebGL.js"), c.H.DC(), delete c.H.DC); c.assert("function" === typeof c.H.JB, c.f.cd, "CCTypesPropertyDefine.js"); c.H.JB(); delete c.H.JB; c.kba = []; c.lba = {}; c.dB = c.qa.extend({ Gba: null, He: null, lp: null, Ol: null, Qe: null, tj: null, RE: !1, SC: !0, Ym: 1, WF: "", OE: null, ma: 1, $M: 1, Na: 1, aN: 1, Bp: 0, iE: 5, gi: null, yN: null, CN: null, BN: null, zN: null, AN: null, pt: !1, Dba: !1, nca: null, zM: null, AM: null, ica: !1, iD: null, Il: null, BD: 1, Nw: !1, GM: !0, ctor: function() { var a = document, b = c.dl, d = c.fh; this.Il = c.Mn.parentNode === a.body ? a.documentElement : c.Mn.parentNode; this.He = c.size(0, 0); this.RD(); var a = c.eb.width, e = c.eb.height; this.lp = c.size(a, e); this.Ol = c.size(a, e); this.Qe = c.rect(0, 0, a, e); this.tj = c.rect(0, 0, a, e); this.iD = { left: 0, top: 0 }; this.WF = "Cocos2dHTML5"; a = c.Yb; this.J2(a.PH == a.BJ || a.PH == a.CJ); c.Rj && c.Rj.K(this.tj); this.yN = new c.cf(b.Tv, d.Vv); this.CN = new c.cf(b.vV, d.SHOW_ALL); this.BN = new c.cf(b.Tv, d.zB); this.zN = new c.cf(b.Tv, d.gB); this.AN = new c.cf(b.Tv, d.hB); this.zM = c.eb; this.AM = c.m }, PE: function() { var a = this.Ol.width, b = this.Ol.height; this.OE && (this.RD(), this.OE.call()); 0 < a && this.uA(a, b, this.gi) }, V6: function(a) { a ? this.Nw || (this.Nw = !0, a = this.PE.bind(this), c.Ra(window, "resize", a, !1)) : this.Nw && (this.Nw = !0, a = this.PE.bind(this), window.removeEventListener("resize", a, !1)) }, coa: function(a) { if ("function" == typeof a || null == a) this.OE = a }, RD: function() { var a = this.He; a.width = this.Il.clientWidth; a.height = this.Il.clientHeight }, xba: function() { var a = this.Ol.width, b = this.Ol.height; 0 < a && this.uA(a, b, this.gi) }, v0: function() { if (this.GM) { var a = { "user-scalable": "no", "maximum-scale": "1.0", "initial-scale": "1.0" }, b = document.getElementsByName("viewport"), d; 0 == b.length ? (b = c.ac("meta"), b.name = "viewport", b.content = "", document.head.appendChild(b)) : b = b[0]; if (c.Yb.Aj && c.Yb.In == c.Yb.Ar) b.content = "initial-scale:1"; else { d = b.content; for (var e in a) RegExp(e).test(d) || (d += ("" == d ? "" : ",") + e + "=" + a[e]); b.content = d } } }, IN: function() { var a = c.wb(); this.Na = this.ma = a }, vN: function() { this.ma = this.$M; this.Na = this.aN }, yba: function() {}, G4: function() { this.pt = !0 }, i1: function(a) { this.GM = a }, J2: function(a) { this.RE = a ? !0 : !1 }, mia: function() { return this.RE }, sea: function(a) { this.SC = a ? !0 : !1 }, Yha: function() { return this.SC }, end: function() {}, jia: function() { return null != this.zM && null != this.AM }, qna: function(a) { this.BD = a; c.L.so(c.L.vj()) }, hpa: function() {}, vna: function() {}, bna: function(a, b) { this.iD = { left: a, top: b } }, sfa: function() { return this.iD }, Sfa: function() { return c.size(this.He.width, this.He.height) }, pna: function(a, b) { this.He.width = a; this.He.height = b; this.Il.style.width = a + "px"; this.Il.style.height = b + "px"; this.PE(); c.L.so(c.L.vj()) }, dda: function() {}, Hu: function() { return c.size(this.tj.width, this.tj.height) }, eH: function() { return c.d(this.tj.x, this.tj.y) }, Wca: function() { return !0 }, Qga: function() { return this.gi }, V7: function(a) { if (a instanceof c.cf) this.gi = a; else { var b = c.cf; a === b.Vv && (this.gi = this.yN); a === b.SHOW_ALL && (this.gi = this.CN); a === b.zB && (this.gi = this.BN); a === b.gB && (this.gi = this.zN); a === b.hB && (this.gi = this.AN) } }, uA: function(a, b, d) { if (isNaN(a) || 0 == a || isNaN(b) || 0 == b) c.log(c.f.ST); else { this.V7(d); var e = this.gi; if (e) { e.mo(this); var f = this.He.width, g = this.He.height; c.Yb.Aj && this.v0(this.He.width, this.He.height); this.RD(); if (d != this.gi || a != this.Ol.width || b != this.Ol.height || f != this.He.width || g != this.He.height) this.lp = c.size(a, b), this.Ol = c.size(a, b), a = e.apply(this, this.lp), a.scale && 2 == a.scale.length && (this.ma = a.scale[0], this.Na = a.scale[1]), a.viewport && (a = this.Qe = a.viewport, b = this.tj, b.width = c.eb.width / this.ma, b.height = c.eb.height / this.Na, b.x = -a.x / this.ma, b.y = -a.y / this.Na), a = c.L, c.ja.width = a.V.width = this.tj.width, c.ja.height = a.V.height = this.tj.height, e.lo(this), c.F == c.ea && (a.ip(), a.OR()), this.$M = this.ma, this.aN = this.Na, c.HT && c.HT.aca(), c.Rj && c.Rj.K(this.tj) } else c.log(c.f.TT) } }, SG: function() { return c.size(this.lp.width, this.lp.height) }, q8: function(a, b, d, e) { var f = this.BD, g = this.ma, h = this.Na; c.m.viewport(a * g * f + this.Qe.x * f, b * h * f + this.Qe.y * f, d * g * f, e * h * f) }, eoa: function(a, b, d, e) { var f = this.BD, g = this.ma, h = this.Na; c.m.scissor(a * g * f + this.Qe.x * f, b * h * f + this.Qe.y * f, d * g * f, e * h * f) }, oia: function() { var a = c.m; return a.isEnabled(a.SCISSOR_TEST) }, Vga: function() { var a = c.m, b = this.ma, d = this.Na, a = a.getParameter(a.SCISSOR_BOX); return c.rect((a[0] - this.Qe.x) / b, (a[1] - this.Qe.y) / d, a[2] / b, a[3] / d) }, Poa: function(a) { null != a && 0 < a.length && (this.WF = a) }, Dha: function() { return this.WF }, Eha: function() { return this.Qe }, IP: function() { return this.ma }, JP: function() { return this.Na }, Afa: function() { return this.Ym }, BG: function(a, b, d) { return { x: this.Ym * (a - d.left), y: this.Ym * (d.top + d.height - b) } }, vY: function(a, b) { var d = this.Qe; a.x = (this.Ym * (a.x - b.left) - d.x) / this.ma; a.y = (this.Ym * (b.top + b.height - a.y) - d.y) / this.Na }, fx: function(a) { for (var b = this.Qe, d = this.ma, e = this.Na, f, g, h, k = 0; k < a.length; k++) f = a[k], g = f.Xd, h = f.mj, f.hF((g.x - b.x) / d, (g.y - b.y) / e), f.Op((h.x - b.x) / d, (h.y - b.y) / e) } }); c.dB.HD = function() { this.Gx || (this.Gx = this.Gx || new c.dB, this.Gx.G4()); return this.Gx }; c.dl = c.qa.extend({ mo: function() {}, apply: function() {}, lo: function() {}, lF: function(a, b, d) { var e = a.Il; c.view.SC && c.Yb.Aj && e == document.documentElement && c.screen.C1(e); var e = c.eb, f = c.Mn; f.style.width = e.style.width = b + "px"; f.style.height = e.style.height = d + "px"; f = a.Ym = 1; a.RE && (f = a.Ym = window.devicePixelRatio || 1); e.width = b * f; e.height = d * f; a = document.body; var g; a && (g = a.style) && (g.paddingTop = g.paddingTop || "0px", g.paddingRight = g.paddingRight || "0px", g.paddingBottom = g.paddingBottom || "0px", g.paddingLeft = g.paddingLeft || "0px", g.borderTop = g.borderTop || "0px", g.borderRight = g.borderRight || "0px", g.borderBottom = g.borderBottom || "0px", g.borderLeft = g.borderLeft || "0px", g.marginTop = g.marginTop || "0px", g.marginRight = g.marginRight || "0px", g.marginBottom = g.marginBottom || "0px", g.marginLeft = g.marginLeft || "0px") }, mM: function() { document.body.insertBefore(c.Mn, document.body.firstChild); var a = document.body.style; a.width = window.innerWidth + "px"; a.height = window.innerHeight + "px"; a.overflow = "hidden"; a = c.Mn.style; a.position = "fixed"; a.left = a.top = "0px"; document.body.scrollTop = 0 } }); c.fh = c.qa.extend({ QE: { scale: [1, 1], viewport: null }, Ps: function(a, b, d, e, f, g) { 2 > Math.abs(a - d) && (d = a); 2 > Math.abs(b - e) && (e = b); a = c.rect(Math.round((a - d) / 2), Math.round((b - e) / 2), d, e); c.F == c.Ha && c.m.translate(a.x, a.y + e); this.QE.scale = [f, g]; this.QE.viewport = a; return this.QE }, mo: function() {}, apply: function() { return { scale: [1, 1] } }, lo: function() {} }); (function() { var a = c.dl.extend({ apply: function(a) { this.lF(a, a.He.width, a.He.height) } }), b = c.dl.extend({ apply: function(a, b) { var d = a.He.width, e = a.He.height, f = c.Mn.style, q = b.width, r = b.height, t = d / q, s = e / r, u, v; t < s ? (u = d, v = r * t) : (u = q * s, v = e); q = Math.round((d - u) / 2); v = Math.round((e - v) / 2); this.lF(a, d - 2 * q, e - 2 * v); f.marginLeft = q + "px"; f.marginRight = q + "px"; f.marginTop = v + "px"; f.marginBottom = v + "px" } }); a.extend({ mo: function(a) { this._super(a); a.Il = document.documentElement }, apply: function(a) { this._super(a); this.mM() } }); b.extend({ mo: function(a) { this._super(a); a.Il = document.documentElement }, apply: function(a, b) { this._super(a, b); this.mM() } }); var d = c.dl.extend({ apply: function(a) { this.lF(a, c.eb.width, c.eb.height) } }); c.dl.Tv = new a; c.dl.vV = new b; c.dl.xaa = new d; var a = c.fh.extend({ apply: function(a, b) { var d = c.eb.width, e = c.eb.height; return this.Ps(d, e, d, e, d / b.width, e / b.height) } }), b = c.fh.extend({ apply: function(a, b) { var d = c.eb.width, e = c.eb.height, f = b.width, q = b.height, r = d / f, t = e / q, s = 0, u, v; r < t ? (s = r, u = d, v = q * s) : (s = t, u = f * s, v = e); return this.Ps(d, e, u, v, s, s) } }), d = c.fh.extend({ apply: function(a, b) { var d = c.eb.width, e = c.eb.height, f = b.width, q = b.height, r = d / f, t = e / q, s, u, v; r < t ? (s = t, u = f * s, v = e) : (s = r, u = d, v = q * s); return this.Ps(d, e, u, v, s, s) } }), e = c.fh.extend({ apply: function(a, b) { var d = c.eb.width, e = c.eb.height, f = e / b.height; return this.Ps(d, e, d, e, f, f) }, lo: function(a) { c.L.V = a.Hu() } }), f = c.fh.extend({ apply: function(a, b) { var d = c.eb.width, e = c.eb.height, f = d / b.width; return this.Ps(d, e, d, e, f, f) }, lo: function(a) { c.L.V = a.Hu() } }); c.fh.Vv = new a; c.fh.SHOW_ALL = new b; c.fh.zB = new d; c.fh.gB = new e; c.fh.hB = new f })(); c.cf = c.qa.extend({ dx: null, ex: null, ctor: function(a, b) { this.q7(a); this.r7(b) }, mo: function(a) { this.dx.mo(a); this.ex.mo(a) }, apply: function(a, b) { this.dx.apply(a, b); return this.ex.apply(a, b) }, lo: function(a) { this.dx.lo(a); this.ex.lo(a) }, q7: function(a) { a instanceof c.dl && (this.dx = a) }, r7: function(a) { a instanceof c.fh && (this.ex = a) } }); c.cf.Vv = 0; c.cf.zB = 1; c.cf.SHOW_ALL = 2; c.cf.gB = 3; c.cf.hB = 4; c.cf.yX = 5; c.screen = { xy: !1, CE: null, GF: "", Hl: null, JY: [ ["requestFullscreen", "exitFullscreen", "fullscreenchange", "fullscreenEnabled", "fullscreenElement"], ["requestFullScreen", "exitFullScreen", "fullScreenchange", "fullScreenEnabled", "fullScreenElement"], ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitIsFullScreen", "webkitCurrentFullScreenElement"], ["mozRequestFullScreen", "mozCancelFullScreen", "mozfullscreenchange", "mozFullScreen", "mozFullScreenElement"], ["msRequestFullscreen", "msExitFullscreen", "MSFullscreenChange", "msFullscreenEnabled", "msFullscreenElement"] ], K: function() { this.Hl = {}; var a, b, d = this.JY, e; a = 0; for (l = d.length; a < l; a++) if ((b = d[a]) && b[1] in document) { a = 0; for (e = b.length; a < e; a++) this.Hl[d[0][a]] = b[a]; break } this.xy = void 0 != this.Hl.requestFullscreen; this.GF = "ontouchstart" in window ? "touchstart" : "mousedown" }, fullScreen: function() { return this.xy && document[this.Hl.fullscreenEnabled] }, uR: function(a, b) { if (this.xy) { a = a || document.documentElement; a[this.Hl.requestFullscreen](); if (b) { var d = this.Hl.Vea; this.CE && document.removeEventListener(d, this.CE); this.CE = b; c.Ra(document, d, b, !1) } return a[this.Hl.requestFullscreen]() } }, wea: function() { return this.xy ? document[this.Hl.exitFullscreen]() : !0 }, C1: function(a, b) { function d() { f.uR(a, b); e.removeEventListener(f.GF, d) } a = a || document.body; var e = c.eb || a, f = this; this.uR(a, b); c.Ra(e, this.GF, d) } }; c.screen.K(); c.Rj = { zS: c.d(0, 0), AS: c.d(0, 0), top: c.d(0, 0), Py: c.d(0, 0), yO: c.d(0, 0), bottom: c.d(0, 0), jq: c.d(0, 0), left: c.d(0, 0), right: c.d(0, 0), width: 0, height: 0, K: function(a) { var b = this.width = a.width, d = this.height = a.height, e = a.x; a = a.y; var f = a + d, g = e + b; this.zS.x = e; this.zS.y = f; this.AS.x = g; this.AS.y = f; this.top.x = e + b / 2; this.top.y = f; this.Py.x = e; this.Py.y = a; this.yO.x = g; this.yO.y = a; this.bottom.x = e + b / 2; this.bottom.y = a; this.jq.x = e + b / 2; this.jq.y = a + d / 2; this.left.x = e; this.left.y = a + d / 2; this.right.x = g; this.right.y = a + d / 2 } }; c.nX = -90; c.oX = 90; c.pX = 180; c.nba = 0; c.qQ = { Kp: !1, KM: !1, gN: c.d(0, 0), B_: c.d(0, 0), hN: [], DE: 0, dm: [], HF: {}, Bp: 0, iE: 5, Pw: !1, Qw: 1 / 30, eL: 1, Tm: 0, NC: null, Ow: null, vZ: function() { for (var a = this.Bp, b = 0; b < this.iE; b++) { if (!(a & 1)) return this.Bp |= 1 << b, b; a >>= 1 } return -1 }, H_: function(a) { 0 > a || a >= this.iE || (a = ~ (1 << a), this.Bp &= a) }, Kl: null, hH: function(a) { for (var b, d, e, f = [], g = this.HF, h = 0, k = a.length; h < k; h++) b = a[h], e = b.Zh, d = g[e], null == d && (d = this.vZ(), -1 == d ? c.log(c.f.H4, d) : (b = this.dm[d] = b, g[e] = d, f.push(b))); 0 < f.length && (this.Kl.fx(f), a = new c.gh(f), a.Dl = c.gh.Co.SA, c.wa.dispatchEvent(a)) }, iH: function(a) { for (var b, d, e = [], f = this.dm, g = 0, h = a.length; g < h; g++) b = a[g], d = b.Zh, d = this.HF[d], null != d && f[d] && (f[d].hF(b.Xd), f[d].Op(b.mj), e.push(f[d])); 0 < e.length && (this.Kl.fx(e), a = new c.gh(e), a.Dl = c.gh.Co.vB, c.wa.dispatchEvent(a)) }, mz: function(a) { a = this.KP(a); 0 < a.length && (this.Kl.fx(a), a = new c.gh(a), a.Dl = c.gh.Co.eB, c.wa.dispatchEvent(a)) }, ZP: function(a) { a = this.KP(a); 0 < a.length && (this.Kl.fx(a), a = new c.gh(a), a.Dl = c.gh.Co.XA, c.wa.dispatchEvent(a)) }, KP: function(a) { for (var b, d, e, f = [], g = this.dm, h = this.HF, k = 0, m = a.length; k < m; k++) b = a[k], e = b.Zh, d = h[e], null != d && g[d] && (g[d].hF(b.Xd), g[d].Op(b.mj), f.push(g[d]), this.H_(d), delete h[e]); return f }, yi: function(a) { var b = document.documentElement, d = window, e = null, e = "function" === typeof a.getBoundingClientRect ? a.getBoundingClientRect() : a instanceof HTMLCanvasElement ? { left: 0, top: 0, width: a.width, height: a.height } : { left: 0, top: 0, width: parseInt(a.style.width), height: parseInt(a.style.height) }; return { left: e.left + d.pageXOffset - b.clientLeft, top: e.top + d.pageYOffset - b.clientTop, width: e.width, height: e.height } }, N3: function(a) { for (var b = null, d = this.hN, e = a.Zh, f = d.length - 1; 0 <= f; f--) if (d[f].Zh == e) { b = d[f]; break } b || (b = a); return b }, T7: function(a) { for (var b = !1, d = this.hN, e = a.Zh, f = d.length - 1; 0 <= f; f--) if (d[f].Zh == e) { d[f] = a; b = !0; break } b || (50 >= d.length ? d.push(a) : (d[this.DE] = a, this.DE = (this.DE + 1) % 50)) }, Gu: function(a, b, d) { var e = this.gN; a = this.Kl.BG(a, b, d); b = new c.pC(a.x, a.y); b.Op(e.x, e.y); e.x = a.x; e.y = a.y; return b }, Bq: function(a, b, d) { var e = this.B_; this.Kl.vY(a, b); b = new c.bd(d); b.G7(a.x, a.y); b.b0(e.x, e.y); e.x = a.x; e.y = a.y; return b }, Cq: function(a, b) { if (null != a.pageX) return { x: a.pageX, y: a.pageY }; b.left -= document.body.scrollLeft; b.top -= document.body.scrollTop; return { x: a.clientX, y: a.clientY } }, jz: function(a, b) { for (var d = [], e = this.Kl, f, g, h = this.gN, k = a.changedTouches.length, m = 0; m < k; m++) if (f = a.changedTouches[m]) { var n; n = c.Yb.Ar === c.Yb.In ? e.BG(f.pageX, f.pageY, b) : e.BG(f.clientX, f.clientY, b); null != f.identifier ? (f = new c.pC(n.x, n.y, f.identifier), g = this.N3(f).Aq(), f.Op(g.x, g.y), this.T7(f)) : (f = new c.pC(n.x, n.y), f.Op(h.x, h.y)); h.x = n.x; h.y = n.y; d.push(f) } return d }, G6: function(a) { if (!this.KM) { var b = this.Kl = c.view, d = this, e = "touches" in c.Yb.sG; "mouse" in c.Yb.sG && (c.Ra(window, "mousedown", function() { d.Kp = !0 }, !1), c.Ra(window, "mouseup", function(b) { var f = d.Kp; d.Kp = !1; if (f) { var f = d.yi(a), g = d.Cq(b, f); c.Rg(new c.VJ(f.left, f.top, f.width, f.height), g) || (e || d.mz([d.Gu(g.x, g.y, f)]), f = d.Bq(g, f, c.bd.AC), f.ro(b.button), c.wa.dispatchEvent(f)) } }, !1), c.Ra(a, "mousedown", function(b) { d.Kp = !0; var f = d.yi(a), g = d.Cq(b, f); e || d.hH([d.Gu(g.x, g.y, f)]); f = d.Bq(g, f, c.bd.gJ); f.ro(b.button); c.wa.dispatchEvent(f); b.stopPropagation(); b.preventDefault(); a.focus() }, !1), c.Ra(a, "mouseup", function(b) { d.Kp = !1; var f = d.yi(a), g = d.Cq(b, f); e || d.mz([d.Gu(g.x, g.y, f)]); f = d.Bq(g, f, c.bd.AC); f.ro(b.button); c.wa.dispatchEvent(f); b.stopPropagation(); b.preventDefault() }, !1), c.Ra(a, "mousemove", function(b) { var f = d.yi(a), g = d.Cq(b, f); e || d.iH([d.Gu(g.x, g.y, f)]); f = d.Bq(g, f, c.bd.wJ); d.Kp ? f.ro(b.button) : f.ro(null); c.wa.dispatchEvent(f); b.stopPropagation(); b.preventDefault() }, !1), c.Ra(a, "mousewheel", function(b) { var e = d.yi(a), f = d.Cq(b, e), e = d.Bq(f, e, c.bd.VB); e.ro(b.button); e.bS(0, b.wheelDelta); c.wa.dispatchEvent(e); b.stopPropagation(); b.preventDefault() }, !1), c.Ra(a, "DOMMouseScroll", function(b) { var e = d.yi(a), f = d.Cq(b, e), e = d.Bq(f, e, c.bd.VB); e.ro(b.button); e.bS(0, -120 * b.detail); c.wa.dispatchEvent(e); b.stopPropagation(); b.preventDefault() }, !1)); if (window.navigator.msPointerEnabled) { var f = { MSPointerDown: d.hH, MSPointerMove: d.iH, MSPointerUp: d.mz, MSPointerCancel: d.ZP }, g; for (g in f)(function(b, e) { c.Ra(a, b, function(b) { var f = d.yi(a); f.left -= document.documentElement.scrollLeft; f.top -= document.documentElement.scrollTop; e.call(d, [d.Gu(b.clientX, b.clientY, f)]); b.stopPropagation() }, !1) })(g, f[g]) } e && (c.Ra(a, "touchstart", function(b) { if (b.changedTouches) { var e = d.yi(a); e.left -= document.body.scrollLeft; e.top -= document.body.scrollTop; d.hH(d.jz(b, e)); b.stopPropagation(); b.preventDefault(); a.focus() } }, !1), c.Ra(a, "touchmove", function(b) { if (b.changedTouches) { var e = d.yi(a); e.left -= document.body.scrollLeft; e.top -= document.body.scrollTop; d.iH(d.jz(b, e)); b.stopPropagation(); b.preventDefault() } }, !1), c.Ra(a, "touchend", function(b) { if (b.changedTouches) { var e = d.yi(a); e.left -= document.body.scrollLeft; e.top -= document.body.scrollTop; d.mz(d.jz(b, e)); b.stopPropagation(); b.preventDefault() } }, !1), c.Ra(a, "touchcancel", function(e) { if (e.changedTouches) { var f = d.yi(a); f.left -= document.body.scrollLeft; f.top -= document.body.scrollTop; b.ZP(d.jz(e, f)); e.stopPropagation(); e.preventDefault() } }, !1)); this.rN(); this.qN(); this.KM = !0 } }, rN: function() {}, qN: function() {}, update: function(a) { this.Tm > this.Qw && (this.Tm -= this.Qw, c.wa.dispatchEvent(new c.YT(this.NC))); this.Tm += a } }; var p = c.qQ; p.Kma = function(a) { this.Pw !== a && (this.Pw = a, a = c.L.km(), this.Pw ? (this.Tm = 0, a.fI(this)) : (this.Tm = 0, a.Lv(this))) }; p.Lma = function(a) { this.Qw !== a && (this.Qw = a) }; p.rN = function() { c.Ra(c.eb, "keydown", function(a) { c.wa.dispatchEvent(new c.kJ(a.keyCode, !0)); a.stopPropagation(); a.preventDefault() }, !1); c.Ra(c.eb, "keyup", function(a) { c.wa.dispatchEvent(new c.kJ(a.keyCode, !1)); a.stopPropagation(); a.preventDefault() }, !1) }; p.qN = function() { var a = window; this.NC = new c.YS; this.Ow = a.DeviceMotionEvent || a.DeviceOrientationEvent; c.Yb.In == c.Yb.$I && (this.Ow = window.DeviceOrientationEvent); c.Ra(a, this.Ow == a.DeviceMotionEvent ? "devicemotion" : "deviceorientation", this.m2.bind(this), !1) }; p.m2 = function(a) { var b = window; if (this.Pw) { var d = this.NC; if (this.Ow == window.DeviceMotionEvent) { var e = a.accelerationIncludingGravity; d.x = this.eL * e.x * 0.1; d.y = this.eL * e.y * 0.1; d.z = 0.1 * e.z } else d.x = a.gamma / 90 * 0.981, d.y = 0.981 * -(a.beta / 90), d.z = a.alpha / 90 * 0.981; d.timestamp = a.timeStamp || Date.now(); a = d.x; b.orientation === c.oX ? (d.x = -d.y, d.y = a) : b.orientation === c.nX ? (d.x = d.y, d.y = -a) : b.orientation === c.pX && (d.x = -d.x, d.y = -d.y) } }; delete p; c.N9 = function(a, b, d, e, f, g) { this.a = a; this.b = b; this.C = d; this.D = e; this.xa = f; this.ya = g }; c.bT = function(a, b, d, e, f, g) { return { a: a, b: b, C: d, D: e, xa: f, ya: g } }; c.UJ = function(a, b) { return { x: b.a * a.x + b.C * a.y + b.xa, y: b.b * a.x + b.D * a.y + b.ya } }; c.tl = function(a, b, d) { return { x: d.a * a + d.C * b + d.xa, y: d.b * a + d.D * b + d.ya } }; c.Maa = function(a, b) { return { width: b.a * a.width + b.C * a.height, height: b.b * a.width + b.D * a.height } }; c.Q9 = function() { return { a: 1, b: 0, C: 0, D: 1, xa: 0, ya: 0 } }; c.P9 = function() { return { a: 1, b: 0, C: 0, D: 1, xa: 0, ya: 0 } }; c.SB = function(a, b) { var d = c.$q(a), e = c.Zq(a), f = c.qv(a), g = c.rv(a), h = c.tl(e, d, b), d = c.tl(f, d, b), e = c.tl(e, g, b), k = c.tl(f, g, b), f = Math.min(h.x, d.x, e.x, k.x), g = Math.max(h.x, d.x, e.x, k.x), m = Math.min(h.y, d.y, e.y, k.y), h = Math.max(h.y, d.y, e.y, k.y); return c.rect(f, m, g - f, h - m) }; c.JX = function(a, b) { var d = c.$q(a), e = c.Zq(a), f = c.qv(a), g = c.rv(a), h = c.tl(e, d, b), d = c.tl(f, d, b), e = c.tl(e, g, b), k = c.tl(f, g, b), f = Math.min(h.x, d.x, e.x, k.x), g = Math.max(h.x, d.x, e.x, k.x), m = Math.min(h.y, d.y, e.y, k.y), h = Math.max(h.y, d.y, e.y, k.y); a.x = f; a.y = m; a.width = g - f; a.height = h - m; return a }; c.cT = function(a, b, d) { return { a: a.a, b: a.b, C: a.C, D: a.D, xa: a.xa + a.a * b + a.C * d, ya: a.ya + a.b * b + a.D * d } }; c.S9 = function(a, b, d) { return { a: a.a * b, b: a.b * b, C: a.C * d, D: a.D * d, xa: a.xa, ya: a.ya } }; c.R9 = function(a, b) { var d = Math.sin(b), e = Math.cos(b); return { a: a.a * e + a.C * d, b: a.b * e + a.D * d, C: a.C * e - a.a * d, D: a.D * e - a.b * d, xa: a.xa, ya: a.ya } }; c.Dm = function(a, b) { return { a: a.a * b.a + a.b * b.C, b: a.a * b.b + a.b * b.D, C: a.C * b.a + a.D * b.C, D: a.C * b.b + a.D * b.D, xa: a.xa * b.a + a.ya * b.C + b.xa, ya: a.xa * b.b + a.ya * b.D + b.ya } }; c.O9 = function(a, b) { return a.a === b.a && a.b === b.b && a.C === b.C && a.D === b.D && a.xa === b.xa && a.ya === b.ya }; c.VI = function(a) { var b = 1 / (a.a * a.D - a.b * a.C); return { a: b * a.D, b: -b * a.b, C: -b * a.C, D: b * a.a, xa: b * (a.C * a.ya - a.D * a.xa), ya: b * (a.b * a.xa - a.a * a.ya) } }; c.GJ = parseFloat("1.192092896e-07F"); c.RH = function(a) { return c.d(-a.x, -a.y) }; c.Ij = function(a, b) { return c.d(a.x + b.x, a.y + b.y) }; c.de = function(a, b) { return c.d(a.x - b.x, a.y - b.y) }; c.Jj = function(a, b) { return c.d(a.x * b, a.y * b) }; c.eR = function(a, b) { return c.Jj(c.Ij(a, b), 0.5) }; c.Vq = function(a, b) { return a.x * b.x + a.y * b.y }; c.Z5 = function(a, b) { return a.x * b.y - a.y * b.x }; c.aA = function(a) { return c.d(-a.y, a.x) }; c.nla = function(a) { return c.d(a.y, -a.x) }; c.mla = function(a, b) { return c.Jj(b, c.Vq(a, b) / c.Vq(b, b)) }; c.ola = function(a, b) { return c.d(a.x * b.x - a.y * b.y, a.x * b.y + a.y * b.x) }; c.rla = function(a, b) { return c.d(a.x * b.x + a.y * b.y, a.y * b.x - a.x * b.y) }; c.cR = function(a) { return c.Vq(a, a) }; c.bR = function(a, b) { return c.cR(c.de(a, b)) }; c.rm = function(a) { return Math.sqrt(c.cR(a)) }; c.ila = function(a, b) { return c.rm(c.de(a, b)) }; c.Dh = function(a) { return c.Jj(a, 1 / c.rm(a)) }; c.jla = function(a) { return c.d(Math.cos(a), Math.sin(a)) }; c.d6 = function(a) { return Math.atan2(a.y, a.x) }; c.gd = function(a, b, d) { if (b > d) { var e = b; b = d; d = e } return a < b ? b : a < d ? a : d }; c.aR = function(a) { var b = c.d(0, 0), d = c.d(1, 1); return c.d(c.gd(a.x, b.x, d.x), c.gd(a.y, b.y, d.y)) }; c.a6 = function() { var a = c.L.V; return c.d(a.width, a.height) }; c.hla = function(a, b) { return c.d(b(a.x), b(a.y)) }; c.dR = function(a, b, d) { return c.Ij(c.Jj(a, 1 - d), c.Jj(b, d)) }; c.kla = function(a, b, d) { return a.x - d <= b.x && b.x <= a.x + d && a.y - d <= b.y && b.y <= a.y + d ? !0 : !1 }; c.gla = function(a, b) { return c.d(a.x * b.x, a.y * b.y) }; c.fla = function(a, b) { var d = c.Dh(a), e = c.Dh(b), d = Math.atan2(d.x * e.y - d.y * e.x, c.Vq(d, e)); return Math.abs(d) < c.GJ ? 0 : d }; c.ela = function(a, b) { var d = Math.acos(c.Vq(c.Dh(a), c.Dh(b))); return Math.abs(d) < c.GJ ? 0 : d }; c.c6 = function(a, b, d) { a = c.de(a, b); var e = Math.cos(d); d = Math.sin(d); var f = a.x; a.x = f * e - a.y * d + b.x; a.y = f * d + a.y * e + b.y; return a }; c.QH = function(a, b, d, e, f) { if (a.x == b.x && a.y == b.y || d.x == e.x && d.y == e.y) return !1; var g = b.x - a.x; b = b.y - a.y; var h = e.x - d.x; e = e.y - d.y; var k = a.x - d.x; a = a.y - d.y; d = e * g - h * b; f.x = h * a - e * k; f.y = g * a - b * k; if (0 == d) return 0 == f.x || 0 == f.y ? !0 : !1; f.x /= d; f.y /= d; return !0 }; c.qla = function(a, b, d, e) { var f = c.d(0, 0); return c.QH(a, b, d, e, f) && 0 <= f.x && 1 >= f.x && 0 <= f.y && 1 >= f.y ? !0 : !1 }; c.lla = function(a, b, d, e) { var f = c.d(0, 0); return c.QH(a, b, d, e, f) ? (d = c.d(0, 0), d.x = a.x + f.x * (b.x - a.x), d.y = a.y + f.x * (b.y - a.y), d) : c.d(0, 0) }; c.pla = function(a, b) { return null != a && null != b ? a.x == b.x && a.y == b.y : !1 }; c.bA = function(a) { a.x = 0; a.y = 0 }; c.Qk = function(a, b) { a.x = b.x; a.y = b.y }; c.Wq = function(a, b) { a.x *= b; a.y *= b }; c.fR = function(a, b) { a.x -= b.x; a.y -= b.y }; c.$z = function(a, b) { a.x += b.x; a.y += b.y }; c.b6 = function(a) { c.Wq(a, 1 / Math.sqrt(a.x * a.x + a.y * a.y)) }; c.QI = function(a, b, d, e, f) { f += e; if (!(1 >= f)) { b *= 0.5; for (var g, h = f - 1, k = e; k < f; k++) { g = 2 * k; var m = c.d(a[2 * k], a[2 * k + 1]), n; if (0 === k) n = c.aA(c.Dh(c.de(m, c.d(a[2 * (k + 1)], a[2 * (k + 1) + 1])))); else if (k === h) n = c.aA(c.Dh(c.de(c.d(a[2 * (k - 1)], a[2 * (k - 1) + 1]), m))); else { n = c.d(a[2 * (k - 1)], a[2 * (k - 1) + 1]); var q = c.d(a[2 * (k + 1)], a[2 * (k + 1) + 1]), r = c.Dh(c.de(q, m)), t = c.Dh(c.de(n, m)), s = Math.acos(c.Vq(r, t)); n = s < c.ag(70) ? c.aA(c.Dh(c.eR(r, t))) : s < c.ag(170) ? c.Dh(c.eR(r, t)) : c.aA(c.Dh(c.de(q, n))) } n = c.Jj(n, b); d[2 * g] = m.x + n.x; d[2 * g + 1] = m.y + n.y; d[2 * (g + 1)] = m.x - n.x; d[2 * (g + 1) + 1] = m.y - n.y } for (k = 0 == e ? 0 : e - 1; k < h; k++) g = 2 * k, a = g + 2, b = c.QA(d[2 * g], d[2 * g + 1]), f = c.QA(d[2 * (g + 1)], d[2 * (g + 1) + 1]), g = c.QA(d[2 * a], d[2 * a]), e = c.QA(d[2 * (a + 1)], d[2 * (a + 1) + 1]), b = !c.p9(b.x, b.y, e.x, e.y, f.x, f.y, g.x, g.y), !b.Su && (0 > b.value || 1 < b.value) && (b.Su = !0), b.Su && (d[2 * a] = e.x, d[2 * a + 1] = e.y, d[2 * (a + 1)] = g.x, d[2 * (a + 1) + 1] = g.y) } }; c.p9 = function(a, b, d, e, f, g, h, k) { if (a == d && b == e || f == h && g == k) return { Su: !1, value: 0 }; d -= a; e -= b; f -= a; g -= b; h -= a; k -= b; a = Math.sqrt(d * d + e * e); d /= a; e /= a; b = f * d + g * e; g = g * d - f * e; f = b; b = h * d + k * e; k = k * d - h * e; h = b; return g == k ? { Su: !1, value: 0 } : { Su: !0, value: (h + (f - h) * k / (k - g)) / a } }; c.Lpa = function(a) { for (var b = 0, d = a.length; b < d; b++) { var e = a[(b + 1) % d], f = a[(b + 2) % d]; if (0 < c.Z5(c.de(e, a[b]), c.de(f, e))) return !1 } return !0 }; c.o$ = function(a, b) { b[2] = b[3] = b[6] = b[7] = b[8] = b[9] = b[11] = b[14] = 0; b[10] = b[15] = 1; b[0] = a.a; b[4] = a.C; b[12] = a.xa; b[1] = a.b; b[5] = a.D; b[13] = a.ya }; c.M$ = function(a, b) { b.a = a[0]; b.C = a[4]; b.xa = a[12]; b.b = a[1]; b.D = a[5]; b.ya = a[13] }; c.pC = c.qa.extend({ Xd: null, mj: null, Zh: 0, UN: !1, Tt: null, ctor: function(a, b, d) { this.Xd = c.d(a || 0, b || 0); this.Zh = d || 0 }, Aq: function() { return { x: this.Xd.x, y: this.Xd.y } }, C3: function() { return this.Xd.x }, D3: function() { return this.Xd.y }, Kga: function() { return { x: this.mj.x, y: this.mj.y } }, aha: function() { return { x: this.Tt.x, y: this.Tt.y } }, RG: function() { return c.de(this.Xd, this.mj) }, B3: function() { return { x: this.Xd.x, y: this.Xd.y } }, Lga: function() { return { x: this.mj.x, y: this.mj.y } }, bha: function() { return { x: this.Tt.x, y: this.Tt.y } }, Wfa: function() { return this.Zh }, Xfa: function() { return this.Zh }, xoa: function(a, b, d) { this.mj = this.Xd; this.Xd = c.d(b || 0, d || 0); this.Zh = a; this.UN || (this.Tt = c.d(this.Xd), this.UN = !0) }, hF: function(a, b) { void 0 === b ? (this.Xd.x = a.x, this.Xd.y = a.y) : (this.Xd.x = a, this.Xd.y = b) }, Op: function(a, b) { this.mj = void 0 === b ? c.d(a.x, a.y) : c.d(a || 0, b || 0) } }); c.Gc = c.qa.extend({ Cc: 0, dn: !1, Vd: null, $E: function(a) { this.Vd = a }, ctor: function(a) { this.Cc = a }, dH: function() { return this.Cc }, stopPropagation: function() { this.dn = !0 }, sia: function() { return this.dn }, ufa: function() { return this.Vd } }); c.Gc.Cw = 0; c.Gc.Io = 1; c.Gc.yo = 2; c.Gc.Lo = 3; c.Gc.Cr = 4; c.Tj = c.Gc.extend({ xD: null, gO: null, ctor: function(a) { c.Gc.prototype.ctor.call(this, c.Gc.Cr); this.xD = a }, setUserData: function(a) { this.gO = a }, getUserData: function() { return this.gO }, Mfa: function() { return this.xD } }); c.bd = c.Gc.extend({ iM: 0, nL: 0, ri: 0, sf: 0, FE: 0, GE: 0, EN: 0, FN: 0, ctor: function(a) { c.Gc.prototype.ctor.call(this, c.Gc.Lo); this.iM = a }, bS: function(a, b) { this.EN = a; this.FN = b }, Wga: function() { return this.EN }, Xga: function() { return this.FN }, G7: function(a, b) { this.ri = a; this.sf = b }, Aq: function() { return { x: this.ri, y: this.sf } }, B3: function() { return { x: this.ri, y: c.view.lp.height - this.sf } }, b0: function(a, b) { this.FE = a; this.GE = b }, RG: function() { return { x: this.ri - this.FE, y: this.sf - this.GE } }, yfa: function() { return this.ri - this.FE }, zfa: function() { return this.sf - this.GE }, ro: function(a) { this.nL = a }, gfa: function() { return this.nL }, C3: function() { return this.ri }, D3: function() { return this.sf } }); c.bd.NONE = 0; c.bd.gJ = 1; c.bd.AC = 2; c.bd.wJ = 3; c.bd.VB = 4; c.bd.h$ = 0; c.bd.j$ = 2; c.bd.i$ = 1; c.bd.c$ = 3; c.bd.d$ = 4; c.bd.e$ = 5; c.bd.f$ = 6; c.bd.g$ = 7; c.gh = c.Gc.extend({ Dl: 0, dm: null, ctor: function(a) { c.Gc.prototype.ctor.call(this, c.Gc.Cw); this.dm = a || [] }, Lfa: function() { return this.Dl }, uha: function() { return this.dm }, dca: function(a) { this.Dl = a }, fca: function(a) { this.dm = a } }); c.gh.jaa = 5; c.gh.Co = { SA: 0, vB: 1, eB: 2, XA: 3 }; c.za = c.qa.extend({ mE: null, Cc: 0, fj: null, Sf: !1, Gl: 0, Pf: null, Ac: !1, Fp: !0, ctor: function(a, b, d) { this.mE = d; this.Cc = a || 0; this.fj = b || "" }, gF: function(a) { this.Ac = a }, Sba: function() { return this.Ac }, Lt: function(a) { this.Sf = a }, QZ: function() { return this.Sf }, Rba: function() { return this.Cc }, Oba: function() { return this.fj }, aF: function(a) { this.Gl = a }, Nba: function() { return this.Gl }, Mt: function(a) { this.Pf = a }, Pba: function() { return this.Pf }, gm: function() { return null != this.mE }, k: function() { return null }, We: function(a) { this.Fp = a }, isEnabled: function() { return this.Fp }, nA: function() {}, Lj: function() {} }); c.za.yX = 0; c.za.xs = 1; c.za.eC = 2; c.za.Io = 3; c.za.Lo = 4; c.za.yo = 5; c.za.Cr = 6; c.Gs = c.za.extend({ Bt: null, ctor: function(a, b) { this.Bt = b; var d = this; c.za.prototype.ctor.call(this, c.za.Cr, a, function(a) { null != d.Bt && d.Bt(a) }) }, gm: function() { return c.za.prototype.gm.call(this) && null != this.Bt }, k: function() { return new c.Gs(this.fj, this.Bt) } }); c.Gs.create = function(a, b) { return new c.Gs(a, b) }; c.sl = c.za.extend({ Vz: null, Yz: null, Wz: null, Xz: null, ctor: function() { var a = this; c.za.prototype.ctor.call(this, c.za.Lo, c.sl.Hc, function(b) { var d = c.bd; switch (b.iM) { case d.gJ: a.Vz && a.Vz(b); break; case d.AC: a.Yz && a.Yz(b); break; case d.wJ: a.Wz && a.Wz(b); break; case d.VB: a.Xz && a.Xz(b) } }) }, k: function() { var a = new c.sl; a.Vz = this.Vz; a.Yz = this.Yz; a.Wz = this.Wz; a.Xz = this.Xz; return a }, gm: function() { return !0 } }); c.sl.Hc = "__cc_mouse"; c.sl.create = function() { return new c.sl }; c.Vi = c.za.extend({ fp: null, Ev: !1, jo: null, gv: null, fv: null, ev: null, ctor: function() { c.za.prototype.ctor.call(this, c.za.xs, c.Vi.Hc, null); this.fp = [] }, noa: function(a) { this.Ev = a }, k: function() { var a = new c.Vi; a.jo = this.jo; a.gv = this.gv; a.fv = this.fv; a.ev = this.ev; a.Ev = this.Ev; return a }, gm: function() { return this.jo ? !0 : (c.log(c.f.FX), !1) } }); c.Vi.Hc = "__cc_touch_one_by_one"; c.Vi.create = function() { return new c.Vi }; c.Ui = c.za.extend({ hv: null, kv: null, jv: null, iv: null, ctor: function() { c.za.prototype.ctor.call(this, c.za.eC, c.Ui.Hc, null) }, k: function() { var a = new c.Ui; a.hv = this.hv; a.kv = this.kv; a.jv = this.jv; a.iv = this.iv; return a }, gm: function() { return null == this.hv && null == this.kv && null == this.jv && null == this.iv ? (c.log(c.f.EX), !1) : !0 } }); c.Ui.Hc = "__cc_touch_all_at_once"; c.Ui.create = function() { return new c.Ui }; c.za.create = function(a) { c.assert(a && a.event, c.f.ZT); var b = a.event; delete a.event; var d = null; b === c.za.xs ? d = new c.Vi : b === c.za.eC ? d = new c.Ui : b === c.za.Lo ? d = new c.sl : b === c.za.Cr ? (d = new c.Gs(a.T2, a.pG), delete a.T2, delete a.pG) : b === c.za.Io ? d = new c.rl : b === c.za.yo && (d = new c.ql(a.pG), delete a.pG); for (var e in a) d[e] = a[e]; return d }; c.JO = function(a) { var b, d = a.length, e = Array(d); for (b = 0; b < d; b += 1) e[b] = a[b]; return e }; c.GX = c.qa.extend({ vg: null, Cg: null, YP: 0, ctor: function() { this.vg = []; this.Cg = [] }, size: function() { return this.vg.length + this.Cg.length }, empty: function() { return 0 === this.vg.length && 0 === this.Cg.length }, push: function(a) { 0 == a.Gl ? this.Cg.push(a) : this.vg.push(a) }, O1: function() { this.Cg.length = 0 }, N1: function() { this.vg.length = 0 }, clear: function() { this.Cg.length = 0; this.vg.length = 0 }, Ofa: function() { return this.vg }, Uga: function() { return this.Cg } }); c.Lw = function(a) { var b = c.Gc, d = a.Cc; if (d === b.yo) return c.ql.Hc; if (d === b.Cr) return a.xD; if (d === b.Io) return c.rl.Hc; if (d === b.Lo) return c.sl.Hc; d === b.Cw && c.log(c.f.Lw); return "" }; c.wa = { bB: 0, Rv: 1, Er: 2, A$: 3, rh: {}, Ht: {}, hj: {}, Qx: {}, xM: {}, Zp: [], Zs: [], bn: 0, Fp: !1, YM: 0, PZ: [c.Wc.Uv, c.Wc.Fr], jy: function(a) { null != this.hj[a.Ba] && this.Zs.push(a); a = a.u; for (var b = 0, d = a.length; b < d; b++) this.jy(a[b]) }, Xq: function(a, b) { var d = this.hj[a.Ba], e, f; if (d) for (e = 0, f = d.length; e < f; e++) d[e].gF(!0); if (!0 === b) for (d = a.u, e = 0, f = d.length; e < f; e++) this.Xq(d[e], !0) }, Uk: function(a, b) { var d = this.hj[a.Ba], e, f; if (d) for (e = 0, f = d.length; e < f; e++) d[e].gF(!1); this.jy(a); if (!0 === b) for (d = a.u, e = 0, f = d.length; e < f; e++) this.Uk(d[e], !0) }, hL: function(a) { 0 === this.bn ? this.oM(a) : this.Zp.push(a) }, oM: function(a) { var b = a.fj, d = this.rh[b]; d || (d = new c.GX, this.rh[b] = d); d.push(a); 0 == a.Gl ? (this.Vl(b, this.Er), b = a.Pf, null == b && c.log(c.f.M2), this.WX(b, a), b.ii && this.Uk(b)) : this.Vl(b, this.Rv) }, KD: function(a) { return this.rh[a] }, P0: function() { if (0 != this.Zs.length) { for (var a = this.Zs, b, d, e = this.hj, f = 0, g = a.length; f < g; f++) if (b = e[a[f].Ba]) for (var h = 0, k = b.length; h < k; h++)(d = b[h]) && this.Vl(d.fj, this.Er); this.Zs.length = 0 } }, sN: function(a) { if (a) for (var b, d = 0; d < a.length;) b = a[d], b.Lt(!1), null != b.Pf && (this.DL(b.Pf, b), b.Mt(null)), 0 === this.bn ? c.tf(a, b) : ++d }, pn: function(a) { var b = this.rh[a]; if (b) { var d = b.vg; this.sN(b.Cg); this.sN(d); delete this.Ht[a]; this.bn || (b.clear(), delete this.rh[a]) } for (var d = this.Zp, e, b = 0; b < d.length;)(e = d[b]) && e.fj == a ? c.tf(d, e) : ++b }, oF: function(a) { var b = this.bB, d = this.Ht; d[a] && (b = d[a]); b != this.bB && (d[a] = this.bB, b & this.Rv && this.B0(a), b & this.Er && ((b = c.L.sd) ? this.D0(a, b) : d[a] = this.Er)) }, D0: function(a, b) { var d = this.KD(a); if (d) { var e = d.Cg; e && 0 !== e.length && (this.YM = 0, this.Qx = {}, this.XF(b, !0), d.Cg.sort(this.A0)) } }, A0: function(a, b) { var d = c.wa.Qx; return d[b.Pf.Ba] - d[a.Pf.Ba] }, B0: function(a) { if (a = this.rh[a]) { var b = a.vg; if (b && 0 !== b.length) { b.sort(this.C0); for (var d = 0, e = b.length; d < e && !(0 <= b[d].Gl);)++d; a.YP = d } } }, C0: function(a, b) { return a.Gl - b.Gl }, nE: function(a) { if (a = this.rh[a]) { var b = a.vg, d = a.Cg, e, f; if (d) for (e = 0; e < d.length;) f = d[e], f.Sf ? ++e : c.tf(d, f); if (b) for (e = 0; e < b.length;) f = b[e], f.Sf ? ++e : c.tf(b, f); d && 0 === d.length && a.O1(); b && 0 === b.length && a.N1() } }, Ey: function(a) { var b = this.bn; c.assert(0 < b, c.f.$T); a.Cc == c.Gc.Cw ? (this.nE(c.Vi.Hc), this.nE(c.Ui.Hc)) : this.nE(c.Lw(a)); if (!(1 < b)) { c.assert(1 == b, c.f.aU); a = this.rh; var b = this.Ht, d; for (d in a) a[d].empty() && (delete b[d], delete a[d]); d = this.Zp; if (0 !== d.length) { a = 0; for (b = d.length; a < b; a++) this.oM(d[a]); this.Zp.length = 0 } } }, m_: function(a, b) { if (!a.QZ) return !1; var d = b.event, e = b.BR; d.$E(a.Pf); var f = !1, g, h = d.Dl, k = c.gh.Co; h == k.SA ? a.jo && (f = a.jo(e, d)) && a.Sf && a.fp.push(e) : 0 < a.fp.length && -1 != (g = a.fp.indexOf(e)) && (f = !0, h === k.vB && a.gv ? a.gv(e, d) : h === k.eB ? (a.fv && a.fv(e, d), a.Sf && a.fp.splice(g, 1)) : h === k.XA && (a.ev && a.ev(e, d), a.Sf && a.fp.splice(g, 1))); return d.dn ? (c.wa.Ey(d), !0) : f && a.Sf && a.Ev ? (b.I5 && b.touches.splice(e, 1), !0) : !1 }, BY: function(a) { this.oF(c.Vi.Hc); this.oF(c.Ui.Hc); var b = this.KD(c.Vi.Hc), d = this.KD(c.Ui.Hc); if (null != b || null != d) { var e = a.dm, f = c.JO(e), g = { event: a, I5: b && d, touches: f, BR: null }; if (b) for (var h = 0; h < e.length; h++) if (g.BR = e[h], this.pD(b, this.m_, g), a.dn) return; if (d && 0 < f.length && (this.pD(d, this.o_, { event: a, touches: f }), a.dn)) return; this.Ey(a) } }, o_: function(a, b) { if (!a.Sf) return !1; var d = c.gh.Co, e = b.event, f = b.touches, g = e.Dl; e.$E(a.Pf); g == d.SA && a.hv ? a.hv(f, e) : g == d.vB && a.kv ? a.kv(f, e) : g == d.eB && a.jv ? a.jv(f, e) : g == d.XA && a.iv && a.iv(f, e); return e.dn ? (c.wa.Ey(e), !0) : !1 }, WX: function(a, b) { var d = this.hj[a.Ba]; d || (d = [], this.hj[a.Ba] = d); d.push(b) }, DL: function(a, b) { var d = this.hj[a.Ba]; d && (c.tf(d, b), 0 === d.length && delete this.hj[a.Ba]) }, pD: function(a, b, d) { var e = !1, f = a.vg, g = a.Cg, h = 0, k; if (f && 0 !== f.length) for (; h < a.YP; ++h) if (k = f[h], k.isEnabled() && !k.Ac && k.Sf && b(k, d)) { e = !0; break } if (g && !e) for (a = 0; a < g.length; a++) if (k = g[a], k.isEnabled() && !k.Ac && k.Sf && b(k, d)) { e = !0; break } if (f && !e) for (; h < f.length && (k = f[h], !k.isEnabled() || k.Ac || !k.Sf || !b(k, d)); ++h); }, Vl: function(a, b) { var d = this.Ht; d[a] = null == d[a] ? b : b | d[a] }, XF: function(a, b) { var d = a.u, e = 0, f = d.length, g = this.xM, h = this.hj; if (0 < f) { for (var k; e < f; e++) if ((k = d[e]) && 0 > k.Jb) this.XF(k, !1); else break; null != h[a.Ba] && (g[a.gk] || (g[a.gk] = []), g[a.gk].push(a.Ba)); for (; e < f; e++)(k = d[e]) && this.XF(k, !1) } else null != h[a.Ba] && (g[a.gk] || (g[a.gk] = []), g[a.gk].push(a.Ba)); if (b) { var d = [], m; for (m in g) d.push(m); d.sort(this.E0); m = d.length; k = this.Qx; for (e = 0; e < m; e++) for (f = g[d[e]], h = 0; h < f.length; h++) k[f[h]] = ++this.YM; this.xM = {} } }, E0: function(a, b) { return a - b }, addListener: function(a, b) { c.assert(a && b, c.f.O2); if (!(a instanceof c.za)) c.assert("number" !== typeof b, c.f.P2), a = c.za.create(a); else if (a.Sf) { c.log(c.f.Q2); return } a.gm() && ("number" == typeof b ? 0 == b ? c.log(c.f.N2) : (a.Mt(null), a.aF(b), a.Lt(!0), a.gF(!1), this.hL(a)) : (a.Mt(b), a.aF(0), a.Lt(!0), this.hL(a))) }, cG: function(a, b) { var d = c.Gs.create(a, b); this.addListener(d, 1); return d }, removeListener: function(a) { if (null != a) { var b, d = this.rh, e; for (e in d) { var f = d[e], g = f.vg; (b = this.tN(f.Cg, a)) ? this.Vl(a.fj, this.Er) : (b = this.tN(g, a)) && this.Vl(a.fj, this.Rv); f.empty() && (delete this.Ht[a.fj], delete d[e]); if (b) break } if (!b) for (b = this.Zp, d = 0, e = b.length; d < e; d++) if (f = b[d], f == a) { c.tf(b, f); break } } }, tN: function(a, b) { if (null == a) return !1; for (var d = 0, e = a.length; d < e; d++) { var f = a[d]; if (f == b) return f.Lt(!1), null != f.Pf && (this.DL(f.Pf, f), f.Mt(null)), 0 == this.bn && c.tf(a, f), !0 } return !1 }, rR: function(a, b) { if (a instanceof c.t) { delete this.Qx[a.Ba]; c.tf(this.Zs, a); var d = this.hj[a.Ba]; if (d) { for (var e = c.JO(d), d = 0; d < e.length; d++) this.removeListener(e[d]); e.length = 0; e = this.Zp; for (d = 0; d < e.length;) { var f = e[d]; f.Pf == a ? (f.Mt(null), f.Lt(!1), e.splice(d, 1)) : ++d } if (!0 === b) for (e = a.u, d = 0, f = e.length; d < f; d++) this.rR(e[d], !0) } } else a == c.za.xs ? this.pn(c.Vi.Hc) : a == c.za.eC ? this.pn(c.Ui.Hc) : a == c.za.Lo ? this.pn(c.sl.Hc) : a == c.za.yo ? this.pn(c.ql.Hc) : a == c.za.Io ? this.pn(c.rl.Hc) : c.log(c.f.R2) }, ima: function(a) { this.pn(a) }, dma: function() { var a = this.rh, b = this.PZ, d; for (d in a) - 1 === b.indexOf(d) && this.pn(d) }, Zna: function(a, b) { if (null != a) { var d = this.rh, e; for (e in d) { var f = d[e].vg; if (f && -1 != f.indexOf(a)) { null != a.Pf && c.log(c.f.S2); a.Gl !== b && (a.aF(b), this.Vl(a.fj, this.Rv)); break } } } }, We: function(a) { this.Fp = a }, isEnabled: function() { return this.Fp }, dispatchEvent: function(a) { if (this.Fp) { this.P0(); this.bn++; if (!a || !a.dH) throw "event is undefined"; if (a.Cc == c.Gc.Cw) this.BY(a); else { var b = c.Lw(a); this.oF(b); b = this.rh[b]; null != b && this.pD(b, this.g_, a); this.Ey(a) } this.bn-- } }, g_: function(a, b) { b.$E(a.Pf); a.mE(b); return b.dn }, Fda: function(a, b) { var d = new c.Tj(a); d.setUserData(b); this.dispatchEvent(d) } }; c.YT = c.Gc.extend({ dL: null, ctor: function(a) { c.Gc.prototype.ctor.call(this, c.Gc.yo); this.dL = a } }); c.kJ = c.Gc.extend({ aE: 0, JM: !1, ctor: function(a, b) { c.Gc.prototype.ctor.call(this, c.Gc.Io); this.aE = a; this.JM = b } }); c.ql = c.za.extend({ Tx: null, ctor: function(a) { this.Tx = a; var b = this; c.za.prototype.ctor.call(this, c.za.yo, c.ql.Hc, function(a) { b.Tx(a.dL, a) }) }, gm: function() { c.assert(this.Tx, c.f.CX); return !0 }, k: function() { return new c.ql(this.Tx) } }); c.ql.Hc = "__cc_acceleration"; c.ql.create = function(a) { return new c.ql(a) }; c.rl = c.za.extend({ bv: null, cv: null, ctor: function() { var a = this; c.za.prototype.ctor.call(this, c.za.Io, c.rl.Hc, function(b) { b.JM ? a.bv && a.bv(b.aE, b) : a.cv && a.cv(b.aE, b) }) }, k: function() { var a = new c.rl; a.bv = this.bv; a.cv = this.cv; return a }, gm: function() { return null == this.bv && null == this.cv ? (c.log(c.f.DX), !1) : !0 } }); c.rl.Hc = "__cc_keyboard"; c.rl.create = function() { return new c.rl }; c.H.CC = function() { var a = c.t.prototype; a.IF = null; a.vF = null; a.OD = null; a.ck = null; a.ctor = function() { this.SD(); var a = new c.ga; a.c[2] = a.c[3] = a.c[6] = a.c[7] = a.c[8] = a.c[9] = a.c[11] = a.c[14] = 0; a.c[10] = a.c[15] = 1; this.IF = a; this.OD = 0; this.vF = new c.ga }; a.Sa = function() { !1 === this.sj && (this.sj = this.Hx = !0) }; a.U = function() { if (this.Ja) { var a = c.m, d, e = c.ic; e.stack.push(e.top); c.Jk(this.vF, e.top); e.top = this.vF; var f = this.grid; f && f.vl && f.ru(); this.transform(); var g = this.u; if (g && 0 < g.length) { var h = g.length; this.jd(); for (d = 0; d < h; d++) if (g[d] && 0 > g[d].Jb) g[d].U(); else break; for (this.Y(a); d < h; d++) g[d] && g[d].U() } else this.Y(a); this.arrivalOrder = 0; f && f.vl && f.nu(this); e.top = e.stack.pop() } }; a.transform = function() { var a = this.IF, d = c.ic.top, e = this.Ve(), f = a.c; f[0] = e.a; f[4] = e.C; f[12] = e.xa; f[1] = e.b; f[5] = e.D; f[13] = e.ya; f[14] = this.iu; c.Dj(d, d, a); null == this.ck || null != this.grid && this.grid.fg() || (a = this.lb.x, d = this.lb.y, 0 !== a || 0 !== d ? (c.ZB || (a |= 0, d |= 0), c.Lq(a, d), this.ck.$u(), c.Lq(-a, -d)) : this.ck.$u()) }; a.Ve = a.d_ }; c.H.HB = function() { var a = c.t.prototype; c.i(a, "x", a.Se, a.qI); c.i(a, "y", a.Mg, a.rI); c.i(a, "width", a.Wh, a.vk); c.i(a, "height", a.Jl, a.uk); c.i(a, "anchorX", a.SY, a.XE); c.i(a, "anchorY", a.TY, a.YE); c.i(a, "skewX", a.W3, a.a8); c.i(a, "skewY", a.X3, a.b8); c.i(a, "zIndex", a.A3, a.RR); c.i(a, "vertexZ", a.g4, a.n8); c.i(a, "rotation", a.Lb, a.Xb); c.i(a, "rotationX", a.R3, a.Y7); c.i(a, "rotationY", a.S3, a.Z7); c.i(a, "scale", a.T3, a.Wk); c.i(a, "scaleX", a.IP, a.uv); c.i(a, "scaleY", a.JP, a.vv); c.i(a, "children", a.d3); c.i(a, "childrenCount", a.e3); c.i(a, "parent", a.getParent, a.O7); c.i(a, "visible", a.T4, a.hS); c.i(a, "running", a.R4); c.i(a, "ignoreAnchor", a.O4, a.qz); c.i(a, "actionManager", a.bz, a.ER); c.i(a, "scheduler", a.km, a.aS); c.i(a, "shaderProgram", a.ZG, a.uI); c.i(a, "glServerState", a.r3, a.D7) }; c.H.IB = function() { var a = c.la.prototype; c.i(a, "opacity", a.yf, a.Fa); c.i(a, "opacityModifyRGB", a.Ue, a.ee); c.i(a, "cascadeOpacity", a.Pu, a.er); c.i(a, "color", a.xf, a.Va); c.i(a, "cascadeColor", a.Ou, a.dr) }; c.AJ = -1; c.yR = 1; c.t = c.qa.extend({ Jb: 0, gk: 0, iu: 0, sk: 0, rn: 0, ma: 1, Na: 1, va: null, ki: 0, li: 0, u: null, Ja: !0, dd: null, lb: null, S: null, ii: !1, gc: null, $h: !1, tag: c.AJ, userData: null, userObject: null, sj: !0, Hx: !0, nh: !0, bk: null, lca: null, pi: null, FM: null, se: !1, Sb: null, arrivalOrder: 0, lh: null, Dg: null, Kba: null, DM: !1, Js: !1, Rw: null, $i: null, $D: !1, Sl: 0, hy: 0, ob: "Node", mF: !1, yt: "", SD: function() { this.dd = c.d(0, 0); this.lb = c.d(0, 0); this.S = c.size(0, 0); this.va = c.d(0, 0); this.u = []; this.pi = { a: 1, b: 0, C: 0, D: 1, xa: 0, ya: 0 }; var a = c.L; this.lh = a.bz(); this.Dg = a.km(); this.DM = !0; this.Rw = { a: 1, b: 0, C: 0, D: 1, xa: 0, ya: 0 }; c.BT && (this.$i = new c.BT(this)) }, K: function() { !1 === this.DM && this.SD(); return !0 }, mh: function(a, b) { if (a && 0 !== a.length) { var d, e = a.length, f; d = c.t.og; switch (b) { case d.ca: for (d = 0; d < e; d++)(f = a[d]) && f.ca(); break; case d.xb: for (d = 0; d < e; d++)(f = a[d]) && f.xb(); break; case d.Ki: for (d = 0; d < e; d++)(f = a[d]) && f.Ki(); break; case d.uf: for (d = 0; d < e; d++)(f = a[d]) && f.uf(); break; case d.Ff: for (d = 0; d < e; d++)(f = a[d]) && f.Ff(); break; case d.Og: for (d = 0; d < e; d++)(f = a[d]) && f.Og(); break; case d.jd: for (d = 0; d < e; d++)(f = a[d]) && f.jd(); break; default: c.assert(0, c.f.NU) } } }, Sa: null, si: function(a) { for (var b in a) this[b] = a[b] }, W3: function() { return this.ki }, a8: function(a) { this.ki = a; this.Sa() }, X3: function() { return this.li }, b8: function(a) { this.li = a; this.Sa() }, RR: function(a) { this.Jb = a; this.gc && this.gc.ar(this, a); c.wa.jy(this) }, ky: function(a) { this.Jb = a }, A3: function() { return this.Jb }, Gha: function() { c.log(c.f.UU); return this.Jb }, Qoa: function(a) { c.log(c.f.eV); this.RR(a) }, sna: function(a) { this.gk != a && (this.gk = a, c.wa.jy(this)) }, Ufa: function() { return this.gk }, g4: function() { return this.iu }, n8: function(a) { this.iu = a }, Lb: function() { this.sk !== this.rn && c.log(c.f.SU); return this.sk }, Xb: function(a) { this.sk = this.rn = a; this.Sl = 0.017453292519943295 * this.sk; this.hy = 0.017453292519943295 * this.rn; this.Sa() }, R3: function() { return this.sk }, Y7: function(a) { this.sk = a; this.Sl = 0.017453292519943295 * this.sk; this.Sa() }, S3: function() { return this.rn }, Z7: function(a) { this.rn = a; this.hy = 0.017453292519943295 * this.rn; this.Sa() }, T3: function() { this.ma !== this.Na && c.log(c.f.TU); return this.ma }, Wk: function(a, b) { this.ma = a; this.Na = b || 0 === b ? b : a; this.Sa() }, IP: function() { return this.ma }, uv: function(a) { this.ma = a; this.Sa() }, JP: function() { return this.Na }, vv: function(a) { this.Na = a; this.Sa() }, J: function(a, b) { var d = this.va; void 0 === b ? (d.x = a.x, d.y = a.y) : (d.x = a, d.y = b); this.Sa() }, we: function() { return c.d(this.va) }, Se: function() { return this.va.x }, qI: function(a) { this.va.x = a; this.Sa() }, Mg: function() { return this.va.y }, rI: function(a) { this.va.y = a; this.Sa() }, e3: function() { return this.u.length }, d3: function() { return this.u }, T4: function() { return this.Ja }, hS: function(a) { this.Ja = a; this.Sa() }, Zea: function() { return this.dd }, Vk: function(a, b) { var d = this.dd; if (void 0 === b) { if (a.x === d.x && a.y === d.y) return; d.x = a.x; d.y = a.y } else { if (a === d.x && b === d.y) return; d.x = a; d.y = b } var e = this.lb, f = this.S; e.x = f.width * d.x; e.y = f.height * d.y; this.Sa() }, Mba: function() { return this.dd }, GN: function(a) { var b = a.x; a = a.y; this.dd.x !== b && (this.dd.x = b, this.lb.x = this.S.width * b); this.dd.y !== a && (this.dd.y = a, this.lb.y = this.S.height * a); this.Sa() }, SY: function() { return this.dd.x }, XE: function(a) { this.dd.x !== a && (this.dd.x = a, this.lb.x = this.S.width * a, this.Sa()) }, TY: function() { return this.dd.y }, YE: function(a) { this.dd.y !== a && (this.dd.y = a, this.lb.y = this.S.height * a, this.Sa()) }, $ea: function() { return this.lb }, Wh: function() { return this.S.width }, vk: function(a) { this.S.width = a; this.lb.x = a * this.dd.x; this.Sa() }, Jl: function() { return this.S.height }, uk: function(a) { this.S.height = a; this.lb.y = a * this.dd.y; this.Sa() }, ve: function() { return this.S }, ye: function(a, b) { var d = this.S; if (void 0 === b) { if (a.width === d.width && a.height === d.height) return; d.width = a.width; d.height = a.height } else { if (a === d.width && b === d.height) return; d.width = a; d.height = b } var e = this.lb, f = this.dd; e.x = d.width * f.x; e.y = d.height * f.y; this.Sa() }, R4: function() { return this.ii }, getParent: function() { return this.gc }, O7: function(a) { this.gc = a }, O4: function() { return this.$h }, qz: function(a) { a != this.$h && (this.$h = a, this.Sa()) }, Dq: function() { return this.tag }, to: function(a) { this.tag = a }, Ina: function() { this.yt }, getName: function() { return this.yt }, getUserData: function() { return this.userData }, setUserData: function(a) { this.userData = a }, Aha: function() { return this.userObject }, Noa: function(a) { this.userObject != a && (this.userObject = a) }, xga: function() { return this.arrivalOrder }, Ona: function(a) { this.arrivalOrder = a }, bz: function() { this.lh || (this.lh = c.L.bz()); return this.lh }, ER: function(a) { this.lh != a && (this.Dv(), this.lh = a) }, km: function() { this.Dg || (this.Dg = c.L.km()); return this.Dg }, aS: function(a) { this.Dg != a && (this.MA(), this.Dg = a) }, ffa: function() { var a = c.rect(0, 0, this.S.width, this.S.height); return c.JX(a, this.Ve()) }, uf: function() { this.Dv(); this.MA(); c.wa.rR(this); this.mh(this.u, c.t.og.uf) }, cg: function(a) { var b = this.u; if (null != b) for (var d = 0; d < b.length; d++) { var e = b[d]; if (e && e.tag == a) return e } return null }, mfa: function(a) { if (!a) return c.log("Invalid name"), null; for (var b = this.u, d = 0, e = b.length; d < e; d++) if (b[d].yt == a) return b[d]; return null }, M: function(a, b, d) { c.assert(a, c.f.QU); a === this ? c.log(c.f.OU) : null !== a.gc ? c.log(c.f.PU) : (b = null != b ? b : a.Jb, a.tag = null != d ? d : a.tag, this.LZ(a, b), a.gc = this, this.bk && (a.bk = this.bk), this.ii && (a.ca(), this.$D && a.Ki())) }, vm: function(a) { this.gc && (null == a && (a = !0), this.gc.removeChild(this, a)) }, jma: function(a) { c.log(c.f.ZU); this.vm(a) }, removeChild: function(a, b) { 0 !== this.u.length && (null == b && (b = !0), -1 < this.u.indexOf(a) && this.AY(a, b), this.Sa()) }, ZH: function(a, b) { a === c.AJ && c.log(c.f.XU); var d = this.cg(a); null == d ? c.log(c.f.YU, a) : this.removeChild(d, b) }, bma: function(a) { c.log(c.f.WU); this.Sg(a) }, Sg: function(a) { var b = this.u; if (null != b) { null == a && (a = !0); for (var d = 0; d < b.length; d++) { var e = b[d]; e && (this.ii && (e.Og(), e.xb()), a && e.uf(), e.parent = null) } this.u.length = 0 } }, AY: function(a, b) { this.ii && (a.Og(), a.xb()); b && a.uf(); a.parent = null; c.tf(this.u, a) }, LZ: function(a, b) { this.se = !0; this.u.push(a); a.ky(b) }, ar: function(a, b) { c.assert(a, c.f.$U); this.se = !0; a.arrivalOrder = c.yR; c.yR++; a.ky(b); this.Sa() }, jd: function() { if (this.se) { var a = this.u, b = a.length, d, e, f; for (d = 1; d < b; d++) { f = a[d]; for (e = d - 1; 0 <= e;) { if (f.Jb < a[e].Jb) a[e + 1] = a[e]; else if (f.Jb === a[e].Jb && f.arrivalOrder < a[e].arrivalOrder) a[e + 1] = a[e]; else break; e-- } a[e + 1] = f } this.se = !1 } }, Y: function() {}, KA: function() { null != this.gc && (this.gc.KA(), this.gc.transform()) }, ca: function() { this.$D = !1; this.ii = !0; this.mh(this.u, c.t.og.ca); this.br() }, Ki: function() { this.$D = !0; this.mh(this.u, c.t.og.Ki) }, Og: function() { this.mh(this.u, c.t.og.Og) }, xb: function() { this.ii = !1; this.pause(); this.mh(this.u, c.t.og.xb); this.$i && this.$i.K6() }, yb: function(a) { c.assert(a, c.f.bV); this.actionManager.Z0(a, this, !this.ii); return a }, Dv: function() { this.actionManager && this.actionManager.pR(this) }, F8: function(a) { this.actionManager.oR(a) }, G8: function(a) { a === c.zo ? c.log(c.f.fV) : this.actionManager.J6(a, this) }, NG: function(a) { return a === c.zo ? (c.log(c.f.RU), null) : this.actionManager.NG(a, this) }, rga: function() { return this.actionManager.O5(this) }, zR: function() { this.AR(0) }, AR: function(a) { this.scheduler.fI(this, a, !this.ii) }, HS: function() { this.scheduler.Lv(this) }, po: function(a, b, d, e) { b = b || 0; c.assert(a, c.f.cV); c.assert(0 <= b, c.f.dV); d = null == d ? c.js : d; this.scheduler.f7(this, a, b, d, e || 0, !this.ii) }, Fma: function(a, b) { this.po(a, 0, 0, b) }, Kv: function(a) { a && this.scheduler.GS(this, a) }, MA: function() { this.scheduler.FS(this) }, uma: function() { c.log(c.f.aV); this.br() }, br: function() { this.scheduler.Uk(this); this.actionManager && this.actionManager.Uk(this); c.wa.Uk(this) }, yla: function() { c.log(c.f.VU); this.pause() }, pause: function() { this.scheduler.Xq(this); this.actionManager && this.actionManager.Xq(this); c.wa.Xq(this) }, Mma: function(a) { this.Rw = a; this.Js = this.sj = !0 }, vla: function() { this.Hx && (this.FM = c.VI(this.Ve()), this.Hx = !1); return this.FM }, Tq: function() { for (var a = this.Ve(), b = this.gc; null != b; b = b.parent) a = c.Dm(a, b.Ve()); return a }, r9: function() { return c.VI(this.Tq()) }, CG: function(a) { return c.UJ(a, this.r9()) }, hm: function(a) { a = a || c.d(0, 0); return c.UJ(a, this.Tq()) }, d2: function(a) { return c.de(this.CG(a), this.lb) }, Nn: function(a) { a = a || c.d(0, 0); a = c.Ij(a, this.lb); return this.hm(a) }, Fba: function(a) { a = this.hm(a); return c.L.e2(a) }, qda: function(a) { return this.CG(a.Aq()) }, rda: function(a) { a = a.Aq(); a = c.L.c2(a); return this.d2(a) }, update: function(a) { this.$i && !this.$i.eia() && this.$i.U(a) }, Ff: function() { this.mh(this.u, c.t.og.Ff) }, nA: function() {}, Lj: function() {}, g3: function(a) { return this.$i.g3(a) }, rca: function(a) { this.$i.add(a) }, hma: function(a) { return this.$i.remove(a) }, cma: function() { this.$i.K6() }, grid: null, ctor: null, U: null, transform: null, Ve: null, ji: function() { if (!1 === this.nh) { this.nh = !0; var a = this.bk; a && a != this && a.ji() } }, ZE: function(a) { if (this.bk != a) { this.bk = a; for (var b = this.u, d = 0, e = b.length; d < e; d++) b[d].ZE(a) } }, Yn: function() { this.ck || (this.ck = new c.Dr); return this.ck }, Fu: function() { return this.grid }, E7: function(a) { this.grid = a }, ZG: function() { return this.Sb }, uI: function(a) { this.Sb = a }, r3: function() { return this.OD }, D7: function(a) { this.OD = a }, b3: function() { var a = c.rect(0, 0, this.S.width, this.S.height), b = this.Tq(), a = c.SB(a, this.Tq()); if (!this.u) return a; for (var d = this.u, e = 0; e < d.length; e++) { var f = d[e]; f && f.Ja && (f = f.it(b)) && (a = c.jA(a, f)) } return a }, it: function(a) { var b = c.rect(0, 0, this.S.width, this.S.height); a = null == a ? this.Ve() : c.Dm(this.Ve(), a); b = c.SB(b, a); if (!this.u) return b; for (var d = this.u, e = 0; e < d.length; e++) { var f = d[e]; f && f.Ja && (f = f.it(a)) && (b = c.jA(b, f)) } return b }, d_: function() { if (this.sj) { var a = this.va.x, b = this.va.y, d = this.lb.x, e = -d, f = this.lb.y, g = -f, h = this.ma, k = this.Na; this.$h && (a += d, b += f); var m = 1, n = 0, q = 1, r = 0; if (0 !== this.sk || 0 !== this.rn) m = Math.cos(-this.Sl), n = Math.sin(-this.Sl), q = Math.cos(-this.hy), r = Math.sin(-this.hy); var t = this.ki || this.li; t || 0 === d && 0 === f || (a += q * e * h + -n * g * k, b += r * e * h + m * g * k); var s = this.pi; s.a = q * h; s.b = r * h; s.C = -n * k; s.D = m * k; s.xa = a; s.ya = b; t && (s = c.Dm({ a: 1, b: Math.tan(c.ag(this.li)), C: Math.tan(c.ag(this.ki)), D: 1, xa: 0, ya: 0 }, s), 0 !== d || 0 !== f) && (s = c.cT(s, e, g)); this.Js && (s = c.Dm(s, this.Rw), this.Js = !1); this.pi = s; this.sj = !1 } return this.pi } }); c.t.create = function() { return new c.t }; c.t.og = { ca: 1, xb: 2, uf: 3, Ki: 4, Ff: 5, Og: 6, jd: 7 }; c.F === c.Ha ? (p = c.t.prototype, p.ctor = function() { this.SD() }, p.Sa = function() { this.ji(); !1 === this.sj && (this.sj = this.Hx = !0) }, p.U = function(a) { if (this.Ja) { a = a || c.m; var b, d = this.u, e; a.save(); this.transform(a); var f = d.length; if (0 < f) { this.jd(); for (b = 0; b < f; b++) if (e = d[b], 0 > e.Jb) e.U(a); else break; for (this.Y(a); b < f; b++) d[b].U(a) } else this.Y(a); this.nh = !1; this.arrivalOrder = 0; a.restore() } }, p.transform = function(a) { a = a || c.m; var b = c.view, d = this.Ve(); a.transform(d.a, d.C, d.b, d.D, d.xa * b.ma, -d.ya * b.Na) }, p.Ve = function() { if (this.sj) { var a = this.pi; a.xa = this.va.x; a.ya = this.va.y; var b = 1, d = 0; this.sk && (b = Math.cos(this.Sl), d = Math.sin(this.Sl)); a.a = a.D = b; a.b = -d; a.C = d; var e = this.ma, f = this.Na, g = this.lb.x, h = this.lb.y, k = 1E-6 > e && -1E-6 < e ? 1E-6 : e, m = 1E-6 > f && -1E-6 < f ? 1E-6 : f; if (this.ki || this.li) { var n = Math.tan(-this.ki * Math.PI / 180), q = Math.tan(-this.li * Math.PI / 180); Infinity === n && (n = 99999999); Infinity === q && (q = 99999999); var r = h * n * k, t = g * q * m; a.a = b + -d * q; a.b = b * n + -d; a.C = d + b * q; a.D = d * n + b; a.xa += b * r + -d * t; a.ya += d * r + b * t } if (1 !== e || 1 !== f) a.a *= k, a.C *= k, a.b *= m, a.D *= m; a.xa += b * -g * k + -d * h * m; a.ya -= d * -g * k + b * h * m; this.$h && (a.xa += g, a.ya += h); this.Js && (this.pi = c.Dm(a, this.Rw), this.Js = !1); this.sj = !1 } return this.pi }, p = null) : (c.assert("function" === typeof c.H.CC, c.f.cd, "BaseNodesWebGL.js"), c.H.CC(), delete c.H.CC); c.assert("function" === typeof c.H.HB, c.f.cd, "BaseNodesPropertyDefine.js"); c.H.HB(); delete c.H.HB; c.la = c.t.extend({ Ib: !0, Ia: 255, re: 255, Ma: null, pc: null, Ud: !1, De: !1, ctor: function() { c.t.prototype.ctor.call(this); this.re = this.Ia = 255; this.Ma = c.color(255, 255, 255, 255); this.pc = c.color(255, 255, 255, 255); this.De = this.Ud = !1 }, sc: function() {}, yf: function() { return this.re }, sP: function() { return this.Ia }, Fa: function(a) { this.Ia = this.re = a; var b = 255, d = this.gc; d && d.Ib && d.cascadeOpacity && (b = d.Ia); this.Zb(b); this.Ma.a = this.pc.a = a }, Zb: function(a) { this.Ia = this.re * a / 255; if (this.De) { a = this.u; for (var b = 0; b < a.length; b++) { var d = a[b]; d && d.Ib && d.Zb(this.Ia) } } }, Pu: function() { return this.De }, er: function(a) { this.De !== a && ((this.De = a) ? this.bt() : this.oD()) }, bt: function() { var a = 255, b = this.gc; b && b.Ib && b.cascadeOpacity && (a = b.Ia); this.Zb(a) }, oD: function() { this.Ia = this.re; for (var a = this.u, b = 0; b < a.length; b++) { var d = a[b]; d && d.Ib && d.Zb(255) } }, xf: function() { var a = this.pc; return c.color(a.r, a.g, a.b, a.a) }, Zn: function() { var a = this.Ma; return c.color(a.r, a.g, a.b, a.a) }, Va: function(a) { var b = this.Ma, d = this.pc; b.r = d.r = a.r; b.g = d.g = a.g; b.b = d.b = a.b; b = (b = this.gc) && b.Ib && b.cascadeColor ? b.Zn() : c.color.WHITE; this.bc(b); void 0 === a.a || a.mu || this.Fa(a.a) }, bc: function(a) { var b = this.Ma, d = this.pc; b.r = 0 | d.r * a.r / 255; b.g = 0 | d.g * a.g / 255; b.b = 0 | d.b * a.b / 255; if (this.Ud) for (a = this.u, d = 0; d < a.length; d++) { var e = a[d]; e && e.Ib && e.bc(b) } }, Ou: function() { return this.Ud }, dr: function(a) { this.Ud !== a && ((this.Ud = a) ? this.at() : this.nD()) }, at: function() { var a; a = (a = this.gc) && a.Ib && a.cascadeColor ? a.Zn() : c.color.WHITE; this.bc(a) }, nD: function() { var a = this.Ma, b = this.pc; a.r = b.r; a.g = b.g; a.b = b.b; for (var a = this.u, b = c.color.WHITE, d = 0; d < a.length; d++) { var e = a[d]; e && e.Ib && e.bc(b) } }, M: function(a, b, d) { c.t.prototype.M.call(this, a, b, d); this.Ud && this.at(); this.De && this.bt() }, ee: function() {}, Ue: function() { return !1 } }); c.la.create = function() { var a = new c.la; a.K(); return a }; c.assert("function" === typeof c.H.IB, c.f.cd, "BaseNodesPropertyDefine.js"); c.H.IB(); delete c.H.IB; c.t.paa = 0; c.t.raa = 1; c.t.qaa = 2; c.t.saa = 3; c.t.oaa = 4; c.Sj = c.la.extend({ textureAtlas: null, quadsToDraw: 0, Ib: !0, Ip: 0, NM: 0, ej: 0, bi: 0, Wm: null, Xa: !1, q: null, Ex: !1, ob: "AtlasNode", ctor: function(a, b, d, e) { c.la.prototype.ctor.call(this); this.Wm = c.color.WHITE; this.q = { src: c.vc, W: c.uc }; this.Ex = !1; void 0 !== e && this.C4(a, b, d, e) }, rr: function() { c.log(c.f.dT) }, xf: function() { return this.Xa ? this.Wm : c.la.prototype.xf.call(this) }, ee: function(a) { var b = this.color; this.Xa = a; this.color = b }, Ue: function() { return this.Xa }, xi: function() { return this.q }, zf: function(a, b) { this.q = void 0 === b ? a : { src: a, W: b } }, xI: function(a) { this.textureAtlas = a }, bH: function() { return this.textureAtlas }, Nga: function() { return this.quadsToDraw }, $na: function(a) { this.quadsToDraw = a }, bm: null, Je: null, KF: null, Ss: null, C4: function(a, b, d, e) { if (!a) throw "cc.AtlasNode.initWithTileFile(): title should not be null"; a = c.Ka.Qc(a); return this.pa(a, b, d, e) }, pa: null, UD: function(a, b, d, e) { this.ej = b; this.bi = d; this.Xa = !0; this.Je = a; if (!this.Je) return c.log(c.f.WI), !1; this.bm = this.Je; this.Zw(); this.quadsToDraw = e; return !0 }, VD: function(a, b, d, e) { this.ej = b; this.bi = d; this.Wm = c.color.WHITE; this.Xa = !0; this.q.src = c.vc; this.q.W = c.uc; b = this.pc; this.Ss = new Float32Array([b.r / 255, b.g / 255, b.b / 255, this.re / 255]); this.textureAtlas = new c.ml; this.textureAtlas.pa(a, e); if (!this.textureAtlas) return c.log(c.f.WI), !1; this.Gg(); this.fO(); this.Zw(); this.quadsToDraw = e; this.shaderProgram = c.ge.Dc(c.XB); this.KF = c.m.getUniformLocation(this.shaderProgram.$n(), "u_color"); return !0 }, Y: null, fk: function(a) { a = a || c.m; c.av(this); c.Ai(this.q.src, this.q.W); this.KF && this.Ss && (a.uniform4fv(this.KF, this.Ss), this.textureAtlas.bP(this.quadsToDraw)) }, Va: null, U_: function(a) { var b = this.pc; if (b.r != a.r || b.g != a.g || b.b != a.b) { b = c.color(a.r, a.g, a.b); this.Wm = a; if (this.Xa) { var d = this.Ia; b.r = b.r * d / 255; b.g = b.g * d / 255; b.b = b.b * d / 255 } c.la.prototype.Va.call(this, a); this.texture && (a = this.Je.Ob) && (b = c.Ka.iz(a)) && (d = c.rect(0, 0, a.width, a.height), a = c.wq(a, b, this.pc, d), b = new c.ia, b.Ld(a), b.$b(), this.texture = b) } }, V_: function(a) { var b = c.color(a.r, a.g, a.b); this.Wm = a; var d = this.Ia; this.Xa && (b.r = b.r * d / 255, b.g = b.g * d / 255, b.b = b.b * d / 255); c.la.prototype.Va.call(this, a); a = this.Ma; this.Ss = new Float32Array([a.r / 255, a.g / 255, a.b / 255, d / 255]) }, Fa: function() {}, eF: function(a) { c.la.prototype.Fa.call(this, a); this.Xa && (this.color = this.Wm) }, fF: function(a) { c.la.prototype.Fa.call(this, a); this.Xa ? this.color = this.Wm : (a = this.Ma, this.Ss = new Float32Array([a.r / 255, a.g / 255, a.b / 255, this.Ia / 255])) }, Ua: null, jt: function() { return this.bm }, ND: function() { return this.textureAtlas.texture }, zb: null, jF: function(a) { this.bm = a }, kF: function(a) { this.textureAtlas.texture = a; this.Gg(); this.fO() }, Zw: null, dY: function() { var a = this.texture.ve(); this.NM = 0 | a.height / this.bi; this.Ip = 0 | a.width / this.ej }, eY: function() { var a = this.texture, b = a.ve(); this.Ex && (b = a.S); this.NM = 0 | b.height / this.bi; this.Ip = 0 | b.width / this.ej }, Gg: function() { this.textureAtlas.texture.xj() || (this.q.src = c.SRC_ALPHA, this.q.W = c.ONE_MINUS_SRC_ALPHA) }, fO: function() { this.Xa = this.textureAtlas.texture.xj() }, bF: function(a) { this.Ex = a } }); p = c.Sj.prototype; c.F === c.ea ? (p.pa = p.VD, p.Y = p.fk, p.Va = p.V_, p.Fa = p.fF, p.Ua = p.ND, p.zb = p.kF, p.Zw = p.eY) : (p.pa = p.UD, p.Y = c.t.prototype.Y, p.Va = p.U_, p.Fa = p.eF, p.Ua = p.jt, p.zb = p.jF, p.Zw = p.dY); c.i(p, "opacity", p.yf, p.Fa); c.i(p, "color", p.xf, p.Va); c.i(p, "texture", p.Ua, p.zb); c.Sj.create = function(a, b, d, e) { return new c.Sj(a, b, d, e) }; c.H.IC = function() { c.ia = c.qa.extend({ Zba: !0, kj: null, qk: 0, pk: 0, yt: "", S: null, Gj: 0, Hj: 0, Dx: !1, Ap: !1, shaderProgram: null, Kc: !1, Ob: null, te: null, url: null, pb: null, ctor: function() { this.S = c.size(0, 0); this.kj = c.ia.TO }, YH: function() { this.te && c.m.deleteTexture(this.te); c.X.Lj(this.url) }, AP: function() { return this.kj }, CP: function() { return this.qk }, BP: function() { return this.pk }, getName: function() { return this.te }, ve: function() { return c.size(this.S.width / c.wb(), this.S.height / c.wb()) }, Wh: function() { return this.S.width / c.wb() }, Jl: function() { return this.S.height / c.wb() }, h3: function() { return this.S }, F3: function() { return this.Gj }, I7: function(a) { this.Gj = a }, G3: function() { return this.Hj }, J7: function(a) { this.Hj = a }, ZG: function() { return this.shaderProgram }, uI: function(a) { this.shaderProgram = a }, xj: function() { return this.Dx }, o4: function() { return this.Ap }, description: function() { return "" }, I6: function() {}, Y4: function(a) { return a }, Mu: function(a, b, d, e, f) { var g = c.ia, h = c.m, k = h.RGBA, m = h.UNSIGNED_BYTE, n = d * c.ia.ZK[b] / 8; 0 === n % 8 ? h.pixelStorei(h.UNPACK_ALIGNMENT, 8) : 0 === n % 4 ? h.pixelStorei(h.UNPACK_ALIGNMENT, 4) : 0 === n % 2 ? h.pixelStorei(h.UNPACK_ALIGNMENT, 2) : h.pixelStorei(h.UNPACK_ALIGNMENT, 1); this.te = h.createTexture(); c.Te(this); h.texParameteri(h.TEXTURE_2D, h.TEXTURE_MIN_FILTER, h.LINEAR); h.texParameteri(h.TEXTURE_2D, h.TEXTURE_MAG_FILTER, h.LINEAR); h.texParameteri(h.TEXTURE_2D, h.TEXTURE_WRAP_S, h.CLAMP_TO_EDGE); h.texParameteri(h.TEXTURE_2D, h.TEXTURE_WRAP_T, h.CLAMP_TO_EDGE); switch (b) { case g.Yj: k = h.RGBA; break; case g.gs: k = h.RGB; break; case g.qw: m = h.UNSIGNED_SHORT_4_4_4_4; break; case g.pw: m = h.UNSIGNED_SHORT_5_5_5_1; break; case g.fs: m = h.UNSIGNED_SHORT_5_6_5; break; case g.BB: k = h.LUMINANCE_ALPHA; break; case g.es: k = h.ALPHA; break; case g.CB: k = h.LUMINANCE; break; default: c.assert(0, c.f.RW) } h.texImage2D(h.TEXTURE_2D, 0, k, d, e, 0, k, m, a); this.S.width = f.width; this.S.height = f.height; this.qk = d; this.pk = e; this.kj = b; this.Gj = f.width / d; this.Hj = f.height / e; this.Ap = this.Dx = !1; this.shaderProgram = c.ge.Dc(c.ns); return this.Kc = !0 }, s2: function(a) { var b = [0, this.Hj, this.Gj, this.Hj, 0, 0, this.Gj, 0], d = this.qk * this.Gj, e = this.pk * this.Hj; a = [a.x, a.y, 0, d + a.x, a.y, 0, a.x, e + a.y, 0, d + a.x, e + a.y, 0]; c.Xc(c.ke | c.Ro); this.Sb.$c(); this.Sb.zv(); c.Te(this); d = c.m; d.vertexAttribPointer(c.Ab, 2, d.FLOAT, !1, 0, a); d.vertexAttribPointer(c.Sd, 2, d.FLOAT, !1, 0, b); d.drawArrays(d.TRIANGLE_STRIP, 0, 4) }, v2: function(a) { var b = [0, this.Hj, this.Gj, this.Hj, 0, 0, this.Gj, 0]; a = [a.x, a.y, a.x + a.width, a.y, a.x, a.y + a.height, a.x + a.width, a.y + a.height]; c.Xc(c.ke | c.Ro); this.Sb.$c(); this.Sb.zv(); c.Te(this); var d = c.m; d.vertexAttribPointer(c.Ab, 2, d.FLOAT, !1, 0, a); d.vertexAttribPointer(c.Sd, 2, d.FLOAT, !1, 0, b); d.drawArrays(d.TRIANGLE_STRIP, 0, 4) }, kQ: function(a) { if (null == a) return c.log(c.f.UW), !1; var b = a.i4(), d = a.t3(), e = c.nq.wt; if (b > e || d > e) return c.log(c.f.VW, b, d, e, e), !1; this.Kc = !0; return this.EZ(a, b, d) }, Ld: function(a) { a && (this.te = c.m.createTexture(), this.Ob = a) }, v3: function() { return this.Ob }, P4: function() { return this.Kc }, $b: function() { if (c.fy) { if (!this.Ob) { var a = c.X.be(this.url); if (!a) return; this.Ld(a) } this.Ob.width && this.Ob.height && (this.Kc = !0, a = c.m, c.Te(this), a.pixelStorei(a.UNPACK_ALIGNMENT, 4), a.texImage2D(a.TEXTURE_2D, 0, a.RGBA, a.RGBA, a.UNSIGNED_BYTE, this.Ob), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.LINEAR), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE), this.shaderProgram = c.ge.Dc(c.ns), c.Te(null), a = this.Ob.height, this.qk = this.S.width = this.Ob.width, this.pk = this.S.height = a, this.kj = c.ia.Yj, this.Hj = this.Gj = 1, this.Ap = this.Dx = !1, this.me()) } }, Md: function() { c.log(c.f.$W); return null }, w4: function() { c.log(c.f.TW); return !1 }, z4: function() { c.log(c.f.XW); return !1 }, A4: function() { c.log(c.f.ZW); return !1 }, g8: function(a) { var b = c.m; c.assert(this.qk == c.fl(this.qk) && this.pk == c.fl(this.pk) || a.s9 == b.CLAMP_TO_EDGE && a.t9 == b.CLAMP_TO_EDGE, "WebGLRenderingContext.CLAMP_TO_EDGE should be used in NPOT textures"); c.Te(this); b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, a.xka); b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MAG_FILTER, a.uka); b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_S, a.s9); b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_T, a.t9) }, k7: function() { var a = c.m; c.Te(this); this.Ap ? a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR_MIPMAP_NEAREST) : a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR); a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST) }, hI: function() { var a = c.m; c.Te(this); this.Ap ? a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST_MIPMAP_NEAREST) : a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST); a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST) }, generateMipmap: function() { c.assert(this.qk == c.fl(this.qk) && this.pk == c.fl(this.pk), "Mimpap texture only works in POT textures"); c.Te(this); c.m.generateMipmap(c.m.TEXTURE_2D); this.Ap = !0 }, K8: function() { return c.ia.IX[this.kj] }, H1: function(a) { a = a || this.kj; var b = c.ia.ZK[a]; if (null != b) return b; c.log(c.f.QW, a); return -1 }, EZ: function(a, b, d) { var e = c.ia, f = a.getData(), g = null, g = null, h = a.Oha(), k = c.size(a.i4(), a.t3()), m = e.TO, n = a.efa(); h || (8 <= n ? m = e.gs : (c.log(c.f.NW), m = e.fs)); var q = b * d; if (m == e.fs) if (h) for (f = new Uint16Array(b * d), g = a.getData(), n = 0; n < q; ++n) f[n] = (g[n] >> 0 & 255) >> 3 << 11 | (g[n] >> 8 & 255) >> 2 << 5 | (g[n] >> 16 & 255) >> 3 << 0; else for (f = new Uint16Array(b * d), g = a.getData(), n = 0; n < q; ++n) f[n] = (g[n] & 255) >> 3 << 11 | (g[n] & 255) >> 2 << 5 | (g[n] & 255) >> 3 << 0; else if (m == e.qw) for (f = new Uint16Array(b * d), g = a.getData(), n = 0; n < q; ++n) f[n] = (g[n] >> 0 & 255) >> 4 << 12 | (g[n] >> 8 & 255) >> 4 << 8 | (g[n] >> 16 & 255) >> 4 << 4 | (g[n] >> 24 & 255) >> 4 << 0; else if (m == e.pw) for (f = new Uint16Array(b * d), g = a.getData(), n = 0; n < q; ++n) f[n] = (g[n] >> 0 & 255) >> 3 << 11 | (g[n] >> 8 & 255) >> 3 << 6 | (g[n] >> 16 & 255) >> 3 << 1 | (g[n] >> 24 & 255) >> 7 << 0; else if (m == e.es) for (f = new Uint8Array(b * d), g = a.getData(), n = 0; n < q; ++n) f[n] = g >> 24 & 255; if (h && m == e.gs) for (g = a.getData(), f = new Uint8Array(b * d * 3), n = 0; n < q; ++n) f[3 * n] = g >> 0 & 255, f[3 * n + 1] = g >> 8 & 255, f[3 * n + 2] = g >> 16 & 255; this.Mu(f, m, b, d, k); a.getData(); this.Dx = a.lia(); return !0 }, ue: function(a, b) { this.pb || (this.pb = []); this.pb.push({ wi: a, Kg: b }) }, O6: function(a) { if (this.pb) for (var b = this.pb, d = 0; d < b.length; d++) b[d].Kg == a && b.splice(d, 1) }, me: function() { if (this.pb) { for (var a = this.pb, b = 0, d = a.length; b < d; b++) { var e = a[b]; e.wi.call(e.Kg, this) } a.length = 0 } } }) }; c.H.JC = function() { var a = c.ml.prototype; a.tn = function() { var a = c.m; this.Jc[0] = a.createBuffer(); this.Jc[1] = a.createBuffer(); this.on = a.createBuffer(); this.Px() }; a.Px = function() { var a = c.m; a.bindBuffer(a.ARRAY_BUFFER, this.on); a.bufferData(a.ARRAY_BUFFER, this.qd, a.DYNAMIC_DRAW); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.Jc[1]); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.sb, a.STATIC_DRAW) }; a.bP = function(a) { var d; d = 0; if (0 !== a && this.texture && this.texture.Kc) { var e = c.m; c.Te(this.texture); c.Xc(c.Sm); e.bindBuffer(e.ARRAY_BUFFER, this.on); this.dirty && e.bufferData(e.ARRAY_BUFFER, this.qd, e.DYNAMIC_DRAW); e.vertexAttribPointer(c.Ab, 3, e.FLOAT, !1, 24, 0); e.vertexAttribPointer(c.ef, 4, e.UNSIGNED_BYTE, !0, 24, 12); e.vertexAttribPointer(c.Sd, 2, e.FLOAT, !1, 24, 16); this.dirty && (this.dirty = !1); e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, this.Jc[1]); c.eK ? e.drawElements(e.TRIANGLE_STRIP, 6 * a, e.UNSIGNED_SHORT, 6 * d * this.sb.BYTES_PER_ELEMENT) : e.drawElements(e.TRIANGLES, 6 * a, e.UNSIGNED_SHORT, 6 * d * this.sb.BYTES_PER_ELEMENT); c.Lg++ } } }; c.H.KC = function() { var a = c.Ka; a.$b = function(a) { var d = this.Vc; c.fy || (d = this.vt); var e = d[a]; e || (e = d[a] = new c.ia, e.url = a); e.$b() }; a.Qc = function(a, d, e) { c.assert(a, c.f.PW); var f = this.Vc; c.fy || (f = this.vt); var g = f[a] || f[c.X.Um[a]]; if (g) return d && d.call(e), g; c.X.be(a) || (c.X.pL(a) ? c.X.load(a, function() { d && d.call(e) }) : c.X.Ig[a] = c.X.Qq(a, function(e, f) { if (e) return d ? d(e) : e; c.Ka.$b(a); d && d(null, f) })); g = f[a] = new c.ia; g.url = a; return g }; delete a }; c.H.PB = function() { var a = c.ia; a.Aaa = function(a) { c.wV = a }; a.Yj = 2; a.gs = 3; a.fs = 4; a.es = 5; a.CB = 6; a.BB = 7; a.qw = 8; a.pw = 7; a.FJ = 9; a.EJ = 10; a.nV = a.Yj; var b = c.ia.IX = {}; b[a.Yj] = "RGBA8888"; b[a.gs] = "RGB888"; b[a.fs] = "RGB565"; b[a.es] = "A8"; b[a.CB] = "I8"; b[a.BB] = "AI88"; b[a.qw] = "RGBA4444"; b[a.pw] = "RGB5A1"; b[a.FJ] = "PVRTC4"; b[a.EJ] = "PVRTC2"; b = c.ia.ZK = {}; b[a.Yj] = 32; b[a.gs] = 24; b[a.fs] = 16; b[a.es] = 8; b[a.CB] = 8; b[a.BB] = 16; b[a.qw] = 16; b[a.pw] = 16; b[a.FJ] = 4; b[a.EJ] = 3; b = c.ia.prototype; c.i(b, "name", b.getName); c.i(b, "pixelFormat", b.AP); c.i(b, "pixelsWidth", b.CP); c.i(b, "pixelsHeight", b.BP); c.i(b, "width", b.Wh); c.i(b, "height", b.Jl); a.TO = a.nV }; c.H.QB = function() { var a = c.ml.prototype; c.i(a, "totalQuads", a.TP); c.i(a, "capacity", a.qP); c.i(a, "quads", a.DP, a.WR) }; c.A9 = 51; c.D9 = 19; c.F9 = 18; c.C9 = 50; c.z9 = 34; c.x9 = 35; c.y9 = 33; c.B9 = 49; c.E9 = 17; c.wV = !1; c.F === c.Ha ? c.ia = c.qa.extend({ S: null, Kc: !1, Ob: null, pb: null, url: null, ctor: function() { this.S = c.size(0, 0); this.Kc = !1; this.Ob = null }, CP: function() { return this.S.width }, BP: function() { return this.S.height }, ve: function() { var a = c.wb(); return c.size(this.S.width / a, this.S.height / a) }, Wh: function() { return this.S.width / c.wb() }, Jl: function() { return this.S.height / c.wb() }, h3: function() { return this.S }, Ld: function(a) { a && (this.Ob = a) }, v3: function() { return this.Ob }, P4: function() { return this.Kc }, $b: function() { if (!this.Kc) { if (!this.Ob) { var a = c.X.be(this.url); if (!a) return; this.Ld(a) } this.Kc = !0; a = this.Ob; this.S.width = a.width; this.S.height = a.height; this.me() } }, description: function() { return "" }, Mu: function() { return !1 }, kQ: function() { return !1 }, Md: function() { return !1 }, YH: function() {}, getName: function() { return null }, F3: function() { return 1 }, I7: function() {}, G3: function() { return 1 }, J7: function() {}, AP: function() { return null }, ZG: function() { return null }, uI: function() {}, xj: function() { return !1 }, o4: function() { return !1 }, I6: function() {}, Y4: function(a) { return a }, s2: function() {}, v2: function() {}, w4: function() { c.log(c.f.SW); return !1 }, z4: function() { c.log(c.f.WW); return !1 }, A4: function() { c.log(c.f.YW); return !1 }, g8: function() {}, k7: function() {}, hI: function() {}, generateMipmap: function() {}, K8: function() { return "" }, H1: function() { return -1 }, ue: function(a, b) { this.pb || (this.pb = []); this.pb.push({ wi: a, Kg: b }) }, O6: function(a) { if (this.pb) for (var b = this.pb, d = 0; d < b.length; d++) b[d].Kg == a && b.splice(d, 1) }, me: function() { if (this.pb) { for (var a = this.pb, b = 0, d = a.length; b < d; b++) { var e = a[b]; e.wi.call(e.Kg, this) } a.length = 0 } } }) : (c.assert("function" === typeof c.H.IC, c.f.cd, "TexturesWebGL.js"), c.H.IC(), delete c.H.IC); c.assert("function" === typeof c.H.PB, c.f.cd, "TexturesPropertyDefine.js"); c.H.PB(); delete c.H.PB; c.Ka = { Vc: {}, Zt: {}, FF: 0 | 1E3 * Math.random(), vt: {}, KZ: function() { var a, b = this.vt, d = this.Vc; for (a in b) { var e = b[a]; e.$b(); d[a] = e } this.vt = {} }, vca: function() { c.log(c.f.Q8) }, sca: function() { c.log(c.f.O8) }, description: function() { return "" }, uo: function(a) { return this.Vc[a] || this.Vc[c.X.Um[a]] }, x3: function(a) { for (var b in this.Vc) if (this.Vc[b] == a) return b; return null }, PY: function() { this.FF++; return "_textureKey_" + this.FF }, iz: function(a) { var b = this.x3(a); b || (b = a instanceof HTMLImageElement ? a.src : this.PY()); this.Zt[b] || (this.Zt[b] = c.vq(a)); return this.Zt[b] }, uca: function() { c.log(c.f.P8) }, fma: function() { var a = this.Vc, b; for (b in a) a[b] && a[b].YH(); this.Vc = {} }, qma: function(a) { if (a) { var b = this.Vc, d; for (d in b) b[d] == a && (b[d].YH(), delete b[d]) } }, rma: function(a) { null != a && this.Vc[a] && delete this.Vc[a] }, I1: function(a, b) { if (b instanceof c.ia) this.Vc[a] = b; else { var d = new c.ia; d.Ld(b); d.$b(); this.Vc[a] = d } }, Aca: function(a, b) { c.assert(a, c.f.S8); if (b && this.Vc[b]) return this.Vc[b]; var d = new c.ia; d.kQ(a); null != b && null != d ? this.Vc[b] = d : c.log(c.f.R8); return d }, Qda: function() { var a = 0, b = 0, d = this.Vc, e; for (e in d) { var f = d[e]; a++; f.Ob instanceof HTMLImageElement ? c.log(c.f.T8, e, f.Ob.src, f.pixelsWidth, f.pixelsHeight) : c.log(c.f.xS, e, f.pixelsWidth, f.pixelsHeight); b += f.pixelsWidth * f.pixelsHeight * 4 } d = this.Zt; for (e in d) { var f = d[e], g; for (g in f) { var h = f[g]; a++; c.log(c.f.xS, e, h.width, h.height); b += h.width * h.height * 4 } } c.log(c.f.U8, a, b / 1024, (b / 1048576).toFixed(2)) }, zl: function() { this.Vc = {}; this.Zt = {}; this.FF = 0 | 1E3 * Math.random(); this.vt = {} } }; c.F === c.Ha ? (p = c.Ka, p.$b = function(a) { var b = this.Vc, d = b[a]; d || (d = b[a] = new c.ia, d.url = a); d.$b() }, p.Qc = function(a, b, d) { c.assert(a, c.f.OW); var e = this.Vc, f = e[a] || e[c.X.Um[a]]; if (f) return b && b.call(d), f; f = e[a] = new c.ia; f.url = a; c.X.be(a) ? f.$b() : c.X.pL(a) ? c.X.load(a, function() { b && b.call(d) }) : c.X.Ig[a] = c.X.Qq(a, function(d, e) { if (d) return b ? b(d) : d; c.Ka.$b(a); b && b(null, e) }); return f }, p = null) : (c.assert("function" === typeof c.H.KC, c.f.cd, "TexturesWebGL.js"), c.H.KC(), delete c.H.KC); c.ml = c.qa.extend({ dirty: !1, texture: null, sb: null, Jc: null, Td: 0, Tc: null, qd: null, on: null, Bg: null, ctor: function(a, b) { this.Jc = []; "string" == typeof a ? this.mm(a, b) : a instanceof c.ia && this.pa(a, b) }, TP: function() { return this.Ta }, qP: function() { return this.Td }, Ua: function() { return this.texture }, zb: function(a) { this.texture = a }, vA: function(a) { this.dirty = a }, Qu: function() { return this.dirty }, DP: function() { return this.Tc }, WR: function(a) { this.Tc = a }, wY: function(a, b) { if (a) for (var d = 0; d < a.length; d++) this.ly(a[d], b + d) }, ly: function(a, b) { var d = this.Tc; d[b] ? (d[b].I = a.I, d[b].R = a.R, d[b].Q = a.Q, d[b].N = a.N) : d[b] = new c.Nb(a.Q, a.I, a.N, a.R, this.qd, b * c.Nb.BYTES_PER_ELEMENT) }, description: function() { return "" }, NN: function() { if (0 !== this.Td) for (var a = this.sb, b = this.Td, d = 0; d < b; d++) c.eK ? (a[6 * d + 0] = 4 * d + 0, a[6 * d + 1] = 4 * d + 0, a[6 * d + 2] = 4 * d + 2, a[6 * d + 3] = 4 * d + 1, a[6 * d + 4] = 4 * d + 3, a[6 * d + 5] = 4 * d + 3) : (a[6 * d + 0] = 4 * d + 0, a[6 * d + 1] = 4 * d + 1, a[6 * d + 2] = 4 * d + 2, a[6 * d + 3] = 4 * d + 3, a[6 * d + 4] = 4 * d + 2, a[6 * d + 5] = 4 * d + 1) }, tn: function() { var a = c.m; this.Jc[0] = a.createBuffer(); this.Jc[1] = a.createBuffer(); this.on = a.createBuffer(); this.Px() }, Px: function() { var a = c.m; a.bindBuffer(a.ARRAY_BUFFER, this.on); a.bufferData(a.ARRAY_BUFFER, this.qd, a.DYNAMIC_DRAW); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.Jc[1]); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.sb, a.STATIC_DRAW) }, mm: function(a, b) { var d = c.Ka.Qc(a); if (d) return this.pa(d, b); c.log(c.f.aX, a); return !1 }, pa: function(a, b) { c.assert(a, c.f.bX); this.Td = b |= 0; this.Ta = 0; this.texture = a; this.Tc = []; this.sb = new Uint16Array(6 * b); var d = c.Nb.BYTES_PER_ELEMENT; this.qd = new ArrayBuffer(d * b); this.Bg = new Uint8Array(this.qd); if ((!this.Tc || !this.sb) && 0 < b) return !1; for (var e = this.Tc, f = 0; f < b; f++) e[f] = new c.Nb(null, null, null, null, this.qd, f * d); this.NN(); this.tn(); return this.dirty = !0 }, OA: function(a, b) { c.assert(a, c.f.lX); c.assert(0 <= b && b < this.Td, c.f.mX); this.Ta = Math.max(b + 1, this.Ta); this.ly(a, b); this.dirty = !0 }, vH: function(a, b) { c.assert(b < this.Td, c.f.eX); this.Ta++; if (this.Ta > this.Td) c.log(c.f.mK); else { var d = c.Nb.BYTES_PER_ELEMENT, e = b * d, f = (this.Ta - 1 - b) * d; this.Tc[this.Ta - 1] = new c.Nb(null, null, null, null, this.qd, (this.Ta - 1) * d); this.Bg.set(this.Bg.subarray(e, e + f), e + d); this.ly(a, b); this.dirty = !0 } }, Wha: function(a, b, d) { d = d || a.length; c.assert(b + d <= this.Td, c.f.fX); var e = c.Nb.BYTES_PER_ELEMENT; this.Ta += d; if (this.Ta > this.Td) c.log(c.f.mK); else { var f = b * e, g = (this.Ta - 1 - b - d) * e, h = this.Ta - 1 - d, k; for (k = 0; k < d; k++) this.Tc[h + k] = new c.Nb(null, null, null, null, this.qd, (this.Ta - 1) * e); this.Bg.set(this.Bg.subarray(f, f + g), f + e * d); for (k = 0; k < d; k++) this.ly(a[k], b + k); this.dirty = !0 } }, Vha: function(a, b) { if (a !== b) { c.assert(0 <= b || b < this.Ta, c.f.cX); c.assert(0 <= a || a < this.Ta, c.f.dX); var d = c.Nb.BYTES_PER_ELEMENT, e = this.Bg, f = e.subarray(a * d, d), g; a > b ? (g = b * d, e.set(e.subarray(g, g + (a - b) * d), g + d), e.set(f, g)) : (g = (a + 1) * d, e.set(e.subarray(g, g + (b - a) * d), g - d), e.set(f, b * d)); this.dirty = !0 } }, sR: function(a) { c.assert(a < this.Ta, c.f.jX); var b = c.Nb.BYTES_PER_ELEMENT; this.Ta--; this.Tc.length = this.Ta; if (a !== this.Ta) { var d = (a + 1) * b; this.Bg.set(this.Bg.subarray(d, d + (this.Ta - a) * b), d - b) } this.dirty = !0 }, Q6: function(a, b) { c.assert(a + b <= this.Ta, c.f.kX); this.Ta -= b; if (a !== this.Ta) { var d = c.Nb.BYTES_PER_ELEMENT, e = (a + b) * d; this.Bg.set(this.Bg.subarray(e, e + (this.Ta - a) * d), a * d) } this.dirty = !0 }, qR: function() { this.Ta = this.Tc.length = 0 }, Vl: function(a) { this.dirty = a }, aI: function(a) { if (a == this.Td) return !0; var b = c.Nb.BYTES_PER_ELEMENT, d = this.Td; this.Ta = Math.min(this.Ta, a); var e = this.Td = 0 | a, f = this.Ta; if (null == this.Tc) for (this.Tc = [], this.qd = new ArrayBuffer(b * e), this.Bg = new Uint8Array(this.qd), a = 0; a < e; a++) this.Tc = new c.Nb(null, null, null, null, this.qd, a * b); else { var g, h, k = this.Tc; if (e > d) { g = []; h = new ArrayBuffer(b * e); for (a = 0; a < f; a++) g[a] = new c.Nb(k[a].Q, k[a].I, k[a].N, k[a].R, h, a * b); for (; a < e; a++) g[a] = new c.Nb(null, null, null, null, h, a * b) } else for (f = Math.max(f, e), g = [], h = new ArrayBuffer(b * e), a = 0; a < f; a++) g[a] = new c.Nb(k[a].Q, k[a].I, k[a].N, k[a].R, h, a * b); this.Bg = new Uint8Array(h); this.Tc = g; this.qd = h } null == this.sb ? this.sb = new Uint16Array(6 * e) : e > d ? (b = new Uint16Array(6 * e), b.set(this.sb, 0), this.sb = b) : this.sb = this.sb.subarray(0, 6 * e); this.NN(); this.Px(); return this.dirty = !0 }, cQ: function(a) { this.Ta += a }, OQ: function(a, b, d) { if (void 0 === d) { if (d = b, b = this.Ta - a, c.assert(d + (this.Ta - a) <= this.Td, c.f.gX), 0 === b) return } else if (c.assert(d + b <= this.Ta, c.f.hX), c.assert(a < this.Ta, c.f.iX), a == d) return; var e = c.Nb.BYTES_PER_ELEMENT, f = a * e, g = b * e, h = this.Bg, k = h.subarray(f, f + g), m = d * e; d < a ? (b = d * e, h.set(h.subarray(b, b + (a - d) * e), b + g)) : (b = (a + b) * e, h.set(h.subarray(b, b + (d - a) * e), f)); h.set(k, m); this.dirty = !0 }, iP: function(a, b) { for (var d = b * c.Nb.BYTES_PER_ELEMENT, e = new Uint8Array(this.qd, a * c.Nb.BYTES_PER_ELEMENT, d), f = 0; f < d; f++) e[f] = 0 }, cP: function() { this.bP(this.Ta) }, $ba: function() { var a = c.m; this.Jc && (this.Jc[0] && a.deleteBuffer(this.Jc[0]), this.Jc[1] && a.deleteBuffer(this.Jc[1])); this.on && a.deleteBuffer(this.on) } }); p = c.ml.prototype; c.i(p, "totalQuads", p.TP); c.i(p, "capacity", p.qP); c.i(p, "quads", p.DP, p.WR); c.ml.create = function(a, b) { return new c.ml(a, b) }; c.F === c.ea && (c.assert("function" === typeof c.H.JC, c.f.cd, "TexturesWebGL.js"), c.H.JC(), delete c.H.JC); c.assert("function" === typeof c.H.QB, c.f.cd, "TexturesPropertyDefine.js"); c.H.QB(); delete c.H.QB; c.il = c.t.extend({ ob: "Scene", ctor: function() { c.t.prototype.ctor.call(this); this.$h = !0; this.Vk(0.5, 0.5); this.ye(c.L.V) } }); c.il.create = function() { return new c.il }; c.vJ = c.il.extend({ jk: null, ut: 0, Xm: 0, nc: null, ob: "LoaderScene", K: function() { var a = this, b = 200, d = a.XC = c.md.create(c.color(32, 32, 32, 255)); d.J(c.Rj.Py); a.M(d, 0); var e = 24, f = -b / 2 + 100; c.VM && (c.X.Qq(c.VM, { Bz: !1 }, function(d, e) { b = e.height; a.TD(e, c.Rj.jq) }), e = 14, f = -b / 2 - 10); e = a.nc = c.Z.create("Loading... 0%", "Arial", e); e.J(c.Ij(c.Rj.jq, c.d(0, f))); e.Va(c.color(180, 180, 180)); d.M(this.nc, 10); return !0 }, TD: function(a, b) { var d = new c.ia; d.Ld(a); d.$b(); d = c.P.create(d); d.Wk(c.wb()); d.x = b.x; d.y = b.y; this.XC.M(d, 10) }, ca: function() { c.t.prototype.ca.call(this); this.po(this.St, 0.3) }, xb: function() { c.t.prototype.xb.call(this); this.nc.tc("Loading... 0%") }, oH: function(a, b) { "string" == typeof a && (a = [a]); this.bI = a || []; this.vd = b }, St: function() { var a = this; a.Kv(a.St); var b = a.bI; a.ut = b.length; a.Xm = 0; c.X.load(b, function(b, e) { a.Xm = e }, function() { a.vd && a.vd() }); a.po(a.eu) }, eu: function() { var a = this.Xm, b = this.ut, d; d = Math.min(a / b * 100 | 0, 100); this.nc.tc("Loading... " + d + "%"); a >= b && this.Kv(this.eu) } }); c.vJ.fA = function(a, b) { var d = c; d.Fi || (d.Fi = new c.vJ, d.Fi.K()); d.Fi.oH(a, b); c.L.rA(d.Fi); return d.Fi }; c.H.sB = function() { var a = c.je.prototype; a.wO = function() {}; a.DS = function() {}; a.U = c.t.prototype.U }; c.H.FC = function() { var a = c.md.prototype; a.oy = null; a.sF = null; a.VF = null; a.hD = null; a.uF = null; a.tF = null; a.ctor = function(a, d, e) { this.uF = new ArrayBuffer(32); this.tF = new ArrayBuffer(16); var f = this.uF, g = this.tF, h = c.Sc.BYTES_PER_ELEMENT, k = oa.BYTES_PER_ELEMENT; this.oy = [new c.Sc(0, 0, f, 0), new c.Sc(0, 0, f, h), new c.Sc(0, 0, f, 2 * h), new c.Sc(0, 0, f, 3 * h)]; this.sF = [c.color(0, 0, 0, 255, g, 0), c.color(0, 0, 0, 255, g, k), c.color(0, 0, 0, 255, g, 2 * k), c.color(0, 0, 0, 255, g, 3 * k)]; this.VF = c.m.createBuffer(); this.hD = c.m.createBuffer(); c.lg.prototype.ctor.call(this); this.q = new c.cl(c.vc, c.uc); c.md.prototype.K.call(this, a, d, e) }; a.ye = function(a, d) { var e = this.oy; void 0 === d ? (e[1].x = a.width, e[2].y = a.height, e[3].x = a.width, e[3].y = a.height) : (e[1].x = a, e[2].y = d, e[3].x = a, e[3].y = d); this.YC(); c.je.prototype.ye.call(this, a, d) }; a.vk = function(a) { var d = this.oy; d[1].x = a; d[3].x = a; this.YC(); c.je.prototype.vk.call(this, a) }; a.uk = function(a) { var d = this.oy; d[2].y = a; d[3].y = a; this.YC(); c.je.prototype.uk.call(this, a) }; a.sc = function() { for (var a = this.Ma, d = this.Ia, e = this.sF, f = 0; 4 > f; f++) e[f].r = a.r, e[f].g = a.g, e[f].b = a.b, e[f].a = d; this.lL() }; a.Y = function(a) { a = a || c.m; c.av(this); c.Xc(c.ke | c.Hw); a.bindBuffer(a.ARRAY_BUFFER, this.VF); a.vertexAttribPointer(c.Ab, 2, a.FLOAT, !1, 0, 0); a.bindBuffer(a.ARRAY_BUFFER, this.hD); a.vertexAttribPointer(c.ef, 4, a.UNSIGNED_BYTE, !0, 0, 0); c.Ai(this.q.src, this.q.W); a.drawArrays(a.TRIANGLE_STRIP, 0, 4) }; a.YC = function() { var a = c.m; a.bindBuffer(a.ARRAY_BUFFER, this.VF); a.bufferData(a.ARRAY_BUFFER, this.uF, a.STATIC_DRAW) }; a.lL = function() { var a = c.m; a.bindBuffer(a.ARRAY_BUFFER, this.hD); a.bufferData(a.ARRAY_BUFFER, this.tF, a.STATIC_DRAW) } }; c.H.GC = function() { var a = c.Km.prototype; a.Y = c.md.prototype.Y; a.sc = function() { var a = this.wl, d = c.rm(a); if (0 !== d) { var e = Math.sqrt(2), a = c.d(a.x / d, a.y / d); this.cx && (a = c.Jj(a, 1 / (Math.abs(a.x) + Math.abs(a.y)) * e)); var f = this.Ia / 255, d = this.Ma, g = this.kf, d = { r: d.r, g: d.g, b: d.b, a: this.Sp * f }, f = { r: g.r, g: g.g, b: g.b, a: this.np * f }, h = this.sF, g = h[0], k = h[1], m = h[2], h = h[3]; g.r = f.r + (e + a.x + a.y) / (2 * e) * (d.r - f.r); g.g = f.g + (e + a.x + a.y) / (2 * e) * (d.g - f.g); g.b = f.b + (e + a.x + a.y) / (2 * e) * (d.b - f.b); g.a = f.a + (e + a.x + a.y) / (2 * e) * (d.a - f.a); k.r = f.r + (e - a.x + a.y) / (2 * e) * (d.r - f.r); k.g = f.g + (e - a.x + a.y) / (2 * e) * (d.g - f.g); k.b = f.b + (e - a.x + a.y) / (2 * e) * (d.b - f.b); k.a = f.a + (e - a.x + a.y) / (2 * e) * (d.a - f.a); m.r = f.r + (e + a.x - a.y) / (2 * e) * (d.r - f.r); m.g = f.g + (e + a.x - a.y) / (2 * e) * (d.g - f.g); m.b = f.b + (e + a.x - a.y) / (2 * e) * (d.b - f.b); m.a = f.a + (e + a.x - a.y) / (2 * e) * (d.a - f.a); h.r = f.r + (e - a.x - a.y) / (2 * e) * (d.r - f.r); h.g = f.g + (e - a.x - a.y) / (2 * e) * (d.g - f.g); h.b = f.b + (e - a.x - a.y) / (2 * e) * (d.b - f.b); h.a = f.a + (e - a.x - a.y) / (2 * e) * (d.a - f.a); this.lL() } } }; c.H.NB = function() { var a = c.lg.prototype; c.i(a, "opacityModifyRGB", a.Ue, a.ee); c.i(a, "opacity", a.yf, a.Fa); c.i(a, "cascadeOpacity", a.Pu, a.er); c.i(a, "color", a.xf, a.Va); c.i(a, "cascadeColor", a.Ou, a.dr) }; c.H.LB = function() { var a = c.md.prototype; c.i(a, "width", a.Wh, a.vk); c.i(a, "height", a.Jl, a.uk) }; c.H.MB = function() { var a = c.Km.prototype; c.i(a, "startColor", a.hz, a.Cf); c.i(a, "endColor", a.dz, a.Af); c.i(a, "startOpacity", a.Z3, a.d8); c.i(a, "endOpacity", a.m3, a.y7); c.i(a, "vector", a.f4, a.m8) }; c.je = c.t.extend({ cn: !1, Ww: null, ob: "Layer", ctor: function() { var a = c.t.prototype; a.ctor.call(this); this.$h = !0; a.Vk.call(this, 0.5, 0.5); a.ye.call(this, c.ja) }, wO: null, DS: null, $ha: function() { return this.cn }, U: null }); c.je.create = function() { return new c.je }; if (c.F === c.Ha) { var pa = c.je.prototype; pa.wO = function() { if (!this.cn) { this.cn = this.nh = !0; this.bk = this; for (var a = this.u, b = 0, d = a.length; b < d; b++) a[b].ZE(this); this.Ww || (this.Ww = new c.kT) } }; pa.DS = function() { if (this.cn) { this.cn = !1; this.nh = !0; this.bk = null; for (var a = this.u, b = 0, d = a.length; b < d; b++) a[b].ZE(null) } }; pa.U = function(a) { if (this.cn) { a = a || c.m; var b, d = this.u, e = d.length; if (this.Ja && 0 !== e) { var f = this.Ww; a.save(); this.transform(a); if (this.nh) { b = this.ED(); b.width |= 0; b.height |= 0; var g = f.gf; f.vR(b.width, b.height); g.translate(0 - b.x, b.height + b.y); var h = f.lb; f.J(h.x + b.x, h.y + b.y); this.jd(); for (b = 0; b < e; b++) d[b].U(g); this.nh = !1 } f.U(a); this.arrivalOrder = 0; a.restore() } } else c.t.prototype.U.call(this, a) }; pa.ED = function() { var a = null; if (!this.u || 0 === this.u.length) return c.rect(0, 0, 10, 10); for (var b = this.u, d = 0; d < b.length; d++) { var e = b[d]; e && e.Ja && (a ? (e = e.it()) && (a = c.jA(a, e)) : a = e.it()) } return a }; pa = null } else c.assert("function" === typeof c.H.sB, c.f.cd, "CCLayerWebGL.js"), c.H.sB(), delete c.H.sB; c.lg = c.je.extend({ Ib: !0, Ia: 255, re: 255, Ma: null, pc: null, De: !1, Ud: !1, ob: "LayerRGBA", ctor: function() { c.je.prototype.ctor.call(this); this.Ma = c.color(255, 255, 255, 255); this.pc = c.color(255, 255, 255, 255) }, K: function() { var a = c.je.prototype; this.$h = !0; a.Vk.call(this, 0.5, 0.5); a.ye.call(this, c.ja); this.cascadeColor = this.cascadeOpacity = !1; return !0 }, yf: function() { return this.re }, sP: function() { return this.Ia }, Fa: function(a) { this.Ia = this.re = a; var b = 255, d = this.gc; d && d.Ib && d.cascadeOpacity && (b = d.Ia); this.Zb(b); this.Ma.a = this.pc.a = a }, Zb: function(a) { this.Ia = 0 | this.re * a / 255; if (this.De) { a = this.u; for (var b, d = 0; d < a.length; d++)(b = a[d]) && b.Ib && b.Zb(this.Ia) } }, Pu: function() { return this.De }, er: function(a) { this.De !== a && ((this.De = a) ? this.bt() : this.oD()) }, bt: function() { var a = 255, b = this.gc; b && b.Ib && b.cascadeOpacity && (a = b.Ia); this.Zb(a) }, oD: function() { this.Ia = this.re; for (var a = this.u, b, d = 0; d < a.length; d++)(b = a[d]) && b.Ib && b.Zb(255) }, xf: function() { var a = this.pc; return c.color(a.r, a.g, a.b, a.a) }, Zn: function() { var a = this.Ma; return c.color(a.r, a.g, a.b) }, Va: function(a) { var b = this.Ma, d = this.pc; b.r = d.r = a.r; b.g = d.g = a.g; b.b = d.b = a.b; b = (b = this.gc) && b.Ib && b.cascadeColor ? b.Zn() : c.color.WHITE; this.bc(b); void 0 === a.a || a.mu || this.Fa(a.a) }, bc: function(a) { var b = this.Ma, d = this.pc; b.r = 0 | d.r * a.r / 255; b.g = 0 | d.g * a.g / 255; b.b = 0 | d.b * a.b / 255; if (this.Ud) { a = this.u; for (var e = 0; e < a.length; e++)(d = a[e]) && d.Ib && d.bc(b) } }, Ou: function() { return this.Ud }, dr: function(a) { this.Ud !== a && ((this.Ud = a) ? this.at() : this.nD()) }, at: function() { var a; a = (a = this.gc) && a.Ib && a.cascadeColor ? a.Zn() : c.color.WHITE; this.bc(a) }, nD: function() { var a = this.Ma, b = this.pc; a.r = b.r; a.g = b.g; a.b = b.b; var a = this.u, b = c.color.WHITE, d, e; for (e = 0; e < a.length; e++)(d = a[e]) && d.Ib && d.bc(b) }, M: function(a, b, d) { c.t.prototype.M.call(this, a, b, d); this.Ud && this.at(); this.De && this.bt() }, ee: function() {}, Ue: function() { return !1 } }); c.assert("function" === typeof c.H.NB, c.f.cd, "CCLayerPropertyDefine.js"); c.H.NB(); delete c.H.NB; c.md = c.lg.extend({ q: null, ob: "LayerColor", xi: function() { return this.q }, hda: function(a, b) { this.width = a; this.height = b }, gda: function(a) { this.width = a }, fda: function(a) { this.height = a }, ee: function() {}, Ue: function() { return !1 }, Va: function(a) { c.lg.prototype.Va.call(this, a); this.sc() }, Fa: function(a) { c.lg.prototype.Fa.call(this, a); this.sc() }, Gp: !1, ctor: null, K: function(a, b, d) { c.F !== c.Ha && (this.shaderProgram = c.ge.Dc(c.xw)); var e = c.L.V; a = a || c.color(0, 0, 0, 255); b = void 0 === b ? e.width : b; d = void 0 === d ? e.height : d; e = this.Ma; e.r = a.r; e.g = a.g; e.b = a.b; e = this.pc; e.r = a.r; e.g = a.g; e.b = a.b; this.re = this.Ia = a.a; a = c.md.prototype; a.ye.call(this, b, d); a.sc.call(this); return !0 }, zf: function(a, b) { this.q = void 0 === b ? a : { src: a, W: b }; c.F === c.Ha && (this.Gp = this.q && 1 == this.q.src && 771 == this.q.W) }, vk: null, uk: null, sc: null, bc: function(a) { c.lg.prototype.bc.call(this, a); this.sc() }, Zb: function(a) { c.lg.prototype.Zb.call(this, a); this.sc() }, Y: null }); c.md.create = function(a, b, d) { return new c.md(a, b, d) }; c.F === c.Ha ? (p = c.md.prototype, p.ctor = function(a, b, d) { c.lg.prototype.ctor.call(this); this.q = new c.cl(c.vc, c.uc); c.md.prototype.K.call(this, a, b, d) }, p.vk = c.lg.prototype.vk, p.uk = c.lg.prototype.uk, p.sc = function() {}, p.Y = function(a) { a = a || c.m; var b = c.view, d = this.Ma; a.fillStyle = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + "," + this.Ia / 255 + ")"; a.fillRect(0, 0, this.width * b.ma, -this.height * b.Na); c.Lg++ }, p.U = function(a) { if (this.cn) { a = a || c.m; var b, d = this.u, e = d.length; if (this.Ja) { var f = this.Ww; a.save(); this.transform(a); if (this.nh) { b = this.ED(); b.width |= 0; b.height |= 0; var g = f.gf; f.vR(b.width, b.height); var h = f.lb, k = this.va; if (this.$h) g.translate(0 - b.x + k.x, b.height + b.y - k.y), f.J(h.x + b.x - k.x, h.y + b.y - k.y); else { var m = this.lb, n = k.x - m.x, k = k.y - m.y; g.translate(0 - b.x + n, b.height + b.y - k); f.J(h.x + b.x - n, h.y + b.y - k) } if (0 < e) { this.jd(); for (b = 0; b < e; b++) if (h = d[b], 0 > h.Jb) h.U(g); else break; for (this.Y(g); b < e; b++) d[b].U(g) } else this.Y(g); this.nh = !1 } f.U(a); this.arrivalOrder = 0; a.restore() } } else c.t.prototype.U.call(this, a) }, p.ED = function() { var a = c.rect(0, 0, this.S.width, this.S.height), b = this.Tq(), a = c.SB(a, this.Tq()); if (!this.u || 0 === this.u.length) return a; for (var d = this.u, e = 0; e < d.length; e++) { var f = d[e]; f && f.Ja && (f = f.it(b), a = c.jA(a, f)) } return a }, p = null) : (c.assert("function" === typeof c.H.FC, c.f.cd, "CCLayerWebGL.js"), c.H.FC(), delete c.H.FC); c.assert("function" === typeof c.H.LB, c.f.cd, "CCLayerPropertyDefine.js"); c.H.LB(); delete c.H.LB; c.Km = c.md.extend({ ni: null, kf: null, Sp: 255, np: 255, wl: null, cx: !1, zp: null, yp: null, ob: "LayerGradient", ctor: function(a, b, d) { c.md.prototype.ctor.call(this); this.ni = c.color(0, 0, 0, 255); this.kf = c.color(0, 0, 0, 255); this.wl = c.d(0, -1); this.np = this.Sp = 255; this.zp = c.d(0, 0); this.yp = c.d(0, 0); c.Km.prototype.K.call(this, a, b, d) }, K: function(a, b, d) { a = a || c.color(0, 0, 0, 255); b = b || c.color(0, 0, 0, 255); d = d || c.d(0, -1); var e = this.ni, f = this.kf; e.r = a.r; e.g = a.g; e.b = a.b; this.Sp = a.a; f.r = b.r; f.g = b.g; f.b = b.b; this.np = b.a; this.wl = d; this.cx = !0; this.zp = c.d(0, 0); this.yp = c.d(0, 0); c.md.prototype.K.call(this, c.color(a.r, a.g, a.b, 255)); c.Km.prototype.sc.call(this); return !0 }, ye: function(a, b) { c.md.prototype.ye.call(this, a, b); this.sc() }, vk: function(a) { c.md.prototype.vk.call(this, a); this.sc() }, uk: function(a) { c.md.prototype.uk.call(this, a); this.sc() }, hz: function() { return this.pc }, Cf: function(a) { this.color = a }, Af: function(a) { this.kf = a; this.sc() }, dz: function() { return this.kf }, d8: function(a) { this.Sp = a; this.sc() }, Z3: function() { return this.Sp }, y7: function(a) { this.np = a; this.sc() }, m3: function() { return this.np }, m8: function(a) { this.wl.x = a.x; this.wl.y = a.y; this.sc() }, f4: function() { return c.d(this.wl.x, this.wl.y) }, cia: function() { return this.cx }, Zma: function(a) { this.cx = a; this.sc() }, Jba: null, sc: null }); c.Km.create = function(a, b, d) { return new c.Km(a, b, d) }; c.F === c.Ha ? (p = c.Km.prototype, p.Y = function(a) { a = a || c.m; this.Gp && (a.globalCompositeOperation = "lighter"); a.save(); var b = c.view, d = this.Ia / 255, e = this.width * b.ma, b = this.height * b.Na, f = a.createLinearGradient(this.zp.x, this.zp.y, this.yp.x, this.yp.y), g = this.Ma, h = this.kf; f.addColorStop(0, "rgba(" + Math.round(g.r) + "," + Math.round(g.g) + "," + Math.round(g.b) + "," + (this.Sp / 255 * d).toFixed(4) + ")"); f.addColorStop(1, "rgba(" + Math.round(h.r) + "," + Math.round(h.g) + "," + Math.round(h.b) + "," + (this.np / 255 * d).toFixed(4) + ")"); a.fillStyle = f; a.fillRect(0, 0, e, -b); 0 != this.K_ && a.rotate(this.bca); a.restore() }, p.sc = function() { var a = this.wl, b = 0.5 * this.width, d = 0.5 * this.height; this.zp.x = b * -a.x + b; this.zp.y = d * a.y - d; this.yp.x = b * a.x + b; this.yp.y = d * -a.y - d }, p = null) : (c.assert("function" === typeof c.H.GC, c.f.cd, "CCLayerWebGL.js"), c.H.GC(), delete c.H.GC); c.assert("function" === typeof c.H.MB, c.f.cd, "CCLayerPropertyDefine.js"); c.H.MB(); delete c.H.MB; c.tB = c.je.extend({ an: 0, Ie: null, ob: "LayerMultiplex", ctor: function(a) { c.je.prototype.ctor.call(this); a && c.tB.prototype.y4.call(this, a) }, y4: function(a) { 0 < a.length && null == a[a.length - 1] && c.log(c.f.HU); this.Ie = a; this.an = 0; this.M(this.Ie[this.an]); return !0 }, ipa: function(a) { a >= this.Ie.length ? c.log(c.f.IU) : (this.removeChild(this.Ie[this.an], !0), this.an = a, this.M(this.Ie[a])) }, jpa: function(a) { a >= this.Ie.length ? c.log(c.f.JU) : (this.removeChild(this.Ie[this.an], !0), this.Ie[this.an] = null, this.an = a, this.M(this.Ie[a])) }, tca: function(a) { a ? this.Ie.push(a) : c.log(c.f.GU) } }); c.tB.create = function() { return new c.tB(arguments) }; c.H.HC = function() { var a = c.P.prototype; a.rF = function(a) { this.Sa(!0); this.Hb(a.zi(), a.Le, a.Qf); this.me() }; a.ee = function(a) { this.Xa !== a && (this.Xa = a, this.Mv()) }; a.Zb = function(a) { c.la.prototype.Zb.call(this, a); this.Mv() }; a.ctor = function(a, d, e) { c.la.prototype.ctor.call(this); this.Xl = !1; this.Pb = c.d(0, 0); this.qi = c.d(0, 0); this.q = { src: c.vc, W: c.uc }; this.ba = c.rect(0, 0, 0, 0); this.hc = new c.Nb; this.by = c.m.createBuffer(); this.sa = this.mf = !0; this.SN(a, d, e) }; a.zf = function(a, d) { var e = this.q; void 0 === d ? (e.src = a.src, e.W = a.W) : (e.src = a, e.W = d) }; a.K = function() { if (0 < arguments.length) return this.mm(arguments[0], arguments[1]); c.la.prototype.K.call(this); this.dirty = this.fi = !1; this.Xa = !0; this.q.src = c.vc; this.q.W = c.uc; this.texture = null; this.sa = !0; this.dc = this.ec = !1; this.anchorY = this.anchorX = 0.5; this.Pb.x = 0; this.Pb.y = 0; this.dj = !1; var a = { r: 255, g: 255, b: 255, a: 255 }; this.hc.I.v = a; this.hc.R.v = a; this.hc.Q.v = a; this.hc.N.v = a; this.mf = !0; this.Hb(c.rect(0, 0, 0, 0), !1, c.size(0, 0)); return !0 }; a.pa = function(a, d, e) { c.assert(0 != arguments.length, c.f.uW); e = e || !1; if (!c.la.prototype.K.call(this)) return !1; this.$ = null; this.dirty = this.fi = !1; this.Xa = !0; this.q.src = c.vc; this.q.W = c.uc; this.dc = this.ec = !1; this.anchorY = this.anchorX = 0.5; this.Pb.x = 0; this.Pb.y = 0; this.dj = !1; var f = c.color(255, 255, 255, 255), g = this.hc; g.I.v = f; g.R.v = f; g.Q.v = f; g.N.v = f; this.sa = f = a.Kc; if (!f) return this.rd = e || !1, d && (f = this.ba, f.x = d.x, f.y = d.y, f.width = d.width, f.height = d.height), a.ue(this.zy, this), !0; d || (d = c.rect(0, 0, a.width, a.height)); a && (e ? (f = d.x + d.height, g = d.y + d.width) : (f = d.x + d.width, g = d.y + d.height), f > a.width && c.error(c.f.UB, a.url), g > a.height && c.error(c.f.TB, a.url)); this.texture = a; this.Hb(d, e); this.batchNode = null; return this.mf = !0 }; a.zy = function(a) { if (!this.sa) { this.sa = !0; var d = this.ba; d ? c.dy(d) && (d.width = a.width, d.height = a.height) : d = c.rect(0, 0, a.width, a.height); this.texture = a; this.Hb(d, this.rd); this.batchNode = this.$; this.mf = !0; this.me() } }; a.Hb = function(a, d, e) { this.rd = d || !1; this.ye(e || a); this.BI(a); this.KN(a); a = this.qi; this.dc && (a.x = -a.x); this.ec && (a.y = -a.y); var f = this.ba; this.Pb.x = a.x + (this.S.width - f.width) / 2; this.Pb.y = a.y + (this.S.height - f.height) / 2; if (this.$) this.dirty = !0; else { a = 0 + this.Pb.x; d = 0 + this.Pb.y; e = a + f.width; var f = d + f.height, g = this.hc; g.I.j = { x: a, y: d, z: 0 }; g.R.j = { x: e, y: d, z: 0 }; g.Q.j = { x: a, y: f, z: 0 }; g.N.j = { x: e, y: f, z: 0 }; this.mf = !0 } }; a.Ff = function() { if (this.dirty) { var a = this.hc, d = this.gc; if (!this.Ja || d && d != this.$ && d.Xl) a.R.j = { x: 0, y: 0, z: 0 }, a.Q.j = { x: 0, y: 0, z: 0 }, a.N.j = { x: 0, y: 0, z: 0 }, a.I.j = { x: 0, y: 0, z: 0 }, this.Xl = !0; else { this.Xl = !1; var e = this.An = d && d != this.$ ? c.Dm(this.Ve(), d.An) : this.Ve(), f = this.ba, d = this.Pb.x, g = this.Pb.y, h = d + f.width, k = g + f.height, m = e.xa, n = e.ya, q = e.a, r = e.b, t = e.D, s = -e.C, e = d * q - g * s + m, f = d * r + g * t + n, u = h * q - g * s + m, g = h * r + g * t + n, v = h * q - k * s + m, h = h * r + k * t + n, m = d * q - k * s + m, d = d * r + k * t + n, k = this.iu; c.ZB || (e |= 0, f |= 0, u |= 0, g |= 0, v |= 0, h |= 0, m |= 0, d |= 0); a.I.j = { x: e, y: f, z: k }; a.R.j = { x: u, y: g, z: k }; a.Q.j = { x: m, y: d, z: k }; a.N.j = { x: v, y: h, z: k } } this.textureAtlas.OA(a, this.atlasIndex); this.dirty = this.fi = !1 } this.dj && this.mh(this.u, c.t.og.Ff); c.hl && (a = [c.d(this.hc.I.j.x, this.hc.I.j.y), c.d(this.hc.R.j.x, this.hc.R.j.y), c.d(this.hc.N.j.x, this.hc.N.j.y), c.d(this.hc.Q.j.x, this.hc.Q.j.y)], c.jf.$d(a, 4, !0)) }; a.M = function(a, d, e) { c.assert(a, c.f.lW); null == d && (d = a.Jb); null == e && (e = a.tag); if (this.$) { if (!(a instanceof c.P)) { c.log(c.f.jW); return } a.texture.te !== this.textureAtlas.texture.te && c.log(c.f.kW); this.$.appendChild(a); this.se || this.iF() } c.la.prototype.M.call(this, a, d, e); this.dj = !0 }; a.Fa = function(a) { c.la.prototype.Fa.call(this, a); this.Mv() }; a.Va = function(a) { c.la.prototype.Va.call(this, a); this.Mv() }; a.bc = function(a) { c.la.prototype.bc.call(this, a); this.Mv() }; a.xm = function(a) { var d = this; "string" == typeof a && (a = c.Zk.wj(a), c.assert(a, c.f.EW)); d.Sa(!0); var e = a.oa; d.qi.x = e.x; d.qi.y = e.y; e = a.Ua(); a.sa || (d.sa = !1, a.ue(function(a) { d.sa = !0; var b = a.Ua(); b != d.O && (d.texture = b); d.Hb(a.zi(), a.Le, a.Qf); d.me() }, d)); e != d.O && (d.texture = e); d.rd = a.Le; d.Hb(a.zi(), d.rd, a.Qf) }; a.uQ = function(a) { return c.nR(a.zi(), this.ba) && a.Ua().getName() == this.O.getName() && c.VH(a.oa, this.qi) }; a.wm = function(a) { if (this.$ = a) this.An = { a: 1, b: 0, C: 0, D: 1, xa: 0, ya: 0 }, this.textureAtlas = this.$.textureAtlas; else { this.atlasIndex = c.P.pB; this.textureAtlas = null; this.dirty = this.fi = !1; a = this.Pb.x; var d = this.Pb.y, e = a + this.ba.width, f = d + this.ba.height, g = this.hc; g.I.j = { x: a, y: d, z: 0 }; g.R.j = { x: e, y: d, z: 0 }; g.Q.j = { x: a, y: f, z: 0 }; g.N.j = { x: e, y: f, z: 0 }; this.mf = !0 } }; a.zb = function(a) { a && "string" === typeof a ? (a = c.Ka.Qc(a), this.zb(a), a = a.ve(), this.Hb(c.rect(0, 0, a.width, a.height))) : (c.assert(!a || a instanceof c.ia, c.f.GW), this.$ && this.$.texture != a ? c.log(c.f.FW) : (this.shaderProgram = a ? c.ge.Dc(c.Zj) : c.ge.Dc(c.xw), this.$ || this.O == a || (this.O = a, this.Gg()))) }; a.Y = function() { if (this.sa) { var a = c.m, d = this.O; d ? d.Kc && (this.Sb.$c(), this.Sb.Ef(), c.Ai(this.q.src, this.q.W), c.fH(0, d), c.Xc(c.Sm), a.bindBuffer(a.ARRAY_BUFFER, this.by), this.mf && (a.bufferData(a.ARRAY_BUFFER, this.hc.Ly, a.DYNAMIC_DRAW), this.mf = !1), a.vertexAttribPointer(0, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(1, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.vertexAttribPointer(2, 2, a.FLOAT, !1, 24, 16), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)) : (this.Sb.$c(), this.Sb.Ef(), c.Ai(this.q.src, this.q.W), c.Te(null), c.Xc(c.ke | c.Hw), a.bindBuffer(a.ARRAY_BUFFER, this.by), this.mf && (c.m.bufferData(c.m.ARRAY_BUFFER, this.hc.Ly, c.m.STATIC_DRAW), this.mf = !1), a.vertexAttribPointer(c.Ab, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(c.ef, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)); c.Lg++; if (0 !== c.hl || this.mF) 1 === c.hl || this.mF ? (a = this.hc, a = [c.d(a.Q.j.x, a.Q.j.y), c.d(a.I.j.x, a.I.j.y), c.d(a.R.j.x, a.R.j.y), c.d(a.N.j.x, a.N.j.y)], c.jf.$d(a, 4, !0)) : 2 === c.hl && (a = this.SP(), d = this.Pb, a = [c.d(d.x, d.y), c.d(d.x + a.width, d.y), c.d(d.x + a.width, d.y + a.height), c.d(d.x, d.y + a.height)], c.jf.$d(a, 4, !0)) } }; delete a }; c.H.OB = function() { var a = c.P.prototype; c.i(a, "opacityModifyRGB", a.Ue, a.ee); c.i(a, "opacity", a.yf, a.Fa); c.i(a, "color", a.xf, a.Va); c.i(a, "flippedX", a.L4, a.wA); c.i(a, "flippedY", a.M4, a.mI); c.i(a, "offsetX", a.jZ); c.i(a, "offsetY", a.kZ); c.i(a, "texture", a.Ua, a.zb); c.i(a, "textureRectRotated", a.S4); c.i(a, "batchNode", a.PG, a.wm); c.i(a, "quad", a.O3) }; c.vq = function(a) { function b() { var b = c.vq, e = a.width, h = a.height; d[0].width = e; d[0].height = h; d[1].width = e; d[1].height = h; d[2].width = e; d[2].height = h; d[3].width = e; d[3].height = h; b.canvas.width = e; b.canvas.height = h; var k = b.canvas.getContext("2d"); k.drawImage(a, 0, 0); b.KI.width = e; b.KI.height = h; for (var k = k.getImageData(0, 0, e, h).data, m = 0; 4 > m; m++) { var n = d[m].getContext("2d"); n.getImageData(0, 0, e, h).data; b.wS.drawImage(a, 0, 0); for (var q = b.wS.getImageData(0, 0, e, h), r = q.data, t = 0; t < k.length; t += 4) r[t] = 0 === m ? k[t] : 0, r[t + 1] = 1 === m ? k[t + 1] : 0, r[t + 2] = 2 === m ? k[t + 2] : 0, r[t + 3] = k[t + 3]; n.putImageData(q, 0, 0) } a.onload = null } if (a.EO) return a.EO; var d = [c.ac("canvas"), c.ac("canvas"), c.ac("canvas"), c.ac("canvas")]; try { b() } catch (e) { a.onload = b } return a.EO = d }; c.vq.canvas = c.ac("canvas"); c.vq.KI = c.ac("canvas"); c.vq.wS = c.vq.KI.getContext("2d"); c.Xea = function(a, b, d) { d || (d = c.rect(0, 0, a.width, a.height), d = c.Sk(d)); var e = c.ac("canvas"), f = e.getContext("2d"); e.width != d.width && (e.width = d.width); e.height != d.height && (e.height = d.height); f.save(); f.drawImage(a, d.x, d.y, d.width, d.height, 0, 0, d.width, d.height); f.globalCompositeOperation = "source-in"; f.globalAlpha = b.a / 255; f.fillStyle = "rgb(" + b.r + "," + b.g + "," + b.b + ")"; f.fillRect(0, 0, d.width, d.height); f.restore(); return e }; c.wq = function(a, b, d, e, f) { e || (e = c.rect(0, 0, a.width, a.height)); a = d.r / 255; var g = d.g / 255; d = d.b / 255; var h = Math.min(e.width, b[0].width), k = Math.min(e.height, b[0].height), m; f ? (m = f.getContext("2d"), m.clearRect(0, 0, h, k)) : (f = c.ac("canvas"), f.width = h, f.height = k, m = f.getContext("2d")); m.save(); m.globalCompositeOperation = "lighter"; var n = m.globalAlpha; 0 < a && (m.globalAlpha = a * n, m.drawImage(b[0], e.x, e.y, h, k, 0, 0, h, k)); 0 < g && (m.globalAlpha = g * n, m.drawImage(b[1], e.x, e.y, h, k, 0, 0, h, k)); 0 < d && (m.globalAlpha = d * n, m.drawImage(b[2], e.x, e.y, h, k, 0, 0, h, k)); 1 > a + g + d && (m.globalAlpha = n, m.drawImage(b[3], e.x, e.y, h, k, 0, 0, h, k)); m.restore(); return f }; c.EG = function(a, b) { if (!a) return null; if (!b) return a; var d = c.ac("canvas"); d.width = b.width; d.height = b.height; var e = d.getContext("2d"); e.translate(d.width / 2, d.height / 2); e.rotate(-1.5707963267948966); e.drawImage(a, b.x, b.y, b.height, b.width, -b.height / 2, -b.width / 2, b.height, b.width); return d }; c.P = c.la.extend({ Ib: !0, dirty: !1, atlasIndex: 0, textureAtlas: null, $: null, fi: null, dj: null, Xl: !1, An: null, q: null, O: null, ba: null, rd: !1, Pb: null, qi: null, Xa: !1, dc: !1, ec: !1, sa: !1, pb: null, jE: null, ob: "Sprite", Fv: function() { return this.sa }, ue: function(a, b) { this.pb || (this.pb = []); this.pb.push({ wi: a, Kg: b }) }, me: function() { if (this.pb) { for (var a = this.pb, b = 0, d = a.length; b < d; b++) { var e = a[b]; e.wi.call(e.Kg, this) } a.length = 0 } }, Qu: function() { return this.dirty }, vA: function(a) { this.dirty = a }, S4: function() { return this.rd }, yq: function() { return this.atlasIndex }, iI: function(a) { this.atlasIndex = a }, SP: function() { return c.rect(this.ba.x, this.ba.y, this.ba.width, this.ba.height) }, bH: function() { return this.textureAtlas }, xI: function(a) { this.textureAtlas = a }, vga: function() { return this.Pb }, jZ: function() { return this.Pb.x }, kZ: function() { return this.Pb.y }, xi: function() { return this.q }, Ah: function(a) { c.assert(a, c.f.rW); a.sa || (this.sa = !1, a.ue(this.rF, this)); var b = c.F === c.Ha ? !1 : a.Le, b = this.pa(a.Ua(), a.zi(), b); this.xm(a); return b }, rF: null, Uha: function(a) { c.assert(a, c.f.sW); var b = c.Zk.wj(a); c.assert(b, a + c.f.tW); return this.Ah(b) }, Gpa: function(a) { this.textureAtlas = a.textureAtlas; this.$ = a }, BI: function(a) { this.ba.x = a.x; this.ba.y = a.y; this.ba.width = a.width; this.ba.height = a.height }, jd: function() { if (this.se) { var a = this.u, b = a.length, d, e, f; for (d = 1; d < b; d++) { f = a[d]; for (e = d - 1; 0 <= e;) { if (f.Jb < a[e].Jb) a[e + 1] = a[e]; else if (f.Jb === a[e].Jb && f.arrivalOrder < a[e].arrivalOrder) a[e + 1] = a[e]; else break; e-- } a[e + 1] = f } this.$ && this.mh(a, c.t.og.jd); this.se = !1 } }, ar: function(a, b) { c.assert(a, c.f.yW); - 1 === this.u.indexOf(a) ? c.log(c.f.xW) : b !== a.zIndex && (this.$ && !this.se && (this.iF(), this.$.tR(!0)), c.t.prototype.ar.call(this, a, b)) }, removeChild: function(a, b) { this.$ && this.$.no(a); c.t.prototype.removeChild.call(this, a, b) }, Sg: function(a) { var b = this.u, d = this.$; if (d && null != b) for (var e = 0, f = b.length; e < f; e++) d.no(b[e]); c.t.prototype.Sg.call(this, a); this.dj = !1 }, KR: function(a) { this.dirty = this.fi = a; a = this.u; for (var b, d = a ? a.length : 0, e = 0; e < d; e++) b = a[e], b instanceof c.P && b.KR(!0) }, Sa: function(a) { c.t.prototype.Sa.call(this); a || !this.$ || this.fi || (this.dj ? this.KR(!0) : this.dirty = this.fi = !0) }, qz: function(a) { this.$ ? c.log(c.f.pW) : c.t.prototype.qz.call(this, a) }, wA: function(a) { this.dc != a && (this.dc = a, this.Hb(this.ba, this.rd, this.S), this.Sa(!0)) }, mI: function(a) { this.ec != a && (this.ec = a, this.Hb(this.ba, this.rd, this.S), this.Sa(!0)) }, L4: function() { return this.dc }, M4: function() { return this.ec }, ee: null, Ue: function() { return this.Xa }, Zb: null, ina: function(a, b) { c.assert(a, c.f.DW); var d = c.Ky.nP(a); d ? (d = d.pe[b]) ? this.xm(d.wj()) : c.log(c.f.BW) : c.log(c.f.AW) }, PG: function() { return this.$ }, iF: function() { if (!this.se) { this.se = !0; for (var a = this.gc; a && a != this.$;) a.iF(), a = a.parent } }, Ua: function() { return this.O }, hc: null, by: null, mf: !1, bx: !1, Gp: !1, Je: null, Wp: null, rD: null, ctor: null, SN: function(a, b, d) { if (void 0 === a) c.P.prototype.K.call(this); else if ("string" === typeof a)"#" === a[0] ? (a = c.Zk.wj(a.substr(1, a.length - 1)), this.Ah(a)) : c.P.prototype.K.call(this, a, b); else if ("object" === typeof a) if (a instanceof c.ia) this.pa(a, b, d); else if (a instanceof c.If) this.Ah(a); else if (a instanceof HTMLImageElement || a instanceof HTMLCanvasElement) b = new c.ia, b.Ld(a), b.$b(), this.pa(b) }, O3: function() { return this.hc }, zf: null, K: null, mm: function(a, b) { c.assert(a, c.f.qW); var d = c.Ka.uo(a); if (d) { if (!b) { var e = d.ve(); b = c.rect(0, 0, e.width, e.height) } return this.pa(d, b) } d = c.Ka.Qc(a); return this.pa(d, b || c.rect(0, 0, d.S.width, d.S.height)) }, pa: null, zy: null, Hb: null, Ff: null, M: null, Mv: function() { var a = this.Ma, b = this.Ia, a = { r: a.r, g: a.g, b: a.b, a: b }; this.Xa && (a.r *= b / 255, a.g *= b / 255, a.b *= b / 255); b = this.hc; b.I.v = a; b.R.v = a; b.Q.v = a; b.N.v = a; this.$ && (this.atlasIndex != c.P.pB ? this.textureAtlas.OA(b, this.atlasIndex) : this.dirty = !0); this.mf = !0 }, Fa: null, Va: null, bc: null, xm: null, u7: function(a) { c.log(c.f.zW); this.xm(a) }, uQ: null, q2: function() { return c.If.create(this.O, c.sv(this.ba), this.rd, c.o6(this.qi), c.t8(this.S)) }, wm: null, zb: null, Gg: function() { this.$ ? c.log(c.f.iW) : this.O && this.O.xj() ? (this.q.src = c.vc, this.q.W = c.uc, this.opacityModifyRGB = !0) : (this.q.src = c.SRC_ALPHA, this.q.W = c.ONE_MINUS_SRC_ALPHA, this.opacityModifyRGB = !1) }, yl: function() { var a, b = this.O, d = this.Wp; b && d.vr && this.Je && (a = b.Ob) && (b = c.Ka.iz(this.Je.Ob)) && (this.bx = !0, a instanceof HTMLCanvasElement && !this.rd && !this.jE ? c.wq(a, b, this.Ma, d, a) : (a = c.wq(a, b, this.Ma, d), b = new c.ia, b.Ld(a), b.$b(), this.texture = b)) }, KN: function(a) { a = c.sv(a); var b = this.$ ? this.textureAtlas.texture : this.O; if (b) { var d = b.pixelsWidth, e = b.pixelsHeight, f, g = this.hc; this.rd ? (c.Do ? (b = (2 * a.x + 1) / (2 * d), d = b + (2 * a.height - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.width - 2) / (2 * e)) : (b = a.x / d, d = (a.x + a.height) / d, f = a.y / e, a = (a.y + a.width) / e), this.dc && (e = f, f = a, a = e), this.ec && (e = b, b = d, d = e), g.I.n.da = b, g.I.n.G = f, g.R.n.da = b, g.R.n.G = a, g.Q.n.da = d, g.Q.n.G = f, g.N.n.da = d, g.N.n.G = a) : (c.Do ? (b = (2 * a.x + 1) / (2 * d), d = b + (2 * a.width - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.height - 2) / (2 * e)) : (b = a.x / d, d = (a.x + a.width) / d, f = a.y / e, a = (a.y + a.height) / e), this.dc && (e = b, b = d, d = e), this.ec && (e = f, f = a, a = e), g.I.n.da = b, g.I.n.G = a, g.R.n.da = d, g.R.n.G = a, g.Q.n.da = b, g.Q.n.G = f, g.N.n.da = d, g.N.n.G = f); this.mf = !0 } }, Y: null }); c.P.create = function(a, b, d) { return new c.P(a, b, d) }; c.P.pB = -1; c.F === c.Ha ? (p = c.P.prototype, p.rF = function(a) { this.Sa(!0); this.Hb(a.zi(), a.Le, a.Qf); a = this.color; 255 === a.r && 255 === a.g && 255 === a.b || this.yl(); this.me() }, p.ee = function(a) { this.Xa !== a && (this.Xa = a, this.Sa(!0)) }, p.Zb = function(a) { c.la.prototype.Zb.call(this, a); this.ji() }, p.ctor = function(a, b, d) { c.la.prototype.ctor.call(this); this.Xl = !1; this.Pb = c.d(0, 0); this.qi = c.d(0, 0); this.q = { src: c.vc, W: c.uc }; this.ba = c.rect(0, 0, 0, 0); this.jE = !1; this.sa = !0; this.Wp = { x: 0, y: 0, width: 0, height: 0, vr: !1 }; this.rD = c.size(0, 0); this.SN(a, b, d) }, p.zf = function(a, b) { var d = this.q; void 0 === b ? (d.src = a.src, d.W = a.W) : (d.src = a, d.W = b); this.Gp = d && (d.src == c.SRC_ALPHA && d.W == c.ONE || d.src == c.ONE && d.W == c.ONE) }, p.K = function() { if (0 < arguments.length) return this.mm(arguments[0], arguments[1]); c.la.prototype.K.call(this); this.dirty = this.fi = !1; this.Xa = !0; this.q.src = c.vc; this.q.W = c.uc; this.texture = null; this.sa = !0; this.dc = this.ec = !1; this.anchorY = this.anchorX = 0.5; this.Pb.x = 0; this.Pb.y = 0; this.dj = !1; this.Hb(c.rect(0, 0, 0, 0), !1, c.size(0, 0)); return !0 }, p.pa = function(a, b, d) { c.assert(0 != arguments.length, c.f.qT); if ((d = d || !1) && a.Kc) { var e = a.Ob, e = c.EG(e, b), f = new c.ia; f.Ld(e); f.$b(); a = f; this.ba = c.rect(0, 0, b.width, b.height) } if (!c.la.prototype.K.call(this)) return !1; this.$ = null; this.dirty = this.fi = !1; this.Xa = !0; this.q.src = c.vc; this.q.W = c.uc; this.dc = this.ec = !1; this.anchorY = this.anchorX = 0.5; this.Pb.x = 0; this.Pb.y = 0; this.dj = !1; this.sa = e = a.Kc; if (!e) return this.rd = d, b && (this.ba.x = b.x, this.ba.y = b.y, this.ba.width = b.width, this.ba.height = b.height), a.ue(this.zy, this), !0; b || (b = c.rect(0, 0, a.width, a.height)); a && (e = b.y + b.height, b.x + b.width > a.width && c.error(c.f.UB, a.url), e > a.height && c.error(c.f.TB, a.url)); this.texture = this.Je = a; this.Hb(b, d); this.batchNode = null; return !0 }, p.zy = function(a) { if (!this.sa) { this.sa = !0; var b = this.ba; b ? c.dy(b) && (b.width = a.width, b.height = a.height) : b = c.rect(0, 0, a.width, a.height); this.texture = this.Je = a; this.Hb(b, this.rd); this.batchNode = this.$; this.me() } }, p.Hb = function(a, b, d) { this.rd = b || !1; this.ye(d || a); this.BI(a); b = this.Wp; d = c.wb(); b.x = 0 | a.x * d; b.y = 0 | a.y * d; b.width = 0 | a.width * d; b.height = 0 | a.height * d; b.vr = !(0 === b.width || 0 === b.height || 0 > b.x || 0 > b.y); a = this.qi; this.dc && (a.x = -a.x); this.ec && (a.y = -a.y); this.Pb.x = a.x + (this.S.width - this.ba.width) / 2; this.Pb.y = a.y + (this.S.height - this.ba.height) / 2; this.$ && (this.dirty = !0) }, p.Ff = function() { if (this.dirty) { var a = this.gc; !this.Ja || a && a != this.$ && a.Xl ? this.Xl = !0 : (this.Xl = !1, this.An = a && a != this.$ ? c.Dm(this.Ve(), a.An) : this.Ve()); this.dirty = this.fi = !1 } this.dj && this.mh(this.u, c.t.og.Ff) }, p.M = function(a, b, d) { c.assert(a, c.f.oT); null == b && (b = a.Jb); null == d && (d = a.tag); c.la.prototype.M.call(this, a, b, d); this.dj = !0 }, p.Fa = function(a) { c.la.prototype.Fa.call(this, a); this.ji() }, p.Va = function(a) { var b = this.color; if (b.r !== a.r || b.g !== a.g || b.b !== a.b) c.la.prototype.Va.call(this, a), this.yl(), this.ji() }, p.bc = function(a) { var b = this.color; c.la.prototype.bc.call(this, a); a = this.Ma; if (b.r !== a.r || b.g !== a.g || b.b !== a.b) this.yl(), this.ji() }, p.xm = function(a) { var b = this; "string" == typeof a && (a = c.Zk.wj(a), c.assert(a, c.f.tT)); b.Sa(!0); var d = a.oa; b.qi.x = d.x; b.qi.y = d.y; b.rd = a.Le; var d = a.Ua(), e = a.sa; e || (b.sa = !1, a.ue(function(a) { b.sa = !0; var d = a.Ua(); d != b.O && (b.texture = d); b.Hb(a.zi(), a.Le, a.Qf); b.me() }, b)); d != b.O && (b.texture = d); b.rd && (b.Je = d); b.Hb(a.zi(), b.rd, a.Qf); b.bx = !1; e && (a = b.color, 255 === a.r && 255 === a.g && 255 === a.b || b.yl()) }, p.uQ = function(a) { return a.Ua() != this.O ? !1 : c.nR(a.zi(), this.ba) }, p.wm = function(a) { (this.$ = a) ? (this.An = { a: 1, b: 0, C: 0, D: 1, xa: 0, ya: 0 }, this.textureAtlas = this.$.textureAtlas) : (this.atlasIndex = c.P.pB, this.textureAtlas = null, this.dirty = this.fi = !1) }, p.zb = function(a) { a && "string" === typeof a ? (a = c.Ka.Qc(a), this.zb(a), a = a.ve(), this.Hb(c.rect(0, 0, a.width, a.height))) : (c.assert(!a || a instanceof c.ia, c.f.uT), this.O != a && (a && a.Ob instanceof HTMLImageElement && (this.Je = a), this.O = a)) }, p.Y = function(a) { if (this.sa) { a = a || c.m; this.Gp && (a.globalCompositeOperation = "lighter"); var b = c.view.ma, d = c.view.Na; a.globalAlpha = this.Ia / 255; var e = this.ba, f = this.S, g = this.Pb, h = this.rD, k = 0 | g.x, m = -g.y - e.height, n = this.Wp; h.width = e.width * b; h.height = e.height * d; if (this.dc || this.ec) a.save(), this.dc && (k = -g.x - e.width, a.scale(-1, 1)), this.ec && (m = g.y, a.scale(1, -1)); k *= b; m *= d; this.O && n.vr ? (f = this.O.Ob, this.bx ? a.drawImage(f, 0, 0, n.width, n.height, k, m, h.width, h.height) : a.drawImage(f, n.x, n.y, n.width, n.height, k, m, h.width, h.height)) : !this.O && n.vr && (h = this.color, a.fillStyle = "rgba(" + h.r + "," + h.g + "," + h.b + ",1)", a.fillRect(k, m, f.width * b, f.height * d)); 1 === c.hl || this.mF ? (a.strokeStyle = "rgba(0,255,0,1)", k /= b, m = -(m / d), k = [c.d(k, m), c.d(k + e.width, m), c.d(k + e.width, m - e.height), c.d(k, m - e.height)], c.jf.$d(k, 4, !0)) : 2 === c.hl && (a.strokeStyle = "rgba(0,255,0,1)", b = this.ba, m = -m, k = [c.d(k, m), c.d(k + b.width, m), c.d(k + b.width, m - b.height), c.d(k, m - b.height)], c.jf.$d(k, 4, !0)); (this.dc || this.ec) && a.restore(); c.Lg++ } }, delete p) : (c.assert("function" === typeof c.H.HC, c.f.cd, "SpritesWebGL.js"), c.H.HC(), delete c.H.HC); c.assert("function" === typeof c.H.OB, c.f.cd, "SpritesPropertyDefine.js"); c.H.OB(); delete c.H.OB; c.$A = 29; c.ng = c.t.extend({ textureAtlas: null, q: null, Wd: null, ob: "SpriteBatchNode", g1: function(a, b, d) { c.assert(a, c.f.cW); if (!(a instanceof c.P)) return c.log(c.f.bW), null; a.atlasIndex = b; var e = 0, f = this.Wd; if (f && 0 < f.length) for (var g = 0; g < f.length; g++) { var h = f[g]; h && h.atlasIndex >= b && ++e } f.splice(e, 0, a); c.t.prototype.M.call(this, a, b, d); this.tR(!1); return this }, bH: function() { return this.textureAtlas }, xI: function(a) { a != this.textureAtlas && (this.textureAtlas = a) }, j3: function() { return this.Wd }, mm: function(a, b) { var d = c.Ka.uo(a); d || (d = c.Ka.Qc(a)); return this.pa(d, b) }, ji: function() { this.nh = !0 }, K: function(a, b) { var d = c.Ka.uo(a); d || (d = c.Ka.Qc(a)); return this.pa(d, b) }, tz: function() { var a = this.textureAtlas.capacity, b = Math.floor(4 * (a + 1) / 3); c.log(c.f.dW, a, b); this.textureAtlas.aI(b) || c.log(c.f.eW) }, L6: function(a, b) { this.removeChild(this.u[a], b) }, mR: function(a, b) { var d = a.children; if (d && 0 < d.length) for (var e = 0; e < d.length; e++) { var f = d[e]; f && 0 > f.zIndex && (b = this.mR(f, b)) }!a == this && (a.atlasIndex = b, b++); if (d && 0 < d.length) for (e = 0; e < d.length; e++)(f = d[e]) && 0 <= f.zIndex && (b = this.mR(f, b)); return b }, lH: function(a) { var b = a.children; return b && 0 != b.length ? this.lH(b[b.length - 1]) : a.atlasIndex }, F5: function(a) { var b = a.children; return b && 0 != b.length ? this.F5(b[b.length - 1]) : a.atlasIndex }, y1: function(a, b) { var d = a.parent, e = d.children, f = e.indexOf(a), g = null; 0 < f && f < c.sC && (g = e[f - 1]); return d == this ? 0 == f ? 0 : this.lH(g) + 1 : 0 == f ? 0 > b ? d.atlasIndex : d.atlasIndex + 1 : 0 > g.zIndex && 0 > b || 0 <= g.zIndex && 0 <= b ? this.lH(g) + 1 : d.atlasIndex + 1 }, tR: function(a) { this.se = a }, zf: function(a, b) { this.q = void 0 === b ? a : { src: a, W: b } }, xi: function() { return this.q }, ar: function(a, b) { c.assert(a, c.f.hW); - 1 === this.u.indexOf(a) ? c.log(c.f.gW) : b !== a.zIndex && (c.t.prototype.ar.call(this, a, b), this.Sa()) }, removeChild: function(a, b) { null != a && (-1 === this.u.indexOf(a) ? c.log(c.f.fW) : (this.no(a), c.t.prototype.removeChild.call(this, a, b))) }, b_: null, bm: null, mca: !1, Je: null, ctor: null, Us: function(a, b) { c.t.prototype.ctor.call(this); var d; b = b || c.$A; "string" == typeof a ? (d = c.Ka.uo(a)) || (d = c.Ka.Qc(a)) : a instanceof c.ia && (d = a); d && this.pa(d, b) }, Vs: function(a, b) { c.t.prototype.ctor.call(this); this.b_ = new c.ga; var d; b = b || c.$A; "string" == typeof a ? (d = c.Ka.uo(a)) || (d = c.Ka.Qc(a)) : a instanceof c.ia && (d = a); d && this.pa(d, b) }, LS: null, S0: function(a, b) { c.assert(a, c.f.vT); a instanceof c.P ? (a.batchNode = this, a.atlasIndex = b, a.dirty = !0, a.Ff()) : c.log(c.f.YA) }, T0: function(a, b) { c.assert(a, c.f.YA); if (a instanceof c.P) { for (var d = this.textureAtlas.capacity; b >= d || d == this.textureAtlas.totalQuads;) this.tz(); a.batchNode = this; a.atlasIndex = b; a.dirty = !0; a.Ff() } else c.log(c.f.YA) }, am: function(a, b) { var d = this.Wd, e = this.textureAtlas, f = e.quads, g = d[a], h = c.TK(f[a]); d[b].atlasIndex = a; d[a] = d[b]; e.OA(f[b], a); d[b] = g; e.OA(h, b) }, yz: null, MZ: function(a, b) { c.assert(a, c.f.sT); a instanceof c.P ? (a.batchNode = this, a.atlasIndex = b, a.dirty = !0, a.Ff(), this.u.splice(b, 0, a)) : c.log(c.f.rT) }, NZ: function(a, b) { c.assert(a, c.f.wW); if (a instanceof c.P) { for (var d = this.textureAtlas; b >= d.capacity || d.capacity === d.totalQuads;) this.tz(); a.batchNode = this; a.atlasIndex = b; d.vH(a.quad, b); a.dirty = !0; a.Ff() } else c.log(c.f.vW) }, eO: function(a, b) { var d = 0, e = a.children; e && (d = e.length); var f = 0; if (0 === d) f = a.atlasIndex, a.atlasIndex = b, a.arrivalOrder = 0, f != b && this.am(f, b), b++; else { f = !0; 0 <= e[0].zIndex && (f = a.atlasIndex, a.atlasIndex = b, a.arrivalOrder = 0, f != b && this.am(f, b), b++, f = !1); for (d = 0; d < e.length; d++) { var g = e[d]; f && 0 <= g.zIndex && (f = a.atlasIndex, a.atlasIndex = b, a.arrivalOrder = 0, f != b && this.am(f, b), b++, f = !1); b = this.eO(g, b) } f && (f = a.atlasIndex, a.atlasIndex = b, a.arrivalOrder = 0, f != b && this.am(f, b), b++) } return b }, Gg: function() { this.textureAtlas.texture.xj() || (this.q.src = c.SRC_ALPHA, this.q.W = c.ONE_MINUS_SRC_ALPHA) }, pa: null, UD: function(a) { this.u = []; this.Wd = []; this.q = new c.cl(c.vc, c.uc); this.bm = this.Je = a; return !0 }, VD: function(a, b) { this.u = []; this.Wd = []; this.q = new c.cl(c.vc, c.uc); b = b || c.$A; this.textureAtlas = new c.ml; this.textureAtlas.pa(a, b); this.Gg(); this.shaderProgram = c.ge.Dc(c.Zj); return !0 }, uH: function(a, b) { a.batchNode = this; a.atlasIndex = b; a.dirty = !0; var d = this.textureAtlas; d.totalQuads >= d.capacity && this.tz(); d.vH(a.quad, b); this.Wd.splice(b, 0, a); var d = b + 1, e = this.Wd; if (e && 0 < e.length) for (; d < e.length; d++) e[d].atlasIndex++; var e = a.children, f; if (e) for (d = 0, l = e.length || 0; d < l; d++)(f = e[d]) && this.uH(f, this.y1(f, f.zIndex)) }, appendChild: null, SX: function(a) { this.se = !0; a.batchNode = this; a.dirty = !0; this.Wd.push(a); a.atlasIndex = this.Wd.length - 1; a = a.children; for (var b = 0, d = a.length || 0; b < d; b++) this.appendChild(a[b]) }, TX: function(a) { this.se = !0; a.batchNode = this; a.dirty = !0; this.Wd.push(a); var b = this.Wd.length - 1; a.atlasIndex = b; var d = this.textureAtlas; d.totalQuads == d.capacity && this.tz(); d.vH(a.quad, b); a = a.children; b = 0; for (d = a.length || 0; b < d; b++) this.appendChild(a[b]) }, no: null, F_: function(a) { a.batchNode = null; var b = this.Wd, d = b.indexOf(a); if (-1 != d) { b.splice(d, 1); for (var e = b.length; d < e; ++d) b[d].atlasIndex-- } if (a = a.children) for (b = 0, d = a.length || 0; b < d; b++) a[b] && this.no(a[b]) }, G_: function(a) { this.textureAtlas.sR(a.atlasIndex); a.batchNode = null; var b = this.Wd, d = b.indexOf(a); if (-1 != d) { b.splice(d, 1); for (var e = b.length; d < e; ++d) b[d].atlasIndex-- } if (a = a.children) for (b = 0, d = a.length || 0; b < d; b++) a[b] && this.no(a[b]) }, Ua: null, jt: function() { return this.bm }, ND: function() { return this.textureAtlas.texture }, zb: null, jF: function(a) { this.bm = a; for (var b = this.u, d = 0; d < b.length; d++) b[d].texture = a }, kF: function(a) { this.textureAtlas.texture = a; this.Gg() }, U: null, Cn: function(a) { var b = a || c.m; if (this.Ja) { b.save(); this.transform(a); var d = this.u; if (d) for (this.jd(), a = 0; a < d.length; a++) d[a] && d[a].U(b); b.restore() } }, ju: function(a) { a = a || c.m; if (this.Ja) { c.eo(); var b = this.grid; b && b.fg() && (b.ru(), this.KA()); this.jd(); this.transform(a); this.Y(a); b && b.fg() && b.nu(this); c.co(); this.arrivalOrder = 0 } }, M: null, OC: function(a, b, d) { c.assert(null != a, c.f.pT); a instanceof c.P ? (b = null == b ? a.zIndex : b, d = null == d ? a.tag : d, c.t.prototype.M.call(this, a, b, d), this.appendChild(a), this.Sa()) : c.log(c.f.nT) }, QX: function(a, b, d) { c.assert(null != a, c.f.oW); a instanceof c.P ? a.texture != this.textureAtlas.texture ? c.log(c.f.nW) : (b = null == b ? a.zIndex : b, d = null == d ? a.tag : d, c.t.prototype.M.call(this, a, b, d), this.appendChild(a), this.Sa()) : c.log(c.f.mW) }, Sg: null, D_: function(a) { var b = this.Wd; if (b && 0 < b.length) for (var d = 0, e = b.length; d < e; d++) b[d] && (b[d].batchNode = null); c.t.prototype.Sg.call(this, a); this.Wd.length = 0 }, E_: function(a) { var b = this.Wd; if (b && 0 < b.length) for (var d = 0, e = b.length; d < e; d++) b[d] && (b[d].batchNode = null); c.t.prototype.Sg.call(this, a); this.Wd.length = 0; this.textureAtlas.qR() }, jd: null, y0: function() { if (this.se) { var a, b = 0, d = this.u, e = d.length, f; for (a = 1; a < e; a++) { var g = d[a], b = a - 1; for (f = d[b]; 0 <= b && (g.Jb < f.Jb || g.Jb == f.Jb && g.arrivalOrder < f.arrivalOrder);) d[b + 1] = f, b -= 1, f = d[b]; d[b + 1] = g } 0 < d.length && this.mh(d, c.t.og.jd); this.se = !1 } }, z0: function() { if (this.se) { var a = this.u, b, d = 0, e = a.length, f; for (b = 1; b < e; b++) { var g = a[b], d = b - 1; for (f = a[d]; 0 <= d && (g.Jb < f.Jb || g.Jb == f.Jb && g.arrivalOrder < f.arrivalOrder);) a[d + 1] = f, d -= 1, f = a[d]; a[d + 1] = g } if (0 < a.length) for (this.mh(a, c.t.og.jd), b = d = 0; b < a.length; b++) d = this.eO(a[b], d); this.se = !1 } }, Y: null, fk: function() { 0 !== this.textureAtlas.totalQuads && (this.Sb.$c(), this.Sb.Ef(), this.mh(this.u, c.t.og.Ff), c.Ai(this.q.src, this.q.W), this.textureAtlas.cP()) } }); p = c.ng.prototype; c.F === c.ea ? (p.ctor = p.Vs, p.LS = p.T0, p.yz = p.NZ, p.pa = p.VD, p.appendChild = p.TX, p.no = p.G_, p.Ua = p.ND, p.zb = p.kF, p.U = p.ju, p.M = p.QX, p.Sg = p.E_, p.jd = p.z0, p.Y = p.fk) : (p.ctor = p.Us, p.LS = p.S0, p.yz = p.MZ, p.pa = p.UD, p.appendChild = p.SX, p.no = p.F_, p.Ua = p.jt, p.zb = p.jF, p.U = p.Cn, p.Sg = p.D_, p.M = p.OC, p.jd = p.y0, p.Y = c.t.prototype.Y); c.i(p, "texture", p.Ua, p.zb); c.i(p, "descendants", p.j3); c.ng.create = function(a, b) { return new c.ng(a, b) }; c.kT = c.P.extend({ Be: null, gf: null, ctor: function() { c.P.prototype.ctor.call(this); var a = document.createElement("canvas"); a.width = a.height = 10; this.Be = a; this.gf = a.getContext("2d"); var b = new c.ia; b.Ld(a); b.$b(); this.zb(b) }, ifa: function() { return this.gf }, hfa: function() { return this.Be }, vR: function(a, b) { void 0 === b && (b = a.height, a = a.width); var d = this.Be; d.width = a; d.height = b; this.Ua().$b(); this.Hb(c.rect(0, 0, a, b), !1) } }); c.eh = c.qa.extend({ Qp: null, oe: 0, bq: null, ctor: function(a, b, d) { this.Qp = a || null; this.oe = b || 0; this.bq = d || null }, k: function() { var a = new c.eh; a.Ah(this.Qp.k(), this.oe, this.bq); return a }, Xy: function() { return c.k(this) }, copy: function() { var a = new c.eh; a.Ah(this.Qp.k(), this.oe, this.bq); return a }, Ah: function(a, b, d) { this.Qp = a; this.oe = b; this.bq = d; return !0 }, wj: function() { return this.Qp }, xm: function(a) { this.Qp = a }, wfa: function() { return this.oe }, fna: function(a) { this.oe = a }, zha: function() { return this.bq }, Moa: function(a) { this.bq = a } }); c.eh.create = function(a, b, d) { return new c.eh(a, b, d) }; c.Em = c.qa.extend({ pe: null, lk: 0, qn: !1, p: 0, oe: 0, rj: 0, ctor: function(a, b, d) { this.pe = []; if (void 0 === a) this.pQ(null, 0); else { var e = a[0]; e && (e instanceof c.If ? this.pQ(a, b, d) : e instanceof c.eh && this.uz(a, b, d)) } }, Tfa: function() { return this.pe }, rna: function(a) { this.pe = a }, eG: function(a) { var b = new c.eh; b.Ah(a, 1, null); this.pe.push(b); this.rj++ }, xca: function(a) { a = c.Ka.Qc(a); var b = c.rect(0, 0, 0, 0); b.width = a.width; b.height = a.height; a = c.If.create(a, b); this.eG(a) }, yca: function(a, b) { var d = c.If.create(a, b); this.eG(d) }, uz: function(a, b, d) { c.gq(a, c.eh); this.oe = b; this.lk = void 0 === d ? 1 : d; this.rj = 0; b = this.pe; for (d = b.length = 0; d < a.length; d++) { var e = a[d]; b.push(e); this.rj += e.oe } return !0 }, k: function() { var a = new c.Em; a.uz(this.sL(), this.oe, this.lk); a.DA(this.qn); return a }, Xy: function() { var a = new c.Em; a.uz(this.sL(), this.oe, this.lk); a.DA(this.qn); return a }, sL: function() { for (var a = [], b = 0; b < this.pe.length; b++) a.push(this.pe[b].k()); return a }, copy: function() { return this.Xy(null) }, iga: function() { return this.lk }, Ena: function(a) { this.lk = a }, DA: function(a) { this.qn = a }, Rga: function() { return this.qn }, zq: function() { return this.rj * this.oe }, vfa: function() { return this.oe }, ena: function(a) { this.oe = a }, sha: function() { return this.rj }, pQ: function(a, b, d) { c.gq(a, c.If); this.lk = void 0 === d ? 1 : d; this.oe = b || 0; this.rj = 0; b = this.pe; b.length = 0; if (a) { for (d = 0; d < a.length; d++) { var e = a[d], f = new c.eh; f.Ah(e, 1, null); b.push(f) } this.rj += a.length } return !0 }, nA: function() {}, Lj: function() {} }); c.Em.create = function(a, b, d) { return new c.Em(a, b, d) }; c.Ky = { To: {}, lO: function(a, b) { this.To[b] = a }, gma: function(a) { a && this.To[a] && delete this.To[a] }, nP: function(a) { return this.To[a] ? this.To[a] : null }, PX: function(a, b) { var d = a.animations; if (d) { var e = 1, f = a.properties; if (f) for (var e = null != f.format ? parseInt(f.format) : e, f = f.spritesheets, g = c.Zk, h = c.path, k = 0; k < f.length; k++) g.f1(h.kq(b, f[k])); switch (e) { case 1: this.u_(d); break; case 2: this.v_(d); break; default: c.log(c.f.n1) } } else c.log(c.f.m1) }, qca: function(a) { c.assert(a, c.f.v1); var b = c.X.be(a); b ? this.PX(b, a) : c.log(c.f.u1) }, u_: function(a) { var b = c.Zk, d; for (d in a) { var e = a[d], f = e.frames, e = parseFloat(e.delay) || 0, g = null; if (f) { for (var g = [], h = 0; h < f.length; h++) { var k = b.wj(f[h]); if (k) { var m = new c.eh; m.Ah(k, 1, null); g.push(m) } else c.log(c.f.p1, d, f[h]) } 0 === g.length ? c.log(c.f.q1, d) : (g.length != f.length && c.log(c.f.r1, d), g = c.Em.create(g, e, 1), c.Ky.lO(g, d)) } else c.log(c.f.o1, d) } }, v_: function(a) { var b = c.Zk, d; for (d in a) { var e = a[d], f = parseInt(e.loops), f = e.loop ? c.js : isNaN(f) ? 1 : f, g = e.restoreOriginalFrame && !0 == e.restoreOriginalFrame ? !0 : !1, h = e.frames; if (h) { for (var k = [], m = 0; m < h.length; m++) { var n = h[m], q = n.spriteframe, r = b.wj(q); if (r) { var q = parseFloat(n.delayUnits) || 0, n = n.notification, t = new c.eh; t.Ah(r, q, n); k.push(t) } else c.log(c.f.t1, d, q) } e = parseFloat(e.delayPerUnit) || 0; h = new c.Em; h.uz(k, e, f); h.DA(g); c.Ky.lO(h, d) } else c.log(c.f.s1, d) } }, zl: function() { this.To = {} } }; c.If = c.qa.extend({ oa: null, Qf: null, of: null, Le: !1, ba: null, zg: null, Ag: null, O: null, Vp: "", sa: !1, sx: null, ctor: function(a, b, d, e, f) { this.oa = c.d(0, 0); this.zg = c.d(0, 0); this.Qf = c.size(0, 0); this.Le = !1; this.Ag = c.size(0, 0); this.Vp = ""; this.O = null; this.sa = !1; void 0 !== a && void 0 !== b && (void 0 === d || void 0 === e || void 0 === f ? this.pa(a, b) : this.pa(a, b, d, e, f)) }, Fv: function() { return this.sa }, ue: function(a, b) { null == this.sx && (this.sx = []); this.sx.push({ wi: a, Kg: b }) }, me: function() { var a = this.sx; if (a) { for (var b = 0, d = a.length; b < d; b++) { var e = a[b]; e.wi.call(e.Kg, this) } a.length = 0 } }, P3: function() { var a = this.of; return c.rect(a.x, a.y, a.width, a.height) }, boa: function(a) { this.of || (this.of = c.rect(0, 0, 0, 0)); this.of.x = a.x; this.of.y = a.y; this.of.width = a.width; this.of.height = a.height; this.ba = c.Sk(a) }, nia: function() { return this.Le }, doa: function(a) { this.Le = a }, zi: function() { var a = this.ba; return c.rect(a.x, a.y, a.width, a.height) }, XR: function(a) { this.ba || (this.ba = c.rect(0, 0, 0, 0)); this.ba.x = a.x; this.ba.y = a.y; this.ba.width = a.width; this.ba.height = a.height; this.of = c.sv(this.ba) }, uga: function() { return this.zg }, Nna: function(a) { this.zg.x = a.x; this.zg.y = a.y; c.wE(this.zg, this.oa) }, Aga: function() { return this.Ag }, Rna: function(a) { this.Ag.width = a.width; this.Ag.height = a.height }, zga: function() { return this.Qf }, Qna: function(a) { this.Qf.width = a.width; this.Qf.height = a.height }, Ua: function() { if (this.O) return this.O; if ("" !== this.Vp) { var a = c.Ka.Qc(this.Vp); a && (this.sa = a.Kc); return a } return null }, zb: function(a) { if (this.O != a) { var b = a.Kc; this.sa = b; this.O = a; b || a.ue(function(a) { this.sa = !0; if (this.Le && c.F === c.Ha) { var b = a.Ob, b = c.EG(b, this.zi()), f = new c.ia; f.Ld(b); f.$b(); this.zb(f); b = this.zi(); this.XR(c.rect(0, 0, b.width, b.height)) } b = this.ba; 0 === b.width && 0 === b.height && (b = a.width, a = a.height, this.ba.width = b, this.ba.height = a, this.of = c.sv(this.ba), this.Ag.width = this.of.width, this.Ag.height = this.of.height, this.Qf.width = b, this.Qf.height = a); this.me() }, this) } }, zP: function() { return this.oa }, BA: function(a) { this.oa.x = a.x; this.oa.y = a.y }, k: function() { var a = new c.If; a.pa(this.Vp, this.of, this.Le, this.zg, this.Ag); a.zb(this.O); return a }, Xy: function() { var a = new c.If; a.pa(this.Vp, this.of, this.Le, this.zg, this.Ag); a.zb(this.O); return a }, copy: function() { return this.Xy() }, pa: function(a, b, d, e, f) { 2 === arguments.length && (b = c.sv(b)); e = e || c.d(0, 0); f = f || b; d = d || !1; "string" == typeof a ? (this.O = null, this.Vp = a) : a instanceof c.ia && this.zb(a); if (a = this.Ua()) { var g, h; d ? (g = b.x + b.height, h = b.y + b.width) : (g = b.x + b.width, h = b.y + b.height); g > a.width && c.error(c.f.UB, a.url); h > a.height && c.error(c.f.TB, a.url) } this.of = b; this.ba = c.Sk(b); this.zg.x = e.x; this.zg.y = e.y; c.wE(e, this.oa); this.Ag.width = f.width; this.Ag.height = f.height; c.RN(f, this.Qf); this.Le = d; return !0 } }); c.If.create = function(a, b, d, e, f) { return new c.If(a, b, d, e, f) }; c.If.Lba = function(a, b, d, e, f) { var g = new c.If; g.O = a; g.of = b; g.ba = c.Sk(b); g.zg.x = e.x; g.zg.y = e.y; c.wE(g.zg, g.oa); g.Ag.width = f.width; g.Ag.height = f.height; c.RN(g.Ag, g.Qf); g.Le = d; return g }; c.Zk = { $K: /^\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*$/, BX: /^\s*\{\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*,\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*\}\s*$/, mi: {}, xk: {}, vp: {}, pN: function(a) { return (a = this.BX.exec(a)) ? c.rect(parseFloat(a[1]), parseFloat(a[2]), parseFloat(a[3]), parseFloat(a[4])) : c.rect(0, 0, 0, 0) }, fN: function(a) { return (a = this.$K.exec(a)) ? c.d(parseFloat(a[1]), parseFloat(a[2])) : c.d(0, 0) }, nF: function(a) { return (a = this.$K.exec(a)) ? c.size(parseFloat(a[1]), parseFloat(a[2])) : c.size(0, 0) }, aZ: function(a) { var b = c.X.be(a); c.assert(b, c.f.z8, a); c.X.Lj(a); if (b.Cp) return this.vp[a] = b; var d = b.frames, e = b.metadata || b.meta, b = {}, f = {}, g = 0; e && (g = e.format, g = 1 >= g.length ? parseInt(g) : g, f.s4 = e.textureFileName || e.textureFileName || e.image); for (var h in d) { var k = d[h]; if (k) { e = {}; if (0 == g) { e.rect = c.rect(k.x, k.y, k.width, k.height); e.qA = !1; e.offset = c.d(k.offsetX, k.offsetY); var m = k.originalWidth, k = k.originalHeight; m && k || c.log(c.f.y8); m = Math.abs(m); k = Math.abs(k); e.size = c.size(m, k) } else if (1 == g || 2 == g) e.rect = this.pN(k.frame), e.qA = k.rotated || !1, e.offset = this.fN(k.offset), e.size = this.nF(k.sourceSize); else if (3 == g) { var m = this.nF(k.spriteSize), n = this.pN(k.textureRect); m && (n = c.rect(n.x, n.y, m.width, m.height)); e.rect = n; e.qA = k.textureRotated || !1; e.offset = this.fN(k.spriteOffset); e.size = this.nF(k.spriteSourceSize); e.k1 = k.aliases } else m = k.frame, n = k.sourceSize, h = k.filename || h, e.rect = c.rect(m.x, m.y, m.w, m.h), e.qA = k.rotated || !1, e.offset = c.d(0, 0), e.size = c.size(n.w, n.h); b[h] = e } } return this.vp[a] = { Cp: !0, frames: b, H5: f } }, f1: function(a, b) { c.assert(a, c.f.B8); var d = this.vp[a] || c.X.be(a); if (d && d.frames) { var e = this.vp[a] || this.aZ(a), d = e.frames, e = e.H5; b ? b instanceof c.ia || ("string" == typeof b ? b = c.Ka.Qc(b) : c.assert(0, c.f.C8)) : b = c.Ka.Qc(c.path.kq(a, e.s4 || ".png")); var e = this.xk, f = this.mi, g; for (g in d) { var h = d[g], k = f[g]; if (!k) { k = c.If.create(b, h.rect, h.qA, h.offset, h.size); if (h = h.k1) for (var m = 0, n = h.length; m < n; m++) { var q = h[m]; e[q] && c.log(c.f.A8, q); e[q] = g } c.F === c.Ha && k.Le && k.Ua().Kc && (h = k.Ua().Ob, h = c.EG(h, k.P3()), m = new c.ia, m.Ld(h), m.$b(), k.zb(m), h = k.ba, k.XR(c.rect(0, 0, h.width, h.height))); f[g] = k } } } }, Eba: function(a) { a = a.frames; for (var b in a) this.mi[b] && c.log(c.f.x8, b) }, eG: function(a, b) { this.mi[b] = a }, nma: function() { this.mi = {}; this.xk = {} }, mma: function(a) { a && (this.xk[a] && delete this.xk[a], this.mi[a] && delete this.mi[a]) }, oma: function(a) { var b = this.mi, d = this.xk; if (a = this.vp[a]) { a = a.frames; for (var e in a) if (b[e]) { delete b[e]; for (var f in d) d[f] == e && delete d[f] } } }, pma: function(a) { var b = this.mi, d = this.xk, e; for (e in b) { var f = b[e]; if (f && f.Ua() == a) { delete b[e]; for (var g in d) d[g] == e && delete d[g] } } }, wj: function(a) { var b = this.mi[a]; if (!b) { var d = this.xk[a]; d && ((b = this.mi[d.toString()]) || delete this.xk[a]) } b || c.log(c.f.D8, a); return b }, zl: function() { this.mi = {}; this.xk = {}; this.vp = {} } }; c.nq = { H$: 0, Iaa: 1, INT: 2, B$: 3, X9: 4, wt: 0, $Z: 0, DF: !1, yy: !1, BF: !1, CF: !1, EF: !1, Wba: 0, hE: 0, Kw: "", fu: {}, Cp: !1, ot: function() { var a = this.fu; a["cocos2d.x.version"] = c.fB; a["cocos2d.x.compiled_with_profiler"] = !1; a["cocos2d.x.compiled_with_gl_state_cache"] = c.Qh; this.Cp = !0 }, nga: function() { return this.wt }, mga: function() { return this.$Z }, oga: function() { return this.hE }, dpa: function() { return this.yy }, epa: function() { return this.DF }, cpa: function() { return !1 }, fpa: function() { return !1 }, $oa: function() { return !1 }, apa: function() { return this.BF }, bpa: function() { return this.CF }, gpa: function() { return this.EF }, lq: function(a) { return -1 < this.Kw.indexOf(a) }, Bha: function(a, b) { this.Cp || this.ot(); var d = this.fu; return d[a] ? d[a] : b }, Ooa: function(a, b) { this.fu[a] = b }, B2: function() { 0 === c.Qh && (c.log(""), c.log(c.f.Y1), c.log("")) }, Y2: function() { if (c.F !== c.Ha) { this.Cp || this.ot(); var a = c.m, b = this.fu; b["gl.vendor"] = a.getParameter(a.VENDOR); b["gl.renderer"] = a.getParameter(a.RENDERER); b["gl.version"] = a.getParameter(a.VERSION); this.Kw = ""; for (var d = a.getSupportedExtensions(), e = 0; e < d.length; e++) this.Kw += d[e] + " "; this.wt = a.getParameter(a.MAX_TEXTURE_SIZE); b["gl.max_texture_size"] = this.wt; this.hE = a.getParameter(a.MAX_COMBINED_TEXTURE_IMAGE_UNITS); b["gl.max_texture_units"] = this.hE; this.DF = this.lq("GL_IMG_texture_compression_pvrtc"); b["gl.supports_PVRTC"] = this.DF; this.yy = !1; b["gl.supports_NPOT"] = this.yy; this.BF = this.lq("GL_IMG_texture_format_BGRA888"); b["gl.supports_BGRA8888"] = this.BF; this.CF = this.lq("GL_EXT_discard_framebuffer"); b["gl.supports_discard_framebuffer"] = this.CF; this.EF = this.lq("vertex_array_object"); b["gl.supports_vertex_array_object"] = this.EF; c.mq() } }, tka: function(a) { this.Cp || this.ot(); var b = c.X.be(a); if (!b) throw "Please load the resource first : " + a; c.assert(b, c.f.a2, a); if (b = b.data) for (var d in b) this.fu[d] = b[d]; else c.log(c.f.Z1, a) } }; c.H.cB = function() { c.F$ = c.qa.extend({ Dpa: function() {} }); var a = c.bb.prototype; a.so = function(a) { var d = this.V; this.gS(); var e = this.di, f = e.Qe.x / e.ma, e = e.Qe.y / e.Na; switch (a) { case c.bb.sV: c.Cj(c.Wj); c.Jq(); f = new c.ga; c.BH(f, 0, d.width, 0, d.height, -1024, 1024); c.Kq(f); c.Cj(c.Vj); c.Jq(); break; case c.bb.HJ: var g = this.Ju(), h = new c.ga, k = new c.ga; c.Cj(c.Wj); c.Jq(); c.l5(h, d.width / d.height, 2 * g); c.Kq(h); c.Cj(c.Vj); c.Jq(); g = c.Mq(null, -f + d.width / 2, -e + d.height / 2, g); c.xQ(k, g, c.Mq(null, -f + d.width / 2, -e + d.height / 2, 0), c.Mq(null, 0, 1, 0)); c.Kq(k); break; case c.bb.tV: break; default: c.log(c.f.LT) } this.It = a; c.wa.dispatchEvent(this.tx); c.VR() }; a.JR = function(a) { var d = c.m; a ? (d.clearDepth(1), d.enable(d.DEPTH_TEST), d.depthFunc(d.LEQUAL)) : d.disable(d.DEPTH_TEST) }; a.pI = function(a) { this.V.width = c.eb.width; this.V.height = c.eb.height; this.di = a || c.view; a = c.nq; a.Y2(); a.B2(); this.ip(); this.OR(); c.wa && c.wa.We(!0) }; a.zl = function() { var a = c.m; a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT) }; a.VC = function() { c.eo() }; a.PC = function() { c.co() }; a.ip = function() { if (!c.Si) this.xY(); else if (null != c.bb.pM && !1 != c.bb.pM) { var a = new c.ia; a.Ld(c.bb.up); a.$b(); var d = c.view.SG().height / 320; 0 === d && (d = this.V.height / 320); var e = new c.Si; e.bF(!0); e.Md("00.0", a, 12, 32, "."); e.scale = d; this.pg = e; e = new c.Si; e.bF(!0); e.Md("0.000", a, 12, 32, "."); e.scale = d; this.qg = e; e = new c.Si; e.bF(!0); e.Md("000", a, 12, 32, "."); e.scale = d; this.tg = e; a = c.aB; this.tg.J(a.x, 34 * d + a.y); this.qg.J(a.x, 17 * d + a.y); this.pg.J(a) } }; a.xY = function() { var a = 0, a = this.V.width > this.V.height ? 0 | this.V.height / 320 * 24 : 0 | this.V.width / 320 * 24; this.pg = c.Z.create("000.0", "Arial", a); this.qg = c.Z.create("0.000", "Arial", a); this.tg = c.Z.create("0000", "Arial", a); a = c.aB; this.tg.J(this.tg.width / 2 + a.x, 5 * this.tg.height / 2 + a.y); this.qg.J(this.qg.width / 2 + a.x, 3 * this.qg.height / 2 + a.y); this.pg.J(this.pg.width / 2 + a.x, this.pg.height / 2 + a.y) }; a.c2 = function(a) { var d = new c.ga; c.oJ(d); var e = new c.ga; c.k5(e, d); var d = d.c[14] / d.c[15], f = this.di.SG(), g = new c.Gb; c.HQ(g, new c.Gb(2 * a.x / f.width - 1, 1 - 2 * a.y / f.height, d), e); return c.d(g.x, g.y) }; a.e2 = function(a) { var d = new c.ga; c.oJ(d); var e = new c.Gb; c.HQ(e, new c.Gb(a.x, a.y, 0), d); a = this.di.SG(); return c.d(a.width * (0.5 * e.x + 0.5), a.height * (0.5 * -e.y + 0.5)) }; a.Hu = function() { return this.di.Hu() }; a.eH = function() { return this.di.eH() }; a.Ju = function() { return this.V.height / 1.1566 }; a.gS = function() { var a = this.di; if (a) { var d = this.V; a.q8(-a.Qe.x / a.ma, -a.Qe.y / a.Na, d.width, d.height) } }; a.wga = function() { return this.di }; a.vj = function() { return this.It }; a.i7 = function() { c.Ai(c.vc, c.uc) }; a.OR = function() { this.i7(); this.JR(!1); this.so(this.It); c.m.clearColor(0, 0, 0, 1) } }; c.Lg = 0; c.oJ = function(a) { var b = new c.ga; c.Ez(c.Wj, b); var d = new c.ga; c.Ez(c.Vj, d); c.Dj(a, b, d) }; c.bb = c.qa.extend({ Uba: !1, zt: !1, Ac: !1, ay: !1, Tl: !1, Ms: 0, lE: 0, It: 0, So: 0, Uh: 1, $s: !1, Al: 0, AD: 0, pg: null, qg: null, tg: null, V: null, Ml: null, gj: null, Rx: null, di: null, pj: null, JE: null, sd: null, pe: 0, By: 0, VE: 0, Iba: null, Dg: null, lh: null, tx: null, uD: null, wD: null, vD: null, ctor: function() { var a = this; a.Ml = Date.now(); c.wa.cG(c.Wc.Fr, function() { a.Ml = Date.now() }) }, K: function() { this.lE = this.Ms = 1 / c.k2; this.pj = []; this.It = c.bb.uV; this.JE = null; this.AD = this.So = 0; this.$s = !1; this.By = this.pe = 0; this.Ml = Date.now(); this.ay = this.Ac = !1; this.V = c.size(0, 0); this.di = null; this.Uh = 1; this.Dg = new c.os; this.lh = c.TI ? new c.TI : null; this.Dg.fI(this.lh, c.os.rw, !1); this.uD = new c.Tj(c.bb.UT); this.uD.setUserData(this); this.wD = new c.Tj(c.bb.WT); this.wD.setUserData(this); this.vD = new c.Tj(c.bb.VT); this.vD.setUserData(this); this.tx = new c.Tj(c.bb.XT); this.tx.setUserData(this); return !0 }, J1: function() { var a = Date.now(); this.zt ? (this.Al = 0, this.zt = !1) : this.Al = (a - this.Ml) / 1E3; 0 < c.Wc.vf[c.Wc.Nh.yu] && 0.2 < this.Al && (this.Al = 1 / 60); this.Ml = a }, z2: function() { this.J1(); this.Ac || (this.Dg.update(this.Al), c.wa.dispatchEvent(this.vD)); this.zl(); this.gj && this.M7(); this.VC && this.VC(); this.sd && (this.sd.U(), c.wa.dispatchEvent(this.wD)); this.Rx && this.Rx.U(); this.$s && this.x0(); this.PC && this.PC(); c.wa.dispatchEvent(this.uD); this.By++; this.$s && this.cY() }, VC: null, PC: null, end: function() { this.ay = !0 }, rfa: function() { return this.Uh }, qga: function() { return this.Rx }, Fha: function() { return this.V }, Iu: function() { return c.size(this.V.width * this.Uh, this.V.height * this.Uh) }, pause: function() { this.Ac || (this.lE = this.Ms, this.GR(0.25), this.Ac = !0) }, Dla: function() { c.assert(this.sd, c.f.IT); this.pj.pop(); var a = this.pj.length; 0 == a ? this.end() : (this.Tl = !0, this.gj = this.pj[a - 1]) }, x6: function() { c.Ky.zl(); c.Zk.zl(); c.Ka.zl() }, y6: function() { this.km().MA(); c.wa && c.wa.We(!1); this.sd && (this.sd.Og(), this.sd.xb(), this.sd.uf()); this.gj = this.sd = null; this.pj.length = 0; this.rS(); this.x6(); c.mq() }, z6: function(a) { c.assert(a, c.f.iJ); this.Tl = !1; this.pj.push(a); this.gj = a }, rA: function(a) { c.assert(a, c.f.iJ); if (this.sd) { var b = this.pj.length; 0 === b ? (this.Tl = !0, this.pj[b] = a) : (this.Tl = !0, this.pj[b - 1] = a); this.gj = a } else this.z6(a), this.nS() }, br: function() { this.Ac && (this.GR(this.lE), (this.Ml = Date.now()) || c.log(c.f.KT), this.Ac = !1, this.Al = 0) }, ana: function(a) { a != this.Uh && (this.Uh = a, this.ip()) }, dna: function() {}, Jna: function(a) { this.zt = a }, M7: function() { var a = !1, b = !1; c.Aa && (a = this.sd ? this.sd instanceof c.Aa : !1, b = this.gj ? this.gj instanceof c.Aa : !1); if (!b) { if (b = this.sd) b.Og(), b.xb(); this.Tl && b && b.uf() } this.sd = this.gj; this.gj = null; a || null == this.sd || (this.sd.ca(), this.sd.Ki()) }, Lna: function(a) { this.Rx = a }, i3: function() { return this.JE }, s7: function(a) { this.JE = a }, x0: function() { this.pe++; this.So += this.Al; this.pg && this.qg && this.tg ? (this.So > c.FT && (this.qg.string = this.VE.toFixed(3), this.AD = this.pe / this.So, this.So = this.pe = 0, this.pg.string = this.AD.toFixed(1), this.tg.string = (0 | c.Lg).toString()), this.pg.U(), this.qg.U(), this.tg.U()) : this.ip(); c.Lg = 0 }, qia: function() { return this.Tl }, Tga: function() { return this.sd }, cfa: function() { return this.Ms }, dia: function() { return this.$s }, v7: function(a) { this.$s = a }, Yga: function() { return this.VE }, iia: function() { return this.zt }, kia: function() { return this.Ac }, tha: function() { return this.By }, Ela: function() { this.p6(1) }, p6: function(a) { c.assert(this.sd, c.f.JT); var b = this.pj, d = b.length; if (0 == d) this.end(); else if (!(a > d)) { for (; d > a;) { var e = b.pop(); e.running && (e.Og(), e.xb()); e.uf(); d-- } this.gj = b[b.length - 1]; this.Tl = !1 } }, km: function() { return this.Dg }, aS: function(a) { this.Dg != a && (this.Dg = a) }, bz: function() { return this.lh }, ER: function(a) { this.lh != a && (this.lh = a) }, xfa: function() { return this.Al }, ip: null, cY: function() { this.VE = (Date.now() - this.Ml) / 1E3 } }); c.bb.XT = "director_projection_changed"; c.bb.UT = "director_after_draw"; c.bb.WT = "director_after_visit"; c.bb.VT = "director_after_update"; c.MT = c.bb.extend({ zz: !1, nS: function() { this.zt = !0; this.zz = !1 }, NQ: function() { this.ay ? (this.ay = !1, this.y6()) : this.zz || this.z2() }, rS: function() { this.zz = !0 }, GR: function(a) { this.Ms = a; this.zz || (this.rS(), this.nS()) } }); c.bb.CI = null; c.bb.jP = !0; c.bb.HD = function() { c.bb.jP && (c.bb.jP = !1, c.bb.CI = new c.MT, c.bb.CI.K()); return c.bb.CI }; c.k2 = 60; c.bb.sV = 0; c.bb.HJ = 1; c.bb.tV = 3; c.bb.uV = c.bb.HJ; c.F === c.Ha ? (p = c.bb.prototype, p.so = function(a) { this.It = a; c.wa.dispatchEvent(this.tx) }, p.JR = function() {}, p.pI = function(a) { this.V.width = c.eb.width; this.V.height = c.eb.height; this.di = a || c.view; c.wa && c.wa.We(!0) }, p.zl = function() { var a = this.di.Qe; c.m.clearRect(-a.x, a.y, a.width, -a.height) }, p.ip = function() { var a = 0, a = this.V.width > this.V.height ? 0 | this.V.height / 320 * 24 : 0 | this.V.width / 320 * 24; this.pg = c.Z.create("000.0", "Arial", a); this.qg = c.Z.create("0.000", "Arial", a); this.tg = c.Z.create("0000", "Arial", a); a = c.aB; this.tg.J(this.tg.width / 2 + a.x, 5 * this.tg.height / 2 + a.y); this.qg.J(this.qg.width / 2 + a.x, 3 * this.qg.height / 2 + a.y); this.pg.J(this.pg.width / 2 + a.x, this.pg.height / 2 + a.y) }, p.Hu = function() { return this.V }, p.eH = function() { return c.d(0, 0) }) : (c.bb.up = new Image, c.Ra(c.bb.up, "load", function() { c.bb.pM = !0 }), c.up && (c.bb.up.src = c.up), c.assert("function" === typeof c.H.cB, c.f.cd, "CCDirectorWebGL.js"), c.H.cB(), delete c.H.cB); c.Dr = c.qa.extend({ dt: null, et: null, ft: null, bp: null, dp: null, ep: null, bu: null, cu: null, du: null, qb: null, Ox: null, ctor: function() { this.Ox = new c.ga; this.restore() }, description: function() { return "" }, vA: function(a) { this.qb = a }, Qu: function() { return this.qb }, restore: function() { this.dt = this.et = 0; this.ft = c.Dr.Ju(); this.bu = this.bp = this.dp = this.ep = 0; this.cu = 1; this.du = 0; c.fo(this.Ox); this.qb = !1 }, $u: function() { if (this.qb) { var a = new c.Gb, b = new c.Gb, d = new c.Gb; c.Mq(a, this.dt, this.et, this.ft); c.Mq(b, this.bp, this.dp, this.ep); c.Mq(d, this.bu, this.cu, this.du); c.xQ(this.Ox, a, b, d); this.qb = !1 } c.Kq(this.Ox) }, kna: function(a, b, d) { this.NR(a, b, d) }, NR: function(a, b, d) { this.dt = a; this.et = b; this.ft = d; this.qb = !0 }, Uma: function(a, b, d) { this.n7(a, b, d) }, n7: function(a, b, d) { this.bp = a; this.dp = b; this.ep = d; this.qb = !0 }, Loa: function(a, b, d) { this.l8(a, b, d) }, l8: function(a, b, d) { this.bu = a; this.cu = b; this.du = d; this.qb = !0 }, Nfa: function() { return { x: this.dt, y: this.et, z: this.ft } }, wP: function() { return { x: this.dt, y: this.et, z: this.ft } }, kfa: function() { return { x: this.bp, y: this.dp, z: this.ep } }, rP: function() { return { x: this.bp, y: this.dp, z: this.ep } }, yha: function() { return { x: this.bu, y: this.cu, z: this.du } }, d4: function() { return { x: this.bu, y: this.cu, z: this.du } }, vba: function() {} }); c.Dr.Ju = function() { return c.lw }; c.zaa = c.rw + 1; c.gq = function(a, b) { if (a && 0 < a.length) for (var d = 0; d < a.length; d++) if (!(a[d] instanceof b)) return c.log(c.f.gq), !1; return !0 }; c.tf = function(a, b) { for (var d = 0, e = a.length; d < e; d++) if (a[d] == b) { a.splice(d, 1); break } }; c.Mca = function(a, b) { for (var d = 0, e = b.length; d < e; d++) c.tf(a, b[d]) }; c.Lca = function(a, b, d) { a.splice.apply(a, [d, 0].concat(b)); return a }; c.uJ = function(a, b, d) { this.next = this.tm = null; this.target = a; this.u6 = b; this.paused = d; this.Rz = !1 }; c.pJ = function(a, b, d) { this.list = a; this.Un = b; this.target = d; this.oz = null }; c.jU = function(a, b) { this.Pj = null; this.target = a; this.pr = 0; this.wu = this.vu = null; this.paused = b; this.oz = null }; c.nK = c.qa.extend({ jk: 0, Ce: null, Ne: null, rb: 0, DN: !1, Iy: !1, Xp: 0, NE: 0, ix: 0, Zfa: function() { return this.jk }, setInterval: function(a) { this.jk = a }, jfa: function() { return this.Ce }, ctor: function(a, b, d, e, f) { this.Ne = a; this.Ce = b; this.rb = -1; this.jk = d || 0; this.ix = f || 0; this.Iy = 0 < this.ix; this.NE = null == e ? c.js : e; this.DN = this.NE == c.js }, qD: function() { if ("string" == typeof this.Ce) this.Ne[this.Ce](this.rb); else this.Ce.call(this.Ne, this.rb) }, update: function(a) { if (-1 == this.rb) this.Xp = this.rb = 0; else { var b = this.Ne, d = this.Ce; this.rb += a; this.DN && !this.Iy ? this.rb >= this.jk && (b && d && this.qD(), this.rb = 0) : (this.Iy ? this.rb >= this.ix && (b && d && this.qD(), this.rb -= this.ix, this.Xp += 1, this.Iy = !1) : this.rb >= this.jk && (b && d && this.qD(), this.rb = 0, this.Xp += 1), this.Xp > this.NE && c.L.km().GS(b, d)) } } }); c.os = c.qa.extend({ au: 1, Bn: null, ik: null, Uw: null, hk: null, Aba: null, Vd: null, aj: !1, Cy: !1, ctor: function() { this.au = 1; this.Bn = [ [], [], [] ]; this.ik = {}; this.Uw = []; this.hk = {}; this.Ns = []; this.Vd = null; this.Cy = this.aj = !1 }, ME: function(a) { delete this.hk[a.target.Ba]; c.tf(this.Ns, a); a.nK = null; a.target = null }, uN: function(a) { if (a = this.ik[a.target.Ba]) c.tf(a.list, a.Un), delete this.ik[a.target.Ba], c.tf(this.Uw, a), a.Un = null, a.target = null }, jN: function(a, b, d, e) { e = new c.uJ(b, d, e); if (a) { for (var f = a.length - 1, g = 0; g <= f && !(d < a[g].u6); g++); a.splice(g, 0, e) } else a = [], a.push(e); d = new c.pJ(a, e, b); this.Uw.push(d); this.ik[b.Ba] = d; return a }, UX: function(a, b, d) { d = new c.uJ(b, 0, d); a.push(d); a = new c.pJ(a, d, b); this.Uw.push(a); this.ik[b.Ba] = a }, woa: function(a) { this.au = a }, rha: function() { return this.au }, update: function(a) { var b = this.Bn, d = this.Ns, e, f, g; this.Cy = !0; 1 != this.au && (a *= this.au); f = 0; for (g = b.length; f < g && 0 <= f; f++) for (var h = this.Bn[f], k = 0, m = h.length; k < m; k++) e = h[k], e.paused || e.Rz || e.target.update(a); f = 0; for (g = d.length; f < g; f++) { e = d[f]; if (!e) break; this.Vd = e; this.aj = !1; if (!e.paused) for (e.pr = 0; e.pr < e.Pj.length; e.pr++) e.vu = e.Pj[e.pr], e.wu = !1, e.vu.update(a), e.vu = null; this.aj && 0 == e.Pj.length && (this.ME(e), f--) } f = 0; for (g = b.length; f < g; f++) for (h = this.Bn[f], k = 0, m = h.length; k < m;) { e = h[k]; if (!e) break; e.Rz ? this.uN(e) : k++ } this.Cy = !1; this.Vd = null }, f7: function(a, b, d, e, f, g) { c.assert(b, c.f.YV); c.assert(a, c.f.ZV); d = d || 0; e = null == e ? c.js : e; f = f || 0; g = g || !1; var h = this.hk[a.Ba]; h || (h = new c.jU(a, g), this.Ns.push(h), this.hk[a.Ba] = h); if (null == h.Pj) h.Pj = []; else for (var k = 0; k < h.Pj.length; k++) if (g = h.Pj[k], b == g.Ce) { c.log(c.f.XV, g.jk.toFixed(4), d.toFixed(4)); g.jk = d; return } g = new c.nK(a, b, d, e, f); h.Pj.push(g) }, fI: function(a, b, d) { if (null !== a) { var e = this.Bn, f = this.ik[a.Ba]; f ? f.Un.Rz = !1 : 0 == b ? this.UX(e[1], a, d) : 0 > b ? e[0] = this.jN(e[0], a, b, d) : e[2] = this.jN(e[2], a, b, d) } }, GS: function(a, b) { if (null != a && null != b) { var d = this.hk[a.Ba]; if (d) for (var e = d.Pj, f = 0, g = e.length; f < g; f++) { var h = e[f]; if (b == h.Ce) { h != d.vu || d.wu || (d.wu = !0); e.splice(f, 1); d.pr >= f && d.pr--; 0 == e.length && (this.Vd == d ? this.aj = !0 : this.ME(d)); break } } } }, Lv: function(a) { null != a && (a = this.ik[a.Ba], null != a && (this.Cy ? a.Un.Rz = !0 : this.uN(a.Un))) }, FS: function(a) { if (null != a) { var b = this.hk[a.Ba]; if (b) { var d = b.Pj; !b.wu && 0 <= d.indexOf(b.vu) && (b.wu = !0); d.length = 0; this.Vd == b ? this.aj = !0 : this.ME(b) } this.Lv(a) } }, MA: function() { this.c9(c.os.rw) }, c9: function(a) { for (var b = this.Ns, d = this.Bn, e = 0, f = b.length; e < f; e++) this.FS(b[e].target); for (e = 2; 0 <= e; e--) if (!(1 == e && 0 < a || 0 == e && 0 <= a)) for (var b = d[e], f = 0, g = b.length; f < g; f++) this.Lv(b[f].target) }, xla: function() { return this.i6(c.os.rw) }, i6: function() { for (var a = [], b, d = this.Ns, e = this.Bn, f = 0, g = d.length; f < g; f++) if (b = d[f]) b.paused = !0, a.push(b.target); f = 0; for (g = e.length; f < g; f++) for (var d = e[f], h = 0, k = d.length; h < k; h++) if (b = d[h]) b.paused = !0, a.push(b.target); return a }, b7: function(a) { if (a) for (var b = 0; b < a.length; b++) this.Uk(a[b]) }, Xq: function(a) { c.assert(a, c.f.VV); var b = this.hk[a.Ba]; b && (b.paused = !0); (a = this.ik[a.Ba]) && (a.Un.paused = !0) }, Uk: function(a) { c.assert(a, c.f.WV); var b = this.hk[a.Ba]; b && (b.paused = !1); (a = this.ik[a.Ba]) && (a.Un.paused = !1) }, tia: function(a) { c.assert(a, c.f.UV); return (a = this.hk[a.Ba]) ? a.paused : !1 } }); c.os.rw = -2147483648; c.DJ = 2 * Math.PI; c.jJ = c.qa.extend({ $C: [], m: null, ctor: function(a) { this.m = a }, w2: function(a, b) { b || (b = 1); var d = c.view.ma, e = c.d(a.x * d, a.y * c.view.Na); this.m.beginPath(); this.m.arc(e.x, -e.y, b * d, 0, 2 * Math.PI, !1); this.m.closePath(); this.m.fill() }, x2: function(a, b, d) { if (null != a) { d || (d = 1); b = this.m; var e = c.view.ma, f = c.view.Na; b.beginPath(); for (var g = 0, h = a.length; g < h; g++) b.arc(a[g].x * e, -a[g].y * f, d * e, 0, 2 * Math.PI, !1); b.closePath(); b.fill() } }, Fk: function(a, b) { var d = this.m, e = c.view.ma, f = c.view.Na; d.beginPath(); d.moveTo(a.x * e, -a.y * f); d.lineTo(b.x * e, -b.y * f); d.closePath(); d.stroke() }, Eu: function(a, b) { this.Fk(c.d(a.x, a.y), c.d(b.x, a.y)); this.Fk(c.d(b.x, a.y), c.d(b.x, b.y)); this.Fk(c.d(b.x, b.y), c.d(a.x, b.y)); this.Fk(c.d(a.x, b.y), c.d(a.x, a.y)) }, dP: function(a, b, d) { a = [a, c.d(b.x, a.y), b, c.d(a.x, b.y)]; this.KG(a, 4, d) }, $d: function(a, b, d, e) { e = e || !1; if (null != a) { if (3 > a.length) throw Error("Polygon's point must greater than 2"); var f = a[0]; b = this.m; var g = c.view.ma, h = c.view.Na; b.beginPath(); b.moveTo(f.x * g, -f.y * h); for (var f = 1, k = a.length; f < k; f++) b.lineTo(a[f].x * g, -a[f].y * h); d && b.closePath(); e ? b.fill() : b.stroke() } }, KG: function(a, b, d) { this.fr(d.r, d.g, d.b, d.a); this.$d(a, b, !0, !0) }, HG: function(a, b, d, e, f) { f = f || !1; e = this.m; var g = c.view.ma, h = c.view.Na; e.beginPath(); e.arc(0 | a.x * g, 0 | -(a.y * h), b * g, -d, -(d - 2 * Math.PI), !1); f && e.lineTo(0 | a.x * g, 0 | -(a.y * h)); e.stroke() }, JG: function(a, b, d, e) { for (var f = this.$C, g = f.length = 0, h = 0; h < e; h++) f.push(c.d(Math.pow(1 - g, 2) * a.x + 2 * (1 - g) * g * b.x + g * g * d.x, Math.pow(1 - g, 2) * a.y + 2 * (1 - g) * g * b.y + g * g * d.y)), g += 1 / e; f.push(c.d(d.x, d.y)); this.$d(f, e + 1, !1, !1) }, IG: function(a, b, d, e, f) { for (var g = this.$C, h = g.length = 0, k = 0; k < f; k++) g.push(c.d(Math.pow(1 - h, 3) * a.x + 3 * Math.pow(1 - h, 2) * h * b.x + 3 * (1 - h) * h * h * d.x + h * h * h * e.x, Math.pow(1 - h, 3) * a.y + 3 * Math.pow(1 - h, 2) * h * b.y + 3 * (1 - h) * h * h * d.y + h * h * h * e.y)), h += 1 / f; g.push(c.d(e.x, e.y)); this.$d(g, f + 1, !1, !1) }, GG: function(a, b) { this.Qn(a, 0.5, b) }, Qn: function(a, b, d) { c.m.strokeStyle = "rgba(255,255,255,1)"; var e = this.$C; e.length = 0; for (var f, g, h = 1 / a.length, k = 0; k < d + 1; k++) g = k / d, 1 == g ? (f = a.length - 1, g = 1) : (f = 0 | g / h, g = (g - h * f) / h), f = c.yT(c.wd(a, f - 1), c.wd(a, f - 0), c.wd(a, f + 1), c.wd(a, f + 2), b, g), e.push(f); this.$d(e, d + 1, !1, !1) }, drawImage: function(a, b, d, e, f) { switch (arguments.length) { case 2: this.m.drawImage(a, b.x, -(b.y + a.height)); break; case 3: this.m.drawImage(a, b.x, -(b.y + d.height), d.width, d.height); break; case 5: this.m.drawImage(a, b.x, b.y, d.width, d.height, e.x, -(e.y + f.height), f.width, f.height); break; default: throw Error("Argument must be non-nil"); } }, A2: function(a, b, d) { a = a || this.m; b *= c.view.ma; d = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b); a.fillStyle = d + ",1)"; var e = b / 10; a.beginPath(); a.moveTo(-b, b); a.lineTo(0, e); a.lineTo(b, b); a.lineTo(e, 0); a.lineTo(b, -b); a.lineTo(0, -e); a.lineTo(-b, -b); a.lineTo(-e, 0); a.lineTo(-b, b); a.closePath(); a.fill(); var f = a.createRadialGradient(0, 0, e, 0, 0, b); f.addColorStop(0, d + ", 1)"); f.addColorStop(0.3, d + ", 0.8)"); f.addColorStop(1, d + ", 0.0)"); a.fillStyle = f; a.beginPath(); a.arc(0, 0, b - e, 0, c.DJ, !1); a.closePath(); a.fill() }, t2: function(a, b, d) { a = a || this.m; b *= c.view.ma; d = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b); var e = a.createRadialGradient(0, 0, b / 10, 0, 0, b); e.addColorStop(0, d + ", 1)"); e.addColorStop(0.3, d + ", 0.8)"); e.addColorStop(0.6, d + ", 0.4)"); e.addColorStop(1, d + ", 0.0)"); a.fillStyle = e; a.beginPath(); a.arc(0, 0, b, 0, c.DJ, !1); a.closePath(); a.fill() }, fillText: function(a, b, d) { this.m.fillText(a, b, -d) }, fr: function(a, b, d, e) { this.m.fillStyle = "rgba(" + a + "," + b + "," + d + "," + e / 255 + ")"; this.m.strokeStyle = "rgba(" + a + "," + b + "," + d + "," + e / 255 + ")" }, Q7: function() {}, nI: function(a) { this.m.lineWidth = a * c.view.ma } }); c.RT = c.qa.extend({ m: null, pt: !1, Mc: null, Zi: -1, Jf: null, yE: -1, xE: -1, ctor: function(a) { null == a && (a = c.m); if (!a instanceof WebGLRenderingContext) throw "Can't initialise DrawingPrimitiveWebGL. context need is WebGLRenderingContext"; this.m = a; this.Jf = new Float32Array([1, 1, 1, 1]) }, Kk: function() { this.pt || (this.Mc = c.ge.Dc(c.YB), this.Zi = this.m.getUniformLocation(this.Mc.$n(), "u_color"), this.yE = this.m.getUniformLocation(this.Mc.$n(), "u_pointSize"), this.pt = !0) }, Oda: function() { this.pt = !1 }, w2: function(a) { this.Kk(); var b = this.m; this.Mc.$c(); this.Mc.Ef(); c.Xc(c.ke); b.uniform4fv(this.Zi, this.Jf); this.Mc.xv(this.yE, this.xE); var d = b.createBuffer(); b.bindBuffer(b.ARRAY_BUFFER, d); b.bufferData(b.ARRAY_BUFFER, new Float32Array([a.x, a.y]), b.STATIC_DRAW); b.vertexAttribPointer(c.Ab, 2, b.FLOAT, !1, 0, 0); b.drawArrays(b.POINTS, 0, 1); b.deleteBuffer(d); c.Ng() }, x2: function(a) { if (a && 0 != a.length) { this.Kk(); var b = this.m; this.Mc.$c(); this.Mc.Ef(); c.Xc(c.ke); b.uniform4fv(this.Zi, this.Jf); this.Mc.xv(this.yE, this.xE); var d = b.createBuffer(); b.bindBuffer(b.ARRAY_BUFFER, d); b.bufferData(b.ARRAY_BUFFER, this.$x(a), b.STATIC_DRAW); b.vertexAttribPointer(c.Ab, 2, b.FLOAT, !1, 0, 0); b.drawArrays(b.POINTS, 0, a.length); b.deleteBuffer(d); c.Ng() } }, $x: function(a) { for (var b = new Float32Array(2 * a.length), d = 0; d < a.length; d++) b[2 * d] = a[d].x, b[2 * d + 1] = a[d].y; return b }, Fk: function(a, b) { this.Kk(); var d = this.m; this.Mc.$c(); this.Mc.Ef(); c.Xc(c.ke); d.uniform4fv(this.Zi, this.Jf); var e = d.createBuffer(); d.bindBuffer(d.ARRAY_BUFFER, e); d.bufferData(d.ARRAY_BUFFER, this.$x([a, b]), d.STATIC_DRAW); d.vertexAttribPointer(c.Ab, 2, d.FLOAT, !1, 0, 0); d.drawArrays(d.LINES, 0, 2); d.deleteBuffer(e); c.Ng() }, Eu: function(a, b) { this.Fk(c.d(a.x, a.y), c.d(b.x, a.y)); this.Fk(c.d(b.x, a.y), c.d(b.x, b.y)); this.Fk(c.d(b.x, b.y), c.d(a.x, b.y)); this.Fk(c.d(a.x, b.y), c.d(a.x, a.y)) }, dP: function(a, b, d) { a = [a, c.d(b.x, a.y), b, c.d(a.x, b.y)]; this.KG(a, 4, d) }, $d: function(a, b, d) { this.Kk(); b = this.m; this.Mc.$c(); this.Mc.Ef(); c.Xc(c.ke); b.uniform4fv(this.Zi, this.Jf); var e = b.createBuffer(); b.bindBuffer(b.ARRAY_BUFFER, e); b.bufferData(b.ARRAY_BUFFER, this.$x(a), b.STATIC_DRAW); b.vertexAttribPointer(c.Ab, 2, b.FLOAT, !1, 0, 0); d ? b.drawArrays(b.LINE_LOOP, 0, a.length) : b.drawArrays(b.LINE_STRIP, 0, a.length); b.deleteBuffer(e); c.Ng() }, KG: function(a, b, d) { this.Kk(); d && this.fr(d.r, d.g, d.b, d.a); b = this.m; this.Mc.$c(); this.Mc.Ef(); c.Xc(c.ke); b.uniform4fv(this.Zi, this.Jf); d = b.createBuffer(); b.bindBuffer(b.ARRAY_BUFFER, d); b.bufferData(b.ARRAY_BUFFER, this.$x(a), b.STATIC_DRAW); b.vertexAttribPointer(c.Ab, 2, b.FLOAT, !1, 0, 0); b.drawArrays(b.TRIANGLE_FAN, 0, a.length); b.deleteBuffer(d); c.Ng() }, HG: function(a, b, d, e, f) { this.Kk(); var g = 1; f && g++; var h = 2 * Math.PI / e; if (f = new Float32Array(2 * (e + 2))) { for (var k = 0; k <= e; k++) { var m = k * h, n = b * Math.sin(m + d) + a.y; f[2 * k] = b * Math.cos(m + d) + a.x; f[2 * k + 1] = n } f[2 * (e + 1)] = a.x; f[2 * (e + 1) + 1] = a.y; a = this.m; this.Mc.$c(); this.Mc.Ef(); c.Xc(c.ke); a.uniform4fv(this.Zi, this.Jf); b = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, b); a.bufferData(a.ARRAY_BUFFER, f, a.STATIC_DRAW); a.vertexAttribPointer(c.Ab, 2, a.FLOAT, !1, 0, 0); a.drawArrays(a.LINE_STRIP, 0, e + g); a.deleteBuffer(b); c.Ng() } }, JG: function(a, b, d, e) { this.Kk(); for (var f = new Float32Array(2 * (e + 1)), g = 0, h = 0; h < e; h++) f[2 * h] = Math.pow(1 - g, 2) * a.x + 2 * (1 - g) * g * b.x + g * g * d.x, f[2 * h + 1] = Math.pow(1 - g, 2) * a.y + 2 * (1 - g) * g * b.y + g * g * d.y, g += 1 / e; f[2 * e] = d.x; f[2 * e + 1] = d.y; a = this.m; this.Mc.$c(); this.Mc.Ef(); c.Xc(c.ke); a.uniform4fv(this.Zi, this.Jf); b = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, b); a.bufferData(a.ARRAY_BUFFER, f, a.STATIC_DRAW); a.vertexAttribPointer(c.Ab, 2, a.FLOAT, !1, 0, 0); a.drawArrays(a.LINE_STRIP, 0, e + 1); a.deleteBuffer(b); c.Ng() }, IG: function(a, b, d, e, f) { this.Kk(); for (var g = new Float32Array(2 * (f + 1)), h = 0, k = 0; k < f; k++) g[2 * k] = Math.pow(1 - h, 3) * a.x + 3 * Math.pow(1 - h, 2) * h * b.x + 3 * (1 - h) * h * h * d.x + h * h * h * e.x, g[2 * k + 1] = Math.pow(1 - h, 3) * a.y + 3 * Math.pow(1 - h, 2) * h * b.y + 3 * (1 - h) * h * h * d.y + h * h * h * e.y, h += 1 / f; g[2 * f] = e.x; g[2 * f + 1] = e.y; a = this.m; this.Mc.$c(); this.Mc.Ef(); c.Xc(c.ke); a.uniform4fv(this.Zi, this.Jf); b = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, b); a.bufferData(a.ARRAY_BUFFER, g, a.STATIC_DRAW); a.vertexAttribPointer(c.Ab, 2, a.FLOAT, !1, 0, 0); a.drawArrays(a.LINE_STRIP, 0, f + 1); a.deleteBuffer(b); c.Ng() }, GG: function(a, b) { this.Qn(a, 0.5, b) }, Qn: function(a, b, d) { this.Kk(); for (var e = new Float32Array(2 * (d + 1)), f, g, h = 1 / a.length, k = 0; k < d + 1; k++) g = k / d, 1 == g ? (f = a.length - 1, g = 1) : (f = 0 | g / h, g = (g - h * f) / h), f = c.yT(c.wd(a, f - 1), c.wd(a, f), c.wd(a, f + 1), c.wd(a, f + 2), b, g), e[2 * k] = f.x, e[2 * k + 1] = f.y; a = this.m; this.Mc.$c(); this.Mc.Ef(); c.Xc(c.ke); a.uniform4fv(this.Zi, this.Jf); b = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, b); a.bufferData(a.ARRAY_BUFFER, e, a.STATIC_DRAW); a.vertexAttribPointer(c.Ab, 2, a.FLOAT, !1, 0, 0); a.drawArrays(a.LINE_STRIP, 0, d + 1); a.deleteBuffer(b); c.Ng() }, fr: function(a, b, d, e) { this.Jf[0] = a / 255; this.Jf[1] = b / 255; this.Jf[2] = d / 255; this.Jf[3] = e / 255 }, Q7: function(a) { this.xE = a * c.wb() }, nI: function(a) { this.m.lineWidth && this.m.lineWidth(a) } }); c.H.EC = function() { var a = c.Z.prototype; a.Va = c.P.prototype.Va; a.Tf = function() { this.ub = !0; var a = this.vn, d = this.wn; this.ny = "rgba(128,128,128," + this.wk + ")"; this.wx = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + ", 1)"; this.sy = "rgba(" + (0 | a.r) + "," + (0 | a.g) + "," + (0 | a.b) + ", 1)" }; a.bc = c.P.prototype.bc; a.Fa = c.P.prototype.Fa; a.Zb = c.P.prototype.Zb; a.qH = function(a, d) { if (!c.P.prototype.K.call(this)) return !1; this.shaderProgram = c.ge.Dc(c.Z.KX); this.NF(d, !1); this.string = a; return !0 }; a.xA = function(a) { var d = this.wn; if (d.r != a.r || d.g != a.g || d.b != a.b) d.r = a.r, d.g = a.g, d.b = a.b, this.Tf(), this.ub = !0 }; a.Y = function(a) { if (this.Tb && "" != this.Tb) { a = a || c.m; var d = this.O; d && d.Kc && (this.Sb.$c(), this.Sb.Ef(), c.Ai(this.q.src, this.q.W), c.Te(d), c.Xc(c.Sm), a.bindBuffer(a.ARRAY_BUFFER, this.by), this.mf && (a.bufferData(a.ARRAY_BUFFER, this.hc.Ly, a.STATIC_DRAW), this.mf = !1), a.vertexAttribPointer(c.Ab, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(c.Sd, 2, a.FLOAT, !1, 24, 16), a.vertexAttribPointer(c.ef, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)); if (1 === c.hl) a = this.hc, a = [c.d(a.Q.j.x, a.Q.j.y), c.d(a.I.j.x, a.I.j.y), c.d(a.R.j.x, a.R.j.y), c.d(a.N.j.x, a.N.j.y)], c.jf.$d(a, 4, !0); else if (2 === c.hl) { a = this.SP().hca; var d = this.offsetX, e = this.offsetY; a = [c.d(d, e), c.d(d + a.width, e), c.d(d + a.width, e + a.height), c.d(d, e + a.height)]; c.jf.$d(a, 4, !0) } c.Lg++ } }; a.Hb = c.P.prototype.Hb }; c.H.KB = function() { var a = c.Z.prototype; c.i(a, "color", a.xf, a.Va); c.i(a, "opacity", a.yf, a.Fa); c.i(a, "string", a.lm, a.tc); c.i(a, "textAlign", a.u3, a.F7); c.i(a, "verticalAlign", a.h4, a.o8); c.i(a, "fontSize", a.UG, a.zA); c.i(a, "fontName", a.TG, a.yA); c.i(a, "font", a.$Y, a.X_); c.i(a, "boundingWidth", a.FD, a.R_); c.i(a, "boundingHeight", a.XY, a.Q_); c.i(a, "fillStyle", a.ZY, a.xA); c.i(a, "strokeStyle", a.uZ, a.s0); c.i(a, "lineWidth", a.hZ, a.a0); c.i(a, "shadowOffsetX", a.pZ, a.i0); c.i(a, "shadowOffsetY", a.qZ, a.j0); c.i(a, "shadowOpacity", a.rZ, a.k0); c.i(a, "shadowBlur", a.oZ, a.h0) }; c.Z = c.P.extend({ yc: null, Ll: c.Pm, em: c.Fs, mc: null, fc: 0, Tb: "", qE: null, Hp: !1, Vh: null, Ed: !1, Zd: null, wk: 0, Wl: 0, ny: null, wh: !1, vn: null, zk: 0, sy: null, wn: null, wx: null, yF: 0, zF: 0, ub: !1, Kx: null, Lx: null, QM: null, ob: "LabelTTF", ctor: function(a, b, d, e, f, g) { c.P.prototype.ctor.call(this); this.yc = c.size(0, 0); this.Ll = c.ss; this.em = c.Fs; this.Xa = !1; this.Vh = ""; this.mc = "Arial"; this.Ed = this.Hp = !1; this.Zd = c.d(0, 0); this.Wl = this.wk = 0; this.ny = "rgba(128, 128, 128, 0.5)"; this.wh = !1; this.vn = c.color(255, 255, 255, 255); this.zk = 0; this.sy = ""; this.wn = c.color(255, 255, 255, 255); this.wx = "rgba(255,255,255,1)"; this.zF = this.yF = 0; this.ub = !1; this.QM = []; this.Tf(); b && b instanceof c.nJ ? this.qH(a, b) : c.Z.prototype.Md.call(this, a, b, d, e, f, g) }, K: function() { return this.Md(" ", this.mc, this.fc) }, a_: function() { this.ID().font = this.Vh }, xt: function(a) { return this.ID().measureText(a).width }, gY: function(a, b) { var d = this.xt(a), e = Math.floor(a.length * b / d), f = a.indexOf("\n"); if (0.8 * e >= f && 0 < f) return f + 1; if (d < b) return a.length; for (var d = !1, f = b + 1, g = -1, h = e, k, m = c.Z.iY, n = c.Z.J_, q = c.Z.fY, r = a.substr(e); k = m.exec(r);) { h += k[0].length; f = this.xt(a.substr(0, h)); if ("\n" == k[2] && f < b) { d = !0; g = h; break } if (f > b) { -1 != g && (d = !0); break } g = h; r = a.substr(h) } if (d) return g; r = a.substr(0, e); for (g = e; k = n.exec(r);) if (g = k[1].length, r = k[1], f = this.xt(r), f < b) { q.test(k[2]) && g++; break } return g || 1 }, description: function() { return "" }, Va: null, Tf: null, bc: null, Fa: null, Zb: null, Cpa: function(a) { c.la.prototype.Zb.call(this, a); this.Tf() }, lm: function() { return this.Tb }, u3: function() { return this.Ll }, h4: function() { return this.em }, Bfa: function() { return c.size(this.yc.width, this.yc.height) }, UG: function() { return this.fc }, TG: function() { return this.mc }, Md: function(a, b, d, e, f, g) { a = a ? a + "" : ""; d = d || 16; e = e || c.size(0, d); f = f || c.ss; g = g || c.Fs; this.Xa = !1; this.yc = c.size(e.width, e.height); this.mc = b || "Arial"; this.Ll = f; this.em = g; this.fc = d; this.Vh = this.fc + "px '" + b + "'"; this.cj = c.Z.Hs(b, this.fc); this.string = a; this.Tf(); this.Hy(); this.ub = !1; return !0 }, qH: null, qoa: function(a) { a && this.NF(a, !0) }, lha: function() { return this.A_(!1) }, K2: function(a, b, d, e) { d = d || 0.5; !1 === this.Ed && (this.Ed = !0); var f = this.Zd; if (f && f.x != a || f.sf != b) f.x = a, f.y = b; this.wk != d && (this.wk = d); this.Tf(); this.Wl != e && (this.Wl = e); this.ub = !0 }, pZ: function() { return this.Zd.x }, i0: function(a) { !1 === this.Ed && (this.Ed = !0); this.Zd.x != a && (this.Zd.x = a, this.ub = !0) }, qZ: function() { return this.Zd.sf }, j0: function(a) { !1 === this.Ed && (this.Ed = !0); this.Zd.sf != a && (this.Zd.sf = a, this.ub = !0) }, Qba: function() { return c.d(this.Zd.x, this.Zd.y) }, eca: function(a) { !1 === this.Ed && (this.Ed = !0); if (this.Zd.x != a.x || this.Zd.y != a.y) this.Zd.x = a.x, this.Zd.y = a.y, this.ub = !0 }, rZ: function() { return this.wk }, k0: function(a) { !1 === this.Ed && (this.Ed = !0); this.wk != a && (this.wk = a, this.Tf(), this.ub = !0) }, oZ: function() { return this.Wl }, h0: function(a) { !1 === this.Ed && (this.Ed = !0); this.Wl != a && (this.Wl = a, this.ub = !0) }, Dda: function() { this.Ed && (this.Ed = !1, this.ub = !0) }, L2: function(a, b) { !1 === this.wh && (this.wh = !0); var d = this.vn; if (d.r !== a.r || d.g !== a.g || d.b !== a.b) d.r = a.r, d.g = a.g, d.b = a.b, this.Tf(); this.zk !== b && (this.zk = b || 0); this.ub = !0 }, uZ: function() { return this.vn }, s0: function(a) { !1 === this.wh && (this.wh = !0); var b = this.vn; if (b.r !== a.r || b.g !== a.g || b.b !== a.b) b.r = a.r, b.g = a.g, b.b = a.b, this.Tf(), this.ub = !0 }, hZ: function() { return this.zk }, a0: function(a) { !1 === this.wh && (this.wh = !0); this.zk !== a && (this.zk = a || 0, this.ub = !0) }, Eda: function() { this.wh && (this.wh = !1, this.ub = !0) }, xA: null, ZY: function() { return this.wn }, NF: function(a, b) { a.Sea ? (this.yc.width = a.boundingWidth, this.yc.height = a.boundingHeight) : (this.yc.width = 0, this.yc.height = 0); this.Ll = a.textAlign; this.em = a.verticalAlign; this.mc = a.fontName; this.fc = a.fontSize || 12; this.Vh = this.fc + "px '" + this.mc + "'"; this.cj = c.Z.Hs(this.mc, this.fc); a.iS && this.K2(a.shadowOffsetX, a.shadowOffsetY, a.shadowOpacity, a.shadowBlur); a.HI && this.L2(a.strokeStyle, a.lineWidth); this.xA(a.fillStyle); b && this.Hy() }, A_: function(a) { var b = new c.nJ; a ? (b.fontSize = this.fc, b.boundingWidth = c.wb() * this.yc.width, b.boundingHeight = c.wb() * this.yc.height) : (b.fontSize = this.fc, b.boundingWidth = this.yc.width, b.boundingHeight = this.yc.height); b.fontName = this.mc; b.textAlign = this.Ll; b.verticalAlign = this.em; if (this.wh) { b.HI = !0; var d = this.vn; b.strokeStyle = c.color(d.r, d.g, d.b); b.lineWidth = this.zk } else b.HI = !1; this.Ed ? (b.iS = !0, b.shadowBlur = this.Wl, b.shadowOpacity = this.wk, b.shadowOffsetX = (a ? c.wb() : 1) * this.Zd.x, b.shadowOffsetY = (a ? c.wb() : 1) * this.Zd.y) : b.Ed = !1; a = this.wn; b.fillStyle = c.color(a.r, a.g, a.b); return b }, cj: 18, tc: function(a) { a = String(a); this.qE != a && (this.qE = a + "", this.Fy(), this.ub = !0) }, Fy: function() { this.Tb = this.qE }, F7: function(a) { a !== this.Ll && (this.Ll = a, this.ub = !0) }, o8: function(a) { a != this.em && (this.em = a, this.ub = !0) }, gna: function(a) { if (a.width != this.yc.width || a.height != this.yc.height) this.yc = a, this.Fy(), this.ub = !0 }, FD: function() { return this.yc.width }, R_: function(a) { a != this.yc.width && (this.yc.width = a, this.Fy(), this.ub = !0) }, XY: function() { return this.yc.height }, Q_: function(a) { a != this.yc.height && (this.yc.height = a, this.Fy(), this.ub = !0) }, zA: function(a) { this.fc !== a && (this.fc = a, this.Vh = a + "px '" + this.mc + "'", this.cj = c.Z.Hs(this.mc, a), this.ub = !0) }, yA: function(a) { this.mc && this.mc != a && (this.mc = a, this.Vh = this.fc + "px '" + a + "'", this.cj = c.Z.Hs(a, this.fc), this.ub = !0) }, $Y: function() { return this.Vh }, X_: function(a) { var b = c.Z.MY.exec(a); b && (this.fc = parseInt(b[1]), this.mc = b[2], this.Vh = a, this.cj = c.Z.Hs(this.mc, this.fc), this.ub = !0) }, GY: function(a) { if (a) { var b = this.yF, d = this.zF, e = this.S.height - d, f = this.em, g = this.Ll, h = this.cj, k = this.zk; a.setTransform(1, 0, 0, 1, 0 + 0.5 * b, e + 0.5 * d); a.font != this.Vh && (a.font = this.Vh); a.fillStyle = this.wx; var m = d = 0, n = this.wh; n && (a.lineWidth = 2 * k, a.strokeStyle = this.sy); this.Ed && (k = this.Zd, a.shadowColor = this.ny, a.shadowOffsetX = k.x, a.shadowOffsetY = -k.y, a.shadowBlur = this.Wl); a.textBaseline = c.Z.I0[f]; a.textAlign = c.Z.H0[g]; b = this.S.width - b; d = g === c.hK ? d + b : g === c.Pm ? d + b / 2 : d + 0; if (this.Hp) for (g = this.yk.length, f === c.VK ? m = h + e - h * g : f === c.AX && (m = h / 2 + (e - h * g) / 2), f = 0; f < g; f++) b = this.yk[f], k = -e + h * f + m, n && a.strokeText(b, d, k), a.fillText(b, d, k); else f !== c.VK && (m = f === c.Fs ? m - e : m - 0.5 * e), n && a.strokeText(this.Tb, d, m), a.fillText(this.Tb, d, m) } }, ID: function() { if (this.Lx) return this.Lx; if (!this.Kx) { var a = c.ac("canvas"), b = new c.ia; b.Ld(a); this.texture = b; this.Kx = a } return this.Lx = this.Kx.getContext("2d") }, Gy: function() { var a = this.yc.width, b, d, e = this.QM; e.length = 0; this.Hp = !1; this.a_(); if (0 !== a) { var f = this.Tb; this.yk = []; b = 0; for (d = this.Tb.length; b < d;) { var g = this.gY(f.substr(b), a); this.yk.push(f.substr(b, g)); b += g } } else for (this.yk = this.Tb.split("\n"), b = 0, d = this.yk.length; b < d; b++) e.push(this.xt(this.yk[b])); 0 < this.yk.length && (this.Hp = !0); d = b = 0; this.wh && (b = d = 2 * this.zk); this.Ed && (f = this.Zd, b += 2 * Math.abs(f.x), d += 2 * Math.abs(f.y)); a = 0 === a ? this.Hp ? c.size(0 | Math.max.apply(Math, e) + b, 0 | this.cj * this.yk.length + d) : c.size(0 | this.xt(this.Tb) + b, 0 | this.cj + d) : 0 === this.yc.height ? this.Hp ? c.size(0 | a + b, 0 | this.cj * this.yk.length + d) : c.size(0 | a + b, 0 | this.cj + d) : c.size(0 | a + b, 0 | this.yc.height + d); this.ye(a); this.yF = b; this.zF = d; e = this.dd; this.lb.x = 0.5 * b + (a.width - b) * e.x; this.lb.y = 0.5 * d + (a.height - d) * e.y }, ve: function() { this.ub && this.Gy(); return c.P.prototype.ve.call(this) }, Wh: function() { this.ub && this.Gy(); return c.P.prototype.Wh.call(this) }, Jl: function() { this.ub && this.Gy(); return c.P.prototype.Jl.call(this) }, Hy: function() { var a = this.ID(), b = this.Kx, d = this.S; if (0 === this.Tb.length) return b.width = 1, b.height = d.height, this.Hb(c.rect(0, 0, 1, d.height)), !0; a.font = this.Vh; this.Gy(); var e = d.width, d = d.height, f = b.width == e && b.height == d; b.width = e; b.height = d; f && a.clearRect(0, 0, e, d); this.GY(a); this.O && this.O.$b(); this.Hb(c.rect(0, 0, e, d)); return !0 }, U: function(a) { this.Tb && "" != this.Tb && (this.ub && (this.ub = !1, this.Hy()), c.P.prototype.U.call(this, a || c.m)) }, Y: null, KN: function(a) { var b = this.$ ? this.textureAtlas.texture : this.O; if (b) { var d = b.pixelsWidth, e = b.pixelsHeight, f, g = this.hc; this.rd ? (c.Do ? (b = (2 * a.x + 1) / (2 * d), d = b + (2 * a.height - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.width - 2) / (2 * e)) : (b = a.x / d, d = (a.x + a.height) / d, f = a.y / e, a = (a.y + a.width) / e), this.dc && (e = f, f = a, a = e), this.ec && (e = b, b = d, d = e), g.I.n.da = b, g.I.n.G = f, g.R.n.da = b, g.R.n.G = a, g.Q.n.da = d, g.Q.n.G = f, g.N.n.da = d, g.N.n.G = a) : (c.Do ? (b = (2 * a.x + 1) / (2 * d), d = b + (2 * a.width - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.height - 2) / (2 * e)) : (b = a.x / d, d = (a.x + a.width) / d, f = a.y / e, a = (a.y + a.height) / e), this.dc && (e = b, b = d, d = e), this.ec && (e = f, f = a, a = e), g.I.n.da = b, g.I.n.G = a, g.R.n.da = d, g.R.n.G = a, g.Q.n.da = b, g.Q.n.G = f, g.N.n.da = d, g.N.n.G = f); this.mf = !0 } } }); c.F === c.Ha ? (p = c.Z.prototype, p.Va = function(a) { c.la.prototype.Va.call(this, a); this.Tf() }, p.Tf = function() { this.ub = !0; var a = this.Ma, b = this.Ia, d = this.vn, e = this.wn; this.ny = "rgba(" + (0 | 0.5 * a.r) + "," + (0 | 0.5 * a.g) + "," + (0 | 0.5 * a.b) + "," + this.wk + ")"; this.wx = "rgba(" + (0 | a.r / 255 * e.r) + "," + (0 | a.g / 255 * e.g) + "," + (0 | a.b / 255 * e.b) + ", " + b / 255 + ")"; this.sy = "rgba(" + (0 | a.r / 255 * d.r) + "," + (0 | a.g / 255 * d.g) + "," + (0 | a.b / 255 * d.b) + ", " + b / 255 + ")" }, p.bc = function(a) { c.la.prototype.bc.call(this, a); this.Tf() }, p.Fa = function(a) { this.qe !== a && (c.P.prototype.Fa.call(this, a), this.Tf(), this.ub = !0) }, p.Zb = c.P.prototype.Zb, p.qH = function(a, b) { this.NF(b, !1); this.string = a; return !0 }, p.xA = function(a) { var b = this.wn; if (b.r != a.r || b.g != a.g || b.b != a.b) b.r = a.r, b.g = a.g, b.b = a.b, this.Tf(), this.ub = !0 }, p.Y = c.P.prototype.Y, p.Hb = function(a, b, d) { this.rd = b || !1; this.ye(d || a); this.BI(a); b = this.Wp; b.x = a.x; b.y = a.y; b.width = a.width; b.height = a.height; b.vr = !(0 === b.width || 0 === b.height || 0 > b.x || 0 > b.y); a = this.qi; this.dc && (a.x = -a.x); this.ec && (a.y = -a.y); this.Pb.x = a.x + (this.S.width - this.ba.width) / 2; this.Pb.y = a.y + (this.S.height - this.ba.height) / 2; this.$ && (this.dirty = !0) }, p = null) : (c.assert("function" === typeof c.H.EC, c.f.cd, "LabelTTFWebGL.js"), c.H.EC(), delete c.H.EC); c.assert("function" === typeof c.H.KB, c.f.cd, "LabelTTFPropertyDefine.js"); c.H.KB(); delete c.H.KB; c.Z.H0 = ["left", "center", "right"]; c.Z.I0 = ["top", "middle", "bottom"]; c.Z.iY = /(.+?)([\s\n\r\-\/\\\:]|[一-龥]|[︰-ᅠ])/; c.Z.J_ = /(.*)([\s\n\r\-\/\\\:]|[一-龥]|[︰-ᅠ])/; c.Z.fY = /[\s\-\/\\\:]/; c.Z.MY = /^(\d+)px\s+['"]?([\w\s\d]+)['"]?$/; c.Z.create = function(a, b, d, e, f, g) { return new c.Z(a, b, d, e, f, g) }; c.Z.KX = c.zX ? c.Zj : c.WB; c.Z.ul = c.ac("div"); c.Z.ul.style.fontFamily = "Arial"; c.Z.ul.style.position = "absolute"; c.Z.ul.style.left = "-100px"; c.Z.ul.style.top = "-100px"; c.Z.ul.style.lineHeight = "normal"; document.body ? document.body.appendChild(c.Z.ul) : c.Ra(window, "load", function() { this.removeEventListener("load", arguments.callee, !1); document.body.appendChild(c.Z.ul) }, !1); c.Z.Hs = function(a, b) { var d = c.Z.aL[a + "." + b]; if (0 < d) return d; var e = c.Z.ul; e.innerHTML = "ajghl~!"; e.style.fontFamily = a; e.style.fontSize = b + "px"; d = e.clientHeight; c.Z.aL[a + "." + b] = d; e.innerHTML = ""; return d }; c.Z.aL = {}; c.iU = c.qa.extend({ Oc: null, target: null, Fn: 0, $f: null, On: !1, paused: !1, oz: null, ctor: function() { this.Oc = []; this.target = null; this.Fn = 0; this.$f = null; this.paused = this.On = !1; this.oz = null } }); c.TI = c.qa.extend({ Yh: null, Uo: null, Vd: null, aj: !1, cca: function(a, b) { for (var d = 0; d < a.length; d++) if (b == a[d].target) return a[d]; return null }, ctor: function() { this.Yh = {}; this.Uo = []; this.Vd = null; this.aj = !1 }, Z0: function(a, b, d) { if (!a) throw "cc.ActionManager.addAction(): action must be non-null"; if (!b) throw "cc.ActionManager.addAction(): action must be non-null"; var e = this.Yh[b.Ba]; e || (e = new c.iU, e.paused = d, e.target = b, this.Yh[b.Ba] = e, this.Uo.push(e)); this.OX(e); e.Oc.push(a); a.B(b) }, ama: function() { for (var a = this.Uo, b = 0; b < a.length; b++) { var d = a[b]; d && this.pR(d.target, !0) } }, pR: function(a, b) { if (null != a) { var d = this.Yh[a.Ba]; d && (-1 === d.Oc.indexOf(d.$f) || d.On || (d.On = !0), d.Oc.length = 0, this.Vd != d || b ? this.kD(d) : this.aj = !0) } }, oR: function(a) { if (null != a) { var b = this.Yh[a.originalTarget.Ba]; if (b) for (var d = 0; d < b.Oc.length; d++) { if (b.Oc[d] == a) { b.Oc.splice(d, 1); break } } else c.log(c.f.aT) } }, J6: function(a, b) { a == c.zo && c.log(c.f.UI); c.assert(b, c.f.UI); var d = this.Yh[b.Ba]; if (d) for (var e = d.Oc.length, f = 0; f < e; ++f) { var g = d.Oc[f]; if (g && g.Dq() === a && g.originalTarget == b) { this.C_(f, d); break } } }, NG: function(a, b) { a == c.zo && c.log(c.f.ZS); var d = this.Yh[b.Ba]; if (d) { if (null != d.Oc) for (var e = 0; e < d.Oc.length; ++e) { var f = d.Oc[e]; if (f && f.Dq() === a) return f } c.log(c.f.$S, a) } return null }, O5: function(a) { return (a = this.Yh[a.Ba]) ? a.Oc ? a.Oc.length : 0 : 0 }, Xq: function(a) { (a = this.Yh[a.Ba]) && (a.paused = !0) }, Uk: function(a) { (a = this.Yh[a.Ba]) && (a.paused = !1) }, wla: function() { for (var a = [], b = this.Uo, d = 0; d < b.length; d++) { var e = b[d]; e && !e.paused && (e.paused = !0, a.push(e.target)) } return a }, b7: function(a) { if (a) for (var b = 0; b < a.length; b++) a[b] && this.Uk(a[b]) }, Jla: function() { c.L.km().Lv(this) }, C_: function(a, b) { b.Oc[a] != b.$f || b.On || (b.On = !0); b.Oc.splice(a, 1); b.Fn >= a && b.Fn--; 0 == b.Oc.length && (this.Vd == b ? this.aj = !0 : this.kD(b)) }, kD: function(a) { a && (delete this.Yh[a.target.Ba], c.tf(this.Uo, a), a.Oc = null, a.target = null) }, OX: function(a) { null == a.Oc && (a.Oc = []) }, update: function(a) { for (var b = this.Uo, d, e = 0; e < b.length; e++) { d = this.Vd = b[e]; if (!d.paused) for (d.Fn = 0; d.Fn < d.Oc.length; d.Fn++) if (d.$f = d.Oc[d.Fn], d.$f) { d.On = !1; d.$f.step(a * (d.$f.Qt ? d.$f.Me : 1)); if (d.On) d.$f = null; else if (d.$f.Bh()) { d.$f.stop(); var f = d.$f; d.$f = null; this.oR(f) } d.$f = null } this.aj && 0 === d.Oc.length && this.kD(d) } } }); c.Mja = Number; c.Cia = Number; c.Dia = Number; c.Jo = 0; c.Ko = 1; c.CH = 3.141592; c.o5 = 0.017453; c.p5 = 57.295779; c.Da = 0.015625; c.Yc = function(a) { return a * a }; c.Xu = function(a) { return a * c.o5 }; c.Hja = function(a) { return a * c.p5 }; c.Hz = function(a, b) { return a < b ? a : b }; c.Gz = function(a, b) { return a > b ? a : b }; c.Bia = function(a, b) { return a + c.Da > b && a - c.Da < b }; c.Ei = function() { this.y = this.x = 0 }; c.Qja = function(a, b, d) { a.x = b; a.y = d; return a }; c.Jz = function(a) { return Math.sqrt(c.Yc(a.x) + c.Yc(a.y)) }; c.Rja = function(a) { return c.Yc(a.x) + c.Yc(a.y) }; c.v5 = function(a, b) { var d = 1 / c.Jz(b), e = new c.Ei; e.x = b.x * d; e.y = b.y * d; a.x = e.x; a.y = e.y }; c.Nja = function(a, b, d) { a.x = b.x + d.x; a.y = b.y + d.y; return a }; c.Pja = function(a, b) { return a.x * b.x + a.y * b.y }; c.Kz = function(a, b, d) { a.x = b.x - d.x; a.y = b.y - d.y; return a }; c.Tja = function(a, b, d) { var e = new c.Ei; e.x = b.x * d.c[0] + b.y * d.c[3] + d.c[6]; e.y = b.x * d.c[1] + b.y * d.c[4] + d.c[7]; a.x = e.x; a.y = e.y; return a }; c.Uja = function() { return null }; c.Sja = function(a, b, d) { a.x = b.x * d; a.y = b.y * d; return a }; c.Oja = function(a, b) { return a.x < b.x + c.Da && a.x > b.x - c.Da && a.y < b.y + c.Da && a.y > b.y - c.Da }; c.Gb = function(a, b, d) { this.x = a || 0; this.y = b || 0; this.z = d || 0 }; c.Mq = function(a, b, d, e) { if (!a) return new c.Gb(b, d, e); a.x = b; a.y = d; a.z = e; return a }; c.FQ = function(a) { return Math.sqrt(c.Yc(a.x) + c.Yc(a.y) + c.Yc(a.z)) }; c.GQ = function(a) { return c.Yc(a.x) + c.Yc(a.y) + c.Yc(a.z) }; c.hg = function(a, b) { var d = 1 / c.FQ(b); a.x = b.x * d; a.y = b.y * d; a.z = b.z * d }; c.om = function(a, b, d) { a.x = b.y * d.z - b.z * d.y; a.y = b.z * d.x - b.x * d.z; a.z = b.x * d.y - b.y * d.x }; c.EH = function(a, b) { return a.x * b.x + a.y * b.y + a.z * b.z }; c.EQ = function(a, b, d) { a.x = b.x + d.x; a.y = b.y + d.y; a.z = b.z + d.z }; c.GH = function(a, b, d) { a.x = b.x - d.x; a.y = b.y - d.y; a.z = b.z - d.z }; c.Zja = function(a, b, d) { a.x = b.x * d.c[0] + b.y * d.c[4] + b.z * d.c[8] + d.c[12]; a.y = b.x * d.c[1] + b.y * d.c[5] + b.z * d.c[9] + d.c[13]; a.z = b.x * d.c[2] + b.y * d.c[6] + b.z * d.c[10] + d.c[14]; return a }; c.$ja = function(a, b, d) { a.x = b.x * d.c[0] + b.y * d.c[4] + b.z * d.c[8]; a.y = b.x * d.c[1] + b.y * d.c[5] + b.z * d.c[9]; a.z = b.x * d.c[2] + b.y * d.c[6] + b.z * d.c[10]; return a }; c.HQ = function(a, b, d) { var e = new c.IQ, f = new c.IQ; c.w5(f, b.x, b.y, b.z); c.JQ(e, f, d); a.x = e.x / e.l; a.y = e.y / e.l; a.z = e.z / e.l }; c.FH = function(a, b, d) { a.x = b.x * d; a.y = b.y * d; a.z = b.z * d; return a }; c.Vja = function(a, b) { return a.x < b.x + c.Da && a.x > b.x - c.Da && a.y < b.y + c.Da && a.y > b.y - c.Da && a.z < b.z + c.Da && a.z > b.z - c.Da ? 1 : 0 }; c.Wja = function(a, b, d) { b = new c.Gb(b.x - d.c[12], b.y - d.c[13], b.z - d.c[14]); a.x = b.x * d.c[0] + b.y * d.c[1] + b.z * d.c[2]; a.y = b.x * d.c[4] + b.y * d.c[5] + b.z * d.c[6]; a.z = b.x * d.c[8] + b.y * d.c[9] + b.z * d.c[10]; return a }; c.Xja = function(a, b, d) { a.x = b.x * d.c[0] + b.y * d.c[1] + b.z * d.c[2]; a.y = b.x * d.c[4] + b.y * d.c[5] + b.z * d.c[6]; a.z = b.x * d.c[8] + b.y * d.c[9] + b.z * d.c[10]; return a }; c.Yu = function(a, b) { a != b && (a.x = b.x, a.y = b.y, a.z = b.z) }; c.aka = function(a) { a.x = 0; a.y = 0; a.z = 0; return a }; c.Yja = function(a) { if (!a) return null; var b = new Float32Array(3); b[0] = a.x; b[1] = a.y; b[2] = a.z; return b }; c.IQ = function() { this.l = this.z = this.y = this.x = 0 }; c.w5 = function(a, b, d, e) { a.x = b; a.y = d; a.z = e; a.l = 1 }; c.bka = function(a, b, d) { a.x = b.x + d.x; a.y = b.y + d.y; a.z = b.z + d.z; a.l = b.l + d.l; return a }; c.eka = function(a, b) { return a.x * b.x + a.y * b.y + a.z * b.z + a.l * b.l }; c.x5 = function(a) { return Math.sqrt(c.Yc(a.x) + c.Yc(a.y) + c.Yc(a.z) + c.Yc(a.l)) }; c.fka = function(a) { return c.Yc(a.x) + c.Yc(a.y) + c.Yc(a.z) + c.Yc(a.l) }; c.gka = function(a) { return a }; c.y5 = function(a, b) { var d = 1 / c.x5(b); a.x *= d; a.y *= d; a.z *= d; a.l *= d }; c.hka = function(a, b, d) { c.y5(a, b); a.x *= d; a.y *= d; a.z *= d; a.l *= d; return a }; c.ika = function(a, b, d) { a.x = b.x - d.x; a.y = b.y - d.y; a.z = b.z - d.z; a.l = b.l - d.l; return a }; c.JQ = function(a, b, d) { a.x = b.x * d.c[0] + b.y * d.c[4] + b.z * d.c[8] + b.l * d.c[12]; a.y = b.x * d.c[1] + b.y * d.c[5] + b.z * d.c[9] + b.l * d.c[13]; a.z = b.x * d.c[2] + b.y * d.c[6] + b.z * d.c[10] + b.l * d.c[14]; a.l = b.x * d.c[3] + b.y * d.c[7] + b.z * d.c[11] + b.l * d.c[15] }; c.kka = function(a, b, d, e, f, g) { for (var h = 0; h < g;) c.JQ(a + h * b, d + h * e, f), ++h; return a }; c.cka = function(a, b) { return a.x < b.x + c.Da && a.x > b.x - c.Da && a.y < b.y + c.Da && a.y > b.y - c.Da && a.z < b.z + c.Da && a.z > b.z - c.Da && a.l < b.l + c.Da && a.l > b.l - c.Da }; c.dka = function(a, b) { if (a == b) return c.log("destVec and srcVec are same object"), a; a.x = b.x; a.y = b.y; a.z = b.z; a.l = b.l; return a }; c.jka = function(a) { if (!a) return null; var b = new Float32Array(4); b[0] = a.x; b[1] = a.y; b[2] = a.z; b[3] = a.l; return b }; c.Ija = function(a) { this.start = a || new c.Ei; this.start = a || new c.Ei }; c.Jja = function(a, b, d, e, f) { a.start.x = b; a.start.y = d; a.dir.x = e; a.dir.y = f }; c.DH = function(a, b, d, e) { var f = a.start.x, g = a.start.y, h = a.start.x + a.dir.x; a = a.start.y + a.dir.y; var k = b.x, m = b.y, n = d.x, q = d.y, r = (q - m) * (h - f) - (n - k) * (a - g); if (r > -c.Da && r < c.Da) return c.Jo; m = ((n - k) * (g - m) - (q - m) * (f - k)) / r; k = f + m * (h - f); m = g + m * (a - g); if (k < c.Hz(b.x, d.x) - c.Da || k > c.Gz(b.x, d.x) + c.Da || m < c.Hz(b.y, d.y) - c.Da || m > c.Gz(b.y, d.y) + c.Da || k < c.Hz(f, h) - c.Da || k > c.Gz(f, h) + c.Da || m < c.Hz(g, a) - c.Da || m > c.Gz(g, a) + c.Da) return c.Jo; e.x = k; e.y = m; return c.Ko }; c.oG = function(a, b, d) { var e = new c.Ei; c.Kz(e, b, a); d.x = -e.y; d.y = e.x; c.v5(d, d) }; c.Lja = function(a, b, d, e, f, g) { var h = new c.Ei, k = new c.Ei, m = new c.Ei, n = 1E4, q = c.Jo, r; c.DH(a, b, d, h) && (r = new c.Ei, q = c.Ko, r = c.Jz(c.Kz(r, h, a.start)), r < n && (k.x = h.x, k.y = h.y, n = r, c.oG(b, d, m))); c.DH(a, d, e, h) && (r = new c.Ei, q = c.Ko, r = c.Jz(c.Kz(r, h, a.start)), r < n && (k.x = h.x, k.y = h.y, n = r, c.oG(d, e, m))); c.DH(a, e, b, h) && (r = new c.Ei, q = c.Ko, r = c.Jz(c.Kz(r, h, a.start)), r < n && (k.x = h.x, k.y = h.y, c.oG(e, b, m))); q && (f.x = k.x, f.y = k.y, g && (g.x = m.x, g.y = m.y)); return q }; c.Kja = function() { c.log("cc.kmRay2IntersectCircle() has not been implemented.") }; var Float32Array = Float32Array || Array; c.Fz = function() { this.c = new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0]) }; c.Lia = function(a, b) { for (var d = 0; 9 > d; d++) a.c[d] = b; return a }; c.h5 = function(a, b) { a.c[0] = b.c[4] * b.c[8] - b.c[5] * b.c[7]; a.c[1] = b.c[2] * b.c[7] - b.c[1] * b.c[8]; a.c[2] = b.c[1] * b.c[5] - b.c[2] * b.c[4]; a.c[3] = b.c[5] * b.c[6] - b.c[3] * b.c[8]; a.c[4] = b.c[0] * b.c[8] - b.c[2] * b.c[6]; a.c[5] = b.c[2] * b.c[3] - b.c[0] * b.c[5]; a.c[6] = b.c[3] * b.c[7] - b.c[4] * b.c[6]; a.c[8] = b.c[0] * b.c[4] - b.c[1] * b.c[3] }; c.wQ = function(a) { a.c[1] = a.c[2] = a.c[3] = a.c[5] = a.c[6] = a.c[7] = 0; a.c[0] = a.c[4] = a.c[8] = 1 }; c.Mia = function(a, b, d) { var e = new c.Fz; if (0 === b) return null; b = 1 / b; c.h5(e, d); c.i5(a, e, b); return a }; c.Fz.PD = new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]); c.Nia = function(a) { for (var b = 0; 9 > b; b++) if (c.Fz.PD[b] !== a.c[b]) return !1; return !0 }; c.Yia = function(a, b) { var d, e; for (d = 0; 3 > d; ++d) for (e = 0; 3 > e; ++e) a.c[3 * d + e] = b.c[3 * e + d]; return a }; c.Kia = function(a) { var b; b = a.c[0] * a.c[4] * a.c[8] + a.c[1] * a.c[5] * a.c[6] + a.c[2] * a.c[3] * a.c[7]; return b -= a.c[2] * a.c[4] * a.c[6] + a.c[0] * a.c[5] * a.c[7] + a.c[1] * a.c[3] * a.c[8] }; c.Oia = function(a, b, d) { b = b.c; d = d.c; a.c[0] = b[0] * d[0] + b[3] * d[1] + b[6] * d[2]; a.c[1] = b[1] * d[0] + b[4] * d[1] + b[7] * d[2]; a.c[2] = b[2] * d[0] + b[5] * d[1] + b[8] * d[2]; a.c[3] = b[0] * d[3] + b[3] * d[4] + b[6] * d[5]; a.c[4] = b[1] * d[3] + b[4] * d[4] + b[7] * d[5]; a.c[5] = b[2] * d[3] + b[5] * d[4] + b[8] * d[5]; a.c[6] = b[0] * d[6] + b[3] * d[7] + b[6] * d[8]; a.c[7] = b[1] * d[6] + b[4] * d[7] + b[7] * d[8]; a.c[8] = b[2] * d[6] + b[5] * d[7] + b[8] * d[8]; return a }; c.i5 = function(a, b, d) { for (var e = 0; 9 > e; e++) a.c[e] = b.c[e] * d }; c.Qia = function(a, b, d) { var e = Math.cos(d); d = Math.sin(d); a.c[0] = e + b.x * b.x * (1 - e); a.c[1] = b.z * d + b.y * b.x * (1 - e); a.c[2] = -b.y * d + b.z * b.x * (1 - e); a.c[3] = -b.z * d + b.x * b.y * (1 - e); a.c[4] = e + b.y * b.y * (1 - e); a.c[5] = b.x * d + b.z * b.y * (1 - e); a.c[6] = b.y * d + b.x * b.z * (1 - e); a.c[7] = -b.x * d + b.y * b.z * (1 - e); a.c[8] = e + b.z * b.z * (1 - e); return a }; c.Jia = function(a, b) { if (a == b) return c.log("cc.kmMat3Assign(): pOut equals pIn"), a; for (var d = 0; 9 > d; d++) a.c[d] = b.c[d]; return a }; c.Iia = function(a, b) { if (a == b) return !0; for (var d = 0; 9 > d; ++d) if (!(a.c[d] + c.Da > b.c[d] && a.c[d] - c.Da < b.c[d])) return !1; return !0 }; c.Tia = function(a, b) { a.c[0] = 1; a.c[1] = 0; a.c[2] = 0; a.c[3] = 0; a.c[4] = Math.cos(b); a.c[5] = Math.sin(b); a.c[6] = 0; a.c[7] = -Math.sin(b); a.c[8] = Math.cos(b); return a }; c.Uia = function(a, b) { a.c[0] = Math.cos(b); a.c[1] = 0; a.c[2] = -Math.sin(b); a.c[3] = 0; a.c[4] = 1; a.c[5] = 0; a.c[6] = Math.sin(b); a.c[7] = 0; a.c[8] = Math.cos(b); return a }; c.Via = function(a, b) { a.c[0] = Math.cos(b); a.c[1] = -Math.sin(b); a.c[2] = 0; a.c[3] = Math.sin(b); a.c[4] = Math.cos(b); a.c[5] = 0; a.c[6] = 0; a.c[7] = 0; a.c[8] = 1; return a }; c.Pia = function(a, b) { a.c[0] = Math.cos(b); a.c[1] = Math.sin(b); a.c[2] = 0; a.c[3] = -Math.sin(b); a.c[4] = Math.cos(b); a.c[5] = 0; a.c[6] = 0; a.c[7] = 0; a.c[8] = 1; return a }; c.Wia = function(a, b, d) { c.wQ(a); a.c[0] = b; a.c[4] = d; return a }; c.Xia = function(a, b, d) { c.wQ(a); a.c[6] = b; a.c[7] = d; return a }; c.Ria = function(a, b) { if (!b || !a) return null; a.c[0] = 1 - 2 * (b.y * b.y + b.z * b.z); a.c[1] = 2 * (b.x * b.y - b.l * b.z); a.c[2] = 2 * (b.x * b.z + b.l * b.y); a.c[3] = 2 * (b.x * b.y + b.l * b.z); a.c[4] = 1 - 2 * (b.x * b.x + b.z * b.z); a.c[5] = 2 * (b.y * b.z - b.l * b.x); a.c[6] = 2 * (b.x * b.z - b.l * b.y); a.c[7] = 2 * (b.y * b.z + b.l * b.x); a.c[8] = 1 - 2 * (b.x * b.x + b.y * b.y); return a }; c.Sia = function(a, b, d) { c.CQ(void 0, d); c.DQ(void 0, a); return a }; c.ga = function() { this.c = new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) }; c.aja = function(a, b) { a.c[0] = a.c[1] = a.c[2] = a.c[3] = a.c[4] = a.c[5] = a.c[6] = a.c[7] = a.c[8] = a.c[9] = a.c[10] = a.c[11] = a.c[12] = a.c[13] = a.c[14] = a.c[15] = b }; c.fo = function(a) { a.c[1] = a.c[2] = a.c[3] = a.c[4] = a.c[6] = a.c[7] = a.c[8] = a.c[9] = a.c[11] = a.c[12] = a.c[13] = a.c[14] = 0; a.c[0] = a.c[5] = a.c[10] = a.c[15] = 1 }; c.ga.wg = function(a, b, d) { return a.c[b + 4 * d] }; c.ga.Ul = function(a, b, d, e) { a.c[b + 4 * d] = e }; c.ga.am = function(a, b, d, e, f) { var g = c.ga.wg(a, b, d); c.ga.Ul(a, b, d, c.ga.wg(a, e, f)); c.ga.Ul(a, e, f, g) }; c.ga.OY = function(a, b) { var d, e = 0, f = 0, g, h, k, m = [0, 0, 0, 0], n = [0, 0, 0, 0], q = [0, 0, 0, 0]; for (d = 0; 4 > d; d++) { for (g = k = 0; 4 > g; g++) if (1 != q[g]) for (h = 0; 4 > h; h++) 0 == q[h] && Math.abs(c.ga.wg(a, g, h)) >= k && (k = Math.abs(c.ga.wg(a, g, h)), f = g, e = h); ++q[e]; if (f != e) { for (g = 0; 4 > g; g++) c.ga.am(a, f, g, e, g); for (g = 0; 4 > g; g++) c.ga.am(b, f, g, e, g) } n[d] = f; m[d] = e; if (0 == c.ga.wg(a, e, e)) return c.Jo; h = 1 / c.ga.wg(a, e, e); c.ga.Ul(a, e, e, 1); for (g = 0; 4 > g; g++) c.ga.Ul(a, e, g, c.ga.wg(a, e, g) * h); for (g = 0; 4 > g; g++) c.ga.Ul(b, e, g, c.ga.wg(b, e, g) * h); for (h = 0; 4 > h; h++) if (h != e) { k = c.ga.wg(a, h, e); c.ga.Ul(a, h, e, 0); for (g = 0; 4 > g; g++) c.ga.Ul(a, h, g, c.ga.wg(a, h, g) - c.ga.wg(a, e, g) * k); for (g = 0; 4 > g; g++) c.ga.Ul(b, h, g, c.ga.wg(a, h, g) - c.ga.wg(b, e, g) * k) } } for (g = 3; 0 <= g; g--) if (n[g] != m[g]) for (h = 0; 4 > h; h++) c.ga.am(a, h, n[g], h, m[g]); return c.Ko }; c.ga.PD = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]); c.k5 = function(a, b) { var d = new c.ga, e = new c.ga; c.Jk(d, b); c.fo(e); c.ga.OY(d, e) != c.Jo && c.Jk(a, d) }; c.eja = function(a) { for (var b = 0; 16 > b; b++) if (c.ga.PD[b] != a.c[b]) return !1; return !0 }; c.mja = function(a, b) { var d, e, f = a.c, g = b.c; for (e = 0; 4 > e; ++e) for (d = 0; 4 > d; ++d) f[4 * e + d] = g[4 * d + e]; return a }; c.Dj = function(a, b, d) { a = a.c; var e = b.c[0], f = b.c[1], g = b.c[2], h = b.c[3], k = b.c[4], m = b.c[5], n = b.c[6], q = b.c[7], r = b.c[8], t = b.c[9], s = b.c[10], u = b.c[11], v = b.c[12], B = b.c[13], x = b.c[14]; b = b.c[15]; var F = d.c[0], I = d.c[1], y = d.c[2], A = d.c[3], D = d.c[4], z = d.c[5], E = d.c[6], J = d.c[7], W = d.c[8], K = d.c[9], Y = d.c[10], ha = d.c[11], da = d.c[12], ya = d.c[13], M = d.c[14]; d = d.c[15]; a[0] = F * e + I * k + y * r + A * v; a[1] = F * f + I * m + y * t + A * B; a[2] = F * g + I * n + y * s + A * x; a[3] = F * h + I * q + y * u + A * b; a[4] = D * e + z * k + E * r + J * v; a[5] = D * f + z * m + E * t + J * B; a[6] = D * g + z * n + E * s + J * x; a[7] = D * h + z * q + E * u + J * b; a[8] = W * e + K * k + Y * r + ha * v; a[9] = W * f + K * m + Y * t + ha * B; a[10] = W * g + K * n + Y * s + ha * x; a[11] = W * h + K * q + Y * u + ha * b; a[12] = da * e + ya * k + M * r + d * v; a[13] = da * f + ya * m + M * t + d * B; a[14] = da * g + ya * n + M * s + d * x; a[15] = da * h + ya * q + M * u + d * b }; c.E3 = function() { var a = c.um.top.c, b = c.Nk.top.c, d = new Float32Array(16); d[0] = a[0] * b[0] + a[4] * b[1] + a[8] * b[2] + a[12] * b[3]; d[1] = a[1] * b[0] + a[5] * b[1] + a[9] * b[2] + a[13] * b[3]; d[2] = a[2] * b[0] + a[6] * b[1] + a[10] * b[2] + a[14] * b[3]; d[3] = a[3] * b[0] + a[7] * b[1] + a[11] * b[2] + a[15] * b[3]; d[4] = a[0] * b[4] + a[4] * b[5] + a[8] * b[6] + a[12] * b[7]; d[5] = a[1] * b[4] + a[5] * b[5] + a[9] * b[6] + a[13] * b[7]; d[6] = a[2] * b[4] + a[6] * b[5] + a[10] * b[6] + a[14] * b[7]; d[7] = a[3] * b[4] + a[7] * b[5] + a[11] * b[6] + a[15] * b[7]; d[8] = a[0] * b[8] + a[4] * b[9] + a[8] * b[10] + a[12] * b[11]; d[9] = a[1] * b[8] + a[5] * b[9] + a[9] * b[10] + a[13] * b[11]; d[10] = a[2] * b[8] + a[6] * b[9] + a[10] * b[10] + a[14] * b[11]; d[11] = a[3] * b[8] + a[7] * b[9] + a[11] * b[10] + a[15] * b[11]; d[12] = a[0] * b[12] + a[4] * b[13] + a[8] * b[14] + a[12] * b[15]; d[13] = a[1] * b[12] + a[5] * b[13] + a[9] * b[14] + a[13] * b[15]; d[14] = a[2] * b[12] + a[6] * b[13] + a[10] * b[14] + a[14] * b[15]; d[15] = a[3] * b[12] + a[7] * b[13] + a[11] * b[14] + a[15] * b[15]; return d }; c.lga = function(a, b, d) { a = a.c; b = b.c; var e = d.c; e[0] = a[0] * b[0] + a[4] * b[1] + a[8] * b[2] + a[12] * b[3]; e[1] = a[1] * b[0] + a[5] * b[1] + a[9] * b[2] + a[13] * b[3]; e[2] = a[2] * b[0] + a[6] * b[1] + a[10] * b[2] + a[14] * b[3]; e[3] = a[3] * b[0] + a[7] * b[1] + a[11] * b[2] + a[15] * b[3]; e[4] = a[0] * b[4] + a[4] * b[5] + a[8] * b[6] + a[12] * b[7]; e[5] = a[1] * b[4] + a[5] * b[5] + a[9] * b[6] + a[13] * b[7]; e[6] = a[2] * b[4] + a[6] * b[5] + a[10] * b[6] + a[14] * b[7]; e[7] = a[3] * b[4] + a[7] * b[5] + a[11] * b[6] + a[15] * b[7]; e[8] = a[0] * b[8] + a[4] * b[9] + a[8] * b[10] + a[12] * b[11]; e[9] = a[1] * b[8] + a[5] * b[9] + a[9] * b[10] + a[13] * b[11]; e[10] = a[2] * b[8] + a[6] * b[9] + a[10] * b[10] + a[14] * b[11]; e[11] = a[3] * b[8] + a[7] * b[9] + a[11] * b[10] + a[15] * b[11]; e[12] = a[0] * b[12] + a[4] * b[13] + a[8] * b[14] + a[12] * b[15]; e[13] = a[1] * b[12] + a[5] * b[13] + a[9] * b[14] + a[13] * b[15]; e[14] = a[2] * b[12] + a[6] * b[13] + a[10] * b[14] + a[14] * b[15]; e[15] = a[3] * b[12] + a[7] * b[13] + a[11] * b[14] + a[15] * b[15]; return d.c }; c.Jk = function(a, b) { if (a == b) c.log("cc.kmMat4Assign(): pOut equals pIn"); else { var d = a.c, e = b.c; d[0] = e[0]; d[1] = e[1]; d[2] = e[2]; d[3] = e[3]; d[4] = e[4]; d[5] = e[5]; d[6] = e[6]; d[7] = e[7]; d[8] = e[8]; d[9] = e[9]; d[10] = e[10]; d[11] = e[11]; d[12] = e[12]; d[13] = e[13]; d[14] = e[14]; d[15] = e[15] } }; c.Zia = function(a, b) { if (a == b) return c.log("cc.kmMat4AreEqual(): pMat1 and pMat2 are same object."), !0; for (var d = 0; 16 > d; d++) if (!(a.c[d] + c.Da > b.c[d] && a.c[d] - c.Da < b.c[d])) return !1; return !0 }; c.jja = function(a, b) { a.c[0] = 1; a.c[1] = 0; a.c[2] = 0; a.c[3] = 0; a.c[4] = 0; a.c[5] = Math.cos(b); a.c[6] = Math.sin(b); a.c[7] = 0; a.c[8] = 0; a.c[9] = -Math.sin(b); a.c[10] = Math.cos(b); a.c[11] = 0; a.c[12] = 0; a.c[13] = 0; a.c[14] = 0; a.c[15] = 1; return a }; c.kja = function(a, b) { a.c[0] = Math.cos(b); a.c[1] = 0; a.c[2] = -Math.sin(b); a.c[3] = 0; a.c[4] = 0; a.c[5] = 1; a.c[6] = 0; a.c[7] = 0; a.c[8] = Math.sin(b); a.c[9] = 0; a.c[10] = Math.cos(b); a.c[11] = 0; a.c[12] = 0; a.c[13] = 0; a.c[14] = 0; a.c[15] = 1; return a }; c.lja = function(a, b) { a.c[0] = Math.cos(b); a.c[1] = Math.sin(b); a.c[2] = 0; a.c[3] = 0; a.c[4] = -Math.sin(b); a.c[5] = Math.cos(b); a.c[6] = 0; a.c[7] = 0; a.c[8] = 0; a.c[9] = 0; a.c[10] = 1; a.c[11] = 0; a.c[12] = 0; a.c[13] = 0; a.c[14] = 0; a.c[15] = 1; return a }; c.fja = function(a, b, d, e) { var f = Math.cos(b); b = Math.sin(b); var g = Math.cos(d); d = Math.sin(d); var h = Math.cos(e); e = Math.sin(e); var k = b * d, m = f * d; a.c[0] = g * h; a.c[4] = g * e; a.c[8] = -d; a.c[1] = k * h - f * e; a.c[5] = k * e + f * h; a.c[9] = b * g; a.c[2] = m * h + b * e; a.c[6] = m * e - b * h; a.c[10] = f * g; a.c[3] = a.c[7] = a.c[11] = 0; a.c[15] = 1; return a }; c.gja = function(a, b) { a.c[0] = 1 - 2 * (b.y * b.y + b.z * b.z); a.c[1] = 2 * (b.x * b.y + b.z * b.l); a.c[2] = 2 * (b.x * b.z - b.y * b.l); a.c[3] = 0; a.c[4] = 2 * (b.x * b.y - b.z * b.l); a.c[5] = 1 - 2 * (b.x * b.x + b.z * b.z); a.c[6] = 2 * (b.z * b.y + b.x * b.l); a.c[7] = 0; a.c[8] = 2 * (b.x * b.z + b.y * b.l); a.c[9] = 2 * (b.y * b.z - b.x * b.l); a.c[10] = 1 - 2 * (b.x * b.x + b.y * b.y); a.c[11] = 0; a.c[12] = 0; a.c[13] = 0; a.c[14] = 0; a.c[15] = 1; return a }; c.ija = function(a, b, d) { a.c[0] = b.c[0]; a.c[1] = b.c[1]; a.c[2] = b.c[2]; a.c[3] = 0; a.c[4] = b.c[3]; a.c[5] = b.c[4]; a.c[6] = b.c[5]; a.c[7] = 0; a.c[8] = b.c[6]; a.c[9] = b.c[7]; a.c[10] = b.c[8]; a.c[11] = 0; a.c[12] = d.x; a.c[13] = d.y; a.c[14] = d.z; a.c[15] = 1; return a }; c.n5 = function(a, b, d, e) { a.c[0] = b; a.c[5] = d; a.c[10] = e; a.c[15] = 1; a.c[1] = a.c[2] = a.c[3] = a.c[4] = a.c[6] = a.c[7] = a.c[8] = a.c[9] = a.c[11] = a.c[12] = a.c[13] = a.c[14] = 0 }; c.yQ = function(a, b, d, e) { a.c[0] = a.c[5] = a.c[10] = a.c[15] = 1; a.c[1] = a.c[2] = a.c[3] = a.c[4] = a.c[6] = a.c[7] = a.c[8] = a.c[9] = a.c[11] = 0; a.c[12] = b; a.c[13] = d; a.c[14] = e }; c.dja = function(a, b) { a.x = b.c[4]; a.y = b.c[5]; a.z = b.c[6]; c.hg(a, a); return a }; c.cja = function(a, b) { a.x = b.c[0]; a.y = b.c[1]; a.z = b.c[2]; c.hg(a, a); return a }; c.bja = function(a, b) { a.x = b.c[8]; a.y = b.c[9]; a.z = b.c[10]; c.hg(a, a); return a }; c.l5 = function(a, b, d) { var e = c.Xu(30), f = d - 0.1, g = Math.sin(e); 0 != f && 0 != g && 0 != b && (e = Math.cos(e) / g, c.fo(a), a.c[0] = e / b, a.c[5] = e, a.c[10] = -(d + 0.1) / f, a.c[11] = -1, a.c[14] = -0.2 * d / f, a.c[15] = 0) }; c.BH = function(a, b, d, e, f, g, h) { c.fo(a); a.c[0] = 2 / (d - b); a.c[5] = 2 / (f - e); a.c[10] = -2 / (h - g); a.c[12] = -((d + b) / (d - b)); a.c[13] = -((f + e) / (f - e)); a.c[14] = -((h + g) / (h - g)) }; c.xQ = function(a, b, d, e) { var f = new c.Gb, g = new c.Gb, h = new c.Gb, k = new c.Gb, m = new c.ga; c.GH(f, d, b); c.hg(f, f); c.Yu(g, e); c.hg(g, g); c.om(h, f, g); c.hg(h, h); c.om(k, h, f); c.hg(h, h); c.fo(a); a.c[0] = h.x; a.c[4] = h.y; a.c[8] = h.z; a.c[1] = k.x; a.c[5] = k.y; a.c[9] = k.z; a.c[2] = -f.x; a.c[6] = -f.y; a.c[10] = -f.z; c.yQ(m, -b.x, -b.y, -b.z); c.Dj(a, a, m) }; c.m5 = function(a, b, d) { var e = Math.cos(d); d = Math.sin(d); var f = new c.Gb; c.hg(f, b); a.c[0] = e + f.x * f.x * (1 - e); a.c[1] = f.z * d + f.y * f.x * (1 - e); a.c[2] = -f.y * d + f.z * f.x * (1 - e); a.c[3] = 0; a.c[4] = -f.z * d + f.x * f.y * (1 - e); a.c[5] = e + f.y * f.y * (1 - e); a.c[6] = f.x * d + f.z * f.y * (1 - e); a.c[7] = 0; a.c[8] = f.y * d + f.x * f.z * (1 - e); a.c[9] = -f.x * d + f.y * f.z * (1 - e); a.c[10] = e + f.z * f.z * (1 - e); a.c[11] = 0; a.c[12] = 0; a.c[13] = 0; a.c[14] = 0; a.c[15] = 1 }; c.j5 = function(a, b) { a.c[0] = b.c[0]; a.c[1] = b.c[1]; a.c[2] = b.c[2]; a.c[3] = b.c[4]; a.c[4] = b.c[5]; a.c[5] = b.c[6]; a.c[6] = b.c[8]; a.c[7] = b.c[9]; a.c[8] = b.c[10] }; c.$ia = function(a, b, d) { switch (d) { case c.zU: a.a = b.c[3] - b.c[0]; a.b = b.c[7] - b.c[4]; a.C = b.c[11] - b.c[8]; a.D = b.c[15] - b.c[12]; break; case c.xU: a.a = b.c[3] + b.c[0]; a.b = b.c[7] + b.c[4]; a.C = b.c[11] + b.c[8]; a.D = b.c[15] + b.c[12]; break; case c.vU: a.a = b.c[3] + b.c[1]; a.b = b.c[7] + b.c[5]; a.C = b.c[11] + b.c[9]; a.D = b.c[15] + b.c[13]; break; case c.AU: a.a = b.c[3] - b.c[1]; a.b = b.c[7] - b.c[5]; a.C = b.c[11] - b.c[9]; a.D = b.c[15] - b.c[13]; break; case c.wU: a.a = b.c[3] - b.c[2]; a.b = b.c[7] - b.c[6]; a.C = b.c[11] - b.c[10]; a.D = b.c[15] - b.c[14]; break; case c.yU: a.a = b.c[3] + b.c[2]; a.b = b.c[7] + b.c[6]; a.C = b.c[11] + b.c[10]; a.D = b.c[15] + b.c[14]; break; default: c.log("cc.kmMat4ExtractPlane(): Invalid plane index") } b = Math.sqrt(a.a * a.a + a.b * a.b + a.C * a.C); a.a /= b; a.b /= b; a.C /= b; a.D /= b; return a }; c.hja = function(a, b, d) { b = new ra; var e = new c.Fz; c.j5(e, d); c.CQ(b, e); c.DQ(b, a); return a }; c.xU = 0; c.zU = 1; c.vU = 2; c.AU = 3; c.yU = 4; c.wU = 5; c.nja = function(a, b, d, e) { this.a = a || 0; this.b = b || 0; this.C = d || 0; this.D = e || 0 }; c.qV = 0; c.pV = 1; c.rV = 2; c.pja = function(a, b) { return a.a * b.x + a.b * b.y + a.C * b.z + a.D * b.l }; c.qja = function(a, b) { return a.a * b.x + a.b * b.y + a.C * b.z + a.D }; c.rja = function(a, b) { return a.a * b.x + a.b * b.y + a.C * b.z }; c.sja = function(a, b, d) { a.a = d.x; a.b = d.y; a.C = d.z; a.D = -c.EH(d, b); return a }; c.tja = function(a, b, d, e) { var f = new c.Gb, g = new c.Gb, h = new c.Gb; c.GH(g, d, b); c.GH(h, e, b); c.om(f, g, h); c.hg(f, f); a.a = f.x; a.b = f.y; a.C = f.z; a.D = c.EH(c.FH(f, f, -1), b); return a }; c.uja = function() { throw "cc.kmPlaneIntersectLine() hasn't been implemented."; }; c.vja = function(a, b) { var d = new c.Gb; d.x = b.a; d.y = b.b; d.z = b.C; var e = 1 / c.FQ(d); c.hg(d, d); a.a = d.x; a.b = d.y; a.C = d.z; a.D = b.D * e; return a }; c.wja = function() { c.log("cc.kmPlaneScale() has not been implemented.") }; c.oja = function(a, b) { var d = a.a * b.x + a.b * b.y + a.C * b.z + a.D; return 0.001 < d ? c.qV : -0.001 > d ? c.pV : c.rV }; function ra() { this.l = this.z = this.y = this.x = 0 } c.r5 = function(a, b) { a.x = -b.x; a.y = -b.y; a.z = -b.z; a.l = b.l; return a }; c.s5 = function(a, b) { return a.l * b.l + a.x * b.x + a.y * b.y + a.z * b.z }; c.yja = function(a) { return a }; c.t5 = function(a) { a.x = 0; a.y = 0; a.z = 0; a.l = 1 }; c.zja = function(a, b) { var d = c.zQ(b), e = new ra; if (Math.abs(d) > c.Da) return a.x = 0, a.y = 0, a.z = 0, a.l = 0, a; c.Iz(a, c.r5(e, b), 1 / d); return a }; c.Aja = function(a) { return 0 == a.x && 0 == a.y && 0 == a.z && 1 == a.l }; c.zQ = function(a) { return Math.sqrt(c.u5(a)) }; c.u5 = function(a) { return a.x * a.x + a.y * a.y + a.z * a.z + a.l * a.l }; c.Bja = function(a) { return a }; c.Cja = function(a, b, d) { a.l = b.l * d.l - b.x * d.x - b.y * d.y - b.z * d.z; a.x = b.l * d.x + b.x * d.l + b.y * d.z - b.z * d.y; a.y = b.l * d.y + b.y * d.l + b.z * d.x - b.x * d.z; a.z = b.l * d.z + b.z * d.l + b.x * d.y - b.y * d.x; return a }; c.AQ = function(a, b) { var d = c.zQ(b); if (Math.abs(d) <= c.Da) throw "cc.kmQuaternionNormalize(): pIn is an invalid value"; c.Iz(a, b, 1 / d) }; c.BQ = function(a, b) { var d = 0.5 * c.CH, e = Math.sin(d); a.l = Math.cos(d); a.x = b.x * e; a.y = b.y * e; a.z = b.z * e }; c.CQ = function(a, b) { var d, e, f, g; d = []; e = g = 0; if (b) { d[0] = b.c[0]; d[1] = b.c[3]; d[2] = b.c[6]; d[4] = b.c[1]; d[5] = b.c[4]; d[6] = b.c[7]; d[8] = b.c[2]; d[9] = b.c[5]; d[10] = b.c[8]; d[15] = 1; var h = d[0]; e = h[0] + h[5] + h[10] + 1; e > c.Da ? (g = 2 * Math.sqrt(e), d = (h[9] - h[6]) / g, e = (h[2] - h[8]) / g, f = (h[4] - h[1]) / g, g *= 0.25) : h[0] > h[5] && h[0] > h[10] ? (g = 2 * Math.sqrt(1 + h[0] - h[5] - h[10]), d = 0.25 * g, e = (h[4] + h[1]) / g, f = (h[2] + h[8]) / g, g = (h[9] - h[6]) / g) : h[5] > h[10] ? (g = 2 * Math.sqrt(1 + h[5] - h[0] - h[10]), d = (h[4] + h[1]) / g, e = 0.25 * g, f = (h[9] + h[6]) / g, g = (h[2] - h[8]) / g) : (g = 2 * Math.sqrt(1 + h[10] - h[0] - h[5]), d = (h[2] + h[8]) / g, e = (h[9] + h[6]) / g, f = 0.25 * g, g = (h[4] - h[1]) / g); a.x = d; a.y = e; a.z = f; a.l = g } }; c.Fja = function(a, b, d, e) { var f, g, h, k, m; f = c.Xu(d) / 2; g = c.Xu(b) / 2; h = c.Xu(e) / 2; e = Math.cos(f); b = Math.cos(g); d = Math.cos(h); f = Math.sin(f); g = Math.sin(g); h = Math.sin(h); k = b * d; m = g * h; a.l = e * k + f * m; a.x = f * k - e * m; a.y = e * g * d + f * b * h; a.z = e * b * h - f * g * d; c.AQ(a, a); return a }; c.Gja = function(a, b, d, e) { if (b.x == d.x && b.y == d.y && b.z == d.z && b.l == d.l) return a.x = b.x, a.y = b.y, a.z = b.z, a.l = b.l, a; var f = c.s5(b, d), g = Math.acos(f), f = Math.sqrt(1 - c.Yc(f)), h = Math.sin(e * g) / f, k = new ra, m = new ra; c.Iz(k, b, Math.sin((1 - e) * g) / f); c.Iz(m, d, h); c.q5(a, k, m); return a }; c.DQ = function(a, b) { var d; d = Math.sqrt(c.Yc(a.x) + c.Yc(a.y) + c.Yc(a.z)); d > -c.Da && d < c.Da || d < 2 * c.CH + c.Da && d > 2 * c.CH - c.Da ? (b.x = 0, b.y = 0, b.z = 1) : (b.x = a.x / d, b.y = a.y / d, b.z = a.z / d, c.hg(b, b)) }; c.Iz = function(a, b, d) { a.x = b.x * d; a.y = b.y * d; a.z = b.z * d; a.l = b.l * d }; c.xja = function(a, b) { a.x = b.x; a.y = b.y; a.z = b.z; a.l = b.l; return a }; c.q5 = function(a, b, d) { a.x = b.x + d.x; a.y = b.y + d.y; a.z = b.z + d.z; a.l = b.l + d.l }; c.Eja = function(a, b, d, e) { var f = new c.Gb, g = new c.Gb; c.Yu(f, b); c.Yu(g, d); c.hg(f, f); c.hg(g, g); d = c.EH(f, g); if (1 <= d) return c.t5(a), a; - 0.999999 > d ? Math.abs(c.GQ(e)) < c.Da ? c.BQ(a, e) : (f = new c.Gb, g = new c.Gb, g.x = 1, g.y = 0, g.z = 0, c.om(f, g, b), Math.abs(c.GQ(f)) < c.Da && (g = new c.Gb, g.x = 0, g.y = 1, g.z = 0, c.om(f, g, b)), c.hg(f, f), c.BQ(a, f)) : (b = Math.sqrt(2 * (1 + d)), e = 1 / b, d = new c.Gb, c.om(d, f, g), a.x = d.x * e, a.y = d.y * e, a.z = d.z * e, a.l = 0.5 * b, c.AQ(a, a)); return a }; c.Dja = function(a, b, d) { var e = new c.Gb, f = new c.Gb, g = new c.Gb; g.x = b.x; g.y = b.y; g.z = b.z; c.om(e, g, d); c.om(f, g, e); c.FH(e, e, 2 * b.l); c.FH(f, f, 2); c.EQ(a, d, e); c.EQ(a, a, f); return a }; c.xia = function(a, b) { this.min = a || new c.Gb; this.max = b || new c.Gb }; c.zia = function(a, b) { return a.x >= b.min.x && a.x <= b.max.x && a.y >= b.min.y && a.y <= b.max.y && a.z >= b.min.z && a.z <= b.max.z ? c.Ko : c.Jo }; c.yia = function(a, b) { c.Yu(a.min, b.min); c.Yu(a.max, b.max); return a }; c.Aia = function() { c.log("cc.kmAABBScale hasn't been supported.") }; c.Lz = function(a, b, d, e) { this.top = d; this.stack = e }; c.Lz.U$ = 30; c.HH = function(a) { a.stack = []; a.top = null }; c.Mz = function(a, b) { a.stack.push(a.top); a.top = new c.ga; c.Jk(a.top, b) }; c.lka = function(a) { a.top = a.stack.pop() }; c.IH = function(a) { a.stack = null; a.top = null }; c.Vj = 5888; c.Wj = 5889; c.rJ = 5890; c.Nk = new c.Lz; c.um = new c.Lz; c.Gv = new c.Lz; c.ic = null; c.tH = !1; c.A5 = function() { if (!c.tH) { var a = new c.ga; c.HH(c.Nk); c.HH(c.um); c.HH(c.Gv); c.ic = c.Nk; c.tH = !0; c.fo(a); c.Mz(c.Nk, a); c.Mz(c.um, a); c.Mz(c.Gv, a) } }; c.A5(); c.g5 = function() { c.IH(c.Nk); c.IH(c.um); c.IH(c.Gv); c.tH = !1; c.ic = null }; c.eo = function() { c.Mz(c.ic, c.ic.top) }; c.Fia = function(a) { c.ic.stack.push(c.ic.top); c.Jk(a, c.ic.top); c.ic.top = a }; c.co = function() { c.ic.top = c.ic.stack.pop() }; c.Cj = function(a) { switch (a) { case c.Vj: c.ic = c.Nk; break; case c.Wj: c.ic = c.um; break; case c.rJ: c.ic = c.Gv; break; default: throw "Invalid matrix mode specified"; } }; c.Jq = function() { c.fo(c.ic.top) }; c.Eia = function(a) { c.Jk(c.ic.top, a) }; c.Kq = function(a) { c.Dj(c.ic.top, c.ic.top, a) }; c.Lq = function(a, b) { var d = new c.ga; c.yQ(d, a, b, 0); c.Dj(c.ic.top, c.ic.top, d) }; c.Gia = function(a, b, d, e) { b = new c.Gb(b, d, e); d = new c.ga; c.m5(d, b, c.Xu(a)); c.Dj(c.ic.top, c.ic.top, d) }; c.Hia = function(a, b, d) { var e = new c.ga; c.n5(e, a, b, d); c.Dj(c.ic.top, c.ic.top, e) }; c.Ez = function(a, b) { switch (a) { case c.Vj: c.Jk(b, c.Nk.top); break; case c.Wj: c.Jk(b, c.um.top); break; case c.rJ: c.Jk(b, c.Gv.top); break; default: throw "Invalid matrix mode specified"; } }; c.PV = "precision lowp float;\nvarying vec4 v_fragmentColor;\nvoid main() \n{ \n gl_FragColor = v_fragmentColor; \n}\n"; c.QV = "attribute vec4 a_position;\nuniform vec4 u_color;\nuniform float u_pointSize;\nvarying lowp vec4 v_fragmentColor; \nvoid main(void) \n{\n gl_Position = (CC_PMatrix * CC_MVMatrix) * a_position; \n gl_PointSize = u_pointSize; \n v_fragmentColor = u_color; \n}"; c.DV = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvoid main() \n{ \n gl_FragColor = v_fragmentColor; \n} "; c.GV = "attribute vec4 a_position;\nattribute vec4 a_color;\nvarying lowp vec4 v_fragmentColor;\nvoid main()\n{\n gl_Position = (CC_PMatrix * CC_MVMatrix) * a_position; \n v_fragmentColor = a_color; \n}"; c.EV = "// #extension GL_OES_standard_derivatives : enable\nvarying mediump vec4 v_color;\nvarying mediump vec2 v_texcoord;\nvoid main()\t\n{ \n// #if defined GL_OES_standard_derivatives\t\n// gl_FragColor = v_color*smoothstep(0.0, length(fwidth(v_texcoord)), 1.0 - length(v_texcoord)); \n// #else\t\ngl_FragColor = v_color * step(0.0, 1.0 - length(v_texcoord)); \n// #endif \n}"; c.FV = "attribute mediump vec4 a_position; \nattribute mediump vec2 a_texcoord; \nattribute mediump vec4 a_color;\t\nvarying mediump vec4 v_color; \nvarying mediump vec2 v_texcoord;\t\nvoid main() \n{ \n v_color = a_color;//vec4(a_color.rgb * a_color.a, a_color.a); \n v_texcoord = a_texcoord; \n gl_Position = (CC_PMatrix * CC_MVMatrix) * a_position; \n}"; c.LV = "precision lowp float; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor = texture2D(CC_Texture0, v_texCoord); \n}"; c.OV = "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position = (CC_PMatrix * CC_MVMatrix) * a_position; \n v_texCoord = a_texCoord; \n}"; c.MV = "precision lowp float; \nuniform vec4 u_color; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor = texture2D(CC_Texture0, v_texCoord) * u_color; \n}"; c.NV = "attribute vec4 a_position;\nattribute vec2 a_texCoord; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position = (CC_PMatrix * CC_MVMatrix) * a_position; \n v_texCoord = a_texCoord; \n}"; c.HV = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor = vec4( v_fragmentColor.rgb, \n v_fragmentColor.a * texture2D(CC_Texture0, v_texCoord).a \n ); \n}"; c.IV = "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nattribute vec4 a_color; \nvarying lowp vec4 v_fragmentColor; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position = (CC_PMatrix * CC_MVMatrix) * a_position; \n v_fragmentColor = a_color; \n v_texCoord = a_texCoord; \n}"; c.KV = "precision lowp float;\nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor = v_fragmentColor * texture2D(CC_Texture0, v_texCoord); \n}"; c.$J = "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nattribute vec4 a_color; \nvarying lowp vec4 v_fragmentColor; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position = (CC_PMatrix * CC_MVMatrix) * a_position; \n v_fragmentColor = a_color; \n v_texCoord = a_texCoord; \n}"; c.JV = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nuniform float CC_alpha_value; \nvoid main() \n{ \n vec4 texColor = texture2D(CC_Texture0, v_texCoord); \n // mimic: glAlphaFunc(GL_GREATER) \n //pass if ( incoming_pixel >= CC_alpha_value ) => fail if incoming_pixel < CC_alpha_value \n if ( texColor.a <= CC_alpha_value ) \n discard; \n gl_FragColor = texColor * v_fragmentColor; \n}"; c.Gaa = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D u_texture; \nuniform sampler2D u_mask; \nvoid main() \n{ \n vec4 texColor = texture2D(u_texture, v_texCoord); \n vec4 maskColor = texture2D(u_mask, v_texCoord); \n vec4 finalColor = vec4(texColor.r, texColor.g, texColor.b, maskColor.a * texColor.a); \n gl_FragColor = v_fragmentColor * finalColor; \n}"; c.ge = { hC: 0, iC: 1, fC: 2, gC: 3, kC: 4, jC: 5, lC: 6, lK: 7, gba: 8, Dd: {}, ot: function() { this.D5(); return !0 }, lf: function(a, b) { switch (b) { case this.hC: a.zj(c.$J, c.KV); a.Id(c.Cm, c.Ab); a.Id(c.wr, c.ef); a.Id(c.Ao, c.Sd); break; case this.iC: a.zj(c.$J, c.JV); a.Id(c.Cm, c.Ab); a.Id(c.wr, c.ef); a.Id(c.Ao, c.Sd); break; case this.fC: a.zj(c.GV, c.DV); a.Id(c.Cm, c.Ab); a.Id(c.wr, c.ef); break; case this.gC: a.zj(c.OV, c.LV); a.Id(c.Cm, c.Ab); a.Id(c.Ao, c.Sd); break; case this.kC: a.zj(c.NV, c.MV); a.Id(c.Cm, c.Ab); a.Id(c.Ao, c.Sd); break; case this.jC: a.zj(c.IV, c.HV); a.Id(c.Cm, c.Ab); a.Id(c.wr, c.ef); a.Id(c.Ao, c.Sd); break; case this.lC: a.zj(c.QV, c.PV); a.Id("aVertex", c.Ab); break; case this.lK: a.zj(c.FV, c.EV); a.Id(c.Cm, c.Ab); a.Id(c.Ao, c.Sd); a.Id(c.wr, c.ef); break; default: c.log("cocos2d: cc.shaderCache._loadDefaultShader, error shader type"); return } a.link(); a.k9() }, D5: function() { var a = new c.Qi; this.lf(a, this.hC); this.Dd[c.Zj] = a; this.Dd.ShaderPositionTextureColor = a; a = new c.Qi; this.lf(a, this.iC); this.Dd[c.yw] = a; this.Dd.ShaderPositionTextureColorAlphaTest = a; a = new c.Qi; this.lf(a, this.fC); this.Dd[c.xw] = a; this.Dd.ShaderPositionColor = a; a = new c.Qi; this.lf(a, this.gC); this.Dd[c.ns] = a; this.Dd.ShaderPositionTexture = a; a = new c.Qi; this.lf(a, this.kC); this.Dd[c.XB] = a; this.Dd.ShaderPositionTextureUColor = a; a = new c.Qi; this.lf(a, this.jC); this.Dd[c.WB] = a; this.Dd.ShaderPositionTextureA8Color = a; a = new c.Qi; this.lf(a, this.lC); this.Dd[c.YB] = a; this.Dd.ShaderPositionUColor = a; a = new c.Qi; this.lf(a, this.lK); this.Dd[c.ZJ] = a; this.Dd.ShaderPositionLengthTextureColor = a }, $la: function() { var a = this.Dc(c.Zj); a.reset(); this.lf(a, this.hC); a = this.Dc(c.yw); a.reset(); this.lf(a, this.iC); a = this.Dc(c.xw); a.reset(); this.lf(a, this.fC); a = this.Dc(c.ns); a.reset(); this.lf(a, this.gC); a = this.Dc(c.XB); a.reset(); this.lf(a, this.kC); a = this.Dc(c.WB); a.reset(); this.lf(a, this.jC); a = this.Dc(c.YB); a.reset(); this.lf(a, this.lC) }, Dc: function(a) { return this.Dd[a] }, $n: function(a) { return this.Dd[a] }, wca: function(a, b) { this.Dd[b] = a } }; c.kU = function() { this.location = this.value = void 0; this.oz = {} }; c.Qi = c.qa.extend({ ka: null, Rb: null, Uf: null, qh: null, Kb: null, Xh: null, hO: !1, rf: function(a, b) { if (null == a) return !1; for (var d = !0, e = null, f = 0; f < this.Xh.length; f++) this.Xh[f].location == a && (e = this.Xh[f]); e ? e.value == b ? d = !1 : e.value = b : (e = new c.kU, e.location = a, e.value = b, this.Xh.push(e)); return d }, Hba: function() { return "" }, qL: function(a, b, d) { if (!d || !a) return !1; this.ka.shaderSource(a, "precision highp float; \nuniform mat4 CC_PMatrix; \nuniform mat4 CC_MVMatrix; \nuniform mat4 CC_MVPMatrix; \nuniform vec4 CC_Time; \nuniform vec4 CC_SinTime; \nuniform vec4 CC_CosTime; \nuniform vec4 CC_Random01; \n//CC INCLUDES END \n" + d); this.ka.compileShader(a); d = this.ka.getShaderParameter(a, this.ka.COMPILE_STATUS); d || (c.log("cocos2d: ERROR: Failed to compile shader:\n" + this.ka.getShaderSource(a)), b == this.ka.VERTEX_SHADER ? c.log("cocos2d: \n" + this.q9()) : c.log("cocos2d: \n" + this.X2())); return 1 == d }, ctor: function(a, b, d) { this.Kb = []; this.Xh = []; this.ka = d || c.m; a && b && this.K(a, b) }, Bda: function() { this.Xh = this.Kb = this.qh = this.Uf = null; this.ka.deleteProgram(this.Rb) }, zj: function(a, b) { var d = this.ka; this.Rb = d.createProgram(); this.qh = this.Uf = null; a && (this.Uf = d.createShader(d.VERTEX_SHADER), this.qL(this.Uf, d.VERTEX_SHADER, a) || c.log("cocos2d: ERROR: Failed to compile vertex shader")); b && (this.qh = d.createShader(d.FRAGMENT_SHADER), this.qL(this.qh, d.FRAGMENT_SHADER, b) || c.log("cocos2d: ERROR: Failed to compile fragment shader")); this.Uf && d.attachShader(this.Rb, this.Uf); c.mq(); this.qh && d.attachShader(this.Rb, this.qh); this.Xh.length = 0; c.mq(); return !0 }, Md: function(a, b) { return this.zj(a, b) }, F4: function(a, b) { var d = c.X.be(a); if (!d) throw "Please load the resource firset : " + a; var e = c.X.be(b); if (!e) throw "Please load the resource firset : " + b; return this.zj(d, e) }, K: function(a, b) { return this.F4(a, b) }, Id: function(a, b) { this.ka.bindAttribLocation(this.Rb, b, a) }, link: function() { if (!this.Rb) return c.log("cc.GLProgram.link(): Cannot link invalid program"), !1; this.ka.linkProgram(this.Rb); this.Uf && this.ka.deleteShader(this.Uf); this.qh && this.ka.deleteShader(this.qh); this.qh = this.Uf = null; return c.Wc.vf[c.Wc.Nh.yu] && !this.ka.getProgramParameter(this.Rb, this.ka.LINK_STATUS) ? (c.log("cocos2d: ERROR: Failed to link program: " + this.ka.getProgramInfoLog(this.Rb)), c.j4(this.Rb), this.Rb = null, !1) : !0 }, $c: function() { c.gH(this.Rb) }, k9: function() { this.Kb[c.vC] = this.ka.getUniformLocation(this.Rb, c.tX); this.Kb[c.uC] = this.ka.getUniformLocation(this.Rb, c.rX); this.Kb[c.Es] = this.ka.getUniformLocation(this.Rb, c.sX); this.Kb[c.zC] = this.ka.getUniformLocation(this.Rb, c.xX); this.Kb[c.yC] = this.ka.getUniformLocation(this.Rb, c.wX); this.Kb[c.tC] = this.ka.getUniformLocation(this.Rb, c.qX); this.hO = null != this.Kb[c.zC] || null != this.Kb[c.yC] || null != this.Kb[c.tC]; this.Kb[c.wC] = this.ka.getUniformLocation(this.Rb, c.uX); this.Kb[c.xC] = this.ka.getUniformLocation(this.Rb, c.vX); this.$c(); this.fS(this.Kb[c.xC], 0) }, vha: function(a) { if (!a) throw "cc.GLProgram.getUniformLocationForName(): uniform name should be non-null"; if (!this.Rb) throw "cc.GLProgram.getUniformLocationForName(): Invalid operation. Cannot get uniform location when program is not initialized"; return this.ka.getUniformLocation(this.Rb, a) }, wha: function() { return this.Kb[c.Es] }, xha: function() { return this.Kb[c.xC] }, fS: function(a, b) { this.rf(a, b) && this.ka.uniform1i(a, b) }, Doa: function(a, b, d) { this.rf(a, [b, d]) && this.ka.uniform2i(a, b, d) }, Goa: function(a, b, d, e) { this.rf(a, [b, d, e]) && this.ka.uniform3i(a, b, d, e) }, Joa: function(a, b, d, e, f) { this.rf(a, [b, d, e, f]) && this.ka.uniform4i(a, b, d, e, f) }, Eoa: function(a, b) { this.rf(a, b) && this.ka.uniform2iv(a, b) }, Hoa: function(a, b) { this.rf(a, b) && this.ka.uniform3iv(a, b) }, Koa: function(a, b) { this.rf(a, b) && this.ka.uniform4iv(a, b) }, Boa: function(a, b) { this.fS(a, b) }, xv: function(a, b) { this.rf(a, b) && this.ka.uniform1f(a, b) }, j8: function(a, b, d) { this.rf(a, [b, d]) && this.ka.uniform2f(a, b, d) }, k8: function(a, b, d, e) { this.rf(a, [b, d, e]) && this.ka.uniform3f(a, b, d, e) }, yv: function(a, b, d, e, f) { this.rf(a, [b, d, e, f]) && this.ka.uniform4f(a, b, d, e, f) }, Coa: function(a, b) { this.rf(a, b) && this.ka.uniform2fv(a, b) }, Foa: function(a, b) { this.rf(a, b) && this.ka.uniform3fv(a, b) }, Ioa: function(a, b) { this.rf(a, b) && this.ka.uniform4fv(a, b) }, AI: function(a, b) { this.rf(a, b) && this.ka.uniformMatrix4fv(a, !1, b) }, Aoa: function() { if (!(2 > arguments.length)) switch (arguments.length) { case 2: this.xv(arguments[0], arguments[1]); break; case 3: this.j8(arguments[0], arguments[1], arguments[2]); break; case 4: this.k8(arguments[0], arguments[1], arguments[2], arguments[3]); break; case 5: this.yv(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]) } }, zv: function() { var a = new c.ga, b = new c.ga, d = new c.ga; c.Ez(c.Wj, a); c.Ez(c.Vj, b); c.Dj(d, a, b); this.AI(this.Kb[c.vC], a.c, 1); this.AI(this.Kb[c.uC], b.c, 1); this.AI(this.Kb[c.Es], d.c, 1); this.hO && (a = c.L, a = a.By * a.Ms, this.yv(this.Kb[c.zC], a / 10, a, 2 * a, 4 * a), this.yv(this.Kb[c.yC], a / 8, a / 4, a / 2, Math.sin(a)), this.yv(this.Kb[c.tC], a / 8, a / 4, a / 2, Math.cos(a))); - 1 != this.Kb[c.wC] && this.yv(this.Kb[c.wC], Math.random(), Math.random(), Math.random(), Math.random()) }, yoa: function() { this.ka.uniformMatrix4fv(this.Kb[c.Es], !1, c.E3()) }, zoa: function(a) { c.Dj(a, c.um.top, c.Nk.top); this.ka.uniformMatrix4fv(this.Kb[c.Es], !1, a.c) }, Ef: function() { this.ka.uniformMatrix4fv(this.Kb[c.uC], !1, c.Nk.top.c); this.ka.uniformMatrix4fv(this.Kb[c.vC], !1, c.um.top.c) }, q9: function() { return this.ka.getShaderInfoLog(this.Uf) }, Cha: function() { return this.ka.getShaderInfoLog(this.Uf) }, Rfa: function() { return this.ka.getShaderInfoLog(this.Uf) }, X2: function() { return this.ka.getShaderInfoLog(this.qh) }, Gla: function() { return this.ka.getProgramInfoLog(this.Rb) }, Mga: function() { return this.ka.getProgramInfoLog(this.Rb) }, reset: function() { this.qh = this.Uf = null; this.Kb.length = 0; this.ka.deleteProgram(this.Rb); this.Rb = null; for (var a = 0; a < this.Xh.length; a++) this.Xh[a].value = null, this.Xh[a] = null; this.Xh.length = 0 }, $n: function() { return this.Rb }, nA: function() {}, Lj: function() {} }); c.Qi.create = function(a, b) { return new c.Qi(a, b) }; c.wL = -1; c.RF = !1; c.QF = !1; c.SF = !1; c.Qh && (c.LU = 16, c.Xs = -1, c.Ws = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], c.Yo = -1, c.Xo = -1, c.HX = 0, c.bC && (c.aO = 0)); c.Lha = function() { c.g5(); c.wL = -1; c.RF = !1; c.QF = !1; c.SF = !1; if (c.Qh) { c.Xs = -1; for (var a = 0; a < c.LU; a++) c.Ws[a] = -1; c.Yo = -1; c.Xo = -1; c.HX = 0 } }; c.gH = function(a) { a !== c.Xs && (c.Xs = a, c.m.useProgram(a)) }; c.Qh || (c.gH = function(a) { c.m.useProgram(a) }); c.j4 = function(a) { c.Qh && a === c.Xs && (c.Xs = -1); gl.deleteProgram(a) }; c.Ai = function(a, b) { if (a !== c.Yo || b !== c.Xo) c.Yo = a, c.Xo = b, c.tA(a, b) }; c.tA = function(a, b) { var d = c.m; a === d.ONE && b === d.ZERO ? d.disable(d.BLEND) : (d.enable(d.BLEND), c.m.blendFunc(a, b)) }; c.UP = function(a, b) { if (a !== c.Yo || b !== c.Xo) { c.Yo = a; c.Xo = b; var d = c.m; a === d.ONE && b === d.ZERO ? d.disable(d.BLEND) : (d.enable(d.BLEND), d.blendFuncSeparate(d.SRC_ALPHA, b, a, b)) } }; c.Qh || (c.Ai = c.tA); c.Iha = function() { var a = c.m; a.blendEquation(a.FUNC_ADD); c.Qh ? c.tA(c.Yo, c.Xo) : c.tA(a.vc, a.uc) }; c.VR = function() { c.wL = -1 }; c.Xc = function(a) { var b = c.m, d = a & c.ke; d !== c.RF && (d ? b.enableVertexAttribArray(c.Ab) : b.disableVertexAttribArray(c.Ab), c.RF = d); d = a & c.Hw; d !== c.QF && (d ? b.enableVertexAttribArray(c.ef) : b.disableVertexAttribArray(c.ef), c.QF = d); a &= c.Ro; a !== c.SF && (a ? b.enableVertexAttribArray(c.Sd) : b.disableVertexAttribArray(c.Sd), c.SF = a) }; c.Te = function(a) { c.fH(0, a) }; c.fH = function(a, b) { if (c.Ws[a] != b) { c.Ws[a] = b; var d = c.m; d.activeTexture(d.TEXTURE0 + a); b ? d.bindTexture(d.TEXTURE_2D, b.te) : d.bindTexture(d.TEXTURE_2D, null) } }; c.Qh || (c.fH = function(a, b) { var d = c.m; d.activeTexture(d.TEXTURE0 + a); b ? d.bindTexture(d.TEXTURE_2D, b.te) : d.bindTexture(d.TEXTURE_2D, null) }); c.Jha = function(a) { c.k4(a) }; c.k4 = function(a) { c.Qh && a == c.Ws[0] && (c.Ws[0] = -1); c.m.deleteTexture(a) }; c.Hha = function(a) { c.bC && c.Qh && c.aO != a && (c.aO = a) }; c.Kha = function() {}; c.P$ = 0; c.Q$ = 1; c.R$ = 2; c.fl = function(a) { a -= 1; a |= a >> 1; a |= a >> 2; a |= a >> 4; a |= a >> 8; return (a | a >> 16) + 1 }; c.No = c.t.extend({ sprite: null, Sy: 0, uG: 0, pu: !1, Be: null, gf: null, vx: 0, Ys: 0, ij: 0, O: null, $t: null, L0: null, kj: c.ia.Yj, dk: null, vG: 0, gD: null, ob: "RenderTexture", ctor: null, Us: function(a, b, d, e) { c.t.prototype.ctor.call(this); this.dk = c.color(255, 255, 255, 255); this.gD = "rgba(255,255,255,1)"; this.Be = c.ac("canvas"); this.gf = this.Be.getContext("2d"); this.anchorY = this.anchorX = 0; void 0 !== a && void 0 !== b && (d = d || c.ia.Yj, this.xz(a, b, d, e || 0)) }, Vs: function(a, b, d, e) { c.t.prototype.ctor.call(this); this.dk = c.color(0, 0, 0, 0); void 0 !== a && void 0 !== b && (d = d || c.ia.Yj, this.xz(a, b, d, e || 0)) }, uf: null, kY: function() { c.t.prototype.xb.call(this); this.Be = this.gf = null }, lY: function() { c.t.prototype.xb.call(this); this.$t = null; var a = c.m; a.deleteFramebuffer(this.vx); this.Ys && a.deleteRenderbuffer(this.Ys); this.L0 = null }, MP: function() { return this.sprite }, EA: function(a) { this.sprite = a }, xz: null, IZ: function(a, b) { var d = this.Be, e = c.wb(); d.width = 0 | a * e; d.height = 0 | b * e; this.gf.translate(0, d.height); e = new c.ia; e.Ld(d); e.$b(); this.sprite = c.P.create(e); return !0 }, JZ: function(a, b, d, e) { d == c.ia.es && c.log("cc.RenderTexture._initWithWidthAndHeightForWebGL() : only RGB and RGBA formats are valid for a render texture;"); var f = c.m, g = c.wb(); a = 0 | a * g; b = 0 | b * g; this.ij = f.getParameter(f.FRAMEBUFFER_BINDING); var h; c.nq.yy ? (g = a, h = b) : (g = c.fl(a), h = c.fl(b)); for (var k = new Uint8Array(g * h * 4), m = 0; m < g * h * 4; m++) k[m] = 0; this.kj = d; this.O = new c.ia; if (!this.O) return !1; m = this.O; m.Mu(k, this.kj, g, h, c.size(a, b)); d = f.getParameter(f.RENDERBUFFER_BINDING); if (c.nq.lq("GL_QCOM")) { this.$t = new c.ia; if (!this.$t) return !1; this.$t.Mu(k, this.kj, g, h, c.size(a, b)) } this.vx = f.createFramebuffer(); f.bindFramebuffer(f.FRAMEBUFFER, this.vx); f.framebufferTexture2D(f.FRAMEBUFFER, f.COLOR_ATTACHMENT0, f.TEXTURE_2D, m.te, 0); 0 != e && (this.Ys = f.createRenderbuffer(), f.bindRenderbuffer(f.RENDERBUFFER, this.Ys), f.renderbufferStorage(f.RENDERBUFFER, e, g, h), f.framebufferRenderbuffer(f.FRAMEBUFFER, f.DEPTH_ATTACHMENT, f.RENDERBUFFER, this.Ys)); f.checkFramebufferStatus(f.FRAMEBUFFER) !== f.FRAMEBUFFER_COMPLETE && c.log("Could not attach texture to the framebuffer"); m.hI(); a = this.sprite = c.P.create(m); a.scaleY = -1; a.zf(f.ONE, f.ONE_MINUS_SRC_ALPHA); f.bindRenderbuffer(f.RENDERBUFFER, d); f.bindFramebuffer(f.FRAMEBUFFER, this.ij); this.pu = !1; this.M(a); return !0 }, Yf: null, YX: function() { c.m = this.gf; c.view.IN() }, ZX: function() { c.Cj(c.Wj); c.eo(); c.Cj(c.Vj); c.eo(); var a = c.L; a.so(a.vj()); var b = this.O.S, d = c.L.Iu(), a = d.width / b.width, d = d.height / b.height, e = c.m; e.viewport(0, 0, b.width, b.height); b = new c.ga; c.BH(b, -1 / a, 1 / a, -1 / d, 1 / d, -1, 1); c.Kq(b); this.ij = e.getParameter(e.FRAMEBUFFER_BINDING); e.bindFramebuffer(e.FRAMEBUFFER, this.vx); c.nq.lq("GL_QCOM") && (e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, this.$t.te, 0), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT), e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, this.O.te, 0)) }, G1: function(a, b, d, e, f, g) { var h = c.m; f = f || h.COLOR_BUFFER_BIT; g = g || h.COLOR_BUFFER_BIT | h.DEPTH_BUFFER_BIT; this.WC(a, b, d, e, f, g, h.COLOR_BUFFER_BIT | h.DEPTH_BUFFER_BIT | h.STENCIL_BUFFER_BIT) }, WC: null, $X: function(a, b, d, e) { this.Yf(); a = a || 0; b = b || 0; d = d || 0; e = isNaN(e) ? 1 : e; var f = this.gf, g = this.Be; f.save(); f.fillStyle = "rgba(" + (0 | a) + "," + (0 | b) + "," + (0 | d) + "," + e / 255 + ")"; f.clearRect(0, 0, g.width, -g.height); f.fillRect(0, 0, g.width, -g.height); f.restore() }, aY: function(a, b, d, e, f, g, h) { this.Yf(); var k = c.m, m = [0, 0, 0, 0], n = 0, q = 0; h & k.COLOR_BUFFER_BIT && (m = k.getParameter(k.COLOR_CLEAR_VALUE), k.clearColor(a, b, d, e)); h & k.DEPTH_BUFFER_BIT && (n = k.getParameter(k.DEPTH_CLEAR_VALUE), k.clearDepth(f)); h & k.STENCIL_BUFFER_BIT && (q = k.getParameter(k.STENCIL_CLEAR_VALUE), k.clearStencil(g)); k.clear(h); h & k.COLOR_BUFFER_BIT && k.clearColor(m[0], m[1], m[2], m[3]); h & k.DEPTH_BUFFER_BIT && k.clearDepth(n); h & k.STENCIL_BUFFER_BIT && k.clearStencil(q) }, end: null, HY: function() { c.m = c.ZZ; c.view.vN() }, IY: function() { var a = c.m, b = c.L; a.bindFramebuffer(a.FRAMEBUFFER, this.ij); b.gS(); c.Cj(c.Wj); c.co(); c.Cj(c.Vj); c.co() }, clear: function(a, b, d, e) { this.G1(a, b, d, e); this.end() }, clearRect: null, oY: function(a, b, d, e) { this.gf.clearRect(a, b, d, -e) }, pY: function() {}, clearDepth: null, mY: function() { c.log("clearDepth isn't supported on Cocos2d-Html5") }, nY: function(a) { this.Yf(); var b = c.m, d = b.getParameter(b.DEPTH_CLEAR_VALUE); b.clearDepth(a); b.clear(b.DEPTH_BUFFER_BIT); b.clearDepth(d); this.end() }, clearStencil: null, qY: function() { c.log("clearDepth isn't supported on Cocos2d-Html5") }, rY: function(a) { var b = c.m, d = b.getParameter(b.STENCIL_CLEAR_VALUE); b.clearStencil(a); b.clear(b.STENCIL_BUFFER_BIT); b.clearStencil(d) }, U: null, Cn: function(a) { this.Ja && (a = a || c.m, a.save(), this.Y(a), this.transform(a), this.sprite.U(), a.restore(), this.arrivalOrder = 0) }, ju: function(a) { if (this.Ja) { c.eo(); var b = this.grid; b && b.fg() && (b.ru(), this.KA()); this.transform(a); this.sprite.U(); this.Y(a); b && b.fg() && b.nu(this); c.co(); this.arrivalOrder = 0 } }, Y: null, Zm: function(a) { a = a || c.m; if (this.pu) { this.Yf(); if (this.Sy) { var b = this.Be; a.save(); a.fillStyle = this.gD; a.clearRect(0, 0, b.width, -b.height); a.fillRect(0, 0, b.width, -b.height); a.restore() } this.jd(); a = this.u; for (var b = a.length, d = this.sprite, e = 0; e < b; e++) { var f = a[e]; f != d && f.U() } this.end() } }, fk: function() { var a = c.m; if (this.pu) { this.Yf(); var b = this.Sy; if (b) { var d = [0, 0, 0, 0], e = 0, f = 0; b & a.COLOR_BUFFER_BIT && (d = a.getParameter(a.COLOR_CLEAR_VALUE), a.clearColor(this.dk.r / 255, this.dk.g / 255, this.dk.b / 255, this.dk.a / 255)); b & a.DEPTH_BUFFER_BIT && (e = a.getParameter(a.DEPTH_CLEAR_VALUE), a.clearDepth(this.uG)); b & a.STENCIL_BUFFER_BIT && (f = a.getParameter(a.STENCIL_CLEAR_VALUE), a.clearStencil(this.vG)); a.clear(b); b & a.COLOR_BUFFER_BIT && a.clearColor(d[0], d[1], d[2], d[3]); b & a.DEPTH_BUFFER_BIT && a.clearDepth(e); b & a.STENCIL_BUFFER_BIT && a.clearStencil(f) } this.jd(); a = this.u; for (b = 0; b < a.length; b++) d = a[b], d != this.sprite && d.U(); this.end() } }, Eka: function() { c.log("saveToFile isn't supported on cocos2d-html5"); return null }, Xba: function(a, b, d, e, f) { for (var g = 0; g < f; g++) a[b + g] = d[e + g] }, Bma: function() { c.log("saveToFile isn't supported on Cocos2d-Html5") }, pka: function() { c.log("listenToBackground isn't supported on Cocos2d-Html5") }, qka: function() { c.log("listenToForeground isn't supported on Cocos2d-Html5") }, ofa: function() { return this.Sy }, Wma: function(a) { this.Sy = a }, f3: function() { return this.dk }, kI: null, S_: function(a) { var b = this.dk; b.r = a.r; b.g = a.g; b.b = a.b; b.a = a.a; this.gD = "rgba(" + (0 | a.r) + "," + (0 | a.g) + "," + (0 | a.b) + "," + a.a / 255 + ")" }, T_: function(a) { var b = this.dk; b.r = a.r; b.g = a.g; b.b = a.b; b.a = a.a }, nfa: function() { return this.uG }, Vma: function(a) { this.uG = a }, pfa: function() { return this.vG }, Xma: function(a) { this.vG = a }, Xha: function() { return this.pu }, Oma: function(a) { this.pu = a } }); p = c.No.prototype; c.F == c.ea ? (p.ctor = p.Vs, p.uf = p.lY, p.xz = p.JZ, p.Yf = p.ZX, p.WC = p.aY, p.end = p.IY, p.clearRect = p.pY, p.clearDepth = p.nY, p.clearStencil = p.rY, p.U = p.ju, p.Y = p.fk, p.kI = p.T_) : (p.ctor = p.Us, p.uf = p.kY, p.xz = p.IZ, p.Yf = p.YX, p.WC = p.$X, p.end = p.HY, p.clearRect = p.oY, p.clearDepth = p.mY, p.clearStencil = p.qY, p.U = p.Cn, p.Y = p.Zm, p.kI = p.S_); c.i(p, "clearColorVal", p.f3, p.kI); c.No.create = function(a, b, d, e) { return new c.No(a, b, d, e) }; c.Si = c.Sj.extend({ Tb: null, eE: null, sa: !1, pb: null, ob: "LabelAtlas", ctor: function(a, b, d, e, f) { c.Sj.prototype.ctor.call(this); b && c.Si.prototype.Md.call(this, a, b, d, e, f) }, Fv: function() { return this.sa }, ue: function(a, b) { this.pb || (this.pb = []); this.pb.push({ wi: a, Kg: b }) }, me: function() { if (this.pb) { this.sa = !0; for (var a = this.pb, b = 0, d = a.length; b < d; b++) { var e = a[b]; e.wi.call(e.Kg, this) } a.length = 0 } }, Md: function(a, b, d, e, f) { var g = a + "", h, k; if (void 0 === d) { d = c.X.be(b); if (1 !== parseInt(d.version, 10)) return c.log("cc.LabelAtlas.initWithString(): Unsupported version. Upgrade cocos2d version"), !1; b = c.path.kq(b, d.textureFilename); e = c.wb(); h = parseInt(d.itemWidth, 10) / e; k = parseInt(d.itemHeight, 10) / e; d = String.fromCharCode(parseInt(d.firstChar, 10)) } else h = d || 0, k = e || 0, d = f || " "; var m = null, m = b instanceof c.ia ? b : c.Ka.Qc(b); (this.sa = b = m.Kc) || m.ue(function() { this.pa(m, h, k, g.length); this.string = g; this.me() }, this); return this.pa(m, h, k, g.length) ? (this.eE = d, this.string = g, !0) : !1 }, Va: function(a) { c.Sj.prototype.Va.call(this, a); this.rr() }, lm: function() { return this.Tb }, Y: function(a) { c.Sj.prototype.Y.call(this, a); c.CU && (a = this.size, a = [c.d(0, 0), c.d(a.width, 0), c.d(a.width, a.height), c.d(0, a.height)], c.jf.$d(a, 4, !0)) }, OC: function(a, b, d) { a.UZ = !0; c.la.prototype.M.call(this, a, b, d) }, rr: null, M0: function() { for (var a = this.Tb || "", b = a.length, d = this.texture, e = this.ej, f = this.bi, g = 0; g < b; g++) { var h = a.charCodeAt(g) - this.eE.charCodeAt(0), h = c.rect(parseInt(h % this.Ip, 10) * e, parseInt(h / this.Ip, 10) * f, e, f), k = a.charCodeAt(g), m = this.cg(g); m ? 32 == k ? (m.K(), m.Hb(c.rect(0, 0, 10, 10), !1, c.size(0, 0))) : (m.pa(d, h), m.visible = !0, m.opacity = this.Ia) : (m = new c.P, 32 == k ? (m.K(), m.Hb(c.rect(0, 0, 10, 10), !1, c.size(0, 0))) : m.pa(d, h), c.la.prototype.M.call(this, m, 0, g)); m.J(g * e + e / 2, f / 2) } }, N0: function() { var a = this.Tb, b = a.length, d = this.textureAtlas, e = d.texture, f = e.pixelsWidth, e = e.pixelsHeight, g = this.ej, h = this.bi; this.Ex || (g = this.ej * c.wb(), h = this.bi * c.wb()); b > d.Td && c.log("cc.LabelAtlas._updateAtlasValues(): Invalid String length"); for (var k = d.quads, m = this.Ma, m = { r: m.r, g: m.g, b: m.b, a: this.Ia }, n = this.ej, q = 0; q < b; q++) { var r = a.charCodeAt(q) - this.eE.charCodeAt(0), t = r % this.Ip, s = 0 | r / this.Ip, u; c.Do ? (t = (2 * t * g + 1) / (2 * f), r = t + (2 * g - 2) / (2 * f), s = (2 * s * h + 1) / (2 * e), u = s + (2 * h - 2) / (2 * e)) : (t = t * g / f, r = t + g / f, s = s * h / e, u = s + h / e); var v = k[q], B = v.Q, x = v.N, F = v.I, v = v.R; B.n.da = t; B.n.G = s; x.n.da = r; x.n.G = s; F.n.da = t; F.n.G = u; v.n.da = r; v.n.G = u; F.j.x = q * n; F.j.y = 0; F.j.z = 0; v.j.x = q * n + n; v.j.y = 0; v.j.z = 0; B.j.x = q * n; B.j.y = this.bi; B.j.z = 0; x.j.x = q * n + n; x.j.y = this.bi; x.j.z = 0; B.v = m; x.v = m; F.v = m; v.v = m } 0 < b && (d.dirty = !0, a = d.totalQuads, b > a && d.cQ(b - a)) }, tc: null, p0: function(a) { a = String(a); var b = a.length; this.Tb = a; this.width = b * this.ej; this.height = this.bi; if (this.u) { a = this.u; for (var b = a.length, d = 0; d < b; d++) { var e = a[d]; e && !e.UZ && (e.visible = !1) } } this.rr(); this.quadsToDraw = b }, r0: function(a) { a = String(a); var b = a.length; b > this.textureAtlas.totalQuads && this.textureAtlas.aI(b); this.Tb = a; this.width = b * this.ej; this.height = this.bi; this.rr(); this.quadsToDraw = b }, Fa: null, eF: function(a) { if (this.Ia !== a) { c.Sj.prototype.Fa.call(this, a); for (var b = this.u, d = 0, e = b.length; d < e; d++) b[d] && (b[d].opacity = a) } }, fF: function(a) { this.qe !== a && c.Sj.prototype.Fa.call(this, a) } }); p = c.Si.prototype; c.F === c.ea ? (p.rr = p.N0, p.tc = p.r0, p.Fa = p.fF) : (p.rr = p.M0, p.tc = p.p0, p.Fa = p.eF, p.M = p.OC); c.i(p, "opacity", p.yf, p.Fa); c.i(p, "string", p.lm, p.tc); c.Si.create = function(a, b, d, e, f) { return new c.Si(a, b, d, e, f) }; c.W$ = -1; c.rB = c.ng.extend({ Ib: !0, Xa: !1, Tb: "", rg: null, yx: "", Dp: "", Ks: c.Pm, ku: -1, PM: !1, Fx: null, xN: null, Ia: 255, re: 255, Ma: null, pc: null, Ud: !0, De: !0, sa: !1, pb: null, ob: "LabelBMFont", JN: function(a, b) { b ? this.Dp = a : this.Tb = a; var d = this.u; if (d) for (var e = 0; e < d.length; e++) { var f = d[e]; f && f.hS(!1) } this.sa && (this.Yy(), b && this.bh()) }, ctor: function(a, b, d, e, f) { c.ng.prototype.ctor.call(this); this.Fx = c.d(0, 0); this.Ma = c.color(255, 255, 255, 255); this.pc = c.color(255, 255, 255, 255); this.xN = []; this.Md(a, b, d, e, f) }, Fv: function() { return this.sa }, ue: function(a, b) { this.pb || (this.pb = []); this.pb.push({ wi: a, Kg: b }) }, me: function() { if (this.pb) { for (var a = this.pb, b = 0, d = a.length; b < d; b++) { var e = a[b]; e.wi.call(e.Kg, this) } a.length = 0 } }, Y: function(a) { c.ng.prototype.Y.call(this, a); if (c.DU) { a = this.ve(); var b = c.d(0 | -this.lb.x, 0 | -this.lb.y); a = [c.d(b.x, b.y), c.d(b.x + a.width, b.y), c.d(b.x + a.width, b.y + a.height), c.d(b.x, b.y + a.height)]; c.jf.fr(0, 255, 0, 255); c.jf.$d(a, 4, !0) } }, Va: function(a) { var b = this.Ma, d = this.pc; if (d.r != a.r || d.g != a.g || d.b != a.b || d.a != a.a) b.r = d.r = a.r, b.g = d.g = a.g, b.b = d.b = a.b, this.sa && this.Ud && (b = c.color.WHITE, (d = this.gc) && d.Ib && d.cascadeColor && (b = d.Zn()), this.bc(b)), void 0 === a.a || a.mu || this.Fa(a.a) }, Ue: function() { return this.Xa }, ee: function(a) { this.Xa = a; if (a = this.u) for (var b = 0; b < a.length; b++) { var d = a[b]; d && d.Ib && (d.opacityModifyRGB = this.Xa) } }, yf: function() { return this.re }, sP: function() { return this.Ia }, Fa: function(a) { this.Ia = this.re = a; if (this.De) { var b = 255, d = this.gc; d && d.Ib && d.cascadeOpacity && (b = d.Ia); this.Zb(b) } this.Ma.a = this.pc.a = a }, Zb: function(a) { this.Ia = this.re * a / 255; a = this.u; for (var b = 0; b < a.length; b++) { var d = a[b]; c.F == c.ea ? d.Zb(this.Ia) : (c.la.prototype.Zb.call(d, this.Ia), d.Sa()) } this.yl() }, Pu: function() { return !1 }, er: function(a) { this.De = a }, xf: function() { var a = this.pc; return c.color(a.r, a.g, a.b, a.a) }, Zn: function() { return this.Ma }, bc: function(a) { var b = this.Ma, d = this.pc; b.r = d.r * a.r / 255; b.g = d.g * a.g / 255; b.b = d.b * a.b / 255; a = this.u; for (b = 0; b < a.length; b++) d = a[b], c.F == c.ea ? d.bc(this.Ma) : (c.la.prototype.bc.call(d, this.Ma), d.Sa()); this.yl() }, yl: function() { if (c.F != c.ea) { var a, b = this.texture; b && 0 < b.width && (a = b.Ob) && (b = c.Ka.iz(this.Je.Ob)) && (a instanceof HTMLCanvasElement && !this.rd ? c.wq(a, b, this.Ma, null, a) : (a = c.wq(a, b, this.Ma), b = new c.ia, b.Ld(a), b.$b(), this.texture = b)) } }, Ou: function() { return !1 }, dr: function(a) { this.Ud = a }, K: function() { return this.Md(null, null, null, null, null) }, Md: function(a, b, d, e, f) { a = a || ""; this.rg && c.log("cc.LabelBMFont.initWithString(): re-init is no longer supported"); if (b) { var g = c.X.be(b); if (!g) return c.log("cc.LabelBMFont.initWithString(): Impossible to create font. Please check file"), !1; this.rg = g; this.yx = b; b = c.Ka.Qc(g.rO); (this.sa = g = b.Kc) || b.ue(function(a) { this.sa = !0; this.pa(a, this.Dp.length); this.tc(this.Dp, !0); this.me() }, this) } else b = new c.ia, g = new Image, b.Ld(g), this.sa = !1; return this.pa(b, a.length) ? (this.Ks = e || c.ss, this.Fx = f || c.d(0, 0), this.ku = null == d ? -1 : d, this.Ia = this.re = 255, this.Ma = c.color(255, 255, 255, 255), this.pc = c.color(255, 255, 255, 255), this.Ud = this.De = !0, this.S.width = 0, this.S.height = 0, this.Vk(0.5, 0.5), c.F === c.ea && (d = this.textureAtlas.texture, this.Xa = d.xj(), e = this.xN = new c.P, e.pa(d, c.rect(0, 0, 0, 0), !1), e.batchNode = this), this.tc(a, !0), !0) : !1 }, Yy: function() { var a = c.F, b = a === c.Ha ? this.texture : this.textureAtlas.texture, d = 0, e = c.size(0, 0), f = 0, g = 1, h = this.Tb, k = h ? h.length : 0; if (0 !== k) { var m, n = this.rg, q = n.Z4, r = n.zG, t = n.W2; for (m = 0; m < k - 1; m++) 10 == h.charCodeAt(m) && g++; var s = r * g, g = -(r - r * g), u = -1; for (m = 0; m < k; m++) if (r = h.charCodeAt(m), 0 != r) if (10 === r) d = 0, g -= n.zG; else { var v = q[u << 16 | r & 65535] || 0, B = t[r]; if (B) { var x = c.rect(B.rect.x, B.rect.y, B.rect.width, B.rect.height), x = c.Sk(x); x.x += this.Fx.x; x.y += this.Fx.y; (u = this.cg(m)) ? 32 === r && a === c.Ha ? u.Hb(x, !1, c.size(0, 0)) : (u.Hb(x, !1), u.visible = !0) : (u = new c.P, 32 === r && a === c.Ha && (x = c.rect(0, 0, 0, 0)), u.pa(b, x, !1), u.jE = !0, this.M(u, 0, m)); u.opacityModifyRGB = this.Xa; c.F == c.ea ? (u.bc(this.Ma), u.Zb(this.Ia)) : (c.la.prototype.bc.call(u, this.Ma), c.la.prototype.Zb.call(u, this.Ia), u.Sa()); x = c.d(d + B.VS + 0.5 * B.rect.width + v, g + (n.zG - B.WS) - 0.5 * x.height * c.wb()); u.J(c.WH(x)); d += B.u9 + v; u = r; f < d && (f = d) } else c.log("cocos2d: LabelBMFont: character not found " + h[m]) } e.width = f; e.height = s; this.ye(c.jS(e)) } }, Epa: function(a) { var b = this.u; if (b) for (var d = 0, e = b.length; d < e; d++) { var f = b[d]; f && (f.visible = !1) } this.rg && this.Yy(); a || this.bh() }, lm: function() { return this.Dp }, tc: function(a, b) { a = String(a); null == b && (b = !0); if (null == a || "string" != typeof a) a += ""; this.Dp = a; this.JN(a, b) }, q0: function(a) { this.tc(a, !1) }, Sma: function(a) { this.tc(a, !0) }, bh: function() { this.string = this.Dp; if (0 < this.ku) { for (var a = this.Tb.length, b = [], d = [], e = 1, f = 0, g = !1, h = !1, k = -1, m = -1, n = 0, q, r = 0, t = this.u.length; r < t; r++) { for (var s = 0; !(q = this.cg(r + n + s));) s++; n += s; if (f >= a) break; var u = this.Tb[f]; h || (m = this.JD(q), h = !0); g || (k = m, g = !0); if (10 == u.charCodeAt(0)) { d.push("\n"); b = b.concat(d); d.length = 0; g = h = !1; k = m = -1; r--; n -= s; e++; if (f >= a) break; m || (m = this.JD(q), h = !0); k || (k = m, g = !0); f++ } else if (c.yH(u)) d.push(u), b = b.concat(d), d.length = 0, h = !1, m = -1, f++; else if (this.gZ(q) - k > this.ku) if (this.PM) { c.OS(d); d.push("\n"); b = b.concat(d); d.length = 0; g = h = !1; k = m = -1; e++; if (f >= a) break; m || (m = this.JD(q), h = !0); k || (k = m, g = !0); r-- } else d.push(u), -1 != b.lastIndexOf(" ") ? c.OS(b) : b = [], 0 < b.length && b.push("\n"), e++, g = !1, k = -1, f++; else d.push(u), f++ } b = b.concat(d); r = b.length; q = ""; for (f = 0; f < r; ++f) q += b[f]; q += String.fromCharCode(0); this.JN(q, !1) } if (this.Ks != c.ss) for (b = f = 0, a = this.Tb.length, d = [], e = 0; e < a; e++) if (10 == this.Tb[e].charCodeAt(0) || 0 == this.Tb[e].charCodeAt(0)) if (r = 0, g = d.length, 0 == g) b++; else { if (q = f + g - 1 + b, !(0 > q) && (r = this.cg(q), null != r)) { r = r.Se() + r.Wh() / 2; h = 0; switch (this.Ks) { case c.Pm: h = this.width / 2 - r / 2; break; case c.hK: h = this.width - r } if (0 != h) for (r = 0; r < g; r++)(q = f + r + b, 0 > q || !(q = this.cg(q))) || (q.x += h); f += g; b++; d.length = 0 } } else d.push(this.Tb[f]) }, h7: function(a) { this.Ks = a; this.bh() }, RY: function() { return this.Ks }, m7: function(a) { this.ku = a; this.bh() }, FD: function() { return this.ku }, Dna: function(a) { this.PM = a; this.bh() }, Wk: function(a, b) { c.t.prototype.Wk.call(this, a, b); this.bh() }, uv: function(a) { c.t.prototype.uv.call(this, a); this.bh() }, vv: function(a) { c.t.prototype.vv.call(this, a); this.bh() }, mna: function(a) { if (null != a && a != this.yx) { var b = c.X.be(a); b ? (this.yx = a, this.rg = b, a = c.Ka.Qc(b.rO), this.sa = b = a.Kc, this.texture = a, c.F === c.Ha && (this.Je = this.texture), b ? this.Yy() : a.ue(function(a) { this.sa = !0; this.texture = a; this.Yy(); this.yl(); this.bh(); this.me() }, this)) : c.log("cc.LabelBMFont.setFntFile() : Impossible to create font. Please check file") } }, Pfa: function() { return this.yx }, Vk: function(a, b) { c.t.prototype.Vk.call(this, a, b); this.bh() }, GN: function(a) { c.t.prototype.GN.call(this, a); this.bh() }, XE: function(a) { c.t.prototype.XE.call(this, a); this.bh() }, YE: function(a) { c.t.prototype.YE.call(this, a); this.bh() }, Bba: function() {}, Tba: function(a, b) { var d = 0; if (this.uY.a5) { var e = this.uY.a5[(a << 16 | b & 65535).toString()]; e && (d = e.Gca) } return d }, JD: function(a) { return a.Se() * this.ma - a.Wh() * this.ma * a.dd.x }, gZ: function(a) { return a.Se() * this.ma + a.Wh() * this.ma * a.dd.x } }); p = c.rB.prototype; c.i(p, "opacityModifyRGB", p.Ue, p.ee); c.i(p, "opacity", p.yf, p.Fa); c.i(p, "cascadeOpacity", p.Pu, p.er); c.i(p, "color", p.xf, p.Va); c.i(p, "cascadeColor", p.Ou, p.dr); c.i(p, "string", p.lm, p.q0); c.i(p, "boundingWidth", p.FD, p.m7); c.i(p, "textAlign", p.RY, p.h7); c.rB.create = function(a, b, d, e, f) { return new c.rB(a, b, d, e, f) }; c.yH = function(a) { a = a.charCodeAt(0); return 9 <= a && 13 >= a || 32 == a || 133 == a || 160 == a || 5760 == a || 8192 <= a && 8202 >= a || 8232 == a || 8233 == a || 8239 == a || 8287 == a || 12288 == a }; c.OS = function(a) { var b = a.length; if (!(0 >= b) && (b -= 1, c.yH(a[b]))) { for (var d = b - 1; 0 <= d; --d) if (c.yH(a[d])) b = d; else break; c.m9(a, b) } }; c.m9 = function(a, b) { var d = a.length; b >= d || 0 > b || a.splice(b, d) }; c.KY = { mU: /info [^\n]*(\n|$)/gi, xT: /common [^\n]*(\n|$)/gi, mV: /page [^\n]*(\n|$)/gi, wT: /char [^\n]*(\n|$)/gi, uU: /kerning [^\n]*(\n|$)/gi, oU: /\w+=[^ \r\n]+/gi, nU: /^[\-]?\d+$/, Dt: function(a) { a = a.match(this.oU); var b = {}; if (a) for (var d = 0, e = a.length; d < e; d++) { var f = a[d], g = f.indexOf("="), h = f.substring(0, g), f = f.substring(g + 1); f.match(this.nU) ? f = parseInt(f) : '"' == f[0] && (f = f.substring(1, f.length - 1)); b[h] = f } return b }, e6: function(a, b) { var d = {}; this.Dt(a.match(this.mU)[0]); var e = this.Dt(a.match(this.xT)[0]); d.zG = e.lineHeight; if (c.F === c.ea) { var f = c.nq.wt; (e.scaleW > f.width || e.scaleH > f.height) && c.log("cc.LabelBMFont._parseCommonArguments(): page can't be larger than supported") } 1 !== e.pages && c.log("cc.LabelBMFont._parseCommonArguments(): only supports 1 page"); e = this.Dt(a.match(this.mV)[0]); 0 !== e.id && c.log("cc.LabelBMFont._parseImageFileName() : file could not be found"); d.rO = c.path.kq(b, e.file); for (var g = a.match(this.wT), h = d.W2 = {}, e = 0, f = g.length; e < f; e++) { var k = this.Dt(g[e]); h[k.id] = { rect: { x: k.x, y: k.y, width: k.width, height: k.height }, VS: k.xoffset, WS: k.yoffset, u9: k.xadvance } } g = d.Z4 = {}; if (h = a.match(this.uU)) for (e = 0, f = h.length; e < f; e++) k = this.Dt(h[e]), g[k.first << 16 | k.second & 65535] = k.amount; return d }, load: function(a, b, d, e) { var f = this; c.X.Pz(a, function(a, d) { if (a) return e(a); e(null, f.e6(d, b)) }) } }; c.X.Tk(["fnt"], c.KY); c.yJ = c.la.extend({ texture: null, tq: !1, Mj: !1, q: null, Xt: 0, yD: 0, jn: 0, gE: 0, Nl: 0, HE: 0, AE: null, zE: null, Ya: null, gp: null, Fg: null, td: null, hp: null, Up: null, ob: "MotionStreak", ctor: function(a, b, d, e, f) { c.la.prototype.ctor.call(this); this.th = c.d(0, 0); this.q = new c.cl(c.SRC_ALPHA, c.ONE_MINUS_SRC_ALPHA); this.TF = c.m.createBuffer(); this.Mj = this.tq = !1; this.texture = null; this.HE = this.Nl = this.gE = this.jn = this.yD = this.Xt = 0; this.Up = this.hp = this.td = this.Fg = this.gp = this.Ya = this.zE = this.AE = null; void 0 !== f && this.x4(a, b, d, e, f) }, Ua: function() { return this.texture }, zb: function(a) { this.texture != a && (this.texture = a) }, xi: function() { return this.q }, zf: function(a, b) { void 0 === b ? this.q = a : (this.q.src = a, this.q.W = b) }, yf: function() { c.log("cc.MotionStreak.getOpacity has not been supported."); return 0 }, Fa: function() { c.log("cc.MotionStreak.setOpacity has not been supported.") }, ee: function() {}, Ue: function() { return !1 }, xb: function() { c.t.prototype.xb.call(this); this.td && c.m.deleteBuffer(this.td); this.Up && c.m.deleteBuffer(this.Up); this.hp && c.m.deleteBuffer(this.hp) }, fia: function() { return this.tq }, lna: function(a) { this.tq = a }, ria: function() { return this.Mj }, joa: function(a) { this.Mj = a }, x4: function(a, b, d, e, f) { if (!f) throw "cc.MotionStreak.initWithFade(): Invalid filename or texture"; "string" === typeof f && (f = c.Ka.Qc(f)); c.t.prototype.J.call(this, c.d(0, 0)); this.anchorY = this.anchorX = 0; this.ignoreAnchor = !0; this.Mj = !1; this.tq = !0; this.jn = -1 == b ? d / 5 : b; this.jn *= this.jn; this.Xt = d; this.yD = 1 / a; a = (0 | 60 * a) + 2; this.Nl = 0; this.zE = new Float32Array(a); this.AE = new Float32Array(2 * a); this.Ya = new Float32Array(4 * a); this.Fg = new Float32Array(4 * a); this.gp = new Uint8Array(8 * a); this.gE = a; a = c.m; this.td = a.createBuffer(); this.Up = a.createBuffer(); this.hp = a.createBuffer(); this.q.src = a.SRC_ALPHA; this.q.W = a.ONE_MINUS_SRC_ALPHA; this.shaderProgram = c.ge.Dc(c.Zj); this.texture = f; this.color = e; this.zR(); a.bindBuffer(a.ARRAY_BUFFER, this.td); a.bufferData(a.ARRAY_BUFFER, this.Ya, a.DYNAMIC_DRAW); a.bindBuffer(a.ARRAY_BUFFER, this.Up); a.bufferData(a.ARRAY_BUFFER, this.Fg, a.DYNAMIC_DRAW); a.bindBuffer(a.ARRAY_BUFFER, this.hp); a.bufferData(a.ARRAY_BUFFER, this.gp, a.DYNAMIC_DRAW); return !0 }, upa: function(a) { this.color = a; for (var b = this.gp, d = 0, e = 2 * this.Nl; d < e; d++) b[4 * d] = a.r, b[4 * d + 1] = a.g, b[4 * d + 2] = a.b }, reset: function() { this.Nl = 0 }, J: function(a, b) { this.Mj = !0; void 0 === b ? (this.th.x = a.x, this.th.y = a.y) : (this.th.x = a, this.th.y = b) }, Se: function() { return this.th.x }, qI: function(a) { this.th.x = a; this.Mj || (this.Mj = !0) }, Mg: function() { return this.th.y }, rI: function(a) { this.th.y = a; this.Mj || (this.Mj = !0) }, Y: function(a) { 1 >= this.Nl || !this.texture || !this.texture.Kc || (a = a || c.m, c.av(this), c.Xc(c.Sm), c.Ai(this.q.src, this.q.W), c.Te(this.texture), a.bindBuffer(a.ARRAY_BUFFER, this.td), a.bufferData(a.ARRAY_BUFFER, this.Ya, a.DYNAMIC_DRAW), a.vertexAttribPointer(c.Ab, 2, a.FLOAT, !1, 0, 0), a.bindBuffer(a.ARRAY_BUFFER, this.Up), a.bufferData(a.ARRAY_BUFFER, this.Fg, a.DYNAMIC_DRAW), a.vertexAttribPointer(c.Sd, 2, a.FLOAT, !1, 0, 0), a.bindBuffer(a.ARRAY_BUFFER, this.hp), a.bufferData(a.ARRAY_BUFFER, this.gp, a.DYNAMIC_DRAW), a.vertexAttribPointer(c.ef, 4, a.UNSIGNED_BYTE, !0, 0, 0), a.drawArrays(a.TRIANGLE_STRIP, 0, 2 * this.Nl), c.Lg++) }, update: function(a) { if (this.Mj) { a *= this.yD; var b, d, e, f, g = 0, h = this.Nl, k = this.zE, m = this.AE, n = this.Ya, q = this.gp; for (e = 0; e < h; e++) k[e] -= a, 0 >= k[e] ? g++ : (b = e - g, 0 < g ? (k[b] = k[e], m[2 * b] = m[2 * e], m[2 * b + 1] = m[2 * e + 1], f = 2 * e, d = 2 * b, n[2 * d] = n[2 * f], n[2 * d + 1] = n[2 * f + 1], n[2 * (d + 1)] = n[2 * (f + 1)], n[2 * (d + 1) + 1] = n[2 * (f + 1) + 1], f *= 4, d *= 4, q[d + 0] = q[f + 0], q[d + 1] = q[f + 1], q[d + 2] = q[f + 2], q[d + 4] = q[f + 4], q[d + 5] = q[f + 5], q[d + 6] = q[f + 6]) : d = 8 * b, b = 255 * k[b], q[d + 3] = b, q[d + 7] = b); h -= g; e = !0; h >= this.gE ? e = !1 : 0 < h && (a = c.bR(c.d(m[2 * (h - 1)], m[2 * (h - 1) + 1]), this.th) < this.jn, d = 1 == h ? !1 : c.bR(c.d(m[2 * (h - 2)], m[2 * (h - 2) + 1]), this.th) < 2 * this.jn, a || d) && (e = !1); e && (m[2 * h] = this.th.x, m[2 * h + 1] = this.th.y, k[h] = 1, k = 8 * h, e = this.Ma, q[k] = e.r, q[k + 1] = e.g, q[k + 2] = e.b, q[k + 4] = e.r, q[k + 5] = e.g, q[k + 6] = e.b, q[k + 3] = 255, q[k + 7] = 255, 0 < h && this.tq && (1 < h ? c.QI(m, this.Xt, this.Ya, h, 1) : c.QI(m, this.Xt, this.Ya, 0, 2)), h++); this.tq || c.QI(m, this.Xt, this.Ya, 0, h); if (h && this.HE != h) { m = 1 / h; q = this.Fg; for (e = 0; e < h; e++) q[4 * e] = 0, q[4 * e + 1] = m * e, q[2 * (2 * e + 1)] = 1, q[2 * (2 * e + 1) + 1] = m * e; this.HE = h } this.Nl = h } } }); c.yJ.create = function(a, b, d, e, f) { return new c.yJ(a, b, d, e, f) }; c.AB = c.t.extend({ grid: null, Ne: null, Fu: function() { return this.grid }, E7: function(a) { this.grid = a }, wI: function(a) { this.Ne = a }, M: function(a, b, d) { c.t.prototype.M.call(this, a, b, d); a && !this.Ne && (this.Ne = a) }, U: function() { if (this.Ja) { var a = c.F == c.ea, b = this.grid; a && b && b.vl && b.ru(); this.transform(); var d = this.u; if (d && 0 < d.length) { var e = d.length; this.jd(); for (ua = 0; ua < e; ua++) { var f = d[ua]; f && f.U() } } a && b && b.vl && b.nu(this.Ne) } }, K0: function() { var a = this.IF, b = c.ic.top, d = this.Ve(), e = a.c; e[0] = d.a; e[4] = d.C; e[12] = d.xa; e[1] = d.b; e[5] = d.D; e[13] = d.ya; e[14] = this.iu; c.Dj(b, b, a); null == this.ck || this.grid && this.grid.fg() || (a = this.lb.x, b = this.lb.y, 0 !== a || 0 !== b ? (c.ZB || (a |= 0, b |= 0), c.Lq(a, b), this.ck.$u(), c.Lq(-a, -b)) : this.ck.$u()) } }); p = c.AB.prototype; c.F === c.ea && (p.transform = p.K0); c.i(p, "target", null, p.wI); c.AB.create = function() { return new c.AB }; c.Ipa = function() { return { x: 0, y: 0 } }; c.Am = function(a, b) { return { x: a, y: b } }; c.Ye = function(a, b) { return c.Am(a.x + b.x, a.y + b.y) }; c.Fc = function(a, b) { return c.Am(a.x - b.x, a.y - b.y) }; c.Pd = function(a, b) { return c.Am(a.x * b, a.y * b) }; c.sr = function(a) { return c.Am(-a.y, a.x) }; c.dh = function(a) { return c.Am(-a.x, -a.y) }; c.PS = function(a, b) { return a.x * b.x + a.y * b.y }; c.Hpa = function(a) { return c.Am(Math.cos(a), Math.sin(a)) }; c.Nv = function(a) { a = c.Dh(c.d(a.x, a.y)); return c.Am(a.x, a.y) }; c.ff = function(a) { return c.Am(a.x, a.y) }; c.Qa = function(a) { return { da: a.x, G: a.y } }; c.OT = c.t.extend({ kb: null, q: null, od: 1, Mf: null, ob: "DrawNodeCanvas", ctor: function() { c.t.prototype.ctor.call(this); this.kb = []; this.Mf = c.color(255, 255, 255, 255); this.q = new c.cl(c.vc, c.uc); this.K() }, xi: function() { return this.q }, zf: function(a, b) { void 0 === b ? (this.q.src = a.src, this.q.W = a.W) : (this.q.src = a, this.q.W = b) }, nI: function(a) { this.od = a }, z3: function() { return this.od }, fr: function(a) { var b = this.Mf; b.r = a.r; b.g = a.g; b.b = a.b; b.a = null == a.a ? 255 : a.a }, ae: function() { return c.color(this.Mf.r, this.Mf.g, this.Mf.b, this.Mf.a) }, Eu: function(a, b, d, e, f) { e = e || this.od; f = f || this.ae(); null == f.a && (f.a = 255); a = [a, c.d(b.x, a.y), b, c.d(a.x, b.y)]; b = new c.pl(c.zd.ll); b.ze = a; b.lineWidth = e; b.Lk = f; b.Az = !0; b.nm = !0; b.lineCap = "butt"; if (b.fillColor = d) null == d.a && (d.a = 255), b.wH = !0; this.kb.push(b) }, HG: function(a, b, d, e, f, g, h) { g = g || this.od; h = h || this.ae(); null == h.a && (h.a = 255); for (var k = 2 * Math.PI / e, m = [], n = 0; n <= e; n++) { var q = n * k; m.push(c.d(b * Math.cos(q + d) + a.x, b * Math.sin(q + d) + a.y)) } f && m.push(c.d(a.x, a.y)); a = new c.pl(c.zd.ll); a.ze = m; a.lineWidth = g; a.Lk = h; a.Az = !0; a.nm = !0; this.kb.push(a) }, JG: function(a, b, d, e, f, g) { f = f || this.od; g = g || this.ae(); null == g.a && (g.a = 255); for (var h = [], k = 0, m = 0; m < e; m++) h.push(c.d(Math.pow(1 - k, 2) * a.x + 2 * (1 - k) * k * b.x + k * k * d.x, Math.pow(1 - k, 2) * a.y + 2 * (1 - k) * k * b.y + k * k * d.y)), k += 1 / e; h.push(c.d(d.x, d.y)); a = new c.pl(c.zd.ll); a.ze = h; a.lineWidth = f; a.Lk = g; a.nm = !0; a.lineCap = "round"; this.kb.push(a) }, IG: function(a, b, d, e, f, g, h) { g = g || this.od; h = h || this.ae(); null == h.a && (h.a = 255); for (var k = [], m = 0, n = 0; n < f; n++) k.push(c.d(Math.pow(1 - m, 3) * a.x + 3 * Math.pow(1 - m, 2) * m * b.x + 3 * (1 - m) * m * m * d.x + m * m * m * e.x, Math.pow(1 - m, 3) * a.y + 3 * Math.pow(1 - m, 2) * m * b.y + 3 * (1 - m) * m * m * d.y + m * m * m * e.y)), m += 1 / f; k.push(c.d(e.x, e.y)); a = new c.pl(c.zd.ll); a.ze = k; a.lineWidth = g; a.Lk = h; a.nm = !0; a.lineCap = "round"; this.kb.push(a) }, GG: function(a, b, d, e) { this.Qn(a, 0.5, b, d, e) }, Qn: function(a, b, d, e, f) { e = e || this.od; f = f || this.ae(); null == f.a && (f.a = 255); for (var g = [], h, k, m = 1 / a.length, n = 0; n < d + 1; n++) k = n / d, 1 == k ? (h = a.length - 1, k = 1) : (h = 0 | k / m, k = (k - m * h) / m), h = c.tG(c.wd(a, h - 1), c.wd(a, h - 0), c.wd(a, h + 1), c.wd(a, h + 2), b, k), g.push(h); a = new c.pl(c.zd.ll); a.ze = g; a.lineWidth = e; a.Lk = f; a.nm = !0; a.lineCap = "round"; this.kb.push(a) }, vi: function(a, b, d) { d = d || this.ae(); null == d.a && (d.a = 255); var e = new c.pl(c.zd.kK); e.ze = [a]; e.lineWidth = b; e.fillColor = d; this.kb.push(e) }, u2: function(a, b, d) { if (a && 0 != a.length) { d = d || this.ae(); null == d.a && (d.a = 255); for (var e = 0, f = a.length; e < f; e++) this.vi(a[e], b, d) } }, im: function(a, b, d, e) { d = d || this.od; e = e || this.ae(); null == e.a && (e.a = 255); var f = new c.pl(c.zd.ll); f.ze = [a, b]; f.lineWidth = 2 * d; f.Lk = e; f.nm = !0; f.lineCap = "round"; this.kb.push(f) }, y2: function(a, b, d, e) { d = d || this.od; e = e || this.ae(); null == e.a && (e.a = 255); var f = new c.pl(c.zd.ll); f.ze = a; f.fillColor = b; f.lineWidth = d; f.Lk = e; f.Az = !0; f.nm = !0; f.lineCap = "round"; b && (f.wH = !0); this.kb.push(f) }, $d: function(a, b, d, e) { for (var f = [], g = 0; g < a.length; g++) f.push(c.d(a[g].x, a[g].y)); return this.y2(f, b, d, e) }, Y: function(a) { a = a || c.m; this.q && this.q.src == c.SRC_ALPHA && this.q.W == c.ONE && (a.globalCompositeOperation = "lighter"); for (var b = 0; b < this.kb.length; b++) { var d = this.kb[b]; switch (d.type) { case c.zd.kK: this.DY(a, d); break; case c.zd.MW: this.FY(a, d); break; case c.zd.ll: this.EY(a, d) } } }, DY: function(a, b) { var d = b.fillColor, e = b.ze[0], f = b.lineWidth, g = c.view.ma, h = c.view.Na; a.fillStyle = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + "," + d.a / 255 + ")"; a.beginPath(); a.arc(e.x * g, -e.y * h, f * g, 0, 2 * Math.PI, !1); a.closePath(); a.fill() }, FY: function(a, b) { var d = b.Lk, e = b.ze[0], f = b.ze[1], g = b.lineWidth, h = b.lineCap, k = c.view.ma, m = c.view.Na; a.strokeStyle = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + "," + d.a / 255 + ")"; a.lineWidth = g * k; a.beginPath(); a.lineCap = h; a.moveTo(e.x * k, -e.y * m); a.lineTo(f.x * k, -f.y * m); a.stroke() }, EY: function(a, b) { var d = b.ze, e = b.lineCap, f = b.fillColor, g = b.lineWidth, h = b.Lk, k = b.Az, m = b.wH, n = b.nm; if (null != d) { var q = d[0], r = c.view.ma, t = c.view.Na; a.lineCap = e; f && (a.fillStyle = "rgba(" + (0 | f.r) + "," + (0 | f.g) + "," + (0 | f.b) + "," + f.a / 255 + ")"); g && (a.lineWidth = g * r); h && (a.strokeStyle = "rgba(" + (0 | h.r) + "," + (0 | h.g) + "," + (0 | h.b) + "," + h.a / 255 + ")"); a.beginPath(); a.moveTo(q.x * r, -q.y * t); e = 1; for (f = d.length; e < f; e++) a.lineTo(d[e].x * r, -d[e].y * t); k && a.closePath(); m && a.fill(); n && a.stroke() } }, clear: function() { this.kb.length = 0 } }); c.PT = c.t.extend({ ap: 0, kb: null, Ck: null, YN: null, XN: null, od: 1, Mf: null, q: null, qb: !1, ob: "DrawNodeWebGL", xi: function() { return this.q }, zf: function(a, b) { void 0 === b ? (this.q.src = a.src, this.q.W = a.W) : (this.q.src = a, this.q.W = b) }, ctor: function() { c.t.prototype.ctor.call(this); this.kb = []; this.q = new c.cl(c.vc, c.uc); this.Mf = c.color(255, 255, 255, 255); this.K() }, K: function() { return c.t.prototype.K.call(this) ? (this.shaderProgram = c.ge.Dc(c.ZJ), this.ct(64), this.YN = c.m.createBuffer(), this.qb = !0) : !1 }, nI: function(a) { this.od = a }, z3: function() { return this.od }, fr: function(a) { var b = this.Mf; b.r = a.r; b.g = a.g; b.b = a.b; b.a = a.a }, ae: function() { return c.color(this.Mf.r, this.Mf.g, this.Mf.b, this.Mf.a) }, Eu: function(a, b, d, e, f) { e = e || this.od; f = f || this.ae(); null == f.a && (f.a = 255); a = [a, c.d(b.x, a.y), b, c.d(a.x, b.y)]; null == d ? this.mx(a, e, f, !0) : this.$d(a, d, e, f) }, HG: function(a, b, d, e, f, g, h) { g = g || this.od; h = h || this.ae(); null == h.a && (h.a = 255); var k = 2 * Math.PI / e, m = [], n; for (n = 0; n <= e; n++) { var q = n * k; m.push(c.d(b * Math.cos(q + d) + a.x, b * Math.sin(q + d) + a.y)) } f && m.push(c.d(a.x, a.y)); g *= 0.5; n = 0; for (a = m.length; n < a - 1; n++) this.im(m[n], m[n + 1], g, h) }, JG: function(a, b, d, e, f, g) { f = f || this.od; g = g || this.ae(); null == g.a && (g.a = 255); for (var h = [], k = 0, m = 0; m < e; m++) h.push(c.d(Math.pow(1 - k, 2) * a.x + 2 * (1 - k) * k * b.x + k * k * d.x, Math.pow(1 - k, 2) * a.y + 2 * (1 - k) * k * b.y + k * k * d.y)), k += 1 / e; h.push(c.d(d.x, d.y)); this.mx(h, f, g, !1) }, IG: function(a, b, d, e, f, g, h) { g = g || this.od; h = h || this.ae(); null == h.a && (h.a = 255); for (var k = [], m = 0, n = 0; n < f; n++) k.push(c.d(Math.pow(1 - m, 3) * a.x + 3 * Math.pow(1 - m, 2) * m * b.x + 3 * (1 - m) * m * m * d.x + m * m * m * e.x, Math.pow(1 - m, 3) * a.y + 3 * Math.pow(1 - m, 2) * m * b.y + 3 * (1 - m) * m * m * d.y + m * m * m * e.y)), m += 1 / f; k.push(c.d(e.x, e.y)); this.mx(k, g, h, !1) }, GG: function(a, b, d, e) { this.Qn(a, 0.5, b, d, e) }, Qn: function(a, b, d, e, f) { e = e || this.od; f = f || this.ae(); null == f.a && (f.a = 255); for (var g = [], h, k, m = 1 / a.length, n = 0; n < d + 1; n++) k = n / d, 1 == k ? (h = a.length - 1, k = 1) : (h = 0 | k / m, k = (k - m * h) / m), h = c.tG(c.wd(a, h - 1), c.wd(a, h - 0), c.wd(a, h + 1), c.wd(a, h + 2), b, k), g.push(h); e *= 0.5; a = 0; for (b = g.length; a < b - 1; a++) this.im(g[a], g[a + 1], e, f) }, I_: function() { var a = c.m; c.Xc(c.Sm); a.bindBuffer(a.ARRAY_BUFFER, this.YN); this.qb && (a.bufferData(a.ARRAY_BUFFER, this.Ck, a.STREAM_DRAW), this.qb = !1); var b = c.Rd.BYTES_PER_ELEMENT; a.vertexAttribPointer(c.Ab, 2, a.FLOAT, !1, b, 0); a.vertexAttribPointer(c.ef, 4, a.UNSIGNED_BYTE, !0, b, 8); a.vertexAttribPointer(c.Sd, 2, a.FLOAT, !1, b, 12); a.drawArrays(a.TRIANGLES, 0, 3 * this.kb.length); c.Ng() }, ct: function(a) { var b = this.kb; if (b.length + a > this.ap) { var d = c.lc.BYTES_PER_ELEMENT; this.ap += Math.max(this.ap, a); if (null == b || 0 === b.length) this.kb = [], this.Ck = new ArrayBuffer(d * this.ap), this.XN = new Uint8Array(this.Ck); else { a = []; for (var e = new ArrayBuffer(d * this.ap), f = 0; f < b.length; f++) a[f] = new c.lc(b[f].a, b[f].b, b[f].C, e, f * d); this.XN = new Uint8Array(e); this.Ck = e; this.kb = a } } }, Y: function() { c.Ai(this.q.src, this.q.W); this.Sb.$c(); this.Sb.zv(); this.I_() }, vi: function(a, b, d) { d = d || this.ae(); null == d.a && (d.a = 255); var e = { r: 0 | d.r, g: 0 | d.g, b: 0 | d.b, a: 0 | d.a }; d = { j: { x: a.x - b, y: a.y - b }, v: e, n: { da: -1, G: -1 } }; var f = { j: { x: a.x - b, y: a.y + b }, v: e, n: { da: -1, G: 1 } }, g = { j: { x: a.x + b, y: a.y + b }, v: e, n: { da: 1, G: 1 } }; a = { j: { x: a.x + b, y: a.y - b }, v: e, n: { da: 1, G: -1 } }; this.ct(6); this.kb.push(new c.lc(d, f, g, this.Ck, this.kb.length * c.lc.BYTES_PER_ELEMENT)); this.kb.push(new c.lc(d, g, a, this.Ck, this.kb.length * c.lc.BYTES_PER_ELEMENT)); this.qb = !0 }, u2: function(a, b, d) { if (a && 0 != a.length) { d = d || this.ae(); null == d.a && (d.a = 255); for (var e = 0, f = a.length; e < f; e++) this.vi(a[e], b, d) } }, im: function(a, b, d, e) { e = e || this.ae(); null == e.a && (e.a = 255); d = d || 0.5 * this.od; this.ct(18); e = { r: 0 | e.r, g: 0 | e.g, b: 0 | e.b, a: 0 | e.a }; var f = c.ff(a); b = c.ff(b); a = c.Nv(c.sr(c.Fc(b, f))); var g = c.sr(a), h = c.Pd(a, d); d = c.Pd(g, d); var k = c.Ye(b, c.Fc(h, d)), m = c.Fc(b, h), n = c.Ye(b, h), q = c.Fc(f, h), r = c.Ye(f, h), t = c.Fc(f, c.Fc(h, d)), f = c.Ye(f, c.Ye(h, d)), s = c.lc.BYTES_PER_ELEMENT, u = this.Ck, v = this.kb; v.push(new c.lc({ j: c.Fc(b, c.Ye(h, d)), v: e, n: c.Qa(c.dh(c.Ye(a, g))) }, { j: k, v: e, n: c.Qa(c.Fc(a, g)) }, { j: m, v: e, n: c.Qa(c.dh(a)) }, u, v.length * s)); v.push(new c.lc({ j: n, v: e, n: c.Qa(a) }, { j: k, v: e, n: c.Qa(c.Fc(a, g)) }, { j: m, v: e, n: c.Qa(c.dh(a)) }, u, v.length * s)); v.push(new c.lc({ j: n, v: e, n: c.Qa(a) }, { j: q, v: e, n: c.Qa(c.dh(a)) }, { j: m, v: e, n: c.Qa(c.dh(a)) }, u, v.length * s)); v.push(new c.lc({ j: n, v: e, n: c.Qa(a) }, { j: q, v: e, n: c.Qa(c.dh(a)) }, { j: r, v: e, n: c.Qa(a) }, u, v.length * s)); v.push(new c.lc({ j: t, v: e, n: c.Qa(c.Fc(g, a)) }, { j: q, v: e, n: c.Qa(c.dh(a)) }, { j: r, v: e, n: c.Qa(a) }, u, v.length * s)); v.push(new c.lc({ j: t, v: e, n: c.Qa(c.Fc(g, a)) }, { j: f, v: e, n: c.Qa(c.Ye(a, g)) }, { j: r, v: e, n: c.Qa(a) }, u, v.length * s)); this.qb = !0 }, $d: function(a, b, d, e) { if (null == b) this.mx(a, d, e, !0); else { null == b.a && (b.a = 255); null == e.a && (e.a = 255); d = d || this.od; d *= 0.5; b = { r: 0 | b.r, g: 0 | b.g, b: 0 | b.b, a: 0 | b.a }; e = { r: 0 | e.r, g: 0 | e.g, b: 0 | e.b, a: 0 | e.a }; var f = [], g, h, k, m, n = a.length; for (g = 0; g < n; g++) { h = c.ff(a[(g - 1 + n) % n]); k = c.ff(a[g]); m = c.ff(a[(g + 1) % n]); var q = c.Nv(c.sr(c.Fc(k, h))); k = c.Nv(c.sr(c.Fc(m, k))); f[g] = { offset: c.Pd(c.Ye(q, k), 1 / (c.PS(q, k) + 1)), ha: k } } q = 0 < d; this.ct(3 * (3 * n - 2)); var r = c.lc.BYTES_PER_ELEMENT, t = this.Ck, s = this.kb, u = !1 == q ? 0.5 : 0; for (g = 0; g < n - 2; g++) h = c.Fc(c.ff(a[0]), c.Pd(f[0].offset, u)), k = c.Fc(c.ff(a[g + 1]), c.Pd(f[g + 1].offset, u)), m = c.Fc(c.ff(a[g + 2]), c.Pd(f[g + 2].offset, u)), s.push(new c.lc({ j: h, v: b, n: c.Qa({ x: 0, y: 0 }) }, { j: k, v: b, n: c.Qa({ x: 0, y: 0 }) }, { j: m, v: b, n: c.Qa({ x: 0, y: 0 }) }, t, s.length * r)); for (g = 0; g < n; g++) { u = (g + 1) % n; h = c.ff(a[g]); k = c.ff(a[u]); m = f[g].ha; var v = f[g].offset, B = f[u].offset, u = q ? c.Fc(h, c.Pd(v, d)) : c.Fc(h, c.Pd(v, 0.5)), x = q ? c.Fc(k, c.Pd(B, d)) : c.Fc(k, c.Pd(B, 0.5)); h = q ? c.Ye(h, c.Pd(v, d)) : c.Ye(h, c.Pd(v, 0.5)); k = q ? c.Ye(k, c.Pd(B, d)) : c.Ye(k, c.Pd(B, 0.5)); q ? (s.push(new c.lc({ j: u, v: e, n: c.Qa(c.dh(m)) }, { j: x, v: e, n: c.Qa(c.dh(m)) }, { j: k, v: e, n: c.Qa(m) }, t, s.length * r)), s.push(new c.lc({ j: u, v: e, n: c.Qa(c.dh(m)) }, { j: h, v: e, n: c.Qa(m) }, { j: k, v: e, n: c.Qa(m) }, t, s.length * r))) : (s.push(new c.lc({ j: u, v: b, n: c.Qa({ x: 0, y: 0 }) }, { j: x, v: b, n: c.Qa({ x: 0, y: 0 }) }, { j: k, v: b, n: c.Qa(m) }, t, s.length * r)), s.push(new c.lc({ j: u, v: b, n: c.Qa({ x: 0, y: 0 }) }, { j: h, v: b, n: c.Qa(m) }, { j: k, v: b, n: c.Qa(m) }, t, s.length * r))) } this.qb = !0 } }, mx: function(a, b, d, e) { b = b || this.od; d = d || this.Mf; null == d.a && (d.a = 255); b *= 0.5; if (!(0 >= b)) { d = { r: 0 | d.r, g: 0 | d.g, b: 0 | d.b, a: 0 | d.a }; var f = [], g, h, k, m, n = a.length; for (g = 0; g < n; g++) { h = c.ff(a[(g - 1 + n) % n]); k = c.ff(a[g]); m = c.ff(a[(g + 1) % n]); var q = c.Nv(c.sr(c.Fc(k, h))); k = c.Nv(c.sr(c.Fc(m, k))); f[g] = { offset: c.Pd(c.Ye(q, k), 1 / (c.PS(q, k) + 1)), ha: k } } this.ct(3 * (3 * n - 2)); m = c.lc.BYTES_PER_ELEMENT; var q = this.Ck, r = this.kb; e = e ? n : n - 1; for (g = 0; g < e; g++) { var t = (g + 1) % n; h = c.ff(a[g]); k = c.ff(a[t]); var s = f[g].ha, u = f[g].offset, t = f[t].offset, v = c.Fc(h, c.Pd(u, b)); h = c.Ye(h, c.Pd(u, b)); u = c.Ye(k, c.Pd(t, b)); r.push(new c.lc({ j: v, v: d, n: c.Qa(c.dh(s)) }, { j: c.Fc(k, c.Pd(t, b)), v: d, n: c.Qa(c.dh(s)) }, { j: u, v: d, n: c.Qa(s) }, q, r.length * m)); r.push(new c.lc({ j: v, v: d, n: c.Qa(c.dh(s)) }, { j: h, v: d, n: c.Qa(s) }, { j: u, v: d, n: c.Qa(s) }, q, r.length * m)) } this.qb = !0 } }, clear: function() { this.kb.length = 0; this.qb = !0 } }); c.zd = c.F == c.ea ? c.PT : c.OT; c.zd.create = function() { return new c.zd }; c.pl = function(a) { this.type = a; this.fillColor = this.ze = null; this.lineWidth = 0; this.Lk = null; this.lineCap = "butt"; this.nm = this.wH = this.Az = !1 }; c.zd.kK = 0; c.zd.MW = 1; c.zd.ll = 2; c.Cv = -1; c.UR = function(a, b) { a.shaderProgram = b; var d = a.children; if (d) for (var e = 0; e < d.length; e++) c.UR(d[e], b) }; c.kc = c.t.extend({ Gn: 0, Ci: !1, Fd: null, yM: !1, ctor: function(a) { c.t.prototype.ctor.call(this); this.Fd = null; this.Gn = 0; this.Ci = !1; c.kc.prototype.K.call(this, a || null) }, K: null, ob: "ClippingNode", DZ: function(a) { this.Fd = a; this.Gn = 1; this.Ci = !1; c.kc.WD = !0; c.kc.WD && (c.Cv = c.m.getParameter(c.m.STENCIL_BITS), 0 >= c.Cv && c.log("Stencil buffer is not enabled."), c.kc.WD = !1); return !0 }, CZ: function(a) { this.Fd = a; this.Gn = 1; this.Ci = !1 }, ca: function() { c.t.prototype.ca.call(this); this.Fd.ca() }, Ki: function() { c.t.prototype.Ki.call(this); this.Fd.Ki() }, Og: function() { this.Fd.Og(); c.t.prototype.Og.call(this) }, xb: function() { this.Fd.xb(); c.t.prototype.xb.call(this) }, U: null, ju: function(a) { var b = a || c.m; if (1 > c.Cv) c.t.prototype.U.call(this, a); else if (this.Fd && this.Fd.visible) if (c.kc.tt = -1, c.kc.tt + 1 == c.Cv) c.kc.YF = !0, c.kc.YF && (c.log("Nesting more than " + c.Cv + "stencils is not supported. Everything will be drawn without stencil for this node and its childs."), c.kc.YF = !1), c.t.prototype.U.call(this, a); else { c.kc.tt++; var d = 1 << c.kc.tt, e = d | d - 1, f = b.isEnabled(b.STENCIL_TEST), g = b.getParameter(b.STENCIL_WRITEMASK), h = b.getParameter(b.STENCIL_FUNC), k = b.getParameter(b.STENCIL_REF), m = b.getParameter(b.STENCIL_VALUE_MASK), n = b.getParameter(b.STENCIL_FAIL), q = b.getParameter(b.STENCIL_PASS_DEPTH_FAIL), r = b.getParameter(b.STENCIL_PASS_DEPTH_PASS); b.enable(b.STENCIL_TEST); b.stencilMask(d); var t = b.getParameter(b.DEPTH_WRITEMASK); b.depthMask(!1); b.stencilFunc(b.NEVER, d, d); b.stencilOp(this.Ci ? b.REPLACE : b.ZERO, b.KEEP, b.KEEP); c.jf.dP(c.d(0, 0), c.a6(), c.color(255, 255, 255, 255)); b.stencilFunc(b.NEVER, d, d); b.stencilOp(this.Ci ? b.ZERO : b.REPLACE, b.KEEP, b.KEEP); if (1 > this.Gn) { var d = c.ge.Dc(c.yw), s = b.getUniformLocation(d.$n(), c.SK); c.gH(d.$n()); d.xv(s, this.Gn); c.UR(this.Fd, d) } c.eo(); this.transform(); this.Fd.U(); c.co(); b.depthMask(t); b.stencilFunc(b.EQUAL, e, e); b.stencilOp(b.KEEP, b.KEEP, b.KEEP); c.t.prototype.U.call(this, a); b.stencilFunc(h, k, m); b.stencilOp(n, q, r); b.stencilMask(g); f || b.disable(b.STENCIL_TEST); c.kc.tt-- } else this.Ci && c.t.prototype.U.call(this, a) }, Cn: function(a) { if (this.Fd && this.Fd.visible) { a = a || c.m; var b = a.canvas; if (this.bD() || this.Fd instanceof c.P) { var d = c.kc.sZ(); d.width = b.width; d.height = b.height; d.getContext("2d").drawImage(b, 0, 0); a.save(); c.t.prototype.U.call(this, a); a.globalCompositeOperation = this.Ci ? "destination-out" : "destination-in"; this.transform(a); this.Fd.U(); a.restore(); a.save(); a.setTransform(1, 0, 0, 1, 0, 0); a.globalCompositeOperation = "destination-over"; a.drawImage(d, 0, 0) } else { var d = this.u, e; a.save(); this.transform(a); this.Fd.U(a); this.Ci && (a.save(), a.setTransform(1, 0, 0, 1, 0, 0), a.moveTo(0, 0), a.lineTo(0, b.height), a.lineTo(b.width, b.height), a.lineTo(b.width, 0), a.lineTo(0, 0), a.restore()); a.clip(); this.bD(!0); var f = d.length; if (0 < f) { this.jd(); for (b = 0; b < f; b++) if (e = d[b], 0 > e.Jb) e.U(a); else break; for (this.Y(a); b < f; b++) d[b].U(a) } else this.Y(a); this.bD(!1) } a.restore() } else this.Ci && c.t.prototype.U.call(this, a) }, a4: function() { return this.Fd }, vI: null, o0: function(a) { this.Fd = a }, n0: function(a) { this.Fd = a; var b = c.m; !(a instanceof c.P) && a instanceof c.zd && (a.Y = function() { var d = c.view.ma, e = c.view.Na; b.beginPath(); for (var f = 0; f < a.kb.length; f++) { var g = a.kb[f].ze, h = g[0]; b.moveTo(h.x * d, -h.y * e); for (var h = 1, k = g.length; h < k; h++) b.lineTo(g[h].x * d, -g[h].y * e) } }) }, Yea: function() { return this.Gn }, Nma: function(a) { this.Gn = a }, gia: function() { return this.Ci }, xna: function(a) { this.Ci = a }, bD: function(a) { if (!0 === a || !1 === a) c.kc.prototype.yM = a; return c.kc.prototype.yM } }); p = c.kc.prototype; c.F === c.ea ? (p.K = p.DZ, p.U = p.ju, p.vI = p.o0) : (p.K = p.CZ, p.U = p.Cn, p.vI = p.n0); c.i(p, "stencil", p.a4, p.vI); c.kc.WD = null; c.kc.YF = null; c.kc.tt = null; c.kc.PN = null; c.kc.sZ = function() { return c.kc.PN || (c.kc.PN = document.createElement("canvas")) }; c.kc.create = function(a) { return new c.kc(a) }; c.Go = c.qa.extend({ vl: !1, nj: 0, aa: null, O: null, vh: null, xp: null, en: !1, Sb: null, mD: 0, qb: !1, ctor: function(a, b, d) { c.fD(); this.vl = !1; this.nj = 0; this.O = this.aa = null; this.vh = c.d(0, 0); this.xp = null; this.en = !1; this.Sb = null; this.mD = 0; this.qb = !1; void 0 !== a && this.wz(a, b, d) }, fg: function() { return this.vl }, setActive: function(a) { this.vl = a; a || (a = c.L, a.so(a.vj())) }, Sga: function() { return this.nj }, W7: function(a) { this.nj = a }, s3: function() { return c.size(this.aa.width, this.aa.height) }, tna: function(a) { this.aa.width = parseInt(a.width); this.aa.height = parseInt(a.height) }, aH: function() { return c.d(this.vh.x, this.vh.y) }, koa: function(a) { this.vh.x = a.x; this.vh.y = a.y }, uia: function() { return this.en }, roa: function(a) { this.en != a && (this.en = a, this.Ry()) }, wz: function(a, b, d) { if (!b) { var e = c.L.Iu(), f = c.fl(e.width), g = c.fl(e.height), h = new Uint8Array(f * g * 4); if (!h) return c.log("cocos2d: CCGrid: not enough memory."), !1; b = new c.ia; b.Mu(h, c.ia.Yj, f, g, e); if (!b) return c.log("cocos2d: CCGrid: error creating texture"), !1 } this.vl = !1; this.nj = 0; this.aa = a; this.O = b; this.en = d || !1; this.vh.x = this.O.width / a.width; this.vh.y = this.O.height / a.height; this.xp = new c.fU; if (!this.xp) return !1; this.xp.l4(this.O); this.Sb = c.ge.Dc(c.ns); this.Ry(); return !0 }, ru: function() { this.mD = c.L.vj(); this.g7(); this.xp.F1(this.O) }, nu: function(a) { this.xp.j1(this.O); c.L.so(this.mD); if (a.Yn().Qu()) { var b = a.lb; c.Lq(b.x, b.y); a.Yn().$u(); c.Lq(-b.x, -b.y) } c.Te(this.O); this.jG() }, jG: function() { c.log("cc.GridBase.blit(): Shall be overridden in subclass.") }, cI: function() { c.log("cc.GridBase.reuse(): Shall be overridden in subclass.") }, Ry: function() { c.log("cc.GridBase.calculateVertexPoints(): Shall be overridden in subclass.") }, g7: function() { var a = c.L.Iu(); c.m.viewport(0, 0, a.width, a.height); c.Cj(c.Wj); c.Jq(); var b = new c.ga; c.BH(b, 0, a.width, 0, a.height, -1, 1); c.Kq(b); c.Cj(c.Vj); c.Jq(); c.VR() } }); c.Go.create = function(a, b, d) { return new c.Go(a, b, d) }; c.mB = c.Go.extend({ xh: null, Ya: null, nk: null, sb: null, Eg: null, td: null, xg: null, ctor: function(a, b, d) { c.Go.prototype.ctor.call(this); this.xg = this.td = this.Eg = this.sb = this.nk = this.Ya = this.xh = null; void 0 !== a && this.wz(a, b, d) }, xo: function(a) { a.x === (0 | a.x) && a.y === (0 | a.y) || c.log("cc.Grid3D.vertex() : Numbers must be integers"); a = 0 | 3 * (a.x * (this.aa.height + 1) + a.y); var b = this.Ya; return new c.xc(b[a], b[a + 1], b[a + 2]) }, Zc: function(a) { a.x === (0 | a.x) && a.y === (0 | a.y) || c.log("cc.Grid3D.originalVertex() : Numbers must be integers"); a = 0 | 3 * (a.x * (this.aa.height + 1) + a.y); var b = this.nk; return new c.xc(b[a], b[a + 1], b[a + 2]) }, fe: function(a, b) { a.x === (0 | a.x) && a.y === (0 | a.y) || c.log("cc.Grid3D.setVertex() : Numbers must be integers"); var d = 0 | 3 * (a.x * (this.aa.height + 1) + a.y), e = this.Ya; e[d] = b.x; e[d + 1] = b.y; e[d + 2] = b.z; this.qb = !0 }, jG: function() { var a = this.aa.width * this.aa.height; c.Xc(c.ke | c.Ro); this.Sb.$c(); this.Sb.zv(); var b = c.m, d = this.qb; b.bindBuffer(b.ARRAY_BUFFER, this.td); d && b.bufferData(b.ARRAY_BUFFER, this.Ya, b.DYNAMIC_DRAW); b.vertexAttribPointer(c.Ab, 3, b.FLOAT, !1, 0, 0); b.bindBuffer(b.ARRAY_BUFFER, this.Eg); d && b.bufferData(b.ARRAY_BUFFER, this.xh, b.DYNAMIC_DRAW); b.vertexAttribPointer(c.Sd, 2, b.FLOAT, !1, 0, 0); b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, this.xg); d && b.bufferData(b.ELEMENT_ARRAY_BUFFER, this.sb, b.STATIC_DRAW); b.drawElements(b.TRIANGLES, 6 * a, b.UNSIGNED_SHORT, 0); d && (this.qb = !1); c.Ng() }, cI: function() { if (0 < this.nj) { for (var a = this.nk, b = this.Ya, d = 0, e = this.Ya.length; d < e; d++) a[d] = b[d]; --this.nj } }, Ry: function() { var a = c.m, b = this.O.pixelsWidth, d = this.O.pixelsHeight, e = this.O.S.height, f = this.aa, g = (f.width + 1) * (f.height + 1); this.Ya = new Float32Array(3 * g); this.xh = new Float32Array(2 * g); this.sb = new Uint16Array(f.width * f.height * 6); this.td && a.deleteBuffer(this.td); this.td = a.createBuffer(); this.Eg && a.deleteBuffer(this.Eg); this.Eg = a.createBuffer(); this.xg && a.deleteBuffer(this.xg); this.xg = a.createBuffer(); for (var h, k, m = this.sb, n = this.xh, q = this.en, r = this.Ya, g = 0; g < f.width; ++g) for (h = 0; h < f.height; ++h) { var t = h * f.width + g; k = g * this.vh.x; var s = k + this.vh.x, u = h * this.vh.y, v = u + this.vh.y, B = g * (f.height + 1) + h, x = (g + 1) * (f.height + 1) + h, F = (g + 1) * (f.height + 1) + (h + 1), I = g * (f.height + 1) + (h + 1); m[6 * t] = B; m[6 * t + 1] = x; m[6 * t + 2] = I; m[6 * t + 3] = x; m[6 * t + 4] = F; m[6 * t + 5] = I; var t = [3 * B, 3 * x, 3 * F, 3 * I], y = [{ x: k, y: u, z: 0 }, { x: s, y: u, z: 0 }, { x: s, y: v, z: 0 }, { x: k, y: v, z: 0 }], B = [2 * B, 2 * x, 2 * F, 2 * I], s = [c.d(k, u), c.d(s, u), c.d(s, v), c.d(k, v)]; for (k = 0; 4 > k; ++k) r[t[k]] = y[k].x, r[t[k] + 1] = y[k].y, r[t[k] + 2] = y[k].z, n[B[k]] = s[k].x / b, n[B[k] + 1] = q ? (e - s[k].y) / d : s[k].y / d } this.nk = new Float32Array(this.Ya); a.bindBuffer(a.ARRAY_BUFFER, this.td); a.bufferData(a.ARRAY_BUFFER, this.Ya, a.DYNAMIC_DRAW); a.bindBuffer(a.ARRAY_BUFFER, this.Eg); a.bufferData(a.ARRAY_BUFFER, this.xh, a.DYNAMIC_DRAW); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.xg); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.sb, a.STATIC_DRAW); this.qb = !0 } }); c.mB.create = function(a, b, d) { return new c.mB(a, b, d) }; c.oC = c.Go.extend({ xh: null, Ya: null, nk: null, sb: null, Eg: null, td: null, xg: null, ctor: function(a, b, d) { c.Go.prototype.ctor.call(this); this.xg = this.td = this.Eg = this.sb = this.nk = this.Ya = this.xh = null; void 0 !== a && this.wz(a, b, d) }, yS: function(a) { a.x === (0 | a.x) && a.y === (0 | a.y) || c.log("cc.TiledGrid3D.tile() : Numbers must be integers"); a = 12 * (this.aa.height * a.x + a.y); var b = this.Ya; return new c.uw(new c.xc(b[a], b[a + 1], b[a + 2]), new c.xc(b[a + 3], b[a + 4], b[a + 5]), new c.xc(b[a + 6], b[a + 7], b[a + 8]), new c.xc(b[a + 9], b[a + 10], b[a + 11])) }, Pg: function(a) { a.x === (0 | a.x) && a.y === (0 | a.y) || c.log("cc.TiledGrid3D.originalTile() : Numbers must be integers"); a = 12 * (this.aa.height * a.x + a.y); var b = this.nk; return new c.uw(new c.xc(b[a], b[a + 1], b[a + 2]), new c.xc(b[a + 3], b[a + 4], b[a + 5]), new c.xc(b[a + 6], b[a + 7], b[a + 8]), new c.xc(b[a + 9], b[a + 10], b[a + 11])) }, Df: function(a, b) { a.x === (0 | a.x) && a.y === (0 | a.y) || c.log("cc.TiledGrid3D.setTile() : Numbers must be integers"); var d = 12 * (this.aa.height * a.x + a.y), e = this.Ya; e[d] = b.I.x; e[d + 1] = b.I.y; e[d + 2] = b.I.z; e[d + 3] = b.R.x; e[d + 4] = b.R.y; e[d + 5] = b.R.z; e[d + 6] = b.Q.x; e[d + 7] = b.Q.y; e[d + 8] = b.Q.z; e[d + 9] = b.N.x; e[d + 10] = b.N.y; e[d + 11] = b.N.z; this.qb = !0 }, jG: function() { var a = this.aa.width * this.aa.height; this.Sb.$c(); this.Sb.zv(); var b = c.m, d = this.qb; c.Xc(c.ke | c.Ro); b.bindBuffer(b.ARRAY_BUFFER, this.td); d && b.bufferData(b.ARRAY_BUFFER, this.Ya, b.DYNAMIC_DRAW); b.vertexAttribPointer(c.Ab, 3, b.FLOAT, !1, 0, this.Ya); b.bindBuffer(b.ARRAY_BUFFER, this.Eg); d && b.bufferData(b.ARRAY_BUFFER, this.xh, b.DYNAMIC_DRAW); b.vertexAttribPointer(c.Sd, 2, b.FLOAT, !1, 0, this.xh); b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, this.xg); d && b.bufferData(b.ELEMENT_ARRAY_BUFFER, this.sb, b.STATIC_DRAW); b.drawElements(b.TRIANGLES, 6 * a, b.UNSIGNED_SHORT, 0); d && (this.qb = !1); c.Ng() }, cI: function() { if (0 < this.nj) { for (var a = this.Ya, b = this.nk, d = 0; d < a.length; d++) b[d] = a[d]; --this.nj } }, Ry: function() { var a = this.O.pixelsWidth, b = this.O.pixelsHeight, d = this.O.S.height, e = this.aa, f = e.width * e.height; this.Ya = new Float32Array(12 * f); this.xh = new Float32Array(8 * f); this.sb = new Uint16Array(6 * f); var g = c.m; this.td && g.deleteBuffer(this.td); this.td = g.createBuffer(); this.Eg && g.deleteBuffer(this.Eg); this.Eg = g.createBuffer(); this.xg && g.deleteBuffer(this.xg); this.xg = g.createBuffer(); var h, k, m = 0, n = this.vh, q = this.Ya, r = this.xh, t = this.en; for (h = 0; h < e.width; h++) for (k = 0; k < e.height; k++) { var s = h * n.x, u = s + n.x, v = k * n.y, B = v + n.y; q[12 * m] = s; q[12 * m + 1] = v; q[12 * m + 2] = 0; q[12 * m + 3] = u; q[12 * m + 4] = v; q[12 * m + 5] = 0; q[12 * m + 6] = s; q[12 * m + 7] = B; q[12 * m + 8] = 0; q[12 * m + 9] = u; q[12 * m + 10] = B; q[12 * m + 11] = 0; var x = v, F = B; t && (x = d - v, F = d - B); r[8 * m] = s / a; r[8 * m + 1] = x / b; r[8 * m + 2] = u / a; r[8 * m + 3] = x / b; r[8 * m + 4] = s / a; r[8 * m + 5] = F / b; r[8 * m + 6] = u / a; r[8 * m + 7] = F / b; m++ } a = this.sb; for (h = 0; h < f; h++) a[6 * h + 0] = 4 * h + 0, a[6 * h + 1] = 4 * h + 1, a[6 * h + 2] = 4 * h + 2, a[6 * h + 3] = 4 * h + 1, a[6 * h + 4] = 4 * h + 2, a[6 * h + 5] = 4 * h + 3; this.nk = new Float32Array(this.Ya); g.bindBuffer(g.ARRAY_BUFFER, this.td); g.bufferData(g.ARRAY_BUFFER, this.Ya, g.DYNAMIC_DRAW); g.bindBuffer(g.ARRAY_BUFFER, this.Eg); g.bufferData(g.ARRAY_BUFFER, this.xh, g.DYNAMIC_DRAW); g.bindBuffer(g.ELEMENT_ARRAY_BUFFER, this.xg); g.bufferData(g.ELEMENT_ARRAY_BUFFER, this.sb, g.DYNAMIC_DRAW); this.qb = !0 } }); c.oC.create = function(a, b, d) { return new c.oC(a, b, d) }; c.fU = c.qa.extend({ Jw: null, ij: null, ZM: null, wp: null, ctor: function() { c.fD(); this.wp = c.m; this.ZM = [0, 0, 0, 0]; this.ij = null; this.Jw = this.wp.createFramebuffer() }, l4: function(a) { var b = this.wp; this.ij = b.getParameter(b.FRAMEBUFFER_BINDING); b.bindFramebuffer(b.FRAMEBUFFER, this.Jw); b.framebufferTexture2D(b.FRAMEBUFFER, b.COLOR_ATTACHMENT0, b.TEXTURE_2D, a.te, 0); b.checkFramebufferStatus(b.FRAMEBUFFER) != b.FRAMEBUFFER_COMPLETE && c.log("Frame Grabber: could not attach texture to frmaebuffer"); b.bindFramebuffer(b.FRAMEBUFFER, this.ij) }, F1: function() { var a = this.wp; this.ij = a.getParameter(a.FRAMEBUFFER_BINDING); a.bindFramebuffer(a.FRAMEBUFFER, this.Jw); this.ZM = a.getParameter(a.COLOR_CLEAR_VALUE); a.clearColor(0, 0, 0, 0); a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT) }, j1: function() { var a = this.wp; a.bindFramebuffer(a.FRAMEBUFFER, this.ij); a.colorMask(!0, !0, !0, !0) }, zda: function() { this.wp.deleteFramebuffer(this.Jw) } }); c.zo = -1; c.yd = c.qa.extend({ originalTarget: null, target: null, tag: c.zo, ctor: function() { this.target = this.originalTarget = null; this.tag = c.zo }, copy: function() { c.log("copy is deprecated. Please use clone instead."); return this.k() }, k: function() { var a = new c.yd; a.originalTarget = null; a.target = null; a.tag = this.tag; return a }, Bh: function() { return !0 }, B: function(a) { this.target = this.originalTarget = a }, stop: function() { this.target = null }, step: function() { c.log("[Action step]. override me") }, update: function() { c.log("[Action update]. override me") }, jha: function() { return this.target }, wI: function(a) { this.target = a }, Bga: function() { return this.originalTarget }, Sna: function(a) { this.originalTarget = a }, Dq: function() { return this.tag }, to: function(a) { this.tag = a }, nA: function() {}, Lj: function() {} }); c.yd.create = function() { return new c.yd }; c.Uj = c.yd.extend({ p: 0, ctor: function() { c.yd.prototype.ctor.call(this); this.p = 0 }, zq: function() { return this.p * (this.rc || 1) }, Tg: function(a) { this.p = a }, reverse: function() { c.log("cocos2d: FiniteTimeAction#reverse: Implement me"); return null }, k: function() { return new c.Uj } }); c.rs = c.yd.extend({ Me: 0, tb: null, ctor: function(a, b) { c.yd.prototype.ctor.call(this); this.Me = 0; this.tb = null; a && this.fa(a, b) }, gz: function() { return this.Me }, Bf: function(a) { this.Me = a }, fa: function(a, b) { if (!a) throw "cc.Speed.initWithAction(): action must be non nil"; this.tb = a; this.Me = b; return !0 }, k: function() { var a = new c.rs; a.fa(this.tb.k(), this.Me); return a }, B: function(a) { c.yd.prototype.B.call(this, a); this.tb.B(a) }, stop: function() { this.tb.stop(); c.yd.prototype.stop.call(this) }, step: function(a) { this.tb.step(a * this.Me) }, Bh: function() { return this.tb.Bh() }, reverse: function() { return c.rs.create(this.tb.reverse(), this.Me) }, PR: function(a) { this.tb != a && (this.tb = a) }, VG: function() { return this.tb } }); c.rs.create = function(a, b) { return new c.rs(a, b) }; c.nw = c.yd.extend({ sp: null, Zo: !1, Yw: !1, Cx: null, gt: null, ho: 0, oo: 0, vo: 0, Hn: 0, aG: null, ctor: function(a, b) { c.yd.prototype.ctor.call(this); this.sp = null; this.Yw = this.Zo = !1; this.gt = this.Cx = null; this.Hn = this.vo = this.oo = this.ho = 0; this.aG = c.rect(0, 0, 0, 0); a && (b ? this.Hq(a, b) : this.Hq(a)) }, k: function() { var a = new c.nw, b = this.aG; a.Hq(this.sp, new c.VJ(b.x, b.y, b.width, b.height)); return a }, aia: function() { return this.Zo }, Rma: function(a) { this.Zo = a }, Hq: function(a, b) { if (!a) throw "cc.Follow.initWithAction(): followedNode must be non nil"; b = b || c.rect(0, 0, 0, 0); this.sp = a; this.aG = b; this.Zo = !c.dy(b); this.Yw = !1; var d = c.L.V; this.gt = c.d(d.width, d.height); this.Cx = c.Jj(this.gt, 0.5); this.Zo && (this.ho = -(b.x + b.width - this.gt.x), this.oo = -b.x, this.vo = -b.y, this.Hn = -(b.y + b.height - this.gt.y), this.oo < this.ho && (this.oo = this.ho = (this.ho + this.oo) / 2), this.vo < this.Hn && (this.vo = this.Hn = (this.vo + this.Hn) / 2), this.vo == this.Hn && this.ho == this.oo && (this.Yw = !0)); return !0 }, step: function() { var a = this.sp.x, b = this.sp.y, a = this.Cx.x - a, b = this.Cx.y - b; this.Zo ? this.Yw || this.target.J(c.gd(a, this.ho, this.oo), c.gd(b, this.Hn, this.vo)) : this.target.J(a, b) }, Bh: function() { return !this.sp.running }, stop: function() { this.target = null; c.yd.prototype.stop.call(this) } }); c.nw.create = function(a, b) { return new c.nw(a, b) }; c.A = c.Uj.extend({ rb: 0, xx: !1, ph: null, rc: 1, Kt: !1, Np: !1, Me: 1, Qt: !1, ctor: function(a) { this.rc = this.Me = 1; this.Kt = !1; this.MAX_VALUE = 2; this.Qt = this.Np = !1; c.Uj.prototype.ctor.call(this); void 0 !== a && this.e(a) }, Efa: function() { return this.rb }, e: function(a) { this.p = 0 === a ? c.lw : a; this.rb = 0; return this.xx = !0 }, Bh: function() { return this.rb >= this.p }, Ca: function(a) { a.Kt = this.Kt; a.Me = this.Me; a.rc = this.rc; a.ph = this.ph; a.Qt = this.Qt; a.Np = this.Np }, Ke: function(a) { if (this.ph) { a.ph = []; for (var b = 0; b < this.ph.length; b++) a.ph.push(this.ph[b].reverse()) } }, k: function() { var a = new c.A(this.p); this.Ca(a); return a }, Za: function(a) { this.ph ? this.ph.length = 0 : this.ph = []; for (var b = 0; b < arguments.length; b++) this.ph.push(arguments[b]); return this }, Bd: function(a) { var b = this.ph; if (!b || 0 === b.length) return a; for (var d = 0, e = b.length; d < e; d++) a = b[d].Za(a); return a }, step: function(a) { this.xx ? (this.xx = !1, this.rb = 0) : this.rb += a; a = this.rb / (1.192092896E-7 < this.p ? this.p : 1.192092896E-7); a = 1 > a ? a : 1; this.update(0 < a ? a : 0); this.Np && 1 < this.rc && this.Bh() && (this.Kt || this.rc--, this.B(this.target), this.step(this.rb - this.p)) }, B: function(a) { c.yd.prototype.B.call(this, a); this.rb = 0; this.xx = !0 }, reverse: function() { c.log("cc.IntervalAction: reverse not implemented."); return null }, qo: function() { c.log("cc.ActionInterval.setAmplitudeRate(): it should be overridden in subclass.") }, Xn: function() { c.log("cc.ActionInterval.getAmplitudeRate(): it should be overridden in subclass."); return 0 }, speed: function(a) { if (0 >= a) return c.log("The speed parameter error"), this; this.Qt = !0; this.Me *= a; return this }, gz: function() { return this.Me }, Bf: function(a) { this.Me = a; return this }, repeat: function(a) { a = Math.round(a); if (isNaN(a) || 1 > a) return c.log("The repeat parameter error"), this; this.Np = !0; this.rc *= a; return this }, T6: function() { this.Np = !0; this.rc = this.MAX_VALUE; this.Kt = !0; return this } }); c.A.create = function(a) { return new c.A(a) }; c.La = c.A.extend({ Yi: null, TN: null, st: 0, ctor: function(a) { c.A.prototype.ctor.call(this); this.Yi = []; var b = a instanceof Array ? a : arguments, d = b.length - 1; 0 <= d && null == b[d] && c.log("parameters should not be ending with null in Javascript"); if (0 <= d) { for (var e = b[0], f = 1; f < d; f++) b[f] && (e = c.La.ak(e, b[f])); this.ao(e, b[d]) } }, ao: function(a, b) { if (!a || !b) throw "cc.Sequence.initWithTwoActions(): arguments must all be non nil"; this.e(a.p + b.p); this.Yi[0] = a; this.Yi[1] = b; return !0 }, k: function() { var a = new c.La; this.Ca(a); a.ao(this.Yi[0].k(), this.Yi[1].k()); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.TN = this.Yi[0].p / this.p; this.st = -1 }, stop: function() { -1 !== this.st && this.Yi[this.st].stop(); c.yd.prototype.stop.call(this) }, update: function(a) { a = this.Bd(a); var b = 0, d = this.TN, e = this.Yi, f = this.st; a < d ? (a = 0 !== d ? a / d : 1, 0 === b && 1 === f && (e[1].update(0), e[1].stop())) : (b = 1, a = 1 === d ? 1 : (a - d) / (1 - d), -1 === f && (e[0].B(this.target), e[0].update(1), e[0].stop()), f || (e[0].update(1), e[0].stop())); f === b && e[b].Bh() || (f !== b && e[b].B(this.target), e[b].update(a), this.st = b) }, reverse: function() { var a = c.La.ak(this.Yi[1].reverse(), this.Yi[0].reverse()); this.Ca(a); this.Ke(a); return a } }); c.La.create = function(a) { var b = a instanceof Array ? a : arguments; 0 < b.length && null == b[b.length - 1] && c.log("parameters should not be ending with null in Javascript"); for (var d = b[0], e = 1; e < b.length; e++) b[e] && (d = c.La.ak(d, b[e])); return d }; c.La.ak = function(a, b) { var d = new c.La; d.ao(a, b); return d }; c.ls = c.A.extend({ rc: 0, cm: 0, kE: 0, gL: !1, tb: null, ctor: function(a, b) { c.A.prototype.ctor.call(this); void 0 !== b && this.fa(a, b) }, fa: function(a, b) { return this.e(a.p * b) ? (this.rc = b, this.tb = a, a instanceof c.af && (this.gL = !0, this.rc -= 1), this.cm = 0, !0) : !1 }, k: function() { var a = new c.ls; this.Ca(a); a.fa(this.tb.k(), this.rc); return a }, B: function(a) { this.cm = 0; this.kE = this.tb.p / this.p; c.A.prototype.B.call(this, a); this.tb.B(a) }, stop: function() { this.tb.stop(); c.yd.prototype.stop.call(this) }, update: function(a) { a = this.Bd(a); var b = this.tb, d = this.p, e = this.rc, f = this.kE; if (a >= f) { for (; a > f && this.cm < e;) b.update(1), this.cm++, b.stop(), b.B(this.target), this.kE = f += b.p / d; 1 <= a && this.cm < e && this.cm++; this.gL || (this.cm === e ? (b.update(1), b.stop()) : b.update(a - (f - b.p / d))) } else b.update(a * e % 1) }, Bh: function() { return this.cm == this.rc }, reverse: function() { var a = c.ls.create(this.tb.reverse(), this.rc); this.Ca(a); this.Ke(a); return a }, PR: function(a) { this.tb != a && (this.tb = a) }, VG: function() { return this.tb } }); c.ls.create = function(a, b) { return new c.ls(a, b) }; c.Oo = c.A.extend({ tb: null, ctor: function(a) { c.A.prototype.ctor.call(this); this.tb = null; a && this.fa(a) }, fa: function(a) { if (!a) throw "cc.RepeatForever.initWithAction(): action must be non null"; this.tb = a; return !0 }, k: function() { var a = new c.Oo; this.Ca(a); a.fa(this.tb.k()); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.tb.B(a) }, step: function(a) { var b = this.tb; b.step(a); b.Bh() && (b.B(this.target), b.step(b.rb - b.p)) }, Bh: function() { return !1 }, reverse: function() { var a = c.Oo.create(this.tb.reverse()); this.Ca(a); this.Ke(a); return a }, PR: function(a) { this.tb != a && (this.tb = a) }, VG: function() { return this.tb } }); c.Oo.create = function(a) { return new c.Oo(a) }; c.df = c.A.extend({ mk: null, Dk: null, ctor: function(a) { c.A.prototype.ctor.call(this); this.Dk = this.mk = null; var b = a instanceof Array ? a : arguments, d = b.length - 1; 0 <= d && null == b[d] && c.log("parameters should not be ending with null in Javascript"); if (0 <= d) { for (var e = b[0], f = 1; f < d; f++) b[f] && (e = c.df.ak(e, b[f])); this.ao(e, b[d]) } }, ao: function(a, b) { if (!a || !b) throw "cc.Spawn.initWithTwoActions(): arguments must all be non null"; var d = !1, e = a.p, f = b.p; this.e(Math.max(e, f)) && (this.mk = a, this.Dk = b, e > f ? this.Dk = c.La.ak(b, c.ad.create(e - f)) : e < f && (this.mk = c.La.ak(a, c.ad.create(f - e))), d = !0); return d }, k: function() { var a = new c.df; this.Ca(a); a.ao(this.mk.k(), this.Dk.k()); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.mk.B(a); this.Dk.B(a) }, stop: function() { this.mk.stop(); this.Dk.stop(); c.yd.prototype.stop.call(this) }, update: function(a) { a = this.Bd(a); this.mk && this.mk.update(a); this.Dk && this.Dk.update(a) }, reverse: function() { var a = c.df.ak(this.mk.reverse(), this.Dk.reverse()); this.Ca(a); this.Ke(a); return a } }); c.df.create = function(a) { var b = a instanceof Array ? a : arguments; 0 < b.length && null == b[b.length - 1] && c.log("parameters should not be ending with null in Javascript"); for (var d = b[0], e = 1; e < b.length; e++) null != b[e] && (d = c.df.ak(d, b[e])); return d }; c.df.ak = function(a, b) { var d = new c.df; d.ao(a, b); return d }; c.vw = c.A.extend({ nx: 0, Rt: 0, BL: 0, sD: 0, Rp: 0, CL: 0, ctor: function(a, b, d) { c.A.prototype.ctor.call(this); void 0 !== b && this.e(a, b, d) }, e: function(a, b, d) { return c.A.prototype.e.call(this, a) ? (this.nx = b || 0, this.sD = d || this.nx, !0) : !1 }, k: function() { var a = new c.vw; this.Ca(a); a.e(this.p, this.nx, this.sD); return a }, B: function(a) { c.A.prototype.B.call(this, a); var b = a.rotationX % 360, d = this.nx - b; 180 < d && (d -= 360); - 180 > d && (d += 360); this.Rt = b; this.BL = d; this.Rp = a.rotationY % 360; a = this.sD - this.Rp; 180 < a && (a -= 360); - 180 > a && (a += 360); this.CL = a }, reverse: function() { c.log("cc.RotateTo.reverse(): it should be overridden in subclass.") }, update: function(a) { a = this.Bd(a); this.target && (this.target.rotationX = this.Rt + this.BL * a, this.target.rotationY = this.Rp + this.CL * a) } }); c.vw.create = function(a, b, d) { return new c.vw(a, b, d) }; c.Po = c.A.extend({ Th: 0, Rt: 0, Tw: 0, Rp: 0, ctor: function(a, b, d) { c.A.prototype.ctor.call(this); void 0 !== b && this.e(a, b, d) }, e: function(a, b, d) { return c.A.prototype.e.call(this, a) ? (this.Th = b || 0, this.Tw = d || this.Th, !0) : !1 }, k: function() { var a = new c.Po; this.Ca(a); a.e(this.p, this.Th, this.Tw); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.Rt = a.rotationX; this.Rp = a.rotationY }, update: function(a) { a = this.Bd(a); this.target && (this.target.rotationX = this.Rt + this.Th * a, this.target.rotationY = this.Rp + this.Tw * a) }, reverse: function() { var a = c.Po.create(this.p, -this.Th, -this.Tw); this.Ca(a); this.Ke(a); return a } }); c.Po.create = function(a, b, d) { var e = new c.Po; e.e(a, b, d); return e }; c.bf = c.A.extend({ lj: null, Uc: null, fd: null, ctor: function(a, b, d) { c.A.prototype.ctor.call(this); this.lj = c.d(0, 0); this.Uc = c.d(0, 0); this.fd = c.d(0, 0); void 0 !== b && this.e(a, b, d) }, e: function(a, b, d) { return c.A.prototype.e.call(this, a) ? (void 0 !== b.x && (d = b.y, b = b.x), this.lj.x = b, this.lj.y = d, !0) : !1 }, k: function() { var a = new c.bf; this.Ca(a); a.e(this.p, this.lj); return a }, B: function(a) { c.A.prototype.B.call(this, a); var b = a.Se(); a = a.Mg(); this.fd.x = b; this.fd.y = a; this.Uc.x = b; this.Uc.y = a }, update: function(a) { a = this.Bd(a); if (this.target) { var b = this.lj.x * a; a *= this.lj.y; var d = this.Uc; if (c.Sv) { var e = this.target.Mg(), f = this.fd; d.x = d.x + this.target.Se() - f.x; d.y = d.y + e - f.y; b += d.x; a += d.y; f.x = b; f.y = a; this.target.J(b, a) } else this.target.J(d.x + b, d.y + a) } }, reverse: function() { var a = c.bf.create(this.p, c.d(-this.lj.x, -this.lj.y)); this.Ca(a); this.Ke(a); return a } }); c.bf.create = function(a, b, d) { return new c.bf(a, b, d) }; c.ds = c.bf.extend({ ug: null, ctor: function(a, b, d) { c.bf.prototype.ctor.call(this); this.ug = c.d(0, 0); void 0 !== b && this.e(a, b, d) }, e: function(a, b, d) { return c.bf.prototype.e.call(this, a, b, d) ? (void 0 !== b.x && (d = b.y, b = b.x), this.ug.x = b, this.ug.y = d, !0) : !1 }, k: function() { var a = new c.ds; this.Ca(a); a.e(this.p, this.ug); return a }, B: function(a) { c.bf.prototype.B.call(this, a); this.lj.x = this.ug.x - a.Se(); this.lj.y = this.ug.y - a.Mg() } }); c.ds.create = function(a, b, d) { return new c.ds(a, b, d) }; c.jl = c.A.extend({ ki: 0, li: 0, py: 0, qy: 0, qx: 0, rx: 0, Kf: 0, Lf: 0, ctor: function(a, b, d) { c.A.prototype.ctor.call(this); void 0 !== d && this.e(a, b, d) }, e: function(a, b, d) { var e = !1; c.A.prototype.e.call(this, a) && (this.qx = b, this.rx = d, e = !0); return e }, k: function() { var a = new c.jl; this.Ca(a); a.e(this.p, this.qx, this.rx); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.py = a.skewX % 180; this.Kf = this.qx - this.py; 180 < this.Kf && (this.Kf -= 360); - 180 > this.Kf && (this.Kf += 360); this.qy = a.skewY % 360; this.Lf = this.rx - this.qy; 180 < this.Lf && (this.Lf -= 360); - 180 > this.Lf && (this.Lf += 360) }, update: function(a) { a = this.Bd(a); this.target.skewX = this.py + this.Kf * a; this.target.skewY = this.qy + this.Lf * a } }); c.jl.create = function(a, b, d) { return new c.jl(a, b, d) }; c.qs = c.jl.extend({ ctor: function(a, b, d) { c.jl.prototype.ctor.call(this); void 0 !== d && this.e(a, b, d) }, e: function(a, b, d) { var e = !1; c.jl.prototype.e.call(this, a, b, d) && (this.ki = b, this.li = d, e = !0); return e }, k: function() { var a = new c.qs; this.Ca(a); a.e(this.p, this.ki, this.li); return a }, B: function(a) { c.jl.prototype.B.call(this, a); this.Kf = this.ki; this.Lf = this.li; this.qx = this.py + this.Kf; this.rx = this.qy + this.Lf }, reverse: function() { var a = c.qs.create(this.p, -this.ki, -this.li); this.Ca(a); this.Ke(a); return a } }); c.qs.create = function(a, b, d) { var e = new c.qs; e && e.e(a, b, d); return e }; c.Ri = c.A.extend({ Uc: null, bj: null, nt: 0, kk: 0, fd: null, ctor: function(a, b, d, e, f) { c.A.prototype.ctor.call(this); this.Uc = c.d(0, 0); this.fd = c.d(0, 0); this.bj = c.d(0, 0); void 0 !== e && this.e(a, b, d, e, f) }, e: function(a, b, d, e, f) { return c.A.prototype.e.call(this, a) ? (void 0 === f && (f = e, e = d, d = b.y, b = b.x), this.bj.x = b, this.bj.y = d, this.nt = e, this.kk = f, !0) : !1 }, k: function() { var a = new c.Ri; this.Ca(a); a.e(this.p, this.bj, this.nt, this.kk); return a }, B: function(a) { c.A.prototype.B.call(this, a); var b = a.Se(); a = a.Mg(); this.fd.x = b; this.fd.y = a; this.Uc.x = b; this.Uc.y = a }, update: function(a) { a = this.Bd(a); if (this.target) { var b = a * this.kk % 1, b = 4 * this.nt * b * (1 - b), b = b + this.bj.y * a; a *= this.bj.x; var d = this.Uc; if (c.Sv) { var e = this.target.Mg(), f = this.fd; d.x = d.x + this.target.Se() - f.x; d.y = d.y + e - f.y; a += d.x; b += d.y; f.x = a; f.y = b; this.target.J(a, b) } else this.target.J(d.x + a, d.y + b) } }, reverse: function() { var a = c.Ri.create(this.p, c.d(-this.bj.x, -this.bj.y), this.nt, this.kk); this.Ca(a); this.Ke(a); return a } }); c.Ri.create = function(a, b, d, e, f) { return new c.Ri(a, b, d, e, f) }; c.ow = c.Ri.extend({ ug: null, ctor: function(a, b, d, e, f) { c.Ri.prototype.ctor.call(this); this.ug = c.d(0, 0); void 0 !== e && this.e(a, b, d, e, f) }, e: function(a, b, d, e, f) { return c.Ri.prototype.e.call(this, a, b, d, e, f) ? (void 0 === f && (d = b.y, b = b.x), this.ug.x = b, this.ug.y = d, !0) : !1 }, B: function(a) { c.Ri.prototype.B.call(this, a); this.bj.x = this.ug.x - this.Uc.x; this.bj.y = this.ug.y - this.Uc.y }, k: function() { var a = new c.ow; this.Ca(a); a.e(this.p, this.ug, this.nt, this.kk); return a } }); c.ow.create = function(a, b, d, e, f) { return new c.ow(a, b, d, e, f) }; c.xO = function(a, b, d, e) { return 0 * Math.pow(1 - e, 3) + 3 * e * Math.pow(1 - e, 2) * a + 3 * Math.pow(e, 2) * (1 - e) * b + Math.pow(e, 3) * d }; c.bl = c.A.extend({ rg: null, Uc: null, fd: null, ctor: function(a, b) { c.A.prototype.ctor.call(this); this.rg = []; this.Uc = c.d(0, 0); this.fd = c.d(0, 0); b && this.e(a, b) }, e: function(a, b) { return c.A.prototype.e.call(this, a) ? (this.rg = b, !0) : !1 }, k: function() { var a = new c.bl; this.Ca(a); for (var b = [], d = 0; d < this.rg.length; d++) { var e = this.rg[d]; b.push(c.d(e.x, e.y)) } a.e(this.p, b); return a }, B: function(a) { c.A.prototype.B.call(this, a); var b = a.Se(); a = a.Mg(); this.fd.x = b; this.fd.y = a; this.Uc.x = b; this.Uc.y = a }, update: function(a) { a = this.Bd(a); if (this.target) { var b = this.rg, d = c.xO(b[0].x, b[1].x, b[2].x, a); a = c.xO(b[0].y, b[1].y, b[2].y, a); b = this.Uc; if (c.Sv) { var e = this.target.Mg(), f = this.fd; b.x = b.x + this.target.Se() - f.x; b.y = b.y + e - f.y; d += b.x; a += b.y; f.x = d; f.y = a; this.target.J(d, a) } else this.target.J(b.x + d, b.y + a) } }, reverse: function() { var a = this.rg, a = [c.Ij(a[1], c.RH(a[2])), c.Ij(a[0], c.RH(a[2])), c.RH(a[2])], a = c.bl.create(this.p, a); this.Ca(a); this.Ke(a); return a } }); c.bl.create = function(a, b) { return new c.bl(a, b) }; c.Ov = c.bl.extend({ Ay: null, ctor: function(a, b) { c.bl.prototype.ctor.call(this); this.Ay = []; b && this.e(a, b) }, e: function(a, b) { return c.A.prototype.e.call(this, a) ? (this.Ay = b, !0) : !1 }, k: function() { var a = new c.Ov; this.Ca(a); a.e(this.p, this.Ay); return a }, B: function(a) { c.bl.prototype.B.call(this, a); a = this.Uc; var b = this.Ay, d = this.rg; d[0] = c.de(b[0], a); d[1] = c.de(b[1], a); d[2] = c.de(b[2], a) } }); c.Ov.create = function(a, b) { return new c.Ov(a, b) }; c.Qd = c.A.extend({ ma: 1, Na: 1, Ut: 1, Vt: 1, op: 0, pp: 0, Kf: 0, Lf: 0, ctor: function(a, b, d) { c.A.prototype.ctor.call(this); void 0 !== b && this.e(a, b, d) }, e: function(a, b, d) { return c.A.prototype.e.call(this, a) ? (this.op = b, this.pp = null != d ? d : b, !0) : !1 }, k: function() { var a = new c.Qd; this.Ca(a); a.e(this.p, this.op, this.pp); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.Ut = a.scaleX; this.Vt = a.scaleY; this.Kf = this.op - this.Ut; this.Lf = this.pp - this.Vt }, update: function(a) { a = this.Bd(a); this.target && (this.target.scaleX = this.Ut + this.Kf * a, this.target.scaleY = this.Vt + this.Lf * a) } }); c.Qd.create = function(a, b, d) { var e = new c.Qd; e.e(a, b, d); return e }; c.Qo = c.Qd.extend({ B: function(a) { c.Qd.prototype.B.call(this, a); this.Kf = this.Ut * this.op - this.Ut; this.Lf = this.Vt * this.pp - this.Vt }, reverse: function() { var a = c.Qo.create(this.p, 1 / this.op, 1 / this.pp); this.Ca(a); this.Ke(a); return a }, k: function() { var a = new c.Qo; this.Ca(a); a.e(this.p, this.op, this.pp); return a } }); c.Qo.create = function(a, b, d) { return new c.Qo(a, b, d) }; c.Br = c.A.extend({ rc: 0, bN: !1, ctor: function(a, b) { c.A.prototype.ctor.call(this); void 0 !== b && this.e(a, b) }, e: function(a, b) { return c.A.prototype.e.call(this, a) ? (this.rc = b, !0) : !1 }, k: function() { var a = new c.Br; this.Ca(a); a.e(this.p, this.rc); return a }, update: function(a) { a = this.Bd(a); if (this.target && !this.Bh()) { var b = 1 / this.rc; this.target.visible = a % b > b / 2 } }, B: function(a) { c.A.prototype.B.call(this, a); this.bN = a.visible }, stop: function() { this.target.visible = this.bN; c.A.prototype.stop.call(this) }, reverse: function() { var a = c.Br.create(this.p, this.rc); this.Ca(a); this.Ke(a); return a } }); c.Br.create = function(a, b) { var d = new c.Br; d.e(a, b); return d }; c.el = c.A.extend({ $p: 0, Ax: 0, ctor: function(a, b) { c.A.prototype.ctor.call(this); void 0 !== b && this.e(a, b) }, e: function(a, b) { return c.A.prototype.e.call(this, a) ? (this.$p = b, !0) : !1 }, k: function() { var a = new c.el; this.Ca(a); a.e(this.p, this.$p); return a }, update: function(a) { a = this.Bd(a); if (this.target.Ib) { var b = void 0 !== this.Ax ? this.Ax : 255; this.target.opacity = b + (this.$p - b) * a } }, B: function(a) { c.A.prototype.B.call(this, a); this.target.Ib && (this.Ax = a.opacity) } }); c.el.create = function(a, b) { return new c.el(a, b) }; c.Eo = c.el.extend({ TE: null, reverse: function() { var a = new c.Fo; a.e(this.p, 0); this.Ca(a); this.Ke(a); return a }, k: function() { var a = new c.Eo; this.Ca(a); a.e(this.p, this.$p); return a }, B: function(a) { this.TE && (this.$p = this.TE.Ax); c.el.prototype.B.call(this, a) } }); c.Eo.create = function(a) { return new c.Eo(a, 255) }; c.Fo = c.el.extend({ reverse: function() { var a = new c.Eo; a.TE = this; a.e(this.p, 255); this.Ca(a); this.Ke(a); return a }, k: function() { var a = new c.Fo; this.Ca(a); a.e(this.p, this.$p); return a } }); c.Fo.create = function(a) { var b = new c.Fo; b.e(a, 0); return b }; c.Gw = c.A.extend({ Gd: null, ed: null, ctor: function(a, b, d, e) { c.A.prototype.ctor.call(this); this.Gd = c.color(0, 0, 0); this.ed = c.color(0, 0, 0); void 0 !== e && this.e(a, b, d, e) }, e: function(a, b, d, e) { return c.A.prototype.e.call(this, a) ? (this.Gd = c.color(b, d, e), !0) : !1 }, k: function() { var a = new c.Gw; this.Ca(a); var b = this.Gd; a.e(this.p, b.r, b.g, b.b); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.target.Ib && (this.ed = this.target.color) }, update: function(a) { a = this.Bd(a); var b = this.ed, d = this.Gd; b && this.target.Ib && (this.target.color = c.color(b.r + (d.r - b.r) * a, b.g + (d.g - b.g) * a, b.b + (d.b - b.b) * a)) } }); c.Gw.create = function(a, b, d, e) { return new c.Gw(a, b, d, e) }; c.zs = c.A.extend({ lx: 0, kx: 0, jx: 0, sM: 0, rM: 0, qM: 0, ctor: function(a, b, d, e) { c.A.prototype.ctor.call(this); void 0 !== e && this.e(a, b, d, e) }, e: function(a, b, d, e) { return c.A.prototype.e.call(this, a) ? (this.lx = b, this.kx = d, this.jx = e, !0) : !1 }, k: function() { var a = new c.zs; this.Ca(a); a.e(this.p, this.lx, this.kx, this.jx); return a }, B: function(a) { c.A.prototype.B.call(this, a); a.Ib && (a = a.color, this.sM = a.r, this.rM = a.g, this.qM = a.b) }, update: function(a) { a = this.Bd(a); this.target.Ib && (this.target.color = c.color(this.sM + this.lx * a, this.rM + this.kx * a, this.qM + this.jx * a)) }, reverse: function() { var a = c.zs.create(this.p, -this.lx, -this.kx, -this.jx); this.Ca(a); this.Ke(a); return a } }); c.zs.create = function(a, b, d, e) { return new c.zs(a, b, d, e) }; c.ad = c.A.extend({ update: function() {}, reverse: function() { var a = c.ad.create(this.p); this.Ca(a); this.Ke(a); return a }, k: function() { var a = new c.ad; this.Ca(a); a.e(this.p); return a } }); c.ad.create = function(a) { return new c.ad(a) }; c.Nm = c.A.extend({ ok: null, ctor: function(a) { c.A.prototype.ctor.call(this); this.ok = null; a && this.fa(a) }, fa: function(a) { if (!a) throw "cc.ReverseTime.initWithAction(): action must be non null"; if (a == this.ok) throw "cc.ReverseTime.initWithAction(): the action was already passed in."; return c.A.prototype.e.call(this, a.p) ? (this.ok = a, !0) : !1 }, k: function() { var a = new c.Nm; this.Ca(a); a.fa(this.ok.k()); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.ok.B(a) }, update: function(a) { a = this.Bd(a); this.ok && this.ok.update(1 - a) }, reverse: function() { return this.ok.k() }, stop: function() { this.ok.stop(); c.yd.prototype.stop.call(this) } }); c.Nm.create = function(a) { return new c.Nm(a) }; c.yr = c.A.extend({ xl: null, At: 0, pE: null, ux: 0, qF: null, ctor: function(a) { c.A.prototype.ctor.call(this); this.qF = []; a && this.gQ(a) }, nP: function() { return this.xl }, j7: function(a) { this.xl = a }, gQ: function(a) { if (!a) throw "cc.Animate.initWithAnimation(): animation must be non-NULL"; var b = a.zq(); if (this.e(b * a.lk)) { this.At = 0; this.j7(a); this.pE = null; this.ux = 0; var d = this.qF, e = d.length = 0, f = b / a.rj; a = a.pe; c.gq(a, c.eh); for (var g = 0; g < a.length; g++) { var h = e * f / b, e = e + a[g].oe; d.push(h) } return !0 } return !1 }, k: function() { var a = new c.yr; this.Ca(a); a.gQ(this.xl.k()); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.xl.qn && (this.pE = a.q2()); this.ux = this.At = 0 }, update: function(a) { a = this.Bd(a); 1 > a && (a *= this.xl.lk, (0 | a) > this.ux && (this.At = 0, this.ux++), a %= 1); for (var b = this.xl.pe, d = b.length, e = this.qF, f = this.At; f < d; f++) if (e[f] <= a) this.target.xm(b[f].wj()), this.At = f + 1; else break }, reverse: function() { var a = this.xl, b = a.pe, d = []; c.gq(b, c.eh); if (0 < b.length) for (var e = b.length - 1; 0 <= e; e--) { var f = b[e]; if (!f) break; d.push(f.k()) } b = c.Em.create(d, a.oe, a.lk); b.DA(a.qn); a = c.yr.create(b); this.Ca(a); this.Ke(a); return a }, stop: function() { this.xl.qn && this.target && this.target.xm(this.pE); c.yd.prototype.stop.call(this) } }); c.yr.create = function(a) { return new c.yr(a) }; c.Ew = c.A.extend({ Is: null, tp: null, ctor: function(a, b) { c.A.prototype.ctor.call(this); b && this.Hq(a, b) }, Hq: function(a, b) { return this.e(b.p) ? (this.tp = a, this.Is = b, !0) : !1 }, k: function() { var a = new c.Ew; this.Ca(a); a.Hq(this.tp, this.Is.k()); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.Is.B(this.tp) }, stop: function() { this.Is.stop() }, update: function(a) { a = this.Bd(a); this.Is.update(a) }, Qfa: function() { return this.tp }, nna: function(a) { this.tp != a && (this.tp = a) } }); c.Ew.create = function(a, b) { return new c.Ew(a, b) }; c.af = c.Uj.extend({ Bh: function() { return !0 }, step: function() { this.update(1) }, update: function() {}, reverse: function() { return this.k() }, k: function() { return new c.af } }); c.mg = c.af.extend({ update: function() { this.target.visible = !0 }, reverse: function() { return c.Rh.create() }, k: function() { return new c.mg } }); c.mg.create = function() { return new c.mg }; c.Rh = c.af.extend({ update: function() { this.target.visible = !1 }, reverse: function() { return c.mg.create() }, k: function() { return new c.Rh } }); c.Rh.create = function() { return new c.Rh }; c.As = c.af.extend({ update: function() { this.target.visible = !this.target.visible }, reverse: function() { return new c.As }, k: function() { return new c.As } }); c.As.create = function() { return new c.As }; c.ks = c.af.extend({ Ix: !0, ctor: function(a) { c.Uj.prototype.ctor.call(this); void 0 !== a && this.K(a) }, update: function() { this.target.vm(this.Ix) }, K: function(a) { this.Ix = a; return !0 }, reverse: function() { return new c.ks(this.Ix) }, k: function() { return new c.ks(this.Ix) } }); c.ks.create = function(a) { return new c.ks(a) }; c.Yr = c.af.extend({ dc: !1, ctor: function(a) { c.Uj.prototype.ctor.call(this); this.dc = !1; void 0 !== a && this.iQ(a) }, iQ: function(a) { this.dc = a; return !0 }, update: function() { this.target.flippedX = this.dc }, reverse: function() { return c.Yr.create(!this.dc) }, k: function() { var a = new c.Yr; a.iQ(this.dc); return a } }); c.Yr.create = function(a) { return new c.Yr(a) }; c.Zr = c.af.extend({ ec: !1, ctor: function(a) { c.Uj.prototype.ctor.call(this); this.ec = !1; void 0 !== a && this.jQ(a) }, jQ: function(a) { this.ec = a; return !0 }, update: function() { this.target.flippedY = this.ec }, reverse: function() { return c.Zr.create(!this.ec) }, k: function() { var a = new c.Zr; a.jQ(this.ec); return a } }); c.Zr.create = function(a) { return new c.Zr(a) }; c.tw = c.af.extend({ ri: 0, sf: 0, ctor: function(a, b) { c.Uj.prototype.ctor.call(this); this.sf = this.ri = 0; void 0 !== a && (void 0 !== a.x && (b = a.y, a = a.x), this.oQ(a, b)) }, oQ: function(a, b) { this.ri = a; this.sf = b; return !0 }, update: function() { this.target.J(this.ri, this.sf) }, k: function() { var a = new c.tw; a.oQ(this.ri, this.sf); return a } }); c.tw.create = function(a, b) { return new c.tw(a, b) }; c.cc = c.af.extend({ tk: null, $w: null, ht: null, kp: null, ctor: function(a, b, d) { c.Uj.prototype.ctor.call(this); void 0 !== a && (void 0 === b ? this.vz(a) : this.vz(a, b, d)) }, vz: function(a, b, d) { b ? (this.kp = d, this.$w = a, this.tk = b) : a && (this.ht = a); return !0 }, execute: function() { null != this.$w ? this.$w.call(this.tk, this.target, this.kp) : this.ht && this.ht.call(null, this.target) }, update: function() { this.execute() }, kha: function() { return this.tk }, poa: function(a) { a != this.tk && (this.tk && (this.tk = null), this.tk = a) }, k: function() { var a = new c.cc; this.tk ? a.vz(this.$w, this.tk, this.kp) : this.ht && a.vz(this.ht); return a } }); c.cc.create = function(a, b, d) { return new c.cc(a, b, d) }; c.RA = c.A.extend({ cD: 0, dD: 0, eD: 0, jM: 0, kM: 0, lM: 0, bO: 0, cO: 0, dO: 0, ctor: function() { c.A.prototype.ctor.call(this); this.dO = this.cO = this.bO = this.lM = this.kM = this.jM = this.eD = this.dD = this.cD = 0 }, B: function(a) { c.A.prototype.B.call(this, a); a = a.Yn(); var b = a.rP(); this.cD = b.x; this.dD = b.y; this.eD = b.z; b = a.wP(); this.jM = b.x; this.kM = b.y; this.lM = b.z; a = a.d4(); this.bO = a.x; this.cO = a.y; this.dO = a.z }, k: function() { return new c.RA }, reverse: function() { return c.Nm.create(this) } }); c.Ae = c.RA.extend({ nf: 0, lD: 0, Ls: 0, zL: 0, Th: 0, yL: 0, nN: 0, lN: 0, mN: 0, kN: 0, ctor: function(a, b, d, e, f, g, h) { c.RA.prototype.ctor.call(this); void 0 !== h && this.e(a, b, d, e, f, g, h) }, e: function(a, b, d, e, f, g, h) { return c.A.prototype.e.call(this, a) ? (this.nf = b, this.lD = d, this.Ls = e, this.zL = f, this.Th = g, this.yL = h, this.lN = c.ag(f), this.kN = c.ag(h), !0) : !1 }, u8: function() { var a = this.target.Yn(), b = a.wP(), d = a.rP(), a = b.x - d.x, e = b.y - d.y, b = b.z - d.z, d = Math.sqrt(Math.pow(a, 2) + Math.pow(e, 2) + Math.pow(b, 2)), f = Math.sqrt(Math.pow(a, 2) + Math.pow(e, 2)); 0 === f && (f = c.lw); 0 === d && (d = c.lw); return { K5: d / c.Dr.Ju(), v9: Math.acos(b / d), azimuth: 0 > a ? Math.PI - Math.asin(e / f) : Math.asin(e / f) } }, B: function(a) { c.A.prototype.B.call(this, a); a = this.u8(); isNaN(this.nf) && (this.nf = a.K5); isNaN(this.Ls) && (this.Ls = c.Yq(a.v9)); isNaN(this.Th) && (this.Th = c.Yq(a.azimuth)); this.nN = c.ag(this.Ls); this.mN = c.ag(this.Th) }, k: function() { var a = new c.Ae; a.e(this.p, this.nf, this.lD, this.Ls, this.zL, this.Th, this.yL); return a }, update: function(a) { a = this.Bd(a); var b = (this.nf + this.lD * a) * c.Dr.Ju(), d = this.nN + this.lN * a, e = this.mN + this.kN * a; a = Math.sin(d) * Math.cos(e) * b + this.cD; e = Math.sin(d) * Math.sin(e) * b + this.dD; b = Math.cos(d) * b + this.eD; this.target.Yn().NR(a, e, b) } }); c.Ae.create = function(a, b, d, e, f, g, h) { return new c.Ae(a, b, d, e, f, g, h) }; c.Wa = c.A.extend({ s: null, ctor: function(a) { c.A.prototype.ctor.call(this); a && this.fa(a) }, fa: function(a) { if (!a) throw "cc.ActionEase.initWithAction(): action must be non nil"; return this.e(a.zq()) ? (this.s = a, !0) : !1 }, k: function() { var a = new c.Wa; a.fa(this.s.k()); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.s.B(this.target) }, stop: function() { this.s.stop(); c.A.prototype.stop.call(this) }, update: function(a) { this.s.update(a) }, reverse: function() { return c.Wa.create(this.s.reverse()) }, VG: function() { return this.s } }); c.Wa.create = function(a) { return new c.Wa(a) }; c.Jm = c.Wa.extend({ oc: 0, ctor: function(a, b) { c.Wa.prototype.ctor.call(this); void 0 !== b && this.fa(a, b) }, aoa: function(a) { this.oc = a }, Oga: function() { return this.oc }, fa: function(a, b) { return c.Wa.prototype.fa.call(this, a) ? (this.oc = b, !0) : !1 }, k: function() { var a = new c.Jm; a.fa(this.s.k(), this.oc); return a }, reverse: function() { return c.Jm.create(this.s.reverse(), 1 / this.oc) } }); c.Jm.create = function(a, b) { return new c.Jm(a, b) }; c.hw = c.Jm.extend({ update: function(a) { this.s.update(Math.pow(a, this.oc)) }, reverse: function() { return c.hw.create(this.s.reverse(), 1 / this.oc) }, k: function() { var a = new c.hw; a.fa(this.s.k(), this.oc); return a } }); c.hw.create = function(a, b) { return new c.hw(a, b) }; c.G2 = function(a) { return { oc: a, Za: function(a) { return Math.pow(a, this.oc) }, reverse: function() { return c.G2(1 / this.oc) } } }; c.Im = c.Jm.extend({ update: function(a) { this.s.update(Math.pow(a, 1 / this.oc)) }, reverse: function() { return c.Im.create(this.s.reverse(), 1 / this.oc) }, k: function() { var a = new c.Im; a.fa(this.s.k(), this.oc); return a } }); c.Im.create = function(a, b) { return new c.Im(a, b) }; c.I2 = function(a) { return { oc: a, Za: function(a) { return Math.pow(a, 1 / this.oc) }, reverse: function() { return c.I2(1 / this.oc) } } }; c.Nr = c.Jm.extend({ update: function(a) { a *= 2; 1 > a ? this.s.update(0.5 * Math.pow(a, this.oc)) : this.s.update(1 - 0.5 * Math.pow(2 - a, this.oc)) }, k: function() { var a = new c.Nr; a.fa(this.s.k(), this.oc); return a }, reverse: function() { return c.Nr.create(this.s.reverse(), this.oc) } }); c.Nr.create = function(a, b) { return new c.Nr(a, b) }; c.H2 = function(a) { return { oc: a, Za: function(a) { a *= 2; return 1 > a ? 0.5 * Math.pow(a, this.oc) : 1 - 0.5 * Math.pow(2 - a, this.oc) }, reverse: function() { return c.H2(this.oc) } } }; c.ew = c.Wa.extend({ update: function(a) { this.s.update(0 === a ? 0 : Math.pow(2, 10 * (a - 1))) }, reverse: function() { return c.gw.create(this.s.reverse()) }, k: function() { var a = new c.ew; a.fa(this.s.k()); return a } }); c.ew.create = function(a) { return new c.ew(a) }; c.TL = { Za: function(a) { return 0 === a ? 0 : Math.pow(2, 10 * (a - 1)) }, reverse: function() { return c.VL } }; c.dea = function() { return c.TL }; c.gw = c.Wa.extend({ update: function(a) { this.s.update(1 == a ? 1 : -Math.pow(2, -10 * a) + 1) }, reverse: function() { return c.ew.create(this.s.reverse()) }, k: function() { var a = new c.gw; a.fa(this.s.k()); return a } }); c.gw.create = function(a) { return new c.gw(a) }; c.VL = { Za: function(a) { return 1 == a ? 1 : -Math.pow(2, -10 * a) + 1 }, reverse: function() { return c.TL } }; c.fea = function() { return c.VL }; c.fw = c.Wa.extend({ update: function(a) { 1 != a && 0 !== a && (a *= 2, a = 1 > a ? 0.5 * Math.pow(2, 10 * (a - 1)) : 0.5 * (-Math.pow(2, -10 * (a - 1)) + 2)); this.s.update(a) }, reverse: function() { return c.fw.create(this.s.reverse()) }, k: function() { var a = new c.fw; a.fa(this.s.k()); return a } }); c.fw.create = function(a) { return new c.fw(a) }; c.UL = { Za: function(a) { return 1 !== a && 0 !== a ? (a *= 2, 1 > a ? 0.5 * Math.pow(2, 10 * (a - 1)) : 0.5 * (-Math.pow(2, -10 * (a - 1)) + 2)) : a }, reverse: function() { return c.UL } }; c.eea = function() { return c.UL }; c.iw = c.Wa.extend({ update: function(a) { a = 0 === a || 1 === a ? a : -1 * Math.cos(a * Math.PI / 2) + 1; this.s.update(a) }, reverse: function() { return c.kw.create(this.s.reverse()) }, k: function() { var a = new c.iw; a.fa(this.s.k()); return a } }); c.iw.create = function(a) { return new c.iw(a) }; c.eM = { Za: function(a) { return 0 === a || 1 === a ? a : -1 * Math.cos(a * Math.PI / 2) + 1 }, reverse: function() { return c.gM } }; c.pea = function() { return c.eM }; c.kw = c.Wa.extend({ update: function(a) { a = 0 === a || 1 === a ? a : Math.sin(a * Math.PI / 2); this.s.update(a) }, reverse: function() { return c.iw.create(this.s.reverse()) }, k: function() { var a = new c.kw; a.fa(this.s.k()); return a } }); c.kw.create = function(a) { return new c.kw(a) }; c.gM = { Za: function(a) { return 0 === a || 1 == a ? a : Math.sin(a * Math.PI / 2) }, reverse: function() { return c.eM } }; c.rea = function() { return c.gM }; c.jw = c.Wa.extend({ update: function(a) { a = 0 === a || 1 === a ? a : -0.5 * (Math.cos(Math.PI * a) - 1); this.s.update(a) }, k: function() { var a = new c.jw; a.fa(this.s.k()); return a }, reverse: function() { return c.jw.create(this.s.reverse()) } }); c.jw.create = function(a) { return new c.jw(a) }; c.fM = { Za: function(a) { return 0 === a || 1 === a ? a : -0.5 * (Math.cos(Math.PI * a) - 1) }, reverse: function() { return c.fM } }; c.qea = function() { return c.fM }; c.Bo = c.Wa.extend({ Qb: 0.3, ctor: function(a, b) { c.Wa.prototype.ctor.call(this); a && this.fa(a, b) }, Gga: function() { return this.Qb }, Xna: function(a) { this.Qb = a }, fa: function(a, b) { c.Wa.prototype.fa.call(this, a); this.Qb = null == b ? 0.3 : b; return !0 }, reverse: function() { c.log("cc.EaseElastic.reverse(): it should be overridden in subclass."); return null }, k: function() { var a = new c.Bo; a.fa(this.s.k(), this.Qb); return a } }); c.Bo.create = function(a, b) { return new c.Bo(a, b) }; c.bw = c.Bo.extend({ update: function(a) { var b = 0; 0 === a || 1 === a ? b = a : (b = this.Qb / 4, a -= 1, b = -Math.pow(2, 10 * a) * Math.sin((a - b) * Math.PI * 2 / this.Qb)); this.s.update(b) }, reverse: function() { return c.dw.create(this.s.reverse(), this.Qb) }, k: function() { var a = new c.bw; a.fa(this.s.k(), this.Qb); return a } }); c.bw.create = function(a, b) { return new c.bw(a, b) }; c.RL = { Za: function(a) { if (0 === a || 1 === a) return a; a -= 1; return -Math.pow(2, 10 * a) * Math.sin((a - 0.075) * Math.PI * 2 / 0.3) }, reverse: function() { return c.SL } }; c.D2 = function(a) { return a && 0.3 !== a ? { Qb: a, Za: function(a) { if (0 === a || 1 === a) return a; a -= 1; return -Math.pow(2, 10 * a) * Math.sin((a - this.Qb / 4) * Math.PI * 2 / this.Qb) }, reverse: function() { return c.F2(this.Qb) } } : c.RL }; c.dw = c.Bo.extend({ update: function(a) { var b = 0, b = 0 === a || 1 == a ? a : Math.pow(2, -10 * a) * Math.sin((a - this.Qb / 4) * Math.PI * 2 / this.Qb) + 1; this.s.update(b) }, reverse: function() { return c.bw.create(this.s.reverse(), this.Qb) }, k: function() { var a = new c.dw; a.fa(this.s.k(), this.Qb); return a } }); c.dw.create = function(a, b) { return new c.dw(a, b) }; c.SL = { Za: function(a) { return 0 === a || 1 === a ? a : Math.pow(2, -10 * a) * Math.sin((a - 0.075) * Math.PI * 2 / 0.3) + 1 }, reverse: function() { return c.RL } }; c.F2 = function(a) { return a && 0.3 !== a ? { Qb: a, Za: function(a) { return 0 === a || 1 === a ? a : Math.pow(2, -10 * a) * Math.sin((a - this.Qb / 4) * Math.PI * 2 / this.Qb) + 1 }, reverse: function() { return c.D2(this.Qb) } } : c.SL }; c.cw = c.Bo.extend({ update: function(a) { var b = 0, b = this.Qb; if (0 === a || 1 == a) b = a; else { b || (b = this.Qb = 0.3 * 1.5); var d = b / 4; a = 2 * a - 1; b = 0 > a ? -0.5 * Math.pow(2, 10 * a) * Math.sin((a - d) * Math.PI * 2 / b) : Math.pow(2, -10 * a) * Math.sin((a - d) * Math.PI * 2 / b) * 0.5 + 1 } this.s.update(b) }, reverse: function() { return c.cw.create(this.s.reverse(), this.Qb) }, k: function() { var a = new c.cw; a.fa(this.s.k(), this.Qb); return a } }); c.cw.create = function(a, b) { return new c.cw(a, b) }; c.E2 = function(a) { return { Qb: a || 0.3, Za: function(a) { var d = 0, d = this.Qb; if (0 === a || 1 === a) d = a; else { d || (d = this.Qb = 0.3 * 1.5); var e = d / 4; a = 2 * a - 1; d = 0 > a ? -0.5 * Math.pow(2, 10 * a) * Math.sin((a - e) * Math.PI * 2 / d) : Math.pow(2, -10 * a) * Math.sin((a - e) * Math.PI * 2 / d) * 0.5 + 1 } return d }, reverse: function() { return c.E2(this.Qb) } } }; c.Hm = c.Wa.extend({ Qy: function(a) { if (a < 1 / 2.75) return 7.5625 * a * a; if (a < 2 / 2.75) return a -= 1.5 / 2.75, 7.5625 * a * a + 0.75; if (a < 2.5 / 2.75) return a -= 2.25 / 2.75, 7.5625 * a * a + 0.9375; a -= 2.625 / 2.75; return 7.5625 * a * a + 0.984375 }, k: function() { var a = new c.Hm; a.fa(this.s.k()); return a }, reverse: function() { return c.Hm.create(this.s.reverse()) } }); c.Hm.create = function(a) { return new c.Hm(a) }; c.Zv = c.Hm.extend({ update: function(a) { this.s.update(1 - this.Qy(1 - a)) }, reverse: function() { return c.aw.create(this.s.reverse()) }, k: function() { var a = new c.Zv; a.fa(this.s.k()); return a } }); c.Zv.create = function(a) { return new c.Zv(a) }; c.Xw = function(a) { if (a < 1 / 2.75) return 7.5625 * a * a; if (a < 2 / 2.75) return a -= 1.5 / 2.75, 7.5625 * a * a + 0.75; if (a < 2.5 / 2.75) return a -= 2.25 / 2.75, 7.5625 * a * a + 0.9375; a -= 2.625 / 2.75; return 7.5625 * a * a + 0.984375 }; c.IL = { Za: function(a) { return 1 - c.Xw(1 - a) }, reverse: function() { return c.KL } }; c.Vda = function() { return c.IL }; c.aw = c.Hm.extend({ update: function(a) { this.s.update(this.Qy(a)) }, reverse: function() { return c.Zv.create(this.s.reverse()) }, k: function() { var a = new c.aw; a.fa(this.s.k()); return a } }); c.aw.create = function(a) { return new c.aw(a) }; c.KL = { Za: function(a) { return c.Xw(a) }, reverse: function() { return c.IL } }; c.Xda = function() { return c.KL }; c.$v = c.Hm.extend({ update: function(a) { var b = 0, b = 0.5 > a ? 0.5 * (1 - this.Qy(1 - 2 * a)) : 0.5 * this.Qy(2 * a - 1) + 0.5; this.s.update(b) }, k: function() { var a = new c.$v; a.fa(this.s.k()); return a }, reverse: function() { return c.$v.create(this.s.reverse()) } }); c.$v.create = function(a) { return new c.$v(a) }; c.JL = { Za: function(a) { return a = 0.5 > a ? 0.5 * (1 - c.Xw(1 - 2 * a)) : 0.5 * c.Xw(2 * a - 1) + 0.5 }, reverse: function() { return c.JL } }; c.Wda = function() { return c.JL }; c.Wv = c.Wa.extend({ update: function(a) { this.s.update(0 === a || 1 == a ? a : a * a * (2.70158 * a - 1.70158)) }, reverse: function() { return c.Yv.create(this.s.reverse()) }, k: function() { var a = new c.Wv; a.fa(this.s.k()); return a } }); c.Wv.create = function(a) { return new c.Wv(a) }; c.FL = { Za: function(a) { return 0 === a || 1 === a ? a : a * a * (2.70158 * a - 1.70158) }, reverse: function() { return c.HL } }; c.Sda = function() { return c.FL }; c.Yv = c.Wa.extend({ update: function(a) { a -= 1; this.s.update(a * a * (2.70158 * a + 1.70158) + 1) }, reverse: function() { return c.Wv.create(this.s.reverse()) }, k: function() { var a = new c.Yv; a.fa(this.s.k()); return a } }); c.Yv.create = function(a) { return new c.Yv(a) }; c.HL = { Za: function(a) { a -= 1; return a * a * (2.70158 * a + 1.70158) + 1 }, reverse: function() { return c.FL } }; c.Uda = function() { return c.HL }; c.Xv = c.Wa.extend({ update: function(a) { a *= 2; 1 > a ? this.s.update(a * a * (3.5949095 * a - 2.5949095) / 2) : (a -= 2, this.s.update(a * a * (3.5949095 * a + 2.5949095) / 2 + 1)) }, k: function() { var a = new c.Xv; a.fa(this.s.k()); return a }, reverse: function() { return c.Xv.create(this.s.reverse()) } }); c.Xv.create = function(a) { return new c.Xv(a) }; c.GL = { Za: function(a) { a *= 2; if (1 > a) return a * a * (3.5949095 * a - 2.5949095) / 2; a -= 2; return a * a * (3.5949095 * a + 2.5949095) / 2 + 1 }, reverse: function() { return c.GL } }; c.Tda = function() { return c.GL }; c.Gr = c.Wa.extend({ Vx: null, Wx: null, Xx: null, Yx: null, ctor: function(a) { c.Wa.prototype.ctor.call(this, a) }, ta: function(a, b, d, e, f) { return Math.pow(1 - f, 3) * a + 3 * f * Math.pow(1 - f, 2) * b + 3 * Math.pow(f, 2) * (1 - f) * d + Math.pow(f, 3) * e }, update: function(a) { this.s.update(this.ta(this.Vx, this.Wx, this.Xx, this.Yx, a)) }, k: function() { var a = new c.Gr; a.fa(this.s.k()); a.HR(this.Vx, this.Wx, this.Xx, this.Yx); return a }, reverse: function() { var a = c.Gr.create(this.s.reverse()); a.HR(this.Yx, this.Xx, this.Wx, this.Vx); return a }, HR: function(a, b, d, e) { this.Vx = a || 0; this.Wx = b || 0; this.Xx = d || 0; this.Yx = e || 0 } }); c.Gr.create = function(a) { return new c.Gr(a) }; c.C2 = function(a, b, d, e) { return { Za: function(f) { return c.Gr.prototype.ta(a, b, d, e, f) }, reverse: function() { return c.C2(e, d, b, a) } } }; c.Or = c.Wa.extend({ ta: function(a) { return Math.pow(a, 2) }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Or; a.fa(this.s.k()); return a }, reverse: function() { return c.Or.create(this.s.reverse()) } }); c.Or.create = function(a) { return new c.Or(a) }; c.WL = { Za: c.Or.prototype.ta, reverse: function() { return c.WL } }; c.gea = function() { return c.WL }; c.Qr = c.Wa.extend({ ta: function(a) { return -a * (a - 2) }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Qr; a.fa(); return a }, reverse: function() { return c.Qr.create(this.s.reverse()) } }); c.Qr.create = function(a) { return new c.Qr(a) }; c.YL = { Za: c.Qr.prototype.ta, reverse: function() { return c.YL } }; c.iea = function() { return c.YL }; c.Pr = c.Wa.extend({ ta: function(a) { var b = a; a *= 2; 1 > a ? b = a * a * 0.5 : (--a, b = -0.5 * (a * (a - 2) - 1)); return b }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Pr; a.fa(this.s.k()); return a }, reverse: function() { return c.Pr.create(this.s.reverse()) } }); c.Pr.create = function(a) { return new c.Pr(a) }; c.XL = { Za: c.Pr.prototype.ta, reverse: function() { return c.XL } }; c.hea = function() { return c.XL }; c.Rr = c.Wa.extend({ ta: function(a) { return a * a * a * a }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Rr; a.fa(this.s.k()); return a }, reverse: function() { return c.Rr.create(this.s.reverse()) } }); c.Rr.create = function(a) { return new c.Rr(a) }; c.ZL = { Za: c.Rr.prototype.ta, reverse: function() { return c.ZL } }; c.jea = function() { return c.ZL }; c.Tr = c.Wa.extend({ ta: function(a) { a -= 1; return -(a * a * a * a - 1) }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Tr; a.fa(this.s.k()); return a }, reverse: function() { return c.Tr.create(this.s.reverse()) } }); c.Tr.create = function(a) { return new c.Tr(a) }; c.aM = { Za: c.Tr.prototype.ta, reverse: function() { return c.aM } }; c.lea = function() { return c.aM }; c.Sr = c.Wa.extend({ ta: function(a) { a *= 2; if (1 > a) return 0.5 * a * a * a * a; a -= 2; return -0.5 * (a * a * a * a - 2) }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Sr; a.fa(this.s.k()); return a }, reverse: function() { return c.Sr.create(this.s.reverse()) } }); c.Sr.create = function(a) { return new c.Sr(a) }; c.$L = { Za: c.Sr.prototype.ta, reverse: function() { return c.$L } }; c.kea = function() { return c.$L }; c.Ur = c.Wa.extend({ ta: function(a) { return a * a * a * a * a }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Ur; a.fa(this.s.k()); return a }, reverse: function() { return c.Ur.create(this.s.reverse()) } }); c.Ur.create = function(a) { return new c.Ur(a) }; c.bM = { Za: c.Ur.prototype.ta, reverse: function() { return c.bM } }; c.mea = function() { return c.bM }; c.Wr = c.Wa.extend({ ta: function(a) { a -= 1; return a * a * a * a * a + 1 }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Wr; a.fa(this.s.k()); return a }, reverse: function() { return c.Wr.create(this.s.reverse()) } }); c.Wr.create = function(a) { return new c.Wr(a) }; c.dM = { Za: c.Wr.prototype.ta, reverse: function() { return c.dM } }; c.oea = function() { return c.dM }; c.Vr = c.Wa.extend({ ta: function(a) { a *= 2; if (1 > a) return 0.5 * a * a * a * a * a; a -= 2; return 0.5 * (a * a * a * a * a + 2) }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Vr; a.fa(this.s.k()); return a }, reverse: function() { return c.Vr.create(this.s.reverse()) } }); c.Vr.create = function(a) { return new c.Vr(a) }; c.cM = { Za: c.Vr.prototype.ta, reverse: function() { return c.cM } }; c.nea = function() { return c.cM }; c.Hr = c.Wa.extend({ ta: function(a) { return -1 * (Math.sqrt(1 - a * a) - 1) }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Hr; a.fa(this.s.k()); return a }, reverse: function() { return c.Hr.create(this.s.reverse()) } }); c.Hr.create = function(a) { return new c.Hr(a) }; c.LL = { Za: c.Hr.prototype.ta, reverse: function() { return c.LL } }; c.Yda = function() { return c.LL }; c.Jr = c.Wa.extend({ ta: function(a) { a -= 1; return Math.sqrt(1 - a * a) }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Jr; a.fa(this.s.k()); return a }, reverse: function() { return c.Jr.create(this.s.reverse()) } }); c.Jr.create = function(a) { return new c.Jr(a) }; c.NL = { Za: c.Jr.prototype.ta, reverse: function() { return c.NL } }; c.$da = function() { return c.NL }; c.Ir = c.Wa.extend({ ta: function(a) { a *= 2; if (1 > a) return -0.5 * (Math.sqrt(1 - a * a) - 1); a -= 2; return 0.5 * (Math.sqrt(1 - a * a) + 1) }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Ir; a.fa(this.s.k()); return a }, reverse: function() { return c.Ir.create(this.s.reverse()) } }); c.Ir.create = function(a) { return new c.Ir(a) }; c.ML = { Za: c.Ir.prototype.ta, reverse: function() { return c.ML } }; c.Zda = function() { return c.ML }; c.Kr = c.Wa.extend({ ta: function(a) { return a * a * a }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Kr; a.fa(this.s.k()); return a }, reverse: function() { return c.Kr.create(this.s.reverse()) } }); c.Kr.create = function(a) { return new c.Kr(a) }; c.OL = { Za: c.Kr.prototype.ta, reverse: function() { return c.OL } }; c.aea = function() { return c.OL }; c.Mr = c.Wa.extend({ ta: function(a) { a -= 1; return a * a * a + 1 }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Mr; a.fa(this.s.k()); return a }, reverse: function() { return c.Mr.create(this.s.reverse()) } }); c.Mr.create = function(a) { return new c.Mr(a) }; c.QL = { Za: c.Mr.prototype.ta, reverse: function() { return c.QL } }; c.cea = function() { return c.QL }; c.Lr = c.Wa.extend({ ta: function(a) { a *= 2; if (1 > a) return 0.5 * a * a * a; a -= 2; return 0.5 * (a * a * a + 2) }, update: function(a) { this.s.update(this.ta(a)) }, k: function() { var a = new c.Lr; a.fa(this.s.k()); return a }, reverse: function() { return c.Lr.create(this.s.reverse()) } }); c.Lr.create = function(a) { return new c.Lr(a) }; c.PL = { Za: c.Lr.prototype.ta, reverse: function() { return c.PL } }; c.bea = function() { return c.PL }; c.tG = function(a, b, d, e, f, g) { var h = g * g, k = h * g, m = (1 - f) / 2; f = m * (-k + 2 * h - g); var n = m * (-k + h) + (2 * k - 3 * h + 1); g = m * (k - 2 * h + g) + (-2 * k + 3 * h); h = m * (k - h); return c.d(a.x * f + b.x * n + d.x * g + e.x * h, a.y * f + b.y * n + d.y * g + e.y * h) }; c.xR = function(a) { for (var b = [], d = a.length - 1; 0 <= d; d--) b.push(c.d(a[d].x, a[d].y)); return b }; c.Wy = function(a) { for (var b = [], d = 0; d < a.length; d++) b.push(c.d(a[d].x, a[d].y)); return b }; c.wd = function(a, b) { var d = Math.min(a.length - 1, Math.max(b, 0)); return a[d] }; c.vma = function(a) { for (var b = a.length, d = 0 | b / 2, e = 0; e < d; ++e) { var f = a[e]; a[e] = a[b - e - 1]; a[b - e - 1] = f } }; c.Ph = c.A.extend({ ei: null, AL: 0, Tp: 0, fd: null, fL: null, ctor: function(a, b, d) { c.A.prototype.ctor.call(this); this.ei = []; void 0 !== d && this.e(a, b, d) }, e: function(a, b, d) { if (!b || 0 == b.length) throw "Invalid configuration. It must at least have one control point"; return c.A.prototype.e.call(this, a) ? (this.R7(b), this.Tp = d, !0) : !1 }, k: function() { var a = new c.Ph; a.e(this.p, c.Wy(this.ei), this.Tp); return a }, B: function(a) { c.A.prototype.B.call(this, a); this.AL = 1 / (this.ei.length - 1); this.fd = c.d(this.target.Se(), this.target.Mg()); this.fL = c.d(0, 0) }, update: function(a) { a = this.Bd(a); var b, d = this.ei; if (1 == a) b = d.length - 1, a = 1; else { var e = this.AL; b = 0 | a / e; a = (a - e * b) / e } b = c.tG(c.wd(d, b - 1), c.wd(d, b - 0), c.wd(d, b + 1), c.wd(d, b + 2), this.Tp, a); c.Sv && (d = this.target.Se() - this.fd.x, a = this.target.Mg() - this.fd.y, 0 != d || 0 != a) && (e = this.fL, d = e.x + d, a = e.y + a, e.x = d, e.y = a, b.x += d, b.y += a); this.KS(b) }, reverse: function() { var a = c.xR(this.ei); return c.Ph.create(this.p, a, this.Tp) }, KS: function(a) { this.target.J(a); this.fd = a }, Hga: function() { return this.ei }, R7: function(a) { this.ei = a } }); c.Ph.create = function(a, b, d) { return new c.Ph(a, b, d) }; c.Gm = c.Ph.extend({ Uc: null, ctor: function(a, b, d) { c.Ph.prototype.ctor.call(this); this.Uc = c.d(0, 0); void 0 !== d && this.e(a, b, d) }, B: function(a) { c.Ph.prototype.B.call(this, a); this.Uc.x = a.Se(); this.Uc.y = a.Mg() }, reverse: function() { for (var a = this.ei.slice(), b, d = a[0], e = 1; e < a.length; ++e) b = a[e], a[e] = c.de(b, d), d = b; a = c.xR(a); d = a[a.length - 1]; a.pop(); d.x = -d.x; d.y = -d.y; a.unshift(d); for (e = 1; e < a.length; ++e) b = a[e], b.x = -b.x, b.y = -b.y, b.x += d.x, b.y += d.y, d = a[e] = b; return c.Gm.create(this.p, a, this.Tp) }, KS: function(a) { var b = this.Uc, d = a.x + b.x; a = a.y + b.y; this.fd.x = d; this.fd.y = a; this.target.J(d, a) }, k: function() { var a = new c.Gm; a.e(this.p, c.Wy(this.ei), this.Tp); return a } }); c.Gm.create = function(a, b, d) { return new c.Gm(a, b, d) }; c.Qv = c.Ph.extend({ ctor: function(a, b) { b && this.e(a, b) }, e: function(a, b) { return c.Ph.prototype.e.call(this, a, b, 0.5) }, k: function() { var a = new c.Qv; a.e(this.p, c.Wy(this.ei)); return a } }); c.Qv.create = function(a, b) { return new c.Qv(a, b) }; c.Pv = c.Gm.extend({ ctor: function(a, b) { c.Gm.prototype.ctor.call(this); b && this.e(a, b) }, e: function(a, b) { return c.Ph.prototype.e.call(this, a, b, 0.5) }, k: function() { var a = new c.Pv; a.e(this.p, c.Wy(this.ei)); return a } }); c.Pv.create = function(a, b) { return new c.Pv(a, b) }; c.M9 = c.qa.extend({ j9: function() {} }); c.xr = c.A.extend({ key: "", az: 0, JA: 0, zu: 0, ctor: function(a, b, d, e) { c.A.prototype.ctor.call(this); this.key = ""; void 0 !== e && this.e(a, b, d, e) }, e: function(a, b, d, e) { return c.A.prototype.e.call(this, a) ? (this.key = b, this.JA = e, this.az = d, !0) : !1 }, B: function(a) { if (!a || !a.j9) throw "cc.ActionTween.startWithTarget(): target must be non-null, and target must implement updateTweenAction function"; c.A.prototype.B.call(this, a); this.zu = this.JA - this.az }, update: function() {}, reverse: function() { return c.xr.create(this.duration, this.key, this.JA, this.az) }, k: function() { var a = new c.xr; a.e(this.p, this.key, this.az, this.JA); return a } }); c.xr.create = function(a, b, d, e) { var f = new c.xr; return f.e(a, b, d, e) ? f : null }; c.action = c.yd.create; c.speed = c.rs.create; c.Rea = c.nw.create; c.dla = c.Ae.create; c.ada = c.Ph.create; c.$ca = c.Gm.create; c.cda = c.Qv.create; c.bda = c.Pv.create; c.show = c.mg.create; c.Pha = c.Rh.create; c.wpa = c.As.create; c.lma = c.ks.create; c.Pea = c.Yr.create; c.Qea = c.Zr.create; c.Bla = c.tw.create; c.Vca = c.cc.create; c.oca = c.A.create; c.Jma = c.La.create; c.repeat = c.ls.create; c.T6 = c.Oo.create; c.Xoa = c.df.create; c.Ama = c.vw.create; c.zma = c.Po.create; c.moveBy = c.bf.create; c.moveTo = c.ds.create; c.Uoa = c.jl.create; c.Toa = c.qs.create; c.via = c.Ri.create; c.wia = c.ow.create; c.Qca = c.bl.create; c.Rca = c.Ov.create; c.Ema = c.Qd.create; c.Dma = c.Qo.create; c.blink = c.Br.create; c.Lea = c.el.create; c.Jea = c.Eo.create; c.Kea = c.Fo.create; c.tpa = c.Gw.create; c.spa = c.zs.create; c.xda = c.ad.create; c.wma = c.Nm.create; c.Hca = c.yr.create; c.kpa = c.Ew.create; c.pca = c.xr.create; c.wc = c.A.extend({ aa: null, ctor: function(a, b) { c.fD(); c.A.prototype.ctor.call(this); this.aa = c.size(0, 0); b && this.e(a, b) }, k: function() { var a = new c.wc, b = this.aa; a.e(this.p, c.size(b.width, b.height)); return a }, B: function(a) { c.A.prototype.B.call(this, a); var b = this.Fu(), d = this.target; (a = d.grid) && 0 < a.nj ? (b = a.s3(), a.fg() && b.width == this.aa.width && b.height == this.aa.height && a.cI()) : (a && a.fg() && a.setActive(!1), d.grid = b, d.grid.setActive(!0)) }, reverse: function() { return c.Nm.create(this) }, e: function(a, b) { return c.A.prototype.e.call(this, a) ? (this.aa.width = b.width, this.aa.height = b.height, !0) : !1 }, Fu: function() { c.log("cc.GridAction.getGrid(): it should be overridden in subclass.") } }); c.wc.create = function(a, b) { return new c.wc(a, b) }; c.ld = c.wc.extend({ Fu: function() { return c.mB.create(this.aa) }, xo: function(a) { return this.target.grid.xo(a) }, Zc: function(a) { return this.target.grid.Zc(a) }, fe: function(a, b) { this.target.grid.fe(a, b) } }); c.ld.create = function(a, b) { return new c.ld(a, b) }; c.Ic = c.wc.extend({ yS: function(a) { return this.target.grid.yS(a) }, Pg: function(a) { return this.target.grid.Pg(a) }, Df: function(a, b) { this.target.grid.Df(a, b) }, Fu: function() { return c.oC.create(this.aa) } }); c.Ic.create = function(a, b) { return new c.Ic(a, b) }; c.Om = c.af.extend({ B: function(a) { c.af.prototype.B.call(this, a); (a = this.target.grid) && a.fg() && a.setActive(!1) } }); c.Om.create = function() { return new c.Om }; c.WJ = c.af.extend({ rc: null, ctor: function(a) { c.af.prototype.ctor.call(this); void 0 !== a && this.E4(a) }, E4: function(a) { this.rc = a; return !0 }, B: function(a) { c.af.prototype.B.call(this, a); this.target.grid && this.target.grid.fg() && this.target.grid.W7(this.target.grid.nj + this.rc) } }); c.WJ.create = function(a) { return new c.WJ(a) }; c.XK = c.ld.extend({ Wf: 0, ib: 0, jb: 0, ctor: function(a, b, d, e) { c.wc.prototype.ctor.call(this); void 0 !== e && this.e(a, b, d, e) }, xq: function() { return this.ib }, cr: function(a) { this.ib = a }, Xn: function() { return this.jb }, qo: function(a) { this.jb = a }, e: function(a, b, d, e) { return c.ld.prototype.e.call(this, a, b) ? (this.Wf = d, this.ib = e, this.jb = 1, !0) : !1 }, update: function(a) { for (var b = this.aa, d = this.ib, e = c.d(0, 0), f = this.jb, g = this.Wf, h = 0; h < b.width + 1; ++h) for (var k = 0; k < b.height + 1; ++k) { e.x = h; e.y = k; var m = this.Zc(e); m.z += Math.sin(Math.PI * a * g * 2 + 0.01 * (m.y + m.x)) * d * f; this.fe(e, m) } } }); c.XK.create = function(a, b, d, e) { return new c.XK(a, b, d, e) }; c.lB = c.ld.extend({ ctor: function(a) { void 0 !== a ? c.wc.prototype.ctor.call(this, a, c.size(1, 1)) : c.wc.prototype.ctor.call(this) }, e: function(a) { return c.ld.prototype.e.call(this, a, c.size(1, 1)) }, wz: function(a, b) { return 1 != a.width || 1 != a.height ? (c.log("Grid size must be (1,1)"), !1) : c.ld.prototype.e.call(this, b, a) }, update: function(a) { var b = Math.PI * a; a = Math.sin(b); var d = Math.cos(b / 2), b = new c.xc, e = c.d(0, 0); e.x = e.y = 1; var f = this.Zc(e); e.x = e.y = 0; var e = this.Zc(e), g = f.x, h = e.x, k, m; g > h ? (f = c.d(0, 0), e = c.d(0, 1), k = c.d(1, 0), m = c.d(1, 1)) : (k = c.d(0, 0), m = c.d(0, 1), f = c.d(1, 0), e = c.d(1, 1), g = h); b.x = g - g * d; b.z = Math.abs(parseFloat(g * a / 4)); a = this.Zc(f); a.x = b.x; a.z += b.z; this.fe(f, a); a = this.Zc(e); a.x = b.x; a.z += b.z; this.fe(e, a); a = this.Zc(k); a.x -= b.x; a.z -= b.z; this.fe(k, a); a = this.Zc(m); a.x -= b.x; a.z -= b.z; this.fe(m, a) } }); c.lB.create = function(a) { return new c.lB(a) }; c.mJ = c.lB.extend({ ctor: function(a) { void 0 !== a ? c.wc.prototype.ctor.call(this, a, c.size(1, 1)) : c.wc.prototype.ctor.call(this) }, update: function(a) { var b = Math.PI * a; a = Math.sin(b); var d = Math.cos(b / 2), b = new c.xc, e = c.d(0, 0); e.x = e.y = 1; var f = this.Zc(e); e.x = e.y = 0; var e = this.Zc(e), g = f.y, h = e.y, k, m; g > h ? (f = c.d(0, 0), e = c.d(0, 1), k = c.d(1, 0), m = c.d(1, 1)) : (e = c.d(0, 0), f = c.d(0, 1), m = c.d(1, 0), k = c.d(1, 1), g = h); b.y = g - g * d; b.z = Math.abs(parseFloat(g * a) / 4); a = this.Zc(f); a.y = b.y; a.z += b.z; this.fe(f, a); a = this.Zc(e); a.y -= b.y; a.z -= b.z; this.fe(e, a); a = this.Zc(k); a.y = b.y; a.z += b.z; this.fe(k, a); a = this.Zc(m); a.y -= b.y; a.z -= b.z; this.fe(m, a) } }); c.mJ.create = function(a) { return new c.mJ(a) }; c.sJ = c.ld.extend({ va: null, nf: 0, Mx: 0, tY: !1, qb: !1, ctor: function(a, b, d, e) { c.wc.prototype.ctor.call(this); this.va = c.d(0, 0); void 0 !== e && this.e(a, b, d, e) }, fga: function() { return this.Mx }, Cna: function(a) { this.Mx = a }, $ma: function(a) { this.tY = a }, we: function() { return this.va }, J: function(a) { c.VH(a, this.va) || (this.va.x = a.x, this.va.y = a.y, this.qb = !0) }, e: function(a, b, d, e) { return c.ld.prototype.e.call(this, a, b) ? (this.J(d), this.nf = e, this.Mx = 0.7, this.qb = !0) : !1 }, update: function() { if (this.qb) { for (var a = this.aa.width, b = this.aa.height, d = this.nf, e = this.Mx, f = c.d(0, 0), g = c.d(0, 0), h, k, m, n = 0; n < a + 1; ++n) for (var q = 0; q < b + 1; ++q) f.x = n, f.y = q, h = this.Zc(f), g.x = this.va.x - h.x, g.y = this.va.y - h.y, k = c.rm(g), k < d && (k = d - k, k /= d, 0 == k && (k = 0.001), k = Math.log(k) * e, m = Math.exp(k) * d, k = c.rm(g), 0 < k && (g.x /= k, g.y /= k, g.x *= m, g.y *= m, h.z += c.rm(g) * e)), this.fe(f, h); this.qb = !1 } } }); c.sJ.create = function(a, b, d, e) { return new c.sJ(a, b, d, e) }; c.XJ = c.ld.extend({ va: null, nf: 0, Wf: 0, ib: 0, jb: 0, ctor: function(a, b, d, e, f, g) { c.wc.prototype.ctor.call(this); this.va = c.d(0, 0); void 0 !== g && this.e(a, b, d, e, f, g) }, we: function() { return this.va }, J: function(a) { this.va.x = a.x; this.va.y = a.y }, xq: function() { return this.ib }, cr: function(a) { this.ib = a }, Xn: function() { return this.jb }, qo: function(a) { this.jb = a }, e: function(a, b, d, e, f, g) { return c.ld.prototype.e.call(this, a, b) ? (this.J(d), this.nf = e, this.Wf = f, this.ib = g, this.jb = 1, !0) : !1 }, update: function(a) { for (var b = this.aa.width, d = this.aa.height, e = c.d(0, 0), f = this.nf, g = this.Wf, h = this.ib, k = this.jb, m, n, q = c.d(0, 0), r = 0; r < b + 1; ++r) for (var t = 0; t < d + 1; ++t) e.x = r, e.y = t, m = this.Zc(e), q.x = this.va.x - m.x, q.y = this.va.y - m.y, n = c.rm(q), n < f && (n = f - n, m.z += Math.sin(a * Math.PI * g * 2 + 0.1 * n) * h * k * Math.pow(n / f, 2)), this.fe(e, m) } }); c.XJ.create = function(a, b, d, e, f, g) { return new c.XJ(a, b, d, e, f, g) }; c.aK = c.ld.extend({ Rl: 0, Pt: !1, ctor: function(a, b, d, e) { c.wc.prototype.ctor.call(this); void 0 !== e && this.e(a, b, d, e) }, e: function(a, b, d, e) { return c.ld.prototype.e.call(this, a, b) ? (this.Rl = d, this.Pt = e, !0) : !1 }, update: function() { for (var a = this.aa.width, b = this.aa.height, d = this.Rl, e = this.Pt, f = c.d(0, 0), g, h = 0; h < a + 1; ++h) for (var k = 0; k < b + 1; ++k) f.x = h, f.y = k, g = this.Zc(f), g.x += c.Mb() % (2 * d) - d, g.y += c.Mb() % (2 * d) - d, e && (g.z += c.Mb() % (2 * d) - d), this.fe(f, g) } }); c.aK.create = function(a, b, d, e) { return new c.aK(a, b, d, e) }; c.tJ = c.ld.extend({ Wf: 0, ib: 0, jb: 0, ctor: function(a, b, d, e) { c.wc.prototype.ctor.call(this); void 0 !== e && this.e(a, b, d, e) }, xq: function() { return this.ib }, cr: function(a) { this.ib = a }, Xn: function() { return this.jb }, qo: function(a) { this.jb = a }, e: function(a, b, d, e) { return c.ld.prototype.e.call(this, a, b) ? (this.Wf = d, this.ib = e, this.jb = 1, !0) : !1 }, update: function(a) { for (var b = this.aa.width, d = this.aa.height, e = c.d(0, 0), f = this.Wf, g = this.ib, h = this.jb, k, m = 1; m < b; ++m) for (var n = 1; n < d; ++n) e.x = m, e.y = n, k = this.Zc(e), k.x += Math.sin(a * Math.PI * f * 2 + 0.01 * k.x) * g * h, k.y += Math.sin(a * Math.PI * f * 2 + 0.01 * k.y) * g * h, this.fe(e, k) } }); c.tJ.create = function(a, b, d, e) { return new c.tJ(a, b, d, e) }; c.WK = c.ld.extend({ Wf: 0, ib: 0, jb: 0, jO: !1, CM: !1, ctor: function(a, b, d, e, f, g) { c.wc.prototype.ctor.call(this); void 0 !== g && this.e(a, b, d, e, f, g) }, xq: function() { return this.ib }, cr: function(a) { this.ib = a }, Xn: function() { return this.jb }, qo: function(a) { this.jb = a }, e: function(a, b, d, e, f, g) { return c.ld.prototype.e.call(this, a, b) ? (this.Wf = d, this.ib = e, this.jb = 1, this.CM = f, this.jO = g, !0) : !1 }, update: function(a) { for (var b = this.aa.width, d = this.aa.height, e = c.d(0, 0), f = this.jO, g = this.CM, h = this.Wf, k = this.ib, m = this.jb, n, q = 0; q < b + 1; ++q) for (var r = 0; r < d + 1; ++r) e.x = q, e.y = r, n = this.Zc(e), f && (n.x += Math.sin(a * Math.PI * h * 2 + 0.01 * n.y) * k * m), g && (n.y += Math.sin(a * Math.PI * h * 2 + 0.01 * n.x) * k * m), this.fe(e, n) } }); c.WK.create = function(a, b, d, e, f, g) { return new c.WK(a, b, d, e, f, g) }; c.RK = c.ld.extend({ va: null, ZN: 0, ib: 0, jb: 0, ctor: function(a, b, d, e, f) { c.wc.prototype.ctor.call(this); this.va = c.d(0, 0); void 0 !== f && this.e(a, b, d, e, f) }, we: function() { return this.va }, J: function(a) { this.va.x = a.x; this.va.y = a.y }, xq: function() { return this.ib }, cr: function(a) { this.ib = a }, Xn: function() { return this.jb }, qo: function(a) { this.jb = a }, e: function(a, b, d, e, f) { return c.ld.prototype.e.call(this, a, b) ? (this.J(d), this.ZN = e, this.ib = f, this.jb = 1, !0) : !1 }, update: function(a) { for (var b = this.va, d = this.aa.width, e = this.aa.height, f = c.d(0, 0), g = 0.1 * this.ib * this.jb, h = this.ZN, k, m, n, q = c.d(0, 0), r = 0; r < d + 1; ++r) for (var t = 0; t < e + 1; ++t) f.x = r, f.y = t, k = this.Zc(f), q.x = r - d / 2, q.y = t - e / 2, m = c.rm(q) * Math.cos(Math.PI / 2 + a * Math.PI * h * 2) * g, n = Math.sin(m) * (k.y - b.y) + Math.cos(m) * (k.x - b.x), m = Math.cos(m) * (k.y - b.y) - Math.sin(m) * (k.x - b.x), k.x = b.x + n, k.y = b.y + m, this.fe(f, k) } }); c.RK.create = function(a, b, d, e, f) { return new c.RK(a, b, d, e, f) }; c.bK = c.Ic.extend({ Rl: 0, Pt: !1, ctor: function(a, b, d, e) { c.wc.prototype.ctor.call(this); void 0 !== e && this.e(a, b, d, e) }, e: function(a, b, d, e) { return c.Ic.prototype.e.call(this, a, b) ? (this.Rl = d, this.Pt = e, !0) : !1 }, update: function() { for (var a = this.aa, b = this.Rl, d = c.d(0, 0), e = 0; e < a.width; ++e) for (var f = 0; f < a.height; ++f) { d.x = e; d.y = f; var g = this.Pg(d); g.I.x += c.Mb() % (2 * b) - b; g.R.x += c.Mb() % (2 * b) - b; g.Q.x += c.Mb() % (2 * b) - b; g.N.x += c.Mb() % (2 * b) - b; g.I.y += c.Mb() % (2 * b) - b; g.R.y += c.Mb() % (2 * b) - b; g.Q.y += c.Mb() % (2 * b) - b; g.N.y += c.Mb() % (2 * b) - b; this.Pt && (g.I.z += c.Mb() % (2 * b) - b, g.R.z += c.Mb() % (2 * b) - b, g.Q.z += c.Mb() % (2 * b) - b, g.N.z += c.Mb() % (2 * b) - b); this.Df(d, g) } } }); c.bK.create = function(a, b, d, e) { return new c.bK(a, b, d, e) }; c.cK = c.Ic.extend({ Rl: 0, oE: !1, QN: !1, ctor: function(a, b, d, e) { c.wc.prototype.ctor.call(this); void 0 !== e && this.e(a, b, d, e) }, e: function(a, b, d, e) { return c.Ic.prototype.e.call(this, a, b) ? (this.oE = !1, this.Rl = d, this.QN = e, !0) : !1 }, update: function() { if (!1 === this.oE) { for (var a = this.aa, b = this.Rl, d, e = c.d(0, 0), f = 0; f < a.width; ++f) for (var g = 0; g < a.height; ++g) e.x = f, e.y = g, d = this.Pg(e), d.I.x += c.Mb() % (2 * b) - b, d.R.x += c.Mb() % (2 * b) - b, d.Q.x += c.Mb() % (2 * b) - b, d.N.x += c.Mb() % (2 * b) - b, d.I.y += c.Mb() % (2 * b) - b, d.R.y += c.Mb() % (2 * b) - b, d.Q.y += c.Mb() % (2 * b) - b, d.N.y += c.Mb() % (2 * b) - b, this.QN && (d.I.z += c.Mb() % (2 * b) - b, d.R.z += c.Mb() % (2 * b) - b, d.Q.z += c.Mb() % (2 * b) - b, d.N.z += c.Mb() % (2 * b) - b), this.Df(e, d); this.oE = !0 } } }); c.cK.create = function(a, b, d, e) { return new c.cK(a, b, d, e) }; function va() { this.position = c.d(0, 0); this.E8 = c.d(0, 0); this.zu = c.d(0, 0) } c.dK = c.Ic.extend({ WE: 0, Bk: 0, qj: null, qf: null, ctor: function(a, b, d) { c.wc.prototype.ctor.call(this); this.qj = []; this.qf = []; void 0 !== d && this.e(a, b, d) }, e: function(a, b, d) { return c.Ic.prototype.e.call(this, a, b) ? (this.WE = d, this.qj.length = 0, this.qf.length = 0, !0) : !1 }, DI: function(a, b) { for (var d = b - 1; 0 <= d; d--) { var e = 0 | c.Mb() % (d + 1), f = a[d]; a[d] = a[e]; a[e] = f } }, RG: function(a) { var b = this.aa, d = a.width * b.height + a.height; return c.size(this.qj[d] / b.height - a.width, this.qj[d] % b.height - a.height) }, l6: function(a, b) { var d = this.Pg(a), e = this.target.grid.aH(), f = b.position; d.I.x += f.x * e.x; d.I.y += f.y * e.y; d.R.x += f.x * e.x; d.R.y += f.y * e.y; d.Q.x += f.x * e.x; d.Q.y += f.y * e.y; d.N.x += f.x * e.x; d.N.y += f.y * e.y; this.Df(a, d) }, B: function(a) { c.Ic.prototype.B.call(this, a); a = this.aa; this.Bk = a.width * a.height; for (var b = this.qj, d = b.length = 0; d < this.Bk; ++d) b[d] = d; this.DI(b, this.Bk); for (var b = this.qf, d = b.length = 0, e = c.size(0, 0), f = 0; f < a.width; ++f) for (var g = 0; g < a.height; ++g) b[d] = new va, b[d].position = c.d(f, g), b[d].E8 = c.d(f, g), e.width = f, e.height = g, b[d].zu = this.RG(e), ++d }, update: function(a) { for (var b = 0, d = this.aa, e = this.qf, f, g = c.d(0, 0), h = 0; h < d.width; ++h) for (var k = 0; k < d.height; ++k) g.x = h, g.y = k, f = e[b], f.position.x = f.zu.width * a, f.position.y = f.zu.height * a, this.l6(g, f), ++b } }); c.dK.create = function(a, b, d) { return new c.dK(a, b, d) }; c.Xr = c.Ic.extend({ IA: function(a, b) { var d = this.aa.width * b, e = this.aa.height * b; return 0 == d + e ? 1 : Math.pow((a.width + a.height) / (d + e), 6) }, NI: function(a) { this.Df(a, this.Pg(a)) }, MI: function(a) { this.Df(a, new c.uw) }, BS: function(a, b) { var d = this.Pg(a), e = this.target.grid.aH(); d.I.x += e.x / 2 * (1 - b); d.I.y += e.y / 2 * (1 - b); d.R.x -= e.x / 2 * (1 - b); d.R.y += e.y / 2 * (1 - b); d.Q.x += e.x / 2 * (1 - b); d.Q.y -= e.y / 2 * (1 - b); d.N.x -= e.x / 2 * (1 - b); d.N.y -= e.y / 2 * (1 - b); this.Df(a, d) }, update: function(a) { for (var b = this.aa, d = c.d(0, 0), e = c.size(0, 0), f, g = 0; g < b.width; ++g) for (var h = 0; h < b.height; ++h) d.x = g, d.y = h, e.width = g, e.height = h, f = this.IA(e, a), 0 == f ? this.MI(d) : 1 > f ? this.BS(d, f) : this.NI(d) } }); c.Xr.create = function(a, b) { return new c.Xr(a, b) }; c.jB = c.Xr.extend({ IA: function(a, b) { return 0 == a.width + a.height ? 1 : Math.pow((this.aa.width * (1 - b) + this.aa.height * (1 - b)) / (a.width + a.height), 6) } }); c.jB.create = function(a, b) { return new c.jB(a, b) }; c.mw = c.Xr.extend({ IA: function(a, b) { var d = this.aa.height * b; return 0 == d ? 1 : Math.pow(a.height / d, 6) }, BS: function(a, b) { var d = this.Pg(a), e = this.target.grid.aH(); d.I.y += e.y / 2 * (1 - b); d.R.y += e.y / 2 * (1 - b); d.Q.y -= e.y / 2 * (1 - b); d.N.y -= e.y / 2 * (1 - b); this.Df(a, d) } }); c.mw.create = function(a, b) { return new c.mw(a, b) }; c.kB = c.mw.extend({ IA: function(a, b) { return 0 == a.height ? 1 : Math.pow(this.aa.height * (1 - b) / a.height, 6) } }); c.kB.create = function(a, b) { return new c.kB(a, b) }; c.rC = c.Ic.extend({ WE: null, Bk: 0, qj: null, ctor: function(a, b, d) { c.wc.prototype.ctor.call(this); this.qj = []; void 0 !== b && this.e(a, b, d) }, e: function(a, b, d) { return c.Ic.prototype.e.call(this, a, b) ? (this.WE = d || 0, this.qj.length = 0, !0) : !1 }, DI: function(a, b) { for (var d = b - 1; 0 <= d; d--) { var e = 0 | c.Mb() % (d + 1), f = a[d]; a[d] = a[e]; a[e] = f } }, NI: function(a) { this.Df(a, this.Pg(a)) }, MI: function(a) { this.Df(a, new c.uw) }, B: function(a) { c.Ic.prototype.B.call(this, a); this.Bk = this.aa.width * this.aa.height; a = this.qj; for (var b = a.length = 0; b < this.Bk; ++b) a[b] = b; this.DI(a, this.Bk) }, update: function(a) { a = 0 | a * this.Bk; for (var b = this.aa, d, e = c.d(0, 0), f = this.qj, g = 0; g < this.Bk; g++) d = f[g], e.x = 0 | d / b.height, e.y = d % (0 | b.height), g < a ? this.MI(e) : this.NI(e) } }); c.rC.create = function(a, b, d) { return new c.rC(a, b, d) }; c.YK = c.Ic.extend({ Wf: 0, ib: 0, jb: 0, ctor: function(a, b, d, e) { c.wc.prototype.ctor.call(this); void 0 !== e && this.e(a, b, d, e) }, xq: function() { return this.ib }, cr: function(a) { this.ib = a }, Xn: function() { return this.jb }, qo: function(a) { this.jb = a }, e: function(a, b, d, e) { return c.Ic.prototype.e.call(this, a, b) ? (this.Wf = d, this.ib = e, this.jb = 1, !0) : !1 }, update: function(a) { for (var b = this.aa, d = this.Wf, e = this.ib, f = this.jb, g = c.d(0, 0), h, k = 0; k < b.width; k++) for (var m = 0; m < b.height; m++) g.x = k, g.y = m, h = this.Pg(g), h.I.z = Math.sin(a * Math.PI * d * 2 + 0.01 * (h.I.y + h.I.x)) * e * f, h.R.z = h.I.z, h.Q.z = h.I.z, h.N.z = h.I.z, this.Df(g, h) } }); c.YK.create = function(a, b, d, e) { return new c.YK(a, b, d, e) }; c.qJ = c.Ic.extend({ kk: 0, ib: 0, jb: 0, ctor: function(a, b, d, e) { c.wc.prototype.ctor.call(this); void 0 !== e && this.e(a, b, d, e) }, xq: function() { return this.ib }, cr: function(a) { this.ib = a }, Xn: function() { return this.jb }, qo: function(a) { this.jb = a }, e: function(a, b, d, e) { return c.Ic.prototype.e.call(this, a, b) ? (this.kk = d, this.ib = e, this.jb = 1, !0) : !1 }, update: function(a) { var b = Math.sin(Math.PI * a * this.kk * 2) * this.ib * this.jb; a = Math.sin(Math.PI * (a * this.kk * 2 + 1)) * this.ib * this.jb; for (var d = this.aa, e = this.target.grid, f, g = c.d(0, 0), h = 0; h < d.width; h++) for (var k = 0; k < d.height; k++) g.x = h, g.y = k, f = e.Pg(g), 0 == (h + k) % 2 ? (f.I.z += b, f.R.z += b, f.Q.z += b, f.N.z += b) : (f.I.z += a, f.R.z += a, f.Q.z += a, f.N.z += a), e.Df(g, f) } }); c.qJ.create = function(a, b, d, e) { return new c.qJ(a, b, d, e) }; c.aC = c.Ic.extend({ L_: 0, lu: null, ctor: function(a, b) { c.wc.prototype.ctor.call(this); void 0 !== b && this.e(a, b) }, e: function(a, b) { this.L_ = b; return c.Ic.prototype.e.call(this, a, c.size(1, b)) }, update: function(a) { for (var b = this.aa, d = this.lu.width, e, f, g = c.d(0, 0), h = 0; h < b.height; ++h) g.y = h, e = this.Pg(g), f = 1, 0 == h % 2 && (f = -1), e.I.x += f * d * a, e.R.x += f * d * a, e.Q.x += f * d * a, e.N.x += f * d * a, this.Df(g, e) }, B: function(a) { c.Ic.prototype.B.call(this, a); this.lu = c.L.Iu() } }); c.aC.create = function(a, b) { return new c.aC(a, b) }; c.$B = c.Ic.extend({ sY: 0, lu: null, ctor: function(a, b) { c.wc.prototype.ctor.call(this); void 0 !== b && this.e(a, b) }, e: function(a, b) { this.sY = b; return c.Ic.prototype.e.call(this, a, c.size(b, 1)) }, update: function(a) { for (var b = this.aa.width, d = this.lu.height, e, f, g = c.d(0, 0), h = 0; h < b; ++h) g.x = h, e = this.Pg(g), f = 1, 0 == h % 2 && (f = -1), e.I.y += f * d * a, e.R.y += f * d * a, e.Q.y += f * d * a, e.N.y += f * d * a, this.Df(g, e) }, B: function(a) { c.Ic.prototype.B.call(this, a); this.lu = c.L.Iu() } }); c.$B.create = function(a, b) { return new c.$B(a, b) }; c.sw = c.ld.extend({ update: function(a) { var b = Math.max(0, a - 0.25), b = -100 - b * b * 500, d = +Math.PI / 2 + -Math.PI / 2 * Math.sqrt(a); a = Math.sin(d); for (var d = Math.cos(d), e = this.aa, f = c.d(0, 0), g = 0; g <= e.width; ++g) for (var h = 0; h <= e.height; ++h) { f.x = g; f.y = h; var k = this.Zc(f), m = Math.sqrt(k.x * k.x + (k.y - b) * (k.y - b)), n = m * a, q = Math.asin(k.x / m) / a, r = Math.cos(q); k.x = q <= Math.PI ? n * Math.sin(q) : 0; k.y = m + b - n * (1 - r) * a; k.z = n * (1 - r) * d / 7; 0.5 > k.z && (k.z = 0.5); this.fe(f, k) } } }); c.sw.create = function(a, b) { return new c.sw(a, b) }; c.cb = c.la.extend({ Cc: null, jj: 0, qc: null, ci: null, Vm: null, Yd: !1, ob: "ProgressTimer", H3: function() { return c.d(this.ci.x, this.ci.y) }, K7: function(a) { this.ci = c.aR(a) }, Z2: function() { return c.d(this.Vm.x, this.Vm.y) }, l7: function(a) { this.Vm = c.aR(a) }, dH: function() { return this.Cc }, L3: function() { return this.jj }, MP: function() { return this.qc }, P7: function(a) { this.jj != a && (this.jj = c.gd(a, 0, 100), this.MF()) }, ee: function() {}, Ue: function() { return !1 }, Q4: function() { return this.Yd }, ZC: function(a) { if (a < c.cb.fK) { var b = c.cb.HW; return this.Yd ? c.d(b >> 7 - (a << 1) & 1, b >> 7 - ((a << 1) + 1) & 1) : c.d(b >> (a << 1) + 1 & 1, b >> (a << 1) & 1) } return c.d(0, 0) }, Ux: null, wF: 270, tD: 270, nf: 0, jD: !1, UC: null, Hd: 0, Nc: null, Vf: null, TF: null, hu: !1, ctor: null, Us: function() { c.la.prototype.ctor.call(this); this.Cc = c.cb.Ti; this.jj = 0; this.ci = c.d(0, 0); this.Vm = c.d(0, 0); this.Yd = !1; this.qc = null; this.Ux = c.d(0, 0); this.tD = this.wF = 270; this.nf = 0; this.jD = !1; this.UC = c.rect(0, 0, 0, 0) }, Vs: function() { c.la.prototype.ctor.call(this); this.Cc = c.cb.Ti; this.jj = 0; this.ci = c.d(0, 0); this.Vm = c.d(0, 0); this.Yd = !1; this.qc = null; this.TF = c.m.createBuffer(); this.Hd = 0; this.Vf = this.Nc = null; this.hu = !1 }, Va: function(a) { this.qc.color = a; this.sc() }, Fa: function(a) { this.qc.opacity = a; this.sc() }, xf: function() { return this.qc.color }, yf: function() { return this.qc.opacity }, YR: null, f0: function(a) { this.Yd !== a && (this.Yd = a) }, g0: function(a) { this.Yd !== a && (this.Yd = a, this.Vf = this.Nc = null, this.Hd = 0) }, EA: null, l0: function(a) { this.qc != a && (this.qc = a, this.width = this.qc.width, this.height = this.qc.height) }, m0: function(a) { a && this.qc != a && (this.qc = a, this.width = a.width, this.height = a.height, this.Nc && (this.Vf = this.Nc = null, this.Hd = 0)) }, zI: null, t0: function(a) { a !== this.Cc && (this.Cc = a) }, u0: function(a) { a !== this.Cc && (this.Nc && (this.Vf = this.Nc = null, this.Hd = 0), this.Cc = a) }, sI: null, d0: function(a) { this.Yd !== a && (this.Yd = a) }, e0: function(a) { this.Yd !== a && (this.Yd = a, this.Vf = this.Nc = null, this.Hd = 0) }, Oe: function(a) { var b = this.qc; if (!b) return { da: 0, G: 0 }; var d = b.quad, e = c.d(d.I.n.da, d.I.n.G), d = c.d(d.N.n.da, d.N.n.G); b.textureRectRotated && (b = a.x, a.x = a.y, a.y = b); return { da: e.x * (1 - a.x) + d.x * a.x, G: e.y * (1 - a.y) + d.y * a.y } }, Pe: function(a) { if (!this.qc) return { x: 0, y: 0 }; var b = this.qc.quad, d = c.d(b.I.j.x, b.I.j.y), b = c.d(b.N.j.x, b.N.j.y); return { x: d.x * (1 - a.x) + b.x * a.x, y: d.y * (1 - a.y) + b.y * a.y } }, pH: null, GZ: function(a) { this.percentage = 0; this.anchorY = this.anchorX = 0.5; this.Cc = c.cb.Ti; this.Yd = !1; this.midPoint = c.d(0.5, 0.5); this.barChangeRate = c.d(1, 1); this.sprite = a; return !0 }, HZ: function(a) { this.percentage = 0; this.Vf = this.Nc = null; this.Hd = 0; this.anchorY = this.anchorX = 0.5; this.Cc = c.cb.Ti; this.Yd = !1; this.midPoint = c.d(0.5, 0.5); this.barChangeRate = c.d(1, 1); this.sprite = a; this.shaderProgram = c.ge.Dc(c.Zj); return !0 }, Y: null, Zm: function(a) { a = a || c.m; var b = this.qc; b.Gp && (a.globalCompositeOperation = "lighter"); var d = c.view.ma, e = c.view.Na; a.globalAlpha = b.Ia / 255; var f = b.ba, g = b.S, h = b.Pb, k = b.rD, m = 0 | h.x, n = -h.y - f.height, q = b.Wp; k.width = f.width * d; k.height = f.height * e; a.save(); b.dc && (m = -h.x - f.width, a.scale(-1, 1)); b.ec && (n = h.y, a.scale(1, -1)); m *= d; n *= e; this.Cc == c.cb.Rm ? (f = this.UC, a.beginPath(), a.rect(f.x * d, f.y * e, f.width * d, f.height * e), a.clip(), a.closePath()) : this.Cc == c.cb.Ti && (f = this.Ux.x * d, h = this.Ux.y * e, a.beginPath(), a.arc(f, h, this.nf * e, Math.PI / 180 * this.wF, Math.PI / 180 * this.tD, this.jD), a.lineTo(f, h), a.clip(), a.closePath()); b.O && q.vr ? (d = b.O.Ob, this.bx ? a.drawImage(d, 0, 0, q.width, q.height, m, n, k.width, k.height) : a.drawImage(d, q.x, q.y, q.width, q.height, m, n, k.width, k.height)) : 0 !== g.width && (k = this.color, a.fillStyle = "rgba(" + k.r + "," + k.g + "," + k.b + ",1)", a.fillRect(m, n, g.width * d, g.height * e)); a.restore(); c.Ng() }, fk: function(a) { a = a || c.m; if (this.Nc && this.qc) { c.av(this); var b = this.qc.xi(); c.Ai(b.src, b.W); c.Xc(c.Sm); c.Te(this.qc.texture); a.bindBuffer(a.ARRAY_BUFFER, this.TF); this.hu && (a.bufferData(a.ARRAY_BUFFER, this.Vf, a.DYNAMIC_DRAW), this.hu = !1); b = c.Rd.BYTES_PER_ELEMENT; a.vertexAttribPointer(c.Ab, 2, a.FLOAT, !1, b, 0); a.vertexAttribPointer(c.ef, 4, a.UNSIGNED_BYTE, !0, b, 8); a.vertexAttribPointer(c.Sd, 2, a.FLOAT, !1, b, 12); this.Cc === c.cb.Ti ? a.drawArrays(a.TRIANGLE_FAN, 0, this.Hd) : this.Cc == c.cb.Rm && (this.Yd ? (a.drawArrays(a.TRIANGLE_STRIP, 0, this.Hd / 2), a.drawArrays(a.TRIANGLE_STRIP, 4, this.Hd / 2), c.Lg++) : a.drawArrays(a.TRIANGLE_STRIP, 0, this.Hd)); c.Lg++ } }, U0: function() { if (this.qc) { var a, b = this.ci; a = this.jj / 100; var d = 2 * c.PI * (this.Yd ? a : 1 - a), e = c.d(b.x, 1), f = c.c6(e, b, d), d = 0; if (0 == a) f = e, d = 0; else if (1 == a) f = e, d = 4; else { var g = c.cU, h = c.cb.fK; for (a = 0; a <= h; ++a) { var k = (a + (h - 1)) % h, m = this.ZC(a % h), k = this.ZC(k); 0 == a ? k = c.dR(m, k, 1 - b.x) : 4 == a && (m = c.dR(m, k, 1 - b.x)); var n = c.d(0, 0); c.QH(m, k, b, f, n) && (0 != a && 4 != a || 0 <= n.x && 1 >= n.x) && 0 <= n.y && n.y < g && (g = n.y, d = a) } f = c.Ij(b, c.Jj(c.de(f, b), g)) } g = !0; this.Hd != d + 3 && (g = !1, this.Vf = this.Nc = null, this.Hd = 0); if (!this.Nc) { h = this.Hd = d + 3; m = c.Rd.BYTES_PER_ELEMENT; this.Vf = new ArrayBuffer(h * m); k = []; for (a = 0; a < h; a++) k[a] = new c.Rd(null, null, null, this.Vf, a * m); this.Nc = k; if (!this.Nc) { c.log("cc.ProgressTimer._updateRadial() : Not enough memory"); return } } this.sc(); h = this.Nc; if (!g) for (h[0].n = this.Oe(b), h[0].j = this.Pe(b), h[1].n = this.Oe(e), h[1].j = this.Pe(e), a = 0; a < d; a++) b = this.ZC(a), h[a + 2].n = this.Oe(b), h[a + 2].j = this.Pe(b); h[this.Hd - 1].n = this.Oe(f); h[this.Hd - 1].j = this.Pe(f) } }, O0: function() { if (this.qc) { var a, b = this.jj / 100, d = this.Vm, d = c.Jj(c.d(1 - d.x + b * d.x, 1 - d.y + b * d.y), 0.5), b = c.de(this.ci, d), d = c.Ij(this.ci, d); 0 > b.x && (d.x += -b.x, b.x = 0); 1 < d.x && (b.x -= d.x - 1, d.x = 1); 0 > b.y && (d.y += -b.y, b.y = 0); 1 < d.y && (b.y -= d.y - 1, d.y = 1); if (this.Yd) { if (!this.Nc) { this.Hd = 8; var e = c.Rd.BYTES_PER_ELEMENT; this.Vf = new ArrayBuffer(8 * e); var f = []; for (a = 0; 8 > a; a++) f[a] = new c.Rd(null, null, null, this.Vf, a * e); f[0].n = this.Oe(c.d(0, 1)); f[0].j = this.Pe(c.d(0, 1)); f[1].n = this.Oe(c.d(0, 0)); f[1].j = this.Pe(c.d(0, 0)); f[6].n = this.Oe(c.d(1, 1)); f[6].j = this.Pe(c.d(1, 1)); f[7].n = this.Oe(c.d(1, 0)); f[7].j = this.Pe(c.d(1, 0)); this.Nc = f } a = this.Nc; a[2].n = this.Oe(c.d(b.x, d.y)); a[2].j = this.Pe(c.d(b.x, d.y)); a[3].n = this.Oe(c.d(b.x, b.y)); a[3].j = this.Pe(c.d(b.x, b.y)); a[4].n = this.Oe(c.d(d.x, d.y)); a[4].j = this.Pe(c.d(d.x, d.y)); a[5].n = this.Oe(c.d(d.x, b.y)); a[5].j = this.Pe(c.d(d.x, b.y)) } else { if (!this.Nc) for (this.Hd = 4, e = c.Rd.BYTES_PER_ELEMENT, this.Vf = new ArrayBuffer(4 * e), this.Nc = [], a = 0; 4 > a; a++) this.Nc[a] = new c.Rd(null, null, null, this.Vf, a * e); a = this.Nc; a[0].n = this.Oe(c.d(b.x, d.y)); a[0].j = this.Pe(c.d(b.x, d.y)); a[1].n = this.Oe(c.d(b.x, b.y)); a[1].j = this.Pe(c.d(b.x, b.y)); a[2].n = this.Oe(c.d(d.x, d.y)); a[2].j = this.Pe(c.d(d.x, d.y)); a[3].n = this.Oe(c.d(d.x, b.y)); a[3].j = this.Pe(c.d(d.x, b.y)) } this.sc() } }, sc: function() { if (this.qc && this.Nc) { for (var a = this.qc.quad.Q.v, b = this.Nc, d = 0, e = this.Hd; d < e; ++d) b[d].v = a; this.hu = !0 } }, MF: null, Q0: function() { var a = this.qc, b = a.width, d = a.height, e = this.ci; if (this.Cc == c.cb.Ti) { this.nf = Math.round(Math.sqrt(b * b + d * d)); var f, g = !1, h = this.Ux; h.x = b * e.x; h.y = -d * e.y; this.Yd ? (f = 270, e = 270 - 3.6 * this.jj) : (e = -90, f = -90 + 3.6 * this.jj); a.dc && (h.x -= 2 * b * this.ci.x, e = -e - 180, f = -f - 180, g = !g); a.ec && (h.y += 2 * d * this.ci.y, g = !g, e = -e, f = -f); this.wF = e; this.tD = f; this.jD = g } else { f = this.Vm; h = this.jj / 100; g = this.UC; f = c.size(b * (1 - f.x), d * (1 - f.y)); var h = c.size((b - f.width) * h, (d - f.height) * h), h = c.size(f.width + h.width, f.height + h.height), k = c.d(b * e.x, d * e.y); f = k.x - h.width / 2; 0.5 < e.x && h.width / 2 >= b - k.x && (f = b - h.width); b = k.y - h.height / 2; 0.5 < e.y && h.height / 2 >= d - k.y && (b = d - h.height); g.x = 0; d = 1; a.dc && (g.x -= h.width, d = -1); 0 < f && (g.x += f * d); g.y = 0; d = 1; a.ec && (g.y += h.height, d = -1); 0 < b && (g.y -= b * d); g.width = h.width; g.height = -h.height } }, R0: function() { var a = this.Cc; a === c.cb.Ti ? this.U0() : a === c.cb.Rm && this.O0(); this.hu = !0 } }); p = c.cb.prototype; c.F == c.ea ? (p.ctor = p.Vs, p.YR = p.g0, p.EA = p.m0, p.zI = p.u0, p.sI = p.e0, p.pH = p.HZ, p.Y = p.fk, p.MF = p.R0) : (p.ctor = p.Us, p.YR = p.f0, p.EA = p.l0, p.zI = p.t0, p.sI = p.d0, p.pH = p.GZ, p.Y = p.Zm, p.MF = c.cb.prototype.Q0); c.i(p, "midPoint", p.H3, p.K7); c.i(p, "barChangeRate", p.Z2, p.l7); c.i(p, "type", p.dH, p.zI); c.i(p, "percentage", p.L3, p.P7); c.i(p, "sprite", p.MP, p.EA); c.i(p, "reverseDir", p.Q4, p.sI); c.cb.create = function(a) { var b = new c.cb; return b.pH(a) ? b : null }; c.cb.fK = 4; c.cb.HW = 75; c.cb.Ti = 0; c.cb.Rm = 1; c.GB = c.A.extend({ Gd: 0, ed: 0, ctor: function(a, b) { c.A.prototype.ctor.call(this); this.ed = this.Gd = 0; void 0 !== b && this.e(a, b) }, e: function(a, b) { return c.A.prototype.e.call(this, a) ? (this.Gd = b, !0) : !1 }, k: function() { var a = new c.GB; a.e(this.p, this.Gd); return a }, reverse: function() { c.log("cc.ProgressTo.reverse(): reverse hasn't been supported."); return null }, B: function(a) { c.A.prototype.B.call(this, a); this.ed = a.percentage; 100 == this.ed && (this.ed = 0) }, update: function(a) { this.target instanceof c.cb && (this.target.percentage = this.ed + (this.Gd - this.ed) * a) } }); c.GB.create = function(a, b) { return new c.GB(a, b) }; c.is = c.A.extend({ Gd: 0, ed: 0, ctor: function(a, b, d) { c.A.prototype.ctor.call(this); this.ed = this.Gd = 0; void 0 !== d && this.e(a, b, d) }, e: function(a, b, d) { return c.A.prototype.e.call(this, a) ? (this.Gd = d, this.ed = b, !0) : !1 }, k: function() { var a = new c.is; a.e(this.p, this.ed, this.Gd); return a }, reverse: function() { return c.is.create(this.p, this.Gd, this.ed) }, B: function(a) { c.A.prototype.B.call(this, a) }, update: function(a) { this.target instanceof c.cb && (this.target.percentage = this.ed + (this.Gd - this.ed) * a) } }); c.is.create = function(a, b, d) { return new c.is(a, b, d) }; c.ms = 4208917214; c.mba = c.qa.extend({ bg: function() {} }); c.eba = 0; c.kl = 1; c.Dw = 0; c.dba = 1; c.Aa = c.il.extend({ ra: null, mb: null, p: null, ai: !1, LM: !1, ob: "TransitionScene", ctor: function(a, b) { c.il.prototype.ctor.call(this); void 0 !== a && void 0 !== b && this.e(a, b) }, HN: function() { this.Kv(this.HN); var a = c.L; this.LM = a.Tl; a.rA(this.ra); c.wa.We(!0); this.mb.visible = !0 }, oj: function() { this.ai = !0 }, Y: function() { this.ai ? (this.mb.U(), this.ra.U()) : (this.ra.U(), this.mb.U()) }, ca: function() { c.t.prototype.ca.call(this); c.wa.We(!1); this.mb.Og(); this.ra.ca() }, xb: function() { c.t.prototype.xb.call(this); c.wa.We(!0); this.mb.xb(); this.ra.Ki() }, uf: function() { c.t.prototype.uf.call(this); this.LM && this.mb.uf() }, e: function(a, b) { if (!b) throw "cc.TransitionScene.initWithDuration(): Argument scene must be non-nil"; if (this.K()) { this.p = a; this.si({ x: 0, y: 0, anchorX: 0, anchorY: 0 }); this.ra = b; this.mb = c.L.sd; this.mb || (this.mb = c.il.create(), this.mb.K()); if (this.ra == this.mb) throw "cc.TransitionScene.initWithDuration(): Incoming scene must be different from the outgoing scene"; this.oj(); return !0 } return !1 }, finish: function() { this.ra.si({ visible: !0, x: 0, y: 0, scale: 1, rotation: 0 }); c.F === c.ea && this.ra.Yn().restore(); this.mb.si({ visible: !1, x: 0, y: 0, scale: 1, rotation: 0 }); c.F === c.ea && this.mb.Yn().restore(); this.po(this.HN, 0) }, pz: function() { this.ra.visible = !0; this.mb.visible = !1 } }); c.Aa.create = function(a, b) { return new c.Aa(a, b) }; c.ol = c.Aa.extend({ ln: 0, e: function(a, b, d) { c.Aa.prototype.e.call(this, a, b) && (this.ln = d); return !0 } }); c.ol.create = function(a, b, d) { var e = new c.ol; e.e(a, b, d); return e }; c.HK = c.Aa.extend({ ca: function() { c.Aa.prototype.ca.call(this); this.ra.si({ scale: 0.001, anchorX: 0.5, anchorY: 0.5 }); this.mb.si({ scale: 1, anchorX: 0.5, anchorY: 0.5 }); var a = c.La.create(c.df.create(c.Qo.create(this.p / 2, 0.001), c.Po.create(this.p / 2, 720)), c.ad.create(this.p / 2)); this.mb.yb(a); this.ra.yb(c.La.create(a.reverse(), c.cc.create(this.finish, this))) } }); c.HK.create = function(a, b) { var d = new c.HK; return null != d && d.e(a, b) ? d : null }; c.wK = c.Aa.extend({ ca: function() { c.Aa.prototype.ca.call(this); var a = c.L.V; this.ra.si({ scale: 0.5, x: a.width, y: 0, anchorX: 0.5, anchorY: 0.5 }); this.mb.anchorX = 0.5; this.mb.anchorY = 0.5; var b = c.Ri.create(this.p / 4, c.d(-a.width, 0), a.width / 4, 2), d = c.Qd.create(this.p / 4, 1), a = c.Qd.create(this.p / 4, 0.5), a = c.La.create(a, b), b = c.La.create(b, d), d = c.ad.create(this.p / 2); this.mb.yb(a); this.ra.yb(c.La.create(d, b, c.cc.create(this.finish, this))) } }); c.wK.create = function(a, b) { var d = new c.wK; return null != d && d.e(a, b) ? d : null }; c.Cs = c.Aa.extend({ ca: function() { c.Aa.prototype.ca.call(this); this.Hk(); var a = this.action(); this.ra.yb(c.La.create(this.bg(a), c.cc.create(this.finish, this))) }, Hk: function() { this.ra.J(-c.L.V.width, 0) }, action: function() { return c.ds.create(this.p, c.d(0, 0)) }, bg: function(a) { return c.Im.create(a, 2) } }); c.Cs.create = function(a, b) { var d = new c.Cs; return null != d && d.e(a, b) ? d : null }; c.yK = c.Cs.extend({ Hk: function() { this.ra.J(c.L.V.width, 0) } }); c.yK.create = function(a, b) { var d = new c.yK; return null != d && d.e(a, b) ? d : null }; c.zK = c.Cs.extend({ Hk: function() { this.ra.J(0, c.L.V.height) } }); c.zK.create = function(a, b) { var d = new c.zK; return null != d && d.e(a, b) ? d : null }; c.xK = c.Cs.extend({ Hk: function() { this.ra.J(0, -c.L.V.height) } }); c.xK.create = function(a, b) { var d = new c.xK; return null != d && d.e(a, b) ? d : null }; c.al = 0.5; c.Ds = c.Aa.extend({ oj: function() { this.ai = !1 }, ca: function() { c.Aa.prototype.ca.call(this); this.Hk(); var a = this.action(), b = this.action(), a = this.bg(a), b = c.La.create(this.bg(b), c.cc.create(this.finish, this)); this.ra.yb(a); this.mb.yb(b) }, Hk: function() { this.ra.J(-c.L.V.width + c.al, 0) }, action: function() { return c.bf.create(this.p, c.d(c.L.V.width - c.al, 0)) }, bg: function(a) { return c.Im.create(a, 2) } }); c.Ds.create = function(a, b) { var d = new c.Ds; return null != d && d.e(a, b) ? d : null }; c.KK = c.Ds.extend({ oj: function() { this.ai = !0 }, Hk: function() { this.ra.J(c.L.V.width - c.al, 0) }, action: function() { return c.bf.create(this.p, c.d(-(c.L.V.width - c.al), 0)) } }); c.KK.create = function(a, b) { var d = new c.KK; return null != d && d.e(a, b) ? d : null }; c.JK = c.Ds.extend({ oj: function() { this.ai = !1 }, Hk: function() { this.ra.J(0, c.L.V.height - c.al) }, action: function() { return c.bf.create(this.p, c.d(0, -(c.L.V.height - c.al))) } }); c.JK.create = function(a, b) { var d = new c.JK; return null != d && d.e(a, b) ? d : null }; c.LK = c.Ds.extend({ oj: function() { this.ai = !0 }, Hk: function() { this.ra.J(0, -(c.L.V.height - c.al)) }, action: function() { return c.bf.create(this.p, c.d(0, c.L.V.height - c.al)) } }); c.LK.create = function(a, b) { var d = new c.LK; return null != d && d.e(a, b) ? d : null }; c.IK = c.Aa.extend({ ca: function() { c.Aa.prototype.ca.call(this); this.ra.si({ scale: 0.001, anchorX: 2 / 3, anchorY: 0.5 }); this.mb.si({ scale: 1, anchorX: 1 / 3, anchorY: 0.5 }); var a = c.Qd.create(this.p, 0.01), b = c.Qd.create(this.p, 1); this.ra.yb(this.bg(b)); this.mb.yb(c.La.create(this.bg(a), c.cc.create(this.finish, this))) }, bg: function(a) { return c.Im.create(a, 2) } }); c.IK.create = function(a, b) { var d = new c.IK; return null != d && d.e(a, b) ? d : null }; c.uK = c.ol.extend({ ca: function() { c.Aa.prototype.ca.call(this); var a, b; this.ra.visible = !1; var d; this.ln === c.kl ? (a = 90, d = 270, b = 90) : (a = -90, d = 90, b = -90); a = c.La.create(c.ad.create(this.p / 2), c.mg.create(), c.Ae.create(this.p / 2, 1, 0, d, a, 0, 0), c.cc.create(this.finish, this)); b = c.La.create(c.Ae.create(this.p / 2, 1, 0, 0, b, 0, 0), c.Rh.create(), c.ad.create(this.p / 2)); this.ra.yb(a); this.mb.yb(b) } }); c.uK.create = function(a, b, d) { null == d && (d = c.kl); var e = new c.uK; e.e(a, b, d); return e }; c.vK = c.ol.extend({ ca: function() { c.Aa.prototype.ca.call(this); var a, b; this.ra.visible = !1; var d; this.ln == c.Dw ? (a = 90, d = 270, b = 90) : (a = -90, d = 90, b = -90); a = c.La.create(c.ad.create(this.p / 2), c.mg.create(), c.Ae.create(this.p / 2, 1, 0, d, a, 90, 0), c.cc.create(this.finish, this)); b = c.La.create(c.Ae.create(this.p / 2, 1, 0, 0, b, 90, 0), c.Rh.create(), c.ad.create(this.p / 2)); this.ra.yb(a); this.mb.yb(b) } }); c.vK.create = function(a, b, d) { null == d && (d = c.Dw); var e = new c.vK; e.e(a, b, d); return e }; c.tK = c.ol.extend({ ca: function() { c.Aa.prototype.ca.call(this); var a, b; this.ra.visible = !1; var d; this.ln === c.kl ? (a = 90, d = 270, b = 90) : (a = -90, d = 90, b = -90); a = c.La.create(c.ad.create(this.p / 2), c.mg.create(), c.Ae.create(this.p / 2, 1, 0, d, a, -45, 0), c.cc.create(this.finish, this)); b = c.La.create(c.Ae.create(this.p / 2, 1, 0, 0, b, 45, 0), c.Rh.create(), c.ad.create(this.p / 2)); this.ra.yb(a); this.mb.yb(b) } }); c.tK.create = function(a, b, d) { null == d && (d = c.kl); var e = new c.tK; e.e(a, b, d); return e }; c.PK = c.ol.extend({ ca: function() { c.Aa.prototype.ca.call(this); var a, b; this.ra.visible = !1; var d; this.ln === c.kl ? (a = 90, d = 270, b = 90) : (a = -90, d = 90, b = -90); a = c.La.create(c.ad.create(this.p / 2), c.df.create(c.Ae.create(this.p / 2, 1, 0, d, a, 0, 0), c.Qd.create(this.p / 2, 1), c.mg.create()), c.cc.create(this.finish, this)); b = c.La.create(c.df.create(c.Ae.create(this.p / 2, 1, 0, 0, b, 0, 0), c.Qd.create(this.p / 2, 0.5)), c.Rh.create(), c.ad.create(this.p / 2)); this.ra.scale = 0.5; this.ra.yb(a); this.mb.yb(b) } }); c.PK.create = function(a, b, d) { null == d && (d = c.kl); var e = new c.PK; e.e(a, b, d); return e }; c.QK = c.ol.extend({ ca: function() { c.Aa.prototype.ca.call(this); var a, b; this.ra.visible = !1; var d; this.ln === c.Dw ? (a = 90, d = 270, b = 90) : (a = -90, d = 90, b = -90); a = c.La.create(c.ad.create(this.p / 2), c.df.create(c.Ae.create(this.p / 2, 1, 0, d, a, 90, 0), c.Qd.create(this.p / 2, 1), c.mg.create()), c.cc.create(this.finish, this)); b = c.La.create(c.df.create(c.Ae.create(this.p / 2, 1, 0, 0, b, 90, 0), c.Qd.create(this.p / 2, 0.5)), c.Rh.create(), c.ad.create(this.p / 2)); this.ra.scale = 0.5; this.ra.yb(a); this.mb.yb(b) } }); c.QK.create = function(a, b, d) { null == d && (d = c.Dw); var e = new c.QK; e.e(a, b, d); return e }; c.OK = c.ol.extend({ ca: function() { c.Aa.prototype.ca.call(this); var a, b; this.ra.visible = !1; var d; this.ln === c.kl ? (a = 90, d = 270, b = 90) : (a = -90, d = 90, b = -90); a = c.La.create(c.ad.create(this.p / 2), c.df.create(c.Ae.create(this.p / 2, 1, 0, d, a, -45, 0), c.Qd.create(this.p / 2, 1), c.mg.create()), c.mg.create(), c.cc.create(this.finish, this)); b = c.La.create(c.df.create(c.Ae.create(this.p / 2, 1, 0, 0, b, 45, 0), c.Qd.create(this.p / 2, 0.5)), c.Rh.create(), c.ad.create(this.p / 2)); this.ra.scale = 0.5; this.ra.yb(a); this.mb.yb(b) } }); c.OK.create = function(a, b, d) { null == d && (d = c.kl); var e = new c.OK; e.e(a, b, d); return e }; c.pK = c.Aa.extend({ Ee: null, ctor: function() { c.Aa.prototype.ctor.call(this); this.Ee = c.color() }, ca: function() { c.Aa.prototype.ca.call(this); var a = c.md.create(this.Ee); this.ra.visible = !1; this.M(a, 2, c.ms); var a = this.cg(c.ms), b = c.La.create(c.Eo.create(this.p / 2), c.cc.create(this.pz, this), c.Fo.create(this.p / 2), c.cc.create(this.finish, this)); a.yb(b) }, xb: function() { c.Aa.prototype.xb.call(this); this.ZH(c.ms, !1) }, e: function(a, b, d) { d = d || c.color.BLACK; c.Aa.prototype.e.call(this, a, b) && (this.Ee.r = d.r, this.Ee.g = d.g, this.Ee.b = d.b, this.Ee.a = 0); return !0 } }); c.pK.create = function(a, b, d) { var e = new c.pK; e.e(a, b, d); return e }; c.oK = c.Aa.extend({ ca: function() { c.Aa.prototype.ca.call(this); var a = c.color(0, 0, 0, 0), b = c.L.V, a = c.md.create(a), d = c.No.create(b.width, b.height); if (null != d) { d.sprite.anchorX = 0.5; d.sprite.anchorY = 0.5; d.si({ x: b.width / 2, y: b.height / 2, anchorX: 0.5, anchorY: 0.5 }); d.Yf(); this.ra.U(); d.end(); var e = c.No.create(b.width, b.height); e.J(b.width / 2, b.height / 2); e.sprite.anchorX = e.anchorX = 0.5; e.sprite.anchorY = e.anchorY = 0.5; e.Yf(); this.mb.U(); e.end(); d.sprite.zf(c.ONE, c.ONE); e.sprite.zf(c.SRC_ALPHA, c.ONE_MINUS_SRC_ALPHA); a.M(d); a.M(e); d.sprite.opacity = 255; e.sprite.opacity = 255; b = c.La.create(c.el.create(this.p, 0), c.cc.create(this.pz, this), c.cc.create(this.finish, this)); e.sprite.yb(b); this.M(a, 2, c.ms) } }, xb: function() { this.ZH(c.ms, !1); c.Aa.prototype.xb.call(this) }, Y: function() {} }); c.oK.create = function(a, b) { var d = new c.oK; d.e(a, b); return d }; c.NK = c.Aa.extend({ oj: function() { this.ai = !1 }, ca: function() { c.Aa.prototype.ca.call(this); var a = c.L.V, a = c.rC.create(this.p, c.size(0 | a.width / a.height * 12, 12)), a = this.bg(a); this.mb.yb(c.La.create(a, c.cc.create(this.finish, this), c.Om.create())) }, bg: function(a) { return a } }); c.NK.create = function(a, b) { var d = new c.NK; return null != d && d.e(a, b) ? d : null }; c.qC = c.Aa.extend({ ca: function() { c.Aa.prototype.ca.call(this); this.ra.visible = !1; var a = this.action(), a = c.La.create(a, c.cc.create(this.pz, this), a.reverse()); this.yb(c.La.create(this.bg(a), c.cc.create(this.finish, this), c.Om.create())) }, bg: function(a) { return c.Nr.create(a, 3) }, action: function() { return c.$B.create(this.p / 2, 3) } }); c.qC.create = function(a, b) { var d = new c.qC; return null != d && d.e(a, b) ? d : null }; c.MK = c.qC.extend({ action: function() { return c.aC.create(this.p / 2, 3) } }); c.MK.create = function(a, b) { var d = new c.MK; return null != d && d.e(a, b) ? d : null }; c.Bs = c.Aa.extend({ oj: function() { this.ai = !1 }, ca: function() { c.Aa.prototype.ca.call(this); var a = c.L.V, a = this.cq(c.size(0 | a.width / a.height * 12, 12)); this.mb.yb(c.La.create(this.bg(a), c.cc.create(this.finish, this), c.Om.create())) }, bg: function(a) { return a }, cq: function(a) { return c.Xr.create(this.p, a) } }); c.Bs.create = function(a, b) { var d = new c.Bs; return null != d && d.e(a, b) ? d : null }; c.qK = c.Bs.extend({ cq: function(a) { return c.jB.create(this.p, a) } }); c.qK.create = function(a, b) { var d = new c.qK; return null != d && d.e(a, b) ? d : null }; c.sK = c.Bs.extend({ cq: function(a) { return c.mw.create(this.p, a) } }); c.sK.create = function(a, b) { var d = new c.sK; return null != d && d.e(a, b) ? d : null }; c.rK = c.Bs.extend({ cq: function(a) { return c.kB.create(this.p, a) } }); c.rK.create = function(a, b) { var d = new c.rK; return null != d && d.e(a, b) ? d : null }; c.YJ = 49153; c.nl = c.Aa.extend({ Gd: 0, ed: 0, iy: null, ob: "TransitionProgress", sn: function(a, b, d) { a.si({ x: b, y: d, anchorX: 0.5, anchorY: 0.5 }) }, ca: function() { c.Aa.prototype.ca.call(this); this.ON(); var a = c.L.V, b = c.No.create(a.width, a.height); b.sprite.anchorX = 0.5; b.sprite.anchorY = 0.5; this.sn(b, a.width / 2, a.height / 2); b.clear(0, 0, 0, 1); b.Yf(); this.iy.U(); b.end(); this.iy == this.mb && this.pz(); a = this.nn(b); b = c.La.create(c.is.create(this.p, this.ed, this.Gd), c.cc.create(this.finish, this)); a.yb(b); this.M(a, 2, c.YJ) }, xb: function() { this.ZH(c.YJ, !0); c.Aa.prototype.xb.call(this) }, ON: function() { this.iy = this.mb; this.ed = 100; this.Gd = 0 }, nn: function() { c.log("cc.TransitionProgress._progressTimerNodeWithRenderTexture(): should be overridden in subclass"); return null }, oj: function() { this.ai = !1 } }); c.nl.create = function(a, b) { var d = new c.nl; return null != d && d.e(a, b) ? d : null }; c.EK = c.nl.extend({ nn: function(a) { var b = c.L.V; a = c.cb.create(a.sprite); c.F === c.ea && (a.sprite.flippedY = !0); a.type = c.cb.Ti; a.reverseDir = !1; a.percentage = 100; this.sn(a, b.width / 2, b.height / 2); return a } }); c.EK.create = function(a, b) { var d = new c.EK; return null != d && d.e(a, b) ? d : null }; c.FK = c.nl.extend({ nn: function(a) { var b = c.L.V; a = c.cb.create(a.sprite); c.F === c.ea && (a.sprite.flippedY = !0); a.type = c.cb.Ti; a.reverseDir = !0; a.percentage = 100; this.sn(a, b.width / 2, b.height / 2); return a } }); c.FK.create = function(a, b) { var d = new c.FK; return null != d && d.e(a, b) ? d : null }; c.BK = c.nl.extend({ nn: function(a) { var b = c.L.V; a = c.cb.create(a.sprite); c.F === c.ea && (a.sprite.flippedY = !0); a.type = c.cb.Rm; a.midPoint = c.d(1, 0); a.barChangeRate = c.d(1, 0); a.percentage = 100; this.sn(a, b.width / 2, b.height / 2); return a } }); c.BK.create = function(a, b) { var d = new c.BK; return null != d && d.e(a, b) ? d : null }; c.GK = c.nl.extend({ nn: function(a) { var b = c.L.V; a = c.cb.create(a.sprite); c.F === c.ea && (a.sprite.flippedY = !0); a.type = c.cb.Rm; a.midPoint = c.d(0, 0); a.barChangeRate = c.d(0, 1); a.percentage = 100; this.sn(a, b.width / 2, b.height / 2); return a } }); c.GK.create = function(a, b) { var d = new c.GK; return null != d && d.e(a, b) ? d : null }; c.CK = c.nl.extend({ nn: function(a) { var b = c.L.V; a = c.cb.create(a.sprite); c.F === c.ea && (a.sprite.flippedY = !0); a.type = c.cb.Rm; a.midPoint = c.d(0.5, 0.5); a.barChangeRate = c.d(1, 1); a.percentage = 0; this.sn(a, b.width / 2, b.height / 2); return a }, oj: function() { this.ai = !1 }, ON: function() { this.iy = this.ra; this.ed = 0; this.Gd = 100 } }); c.CK.create = function(a, b) { var d = new c.CK; return null != d && d.e(a, b) ? d : null }; c.DK = c.nl.extend({ nn: function(a) { var b = c.L.V; a = c.cb.create(a.sprite); c.F === c.ea && (a.sprite.flippedY = !0); a.type = c.cb.Rm; a.midPoint = c.d(0.5, 0.5); a.barChangeRate = c.d(1, 1); a.percentage = 100; this.sn(a, b.width / 2, b.height / 2); return a } }); c.DK.create = function(a, b) { var d = new c.DK; return null != d && d.e(a, b) ? d : null }; c.AK = c.Aa.extend({ Vw: !0, ob: "TransitionPageTurn", e: function(a, b, d) { this.Vw = d; c.Aa.prototype.e.call(this, a, b); return !0 }, cq: function(a) { return this.Vw ? c.Nm.create(c.sw.create(this.p, a)) : c.sw.create(this.p, a) }, ca: function() { c.Aa.prototype.ca.call(this); var a = c.L.V, b; a.width > a.height ? (a = 16, b = 12) : (a = 12, b = 16); a = this.cq(c.size(a, b)); this.Vw ? (this.ra.visible = !1, this.ra.yb(c.La.create(c.mg.create(), a, c.cc.create(this.finish, this), c.Om.create()))) : this.mb.yb(c.La.create(a, c.cc.create(this.finish, this), c.Om.create())) }, oj: function() { this.ai = this.Vw } }); c.AK.create = function(a, b, d) { var e = new c.AK; e.e(a, b, d); return e }; c.na = { name: "Jacob__Codec" }; c.e9 = function() { return c.na.Pa.lz.apply(c.na.Pa, arguments) }; c.f9 = function() { var a = c.na.Fm.QO.apply(c.na.Fm, arguments); return c.na.Pa.lz.apply(c.na.Pa, [a]) }; c.IS = function(a, b) { b = b || 1; var d = this.f9(a), e = [], f, g, h; f = 0; for (h = d.length / b; f < h; f++) for (e[f] = 0, g = b - 1; 0 <= g; --g) e[f] += d.charCodeAt(f * b + g) << 8 * g; return e }; c.zpa = function(a, b) { b = b || 1; var d = this.e9(a), e = [], f, g, h; f = 0; for (h = d.length / b; f < h; f++) for (e[f] = 0, g = b - 1; 0 <= g; --g) e[f] += d.charCodeAt(f * b + g) << 8 * g; return e }; c.Raa = function(a) { a = a.split(","); var b = [], d; for (d = 0; d < a.length; d++) b.push(parseInt(a[d])); return b }; c.na.Fm = { name: "Jacob__Codec__Base64" }; c.na.Fm.Jx = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; c.na.Fm.QO = function(a) { var b = [], d, e, f, g, h, k = 0; for (a = a.replace(/[^A-Za-z0-9\+\/\=]/g, ""); k < a.length;) d = this.Jx.indexOf(a.charAt(k++)), e = this.Jx.indexOf(a.charAt(k++)), g = this.Jx.indexOf(a.charAt(k++)), h = this.Jx.indexOf(a.charAt(k++)), d = d << 2 | e >> 4, e = (e & 15) << 4 | g >> 2, f = (g & 3) << 6 | h, b.push(String.fromCharCode(d)), 64 != g && b.push(String.fromCharCode(e)), 64 != h && b.push(String.fromCharCode(f)); return b = b.join("") }; c.na.Fm.RO = function(a, b) { var d = this.QO(a), e = [], f, g, h; f = 0; for (h = d.length / b; f < h; f++) for (e[f] = 0, g = b - 1; 0 <= g; --g) e[f] += d.charCodeAt(f * b + g) << 8 * g; return e }; c.Z8 = function(a) { if (0 != a.length % 4) return null; for (var b = a.length / 4, d = window.pba ? new Uint32Array(b) : [], e = 0; e < b; e++) { var f = 4 * e; d[e] = a[f] + 256 * a[f + 1] + 65536 * a[f + 2] + 16777216 * a[f + 3] } return d }; c.na.Pa = function(a) { this.data = a; this.debug = !1; this.Gk = void 0; this.files = 0; this.NA = []; this.kG = Array(32768); this.ti = 0; this.Sz = !1; this.AO = 0; this.ui = 1; this.hq = 0; this.Sq = []; this.hP = void 0; this.Zu = Array(c.na.Pa.FU); this.Pn = Array(32); this.Jv = 0; this.EB = null; this.Ch = 0; this.uq = Array(17); this.uq[0] = 0; this.mP = this.kP = void 0 }; c.na.Pa.lz = function(a) { return (new c.na.Pa(a)).lz()[0][0] }; c.na.Pa.nB = function() { this.Ny = this.My = 0; this.AH = null; this.X4 = -1 }; c.na.Pa.FU = 288; c.na.Pa.zJ = 256; c.na.Pa.iG = [0, 128, 64, 192, 32, 160, 96, 224, 16, 144, 80, 208, 48, 176, 112, 240, 8, 136, 72, 200, 40, 168, 104, 232, 24, 152, 88, 216, 56, 184, 120, 248, 4, 132, 68, 196, 36, 164, 100, 228, 20, 148, 84, 212, 52, 180, 116, 244, 12, 140, 76, 204, 44, 172, 108, 236, 28, 156, 92, 220, 60, 188, 124, 252, 2, 130, 66, 194, 34, 162, 98, 226, 18, 146, 82, 210, 50, 178, 114, 242, 10, 138, 74, 202, 42, 170, 106, 234, 26, 154, 90, 218, 58, 186, 122, 250, 6, 134, 70, 198, 38, 166, 102, 230, 22, 150, 86, 214, 54, 182, 118, 246, 14, 142, 78, 206, 46, 174, 110, 238, 30, 158, 94, 222, 62, 190, 126, 254, 1, 129, 65, 193, 33, 161, 97, 225, 17, 145, 81, 209, 49, 177, 113, 241, 9, 137, 73, 201, 41, 169, 105, 233, 25, 153, 89, 217, 57, 185, 121, 249, 5, 133, 69, 197, 37, 165, 101, 229, 21, 149, 85, 213, 53, 181, 117, 245, 13, 141, 77, 205, 45, 173, 109, 237, 29, 157, 93, 221, 61, 189, 125, 253, 3, 131, 67, 195, 35, 163, 99, 227, 19, 147, 83, 211, 51, 179, 115, 243, 11, 139, 75, 203, 43, 171, 107, 235, 27, 155, 91, 219, 59, 187, 123, 251, 7, 135, 71, 199, 39, 167, 103, 231, 23, 151, 87, 215, 55, 183, 119, 247, 15, 143, 79, 207, 47, 175, 111, 239, 31, 159, 95, 223, 63, 191, 127, 255]; c.na.Pa.MO = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0]; c.na.Pa.NO = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99]; c.na.Pa.LO = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577]; c.na.Pa.oq = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]; c.na.Pa.border = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; c.na.Pa.prototype.lz = function() { this.lv = []; xa(this); return this.NA }; c.na.Pa.prototype.T = function() { this.hq += 8; return this.AO < this.data.length ? this.data.charCodeAt(this.AO++) : -1 }; function Ba(a) { var b; a.hq++; b = a.ui & 1; a.ui >>= 1; 0 == a.ui && (a.ui = a.T(), b = a.ui & 1, a.ui = a.ui >> 1 | 128); return b } function C(a, b) { for (var d = 0, e = b; e--;) d = d << 1 | Ba(a); b && (d = c.na.Pa.iG[d] >> 8 - b); return d } function Ca(a, b) { a.kG[a.ti++] = b; a.lv.push(String.fromCharCode(b)); 32768 == a.ti && (a.ti = 0) } function Da(a) { for (;;) { if (a.uq[a.Ch] >= a.mP) return -1; if (a.kP[a.uq[a.Ch]] == a.Ch) return a.uq[a.Ch]++; a.uq[a.Ch]++ } } function Ea(a) { var b = a.EB[a.Jv], d; if (17 == a.Ch) return -1; a.Jv++; a.Ch++; d = Da(a); if (0 <= d) b.My = d; else if (b.My = 32768, Ea(a)) return -1; d = Da(a); if (0 <= d) b.Ny = d, b.AH = null; else if (b.Ny = 32768, b.AH = a.EB[a.Jv], b.X4 = a.Jv, Ea(a)) return -1; a.Ch--; return 0 } function Ia(a, b, d, e) { a.EB = b; a.Jv = 0; a.kP = e; a.mP = d; for (b = 0; 17 > b; b++) a.uq[b] = 0; a.Ch = 0; return Ea(a) ? -1 : 0 } function Ja(a, b) { for (var d, e, f = 0, g = b[f];;) if (d = Ba(a)) { if (!(g.Ny & 32768)) return g.Ny; g = g.AH; d = b.length; for (e = 0; e < d; e++) if (b[e] === g) { f = e; break } } else { if (!(g.My & 32768)) return g.My; f++; g = b[f] } return -1 } function Ka(a) { var b, d, e, f, g; do if (b = Ba(a), e = C(a, 2), 0 == e) for (a.ui = 1, e = a.T(), e |= a.T() << 8, d = a.T(), d |= a.T() << 8, (e ^ ~d) & 65535 && document.write("BlockLen checksum mismatch\n"); e--;) d = a.T(), Ca(a, d); else if (1 == e) for (;;) if (e = c.na.Pa.iG[C(a, 7)] >> 1, 23 < e ? (e = e << 1 | Ba(a), 199 < e ? (e -= 128, e = e << 1 | Ba(a)) : (e -= 48, 143 < e && (e += 136))) : e += 256, 256 > e) Ca(a, e); else if (256 == e) break; else { var h; e -= 257; g = C(a, c.na.Pa.NO[e]) + c.na.Pa.MO[e]; e = c.na.Pa.iG[C(a, 5)] >> 3; 8 < c.na.Pa.oq[e] ? (h = C(a, 8), h |= C(a, c.na.Pa.oq[e] - 8) << 8) : h = C(a, c.na.Pa.oq[e]); h += c.na.Pa.LO[e]; for (e = 0; e < g; e++) d = a.kG[a.ti - h & 32767], Ca(a, d) } else if (2 == e) { var k = Array(320); d = 257 + C(a, 5); h = 1 + C(a, 5); f = 4 + C(a, 4); for (e = 0; 19 > e; e++) k[e] = 0; for (e = 0; e < f; e++) k[c.na.Pa.border[e]] = C(a, 3); g = a.Pn.length; for (f = 0; f < g; f++) a.Pn[f] = new c.na.Pa.nB; if (Ia(a, a.Pn, 19, k)) { a.ti = 0; return } g = d + h; f = 0; for (var m = -1; f < g;) if (m++, e = Ja(a, a.Pn), 16 > e) k[f++] = e; else if (16 == e) { var n; e = 3 + C(a, 2); if (f + e > g) { a.ti = 0; return } for (n = f ? k[f - 1] : 0; e--;) k[f++] = n } else { e = 17 == e ? 3 + C(a, 3) : 11 + C(a, 7); if (f + e > g) { a.ti = 0; return } for (; e--;) k[f++] = 0 } g = a.Zu.length; for (f = 0; f < g; f++) a.Zu[f] = new c.na.Pa.nB; if (Ia(a, a.Zu, d, k)) { a.ti = 0; return } g = a.Zu.length; for (f = 0; f < g; f++) a.Pn[f] = new c.na.Pa.nB; e = []; for (f = d; f < k.length; f++) e[f - d] = k[f]; if (Ia(a, a.Pn, h, e)) { a.ti = 0; return } for (;;) if (e = Ja(a, a.Zu), 256 <= e) { e -= 256; if (0 == e) break; e--; g = C(a, c.na.Pa.NO[e]) + c.na.Pa.MO[e]; e = Ja(a, a.Pn); 8 < c.na.Pa.oq[e] ? (h = C(a, 8), h |= C(a, c.na.Pa.oq[e] - 8) << 8) : h = C(a, c.na.Pa.oq[e]); for (h += c.na.Pa.LO[e]; g--;) d = a.kG[a.ti - h & 32767], Ca(a, d) } else Ca(a, e) } while (!b); a.ti = 0; a.ui = 1 } function xa(a) { a.lv = []; a.Sz = !1; var b = []; b[0] = a.T(); b[1] = a.T(); 120 == b[0] && 218 == b[1] && (Ka(a), a.NA[a.files] = [a.lv.join(""), "geonext.gxt"], a.files++); 31 == b[0] && 139 == b[1] && (La(a), a.NA[a.files] = [a.lv.join(""), "file"], a.files++); if (80 == b[0] && 75 == b[1] && (a.Sz = !0, b[2] = a.T(), b[3] = a.T(), 3 == b[2] && 4 == b[3])) { b[0] = a.T(); b[1] = a.T(); a.Gk = a.T(); a.Gk |= a.T() << 8; b = a.T(); b |= a.T() << 8; a.T(); a.T(); a.T(); a.T(); a.T(); a.T(); a.T(); a.T(); a.T(); a.T(); a.T(); a.T(); var d = a.T(), d = d | a.T() << 8, e = a.T(), e = e | a.T() << 8, f = 0; for (a.Sq = []; d--;) { var g = a.T(); "/" == g | ":" == g ? f = 0 : f < c.na.Pa.zJ - 1 && (a.Sq[f++] = String.fromCharCode(g)) } a.hP || (a.hP = a.Sq); for (var f = 0; f < e;) a.T(), f++; 8 == b && (Ka(a), a.NA[a.files] = [a.lv.join(""), a.Sq.join("")], a.files++); La(a) } } function La(a) { var b = [], d; a.Gk & 8 && (b[0] = a.T(), b[1] = a.T(), b[2] = a.T(), b[3] = a.T(), a.T(), a.T(), a.T(), a.T(), a.T(), a.T(), a.T(), a.T()); a.Sz && xa(a); b[0] = a.T(); if (8 == b[0]) { a.Gk = a.T(); a.T(); a.T(); a.T(); a.T(); a.T(); a.T(); if (a.Gk & 4) for (b[0] = a.T(), b[2] = a.T(), a.Ch = b[0] + 256 * b[1], b = 0; b < a.Ch; b++) a.T(); if (a.Gk & 8) for (b = 0, a.Sq = []; d = a.T();) { if ("7" == d || ":" == d) b = 0; b < c.na.Pa.zJ - 1 && (a.Sq[b++] = d) } if (a.Gk & 16) for (; a.T();); a.Gk & 2 && (a.T(), a.T()); Ka(a); a.T(); a.T(); a.T(); a.T(); a.Sz && xa(a) } }; /* zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */ (function() { function a(a) { throw a; } function b(a, b) { var d = a.split("."), e = y; d[0] in e || !e.execScript || e.execScript("var " + d[0]); for (var f; d.length && (f = d.shift());) d.length || b === F ? e = e[f] ? e[f] : e[f] = {} : e[f] = b } function d(a) { if ("string" === typeof a) { a = a.split(""); var b, d; b = 0; for (d = a.length; b < d; b++) a[b] = (a[b].charCodeAt(0) & 255) >>> 0 } b = 1; d = 0; for (var e = a.length, f, g = 0; 0 < e;) { f = 1024 < e ? 1024 : e; e -= f; do b += a[g++], d += b; while (--f); b %= 65521; d %= 65521 } return (d << 16 | b) >>> 0 } function e(b, d) { this.index = "number" === typeof d ? d : 0; this.Bi = 0; this.buffer = b instanceof(A ? Uint8Array : Array) ? b : new(A ? Uint8Array : Array)(32768); 2 * this.buffer.length <= this.index && a(Error("invalid index")); this.buffer.length <= this.index && this.wf() } function f(a) { this.buffer = new(A ? Uint16Array : Array)(2 * a); this.length = 0 } function g(a) { var b = a.length, d = 0, e = Number.POSITIVE_INFINITY, f, g, h, k, m, n, q, r, s; for (r = 0; r < b; ++r) a[r] > d && (d = a[r]), a[r] < e && (e = a[r]); f = 1 << d; g = new(A ? Uint32Array : Array)(f); h = 1; k = 0; for (m = 2; h <= d;) { for (r = 0; r < b; ++r) if (a[r] === h) { n = 0; q = k; for (s = 0; s < h; ++s) n = n << 1 | q & 1, q >>= 1; for (s = n; s < f; s += m) g[s] = h << 16 | r; ++k }++h; k <<= 1; m <<= 1 } return [g, d, e] } function h(a, b) { this.Fq = Y; this.l = 0; this.input = a; this.b = 0; b && (b.z5 && (this.l = b.z5), "number" === typeof b.AG && (this.Fq = b.AG), b.Zz && (this.a = A && b.Zz instanceof Array ? new Uint8Array(b.Zz) : b.Zz), "number" === typeof b.Y5 && (this.b = b.Y5)); this.a || (this.a = new(A ? Uint8Array : Array)(32768)) } function k(a, b) { this.length = a; this.eU = b } function m() { var b = da; switch (I) { case 3 === b: return [257, b - 3, 0]; case 4 === b: return [258, b - 4, 0]; case 5 === b: return [259, b - 5, 0]; case 6 === b: return [260, b - 6, 0]; case 7 === b: return [261, b - 7, 0]; case 8 === b: return [262, b - 8, 0]; case 9 === b: return [263, b - 9, 0]; case 10 === b: return [264, b - 10, 0]; case 12 >= b: return [265, b - 11, 1]; case 14 >= b: return [266, b - 13, 1]; case 16 >= b: return [267, b - 15, 1]; case 18 >= b: return [268, b - 17, 1]; case 22 >= b: return [269, b - 19, 2]; case 26 >= b: return [270, b - 23, 2]; case 30 >= b: return [271, b - 27, 2]; case 34 >= b: return [272, b - 31, 2]; case 42 >= b: return [273, b - 35, 3]; case 50 >= b: return [274, b - 43, 3]; case 58 >= b: return [275, b - 51, 3]; case 66 >= b: return [276, b - 59, 3]; case 82 >= b: return [277, b - 67, 4]; case 98 >= b: return [278, b - 83, 4]; case 114 >= b: return [279, b - 99, 4]; case 130 >= b: return [280, b - 115, 4]; case 162 >= b: return [281, b - 131, 5]; case 194 >= b: return [282, b - 163, 5]; case 226 >= b: return [283, b - 195, 5]; case 257 >= b: return [284, b - 227, 5]; case 258 === b: return [285, b - 258, 0]; default: a("invalid length: " + b) } } function n(b, d) { function e(b, d) { var f = b.eU, g = [], h = 0, k; k = ya[b.length]; g[h++] = k & 65535; g[h++] = k >> 16 & 255; g[h++] = k >> 24; var m; switch (I) { case 1 === f: m = [0, f - 1, 0]; break; case 2 === f: m = [1, f - 2, 0]; break; case 3 === f: m = [2, f - 3, 0]; break; case 4 === f: m = [3, f - 4, 0]; break; case 6 >= f: m = [4, f - 5, 1]; break; case 8 >= f: m = [5, f - 7, 1]; break; case 12 >= f: m = [6, f - 9, 2]; break; case 16 >= f: m = [7, f - 13, 2]; break; case 24 >= f: m = [8, f - 17, 3]; break; case 32 >= f: m = [9, f - 25, 3]; break; case 48 >= f: m = [10, f - 33, 4]; break; case 64 >= f: m = [11, f - 49, 4]; break; case 96 >= f: m = [12, f - 65, 5]; break; case 128 >= f: m = [13, f - 97, 5]; break; case 192 >= f: m = [14, f - 129, 6]; break; case 256 >= f: m = [15, f - 193, 6]; break; case 384 >= f: m = [16, f - 257, 7]; break; case 512 >= f: m = [17, f - 385, 7]; break; case 768 >= f: m = [18, f - 513, 8]; break; case 1024 >= f: m = [19, f - 769, 8]; break; case 1536 >= f: m = [20, f - 1025, 9]; break; case 2048 >= f: m = [21, f - 1537, 9]; break; case 3072 >= f: m = [22, f - 2049, 10]; break; case 4096 >= f: m = [23, f - 3073, 10]; break; case 6144 >= f: m = [24, f - 4097, 11]; break; case 8192 >= f: m = [25, f - 6145, 11]; break; case 12288 >= f: m = [26, f - 8193, 12]; break; case 16384 >= f: m = [27, f - 12289, 12]; break; case 24576 >= f: m = [28, f - 16385, 13]; break; case 32768 >= f: m = [29, f - 24577, 13]; break; default: a("invalid distance") } k = m; g[h++] = k[0]; g[h++] = k[1]; g[h++] = k[2]; f = 0; for (h = g.length; f < h; ++f) s[t++] = g[f]; v[g[0]]++; w[g[3]]++; u = b.length + d - 1; r = null } var f, g, h, m, n, q = {}, r, s = A ? new Uint16Array(2 * d.length) : [], t = 0, u = 0, v = new(A ? Uint32Array : Array)(286), w = new(A ? Uint32Array : Array)(30), z = b.l, x; if (!A) { for (h = 0; 285 >= h;) v[h++] = 0; for (h = 0; 29 >= h;) w[h++] = 0 } v[256] = 1; f = 0; for (g = d.length; f < g; ++f) { h = n = 0; for (m = 3; h < m && f + h !== g; ++h) n = n << 8 | d[f + h]; q[n] === F && (q[n] = []); h = q[n]; if (!(0 < u--)) { for (; 0 < h.length && 32768 < f - h[0];) h.shift(); if (f + 3 >= g) { r && e(r, -1); h = 0; for (m = g - f; h < m; ++h) x = d[f + h], s[t++] = x, ++v[x]; break } if (0 < h.length) { n = m = F; var B = 0, D = F, y = F, E = D = F, H = d.length, y = 0, E = h.length; a: for (; y < E; y++) { m = h[E - y - 1]; D = 3; if (3 < B) { for (D = B; 3 < D; D--) if (d[m + D - 1] !== d[f + D - 1]) continue a; D = B } for (; 258 > D && f + D < H && d[m + D] === d[f + D];)++D; D > B && (n = m, B = D); if (258 === D) break } m = new k(B, f - n); r ? r.length < m.length ? (x = d[f - 1], s[t++] = x, ++v[x], e(m, 0)) : e(r, -1) : m.length < z ? r = m : e(m, 0) } else r ? e(r, -1) : (x = d[f], s[t++] = x, ++v[x]) } h.push(f) } s[t++] = 256; v[256]++; b.BU = v; b.tU = w; return A ? s.subarray(0, t) : s } function q(a, b) { function d(a) { var b = s[a][t[a]]; b === q ? (d(a + 1), d(a + 1)) : --r[b]; ++t[a] } var e = a.length, g = new f(572), h = new(A ? Uint8Array : Array)(e), k, m, n; if (!A) for (m = 0; m < e; m++) h[m] = 0; for (m = 0; m < e; ++m) 0 < a[m] && g.push(m, a[m]); e = Array(g.length / 2); k = new(A ? Uint32Array : Array)(g.length / 2); if (1 === e.length) return h[g.pop().index] = 1, h; m = 0; for (n = g.length / 2; m < n; ++m) e[m] = g.pop(), k[m] = e[m].value; var q = k.length; m = new(A ? Uint16Array : Array)(b); var g = new(A ? Uint8Array : Array)(b), r = new(A ? Uint8Array : Array)(q); n = Array(b); var s = Array(b), t = Array(b), u = (1 << b) - q, v = 1 << b - 1, w, x, z; m[b - 1] = q; for (w = 0; w < b; ++w) u < v ? g[w] = 0 : (g[w] = 1, u -= v), u <<= 1, m[b - 2 - w] = (m[b - 1 - w] / 2 | 0) + q; m[0] = g[0]; n[0] = Array(m[0]); s[0] = Array(m[0]); for (w = 1; w < b; ++w) m[w] > 2 * m[w - 1] + g[w] && (m[w] = 2 * m[w - 1] + g[w]), n[w] = Array(m[w]), s[w] = Array(m[w]); for (u = 0; u < q; ++u) r[u] = b; for (v = 0; v < m[b - 1]; ++v) n[b - 1][v] = k[v], s[b - 1][v] = v; for (u = 0; u < b; ++u) t[u] = 0; 1 === g[b - 1] && (--r[0], ++t[b - 1]); for (w = b - 2; 0 <= w; --w) { x = u = 0; z = t[w + 1]; for (v = 0; v < m[w]; v++) x = n[w + 1][z] + n[w + 1][z + 1], x > k[u] ? (n[w][v] = x, s[w][v] = q, z += 2) : (n[w][v] = k[u], s[w][v] = u, ++u); t[w] = 0; 1 === g[w] && d(w) } k = r; m = 0; for (n = e.length; m < n; ++m) h[e[m].index] = k[m]; return h } function r(b) { var d = new(A ? Uint16Array : Array)(b.length), e = [], f = [], g = 0, h, k, m; h = 0; for (k = b.length; h < k; h++) e[b[h]] = (e[b[h]] | 0) + 1; h = 1; for (k = 16; h <= k; h++) f[h] = g, g += e[h] | 0, g > 1 << h && a("overcommitted"), g <<= 1; 65536 > g && a("undercommitted"); h = 0; for (k = b.length; h < k; h++) for (g = f[b[h]], f[b[h]] += 1, e = d[h] = 0, m = b[h]; e < m; e++) d[h] = d[h] << 1 | g & 1, g >>>= 1; return d } function t(a, b) { this.input = a; this.a = new(A ? Uint8Array : Array)(32768); this.Fq = M.Cz; var d = {}, e; !b && (b = {}) || "number" !== typeof b.AG || (this.Fq = b.AG); for (e in b) d[e] = b[e]; d.Zz = this.a; this.z = new h(this.input, d) } function s(b, d) { this.Dz = []; this.Ej = 32768; this.Jd = this.g = this.C = this.gA = 0; this.input = A ? new Uint8Array(b) : b; this.eI = !1; this.Mk = Ga; this.Gf = !1; if (d || !(d = {})) d.index && (this.C = d.index), d.lG && (this.Ej = d.lG), d.mG && (this.Mk = d.mG), d.resize && (this.Gf = d.resize); switch (this.Mk) { case sa: this.b = 32768; this.a = new(A ? Uint8Array : Array)(32768 + this.Ej + 258); break; case Ga: this.b = 0; this.a = new(A ? Uint8Array : Array)(this.Ej); this.wf = this.rU; this.jg = this.hU; this.Uz = this.lU; break; default: a(Error("invalid inflate mode")) } } function u(b, d) { for (var e = b.g, f = b.Jd, g = b.input, h = b.C, k; f < d;) k = g[h++], k === F && a(Error("input buffer is broken")), e |= k << f, f += 8; b.g = e >>> d; b.Jd = f - d; b.C = h; return e & (1 << d) - 1 } function v(b, d) { for (var e = b.g, f = b.Jd, g = b.input, h = b.C, k = d[0], m = d[1], n; f < m;) n = g[h++], n === F && a(Error("input buffer is broken")), e |= n << f, f += 8; g = k[e & (1 << m) - 1]; k = g >>> 16; b.g = e >> k; b.Jd = f - k; b.C = h; return g & 65535 } function B(a) { function b(a, d, e) { var f, g, h, k; for (k = 0; k < a;) switch (f = v(this, d), f) { case 16: for (h = 3 + u(this, 2); h--;) e[k++] = g; break; case 17: for (h = 3 + u(this, 3); h--;) e[k++] = 0; g = 0; break; case 18: for (h = 11 + u(this, 7); h--;) e[k++] = 0; g = 0; break; default: g = e[k++] = f } return e } var d = u(a, 5) + 257, e = u(a, 5) + 1, f = u(a, 4) + 4, h = new(A ? Uint8Array : Array)(ea.length), k; for (k = 0; k < f; ++k) h[ea[k]] = u(a, 3); f = g(h); h = new(A ? Uint8Array : Array)(d); k = new(A ? Uint8Array : Array)(e); a.Uz(g(b.call(a, d, f, h)), g(b.call(a, e, f, k))) } function x(b, d) { var e, f; this.input = b; this.C = 0; if (d || !(d = {})) d.index && (this.C = d.index), d.RS && (this.KU = d.RS); e = b[this.C++]; f = b[this.C++]; switch (e & 15) { case w: this.method = w; break; default: a(Error("unsupported compression method")) } 0 !== ((e << 8) + f) % 31 && a(Error("invalid fcheck flag:" + ((e << 8) + f) % 31)); f & 32 && a(Error("fdict flag is not supported")); this.ie = new s(b, { index: this.C, lG: d.lG, mG: d.mG, resize: d.resize }) } var F = void 0, I = !0, y = this, A = "undefined" !== typeof Uint8Array && "undefined" !== typeof Uint16Array && "undefined" !== typeof Uint32Array; e.prototype.wf = function() { var a = this.buffer, b, d = a.length, e = new(A ? Uint8Array : Array)(d << 1); if (A) e.set(a); else for (b = 0; b < d; ++b) e[b] = a[b]; return this.buffer = e }; e.prototype.D = function(a, b, d) { var e = this.buffer, f = this.index, g = this.Bi, h = e[f]; d && 1 < b && (a = 8 < b ? (K[a & 255] << 24 | K[a >>> 8 & 255] << 16 | K[a >>> 16 & 255] << 8 | K[a >>> 24 & 255]) >> 32 - b : K[a] >> 8 - b); if (8 > b + g) h = h << b | a, g += b; else for (d = 0; d < b; ++d) h = h << 1 | a >> b - d - 1 & 1, 8 === ++g && (g = 0, e[f++] = K[h], h = 0, f === e.length && (e = this.wf())); e[f] = h; this.buffer = e; this.Bi = g; this.index = f }; e.prototype.finish = function() { var a = this.buffer, b = this.index, d; 0 < this.Bi && (a[b] <<= 8 - this.Bi, a[b] = K[a[b]], b++); A ? d = a.subarray(0, b) : (a.length = b, d = a); return d }; var D = new(A ? Uint8Array : Array)(256), z; for (z = 0; 256 > z; ++z) { for (var E = z, J = E, W = 7, E = E >>> 1; E; E >>>= 1) J <<= 1, J |= E & 1, --W; D[z] = (J << W & 255) >>> 0 } var K = D, D = [0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685, 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995, 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648, 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990, 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755, 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145, 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206, 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980, 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705, 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527, 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772, 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290, 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719, 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925, 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202, 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960, 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733, 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467, 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048, 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054, 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443, 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945, 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430, 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580, 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225, 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143, 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732, 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850, 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135, 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109, 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954, 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920, 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877, 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603, 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992, 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934, 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795, 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105, 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270, 936918E3, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117]; A && new Uint32Array(D); f.prototype.getParent = function(a) { return 2 * ((a - 2) / 4 | 0) }; f.prototype.push = function(a, b) { var d, e, f = this.buffer, g; d = this.length; f[this.length++] = b; for (f[this.length++] = a; 0 < d;) if (e = this.getParent(d), f[d] > f[e]) g = f[d], f[d] = f[e], f[e] = g, g = f[d + 1], f[d + 1] = f[e + 1], f[e + 1] = g, d = e; else break; return this.length }; f.prototype.pop = function() { var a, b, d = this.buffer, e, f, g; b = d[0]; a = d[1]; this.length -= 2; d[0] = d[this.length]; d[1] = d[this.length + 1]; for (g = 0;;) { f = 2 * g + 2; if (f >= this.length) break; f + 2 < this.length && d[f + 2] > d[f] && (f += 2); if (d[f] > d[g]) e = d[g], d[g] = d[f], d[f] = e, e = d[g + 1], d[g + 1] = d[f + 1], d[f + 1] = e; else break; g = f } return { index: a, value: b, length: this.length } }; var Y = 2, D = { NONE: 0, r: 1, Cz: Y, laa: 3 }, ha = []; for (z = 0; 288 > z; z++) switch (I) { case 143 >= z: ha.push([z + 48, 8]); break; case 255 >= z: ha.push([z - 144 + 400, 9]); break; case 279 >= z: ha.push([z - 256 + 0, 7]); break; case 287 >= z: ha.push([z - 280 + 192, 8]); break; default: a("invalid literal: " + z) } h.prototype.ha = function() { var b, d, f, g, h = this.input; switch (this.Fq) { case 0: f = 0; for (g = h.length; f < g;) { d = A ? h.subarray(f, f + 65535) : h.slice(f, f + 65535); f += d.length; var k = f === g, m = F, s = m = F, s = m = F, t = this.a, u = this.b; if (A) { for (t = new Uint8Array(this.a.buffer); t.length <= u + d.length + 5;) t = new Uint8Array(t.length << 1); t.set(this.a) } m = k ? 1 : 0; t[u++] = m | 0; m = d.length; s = ~m + 65536 & 65535; t[u++] = m & 255; t[u++] = m >>> 8 & 255; t[u++] = s & 255; t[u++] = s >>> 8 & 255; if (A) t.set(d, u), u += d.length, t = t.subarray(0, u); else { m = 0; for (s = d.length; m < s; ++m) t[u++] = d[m]; t.length = u } this.b = u; this.a = t } break; case 1: f = new e(new Uint8Array(this.a.buffer), this.b); f.D(1, 1, I); f.D(1, 2, I); h = n(this, h); d = 0; for (k = h.length; d < k; d++) if (g = h[d], e.prototype.D.apply(f, ha[g]), 256 < g) f.D(h[++d], h[++d], I), f.D(h[++d], 5), f.D(h[++d], h[++d], I); else if (256 === g) break; this.a = f.finish(); this.b = this.a.length; break; case Y: g = new e(new Uint8Array(this.a), this.b); var v, w, x, z = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], D, B, m = Array(19), y, t = Y; g.D(1, 1, I); g.D(t, 2, I); h = n(this, h); s = q(this.BU, 15); D = r(s); t = q(this.tU, 7); u = r(t); for (v = 286; 257 < v && 0 === s[v - 1]; v--); for (w = 30; 1 < w && 0 === t[w - 1]; w--); var E = v, H = w; b = new(A ? Uint32Array : Array)(E + H); var M = new(A ? Uint32Array : Array)(316), K, J; B = new(A ? Uint8Array : Array)(19); for (y = x = 0; y < E; y++) b[x++] = s[y]; for (y = 0; y < H; y++) b[x++] = t[y]; if (!A) for (y = 0, H = B.length; y < H; ++y) B[y] = 0; y = K = 0; for (H = b.length; y < H; y += x) { for (x = 1; y + x < H && b[y + x] === b[y]; ++x); E = x; if (0 === b[y]) if (3 > E) for (; 0 < E--;) M[K++] = 0, B[0]++; else for (; 0 < E;) J = 138 > E ? E : 138, J > E - 3 && J < E && (J = E - 3), 10 >= J ? (M[K++] = 17, M[K++] = J - 3, B[17]++) : (M[K++] = 18, M[K++] = J - 11, B[18]++), E -= J; else if (M[K++] = b[y], B[b[y]]++, E--, 3 > E) for (; 0 < E--;) M[K++] = b[y], B[b[y]]++; else for (; 0 < E;) J = 6 > E ? E : 6, J > E - 3 && J < E && (J = E - 3), M[K++] = 16, M[K++] = J - 3, B[16]++, E -= J } b = A ? M.subarray(0, K) : M.slice(0, K); B = q(B, 7); for (y = 0; 19 > y; y++) m[y] = B[z[y]]; for (x = 19; 4 < x && 0 === m[x - 1]; x--); z = r(B); g.D(v - 257, 5, I); g.D(w - 1, 5, I); g.D(x - 4, 4, I); for (y = 0; y < x; y++) g.D(m[y], 3, I); y = 0; for (m = b.length; y < m; y++) if (d = b[y], g.D(z[d], B[d], I), 16 <= d) { y++; switch (d) { case 16: k = 2; break; case 17: k = 3; break; case 18: k = 7; break; default: a("invalid code: " + d) } g.D(b[y], k, I) } k = [D, s]; u = [u, t]; d = k[0]; k = k[1]; t = u[0]; D = u[1]; u = 0; for (m = h.length; u < m; ++u) if (f = h[u], g.D(d[f], k[f], I), 256 < f) g.D(h[++u], h[++u], I), s = h[++u], g.D(t[s], D[s], I), g.D(h[++u], h[++u], I); else if (256 === f) break; this.a = g.finish(); this.b = this.a.length; break; default: a("invalid compression type") } return this.a }; z = []; var da; for (da = 3; 258 >= da; da++) E = m(), z[da] = E[2] << 24 | E[1] << 16 | E[0]; var ya = A ? new Uint32Array(z) : z, M = D; t.prototype.ha = function() { var b, e, f, g, h = 0; g = this.a; b = w; switch (b) { case w: e = Math.LOG2E * Math.log(32768) - 8; break; default: a(Error("invalid compression method")) } e = e << 4 | b; g[h++] = e; switch (b) { case w: switch (this.Fq) { case M.NONE: f = 0; break; case M.r: f = 1; break; case M.Cz: f = 2; break; default: a(Error("unsupported compression type")) } break; default: a(Error("invalid compression method")) } b = f << 6 | 0; g[h++] = b | 31 - (256 * e + b) % 31; b = d(this.input); this.z.b = h; g = this.z.ha(); h = g.length; A && (g = new Uint8Array(g.buffer), g.length <= h + 4 && (this.a = new Uint8Array(g.length + 4), this.a.set(g), g = this.a), g = g.subarray(0, h + 4)); g[h++] = b >> 24 & 255; g[h++] = b >> 16 & 255; g[h++] = b >> 8 & 255; g[h++] = b & 255; return g }; b("Zlib.Deflate", t); b("Zlib.Deflate.compress", function(a, b) { return (new t(a, b)).ha() }); b("Zlib.Deflate.CompressionType", M); b("Zlib.Deflate.CompressionType.NONE", M.NONE); b("Zlib.Deflate.CompressionType.FIXED", M.r); b("Zlib.Deflate.CompressionType.DYNAMIC", M.Cz); var sa = 0, Ga = 1, D = { CT: sa, mT: Ga }; s.prototype.d = function() { for (; !this.eI;) { var b = u(this, 3); b & 1 && (this.eI = I); b >>>= 1; switch (b) { case 0: var b = this.input, d = this.C, e = this.a, f = this.b, g = F, h = F, k = F, m = e.length, g = F; this.Jd = this.g = 0; g = b[d++]; g === F && a(Error("invalid uncompressed block header: LEN (first byte)")); h = g; g = b[d++]; g === F && a(Error("invalid uncompressed block header: LEN (second byte)")); h |= g << 8; g = b[d++]; g === F && a(Error("invalid uncompressed block header: NLEN (first byte)")); k = g; g = b[d++]; g === F && a(Error("invalid uncompressed block header: NLEN (second byte)")); k |= g << 8; h === ~k && a(Error("invalid uncompressed block header: length verify")); d + h > b.length && a(Error("input buffer is broken")); switch (this.Mk) { case sa: for (; f + h > e.length;) { g = m - f; h -= g; if (A) e.set(b.subarray(d, d + g), f), f += g, d += g; else for (; g--;) e[f++] = b[d++]; this.b = f; e = this.wf(); f = this.b } break; case Ga: for (; f + h > e.length;) e = this.wf({ G: 2 }); break; default: a(Error("invalid inflate mode")) } if (A) e.set(b.subarray(d, d + h), f), f += h, d += h; else for (; h--;) e[f++] = b[d++]; this.C = d; this.b = f; this.a = e; break; case 1: this.Uz(la, H); break; case 2: B(this); break; default: a(Error("unknown BTYPE: " + b)) } } return this.jg() }; z = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; var ea = A ? new Uint16Array(z) : z; z = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 258, 258]; var Ha = A ? new Uint16Array(z) : z; z = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0]; var ca = A ? new Uint8Array(z) : z; z = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577]; var jb = A ? new Uint16Array(z) : z; z = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]; var Ra = A ? new Uint8Array(z) : z; z = new(A ? Uint8Array : Array)(288); E = 0; for (J = z.length; E < J; ++E) z[E] = 143 >= E ? 8 : 255 >= E ? 9 : 279 >= E ? 7 : 8; var la = g(z); z = new(A ? Uint8Array : Array)(30); E = 0; for (J = z.length; E < J; ++E) z[E] = 5; var H = g(z); s.prototype.Uz = function(a, b) { var d = this.a, e = this.b; this.da = a; for (var f = d.length - 258, g, h, k; 256 !== (g = v(this, a));) if (256 > g) e >= f && (this.b = e, d = this.wf(), e = this.b), d[e++] = g; else for (g -= 257, k = Ha[g], 0 < ca[g] && (k += u(this, ca[g])), g = v(this, b), h = jb[g], 0 < Ra[g] && (h += u(this, Ra[g])), e >= f && (this.b = e, d = this.wf(), e = this.b); k--;) d[e] = d[e++-h]; for (; 8 <= this.Jd;) this.Jd -= 8, this.C--; this.b = e }; s.prototype.lU = function(a, b) { var d = this.a, e = this.b; this.da = a; for (var f = d.length, g, h, k; 256 !== (g = v(this, a));) if (256 > g) e >= f && (d = this.wf(), f = d.length), d[e++] = g; else for (g -= 257, k = Ha[g], 0 < ca[g] && (k += u(this, ca[g])), g = v(this, b), h = jb[g], 0 < Ra[g] && (h += u(this, Ra[g])), e + k > f && (d = this.wf(), f = d.length); k--;) d[e] = d[e++-h]; for (; 8 <= this.Jd;) this.Jd -= 8, this.C--; this.b = e }; s.prototype.wf = function() { var a = new(A ? Uint8Array : Array)(this.b - 32768), b = this.b - 32768, d, e, f = this.a; if (A) a.set(f.subarray(32768, a.length)); else for (d = 0, e = a.length; d < e; ++d) a[d] = f[d + 32768]; this.Dz.push(a); this.gA += a.length; if (A) f.set(f.subarray(b, b + 32768)); else for (d = 0; 32768 > d; ++d) f[d] = f[b + d]; this.b = 32768; return f }; s.prototype.rU = function(a) { var b, d = this.input.length / this.C + 1 | 0, e, f, g, h = this.input, k = this.a; a && ("number" === typeof a.G && (d = a.G), "number" === typeof a.bU && (d += a.bU)); 2 > d ? (e = (h.length - this.C) / this.da[2], g = e / 2 * 258 | 0, f = g < k.length ? k.length + g : k.length << 1) : f = k.length * d; A ? (b = new Uint8Array(f), b.set(k)) : b = k; return this.a = b }; s.prototype.jg = function() { var a = 0, b = this.a, d = this.Dz, e, f = new(A ? Uint8Array : Array)(this.gA + (this.b - 32768)), g, h, k, m; if (0 === d.length) return A ? this.a.subarray(32768, this.b) : this.a.slice(32768, this.b); g = 0; for (h = d.length; g < h; ++g) for (e = d[g], k = 0, m = e.length; k < m; ++k) f[a++] = e[k]; g = 32768; for (h = this.b; g < h; ++g) f[a++] = b[g]; this.Dz = []; return this.buffer = f }; s.prototype.hU = function() { var a, b = this.b; A ? this.Gf ? (a = new Uint8Array(b), a.set(this.a.subarray(0, b))) : a = this.a.subarray(0, b) : (this.a.length > b && (this.a.length = b), a = this.a); return this.buffer = a }; x.prototype.d = function() { var b = this.input, e, f; e = this.ie.d(); this.C = this.ie.C; this.KU && (f = (b[this.C++] << 24 | b[this.C++] << 16 | b[this.C++] << 8 | b[this.C++]) >>> 0, f !== d(e) && a(Error("invalid adler-32 checksum"))); return e }; b("Zlib.Inflate", x); b("Zlib.Inflate.BufferType", D); D.w9 = D.mT; D.W9 = D.CT; b("Zlib.Inflate.prototype.decompress", x.prototype.d); D = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; A && new Uint16Array(D); D = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 258, 258]; A && new Uint16Array(D); D = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0]; A && new Uint8Array(D); D = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577]; A && new Uint16Array(D); D = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]; A && new Uint8Array(D); D = new(A ? Uint8Array : Array)(288); z = 0; for (E = D.length; z < E; ++z) D[z] = 143 >= z ? 8 : 255 >= z ? 9 : 279 >= z ? 7 : 8; g(D); D = new(A ? Uint8Array : Array)(30); z = 0; for (E = D.length; z < E; ++z) D[z] = 5; g(D); var w = 8 }).call(this); p = window; p = p.uba = p.Zlib; p.hJ = p.Deflate; p.hJ.oda = p.hJ.compress; p.Ho = p.Inflate; p.Ho.n$ = p.Ho.BufferType; p.Ho.prototype.SO = p.Ho.prototype.decompress; c.oV = c.qa.extend({ ctor: function(a) { var b, d, e, f; this.data = a; this.hb = 8; this.SH = []; this.sz = []; this.wo = {}; this.gG = null; this.text = {}; for (e = null;;) { b = this.Rk(); f = a = void 0; f = []; for (a = 0; 4 > a; ++a) f.push(String.fromCharCode(this.data[this.hb++])); a = f.join(""); switch (a) { case "IHDR": this.width = this.Rk(); this.height = this.Rk(); this.hq = this.data[this.hb++]; this.yG = this.data[this.hb++]; this.hb++; this.hb++; this.hb++; break; case "acTL": this.gG = { Tka: this.Rk(), Uka: this.Rk() || Infinity, frames: [] }; break; case "PLTE": this.SH = this.ov(b); break; case "fcTL": e && this.gG.frames.push(e); this.hb += 4; e = { width: this.Rk(), height: this.Rk(), VS: this.Rk(), WS: this.Rk() }; a = this.lR(); b = this.lR() || 100; e.wda = 1E3 * a / b; e.Kda = this.data[this.hb++]; e.Uca = this.data[this.hb++]; e.data = []; break; case "IDAT": case "fdAT": "fdAT" === a && (this.hb += 4, b -= 4); a = (null != e ? e.data : void 0) || this.sz; for (f = 0; 0 <= b ? f < b : f > b; 0 <= b ? ++f : --f) a.push(this.data[this.hb++]); break; case "tRNS": this.wo = {}; switch (this.yG) { case 3: this.wo.mH = this.ov(b); b = 255 - this.wo.mH.length; if (0 < b) for (a = 0; 0 <= b ? a < b : a > b; 0 <= b ? ++a : --a) this.wo.mH.push(255); break; case 0: this.wo.Nha = this.ov(b)[0]; break; case 2: this.wo.yma = this.ov(b) } break; case "tEXt": f = this.ov(b); b = f.indexOf(0); a = String.fromCharCode.apply(String, f.slice(0, b)); this.text[a] = String.fromCharCode.apply(String, f.slice(b + 1)); break; case "IEND": e && this.gG.frames.push(e); a: { switch (this.yG) { case 0: case 3: case 4: e = 1; break a; case 2: case 6: e = 3; break a } e = void 0 } this.v = e; this.$P = 4 === (d = this.yG) || 6 === d; d = this.v + (this.$P ? 1 : 0); this.k6 = this.hq * d; Uint8Array != Array && (this.sz = new Uint8Array(this.sz)); return; default: this.hb += b } this.hb += 4; if (this.hb > this.data.length) throw Error("Incomplete or corrupt PNG file"); } }, ov: function(a) { var b, d; d = []; for (b = 0; 0 <= a ? b < a : b > a; 0 <= a ? ++b : --b) d.push(this.data[this.hb++]); return d }, Rk: function() { var a, b, d, e; a = this.data[this.hb++] << 24; b = this.data[this.hb++] << 16; d = this.data[this.hb++] << 8; e = this.data[this.hb++]; return a | b | d | e }, lR: function() { var a, b; a = this.data[this.hb++] << 8; b = this.data[this.hb++]; return a | b }, j2: function(a) { var b, d, e, f, g, h, k, m, n, q, r, t, s, u, v; null == a && (a = this.sz); if (0 === a.length) return new Uint8Array(0); a = (new Zlib.Ho(a, { index: 0, RS: !1 })).SO(); m = this.k6 / 8; t = m * this.width; n = new Uint8Array(t * this.height); h = a.length; for (d = q = r = 0; q < h;) { switch (a[q++]) { case 0: for (b = 0; b < t; b += 1) n[d++] = a[q++]; break; case 1: for (f = s = 0; s < t; f = s += 1) b = a[q++], g = f < m ? 0 : n[d - m], n[d++] = (b + g) % 256; break; case 2: for (f = g = 0; g < t; f = g += 1) b = a[q++], e = (f - f % m) / m, s = r && n[(r - 1) * t + e * m + f % m], n[d++] = (s + b) % 256; break; case 3: for (f = v = 0; v < t; f = v += 1) b = a[q++], e = (f - f % m) / m, g = f < m ? 0 : n[d - m], s = r && n[(r - 1) * t + e * m + f % m], n[d++] = (b + Math.floor((g + s) / 2)) % 256; break; case 4: for (f = v = 0; v < t; f = v += 1) b = a[q++], e = (f - f % m) / m, g = f < m ? 0 : n[d - m], 0 === r ? s = u = 0 : (s = n[(r - 1) * t + e * m + f % m], u = e && n[(r - 1) * t + (e - 1) * m + f % m]), k = g + s - u, f = Math.abs(k - g), e = Math.abs(k - s), k = Math.abs(k - u), g = f <= e && f <= k ? g : e <= k ? s : u, n[d++] = (b + g) % 256; break; default: throw Error("Invalid filter algorithm: " + a[q - 1]); } r++ } return n }, f2: function(a, b) { var d, e, f, g, h, k, m, n; e = this.v; n = null; d = this.$P; this.SH.length && (n = null != (f = this.zY) ? f : this.zY = this.i2(), e = 4, d = !0); f = a.data || a; m = f.length; h = n || b; g = k = 0; if (1 === e) for (; g < m;) e = n ? 4 * b[g / 4] : k, k = h[e++], f[g++] = k, f[g++] = k, f[g++] = k, f[g++] = d ? h[e++] : 255, k = e; else for (; g < m;) e = n ? 4 * b[g / 4] : k, f[g++] = h[e++], f[g++] = h[e++], f[g++] = h[e++], f[g++] = d ? h[e++] : 255, k = e }, i2: function() { var a, b, d, e, f, g, h, k, m; d = this.SH; g = this.wo.mH || []; f = new Uint8Array((g.length || 0) + d.length); b = h = a = e = 0; for (k = d.length; h < k; b = h += 3) f[e++] = d[b], f[e++] = d[b + 1], f[e++] = d[b + 2], f[e++] = null != (m = g[a++]) ? m : 255; return f }, S6: function(a) { var b; a.width = this.width; a.height = this.height; a = a.getContext("2d"); b = a.createImageData(this.width, this.height); this.f2(b, this.j2()); return a.putImageData(b, 0, 0) } }); c.V8 = { RM: !1, xn: null, zD: [], getUint8: function(a) { return this.xn[a] }, getUint16: function(a) { return this.RM ? this.xn[a + 1] << 8 | this.xn[a] : this.xn[a] << 8 | this.xn[a + 1] }, getUint32: function(a) { var b = this.xn; return this.RM ? b[a + 3] << 24 | b[a + 2] << 16 | b[a + 1] << 8 | b[a] : b[a] << 24 | b[a + 1] << 16 | b[a + 2] << 8 | b[a + 3] }, L1: function() { var a = this.getUint16(0); if (18761 === a) this.KH = !0; else if (19789 === a) this.KH = !1; else throw console.log(a), TypeError("Invalid byte order value."); return this.KH }, p4: function() { if (42 !== this.getUint16(2)) throw RangeError("You forgot your towel!"); return !0 }, p3: function(a) { var b = this.V2; return a in b ? b[a] : null }, n3: function(a) { var b = this.U2; if (a in b) return b[a]; console.log("Unknown Field Tag:", a); return "Tag" + a }, o3: function(a) { return -1 !== ["BYTE", "ASCII", "SBYTE", "UNDEFINED"].indexOf(a) ? 1 : -1 !== ["SHORT", "SSHORT"].indexOf(a) ? 2 : -1 !== ["LONG", "SLONG", "FLOAT"].indexOf(a) ? 4 : -1 !== ["RATIONAL", "SRATIONAL", "DOUBLE"].indexOf(a) ? 8 : null }, q3: function(a, b, d, e) { a = []; var f = this.o3(b); if (4 >= f * d)!1 === this.KH ? a.push(e >>> 8 * (4 - f)) : a.push(e); else for (var g = 0; g < d; g++) { var h = f * g; 8 <= f ? -1 !== ["RATIONAL", "SRATIONAL"].indexOf(b) ? (a.push(this.getUint32(e + h)), a.push(this.getUint32(e + h + 4))) : c.log("Can't handle this field type or size") : a.push(this.pP(f, e + h)) } "ASCII" === b && a.forEach(function(a, b, d) { d[b] = String.fromCharCode(a) }); return a }, pP: function(a, b) { if (0 >= a) c.log("No bytes requested"); else { if (1 >= a) return this.getUint8(b); if (2 >= a) return this.getUint16(b); if (3 >= a) return this.getUint32(b) >>> 8; if (4 >= a) return this.getUint32(b); c.log("Too many bytes requested") } }, a3: function(a, b, d) { d = d || 0; b += Math.floor(d / 8); var e = d + a; a = 32 - a; var f, g; 0 >= e ? console.log("No bits requested") : 8 >= e ? (f = 24 + d, g = this.getUint8(b)) : 16 >= e ? (f = 16 + d, g = this.getUint16(b)) : 32 >= e ? (f = d, g = this.getUint32(b)) : console.log("Too many bits requested"); return { bits: g << f >>> a, byteOffset: b + Math.floor(e / 8), bitOffset: e % 8 } }, gR: function(a) { var b = this.getUint16(a), d = []; a += 2; for (var e = 0; e < b; a += 12, e++) { var f = this.getUint16(a), g = this.getUint16(a + 2), h = this.getUint32(a + 4), k = this.getUint32(a + 8), f = this.n3(f), g = this.p3(g), h = this.q3(f, g, h, k); d[f] = { type: g, Ni: h } } this.zD.push(d); b = this.getUint32(a); 0 !== b && this.gR(b) }, Kn: function(a, b) { var d = Math.pow(2, 8 - b); return Math.floor(a * d + (d - 1)) }, f6: function(a, b) { b = b || c.ac("canvas"); this.xn = a; this.canvas = b; this.L1(); if (this.p4()) { var d = this.getUint32(4); this.zD.length = 0; this.gR(d); var e = this.zD[0], d = e.ImageWidth.Ni[0], f = e.ImageLength.Ni[0]; this.canvas.width = d; this.canvas.height = f; var g = [], h = e.Compression ? e.Compression.Ni[0] : 1, k = e.SamplesPerPixel.Ni[0], m = [], n = 0, q = !1; e.BitsPerSample.Ni.forEach(function(a, b) { m[b] = { iq: a, nz: !1, su: void 0 }; 0 === a % 8 && (m[b].nz = !0, m[b].su = a / 8); n += a }, this); if (0 === n % 8) var q = !0, r = n / 8; var t = e.StripOffsets.Ni, s = t.length; if (e.StripByteCounts) var u = e.StripByteCounts.Ni; else if (c.log("Missing StripByteCounts!"), 1 === s) u = [Math.ceil(d * f * n / 8)]; else throw Error("Cannot recover from missing StripByteCounts"); for (var v = 0; v < s; v++) { var B = t[v]; g[v] = []; for (var x = u[v], F = 0, I = 0, y = 1, A = !0, D = [], z = 0, E = 0, J = 0; F < x; F += y) switch (h) { case 1: y = 0; for (D = []; y < k; y++) if (m[y].nz) D.push(this.pP(m[y].su, B + F + m[y].su * y)); else { var W = this.a3(m[y].iq, B + F, I); D.push(W.hq); F = W.byteOffset - B; I = W.Sca; throw RangeError("Cannot handle sub-byte bits per sample"); } g[v].push(D); if (q) y = r; else throw y = 0, RangeError("Cannot handle sub-byte bits per pixel"); break; case 32773: if (A) { var A = !1, K = 1, Y = 1, y = this.getInt8(B + F); 0 <= y && 127 >= y ? K = y + 1 : -127 <= y && -1 >= y ? Y = -y + 1 : A = !0 } else { for (var ha = this.getUint8(B + F), y = 0; y < Y; y++) { if (m[E].nz) J = J << 8 * z | ha, z++, z === m[E].su && (D.push(J), J = z = 0, E++); else throw RangeError("Cannot handle sub-byte bits per sample"); E === k && (g[v].push(D), D = [], E = 0) } K--; 0 === K && (A = !0) } y = 1 } } if (b.getContext) { r = this.canvas.getContext("2d"); r.fillStyle = "rgba(255, 255, 255, 0)"; v = e.RowsPerStrip ? e.RowsPerStrip.Ni[0] : f; B = g.length; f %= v; f = 0 === f ? v : f; F = v; h = 0; D = e.PhotometricInterpretation.Ni[0]; K = []; Y = 0; e.ExtraSamples && (K = e.ExtraSamples.Ni, Y = K.length); if (e.ColorMap) var W = e.ColorMap.Ni, da = Math.pow(2, m[0].iq); for (v = 0; v < B; v++) { v + 1 === B && (F = f); e = g[v].length; h *= v; for (q = k = 0; k < F, q < e; k++) for (t = 0; t < d; t++, q++) { u = g[v][q]; A = I = x = 0; s = 1; if (0 < Y) for (x = 0; x < Y; x++) if (1 === K[x] || 2 === K[x]) { s = u[3 + x] / 256; break } switch (D) { case 0: if (m[0].nz) var ya = Math.pow(16, 2 * m[0].su); u.forEach(function(a, b, d) { d[b] = ya - a }); case 1: x = I = A = this.Kn(u[0], m[0].iq); break; case 2: x = this.Kn(u[0], m[0].iq); I = this.Kn(u[1], m[1].iq); A = this.Kn(u[2], m[2].iq); break; case 3: if (void 0 === W) throw Error("Palette image missing color map"); u = u[0]; x = this.Kn(W[u], 16); I = this.Kn(W[da + u], 16); A = this.Kn(W[2 * da + u], 16); break; default: throw RangeError("Unknown Photometric Interpretation:", D); } r.fillStyle = "rgba(" + x + ", " + I + ", " + A + ", " + s + ")"; r.fillRect(t, h + k, 1, 1) } h = F } } return this.canvas } }, U2: { 315: "Artist", 258: "BitsPerSample", 265: "CellLength", 264: "CellWidth", 320: "ColorMap", 259: "Compression", 33432: "Copyright", 306: "DateTime", 338: "ExtraSamples", 266: "FillOrder", 289: "FreeByteCounts", 288: "FreeOffsets", 291: "GrayResponseCurve", 290: "GrayResponseUnit", 316: "HostComputer", 270: "ImageDescription", 257: "ImageLength", 256: "ImageWidth", 271: "Make", 281: "MaxSampleValue", 280: "MinSampleValue", 272: "Model", 254: "NewSubfileType", 274: "Orientation", 262: "PhotometricInterpretation", 284: "PlanarConfiguration", 296: "ResolutionUnit", 278: "RowsPerStrip", 277: "SamplesPerPixel", 305: "Software", 279: "StripByteCounts", 273: "StripOffsets", 255: "SubfileType", 263: "Threshholding", 282: "XResolution", 283: "YResolution", 326: "BadFaxLines", 327: "CleanFaxData", 343: "ClipPath", 328: "ConsecutiveBadFaxLines", 433: "Decode", 434: "DefaultImageColor", 269: "DocumentName", 336: "DotRange", 321: "HalftoneHints", 346: "Indexed", 347: "JPEGTables", 285: "PageName", 297: "PageNumber", 317: "Predictor", 319: "PrimaryChromaticities", 532: "ReferenceBlackWhite", 339: "SampleFormat", 559: "StripRowCounts", 330: "SubIFDs", 292: "T4Options", 293: "T6Options", 325: "TileByteCounts", 323: "TileLength", 324: "TileOffsets", 322: "TileWidth", 301: "TransferFunction", 318: "WhitePoint", 344: "XClipPathUnits", 286: "XPosition", 529: "YCbCrCoefficients", 531: "YCbCrPositioning", 530: "YCbCrSubSampling", 345: "YClipPathUnits", 287: "YPosition", 37378: "ApertureValue", 40961: "ColorSpace", 36868: "DateTimeDigitized", 36867: "DateTimeOriginal", 34665: "Exif IFD", 36864: "ExifVersion", 33434: "ExposureTime", 41728: "FileSource", 37385: "Flash", 40960: "FlashpixVersion", 33437: "FNumber", 42016: "ImageUniqueID", 37384: "LightSource", 37500: "MakerNote", 37377: "ShutterSpeedValue", 37510: "UserComment", 33723: "IPTC", 34675: "ICC Profile", 700: "XMP", 42112: "GDAL_METADATA", 42113: "GDAL_NODATA", 34377: "Photoshop" }, V2: { 1: "BYTE", 2: "ASCII", 3: "SHORT", 4: "LONG", 5: "RATIONAL", 6: "SBYTE", 7: "UNDEFINED", 8: "SSHORT", 9: "SLONG", 10: "SRATIONAL", 11: "FLOAT", 12: "DOUBLE" } }; c.ih = function(a, b, d, e, f, g, h, k, m, n, q, r) { this.hb = a ? a : c.d(0, 0); this.GA = b ? b : c.d(0, 0); this.color = d ? d : { r: 0, g: 0, b: 0, a: 255 }; this.Au = e ? e : { r: 0, g: 0, b: 0, a: 255 }; this.size = f || 0; this.FG = g || 0; this.rotation = h || 0; this.YO = k || 0; this.zm = m || 0; this.atlasIndex = n || 0; this.jc = q ? q : new c.ih.xB; this.ce = r ? r : new c.ih.yB; this.tQ = !1; this.Du = c.d(0, 0) }; c.ih.xB = function(a, b, d) { this.dir = a ? a : c.d(0, 0); this.radialAccel = b || 0; this.tangentialAccel = d || 0 }; c.ih.yB = function(a, b, d, e) { this.Re = a || 0; this.UO = b || 0; this.nv = d || 0; this.XO = e || 0 }; c.ih.Fw = [c.d(), c.d(), c.d(), c.d()]; c.o = c.t.extend({ vE: "", rb: 0, EL: !1, jc: null, ce: null, ob: "ParticleSystem", BE: c.d(0, 0), Pl: null, $m: 0, Rf: 0, $: null, atlasIndex: 0, zn: !1, Sw: 0, Zy: null, FA: null, Ep: !1, Od: 0, duration: 0, Pp: null, Ql: null, xe: 0, Pq: 0, Re: 0, eq: 0, hr: 0, ir: 0, Tn: 0, qq: 0, ni: null, Yl: null, kf: null, Cl: null, jr: 0, kr: 0, rq: 0, sq: 0, Sn: 0, vb: 0, O: null, q: null, Xa: !1, Kj: null, qu: !1, Oa: 0, Tc: null, sb: null, Jc: null, Gt: null, sa: null, qd: null, ctor: function(a) { c.t.prototype.ctor.call(this); this.Oa = c.o.nb; this.jc = new c.o.xB; this.ce = new c.o.yB; this.q = { src: c.vc, W: c.uc }; this.Pl = []; this.Pp = c.d(0, 0); this.Ql = c.d(0, 0); this.ni = c.color(255, 255, 255, 255); this.Yl = c.color(255, 255, 255, 255); this.kf = c.color(255, 255, 255, 255); this.Cl = c.color(255, 255, 255, 255); this.vE = ""; this.rb = 0; this.EL = !1; this.BE = c.d(0, 0); this.Rf = this.$m = 0; this.$ = null; this.atlasIndex = 0; this.zn = !1; this.Sw = 0; this.Zy = c.o.RV; this.FA = c.o.eT; this.Ep = !1; this.vb = this.Sn = this.sq = this.rq = this.kr = this.jr = this.qq = this.Tn = this.ir = this.hr = this.eq = this.Re = this.Pq = this.xe = this.duration = this.Od = 0; this.O = null; this.Xa = !1; this.Kj = c.o.ys; this.qu = !1; this.Jc = [0, 0]; this.Tc = []; this.sb = []; this.Gt = c.rect(0, 0, 0, 0); this.sa = !0; c.F === c.ea && (this.qd = null); a && "number" !== typeof a ? a && this.mm(a) : (a = a || 100, this.w7(c.o.gK), this.ab(a)) }, nH: function() { for (var a = this.sb, b = 0, d = this.vb; b < d; ++b) { var e = 6 * b, f = 4 * b; a[e + 0] = f + 0; a[e + 1] = f + 1; a[e + 2] = f + 2; a[e + 5] = f + 1; a[e + 4] = f + 2; a[e + 3] = f + 3 } }, fQ: function(a) { var b = c.wb(), d = c.rect(a.x * b, a.y * b, a.width * b, a.height * b), e = a.width, f = a.height; this.O && (e = this.O.pixelsWidth, f = this.O.pixelsHeight); if (c.F !== c.Ha) { c.Do ? (a = (2 * d.x + 1) / (2 * e), b = (2 * d.y + 1) / (2 * f), e = a + (2 * d.width - 2) / (2 * e), d = b + (2 * d.height - 2) / (2 * f)) : (a = d.x / e, b = d.y / f, e = a + d.width / e, d = b + d.height / f); var f = d, d = b, b = f, g = 0, h = 0; this.$ ? (f = this.$.textureAtlas.quads, g = this.atlasIndex, h = this.atlasIndex + this.vb) : (f = this.Tc, g = 0, h = this.vb); for (; g < h; g++) { f[g] || (f[g] = c.UK()); var k = f[g]; k.I.n.da = a; k.I.n.G = b; k.R.n.da = e; k.R.n.G = b; k.Q.n.da = a; k.Q.n.G = d; k.N.n.da = e; k.N.n.G = d } } }, PG: function() { return this.$ }, wm: function(a) { if (this.$ != a) { var b = this.$; if (this.$ = a) for (var d = this.Pl, e = 0; e < this.vb; e++) d[e].atlasIndex = e; a ? b || (this.$.textureAtlas.wY(this.Tc, this.atlasIndex), c.m.deleteBuffer(this.Jc[1])) : (this.iL(), this.nH(), this.zb(b.Ua()), this.tn()) } }, yq: function() { return this.atlasIndex }, iI: function(a) { this.atlasIndex = a }, Cfa: function() { return this.Zy }, w7: function(a) { this.Zy = a }, Zga: function() { return this.FA }, goa: function(a) { this.FA = a }, fg: function() { return this.Ep }, Fga: function() { return this.Od }, Wna: function(a) { this.Od = a }, zq: function() { return this.duration }, Tg: function(a) { this.duration = a }, Y3: function() { return { x: this.Pp.x, y: this.Pp.y } }, c8: function(a) { this.Pp = a }, XG: function() { return { x: this.Ql.x, y: this.Ql.y } }, Kh: function(a) { this.Ql = a }, gga: function() { return this.xe }, Ih: function(a) { this.xe = a }, hga: function() { return this.Pq }, Jh: function(a) { this.Pq = a }, afa: function() { return this.Re }, ig: function(a) { this.Re = a }, bfa: function() { return this.eq }, Eh: function(a) { this.eq = a }, xP: function() { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.getGravity() : Particle Mode should be Gravity"); var a = this.jc.gravity; return c.d(a.x, a.y) }, Vg: function(a) { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.setGravity() : Particle Mode should be Gravity"); this.jc.gravity = a }, gz: function() { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.getSpeed() : Particle Mode should be Gravity"); return this.jc.speed }, Bf: function(a) { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.setSpeed() : Particle Mode should be Gravity"); this.jc.speed = a }, LP: function() { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.getSpeedVar() : Particle Mode should be Gravity"); return this.jc.speedVar }, Yg: function(a) { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.setSpeedVar() : Particle Mode should be Gravity"); this.jc.speedVar = a }, QP: function() { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.getTangentialAccel() : Particle Mode should be Gravity"); return this.jc.tangentialAccel }, Xk: function(a) { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.setTangentialAccel() : Particle Mode should be Gravity"); this.jc.tangentialAccel = a }, RP: function() { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.getTangentialAccelVar() : Particle Mode should be Gravity"); return this.jc.tangentialAccelVar }, Yk: function(a) { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.setTangentialAccelVar() : Particle Mode should be Gravity"); this.jc.tangentialAccelVar = a }, EP: function() { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.getRadialAccel() : Particle Mode should be Gravity"); return this.jc.radialAccel }, Wg: function(a) { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.setRadialAccel() : Particle Mode should be Gravity"); this.jc.radialAccel = a }, FP: function() { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.getRadialAccelVar() : Particle Mode should be Gravity"); return this.jc.radialAccelVar }, Xg: function(a) { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.setRadialAccelVar() : Particle Mode should be Gravity"); this.jc.radialAccelVar = a }, Q3: function() { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.getRotationIsDir() : Particle Mode should be Gravity"); return this.jc.rotationIsDir }, X7: function(a) { this.Oa !== c.o.nb && c.log("cc.ParticleBatchNode.setRotationIsDir() : Particle Mode should be Gravity"); this.jc.rotationIsDir = a }, OP: function() { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.getStartRadius() : Particle Mode should be Radius"); return this.ce.startRadius }, cS: function(a) { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.setStartRadius() : Particle Mode should be Radius"); this.ce.startRadius = a }, PP: function() { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.getStartRadiusVar() : Particle Mode should be Radius"); return this.ce.startRadiusVar }, dS: function(a) { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.setStartRadiusVar() : Particle Mode should be Radius"); this.ce.startRadiusVar = a }, uP: function() { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.getEndRadius() : Particle Mode should be Radius"); return this.ce.endRadius }, LR: function(a) { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.setEndRadius() : Particle Mode should be Radius"); this.ce.endRadius = a }, vP: function() { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.getEndRadiusVar() : Particle Mode should be Radius"); return this.ce.endRadiusVar }, MR: function(a) { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.setEndRadiusVar() : Particle Mode should be Radius"); this.ce.endRadiusVar = a }, GP: function() { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.getRotatePerSecond() : Particle Mode should be Radius"); return this.ce.oA }, ZR: function(a) { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.setRotatePerSecond() : Particle Mode should be Radius"); this.ce.oA = a }, HP: function() { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.getRotatePerSecondVar() : Particle Mode should be Radius"); return this.ce.pA }, $R: function(a) { this.Oa !== c.o.Hf && c.log("cc.ParticleBatchNode.setRotatePerSecondVar() : Particle Mode should be Radius"); this.ce.pA = a }, Wk: function(a, b) { this.zn = !0; c.t.prototype.Wk.call(this, a, b) }, Xb: function(a) { this.zn = !0; c.t.prototype.Xb.call(this, a) }, uv: function(a) { this.zn = !0; c.t.prototype.uv.call(this, a) }, vv: function(a) { this.zn = !0; c.t.prototype.vv.call(this, a) }, cha: function() { return this.hr }, Lh: function(a) { this.hr = a }, dha: function() { return this.ir }, Mh: function(a) { this.ir = a }, Hfa: function() { return this.Tn }, Hh: function(a) { this.Tn = a }, Ifa: function() { return this.qq }, z7: function(a) { this.qq = a }, hz: function() { return c.color(this.ni.r, this.ni.g, this.ni.b, this.ni.a) }, Cf: function(a) { this.ni = c.color(a) }, NP: function() { return c.color(this.Yl.r, this.Yl.g, this.Yl.b, this.Yl.a) }, Zg: function(a) { this.Yl = c.color(a) }, dz: function() { return c.color(this.kf.r, this.kf.g, this.kf.b, this.kf.a) }, Af: function(a) { this.kf = c.color(a) }, tP: function() { return c.color(this.Cl.r, this.Cl.g, this.Cl.b, this.Cl.a) }, Ug: function(a) { this.Cl = c.color(a) }, eha: function() { return this.jr }, e8: function(a) { this.jr = a }, fha: function() { return this.kr }, f8: function(a) { this.kr = a }, Jfa: function() { return this.rq }, A7: function(a) { this.rq = a }, Kfa: function() { return this.sq }, B7: function(a) { this.sq = a }, Ffa: function() { return this.Sn }, Fh: function(a) { this.Sn = a }, c4: function() { return this.vb }, i8: function(a) { if (c.F === c.Ha) this.vb = 200 > a ? a : 200; else { if (a > this.Sw) { var b = c.Nb.BYTES_PER_ELEMENT; this.sb = new Uint16Array(6 * a); var d = new ArrayBuffer(a * b), e = this.Pl; e.length = 0; for (var f = this.Tc, g = f.length = 0; g < a; g++) e[g] = new c.ih, f[g] = new c.Nb(null, null, null, null, d, g * b); this.vb = this.Sw = a; if (this.$) for (b = 0; b < a; b++) e[b].atlasIndex = b; this.qd = d; this.nH(); this.tn(); this.O && this.fQ(c.rect(0, 0, this.O.width, this.O.height)) } else this.vb = a; this.U6() } }, Ua: function() { return this.O }, zb: function(a) { a.Kc ? this.yI(a, c.rect(0, 0, a.width, a.height)) : (this.sa = !1, a.ue(function(a) { this.sa = !0; this.yI(a, c.rect(0, 0, a.width, a.height)) }, this)) }, xi: function() { return this.q }, zf: function(a, b) { if (void 0 === b) this.q != a && (this.q = a, this.Gg()); else if (this.q.src != a || this.q.W != b) this.q = { src: a, W: b }, this.Gg() }, Ue: function() { return this.Xa }, ee: function(a) { this.Xa = a }, J4: function() { return this.q.src == c.SRC_ALPHA && this.q.W == c.ONE || this.q.src == c.ONE && this.q.W == c.ONE }, Li: function(a) { var b = this.q; a ? (b.src = c.SRC_ALPHA, b.W = c.ONE) : c.F === c.ea ? this.O && !this.O.xj() ? (b.src = c.SRC_ALPHA, b.W = c.ONE_MINUS_SRC_ALPHA) : (b.src = c.vc, b.W = c.uc) : (b.src = c.vc, b.W = c.uc) }, Jga: function() { return this.Kj }, Yna: function(a) { this.Kj = a }, Zha: function() { return this.qu }, Pma: function(a) { this.qu = a }, Gfa: function() { return this.Oa }, Gh: function(a) { this.Oa = a }, K: function() { return this.ab(150) }, mm: function(a) { this.vE = a; a = c.X.be(a); return a ? this.v4(a, "") : (c.log("cc.ParticleSystem.initWithFile(): Particles: file not found"), !1) }, b3: function() { return c.rect(0, 0, c.eb.width, c.eb.height) }, v4: function(a) { var b = !1, d = null, d = this.W0, e = parseInt(d("maxParticles", a)); if (this.ab(e)) { this.Re = parseFloat(d("angle", a)); this.eq = parseFloat(d("angleVariance", a)); this.duration = parseFloat(d("duration", a)); this.q.src = parseInt(d("blendFuncSource", a)); this.q.W = parseInt(d("blendFuncDestination", a)); b = this.ni; b.r = 255 * parseFloat(d("startColorRed", a)); b.g = 255 * parseFloat(d("startColorGreen", a)); b.b = 255 * parseFloat(d("startColorBlue", a)); b.a = 255 * parseFloat(d("startColorAlpha", a)); b = this.Yl; b.r = 255 * parseFloat(d("startColorVarianceRed", a)); b.g = 255 * parseFloat(d("startColorVarianceGreen", a)); b.b = 255 * parseFloat(d("startColorVarianceBlue", a)); b.a = 255 * parseFloat(d("startColorVarianceAlpha", a)); b = this.kf; b.r = 255 * parseFloat(d("finishColorRed", a)); b.g = 255 * parseFloat(d("finishColorGreen", a)); b.b = 255 * parseFloat(d("finishColorBlue", a)); b.a = 255 * parseFloat(d("finishColorAlpha", a)); b = this.Cl; b.r = 255 * parseFloat(d("finishColorVarianceRed", a)); b.g = 255 * parseFloat(d("finishColorVarianceGreen", a)); b.b = 255 * parseFloat(d("finishColorVarianceBlue", a)); b.a = 255 * parseFloat(d("finishColorVarianceAlpha", a)); this.hr = parseFloat(d("startParticleSize", a)); this.ir = parseFloat(d("startParticleSizeVariance", a)); this.Tn = parseFloat(d("finishParticleSize", a)); this.qq = parseFloat(d("finishParticleSizeVariance", a)); this.J(parseFloat(d("sourcePositionx", a)), parseFloat(d("sourcePositiony", a))); this.Ql.x = parseFloat(d("sourcePositionVariancex", a)); this.Ql.y = parseFloat(d("sourcePositionVariancey", a)); this.jr = parseFloat(d("rotationStart", a)); this.kr = parseFloat(d("rotationStartVariance", a)); this.rq = parseFloat(d("rotationEnd", a)); this.sq = parseFloat(d("rotationEndVariance", a)); this.Oa = parseInt(d("emitterType", a)); if (this.Oa == c.o.nb) b = this.jc, b.gravity.x = parseFloat(d("gravityx", a)), b.gravity.y = parseFloat(d("gravityy", a)), b.speed = parseFloat(d("speed", a)), b.speedVar = parseFloat(d("speedVariance", a)), e = d("radialAcceleration", a), b.radialAccel = e ? parseFloat(e) : 0, e = d("radialAccelVariance", a), b.radialAccelVar = e ? parseFloat(e) : 0, e = d("tangentialAcceleration", a), b.tangentialAccel = e ? parseFloat(e) : 0, e = d("tangentialAccelVariance", a), b.tangentialAccelVar = e ? parseFloat(e) : 0, e = d("rotationIsDir", a).toLowerCase(), b.rotationIsDir = null != e && ("true" === e || "1" === e); else if (this.Oa == c.o.Hf) b = this.ce, b.startRadius = parseFloat(d("maxRadius", a)), b.startRadiusVar = parseFloat(d("maxRadiusVariance", a)), b.endRadius = parseFloat(d("minRadius", a)), b.endRadiusVar = 0, b.oA = parseFloat(d("rotatePerSecond", a)), b.pA = parseFloat(d("rotatePerSecondVariance", a)); else return c.log("cc.ParticleSystem.initWithDictionary(): Invalid emitterType in config file"), !1; this.xe = parseFloat(d("particleLifespan", a)); this.Pq = parseFloat(d("particleLifespanVariance", a)); this.Sn = this.vb / this.xe; if (!this.$) if (this.Xa = !1, b = d("textureFileName", a), b = c.path.kq(this.vE, b), e = c.Ka.uo(b)) this.zb(e); else if ((a = d("textureImageData", a)) && 0 == a.length) { e = c.Ka.Qc(b); if (!e) return !1; this.zb(e) } else { d = c.IS(a, 1); if (!d) return c.log("cc.ParticleSystem: error decoding or ungzipping textureImageData"), !1; a = c.w3(d); if (a !== c.lJ && a !== c.iB) return c.log("cc.ParticleSystem: unknown image format with Data"), !1; e = c.ac("canvas"); a === c.iB ? (new c.oV(d)).S6(e) : c.V8.f6(d, e); c.Ka.I1(b, e); (a = c.Ka.uo(b)) || c.log("cc.ParticleSystem.initWithDictionary() : error loading the texture"); this.zb(a) } b = !0 } return b }, ab: function(a) { this.vb = a; var b, d = this.Pl; for (b = d.length = 0; b < a; b++) d[b] = new c.ih; if (!d) return c.log("Particle system: not enough memory"), !1; this.Sw = a; if (this.$) for (b = 0; b < this.vb; b++) d[b].atlasIndex = b; this.Ep = !0; this.q.src = c.vc; this.q.W = c.uc; this.Kj = c.o.ys; this.Oa = c.o.nb; this.zn = this.qu = !1; this.AR(1); if (c.F === c.ea) { if (!this.iL()) return !1; this.nH(); this.tn(); this.shaderProgram = c.ge.Dc(c.Zj) } return !0 }, Ada: function() { this.HS() }, e1: function() { if (this.N4()) return !1; var a, b = this.Pl; c.F === c.Ha ? this.Od < b.length ? a = b[this.Od] : (a = new c.ih, b.push(a)) : a = b[this.Od]; this.t4(a); ++this.Od; return !0 }, t4: function(a) { var b = c.B6; a.zm = this.xe + this.Pq * b(); a.zm = Math.max(0, a.zm); a.hb.x = this.Pp.x + this.Ql.x * b(); a.hb.y = this.Pp.y + this.Ql.y * b(); var d, e; d = this.ni; var f = this.Yl, g = this.kf; e = this.Cl; c.F === c.Ha ? (d = c.color(c.gd(d.r + f.r * b(), 0, 255), c.gd(d.g + f.g * b(), 0, 255), c.gd(d.b + f.b * b(), 0, 255), c.gd(d.a + f.a * b(), 0, 255)), e = c.color(c.gd(g.r + e.r * b(), 0, 255), c.gd(g.g + e.g * b(), 0, 255), c.gd(g.b + e.b * b(), 0, 255), c.gd(g.a + e.a * b(), 0, 255))) : (d = { r: c.gd(d.r + f.r * b(), 0, 255), g: c.gd(d.g + f.g * b(), 0, 255), b: c.gd(d.b + f.b * b(), 0, 255), a: c.gd(d.a + f.a * b(), 0, 255) }, e = { r: c.gd(g.r + e.r * b(), 0, 255), g: c.gd(g.g + e.g * b(), 0, 255), b: c.gd(g.b + e.b * b(), 0, 255), a: c.gd(g.a + e.a * b(), 0, 255) }); a.color = d; f = a.Au; g = a.zm; f.r = (e.r - d.r) / g; f.g = (e.g - d.g) / g; f.b = (e.b - d.b) / g; f.a = (e.a - d.a) / g; d = this.hr + this.ir * b(); d = Math.max(0, d); a.size = d; this.Tn === c.o.jh ? a.FG = 0 : (e = this.Tn + this.qq * b(), e = Math.max(0, e), a.FG = (e - d) / g); d = this.jr + this.kr * b(); e = this.rq + this.sq * b(); a.rotation = d; a.YO = (e - d) / g; this.Kj == c.o.ys ? a.GA = this.hm(this.BE) : this.Kj == c.o.mC && (a.GA.x = this.va.x, a.GA.y = this.va.y); d = c.ag(this.Re + this.eq * b()); if (this.Oa === c.o.nb) g = this.jc, e = a.jc, f = g.speed + g.speedVar * b(), e.dir.x = Math.cos(d), e.dir.y = Math.sin(d), c.Wq(e.dir, f), e.radialAccel = g.radialAccel + g.radialAccelVar * b(), e.tangentialAccel = g.tangentialAccel + g.tangentialAccelVar * b(), g.rotationIsDir && (a.rotation = -c.Yq(c.d6(e.dir))); else { e = this.ce; a = a.ce; var f = e.startRadius + e.startRadiusVar * b(), h = e.endRadius + e.endRadiusVar * b(); a.nv = f; a.XO = e.endRadius === c.o.SV ? 0 : (h - f) / g; a.Re = d; a.UO = c.ag(e.oA + e.pA * b()) } }, J8: function() { this.Ep = !1; this.rb = this.duration; this.$m = 0 }, U6: function() { this.Ep = !0; this.rb = 0; var a = this.Pl; for (this.Rf = 0; this.Rf < this.Od; ++this.Rf) a[this.Rf].zm = 0 }, N4: function() { return this.Od >= this.vb }, h9: function(a, b) { var d = null; this.$ ? (d = this.$.textureAtlas.quads[this.atlasIndex + a.atlasIndex], this.$.textureAtlas.dirty = !0) : d = this.Tc[this.Rf]; var e, f, g, h; this.Xa ? (e = 0 | a.color.r * a.color.a / 255, f = 0 | a.color.g * a.color.a / 255, g = 0 | a.color.b * a.color.a / 255) : (e = 0 | a.color.r, f = 0 | a.color.g, g = 0 | a.color.b); h = 0 | a.color.a; var k = d.I.v; k.r = e; k.g = f; k.b = g; k.a = h; k = d.R.v; k.r = e; k.g = f; k.b = g; k.a = h; k = d.Q.v; k.r = e; k.g = f; k.b = g; k.a = h; k = d.N.v; k.r = e; k.g = f; k.b = g; k.a = h; e = a.size / 2; if (a.rotation) { f = -e; g = -e; h = b.x; var k = b.y, m = -c.ag(a.rotation), n = Math.cos(m), m = Math.sin(m); d.I.j.x = f * n - g * m + h; d.I.j.y = f * m + g * n + k; d.R.j.x = e * n - g * m + h; d.R.j.y = e * m + g * n + k; d.Q.j.x = f * n - e * m + h; d.Q.j.y = f * m + e * n + k; d.N.j.x = e * n - e * m + h; d.N.j.y = e * m + e * n + k } else d.I.j.x = b.x - e, d.I.j.y = b.y - e, d.R.j.x = b.x + e, d.R.j.y = b.y - e, d.Q.j.x = b.x - e, d.Q.j.y = b.y + e, d.N.j.x = b.x + e, d.N.j.y = b.y + e }, r6: function() { if (c.F === c.ea) { var a = c.m; a.bindBuffer(a.ARRAY_BUFFER, this.Jc[0]); a.bufferData(a.ARRAY_BUFFER, this.qd, a.DYNAMIC_DRAW) } }, update: function(a) { if (this.Ep && this.Sn) { var b = 1 / this.Sn; this.Od < this.vb && (this.$m += a); for (; this.Od < this.vb && this.$m > b;) this.e1(), this.$m -= b; this.rb += a; - 1 != this.duration && this.duration < this.rb && this.J8() } this.Rf = 0; b = c.ih.Fw[0]; this.Kj == c.o.ys ? c.Qk(b, this.hm(this.BE)) : this.Kj == c.o.mC && (b.x = this.va.x, b.y = this.va.y); if (this.Ja) { for (var d = c.ih.Fw[1], e = c.ih.Fw[2], f = c.ih.Fw[3], g = this.Pl; this.Rf < this.Od;) { c.bA(d); c.bA(e); c.bA(f); var h = g[this.Rf]; h.zm -= a; if (0 < h.zm) { if (this.Oa == c.o.nb) { var k = f, m = d, n = e; h.hb.x || h.hb.y ? (c.Qk(m, h.hb), c.b6(m)) : c.bA(m); c.Qk(n, m); c.Wq(m, h.jc.radialAccel); var q = n.x; n.x = -n.y; n.y = q; c.Wq(n, h.jc.tangentialAccel); c.Qk(k, m); c.$z(k, n); c.$z(k, this.jc.gravity); c.Wq(k, a); c.$z(h.jc.dir, k); c.Qk(k, h.jc.dir); c.Wq(k, a); c.$z(h.hb, k) } else k = h.ce, k.Re += k.UO * a, k.nv += k.XO * a, h.hb.x = -Math.cos(k.Re) * k.nv, h.hb.y = -Math.sin(k.Re) * k.nv; this.EL && c.F !== c.Ha || (h.color.r += h.Au.r * a, h.color.g += h.Au.g * a, h.color.b += h.Au.b * a, h.color.a += h.Au.a * a, h.tQ = !0); h.size += h.FG * a; h.size = Math.max(0, h.size); h.rotation += h.YO * a; k = d; this.Kj == c.o.ys || this.Kj == c.o.mC ? (m = e, c.Qk(m, b), c.fR(m, h.GA), c.Qk(k, h.hb), c.fR(k, m)) : c.Qk(k, h.hb); this.$ && (k.x += this.va.x, k.y += this.va.y); c.F == c.ea ? this.h9(h, k) : c.Qk(h.Du, k); ++this.Rf } else if (h = h.atlasIndex, this.Rf !== this.Od - 1 && (k = g[this.Rf], g[this.Rf] = g[this.Od - 1], g[this.Od - 1] = k), this.$ && (this.$.p2(this.atlasIndex + h), g[this.Od - 1].atlasIndex = h), --this.Od, 0 == this.Od && this.qu) { this.HS(); this.gc.removeChild(this, !0); return } } this.zn = !1 } this.$ || this.r6() }, l9: function() { this.update(0) }, W0: function(a, b) { if (b) { var d = b[a]; return null != d ? d : "" } return "" }, Gg: function() { if (this.$) c.log("Can't change blending functions when the particle is being batched"); else { var a = this.O; if (a && a instanceof c.ia) { this.Xa = !1; var b = this.q; b.src == c.vc && b.W == c.uc && (a.xj() ? this.Xa = !0 : (b.src = c.SRC_ALPHA, b.W = c.ONE_MINUS_SRC_ALPHA)) } } }, k: function() { var a = new c.o; if (a.ab(this.vb)) { a.ig(this.Re); a.Eh(this.eq); a.Tg(this.zq()); var b = this.xi(); a.zf(b.src, b.W); a.Cf(this.hz()); a.Zg(this.NP()); a.Af(this.dz()); a.Ug(this.tP()); a.Lh(this.hr); a.Mh(this.ir); a.Hh(this.Tn); a.z7(this.qq); a.J(c.d(this.x, this.y)); a.Kh(c.d(this.XG().x, this.XG().y)); a.e8(this.jr || 0); a.f8(this.kr || 0); a.A7(this.rq || 0); a.B7(this.sq || 0); a.Gh(this.Oa); this.Oa == c.o.nb ? (b = this.xP(), a.Vg(c.d(b.x, b.y)), a.Bf(this.gz()), a.Yg(this.LP()), a.Wg(this.EP()), a.Xg(this.FP()), a.Xk(this.QP()), a.Yk(this.RP())) : this.Oa == c.o.Hf && (a.cS(this.OP()), a.dS(this.PP()), a.LR(this.uP()), a.MR(this.vP()), a.ZR(this.GP()), a.$R(this.HP())); a.Ih(this.xe); a.Jh(this.Pq); a.Fh(this.Sn); if (!this.$ && (a.ee(this.Ue()), b = this.Ua())) { var d = b.ve(); a.yI(b, c.rect(0, 0, d.width, d.height)) } } return a }, u7: function(a) { var b = a.zg; 0 == b.x && 0 == b.y || c.log("cc.ParticleSystem.setDisplayFrame(): QuadParticle only supports SpriteFrames with no offsets"); c.F === c.ea && (this.O && a.Ua().te == this.O.te || this.zb(a.Ua())) }, yI: function(a, b) { var d = this.O; c.F === c.ea ? d && a.te == d.te || d == a || (this.O = a, this.Gg()) : d && a == d || d == a || (this.O = a, this.Gg()); this.Gt = b; this.fQ(b) }, Y: function(a) { this.sa && !this.$ && (c.F === c.Ha ? this.Zm(a) : this.fk(a), c.Lg++) }, Zm: function(a) { a = a || c.m; a.save(); a.globalCompositeOperation = this.J4() ? "lighter" : "source-over"; for (var b = 0; b < this.Od; b++) { var d = this.Pl[b], e = 0 | 0.5 * d.size; if (this.Zy == c.o.gK) { if (e = this.O.Ob, e.width && e.height) { a.save(); a.globalAlpha = d.color.a / 255; a.translate(0 | d.Du.x, -(0 | d.Du.y)); var f = 4 * Math.floor(d.size / 4), g = this.Gt.width, h = this.Gt.height; a.scale(Math.max(1 / g * f, 1E-6), Math.max(1 / h * f, 1E-6)); d.rotation && a.rotate(c.ag(d.rotation)); a.translate(-(0 | g / 2), -(0 | h / 2)); d.tQ && (f = c.Ka.iz(e)) && (f.Hv || (f.Hv = c.ac("canvas"), f.Hv.width = e.width, f.Hv.height = e.height), c.wq(e, f, d.color, this.Gt, f.Hv), e = f.Hv); a.drawImage(e, 0, 0); a.restore() } } else a.save(), a.globalAlpha = d.color.a / 255, a.translate(0 | d.Du.x, -(0 | d.Du.y)), this.FA == c.o.TV ? (d.rotation && a.rotate(c.ag(d.rotation)), c.jf.A2(a, e, d.color)) : c.jf.t2(a, e, d.color), a.restore() } a.restore() }, fk: function(a) { this.O && (a = a || c.m, this.Sb.$c(), this.Sb.Ef(), c.Te(this.O), c.UP(this.q.src, this.q.W), c.Xc(c.Sm), a.bindBuffer(a.ARRAY_BUFFER, this.Jc[0]), a.vertexAttribPointer(c.Ab, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(c.ef, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.vertexAttribPointer(c.Sd, 2, a.FLOAT, !1, 24, 16), a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.Jc[1]), a.drawElements(a.TRIANGLES, 6 * this.Rf, a.UNSIGNED_SHORT, 0)) }, oka: function() { c.bC || this.tn() }, gca: function() {}, tn: function() { if (c.F != c.Ha) { var a = c.m; this.Jc[0] = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, this.Jc[0]); a.bufferData(a.ARRAY_BUFFER, this.qd, a.DYNAMIC_DRAW); this.Jc[1] = a.createBuffer(); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.Jc[1]); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.sb, a.STATIC_DRAW) } }, iL: function() { if (c.F === c.Ha) return !0; if (this.$) return c.log("cc.ParticleSystem._allocMemory(): Memory should not be allocated when not using batchNode"), !1; var a = c.Nb.BYTES_PER_ELEMENT, b = this.vb, d = this.Tc; d.length = 0; this.sb = new Uint16Array(6 * b); for (var e = new ArrayBuffer(a * b), f = 0; f < b; f++) d[f] = new c.Nb(null, null, null, null, e, f * a); if (!d || !this.sb) return c.log("cocos2d: Particle system: not enough memory"), !1; this.qd = e; return !0 } }); p = c.o.prototype; c.i(p, "opacityModifyRGB", p.Ue, p.ee); c.i(p, "batchNode", p.PG, p.wm); c.i(p, "active", p.fg); c.i(p, "sourcePos", p.Y3, p.c8); c.i(p, "posVar", p.XG, p.Kh); c.i(p, "gravity", p.xP, p.Vg); c.i(p, "speed", p.gz, p.Bf); c.i(p, "speedVar", p.LP, p.Yg); c.i(p, "tangentialAccel", p.QP, p.Xk); c.i(p, "tangentialAccelVar", p.RP, p.Yk); c.i(p, "radialAccel", p.EP, p.Wg); c.i(p, "radialAccelVar", p.FP, p.Xg); c.i(p, "rotationIsDir", p.Q3, p.X7); c.i(p, "startRadius", p.OP, p.cS); c.i(p, "startRadiusVar", p.PP, p.dS); c.i(p, "endRadius", p.uP, p.LR); c.i(p, "endRadiusVar", p.vP, p.MR); c.i(p, "rotatePerS", p.GP, p.ZR); c.i(p, "rotatePerSVar", p.HP, p.$R); c.i(p, "startColor", p.hz, p.Cf); c.i(p, "startColorVar", p.NP, p.Zg); c.i(p, "endColor", p.dz, p.Af); c.i(p, "endColorVar", p.tP, p.Ug); c.i(p, "totalParticles", p.c4, p.i8); c.i(p, "texture", p.Ua, p.zb); c.o.create = function(a) { return new c.o(a) }; c.o.xB = function(a, b, d, e, f, g, h, k) { this.gravity = a ? a : c.d(0, 0); this.speed = b || 0; this.speedVar = d || 0; this.tangentialAccel = e || 0; this.tangentialAccelVar = f || 0; this.radialAccel = g || 0; this.radialAccelVar = h || 0; this.rotationIsDir = k || !1 }; c.o.yB = function(a, b, d, e, f, g) { this.startRadius = a || 0; this.startRadiusVar = b || 0; this.endRadius = d || 0; this.endRadiusVar = e || 0; this.oA = f || 0; this.pA = g || 0 }; c.o.RV = 0; c.o.gK = 1; c.o.TV = 0; c.o.eT = 1; c.o.Pi = -1; c.o.jh = -1; c.o.SV = -1; c.o.nb = 0; c.o.Hf = 1; c.o.ys = 0; c.o.mC = 1; c.o.fba = 2; c.KJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 300 : 150) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(0, 0)), this.Wg(0), this.Xg(0), this.Bf(60), this.Yg(20), this.ig(90), this.Eh(10), this.J(c.L.V.width / 2, 60), this.Kh(c.d(40, 20)), this.Ih(3), this.Jh(0.25), this.Lh(54), this.Mh(10), this.Hh(c.o.jh), this.Fh(this.vb / this.xe), this.Cf(c.color(194, 64, 31, 255)), this.Zg(c.color(0, 0, 0, 0)), this.Af(c.color(0, 0, 0, 255)), this.Ug(c.color(0, 0, 0, 0)), this.Li(!0), !0) : !1 } }); c.KJ.create = function() { var a = new c.KJ; return a.K() ? a : null }; c.LJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 1500 : 150) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(0, -90)), this.Wg(0), this.Xg(0), this.Bf(180), this.Yg(50), a = c.L.V, this.J(a.width / 2, a.height / 2), this.ig(90), this.Eh(20), this.Ih(3.5), this.Jh(1), this.Fh(this.vb / this.xe), this.Cf(c.color(128, 128, 128, 255)), this.Zg(c.color(128, 128, 128, 255)), this.Af(c.color(26, 26, 26, 51)), this.Ug(c.color(26, 26, 26, 51)), this.Lh(8), this.Mh(2), this.Hh(c.o.jh), this.Li(!1), !0) : !1 } }); c.LJ.create = function() { var a = new c.LJ; return a.K() ? a : null }; c.TJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 350 : 150) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Li(!0), this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(0, 0)), this.Wg(0), this.Xg(0), this.Bf(20), this.Yg(5), this.ig(90), this.Eh(360), a = c.L.V, this.J(a.width / 2, a.height / 2), this.Kh(c.d(0, 0)), this.Ih(1), this.Jh(0.5), this.Lh(30), this.Mh(10), this.Hh(c.o.jh), this.Fh(this.vb / this.xe), this.Cf(c.color(194, 64, 31, 255)), this.Zg(c.color(0, 0, 0, 0)), this.Af(c.color(0, 0, 0, 255)), this.Ug(c.color(0, 0, 0, 0)), !0) : !1 } }); c.TJ.create = function() { var a = new c.TJ; return a.K() ? a : null }; c.NJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 200 : 100) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(0, 0)), this.Bf(60), this.Yg(10), this.Wg(-80), this.Xg(0), this.Xk(80), this.Yk(0), this.ig(90), this.Eh(360), a = c.L.V, this.J(a.width / 2, a.height / 2), this.Kh(c.d(0, 0)), this.Ih(4), this.Jh(1), this.Lh(37), this.Mh(10), this.Hh(c.o.jh), this.Fh(this.vb / this.xe), this.Cf(c.color(31, 64, 194, 255)), this.Zg(c.color(0, 0, 0, 0)), this.Af(c.color(0, 0, 0, 255)), this.Ug(c.color(0, 0, 0, 0)), this.Li(!0), !0) : !1 } }); c.NJ.create = function() { var a = new c.NJ; return a.K() ? a : null }; c.MJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 250 : 100) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(0, 0)), this.Bf(80), this.Yg(10), this.Wg(-60), this.Xg(0), this.Xk(15), this.Yk(0), this.ig(90), this.Eh(360), a = c.L.V, this.J(a.width / 2, a.height / 2), this.Kh(c.d(0, 0)), this.Ih(4), this.Jh(1), this.Lh(30), this.Mh(10), this.Hh(c.o.jh), this.Fh(this.vb / this.xe), this.Cf(c.color(128, 128, 128, 255)), this.Zg(c.color(128, 128, 128, 128)), this.Af(c.color(0, 0, 0, 255)), this.Ug(c.color(0, 0, 0, 0)), this.Li(!0), !0) : !1 } }); c.MJ.create = function() { var a = new c.MJ; return a.K() ? a : null }; c.OJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 150 : 100) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(-200, 200)), this.Bf(15), this.Yg(5), this.Wg(0), this.Xg(0), this.Xk(0), this.Yk(0), this.ig(90), this.Eh(360), a = c.L.V, this.J(a.width / 2, a.height / 2), this.Kh(c.d(0, 0)), this.Ih(2), this.Jh(1), this.Lh(60), this.Mh(10), this.Hh(c.o.jh), this.Fh(this.vb / this.xe), this.Cf(c.color(51, 102, 179)), this.Zg(c.color(0, 0, 51, 26)), this.Af(c.color(0, 0, 0, 255)), this.Ug(c.color(0, 0, 0, 0)), this.Li(!0), !0) : !1 } }); c.OJ.create = function() { var a = new c.OJ; return a.K() ? a : null }; c.SJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 500 : 100) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(0, 0)), this.Bf(150), this.Yg(0), this.Wg(-380), this.Xg(0), this.Xk(45), this.Yk(0), this.ig(90), this.Eh(0), a = c.L.V, this.J(a.width / 2, a.height / 2), this.Kh(c.d(0, 0)), this.Ih(12), this.Jh(0), this.Lh(20), this.Mh(0), this.Hh(c.o.jh), this.Fh(this.vb / this.xe), this.Cf(c.color(128, 128, 128, 255)), this.Zg(c.color(128, 128, 128, 0)), this.Af(c.color(128, 128, 128, 255)), this.Ug(c.color(128, 128, 128, 0)), this.Li(!1), !0) : !1 } }); c.SJ.create = function() { var a = new c.SJ; return a.K() ? a : null }; c.JJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 700 : 300) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(0.1), this.Gh(c.o.nb), this.Vg(c.d(0, 0)), this.Bf(70), this.Yg(40), this.Wg(0), this.Xg(0), this.Xk(0), this.Yk(0), this.ig(90), this.Eh(360), a = c.L.V, this.J(a.width / 2, a.height / 2), this.Kh(c.d(0, 0)), this.Ih(5), this.Jh(2), this.Lh(15), this.Mh(10), this.Hh(c.o.jh), this.Fh(this.vb / this.zq()), this.Cf(c.color(179, 26, 51, 255)), this.Zg(c.color(128, 128, 128, 0)), this.Af(c.color(128, 128, 128, 0)), this.Ug(c.color(128, 128, 128, 0)), this.Li(!1), !0) : !1 } }); c.JJ.create = function() { var a = new c.JJ; return a.K() ? a : null }; c.QJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 200 : 100) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(0, 0)), this.Wg(0), this.Xg(0), this.Bf(25), this.Yg(10), this.ig(90), this.Eh(5), this.J(c.L.V.width / 2, 0), this.Kh(c.d(20, 0)), this.Ih(4), this.Jh(1), this.Lh(60), this.Mh(10), this.Hh(c.o.jh), this.Fh(this.vb / this.xe), this.Cf(c.color(204, 204, 204, 255)), this.Zg(c.color(5, 5, 5, 0)), this.Af(c.color(0, 0, 0, 255)), this.Ug(c.color(0, 0, 0, 0)), this.Li(!1), !0) : !1 } }); c.QJ.create = function() { var a = new c.QJ; return a.K() ? a : null }; c.RJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 700 : 250) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(0, -1)), this.Bf(5), this.Yg(1), this.Wg(0), this.Xg(1), this.Xk(0), this.Yk(1), a = c.L.V, this.J(a.width / 2, a.height + 10), this.Kh(c.d(a.width / 2, 0)), this.ig(-90), this.Eh(5), this.Ih(45), this.Jh(15), this.Lh(10), this.Mh(5), this.Hh(c.o.jh), this.Fh(10), this.Cf(c.color(255, 255, 255, 255)), this.Zg(c.color(0, 0, 0, 0)), this.Af(c.color(255, 255, 255, 0)), this.Ug(c.color(0, 0, 0, 0)), this.Li(!1), !0) : !1 } }); c.RJ.create = function() { var a = new c.RJ; return a.K() ? a : null }; c.PJ = c.o.extend({ K: function() { return this.ab(c.F === c.ea ? 1E3 : 300) }, ab: function(a) { return c.o.prototype.ab.call(this, a) ? (this.Tg(c.o.Pi), this.Gh(c.o.nb), this.Vg(c.d(10, -10)), this.Wg(0), this.Xg(1), this.Xk(0), this.Yk(1), this.Bf(130), this.Yg(30), this.ig(-90), this.Eh(5), a = c.L.V, this.J(a.width / 2, a.height), this.Kh(c.d(a.width / 2, 0)), this.Ih(4.5), this.Jh(0), this.Lh(4), this.Mh(2), this.Hh(c.o.jh), this.Fh(20), this.Cf(c.color(179, 204, 255, 255)), this.Zg(c.color(0, 0, 0, 0)), this.Af(c.color(179, 204, 255, 128)), this.Ug(c.color(0, 0, 0, 0)), this.Li(!1), !0) : !1 } }); c.PJ.create = function() { var a = new c.PJ; return a.K() ? a : null }; c.yaa = 500; c.DB = c.t.extend({ textureAtlas: null, jba: !0, q: null, ob: "ParticleBatchNode", ctor: function(a, b) { c.t.prototype.ctor.call(this); this.q = { src: c.vc, W: c.uc }; "string" == typeof a ? this.K(a, b) : a instanceof c.ia && this.pa(a, b) }, pa: function(a, b) { this.textureAtlas = new c.ml; this.textureAtlas.pa(a, b); this.u.length = 0; c.F === c.ea && (this.shaderProgram = c.ge.Dc(c.Zj)); return !0 }, mm: function(a, b) { var d = c.Ka.Qc(a); return this.pa(d, b) }, K: function(a, b) { var d = c.iba.Yfa().Qc(a); return this.pa(d, b) }, M: function(a, b, d) { if (!a) throw "cc.ParticleBatchNode.addChild() : child should be non-null"; if (!(a instanceof c.o)) throw "cc.ParticleBatchNode.addChild() : only supports cc.ParticleSystem as children"; b = null == b ? a.zIndex : b; d = null == d ? a.tag : d; if (a.Ua() != this.textureAtlas.texture) throw "cc.ParticleSystem.addChild() : the child is not using the same texture id"; var e = a.xi(); if (0 === this.u.length) this.zf(e); else if (e.src != this.q.src || e.W != this.q.W) { c.log("cc.ParticleSystem.addChild() : Can't add a ParticleSystem that uses a different blending function"); return } b = this.RX(a, b, d); d = 0; 0 != b ? (b = this.u[b - 1], d = b.yq() + b.vb) : d = 0; this.uH(a, d); a.wm(this) }, uH: function(a, b) { var d = a.vb, e = this.textureAtlas, f = e.totalQuads; a.iI(b); f + d > e.Td && (this.AZ(f + d), e.iP(e.Td - d, d)); a.yq() + d != f && e.OQ(b, b + d); e.cQ(d); this.LF() }, removeChild: function(a, b) { if (null != a) { if (!(a instanceof c.o)) throw "cc.ParticleBatchNode.removeChild(): only supports cc.ParticleSystem as children"; if (-1 == this.u.indexOf(a)) c.log("cc.ParticleBatchNode.removeChild(): doesn't contain the sprite. Can't remove it"); else { c.t.prototype.removeChild.call(this, a, b); var d = this.textureAtlas; d.Q6(a.yq(), a.vb); d.iP(d.totalQuads, a.vb); a.wm(null); this.LF() } } }, ar: function(a, b) { if (!a) throw "cc.ParticleBatchNode.reorderChild(): child should be non-null"; if (!(a instanceof c.o)) throw "cc.ParticleBatchNode.reorderChild(): only supports cc.QuadParticleSystems as children"; if (-1 === this.u.indexOf(a)) c.log("cc.ParticleBatchNode.reorderChild(): Child doesn't belong to batch"); else if (b != a.zIndex) { if (1 < this.u.length) { var d = this.YY(a, b); if (d.WQ != d.PQ) { this.u.splice(d.WQ, 1); this.u.splice(d.PQ, 0, a); d = a.yq(); this.LF(); for (var e = 0, f = this.u, g = 0; g < f.length; g++) if (f[g] == a) { e = a.yq(); break } this.textureAtlas.OQ(d, a.vb, e); a.l9() } } a.ky(b) } }, L6: function(a, b) { this.removeChild(this.u[ua], b) }, Sg: function(a) { for (var b = this.u, d = 0; d < b.length; d++) b[d].wm(null); c.t.prototype.Sg.call(this, a); this.textureAtlas.qR() }, p2: function(a) { a = this.textureAtlas.quads[a]; a.R.j.x = a.R.j.y = a.N.j.x = a.N.j.y = a.Q.j.x = a.Q.j.y = a.I.j.x = a.I.j.y = 0; this.textureAtlas.Vl(!0) }, Y: function() { c.F !== c.Ha && 0 != this.textureAtlas.totalQuads && (c.av(this), c.UP(this.q.src, this.q.W), this.textureAtlas.cP()) }, Ua: function() { return this.textureAtlas.texture }, zb: function(a) { this.textureAtlas.texture = a; var b = this.q; a && !a.xj() && b.src == c.vc && b.W == c.uc && (b.src = c.SRC_ALPHA, b.W = c.ONE_MINUS_SRC_ALPHA) }, zf: function(a, b) { void 0 === b ? (this.q.src = a.src, this.q.W = a.W) : (this.q.src = a, this.q.src = b) }, xi: function() { return { src: this.q.src, W: this.q.W } }, U: function(a) { c.F !== c.Ha && this.Ja && (c.eo(), this.grid && this.grid.fg() && (this.grid.ru(), this.KA()), this.transform(a), this.Y(a), this.grid && this.grid.fg() && this.grid.nu(this), c.co()) }, LF: function() { for (var a = 0, b = this.u, d = 0; d < b.length; d++) { var e = b[d]; e.iI(a); a += e.vb } }, AZ: function(a) { c.log("cocos2d: cc.ParticleBatchNode: resizing TextureAtlas capacity from [" + this.textureAtlas.Td + "] to [" + a + "]."); this.textureAtlas.aI(a) || c.log("cc.ParticleBatchNode._increaseAtlasCapacityTo() : WARNING: Not enough memory to resize the atlas") }, M_: function(a) { for (var b = this.u, d = b.length, e = 0; e < d; e++) if (b[e].zIndex > a) return e; return d }, YY: function(a, b) { for (var d = !1, e = !1, f = 0, g = 0, h = 0, k = this.u, m = k.length, n = 0; n < m; n++) { var q = k[n]; if (q.zIndex > b && !e && (f = n, e = !0, d && e)) break; if (a == q && (g = n, d = !0, e || (h = -1), d && e)) break } e || (f = m); return { PQ: f + h, WQ: g } }, RX: function(a, b, d) { if (!a) throw "cc.ParticleBatchNode._addChildHelper(): child should be non-null"; if (a.parent) return c.log("cc.ParticleBatchNode._addChildHelper(): child already added. It can't be added again"), null; this.u || (this.u = []); var e = this.M_(b); this.u.splice(e, 0, a); a.tag = d; a.ky(b); a.parent = this; this.ii && (a.ca(), a.Ki()); return e }, Gg: function() { this.textureAtlas.texture.xj() || (this.q.src = c.SRC_ALPHA, this.q.W = c.ONE_MINUS_SRC_ALPHA) }, bH: function() { return this.textureAtlas }, xI: function(a) { this.textureAtlas = a } }); p = c.DB.prototype; c.i(p, "texture", p.Ua, p.zb); c.DB.create = function(a, b) { return new c.DB(a, b) }; c.T$ = function(a, b, d) { this.Yf = a || c.rect(0, 0, 0, 0); this.end = b || c.rect(0, 0, 0, 0); this.duration = d || 0 }; c.S$ = c.qa.extend({ ctor: function() { c.yj.nO(this) }, kA: function() { c.yj.kA(this) }, z1: function() { return c.yj.sO(this) }, $O: function() { return c.yj.ZO(this) }, qG: function() { return !1 }, n2: function() {}, rG: function() { return !1 }, o2: function() {}, rQ: function() {}, WO: function() {}, QG: function() { return "" }, e5: function() {}, c5: function() {}, d5: function() {}, b5: function() {} }); c.oB = c.qa.extend({ zc: null, $a: null, ek: "", fn: null, ctor: function() { this.$a = new c.oB.qU; this.fn = c.d(0, 0) }, K: function() { if (!c.Yb.Aj) { this.zc = c.Fb("#imeDispatcherInput"); this.zc || (this.zc = c.XS(), this.zc.setAttribute("type", "text"), this.zc.setAttribute("id", "imeDispatcherInput"), this.zc.resize(0, 0), this.zc.CS(0, 0), this.zc.style.opacity = "0", this.zc.style.fontSize = "1px", this.zc.setAttribute("tabindex", 2), this.zc.style.position = "absolute", this.zc.style.top = 0, this.zc.style.left = 0, document.body.appendChild(this.zc)); var a = this; c.Ra(this.zc, "input", function() { a.IE(a.zc.value) }, !1); c.Ra(this.zc, "keydown", function(b) { b.keyCode === c.$r.N8 ? (b.stopPropagation(), b.preventDefault()) : b.keyCode == c.$r.gP && (a.Bu("\n", 1), b.stopPropagation(), b.preventDefault()) }, !1); /msie/i.test(navigator.userAgent) && c.Ra(this.zc, "keyup", function(b) { b.keyCode == c.$r.vO && a.IE(a.zc.value) }, !1); c.Ra(window, "mousedown", function(b) { var d = b.pageY || 0; a.fn.x = b.pageX || 0; a.fn.y = d }, !1) } }, IE: function(a) { var b, d; b = this.ek.length < a.length ? this.ek.length : a.length; for (d = 0; d < b && a[d] === this.ek[d]; d++); var e = this.ek.length - d, f = a.length - d; for (b = 0; b < e; b++) this.aP(); for (b = 0; b < f; b++) this.Bu(a[d + b], 1); this.ek = a }, Bu: function(a, b) { !this.$a || !a || 0 >= b || this.$a.Fe && this.$a.Fe.rQ(a, b) }, aP: function() { this.$a && this.$a.Fe && this.$a.Fe.WO() }, QG: function() { if (this.$a && this.$a.Fe) { var a = this.$a.Fe.QG(); return a ? a : "" } return "" }, Jda: function() { if (this.$a) for (var a = 0; a < this.$a.oh.length; a++); }, Hda: function() { if (this.$a) for (var a = 0; a < this.$a.oh.length; a++); }, Ida: function() { if (this.$a) for (var a = 0; a < this.$a.oh.length; a++); }, Gda: function() { if (this.$a) for (var a = 0; a < this.$a.oh.length; a++); }, nO: function(a) { a && this.$a && (-1 < this.$a.oh.indexOf(a) || this.$a.oh.splice(0, 0, a)) }, sO: function(a) { if (!this.$a || !a || -1 == this.$a.oh.indexOf(a)) return !1; if (this.$a.Fe) { if (!this.$a.Fe.rG() || !a.qG()) return !1; this.$a.Fe = null; this.nM(a); return !0 } if (!a.qG()) return !1; this.nM(a); return !0 }, nM: function(a) { c.Yb.Aj ? (this.$a.Fe = a, this.ek = a.string || "", a = prompt("please enter your word:", this.ek), null != a && this.IE(a), this.Bu("\n", 1)) : (this.$a.Fe = a, this.ek = a.string || "", this.zc.focus(), this.zc.value = this.ek, this.CY()) }, CY: function() { /msie/i.test(navigator.userAgent) ? (this.zc.style.left = this.fn.x + "px", this.zc.style.top = this.fn.y + "px") : this.zc.CS(this.fn.x, this.fn.y) }, ZO: function(a) { if (!this.$a || !a || this.$a.Fe != a || !a.rG()) return !1; this.$a.Fe = null; c.eb.focus(); return !0 }, kA: function(a) { this.$a && a && -1 != this.$a.oh.indexOf(a) && (this.$a.Fe && a == this.$a.Fe && (this.$a.Fe = null), c.tf(this.$a.oh, a)) }, Fla: function(a) { 32 > a ? a == c.$r.vO ? this.aP() : a == c.$r.gP && this.Bu("\n", 1) : 255 > a && this.Bu(String.fromCharCode(a), 1) } }); c.oB.qU = c.qa.extend({ Fe: null, oh: null, ctor: function() { this.oh = [] }, Nea: function(a) { for (var b = 0; b < this.oh.length; b++) if (this.oh[b] == a) return b; return null } }); c.yj = new c.oB; document.body ? c.yj.K() : c.Ra(window, "load", function() { c.yj.K() }, !1); c.hba = c.qa.extend({ Zka: function() { return !1 }, ala: function() { return !1 }, bla: function() { return !1 }, $ka: function() { return !1 }, Xka: function() { return !1 } }); c.nC = c.Z.extend({ VO: null, Ty: null, Vba: null, yg: "", mn: "", ax: 0, ob: "TextFieldTTF", ctor: function(a, b, d, e, f) { this.Ty = c.color(127, 127, 127); c.yj.nO(this); c.Z.prototype.ctor.call(this); void 0 !== f ? (this.B4("", b, d, e, f), a && this.tv(a)) : void 0 === e && void 0 !== d && (this.Md("", b, d), a && this.tv(a)) }, i3: function() { return this.VO }, s7: function(a) { this.VO = a }, c3: function() { return this.ax }, qfa: function() { return this.Ty }, Yma: function(a) { this.Ty = a }, B4: function(a, b, d, e, f) { switch (arguments.length) { case 5: return a && this.tv(a), this.Md(this.mn, e, f, b, d); case 3: return a && this.tv(a), this.Md(this.mn, arguments[1], arguments[2]); default: throw "Argument must be non-nil "; } }, tc: function(a) { this.yg = (a = String(a)) || ""; this.yg.length ? c.Z.prototype.tc.call(this, this.yg) : c.Z.prototype.tc.call(this, this.mn); this.ax = this.yg.length }, lm: function() { return this.yg }, tv: function(a) { this.mn = a || ""; this.yg.length || c.Z.prototype.tc.call(this, this.mn) }, M3: function() { return this.mn }, Y: function(a) { a = a || c.m; if (this.yg && 0 < this.yg.length) c.Z.prototype.Y.call(this, a); else { var b = this.color; this.color = this.Ty; c.F === c.Ha && this.Hy(); c.Z.prototype.Y.call(this, a); this.color = b } }, U: function(a) { this._super(a) }, z1: function() { return c.yj.sO(this) }, $O: function() { return c.yj.ZO(this) }, qG: function() { return !0 }, n2: function() {}, rG: function() { return !0 }, o2: function() {}, WO: function() { var a = this.yg.length; 0 != a && (1 >= a ? (this.yg = "", this.ax = 0, c.Z.prototype.tc.call(this, this.mn)) : this.string = this.yg.substring(0, a - 1)) }, kA: function() { c.yj.kA(this) }, rQ: function(a) { var b = a; a = b.indexOf("\n"); - 1 < a && (b = b.substring(0, a)); 0 < b.length && (b = this.yg + b, this.ax = b.length, this.string = b); - 1 != a && this.$O() }, QG: function() { return this.yg }, e5: function() {}, c5: function() {}, d5: function() {}, b5: function() {} }); p = c.nC.prototype; c.i(p, "charCount", p.c3); c.i(p, "placeHolder", p.M3, p.tv); c.nC.create = function(a, b, d, e, f) { return new c.nC(a, b, d, e, f) }; c.Bx = c.pU; c.mt = "Arial"; c.wM = !1; c.Rc = c.la.extend({ Nf: !1, Ne: null, Ce: null, qt: !1, ob: "MenuItem", ctor: function(a, b) { var d = c.la.prototype; d.ctor.call(this); this.Ce = this.Ne = null; this.Nf = this.qt = !1; d.Vk.call(this, 0.5, 0.5); this.Ne = b || null; if (this.Ce = a || null) this.Nf = !0 }, pia: function() { return this.qt }, ee: function() {}, Ue: function() { return !1 }, wI: function(a, b) { this.Ne = b; this.Ce = a }, isEnabled: function() { return this.Nf }, We: function(a) { this.Nf = a }, Lu: function(a, b) { this.anchorY = this.anchorX = 0.5; this.Ne = b; this.Ce = a; this.Nf = !0; this.qt = !1; return !0 }, rect: function() { var a = this.va, b = this.S, d = this.dd; return c.rect(a.x - b.width * d.x, a.y - b.height * d.y, b.width, b.height) }, selected: function() { this.qt = !0 }, Mi: function() { this.qt = !1 }, Tma: function(a, b) { this.Ne = b; this.Ce = a }, Pc: function() { if (this.Nf) { var a = this.Ne, b = this.Ce; if (b) if (a && "string" == typeof b) a[b](this); else a && "function" == typeof b ? b.call(a, this) : b(this) } } }); p = c.Rc.prototype; c.i(p, "enabled", p.isEnabled, p.We); c.Rc.create = function(a, b) { return new c.Rc(a, b) }; c.Lm = c.Rc.extend({ mp: null, nc: null, p_: 0, Rs: null, ctor: function(a, b, d) { c.Rc.prototype.ctor.call(this, b, d); this.nc = this.mp = null; this.p_ = 0; this.Rs = null; a && (this.Ct = 1, this.Rs = c.color.WHITE, this.mp = c.color(126, 126, 126), this.AA(a), this.cascadeOpacity = this.cascadeColor = !0) }, k3: function() { return this.mp }, t7: function(a) { this.mp = a }, y3: function() { return this.nc }, AA: function(a) { a && (this.M(a), a.anchorX = 0, a.anchorY = 0, this.width = a.width, this.height = a.height); this.nc && this.removeChild(this.nc, !0); this.nc = a }, We: function(a) { if (this.Nf != a) { var b = this.nc; a ? b.color = this.Rs : (this.Rs = b.color, b.color = this.mp) } c.Rc.prototype.We.call(this, a) }, Fa: function(a) { this.nc.opacity = a }, yf: function() { return this.nc.opacity }, Va: function(a) { this.nc.color = a }, xf: function() { return this.nc.color }, mQ: function(a, b, d) { this.Lu(b, d); this.Ct = 1; this.Rs = c.color.WHITE; this.mp = c.color(126, 126, 126); this.AA(a); return this.cascadeOpacity = this.cascadeColor = !0 }, tc: function(a) { this.nc.string = a; this.width = this.nc.width; this.height = this.nc.height }, lm: function() { return this.nc.string }, Pc: function() { this.Nf && (this.Dv(), this.scale = this.Ct, c.Rc.prototype.Pc.call(this)) }, selected: function() { if (this.Nf) { c.Rc.prototype.selected.call(this); var a = this.NG(c.Iw); a ? this.F8(a) : this.Ct = this.scale; a = c.Qd.create(0.1, 1.2 * this.Ct); a.to(c.Iw); this.yb(a) } }, Mi: function() { if (this.Nf) { c.Rc.prototype.Mi.call(this); this.G8(c.Iw); var a = c.Qd.create(0.1, this.Ct); a.to(c.Iw); this.yb(a) } } }); p = c.Lm.prototype; c.i(p, "string", p.lm, p.tc); c.i(p, "disabledColor", p.k3, p.t7); c.i(p, "label", p.y3, p.AA); c.Lm.create = function(a, b, d) { return new c.Lm(a, b, d) }; c.xJ = c.Lm.extend({ ctor: function(a, b, d, e, f, g, h) { var k; a && 0 < a.length && (k = c.Si.create(a, b, d, e, f)); c.Lm.prototype.ctor.call(this, k, g, h) }, Md: function(a, b, d, e, f, g, h) { if (!a || 0 == a.length) throw "cc.MenuItemAtlasFont.initWithString(): value should be non-null and its length should be greater than 0"; var k = new c.Si; k.Md(a, b, d, e, f); this.mQ(k, g, h); return !0 } }); c.xJ.create = function(a, b, d, e, f, g, h) { return new c.xJ(a, b, d, e, f, g, h) }; c.Xj = c.Lm.extend({ fc: null, mc: null, ctor: function(a, b, d) { var e; a && 0 < a.length ? (this.mc = c.mt, this.fc = c.Bx, e = c.Z.create(a, this.mc, this.fc)) : (this.fc = 0, this.mc = ""); c.Lm.prototype.ctor.call(this, e, b, d) }, Md: function(a, b, d) { if (!a || 0 == a.length) throw "Value should be non-null and its length should be greater than 0"; this.mc = c.mt; this.fc = c.Bx; a = c.Z.create(a, this.mc, this.fc); this.mQ(a, b, d); return !0 }, zA: function(a) { this.fc = a; this.oN() }, UG: function() { return this.fc }, yA: function(a) { this.mc = a; this.oN() }, TG: function() { return this.mc }, oN: function() { var a = c.Z.create(this.nc.string, this.mc, this.fc); this.AA(a) } }); c.Xj.zA = function(a) { c.Bx = a }; c.Xj.fontSize = function() { return c.Bx }; c.Xj.yA = function(a) { c.wM && (c.mt = ""); c.mt = a; c.wM = !0 }; p = c.Xj.prototype; c.i(p, "fontSize", p.UG, p.zA); c.i(p, "fontName", p.TG, p.yA); c.Xj.fontName = function() { return c.mt }; c.Xj.create = function(a, b, d) { return new c.Xj(a, b, d) }; c.Mo = c.Rc.extend({ Cd: null, pf: null, hf: null, ctor: function(a, b, d, e, f) { c.Rc.prototype.ctor.call(this); this.hf = this.pf = this.Cd = null; if (void 0 !== b) { var g, h, k; void 0 !== f ? (g = d, k = e, h = f) : void 0 !== e && "function" === typeof e ? (g = d, k = e) : void 0 !== e && "function" === typeof d ? (h = e, k = d, g = b) : void 0 === d && (g = b); this.nQ(a, b, g, k, h) } }, K3: function() { return this.Cd }, oI: function(a) { this.Cd != a && (a && (this.M(a, 0, c.MU), a.anchorX = 0, a.anchorY = 0), this.Cd && this.removeChild(this.Cd, !0), this.Cd = a, this.width = this.Cd.width, this.height = this.Cd.height, this.Dy(), a.Fv && !a.sa && a.ue(function(a) { this.width = a.width; this.height = a.height }, this)) }, U3: function() { return this.pf }, tI: function(a) { this.pf != a && (a && (this.M(a, 0, c.CV), a.anchorX = 0, a.anchorY = 0), this.pf && this.removeChild(this.pf, !0), this.pf = a, this.Dy()) }, l3: function() { return this.hf }, lI: function(a) { this.hf != a && (a && (this.M(a, 0, c.GT), a.anchorX = 0, a.anchorY = 0), this.hf && this.removeChild(this.hf, !0), this.hf = a, this.Dy()) }, nQ: function(a, b, d, e, f) { this.Lu(e, f); this.oI(a); this.tI(b); this.lI(d); if (a = this.Cd) this.width = a.width, this.height = a.height, a.Fv && !a.sa && a.ue(function(a) { this.width = a.width; this.height = a.height; this.cascadeOpacity = this.cascadeColor = !0 }, this); return this.cascadeOpacity = this.cascadeColor = !0 }, Va: function(a) { this.Cd.color = a; this.pf && (this.pf.color = a); this.hf && (this.hf.color = a) }, xf: function() { return this.Cd.color }, Fa: function(a) { this.Cd.opacity = a; this.pf && (this.pf.opacity = a); this.hf && (this.hf.opacity = a) }, yf: function() { return this.Cd.opacity }, selected: function() { c.Rc.prototype.selected.call(this); this.Cd && (this.hf && (this.hf.visible = !1), this.pf ? (this.Cd.visible = !1, this.pf.visible = !0) : this.Cd.visible = !0) }, Mi: function() { c.Rc.prototype.Mi.call(this); this.Cd && (this.Cd.visible = !0, this.pf && (this.pf.visible = !1), this.hf && (this.hf.visible = !1)) }, We: function(a) { this.Nf != a && (c.Rc.prototype.We.call(this, a), this.Dy()) }, Dy: function() { var a = this.Cd, b = this.pf, d = this.hf; this.Nf ? (a && (a.visible = !0), b && (b.visible = !1), d && (d.visible = !1)) : d ? (a && (a.visible = !1), b && (b.visible = !1), d && (d.visible = !0)) : (a && (a.visible = !0), b && (b.visible = !1)) } }); p = c.Mo.prototype; c.i(p, "normalImage", p.K3, p.oI); c.i(p, "selectedImage", p.U3, p.tI); c.i(p, "disabledImage", p.l3, p.lI); c.Mo.create = function(a, b, d, e, f) { return new c.Mo(a, b, d, e, f || void 0) }; c.Sh = c.Mo.extend({ ctor: function(a, b, d, e, f) { var g = null, h = null, k = null, m = null, n = null; void 0 === a ? c.Mo.prototype.ctor.call(this) : (g = c.P.create(a), b && (h = c.P.create(b)), void 0 === e ? m = d : void 0 === f ? (m = d, n = e) : f && (k = c.P.create(d), m = e, n = f), c.Mo.prototype.ctor.call(this, g, h, k, m, n)) }, Kna: function(a) { this.oI(c.P.create(a)) }, foa: function(a) { this.tI(c.P.create(a)) }, hna: function(a) { this.lI(c.P.create(a)) }, Tha: function(a, b, d, e, f) { var g = null, h = null, k = null; a && (g = c.P.create(a)); b && (h = c.P.create(b)); d && (k = c.P.create(d)); return this.nQ(g, h, k, e, f) } }); c.Sh.create = function(a, b, d, e, f) { return new c.Sh(a, b, d, e, f) }; c.wB = c.Rc.extend({ xd: null, uh: 0, qe: null, Ee: null, ctor: function() { var a = arguments.length, b, d; "function" === typeof arguments[a - 2] ? (b = arguments[a - 2], d = arguments[a - 1], a -= 2) : "function" === typeof arguments[a - 1] && (b = arguments[a - 1], a -= 1); c.Rc.prototype.ctor.call(this, b, d); this.uh = 0; this.xd = []; this.qe = 0; this.Ee = c.color.WHITE; if (0 < a) { b = this.xd; for (d = b.length = 0; d < a; d++) arguments[d] && b.push(arguments[d]); this.uh = c.sC; this.wv(0); this.dr(!0); this.er(!0) } }, yf: function() { return this.qe }, Fa: function(a) { this.qe = a; if (this.xd && 0 < this.xd.length) for (var b = 0; b < this.xd.length; b++) this.xd[b].opacity = a; this.Ee.a = a }, xf: function() { var a = this.Ee; return c.color(a.r, a.g, a.b, a.a) }, Va: function(a) { var b = this.Ee; b.r = a.r; b.g = a.g; b.b = a.b; if (this.xd && 0 < this.xd.length) for (b = 0; b < this.xd.length; b++) this.xd[b].Va(a); void 0 === a.a || a.mu || this.Fa(a.a) }, V3: function() { return this.uh }, wv: function(a) { if (a != this.uh) { this.uh = a; (a = this.cg(c.aJ)) && a.vm(!1); a = this.xd[this.uh]; this.M(a, 0, c.aJ); var b = a.width, d = a.height; this.width = b; this.height = d; a.J(b / 2, d / 2) } }, hha: function() { return this.xd }, moa: function(a) { this.xd = a }, lQ: function(a) { var b = a.length; "function" === typeof a[a.length - 2] ? (this.Lu(a[a.length - 2], a[a.length - 1]), b -= 2) : "function" === typeof a[a.length - 1] ? (this.Lu(a[a.length - 1], null), b -= 1) : this.Lu(null, null); for (var d = this.xd, e = d.length = 0; e < b; e++) a[e] && d.push(a[e]); this.uh = c.sC; this.wv(0); return this.cascadeOpacity = this.cascadeColor = !0 }, zca: function(a) { this.xd.push(a) }, Pc: function() { this.Nf && this.wv((this.uh + 1) % this.xd.length); c.Rc.prototype.Pc.call(this) }, selected: function() { c.Rc.prototype.selected.call(this); this.xd[this.uh].selected() }, Mi: function() { c.Rc.prototype.Mi.call(this); this.xd[this.uh].Mi() }, We: function(a) { if (this.Nf != a) { c.Rc.prototype.We.call(this, a); var b = this.xd; if (b && 0 < b.length) for (var d = 0; d < b.length; d++) b[d].enabled = a } }, Hma: function() { return this.xd[this.uh] }, ca: function() { c.t.prototype.ca.call(this); this.wv(this.uh) } }); p = c.wB.prototype; c.i(p, "selectedIndex", p.V3, p.wv); c.wB.create = function() { 0 < arguments.length && null == arguments[arguments.length - 1] && c.log("parameters should not be ending with null in Javascript"); var a = new c.wB; a.lQ(Array.prototype.slice.apply(arguments)); return a }; c.cs = 0; c.bs = 1; c.kaa = -128; c.eJ = 5; c.hh = c.lg.extend({ enabled: !1, Ee: null, qe: 0, Bc: null, oi: -1, WN: null, ob: "Menu", ctor: function(a) { c.lg.prototype.ctor.call(this); this.Ee = c.color.WHITE; this.enabled = !1; this.qe = 255; this.Bc = null; this.oi = -1; this.WN = c.za.create({ event: c.za.xs, Ev: !0, jo: this.j_, gv: this.n_, fv: this.l_, ev: this.k_ }); 0 < arguments.length && null == arguments[arguments.length - 1] && c.log("parameters should not be ending with null in Javascript"); var b = arguments.length, d; if (0 == b) d = []; else if (1 == b) d = a instanceof Array ? a : [a]; else if (1 < b) { d = []; for (var e = 0; e < b; e++) arguments[e] && d.push(arguments[e]) } this.hQ(d) }, ca: function() { var a = this.WN; a.Sf || c.wa.addListener(a, this); c.t.prototype.ca.call(this) }, xf: function() { var a = this.Ee; return c.color(a.r, a.g, a.b, a.a) }, Va: function(a) { var b = this.Ee; b.r = a.r; b.g = a.g; b.b = a.b; if ((b = this.u) && 0 < b.length) for (var d = 0; d < b.length; d++) b[d].Va(a); void 0 === a.a || a.mu || this.Fa(a.a) }, yf: function() { return this.qe }, Fa: function(a) { this.qe = a; var b = this.u; if (b && 0 < b.length) for (var d = 0; d < b.length; d++) b[d].Fa(a); this.Ee.a = a }, isEnabled: function() { return this.enabled }, We: function(a) { this.enabled = a }, lQ: function(a) { var b = []; if (a) for (var d = 0; d < a.length; d++) a[d] && b.push(a[d]); return this.hQ(b) }, hQ: function(a) { if (c.lg.prototype.K.call(this)) { this.enabled = !0; var b = c.ja; this.J(b.width / 2, b.height / 2); this.ye(b); this.Vk(0.5, 0.5); this.qz(!0); if (a) for (b = 0; b < a.length; b++) this.M(a[b], b); this.Bc = null; this.oi = c.cs; return this.cascadeOpacity = this.cascadeColor = !0 } return !1 }, M: function(a, b, d) { if (!(a instanceof c.Rc)) throw "cc.Menu.addChild() : Menu only supports MenuItem objects as children"; c.je.prototype.M.call(this, a, b, d) }, Eca: function() { this.Jy(c.eJ) }, Jy: function(a) { var b = -a, d = this.u, e, f, g, h; if (d && 0 < d.length) { f = 0; for (e = d.length; f < e; f++) b += d[f].height * d[f].scaleY + a; var k = b / 2; f = 0; for (e = d.length; f < e; f++) h = d[f], g = h.height, b = h.scaleY, h.J(0, k - g * b / 2), k -= g * b + a } }, Bca: function() { this.fG(c.eJ) }, fG: function(a) { var b = -a, d = this.u, e, f, g, h; if (d && 0 < d.length) { e = 0; for (f = d.length; e < f; e++) b += d[e].width * d[e].scaleX + a; var k = -b / 2; e = 0; for (f = d.length; e < f; e++) h = d[e], b = h.scaleX, g = d[e].width, h.J(k + g * b / 2, 0), k += g * b + a } }, Cca: function() { 0 < arguments.length && null == arguments[arguments.length - 1] && c.log("parameters should not be ending with null in Javascript"); for (var a = [], b = 0; b < arguments.length; b++) a.push(arguments[b]); var d = -5, e = 0, f = 0, g = 0, h, k, m, n = this.u; if (n && 0 < n.length) for (b = 0, m = n.length; b < m; b++) e >= a.length || !(h = a[e]) || (k = n[b].height, f = f >= k || isNaN(k) ? f : k, ++g, g >= h && (d += f + 5, f = g = 0, ++e)); var q = c.L.V, r = h = f = e = 0, t = 0, d = d / 2; if (n && 0 < n.length) for (b = 0, m = n.length; b < m; b++) { var s = n[b]; 0 == h && (h = a[e], t = r = q.width / (1 + h)); k = s.Jl(); f = f >= k || isNaN(k) ? f : k; s.J(t - q.width / 2, d - k / 2); t += r; ++g; g >= h && (d -= f + 5, f = h = g = 0, ++e) } }, Dca: function() { 0 < arguments.length && null == arguments[arguments.length - 1] && c.log("parameters should not be ending with null in Javascript"); var a = [], b; for (b = 0; b < arguments.length; b++) a.push(arguments[b]); var d = [], e = [], f = -10, g = -5, h = 0, k = 0, m = 0, n, q, r, t, s = this.u; if (s && 0 < s.length) for (b = 0, r = s.length; b < r; b++)(q = s[b], h >= a.length || !(n = a[h])) || (t = q.width, k = k >= t || isNaN(t) ? k : t, g += q.height + 5, ++m, m >= n && (d.push(k), e.push(g), f += k + 10, k = m = 0, g = -5, ++h)); g = c.L.V; n = k = h = 0; var f = -f / 2, u = 0; if (s && 0 < s.length) for (b = 0, r = s.length; b < r; b++) q = s[b], 0 == n && (n = a[h], u = e[h]), t = q.Wh(), k = k >= t || isNaN(t) ? k : t, q.J(f + d[h] / 2, u - g.height / 2), u -= q.height + 10, ++m, m >= n && (f += k + 5, k = n = m = 0, ++h) }, removeChild: function(a, b) { null != a && (a instanceof c.Rc ? (this.Bc == a && (this.Bc = null), c.t.prototype.removeChild.call(this, a, b)) : c.log("cc.Menu.removeChild():Menu only supports MenuItem objects as children")) }, j_: function(a, b) { var d = b.Vd; if (d.oi != c.cs || !d.Ja || !d.enabled) return !1; for (var e = d.parent; null != e; e = e.parent) if (!e.Ja) return !1; d.Bc = d.MM(a); return d.Bc ? (Ma.T5(d.Bc.Dq()), d.oi = c.bs, d.Bc.selected(), !0) : !1 }, l_: function(a, b) { var d = b.Vd; d.oi !== c.bs ? c.log("cc.Menu.onTouchEnded(): invalid state") : (d.Bc && (Ma.XQ(d.Bc.Dq()), d.Bc.Mi(), d.Bc.Pc()), d.oi = c.cs) }, k_: function(a, b) { var d = b.Vd; d.oi !== c.bs ? c.log("cc.Menu.onTouchCancelled(): invalid state") : (this.Bc && (Ma.XQ(d.Bc.Dq()), d.Bc.Mi()), d.oi = c.cs) }, n_: function(a, b) { var d = b.Vd; if (d.oi !== c.bs) c.log("cc.Menu.onTouchMoved(): invalid state"); else { var e = d.MM(a); e != d.Bc && (d.Bc && d.Bc.Mi(), d.Bc = e, d.Bc && d.Bc.selected()) } }, xb: function() { this.oi == c.bs && (this.Bc && (this.Bc.Mi(), this.Bc = null), this.oi = c.cs); c.t.prototype.xb.call(this) }, ee: function() {}, Ue: function() { return !1 }, MM: function(a) { a = a.Aq(); var b = this.u, d; if (b && 0 < b.length) for (var e = 0; e < b.length; e++) if (d = b[e], d.Ja && d.isEnabled()) { var f = d.CG(a), g = d.rect(); g.x = 0; g.y = 0; if (c.Rg(g, f)) return d } return null } }); p = c.hh.prototype; c.hh.create = function(a) { var b = arguments.length; 0 < b && null == arguments[b - 1] && c.log("parameters should not be ending with null in Javascript"); return 0 == b ? new c.hh : 1 == b ? new c.hh(a) : new c.hh(Array.prototype.slice.call(arguments, 0)) }; c.Yaa = 0; c.Uaa = 1; c.Xaa = 2; c.Vaa = 3; c.Waa = 4; c.Taa = 5; c.opa = function(a, b, d) { var e = 2; if (e + 1 > b) return !1; a = new c.lT(a); a.BA(e); d.type = a.T(); e += 10; if (e + 4 + 1 > b) return !1; a.BA(e); d.width = a.E6(); d.height = a.D6(); d.pixelDepth = a.T(); if (e + 5 + 1 > b) return !1; b = a.T(); d.lP = 0; b & 32 && (d.lP = 1); return !0 }; c.ppa = function(a, b, d) { var e, f; e = 0 | d.pixelDepth / 2; f = d.height * d.width * e; if (18 + f > b) return !1; d.eg = c.Mw(a, 18, 18 + f); if (3 <= e) for (a = 0; a < f; a += e) b = d.eg[a], d.eg[a] = d.eg[a + 2], d.eg[a + 2] = b; return !0 }; c.rpa = function(a) { var b, d; if (8 !== a.pixelDepth) { var e = a.pixelDepth / 8, f = new Uint8Array(a.height * a.width); if (null !== f) { for (d = b = 0; d < a.width * a.height; b += e, d++) f[d] = 0.3 * a.eg[b] + 0.59 * a.eg[b + 1] + 0.11 * a.eg[b + 2]; a.pixelDepth = 8; a.type = 3; a.eg = f } } }; c.mpa = function(a) { a && (a.eg = null) }; c.qpa = function(a, b, d) { var e, f, g, h = 0, k = 0, m = 0, n = [], q = 0, r = 18; e = d.pixelDepth / 8; f = d.height * d.width; for (g = 0; g < f; g++) { if (0 != q) q--, k = 0 != m; else { if (r + 1 > b) break; q = a[r]; r += 1; (m = q & 128) && (q -= 128); k = 0 } if (!k) { if (r + e > b) break; n = c.Mw(a, r, r + e); r += e; 3 <= e && (k = n[0], n[0] = n[2], n[2] = k) } for (k = 0; k < e; k++) d.eg[h + k] = n[k]; h += e } return !0 }; c.npa = function(a) { for (var b = a.pixelDepth / 8 * a.width, d = 0; d < a.height / 2; d++) { var e = c.Mw(a.eg, d * b, d * b + b); c.bL(c.Mw(a.eg, (a.height - (d + 1)) * b, b), a.eg, d * b); c.bL(e, a.eg, (a.height - (d + 1)) * b) } a.lP = 0 }; c.Mw = function(a, b, d) { return a instanceof Array ? a.slice(b, d) : a.subarray(b, d) }; c.bL = function(a, b, d) { for (var e = 0; e < a.length; e++) b[d + e] = a[e] }; c.lT = c.qa.extend({ Vo: null, oa: 0, ctor: function(a) { this.Vo = a }, Qma: function(a) { this.Vo = a; this.oa = 0 }, dfa: function() { return this.Vo }, jY: function(a) { if (!(this.oa + Math.ceil(a / 8) < this.kp.length)) throw Error("Index out of bound"); }, yY: function(a, b) { var d = a + b + 1, e = d >> 3; this.jY(d); var d = Math.pow(2, b - 1) - 1, f = this.LE(a + b, 1, e), g = this.LE(a, b, e), h = 0, k = 2, m = 0; do for (var n = this.cy(++m, e), q = a % 8 || 8, r = 1 << q; r >>= 1;) n & r && (h += 1 / k), k *= 2; while (a -= q); this.oa += e; return g == (d << 1) + 1 ? h ? NaN : f ? -Infinity : Infinity : (1 + -2 * f) * (g || h ? g ? Math.pow(2, g - d) * (1 + h) : Math.pow(2, -d + 1) * h : 0) }, cy: function(a, b) { return this.kp[this.oa + b - a - 1] }, hx: function(a, b) { var d = this.LE(0, a, a / 8), e = Math.pow(2, a); this.oa += a / 8; return b && d >= e / 2 ? d - e : d }, w0: function(a, b) { for (++b; --b; a = 1073741824 == ((a %= 2147483648) & 1073741824) ? 2 * a : 2 * (a - 1073741824) + 2147483648); return a }, LE: function(a, b, d) { var e = (a + b) % 8, f = a % 8, g = d - (a >> 3) - 1; a = d + (-(a + b) >> 3); var h = g - a; b = this.cy(g, d) >> f & (1 << (h ? 8 - f : b)) - 1; for (h && e && (b += (this.cy(a++, d) & (1 << e) - 1) << (h-- << 3) - f); h;) b += this.w0(this.cy(a++, d), (h-- << 3) - f); return b }, Pla: function() { return this.hx(32, !0) }, D6: function() { return this.hx(32, !1) }, Rla: function() { return this.yY(23, 8) }, Qla: function() { return this.hx(16, !0) }, E6: function() { return this.hx(16, !1) }, T: function() { var a = this.kp[this.oa]; this.oa += 1; return a }, Mla: function(a, b) { return this.Vo instanceof Array ? this.Vo.slice(a, b) : this.Vo.subarray(a, b) }, BA: function(a) { this.oa = a }, zP: function() { return this.oa } }); c.Bw = 0; c.zw = 1; c.Aw = 2; c.cC = c.la.extend({ Wb: null, MH: null, Uq: null, pd: null, Ub: null, Ak: null, ob: "TMXTiledMap", ctor: function(a, b) { c.t.prototype.ctor.call(this); this.pd = c.size(0, 0); this.Ub = c.size(0, 0); void 0 !== b ? this.sH(a, b) : void 0 !== a && this.rH(a) }, WG: function() { return c.size(this.pd.width, this.pd.height) }, SR: function(a) { this.pd.width = a.width; this.pd.height = a.height }, MD: function() { return this.pd.width }, dF: function(a) { this.pd.width = a }, LD: function() { return this.pd.height }, cF: function(a) { this.pd.height = a }, Eq: function() { return c.size(this.Ub.width, this.Ub.height) }, eS: function(a) { this.Ub.width = a.width; this.Ub.height = a.height }, lt: function() { return this.Ub.width }, Ot: function(a) { this.Ub.width = a }, kt: function() { return this.Ub.height }, Nt: function(a) { this.Ub.height = a }, jga: function() { return this.MH }, Fna: function(a) { this.MH = a }, yP: function() { return this.Uq }, TR: function(a) { this.Uq = a }, fz: function() { return this.Wb }, CA: function(a) { this.Wb = a }, rH: function(a) { if (!a || 0 == a.length) throw "cc.TMXTiledMap.initWithTMXFile(): tmxFile should be non-null or non-empty string."; this.height = this.width = 0; a = c.us.create(a); if (!a) return !1; var b = a.yn; b && 0 !== b.length || c.log("cc.TMXTiledMap.initWithTMXFile(): Map not found. Please check the filename."); this.mL(a); return !0 }, sH: function(a, b) { this.height = this.width = 0; var d = c.us.create(a, b), e = d.yn; e && 0 !== e.length || c.log("cc.TMXTiledMap.initWithXML(): Map not found. Please check the filename."); this.mL(d); return !0 }, mL: function(a) { this.pd = a.WG(); this.Ub = a.Eq(); this.MH = a.orientation; this.Uq = a.yP(); this.Wb = a.Wb; this.Ak = a.Ak; var b = 0, d = a.Ie; if (d) for (var e = null, f = 0, g = d.length; f < g; f++)(e = d[f]) && e.visible && (e = this.t_(e, a), this.M(e, b, b), this.width = Math.max(this.width, e.width), this.height = Math.max(this.height, e.height), b++) }, Fca: function() { for (var a = [], b = this.u, d = 0, e = b.length; d < e; d++) { var f = b[d]; f && f instanceof c.ts && a.push(f) } return a }, $fa: function(a) { if (!a || 0 === a.length) throw "cc.TMXTiledMap.getLayer(): layerName should be non-null or non-empty string."; for (var b = this.u, d = 0; d < b.length; d++) { var e = b[d]; if (e && e.Oz == a) return e } return null }, sga: function(a) { if (!a || 0 === a.length) throw "cc.TMXTiledMap.getObjectGroup(): groupName should be non-null or non-empty string."; if (this.Uq) for (var b = 0; b < this.Uq.length; b++) { var d = this.Uq[b]; if (d && d.Ku == a) return d } return null }, YG: function(a) { return this.Wb[a.toString()] }, Hla: function(a) { return this.Ak[a] }, t_: function(a, b) { var d = this.J0(a, b), d = c.ts.create(d, a, b); a.$Q = !1; d.r8(); return d }, J0: function(a, b) { var d = a.ua, e = b.yn; if (e) for (var f = e.length - 1; 0 <= f; f--) { var g = e[f]; if (g) for (var h = 0; h < d.height; h++) for (var k = 0; k < d.width; k++) { var m = a.qf[k + d.width * h]; if (0 != m && (m & c.dC) >>> 0 >= g.Wn) return g } } c.log("cocos2d: Warning: TMX Layer " + a.name + " has no tiles"); return null } }); p = c.cC.prototype; c.i(p, "mapWidth", p.MD, p.dF); c.i(p, "mapHeight", p.LD, p.cF); c.i(p, "tileWidth", p.lt, p.Ot); c.i(p, "tileHeight", p.kt, p.Nt); c.cC.create = function(a, b) { return new c.cC(a, b) }; c.KW = 0; c.$aa = 1; c.Zaa = 2; c.bba = 3; c.aba = 4; c.cba = 5; c.vs = 2147483648; c.ws = 1073741824; c.iK = 536870912; c.jK = (c.vs | c.ws | c.iK) >>> 0; c.dC = ~c.jK >>> 0; c.Qm = c.qa.extend({ Wb: null, name: "", ua: null, qf: null, visible: null, qe: null, $Q: !0, hn: 1E5, gn: 0, offset: null, ctor: function() { this.Wb = []; this.name = ""; this.ua = null; this.qf = []; this.visible = !0; this.qe = 0; this.$Q = !0; this.hn = 1E5; this.gn = 0; this.offset = c.d(0, 0) }, fz: function() { return this.Wb }, CA: function(a) { this.Wb = a } }); c.JW = c.qa.extend({ name: "", Wn: 0, Ub: null, Av: 0, margin: 0, lS: "", rz: null, ctor: function() { this.Ub = c.size(0, 0); this.rz = c.size(0, 0) }, pv: function(a) { var b = c.rect(0, 0, 0, 0); b.width = this.Ub.width; b.height = this.Ub.height; a &= c.dC; a -= parseInt(this.Wn, 10); var d = parseInt((this.rz.width - 2 * this.margin + this.Av) / (this.Ub.width + this.Av), 10); b.x = parseInt(a % d * (this.Ub.width + this.Av) + this.margin, 10); b.y = parseInt(parseInt(a / d, 10) * (this.Ub.height + this.Av) + this.margin, 10); return b } }); c.us = c.ww.extend({ Wb: null, orientation: null, parentElement: null, cA: null, Nz: 0, GI: !1, qr: null, DG: null, Sx: null, pd: null, Ub: null, Ie: null, yn: null, Ak: null, gy: "", vL: 0, ctor: function(a, b) { c.ww.prototype.ctor.apply(this); this.pd = c.size(0, 0); this.Ub = c.size(0, 0); this.Ie = []; this.yn = []; this.Sx = []; this.Wb = []; this.Ak = {}; this.vL = 0; void 0 !== b ? this.sH(a, b) : void 0 !== a && this.rH(a) }, yga: function() { return this.orientation }, Pna: function(a) { this.orientation = a }, WG: function() { return c.size(this.pd.width, this.pd.height) }, SR: function(a) { this.pd.width = a.width; this.pd.height = a.height }, MD: function() { return this.pd.width }, dF: function(a) { this.pd.width = a }, LD: function() { return this.pd.height }, cF: function(a) { this.pd.height = a }, Eq: function() { return c.size(this.Ub.width, this.Ub.height) }, eS: function(a) { this.Ub.width = a.width; this.Ub.height = a.height }, lt: function() { return this.Ub.width }, Ot: function(a) { this.Ub.width = a }, kt: function() { return this.Ub.height }, Nt: function(a) { this.Ub.height = a }, ega: function() { return this.Ie }, QR: function(a) { this.Ie.push(a) }, qha: function() { return this.yn }, h8: function(a) { this.yn.push(a) }, yP: function() { return this.Sx }, TR: function(a) { this.Sx.push(a) }, Dga: function() { return this.parentElement }, Una: function(a) { this.parentElement = a }, Ega: function() { return this.cA }, Vna: function(a) { this.cA = a }, aga: function() { return this.Nz }, yna: function(a) { this.Nz = a }, gha: function() { return this.GI }, loa: function(a) { this.GI = a }, fz: function() { return this.Wb }, CA: function(a) { this.Wb = a }, rH: function(a) { this.EM(a, null); return this.TH(a) }, sH: function(a, b) { this.EM(null, b); return this.g6(a) }, TH: function(a, b) { var d = (b = b || !1) ? a : c.X.be(a); if (!d) throw "Please load the resource first : " + a; var e, f, d = this.sE(d).documentElement; e = d.getAttribute("version"); f = d.getAttribute("orientation"); if ("map" == d.nodeName && ("1.0" != e && null !== e && c.log("cocos2d: TMXFormat: Unsupported TMX version:" + e), "orthogonal" == f ? this.orientation = c.Bw : "isometric" == f ? this.orientation = c.Aw : "hexagonal" == f ? this.orientation = c.zw : null !== f && c.log("cocos2d: TMXFomat: Unsupported orientation:" + f), e = c.size(0, 0), e.width = parseFloat(d.getAttribute("width")), e.height = parseFloat(d.getAttribute("height")), this.SR(e), e = c.size(0, 0), e.width = parseFloat(d.getAttribute("tilewidth")), e.height = parseFloat(d.getAttribute("tileheight")), this.eS(e), f = d.querySelectorAll("map > properties > property"))) { var g = {}; for (e = 0; e < f.length; e++) g[f[e].getAttribute("name")] = f[e].getAttribute("value"); this.Wb = g } g = d.getElementsByTagName("tileset"); "map" !== d.nodeName && (g = [], g.push(d)); for (e = 0; e < g.length; e++) { f = g[e]; var h = f.getAttribute("source"); if (h) f = b ? c.path.join(this.gy, h) : c.path.kq(a, h), this.TH(f); else { h = new c.JW; h.name = f.getAttribute("name") || ""; h.Wn = parseInt(f.getAttribute("firstgid")) || 0; h.Av = parseInt(f.getAttribute("spacing")) || 0; h.margin = parseInt(f.getAttribute("margin")) || 0; var k = c.size(0, 0); k.width = parseFloat(f.getAttribute("tilewidth")); k.height = parseFloat(f.getAttribute("tileheight")); h.Ub = k; var k = f.getElementsByTagName("image")[0].getAttribute("source"), m = -1; this.qr && (m = this.qr.lastIndexOf("/")); h.lS = -1 !== m ? this.qr.substr(0, m + 1) + k : this.gy + (this.gy ? "/" : "") + k; this.h8(h); if (k = f.getElementsByTagName("tile")) for (m = 0; m < k.length; m++) { f = k[m]; this.cA = parseInt(h.Wn) + parseInt(f.getAttribute("id") || 0); var n = f.querySelectorAll("properties > property"); if (n) { var q = {}; for (f = 0; f < n.length; f++) { var r = n[f].getAttribute("name"); q[r] = n[f].getAttribute("value") } this.Ak[this.cA] = q } } } } if (g = d.getElementsByTagName("layer")) for (e = 0; e < g.length; e++) { k = g[e]; m = k.getElementsByTagName("data")[0]; h = new c.Qm; h.name = k.getAttribute("name"); f = c.size(0, 0); f.width = parseFloat(k.getAttribute("width")); f.height = parseFloat(k.getAttribute("height")); h.ua = f; f = k.getAttribute("visible"); h.visible = "0" != f; f = k.getAttribute("opacity") || 1; h.qe = f ? parseInt(255 * parseFloat(f)) : 255; h.offset = c.d(parseFloat(k.getAttribute("x")) || 0, parseFloat(k.getAttribute("y")) || 0); n = ""; for (f = 0; f < m.childNodes.length; f++) n += m.childNodes[f].nodeValue; n = n.trim(); f = m.getAttribute("compression"); q = m.getAttribute("encoding"); if (f && "gzip" !== f && "zlib" !== f) return c.log("cc.TMXMapInfo.parseXMLFile(): unsupported compression method"), null; switch (f) { case "gzip": h.qf = c.IS(n, 4); break; case "zlib": f = new Zlib.Ho(c.na.Fm.RO(n, 1)); h.qf = c.Z8(f.SO()); break; case null: case "": if ("base64" == q) h.qf = c.na.Fm.RO(n, 4); else if ("csv" === q) for (h.qf = [], f = n.split(","), m = 0; m < f.length; m++) h.qf.push(parseInt(f[m])); else for (f = m.getElementsByTagName("tile"), h.qf = [], m = 0; m < f.length; m++) h.qf.push(parseInt(f[m].getAttribute("gid"))); break; default: this.Nz == c.Qm.SI && c.log("cc.TMXMapInfo.parseXMLFile(): Only base64 and/or gzip/zlib maps are supported") } if (k = k.querySelectorAll("properties > property")) { m = {}; for (f = 0; f < k.length; f++) m[k[f].getAttribute("name")] = k[f].getAttribute("value"); h.Wb = m } this.QR(h) } if (g = d.getElementsByTagName("objectgroup")) for (e = 0; e < g.length; e++) { k = g[e]; h = new c.IW; h.Ku = k.getAttribute("name"); h.S7(c.d(parseFloat(k.getAttribute("x")) * this.Eq().width || 0, parseFloat(k.getAttribute("y")) * this.Eq().height || 0)); if (m = k.querySelectorAll("objectgroup > properties > property")) for (f = 0; f < m.length; f++) n = {}, n[m[f].getAttribute("name")] = m[f].getAttribute("value"), h.Wb = n; if (k = k.querySelectorAll("object")) for (f = 0; f < k.length; f++) { n = k[f]; m = {}; m.name = n.getAttribute("name") || ""; m.type = n.getAttribute("type") || ""; m.x = parseInt(n.getAttribute("x") || 0) + h.Mp.x; q = parseInt(n.getAttribute("y") || 0) + h.Mp.y; m.width = parseInt(n.getAttribute("width")) || 0; m.height = parseInt(n.getAttribute("height")) || 0; m.y = parseInt(this.WG().height * this.Eq().height) - q - m.height; if (q = n.querySelectorAll("properties > property")) for (r = 0; r < q.length; r++) m[q[r].getAttribute("name")] = q[r].getAttribute("value"); (q = n.querySelectorAll("polygon")) && 0 < q.length && (q = q[0].getAttribute("points")) && (m.polygonPoints = this.cN(q)); (n = n.querySelectorAll("polyline")) && 0 < n.length && (n = n[0].getAttribute("points")) && (m.polylinePoints = this.cN(n)); h.N7(m) } this.TR(h) } return d }, cN: function(a) { if (!a) return null; var b = []; a = a.split(" "); for (var d = 0; d < a.length; d++) { var e = a[d].split(","); b.push({ x: e[0], y: e[1] }) } return b }, g6: function(a) { return this.TH(a, !0) }, nha: function() { return this.Ak }, toa: function(a) { this.Ak.push(a) }, tfa: function() { return this.DG }, cna: function(a) { this.DG = a }, iha: function() { return this.qr }, ooa: function(a) { this.qr = a }, EM: function(a, b) { this.yn.length = 0; this.Ie.length = 0; this.qr = a; b && (this.gy = b); this.Sx.length = 0; this.Wb.length = 0; this.Ak.length = 0; this.DG = ""; this.GI = !1; this.Nz = c.Qm.SI; this.parentElement = c.KW; this.vL = 0 } }); p = c.us.prototype; c.i(p, "mapWidth", p.MD, p.dF); c.i(p, "mapHeight", p.LD, p.cF); c.i(p, "tileWidth", p.lt, p.Ot); c.i(p, "tileHeight", p.kt, p.Nt); c.us.create = function(a, b) { return new c.us(a, b) }; c.X.Tk(["tmx", "tsx"], c.$N); c.Qm.SI = 1; c.Qm.H9 = 2; c.Qm.I9 = 4; c.Qm.J9 = 8; c.IW = c.qa.extend({ Wb: null, Ku: "", Mp: null, Lp: null, ctor: function() { this.Ku = ""; this.Mp = c.d(0, 0); this.Wb = []; this.Lp = [] }, Iga: function() { return this.Mp }, S7: function(a) { this.Mp.x = a.x; this.Mp.y = a.y }, fz: function() { return this.Wb }, CA: function(a) { this.Wb.push(a) }, Vfa: function() { return this.Ku.toString() }, una: function(a) { this.Ku = a }, Ila: function(a) { return this.Wb[a] }, Wka: function(a) { if (this.Lp && 0 < this.Lp.length) for (var b = this.Lp, d = 0, e = b.length; d < e; d++) { var f = b[d].name; if (f && f == a) return b[d] } return null }, tga: function() { return this.Lp }, N7: function(a) { this.Lp.push(a) } }); c.ts = c.ng.extend({ he: null, ah: null, Nq: null, Wb: null, Oz: "", ua: null, Lc: null, qe: 255, hn: null, gn: null, UF: null, OF: null, zba: null, hi: null, le: null, Uh: null, Be: null, gf: null, aD: null, ty: null, uy: null, $l: 0, AF: 0, XM: 1E7, ob: "TMXLayer", ctor: function(a, b, d) { c.ng.prototype.ctor.call(this); this.Wd = []; this.ua = c.size(0, 0); this.Lc = c.size(0, 0); if (c.F === c.Ha) { var e = c.eb, f = c.ac("canvas"); f.width = e.width; f.height = e.height; this.Be = f; this.gf = this.Be.getContext("2d"); var g = new c.ia; g.Ld(f); g.$b(); this.aD = g; this.width = e.width; this.height = e.height; this.bk = this } void 0 !== d && this.D4(a, b, d) }, ye: function(a, b) { var d = this.S; c.t.prototype.ye.call(this, a, b); if (c.F === c.Ha) { var e = this.Be, f = c.wb(); e.width = 0 | 1.5 * d.width * f; e.height = 0 | 1.5 * d.height * f; this.gf.translate(0, e.height); d = this.aD.S; d.width = e.width; d.height = e.height; d = e.width * e.height; if (d > this.XM) { this.ty || (this.ty = []); this.uy || (this.uy = []); this.$l = Math.ceil(d / this.XM); d = this.ty; for (f = 0; f < this.$l; f++) { d[f] || (d[f] = document.createElement("canvas"), this.uy[f] = d[f].getContext("2d")); var g = d[f]; g.width = this.AF = Math.round(e.width / this.$l); g.height = e.height } for (f = this.$l; f < d.length; f++) g.width = 0, g.height = 0 } else this.$l = 0 } }, Ua: null, jt: function() { return this.aD }, U: null, Cn: function(a) { var b = a || c.m; if (this.Ja) { b.save(); this.transform(a); var d, e = this.u; if (this.nh) { var f = c.view; f.IN(); var g = this.gf, h = this.Be; g.clearRect(0, 0, h.width, -h.height); g.save(); g.translate(this.lb.x, -this.lb.y); if (e) for (this.jd(), d = 0; d < e.length; d++) e[d] && e[d].U(g); g.restore(); if (0 < this.$l) for (e = this.AF, g = h.height, d = 0; d < this.$l; d++) this.uy[d].drawImage(h, d * e, 0, e, g, 0, 0, e, g); f.vN(); this.nh = !1 } this.Y(a); b.restore() } }, Y: null, Zm: function(a) { a = a || c.m; var b = 0 | -this.lb.x, d = 0 | -this.lb.y, e = c.view, f = this.Be; if (f) { var g = this.$l, h = f.height * e.Na; if (0 < g) for (var f = this.ty, k = 0; k < g; k++) { var m = f[k]; a.drawImage(f[k], 0, 0, m.width, m.height, b + k * this.AF, -(d + h), m.width * e.ma, h) } else a.drawImage(f, 0, 0, f.width, f.height, b, -(d + h), f.width * e.ma, h) } }, dga: function() { return c.size(this.ua.width, this.ua.height) }, Bna: function(a) { this.ua.width = a.width; this.ua.height = a.height }, fZ: function() { return this.ua.width }, $_: function(a) { this.ua.width = a }, eZ: function() { return this.ua.height }, Z_: function(a) { this.ua.height = a }, kga: function() { return c.size(this.Lc.width, this.Lc.height) }, Gna: function(a) { this.Lc.width = a.width; this.Lc.height = a.height }, lt: function() { return this.Lc.width }, Ot: function(a) { this.Lc.width = a }, kt: function() { return this.Lc.height }, Nt: function(a) { this.Lc.height = a }, oha: function() { return this.he }, uoa: function(a) { this.he = a }, pha: function() { return this.ah }, voa: function(a) { this.ah = a }, cga: function() { return this.Nq }, Ana: function(a) { this.Nq = a }, fz: function() { return this.Wb }, CA: function(a) { this.Wb = a }, D4: function(a, b, d) { var e = b.ua, f = 0.35 * parseInt(e.width * e.height) + 1, g; a && (g = c.Ka.Qc(a.lS)); return this.pa(g, f) ? (this.Oz = b.name, this.ua = e, this.he = b.qf, this.hn = b.hn, this.gn = b.gn, this.qe = b.qe, this.Wb = b.Wb, this.Uh = c.L.Uh, this.ah = a, this.Lc = d.Eq(), this.Nq = d.orientation, a = this.bY(b.offset), this.J(c.WH(a)), this.le = [], this.ye(c.jS(c.size(this.ua.width * this.Lc.width, this.ua.height * this.Lc.height))), this.OF = !1, this.UF = 0, !0) : !1 }, Zla: function() { this.he && (this.he = null); this.le && (this.le = null) }, mha: function(a, b) { if (!a) throw "cc.TMXLayer.getTileAt(): pos should be non-null"; void 0 !== b && (a = c.d(a, b)); if (a.x >= this.ua.width || a.y >= this.ua.height || 0 > a.x || 0 > a.y) throw "cc.TMXLayer.getTileAt(): invalid position"; if (!this.he || !this.le) return c.log("cc.TMXLayer.getTileAt(): TMXLayer: the tiles map has been released"), null; var d = null, e = this.cH(a); if (0 === e) return d; var f = 0 | a.x + a.y * this.ua.width, d = this.cg(f); d || (e = this.ah.pv(e), e = c.Sk(e), d = new c.P, d.pa(this.texture, e), d.batchNode = this, d.J(this.ez(a)), d.vertexZ = this.iO(a), d.anchorX = 0, d.anchorY = 0, d.opacity = this.qe, e = this.QC(f), this.g1(d, e, f)); return d }, cH: function(a, b) { if (!a) throw "cc.TMXLayer.getTileGIDAt(): pos should be non-null"; void 0 !== b && (a = c.d(a, b)); if (a.x >= this.ua.width || a.y >= this.ua.height || 0 > a.x || 0 > a.y) throw "cc.TMXLayer.getTileGIDAt(): invalid position"; return this.he && this.le ? (this.he[0 | a.x + a.y * this.ua.width] & c.dC) >>> 0 : (c.log("cc.TMXLayer.getTileGIDAt(): TMXLayer: the tiles map has been released"), null) }, b4: function(a, b) { if (!a) throw "cc.TMXLayer.getTileFlagsAt(): pos should be non-null"; void 0 !== b && (a = c.d(a, b)); if (a.x >= this.ua.width || a.y >= this.ua.height || 0 > a.x || 0 > a.y) throw "cc.TMXLayer.getTileFlagsAt(): invalid position"; return this.he && this.le ? (this.he[0 | a.x + a.y * this.ua.width] & c.jK) >>> 0 : (c.log("cc.TMXLayer.getTileFlagsAt(): TMXLayer: the tiles map has been released"), null) }, soa: function(a, b, d, e) { if (!b) throw "cc.TMXLayer.setTileGID(): pos should be non-null"; void 0 !== e ? b = c.d(b, d) : e = d; if (b.x >= this.ua.width || b.y >= this.ua.height || 0 > b.x || 0 > b.y) throw "cc.TMXLayer.setTileGID(): invalid position"; if (this.he && this.le) if (0 !== a && a < this.ah.Wn) c.log("cc.TMXLayer.setTileGID(): invalid gid:" + a); else { e = e || 0; this.ji(); d = this.b4(b); var f = this.cH(b); if (f != a || d != e) if (d = (a | e) >>> 0, 0 === a) this.R6(b); else if (0 === f) this.OZ(d, b); else { var f = b.x + b.y * this.ua.width, g = this.cg(f); g ? (a = this.ah.pv(a), a = c.Sk(a), g.Hb(a, !1), null != e && this.my(g, b, d), this.he[f] = d) : this.V0(d, b) } } else c.log("cc.TMXLayer.setTileGID(): TMXLayer: the tiles map has been released") }, R6: function(a, b) { if (!a) throw "cc.TMXLayer.removeTileAt(): pos should be non-null"; void 0 !== b && (a = c.d(a, b)); if (a.x >= this.ua.width || a.y >= this.ua.height || 0 > a.x || 0 > a.y) throw "cc.TMXLayer.removeTileAt(): invalid position"; if (!this.he || !this.le) c.log("cc.TMXLayer.removeTileAt(): TMXLayer: the tiles map has been released"); else if (0 !== this.cH(a)) { c.F === c.Ha && this.ji(); var d = 0 | a.x + a.y * this.ua.width, e = this.QC(d); this.he[d] = 0; this.le.splice(e, 1); if (d = this.cg(d)) c.ng.prototype.removeChild.call(this, d, !0); else if (c.F === c.ea && this.textureAtlas.sR(e), this.u) for (var d = this.u, f = 0, g = d.length; f < g; f++) { var h = d[f]; if (h) { var k = h.atlasIndex; k >= e && (h.atlasIndex = k - 1) } } } }, ez: function(a, b) { void 0 !== b && (a = c.d(a, b)); var d = c.d(0, 0); switch (this.Nq) { case c.Bw: d = this.z_(a); break; case c.Aw: d = this.y_(a); break; case c.zw: d = this.x_(a) } return c.WH(d) }, YG: function(a) { return this.Wb[a] }, r8: function() { c.F === c.Ha ? this.ah.rz = this.Je.S : (this.ah.rz = this.textureAtlas.texture.S, this.textureAtlas.texture.hI()); this.s_(); c.F === c.Ha && this.ji(); for (var a = this.ua.height, b = this.ua.width, d = 0; d < a; d++) for (var e = 0; e < b; e++) { var f = this.he[e + b * d]; 0 !== f && (this.VX(f, c.d(e, d)), this.hn = Math.min(f, this.hn), this.gn = Math.max(f, this.gn)) } this.gn >= this.ah.Wn && this.hn >= this.ah.Wn || c.log("cocos2d:TMX: Only 1 tileset per layer is supported") }, M: function() { c.log("addChild: is not supported on cc.TMXLayer. Instead use setTileGID or tileAt.") }, removeChild: function(a, b) { if (a) if (-1 === this.u.indexOf(a)) c.log("cc.TMXLayer.removeChild(): Tile does not belong to TMXLayer"); else { c.F === c.Ha && this.ji(); var d = a.atlasIndex; this.he[this.le[d]] = 0; this.le.splice(d, 1); c.ng.prototype.removeChild.call(this, a, b) } }, bga: function() { return this.Oz }, zna: function(a) { this.Oz = a }, y_: function(a) { return c.d(this.Lc.width / 2 * (this.ua.width + a.x - a.y - 1), this.Lc.height / 2 * (2 * this.ua.height - a.x - a.y - 2)) }, z_: function(a) { return c.d(a.x * this.Lc.width, (this.ua.height - a.y - 1) * this.Lc.height) }, x_: function(a) { return c.d(a.x * this.Lc.width * 3 / 4, (this.ua.height - a.y - 1) * this.Lc.height + (1 == a.x % 2 ? -this.Lc.height / 2 : 0)) }, bY: function(a) { var b = c.d(0, 0); switch (this.Nq) { case c.Bw: b = c.d(a.x * this.Lc.width, -a.y * this.Lc.height); break; case c.Aw: b = c.d(this.Lc.width / 2 * (a.x - a.y), this.Lc.height / 2 * (-a.x - a.y)); break; case c.zw: 0 === a.x && 0 === a.y || c.log("offset for hexagonal map not implemented yet") } return b }, VX: function(a, b) { var d = this.ah.pv(a), d = c.Sk(d), e = 0 | b.x + b.y * this.ua.width, d = this.SE(d); this.my(d, b, a); var f = this.le.length; this.yz(d, f); this.le.splice(f, 0, e); return d }, OZ: function(a, b) { var d = this.ah.pv(a), d = c.Sk(d), e = 0 | b.x + b.y * this.ua.width, d = this.SE(d); this.my(d, b, a); var f = this.XX(e); this.yz(d, f); this.le.splice(f, 0, e); if (this.u) for (var g = this.u, h = 0, k = g.length; h < k; h++) { var m = g[h]; if (m) { var n = m.atlasIndex; n >= f && (m.atlasIndex = n + 1) } } this.he[e] = a; return d }, V0: function(a, b) { var d = this.ah.pv(a), e = this.Uh, d = c.rect(d.x / e, d.y / e, d.width / e, d.height / e), e = b.x + b.y * this.ua.width, d = this.SE(d); this.my(d, b, a); d.atlasIndex = this.QC(e); d.dirty = !0; d.Ff(); this.he[e] = a; return d }, s_: function() { var a = this.YG("cc_vertexz"); if (a) if ("automatic" == a) { this.OF = !0; var b = this.YG("cc_alpha_func"), a = 0; b && (a = parseFloat(b)); c.F === c.ea && (this.shaderProgram = c.ge.Dc(c.yw), b = c.m.getUniformLocation(this.shaderProgram.$n(), c.SK), this.shaderProgram.$c(), this.shaderProgram.xv(b, a)) } else this.UF = parseInt(a, 10) }, my: function(a, b, d) { var e = b.x + b.y * this.ua.width; a.J(this.ez(b)); c.F === c.ea ? a.vertexZ = this.iO(b) : a.tag = e; a.anchorX = 0; a.anchorY = 0; a.opacity = this.qe; c.F === c.ea && (a.rotation = 0); a.wA(!1); a.mI(!1); (d & c.iK) >>> 0 ? (a.anchorX = 0.5, a.anchorY = 0.5, a.x = this.ez(b).x + a.width / 2, a.y = this.ez(b).y + a.height / 2, b = (d & (c.vs | c.ws) >>> 0) >>> 0, b == c.vs ? a.rotation = 90 : b == c.ws ? a.rotation = 270 : (a.rotation = b == (c.ws | c.vs) >>> 0 ? 90 : 270, a.wA(!0))) : ((d & c.vs) >>> 0 && a.wA(!0), (d & c.ws) >>> 0 && a.mI(!0)) }, SE: function(a) { c.F === c.ea ? (this.hi ? (this.hi.batchNode = null, this.hi.Hb(a, !1)) : (this.hi = new c.P, this.hi.pa(this.texture, a, !1)), this.hi.batchNode = this) : (this.hi = new c.P, this.hi.pa(this.bm, a, !1), this.hi.batchNode = this, this.hi.parent = this); return this.hi }, iO: function(a) { var b = 0, d = 0; if (this.OF) switch (this.Nq) { case c.Aw: d = this.ua.width + this.ua.height; b = -(d - (a.x + a.y)); break; case c.Bw: b = -(this.ua.height - a.y); break; case c.zw: c.log("TMX Hexa zOrder not supported"); break; default: c.log("TMX invalid value") } else b = this.UF; return b }, QC: function(a) { var b; if (this.le) for (var d = this.le, e = 0, f = d.length; e < f && (b = d[e], b != a); e++); "number" != typeof b && c.log("cc.TMXLayer._atlasIndexForExistantZ(): TMX atlas index not found. Shall not happen"); return e }, XX: function(a) { for (var b = this.le, d = 0, e = b.length; d < e && !(a < b[d]); d++); return d } }); p = c.ts.prototype; c.F == c.ea ? (p.Y = c.ng.prototype.Y, p.U = c.ng.prototype.U, p.Ua = c.ng.prototype.Ua) : (p.Y = p.Zm, p.U = p.Cn, p.Ua = p.jt); c.i(p, "texture", p.Ua, p.zb); c.i(p, "layerWidth", p.fZ, p.$_); c.i(p, "layerHeight", p.eZ, p.Z_); c.i(p, "tileWidth", p.lt, p.Ot); c.i(p, "tileHeight", p.kt, p.Nt); c.ts.create = function(a, b, d) { return new c.ts(a, b, d) }; c.FB = c.qa.extend({ Jt: null, oa: null, Qs: null, Pga: function() { return this.Jt }, U7: function(a) { this.Jt = a }, zP: function() { return this.oa }, BA: function(a) { this.oa = a }, lfa: function() { return this.Qs }, o7: function(a) { this.Qs = a }, u4: function(a, b) { this.Jt = a; this.oa = b; this.Qs = null; return !0 } }); c.FB.create = function(a, b) { var d = new c.FB; d.u4(a, b); return d }; c.IJ = c.la.extend({ ko: null, bE: null, ob: "ParallaxNode", Cga: function() { return this.ko }, Tna: function(a) { this.ko = a }, ctor: function() { c.la.prototype.ctor.call(this); this.ko = []; this.bE = c.d(-100, -100) }, M: function(a, b, d, e) { if (3 === arguments.length) c.log("ParallaxNode: use addChild(child, z, ratio, offset) instead"); else { if (!a) throw "cc.ParallaxNode.addChild(): child should be non-null"; var f = c.FB.create(d, e); f.o7(a); this.ko.push(f); a.J(this.va.x * d.x + e.x, this.va.y * d.y + e.y); c.la.prototype.M.call(this, a, b, a.tag) } }, removeChild: function(a, b) { for (var d = this.ko, e = 0; e < d.length; e++) if (d[e].Qs == a) { d.splice(e, 1); break } c.la.prototype.removeChild.call(this, a, b) }, Sg: function(a) { this.ko.length = 0; c.la.prototype.Sg.call(this, a) }, U: function() { var a = this.NX(); if (!c.VH(a, this.bE)) { for (var b = this.ko, d = 0, e = b.length; d < e; d++) { var f = b[d]; f.Qs.J(-a.x + a.x * f.Jt.x + f.oa.x, -a.y + a.y * f.Jt.y + f.oa.y) } this.bE = a } c.la.prototype.U.call(this) }, NX: function() { for (var a = this.va, b = this; null != b.parent;) b = b.parent, a = c.Ij(a, b.we()); return a } }); c.IJ.create = function() { return new c.IJ }; if (c.Yb.vy) { var Na = c.Npa = new(window.AudioContext || window.webkitAudioContext || window.mozAudioContext); c.BC = c.qa.extend({ qp: null, kb: null, un: null, $F: null, src: null, fA: null, autoplay: null, controls: null, wka: null, currentTime: 0, startTime: 0, duration: 0, dE: null, ZF: 1, Zx: 0, Ac: !1, Wt: !0, sh: -1, ctor: function(a) { this.qp = {}; this.src = a; this.$F = Na.createGain ? Na.createGain() : Na.createGainNode(); this.i_ = this.h_.bind(this); this.f_ = this.e_.bind(this) }, tE: function(a) { var b = this.un = Na.createBufferSource(), d = this.$F; a = a || 0; b.buffer = this.kb; d.gain.value = this.ZF; b.connect(d); d.connect(Na.destination); b.loop = this.dE; this.Wt = this.Ac = !1; b.start ? b.start(0, a) : b.noteGrainOn ? (d = b.buffer.duration, this.loop ? b.noteGrainOn(0, a, d) : b.noteGrainOn(0, a, d - a)) : b.noteOn(0); this.Zx = 0 }, VN: function() { var a = this.un; this.Wt || (a.stop ? a.stop(0) : a.Ika(0), this.Wt = !0) }, play: function() { if (-1 == this.sh) this.sh = 0; else if (1 == this.sh) { var a = this.un; if (this.Wt || !a || 2 != a.playbackState) this.startTime = Na.currentTime, this.tE(0) } }, pause: function() { this.Zx = Na.currentTime; this.Ac = !0; this.VN() }, br: function() { this.Ac && this.tE(this.kb ? (this.Zx - this.startTime) % this.kb.duration : 0) }, stop: function() { this.Zx = 0; this.Ac = !1; this.VN() }, load: function() { var a = this; if (1 != a.sh) { a.sh = -1; a.played = !1; a.ended = !0; var b = new XMLHttpRequest; b.open("GET", a.src, !0); b.responseType = "arraybuffer"; b.onload = function() { Na.decodeAudioData(b.response, a.i_, a.f_) }; b.send() } }, addEventListener: function(a, b) { this.qp[a] = b.bind(this) }, removeEventListener: function(a) { delete this.qp[a] }, Xca: function() { return c.Yb.vy }, h_: function(a) { this.kb = a; a = this.qp.success; var b = this.qp.canplaythrough; a && a(); b && b(); 0 != this.sh && "autoplay" != this.autoplay && !0 != this.autoplay || this.tE(); this.sh = 1 }, e_: function() { var a = this.qp.error; a && a(); this.sh = -2 }, cloneNode: function() { var a = new c.BC(this.src); a.volume = this.volume; a.sh = this.sh; a.kb = this.kb; 0 != a.sh && -1 != a.sh || a.load(); return a } }); p = c.BC.prototype; c.i(p, "loop", function() { return this.dE }, function(a) { this.dE = a; this.un && (this.un.loop = a) }); c.i(p, "volume", function() { return this.ZF }, function(a) { this.ZF = a; this.$F.gain.value = a }); c.i(p, "paused", function() { return this.Ac }); c.i(p, "ended", function() { var a = this.un; return !this.Ac && (this.Wt || !a || 3 == a.playbackState) }); c.i(p, "played", function() { var a = this.un; return a && 2 == a.playbackState }) } c.XI = c.qa.extend({ pF: !1, ne: null, gx: null, Of: 0, jL: 0, Ge: {}, Os: {}, px: 1, fE: 5, Bl: null, Ft: [], ctor: function() { this.pF = 0 < c.RC.wy.length; this.Bl && (this.Bl = this.Bl.bind(this)) }, Ppa: function() { return !1 }, Dfa: function() { return this.px }, Cla: function(a, b) { if (this.pF) { var d = this.ne; d && this.Zl(d); a != this.gx && (this.ne = d = this.DD(a), this.gx = a); d && (d.loop = b || !1, this.uE(d)) } }, DD: function(a) { var b = c.X, d = b.be(a); d || (b.load(a), d = b.be(a)); return d }, uE: function(a) { a.ended || (a.stop ? a.stop() : (a.pause(), a.currentTime = 0)); this.Of = 2; a.play() }, I8: function(a) { if (0 < this.Of) { var b = this.ne; b && this.Zl(b) && (a && c.X.Lj(this.gx), this.gx = this.ne = null, this.Of = 0) } }, Zl: function(a) { return a && !a.ended ? (a.stop ? a.stop() : a.duration && Infinity != a.duration ? a.currentTime = a.duration : a.pause(), !0) : !1 }, hR: function() { 2 == this.Of && (this.ne.pause(), this.Of = 1) }, a7: function() { 1 == this.Of && (this.rk(this.ne), this.Of = 2) }, rk: function(a) { a && !a.ended && (a.br ? a.br() : a.play()) }, xma: function() { this.ne && this.uE(this.ne) }, pga: function() { return 0 == this.Of ? 0 : this.ne.volume }, Hna: function(a) { 0 < this.Of && (this.ne.volume = Math.min(Math.max(a, 0), 1)) }, xH: function() { return 2 == this.Of && this.ne && !this.ne.ended }, GD: function(a) { var b = this.Os[a]; b || (b = this.Os[a] = []); return b }, uM: function(a) { var b; if (!this.pF) return null; for (var d = this.GD(a), e = 0, f = d.length; e < f; e++) { var g = d[e]; if (g.ended) { b = g; b.currentTime = 0; window.chrome && b.load(); break } } if (!b) { if (d.length >= this.fE) return c.log("Error: " + a + " greater than " + this.fE), null; b = this.DD(a); if (!b) return null; b = b.cloneNode(!0); this.Bl && c.Ra(b, "pause", this.Bl); b.volume = this.px; d.push(b) } return b }, m6: function(a, b) { var d = this.uM(a); if (!d) return null; d.loop = b || !1; d.play(); var e = this.jL++; this.Ge[e] = d; return e }, jna: function(a) { a = this.px = Math.min(Math.max(a, 0), 1); var b = this.Ge, d; for (d in b) b[d].volume = a }, j6: function(a) { (a = this.Ge[a]) && !a.ended && a.pause() }, h6: function() { var a = this.Ge, b; for (b in a) { var d = a[b]; d.ended || d.pause() } }, Z6: function(a) { this.rk(this.Ge[a]) }, Y6: function() { var a = this.Ge, b; for (b in a) this.rk(a[b]) }, H8: function(a) { this.Zl(this.Ge[a]); delete this.Ge[a] }, qS: function() { var a = this.Ge, b; for (b in a) this.Zl(a[b]), delete a[b] }, b9: function(a) { var b = c.X, d = this.Ge, e = this.GD(a); b.Lj(a); if (0 != e.length) { b = e[0].src; delete this.Os[a]; for (var f in d) d[f].src == b && (this.Zl(d[f]), delete d[f]) } }, end: function() { this.I8(); this.qS() }, eN: function() { var a = this.Ge, b, d; for (d in a)!(b = a[d]) || b.ended || b.paused || (this.Ft.push(b), b.pause()); this.xH() && (this.Ft.push(this.ne), this.ne.pause()) }, wN: function() { for (var a = this.Ft, b = 0, d = a.length; b < d; b++) this.rk(a[b]); a.length = 0 } }); !c.Yb.vy && 0 > c.Yb.G0 && (c.YI = c.XI.extend({ fm: [], Et: [], sg: null, fE: 2, ox: {}, kn: !1, rp: 0, YD: !1, uE: function(a) { this.xF(); this._super(a) }, a7: function() { 1 == this.Of && (this.xF(), this.kn = !1, this.rp = 0, this._super()) }, m6: function(a, b) { var d = this.sg, e = b ? this.uM(a) : this.tZ(a); if (!e) return null; e.loop = b || !1; var f = this.jL++; this.Ge[f] = e; this.xH() && (this.hR(), this.kn = !0); d ? (d != e && this.fm.push(this.jp), this.fm.push(f), d.pause()) : (this.sg = e, this.jp = f, e.play()); return f }, j6: function() { c.log("pauseEffect not supported in single audio mode!") }, h6: function() { var a = this.fm, b = this.Et, d = this.sg; if (d) { for (var e = 0, f = a.length; e < f; e++) b.push(a[e]); a.length = 0; b.push(this.jp); d.pause() } }, Z6: function() { c.log("resumeEffect not supported in single audio mode!") }, Y6: function() { var a = this.fm, b = this.Et; this.xH() && (this.hR(), this.kn = !0); for (var d = 0, e = b.length; d < e; d++) a.push(b[d]); b.length = 0; !this.sg && 0 <= a.length && (a = a.pop(), b = this.Ge[a]) && (this.jp = a, this.sg = b, this.rk(b)) }, H8: function(a) { var b = this.sg, d = this.fm, e = this.Et; b && this.jp == a ? this.Zl(b) : (b = d.indexOf(a), 0 <= b ? d.splice(b, 1) : (b = e.indexOf(a), 0 <= b && e.splice(b, 1))) }, qS: function() { this.xF(); !this.sg && this.kn && (this.rk(this.ne), this.Of = 2, this.kn = !1, this.rp = 0) }, b9: function(a) { var b = c.X, d = this.Ge, e = this.ox, f = this.GD(a), g = this.sg; b.Lj(a); if (0 != f.length || e[a]) { b = 0 < f.length ? f[0].src : e[a].src; delete this.Os[a]; delete e[a]; for (var h in d) d[h].src == b && delete d[h]; g && g.src == b && this.Zl(g) } }, tZ: function(a) { var b = this.ox[a], d = this.fm, e = this.Et, f = this.Ge; if (b) b.currentTime = 0; else { b = this.DD(a); if (!b) return null; b = b.cloneNode(!0); this.Bl && c.Ra(b, "pause", this.Bl); b.volume = this.px; this.ox[a] = b } a = 0; for (var g = d.length; a < g;) f[d[a]] == b ? d.splice(a, 1) : a++; a = 0; for (g = e.length; a < g;) f[e[a]] == b ? e.splice(a, 1) : a++; b.rt = !0; return b }, xF: function() { var a = this.sg, b = this.Os, d = this.ox, e = this.fm, f = this.Et; if (a || 0 != e.length || 0 != f.length) { for (var g in d) { var h = d[g]; h.duration && Infinity != h.duration && (h.currentTime = h.duration) } e.length = 0; f.length = 0; for (g in b) for (d = b[g], e = 0, f = d.length; e < f; e++) h = d[e], h.loop = !1, h.duration && Infinity != h.duration && (h.currentTime = h.duration); a && this.Zl(a) } }, Bl: function() { if (!this.YD) { var a = this.wZ(); if (a) a.rt ? (delete a.rt, a.play()) : this.rk(a); else if (this.kn) { a = this.ne; if (a.duration && Infinity != a.duration) { var b = a.currentTime + this.rp, b = b - a.duration * (b / a.duration | 0); a.currentTime = b } this.rp = 0; this.rk(a); this.Of = 2; this.kn = !1 } } }, wZ: function() { var a = this.fm, b = this.Ge, d = this.sg, e = d ? d.currentTime - (d.startTime || 0) : 0; for (this.rp += e; 0 != a.length;) { var f = a.pop(); if (d = b[f]) { if (d.rt || d.loop || d.duration && d.currentTime + e < d.duration) return this.jp = f, this.sg = d, !d.rt && d.duration && Infinity != d.duration && (a = d.currentTime + e, a -= d.duration * (a / d.duration | 0), d.currentTime = a), d.rt = !1, d; d.duration && Infinity != d.duration && (d.currentTime = d.duration) } } return this.sg = this.jp = null }, eN: function() { var a = this.sg; this.YD = !0; if (a = 2 == this.Of ? this.ne : a) this.Ft.push(a), a.pause() }, wN: function() { var a = this.Ft; this.YD = !1; 0 < a.length && (this.rk(a[0]), a.length = 0) } })); c.RC = { wy: null, cz: function() { return c.X.A1 }, cE: function(a, b, d, e, f, g, h) { var k = this, m = c.X, n = c.path, q = this.wy, r = ""; if (0 == q.length) return h("can not support audio!"); if (-1 == e) r = (n.jm(a) || "").toLowerCase(), k.B1(r) || (r = q[0], e = 0); else if (e < q.length) r = q[e]; else return h("can not found the resource of audio! Last match url is : " + a); if (0 <= f.indexOf(r)) return k.cE(a, b, d, e + 1, f, g, h); a = n.DO(a, r); f.push(r); g = k.VZ(a, g, function(m) { if (m) return k.cE(a, b, d, e + 1, f, g, h); h(null, g) }, e == q.length - 1); m.Ig[b] = g }, B1: function(a) { return a ? 0 <= this.wy.indexOf(a.toLowerCase()) : !1 }, VZ: function(a, b, d, e) { var f = "file://" == location.origin ? Audio : c.BC || Audio; 2 == arguments.length ? (d = b, b = new f) : 3 < arguments.length && !b && (b = new f); b.src = a; b.fA = "auto"; f = navigator.userAgent; /Mobile/.test(f) && (/iPhone OS/.test(f) || /iPad/.test(f) || /Firefox/.test(f)) || /MSIE/.test(f) ? (b.load(), d(null, b)) : (c.Ra(b, "canplaythrough", function() { d(null, b); this.removeEventListener("canplaythrough", arguments.callee, !1); this.removeEventListener("error", arguments.callee, !1) }, !1), c.Ra(b, "error", function() { d("load " + a + " failed"); e && (this.removeEventListener("canplaythrough", arguments.callee, !1), this.removeEventListener("error", arguments.callee, !1)) }, !1), b.load()); return b }, load: function(a, b, d, e) { this.cE(a, b, d, -1, [], null, e) } }; c.RC.wy = function() { var a = c.ac("audio"), b = []; if (a.canPlayType) { var d = function(b) { b = a.canPlayType(b); return "no" != b && "" != b }; d('audio/ogg; codecs="vorbis"') && b.push(".ogg"); d("audio/mpeg") && b.push(".mp3"); d('audio/wav; codecs="1"') && b.push(".wav"); d("audio/mp4") && b.push(".mp4"); (d("audio/x-m4a") || d("audio/aac")) && b.push(".m4a") } return b }(); c.X.Tk(["mp3", "ogg", "wav", "mp4", "m4a"], c.RC); c.tO = c.YI ? new c.YI : new c.XI; c.wa.cG(c.Wc.Uv, function() { c.tO.eN() }); c.wa.cG(c.Wc.Fr, function() { c.tO.wN() }); (function() { c.hs = c.P.extend({ QD: !1, Ad: null, K_: 1, ctor: function(a, d) { c.P.prototype.ctor.call(this); if (void 0 === a) c.hs.prototype.K.call(this); else if ("string" === typeof a) if ("#" === a[0]) { var e = c.Zk.wj(a.substr(1, a.length - 1)); this.Ah(e) } else this.K(a, d); else "object" === typeof a && (a instanceof c.ia ? this.pa(a, d) : a instanceof c.If && this.Ah(a)) }, IR: function(a) { this.Ad = a }, oP: function() { return this.Ad }, we: function() { var a = this.Ad; return { x: a.d.x, y: a.d.y } }, Se: function() { return this.Ad.d.x }, Mg: function() { return this.Ad.d.y }, J: function(a, d) { void 0 === d ? (this.Ad.d.x = a.x, this.Ad.d.y = a.y) : (this.Ad.d.x = a, this.Ad.d.y = d) }, qI: function(a) { this.Ad.d.x = a }, rI: function(a) { this.Ad.d.y = a }, jca: function() { var a = this.va, d = this.Ad; a.x == d.d.x && a.y == d.d.y || c.P.prototype.J.call(this, d.d.x, d.d.y) }, Lb: function() { return this.QD ? c.Yq(this.Sl) : -c.Yq(this.Ad.a) }, Xb: function(a) { this.QD ? c.P.prototype.Xb.call(this, a) : this.Ad.a = -c.ag(a) }, kca: function() { this.Sl != -this.Ad.a && c.P.prototype.Xb.call(this, -c.Yq(this.Ad.a)) }, Ve: function() { if (c.F === c.Ha) return this.c_(); var a = this.Ad, d = this.lb, e = this.ma, f = this.Na, g = a.d.x, h = a.d.y; this.$h && (g += d.x, h += d.y); var k = a.a, a = Math.cos(k), k = Math.sin(k); c.dy(d) || (g += a * -d.x * e + -k * -d.y * f, h += k * -d.x * e + a * -d.y * f); return this.pi = c.bT(a * e, k * e, -k * f, a * f, g, h) }, c_: function() { if (this.dirty) { var a = this.pi, d = this.Ad, e = this.ma, f = this.Na, g = this.lb; a.xa = d.d.x; a.ya = d.d.y; var d = -d.a, h = 1, k = 0; d && (h = Math.cos(d), k = Math.sin(d)); a.a = a.D = h; a.b = -k; a.C = k; if (1 !== e || 1 !== f) a.a *= e, a.C *= e, a.b *= f, a.D *= f; a.xa += h * -g.x * e + -k * g.y * f; a.ya -= k * -g.x * e + h * g.y * f; this.$h && (a.xa += g.x, a.ya += g.y); this.sj = !1 } return this.pi }, Qu: function() { return !this.Ad.Ik() }, vA: function() {}, wna: function(a) { this.QD = a } }); c.hs.ob = "PhysicsSprite"; var a = c.hs.prototype; c.i(a, "body", a.oP, a.IR); c.i(a, "dirty", a.Qu, a.vA); c.hs.create = function(a, d) { return new c.hs(a, d) } })(); c.LX = function(a) { for (var b = [], d = 0; d < a.length / 2; d++) b[d] = { x: a[2 * d], y: a[2 * d + 1] }; return b }; c.AT = function(a) { return a.Bj() || a.Ik() ? c.color(128, 128, 128, 128) : a.Ok > a.Ec.EI ? c.color(84, 84, 84, 128) : c.color(255, 0, 0, 128) }; c.QT = function(a) { var b = a.body, d = c.AT(b); switch (a.Jg) { case cp.zT.prototype.Jg: this.vi(a.$g, Math.max(a.r, 1), d); this.im(a.$g, cp.G.add(a.$g, cp.G.NH(b.hd, a.r)), 1, d); break; case cp.ps.prototype.Jg: this.im(a.Xe, a.kg, Math.max(a.r, 2), d); break; case cp.AV.prototype.Jg: b = c.color(d.r, d.g, d.b, c.KQ(d.a, 255, 0.5)); this.$d(c.LX(a.Oj), d, 1, b); break; default: c.log("cc.DrawShape(): Bad assertion in DrawShape()") } }; c.NT = function(a) { var b = a.a, d = a.b, e; a instanceof cp.xV ? (e = b.Gi(a.uj), b = d.Gi(a.Hg), this.vi(e, 3, c.Oi), this.vi(b, 3, c.Oi), this.im(e, b, 1, c.Oi)) : a instanceof cp.$V ? (e = b.Gi(a.uj), b = d.Gi(a.Hg), this.vi(e, 3, c.Oi), this.vi(b, 3, c.Oi), this.im(e, b, 1, c.Oi)) : a instanceof cp.yV ? (e = b.Gi(a.uj), b = d.Gi(a.Hg), this.vi(e, 3, c.Oi), this.vi(b, 3, c.Oi)) : a instanceof cp.gU && (e = b.Gi(a.VP), b = b.Gi(a.WP), a = d.Gi(a.Hg), this.vi(a, 3, c.Oi), this.im(e, b, 1, c.Oi)) }; c.Oi = c.color(0, 255, 0, 128); c.Mm = c.zd.extend({ Ec: null, F0: null, ob: "PhysicsDebugNode", $ga: function() { return this.Ec }, ioa: function(a) { this.Ec = a }, Y: function() { this.Ec && (this.Ec.fP(c.QT.bind(this)), this.Ec.eP(c.NT.bind(this)), c.zd.prototype.Y.call(this), this.clear()) } }); c.Mm.vda = function(a) { var b = new c.Mm; return b.K() ? (b.F0 = a, b.Ec = a.Ec, b) : null }; c.Mm.h2 = function(a) { var b = new c.Mm; return b.K() ? (b.Ec = a, b) : null }; c.Mm.create = c.Mm.h2; (function() { function a(a, b) { return (b - a.W6) * a.FI } function b(a, b) { return (a.X6 - b) * a.FI } function d(a, b, d, e, f, g) { var h; h = a.Hi + b.Hi; var k = a.fb, m = d.x * d.x * k; a = -d.x * d.y * k; d = h + d.y * d.y * k; h += m; k = b.fb; b = e.x * e.x * k; m = -e.x * e.y * k; d += e.y * e.y * k; e = 0 + a + m; a = 0 + a + m; h += b; b = d * h - e * a; la(0 !== b, "Unsolvable constraint."); b = 1 / b; f.x = h * b; f.y = -e * b; g.x = -a * b; g.y = d * b } function e(a, b, d, e, g) { a = f(a, d, g) + f(b, e, g); la(0 !== a, "Unsolvable collision or constraint."); return a } function f(a, b, d) { b = za(b, d); return a.Hi + a.fb * b * b } function g(a, b, d, e) { a.tr += b * a.Hi; a.ur += d * a.Hi; a.Bm += a.fb * (e.x * d - e.y * b) } function h(a, b, d, e, f, g) { k(a, -f, -g, d); k(b, f, g, e) } function k(a, b, d, e) { a.Ze += b * a.Hi; a.$e += d * a.Hi; a.l += a.fb * (e.x * d - e.y * b) } function m(a, b, d, e, f) { return (b.Ze + -e.y * b.l - (a.Ze + -d.y * a.l)) * f.x + (b.$e + e.x * b.l - (a.$e + d.x * a.l)) * f.y } function n(a, b, d, e) { return new G(b.Ze + -e.y * b.l - (a.Ze + -d.y * a.l), b.$e + e.x * b.l - (a.$e + d.x * a.l)) } function q(a) { var b = a.body; a.update(b.d, b.hd) } function r(a, b) { if (!b.Bj()) { var d = b ? b.qm : null; if (null == d) { b.qm = a; b !== a && (b.Ji = a.Ji, a.Ji = b); for (d = b.fq; d; d = d.next(b)) r(a, b == d.ud ? d.Ek : d.ud); for (d = b.Uy; d; d = d.next(b)) r(a, b == d.a ? d.b : d.a) } else la(d === a, "Internal Error: Inconsistency detected in the contact graph.") } } function t(a) { H(!a.Rq, "This addition/removal cannot be done safely during a call to cpSpaceStep() or during a query. Put these calls into a post-step callback.") } function s(a, b, d, e, f) { for (var g = za(b.Qj, b.Xe), h = za(b.Qj, b.kg), k = R(b.Qj, f), m = d.Oj, n = 0; n < m.length; n += 2) { var q = m[n], r = m[n + 1]; if (q * k.x + r * k.y < T(b.Qj, b.Xe) * f + b.r) { var s = b.Qj.x * r - b.Qj.y * q; g >= s && s >= h && a.push(new F(new G(q, r), k, e, ca(d.Kd, n))) } } } function u(a, b, d) { var e = T(b, a.Xe) - a.r; a = T(b, a.kg) - a.r; return X(e, a) - d } function v(a, b, d, e) { for (var f = [], g = a.Oj, h = 0; h < g.length; h += 2) { var k = g[h], m = g[h + 1]; b.Vy(k, m) && f.push(new F(new G(k, m), d, e, ca(a.Kd, h >> 1))) } g = b.Oj; for (h = 0; h < g.length; h += 2) k = g[h], m = g[h + 1], a.Vy(k, m) && f.push(new F(new G(k, m), d, e, ca(b.Kd, h >> 1))); if (!f.length) { f = []; g = a.Oj; for (h = 0; h < g.length; h += 2) k = g[h], m = g[h + 1], b.IO(k, m, Qa(d)) && f.push(new F(new G(k, m), d, e, ca(a.Kd, h))); g = b.Oj; for (h = 0; h < g.length; h += 2) k = g[h], m = g[h + 1], a.IO(k, m, d) && f.push(new F(new G(k, m), d, e, ca(b.Kd, h))) } return a = f } function B(a, b) { var d = 0, e = a.PA(b[0].ha, b[0].D); if (0 < e) return -1; for (var f = 1; f < b.length; f++) { var g = a.PA(b[f].ha, b[f].D); if (0 < g) return -1; g > e && (e = g, d = f) } Gb = e; return d } function x(a, b, d, e) { e = d + e; b = S(b, a); var f = Aa(b); if (!(f >= e * e)) return f = Math.sqrt(f), new F(N(a, R(b, 0.5 + (d - 0.5 * e) / (f ? f : Infinity))), f ? R(b, 1 / f) : new G(1, 0), f - e, 0) } function F(a, b, d, e) { this.d = a; this.ha = b; this.Cu = d; this.Ea = this.Ga = ka; this.Nd = this.bo = this.Tu = this.Ii = this.vS = this.zO = this.Vb = 0; this.hash = e; oc++ } function I(a, b, d) { b ? b.ud === a ? b.lr = d : b.nr = d : a.fq = d; d && (d.ud === a ? d.mr = b : d.or = b) } function y(a, b) { this.da = this.Jd = 0; this.tS = ka; this.a = a; this.ud = a.body; this.b = b; this.Ek = b.body; this.zh = this.nr = this.or = this.lr = this.mr = null; this.kd = 0; this.jH = null; this.state = "first coll" } function A(a, b, d, e) { a.Ru ? D(a, b, d, e) : (A(a.ie, b, d, e), A(a.Gf, b, d, e)) } function D(a, b, d, e) { if (a.kd == b.$G()) for (d && z(d, a, !1, b, e), d = a; d.parent; d = d.parent) d == d.parent.ie ? z(d.parent.Gf, a, !0, b, e) : z(d.parent.ie, a, !1, b, e); else for (b = a.sm; b;) a == b.b.Fj ? (e && e(b.a.Fj.Pk, a.Pk), b = b.b.next) : b = b.a.next } function z(a, b, d, e, f) { b.Cb <= a.Db && a.Cb <= b.Db && b.Bb <= a.Eb && a.Bb <= b.Eb && (a.Ru ? d ? ha(b, a) : (a.kd < b.kd && ha(a, b), f && f(b.Pk, a.Pk)) : (z(a.ie, b, d, e, f), z(a.Gf, b, d, e, f))) } function E(a, b, d) { if (b == a) return null; var e = b.parent; if (e == a) return b = a.ZQ(b), b.parent = a.parent, b; e.parent.replaceChild(e, e.ZQ(b), d); return a } function J(a, b, d) { a.sQ(b) && (a.Ru ? d(a.Pk) : (J(a.ie, b, d), J(a.Gf, b, d))) } function W(a, b, d) { if (null == a) return b; if (a.Ru) return new sa(0, b, a); var e = a.Gf.hG() + Y(a.ie, b), f = a.ie.hG() + Y(a.Gf, b); e === f && (e = K(a.ie, b), f = K(a.Gf, b)); f < e ? a.jI(W(a.Gf, b, d)) : a.gI(W(a.ie, b, d)); a.Cb = X(a.Cb, b.Cb); a.Bb = X(a.Bb, b.Bb); a.Db = aa(a.Db, b.Db); a.Eb = aa(a.Eb, b.Eb); return a } function K(a, b) { return Math.abs(a.Cb + a.Db - b.Cb - b.Db) + Math.abs(a.Bb + b.Eb - b.Bb - b.Eb) } function Y(a, b) { return (aa(a.Db, b.Db) - X(a.Cb, b.Cb)) * (aa(a.Eb, b.Eb) - X(a.Bb, b.Bb)) } function ha(a, b) { var d = a.sm, e = b.sm, f = new ya(new da(a, d), new da(b, e)); a.sm = b.sm = f; d && (d.a.Fj == a ? d.a.tm = f : d.b.tm = f); e && (e.a.Fj == b ? e.a.tm = f : e.b.tm = f) } function da(a, b) { this.tm = null; this.next = b; this.Fj = a } function ya(a, b) { this.a = a; this.b = b } function M(a, b) { this.Pk = b; a.OG(b, this); this.parent = null; this.kd = 1; this.sm = null; pc++ } function sa(a, b, d) { this.Pk = null; this.Cb = X(b.Cb, d.Cb); this.Bb = X(b.Bb, d.Bb); this.Db = aa(b.Db, d.Db); this.Eb = aa(b.Eb, d.Eb); this.parent = null; this.gI(b); this.jI(d); qc++ } function Ga(a, b) { this.ha = a; this.D = b } function ea(a, b, d) { return X(aa(a, b), d) } function Ha(a, b) { for (var d = 0; d < a.length; d++) if (a[d] === b) { a[d] = a[a.length - 1]; a.length--; break } } function ca(a, b) { return a < b ? a + " " + b : b + " " + a } function jb(a, b) { return a > b ? a : b } function Ra(a, b) { return a < b ? a : b } function la(a, b) { !a && console && console.warn && (console.warn("ASSERTION FAILED: " + b), console.trace && console.trace()) } function H(a, b) { if (!a) throw Error("Assertion failed: " + b); } Object.create = Object.create || function(a) { function b() {} b.prototype = a; return new b }; var w; "undefined" === typeof exports ? (w = {}, "object" === typeof window && (window.cp = w)) : w = exports; var X, aa; "object" === typeof window && -1 < window.navigator.userAgent.indexOf("Firefox") ? (X = Math.min, aa = Math.max) : (X = Ra, aa = jb); w.Aka = function(a, b, d, e) { return a * (0.5 * (b * b + d * d) + Aa(e)) }; w.Ica = function(a, b) { return Math.PI * Math.abs(a * a - b * b) }; w.Cka = function(a, b, d) { var e = Fa(S(d, b)); b = R(N(b, d), 0.5); return a * (e * e / 12 + Aa(b)) }; w.Kca = function(a, b, d) { return d * (Math.PI * d + 2 * ic(a, b)) }; w.Bka = function(a, b, d) { for (var e = 0, f = 0, g = b.length, h = 0; h < g; h += 2) var k = b[h] + d.x, m = b[h + 1] + d.y, n = b[(h + 2) % g] + d.x, q = b[(h + 3) % g] + d.y, r = n * m - q * k, e = e + r * (k * k + m * m + (k * n + m * q) + (n * n + q * q)), f = f + r; return a * e / (6 * f) }; w.Jca = function(a) { for (var b = 0, d = 0, e = a.length; d < e; d += 2) b += za(new G(a[d], a[d + 1]), new G(a[(d + 2) % e], a[(d + 3) % e])); return -b / 2 }; var ec = w.eda = function(a) { for (var b = 0, d = new G(0, 0), e = 0, f = a.length; e < f; e += 2) var g = new G(a[e], a[e + 1]), h = new G(a[(e + 2) % f], a[(e + 3) % f]), k = za(g, h), b = b + k, d = N(d, R(N(g, h), k)); return R(d, 1 / (3 * b)) }; w.Sla = function(a) { for (var b = ec(a), d = 0; d < a.length; d += 2) a[d] -= b.x, a[d + 1] -= b.y }; var fc = w.yka = function(a, b, d) { return a * (b * b + d * d) / 12 }; w.zka = function(a, b) { width = b.r - b.Ej; height = b.jg - b.b; offset = R([b.Ej + b.r, b.b + b.jg], 0.5); return fc(a, width, height) + a * Aa(offset) }; var gc = w.ida = function(a) { return aa(0, X(a, 1)) }, hc = 0, G = w.tba = function(a, b) { this.x = a; this.y = b; hc++ }; w.G = function(a, b) { return new G(a, b) }; var ka = w.Mpa = new G(0, 0), T = w.G.Mda = function(a, b) { return a.x * b.x + a.y * b.y }, Fa = w.G.Ch = function(a) { return Math.sqrt(T(a, a)) }; w.G.uea = function(a, b) { return a.x === b.x && a.y === b.y }; var N = w.G.add = function(a, b) { return new G(a.x + b.x, a.y + b.y) }; G.prototype.add = function(a) { this.x += a.x; this.y += a.y; return this }; var S = w.G.sub = function(a, b) { return new G(a.x - b.x, a.y - b.y) }; G.prototype.sub = function(a) { this.x -= a.x; this.y -= a.y; return this }; var Qa = w.G.J5 = function(a) { return new G(-a.x, -a.y) }; G.prototype.J5 = function() { this.x = -this.x; this.y = -this.y; return this }; var R = w.G.NH = function(a, b) { return new G(a.x * b, a.y * b) }; G.prototype.NH = function(a) { this.x *= a; this.y *= a; return this }; var za = w.G.sda = function(a, b) { return a.x * b.y - a.y * b.x }, Za = w.G.Ala = function(a) { return new G(-a.y, a.x) }; w.G.Kla = function(a) { return new G(a.y, -a.x) }; var mc = w.G.w6 = function(a, b) { return R(b, T(a, b) / Aa(b)) }; G.prototype.w6 = function(a) { this.NH(T(this, a) / Aa(a)); return this }; var ba = w.G.rotate = function(a, b) { return new G(a.x * b.x - a.y * b.y, a.x * b.y + a.y * b.x) }; G.prototype.rotate = function(a) { this.x = this.x * a.x - this.y * a.y; this.y = this.x * a.y + this.y * a.x; return this }; var nc = w.G.ypa = function(a, b) { return new G(a.x * b.x + a.y * b.y, a.y * b.x - a.x * b.y) }, Aa = w.G.mka = function(a) { return T(a, a) }; w.G.KQ = function(a, b, d) { return N(R(a, 1 - d), R(b, d)) }; var $a = w.G.normalize = function(a) { return R(a, 1 / Fa(a)) }, Tb = w.G.Hka = function(a) { return 0 === a.x && 0 === a.y ? ka : $a(a) }, Ya = w.G.tu = function(a, b) { return T(a, a) > b * b ? R($a(a), b) : a }; w.G.nka = function(a, b, d) { return N(a, Ya(S(b, a), d)) }; var ic = w.G.Cu = function(a, b) { return Fa(S(a, b)) }, jc = w.G.Lda = function(a, b) { return Aa(S(a, b)) }; w.G.Dka = function(a, b, d) { return jc(a, b) < d * d }; var kc = w.G.Voa = function(a, b, d) { var e = Math.acos(T(a, b)); if (e) { var f = 1 / Math.sin(e); return N(R(a, Math.sin((1 - d) * e) * f), R(b, Math.sin(d * e) * f)) } return a }; w.G.Woa = function(a, b, d) { var e = Math.acos(T(a, b)); return kc(a, b, X(d, e) / e) }; w.G.Tea = function(a) { return new G(Math.cos(a), Math.sin(a)) }; w.G.vpa = function(a) { return Math.atan2(a.y, a.x) }; w.G.Zoa = function(a) { return "(" + a.x.toFixed(3) + ", " + a.y.toFixed(3) + ")" }; var lc = 0, ib = w.U9 = function(a, b, d, e) { this.Ej = a; this.b = b; this.r = d; this.jg = e; lc++ }; w.ui = function(a, b, d, e) { return new ib(a, b, d, e) }; var Sb = 0; w.maa = 0; var rc = w.G9 = -1; w.sma = function() { Sb = 0 }; var ia = w.Jaa = function(a) { this.body = a; this.Cb = this.Bb = this.Db = this.Eb = 0; this.Kd = Sb++; this.CR = !1; this.da = this.Jd = 0; this.sS = ka; this.group = this.Ln = 0; this.JH = rc; this.Ec = null; this.Jg = this.Jg }; ia.prototype.x7 = function() { this.Jd = 1 }; ia.prototype.C7 = function() { this.body.Pc(); this.da = 0 }; ia.prototype.QR = function(a) { this.body.Pc(); this.JH = a }; ia.prototype.p7 = function() { this.body.Pc(); this.Ln = 1 }; ia.prototype.oP = function() { return this.body }; ia.prototype.active = function() { return this.body && -1 !== this.body.ym.indexOf(this) }; ia.prototype.IR = function(a) { H(!this.active(), "You cannot change the body on an active shape. You must remove the shape, then "); this.body = a }; ia.prototype.update = function(a, b) { H(!isNaN(b.x), "Rotation is NaN"); H(!isNaN(a.x), "Position is NaN"); this.nG(a, b) }; ia.prototype.OG = function() { return new ib(this.Cb, this.Bb, this.Db, this.Eb) }; var kb = w.zT = function(a, b, d) { this.C = this.$g = d; this.r = b; this.type = "circle"; ia.call(this, a) }; kb.prototype = Object.create(ia.prototype); kb.prototype.nG = function(a, b) { var d = this.$g = ba(this.C, b).add(a), e = this.r; this.Cb = d.x - e; this.Bb = d.y - e; this.Db = d.x + e; this.Eb = d.y + e }; var lb = w.ps = function(a, b, d, e) { this.a = b; this.b = d; this.ha = Za($a(S(d, b))); this.Xe = this.kg = this.Qj = null; this.r = e; this.D1 = this.X0 = ka; this.type = "segment"; ia.call(this, a) }; lb.prototype = Object.create(ia.prototype); lb.prototype.nG = function(a, b) { this.Xe = N(a, ba(this.a, b)); this.kg = N(a, ba(this.b, b)); this.Qj = ba(this.ha, b); var d, e, f, g; this.Xe.x < this.kg.x ? (d = this.Xe.x, e = this.kg.x) : (d = this.kg.x, e = this.Xe.x); this.Xe.y < this.kg.y ? (f = this.Xe.y, g = this.kg.y) : (f = this.kg.y, g = this.Xe.y); var h = this.r; this.Cb = d - h; this.Bb = f - h; this.Db = e + h; this.Eb = g + h }; var wa = w.AV = function(a, b, d) { H(4 <= b.length, "Polygons require some verts"); H("number" === typeof b[0], "Polygon verticies should be specified in a flattened list"); var e; a: { e = b.length; for (var f = 0; f < e; f += 2) { var g = b[(f + 2) % e], h = b[(f + 3) % e]; if (0 < (g - b[f]) * (b[(f + 5) % e] - h) - (h - b[f + 1]) * (b[(f + 4) % e] - g)) { e = !1; break a } } e = !0 } H(e, "Polygon is concave or has a reversed winding."); this.p8(b, d); this.type = "poly"; ia.call(this, a) }; wa.prototype = Object.create(ia.prototype); wa.prototype.p8 = function(a, b) { var d = a.length, e = d >> 1; this.ze = Array(d); this.Oj = Array(d); this.uO = Array(e); this.Nj = Array(e); for (e = 0; e < d; e += 2) { var f = a[e] + b.x, g = a[e + 1] + b.y, h = $a(Za(new G(a[(e + 2) % d] + b.x - f, a[(e + 3) % d] + b.y - g))); this.ze[e] = f; this.ze[e + 1] = g; this.uO[e >> 1] = new Ga(h, h.x * f + h.y * g); this.Nj[e >> 1] = new Ga(new G(0, 0), 0) } }; w.l$ = function(a, b, d) { b /= 2; d /= 2; return sc(a, new ib(-b, -d, b, d)) }; var sc = w.m$ = function(a, b) { return new wa(a, [b.Ej, b.b, b.Ej, b.jg, b.r, b.jg, b.r, b.b], ka) }; wa.prototype.Y8 = function(a, b) { for (var d = this.ze, e = this.Oj, f = Infinity, g = -Infinity, h = Infinity, k = -Infinity, m = 0; m < d.length; m += 2) { var n = d[m], q = d[m + 1], r = a.x + n * b.x - q * b.y, n = a.y + n * b.y + q * b.x; e[m] = r; e[m + 1] = n; f = X(f, r); g = aa(g, r); h = X(h, n); k = aa(k, n) } this.Cb = f; this.Bb = h; this.Db = g; this.Eb = k }; wa.prototype.X8 = function(a, b) { for (var d = this.uO, e = this.Nj, f = 0; f < d.length; f++) { var g = ba(d[f].ha, b); e[f].ha = g; e[f].D = T(a, g) + d[f].D } }; wa.prototype.nG = function(a, b) { this.X8(a, b); this.Y8(a, b) }; wa.prototype.PA = function(a, b) { for (var d = this.Oj, e = a.x * d[0] + a.y * d[1], f = 2; f < d.length; f += 2) e = X(e, a.x * d[f] + a.y * d[f + 1]); return e - b }; wa.prototype.Vy = function(a, b) { for (var d = this.Nj, e = 0; e < d.length; e++) { var f = d[e].ha; if (0 < f.x * a + f.y * b - d[e].D) return !1 } return !0 }; wa.prototype.IO = function(a, b, d) { for (var e = this.Nj, f = 0; f < e.length; f++) if (d = e[f].ha, !(0 > T(d, d)) && 0 < d.x * a + d.y * b - e[f].D) return !1; return !0 }; var U = w.k$ = function(a, b) { this.d = new G(0, 0); this.Ze = this.$e = 0; this.wf = new G(0, 0); this.jg = this.l = 0; this.RI = this.OI = Infinity; this.Bm = this.tr = this.ur = 0; this.Ec = null; this.ym = []; this.Ji = this.qm = this.Uy = this.fq = null; this.Ok = 0; this.H7(a); this.L7(b); this.hd = new G(0, 0); this.ig(0) }; w.Qaa = function() { body = new U(Infinity, Infinity); body.Ok = Infinity; return body }; if ("undefined" !== typeof DEBUG && DEBUG) { var Hb = function(a, b) { H(a.x == a.x && a.y == a.y, b) }, Ib = function(a, b) { H(Infinity !== Math.abs(a.x) && Infinity !== Math.abs(a.y), b) }; U.prototype.sA = function() { H(this.Mk === this.Mk && this.Hi === this.Hi, "Body's mass is invalid."); H(this.Bi === this.Bi && this.fb === this.fb, "Body's moment is invalid."); var a = this.d; Hb(a, "Body's position is invalid."); Ib(a, "Body's position is invalid."); a = this.wf; Hb(a, "Body's force is invalid."); Ib(a, "Body's force is invalid."); H(this.Ze === this.Ze && Infinity !== Math.abs(this.Ze), "Body's velocity is invalid."); H(this.$e === this.$e && Infinity !== Math.abs(this.$e), "Body's velocity is invalid."); H(this.a === this.a && Infinity !== Math.abs(this.a), "Body's angle is invalid."); H(this.l === this.l && Infinity !== Math.abs(this.l), "Body's angular velocity is invalid."); H(this.jg === this.jg && Infinity !== Math.abs(this.jg), "Body's torque is invalid."); a = this.hd; Hb(a, "Internal error: Body's rotation vector is invalid."); Ib(a, "Internal error: Body's rotation vector is invalid."); H(this.OI === this.OI, "Body's velocity limit is invalid."); H(this.RI === this.RI, "Body's angular velocity limit is invalid.") } } else U.prototype.sA = function() {}; U.prototype.Ik = function() { return null !== this.qm }; U.prototype.Di = function() { return Infinity === this.Ok }; U.prototype.Bj = function() { return null === this.Ec }; U.prototype.H7 = function(a) { H(0 < a, "Mass must be positive and non-zero."); this.Pc(); this.Mk = a; this.Hi = 1 / a }; U.prototype.L7 = function(a) { H(0 < a, "Moment of Inertia must be positive and non-zero."); this.Pc(); this.Bi = a; this.fb = 1 / a }; U.prototype.dG = function(a) { this.ym.push(a) }; U.prototype.FR = function(a) { H(!isNaN(a), "Internal Error: Attempting to set body's angle to NaN"); this.a = a; this.hd.x = Math.cos(a); this.hd.y = Math.sin(a) }; U.prototype.ig = function(a) { this.Pc(); this.sA(); this.FR(a) }; U.prototype.o9 = function(a, b, d) { var e = this.Ze * b + (a.x + this.wf.x * this.Hi) * d; a = this.$e * b + (a.y + this.wf.y * this.Hi) * d; var f = this.OI, g = e * e + a * a, f = g > f * f ? f / Math.sqrt(g) : 1; this.Ze = e * f; this.$e = a * f; e = this.RI; this.l = ea(this.l * b + this.jg * this.fb * d, -e, e); this.sA() }; U.prototype.q6 = function(a) { this.d.x += (this.Ze + this.tr) * a; this.d.y += (this.$e + this.ur) * a; this.FR(this.a + (this.l + this.Bm) * a); this.Bm = this.tr = this.ur = 0; this.sA() }; U.prototype.Xf = function(a, b) { this.Pc(); k(this, a.x, a.y, b) }; U.prototype.fP = function(a) { for (var b = 0, d = this.ym.length; b < d; b++) a(this.ym[b]) }; U.prototype.eP = function(a) { for (var b = this.Uy; b;) { var d = b.next(this); a(b); b = d } }; U.prototype.Gi = function(a) { return N(this.d, ba(a, this.hd)) }; U.prototype.US = function(a) { return nc(S(a, this.d), this.hd) }; U.prototype.f5 = function() { var a = this.Ze * this.Ze + this.$e * this.$e, b = this.l * this.l; return (a ? a * this.Mk : 0) + (b ? b * this.Bi : 0) }; var Jb = w.Naa = function(a) { if (this.pS = a) H(!a.pq, "This static index is already associated with a dynamic index."), a.pq = this }; Jb.prototype.P1 = function(a, b) { if (0 < a.count) { var d = a.A6; this.Rn(function(a) { d(a, new ib(a.Cb, a.Bb, a.Db, a.Eb), b) }) } }; var qa = w.V9 = function(a) { Jb.call(this, a); this.n9 = null; this.Oq = {}; this.count = 0; this.root = null; this.kd = 0 }; qa.prototype = Object.create(Jb.prototype); var qc = 0, pc = 0; qa.prototype.OG = function(a, b) { var d = this.n9; if (d) { var e = 0.1 * (a.Db - a.Cb), f = 0.1 * (a.Eb - a.Bb), d = R(d(a), 0.1); b.Cb = a.Cb + X(-e, d.x); b.Bb = a.Bb + X(-f, d.y); b.Db = a.Db + aa(e, d.x); b.Eb = a.Eb + aa(f, d.y) } else b.Cb = a.Cb, b.Bb = a.Bb, b.Db = a.Db, b.Eb = a.Eb }; qa.prototype.$G = function() { var a = this.pq; return a && a.kd ? a.kd : this.kd }; qa.prototype.dQ = function() { this.pq && this.pq.kd ? this.pq.kd++ : this.kd++ }; da.prototype.ES = function() { var a = this.next, b = this.tm; a && (a.a.Fj == this.Fj ? a.a.tm = b : a.b.tm = b); b ? b.a.Fj == this.Fj ? b.a.next = a : b.b.next = a : this.Fj.sm = a }; M.prototype.FO = function() { var a = this.sm, b; for (this.sm = null; a;) a.a.Fj == this ? (b = a.a.next, a.b.ES()) : (b = a.b.next, a.a.ES()), a = b }; sa.prototype.gI = function(a) { this.ie = a; a.parent = this }; sa.prototype.jI = function(a) { this.Gf = a; a.parent = this }; M.prototype.Ru = !0; sa.prototype.Ru = !1; sa.prototype.ZQ = function(a) { return this.ie == a ? this.Gf : this.ie }; sa.prototype.replaceChild = function(a, b) { la(a == this.ie || a == this.Gf, "Node is not a child of parent."); this.ie == a ? this.gI(b) : this.jI(b); for (var d = this; d; d = d.parent) { var e = d.ie, f = d.Gf; d.Cb = X(e.Cb, f.Cb); d.Bb = X(e.Bb, f.Bb); d.Db = aa(e.Db, f.Db); d.Eb = aa(e.Eb, f.Eb) } }; sa.prototype.hG = M.prototype.hG = function() { return (this.Db - this.Cb) * (this.Eb - this.Bb) }; sa.prototype.sQ = M.prototype.sQ = function(a) { return this.Cb <= a.r && a.Ej <= this.Db && this.Bb <= a.jg && a.b <= this.Eb }; M.prototype.b2 = function(a) { return this.Cb <= a.Cb && this.Db >= a.Db && this.Bb <= a.Bb && this.Eb >= a.Eb }; M.prototype.update = function(a) { var b = a.root; return this.b2(this.Pk) ? !1 : (a.OG(this.Pk, this), b = E(b, this, a), a.root = W(b, this, a), this.FO(), this.kd = a.$G(), !0) }; M.prototype.d1 = function(a) { var b = a.pq; b ? (a = b.root) && z(a, this, !0, b, null) : D(this, a, a.pS.root, null) }; qa.prototype.Nu = function(a, b) { var d = new M(this, a); this.Oq[b] = d; this.root = W(this.root, d, this); this.count++; d.kd = this.$G(); d.d1(this); this.dQ() }; qa.prototype.remove = function(a, b) { var d = this.Oq[b]; delete this.Oq[b]; this.root = E(this.root, d, this); this.count--; d.FO() }; qa.prototype.H6 = function(a) { if (this.root) { var b, d = this.Oq; for (b in d) d[b].update(this); d = (b = this.pS) && b.root; A(this.root, this, d, a); b && !d && this.P1(this, b); this.dQ() } }; qa.prototype.A6 = function(a, b) { this.root && J(this.root, a, b) }; qa.prototype.count = function() { return this.count }; qa.prototype.Rn = function(a) { for (var b in this.Oq) a(this.Oq[b].Pk) }; qa.prototype.log = function() {}; var Sa = w.r$ = function() { this.a = this.b = 0 }; Sa.prototype.Yf = function() { return !0 }; Sa.prototype.eA = function() { return !0 }; Sa.prototype.dA = function() {}; Sa.prototype.DR = function() {}; y.prototype.r4 = function() { this.state = "ignore" }; y.prototype.K4 = function() { return "first coll" === this.state }; y.prototype.d9 = function() { I(this.ud, this.mr, this.lr); I(this.Ek, this.or, this.nr); this.or = this.nr = this.mr = this.lr = null }; y.prototype.update = function(a, b, d, e) { if (this.zh) for (var f = 0; f < this.zh.length; f++) for (var g = this.zh[f], h = 0; h < a.length; h++) { var k = a[h]; k.hash === g.hash && (k.Nd = g.Nd, k.bo = g.bo) } this.zh = a; this.jH = b; this.Jd = d.Jd * e.Jd; this.da = d.da * e.da; this.tS = S(d.sS, e.sS); this.a = d; this.ud = d.body; this.b = e; this.Ek = e.body; "cached" == this.state && (this.state = "first coll") }; y.prototype.Qg = function(a, b, d) { for (var f = this.ud, g = this.Ek, h = 0; h < this.zh.length; h++) { var k = this.zh[h]; k.Ea = S(k.d, f.d); k.Ga = S(k.d, g.d); k.Ii = 1 / e(f, g, k.Ea, k.Ga, k.ha); k.vS = 1 / e(f, g, k.Ea, k.Ga, Za(k.ha)); k.Vb = -d * X(0, k.Cu + b) / a; k.Tu = 0; k.zO = m(f, g, k.Ea, k.Ga, k.ha) * this.Jd } }; y.prototype.yh = function(a) { if (!this.K4()) for (var b = this.ud, d = this.Ek, e = 0; e < this.zh.length; e++) { var f = this.zh[e], g = f.ha.x, k = f.ha.y; h(b, d, f.Ea, f.Ga, (g * f.Nd - k * f.bo) * a, (g * f.bo + k * f.Nd) * a) } }; var tc = 0, uc = 0; y.prototype.Xf = function() { tc++; for (var a = this.ud, b = this.Ek, d = this.tS, e = this.da, f = 0; f < this.zh.length; f++) { uc++; var k = this.zh[f], m = k.Ii, n = k.ha, q = k.Ea, r = k.Ga, s = b.Ze - r.y * b.l - (a.Ze - q.y * a.l), t = b.$e + r.x * b.l - (a.$e + q.x * a.l), u = s * n.x + t * n.y, v = (s + d.x) * -n.y + (t + d.y) * n.x, t = k.Tu; k.Tu = aa(t + (k.Vb - (n.x * (b.tr - r.y * b.Bm - a.tr + q.y * a.Bm) + n.y * (r.x * b.Bm + b.ur - q.x * a.Bm - a.ur))) * m, 0); s = k.Nd; k.Nd = aa(s + -(k.zO + u) * m, 0); u = e * k.Nd; m = k.bo; k.bo = ea(m + -v * k.vS, -u, u); u = n.x * (k.Tu - t); t = n.y * (k.Tu - t); g(a, -u, -t, q); g(b, u, t, r); s = k.Nd - s; k = k.bo - m; h(a, b, q, r, n.x * s - n.y * k, n.x * k + n.y * s) } }; y.prototype.K1 = function(a) { a.LH(this.a.Ln, this.b.Ln).DR(this, a) }; y.prototype.next = function(a) { return this.ud == a ? this.lr : this.nr }; var oc = 0, ta = [], Gb = 0; kb.prototype.Jg = 0; lb.prototype.Jg = 1; wa.prototype.Jg = 2; kb.prototype.xG = [function(a, b) { var d = x(a.$g, b.$g, a.r, b.r); return d ? [d] : ta }, function(a, b) { var d = b.Xe, e = a.$g, f = S(b.kg, d), g = gc(T(f, S(e, d)) / Aa(f)), d = N(d, R(f, g)); return (e = x(e, d, a.r, b.r)) ? (d = e.ha, 0 === g && 0 > T(d, b.X0) || 1 === g && 0 > T(d, b.D1) ? ta : [e]) : ta }, function(a, b) { for (var d = b.Nj, e = 0, f = T(d[0].ha, a.$g) - d[0].D - a.r, g = 0; g < d.length; g++) { var h = T(d[g].ha, a.$g) - d[g].D - a.r; if (0 < h) return ta; h > f && (f = h, e = g) } var d = d[e].ha, k = b.Oj, m = k.length, n = e << 1, e = k[n], g = k[n + 1], h = k[(n + 2) % m], k = k[(n + 3) % m], m = d.x * g - d.y * e, n = d.x * k - d.y * h, q = za(d, a.$g); return q < n ? (f = x(a.$g, new G(h, k), a.r, 0)) ? [f] : ta : q < m ? [new F(S(a.$g, R(d, a.r + f / 2)), Qa(d), f, 0)] : (f = x(a.$g, new G(e, g), a.r, 0)) ? [f] : ta }]; lb.prototype.xG = [null, function() { return ta }, function(a, b) { var d = [], e = b.Nj, f = e.length, g = T(a.Qj, a.Xe), h = b.PA(a.Qj, g) - a.r, g = b.PA(Qa(a.Qj), -g) - a.r; if (0 < g || 0 < h) return ta; var k = 0, m = u(a, e[0].ha, e[0].D); if (0 < m) return ta; for (var n = 0; n < f; n++) { var q = u(a, e[n].ha, e[n].D); if (0 < q) return ta; q > m && (m = q, k = n) } e = Qa(e[k].ha); n = N(a.Xe, R(e, a.r)); q = N(a.kg, R(e, a.r)); b.Vy(n.x, n.y) && d.push(new F(n, e, m, ca(a.Kd, 0))); b.Vy(q.x, q.y) && d.push(new F(q, e, m, ca(a.Kd, 1))); if (h >= m || g >= m) h > g ? s(d, a, b, h, 1) : s(d, a, b, g, -1); if (0 === d.length) { h = 2 * k; g = b.Oj; m = new G(g[h], g[h + 1]); if ((k = x(a.Xe, m, a.r, 0)) || (k = x(a.kg, m, a.r, 0))) return [k]; f *= 2; f = new G(g[(h + 2) % f], g[(h + 3) % f]); if ((k = x(a.Xe, f, a.r, 0)) || (k = x(a.kg, f, a.r, 0))) return [k] } return d }]; wa.prototype.xG = [null, null, function(a, b) { var d = B(b, a.Nj); if (-1 == d) return ta; var e = Gb, f = B(a, b.Nj); if (-1 == f) return ta; var g = Gb; return e > g ? v(a, b, a.Nj[d].ha, e) : v(a, b, Qa(b.Nj[f].ha), g) }]; var vc = w.GO = function(a, b) { H(a.Jg <= b.Jg, "Collided shapes must be sorted by type"); return a.xG[b.Jg](a, b) }, Ub = new Sa, fa = w.aW = function() { this.PO = this.kd = 0; this.Oy = []; this.dI = []; this.kS = []; this.Bv = new qa(null); this.dq = new qa(this.Bv); this.ou = []; this.Jn = {}; this.uu = []; this.Rq = 0; this.wG = {}; this.l2 = Ub; this.XH = []; this.vQ = 10; this.gravity = ka; this.xu = 1; this.q4 = 0; this.EI = Infinity; this.X1 = 0.1; this.S1 = Math.pow(0.9, 60); this.T1 = 3; this.oS = new U(Infinity, Infinity); this.oS.Ok = Infinity; this.GO = this.G5() }; fa.prototype.$0 = function(a, b, d, e) { t(this); this.N6(); var f = new Sa; f.a = 1; f.b = 2; a && (f.Yf = a); b && (f.eA = b); d && (f.dA = d); e && (f.DR = e); this.wG[ca(1, 2)] = f }; fa.prototype.N6 = function() { t(this); delete this.wG[ca(1, 2)] }; fa.prototype.LH = function(a, b) { return this.wG[ca(a, b)] || this.l2 }; fa.prototype.dG = function(a) { var b = a.body; if (b.Di()) return this.oO(a); H(!a.Ec, "This shape is already added to a space and cannot be added to another."); t(this); b.Pc(); b.dG(a); a.update(b.d, b.hd); this.dq.Nu(a, a.Kd); a.Ec = this; return a }; fa.prototype.oO = function(a) { H(!a.Ec, "This shape is already added to a space and cannot be added to another."); t(this); var b = a.body; b.dG(a); a.update(b.d, b.hd); this.Bv.Nu(a, a.Kd); a.Ec = this; return a }; fa.prototype.a9 = function(a) { delete this.Jn[ca(a.a.Kd, a.b.Kd)]; Ha(this.ou, a) }; fa.prototype.fP = function(a) { this.Qz(); this.dq.Rn(a); this.Bv.Rn(a); this.LA(!0) }; fa.prototype.eP = function(a) { this.Qz(); for (var b = this.uu, d = 0; d < b.length; d++) a(b[d]); this.LA(!0) }; fa.prototype.kO = function(a) { H(!a.Bj(), "Internal error: Attempting to activate a rogue body."); if (this.Rq) - 1 === this.dI.indexOf(a) && this.dI.push(a); else { this.Oy.push(a); for (var b = 0; b < a.ym.length; b++) { var d = a.ym[b]; this.Bv.remove(d, d.Kd); this.dq.Nu(d, d.Kd) } for (b = a.fq; b; b = b.next(a)) if (d = b.ud, a === d || d.Di()) { var d = b.a, e = b.b; this.Jn[ca(d.Kd, e.Kd)] = b; b.kd = this.kd; b.jH = this.LH(d.Ln, e.Ln); this.ou.push(b) } for (b = a.Uy; b; b = b.Ji) d = b.a, (a === d || d.Di()) && this.uu.push(b) } }; fa.prototype.g2 = function(a) { H(!a.Bj(), "Internal error: Attempting to deactivate a rogue body."); Ha(this.Oy, a); for (var b = 0; b < a.ym.length; b++) { var d = a.ym[b]; this.dq.remove(d, d.Kd); this.Bv.Nu(d, d.Kd) } for (d = a.fq; d; d = d.next(a)) b = d.ud, (a === b || b.Di()) && this.a9(d); for (d = a.Uy; d; d = d.Ji) b = d.a, (a === b || b.Di()) && Ha(this.uu, d) }; U.prototype.Pc = function() { if (!this.Bj()) { this.Ok = 0; var a = this ? this.qm : null; if (a && a.Ik()) { H(!a.Bj(), "Internal Error: componentActivate() called on a rogue body."); for (var b = a.Ec, d = a; d;) { var e = d.Ji; d.Ok = 0; d.qm = null; d.Ji = null; b.kO(d); d = e } Ha(b.kS, a) } } }; U.prototype.iR = function(a) { la(null === (a.ud === this ? a.lr : a.nr), "Internal Error: Dangling contact graph pointers detected. (A)"); la(null === (a.ud === this ? a.mr : a.or), "Internal Error: Dangling contact graph pointers detected. (B)"); var b = this.fq; la(null === b || null === (b.ud === this ? b.mr : b.or), "Internal Error: Dangling contact graph pointers detected. (C)"); a.ud === this ? a.lr = b : a.nr = b; b && (b.ud === this ? b.mr = a : b.or = a); this.fq = a }; fa.prototype.v6 = function(a) { for (var b = Infinity !== this.EI, d = this.Oy, e = 0; e < d.length; e++) { var f = d[e]; la(null === f.Ji, "Internal Error: Dangling next pointer detected in contact graph."); la(null === f.qm, "Internal Error: Dangling root pointer detected in contact graph.") } if (b) for (var g = (e = this.q4) ? e * e : Aa(this.gravity) * a * a, e = 0; e < d.length; e++) f = d[e], f.Ok = f.f5() > (g ? f.Mk * g : 0) ? 0 : f.Ok + a; for (var g = this.ou, e = 0, h = g.length; e < h; e++) { var k = g[e], f = k.ud; a = k.Ek; b && ((a.Bj() && !a.Di() || f.Ik()) && f.Pc(), (f.Bj() && !f.Di() || a.Ik()) && a.Pc()); f.iR(k); a.iR(k) } if (b) { b = this.uu; for (e = 0; e < b.length; e++) a = b[e], f = a.a, a = a.b, a.Bj() && !a.Di() && f.Pc(), f.Bj() && !f.Di() && a.Pc(); for (e = 0; e < d.length;) { f = d[e]; if (null === (f ? f.qm : null)) { r(f, f); a: { for (b = f; b; b = b.Ji) if (b.Ok < this.EI) { b = !0; break a } b = !1 } if (!b) { this.kS.push(f); for (b = f; b; b = b.Ji) this.g2(b); continue } } e++; f.qm = null; f.Ji = null } } }; fa.prototype.e7 = function() { for (var a = 0; a < this.XH.length; a++) this.XH[a](); this.XH = [] }; fa.prototype.Qz = function() { this.Rq++ }; fa.prototype.LA = function(a) { this.Rq--; H(0 <= this.Rq, "Internal Error: Space lock underflow."); if (!this.Rq && a) { a = this.dI; for (var b = 0; b < a.length; b++) this.kO(a[b]); a.length = 0; this.e7() } }; fa.prototype.G5 = function() { var a = this; return function(b, d) { if (b.Cb <= d.Db && d.Cb <= b.Db && b.Bb <= d.Eb && d.Bb <= b.Eb && b.body !== d.body && (!b.group || b.group !== d.group) && b.JH & d.JH) { var e = a.LH(b.Ln, d.Ln), f = b.CR || d.CR; if (!f || e !== Ub) { if (b.Jg > d.Jg) { var g = b; b = d; d = g } g = vc(b, d); if (0 !== g.length) { var h = ca(b.Kd, d.Kd), k = a.Jn[h]; k || (k = a.Jn[h] = new y(b, d)); k.update(g, e, b, d); "first coll" != k.state || e.Yf(k, a) || k.r4(); "ignore" !== k.state && e.eA(k, a) && !f ? a.ou.push(k) : (k.zh = null, "ignore" !== k.state && (k.state = "normal")); k.kd = a.kd } } } } }; fa.prototype.w1 = function(a) { var b = this.kd - a.kd, d = a.ud, e = a.Ek; if ((d.Di() || d.Ik()) && (e.Di() || e.Ik())) return !0; 1 <= b && "cached" != a.state && (a.K1(this), a.state = "cached"); return b >= this.T1 ? (a.zh = null, !1) : !0 }; fa.prototype.step = function(a) { if (0 !== a) { H(0 === ka.x && 0 === ka.y, "vzero is invalid"); this.kd++; var b = this.PO; this.PO = a; for (var d = this.Oy, e = this.uu, f = this.ou, g = 0; g < f.length; g++) { var h = f[g]; h.state = "normal"; h.ud.Ik() || h.Ek.Ik() || h.d9() } f.length = 0; this.Qz(); for (g = 0; g < d.length; g++) h = d[g], h.q6(a); this.dq.Rn(q); this.dq.H6(this.GO); this.LA(!1); this.v6(a); this.Qz(); for (var k in this.Jn) this.w1(this.Jn[k]) || delete this.Jn[k]; h = this.X1; k = 1 - Math.pow(this.S1, a); Oa = L.we(); for (g = 0; g < f.length; g++) f[g].Qg(a, h, k); for (g = 0; g < e.length; g++) h = e[g], h.eA(this), h.Qg(a); k = Math.pow(this.xu, a); for (var m = this.gravity, g = 0; g < d.length; g++) h = d[g], h.o9(m, k, a); a = 0 === b ? 0 : a / b; for (g = 0; g < f.length; g++) f[g].yh(a); for (g = 0; g < e.length; g++) h = e[g], h.yh(a); for (g = 0; g < this.vQ; g++) { for (a = 0; a < f.length; a++) f[a].Xf(); for (a = 0; a < e.length; a++) e[a].Xf() } for (g = 0; g < e.length; g++) e[g].dA(this); for (g = 0; g < f.length; g++) h = f[g], h.jH.dA(h, this); this.LA(!0) } }; var Q = w.s$ = function(a, b) { this.a = a; this.b = b; this.N5 = this.M5 = this.Ec = null; this.pm = Infinity; this.Vn = Math.pow(0.9, 60); this.io = Infinity }; Q.prototype.Y0 = function() { this.a && this.a.Pc(); this.b && this.b.Pc() }; Q.prototype.Qg = function() {}; Q.prototype.yh = function() {}; Q.prototype.Xf = function() {}; Q.prototype.eA = function() {}; Q.prototype.dA = function() {}; Q.prototype.next = function(a) { return this.a === a ? this.M5 : this.N5 }; var mb = w.xV = function(a, b, d, e) { Q.call(this, a, b); this.uj = d; this.Hg = e; a = a ? N(a.d, ba(d, a.hd)) : d; b = b ? N(b.d, ba(e, b.hd)) : e; this.Cu = Fa(S(b, a)); la(0 < this.Cu, "You created a 0 length pin joint. A pivot joint will be much more stable."); this.ha = this.Ea = this.Ga = null; this.Vb = this.Nd = this.Iq = this.Ii = 0 }; mb.prototype = Object.create(Q.prototype); mb.prototype.Qg = function(a) { var b = this.a, d = this.b; this.Ea = ba(this.uj, b.hd); this.Ga = ba(this.Hg, d.hd); var f = S(N(d.d, this.Ga), N(b.d, this.Ea)), g = Fa(f); this.ha = R(f, 1 / (g ? g : Infinity)); this.Ii = 1 / e(b, d, this.Ea, this.Ga, this.ha); b = this.io; this.Vb = ea(-(1 - Math.pow(this.Vn, a)) * (g - this.Cu) / a, -b, b); this.Iq = this.pm * a }; mb.prototype.yh = function(a) { a = R(this.ha, this.Nd * a); h(this.a, this.b, this.Ea, this.Ga, a.x, a.y) }; mb.prototype.Xf = function() { var a = this.a, b = this.b, d = this.ha, e = (this.Vb - m(a, b, this.Ea, this.Ga, d)) * this.Ii, f = this.Nd; this.Nd = ea(f + e, -this.Iq, this.Iq); e = this.Nd - f; h(a, b, this.Ea, this.Ga, d.x * e, d.y * e) }; var nb = w.$V = function(a, b, d, e, f, g) { Q.call(this, a, b); this.uj = d; this.Hg = e; this.min = f; this.max = g; this.Ea = this.Ga = this.ha = null; this.Vb = this.Nd = this.Iq = this.Ii = 0 }; nb.prototype = Object.create(Q.prototype); nb.prototype.Qg = function(a) { var b = this.a, d = this.b; this.Ea = ba(this.uj, b.hd); this.Ga = ba(this.Hg, d.hd); var f = S(N(d.d, this.Ga), N(b.d, this.Ea)), g = Fa(f), h = 0; g > this.max ? (h = g - this.max, this.ha = Tb(f)) : g < this.min ? (h = this.min - g, this.ha = Qa(Tb(f))) : (this.ha = ka, this.Nd = 0); this.Ii = 1 / e(b, d, this.Ea, this.Ga, this.ha); b = this.io; this.Vb = ea(-(1 - Math.pow(this.Vn, a)) * h / a, -b, b); this.Iq = this.pm * a }; nb.prototype.yh = function(a) { a *= this.Nd; h(this.a, this.b, this.Ea, this.Ga, this.ha.x * a, this.ha.y * a) }; nb.prototype.Xf = function() { if (0 !== this.ha.x || 0 !== this.ha.y) { var a = this.a, b = this.b, d = this.ha, e = n(a, b, this.Ea, this.Ga), e = T(e, d), e = (this.Vb - e) * this.Ii, f = this.Nd; this.Nd = ea(f + e, -this.Iq, 0); e = this.Nd - f; h(a, b, this.Ea, this.Ga, d.x * e, d.y * e) } }; var ob = w.yV = function(a, b, d, e) { Q.call(this, a, b); "undefined" === typeof e && (e = d, d = a ? a.US(e) : e, e = b ? b.US(e) : e); this.uj = d; this.Hg = e; this.Ea = this.Ga = ka; this.Vu = new G(0, 0); this.Wu = new G(0, 0); this.gb = ka; this.Uu = 0; this.Vb = ka }; ob.prototype = Object.create(Q.prototype); ob.prototype.Qg = function(a) { var b = this.a, e = this.b; this.Ea = ba(this.uj, b.hd); this.Ga = ba(this.Hg, e.hd); d(b, e, this.Ea, this.Ga, this.Vu, this.Wu); this.Uu = this.pm * a; b = S(N(e.d, this.Ga), N(b.d, this.Ea)); this.Vb = Ya(R(b, -(1 - Math.pow(this.Vn, a)) / a), this.io) }; ob.prototype.yh = function(a) { h(this.a, this.b, this.Ea, this.Ga, this.gb.x * a, this.gb.y * a) }; ob.prototype.Xf = function() { var a = this.a, b = this.b, d = n(a, b, this.Ea, this.Ga), d = S(this.Vb, d), e = this.Wu, d = new G(T(d, this.Vu), T(d, e)), e = this.gb; this.gb = Ya(N(this.gb, d), this.Uu); h(a, b, this.Ea, this.Ga, this.gb.x - e.x, this.gb.y - e.y) }; var ab = w.gU = function(a, b, d, e, f) { Q.call(this, a, b); this.VP = d; this.WP = e; this.n4 = Za($a(S(e, d))); this.Hg = f; this.XP = null; this.tu = 0; this.Ea = this.Ga = null; this.Vu = new G(0, 0); this.Wu = new G(0, 0); this.gb = ka; this.Uu = 0; this.Vb = null }; ab.prototype = Object.create(Q.prototype); ab.prototype.Qg = function(a) { var b = this.a, e = this.b, f = b.Gi(this.VP), g = b.Gi(this.WP), h = ba(this.n4, b.hd), k = T(f, h); this.XP = h; this.Ga = ba(this.Hg, e.hd); var m = za(N(e.d, this.Ga), h); m <= za(f, h) ? (this.tu = 1, this.Ea = S(f, b.d)) : m >= za(g, h) ? (this.tu = -1, this.Ea = S(g, b.d)) : (this.tu = 0, this.Ea = S(N(R(Za(h), -m), R(h, k)), b.d)); d(b, e, this.Ea, this.Ga, this.Vu, this.Wu); this.Uu = this.pm * a; b = S(N(e.d, this.Ga), N(b.d, this.Ea)); this.Vb = Ya(R(b, -(1 - Math.pow(this.Vn, a)) / a), this.io) }; ab.prototype.yh = function(a) { h(this.a, this.b, this.Ea, this.Ga, this.gb.x * a, this.gb.y * a) }; ab.prototype.m4 = function(a) { var b = this.XP; a = 0 < this.tu * za(a, b) ? a : mc(a, b); return Ya(a, this.Uu) }; ab.prototype.Xf = function() { var a = this.a, b = this.b, d = n(a, b, this.Ea, this.Ga), d = S(this.Vb, d), e = this.Wu, d = new G(T(d, this.Vu), T(d, e)), e = this.gb; this.gb = this.m4(N(e, d)); h(a, b, this.Ea, this.Ga, this.gb.x - e.x, this.gb.y - e.y) }; var pb = w.D$ = function(a, d, e, f, g, h, k) { Q.call(this, a, d); this.uj = e; this.Hg = f; this.X6 = g; this.FI = h; this.xu = k; this.v8 = b; this.II = this.QS = 0; this.Ea = this.Ga = null; this.Ii = 0; this.ha = null }; pb.prototype = Object.create(Q.prototype); pb.prototype.Qg = function(a) { var b = this.a, d = this.b; this.Ea = ba(this.uj, b.hd); this.Ga = ba(this.Hg, d.hd); var f = S(N(d.d, this.Ga), N(b.d, this.Ea)), g = Fa(f); this.ha = R(f, 1 / (g ? g : Infinity)); f = e(b, d, this.Ea, this.Ga, this.ha); la(0 !== f, "Unsolvable this."); this.Ii = 1 / f; this.II = 0; this.QS = 1 - Math.exp(-this.xu * a * f); g = this.v8(this, g); h(b, d, this.Ea, this.Ga, this.ha.x * g * a, this.ha.y * g * a) }; pb.prototype.yh = function() {}; pb.prototype.Xf = function() { var a = this.a, b = this.b, d = m(a, b, this.Ea, this.Ga, this.ha), e = (this.II - d) * this.QS; this.II = d + e; e *= this.Ii; h(a, b, this.Ea, this.Ga, this.ha.x * e, this.ha.y * e) }; var Kb = w.C$ = function(b, d, e, f, g) { Q.call(this, b, d); this.W6 = e; this.FI = f; this.xu = g; this.w8 = a; this.dg = this.SS = this.JI = 0 }; Kb.prototype = Object.create(Q.prototype); Kb.prototype.Qg = function(a) { var b = this.a, d = this.b, e = b.fb + d.fb; la(0 !== e, "Unsolvable spring."); this.dg = 1 / e; this.SS = 1 - Math.exp(-this.xu * a * e); this.JI = 0; a *= this.w8(this, b.a - d.a); b.l -= a * b.fb; d.l += a * d.fb }; Kb.prototype.Xf = function() { var a = this.a, b = this.b, d = a.l - b.l, e = (this.JI - d) * this.SS; this.JI = d + e; d = e * this.dg; a.l += d * a.fb; b.l -= d * b.fb }; var qb = w.Faa = function(a, b, d, e) { Q.call(this, a, b); this.min = d; this.max = e; this.dg = this.Vb = this.gg = this.gb = 0 }; qb.prototype = Object.create(Q.prototype); qb.prototype.Qg = function(a) { var b = this.a, d = this.b, e = d.a - b.a, f = 0; e > this.max ? f = this.max - e : e < this.min && (f = this.min - e); this.dg = 1 / (1 / b.Bi + 1 / d.Bi); b = this.io; this.Vb = ea(-(1 - Math.pow(this.Vn, a)) * f / a, -b, b); this.gg = this.pm * a; this.Vb || (this.gb = 0) }; qb.prototype.yh = function(a) { var b = this.a, d = this.b; a *= this.gb; b.l -= a * b.fb; d.l += a * d.fb }; qb.prototype.Xf = function() { if (this.Vb) { var a = this.a, b = this.b, d = -(this.Vb + (b.l - a.l)) * this.dg, e = this.gb; this.gb = 0 > this.Vb ? ea(e + d, 0, this.gg) : ea(e + d, -this.gg, 0); d = this.gb - e; a.l -= d * a.fb; b.l += d * b.fb } }; var rb = w.Eaa = function(a, b, d, e) { Q.call(this, a, b); this.Re = 0; this.UH = d; this.kR = e; this.Re = (b ? b.a : 0) - (a ? a.a : 0); this.dg = this.Vb = this.gb = this.gg = 0 }; rb.prototype = Object.create(Q.prototype); rb.prototype.Qg = function(a) { var b = this.a, d = this.b, e = this.UH, f = this.kR, g = d.a - b.a, h = this.Re - g, k = 0; 0 < h * f ? k = h : this.Re = Math.floor((g - e) / f) * f + e; this.dg = 1 / (b.fb + d.fb); b = this.io; this.Vb = ea(-(1 - Math.pow(this.Vn, a)) * k / a, -b, b); this.gg = this.pm * a; this.Vb || (this.gb = 0) }; rb.prototype.yh = function(a) { var b = this.a, d = this.b; a *= this.gb; b.l -= a * b.fb; d.l += a * d.fb }; rb.prototype.Xf = function() { if (this.Vb) { var a = this.a, b = this.b, d = this.kR, e = -(this.Vb + (b.l - a.l)) * this.dg, f = this.gb; this.gb = ea((f + e) * d, 0, this.gg * Math.abs(d)) / d; e = this.gb - f; a.l -= e * a.fb; b.l += e * b.fb } }; var bb = w.O$ = function(a, b, d, e) { Q.call(this, a, b); this.UH = d; this.hA = e; this.iA = 1 / e; this.dg = this.Vb = this.gg = this.gb = 0 }; bb.prototype = Object.create(Q.prototype); bb.prototype.Qg = function(a) { var b = this.a, d = this.b; this.dg = 1 / (b.fb * this.iA + this.hA * d.fb); var e = this.io; this.Vb = ea(-(1 - Math.pow(this.Vn, a)) * (d.a * this.hA - b.a - this.UH) / a, -e, e); this.gg = this.pm * a }; bb.prototype.yh = function(a) { var b = this.a, d = this.b; a *= this.gb; b.l -= a * b.fb * this.iA; d.l += a * d.fb }; bb.prototype.Xf = function() { var a = this.a, b = this.b, d = (this.Vb - (b.l * this.hA - a.l)) * this.dg, e = this.gb; this.gb = ea(e + d, -this.gg, this.gg); d = this.gb - e; a.l -= d * a.fb * this.iA; b.l += d * b.fb }; bb.prototype.U7 = function(a) { this.hA = a; this.iA = 1 / a; this.Y0() }; var sb = w.Kaa = function(a, b, d) { Q.call(this, a, b); this.C6 = d; this.dg = this.gg = this.gb = 0 }; sb.prototype = Object.create(Q.prototype); sb.prototype.Qg = function(a) { this.dg = 1 / (this.a.fb + this.b.fb); this.gg = this.pm * a }; sb.prototype.yh = function(a) { var b = this.a, d = this.b; a *= this.gb; b.l -= a * b.fb; d.l += a * d.fb }; sb.prototype.Xf = function() { var a = this.a, b = this.b, d = -(b.l - a.l + this.C6) * this.dg, e = this.gb; this.gb = ea(e + d, -this.gg, this.gg); d = this.gb - e; a.l -= d * a.fb; b.l += d * b.fb } })(); c.uB = c.il.extend({ jk: null, ut: 0, Xm: 0, nc: null, ob: "Loading", K: function() { var a = this, b = 200, d = a.XC = c.md.create(c.color(32, 32, 32, 255)); d.J(c.Rj.Py); a.M(d, 0); var e = -b / 2 + 100; c.X.Qq("res/loading.png", { Bz: !1 }, function(d, e) { // b = e.height; a.TD(e, c.Rj.jq) }); var e = -b / 2 - 10, f = a.nc = c.Z.create("Loading... 0%", "Arial", 14); f.J(c.Ij(c.Rj.jq, c.d(0, e))); f.Va(c.color(180, 180, 180)); d.M(this.nc, 10); return !0 }, TD: function(a, b) { var d = new c.ia; d.Ld(a); d.$b(); d = c.P.create(d); d.Wk(c.wb()); d.x = b.x; d.y = b.y; this.XC.M(d, 10) }, ca: function() { c.t.prototype.ca.call(this); this.po(this.St, 0.3) }, xb: function() { c.t.prototype.xb.call(this); this.nc.tc("Loading... 0%") }, oH: function(a, b) { "string" == typeof a && (a = [a]); this.bI = a || []; this.vd = b }, St: function() { var a = this; a.Kv(a.St); var b = a.bI; a.ut = b.length; a.Xm = 0; c.X.load(b, function(b, e) { a.Xm = e }, function() { a.vd && a.vd() }); a.po(a.eu) }, eu: function() { var a = this.Xm, b = this.ut, d; d = Math.min(a / b * 100 | 0, 100); this.nc.tc("Loading... " + d + "%"); a >= b && this.Kv(this.eu) } }); c.uB.fA = function(a, b) { var d = c; d.Fi || (d.Fi = new c.uB, d.Fi.K()); d.Fi.oH(a, b); c.L.rA(d.Fi); return d.Fi }; var Pa = Pa || {}, Ta = 0, Ua = 0; var O = { start: "res/start.jpg", background: "res/background.jpg", M8: "res/succeed.png", Mea: "res/failed.png", OH: "res/notify.png", x1: "res/arrow.png", TS: "res/wheel.png", BO: "res/car.png", bQ: "res/huo.png", Q1: "res/collision.png", Tz: "res/notclick.png", mS: "res/start.png", pO: "res/again.png", r2: "res/down0.png", B5: "res/left0.png", c7: "res/right0.png", g9: "res/up0.png", OH: "res/notify.png", V4: "res/jt.png" }, Va = [], ua; for (ua in O) Va.push(O[ua]); var Wa, Xa, cb, db, eb, Ma = null, fb = null, L = null, gb = null, P = null, hb = null, tb = !1, ub = !1, vb = !1, wb = !1, xb = null, yb = null, V = 0, Z = 5, $ = 0, zb = 1, Ab = 0, Bb = 0, Cb = 90, Db = !1, Eb = 0, Fb = !0, Lb = !0, Mb = 0, Nb = null, Ob = !1, Pb = 1, Oa = _onRight = _onLeft = _onDown = _onUp = null, Qb = null, Zb = c.je.extend({ Ec: null, ctor: function() { this._super(); this.a1(); this.b1(); Ma = this }, b1: function() { /* var a = new c.P(O.V4); a.J(c.d(50, 115)); this.M(a); a.yb(new c.Oo(new c.La(new c.bf(0.4, c.d(0, -20)), new c.bf(0.1, c.d(0, 20))))); */ a = c.Xj.create("更多游戏", function() { clickMore(); }, this); a.Va(c.color.RED); a.Wk(0.6); a.J(c.d(90, 40)); a = c.hh.create(a); this.M(a); a.J(c.d(0, 0)) }, a1: function() { var a = new c.P(O.background); a.si({ anchorX: 0.5, anchorY: 0.5, x: c.ja.width / 2, y: c.ja.height / 2 }); this.M(a); this.h1(); fb = new c.t; fb.Vk(c.d(0.5, 0.5)); this.M(fb); xb = Rb.create(O.bQ); xb.x = c.ja.width - 95; xb.y = c.ja.height - 80; this.M(xb, 0); yb = Rb.create(O.bQ); yb.x = c.ja.width - 95; yb.y = 330; this.M(yb, 0); a = c.Ka.Qc(O.BO); L = Vb.sU(a); fb.M(L, 0); L.x = c.ja.width / 2; L.y = c.ja.height / 2; P = new c.P(O.TS); P.J(c.d(5, 115)); L.M(P, 1); hb = new c.P(O.TS); hb.J(c.d(61, 115)); L.M(hb, 1); gb = new c.P(O.BO); gb.x = 0.5 * L.ve.width; gb.y = 0.5 * L.ve.height; L.M(gb, 2); Qb = new c.P(O.Q1); Qb.J(c.d(c.ja.width - 40, 0.5 * c.ja.height + 120)); fb.M(Qb, 1); Nb = c.Z.create("时间:0:0秒", "Arial", 30, 100, c.ss); Nb.x = 90; Nb.y = 0.5 * c.ja.height - 140; this.M(Nb, 25) }, eQ: function() { Db = !1; V = 0; Z = 5; $ = 0; zb = 1; Bb = Ab = 0; Cb = 90; Ua = Ta = 0; Lb = Fb = !0; Mb = 0; Ob = !1; Pb = 1; P.Xb(0); hb.Xb(0); L.Xb(0); L.x = c.ja.width / 2; L.y = c.ja.height / 2; this.zR(); this.po(this.i9, 0.1) }, Roa: function() { this.xL = new c.Mm(this.Ec); this.xL.visible = !1; this.M(this.xL) }, Sha: function() { var a = this.Ec = new cp.aW; a.vQ = 5; for (var b = a.oS, d = c.ja, b = [new cp.ps(b, cp.G(0, 250), cp.G(d.width, 250), 0), new cp.ps(b, cp.G(0, d.height), cp.G(d.width, d.height), 0), new cp.ps(b, cp.G(0, 0), cp.G(0, d.height), 0), new cp.ps(b, cp.G(d.width - 55, 0), cp.G(d.width - 55, d.height), 0)], d = 0; d < b.length; d++) { var e = b[d]; e.x7(); e.C7(); e.p7(); a.oO(e) } a.gravity = cp.G(0, 0); this.Ec.$0(this.R1.bind(this), this.V1.bind(this), this.U1.bind(this), this.W1.bind(this)) }, R1: function() { return !0 }, V1: function() { L.J(Oa); 120 > Eb++ ? (this.L8(0), 0 == Mb ? tb = Fb = !1 : 1 == Mb && (ub = Lb = !1)) : Eb = 0; return !0 }, U1: function() {}, W1: function() { $ = 0 }, h1: function() { _onUp = c.Sh.create(O.g9, "res/up1.png", this.X5, this); _onUp.to(0); _onUp.height = _onUp.width = 98; _onDown = c.Sh.create(O.r2, "res/down1.png", this.U5, this); _onDown.to(1); _onDown.height = _onDown.width = 98; _onLeft = c.Sh.create(O.B5, "res/left1.png", this.V5, this); _onLeft.to(2); _onLeft.height = _onLeft.width = 98; _onRight = c.Sh.create(O.c7, "res/right1.png", this.W5, this); _onRight.to(3); _onRight.height = _onRight.width = 98; var a = c.hh.create(_onUp, _onDown); a.Jy(50); this.M(a, 12); a.x = 0.5 * c.ja.width; a.y = 120; menu1 = c.hh.create(_onLeft, _onRight); menu1.fG(50); this.M(menu1, 12); menu1.x = 0.5 * c.ja.width; menu1.y = 120; _onUp.Ja = !1; _onDown.Ja = !1; _onLeft.Ja = !1; _onRight.Ja = !1 }, T5: function(a) { switch (a) { case 0: Mb = 0; Fb && (tb = !0); Lb || (Lb = !0); Ob = !1; break; case 1: Mb = 1; Lb && (ub = !0); Fb || (Fb = !0); Ob = !1; break; case 2: vb = !0; break; case 3: wb = !0 } }, XQ: function(a) { switch (a) { case 0: $ = 0; tb = !1; break; case 1: $ = 0; ub = !1; break; case 2: vb = !1; break; case 3: wb = !1 } }, X5: function() { $ = 0; tb = !1 }, U5: function() { $ = 0; ub = !1 }, V5: function() { vb = !1 }, W5: function() { wb = !1 }, update: function(a) { this.Q5(a); this.R5(a); !Db && 390 < L.we().x && 390 < c.d(50 * Math.sin(0.0175 * L.Lb()) + L.x, L.y + 50 * Math.cos(0.0175 * L.Lb())).x && (Db = !0, Wb.M(Wa), Nb.Ja = !1, _onUp.Ja = !1, _onDown.Ja = !1, _onLeft.Ja = !1, _onRight.Ja = !1, share_friend()) }, Fpa: function() { vb && -38 < P.Lb() && (P.Xb(P.Lb() - Z), hb.Xb(hb.Lb() - Z), this.MS(-Z)); wb && 38 > P.Lb() && (P.Xb(P.Lb() + Z), hb.Xb(hb.Lb() + Z), this.MS(Z)) }, Bpa: function(a) { tb && (this.NS(zb), this.JS(a)); ub && (this.NS(-zb), this.JS(a)) }, NS: function(a) { $ += a; 5 < $ ? $ = 5 : -5 > $ && ($ = -5) }, MS: function(a) { V += a; 38 < V ? V = 38 : -38 > V && (V = -38) }, JS: function() { Pb = -$; Ab = Math.sin(0.0175 * V) * $; var a = L.Lb() + 180 * Math.atan(Ab / Cb) / 3.1416; L.Xb(a); Bb = Math.cos(0.0175 * V) * $; var b = Math.sin(0.0175 * (a + 0)) * Bb; L.y += Math.cos(0.0175 * (a + 0)) * Bb; L.x += b }, L8: function() { if (!Ob) { Ob = !0; if (0 != $) { Ab = Math.sin(0.0175 * V) * $; var a = L.Lb() - 180 * Math.atan(Ab / Cb) / 3.1416; L.Xb(a); Bb = Math.cos(0.0175 * V) * $ } else 0 == Pb && (Pb = 1), Ab = Math.sin(0.0175 * V) * Pb, a = L.Lb() - 180 * Math.atan(Ab / Cb) / 3.1416, L.Xb(a), Bb = Math.cos(0.0175 * V) * Pb; L.y -= Math.cos(0.0175 * (a + 0)) * Bb; L.x -= Math.sin(0.0175 * (a + 0)) * Bb } }, Zca: function() { var a = L.y; if (a > c.ja.height - 150 || a < 0.5 * c.ja.height + 20) { var b = L.x; 280 < b && (L.x = 280) } a < c.ja.height - 150 && a > 0.5 * c.ja.height + 20 && (b = L.x, 350 < b && (a = L.y, a > c.ja.height - 150 ? L.y = c.ja.height - 150 : a < 0.5 * c.ja.height + 20 && (L.y = 0.5 * c.ja.height + 20))); return !1 }, kda: function() { var a = L.x, b = L.y; a > c.ja.width - 150 ? L.x = c.ja.width - 150 : 0 > a && (L.x = 0); b > c.ja.height ? L.y = c.ja.height : 300 > b && (L.y = 300); return !1 }, i9: function() { Db || (8 < Ua++ && (Ua = 0, 3600 < Ta++ && (Ta = 3600)), Nb.tc("时间:" + Ta + ":" + Ua + "秒")) }, Gka: function() { vb && -38 < P.Lb() && (P.Xb(P.Lb() - Z), hb.Xb(hb.Lb() - Z), this.RQ(-Z)); wb && 38 > P.Lb() && (P.Xb(P.Lb() + Z), hb.Xb(hb.Lb() + Z), this.RQ(Z)) }, L5: function(a) { tb && (this.SQ(zb), this.QQ(a)); ub && (this.SQ(-zb), this.QQ(a)) }, SQ: function(a) { $ += a; 5 < $ ? $ = 5 : -5 > $ && ($ = -5) }, RQ: function(a) { V += a; 38 < V ? V = 38 : -38 > V && (V = -38) }, QQ: function() { Ab = Math.sin(0.0175 * V) * $; var a = L.Lb() + 180 * Math.atan(Ab / Cb) / 3.1416; Bb = Math.cos(0.0175 * V) * $; var b = L.we(); b.x += Math.sin(0.0175 * (a + 0)) * Bb; b.y += Math.cos(0.0175 * (a + 0)) * Bb; var d = xb.x, e = xb.y, f = yb.x, g = yb.y, h = c.d(null.we().x + b.x, null.we().y + b.y); c.log("x:" + h.x); c.log("y:" + h.y); c.Rg(xb.Zf(d, e), h) || c.Rg(xb.Zf(d, e), Ma.Nn(null.we())) || c.Rg(xb.Zf(d, e), Ma.Nn(null.we())) || c.Rg(xb.Zf(d, e), Ma.Nn(null.we())) || c.Rg(yb.Zf(f, g), Ma.Nn(null.we())) || c.Rg(yb.Zf(f, g), Ma.Nn(null.we())) || c.Rg(yb.Zf(f, g), Ma.Nn(null.we())) || c.Rg(yb.Zf(f, g), Ma.Nn(null.we())) ? (c.log("collision!"), a = L.Lb() - 180 * Math.atan(Ab / Cb) / 3.1416, L.J(b), L.Xb(a)) : b.x < c.ja.width - 150 && 0 < b.x && b.y < c.ja.height && 300 < b.y && (L.J(b), L.Xb(a)) }, Fka: function(a) { var b = L.x, d = L.y; b > c.ja.width - 150 ? L.x = c.ja.width - 150 : 0 > b && (L.x = 1); d > c.ja.height ? L.y = c.ja.height - 1 : 300 > d && (L.y = 301); b = c.Rg(xb.Zf(), xb); d = c.Rg(xb.Zf(), xb); b ? c.log("collision Down!") : d && c.log("collision up!"); this.L5(a) }, bia: function(a, b) { var d = b.x, e = b.y, f = a.Zf(a.x, a.y), d = b.Zf(d, e); return c.F6(f, d) }, R5: function() { vb && -38 < P.Lb() && (P.Xb(P.Lb() - Z), hb.Xb(hb.Lb() - Z), this.UQ(-Z)); wb && 38 > P.Lb() && (P.Xb(P.Lb() + Z), hb.Xb(hb.Lb() + Z), this.UQ(Z)) }, UQ: function(a) { V += a; 38 < V ? V = 38 : -38 > V && (V = -38) }, Q5: function(a) { tb && (this.VQ(zb), this.TQ(a)); ub && (this.VQ(-zb), this.TQ(a)) }, VQ: function(a) { $ += a; 5 < $ ? $ = 5 : -5 > $ && ($ = -5) }, TQ: function() { var a = L.x, b = L.y, d = L.Lb(); Pb = -$; Ab = Math.sin(0.0175 * V) * $; var e = L.Lb() + 180 * Math.atan(Ab / Cb) / 3.1416; L.Xb(e); Bb = Math.cos(0.0175 * V) * $; var f = Math.sin(0.0175 * (e + 0)) * Bb; L.y += Math.cos(0.0175 * (e + 0)) * Bb; L.x += f; var e = Xb(L), f = Xb(xb), g = Xb(yb), h = Xb(Qb); if (Yb(e, f) || Yb(e, g) || Yb(e, h) || this.P5()) L.x = a, L.y = b, L.Xb(d) }, P5: function() { var a = L.x, b = L.y; return a > c.ja.width || 0 > a || b > c.ja.height || 300 > b ? !0 : !1 } }), $b = c.je.extend({ ctor: function() { this._super(); this.c1(); var a = new c.P(O.start); a.J(c.d(250, 400)); this.M(a, 1) }, c1: function() { var a = c.Sh.create(O.mS, O.mS, this.dv, this); a.height = 59; var b = c.Sh.create(O.Tz, O.Tz, function() { clickMore(); }, this); b.height = 59; a = c.hh.create(a, b); a.Jy(50); this.M(a, 12, 3); a.x = 0.5 * c.ja.width; a.y = 120 }, dv: function() { Xa.eQ(); cb.vm(); _onUp.Ja = !0; _onDown.Ja = !0; _onLeft.Ja = !0; _onRight.Ja = !0 } }), ac = c.je.extend({ Pc: !1, Qpa: !0, $k: null, ctor: function() { this._super(); this.$k = new c.P(O.M8); this.$k.x = c.ja.width / 2; this.$k.anchorY = 0.2; this.$k.y = c.ja.height / 2; this.M(this.$k) }, ca: function() { this._super(); this.$k.Sg(); var a = this.$k.width, b = this.$k.height, d = new c.Z("打败50%朋友圈的人!\n你能超过我吗?", "宋体", 35, c.size(450, 350), c.Pm), e = Ta; 45 > e ? d.tc("你用了" + Ta + "." + Ua + "秒停车入位\n获得称号\n老司机\n快邀请小伙伴来试试!") : 150 > e ? d.tc("你用了" + Ta + "." + Ua + "秒停车入位\n获得称号\n新手上路\n快邀请小伙伴来试试!") : d.tc("你用了" + Ta + "." + Ua + "秒停车入位\n获得称号\n马路杀手\n快邀请小伙伴来试试!"); d.x = a / 2; d.y = b / 7; d.width = a; d.color = c.color(0, 0, 0); this.$k.M(d); var stitle = 45 > Ta ? "我停车入位用了" + Ta + "." + Ua + "秒,教练夸我是老师傅,不服来挑战!" : 150 > Ta ? "我停车入位用了" + Ta + "." + Ua + "秒,终于过了科目3,累死~~~" : "我停车入位用了" + Ta + "." + Ua + "秒,难道传说的马路杀手就是我?"; dp_submitScore(Ta*10+Ua,stitle); this.cg(50) || (a = c.Sh.create(O.OH, O.OH, function() { // Wb.M(db, 100); share_friend() }, this), a.height = 59, a.width = 180, b = c.Sh.create(O.pO, O.pO, function() { Xa.eQ(); Wa.vm(); _onUp.Ja = !0; _onDown.Ja = !0; _onLeft.Ja = !0; _onRight.Ja = !0; Nb.Ja = !0 }, this), b.height = 59, b.width = 180, a = c.hh.create(a, b), a.fG(60), this.M(a, 0, 50), a.x = 0.5 * c.ja.width, a.y = 270, b = c.Sh.create(O.Tz, O.Tz, function() { clickMore(); }, this), b.height = 126, b.width = 416, b.Wk(0.4), a = c.hh.create(b), this.M(a, 0, 50), a.x = c.ja.width - 80, a.y = 20); this.Pc = !0 }, xb: function() { this._super(); this.Pc = !1 } }), bc = c.md.extend({ ctor: function() { this._super(c.color(0, 0, 0, 188), c.ja.width, c.ja.height); var a = new c.P(O.x1); a.anchorX = 1; a.anchorY = 1; a.x = c.ja.width - 15; a.y = c.ja.height - 5; this.M(a); a = new c.Z('请点击右上角的菜单按钮\n再点"分享到朋友圈"\n让好友们挑战你的分数!', "宋体", 20, c.size(0.7 * c.ja.width, 250), c.Pm); a.x = c.ja.width / 2; a.y = c.ja.height - 100; a.anchorY = 1; this.M(a) }, ca: function() { clickMore(); } }), cc = c.je.extend({ ctor: function() { this._super(); var a = c.L.V, b = c.Xj.create(" ", function() { clickMore(); }, this); b.Va(c.color.BLACK); b.Na = 0.7; b.ma = 0.7; b = c.hh.create(b); b.Jy(10); this.M(b); b.x = 0.5 * a.width; b.y = a.height - 17 } }), Wb = null, dc = c.il.extend({ ca: function() { this._super(); Xa = new Zb; this.M(Xa); cb = new $b; this.M(cb); eb = new cc; this.M(eb, 99); Wa = new ac(!0); db = new bc } }); share_friend = function() { dp_share(); /*var a = Ta, b = Ua, d = null, d = 45 > a ? "我停车入位用了" + a + "." + b + "秒,教练夸我是老师傅,不服来挑战!" : 150 > a ? "我停车入位用了" + a + "." + b + "秒,终于过了科目3,累死~~~" : "我停车入位用了" + a + "." + b + "秒,难道传说的马路杀手就是我?"; /* qqlShare({desc:"我停车入位用了" + a + "." + b + "秒,教练夸我是老师傅,不服来挑战!" : 150 > a ? "我停车入位用了" + a + "." + b + "秒,终于过了科目3,累死~~~" : "我停车入位用了" + a + "." + b + "秒,难道传说的马路杀手就是我?"});*/ /* window.shareData.tTitle = d; window.wxData.desc = d; window.wxFriend.desc = d*/ }; var Rb = c.P.extend({ xe: !0, ctor: function(a) { this._super(a) }, Zf: function(a, b) { return c.rect(a - 40, b - 85, 80, 170) } }); Rb.create = function(a) { return new Rb(a) }; RemoveAllBuffer = function() { for (var a, b = 0; b < Pa.Oh.zr.length; b++)(a = Pa.Oh.zr[b]) && a.vm(!0); Pa.Oh.zr.splice(0, Pa.Oh.zr.length); for (b = 0; b < Pa.Oh.as.length; b++)(a = Pa.Oh.as[b]) && a.vm(!0); Pa.Oh.as.splice(0, Pa.Oh.as.length) }; DisableAllRol = function() { for (var a, b = 0; b < Pa.Oh.zr.length; b++)(a = Pa.Oh.zr[b]) && a.Dv(); for (b = 0; b < Pa.Oh.as.length; b++)(a = Pa.Oh.as[b]) && a.Dv() }; var wc = c.P.extend({ xe: !0, ba: null, ctor: function(a) { this._super(a) }, Zf: function(a, b) { var d = this.ba; Ma.cg(520).Eu(c.d(a - 0.5 * d.width, b - 0.5 * d.height), c.d(0.5 * d.width, 0.5 * d.height), null, 2, c.color(255, 0, 255, 255)); return c.rect(a - 40, b - 75, 80, 150) } }); wc.create = function(a) { return new wc(a) }; var Vb = c.P.extend({ ba: null, ctor: function() { this._super() }, pa: function(a, b) { this._super(a, b); if (a instanceof c.ia) this.ba = b; else if (a instanceof HTMLImageElement || a instanceof HTMLCanvasElement) this.ba = b; return !0 }, rect: function() { return c.rect(0.5 * -this.ba.width - 0, 0.5 * -this.ba.height - 0, this.ba.width + 0, this.ba.height + 0) }, pda: function(a) { a = a.Aq(); var b = this.rect(); b.x += this.x; b.y += this.y; return c.Rg(b, a) }, Zf: function() { var a = this.rect(); a.x += this.x; a.y += this.y; Ma.cg(520).Eu(c.d(-a.x, -a.x), c.d(0.5 * a.width, 0.5 * a.height), null, 2, c.color(255, 0, 255, 255)); return c.rect(0.5 * -a.width, 0.5 * -a.height, a.width, a.height) } }); Vb.sU = function(a) { var b = c.rect(0, 0, 66, 151), d = new Vb; d.pa(a, b); return d }; function xc(a, b) { this.x = a; this.y = b } function yc(a, b) { this.min = a; this.max = b } yc.prototype = {}; function zc(a) { this.xo = a } zc.prototype = { vj: function(a) { for (var b = 0, d = b = Ac(this.xo[0], a), e = 1; 4 > e; e++) { var f = 0, f = Ac(this.xo[e], a); f > d ? d = f : f < b && (b = f) } return new yc(b, d) } }; function Yb(a, b) { var d = Bc(a), e = Bc(b), f, g, h; for (f = 0; 4 > f; f++) if (g = a.vj(d[f]), h = b.vj(d[f]), g.min > h.max || g.max < h.min) return !1; for (f = 0; 4 > f; f++) if (g = a.vj(e[f]), h = b.vj(e[f]), g.min > h.max || g.max < h.min) return !1; return !0 } function Bc(a) { for (var b = [], d = 0; 4 > d; d++) { var e; e = a.xo[d]; var f = a.xo[(d + 1) % 4], g = new xc(0, 0); g.x = e.x - f.x; g.y = e.y - f.y; e = g; f = Math.sqrt(e.x * e.x + e.y * e.y); e = new xc(e.x / f, e.y / f); b.push(new xc(-e.y, e.x)) } return b } function Ac(a, b) { return a.x * b.x + a.y * b.y } function Xb(a) { var b = [], d = a.hm(c.d(0, 0)); b.push(new xc(d.x + 0, d.y + 0)); d = a.hm(c.d(a.ve().width, 0)); b.push(new xc(d.x - 0, d.y + 0)); d = a.hm(c.d(a.ve().width, a.ve().height)); b.push(new xc(d.x - 0, d.y - 0)); d = a.hm(c.d(0, a.ve().height)); b.push(new xc(d.x + 0, d.y - 0)); return new zc(b) }; c.Wc.dv = function() { c.view.i1(!0); c.Yb.Aj ? c.view.uA(500, 800, c.cf.Vv) : c.view.uA(500, 800, c.cf.SHOW_ALL); c.view.V6(!0); c.uB.fA(Va, function() { Wb = new dc; c.L.rA(Wb) }, this) }; c.Wc.d7();