function b(a) { throw a; } var k = void 0, p = !0, q = null, r = !1; function aa() { return function(a) { return a } } function t() { return function() {} } function y(a) { return function(c) { this[a] = c } } function A(a) { return function() { return this[a] } } function E(a) { return function() { return a } } var F = F || {}; F.C = F.C || {}; F.i = {}; M = window; M = Object.prototype; delete window._p; F.Nb = function(a) { return document.createElement(a) }; F.Ja = function(a, c, d, e) { a.addEventListener(c, d, e) }; F.kK = "undefined" !== typeof require && require("fs"); F.BM = function(a, c) { if (a) if (a instanceof Array) for (var d = 0, e = a.length; d < e && c.call(k, a[d], d) !== r; d++); else for (d in a) if (c.call(k, a[d], d) === r) break }; F.bF = function(a) { if (!a) return F.log("invalid URL"), r; var c = a.indexOf("://"); if (-1 == c) return r; c = a.indexOf("/", c + 3); return (-1 == c ? a : a.substring(0, c)) != location.origin }; F.async = { XI: function(a) { var c = this.gM; if (!c.vE) { var d = c.length, e = c.AO, f = c.dO, g = f.Xd, h = f.aM, m = f.mG, f = f.xka; if (a) { if (c.vE = a, g) return g.call(h, a) } else { var n = Array.apply(q, arguments).slice(1), s = n.length; 0 == s ? n = q : 1 == s && (n = n[0]); e[this.index] = n; c.count--; m && m.call(f, n, d - c.count, d); 0 == c.count && g && g.apply(h, [q, e]) } } }, KJ: t(), Aga: function(a, c, d) { var e = F.async; d !== k ? ("function" == typeof c && (c = { mG: c }), c.Xd = d || c.Xd) : c !== k ? "function" == typeof c && (c = { Xd: c }) : a !== k ? c = {} : b("arguments error!"); var f = (d = a instanceof Array) ? a.length : Object.keys(a).length; if (0 == f) c.Xd && c.Xd.call(c.aM, q); else { var g = { length: f, count: f, dO: c, AO: d ? [] : {} }; F.BM(a, function(a, d) { if (g.vE) return r; var f = !c.Xd && !c.mG ? e.KJ : e.XI.bind({ gM: g, index: d }); a(f, d) }) } }, map: function(a, c, d) { var e = this, f = arguments.length; "function" == typeof c && (c = { gF: c }); 3 === f ? c.Xd = d || c.Xd : 2 > f && b("arguments error!"); "function" == typeof c && (c = { gF: c }); d !== k ? c.Xd = d || c.Xd : a === k && b("arguments error!"); var g = (f = a instanceof Array) ? a.length : Object.keys(a).length; if (0 === g) c.Xd && c.Xd.call(c.aM, q); else { var h = { length: g, count: g, dO: c, AO: f ? [] : {} }; F.BM(a, function(a, d) { if (h.vE) return r; var f = !c.Xd ? e.KJ : e.XI.bind({ gM: h, index: d }); c.gF.call(c.Z0, a, d, f) }) } } }; F.path = { join: function() { for (var a = arguments.length, c = "", d = 0; d < a; d++) c = (c + ("" == c ? "" : "/") + arguments[d]).replace(/(\/|\\\\)$/, ""); return c }, Rk: function(a) { return (a = /(\.[^\.\/\?\\]*)(\?.*)?$/.exec(a)) ? a[1] : q }, Hfa: function(a) { if (a) { var c = a.lastIndexOf("."); if (-1 !== c) return a.substring(0, c) } return a }, $Y: function(a, c) { var d = a.indexOf("?"); 0 < d && (a = a.substring(0, d)); d = /(\/|\\\\)([^(\/|\\\\)]+)$/g.exec(a.replace(/(\/|\\\\)$/, "")); if (!d) return q; d = d[2]; return c && a.substring(a.length - c.length).toLowerCase() == c.toLowerCase() ? d.substring(0, d.length - c.length) : d }, dirname: function(a) { return a.replace(/((.*)(\/|\\|\\\\))?(.*?\..*$)?/, "$2") }, bM: function(a, c) { c = c || ""; var d = a.indexOf("?"), e = ""; 0 < d && (e = a.substring(d), a = a.substring(0, d)); d = a.lastIndexOf("."); return 0 > d ? a + c + e : a.substring(0, d) + c + e }, Co: function(a, c, d) { if (0 == c.indexOf(".")) return this.bM(a, c); var e = a.indexOf("?"), f = ""; d = d ? this.Rk(a) : ""; 0 < e && (f = a.substring(e), a = a.substring(0, e)); e = a.lastIndexOf("/"); return a.substring(0, 0 >= e ? 0 : e + 1) + c + d + f } }; F.V = { qK: {}, $v: {}, wW: {}, zl: {}, $x: "", XY: "", Tf: {}, dx: function() { return window.XMLHttpRequest ? new window.XMLHttpRequest : new ActiveXObject("MSXML2.XMLHTTP") }, WJ: function(a) { var c = a[0], d = a[1], e = a[2], f = ["", q, q]; 1 === a.length ? f[1] = c instanceof Array ? c : [c] : 2 === a.length ? "function" == typeof d ? (f[1] = c instanceof Array ? c : [c], f[2] = d) : (f[0] = c || "", f[1] = d instanceof Array ? d : [d]) : 3 === a.length ? (f[0] = c || "", f[1] = d instanceof Array ? d : [d], f[2] = e) : b("arguments error to load js!"); return f }, F1: function(a, c, d) { var e = this, f = e.qK, g = e.WJ(arguments); - 1 < navigator.userAgent.indexOf("Trident/5") ? e.wK(g[0], g[1], 0, g[2]) : F.async.map(g[1], function(a, c, d) { a = F.path.join(g[0], a); if (f[a]) return d(q); e.YI(a, r, d) }, g[2]) }, XN: function(a, c, d) { var e = this.zW(), f = this.WJ(arguments); this.F1(f[0], f[1], function(a) { a && b(a); e.parentNode.removeChild(e); if (f[2]) f[2]() }) }, YI: function(a, c, d) { var e = document, f = F.Nb("script"); f.async = c; f.src = a; this.qK[a] = p; F.Ja(f, "load", function() { this.removeEventListener("load", arguments.callee, r); d() }, r); F.Ja(f, "error", function() { d("Load " + a + " failed!") }, r); e.body.appendChild(f) }, wK: function(a, c, d, e) { if (d >= c.length) e && e(); else { var f = this; f.YI(F.path.join(a, c[d]), r, function(g) { if (g) return e(g); f.wK(a, c, d + 1, e) }) } }, zW: function() { var a = document, c = a.getElementById("cocos2d_loadJsImg"); if (!c) { c = F.Nb("img"); F.BW && (c.src = F.BW); a = a.getElementById(F.Ic.Oe.id); a.style.backgroundColor = "black"; a.parentNode.appendChild(c); var d = getComputedStyle ? getComputedStyle(a) : a.currentStyle; d || (d = { width: a.width, height: a.height }); c.style.left = a.offsetLeft + (parseFloat(d.width) - c.width) / 2 + "px"; c.style.top = a.offsetTop + (parseFloat(d.height) - c.height) / 2 + "px"; c.style.position = "absolute" } return c }, Ix: function(a, c) { if (F.kK) require("fs").Sga(a, function(a, d) { a ? c(a) : c(q, d.toString()) }); else { var d = this.dx(), e = "load " + a + " failed!"; d.open("GET", a, p); /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 ? c(q, d.responseText) : c(e) }) : (d.overrideMimeType && d.overrideMimeType("text/plain; charset\x3dutf-8"), d.onload = function() { 4 == d.readyState && 200 == d.status ? c(q, d.responseText) : c(e) }); d.send(q) } }, xK: function(a) { if (F.kK) return require("fs").Tga(a).toString(); var c = this.dx(); c.open("GET", a, r); /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? c.setRequestHeader("Accept-Charset", "utf-8") : c.overrideMimeType && c.overrideMimeType("text/plain; charset\x3dutf-8"); c.send(q); return 4 == !c.readyState || 200 != c.status ? q : c.responseText }, YN: function(a, c) { this.Ix(a, function(d, e) { try { d ? c(d) : c(q, JSON.parse(e)) } catch (f) { b("load json [" + a + "] failed : " + f) } }) }, TI: function(a) { return /(\.png)|(\.jpg)|(\.bmp)|(\.jpeg)|(\.gif)/.exec(a) != q }, Ts: function(a, c, d) { var e = p; d !== k ? e = c.bF == q ? e : c.bF : c !== k && (d = c); var f = new Image; e && "file://" != location.origin && (f.crossOrigin = "Anonymous"); F.Ja(f, "load", function() { this.removeEventListener("load", arguments.callee, r); this.removeEventListener("error", arguments.callee, r); d && d(q, f) }); F.Ja(f, "error", function() { this.removeEventListener("error", arguments.callee, r); d && d("load image failed") }); f.src = a; return f }, AW: function(a, c, d) { var e = this, f = q; (c = a.type) ? (c = "." + c.toLowerCase(), f = a.src ? a.src : a.name + c) : (f = a, c = F.path.Rk(f)); var g = e.Tf[f]; if (g) return d(q, g); g = e.$v[c.toLowerCase()]; if (!g) return F.error("loader for [" + c + "] not exists!"), d(); c = e.l0(g.Vw ? g.Vw() : e.$x, f); g.load(c, f, a, function(a, c) { a ? (F.log(a), e.Tf[f] = q, delete e.Tf[f], d()) : (e.Tf[f] = c, d(q, c)) }) }, l0: function(a, c) { var d = this.wW, e = F.path; if (a !== k && c === k) { c = a; var f = e.Rk(c), f = f ? f.toLowerCase() : ""; a = (f = this.$v[f]) ? f.Vw ? f.Vw() : this.$x : this.$x } c = F.path.join(a || "", c); if (c.match(/[\/(\\\\)]lang[\/(\\\\)]/i)) { if (d[c]) return d[c]; e = e.Rk(c) || ""; c = d[c] = c.substring(0, c.length - e.length) + "_" + F.Cb.language + e } return c }, load: function(a, c, d) { d !== k ? "function" == typeof c && (c = { mG: c }) : c !== k ? "function" == typeof c && (d = c, c = {}) : a !== k ? c = {} : b("arguments error!"); c.Xd = function(a, c) { a && F.log(a); d && d(c) }; a instanceof Array || (a = [a]); c.gF = this.AW; c.Z0 = this; F.async.map(a, c) }, dK: function(a, c) { var d = this.zl, e = [], f; for (f in a) { var g = a[f]; d[f] = g; e.push(g) } this.load(e, c) }, Dfa: function(a, c) { var d = this, e = d.Dd(a); e ? d.dK(e.filenames, c) : d.load(a, function(a) { d.dK(a[0].filenames, c) }) }, Hj: function(a, c) { if (a && c) { if ("string" == typeof a) return this.$v[a.trim().toLowerCase()] = c; for (var d = 0, e = a.length; d < e; d++) this.$v["." + a[d].trim().toLowerCase()] = c } }, Dd: function(a) { return this.Tf[a] || this.Tf[this.zl[a]] }, Ei: function(a) { var c = this.Tf, d = this.zl; delete c[a]; delete c[d[a]]; delete d[a] }, cha: function() { var a = this.Tf, c = this.zl, d; for (d in a) delete a[d]; for (d in c) delete c[d] } }; (function() { function a() { F.ua && F.Ic.nk && F.ua.dispatchEvent(F.Ic.nk) } function c() { F.ua && F.Ic.mk && F.ua.dispatchEvent(F.Ic.mk) } var d = window, e, f; "undefined" !== typeof document.hidden ? (e = "hidden", f = "visibilitychange") : "undefined" !== typeof document.Lfa ? (e = "mozHidden", f = "mozvisibilitychange") : "undefined" !== typeof document.Mfa ? (e = "msHidden", f = "msvisibilitychange") : "undefined" !== typeof document.Lka && (e = "webkitHidden", f = "webkitvisibilitychange"); e ? F.Ja(document, f, function() { document[e] ? c() : a() }, r) : (F.Ja(d, "blur", c, r), F.Ja(d, "focus", a, r)); "onpageshow" in window && "onpagehide" in window && (F.Ja(d, "pagehide", c, r), F.Ja(d, "pageshow", a, r)); f = d = q })(); F.log = F.warn = F.error = F.assert = t(); F.kM = function(a, c) { for (var d = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"], e = q, f = 0; f < d.length; ++f) { try { e = a.getContext(d[f], c) } catch (g) {} if (e) break } return e }; F.iW = function(a, c) { F.Ca = 0; F.$ = 1; var d = F.Cb = {}; d.mR = "en"; d.i6 = "zh"; d.j6 = "fr"; d.m6 = "it"; d.k6 = "de"; d.t6 = "es"; d.s6 = "ru"; d.o6 = "ko"; d.n6 = "ja"; d.l6 = "hu"; d.r6 = "pt"; d.h6 = "ar"; d.p6 = "no"; d.q6 = "pl"; d.UR = "Windows"; d.cH = "iOS"; d.dH = "OS X"; d.SR = "UNIX"; d.RR = "Linux"; d.QR = "Android"; d.TR = "Unknown"; d.YP = "wechat"; d.VP = "androidbrowser"; d.Cy = "ie"; d.WP = "qqbrowser"; d.AG = "mqqbrowser"; d.BG = "ucbrowser"; d.q5 = "360browser"; d.r5 = "baiduboxapp"; d.zG = "baidubrowser"; d.s5 = "maxthon"; d.Dy = "opera"; d.t5 = "miuibrowser"; d.Hp = "firefox"; d.Ey = "safari"; d.By = "chrome"; d.XP = "unknown"; d.uda = r; var e = [d.zG, d.Dy, d.Hp, d.By, d.Ey], f = [d.zG, d.Dy, d.Hp, d.By, d.Ey, d.BG, d.WP, d.AG, d.Cy], g = window, h = g.navigator, m = document.documentElement, n = h.userAgent.toLowerCase(); d.xi = -1 != n.indexOf("mobile") || -1 != n.indexOf("android"); var s = h.language, s = (s = s ? s : h.browserLanguage) ? s.split("-")[0] : d.mR; d.language = s; var s = d.XP, u = n.match(/micromessenger|qqbrowser|mqqbrowser|ucbrowser|360browser|baiduboxapp|baidubrowser|maxthon|trident|opera|miuibrowser|firefox/i) || n.match(/chrome|safari/i); u && 0 < u.length && (s = u[0].toLowerCase(), "micromessenger" == s ? s = d.YP : "safari" === s && n.match(/android.*applewebkit/) ? s = d.VP : "trident" == s && (s = d.Cy)); d.Pk = s; d.mY = -1 < f.indexOf(d.Pk); f = parseInt(a[c.Zx]); s = F.$; u = F.Nb("Canvas"); F.$r = p; e = -1 == e.indexOf(d.Pk); if (1 === f || 0 === f && (d.xi || e)) s = F.Ca; if (s == F.$ && (!g.WebGLRenderingContext || !F.kM(u, { stencil: p, preserveDrawingBuffer: p }))) 0 == f ? s = F.Ca : F.$r = r; if (s == F.Ca) try { u.getContext("2d") } catch (v) { F.$r = r } F.B = s; try { d.qw = !!new(g.AudioContext || g.webkitAudioContext || g.mozAudioContext) } catch (x) { d.qw = r } try { var w = d.localStorage = g.localStorage; w.setItem("storage", ""); w.removeItem("storage"); w = q } catch (z) { ("SECURITY_ERR" === z.name || "QuotaExceededError" === z.name) && F.warn("Warning: localStorage isn't enabled. Please confirm browser cookie or privacy option"), d.localStorage = t() } w = d.aE = { canvas: p }; F.B == F.$ && (w.opengl = p); m.ontouchstart !== k || h.msPointerEnabled ? w.touches = p : m.onmouseup !== k && (w.mouse = p); m.onkeyup !== k && (w.keyboard = p); if (g.DeviceMotionEvent || g.DeviceOrientationEvent) w.accelerometer = p; g = n.match(/(iPad|iPhone|iPod)/i) ? p : r; n = n.match(/android/i) || h.platform.match(/android/i) ? p : r; m = d.TR; - 1 != h.appVersion.indexOf("Win") ? m = d.UR : g ? m = d.cH : -1 != h.appVersion.indexOf("Mac") ? m = d.dH : -1 != h.appVersion.indexOf("X11") ? m = d.SR : -1 != h.appVersion.indexOf("Linux") ? m = d.RR : n && (m = d.QR); d.tF = m; d.haa = t(); d.e$ = t(); d.xha = t(); d.c$ = function() { var a; a = "" + ("isMobile : " + this.xi + "\r\n"); a += "language : " + this.language + "\r\n"; a += "browserType : " + this.Pk + "\r\n"; a += "capabilities : " + JSON.stringify(this.aE) + "\r\n"; a += "os : " + this.tF + "\r\n"; F.log(a) } }; F.F6 = 0; F.G6 = 1; F.D6 = 2; F.E6 = 3; F.Ce = q; F.m = q; F.Za = q; F.pV = q; F.aw = r; F.nL = r; F.mL = function(a) { var c, d; if (!F.nL) { F.nL = p; var e = window; e.EF = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame; var f = F.sb(a) || F.sb("#" + a), g; "CANVAS" == f.tagName ? (c = c || f.width, d = d || f.height, g = F.nm = F.Nb("DIV"), a = F.Za = f, a.parentNode.insertBefore(g, a), a.SL(g), g.setAttribute("id", "Cocos2dGameContainer")) : ("DIV" != f.tagName && F.log("Warning: target element is not a DIV or CANVAS"), c = c || f.clientWidth, d = d || f.clientHeight, g = F.nm = f, a = F.Za = F.sb(F.Nb("CANVAS")), f.appendChild(a)); a.PL("gameCanvas"); a.setAttribute("width", c || 480); a.setAttribute("height", d || 320); a.setAttribute("tabindex", 99); a.style.outline = "none"; f = g.style; f.width = (c || 480) + "px"; f.height = (d || 320) + "px"; f.margin = "0 auto"; f.position = "relative"; f.overflow = "hidden"; g.top = "100%"; F.B == F.$ && (F.m = F.Kka = F.kM(a, { stencil: p, preserveDrawingBuffer: p, antialias: !F.Cb.xi, alpha: r })); F.m ? (e.gl = F.m, F.Ce = new F.BQ(F.m), F.aw = p, F.Fa.nW(), F.Jd.tr()) : (F.m = a.getContext("2d"), F.EW = F.m, F.m.translate(0, a.height), F.Ce = F.LG ? new F.LG(F.m) : q); F.pV = g; F.log(F.Oy); F.CX(); F.Cb.xi && (c = F.Nb("style"), c.type = "text/css", document.body.appendChild(c), c.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);}"); F.view = F.My.qB(); F.FN.q2(F.Za); F.I = F.Xa.qB(); F.I.TF && F.I.TF(F.view); F.Gt = F.I.T; F.Gha = new F.pu; F.d2 = new F.fS } }; F.NA = function() { F.B !== F.$ && b("This feature supports WebGL render mode only.") }; F.jK = r; F.CX = function() { F.jK = r; F.Za.oncontextmenu = function() { if (!F.jK) return r } }; F.Ic = { EG: 0, qQ: 1, G5: 2, pQ: 3, Hy: 4, FG: 5, DG: 6, Nt: "game_on_hide", Mp: "game_on_show", mk: q, nk: q, j8: [], Ug: { uE: "engineDir", N9: "dependencies", xs: "debugMode", X3: "showFPS", Sw: "frameRate", id: "id", Zx: "renderMode", $0: "jsList", iZ: "classReleaseMode" }, KK: r, oC: r, mc: p, EB: q, Oe: q, sF: q, dga: q, qia: function(a) { this.Oe[this.Ug.Sw] = a; this.EB && clearInterval(this.EB); this.mc = p; this.FC() }, FC: function() { var a = this, c, d = a.Oe, e = a.Ug, f = window, g = d[e.Sw], h = F.I; h.b3(d[e.X3]); f.EF && 60 == g ? (c = function() { a.mc || (h.ZN(), f.EF(c)) }, f.EF(c)) : (c = function() { h.ZN() }, a.EB = setInterval(c, 1E3 / g)); a.mc = r }, K2: function(a) { function c() { a && (d.Oe[d.Ug.id] = a); d.KK ? F.$r && (d.KU = setInterval(function() { d.oC && (F.mL(d.Oe[d.Ug.id]), d.FC(), d.mk = d.mk || new F.Ji(d.Nt), d.mk.setUserData(d), d.nk = d.nk || new F.Ji(d.Mp), d.nk.setUserData(d), d.sF(), clearInterval(d.KU)) }, 10)) : d.h2(function() { F.$r && (F.mL(d.Oe[d.Ug.id]), d.FC(), d.mk = d.mk || new F.Ji(d.Nt), d.mk.setUserData(d), d.nk = d.nk || new F.Ji(d.Mp), d.nk.setUserData(d), d.sF()) }) } var d = this; document.body ? c() : F.Ja(window, "load", function() { this.removeEventListener("load", arguments.callee, r); c() }, r) }, dW: function() { function a(a) { a[c.uE] = a[c.uE] || "frameworks/cocos2d-html5"; a[c.xs] == q && (a[c.xs] = 0); a[c.Sw] = a[c.Sw] || 60; a[c.Zx] == q && (a[c.Zx] = 1); return a } var c = this.Ug; if (document.ccConfig) this.Oe = 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, m; if (e < d.length) { if (g = d[e].src) m = /(.*)\//.exec(g)[0], F.V.$x = m, g = F.path.join(m, "project.json"); h = F.V.xK(g) } h || (h = F.V.xK("project.json")); var n = JSON.parse(h); this.Oe = a(n || {}) } catch (s) { F.log("Failed to read or parse project.json"), this.Oe = a({}) } F.iW(this.Oe, c) }, uW: {}, YJ: function(a, c, d) { var e = this.uW; if (e[c]) return q; d = d || ""; var f = [], g = a[c]; g || b("can not find module [" + c + "]"); c = F.path; for (var h = 0, m = g.length; h < m; h++) { var n = g[h]; if (!e[n]) { var s = c.Rk(n); s ? ".js" == s.toLowerCase() && f.push(c.join(d, n)) : (s = this.YJ(a, n, d)) && (f = f.concat(s)); e[n] = 1 } } return f }, h2: function(a) { var c = this, d = c.Oe, e = c.Ug, f = d[e.uE], g = F.V; if (F.$r) { c.KK = p; var h = d[e.$0] || []; F.ma ? g.XN("", h, function(d) { d && b(d); c.oC = p; a && a() }) : (e = F.path.join(f, "moduleConfig.json"), g.YN(e, function(e, g) { e && b(e); var s = d.modules || [], u = g.module, v = []; F.B == F.$ ? s.splice(0, 0, "shaders") : 0 > s.indexOf("core") && s.splice(0, 0, "core"); for (var x = 0, w = s.length; x < w; x++) { var z = c.YJ(u, s[x], f); z && (v = v.concat(z)) } v = v.concat(h); F.V.XN(v, function(d) { d && b(d); c.oC = p; a && a() }) })) } else F.error("Can not support render!") } }; F.Ic.dW(); F.i = { tG: "cc.ActionManager.addAction(): action must be non-null", RP: "cocos2d: removeAction: Target not found", d5: "cc.ActionManager.removeActionByTag(): an invalid tag", e5: "cc.ActionManager.removeActionByTag(): target must be non-null", PP: "cc.ActionManager.getActionByTag(): an invalid tag", QP: "cocos2d : getActionByTag(tag \x3d %s): Action not found", lZ: "cocos2d: **** WARNING **** CC_ENABLE_PROFILERS is defined. Disable it when you finish profiling (from ccConfig.js)", mZ: "Expected 'data' dict, but not found. Config file: %s", nZ: "Please load the resource first : %s", wQ: "cocos2d: Director: Error in gettimeofday", xQ: "cocos2d: Director: unrecognized projection", R5: "cocos2d: Director: unrecognized projection", vQ: "cocos2d: Director: Error in gettimeofday", uQ: "running scene should not null", KG: "the scene should not null", zo: "element type is wrong!", CS: "CCSheduler#scheduleCallback. Callback already scheduled. Updating interval from:%s to %s", DS: "cc.scheduler.scheduleCallbackForTarget(): callback_fn should be non-null.", ES: "cc.scheduler.scheduleCallbackForTarget(): target should be non-null.", AS: "cc.Scheduler.pauseTarget():target should be non-null", BS: "cc.Scheduler.resumeTarget():target should be non-null", zS: "cc.Scheduler.isTargetPaused():target should be non-null", CR: "getZOrder is deprecated. Please use getLocalZOrder instead.", NR: "setZOrder is deprecated. Please use setLocalZOrder instead.", AR: "RotationX !\x3d RotationY. Don't know which one to return", BR: "ScaleX !\x3d ScaleY. Don't know which one to return", wR: "An Node can't be added as a child of itself.", xR: "child already added. It can't be added again", yR: "child must be non-null", HR: "removeFromParentAndCleanup is deprecated. Use removeFromParent instead", FR: "argument tag is an invalid tag", GR: "cocos2d: removeChildByTag(tag \x3d %s): child not found!", ER: "removeAllChildrenWithCleanup is deprecated. Use removeAllChildren instead", OR: "cc.Node.stopActionBy(): argument tag an invalid tag", zR: "cc.Node.getActionByTag(): argument tag is an invalid tag", JR: "resumeSchedulerAndActions is deprecated, please use resume instead.", DR: "pauseSchedulerAndActions is deprecated, please use pause instead.", vR: "Unknown callback function", IR: "child must be non-null", KR: "cc.Node.runAction(): action must be non-null", LR: "callback function must be non-null", MR: "interval must be positive", x6: "cocos2d: Could not initialize cc.AtlasNode. Invalid Texture.", TP: "cc.AtlasNode.updateAtlasValues(): Shall be overridden in subclasses", n5: "", vG: "cocos2d: Could not initialize cc.AtlasNode. Invalid Texture.", fU: "cc._EventListenerKeyboard.checkAvailable(): Invalid EventListenerKeyboard!", hU: "cc._EventListenerTouchOneByOne.checkAvailable(): Invalid EventListenerTouchOneByOne!", gU: "cc._EventListenerTouchAllAtOnce.checkAvailable(): Invalid EventListenerTouchAllAtOnce!", eU: "cc._EventListenerAcceleration.checkAvailable(): _onAccelerationEvent must be non-nil", JQ: "Invalid parameter.", Gu: "Don't call this method if the event is for touch.", UZ: "Invalid scene graph priority!", VZ: "0 priority is forbidden for fixed priority since it's used for scene graph based priority.", ZZ: "Invalid listener type!", $Z: "Can't set fixed priority with scene graph based listener.", WZ: "Invalid parameters.", XZ: "listener must be a cc.EventListener object when adding a fixed priority listener", YZ: "The listener has been registered, please don't register it again.", pR: "parameters should not be ending with null in Javascript", qR: "Invalid index in MultiplexLayer switchTo message", rR: "Invalid index in MultiplexLayer switchTo message", oR: "cc.Layer.addLayer(): layer should be non-null", CQ: "Resolution not valid", DQ: "should set resolutionPolicy", M0: "The touches is more than MAX_TOUCHES, nUnusedIndex \x3d %s", rP: "cc.swap is being modified from original macro, please check usage", Eo: "WebGL error %s", LY: "cocos2d: cc.AnimationCache: No animations were found in provided dictionary.", MY: "cc.AnimationCache. Invalid animation format", TY: "cc.AnimationCache.addAnimations(): File could not be found", NY: "cocos2d: cc.AnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.", OY: "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.", PY: "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.", QY: "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.", RY: "cocos2d: CCAnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.", SY: "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.", UY: "cc.AnimationCache.addAnimations(): Invalid texture file name", aT: "cc.Sprite.reorderChild(): this child is not in children list", TS: "cc.Sprite.ignoreAnchorPointForPosition(): it is invalid in cc.Sprite when using SpriteBatchNode", dT: "cc.Sprite.setDisplayFrameWithAnimationName(): Frame not found", eT: "cc.Sprite.setDisplayFrameWithAnimationName(): Invalid frame index", cT: "setDisplayFrame is deprecated, please use setSpriteFrame instead.", MS: "cc.Sprite._updateBlendFunc(): _updateBlendFunc doesn't work when the sprite is rendered using a cc.CCSpriteBatchNode", VS: "cc.Sprite.initWithSpriteFrame(): spriteFrame should be non-null", WS: "cc.Sprite.initWithSpriteFrameName(): spriteFrameName should be non-null", XS: " is null, please check.", US: "cc.Sprite.initWithFile(): filename should be non-null", fT: "cc.Sprite.setDisplayFrameWithAnimationName(): animationName must be non-null", bT: "cc.Sprite.reorderChild(): child should be non-null", NS: "cc.Sprite.addChild(): cc.Sprite only supports cc.Sprites as children when using cc.SpriteBatchNode", OS: "cc.Sprite.addChild(): cc.Sprite only supports a sprite using same texture as children when using cc.SpriteBatchNode", PS: "cc.Sprite.addChild(): child should be non-null", hT: "cc.Sprite.texture setter: Batched sprites should use the same texture as the batchnode", T6: "cc.SpriteBatchNode.updateQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", ZS: "cc.SpriteBatchNode.insertQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", QS: "cc.SpriteBatchNode.addChild(): cc.SpriteBatchNode only supports cc.Sprites as children", RS: "cc.SpriteBatchNode.addChild(): cc.Sprite is not using the same texture", YS: "Sprite.initWithTexture(): Argument must be non-nil ", gT: "Invalid spriteFrameName", iT: "Invalid argument: cc.Sprite.texture setter expects a CCTexture2D.", U6: "cc.SpriteBatchNode.updateQuadFromSprite(): sprite should be non-null", $S: "cc.SpriteBatchNode.insertQuadFromSprite(): sprite should be non-null", SS: "cc.SpriteBatchNode.addChild(): child should be non-null", FS: "cc.SpriteBatchNode.addQuadFromSprite(): SpriteBatchNode only supports cc.Sprites as children", HS: "cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from %s to %s.", IS: "cocos2d: WARNING: Not enough memory to resize the atlas", KS: "cc.SpriteBatchNode.addChild(): Child doesn't belong to Sprite", JS: "cc.SpriteBatchNode.addChild(): sprite batch node should contain the child", GS: "cc.SpriteBatchNode.addQuadFromSprite(): child should be non-null", LS: "cc.SpriteBatchNode.addChild():child should be non-null", b4: "cocos2d: WARNING: originalWidth/Height not found on the cc.SpriteFrame. AnchorPoint won't work as expected. Regenrate the .plist", d4: "cocos2d: WARNING: an alias with name %s already exists", a4: "cocos2d: WARNING: Sprite frame: %s has already been added by another source, please fix name conflit", g4: "cocos2d: cc.SpriteFrameCahce: Frame %s not found", c4: "Please load the resource first : %s", e4: "cc.SpriteFrameCache.addSpriteFrames(): plist should be non-null", f4: "Argument must be non-nil", Gy: "cc.SpriteBatchNode.updateQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", fQ: "cc.SpriteBatchNode.insertQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", bQ: "cc.SpriteBatchNode.addChild(): cc.SpriteBatchNode only supports cc.Sprites as children", eQ: "Sprite.initWithTexture(): Argument must be non-nil ", cQ: "cc.Sprite.addChild(): child should be non-null", hQ: "Invalid spriteFrameName", iQ: "Invalid argument: cc.Sprite texture setter expects a CCTexture2D.", jQ: "cc.SpriteBatchNode.updateQuadFromSprite(): sprite should be non-null", gQ: "cc.SpriteBatchNode.insertQuadFromSprite(): sprite should be non-null", dQ: "cc.SpriteBatchNode.addChild(): child should be non-null", DT: "cocos2d: Could not open file: %s", OH: "cc.TextureAtlas.insertQuad(): invalid totalQuads", ET: "cc.TextureAtlas.initWithTexture():texture should be non-null", OT: "cc.TextureAtlas.updateQuad(): quad should be non-null", PT: "cc.TextureAtlas.updateQuad(): Invalid index", HT: "cc.TextureAtlas.insertQuad(): Invalid index", IT: "cc.TextureAtlas.insertQuad(): Invalid index + amount", FT: "cc.TextureAtlas.insertQuadFromIndex(): Invalid newIndex", GT: "cc.TextureAtlas.insertQuadFromIndex(): Invalid fromIndex", MT: "cc.TextureAtlas.removeQuadAtIndex(): Invalid index", NT: "cc.TextureAtlas.removeQuadsAtIndex(): index + amount out of bounds", JT: "cc.TextureAtlas.moveQuadsFromIndex(): move is out of bounds", KT: "cc.TextureAtlas.moveQuadsFromIndex(): Invalid newIndex", LT: "cc.TextureAtlas.moveQuadsFromIndex(): Invalid oldIndex", r4: "TextureCache:addPVRTCImage does not support on HTML5", p4: "TextureCache:addPVRTCImage does not support on HTML5", q4: "addPVRImage does not support on HTML5", s4: "cocos2d: Couldn't add UIImage in TextureCache", u4: "cocos2d: '%s' id\x3d%s %s x %s", tP: "cocos2d: '%s' id\x3d HTMLCanvasElement %s x %s", v4: "cocos2d: TextureCache dumpDebugInfo: %s textures, HTMLCanvasElement for %s KB (%s MB)", t4: "cc.Texture.addUIImage(): image should be non-null", uT: "initWithETCFile does not support on HTML5", yT: "initWithPVRFile does not support on HTML5", AT: "initWithPVRTCData does not support on HTML5", qT: "cc.Texture.addImage(): path should be non-null", wT: "cocos2d: cc.Texture2D. Can't create Texture. UIImage is nil", xT: "cocos2d: WARNING: Image (%s x %s) is bigger than the supported %s x %s", CT: "initWithString isn't supported on cocos2d-html5", vT: "initWithETCFile does not support on HTML5", zT: "initWithPVRFile does not support on HTML5", BT: "initWithPVRTCData does not support on HTML5", sT: "bitsPerPixelForFormat: %s, cannot give useful result, it's a illegal pixel format", pT: "cocos2d: cc.Texture2D: Using RGB565 texture since image has no alpha", rT: "cc.Texture.addImage(): path should be non-null", tT: "NSInternalInconsistencyException", Qc: "Missing file: %s", nO: "cc.radiansToDegress() should be called cc.radiansToDegrees()", Cz: "Rect width exceeds maximum margin: %s", Bz: "Rect height exceeds maximum margin: %s", KQ: "If program goes here, there should be event in dispatch.", LQ: "_inDispatch should be 1 here." }; F.Iv = function(a) { if (F.Za) { var c = F.DW, d = document; if (!c) { var e = d.createElement("Div"), c = e.style; e.setAttribute("id", "logInfoDiv"); F.Za.parentNode.appendChild(e); e.setAttribute("width", "200"); e.setAttribute("height", F.Za.height); c.zIndex = "99999"; c.position = "absolute"; c.top = "0"; c.left = "0"; c = F.DW = d.createElement("textarea"); d = c.style; c.setAttribute("rows", "20"); c.setAttribute("cols", "30"); c.setAttribute("disabled", p); e.appendChild(c); 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); c.value = c.value + a + "\r\n"; c.scrollTop = c.scrollHeight } }; F.uv = function(a) { if ("object" === typeof a) try { return JSON.stringify(a) } catch (c) { return "" } else return a }; console.log && (F.log = function(a) { for (var c = 1; c < arguments.length; c++) a = a.replace(/(%s)|(%d)/, F.uv(arguments[c])); console.log(a) }, F.warn = console.warn ? function(a) { for (var c = 1; c < arguments.length; c++) a = a.replace(/(%s)|(%d)/, F.uv(arguments[c])); console.warn(a) } : F.log, F.error = console.error ? function(a) { for (var c = 1; c < arguments.length; c++) a = a.replace(/(%s)|(%d)/, F.uv(arguments[c])); console.error(a) } : F.log, F.assert = function(a, c) { if (!a && c) { for (var d = 2; d < arguments.length; d++) c = c.replace(/(%s)|(%d)/, F.uv(arguments[d])); b(c) } }); var S = F.Ic.Oe[F.Ic.Ug.xs], V = F.Ic; console.log && S === V.qQ || (F.log = S == V.Hy ? F.Iv.bind(F) : t()); if (!S || S == V.EG || S == V.pQ || S == V.DG) F.warn = t(); if (S == V.Hy || S == V.FG || !console.warn) F.warn = F.Iv.bind(F); if (!S || S == V.EG) F.error = t(), F.assert = t(); else if (S == V.Hy || S == V.FG || S == V.DG || !console.error) F.error = F.Iv.bind(F), F.assert = function(a, c) { if (!a && c) { for (var d = 2; d < arguments.length; d++) c = c.replace("%s", arguments[d]); F.Iv(c) } }; F.V.D1 = function(a, c) { var d = this, e = this.dx(), f = "load " + a + " failed!"; e.open("GET", a, p); /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 = F.VI(e.responseBody); c(q, d.mw(a)) } else c(f) }) : (e.overrideMimeType && e.overrideMimeType("text/plain; charset\x3dx-user-defined"), e.onload = function() { 4 == e.readyState && 200 == e.status ? c(q, d.mw(e.responseText)) : c(f) }); e.send(q) }; F.V.mw = function(a) { if (!a) return q; for (var c = new Uint8Array(a.length), d = 0; d < a.length; d++) c[d] = a.charCodeAt(d) & 255; return c }; F.V.Efa = function(a) { var c = this.dx(), d = "load " + a + " failed!"; c.open("GET", a, r); a = q; if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) { c.setRequestHeader("Accept-Charset", "x-user-defined"); c.send(q); if (200 != c.status) return F.log(d), q; (c = F.VI(c.responseBody)) && (a = this.mw(c)) } else { c.overrideMimeType && c.overrideMimeType("text/plain; charset\x3dx-user-defined"); c.send(q); if (200 != c.status) return F.log(d), q; a = this.mw(c.responseText) } return a }; var Uint8Array = Uint8Array || Array; if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) { var ca = F.Nb("script"); ca.type = "text/vbscript"; ca.textContent = '\x3c!-- IEBinaryToArray_ByteStr --\x3e\r\nFunction IEBinaryToArray_ByteStr(Binary)\r\n IEBinaryToArray_ByteStr \x3d CStr(Binary)\r\nEnd Function\r\nFunction IEBinaryToArray_ByteStr_Last(Binary)\r\n Dim lastIndex\r\n lastIndex \x3d LenB(Binary)\r\n if lastIndex mod 2 Then\r\n IEBinaryToArray_ByteStr_Last \x3d Chr( AscB( MidB( Binary, lastIndex, 1 ) ) )\r\n Else\r\n IEBinaryToArray_ByteStr_Last \x3d ""\r\n End If\r\nEnd Function\r\n'; document.body.appendChild(ca); F.VI = function(a) { for (var c = {}, d = 0; 256 > d; d++) for (var e = 0; 256 > e; e++) c[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 c[a] }) + a } }; F = F || {}; F.Ln = "data:image/png;base64,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\x3d"; F.MB = "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAJIAAACbCAYAAACJdMJGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVDREJDMEY5MEQ1QTExRTRBMjQwQzdEMUMwMUEwRTc4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVDREJDMEZBMEQ1QTExRTRBMjQwQzdEMUMwMUEwRTc4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUNEQkMwRjcwRDVBMTFFNEEyNDBDN0QxQzAxQTBFNzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUNEQkMwRjgwRDVBMTFFNEEyNDBDN0QxQzAxQTBFNzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5F4068AABRT0lEQVR42uxdBXxT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\x3d\x3d"; F.d8 = F.MB; var F = F || {}, da = { id: 0 | 998 * Math.random(), N0: 0 | 998 * Math.random(), dM: function(a, c, 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 + "]." + c + ".call(this" + (h ? "," : "") + a.substring(g + 1) } return Function(e, a) }, P_: function() { return this.id++ }, Q_: function() { return this.N0++ } }; da.dM.F5 = da; (function() { var a = /\b_super\b/, c = F.Ic.Oe[F.Ic.Ug.iZ]; c && console.log("release Mode"); F.ma = t(); F.ma.extend = function(d) { function e() { this.xa = da.Q_(); this.ctor && this.ctor.apply(this, arguments) } var f = this.prototype, g = Object.create(f), h = da.P_(); da[h] = f; var m = { writable: p, enumerable: r, configurable: p }; g.xa = q; e.id = h; m.value = h; Object.defineProperty(g, "__pid", m); e.prototype = g; m.value = e; Object.defineProperty(e.prototype, "constructor", m); this.Th && (e.Th = F.l(this.Th)); this.Uh && (e.Uh = F.l(this.Uh)); for (var n = 0, s = arguments.length; n < s; ++n) { var u = arguments[n], v; for (v in u) { var x = "function" === typeof u[v], w = "function" === typeof f[v], z = a.test(u[v]); c && x && w && z ? (m.value = da.dM(u[v], v, h), Object.defineProperty(g, v, m)) : x && w && z ? (m.value = function(a, c) { return function() { var d = this._super; this._super = f[a]; var e = c.apply(this, arguments); this._super = d; return e } }(v, u[v]), Object.defineProperty(g, v, m)) : x ? (m.value = u[v], Object.defineProperty(g, v, m)) : g[v] = u[v]; if (x) { var B, C; if (this.Th && this.Th[v]) { var x = this.Th[v], D; for (D in this.Uh) if (this.Uh[D] == x) { C = D; break } F.j(g, x, u[v], u[C] ? u[C] : g[C], v, C) } if (this.Uh && this.Uh[v]) { x = this.Uh[v]; for (D in this.Th) if (this.Th[D] == x) { B = D; break } F.j(g, x, u[B] ? u[B] : g[B], u[v], B, v) } } } } e.extend = F.ma.extend; e.cda = function(a) { for (var c in a) g[c] = a[c] }; return e }; Function.prototype.bind = Function.prototype.bind || function(a) { var c = this; return function() { var f = Array.prototype.slice.call(arguments); return c.apply(a || q, f) } } })(); F.j = function(a, c, d, e, f, g) { if (a.__defineGetter__) d && a.__defineGetter__(c, d), e && a.__defineSetter__(c, e); else if (Object.defineProperty) { var h = { enumerable: r, configurable: p }; d && (h.get = d); e && (h.set = e); Object.defineProperty(a, c, h) } else b(Error("browser does not support getters")); if (!f && !g) for (var h = d != q, m = e != k, n = Object.getOwnPropertyNames(a), s = 0; s < n.length; s++) { var u = n[s]; if (!((a.__lookupGetter__ ? a.__lookupGetter__(u) : Object.getOwnPropertyDescriptor(a, u)) || "function" !== typeof a[u])) { var v = a[u]; if (h && v === d && (f = u, !m || g)) break; if (m && v === e && (g = u, !h || f)) break } } a = a.constructor; f && (a.Th || (a.Th = {}), a.Th[f] = c); g && (a.Uh || (a.Uh = {}), a.Uh[g] = c) }; F.l = function(a) { var c = a.constructor ? new a.constructor : {}, d; for (d in a) { var e = a[d]; c[d] = "object" == typeof e && e && !(e instanceof F.t) && !(e instanceof HTMLElement) ? F.l(e) : e } return c }; F = F || {}; F.C = F.C || {}; F.e9 = t(); F.gq = { WL: 8, o4: 9, CM: 13, shift: 16, J9: 17, alt: 18, pause: 19, o9: 20, escape: 27, zga: 33, yga: 34, end: 35, home: 36, left: 37, zka: 38, right: 39, a$: 40, gda: 45, P5: 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, D: 67, J: 68, Fg: 69, zh: 70, g: 71, Uo: 72, Ks: 73, ux: 74, vx: 75, Fx: 76, Jx: 77, Xk: 78, Mx: 79, d: 80, Wx: 81, r: 82, JF: 83, kG: 84, fa: 85, ga: 86, H: 87, x: 88, y: 89, e: 90, Pfa: 96, Qfa: 97, Rfa: 98, Sfa: 99, Tfa: 100, Ufa: 101, Vfa: 102, Wfa: 103, Xfa: 104, Yfa: 105, "*": 106, "+": 107, "-": 109, numdel: 110, "/": 111, K$: 112, O$: 113, P$: 114, Q$: 115, R$: 116, S$: 117, T$: 118, U$: 119, V$: 120, L$: 121, M$: 122, N$: 123, aga: 144, Jha: 145, Lha: 186, ",": 186, I$: 187, "\x3d": 187, ";": 188, D9: 188, K9: 189, ".": 190, Fga: 190, faa: 191, Zca: 192, "[": 219, iga: 219, "]": 221, z9: 221, f9: 220, quote: 222, Yja: 32 }; F.U5 = 0; F.Ry = 1; F.NG = 2; F.V5 = 3; F.W5 = 4; F.OQ = 5; F.D_ = 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] ? F.Ry : 2 < a.length && (73 == a[0] && 73 == a[1] || 77 == a[0] && 77 == a[1] || 255 == a[0] && 216 == a[1]) ? F.NG : F.OQ }; F.dda = function(a, c) { function d() {} d.prototype = c.prototype; a.ry = c.prototype; a.prototype = new d; a.prototype.constructor = a }; F.g9 = function(a, c, d) { var e = arguments.callee.caller; if (e.ry) return ret = e.ry.constructor.apply(a, Array.prototype.slice.call(arguments, 1)); for (var f = Array.prototype.slice.call(arguments, 2), g = r, h = a.constructor; h; h = h.ry && h.ry.constructor) if (h.prototype[c] === e) g = p; else if (g) return h.prototype[c].apply(a, f); if (a[c] === e) return a.constructor.prototype[c].apply(a, f); b(Error("cc.base called from a method of one name to a method of a different name")) }; F.L6 = function(a, c) { this.x = a || 0; this.y = c || 0 }; F.d = function(a, c) { return a == k ? { x: 0, y: 0 } : c == k ? { x: a.x, y: a.y } : { x: a, y: c } }; F.yF = function(a, c) { return a && c && a.x === c.x && a.y === c.y }; F.R6 = function(a, c) { this.width = a || 0; this.height = c || 0 }; F.size = function(a, c) { return a === k ? { width: 0, height: 0 } : c === k ? { width: a.width, height: a.height } : { width: a, height: c } }; F.Vja = function(a, c) { return a && c && a.width == c.width && a.height == c.height }; F.wH = function(a, c, d, e) { this.x = a || 0; this.y = c || 0; this.width = d || 0; this.height = e || 0 }; F.rect = function(a, c, d, e) { return a === k ? { x: 0, y: 0, width: 0, height: 0 } : c === k ? { x: a.x, y: a.y, width: a.width, height: a.height } : { x: a, y: c, width: d, height: e } }; F.rO = function(a, c) { return a && c && a.x === c.x && a.y === c.y && a.width === c.width && a.height === c.height }; F.wC = function(a) { return a && 0 === a.x && 0 === a.y && 0 === a.width && 0 === a.height }; F.Xga = function(a, c) { return !a || !c ? r : !(a.x >= c.x || a.y >= c.y || a.x + a.width <= c.x + c.width || a.y + a.height <= c.y + c.height) }; F.jt = function(a) { return a.x + a.width }; F.Yga = function(a) { return a.x + a.width / 2 }; F.jp = function(a) { return a.x }; F.kt = function(a) { return a.y + a.height }; F.Zga = function(a) { return a.y + a.height / 2 }; F.kp = function(a) { return a.y }; F.qO = function(a, c) { return c.x >= F.jp(a) && c.x <= F.jt(a) && c.y >= F.kp(a) && c.y <= F.kt(a) }; F.aha = function(a, c) { var d = a.y + a.height, e = c.x + c.width, f = c.y + c.height; return !(a.x + a.width < c.x || e < a.x || d < c.y || f < a.y) }; F.bha = function(a, c) { return !(a.x + a.width < c.x || c.x + c.width < a.x || a.y + a.height < c.y || c.y + c.height < a.y) }; F.Xx = function(a, c) { var d = F.rect(0, 0, 0, 0); d.x = Math.min(a.x, c.x); d.y = Math.min(a.y, c.y); d.width = Math.max(a.x + a.width, c.x + c.width) - d.x; d.height = Math.max(a.y + a.height, c.y + c.height) - d.y; return d }; F.$ga = function(a, c) { var d = F.rect(Math.max(F.jp(a), F.jp(c)), Math.max(F.kp(a), F.kp(c)), 0, 0); d.width = Math.min(F.jt(a), F.jt(c)) - F.jp(d); d.height = Math.min(F.kt(a), F.kt(c)) - F.kp(d); return d }; F.pu = F.ma.extend({ FK: q, GB: q, ctor: function() { window.DOMParser ? (this.GB = p, this.FK = new DOMParser) : this.GB = r }, parse: function(a) { return this.cC(a) }, cC: function(a) { var c; this.GB ? c = this.FK.parseFromString(a, "text/xml") : (c = new ActiveXObject("Microsoft.XMLDOM"), c.async = "false", c.loadXML(a)); return c } }); F.fS = F.pu.extend({ parse: function(a) { a = this.cC(a).documentElement; "plist" != a.tagName && b("Not a plist file!"); for (var c = q, d = 0, e = a.childNodes.length; d < e && !(c = a.childNodes[d], 1 == c.nodeType); d++); return this.bC(c) }, bC: function(a) { var c = q, d = a.tagName; if ("dict" == d) c = this.ZW(a); else if ("array" == d) c = this.YW(a); else if ("string" == d) if (1 == a.childNodes.length) c = a.firstChild.nodeValue; else { c = ""; for (d = 0; d < a.childNodes.length; d++) c += a.childNodes[d].nodeValue } else "false" == d ? c = r : "true" == d ? c = p : "real" == d ? c = parseFloat(a.firstChild.nodeValue) : "integer" == d && (c = parseInt(a.firstChild.nodeValue, 10)); return c }, YW: function(a) { for (var c = [], d = 0, e = a.childNodes.length; d < e; d++) { var f = a.childNodes[d]; 1 == f.nodeType && c.push(this.bC(f)) } return c }, ZW: function(a) { for (var c = {}, d = q, e = 0, f = a.childNodes.length; e < f; e++) { var g = a.childNodes[e]; 1 == g.nodeType && ("key" == g.tagName ? d = g.firstChild.nodeValue : c[d] = this.bC(g)) } return c } }); F.CL = { load: function(a, c, d, e) { F.V.Ix(a, e) } }; F.V.Hj(["txt", "xml", "vsh", "fsh", "atlas"], F.CL); F.vW = { load: function(a, c, d, e) { F.V.YN(a, e) } }; F.V.Hj(["json", "ExportJson"], F.vW); F.bW = { load: function(a, c, d, e) { F.V.Tf[c] = F.V.Ts(a, function(a, d) { if (a) return e(a); F.Fa.Wb(c); e(q, d) }) } }; F.V.Hj("png jpg bmp jpeg gif ico".split(" "), F.bW); F.tX = { load: function(a, c, d, e) { F.V.Tf[c] = F.V.Ts(d.src, function(a, d) { if (a) return e(a); F.Fa.Wb(c); e(q, d) }) } }; F.V.Hj(["serverImg"], F.tX); F.dX = { load: function(a, c, d, e) { F.V.Ix(a, function(a, c) { if (a) return e(a); e(q, F.d2.parse(c)) }) } }; F.V.Hj(["plist"], F.dX); F.nV = { nT: { ".eot": "embedded-opentype", ".ttf": "truetype", ".woff": "woff", ".svg": "svg" }, vK: function(a, c, d) { var e = document, f = F.path, g = this.nT, h = F.Nb("style"); h.type = "text/css"; e.body.appendChild(h); var m = "@font-face { font-family:" + a + "; src:"; if (c instanceof Array) for (var n = 0, s = c.length; n < s; n++) d = f.Rk(c[n]).toLowerCase(), m += "url('" + c[n] + "') format('" + g[d] + "')", m += n == s - 1 ? ";" : ","; else m += "url('" + c + "') format('" + g[d] + "');"; h.textContent += m + "};"; c = F.Nb("div"); d = c.style; d.fontFamily = a; c.innerHTML = "."; d.position = "absolute"; d.left = "-100px"; d.top = "-100px"; e.body.appendChild(c) }, load: function(a, c, d, e) { c = d.type; a = d.name; c = d.$ja; "string" == typeof d ? (c = F.path.Rk(d), a = F.path.$Y(d, c), this.vK(a, d, c)) : this.vK(a, c); e(q, p) } }; F.V.Hj(["font", "eot", "ttf", "woff", "svg"], F.nV); F.G7 = { load: function(a, c, d, e) { F.V.D1(a, e) } }; window.CocosEngine = F.Oy = "Cocos2d-html5 v3.0 RC0"; F.Wm = 0; F.Jy = F.d(0, 0); F.rQ = 0.5; F.E5 = 1; F.Hz = 1; F.PR = 0; F.GH = 0; F.Kz = 0; F.W6 = 0; F.N6 = 1; F.M6 = "-hd"; F.bU = 1; F.Rj = 0; F.P6 = 0; F.lR = 0; F.kR = 0; F.Zy = 1; F.H5 = F.Oy + "-canvas"; F.Lt = 1; F.Wg = 1; F.sb = function(a) { var c = this == F ? document : this; if (a = a instanceof HTMLElement ? a : c.querySelector(a)) a.find = a.find || F.sb, a.RE = a.RE || function(a) { return this.className.match(RegExp("(\\s|^)" + a + "(\\s|$)")) }, a.PL = a.PL || function(a) { this.RE(a) || (this.className && (this.className += " "), this.className += a); return this }, a.v2 = a.v2 || function(a) { this.RE(a) && (this.className = this.className.replace(a, "")); return this }, a.remove = a.remove || function() { this.parentNode && this.parentNode.removeChild(this); return this }, a.SL = a.SL || function(a) { a.appendChild(this); return this }, a.i2 = a.i2 || function(a) { a.childNodes[0] ? a.insertBefore(this, a.childNodes[0]) : a.appendChild(this); return this }, a.At = a.At || function() { this.style[F.sb.x4] = F.sb.translate(this.position) + F.sb.rotate(this.rotation) + F.sb.scale(this.scale) + F.sb.tp(this.tp); return this }, a.position = a.position || { x: 0, y: 0 }, a.rotation = a.rotation || 0, a.scale = a.scale || { x: 1, y: 1 }, a.tp = a.tp || { x: 0, y: 0 }, a.zP = function(a, c) { this.position.x = a; this.position.y = c; this.At() }, a.rotate = function(a) { this.rotation = a; this.At(); return this }, a.mt = function(a, c) { this.scale.x = a; this.scale.y = c; this.At(); return this }, a.jja = function(a, c) { this.tp.x = a; this.tp.y = c; this.At(); return this }; return a }; switch (F.Cb.Pk) { case F.Cb.Hp: F.sb.ft = "Moz"; F.sb.Vo = p; break; case F.Cb.By: case F.Cb.Ey: F.sb.ft = "webkit"; F.sb.Vo = p; break; case F.Cb.Dy: F.sb.ft = "O"; F.sb.Vo = r; break; case F.Cb.Cy: F.sb.ft = "ms"; F.sb.Vo = r; break; default: F.sb.ft = "webkit", F.sb.Vo = p } F.sb.x4 = F.sb.ft + "Transform"; F.sb.translate = F.sb.Vo ? function(a) { return "translate3d(" + a.x + "px, " + a.y + "px, 0) " } : function(a) { return "translate(" + a.x + "px, " + a.y + "px) " }; F.sb.rotate = F.sb.Vo ? function(a) { return "rotateZ(" + a + "deg) " } : function(a) { return "rotate(" + a + "deg) " }; F.sb.scale = function(a) { return "scale(" + a.x + ", " + a.y + ") " }; F.sb.tp = function(a) { return "skewX(" + -a.x + "deg) skewY(" + a.y + "deg)" }; F.NP = function() { return F.sb(document.createElement("input")) }; F.sb.aaa = function(a) { var c = 0, d = 0; do c += a.offsetLeft, d += a.offsetTop; while (a = a.offsetParent); return { x: c, y: d } }; F.f6 = -1; F.PI = Math.PI; F.NQ = parseFloat("3.402823466e+38F"); F.T5 = parseFloat("1.175494351e-38F"); F.gS = F.PI / 180; F.HG = 180 / F.PI; F.aA = 4294967295; F.rP = function(a, c, d) { if ("object" == typeof d && "undefined" != typeof d.x && "undefined" != typeof d.y) { var e = d[a]; d[a] = d[c]; d[c] = e } else F.log(F.i.rP) }; F.zfa = function(a, c, d) { return a + (c - a) * d }; F.Bb = function() { return 16777215 * Math.random() }; F.n2 = function() { return 2 * (Math.random() - 0.5) }; F.Qga = Math.random; F.Uf = function(a) { return a * F.gS }; F.BF = function(a) { return a * F.HG }; F.nO = function(a) { F.log(F.i.nO); return a * F.HG }; F.oq = Number.MAX_VALUE - 1; F.hc = F.PR ? 1 : 770; F.gc = 771; F.Ws = function(a) { a.Ib && (a.Ib.Nc(), a.Ib.Ze()) }; F.H$ = t(); F.R9 = t(); F.Xf = function() { F.Wf += 1 }; F.eu = 1.192092896E-7; F.rb = F.Zy ? function() { return F.I.Zg } : E(1); F.e2 = function(a) { var c = F.rb(); return F.d(a.x * c, a.y * c) }; F.zF = function(a) { var c = F.rb(); return F.d(a.x / c, a.y / c) }; F.gC = function(a, c) { var d = F.rb(); c.x = a.x / d; c.y = a.y / d }; F.Y3 = function(a) { var c = F.rb(); return F.size(a.width * c, a.height * c) }; F.mP = function(a) { var c = F.rb(); return F.size(a.width / c, a.height / c) }; F.sL = function(a, c) { var d = F.rb(); c.width = a.width / d; c.height = a.height / d }; F.Gj = F.Zy ? function(a) { var c = F.rb(); return F.rect(a.x / c, a.y / c, a.width / c, a.height / c) } : aa(); F.lt = F.Zy ? function(a) { var c = F.rb(); return F.rect(a.x * c, a.y * c, a.width * c, a.height * c) } : aa(); F.ONE = 1; F.ZERO = 0; F.SRC_ALPHA = 770; F.SRC_ALPHA_SATURATE = 776; F.SRC_COLOR = 768; F.DST_ALPHA = 772; F.DST_COLOR = 774; F.ONE_MINUS_SRC_ALPHA = 771; F.ONE_MINUS_SRC_COLOR = 769; F.ONE_MINUS_DST_ALPHA = 773; F.ONE_MINUS_DST_COLOR = 775; F.ONE_MINUS_CONSTANT_ALPHA = 32772; F.ONE_MINUS_CONSTANT_COLOR = 32770; F.Eo = function() { if (F.Zx == F.$) { var a = F.m.getError(); a && F.log(CC.yb.Eo, a) } }; F.L5 = 0; F.J5 = 1; F.M5 = 2; F.K5 = 3; F.I5 = 2; F.w7 = 0; F.Md = 1; F.Cu = 2; F.hn = 4; F.xl = F.Md | F.Cu | F.hn; F.Y5 = 0; F.qb = 0; F.ye = 1; F.ud = 2; F.x7 = 3; F.dA = 0; F.cA = 1; F.Jq = 2; F.hA = 3; F.gA = 4; F.bA = 5; F.eA = 6; F.fA = 7; F.t7 = 8; F.Pi = "ShaderPositionTextureColor"; F.ru = "ShaderPositionTextureColorAlphaTest"; F.qu = "ShaderPositionColor"; F.tq = "ShaderPositionTexture"; F.Fz = "ShaderPositionTexture_uColor"; F.Ez = "ShaderPositionTextureA8Color"; F.Gz = "ShaderPosition_uColor"; F.AH = "ShaderPositionLengthTextureColor"; F.WT = "CC_PMatrix"; F.UT = "CC_MVMatrix"; F.VT = "CC_MVPMatrix"; F.$T = "CC_Time"; F.ZT = "CC_SinTime"; F.TT = "CC_CosTime"; F.XT = "CC_Random01"; F.YT = "CC_Texture0"; F.tI = "CC_alpha_value"; F.Ep = "a_color"; F.fl = "a_position"; F.Tm = "a_texCoord"; F.ZQ = 32; F.CG = 3233828865; F.Du = 3233828866; F.uR = 8801; F.hS = 8802; F.sQ = 8803; F = F || {}; F.C = F.C || {}; F.C.lA = function() { F.color = function(a, d, e, f, g, h) { return a === k ? new W(0, 0, 0, 255, g, h) : "string" === typeof a ? (a = F.sN(a), new W(a.r, a.g, a.b, a.a)) : "object" === typeof a ? new W(a.r, a.g, a.b, a.a, a.Fw, a.offset) : new W(a, d, e, f, g, h) }; W = function(a, d, e, f, g, h) { this.Yc = g || new ArrayBuffer(W.BYTES_PER_ELEMENT); this.la = h || 0; g = this.Yc; h = this.la; var m = Uint8Array.BYTES_PER_ELEMENT; this.uC = new Uint8Array(g, h, 1); this.lB = new Uint8Array(g, h + m, 1); this.BA = new Uint8Array(g, h + 2 * m, 1); this.uA = new Uint8Array(g, h + 3 * m, 1); this.uC[0] = a || 0; this.lB[0] = d || 0; this.BA[0] = e || 0; this.uA[0] = f || 255; f === k && (this.os = p) }; W.BYTES_PER_ELEMENT = 4; var a = W.prototype; a.PV = function() { return this.uC[0] }; a.JX = function(a) { this.uC[0] = 0 > a ? 0 : a }; a.EV = function() { return this.lB[0] }; a.EX = function(a) { this.lB[0] = 0 > a ? 0 : a }; a.wV = function() { return this.BA[0] }; a.vX = function(a) { this.BA[0] = 0 > a ? 0 : a }; a.sV = function() { return this.uA[0] }; a.uX = function(a) { this.uA[0] = 0 > a ? 0 : a }; F.j(a, "r", a.PV, a.JX); F.j(a, "g", a.EV, a.EX); F.j(a, "b", a.wV, a.vX); F.j(a, "a", a.sV, a.uX); F.Cc = function(a, d, e, f) { this.Yc = e || new ArrayBuffer(F.Cc.BYTES_PER_ELEMENT); this.la = f || 0; this.hm = new Float32Array(this.Yc, this.la, 1); this.im = new Float32Array(this.Yc, this.la + 4, 1); this.hm[0] = a || 0; this.im[0] = d || 0 }; F.Cc.BYTES_PER_ELEMENT = 8; Object.defineProperties(F.Cc.prototype, { x: { get: function() { return this.hm[0] }, set: function(a) { this.hm[0] = a }, enumerable: p }, y: { get: function() { return this.im[0] }, set: function(a) { this.im[0] = a }, enumerable: p } }); F.jc = function(a, d, e, f, g) { this.Yc = f || new ArrayBuffer(F.jc.BYTES_PER_ELEMENT); this.la = g || 0; f = this.Yc; g = this.la; this.hm = new Float32Array(f, g, 1); this.hm[0] = a || 0; this.im = new Float32Array(f, g + Float32Array.BYTES_PER_ELEMENT, 1); this.im[0] = d || 0; this.ND = new Float32Array(f, g + 2 * Float32Array.BYTES_PER_ELEMENT, 1); this.ND[0] = e || 0 }; F.jc.BYTES_PER_ELEMENT = 12; Object.defineProperties(F.jc.prototype, { x: { get: function() { return this.hm[0] }, set: function(a) { this.hm[0] = a }, enumerable: p }, y: { get: function() { return this.im[0] }, set: function(a) { this.im[0] = a }, enumerable: p }, e: { get: function() { return this.ND[0] }, set: function(a) { this.ND[0] = a }, enumerable: p } }); F.Qi = function(a, d, e, f) { this.Yc = e || new ArrayBuffer(F.Qi.BYTES_PER_ELEMENT); this.la = f || 0; this.uD = new Float32Array(this.Yc, this.la, 1); this.AD = new Float32Array(this.Yc, this.la + 4, 1); this.uD[0] = a || 0; this.AD[0] = d || 0 }; F.Qi.BYTES_PER_ELEMENT = 8; Object.defineProperties(F.Qi.prototype, { fa: { get: function() { return this.uD[0] }, set: function(a) { this.uD[0] = a }, enumerable: p }, ga: { get: function() { return this.AD[0] }, set: function(a) { this.AD[0] = a }, enumerable: p } }); F.zz = function(a, d, e, f, g, h) { this.Yc = g || new ArrayBuffer(F.zz.BYTES_PER_ELEMENT); this.la = h || 0; g = this.Yc; h = F.Cc.BYTES_PER_ELEMENT; this.so = a ? new F.Cc(a.x, a.y, g, 0) : new F.Cc(0, 0, g, 0); this.vo = d ? new F.Cc(d.x, d.y, g, h) : new F.Cc(0, 0, g, h); this.nn = e ? new F.Cc(e.x, e.y, g, 2 * h) : new F.Cc(0, 0, g, 2 * h); this.rn = f ? new F.Cc(f.x, f.y, g, 3 * h) : new F.Cc(0, 0, g, 3 * h) }; F.zz.BYTES_PER_ELEMENT = 32; F.nu = function(a, d, e, f) { this.F = a || new F.jc(0, 0, 0); this.O = d || new F.jc(0, 0, 0); this.N = e || new F.jc(0, 0, 0); this.K = f || new F.jc(0, 0, 0) }; Object.defineProperties(F.zz.prototype, { N: { get: A("so"), set: function(a) { this.so.x = a.x; this.so.y = a.y }, enumerable: p }, K: { get: A("vo"), set: function(a) { this.vo.x = a.x; this.vo.y = a.y }, enumerable: p }, F: { get: A("nn"), set: function(a) { this.nn.x = a.x; this.nn.y = a.y }, enumerable: p }, O: { get: A("rn"), set: function(a) { this.rn.x = a.x; this.rn.y = a.y }, enumerable: p } }); F.pg = function(a, d, e, f, g) { this.Yc = f || new ArrayBuffer(F.pg.BYTES_PER_ELEMENT); this.la = g || 0; f = this.Yc; g = this.la; var h = F.jc.BYTES_PER_ELEMENT; this.Sa = a ? new F.jc(a.x, a.y, a.e, f, g) : new F.jc(0, 0, 0, f, g); this.Yq = d ? F.color(d.r, d.g, d.b, d.a, f, g + h) : F.color(0, 0, 0, 0, f, g + h); this.Rf = e ? new F.Qi(e.fa, e.ga, f, g + h + W.BYTES_PER_ELEMENT) : new F.Qi(0, 0, f, g + h + W.BYTES_PER_ELEMENT) }; F.pg.BYTES_PER_ELEMENT = 24; Object.defineProperties(F.pg.prototype, { k: { get: A("Sa"), set: function(a) { var d = this.Sa; d.x = a.x; d.y = a.y; d.e = a.e }, enumerable: p }, v: { get: A("Yq"), set: function(a) { var d = this.Yq; d.r = a.r; d.g = a.g; d.b = a.b; d.a = a.a }, enumerable: p }, n: { get: A("Rf"), set: function(a) { this.Rf.fa = a.fa; this.Rf.ga = a.ga }, enumerable: p } }); F.Db = function(a, d, e, f, g, h) { this.Yc = g || new ArrayBuffer(F.Db.BYTES_PER_ELEMENT); this.la = h || 0; g = this.Yc; h = this.la; var m = F.pg.BYTES_PER_ELEMENT; this.so = a ? new F.pg(a.k, a.v, a.n, g, h) : new F.pg(q, q, q, g, h); this.nn = d ? new F.pg(d.k, d.v, d.n, g, h + m) : new F.pg(q, q, q, g, h + m); this.vo = e ? new F.pg(e.k, e.v, e.n, g, h + 2 * m) : new F.pg(q, q, q, g, h + 2 * m); this.rn = f ? new F.pg(f.k, f.v, f.n, g, h + 3 * m) : new F.pg(q, q, q, g, h + 3 * m) }; F.Db.BYTES_PER_ELEMENT = 96; Object.defineProperties(F.Db.prototype, { N: { get: A("so"), set: function(a) { var d = this.so; d.k = a.k; d.v = a.v; d.n = a.n }, enumerable: p }, F: { get: A("nn"), set: function(a) { var d = this.nn; d.k = a.k; d.v = a.v; d.n = a.n }, enumerable: p }, K: { get: A("vo"), set: function(a) { var d = this.vo; d.k = a.k; d.v = a.v; d.n = a.n }, enumerable: p }, O: { get: A("rn"), set: function(a) { var d = this.rn; d.k = a.k; d.v = a.v; d.n = a.n }, enumerable: p }, Fw: { get: A("Yc"), enumerable: p } }); F.vI = function() { return new F.Db }; F.uI = function(a) { if (!a) return F.vI(); var d = a.N, e = a.F, f = a.K; a = a.O; return { N: { k: { x: d.k.x, y: d.k.y, e: d.k.e }, v: { r: d.v.r, g: d.v.g, b: d.v.b, a: d.v.a }, n: { fa: d.n.fa, ga: d.n.ga } }, F: { k: { x: e.k.x, y: e.k.y, e: e.k.e }, v: { r: e.v.r, g: e.v.g, b: e.v.b, a: e.v.a }, n: { fa: e.n.fa, ga: e.n.ga } }, K: { k: { x: f.k.x, y: f.k.y, e: f.k.e }, v: { r: f.v.r, g: f.v.g, b: f.v.b, a: f.v.a }, n: { fa: f.n.fa, ga: f.n.ga } }, O: { k: { x: a.k.x, y: a.k.y, e: a.k.e }, v: { r: a.v.r, g: a.v.g, b: a.v.b, a: a.v.a }, n: { fa: a.n.fa, ga: a.n.ga } } } }; F.v7 = function(a) { if (!a) return []; for (var d = [], e = 0; e < a.length; e++) d.push(F.uI(a[e])); return d }; F.td = function(a, d, e, f, g) { this.Yc = f || new ArrayBuffer(F.td.BYTES_PER_ELEMENT); this.la = g || 0; f = this.Yc; g = this.la; var h = F.Cc.BYTES_PER_ELEMENT; this.Sa = a ? new F.Cc(a.x, a.y, f, g) : new F.Cc(0, 0, f, g); this.Yq = d ? F.color(d.r, d.g, d.b, d.a, f, g + h) : F.color(0, 0, 0, 0, f, g + h); this.Rf = e ? new F.Qi(e.fa, e.ga, f, g + h + W.BYTES_PER_ELEMENT) : new F.Qi(0, 0, f, g + h + W.BYTES_PER_ELEMENT) }; F.td.BYTES_PER_ELEMENT = 20; Object.defineProperties(F.td.prototype, { k: { get: A("Sa"), set: function(a) { this.Sa.x = a.x; this.Sa.y = a.y }, enumerable: p }, v: { get: A("Yq"), set: function(a) { var d = this.Yq; d.r = a.r; d.g = a.g; d.b = a.b; d.a = a.a }, enumerable: p }, n: { get: A("Rf"), set: function(a) { this.Rf.fa = a.fa; this.Rf.ga = a.ga }, enumerable: p } }); F.Zb = function(a, d, e, f, g) { this.Yc = f || new ArrayBuffer(F.Zb.BYTES_PER_ELEMENT); this.la = g || 0; f = this.Yc; g = this.la; var h = F.td.BYTES_PER_ELEMENT; this.FI = a ? new F.td(a.k, a.v, a.n, f, g) : new F.td(q, q, q, f, g); this.NI = d ? new F.td(d.k, d.v, d.n, f, g + h) : new F.td(q, q, q, f, g + h); this.SI = e ? new F.td(e.k, e.v, e.n, f, g + 2 * h) : new F.td(q, q, q, f, g + 2 * h) }; F.Zb.BYTES_PER_ELEMENT = 60; Object.defineProperties(F.Zb.prototype, { a: { get: A("FI"), set: function(a) { var d = this.FI; d.k = a.k; d.v = a.v; d.n = a.n }, enumerable: p }, b: { get: A("NI"), set: function(a) { var d = this.NI; d.k = a.k; d.v = a.v; d.n = a.n }, enumerable: p }, D: { get: A("SI"), set: function(a) { var d = this.SI; d.k = a.k; d.v = a.v; d.n = a.n }, enumerable: p } }) }; F.C.rz = function() { var a = F.color; a.$V = function() { return a(255, 255, 255) }; a.aW = function() { return a(255, 255, 0) }; a.yV = function() { return a(0, 0, 255) }; a.GV = function() { return a(0, 255, 0) }; a.QV = function() { return a(255, 0, 0) }; a.LV = function() { return a(255, 0, 255) }; a.xV = function() { return a(0, 0, 0) }; a.OV = function() { return a(255, 127, 0) }; a.FV = function() { return a(166, 166, 166) }; F.j(a, "WHITE", a.$V); F.j(a, "YELLOW", a.aW); F.j(a, "BLUE", a.yV); F.j(a, "GREEN", a.GV); F.j(a, "RED", a.QV); F.j(a, "MAGENTA", a.LV); F.j(a, "BLACK", a.xV); F.j(a, "ORANGE", a.OV); F.j(a, "GRAY", a.FV) }; function W(a, c, d, e) { this.r = a || 0; this.g = c || 0; this.b = d || 0; this.a = e || 255 } F.color = function(a, c, d, e) { return a === k ? { r: 0, g: 0, b: 0, a: 255 } : "string" === typeof a ? F.sN(a) : "object" === typeof a ? { r: a.r, g: a.g, b: a.b, a: a.a || 255 } : { r: a, g: c, b: d, a: e || 255 } }; F.A9 = function(a, c) { return a.r === c.r && a.g === c.g && a.b === c.b }; F.OP = function() { this.timestamp = this.e = this.y = this.x = 0 }; F.Cc = function(a, c) { this.x = a || 0; this.y = c || 0 }; F.yy = function(a, c) { return new F.Cc(a, c) }; F.jc = function(a, c, d) { this.x = a || 0; this.y = c || 0; this.e = d || 0 }; F.Hka = function(a, c, d) { return new F.jc(a, c, d) }; F.Qi = function(a, c) { this.fa = a || 0; this.ga = c || 0 }; F.mka = function(a, c) { return new F.Qi(a, c) }; F.Nj = function(a, c) { this.src = a; this.U = c }; F.k9 = function() { return new F.Nj(F.ONE, F.ZERO) }; F.sN = function(a) { a = a.replace(/^#?/, "0x"); a = parseInt(a); return F.color(a >> 16, (a >> 8) % 256, a % 256) }; F.C9 = function(a) { var c = a.r.toString(16), d = a.g.toString(16), e = a.b.toString(16); return "#" + (16 > a.r ? "0" + c : c) + (16 > a.g ? "0" + d : d) + (16 > a.b ? "0" + e : e) }; F.tu = 0; F.xq = 1; F.JH = 2; F.Kq = 0; F.cU = 1; F.wI = 2; F.A7 = F.ma.extend({ $n: q, is: q, tA: 0, ctor: function() { this.$n = {}; this.is = {}; this.tA = 2 << (0 | 10 * Math.random()) }, nU: function() { this.tA++; return "key_" + this.tA }, Nia: function(a, c) { if (c != q) { var d = this.nU(); this.$n[d] = c; this.is[d] = a } }, L1: function(a) { if (a == q) return q; var c = this.$n, d; for (d in c) if (c[d] === a) return this.is[d]; return q }, Gka: function(a) { return this.L1(a) }, x2: function(a) { if (a != q) { var c = this.$n, d; for (d in c) if (c[d] === a) { delete this.is[d]; delete c[d]; break } } }, pha: function(a) { if (a != q) for (var c = 0; c < a.length; c++) this.x2(a[c]) }, KY: function() { var a = [], c = this.$n, d; for (d in c) a.push(c[d]); return a }, jha: function() { this.$n = {}; this.is = {} }, count: function() { return this.KY().length } }); F.PG = function() { this.fontName = "Arial"; this.fontSize = 12; this.textAlign = F.xq; this.verticalAlign = F.Kq; this.fillStyle = F.color(255, 255, 255, 255); this.boundingHeight = this.boundingWidth = 0; this.jG = r; this.strokeStyle = F.color(255, 255, 255, 255); this.lineWidth = 1; this.kP = r; this.shadowBlur = this.shadowOffsetY = this.shadowOffsetX = 0; this.shadowOpacity = 1 }; F.B === F.$ && (F.assert("function" === typeof F.C.lA, F.i.Qc, "CCTypesWebGL.js"), F.C.lA(), delete F.C.lA); F.assert("function" === typeof F.C.rz, F.i.Qc, "CCTypesPropertyDefine.js"); F.C.rz(); delete F.C.rz; F.p7 = []; F.q7 = {}; F.My = F.ma.extend({ M7: q, ge: q, Cn: q, xk: q, pe: q, qi: q, CC: r, AA: p, Cl: 1, HD: "", zC: q, qa: 1, BK: 1, Ra: 1, CK: 1, Sn: 0, SB: 5, lh: q, $K: q, dL: q, cL: q, aL: q, bL: q, ur: r, H7: r, F8: q, bK: q, cK: q, y8: r, QA: q, qk: q, kB: 1, Iu: r, iK: p, ctor: function() { var a = document, c = F.Oj, d = F.lg; this.qk = F.nm.parentNode === a.body ? a.documentElement : F.nm.parentNode; this.ge = F.size(0, 0); this.zB(); var a = F.Za.width, e = F.Za.height; this.Cn = F.size(a, e); this.xk = F.size(a, e); this.pe = F.rect(0, 0, a, e); this.qi = F.rect(0, 0, a, e); this.QA = { left: 0, top: 0 }; this.HD = "Cocos2dHTML5"; a = F.Cb; this.RZ(a.tF == a.cH || a.tF == a.dH); F.Qm && F.Qm.M(this.qi); this.$K = new F.we(c.Mt, d.Py); this.dL = new F.we(c.dS, d.su); this.cL = new F.we(c.Mt, d.hz); this.aL = new F.we(c.Mt, d.Qy); this.bL = new F.we(c.Mt, d.du); this.bK = F.Za; this.cK = F.m }, AC: function() { var a = this.xk.width, c = this.xk.height; this.zC && (this.zB(), this.zC.call()); 0 < a && this.OF(a, c, this.lh) }, E2: function(a) { a ? this.Iu || (this.Iu = p, a = this.AC.bind(this), F.Ja(window, "resize", a, r)) : this.Iu && (this.Iu = p, a = this.AC.bind(this), window.removeEventListener("resize", a, r)) }, eja: function(a) { if ("function" == typeof a || a == q) this.zC = a }, zB: function() { var a = this.ge; a.width = this.qk.clientWidth; a.height = this.qk.clientHeight }, B7: function() { var a = this.xk.width, c = this.xk.height; 0 < a && this.OF(a, c, this.lh) }, bY: function() { if (this.iK) { var a = { "user-scalable": "no", "maximum-scale": "1.0", "initial-scale": "1.0" }, c = document.getElementsByName("viewport"), d; 0 == c.length ? (c = F.Nb("meta"), c.name = "viewport", c.content = "", document.head.appendChild(c)) : c = c[0]; if (F.Cb.xi && F.Cb.Pk == F.Cb.Hp) c.content = "initial-scale:1"; else { d = c.content; for (var e in a) RegExp(e).test(d) || (d += ("" == d ? "" : ",") + e + "\x3d" + a[e]); c.content = d } } }, jL: function() { var a = F.rb(); this.Ra = this.qa = a }, XK: function() { this.qa = this.BK; this.Ra = this.CK }, C7: t(), L0: function() { this.ur = p }, U8: y("iK"), RZ: function(a) { this.CC = a ? p : r }, zda: A("CC"), G$: function(a) { this.AA = a ? p : r }, lda: A("AA"), end: t(), wda: function() { return this.bK != q && this.cK != q }, sia: function(a) { this.kB = a; F.I.Mm(F.I.ki) }, ika: t(), xia: t(), dia: function(a, c) { this.QA = { left: a, top: c } }, Eaa: A("QA"), dba: function() { return F.size(this.ge.width, this.ge.height) }, ria: function(a, c) { this.ge.width = a; this.ge.height = c; this.qk.style.width = a + "px"; this.qk.style.height = c + "px"; this.AC(); F.I.Mm(F.I.ki) }, t9: t(), Gs: function() { return F.size(this.qi.width, this.qi.height) }, ME: function() { return F.d(this.qi.x, this.qi.y) }, m9: E(p), cca: A("lh"), x3: function(a) { if (a instanceof F.we) this.lh = a; else { var c = F.we; a === c.Py && (this.lh = this.$K); a === c.su && (this.lh = this.dL); a === c.hz && (this.lh = this.cL); a === c.Qy && (this.lh = this.aL); a === c.du && (this.lh = this.bL) } }, OF: function(a, c, d) { if (isNaN(a) || 0 == a || isNaN(c) || 0 == c) F.log(F.i.CQ); else { this.x3(d); var e = this.lh; if (e) { e.Hm(this); var f = this.ge.width, g = this.ge.height; F.Cb.xi && this.bY(this.ge.width, this.ge.height); this.zB(); d == this.lh && a == this.xk.width && c == this.xk.height && f == this.ge.width && g == this.ge.height || (this.Cn = F.size(a, c), this.xk = F.size(a, c), a = e.apply(this, this.Cn), a.scale && 2 == a.scale.length && (this.qa = a.scale[0], this.Ra = a.scale[1]), a.viewport && (a = this.pe = a.viewport, c = this.qi, c.width = F.Za.width / this.qa, c.height = F.Za.height / this.Ra, c.x = -a.x / this.qa, c.y = -a.y / this.Ra), a = F.I, F.Gt.width = a.T.width = this.qi.width, F.Gt.height = a.T.height = this.qi.height, e.Gm(this), F.B == F.$ && (a.zn(), a.QO()), this.BK = this.qa, this.CK = this.Ra, F.tQ && F.tQ.p8(), F.Qm && F.Qm.M(this.qi)) } else F.log(F.i.DQ) } }, AE: function() { return F.size(this.Cn.width, this.Cn.height) }, R3: function(a, c, d, e) { var f = this.kB, g = this.qa, h = this.Ra; F.m.viewport(a * g * f + this.pe.x * f, c * h * f + this.pe.y * f, d * g * f, e * h * f) }, gja: function(a, c, d, e) { var f = this.kB, g = this.qa, h = this.Ra; F.m.scissor(a * g * f + this.pe.x * f, c * h * f + this.pe.y * f, d * g * f, e * h * f) }, Bda: function() { var a = F.m; return a.isEnabled(a.SCISSOR_TEST) }, hca: function() { var a = F.m, c = this.qa, d = this.Ra, a = a.getParameter(a.SCISSOR_BOX); return F.rect((a[0] - this.pe.x) / c, (a[1] - this.pe.y) / d, a[2] / c, a[3] / d) }, Qja: function(a) { a != q && 0 < a.length && (this.HD = a) }, Pca: A("HD"), Qca: A("pe"), cN: A("qa"), dN: A("Ra"), Maa: A("Cl"), hE: function(a, c, d) { return { x: this.Cl * (a - d.left), y: this.Cl * (d.top + d.height - c) } }, YU: function(a, c) { var d = this.pe; a.x = (this.Cl * (a.x - c.left) - d.x) / this.qa; a.y = (this.Cl * (c.top + c.height - a.y) - d.y) / this.Ra }, av: function(a) { for (var c = this.pe, d = this.qa, e = this.Ra, f, g, h, m = 0; m < a.length; m++) f = a[m], g = f.zd, h = f.ji, f.TC((g.x - c.x) / d, (g.y - c.y) / e), f.io((h.x - c.x) / d, (h.y - c.y) / e) } }); F.My.qB = function() { this.Bv || (this.Bv = this.Bv || new F.My, this.Bv.L0()); return this.Bv }; F.Oj = F.ma.extend({ Hm: t(), apply: t(), Gm: t(), XC: function(a, c, d) { var e = a.qk; F.view.AA && (F.Cb.xi && e == document.documentElement) && F.screen.ZY(e); var e = F.Za, f = F.nm; f.style.width = e.style.width = c + "px"; f.style.height = e.style.height = d + "px"; f = a.Cl = 1; a.CC && (f = a.Cl = window.devicePixelRatio || 1); e.width = c * f; e.height = d * f; a = document.body; var g; if (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" }, PJ: function() { document.body.insertBefore(F.nm, document.body.firstChild); var a = document.body.style; a.width = window.innerWidth + "px"; a.height = window.innerHeight + "px"; a.overflow = "hidden"; a = F.nm.style; a.position = "fixed"; a.left = a.top = "0px"; document.body.scrollTop = 0 } }); F.lg = F.ma.extend({ BC: { scale: [1, 1], viewport: q }, Uq: function(a, c, d, e, f, g) { 2 > Math.abs(a - d) && (d = a); 2 > Math.abs(c - e) && (e = c); a = F.rect(Math.round((a - d) / 2), Math.round((c - e) / 2), d, e); F.B == F.Ca && F.m.translate(a.x, a.y + e); this.BC.scale = [f, g]; this.BC.viewport = a; return this.BC }, Hm: t(), apply: function() { return { scale: [1, 1] } }, Gm: t() }); (function() { var a = F.Oj.extend({ apply: function(a) { this.XC(a, a.ge.width, a.ge.height) } }), c = F.Oj.extend({ apply: function(a, c) { var d = a.ge.width, e = a.ge.height, f = F.nm.style, u = c.width, v = c.height, x = d / u, w = e / v, z, B; x < w ? (z = d, B = v * x) : (z = u * w, B = e); u = Math.round((d - z) / 2); B = Math.round((e - B) / 2); this.XC(a, d - 2 * u, e - 2 * B); f.marginLeft = u + "px"; f.marginRight = u + "px"; f.marginTop = B + "px"; f.marginBottom = B + "px" } }); a.extend({ Hm: function(a) { this._super(a); a.qk = document.documentElement }, apply: function(a) { this._super(a); this.PJ() } }); c.extend({ Hm: function(a) { this._super(a); a.qk = document.documentElement }, apply: function(a, c) { this._super(a, c); this.PJ() } }); var d = F.Oj.extend({ apply: function(a) { this.XC(a, F.Za.width, F.Za.height) } }); F.Oj.Mt = new a; F.Oj.dS = new c; F.Oj.H6 = new d; var a = F.lg.extend({ apply: function(a, c) { var d = F.Za.width, e = F.Za.height; return this.Uq(d, e, d, e, d / c.width, e / c.height) } }), c = F.lg.extend({ apply: function(a, c) { var d = F.Za.width, e = F.Za.height, f = c.width, u = c.height, v = d / f, x = e / u, w = 0, z, B; v < x ? (w = v, z = d, B = u * w) : (w = x, z = f * w, B = e); return this.Uq(d, e, z, B, w, w) } }), d = F.lg.extend({ apply: function(a, c) { var d = F.Za.width, e = F.Za.height, f = c.width, u = c.height, v = d / f, x = e / u, w, z, B; v < x ? (w = x, z = f * w, B = e) : (w = v, z = d, B = u * w); return this.Uq(d, e, z, B, w, w) } }), e = F.lg.extend({ apply: function(a, c) { var d = F.Za.width, e = F.Za.height, f = e / c.height; return this.Uq(d, e, d, e, f, f) }, Gm: function(a) { F.I.T = a.Gs() } }), f = F.lg.extend({ apply: function(a, c) { var d = F.Za.width, e = F.Za.height, f = d / c.width; return this.Uq(d, e, d, e, f, f) }, Gm: function(a) { F.I.T = a.Gs() } }); F.lg.Py = new a; F.lg.su = new c; F.lg.hz = new d; F.lg.Qy = new e; F.lg.du = new f })(); F.we = F.ma.extend({ Zu: q, $u: q, ctor: function(a, c) { this.W2(a); this.X2(c) }, Hm: function(a) { this.Zu.Hm(a); this.$u.Hm(a) }, apply: function(a, c) { this.Zu.apply(a, c); return this.$u.apply(a, c) }, Gm: function(a) { this.Zu.Gm(a); this.$u.Gm(a) }, W2: function(a) { a instanceof F.Oj && (this.Zu = a) }, X2: function(a) { a instanceof F.lg && (this.$u = a) } }); F.we.Py = 0; F.we.hz = 1; F.we.su = 2; F.we.Qy = 3; F.we.du = 4; F.we.aU = 5; F.screen = { sw: r, mC: q, rD: "", pk: q, lV: [ ["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" ] ], M: function() { this.pk = {}; var a, c, d = this.lV, e; a = 0; for (l = d.length; a < l; a++) if ((c = d[a]) && c[1] in document) { a = 0; for (e = c.length; a < e; a++) this.pk[d[0][a]] = c[a]; break } this.sw = this.pk.requestFullscreen != k; this.rD = "ontouchstart" in window ? "touchstart" : "mousedown" }, fullScreen: function() { return this.sw && document[this.pk.fullscreenEnabled] }, yO: function(a, c) { if (this.sw) { a = a || document.documentElement; a[this.pk.requestFullscreen](); if (c) { var d = this.pk.gaa; this.mC && document.removeEventListener(d, this.mC); this.mC = c; F.Ja(document, d, c, r) } return a[this.pk.requestFullscreen]() } }, J$: function() { return this.sw ? document[this.pk.exitFullscreen]() : p }, ZY: function(a, c) { function d() { f.yO(a, c); e.removeEventListener(f.rD, d) } a = a || document.body; var e = F.Za || a, f = this; this.yO(a, c); F.Ja(e, this.rD, d) } }; F.screen.M(); F.Qm = { vP: F.d(0, 0), wP: F.d(0, 0), top: F.d(0, 0), TD: F.d(0, 0), ZL: F.d(0, 0), bottom: F.d(0, 0), Kw: F.d(0, 0), left: F.d(0, 0), right: F.d(0, 0), width: 0, height: 0, M: function(a) { var c = this.width = a.width, d = this.height = a.height, e = a.x; a = a.y; var f = a + d, g = e + c; this.vP.x = e; this.vP.y = f; this.wP.x = g; this.wP.y = f; this.top.x = e + c / 2; this.top.y = f; this.TD.x = e; this.TD.y = a; this.ZL.x = g; this.ZL.y = a; this.bottom.x = e + c / 2; this.bottom.y = a; this.Kw.x = e + c / 2; this.Kw.y = a + d / 2; this.left.x = e; this.left.y = a + d / 2; this.right.x = g; this.right.y = a + d / 2 } }; F.QT = -90; F.RT = 90; F.ST = 180; F.s7 = 0; F.FN = { bo: r, mK: r, IK: F.d(0, 0), iX: F.d(0, 0), JK: [], nC: 0, Mk: [], sD: {}, Sn: 0, SB: 5, Ku: r, Lu: 1 / 30, HI: 1, yl: 0, vA: q, Ju: q, YV: function() { for (var a = this.Sn, c = 0; c < this.SB; c++) { if (!(a & 1)) return this.Sn |= 1 << c, c; a >>= 1 } return -1 }, oX: function(a) { 0 > a || a >= this.SB || (a = ~(1 << a), this.Sn &= a) }, sk: q, PE: function(a) { for (var c, d, e, f = [], g = this.sD, h = 0, m = a.length; h < m; h++) c = a[h], e = c.eh, d = g[e], d == q && (d = this.YV(), -1 == d ? F.log(F.i.M0, d) : (c = this.Mk[d] = c, g[e] = d, f.push(c))); 0 < f.length && (this.sk.av(f), a = new F.mg(f), a.lk = F.mg.Vm.Ay, F.ua.dispatchEvent(a)) }, QE: function(a) { for (var c, d, e = [], f = this.Mk, g = 0, h = a.length; g < h; g++) c = a[g], d = c.eh, d = this.sD[d], d != q && f[d] && (f[d].TC(c.zd), f[d].io(c.ji), e.push(f[d])); 0 < e.length && (this.sk.av(e), a = new F.mg(e), a.lk = F.mg.Vm.dz, F.ua.dispatchEvent(a)) }, fx: function(a) { a = this.eN(a); 0 < a.length && (this.sk.av(a), a = new F.mg(a), a.lk = F.mg.Vm.Ny, F.ua.dispatchEvent(a)) }, qN: function(a) { a = this.eN(a); 0 < a.length && (this.sk.av(a), a = new F.mg(a), a.lk = F.mg.Vm.Fy, F.ua.dispatchEvent(a)) }, eN: function(a) { for (var c, d, e, f = [], g = this.Mk, h = this.sD, m = 0, n = a.length; m < n; m++) c = a[m], e = c.eh, d = h[e], d != q && g[d] && (g[d].TC(c.zd), g[d].io(c.ji), f.push(g[d]), this.oX(d), delete h[e]); return f }, Ch: function(a) { var c = document.documentElement, d = window, e = q, 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 - c.clientLeft, top: e.top + d.pageYOffset - c.clientTop, width: e.width, height: e.height } }, U_: function(a) { for (var c = q, d = this.JK, e = a.eh, f = d.length - 1; 0 <= f; f--) if (d[f].eh == e) { c = d[f]; break } c || (c = a); return c }, w3: function(a) { for (var c = r, d = this.JK, e = a.eh, f = d.length - 1; 0 <= f; f--) if (d[f].eh == e) { d[f] = a; c = p; break } c || (50 >= d.length ? d.push(a) : (d[this.nC] = a, this.nC = (this.nC + 1) % 50)) }, Fs: function(a, c, d) { var e = this.IK; a = this.sk.hE(a, c, d); c = new F.Yz(a.x, a.y); c.io(e.x, e.y); e.x = a.x; e.y = a.y; return c }, Ro: function(a, c, d) { var e = this.iX; this.sk.YU(a, c); c = new F.Pc(d); c.l3(a.x, a.y); c.IX(e.x, e.y); e.x = a.x; e.y = a.y; return c }, So: function(a, c) { if (a.pageX != q) return { x: a.pageX, y: a.pageY }; c.left -= document.body.scrollLeft; c.top -= document.body.scrollTop; return { x: a.clientX, y: a.clientY } }, cx: function(a, c) { for (var d = [], e = this.sk, f, g, h = this.IK, m = a.changedTouches.length, n = 0; n < m; n++) if (f = a.changedTouches[n]) { var s; s = F.Cb.Hp === F.Cb.Pk ? e.hE(f.pageX, f.pageY, c) : e.hE(f.clientX, f.clientY, c); f.identifier != q ? (f = new F.Yz(s.x, s.y, f.identifier), g = this.U_(f).Ds(), f.io(g.x, g.y), this.w3(f)) : (f = new F.Yz(s.x, s.y), f.io(h.x, h.y)); h.x = s.x; h.y = s.y; d.push(f) } return d }, q2: function(a) { if (!this.mK) { var c = this.sk = F.view, d = this, e = "touches" in F.Cb.aE; "mouse" in F.Cb.aE && (F.Ja(window, "mousedown", function() { d.bo = p }, r), F.Ja(window, "mouseup", function(c) { var f = d.bo; d.bo = r; if (f) { var f = d.Ch(a), g = d.So(c, f); F.qO(new F.wH(f.left, f.top, f.width, f.height), g) || (e || d.fx([d.Fs(g.x, g.y, f)]), f = d.Ro(g, f, F.Pc.iA), f.Lm(c.button), F.ua.dispatchEvent(f)) } }, r), F.Ja(a, "mousedown", function(c) { d.bo = p; var f = d.Ch(a), g = d.So(c, f); e || d.PE([d.Fs(g.x, g.y, f)]); f = d.Ro(g, f, F.Pc.IG); f.Lm(c.button); F.ua.dispatchEvent(f); c.stopPropagation(); c.preventDefault(); a.focus() }, r), F.Ja(a, "mouseup", function(c) { d.bo = r; var f = d.Ch(a), g = d.So(c, f); e || d.fx([d.Fs(g.x, g.y, f)]); f = d.Ro(g, f, F.Pc.iA); f.Lm(c.button); F.ua.dispatchEvent(f); c.stopPropagation(); c.preventDefault() }, r), F.Ja(a, "mousemove", function(c) { var f = d.Ch(a), g = d.So(c, f); e || d.QE([d.Fs(g.x, g.y, f)]); f = d.Ro(g, f, F.Pc.XG); d.bo ? f.Lm(c.button) : f.Lm(q); F.ua.dispatchEvent(f); c.stopPropagation(); c.preventDefault() }, r), F.Ja(a, "mousewheel", function(c) { var e = d.Ch(a), f = d.So(c, e), e = d.Ro(f, e, F.Pc.Dz); e.Lm(c.button); e.dP(0, c.wheelDelta); F.ua.dispatchEvent(e); c.stopPropagation(); c.preventDefault() }, r), F.Ja(a, "DOMMouseScroll", function(c) { var e = d.Ch(a), f = d.So(c, e), e = d.Ro(f, e, F.Pc.Dz); e.Lm(c.button); e.dP(0, -120 * c.detail); F.ua.dispatchEvent(e); c.stopPropagation(); c.preventDefault() }, r)); if (window.navigator.msPointerEnabled) { var f = { MSPointerDown: d.PE, MSPointerMove: d.QE, MSPointerUp: d.fx, MSPointerCancel: d.qN }, g; for (g in f)(function(c, e) { F.Ja(a, c, function(c) { var f = d.Ch(a); f.left -= document.documentElement.scrollLeft; f.top -= document.documentElement.scrollTop; e.call(d, [d.Fs(c.clientX, c.clientY, f)]); c.stopPropagation() }, r) })(g, f[g]) } e && (F.Ja(a, "touchstart", function(c) { if (c.changedTouches) { var e = d.Ch(a); e.left -= document.body.scrollLeft; e.top -= document.body.scrollTop; d.PE(d.cx(c, e)); c.stopPropagation(); c.preventDefault(); a.focus() } }, r), F.Ja(a, "touchmove", function(c) { if (c.changedTouches) { var e = d.Ch(a); e.left -= document.body.scrollLeft; e.top -= document.body.scrollTop; d.QE(d.cx(c, e)); c.stopPropagation(); c.preventDefault() } }, r), F.Ja(a, "touchend", function(c) { if (c.changedTouches) { var e = d.Ch(a); e.left -= document.body.scrollLeft; e.top -= document.body.scrollTop; d.fx(d.cx(c, e)); c.stopPropagation(); c.preventDefault() } }, r), F.Ja(a, "touchcancel", function(e) { if (e.changedTouches) { var f = d.Ch(a); f.left -= document.body.scrollLeft; f.top -= document.body.scrollTop; c.qN(d.cx(e, f)); e.stopPropagation(); e.preventDefault() } }, r)); this.TK(); this.SK(); this.mK = p } }, TK: t(), SK: t(), update: function(a) { this.yl > this.Lu && (this.yl -= this.Lu, F.ua.dispatchEvent(new F.IQ(this.vA))); this.yl += a } }; var M = F.FN; M.Mha = function(a) { this.Ku !== a && (this.Ku = a, a = F.I.Sk(), this.Ku ? (this.yl = 0, a.KF(this)) : (this.yl = 0, a.Dt(this))) }; M.Nha = function(a) { this.Lu !== a && (this.Lu = a) }; M.TK = function() { F.Ja(F.Za, "keydown", function(a) { F.ua.dispatchEvent(new F.MG(a.keyCode, p)); a.stopPropagation(); a.preventDefault() }, r); F.Ja(F.Za, "keyup", function(a) { F.ua.dispatchEvent(new F.MG(a.keyCode, r)); a.stopPropagation(); a.preventDefault() }, r) }; M.SK = function() { var a = window; this.vA = new F.OP; this.Ju = a.DeviceMotionEvent || a.DeviceOrientationEvent; F.Cb.Pk == F.Cb.AG && (this.Ju = window.DeviceOrientationEvent); var c = this.Ju == a.DeviceMotionEvent ? "devicemotion" : "deviceorientation", d = navigator.userAgent; if (/Android/.test(d) || /Adr/.test(d) && F.Cb.Pk == F.BG) this.i8 = -1; F.Ja(a, c, this.vZ.bind(this), r) }; M.vZ = function(a) { var c = window; if (this.Ku) { var d = this.vA; if (this.Ju == window.DeviceMotionEvent) { var e = a.accelerationIncludingGravity; d.x = 0.1 * this.HI * e.x; d.y = 0.1 * this.HI * e.y; d.e = 0.1 * e.e } else d.x = 0.981 * (a.gamma / 90), d.y = 0.981 * -(a.beta / 90), d.e = 0.981 * (a.alpha / 90); d.timestamp = a.timeStamp || Date.now(); a = d.x; c.orientation === F.RT ? (d.x = -d.y, d.y = a) : c.orientation === F.QT ? (d.x = d.y, d.y = -a) : c.orientation === F.ST && (d.x = -d.x, d.y = -d.y) } }; delete M; F.g5 = function(a, c, d, e, f, g) { this.a = a; this.b = c; this.D = d; this.J = e; this.La = f; this.Ma = g }; F.j5 = function(a, c, d, e, f, g) { return { a: a, b: c, D: d, J: e, La: f, Ma: g } }; F.vH = function(a, c) { return { x: c.a * a.x + c.D * a.y + c.La, y: c.b * a.x + c.J * a.y + c.Ma } }; F.bk = function(a, c, d) { return { x: d.a * a + d.D * c + d.La, y: d.b * a + d.J * c + d.Ma } }; F.S6 = function(a, c) { return { width: c.a * a.width + c.D * a.height, height: c.b * a.width + c.J * a.height } }; F.k5 = function() { return { a: 1, b: 0, D: 0, J: 1, La: 0, Ma: 0 } }; F.i5 = function() { return { a: 1, b: 0, D: 0, J: 1, La: 0, Ma: 0 } }; F.Az = function(a, c) { var d = F.kp(a), e = F.jp(a), f = F.jt(a), g = F.kt(a), h = F.bk(e, d, c), d = F.bk(f, d, c), e = F.bk(e, g, c), m = F.bk(f, g, c), f = Math.min(h.x, d.x, e.x, m.x), g = Math.max(h.x, d.x, e.x, m.x), n = Math.min(h.y, d.y, e.y, m.y), h = Math.max(h.y, d.y, e.y, m.y); return F.rect(f, n, g - f, h - n) }; F.lU = function(a, c) { var d = F.kp(a), e = F.jp(a), f = F.jt(a), g = F.kt(a), h = F.bk(e, d, c), d = F.bk(f, d, c), e = F.bk(e, g, c), m = F.bk(f, g, c), f = Math.min(h.x, d.x, e.x, m.x), g = Math.max(h.x, d.x, e.x, m.x), n = Math.min(h.y, d.y, e.y, m.y), h = Math.max(h.y, d.y, e.y, m.y); a.x = f; a.y = n; a.width = g - f; a.height = h - n; return a }; F.SP = function(a, c, d) { return { a: a.a, b: a.b, D: a.D, J: a.J, La: a.La + a.a * c + a.D * d, Ma: a.Ma + a.b * c + a.J * d } }; F.m5 = function(a, c, d) { return { a: a.a * c, b: a.b * c, D: a.D * d, J: a.J * d, La: a.La, Ma: a.Ma } }; F.l5 = function(a, c) { var d = Math.sin(c), e = Math.cos(c); return { a: a.a * e + a.D * d, b: a.b * e + a.J * d, D: a.D * e - a.a * d, J: a.J * e - a.b * d, La: a.La, Ma: a.Ma } }; F.hl = function(a, c) { return { a: a.a * c.a + a.b * c.D, b: a.a * c.b + a.b * c.J, D: a.D * c.a + a.J * c.D, J: a.D * c.b + a.J * c.J, La: a.La * c.a + a.Ma * c.D + c.La, Ma: a.La * c.b + a.Ma * c.J + c.Ma } }; F.h5 = function(a, c) { return a.a === c.a && a.b === c.b && a.D === c.D && a.J === c.J && a.La === c.La && a.Ma === c.Ma }; F.uG = function(a) { var c = 1 / (a.a * a.J - a.b * a.D); return { a: c * a.J, b: -c * a.b, D: -c * a.D, J: c * a.a, La: c * (a.D * a.Ma - a.J * a.La), Ma: c * (a.b * a.La - a.a * a.Ma) } }; F.hH = parseFloat("1.192092896e-07F"); F.vF = function(a) { return F.d(-a.x, -a.y) }; F.Dj = function(a, c) { return F.d(a.x + c.x, a.y + c.y) }; F.Gd = function(a, c) { return F.d(a.x - c.x, a.y - c.y) }; F.Ci = function(a, c) { return F.d(a.x * c, a.y * c) }; F.jO = function(a, c) { return F.Ci(F.Dj(a, c), 0.5) }; F.gp = function(a, c) { return a.x * c.x + a.y * c.y }; F.P1 = function(a, c) { return a.x * c.y - a.y * c.x }; F.Tx = function(a) { return F.d(-a.y, a.x) }; F.tga = function(a) { return F.d(a.y, -a.x) }; F.sga = function(a, c) { return F.Ci(c, F.gp(a, c) / F.gp(c, c)) }; F.uga = function(a, c) { return F.d(a.x * c.x - a.y * c.y, a.x * c.y + a.y * c.x) }; F.xga = function(a, c) { return F.d(a.x * c.x + a.y * c.y, a.y * c.x - a.x * c.y) }; F.hO = function(a) { return F.gp(a, a) }; F.gO = function(a, c) { return F.hO(F.Gd(a, c)) }; F.Yk = function(a) { return Math.sqrt(F.hO(a)) }; F.oga = function(a, c) { return F.Yk(F.Gd(a, c)) }; F.Ig = function(a) { return F.Ci(a, 1 / F.Yk(a)) }; F.pga = function(a) { return F.d(Math.cos(a), Math.sin(a)) }; F.T1 = function(a) { return Math.atan2(a.y, a.x) }; F.Vc = function(a, c, d) { if (c > d) { var e = c; c = d; d = e } return a < c ? c : a < d ? a : d }; F.fO = function(a) { var c = F.d(0, 0), d = F.d(1, 1); return F.d(F.Vc(a.x, c.x, d.x), F.Vc(a.y, c.y, d.y)) }; F.Q1 = function() { var a = F.I.T; return F.d(a.width, a.height) }; F.nga = function(a, c) { return F.d(c(a.x), c(a.y)) }; F.iO = function(a, c, d) { return F.Dj(F.Ci(a, 1 - d), F.Ci(c, d)) }; F.qga = function(a, c, d) { return a.x - d <= c.x && c.x <= a.x + d && a.y - d <= c.y && c.y <= a.y + d ? p : r }; F.mga = function(a, c) { return F.d(a.x * c.x, a.y * c.y) }; F.lga = function(a, c) { var d = F.Ig(a), e = F.Ig(c), d = Math.atan2(d.x * e.y - d.y * e.x, F.gp(d, e)); return Math.abs(d) < F.hH ? 0 : d }; F.kga = function(a, c) { var d = Math.acos(F.gp(F.Ig(a), F.Ig(c))); return Math.abs(d) < F.hH ? 0 : d }; F.S1 = function(a, c, d) { a = F.Gd(a, c); var e = Math.cos(d); d = Math.sin(d); var f = a.x; a.x = f * e - a.y * d + c.x; a.y = f * d + a.y * e + c.y; return a }; F.uF = function(a, c, d, e, f) { if (a.x == c.x && a.y == c.y || d.x == e.x && d.y == e.y) return r; var g = c.x - a.x; c = c.y - a.y; var h = e.x - d.x; e = e.y - d.y; var m = a.x - d.x; a = a.y - d.y; d = e * g - h * c; f.x = h * a - e * m; f.y = g * a - c * m; if (0 == d) return 0 == f.x || 0 == f.y ? p : r; f.x /= d; f.y /= d; return p }; F.wga = function(a, c, d, e) { var f = F.d(0, 0); return F.uF(a, c, d, e, f) && 0 <= f.x && 1 >= f.x && 0 <= f.y && 1 >= f.y ? p : r }; F.rga = function(a, c, d, e) { var f = F.d(0, 0); return F.uF(a, c, d, e, f) ? (d = F.d(0, 0), d.x = a.x + f.x * (c.x - a.x), d.y = a.y + f.x * (c.y - a.y), d) : F.d(0, 0) }; F.vga = function(a, c) { return a != q && c != q ? a.x == c.x && a.y == c.y : r }; F.Ux = function(a) { a.x = 0; a.y = 0 }; F.Ej = function(a, c) { a.x = c.x; a.y = c.y }; F.hp = function(a, c) { a.x *= c; a.y *= c }; F.kO = function(a, c) { a.x -= c.x; a.y -= c.y }; F.Sx = function(a, c) { a.x += c.x; a.y += c.y }; F.R1 = function(a) { F.hp(a, 1 / Math.sqrt(a.x * a.x + a.y * a.y)) }; F.pG = function(a, c, d, e, f) { f += e; if (!(1 >= f)) { c *= 0.5; for (var g, h = f - 1, m = e; m < f; m++) { g = 2 * m; var n = F.d(a[2 * m], a[2 * m + 1]), s; if (0 === m) s = F.Tx(F.Ig(F.Gd(n, F.d(a[2 * (m + 1)], a[2 * (m + 1) + 1])))); else if (m === h) s = F.Tx(F.Ig(F.Gd(F.d(a[2 * (m - 1)], a[2 * (m - 1) + 1]), n))); else { s = F.d(a[2 * (m - 1)], a[2 * (m - 1) + 1]); var u = F.d(a[2 * (m + 1)], a[2 * (m + 1) + 1]), v = F.Ig(F.Gd(u, n)), x = F.Ig(F.Gd(s, n)), w = Math.acos(F.gp(v, x)); s = w < F.Uf(70) ? F.Tx(F.Ig(F.jO(v, x))) : w < F.Uf(170) ? F.Ig(F.jO(v, x)) : F.Tx(F.Ig(F.Gd(u, s))) } s = F.Ci(s, c); d[2 * g] = n.x + s.x; d[2 * g + 1] = n.y + s.y; d[2 * (g + 1)] = n.x - s.x; d[2 * (g + 1) + 1] = n.y - s.y } for (m = 0 == e ? 0 : e - 1; m < h; m++) { g = 2 * m; a = g + 2; c = F.yy(d[2 * g], d[2 * g + 1]); f = F.yy(d[2 * (g + 1)], d[2 * (g + 1) + 1]); g = F.yy(d[2 * a], d[2 * a]); e = F.yy(d[2 * (a + 1)], d[2 * (a + 1) + 1]); c = !F.J4(c.x, c.y, e.x, e.y, f.x, f.y, g.x, g.y); if (!c.Ps && (0 > c.value || 1 < c.value)) c.Ps = p; c.Ps && (d[2 * a] = e.x, d[2 * a + 1] = e.y, d[2 * (a + 1)] = g.x, d[2 * (a + 1) + 1] = g.y) } } }; F.J4 = function(a, c, d, e, f, g, h, m) { if (a == d && c == e || f == h && g == m) return { Ps: r, value: 0 }; d -= a; e -= c; f -= a; g -= c; h -= a; m -= c; a = Math.sqrt(d * d + e * e); d /= a; e /= a; c = f * d + g * e; g = g * d - f * e; f = c; c = h * d + m * e; m = m * d - h * e; h = c; return g == m ? { Ps: r, value: 0 } : { Ps: p, value: (h + (f - h) * m / (m - g)) / a } }; F.Ika = function(a) { for (var c = 0, d = a.length; c < d; c++) { var e = a[(c + 1) % d], f = a[(c + 2) % d]; if (0 < F.P1(F.Gd(e, a[c]), F.Gd(f, e))) return r } return p }; F.D5 = function(a, c) { c[2] = c[3] = c[6] = c[7] = c[8] = c[9] = c[11] = c[14] = 0; c[10] = c[15] = 1; c[0] = a.a; c[4] = a.D; c[12] = a.La; c[1] = a.b; c[5] = a.J; c[13] = a.Ma }; F.X5 = function(a, c) { c.a = a[0]; c.D = a[4]; c.La = a[12]; c.b = a[1]; c.J = a[5]; c.Ma = a[13] }; F.Yz = F.ma.extend({ zd: q, ji: q, eh: 0, wL: r, Vr: q, ctor: function(a, c, d) { this.zd = F.d(a || 0, c || 0); this.eh = d || 0 }, Ds: function() { return { x: this.zd.x, y: this.zd.y } }, J_: function() { return this.zd.x }, K_: function() { return this.zd.y }, Wba: function() { return { x: this.ji.x, y: this.ji.y } }, mca: function() { return { x: this.Vr.x, y: this.Vr.y } }, zE: function() { return F.Gd(this.zd, this.ji) }, I_: function() { return { x: this.zd.x, y: this.zd.y } }, Xba: function() { return { x: this.ji.x, y: this.ji.y } }, nca: function() { return { x: this.Vr.x, y: this.Vr.y } }, hba: A("eh"), iba: A("eh"), yja: function(a, c, d) { this.ji = this.zd; this.zd = F.d(c || 0, d || 0); this.eh = a; this.wL || (this.Vr = F.d(this.zd), this.wL = p) }, TC: function(a, c) { c === k ? (this.zd.x = a.x, this.zd.y = a.y) : (this.zd.x = a, this.zd.y = c) }, io: function(a, c) { this.ji = c === k ? F.d(a.x, a.y) : F.d(a || 0, c || 0) } }); F.qc = F.ma.extend({ nc: 0, Il: r, xd: q, LC: y("xd"), ctor: y("nc"), LE: A("nc"), stopPropagation: function() { this.Il = p }, Fda: A("Il"), Gaa: A("xd") }); F.qc.xu = 0; F.qc.an = 1; F.qc.Rm = 2; F.qc.dn = 3; F.qc.Jp = 4; F.Ji = F.qc.extend({ gB: q, KL: q, ctor: function(a) { F.qc.prototype.ctor.call(this, F.qc.Jp); this.gB = a }, setUserData: y("KL"), getUserData: A("KL"), Yaa: A("gB") }); F.Pc = F.qc.extend({ LJ: 0, RI: 0, vh: 0, Le: 0, pC: 0, qC: 0, fL: 0, gL: 0, ctor: function(a) { F.qc.prototype.ctor.call(this, F.qc.dn); this.LJ = a }, dP: function(a, c) { this.fL = a; this.gL = c }, ica: A("fL"), jca: A("gL"), l3: function(a, c) { this.vh = a; this.Le = c }, Ds: function() { return { x: this.vh, y: this.Le } }, I_: function() { return { x: this.vh, y: F.view.Cn.height - this.Le } }, IX: function(a, c) { this.pC = a; this.qC = c }, zE: function() { return { x: this.vh - this.pC, y: this.Le - this.qC } }, Kaa: function() { return this.vh - this.pC }, Laa: function() { return this.Le - this.qC }, Lm: y("RI"), saa: A("RI"), J_: A("vh"), K_: A("Le") }); F.Pc.NONE = 0; F.Pc.IG = 1; F.Pc.iA = 2; F.Pc.XG = 3; F.Pc.Dz = 4; F.Pc.z5 = 0; F.Pc.B5 = 2; F.Pc.A5 = 1; F.Pc.u5 = 3; F.Pc.v5 = 4; F.Pc.w5 = 5; F.Pc.x5 = 6; F.Pc.y5 = 7; F.mg = F.qc.extend({ lk: 0, Mk: q, ctor: function(a) { F.qc.prototype.ctor.call(this, F.qc.xu); this.Mk = a || [] }, Xaa: A("lk"), Gca: A("Mk"), t8: y("lk"), v8: y("Mk") }); F.mg.u6 = 5; F.mg.Vm = { Ay: 0, dz: 1, Ny: 2, Fy: 3 }; F.ta = F.ma.extend({ WB: q, nc: 0, ci: q, lf: r, ok: 0, hf: q, mc: r, Wn: p, ctor: function(a, c, d) { this.WB = d; this.nc = a || 0; this.ci = c || "" }, SC: y("mc"), Z7: A("mc"), Or: y("lf"), tW: A("lf"), X7: A("nc"), U7: A("ci"), MC: y("ok"), T7: A("ok"), Pr: y("hf"), V7: A("hf"), Qk: function() { return this.WB != q }, l: E(q), se: y("Wn"), isEnabled: A("Wn"), ay: t(), Ei: t() }); F.ta.aU = 0; F.ta.Cq = 1; F.ta.Nz = 2; F.ta.an = 3; F.ta.dn = 4; F.ta.Rm = 5; F.ta.Jp = 6; F.Lq = F.ta.extend({ Fr: q, ctor: function(a, c) { this.Fr = c; var d = this; F.ta.prototype.ctor.call(this, F.ta.Jp, a, function(a) { d.Fr != q && d.Fr(a) }) }, Qk: function() { return F.ta.prototype.Qk.call(this) && this.Fr != q }, l: function() { return new F.Lq(this.ci, this.Fr) } }); F.Lq.create = function(a, c) { return new F.Lq(a, c) }; F.ak = F.ta.extend({ Nx: q, Qx: q, Ox: q, Px: q, ctor: function() { var a = this; F.ta.prototype.ctor.call(this, F.ta.dn, F.ak.rc, function(c) { var d = F.Pc; switch (c.LJ) { case d.IG: a.Nx && a.Nx(c); break; case d.iA: a.Qx && a.Qx(c); break; case d.XG: a.Ox && a.Ox(c); break; case d.Dz: a.Px && a.Px(c) } }) }, l: function() { var a = new F.ak; a.Nx = this.Nx; a.Qx = this.Qx; a.Ox = this.Ox; a.Px = this.Px; return a }, Qk: E(p) }); F.ak.rc = "__cc_mouse"; F.ak.create = function() { return new F.ak }; F.Sh = F.ta.extend({ wn: q, yp: r, Em: q, $s: q, fp: q, Zs: q, ctor: function() { F.ta.prototype.ctor.call(this, F.ta.Cq, F.Sh.rc, q); this.wn = [] }, oja: y("yp"), l: function() { var a = new F.Sh; a.Em = this.Em; a.$s = this.$s; a.fp = this.fp; a.Zs = this.Zs; a.yp = this.yp; return a }, Qk: function() { return !this.Em ? (F.log(F.i.hU), r) : p } }); F.Sh.rc = "__cc_touch_one_by_one"; F.Sh.create = function() { return new F.Sh }; F.Rh = F.ta.extend({ at: q, dt: q, ct: q, bt: q, ctor: function() { F.ta.prototype.ctor.call(this, F.ta.Nz, F.Rh.rc, q) }, l: function() { var a = new F.Rh; a.at = this.at; a.dt = this.dt; a.ct = this.ct; a.bt = this.bt; return a }, Qk: function() { return this.at == q && this.dt == q && this.ct == q && this.bt == q ? (F.log(F.i.gU), r) : p } }); F.Rh.rc = "__cc_touch_all_at_once"; F.Rh.create = function() { return new F.Rh }; F.ta.create = function(a) { F.assert(a && a.event, F.i.JQ); var c = a.event; delete a.event; var d = q; c === F.ta.Cq ? d = new F.Sh : c === F.ta.Nz ? d = new F.Rh : c === F.ta.dn ? d = new F.ak : c === F.ta.Jp ? (d = new F.Lq(a.a_, a.YD), delete a.a_, delete a.YD) : c === F.ta.an ? d = new F.$j : c === F.ta.Rm && (d = new F.Zj(a.YD), delete a.YD); for (var e in a) d[e] = a[e]; return d }; F.eM = function(a) { var c, d = a.length, e = Array(d); for (c = 0; c < d; c += 1) e[c] = a[c]; return e }; F.iU = F.ma.extend({ Hf: q, Of: q, pN: 0, ctor: function() { this.Hf = []; this.Of = [] }, size: function() { return this.Hf.length + this.Of.length }, empty: function() { return 0 === this.Hf.length && 0 === this.Of.length }, push: function(a) { 0 == a.ok ? this.Of.push(a) : this.Hf.push(a) }, kZ: function() { this.Of.length = 0 }, jZ: function() { this.Hf.length = 0 }, clear: function() { this.Of.length = 0; this.Hf.length = 0 }, $aa: A("Hf"), gca: A("Of") }); F.Gu = function(a) { var c = F.qc, d = a.nc; if (d === c.Rm) return F.Zj.rc; if (d === c.Jp) return a.gB; if (d === c.an) return F.$j.rc; if (d === c.dn) return F.ak.rc; d === c.xu && F.log(F.i.Gu); return "" }; F.ua = { Ky: 0, Kt: 1, Lp: 2, N5: 3, xg: {}, Lr: {}, ei: {}, Mv: {}, $J: {}, to: [], dr: [], Gl: 0, Wn: r, zK: 0, sW: [F.Ic.Nt, F.Ic.Mp], ew: function(a) { this.ei[a.xa] != q && this.dr.push(a); a = a.u; for (var c = 0, d = a.length; c < d; c++) this.ew(a[c]) }, ip: function(a, c) { var d = this.ei[a.xa], e, f; if (d) { e = 0; for (f = d.length; e < f; e++) d[e].SC(p) } if (c === p) { d = a.u; e = 0; for (f = d.length; e < f; e++) this.ip(d[e], p) } }, Ij: function(a, c) { var d = this.ei[a.xa], e, f; if (d) { e = 0; for (f = d.length; e < f; e++) d[e].SC(r) } this.ew(a); if (c === p) { d = a.u; e = 0; for (f = d.length; e < f; e++) this.Ij(d[e], p) } }, KI: function(a) { 0 === this.Gl ? this.RJ(a) : this.to.push(a) }, RJ: function(a) { var c = a.ci, d = this.xg[c]; d || (d = new F.iU, this.xg[c] = d); d.push(a); 0 == a.ok ? (this.Dk(c, this.Lp), c = a.hf, c == q && F.log(F.i.UZ), this.xU(c, a), c.nh && this.Ij(c)) : this.Dk(c, this.Kt) }, tB: function(a) { return this.xg[a] }, vY: function() { if (0 != this.dr.length) { for (var a = this.dr, c, d, e = this.ei, f = 0, g = a.length; f < g; f++) if (c = e[a[f].xa]) for (var h = 0, m = c.length; h < m; h++)(d = c[h]) && this.Dk(d.ci, this.Lp); this.dr.length = 0 } }, UK: function(a) { if (a) for (var c, d = 0; d < a.length;) c = a[d], c.Or(r), c.hf != q && (this.fJ(c.hf, c), c.Pr(q)), 0 === this.Gl ? F.Me(a, c) : ++d }, Tl: function(a) { var c = this.xg[a]; if (c) { var d = c.Hf; this.UK(c.Of); this.UK(d); delete this.Lr[a]; this.Gl || (c.clear(), delete this.xg[a]) } for (var d = this.to, e, c = 0; c < d.length;)(e = d[c]) && e.ci == a ? F.Me(d, e) : ++c }, $C: function(a) { var c = this.Ky, d = this.Lr; d[a] && (c = d[a]); c != this.Ky && (d[a] = this.Ky, c & this.Kt && this.hY(a), c & this.Lp && ((c = F.I.Ec) ? this.jY(a, c) : d[a] = this.Lp)) }, jY: function(a, c) { var d = this.tB(a); if (d) { var e = d.Of; e && 0 !== e.length && (this.zK = 0, this.Mv = {}, this.ID(c, p), d.Of.sort(this.gY)) } }, gY: function(a, c) { var d = F.ua.Mv; return d[c.hf.xa] - d[a.hf.xa] }, hY: function(a) { if (a = this.xg[a]) { var c = a.Hf; if (c && 0 !== c.length) { c.sort(this.iY); for (var d = 0, e = c.length; d < e && !(0 <= c[d].ok);)++d; a.pN = d } } }, iY: function(a, c) { return a.ok - c.ok }, XB: function(a) { if (a = this.xg[a]) { var c = a.Hf, d = a.Of, e, f; if (d) for (e = 0; e < d.length;) f = d[e], f.lf ? ++e : F.Me(d, f); if (c) for (e = 0; e < c.length;) f = c[e], f.lf ? ++e : F.Me(c, f); d && 0 === d.length && a.kZ(); c && 0 === c.length && a.jZ() } }, zw: function(a) { var c = this.Gl; F.assert(0 < c, F.i.KQ); a.nc == F.qc.xu ? (this.XB(F.Sh.rc), this.XB(F.Rh.rc)) : this.XB(F.Gu(a)); if (!(1 < c)) { F.assert(1 == c, F.i.LQ); a = this.xg; var c = this.Lr, d; for (d in a) a[d].empty() && (delete c[d], delete a[d]); d = this.to; if (0 !== d.length) { a = 0; for (c = d.length; a < c; a++) this.RJ(d[a]); this.to.length = 0 } } }, RW: function(a, c) { if (!a.tW) return r; var d = c.event, e = c.FO; d.LC(a.hf); var f = r, g, h = d.lk, m = F.mg.Vm; if (h == m.Ay) a.Em && (f = a.Em(e, d)) && a.lf && a.wn.push(e); else if (0 < a.wn.length && -1 != (g = a.wn.indexOf(e))) f = p, h === m.dz && a.$s ? a.$s(e, d) : h === m.Ny ? (a.fp && a.fp(e, d), a.lf && a.wn.splice(g, 1)) : h === m.Fy && (a.Zs && a.Zs(e, d), a.lf && a.wn.splice(g, 1)); return d.Il ? (F.ua.zw(d), p) : f && a.lf && a.yp ? (c.I1 && c.touches.splice(e, 1), p) : r }, dV: function(a) { this.$C(F.Sh.rc); this.$C(F.Rh.rc); var c = this.tB(F.Sh.rc), d = this.tB(F.Rh.rc); if (!(q == c && q == d)) { var e = a.Mk, f = F.eM(e), g = { event: a, I1: c && d, touches: f, FO: q }; if (c) for (var h = 0; h < e.length; h++) if (g.FO = e[h], this.YA(c, this.RW, g), a.Il) return; if (d && 0 < f.length && (this.YA(d, this.TW, { event: a, touches: f }), a.Il)) return; this.zw(a) } }, TW: function(a, c) { if (!a.lf) return r; var d = F.mg.Vm, e = c.event, f = c.touches, g = e.lk; e.LC(a.hf); g == d.Ay && a.at ? a.at(f, e) : g == d.dz && a.dt ? a.dt(f, e) : g == d.Ny && a.ct ? a.ct(f, e) : g == d.Fy && a.bt && a.bt(f, e); return e.Il ? (F.ua.zw(e), p) : r }, xU: function(a, c) { var d = this.ei[a.xa]; d || (d = [], this.ei[a.xa] = d); d.push(c) }, fJ: function(a, c) { var d = this.ei[a.xa]; d && (F.Me(d, c), 0 === d.length && delete this.ei[a.xa]) }, YA: function(a, c, d) { var e = r, f = a.Hf, g = a.Of, h = 0, m; if (f && 0 !== f.length) for (; h < a.pN; ++h) if (m = f[h], m.isEnabled() && !m.mc && m.lf && c(m, d)) { e = p; break } if (g && !e) for (a = 0; a < g.length; a++) if (m = g[a], m.isEnabled() && !m.mc && m.lf && c(m, d)) { e = p; break } if (f && !e) for (; h < f.length && !(m = f[h], m.isEnabled() && !m.mc && m.lf && c(m, d)); ++h); }, Dk: function(a, c) { var d = this.Lr; d[a] = d[a] == q ? c : c | d[a] }, ID: function(a, c) { var d = a.u, e = 0, f = d.length, g = this.$J, h = this.ei; if (0 < f) { for (var m; e < f; e++) if ((m = d[e]) && 0 > m.yb) this.ID(m, r); else break; h[a.xa] != q && (g[a.Xi] || (g[a.Xi] = []), g[a.Xi].push(a.xa)); for (; e < f; e++)(m = d[e]) && this.ID(m, r) } else h[a.xa] != q && (g[a.Xi] || (g[a.Xi] = []), g[a.Xi].push(a.xa)); if (c) { var d = [], n; for (n in g) d.push(n); d.sort(this.kY); n = d.length; m = this.Mv; for (e = 0; e < n; e++) { f = g[d[e]]; for (h = 0; h < f.length; h++) m[f[h]] = ++this.zK } this.$J = {} } }, kY: function(a, c) { return a - c }, addListener: function(a, c) { F.assert(a && c, F.i.WZ); if (a instanceof F.ta) { if (a.lf) { F.log(F.i.YZ); return } } else F.assert("number" !== typeof c, F.i.XZ), a = F.ta.create(a); a.Qk() && ("number" == typeof c ? 0 == c ? F.log(F.i.VZ) : (a.Pr(q), a.MC(c), a.Or(p), a.SC(r), this.KI(a)) : (a.Pr(c), a.MC(0), a.Or(p), this.KI(a))) }, OD: function(a, c) { var d = F.Lq.create(a, c); this.addListener(d, 1); return d }, removeListener: function(a) { if (a != q) { var c, d = this.xg, e; for (e in d) { var f = d[e], g = f.Hf; (c = this.VK(f.Of, a)) ? this.Dk(a.ci, this.Lp): (c = this.VK(g, a)) && this.Dk(a.ci, this.Kt); f.empty() && (delete this.Lr[a.ci], delete d[e]); if (c) break } if (!c) { c = this.to; d = 0; for (e = c.length; d < e; d++) if (f = c[d], f == a) { F.Me(c, f); break } } } }, VK: function(a, c) { if (a == q) return r; for (var d = 0, e = a.length; d < e; d++) { var f = a[d]; if (f == c) return f.Or(r), f.hf != q && (this.fJ(f.hf, f), f.Pr(q)), 0 == this.Gl && F.Me(a, f), p } return r }, vO: function(a, c) { if (a instanceof F.t) { delete this.Mv[a.xa]; F.Me(this.dr, a); var d = this.ei[a.xa]; if (d) { for (var e = F.eM(d), d = 0; d < e.length; d++) this.removeListener(e[d]); e.length = 0; e = this.to; for (d = 0; d < e.length;) { var f = e[d]; f.hf == a ? (f.Pr(q), f.Or(r), e.splice(d, 1)) : ++d } if (c === p) { e = a.u; d = 0; for (f = e.length; d < f; d++) this.vO(e[d], p) } } } else a == F.ta.Cq ? this.Tl(F.Sh.rc) : a == F.ta.Nz ? this.Tl(F.Rh.rc) : a == F.ta.dn ? this.Tl(F.ak.rc) : a == F.ta.Rm ? this.Tl(F.Zj.rc) : a == F.ta.an ? this.Tl(F.$j.rc) : F.log(F.i.ZZ) }, nha: function(a) { this.Tl(a) }, iha: function() { var a = this.xg, c = this.sW, d; for (d in a) - 1 === c.indexOf(d) && this.Tl(d) }, $ia: function(a, c) { if (a != q) { var d = this.xg, e; for (e in d) { var f = d[e].Hf; if (f && -1 != f.indexOf(a)) { a.hf != q && F.log(F.i.$Z); a.ok !== c && (a.MC(c), this.Dk(a.ci, this.Kt)); break } } } }, se: y("Wn"), isEnabled: A("Wn"), dispatchEvent: function(a) { if (this.Wn) { this.vY(); this.Gl++; (!a || !a.LE) && b("event is undefined"); if (a.nc == F.qc.xu) this.dV(a); else { var c = F.Gu(a); this.$C(c); c = this.xg[c]; c != q && this.YA(c, this.LW, a); this.zw(a) } this.Gl-- } }, LW: function(a, c) { c.LC(a.hf); a.WB(c); return c.Il }, U9: function(a, c) { var d = new F.Ji(a); d.setUserData(c); this.dispatchEvent(d) } }; F.IQ = F.qc.extend({ GI: q, ctor: function(a) { F.qc.prototype.ctor.call(this, F.qc.Rm); this.GI = a } }); F.MG = F.qc.extend({ JB: 0, lK: r, ctor: function(a, c) { F.qc.prototype.ctor.call(this, F.qc.an); this.JB = a; this.lK = c } }); F.Zj = F.ta.extend({ Pv: q, ctor: function(a) { this.Pv = a; var c = this; F.ta.prototype.ctor.call(this, F.ta.Rm, F.Zj.rc, function(a) { c.Pv(a.GI, a) }) }, Qk: function() { F.assert(this.Pv, F.i.eU); return p }, l: function() { return new F.Zj(this.Pv) } }); F.Zj.rc = "__cc_acceleration"; F.Zj.create = function(a) { return new F.Zj(a) }; F.$j = F.ta.extend({ Xs: q, Ys: q, ctor: function() { var a = this; F.ta.prototype.ctor.call(this, F.ta.an, F.$j.rc, function(c) { c.lK ? a.Xs && a.Xs(c.JB, c) : a.Ys && a.Ys(c.JB, c) }) }, l: function() { var a = new F.$j; a.Xs = this.Xs; a.Ys = this.Ys; return a }, Qk: function() { return this.Xs == q && this.Ys == q ? (F.log(F.i.fU), r) : p } }); F.$j.rc = "__cc_keyboard"; F.$j.create = function() { return new F.$j }; F.C.kA = function() { var a = F.t.prototype; a.tD = q; a.gD = q; a.xB = q; a.Ti = q; a.ctor = function() { this.AB(); var a = new F.ca; 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.tD = a; this.xB = 0; this.gD = new F.ca }; a.Ka = function() { this.sj === r && (this.sj = this.Cv = p) }; a.S = function() { if (this.yc) { var a = F.m, d, e = F.Vb; e.stack.push(e.top); F.zj(this.gD, e.top); e.top = this.gD; var f = this.grid; f && f.dk && f.ts(); this.transform(); var g = this.u; if (g && 0 < g.length) { var h = g.length; this.Wc(); for (d = 0; d < h; d++) if (g[d] && 0 > g[d].yb) g[d].S(); else break; for (this.Y(a); d < h; d++) g[d] && g[d].S() } else this.Y(a); this.arrivalOrder = 0; f && f.dk && f.qs(this); e.top = e.stack.pop() } }; a.transform = function() { var a = this.tD, d = F.Vb.top, e = this.Te(), f = a.c; f[0] = e.a; f[4] = e.D; f[12] = e.La; f[1] = e.b; f[5] = e.J; f[13] = e.Ma; f[14] = this.ks; F.zi(d, d, a); this.Ti != q && !(this.grid != q && this.grid.tf()) && (a = this.eb.x, d = this.eb.y, 0 !== a || 0 !== d ? (F.Hz || (a |= 0, d |= 0), F.Zo(a, d), this.Ti.Vs(), F.Zo(-a, -d)) : this.Ti.Vs()) }; a.Te = a.IW }; F.C.pz = function() { var a = F.t.prototype; F.j(a, "x", a.Re, a.VO); F.j(a, "y", a.Gg, a.UF); F.j(a, "width", a.ah, a.lj); F.j(a, "height", a.rk, a.kj); F.j(a, "anchorX", a.uV, a.IC); F.j(a, "anchorY", a.vV, a.JC); F.j(a, "skewX", a.d0, a.C3); F.j(a, "skewY", a.e0, a.D3); F.j(a, "zIndex", a.H_, a.SO); F.j(a, "vertexZ", a.n0, a.P3); F.j(a, "rotation", a.X_, a.WF); F.j(a, "rotationX", a.Z_, a.A3); F.j(a, "rotationY", a.$_, a.B3); F.j(a, "scale", a.a0, a.rp); F.j(a, "scaleX", a.cN, a.pt); F.j(a, "scaleY", a.dN, a.qt); F.j(a, "children", a.k_); F.j(a, "childrenCount", a.l_); F.j(a, "parent", a.getParent, a.r3); F.j(a, "visible", a.X0, a.jP); F.j(a, "running", a.V0); F.j(a, "ignoreAnchor", a.S0, a.jx); F.j(a, "actionManager", a.Uw, a.HO); F.j(a, "scheduler", a.Sk, a.cP); F.j(a, "shaderProgram", a.HE, a.YF); F.j(a, "glServerState", a.y_, a.h3) }; F.C.qz = function() { var a = F.ja.prototype; F.j(a, "opacity", a.Qe, a.va); F.j(a, "opacityModifyRGB", a.re, a.Hd); F.j(a, "cascadeOpacity", a.Os, a.pp); F.j(a, "color", a.Pe, a.Wa); F.j(a, "cascadeColor", a.Ns, a.op) }; F.bH = -1; F.CO = 1; F.t = F.ma.extend({ yb: 0, Xi: 0, ks: 0, ij: 0, Vl: 0, qa: 1, Ra: 1, za: q, ph: 0, qh: 0, u: q, yc: p, Rc: q, eb: q, P: q, nh: r, Tb: q, $i: r, tag: F.bH, userData: q, userObject: q, sj: p, Cv: p, sg: p, Si: q, D8: q, cm: q, hK: q, Ud: r, Ib: q, arrivalOrder: 0, qg: q, Pf: q, Q7: q, fK: r, Oq: r, Mu: q, Xh: q, HB: r, ho: 0, cw: 0, tb: "Node", YC: r, Cr: "", AB: function() { this.Rc = F.d(0, 0); this.eb = F.d(0, 0); this.P = F.size(0, 0); this.za = F.d(0, 0); this.u = []; this.cm = { a: 1, b: 0, D: 0, J: 1, La: 0, Ma: 0 }; var a = F.I; this.qg = a.Uw(); this.Pf = a.Sk(); this.fK = p; this.Mu = { a: 1, b: 0, D: 0, J: 1, La: 0, Ma: 0 }; F.nQ && (this.Xh = new F.nQ(this)) }, M: function() { this.fK === r && this.AB(); return p }, rg: function(a, c) { if (a && 0 !== a.length) { var d, e = a.length, f; d = F.t.Af; switch (c) { case d.da: for (d = 0; d < e; d++)(f = a[d]) && f.da(); break; case d.Ab: for (d = 0; d < e; d++)(f = a[d]) && f.Ab(); break; case d.Ih: for (d = 0; d < e; d++)(f = a[d]) && f.Ih(); break; case d.Ne: for (d = 0; d < e; d++)(f = a[d]) && f.Ne(); break; case d.$e: for (d = 0; d < e; d++)(f = a[d]) && f.$e(); break; case d.Yf: for (d = 0; d < e; d++)(f = a[d]) && f.Yf(); break; case d.Wc: for (d = 0; d < e; d++)(f = a[d]) && f.Wc(); break; default: F.assert(0, F.i.vR) } } }, Ka: q, ri: function(a) { for (var c in a) this[c] = a[c] }, d0: A("ph"), C3: function(a) { this.ph = a; this.Ka() }, e0: A("qh"), D3: function(a) { this.qh = a; this.Ka() }, SO: function(a) { this.yb = a; this.Tb && this.Tb.lp(this, a); F.ua.ew(this) }, fw: y("yb"), H_: A("yb"), Sca: function() { F.log(F.i.CR); return this.yb }, Rja: function(a) { F.log(F.i.NR); this.SO(a) }, uia: function(a) { this.Xi != a && (this.Xi = a, F.ua.ew(this)) }, fba: A("Xi"), n0: A("ks"), P3: y("ks"), X_: function() { this.ij !== this.Vl && F.log(F.i.AR); return this.ij }, WF: function(a) { this.ij = this.Vl = a; this.ho = 0.017453292519943295 * this.ij; this.cw = 0.017453292519943295 * this.Vl; this.Ka() }, Z_: A("ij"), A3: function(a) { this.ij = a; this.ho = 0.017453292519943295 * this.ij; this.Ka() }, $_: A("Vl"), B3: function(a) { this.Vl = a; this.cw = 0.017453292519943295 * this.Vl; this.Ka() }, a0: function() { this.qa !== this.Ra && F.log(F.i.BR); return this.qa }, rp: function(a, c) { this.qa = a; this.Ra = c || 0 === c ? c : a; this.Ka() }, cN: A("qa"), pt: function(a) { this.qa = a; this.Ka() }, dN: A("Ra"), qt: function(a) { this.Ra = a; this.Ka() }, G: function(a, c) { var d = this.za; c === k ? (d.x = a.x, d.y = a.y) : (d.x = a, d.y = c); this.Ka() }, Xw: function() { return F.d(this.za) }, Re: function() { return this.za.x }, VO: function(a) { this.za.x = a; this.Ka() }, Gg: function() { return this.za.y }, UF: function(a) { this.za.y = a; this.Ka() }, l_: function() { return this.u.length }, k_: A("u"), X0: A("yc"), jP: function(a) { this.yc = a; this.Ka() }, kaa: A("Rc"), Fi: function(a, c) { var d = this.Rc; if (c === k) { if (a.x === d.x && a.y === d.y) return; d.x = a.x; d.y = a.y } else { if (a === d.x && c === d.y) return; d.x = a; d.y = c } var e = this.eb, f = this.P; e.x = f.width * d.x; e.y = f.height * d.y; this.Ka() }, S7: A("Rc"), hL: function(a) { var c = a.x; a = a.y; this.Rc.x !== c && (this.Rc.x = c, this.eb.x = this.P.width * c); this.Rc.y !== a && (this.Rc.y = a, this.eb.y = this.P.height * a); this.Ka() }, uV: function() { return this.Rc.x }, IC: function(a) { this.Rc.x !== a && (this.Rc.x = a, this.eb.x = this.P.width * a, this.Ka()) }, vV: function() { return this.Rc.y }, JC: function(a) { this.Rc.y !== a && (this.Rc.y = a, this.eb.y = this.P.height * a, this.Ka()) }, laa: A("eb"), ah: function() { return this.P.width }, lj: function(a) { this.P.width = a; this.eb.x = a * this.Rc.x; this.Ka() }, rk: function() { return this.P.height }, kj: function(a) { this.P.height = a; this.eb.y = a * this.Rc.y; this.Ka() }, fc: A("P"), Zd: function(a, c) { var d = this.P; if (c === k) { if (a.width === d.width && a.height === d.height) return; d.width = a.width; d.height = a.height } else { if (a === d.width && c === d.height) return; d.width = a; d.height = c } var e = this.eb, f = this.Rc; e.x = d.width * f.x; e.y = d.height * f.y; this.Ka() }, V0: A("nh"), getParent: A("Tb"), r3: y("Tb"), S0: A("$i"), jx: function(a) { a != this.$i && (this.$i = a, this.Ka()) }, Es: A("tag"), oy: y("tag"), Jia: function() { this.Cr }, getName: A("Cr"), getUserData: A("userData"), setUserData: y("userData"), Mca: A("userObject"), Oja: function(a) { this.userObject != a && (this.userObject = a) }, Jba: A("arrivalOrder"), Pia: y("arrivalOrder"), Uw: function() { this.qg || (this.qg = F.I.Uw()); return this.qg }, HO: function(a) { this.qg != a && (this.gG(), this.qg = a) }, Sk: function() { this.Pf || (this.Pf = F.I.Sk()); return this.Pf }, cP: function(a) { this.Pf != a && (this.Ct(), this.Pf = a) }, raa: function() { var a = F.rect(0, 0, this.P.width, this.P.height); return F.lU(a, this.Te()) }, Ne: function() { this.gG(); this.Ct(); F.ua.vO(this); this.rg(this.u, F.t.Af.Ne) }, Bh: function(a) { var c = this.u; if (c != q) for (var d = 0; d < c.length; d++) { var e = c[d]; if (e && e.tag == a) return e } return q }, yaa: function(a) { if (!a) return F.log("Invalid name"), q; for (var c = this.u, d = 0, e = c.length; d < e; d++) if (c[d].Cr == a) return c[d]; return q }, Q: function(a, c, d) { F.assert(a, F.i.yR); a === this ? F.log(F.i.wR) : a.Tb !== q ? F.log(F.i.xR) : (c = c != q ? c : a.yb, a.tag = d != q ? d : a.tag, this.oW(a, c), a.Tb = this, this.Si && (a.Si = this.Si), this.nh && (a.da(), this.HB && a.Ih())) }, $k: function(a) { this.Tb && (a == q && (a = p), this.Tb.removeChild(this, a)) }, oha: function(a) { F.log(F.i.HR); this.$k(a) }, removeChild: function(a, c) { 0 !== this.u.length && (c == q && (c = p), -1 < this.u.indexOf(a) && this.cV(a, c), this.Ka()) }, DF: function(a, c) { a === F.bH && F.log(F.i.FR); var d = this.Bh(a); d == q ? F.log(F.i.GR, a) : this.removeChild(d, c) }, gha: function(a) { F.log(F.i.ER); this.Jg(a) }, Jg: function(a) { var c = this.u; if (c != q) { a == q && (a = p); for (var d = 0; d < c.length; d++) { var e = c[d]; e && (this.nh && (e.Yf(), e.Ab()), a && e.Ne(), e.parent = q) } this.u.length = 0 } }, cV: function(a, c) { this.nh && (a.Yf(), a.Ab()); c && a.Ne(); a.parent = q; F.Me(this.u, a) }, oW: function(a, c) { this.Ud = p; this.u.push(a); a.fw(c) }, lp: function(a, c) { F.assert(a, F.i.IR); this.Ud = p; a.arrivalOrder = F.CO; F.CO++; a.fw(c); this.Ka() }, Wc: function() { if (this.Ud) { var a = this.u, c = a.length, d, e, f; for (d = 1; d < c; d++) { f = a[d]; for (e = d - 1; 0 <= e;) { if (f.yb < a[e].yb) a[e + 1] = a[e]; else if (f.yb === a[e].yb && f.arrivalOrder < a[e].arrivalOrder) a[e + 1] = a[e]; else break; e-- } a[e + 1] = f } this.Ud = r } }, Y: t(), uy: function() { this.Tb != q && (this.Tb.uy(), this.Tb.transform()) }, da: function() { this.HB = r; this.nh = p; this.rg(this.u, F.t.Af.da); this.mp() }, Ih: function() { this.HB = p; this.rg(this.u, F.t.Af.Ih) }, Yf: function() { this.rg(this.u, F.t.Af.Yf) }, Ab: function() { this.nh = r; this.pause(); this.rg(this.u, F.t.Af.Ab); this.Xh && this.Xh.t2() }, ib: function(a) { F.assert(a, F.i.KR); this.actionManager.DY(a, this, !this.nh); return a }, gG: function() { this.actionManager && this.actionManager.tO(this) }, i4: function(a) { this.actionManager.sO(a) }, j4: function(a) { a === F.Sm ? F.log(F.i.OR) : this.actionManager.s2(a, this) }, wE: function(a) { return a === F.Sm ? (F.log(F.i.zR), q) : this.actionManager.wE(a, this) }, Dba: function() { return this.actionManager.K1(this) }, M2: function() { this.EO(0) }, EO: function(a) { this.scheduler.KF(this, a, !this.nh) }, DP: function() { this.scheduler.Dt(this) }, nt: function(a, c, d, e) { c = c || 0; F.assert(a, F.i.LR); F.assert(0 <= c, F.i.MR); d = d == q ? F.oq : d; this.scheduler.L2(this, a, c, d, e || 0, !this.nh) }, Iha: function(a, c) { this.nt(a, 0, 0, c) }, vy: function(a) { a && this.scheduler.CP(this, a) }, Ct: function() { this.scheduler.BP(this) }, yha: function() { F.log(F.i.JR); this.mp() }, mp: function() { this.scheduler.Ij(this); this.actionManager && this.actionManager.Ij(this); F.ua.Ij(this) }, Ega: function() { F.log(F.i.DR); this.pause() }, pause: function() { this.scheduler.ip(this); this.actionManager && this.actionManager.ip(this); F.ua.ip(this) }, Oha: function(a) { this.Mu = a; this.Oq = this.sj = p }, Bga: function() { this.Cv && (this.hK = F.uG(this.Te()), this.Cv = r); return this.hK }, dp: function() { for (var a = this.Te(), c = this.Tb; c != q; c = c.parent) a = F.hl(a, c.Te()); return a }, L4: function() { return F.uG(this.dp()) }, iE: function(a) { return F.vH(a, this.L4()) }, Nw: function(a) { a = a || F.d(0, 0); return F.vH(a, this.dp()) }, pZ: function(a) { return F.Gd(this.iE(a), this.eb) }, G9: function(a) { a = a || F.d(0, 0); a = F.Dj(a, this.eb); return this.Nw(a) }, K7: function(a) { a = this.Nw(a); return F.I.qZ(a) }, H9: function(a) { return this.iE(a.Ds()) }, I9: function(a) { a = a.Ds(); a = F.I.oZ(a); return this.pZ(a) }, update: function(a) { this.Xh && !this.Xh.rda() && this.Xh.S(a) }, $e: function() { this.rg(this.u, F.t.Af.$e) }, ay: t(), Ei: t(), n_: function(a) { return this.Xh.n_(a) }, K8: function(a) { this.Xh.add(a) }, mha: function(a) { return this.Xh.remove(a) }, hha: function() { this.Xh.t2() }, grid: q, ctor: q, S: q, transform: q, Te: q, oh: function() { if (this.sg === r) { this.sg = p; var a = this.Si; a && a != this && a.oh() } }, KC: function(a) { if (this.Si != a) { this.Si = a; for (var c = this.u, d = 0, e = c.length; d < e; d++) c[d].KC(a) } }, wm: function() { this.Ti || (this.Ti = new F.Kp); return this.Ti }, Cs: A("grid"), i3: y("grid"), HE: A("Ib"), YF: y("Ib"), y_: A("xB"), h3: y("xB"), i_: function() { var a = F.rect(0, 0, this.P.width, this.P.height), c = this.dp(), a = F.Az(a, this.dp()); if (!this.u) return a; for (var d = this.u, e = 0; e < d.length; e++) { var f = d[e]; f && f.yc && (f = f.nr(c)) && (a = F.Xx(a, f)) } return a }, nr: function(a) { var c = F.rect(0, 0, this.P.width, this.P.height); a = a == q ? this.Te() : F.hl(this.Te(), a); c = F.Az(c, a); if (!this.u) return c; for (var d = this.u, e = 0; e < d.length; e++) { var f = d[e]; f && f.yc && (f = f.nr(a)) && (c = F.Xx(c, f)) } return c }, IW: function() { if (this.sj) { var a = this.za.x, c = this.za.y, d = this.eb.x, e = -d, f = this.eb.y, g = -f, h = this.qa, m = this.Ra; this.$i && (a += d, c += f); var n = 1, s = 0, u = 1, v = 0; if (0 !== this.ij || 0 !== this.Vl) n = Math.cos(-this.ho), s = Math.sin(-this.ho), u = Math.cos(-this.cw), v = Math.sin(-this.cw); var x = this.ph || this.qh; if (!x && (0 !== d || 0 !== f)) a += u * e * h + -s * g * m, c += v * e * h + n * g * m; var w = this.cm; w.a = u * h; w.b = v * h; w.D = -s * m; w.J = n * m; w.La = a; w.Ma = c; if (x && (w = F.hl({ a: 1, b: Math.tan(F.Uf(this.qh)), D: Math.tan(F.Uf(this.ph)), J: 1, La: 0, Ma: 0 }, w), 0 !== d || 0 !== f)) w = F.SP(w, e, g); this.Oq && (w = F.hl(w, this.Mu), this.Oq = r); this.cm = w; this.sj = r } return this.cm } }); F.t.create = function() { return new F.t }; F.t.Af = { da: 1, Ab: 2, Ne: 3, Ih: 4, $e: 5, Yf: 6, Wc: 7 }; F.B === F.Ca ? (M = F.t.prototype, M.ctor = function() { this.AB() }, M.Ka = function() { this.oh(); this.sj === r && (this.sj = this.Cv = p) }, M.S = function(a) { if (this.yc) { a = a || F.m; var c, d = this.u, e; a.save(); this.transform(a); var f = d.length; if (0 < f) { this.Wc(); for (c = 0; c < f; c++) if (e = d[c], 0 > e.yb) e.S(a); else break; for (this.Y(a); c < f; c++) d[c].S(a) } else this.Y(a); this.sg = r; this.arrivalOrder = 0; a.restore() } }, M.transform = function(a) { a = a || F.m; var c = F.view, d = this.Te(); a.transform(d.a, d.D, d.b, d.J, d.La * c.qa, -d.Ma * c.Ra) }, M.Te = function() { if (this.sj) { var a = this.cm; a.La = this.za.x; a.Ma = this.za.y; var c = 1, d = 0; this.ij && (c = Math.cos(this.ho), d = Math.sin(this.ho)); a.a = a.J = c; a.b = -d; a.D = d; var e = this.qa, f = this.Ra, g = this.eb.x, h = this.eb.y, m = 1E-6 > e && -1E-6 < e ? 1E-6 : e, n = 1E-6 > f && -1E-6 < f ? 1E-6 : f; if (this.ph || this.qh) { var s = Math.tan(-this.ph * Math.PI / 180), u = Math.tan(-this.qh * Math.PI / 180); Infinity === s && (s = 99999999); Infinity === u && (u = 99999999); var v = h * s * m, x = g * u * n; a.a = c + -d * u; a.b = c * s + -d; a.D = d + c * u; a.J = d * s + c; a.La += c * v + -d * x; a.Ma += d * v + c * x } if (1 !== e || 1 !== f) a.a *= m, a.D *= m, a.b *= n, a.J *= n; a.La += c * -g * m + -d * h * n; a.Ma -= d * -g * m + c * h * n; this.$i && (a.La += g, a.Ma += h); this.Oq && (this.cm = F.hl(a, this.Mu), this.Oq = r); this.sj = r } return this.cm }, M = q) : (F.assert("function" === typeof F.C.kA, F.i.Qc, "BaseNodesWebGL.js"), F.C.kA(), delete F.C.kA); F.assert("function" === typeof F.C.pz, F.i.Qc, "BaseNodesPropertyDefine.js"); F.C.pz(); delete F.C.pz; F.ja = F.t.extend({ wb: p, Ba: 255, Td: 255, Da: q, bc: q, wd: r, ce: r, ctor: function() { F.t.prototype.ctor.call(this); this.Td = this.Ba = 255; this.Da = F.color(255, 255, 255, 255); this.bc = F.color(255, 255, 255, 255); this.ce = this.wd = r }, ec: t(), Qe: A("Td"), NM: A("Ba"), va: function(a) { this.Ba = this.Td = a; var c = 255, d = this.Tb; d && (d.wb && d.cascadeOpacity) && (c = d.Ba); this.Mb(c); this.Da.a = this.bc.a = a }, Mb: function(a) { this.Ba = this.Td * a / 255; if (this.ce) { a = this.u; for (var c = 0; c < a.length; c++) { var d = a[c]; d && d.wb && d.Mb(this.Ba) } } }, Os: A("ce"), pp: function(a) { this.ce !== a && ((this.ce = a) ? this.gr() : this.XA()) }, gr: function() { var a = 255, c = this.Tb; c && (c.wb && c.cascadeOpacity) && (a = c.Ba); this.Mb(a) }, XA: function() { this.Ba = this.Td; for (var a = this.u, c = 0; c < a.length; c++) { var d = a[c]; d && d.wb && d.Mb(255) } }, Pe: function() { var a = this.bc; return F.color(a.r, a.g, a.b, a.a) }, xm: function() { var a = this.Da; return F.color(a.r, a.g, a.b, a.a) }, Wa: function(a) { var c = this.Da, d = this.bc; c.r = d.r = a.r; c.g = d.g = a.g; c.b = d.b = a.b; c = (c = this.Tb) && c.wb && c.cascadeColor ? c.xm() : F.color.WHITE; this.Ob(c); a.a !== k && !a.os && this.va(a.a) }, Ob: function(a) { var c = this.Da, d = this.bc; c.r = 0 | d.r * a.r / 255; c.g = 0 | d.g * a.g / 255; c.b = 0 | d.b * a.b / 255; if (this.wd) { a = this.u; for (d = 0; d < a.length; d++) { var e = a[d]; e && e.wb && e.Ob(c) } } }, Ns: A("wd"), op: function(a) { this.wd !== a && ((this.wd = a) ? this.fr() : this.WA()) }, fr: function() { var a; a = (a = this.Tb) && a.wb && a.cascadeColor ? a.xm() : F.color.WHITE; this.Ob(a) }, WA: function() { var a = this.Da, c = this.bc; a.r = c.r; a.g = c.g; a.b = c.b; for (var a = this.u, c = F.color.WHITE, d = 0; d < a.length; d++) { var e = a[d]; e && e.wb && e.Ob(c) } }, Q: function(a, c, d) { F.t.prototype.Q.call(this, a, c, d); this.wd && this.fr(); this.ce && this.gr() }, Hd: t(), re: E(r) }); F.ja.create = function() { var a = new F.ja; a.M(); return a }; F.assert("function" === typeof F.C.qz, F.i.Qc, "BaseNodesPropertyDefine.js"); F.C.qz(); delete F.C.qz; F.t.z6 = 0; F.t.B6 = 1; F.t.A6 = 2; F.t.C6 = 3; F.t.y6 = 4; F.Ii = F.ja.extend({ textureAtlas: q, quadsToDraw: 0, wb: p, Zn: 0, pK: 0, bi: 0, gh: 0, Bl: q, Qa: r, q: q, zv: r, tb: "AtlasNode", ctor: function(a, c, d, e) { F.ja.prototype.ctor.call(this); this.Bl = F.color.WHITE; this.q = { src: F.hc, U: F.gc }; this.zv = r; e !== k && this.H0(a, c, d, e) }, Bp: function() { F.log(F.i.TP) }, Pe: function() { return this.Qa ? this.Bl : F.ja.prototype.Pe.call(this) }, Hd: function(a) { var c = this.color; this.Qa = a; this.color = c }, re: A("Qa"), Ah: A("q"), Ue: function(a, c) { this.q = c === k ? a : { src: a, U: c } }, aG: y("textureAtlas"), JE: A("textureAtlas"), $ba: A("quadsToDraw"), aja: y("quadsToDraw"), Kk: q, ie: q, vD: q, Xq: q, H0: function(a, c, d, e) { a || b("cc.AtlasNode.initWithTileFile(): title should not be null"); a = F.Fa.Hc(a); return this.sa(a, c, d, e) }, sa: q, BB: function(a, c, d, e) { this.bi = c; this.gh = d; this.Qa = p; this.ie = a; if (!this.ie) return F.log(F.i.vG), r; this.Kk = this.ie; this.Uu(); this.quadsToDraw = e; return p }, CB: function(a, c, d, e) { this.bi = c; this.gh = d; this.Bl = F.color.WHITE; this.Qa = p; this.q.src = F.hc; this.q.U = F.gc; c = this.bc; this.Xq = new Float32Array([c.r / 255, c.g / 255, c.b / 255, this.Td / 255 ]); this.textureAtlas = new F.Vj; this.textureAtlas.sa(a, e); if (!this.textureAtlas) return F.log(F.i.vG), r; this.Sf(); this.IL(); this.Uu(); this.quadsToDraw = e; this.shaderProgram = F.Jd.oc(F.Fz); this.vD = F.m.getUniformLocation(this.shaderProgram.ym(), "u_color"); return p }, Y: q, Wi: function(a) { a = a || F.m; F.Ws(this); F.Eh(this.q.src, this.q.U); this.vD && this.Xq && (a.uniform4fv(this.vD, this.Xq), this.textureAtlas.yM(this.quadsToDraw)) }, Wa: q, AX: function(a) { var c = this.bc; if (!(c.r == a.r && c.g == a.g && c.b == a.b)) { c = F.color(a.r, a.g, a.b); this.Bl = a; if (this.Qa) { var d = this.Ba; c.r = c.r * d / 255; c.g = c.g * d / 255; c.b = c.b * d / 255 } F.ja.prototype.Wa.call(this, a); if (this.texture && (a = this.ie.Eb)) if (c = F.Fa.bx(a)) d = F.rect(0, 0, a.width, a.height), a = F.No(a, c, this.bc, d), c = new F.ea, c.Ed(a), c.Wb(), this.texture = c } }, BX: function(a) { var c = F.color(a.r, a.g, a.b); this.Bl = a; var d = this.Ba; this.Qa && (c.r = c.r * d / 255, c.g = c.g * d / 255, c.b = c.b * d / 255); F.ja.prototype.Wa.call(this, a); a = this.Da; this.Xq = new Float32Array([a.r / 255, a.g / 255, a.b / 255, d / 255]) }, va: t(), QC: function(a) { F.ja.prototype.va.call(this, a); this.Qa && (this.color = this.Bl) }, RC: function(a) { F.ja.prototype.va.call(this, a); this.Qa ? this.color = this.Bl : (a = this.Da, this.Xq = new Float32Array([a.r / 255, a.g / 255, a.b / 255, this.Ba / 255])) }, Oa: q, or: A("Kk"), wB: function() { return this.textureAtlas.texture }, pb: q, VC: y("Kk"), WC: function(a) { this.textureAtlas.texture = a; this.Sf(); this.IL() }, Uu: q, GU: function() { var a = this.texture.fc(); this.pK = 0 | a.height / this.gh; this.Zn = 0 | a.width / this.bi }, HU: function() { var a = this.texture, c = a.fc(); this.zv && (c = a.P); this.pK = 0 | c.height / this.gh; this.Zn = 0 | c.width / this.bi }, Sf: function() { this.textureAtlas.texture.ti() || (this.q.src = F.SRC_ALPHA, this.q.U = F.ONE_MINUS_SRC_ALPHA) }, IL: function() { this.Qa = this.textureAtlas.texture.ti() }, NC: y("zv") }); M = F.Ii.prototype; F.B === F.$ ? (M.sa = M.CB, M.Y = M.Wi, M.Wa = M.BX, M.va = M.RC, M.Oa = M.wB, M.pb = M.WC, M.Uu = M.HU) : (M.sa = M.BB, M.Y = F.t.prototype.Y, M.Wa = M.AX, M.va = M.QC, M.Oa = M.or, M.pb = M.VC, M.Uu = M.GU); F.j(M, "opacity", M.Qe, M.va); F.j(M, "color", M.Pe, M.Wa); F.j(M, "texture", M.Oa, M.pb); F.Ii.create = function(a, c, d, e) { return new F.Ii(a, c, d, e) }; F.C.qA = function() { F.ea = F.ma.extend({ l8: p, hi: q, gj: 0, fj: 0, Cr: "", P: q, Ai: 0, Bi: 0, yv: r, Rn: r, shaderProgram: q, uc: r, Eb: q, Vd: q, url: q, hb: q, ctor: function() { this.P = F.size(0, 0); this.hi = F.ea.pM }, CF: function() { this.Vd && F.m.deleteTexture(this.Vd); F.V.Ei(this.url) }, VM: A("hi"), XM: A("gj"), WM: A("fj"), getName: A("Vd"), fc: function() { return F.size(this.P.width / F.rb(), this.P.height / F.rb()) }, ah: function() { return this.P.width / F.rb() }, rk: function() { return this.P.height / F.rb() }, o_: A("P"), M_: A("Ai"), m3: y("Ai"), N_: A("Bi"), n3: y("Bi"), HE: A("shaderProgram"), YF: y("shaderProgram"), ti: A("yv"), u0: A("Rn"), description: function() { return "\x3ccc.Texture2D | Name \x3d " + this.Cr + " | Dimensions \x3d " + this.gj + " x " + this.fj + " | Coordinates \x3d (" + this.Ai + ", " + this.Bi + ")\x3e" }, r2: t(), b1: aa(), Ms: function(a, c, d, e, f) { var g = F.ea, h = F.m, m = h.RGBA, n = h.UNSIGNED_BYTE, s = d * F.ea.AI[c] / 8; 0 === s % 8 ? h.pixelStorei(h.UNPACK_ALIGNMENT, 8) : 0 === s % 4 ? h.pixelStorei(h.UNPACK_ALIGNMENT, 4) : 0 === s % 2 ? h.pixelStorei(h.UNPACK_ALIGNMENT, 2) : h.pixelStorei(h.UNPACK_ALIGNMENT, 1); this.Vd = h.createTexture(); F.qe(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 (c) { case g.Oi: m = h.RGBA; break; case g.mq: m = h.RGB; break; case g.ju: n = h.UNSIGNED_SHORT_4_4_4_4; break; case g.iu: n = h.UNSIGNED_SHORT_5_5_5_1; break; case g.lq: n = h.UNSIGNED_SHORT_5_6_5; break; case g.jz: m = h.LUMINANCE_ALPHA; break; case g.kq: m = h.ALPHA; break; case g.kz: m = h.LUMINANCE; break; default: F.assert(0, F.i.tT) } h.texImage2D(h.TEXTURE_2D, 0, m, d, e, 0, m, n, a); this.P.width = f.width; this.P.height = f.height; this.gj = d; this.fj = e; this.hi = c; this.Ai = f.width / d; this.Bi = f.height / e; this.Rn = this.yv = r; this.shaderProgram = F.Jd.oc(F.tq); return this.uc = p }, AZ: function(a) { var c = [0, this.Bi, this.Ai, this.Bi, 0, 0, this.Ai, 0], d = this.gj * this.Ai, e = this.fj * this.Bi; 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]; F.Jc(F.Md | F.hn); this.Ib.Nc(); this.Ib.ut(); F.qe(this); d = F.m; d.vertexAttribPointer(F.qb, 2, d.FLOAT, r, 0, a); d.vertexAttribPointer(F.ud, 2, d.FLOAT, r, 0, c); d.drawArrays(d.TRIANGLE_STRIP, 0, 4) }, DZ: function(a) { var c = [0, this.Bi, this.Ai, this.Bi, 0, 0, this.Ai, 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]; F.Jc(F.Md | F.hn); this.Ib.Nc(); this.Ib.ut(); F.qe(this); var d = F.m; d.vertexAttribPointer(F.qb, 2, d.FLOAT, r, 0, a); d.vertexAttribPointer(F.ud, 2, d.FLOAT, r, 0, c); d.drawArrays(d.TRIANGLE_STRIP, 0, 4) }, zN: function(a) { if (a == q) return F.log(F.i.wT), r; var c = a.p0(), d = a.A_(), e = F.Fo.Ar; if (c > e || d > e) return F.log(F.i.xT, c, d, e, e), r; this.uc = p; return this.gW(a, c, d) }, Ed: function(a) { a && (this.Vd = F.m.createTexture(), this.Eb = a) }, C_: A("Eb"), T0: A("uc"), Wb: function() { if (F.aw) { if (!this.Eb) { var a = F.V.Dd(this.url); if (!a) return; this.Ed(a) } this.Eb.width && this.Eb.height && (this.uc = p, a = F.m, F.qe(this), a.pixelStorei(a.UNPACK_ALIGNMENT, 4), a.texImage2D(a.TEXTURE_2D, 0, a.RGBA, a.RGBA, a.UNSIGNED_BYTE, this.Eb), 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 = F.Jd.oc(F.tq), F.qe(q), a = this.Eb.height, this.gj = this.P.width = this.Eb.width, this.fj = this.P.height = a, this.hi = F.ea.Oi, this.Bi = this.Ai = 1, this.Rn = this.yv = r, this.Od()) } }, pd: function() { F.log(F.i.CT); return q }, A0: function() { F.log(F.i.vT); return r }, D0: function() { F.log(F.i.zT); return r }, E0: function() { F.log(F.i.BT); return r }, I3: function(a) { var c = F.m; F.assert(this.gj == F.Qj(this.gj) && this.fj == F.Qj(this.fj) || a.M4 == c.CLAMP_TO_EDGE && a.N4 == c.CLAMP_TO_EDGE, "WebGLRenderingContext.CLAMP_TO_EDGE should be used in NPOT textures"); F.qe(this); c.texParameteri(c.TEXTURE_2D, c.TEXTURE_MIN_FILTER, a.Jfa); c.texParameteri(c.TEXTURE_2D, c.TEXTURE_MAG_FILTER, a.Gfa); c.texParameteri(c.TEXTURE_2D, c.TEXTURE_WRAP_S, a.M4); c.texParameteri(c.TEXTURE_2D, c.TEXTURE_WRAP_T, a.N4) }, R2: function() { var a = F.m; F.qe(this); this.Rn ? 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) }, LF: function() { var a = F.m; F.qe(this); this.Rn ? 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() { F.assert(this.gj == F.Qj(this.gj) && this.fj == F.Qj(this.fj), "Mimpap texture only works in POT textures"); F.qe(this); F.m.generateMipmap(F.m.TEXTURE_2D); this.Rn = p }, n4: function() { return F.ea.kU[this.hi] }, cZ: function(a) { a = a || this.hi; var c = F.ea.AI[a]; if (c != q) return c; F.log(F.i.sT, a); return -1 }, gW: function(a, c, d) { var e = F.ea, f = a.getData(), g = q, g = q, h = a.ada(), m = F.size(a.p0(), a.A_()), n = e.pM, s = a.qaa(); h || (8 <= s ? n = e.mq : (F.log(F.i.pT), n = e.lq)); var u = c * d; if (n == e.lq) if (h) { f = new Uint16Array(c * d); g = a.getData(); for (s = 0; s < u; ++s) f[s] = (g[s] >> 0 & 255) >> 3 << 11 | (g[s] >> 8 & 255) >> 2 << 5 | (g[s] >> 16 & 255) >> 3 << 0 } else { f = new Uint16Array(c * d); g = a.getData(); for (s = 0; s < u; ++s) f[s] = (g[s] & 255) >> 3 << 11 | (g[s] & 255) >> 2 << 5 | (g[s] & 255) >> 3 << 0 } else if (n == e.ju) { f = new Uint16Array(c * d); g = a.getData(); for (s = 0; s < u; ++s) f[s] = (g[s] >> 0 & 255) >> 4 << 12 | (g[s] >> 8 & 255) >> 4 << 8 | (g[s] >> 16 & 255) >> 4 << 4 | (g[s] >> 24 & 255) >> 4 << 0 } else if (n == e.iu) { f = new Uint16Array(c * d); g = a.getData(); for (s = 0; s < u; ++s) f[s] = (g[s] >> 0 & 255) >> 3 << 11 | (g[s] >> 8 & 255) >> 3 << 6 | (g[s] >> 16 & 255) >> 3 << 1 | (g[s] >> 24 & 255) >> 7 << 0 } else if (n == e.kq) { f = new Uint8Array(c * d); g = a.getData(); for (s = 0; s < u; ++s) f[s] = g >> 24 & 255 } if (h && n == e.mq) { g = a.getData(); f = new Uint8Array(3 * c * d); for (s = 0; s < u; ++s) f[3 * s] = g >> 0 & 255, f[3 * s + 1] = g >> 8 & 255, f[3 * s + 2] = g >> 16 & 255 } this.Ms(f, n, c, d, m); a.getData(); this.yv = a.yda(); return p }, Wd: function(a, c) { this.hb || (this.hb = []); this.hb.push({ yh: a, Vf: c }) }, w2: function(a) { if (this.hb) for (var c = this.hb, d = 0; d < c.length; d++) c[d].Vf == a && c.splice(d, 1) }, Od: function() { if (this.hb) { for (var a = this.hb, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.yh.call(e.Vf, this) } a.length = 0 } } }) }; F.C.rA = function() { var a = F.Vj.prototype; a.Xl = function() { var a = F.m; this.tc[0] = a.createBuffer(); this.tc[1] = a.createBuffer(); this.Sl = a.createBuffer(); this.Kv() }; a.Kv = function() { var a = F.m; a.bindBuffer(a.ARRAY_BUFFER, this.Sl); a.bufferData(a.ARRAY_BUFFER, this.ad, a.DYNAMIC_DRAW); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.tc[1]); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.lb, a.STATIC_DRAW) }; a.yM = function(a) { var d; d = 0; if (!(0 === a || !this.texture || !this.texture.uc)) { var e = F.m; F.qe(this.texture); F.Jc(F.xl); e.bindBuffer(e.ARRAY_BUFFER, this.Sl); this.dirty && e.bufferData(e.ARRAY_BUFFER, this.ad, e.DYNAMIC_DRAW); e.vertexAttribPointer(F.qb, 3, e.FLOAT, r, 24, 0); e.vertexAttribPointer(F.ye, 4, e.UNSIGNED_BYTE, p, 24, 12); e.vertexAttribPointer(F.ud, 2, e.FLOAT, r, 24, 16); this.dirty && (this.dirty = r); e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, this.tc[1]); F.GH ? e.drawElements(e.TRIANGLE_STRIP, 6 * a, e.UNSIGNED_SHORT, 6 * d * this.lb.BYTES_PER_ELEMENT) : e.drawElements(e.TRIANGLES, 6 * a, e.UNSIGNED_SHORT, 6 * d * this.lb.BYTES_PER_ELEMENT); F.Wf++ } } }; F.C.sA = function() { var a = F.Fa; a.Wb = function(a) { var d = this.Gc; F.aw || (d = this.zr); var e = d[a]; e || (e = d[a] = new F.ea, e.url = a); e.Wb() }; a.Hc = function(a, d, e) { F.assert(a, F.i.rT); var f = this.Gc; F.aw || (f = this.zr); var g = f[a] || f[F.V.zl[a]]; if (g) return d && d.call(e), g; F.V.Dd(a) || (F.V.TI(a) ? F.V.load(a, function() { d && d.call(e) }) : F.V.Tf[a] = F.V.Ts(a, function(e, f) { if (e) return d ? d(e) : e; F.Fa.Wb(a); d && d(q, f) })); g = f[a] = new F.ea; g.url = a; return g }; delete a }; F.C.xz = function() { var a = F.ea; a.K6 = function(a) { F.eS = a }; a.Oi = 2; a.mq = 3; a.lq = 4; a.kq = 5; a.kz = 6; a.jz = 7; a.ju = 8; a.iu = 7; a.gH = 9; a.fH = 10; a.WR = a.Oi; var c = F.ea.kU = {}; c[a.Oi] = "RGBA8888"; c[a.mq] = "RGB888"; c[a.lq] = "RGB565"; c[a.kq] = "A8"; c[a.kz] = "I8"; c[a.jz] = "AI88"; c[a.ju] = "RGBA4444"; c[a.iu] = "RGB5A1"; c[a.gH] = "PVRTC4"; c[a.fH] = "PVRTC2"; c = F.ea.AI = {}; c[a.Oi] = 32; c[a.mq] = 24; c[a.lq] = 16; c[a.kq] = 8; c[a.kz] = 8; c[a.jz] = 16; c[a.ju] = 16; c[a.iu] = 16; c[a.gH] = 4; c[a.fH] = 3; c = F.ea.prototype; F.j(c, "name", c.getName); F.j(c, "pixelFormat", c.VM); F.j(c, "pixelsWidth", c.XM); F.j(c, "pixelsHeight", c.WM); F.j(c, "width", c.ah); F.j(c, "height", c.rk); a.pM = a.WR }; F.C.yz = function() { var a = F.Vj.prototype; F.j(a, "totalQuads", a.nN); F.j(a, "capacity", a.LM); F.j(a, "quads", a.YM, a.YO) }; F.U4 = 51; F.X4 = 19; F.Z4 = 18; F.W4 = 50; F.T4 = 34; F.R4 = 35; F.S4 = 33; F.V4 = 49; F.Y4 = 17; F.eS = r; F.B === F.Ca ? F.ea = F.ma.extend({ P: q, uc: r, Eb: q, hb: q, url: q, ctor: function() { this.P = F.size(0, 0); this.uc = r; this.Eb = q }, XM: function() { return this.P.width }, WM: function() { return this.P.height }, fc: function() { var a = F.rb(); return F.size(this.P.width / a, this.P.height / a) }, ah: function() { return this.P.width / F.rb() }, rk: function() { return this.P.height / F.rb() }, o_: A("P"), Ed: function(a) { a && (this.Eb = a) }, C_: A("Eb"), T0: A("uc"), Wb: function() { if (!this.uc) { if (!this.Eb) { var a = F.V.Dd(this.url); if (!a) return; this.Ed(a) } this.uc = p; a = this.Eb; this.P.width = a.width; this.P.height = a.height; this.Od() } }, description: function() { return "\x3ccc.Texture2D | width \x3d " + this.P.width + " height " + this.P.height + "\x3e" }, Ms: E(r), zN: E(r), pd: E(r), CF: t(), getName: E(q), M_: E(1), m3: t(), N_: E(1), n3: t(), VM: E(q), HE: E(q), YF: t(), ti: E(r), u0: E(r), r2: t(), b1: aa(), AZ: t(), DZ: t(), A0: function() { F.log(F.i.uT); return r }, D0: function() { F.log(F.i.yT); return r }, E0: function() { F.log(F.i.AT); return r }, I3: t(), R2: t(), LF: t(), generateMipmap: t(), n4: E(""), cZ: E(-1), Wd: function(a, c) { this.hb || (this.hb = []); this.hb.push({ yh: a, Vf: c }) }, w2: function(a) { if (this.hb) for (var c = this.hb, d = 0; d < c.length; d++) c[d].Vf == a && c.splice(d, 1) }, Od: function() { if (this.hb) { for (var a = this.hb, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.yh.call(e.Vf, this) } a.length = 0 } } }) : (F.assert("function" === typeof F.C.qA, F.i.Qc, "TexturesWebGL.js"), F.C.qA(), delete F.C.qA); F.assert("function" === typeof F.C.xz, F.i.Qc, "TexturesPropertyDefine.js"); F.C.xz(); delete F.C.xz; F.Fa = { Gc: {}, as: {}, qD: 0 | 1E3 * Math.random(), zr: {}, nW: function() { var a, c = this.zr, d = this.Gc; for (a in c) { var e = c[a]; e.Wb(); d[a] = e } this.zr = {} }, O8: function() { F.log(F.i.r4) }, L8: function() { F.log(F.i.p4) }, description: function() { return "\x3cTextureCache | Number of textures \x3d " + this.Gc.length + "\x3e" }, Nm: function(a) { return this.Gc[a] || this.Gc[F.V.zl[a]] }, E_: function(a) { for (var c in this.Gc) if (this.Gc[c] == a) return c; return q }, rV: function() { this.qD++; return "_textureKey_" + this.qD }, bx: function(a) { var c = this.E_(a); c || (c = a instanceof HTMLImageElement ? a.src : this.rV()); this.as[c] || (this.as[c] = F.Mo(a)); return this.as[c] }, N8: function() { F.log(F.i.q4) }, kha: function() { var a = this.Gc, c; for (c in a) a[c] && a[c].CF(); this.Gc = {} }, vha: function(a) { if (a) { var c = this.Gc, d; for (d in c) c[d] == a && (c[d].CF(), delete c[d]) } }, wha: function(a) { a != q && this.Gc[a] && delete this.Gc[a] }, dZ: function(a, c) { if (c instanceof F.ea) this.Gc[a] = c; else { var d = new F.ea; d.Ed(c); d.Wb(); this.Gc[a] = d } }, T8: function(a, c) { F.assert(a, F.i.t4); if (c && this.Gc[c]) return this.Gc[c]; var d = new F.ea; d.zN(a); c != q && d != q ? this.Gc[c] = d : F.log(F.i.s4); return d }, d$: function() { var a = 0, c = 0, d = this.Gc, e; for (e in d) { var f = d[e]; a++; f.Eb instanceof HTMLImageElement ? F.log(F.i.u4, e, f.Eb.src, f.pixelsWidth, f.pixelsHeight) : F.log(F.i.tP, e, f.pixelsWidth, f.pixelsHeight); c += 4 * f.pixelsWidth * f.pixelsHeight } d = this.as; for (e in d) { var f = d[e], g; for (g in f) { var h = f[g]; a++; F.log(F.i.tP, e, h.width, h.height); c += 4 * h.width * h.height } } F.log(F.i.v4, a, c / 1024, (c / 1048576).toFixed(2)) }, hk: function() { this.Gc = {}; this.as = {}; this.qD = 0 | 1E3 * Math.random(); this.zr = {} } }; F.B === F.Ca ? (M = F.Fa, M.Wb = function(a) { var c = this.Gc, d = c[a]; d || (d = c[a] = new F.ea, d.url = a); d.Wb() }, M.Hc = function(a, c, d) { F.assert(a, F.i.qT); var e = this.Gc, f = e[a] || e[F.V.zl[a]]; if (f) return c && c.call(d), f; f = e[a] = new F.ea; f.url = a; F.V.Dd(a) ? f.Wb() : F.V.TI(a) ? F.V.load(a, function() { c && c.call(d) }) : F.V.Tf[a] = F.V.Ts(a, function(d, e) { if (d) return c ? c(d) : d; F.Fa.Wb(a); c && c(q, e) }); return f }, M = q) : (F.assert("function" === typeof F.C.sA, F.i.Qc, "TexturesWebGL.js"), F.C.sA(), delete F.C.sA); F.Vj = F.ma.extend({ dirty: r, texture: q, lb: q, tc: q, vd: 0, Dc: q, ad: q, Sl: q, Nf: q, ctor: function(a, c) { this.tc = []; "string" == typeof a ? this.Uk(a, c) : a instanceof F.ea && this.sa(a, c) }, nN: A("Na"), LM: A("vd"), Oa: A("texture"), pb: y("texture"), LO: y("dirty"), cF: A("dirty"), YM: A("Dc"), YO: y("Dc"), ZU: function(a, c) { if (a) for (var d = 0; d < a.length; d++) this.gw(a[d], c + d) }, gw: function(a, c) { var d = this.Dc; d[c] ? (d[c].F = a.F, d[c].O = a.O, d[c].N = a.N, d[c].K = a.K) : d[c] = new F.Db(a.N, a.F, a.K, a.O, this.ad, c * F.Db.BYTES_PER_ELEMENT) }, description: function() { return "\x3ccc.TextureAtlas | totalQuads \x3d" + this.Na + "\x3e" }, oL: function() { if (0 !== this.vd) for (var a = this.lb, c = this.vd, d = 0; d < c; d++) F.GH ? (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) }, Xl: function() { var a = F.m; this.tc[0] = a.createBuffer(); this.tc[1] = a.createBuffer(); this.Sl = a.createBuffer(); this.Kv() }, Kv: function() { var a = F.m; a.bindBuffer(a.ARRAY_BUFFER, this.Sl); a.bufferData(a.ARRAY_BUFFER, this.ad, a.DYNAMIC_DRAW); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.tc[1]); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.lb, a.STATIC_DRAW) }, Uk: function(a, c) { var d = F.Fa.Hc(a); if (d) return this.sa(d, c); F.log(F.i.DT, a); return r }, sa: function(a, c) { F.assert(a, F.i.ET); this.vd = c |= 0; this.Na = 0; this.texture = a; this.Dc = []; this.lb = new Uint16Array(6 * c); var d = F.Db.BYTES_PER_ELEMENT; this.ad = new ArrayBuffer(d * c); this.Nf = new Uint8Array(this.ad); if ((!this.Dc || !this.lb) && 0 < c) return r; for (var e = this.Dc, f = 0; f < c; f++) e[f] = new F.Db(q, q, q, q, this.ad, f * d); this.oL(); this.Xl(); return this.dirty = p }, xy: function(a, c) { F.assert(a, F.i.OT); F.assert(0 <= c && c < this.vd, F.i.PT); this.Na = Math.max(c + 1, this.Na); this.gw(a, c); this.dirty = p }, aF: function(a, c) { F.assert(c < this.vd, F.i.HT); this.Na++; if (this.Na > this.vd) F.log(F.i.OH); else { var d = F.Db.BYTES_PER_ELEMENT, e = c * d, f = (this.Na - 1 - c) * d; this.Dc[this.Na - 1] = new F.Db(q, q, q, q, this.ad, (this.Na - 1) * d); this.Nf.set(this.Nf.subarray(e, e + f), e + d); this.gw(a, c); this.dirty = p } }, ida: function(a, c, d) { d = d || a.length; F.assert(c + d <= this.vd, F.i.IT); var e = F.Db.BYTES_PER_ELEMENT; this.Na += d; if (this.Na > this.vd) F.log(F.i.OH); else { var f = c * e, g = (this.Na - 1 - c - d) * e, h = this.Na - 1 - d, m; for (m = 0; m < d; m++) this.Dc[h + m] = new F.Db(q, q, q, q, this.ad, (this.Na - 1) * e); this.Nf.set(this.Nf.subarray(f, f + g), f + e * d); for (m = 0; m < d; m++) this.gw(a[m], c + m); this.dirty = p } }, hda: function(a, c) { if (a !== c) { F.assert(0 <= c || c < this.Na, F.i.FT); F.assert(0 <= a || a < this.Na, F.i.GT); var d = F.Db.BYTES_PER_ELEMENT, e = this.Nf, f = e.subarray(a * d, d), g; a > c ? (g = c * d, e.set(e.subarray(g, g + (a - c) * d), g + d), e.set(f, g)) : (g = (a + 1) * d, e.set(e.subarray(g, g + (c - a) * d), g - d), e.set(f, c * d)); this.dirty = p } }, wO: function(a) { F.assert(a < this.Na, F.i.MT); var c = F.Db.BYTES_PER_ELEMENT; this.Na--; this.Dc.length = this.Na; if (a !== this.Na) { var d = (a + 1) * c; this.Nf.set(this.Nf.subarray(d, d + (this.Na - a) * c), d - c) } this.dirty = p }, y2: function(a, c) { F.assert(a + c <= this.Na, F.i.NT); this.Na -= c; if (a !== this.Na) { var d = F.Db.BYTES_PER_ELEMENT, e = (a + c) * d; this.Nf.set(this.Nf.subarray(e, e + (this.Na - a) * d), a * d) } this.dirty = p }, uO: function() { this.Na = this.Dc.length = 0 }, Dk: y("dirty"), FF: function(a) { if (a == this.vd) return p; var c = F.Db.BYTES_PER_ELEMENT, d = this.vd; this.Na = Math.min(this.Na, a); var e = this.vd = 0 | a, f = this.Na; if (this.Dc == q) { this.Dc = []; this.ad = new ArrayBuffer(c * e); this.Nf = new Uint8Array(this.ad); for (a = 0; a < e; a++) this.Dc = new F.Db(q, q, q, q, this.ad, a * c) } else { var g, h, m = this.Dc; if (e > d) { g = []; h = new ArrayBuffer(c * e); for (a = 0; a < f; a++) g[a] = new F.Db(m[a].N, m[a].F, m[a].K, m[a].O, h, a * c); for (; a < e; a++) g[a] = new F.Db(q, q, q, q, h, a * c) } else { f = Math.max(f, e); g = []; h = new ArrayBuffer(c * e); for (a = 0; a < f; a++) g[a] = new F.Db(m[a].N, m[a].F, m[a].K, m[a].O, h, a * c) } this.Nf = new Uint8Array(h); this.Dc = g; this.ad = h } this.lb == q ? this.lb = new Uint16Array(6 * e) : e > d ? (c = new Uint16Array(6 * e), c.set(this.lb, 0), this.lb = c) : this.lb = this.lb.subarray(0, 6 * e); this.oL(); this.Kv(); return this.dirty = p }, tN: function(a) { this.Na += a }, $N: function(a, c, d) { if (d === k) { if (d = c, c = this.Na - a, F.assert(d + (this.Na - a) <= this.vd, F.i.JT), 0 === c) return } else if (F.assert(d + c <= this.Na, F.i.KT), F.assert(a < this.Na, F.i.LT), a == d) return; var e = F.Db.BYTES_PER_ELEMENT, f = a * e, g = c * e, h = this.Nf, m = h.subarray(f, f + g), n = d * e; d < a ? (c = d * e, h.set(h.subarray(c, c + (a - d) * e), c + g)) : (c = (a + c) * e, h.set(h.subarray(c, c + (d - a) * e), f)); h.set(m, n); this.dirty = p }, EM: function(a, c) { for (var d = c * F.Db.BYTES_PER_ELEMENT, e = new Uint8Array(this.ad, a * F.Db.BYTES_PER_ELEMENT, d), f = 0; f < d; f++) e[f] = 0 }, zM: function() { this.yM(this.Na) }, o8: function() { var a = F.m; this.tc && (this.tc[0] && a.deleteBuffer(this.tc[0]), this.tc[1] && a.deleteBuffer(this.tc[1])); this.Sl && a.deleteBuffer(this.Sl) } }); M = F.Vj.prototype; F.j(M, "totalQuads", M.nN); F.j(M, "capacity", M.LM); F.j(M, "quads", M.YM, M.YO); F.Vj.create = function(a, c) { return new F.Vj(a, c) }; F.B === F.$ && (F.assert("function" === typeof F.C.rA, F.i.Qc, "TexturesWebGL.js"), F.C.rA(), delete F.C.rA); F.assert("function" === typeof F.C.yz, F.i.Qc, "TexturesPropertyDefine.js"); F.C.yz(); delete F.C.yz; F.tl = F.t.extend({ tb: "Scene", ctor: function() { F.t.prototype.ctor.call(this); this.$i = p; this.Fi(0.5, 0.5); this.Zd(F.I.T) } }); F.tl.create = function() { return new F.tl }; F.cz = F.tl.extend({ uk: q, rK: 0, RA: 0, xb: q, tb: "LoaderScene", M: function() { var a = this, c = 200, d = a.DU = F.Ac.create(F.color(32, 32, 32, 255)); d.G(F.Qm.TD); a.Q(d, 0); var e = 24, f = -c / 2 + 100; F.MB && (F.V.Ts(F.MB, { bF: r }, function(d, e) { c = e.height; a.hW(e, F.Qm.Kw) }), e = 14, f = -c / 2 - 10); e = a.xb = F.Z.create("\u6b63\u5728\u52aa\u529b\u52a0\u8f7d... 0%", "Arial", e); e.G(F.Dj(F.Qm.Kw, F.d(0, f))); e.Wa(F.color(180, 180, 180)); d.Q(this.xb, 10); d = F.Z.create("@wayne5ning", "Arial", 30); d.G(F.d(this.fc().width / 2, 50)); d.Wa(F.color(128, 128, 128, 150)); this.Q(d); return p }, hW: function(a, c) { var d = this.B8 = new F.ea; d.Ed(a); d.Wb(); d = this.e8 = F.aa.create(d); d.rp(F.rb()); d.x = c.x; d.y = c.y; this.DU.Q(d, 10) }, da: function() { F.t.prototype.da.call(this); this.nt(this.vL, 0.3) }, Ab: function() { F.t.prototype.Ab.call(this); this.xb.Mc("\u6b63\u5728\u52aa\u529b\u52a0\u8f7d... 0%") }, G0: function(a, c) { "string" == typeof a && (a = [a]); this.F2 = a || []; this.Xd = c }, vL: function() { var a = this; a.vy(a.vL); var c = a.F2; a.rK = c.length; a.RA = 0; F.V.load(c, function(c, e) { a.RA = e }, function() { a.Xd && a.Xd() }); a.nt(a.JL) }, JL: function() { var a = this.RA, c = this.rK, d; d = Math.min(100 * (a / c) | 0, 100); this.xb.Mc("\u6b63\u5728\u52aa\u529b\u52a0\u8f7d... " + d + "%"); a >= c && this.vy(this.JL) } }); F.cz.AF = function(a, c) { var d = F; d.Us || (d.Us = new F.cz, d.Us.M()); d.Us.G0(a, c); F.I.IF(d.Us); return d.Us }; F.C.az = function() { var a = F.ve.prototype; a.XL = t(); a.AP = t(); a.S = F.t.prototype.S }; F.C.nA = function() { var a = F.Ac.prototype; a.jw = q; a.dD = q; a.GD = q; a.PA = q; a.fD = q; a.eD = q; a.ctor = function(a, d, e) { this.fD = new ArrayBuffer(32); this.eD = new ArrayBuffer(16); var f = this.fD, g = this.eD, h = F.Cc.BYTES_PER_ELEMENT, m = W.BYTES_PER_ELEMENT; this.jw = [new F.Cc(0, 0, f, 0), new F.Cc(0, 0, f, h), new F.Cc(0, 0, f, 2 * h), new F.Cc(0, 0, f, 3 * h)]; this.dD = [F.color(0, 0, 0, 255, g, 0), F.color(0, 0, 0, 255, g, m), F.color(0, 0, 0, 255, g, 2 * m), F.color(0, 0, 0, 255, g, 3 * m)]; this.GD = F.m.createBuffer(); this.PA = F.m.createBuffer(); F.vf.prototype.ctor.call(this); this.q = new F.Nj(F.hc, F.gc); F.Ac.prototype.M.call(this, a, d, e) }; a.Zd = function(a, d) { var e = this.jw; d === k ? (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.FA(); F.ve.prototype.Zd.call(this, a, d) }; a.lj = function(a) { var d = this.jw; d[1].x = a; d[3].x = a; this.FA(); F.ve.prototype.lj.call(this, a) }; a.kj = function(a) { var d = this.jw; d[2].y = a; d[3].y = a; this.FA(); F.ve.prototype.kj.call(this, a) }; a.ec = function() { for (var a = this.Da, d = this.Ba, e = this.dD, 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.OI() }; a.Y = function(a) { a = a || F.m; F.Ws(this); F.Jc(F.Md | F.Cu); a.bindBuffer(a.ARRAY_BUFFER, this.GD); a.vertexAttribPointer(F.qb, 2, a.FLOAT, r, 0, 0); a.bindBuffer(a.ARRAY_BUFFER, this.PA); a.vertexAttribPointer(F.ye, 4, a.UNSIGNED_BYTE, p, 0, 0); F.Eh(this.q.src, this.q.U); a.drawArrays(a.TRIANGLE_STRIP, 0, 4) }; a.FA = function() { var a = F.m; a.bindBuffer(a.ARRAY_BUFFER, this.GD); a.bufferData(a.ARRAY_BUFFER, this.fD, a.STATIC_DRAW) }; a.OI = function() { var a = F.m; a.bindBuffer(a.ARRAY_BUFFER, this.PA); a.bufferData(a.ARRAY_BUFFER, this.eD, a.STATIC_DRAW) } }; F.C.oA = function() { var a = F.ol.prototype; a.Y = F.Ac.prototype.Y; a.ec = function() { var a = this.ek, d = F.Yk(a); if (0 !== d) { var e = Math.sqrt(2), a = F.d(a.x / d, a.y / d); this.Yu && (a = F.Ci(a, 1 / (Math.abs(a.x) + Math.abs(a.y)) * e)); var f = this.Ba / 255, d = this.Da, g = this.De, d = { r: d.r, g: d.g, b: d.b, a: this.mo * f }, f = { r: g.r, g: g.g, b: g.b, a: this.En * f }, h = this.dD, g = h[0], m = h[1], n = h[2], h = h[3]; g.r = f.r + (d.r - f.r) * ((e + a.x + a.y) / (2 * e)); g.g = f.g + (d.g - f.g) * ((e + a.x + a.y) / (2 * e)); g.b = f.b + (d.b - f.b) * ((e + a.x + a.y) / (2 * e)); g.a = f.a + (d.a - f.a) * ((e + a.x + a.y) / (2 * e)); m.r = f.r + (d.r - f.r) * ((e - a.x + a.y) / (2 * e)); m.g = f.g + (d.g - f.g) * ((e - a.x + a.y) / (2 * e)); m.b = f.b + (d.b - f.b) * ((e - a.x + a.y) / (2 * e)); m.a = f.a + (d.a - f.a) * ((e - a.x + a.y) / (2 * e)); n.r = f.r + (d.r - f.r) * ((e + a.x - a.y) / (2 * e)); n.g = f.g + (d.g - f.g) * ((e + a.x - a.y) / (2 * e)); n.b = f.b + (d.b - f.b) * ((e + a.x - a.y) / (2 * e)); n.a = f.a + (d.a - f.a) * ((e + a.x - a.y) / (2 * e)); h.r = f.r + (d.r - f.r) * ((e - a.x - a.y) / (2 * e)); h.g = f.g + (d.g - f.g) * ((e - a.x - a.y) / (2 * e)); h.b = f.b + (d.b - f.b) * ((e - a.x - a.y) / (2 * e)); h.a = f.a + (d.a - f.a) * ((e - a.x - a.y) / (2 * e)); this.OI() } } }; F.C.vz = function() { var a = F.vf.prototype; F.j(a, "opacityModifyRGB", a.re, a.Hd); F.j(a, "opacity", a.Qe, a.va); F.j(a, "cascadeOpacity", a.Os, a.pp); F.j(a, "color", a.Pe, a.Wa); F.j(a, "cascadeColor", a.Ns, a.op) }; F.C.tz = function() { var a = F.Ac.prototype; F.j(a, "width", a.ah, a.lj); F.j(a, "height", a.rk, a.kj) }; F.C.uz = function() { var a = F.ol.prototype; F.j(a, "startColor", a.ax, a.Xe); F.j(a, "endColor", a.Ww, a.Ve); F.j(a, "startOpacity", a.g0, a.F3); F.j(a, "endOpacity", a.t_, a.d3); F.j(a, "vector", a.m0, a.O3) }; F.ve = F.t.extend({ Hl: r, Ru: q, tb: "Layer", ctor: function() { var a = F.t.prototype; a.ctor.call(this); this.$i = p; a.Fi.call(this, 0.5, 0.5); a.Zd.call(this, F.Gt) }, XL: q, AP: q, nda: A("Hl"), S: q }); F.ve.create = function() { return new F.ve }; if (F.B === F.Ca) { var ea = F.ve.prototype; ea.XL = function() { if (!this.Hl) { this.Hl = this.sg = p; this.Si = this; for (var a = this.u, c = 0, d = a.length; c < d; c++) a[c].KC(this); this.Ru || (this.Ru = new F.ZP) } }; ea.AP = function() { if (this.Hl) { this.Hl = r; this.sg = p; this.Si = q; for (var a = this.u, c = 0, d = a.length; c < d; c++) a[c].KC(q) } }; ea.S = function(a) { if (this.Hl) { a = a || F.m; var c, d = this.u, e = d.length; if (this.yc && 0 !== e) { var f = this.Ru; a.save(); this.transform(a); if (this.sg) { c = this.nB(); c.width |= 0; c.height |= 0; var g = f.Ae; f.zO(c.width, c.height); g.translate(0 - c.x, c.height + c.y); var h = f.eb; f.G(h.x + c.x, h.y + c.y); this.Wc(); for (c = 0; c < e; c++) d[c].S(g); this.sg = r } f.S(a); this.arrivalOrder = 0; a.restore() } } else F.t.prototype.S.call(this, a) }; ea.nB = function() { var a = q; if (!this.u || 0 === this.u.length) return F.rect(0, 0, 10, 10); for (var c = this.u, d = 0; d < c.length; d++) { var e = c[d]; e && e.yc && (a ? (e = e.nr()) && (a = F.Xx(a, e)) : a = e.nr()) } return a }; ea = q } else F.assert("function" === typeof F.C.az, F.i.Qc, "CCLayerWebGL.js"), F.C.az(), delete F.C.az; F.vf = F.ve.extend({ wb: p, Ba: 255, Td: 255, Da: q, bc: q, ce: r, wd: r, tb: "LayerRGBA", ctor: function() { F.ve.prototype.ctor.call(this); this.Da = F.color(255, 255, 255, 255); this.bc = F.color(255, 255, 255, 255) }, M: function() { var a = F.ve.prototype; this.$i = p; a.Fi.call(this, 0.5, 0.5); a.Zd.call(this, F.Gt); this.cascadeColor = this.cascadeOpacity = r; return p }, Qe: A("Td"), NM: A("Ba"), va: function(a) { this.Ba = this.Td = a; var c = 255, d = this.Tb; d && (d.wb && d.cascadeOpacity) && (c = d.Ba); this.Mb(c); this.Da.a = this.bc.a = a }, Mb: function(a) { this.Ba = 0 | this.Td * a / 255; if (this.ce) { a = this.u; for (var c, d = 0; d < a.length; d++)(c = a[d]) && c.wb && c.Mb(this.Ba) } }, Os: A("ce"), pp: function(a) { this.ce !== a && ((this.ce = a) ? this.gr() : this.XA()) }, gr: function() { var a = 255, c = this.Tb; c && (c.wb && c.cascadeOpacity) && (a = c.Ba); this.Mb(a) }, XA: function() { this.Ba = this.Td; for (var a = this.u, c, d = 0; d < a.length; d++)(c = a[d]) && c.wb && c.Mb(255) }, Pe: function() { var a = this.bc; return F.color(a.r, a.g, a.b, a.a) }, xm: function() { var a = this.Da; return F.color(a.r, a.g, a.b) }, Wa: function(a) { var c = this.Da, d = this.bc; c.r = d.r = a.r; c.g = d.g = a.g; c.b = d.b = a.b; c = (c = this.Tb) && c.wb && c.cascadeColor ? c.xm() : F.color.WHITE; this.Ob(c); a.a !== k && !a.os && this.va(a.a) }, Ob: function(a) { var c = this.Da, d = this.bc; c.r = 0 | d.r * a.r / 255; c.g = 0 | d.g * a.g / 255; c.b = 0 | d.b * a.b / 255; if (this.wd) { a = this.u; for (var e = 0; e < a.length; e++)(d = a[e]) && d.wb && d.Ob(c) } }, Ns: A("wd"), op: function(a) { this.wd !== a && ((this.wd = a) ? this.fr() : this.WA()) }, fr: function() { var a; a = (a = this.Tb) && a.wb && a.cascadeColor ? a.xm() : F.color.WHITE; this.Ob(a) }, WA: function() { var a = this.Da, c = this.bc; a.r = c.r; a.g = c.g; a.b = c.b; var a = this.u, c = F.color.WHITE, d, e; for (e = 0; e < a.length; e++)(d = a[e]) && d.wb && d.Ob(c) }, Q: function(a, c, d) { F.t.prototype.Q.call(this, a, c, d); this.wd && this.fr(); this.ce && this.gr() }, Hd: t(), re: E(r) }); F.assert("function" === typeof F.C.vz, F.i.Qc, "CCLayerPropertyDefine.js"); F.C.vz(); delete F.C.vz; F.Ac = F.vf.extend({ q: q, tb: "LayerColor", Ah: A("q"), w9: function(a, c) { this.width = a; this.height = c }, v9: y("width"), u9: y("height"), Hd: t(), re: E(r), Wa: function(a) { F.vf.prototype.Wa.call(this, a); this.ec() }, va: function(a) { F.vf.prototype.va.call(this, a); this.ec() }, Xn: r, ctor: q, M: function(a, c, d) { F.B !== F.Ca && (this.shaderProgram = F.Jd.oc(F.qu)); var e = F.I.T; a = a || F.color(0, 0, 0, 255); c = c === k ? e.width : c; d = d === k ? e.height : d; e = this.Da; e.r = a.r; e.g = a.g; e.b = a.b; e = this.bc; e.r = a.r; e.g = a.g; e.b = a.b; this.Td = this.Ba = a.a; a = F.Ac.prototype; a.Zd.call(this, c, d); a.ec.call(this); return p }, Ue: function(a, c) { this.q = c === k ? a : { src: a, U: c }; F.B === F.Ca && (this.Xn = this.q && 1 == this.q.src && 771 == this.q.U) }, lj: q, kj: q, ec: q, Ob: function(a) { F.vf.prototype.Ob.call(this, a); this.ec() }, Mb: function(a) { F.vf.prototype.Mb.call(this, a); this.ec() }, Y: q }); F.Ac.create = function(a, c, d) { return new F.Ac(a, c, d) }; F.B === F.Ca ? (M = F.Ac.prototype, M.ctor = function(a, c, d) { F.vf.prototype.ctor.call(this); this.q = new F.Nj(F.hc, F.gc); F.Ac.prototype.M.call(this, a, c, d) }, M.lj = F.vf.prototype.lj, M.kj = F.vf.prototype.kj, M.ec = t(), M.Y = function(a) { a = a || F.m; var c = F.view, d = this.Da; a.fillStyle = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + "," + this.Ba / 255 + ")"; a.fillRect(0, 0, this.width * c.qa, -this.height * c.Ra); F.Wf++ }, M.S = function(a) { if (this.Hl) { a = a || F.m; var c, d = this.u, e = d.length; if (this.yc) { var f = this.Ru; a.save(); this.transform(a); if (this.sg) { c = this.nB(); c.width |= 0; c.height |= 0; var g = f.Ae; f.zO(c.width, c.height); var h = f.eb, m = this.za; if (this.$i) g.translate(0 - c.x + m.x, c.height + c.y - m.y), f.G(h.x + c.x - m.x, h.y + c.y - m.y); else { var n = this.eb, s = m.x - n.x, m = m.y - n.y; g.translate(0 - c.x + s, c.height + c.y - m); f.G(h.x + c.x - s, h.y + c.y - m) } if (0 < e) { this.Wc(); for (c = 0; c < e; c++) if (h = d[c], 0 > h.yb) h.S(g); else break; for (this.Y(g); c < e; c++) d[c].S(g) } else this.Y(g); this.sg = r } f.S(a); this.arrivalOrder = 0; a.restore() } } else F.t.prototype.S.call(this, a) }, M.nB = function() { var a = F.rect(0, 0, this.P.width, this.P.height), c = this.dp(), a = F.Az(a, this.dp()); 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.yc && (f = f.nr(c), a = F.Xx(a, f)) } return a }, M = q) : (F.assert("function" === typeof F.C.nA, F.i.Qc, "CCLayerWebGL.js"), F.C.nA(), delete F.C.nA); F.assert("function" === typeof F.C.tz, F.i.Qc, "CCLayerPropertyDefine.js"); F.C.tz(); delete F.C.tz; F.ol = F.Ac.extend({ sh: q, De: q, mo: 255, En: 255, ek: q, Yu: r, Qn: q, Pn: q, tb: "LayerGradient", ctor: function(a, c, d) { F.Ac.prototype.ctor.call(this); this.sh = F.color(0, 0, 0, 255); this.De = F.color(0, 0, 0, 255); this.ek = F.d(0, -1); this.En = this.mo = 255; this.Qn = F.d(0, 0); this.Pn = F.d(0, 0); F.ol.prototype.M.call(this, a, c, d) }, M: function(a, c, d) { a = a || F.color(0, 0, 0, 255); c = c || F.color(0, 0, 0, 255); d = d || F.d(0, -1); var e = this.sh, f = this.De; e.r = a.r; e.g = a.g; e.b = a.b; this.mo = a.a; f.r = c.r; f.g = c.g; f.b = c.b; this.En = c.a; this.ek = d; this.Yu = p; this.Qn = F.d(0, 0); this.Pn = F.d(0, 0); F.Ac.prototype.M.call(this, F.color(a.r, a.g, a.b, 255)); F.ol.prototype.ec.call(this); return p }, Zd: function(a, c) { F.Ac.prototype.Zd.call(this, a, c); this.ec() }, lj: function(a) { F.Ac.prototype.lj.call(this, a); this.ec() }, kj: function(a) { F.Ac.prototype.kj.call(this, a); this.ec() }, ax: A("bc"), Xe: y("color"), Ve: function(a) { this.De = a; this.ec() }, Ww: A("De"), F3: function(a) { this.mo = a; this.ec() }, g0: A("mo"), d3: function(a) { this.En = a; this.ec() }, t_: A("En"), O3: function(a) { this.ek.x = a.x; this.ek.y = a.y; this.ec() }, m0: function() { return F.d(this.ek.x, this.ek.y) }, pda: A("Yu"), aia: function(a) { this.Yu = a; this.ec() }, P7: q, ec: q }); F.ol.create = function(a, c, d) { return new F.ol(a, c, d) }; F.B === F.Ca ? (M = F.ol.prototype, M.Y = function(a) { a = a || F.m; this.Xn && (a.globalCompositeOperation = "lighter"); a.save(); var c = F.view, d = this.Ba / 255, e = this.width * c.qa, c = this.height * c.Ra, f = a.createLinearGradient(this.Qn.x, this.Qn.y, this.Pn.x, this.Pn.y), g = this.Da, h = this.De; f.addColorStop(0, "rgba(" + Math.round(g.r) + "," + Math.round(g.g) + "," + Math.round(g.b) + "," + (d * (this.mo / 255)).toFixed(4) + ")"); f.addColorStop(1, "rgba(" + Math.round(h.r) + "," + Math.round(h.g) + "," + Math.round(h.b) + "," + (d * (this.En / 255)).toFixed(4) + ")"); a.fillStyle = f; a.fillRect(0, 0, e, -c); 0 != this.q8 && a.rotate(this.r8); a.restore() }, M.ec = function() { var a = this.ek, c = 0.5 * this.width, d = 0.5 * this.height; this.Qn.x = c * -a.x + c; this.Qn.y = d * a.y - d; this.Pn.x = c * a.x + c; this.Pn.y = d * -a.y - d }, M = q) : (F.assert("function" === typeof F.C.oA, F.i.Qc, "CCLayerWebGL.js"), F.C.oA(), delete F.C.oA); F.assert("function" === typeof F.C.uz, F.i.Qc, "CCLayerPropertyDefine.js"); F.C.uz(); delete F.C.uz; F.bz = F.ve.extend({ Fl: 0, he: q, tb: "LayerMultiplex", ctor: function(a) { F.ve.prototype.ctor.call(this); a && F.bz.prototype.C0.call(this, a) }, C0: function(a) { 0 < a.length && a[a.length - 1] == q && F.log(F.i.pR); this.he = a; this.Fl = 0; this.Q(this.he[this.Fl]); return p }, jka: function(a) { a >= this.he.length ? F.log(F.i.qR) : (this.removeChild(this.he[this.Fl], p), this.Fl = a, this.Q(this.he[a])) }, kka: function(a) { a >= this.he.length ? F.log(F.i.rR) : (this.removeChild(this.he[this.Fl], p), this.he[this.Fl] = q, this.Fl = a, this.Q(this.he[a])) }, M8: function(a) { a ? this.he.push(a) : F.log(F.i.oR) } }); F.bz.create = function() { return new F.bz(arguments) }; F.C.pA = function() { var a = F.aa.prototype; a.cD = function(a) { this.Ka(p); this.vb(a.Dh(), a.ke, a.jf); this.Od() }; a.Hd = function(a) { this.Qa !== a && (this.Qa = a, this.Et()) }; a.Mb = function(a) { F.ja.prototype.Mb.call(this, a); this.Et() }; a.ctor = function(a, d, e) { F.ja.prototype.ctor.call(this); this.Fk = r; this.Fb = F.d(0, 0); this.uh = F.d(0, 0); this.q = { src: F.hc, U: F.gc }; this.ia = F.rect(0, 0, 0, 0); this.Ub = new F.Db; this.Yv = F.m.createBuffer(); this.oa = this.Fe = p; this.tL(a, d, e) }; a.Ue = function(a, d) { var e = this.q; d === k ? (e.src = a.src, e.U = a.U) : (e.src = a, e.U = d) }; a.M = function() { if (0 < arguments.length) return this.Uk(arguments[0], arguments[1]); F.ja.prototype.M.call(this); this.dirty = this.kh = r; this.Qa = p; this.q.src = F.hc; this.q.U = F.gc; this.texture = q; this.oa = p; this.Qb = this.Rb = r; this.anchorY = this.anchorX = 0.5; this.Fb.x = 0; this.Fb.y = 0; this.ai = r; var a = { r: 255, g: 255, b: 255, a: 255 }; this.Ub.F.v = a; this.Ub.O.v = a; this.Ub.N.v = a; this.Ub.K.v = a; this.Fe = p; this.vb(F.rect(0, 0, 0, 0), r, F.size(0, 0)); return p }; a.sa = function(a, d, e) { F.assert(0 != arguments.length, F.i.YS); e = e || r; if (!F.ja.prototype.M.call(this)) return r; this.W = q; this.dirty = this.kh = r; this.Qa = p; this.q.src = F.hc; this.q.U = F.gc; this.Qb = this.Rb = r; this.anchorY = this.anchorX = 0.5; this.Fb.x = 0; this.Fb.y = 0; this.ai = r; var f = F.color(255, 255, 255, 255), g = this.Ub; g.F.v = f; g.O.v = f; g.N.v = f; g.K.v = f; this.oa = f = a.uc; if (!f) return this.bd = e || r, d && (f = this.ia, f.x = d.x, f.y = d.y, f.width = d.width, f.height = d.height), a.Wd(this.uw, this), p; d || (d = F.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 && F.error(F.i.Cz, a.url), g > a.height && F.error(F.i.Bz, a.url)); this.texture = a; this.vb(d, e); this.batchNode = q; return this.Fe = p }; a.uw = function(a) { if (!this.oa) { this.oa = p; var d = this.ia; d ? F.wC(d) && (d.width = a.width, d.height = a.height) : d = F.rect(0, 0, a.width, a.height); this.texture = a; this.vb(d, this.bd); this.batchNode = this.W; this.Fe = p; this.Od() } }; a.vb = function(a, d, e) { this.bd = d || r; this.Zd(e || a); this.eG(a); this.lL(a); a = this.uh; this.Qb && (a.x = -a.x); this.Rb && (a.y = -a.y); var f = this.ia; this.Fb.x = a.x + (this.P.width - f.width) / 2; this.Fb.y = a.y + (this.P.height - f.height) / 2; if (this.W) this.dirty = p; else { a = 0 + this.Fb.x; d = 0 + this.Fb.y; e = a + f.width; var f = d + f.height, g = this.Ub; g.F.k = { x: a, y: d, e: 0 }; g.O.k = { x: e, y: d, e: 0 }; g.N.k = { x: a, y: f, e: 0 }; g.K.k = { x: e, y: f, e: 0 }; this.Fe = p } }; a.$e = function() { if (this.dirty) { var a = this.Ub, d = this.Tb; if (!this.yc || d && d != this.W && d.Fk) a.O.k = { x: 0, y: 0, e: 0 }, a.N.k = { x: 0, y: 0, e: 0 }, a.K.k = { x: 0, y: 0, e: 0 }, a.F.k = { x: 0, y: 0, e: 0 }, this.Fk = p; else { this.Fk = r; var e = this.em = !d || d == this.W ? this.Te() : F.hl(this.Te(), d.em), f = this.ia, d = this.Fb.x, g = this.Fb.y, h = d + f.width, m = g + f.height, n = e.La, s = e.Ma, u = e.a, v = e.b, x = e.J, w = -e.D, e = d * u - g * w + n, f = d * v + g * x + s, z = h * u - g * w + n, g = h * v + g * x + s, B = h * u - m * w + n, h = h * v + m * x + s, n = d * u - m * w + n, d = d * v + m * x + s, m = this.ks; F.Hz || (e |= 0, f |= 0, z |= 0, g |= 0, B |= 0, h |= 0, n |= 0, d |= 0); a.F.k = { x: e, y: f, e: m }; a.O.k = { x: z, y: g, e: m }; a.N.k = { x: n, y: d, e: m }; a.K.k = { x: B, y: h, e: m } } this.textureAtlas.xy(a, this.atlasIndex); this.dirty = this.kh = r } this.ai && this.rg(this.u, F.t.Af.$e); F.Rj && (a = [F.d(this.Ub.F.k.x, this.Ub.F.k.y), F.d(this.Ub.O.k.x, this.Ub.O.k.y), F.d(this.Ub.K.k.x, this.Ub.K.k.y), F.d(this.Ub.N.k.x, this.Ub.N.k.y)], F.Ce.Yd(a, 4, p)) }; a.Q = function(a, d, e) { F.assert(a, F.i.PS); d == q && (d = a.yb); e == q && (e = a.tag); if (this.W) { if (!(a instanceof F.aa)) { F.log(F.i.NS); return } a.texture.Vd !== this.textureAtlas.texture.Vd && F.log(F.i.OS); this.W.appendChild(a); this.Ud || this.UC() } F.ja.prototype.Q.call(this, a, d, e); this.ai = p }; a.va = function(a) { F.ja.prototype.va.call(this, a); this.Et() }; a.Wa = function(a) { F.ja.prototype.Wa.call(this, a); this.Et() }; a.Ob = function(a) { F.ja.prototype.Ob.call(this, a); this.Et() }; a.bl = function(a) { var d = this; "string" == typeof a && (a = F.cl.wj(a), F.assert(a, F.i.gT)); d.Ka(p); var e = a.la; d.uh.x = e.x; d.uh.y = e.y; e = a.Oa(); a.oa || (d.oa = r, a.Wd(function(a) { d.oa = p; var c = a.Oa(); c != d.L && (d.texture = c); d.vb(a.Dh(), a.ke, a.jf); d.Od() }, d)); e != d.L && (d.texture = e); d.bd = a.ke; d.vb(a.Dh(), d.bd, a.jf) }; a.IN = function(a) { return F.rO(a.Dh(), this.ia) && a.Oa().getName() == this.L.getName() && F.yF(a.la, this.uh) }; a.al = function(a) { if (this.W = a) this.em = { a: 1, b: 0, D: 0, J: 1, La: 0, Ma: 0 }, this.textureAtlas = this.W.textureAtlas; else { this.atlasIndex = F.aa.Yy; this.textureAtlas = q; this.dirty = this.kh = r; a = this.Fb.x; var d = this.Fb.y, e = a + this.ia.width, f = d + this.ia.height, g = this.Ub; g.F.k = { x: a, y: d, e: 0 }; g.O.k = { x: e, y: d, e: 0 }; g.N.k = { x: a, y: f, e: 0 }; g.K.k = { x: e, y: f, e: 0 }; this.Fe = p } }; a.pb = function(a) { a && "string" === typeof a ? (a = F.Fa.Hc(a), this.pb(a), a = a.fc(), this.vb(F.rect(0, 0, a.width, a.height))) : (F.assert(!a || a instanceof F.ea, F.i.iT), this.W && this.W.texture != a ? F.log(F.i.hT) : (this.shaderProgram = a ? F.Jd.oc(F.Pi) : F.Jd.oc(F.qu), !this.W && this.L != a && (this.L = a, this.Sf()))) }; a.Y = function() { if (this.oa) { var a = F.m, d = this.L; d ? d.uc && (this.Ib.Nc(), this.Ib.Ze(), F.Eh(this.q.src, this.q.U), F.NE(0, d), F.Jc(F.xl), a.bindBuffer(a.ARRAY_BUFFER, this.Yv), this.Fe && (a.bufferData(a.ARRAY_BUFFER, this.Ub.Fw, a.DYNAMIC_DRAW), this.Fe = r), a.vertexAttribPointer(0, 3, a.FLOAT, r, 24, 0), a.vertexAttribPointer(1, 4, a.UNSIGNED_BYTE, p, 24, 12), a.vertexAttribPointer(2, 2, a.FLOAT, r, 24, 16), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)) : (this.Ib.Nc(), this.Ib.Ze(), F.Eh(this.q.src, this.q.U), F.qe(q), F.Jc(F.Md | F.Cu), a.bindBuffer(a.ARRAY_BUFFER, this.Yv), this.Fe && (F.m.bufferData(F.m.ARRAY_BUFFER, this.Ub.Fw, F.m.STATIC_DRAW), this.Fe = r), a.vertexAttribPointer(F.qb, 3, a.FLOAT, r, 24, 0), a.vertexAttribPointer(F.ye, 4, a.UNSIGNED_BYTE, p, 24, 12), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)); F.Wf++; if (0 !== F.Rj || this.YC) 1 === F.Rj || this.YC ? (a = this.Ub, a = [F.d(a.N.k.x, a.N.k.y), F.d(a.F.k.x, a.F.k.y), F.d(a.O.k.x, a.O.k.y), F.d(a.K.k.x, a.K.k.y)], F.Ce.Yd(a, 4, p)) : 2 === F.Rj && (a = this.mN(), d = this.Fb, a = [F.d(d.x, d.y), F.d(d.x + a.width, d.y), F.d(d.x + a.width, d.y + a.height), F.d(d.x, d.y + a.height)], F.Ce.Yd(a, 4, p)) } }; delete a }; F.C.wz = function() { var a = F.aa.prototype; F.j(a, "opacityModifyRGB", a.re, a.Hd); F.j(a, "opacity", a.Qe, a.va); F.j(a, "color", a.Pe, a.Wa); F.j(a, "flippedX", a.P0, a.fy); F.j(a, "flippedY", a.Q0, a.QF); F.j(a, "offsetX", a.MV); F.j(a, "offsetY", a.NV); F.j(a, "texture", a.Oa, a.pb); F.j(a, "textureRectRotated", a.W0); F.j(a, "batchNode", a.xE, a.al); F.j(a, "quad", a.V_) }; F.Mo = function(a) { function c() { var c = F.Mo, 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; c.canvas.width = e; c.canvas.height = h; var m = c.canvas.getContext("2d"); m.drawImage(a, 0, 0); c.lG.width = e; c.lG.height = h; for (var m = m.getImageData(0, 0, e, h).data, n = 0; 4 > n; n++) { var s = d[n].getContext("2d"); s.getImageData(0, 0, e, h).data; c.sP.drawImage(a, 0, 0); for (var u = c.sP.getImageData(0, 0, e, h), v = u.data, x = 0; x < m.length; x += 4) v[x] = 0 === n ? m[x] : 0, v[x + 1] = 1 === n ? m[x + 1] : 0, v[x + 2] = 2 === n ? m[x + 2] : 0, v[x + 3] = m[x + 3]; s.putImageData(u, 0, 0) } a.onload = q } if (a.cM) return a.cM; var d = [F.Nb("canvas"), F.Nb("canvas"), F.Nb("canvas"), F.Nb("canvas")]; try { c() } catch (e) { a.onload = c } return a.cM = d }; F.Mo.canvas = F.Nb("canvas"); F.Mo.lG = F.Nb("canvas"); F.Mo.sP = F.Mo.lG.getContext("2d"); F.iaa = function(a, c, d) { d || (d = F.rect(0, 0, a.width, a.height), d = F.Gj(d)); var e = F.Nb("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 = c.a / 255; f.fillStyle = "rgb(" + c.r + "," + c.g + "," + c.b + ")"; f.fillRect(0, 0, d.width, d.height); f.restore(); return e }; F.No = function(a, c, d, e, f) { e || (e = F.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, c[0].width), m = Math.min(e.height, c[0].height), n; f ? (n = f.getContext("2d"), n.clearRect(0, 0, h, m)) : (f = F.Nb("canvas"), f.width = h, f.height = m, n = f.getContext("2d")); n.save(); n.globalCompositeOperation = "lighter"; var s = n.globalAlpha; 0 < a && (n.globalAlpha = a * s, n.drawImage(c[0], e.x, e.y, h, m, 0, 0, h, m)); 0 < g && (n.globalAlpha = g * s, n.drawImage(c[1], e.x, e.y, h, m, 0, 0, h, m)); 0 < d && (n.globalAlpha = d * s, n.drawImage(c[2], e.x, e.y, h, m, 0, 0, h, m)); 1 > a + g + d && (n.globalAlpha = s, n.drawImage(c[3], e.x, e.y, h, m, 0, 0, h, m)); n.restore(); return f }; F.kE = function(a, c) { if (!a) return q; if (!c) return a; var d = F.Nb("canvas"); d.width = c.width; d.height = c.height; var e = d.getContext("2d"); e.translate(d.width / 2, d.height / 2); e.rotate(-1.5707963267948966); e.drawImage(a, c.x, c.y, c.height, c.width, -c.height / 2, -c.width / 2, c.height, c.width); return d }; F.aa = F.ja.extend({ wb: p, dirty: r, atlasIndex: 0, textureAtlas: q, W: q, kh: q, ai: q, Fk: r, em: q, q: q, L: q, ia: q, bd: r, Fb: q, uh: q, Qa: r, Qb: r, Rb: r, oa: r, hb: q, TB: q, tb: "Sprite", xt: A("oa"), Wd: function(a, c) { this.hb || (this.hb = []); this.hb.push({ yh: a, Vf: c }) }, Od: function() { if (this.hb) { for (var a = this.hb, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.yh.call(e.Vf, this) } a.length = 0 } }, cF: A("dirty"), LO: y("dirty"), W0: A("bd"), Po: A("atlasIndex"), MF: y("atlasIndex"), mN: function() { return F.rect(this.ia.x, this.ia.y, this.ia.width, this.ia.height) }, JE: A("textureAtlas"), aG: y("textureAtlas"), Hba: A("Fb"), MV: function() { return this.Fb.x }, NV: function() { return this.Fb.y }, Ah: A("q"), vi: function(a) { F.assert(a, F.i.VS); a.oa || (this.oa = r, a.Wd(this.cD, this)); var c = F.B === F.Ca ? r : a.ke, c = this.sa(a.Oa(), a.Dh(), c); this.bl(a); return c }, cD: q, fda: function(a) { F.assert(a, F.i.WS); var c = F.cl.wj(a); F.assert(c, a + F.i.XS); return this.vi(c) }, Dka: function(a) { this.textureAtlas = a.textureAtlas; this.W = a }, eG: function(a) { this.ia.x = a.x; this.ia.y = a.y; this.ia.width = a.width; this.ia.height = a.height }, Wc: function() { if (this.Ud) { var a = this.u, c = a.length, d, e, f; for (d = 1; d < c; d++) { f = a[d]; for (e = d - 1; 0 <= e;) { if (f.yb < a[e].yb) a[e + 1] = a[e]; else if (f.yb === a[e].yb && f.arrivalOrder < a[e].arrivalOrder) a[e + 1] = a[e]; else break; e-- } a[e + 1] = f } this.W && this.rg(a, F.t.Af.Wc); this.Ud = r } }, lp: function(a, c) { F.assert(a, F.i.bT); - 1 === this.u.indexOf(a) ? F.log(F.i.aT) : c !== a.zIndex && (this.W && !this.Ud && (this.UC(), this.W.xO(p)), F.t.prototype.lp.call(this, a, c)) }, removeChild: function(a, c) { this.W && this.W.Im(a); F.t.prototype.removeChild.call(this, a, c) }, Jg: function(a) { var c = this.u, d = this.W; if (d && c != q) for (var e = 0, f = c.length; e < f; e++) d.Im(c[e]); F.t.prototype.Jg.call(this, a); this.ai = r }, MO: function(a) { this.dirty = this.kh = a; a = this.u; for (var c, d = a ? a.length : 0, e = 0; e < d; e++) c = a[e], c instanceof F.aa && c.MO(p) }, Ka: function(a) { F.t.prototype.Ka.call(this); !a && (this.W && !this.kh) && (this.ai ? this.MO(p) : this.dirty = this.kh = p) }, jx: function(a) { this.W ? F.log(F.i.TS) : F.t.prototype.jx.call(this, a) }, fy: function(a) { this.Qb != a && (this.Qb = a, this.vb(this.ia, this.bd, this.P), this.Ka(p)) }, QF: function(a) { this.Rb != a && (this.Rb = a, this.vb(this.ia, this.bd, this.P), this.Ka(p)) }, P0: A("Qb"), Q0: A("Rb"), Hd: q, re: A("Qa"), Mb: q, kia: function(a, c) { F.assert(a, F.i.fT); var d = F.Ew.JM(a); d ? (d = d.Rd[c]) ? this.bl(d.wj()) : F.log(F.i.eT) : F.log(F.i.dT) }, xE: A("W"), UC: function() { if (!this.Ud) { this.Ud = p; for (var a = this.Tb; a && a != this.W;) a.UC(), a = a.parent } }, Oa: A("L"), Ub: q, Yv: q, Fe: r, Xu: r, Xn: r, ie: q, qo: q, $A: q, ctor: q, tL: function(a, c, d) { if (a === k) F.aa.prototype.M.call(this); else if ("string" === typeof a) "#" === a[0] ? (a = F.cl.wj(a.substr(1, a.length - 1)), this.vi(a)) : F.aa.prototype.M.call(this, a, c); else if ("object" === typeof a) if (a instanceof F.ea) this.sa(a, c, d); else if (a instanceof F.zf) this.vi(a); else if (a instanceof HTMLImageElement || a instanceof HTMLCanvasElement) c = new F.ea, c.Ed(a), c.Wb(), this.sa(c) }, V_: A("Ub"), Ue: q, M: q, Uk: function(a, c) { F.assert(a, F.i.US); var d = F.Fa.Nm(a); if (d) { if (!c) { var e = d.fc(); c = F.rect(0, 0, e.width, e.height) } return this.sa(d, c) } d = F.Fa.Hc(a); return this.sa(d, c || F.rect(0, 0, d.P.width, d.P.height)) }, sa: q, uw: q, vb: q, $e: q, Q: q, Et: function() { var a = this.Da, c = this.Ba, a = { r: a.r, g: a.g, b: a.b, a: c }; this.Qa && (a.r *= c / 255, a.g *= c / 255, a.b *= c / 255); c = this.Ub; c.F.v = a; c.O.v = a; c.N.v = a; c.K.v = a; this.W && (this.atlasIndex != F.aa.Yy ? this.textureAtlas.xy(c, this.atlasIndex) : this.dirty = p); this.Fe = p }, va: q, Wa: q, Ob: q, bl: q, a3: function(a) { F.log(F.i.cT); this.bl(a) }, IN: q, zZ: function() { return F.zf.create(this.L, F.lt(this.ia), this.bd, F.e2(this.uh), F.Y3(this.P)) }, al: q, pb: q, Sf: function() { this.W ? F.log(F.i.MS) : !this.L || !this.L.ti() ? (this.q.src = F.SRC_ALPHA, this.q.U = F.ONE_MINUS_SRC_ALPHA, this.opacityModifyRGB = r) : (this.q.src = F.hc, this.q.U = F.gc, this.opacityModifyRGB = p) }, gk: function() { var a, c = this.L, d = this.qo; if (c && (d.Dp && this.ie) && (a = c.Eb)) if (c = F.Fa.bx(this.ie.Eb)) this.Xu = p, a instanceof HTMLCanvasElement && !this.bd && !this.TB ? F.No(a, c, this.Da, d, a) : (a = F.No(a, c, this.Da, d), c = new F.ea, c.Ed(a), c.Wb(), this.texture = c) }, lL: function(a) { a = F.lt(a); var c = this.W ? this.textureAtlas.texture : this.L; if (c) { var d = c.pixelsWidth, e = c.pixelsHeight, f, g = this.Ub; this.bd ? (F.Wm ? (c = (2 * a.x + 1) / (2 * d), d = c + (2 * a.height - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.width - 2) / (2 * e)) : (c = a.x / d, d = (a.x + a.height) / d, f = a.y / e, a = (a.y + a.width) / e), this.Qb && (e = f, f = a, a = e), this.Rb && (e = c, c = d, d = e), g.F.n.fa = c, g.F.n.ga = f, g.O.n.fa = c, g.O.n.ga = a, g.N.n.fa = d, g.N.n.ga = f, g.K.n.fa = d, g.K.n.ga = a) : (F.Wm ? (c = (2 * a.x + 1) / (2 * d), d = c + (2 * a.width - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.height - 2) / (2 * e)) : (c = a.x / d, d = (a.x + a.width) / d, f = a.y / e, a = (a.y + a.height) / e), this.Qb && (e = c, c = d, d = e), this.Rb && (e = f, f = a, a = e), g.F.n.fa = c, g.F.n.ga = a, g.O.n.fa = d, g.O.n.ga = a, g.N.n.fa = c, g.N.n.ga = f, g.K.n.fa = d, g.K.n.ga = f); this.Fe = p } }, Y: q }); F.aa.create = function(a, c, d) { return new F.aa(a, c, d) }; F.aa.Yy = -1; F.B === F.Ca ? (M = F.aa.prototype, M.cD = function(a) { this.Ka(p); this.vb(a.Dh(), a.ke, a.jf); a = this.color; (255 !== a.r || 255 !== a.g || 255 !== a.b) && this.gk(); this.Od() }, M.Hd = function(a) { this.Qa !== a && (this.Qa = a, this.Ka(p)) }, M.Mb = function(a) { F.ja.prototype.Mb.call(this, a); this.oh() }, M.ctor = function(a, c, d) { F.ja.prototype.ctor.call(this); this.Fk = r; this.Fb = F.d(0, 0); this.uh = F.d(0, 0); this.q = { src: F.hc, U: F.gc }; this.ia = F.rect(0, 0, 0, 0); this.TB = r; this.oa = p; this.qo = { x: 0, y: 0, width: 0, height: 0, Dp: r }; this.$A = F.size(0, 0); this.tL(a, c, d) }, M.Ue = function(a, c) { var d = this.q; c === k ? (d.src = a.src, d.U = a.U) : (d.src = a, d.U = c); this.Xn = d && (d.src == F.SRC_ALPHA && d.U == F.ONE || d.src == F.ONE && d.U == F.ONE) }, M.M = function() { if (0 < arguments.length) return this.Uk(arguments[0], arguments[1]); F.ja.prototype.M.call(this); this.dirty = this.kh = r; this.Qa = p; this.q.src = F.hc; this.q.U = F.gc; this.texture = q; this.oa = p; this.Qb = this.Rb = r; this.anchorY = this.anchorX = 0.5; this.Fb.x = 0; this.Fb.y = 0; this.ai = r; this.vb(F.rect(0, 0, 0, 0), r, F.size(0, 0)); return p }, M.sa = function(a, c, d) { F.assert(0 != arguments.length, F.i.eQ); if ((d = d || r) && a.uc) { var e = a.Eb, e = F.kE(e, c), f = new F.ea; f.Ed(e); f.Wb(); a = f; this.ia = F.rect(0, 0, c.width, c.height) } if (!F.ja.prototype.M.call(this)) return r; this.W = q; this.dirty = this.kh = r; this.Qa = p; this.q.src = F.hc; this.q.U = F.gc; this.Qb = this.Rb = r; this.anchorY = this.anchorX = 0.5; this.Fb.x = 0; this.Fb.y = 0; this.ai = r; this.oa = e = a.uc; if (!e) return this.bd = d, c && (this.ia.x = c.x, this.ia.y = c.y, this.ia.width = c.width, this.ia.height = c.height), a.Wd(this.uw, this), p; c || (c = F.rect(0, 0, a.width, a.height)); a && (e = c.y + c.height, c.x + c.width > a.width && F.error(F.i.Cz, a.url), e > a.height && F.error(F.i.Bz, a.url)); this.texture = this.ie = a; this.vb(c, d); this.batchNode = q; return p }, M.uw = function(a) { if (!this.oa) { this.oa = p; var c = this.ia; c ? F.wC(c) && (c.width = a.width, c.height = a.height) : c = F.rect(0, 0, a.width, a.height); this.texture = this.ie = a; this.vb(c, this.bd); this.batchNode = this.W; this.Od() } }, M.vb = function(a, c, d) { this.bd = c || r; this.Zd(d || a); this.eG(a); c = this.qo; d = F.rb(); c.x = 0 | a.x * d; c.y = 0 | a.y * d; c.width = 0 | a.width * d; c.height = 0 | a.height * d; c.Dp = !(0 === c.width || 0 === c.height || 0 > c.x || 0 > c.y); a = this.uh; this.Qb && (a.x = -a.x); this.Rb && (a.y = -a.y); this.Fb.x = a.x + (this.P.width - this.ia.width) / 2; this.Fb.y = a.y + (this.P.height - this.ia.height) / 2; this.W && (this.dirty = p) }, M.$e = function() { if (this.dirty) { var a = this.Tb; !this.yc || a && a != this.W && a.Fk ? this.Fk = p : (this.Fk = r, this.em = !a || a == this.W ? this.Te() : F.hl(this.Te(), a.em)); this.dirty = this.kh = r } this.ai && this.rg(this.u, F.t.Af.$e) }, M.Q = function(a, c, d) { F.assert(a, F.i.cQ); c == q && (c = a.yb); d == q && (d = a.tag); F.ja.prototype.Q.call(this, a, c, d); this.ai = p }, M.va = function(a) { F.ja.prototype.va.call(this, a); this.oh() }, M.Wa = function(a) { var c = this.color; c.r === a.r && c.g === a.g && c.b === a.b || (F.ja.prototype.Wa.call(this, a), this.gk(), this.oh()) }, M.Ob = function(a) { var c = this.color; F.ja.prototype.Ob.call(this, a); a = this.Da; c.r === a.r && c.g === a.g && c.b === a.b || (this.gk(), this.oh()) }, M.bl = function(a) { var c = this; "string" == typeof a && (a = F.cl.wj(a), F.assert(a, F.i.hQ)); c.Ka(p); var d = a.la; c.uh.x = d.x; c.uh.y = d.y; c.bd = a.ke; var d = a.Oa(), e = a.oa; e || (c.oa = r, a.Wd(function(a) { c.oa = p; var d = a.Oa(); d != c.L && (c.texture = d); c.vb(a.Dh(), a.ke, a.jf); c.Od() }, c)); d != c.L && (c.texture = d); c.bd && (c.ie = d); c.vb(a.Dh(), c.bd, a.jf); c.Xu = r; e && (a = c.color, (255 !== a.r || 255 !== a.g || 255 !== a.b) && c.gk()) }, M.IN = function(a) { return a.Oa() != this.L ? r : F.rO(a.Dh(), this.ia) }, M.al = function(a) { (this.W = a) ? (this.em = { a: 1, b: 0, D: 0, J: 1, La: 0, Ma: 0 }, this.textureAtlas = this.W.textureAtlas) : (this.atlasIndex = F.aa.Yy, this.textureAtlas = q, this.dirty = this.kh = r) }, M.pb = function(a) { a && "string" === typeof a ? (a = F.Fa.Hc(a), this.pb(a), a = a.fc(), this.vb(F.rect(0, 0, a.width, a.height))) : (F.assert(!a || a instanceof F.ea, F.i.iQ), this.L != a && (a && a.Eb instanceof HTMLImageElement && (this.ie = a), this.L = a)) }, M.Y = function(a) { if (this.oa) { a = a || F.m; this.Xn && (a.globalCompositeOperation = "lighter"); var c = F.view.qa, d = F.view.Ra; a.globalAlpha = this.Ba / 255; var e = this.ia, f = this.P, g = this.Fb, h = this.$A, m = 0 | g.x, n = -g.y - e.height, s = this.qo; h.width = e.width * c; h.height = e.height * d; if (this.Qb || this.Rb) a.save(), this.Qb && (m = -g.x - e.width, a.scale(-1, 1)), this.Rb && (n = g.y, a.scale(1, -1)); m *= c; n *= d; this.L && s.Dp ? (f = this.L.Eb, this.Xu ? a.drawImage(f, 0, 0, s.width, s.height, m, n, h.width, h.height) : a.drawImage(f, s.x, s.y, s.width, s.height, m, n, h.width, h.height)) : !this.L && s.Dp && (h = this.color, a.fillStyle = "rgba(" + h.r + "," + h.g + "," + h.b + ",1)", a.fillRect(m, n, f.width * c, f.height * d)); 1 === F.Rj || this.YC ? (a.strokeStyle = "rgba(0,255,0,1)", m /= c, n = -(n / d), m = [F.d(m, n), F.d(m + e.width, n), F.d(m + e.width, n - e.height), F.d(m, n - e.height)], F.Ce.Yd(m, 4, p)) : 2 === F.Rj && (a.strokeStyle = "rgba(0,255,0,1)", c = this.ia, n = -n, m = [F.d(m, n), F.d(m + c.width, n), F.d(m + c.width, n - c.height), F.d(m, n - c.height)], F.Ce.Yd(m, 4, p)); (this.Qb || this.Rb) && a.restore(); F.Wf++ } }, delete M) : (F.assert("function" === typeof F.C.pA, F.i.Qc, "SpritesWebGL.js"), F.C.pA(), delete F.C.pA); F.assert("function" === typeof F.C.wz, F.i.Qc, "SpritesPropertyDefine.js"); F.C.wz(); delete F.C.wz; F.Iy = 29; F.yf = F.t.extend({ textureAtlas: q, q: q, yd: q, tb: "SpriteBatchNode", GY: function(a, c, d) { F.assert(a, F.i.GS); if (!(a instanceof F.aa)) return F.log(F.i.FS), q; a.atlasIndex = c; var e = 0, f = this.yd; if (f && 0 < f.length) for (var g = 0; g < f.length; g++) { var h = f[g]; h && h.atlasIndex >= c && ++e } f.splice(e, 0, a); F.t.prototype.Q.call(this, a, c, d); this.xO(r); return this }, JE: A("textureAtlas"), aG: function(a) { a != this.textureAtlas && (this.textureAtlas = a) }, q_: A("yd"), Uk: function(a, c) { var d = F.Fa.Nm(a); d || (d = F.Fa.Hc(a)); return this.sa(d, c) }, oh: function() { this.sg = p }, M: function(a, c) { var d = F.Fa.Nm(a); d || (d = F.Fa.Hc(a)); return this.sa(d, c) }, mx: function() { var a = this.textureAtlas.capacity, c = Math.floor(4 * (a + 1) / 3); F.log(F.i.HS, a, c); this.textureAtlas.FF(c) || F.log(F.i.IS) }, u2: function(a, c) { this.removeChild(this.u[a], c) }, pO: function(a, c) { 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 && (c = this.pO(f, c)) }!a == this && (a.atlasIndex = c, c++); if (d && 0 < d.length) for (e = 0; e < d.length; e++)(f = d[e]) && 0 <= f.zIndex && (c = this.pO(f, c)); return c }, SE: function(a) { var c = a.children; return !c || 0 == c.length ? a.atlasIndex : this.SE(c[c.length - 1]) }, G1: function(a) { var c = a.children; return !c || 0 == c.length ? a.atlasIndex : this.G1(c[c.length - 1]) }, VY: function(a, c) { var d = a.parent, e = d.children, f = e.indexOf(a), g = q; 0 < f && f < F.aA && (g = e[f - 1]); return d == this ? 0 == f ? 0 : this.SE(g) + 1 : 0 == f ? 0 > c ? d.atlasIndex : d.atlasIndex + 1 : 0 > g.zIndex && 0 > c || 0 <= g.zIndex && 0 <= c ? this.SE(g) + 1 : d.atlasIndex + 1 }, xO: y("Ud"), Ue: function(a, c) { this.q = c === k ? a : { src: a, U: c } }, Ah: A("q"), lp: function(a, c) { F.assert(a, F.i.LS); - 1 === this.u.indexOf(a) ? F.log(F.i.KS) : c !== a.zIndex && (F.t.prototype.lp.call(this, a, c), this.Ka()) }, removeChild: function(a, c) { a != q && (-1 === this.u.indexOf(a) ? F.log(F.i.JS) : (this.Im(a), F.t.prototype.removeChild.call(this, a, c))) }, HW: q, Kk: q, E8: r, ie: q, ctor: q, Zq: function(a, c) { F.t.prototype.ctor.call(this); var d; c = c || F.Iy; "string" == typeof a ? (d = F.Fa.Nm(a)) || (d = F.Fa.Hc(a)) : a instanceof F.ea && (d = a); d && this.sa(d, c) }, $q: function(a, c) { F.t.prototype.ctor.call(this); this.HW = new F.ca; var d; c = c || F.Iy; "string" == typeof a ? (d = F.Fa.Nm(a)) || (d = F.Fa.Hc(a)) : a instanceof F.ea && (d = a); d && this.sa(d, c) }, GP: q, yY: function(a, c) { F.assert(a, F.i.jQ); a instanceof F.aa ? (a.batchNode = this, a.atlasIndex = c, a.dirty = p, a.$e()) : F.log(F.i.Gy) }, zY: function(a, c) { F.assert(a, F.i.Gy); if (a instanceof F.aa) { for (var d = this.textureAtlas.capacity; c >= d || d == this.textureAtlas.totalQuads;) this.mx(); a.batchNode = this; a.atlasIndex = c; a.dirty = p; a.$e() } else F.log(F.i.Gy) }, Jk: function(a, c) { var d = this.yd, e = this.textureAtlas, f = e.quads, g = d[a], h = F.uI(f[a]); d[c].atlasIndex = a; d[a] = d[c]; e.xy(f[c], a); d[c] = g; e.xy(h, c) }, rx: q, pW: function(a, c) { F.assert(a, F.i.gQ); a instanceof F.aa ? (a.batchNode = this, a.atlasIndex = c, a.dirty = p, a.$e(), this.u.splice(c, 0, a)) : F.log(F.i.fQ) }, qW: function(a, c) { F.assert(a, F.i.$S); if (a instanceof F.aa) { for (var d = this.textureAtlas; c >= d.capacity || d.capacity === d.totalQuads;) this.mx(); a.batchNode = this; a.atlasIndex = c; d.aF(a.quad, c); a.dirty = p; a.$e() } else F.log(F.i.ZS) }, HL: function(a, c) { var d = 0, e = a.children; e && (d = e.length); var f = 0; if (0 === d) f = a.atlasIndex, a.atlasIndex = c, a.arrivalOrder = 0, f != c && this.Jk(f, c), c++; else { f = p; 0 <= e[0].zIndex && (f = a.atlasIndex, a.atlasIndex = c, a.arrivalOrder = 0, f != c && this.Jk(f, c), c++, f = r); for (d = 0; d < e.length; d++) { var g = e[d]; f && 0 <= g.zIndex && (f = a.atlasIndex, a.atlasIndex = c, a.arrivalOrder = 0, f != c && this.Jk(f, c), c++, f = r); c = this.HL(g, c) } f && (f = a.atlasIndex, a.atlasIndex = c, a.arrivalOrder = 0, f != c && this.Jk(f, c), c++) } return c }, Sf: function() { this.textureAtlas.texture.ti() || (this.q.src = F.SRC_ALPHA, this.q.U = F.ONE_MINUS_SRC_ALPHA) }, sa: q, BB: function(a) { this.u = []; this.yd = []; this.q = new F.Nj(F.hc, F.gc); this.Kk = this.ie = a; return p }, CB: function(a, c) { this.u = []; this.yd = []; this.q = new F.Nj(F.hc, F.gc); c = c || F.Iy; this.textureAtlas = new F.Vj; this.textureAtlas.sa(a, c); this.Sf(); this.shaderProgram = F.Jd.oc(F.Pi); return p }, $E: function(a, c) { a.batchNode = this; a.atlasIndex = c; a.dirty = p; var d = this.textureAtlas; d.totalQuads >= d.capacity && this.mx(); d.aF(a.quad, c); this.yd.splice(c, 0, a); var d = c + 1, e = this.yd; if (e && 0 < e.length) for (; d < e.length; d++) e[d].atlasIndex++; var e = a.children, f; if (e) { d = 0; for (l = e.length || 0; d < l; d++)(f = e[d]) && this.$E(f, this.VY(f, f.zIndex)) } }, appendChild: q, tU: function(a) { this.Ud = p; a.batchNode = this; a.dirty = p; this.yd.push(a); a.atlasIndex = this.yd.length - 1; a = a.children; for (var c = 0, d = a.length || 0; c < d; c++) this.appendChild(a[c]) }, uU: function(a) { this.Ud = p; a.batchNode = this; a.dirty = p; this.yd.push(a); var c = this.yd.length - 1; a.atlasIndex = c; var d = this.textureAtlas; d.totalQuads == d.capacity && this.mx(); d.aF(a.quad, c); a = a.children; c = 0; for (d = a.length || 0; c < d; c++) this.appendChild(a[c]) }, Im: q, mX: function(a) { a.batchNode = q; var c = this.yd, d = c.indexOf(a); if (-1 != d) { c.splice(d, 1); for (var e = c.length; d < e; ++d) c[d].atlasIndex-- } if (a = a.children) { c = 0; for (d = a.length || 0; c < d; c++) a[c] && this.Im(a[c]) } }, nX: function(a) { this.textureAtlas.wO(a.atlasIndex); a.batchNode = q; var c = this.yd, d = c.indexOf(a); if (-1 != d) { c.splice(d, 1); for (var e = c.length; d < e; ++d) c[d].atlasIndex-- } if (a = a.children) { c = 0; for (d = a.length || 0; c < d; c++) a[c] && this.Im(a[c]) } }, Oa: q, or: A("Kk"), wB: function() { return this.textureAtlas.texture }, pb: q, VC: function(a) { this.Kk = a; for (var c = this.u, d = 0; d < c.length; d++) c[d].texture = a }, WC: function(a) { this.textureAtlas.texture = a; this.Sf() }, S: q, gm: function(a) { var c = a || F.m; if (this.yc) { c.save(); this.transform(a); var d = this.u; if (d) { this.Wc(); for (a = 0; a < d.length; a++) d[a] && d[a].S(c) } c.restore() } }, ls: function(a) { a = a || F.m; if (this.yc) { F.Bm(); var c = this.grid; c && c.tf() && (c.ts(), this.uy()); this.Wc(); this.transform(a); this.Y(a); c && c.tf() && c.qs(this); F.Am(); this.arrivalOrder = 0 } }, Q: q, wA: function(a, c, d) { F.assert(a != q, F.i.dQ); a instanceof F.aa ? (c = c == q ? a.zIndex : c, d = d == q ? a.tag : d, F.t.prototype.Q.call(this, a, c, d), this.appendChild(a), this.Ka()) : F.log(F.i.bQ) }, rU: function(a, c, d) { F.assert(a != q, F.i.SS); a instanceof F.aa ? a.texture != this.textureAtlas.texture ? F.log(F.i.RS) : (c = c == q ? a.zIndex : c, d = d == q ? a.tag : d, F.t.prototype.Q.call(this, a, c, d), this.appendChild(a), this.Ka()) : F.log(F.i.QS) }, Jg: q, kX: function(a) { var c = this.yd; if (c && 0 < c.length) for (var d = 0, e = c.length; d < e; d++) c[d] && (c[d].batchNode = q); F.t.prototype.Jg.call(this, a); this.yd.length = 0 }, lX: function(a) { var c = this.yd; if (c && 0 < c.length) for (var d = 0, e = c.length; d < e; d++) c[d] && (c[d].batchNode = q); F.t.prototype.Jg.call(this, a); this.yd.length = 0; this.textureAtlas.uO() }, Wc: q, eY: function() { if (this.Ud) { var a, c = 0, d = this.u, e = d.length, f; for (a = 1; a < e; a++) { var g = d[a], c = a - 1; for (f = d[c]; 0 <= c && (g.yb < f.yb || g.yb == f.yb && g.arrivalOrder < f.arrivalOrder);) d[c + 1] = f, c -= 1, f = d[c]; d[c + 1] = g } 0 < d.length && this.rg(d, F.t.Af.Wc); this.Ud = r } }, fY: function() { if (this.Ud) { var a = this.u, c, d = 0, e = a.length, f; for (c = 1; c < e; c++) { var g = a[c], d = c - 1; for (f = a[d]; 0 <= d && (g.yb < f.yb || g.yb == f.yb && g.arrivalOrder < f.arrivalOrder);) a[d + 1] = f, d -= 1, f = a[d]; a[d + 1] = g } if (0 < a.length) { this.rg(a, F.t.Af.Wc); for (c = d = 0; c < a.length; c++) d = this.HL(a[c], d) } this.Ud = r } }, Y: q, Wi: function() { 0 !== this.textureAtlas.totalQuads && (this.Ib.Nc(), this.Ib.Ze(), this.rg(this.u, F.t.Af.$e), F.Eh(this.q.src, this.q.U), this.textureAtlas.zM()) } }); M = F.yf.prototype; F.B === F.$ ? (M.ctor = M.$q, M.GP = M.zY, M.rx = M.qW, M.sa = M.CB, M.appendChild = M.uU, M.Im = M.nX, M.Oa = M.wB, M.pb = M.WC, M.S = M.ls, M.Q = M.rU, M.Jg = M.lX, M.Wc = M.fY, M.Y = M.Wi) : (M.ctor = M.Zq, M.GP = M.yY, M.rx = M.pW, M.sa = M.BB, M.appendChild = M.tU, M.Im = M.mX, M.Oa = M.or, M.pb = M.VC, M.S = M.gm, M.Jg = M.kX, M.Q = M.wA, M.Wc = M.eY, M.Y = F.t.prototype.Y); F.j(M, "texture", M.Oa, M.pb); F.j(M, "descendants", M.q_); F.yf.create = function(a, c) { return new F.yf(a, c) }; F.ZP = F.aa.extend({ ae: q, Ae: q, ctor: function() { F.aa.prototype.ctor.call(this); var a = document.createElement("canvas"); a.width = a.height = 10; this.ae = a; this.Ae = a.getContext("2d"); var c = new F.ea; c.Ed(a); c.Wb(); this.pb(c) }, uaa: A("Ae"), taa: A("ae"), zO: function(a, c) { c === k && (c = a.height, a = a.width); var d = this.ae; d.width = a; d.height = c; this.Oa().Wb(); this.vb(F.rect(0, 0, a, c), r) } }); F.kg = F.ma.extend({ ko: q, Qd: 0, wo: q, ctor: function(a, c, d) { this.ko = a || q; this.Qd = c || 0; this.wo = d || q }, l: function() { var a = new F.kg; a.vi(this.ko.l(), this.Qd, this.wo); return a }, Pw: function() { return F.l(this) }, copy: function() { var a = new F.kg; a.vi(this.ko.l(), this.Qd, this.wo); return a }, vi: function(a, c, d) { this.ko = a; this.Qd = c; this.wo = d; return p }, wj: A("ko"), bl: y("ko"), Iaa: A("Qd"), hia: y("Qd"), Lca: A("wo"), Nja: y("wo") }); F.kg.create = function(a, c, d) { return new F.kg(a, c, d) }; F.il = F.ma.extend({ Rd: q, bj: 0, Ul: r, p: 0, Qd: 0, pi: 0, ctor: function(a, c, d) { this.Rd = []; if (a === k) this.EN(q, 0); else { var e = a[0]; e && (e instanceof F.zf ? this.EN(a, c, d) : e instanceof F.kg && this.nx(a, c, d)) } }, eba: A("Rd"), tia: y("Rd"), PD: function(a) { var c = new F.kg; c.vi(a, 1, q); this.Rd.push(c); this.pi++ }, Q8: function(a) { a = F.Fa.Hc(a); var c = F.rect(0, 0, 0, 0); c.width = a.width; c.height = a.height; a = F.zf.create(a, c); this.PD(a) }, R8: function(a, c) { var d = F.zf.create(a, c); this.PD(d) }, nx: function(a, c, d) { F.zo(a, F.kg); this.Qd = c; this.bj = d === k ? 1 : d; this.pi = 0; c = this.Rd; for (d = c.length = 0; d < a.length; d++) { var e = a[d]; c.push(e); this.pi += e.Qd } return p }, l: function() { var a = new F.il; a.nx(this.WI(), this.Qd, this.bj); a.my(this.Ul); return a }, Pw: function() { var a = new F.il; a.nx(this.WI(), this.Qd, this.bj); a.my(this.Ul); return a }, WI: function() { for (var a = [], c = 0; c < this.Rd.length; c++) a.push(this.Rd[c].l()); return a }, copy: function() { return this.Pw(q) }, uba: A("bj"), Fia: y("bj"), my: y("Ul"), dca: A("Ul"), Qo: function() { return this.pi * this.Qd }, Haa: A("Qd"), gia: y("Qd"), Eca: A("pi"), EN: function(a, c, d) { F.zo(a, F.zf); this.bj = d === k ? 1 : d; this.Qd = c || 0; this.pi = 0; c = this.Rd; c.length = 0; if (a) { for (d = 0; d < a.length; d++) { var e = a[d], f = new F.kg; f.vi(e, 1, q); c.push(f) } this.pi += a.length } return p }, ay: t(), Ei: t() }); F.il.create = function(a, c, d) { return new F.il(a, c, d) }; F.Ew = { kn: {}, OL: function(a, c) { this.kn[c] = a }, lha: function(a) { a && this.kn[a] && delete this.kn[a] }, JM: function(a) { return this.kn[a] ? this.kn[a] : q }, qU: function(a, c) { var d = a.animations; if (d) { var e = 1, f = a.properties; if (f) for (var e = f.format != q ? parseInt(f.format) : e, f = f.spritesheets, g = F.cl, h = F.path, m = 0; m < f.length; m++) g.FY(h.Co(c, f[m])); switch (e) { case 1: this.bX(d); break; case 2: this.cX(d); break; default: F.log(F.i.MY) } } else F.log(F.i.LY) }, J8: function(a) { F.assert(a, F.i.UY); var c = F.V.Dd(a); c ? this.qU(c, a) : F.log(F.i.TY) }, bX: function(a) { var c = F.cl, d; for (d in a) { var e = a[d], f = e.frames, e = parseFloat(e.delay) || 0, g = q; if (f) { for (var g = [], h = 0; h < f.length; h++) { var m = c.wj(f[h]); if (m) { var n = new F.kg; n.vi(m, 1, q); g.push(n) } else F.log(F.i.OY, d, f[h]) } 0 === g.length ? F.log(F.i.PY, d) : (g.length != f.length && F.log(F.i.QY, d), g = F.il.create(g, e, 1), F.Ew.OL(g, d)) } else F.log(F.i.NY, d) } }, cX: function(a) { var c = F.cl, d; for (d in a) { var e = a[d], f = parseInt(e.loops), f = e.loop ? F.oq : isNaN(f) ? 1 : f, g = e.restoreOriginalFrame && e.restoreOriginalFrame == p ? p : r, h = e.frames; if (h) { for (var m = [], n = 0; n < h.length; n++) { var s = h[n], u = s.spriteframe, v = c.wj(u); if (v) { var u = parseFloat(s.delayUnits) || 0, s = s.notification, x = new F.kg; x.vi(v, u, s); m.push(x) } else F.log(F.i.SY, d, u) } e = parseFloat(e.delayPerUnit) || 0; h = new F.il; h.nx(m, e, f); h.my(g); F.Ew.OL(h, d) } else F.log(F.i.RY, d) } }, hk: function() { this.kn = {} } }; F.zf = F.ma.extend({ la: q, jf: q, He: q, ke: r, ia: q, Lf: q, Mf: q, L: q, po: "", oa: r, nv: q, ctor: function(a, c, d, e, f) { this.la = F.d(0, 0); this.Lf = F.d(0, 0); this.jf = F.size(0, 0); this.ke = r; this.Mf = F.size(0, 0); this.po = ""; this.L = q; this.oa = r; a !== k && c !== k && (d === k || e === k || f === k ? this.sa(a, c) : this.sa(a, c, d, e, f)) }, xt: A("oa"), Wd: function(a, c) { this.nv == q && (this.nv = []); this.nv.push({ yh: a, Vf: c }) }, Od: function() { var a = this.nv; if (a) { for (var c = 0, d = a.length; c < d; c++) { var e = a[c]; e.yh.call(e.Vf, this) } a.length = 0 } }, W_: function() { var a = this.He; return F.rect(a.x, a.y, a.width, a.height) }, dja: function(a) { this.He || (this.He = F.rect(0, 0, 0, 0)); this.He.x = a.x; this.He.y = a.y; this.He.width = a.width; this.He.height = a.height; this.ia = F.Gj(a) }, Ada: A("ke"), fja: y("ke"), Dh: function() { var a = this.ia; return F.rect(a.x, a.y, a.width, a.height) }, ZO: function(a) { this.ia || (this.ia = F.rect(0, 0, 0, 0)); this.ia.x = a.x; this.ia.y = a.y; this.ia.width = a.width; this.ia.height = a.height; this.He = F.lt(this.ia) }, Gba: A("Lf"), Oia: function(a) { this.Lf.x = a.x; this.Lf.y = a.y; F.gC(this.Lf, this.la) }, Mba: A("Mf"), Sia: function(a) { this.Mf.width = a.width; this.Mf.height = a.height }, Lba: A("jf"), Ria: function(a) { this.jf.width = a.width; this.jf.height = a.height }, Oa: function() { if (this.L) return this.L; if ("" !== this.po) { var a = F.Fa.Hc(this.po); a && (this.oa = a.uc); return a } return q }, pb: function(a) { if (this.L != a) { var c = a.uc; this.oa = c; this.L = a; c || a.Wd(function(a) { this.oa = p; if (this.ke && F.B === F.Ca) { var c = a.Eb, c = F.kE(c, this.Dh()), f = new F.ea; f.Ed(c); f.Wb(); this.pb(f); c = this.Dh(); this.ZO(F.rect(0, 0, c.width, c.height)) } c = this.ia; 0 === c.width && 0 === c.height && (c = a.width, a = a.height, this.ia.width = c, this.ia.height = a, this.He = F.lt(this.ia), this.Mf.width = this.He.width, this.Mf.height = this.He.height, this.jf.width = c, this.jf.height = a); this.Od() }, this) } }, UM: A("la"), ky: function(a) { this.la.x = a.x; this.la.y = a.y }, l: function() { var a = new F.zf; a.sa(this.po, this.He, this.ke, this.Lf, this.Mf); a.pb(this.L); return a }, Pw: function() { var a = new F.zf; a.sa(this.po, this.He, this.ke, this.Lf, this.Mf); a.pb(this.L); return a }, copy: function() { return this.Pw() }, sa: function(a, c, d, e, f) { 2 === arguments.length && (c = F.lt(c)); e = e || F.d(0, 0); f = f || c; d = d || r; "string" == typeof a ? (this.L = q, this.po = a) : a instanceof F.ea && this.pb(a); if (a = this.Oa()) { var g, h; d ? (g = c.x + c.height, h = c.y + c.width) : (g = c.x + c.width, h = c.y + c.height); g > a.width && F.error(F.i.Cz, a.url); h > a.height && F.error(F.i.Bz, a.url) } this.He = c; this.ia = F.Gj(c); this.Lf.x = e.x; this.Lf.y = e.y; F.gC(e, this.la); this.Mf.width = f.width; this.Mf.height = f.height; F.sL(f, this.jf); this.ke = d; return p } }); F.zf.create = function(a, c, d, e, f) { return new F.zf(a, c, d, e, f) }; F.zf.R7 = function(a, c, d, e, f) { var g = new F.zf; g.L = a; g.He = c; g.ia = F.Gj(c); g.Lf.x = e.x; g.Lf.y = e.y; F.gC(g.Lf, g.la); g.Mf.width = f.width; g.Mf.height = f.height; F.sL(g.Mf, g.jf); g.ke = d; return g }; F.cl = { BI: /^\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*$/, dU: /^\s*\{\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*,\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*\}\s*$/, rh: {}, nj: {}, Mn: {}, RK: function(a) { a = this.dU.exec(a); return !a ? F.rect(0, 0, 0, 0) : F.rect(parseFloat(a[1]), parseFloat(a[2]), parseFloat(a[3]), parseFloat(a[4])) }, HK: function(a) { a = this.BI.exec(a); return !a ? F.d(0, 0) : F.d(parseFloat(a[1]), parseFloat(a[2])) }, ZC: function(a) { a = this.BI.exec(a); return !a ? F.size(0, 0) : F.size(parseFloat(a[1]), parseFloat(a[2])) }, DV: function(a) { var c = F.V.Dd(a); F.assert(c, F.i.c4, a); F.V.Ei(a); if (c.Tn) return this.Mn[a] = c; var d = c.frames, e = c.metadata || c.meta, c = {}, f = {}, g = 0; e && (g = e.format, g = 1 >= g.length ? parseInt(g) : g, f.w0 = e.textureFileName || e.textureFileName || e.image); for (var h in d) { var m = d[h]; if (m) { e = {}; if (0 == g) { e.rect = F.rect(m.x, m.y, m.width, m.height); e.dy = r; e.offset = F.d(m.offsetX, m.offsetY); var n = m.originalWidth, m = m.originalHeight; (!n || !m) && F.log(F.i.b4); n = Math.abs(n); m = Math.abs(m); e.size = F.size(n, m) } else if (1 == g || 2 == g) e.rect = this.RK(m.frame), e.dy = m.rotated || r, e.offset = this.HK(m.offset), e.size = this.ZC(m.sourceSize); else if (3 == g) { var n = this.ZC(m.spriteSize), s = this.RK(m.textureRect); n && (s = F.rect(s.x, s.y, n.width, n.height)); e.rect = s; e.dy = m.textureRotated || r; e.offset = this.HK(m.spriteOffset); e.size = this.ZC(m.spriteSourceSize); e.IY = m.aliases } else n = m.frame, s = m.sourceSize, h = m.filename || h, e.rect = F.rect(n.x, n.y, n.w, n.h), e.dy = m.rotated || r, e.offset = F.d(0, 0), e.size = F.size(s.w, s.h); c[h] = e } } return this.Mn[a] = { Tn: p, frames: c, H1: f } }, FY: function(a, c) { F.assert(a, F.i.e4); var d = this.Mn[a] || F.V.Dd(a); if (d && d.frames) { var e = this.Mn[a] || this.DV(a), d = e.frames, e = e.H1; c ? c instanceof F.ea || ("string" == typeof c ? c = F.Fa.Hc(c) : F.assert(0, F.i.f4)) : c = F.Fa.Hc(F.path.Co(a, e.w0 || ".png")); var e = this.nj, f = this.rh, g; for (g in d) { var h = d[g], m = f[g]; if (!m) { m = F.zf.create(c, h.rect, h.dy, h.offset, h.size); if (h = h.IY) for (var n = 0, s = h.length; n < s; n++) { var u = h[n]; e[u] && F.log(F.i.d4, u); e[u] = g } F.B === F.Ca && m.ke && m.Oa().uc && (h = m.Oa().Eb, h = F.kE(h, m.W_()), n = new F.ea, n.Ed(h), n.Wb(), m.pb(n), h = m.ia, m.ZO(F.rect(0, 0, h.width, h.height))); f[g] = m } } } }, I7: function(a) { a = a.frames; for (var c in a) this.rh[c] && F.log(F.i.a4, c) }, PD: function(a, c) { this.rh[c] = a }, sha: function() { this.rh = {}; this.nj = {} }, rha: function(a) { a && (this.nj[a] && delete this.nj[a], this.rh[a] && delete this.rh[a]) }, tha: function(a) { var c = this.rh, d = this.nj; if (a = this.Mn[a]) { a = a.frames; for (var e in a) if (c[e]) { delete c[e]; for (var f in d) d[f] == e && delete d[f] } } }, uha: function(a) { var c = this.rh, d = this.nj, e; for (e in c) { var f = c[e]; if (f && f.Oa() == a) { delete c[e]; for (var g in d) d[g] == e && delete d[g] } } }, wj: function(a) { var c = this.rh[a]; if (!c) { var d = this.nj[a]; d && ((c = this.rh[d.toString()]) || delete this.nj[a]) } c || F.log(F.i.g4, a); return c }, hk: function() { this.rh = {}; this.nj = {}; this.Mn = {} } }; F.Fo = { S5: 0, Q6: 1, INT: 2, O5: 3, p5: 4, Ar: 0, FW: 0, oD: r, tw: r, mD: r, nD: r, pD: r, g8: 0, RB: 0, Fu: "", hs: {}, Tn: r, tr: function() { var a = this.hs; a["cocos2d.x.version"] = F.Oy; a["cocos2d.x.compiled_with_profiler"] = r; a["cocos2d.x.compiled_with_gl_state_cache"] = F.Wg; this.Tn = p }, zba: A("Ar"), yba: A("FW"), Aba: A("RB"), eka: A("tw"), fka: A("oD"), dka: E(r), gka: E(r), aka: E(r), bka: A("mD"), cka: A("nD"), hka: A("pD"), Do: function(a) { return -1 < this.Fu.indexOf(a) }, Nca: function(a, c) { this.Tn || this.tr(); var d = this.hs; return d[a] ? d[a] : c }, Pja: function(a, c) { this.hs[a] = c }, JZ: function() { 0 === F.Wg && (F.log(""), F.log(F.i.lZ), F.log("")) }, f_: function() { if (F.B !== F.Ca) { this.Tn || this.tr(); var a = F.m, c = this.hs; c["gl.vendor"] = a.getParameter(a.VENDOR); c["gl.renderer"] = a.getParameter(a.RENDERER); c["gl.version"] = a.getParameter(a.VERSION); this.Fu = ""; for (var d = a.getSupportedExtensions(), e = 0; e < d.length; e++) this.Fu += d[e] + " "; this.Ar = a.getParameter(a.MAX_TEXTURE_SIZE); c["gl.max_texture_size"] = this.Ar; this.RB = a.getParameter(a.MAX_COMBINED_TEXTURE_IMAGE_UNITS); c["gl.max_texture_units"] = this.RB; this.oD = this.Do("GL_IMG_texture_compression_pvrtc"); c["gl.supports_PVRTC"] = this.oD; this.tw = r; c["gl.supports_NPOT"] = this.tw; this.mD = this.Do("GL_IMG_texture_format_BGRA888"); c["gl.supports_BGRA8888"] = this.mD; this.nD = this.Do("GL_EXT_discard_framebuffer"); c["gl.supports_discard_framebuffer"] = this.nD; this.pD = this.Do("vertex_array_object"); c["gl.supports_vertex_array_object"] = this.pD; F.Eo() } }, Ffa: function(a) { this.Tn || this.tr(); var c = F.V.Dd(a); c || b("Please load the resource first : " + a); F.assert(c, F.i.nZ, a); if (c = c.data) for (var d in c) this.hs[d] = c[d]; else F.log(F.i.mZ, a) } }; F.C.Ly = function() { F.Q5 = F.ma.extend({ Bka: t() }); var a = F.Xa.prototype; a.Mm = function(a) { var d = this.T; this.iP(); var e = this.ih, f = e.pe.x / e.qa, g = e.pe.y / e.Ra; switch (a) { case F.Xa.aS: F.yi(F.Ni); F.Xo(); e = new F.ca; F.iF(e, 0, d.width, 0, d.height, -1024, 1024); F.Yo(e); F.yi(F.Mi); F.Xo(); break; case F.Xa.iH: var h = this.Is(), m = new F.ca, e = new F.ca; F.yi(F.Ni); F.Xo(); F.n1(m, d.width / d.height, 2 * h); F.Yo(m); F.yi(F.Mi); F.Xo(); h = F.$o(q, -f + d.width / 2, -g + d.height / 2, h); d = F.$o(q, -f + d.width / 2, -g + d.height / 2, 0); f = F.$o(q, 0, 1, 0); F.KN(e, h, d, f); F.Yo(e); break; case F.Xa.bS: break; default: F.log(F.i.xQ) } this.ki = a; F.ua.dispatchEvent(this.ov); F.XO() }; a.KO = function(a) { var d = F.m; a ? (d.clearDepth(1), d.enable(d.DEPTH_TEST), d.depthFunc(d.LEQUAL)) : d.disable(d.DEPTH_TEST) }; a.TF = function(a) { this.T.width = F.Za.width; this.T.height = F.Za.height; this.ih = a || F.view; a = F.Fo; a.f_(); a.JZ(); this.zn(); this.QO(); F.ua && F.ua.se(p) }; a.hk = function() { var a = F.m; a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT) }; a.DA = function() { F.Bm() }; a.xA = function() { F.Am() }; a.zn = function() { if (F.Ph) { if (!(F.Xa.SJ == q || F.Xa.SJ == r)) { var a = new F.ea; a.Ed(F.Xa.Ln); a.Wb(); var d = F.view.AE().height / 320; 0 === d && (d = this.T.height / 320); var e = new F.Ph; e.NC(p); e.pd("00.0", a, 12, 32, "."); e.scale = d; this.Bf = e; e = new F.Ph; e.NC(p); e.pd("0.000", a, 12, 32, "."); e.scale = d; this.Cf = e; e = new F.Ph; e.NC(p); e.pd("000", a, 12, 32, "."); e.scale = d; this.Ff = e; a = F.Jy; this.Ff.G(a.x, 34 * d + a.y); this.Cf.G(a.x, 17 * d + a.y); this.Bf.G(a) } } else this.$U() }; a.$U = function() { var a = 0, a = this.T.width > this.T.height ? 0 | 24 * (this.T.height / 320) : 0 | 24 * (this.T.width / 320); this.Bf = F.Z.create("000.0", "Arial", a); this.Cf = F.Z.create("0.000", "Arial", a); this.Ff = F.Z.create("0000", "Arial", a); a = F.Jy; this.Ff.G(this.Ff.width / 2 + a.x, 5 * this.Ff.height / 2 + a.y); this.Cf.G(this.Cf.width / 2 + a.x, 3 * this.Cf.height / 2 + a.y); this.Bf.G(this.Bf.width / 2 + a.x, this.Bf.height / 2 + a.y) }; a.oZ = function(a) { var d = new F.ca; F.QG(d); var e = new F.ca; F.m1(e, d); var d = d.c[14] / d.c[15], f = this.ih.AE(), g = new F.ub; F.UN(g, new F.ub(2 * a.x / f.width - 1, 1 - 2 * a.y / f.height, d), e); return F.d(g.x, g.y) }; a.qZ = function(a) { var d = new F.ca; F.QG(d); var e = new F.ub; F.UN(e, new F.ub(a.x, a.y, 0), d); a = this.ih.AE(); return F.d(a.width * (0.5 * e.x + 0.5), a.height * (0.5 * -e.y + 0.5)) }; a.Gs = function() { return this.ih.Gs() }; a.ME = function() { return this.ih.ME() }; a.Is = function() { return this.T.height / 1.1566 }; a.iP = function() { var a = this.ih; if (a) { var d = this.T; a.R3(-a.pe.x / a.qa, -a.pe.y / a.Ra, d.width, d.height) } }; a.Iba = A("ih"); a.Zba = A("ki"); a.P2 = function() { F.Eh(F.hc, F.gc) }; a.QO = function() { this.P2(); this.KO(r); this.Mm(this.ki); F.m.clearColor(0, 0, 0, 1) } }; F.Wf = 0; F.QG = function(a) { var c = new F.ca; F.wx(F.Ni, c); var d = new F.ca; F.wx(F.Mi, d); F.zi(a, c, d) }; F.Xa = F.ma.extend({ b8: r, Dr: r, mc: r, Xv: r, Bk: r, Rq: 0, VB: 0, ki: 0, jn: 0, Zg: 1, er: r, ik: 0, jB: 0, Bf: q, Cf: q, Ff: q, T: q, vk: q, di: q, Nv: q, ih: q, ni: q, tC: q, Ec: q, Rd: 0, ww: 0, GC: 0, O7: q, Pf: q, qg: q, ov: q, dB: q, fB: q, eB: q, ctor: function() { var a = this; a.vk = Date.now(); F.ua.OD(F.Ic.Mp, function() { a.vk = Date.now() }) }, M: function() { this.VB = this.Rq = 1 / F.uZ; this.ni = []; this.ki = F.Xa.cS; this.tC = q; this.jB = this.jn = 0; this.er = r; this.ww = this.Rd = 0; this.vk = Date.now(); this.Xv = this.mc = r; this.T = F.size(0, 0); this.ih = q; this.Zg = 1; this.Pf = new F.uq; this.qg = F.sG ? new F.sG : q; this.Pf.KF(this.qg, F.uq.ku, r); this.dB = new F.Ji(F.Xa.EQ); this.dB.setUserData(this); this.fB = new F.Ji(F.Xa.GQ); this.fB.setUserData(this); this.eB = new F.Ji(F.Xa.FQ); this.eB.setUserData(this); this.ov = new F.Ji(F.Xa.HQ); this.ov.setUserData(this); return p }, eZ: function() { var a = Date.now(); this.Dr ? (this.ik = 0, this.Dr = r) : this.ik = (a - this.vk) / 1E3; 0 < F.Ic.Oe[F.Ic.Ug.xs] && 0.2 < this.ik && (this.ik = 1 / 60); this.vk = a }, HZ: function() { this.eZ(); this.mc || (this.Pf.update(this.ik), F.ua.dispatchEvent(this.eB)); this.hk(); this.di && this.p3(); this.DA && this.DA(); this.Ec && (this.Ec.S(), F.ua.dispatchEvent(this.fB)); this.Nv && this.Nv.S(); this.er && this.dY(); this.xA && this.xA(); F.ua.dispatchEvent(this.dB); this.ww++; this.er && this.FU() }, DA: q, xA: q, end: function() { this.Xv = p }, Daa: A("Zg"), Cba: A("Nv"), Rca: A("T"), Hs: function() { return F.size(this.T.width * this.Zg, this.T.height * this.Zg) }, pause: function() { this.mc || (this.VB = this.Rq, this.IO(0.25), this.mc = p) }, Iga: function() { F.assert(this.Ec, F.i.uQ); this.ni.pop(); var a = this.ni.length; 0 == a ? this.end() : (this.Bk = p, this.di = this.ni[a - 1]) }, k2: function() { F.Ew.hk(); F.cl.hk(); F.Fa.hk() }, l2: function() { this.Sk().Ct(); F.ua && F.ua.se(r); this.Ec && (this.Ec.Yf(), this.Ec.Ab(), this.Ec.Ne()); this.di = this.Ec = q; this.ni.length = 0; this.qP(); this.k2(); F.Eo() }, m2: function(a) { F.assert(a, F.i.KG); this.Bk = r; this.ni.push(a); this.di = a }, IF: function(a) { F.assert(a, F.i.KG); if (this.Ec) { var c = this.ni.length; 0 === c ? (this.Bk = p, this.ni[c] = a) : (this.Bk = p, this.ni[c - 1] = a); this.di = a } else this.m2(a), this.oP() }, mp: function() { this.mc && (this.IO(this.VB), (this.vk = Date.now()) || F.log(F.i.wQ), this.mc = r, this.ik = 0) }, cia: function(a) { a != this.Zg && (this.Zg = a, this.zn()) }, fia: t(), Kia: y("Dr"), p3: function() { var a = r, c = r; F.wa && (a = this.Ec ? this.Ec instanceof F.wa : r, c = this.di ? this.di instanceof F.wa : r); if (!c) { if (c = this.Ec) c.Yf(), c.Ab(); this.Bk && c && c.Ne() } this.Ec = this.di; this.di = q; !a && this.Ec != q && (this.Ec.da(), this.Ec.Ih()) }, Mia: y("Nv"), p_: A("tC"), Y2: y("tC"), dY: function() { this.Rd++; this.jn += this.ik; this.Bf && this.Cf && this.Ff ? (this.jn > F.rQ && (this.Cf.string = this.GC.toFixed(3), this.jB = this.Rd / this.jn, this.jn = this.Rd = 0, this.Bf.string = this.jB.toFixed(1), this.Ff.string = (0 | F.Wf).toString()), this.Bf.S(), this.Cf.S(), this.Ff.S()) : this.zn(); F.Wf = 0 }, Dda: A("Bk"), fca: A("Ec"), oaa: A("Rq"), qda: A("er"), b3: y("er"), kca: A("GC"), vda: A("Dr"), xda: A("mc"), Fca: A("ww"), Jga: function() { this.f2(1) }, f2: function(a) { F.assert(this.Ec, F.i.vQ); var c = this.ni, d = c.length; if (0 == d) this.end(); else if (!(a > d)) { for (; d > a;) { var e = c.pop(); e.running && (e.Yf(), e.Ab()); e.Ne(); d-- } this.di = c[c.length - 1]; this.Bk = r } }, Sk: A("Pf"), cP: function(a) { this.Pf != a && (this.Pf = a) }, Uw: A("qg"), HO: function(a) { this.qg != a && (this.qg = a) }, Jaa: A("ik"), zn: q, FU: function() { this.GC = (Date.now() - this.vk) / 1E3 } }); F.Xa.HQ = "director_projection_changed"; F.Xa.EQ = "director_after_draw"; F.Xa.GQ = "director_after_visit"; F.Xa.FQ = "director_after_update"; F.yQ = F.Xa.extend({ sx: r, oP: function() { this.Dr = p; this.sx = r }, ZN: function() { this.Xv ? (this.Xv = r, this.l2()) : this.sx || this.HZ() }, qP: function() { this.sx = p }, IO: function(a) { this.Rq = a; this.sx || (this.qP(), this.oP()) } }); F.Xa.fG = q; F.Xa.FM = p; F.Xa.qB = function() { F.Xa.FM && (F.Xa.FM = r, F.Xa.fG = new F.yQ, F.Xa.fG.M()); return F.Xa.fG }; F.uZ = 60; F.Xa.aS = 0; F.Xa.iH = 1; F.Xa.bS = 3; F.Xa.cS = F.Xa.iH; F.B === F.Ca ? (M = F.Xa.prototype, M.Mm = function(a) { this.ki = a; F.ua.dispatchEvent(this.ov) }, M.KO = t(), M.TF = function(a) { this.T.width = F.Za.width; this.T.height = F.Za.height; this.ih = a || F.view; F.ua && F.ua.se(p) }, M.hk = function() { var a = this.ih.pe; F.m.clearRect(-a.x, a.y, a.width, -a.height) }, M.zn = function() { var a = 0, a = this.T.width > this.T.height ? 0 | 24 * (this.T.height / 320) : 0 | 24 * (this.T.width / 320); this.Bf = F.Z.create("000.0", "Arial", a); this.Cf = F.Z.create("0.000", "Arial", a); this.Ff = F.Z.create("0000", "Arial", a); a = F.Jy; this.Ff.G(this.Ff.width / 2 + a.x, 5 * this.Ff.height / 2 + a.y); this.Cf.G(this.Cf.width / 2 + a.x, 3 * this.Cf.height / 2 + a.y); this.Bf.G(this.Bf.width / 2 + a.x, this.Bf.height / 2 + a.y) }, M.Gs = A("T"), M.ME = function() { return F.d(0, 0) }) : (F.Xa.Ln = new Image, F.Ja(F.Xa.Ln, "load", function() { F.Xa.SJ = p }), F.Ln && (F.Xa.Ln.src = F.Ln), F.assert("function" === typeof F.C.Ly, F.i.Qc, "CCDirectorWebGL.js"), F.C.Ly(), delete F.C.Ly); F.Kp = F.ma.extend({ ir: q, jr: q, kr: q, tn: q, un: q, vn: q, es: q, fs: q, gs: q, jb: q, Jv: q, ctor: function() { this.Jv = new F.ca; this.restore() }, description: function() { return "\x3cCCCamera | center \x3d(" + this.tn + "," + this.un + "," + this.vn + ")\x3e" }, LO: y("jb"), cF: A("jb"), restore: function() { this.ir = this.jr = 0; this.kr = F.Kp.Is(); this.es = this.tn = this.un = this.vn = 0; this.fs = 1; this.gs = 0; F.Cm(this.Jv); this.jb = r }, Vs: function() { if (this.jb) { var a = new F.ub, c = new F.ub, d = new F.ub; F.$o(a, this.ir, this.jr, this.kr); F.$o(c, this.tn, this.un, this.vn); F.$o(d, this.es, this.fs, this.gs); F.KN(this.Jv, a, c, d); this.jb = r } F.Yo(this.Jv) }, mia: function(a, c, d) { this.PO(a, c, d) }, PO: function(a, c, d) { this.ir = a; this.jr = c; this.kr = d; this.jb = p }, Wha: function(a, c, d) { this.U2(a, c, d) }, U2: function(a, c, d) { this.tn = a; this.un = c; this.vn = d; this.jb = p }, Mja: function(a, c, d) { this.N3(a, c, d) }, N3: function(a, c, d) { this.es = a; this.fs = c; this.gs = d; this.jb = p }, Zaa: function() { return { x: this.ir, y: this.jr, e: this.kr } }, RM: function() { return { x: this.ir, y: this.jr, e: this.kr } }, waa: function() { return { x: this.tn, y: this.un, e: this.vn } }, MM: function() { return { x: this.tn, y: this.un, e: this.vn } }, Kca: function() { return { x: this.es, y: this.fs, e: this.gs } }, k0: function() { return { x: this.es, y: this.fs, e: this.gs } }, z7: t() }); F.Kp.Is = function() { return F.eu }; F.J6 = F.ku + 1; F.zo = function(a, c) { if (a && 0 < a.length) for (var d = 0; d < a.length; d++) if (!(a[d] instanceof c)) return F.log(F.i.zo), r; return p }; F.Me = function(a, c) { for (var d = 0, e = a.length; d < e; d++) if (a[d] == c) { a.splice(d, 1); break } }; F.d9 = function(a, c) { for (var d = 0, e = c.length; d < e; d++) F.Me(a, c[d]) }; F.c9 = function(a, c, d) { a.splice.apply(a, [d, 0].concat(c)); return a }; F.WG = function(a, c, d) { this.next = this.Kga = q; this.target = a; this.j2 = c; this.paused = d; this.Kx = r }; F.RG = function(a, c, d) { this.list = a; this.tm = c; this.target = d; this.hx = q }; F.TQ = function(a, c) { this.Hi = q; this.target = a; this.zp = 0; this.ws = this.vs = q; this.paused = c; this.hx = q }; F.PH = F.ma.extend({ uk: 0, be: q, me: q, kb: 0, eL: r, Dw: r, ro: 0, yC: 0, dv: 0, kba: A("uk"), setInterval: y("uk"), vaa: A("be"), ctor: function(a, c, d, e, f) { this.me = a; this.be = c; this.kb = -1; this.uk = d || 0; this.dv = f || 0; this.Dw = 0 < this.dv; this.yC = e == q ? F.oq : e; this.eL = this.yC == F.oq }, ZA: function() { if ("string" == typeof this.be) this.me[this.be](this.kb); else this.be.call(this.me, this.kb) }, update: function(a) { if (-1 == this.kb) this.ro = this.kb = 0; else { var c = this.me, d = this.be; this.kb += a; this.eL && !this.Dw ? this.kb >= this.uk && (c && d && this.ZA(), this.kb = 0) : (this.Dw ? this.kb >= this.dv && (c && d && this.ZA(), this.kb -= this.dv, this.ro += 1, this.Dw = r) : this.kb >= this.uk && (c && d && this.ZA(), this.kb = 0, this.ro += 1), this.ro > this.yC && F.I.Sk().CP(c, d)) } } }); F.uq = F.ma.extend({ cs: 1, fm: q, Zi: q, Pu: q, Yi: q, E7: q, xd: q, Yh: r, xw: r, ctor: function() { this.cs = 1; this.fm = [ [], [], [] ]; this.Zi = {}; this.Pu = []; this.Yi = {}; this.Sq = []; this.xd = q; this.xw = this.Yh = r }, xC: function(a) { delete this.Yi[a.target.xa]; F.Me(this.Sq, a); a.PH = q; a.target = q }, WK: function(a) { if (a = this.Zi[a.target.xa]) F.Me(a.list, a.tm), delete this.Zi[a.target.xa], F.Me(this.Pu, a), a.tm = q, a.target = q }, LK: function(a, c, d, e) { e = new F.WG(c, d, e); if (a) { for (var f = a.length - 1, g = 0; g <= f && !(d < a[g].j2); g++); a.splice(g, 0, e) } else a = [], a.push(e); d = new F.RG(a, e, c); this.Pu.push(d); this.Zi[c.xa] = d; return a }, vU: function(a, c, d) { d = new F.WG(c, 0, d); a.push(d); a = new F.RG(a, d, c); this.Pu.push(a); this.Zi[c.xa] = a }, xja: y("cs"), Dca: A("cs"), update: function(a) { var c = this.fm, d = this.Sq, e, f, g; this.xw = p; 1 != this.cs && (a *= this.cs); f = 0; for (g = c.length; f < g && 0 <= f; f++) for (var h = this.fm[f], m = 0, n = h.length; m < n; m++) e = h[m], !e.paused && !e.Kx && e.target.update(a); f = 0; for (g = d.length; f < g; f++) { e = d[f]; if (!e) break; this.xd = e; this.Yh = r; if (!e.paused) for (e.zp = 0; e.zp < e.Hi.length; e.zp++) e.vs = e.Hi[e.zp], e.ws = r, e.vs.update(a), e.vs = q; this.Yh && 0 == e.Hi.length && (this.xC(e), f--) } f = 0; for (g = c.length; f < g; f++) { h = this.fm[f]; m = 0; for (n = h.length; m < n;) { e = h[m]; if (!e) break; e.Kx ? this.WK(e) : m++ } } this.xw = r; this.xd = q }, L2: function(a, c, d, e, f, g) { F.assert(c, F.i.DS); F.assert(a, F.i.ES); d = d || 0; e = e == q ? F.oq : e; f = f || 0; g = g || r; var h = this.Yi[a.xa]; h || (h = new F.TQ(a, g), this.Sq.push(h), this.Yi[a.xa] = h); if (h.Hi == q) h.Hi = []; else for (var m = 0; m < h.Hi.length; m++) if (g = h.Hi[m], c == g.be) { F.log(F.i.CS, g.uk.toFixed(4), d.toFixed(4)); g.uk = d; return } g = new F.PH(a, c, d, e, f); h.Hi.push(g) }, KF: function(a, c, d) { if (a !== q) { var e = this.fm, f = this.Zi[a.xa]; f ? f.tm.Kx = r : 0 == c ? this.vU(e[1], a, d) : 0 > c ? e[0] = this.LK(e[0], a, c, d) : e[2] = this.LK(e[2], a, c, d) } }, CP: function(a, c) { if (!(a == q || c == q)) { var d = this.Yi[a.xa]; if (d) for (var e = d.Hi, f = 0, g = e.length; f < g; f++) { var h = e[f]; if (c == h.be) { h == d.vs && !d.ws && (d.ws = p); e.splice(f, 1); d.zp >= f && d.zp--; 0 == e.length && (this.xd == d ? this.Yh = p : this.xC(d)); break } } } }, Dt: function(a) { a != q && (a = this.Zi[a.xa], a != q && (this.xw ? a.tm.Kx = p : this.WK(a.tm))) }, BP: function(a) { if (a != q) { var c = this.Yi[a.xa]; if (c) { var d = c.Hi; !c.ws && 0 <= d.indexOf(c.vs) && (c.ws = p); d.length = 0; this.xd == c ? this.Yh = p : this.xC(c) } this.Dt(a) } }, Ct: function() { this.A4(F.uq.ku) }, A4: function(a) { for (var c = this.Sq, d = this.fm, e = 0, f = c.length; e < f; e++) this.BP(c[e].target); for (e = 2; 0 <= e; e--) if (!(1 == e && 0 < a || 0 == e && 0 <= a)) for (var c = d[e], f = 0, g = c.length; f < g; f++) this.Dt(c[f].target) }, Dga: function() { return this.Y1(F.uq.ku) }, Y1: function() { for (var a = [], c, d = this.Sq, e = this.fm, f = 0, g = d.length; f < g; f++) if (c = d[f]) c.paused = p, a.push(c.target); f = 0; for (g = e.length; f < g; f++) for (var d = e[f], h = 0, m = d.length; h < m; h++) if (c = d[h]) c.paused = p, a.push(c.target); return a }, J2: function(a) { if (a) for (var c = 0; c < a.length; c++) this.Ij(a[c]) }, ip: function(a) { F.assert(a, F.i.AS); var c = this.Yi[a.xa]; c && (c.paused = p); (a = this.Zi[a.xa]) && (a.tm.paused = p) }, Ij: function(a) { F.assert(a, F.i.BS); var c = this.Yi[a.xa]; c && (c.paused = r); (a = this.Zi[a.xa]) && (a.tm.paused = r) }, Gda: function(a) { F.assert(a, F.i.zS); return (a = this.Yi[a.xa]) ? a.paused : r } }); F.uq.ku = -2147483648; F.eH = 2 * Math.PI; F.LG = F.ma.extend({ HA: [], m: q, ctor: y("m"), EZ: function(a, c) { c || (c = 1); var d = F.view.qa, e = F.d(a.x * d, a.y * F.view.Ra); this.m.beginPath(); this.m.arc(e.x, -e.y, c * d, 0, 2 * Math.PI, r); this.m.closePath(); this.m.fill() }, FZ: function(a, c, d) { if (a != q) { d || (d = 1); c = this.m; var e = F.view.qa, f = F.view.Ra; c.beginPath(); for (var g = 0, h = a.length; g < h; g++) c.arc(a[g].x * e, -a[g].y * f, d * e, 0, 2 * Math.PI, r); c.closePath(); c.fill() } }, vj: function(a, c) { var d = this.m, e = F.view.qa, f = F.view.Ra; d.beginPath(); d.moveTo(a.x * e, -a.y * f); d.lineTo(c.x * e, -c.y * f); d.closePath(); d.stroke() }, rE: function(a, c) { this.vj(F.d(a.x, a.y), F.d(c.x, a.y)); this.vj(F.d(c.x, a.y), F.d(c.x, c.y)); this.vj(F.d(c.x, c.y), F.d(a.x, c.y)); this.vj(F.d(a.x, c.y), F.d(a.x, a.y)) }, AM: function(a, c, d) { a = [a, F.d(c.x, a.y), c, F.d(a.x, c.y)]; this.tE(a, 4, d) }, Yd: function(a, c, d, e) { e = e || r; if (a != q) { 3 > a.length && b(Error("Polygon's point must greater than 2")); var f = a[0]; c = this.m; var g = F.view.qa, h = F.view.Ra; c.beginPath(); c.moveTo(f.x * g, -f.y * h); for (var f = 1, m = a.length; f < m; f++) c.lineTo(a[f].x * g, -a[f].y * h); d && c.closePath(); e ? c.fill() : c.stroke() } }, tE: function(a, c, d) { this.qp(d.r, d.g, d.b, d.a); this.Yd(a, c, p, p) }, nE: function(a, c, d, e, f) { f = f || r; e = this.m; var g = F.view.qa, h = F.view.Ra; e.beginPath(); e.arc(0 | a.x * g, 0 | -(a.y * h), c * g, -d, -(d - 2 * Math.PI), r); f && e.lineTo(0 | a.x * g, 0 | -(a.y * h)); e.stroke() }, qE: function(a, c, d, e) { for (var f = this.HA, g = f.length = 0, h = 0; h < e; h++) f.push(F.d(Math.pow(1 - g, 2) * a.x + 2 * (1 - g) * g * c.x + g * g * d.x, Math.pow(1 - g, 2) * a.y + 2 * (1 - g) * g * c.y + g * g * d.y)), g += 1 / e; f.push(F.d(d.x, d.y)); this.Yd(f, e + 1, r, r) }, oE: function(a, c, d, e, f) { for (var g = this.HA, h = g.length = 0, m = 0; m < f; m++) g.push(F.d(Math.pow(1 - h, 3) * a.x + 3 * Math.pow(1 - h, 2) * h * c.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 * c.y + 3 * (1 - h) * h * h * d.y + h * h * h * e.y)), h += 1 / f; g.push(F.d(e.x, e.y)); this.Yd(g, f + 1, r, r) }, mE: function(a, c) { this.qm(a, 0.5, c) }, qm: function(a, c, d) { F.m.strokeStyle = "rgba(255,255,255,1)"; var e = this.HA; e.length = 0; for (var f, g, h = 1 / a.length, m = 0; m < d + 1; m++) g = m / d, 1 == g ? (f = a.length - 1, g = 1) : (f = 0 | g / h, g = (g - h * f) / h), f = F.mQ(F.dd(a, f - 1), F.dd(a, f - 0), F.dd(a, f + 1), F.dd(a, f + 2), c, g), e.push(f); this.Yd(e, d + 1, r, r) }, drawImage: function(a, c, d, e, f) { switch (arguments.length) { case 2: this.m.drawImage(a, c.x, -(c.y + a.height)); break; case 3: this.m.drawImage(a, c.x, -(c.y + d.height), d.width, d.height); break; case 5: this.m.drawImage(a, c.x, c.y, d.width, d.height, e.x, -(e.y + f.height), f.width, f.height); break; default: b(Error("Argument must be non-nil")) } }, IZ: function(a, c, d) { a = a || this.m; c *= F.view.qa; d = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b); a.fillStyle = d + ",1)"; var e = c / 10; a.beginPath(); a.moveTo(-c, c); a.lineTo(0, e); a.lineTo(c, c); a.lineTo(e, 0); a.lineTo(c, -c); a.lineTo(0, -e); a.lineTo(-c, -c); a.lineTo(-e, 0); a.lineTo(-c, c); a.closePath(); a.fill(); var f = a.createRadialGradient(0, 0, e, 0, 0, c); 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, c - e, 0, F.eH, r); a.closePath(); a.fill() }, BZ: function(a, c, d) { a = a || this.m; c *= F.view.qa; d = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b); var e = a.createRadialGradient(0, 0, c / 10, 0, 0, c); 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, c, 0, F.eH, r); a.closePath(); a.fill() }, fillText: function(a, c, d) { this.m.fillText(a, c, -d) }, qp: function(a, c, d, e) { this.m.fillStyle = "rgba(" + a + "," + c + "," + d + "," + e / 255 + ")"; this.m.strokeStyle = "rgba(" + a + "," + c + "," + d + "," + e / 255 + ")" }, t3: t(), RF: function(a) { this.m.lineWidth = a * F.view.qa } }); F.BQ = F.ma.extend({ m: q, ur: r, wc: q, Wh: -1, bf: q, iC: -1, hC: -1, ctor: function(a) { a == q && (a = F.m); !a instanceof WebGLRenderingContext && b("Can't initialise DrawingPrimitiveWebGL. context need is WebGLRenderingContext"); this.m = a; this.bf = new Float32Array([1, 1, 1, 1]) }, Aj: function() { this.ur || (this.wc = F.Jd.oc(F.Gz), this.Wh = this.m.getUniformLocation(this.wc.ym(), "u_color"), this.iC = this.m.getUniformLocation(this.wc.ym(), "u_pointSize"), this.ur = p) }, b$: function() { this.ur = r }, EZ: function(a) { this.Aj(); var c = this.m; this.wc.Nc(); this.wc.Ze(); F.Jc(F.Md); c.uniform4fv(this.Wh, this.bf); this.wc.st(this.iC, this.hC); var d = c.createBuffer(); c.bindBuffer(c.ARRAY_BUFFER, d); c.bufferData(c.ARRAY_BUFFER, new Float32Array([a.x, a.y]), c.STATIC_DRAW); c.vertexAttribPointer(F.qb, 2, c.FLOAT, r, 0, 0); c.drawArrays(c.POINTS, 0, 1); c.deleteBuffer(d); F.Xf() }, FZ: function(a) { if (a && 0 != a.length) { this.Aj(); var c = this.m; this.wc.Nc(); this.wc.Ze(); F.Jc(F.Md); c.uniform4fv(this.Wh, this.bf); this.wc.st(this.iC, this.hC); var d = c.createBuffer(); c.bindBuffer(c.ARRAY_BUFFER, d); c.bufferData(c.ARRAY_BUFFER, this.Wv(a), c.STATIC_DRAW); c.vertexAttribPointer(F.qb, 2, c.FLOAT, r, 0, 0); c.drawArrays(c.POINTS, 0, a.length); c.deleteBuffer(d); F.Xf() } }, Wv: function(a) { for (var c = new Float32Array(2 * a.length), d = 0; d < a.length; d++) c[2 * d] = a[d].x, c[2 * d + 1] = a[d].y; return c }, vj: function(a, c) { this.Aj(); var d = this.m; this.wc.Nc(); this.wc.Ze(); F.Jc(F.Md); d.uniform4fv(this.Wh, this.bf); var e = d.createBuffer(); d.bindBuffer(d.ARRAY_BUFFER, e); d.bufferData(d.ARRAY_BUFFER, this.Wv([a, c]), d.STATIC_DRAW); d.vertexAttribPointer(F.qb, 2, d.FLOAT, r, 0, 0); d.drawArrays(d.LINES, 0, 2); d.deleteBuffer(e); F.Xf() }, rE: function(a, c) { this.vj(F.d(a.x, a.y), F.d(c.x, a.y)); this.vj(F.d(c.x, a.y), F.d(c.x, c.y)); this.vj(F.d(c.x, c.y), F.d(a.x, c.y)); this.vj(F.d(a.x, c.y), F.d(a.x, a.y)) }, AM: function(a, c, d) { a = [a, F.d(c.x, a.y), c, F.d(a.x, c.y)]; this.tE(a, 4, d) }, Yd: function(a, c, d) { this.Aj(); c = this.m; this.wc.Nc(); this.wc.Ze(); F.Jc(F.Md); c.uniform4fv(this.Wh, this.bf); var e = c.createBuffer(); c.bindBuffer(c.ARRAY_BUFFER, e); c.bufferData(c.ARRAY_BUFFER, this.Wv(a), c.STATIC_DRAW); c.vertexAttribPointer(F.qb, 2, c.FLOAT, r, 0, 0); d ? c.drawArrays(c.LINE_LOOP, 0, a.length) : c.drawArrays(c.LINE_STRIP, 0, a.length); c.deleteBuffer(e); F.Xf() }, tE: function(a, c, d) { this.Aj(); d && this.qp(d.r, d.g, d.b, d.a); c = this.m; this.wc.Nc(); this.wc.Ze(); F.Jc(F.Md); c.uniform4fv(this.Wh, this.bf); d = c.createBuffer(); c.bindBuffer(c.ARRAY_BUFFER, d); c.bufferData(c.ARRAY_BUFFER, this.Wv(a), c.STATIC_DRAW); c.vertexAttribPointer(F.qb, 2, c.FLOAT, r, 0, 0); c.drawArrays(c.TRIANGLE_FAN, 0, a.length); c.deleteBuffer(d); F.Xf() }, nE: function(a, c, d, e, f) { this.Aj(); var g = 1; f && g++; var h = 2 * Math.PI / e; if (f = new Float32Array(2 * (e + 2))) { for (var m = 0; m <= e; m++) { var n = m * h, s = c * Math.sin(n + d) + a.y; f[2 * m] = c * Math.cos(n + d) + a.x; f[2 * m + 1] = s } f[2 * (e + 1)] = a.x; f[2 * (e + 1) + 1] = a.y; a = this.m; this.wc.Nc(); this.wc.Ze(); F.Jc(F.Md); a.uniform4fv(this.Wh, this.bf); c = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, c); a.bufferData(a.ARRAY_BUFFER, f, a.STATIC_DRAW); a.vertexAttribPointer(F.qb, 2, a.FLOAT, r, 0, 0); a.drawArrays(a.LINE_STRIP, 0, e + g); a.deleteBuffer(c); F.Xf() } }, qE: function(a, c, d, e) { this.Aj(); 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 * c.x + g * g * d.x, f[2 * h + 1] = Math.pow(1 - g, 2) * a.y + 2 * (1 - g) * g * c.y + g * g * d.y, g += 1 / e; f[2 * e] = d.x; f[2 * e + 1] = d.y; a = this.m; this.wc.Nc(); this.wc.Ze(); F.Jc(F.Md); a.uniform4fv(this.Wh, this.bf); c = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, c); a.bufferData(a.ARRAY_BUFFER, f, a.STATIC_DRAW); a.vertexAttribPointer(F.qb, 2, a.FLOAT, r, 0, 0); a.drawArrays(a.LINE_STRIP, 0, e + 1); a.deleteBuffer(c); F.Xf() }, oE: function(a, c, d, e, f) { this.Aj(); for (var g = new Float32Array(2 * (f + 1)), h = 0, m = 0; m < f; m++) g[2 * m] = Math.pow(1 - h, 3) * a.x + 3 * Math.pow(1 - h, 2) * h * c.x + 3 * (1 - h) * h * h * d.x + h * h * h * e.x, g[2 * m + 1] = Math.pow(1 - h, 3) * a.y + 3 * Math.pow(1 - h, 2) * h * c.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.wc.Nc(); this.wc.Ze(); F.Jc(F.Md); a.uniform4fv(this.Wh, this.bf); c = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, c); a.bufferData(a.ARRAY_BUFFER, g, a.STATIC_DRAW); a.vertexAttribPointer(F.qb, 2, a.FLOAT, r, 0, 0); a.drawArrays(a.LINE_STRIP, 0, f + 1); a.deleteBuffer(c); F.Xf() }, mE: function(a, c) { this.qm(a, 0.5, c) }, qm: function(a, c, d) { this.Aj(); for (var e = new Float32Array(2 * (d + 1)), f, g, h = 1 / a.length, m = 0; m < d + 1; m++) g = m / d, 1 == g ? (f = a.length - 1, g = 1) : (f = 0 | g / h, g = (g - h * f) / h), f = F.mQ(F.dd(a, f - 1), F.dd(a, f), F.dd(a, f + 1), F.dd(a, f + 2), c, g), e[2 * m] = f.x, e[2 * m + 1] = f.y; a = this.m; this.wc.Nc(); this.wc.Ze(); F.Jc(F.Md); a.uniform4fv(this.Wh, this.bf); c = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, c); a.bufferData(a.ARRAY_BUFFER, e, a.STATIC_DRAW); a.vertexAttribPointer(F.qb, 2, a.FLOAT, r, 0, 0); a.drawArrays(a.LINE_STRIP, 0, d + 1); a.deleteBuffer(c); F.Xf() }, qp: function(a, c, d, e) { this.bf[0] = a / 255; this.bf[1] = c / 255; this.bf[2] = d / 255; this.bf[3] = e / 255 }, t3: function(a) { this.hC = a * F.rb() }, RF: function(a) { this.m.lineWidth && this.m.lineWidth(a) } }); F.C.mA = function() { var a = F.Z.prototype; a.Wa = F.aa.prototype.Wa; a.mf = function() { this.nb = p; var a = this.Zl, d = this.$l; this.iw = "rgba(128,128,128," + this.mj + ")"; this.rv = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + ", 1)"; this.nw = "rgba(" + (0 | a.r) + "," + (0 | a.g) + "," + (0 | a.b) + ", 1)" }; a.Ob = F.aa.prototype.Ob; a.va = F.aa.prototype.va; a.Mb = F.aa.prototype.Mb; a.WE = function(a, d) { if (!F.aa.prototype.M.call(this)) return r; this.shaderProgram = F.Jd.oc(F.Z.mU); this.yD(d, r); this.string = a; return p }; a.gy = function(a) { var d = this.$l; 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.mf(), this.nb = p }; a.Y = function(a) { if (this.Jb && "" != this.Jb) { a = a || F.m; var d = this.L; d && d.uc && (this.Ib.Nc(), this.Ib.Ze(), F.Eh(this.q.src, this.q.U), F.qe(d), F.Jc(F.xl), a.bindBuffer(a.ARRAY_BUFFER, this.Yv), this.Fe && (a.bufferData(a.ARRAY_BUFFER, this.Ub.Fw, a.STATIC_DRAW), this.Fe = r), a.vertexAttribPointer(F.qb, 3, a.FLOAT, r, 24, 0), a.vertexAttribPointer(F.ud, 2, a.FLOAT, r, 24, 16), a.vertexAttribPointer(F.ye, 4, a.UNSIGNED_BYTE, p, 24, 12), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)); if (1 === F.Rj) a = this.Ub, a = [F.d(a.N.k.x, a.N.k.y), F.d(a.F.k.x, a.F.k.y), F.d(a.O.k.x, a.O.k.y), F.d(a.K.k.x, a.K.k.y)], F.Ce.Yd(a, 4, p); else if (2 === F.Rj) { a = this.mN().x8; var d = this.offsetX, e = this.offsetY; a = [F.d(d, e), F.d(d + a.width, e), F.d(d + a.width, e + a.height), F.d(d, e + a.height)]; F.Ce.Yd(a, 4, p) } F.Wf++ } }; a.vb = F.aa.prototype.vb }; F.C.sz = function() { var a = F.Z.prototype; F.j(a, "color", a.Pe, a.Wa); F.j(a, "opacity", a.Qe, a.va); F.j(a, "string", a.Tk, a.Mc); F.j(a, "textAlign", a.B_, a.j3); F.j(a, "verticalAlign", a.o0, a.Q3); F.j(a, "fontSize", a.CE, a.iy); F.j(a, "fontName", a.BE, a.hy); F.j(a, "font", a.CV, a.DX); F.j(a, "boundingWidth", a.oB, a.xX); F.j(a, "boundingHeight", a.zV, a.wX); F.j(a, "fillStyle", a.BV, a.gy); F.j(a, "strokeStyle", a.XV, a.ZX); F.j(a, "lineWidth", a.KV, a.HX); F.j(a, "shadowOffsetX", a.SV, a.PX); F.j(a, "shadowOffsetY", a.TV, a.QX); F.j(a, "shadowOpacity", a.UV, a.RX); F.j(a, "shadowBlur", a.RV, a.OX) }; F.Z = F.aa.extend({ kc: q, tk: F.xq, Nk: F.Kq, $b: q, Sb: 0, Jb: "", aC: q, Yn: r, $g: q, kd: r, Bd: q, mj: 0, Ek: 0, iw: q, Cg: r, Zl: q, pj: 0, nw: q, $l: q, rv: q, jD: 0, kD: 0, nb: r, Fv: q, Gv: q, tK: q, tb: "LabelTTF", ctor: function(a, c, d, e, f, g) { F.aa.prototype.ctor.call(this); this.kc = F.size(0, 0); this.tk = F.tu; this.Nk = F.Kq; this.Qa = r; this.$g = ""; this.$b = "Arial"; this.kd = this.Yn = r; this.Bd = F.d(0, 0); this.Ek = this.mj = 0; this.iw = "rgba(128, 128, 128, 0.5)"; this.Cg = r; this.Zl = F.color(255, 255, 255, 255); this.pj = 0; this.nw = ""; this.$l = F.color(255, 255, 255, 255); this.rv = "rgba(255,255,255,1)"; this.kD = this.jD = 0; this.nb = r; this.tK = []; this.mf(); c && c instanceof F.PG ? this.WE(a, c) : F.Z.prototype.pd.call(this, a, c, d, e, f, g) }, M: function() { return this.pd(" ", this.$b, this.Sb) }, GW: function() { this.rB().font = this.$g }, Br: function(a) { return this.rB().measureText(a).width }, JU: function(a, c) { var d = this.Br(a), e = Math.floor(a.length * c / d), f = a.indexOf("\n"); if (0.8 * e >= f && 0 < f) return f + 1; if (d < c) return a.length; for (var d = r, f = c + 1, g = -1, h = e, m, n = F.Z.LU, s = F.Z.qX, u = F.Z.IU, v = a.substr(e); m = n.exec(v);) { h += m[0].length; f = this.Br(a.substr(0, h)); if ("\n" == m[2] && f < c) { d = p; g = h; break } if (f > c) { -1 != g && (d = p); break } g = h; v = a.substr(h) } if (d) return g; v = a.substr(0, e); for (g = e; m = s.exec(v);) if (g = m[1].length, v = m[1], f = this.Br(v), f < c) { u.test(m[2]) && g++; break } return g || 1 }, description: function() { return "\x3ccc.LabelTTF | FontName \x3d" + this.$b + " FontSize \x3d " + this.Sb.toFixed(1) + "\x3e" }, Wa: q, mf: q, Ob: q, va: q, Mb: q, Aka: function(a) { F.ja.prototype.Mb.call(this, a); this.mf() }, Tk: A("Jb"), B_: A("tk"), o0: A("Nk"), Naa: function() { return F.size(this.kc.width, this.kc.height) }, CE: A("Sb"), BE: A("$b"), pd: function(a, c, d, e, f, g) { a = a ? a + "" : ""; d = d || 16; e = e || F.size(0, d); f = f || F.tu; g = g || F.Kq; this.Qa = r; this.kc = F.size(e.width, e.height); this.$b = c || "Arial"; this.tk = f; this.Nk = g; this.Sb = d; this.$g = this.Sb + "px '" + c + "'"; this.$h = F.Z.Mq(c, this.Sb); this.string = a; this.mf(); this.Cw(); this.nb = r; return p }, WE: q, rja: function(a) { a && this.yD(a, p) }, xca: function() { return this.hX(r) }, SZ: function(a, c, d, e) { d = d || 0.5; r === this.kd && (this.kd = p); var f = this.Bd; if (f && f.x != a || f.Le != c) f.x = a, f.y = c; this.mj != d && (this.mj = d); this.mf(); this.Ek != e && (this.Ek = e); this.nb = p }, SV: function() { return this.Bd.x }, PX: function(a) { r === this.kd && (this.kd = p); this.Bd.x != a && (this.Bd.x = a, this.nb = p) }, TV: function() { return this.Bd.Le }, QX: function(a) { r === this.kd && (this.kd = p); this.Bd.Le != a && (this.Bd.Le = a, this.nb = p) }, W7: function() { return F.d(this.Bd.x, this.Bd.y) }, u8: function(a) { r === this.kd && (this.kd = p); if (this.Bd.x != a.x || this.Bd.y != a.y) this.Bd.x = a.x, this.Bd.y = a.y, this.nb = p }, UV: A("mj"), RX: function(a) { r === this.kd && (this.kd = p); this.mj != a && (this.mj = a, this.mf(), this.nb = p) }, RV: A("Ek"), OX: function(a) { r === this.kd && (this.kd = p); this.Ek != a && (this.Ek = a, this.nb = p) }, S9: function() { this.kd && (this.kd = r, this.nb = p) }, TZ: function(a, c) { this.Cg === r && (this.Cg = p); var d = this.Zl; 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.mf(); this.pj !== c && (this.pj = c || 0); this.nb = p }, XV: A("Zl"), ZX: function(a) { this.Cg === r && (this.Cg = p); var c = this.Zl; if (c.r !== a.r || c.g !== a.g || c.b !== a.b) c.r = a.r, c.g = a.g, c.b = a.b, this.mf(), this.nb = p }, KV: A("pj"), HX: function(a) { this.Cg === r && (this.Cg = p); this.pj !== a && (this.pj = a || 0, this.nb = p) }, T9: function() { this.Cg && (this.Cg = r, this.nb = p) }, gy: q, BV: A("$l"), yD: function(a, c) { a.eaa ? (this.kc.width = a.boundingWidth, this.kc.height = a.boundingHeight) : (this.kc.width = 0, this.kc.height = 0); this.tk = a.textAlign; this.Nk = a.verticalAlign; this.$b = a.fontName; this.Sb = a.fontSize || 12; this.$g = this.Sb + "px '" + this.$b + "'"; this.$h = F.Z.Mq(this.$b, this.Sb); a.kP && this.SZ(a.shadowOffsetX, a.shadowOffsetY, a.shadowOpacity, a.shadowBlur); a.jG && this.TZ(a.strokeStyle, a.lineWidth); this.gy(a.fillStyle); c && this.Cw() }, hX: function(a) { var c = new F.PG; a ? (c.fontSize = this.Sb, c.boundingWidth = F.rb() * this.kc.width, c.boundingHeight = F.rb() * this.kc.height) : (c.fontSize = this.Sb, c.boundingWidth = this.kc.width, c.boundingHeight = this.kc.height); c.fontName = this.$b; c.textAlign = this.tk; c.verticalAlign = this.Nk; if (this.Cg) { c.jG = p; var d = this.Zl; c.strokeStyle = F.color(d.r, d.g, d.b); c.lineWidth = this.pj } else c.jG = r; this.kd ? (c.kP = p, c.shadowBlur = this.Ek, c.shadowOpacity = this.mj, c.shadowOffsetX = (a ? F.rb() : 1) * this.Bd.x, c.shadowOffsetY = (a ? F.rb() : 1) * this.Bd.y) : c.kd = r; a = this.$l; c.fillStyle = F.color(a.r, a.g, a.b); return c }, $h: 18, Mc: function(a) { a = String(a); this.aC != a && (this.aC = a + "", this.Aw(), this.nb = p) }, Aw: function() { this.Jb = this.aC }, j3: function(a) { a !== this.tk && (this.tk = a, this.nb = p) }, Q3: function(a) { a != this.Nk && (this.Nk = a, this.nb = p) }, iia: function(a) { if (a.width != this.kc.width || a.height != this.kc.height) this.kc = a, this.Aw(), this.nb = p }, oB: function() { return this.kc.width }, xX: function(a) { a != this.kc.width && (this.kc.width = a, this.Aw(), this.nb = p) }, zV: function() { return this.kc.height }, wX: function(a) { a != this.kc.height && (this.kc.height = a, this.Aw(), this.nb = p) }, iy: function(a) { this.Sb !== a && (this.Sb = a, this.$g = a + "px '" + this.$b + "'", this.$h = F.Z.Mq(this.$b, a), this.nb = p) }, hy: function(a) { this.$b && this.$b != a && (this.$b = a, this.$g = this.Sb + "px '" + a + "'", this.$h = F.Z.Mq(a, this.Sb), this.nb = p) }, CV: A("$g"), DX: function(a) { var c = F.Z.oV.exec(a); c && (this.Sb = parseInt(c[1]), this.$b = c[2], this.$g = a, this.$h = F.Z.Mq(this.$b, this.Sb), this.nb = p) }, iV: function(a) { if (a) { var c = this.jD, d = this.kD, e = this.P.height - d, f = this.Nk, g = this.tk, h = this.$h, m = this.pj; a.setTransform(1, 0, 0, 1, 0 + 0.5 * c, e + 0.5 * d); a.font != this.$g && (a.font = this.$g); a.fillStyle = this.rv; var n = d = 0, s = this.Cg; s && (a.lineWidth = 2 * m, a.strokeStyle = this.nw); this.kd && (m = this.Bd, a.shadowColor = this.iw, a.shadowOffsetX = m.x, a.shadowOffsetY = -m.y, a.shadowBlur = this.Ek); a.textBaseline = F.Z.oY[f]; a.textAlign = F.Z.nY[g]; c = this.P.width - c; d = g === F.JH ? d + c : g === F.xq ? d + c / 2 : d + 0; if (this.Yn) { g = this.oj.length; f === F.wI ? n = h + e - h * g : f === F.cU && (n = h / 2 + (e - h * g) / 2); for (f = 0; f < g; f++) c = this.oj[f], m = -e + h * f + n, s && a.strokeText(c, d, m), a.fillText(c, d, m) } else f !== F.wI && (n = f === F.Kq ? n - e : n - 0.5 * e), s && a.strokeText(this.Jb, d, n), a.fillText(this.Jb, d, n) } }, rB: function() { if (this.Gv) return this.Gv; if (!this.Fv) { var a = F.Nb("canvas"), c = new F.ea; c.Ed(a); this.texture = c; this.Fv = a } return this.Gv = this.Fv.getContext("2d") }, Bw: function() { var a = this.kc.width, c, d, e = this.tK; e.length = 0; this.Yn = r; this.GW(); if (0 !== a) { var f = this.Jb; this.oj = []; c = 0; for (d = this.Jb.length; c < d;) { var g = this.JU(f.substr(c), a); this.oj.push(f.substr(c, g)); c += g } } else { this.oj = this.Jb.split("\n"); c = 0; for (d = this.oj.length; c < d; c++) e.push(this.Br(this.oj[c])) } 0 < this.oj.length && (this.Yn = p); d = c = 0; this.Cg && (c = d = 2 * this.pj); this.kd && (f = this.Bd, c += 2 * Math.abs(f.x), d += 2 * Math.abs(f.y)); a = 0 === a ? this.Yn ? F.size(0 | Math.max.apply(Math, e) + c, 0 | this.$h * this.oj.length + d) : F.size(0 | this.Br(this.Jb) + c, 0 | this.$h + d) : 0 === this.kc.height ? this.Yn ? F.size(0 | a + c, 0 | this.$h * this.oj.length + d) : F.size(0 | a + c, 0 | this.$h + d) : F.size(0 | a + c, 0 | this.kc.height + d); this.Zd(a); this.jD = c; this.kD = d; e = this.Rc; this.eb.x = 0.5 * c + (a.width - c) * e.x; this.eb.y = 0.5 * d + (a.height - d) * e.y }, fc: function() { this.nb && this.Bw(); return F.aa.prototype.fc.call(this) }, ah: function() { this.nb && this.Bw(); return F.aa.prototype.ah.call(this) }, rk: function() { this.nb && this.Bw(); return F.aa.prototype.rk.call(this) }, Cw: function() { var a = this.rB(), c = this.Fv, d = this.P; if (0 === this.Jb.length) return c.width = 1, c.height = d.height, this.vb(F.rect(0, 0, 1, d.height)), p; a.font = this.$g; this.Bw(); var e = d.width, d = d.height, f = c.width == e && c.height == d; c.width = e; c.height = d; f && a.clearRect(0, 0, e, d); this.iV(a); this.L && this.L.Wb(); this.vb(F.rect(0, 0, e, d)); return p }, S: function(a) { this.Jb && "" != this.Jb && (this.nb && (this.nb = r, this.Cw()), F.aa.prototype.S.call(this, a || F.m)) }, Y: q, lL: function(a) { var c = this.W ? this.textureAtlas.texture : this.L; if (c) { var d = c.pixelsWidth, e = c.pixelsHeight, f, g = this.Ub; this.bd ? (F.Wm ? (c = (2 * a.x + 1) / (2 * d), d = c + (2 * a.height - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.width - 2) / (2 * e)) : (c = a.x / d, d = (a.x + a.height) / d, f = a.y / e, a = (a.y + a.width) / e), this.Qb && (e = f, f = a, a = e), this.Rb && (e = c, c = d, d = e), g.F.n.fa = c, g.F.n.ga = f, g.O.n.fa = c, g.O.n.ga = a, g.N.n.fa = d, g.N.n.ga = f, g.K.n.fa = d, g.K.n.ga = a) : (F.Wm ? (c = (2 * a.x + 1) / (2 * d), d = c + (2 * a.width - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.height - 2) / (2 * e)) : (c = a.x / d, d = (a.x + a.width) / d, f = a.y / e, a = (a.y + a.height) / e), this.Qb && (e = c, c = d, d = e), this.Rb && (e = f, f = a, a = e), g.F.n.fa = c, g.F.n.ga = a, g.O.n.fa = d, g.O.n.ga = a, g.N.n.fa = c, g.N.n.ga = f, g.K.n.fa = d, g.K.n.ga = f); this.Fe = p } } }); F.B === F.Ca ? (M = F.Z.prototype, M.Wa = function(a) { F.ja.prototype.Wa.call(this, a); this.mf() }, M.mf = function() { this.nb = p; var a = this.Da, c = this.Ba, d = this.Zl, e = this.$l; this.iw = "rgba(" + (0 | 0.5 * a.r) + "," + (0 | 0.5 * a.g) + "," + (0 | 0.5 * a.b) + "," + this.mj + ")"; this.rv = "rgba(" + (0 | a.r / 255 * e.r) + "," + (0 | a.g / 255 * e.g) + "," + (0 | a.b / 255 * e.b) + ", " + c / 255 + ")"; this.nw = "rgba(" + (0 | a.r / 255 * d.r) + "," + (0 | a.g / 255 * d.g) + "," + (0 | a.b / 255 * d.b) + ", " + c / 255 + ")" }, M.Ob = function(a) { F.ja.prototype.Ob.call(this, a); this.mf() }, M.va = function(a) { this.Sd !== a && (F.aa.prototype.va.call(this, a), this.mf(), this.nb = p) }, M.Mb = F.aa.prototype.Mb, M.WE = function(a, c) { this.yD(c, r); this.string = a; return p }, M.gy = function(a) { var c = this.$l; if (c.r != a.r || c.g != a.g || c.b != a.b) c.r = a.r, c.g = a.g, c.b = a.b, this.mf(), this.nb = p }, M.Y = F.aa.prototype.Y, M.vb = function(a, c, d) { this.bd = c || r; this.Zd(d || a); this.eG(a); c = this.qo; c.x = a.x; c.y = a.y; c.width = a.width; c.height = a.height; c.Dp = !(0 === c.width || 0 === c.height || 0 > c.x || 0 > c.y); a = this.uh; this.Qb && (a.x = -a.x); this.Rb && (a.y = -a.y); this.Fb.x = a.x + (this.P.width - this.ia.width) / 2; this.Fb.y = a.y + (this.P.height - this.ia.height) / 2; this.W && (this.dirty = p) }, M = q) : (F.assert("function" === typeof F.C.mA, F.i.Qc, "LabelTTFWebGL.js"), F.C.mA(), delete F.C.mA); F.assert("function" === typeof F.C.sz, F.i.Qc, "LabelTTFPropertyDefine.js"); F.C.sz(); delete F.C.sz; F.Z.nY = ["left", "center", "right"]; F.Z.oY = ["top", "middle", "bottom"]; F.Z.LU = /(.+?)([\s\n\r\-\/\\\:]|[\u4E00-\u9FA5]|[\uFE30-\uFFA0])/; F.Z.qX = /(.*)([\s\n\r\-\/\\\:]|[\u4E00-\u9FA5]|[\uFE30-\uFFA0])/; F.Z.IU = /[\s\-\/\\\:]/; F.Z.oV = /^(\d+)px\s+['"]?([\w\s\d]+)['"]?$/; F.Z.create = function(a, c, d, e, f, g) { return new F.Z(a, c, d, e, f, g) }; F.Z.mU = F.bU ? F.Pi : F.Ez; F.Z.ck = F.Nb("div"); F.Z.ck.style.fontFamily = "Arial"; F.Z.ck.style.position = "absolute"; F.Z.ck.style.left = "-100px"; F.Z.ck.style.top = "-100px"; F.Z.ck.style.lineHeight = "normal"; document.body ? document.body.appendChild(F.Z.ck) : F.Ja(window, "load", function() { this.removeEventListener("load", arguments.callee, r); document.body.appendChild(F.Z.ck) }, r); F.Z.Mq = function(a, c) { var d = F.Z.DI[a + "." + c]; if (0 < d) return d; var e = F.Z.ck; e.innerHTML = "ajghl~!"; e.style.fontFamily = a; e.style.fontSize = c + "px"; d = e.clientHeight; F.Z.DI[a + "." + c] = d; e.innerHTML = ""; return d }; F.Z.DI = {}; F.SQ = F.ma.extend({ zc: q, target: q, jm: 0, qf: q, om: r, paused: r, hx: q, ctor: function() { this.zc = []; this.target = q; this.jm = 0; this.qf = q; this.paused = this.om = r; this.hx = q } }); F.sG = F.ma.extend({ dh: q, ln: q, xd: q, Yh: r, s8: function(a, c) { for (var d = 0; d < a.length; d++) if (c == a[d].target) return a[d]; return q }, ctor: function() { this.dh = {}; this.ln = []; this.xd = q; this.Yh = r }, DY: function(a, c, d) { a || b("cc.ActionManager.addAction(): action must be non-null"); c || b("cc.ActionManager.addAction(): action must be non-null"); var e = this.dh[c.xa]; e || (e = new F.SQ, e.paused = d, e.target = c, this.dh[c.xa] = e, this.ln.push(e)); this.pU(e); e.zc.push(a); a.A(c) }, fha: function() { for (var a = this.ln, c = 0; c < a.length; c++) { var d = a[c]; d && this.tO(d.target, p) } }, tO: function(a, c) { if (a != q) { var d = this.dh[a.xa]; d && (-1 !== d.zc.indexOf(d.qf) && !d.om && (d.om = p), d.zc.length = 0, this.xd == d && !c ? this.Yh = p : this.TA(d)) } }, sO: function(a) { if (a != q) { var c = this.dh[a.originalTarget.xa]; if (c) for (var d = 0; d < c.zc.length; d++) { if (c.zc[d] == a) { c.zc.splice(d, 1); break } } else F.log(F.i.RP) } }, s2: function(a, c) { a == F.Sm && F.log(F.i.tG); F.assert(c, F.i.tG); var d = this.dh[c.xa]; if (d) for (var e = d.zc.length, f = 0; f < e; ++f) { var g = d.zc[f]; if (g && g.Es() === a && g.originalTarget == c) { this.jX(f, d); break } } }, wE: function(a, c) { a == F.Sm && F.log(F.i.PP); var d = this.dh[c.xa]; if (d) { if (d.zc != q) for (var e = 0; e < d.zc.length; ++e) { var f = d.zc[e]; if (f && f.Es() === a) return f } F.log(F.i.QP, a) } return q }, K1: function(a) { return (a = this.dh[a.xa]) ? a.zc ? a.zc.length : 0 : 0 }, ip: function(a) { (a = this.dh[a.xa]) && (a.paused = p) }, Ij: function(a) { (a = this.dh[a.xa]) && (a.paused = r) }, Cga: function() { for (var a = [], c = this.ln, d = 0; d < c.length; d++) { var e = c[d]; e && !e.paused && (e.paused = p, a.push(e.target)) } return a }, J2: function(a) { if (a) for (var c = 0; c < a.length; c++) a[c] && this.Ij(a[c]) }, Pga: function() { F.I.Sk().Dt(this) }, jX: function(a, c) { c.zc[a] == c.qf && !c.om && (c.om = p); c.zc.splice(a, 1); c.jm >= a && c.jm--; 0 == c.zc.length && (this.xd == c ? this.Yh = p : this.TA(c)) }, TA: function(a) { a && (delete this.dh[a.target.xa], F.Me(this.ln, a), a.zc = q, a.target = q) }, pU: function(a) { a.zc == q && (a.zc = []) }, update: function(a) { for (var c = this.ln, d, e = 0; e < c.length; e++) { d = this.xd = c[e]; if (!d.paused) for (d.jm = 0; d.jm < d.zc.length; d.jm++) if (d.qf = d.zc[d.jm], d.qf) { d.om = r; d.qf.step(a * (d.qf.Tr ? d.qf.le : 1)); if (d.om) d.qf = q; else if (d.qf.Hg()) { d.qf.stop(); var f = d.qf; d.qf = q; this.sO(f) } d.qf = q } this.Yh && 0 === d.zc.length && this.TA(d) } } }); F.Zea = Number; F.Pda = Number; F.Qda = Number; F.bn = 0; F.cn = 1; F.jF = 3.141592; F.q1 = 0.017453; F.r1 = 57.295779; F.Aa = 0.015625; F.Kc = function(a) { return a * a }; F.Qs = function(a) { return a * F.q1 }; F.Uea = function(a) { return a * F.r1 }; F.zx = function(a, c) { return a < c ? a : c }; F.yx = function(a, c) { return a > c ? a : c }; F.Oda = function(a, c) { return a + F.Aa > c && a - F.Aa < c }; F.Gh = function() { this.y = this.x = 0 }; F.cfa = function(a, c, d) { a.x = c; a.y = d; return a }; F.Bx = function(a) { return Math.sqrt(F.Kc(a.x) + F.Kc(a.y)) }; F.dfa = function(a) { return F.Kc(a.x) + F.Kc(a.y) }; F.x1 = function(a, c) { var d = 1 / F.Bx(c), e = new F.Gh; e.x = c.x * d; e.y = c.y * d; a.x = e.x; a.y = e.y }; F.$ea = function(a, c, d) { a.x = c.x + d.x; a.y = c.y + d.y; return a }; F.bfa = function(a, c) { return a.x * c.x + a.y * c.y }; F.Cx = function(a, c, d) { a.x = c.x - d.x; a.y = c.y - d.y; return a }; F.ffa = function(a, c, d) { var e = new F.Gh; e.x = c.x * d.c[0] + c.y * d.c[3] + d.c[6]; e.y = c.x * d.c[1] + c.y * d.c[4] + d.c[7]; a.x = e.x; a.y = e.y; return a }; F.gfa = E(q); F.efa = function(a, c, d) { a.x = c.x * d; a.y = c.y * d; return a }; F.afa = function(a, c) { return a.x < c.x + F.Aa && a.x > c.x - F.Aa && a.y < c.y + F.Aa && a.y > c.y - F.Aa }; F.ub = function(a, c, d) { this.x = a || 0; this.y = c || 0; this.e = d || 0 }; F.$o = function(a, c, d, e) { if (!a) return new F.ub(c, d, e); a.x = c; a.y = d; a.e = e; return a }; F.SN = function(a) { return Math.sqrt(F.Kc(a.x) + F.Kc(a.y) + F.Kc(a.e)) }; F.TN = function(a) { return F.Kc(a.x) + F.Kc(a.y) + F.Kc(a.e) }; F.uf = function(a, c) { var d = 1 / F.SN(c); a.x = c.x * d; a.y = c.y * d; a.e = c.e * d }; F.Wk = function(a, c, d) { a.x = c.y * d.e - c.e * d.y; a.y = c.e * d.x - c.x * d.e; a.e = c.x * d.y - c.y * d.x }; F.lF = function(a, c) { return a.x * c.x + a.y * c.y + a.e * c.e }; F.RN = function(a, c, d) { a.x = c.x + d.x; a.y = c.y + d.y; a.e = c.e + d.e }; F.nF = function(a, c, d) { a.x = c.x - d.x; a.y = c.y - d.y; a.e = c.e - d.e }; F.lfa = function(a, c, d) { a.x = c.x * d.c[0] + c.y * d.c[4] + c.e * d.c[8] + d.c[12]; a.y = c.x * d.c[1] + c.y * d.c[5] + c.e * d.c[9] + d.c[13]; a.e = c.x * d.c[2] + c.y * d.c[6] + c.e * d.c[10] + d.c[14]; return a }; F.mfa = function(a, c, d) { a.x = c.x * d.c[0] + c.y * d.c[4] + c.e * d.c[8]; a.y = c.x * d.c[1] + c.y * d.c[5] + c.e * d.c[9]; a.e = c.x * d.c[2] + c.y * d.c[6] + c.e * d.c[10]; return a }; F.UN = function(a, c, d) { var e = new F.VN, f = new F.VN; F.y1(f, c.x, c.y, c.e); F.WN(e, f, d); a.x = e.x / e.H; a.y = e.y / e.H; a.e = e.e / e.H }; F.mF = function(a, c, d) { a.x = c.x * d; a.y = c.y * d; a.e = c.e * d; return a }; F.hfa = function(a, c) { return a.x < c.x + F.Aa && a.x > c.x - F.Aa && a.y < c.y + F.Aa && a.y > c.y - F.Aa && a.e < c.e + F.Aa && a.e > c.e - F.Aa ? 1 : 0 }; F.ifa = function(a, c, d) { c = new F.ub(c.x - d.c[12], c.y - d.c[13], c.e - d.c[14]); a.x = c.x * d.c[0] + c.y * d.c[1] + c.e * d.c[2]; a.y = c.x * d.c[4] + c.y * d.c[5] + c.e * d.c[6]; a.e = c.x * d.c[8] + c.y * d.c[9] + c.e * d.c[10]; return a }; F.jfa = function(a, c, d) { a.x = c.x * d.c[0] + c.y * d.c[1] + c.e * d.c[2]; a.y = c.x * d.c[4] + c.y * d.c[5] + c.e * d.c[6]; a.e = c.x * d.c[8] + c.y * d.c[9] + c.e * d.c[10]; return a }; F.Rs = function(a, c) { a != c && (a.x = c.x, a.y = c.y, a.e = c.e) }; F.nfa = function(a) { a.x = 0; a.y = 0; a.e = 0; return a }; F.kfa = function(a) { if (!a) return q; var c = new Float32Array(3); c[0] = a.x; c[1] = a.y; c[2] = a.e; return c }; F.VN = function() { this.H = this.e = this.y = this.x = 0 }; F.y1 = function(a, c, d, e) { a.x = c; a.y = d; a.e = e; a.H = 1 }; F.ofa = function(a, c, d) { a.x = c.x + d.x; a.y = c.y + d.y; a.e = c.e + d.e; a.H = c.H + d.H; return a }; F.rfa = function(a, c) { return a.x * c.x + a.y * c.y + a.e * c.e + a.H * c.H }; F.z1 = function(a) { return Math.sqrt(F.Kc(a.x) + F.Kc(a.y) + F.Kc(a.e) + F.Kc(a.H)) }; F.sfa = function(a) { return F.Kc(a.x) + F.Kc(a.y) + F.Kc(a.e) + F.Kc(a.H) }; F.tfa = aa(); F.A1 = function(a, c) { var d = 1 / F.z1(c); a.x *= d; a.y *= d; a.e *= d; a.H *= d }; F.ufa = function(a, c, d) { F.A1(a, c); a.x *= d; a.y *= d; a.e *= d; a.H *= d; return a }; F.vfa = function(a, c, d) { a.x = c.x - d.x; a.y = c.y - d.y; a.e = c.e - d.e; a.H = c.H - d.H; return a }; F.WN = function(a, c, d) { a.x = c.x * d.c[0] + c.y * d.c[4] + c.e * d.c[8] + c.H * d.c[12]; a.y = c.x * d.c[1] + c.y * d.c[5] + c.e * d.c[9] + c.H * d.c[13]; a.e = c.x * d.c[2] + c.y * d.c[6] + c.e * d.c[10] + c.H * d.c[14]; a.H = c.x * d.c[3] + c.y * d.c[7] + c.e * d.c[11] + c.H * d.c[15] }; F.xfa = function(a, c, d, e, f, g) { for (var h = 0; h < g;) F.WN(a + h * c, d + h * e, f), ++h; return a }; F.pfa = function(a, c) { return a.x < c.x + F.Aa && a.x > c.x - F.Aa && a.y < c.y + F.Aa && a.y > c.y - F.Aa && a.e < c.e + F.Aa && a.e > c.e - F.Aa && a.H < c.H + F.Aa && a.H > c.H - F.Aa }; F.qfa = function(a, c) { if (a == c) return F.log("destVec and srcVec are same object"), a; a.x = c.x; a.y = c.y; a.e = c.e; a.H = c.H; return a }; F.wfa = function(a) { if (!a) return q; var c = new Float32Array(4); c[0] = a.x; c[1] = a.y; c[2] = a.e; c[3] = a.H; return c }; F.Vea = function(a) { this.start = a || new F.Gh; this.start = a || new F.Gh }; F.Wea = function(a, c, d, e, f) { a.start.x = c; a.start.y = d; a.dir.x = e; a.dir.y = f }; F.kF = function(a, c, 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 m = c.x, n = c.y, s = d.x, u = d.y, v = (u - n) * (h - f) - (s - m) * (a - g); if (v > -F.Aa && v < F.Aa) return F.bn; n = ((s - m) * (g - n) - (u - n) * (f - m)) / v; m = f + n * (h - f); n = g + n * (a - g); if (m < F.zx(c.x, d.x) - F.Aa || m > F.yx(c.x, d.x) + F.Aa || n < F.zx(c.y, d.y) - F.Aa || n > F.yx(c.y, d.y) + F.Aa || m < F.zx(f, h) - F.Aa || m > F.yx(f, h) + F.Aa || n < F.zx(g, a) - F.Aa || n > F.yx(g, a) + F.Aa) return F.bn; e.x = m; e.y = n; return F.cn }; F.XD = function(a, c, d) { var e = new F.Gh; F.Cx(e, c, a); d.x = -e.y; d.y = e.x; F.x1(d, d) }; F.Yea = function(a, c, d, e, f, g) { var h = new F.Gh, m = new F.Gh, n = new F.Gh, s = 1E4, u = F.bn, v; F.kF(a, c, d, h) && (v = new F.Gh, u = F.cn, v = F.Bx(F.Cx(v, h, a.start)), v < s && (m.x = h.x, m.y = h.y, s = v, F.XD(c, d, n))); F.kF(a, d, e, h) && (v = new F.Gh, u = F.cn, v = F.Bx(F.Cx(v, h, a.start)), v < s && (m.x = h.x, m.y = h.y, s = v, F.XD(d, e, n))); F.kF(a, e, c, h) && (v = new F.Gh, u = F.cn, v = F.Bx(F.Cx(v, h, a.start)), v < s && (m.x = h.x, m.y = h.y, F.XD(e, c, n))); u && (f.x = m.x, f.y = m.y, g && (g.x = n.x, g.y = n.y)); return u }; F.Xea = function() { F.log("cc.kmRay2IntersectCircle() has not been implemented.") }; var Float32Array = Float32Array || Array; F.xx = function() { this.c = new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0]) }; F.Yda = function(a, c) { for (var d = 0; 9 > d; d++) a.c[d] = c; return a }; F.j1 = function(a, c) { a.c[0] = c.c[4] * c.c[8] - c.c[5] * c.c[7]; a.c[1] = c.c[2] * c.c[7] - c.c[1] * c.c[8]; a.c[2] = c.c[1] * c.c[5] - c.c[2] * c.c[4]; a.c[3] = c.c[5] * c.c[6] - c.c[3] * c.c[8]; a.c[4] = c.c[0] * c.c[8] - c.c[2] * c.c[6]; a.c[5] = c.c[2] * c.c[3] - c.c[0] * c.c[5]; a.c[6] = c.c[3] * c.c[7] - c.c[4] * c.c[6]; a.c[8] = c.c[0] * c.c[4] - c.c[1] * c.c[3] }; F.JN = 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 }; F.Zda = function(a, c, d) { var e = new F.xx; if (0 === c) return q; c = 1 / c; F.j1(e, d); F.k1(a, e, c); return a }; F.xx.yB = new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]); F.$da = function(a) { for (var c = 0; 9 > c; c++) if (F.xx.yB[c] !== a.c[c]) return r; return p }; F.kea = function(a, c) { var d, e; for (d = 0; 3 > d; ++d) for (e = 0; 3 > e; ++e) a.c[3 * d + e] = c.c[3 * e + d]; return a }; F.Xda = function(a) { var c; c = 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 c -= 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] }; F.aea = function(a, c, d) { c = c.c; d = d.c; a.c[0] = c[0] * d[0] + c[3] * d[1] + c[6] * d[2]; a.c[1] = c[1] * d[0] + c[4] * d[1] + c[7] * d[2]; a.c[2] = c[2] * d[0] + c[5] * d[1] + c[8] * d[2]; a.c[3] = c[0] * d[3] + c[3] * d[4] + c[6] * d[5]; a.c[4] = c[1] * d[3] + c[4] * d[4] + c[7] * d[5]; a.c[5] = c[2] * d[3] + c[5] * d[4] + c[8] * d[5]; a.c[6] = c[0] * d[6] + c[3] * d[7] + c[6] * d[8]; a.c[7] = c[1] * d[6] + c[4] * d[7] + c[7] * d[8]; a.c[8] = c[2] * d[6] + c[5] * d[7] + c[8] * d[8]; return a }; F.k1 = function(a, c, d) { for (var e = 0; 9 > e; e++) a.c[e] = c.c[e] * d }; F.cea = function(a, c, d) { var e = Math.cos(d); d = Math.sin(d); a.c[0] = e + c.x * c.x * (1 - e); a.c[1] = c.e * d + c.y * c.x * (1 - e); a.c[2] = -c.y * d + c.e * c.x * (1 - e); a.c[3] = -c.e * d + c.x * c.y * (1 - e); a.c[4] = e + c.y * c.y * (1 - e); a.c[5] = c.x * d + c.e * c.y * (1 - e); a.c[6] = c.y * d + c.x * c.e * (1 - e); a.c[7] = -c.x * d + c.y * c.e * (1 - e); a.c[8] = e + c.e * c.e * (1 - e); return a }; F.Wda = function(a, c) { if (a == c) return F.log("cc.kmMat3Assign(): pOut equals pIn"), a; for (var d = 0; 9 > d; d++) a.c[d] = c.c[d]; return a }; F.Vda = function(a, c) { if (a == c) return p; for (var d = 0; 9 > d; ++d) if (!(a.c[d] + F.Aa > c.c[d] && a.c[d] - F.Aa < c.c[d])) return r; return p }; F.fea = function(a, c) { a.c[0] = 1; a.c[1] = 0; a.c[2] = 0; a.c[3] = 0; a.c[4] = Math.cos(c); a.c[5] = Math.sin(c); a.c[6] = 0; a.c[7] = -Math.sin(c); a.c[8] = Math.cos(c); return a }; F.gea = function(a, c) { a.c[0] = Math.cos(c); a.c[1] = 0; a.c[2] = -Math.sin(c); a.c[3] = 0; a.c[4] = 1; a.c[5] = 0; a.c[6] = Math.sin(c); a.c[7] = 0; a.c[8] = Math.cos(c); return a }; F.hea = function(a, c) { a.c[0] = Math.cos(c); a.c[1] = -Math.sin(c); a.c[2] = 0; a.c[3] = Math.sin(c); a.c[4] = Math.cos(c); a.c[5] = 0; a.c[6] = 0; a.c[7] = 0; a.c[8] = 1; return a }; F.bea = function(a, c) { a.c[0] = Math.cos(c); a.c[1] = Math.sin(c); a.c[2] = 0; a.c[3] = -Math.sin(c); a.c[4] = Math.cos(c); a.c[5] = 0; a.c[6] = 0; a.c[7] = 0; a.c[8] = 1; return a }; F.iea = function(a, c, d) { F.JN(a); a.c[0] = c; a.c[4] = d; return a }; F.jea = function(a, c, d) { F.JN(a); a.c[6] = c; a.c[7] = d; return a }; F.dea = function(a, c) { if (!c || !a) return q; a.c[0] = 1 - 2 * (c.y * c.y + c.e * c.e); a.c[1] = 2 * (c.x * c.y - c.H * c.e); a.c[2] = 2 * (c.x * c.e + c.H * c.y); a.c[3] = 2 * (c.x * c.y + c.H * c.e); a.c[4] = 1 - 2 * (c.x * c.x + c.e * c.e); a.c[5] = 2 * (c.y * c.e - c.H * c.x); a.c[6] = 2 * (c.x * c.e - c.H * c.y); a.c[7] = 2 * (c.y * c.e + c.H * c.x); a.c[8] = 1 - 2 * (c.x * c.x + c.y * c.y); return a }; F.eea = function(a, c, d) { F.PN(k, d); F.QN(k, a); return a }; F.ca = function() { this.c = new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) }; F.nea = function(a, c) { 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] = c }; F.Cm = 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 }; F.ca.If = function(a, c, d) { return a.c[c + 4 * d] }; F.ca.Ck = function(a, c, d, e) { a.c[c + 4 * d] = e }; F.ca.Jk = function(a, c, d, e, f) { var g = F.ca.If(a, c, d); F.ca.Ck(a, c, d, F.ca.If(a, e, f)); F.ca.Ck(a, e, f, g) }; F.ca.qV = function(a, c) { var d, e = 0, f = 0, g, h, m, n = [0, 0, 0, 0], s = [0, 0, 0, 0], u = [0, 0, 0, 0]; for (d = 0; 4 > d; d++) { for (g = m = 0; 4 > g; g++) if (1 != u[g]) for (h = 0; 4 > h; h++) 0 == u[h] && Math.abs(F.ca.If(a, g, h)) >= m && (m = Math.abs(F.ca.If(a, g, h)), f = g, e = h); ++u[e]; if (f != e) { for (g = 0; 4 > g; g++) F.ca.Jk(a, f, g, e, g); for (g = 0; 4 > g; g++) F.ca.Jk(c, f, g, e, g) } s[d] = f; n[d] = e; if (0 == F.ca.If(a, e, e)) return F.bn; h = 1 / F.ca.If(a, e, e); F.ca.Ck(a, e, e, 1); for (g = 0; 4 > g; g++) F.ca.Ck(a, e, g, F.ca.If(a, e, g) * h); for (g = 0; 4 > g; g++) F.ca.Ck(c, e, g, F.ca.If(c, e, g) * h); for (h = 0; 4 > h; h++) if (h != e) { m = F.ca.If(a, h, e); F.ca.Ck(a, h, e, 0); for (g = 0; 4 > g; g++) F.ca.Ck(a, h, g, F.ca.If(a, h, g) - F.ca.If(a, e, g) * m); for (g = 0; 4 > g; g++) F.ca.Ck(c, h, g, F.ca.If(a, h, g) - F.ca.If(c, e, g) * m) } } for (g = 3; 0 <= g; g--) if (s[g] != n[g]) for (h = 0; 4 > h; h++) F.ca.Jk(a, h, s[g], h, n[g]); return F.cn }; F.ca.yB = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]); F.m1 = function(a, c) { var d = new F.ca, e = new F.ca; F.zj(d, c); F.Cm(e); F.ca.qV(d, e) != F.bn && F.zj(a, d) }; F.rea = function(a) { for (var c = 0; 16 > c; c++) if (F.ca.yB[c] != a.c[c]) return r; return p }; F.zea = function(a, c) { var d, e, f = a.c, g = c.c; for (e = 0; 4 > e; ++e) for (d = 0; 4 > d; ++d) f[4 * e + d] = g[4 * d + e]; return a }; F.zi = function(a, c, d) { a = a.c; var e = c.c[0], f = c.c[1], g = c.c[2], h = c.c[3], m = c.c[4], n = c.c[5], s = c.c[6], u = c.c[7], v = c.c[8], x = c.c[9], w = c.c[10], z = c.c[11], B = c.c[12], C = c.c[13], D = c.c[14]; c = c.c[15]; var L = d.c[0], O = d.c[1], H = d.c[2], I = d.c[3], K = d.c[4], G = d.c[5], J = d.c[6], Q = d.c[7], R = d.c[8], P = d.c[9], $ = d.c[10], T = d.c[11], Y = d.c[12], ba = d.c[13], N = d.c[14]; d = d.c[15]; a[0] = L * e + O * m + H * v + I * B; a[1] = L * f + O * n + H * x + I * C; a[2] = L * g + O * s + H * w + I * D; a[3] = L * h + O * u + H * z + I * c; a[4] = K * e + G * m + J * v + Q * B; a[5] = K * f + G * n + J * x + Q * C; a[6] = K * g + G * s + J * w + Q * D; a[7] = K * h + G * u + J * z + Q * c; a[8] = R * e + P * m + $ * v + T * B; a[9] = R * f + P * n + $ * x + T * C; a[10] = R * g + P * s + $ * w + T * D; a[11] = R * h + P * u + $ * z + T * c; a[12] = Y * e + ba * m + N * v + d * B; a[13] = Y * f + ba * n + N * x + d * C; a[14] = Y * g + ba * s + N * w + d * D; a[15] = Y * h + ba * u + N * z + d * c }; F.L_ = function() { var a = F.Zk.top.c, c = F.Cj.top.c, d = new Float32Array(16); d[0] = a[0] * c[0] + a[4] * c[1] + a[8] * c[2] + a[12] * c[3]; d[1] = a[1] * c[0] + a[5] * c[1] + a[9] * c[2] + a[13] * c[3]; d[2] = a[2] * c[0] + a[6] * c[1] + a[10] * c[2] + a[14] * c[3]; d[3] = a[3] * c[0] + a[7] * c[1] + a[11] * c[2] + a[15] * c[3]; d[4] = a[0] * c[4] + a[4] * c[5] + a[8] * c[6] + a[12] * c[7]; d[5] = a[1] * c[4] + a[5] * c[5] + a[9] * c[6] + a[13] * c[7]; d[6] = a[2] * c[4] + a[6] * c[5] + a[10] * c[6] + a[14] * c[7]; d[7] = a[3] * c[4] + a[7] * c[5] + a[11] * c[6] + a[15] * c[7]; d[8] = a[0] * c[8] + a[4] * c[9] + a[8] * c[10] + a[12] * c[11]; d[9] = a[1] * c[8] + a[5] * c[9] + a[9] * c[10] + a[13] * c[11]; d[10] = a[2] * c[8] + a[6] * c[9] + a[10] * c[10] + a[14] * c[11]; d[11] = a[3] * c[8] + a[7] * c[9] + a[11] * c[10] + a[15] * c[11]; d[12] = a[0] * c[12] + a[4] * c[13] + a[8] * c[14] + a[12] * c[15]; d[13] = a[1] * c[12] + a[5] * c[13] + a[9] * c[14] + a[13] * c[15]; d[14] = a[2] * c[12] + a[6] * c[13] + a[10] * c[14] + a[14] * c[15]; d[15] = a[3] * c[12] + a[7] * c[13] + a[11] * c[14] + a[15] * c[15]; return d }; F.xba = function(a, c, d) { a = a.c; c = c.c; var e = d.c; e[0] = a[0] * c[0] + a[4] * c[1] + a[8] * c[2] + a[12] * c[3]; e[1] = a[1] * c[0] + a[5] * c[1] + a[9] * c[2] + a[13] * c[3]; e[2] = a[2] * c[0] + a[6] * c[1] + a[10] * c[2] + a[14] * c[3]; e[3] = a[3] * c[0] + a[7] * c[1] + a[11] * c[2] + a[15] * c[3]; e[4] = a[0] * c[4] + a[4] * c[5] + a[8] * c[6] + a[12] * c[7]; e[5] = a[1] * c[4] + a[5] * c[5] + a[9] * c[6] + a[13] * c[7]; e[6] = a[2] * c[4] + a[6] * c[5] + a[10] * c[6] + a[14] * c[7]; e[7] = a[3] * c[4] + a[7] * c[5] + a[11] * c[6] + a[15] * c[7]; e[8] = a[0] * c[8] + a[4] * c[9] + a[8] * c[10] + a[12] * c[11]; e[9] = a[1] * c[8] + a[5] * c[9] + a[9] * c[10] + a[13] * c[11]; e[10] = a[2] * c[8] + a[6] * c[9] + a[10] * c[10] + a[14] * c[11]; e[11] = a[3] * c[8] + a[7] * c[9] + a[11] * c[10] + a[15] * c[11]; e[12] = a[0] * c[12] + a[4] * c[13] + a[8] * c[14] + a[12] * c[15]; e[13] = a[1] * c[12] + a[5] * c[13] + a[9] * c[14] + a[13] * c[15]; e[14] = a[2] * c[12] + a[6] * c[13] + a[10] * c[14] + a[14] * c[15]; e[15] = a[3] * c[12] + a[7] * c[13] + a[11] * c[14] + a[15] * c[15]; return d.c }; F.zj = function(a, c) { if (a == c) F.log("cc.kmMat4Assign(): pOut equals pIn"); else { var d = a.c, e = c.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] } }; F.lea = function(a, c) { if (a == c) return F.log("cc.kmMat4AreEqual(): pMat1 and pMat2 are same object."), p; for (var d = 0; 16 > d; d++) if (!(a.c[d] + F.Aa > c.c[d] && a.c[d] - F.Aa < c.c[d])) return r; return p }; F.wea = function(a, c) { 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(c); a.c[6] = Math.sin(c); a.c[7] = 0; a.c[8] = 0; a.c[9] = -Math.sin(c); a.c[10] = Math.cos(c); a.c[11] = 0; a.c[12] = 0; a.c[13] = 0; a.c[14] = 0; a.c[15] = 1; return a }; F.xea = function(a, c) { a.c[0] = Math.cos(c); a.c[1] = 0; a.c[2] = -Math.sin(c); 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(c); a.c[9] = 0; a.c[10] = Math.cos(c); a.c[11] = 0; a.c[12] = 0; a.c[13] = 0; a.c[14] = 0; a.c[15] = 1; return a }; F.yea = function(a, c) { a.c[0] = Math.cos(c); a.c[1] = Math.sin(c); a.c[2] = 0; a.c[3] = 0; a.c[4] = -Math.sin(c); a.c[5] = Math.cos(c); 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 }; F.sea = function(a, c, d, e) { var f = Math.cos(c); c = Math.sin(c); var g = Math.cos(d); d = Math.sin(d); var h = Math.cos(e); e = Math.sin(e); var m = c * d, n = f * d; a.c[0] = g * h; a.c[4] = g * e; a.c[8] = -d; a.c[1] = m * h - f * e; a.c[5] = m * e + f * h; a.c[9] = c * g; a.c[2] = n * h + c * e; a.c[6] = n * e - c * h; a.c[10] = f * g; a.c[3] = a.c[7] = a.c[11] = 0; a.c[15] = 1; return a }; F.tea = function(a, c) { a.c[0] = 1 - 2 * (c.y * c.y + c.e * c.e); a.c[1] = 2 * (c.x * c.y + c.e * c.H); a.c[2] = 2 * (c.x * c.e - c.y * c.H); a.c[3] = 0; a.c[4] = 2 * (c.x * c.y - c.e * c.H); a.c[5] = 1 - 2 * (c.x * c.x + c.e * c.e); a.c[6] = 2 * (c.e * c.y + c.x * c.H); a.c[7] = 0; a.c[8] = 2 * (c.x * c.e + c.y * c.H); a.c[9] = 2 * (c.y * c.e - c.x * c.H); a.c[10] = 1 - 2 * (c.x * c.x + c.y * c.y); a.c[11] = 0; a.c[12] = 0; a.c[13] = 0; a.c[14] = 0; a.c[15] = 1; return a }; F.vea = function(a, c, d) { a.c[0] = c.c[0]; a.c[1] = c.c[1]; a.c[2] = c.c[2]; a.c[3] = 0; a.c[4] = c.c[3]; a.c[5] = c.c[4]; a.c[6] = c.c[5]; a.c[7] = 0; a.c[8] = c.c[6]; a.c[9] = c.c[7]; a.c[10] = c.c[8]; a.c[11] = 0; a.c[12] = d.x; a.c[13] = d.y; a.c[14] = d.e; a.c[15] = 1; return a }; F.p1 = function(a, c, d, e) { a.c[0] = c; 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 }; F.LN = function(a, c, 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] = c; a.c[13] = d; a.c[14] = e }; F.qea = function(a, c) { a.x = c.c[4]; a.y = c.c[5]; a.e = c.c[6]; F.uf(a, a); return a }; F.pea = function(a, c) { a.x = c.c[0]; a.y = c.c[1]; a.e = c.c[2]; F.uf(a, a); return a }; F.oea = function(a, c) { a.x = c.c[8]; a.y = c.c[9]; a.e = c.c[10]; F.uf(a, a); return a }; F.n1 = function(a, c, d) { var e = F.Qs(30), f = d - 0.1, g = Math.sin(e); 0 == f || (0 == g || 0 == c) || (e = Math.cos(e) / g, F.Cm(a), a.c[0] = e / c, 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) }; F.iF = function(a, c, d, e, f, g, h) { F.Cm(a); a.c[0] = 2 / (d - c); a.c[5] = 2 / (f - e); a.c[10] = -2 / (h - g); a.c[12] = -((d + c) / (d - c)); a.c[13] = -((f + e) / (f - e)); a.c[14] = -((h + g) / (h - g)) }; F.KN = function(a, c, d, e) { var f = new F.ub, g = new F.ub, h = new F.ub, m = new F.ub, n = new F.ca; F.nF(f, d, c); F.uf(f, f); F.Rs(g, e); F.uf(g, g); F.Wk(h, f, g); F.uf(h, h); F.Wk(m, h, f); F.uf(h, h); F.Cm(a); a.c[0] = h.x; a.c[4] = h.y; a.c[8] = h.e; a.c[1] = m.x; a.c[5] = m.y; a.c[9] = m.e; a.c[2] = -f.x; a.c[6] = -f.y; a.c[10] = -f.e; F.LN(n, -c.x, -c.y, -c.e); F.zi(a, a, n) }; F.o1 = function(a, c, d) { var e = Math.cos(d); d = Math.sin(d); var f = new F.ub; F.uf(f, c); a.c[0] = e + f.x * f.x * (1 - e); a.c[1] = f.e * d + f.y * f.x * (1 - e); a.c[2] = -f.y * d + f.e * f.x * (1 - e); a.c[3] = 0; a.c[4] = -f.e * d + f.x * f.y * (1 - e); a.c[5] = e + f.y * f.y * (1 - e); a.c[6] = f.x * d + f.e * f.y * (1 - e); a.c[7] = 0; a.c[8] = f.y * d + f.x * f.e * (1 - e); a.c[9] = -f.x * d + f.y * f.e * (1 - e); a.c[10] = e + f.e * f.e * (1 - e); a.c[11] = 0; a.c[12] = 0; a.c[13] = 0; a.c[14] = 0; a.c[15] = 1 }; F.l1 = function(a, c) { a.c[0] = c.c[0]; a.c[1] = c.c[1]; a.c[2] = c.c[2]; a.c[3] = c.c[4]; a.c[4] = c.c[5]; a.c[5] = c.c[6]; a.c[6] = c.c[8]; a.c[7] = c.c[9]; a.c[8] = c.c[10] }; F.mea = function(a, c, d) { switch (d) { case F.hR: a.a = c.c[3] - c.c[0]; a.b = c.c[7] - c.c[4]; a.D = c.c[11] - c.c[8]; a.J = c.c[15] - c.c[12]; break; case F.fR: a.a = c.c[3] + c.c[0]; a.b = c.c[7] + c.c[4]; a.D = c.c[11] + c.c[8]; a.J = c.c[15] + c.c[12]; break; case F.dR: a.a = c.c[3] + c.c[1]; a.b = c.c[7] + c.c[5]; a.D = c.c[11] + c.c[9]; a.J = c.c[15] + c.c[13]; break; case F.iR: a.a = c.c[3] - c.c[1]; a.b = c.c[7] - c.c[5]; a.D = c.c[11] - c.c[9]; a.J = c.c[15] - c.c[13]; break; case F.eR: a.a = c.c[3] - c.c[2]; a.b = c.c[7] - c.c[6]; a.D = c.c[11] - c.c[10]; a.J = c.c[15] - c.c[14]; break; case F.gR: a.a = c.c[3] + c.c[2]; a.b = c.c[7] + c.c[6]; a.D = c.c[11] + c.c[10]; a.J = c.c[15] + c.c[14]; break; default: F.log("cc.kmMat4ExtractPlane(): Invalid plane index") } c = Math.sqrt(a.a * a.a + a.b * a.b + a.D * a.D); a.a /= c; a.b /= c; a.D /= c; a.J /= c; return a }; F.uea = function(a, c, d) { c = new fa; var e = new F.xx; F.l1(e, d); F.PN(c, e); F.QN(c, a); return a }; F.fR = 0; F.hR = 1; F.dR = 2; F.iR = 3; F.gR = 4; F.eR = 5; F.Aea = function(a, c, d, e) { this.a = a || 0; this.b = c || 0; this.D = d || 0; this.J = e || 0 }; F.ZR = 0; F.YR = 1; F.$R = 2; F.Cea = function(a, c) { return a.a * c.x + a.b * c.y + a.D * c.e + a.J * c.H }; F.Dea = function(a, c) { return a.a * c.x + a.b * c.y + a.D * c.e + a.J }; F.Eea = function(a, c) { return a.a * c.x + a.b * c.y + a.D * c.e }; F.Fea = function(a, c, d) { a.a = d.x; a.b = d.y; a.D = d.e; a.J = -F.lF(d, c); return a }; F.Gea = function(a, c, d, e) { var f = new F.ub, g = new F.ub, h = new F.ub; F.nF(g, d, c); F.nF(h, e, c); F.Wk(f, g, h); F.uf(f, f); a.a = f.x; a.b = f.y; a.D = f.e; a.J = F.lF(F.mF(f, f, -1), c); return a }; F.Hea = function() { b("cc.kmPlaneIntersectLine() hasn't been implemented.") }; F.Iea = function(a, c) { var d = new F.ub; d.x = c.a; d.y = c.b; d.e = c.D; var e = 1 / F.SN(d); F.uf(d, d); a.a = d.x; a.b = d.y; a.D = d.e; a.J = c.J * e; return a }; F.Jea = function() { F.log("cc.kmPlaneScale() has not been implemented.") }; F.Bea = function(a, c) { var d = a.a * c.x + a.b * c.y + a.D * c.e + a.J; return 0.001 < d ? F.ZR : -0.001 > d ? F.YR : F.$R }; function fa() { this.H = this.e = this.y = this.x = 0 } F.t1 = function(a, c) { a.x = -c.x; a.y = -c.y; a.e = -c.e; a.H = c.H; return a }; F.u1 = function(a, c) { return a.H * c.H + a.x * c.x + a.y * c.y + a.e * c.e }; F.Lea = aa(); F.v1 = function(a) { a.x = 0; a.y = 0; a.e = 0; a.H = 1 }; F.Mea = function(a, c) { var d = F.MN(c), e = new fa; if (Math.abs(d) > F.Aa) return a.x = 0, a.y = 0, a.e = 0, a.H = 0, a; F.Ax(a, F.t1(e, c), 1 / d); return a }; F.Nea = function(a) { return 0 == a.x && 0 == a.y && 0 == a.e && 1 == a.H }; F.MN = function(a) { return Math.sqrt(F.w1(a)) }; F.w1 = function(a) { return a.x * a.x + a.y * a.y + a.e * a.e + a.H * a.H }; F.Oea = aa(); F.Pea = function(a, c, d) { a.H = c.H * d.H - c.x * d.x - c.y * d.y - c.e * d.e; a.x = c.H * d.x + c.x * d.H + c.y * d.e - c.e * d.y; a.y = c.H * d.y + c.y * d.H + c.e * d.x - c.x * d.e; a.e = c.H * d.e + c.e * d.H + c.x * d.y - c.y * d.x; return a }; F.NN = function(a, c) { var d = F.MN(c); Math.abs(d) <= F.Aa && b("cc.kmQuaternionNormalize(): pIn is an invalid value"); F.Ax(a, c, 1 / d) }; F.ON = function(a, c) { var d = 0.5 * F.jF, e = Math.sin(d); a.H = Math.cos(d); a.x = c.x * e; a.y = c.y * e; a.e = c.e * e }; F.PN = function(a, c) { var d, e, f, g; d = []; e = g = 0; if (c) { d[0] = c.c[0]; d[1] = c.c[3]; d[2] = c.c[6]; d[4] = c.c[1]; d[5] = c.c[4]; d[6] = c.c[7]; d[8] = c.c[2]; d[9] = c.c[5]; d[10] = c.c[8]; d[15] = 1; var h = d[0]; e = h[0] + h[5] + h[10] + 1; e > F.Aa ? (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.e = f; a.H = g } }; F.Sea = function(a, c, d, e) { var f, g, h, m, n; f = F.Qs(d) / 2; g = F.Qs(c) / 2; h = F.Qs(e) / 2; e = Math.cos(f); c = Math.cos(g); d = Math.cos(h); f = Math.sin(f); g = Math.sin(g); h = Math.sin(h); m = c * d; n = g * h; a.H = e * m + f * n; a.x = f * m - e * n; a.y = e * g * d + f * c * h; a.e = e * c * h - f * g * d; F.NN(a, a); return a }; F.Tea = function(a, c, d, e) { if (c.x == d.x && c.y == d.y && c.e == d.e && c.H == d.H) return a.x = c.x, a.y = c.y, a.e = c.e, a.H = c.H, a; var f = F.u1(c, d), g = Math.acos(f), f = Math.sqrt(1 - F.Kc(f)), h = Math.sin(e * g) / f, m = new fa, n = new fa; F.Ax(m, c, Math.sin((1 - e) * g) / f); F.Ax(n, d, h); F.s1(a, m, n); return a }; F.QN = function(a, c) { var d; d = Math.sqrt(F.Kc(a.x) + F.Kc(a.y) + F.Kc(a.e)); d > -F.Aa && d < F.Aa || d < 2 * F.jF + F.Aa && d > 2 * F.jF - F.Aa ? (c.x = 0, c.y = 0, c.e = 1) : (c.x = a.x / d, c.y = a.y / d, c.e = a.e / d, F.uf(c, c)) }; F.Ax = function(a, c, d) { a.x = c.x * d; a.y = c.y * d; a.e = c.e * d; a.H = c.H * d }; F.Kea = function(a, c) { a.x = c.x; a.y = c.y; a.e = c.e; a.H = c.H; return a }; F.s1 = function(a, c, d) { a.x = c.x + d.x; a.y = c.y + d.y; a.e = c.e + d.e; a.H = c.H + d.H }; F.Rea = function(a, c, d, e) { var f = new F.ub, g = new F.ub; F.Rs(f, c); F.Rs(g, d); F.uf(f, f); F.uf(g, g); d = F.lF(f, g); if (1 <= d) return F.v1(a), a; - 0.999999 > d ? Math.abs(F.TN(e)) < F.Aa ? F.ON(a, e) : (f = new F.ub, g = new F.ub, g.x = 1, g.y = 0, g.e = 0, F.Wk(f, g, c), Math.abs(F.TN(f)) < F.Aa && (g = new F.ub, g.x = 0, g.y = 1, g.e = 0, F.Wk(f, g, c)), F.uf(f, f), F.ON(a, f)) : (c = Math.sqrt(2 * (1 + d)), e = 1 / c, d = new F.ub, F.Wk(d, f, g), a.x = d.x * e, a.y = d.y * e, a.e = d.e * e, a.H = 0.5 * c, F.NN(a, a)); return a }; F.Qea = function(a, c, d) { var e = new F.ub, f = new F.ub, g = new F.ub; g.x = c.x; g.y = c.y; g.e = c.e; F.Wk(e, g, d); F.Wk(f, g, e); F.mF(e, e, 2 * c.H); F.mF(f, f, 2); F.RN(a, d, e); F.RN(a, a, f); return a }; F.Kda = function(a, c) { this.min = a || new F.ub; this.max = c || new F.ub }; F.Mda = function(a, c) { return a.x >= c.min.x && a.x <= c.max.x && a.y >= c.min.y && a.y <= c.max.y && a.e >= c.min.e && a.e <= c.max.e ? F.cn : F.bn }; F.Lda = function(a, c) { F.Rs(a.min, c.min); F.Rs(a.max, c.max); return a }; F.Nda = function() { F.log("cc.kmAABBScale hasn't been supported.") }; F.Dx = function(a, c, d, e) { this.top = d; this.stack = e }; F.Dx.e6 = 30; F.oF = function(a) { a.stack = []; a.top = q }; F.Ex = function(a, c) { a.stack.push(a.top); a.top = new F.ca; F.zj(a.top, c) }; F.yfa = function(a) { a.top = a.stack.pop() }; F.pF = function(a) { a.stack = q; a.top = q }; F.Mi = 5888; F.Ni = 5889; F.TG = 5890; F.Cj = new F.Dx; F.Zk = new F.Dx; F.yt = new F.Dx; F.Vb = q; F.ZE = r; F.C1 = function() { if (!F.ZE) { var a = new F.ca; F.oF(F.Cj); F.oF(F.Zk); F.oF(F.yt); F.Vb = F.Cj; F.ZE = p; F.Cm(a); F.Ex(F.Cj, a); F.Ex(F.Zk, a); F.Ex(F.yt, a) } }; F.C1(); F.i1 = function() { F.pF(F.Cj); F.pF(F.Zk); F.pF(F.yt); F.ZE = r; F.Vb = q }; F.Bm = function() { F.Ex(F.Vb, F.Vb.top) }; F.Sda = function(a) { F.Vb.stack.push(F.Vb.top); F.zj(a, F.Vb.top); F.Vb.top = a }; F.Am = function() { F.Vb.top = F.Vb.stack.pop() }; F.yi = function(a) { switch (a) { case F.Mi: F.Vb = F.Cj; break; case F.Ni: F.Vb = F.Zk; break; case F.TG: F.Vb = F.yt; break; default: b("Invalid matrix mode specified") } }; F.Xo = function() { F.Cm(F.Vb.top) }; F.Rda = function(a) { F.zj(F.Vb.top, a) }; F.Yo = function(a) { F.zi(F.Vb.top, F.Vb.top, a) }; F.Zo = function(a, c) { var d = new F.ca; F.LN(d, a, c, 0); F.zi(F.Vb.top, F.Vb.top, d) }; F.Tda = function(a, c, d, e) { c = new F.ub(c, d, e); d = new F.ca; F.o1(d, c, F.Qs(a)); F.zi(F.Vb.top, F.Vb.top, d) }; F.Uda = function(a, c, d) { var e = new F.ca; F.p1(e, a, c, d); F.zi(F.Vb.top, F.Vb.top, e) }; F.wx = function(a, c) { switch (a) { case F.Mi: F.zj(c, F.Cj.top); break; case F.Ni: F.zj(c, F.Zk.top); break; case F.TG: F.zj(c, F.yt.top); break; default: b("Invalid matrix mode specified") } }; F.uS = "precision lowp float;\nvarying vec4 v_fragmentColor;\nvoid main() \n{ \n gl_FragColor \x3d v_fragmentColor; \n}\n"; F.vS = "attribute vec4 a_position;\nuniform vec4 u_color;\nuniform float u_pointSize;\nvarying lowp vec4 v_fragmentColor; \nvoid main(void) \n{\n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n gl_PointSize \x3d u_pointSize; \n v_fragmentColor \x3d u_color; \n}"; F.iS = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvoid main() \n{ \n gl_FragColor \x3d v_fragmentColor; \n} "; F.lS = "attribute vec4 a_position;\nattribute vec4 a_color;\nvarying lowp vec4 v_fragmentColor;\nvoid main()\n{\n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_fragmentColor \x3d a_color; \n}"; F.jS = "// #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 \x3d v_color*smoothstep(0.0, length(fwidth(v_texcoord)), 1.0 - length(v_texcoord)); \n// #else\t\ngl_FragColor \x3d v_color * step(0.0, 1.0 - length(v_texcoord)); \n// #endif \n}"; F.kS = "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 \x3d a_color;//vec4(a_color.rgb * a_color.a, a_color.a); \n v_texcoord \x3d a_texcoord; \n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n}"; F.qS = "precision lowp float; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor \x3d texture2D(CC_Texture0, v_texCoord); \n}"; F.tS = "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_texCoord \x3d a_texCoord; \n}"; F.rS = "precision lowp float; \nuniform vec4 u_color; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor \x3d texture2D(CC_Texture0, v_texCoord) * u_color; \n}"; F.sS = "attribute vec4 a_position;\nattribute vec2 a_texCoord; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_texCoord \x3d a_texCoord; \n}"; F.mS = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor \x3d vec4( v_fragmentColor.rgb, \n v_fragmentColor.a * texture2D(CC_Texture0, v_texCoord).a \n ); \n}"; F.nS = "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 \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_fragmentColor \x3d a_color; \n v_texCoord \x3d a_texCoord; \n}"; F.pS = "precision lowp float;\nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor \x3d v_fragmentColor * texture2D(CC_Texture0, v_texCoord); \n}"; F.BH = "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 \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_fragmentColor \x3d a_color; \n v_texCoord \x3d a_texCoord; \n}"; F.oS = "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 \x3d texture2D(CC_Texture0, v_texCoord); \n // mimic: glAlphaFunc(GL_GREATER) \n //pass if ( incoming_pixel \x3e\x3d CC_alpha_value ) \x3d\x3e fail if incoming_pixel \x3c CC_alpha_value \n if ( texColor.a \x3c\x3d CC_alpha_value ) \n discard; \n gl_FragColor \x3d texColor * v_fragmentColor; \n}"; F.O6 = "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 \x3d texture2D(u_texture, v_texCoord); \n vec4 maskColor \x3d texture2D(u_mask, v_texCoord); \n vec4 finalColor \x3d vec4(texColor.r, texColor.g, texColor.b, maskColor.a * texColor.a); \n gl_FragColor \x3d v_fragmentColor * finalColor; \n}"; F.Jd = { Qz: 0, Rz: 1, Oz: 2, Pz: 3, Tz: 4, Sz: 5, Uz: 6, NH: 7, l7: 8, jd: {}, tr: function() { this.E1(); return p }, Ee: function(a, c) { switch (c) { case this.Qz: a.wi(F.BH, F.pS); a.od(F.fl, F.qb); a.od(F.Ep, F.ye); a.od(F.Tm, F.ud); break; case this.Rz: a.wi(F.BH, F.oS); a.od(F.fl, F.qb); a.od(F.Ep, F.ye); a.od(F.Tm, F.ud); break; case this.Oz: a.wi(F.lS, F.iS); a.od(F.fl, F.qb); a.od(F.Ep, F.ye); break; case this.Pz: a.wi(F.tS, F.qS); a.od(F.fl, F.qb); a.od(F.Tm, F.ud); break; case this.Tz: a.wi(F.sS, F.rS); a.od(F.fl, F.qb); a.od(F.Tm, F.ud); break; case this.Sz: a.wi(F.nS, F.mS); a.od(F.fl, F.qb); a.od(F.Ep, F.ye); a.od(F.Tm, F.ud); break; case this.Uz: a.wi(F.vS, F.uS); a.od("aVertex", F.qb); break; case this.NH: a.wi(F.kS, F.jS); a.od(F.fl, F.qb); a.od(F.Tm, F.ud); a.od(F.Ep, F.ye); break; default: F.log("cocos2d: cc.shaderCache._loadDefaultShader, error shader type"); return } a.link(); a.F4() }, E1: function() { var a = new F.Nh; this.Ee(a, this.Qz); this.jd[F.Pi] = a; this.jd.ShaderPositionTextureColor = a; a = new F.Nh; this.Ee(a, this.Rz); this.jd[F.ru] = a; this.jd.ShaderPositionTextureColorAlphaTest = a; a = new F.Nh; this.Ee(a, this.Oz); this.jd[F.qu] = a; this.jd.ShaderPositionColor = a; a = new F.Nh; this.Ee(a, this.Pz); this.jd[F.tq] = a; this.jd.ShaderPositionTexture = a; a = new F.Nh; this.Ee(a, this.Tz); this.jd[F.Fz] = a; this.jd.ShaderPositionTextureUColor = a; a = new F.Nh; this.Ee(a, this.Sz); this.jd[F.Ez] = a; this.jd.ShaderPositionTextureA8Color = a; a = new F.Nh; this.Ee(a, this.Uz); this.jd[F.Gz] = a; this.jd.ShaderPositionUColor = a; a = new F.Nh; this.Ee(a, this.NH); this.jd[F.AH] = a; this.jd.ShaderPositionLengthTextureColor = a }, eha: function() { var a = this.oc(F.Pi); a.reset(); this.Ee(a, this.Qz); a = this.oc(F.ru); a.reset(); this.Ee(a, this.Rz); a = this.oc(F.qu); a.reset(); this.Ee(a, this.Oz); a = this.oc(F.tq); a.reset(); this.Ee(a, this.Pz); a = this.oc(F.Fz); a.reset(); this.Ee(a, this.Tz); a = this.oc(F.Ez); a.reset(); this.Ee(a, this.Sz); a = this.oc(F.Gz); a.reset(); this.Ee(a, this.Uz) }, oc: function(a) { return this.jd[a] }, ym: function(a) { return this.jd[a] }, P8: function(a, c) { this.jd[c] = a } }; F.UQ = function() { this.location = this.value = k; this.hx = {} }; F.Nh = F.ma.extend({ ha: q, Hb: q, nf: q, wg: q, zb: q, bh: q, LL: r, Ke: function(a, c) { if (a == q) return r; for (var d = p, e = q, f = 0; f < this.bh.length; f++) this.bh[f].location == a && (e = this.bh[f]); e ? e.value == c ? d = r : e.value = c : (e = new F.UQ, e.location = a, e.value = c, this.bh.push(e)); return d }, N7: function() { return "\x3cCCGLProgram \x3d " + this.toString() + " | Program \x3d " + this.Hb.toString() + ", VertexShader \x3d " + this.nf.toString() + ", FragmentShader \x3d " + this.wg.toString() + "\x3e" }, UI: function(a, c, d) { if (!d || !a) return r; this.ha.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.ha.compileShader(a); d = this.ha.getShaderParameter(a, this.ha.COMPILE_STATUS); d || (F.log("cocos2d: ERROR: Failed to compile shader:\n" + this.ha.getShaderSource(a)), c == this.ha.VERTEX_SHADER ? F.log("cocos2d: \n" + this.K4()) : F.log("cocos2d: \n" + this.e_())); return 1 == d }, ctor: function(a, c, d) { this.zb = []; this.bh = []; this.ha = d || F.m; a && c && this.M(a, c) }, Q9: function() { this.bh = this.zb = this.wg = this.nf = q; this.ha.deleteProgram(this.Hb) }, wi: function(a, c) { var d = this.ha; this.Hb = d.createProgram(); this.wg = this.nf = q; a && (this.nf = d.createShader(d.VERTEX_SHADER), this.UI(this.nf, d.VERTEX_SHADER, a) || F.log("cocos2d: ERROR: Failed to compile vertex shader")); c && (this.wg = d.createShader(d.FRAGMENT_SHADER), this.UI(this.wg, d.FRAGMENT_SHADER, c) || F.log("cocos2d: ERROR: Failed to compile fragment shader")); this.nf && d.attachShader(this.Hb, this.nf); F.Eo(); this.wg && d.attachShader(this.Hb, this.wg); this.bh.length = 0; F.Eo(); return p }, pd: function(a, c) { return this.wi(a, c) }, K0: function(a, c) { var d = F.V.Dd(a); d || b("Please load the resource firset : " + a); var e = F.V.Dd(c); e || b("Please load the resource firset : " + c); return this.wi(d, e) }, M: function(a, c) { return this.K0(a, c) }, od: function(a, c) { this.ha.bindAttribLocation(this.Hb, c, a) }, link: function() { if (!this.Hb) return F.log("cc.GLProgram.link(): Cannot link invalid program"), r; this.ha.linkProgram(this.Hb); this.nf && this.ha.deleteShader(this.nf); this.wg && this.ha.deleteShader(this.wg); this.wg = this.nf = q; return F.Ic.Oe[F.Ic.Ug.xs] && !this.ha.getProgramParameter(this.Hb, this.ha.LINK_STATUS) ? (F.log("cocos2d: ERROR: Failed to link program: " + this.ha.getProgramInfoLog(this.Hb)), F.r0(this.Hb), this.Hb = q, r) : p }, Nc: function() { F.OE(this.Hb) }, F4: function() { this.zb[F.dA] = this.ha.getUniformLocation(this.Hb, F.WT); this.zb[F.cA] = this.ha.getUniformLocation(this.Hb, F.UT); this.zb[F.Jq] = this.ha.getUniformLocation(this.Hb, F.VT); this.zb[F.hA] = this.ha.getUniformLocation(this.Hb, F.$T); this.zb[F.gA] = this.ha.getUniformLocation(this.Hb, F.ZT); this.zb[F.bA] = this.ha.getUniformLocation(this.Hb, F.TT); this.LL = this.zb[F.hA] != q || this.zb[F.gA] != q || this.zb[F.bA] != q; this.zb[F.eA] = this.ha.getUniformLocation(this.Hb, F.XT); this.zb[F.fA] = this.ha.getUniformLocation(this.Hb, F.YT); this.Nc(); this.hP(this.zb[F.fA], 0) }, Hca: function(a) { a || b("cc.GLProgram.getUniformLocationForName(): uniform name should be non-null"); this.Hb || b("cc.GLProgram.getUniformLocationForName(): Invalid operation. Cannot get uniform location when program is not initialized"); return this.ha.getUniformLocation(this.Hb, a) }, Ica: function() { return this.zb[F.Jq] }, Jca: function() { return this.zb[F.fA] }, hP: function(a, c) { this.Ke(a, c) && this.ha.uniform1i(a, c) }, Eja: function(a, c, d) { this.Ke(a, [c, d]) && this.ha.uniform2i(a, c, d) }, Hja: function(a, c, d, e) { this.Ke(a, [c, d, e]) && this.ha.uniform3i(a, c, d, e) }, Kja: function(a, c, d, e, f) { this.Ke(a, [c, d, e, f]) && this.ha.uniform4i(a, c, d, e, f) }, Fja: function(a, c) { this.Ke(a, c) && this.ha.uniform2iv(a, c) }, Ija: function(a, c) { this.Ke(a, c) && this.ha.uniform3iv(a, c) }, Lja: function(a, c) { this.Ke(a, c) && this.ha.uniform4iv(a, c) }, Cja: function(a, c) { this.hP(a, c) }, st: function(a, c) { this.Ke(a, c) && this.ha.uniform1f(a, c) }, L3: function(a, c, d) { this.Ke(a, [c, d]) && this.ha.uniform2f(a, c, d) }, M3: function(a, c, d, e) { this.Ke(a, [c, d, e]) && this.ha.uniform3f(a, c, d, e) }, tt: function(a, c, d, e, f) { this.Ke(a, [c, d, e, f]) && this.ha.uniform4f(a, c, d, e, f) }, Dja: function(a, c) { this.Ke(a, c) && this.ha.uniform2fv(a, c) }, Gja: function(a, c) { this.Ke(a, c) && this.ha.uniform3fv(a, c) }, Jja: function(a, c) { this.Ke(a, c) && this.ha.uniform4fv(a, c) }, dG: function(a, c) { this.Ke(a, c) && this.ha.uniformMatrix4fv(a, r, c) }, Bja: function() { if (!(2 > arguments.length)) switch (arguments.length) { case 2: this.st(arguments[0], arguments[1]); break; case 3: this.L3(arguments[0], arguments[1], arguments[2]); break; case 4: this.M3(arguments[0], arguments[1], arguments[2], arguments[3]); break; case 5: this.tt(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]) } }, ut: function() { var a = new F.ca, c = new F.ca, d = new F.ca; F.wx(F.Ni, a); F.wx(F.Mi, c); F.zi(d, a, c); this.dG(this.zb[F.dA], a.c, 1); this.dG(this.zb[F.cA], c.c, 1); this.dG(this.zb[F.Jq], d.c, 1); this.LL && (a = F.I, a = a.ww * a.Rq, this.tt(this.zb[F.hA], a / 10, a, 2 * a, 4 * a), this.tt(this.zb[F.gA], a / 8, a / 4, a / 2, Math.sin(a)), this.tt(this.zb[F.bA], a / 8, a / 4, a / 2, Math.cos(a))); - 1 != this.zb[F.eA] && this.tt(this.zb[F.eA], Math.random(), Math.random(), Math.random(), Math.random()) }, zja: function() { this.ha.uniformMatrix4fv(this.zb[F.Jq], r, F.L_()) }, Aja: function(a) { F.zi(a, F.Zk.top, F.Cj.top); this.ha.uniformMatrix4fv(this.zb[F.Jq], r, a.c) }, Ze: function() { this.ha.uniformMatrix4fv(this.zb[F.cA], r, F.Cj.top.c); this.ha.uniformMatrix4fv(this.zb[F.dA], r, F.Zk.top.c) }, K4: function() { return this.ha.getShaderInfoLog(this.nf) }, Oca: function() { return this.ha.getShaderInfoLog(this.nf) }, cba: function() { return this.ha.getShaderInfoLog(this.nf) }, e_: function() { return this.ha.getShaderInfoLog(this.wg) }, Mga: function() { return this.ha.getProgramInfoLog(this.Hb) }, Yba: function() { return this.ha.getProgramInfoLog(this.Hb) }, reset: function() { this.wg = this.nf = q; this.zb.length = 0; this.ha.deleteProgram(this.Hb); this.Hb = q; for (var a = 0; a < this.bh.length; a++) this.bh[a].value = q, this.bh[a] = q; this.bh.length = 0 }, ym: A("Hb"), ay: t(), Ei: t() }); F.Nh.create = function(a, c) { return new F.Nh(a, c) }; F.$I = -1; F.CD = r; F.BD = r; F.DD = r; F.Wg && (F.tR = 16, F.br = -1, F.ar = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], F.pn = -1, F.on = -1, F.jU = 0, F.Kz && (F.DL = 0)); F.Yca = function() { F.i1(); F.$I = -1; F.CD = r; F.BD = r; F.DD = r; if (F.Wg) { F.br = -1; for (var a = 0; a < F.tR; a++) F.ar[a] = -1; F.pn = -1; F.on = -1; F.jU = 0 } }; F.OE = function(a) { a !== F.br && (F.br = a, F.m.useProgram(a)) }; F.Wg || (F.OE = function(a) { F.m.useProgram(a) }); F.r0 = function(a) { F.Wg && a === F.br && (F.br = -1); gl.deleteProgram(a) }; F.Eh = function(a, c) { if (a !== F.pn || c !== F.on) F.pn = a, F.on = c, F.ey(a, c) }; F.ey = function(a, c) { var d = F.m; a === d.ONE && c === d.ZERO ? d.disable(d.BLEND) : (d.enable(d.BLEND), F.m.blendFunc(a, c)) }; F.oN = function(a, c) { if (a !== F.pn || c !== F.on) { F.pn = a; F.on = c; var d = F.m; a === d.ONE && c === d.ZERO ? d.disable(d.BLEND) : (d.enable(d.BLEND), d.blendFuncSeparate(d.SRC_ALPHA, c, a, c)) } }; F.Wg || (F.Eh = F.ey); F.Vca = function() { var a = F.m; a.blendEquation(a.FUNC_ADD); F.Wg ? F.ey(F.pn, F.on) : F.ey(a.hc, a.gc) }; F.XO = function() { F.$I = -1 }; F.Jc = function(a) { var c = F.m, d = a & F.Md; d !== F.CD && (d ? c.enableVertexAttribArray(F.qb) : c.disableVertexAttribArray(F.qb), F.CD = d); d = a & F.Cu; d !== F.BD && (d ? c.enableVertexAttribArray(F.ye) : c.disableVertexAttribArray(F.ye), F.BD = d); a &= F.hn; a !== F.DD && (a ? c.enableVertexAttribArray(F.ud) : c.disableVertexAttribArray(F.ud), F.DD = a) }; F.qe = function(a) { F.NE(0, a) }; F.NE = function(a, c) { if (F.ar[a] != c) { F.ar[a] = c; var d = F.m; d.activeTexture(d.TEXTURE0 + a); c ? d.bindTexture(d.TEXTURE_2D, c.Vd) : d.bindTexture(d.TEXTURE_2D, q) } }; F.Wg || (F.NE = function(a, c) { var d = F.m; d.activeTexture(d.TEXTURE0 + a); c ? d.bindTexture(d.TEXTURE_2D, c.Vd) : d.bindTexture(d.TEXTURE_2D, q) }); F.Wca = function(a) { F.s0(a) }; F.s0 = function(a) { F.Wg && a == F.ar[0] && (F.ar[0] = -1); F.m.deleteTexture(a) }; F.Uca = function(a) { F.Kz && (F.Wg && F.DL != a) && (F.DL = a) }; F.Xca = t(); F.Z5 = 0; F.a6 = 1; F.b6 = 2; F.Qj = function(a) { a -= 1; a |= a >> 1; a |= a >> 2; a |= a >> 4; a |= a >> 8; return (a | a >> 16) + 1 }; F.en = F.t.extend({ sprite: q, Lw: 0, cE: 0, rs: r, ae: q, Ae: q, qv: 0, cr: 0, fi: 0, L: q, bs: q, rY: q, hi: F.ea.Oi, Ui: q, dE: 0, OA: q, tb: "RenderTexture", ctor: q, Zq: function(a, c, d, e) { F.t.prototype.ctor.call(this); this.Ui = F.color(255, 255, 255, 255); this.OA = "rgba(255,255,255,1)"; this.ae = F.Nb("canvas"); this.Ae = this.ae.getContext("2d"); this.anchorY = this.anchorX = 0; a !== k && c !== k && (d = d || F.ea.Oi, this.qx(a, c, d, e || 0)) }, $q: function(a, c, d, e) { F.t.prototype.ctor.call(this); this.Ui = F.color(0, 0, 0, 0); a !== k && c !== k && (d = d || F.ea.Oi, this.qx(a, c, d, e || 0)) }, Ne: q, NU: function() { F.t.prototype.Ab.call(this); this.ae = this.Ae = q }, OU: function() { F.t.prototype.Ab.call(this); this.bs = q; var a = F.m; a.deleteFramebuffer(this.qv); this.cr && a.deleteRenderbuffer(this.cr); this.rY = q }, gN: A("sprite"), ny: y("sprite"), qx: q, lW: function(a, c) { var d = this.ae, e = F.rb(); d.width = 0 | a * e; d.height = 0 | c * e; this.Ae.translate(0, d.height); e = new F.ea; e.Ed(d); e.Wb(); this.sprite = F.aa.create(e); return p }, mW: function(a, c, d, e) { d == F.ea.kq && F.log("cc.RenderTexture._initWithWidthAndHeightForWebGL() : only RGB and RGBA formats are valid for a render texture;"); var f = F.m, g = F.rb(); a = 0 | a * g; c = 0 | c * g; this.fi = f.getParameter(f.FRAMEBUFFER_BINDING); var h; F.Fo.tw ? (g = a, h = c) : (g = F.Qj(a), h = F.Qj(c)); for (var m = new Uint8Array(4 * g * h), n = 0; n < 4 * g * h; n++) m[n] = 0; this.hi = d; this.L = new F.ea; if (!this.L) return r; n = this.L; n.Ms(m, this.hi, g, h, F.size(a, c)); d = f.getParameter(f.RENDERBUFFER_BINDING); if (F.Fo.Do("GL_QCOM")) { this.bs = new F.ea; if (!this.bs) return r; this.bs.Ms(m, this.hi, g, h, F.size(a, c)) } this.qv = f.createFramebuffer(); f.bindFramebuffer(f.FRAMEBUFFER, this.qv); f.framebufferTexture2D(f.FRAMEBUFFER, f.COLOR_ATTACHMENT0, f.TEXTURE_2D, n.Vd, 0); 0 != e && (this.cr = f.createRenderbuffer(), f.bindRenderbuffer(f.RENDERBUFFER, this.cr), f.renderbufferStorage(f.RENDERBUFFER, e, g, h), f.framebufferRenderbuffer(f.FRAMEBUFFER, f.DEPTH_ATTACHMENT, f.RENDERBUFFER, this.cr)); f.checkFramebufferStatus(f.FRAMEBUFFER) !== f.FRAMEBUFFER_COMPLETE && F.log("Could not attach texture to the framebuffer"); n.LF(); a = this.sprite = F.aa.create(n); a.scaleY = -1; a.Ue(f.ONE, f.ONE_MINUS_SRC_ALPHA); f.bindRenderbuffer(f.RENDERBUFFER, d); f.bindFramebuffer(f.FRAMEBUFFER, this.fi); this.rs = r; this.Q(a); return p }, xh: q, zU: function() { F.m = this.Ae; F.view.jL() }, AU: function() { F.yi(F.Ni); F.Bm(); F.yi(F.Mi); F.Bm(); var a = F.I; a.Mm(a.ki); var c = this.L.P, d = F.I.Hs(), a = d.width / c.width, d = d.height / c.height, e = F.m; e.viewport(0, 0, c.width, c.height); c = new F.ca; F.iF(c, -1 / a, 1 / a, -1 / d, 1 / d, -1, 1); F.Yo(c); this.fi = e.getParameter(e.FRAMEBUFFER_BINDING); e.bindFramebuffer(e.FRAMEBUFFER, this.qv); F.Fo.Do("GL_QCOM") && (e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, this.bs.Vd, 0), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT), e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, this.L.Vd, 0)) }, bZ: function(a, c, d, e, f, g) { var h = F.m; f = f || h.COLOR_BUFFER_BIT; g = g || h.COLOR_BUFFER_BIT | h.DEPTH_BUFFER_BIT; this.EA(a, c, d, e, f, g, h.COLOR_BUFFER_BIT | h.DEPTH_BUFFER_BIT | h.STENCIL_BUFFER_BIT) }, EA: q, BU: function(a, c, d, e) { this.xh(); a = a || 0; c = c || 0; d = d || 0; e = isNaN(e) ? 1 : e; var f = this.Ae, g = this.ae; f.save(); f.fillStyle = "rgba(" + (0 | a) + "," + (0 | c) + "," + (0 | d) + "," + e / 255 + ")"; f.clearRect(0, 0, g.width, -g.height); f.fillRect(0, 0, g.width, -g.height); f.restore() }, CU: function(a, c, d, e, f, g, h) { this.xh(); var m = F.m, n = [0, 0, 0, 0], s = 0, u = 0; h & m.COLOR_BUFFER_BIT && (n = m.getParameter(m.COLOR_CLEAR_VALUE), m.clearColor(a, c, d, e)); h & m.DEPTH_BUFFER_BIT && (s = m.getParameter(m.DEPTH_CLEAR_VALUE), m.clearDepth(f)); h & m.STENCIL_BUFFER_BIT && (u = m.getParameter(m.STENCIL_CLEAR_VALUE), m.clearStencil(g)); m.clear(h); h & m.COLOR_BUFFER_BIT && m.clearColor(n[0], n[1], n[2], n[3]); h & m.DEPTH_BUFFER_BIT && m.clearDepth(s); h & m.STENCIL_BUFFER_BIT && m.clearStencil(u) }, end: q, jV: function() { F.m = F.EW; F.view.XK() }, kV: function() { var a = F.m, c = F.I; a.bindFramebuffer(a.FRAMEBUFFER, this.fi); c.iP(); F.yi(F.Ni); F.Am(); F.yi(F.Mi); F.Am() }, clear: function(a, c, d, e) { this.bZ(a, c, d, e); this.end() }, clearRect: q, RU: function(a, c, d, e) { this.Ae.clearRect(a, c, d, -e) }, SU: t(), clearDepth: q, PU: function() { F.log("clearDepth isn't supported on Cocos2d-Html5") }, QU: function(a) { this.xh(); var c = F.m, d = c.getParameter(c.DEPTH_CLEAR_VALUE); c.clearDepth(a); c.clear(c.DEPTH_BUFFER_BIT); c.clearDepth(d); this.end() }, clearStencil: q, TU: function() { F.log("clearDepth isn't supported on Cocos2d-Html5") }, UU: function(a) { var c = F.m, d = c.getParameter(c.STENCIL_CLEAR_VALUE); c.clearStencil(a); c.clear(c.STENCIL_BUFFER_BIT); c.clearStencil(d) }, S: q, gm: function(a) { this.yc && (a = a || F.m, a.save(), this.Y(a), this.transform(a), this.sprite.S(), a.restore(), this.arrivalOrder = 0) }, ls: function(a) { if (this.yc) { F.Bm(); var c = this.grid; c && c.tf() && (c.ts(), this.uy()); this.transform(a); this.sprite.S(); this.Y(a); c && c.tf() && c.qs(this); F.Am(); this.arrivalOrder = 0 } }, Y: q, Dl: function(a) { a = a || F.m; if (this.rs) { this.xh(); if (this.Lw) { var c = this.ae; a.save(); a.fillStyle = this.OA; a.clearRect(0, 0, c.width, -c.height); a.fillRect(0, 0, c.width, -c.height); a.restore() } this.Wc(); a = this.u; for (var c = a.length, d = this.sprite, e = 0; e < c; e++) { var f = a[e]; f != d && f.S() } this.end() } }, Wi: function() { var a = F.m; if (this.rs) { this.xh(); var c = this.Lw; if (c) { var d = [0, 0, 0, 0], e = 0, f = 0; c & a.COLOR_BUFFER_BIT && (d = a.getParameter(a.COLOR_CLEAR_VALUE), a.clearColor(this.Ui.r / 255, this.Ui.g / 255, this.Ui.b / 255, this.Ui.a / 255)); c & a.DEPTH_BUFFER_BIT && (e = a.getParameter(a.DEPTH_CLEAR_VALUE), a.clearDepth(this.cE)); c & a.STENCIL_BUFFER_BIT && (f = a.getParameter(a.STENCIL_CLEAR_VALUE), a.clearStencil(this.dE)); a.clear(c); c & a.COLOR_BUFFER_BIT && a.clearColor(d[0], d[1], d[2], d[3]); c & a.DEPTH_BUFFER_BIT && a.clearDepth(e); c & a.STENCIL_BUFFER_BIT && a.clearStencil(f) } this.Wc(); a = this.u; for (c = 0; c < a.length; c++) d = a[c], d != this.sprite && d.S(); this.end() } }, Nfa: function() { F.log("saveToFile isn't supported on cocos2d-html5"); return q }, h8: function(a, c, d, e, f) { for (var g = 0; g < f; g++) a[c + g] = d[e + g] }, Fha: function() { F.log("saveToFile isn't supported on Cocos2d-Html5") }, Bfa: function() { F.log("listenToBackground isn't supported on Cocos2d-Html5") }, Cfa: function() { F.log("listenToForeground isn't supported on Cocos2d-Html5") }, Aaa: A("Lw"), Yha: y("Lw"), m_: A("Ui"), NF: q, yX: function(a) { var c = this.Ui; c.r = a.r; c.g = a.g; c.b = a.b; c.a = a.a; this.OA = "rgba(" + (0 | a.r) + "," + (0 | a.g) + "," + (0 | a.b) + "," + a.a / 255 + ")" }, zX: function(a) { var c = this.Ui; c.r = a.r; c.g = a.g; c.b = a.b; c.a = a.a }, zaa: A("cE"), Xha: y("cE"), Baa: A("dE"), Zha: y("dE"), kda: A("rs"), Qha: y("rs") }); M = F.en.prototype; F.B == F.$ ? (M.ctor = M.$q, M.Ne = M.OU, M.qx = M.mW, M.xh = M.AU, M.EA = M.CU, M.end = M.kV, M.clearRect = M.SU, M.clearDepth = M.QU, M.clearStencil = M.UU, M.S = M.ls, M.Y = M.Wi, M.NF = M.zX) : (M.ctor = M.Zq, M.Ne = M.NU, M.qx = M.lW, M.xh = M.zU, M.EA = M.BU, M.end = M.jV, M.clearRect = M.RU, M.clearDepth = M.PU, M.clearStencil = M.TU, M.S = M.gm, M.Y = M.Dl, M.NF = M.yX); F.j(M, "clearColorVal", M.m_, M.NF); F.en.create = function(a, c, d, e) { return new F.en(a, c, d, e) }; F.Ph = F.Ii.extend({ Jb: q, OB: q, oa: r, hb: q, tb: "LabelAtlas", ctor: function(a, c, d, e, f) { F.Ii.prototype.ctor.call(this); c && F.Ph.prototype.pd.call(this, a, c, d, e, f) }, xt: A("oa"), Wd: function(a, c) { this.hb || (this.hb = []); this.hb.push({ yh: a, Vf: c }) }, Od: function() { if (this.hb) { this.oa = p; for (var a = this.hb, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.yh.call(e.Vf, this) } a.length = 0 } }, pd: function(a, c, d, e, f) { var g = a + "", h, m; if (d === k) { d = F.V.Dd(c); if (1 !== parseInt(d.version, 10)) return F.log("cc.LabelAtlas.initWithString(): Unsupported version. Upgrade cocos2d version"), r; c = F.path.Co(c, d.textureFilename); e = F.rb(); h = parseInt(d.itemWidth, 10) / e; m = parseInt(d.itemHeight, 10) / e; d = String.fromCharCode(parseInt(d.firstChar, 10)) } else h = d || 0, m = e || 0, d = f || " "; var n = q, n = c instanceof F.ea ? c : F.Fa.Hc(c); (this.oa = c = n.uc) || n.Wd(function() { this.sa(n, h, m, g.length); this.string = g; this.Od() }, this); return this.sa(n, h, m, g.length) ? (this.OB = d, this.string = g, p) : r }, Wa: function(a) { F.Ii.prototype.Wa.call(this, a); this.Bp() }, Tk: A("Jb"), Y: function(a) { F.Ii.prototype.Y.call(this, a); F.kR && (a = this.size, a = [F.d(0, 0), F.d(a.width, 0), F.d(a.width, a.height), F.d(0, a.height)], F.Ce.Yd(a, 4, p)) }, wA: function(a, c, d) { a.xW = p; F.ja.prototype.Q.call(this, a, c, d) }, Bp: q, sY: function() { for (var a = this.Jb || "", c = a.length, d = this.texture, e = this.bi, f = this.gh, g = 0; g < c; g++) { var h = a.charCodeAt(g) - this.OB.charCodeAt(0), h = F.rect(parseInt(h % this.Zn, 10) * e, parseInt(h / this.Zn, 10) * f, e, f), m = a.charCodeAt(g), n = this.Bh(g); n ? 32 == m ? (n.M(), n.vb(F.rect(0, 0, 10, 10), r, F.size(0, 0))) : (n.sa(d, h), n.visible = p, n.opacity = this.Ba) : (n = new F.aa, 32 == m ? (n.M(), n.vb(F.rect(0, 0, 10, 10), r, F.size(0, 0))) : n.sa(d, h), F.ja.prototype.Q.call(this, n, 0, g)); n.G(g * e + e / 2, f / 2) } }, tY: function() { var a = this.Jb, c = a.length, d = this.textureAtlas, e = d.texture, f = e.pixelsWidth, e = e.pixelsHeight, g = this.bi, h = this.gh; this.zv || (g = this.bi * F.rb(), h = this.gh * F.rb()); c > d.vd && F.log("cc.LabelAtlas._updateAtlasValues(): Invalid String length"); for (var m = d.quads, n = this.Da, n = { r: n.r, g: n.g, b: n.b, a: this.Ba }, s = this.bi, u = 0; u < c; u++) { var v = a.charCodeAt(u) - this.OB.charCodeAt(0), x = v % this.Zn, w = 0 | v / this.Zn, z; F.Wm ? (x = (2 * x * g + 1) / (2 * f), v = x + (2 * g - 2) / (2 * f), w = (2 * w * h + 1) / (2 * e), z = w + (2 * h - 2) / (2 * e)) : (x = x * g / f, v = x + g / f, w = w * h / e, z = w + h / e); var B = m[u], C = B.N, D = B.K, L = B.F, B = B.O; C.n.fa = x; C.n.ga = w; D.n.fa = v; D.n.ga = w; L.n.fa = x; L.n.ga = z; B.n.fa = v; B.n.ga = z; L.k.x = u * s; L.k.y = 0; L.k.e = 0; B.k.x = u * s + s; B.k.y = 0; B.k.e = 0; C.k.x = u * s; C.k.y = this.gh; C.k.e = 0; D.k.x = u * s + s; D.k.y = this.gh; D.k.e = 0; C.v = n; D.v = n; L.v = n; B.v = n } 0 < c && (d.dirty = p, a = d.totalQuads, c > a && d.tN(c - a)) }, Mc: q, WX: function(a) { a = String(a); var c = a.length; this.Jb = a; this.width = c * this.bi; this.height = this.gh; if (this.u) { a = this.u; for (var c = a.length, d = 0; d < c; d++) { var e = a[d]; e && !e.xW && (e.visible = r) } } this.Bp(); this.quadsToDraw = c }, YX: function(a) { a = String(a); var c = a.length; c > this.textureAtlas.totalQuads && this.textureAtlas.FF(c); this.Jb = a; this.width = c * this.bi; this.height = this.gh; this.Bp(); this.quadsToDraw = c }, va: q, QC: function(a) { if (this.Ba !== a) { F.Ii.prototype.va.call(this, a); for (var c = this.u, d = 0, e = c.length; d < e; d++) c[d] && (c[d].opacity = a) } }, RC: function(a) { this.Sd !== a && F.Ii.prototype.va.call(this, a) } }); M = F.Ph.prototype; F.B === F.$ ? (M.Bp = M.tY, M.Mc = M.YX, M.va = M.RC) : (M.Bp = M.sY, M.Mc = M.WX, M.va = M.QC, M.Q = M.wA); F.j(M, "opacity", M.Qe, M.va); F.j(M, "string", M.Tk, M.Mc); F.Ph.create = function(a, c, d, e, f) { return new F.Ph(a, c, d, e, f) }; F.g6 = -1; F.$y = F.yf.extend({ wb: p, Qa: r, Jb: "", Df: q, tv: "", Un: "", Pq: F.xq, ms: -1, sK: r, Av: q, ZK: q, Ba: 255, Td: 255, Da: q, bc: q, wd: p, ce: p, oa: r, hb: q, tb: "LabelBMFont", kL: function(a, c) { c ? this.Un = a : this.Jb = a; var d = this.u; if (d) for (var e = 0; e < d.length; e++) { var f = d[e]; f && f.jP(r) } this.oa && (this.Qw(), c && this.hg()) }, ctor: function(a, c, d, e, f) { F.yf.prototype.ctor.call(this); this.Av = F.d(0, 0); this.Da = F.color(255, 255, 255, 255); this.bc = F.color(255, 255, 255, 255); this.ZK = []; this.pd(a, c, d, e, f) }, xt: A("oa"), Wd: function(a, c) { this.hb || (this.hb = []); this.hb.push({ yh: a, Vf: c }) }, Od: function() { if (this.hb) { for (var a = this.hb, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.yh.call(e.Vf, this) } a.length = 0 } }, Y: function(a) { F.yf.prototype.Y.call(this, a); if (F.lR) { a = this.fc(); var c = F.d(0 | -this.eb.x, 0 | -this.eb.y); a = [F.d(c.x, c.y), F.d(c.x + a.width, c.y), F.d(c.x + a.width, c.y + a.height), F.d(c.x, c.y + a.height)]; F.Ce.qp(0, 255, 0, 255); F.Ce.Yd(a, 4, p) } }, Wa: function(a) { var c = this.Da, d = this.bc; d.r == a.r && d.g == a.g && d.b == a.b && d.a == a.a || (c.r = d.r = a.r, c.g = d.g = a.g, c.b = d.b = a.b, this.oa && this.wd && (c = F.color.WHITE, (d = this.Tb) && (d.wb && d.cascadeColor) && (c = d.xm()), this.Ob(c)), a.a !== k && !a.os && this.va(a.a)) }, re: A("Qa"), Hd: function(a) { this.Qa = a; if (a = this.u) for (var c = 0; c < a.length; c++) { var d = a[c]; d && d.wb && (d.opacityModifyRGB = this.Qa) } }, Qe: A("Td"), NM: A("Ba"), va: function(a) { this.Ba = this.Td = a; if (this.ce) { var c = 255, d = this.Tb; d && (d.wb && d.cascadeOpacity) && (c = d.Ba); this.Mb(c) } this.Da.a = this.bc.a = a }, Mb: function(a) { this.Ba = this.Td * a / 255; a = this.u; for (var c = 0; c < a.length; c++) { var d = a[c]; F.B == F.$ ? d.Mb(this.Ba) : (F.ja.prototype.Mb.call(d, this.Ba), d.Ka()) } this.gk() }, Os: E(r), pp: y("ce"), Pe: function() { var a = this.bc; return F.color(a.r, a.g, a.b, a.a) }, xm: A("Da"), Ob: function(a) { var c = this.Da, d = this.bc; c.r = d.r * a.r / 255; c.g = d.g * a.g / 255; c.b = d.b * a.b / 255; a = this.u; for (c = 0; c < a.length; c++) d = a[c], F.B == F.$ ? d.Ob(this.Da) : (F.ja.prototype.Ob.call(d, this.Da), d.Ka()); this.gk() }, gk: function() { if (F.B != F.$) { var a, c = this.texture; if (c && 0 < c.width && (a = c.Eb)) if (c = F.Fa.bx(this.ie.Eb)) a instanceof HTMLCanvasElement && !this.bd ? F.No(a, c, this.Da, q, a) : (a = F.No(a, c, this.Da), c = new F.ea, c.Ed(a), c.Wb(), this.texture = c) } }, Ns: E(r), op: y("wd"), M: function() { return this.pd(q, q, q, q, q) }, pd: function(a, c, d, e, f) { a = a || ""; this.Df && F.log("cc.LabelBMFont.initWithString(): re-init is no longer supported"); if (c) { var g = F.V.Dd(c); if (!g) return F.log("cc.LabelBMFont.initWithString(): Impossible to create font. Please check file"), r; this.Df = g; this.tv = c; c = F.Fa.Hc(g.TL); (this.oa = g = c.uc) || c.Wd(function(a) { this.oa = p; this.sa(a, this.Un.length); this.Mc(this.Un, p); this.Od() }, this) } else c = new F.ea, g = new Image, c.Ed(g), this.oa = r; return this.sa(c, a.length) ? (this.Pq = e || F.tu, this.Av = f || F.d(0, 0), this.ms = d == q ? -1 : d, this.Ba = this.Td = 255, this.Da = F.color(255, 255, 255, 255), this.bc = F.color(255, 255, 255, 255), this.wd = this.ce = p, this.P.width = 0, this.P.height = 0, this.Fi(0.5, 0.5), F.B === F.$ && (d = this.textureAtlas.texture, this.Qa = d.ti(), e = this.ZK = new F.aa, e.sa(d, F.rect(0, 0, 0, 0), r), e.batchNode = this), this.Mc(a, p), p) : r }, Qw: function() { var a = F.B, c = a === F.Ca ? this.texture : this.textureAtlas.texture, d = 0, e = F.size(0, 0), f = 0, g = 1, h = this.Jb, m = h ? h.length : 0; if (0 !== m) { var n, s = this.Df, u = s.c1, v = s.fE, x = s.d_; for (n = 0; n < m - 1; n++) 10 == h.charCodeAt(n) && g++; var w = v * g, g = -(v - v * g), z = -1; for (n = 0; n < m; n++) if (v = h.charCodeAt(n), 0 != v) if (10 === v) d = 0, g -= s.fE; else { var B = u[z << 16 | v & 65535] || 0, C = x[v]; if (C) { var D = F.rect(C.rect.x, C.rect.y, C.rect.width, C.rect.height), D = F.Gj(D); D.x += this.Av.x; D.y += this.Av.y; (z = this.Bh(n)) ? 32 === v && a === F.Ca ? z.vb(D, r, F.size(0, 0)) : (z.vb(D, r), z.visible = p): (z = new F.aa, 32 === v && a === F.Ca && (D = F.rect(0, 0, 0, 0)), z.sa(c, D, r), z.TB = p, this.Q(z, 0, n)); z.opacityModifyRGB = this.Qa; F.B == F.$ ? (z.Ob(this.Da), z.Mb(this.Ba)) : (F.ja.prototype.Ob.call(z, this.Da), F.ja.prototype.Mb.call(z, this.Ba), z.Ka()); D = F.d(d + C.LP + 0.5 * C.rect.width + B, g + (s.fE - C.MP) - 0.5 * D.height * F.rb()); z.G(F.zF(D)); d += C.O4 + B; z = v; f < d && (f = d) } else F.log("cocos2d: LabelBMFont: character not found " + h[n]) } e.width = f; e.height = w; this.Zd(F.mP(e)) } }, Cka: function(a) { var c = this.u; if (c) for (var d = 0, e = c.length; d < e; d++) { var f = c[d]; f && (f.visible = r) } this.Df && this.Qw(); a || this.hg() }, Tk: A("Un"), Mc: function(a, c) { a = String(a); c == q && (c = p); if (a == q || "string" != typeof a) a += ""; this.Un = a; this.kL(a, c) }, XX: function(a) { this.Mc(a, r) }, Uha: function(a) { this.Mc(a, p) }, hg: function() { this.string = this.Un; if (0 < this.ms) { for (var a = this.Jb.length, c = [], d = [], e = 1, f = 0, g = r, h = r, m = -1, n = -1, s = 0, u, v = 0, x = this.u.length; v < x; v++) { for (var w = 0; !(u = this.Bh(v + s + w));) w++; s += w; if (f >= a) break; var z = this.Jb[f]; h || (n = this.sB(u), h = p); g || (m = n, g = p); if (10 == z.charCodeAt(0)) { d.push("\n"); c = c.concat(d); d.length = 0; g = h = r; m = n = -1; v--; s -= w; e++; if (f >= a) break; n || (n = this.sB(u), h = p); m || (m = n, g = p); f++ } else if (F.fF(z)) d.push(z), c = c.concat(d), d.length = 0, h = r, n = -1, f++; else if (this.JV(u) - m > this.ms) if (this.sK) { F.HP(d); d.push("\n"); c = c.concat(d); d.length = 0; g = h = r; m = n = -1; e++; if (f >= a) break; n || (n = this.sB(u), h = p); m || (m = n, g = p); v-- } else d.push(z), -1 != c.lastIndexOf(" ") ? F.HP(c) : c = [], 0 < c.length && c.push("\n"), e++, g = r, m = -1, f++; else d.push(z), f++ } c = c.concat(d); v = c.length; u = ""; for (f = 0; f < v; ++f) u += c[f]; u += String.fromCharCode(0); this.kL(u, r) } if (this.Pq != F.tu) { c = f = 0; a = this.Jb.length; d = []; for (e = 0; e < a; e++) if (10 == this.Jb[e].charCodeAt(0) || 0 == this.Jb[e].charCodeAt(0)) if (v = 0, g = d.length, 0 == g) c++; else { if (u = f + g - 1 + c, !(0 > u) && (v = this.Bh(u), v != q)) { v = v.Re() + v.ah() / 2; h = 0; switch (this.Pq) { case F.xq: h = this.width / 2 - v / 2; break; case F.JH: h = this.width - v } if (0 != h) for (v = 0; v < g; v++) if (u = f + v + c, !(0 > u) && (u = this.Bh(u))) u.x += h; f += g; c++; d.length = 0 } } else d.push(this.Jb[f]) } }, O2: function(a) { this.Pq = a; this.hg() }, tV: A("Pq"), T2: function(a) { this.ms = a; this.hg() }, oB: A("ms"), Eia: function(a) { this.sK = a; this.hg() }, rp: function(a, c) { F.t.prototype.rp.call(this, a, c); this.hg() }, pt: function(a) { F.t.prototype.pt.call(this, a); this.hg() }, qt: function(a) { F.t.prototype.qt.call(this, a); this.hg() }, oia: function(a) { if (a != q && a != this.tv) { var c = F.V.Dd(a); c ? (this.tv = a, this.Df = c, a = F.Fa.Hc(c.TL), this.oa = c = a.uc, this.texture = a, F.B === F.Ca && (this.ie = this.texture), c ? this.Qw() : a.Wd(function(a) { this.oa = p; this.texture = a; this.Qw(); this.gk(); this.hg(); this.Od() }, this)) : F.log("cc.LabelBMFont.setFntFile() : Impossible to create font. Please check file") } }, aba: A("tv"), Fi: function(a, c) { F.t.prototype.Fi.call(this, a, c); this.hg() }, hL: function(a) { F.t.prototype.hL.call(this, a); this.hg() }, IC: function(a) { F.t.prototype.IC.call(this, a); this.hg() }, JC: function(a) { F.t.prototype.JC.call(this, a); this.hg() }, F7: t(), a8: function(a, c) { var d = 0; if (this.XU.d1) { var e = this.XU.d1[(a << 16 | c & 65535).toString()]; e && (d = e.a9) } return d }, sB: function(a) { return a.Re() * this.qa - a.ah() * this.qa * a.Rc.x }, JV: function(a) { return a.Re() * this.qa + a.ah() * this.qa * a.Rc.x } }); M = F.$y.prototype; F.j(M, "opacityModifyRGB", M.re, M.Hd); F.j(M, "opacity", M.Qe, M.va); F.j(M, "cascadeOpacity", M.Os, M.pp); F.j(M, "color", M.Pe, M.Wa); F.j(M, "cascadeColor", M.Ns, M.op); F.j(M, "string", M.Tk, M.XX); F.j(M, "boundingWidth", M.oB, M.T2); F.j(M, "textAlign", M.tV, M.O2); F.$y.create = function(a, c, d, e, f) { return new F.$y(a, c, d, e, f) }; F.fF = 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 }; F.HP = function(a) { var c = a.length; if (!(0 >= c) && (c -= 1, F.fF(a[c]))) { for (var d = c - 1; 0 <= d; --d) if (F.fF(a[d])) c = d; else break; F.I4(a, c) } }; F.I4 = function(a, c) { var d = a.length; c >= d || 0 > c || a.splice(c, d) }; F.mV = { WQ: /info [^\n]*(\n|$)/gi, lQ: /common [^\n]*(\n|$)/gi, VR: /page [^\n]*(\n|$)/gi, kQ: /char [^\n]*(\n|$)/gi, cR: /kerning [^\n]*(\n|$)/gi, YQ: /\w+=[^ \r\n]+/gi, XQ: /^[\-]?\d+$/, Hr: function(a) { a = a.match(this.YQ); var c = {}; if (a) for (var d = 0, e = a.length; d < e; d++) { var f = a[d], g = f.indexOf("\x3d"), h = f.substring(0, g), f = f.substring(g + 1); f.match(this.XQ) ? f = parseInt(f) : '"' == f[0] && (f = f.substring(1, f.length - 1)); c[h] = f } return c }, U1: function(a, c) { var d = {}; this.Hr(a.match(this.WQ)[0]); var e = this.Hr(a.match(this.lQ)[0]); d.fE = e.lineHeight; if (F.B === F.$) { var f = F.Fo.Ar; (e.scaleW > f.width || e.scaleH > f.height) && F.log("cc.LabelBMFont._parseCommonArguments(): page can't be larger than supported") } 1 !== e.pages && F.log("cc.LabelBMFont._parseCommonArguments(): only supports 1 page"); e = this.Hr(a.match(this.VR)[0]); 0 !== e.id && F.log("cc.LabelBMFont._parseImageFileName() : file could not be found"); d.TL = F.path.Co(c, e.file); for (var g = a.match(this.kQ), h = d.d_ = {}, e = 0, f = g.length; e < f; e++) { var m = this.Hr(g[e]); h[m.id] = { rect: { x: m.x, y: m.y, width: m.width, height: m.height }, LP: m.xoffset, MP: m.yoffset, O4: m.xadvance } } g = d.c1 = {}; if (h = a.match(this.cR)) { e = 0; for (f = h.length; e < f; e++) m = this.Hr(h[e]), g[m.first << 16 | m.second & 65535] = m.amount } return d }, load: function(a, c, d, e) { var f = this; F.V.Ix(a, function(a, d) { if (a) return e(a); e(q, f.U1(d, c)) }) } }; F.V.Hj(["fnt"], F.mV); F.$G = F.ja.extend({ texture: q, Ko: r, Gi: r, q: q, Zr: 0, hB: 0, Nl: 0, QB: 0, wk: 0, rC: 0, kC: q, jC: q, Sa: q, xn: q, Rf: q, cd: q, yn: q, oo: q, tb: "MotionStreak", ctor: function(a, c, d, e, f) { F.ja.prototype.ctor.call(this); this.zg = F.d(0, 0); this.q = new F.Nj(F.SRC_ALPHA, F.ONE_MINUS_SRC_ALPHA); this.ED = F.m.createBuffer(); this.Gi = this.Ko = r; this.texture = q; this.rC = this.wk = this.QB = this.Nl = this.hB = this.Zr = 0; this.oo = this.yn = this.cd = this.Rf = this.xn = this.Sa = this.jC = this.kC = q; f !== k && this.B0(a, c, d, e, f) }, Oa: A("texture"), pb: function(a) { this.texture != a && (this.texture = a) }, Ah: A("q"), Ue: function(a, c) { c === k ? this.q = a : (this.q.src = a, this.q.U = c) }, Qe: function() { F.log("cc.MotionStreak.getOpacity has not been supported."); return 0 }, va: function() { F.log("cc.MotionStreak.setOpacity has not been supported.") }, Hd: t(), re: E(r), Ab: function() { F.t.prototype.Ab.call(this); this.cd && F.m.deleteBuffer(this.cd); this.oo && F.m.deleteBuffer(this.oo); this.yn && F.m.deleteBuffer(this.yn) }, sda: A("Ko"), nia: y("Ko"), Eda: A("Gi"), kja: y("Gi"), B0: function(a, c, d, e, f) { f || b("cc.MotionStreak.initWithFade(): Invalid filename or texture"); "string" === typeof f && (f = F.Fa.Hc(f)); F.t.prototype.G.call(this, F.d(0, 0)); this.anchorY = this.anchorX = 0; this.ignoreAnchor = p; this.Gi = r; this.Ko = p; this.Nl = -1 == c ? d / 5 : c; this.Nl *= this.Nl; this.Zr = d; this.hB = 1 / a; a = (0 | 60 * a) + 2; this.wk = 0; this.jC = new Float32Array(a); this.kC = new Float32Array(2 * a); this.Sa = new Float32Array(4 * a); this.Rf = new Float32Array(4 * a); this.xn = new Uint8Array(8 * a); this.QB = a; a = F.m; this.cd = a.createBuffer(); this.oo = a.createBuffer(); this.yn = a.createBuffer(); this.q.src = a.SRC_ALPHA; this.q.U = a.ONE_MINUS_SRC_ALPHA; this.shaderProgram = F.Jd.oc(F.Pi); this.texture = f; this.color = e; this.M2(); a.bindBuffer(a.ARRAY_BUFFER, this.cd); a.bufferData(a.ARRAY_BUFFER, this.Sa, a.DYNAMIC_DRAW); a.bindBuffer(a.ARRAY_BUFFER, this.oo); a.bufferData(a.ARRAY_BUFFER, this.Rf, a.DYNAMIC_DRAW); a.bindBuffer(a.ARRAY_BUFFER, this.yn); a.bufferData(a.ARRAY_BUFFER, this.xn, a.DYNAMIC_DRAW); return p }, vka: function(a) { this.color = a; for (var c = this.xn, d = 0, e = 2 * this.wk; d < e; d++) c[4 * d] = a.r, c[4 * d + 1] = a.g, c[4 * d + 2] = a.b }, reset: function() { this.wk = 0 }, G: function(a, c) { this.Gi = p; c === k ? (this.zg.x = a.x, this.zg.y = a.y) : (this.zg.x = a, this.zg.y = c) }, Re: function() { return this.zg.x }, VO: function(a) { this.zg.x = a; this.Gi || (this.Gi = p) }, Gg: function() { return this.zg.y }, UF: function(a) { this.zg.y = a; this.Gi || (this.Gi = p) }, Y: function(a) { !(1 >= this.wk) && (this.texture && this.texture.uc) && (a = a || F.m, F.Ws(this), F.Jc(F.xl), F.Eh(this.q.src, this.q.U), F.qe(this.texture), a.bindBuffer(a.ARRAY_BUFFER, this.cd), a.bufferData(a.ARRAY_BUFFER, this.Sa, a.DYNAMIC_DRAW), a.vertexAttribPointer(F.qb, 2, a.FLOAT, r, 0, 0), a.bindBuffer(a.ARRAY_BUFFER, this.oo), a.bufferData(a.ARRAY_BUFFER, this.Rf, a.DYNAMIC_DRAW), a.vertexAttribPointer(F.ud, 2, a.FLOAT, r, 0, 0), a.bindBuffer(a.ARRAY_BUFFER, this.yn), a.bufferData(a.ARRAY_BUFFER, this.xn, a.DYNAMIC_DRAW), a.vertexAttribPointer(F.ye, 4, a.UNSIGNED_BYTE, p, 0, 0), a.drawArrays(a.TRIANGLE_STRIP, 0, 2 * this.wk), F.Wf++) }, update: function(a) { if (this.Gi) { a *= this.hB; var c, d, e, f, g = 0, h = this.wk, m = this.jC, n = this.kC, s = this.Sa, u = this.xn; for (e = 0; e < h; e++) m[e] -= a, 0 >= m[e] ? g++ : (c = e - g, 0 < g ? (m[c] = m[e], n[2 * c] = n[2 * e], n[2 * c + 1] = n[2 * e + 1], f = 2 * e, d = 2 * c, s[2 * d] = s[2 * f], s[2 * d + 1] = s[2 * f + 1], s[2 * (d + 1)] = s[2 * (f + 1)], s[2 * (d + 1) + 1] = s[2 * (f + 1) + 1], f *= 4, d *= 4, u[d + 0] = u[f + 0], u[d + 1] = u[f + 1], u[d + 2] = u[f + 2], u[d + 4] = u[f + 4], u[d + 5] = u[f + 5], u[d + 6] = u[f + 6]) : d = 8 * c, c = 255 * m[c], u[d + 3] = c, u[d + 7] = c); h -= g; e = p; if (h >= this.QB) e = r; else if (0 < h && (a = F.gO(F.d(n[2 * (h - 1)], n[2 * (h - 1) + 1]), this.zg) < this.Nl, d = 1 == h ? r : F.gO(F.d(n[2 * (h - 2)], n[2 * (h - 2) + 1]), this.zg) < 2 * this.Nl, a || d)) e = r; e && (n[2 * h] = this.zg.x, n[2 * h + 1] = this.zg.y, m[h] = 1, m = 8 * h, e = this.Da, u[m] = e.r, u[m + 1] = e.g, u[m + 2] = e.b, u[m + 4] = e.r, u[m + 5] = e.g, u[m + 6] = e.b, u[m + 3] = 255, u[m + 7] = 255, 0 < h && this.Ko && (1 < h ? F.pG(n, this.Zr, this.Sa, h, 1) : F.pG(n, this.Zr, this.Sa, 0, 2)), h++); this.Ko || F.pG(n, this.Zr, this.Sa, 0, h); if (h && this.rC != h) { n = 1 / h; u = this.Rf; for (e = 0; e < h; e++) u[4 * e] = 0, u[4 * e + 1] = n * e, u[2 * (2 * e + 1)] = 1, u[2 * (2 * e + 1) + 1] = n * e; this.rC = h } this.wk = h } } }); F.$G.create = function(a, c, d, e, f) { return new F.$G(a, c, d, e, f) }; F.iz = F.t.extend({ grid: q, me: q, Cs: A("grid"), i3: y("grid"), $F: y("me"), Q: function(a, c, d) { F.t.prototype.Q.call(this, a, c, d); a && !this.me && (this.me = a) }, S: function() { if (this.yc) { var a = F.B == F.$, c = this.grid; a && (c && c.dk) && c.ts(); this.transform(); var d = this.u; if (d && 0 < d.length) { var e = d.length; this.Wc(); for (i = 0; i < e; i++) { var f = d[i]; f && f.S() } } a && (c && c.dk) && c.qs(this.me) } }, qY: function() { var a = this.tD, c = F.Vb.top, d = this.Te(), e = a.c; e[0] = d.a; e[4] = d.D; e[12] = d.La; e[1] = d.b; e[5] = d.J; e[13] = d.Ma; e[14] = this.ks; F.zi(c, c, a); if (this.Ti != q && (!this.grid || !this.grid.tf())) a = this.eb.x, c = this.eb.y, 0 !== a || 0 !== c ? (F.Hz || (a |= 0, c |= 0), F.Zo(a, c), this.Ti.Vs(), F.Zo(-a, -c)) : this.Ti.Vs() } }); M = F.iz.prototype; F.B === F.$ && (M.transform = M.qY); F.j(M, "target", q, M.$F); F.iz.create = function() { return new F.iz }; F.Fka = function() { return { x: 0, y: 0 } }; F.el = function(a, c) { return { x: a, y: c } }; F.te = function(a, c) { return F.el(a.x + c.x, a.y + c.y) }; F.pc = function(a, c) { return F.el(a.x - c.x, a.y - c.y) }; F.rd = function(a, c) { return F.el(a.x * c, a.y * c) }; F.Cp = function(a) { return F.el(-a.y, a.x) }; F.ig = function(a) { return F.el(-a.x, -a.y) }; F.IP = function(a, c) { return a.x * c.x + a.y * c.y }; F.Eka = function(a) { return F.el(Math.cos(a), Math.sin(a)) }; F.Ft = function(a) { a = F.Ig(F.d(a.x, a.y)); return F.el(a.x, a.y) }; F.ze = function(a) { return F.el(a.x, a.y) }; F.Ia = function(a) { return { fa: a.x, ga: a.y } }; F.zQ = F.t.extend({ cb: q, q: q, Zc: 1, ef: q, tb: "DrawNodeCanvas", ctor: function() { F.t.prototype.ctor.call(this); this.cb = []; this.ef = F.color(255, 255, 255, 255); this.q = new F.Nj(F.hc, F.gc); this.M() }, Ah: A("q"), Ue: function(a, c) { c === k ? (this.q.src = a.src, this.q.U = a.U) : (this.q.src = a, this.q.U = c) }, RF: y("Zc"), G_: A("Zc"), qp: function(a) { var c = this.ef; c.r = a.r; c.g = a.g; c.b = a.b; c.a = a.a == q ? 255 : a.a }, Cd: function() { return F.color(this.ef.r, this.ef.g, this.ef.b, this.ef.a) }, rE: function(a, c, d, e, f) { e = e || this.Zc; f = f || this.Cd(); f.a == q && (f.a = 255); a = [a, F.d(c.x, a.y), c, F.d(a.x, c.y)]; c = new F.Yj(F.Ld.Uj); c.jg = a; c.lineWidth = e; c.Bj = f; c.tx = p; c.Vk = p; c.lineCap = "butt"; if (c.fillColor = d) d.a == q && (d.a = 255), c.dF = p; this.cb.push(c) }, nE: function(a, c, d, e, f, g, h) { g = g || this.Zc; h = h || this.Cd(); h.a == q && (h.a = 255); for (var m = 2 * Math.PI / e, n = [], s = 0; s <= e; s++) { var u = s * m; n.push(F.d(c * Math.cos(u + d) + a.x, c * Math.sin(u + d) + a.y)) } f && n.push(F.d(a.x, a.y)); a = new F.Yj(F.Ld.Uj); a.jg = n; a.lineWidth = g; a.Bj = h; a.tx = p; a.Vk = p; this.cb.push(a) }, qE: function(a, c, d, e, f, g) { f = f || this.Zc; g = g || this.Cd(); g.a == q && (g.a = 255); for (var h = [], m = 0, n = 0; n < e; n++) h.push(F.d(Math.pow(1 - m, 2) * a.x + 2 * (1 - m) * m * c.x + m * m * d.x, Math.pow(1 - m, 2) * a.y + 2 * (1 - m) * m * c.y + m * m * d.y)), m += 1 / e; h.push(F.d(d.x, d.y)); a = new F.Yj(F.Ld.Uj); a.jg = h; a.lineWidth = f; a.Bj = g; a.Vk = p; a.lineCap = "round"; this.cb.push(a) }, oE: function(a, c, d, e, f, g, h) { g = g || this.Zc; h = h || this.Cd(); h.a == q && (h.a = 255); for (var m = [], n = 0, s = 0; s < f; s++) m.push(F.d(Math.pow(1 - n, 3) * a.x + 3 * Math.pow(1 - n, 2) * n * c.x + 3 * (1 - n) * n * n * d.x + n * n * n * e.x, Math.pow(1 - n, 3) * a.y + 3 * Math.pow(1 - n, 2) * n * c.y + 3 * (1 - n) * n * n * d.y + n * n * n * e.y)), n += 1 / f; m.push(F.d(e.x, e.y)); a = new F.Yj(F.Ld.Uj); a.jg = m; a.lineWidth = g; a.Bj = h; a.Vk = p; a.lineCap = "round"; this.cb.push(a) }, mE: function(a, c, d, e) { this.qm(a, 0.5, c, d, e) }, qm: function(a, c, d, e, f) { e = e || this.Zc; f = f || this.Cd(); f.a == q && (f.a = 255); for (var g = [], h, m, n = 1 / a.length, s = 0; s < d + 1; s++) m = s / d, 1 == m ? (h = a.length - 1, m = 1) : (h = 0 | m / n, m = (m - n * h) / n), h = F.bE(F.dd(a, h - 1), F.dd(a, h - 0), F.dd(a, h + 1), F.dd(a, h + 2), c, m), g.push(h); a = new F.Yj(F.Ld.Uj); a.jg = g; a.lineWidth = e; a.Bj = f; a.Vk = p; a.lineCap = "round"; this.cb.push(a) }, pE: function(a, c, d) { d = d || this.Cd(); d.a == q && (d.a = 255); var e = new F.Yj(F.Ld.MH); e.jg = [a]; e.lineWidth = c; e.fillColor = d; this.cb.push(e) }, CZ: function(a, c, d) { if (a && 0 != a.length) { d = d || this.Cd(); d.a == q && (d.a = 255); for (var e = 0, f = a.length; e < f; e++) this.pE(a[e], c, d) } }, sE: function(a, c, d, e) { d = d || this.Zc; e = e || this.Cd(); e.a == q && (e.a = 255); var f = new F.Yj(F.Ld.Uj); f.jg = [a, c]; f.lineWidth = 2 * d; f.Bj = e; f.Vk = p; f.lineCap = "round"; this.cb.push(f) }, GZ: function(a, c, d, e) { d = d || this.Zc; e = e || this.Cd(); e.a == q && (e.a = 255); var f = new F.Yj(F.Ld.Uj); f.jg = a; f.fillColor = c; f.lineWidth = d; f.Bj = e; f.tx = p; f.Vk = p; f.lineCap = "round"; c && (f.dF = p); this.cb.push(f) }, Yd: function(a, c, d, e) { for (var f = [], g = 0; g < a.length; g++) f.push(F.d(a[g].x, a[g].y)); return this.GZ(f, c, d, e) }, Y: function(a) { a = a || F.m; this.q && (this.q.src == F.SRC_ALPHA && this.q.U == F.ONE) && (a.globalCompositeOperation = "lighter"); for (var c = 0; c < this.cb.length; c++) { var d = this.cb[c]; switch (d.type) { case F.Ld.MH: this.fV(a, d); break; case F.Ld.oT: this.hV(a, d); break; case F.Ld.Uj: this.gV(a, d) } } }, fV: function(a, c) { var d = c.fillColor, e = c.jg[0], f = c.lineWidth, g = F.view.qa, h = F.view.Ra; 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, r); a.closePath(); a.fill() }, hV: function(a, c) { var d = c.Bj, e = c.jg[0], f = c.jg[1], g = c.lineWidth, h = c.lineCap, m = F.view.qa, n = F.view.Ra; a.strokeStyle = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + "," + d.a / 255 + ")"; a.lineWidth = g * m; a.beginPath(); a.lineCap = h; a.moveTo(e.x * m, -e.y * n); a.lineTo(f.x * m, -f.y * n); a.stroke() }, gV: function(a, c) { var d = c.jg, e = c.lineCap, f = c.fillColor, g = c.lineWidth, h = c.Bj, m = c.tx, n = c.dF, s = c.Vk; if (d != q) { var u = d[0], v = F.view.qa, x = F.view.Ra; a.lineCap = e; f && (a.fillStyle = "rgba(" + (0 | f.r) + "," + (0 | f.g) + "," + (0 | f.b) + "," + f.a / 255 + ")"); g && (a.lineWidth = g * v); h && (a.strokeStyle = "rgba(" + (0 | h.r) + "," + (0 | h.g) + "," + (0 | h.b) + "," + h.a / 255 + ")"); a.beginPath(); a.moveTo(u.x * v, -u.y * x); e = 1; for (f = d.length; e < f; e++) a.lineTo(d[e].x * v, -d[e].y * x); m && a.closePath(); n && a.fill(); s && a.stroke() } }, clear: function() { this.cb.length = 0 } }); F.AQ = F.t.extend({ sn: 0, cb: q, tj: q, AL: q, zL: q, Zc: 1, ef: q, q: q, jb: r, tb: "DrawNodeWebGL", Ah: A("q"), Ue: function(a, c) { c === k ? (this.q.src = a.src, this.q.U = a.U) : (this.q.src = a, this.q.U = c) }, ctor: function() { F.t.prototype.ctor.call(this); this.cb = []; this.q = new F.Nj(F.hc, F.gc); this.ef = F.color(255, 255, 255, 255); this.M() }, M: function() { return F.t.prototype.M.call(this) ? (this.shaderProgram = F.Jd.oc(F.AH), this.hr(64), this.AL = F.m.createBuffer(), this.jb = p) : r }, RF: y("Zc"), G_: A("Zc"), qp: function(a) { var c = this.ef; c.r = a.r; c.g = a.g; c.b = a.b; c.a = a.a }, Cd: function() { return F.color(this.ef.r, this.ef.g, this.ef.b, this.ef.a) }, rE: function(a, c, d, e, f) { e = e || this.Zc; f = f || this.Cd(); f.a == q && (f.a = 255); a = [a, F.d(c.x, a.y), c, F.d(a.x, c.y)]; d == q ? this.hv(a, e, f, p) : this.Yd(a, d, e, f) }, nE: function(a, c, d, e, f, g, h) { g = g || this.Zc; h = h || this.Cd(); h.a == q && (h.a = 255); var m = 2 * Math.PI / e, n = [], s; for (s = 0; s <= e; s++) { var u = s * m; n.push(F.d(c * Math.cos(u + d) + a.x, c * Math.sin(u + d) + a.y)) } f && n.push(F.d(a.x, a.y)); g *= 0.5; s = 0; for (a = n.length; s < a - 1; s++) this.sE(n[s], n[s + 1], g, h) }, qE: function(a, c, d, e, f, g) { f = f || this.Zc; g = g || this.Cd(); g.a == q && (g.a = 255); for (var h = [], m = 0, n = 0; n < e; n++) h.push(F.d(Math.pow(1 - m, 2) * a.x + 2 * (1 - m) * m * c.x + m * m * d.x, Math.pow(1 - m, 2) * a.y + 2 * (1 - m) * m * c.y + m * m * d.y)), m += 1 / e; h.push(F.d(d.x, d.y)); this.hv(h, f, g, r) }, oE: function(a, c, d, e, f, g, h) { g = g || this.Zc; h = h || this.Cd(); h.a == q && (h.a = 255); for (var m = [], n = 0, s = 0; s < f; s++) m.push(F.d(Math.pow(1 - n, 3) * a.x + 3 * Math.pow(1 - n, 2) * n * c.x + 3 * (1 - n) * n * n * d.x + n * n * n * e.x, Math.pow(1 - n, 3) * a.y + 3 * Math.pow(1 - n, 2) * n * c.y + 3 * (1 - n) * n * n * d.y + n * n * n * e.y)), n += 1 / f; m.push(F.d(e.x, e.y)); this.hv(m, g, h, r) }, mE: function(a, c, d, e) { this.qm(a, 0.5, c, d, e) }, qm: function(a, c, d, e, f) { e = e || this.Zc; f = f || this.Cd(); f.a == q && (f.a = 255); for (var g = [], h, m, n = 1 / a.length, s = 0; s < d + 1; s++) m = s / d, 1 == m ? (h = a.length - 1, m = 1) : (h = 0 | m / n, m = (m - n * h) / n), h = F.bE(F.dd(a, h - 1), F.dd(a, h - 0), F.dd(a, h + 1), F.dd(a, h + 2), c, m), g.push(h); e *= 0.5; a = 0; for (c = g.length; a < c - 1; a++) this.sE(g[a], g[a + 1], e, f) }, pX: function() { var a = F.m; F.Jc(F.xl); a.bindBuffer(a.ARRAY_BUFFER, this.AL); this.jb && (a.bufferData(a.ARRAY_BUFFER, this.tj, a.STREAM_DRAW), this.jb = r); var c = F.td.BYTES_PER_ELEMENT; a.vertexAttribPointer(F.qb, 2, a.FLOAT, r, c, 0); a.vertexAttribPointer(F.ye, 4, a.UNSIGNED_BYTE, p, c, 8); a.vertexAttribPointer(F.ud, 2, a.FLOAT, r, c, 12); a.drawArrays(a.TRIANGLES, 0, 3 * this.cb.length); F.Xf() }, hr: function(a) { var c = this.cb; if (c.length + a > this.sn) { var d = F.Zb.BYTES_PER_ELEMENT; this.sn += Math.max(this.sn, a); if (c == q || 0 === c.length) this.cb = [], this.tj = new ArrayBuffer(d * this.sn), this.zL = new Uint8Array(this.tj); else { a = []; for (var e = new ArrayBuffer(d * this.sn), f = 0; f < c.length; f++) a[f] = new F.Zb(c[f].a, c[f].b, c[f].D, e, f * d); this.zL = new Uint8Array(e); this.tj = e; this.cb = a } } }, Y: function() { F.Eh(this.q.src, this.q.U); this.Ib.Nc(); this.Ib.ut(); this.pX() }, pE: function(a, c, d) { d = d || this.Cd(); d.a == q && (d.a = 255); var e = { r: 0 | d.r, g: 0 | d.g, b: 0 | d.b, a: 0 | d.a }; d = { k: { x: a.x - c, y: a.y - c }, v: e, n: { fa: -1, ga: -1 } }; var f = { k: { x: a.x - c, y: a.y + c }, v: e, n: { fa: -1, ga: 1 } }, g = { k: { x: a.x + c, y: a.y + c }, v: e, n: { fa: 1, ga: 1 } }; a = { k: { x: a.x + c, y: a.y - c }, v: e, n: { fa: 1, ga: -1 } }; this.hr(6); this.cb.push(new F.Zb(d, f, g, this.tj, this.cb.length * F.Zb.BYTES_PER_ELEMENT)); this.cb.push(new F.Zb(d, g, a, this.tj, this.cb.length * F.Zb.BYTES_PER_ELEMENT)); this.jb = p }, CZ: function(a, c, d) { if (a && 0 != a.length) { d = d || this.Cd(); d.a == q && (d.a = 255); for (var e = 0, f = a.length; e < f; e++) this.pE(a[e], c, d) } }, sE: function(a, c, d, e) { e = e || this.Cd(); e.a == q && (e.a = 255); d = d || 0.5 * this.Zc; this.hr(18); e = { r: 0 | e.r, g: 0 | e.g, b: 0 | e.b, a: 0 | e.a }; var f = F.ze(a); c = F.ze(c); a = F.Ft(F.Cp(F.pc(c, f))); var g = F.Cp(a), h = F.rd(a, d); d = F.rd(g, d); var m = F.te(c, F.pc(h, d)), n = F.pc(c, h), s = F.te(c, h), u = F.pc(f, h), v = F.te(f, h), x = F.pc(f, F.pc(h, d)), f = F.te(f, F.te(h, d)), w = F.Zb.BYTES_PER_ELEMENT, z = this.tj, B = this.cb; B.push(new F.Zb({ k: F.pc(c, F.te(h, d)), v: e, n: F.Ia(F.ig(F.te(a, g))) }, { k: m, v: e, n: F.Ia(F.pc(a, g)) }, { k: n, v: e, n: F.Ia(F.ig(a)) }, z, B.length * w)); B.push(new F.Zb({ k: s, v: e, n: F.Ia(a) }, { k: m, v: e, n: F.Ia(F.pc(a, g)) }, { k: n, v: e, n: F.Ia(F.ig(a)) }, z, B.length * w)); B.push(new F.Zb({ k: s, v: e, n: F.Ia(a) }, { k: u, v: e, n: F.Ia(F.ig(a)) }, { k: n, v: e, n: F.Ia(F.ig(a)) }, z, B.length * w)); B.push(new F.Zb({ k: s, v: e, n: F.Ia(a) }, { k: u, v: e, n: F.Ia(F.ig(a)) }, { k: v, v: e, n: F.Ia(a) }, z, B.length * w)); B.push(new F.Zb({ k: x, v: e, n: F.Ia(F.pc(g, a)) }, { k: u, v: e, n: F.Ia(F.ig(a)) }, { k: v, v: e, n: F.Ia(a) }, z, B.length * w)); B.push(new F.Zb({ k: x, v: e, n: F.Ia(F.pc(g, a)) }, { k: f, v: e, n: F.Ia(F.te(a, g)) }, { k: v, v: e, n: F.Ia(a) }, z, B.length * w)); this.jb = p }, Yd: function(a, c, d, e) { if (c == q) this.hv(a, d, e, p); else { c.a == q && (c.a = 255); e.a == q && (e.a = 255); d = d || this.Zc; d *= 0.5; c = { r: 0 | c.r, g: 0 | c.g, b: 0 | c.b, a: 0 | c.a }; e = { r: 0 | e.r, g: 0 | e.g, b: 0 | e.b, a: 0 | e.a }; var f = [], g, h, m, n, s = a.length; for (g = 0; g < s; g++) { h = F.ze(a[(g - 1 + s) % s]); m = F.ze(a[g]); n = F.ze(a[(g + 1) % s]); var u = F.Ft(F.Cp(F.pc(m, h))); m = F.Ft(F.Cp(F.pc(n, m))); f[g] = { offset: F.rd(F.te(u, m), 1 / (F.IP(u, m) + 1)), Xk: m } } u = 0 < d; this.hr(3 * (3 * s - 2)); var v = F.Zb.BYTES_PER_ELEMENT, x = this.tj, w = this.cb, z = u == r ? 0.5 : 0; for (g = 0; g < s - 2; g++) h = F.pc(F.ze(a[0]), F.rd(f[0].offset, z)), m = F.pc(F.ze(a[g + 1]), F.rd(f[g + 1].offset, z)), n = F.pc(F.ze(a[g + 2]), F.rd(f[g + 2].offset, z)), w.push(new F.Zb({ k: h, v: c, n: F.Ia({ x: 0, y: 0 }) }, { k: m, v: c, n: F.Ia({ x: 0, y: 0 }) }, { k: n, v: c, n: F.Ia({ x: 0, y: 0 }) }, x, w.length * v)); for (g = 0; g < s; g++) { z = (g + 1) % s; h = F.ze(a[g]); m = F.ze(a[z]); n = f[g].Xk; var B = f[g].offset, C = f[z].offset, z = u ? F.pc(h, F.rd(B, d)) : F.pc(h, F.rd(B, 0.5)), D = u ? F.pc(m, F.rd(C, d)) : F.pc(m, F.rd(C, 0.5)); h = u ? F.te(h, F.rd(B, d)) : F.te(h, F.rd(B, 0.5)); m = u ? F.te(m, F.rd(C, d)) : F.te(m, F.rd(C, 0.5)); u ? (w.push(new F.Zb({ k: z, v: e, n: F.Ia(F.ig(n)) }, { k: D, v: e, n: F.Ia(F.ig(n)) }, { k: m, v: e, n: F.Ia(n) }, x, w.length * v)), w.push(new F.Zb({ k: z, v: e, n: F.Ia(F.ig(n)) }, { k: h, v: e, n: F.Ia(n) }, { k: m, v: e, n: F.Ia(n) }, x, w.length * v))) : (w.push(new F.Zb({ k: z, v: c, n: F.Ia({ x: 0, y: 0 }) }, { k: D, v: c, n: F.Ia({ x: 0, y: 0 }) }, { k: m, v: c, n: F.Ia(n) }, x, w.length * v)), w.push(new F.Zb({ k: z, v: c, n: F.Ia({ x: 0, y: 0 }) }, { k: h, v: c, n: F.Ia(n) }, { k: m, v: c, n: F.Ia(n) }, x, w.length * v))) } this.jb = p } }, hv: function(a, c, d, e) { c = c || this.Zc; d = d || this.ef; d.a == q && (d.a = 255); c *= 0.5; if (!(0 >= c)) { d = { r: 0 | d.r, g: 0 | d.g, b: 0 | d.b, a: 0 | d.a }; var f = [], g, h, m, n, s = a.length; for (g = 0; g < s; g++) { h = F.ze(a[(g - 1 + s) % s]); m = F.ze(a[g]); n = F.ze(a[(g + 1) % s]); var u = F.Ft(F.Cp(F.pc(m, h))); m = F.Ft(F.Cp(F.pc(n, m))); f[g] = { offset: F.rd(F.te(u, m), 1 / (F.IP(u, m) + 1)), Xk: m } } this.hr(3 * (3 * s - 2)); n = F.Zb.BYTES_PER_ELEMENT; var u = this.tj, v = this.cb; e = e ? s : s - 1; for (g = 0; g < e; g++) { var x = (g + 1) % s; h = F.ze(a[g]); m = F.ze(a[x]); var w = f[g].Xk, z = f[g].offset, x = f[x].offset, B = F.pc(h, F.rd(z, c)); h = F.te(h, F.rd(z, c)); z = F.te(m, F.rd(x, c)); v.push(new F.Zb({ k: B, v: d, n: F.Ia(F.ig(w)) }, { k: F.pc(m, F.rd(x, c)), v: d, n: F.Ia(F.ig(w)) }, { k: z, v: d, n: F.Ia(w) }, u, v.length * n)); v.push(new F.Zb({ k: B, v: d, n: F.Ia(F.ig(w)) }, { k: h, v: d, n: F.Ia(w) }, { k: z, v: d, n: F.Ia(w) }, u, v.length * n)) } this.jb = p } }, clear: function() { this.cb.length = 0; this.jb = p } }); F.Ld = F.B == F.$ ? F.AQ : F.zQ; F.Ld.create = function() { return new F.Ld }; F.Yj = function(a) { this.type = a; this.fillColor = this.jg = q; this.lineWidth = 0; this.Bj = q; this.lineCap = "butt"; this.Vk = this.dF = this.tx = r }; F.Ld.MH = 0; F.Ld.oT = 1; F.Ld.Uj = 2; F.wt = -1; F.WO = function(a, c) { a.shaderProgram = c; var d = a.children; if (d) for (var e = 0; e < d.length; e++) F.WO(d[e], c) }; F.Yb = F.t.extend({ km: 0, Fh: r, ld: q, aK: r, ctor: function(a) { F.t.prototype.ctor.call(this); this.ld = q; this.km = 0; this.Fh = r; F.Yb.prototype.M.call(this, a || q) }, M: q, tb: "ClippingNode", fW: function(a) { this.ld = a; this.km = 1; this.Fh = r; F.Yb.DB = p; F.Yb.DB && (F.wt = F.m.getParameter(F.m.STENCIL_BITS), 0 >= F.wt && F.log("Stencil buffer is not enabled."), F.Yb.DB = r); return p }, eW: function(a) { this.ld = a; this.km = 1; this.Fh = r }, da: function() { F.t.prototype.da.call(this); this.ld.da() }, Ih: function() { F.t.prototype.Ih.call(this); this.ld.Ih() }, Yf: function() { this.ld.Yf(); F.t.prototype.Yf.call(this) }, Ab: function() { this.ld.Ab(); F.t.prototype.Ab.call(this) }, S: q, ls: function(a) { var c = a || F.m; if (1 > F.wt) F.t.prototype.S.call(this, a); else if (!this.ld || !this.ld.visible) this.Fh && F.t.prototype.S.call(this, a); else if (F.Yb.yr = -1, F.Yb.yr + 1 == F.wt) F.Yb.JD = p, F.Yb.JD && (F.log("Nesting more than " + F.wt + "stencils is not supported. Everything will be drawn without stencil for this node and its childs."), F.Yb.JD = r), F.t.prototype.S.call(this, a); else { F.Yb.yr++; var d = 1 << F.Yb.yr, e = d | d - 1, f = c.isEnabled(c.STENCIL_TEST), g = c.getParameter(c.STENCIL_WRITEMASK), h = c.getParameter(c.STENCIL_FUNC), m = c.getParameter(c.STENCIL_REF), n = c.getParameter(c.STENCIL_VALUE_MASK), s = c.getParameter(c.STENCIL_FAIL), u = c.getParameter(c.STENCIL_PASS_DEPTH_FAIL), v = c.getParameter(c.STENCIL_PASS_DEPTH_PASS); c.enable(c.STENCIL_TEST); c.stencilMask(d); var x = c.getParameter(c.DEPTH_WRITEMASK); c.depthMask(r); c.stencilFunc(c.NEVER, d, d); c.stencilOp(!this.Fh ? c.ZERO : c.REPLACE, c.KEEP, c.KEEP); F.Ce.AM(F.d(0, 0), F.Q1(), F.color(255, 255, 255, 255)); c.stencilFunc(c.NEVER, d, d); c.stencilOp(!this.Fh ? c.REPLACE : c.ZERO, c.KEEP, c.KEEP); if (1 > this.km) { var d = F.Jd.oc(F.ru), w = c.getUniformLocation(d.ym(), F.tI); F.OE(d.ym()); d.st(w, this.km); F.WO(this.ld, d) } F.Bm(); this.transform(); this.ld.S(); F.Am(); c.depthMask(x); c.stencilFunc(c.EQUAL, e, e); c.stencilOp(c.KEEP, c.KEEP, c.KEEP); F.t.prototype.S.call(this, a); c.stencilFunc(h, m, n); c.stencilOp(s, u, v); c.stencilMask(g); f || c.disable(c.STENCIL_TEST); F.Yb.yr-- } }, gm: function(a) { if (!this.ld || !this.ld.visible) this.Fh && F.t.prototype.S.call(this, a); else { a = a || F.m; var c = a.canvas; if (this.JA() || this.ld instanceof F.aa) { var d = F.Yb.VV(); d.width = c.width; d.height = c.height; d.getContext("2d").drawImage(c, 0, 0); a.save(); F.t.prototype.S.call(this, a); a.globalCompositeOperation = this.Fh ? "destination-out" : "destination-in"; this.transform(a); this.ld.S(); 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.ld.S(a); this.Fh && (a.save(), a.setTransform(1, 0, 0, 1, 0, 0), a.moveTo(0, 0), a.lineTo(0, c.height), a.lineTo(c.width, c.height), a.lineTo(c.width, 0), a.lineTo(0, 0), a.restore()); a.clip(); this.JA(p); var f = d.length; if (0 < f) { this.Wc(); for (c = 0; c < f; c++) if (e = d[c], 0 > e.yb) e.S(a); else break; for (this.Y(a); c < f; c++) d[c].S(a) } else this.Y(a); this.JA(r) } a.restore() } }, h0: A("ld"), ZF: q, VX: y("ld"), UX: function(a) { this.ld = a; var c = F.m; !(a instanceof F.aa) && a instanceof F.Ld && (a.Y = function() { var d = F.view.qa, e = F.view.Ra; c.beginPath(); for (var f = 0; f < a.cb.length; f++) { var g = a.cb[f].jg, h = g[0]; c.moveTo(h.x * d, -h.y * e); for (var h = 1, m = g.length; h < m; h++) c.lineTo(g[h].x * d, -g[h].y * e) } }) }, jaa: A("km"), Pha: y("km"), tda: A("Fh"), yia: y("Fh"), JA: function(a) { if (a === p || a === r) F.Yb.prototype.aK = a; return F.Yb.prototype.aK } }); M = F.Yb.prototype; F.B === F.$ ? (M.M = M.fW, M.S = M.ls, M.ZF = M.VX) : (M.M = M.eW, M.S = M.gm, M.ZF = M.UX); F.j(M, "stencil", M.h0, M.ZF); F.Yb.DB = q; F.Yb.JD = q; F.Yb.yr = q; F.Yb.qL = q; F.Yb.VV = function() { return F.Yb.qL || (F.Yb.qL = document.createElement("canvas")) }; F.Yb.create = function(a) { return new F.Yb(a) }; F.Zm = F.ma.extend({ dk: r, li: 0, X: q, L: q, Bg: q, On: q, Jl: r, Ib: q, VA: 0, jb: r, ctor: function(a, c, d) { F.NA(); this.dk = r; this.li = 0; this.L = this.X = q; this.Bg = F.d(0, 0); this.On = q; this.Jl = r; this.Ib = q; this.VA = 0; this.jb = r; a !== k && this.px(a, c, d) }, tf: A("dk"), setActive: function(a) { this.dk = a; a || (a = F.I, a.Mm(a.ki)) }, eca: A("li"), y3: y("li"), z_: function() { return F.size(this.X.width, this.X.height) }, via: function(a) { this.X.width = parseInt(a.width); this.X.height = parseInt(a.height) }, IE: function() { return F.d(this.Bg.x, this.Bg.y) }, lja: function(a) { this.Bg.x = a.x; this.Bg.y = a.y }, Hda: A("Jl"), sja: function(a) { this.Jl != a && (this.Jl = a, this.Jw()) }, px: function(a, c, d) { if (!c) { var e = F.I.Hs(), f = F.Qj(e.width), g = F.Qj(e.height), h = new Uint8Array(4 * f * g); if (!h) return F.log("cocos2d: CCGrid: not enough memory."), r; c = new F.ea; c.Ms(h, F.ea.Oi, f, g, e); if (!c) return F.log("cocos2d: CCGrid: error creating texture"), r } this.dk = r; this.li = 0; this.X = a; this.L = c; this.Jl = d || r; this.Bg.x = this.L.width / a.width; this.Bg.y = this.L.height / a.height; this.On = new F.QQ; if (!this.On) return r; this.On.t0(this.L); this.Ib = F.Jd.oc(F.tq); this.Jw(); return p }, ts: function() { this.VA = F.I.ki; this.N2(); this.On.aZ(this.L) }, qs: function(a) { this.On.HY(this.L); F.I.Mm(this.VA); if (a.wm().cF()) { var c = a.eb; F.Zo(c.x, c.y); a.wm().Vs(); F.Zo(-c.x, -c.y) } F.qe(this.L); this.SD() }, SD: function() { F.log("cc.GridBase.blit(): Shall be overridden in subclass.") }, HF: function() { F.log("cc.GridBase.reuse(): Shall be overridden in subclass.") }, Jw: function() { F.log("cc.GridBase.calculateVertexPoints(): Shall be overridden in subclass.") }, N2: function() { var a = F.I.Hs(); F.m.viewport(0, 0, a.width, a.height); F.yi(F.Ni); F.Xo(); var c = new F.ca; F.iF(c, 0, a.width, 0, a.height, -1, 1); F.Yo(c); F.yi(F.Mi); F.Xo(); F.XO() } }); F.Zm.create = function(a, c, d) { return new F.Zm(a, c, d) }; F.Vy = F.Zm.extend({ Dg: q, Sa: q, dj: q, lb: q, Qf: q, cd: q, Jf: q, ctor: function(a, c, d) { F.Zm.prototype.ctor.call(this); this.Jf = this.cd = this.Qf = this.lb = this.dj = this.Sa = this.Dg = q; a !== k && this.px(a, c, d) }, KP: function(a) { (a.x !== (0 | a.x) || a.y !== (0 | a.y)) && F.log("cc.Grid3D.vertex() : Numbers must be integers"); a = 0 | 3 * (a.x * (this.X.height + 1) + a.y); var c = this.Sa; return new F.jc(c[a], c[a + 1], c[a + 2]) }, Lc: function(a) { (a.x !== (0 | a.x) || a.y !== (0 | a.y)) && F.log("cc.Grid3D.originalVertex() : Numbers must be integers"); a = 0 | 3 * (a.x * (this.X.height + 1) + a.y); var c = this.dj; return new F.jc(c[a], c[a + 1], c[a + 2]) }, Id: function(a, c) { (a.x !== (0 | a.x) || a.y !== (0 | a.y)) && F.log("cc.Grid3D.setVertex() : Numbers must be integers"); var d = 0 | 3 * (a.x * (this.X.height + 1) + a.y), e = this.Sa; e[d] = c.x; e[d + 1] = c.y; e[d + 2] = c.e; this.jb = p }, SD: function() { var a = this.X.width * this.X.height; F.Jc(F.Md | F.hn); this.Ib.Nc(); this.Ib.ut(); var c = F.m, d = this.jb; c.bindBuffer(c.ARRAY_BUFFER, this.cd); d && c.bufferData(c.ARRAY_BUFFER, this.Sa, c.DYNAMIC_DRAW); c.vertexAttribPointer(F.qb, 3, c.FLOAT, r, 0, 0); c.bindBuffer(c.ARRAY_BUFFER, this.Qf); d && c.bufferData(c.ARRAY_BUFFER, this.Dg, c.DYNAMIC_DRAW); c.vertexAttribPointer(F.ud, 2, c.FLOAT, r, 0, 0); c.bindBuffer(c.ELEMENT_ARRAY_BUFFER, this.Jf); d && c.bufferData(c.ELEMENT_ARRAY_BUFFER, this.lb, c.STATIC_DRAW); c.drawElements(c.TRIANGLES, 6 * a, c.UNSIGNED_SHORT, 0); d && (this.jb = r); F.Xf() }, HF: function() { if (0 < this.li) { for (var a = this.dj, c = this.Sa, d = 0, e = this.Sa.length; d < e; d++) a[d] = c[d]; --this.li } }, Jw: function() { var a = F.m, c = this.L.pixelsWidth, d = this.L.pixelsHeight, e = this.L.P.height, f = this.X, g = (f.width + 1) * (f.height + 1); this.Sa = new Float32Array(3 * g); this.Dg = new Float32Array(2 * g); this.lb = new Uint16Array(6 * f.width * f.height); this.cd && a.deleteBuffer(this.cd); this.cd = a.createBuffer(); this.Qf && a.deleteBuffer(this.Qf); this.Qf = a.createBuffer(); this.Jf && a.deleteBuffer(this.Jf); this.Jf = a.createBuffer(); for (var h, m, n = this.lb, s = this.Dg, u = this.Jl, v = this.Sa, g = 0; g < f.width; ++g) for (h = 0; h < f.height; ++h) { var x = h * f.width + g; m = g * this.Bg.x; var w = m + this.Bg.x, z = h * this.Bg.y, B = z + this.Bg.y, C = g * (f.height + 1) + h, D = (g + 1) * (f.height + 1) + h, L = (g + 1) * (f.height + 1) + (h + 1), O = g * (f.height + 1) + (h + 1); n[6 * x] = C; n[6 * x + 1] = D; n[6 * x + 2] = O; n[6 * x + 3] = D; n[6 * x + 4] = L; n[6 * x + 5] = O; var x = [3 * C, 3 * D, 3 * L, 3 * O], H = [{ x: m, y: z, e: 0 }, { x: w, y: z, e: 0 }, { x: w, y: B, e: 0 }, { x: m, y: B, e: 0 }], C = [2 * C, 2 * D, 2 * L, 2 * O], w = [F.d(m, z), F.d(w, z), F.d(w, B), F.d(m, B)]; for (m = 0; 4 > m; ++m) v[x[m]] = H[m].x, v[x[m] + 1] = H[m].y, v[x[m] + 2] = H[m].e, s[C[m]] = w[m].x / c, s[C[m] + 1] = u ? (e - w[m].y) / d : w[m].y / d } this.dj = new Float32Array(this.Sa); a.bindBuffer(a.ARRAY_BUFFER, this.cd); a.bufferData(a.ARRAY_BUFFER, this.Sa, a.DYNAMIC_DRAW); a.bindBuffer(a.ARRAY_BUFFER, this.Qf); a.bufferData(a.ARRAY_BUFFER, this.Dg, a.DYNAMIC_DRAW); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.Jf); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.lb, a.STATIC_DRAW); this.jb = p } }); F.Vy.create = function(a, c, d) { return new F.Vy(a, c, d) }; F.Xz = F.Zm.extend({ Dg: q, Sa: q, dj: q, lb: q, Qf: q, cd: q, Jf: q, ctor: function(a, c, d) { F.Zm.prototype.ctor.call(this); this.Jf = this.cd = this.Qf = this.lb = this.dj = this.Sa = this.Dg = q; a !== k && this.px(a, c, d) }, uP: function(a) { (a.x !== (0 | a.x) || a.y !== (0 | a.y)) && F.log("cc.TiledGrid3D.tile() : Numbers must be integers"); a = 12 * (this.X.height * a.x + a.y); var c = this.Sa; return new F.nu(new F.jc(c[a], c[a + 1], c[a + 2]), new F.jc(c[a + 3], c[a + 4], c[a + 5]), new F.jc(c[a + 6], c[a + 7], c[a + 8]), new F.jc(c[a + 9], c[a + 10], c[a + 11])) }, Zf: function(a) { (a.x !== (0 | a.x) || a.y !== (0 | a.y)) && F.log("cc.TiledGrid3D.originalTile() : Numbers must be integers"); a = 12 * (this.X.height * a.x + a.y); var c = this.dj; return new F.nu(new F.jc(c[a], c[a + 1], c[a + 2]), new F.jc(c[a + 3], c[a + 4], c[a + 5]), new F.jc(c[a + 6], c[a + 7], c[a + 8]), new F.jc(c[a + 9], c[a + 10], c[a + 11])) }, Ye: function(a, c) { (a.x !== (0 | a.x) || a.y !== (0 | a.y)) && F.log("cc.TiledGrid3D.setTile() : Numbers must be integers"); var d = 12 * (this.X.height * a.x + a.y), e = this.Sa; e[d] = c.F.x; e[d + 1] = c.F.y; e[d + 2] = c.F.e; e[d + 3] = c.O.x; e[d + 4] = c.O.y; e[d + 5] = c.O.e; e[d + 6] = c.N.x; e[d + 7] = c.N.y; e[d + 8] = c.N.e; e[d + 9] = c.K.x; e[d + 10] = c.K.y; e[d + 11] = c.K.e; this.jb = p }, SD: function() { var a = this.X.width * this.X.height; this.Ib.Nc(); this.Ib.ut(); var c = F.m, d = this.jb; F.Jc(F.Md | F.hn); c.bindBuffer(c.ARRAY_BUFFER, this.cd); d && c.bufferData(c.ARRAY_BUFFER, this.Sa, c.DYNAMIC_DRAW); c.vertexAttribPointer(F.qb, 3, c.FLOAT, r, 0, this.Sa); c.bindBuffer(c.ARRAY_BUFFER, this.Qf); d && c.bufferData(c.ARRAY_BUFFER, this.Dg, c.DYNAMIC_DRAW); c.vertexAttribPointer(F.ud, 2, c.FLOAT, r, 0, this.Dg); c.bindBuffer(c.ELEMENT_ARRAY_BUFFER, this.Jf); d && c.bufferData(c.ELEMENT_ARRAY_BUFFER, this.lb, c.STATIC_DRAW); c.drawElements(c.TRIANGLES, 6 * a, c.UNSIGNED_SHORT, 0); d && (this.jb = r); F.Xf() }, HF: function() { if (0 < this.li) { for (var a = this.Sa, c = this.dj, d = 0; d < a.length; d++) c[d] = a[d]; --this.li } }, Jw: function() { var a = this.L.pixelsWidth, c = this.L.pixelsHeight, d = this.L.P.height, e = this.X, f = e.width * e.height; this.Sa = new Float32Array(12 * f); this.Dg = new Float32Array(8 * f); this.lb = new Uint16Array(6 * f); var g = F.m; this.cd && g.deleteBuffer(this.cd); this.cd = g.createBuffer(); this.Qf && g.deleteBuffer(this.Qf); this.Qf = g.createBuffer(); this.Jf && g.deleteBuffer(this.Jf); this.Jf = g.createBuffer(); var h, m, n = 0, s = this.Bg, u = this.Sa, v = this.Dg, x = this.Jl; for (h = 0; h < e.width; h++) for (m = 0; m < e.height; m++) { var w = h * s.x, z = w + s.x, B = m * s.y, C = B + s.y; u[12 * n] = w; u[12 * n + 1] = B; u[12 * n + 2] = 0; u[12 * n + 3] = z; u[12 * n + 4] = B; u[12 * n + 5] = 0; u[12 * n + 6] = w; u[12 * n + 7] = C; u[12 * n + 8] = 0; u[12 * n + 9] = z; u[12 * n + 10] = C; u[12 * n + 11] = 0; var D = B, L = C; x && (D = d - B, L = d - C); v[8 * n] = w / a; v[8 * n + 1] = D / c; v[8 * n + 2] = z / a; v[8 * n + 3] = D / c; v[8 * n + 4] = w / a; v[8 * n + 5] = L / c; v[8 * n + 6] = z / a; v[8 * n + 7] = L / c; n++ } a = this.lb; 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.dj = new Float32Array(this.Sa); g.bindBuffer(g.ARRAY_BUFFER, this.cd); g.bufferData(g.ARRAY_BUFFER, this.Sa, g.DYNAMIC_DRAW); g.bindBuffer(g.ARRAY_BUFFER, this.Qf); g.bufferData(g.ARRAY_BUFFER, this.Dg, g.DYNAMIC_DRAW); g.bindBuffer(g.ELEMENT_ARRAY_BUFFER, this.Jf); g.bufferData(g.ELEMENT_ARRAY_BUFFER, this.lb, g.DYNAMIC_DRAW); this.jb = p } }); F.Xz.create = function(a, c, d) { return new F.Xz(a, c, d) }; F.QQ = F.ma.extend({ Eu: q, fi: q, AK: q, Nn: q, ctor: function() { F.NA(); this.Nn = F.m; this.AK = [0, 0, 0, 0]; this.fi = q; this.Eu = this.Nn.createFramebuffer() }, t0: function(a) { var c = this.Nn; this.fi = c.getParameter(c.FRAMEBUFFER_BINDING); c.bindFramebuffer(c.FRAMEBUFFER, this.Eu); c.framebufferTexture2D(c.FRAMEBUFFER, c.COLOR_ATTACHMENT0, c.TEXTURE_2D, a.Vd, 0); c.checkFramebufferStatus(c.FRAMEBUFFER) != c.FRAMEBUFFER_COMPLETE && F.log("Frame Grabber: could not attach texture to frmaebuffer"); c.bindFramebuffer(c.FRAMEBUFFER, this.fi) }, aZ: function() { var a = this.Nn; this.fi = a.getParameter(a.FRAMEBUFFER_BINDING); a.bindFramebuffer(a.FRAMEBUFFER, this.Eu); this.AK = a.getParameter(a.COLOR_CLEAR_VALUE); a.clearColor(0, 0, 0, 0); a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT) }, HY: function() { var a = this.Nn; a.bindFramebuffer(a.FRAMEBUFFER, this.fi); a.colorMask(p, p, p, p) }, O9: function() { this.Nn.deleteFramebuffer(this.Eu) } }); F.Sm = -1; F.fd = F.ma.extend({ originalTarget: q, target: q, tag: F.Sm, ctor: function() { this.target = this.originalTarget = q; this.tag = F.Sm }, copy: function() { F.log("copy is deprecated. Please use clone instead."); return this.l() }, l: function() { var a = new F.fd; a.originalTarget = q; a.target = q; a.tag = this.tag; return a }, Hg: E(p), A: function(a) { this.target = this.originalTarget = a }, stop: function() { this.target = q }, step: function() { F.log("[Action step]. override me") }, update: function() { F.log("[Action update]. override me") }, vca: A("target"), $F: y("target"), Nba: A("originalTarget"), Tia: y("originalTarget"), Es: A("tag"), oy: y("tag"), ay: t(), Ei: t() }); F.fd.create = function() { return new F.fd }; F.Li = F.fd.extend({ p: 0, ctor: function() { F.fd.prototype.ctor.call(this); this.p = 0 }, Qo: function() { return this.p * (this.dc || 1) }, $f: y("p"), reverse: function() { F.log("cocos2d: FiniteTimeAction#reverse: Implement me"); return q }, l: function() { return new F.Li } }); F.wq = F.fd.extend({ le: 0, mb: q, ctor: function(a, c) { F.fd.prototype.ctor.call(this); this.le = 0; this.mb = q; a && this.ba(a, c) }, $w: A("le"), We: y("le"), ba: function(a, c) { a || b("cc.Speed.initWithAction(): action must be non nil"); this.mb = a; this.le = c; return p }, l: function() { var a = new F.wq; a.ba(this.mb.l(), this.le); return a }, A: function(a) { F.fd.prototype.A.call(this, a); this.mb.A(a) }, stop: function() { this.mb.stop(); F.fd.prototype.stop.call(this) }, step: function(a) { this.mb.step(a * this.le) }, Hg: function() { return this.mb.Hg() }, reverse: function() { return F.wq.create(this.mb.reverse(), this.le) }, RO: function(a) { this.mb != a && (this.mb = a) }, DE: A("mb") }); F.wq.create = function(a, c) { return new F.wq(a, c) }; F.gu = F.fd.extend({ Jn: q, qn: r, Tu: r, xv: q, lr: q, Dm: 0, Jm: 0, Om: 0, lm: 0, MD: q, ctor: function(a, c) { F.fd.prototype.ctor.call(this); this.Jn = q; this.Tu = this.qn = r; this.lr = this.xv = q; this.lm = this.Om = this.Jm = this.Dm = 0; this.MD = F.rect(0, 0, 0, 0); a && (c ? this.Wo(a, c) : this.Wo(a)) }, l: function() { var a = new F.gu, c = this.MD; a.Wo(this.Jn, new F.wH(c.x, c.y, c.width, c.height)); return a }, oda: A("qn"), Tha: y("qn"), Wo: function(a, c) { a || b("cc.Follow.initWithAction(): followedNode must be non nil"); c = c || F.rect(0, 0, 0, 0); this.Jn = a; this.MD = c; this.qn = !F.wC(c); this.Tu = r; var d = F.I.T; this.lr = F.d(d.width, d.height); this.xv = F.Ci(this.lr, 0.5); this.qn && (this.Dm = -(c.x + c.width - this.lr.x), this.Jm = -c.x, this.Om = -c.y, this.lm = -(c.y + c.height - this.lr.y), this.Jm < this.Dm && (this.Jm = this.Dm = (this.Dm + this.Jm) / 2), this.Om < this.lm && (this.Om = this.lm = (this.Om + this.lm) / 2), this.Om == this.lm && this.Dm == this.Jm && (this.Tu = p)); return p }, step: function() { var a = this.Jn.x, c = this.Jn.y, a = this.xv.x - a, c = this.xv.y - c; this.qn ? this.Tu || this.target.G(F.Vc(a, this.Dm, this.Jm), F.Vc(c, this.lm, this.Om)) : this.target.G(a, c) }, Hg: function() { return !this.Jn.running }, stop: function() { this.target = q; F.fd.prototype.stop.call(this) } }); F.gu.create = function(a, c) { return new F.gu(a, c) }; F.z = F.Li.extend({ kb: 0, sv: r, vg: q, dc: 1, Nr: r, fo: r, le: 1, Tr: r, ctor: function(a) { this.dc = this.le = 1; this.Nr = r; this.MAX_VALUE = 2; this.Tr = this.fo = r; F.Li.prototype.ctor.call(this); a !== k && this.f(a) }, Qaa: A("kb"), f: function(a) { this.p = 0 === a ? F.eu : a; this.kb = 0; return this.sv = p }, Hg: function() { return this.kb >= this.p }, ya: function(a) { a.Nr = this.Nr; a.le = this.le; a.dc = this.dc; a.vg = this.vg; a.Tr = this.Tr; a.fo = this.fo }, je: function(a) { if (this.vg) { a.vg = []; for (var c = 0; c < this.vg.length; c++) a.vg.push(this.vg[c].reverse()) } }, l: function() { var a = new F.z(this.p); this.ya(a); return a }, Ta: function(a) { this.vg ? this.vg.length = 0 : this.vg = []; for (var c = 0; c < arguments.length; c++) this.vg.push(arguments[c]); return this }, gd: function(a) { var c = this.vg; if (!c || 0 === c.length) return a; for (var d = 0, e = c.length; d < e; d++) a = c[d].Ta(a); return a }, step: function(a) { this.sv ? (this.sv = r, this.kb = 0) : this.kb += a; a = this.kb / (1.192092896E-7 < this.p ? this.p : 1.192092896E-7); a = 1 > a ? a : 1; this.update(0 < a ? a : 0); this.fo && (1 < this.dc && this.Hg()) && (this.Nr || this.dc--, this.A(this.target), this.step(this.kb - this.p)) }, A: function(a) { F.fd.prototype.A.call(this, a); this.kb = 0; this.sv = p }, reverse: function() { F.log("cc.IntervalAction: reverse not implemented."); return q }, Km: function() { F.log("cc.ActionInterval.setAmplitudeRate(): it should be overridden in subclass.") }, vm: function() { F.log("cc.ActionInterval.getAmplitudeRate(): it should be overridden in subclass."); return 0 }, speed: function(a) { if (0 >= a) return F.log("The speed parameter error"), this; this.Tr = p; this.le *= a; return this }, $w: A("le"), We: function(a) { this.le = a; return this }, repeat: function(a) { a = Math.round(a); if (isNaN(a) || 1 > a) return F.log("The repeat parameter error"), this; this.fo = p; this.dc *= a; return this }, B2: function() { this.fo = p; this.dc = this.MAX_VALUE; this.Nr = p; return this } }); F.z.create = function(a) { return new F.z(a) }; F.Ha = F.z.extend({ Vh: q, uL: q, xr: 0, ctor: function(a) { F.z.prototype.ctor.call(this); this.Vh = []; var c = a instanceof Array ? a : arguments, d = c.length - 1; 0 <= d && c[d] == q && F.log("parameters should not be ending with null in Javascript"); if (0 <= d) { for (var e = c[0], f = 1; f < d; f++) c[f] && (e = F.Ha.Ri(e, c[f])); this.zm(e, c[d]) } }, zm: function(a, c) { (!a || !c) && b("cc.Sequence.initWithTwoActions(): arguments must all be non nil"); this.f(a.p + c.p); this.Vh[0] = a; this.Vh[1] = c; return p }, l: function() { var a = new F.Ha; this.ya(a); a.zm(this.Vh[0].l(), this.Vh[1].l()); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.uL = this.Vh[0].p / this.p; this.xr = -1 }, stop: function() { -1 !== this.xr && this.Vh[this.xr].stop(); F.fd.prototype.stop.call(this) }, update: function(a) { a = this.gd(a); var c = 0, d = this.uL, e = this.Vh, f = this.xr; a < d ? (a = 0 !== d ? a / d : 1, 0 === c && 1 === f && (e[1].update(0), e[1].stop())) : (c = 1, a = 1 === d ? 1 : (a - d) / (1 - d), -1 === f && (e[0].A(this.target), e[0].update(1), e[0].stop()), f || (e[0].update(1), e[0].stop())); f === c && e[c].Hg() || (f !== c && e[c].A(this.target), e[c].update(a), this.xr = c) }, reverse: function() { var a = F.Ha.Ri(this.Vh[1].reverse(), this.Vh[0].reverse()); this.ya(a); this.je(a); return a } }); F.Ha.create = function(a) { var c = a instanceof Array ? a : arguments; 0 < c.length && c[c.length - 1] == q && F.log("parameters should not be ending with null in Javascript"); for (var d = c[0], e = 1; e < c.length; e++) c[e] && (d = F.Ha.Ri(d, c[e])); return d }; F.Ha.Ri = function(a, c) { var d = new F.Ha; d.zm(a, c); return d }; F.qq = F.z.extend({ dc: 0, Lk: 0, UB: 0, JI: r, mb: q, ctor: function(a, c) { F.z.prototype.ctor.call(this); c !== k && this.ba(a, c) }, ba: function(a, c) { return this.f(a.p * c) ? (this.dc = c, this.mb = a, a instanceof F.ue && (this.JI = p, this.dc -= 1), this.Lk = 0, p) : r }, l: function() { var a = new F.qq; this.ya(a); a.ba(this.mb.l(), this.dc); return a }, A: function(a) { this.Lk = 0; this.UB = this.mb.p / this.p; F.z.prototype.A.call(this, a); this.mb.A(a) }, stop: function() { this.mb.stop(); F.fd.prototype.stop.call(this) }, update: function(a) { a = this.gd(a); var c = this.mb, d = this.p, e = this.dc, f = this.UB; if (a >= f) { for (; a > f && this.Lk < e;) c.update(1), this.Lk++, c.stop(), c.A(this.target), this.UB = f += c.p / d; 1 <= a && this.Lk < e && this.Lk++; this.JI || (this.Lk === e ? (c.update(1), c.stop()) : c.update(a - (f - c.p / d))) } else c.update(a * e % 1) }, Hg: function() { return this.Lk == this.dc }, reverse: function() { var a = F.qq.create(this.mb.reverse(), this.dc); this.ya(a); this.je(a); return a }, RO: function(a) { this.mb != a && (this.mb = a) }, DE: A("mb") }); F.qq.create = function(a, c) { return new F.qq(a, c) }; F.rq = F.z.extend({ mb: q, ctor: function(a) { F.z.prototype.ctor.call(this); this.mb = q; a && this.ba(a) }, ba: function(a) { a || b("cc.RepeatForever.initWithAction(): action must be non null"); this.mb = a; return p }, l: function() { var a = new F.rq; this.ya(a); a.ba(this.mb.l()); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.mb.A(a) }, step: function(a) { var c = this.mb; c.step(a); c.Hg() && (c.A(this.target), c.step(c.kb - c.p)) }, Hg: E(r), reverse: function() { var a = F.rq.create(this.mb.reverse()); this.ya(a); this.je(a); return a }, RO: function(a) { this.mb != a && (this.mb = a) }, DE: A("mb") }); F.rq.create = function(a) { return new F.rq(a) }; F.xe = F.z.extend({ cj: q, uj: q, ctor: function(a) { F.z.prototype.ctor.call(this); this.uj = this.cj = q; var c = a instanceof Array ? a : arguments, d = c.length - 1; 0 <= d && c[d] == q && F.log("parameters should not be ending with null in Javascript"); if (0 <= d) { for (var e = c[0], f = 1; f < d; f++) c[f] && (e = F.xe.Ri(e, c[f])); this.zm(e, c[d]) } }, zm: function(a, c) { (!a || !c) && b("cc.Spawn.initWithTwoActions(): arguments must all be non null"); var d = r, e = a.p, f = c.p; this.f(Math.max(e, f)) && (this.cj = a, this.uj = c, e > f ? this.uj = F.Ha.Ri(c, F.Oc.create(e - f)) : e < f && (this.cj = F.Ha.Ri(a, F.Oc.create(f - e))), d = p); return d }, l: function() { var a = new F.xe; this.ya(a); a.zm(this.cj.l(), this.uj.l()); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.cj.A(a); this.uj.A(a) }, stop: function() { this.cj.stop(); this.uj.stop(); F.fd.prototype.stop.call(this) }, update: function(a) { a = this.gd(a); this.cj && this.cj.update(a); this.uj && this.uj.update(a) }, reverse: function() { var a = F.xe.Ri(this.cj.reverse(), this.uj.reverse()); this.ya(a); this.je(a); return a } }); F.xe.create = function(a) { var c = a instanceof Array ? a : arguments; 0 < c.length && c[c.length - 1] == q && F.log("parameters should not be ending with null in Javascript"); for (var d = c[0], e = 1; e < c.length; e++) c[e] != q && (d = F.xe.Ri(d, c[e])); return d }; F.xe.Ri = function(a, c) { var d = new F.xe; d.zm(a, c); return d }; F.ou = F.z.extend({ iv: 0, Ur: 0, dJ: 0, aB: 0, lo: 0, eJ: 0, ctor: function(a, c, d) { F.z.prototype.ctor.call(this); c !== k && this.f(a, c, d) }, f: function(a, c, d) { return F.z.prototype.f.call(this, a) ? (this.iv = c || 0, this.aB = d || this.iv, p) : r }, l: function() { var a = new F.ou; this.ya(a); a.f(this.p, this.iv, this.aB); return a }, A: function(a) { F.z.prototype.A.call(this, a); var c = a.rotationX % 360, d = this.iv - c; 180 < d && (d -= 360); - 180 > d && (d += 360); this.Ur = c; this.dJ = d; this.lo = a.rotationY % 360; a = this.aB - this.lo; 180 < a && (a -= 360); - 180 > a && (a += 360); this.eJ = a }, reverse: function() { F.log("cc.RotateTo.reverse(): it should be overridden in subclass.") }, update: function(a) { a = this.gd(a); this.target && (this.target.rotationX = this.Ur + this.dJ * a, this.target.rotationY = this.lo + this.eJ * a) } }); F.ou.create = function(a, c, d) { return new F.ou(a, c, d) }; F.fn = F.z.extend({ Yg: 0, Ur: 0, Ou: 0, lo: 0, ctor: function(a, c, d) { F.z.prototype.ctor.call(this); c !== k && this.f(a, c, d) }, f: function(a, c, d) { return F.z.prototype.f.call(this, a) ? (this.Yg = c || 0, this.Ou = d || this.Yg, p) : r }, l: function() { var a = new F.fn; this.ya(a); a.f(this.p, this.Yg, this.Ou); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.Ur = a.rotationX; this.lo = a.rotationY }, update: function(a) { a = this.gd(a); this.target && (this.target.rotationX = this.Ur + this.Yg * a, this.target.rotationY = this.lo + this.Ou * a) }, reverse: function() { var a = F.fn.create(this.p, -this.Yg, -this.Ou); this.ya(a); this.je(a); return a } }); F.fn.create = function(a, c, d) { var e = new F.fn; e.f(a, c, d); return e }; F.wf = F.z.extend({ ii: q, Fc: q, Tc: q, ctor: function(a, c, d) { F.z.prototype.ctor.call(this); this.ii = F.d(0, 0); this.Fc = F.d(0, 0); this.Tc = F.d(0, 0); c !== k && this.f(a, c, d) }, f: function(a, c, d) { return F.z.prototype.f.call(this, a) ? (c.x !== k && (d = c.y, c = c.x), this.ii.x = c, this.ii.y = d, p) : r }, l: function() { var a = new F.wf; this.ya(a); a.f(this.p, this.ii); return a }, A: function(a) { F.z.prototype.A.call(this, a); var c = a.Re(); a = a.Gg(); this.Tc.x = c; this.Tc.y = a; this.Fc.x = c; this.Fc.y = a }, update: function(a) { a = this.gd(a); if (this.target) { var c = this.ii.x * a; a *= this.ii.y; var d = this.Fc; if (F.Lt) { var e = this.target.Gg(), f = this.Tc; d.x = d.x + this.target.Re() - f.x; d.y = d.y + e - f.y; c += d.x; a += d.y; f.x = c; f.y = a; this.target.G(c, a) } else this.target.G(d.x + c, d.y + a) } }, reverse: function() { var a = F.wf.create(this.p, F.d(-this.ii.x, -this.ii.y)); this.ya(a); this.je(a); return a } }); F.wf.create = function(a, c, d) { return new F.wf(a, c, d) }; F.jq = F.wf.extend({ Gf: q, ctor: function(a, c, d) { F.wf.prototype.ctor.call(this); this.Gf = F.d(0, 0); c !== k && this.f(a, c, d) }, f: function(a, c, d) { return F.wf.prototype.f.call(this, a, c, d) ? (c.x !== k && (d = c.y, c = c.x), this.Gf.x = c, this.Gf.y = d, p) : r }, l: function() { var a = new F.jq; this.ya(a); a.f(this.p, this.Gf); return a }, A: function(a) { F.wf.prototype.A.call(this, a); this.ii.x = this.Gf.x - a.Re(); this.ii.y = this.Gf.y - a.Gg() } }); F.jq.create = function(a, c, d) { return new F.jq(a, c, d) }; F.Sj = F.z.extend({ ph: 0, qh: 0, kw: 0, lw: 0, lv: 0, mv: 0, cf: 0, df: 0, ctor: function(a, c, d) { F.z.prototype.ctor.call(this); d !== k && this.f(a, c, d) }, f: function(a, c, d) { var e = r; F.z.prototype.f.call(this, a) && (this.lv = c, this.mv = d, e = p); return e }, l: function() { var a = new F.Sj; this.ya(a); a.f(this.p, this.lv, this.mv); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.kw = a.skewX % 180; this.cf = this.lv - this.kw; 180 < this.cf && (this.cf -= 360); - 180 > this.cf && (this.cf += 360); this.lw = a.skewY % 360; this.df = this.mv - this.lw; 180 < this.df && (this.df -= 360); - 180 > this.df && (this.df += 360) }, update: function(a) { a = this.gd(a); this.target.skewX = this.kw + this.cf * a; this.target.skewY = this.lw + this.df * a } }); F.Sj.create = function(a, c, d) { return new F.Sj(a, c, d) }; F.vq = F.Sj.extend({ ctor: function(a, c, d) { F.Sj.prototype.ctor.call(this); d !== k && this.f(a, c, d) }, f: function(a, c, d) { var e = r; F.Sj.prototype.f.call(this, a, c, d) && (this.ph = c, this.qh = d, e = p); return e }, l: function() { var a = new F.vq; this.ya(a); a.f(this.p, this.ph, this.qh); return a }, A: function(a) { F.Sj.prototype.A.call(this, a); this.cf = this.ph; this.df = this.qh; this.lv = this.kw + this.cf; this.mv = this.lw + this.df }, reverse: function() { var a = F.vq.create(this.p, -this.ph, -this.qh); this.ya(a); this.je(a); return a } }); F.vq.create = function(a, c, d) { var e = new F.vq; e && e.f(a, c, d); return e }; F.Oh = F.z.extend({ Fc: q, Zh: q, sr: 0, aj: 0, Tc: q, ctor: function(a, c, d, e, f) { F.z.prototype.ctor.call(this); this.Fc = F.d(0, 0); this.Tc = F.d(0, 0); this.Zh = F.d(0, 0); e !== k && this.f(a, c, d, e, f) }, f: function(a, c, d, e, f) { return F.z.prototype.f.call(this, a) ? (f === k && (f = e, e = d, d = c.y, c = c.x), this.Zh.x = c, this.Zh.y = d, this.sr = e, this.aj = f, p) : r }, l: function() { var a = new F.Oh; this.ya(a); a.f(this.p, this.Zh, this.sr, this.aj); return a }, A: function(a) { F.z.prototype.A.call(this, a); var c = a.Re(); a = a.Gg(); this.Tc.x = c; this.Tc.y = a; this.Fc.x = c; this.Fc.y = a }, update: function(a) { a = this.gd(a); if (this.target) { var c = a * this.aj % 1, c = 4 * this.sr * c * (1 - c), c = c + this.Zh.y * a; a *= this.Zh.x; var d = this.Fc; if (F.Lt) { var e = this.target.Gg(), f = this.Tc; d.x = d.x + this.target.Re() - f.x; d.y = d.y + e - f.y; a += d.x; c += d.y; f.x = a; f.y = c; this.target.G(a, c) } else this.target.G(d.x + a, d.y + c) } }, reverse: function() { var a = F.Oh.create(this.p, F.d(-this.Zh.x, -this.Zh.y), this.sr, this.aj); this.ya(a); this.je(a); return a } }); F.Oh.create = function(a, c, d, e, f) { return new F.Oh(a, c, d, e, f) }; F.hu = F.Oh.extend({ Gf: q, ctor: function(a, c, d, e, f) { F.Oh.prototype.ctor.call(this); this.Gf = F.d(0, 0); e !== k && this.f(a, c, d, e, f) }, f: function(a, c, d, e, f) { return F.Oh.prototype.f.call(this, a, c, d, e, f) ? (f === k && (d = c.y, c = c.x), this.Gf.x = c, this.Gf.y = d, p) : r }, A: function(a) { F.Oh.prototype.A.call(this, a); this.Zh.x = this.Gf.x - this.Fc.x; this.Zh.y = this.Gf.y - this.Fc.y }, l: function() { var a = new F.hu; this.ya(a); a.f(this.p, this.Gf, this.sr, this.aj); return a } }); F.hu.create = function(a, c, d, e, f) { return new F.hu(a, c, d, e, f) }; F.YL = function(a, c, d, e) { return 0 * Math.pow(1 - e, 3) + 3 * e * Math.pow(1 - e, 2) * a + 3 * Math.pow(e, 2) * (1 - e) * c + Math.pow(e, 3) * d }; F.Mj = F.z.extend({ Df: q, Fc: q, Tc: q, ctor: function(a, c) { F.z.prototype.ctor.call(this); this.Df = []; this.Fc = F.d(0, 0); this.Tc = F.d(0, 0); c && this.f(a, c) }, f: function(a, c) { return F.z.prototype.f.call(this, a) ? (this.Df = c, p) : r }, l: function() { var a = new F.Mj; this.ya(a); for (var c = [], d = 0; d < this.Df.length; d++) { var e = this.Df[d]; c.push(F.d(e.x, e.y)) } a.f(this.p, c); return a }, A: function(a) { F.z.prototype.A.call(this, a); var c = a.Re(); a = a.Gg(); this.Tc.x = c; this.Tc.y = a; this.Fc.x = c; this.Fc.y = a }, update: function(a) { a = this.gd(a); if (this.target) { var c = this.Df, d = F.YL(c[0].x, c[1].x, c[2].x, a); a = F.YL(c[0].y, c[1].y, c[2].y, a); c = this.Fc; if (F.Lt) { var e = this.target.Gg(), f = this.Tc; c.x = c.x + this.target.Re() - f.x; c.y = c.y + e - f.y; d += c.x; a += c.y; f.x = d; f.y = a; this.target.G(d, a) } else this.target.G(c.x + d, c.y + a) } }, reverse: function() { var a = this.Df, a = [F.Dj(a[1], F.vF(a[2])), F.Dj(a[0], F.vF(a[2])), F.vF(a[2])], a = F.Mj.create(this.p, a); this.ya(a); this.je(a); return a } }); F.Mj.create = function(a, c) { return new F.Mj(a, c) }; F.Ht = F.Mj.extend({ vw: q, ctor: function(a, c) { F.Mj.prototype.ctor.call(this); this.vw = []; c && this.f(a, c) }, f: function(a, c) { return F.z.prototype.f.call(this, a) ? (this.vw = c, p) : r }, l: function() { var a = new F.Ht; this.ya(a); a.f(this.p, this.vw); return a }, A: function(a) { F.Mj.prototype.A.call(this, a); a = this.Fc; var c = this.vw, d = this.Df; d[0] = F.Gd(c[0], a); d[1] = F.Gd(c[1], a); d[2] = F.Gd(c[2], a) } }); F.Ht.create = function(a, c) { return new F.Ht(a, c) }; F.sd = F.z.extend({ qa: 1, Ra: 1, Wr: 1, Xr: 1, Fn: 0, Gn: 0, cf: 0, df: 0, ctor: function(a, c, d) { F.z.prototype.ctor.call(this); c !== k && this.f(a, c, d) }, f: function(a, c, d) { return F.z.prototype.f.call(this, a) ? (this.Fn = c, this.Gn = d != q ? d : c, p) : r }, l: function() { var a = new F.sd; this.ya(a); a.f(this.p, this.Fn, this.Gn); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.Wr = a.scaleX; this.Xr = a.scaleY; this.cf = this.Fn - this.Wr; this.df = this.Gn - this.Xr }, update: function(a) { a = this.gd(a); this.target && (this.target.scaleX = this.Wr + this.cf * a, this.target.scaleY = this.Xr + this.df * a) } }); F.sd.create = function(a, c, d) { var e = new F.sd; e.f(a, c, d); return e }; F.gn = F.sd.extend({ A: function(a) { F.sd.prototype.A.call(this, a); this.cf = this.Wr * this.Fn - this.Wr; this.df = this.Xr * this.Gn - this.Xr }, reverse: function() { var a = F.gn.create(this.p, 1 / this.Fn, 1 / this.Gn); this.ya(a); this.je(a); return a }, l: function() { var a = new F.gn; this.ya(a); a.f(this.p, this.Fn, this.Gn); return a } }); F.gn.create = function(a, c, d) { return new F.gn(a, c, d) }; F.Ip = F.z.extend({ dc: 0, DK: r, ctor: function(a, c) { F.z.prototype.ctor.call(this); c !== k && this.f(a, c) }, f: function(a, c) { return F.z.prototype.f.call(this, a) ? (this.dc = c, p) : r }, l: function() { var a = new F.Ip; this.ya(a); a.f(this.p, this.dc); return a }, update: function(a) { a = this.gd(a); if (this.target && !this.Hg()) { var c = 1 / this.dc; this.target.visible = a % c > c / 2 } }, A: function(a) { F.z.prototype.A.call(this, a); this.DK = a.visible }, stop: function() { this.target.visible = this.DK; F.z.prototype.stop.call(this) }, reverse: function() { var a = F.Ip.create(this.p, this.dc); this.ya(a); this.je(a); return a } }); F.Ip.create = function(a, c) { var d = new F.Ip; d.f(a, c); return d }; F.Ki = F.z.extend({ uo: 0, vv: 0, ctor: function(a, c) { F.z.prototype.ctor.call(this); c !== k && this.f(a, c) }, f: function(a, c) { return F.z.prototype.f.call(this, a) ? (this.uo = c, p) : r }, l: function() { var a = new F.Ki; this.ya(a); a.f(this.p, this.uo); return a }, update: function(a) { a = this.gd(a); if (this.target.wb) { var c = this.vv !== k ? this.vv : 255; this.target.opacity = c + (this.uo - c) * a } }, A: function(a) { F.z.prototype.A.call(this, a); this.target.wb && (this.vv = a.opacity) } }); F.Ki.create = function(a, c) { return new F.Ki(a, c) }; F.Xm = F.Ki.extend({ EC: q, reverse: function() { var a = new F.Ym; a.f(this.p, 0); this.ya(a); this.je(a); return a }, l: function() { var a = new F.Xm; this.ya(a); a.f(this.p, this.uo); return a }, A: function(a) { this.EC && (this.uo = this.EC.vv); F.Ki.prototype.A.call(this, a) } }); F.Xm.create = function(a) { return new F.Xm(a, 255) }; F.Ym = F.Ki.extend({ reverse: function() { var a = new F.Xm; a.EC = this; a.f(this.p, 255); this.ya(a); this.je(a); return a }, l: function() { var a = new F.Ym; this.ya(a); a.f(this.p, this.uo); return a } }); F.Ym.create = function(a) { var c = new F.Ym; c.f(a, 0); return c }; F.Bu = F.z.extend({ md: q, Sc: q, ctor: function(a, c, d, e) { F.z.prototype.ctor.call(this); this.md = F.color(0, 0, 0); this.Sc = F.color(0, 0, 0); e !== k && this.f(a, c, d, e) }, f: function(a, c, d, e) { return F.z.prototype.f.call(this, a) ? (this.md = F.color(c, d, e), p) : r }, l: function() { var a = new F.Bu; this.ya(a); var c = this.md; a.f(this.p, c.r, c.g, c.b); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.target.wb && (this.Sc = this.target.color) }, update: function(a) { a = this.gd(a); var c = this.Sc, d = this.md; c && this.target.wb && (this.target.color = F.color(c.r + (d.r - c.r) * a, c.g + (d.g - c.g) * a, c.b + (d.b - c.b) * a)) } }); F.Bu.create = function(a, c, d, e) { return new F.Bu(a, c, d, e) }; F.Eq = F.z.extend({ gv: 0, fv: 0, ev: 0, VJ: 0, UJ: 0, TJ: 0, ctor: function(a, c, d, e) { F.z.prototype.ctor.call(this); e !== k && this.f(a, c, d, e) }, f: function(a, c, d, e) { return F.z.prototype.f.call(this, a) ? (this.gv = c, this.fv = d, this.ev = e, p) : r }, l: function() { var a = new F.Eq; this.ya(a); a.f(this.p, this.gv, this.fv, this.ev); return a }, A: function(a) { F.z.prototype.A.call(this, a); a.wb && (a = a.color, this.VJ = a.r, this.UJ = a.g, this.TJ = a.b) }, update: function(a) { a = this.gd(a); this.target.wb && (this.target.color = F.color(this.VJ + this.gv * a, this.UJ + this.fv * a, this.TJ + this.ev * a)) }, reverse: function() { var a = F.Eq.create(this.p, -this.gv, -this.fv, -this.ev); this.ya(a); this.je(a); return a } }); F.Eq.create = function(a, c, d, e) { return new F.Eq(a, c, d, e) }; F.Oc = F.z.extend({ update: t(), reverse: function() { var a = F.Oc.create(this.p); this.ya(a); this.je(a); return a }, l: function() { var a = new F.Oc; this.ya(a); a.f(this.p); return a } }); F.Oc.create = function(a) { return new F.Oc(a) }; F.sl = F.z.extend({ ej: q, ctor: function(a) { F.z.prototype.ctor.call(this); this.ej = q; a && this.ba(a) }, ba: function(a) { a || b("cc.ReverseTime.initWithAction(): action must be non null"); a == this.ej && b("cc.ReverseTime.initWithAction(): the action was already passed in."); return F.z.prototype.f.call(this, a.p) ? (this.ej = a, p) : r }, l: function() { var a = new F.sl; this.ya(a); a.ba(this.ej.l()); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.ej.A(a) }, update: function(a) { a = this.gd(a); this.ej && this.ej.update(1 - a) }, reverse: function() { return this.ej.l() }, stop: function() { this.ej.stop(); F.fd.prototype.stop.call(this) } }); F.sl.create = function(a) { return new F.sl(a) }; F.Gp = F.z.extend({ fk: q, Er: 0, $B: q, pv: 0, bD: q, ctor: function(a) { F.z.prototype.ctor.call(this); this.bD = []; a && this.vN(a) }, JM: A("fk"), Q2: y("fk"), vN: function(a) { a || b("cc.Animate.initWithAnimation(): animation must be non-NULL"); var c = a.Qo(); if (this.f(c * a.bj)) { this.Er = 0; this.Q2(a); this.$B = q; this.pv = 0; var d = this.bD, e = d.length = 0, f = c / a.pi; a = a.Rd; F.zo(a, F.kg); for (var g = 0; g < a.length; g++) { var h = e * f / c, e = e + a[g].Qd; d.push(h) } return p } return r }, l: function() { var a = new F.Gp; this.ya(a); a.vN(this.fk.l()); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.fk.Ul && (this.$B = a.zZ()); this.pv = this.Er = 0 }, update: function(a) { a = this.gd(a); 1 > a && (a *= this.fk.bj, (0 | a) > this.pv && (this.Er = 0, this.pv++), a %= 1); for (var c = this.fk.Rd, d = c.length, e = this.bD, f = this.Er; f < d; f++) if (e[f] <= a) this.target.bl(c[f].wj()), this.Er = f + 1; else break }, reverse: function() { var a = this.fk, c = a.Rd, d = []; F.zo(c, F.kg); if (0 < c.length) for (var e = c.length - 1; 0 <= e; e--) { var f = c[e]; if (!f) break; d.push(f.l()) } c = F.il.create(d, a.Qd, a.bj); c.my(a.Ul); a = F.Gp.create(c); this.ya(a); this.je(a); return a }, stop: function() { this.fk.Ul && this.target && this.target.bl(this.$B); F.fd.prototype.stop.call(this) } }); F.Gp.create = function(a) { return new F.Gp(a) }; F.zu = F.z.extend({ Nq: q, Kn: q, ctor: function(a, c) { F.z.prototype.ctor.call(this); c && this.Wo(a, c) }, Wo: function(a, c) { return this.f(c.p) ? (this.Kn = a, this.Nq = c, p) : r }, l: function() { var a = new F.zu; this.ya(a); a.Wo(this.Kn, this.Nq.l()); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.Nq.A(this.Kn) }, stop: function() { this.Nq.stop() }, update: function(a) { a = this.gd(a); this.Nq.update(a) }, bba: A("Kn"), pia: function(a) { this.Kn != a && (this.Kn = a) } }); F.zu.create = function(a, c) { return new F.zu(a, c) }; F.ue = F.Li.extend({ Hg: E(p), step: function() { this.update(1) }, update: t(), reverse: function() { return this.l() }, l: function() { return new F.ue } }); F.xf = F.ue.extend({ update: function() { this.target.visible = p }, reverse: function() { return F.Xg.create() }, l: function() { return new F.xf } }); F.xf.create = function() { return new F.xf }; F.Xg = F.ue.extend({ update: function() { this.target.visible = r }, reverse: function() { return F.xf.create() }, l: function() { return new F.Xg } }); F.Xg.create = function() { return new F.Xg }; F.Fq = F.ue.extend({ update: function() { this.target.visible = !this.target.visible }, reverse: function() { return new F.Fq }, l: function() { return new F.Fq } }); F.Fq.create = function() { return new F.Fq }; F.pq = F.ue.extend({ Dv: p, ctor: function(a) { F.Li.prototype.ctor.call(this); a !== k && this.M(a) }, update: function() { this.target.$k(this.Dv) }, M: function(a) { this.Dv = a; return p }, reverse: function() { return new F.pq(this.Dv) }, l: function() { return new F.pq(this.Dv) } }); F.pq.create = function(a) { return new F.pq(a) }; F.eq = F.ue.extend({ Qb: r, ctor: function(a) { F.Li.prototype.ctor.call(this); this.Qb = r; a !== k && this.xN(a) }, xN: function(a) { this.Qb = a; return p }, update: function() { this.target.flippedX = this.Qb }, reverse: function() { return F.eq.create(!this.Qb) }, l: function() { var a = new F.eq; a.xN(this.Qb); return a } }); F.eq.create = function(a) { return new F.eq(a) }; F.fq = F.ue.extend({ Rb: r, ctor: function(a) { F.Li.prototype.ctor.call(this); this.Rb = r; a !== k && this.yN(a) }, yN: function(a) { this.Rb = a; return p }, update: function() { this.target.flippedY = this.Rb }, reverse: function() { return F.fq.create(!this.Rb) }, l: function() { var a = new F.fq; a.yN(this.Rb); return a } }); F.fq.create = function(a) { return new F.fq(a) }; F.mu = F.ue.extend({ vh: 0, Le: 0, ctor: function(a, c) { F.Li.prototype.ctor.call(this); this.Le = this.vh = 0; a !== k && (a.x !== k && (c = a.y, a = a.x), this.DN(a, c)) }, DN: function(a, c) { this.vh = a; this.Le = c; return p }, update: function() { this.target.G(this.vh, this.Le) }, l: function() { var a = new F.mu; a.DN(this.vh, this.Le); return a } }); F.mu.create = function(a, c) { return new F.mu(a, c) }; F.Pb = F.ue.extend({ jj: q, Vu: q, mr: q, Bn: q, ctor: function(a, c, d) { F.Li.prototype.ctor.call(this); a !== k && (c === k ? this.ox(a) : this.ox(a, c, d)) }, ox: function(a, c, d) { c ? (this.Bn = d, this.Vu = a, this.jj = c) : a && (this.mr = a); return p }, execute: function() { this.Vu != q ? this.Vu.call(this.jj, this.target, this.Bn) : this.mr && this.mr.call(q, this.target) }, update: function() { this.execute() }, wca: A("jj"), qja: function(a) { a != this.jj && (this.jj && (this.jj = q), this.jj = a) }, l: function() { var a = new F.Pb; this.jj ? a.ox(this.Vu, this.jj, this.Bn) : this.mr && a.ox(this.mr); return a } }); F.Pb.create = function(a, c, d) { return new F.Pb(a, c, d) }; F.zy = F.z.extend({ KA: 0, LA: 0, MA: 0, MJ: 0, NJ: 0, OJ: 0, EL: 0, FL: 0, GL: 0, ctor: function() { F.z.prototype.ctor.call(this); this.GL = this.FL = this.EL = this.OJ = this.NJ = this.MJ = this.MA = this.LA = this.KA = 0 }, A: function(a) { F.z.prototype.A.call(this, a); a = a.wm(); var c = a.MM(); this.KA = c.x; this.LA = c.y; this.MA = c.e; c = a.RM(); this.MJ = c.x; this.NJ = c.y; this.OJ = c.e; a = a.k0(); this.EL = a.x; this.FL = a.y; this.GL = a.e }, l: function() { return new F.zy }, reverse: function() { return F.sl.create(this) } }); F.$d = F.zy.extend({ Ge: 0, UA: 0, Qq: 0, bJ: 0, Yg: 0, aJ: 0, PK: 0, NK: 0, OK: 0, MK: 0, ctor: function(a, c, d, e, f, g, h) { F.zy.prototype.ctor.call(this); h !== k && this.f(a, c, d, e, f, g, h) }, f: function(a, c, d, e, f, g, h) { return F.z.prototype.f.call(this, a) ? (this.Ge = c, this.UA = d, this.Qq = e, this.bJ = f, this.Yg = g, this.aJ = h, this.NK = F.Uf(f), this.MK = F.Uf(h), p) : r }, Z3: function() { var a = this.target.wm(), c = a.RM(), d = a.MM(), a = c.x - d.x, e = c.y - d.y, c = c.e - d.e, d = Math.sqrt(Math.pow(a, 2) + Math.pow(e, 2) + Math.pow(c, 2)), f = Math.sqrt(Math.pow(a, 2) + Math.pow(e, 2)); 0 === f && (f = F.eu); 0 === d && (d = F.eu); return { J1: d / F.Kp.Is(), P4: Math.acos(c / d), azimuth: 0 > a ? Math.PI - Math.asin(e / f) : Math.asin(e / f) } }, A: function(a) { F.z.prototype.A.call(this, a); a = this.Z3(); isNaN(this.Ge) && (this.Ge = a.J1); isNaN(this.Qq) && (this.Qq = F.BF(a.P4)); isNaN(this.Yg) && (this.Yg = F.BF(a.azimuth)); this.PK = F.Uf(this.Qq); this.OK = F.Uf(this.Yg) }, l: function() { var a = new F.$d; a.f(this.p, this.Ge, this.UA, this.Qq, this.bJ, this.Yg, this.aJ); return a }, update: function(a) { a = this.gd(a); var c = (this.Ge + this.UA * a) * F.Kp.Is(), d = this.PK + this.NK * a, e = this.OK + this.MK * a; a = Math.sin(d) * Math.cos(e) * c + this.KA; e = Math.sin(d) * Math.sin(e) * c + this.LA; c = Math.cos(d) * c + this.MA; this.target.wm().PO(a, e, c) } }); F.$d.create = function(a, c, d, e, f, g, h) { return new F.$d(a, c, d, e, f, g, h) }; F.Pa = F.z.extend({ s: q, ctor: function(a) { F.z.prototype.ctor.call(this); a && this.ba(a) }, ba: function(a) { a || b("cc.ActionEase.initWithAction(): action must be non nil"); return this.f(a.Qo()) ? (this.s = a, p) : r }, l: function() { var a = new F.Pa; a.ba(this.s.l()); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.s.A(this.target) }, stop: function() { this.s.stop(); F.z.prototype.stop.call(this) }, update: function(a) { this.s.update(a) }, reverse: function() { return F.Pa.create(this.s.reverse()) }, DE: A("s") }); F.Pa.create = function(a) { return new F.Pa(a) }; F.nl = F.Pa.extend({ ac: 0, ctor: function(a, c) { F.Pa.prototype.ctor.call(this); c !== k && this.ba(a, c) }, bja: y("ac"), aca: A("ac"), ba: function(a, c) { return F.Pa.prototype.ba.call(this, a) ? (this.ac = c, p) : r }, l: function() { var a = new F.nl; a.ba(this.s.l(), this.ac); return a }, reverse: function() { return F.nl.create(this.s.reverse(), 1 / this.ac) } }); F.nl.create = function(a, c) { return new F.nl(a, c) }; F.$t = F.nl.extend({ update: function(a) { this.s.update(Math.pow(a, this.ac)) }, reverse: function() { return F.$t.create(this.s.reverse(), 1 / this.ac) }, l: function() { var a = new F.$t; a.ba(this.s.l(), this.ac); return a } }); F.$t.create = function(a, c) { return new F.$t(a, c) }; F.OZ = function(a) { return { ac: a, Ta: function(a) { return Math.pow(a, this.ac) }, reverse: function() { return F.OZ(1 / this.ac) } } }; F.ml = F.nl.extend({ update: function(a) { this.s.update(Math.pow(a, 1 / this.ac)) }, reverse: function() { return F.ml.create(this.s.reverse(), 1 / this.ac) }, l: function() { var a = new F.ml; a.ba(this.s.l(), this.ac); return a } }); F.ml.create = function(a, c) { return new F.ml(a, c) }; F.QZ = function(a) { return { ac: a, Ta: function(a) { return Math.pow(a, 1 / this.ac) }, reverse: function() { return F.QZ(1 / this.ac) } } }; F.Up = F.nl.extend({ update: function(a) { a *= 2; 1 > a ? this.s.update(0.5 * Math.pow(a, this.ac)) : this.s.update(1 - 0.5 * Math.pow(2 - a, this.ac)) }, l: function() { var a = new F.Up; a.ba(this.s.l(), this.ac); return a }, reverse: function() { return F.Up.create(this.s.reverse(), this.ac) } }); F.Up.create = function(a, c) { return new F.Up(a, c) }; F.PZ = function(a) { return { ac: a, Ta: function(a) { a *= 2; return 1 > a ? 0.5 * Math.pow(a, this.ac) : 1 - 0.5 * Math.pow(2 - a, this.ac) }, reverse: function() { return F.PZ(this.ac) } } }; F.Xt = F.Pa.extend({ update: function(a) { this.s.update(0 === a ? 0 : Math.pow(2, 10 * (a - 1))) }, reverse: function() { return F.Zt.create(this.s.reverse()) }, l: function() { var a = new F.Xt; a.ba(this.s.l()); return a } }); F.Xt.create = function(a) { return new F.Xt(a) }; F.vJ = { Ta: function(a) { return 0 === a ? 0 : Math.pow(2, 10 * (a - 1)) }, reverse: function() { return F.xJ } }; F.r$ = function() { return F.vJ }; F.Zt = F.Pa.extend({ update: function(a) { this.s.update(1 == a ? 1 : -Math.pow(2, -10 * a) + 1) }, reverse: function() { return F.Xt.create(this.s.reverse()) }, l: function() { var a = new F.Zt; a.ba(this.s.l()); return a } }); F.Zt.create = function(a) { return new F.Zt(a) }; F.xJ = { Ta: function(a) { return 1 == a ? 1 : -Math.pow(2, -10 * a) + 1 }, reverse: function() { return F.vJ } }; F.t$ = function() { return F.xJ }; F.Yt = F.Pa.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 F.Yt.create(this.s.reverse()) }, l: function() { var a = new F.Yt; a.ba(this.s.l()); return a } }); F.Yt.create = function(a) { return new F.Yt(a) }; F.wJ = { Ta: 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 F.wJ } }; F.s$ = function() { return F.wJ }; F.au = F.Pa.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 F.cu.create(this.s.reverse()) }, l: function() { var a = new F.au; a.ba(this.s.l()); return a } }); F.au.create = function(a) { return new F.au(a) }; F.HJ = { Ta: function(a) { return 0 === a || 1 === a ? a : -1 * Math.cos(a * Math.PI / 2) + 1 }, reverse: function() { return F.JJ } }; F.D$ = function() { return F.HJ }; F.cu = F.Pa.extend({ update: function(a) { a = 0 === a || 1 === a ? a : Math.sin(a * Math.PI / 2); this.s.update(a) }, reverse: function() { return F.au.create(this.s.reverse()) }, l: function() { var a = new F.cu; a.ba(this.s.l()); return a } }); F.cu.create = function(a) { return new F.cu(a) }; F.JJ = { Ta: function(a) { return 0 === a || 1 == a ? a : Math.sin(a * Math.PI / 2) }, reverse: function() { return F.HJ } }; F.F$ = function() { return F.JJ }; F.bu = F.Pa.extend({ update: function(a) { a = 0 === a || 1 === a ? a : -0.5 * (Math.cos(Math.PI * a) - 1); this.s.update(a) }, l: function() { var a = new F.bu; a.ba(this.s.l()); return a }, reverse: function() { return F.bu.create(this.s.reverse()) } }); F.bu.create = function(a) { return new F.bu(a) }; F.IJ = { Ta: function(a) { return 0 === a || 1 === a ? a : -0.5 * (Math.cos(Math.PI * a) - 1) }, reverse: function() { return F.IJ } }; F.E$ = function() { return F.IJ }; F.Um = F.Pa.extend({ Gb: 0.3, ctor: function(a, c) { F.Pa.prototype.ctor.call(this); a && this.ba(a, c) }, Sba: A("Gb"), Yia: y("Gb"), ba: function(a, c) { F.Pa.prototype.ba.call(this, a); this.Gb = c == q ? 0.3 : c; return p }, reverse: function() { F.log("cc.EaseElastic.reverse(): it should be overridden in subclass."); return q }, l: function() { var a = new F.Um; a.ba(this.s.l(), this.Gb); return a } }); F.Um.create = function(a, c) { return new F.Um(a, c) }; F.Ut = F.Um.extend({ update: function(a) { var c = 0; 0 === a || 1 === a ? c = a : (c = this.Gb / 4, a -= 1, c = -Math.pow(2, 10 * a) * Math.sin(2 * (a - c) * Math.PI / this.Gb)); this.s.update(c) }, reverse: function() { return F.Wt.create(this.s.reverse(), this.Gb) }, l: function() { var a = new F.Ut; a.ba(this.s.l(), this.Gb); return a } }); F.Ut.create = function(a, c) { return new F.Ut(a, c) }; F.tJ = { Ta: function(a) { if (0 === a || 1 === a) return a; a -= 1; return -Math.pow(2, 10 * a) * Math.sin(2 * (a - 0.075) * Math.PI / 0.3) }, reverse: function() { return F.uJ } }; F.LZ = function(a) { return a && 0.3 !== a ? { Gb: a, Ta: function(a) { if (0 === a || 1 === a) return a; a -= 1; return -Math.pow(2, 10 * a) * Math.sin(2 * (a - this.Gb / 4) * Math.PI / this.Gb) }, reverse: function() { return F.NZ(this.Gb) } } : F.tJ }; F.Wt = F.Um.extend({ update: function(a) { var c = 0, c = 0 === a || 1 == a ? a : Math.pow(2, -10 * a) * Math.sin(2 * (a - this.Gb / 4) * Math.PI / this.Gb) + 1; this.s.update(c) }, reverse: function() { return F.Ut.create(this.s.reverse(), this.Gb) }, l: function() { var a = new F.Wt; a.ba(this.s.l(), this.Gb); return a } }); F.Wt.create = function(a, c) { return new F.Wt(a, c) }; F.uJ = { Ta: function(a) { return 0 === a || 1 === a ? a : Math.pow(2, -10 * a) * Math.sin(2 * (a - 0.075) * Math.PI / 0.3) + 1 }, reverse: function() { return F.tJ } }; F.NZ = function(a) { return a && 0.3 !== a ? { Gb: a, Ta: function(a) { return 0 === a || 1 === a ? a : Math.pow(2, -10 * a) * Math.sin(2 * (a - this.Gb / 4) * Math.PI / this.Gb) + 1 }, reverse: function() { return F.LZ(this.Gb) } } : F.uJ }; F.Vt = F.Um.extend({ update: function(a) { var c = 0, c = this.Gb; if (0 === a || 1 == a) c = a; else { c || (c = this.Gb = 0.3 * 1.5); var d = c / 4; a = 2 * a - 1; c = 0 > a ? -0.5 * Math.pow(2, 10 * a) * Math.sin(2 * (a - d) * Math.PI / c) : 0.5 * Math.pow(2, -10 * a) * Math.sin(2 * (a - d) * Math.PI / c) + 1 } this.s.update(c) }, reverse: function() { return F.Vt.create(this.s.reverse(), this.Gb) }, l: function() { var a = new F.Vt; a.ba(this.s.l(), this.Gb); return a } }); F.Vt.create = function(a, c) { return new F.Vt(a, c) }; F.MZ = function(a) { return { Gb: a || 0.3, Ta: function(a) { var d = 0, d = this.Gb; if (0 === a || 1 === a) d = a; else { d || (d = this.Gb = 0.3 * 1.5); var e = d / 4; a = 2 * a - 1; d = 0 > a ? -0.5 * Math.pow(2, 10 * a) * Math.sin(2 * (a - e) * Math.PI / d) : 0.5 * Math.pow(2, -10 * a) * Math.sin(2 * (a - e) * Math.PI / d) + 1 } return d }, reverse: function() { return F.MZ(this.Gb) } } }; F.ll = F.Pa.extend({ Iw: 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 }, l: function() { var a = new F.ll; a.ba(this.s.l()); return a }, reverse: function() { return F.ll.create(this.s.reverse()) } }); F.ll.create = function(a) { return new F.ll(a) }; F.Rt = F.ll.extend({ update: function(a) { this.s.update(1 - this.Iw(1 - a)) }, reverse: function() { return F.Tt.create(this.s.reverse()) }, l: function() { var a = new F.Rt; a.ba(this.s.l()); return a } }); F.Rt.create = function(a) { return new F.Rt(a) }; F.Su = 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 }; F.kJ = { Ta: function(a) { return 1 - F.Su(1 - a) }, reverse: function() { return F.mJ } }; F.i$ = function() { return F.kJ }; F.Tt = F.ll.extend({ update: function(a) { this.s.update(this.Iw(a)) }, reverse: function() { return F.Rt.create(this.s.reverse()) }, l: function() { var a = new F.Tt; a.ba(this.s.l()); return a } }); F.Tt.create = function(a) { return new F.Tt(a) }; F.mJ = { Ta: function(a) { return F.Su(a) }, reverse: function() { return F.kJ } }; F.k$ = function() { return F.mJ }; F.St = F.ll.extend({ update: function(a) { var c = 0, c = 0.5 > a ? 0.5 * (1 - this.Iw(1 - 2 * a)) : 0.5 * this.Iw(2 * a - 1) + 0.5; this.s.update(c) }, l: function() { var a = new F.St; a.ba(this.s.l()); return a }, reverse: function() { return F.St.create(this.s.reverse()) } }); F.St.create = function(a) { return new F.St(a) }; F.lJ = { Ta: function(a) { return a = 0.5 > a ? 0.5 * (1 - F.Su(1 - 2 * a)) : 0.5 * F.Su(2 * a - 1) + 0.5 }, reverse: function() { return F.lJ } }; F.j$ = function() { return F.lJ }; F.Ot = F.Pa.extend({ update: function(a) { this.s.update(0 === a || 1 == a ? a : a * a * (2.70158 * a - 1.70158)) }, reverse: function() { return F.Qt.create(this.s.reverse()) }, l: function() { var a = new F.Ot; a.ba(this.s.l()); return a } }); F.Ot.create = function(a) { return new F.Ot(a) }; F.hJ = { Ta: function(a) { return 0 === a || 1 === a ? a : a * a * (2.70158 * a - 1.70158) }, reverse: function() { return F.jJ } }; F.f$ = function() { return F.hJ }; F.Qt = F.Pa.extend({ update: function(a) { a -= 1; this.s.update(a * a * (2.70158 * a + 1.70158) + 1) }, reverse: function() { return F.Ot.create(this.s.reverse()) }, l: function() { var a = new F.Qt; a.ba(this.s.l()); return a } }); F.Qt.create = function(a) { return new F.Qt(a) }; F.jJ = { Ta: function(a) { a -= 1; return a * a * (2.70158 * a + 1.70158) + 1 }, reverse: function() { return F.hJ } }; F.h$ = function() { return F.jJ }; F.Pt = F.Pa.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)) }, l: function() { var a = new F.Pt; a.ba(this.s.l()); return a }, reverse: function() { return F.Pt.create(this.s.reverse()) } }); F.Pt.create = function(a) { return new F.Pt(a) }; F.iJ = { Ta: 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 F.iJ } }; F.g$ = function() { return F.iJ }; F.Np = F.Pa.extend({ Rv: q, Sv: q, Tv: q, Uv: q, ctor: function(a) { F.Pa.prototype.ctor.call(this, a) }, pa: function(a, c, d, e, f) { return Math.pow(1 - f, 3) * a + 3 * f * Math.pow(1 - f, 2) * c + 3 * Math.pow(f, 2) * (1 - f) * d + Math.pow(f, 3) * e }, update: function(a) { this.s.update(this.pa(this.Rv, this.Sv, this.Tv, this.Uv, a)) }, l: function() { var a = new F.Np; a.ba(this.s.l()); a.JO(this.Rv, this.Sv, this.Tv, this.Uv); return a }, reverse: function() { var a = F.Np.create(this.s.reverse()); a.JO(this.Uv, this.Tv, this.Sv, this.Rv); return a }, JO: function(a, c, d, e) { this.Rv = a || 0; this.Sv = c || 0; this.Tv = d || 0; this.Uv = e || 0 } }); F.Np.create = function(a) { return new F.Np(a) }; F.KZ = function(a, c, d, e) { return { Ta: function(f) { return F.Np.prototype.pa(a, c, d, e, f) }, reverse: function() { return F.KZ(e, d, c, a) } } }; F.Vp = F.Pa.extend({ pa: function(a) { return Math.pow(a, 2) }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.Vp; a.ba(this.s.l()); return a }, reverse: function() { return F.Vp.create(this.s.reverse()) } }); F.Vp.create = function(a) { return new F.Vp(a) }; F.yJ = { Ta: F.Vp.prototype.pa, reverse: function() { return F.yJ } }; F.u$ = function() { return F.yJ }; F.Xp = F.Pa.extend({ pa: function(a) { return -a * (a - 2) }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.Xp; a.ba(); return a }, reverse: function() { return F.Xp.create(this.s.reverse()) } }); F.Xp.create = function(a) { return new F.Xp(a) }; F.AJ = { Ta: F.Xp.prototype.pa, reverse: function() { return F.AJ } }; F.w$ = function() { return F.AJ }; F.Wp = F.Pa.extend({ pa: function(a) { var c = a; a *= 2; 1 > a ? c = 0.5 * a * a : (--a, c = -0.5 * (a * (a - 2) - 1)); return c }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.Wp; a.ba(this.s.l()); return a }, reverse: function() { return F.Wp.create(this.s.reverse()) } }); F.Wp.create = function(a) { return new F.Wp(a) }; F.zJ = { Ta: F.Wp.prototype.pa, reverse: function() { return F.zJ } }; F.v$ = function() { return F.zJ }; F.Yp = F.Pa.extend({ pa: function(a) { return a * a * a * a }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.Yp; a.ba(this.s.l()); return a }, reverse: function() { return F.Yp.create(this.s.reverse()) } }); F.Yp.create = function(a) { return new F.Yp(a) }; F.BJ = { Ta: F.Yp.prototype.pa, reverse: function() { return F.BJ } }; F.x$ = function() { return F.BJ }; F.$p = F.Pa.extend({ pa: function(a) { a -= 1; return -(a * a * a * a - 1) }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.$p; a.ba(this.s.l()); return a }, reverse: function() { return F.$p.create(this.s.reverse()) } }); F.$p.create = function(a) { return new F.$p(a) }; F.DJ = { Ta: F.$p.prototype.pa, reverse: function() { return F.DJ } }; F.z$ = function() { return F.DJ }; F.Zp = F.Pa.extend({ pa: 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.pa(a)) }, l: function() { var a = new F.Zp; a.ba(this.s.l()); return a }, reverse: function() { return F.Zp.create(this.s.reverse()) } }); F.Zp.create = function(a) { return new F.Zp(a) }; F.CJ = { Ta: F.Zp.prototype.pa, reverse: function() { return F.CJ } }; F.y$ = function() { return F.CJ }; F.aq = F.Pa.extend({ pa: function(a) { return a * a * a * a * a }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.aq; a.ba(this.s.l()); return a }, reverse: function() { return F.aq.create(this.s.reverse()) } }); F.aq.create = function(a) { return new F.aq(a) }; F.EJ = { Ta: F.aq.prototype.pa, reverse: function() { return F.EJ } }; F.A$ = function() { return F.EJ }; F.cq = F.Pa.extend({ pa: function(a) { a -= 1; return a * a * a * a * a + 1 }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.cq; a.ba(this.s.l()); return a }, reverse: function() { return F.cq.create(this.s.reverse()) } }); F.cq.create = function(a) { return new F.cq(a) }; F.GJ = { Ta: F.cq.prototype.pa, reverse: function() { return F.GJ } }; F.C$ = function() { return F.GJ }; F.bq = F.Pa.extend({ pa: 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.pa(a)) }, l: function() { var a = new F.bq; a.ba(this.s.l()); return a }, reverse: function() { return F.bq.create(this.s.reverse()) } }); F.bq.create = function(a) { return new F.bq(a) }; F.FJ = { Ta: F.bq.prototype.pa, reverse: function() { return F.FJ } }; F.B$ = function() { return F.FJ }; F.Op = F.Pa.extend({ pa: function(a) { return -1 * (Math.sqrt(1 - a * a) - 1) }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.Op; a.ba(this.s.l()); return a }, reverse: function() { return F.Op.create(this.s.reverse()) } }); F.Op.create = function(a) { return new F.Op(a) }; F.nJ = { Ta: F.Op.prototype.pa, reverse: function() { return F.nJ } }; F.l$ = function() { return F.nJ }; F.Qp = F.Pa.extend({ pa: function(a) { a -= 1; return Math.sqrt(1 - a * a) }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.Qp; a.ba(this.s.l()); return a }, reverse: function() { return F.Qp.create(this.s.reverse()) } }); F.Qp.create = function(a) { return new F.Qp(a) }; F.pJ = { Ta: F.Qp.prototype.pa, reverse: function() { return F.pJ } }; F.n$ = function() { return F.pJ }; F.Pp = F.Pa.extend({ pa: 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.pa(a)) }, l: function() { var a = new F.Pp; a.ba(this.s.l()); return a }, reverse: function() { return F.Pp.create(this.s.reverse()) } }); F.Pp.create = function(a) { return new F.Pp(a) }; F.oJ = { Ta: F.Pp.prototype.pa, reverse: function() { return F.oJ } }; F.m$ = function() { return F.oJ }; F.Rp = F.Pa.extend({ pa: function(a) { return a * a * a }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.Rp; a.ba(this.s.l()); return a }, reverse: function() { return F.Rp.create(this.s.reverse()) } }); F.Rp.create = function(a) { return new F.Rp(a) }; F.qJ = { Ta: F.Rp.prototype.pa, reverse: function() { return F.qJ } }; F.o$ = function() { return F.qJ }; F.Tp = F.Pa.extend({ pa: function(a) { a -= 1; return a * a * a + 1 }, update: function(a) { this.s.update(this.pa(a)) }, l: function() { var a = new F.Tp; a.ba(this.s.l()); return a }, reverse: function() { return F.Tp.create(this.s.reverse()) } }); F.Tp.create = function(a) { return new F.Tp(a) }; F.sJ = { Ta: F.Tp.prototype.pa, reverse: function() { return F.sJ } }; F.q$ = function() { return F.sJ }; F.Sp = F.Pa.extend({ pa: 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.pa(a)) }, l: function() { var a = new F.Sp; a.ba(this.s.l()); return a }, reverse: function() { return F.Sp.create(this.s.reverse()) } }); F.Sp.create = function(a) { return new F.Sp(a) }; F.rJ = { Ta: F.Sp.prototype.pa, reverse: function() { return F.rJ } }; F.p$ = function() { return F.rJ }; F.bE = function(a, c, d, e, f, g) { var h = g * g, m = h * g, n = (1 - f) / 2; f = n * (-m + 2 * h - g); var s = n * (-m + h) + (2 * m - 3 * h + 1); g = n * (m - 2 * h + g) + (-2 * m + 3 * h); h = n * (m - h); return F.d(a.x * f + c.x * s + d.x * g + e.x * h, a.y * f + c.y * s + d.y * g + e.y * h) }; F.BO = function(a) { for (var c = [], d = a.length - 1; 0 <= d; d--) c.push(F.d(a[d].x, a[d].y)); return c }; F.Ow = function(a) { for (var c = [], d = 0; d < a.length; d++) c.push(F.d(a[d].x, a[d].y)); return c }; F.dd = function(a, c) { var d = Math.min(a.length - 1, Math.max(c, 0)); return a[d] }; F.zha = function(a) { for (var c = a.length, d = 0 | c / 2, e = 0; e < d; ++e) { var f = a[e]; a[e] = a[c - e - 1]; a[c - e - 1] = f } }; F.Vg = F.z.extend({ jh: q, cJ: 0, no: 0, Tc: q, II: q, ctor: function(a, c, d) { F.z.prototype.ctor.call(this); this.jh = []; d !== k && this.f(a, c, d) }, f: function(a, c, d) { (!c || 0 == c.length) && b("Invalid configuration. It must at least have one control point"); return F.z.prototype.f.call(this, a) ? (this.u3(c), this.no = d, p) : r }, l: function() { var a = new F.Vg; a.f(this.p, F.Ow(this.jh), this.no); return a }, A: function(a) { F.z.prototype.A.call(this, a); this.cJ = 1 / (this.jh.length - 1); this.Tc = F.d(this.target.Re(), this.target.Gg()); this.II = F.d(0, 0) }, update: function(a) { a = this.gd(a); var c, d = this.jh; if (1 == a) c = d.length - 1, a = 1; else { var e = this.cJ; c = 0 | a / e; a = (a - e * c) / e } c = F.bE(F.dd(d, c - 1), F.dd(d, c - 0), F.dd(d, c + 1), F.dd(d, c + 2), this.no, a); if (F.Lt && (d = this.target.Re() - this.Tc.x, a = this.target.Gg() - this.Tc.y, 0 != d || 0 != a)) e = this.II, d = e.x + d, a = e.y + a, e.x = d, e.y = a, c.x += d, c.y += a; this.FP(c) }, reverse: function() { var a = F.BO(this.jh); return F.Vg.create(this.p, a, this.no) }, FP: function(a) { this.target.G(a); this.Tc = a }, Tba: A("jh"), u3: y("jh") }); F.Vg.create = function(a, c, d) { return new F.Vg(a, c, d) }; F.kl = F.Vg.extend({ Fc: q, ctor: function(a, c, d) { F.Vg.prototype.ctor.call(this); this.Fc = F.d(0, 0); d !== k && this.f(a, c, d) }, A: function(a) { F.Vg.prototype.A.call(this, a); this.Fc.x = a.Re(); this.Fc.y = a.Gg() }, reverse: function() { for (var a = this.jh.slice(), c, d = a[0], e = 1; e < a.length; ++e) c = a[e], a[e] = F.Gd(c, d), d = c; a = F.BO(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) c = a[e], c.x = -c.x, c.y = -c.y, c.x += d.x, c.y += d.y, d = a[e] = c; return F.kl.create(this.p, a, this.no) }, FP: function(a) { var c = this.Fc, d = a.x + c.x; a = a.y + c.y; this.Tc.x = d; this.Tc.y = a; this.target.G(d, a) }, l: function() { var a = new F.kl; a.f(this.p, F.Ow(this.jh), this.no); return a } }); F.kl.create = function(a, c, d) { return new F.kl(a, c, d) }; F.Jt = F.Vg.extend({ ctor: function(a, c) { c && this.f(a, c) }, f: function(a, c) { return F.Vg.prototype.f.call(this, a, c, 0.5) }, l: function() { var a = new F.Jt; a.f(this.p, F.Ow(this.jh)); return a } }); F.Jt.create = function(a, c) { return new F.Jt(a, c) }; F.It = F.kl.extend({ ctor: function(a, c) { F.kl.prototype.ctor.call(this); c && this.f(a, c) }, f: function(a, c) { return F.Vg.prototype.f.call(this, a, c, 0.5) }, l: function() { var a = new F.It; a.f(this.p, F.Ow(this.jh)); return a } }); F.It.create = function(a, c) { return new F.It(a, c) }; F.f5 = F.ma.extend({ E4: t() }); F.Fp = F.z.extend({ key: "", Tw: 0, ty: 0, ys: 0, ctor: function(a, c, d, e) { F.z.prototype.ctor.call(this); this.key = ""; e !== k && this.f(a, c, d, e) }, f: function(a, c, d, e) { return F.z.prototype.f.call(this, a) ? (this.key = c, this.ty = e, this.Tw = d, p) : r }, A: function(a) { (!a || !a.E4) && b("cc.ActionTween.startWithTarget(): target must be non-null, and target must implement updateTweenAction function"); F.z.prototype.A.call(this, a); this.ys = this.ty - this.Tw }, update: t(), reverse: function() { return F.Fp.create(this.duration, this.key, this.ty, this.Tw) }, l: function() { var a = new F.Fp; a.f(this.p, this.key, this.Tw, this.ty); return a } }); F.Fp.create = function(a, c, d, e) { var f = new F.Fp; return f.f(a, c, d, e) ? f : q }; F.action = F.fd.create; F.speed = F.wq.create; F.daa = F.gu.create; F.jga = F.$d.create; F.q9 = F.Vg.create; F.p9 = F.kl.create; F.s9 = F.Jt.create; F.r9 = F.It.create; F.show = F.xf.create; F.bda = F.Xg.create; F.wka = F.Fq.create; F.qha = F.pq.create; F.baa = F.eq.create; F.caa = F.fq.create; F.Gga = F.mu.create; F.fZ = F.Pb.create; F.G8 = F.z.create; F.GO = F.Ha.create; F.repeat = F.qq.create; F.B2 = F.rq.create; F.Zja = F.xe.create; F.Eha = F.ou.create; F.Dha = F.fn.create; F.moveBy = F.wf.create; F.moveTo = F.jq.create; F.Xja = F.Sj.create; F.Wja = F.vq.create; F.Ida = F.Oh.create; F.Jda = F.hu.create; F.h9 = F.Mj.create; F.i9 = F.Ht.create; F.DO = F.sd.create; F.Hha = F.gn.create; F.blink = F.Ip.create; F.Y$ = F.Ki.create; F.W$ = F.Xm.create; F.X$ = F.Ym.create; F.uka = F.Bu.create; F.tka = F.Eq.create; F.M9 = F.Oc.create; F.Aha = F.sl.create; F.b9 = F.Gp.create; F.lka = F.zu.create; F.H8 = F.Fp.create; F.ic = F.z.extend({ X: q, ctor: function(a, c) { F.NA(); F.z.prototype.ctor.call(this); this.X = F.size(0, 0); c && this.f(a, c) }, l: function() { var a = new F.ic, c = this.X; a.f(this.p, F.size(c.width, c.height)); return a }, A: function(a) { F.z.prototype.A.call(this, a); var c = this.Cs(), d = this.target; (a = d.grid) && 0 < a.li ? (c = a.z_(), a.tf() && (c.width == this.X.width && c.height == this.X.height) && a.HF()) : (a && a.tf() && a.setActive(r), d.grid = c, d.grid.setActive(p)) }, reverse: function() { return F.sl.create(this) }, f: function(a, c) { return F.z.prototype.f.call(this, a) ? (this.X.width = c.width, this.X.height = c.height, p) : r }, Cs: function() { F.log("cc.GridAction.getGrid(): it should be overridden in subclass.") } }); F.ic.create = function(a, c) { return new F.ic(a, c) }; F.Xc = F.ic.extend({ Cs: function() { return F.Vy.create(this.X) }, KP: function(a) { return this.target.grid.KP(a) }, Lc: function(a) { return this.target.grid.Lc(a) }, Id: function(a, c) { this.target.grid.Id(a, c) } }); F.Xc.create = function(a, c) { return new F.Xc(a, c) }; F.sc = F.ic.extend({ uP: function(a) { return this.target.grid.uP(a) }, Zf: function(a) { return this.target.grid.Zf(a) }, Ye: function(a, c) { this.target.grid.Ye(a, c) }, Cs: function() { return F.Xz.create(this.X) } }); F.sc.create = function(a, c) { return new F.sc(a, c) }; F.ul = F.ue.extend({ A: function(a) { F.ue.prototype.A.call(this, a); (a = this.target.grid) && a.tf() && a.setActive(r) } }); F.ul.create = function() { return new F.ul }; F.xH = F.ue.extend({ dc: q, ctor: function(a) { F.ue.prototype.ctor.call(this); a !== k && this.J0(a) }, J0: function(a) { this.dc = a; return p }, A: function(a) { F.ue.prototype.A.call(this, a); this.target.grid && this.target.grid.tf() && this.target.grid.y3(this.target.grid.li + this.dc) } }); F.xH.create = function(a) { return new F.xH(a) }; F.yI = F.Xc.extend({ pf: 0, ab: 0, bb: 0, ctor: function(a, c, d, e) { F.ic.prototype.ctor.call(this); e !== k && this.f(a, c, d, e) }, Oo: A("ab"), np: y("ab"), vm: A("bb"), Km: y("bb"), f: function(a, c, d, e) { return F.Xc.prototype.f.call(this, a, c) ? (this.pf = d, this.ab = e, this.bb = 1, p) : r }, update: function(a) { for (var c = this.X, d = this.ab, e = F.d(0, 0), f = this.bb, g = this.pf, h = 0; h < c.width + 1; ++h) for (var m = 0; m < c.height + 1; ++m) { e.x = h; e.y = m; var n = this.Lc(e); n.e += Math.sin(2 * Math.PI * a * g + 0.01 * (n.y + n.x)) * d * f; this.Id(e, n) } } }); F.yI.create = function(a, c, d, e) { return new F.yI(a, c, d, e) }; F.Uy = F.Xc.extend({ ctor: function(a) { a !== k ? F.ic.prototype.ctor.call(this, a, F.size(1, 1)) : F.ic.prototype.ctor.call(this) }, f: function(a) { return F.Xc.prototype.f.call(this, a, F.size(1, 1)) }, px: function(a, c) { return 1 != a.width || 1 != a.height ? (F.log("Grid size must be (1,1)"), r) : F.Xc.prototype.f.call(this, c, a) }, update: function(a) { var c = Math.PI * a; a = Math.sin(c); var d = Math.cos(c / 2), c = new F.jc, e = F.d(0, 0); e.x = e.y = 1; var f = this.Lc(e); e.x = e.y = 0; var e = this.Lc(e), g = f.x, h = e.x, m, n; g > h ? (f = F.d(0, 0), e = F.d(0, 1), m = F.d(1, 0), n = F.d(1, 1)) : (m = F.d(0, 0), n = F.d(0, 1), f = F.d(1, 0), e = F.d(1, 1), g = h); c.x = g - g * d; c.e = Math.abs(parseFloat(g * a / 4)); a = this.Lc(f); a.x = c.x; a.e += c.e; this.Id(f, a); a = this.Lc(e); a.x = c.x; a.e += c.e; this.Id(e, a); a = this.Lc(m); a.x -= c.x; a.e -= c.e; this.Id(m, a); a = this.Lc(n); a.x -= c.x; a.e -= c.e; this.Id(n, a) } }); F.Uy.create = function(a) { return new F.Uy(a) }; F.OG = F.Uy.extend({ ctor: function(a) { a !== k ? F.ic.prototype.ctor.call(this, a, F.size(1, 1)) : F.ic.prototype.ctor.call(this) }, update: function(a) { var c = Math.PI * a; a = Math.sin(c); var d = Math.cos(c / 2), c = new F.jc, e = F.d(0, 0); e.x = e.y = 1; var f = this.Lc(e); e.x = e.y = 0; var e = this.Lc(e), g = f.y, h = e.y, m, n; g > h ? (f = F.d(0, 0), e = F.d(0, 1), m = F.d(1, 0), n = F.d(1, 1)) : (e = F.d(0, 0), f = F.d(0, 1), n = F.d(1, 0), m = F.d(1, 1), g = h); c.y = g - g * d; c.e = Math.abs(parseFloat(g * a) / 4); a = this.Lc(f); a.y = c.y; a.e += c.e; this.Id(f, a); a = this.Lc(e); a.y -= c.y; a.e -= c.e; this.Id(e, a); a = this.Lc(m); a.y = c.y; a.e += c.e; this.Id(m, a); a = this.Lc(n); a.y -= c.y; a.e -= c.e; this.Id(n, a) } }); F.OG.create = function(a) { return new F.OG(a) }; F.UG = F.Xc.extend({ za: q, Ge: 0, Hv: 0, WU: r, jb: r, ctor: function(a, c, d, e) { F.ic.prototype.ctor.call(this); this.za = F.d(0, 0); e !== k && this.f(a, c, d, e) }, rba: A("Hv"), Dia: y("Hv"), bia: y("WU"), Xw: A("za"), G: function(a) { F.yF(a, this.za) || (this.za.x = a.x, this.za.y = a.y, this.jb = p) }, f: function(a, c, d, e) { return F.Xc.prototype.f.call(this, a, c) ? (this.G(d), this.Ge = e, this.Hv = 0.7, this.jb = p) : r }, update: function() { if (this.jb) { for (var a = this.X.width, c = this.X.height, d = this.Ge, e = this.Hv, f = F.d(0, 0), g = F.d(0, 0), h, m, n, s = 0; s < a + 1; ++s) for (var u = 0; u < c + 1; ++u) f.x = s, f.y = u, h = this.Lc(f), g.x = this.za.x - h.x, g.y = this.za.y - h.y, m = F.Yk(g), m < d && (m = d - m, m /= d, 0 == m && (m = 0.001), m = Math.log(m) * e, n = Math.exp(m) * d, m = F.Yk(g), 0 < m && (g.x /= m, g.y /= m, g.x *= n, g.y *= n, h.e += F.Yk(g) * e)), this.Id(f, h); this.jb = r } } }); F.UG.create = function(a, c, d, e) { return new F.UG(a, c, d, e) }; F.yH = F.Xc.extend({ za: q, Ge: 0, pf: 0, ab: 0, bb: 0, ctor: function(a, c, d, e, f, g) { F.ic.prototype.ctor.call(this); this.za = F.d(0, 0); g !== k && this.f(a, c, d, e, f, g) }, Xw: A("za"), G: function(a) { this.za.x = a.x; this.za.y = a.y }, Oo: A("ab"), np: y("ab"), vm: A("bb"), Km: y("bb"), f: function(a, c, d, e, f, g) { return F.Xc.prototype.f.call(this, a, c) ? (this.G(d), this.Ge = e, this.pf = f, this.ab = g, this.bb = 1, p) : r }, update: function(a) { for (var c = this.X.width, d = this.X.height, e = F.d(0, 0), f = this.Ge, g = this.pf, h = this.ab, m = this.bb, n, s, u = F.d(0, 0), v = 0; v < c + 1; ++v) for (var x = 0; x < d + 1; ++x) e.x = v, e.y = x, n = this.Lc(e), u.x = this.za.x - n.x, u.y = this.za.y - n.y, s = F.Yk(u), s < f && (s = f - s, n.e += Math.sin(2 * a * Math.PI * g + 0.1 * s) * h * m * Math.pow(s / f, 2)), this.Id(e, n) } }); F.yH.create = function(a, c, d, e, f, g) { return new F.yH(a, c, d, e, f, g) }; F.CH = F.Xc.extend({ Ak: 0, Sr: r, ctor: function(a, c, d, e) { F.ic.prototype.ctor.call(this); e !== k && this.f(a, c, d, e) }, f: function(a, c, d, e) { return F.Xc.prototype.f.call(this, a, c) ? (this.Ak = d, this.Sr = e, p) : r }, update: function() { for (var a = this.X.width, c = this.X.height, d = this.Ak, e = this.Sr, f = F.d(0, 0), g, h = 0; h < a + 1; ++h) for (var m = 0; m < c + 1; ++m) f.x = h, f.y = m, g = this.Lc(f), g.x += F.Bb() % (2 * d) - d, g.y += F.Bb() % (2 * d) - d, e && (g.e += F.Bb() % (2 * d) - d), this.Id(f, g) } }); F.CH.create = function(a, c, d, e) { return new F.CH(a, c, d, e) }; F.VG = F.Xc.extend({ pf: 0, ab: 0, bb: 0, ctor: function(a, c, d, e) { F.ic.prototype.ctor.call(this); e !== k && this.f(a, c, d, e) }, Oo: A("ab"), np: y("ab"), vm: A("bb"), Km: y("bb"), f: function(a, c, d, e) { return F.Xc.prototype.f.call(this, a, c) ? (this.pf = d, this.ab = e, this.bb = 1, p) : r }, update: function(a) { for (var c = this.X.width, d = this.X.height, e = F.d(0, 0), f = this.pf, g = this.ab, h = this.bb, m, n = 1; n < c; ++n) for (var s = 1; s < d; ++s) e.x = n, e.y = s, m = this.Lc(e), m.x += Math.sin(2 * a * Math.PI * f + 0.01 * m.x) * g * h, m.y += Math.sin(2 * a * Math.PI * f + 0.01 * m.y) * g * h, this.Id(e, m) } }); F.VG.create = function(a, c, d, e) { return new F.VG(a, c, d, e) }; F.xI = F.Xc.extend({ pf: 0, ab: 0, bb: 0, NL: r, eK: r, ctor: function(a, c, d, e, f, g) { F.ic.prototype.ctor.call(this); g !== k && this.f(a, c, d, e, f, g) }, Oo: A("ab"), np: y("ab"), vm: A("bb"), Km: y("bb"), f: function(a, c, d, e, f, g) { return F.Xc.prototype.f.call(this, a, c) ? (this.pf = d, this.ab = e, this.bb = 1, this.eK = f, this.NL = g, p) : r }, update: function(a) { for (var c = this.X.width, d = this.X.height, e = F.d(0, 0), f = this.NL, g = this.eK, h = this.pf, m = this.ab, n = this.bb, s, u = 0; u < c + 1; ++u) for (var v = 0; v < d + 1; ++v) e.x = u, e.y = v, s = this.Lc(e), f && (s.x += Math.sin(2 * a * Math.PI * h + 0.01 * s.y) * m * n), g && (s.y += Math.sin(2 * a * Math.PI * h + 0.01 * s.x) * m * n), this.Id(e, s) } }); F.xI.create = function(a, c, d, e, f, g) { return new F.xI(a, c, d, e, f, g) }; F.sI = F.Xc.extend({ za: q, BL: 0, ab: 0, bb: 0, ctor: function(a, c, d, e, f) { F.ic.prototype.ctor.call(this); this.za = F.d(0, 0); f !== k && this.f(a, c, d, e, f) }, Xw: A("za"), G: function(a) { this.za.x = a.x; this.za.y = a.y }, Oo: A("ab"), np: y("ab"), vm: A("bb"), Km: y("bb"), f: function(a, c, d, e, f) { return F.Xc.prototype.f.call(this, a, c) ? (this.G(d), this.BL = e, this.ab = f, this.bb = 1, p) : r }, update: function(a) { for (var c = this.za, d = this.X.width, e = this.X.height, f = F.d(0, 0), g = 0.1 * this.ab * this.bb, h = this.BL, m, n, s, u = F.d(0, 0), v = 0; v < d + 1; ++v) for (var x = 0; x < e + 1; ++x) f.x = v, f.y = x, m = this.Lc(f), u.x = v - d / 2, u.y = x - e / 2, n = F.Yk(u) * Math.cos(Math.PI / 2 + 2 * a * Math.PI * h) * g, s = Math.sin(n) * (m.y - c.y) + Math.cos(n) * (m.x - c.x), n = Math.cos(n) * (m.y - c.y) - Math.sin(n) * (m.x - c.x), m.x = c.x + s, m.y = c.y + n, this.Id(f, m) } }); F.sI.create = function(a, c, d, e, f) { return new F.sI(a, c, d, e, f) }; F.DH = F.sc.extend({ Ak: 0, Sr: r, ctor: function(a, c, d, e) { F.ic.prototype.ctor.call(this); e !== k && this.f(a, c, d, e) }, f: function(a, c, d, e) { return F.sc.prototype.f.call(this, a, c) ? (this.Ak = d, this.Sr = e, p) : r }, update: function() { for (var a = this.X, c = this.Ak, d = F.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.Zf(d); g.F.x += F.Bb() % (2 * c) - c; g.O.x += F.Bb() % (2 * c) - c; g.N.x += F.Bb() % (2 * c) - c; g.K.x += F.Bb() % (2 * c) - c; g.F.y += F.Bb() % (2 * c) - c; g.O.y += F.Bb() % (2 * c) - c; g.N.y += F.Bb() % (2 * c) - c; g.K.y += F.Bb() % (2 * c) - c; this.Sr && (g.F.e += F.Bb() % (2 * c) - c, g.O.e += F.Bb() % (2 * c) - c, g.N.e += F.Bb() % (2 * c) - c, g.K.e += F.Bb() % (2 * c) - c); this.Ye(d, g) } } }); F.DH.create = function(a, c, d, e) { return new F.DH(a, c, d, e) }; F.EH = F.sc.extend({ Ak: 0, ZB: r, rL: r, ctor: function(a, c, d, e) { F.ic.prototype.ctor.call(this); e !== k && this.f(a, c, d, e) }, f: function(a, c, d, e) { return F.sc.prototype.f.call(this, a, c) ? (this.ZB = r, this.Ak = d, this.rL = e, p) : r }, update: function() { if (this.ZB === r) { for (var a = this.X, c = this.Ak, d, e = F.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.Zf(e), d.F.x += F.Bb() % (2 * c) - c, d.O.x += F.Bb() % (2 * c) - c, d.N.x += F.Bb() % (2 * c) - c, d.K.x += F.Bb() % (2 * c) - c, d.F.y += F.Bb() % (2 * c) - c, d.O.y += F.Bb() % (2 * c) - c, d.N.y += F.Bb() % (2 * c) - c, d.K.y += F.Bb() % (2 * c) - c, this.rL && (d.F.e += F.Bb() % (2 * c) - c, d.O.e += F.Bb() % (2 * c) - c, d.N.e += F.Bb() % (2 * c) - c, d.K.e += F.Bb() % (2 * c) - c), this.Ye(e, d); this.ZB = p } } }); F.EH.create = function(a, c, d, e) { return new F.EH(a, c, d, e) }; function ga() { this.position = F.d(0, 0); this.h4 = F.d(0, 0); this.ys = F.d(0, 0) } F.FH = F.sc.extend({ HC: 0, rj: 0, oi: q, Je: q, ctor: function(a, c, d) { F.ic.prototype.ctor.call(this); this.oi = []; this.Je = []; d !== k && this.f(a, c, d) }, f: function(a, c, d) { return F.sc.prototype.f.call(this, a, c) ? (this.HC = d, this.oi.length = 0, this.Je.length = 0, p) : r }, sp: function(a, c) { for (var d = c - 1; 0 <= d; d--) { var e = 0 | F.Bb() % (d + 1), f = a[d]; a[d] = a[e]; a[e] = f } }, zE: function(a) { var c = this.X, d = a.width * c.height + a.height; return F.size(this.oi[d] / c.height - a.width, this.oi[d] % c.height - a.height) }, b2: function(a, c) { var d = this.Zf(a), e = this.target.grid.IE(), f = c.position; d.F.x += f.x * e.x; d.F.y += f.y * e.y; d.O.x += f.x * e.x; d.O.y += f.y * e.y; d.N.x += f.x * e.x; d.N.y += f.y * e.y; d.K.x += f.x * e.x; d.K.y += f.y * e.y; this.Ye(a, d) }, A: function(a) { F.sc.prototype.A.call(this, a); a = this.X; this.rj = a.width * a.height; for (var c = this.oi, d = c.length = 0; d < this.rj; ++d) c[d] = d; this.sp(c, this.rj); for (var c = this.Je, d = c.length = 0, e = F.size(0, 0), f = 0; f < a.width; ++f) for (var g = 0; g < a.height; ++g) c[d] = new ga, c[d].position = F.d(f, g), c[d].h4 = F.d(f, g), e.width = f, e.height = g, c[d].ys = this.zE(e), ++d }, update: function(a) { for (var c = 0, d = this.X, e = this.Je, f, g = F.d(0, 0), h = 0; h < d.width; ++h) for (var m = 0; m < d.height; ++m) g.x = h, g.y = m, f = e[c], f.position.x = f.ys.width * a, f.position.y = f.ys.height * a, this.b2(g, f), ++c } }); F.FH.create = function(a, c, d) { return new F.FH(a, c, d) }; F.dq = F.sc.extend({ sy: function(a, c) { var d = this.X.width * c, e = this.X.height * c; return 0 == d + e ? 1 : Math.pow((a.width + a.height) / (d + e), 6) }, oG: function(a) { this.Ye(a, this.Zf(a)) }, nG: function(a) { this.Ye(a, new F.nu) }, yP: function(a, c) { var d = this.Zf(a), e = this.target.grid.IE(); d.F.x += e.x / 2 * (1 - c); d.F.y += e.y / 2 * (1 - c); d.O.x -= e.x / 2 * (1 - c); d.O.y += e.y / 2 * (1 - c); d.N.x += e.x / 2 * (1 - c); d.N.y -= e.y / 2 * (1 - c); d.K.x -= e.x / 2 * (1 - c); d.K.y -= e.y / 2 * (1 - c); this.Ye(a, d) }, update: function(a) { for (var c = this.X, d = F.d(0, 0), e = F.size(0, 0), f, g = 0; g < c.width; ++g) for (var h = 0; h < c.height; ++h) d.x = g, d.y = h, e.width = g, e.height = h, f = this.sy(e, a), 0 == f ? this.nG(d) : 1 > f ? this.yP(d, f) : this.oG(d) } }); F.dq.create = function(a, c) { return new F.dq(a, c) }; F.Sy = F.dq.extend({ sy: function(a, c) { return 0 == a.width + a.height ? 1 : Math.pow((this.X.width * (1 - c) + this.X.height * (1 - c)) / (a.width + a.height), 6) } }); F.Sy.create = function(a, c) { return new F.Sy(a, c) }; F.fu = F.dq.extend({ sy: function(a, c) { var d = this.X.height * c; return 0 == d ? 1 : Math.pow(a.height / d, 6) }, yP: function(a, c) { var d = this.Zf(a), e = this.target.grid.IE(); d.F.y += e.y / 2 * (1 - c); d.O.y += e.y / 2 * (1 - c); d.N.y -= e.y / 2 * (1 - c); d.K.y -= e.y / 2 * (1 - c); this.Ye(a, d) } }); F.fu.create = function(a, c) { return new F.fu(a, c) }; F.Ty = F.fu.extend({ sy: function(a, c) { return 0 == a.height ? 1 : Math.pow(this.X.height * (1 - c) / a.height, 6) } }); F.Ty.create = function(a, c) { return new F.Ty(a, c) }; F.$z = F.sc.extend({ HC: q, rj: 0, oi: q, ctor: function(a, c, d) { F.ic.prototype.ctor.call(this); this.oi = []; c !== k && this.f(a, c, d) }, f: function(a, c, d) { return F.sc.prototype.f.call(this, a, c) ? (this.HC = d || 0, this.oi.length = 0, p) : r }, sp: function(a, c) { for (var d = c - 1; 0 <= d; d--) { var e = 0 | F.Bb() % (d + 1), f = a[d]; a[d] = a[e]; a[e] = f } }, oG: function(a) { this.Ye(a, this.Zf(a)) }, nG: function(a) { this.Ye(a, new F.nu) }, A: function(a) { F.sc.prototype.A.call(this, a); this.rj = this.X.width * this.X.height; a = this.oi; for (var c = a.length = 0; c < this.rj; ++c) a[c] = c; this.sp(a, this.rj) }, update: function(a) { a = 0 | a * this.rj; for (var c = this.X, d, e = F.d(0, 0), f = this.oi, g = 0; g < this.rj; g++) d = f[g], e.x = 0 | d / c.height, e.y = d % (0 | c.height), g < a ? this.nG(e) : this.oG(e) } }); F.$z.create = function(a, c, d) { return new F.$z(a, c, d) }; F.zI = F.sc.extend({ pf: 0, ab: 0, bb: 0, ctor: function(a, c, d, e) { F.ic.prototype.ctor.call(this); e !== k && this.f(a, c, d, e) }, Oo: A("ab"), np: y("ab"), vm: A("bb"), Km: y("bb"), f: function(a, c, d, e) { return F.sc.prototype.f.call(this, a, c) ? (this.pf = d, this.ab = e, this.bb = 1, p) : r }, update: function(a) { for (var c = this.X, d = this.pf, e = this.ab, f = this.bb, g = F.d(0, 0), h, m = 0; m < c.width; m++) for (var n = 0; n < c.height; n++) g.x = m, g.y = n, h = this.Zf(g), h.F.e = Math.sin(2 * a * Math.PI * d + 0.01 * (h.F.y + h.F.x)) * e * f, h.O.e = h.F.e, h.N.e = h.F.e, h.K.e = h.F.e, this.Ye(g, h) } }); F.zI.create = function(a, c, d, e) { return new F.zI(a, c, d, e) }; F.SG = F.sc.extend({ aj: 0, ab: 0, bb: 0, ctor: function(a, c, d, e) { F.ic.prototype.ctor.call(this); e !== k && this.f(a, c, d, e) }, Oo: A("ab"), np: y("ab"), vm: A("bb"), Km: y("bb"), f: function(a, c, d, e) { return F.sc.prototype.f.call(this, a, c) ? (this.aj = d, this.ab = e, this.bb = 1, p) : r }, update: function(a) { var c = Math.sin(2 * Math.PI * a * this.aj) * this.ab * this.bb; a = Math.sin(Math.PI * (2 * a * this.aj + 1)) * this.ab * this.bb; for (var d = this.X, e = this.target.grid, f, g = F.d(0, 0), h = 0; h < d.width; h++) for (var m = 0; m < d.height; m++) g.x = h, g.y = m, f = e.Zf(g), 0 == (h + m) % 2 ? (f.F.e += c, f.O.e += c, f.N.e += c, f.K.e += c) : (f.F.e += a, f.O.e += a, f.N.e += a, f.K.e += a), e.Ye(g, f) } }); F.SG.create = function(a, c, d, e) { return new F.SG(a, c, d, e) }; F.Jz = F.sc.extend({ rX: 0, ns: q, ctor: function(a, c) { F.ic.prototype.ctor.call(this); c !== k && this.f(a, c) }, f: function(a, c) { this.rX = c; return F.sc.prototype.f.call(this, a, F.size(1, c)) }, update: function(a) { for (var c = this.X, d = this.ns.width, e, f, g = F.d(0, 0), h = 0; h < c.height; ++h) g.y = h, e = this.Zf(g), f = 1, 0 == h % 2 && (f = -1), e.F.x += f * d * a, e.O.x += f * d * a, e.N.x += f * d * a, e.K.x += f * d * a, this.Ye(g, e) }, A: function(a) { F.sc.prototype.A.call(this, a); this.ns = F.I.Hs() } }); F.Jz.create = function(a, c) { return new F.Jz(a, c) }; F.Iz = F.sc.extend({ VU: 0, ns: q, ctor: function(a, c) { F.ic.prototype.ctor.call(this); c !== k && this.f(a, c) }, f: function(a, c) { this.VU = c; return F.sc.prototype.f.call(this, a, F.size(c, 1)) }, update: function(a) { for (var c = this.X.width, d = this.ns.height, e, f, g = F.d(0, 0), h = 0; h < c; ++h) g.x = h, e = this.Zf(g), f = 1, 0 == h % 2 && (f = -1), e.F.y += f * d * a, e.O.y += f * d * a, e.N.y += f * d * a, e.K.y += f * d * a, this.Ye(g, e) }, A: function(a) { F.sc.prototype.A.call(this, a); this.ns = F.I.Hs() } }); F.Iz.create = function(a, c) { return new F.Iz(a, c) }; F.lu = F.Xc.extend({ update: function(a) { var c = Math.max(0, a - 0.25), c = -100 - 500 * c * c, d = +Math.PI / 2 + -Math.PI / 2 * Math.sqrt(a); a = Math.sin(d); for (var d = Math.cos(d), e = this.X, f = F.d(0, 0), g = 0; g <= e.width; ++g) for (var h = 0; h <= e.height; ++h) { f.x = g; f.y = h; var m = this.Lc(f), n = Math.sqrt(m.x * m.x + (m.y - c) * (m.y - c)), s = n * a, u = Math.asin(m.x / n) / a, v = Math.cos(u); m.x = u <= Math.PI ? s * Math.sin(u) : 0; m.y = n + c - s * (1 - v) * a; m.e = s * (1 - v) * d / 7; 0.5 > m.e && (m.e = 0.5); this.Id(f, m) } } }); F.lu.create = function(a, c) { return new F.lu(a, c) }; F.Ya = F.ja.extend({ nc: q, gi: 0, cc: q, hh: q, Al: q, Ad: r, tb: "ProgressTimer", O_: function() { return F.d(this.hh.x, this.hh.y) }, o3: function(a) { this.hh = F.fO(a) }, g_: function() { return F.d(this.Al.x, this.Al.y) }, S2: function(a) { this.Al = F.fO(a) }, LE: A("nc"), S_: A("gi"), gN: A("cc"), s3: function(a) { this.gi != a && (this.gi = F.Vc(a, 0, 100), this.xD()) }, Hd: t(), re: E(r), U0: A("Ad"), GA: function(a) { if (a < F.Ya.HH) { var c = F.Ya.jT; return this.Ad ? F.d(c >> 7 - (a << 1) & 1, c >> 7 - ((a << 1) + 1) & 1) : F.d(c >> (a << 1) + 1 & 1, c >> (a << 1) & 1) } return F.d(0, 0) }, Qv: q, hD: 270, bB: 270, Ge: 0, SA: r, CA: q, nd: 0, xc: q, of: q, ED: q, js: r, ctor: q, Zq: function() { F.ja.prototype.ctor.call(this); this.nc = F.Ya.Qh; this.gi = 0; this.hh = F.d(0, 0); this.Al = F.d(0, 0); this.Ad = r; this.cc = q; this.Qv = F.d(0, 0); this.bB = this.hD = 270; this.Ge = 0; this.SA = r; this.CA = F.rect(0, 0, 0, 0) }, $q: function() { F.ja.prototype.ctor.call(this); this.nc = F.Ya.Qh; this.gi = 0; this.hh = F.d(0, 0); this.Al = F.d(0, 0); this.Ad = r; this.cc = q; this.ED = F.m.createBuffer(); this.nd = 0; this.of = this.xc = q; this.js = r }, Wa: function(a) { this.cc.color = a; this.ec() }, va: function(a) { this.cc.opacity = a; this.ec() }, Pe: function() { return this.cc.color }, Qe: function() { return this.cc.opacity }, $O: q, MX: function(a) { this.Ad !== a && (this.Ad = a) }, NX: function(a) { this.Ad !== a && (this.Ad = a, this.of = this.xc = q, this.nd = 0) }, ny: q, SX: function(a) { this.cc != a && (this.cc = a, this.width = this.cc.width, this.height = this.cc.height) }, TX: function(a) { a && this.cc != a && (this.cc = a, this.width = a.width, this.height = a.height, this.xc && (this.of = this.xc = q, this.nd = 0)) }, cG: q, $X: function(a) { a !== this.nc && (this.nc = a) }, aY: function(a) { a !== this.nc && (this.xc && (this.of = this.xc = q, this.nd = 0), this.nc = a) }, VF: q, KX: function(a) { this.Ad !== a && (this.Ad = a) }, LX: function(a) { this.Ad !== a && (this.Ad = a, this.of = this.xc = q, this.nd = 0) }, ne: function(a) { var c = this.cc; if (!c) return { fa: 0, ga: 0 }; var d = c.quad, e = F.d(d.F.n.fa, d.F.n.ga), d = F.d(d.K.n.fa, d.K.n.ga); c.textureRectRotated && (c = a.x, a.x = a.y, a.y = c); return { fa: e.x * (1 - a.x) + d.x * a.x, ga: e.y * (1 - a.y) + d.y * a.y } }, oe: function(a) { if (!this.cc) return { x: 0, y: 0 }; var c = this.cc.quad, d = F.d(c.F.k.x, c.F.k.y), c = F.d(c.K.k.x, c.K.k.y); return { x: d.x * (1 - a.x) + c.x * a.x, y: d.y * (1 - a.y) + c.y * a.y } }, VE: q, jW: function(a) { this.percentage = 0; this.anchorY = this.anchorX = 0.5; this.nc = F.Ya.Qh; this.Ad = r; this.midPoint = F.d(0.5, 0.5); this.barChangeRate = F.d(1, 1); this.sprite = a; return p }, kW: function(a) { this.percentage = 0; this.of = this.xc = q; this.nd = 0; this.anchorY = this.anchorX = 0.5; this.nc = F.Ya.Qh; this.Ad = r; this.midPoint = F.d(0.5, 0.5); this.barChangeRate = F.d(1, 1); this.sprite = a; this.shaderProgram = F.Jd.oc(F.Pi); return p }, Y: q, Dl: function(a) { a = a || F.m; var c = this.cc; c.Xn && (a.globalCompositeOperation = "lighter"); var d = F.view.qa, e = F.view.Ra; a.globalAlpha = c.Ba / 255; var f = c.ia, g = c.P, h = c.Fb, m = c.$A, n = 0 | h.x, s = -h.y - f.height, u = c.qo; m.width = f.width * d; m.height = f.height * e; a.save(); c.Qb && (n = -h.x - f.width, a.scale(-1, 1)); c.Rb && (s = h.y, a.scale(1, -1)); n *= d; s *= e; this.nc == F.Ya.wl ? (f = this.CA, a.beginPath(), a.rect(f.x * d, f.y * e, f.width * d, f.height * e), a.clip(), a.closePath()) : this.nc == F.Ya.Qh && (f = this.Qv.x * d, h = this.Qv.y * e, a.beginPath(), a.arc(f, h, this.Ge * e, Math.PI / 180 * this.hD, Math.PI / 180 * this.bB, this.SA), a.lineTo(f, h), a.clip(), a.closePath()); c.L && u.Dp ? (d = c.L.Eb, this.Xu ? a.drawImage(d, 0, 0, u.width, u.height, n, s, m.width, m.height) : a.drawImage(d, u.x, u.y, u.width, u.height, n, s, m.width, m.height)) : 0 !== g.width && (m = this.color, a.fillStyle = "rgba(" + m.r + "," + m.g + "," + m.b + ",1)", a.fillRect(n, s, g.width * d, g.height * e)); a.restore(); F.Xf() }, Wi: function(a) { a = a || F.m; if (this.xc && this.cc) { F.Ws(this); var c = this.cc.Ah(); F.Eh(c.src, c.U); F.Jc(F.xl); F.qe(this.cc.texture); a.bindBuffer(a.ARRAY_BUFFER, this.ED); this.js && (a.bufferData(a.ARRAY_BUFFER, this.of, a.DYNAMIC_DRAW), this.js = r); c = F.td.BYTES_PER_ELEMENT; a.vertexAttribPointer(F.qb, 2, a.FLOAT, r, c, 0); a.vertexAttribPointer(F.ye, 4, a.UNSIGNED_BYTE, p, c, 8); a.vertexAttribPointer(F.ud, 2, a.FLOAT, r, c, 12); this.nc === F.Ya.Qh ? a.drawArrays(a.TRIANGLE_FAN, 0, this.nd) : this.nc == F.Ya.wl && (this.Ad ? (a.drawArrays(a.TRIANGLE_STRIP, 0, this.nd / 2), a.drawArrays(a.TRIANGLE_STRIP, 4, this.nd / 2), F.Wf++) : a.drawArrays(a.TRIANGLE_STRIP, 0, this.nd)); F.Wf++ } }, AY: function() { if (this.cc) { var a, c = this.hh; a = this.gi / 100; var d = 2 * F.PI * (this.Ad ? a : 1 - a), e = F.d(c.x, 1), f = F.S1(e, c, d), d = 0; if (0 == a) f = e, d = 0; else if (1 == a) f = e, d = 4; else { var g = F.NQ, h = F.Ya.HH; for (a = 0; a <= h; ++a) { var m = (a + (h - 1)) % h, n = this.GA(a % h), m = this.GA(m); 0 == a ? m = F.iO(n, m, 1 - c.x) : 4 == a && (n = F.iO(n, m, 1 - c.x)); var s = F.d(0, 0); if (F.uF(n, m, c, f, s) && (!(0 == a || 4 == a) || 0 <= s.x && 1 >= s.x) && 0 <= s.y && s.y < g) g = s.y, d = a } f = F.Dj(c, F.Ci(F.Gd(f, c), g)) } g = p; this.nd != d + 3 && (g = r, this.of = this.xc = q, this.nd = 0); if (!this.xc) { h = this.nd = d + 3; n = F.td.BYTES_PER_ELEMENT; this.of = new ArrayBuffer(h * n); m = []; for (a = 0; a < h; a++) m[a] = new F.td(q, q, q, this.of, a * n); this.xc = m; if (!this.xc) { F.log("cc.ProgressTimer._updateRadial() : Not enough memory"); return } } this.ec(); h = this.xc; if (!g) { h[0].n = this.ne(c); h[0].k = this.oe(c); h[1].n = this.ne(e); h[1].k = this.oe(e); for (a = 0; a < d; a++) c = this.GA(a), h[a + 2].n = this.ne(c), h[a + 2].k = this.oe(c) } h[this.nd - 1].n = this.ne(f); h[this.nd - 1].k = this.oe(f) } }, uY: function() { if (this.cc) { var a, c = this.gi / 100, d = this.Al, d = F.Ci(F.d(1 - d.x + c * d.x, 1 - d.y + c * d.y), 0.5), c = F.Gd(this.hh, d), d = F.Dj(this.hh, d); 0 > c.x && (d.x += -c.x, c.x = 0); 1 < d.x && (c.x -= d.x - 1, d.x = 1); 0 > c.y && (d.y += -c.y, c.y = 0); 1 < d.y && (c.y -= d.y - 1, d.y = 1); if (this.Ad) { if (!this.xc) { this.nd = 8; var e = F.td.BYTES_PER_ELEMENT; this.of = new ArrayBuffer(8 * e); var f = []; for (a = 0; 8 > a; a++) f[a] = new F.td(q, q, q, this.of, a * e); f[0].n = this.ne(F.d(0, 1)); f[0].k = this.oe(F.d(0, 1)); f[1].n = this.ne(F.d(0, 0)); f[1].k = this.oe(F.d(0, 0)); f[6].n = this.ne(F.d(1, 1)); f[6].k = this.oe(F.d(1, 1)); f[7].n = this.ne(F.d(1, 0)); f[7].k = this.oe(F.d(1, 0)); this.xc = f } a = this.xc; a[2].n = this.ne(F.d(c.x, d.y)); a[2].k = this.oe(F.d(c.x, d.y)); a[3].n = this.ne(F.d(c.x, c.y)); a[3].k = this.oe(F.d(c.x, c.y)); a[4].n = this.ne(F.d(d.x, d.y)); a[4].k = this.oe(F.d(d.x, d.y)); a[5].n = this.ne(F.d(d.x, c.y)); a[5].k = this.oe(F.d(d.x, c.y)) } else { if (!this.xc) { this.nd = 4; e = F.td.BYTES_PER_ELEMENT; this.of = new ArrayBuffer(4 * e); this.xc = []; for (a = 0; 4 > a; a++) this.xc[a] = new F.td(q, q, q, this.of, a * e) } a = this.xc; a[0].n = this.ne(F.d(c.x, d.y)); a[0].k = this.oe(F.d(c.x, d.y)); a[1].n = this.ne(F.d(c.x, c.y)); a[1].k = this.oe(F.d(c.x, c.y)); a[2].n = this.ne(F.d(d.x, d.y)); a[2].k = this.oe(F.d(d.x, d.y)); a[3].n = this.ne(F.d(d.x, c.y)); a[3].k = this.oe(F.d(d.x, c.y)) } this.ec() } }, ec: function() { if (this.cc && this.xc) { for (var a = this.cc.quad.N.v, c = this.xc, d = 0, e = this.nd; d < e; ++d) c[d].v = a; this.js = p } }, xD: q, wY: function() { var a = this.cc, c = a.width, d = a.height, e = this.hh; if (this.nc == F.Ya.Qh) { this.Ge = Math.round(Math.sqrt(c * c + d * d)); var f, g = r, h = this.Qv; h.x = c * e.x; h.y = -d * e.y; this.Ad ? (f = 270, e = 270 - 3.6 * this.gi) : (e = -90, f = -90 + 3.6 * this.gi); a.Qb && (h.x -= c * 2 * this.hh.x, e = -e - 180, f = -f - 180, g = !g); a.Rb && (h.y += d * 2 * this.hh.y, g = !g, e = -e, f = -f); this.hD = e; this.bB = f; this.SA = g } else { f = this.Al; h = this.gi / 100; g = this.CA; f = F.size(c * (1 - f.x), d * (1 - f.y)); var h = F.size((c - f.width) * h, (d - f.height) * h), h = F.size(f.width + h.width, f.height + h.height), m = F.d(c * e.x, d * e.y); f = m.x - h.width / 2; 0.5 < e.x && h.width / 2 >= c - m.x && (f = c - h.width); c = m.y - h.height / 2; 0.5 < e.y && h.height / 2 >= d - m.y && (c = d - h.height); g.x = 0; d = 1; a.Qb && (g.x -= h.width, d = -1); 0 < f && (g.x += f * d); g.y = 0; d = 1; a.Rb && (g.y += h.height, d = -1); 0 < c && (g.y -= c * d); g.width = h.width; g.height = -h.height } }, xY: function() { var a = this.nc; a === F.Ya.Qh ? this.AY() : a === F.Ya.wl && this.uY(); this.js = p } }); M = F.Ya.prototype; F.B == F.$ ? (M.ctor = M.$q, M.$O = M.NX, M.ny = M.TX, M.cG = M.aY, M.VF = M.LX, M.VE = M.kW, M.Y = M.Wi, M.xD = M.xY) : (M.ctor = M.Zq, M.$O = M.MX, M.ny = M.SX, M.cG = M.$X, M.VF = M.KX, M.VE = M.jW, M.Y = M.Dl, M.xD = F.Ya.prototype.wY); F.j(M, "midPoint", M.O_, M.o3); F.j(M, "barChangeRate", M.g_, M.S2); F.j(M, "type", M.LE, M.cG); F.j(M, "percentage", M.S_, M.s3); F.j(M, "sprite", M.gN, M.ny); F.j(M, "reverseDir", M.U0, M.VF); F.Ya.create = function(a) { var c = new F.Ya; return c.VE(a) ? c : q }; F.Ya.HH = 4; F.Ya.jT = 75; F.Ya.Qh = 0; F.Ya.wl = 1; F.oz = F.z.extend({ md: 0, Sc: 0, ctor: function(a, c) { F.z.prototype.ctor.call(this); this.Sc = this.md = 0; c !== k && this.f(a, c) }, f: function(a, c) { return F.z.prototype.f.call(this, a) ? (this.md = c, p) : r }, l: function() { var a = new F.oz; a.f(this.p, this.md); return a }, reverse: function() { F.log("cc.ProgressTo.reverse(): reverse hasn't been supported."); return q }, A: function(a) { F.z.prototype.A.call(this, a); this.Sc = a.percentage; 100 == this.Sc && (this.Sc = 0) }, update: function(a) { this.target instanceof F.Ya && (this.target.percentage = this.Sc + (this.md - this.Sc) * a) } }); F.oz.create = function(a, c) { return new F.oz(a, c) }; F.nq = F.z.extend({ md: 0, Sc: 0, ctor: function(a, c, d) { F.z.prototype.ctor.call(this); this.Sc = this.md = 0; d !== k && this.f(a, c, d) }, f: function(a, c, d) { return F.z.prototype.f.call(this, a) ? (this.md = d, this.Sc = c, p) : r }, l: function() { var a = new F.nq; a.f(this.p, this.Sc, this.md); return a }, reverse: function() { return F.nq.create(this.p, this.md, this.Sc) }, A: function(a) { F.z.prototype.A.call(this, a) }, update: function(a) { this.target instanceof F.Ya && (this.target.percentage = this.Sc + (this.md - this.Sc) * a) } }); F.nq.create = function(a, c, d) { return new F.nq(a, c, d) }; F.sq = 4208917214; F.r7 = F.ma.extend({ rf: t() }); F.j7 = 0; F.Tj = 1; F.yu = 0; F.i7 = 1; F.wa = F.tl.extend({ na: q, fb: q, p: q, fh: r, nK: r, tb: "TransitionScene", ctor: function(a, c) { F.tl.prototype.ctor.call(this); a !== k && c !== k && this.f(a, c) }, iL: function() { this.vy(this.iL); var a = F.I; this.nK = a.Bk; a.IF(this.na); F.ua.se(p); this.fb.visible = p }, mi: function() { this.fh = p }, Y: function() { this.fh ? (this.fb.S(), this.na.S()) : (this.na.S(), this.fb.S()) }, da: function() { F.t.prototype.da.call(this); F.ua.se(r); this.fb.Yf(); this.na.da() }, Ab: function() { F.t.prototype.Ab.call(this); F.ua.se(p); this.fb.Ab(); this.na.Ih() }, Ne: function() { F.t.prototype.Ne.call(this); this.nK && this.fb.Ne() }, f: function(a, c) { c || b("cc.TransitionScene.initWithDuration(): Argument scene must be non-nil"); return this.M() ? (this.p = a, this.ri({ x: 0, y: 0, anchorX: 0, anchorY: 0 }), this.na = c, this.fb = F.I.Ec, this.fb || (this.fb = F.tl.create(), this.fb.M()), this.na == this.fb && b("cc.TransitionScene.initWithDuration(): Incoming scene must be different from the outgoing scene"), this.mi(), p) : r }, finish: function() { this.na.ri({ visible: p, x: 0, y: 0, scale: 1, rotation: 0 }); F.B === F.$ && this.na.wm().restore(); this.fb.ri({ visible: r, x: 0, y: 0, scale: 1, rotation: 0 }); F.B === F.$ && this.fb.wm().restore(); this.nt(this.iL, 0) }, ix: function() { this.na.visible = p; this.fb.visible = r } }); F.wa.create = function(a, c) { return new F.wa(a, c) }; F.Xj = F.wa.extend({ Pl: 0, f: function(a, c, d) { F.wa.prototype.f.call(this, a, c) && (this.Pl = d); return p } }); F.Xj.create = function(a, c, d) { var e = new F.Xj; e.f(a, c, d); return e }; F.iI = F.wa.extend({ da: function() { F.wa.prototype.da.call(this); this.na.ri({ scale: 0.001, anchorX: 0.5, anchorY: 0.5 }); this.fb.ri({ scale: 1, anchorX: 0.5, anchorY: 0.5 }); var a = F.Ha.create(F.xe.create(F.gn.create(this.p / 2, 0.001), F.fn.create(this.p / 2, 720)), F.Oc.create(this.p / 2)); this.fb.ib(a); this.na.ib(F.Ha.create(a.reverse(), F.Pb.create(this.finish, this))) } }); F.iI.create = function(a, c) { var d = new F.iI; return d != q && d.f(a, c) ? d : q }; F.YH = F.wa.extend({ da: function() { F.wa.prototype.da.call(this); var a = F.I.T; this.na.ri({ scale: 0.5, x: a.width, y: 0, anchorX: 0.5, anchorY: 0.5 }); this.fb.anchorX = 0.5; this.fb.anchorY = 0.5; var c = F.Oh.create(this.p / 4, F.d(-a.width, 0), a.width / 4, 2), d = F.sd.create(this.p / 4, 1), a = F.sd.create(this.p / 4, 0.5), a = F.Ha.create(a, c), c = F.Ha.create(c, d), d = F.Oc.create(this.p / 2); this.fb.ib(a); this.na.ib(F.Ha.create(d, c, F.Pb.create(this.finish, this))) } }); F.YH.create = function(a, c) { var d = new F.YH; return d != q && d.f(a, c) ? d : q }; F.Hq = F.wa.extend({ da: function() { F.wa.prototype.da.call(this); this.yj(); var a = this.action(); this.na.ib(F.Ha.create(this.rf(a), F.Pb.create(this.finish, this))) }, yj: function() { this.na.G(-F.I.T.width, 0) }, action: function() { return F.jq.create(this.p, F.d(0, 0)) }, rf: function(a) { return F.ml.create(a, 2) } }); F.Hq.create = function(a, c) { var d = new F.Hq; return d != q && d.f(a, c) ? d : q }; F.$H = F.Hq.extend({ yj: function() { this.na.G(F.I.T.width, 0) } }); F.$H.create = function(a, c) { var d = new F.$H; return d != q && d.f(a, c) ? d : q }; F.aI = F.Hq.extend({ yj: function() { this.na.G(0, F.I.T.height) } }); F.aI.create = function(a, c) { var d = new F.aI; return d != q && d.f(a, c) ? d : q }; F.ZH = F.Hq.extend({ yj: function() { this.na.G(0, -F.I.T.height) } }); F.ZH.create = function(a, c) { var d = new F.ZH; return d != q && d.f(a, c) ? d : q }; F.Lj = 0.5; F.Iq = F.wa.extend({ mi: function() { this.fh = r }, da: function() { F.wa.prototype.da.call(this); this.yj(); var a = this.action(), c = this.action(), a = this.rf(a), c = F.Ha.create(this.rf(c), F.Pb.create(this.finish, this)); this.na.ib(a); this.fb.ib(c) }, yj: function() { this.na.G(-F.I.T.width + F.Lj, 0) }, action: function() { return F.wf.create(this.p, F.d(F.I.T.width - F.Lj, 0)) }, rf: function(a) { return F.ml.create(a, 2) } }); F.Iq.create = function(a, c) { var d = new F.Iq; return d != q && d.f(a, c) ? d : q }; F.lI = F.Iq.extend({ mi: function() { this.fh = p }, yj: function() { this.na.G(F.I.T.width - F.Lj, 0) }, action: function() { return F.wf.create(this.p, F.d(-(F.I.T.width - F.Lj), 0)) } }); F.lI.create = function(a, c) { var d = new F.lI; return d != q && d.f(a, c) ? d : q }; F.kI = F.Iq.extend({ mi: function() { this.fh = r }, yj: function() { this.na.G(0, F.I.T.height - F.Lj) }, action: function() { return F.wf.create(this.p, F.d(0, -(F.I.T.height - F.Lj))) } }); F.kI.create = function(a, c) { var d = new F.kI; return d != q && d.f(a, c) ? d : q }; F.mI = F.Iq.extend({ mi: function() { this.fh = p }, yj: function() { this.na.G(0, -(F.I.T.height - F.Lj)) }, action: function() { return F.wf.create(this.p, F.d(0, F.I.T.height - F.Lj)) } }); F.mI.create = function(a, c) { var d = new F.mI; return d != q && d.f(a, c) ? d : q }; F.jI = F.wa.extend({ da: function() { F.wa.prototype.da.call(this); this.na.ri({ scale: 0.001, anchorX: 2 / 3, anchorY: 0.5 }); this.fb.ri({ scale: 1, anchorX: 1 / 3, anchorY: 0.5 }); var a = F.sd.create(this.p, 0.01), c = F.sd.create(this.p, 1); this.na.ib(this.rf(c)); this.fb.ib(F.Ha.create(this.rf(a), F.Pb.create(this.finish, this))) }, rf: function(a) { return F.ml.create(a, 2) } }); F.jI.create = function(a, c) { var d = new F.jI; return d != q && d.f(a, c) ? d : q }; F.WH = F.Xj.extend({ da: function() { F.wa.prototype.da.call(this); var a, c; this.na.visible = r; var d; this.Pl === F.Tj ? (a = 90, d = 270, c = 90) : (a = -90, d = 90, c = -90); a = F.Ha.create(F.Oc.create(this.p / 2), F.xf.create(), F.$d.create(this.p / 2, 1, 0, d, a, 0, 0), F.Pb.create(this.finish, this)); c = F.Ha.create(F.$d.create(this.p / 2, 1, 0, 0, c, 0, 0), F.Xg.create(), F.Oc.create(this.p / 2)); this.na.ib(a); this.fb.ib(c) } }); F.WH.create = function(a, c, d) { d == q && (d = F.Tj); var e = new F.WH; e.f(a, c, d); return e }; F.XH = F.Xj.extend({ da: function() { F.wa.prototype.da.call(this); var a, c; this.na.visible = r; var d; this.Pl == F.yu ? (a = 90, d = 270, c = 90) : (a = -90, d = 90, c = -90); a = F.Ha.create(F.Oc.create(this.p / 2), F.xf.create(), F.$d.create(this.p / 2, 1, 0, d, a, 90, 0), F.Pb.create(this.finish, this)); c = F.Ha.create(F.$d.create(this.p / 2, 1, 0, 0, c, 90, 0), F.Xg.create(), F.Oc.create(this.p / 2)); this.na.ib(a); this.fb.ib(c) } }); F.XH.create = function(a, c, d) { d == q && (d = F.yu); var e = new F.XH; e.f(a, c, d); return e }; F.VH = F.Xj.extend({ da: function() { F.wa.prototype.da.call(this); var a, c; this.na.visible = r; var d; this.Pl === F.Tj ? (a = 90, d = 270, c = 90) : (a = -90, d = 90, c = -90); a = F.Ha.create(F.Oc.create(this.p / 2), F.xf.create(), F.$d.create(this.p / 2, 1, 0, d, a, -45, 0), F.Pb.create(this.finish, this)); c = F.Ha.create(F.$d.create(this.p / 2, 1, 0, 0, c, 45, 0), F.Xg.create(), F.Oc.create(this.p / 2)); this.na.ib(a); this.fb.ib(c) } }); F.VH.create = function(a, c, d) { d == q && (d = F.Tj); var e = new F.VH; e.f(a, c, d); return e }; F.qI = F.Xj.extend({ da: function() { F.wa.prototype.da.call(this); var a, c; this.na.visible = r; var d; this.Pl === F.Tj ? (a = 90, d = 270, c = 90) : (a = -90, d = 90, c = -90); a = F.Ha.create(F.Oc.create(this.p / 2), F.xe.create(F.$d.create(this.p / 2, 1, 0, d, a, 0, 0), F.sd.create(this.p / 2, 1), F.xf.create()), F.Pb.create(this.finish, this)); c = F.Ha.create(F.xe.create(F.$d.create(this.p / 2, 1, 0, 0, c, 0, 0), F.sd.create(this.p / 2, 0.5)), F.Xg.create(), F.Oc.create(this.p / 2)); this.na.scale = 0.5; this.na.ib(a); this.fb.ib(c) } }); F.qI.create = function(a, c, d) { d == q && (d = F.Tj); var e = new F.qI; e.f(a, c, d); return e }; F.rI = F.Xj.extend({ da: function() { F.wa.prototype.da.call(this); var a, c; this.na.visible = r; var d; this.Pl === F.yu ? (a = 90, d = 270, c = 90) : (a = -90, d = 90, c = -90); a = F.Ha.create(F.Oc.create(this.p / 2), F.xe.create(F.$d.create(this.p / 2, 1, 0, d, a, 90, 0), F.sd.create(this.p / 2, 1), F.xf.create()), F.Pb.create(this.finish, this)); c = F.Ha.create(F.xe.create(F.$d.create(this.p / 2, 1, 0, 0, c, 90, 0), F.sd.create(this.p / 2, 0.5)), F.Xg.create(), F.Oc.create(this.p / 2)); this.na.scale = 0.5; this.na.ib(a); this.fb.ib(c) } }); F.rI.create = function(a, c, d) { d == q && (d = F.yu); var e = new F.rI; e.f(a, c, d); return e }; F.pI = F.Xj.extend({ da: function() { F.wa.prototype.da.call(this); var a, c; this.na.visible = r; var d; this.Pl === F.Tj ? (a = 90, d = 270, c = 90) : (a = -90, d = 90, c = -90); a = F.Ha.create(F.Oc.create(this.p / 2), F.xe.create(F.$d.create(this.p / 2, 1, 0, d, a, -45, 0), F.sd.create(this.p / 2, 1), F.xf.create()), F.xf.create(), F.Pb.create(this.finish, this)); c = F.Ha.create(F.xe.create(F.$d.create(this.p / 2, 1, 0, 0, c, 45, 0), F.sd.create(this.p / 2, 0.5)), F.Xg.create(), F.Oc.create(this.p / 2)); this.na.scale = 0.5; this.na.ib(a); this.fb.ib(c) } }); F.pI.create = function(a, c, d) { d == q && (d = F.Tj); var e = new F.pI; e.f(a, c, d); return e }; F.RH = F.wa.extend({ de: q, ctor: function() { F.wa.prototype.ctor.call(this); this.de = F.color() }, da: function() { F.wa.prototype.da.call(this); var a = F.Ac.create(this.de); this.na.visible = r; this.Q(a, 2, F.sq); var a = this.Bh(F.sq), c = F.Ha.create(F.Xm.create(this.p / 2), F.Pb.create(this.ix, this), F.Ym.create(this.p / 2), F.Pb.create(this.finish, this)); a.ib(c) }, Ab: function() { F.wa.prototype.Ab.call(this); this.DF(F.sq, r) }, f: function(a, c, d) { d = d || F.color.BLACK; F.wa.prototype.f.call(this, a, c) && (this.de.r = d.r, this.de.g = d.g, this.de.b = d.b, this.de.a = 0); return p } }); F.RH.create = function(a, c, d) { var e = new F.RH; e.f(a, c, d); return e }; F.QH = F.wa.extend({ da: function() { F.wa.prototype.da.call(this); var a = F.color(0, 0, 0, 0), c = F.I.T, a = F.Ac.create(a), d = F.en.create(c.width, c.height); if (q != d) { d.sprite.anchorX = 0.5; d.sprite.anchorY = 0.5; d.ri({ x: c.width / 2, y: c.height / 2, anchorX: 0.5, anchorY: 0.5 }); d.xh(); this.na.S(); d.end(); var e = F.en.create(c.width, c.height); e.G(c.width / 2, c.height / 2); e.sprite.anchorX = e.anchorX = 0.5; e.sprite.anchorY = e.anchorY = 0.5; e.xh(); this.fb.S(); e.end(); d.sprite.Ue(F.ONE, F.ONE); e.sprite.Ue(F.SRC_ALPHA, F.ONE_MINUS_SRC_ALPHA); a.Q(d); a.Q(e); d.sprite.opacity = 255; e.sprite.opacity = 255; c = F.Ha.create(F.Ki.create(this.p, 0), F.Pb.create(this.ix, this), F.Pb.create(this.finish, this)); e.sprite.ib(c); this.Q(a, 2, F.sq) } }, Ab: function() { this.DF(F.sq, r); F.wa.prototype.Ab.call(this) }, Y: t() }); F.QH.create = function(a, c) { var d = new F.QH; d.f(a, c); return d }; F.oI = F.wa.extend({ mi: function() { this.fh = r }, da: function() { F.wa.prototype.da.call(this); var a = F.I.T, a = F.$z.create(this.p, F.size(0 | 12 * (a.width / a.height), 12)), a = this.rf(a); this.fb.ib(F.Ha.create(a, F.Pb.create(this.finish, this), F.ul.create())) }, rf: aa() }); F.oI.create = function(a, c) { var d = new F.oI; return d != q && d.f(a, c) ? d : q }; F.Zz = F.wa.extend({ da: function() { F.wa.prototype.da.call(this); this.na.visible = r; var a = this.action(), a = F.Ha.create(a, F.Pb.create(this.ix, this), a.reverse()); this.ib(F.Ha.create(this.rf(a), F.Pb.create(this.finish, this), F.ul.create())) }, rf: function(a) { return F.Up.create(a, 3) }, action: function() { return F.Iz.create(this.p / 2, 3) } }); F.Zz.create = function(a, c) { var d = new F.Zz; return d != q && d.f(a, c) ? d : q }; F.nI = F.Zz.extend({ action: function() { return F.Jz.create(this.p / 2, 3) } }); F.nI.create = function(a, c) { var d = new F.nI; return d != q && d.f(a, c) ? d : q }; F.Gq = F.wa.extend({ mi: function() { this.fh = r }, da: function() { F.wa.prototype.da.call(this); var a = F.I.T, a = this.xo(F.size(0 | 12 * (a.width / a.height), 12)); this.fb.ib(F.Ha.create(this.rf(a), F.Pb.create(this.finish, this), F.ul.create())) }, rf: aa(), xo: function(a) { return F.dq.create(this.p, a) } }); F.Gq.create = function(a, c) { var d = new F.Gq; return d != q && d.f(a, c) ? d : q }; F.SH = F.Gq.extend({ xo: function(a) { return F.Sy.create(this.p, a) } }); F.SH.create = function(a, c) { var d = new F.SH; return d != q && d.f(a, c) ? d : q }; F.UH = F.Gq.extend({ xo: function(a) { return F.fu.create(this.p, a) } }); F.UH.create = function(a, c) { var d = new F.UH; return d != q && d.f(a, c) ? d : q }; F.TH = F.Gq.extend({ xo: function(a) { return F.Ty.create(this.p, a) } }); F.TH.create = function(a, c) { var d = new F.TH; return d != q && d.f(a, c) ? d : q }; F.zH = 49153; F.Wj = F.wa.extend({ md: 0, Sc: 0, dw: q, tb: "TransitionProgress", Wl: function(a, c, d) { a.ri({ x: c, y: d, anchorX: 0.5, anchorY: 0.5 }) }, da: function() { F.wa.prototype.da.call(this); this.pL(); var a = F.I.T, c = F.en.create(a.width, a.height); c.sprite.anchorX = 0.5; c.sprite.anchorY = 0.5; this.Wl(c, a.width / 2, a.height / 2); c.clear(0, 0, 0, 1); c.xh(); this.dw.S(); c.end(); this.dw == this.fb && this.ix(); a = this.Rl(c); c = F.Ha.create(F.nq.create(this.p, this.Sc, this.md), F.Pb.create(this.finish, this)); a.ib(c); this.Q(a, 2, F.zH) }, Ab: function() { this.DF(F.zH, p); F.wa.prototype.Ab.call(this) }, pL: function() { this.dw = this.fb; this.Sc = 100; this.md = 0 }, Rl: function() { F.log("cc.TransitionProgress._progressTimerNodeWithRenderTexture(): should be overridden in subclass"); return q }, mi: function() { this.fh = r } }); F.Wj.create = function(a, c) { var d = new F.Wj; return d != q && d.f(a, c) ? d : q }; F.fI = F.Wj.extend({ Rl: function(a) { var c = F.I.T; a = F.Ya.create(a.sprite); F.B === F.$ && (a.sprite.flippedY = p); a.type = F.Ya.Qh; a.reverseDir = r; a.percentage = 100; this.Wl(a, c.width / 2, c.height / 2); return a } }); F.fI.create = function(a, c) { var d = new F.fI; return d != q && d.f(a, c) ? d : q }; F.gI = F.Wj.extend({ Rl: function(a) { var c = F.I.T; a = F.Ya.create(a.sprite); F.B === F.$ && (a.sprite.flippedY = p); a.type = F.Ya.Qh; a.reverseDir = p; a.percentage = 100; this.Wl(a, c.width / 2, c.height / 2); return a } }); F.gI.create = function(a, c) { var d = new F.gI; return d != q && d.f(a, c) ? d : q }; F.cI = F.Wj.extend({ Rl: function(a) { var c = F.I.T; a = F.Ya.create(a.sprite); F.B === F.$ && (a.sprite.flippedY = p); a.type = F.Ya.wl; a.midPoint = F.d(1, 0); a.barChangeRate = F.d(1, 0); a.percentage = 100; this.Wl(a, c.width / 2, c.height / 2); return a } }); F.cI.create = function(a, c) { var d = new F.cI; return d != q && d.f(a, c) ? d : q }; F.hI = F.Wj.extend({ Rl: function(a) { var c = F.I.T; a = F.Ya.create(a.sprite); F.B === F.$ && (a.sprite.flippedY = p); a.type = F.Ya.wl; a.midPoint = F.d(0, 0); a.barChangeRate = F.d(0, 1); a.percentage = 100; this.Wl(a, c.width / 2, c.height / 2); return a } }); F.hI.create = function(a, c) { var d = new F.hI; return d != q && d.f(a, c) ? d : q }; F.dI = F.Wj.extend({ Rl: function(a) { var c = F.I.T; a = F.Ya.create(a.sprite); F.B === F.$ && (a.sprite.flippedY = p); a.type = F.Ya.wl; a.midPoint = F.d(0.5, 0.5); a.barChangeRate = F.d(1, 1); a.percentage = 0; this.Wl(a, c.width / 2, c.height / 2); return a }, mi: function() { this.fh = r }, pL: function() { this.dw = this.na; this.Sc = 0; this.md = 100 } }); F.dI.create = function(a, c) { var d = new F.dI; return d != q && d.f(a, c) ? d : q }; F.eI = F.Wj.extend({ Rl: function(a) { var c = F.I.T; a = F.Ya.create(a.sprite); F.B === F.$ && (a.sprite.flippedY = p); a.type = F.Ya.wl; a.midPoint = F.d(0.5, 0.5); a.barChangeRate = F.d(1, 1); a.percentage = 100; this.Wl(a, c.width / 2, c.height / 2); return a } }); F.eI.create = function(a, c) { var d = new F.eI; return d != q && d.f(a, c) ? d : q }; F.bI = F.wa.extend({ Qu: p, tb: "TransitionPageTurn", f: function(a, c, d) { this.Qu = d; F.wa.prototype.f.call(this, a, c); return p }, xo: function(a) { return this.Qu ? F.sl.create(F.lu.create(this.p, a)) : F.lu.create(this.p, a) }, da: function() { F.wa.prototype.da.call(this); var a = F.I.T, c; a.width > a.height ? (a = 16, c = 12) : (a = 12, c = 16); a = this.xo(F.size(a, c)); this.Qu ? (this.na.visible = r, this.na.ib(F.Ha.create(F.xf.create(), a, F.Pb.create(this.finish, this), F.ul.create()))) : this.fb.ib(F.Ha.create(a, F.Pb.create(this.finish, this), F.ul.create())) }, mi: function() { this.fh = this.Qu } }); F.bI.create = function(a, c, d) { var e = new F.bI; e.f(a, c, d); return e }; F.ka = { name: "Jacob__Codec" }; F.B4 = function() { return F.ka.Ga.ex.apply(F.ka.Ga, arguments) }; F.C4 = function() { var a = F.ka.jl.mM.apply(F.ka.jl, arguments); return F.ka.Ga.ex.apply(F.ka.Ga, [a]) }; F.EP = function(a, c) { c = c || 1; var d = this.C4(a), e = [], f, g, h; f = 0; for (h = d.length / c; f < h; f++) { e[f] = 0; for (g = c - 1; 0 <= g; --g) e[f] += d.charCodeAt(f * c + g) << 8 * g } return e }; F.yka = function(a, c) { c = c || 1; var d = this.B4(a), e = [], f, g, h; f = 0; for (h = d.length / c; f < h; f++) { e[f] = 0; for (g = c - 1; 0 <= g; --g) e[f] += d.charCodeAt(f * c + g) << 8 * g } return e }; F.V6 = function(a) { a = a.split(","); var c = [], d; for (d = 0; d < a.length; d++) c.push(parseInt(a[d])); return c }; F.ka.jl = { name: "Jacob__Codec__Base64" }; F.ka.jl.Ev = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d"; F.ka.jl.mM = function(a) { var c = [], d, e, f, g, h, m = 0; for (a = a.replace(/[^A-Za-z0-9\+\/\=]/g, ""); m < a.length;) d = this.Ev.indexOf(a.charAt(m++)), e = this.Ev.indexOf(a.charAt(m++)), g = this.Ev.indexOf(a.charAt(m++)), h = this.Ev.indexOf(a.charAt(m++)), d = d << 2 | e >> 4, e = (e & 15) << 4 | g >> 2, f = (g & 3) << 6 | h, c.push(String.fromCharCode(d)), 64 != g && c.push(String.fromCharCode(e)), 64 != h && c.push(String.fromCharCode(f)); return c = c.join("") }; F.ka.jl.nM = function(a, c) { var d = this.mM(a), e = [], f, g, h; f = 0; for (h = d.length / c; f < h; f++) { e[f] = 0; for (g = c - 1; 0 <= g; --g) e[f] += d.charCodeAt(f * c + g) << 8 * g } return e }; F.y4 = function(a) { if (0 != a.length % 4) return q; for (var c = a.length / 4, d = window.u7 ? new Uint32Array(c) : [], e = 0; e < c; e++) { var f = 4 * e; d[e] = a[f] + 256 * a[f + 1] + 65536 * a[f + 2] + 16777216 * a[f + 3] } return d }; F.ka.Ga = function(a) { this.data = a; this.debug = r; this.xj = k; this.files = 0; this.wy = []; this.UD = Array(32768); this.wh = 0; this.Lx = r; this.$L = 0; this.si = 1; this.Ao = 0; this.cp = []; this.DM = k; this.Ss = Array(F.ka.Ga.nR); this.pm = Array(32); this.Bt = 0; this.mz = q; this.Hh = 0; this.Lo = Array(17); this.Lo[0] = 0; this.IM = this.GM = k }; F.ka.Ga.ex = function(a) { return (new F.ka.Ga(a)).ex()[0][0] }; F.ka.Ga.Wy = function() { this.Hw = this.Gw = 0; this.hF = q; this.a1 = -1 }; F.ka.Ga.nR = 288; F.ka.Ga.aH = 256; F.ka.Ga.RD = [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 ]; F.ka.Ga.iM = [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]; F.ka.Ga.jM = [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]; F.ka.Ga.hM = [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]; F.ka.Ga.Go = [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]; F.ka.Ga.border = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; F.ka.Ga.prototype.ex = function() { this.et = []; ha(this); return this.wy }; F.ka.Ga.prototype.R = function() { this.Ao += 8; return this.$L < this.data.length ? this.data.charCodeAt(this.$L++) : -1 }; function ia(a) { var c; a.Ao++; c = a.si & 1; a.si >>= 1; 0 == a.si && (a.si = a.R(), c = a.si & 1, a.si = a.si >> 1 | 128); return c } function X(a, c) { for (var d = 0, e = c; e--;) d = d << 1 | ia(a); c && (d = F.ka.Ga.RD[d] >> 8 - c); return d } function ka(a, c) { a.UD[a.wh++] = c; a.et.push(String.fromCharCode(c)); 32768 == a.wh && (a.wh = 0) } function la(a) { for (;;) { if (a.Lo[a.Hh] >= a.IM) return -1; if (a.GM[a.Lo[a.Hh]] == a.Hh) return a.Lo[a.Hh]++; a.Lo[a.Hh]++ } } function pa(a) { var c = a.mz[a.Bt], d; if (17 == a.Hh) return -1; a.Bt++; a.Hh++; d = la(a); if (0 <= d) c.Gw = d; else if (c.Gw = 32768, pa(a)) return -1; d = la(a); if (0 <= d) c.Hw = d, c.hF = q; else if (c.Hw = 32768, c.hF = a.mz[a.Bt], c.a1 = a.Bt, pa(a)) return -1; a.Hh--; return 0 } function qa(a, c, d, e) { a.mz = c; a.Bt = 0; a.GM = e; a.IM = d; for (c = 0; 17 > c; c++) a.Lo[c] = 0; a.Hh = 0; return pa(a) ? -1 : 0 } function ra(a, c) { for (var d, e, f = 0, g = c[f];;) if (d = ia(a)) { if (!(g.Hw & 32768)) return g.Hw; g = g.hF; d = c.length; for (e = 0; e < d; e++) if (c[e] === g) { f = e; break } } else { if (!(g.Gw & 32768)) return g.Gw; f++; g = c[f] } return -1 } function sa(a) { var c, d, e, f, g; do if (c = ia(a), e = X(a, 2), 0 == e) { a.si = 1; e = a.R(); e |= a.R() << 8; d = a.R(); d |= a.R() << 8; for ((e ^ ~d) & 65535 && document.write("BlockLen checksum mismatch\n"); e--;) d = a.R(), ka(a, d) } else if (1 == e) for (;;) if (e = F.ka.Ga.RD[X(a, 7)] >> 1, 23 < e ? (e = e << 1 | ia(a), 199 < e ? (e -= 128, e = e << 1 | ia(a)) : (e -= 48, 143 < e && (e += 136))) : e += 256, 256 > e) ka(a, e); else if (256 == e) break; else { var h; e -= 257; g = X(a, F.ka.Ga.jM[e]) + F.ka.Ga.iM[e]; e = F.ka.Ga.RD[X(a, 5)] >> 3; 8 < F.ka.Ga.Go[e] ? (h = X(a, 8), h |= X(a, F.ka.Ga.Go[e] - 8) << 8) : h = X(a, F.ka.Ga.Go[e]); h += F.ka.Ga.hM[e]; for (e = 0; e < g; e++) d = a.UD[a.wh - h & 32767], ka(a, d) } else if (2 == e) { var m = Array(320); d = 257 + X(a, 5); h = 1 + X(a, 5); f = 4 + X(a, 4); for (e = 0; 19 > e; e++) m[e] = 0; for (e = 0; e < f; e++) m[F.ka.Ga.border[e]] = X(a, 3); g = a.pm.length; for (f = 0; f < g; f++) a.pm[f] = new F.ka.Ga.Wy; if (qa(a, a.pm, 19, m)) { a.wh = 0; return } g = d + h; f = 0; for (var n = -1; f < g;) if (n++, e = ra(a, a.pm), 16 > e) m[f++] = e; else if (16 == e) { var s; e = 3 + X(a, 2); if (f + e > g) { a.wh = 0; return } for (s = f ? m[f - 1] : 0; e--;) m[f++] = s } else { e = 17 == e ? 3 + X(a, 3) : 11 + X(a, 7); if (f + e > g) { a.wh = 0; return } for (; e--;) m[f++] = 0 } g = a.Ss.length; for (f = 0; f < g; f++) a.Ss[f] = new F.ka.Ga.Wy; if (qa(a, a.Ss, d, m)) { a.wh = 0; return } g = a.Ss.length; for (f = 0; f < g; f++) a.pm[f] = new F.ka.Ga.Wy; e = []; for (f = d; f < m.length; f++) e[f - d] = m[f]; if (qa(a, a.pm, h, e)) { a.wh = 0; return } for (;;) if (e = ra(a, a.Ss), 256 <= e) { e -= 256; if (0 == e) break; e--; g = X(a, F.ka.Ga.jM[e]) + F.ka.Ga.iM[e]; e = ra(a, a.pm); 8 < F.ka.Ga.Go[e] ? (h = X(a, 8), h |= X(a, F.ka.Ga.Go[e] - 8) << 8) : h = X(a, F.ka.Ga.Go[e]); for (h += F.ka.Ga.hM[e]; g--;) d = a.UD[a.wh - h & 32767], ka(a, d) } else ka(a, e) } while (!c); a.wh = 0; a.si = 1 } function ha(a) { a.et = []; a.Lx = r; var c = []; c[0] = a.R(); c[1] = a.R(); 120 == c[0] && 218 == c[1] && (sa(a), a.wy[a.files] = [a.et.join(""), "geonext.gxt"], a.files++); 31 == c[0] && 139 == c[1] && (ta(a), a.wy[a.files] = [a.et.join(""), "file"], a.files++); if (80 == c[0] && 75 == c[1] && (a.Lx = p, c[2] = a.R(), c[3] = a.R(), 3 == c[2] && 4 == c[3])) { c[0] = a.R(); c[1] = a.R(); a.xj = a.R(); a.xj |= a.R() << 8; c = a.R(); c |= a.R() << 8; a.R(); a.R(); a.R(); a.R(); a.R(); a.R(); a.R(); a.R(); a.R(); a.R(); a.R(); a.R(); var d = a.R(), d = d | a.R() << 8, e = a.R(), e = e | a.R() << 8, f = 0; for (a.cp = []; d--;) { var g = a.R(); "/" == g | ":" == g ? f = 0 : f < F.ka.Ga.aH - 1 && (a.cp[f++] = String.fromCharCode(g)) } a.DM || (a.DM = a.cp); for (var f = 0; f < e;) a.R(), f++; 8 == c && (sa(a), a.wy[a.files] = [a.et.join(""), a.cp.join("")], a.files++); ta(a) } } function ta(a) { var c = [], d; a.xj & 8 && (c[0] = a.R(), c[1] = a.R(), c[2] = a.R(), c[3] = a.R(), a.R(), a.R(), a.R(), a.R(), a.R(), a.R(), a.R(), a.R()); a.Lx && ha(a); c[0] = a.R(); if (8 == c[0]) { a.xj = a.R(); a.R(); a.R(); a.R(); a.R(); a.R(); a.R(); if (a.xj & 4) { c[0] = a.R(); c[2] = a.R(); a.Hh = c[0] + 256 * c[1]; for (c = 0; c < a.Hh; c++) a.R() } if (a.xj & 8) { c = 0; for (a.cp = []; d = a.R();) { if ("7" == d || ":" == d) c = 0; c < F.ka.Ga.aH - 1 && (a.cp[c++] = d) } } if (a.xj & 16) for (; a.R();); a.xj & 2 && (a.R(), a.R()); sa(a); a.R(); a.R(); a.R(); a.R(); a.Lx && ha(a) } }; /* zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */ (function() { function a(a) { b(a) } function c(a, c) { var d = a.split("."), e = H; !(d[0] in e) && e.execScript && e.execScript("var " + d[0]); for (var f; d.length && (f = d.shift());)!d.length && c !== L ? e[f] = c : e = e[f] ? e[f] : e[f] = {} } function d(a) { if ("string" === typeof a) { a = a.split(""); var c, d; c = 0; for (d = a.length; c < d; c++) a[c] = (a[c].charCodeAt(0) & 255) >>> 0 } c = 1; d = 0; for (var e = a.length, f, g = 0; 0 < e;) { f = 1024 < e ? 1024 : e; e -= f; do c += a[g++], d += c; while (--f); c %= 65521; d %= 65521 } return (d << 16 | c) >>> 0 } function e(c, d) { this.index = "number" === typeof d ? d : 0; this.Ks = 0; this.buffer = c instanceof(I ? Uint8Array : Array) ? c : new(I ? Uint8Array : Array)(32768); 2 * this.buffer.length <= this.index && a(Error("invalid index")); this.buffer.length <= this.index && this.zh() } function f(a) { this.buffer = new(I ? Uint16Array : Array)(2 * a); this.length = 0 } function g(a) { var c = a.length, d = 0, e = Number.POSITIVE_INFINITY, f, g, h, m, n, s, u, v, w; for (v = 0; v < c; ++v) a[v] > d && (d = a[v]), a[v] < e && (e = a[v]); f = 1 << d; g = new(I ? Uint32Array : Array)(f); h = 1; m = 0; for (n = 2; h <= d;) { for (v = 0; v < c; ++v) if (a[v] === h) { s = 0; u = m; for (w = 0; w < h; ++w) s = s << 1 | u & 1, u >>= 1; for (w = s; w < f; w += n) g[w] = h << 16 | v; ++m }++h; m <<= 1; n <<= 1 } return [g, d, e] } function h(a, c) { this.Uo = $; this.H = 0; this.input = a; this.b = 0; c && (c.B1 && (this.H = c.B1), "number" === typeof c.gE && (this.Uo = c.gE), c.Rx && (this.a = I && c.Rx instanceof Array ? new Uint8Array(c.Rx) : c.Rx), "number" === typeof c.O1 && (this.b = c.O1)); this.a || (this.a = new(I ? Uint8Array : Array)(32768)) } function m(a, c) { this.length = a; this.PQ = c } function n() { var c = Y; switch (O) { case 3 === c: return [257, c - 3, 0]; case 4 === c: return [258, c - 4, 0]; case 5 === c: return [259, c - 5, 0 ]; case 6 === c: return [260, c - 6, 0]; case 7 === c: return [261, c - 7, 0]; case 8 === c: return [262, c - 8, 0]; case 9 === c: return [263, c - 9, 0]; case 10 === c: return [264, c - 10, 0]; case 12 >= c: return [265, c - 11, 1]; case 14 >= c: return [266, c - 13, 1]; case 16 >= c: return [267, c - 15, 1]; case 18 >= c: return [268, c - 17, 1]; case 22 >= c: return [269, c - 19, 2]; case 26 >= c: return [270, c - 23, 2]; case 30 >= c: return [271, c - 27, 2]; case 34 >= c: return [272, c - 31, 2]; case 42 >= c: return [273, c - 35, 3]; case 50 >= c: return [274, c - 43, 3]; case 58 >= c: return [275, c - 51, 3]; case 66 >= c: return [276, c - 59, 3 ]; case 82 >= c: return [277, c - 67, 4]; case 98 >= c: return [278, c - 83, 4]; case 114 >= c: return [279, c - 99, 4]; case 130 >= c: return [280, c - 115, 4]; case 162 >= c: return [281, c - 131, 5]; case 194 >= c: return [282, c - 163, 5]; case 226 >= c: return [283, c - 195, 5]; case 257 >= c: return [284, c - 227, 5]; case 258 === c: return [285, c - 258, 0]; default: a("invalid length: " + c) } } function s(c, d) { function e(c, d) { var f = c.PQ, g = [], h = 0, m; m = ba[c.length]; g[h++] = m & 65535; g[h++] = m >> 16 & 255; g[h++] = m >> 24; var n; switch (O) { case 1 === f: n = [0, f - 1, 0]; break; case 2 === f: n = [1, f - 2, 0 ]; break; case 3 === f: n = [2, f - 3, 0]; break; case 4 === f: n = [3, f - 4, 0]; break; case 6 >= f: n = [4, f - 5, 1]; break; case 8 >= f: n = [5, f - 7, 1]; break; case 12 >= f: n = [6, f - 9, 2]; break; case 16 >= f: n = [7, f - 13, 2]; break; case 24 >= f: n = [8, f - 17, 3]; break; case 32 >= f: n = [9, f - 25, 3]; break; case 48 >= f: n = [10, f - 33, 4]; break; case 64 >= f: n = [11, f - 49, 4]; break; case 96 >= f: n = [12, f - 65, 5]; break; case 128 >= f: n = [13, f - 97, 5]; break; case 192 >= f: n = [14, f - 129, 6]; break; case 256 >= f: n = [15, f - 193, 6]; break; case 384 >= f: n = [16, f - 257, 7]; break; case 512 >= f: n = [17, f - 385, 7]; break; case 768 >= f: n = [18, f - 513, 8]; break; case 1024 >= f: n = [19, f - 769, 8]; break; case 1536 >= f: n = [20, f - 1025, 9]; break; case 2048 >= f: n = [21, f - 1537, 9]; break; case 3072 >= f: n = [22, f - 2049, 10]; break; case 4096 >= f: n = [23, f - 3073, 10]; break; case 6144 >= f: n = [24, f - 4097, 11]; break; case 8192 >= f: n = [25, f - 6145, 11]; break; case 12288 >= f: n = [26, f - 8193, 12]; break; case 16384 >= f: n = [27, f - 12289, 12]; break; case 24576 >= f: n = [28, f - 16385, 13]; break; case 32768 >= f: n = [29, f - 24577, 13]; break; default: a("invalid distance") } m = n; g[h++] = m[0]; g[h++] = m[1]; g[h++] = m[2]; f = 0; for (h = g.length; f < h; ++f) w[x++] = g[f]; B[g[0]]++; C[g[3]]++; z = c.length + d - 1; v = q } var f, g, h, n, s, u = {}, v, w = I ? new Uint16Array(2 * d.length) : [], x = 0, z = 0, B = new(I ? Uint32Array : Array)(286), C = new(I ? Uint32Array : Array)(30), G = c.H, D; if (!I) { for (h = 0; 285 >= h;) B[h++] = 0; for (h = 0; 29 >= h;) C[h++] = 0 } B[256] = 1; f = 0; for (g = d.length; f < g; ++f) { h = s = 0; for (n = 3; h < n && f + h !== g; ++h) s = s << 8 | d[f + h]; u[s] === L && (u[s] = []); h = u[s]; if (!(0 < z--)) { for (; 0 < h.length && 32768 < f - h[0];) h.shift(); if (f + 3 >= g) { v && e(v, -1); h = 0; for (n = g - f; h < n; ++h) D = d[f + h], w[x++] = D, ++B[D]; break } if (0 < h.length) { s = n = L; var K = 0, J = L, H = L, N = J = L, Q = d.length, H = 0, N = h.length; a: for (; H < N; H++) { n = h[N - H - 1]; J = 3; if (3 < K) { for (J = K; 3 < J; J--) if (d[n + J - 1] !== d[f + J - 1]) continue a; J = K } for (; 258 > J && f + J < Q && d[n + J] === d[f + J];)++J; J > K && (s = n, K = J); if (258 === J) break } n = new m(K, f - s); v ? v.length < n.length ? (D = d[f - 1], w[x++] = D, ++B[D], e(n, 0)) : e(v, -1) : n.length < G ? v = n : e(n, 0) } else v ? e(v, -1) : (D = d[f], w[x++] = D, ++B[D]) } h.push(f) } w[x++] = 256; B[256]++; c.jR = B; c.bR = C; return I ? w.subarray(0, x) : w } function u(a, c) { function d(a) { var c = w[a][x[a]]; c === u ? (d(a + 1), d(a + 1)) : --v[c]; ++x[a] } var e = a.length, g = new f(572), h = new(I ? Uint8Array : Array)(e), m, n, s; if (!I) for (n = 0; n < e; n++) h[n] = 0; for (n = 0; n < e; ++n) 0 < a[n] && g.push(n, a[n]); e = Array(g.length / 2); m = new(I ? Uint32Array : Array)(g.length / 2); if (1 === e.length) return h[g.pop().index] = 1, h; n = 0; for (s = g.length / 2; n < s; ++n) e[n] = g.pop(), m[n] = e[n].value; var u = m.length; n = new(I ? Uint16Array : Array)(c); var g = new(I ? Uint8Array : Array)(c), v = new(I ? Uint8Array : Array)(u); s = Array(c); var w = Array(c), x = Array(c), z = (1 << c) - u, B = 1 << c - 1, C, G, D; n[c - 1] = u; for (C = 0; C < c; ++C) z < B ? g[C] = 0 : (g[C] = 1, z -= B), z <<= 1, n[c - 2 - C] = (n[c - 1 - C] / 2 | 0) + u; n[0] = g[0]; s[0] = Array(n[0]); w[0] = Array(n[0]); for (C = 1; C < c; ++C) n[C] > 2 * n[C - 1] + g[C] && (n[C] = 2 * n[C - 1] + g[C]), s[C] = Array(n[C]), w[C] = Array(n[C]); for (z = 0; z < u; ++z) v[z] = c; for (B = 0; B < n[c - 1]; ++B) s[c - 1][B] = m[B], w[c - 1][B] = B; for (z = 0; z < c; ++z) x[z] = 0; 1 === g[c - 1] && (--v[0], ++x[c - 1]); for (C = c - 2; 0 <= C; --C) { G = z = 0; D = x[C + 1]; for (B = 0; B < n[C]; B++) G = s[C + 1][D] + s[C + 1][D + 1], G > m[z] ? (s[C][B] = G, w[C][B] = u, D += 2) : (s[C][B] = m[z], w[C][B] = z, ++z); x[C] = 0; 1 === g[C] && d(C) } m = v; n = 0; for (s = e.length; n < s; ++n) h[e[n].index] = m[n]; return h } function v(c) { var d = new(I ? Uint16Array : Array)(c.length), e = [], f = [], g = 0, h, m, n; h = 0; for (m = c.length; h < m; h++) e[c[h]] = (e[c[h]] | 0) + 1; h = 1; for (m = 16; h <= m; h++) f[h] = g, g += e[h] | 0, g > 1 << h && a("overcommitted"), g <<= 1; 65536 > g && a("undercommitted"); h = 0; for (m = c.length; h < m; h++) { g = f[c[h]]; f[c[h]] += 1; e = d[h] = 0; for (n = c[h]; e < n; e++) d[h] = d[h] << 1 | g & 1, g >>>= 1 } return d } function x(a, c) { this.input = a; this.a = new(I ? Uint8Array : Array)(32768); this.Uo = N.ux; var d = {}, e; if ((c || !(c = {})) && "number" === typeof c.gE) this.Uo = c.gE; for (e in c) d[e] = c[e]; d.Rx = this.a; this.e = new h(this.input, d) } function w(c, d) { this.vx = []; this.Fx = 32768; this.Fg = this.g = this.D = this.Wx = 0; this.input = I ? new Uint8Array(c) : c; this.JF = r; this.Jx = ma; this.yG = r; if (d || !(d = {})) d.index && (this.D = d.index), d.VD && (this.Fx = d.VD), d.WD && (this.Jx = d.WD), d.mt && (this.yG = d.mt); switch (this.Jx) { case wa: this.b = 32768; this.a = new(I ? Uint8Array : Array)(32768 + this.Fx + 258); break; case ma: this.b = 0; this.a = new(I ? Uint8Array : Array)(this.Fx); this.zh = this.aR; this.kG = this.RQ; this.Mx = this.VQ; break; default: a(Error("invalid inflate mode")) } } function z(c, d) { for (var e = c.g, f = c.Fg, g = c.input, h = c.D, m; f < d;) m = g[h++], m === L && a(Error("input buffer is broken")), e |= m << f, f += 8; c.g = e >>> d; c.Fg = f - d; c.D = h; return e & (1 << d) - 1 } function B(c, d) { for (var e = c.g, f = c.Fg, g = c.input, h = c.D, m = d[0], n = d[1], s; f < n;) s = g[h++], s === L && a(Error("input buffer is broken")), e |= s << f, f += 8; g = m[e & (1 << n) - 1]; m = g >>> 16; c.g = e >> m; c.Fg = f - m; c.D = h; return g & 65535 } function C(a) { function c(a, d, e) { var f, g, h, m; for (m = 0; m < a;) switch (f = B(this, d), f) { case 16: for (h = 3 + z(this, 2); h--;) e[m++] = g; break; case 17: for (h = 3 + z(this, 3); h--;) e[m++] = 0; g = 0; break; case 18: for (h = 11 + z(this, 7); h--;) e[m++] = 0; g = 0; break; default: g = e[m++] = f } return e } var d = z(a, 5) + 257, e = z(a, 5) + 1, f = z(a, 4) + 4, h = new(I ? Uint8Array : Array)(Fa.length), m; for (m = 0; m < f; ++m) h[Fa[m]] = z(a, 3); f = g(h); h = new(I ? Uint8Array : Array)(d); m = new(I ? Uint8Array : Array)(e); a.Mx(g(c.call(a, d, f, h)), g(c.call(a, e, f, m))) } function D(c, d) { var e, f; this.input = c; this.D = 0; if (d || !(d = {})) d.index && (this.D = d.index), d.JP && (this.sR = d.JP); e = c[this.D++]; f = c[this.D++]; switch (e & 15) { case ja: this.method = ja; 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.qG = new w(c, { index: this.D, VD: d.VD, WD: d.WD, mt: d.mt }) } var L = k, O = p, H = this, I = "undefined" !== typeof Uint8Array && "undefined" !== typeof Uint16Array && "undefined" !== typeof Uint32Array; e.prototype.zh = function() { var a = this.buffer, c, d = a.length, e = new(I ? Uint8Array : Array)(d << 1); if (I) e.set(a); else for (c = 0; c < d; ++c) e[c] = a[c]; return this.buffer = e }; e.prototype.J = function(a, c, d) { var e = this.buffer, f = this.index, g = this.Ks, h = e[f]; d && 1 < c && (a = 8 < c ? (P[a & 255] << 24 | P[a >>> 8 & 255] << 16 | P[a >>> 16 & 255] << 8 | P[a >>> 24 & 255]) >> 32 - c : P[a] >> 8 - c); if (8 > c + g) h = h << c | a, g += c; else for (d = 0; d < c; ++d) h = h << 1 | a >> c - d - 1 & 1, 8 === ++g && (g = 0, e[f++] = P[h], h = 0, f === e.length && (e = this.zh())); e[f] = h; this.buffer = e; this.Ks = g; this.index = f }; e.prototype.finish = function() { var a = this.buffer, c = this.index, d; 0 < this.Ks && (a[c] <<= 8 - this.Ks, a[c] = P[a[c]], c++); I ? d = a.subarray(0, c) : (a.length = c, d = a); return d }; var K = new(I ? Uint8Array : Array)(256), G; for (G = 0; 256 > G; ++G) { for (var J = G, Q = J, R = 7, J = J >>> 1; J; J >>>= 1) Q <<= 1, Q |= J & 1, --R; K[G] = (Q << R & 255) >>> 0 } var P = K, K = [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 ]; I && new Uint32Array(K); f.prototype.getParent = function(a) { return 2 * ((a - 2) / 4 | 0) }; f.prototype.push = function(a, c) { var d, e, f = this.buffer, g; d = this.length; f[this.length++] = c; 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, c, d = this.buffer, e, f, g; c = 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: c, length: this.length } }; var $ = 2, K = { NONE: 0, r: 1, ux: $, w6: 3 }, T = []; for (G = 0; 288 > G; G++) switch (O) { case 143 >= G: T.push([G + 48, 8]); break; case 255 >= G: T.push([G - 144 + 400, 9]); break; case 279 >= G: T.push([G - 256 + 0, 7]); break; case 287 >= G: T.push([G - 280 + 192, 8]); break; default: a("invalid literal: " + G) } h.prototype.Xk = function() { var c, d, f, g, h = this.input; switch (this.Uo) { case 0: f = 0; for (g = h.length; f < g;) { d = I ? h.subarray(f, f + 65535) : h.slice(f, f + 65535); f += d.length; var m = f === g, n = L, w = n = L, w = n = L, x = this.a, z = this.b; if (I) { for (x = new Uint8Array(this.a.buffer); x.length <= z + d.length + 5;) x = new Uint8Array(x.length << 1); x.set(this.a) } n = m ? 1 : 0; x[z++] = n | 0; n = d.length; w = ~n + 65536 & 65535; x[z++] = n & 255; x[z++] = n >>> 8 & 255; x[z++] = w & 255; x[z++] = w >>> 8 & 255; if (I) x.set(d, z), z += d.length, x = x.subarray(0, z); else { n = 0; for (w = d.length; n < w; ++n) x[z++] = d[n]; x.length = z } this.b = z; this.a = x } break; case 1: f = new e(new Uint8Array(this.a.buffer), this.b); f.J(1, 1, O); f.J(1, 2, O); h = s(this, h); d = 0; for (m = h.length; d < m; d++) if (g = h[d], e.prototype.J.apply(f, T[g]), 256 < g) f.J(h[++d], h[++d], O), f.J(h[++d], 5), f.J(h[++d], h[++d], O); else if (256 === g) break; this.a = f.finish(); this.b = this.a.length; break; case $: g = new e(new Uint8Array(this.a), this.b); var B, C, D, G = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], K, J, n = Array(19), H, x = $; g.J(1, 1, O); g.J(x, 2, O); h = s(this, h); w = u(this.jR, 15); K = v(w); x = u(this.bR, 7); z = v(x); for (B = 286; 257 < B && 0 === w[B - 1]; B--); for (C = 30; 1 < C && 0 === x[C - 1]; C--); var N = B, Q = C; c = new(I ? Uint32Array : Array)(N + Q); var P = new(I ? Uint32Array : Array)(316), R, U; J = new(I ? Uint8Array : Array)(19); for (H = D = 0; H < N; H++) c[D++] = w[H]; for (H = 0; H < Q; H++) c[D++] = x[H]; if (!I) { H = 0; for (Q = J.length; H < Q; ++H) J[H] = 0 } H = R = 0; for (Q = c.length; H < Q; H += D) { for (D = 1; H + D < Q && c[H + D] === c[H]; ++D); N = D; if (0 === c[H]) if (3 > N) for (; 0 < N--;) P[R++] = 0, J[0]++; else for (; 0 < N;) U = 138 > N ? N : 138, U > N - 3 && U < N && (U = N - 3), 10 >= U ? (P[R++] = 17, P[R++] = U - 3, J[17]++) : (P[R++] = 18, P[R++] = U - 11, J[18]++), N -= U; else if (P[R++] = c[H], J[c[H]]++, N--, 3 > N) for (; 0 < N--;) P[R++] = c[H], J[c[H]]++; else for (; 0 < N;) U = 6 > N ? N : 6, U > N - 3 && U < N && (U = N - 3), P[R++] = 16, P[R++] = U - 3, J[16]++, N -= U } c = I ? P.subarray(0, R) : P.slice(0, R); J = u(J, 7); for (H = 0; 19 > H; H++) n[H] = J[G[H]]; for (D = 19; 4 < D && 0 === n[D - 1]; D--); G = v(J); g.J(B - 257, 5, O); g.J(C - 1, 5, O); g.J(D - 4, 4, O); for (H = 0; H < D; H++) g.J(n[H], 3, O); H = 0; for (n = c.length; H < n; H++) if (d = c[H], g.J(G[d], J[d], O), 16 <= d) { H++; switch (d) { case 16: m = 2; break; case 17: m = 3; break; case 18: m = 7; break; default: a("invalid code: " + d) } g.J(c[H], m, O) } m = [K, w]; z = [z, x]; d = m[0]; m = m[1]; x = z[0]; K = z[1]; z = 0; for (n = h.length; z < n; ++z) if (f = h[z], g.J(d[f], m[f], O), 256 < f) g.J(h[++z], h[++z], O), w = h[++z], g.J(x[w], K[w], O), g.J(h[++z], h[++z], O); else if (256 === f) break; this.a = g.finish(); this.b = this.a.length; break; default: a("invalid compression type") } return this.a }; G = []; var Y; for (Y = 3; 258 >= Y; Y++) J = n(), G[Y] = J[2] << 24 | J[1] << 16 | J[0]; var ba = I ? new Uint32Array(G) : G, N = K; x.prototype.Xk = function() { var c, e, f, g, h = 0; g = this.a; c = ja; switch (c) { case ja: e = Math.LOG2E * Math.log(32768) - 8; break; default: a(Error("invalid compression method")) } e = e << 4 | c; g[h++] = e; switch (c) { case ja: switch (this.Uo) { case N.NONE: f = 0; break; case N.r: f = 1; break; case N.ux: f = 2; break; default: a(Error("unsupported compression type")) } break; default: a(Error("invalid compression method")) } c = f << 6 | 0; g[h++] = c | 31 - (256 * e + c) % 31; c = d(this.input); this.e.b = h; g = this.e.Xk(); h = g.length; I && (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++] = c >> 24 & 255; g[h++] = c >> 16 & 255; g[h++] = c >> 8 & 255; g[h++] = c & 255; return g }; c("Zlib.Deflate", x); c("Zlib.Deflate.compress", function(a, c) { return (new x(a, c)).Xk() }); c("Zlib.Deflate.CompressionType", N); c("Zlib.Deflate.CompressionType.NONE", N.NONE); c("Zlib.Deflate.CompressionType.FIXED", N.r); c("Zlib.Deflate.CompressionType.DYNAMIC", N.ux); var wa = 0, ma = 1, K = { oQ: wa, aQ: ma }; w.prototype.d = function() { for (; !this.JF;) { var c = z(this, 3); c & 1 && (this.JF = O); c >>>= 1; switch (c) { case 0: var c = this.input, d = this.D, e = this.a, f = this.b, g = L, h = L, m = L, n = e.length, g = L; this.Fg = this.g = 0; g = c[d++]; g === L && a(Error("invalid uncompressed block header: LEN (first byte)")); h = g; g = c[d++]; g === L && a(Error("invalid uncompressed block header: LEN (second byte)")); h |= g << 8; g = c[d++]; g === L && a(Error("invalid uncompressed block header: NLEN (first byte)")); m = g; g = c[d++]; g === L && a(Error("invalid uncompressed block header: NLEN (second byte)")); m |= g << 8; h === ~m && a(Error("invalid uncompressed block header: length verify")); d + h > c.length && a(Error("input buffer is broken")); switch (this.Jx) { case wa: for (; f + h > e.length;) { g = n - f; h -= g; if (I) e.set(c.subarray(d, d + g), f), f += g, d += g; else for (; g--;) e[f++] = c[d++]; this.b = f; e = this.zh(); f = this.b } break; case ma: for (; f + h > e.length;) e = this.zh({ ga: 2 }); break; default: a(Error("invalid inflate mode")) } if (I) e.set(c.subarray(d, d + h), f), f += h, d += h; else for (; h--;) e[f++] = c[d++]; this.D = d; this.b = f; this.a = e; break; case 1: this.Mx(Na, Oa); break; case 2: C(this); break; default: a(Error("unknown BTYPE: " + c)) } } return this.kG() }; G = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; var Fa = I ? new Uint16Array(G) : G; G = [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 Ga = I ? new Uint16Array(G) : G; G = [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 na = I ? new Uint8Array(G) : G; G = [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 Ha = I ? new Uint16Array(G) : G; G = [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 oa = I ? new Uint8Array(G) : G; G = new(I ? Uint8Array : Array)(288); J = 0; for (Q = G.length; J < Q; ++J) G[J] = 143 >= J ? 8 : 255 >= J ? 9 : 279 >= J ? 7 : 8; var Na = g(G); G = new(I ? Uint8Array : Array)(30); J = 0; for (Q = G.length; J < Q; ++J) G[J] = 5; var Oa = g(G); w.prototype.Mx = function(a, c) { var d = this.a, e = this.b; this.fa = a; for (var f = d.length - 258, g, h, m; 256 !== (g = B(this, a));) if (256 > g) e >= f && (this.b = e, d = this.zh(), e = this.b), d[e++] = g; else { g -= 257; m = Ga[g]; 0 < na[g] && (m += z(this, na[g])); g = B(this, c); h = Ha[g]; 0 < oa[g] && (h += z(this, oa[g])); for (e >= f && (this.b = e, d = this.zh(), e = this.b); m--;) d[e] = d[e++-h] } for (; 8 <= this.Fg;) this.Fg -= 8, this.D--; this.b = e }; w.prototype.VQ = function(a, c) { var d = this.a, e = this.b; this.fa = a; for (var f = d.length, g, h, m; 256 !== (g = B(this, a));) if (256 > g) e >= f && (d = this.zh(), f = d.length), d[e++] = g; else { g -= 257; m = Ga[g]; 0 < na[g] && (m += z(this, na[g])); g = B(this, c); h = Ha[g]; 0 < oa[g] && (h += z(this, oa[g])); for (e + m > f && (d = this.zh(), f = d.length); m--;) d[e] = d[e++-h] } for (; 8 <= this.Fg;) this.Fg -= 8, this.D--; this.b = e }; w.prototype.zh = function() { var a = new(I ? Uint8Array : Array)(this.b - 32768), c = this.b - 32768, d, e, f = this.a; if (I) a.set(f.subarray(32768, a.length)); else { d = 0; for (e = a.length; d < e; ++d) a[d] = f[d + 32768] } this.vx.push(a); this.Wx += a.length; if (I) f.set(f.subarray(c, c + 32768)); else for (d = 0; 32768 > d; ++d) f[d] = f[c + d]; this.b = 32768; return f }; w.prototype.aR = function(a) { var c, d = this.input.length / this.D + 1 | 0, e, f, g, h = this.input, m = this.a; a && ("number" === typeof a.ga && (d = a.ga), "number" === typeof a.MQ && (d += a.MQ)); 2 > d ? (e = (h.length - this.D) / this.fa[2], g = 258 * (e / 2) | 0, f = g < m.length ? m.length + g : m.length << 1) : f = m.length * d; I ? (c = new Uint8Array(f), c.set(m)) : c = m; return this.a = c }; w.prototype.kG = function() { var a = 0, c = this.a, d = this.vx, e, f = new(I ? Uint8Array : Array)(this.Wx + (this.b - 32768)), g, h, m, n; if (0 === d.length) return I ? this.a.subarray(32768, this.b) : this.a.slice(32768, this.b); g = 0; for (h = d.length; g < h; ++g) { e = d[g]; m = 0; for (n = e.length; m < n; ++m) f[a++] = e[m] } g = 32768; for (h = this.b; g < h; ++g) f[a++] = c[g]; this.vx = []; return this.buffer = f }; w.prototype.RQ = function() { var a, c = this.b; I ? this.yG ? (a = new Uint8Array(c), a.set(this.a.subarray(0, c))) : a = this.a.subarray(0, c) : (this.a.length > c && (this.a.length = c), a = this.a); return this.buffer = a }; D.prototype.d = function() { var c = this.input, e, f; e = this.qG.d(); this.D = this.qG.D; this.sR && (f = (c[this.D++] << 24 | c[this.D++] << 16 | c[this.D++] << 8 | c[this.D++]) >>> 0, f !== d(e) && a(Error("invalid adler-32 checksum"))); return e }; c("Zlib.Inflate", D); c("Zlib.Inflate.BufferType", K); K.Q4 = K.aQ; K.o5 = K.oQ; c("Zlib.Inflate.prototype.decompress", D.prototype.d); K = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; I && new Uint16Array(K); K = [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]; I && new Uint16Array(K); K = [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]; I && new Uint8Array(K); K = [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 ]; I && new Uint16Array(K); K = [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]; I && new Uint8Array(K); K = new(I ? Uint8Array : Array)(288); G = 0; for (J = K.length; G < J; ++G) K[G] = 143 >= G ? 8 : 255 >= G ? 9 : 279 >= G ? 7 : 8; g(K); K = new(I ? Uint8Array : Array)(30); G = 0; for (J = K.length; G < J; ++G) K[G] = 5; g(K); var ja = 8 }).call(this); M = window; M = M.y7 = M.Zlib; M.JG = M.Deflate; M.JG.E9 = M.JG.compress; M.$m = M.Inflate; M.$m.C5 = M.$m.BufferType; M.$m.prototype.oM = M.$m.prototype.decompress; F.XR = F.ma.extend({ ctor: function(a) { var c, d, e, f; this.data = a; this.$a = 8; this.wF = []; this.lx = []; this.Pm = {}; this.QD = q; this.text = {}; for (e = q;;) { c = this.Fj(); f = a = k; f = []; for (a = 0; 4 > a; ++a) f.push(String.fromCharCode(this.data[this.$a++])); a = f.join(""); switch (a) { case "IHDR": this.width = this.Fj(); this.height = this.Fj(); this.Ao = this.data[this.$a++]; this.eE = this.data[this.$a++]; this.F9 = this.data[this.$a++]; this.Z$ = this.data[this.$a++]; this.jda = this.data[this.$a++]; break; case "acTL": this.QD = { Zfa: this.Fj(), $fa: this.Fj() || Infinity, frames: [] }; break; case "PLTE": this.wF = this.ht(c); break; case "fcTL": e && this.QD.frames.push(e); this.$a += 4; e = { width: this.Fj(), height: this.Fj(), LP: this.Fj(), MP: this.Fj() }; a = this.oO(); c = this.oO() || 100; e.L9 = 1E3 * a / c; e.Z9 = this.data[this.$a++]; e.l9 = this.data[this.$a++]; e.data = []; break; case "IDAT": case "fdAT": "fdAT" === a && (this.$a += 4, c -= 4); a = (e != q ? e.data : k) || this.lx; for (f = 0; 0 <= c ? f < c : f > c; 0 <= c ? ++f : --f) a.push(this.data[this.$a++]); break; case "tRNS": this.Pm = {}; switch (this.eE) { case 3: this.Pm.TE = this.ht(c); c = 255 - this.Pm.TE.length; if (0 < c) for (a = 0; 0 <= c ? a < c : a > c; 0 <= c ? ++a : --a) this.Pm.TE.push(255); break; case 0: this.Pm.$ca = this.ht(c)[0]; break; case 2: this.Pm.Cha = this.ht(c) } break; case "tEXt": f = this.ht(c); c = f.indexOf(0); a = String.fromCharCode.apply(String, f.slice(0, c)); this.text[a] = String.fromCharCode.apply(String, f.slice(c + 1)); break; case "IEND": e && this.QD.frames.push(e); a: { switch (this.eE) { case 0: case 3: case 4: e = 1; break a; case 2: case 6: e = 3; break a } e = k } this.v = e; this.rN = 4 === (d = this.eE) || 6 === d; d = this.v + (this.rN ? 1 : 0); this.a2 = this.Ao * d; a: { switch (this.v) { case 1: d = "DeviceGray"; break a; case 3: d = "DeviceRGB"; break a } d = k } this.B9 = d; Uint8Array != Array && (this.lx = new Uint8Array(this.lx)); return; default: this.$a += c } this.$a += 4; this.$a > this.data.length && b(Error("Incomplete or corrupt PNG file")) } }, ht: function(a) { var c, d; d = []; for (c = 0; 0 <= a ? c < a : c > a; 0 <= a ? ++c : --c) d.push(this.data[this.$a++]); return d }, Fj: function() { var a, c, d, e; a = this.data[this.$a++] << 24; c = this.data[this.$a++] << 16; d = this.data[this.$a++] << 8; e = this.data[this.$a++]; return a | c | d | e }, oO: function() { var a, c; a = this.data[this.$a++] << 8; c = this.data[this.$a++]; return a | c }, tZ: function(a) { var c, d, e, f, g, h, m, n, s, u, v, x, w, z, B; a == q && (a = this.lx); if (0 === a.length) return new Uint8Array(0); a = (new Zlib.$m(a, { index: 0, JP: r })).oM(); n = this.a2 / 8; x = n * this.width; s = new Uint8Array(x * this.height); h = a.length; for (d = u = v = 0; u < h;) { switch (a[u++]) { case 0: for (c = 0; c < x; c += 1) s[d++] = a[u++]; break; case 1: for (f = w = 0; w < x; f = w += 1) c = a[u++], g = f < n ? 0 : s[d - n], s[d++] = (c + g) % 256; break; case 2: for (f = g = 0; g < x; f = g += 1) c = a[u++], e = (f - f % n) / n, w = v && s[(v - 1) * x + e * n + f % n], s[d++] = (w + c) % 256; break; case 3: for (f = B = 0; B < x; f = B += 1) c = a[u++], e = (f - f % n) / n, g = f < n ? 0 : s[d - n], w = v && s[(v - 1) * x + e * n + f % n], s[d++] = (c + Math.floor((g + w) / 2)) % 256; break; case 4: for (f = B = 0; B < x; f = B += 1) c = a[u++], e = (f - f % n) / n, g = f < n ? 0 : s[d - n], 0 === v ? w = z = 0 : (w = s[(v - 1) * x + e * n + f % n], z = e && s[(v - 1) * x + (e - 1) * n + f % n]), m = g + w - z, f = Math.abs(m - g), e = Math.abs(m - w), m = Math.abs(m - z), g = f <= e && f <= m ? g : e <= m ? w : z, s[d++] = (c + g) % 256; break; default: b(Error("Invalid filter algorithm: " + a[u - 1])) } v++ } return s }, rZ: function(a, c) { var d, e, f, g, h, m, n, s; e = this.v; s = q; d = this.rN; this.wF.length && (s = (f = this.bV) != q ? f : this.bV = this.sZ(), e = 4, d = p); f = a.data || a; n = f.length; h = s || c; g = m = 0; if (1 === e) for (; g < n;) e = s ? 4 * c[g / 4] : m, m = h[e++], f[g++] = m, f[g++] = m, f[g++] = m, f[g++] = d ? h[e++] : 255, m = e; else for (; g < n;) e = s ? 4 * c[g / 4] : m, f[g++] = h[e++], f[g++] = h[e++], f[g++] = h[e++], f[g++] = d ? h[e++] : 255, m = e }, sZ: function() { var a, c, d, e, f, g, h, m, n; d = this.wF; g = this.Pm.TE || []; f = new Uint8Array((g.length || 0) + d.length); c = h = a = e = 0; for (m = d.length; h < m; c = h += 3) f[e++] = d[c], f[e++] = d[c + 1], f[e++] = d[c + 2], f[e++] = (n = g[a++]) != q ? n : 255; return f }, A2: function(a) { var c; a.width = this.width; a.height = this.height; a = a.getContext("2d"); c = a.createImageData(this.width, this.height); this.rZ(c, this.tZ()); return a.putImageData(c, 0, 0) } }); F.w4 = { uK: r, am: q, iB: [], getUint8: function(a) { return this.am[a] }, getUint16: function(a) { return this.uK ? this.am[a + 1] << 8 | this.am[a] : this.am[a] << 8 | this.am[a + 1] }, getUint32: function(a) { var c = this.am; return this.uK ? c[a + 3] << 24 | c[a + 2] << 16 | c[a + 1] << 8 | c[a] : c[a] << 24 | c[a + 1] << 16 | c[a + 2] << 8 | c[a + 3] }, hZ: function() { var a = this.getUint16(0); 18761 === a ? this.qF = p : 19789 === a ? this.qF = r : (console.log(a), b(TypeError("Invalid byte order value."))); return this.qF }, v0: function() { 42 !== this.getUint16(2) && b(RangeError("You forgot your towel!")); return p }, w_: function(a) { var c = this.c_; return a in c ? c[a] : q }, u_: function(a) { var c = this.b_; if (a in c) return c[a]; console.log("Unknown Field Tag:", a); return "Tag" + a }, v_: 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 : q }, x_: function(a, c, d, e) { a = []; var f = this.v_(c); if (4 >= f * d) this.qF === r ? 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(c) ? (a.push(this.getUint32(e + h)), a.push(this.getUint32(e + h + 4))) : F.log("Can't handle this field type or size") : a.push(this.KM(f, e + h)) } "ASCII" === c && a.forEach(function(a, c, d) { d[c] = String.fromCharCode(a) }); return a }, KM: function(a, c) { if (0 >= a) F.log("No bytes requested"); else { if (1 >= a) return this.getUint8(c); if (2 >= a) return this.getUint16(c); if (3 >= a) return this.getUint32(c) >>> 8; if (4 >= a) return this.getUint32(c); F.log("Too many bytes requested") } }, h_: function(a, c, d) { d = d || 0; c += 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(c)) : 16 >= e ? (f = 16 + d, g = this.getUint16(c)) : 32 >= e ? (f = d, g = this.getUint32(c)) : console.log("Too many bits requested"); return { bits: g << f >>> a, byteOffset: c + Math.floor(e / 8), bitOffset: e % 8 } }, lO: function(a) { var c = this.getUint16(a), d = []; a += 2; for (var e = 0; e < c; a += 12, e++) { var f = this.getUint16(a), g = this.getUint16(a + 2), h = this.getUint32(a + 4), m = this.getUint32(a + 8), f = this.u_(f), g = this.w_(g), h = this.x_(f, g, h, m); d[f] = { type: g, Lh: h } } this.iB.push(d); c = this.getUint32(a); 0 !== c && this.lO(c) }, mm: function(a, c) { var d = Math.pow(2, 8 - c); return Math.floor(a * d + (d - 1)) }, V1: function(a, c) { c = c || F.Nb("canvas"); this.am = a; this.canvas = c; this.hZ(); if (this.v0()) { var d = this.getUint32(4); this.iB.length = 0; this.lO(d); var e = this.iB[0], d = e.ImageWidth.Lh[0], f = e.ImageLength.Lh[0]; this.canvas.width = d; this.canvas.height = f; var g = [], h = e.Compression ? e.Compression.Lh[0] : 1, m = e.SamplesPerPixel.Lh[0], n = [], s = 0, u = r; e.BitsPerSample.Lh.forEach(function(a, c) { n[c] = { Bo: a, gx: r, us: k }; 0 === a % 8 && (n[c].gx = p, n[c].us = a / 8); s += a }, this); if (0 === s % 8) var u = p, v = s / 8; var x = e.StripOffsets.Lh, w = x.length; if (e.StripByteCounts) var z = e.StripByteCounts.Lh; else F.log("Missing StripByteCounts!"), 1 === w ? z = [Math.ceil(d * f * s / 8)] : b(Error("Cannot recover from missing StripByteCounts")); for (var B = 0; B < w; B++) { var C = x[B]; g[B] = []; for (var D = z[B], L = 0, O = 0, H = 1, I = p, K = [], G = 0, J = 0, Q = 0; L < D; L += H) switch (h) { case 1: H = 0; for (K = []; H < m; H++) n[H].gx ? K.push(this.KM(n[H].us, C + L + n[H].us * H)) : (O = this.h_(n[H].Bo, C + L, O), K.push(O.Ao), L = O.byteOffset - C, O = O.j9, b(RangeError("Cannot handle sub-byte bits per sample"))); g[B].push(K); u ? H = v : (H = 0, b(RangeError("Cannot handle sub-byte bits per pixel"))); break; case 32773: if (I) { var I = r, R = 1, P = 1, H = this.getInt8(C + L); 0 <= H && 127 >= H ? R = H + 1 : -127 <= H && -1 >= H ? P = -H + 1 : I = p } else { for (var $ = this.getUint8(C + L), H = 0; H < P; H++) n[J].gx ? (Q = Q << 8 * G | $, G++, G === n[J].us && (K.push(Q), Q = G = 0, J++)) : b(RangeError("Cannot handle sub-byte bits per sample")), J === m && (g[B].push(K), K = [], J = 0); R--; 0 === R && (I = p) } H = 1 } } if (c.getContext) { v = this.canvas.getContext("2d"); v.fillStyle = "rgba(255, 255, 255, 0)"; B = e.RowsPerStrip ? e.RowsPerStrip.Lh[0] : f; z = g.length; f %= B; f = 0 === f ? B : f; R = B; u = 0; P = e.PhotometricInterpretation.Lh[0]; h = []; m = 0; e.ExtraSamples && (h = e.ExtraSamples.Lh, m = h.length); if (e.ColorMap) var T = e.ColorMap.Lh, Y = Math.pow(2, n[0].Bo); for (B = 0; B < z; B++) { B + 1 === z && (R = f); e = g[B].length; u *= B; for (w = x = 0; x < R, w < e; x++) for (C = 0; C < d; C++, w++) { K = g[B][w]; G = L = D = 0; I = 1; if (0 < m) for (J = 0; J < m; J++) if (1 === h[J] || 2 === h[J]) { I = K[3 + J] / 256; break } switch (P) { case 0: if (n[0].gx) var ba = Math.pow(16, 2 * n[0].us); K.forEach(function(a, c, d) { d[c] = ba - a }); case 1: D = L = G = this.mm(K[0], n[0].Bo); break; case 2: D = this.mm(K[0], n[0].Bo); L = this.mm(K[1], n[1].Bo); G = this.mm(K[2], n[2].Bo); break; case 3: T === k && b(Error("Palette image missing color map")); K = K[0]; D = this.mm(T[K], 16); L = this.mm(T[Y + K], 16); G = this.mm(T[2 * Y + K], 16); break; default: b(RangeError("Unknown Photometric Interpretation:", P)) } v.fillStyle = "rgba(" + D + ", " + L + ", " + G + ", " + I + ")"; v.fillRect(C, u + x, 1, 1) } u = R } } return this.canvas } }, b_: { 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" }, c_: { 1: "BYTE", 2: "ASCII", 3: "SHORT", 4: "LONG", 5: "RATIONAL", 6: "SBYTE", 7: "UNDEFINED", 8: "SSHORT", 9: "SLONG", 10: "SRATIONAL", 11: "FLOAT", 12: "DOUBLE" } }; F.ng = function(a, c, d, e, f, g, h, m, n, s, u, v) { this.$a = a ? a : F.d(0, 0); this.qy = c ? c : F.d(0, 0); this.color = d ? d : { r: 0, g: 0, b: 0, a: 255 }; this.zs = e ? e : { r: 0, g: 0, b: 0, a: 255 }; this.size = f || 0; this.lE = g || 0; this.rotation = h || 0; this.uM = m || 0; this.dl = n || 0; this.atlasIndex = s || 0; this.Xb = u ? u : new F.ng.fz; this.Fd = v ? v : new F.ng.gz; this.HN = r; this.Bs = F.d(0, 0) }; F.ng.fz = function(a, c, d) { this.dir = a ? a : F.d(0, 0); this.radialAccel = c || 0; this.tangentialAccel = d || 0 }; F.ng.gz = function(a, c, d, e) { this.Eg = a || 0; this.qM = c || 0; this.gt = d || 0; this.tM = e || 0 }; F.ng.Au = [F.d(), F.d(), F.d(), F.d()]; F.o = F.t.extend({ fC: "", kb: 0, gJ: r, Xb: q, Fd: q, tb: "ParticleSystem", lC: F.d(0, 0), yk: q, El: 0, kf: 0, W: q, atlasIndex: 0, dm: r, Nu: 0, Rw: q, py: q, Vn: r, qd: 0, duration: 0, jo: q, zk: q, Se: 0, bp: 0, Eg: 0, yo: 0, up: 0, vp: 0, sm: 0, Ho: 0, sh: q, Gk: q, De: q, kk: q, wp: 0, xp: 0, Io: 0, Jo: 0, rm: 0, ob: 0, L: q, q: q, Qa: r, Di: q, ss: r, Ea: 0, Dc: q, lb: q, tc: q, Kr: q, oa: q, ad: q, ctor: function(a) { F.t.prototype.ctor.call(this); this.Ea = F.o.gb; this.Xb = new F.o.fz; this.Fd = new F.o.gz; this.q = { src: F.hc, U: F.gc }; this.yk = []; this.jo = F.d(0, 0); this.zk = F.d(0, 0); this.sh = F.color(255, 255, 255, 255); this.Gk = F.color(255, 255, 255, 255); this.De = F.color(255, 255, 255, 255); this.kk = F.color(255, 255, 255, 255); this.fC = ""; this.kb = 0; this.gJ = r; this.lC = F.d(0, 0); this.kf = this.El = 0; this.W = q; this.atlasIndex = 0; this.dm = r; this.Nu = 0; this.Rw = F.o.wS; this.py = F.o.UP; this.Vn = r; this.ob = this.rm = this.Jo = this.Io = this.xp = this.wp = this.Ho = this.sm = this.vp = this.up = this.yo = this.Eg = this.bp = this.Se = this.duration = this.qd = 0; this.L = q; this.Qa = r; this.Di = F.o.Dq; this.ss = r; this.tc = [0, 0]; this.Dc = []; this.lb = []; this.Kr = F.rect(0, 0, 0, 0); this.oa = p; F.B === F.$ && (this.ad = q); !a || "number" === typeof a ? (a = a || 100, this.c3(F.o.IH), this.Va(a)) : a && this.Uk(a) }, UE: function() { for (var a = this.lb, c = 0, d = this.ob; c < d; ++c) { var e = 6 * c, f = 4 * c; 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 } }, uN: function(a) { var c = F.rb(), d = F.rect(a.x * c, a.y * c, a.width * c, a.height * c), e = a.width, f = a.height; this.L && (e = this.L.pixelsWidth, f = this.L.pixelsHeight); if (F.B !== F.Ca) { F.Wm ? (a = (2 * d.x + 1) / (2 * e), c = (2 * d.y + 1) / (2 * f), e = a + (2 * d.width - 2) / (2 * e), d = c + (2 * d.height - 2) / (2 * f)) : (a = d.x / e, c = d.y / f, e = a + d.width / e, d = c + d.height / f); var f = d, d = c, c = f, g = 0, h = 0; this.W ? (f = this.W.textureAtlas.quads, g = this.atlasIndex, h = this.atlasIndex + this.ob) : (f = this.Dc, g = 0, h = this.ob); for (; g < h; g++) { f[g] || (f[g] = F.vI()); var m = f[g]; m.F.n.fa = a; m.F.n.ga = c; m.O.n.fa = e; m.O.n.ga = c; m.N.n.fa = a; m.N.n.ga = d; m.K.n.fa = e; m.K.n.ga = d } } }, xE: A("W"), al: function(a) { if (this.W != a) { var c = this.W; if (this.W = a) for (var d = this.yk, e = 0; e < this.ob; e++) d[e].atlasIndex = e; a ? c || (this.W.textureAtlas.ZU(this.Dc, this.atlasIndex), F.m.deleteBuffer(this.tc[1])) : (this.LI(), this.UE(), this.pb(c.Oa()), this.Xl()) } }, Po: A("atlasIndex"), MF: y("atlasIndex"), Oaa: A("Rw"), c3: y("Rw"), lca: A("py"), ija: y("py"), tf: A("Vn"), Rba: A("qd"), Xia: y("qd"), Qo: A("duration"), $f: y("duration"), f0: function() { return { x: this.jo.x, y: this.jo.y } }, E3: y("jo"), FE: function() { return { x: this.zk.x, y: this.zk.y } }, Rg: y("zk"), sba: A("Se"), Pg: y("Se"), tba: A("bp"), Qg: y("bp"), maa: A("Eg"), Kg: y("Eg"), naa: A("yo"), Lg: y("yo"), SM: function() { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.getGravity() : Particle Mode should be Gravity"); var a = this.Xb.gravity; return F.d(a.x, a.y) }, bg: function(a) { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.setGravity() : Particle Mode should be Gravity"); this.Xb.gravity = a }, $w: function() { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.getSpeed() : Particle Mode should be Gravity"); return this.Xb.speed }, We: function(a) { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.setSpeed() : Particle Mode should be Gravity"); this.Xb.speed = a }, fN: function() { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.getSpeedVar() : Particle Mode should be Gravity"); return this.Xb.speedVar }, eg: function(a) { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.setSpeedVar() : Particle Mode should be Gravity"); this.Xb.speedVar = a }, kN: function() { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.getTangentialAccel() : Particle Mode should be Gravity"); return this.Xb.tangentialAccel }, Jj: function(a) { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.setTangentialAccel() : Particle Mode should be Gravity"); this.Xb.tangentialAccel = a }, lN: function() { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.getTangentialAccelVar() : Particle Mode should be Gravity"); return this.Xb.tangentialAccelVar }, Kj: function(a) { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.setTangentialAccelVar() : Particle Mode should be Gravity"); this.Xb.tangentialAccelVar = a }, ZM: function() { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.getRadialAccel() : Particle Mode should be Gravity"); return this.Xb.radialAccel }, cg: function(a) { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.setRadialAccel() : Particle Mode should be Gravity"); this.Xb.radialAccel = a }, $M: function() { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.getRadialAccelVar() : Particle Mode should be Gravity"); return this.Xb.radialAccelVar }, dg: function(a) { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.setRadialAccelVar() : Particle Mode should be Gravity"); this.Xb.radialAccelVar = a }, Y_: function() { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.getRotationIsDir() : Particle Mode should be Gravity"); return this.Xb.rotationIsDir }, z3: function(a) { this.Ea !== F.o.gb && F.log("cc.ParticleBatchNode.setRotationIsDir() : Particle Mode should be Gravity"); this.Xb.rotationIsDir = a }, iN: function() { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.getStartRadius() : Particle Mode should be Radius"); return this.Fd.startRadius }, eP: function(a) { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.setStartRadius() : Particle Mode should be Radius"); this.Fd.startRadius = a }, jN: function() { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.getStartRadiusVar() : Particle Mode should be Radius"); return this.Fd.startRadiusVar }, fP: function(a) { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.setStartRadiusVar() : Particle Mode should be Radius"); this.Fd.startRadiusVar = a }, PM: function() { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.getEndRadius() : Particle Mode should be Radius"); return this.Fd.endRadius }, NO: function(a) { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.setEndRadius() : Particle Mode should be Radius"); this.Fd.endRadius = a }, QM: function() { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.getEndRadiusVar() : Particle Mode should be Radius"); return this.Fd.endRadiusVar }, OO: function(a) { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.setEndRadiusVar() : Particle Mode should be Radius"); this.Fd.endRadiusVar = a }, aN: function() { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.getRotatePerSecond() : Particle Mode should be Radius"); return this.Fd.by }, aP: function(a) { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.setRotatePerSecond() : Particle Mode should be Radius"); this.Fd.by = a }, bN: function() { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.getRotatePerSecondVar() : Particle Mode should be Radius"); return this.Fd.cy }, bP: function(a) { this.Ea !== F.o.af && F.log("cc.ParticleBatchNode.setRotatePerSecondVar() : Particle Mode should be Radius"); this.Fd.cy = a }, rp: function(a, c) { this.dm = p; F.t.prototype.rp.call(this, a, c) }, WF: function(a) { this.dm = p; F.t.prototype.WF.call(this, a) }, pt: function(a) { this.dm = p; F.t.prototype.pt.call(this, a) }, qt: function(a) { this.dm = p; F.t.prototype.qt.call(this, a) }, oca: A("up"), Sg: y("up"), pca: A("vp"), Tg: y("vp"), Taa: A("sm"), Og: y("sm"), Uaa: A("Ho"), e3: y("Ho"), ax: function() { return F.color(this.sh.r, this.sh.g, this.sh.b, this.sh.a) }, Xe: function(a) { this.sh = F.color(a) }, hN: function() { return F.color(this.Gk.r, this.Gk.g, this.Gk.b, this.Gk.a) }, fg: function(a) { this.Gk = F.color(a) }, Ww: function() { return F.color(this.De.r, this.De.g, this.De.b, this.De.a) }, Ve: function(a) { this.De = F.color(a) }, OM: function() { return F.color(this.kk.r, this.kk.g, this.kk.b, this.kk.a) }, ag: function(a) { this.kk = F.color(a) }, qca: A("wp"), G3: y("wp"), rca: A("xp"), H3: y("xp"), Vaa: A("Io"), f3: y("Io"), Waa: A("Jo"), g3: y("Jo"), Raa: A("rm"), Mg: y("rm"), j0: A("ob"), K3: function(a) { if (F.B === F.Ca) this.ob = 200 > a ? a : 200; else { if (a > this.Nu) { var c = F.Db.BYTES_PER_ELEMENT; this.lb = new Uint16Array(6 * a); var d = new ArrayBuffer(a * c), e = this.yk; e.length = 0; for (var f = this.Dc, g = f.length = 0; g < a; g++) e[g] = new F.ng, f[g] = new F.Db(q, q, q, q, d, g * c); this.ob = this.Nu = a; if (this.W) for (c = 0; c < a; c++) e[c].atlasIndex = c; this.ad = d; this.UE(); this.Xl(); this.L && this.uN(F.rect(0, 0, this.L.width, this.L.height)) } else this.ob = a; this.D2() } }, Oa: A("L"), pb: function(a) { a.uc ? this.bG(a, F.rect(0, 0, a.width, a.height)) : (this.oa = r, a.Wd(function(a) { this.oa = p; this.bG(a, F.rect(0, 0, a.width, a.height)) }, this)) }, Ah: A("q"), Ue: function(a, c) { if (c === k) this.q != a && (this.q = a, this.Sf()); else if (this.q.src != a || this.q.U != c) this.q = { src: a, U: c }, this.Sf() }, re: A("Qa"), Hd: y("Qa"), O0: function() { return this.q.src == F.SRC_ALPHA && this.q.U == F.ONE || this.q.src == F.ONE && this.q.U == F.ONE }, Jh: function(a) { var c = this.q; a ? (c.src = F.SRC_ALPHA, c.U = F.ONE) : F.B === F.$ ? this.L && !this.L.ti() ? (c.src = F.SRC_ALPHA, c.U = F.ONE_MINUS_SRC_ALPHA) : (c.src = F.hc, c.U = F.gc) : (c.src = F.hc, c.U = F.gc) }, Vba: A("Di"), Zia: y("Di"), mda: A("ss"), Rha: y("ss"), Saa: A("Ea"), Ng: y("Ea"), M: function() { return this.Va(150) }, Uk: function(a) { this.fC = a; a = F.V.Dd(a); return !a ? (F.log("cc.ParticleSystem.initWithFile(): Particles: file not found"), r) : this.z0(a, "") }, i_: function() { return F.rect(0, 0, F.Za.width, F.Za.height) }, z0: function(a) { var c = r, d = q, d = this.CY, e = parseInt(d("maxParticles", a)); if (this.Va(e)) { this.Eg = parseFloat(d("angle", a)); this.yo = parseFloat(d("angleVariance", a)); this.duration = parseFloat(d("duration", a)); this.q.src = parseInt(d("blendFuncSource", a)); this.q.U = parseInt(d("blendFuncDestination", a)); c = this.sh; c.r = 255 * parseFloat(d("startColorRed", a)); c.g = 255 * parseFloat(d("startColorGreen", a)); c.b = 255 * parseFloat(d("startColorBlue", a)); c.a = 255 * parseFloat(d("startColorAlpha", a)); c = this.Gk; c.r = 255 * parseFloat(d("startColorVarianceRed", a)); c.g = 255 * parseFloat(d("startColorVarianceGreen", a)); c.b = 255 * parseFloat(d("startColorVarianceBlue", a)); c.a = 255 * parseFloat(d("startColorVarianceAlpha", a)); c = this.De; c.r = 255 * parseFloat(d("finishColorRed", a)); c.g = 255 * parseFloat(d("finishColorGreen", a)); c.b = 255 * parseFloat(d("finishColorBlue", a)); c.a = 255 * parseFloat(d("finishColorAlpha", a)); c = this.kk; c.r = 255 * parseFloat(d("finishColorVarianceRed", a)); c.g = 255 * parseFloat(d("finishColorVarianceGreen", a)); c.b = 255 * parseFloat(d("finishColorVarianceBlue", a)); c.a = 255 * parseFloat(d("finishColorVarianceAlpha", a)); this.up = parseFloat(d("startParticleSize", a)); this.vp = parseFloat(d("startParticleSizeVariance", a)); this.sm = parseFloat(d("finishParticleSize", a)); this.Ho = parseFloat(d("finishParticleSizeVariance", a)); this.G(parseFloat(d("sourcePositionx", a)), parseFloat(d("sourcePositiony", a))); this.zk.x = parseFloat(d("sourcePositionVariancex", a)); this.zk.y = parseFloat(d("sourcePositionVariancey", a)); this.wp = parseFloat(d("rotationStart", a)); this.xp = parseFloat(d("rotationStartVariance", a)); this.Io = parseFloat(d("rotationEnd", a)); this.Jo = parseFloat(d("rotationEndVariance", a)); this.Ea = parseInt(d("emitterType", a)); if (this.Ea == F.o.gb) c = this.Xb, c.gravity.x = parseFloat(d("gravityx", a)), c.gravity.y = parseFloat(d("gravityy", a)), c.speed = parseFloat(d("speed", a)), c.speedVar = parseFloat(d("speedVariance", a)), e = d("radialAcceleration", a), c.radialAccel = e ? parseFloat(e) : 0, e = d("radialAccelVariance", a), c.radialAccelVar = e ? parseFloat(e) : 0, e = d("tangentialAcceleration", a), c.tangentialAccel = e ? parseFloat(e) : 0, e = d("tangentialAccelVariance", a), c.tangentialAccelVar = e ? parseFloat(e) : 0, e = d("rotationIsDir", a).toLowerCase(), c.rotationIsDir = e != q && ("true" === e || "1" === e); else if (this.Ea == F.o.af) c = this.Fd, c.startRadius = parseFloat(d("maxRadius", a)), c.startRadiusVar = parseFloat(d("maxRadiusVariance", a)), c.endRadius = parseFloat(d("minRadius", a)), c.endRadiusVar = 0, c.by = parseFloat(d("rotatePerSecond", a)), c.cy = parseFloat(d("rotatePerSecondVariance", a)); else return F.log("cc.ParticleSystem.initWithDictionary(): Invalid emitterType in config file"), r; this.Se = parseFloat(d("particleLifespan", a)); this.bp = parseFloat(d("particleLifespanVariance", a)); this.rm = this.ob / this.Se; if (!this.W) if (this.Qa = r, c = d("textureFileName", a), c = F.path.Co(this.fC, c), e = F.Fa.Nm(c)) this.pb(e); else if ((a = d("textureImageData", a)) && 0 == a.length) { e = F.Fa.Hc(c); if (!e) return r; this.pb(e) } else { d = F.EP(a, 1); if (!d) return F.log("cc.ParticleSystem: error decoding or ungzipping textureImageData"), r; a = F.D_(d); if (a !== F.NG && a !== F.Ry) return F.log("cc.ParticleSystem: unknown image format with Data"), r; e = F.Nb("canvas"); a === F.Ry ? (new F.XR(d)).A2(e) : F.w4.V1(d, e); F.Fa.dZ(c, e); (a = F.Fa.Nm(c)) || F.log("cc.ParticleSystem.initWithDictionary() : error loading the texture"); this.pb(a) } c = p } return c }, Va: function(a) { this.ob = a; var c, d = this.yk; for (c = d.length = 0; c < a; c++) d[c] = new F.ng; if (!d) return F.log("Particle system: not enough memory"), r; this.Nu = a; if (this.W) for (c = 0; c < this.ob; c++) d[c].atlasIndex = c; this.Vn = p; this.q.src = F.hc; this.q.U = F.gc; this.Di = F.o.Dq; this.Ea = F.o.gb; this.dm = this.ss = r; this.EO(1); if (F.B === F.$) { if (!this.LI()) return r; this.UE(); this.Xl(); this.shaderProgram = F.Jd.oc(F.Pi) } return p }, P9: function() { this.DP() }, EY: function() { if (this.R0()) return r; var a, c = this.yk; F.B === F.Ca ? this.qd < c.length ? a = c[this.qd] : (a = new F.ng, c.push(a)) : a = c[this.qd]; this.x0(a); ++this.qd; return p }, x0: function(a) { var c = F.n2; a.dl = this.Se + this.bp * c(); a.dl = Math.max(0, a.dl); a.$a.x = this.jo.x + this.zk.x * c(); a.$a.y = this.jo.y + this.zk.y * c(); var d, e; d = this.sh; var f = this.Gk, g = this.De; e = this.kk; F.B === F.Ca ? (d = F.color(F.Vc(d.r + f.r * c(), 0, 255), F.Vc(d.g + f.g * c(), 0, 255), F.Vc(d.b + f.b * c(), 0, 255), F.Vc(d.a + f.a * c(), 0, 255)), e = F.color(F.Vc(g.r + e.r * c(), 0, 255), F.Vc(g.g + e.g * c(), 0, 255), F.Vc(g.b + e.b * c(), 0, 255), F.Vc(g.a + e.a * c(), 0, 255))) : (d = { r: F.Vc(d.r + f.r * c(), 0, 255), g: F.Vc(d.g + f.g * c(), 0, 255), b: F.Vc(d.b + f.b * c(), 0, 255), a: F.Vc(d.a + f.a * c(), 0, 255) }, e = { r: F.Vc(g.r + e.r * c(), 0, 255), g: F.Vc(g.g + e.g * c(), 0, 255), b: F.Vc(g.b + e.b * c(), 0, 255), a: F.Vc(g.a + e.a * c(), 0, 255) }); a.color = d; f = a.zs; g = a.dl; 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.up + this.vp * c(); d = Math.max(0, d); a.size = d; this.sm === F.o.og ? a.lE = 0 : (e = this.sm + this.Ho * c(), e = Math.max(0, e), a.lE = (e - d) / g); d = this.wp + this.xp * c(); e = this.Io + this.Jo * c(); a.rotation = d; a.uM = (e - d) / g; this.Di == F.o.Dq ? a.qy = this.Nw(this.lC) : this.Di == F.o.Vz && (a.qy.x = this.za.x, a.qy.y = this.za.y); d = F.Uf(this.Eg + this.yo * c()); if (this.Ea === F.o.gb) g = this.Xb, e = a.Xb, f = g.speed + g.speedVar * c(), e.dir.x = Math.cos(d), e.dir.y = Math.sin(d), F.hp(e.dir, f), e.radialAccel = g.radialAccel + g.radialAccelVar * c(), e.tangentialAccel = g.tangentialAccel + g.tangentialAccelVar * c(), g.rotationIsDir && (a.rotation = -F.BF(F.T1(e.dir))); else { e = this.Fd; a = a.Fd; var f = e.startRadius + e.startRadiusVar * c(), h = e.endRadius + e.endRadiusVar * c(); a.gt = f; a.tM = e.endRadius === F.o.xS ? 0 : (h - f) / g; a.Eg = d; a.qM = F.Uf(e.by + e.cy * c()) } }, m4: function() { this.Vn = r; this.kb = this.duration; this.El = 0 }, D2: function() { this.Vn = p; this.kb = 0; var a = this.yk; for (this.kf = 0; this.kf < this.qd; ++this.kf) a[this.kf].dl = 0 }, R0: function() { return this.qd >= this.ob }, D4: function(a, c) { var d = q; this.W ? (d = this.W.textureAtlas.quads[this.atlasIndex + a.atlasIndex], this.W.textureAtlas.dirty = p) : d = this.Dc[this.kf]; var e, f, g, h; this.Qa ? (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 m = d.F.v; m.r = e; m.g = f; m.b = g; m.a = h; m = d.O.v; m.r = e; m.g = f; m.b = g; m.a = h; m = d.N.v; m.r = e; m.g = f; m.b = g; m.a = h; m = d.K.v; m.r = e; m.g = f; m.b = g; m.a = h; e = a.size / 2; if (a.rotation) { f = -e; g = -e; h = c.x; var m = c.y, n = -F.Uf(a.rotation), s = Math.cos(n), n = Math.sin(n); d.F.k.x = f * s - g * n + h; d.F.k.y = f * n + g * s + m; d.O.k.x = e * s - g * n + h; d.O.k.y = e * n + g * s + m; d.N.k.x = f * s - e * n + h; d.N.k.y = f * n + e * s + m; d.K.k.x = e * s - e * n + h; d.K.k.y = e * n + e * s + m } else d.F.k.x = c.x - e, d.F.k.y = c.y - e, d.O.k.x = c.x + e, d.O.k.y = c.y - e, d.N.k.x = c.x - e, d.N.k.y = c.y + e, d.K.k.x = c.x + e, d.K.k.y = c.y + e }, g2: function() { if (F.B === F.$) { var a = F.m; a.bindBuffer(a.ARRAY_BUFFER, this.tc[0]); a.bufferData(a.ARRAY_BUFFER, this.ad, a.DYNAMIC_DRAW) } }, update: function(a) { if (this.Vn && this.rm) { var c = 1 / this.rm; this.qd < this.ob && (this.El += a); for (; this.qd < this.ob && this.El > c;) this.EY(), this.El -= c; this.kb += a; - 1 != this.duration && this.duration < this.kb && this.m4() } this.kf = 0; c = F.ng.Au[0]; this.Di == F.o.Dq ? F.Ej(c, this.Nw(this.lC)) : this.Di == F.o.Vz && (c.x = this.za.x, c.y = this.za.y); if (this.yc) { for (var d = F.ng.Au[1], e = F.ng.Au[2], f = F.ng.Au[3], g = this.yk; this.kf < this.qd;) { F.Ux(d); F.Ux(e); F.Ux(f); var h = g[this.kf]; h.dl -= a; if (0 < h.dl) { if (this.Ea == F.o.gb) { var m = f, n = d, s = e; h.$a.x || h.$a.y ? (F.Ej(n, h.$a), F.R1(n)) : F.Ux(n); F.Ej(s, n); F.hp(n, h.Xb.radialAccel); var u = s.x; s.x = -s.y; s.y = u; F.hp(s, h.Xb.tangentialAccel); F.Ej(m, n); F.Sx(m, s); F.Sx(m, this.Xb.gravity); F.hp(m, a); F.Sx(h.Xb.dir, m); F.Ej(m, h.Xb.dir); F.hp(m, a); F.Sx(h.$a, m) } else m = h.Fd, m.Eg += m.qM * a, m.gt += m.tM * a, h.$a.x = -Math.cos(m.Eg) * m.gt, h.$a.y = -Math.sin(m.Eg) * m.gt; if (!this.gJ || F.B === F.Ca) h.color.r += h.zs.r * a, h.color.g += h.zs.g * a, h.color.b += h.zs.b * a, h.color.a += h.zs.a * a, h.HN = p; h.size += h.lE * a; h.size = Math.max(0, h.size); h.rotation += h.uM * a; m = d; this.Di == F.o.Dq || this.Di == F.o.Vz ? (n = e, F.Ej(n, c), F.kO(n, h.qy), F.Ej(m, h.$a), F.kO(m, n)) : F.Ej(m, h.$a); this.W && (m.x += this.za.x, m.y += this.za.y); F.B == F.$ ? this.D4(h, m) : F.Ej(h.Bs, m); ++this.kf } else if (h = h.atlasIndex, this.kf !== this.qd - 1 && (m = g[this.kf], g[this.kf] = g[this.qd - 1], g[this.qd - 1] = m), this.W && (this.W.yZ(this.atlasIndex + h), g[this.qd - 1].atlasIndex = h), --this.qd, 0 == this.qd && this.ss) { this.DP(); this.Tb.removeChild(this, p); return } } this.dm = r } this.W || this.g2() }, G4: function() { this.update(0) }, CY: function(a, c) { if (c) { var d = c[a]; return d != q ? d : "" } return "" }, Sf: function() { if (this.W) F.log("Can't change blending functions when the particle is being batched"); else { var a = this.L; if (a && a instanceof F.ea) { this.Qa = r; var c = this.q; c.src == F.hc && c.U == F.gc && (a.ti() ? this.Qa = p : (c.src = F.SRC_ALPHA, c.U = F.ONE_MINUS_SRC_ALPHA)) } } }, l: function() { var a = new F.o; if (a.Va(this.ob)) { a.Kg(this.Eg); a.Lg(this.yo); a.$f(this.Qo()); var c = this.Ah(); a.Ue(c.src, c.U); a.Xe(this.ax()); a.fg(this.hN()); a.Ve(this.Ww()); a.ag(this.OM()); a.Sg(this.up); a.Tg(this.vp); a.Og(this.sm); a.e3(this.Ho); a.G(F.d(this.x, this.y)); a.Rg(F.d(this.FE().x, this.FE().y)); a.G3(this.wp || 0); a.H3(this.xp || 0); a.f3(this.Io || 0); a.g3(this.Jo || 0); a.Ng(this.Ea); this.Ea == F.o.gb ? (c = this.SM(), a.bg(F.d(c.x, c.y)), a.We(this.$w()), a.eg(this.fN()), a.cg(this.ZM()), a.dg(this.$M()), a.Jj(this.kN()), a.Kj(this.lN())) : this.Ea == F.o.af && (a.eP(this.iN()), a.fP(this.jN()), a.NO(this.PM()), a.OO(this.QM()), a.aP(this.aN()), a.bP(this.bN())); a.Pg(this.Se); a.Qg(this.bp); a.Mg(this.rm); if (!this.W && (a.Hd(this.re()), c = this.Oa())) { var d = c.fc(); a.bG(c, F.rect(0, 0, d.width, d.height)) } } return a }, a3: function(a) { var c = a.Lf; (0 != c.x || 0 != c.y) && F.log("cc.ParticleSystem.setDisplayFrame(): QuadParticle only supports SpriteFrames with no offsets"); F.B === F.$ && (!this.L || a.Oa().Vd != this.L.Vd) && this.pb(a.Oa()) }, bG: function(a, c) { var d = this.L; if (F.B === F.$) { if ((!d || a.Vd != d.Vd) && d != a) this.L = a, this.Sf() } else if ((!d || a != d) && d != a) this.L = a, this.Sf(); this.Kr = c; this.uN(c) }, Y: function(a) { this.oa && !this.W && (F.B === F.Ca ? this.Dl(a) : this.Wi(a), F.Wf++) }, Dl: function(a) { a = a || F.m; a.save(); a.globalCompositeOperation = this.O0() ? "lighter" : "source-over"; for (var c = 0; c < this.qd; c++) { var d = this.yk[c], e = 0 | 0.5 * d.size; if (this.Rw == F.o.IH) { if (e = this.L.Eb, e.width && e.height) { a.save(); a.globalAlpha = d.color.a / 255; a.translate(0 | d.Bs.x, -(0 | d.Bs.y)); var f = 4 * Math.floor(d.size / 4), g = this.Kr.width, h = this.Kr.height; a.scale(Math.max(1 / g * f, 1E-6), Math.max(1 / h * f, 1E-6)); d.rotation && a.rotate(F.Uf(d.rotation)); a.translate(-(0 | g / 2), -(0 | h / 2)); if (d.HN && (f = F.Fa.bx(e))) f.zt || (f.zt = F.Nb("canvas"), f.zt.width = e.width, f.zt.height = e.height), F.No(e, f, d.color, this.Kr, f.zt), e = f.zt; a.drawImage(e, 0, 0); a.restore() } } else a.save(), a.globalAlpha = d.color.a / 255, a.translate(0 | d.Bs.x, -(0 | d.Bs.y)), this.py == F.o.yS ? (d.rotation && a.rotate(F.Uf(d.rotation)), F.Ce.IZ(a, e, d.color)) : F.Ce.BZ(a, e, d.color), a.restore() } a.restore() }, Wi: function(a) { this.L && (a = a || F.m, this.Ib.Nc(), this.Ib.Ze(), F.qe(this.L), F.oN(this.q.src, this.q.U), F.Jc(F.xl), a.bindBuffer(a.ARRAY_BUFFER, this.tc[0]), a.vertexAttribPointer(F.qb, 3, a.FLOAT, r, 24, 0), a.vertexAttribPointer(F.ye, 4, a.UNSIGNED_BYTE, p, 24, 12), a.vertexAttribPointer(F.ud, 2, a.FLOAT, r, 24, 16), a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.tc[1]), a.drawElements(a.TRIANGLES, 6 * this.kf, a.UNSIGNED_SHORT, 0)) }, Afa: function() { F.Kz || this.Xl() }, w8: t(), Xl: function() { if (F.B != F.Ca) { var a = F.m; this.tc[0] = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, this.tc[0]); a.bufferData(a.ARRAY_BUFFER, this.ad, a.DYNAMIC_DRAW); this.tc[1] = a.createBuffer(); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.tc[1]); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.lb, a.STATIC_DRAW) } }, LI: function() { if (F.B === F.Ca) return p; if (this.W) return F.log("cc.ParticleSystem._allocMemory(): Memory should not be allocated when not using batchNode"), r; var a = F.Db.BYTES_PER_ELEMENT, c = this.ob, d = this.Dc; d.length = 0; this.lb = new Uint16Array(6 * c); for (var e = new ArrayBuffer(a * c), f = 0; f < c; f++) d[f] = new F.Db(q, q, q, q, e, f * a); if (!d || !this.lb) return F.log("cocos2d: Particle system: not enough memory"), r; this.ad = e; return p } }); M = F.o.prototype; F.j(M, "opacityModifyRGB", M.re, M.Hd); F.j(M, "batchNode", M.xE, M.al); F.j(M, "active", M.tf); F.j(M, "sourcePos", M.f0, M.E3); F.j(M, "posVar", M.FE, M.Rg); F.j(M, "gravity", M.SM, M.bg); F.j(M, "speed", M.$w, M.We); F.j(M, "speedVar", M.fN, M.eg); F.j(M, "tangentialAccel", M.kN, M.Jj); F.j(M, "tangentialAccelVar", M.lN, M.Kj); F.j(M, "radialAccel", M.ZM, M.cg); F.j(M, "radialAccelVar", M.$M, M.dg); F.j(M, "rotationIsDir", M.Y_, M.z3); F.j(M, "startRadius", M.iN, M.eP); F.j(M, "startRadiusVar", M.jN, M.fP); F.j(M, "endRadius", M.PM, M.NO); F.j(M, "endRadiusVar", M.QM, M.OO); F.j(M, "rotatePerS", M.aN, M.aP); F.j(M, "rotatePerSVar", M.bN, M.bP); F.j(M, "startColor", M.ax, M.Xe); F.j(M, "startColorVar", M.hN, M.fg); F.j(M, "endColor", M.Ww, M.Ve); F.j(M, "endColorVar", M.OM, M.ag); F.j(M, "totalParticles", M.j0, M.K3); F.j(M, "texture", M.Oa, M.pb); F.o.create = function(a) { return new F.o(a) }; F.o.fz = function(a, c, d, e, f, g, h, m) { this.gravity = a ? a : F.d(0, 0); this.speed = c || 0; this.speedVar = d || 0; this.tangentialAccel = e || 0; this.tangentialAccelVar = f || 0; this.radialAccel = g || 0; this.radialAccelVar = h || 0; this.rotationIsDir = m || r }; F.o.gz = function(a, c, d, e, f, g) { this.startRadius = a || 0; this.startRadiusVar = c || 0; this.endRadius = d || 0; this.endRadiusVar = e || 0; this.by = f || 0; this.cy = g || 0 }; F.o.wS = 0; F.o.IH = 1; F.o.yS = 0; F.o.UP = 1; F.o.Mh = -1; F.o.og = -1; F.o.xS = -1; F.o.gb = 0; F.o.af = 1; F.o.Dq = 0; F.o.Vz = 1; F.o.k7 = 2; F.lH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 300 : 150) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(0, 0)), this.cg(0), this.dg(0), this.We(60), this.eg(20), this.Kg(90), this.Lg(10), this.G(F.I.T.width / 2, 60), this.Rg(F.d(40, 20)), this.Pg(3), this.Qg(0.25), this.Sg(54), this.Tg(10), this.Og(F.o.og), this.Mg(this.ob / this.Se), this.Xe(F.color(194, 64, 31, 255)), this.fg(F.color(0, 0, 0, 0)), this.Ve(F.color(0, 0, 0, 255)), this.ag(F.color(0, 0, 0, 0)), this.Jh(p), p) : r } }); F.lH.create = function() { var a = new F.lH; return a.M() ? a : q }; F.mH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 1500 : 150) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(0, -90)), this.cg(0), this.dg(0), this.We(180), this.eg(50), a = F.I.T, this.G(a.width / 2, a.height / 2), this.Kg(90), this.Lg(20), this.Pg(3.5), this.Qg(1), this.Mg(this.ob / this.Se), this.Xe(F.color(128, 128, 128, 255)), this.fg(F.color(128, 128, 128, 255)), this.Ve(F.color(26, 26, 26, 51)), this.ag(F.color(26, 26, 26, 51)), this.Sg(8), this.Tg(2), this.Og(F.o.og), this.Jh(r), p) : r } }); F.mH.create = function() { var a = new F.mH; return a.M() ? a : q }; F.uH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 350 : 150) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.Jh(p), this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(0, 0)), this.cg(0), this.dg(0), this.We(20), this.eg(5), this.Kg(90), this.Lg(360), a = F.I.T, this.G(a.width / 2, a.height / 2), this.Rg(F.d(0, 0)), this.Pg(1), this.Qg(0.5), this.Sg(30), this.Tg(10), this.Og(F.o.og), this.Mg(this.ob / this.Se), this.Xe(F.color(194, 64, 31, 255)), this.fg(F.color(0, 0, 0, 0)), this.Ve(F.color(0, 0, 0, 255)), this.ag(F.color(0, 0, 0, 0)), p) : r } }); F.uH.create = function() { var a = new F.uH; return a.M() ? a : q }; F.oH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 200 : 100) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(0, 0)), this.We(60), this.eg(10), this.cg(-80), this.dg(0), this.Jj(80), this.Kj(0), this.Kg(90), this.Lg(360), a = F.I.T, this.G(a.width / 2, a.height / 2), this.Rg(F.d(0, 0)), this.Pg(4), this.Qg(1), this.Sg(37), this.Tg(10), this.Og(F.o.og), this.Mg(this.ob / this.Se), this.Xe(F.color(31, 64, 194, 255)), this.fg(F.color(0, 0, 0, 0)), this.Ve(F.color(0, 0, 0, 255)), this.ag(F.color(0, 0, 0, 0)), this.Jh(p), p) : r } }); F.oH.create = function() { var a = new F.oH; return a.M() ? a : q }; F.nH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 250 : 100) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(0, 0)), this.We(80), this.eg(10), this.cg(-60), this.dg(0), this.Jj(15), this.Kj(0), this.Kg(90), this.Lg(360), a = F.I.T, this.G(a.width / 2, a.height / 2), this.Rg(F.d(0, 0)), this.Pg(4), this.Qg(1), this.Sg(30), this.Tg(10), this.Og(F.o.og), this.Mg(this.ob / this.Se), this.Xe(F.color(128, 128, 128, 255)), this.fg(F.color(128, 128, 128, 128)), this.Ve(F.color(0, 0, 0, 255)), this.ag(F.color(0, 0, 0, 0)), this.Jh(p), p) : r } }); F.nH.create = function() { var a = new F.nH; return a.M() ? a : q }; F.pH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 150 : 100) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(-200, 200)), this.We(15), this.eg(5), this.cg(0), this.dg(0), this.Jj(0), this.Kj(0), this.Kg(90), this.Lg(360), a = F.I.T, this.G(a.width / 2, a.height / 2), this.Rg(F.d(0, 0)), this.Pg(2), this.Qg(1), this.Sg(60), this.Tg(10), this.Og(F.o.og), this.Mg(this.ob / this.Se), this.Xe(F.color(51, 102, 179)), this.fg(F.color(0, 0, 51, 26)), this.Ve(F.color(0, 0, 0, 255)), this.ag(F.color(0, 0, 0, 0)), this.Jh(p), p) : r } }); F.pH.create = function() { var a = new F.pH; return a.M() ? a : q }; F.tH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 500 : 100) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(0, 0)), this.We(150), this.eg(0), this.cg(-380), this.dg(0), this.Jj(45), this.Kj(0), this.Kg(90), this.Lg(0), a = F.I.T, this.G(a.width / 2, a.height / 2), this.Rg(F.d(0, 0)), this.Pg(12), this.Qg(0), this.Sg(20), this.Tg(0), this.Og(F.o.og), this.Mg(this.ob / this.Se), this.Xe(F.color(128, 128, 128, 255)), this.fg(F.color(128, 128, 128, 0)), this.Ve(F.color(128, 128, 128, 255)), this.ag(F.color(128, 128, 128, 0)), this.Jh(r), p) : r } }); F.tH.create = function() { var a = new F.tH; return a.M() ? a : q }; F.kH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 700 : 300) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(0.1), this.Ng(F.o.gb), this.bg(F.d(0, 0)), this.We(70), this.eg(40), this.cg(0), this.dg(0), this.Jj(0), this.Kj(0), this.Kg(90), this.Lg(360), a = F.I.T, this.G(a.width / 2, a.height / 2), this.Rg(F.d(0, 0)), this.Pg(5), this.Qg(2), this.Sg(15), this.Tg(10), this.Og(F.o.og), this.Mg(this.ob / this.Qo()), this.Xe(F.color(179, 26, 51, 255)), this.fg(F.color(128, 128, 128, 0)), this.Ve(F.color(128, 128, 128, 0)), this.ag(F.color(128, 128, 128, 0)), this.Jh(r), p) : r } }); F.kH.create = function() { var a = new F.kH; return a.M() ? a : q }; F.rH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 200 : 100) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(0, 0)), this.cg(0), this.dg(0), this.We(25), this.eg(10), this.Kg(90), this.Lg(5), this.G(F.I.T.width / 2, 0), this.Rg(F.d(20, 0)), this.Pg(4), this.Qg(1), this.Sg(60), this.Tg(10), this.Og(F.o.og), this.Mg(this.ob / this.Se), this.Xe(F.color(204, 204, 204, 255)), this.fg(F.color(5, 5, 5, 0)), this.Ve(F.color(0, 0, 0, 255)), this.ag(F.color(0, 0, 0, 0)), this.Jh(r), p) : r } }); F.rH.create = function() { var a = new F.rH; return a.M() ? a : q }; F.sH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 700 : 250) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(0, -1)), this.We(5), this.eg(1), this.cg(0), this.dg(1), this.Jj(0), this.Kj(1), a = F.I.T, this.G(a.width / 2, a.height + 10), this.Rg(F.d(a.width / 2, 0)), this.Kg(-90), this.Lg(5), this.Pg(45), this.Qg(15), this.Sg(10), this.Tg(5), this.Og(F.o.og), this.Mg(10), this.Xe(F.color(255, 255, 255, 255)), this.fg(F.color(0, 0, 0, 0)), this.Ve(F.color(255, 255, 255, 0)), this.ag(F.color(0, 0, 0, 0)), this.Jh(r), p) : r } }); F.sH.create = function() { var a = new F.sH; return a.M() ? a : q }; F.qH = F.o.extend({ M: function() { return this.Va(F.B === F.$ ? 1E3 : 300) }, Va: function(a) { return F.o.prototype.Va.call(this, a) ? (this.$f(F.o.Mh), this.Ng(F.o.gb), this.bg(F.d(10, -10)), this.cg(0), this.dg(1), this.Jj(0), this.Kj(1), this.We(130), this.eg(30), this.Kg(-90), this.Lg(5), a = F.I.T, this.G(a.width / 2, a.height), this.Rg(F.d(a.width / 2, 0)), this.Pg(4.5), this.Qg(0), this.Sg(4), this.Tg(2), this.Og(F.o.og), this.Mg(20), this.Xe(F.color(179, 204, 255, 255)), this.fg(F.color(0, 0, 0, 0)), this.Ve(F.color(179, 204, 255, 128)), this.ag(F.color(0, 0, 0, 0)), this.Jh(r), p) : r } }); F.qH.create = function() { var a = new F.qH; return a.M() ? a : q }; F.I6 = 500; F.lz = F.t.extend({ textureAtlas: q, o7: p, q: q, tb: "ParticleBatchNode", ctor: function(a, c) { F.t.prototype.ctor.call(this); this.q = { src: F.hc, U: F.gc }; "string" == typeof a ? this.M(a, c) : a instanceof F.ea && this.sa(a, c) }, sa: function(a, c) { this.textureAtlas = new F.Vj; this.textureAtlas.sa(a, c); this.u.length = 0; F.B === F.$ && (this.shaderProgram = F.Jd.oc(F.Pi)); return p }, Uk: function(a, c) { var d = F.Fa.Hc(a); return this.sa(d, c) }, M: function(a, c) { var d = F.n7.jba().Hc(a); return this.sa(d, c) }, Q: function(a, c, d) { a || b("cc.ParticleBatchNode.addChild() : child should be non-null"); a instanceof F.o || b("cc.ParticleBatchNode.addChild() : only supports cc.ParticleSystem as children"); c = c == q ? a.zIndex : c; d = d == q ? a.tag : d; a.Oa() != this.textureAtlas.texture && b("cc.ParticleSystem.addChild() : the child is not using the same texture id"); var e = a.Ah(); if (0 === this.u.length) this.Ue(e); else if (e.src != this.q.src || e.U != this.q.U) { F.log("cc.ParticleSystem.addChild() : Can't add a ParticleSystem that uses a different blending function"); return } c = this.sU(a, c, d); d = 0; 0 != c ? (c = this.u[c - 1], d = c.Po() + c.ob) : d = 0; this.$E(a, d); a.al(this) }, $E: function(a, c) { var d = a.ob, e = this.textureAtlas, f = e.totalQuads; a.MF(c); f + d > e.vd && (this.cW(f + d), e.EM(e.vd - d, d)); a.Po() + d != f && e.$N(c, c + d); e.tN(d); this.wD() }, removeChild: function(a, c) { if (a != q) if (a instanceof F.o || b("cc.ParticleBatchNode.removeChild(): only supports cc.ParticleSystem as children"), -1 == this.u.indexOf(a)) F.log("cc.ParticleBatchNode.removeChild(): doesn't contain the sprite. Can't remove it"); else { F.t.prototype.removeChild.call(this, a, c); var d = this.textureAtlas; d.y2(a.Po(), a.ob); d.EM(d.totalQuads, a.ob); a.al(q); this.wD() } }, lp: function(a, c) { a || b("cc.ParticleBatchNode.reorderChild(): child should be non-null"); a instanceof F.o || b("cc.ParticleBatchNode.reorderChild(): only supports cc.QuadParticleSystems as children"); if (-1 === this.u.indexOf(a)) F.log("cc.ParticleBatchNode.reorderChild(): Child doesn't belong to batch"); else if (c != a.zIndex) { if (1 < this.u.length) { var d = this.AV(a, c); if (d.bO != d.aO) { this.u.splice(d.bO, 1); this.u.splice(d.aO, 0, a); d = a.Po(); this.wD(); for (var e = 0, f = this.u, g = 0; g < f.length; g++) if (f[g] == a) { e = a.Po(); break } this.textureAtlas.$N(d, a.ob, e); a.G4() } } a.fw(c) } }, u2: function(a, c) { this.removeChild(this.u[i], c) }, Jg: function(a) { for (var c = this.u, d = 0; d < c.length; d++) c[d].al(q); F.t.prototype.Jg.call(this, a); this.textureAtlas.uO() }, yZ: function(a) { a = this.textureAtlas.quads[a]; a.O.k.x = a.O.k.y = a.K.k.x = a.K.k.y = a.N.k.x = a.N.k.y = a.F.k.x = a.F.k.y = 0; this.textureAtlas.Dk(p) }, Y: function() { F.B !== F.Ca && 0 != this.textureAtlas.totalQuads && (F.Ws(this), F.oN(this.q.src, this.q.U), this.textureAtlas.zM()) }, Oa: function() { return this.textureAtlas.texture }, pb: function(a) { this.textureAtlas.texture = a; var c = this.q; a && (!a.ti() && c.src == F.hc && c.U == F.gc) && (c.src = F.SRC_ALPHA, c.U = F.ONE_MINUS_SRC_ALPHA) }, Ue: function(a, c) { c === k ? (this.q.src = a.src, this.q.U = a.U) : (this.q.src = a, this.q.src = c) }, Ah: function() { return { src: this.q.src, U: this.q.U } }, S: function(a) { F.B !== F.Ca && this.yc && (F.Bm(), this.grid && this.grid.tf() && (this.grid.ts(), this.uy()), this.transform(a), this.Y(a), this.grid && this.grid.tf() && this.grid.qs(this), F.Am()) }, wD: function() { for (var a = 0, c = this.u, d = 0; d < c.length; d++) { var e = c[d]; e.MF(a); a += e.ob } }, cW: function(a) { F.log("cocos2d: cc.ParticleBatchNode: resizing TextureAtlas capacity from [" + this.textureAtlas.vd + "] to [" + a + "]."); this.textureAtlas.FF(a) || F.log("cc.ParticleBatchNode._increaseAtlasCapacityTo() : WARNING: Not enough memory to resize the atlas") }, sX: function(a) { for (var c = this.u, d = c.length, e = 0; e < d; e++) if (c[e].zIndex > a) return e; return d }, AV: function(a, c) { for (var d = r, e = r, f = 0, g = 0, h = 0, m = this.u, n = m.length, s = 0; s < n; s++) { var u = m[s]; if (u.zIndex > c && !e && (f = s, e = p, d && e)) break; if (a == u && (g = s, d = p, e || (h = -1), d && e)) break } e || (f = n); return { aO: f + h, bO: g } }, sU: function(a, c, d) { a || b("cc.ParticleBatchNode._addChildHelper(): child should be non-null"); if (a.parent) return F.log("cc.ParticleBatchNode._addChildHelper(): child already added. It can't be added again"), q; this.u || (this.u = []); var e = this.sX(c); this.u.splice(e, 0, a); a.tag = d; a.fw(c); a.parent = this; this.nh && (a.da(), a.Ih()); return e }, Sf: function() { this.textureAtlas.texture.ti() || (this.q.src = F.SRC_ALPHA, this.q.U = F.ONE_MINUS_SRC_ALPHA) }, JE: A("textureAtlas"), aG: y("textureAtlas") }); M = F.lz.prototype; F.j(M, "texture", M.Oa, M.pb); F.lz.create = function(a, c) { return new F.lz(a, c) }; F.d6 = function(a, c, d) { this.xh = a || F.rect(0, 0, 0, 0); this.end = c || F.rect(0, 0, 0, 0); this.duration = d || 0 }; F.c6 = F.ma.extend({ ctor: function() { F.ui.QL(this) }, Yx: function() { F.ui.Yx(this) }, WY: function() { return F.ui.UL(this) }, wM: function() { return F.ui.vM(this) }, ZD: E(r), wZ: t(), $D: E(r), xZ: t(), GN: t(), sM: t(), yE: E(""), h1: t(), f1: t(), g1: t(), e1: t() }); F.Xy = F.ma.extend({ lc: q, Ua: q, Vi: "", Kl: q, ctor: function() { this.Ua = new F.Xy.$Q; this.Kl = F.d(0, 0) }, M: function() { if (!F.Cb.xi) { this.lc = F.sb("#imeDispatcherInput"); this.lc || (this.lc = F.NP(), this.lc.setAttribute("type", "text"), this.lc.setAttribute("id", "imeDispatcherInput"), this.lc.mt(0, 0), this.lc.zP(0, 0), this.lc.style.opacity = "0", this.lc.style.fontSize = "1px", this.lc.setAttribute("tabindex", 2), this.lc.style.position = "absolute", this.lc.style.top = 0, this.lc.style.left = 0, document.body.appendChild(this.lc)); var a = this; F.Ja(this.lc, "input", function() { a.sC(a.lc.value) }, r); F.Ja(this.lc, "keydown", function(c) { c.keyCode === F.gq.o4 ? (c.stopPropagation(), c.preventDefault()) : c.keyCode == F.gq.CM && (a.As("\n", 1), c.stopPropagation(), c.preventDefault()) }, r); /msie/i.test(navigator.userAgent) && F.Ja(this.lc, "keyup", function(c) { c.keyCode == F.gq.WL && a.sC(a.lc.value) }, r); F.Ja(window, "mousedown", function(c) { var d = c.pageY || 0; a.Kl.x = c.pageX || 0; a.Kl.y = d }, r) } }, sC: function(a) { var c, d; c = this.Vi.length < a.length ? this.Vi.length : a.length; for (d = 0; d < c && a[d] === this.Vi[d]; d++); var e = this.Vi.length - d, f = a.length - d; for (c = 0; c < e; c++) this.xM(); for (c = 0; c < f; c++) this.As(a[d + c], 1); this.Vi = a }, As: function(a, c) { this.Ua && a && !(0 >= c) && this.Ua.ee && this.Ua.ee.GN(a, c) }, xM: function() { this.Ua && this.Ua.ee && this.Ua.ee.sM() }, yE: function() { if (this.Ua && this.Ua.ee) { var a = this.Ua.ee.yE(); return a ? a : "" } return "" }, Y9: function() { if (this.Ua) for (var a = 0; a < this.Ua.ug.length; a++); }, W9: function() { if (this.Ua) for (var a = 0; a < this.Ua.ug.length; a++); }, X9: function() { if (this.Ua) for (var a = 0; a < this.Ua.ug.length; a++); }, V9: function() { if (this.Ua) for (var a = 0; a < this.Ua.ug.length; a++); }, QL: function(a) { a && this.Ua && (-1 < this.Ua.ug.indexOf(a) || this.Ua.ug.splice(0, 0, a)) }, UL: function(a) { if (!this.Ua || !a || -1 == this.Ua.ug.indexOf(a)) return r; if (this.Ua.ee) { if (!this.Ua.ee.$D() || !a.ZD()) return r; this.Ua.ee = q; this.QJ(a); return p } if (!a.ZD()) return r; this.QJ(a); return p }, QJ: function(a) { F.Cb.xi ? (this.Ua.ee = a, this.Vi = a.string || "", a = prompt("please enter your word:", this.Vi), a != q && this.sC(a), this.As("\n", 1)) : (this.Ua.ee = a, this.Vi = a.string || "", this.lc.focus(), this.lc.value = this.Vi, this.eV()) }, eV: function() { /msie/i.test(navigator.userAgent) ? (this.lc.style.left = this.Kl.x + "px", this.lc.style.top = this.Kl.y + "px") : this.lc.zP(this.Kl.x, this.Kl.y) }, vM: function(a) { if (!this.Ua || !a || this.Ua.ee != a || !a.$D()) return r; this.Ua.ee = q; F.Za.focus(); return p }, Yx: function(a) { this.Ua && a && -1 != this.Ua.ug.indexOf(a) && (this.Ua.ee && a == this.Ua.ee && (this.Ua.ee = q), F.Me(this.Ua.ug, a)) }, Lga: function(a) { 32 > a ? a == F.gq.WL ? this.xM() : a == F.gq.CM && this.As("\n", 1) : 255 > a && this.As(String.fromCharCode(a), 1) } }); F.Xy.$Q = F.ma.extend({ ee: q, ug: q, ctor: function() { this.ug = [] }, $$: function(a) { for (var c = 0; c < this.ug.length; c++) if (this.ug[c] == a) return c; return q } }); F.ui = new F.Xy; document.body ? F.ui.M() : F.Ja(window, "load", function() { F.ui.M() }, r); F.m7 = F.ma.extend({ ega: E(r), gga: E(r), hga: E(r), fga: E(r), cga: E(r) }); F.Wz = F.Z.extend({ rM: q, Mw: q, c8: q, Kf: "", Ql: "", Wu: 0, tb: "TextFieldTTF", ctor: function(a, c, d, e, f) { this.Mw = F.color(127, 127, 127); F.ui.QL(this); F.Z.prototype.ctor.call(this); f !== k ? (this.F0("", c, d, e, f), a && this.ot(a)) : e === k && d !== k && (this.pd("", c, d), a && this.ot(a)) }, p_: A("rM"), Y2: y("rM"), j_: A("Wu"), Caa: A("Mw"), $ha: y("Mw"), F0: function(a, c, d, e, f) { switch (arguments.length) { case 5: return a && this.ot(a), this.pd(this.Ql, e, f, c, d); case 3: return a && this.ot(a), this.pd(this.Ql, arguments[1], arguments[2]); default: b("Argument must be non-nil ") } }, Mc: function(a) { this.Kf = (a = String(a)) || ""; this.Kf.length ? F.Z.prototype.Mc.call(this, this.Kf) : F.Z.prototype.Mc.call(this, this.Ql); this.Wu = this.Kf.length }, Tk: A("Kf"), ot: function(a) { this.Ql = a || ""; this.Kf.length || F.Z.prototype.Mc.call(this, this.Ql) }, T_: A("Ql"), Y: function(a) { a = a || F.m; if (this.Kf && 0 < this.Kf.length) F.Z.prototype.Y.call(this, a); else { var c = this.color; this.color = this.Mw; F.B === F.Ca && this.Cw(); F.Z.prototype.Y.call(this, a); this.color = c } }, S: function(a) { this._super(a) }, WY: function() { return F.ui.UL(this) }, wM: function() { return F.ui.vM(this) }, ZD: E(p), wZ: t(), $D: E(p), xZ: t(), sM: function() { var a = this.Kf.length; 0 != a && (1 >= a ? (this.Kf = "", this.Wu = 0, F.Z.prototype.Mc.call(this, this.Ql)) : this.string = this.Kf.substring(0, a - 1)) }, Yx: function() { F.ui.Yx(this) }, GN: function(a) { var c = a; a = c.indexOf("\n"); - 1 < a && (c = c.substring(0, a)); 0 < c.length && (c = this.Kf + c, this.Wu = c.length, this.string = c); - 1 != a && this.wM() }, yE: A("Kf"), h1: t(), f1: t(), g1: t(), e1: t() }); M = F.Wz.prototype; F.j(M, "charCount", M.j_); F.j(M, "placeHolder", M.T_, M.ot); F.Wz.create = function(a, c, d, e, f) { return new F.Wz(a, c, d, e, f) }; F.wv = F.ZQ; F.rr = "Arial"; F.ZJ = r; F.Bc = F.ja.extend({ ff: r, me: q, be: q, vr: r, tb: "MenuItem", ctor: function(a, c) { var d = F.ja.prototype; d.ctor.call(this); this.be = this.me = q; this.ff = this.vr = r; d.Fi.call(this, 0.5, 0.5); this.me = c || q; if (this.be = a || q) this.ff = p }, Cda: A("vr"), Hd: t(), re: E(r), $F: function(a, c) { this.me = c; this.be = a }, isEnabled: A("ff"), se: y("ff"), Ls: function(a, c) { this.anchorY = this.anchorX = 0.5; this.me = c; this.be = a; this.ff = p; this.vr = r; return p }, rect: function() { var a = this.za, c = this.P, d = this.Rc; return F.rect(a.x - c.width * d.x, a.y - c.height * d.y, c.width, c.height) }, selected: function() { this.vr = p }, Kh: function() { this.vr = r }, Vha: function(a, c) { this.me = c; this.be = a }, ps: function() { if (this.ff) { var a = this.me, c = this.be; if (c) if (a && "string" == typeof c) a[c](this); else a && "function" == typeof c ? c.call(a, this) : c(this) } } }); M = F.Bc.prototype; F.j(M, "enabled", M.isEnabled, M.se); F.Bc.create = function(a, c) { return new F.Bc(a, c) }; F.ql = F.Bc.extend({ Dn: q, xb: q, XW: 0, Wq: q, ctor: function(a, c, d) { F.Bc.prototype.ctor.call(this, c, d); this.xb = this.Dn = q; this.XW = 0; this.Wq = q; a && (this.Gr = 1, this.Wq = F.color.WHITE, this.Dn = F.color(126, 126, 126), this.jy(a), this.cascadeOpacity = this.cascadeColor = p) }, r_: A("Dn"), Z2: y("Dn"), F_: A("xb"), jy: function(a) { a && (this.Q(a), a.anchorX = 0, a.anchorY = 0, this.width = a.width, this.height = a.height); this.xb && this.removeChild(this.xb, p); this.xb = a }, se: function(a) { if (this.ff != a) { var c = this.xb; a ? c.color = this.Wq : (this.Wq = c.color, c.color = this.Dn) } F.Bc.prototype.se.call(this, a) }, va: function(a) { this.xb.opacity = a }, Qe: function() { return this.xb.opacity }, Wa: function(a) { this.xb.color = a }, Pe: function() { return this.xb.color }, BN: function(a, c, d) { this.Ls(c, d); this.Gr = 1; this.Wq = F.color.WHITE; this.Dn = F.color(126, 126, 126); this.jy(a); return this.cascadeOpacity = this.cascadeColor = p }, Mc: function(a) { this.xb.string = a; this.width = this.xb.width; this.height = this.xb.height }, Tk: function() { return this.xb.string }, ps: function() { this.ff && (this.gG(), this.scale = this.Gr, F.Bc.prototype.ps.call(this)) }, selected: function() { if (this.ff) { F.Bc.prototype.selected.call(this); var a = this.wE(F.Du); a ? this.i4(a) : this.Gr = this.scale; a = F.sd.create(0.1, 1.2 * this.Gr); a.oy(F.Du); this.ib(a) } }, Kh: function() { if (this.ff) { F.Bc.prototype.Kh.call(this); this.j4(F.Du); var a = F.sd.create(0.1, this.Gr); a.oy(F.Du); this.ib(a) } } }); M = F.ql.prototype; F.j(M, "string", M.Tk, M.Mc); F.j(M, "disabledColor", M.r_, M.Z2); F.j(M, "label", M.F_, M.jy); F.ql.create = function(a, c, d) { return new F.ql(a, c, d) }; F.YG = F.ql.extend({ ctor: function(a, c, d, e, f, g, h) { var m; a && 0 < a.length && (m = F.Ph.create(a, c, d, e, f)); F.ql.prototype.ctor.call(this, m, g, h) }, pd: function(a, c, d, e, f, g, h) { (!a || 0 == a.length) && b("cc.MenuItemAtlasFont.initWithString(): value should be non-null and its length should be greater than 0"); var m = new F.Ph; m.pd(a, c, d, e, f); this.BN(m, g, h); return p } }); F.YG.create = function(a, c, d, e, f, g, h) { return new F.YG(a, c, d, e, f, g, h) }; F.pl = F.ql.extend({ Sb: q, $b: q, ctor: function(a, c, d) { var e; a && 0 < a.length ? (this.$b = F.rr, this.Sb = F.wv, e = F.Z.create(a, this.$b, this.Sb)) : (this.Sb = 0, this.$b = ""); F.ql.prototype.ctor.call(this, e, c, d) }, pd: function(a, c, d) { (!a || 0 == a.length) && b("Value should be non-null and its length should be greater than 0"); this.$b = F.rr; this.Sb = F.wv; a = F.Z.create(a, this.$b, this.Sb); this.BN(a, c, d); return p }, iy: function(a) { this.Sb = a; this.QK() }, CE: A("Sb"), hy: function(a) { this.$b = a; this.QK() }, BE: A("$b"), QK: function() { var a = F.Z.create(this.xb.string, this.$b, this.Sb); this.jy(a) } }); F.pl.iy = function(a) { F.wv = a }; F.pl.fontSize = function() { return F.wv }; F.pl.hy = function(a) { F.ZJ && (F.rr = ""); F.rr = a; F.ZJ = p }; M = F.pl.prototype; F.j(M, "fontSize", M.CE, M.iy); F.j(M, "fontName", M.BE, M.hy); F.pl.fontName = function() { return F.rr }; F.pl.create = function(a, c, d) { return new F.pl(a, c, d) }; F.rl = F.Bc.extend({ hd: q, Ie: q, Be: q, ctor: function(a, c, d, e, f) { F.Bc.prototype.ctor.call(this); this.Be = this.Ie = this.hd = q; if (c !== k) { var g, h, m; f !== k ? (g = d, m = e, h = f) : e !== k && "function" === typeof e ? (g = d, m = e) : e !== k && "function" === typeof d ? (h = e, m = d, g = c) : d === k && (g = c); this.CN(a, c, g, m, h) } }, R_: A("hd"), SF: function(a) { this.hd != a && (a && (this.Q(a, 0, F.uR), a.anchorX = 0, a.anchorY = 0), this.hd && this.removeChild(this.hd, p), this.hd = a, this.width = this.hd.width, this.height = this.hd.height, this.yw(), a.xt && !a.oa && a.Wd(function(a) { this.width = a.width; this.height = a.height }, this)) }, b0: A("Ie"), XF: function(a) { this.Ie != a && (a && (this.Q(a, 0, F.hS), a.anchorX = 0, a.anchorY = 0), this.Ie && this.removeChild(this.Ie, p), this.Ie = a, this.yw()) }, s_: A("Be"), PF: function(a) { this.Be != a && (a && (this.Q(a, 0, F.sQ), a.anchorX = 0, a.anchorY = 0), this.Be && this.removeChild(this.Be, p), this.Be = a, this.yw()) }, CN: function(a, c, d, e, f) { this.Ls(e, f); this.SF(a); this.XF(c); this.PF(d); if (a = this.hd) this.width = a.width, this.height = a.height, a.xt && !a.oa && a.Wd(function(a) { this.width = a.width; this.height = a.height; this.cascadeOpacity = this.cascadeColor = p }, this); return this.cascadeOpacity = this.cascadeColor = p }, Wa: function(a) { this.hd.color = a; this.Ie && (this.Ie.color = a); this.Be && (this.Be.color = a) }, Pe: function() { return this.hd.color }, va: function(a) { this.hd.opacity = a; this.Ie && (this.Ie.opacity = a); this.Be && (this.Be.opacity = a) }, Qe: function() { return this.hd.opacity }, selected: function() { F.Bc.prototype.selected.call(this); this.hd && (this.Be && (this.Be.visible = r), this.Ie ? (this.hd.visible = r, this.Ie.visible = p) : this.hd.visible = p) }, Kh: function() { F.Bc.prototype.Kh.call(this); this.hd && (this.hd.visible = p, this.Ie && (this.Ie.visible = r), this.Be && (this.Be.visible = r)) }, se: function(a) { this.ff != a && (F.Bc.prototype.se.call(this, a), this.yw()) }, yw: function() { var a = this.hd, c = this.Ie, d = this.Be; this.ff ? (a && (a.visible = p), c && (c.visible = r), d && (d.visible = r)) : d ? (a && (a.visible = r), c && (c.visible = r), d && (d.visible = p)) : (a && (a.visible = p), c && (c.visible = r)) } }); M = F.rl.prototype; F.j(M, "normalImage", M.R_, M.SF); F.j(M, "selectedImage", M.b0, M.XF); F.j(M, "disabledImage", M.s_, M.PF); F.rl.create = function(a, c, d, e, f) { return new F.rl(a, c, d, e, f || k) }; F.ZG = F.rl.extend({ ctor: function(a, c, d, e, f) { var g = q, h = q, m = q, n = q, s = q; a === k ? F.rl.prototype.ctor.call(this) : (g = F.aa.create(a), c && (h = F.aa.create(c)), e === k ? n = d : f === k ? (n = d, s = e) : f && (m = F.aa.create(d), n = e, s = f), F.rl.prototype.ctor.call(this, g, h, m, n, s)) }, Lia: function(a) { this.SF(F.aa.create(a)) }, hja: function(a) { this.XF(F.aa.create(a)) }, jia: function(a) { this.PF(F.aa.create(a)) }, eda: function(a, c, d, e, f) { var g = q, h = q, m = q; a && (g = F.aa.create(a)); c && (h = F.aa.create(c)); d && (m = F.aa.create(d)); return this.CN(g, h, m, e, f) } }); F.ZG.create = function(a, c, d, e, f) { return new F.ZG(a, c, d, e, f) }; F.ez = F.Bc.extend({ ed: q, Ag: 0, Sd: q, de: q, ctor: function() { var a = arguments.length, c, d; "function" === typeof arguments[a - 2] ? (c = arguments[a - 2], d = arguments[a - 1], a -= 2) : "function" === typeof arguments[a - 1] && (c = arguments[a - 1], a -= 1); F.Bc.prototype.ctor.call(this, c, d); this.Ag = 0; this.ed = []; this.Sd = 0; this.de = F.color.WHITE; if (0 < a) { c = this.ed; for (d = c.length = 0; d < a; d++) arguments[d] && c.push(arguments[d]); this.Ag = F.aA; this.rt(0); this.op(p); this.pp(p) } }, Qe: A("Sd"), va: function(a) { this.Sd = a; if (this.ed && 0 < this.ed.length) for (var c = 0; c < this.ed.length; c++) this.ed[c].opacity = a; this.de.a = a }, Pe: function() { var a = this.de; return F.color(a.r, a.g, a.b, a.a) }, Wa: function(a) { var c = this.de; c.r = a.r; c.g = a.g; c.b = a.b; if (this.ed && 0 < this.ed.length) for (c = 0; c < this.ed.length; c++) this.ed[c].Wa(a); a.a !== k && !a.os && this.va(a.a) }, c0: A("Ag"), rt: function(a) { if (a != this.Ag) { this.Ag = a; (a = this.Bh(F.CG)) && a.$k(r); a = this.ed[this.Ag]; this.Q(a, 0, F.CG); var c = a.width, d = a.height; this.width = c; this.height = d; a.G(c / 2, d / 2) } }, tca: A("ed"), nja: y("ed"), AN: function(a) { var c = a.length; "function" === typeof a[a.length - 2] ? (this.Ls(a[a.length - 2], a[a.length - 1]), c -= 2) : "function" === typeof a[a.length - 1] ? (this.Ls(a[a.length - 1], q), c -= 1) : this.Ls(q, q); for (var d = this.ed, e = d.length = 0; e < c; e++) a[e] && d.push(a[e]); this.Ag = F.aA; this.rt(0); return this.cascadeOpacity = this.cascadeColor = p }, S8: function(a) { this.ed.push(a) }, ps: function() { this.ff && this.rt((this.Ag + 1) % this.ed.length); F.Bc.prototype.ps.call(this) }, selected: function() { F.Bc.prototype.selected.call(this); this.ed[this.Ag].selected() }, Kh: function() { F.Bc.prototype.Kh.call(this); this.ed[this.Ag].Kh() }, se: function(a) { if (this.ff != a) { F.Bc.prototype.se.call(this, a); var c = this.ed; if (c && 0 < c.length) for (var d = 0; d < c.length; d++) c[d].enabled = a } }, Kha: function() { return this.ed[this.Ag] }, da: function() { F.t.prototype.da.call(this); this.rt(this.Ag) } }); M = F.ez.prototype; F.j(M, "selectedIndex", M.c0, M.rt); F.ez.create = function() { 0 < arguments.length && arguments[arguments.length - 1] == q && F.log("parameters should not be ending with null in Javascript"); var a = new F.ez; a.AN(Array.prototype.slice.apply(arguments)); return a }; F.iq = 0; F.hq = 1; F.v6 = -128; F.GG = 5; F.Pj = F.vf.extend({ enabled: r, de: q, Sd: 0, Uc: q, th: -1, yL: q, tb: "Menu", ctor: function(a) { F.vf.prototype.ctor.call(this); this.de = F.color.WHITE; this.enabled = r; this.Sd = 255; this.Uc = q; this.th = -1; this.yL = F.ta.create({ event: F.ta.Cq, yp: p, Em: this.OW, $s: this.SW, fp: this.QW, Zs: this.PW }); 0 < arguments.length && arguments[arguments.length - 1] == q && F.log("parameters should not be ending with null in Javascript"); var c = arguments.length, d; if (0 == c) d = []; else if (1 == c) d = a instanceof Array ? a : [a]; else if (1 < c) { d = []; for (var e = 0; e < c; e++) arguments[e] && d.push(arguments[e]) } this.wN(d) }, da: function() { var a = this.yL; a.lf || F.ua.addListener(a, this); F.t.prototype.da.call(this) }, Pe: function() { var a = this.de; return F.color(a.r, a.g, a.b, a.a) }, Wa: function(a) { var c = this.de; c.r = a.r; c.g = a.g; c.b = a.b; if ((c = this.u) && 0 < c.length) for (var d = 0; d < c.length; d++) c[d].Wa(a); a.a !== k && !a.os && this.va(a.a) }, Qe: A("Sd"), va: function(a) { this.Sd = a; var c = this.u; if (c && 0 < c.length) for (var d = 0; d < c.length; d++) c[d].va(a); this.de.a = a }, isEnabled: A("enabled"), se: y("enabled"), AN: function(a) { var c = []; if (a) for (var d = 0; d < a.length; d++) a[d] && c.push(a[d]); return this.wN(c) }, wN: function(a) { if (F.vf.prototype.M.call(this)) { this.enabled = p; var c = F.Gt; this.G(c.width / 2, c.height / 2); this.Zd(c); this.Fi(0.5, 0.5); this.jx(p); if (a) for (c = 0; c < a.length; c++) this.Q(a[c], c); this.Uc = q; this.th = F.iq; return this.cascadeOpacity = this.cascadeColor = p } return r }, Q: function(a, c, d) { a instanceof F.Bc || b("cc.Menu.addChild() : Menu only supports MenuItem objects as children"); F.ve.prototype.Q.call(this, a, c, d) }, Y8: function() { this.RL(F.GG) }, RL: function(a) { var c = -a, d = this.u, e, f, g, h; if (d && 0 < d.length) { f = 0; for (e = d.length; f < e; f++) c += d[f].height * d[f].scaleY + a; var m = c / 2; f = 0; for (e = d.length; f < e; f++) h = d[f], g = h.height, c = h.scaleY, h.G(0, m - g * c / 2), m -= g * c + a } }, V8: function() { this.JY(F.GG) }, JY: function(a) { var c = -a, d = this.u, e, f, g, h; if (d && 0 < d.length) { e = 0; for (f = d.length; e < f; e++) c += d[e].width * d[e].scaleX + a; var m = -c / 2; e = 0; for (f = d.length; e < f; e++) h = d[e], c = h.scaleX, g = d[e].width, h.G(m + g * c / 2, 0), m += g * c + a } }, W8: function() { 0 < arguments.length && arguments[arguments.length - 1] == q && F.log("parameters should not be ending with null in Javascript"); for (var a = [], c = 0; c < arguments.length; c++) a.push(arguments[c]); var d = -5, e = 0, f = 0, g = 0, h, m, n, s = this.u; if (s && 0 < s.length) { c = 0; for (n = s.length; c < n; c++) if (!(e >= a.length) && (h = a[e])) m = s[c].height, f = f >= m || isNaN(m) ? f : m, ++g, g >= h && (d += f + 5, f = g = 0, ++e) } var u = F.I.T, v = h = f = e = 0, x = 0, d = d / 2; if (s && 0 < s.length) { c = 0; for (n = s.length; c < n; c++) { var w = s[c]; 0 == h && (h = a[e], x = v = u.width / (1 + h)); m = w.rk(); f = f >= m || isNaN(m) ? f : m; w.G(x - u.width / 2, d - m / 2); x += v; ++g; g >= h && (d -= f + 5, f = h = g = 0, ++e) } } }, X8: function() { 0 < arguments.length && arguments[arguments.length - 1] == q && F.log("parameters should not be ending with null in Javascript"); var a = [], c; for (c = 0; c < arguments.length; c++) a.push(arguments[c]); var d = [], e = [], f = -10, g = -5, h = 0, m = 0, n = 0, s, u, v, x, w = this.u; if (w && 0 < w.length) { c = 0; for (v = w.length; c < v; c++) if (u = w[c], !(h >= a.length) && (s = a[h])) x = u.width, m = m >= x || isNaN(x) ? m : x, g += u.height + 5, ++n, n >= s && (d.push(m), e.push(g), f += m + 10, m = n = 0, g = -5, ++h) } g = F.I.T; s = m = h = 0; var f = -f / 2, z = 0; if (w && 0 < w.length) { c = 0; for (v = w.length; c < v; c++) u = w[c], 0 == s && (s = a[h], z = e[h]), x = u.ah(), m = m >= x || isNaN(x) ? m : x, u.G(f + d[h] / 2, z - g.height / 2), z -= u.height + 10, ++n, n >= s && (f += m + 5, m = s = n = 0, ++h) } }, removeChild: function(a, c) { a != q && (a instanceof F.Bc ? (this.Uc == a && (this.Uc = q), F.t.prototype.removeChild.call(this, a, c)) : F.log("cc.Menu.removeChild():Menu only supports MenuItem objects as children")) }, OW: function(a, c) { var d = c.xd; if (d.th != F.iq || !d.yc || !d.enabled) return r; for (var e = d.parent; e != q; e = e.parent) if (!e.yc) return r; d.Uc = d.oK(a); return d.Uc ? (d.th = F.hq, d.Uc.selected(), p) : r }, QW: function(a, c) { var d = c.xd; d.th !== F.hq ? F.log("cc.Menu.onTouchEnded(): invalid state") : (d.Uc && (d.Uc.Kh(), d.Uc.ps()), d.th = F.iq) }, PW: function(a, c) { var d = c.xd; d.th !== F.hq ? F.log("cc.Menu.onTouchCancelled(): invalid state") : (this.Uc && d.Uc.Kh(), d.th = F.iq) }, SW: function(a, c) { var d = c.xd; if (d.th !== F.hq) F.log("cc.Menu.onTouchMoved(): invalid state"); else { var e = d.oK(a); e != d.Uc && (d.Uc && d.Uc.Kh(), d.Uc = e, d.Uc && d.Uc.selected()) } }, Ab: function() { this.th == F.hq && (this.Uc && (this.Uc.Kh(), this.Uc = q), this.th = F.iq); F.t.prototype.Ab.call(this) }, Hd: t(), re: E(r), oK: function(a) { a = a.Ds(); var c = this.u, d; if (c && 0 < c.length) for (var e = 0; e < c.length; e++) if (d = c[e], d.yc && d.isEnabled()) { var f = d.iE(a), g = d.rect(); g.x = 0; g.y = 0; if (F.qO(g, f)) return d } return q } }); M = F.Pj.prototype; F.Pj.create = function(a) { var c = arguments.length; 0 < c && arguments[c - 1] == q && F.log("parameters should not be ending with null in Javascript"); return 0 == c ? new F.Pj : 1 == c ? new F.Pj(a) : new F.Pj(Array.prototype.slice.call(arguments, 0)) }; F.c7 = 0; F.Y6 = 1; F.b7 = 2; F.Z6 = 3; F.a7 = 4; F.X6 = 5; F.pka = function(a, c, d) { var e = 2; if (e + 1 > c) return r; a = new F.$P(a); a.ky(e); d.type = a.R(); e += 10; if (e + 4 + 1 > c) return r; a.ky(e); d.width = a.p2(); d.height = a.o2(); d.pixelDepth = a.R(); if (e + 5 + 1 > c) return r; c = a.R(); d.HM = 0; c & 32 && (d.HM = 1); return p }; F.qka = function(a, c, d) { var e, f; e = 0 | d.pixelDepth / 2; f = d.height * d.width * e; if (18 + f > c) return r; d.sf = F.Hu(a, 18, 18 + f); if (3 <= e) for (a = 0; a < f; a += e) c = d.sf[a], d.sf[a] = d.sf[a + 2], d.sf[a + 2] = c; return p }; F.ska = function(a) { var c, d; if (8 !== a.pixelDepth) { var e = a.pixelDepth / 8, f = new Uint8Array(a.height * a.width); if (f !== q) { for (d = c = 0; d < a.width * a.height; c += e, d++) f[d] = 0.3 * a.sf[c] + 0.59 * a.sf[c + 1] + 0.11 * a.sf[c + 2]; a.pixelDepth = 8; a.type = 3; a.sf = f } } }; F.nka = function(a) { a && (a.sf = q) }; F.rka = function(a, c, d) { var e, f, g, h = 0, m = 0, n = 0, s = [], u = 0, v = 18; e = d.pixelDepth / 8; f = d.height * d.width; for (g = 0; g < f; g++) { if (0 != u) u--, m = 0 != n; else { if (v + 1 > c) break; u = a[v]; v += 1; (n = u & 128) && (u -= 128); m = 0 } if (!m) { if (v + e > c) break; s = F.Hu(a, v, v + e); v += e; 3 <= e && (m = s[0], s[0] = s[2], s[2] = m) } for (m = 0; m < e; m++) d.sf[h + m] = s[m]; h += e } return p }; F.oka = function(a) { for (var c = a.width * (a.pixelDepth / 8), d = 0; d < a.height / 2; d++) { var e = F.Hu(a.sf, d * c, d * c + c); F.EI(F.Hu(a.sf, (a.height - (d + 1)) * c, c), a.sf, d * c); F.EI(e, a.sf, (a.height - (d + 1)) * c) } a.HM = 0 }; F.Hu = function(a, c, d) { return a instanceof Array ? a.slice(c, d) : a.subarray(c, d) }; F.EI = function(a, c, d) { for (var e = 0; e < a.length; e++) c[d + e] = a[e] }; F.$P = F.ma.extend({ mn: q, la: 0, ctor: y("mn"), Sha: function(a) { this.mn = a; this.la = 0 }, paa: A("mn"), MU: function(a) { this.la + Math.ceil(a / 8) < this.Bn.length || b(Error("Index out of bound")) }, aV: function(a, c) { var d = a + c + 1, e = d >> 3; this.MU(d); var d = Math.pow(2, c - 1) - 1, f = this.vC(a + c, 1, e), g = this.vC(a, c, e), h = 0, m = 2, n = 0; do for (var s = this.Zv(++n, e), u = a % 8 || 8, v = 1 << u; v >>= 1;) s & v && (h += 1 / m), m *= 2; while (a -= u); this.la += e; return g == (d << 1) + 1 ? h ? NaN : f ? -Infinity : Infinity : (1 + -2 * f) * (g || h ? !g ? Math.pow(2, -d + 1) * h : Math.pow(2, g - d) * (1 + h) : 0) }, Zv: function(a, c) { return this.Bn[this.la + c - a - 1] }, cv: function(a, c) { var d = this.vC(0, a, a / 8), e = Math.pow(2, a); this.la += a / 8; return c && d >= e / 2 ? d - e : d }, cY: function(a, c) { for (++c; --c; a = 1073741824 == ((a %= 2147483648) & 1073741824) ? 2 * a : 2 * (a - 1073741824) + 2147483648); return a }, vC: function(a, c, d) { var e = (a + c) % 8, f = a % 8, g = d - (a >> 3) - 1; a = d + (-(a + c) >> 3); var h = g - a; c = this.Zv(g, d) >> f & (1 << (h ? 8 - f : c)) - 1; for (h && e && (c += (this.Zv(a++, d) & (1 << e) - 1) << (h-- << 3) - f); h;) c += this.cY(this.Zv(a++, d), (h-- << 3) - f); return c }, Uga: function() { return this.cv(32, p) }, o2: function() { return this.cv(32, r) }, Wga: function() { return this.aV(23, 8) }, Vga: function() { return this.cv(16, p) }, p2: function() { return this.cv(16, r) }, R: function() { var a = this.Bn[this.la]; this.la += 1; return a }, Rga: function(a, c) { return this.mn instanceof Array ? this.mn.slice(a, c) : this.mn.subarray(a, c) }, ky: y("la"), UM: A("la") }); F.wu = 0; F.uu = 1; F.vu = 2; F.Lz = F.ja.extend({ Lb: q, rF: q, ep: q, $c: q, Kb: q, qj: q, tb: "TMXTiledMap", ctor: function(a, c) { F.t.prototype.ctor.call(this); this.$c = F.size(0, 0); this.Kb = F.size(0, 0); c !== k ? this.YE(a, c) : a !== k && this.XE(a) }, EE: function() { return F.size(this.$c.width, this.$c.height) }, TO: function(a) { this.$c.width = a.width; this.$c.height = a.height }, vB: function() { return this.$c.width }, PC: function(a) { this.$c.width = a }, uB: function() { return this.$c.height }, OC: function(a) { this.$c.height = a }, To: function() { return F.size(this.Kb.width, this.Kb.height) }, gP: function(a) { this.Kb.width = a.width; this.Kb.height = a.height }, qr: function() { return this.Kb.width }, Rr: function(a) { this.Kb.width = a }, pr: function() { return this.Kb.height }, Qr: function(a) { this.Kb.height = a }, vba: A("rF"), Gia: y("rF"), TM: A("ep"), UO: y("ep"), Zw: A("Lb"), ly: y("Lb"), XE: function(a) { (!a || 0 == a.length) && b("cc.TMXTiledMap.initWithTMXFile(): tmxFile should be non-null or non-empty string."); this.height = this.width = 0; a = F.zq.create(a); if (!a) return r; var c = a.bm; (!c || 0 === c.length) && F.log("cc.TMXTiledMap.initWithTMXFile(): Map not found. Please check the filename."); this.QI(a); return p }, YE: function(a, c) { this.height = this.width = 0; var d = F.zq.create(a, c), e = d.bm; (!e || 0 === e.length) && F.log("cc.TMXTiledMap.initWithXML(): Map not found. Please check the filename."); this.QI(d); return p }, QI: function(a) { this.$c = a.EE(); this.Kb = a.To(); this.rF = a.orientation; this.ep = a.TM(); this.Lb = a.Lb; this.qj = a.qj; var c = 0, d = a.he; if (d) for (var e = q, f = 0, g = d.length; f < g; f++) if ((e = d[f]) && e.visible) e = this.aX(e, a), this.Q(e, c, c), this.width = Math.max(this.width, e.width), this.height = Math.max(this.height, e.height), c++ }, Z8: function() { for (var a = [], c = this.u, d = 0, e = c.length; d < e; d++) { var f = c[d]; f && f instanceof F.yq && a.push(f) } return a }, lba: function(a) { (!a || 0 === a.length) && b("cc.TMXTiledMap.getLayer(): layerName should be non-null or non-empty string."); for (var c = this.u, d = 0; d < c.length; d++) { var e = c[d]; if (e && e.Hx == a) return e } return q }, Eba: function(a) { (!a || 0 === a.length) && b("cc.TMXTiledMap.getObjectGroup(): groupName should be non-null or non-empty string."); if (this.ep) for (var c = 0; c < this.ep.length; c++) { var d = this.ep[c]; if (d && d.Js == a) return d } return q }, GE: function(a) { return this.Lb[a.toString()] }, Nga: function(a) { return this.qj[a] }, aX: function(a, c) { var d = this.pY(a, c), d = F.yq.create(d, a, c); a.eO = r; d.W3(); return d }, pY: function(a, c) { var d = a.ra, e = c.bm; 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 m = 0; m < d.width; m++) { var n = a.Je[m + d.width * h]; if (0 != n && (n & F.Mz) >>> 0 >= g.um) return g } } F.log("cocos2d: Warning: TMX Layer " + a.name + " has no tiles"); return q } }); M = F.Lz.prototype; F.j(M, "mapWidth", M.vB, M.PC); F.j(M, "mapHeight", M.uB, M.OC); F.j(M, "tileWidth", M.qr, M.Rr); F.j(M, "tileHeight", M.pr, M.Qr); F.Lz.create = function(a, c) { return new F.Lz(a, c) }; F.mT = 0; F.e7 = 1; F.d7 = 2; F.g7 = 3; F.f7 = 4; F.h7 = 5; F.Aq = 2147483648; F.Bq = 1073741824; F.KH = 536870912; F.LH = (F.Aq | F.Bq | F.KH) >>> 0; F.Mz = ~F.LH >>> 0; F.vl = F.ma.extend({ Lb: q, name: "", ra: q, Je: q, visible: q, Sd: q, eO: p, Ml: 1E5, Ll: 0, offset: q, ctor: function() { this.Lb = []; this.name = ""; this.ra = q; this.Je = []; this.visible = p; this.Sd = 0; this.eO = p; this.Ml = 1E5; this.Ll = 0; this.offset = F.d(0, 0) }, Zw: A("Lb"), ly: y("Lb") }); F.lT = F.ma.extend({ name: "", um: 0, Kb: q, vt: 0, margin: 0, nP: "", kx: q, ctor: function() { this.Kb = F.size(0, 0); this.kx = F.size(0, 0) }, it: function(a) { var c = F.rect(0, 0, 0, 0); c.width = this.Kb.width; c.height = this.Kb.height; a &= F.Mz; a -= parseInt(this.um, 10); var d = parseInt((this.kx.width - 2 * this.margin + this.vt) / (this.Kb.width + this.vt), 10); c.x = parseInt(a % d * (this.Kb.width + this.vt) + this.margin, 10); c.y = parseInt(parseInt(a / d, 10) * (this.Kb.height + this.vt) + this.margin, 10); return c } }); F.zq = F.pu.extend({ Lb: q, orientation: q, parentElement: q, Vx: q, Gx: 0, iG: r, Ap: q, jE: q, Ov: q, $c: q, Kb: q, he: q, bm: q, qj: q, bw: "", ZI: 0, ctor: function(a, c) { F.pu.prototype.ctor.apply(this); this.$c = F.size(0, 0); this.Kb = F.size(0, 0); this.he = []; this.bm = []; this.Ov = []; this.Lb = []; this.qj = {}; this.ZI = 0; c !== k ? this.YE(a, c) : a !== k && this.XE(a) }, Kba: A("orientation"), Qia: y("orientation"), EE: function() { return F.size(this.$c.width, this.$c.height) }, TO: function(a) { this.$c.width = a.width; this.$c.height = a.height }, vB: function() { return this.$c.width }, PC: function(a) { this.$c.width = a }, uB: function() { return this.$c.height }, OC: function(a) { this.$c.height = a }, To: function() { return F.size(this.Kb.width, this.Kb.height) }, gP: function(a) { this.Kb.width = a.width; this.Kb.height = a.height }, qr: function() { return this.Kb.width }, Rr: function(a) { this.Kb.width = a }, pr: function() { return this.Kb.height }, Qr: function(a) { this.Kb.height = a }, qba: A("he"), k3: function(a) { this.he.push(a) }, Cca: A("bm"), J3: function(a) { this.bm.push(a) }, TM: A("Ov"), UO: function(a) { this.Ov.push(a) }, Pba: A("parentElement"), Via: y("parentElement"), Qba: A("Vx"), Wia: y("Vx"), mba: A("Gx"), zia: y("Gx"), sca: A("iG"), mja: y("iG"), Zw: A("Lb"), ly: y("Lb"), XE: function(a) { this.gK(a, q); return this.xF(a) }, YE: function(a, c) { this.gK(q, c); return this.W1(a) }, xF: function(a, c) { var d = (c = c || r) ? a : F.V.Dd(a); d || b("Please load the resource first : " + a); var e, f, d = this.cC(d).documentElement; e = d.getAttribute("version"); f = d.getAttribute("orientation"); if ("map" == d.nodeName && ("1.0" != e && e !== q && F.log("cocos2d: TMXFormat: Unsupported TMX version:" + e), "orthogonal" == f ? this.orientation = F.wu : "isometric" == f ? this.orientation = F.vu : "hexagonal" == f ? this.orientation = F.uu : f !== q && F.log("cocos2d: TMXFomat: Unsupported orientation:" + f), e = F.size(0, 0), e.width = parseFloat(d.getAttribute("width")), e.height = parseFloat(d.getAttribute("height")), this.TO(e), e = F.size(0, 0), e.width = parseFloat(d.getAttribute("tilewidth")), e.height = parseFloat(d.getAttribute("tileheight")), this.gP(e), f = d.querySelectorAll("map \x3e properties \x3e property"))) { var g = {}; for (e = 0; e < f.length; e++) g[f[e].getAttribute("name")] = f[e].getAttribute("value"); this.Lb = 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 = c ? F.path.join(this.bw, h) : F.path.Co(a, h), this.xF(f); else { h = new F.lT; h.name = f.getAttribute("name") || ""; h.um = parseInt(f.getAttribute("firstgid")) || 0; h.vt = parseInt(f.getAttribute("spacing")) || 0; h.margin = parseInt(f.getAttribute("margin")) || 0; var m = F.size(0, 0); m.width = parseFloat(f.getAttribute("tilewidth")); m.height = parseFloat(f.getAttribute("tileheight")); h.Kb = m; var m = f.getElementsByTagName("image")[0].getAttribute("source"), n = -1; this.Ap && (n = this.Ap.lastIndexOf("/")); h.nP = -1 !== n ? this.Ap.substr(0, n + 1) + m : this.bw + (this.bw ? "/" : "") + m; this.J3(h); if (m = f.getElementsByTagName("tile")) for (n = 0; n < m.length; n++) { f = m[n]; this.Vx = parseInt(h.um) + parseInt(f.getAttribute("id") || 0); var s = f.querySelectorAll("properties \x3e property"); if (s) { var u = {}; for (f = 0; f < s.length; f++) { var v = s[f].getAttribute("name"); u[v] = s[f].getAttribute("value") } this.qj[this.Vx] = u } } } } if (g = d.getElementsByTagName("layer")) for (e = 0; e < g.length; e++) { m = g[e]; n = m.getElementsByTagName("data")[0]; h = new F.vl; h.name = m.getAttribute("name"); f = F.size(0, 0); f.width = parseFloat(m.getAttribute("width")); f.height = parseFloat(m.getAttribute("height")); h.ra = f; f = m.getAttribute("visible"); h.visible = "0" != f; f = m.getAttribute("opacity") || 1; h.Sd = f ? parseInt(255 * parseFloat(f)) : 255; h.offset = F.d(parseFloat(m.getAttribute("x")) || 0, parseFloat(m.getAttribute("y")) || 0); s = ""; for (f = 0; f < n.childNodes.length; f++) s += n.childNodes[f].nodeValue; s = s.trim(); f = n.getAttribute("compression"); u = n.getAttribute("encoding"); if (f && "gzip" !== f && "zlib" !== f) return F.log("cc.TMXMapInfo.parseXMLFile(): unsupported compression method"), q; switch (f) { case "gzip": h.Je = F.EP(s, 4); break; case "zlib": f = new Zlib.$m(F.ka.jl.nM(s, 1)); h.Je = F.y4(f.oM()); break; case q: case "": if ("base64" == u) h.Je = F.ka.jl.nM(s, 4); else if ("csv" === u) { h.Je = []; f = s.split(","); for (n = 0; n < f.length; n++) h.Je.push(parseInt(f[n])) } else { f = n.getElementsByTagName("tile"); h.Je = []; for (n = 0; n < f.length; n++) h.Je.push(parseInt(f[n].getAttribute("gid"))) } break; default: this.Gx == F.vl.rG && F.log("cc.TMXMapInfo.parseXMLFile(): Only base64 and/or gzip/zlib maps are supported") } if (m = m.querySelectorAll("properties \x3e property")) { n = {}; for (f = 0; f < m.length; f++) n[m[f].getAttribute("name")] = m[f].getAttribute("value"); h.Lb = n } this.k3(h) } if (g = d.getElementsByTagName("objectgroup")) for (e = 0; e < g.length; e++) { m = g[e]; h = new F.kT; h.Js = m.getAttribute("name"); h.v3(F.d(parseFloat(m.getAttribute("x")) * this.To().width || 0, parseFloat(m.getAttribute("y")) * this.To().height || 0)); if (n = m.querySelectorAll("objectgroup \x3e properties \x3e property")) for (f = 0; f < n.length; f++) s = {}, s[n[f].getAttribute("name")] = n[f].getAttribute("value"), h.Lb = s; if (m = m.querySelectorAll("object")) for (f = 0; f < m.length; f++) { s = m[f]; n = {}; n.name = s.getAttribute("name") || ""; n.type = s.getAttribute("type") || ""; n.x = parseInt(s.getAttribute("x") || 0) + h.eo.x; u = parseInt(s.getAttribute("y") || 0) + h.eo.y; n.width = parseInt(s.getAttribute("width")) || 0; n.height = parseInt(s.getAttribute("height")) || 0; n.y = parseInt(this.EE().height * this.To().height) - u - n.height; if (u = s.querySelectorAll("properties \x3e property")) for (v = 0; v < u.length; v++) n[u[v].getAttribute("name")] = u[v].getAttribute("value"); if ((u = s.querySelectorAll("polygon")) && 0 < u.length)(u = u[0].getAttribute("points")) && (n.polygonPoints = this.EK(u)); if ((s = s.querySelectorAll("polyline")) && 0 < s.length)(s = s[0].getAttribute("points")) && (n.polylinePoints = this.EK(s)); h.q3(n) } this.UO(h) } return d }, EK: function(a) { if (!a) return q; var c = []; a = a.split(" "); for (var d = 0; d < a.length; d++) { var e = a[d].split(","); c.push({ x: e[0], y: e[1] }) } return c }, W1: function(a) { return this.xF(a, p) }, zca: A("qj"), uja: function(a) { this.qj.push(a) }, Faa: A("jE"), eia: y("jE"), uca: A("Ap"), pja: y("Ap"), gK: function(a, c) { this.bm.length = 0; this.he.length = 0; this.Ap = a; c && (this.bw = c); this.Ov.length = 0; this.Lb.length = 0; this.qj.length = 0; this.jE = ""; this.iG = r; this.Gx = F.vl.rG; this.parentElement = F.mT; this.ZI = 0 } }); M = F.zq.prototype; F.j(M, "mapWidth", M.vB, M.PC); F.j(M, "mapHeight", M.uB, M.OC); F.j(M, "tileWidth", M.qr, M.Rr); F.j(M, "tileHeight", M.pr, M.Qr); F.zq.create = function(a, c) { return new F.zq(a, c) }; F.V.Hj(["tmx", "tsx"], F.CL); F.vl.rG = 1; F.vl.a5 = 2; F.vl.b5 = 4; F.vl.c5 = 8; F.kT = F.ma.extend({ Lb: q, Js: "", eo: q, co: q, ctor: function() { this.Js = ""; this.eo = F.d(0, 0); this.Lb = []; this.co = [] }, Uba: A("eo"), v3: function(a) { this.eo.x = a.x; this.eo.y = a.y }, Zw: A("Lb"), ly: function(a) { this.Lb.push(a) }, gba: function() { return this.Js.toString() }, wia: y("Js"), Oga: function(a) { return this.Lb[a] }, bga: function(a) { if (this.co && 0 < this.co.length) for (var c = this.co, d = 0, e = c.length; d < e; d++) { var f = c[d].name; if (f && f == a) return c[d] } return q }, Fba: A("co"), q3: function(a) { this.co.push(a) } }); F.yq = F.yf.extend({ Kd: q, gg: q, ap: q, Lb: q, Hx: "", ra: q, vc: q, Sd: 255, Ml: q, Ll: q, FD: q, zD: q, D7: q, mh: q, Nd: q, Zg: q, ae: q, Ae: q, IA: q, ow: q, pw: q, Ik: 0, lD: 0, yK: 1E7, tb: "TMXLayer", ctor: function(a, c, d) { F.yf.prototype.ctor.call(this); this.yd = []; this.ra = F.size(0, 0); this.vc = F.size(0, 0); if (F.B === F.Ca) { var e = F.Za, f = F.Nb("canvas"); f.width = e.width; f.height = e.height; this.ae = f; this.Ae = this.ae.getContext("2d"); var g = new F.ea; g.Ed(f); g.Wb(); this.IA = g; this.width = e.width; this.height = e.height; this.Si = this } d !== k && this.I0(a, c, d) }, Zd: function(a, c) { var d = this.P; F.t.prototype.Zd.call(this, a, c); if (F.B === F.Ca) { var e = this.ae, f = F.rb(); e.width = 0 | 1.5 * d.width * f; e.height = 0 | 1.5 * d.height * f; this.Ae.translate(0, e.height); d = this.IA.P; d.width = e.width; d.height = e.height; d = e.width * e.height; if (d > this.yK) { this.ow || (this.ow = []); this.pw || (this.pw = []); this.Ik = Math.ceil(d / this.yK); d = this.ow; for (f = 0; f < this.Ik; f++) { d[f] || (d[f] = document.createElement("canvas"), this.pw[f] = d[f].getContext("2d")); var g = d[f]; g.width = this.lD = Math.round(e.width / this.Ik); g.height = e.height } for (f = this.Ik; f < d.length; f++) g.width = 0, g.height = 0 } else this.Ik = 0 } }, Oa: q, or: A("IA"), S: q, gm: function(a) { var c = a || F.m; if (this.yc) { c.save(); this.transform(a); var d, e = this.u; if (this.sg) { var f = F.view; f.jL(); var g = this.Ae, h = this.ae; g.clearRect(0, 0, h.width, -h.height); g.save(); g.translate(this.eb.x, -this.eb.y); if (e) { this.Wc(); for (d = 0; d < e.length; d++) e[d] && e[d].S(g) } g.restore(); if (0 < this.Ik) { e = this.lD; g = h.height; for (d = 0; d < this.Ik; d++) this.pw[d].drawImage(h, d * e, 0, e, g, 0, 0, e, g) } f.XK(); this.sg = r } this.Y(a); c.restore() } }, Y: q, Dl: function(a) { a = a || F.m; var c = 0 | -this.eb.x, d = 0 | -this.eb.y, e = F.view, f = this.ae; if (f) { var g = this.Ik, h = f.height * e.Ra; if (0 < g) for (var f = this.ow, m = 0; m < g; m++) { var n = f[m]; a.drawImage(f[m], 0, 0, n.width, n.height, c + m * this.lD, -(d + h), n.width * e.qa, h) } else a.drawImage(f, 0, 0, f.width, f.height, c, -(d + h), f.width * e.qa, h) } }, pba: function() { return F.size(this.ra.width, this.ra.height) }, Cia: function(a) { this.ra.width = a.width; this.ra.height = a.height }, IV: function() { return this.ra.width }, GX: function(a) { this.ra.width = a }, HV: function() { return this.ra.height }, FX: function(a) { this.ra.height = a }, wba: function() { return F.size(this.vc.width, this.vc.height) }, Hia: function(a) { this.vc.width = a.width; this.vc.height = a.height }, qr: function() { return this.vc.width }, Rr: function(a) { this.vc.width = a }, pr: function() { return this.vc.height }, Qr: function(a) { this.vc.height = a }, Aca: A("Kd"), vja: y("Kd"), Bca: A("gg"), wja: y("gg"), oba: A("ap"), Bia: y("ap"), Zw: A("Lb"), ly: y("Lb"), I0: function(a, c, d) { var e = c.ra, f = 0.35 * parseInt(e.width * e.height) + 1, g; a && (g = F.Fa.Hc(a.nP)); return this.sa(g, f) ? (this.Hx = c.name, this.ra = e, this.Kd = c.Je, this.Ml = c.Ml, this.Ll = c.Ll, this.Sd = c.Sd, this.Lb = c.Lb, this.Zg = F.I.Zg, this.gg = a, this.vc = d.To(), this.ap = d.orientation, a = this.EU(c.offset), this.G(F.zF(a)), this.Nd = [], this.Zd(F.mP(F.size(this.ra.width * this.vc.width, this.ra.height * this.vc.height))), this.zD = r, this.FD = 0, p) : r }, dha: function() { this.Kd && (this.Kd = q); this.Nd && (this.Nd = q) }, yca: function(a, c) { a || b("cc.TMXLayer.getTileAt(): pos should be non-null"); c !== k && (a = F.d(a, c)); (a.x >= this.ra.width || a.y >= this.ra.height || 0 > a.x || 0 > a.y) && b("cc.TMXLayer.getTileAt(): invalid position"); if (!this.Kd || !this.Nd) return F.log("cc.TMXLayer.getTileAt(): TMXLayer: the tiles map has been released"), q; var d = q, e = this.KE(a); if (0 === e) return d; var f = 0 | a.x + a.y * this.ra.width, d = this.Bh(f); d || (e = this.gg.it(e), e = F.Gj(e), d = new F.aa, d.sa(this.texture, e), d.batchNode = this, d.G(this.Yw(a)), d.vertexZ = this.ML(a), d.anchorX = 0, d.anchorY = 0, d.opacity = this.Sd, e = this.yA(f), this.GY(d, e, f)); return d }, KE: function(a, c) { a || b("cc.TMXLayer.getTileGIDAt(): pos should be non-null"); c !== k && (a = F.d(a, c)); (a.x >= this.ra.width || a.y >= this.ra.height || 0 > a.x || 0 > a.y) && b("cc.TMXLayer.getTileGIDAt(): invalid position"); return !this.Kd || !this.Nd ? (F.log("cc.TMXLayer.getTileGIDAt(): TMXLayer: the tiles map has been released"), q) : (this.Kd[0 | a.x + a.y * this.ra.width] & F.Mz) >>> 0 }, i0: function(a, c) { a || b("cc.TMXLayer.getTileFlagsAt(): pos should be non-null"); c !== k && (a = F.d(a, c)); (a.x >= this.ra.width || a.y >= this.ra.height || 0 > a.x || 0 > a.y) && b("cc.TMXLayer.getTileFlagsAt(): invalid position"); return !this.Kd || !this.Nd ? (F.log("cc.TMXLayer.getTileFlagsAt(): TMXLayer: the tiles map has been released"), q) : (this.Kd[0 | a.x + a.y * this.ra.width] & F.LH) >>> 0 }, tja: function(a, c, d, e) { c || b("cc.TMXLayer.setTileGID(): pos should be non-null"); e !== k ? c = F.d(c, d) : e = d; (c.x >= this.ra.width || c.y >= this.ra.height || 0 > c.x || 0 > c.y) && b("cc.TMXLayer.setTileGID(): invalid position"); if (!this.Kd || !this.Nd) F.log("cc.TMXLayer.setTileGID(): TMXLayer: the tiles map has been released"); else if (0 !== a && a < this.gg.um) F.log("cc.TMXLayer.setTileGID(): invalid gid:" + a); else { e = e || 0; this.oh(); d = this.i0(c); var f = this.KE(c); if (f != a || d != e) if (d = (a | e) >>> 0, 0 === a) this.z2(c); else if (0 === f) this.rW(d, c); else { var f = c.x + c.y * this.ra.width, g = this.Bh(f); g ? (a = this.gg.it(a), a = F.Gj(a), g.vb(a, r), e != q && this.hw(g, c, d), this.Kd[f] = d) : this.BY(d, c) } } }, z2: function(a, c) { a || b("cc.TMXLayer.removeTileAt(): pos should be non-null"); c !== k && (a = F.d(a, c)); (a.x >= this.ra.width || a.y >= this.ra.height || 0 > a.x || 0 > a.y) && b("cc.TMXLayer.removeTileAt(): invalid position"); if (!this.Kd || !this.Nd) F.log("cc.TMXLayer.removeTileAt(): TMXLayer: the tiles map has been released"); else if (0 !== this.KE(a)) { F.B === F.Ca && this.oh(); var d = 0 | a.x + a.y * this.ra.width, e = this.yA(d); this.Kd[d] = 0; this.Nd.splice(e, 1); if (d = this.Bh(d)) F.yf.prototype.removeChild.call(this, d, p); else if (F.B === F.$ && this.textureAtlas.wO(e), this.u) for (var d = this.u, f = 0, g = d.length; f < g; f++) { var h = d[f]; if (h) { var m = h.atlasIndex; m >= e && (h.atlasIndex = m - 1) } } } }, Yw: function(a, c) { c !== k && (a = F.d(a, c)); var d = F.d(0, 0); switch (this.ap) { case F.wu: d = this.gX(a); break; case F.vu: d = this.fX(a); break; case F.uu: d = this.eX(a) } return F.zF(d) }, GE: function(a) { return this.Lb[a] }, W3: function() { F.B === F.Ca ? this.gg.kx = this.ie.P : (this.gg.kx = this.textureAtlas.texture.P, this.textureAtlas.texture.LF()); this.$W(); F.B === F.Ca && this.oh(); for (var a = this.ra.height, c = this.ra.width, d = 0; d < a; d++) for (var e = 0; e < c; e++) { var f = this.Kd[e + c * d]; 0 !== f && (this.wU(f, F.d(e, d)), this.Ml = Math.min(f, this.Ml), this.Ll = Math.max(f, this.Ll)) } this.Ll >= this.gg.um && this.Ml >= this.gg.um || F.log("cocos2d:TMX: Only 1 tileset per layer is supported") }, Q: function() { F.log("addChild: is not supported on cc.TMXLayer. Instead use setTileGID or tileAt.") }, removeChild: function(a, c) { if (a) if (-1 === this.u.indexOf(a)) F.log("cc.TMXLayer.removeChild(): Tile does not belong to TMXLayer"); else { F.B === F.Ca && this.oh(); var d = a.atlasIndex; this.Kd[this.Nd[d]] = 0; this.Nd.splice(d, 1); F.yf.prototype.removeChild.call(this, a, c) } }, nba: A("Hx"), Aia: y("Hx"), fX: function(a) { return F.d(this.vc.width / 2 * (this.ra.width + a.x - a.y - 1), this.vc.height / 2 * (2 * this.ra.height - a.x - a.y - 2)) }, gX: function(a) { return F.d(a.x * this.vc.width, (this.ra.height - a.y - 1) * this.vc.height) }, eX: function(a) { return F.d(3 * a.x * this.vc.width / 4, (this.ra.height - a.y - 1) * this.vc.height + (1 == a.x % 2 ? -this.vc.height / 2 : 0)) }, EU: function(a) { var c = F.d(0, 0); switch (this.ap) { case F.wu: c = F.d(a.x * this.vc.width, -a.y * this.vc.height); break; case F.vu: c = F.d(this.vc.width / 2 * (a.x - a.y), this.vc.height / 2 * (-a.x - a.y)); break; case F.uu: (0 !== a.x || 0 !== a.y) && F.log("offset for hexagonal map not implemented yet") } return c }, wU: function(a, c) { var d = this.gg.it(a), d = F.Gj(d), e = 0 | c.x + c.y * this.ra.width, d = this.DC(d); this.hw(d, c, a); var f = this.Nd.length; this.rx(d, f); this.Nd.splice(f, 0, e); return d }, rW: function(a, c) { var d = this.gg.it(a), d = F.Gj(d), e = 0 | c.x + c.y * this.ra.width, d = this.DC(d); this.hw(d, c, a); var f = this.yU(e); this.rx(d, f); this.Nd.splice(f, 0, e); if (this.u) for (var g = this.u, h = 0, m = g.length; h < m; h++) { var n = g[h]; if (n) { var s = n.atlasIndex; s >= f && (n.atlasIndex = s + 1) } } this.Kd[e] = a; return d }, BY: function(a, c) { var d = this.gg.it(a), e = this.Zg, d = F.rect(d.x / e, d.y / e, d.width / e, d.height / e), e = c.x + c.y * this.ra.width, d = this.DC(d); this.hw(d, c, a); d.atlasIndex = this.yA(e); d.dirty = p; d.$e(); this.Kd[e] = a; return d }, $W: function() { var a = this.GE("cc_vertexz"); if (a) if ("automatic" == a) { this.zD = p; var c = this.GE("cc_alpha_func"), a = 0; c && (a = parseFloat(c)); F.B === F.$ && (this.shaderProgram = F.Jd.oc(F.ru), c = F.m.getUniformLocation(this.shaderProgram.ym(), F.tI), this.shaderProgram.Nc(), this.shaderProgram.st(c, a)) } else this.FD = parseInt(a, 10) }, hw: function(a, c, d) { var e = c.x + c.y * this.ra.width; a.G(this.Yw(c)); F.B === F.$ ? a.vertexZ = this.ML(c) : a.tag = e; a.anchorX = 0; a.anchorY = 0; a.opacity = this.Sd; F.B === F.$ && (a.rotation = 0); a.fy(r); a.QF(r); (d & F.KH) >>> 0 ? (a.anchorX = 0.5, a.anchorY = 0.5, a.x = this.Yw(c).x + a.width / 2, a.y = this.Yw(c).y + a.height / 2, c = (d & (F.Aq | F.Bq) >>> 0) >>> 0, c == F.Aq ? a.rotation = 90 : c == F.Bq ? a.rotation = 270 : (a.rotation = c == (F.Bq | F.Aq) >>> 0 ? 90 : 270, a.fy(p))) : ((d & F.Aq) >>> 0 && a.fy(p), (d & F.Bq) >>> 0 && a.QF(p)) }, DC: function(a) { F.B === F.$ ? (this.mh ? (this.mh.batchNode = q, this.mh.vb(a, r)) : (this.mh = new F.aa, this.mh.sa(this.texture, a, r)), this.mh.batchNode = this) : (this.mh = new F.aa, this.mh.sa(this.Kk, a, r), this.mh.batchNode = this, this.mh.parent = this); return this.mh }, ML: function(a) { var c = 0, d = 0; if (this.zD) switch (this.ap) { case F.vu: d = this.ra.width + this.ra.height; c = -(d - (a.x + a.y)); break; case F.wu: c = -(this.ra.height - a.y); break; case F.uu: F.log("TMX Hexa zOrder not supported"); break; default: F.log("TMX invalid value") } else c = this.FD; return c }, yA: function(a) { var c; if (this.Nd) for (var d = this.Nd, e = 0, f = d.length; e < f && !(c = d[e], c == a); e++); "number" != typeof c && F.log("cc.TMXLayer._atlasIndexForExistantZ(): TMX atlas index not found. Shall not happen"); return e }, yU: function(a) { for (var c = this.Nd, d = 0, e = c.length; d < e && !(a < c[d]); d++); return d } }); M = F.yq.prototype; F.B == F.$ ? (M.Y = F.yf.prototype.Y, M.S = F.yf.prototype.S, M.Oa = F.yf.prototype.Oa) : (M.Y = M.Dl, M.S = M.gm, M.Oa = M.or); F.j(M, "texture", M.Oa, M.pb); F.j(M, "layerWidth", M.IV, M.GX); F.j(M, "layerHeight", M.HV, M.FX); F.j(M, "tileWidth", M.qr, M.Rr); F.j(M, "tileHeight", M.pr, M.Qr); F.yq.create = function(a, c, d) { return new F.yq(a, c, d) }; F.nz = F.ma.extend({ Mr: q, la: q, Vq: q, bca: A("Mr"), cja: y("Mr"), UM: A("la"), ky: y("la"), xaa: A("Vq"), V2: y("Vq"), y0: function(a, c) { this.Mr = a; this.la = c; this.Vq = q; return p } }); F.nz.create = function(a, c) { var d = new F.nz; d.y0(a, c); return d }; F.jH = F.ja.extend({ Fm: q, KB: q, tb: "ParallaxNode", Oba: A("Fm"), Uia: y("Fm"), ctor: function() { F.ja.prototype.ctor.call(this); this.Fm = []; this.KB = F.d(-100, -100) }, Q: function(a, c, d, e) { if (3 === arguments.length) F.log("ParallaxNode: use addChild(child, z, ratio, offset) instead"); else { a || b("cc.ParallaxNode.addChild(): child should be non-null"); var f = F.nz.create(d, e); f.V2(a); this.Fm.push(f); a.G(this.za.x * d.x + e.x, this.za.y * d.y + e.y); F.ja.prototype.Q.call(this, a, c, a.tag) } }, removeChild: function(a, c) { for (var d = this.Fm, e = 0; e < d.length; e++) if (d[e].Vq == a) { d.splice(e, 1); break } F.ja.prototype.removeChild.call(this, a, c) }, Jg: function(a) { this.Fm.length = 0; F.ja.prototype.Jg.call(this, a) }, S: function() { var a = this.oU(); if (!F.yF(a, this.KB)) { for (var c = this.Fm, d = 0, e = c.length; d < e; d++) { var f = c[d]; f.Vq.G(-a.x + a.x * f.Mr.x + f.la.x, -a.y + a.y * f.Mr.y + f.la.y) } this.KB = a } F.ja.prototype.S.call(this) }, oU: function() { for (var a = this.za, c = this; c.parent != q;) c = c.parent, a = F.Dj(a, c.Xw()); return a } }); F.jH.create = function() { return new F.jH }; if (F.Cb.qw) { var ua = F.Jka = new(window.AudioContext || window.webkitAudioContext || window.mozAudioContext); F.jA = F.ma.extend({ Hn: q, cb: q, Yl: q, LD: q, src: q, AF: q, autoplay: q, controls: q, Ifa: q, currentTime: 0, startTime: 0, duration: 0, NB: q, KD: 1, Vv: 0, mc: r, Yr: p, yg: -1, ctor: function(a) { this.Hn = {}; this.src = a; this.LD = ua.createGain ? ua.createGain() : ua.createGainNode(); this.NW = this.MW.bind(this); this.KW = this.JW.bind(this) }, dC: function(a) { var c = this.Yl = ua.createBufferSource(), d = this.LD; a = a || 0; c.buffer = this.cb; d.gain.value = this.KD; c.connect(d); d.connect(ua.destination); c.loop = this.NB; this.Yr = this.mc = r; c.start ? c.start(0, a) : c.noteGrainOn ? (d = c.buffer.duration, this.loop ? c.noteGrainOn(0, a, d) : c.noteGrainOn(0, a, d - a)) : c.noteOn(0); this.Vv = 0 }, xL: function() { var a = this.Yl; this.Yr || (a.stop ? a.stop(0) : a.Ofa(0), this.Yr = p) }, play: function() { if (-1 == this.yg) this.yg = 0; else if (1 == this.yg) { var a = this.Yl; if (this.Yr || !(a && 2 == a.playbackState)) this.startTime = ua.currentTime, this.dC(0) } }, pause: function() { this.Vv = ua.currentTime; this.mc = p; this.xL() }, mp: function() { this.mc && this.dC(this.cb ? (this.Vv - this.startTime) % this.cb.duration : 0) }, stop: function() { this.Vv = 0; this.mc = r; this.xL() }, load: function() { var a = this; if (1 != a.yg) { a.yg = -1; a.played = r; a.ended = p; var c = new XMLHttpRequest; c.open("GET", a.src, p); c.responseType = "arraybuffer"; c.onload = function() { ua.decodeAudioData(c.response, a.NW, a.KW) }; c.send() } }, addEventListener: function(a, c) { this.Hn[a] = c.bind(this) }, removeEventListener: function(a) { delete this.Hn[a] }, n9: function() { return F.Cb.qw }, MW: function(a) { this.cb = a; a = this.Hn.success; var c = this.Hn.canplaythrough; a && a(); c && c(); (0 == this.yg || "autoplay" == this.autoplay || this.autoplay == p) && this.dC(); this.yg = 1 }, JW: function() { var a = this.Hn.error; a && a(); this.yg = -2 }, cloneNode: function() { var a = new F.jA(this.src); a.volume = this.volume; a.yg = this.yg; a.cb = this.cb; (0 == a.yg || -1 == a.yg) && a.load(); return a } }); M = F.jA.prototype; F.j(M, "loop", A("NB"), function(a) { this.NB = a; this.Yl && (this.Yl.loop = a) }); F.j(M, "volume", A("KD"), function(a) { this.KD = a; this.LD.gain.value = a }); F.j(M, "paused", A("mc")); F.j(M, "ended", function() { var a = this.Yl; return !this.mc && (this.Yr || !a || 3 == a.playbackState) }); F.j(M, "played", function() { var a = this.Yl; return a && 2 == a.playbackState }) } F.wG = F.ma.extend({ aD: r, Pd: q, bv: q, gf: 0, MI: 0, fe: {}, Tq: {}, kv: 1, PB: 5, jk: q, Jr: [], ctor: function() { this.aD = 0 < F.zA.rw.length; this.jk && (this.jk = this.jk.bind(this)) }, Mka: E(r), Paa: A("kv"), Hga: function(a, c) { if (this.aD) { var d = this.Pd; d && this.Hk(d); a != this.bv && (this.Pd = d = this.mB(a), this.bv = a); d && (d.loop = c || r, this.eC(d)) } }, mB: function(a) { var c = F.V, d = c.Dd(a); d || (c.load(a), d = c.Dd(a)); return d }, eC: function(a) { a.ended || (a.stop ? a.stop() : (a.pause(), a.currentTime = 0)); this.gf = 2; a.play() }, l4: function(a) { if (0 < this.gf) { var c = this.Pd; c && this.Hk(c) && (a && F.V.Ei(this.bv), this.bv = this.Pd = q, this.gf = 0) } }, Hk: function(a) { return a && !a.ended ? (a.stop ? a.stop() : a.duration && Infinity != a.duration ? a.currentTime = a.duration : a.pause(), p) : r }, mO: function() { 2 == this.gf && (this.Pd.pause(), this.gf = 1) }, I2: function() { 1 == this.gf && (this.hj(this.Pd), this.gf = 2) }, hj: function(a) { a && !a.ended && (a.mp ? a.mp() : a.play()) }, Bha: function() { this.Pd && this.eC(this.Pd) }, Bba: function() { return 0 == this.gf ? 0 : this.Pd.volume }, Iia: function(a) { 0 < this.gf && (this.Pd.volume = Math.min(Math.max(a, 0), 1)) }, eF: function() { return 2 == this.gf && this.Pd && !this.Pd.ended }, pB: function(a) { var c = this.Tq[a]; c || (c = this.Tq[a] = []); return c }, XJ: function(a) { var c; if (!this.aD) return q; for (var d = this.pB(a), e = 0, f = d.length; e < f; e++) { var g = d[e]; if (g.ended) { c = g; c.currentTime = 0; window.y9 && c.load(); break } } if (!c) { if (d.length >= this.PB) return F.log("Error: " + a + " greater than " + this.PB), q; c = this.mB(a); if (!c) return q; c = c.cloneNode(p); this.jk && F.Ja(c, "pause", this.jk); c.volume = this.kv; d.push(c) } return c }, c2: function(a, c) { var d = this.XJ(a); if (!d) return q; d.loop = c || r; d.play(); var e = this.MI++; this.fe[e] = d; return e }, lia: function(a) { a = this.kv = Math.min(Math.max(a, 0), 1); var c = this.fe, d; for (d in c) c[d].volume = a }, Z1: function(a) { (a = this.fe[a]) && !a.ended && a.pause() }, X1: function() { var a = this.fe, c; for (c in a) { var d = a[c]; d.ended || d.pause() } }, H2: function(a) { this.hj(this.fe[a]) }, G2: function() { var a = this.fe, c; for (c in a) this.hj(a[c]) }, k4: function(a) { this.Hk(this.fe[a]); delete this.fe[a] }, pP: function() { var a = this.fe, c; for (c in a) this.Hk(a[c]), delete a[c] }, z4: function(a) { var c = F.V, d = this.fe, e = this.pB(a); c.Ei(a); if (0 != e.length) { c = e[0].src; delete this.Tq[a]; for (var f in d) d[f].src == c && (this.Hk(d[f]), delete d[f]) } }, end: function() { this.l4(); this.pP() }, GK: function() { var a = this.fe, c, d; for (d in a) if ((c = a[d]) && !c.ended && !c.paused) this.Jr.push(c), c.pause(); this.eF() && (this.Jr.push(this.Pd), this.Pd.pause()) }, YK: function() { for (var a = this.Jr, c = 0, d = a.length; c < d; c++) this.hj(a[c]); a.length = 0 } }); !F.Cb.qw && 0 > F.Cb.mY && (F.xG = F.wG.extend({ Ok: [], Ir: [], Ef: q, PB: 2, jv: {}, Ol: r, In: 0, FB: r, eC: function(a) { this.iD(); this._super(a) }, I2: function() { 1 == this.gf && (this.iD(), this.Ol = r, this.In = 0, this._super()) }, c2: function(a, c) { var d = this.Ef, e = c ? this.XJ(a) : this.WV(a); if (!e) return q; e.loop = c || r; var f = this.MI++; this.fe[f] = e; this.eF() && (this.mO(), this.Ol = p); d ? (d != e && this.Ok.push(this.An), this.Ok.push(f), d.pause()) : (this.Ef = e, this.An = f, e.play()); return f }, Z1: function() { F.log("pauseEffect not supported in single audio mode!") }, X1: function() { var a = this.Ok, c = this.Ir, d = this.Ef; if (d) { for (var e = 0, f = a.length; e < f; e++) c.push(a[e]); a.length = 0; c.push(this.An); d.pause() } }, H2: function() { F.log("resumeEffect not supported in single audio mode!") }, G2: function() { var a = this.Ok, c = this.Ir; this.eF() && (this.mO(), this.Ol = p); for (var d = 0, e = c.length; d < e; d++) a.push(c[d]); c.length = 0; if (!this.Ef && 0 <= a.length && (a = a.pop(), c = this.fe[a])) this.An = a, this.Ef = c, this.hj(c) }, k4: function(a) { var c = this.Ef, d = this.Ok, e = this.Ir; c && this.An == a ? this.Hk(c) : (c = d.indexOf(a), 0 <= c ? d.splice(c, 1) : (c = e.indexOf(a), 0 <= c && e.splice(c, 1))) }, pP: function() { this.iD(); !this.Ef && this.Ol && (this.hj(this.Pd), this.gf = 2, this.Ol = r, this.In = 0) }, z4: function(a) { var c = F.V, d = this.fe, e = this.jv, f = this.pB(a), g = this.Ef; c.Ei(a); if (0 != f.length || e[a]) { c = 0 < f.length ? f[0].src : e[a].src; delete this.Tq[a]; delete e[a]; for (var h in d) d[h].src == c && delete d[h]; g && g.src == c && this.Hk(g) } }, WV: function(a) { var c = this.jv[a], d = this.Ok, e = this.Ir, f = this.fe; if (c) c.currentTime = 0; else { c = this.mB(a); if (!c) return q; c = c.cloneNode(p); this.jk && F.Ja(c, "pause", this.jk); c.volume = this.kv; this.jv[a] = c } a = 0; for (var g = d.length; a < g;) f[d[a]] == c ? d.splice(a, 1) : a++; a = 0; for (g = e.length; a < g;) f[e[a]] == c ? e.splice(a, 1) : a++; c.wr = p; return c }, iD: function() { var a = this.Ef, c = this.Tq, d = this.jv, e = this.Ok, f = this.Ir; 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 c) { d = c[g]; e = 0; for (f = d.length; e < f; e++) h = d[e], h.loop = r, h.duration && Infinity != h.duration && (h.currentTime = h.duration) } a && this.Hk(a) } }, jk: function() { if (!this.FB) { var a = this.ZV(); if (a) a.wr ? (delete a.wr, a.play()) : this.hj(a); else if (this.Ol) { a = this.Pd; if (a.duration && Infinity != a.duration) { var c = a.currentTime + this.In, c = c - a.duration * (c / a.duration | 0); a.currentTime = c } this.In = 0; this.hj(a); this.gf = 2; this.Ol = r } } }, ZV: function() { var a = this.Ok, c = this.fe, d = this.Ef, e = d ? d.currentTime - (d.startTime || 0) : 0; for (this.In += e; 0 != a.length;) { var f = a.pop(); if (d = c[f]) { if (d.wr || d.loop || d.duration && d.currentTime + e < d.duration) return this.An = f, this.Ef = d, !d.wr && (d.duration && Infinity != d.duration) && (a = d.currentTime + e, a -= d.duration * (a / d.duration | 0), d.currentTime = a), d.wr = r, d; d.duration && Infinity != d.duration && (d.currentTime = d.duration) } } return this.Ef = this.An = q }, GK: function() { var a = this.Ef; this.FB = p; if (a = 2 == this.gf ? this.Pd : a) this.Jr.push(a), a.pause() }, YK: function() { var a = this.Jr; this.FB = r; 0 < a.length && (this.hj(a[0]), a.length = 0) } })); F.zA = { rw: q, Vw: function() { return F.V.XY }, LB: function(a, c, d, e, f, g, h) { var m = this, n = F.V, s = F.path, u = this.rw, v = ""; if (0 == u.length) return h("can not support audio!"); if (-1 == e) v = (s.Rk(a) || "").toLowerCase(), m.YY(v) || (v = u[0], e = 0); else if (e < u.length) v = u[e]; else return h("can not found the resource of audio! Last match url is : " + a); if (0 <= f.indexOf(v)) return m.LB(a, c, d, e + 1, f, g, h); a = s.bM(a, v); f.push(v); g = m.yW(a, g, function(n) { if (n) return m.LB(a, c, d, e + 1, f, g, h); h(q, g) }, e == u.length - 1); n.Tf[c] = g }, YY: function(a) { return !a ? r : 0 <= this.rw.indexOf(a.toLowerCase()) }, yW: function(a, c, d, e) { var f = "file://" == location.origin ? Audio : F.jA || Audio; 2 == arguments.length ? (d = c, c = new f) : 3 < arguments.length && !c && (c = new f); c.src = a; c.AF = "auto"; f = navigator.userAgent; /Mobile/.test(f) && (/iPhone OS/.test(f) || /iPad/.test(f) || /Firefox/.test(f)) || /MSIE/.test(f) ? (c.load(), d(q, c)) : (F.Ja(c, "canplaythrough", function() { d(q, c); this.removeEventListener("canplaythrough", arguments.callee, r); this.removeEventListener("error", arguments.callee, r) }, r), F.Ja(c, "error", function() { d("load " + a + " failed"); e && (this.removeEventListener("canplaythrough", arguments.callee, r), this.removeEventListener("error", arguments.callee, r)) }, r), c.load()); return c }, load: function(a, c, d, e) { this.LB(a, c, d, -1, [], q, e) } }; F.zA.rw = function() { var a = F.Nb("audio"), c = []; if (a.canPlayType) { var d = function(c) { c = a.canPlayType(c); return "no" != c && "" != c }; d('audio/ogg; codecs\x3d"vorbis"') && c.push(".ogg"); d("audio/mpeg") && c.push(".mp3"); d('audio/wav; codecs\x3d"1"') && c.push(".wav"); d("audio/mp4") && c.push(".mp4"); (d("audio/x-m4a") || d("audio/aac")) && c.push(".m4a") } return c }(); F.V.Hj(["mp3", "ogg", "wav", "mp4", "m4a"], F.zA); F.VL = F.xG ? new F.xG : new F.wG; F.ua.OD(F.Ic.Nt, function() { F.VL.GK() }); F.ua.OD(F.Ic.Mp, function() { F.VL.YK() }); var va = []; var xa = F.color.RED, ya = F.color.GREEN, za = F.color.ORANGE, Aa = F.color(128, 52, 128, 255), Ba = F.color(0, 150, 206, 255), Ca = F.color(231, 231, 231, 255); F.color(115, 117, 115, 255); var Da = F.color(255, 170, 0, 255), Ea = F.color(0, 190, 189, 255), Ia = F.color(242, 48, 5, 255); var Ja = {}, Ka = { name: "Courier-Bold", size: 80, color: Ca }, La = { name: "Courier", size: 60, color: Ca }, Ma = { name: "Courier", size: 60, color: Ca }, Pa = { name: "Courier-Bold", size: 60, color: Ia }, Qa = { name: "Arial", size: 100, color: Ia }, Ra = { name: "Courier", size: 40, color: Ea }, Sa = { name: "Courier", size: 30, color: Ia }; function Ta(a) { a.sort(function() { return 0.5 < Math.random() ? 1 : -1 }) } function Ua() { if (0 == arguments.length) return ""; var a = arguments; return arguments[0].replace(/\{(\d+)\}/g, function(c, d) { var e = parseInt(d); return 0 > e || e >= a.length - 1 ? (F.log("invalid index: " + d), "") : a[e + 1] }) } function Va() { if (_czc) { for (var a = [], c = 0; c < arguments.length; c++) a.push(arguments[c]); _czc.push(["_trackEvent", "maxarea"].concat(a)) } } function Wa(a, c) { var d = a.slice(c + 1 || a.length); a.length = 0 > c ? a.length + c : c; a.push.apply(a, d) }; function Xa(a) { a.va(0); var c = k, c = F.ta.create({ event: F.ta.Cq, yp: p, gZ: r, Em: E(p), S3: function() { c.gZ = p }, fp: t() }); a.ib(F.GO(F.Ki.create(0.5, 210), F.fZ(c.S3))); F.ua.addListener(c, a) } function Ya(a, c, d, e) { var f = F.Ac.create(a, c.width, c.height); d && (a = F.Ac.create(F.color(a.r, a.g, a.b, a.a / 2), c.width, c.height), f = F.rl.create(f, a, d, e)); return f } function Za(a, c) { var d = F.Z.create(a, c.name, c.size); d.Wa(c.color); return d }; var $a = F.t.extend({ ds: k, z8: k, A8: k, f8: k, ao: k, ctor: function() { this._super(); var a = F.I.T, c = Ya(Ea, F.size(a.width, 100)); this.Q(c); c.G(F.d(-a.width / 2, -c.fc().height)); this.G(F.d(a.width / 2, a.height)); this.H4() }, H4: function() { this.ds ? this.ds.Mc("\u5168\u6c11\u62a2\u623f\u5b50") : (this.ds = Za("\u5168\u6c11\u62a2\u623f\u5b50", La), this.Q(this.ds), this.ds.UF(-50)) }, Tja: function(a) { a ? this.ao || (this.ao = this.L7(Ja.Kfa, this.UW, r), this.Q(this.ao)) : this.ao && (this.ao.$k(), this.ao = k) }, k8: function() { Z.x9() }, UW: function() { window.open("http://littall.duapp.com/") } }); $a.show = function(a) { var c = new $a; a.Q(c, 10); c.Uja(p) }; var ab = F.t.extend({ tg: 0, CI: 0, cB: k, xb: k, IB: r, ctor: function(a) { this._super(); Z.V3(this); this.tg = Z.fM; this.xb = Za(this.tg.toString(), Ma); this.Q(this.xb); this.xb.Fi(F.d(0.5, 0.5)); this.cB = a; this.GF() }, hG: function() { this.xb.Ct() }, GF: function() { this.tg = Z.fM; this.IB = r; this.lY() }, lY: function() { function a() { c.tg--; F.log(c.tg); c.tg = 0 < c.tg ? c.tg : 0; c.xb.Mc(c.tg.toString()); c.tg <= c.CI && (c.xb.vy(a), c.cB && !c.IB && (c.cB(), c.IB = p)) } var c = this; this.tg > this.CI && (this.xb.Mc(this.tg.toString()), this.xb.nt(a, 1)) } }); var Z = new function() { this.fM = 60; var a = 3, c = 2, d = 2, e = [xa, za, Da, ya, Ba, Aa]; this.lM = function(f, g) { function h(a, c) { var d = g ? Ya(a, z) : Ya(a, z, Z.M1, Z); d.oy(c); d.Fi(F.d(0, 0)); return d } var m = e[Math.floor(0 + Math.random() * (e.length - 0))], x = a * a, w = Math.ceil(x / c) + d, z = F.size(100, 100), B = []; Ta(e); for (var C = 0; C < e.length && B.length < c - 1; C++) e[C] !== m && B.push([e[C], 0]); for (var D = g ? F.t.create() : F.Pj.create(), C = 0; C < w; C++) D.Q(h(m, w)); for (C = w; C < x && 0 < B.length; C++) m = Math.floor(0 + Math.random() * (B.length - 0)), B[m][1] == w - 1 ? (Wa(B, m), C--) : (B[m][1]++, D.Q(h(B[m][0], 0))); x = D.u; Ta(x); for (C = 0; C < a; C++) for (w = 0; w < a; w++) x[C * a + w].G(F.d(z.height * (C + 0.5), z.height * (w + 0.5))); D.G(F.d(f.width / 2 - 0.5 * (a + 1) * z.width, f.height / 2 - 0.5 * (a + 1) * z.height)); return D }; this.Tca = E("\u5168\u6c11\u62a2\u623f\u5b50"); var f = k, g = k; this.V3 = function(a) { g = a }; this.U3 = function() { g && g.hG() }; this.T3 = function(a) { f = a; h = 0; Va(Ja.I8); g && g.GF() }; var h = 0; this.M1 = function(g) { 0 >= g.Es() ? Z.cO(r) : (h += g.Es(), 1 < d ? d-- : (g = a * a, c < e.length ? (c++, d = Math.floor(g / 4)) : 6 > a && (a++, c = 2, d = Math.floor(g / 4))), f.sp()) }; var m = r; this.cO = function(a) { m = a; bb.show(); g && g.hG(); Va("game_over", m ? "time_is_up" : "wrong", 1) }; this.C2 = function() { a = 3; d = c = 2; f.$k(); cb.lP(); Va("replay"); g && (g.GF(), g.hG()) }; this.q0 = function() { var a = Ua("我抢到了{0}平米的大房子,你也快点来抢~", h); // Play68.setRankingScoreDesc(h); F.log(a); Va("statistics", "correct", h); return { xP: h, Y0: m } }; this.Sja = t() }; var db = F.ve.extend({ Y7: k, YB: k, n8: k, C8: k, m8: k, J7: k, ctor: function(a) { this._super(); Z.U3(); var c = this.fc(), d = Ya(Da, F.size(400, 100), this.N1, this), e = F.Pj.create(d); this.Q(e); e.G(F.d(c.width / 2, 50)); e = Za("\u5f00\u62a2", Ka); d.Q(e); e.G(d.eb); this.YB = a; a = Z.lM(c, p); this.Q(a); a = Za("要抢就只抢最大的", Sa); this.Q(a); a.G(F.d(c.width / 2, 150)); a.ib(F.GO(F.DO(0.5, 2), F.DO(0.5, 1))) }, N1: function() { this.YB && this.YB() } }); var bb = F.Ac.extend({ ctor: function() { this._super(F.color(0, 0, 0, 255)); Xa(this); for (var a = F.Pj.create(), c = ["再抢一次", "叫朋友来抢"], d = [Da, Ea], e = [this.VW, this.WW], f = F.size(this.fc().width - 200, 100), g = 0; g < c.length; g++) { var h = Ya(d[g], f, e[g], this), m = Za(c[g], Ka); h.Q(m); m.G(h.eb); a.Q(h) } this.Q(a); a.G(F.d(this.fc().width / 2, f.height + 75)); a.RL(25); a = Z.q0(); c = Za(a.Y0 ? "时间到了" : "不是最大的", Pa); this.Q(c); c.G(F.d(this.fc().width / 2, this.fc().height - 200)); c = Za(a.xP.toString(), Qa); this.Q(c); c.G(F.d(this.fc().width / 2, this.fc().height / 2)); a = Za(Ua("\u62a2\u5230\u4e86{0}\u5e73\u7c73", a.xP), Ra); this.Q(a); a.G(F.d(this.fc().width / 2, this.fc().height / 2 - 100)) }, WW: function() { prompt_share != k && prompt_share(); Va("share") }, VW: function() { Z.C2(); this.$k(); Va("replay") } }); bb.show = function() { var a = F.I.Ec, c = new bb; a.Q(c, 5) }; var eb = F.ve.extend({ ctor: function() { this._super(); Z.T3(this); this.Lv = k; this.sp() }, sp: function() { this.Lv !== k && this.Lv.$k(); this.Lv = Z.lM(this.fc(), r); this.Q(this.Lv) } }), cb = F.tl.extend({ da: function() { this._super(); var a = F.Ac.create(F.color.GRAY); this.Q(a); a = new $a; this.Q(a, 10); a = new ab(function() { Z.cO(p) }); this.Q(a); a.G(F.d(this.fc().width / 2, this.fc().height - 150)); cb.lP(this) } }); cb.lP = function(a) { var c = k, d = a || F.I.Ec, c = new db(function() { c.$k(); var a = new eb; d.Q(a, 1) }); d.Q(c) }; F.Ic.sF = function() { F.view.OF(640, 1136, F.Cb.xi ? F.we.du : F.we.su); F.view.E2(p); F.cz.AF(va, function() { F.I.IF(new cb) }, this) }; F.Ic.K2(); //@ sourceMappingURL=sourcemap