FXclient-mirror/archived/v0.5.3.4/game.js

11953 lines
652 KiB
JavaScript
Raw Normal View History

const fx_version = '0.5.3.4'; // FX Client Version
const fx_update = 'Jan 9'; // FX Client Last Updated
2022-12-25 08:25:12 -08:00
const ter_version = '1.83.0'; // Territorial Version
const ter_update = '8 January 2023'; // Territorial Last Updated
2022-12-25 08:25:12 -08:00
if (localStorage.getItem("win_count") == undefined || localStorage.getItem("win_count") == null) {
var wins_counter = 0;
console.log('Couldn\'t find a saved win data. creating one...');
} else if (localStorage.getItem("win_count") != undefined || localStorage.getItem("win_count") != null) {
var wins_counter = localStorage.getItem("win_count");
}
var settings = {
"fontName": "Trebuchet MS",
2022-12-27 10:22:27 -08:00
"showBotDonations": false,
"hideAllLinks": false,
"realisticNames": false,
"customMapFileBtn": true
2022-12-25 08:25:12 -08:00
};
var settingsManager = new (function() {
2022-12-28 05:11:29 -08:00
var inputFields = {
fontName: document.getElementById("settings_fontname")
};
var checkboxFields = {
showBotDonations: document.getElementById("settings_donations_bots"),
hideAllLinks: document.getElementById("settings_hidealllinks"),
realisticNames: document.getElementById("settings_realisticnames"),
customMapFileBtn: document.getElementById("settings_custommapfileinput")
2022-12-28 05:11:29 -08:00
};
2022-12-25 08:25:12 -08:00
this.save = function() {
2022-12-28 05:11:29 -08:00
Object.keys(inputFields).forEach(function(key) { settings[key] = inputFields[key].value.trim(); });
Object.keys(checkboxFields).forEach(function(key) { settings[key] = checkboxFields[key].checked; });
2022-12-25 08:25:12 -08:00
this.applySettings();
WindowManager.closeWindow("settings");
2022-12-25 08:25:12 -08:00
localStorage.setItem("settings", JSON.stringify(settings));
2022-12-26 11:11:02 -08:00
// should probably firgure out a way to do this without reloading - // You can't do it, localstorages REQUIRE you to reload
2022-12-25 08:25:12 -08:00
window.location.reload();
};
2022-12-28 05:11:29 -08:00
this.syncFields = function() {
Object.keys(inputFields).forEach(function(key) { inputFields[key].value = settings[key]; });
Object.keys(checkboxFields).forEach(function(key) { checkboxFields[key].checked = settings[key]; });
};
2022-12-25 08:25:12 -08:00
this.resetAll = function() {
2022-12-26 11:11:02 -08:00
if (!confirm("Are you Really SURE you want to RESET ALL SETTINGS back to the default?")) return;
2022-12-25 08:25:12 -08:00
localStorage.removeItem("settings");
window.location.reload();
};
this.applySettings = function() {
setVarByName("bu", "px " + settings.fontName);
};
});
function removeWins() {
var confirm1 = confirm('Do you really want to reset your Wins?');
if (confirm1) {
wins_counter = 0;
localStorage.removeItem('win_count');
alert("Successfully reset wins");
}
}
var WindowManager = new (function() {
var windows = {};
this.add = function(newWindow) {
windows[newWindow.name] = newWindow;
windows[newWindow.name].isOpen = false;
};
this.openWindow = function(windowName) {
if (windows[windowName].isOpen === true) return;
if (windows[windowName].beforeOpen !== undefined) windows[windowName].beforeOpen();
windows[windowName].isOpen = true;
2022-12-27 10:22:27 -08:00
windows[windowName].element.style.display = null;
};
this.closeWindow = function(windowName) {
if (windows[windowName].isOpen === false) return;
windows[windowName].isOpen = false;
windows[windowName].element.style.display = "none";
};
this.closeAll = function() {
Object.values(windows).forEach(function(windowObj) {
WindowManager.closeWindow(windowObj.name);
});
};
});
WindowManager.add({
name: "settings",
element: document.querySelector(".settings"),
2022-12-28 05:11:29 -08:00
beforeOpen: function() { settingsManager.syncFields(); }
});
WindowManager.add({
name: "donationHistory",
element: document.querySelector("#donationhistory"),
beforeOpen: function() {
document.getElementById("donationhistory_note").style.display = ((settings.showBotDonations || getVarByName("dt")) ? "none" : "block");
}
});
document.getElementById("canvasA").addEventListener("mousedown", WindowManager.closeAll);
document.getElementById("canvasA").addEventListener("touchstart", WindowManager.closeAll);
2022-12-25 08:25:12 -08:00
//var tfxc = document.createElement('div');
//tfxc.setAttribute('class', 'settingsd');
var settingsGearIcon = document.createElement('img');
settingsGearIcon.setAttribute('src', 'assets/geari_white.png');
//gear.setAttribute('id', 'optionsimg');
//tfxc.appendChild(gear);
var donationsTracker = new (function(){
this.donationHistory = Array();
// fill the array with empty arrays with length of 3
for (var i = 0; i < 512; i++) this.donationHistory.push([]);
// from inside of game:
// ((!gE[g].startsWith("[Bot] ") || settings.showBotDonations) && donationsTracker.logDonation(g,k,x))
this.logDonation = function(senderID, receiverID, amount) {
this.donationHistory[receiverID].push([senderID,amount]);
};
this.getRecipientHistoryOf = function(playerID) {
return this.donationHistory[playerID];
};
});
// usage from inside: displayDonationsHistory(Y, gE);
function displayDonationsHistory(playerID, playerNames) {
var history = donationsTracker.getRecipientHistoryOf(playerID);
console.log("History for " + playerNames[playerID] + ":");
console.log(history);
document.querySelector("#donationhistory h1").innerHTML = "Donation history for " + playerNames[playerID];
var historyText = "";
history.reverse();
if (history.length > 0) history.forEach(function(historyItem, index) {
historyText += (history.length - index) + ". Received " + historyItem[1] + " resources from " + playerNames[historyItem[0]] + "<br>";
});
else historyText = "Nothing to display";
document.querySelector("#donationhistory p#donationhistory_text").innerHTML = historyText;
WindowManager.openWindow("donationHistory");
}
2022-12-27 10:22:27 -08:00
var utils = new (function() {
this.getMaxTroops = function(playerTerritories, playerID) { return playerTerritories[playerID]*150; };
this.getDensity = function(playerBalances, playerTerritories, playerID) {
return (Math.floor((playerBalances[playerID] / ((playerTerritories[playerID] === 0 ? 1 : playerTerritories[playerID]) * 150)) * 100) + "%");
};
});
var setVarByName, getVarByName;
2022-12-25 08:25:12 -08:00
(function () {
setVarByName = function(varName, newValue) { return eval(varName + ' = "' + newValue + '"'); }
getVarByName = function(varName) { return eval(varName); }
2022-12-25 08:25:12 -08:00
function a() {
if (b)
return c.username;
if (12 <= d) {
var g = e.loadString(20);
"" === g && (g = "[FX] " + "Android User " + Math.floor(1E3 * Math.random()),
e.saveString(20, g))
} else
5 <= d ? (g = e.loadString(0),
"" === g && (g = "[FX] " + "Player " + Math.floor(1E3 * Math.random()),
e.saveString(0, g))) : g = f.g(0);
return g
}
function h() {
i = Math.floor(1 + Math.random() * (Math.pow(2, 30) - 1));
if (b)
i = c.id;
else if (12 <= d) {
var g = e.loadNumber(20);
-1 === g ? e.saveNumber(20, i) : i = g
} else
5 <= d ? (g = e.loadNumber(2),
2 === g ? e.saveNumber(2, i + 3) : i = g - 3) : i = f.g(1)
}
function j() {
var g = 0;
if (b)
g = c.password;
else if (12 <= d)
g = e.loadString(22);
else {
if (5 <= d)
return g;
g = f.g(9)
}
var k = Math.floor(Math.pow(2, 48));
g = Math.floor(parseInt(m.n(g)));
if (0 < g && g < k)
return g;
g = Math.floor(1 + (k - 1) * Math.random());
return o(g) ? g : 0
}
function p() {
if (b)
q = c.zoom || r < s;
else if (12 <= d) {
var g = e.loadNumber(21);
-1 === g ? (q = 100 >= e.getNumber(0) || r < s,
e.saveNumber(21, q ? 1 : 0)) : q = 1 === g || r < s
} else
5 <= d ? (g = e.loadNumber(1),
2 === g ? (q = !0,
e.saveNumber(1, q ? 1 : 0)) : q = 1 === g) : q = 0 === f.g(4) || r < s
}
function u() {
return b ? c.emojis : 5 <= d ? e.loadString(1) : f.g(7)
}
function v() {
return b ? c.colors : 12 <= d ? e.loadString(21) : 5 <= d ? e.loadString(2) : f.g(8)
}
function w(g) {
if (b)
window.webkit.messageHandlers.iosCommandA.postMessage("username " + g);
else if (12 <= d)
e.saveString(20, g),
e.setState(10);
else if (5 <= d)
e.saveString(0, g);
else {
if (3 > g.length || 0 <= g.indexOf(";"))
g = "Player 666";
f.x(0, g);
f.y()
}
}
function o(g) {
g = m.z(g.toString());
return b ? (c.password = g,
window.webkit.messageHandlers.iosCommandA.postMessage("password " + g),
!0) : 12 <= d ? (e.saveString(22, g),
!0) : 5 <= d ? !1 : 2 === f.a0() ? (f.x(9, g),
f.y(),
!0) : !1
}
function a1(g, k) {
b ? (window.webkit.messageHandlers.iosCommandA.postMessage("zoom " + (g ? 1 : 0)),
window.webkit.messageHandlers.iosCommandA.postMessage("sound " + (k ? 1 : 0))) : 12 <= d ? (e.saveNumber(22, k ? 1 : 0),
e.saveNumber(21, g ? 1 : 0)) : 5 <= d ? (e.saveNumber(1, g ? 1 : 0),
e.saveNumber(11, k ? 1 : 0)) : (f.x(2, k ? 1 : 0),
f.x(4, g ? 0 : 1),
f.y())
}
function a3() {
for (var g = "", k = 0; k < a5.a6; k += 2)
g += a5.a7[k] || a5.a7[k + 1] ? a5.a7[k] && !a5.a7[k + 1] ? "1" : !a5.a7[k] && a5.a7[k + 1] ? "2" : "3" : "0";
b ? window.webkit.messageHandlers.iosCommandA.postMessage("emojis " + g) : 5 <= d ? e.saveString(1, g) : (f.x(7, g),
f.y())
}
function a8(g) {
if (b)
window.webkit.messageHandlers.iosCommandA.postMessage("colors " + g);
else {
if (12 <= d)
e.saveString(21, g);
else if (5 <= d) {
e.saveString(2, g);
return
}
f.x(8, g);
f.y()
}
}
function a9(g) {
b || 5 <= d && e.setState(g)
}
function aB() {
2022-12-26 11:11:02 -08:00
/* b ? window.webkit.messageHandlers.iosCommandA.postMessage("show ad 1800000") : 12 <= d && e.presentAd(18E5) */
2022-12-25 08:25:12 -08:00
console.log('Game tried to display an ad, but we prevented it.');
}
function aC() {
b ? location.reload() : 7 <= d ? e.setState(5) : location.reload()
}
function aD() {
14 > d || e.saveString(23, '<!DOCTYPE html>\n<html lang="aG">\n' + document.getElementsByTagName("html")[0].innerHTML + "\n</html>")
}
self.aiCommand746 = function (g) {
0 === g ? aI() : 1 !== g || 14 > d || aJ.aK()
}
;
var aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, aW, aX;
function aY() {
aQ = 0;
aR = 2048;
aS = new Uint32Array(4 * aR);
aT = 0;
aU = new Uint32Array(aR);
aV = new Int32Array(4);
aV[0] = -4 * aZ;
aV[1] = 4;
aV[2] = -aV[0];
aV[3] = -aV[1];
aW = new Uint8Array(aZ * aa)
}
function ab(g) {
aM = g;
aX = !1;
ac();
ad();
for (g = ae.af(aM) - 1; 0 <= g; g--)
0 === ae.ag(aM, g) && (aL = g,
ah());
aX && ai()
}
function ai() {
aj();
ak()
}
function ah() {
aP = ae.al(aM, aL);
aN = ae.am(aM, aL);
an();
0 === aQ ? ao() : (ap(),
aq() ? ar() : ao())
}
function aq() {
aO = as(aN, aQ);
return aO > at
}
function ap() {
var g;
for (g = aQ - 1; 0 <= g; g--)
aW[as(aS[g], 4)] = 0
}
function ao() {
1 === ae.af(aM) && au.av(aM);
if (aM !== aw)
ax[aM] += aN,
ay.az(aM);
else {
var g = ax[aM];
ax[aM] += aN;
ay.az(aM);
b0.b1[13] -= ax[aM] - g
}
ae.b2(aM, aL)
}
function ac() {
var g = b4[aM].length;
g = g > aR ? aR : g;
aT = 0;
for (--g; 0 <= g; g--)
aU[aT++] = b4[aM][g]
}
function ad() {
var g;
for (g = b4[aM].length - 1; 0 <= g; g--)
b5.b6(b4[aM][g]) && b5.b7(b4[aM][g], aM);
b4[aM] = []
}
function an() {
aQ = 0;
aP === b8 ? b9() : bA()
}
function bA() {
var g, k;
for (g = 3; 0 <= g; g--)
for (k = aT - 1; 0 <= k; k--) {
var x = aU[k] + aV[g];
var l = as(x, 4);
0 === aW[l] && b5.bE(x) && b5.bF(x) === aP && (aW[l] = 1,
aS[aQ++] = x)
}
}
function b9() {
var g, k;
for (g = 3; 0 <= g; g--)
for (k = aT - 1; 0 <= k; k--) {
var x = aU[k] + aV[g];
var l = as(x, 4);
0 === aW[l] && b5.bG(x) && (aW[l] = 1,
aS[aQ++] = x)
}
}
function ar() {
bH() ? (bI(),
aP !== b8 && bJ()) : ao()
}
function bJ() {
bK();
bL(bM[aP]);
bL(bN[aP]);
bO(b4[aP]);
bP(bN[aP]);
bP(bQ[aP]);
bR();
bS()
}
function bI() {
aX = !0;
ae.bT(aM, aL, aN);
bU[aM] += aQ;
bV();
bW()
}
function bH() {
return aP === b8 ? bX() : bY()
}
function bY() {
var g = aQ * at
, k = bb()
, x = bd();
k = g + 2 * k + x;
var l = aO * aQ;
if (l > k)
return aN -= k,
bg(k - g, x),
!0;
aN -= l;
bg(l - g, x);
return !1
}
function bg(g, k) {
if (0 < k)
if (g >= k)
ae.bh(aP, aM, 0),
g -= k;
else {
ae.bh(aP, aM, k - g);
return
}
g = as(g, 2);
ax[aP] = ax[aP] >= g ? ax[aP] - g : 0
}
function bd() {
return ae.bi(aP, aM)
}
function bb() {
return as(aQ * ax[aP], 1 + bj() * bk())
}
function bj() {
return Math.floor(2 + bl(as(bU[aP], 100), 8))
}
function bk() {
return bM[aP].length + as(bN[aP].length + bQ[aP].length, 50)
}
function bX() {
aN -= aQ * at;
return !0
}
function bW() {
for (var g = aQ - 1; 0 <= g; g--)
b4[aM].push(aS[g]),
bM[aM].push(aS[g]),
b5.b7(aS[g], aM)
}
function bm() {
var g = 1
, k = [null, null];
this.bp = function () {
g = .72 * (q ? .0011 : .001) * bq;
for (var x = 1; 0 <= x; x--)
k[x] && this.br(x, k[x].l)
}
;
this.br = function (x, l) {
k[x] = {
l: l,
font: bt + 10 + bu
};
this.bv(x)
}
;
this.bv = function (x) {
if (bw.bx() && k[x]) {
var l = k[x].l
, t = Math.floor(.15 * g * bw.bz(13).height)
, n = bt + t + bu
, z = c2.measureText(l, n)
, y = .8 * g * bw.bz(13).width;
z > y && (t = Math.floor(t * y / z),
n = bt + t + bu);
k[x] = {
l: l,
font: n
};
c4.c5 = !0
}
}
;
this.c6 = function () {
return Math.floor(g * bw.bz(13).height)
}
;
this.c7 = function (x, l) {
return !bw.bx() || x < cA || l < cB - cC.c1 - g * bw.bz(13).height - 2 * cA || l > cB - cC.c1 - 2 * cA ? !1 : x < cA + g * bw.bz(13).width ? (cD.cE(0),
!0) : x < 2 * cA + g * bw.bz(13).width ? !1 : x < 2 * cA + 2 * g * bw.bz(13).width ? (cD.cE(1),
!0) : !1
}
;
this.cF = function () {
return Math.floor(cB - cC.c1 - g * bw.bz(13).height - 2 * cA)
}
;
this.cG = function () {
if (bw.bx()) {
cH.imageSmoothingEnabled = !0;
cH.setTransform(g, 0, 0, g, cA, this.cF());
cH.drawImage(bw.bz(14), 0, 0);
cH.setTransform(g, 0, 0, g, 2 * cA + g * bw.bz(13).width, this.cF());
cH.drawImage(bw.bz(13), 0, 0);
for (var x = 1; 0 <= x; x--)
k[x] && (cH.setTransform(1, 0, 0, 1, (1 + x) * cA + x * g * bw.bz(13).width, this.cF()),
cH.font = k[x].font,
cH.textBaseline = cI,
cH.textAlign = cJ,
cH.fillStyle = cK,
cH.fillText(k[x].l, .5 * g * bw.bz(13).width, .86 * g * bw.bz(13).height));
cH.setTransform(1, 0, 0, 1, 0, 0)
}
}
}
function cL(g, k, x, l) {
var t = as(3 * ax[g], 256);
l -= l >= as(ax[g], 2) ? t : 0;
cP(x, g);
ae.cQ(g, l, k);
ax[g] -= l + t;
au.cR(g, !1)
}
function cS(g, k) {
var x, l;
for (x = bM[g].length - 1; 0 <= x; x--)
if (b5.cU(bM[g][x]))
for (l = 3; 0 <= l; l--)
if (b5.bE(bM[g][x] + aV[l]) && b5.bF(bM[g][x] + aV[l]) === k) {
b4[g].push(bM[g][x]);
break
}
}
function cP(g, k) {
for (var x = b4[k].length - 1; x >= g; x--)
b5.cW(b4[k][x], k)
}
function cX(g) {
for (var k, x = bM[g].length - 1; 0 <= x; x--)
if (b5.cU(bM[g][x]))
for (k = 3; 0 <= k; k--)
if (b5.bG(bM[g][x] + aV[k])) {
b4[g].push(bM[g][x]);
break
}
}
function cY(g, k) {
var x, l;
var t = bM[g].length;
var n = 256 <= t ? 12 : 32 <= t ? 6 : 1;
t = t - 1 - ce.cf(n);
cg = 0;
a: for (; 0 <= t; t -= n)
for (l = 3; 0 <= l; l--) {
var z = b5.bG(bM[g][t] + aV[l]) ? b8 : b5.bF(bM[g][t] + aV[l]);
if (z === b8 || b5.bE(bM[g][t] + aV[l]) && z !== g && (k || ch(g, z))) {
for (x = cg - 1; 0 <= x; x--)
if (ci[x] === z)
continue a;
ci[cg] = z;
if (++cg >= cj)
return !0
}
}
return 0 < cg
}
function ck(g, k) {
var x, l;
cg = 0;
for (x = bM[g].length - 1; 0 <= x; x--)
for (l = 3; 0 <= l; l--) {
var t = b5.bG(bM[g][x] + aV[l]) ? b8 : b5.bF(bM[g][x] + aV[l]);
if (t === b8 || b5.bE(bM[g][x] + aV[l]) && t !== g && (k || ch(g, t))) {
ci[cg++] = t;
return
}
}
}
function cl() {
var g;
for (g = cg - 1; 0 <= g; g--)
if (ci[g] === b8) {
for (cg--; g < cg; g++)
ci[g] = ci[g + 1];
return !0
}
return !1
}
function cn(g) {
var k, x;
for (k = cg - 1; 0 <= k; k--)
if (ae.co(g, ci[k]))
for (cg--,
x = k; x < cg; x++)
ci[x] = ci[x + 1];
return 0 === cg
}
function cp() {
var g;
for (g = cg - 1; 0 <= g; g--)
if (ci[g] >= cq)
return !0;
return !1
}
function cr() {
var g, k;
for (g = cg - 1; 0 <= g; g--)
if (ci[g] < cq)
for (cg--,
k = g; k < cg; k++)
ci[k] = ci[k + 1];
return 0 < cg
}
function cs(g) {
var k, x = ci[0], l = ax[x] + ae.bi(x, g);
for (k = cg - 1; 1 <= k; k--) {
var t = ax[ci[k]] + ae.bi(ci[k], g);
t < l && (x = ci[k],
l = t)
}
return x
}
function cv(g) {
var k = ci[0];
if (1 === cg)
return k;
var x = as(cz[g] + d0[g], 2)
, l = as(d2[g] + d3[g], 2)
, t = d5(x - as(cz[k] + d0[k], 2)) + d5(l - as(d2[k] + d3[k], 2));
for (g = cg - 1; 1 <= g; g--) {
var n = d5(x - as(cz[ci[g]] + d0[ci[g]], 2)) + d5(l - as(d2[ci[g]] + d3[ci[g]], 2));
n < t && (t = n,
k = ci[g])
}
return k
}
function d6() {
return ci[ce.cf(cg)]
}
var cj, cg, ci, d7;
function d8() {
cj = 8;
cg = 0;
ci = new Uint16Array(cj)
}
function d9() {
d7 = dA ? new Uint8Array(b8) : null
}
function dB(g, k) {
dA && (d7[g] = 0);
if (ae.dD(g) && !(60 > k))
if (0 === bM[g].length)
dE.dF(g, dG.cN[g - cq]) || (dG.dH(g - cq, 200),
dI(g, k, dG.cN[g - cq], ay.dJ(g)));
else if (!(0 < bN[g].length && ce.random() < ce.value(bN[g].length > bM[g].length ? 7 : 3) && dE.dF(g, dG.cN[g - cq]))) {
var x = ay.dJ(g);
ax[g] > x && k < ax[g] - x && (k = ax[g] - x);
dA ? dK(g, k, dG.cN[g - cq], x) : dL(g, k, dG.cN[g - cq])
}
}
function dK(g, k, x, l) {
cY(g, !1) || ck(g, !1) ? (d7[g] = 1,
cn(g) || (cl() ? (dN(g, k),
dO(g, b8, x)) : (ce.dP(dG.dQ[x]) ? l = cs(g) : (cp() && ce.dP(dG.dS[x]) && cr(),
l = cv(g)),
dR(g, k, l),
dO(g, l, x)))) : 0 < bN[g].length && ce.random() < ce.value(60) && dE.dF(g, x) || (dG.dH(g - cq, 200),
dI(g, k, x, l))
}
function dT(g, k) {
cY(g, !1) || ck(g, !1) ? (d7[g] = 1,
cl() ? dN(g, k) : dR(g, k, d6())) : dI(g, k, 0, 0)
}
function dO(g, k, x) {
3 <= x && 2142 < c4.dU() && (k === b8 || ax[k] < as(ax[g], 20)) && dG.dH(g - cq, 25)
}
function dI(g, k, x, l) {
if (0 !== dW.dX[g] && !(5 === x && ax[g] < l || 4 === x && ax[g] < as(l, 2)))
for (x = ce.cf(dY),
l = 0; l < dY; l++) {
var t = dZ[(l + x) % dY];
if (dW.dX[t] === dW.dX[g] && 1 === d7[t]) {
da(g, t, k);
t < cq && ce.random() < ce.value(10) && (d7[t] = 0);
break
}
}
}
function dL(g, k, x) {
!cY(g, !0) && !ck(g, !0) || cn(g) || (cl() ? dN(g, k) : ce.dP(dG.dQ[x]) ? dR(g, k, cs(g)) : (cp() && ce.dP(dG.dS[x]) && cr(),
dR(g, k, cv(g))))
}
function db(g, k) {
if (cY(g, !0) || ck(g, !0))
cl() ? dN(g, k) : dR(g, k, d6())
}
function dR(g, k, x) {
if (as(ax[g], 8) > ax[x]) {
var l = as(11 * ax[x], 5);
k = k > l ? k : l
}
l = b4[g].length;
cS(g, x);
cL(g, x, l, k)
}
function dN(g, k) {
var x = b8
, l = b4[g].length;
cX(g);
return b4[g].length !== l ? (cL(g, x, l, k),
!0) : !1
}
var dd = [60, 74, 112, 200, 256, 512];
function de() {
var g, k, x, l, t, n;
this.dl = "Very Easy;Easy;Normal;Hard;Harder;Very Hard".split(";");
this.dm = [97, 95, 93, 90, 87, 84];
this.dS = [98, 95, 90, 40, 20, 0];
this.dn = [85, 70, 65, 30, 7, 3];
this.dQ = [0, 0, 0, 0, 50, 90];
this.bp = function () {
var z;
g = new Uint8Array(dq);
k = new Uint16Array(dq);
x = new Uint16Array(dq);
l = new Uint8Array(dq);
this.cN = new Uint8Array(dq);
t = new Uint16Array(dq);
n = new Uint16Array(dq);
if (9 === dr)
this.ds();
else if (dt)
if (dA)
for (z = dq - 1; 0 <= z; z--)
this.cN[z] = du.dv[dW.dX[z + cq] - 1].bD;
else
for (z = dq - 1; 0 <= z; z--)
this.cN[z] = du.dv[0].bD;
else {
var y = 8 === dr ? 1 : 0;
for (z = dq - 1; 0 <= z; z--)
this.cN[z] = y
}
for (z = dq - 1; 0 <= z; z--)
2 >= this.cN[z] ? (l[z] = 5,
t[z] = n[z] = 1040,
0 === this.cN[z] ? (k[z] = 1E3,
x[z] = 1E3) : 1 === this.cN[z] ? (k[z] = 1E3,
x[z] = 920,
t[z] = n[z] = 1100) : (k[z] = 1E3,
x[z] = 870)) : 4 >= this.cN[z] ? (l[z] = 1 + ce.cf(20),
n[z] = 250 + ce.cf(1501),
t[z] = 500 + ce.cf(501),
3 === this.cN[z] ? (k[z] = 600 + ce.cf(101),
x[z] = 300 + ce.cf(401)) : (k[z] = 300 + ce.cf(201),
x[z] = 100 + ce.cf(201))) : (t[z] = 1E3,
n[z] = 1E3,
l[z] = 35 + ce.cf(16),
k[z] = 400 + ce.cf(101),
x[z] = 50 + ce.cf(101)),
g[z] = 1 + as(t[z] * ce.random(), 10 * ce.value(100))
}
;
this.ds = function () {
var z, y;
var A = dy.dz;
for (z = A - 1; 0 <= z; z--)
this.cN[z] = 5;
for (y = 0; 6 > y; y++)
if (0 < dy.e0[y]) {
for (z = A + dy.e0[y] - 1; z >= A; z--)
this.cN[z] = y;
A += dy.e0[y]
}
}
;
this.dH = function (z, y) {
0 <= z && (g[z] = y)
}
;
this.dF = function (z) {
if (0 === --g[z]) {
t[z] !== n[z] && (t[z] += t[z] < n[z] ? 3 : -3);
k[z] !== x[z] && (k[z] += k[z] < x[z] ? l[z] : -l[z],
k[z] = Math.abs(k[z] - x[z]) <= l[z] ? x[z] : k[z]);
g[z] = as(t[z], 10);
var y = z + cq;
dB(y, as(k[z] * ax[y], 1E3))
}
}
}
function e4() {
e5.dF();
e6.dF();
e7.e8();
e9.dF()
}
function eA() {
ay.dF();
eB.dF();
eC.dF();
eD.dF();
eE.dF();
eF.dF();
au.dF();
eG.dF();
eH();
eI.dF();
dy.dF();
e6.dF();
e7.dF();
eJ.dF();
eK.dF();
eL.dF();
e5.dF();
eM.dF();
eN.dF();
eO.dF();
b0.dF();
eP.dF();
e9.dF()
}
function eQ() {
eR.dF();
eS.dF();
c2.dF();
eT.dF();
eU.eV()
}
function eW() {
eI.eX(!1);
eL.eX();
e7.eX(!1);
eK.eX();
eN.eX();
eO.eX();
e6.eX();
eP.bv()
}
function eY() {
e6.eX() && (c4.c5 = !0);
e9.dF()
}
function eZ() {
function g(A) {
var B;
for (B = l - 1; 0 <= B; B--)
0 === n[t[B]] && bU[t[B]] >= A && ab(t[B])
}
function k(A) {
n[A] = 10 === n[A] ? x : 1E3 > bU[A] ? 3 : 1E4 > bU[A] ? 2 : 6E4 > bU[A] ? 1 : 0
}
var x, l, t, n, z, y;
this.bp = function () {
z = y = 0;
x = 6;
l = 0;
t = new Uint16Array(b8);
n = new Uint8Array(b8)
}
;
this.dF = function () {
var A;
z = b0.b1[13];
y = ax[aw];
for (A = l - 1; 0 <= A; A--)
10 === n[t[A]] ? k(t[A]) : 0 === n[t[A]]-- && (k(t[A]),
ab(t[A]));
16E4 <= bU[ei[0]] && (g(16E4),
3E5 <= bU[ei[0]] && g(3E5));
bU[aw] > b0.b1[7] && (b0.b1[7] = bU[aw]);
b0.b1[14] += y - ax[aw] + z - b0.b1[13]
}
;
this.av = function (A) {
var B;
for (B = l - 1; 0 <= B; B--)
if (A === t[B]) {
l--;
for (A = B; A < l; A++)
t[A] = t[A + 1];
break
}
}
;
this.cR = function (A, B) {
var C;
for (C = l - 1; 0 <= C; C--)
if (A === t[C])
return;
t[l++] = A;
n[A] = B ? 2 : 10
}
}
function en() {
function g() {
l = 3;
a: {
for (var y = 40; 1 <= y; y--) {
t = d0[z] + as(ce.random() * (cz[z] - d0[z] + 1), ce.value(100));
n = d3[z] + as(ce.random() * (d2[z] - d3[z] + 1), ce.value(100));
var A = k(b5.ex(t, n));
if (1 !== A)
break a
}
A = 1
}
if (0 === A)
return !1;
if (2 === A)
return !0;
A = x(1, 1);
return 0 === A ? !1 : 2 === A ? !0 : 2 === x(54, 4)
}
function k(y) {
if (b5.b6(y) && (b5.bG(y) || b5.bF(y) !== z && ch(z, b5.bF(y)))) {
if (ev.co(z, y))
return 2;
if (0 === l--)
return 0
}
return 1
}
function x(y, A) {
for (var B, C, F, E, H, J, K, D = y; D < y + 50 * A; D += A)
if (B = d0[z] - D,
B = 1 > B ? 1 : B,
C = d3[z] - D,
C = 1 > C ? 1 : C,
F = cz[z] + D,
F = F >= aZ - 1 ? aZ - 2 : F,
E = d2[z] + D,
E = E >= aa - 1 ? aa - 2 : E,
K = as(2 * ce.random() * (F - B + E - C), ce.value(100)),
H = F - B,
J = E - C,
K <= H ? (t = B + K,
n = C) : K <= H + J ? (t = F,
n = C + K - H) : K <= 2 * H + J ? (t = B + K - H - J,
n = E) : (t = B,
n = C + K - 2 * H - J),
B = k(b5.ex(t, n)),
1 !== B)
return B;
return 1
}
var l, t, n, z;
this.dF = function (y, A) {
z = y;
if (0 === bN[z].length)
return !1;
if (g()) {
var B = as(dG.dn[A] * ax[z], 100);
100 > B && 100 <= ax[z] && (B = 100);
if (100 <= B)
return eu(z, ev.ew(), b5.ex(t, n), B)
}
return !1
}
}
function f8() {
var g, k;
this.bp = function () {
g = dq;
k = new Uint16Array(dq);
for (var x = dq - 1; 0 <= x; x--)
k[x] = x
}
;
this.dF = function () {
for (var x = g - 1; 0 <= x; x--)
if (0 === fB[k[x] + cq]) {
var l = x;
for (g--; l < g; l++)
k[l] = k[l + 1]
} else
dG.dF(k[x])
}
}
function fD() {
function g(y, A, B, C, F, E) {
0 < B && 1E3 >= B && (k.push(y),
x.push(A),
l.push(B),
t.push(C),
n.push(F),
z.push(E))
}
var k, x, l, t, n, z;
this.bp = function () {
k = [];
x = [];
l = [];
t = [];
n = [];
z = []
}
;
this.dF = function () {
var y, A = k.length;
for (y = 0; y < A; y++)
if (0 === x[y])
fH(k[y], t[y], l[y]);
else if (1 === x[y])
this.fI(k[y], l[y], n[y], z[y]);
else if (2 === x[y])
this.fJ(k[y], t[y]);
else if (6 === x[y]) {
var B = k[y];
0 !== fB[B] && 2 !== fP[k] && eO.fT(B, 1 === t[y])
} else
7 === x[y] && this.fL(k[y], t[y]);
0 < A && this.bp()
}
;
this.fI = function (y, A, B, C) {
0 !== fB[y] && 2 !== fP[k] && ev.co(y, b5.ex(B, C)) && eu(y, ev.ew(), b5.ex(B, C), as(A * ax[y], 1E3)) && y === aw && (b0.b1[0] += A,
b0.b1[1]++,
b0.b1[2]++)
}
;
this.fJ = function (y, A) {
if (0 !== fB[y] && 2 !== fP[k] && ae.co(y, A)) {
var B = ae.bi(y, A);
ae.bh(y, A, 0);
if (y !== aw)
ax[y] += B,
ay.az(y);
else {
var C = ax[y];
ax[y] += B;
ay.az(y);
b0.b1[13] -= ax[y] - C
}
}
}
;
this.fL = function (y, A) {
if (0 !== fB[y] && 2 !== fP[k]) {
var B = ae.fR(y, A);
if (-1 !== B) {
var C = ae.am(y, B);
ae.bT(y, B, 0);
ax[y] += C;
ay.az(y)
}
}
}
;
this.fU = function (y, A, B) {
1 === fV && g(y, 0, A, B, 0, 0)
}
;
this.fX = function (y, A, B, C) {
1 === fV && (fY ? fZ.cQ(y, B, C) : g(y, 1, A, 0, B, C))
}
;
this.fa = function (y, A) {
1 === fV && g(y, 2, 1, A, 0, 0)
}
;
this.fb = function (y, A) {
1 === fV && g(y, 7, 1, A, 0, 0)
}
;
this.fc = function (y, A) {
1 === fV && g(y, 6, 1, A, 0, 0)
}
;
this.fd = function (y) {
1 === fV && 0 !== fB[y] && 2 !== fP[y] && (8 === dr ? fe.ff(1 - y) : this.fg(y));
e5.fh(y, 4)
}
;
this.fg = function (y) {
fY ? (fi(y),
fj()) : eE.fk(y)
}
;
this.fl = function (y) {
0 !== fB[y] && 2 !== fP[y] && fm.fn(y) && (1 === dY ? fe.ff(y) : (e5.fh(y, y === aw ? 21 : 22),
8 === dr ? fe.ff(1 - y) : dt ? (fi(y),
fj(),
fY && fZ.dF()) : this.fg(y)))
}
}
function fq() {
function g(B) {
for (l--; B < l; B++)
t[B] = t[B + 1],
n[B] = n[B + 1],
z[B] = z[B + 1],
y[B] = y[B + 1],
A[B] = A[B + 1]
}
var k, x, l, t, n, z, y, A;
this.bp = function () {
k = 1;
l = 0;
x = 2 * b8;
t = new Uint16Array(x);
n = new Uint8Array(x);
z = new Uint16Array(x);
y = new Uint32Array(x);
A = new Uint32Array(x)
}
;
this.fw = function (B, C) {
y[B] = C
}
;
this.dF = function () {
for (var B = l - 1; 0 <= B; B--)
0 === n[B]-- && (n[B] = 2,
fx.dF(B, z[B], t[B], y[B], A[B]))
}
;
this.av = function (B, C) {
var F;
for (F = l - 1; 0 <= F; F--)
if (B === t[F] && C === z[F]) {
g(F);
break
}
}
;
this.fz = function (B) {
var C;
for (C = l - 1; 0 <= C; C--)
B === t[C] && (fx.g0(B, y[C]),
g(C))
}
;
this.cR = function (B, C, F) {
if (l >= x)
return 0;
t[l] = B;
n[l] = 0;
z[l] = k;
y[l] = C;
A[l] = F;
B = k;
k++;
l++;
k = k > 2 * x ? 1 : k;
return B
}
;
this.cG = function () {
if (!(40 > g3 || 0 === l)) {
var B, C = g8 / g3, F = g9 / g3, E = (gA + g8) / g3, H = (cB + g9) / g3;
cH.textAlign = cJ;
cH.textBaseline = cI;
for (B = l - 1; 0 <= B; B--) {
var J = b5.gB(y[B]);
var K = b5.cF(y[B]);
var D = t[B];
if (J > C - 1 && J < E && K > F - 1 && K < H && 0 !== fB[D]) {
var L = Math.floor(.94 * g3 * e6.gC(D));
if (!(6 > L)) {
J = Math.floor(gA * (J + .5 - C) / (E - C));
K = Math.floor(cB * (K + .48 - F) / (H - F));
cH.font = bt + L + bu;
cH.fillStyle = gD;
cH.fillText(gE[D], J, K);
var I = Math.floor(.57 * L);
6 > I || (D = ae.am(D, ae.fR(D, z[B])),
cH.font = bt + I + bu,
cH.fillText(eL.gF(D), J, K + Math.floor(.82 * L)))
}
}
}
}
}
}
function gG() {
function g(I) {
J = c4.gY;
K = 33;
n = z = t = 0;
y = K / I;
l = 1 / (I / K / 4);
A = (gA / 2 + g8) / g3;
B = (cB / 2 + g9) / g3;
C = g3
}
function k(I) {
.125 > Math.abs(Math.log(H / C)) && (H = I * C)
}
function x(I, N, G, M) {
F = (I + G + 1) / 2;
E = (N + M + 1) / 2;
I = gA / (G - I + 1);
N = cB / (M - N + 1);
H = .9 * (I < N ? I : N)
}
var l, t, n, z, y, A, B, C, F, E, H, J, K, D = !1, L = !1;
this.gZ = function () {
return D
}
;
this.ga = function () {
g(1);
this.gb(0, 0, aZ - 1, aa - 1);
fY || this.gc(aw, 3E3, !0, .3)
}
;
this.gc = function (I, N, G, M) {
if (!(ge || D && !G && L || 0 === bU[I])) {
gf.gg = !1;
L = G;
g(N);
F = (d0[I] + cz[I] + 1) / 2;
E = (d3[I] + d2[I] + 1) / 2;
N = cz[I] - d0[I] + 1;
I = d2[I] - d3[I] + 1;
G = gA / N;
var Q = cB / I;
H = G < Q ? G : Q;
H *= 0 !== M ? M : 20 > N && 20 > I ? .5 : .9;
k(.875);
D = !0;
gj.gk()
}
}
;
this.gl = function (I) {
gf.gg = !1;
L = !0;
g(I);
x(0, 0, aZ - 1, aa - 1);
k(.875);
D = !0;
gj.gk()
}
;
this.gb = function (I, N, G, M) {
x(I, N, G, M);
g3 = H;
gf.gs(F, gA / 2);
gf.gt(E, cB / 2);
gu.gv()
}
;
this.gw = function () {
if (D && L)
return !1;
D = !1;
return !0
}
;
this.dF = function () {
if (D) {
.5 > t ? z < y && (z += y * l,
n = t) : t > 1 - n && (z -= y * l,
z = z < y * l ? y * l : z);
J = J >= c4.gY ? c4.gY - 1 : J;
var I = c4.gY - J;
1E3 < I ? t = 1 : (t += z * I / K,
t = 1 < t ? 1 : t);
J = c4.gY;
var N = g3;
I = g8;
var G = g9;
g3 = C * Math.pow(H / C, t);
N = g3 / N;
var M = 1 - (C * Math.pow(H / C, 1 - t) - C) / (H - C);
gf.gs(A + M * (F - A), gA / 2);
gf.gt(B + M * (E - B), cB / 2);
e6.zoom(N, (I * N - g8) / (1 - N), (G * N - g9) / (1 - N));
gu.gv();
1 <= t && (D = !1,
h4.h5 = !0);
c4.c5 = !0
}
}
}
function h6() {
function g() {
var J;
a: {
for (J = 0; 8 > J; J++)
if (t = as(z * ce.random(), ce.value(100)),
n = as(y * ce.random(), ce.value(100)),
k()) {
J = !0;
break a
}
J = !1
}
if (!J)
a: {
var K, D, L, I;
J = as(z * ce.random(), ce.value(100));
var N = as(y * ce.random(), ce.value(100));
for (K = 40; 1 <= K; K--)
for (D = y - K; 0 <= D; D -= 40)
for (n = (D + N) % y,
L = 40; 1 <= L; L--)
for (I = z - L; 0 <= I; I -= 40)
if (t = (I + J) % z,
k()) {
J = !0;
break a
}
J = !1
}
return J
}
function k() {
var J, K;
var D = as(A - F, 2);
var L = C + n * A + D
, I = B + t * A + D;
for (J = L + F - 1; J >= L; J--)
for (K = I + F - 1; K >= I; K--)
if (D = b5.ex(K, J),
!b5.b6(D) || b5.cU(D))
return !1;
return !0
}
function x() {
fB[E] = 0;
ax[E] = 0;
bU[E] = hR[E] = 0;
b4[E] = [];
bM[E] = [];
bN[E] = [];
bQ[E] = [];
d0[E] = d3[E] = cz[E] = d2[E] = 0
}
function l(J, K) {
fB[E] = 1;
ax[E] = E < cq ? hS : dd[dG.cN[E - cq]];
d0[E] = J + 10;
d3[E] = K + 10;
d2[E] = cz[E] = 0;
var D, L;
for (D = J; D < J + 4; D++)
for (L = K; L < K + 4; L++)
if (D > J && D < J + 3 || L > K && L < K + 3) {
var I = b5.ex(D, L);
b5.b6(I) && (d0[E] = D < d0[E] ? D : d0[E],
cz[E] = D > cz[E] ? D : cz[E],
d3[E] = L < d3[E] ? L : d3[E],
d2[E] = L > d2[E] ? L : d2[E],
H[bU[E]] = I,
bU[E]++,
b5.hV(I, E))
}
hR[E] = bU[E];
for (I = bU[E] - 1; 0 <= I; I--)
b5.hW(H[I], E) ? (b5.b7(H[I], E),
bM[E].push(H[I])) : b5.hX(H[I]) ? (b5.b7(H[I], E),
bN[E].push(H[I])) : b5.hY(H[I]) && (b5.b7(H[I], E),
bQ[E].push(H[I]))
}
var t, n, z, y, A, B, C, F, E, H;
this.bp = function () {
var J;
H = Array(12);
F = 6;
A = 10;
z = as(aZ, A);
y = as(aa, A);
B = as(aZ - A * z, 2);
C = as(aa - A * y, 2);
if (fY)
for (J = 0; J < cq; J++)
E = J,
x(),
fB[E] = 1;
for (E = 0; E < b8; E++)
if (1 !== fB[E])
if (E < hG && g()) {
var K = B + t * A + as(A, 2);
J = C + n * A + as(A, 2);
x();
l(K - 2, J - 2)
} else
x();
b0.b1[7] = bU[aw];
b0.b1[8] = ax[aw]
}
;
this.hZ = function (J, K, D) {
var L, I;
E = J;
for (L = 0; 20 > L; L++)
for (J = K + L; J >= K - L; J--)
for (I = D + L; I >= D - L; I--)
if ((J === K + L || J === K - L || I === D + L || I === D - L) && 3 < J && J < aZ - 5 && 3 < I && I < aa - 5) {
var N;
if (N = b5.b6(b5.ex(J, I)))
a: {
var G, M = J + 3, Q = I + 3;
for (N = Q; N > Q - 6; N--)
for (G = M; G > M - 6; G--) {
var R = b5.ex(G, N);
if (b5.cU(R)) {
N = !1;
break a
}
}
N = !0
}
if (N) {
if (0 < bU[E]) {
for (D = cz[E]; D >= d0[E]; D--)
for (K = d2[E]; K >= d3[E]; K--)
L = 4 * (K * aZ + D),
b5.he(E, L) && (b5.hf(L),
bU[E]--);
x()
}
l(J - 1, I - 1);
return !0
}
}
return !1
}
;
this.hg = function (J) {
E = J;
if (g()) {
J = B + t * A + as(A, 2);
var K = C + n * A + as(A, 2);
x();
l(J - 2, K - 2)
} else
x()
}
}
function hh() {
hi.hj();
cH.setTransform(g3, 0, 0, g3, 0, 0);
cH.imageSmoothingEnabled = 3 > g3;
cH.drawImage(hk, gf.gB(), gf.cF());
eJ.cG();
cH.drawImage(hl, gf.gB(), gf.cF());
cH.imageSmoothingEnabled = !1;
hi.cG();
cH.setTransform(1, 0, 0, 1, 0, 0);
e6.cG();
eG.cG();
ge || (cH.imageSmoothingEnabled = !1,
e5.cG(),
eI.cG(),
eN.cG(),
eO.cG(),
e7.cG(),
gf.cG(),
c2.cG(),
eP.cG(),
eK.cG(),
eL.cG(),
fm.cG(),
eS.cG(),
hm.cG(),
hn.cG(),
eT.cG())
}
function ho(g, k, x) {
g.clearRect(0, 0, k, x);
g.fillStyle = hq;
g.fillRect(0, 0, k, x)
}
function hr(g, k, x, l) {
g.fillStyle = cK;
g.fillRect(0, 0, k, l);
g.fillRect(0, 0, l, x);
g.fillRect(k - l, 0, l, x);
g.fillRect(0, x - l, k, l)
}
function ht(g, k, x, l, t, n, z) {
g.fillStyle = cK;
n = Math.floor(l * n);
n += (n - t) % 2;
var y = Math.floor((n - t) / 2);
l = Math.floor((l - n) / 2);
g.fillRect(k + l, x + l + y, n, t);
z && g.fillRect(k + l + y, x + l, t, n)
}
function hz() {
this.i0 = null;
this.bp = function (g) {
this.i0 = g;
e5.i1(this.i0)
}
;
this.i2 = function (g) {
var k = 8 / (1 + Math.pow(2, (this.i0[g].i4 - this.i0[1 - g].i4) / 10 / 32));
k = Math.floor(10 * k + .5);
var x = this.i7(this.i0[g].i4 + k);
k = this.i7(this.i0[1 - g].i4 - k);
0 === g ? e5.i9(this.i0, x, k, ["rgba(10,140,10,0.75)", "rgba(140,10,10,0.75)"]) : e5.i9(this.i0, k, x, ["rgba(140,10,10,0.75)", "rgba(10,140,10,0.75)"])
}
;
this.i7 = function (g) {
g = 0 > g ? 0 : 16E3 < g ? 16E3 : g;
return 16E3 <= g ? "Unknown" : (g / 10).toFixed(1)
}
}
function iA() {
function g(t) {
for (var n = k.length - 1; 0 <= n; n--)
if (t >= k[n] && t < x[n])
return n;
return -1
}
var k, x, l;
(function () {
k = [32, 65, 191, 913, 931];
x = [64, 127, 688, 930, 1155];
l = Array(k.length + 1);
for (var t = 0; t < l.length; t++) {
l[t] = 0;
for (var n = t - 1; 0 <= n; n--)
l[t] += x[n] - k[n]
}
}
)();
this.iF = function (t) {
t = t.trim();
if (0 === t.indexOf("Bot ") || 0 === t.indexOf("[Bot] "))
t = !1;
else
a: {
t = t.trim();
var n = t.length;
if (3 > n || 20 < n)
t = !1;
else {
for (var z = 0, y, A = 0; A < n; A++)
if (y = t.charCodeAt(A),
z += 65 <= y && 90 >= y || 1040 <= y && 1071 >= y ? 1 : 0,
-1 === g(y)) {
t = !1;
break a
}
t = 3 < z && z > Math.floor(n / 2) ? !1 : !0
}
}
return t
}
;
this.iL = function (t) {
t = t.trim();
for (var n = t.length, z = [], y, A = 0; A < n; A++) {
y = t.charCodeAt(A);
var B = g(y);
z.push(l[B] + y - k[B])
}
return z
}
;
this.iM = function (t) {
for (var n = "", z = t.length, y, A = 0; A < z; A++)
for (y = 1; y < l.length; y++)
if (t[A] < l[y]) {
y = k[y - 1] + t[A] - l[y - 1];
n += String.fromCharCode(y);
break
}
return n
}
;
this.iN = function (t) {
t = this.iL(t);
for (var n = "", z = 0; z < t.length; z++)
n += 10 > t[z] ? "00" : 100 > t[z] ? "0" : "",
n += t[z].toString(10);
return n
}
;
this.iO = function (t) {
for (var n = Array(Math.floor(t.length / 3)), z = 0; z < t.length; z += 3)
n[Math.floor(z / 3)] = parseInt(t.substring(z, z + 3));
return this.iM(n)
}
;
this.z = function (t) {
var n, z = [t.length];
for (n = 0; n < t.length; n++)
z[n] = t.charCodeAt(n) - 48;
var y = "";
for (n = 0; n < t.length; n++)
if (n === t.length - 1 || 51 < 10 * z[n] + z[n + 1])
y += z[n].toString();
else {
var A = 10 * z[n] + z[n + 1];
y += String.fromCharCode(A + (26 > A ? 65 : 71));
n++
}
return y
}
;
this.n = function (t) {
for (var n = "", z, y = 0; y < t.length; y++)
z = t.charCodeAt(y),
48 <= z && 58 > z ? n += String.fromCharCode(z) : 65 <= z && 75 > z ? n += "0" + (z - 65).toString() : 75 <= z && 91 > z ? n += (z - 65).toString() : 97 <= z && 123 > z && (n += (z - 71).toString());
return n
}
;
this.iP = function (t) {
var n = t.length, z, y = [];
for (z = 0; z < n; z++) {
var A = t.charCodeAt(z);
58 > A ? y.push(t[z]) : (A = 91 > A ? A - 65 : A - 71,
y.push(String(as(A, 10))),
y.push(String(A - 10 * as(A, 10))))
}
n = y.length - 2;
A = 0;
t = [];
for (z = 0; z < n; z += 3)
t[A++] = parseInt(y[z] + y[z + 1] + y[z + 2]);
return t
}
;
this.iR = function () {
var t, n = "";
for (t = 0; 6 > t; t++) {
var z = 48 + ce.random() % 36;
z += 58 <= z ? 39 : 0;
n += String.fromCharCode(z)
}
return n
}
}
function iT() {
this.ff = function (g) {
if (2 === fV)
var k = !0;
else
eO.im(),
fV = 2,
io = ip,
k = !1;
if (!k) {
if (8 === dr) {
var x = g = 0 > g ? bU[0] >= bU[1] ? 0 : 1 : g;
(k = g === aw) ? e5.fh(g, 2) : e5.fh(1 - aw, 3);
ia.i2(g)
} else
// if the game is team game
2022-12-25 08:25:12 -08:00
dA ? (
g = eP.ib(), k = dW.dX[aw] === g,
9 === dr ? (x = (k ? ei[0] : 512))
: (g = dW.ic(dW.id[g]), x = g[0], 512 !== x && e5.ie(g[1])),
2022-12-25 08:25:12 -08:00
e5.ig(k)
) : (
x = ei[0], k = (x === aw), e5.ih(x)
);
2022-12-25 08:25:12 -08:00
dt || ii.ij(ik(), x);
eS.show(k, !1);
e5.iq(!0);
eI.eX(!0);
e7.eX(!0);
c4.c5 = !0;
h4.ir();
a9(0)
}
}
}
function is() {
this.cQ = function (g, k, x) {
0 !== fB[g] && it.hZ(g, k, x) && (c4.c5 = !0)
}
;
this.dF = function () {
fY = !1;
for (var g = 0; g < cq; g++)
0 !== fB[g] && 0 === bU[g] && it.hg(g);
0 !== fB[aw] ? (b0.b1[7] = bU[aw],
b0.b1[8] = ax[aw],
eN.cE(),
e7.iu(),
eR.gb(d0[aw] - 5, d3[aw] - 5, cz[aw] + 5, d2[aw] + 5),
eT.bp()) : eS.show(!1, !1);
e5.iv(18);
e6.iw();
e6.eX();
fZ = null;
h4.ix = !0;
h4.iy();
dt && a9(1)
}
}
var cq, ip, dq, io, b8 = 512, hG = 512, iz = 150, dt, j0, fV = 0, j1, j2, j3, hS = 512, at = 2, aw, ge, fY, j4, dA, j5, dr, j6, fZ, ia, j7;
function j8(g, k, x, l, t) {
j0 = ge = !1;
dr = l;
j6 = t;
dA = 7 > dr || 9 === dr;
ip = cq = x.length;
dt = 1 === ip;
dr = 10 === dr && dt ? 7 : dr;
dr = 8 === dr && 2 !== cq ? 7 : dr;
j5 = 9 === dr ? 2 : dr + 2;
j7 = 2 >= cq ? 30 : 50 >= cq ? 40 : 50;
fZ = (j4 = fY = jD.jE ? jD.jE.customSpawn : dA || 100 > cq) ? new is : null;
hS = 512;
hG = b8;
dt && (hG = du.jF());
dq = hG - cq;
io = 0;
aw = k;
ce.jG(jD.jE ? jD.jE.seedSpawn : g);
jH(x);
dy.bp();
dW.bp(x);
fV = 1;
j2 = 15E8;
j3 = 1E9;
b0.bp();
jI();
jJ.jK();
h4.bp();
ay.bp();
d9();
b5.bp(x);
hi.bp();
eP.bp();
dG.bp();
jL.jM();
jL.jN();
it.bp();
jO();
eJ.bp();
hn.bp();
jP.putImageData(jQ, 0, 0);
eI.bp();
gf.bp();
eN.bp();
eO.bp();
eK.bp();
e7.bp();
fm.bp();
c2.bp();
e5.bp();
eL.bp();
hm.bp();
eS.bp();
eC.bp();
eG.bp();
au.bp();
eF.bp();
aY();
ae.bp();
e6.bp();
eB.bp();
eE.bp();
eM.bp();
eD.bp();
8 === dr ? (ia = new hz,
ia.bp(x)) : ia = null;
jR();
eT.bp();
dt ? c4.jS() : c4.jT();
c4.c5 = !0;
dt && fY || a9(1)
}
function jR() {
eR.ga();
0 === fB[aw] && eS.show(!1, !0);
e6.eX()
}
function jU() {
e9.close(e9.jV, 3246);
fV = 0;
c4.jW();
jX.bp();
a9(0);
aB()
}
var dG, au, dE, eF, eC, eG, eR, it, m, hm, fm, e5, jY, eL, c2, eN, gf, jZ, eK, eI, e7, eS, ja, jb, aJ, jc, jd, je, du, jX, bw, b5, f, ae, ay, e6, jL, dy, jJ, jf, jg, gj, ev, ce, fx, hi, jh, ji, eT, ii, jj, eJ, jk, jl, eO, eU, e9, eD, jm, jn, eE, eB, eM, jo, jp, jD;
function jq() {
dG = new de;
au = new eZ;
dE = new en;
eF = new f8;
eC = new fD;
eG = new fq;
eR = new gG;
it = new h6;
m = new iA;
hm = new jr;
fm = new js;
e5 = new jt;
jY = new ju;
eL = new jv;
c2 = new jw;
eN = new jx;
gf = new jy;
jZ = new jz;
eK = new k0;
eI = new k1;
e7 = new k2;
eS = new k3;
ja = new k4;
jb = new k5;
aJ = new k6;
jc = new k7;
jc.jM();
jd = new k8;
je = new k9;
du = new kA;
jX = new kB;
bw = new kC;
b5 = new kD;
f = new kE;
ae = new kF;
ay = new kG;
e6 = new kH;
jL = new kI;
dy = new kJ;
jJ = new kK;
jf = new kL;
jg = new kM;
gj = new kN;
ev = new kO;
ce = new kP;
fx = new kQ;
hi = new kR;
jh = new kS;
ji = new kT;
eT = new kU;
ii = new kV;
jj = new kW;
eJ = new kX;
jk = new kY;
jl = new kZ;
eO = new ka;
eU = new kb;
e9 = new kc;
eD = new kd;
jm = new ke;
jn = new kf;
eE = new kg;
eB = new kh;
eM = new ki;
jo = new kj;
jp = new kk;
jD = new kl
}
function jr() {
function g(N, G, M, Q) {
for (var R, P = 0; P < N.length; P++) {
G.push(document.createElement("canvas"));
G[P].width = M;
G[P].height = M;
R = G[P].getContext("2d", {
alpha: !0
});
var U = M
, W = R;
W.fillStyle = Q;
W.beginPath();
W.arc(Math.floor(U / 2), Math.floor(U / 2), Math.floor(.47 * U), 0, 2 * Math.PI);
W.fill();
6 === N[P] ? R.drawImage(bw.bz(19), 0, 0) : 7 === N[P] ? R.drawImage(bw.l4("emojis"), -4 * M, 0) : R.drawImage(bw.bz(3), -N[P] * M, 0)
}
}
function k(N) {
for (var G = L.length - 1; 0 <= G; G--)
if (L[G] === N)
return !0;
return !1
}
function x(N) {
return -1 === N || 0 === N || 6 === N || !t[5] && (8 === N || !t[4] && 7 === N) || !t[7] && (2 === N || !t[6] && 1 === N) || 3 === N && !t[2] || 5 === N && !t[1] && !t[5] && !t[7] ? !1 : !0
}
function l(N, G) {
return N < z - A - J || N > z + 2 * A + J || G < y - A - J || G > y + 2 * A + J ? -1 : 3 * (G < y - J / 2 ? 0 : G < y + A + J / 2 ? 1 : 2) + (N < z - J / 2 ? 0 : N < z + A + J / 2 ? 1 : 2)
}
var t = [], n, z, y, A, B, C, F, E, H, J, K, D, L, I;
this.kv = [];
this.bp = function () {
L = [];
t = [];
n = !1;
B = C = z = y = F = 0;
this.kw();
for (var N = this.kx.length - 1; 0 <= N; N--)
t.push(!1);
t.push(!1)
}
;
this.kw = function () {
this.kx = [];
K = [];
this.ky = [];
var N = bw.bz(3).height;
A = Math.floor((q ? .075 : .0468) * bq);
D = A / N;
J = Math.floor(A / 3);
g([0, 1, 2, 3, 7, 4, 5, 6], this.kx, N, "rgba(0,180,0,0.6)");
g([0, 4, 5], K, N, "rgba(200,0,0,0.6)");
g([0, 2, 4], this.ky, N, "rgba(0,0,0,0.6)");
g([0, 5], this.kv, N, "rgba(200,200,0,0.6)");
this.kx[6] = this.kv[1]
}
;
this.l6 = function (N, G) {
if (this.l7()) {
var M = this.c7(N, G);
c4.c5 = 0 < M;
return 2 > M
}
return !1
}
;
this.l8 = function (N, G) {
this.l7() || (B = N,
C = G,
F = (new Date).getTime())
}
;
this.l9 = function (N) {
return N < cq && 2 !== fP[N]
}
;
this.c7 = function (N, G) {
C = B = -1E3;
if (2 === fP[aw] || 0 === fB[aw] && !fY)
return this.lA(),
1;
if (n) {
this.lA();
if (a5.lB(N, G))
a5.lC(N, G, E) && (n = !0);
else
return a5.lD(),
2;
return 1
}
var M = l(N, G);
if (!x(M) || 0 === M || 6 === M || !t[2] && 3 === M)
return this.lA(),
2;
if (1 === M) {
if (t[6]) {
M = (new Date).getTime();
M > I + 4E3 && (L = []);
I = M;
if (k(E))
return this.lA(),
1;
L.push(E);
16 < L.length && L.shift();
this.lA();
return 1
}
return 0
}
if (2 === M) {
if (t[7]) {
for (M = L.length - 1; 0 <= M; M--)
0 === fB[L[M]] && L.splice(M, 1);
0 < L.length && (eM.lJ(1, L, !0) && (e5.lK(L, E),
ii.lL(L, E)),
L = []);
this.lA();
return 1
}
return 0
}
if (3 === M) {
this.lA();
if (this.l9(E) && 7 > dr && 1071 > c4.dU())
return e5.lM(),
1;
e5.lN();
dt ? da(aw, E, as(eN.lO() * ax[aw], 1E3)) : ii.lP(eN.lO(), E === b8 ? aw : E);
return 1
}
if (4 === M)
return t[0] ? fY ? (this.lA(),
dt ? (fZ.cQ(0, b5.gB(H), b5.cF(H)),
fZ.dF()) : ii.lR(1E3, b5.gB(H), b5.cF(H))) : (this.lA(),
e5.lN(),
dt ? fH(aw, E, eN.lO()) : (!j4 || 300 < e7.lQ()) && ii.lP(eN.lO(), E === b8 ? aw : E)) : t[8] ? (this.lA(),
eD.lS(E, eN.lO())) : this.lA(),
1;
if (5 === M)
return t[1] ? (this.lA(),
e5.lN(),
dt ? eC.fI(aw, eN.lO(), b5.gB(H), b5.cF(H)) : ii.lR(eN.lO(), b5.gB(H), b5.cF(H)),
1) : 0;
if (7 === M && t[4])
return this.lA(),
n = a5.show(N, G),
1;
if (8 === M)
return t[5] ? (eM.lJ(0, [E], !0) && (e5.lT(E, 0),
ii.lU(E)),
this.lA(),
1) : 0;
this.lA();
return 2
}
;
this.click = function (N, G) {
if (this.l7() || 2 === fP[aw] || 0 === fB[aw] && !fY)
return !1;
var M = (q ? .0288 : .0144) * bq;
if (Math.abs(N - B) > M || Math.abs(G - C) > M || (new Date).getTime() > F + 425)
return !1;
M = Math.floor((N + g8) / g3);
var Q = Math.floor((G + g9) / g3);
if (1 > M || 1 > Q || M >= aZ - 1 || Q >= aa - 1)
return !1;
var R = Q * aZ * 4 + 4 * M;
if (!b5.b6(R))
return !1;
if (2 === fV)
return 1 <= a5.lY && (E = b5.bF(R),
this.l9(E)) ? (E === aw && this.lA(),
t[4] = !0,
this.lZ(N, G)) : !1;
H = b5.ex(M, Q);
if (fY)
return t[0] = !0,
this.lZ(N, G);
t[1] = ev.co(aw, H);
if (b5.bG(R))
return E = b8,
la(aw) ? t[0] = !0 : lb(aw, E) && (t[8] = !0),
this.lZ(N, G);
E = b5.bF(R);
if (E === aw) {
this.lA();
if (0 === a5.lY)
return !1;
t[4] = !0;
return this.lZ(N, G)
}
M = t;
Q = E;
Q = hm.l9(Q) && !k(Q) && eM.lJ(1, [Q], !1);
M[6] = Q;
t[4] = 1 <= a5.lY && this.l9(E);
if (ch(E, aw)) {
t[5] = this.l9(E) && !e6.ld(E) && eM.lJ(0, [E], !1);
M = t;
Q = E;
if (0 === L.length)
Q = !1;
else if ((new Date).getTime() > I + 4E3)
L = [],
Q = !1;
else {
if (R = !k(Q)) {
b: {
if (dA)
for (R = L.length - 1; 0 <= R; R--)
if (!ch(Q, L[R])) {
Q = !0;
break b
}
Q = !1
}
R = !Q
}
Q = R
}
M[7] = Q;
lf(aw, E) ? t[0] = !0 : lb(aw, E) && (t[8] = !0);
return this.lZ(N, G)
}
t[2] = dA;
return this.lZ(N, G)
}
;
this.lZ = function (N, G) {
z = N - Math.floor(A / 2);
y = G - Math.floor(A / 2);
return this.l7()
}
;
this.lh = function (N, G) {
if (!this.l7())
return !1;
if (n) {
if (a5.lB(N, G))
return !1;
a5.lD();
n = !1;
return c4.c5 = !0
}
return x(l(N, G)) ? !1 : (this.lA(),
c4.c5 = !0)
}
;
this.lA = function () {
var N;
for (N = t.length - 1; 0 <= N; N--)
t[N] = !1;
n = !1
}
;
this.li = function () {
this.lA()
}
;
this.l7 = function () {
var N;
for (N = t.length - 1; 0 <= N; N--)
if (t[N])
return !0;
return n
}
;
this.cG = function () {
this.l7() && this.lj()
}
;
this.lj = function () {
if (n)
a5.cG();
else {
// draw order buttons
2022-12-25 08:25:12 -08:00
var N = (A + J) / D;
cH.imageSmoothingEnabled = !0;
cH.setTransform(D, 0, 0, D, z, y);
t[0] ? fY ? cH.drawImage(this.kx[3], 0, 0) : cH.drawImage(this.kx[0], 0, 0) : t[8] ? cH.drawImage(this.kv[0], 0, 0) : cH.drawImage(K[0], 0, 0);
t[1] && cH.drawImage(this.kx[1], N, 0);
// donation
2022-12-25 08:25:12 -08:00
t[2] && cH.drawImage(this.kx[2], -N, 0);
t[4] && cH.drawImage(this.kx[4], 0, N);
// non-agression pact
2022-12-25 08:25:12 -08:00
t[5] && cH.drawImage(this.kx[5], N, N);
// point
2022-12-25 08:25:12 -08:00
t[6] && cH.drawImage(this.kx[6], 0, -N);
// target
2022-12-25 08:25:12 -08:00
t[7] && cH.drawImage(this.kx[7], N, -N);
cH.imageSmoothingEnabled = !1;
cH.setTransform(1, 0, 0, 1, 0, 0);
2022-12-25 08:25:12 -08:00
}
}
}
function js() {
function g() {
var B = t.getContext("2d", {
alpha: !0
});
B.clearRect(0, 0, l, l);
B.fillStyle = ls;
B.fillRect(0, 0, l, l);
0 === y && (B.fillStyle = lt,
B.fillRect(0, 0, l, l));
B.fillStyle = cK;
B.fillRect(0, 0, l, 1);
B.fillRect(0, 0, 1, l);
B.fillRect(0, l - 1, l, 1);
B.fillRect(l - 1, 0, 1, l);
var C = .9 * l / bw.bz(0).width;
B.imageSmoothingEnabled = !0;
B.setTransform(C, 0, 0, C, Math.floor((l - C * bw.bz(0).width) / 2), Math.floor((l - C * bw.bz(0).height) / 2));
B.drawImage(bw.bz(0), 0, 0);
B.setTransform(1, 0, 0, 1, 0, 0)
}
function k(B, C) {
if (!fm.lp)
return B <= l + m0 && C >= eN.fG ? 0 : -1;
if (B <= 4 * l + m0) {
if (C >= eN.fG)
return 0;
if (C >= eN.fG - l - A * m0)
return 2;
if (C >= eN.fG - 2 * (l + A * m0))
return 3
} else if (B <= 7 * l + m0 && C >= eN.fG - l - A * m0)
return 1;
return -1
}
function x(B, C) {
cH.setTransform(1, 0, 0, 1, m0, eN.fG - B * A * m0 - B * l);
cH.fillStyle = ls;
cH.fillRect(0, 0, 4 * l, l);
y === B + 1 && C === cK && (cH.fillStyle = lt,
cH.fillRect(0, 0, 4 * l, l));
cH.fillStyle = C;
cH.fillRect(0, 0, 4 * l, 1);
cH.fillRect(0, 0, 1, l);
cH.fillRect(4 * l, 0, 1, l);
cH.fillRect(0, l - 1, 4 * l, 1);
cH.fillText(z[B], 2 * l, .54 * l)
}
var l, t, n, z = ["Quit Game", "Surrender", "Statistics"], y, A;
this.bp = function () {
y = -1;
this.lp = !1;
A = q ? 1.2 : .6;
this.lq()
}
;
this.lq = function () {
l = eN.cw;
t = document.createElement("canvas");
t.width = l;
t.height = l;
n = bt + Math.floor((q ? .5 : .45) * l) + bu;
g()
}
;
this.lv = function () {
(this.lp = !this.lp) ? (ge = !1,
dt && 1 === fV && !fY && (setTimeout(function () {
h4.ir()
}, 0),
a9(0))) : (y = -1,
g(),
dt && a9(1));
c4.c5 = !0
}
;
this.c7 = function (B, C) {
var F = k(B, C);
return this.lp ? 0 === F ? (jU(),
2) : 1 === F ? (this.lv(),
2) : 2 === F ? (this.fn(aw) && (dt ? eC.fl(aw) : ii.ly(),
this.lv()),
2) : 3 === F && 2 <= b0.lz ? (hn.lv(),
c4.c5 = !0,
2) : hn.l7 || dt && !fY ? 1 : (this.lv(),
2) : 0 === F ? (this.lv(),
2) : 0
}
;
this.lh = function (B, C) {
var F = k(B, C);
if (F === y)
return -1 !== y;
y = F;
this.lp || g();
c4.c5 = !0;
return -1 !== y
}
;
this.cG = function () {
if (this.lp) {
var B = Math.floor(5.5 * l);
cH.setTransform(1, 0, 0, 1, m0, eN.fG);
cH.fillStyle = ls;
cH.fillRect(0, 0, B, l);
0 === y ? (cH.fillStyle = lt,
cH.fillRect(0, 0, 4 * l, l)) : 1 === y && (cH.fillStyle = lt,
cH.fillRect(4 * l, 0, Math.floor(1.5 * l), l));
cH.fillStyle = cK;
cH.fillRect(0, 0, B, 1);
cH.fillRect(0, 0, 1, l);
cH.fillRect(4 * l, 0, 1, l);
cH.fillRect(0, l - 1, B, 1);
cH.fillRect(B - 1, 0, 1, l);
cH.font = n;
cH.textBaseline = cI;
cH.textAlign = cJ;
cH.fillText(z[0], 2 * l, .54 * l);
B = .4 * l;
fm.m4(m0 + 4 * l + (1.5 * l - B) / 2, eN.fG + .3 * l, B);
x(1, fm.fn(aw) ? cK : m6);
2 <= b0.lz && x(2, cK);
cH.setTransform(1, 0, 0, 1, 0, 0)
} else
cH.drawImage(t, m0, eN.fG)
}
;
this.fn = function (B) {
return 0 !== fB[B] && 2 !== fV && hm.l9(B)
}
;
this.m4 = function (B, C, F) {
cH.setTransform(1, 0, 0, 1, B, C);
cH.lineWidth = 2;
cH.strokeStyle = cK;
cH.beginPath();
cH.moveTo(0, 0);
cH.lineTo(F, F);
cH.moveTo(0, F);
cH.lineTo(F, 0);
cH.stroke()
}
}
function jt() {
var g, k, x, l, t, n, z;
function y() {
return eN.mV(e5.mS()) ? eO.l7 ? eN.fG - eN.cw - 2 * J : eN.fG - J : eO.l7 ? s - eN.cw - (q ? 3 : 2) * J : s - J
}
function A(G, M, Q, R, P, U, W, X) {
var V = 1E3 <= Q;
var na = Math.floor(c2.measureText(M, e5.c0) + 1.5 * K + (V ? H : 1.5 * K));
if (na + J > r && !V && 50 !== Q && 20 < M.length) {
var ba = Math.floor(.5 * M.length);
A(G, M.substring(0, ba), Q, R, P, U, W, X);
A(G, M.substring(ba), Q, R, P, U, W, X)
} else {
var ca = Q - 1E3;
ba = na + (50 === Q ? D : 0);
var pa = document.createElement("canvas");
pa.width = na;
pa.height = H;
var S = pa.getContext("2d", {
alpha: !0
});
S.font = e5.c0;
S.textBaseline = cI;
S.textAlign = mZ;
S.clearRect(0, 0, na, H);
S.fillStyle = U;
S.fillRect(0, 0, na, H);
S.fillStyle = P;
S.fillText(M, Math.floor(1.5 * K), Math.floor(H / 2));
V && (V = H / a5.c1,
S.imageSmoothingEnabled = !0,
S.setTransform(V, 0, 0, V, na - H, 0),
S.drawImage(a5.l0[ca], 0, 0));
E.unshift({
gY: G,
l: M,
id: Q,
player: R,
ll: pa,
mM: P,
mN: U,
c1: na,
mT: ba,
mO: W,
mP: X
})
}
}
function B(G, M) {
var Q, R = 0, P = E.length;
for (Q = 0; Q < P; Q++)
if (E[Q].id === G && (R++,
R >= M)) {
E.splice(Q, 1);
break
}
}
function C(G, M, Q) {
return "rgb(" + G + "," + M + "," + Q + ")"
}
function F(G, M) {
var Q, R = !1;
for (Q = E.length - 1; 0 <= Q; Q--)
E[Q].id !== G || M !== b8 && E[Q].player !== M || (E.splice(Q, 1),
R = !0);
return R
}
var E, H, J, K, D, L, I, N;
this.bp = function () {
I = 0;
L = q ? 7 : 12;
g = [0, 0, 0];
k = [0, 0, 0];
x = [220, 180, 180];
l = [0, 0, 0];
t = [0, 0, 0];
n = [" were conquered.", " left the game.", " surrendered."];
z = [" was conquered by ", " left the game.", " surrendered."];
E = [];
this.lq();
fY && this.fh(0, 18);
var G = "Map: " + jf.n6() + " Pixels: " + eL.gF(jJ.n7) + " Land: " + eL.gF(jJ.n8) + " (" + e7.n9(100 * jJ.n8 / jJ.n7, 1) + ")"
, M = "";
0 < jJ.nB && (M += "Water: " + eL.gF(jJ.nB) + " (" + e7.n9(100 * jJ.nB / jJ.n7, 1) + ")");
0 < jJ.nC && (M += 0 < jJ.nB ? " " : "",
M += "Mountains: " + eL.gF(jJ.nC) + " (" + e7.n9(100 * jJ.nC / jJ.n7, 1) + ")");
A(340, G, 6, 0, C(215, 245, 255), hq, -1, !1);
0 < M.length && A(340, M, 6, 0, C(215, 245, 255), hq, -1, !1);
10 === dr && A(120, "Full sending against human players is disabled.", 6, 0, C(235, 255, 120), hq, -1, !1)
}
;
this.lq = function () {
var G;
H = Math.floor((q ? .031 : .0249) * bq);
H = 10 > H ? 10 : H;
this.by = Math.floor(2 * H / 3);
this.c0 = bt + this.by + bu;
J = m0;
K = Math.floor(H / 5);
if (0 < E.length) {
var M = E;
E = [];
for (G = M.length - 1; 0 <= G; G--)
A(M[G].gY, M[G].l, M[G].id, M[G].player, M[G].mM, M[G].mN, M[G].mO, M[G].mP)
}
this.mQ()
}
;
this.mQ = function () {
N = document.createElement("canvas");
D = c2.measureText("Accept", this.c0) + 5 * K;
N.height = H;
N.width = D;
var G = N.getContext("2d", {
alpha: !0
});
G.font = this.c0;
G.textBaseline = cI;
G.textAlign = cJ;
G.clearRect(0, 0, D, H);
G.fillStyle = mR;
G.fillRect(0, 0, D, H);
G.fillStyle = cK;
G.fillText("Accept", Math.floor(D / 2), Math.floor(H / 2))
}
;
this.mS = function () {
if (eO.l7)
return eO.c1;
var G = E.length;
return 0 === G ? 0 : 1 === G ? E[0].mT : mU(E[0].mT, E[1].mT)
}
;
this.c7 = function (G, M) {
for (var Q = y(), R, P = E.length - 1; 0 <= P; P--)
if (R = Q - (P + 1) * H,
M >= R && M < R + H) {
if (50 === E[P].id) {
if (G >= gA - D - J - E[P].c1)
return G >= gA - D - J ? (P = E[P].player,
this.lT(P, 0),
ii.lU(P)) : eR.gc(E[P].player, 800, !1, 0),
!0;
break
}
if (G >= gA - E[P].c1 - J)
return E[P].mP && (eR.gc(E[P].player, 800, !1, 0),
0 <= E[P].mO && (Q = E[P].mO,
E[P].mO = E[P].player,
E[P].player = Q)),
!0;
break
}
return !1
}
;
this.iv = function (G) {
for (var M = E.length - 1; 0 <= M; M--)
E[M].id === G && (E[M].gY = 1)
}
;
this.fh = function (G, M) {
0 === M ? (b0.b1[G < cq ? 4 : 3]++, c2.cQ(G, 0), A(q ? 100 : 160, "You conquered " + gE[G] + ".", 0, G, "rgb(10,220,10)", hq, -1, !1)) :
1 === M ? (F(50, b8), c2.cQ(G, 1), A(360, "You were conquered by " + gE[G] + ".", 0, G, "rgb(255,40,40)", hq, -1, !0), eR.gc(G, 2700, !0, 0)) :
2 === M ? (c2.cQ(G, 2), A(0, "Congratulations! You won the game.", 0, G, "rgb(10,255,255)", hq, -1, !0), // i don't think this is the right part for win counter
eR.gc(G, 2700, !0, 0)) :
3 === M ? (c2.cQ(G, 2), A(0, gE[G] + " won the game.", 0, G, cK, hq, -1, !0), eR.gc(G, 2700, !0, 0)) :
4 === M ? (ip--, io--, this.mb(1, G, G)) :
5 === M ? 2 !== fP[G] && hm.l9(aw) && (B(1, 5), e6.md(G) ? A(180, gE[G] + " has broken the non-aggression pact and invades you!", 1, G, C(255, 200, 180), hq, -1, !0) : A(180, gE[G] + " is attacking you!", 1, G, "rgb(255,70,10)", hq, -1, !0)) :
18 === M ? A(255, "Choose your start position!", 18, 0, cK, hq, -1, !1) :
21 === M ? A(220, "You surrendered!", M, 0, "rgb(255,40,40)", hq, -1, !1) :
22 === M && this.mb(2, G, G)
};
this.mf = function (G) {
A(200, "Error [" + G + "]", 94, 0, cK, mh, -1, !1)
}
;
this.ih = function (G) {
c2.cQ(G, 2);
100 > cq ? A(0, gE[G] + " won the game.", 3, G, cK, hq, -1, !0) : A(0, gE[G] + " has been immortalized!", 3, G, cK, hq, -1, !0);
eR.gc(G, 2700, !0, 0)
if (aw === G) {
console.log(`${gE[aw]} Won the Game!`);
2022-12-26 11:11:02 -08:00
wins_counter++;
2022-12-25 08:25:12 -08:00
A(0, "Your Current Win Count is Now " + wins_counter + " !", 3, aw, cK, hq, -1, true)
window.localStorage.setItem("win_count", wins_counter);
}
}
;
this.mi = function (G, M, Q) {
G === aw ? A(175, " Message to " + gE[M] + ": ", 1E3 + Q, M, C(200, 255, 210), hq, -1, !0) : this.ml(G, Q)
}
;
this.ml = function (G, M) {
var Q, R = 0;
A(175, gE[G] + ": ", 1E3 + M, G, cK, "rgba(5,60,25,0.9)", -1, !0);
for (Q = 0; Q < E.length; Q++)
if (1E3 <= E[Q].id && E[Q].player === G && (R++,
3 < R)) {
E.splice(Q, 1);
break
}
}
;
// End of team game
2022-12-25 08:25:12 -08:00
this.ig = function (G) {
var M = dW.id[eP.mp()];
G ? (
9 === dr ? (G = "The Resistance defeated the virus.", c2.mq("The Resistance", 2, 1, 12))
: G = "Congratulations! Team " + dW.bo[M] + " has won the game!",
A(0, G, 40, 0, "rgb(10,220,10)", hq, -1, !1)
) : (
9 === dr ? (G = "Mankind lost the war against the virus.", c2.mq("The Virus", 2, 0, 16))
: G = "Our alliance has been defeated!",
A(0, G, 41, 0, "rgb(200,80,80)", hq, -1, !1)
);
2022-12-25 08:25:12 -08:00
9 !== dr && c2.mq("Team " + dW.bo[M], 2, 1, 12);
eR.gl(2700)
}
;
// 1v1
this.i1 = function (G) {
A(300, G[0].name + " [" + ia.i7(G[0].i4) + "] vs " + G[1].name + " [" + ia.i7(G[1].i4) + "]", 65, 0, gD, "rgba(100,255,255,0.75)", -1, !1)
}
;
this.mr = function (G) {
A(200, G, 0, 0, "rgb(40,255,200)", "rgba(10,60,40,0.9)", -1, !1)
}
;
this.i9 = function (G, M, Q, R) {
1 === e9.mt() && (A(0, G[0].name + ": " + ia.i7(G[0].i4) + " -> " + M, 66, 0, cK, R[0], -1, !1),
A(0, G[1].name + ": " + ia.i7(G[1].i4) + " -> " + Q, 66, 1, cK, R[1], -1, !1))
}
;
this.ie = function (G) {
1 === e9.mt() && A(0, "[" + G + "] has won " + cq + (j6 ? " x 2" : "") + " points!", 45, 0, "rgb(225,240,255)", hq, -1, !1)
}
;
this.lT = function (G, M) {
0 === M ? F(50, G) ? (A(128, "You signed a non-aggression pact with " + gE[G] + ".", 52, G, C(180, 255, 180), hq, -1, !0),
e6.mv(G, 2, 255)) : A(384, "You asked " + gE[G] + " to sign a non-aggression pact.", 51, G, C(210, 210, 255), hq, -1, !0) : F(51, G) ? (A(128, gE[G] + " accepted the non-aggression pact.", 52, G, cK, "rgba(60,120,10,0.9)", -1, !0),
e6.mv(G, 2, 255)) : (A(384, gE[G] + " requests a non-aggression pact.", 50, G, cK, "rgba(90,90,90,0.9)", -1, !0),
e6.mv(G, 2, 96))
}
;
this.lK = function (G, M) {
var Q = "You ", R;
a: {
for (R = G.length - 1; 0 <= R; R--)
if (2 * bU[G[R]] > bU[aw]) {
R = !1;
break a
}
R = !0
}
R ? (Q += "ordered ",
R = C(255, 235, 210)) : (Q += "asked ",
R = C(210, 255, 210));
1 < G.length ? A(230, Q + G.length + " players to attack " + gE[M] + ".", 66, M, R, hq, -1, !0) : A(230, Q + gE[G[0]] + " to attack " + gE[M] + ".", 66, G[0], R, hq, M, !0)
}
;
this.my = function (G, M) {
bU[G] > 2 * bU[aw] ? A(230, gE[G] + " orders you to attack " + gE[M] + "!", 66, G, cK, "rgba(90,50,5,0.9)", M, !0) : A(230, gE[G] + " asks you to attack " + gE[M] + ".", 66, G, cK, "rgba(75,65,5,0.9)", M, !0)
}
;
this.n0 = function (G, M) {
F(G, M)
}
;
this.lN = function () {
100 <= ax[aw] || A(80, "Your balance is too low!", 9, 0, cK, hq, -1, !1)
};
2022-12-25 08:25:12 -08:00
this.lM = function () {
A(80, "Boosting is disallowed in the first minute!", 9, 0, cK, hq, -1, !1)
};
// Sending donation
2022-12-25 08:25:12 -08:00
this.n1 = function (G, M) {
2 !== fP[aw] && A(200, "You exported " + eL.gF(G) + " resource" + (1 === G ? "" : "s") + " to " + gE[M] + ".", 30, M, "rgb(190,255,190)", hq, -1, !0)
};
// Receiving donation
2022-12-25 08:25:12 -08:00
this.n3 = function (G, M) {
if (2 !== fP[aw]) {
var Q = 2 === fP[M] || M >= cq;
var R = 200 - 20 * E.length;
A(80 > R ? 80 : R, (Q ? "A bot" : gE[M]) + " supported you with " + eL.gF(G) + " resource" + (1 === G ? "" : "s") + ".", 31, M, gD, Q ? "rgba(205,205,205,0.9)" : "rgba(205,255,205,0.9)", -1, !0);
B(31, q ? 4 : 6)
}
};
2022-12-25 08:25:12 -08:00
this.iq = function (G) {
var M, Q = c4.dU();
for (M = 2; 0 <= M; M--)
0 < l[M] && (G || t[M] < Q - 220) && this.nE(M)
}
;
this.nE = function (G) {
var M = l[G];
var Q = g[G];
l[G] = 0;
1 === M ? (M = gE[Q] + z[G],
0 === G && (M += gE[k[G]] + "."),
A(x[G], M, 7, k[G], cK, hq, -1, !0)) : 2 <= M && (M = gE[Q] + " and " + (M - 1) + " other player" + (2 === M ? "" : "s") + n[G],
A(x[G], M, 7, Q, cK, hq, -1, !1))
}
;
this.mb = function (G, M, Q) {
var R = c4.dU()
, P = l[G] + 1;
l[G]++;
g[G] = M;
k[G] = Q;
1 === P && (t[G] = R);
1 === P && (32 > ip || 2 === fV) ? this.nE(G) : 1 < P && (t[G] < R - 140 || 2 === fV) && this.nE(G)
}
;
this.dF = function () {
var G, M = E.length - L;
M = 1 >= M ? 1 : M * M;
for (G = E.length - 1; 0 <= G; G--)
0 < E[G].gY && (E[G].gY -= M,
0 >= E[G].gY && E.splice(G, 1));
if (128 !== I && (I++,
!(128 > I)))
for (G = 5,
M = dY - 1; 0 <= M; M--)
1 === fP[dZ[M]] && 0 < G-- && A(240, gE[dZ[M]] + " joined the game.", 1, dZ[M], gD, "rgba(255,255,255,0.75)", -1, !0);
this.iq(!1)
}
;
this.cG = function () {
for (var G = y(), M, Q = E.length - 1; 0 <= Q; Q--)
M = G - (Q + 1) * H,
50 === E[Q].id ? (cH.drawImage(E[Q].ll, gA - E[Q].c1 - D - J, M),
cH.drawImage(N, gA - D - J, M)) : cH.drawImage(E[Q].ll, gA - E[Q].c1 - J, M)
}
}
function nH() {
this.by = this.nJ = this.nI = this.hw = this.cw = this.c1 = 0;
this.bs = -1;
this.lm = ["Accept Cookies", "More Information", "Decline"];
this.colors = ["rgba(0,255,0,0.4)", "rgba(0,0,255,0.4)", "rgba(255,0,0,0.4)"];
this.l7 = !1;
this.bp = function () {
this.lq();
this.l7 = 5 > d && !b && 0 === f.a0()
}
;
this.lq = function () {
this.c1 = Math.floor(2.8 * Math.floor((q ? .09 : .062) * bq));
this.cw = Math.floor(1 * this.c1);
this.hw = Math.floor(.06 * this.c1);
this.hx = this.c1 - 2 * this.hw;
this.nI = this.hw;
this.nJ = (this.cw - (this.lm.length + 1) * this.nI) / this.lm.length;
this.by = Math.floor(.3 * this.nJ)
}
;
this.c7 = function (g, k) {
if (!this.l7)
return !1;
var x = this.nL(g, k);
if (-1 === x)
return !1;
0 === x ? (f.nM(2),
this.l7 = !1) : 1 === x ? nN.bp(nO, !0) : 2 === x && (f.nM(1),
this.l7 = !1);
return c4.c5 = !0
}
;
this.lh = function (g, k) {
if (!this.l7)
return !1;
var x = this.bs;
this.bs = this.nL(g, k);
x !== this.bs && (c4.c5 = !0);
return -1 !== this.bs
}
;
this.nL = function (g, k) {
g -= cA;
k -= Math.floor(cB - this.cw - cA);
if (0 > g || 0 > k || g >= this.c1 || k >= this.cw)
return -1;
var x = Math.floor((k - .5 * this.nI) / ((this.cw - this.nI) / this.lm.length));
return 0 > x ? 0 : x >= this.lm.length ? this.lm.length - 1 : x
}
;
this.cG = function () {
this.l7 && this.nP()
}
;
this.nP = function () {
var g = cA
, k = Math.floor(cB - this.cw - cA);
cH.setTransform(1, 0, 0, 1, g, k);
cH.fillStyle = hq;
cH.fillRect(0, 0, this.c1, this.cw);
cH.textBaseline = cI;
cH.textAlign = cJ;
cH.strokeStyle = cK;
cH.font = bt + this.by + bu;
cH.strokeRect(0, 0, this.c1, this.cw);
for (var x = this.lm.length - 1; 0 <= x; x--)
cH.setTransform(1, 0, 0, 1, g + this.hw, k + this.nI + x * (this.nI + this.nJ)),
cH.fillStyle = this.colors[x],
cH.fillRect(0, 0, this.hx, this.nJ),
this.bs === x && (cH.fillStyle = nQ,
cH.fillRect(0, 0, this.hx, this.nJ)),
cH.fillStyle = cK,
cH.fillText(this.lm[x], this.hx / 2, .54 * this.nJ),
cH.strokeRect(0, 0, this.hx, this.nJ);
cH.setTransform(1, 0, 0, 1, 0, 0)
}
}
function ju() {
function g(y) {
return 10 > y ? "0" + y : String(y)
}
var k, x, l, t, n, z;
this.bp = function () {
void 0 === t && this.lq();
this.setTime()
}
;
this.lq = function () {
t = Math.floor((q ? .53 : .36) * bq);
n = Math.floor(.065 * t);
z = bt + Math.floor(.9 * n) + bu;
l--;
this.setTime()
}
;
this.dF = function () {
this.setTime() && (c4.c5 = !0)
}
;
this.setTime = function () {
var y = new Date;
var A = y.getUTCMinutes()
, B = y.getUTCSeconds();
x = 3600 - 60 * A - B;
x %= 900;
k = "Next Contest: " + g(Math.floor(x / 60)) + ":" + g(x % 60);
y = l;
l = 60 * A + B;
if (y === l)
return !1;
t = c2.measureText(k, z);
t += Math.floor(.4 * n);
return !0
}
;
this.cG = function () {
cH.lineWidth = 1 + Math.floor(n / 15);
cH.translate(gA - n, Math.floor(.5 * (cB + t)));
cH.rotate(-Math.PI / 2);
cH.fillStyle = cK;
cH.fillRect(0, 0, t, n);
cH.strokeStyle = gD;
cH.strokeRect(0, 0, t, n + 10);
cH.fillStyle = gD;
cH.font = z;
cH.textBaseline = cI;
cH.textAlign = cJ;
cH.fillText(k, Math.floor(t / 2), Math.floor(.59 * n));
cH.setTransform(1, 0, 0, 1, 0, 0)
}
}
function nZ() {
this.na = 10;
this.nc = this.nb = 50;
this.nd = 8;
this.ne = this.nb + this.nc;
this.a6 = this.nb + this.nc + this.nd;
this.c1 = 72;
this.ng = this.nf = 0;
this.l0 = Array(this.a6);
this.nh = 8;
this.ni = Array(this.nb + this.nc);
this.nj = Array(this.nb + this.nc);
this.f6 = this.f5 = 0;
this.zoom = 1;
this.nk = .2;
this.lY = 0;
this.nl = this.a7 = null;
this.nm = 0;
this.bp = function () {
var g;
this.a7 = Array(this.a6);
this.nl = Array(this.a6);
var k = bw.l4("emojis");
this.no();
for (g = this.lY = 0; g < this.nb; g++)
this.np(g, g, k);
k = bw.l4("flags");
for (g = 0; g < this.nc; g++)
this.np(g, this.nb + g, k);
this.nr();
this.l0[26] = this.ns(25, 2);
this.nt()
}
;
this.np = function (g, k, x) {
this.a7[k] = !1;
this.nl[k] = 0;
var l = document.createElement("canvas");
l.width = this.c1;
l.height = this.c1;
var t = l.getContext("2d", {
alpha: !0
});
t.clearRect(0, 0, this.c1, this.c1);
23 === k ? t.drawImage(hm.ky[2], 0, 0) : 36 === k ? t.drawImage(hm.ky[0], 0, 0) : 49 === k ? t.drawImage(hm.ky[1], 0, 0) : t.drawImage(x, this.c1 * g % (g === k ? this.na * this.c1 : 4E3), g === k ? as(g, this.na) * this.c1 : 0, this.c1, this.c1, 0, 0, this.c1, this.c1);
this.l0[k] = l
};
2022-12-25 08:25:12 -08:00
this.nr = function () {
this.l0[this.a6 - 5] = this.l0[26];
this.l0[this.a6 - 4] = this.ns(this.a6 - 5, 2);
this.l0[this.a6 - 1] = this.ns(this.a6 - 5, 1);
this.l0[this.a6 - 8] = this.ns(this.a6 - 4, 1);
this.l0[this.a6 - 3] = this.l0[39];
this.l0[this.a6 - 2] = this.ns(this.a6 - 3, 1);
this.l0[this.a6 - 7] = this.ns(this.a6 - 2, 1);
this.l0[this.a6 - 6] = this.ns(this.a6 - 7, 1)
}
;
this.ns = function (g, k) {
var x = document.createElement("canvas");
x.width = this.c1;
x.height = this.c1;
var l = x.getContext("2d", {
alpha: !0
});
l.clearRect(0, 0, this.c1, this.c1);
l.rotate(k * Math.PI / 2);
l.drawImage(this.l0[g], 1 === k ? 0 : -this.c1, -this.c1);
return x
}
;
this.nt = function () {
var g = u().split("");
if (2 * g.length !== this.a6)
this.lY = 0;
else {
for (var k = 0; k < this.a6; k += 2) {
var x = parseInt(g[Math.floor(k / 2)]);
this.a7[k] = 1 === x % 2;
this.a7[k + 1] = 1 < x
}
this.nw()
}
}
;
this.nw = function () {
for (var g = this.lY = 0; g < this.a6; g++)
this.a7[g] && (this.nl[this.lY++] = g)
}
;
this.lD = function () {
8 === this.lY && this.nl[0] === this.ne && this.nw()
}
;
this.nx = function () {
this.lY = this.nd;
for (var g = 0; g < this.nd; g++)
this.nl[g] = this.ne + g
}
;
this.no = function () {
this.nf = Math.floor((q ? .075 : .0468) * bq);
this.zoom = this.nf / this.c1;
this.ng = (1 + this.nk) * this.nf
}
;
this.show = function (g, k) {
if (1 > this.lY)
return !1;
this.nm = c4.gY;
var x = Math.floor(gA / this.ng);
x = 3 > x ? 3 : x > this.nh ? this.nh : x;
x = this.lY > x ? x : this.lY;
var l = 1 + as(this.lY - 1, x)
, t = Math.floor(x * this.ng)
, n = Math.floor(g - t / 2);
n = n + t > gA ? gA - t : n;
n = 0 > n ? 0 : n;
var z = Math.floor(k - this.ng / 2);
l = Math.floor(l * this.ng);
z = z + l > cB ? cB - l : z;
z = 0 > z ? 0 : z;
this.f5 = n + t;
this.f6 = z + l;
for (t = 0; t < this.lY; t++)
this.ni[t] = Math.floor(n + t % x * this.ng),
this.nj[t] = Math.floor(z + as(t, x) * this.ng);
return !0
}
;
this.lB = function (g, k) {
return !(g < this.ni[0] || k < this.nj[0] || g >= this.f5 || k >= this.f6)
}
;
this.lC = function (g, k, x) {
if (x === aw && this.nm + 190 > c4.gY)
return !1;
for (var l = this.lY - 1; 0 <= l; l--)
if (g >= this.ni[l] && k >= this.nj[l]) {
if (39 === this.nl[l])
return this.nx(),
this.show(g, k),
!0;
dt ? e6.mv(aw, 0, this.nl[l]) : x === aw ? ii.o1(this.nl[l]) : ii.o2(this.nl[l], x);
this.nw();
break
}
return !1
}
;
this.o3 = function (g) {
return 16 > g || 40 <= g && 47 > g
}
;
this.o4 = function (g) {
return g >= this.nb && g < this.nb + this.nc
}
;
this.cG = function () {
cH.imageSmoothingEnabled = !0;
for (var g = this.nk * this.nf / 2, k = this.lY - 1; 0 <= k; k--)
cH.setTransform(this.zoom, 0, 0, this.zoom, this.ni[k] + g, this.nj[k] + g),
cH.drawImage(this.l0[this.nl[k]], 0, 0);
cH.imageSmoothingEnabled = !1;
cH.setTransform(1, 0, 0, 1, 0, 0)
}
;
this.o5 = function (g, k, x) {
cH.imageSmoothingEnabled = !0;
cH.setTransform(this.zoom, 0, 0, this.zoom, g, k);
cH.drawImage(this.l0[x], 0, 0);
cH.imageSmoothingEnabled = !1;
cH.setTransform(1, 0, 0, 1, 0, 0)
}
}
var gD = "rgb(0,0,0)", o6 = "rgba(0,0,0,0.7)", o7 = "rgba(0,0,0,0.5)", ls = "rgba(0,0,0,0.5)", hq = "rgba(0,0,0,0.75)", o8 = "rgba(0,0,0,0.85)", o9 = "rgba(0,96,96,0.75)", oA = "rgb(255,255,255)", m6 = "rgb(128,128,128)", oB = "rgb(30,255,30)", oC = "rgb(0,200,0)", oD = "rgb(0,255,0)", oE = "rgba(0,255,0,0.6)", oF = "rgba(0,255,0,0.5)", oG = "rgba(0,200,0,0.5)", mR = "rgba(0,100,0,0.75)", oH = "rgba(0,40,0,0.8)", oI = "rgb(128,255,128)", oJ = "rgba(255,255,150,0.2)", oK = "rgba(0,255,0,0.3)", lt = "rgba(255,255,255,0.3)", oL = "rgba(0,40,90,0.75)", oM = "rgba(220,0,0,0.6)", oN = "rgba(255,100,100,0.8)", mh = "rgba(100,0,0,0.85)", oO = "rgba(60,0,0,0.85)", oP = "rgb(255,120,120)", oQ = "rgb(255,160,160)", oR = "rgb(255,70,70)", oS = "rgb(230,0,0)", oT = "rgba(0,60,60,0.85)", oU = "rgb(160,160,255)", cK = "rgb(255,255,255)", oV = "rgba(255,255,255,0.6)", oW = "rgba(255,255,255,0.4)", nQ = "rgba(255,255,255,0.25)", oX = "rgba(255,255,255,0.85)", oY = "rgba(255,255,255,0.75)", oZ = "rgb(255,120,100)", oa = "rgba(255,255,0,0.5)", cI = "middle", ob = "bottom", cJ = "center", mZ = "left", oc = "right", bt = "bold ", od = "italic ", oe = "normal ", bu = "px Arial", of = [bt, od + bt, bt], og = "https://play.google.com/store/apps/details?id=territorial.io", oh = "https://apps.apple.com/app/id1581110913", oi = "https://www.youtube.com/watch?v=toZTQ8aRdFc", oj = "https://discord.gg/pthqvpTXmh", ok = "https://www.instagram.com/davidtschacher/", nO = "https://fxclient.cf/cookie_policy", ol = "https://fxclient.cf/privacy_policy", om = "https://territorial.io/tutorial", on = ["https://territorial.io/players", "https://territorial.io/clans"], m0, oo, cA, op, oq, or, os, cC, ot = ["wss://", "/s50/", "/s51/", "/s52/"];
2022-12-25 08:25:12 -08:00
function ou() {
ov();
op = 3;
cC = new ow;
cC.bp()
}
function ox() {
oy.addEventListener("mousedown", oz);
oy.addEventListener("mousemove", p0);
oy.addEventListener("mouseup", p1);
oy.addEventListener("click", p2);
oy.addEventListener("mouseleave", p3);
oy.addEventListener("wheel", p4);
oy.addEventListener("touchstart", p5);
oy.addEventListener("touchmove", p6);
oy.addEventListener("touchend", p7);
oy.addEventListener("touchcancel", p8);
oy.addEventListener("dragover", p9);
oy.addEventListener("drop", pA);
oq = !1
}
function ov() {
cA = Math.floor((q ? .02 : .01152) * bq);
cA = 2 > cA ? 2 : cA;
m0 = Math.floor((q ? .0114 : .01296) * bq);
m0 = 2 > m0 ? 2 : m0;
oo = Math.floor(.005 * pB);
oo = 1 > oo ? 1 : oo
}
function oz(g) {
g.preventDefault();
oq || (e9.pD(e9.jV),
pE(Math.floor(pF * g.clientX), Math.floor(pF * g.clientY)))
}
function p5(g) {
g.preventDefault();
e9.pD(e9.jV);
oq = !0;
0 < g.touches.length && (or = Math.floor(pF * g.touches[0].clientX),
os = Math.floor(pF * g.touches[0].clientY),
jh.pG(g) || pE(or, os))
}
function pE(g, k) {
if (0 === fV)
aJ.c7(g, k);
else if (!(hn.c7(g, k) || hm.l6(g, k) || eS.c7(g, k) || eL.c7(g, k))) {
var x = fm.c7(g, k);
2 === x || eI.c7(g, k) || (gf.c7(g, k) ? c4.c5 = !0 : eN.pI(g, k) ? (gf.gg = !1,
eN.pJ(g, k) && (c4.c5 = !0)) : e5.c7(g, k) || eO.c7(g, k) || 0 === x && hm.l8(g, k))
}
}
function p0(g) {
oq = !1;
g.preventDefault();
pK(Math.floor(pF * g.clientX), Math.floor(pF * g.clientY))
}
function p6(g) {
g.preventDefault();
0 < g.touches.length && (or = Math.floor(pF * g.touches[0].clientX),
os = Math.floor(pF * g.touches[0].clientY),
jh.pL(g) || pK(or, os))
}
function pK(g, k) {
0 === fV ? aJ.lh(g, k) : hn.lh(g) || (hm.l7() ? hm.lh(g, k) : fm.lh(g, k) || (eN.pM ? eN.lh(g, k) && (c4.c5 = !0) : (eI.lh(g, k),
gf.gg && gf.lh(g, k) && (c4.c5 = !0))))
}
function p3(g) {
g.preventDefault();
0 === fV ? (aJ.click(-1024, -1024),
jZ.pN()) : (eI.pO(-1024, -1024),
fm.lh(-1024, -1024),
eN.pP(),
gf.gg && (gf.gg = !1))
}
function p1(g) {
g.preventDefault();
oq || pQ(Math.floor(pF * g.clientX), Math.floor(pF * g.clientY))
}
function p2(g) {
2 === aJ.pR() && du.click(g.clientX, g.clientY)
}
function p7(g) {
g.preventDefault();
g && g.touches && 0 < g.touches.length && 0 !== fV ? gf.gg = !1 : pQ(or, os)
}
function p8(g) {
g.preventDefault();
pQ(or, os)
}
function p9(g) {
jo.pS(g)
}
function pA(g) {
jo.pT(g)
}
function pQ(g, k) {
0 === fV ? aJ.click(g, k) : (eI.pO(g, k),
hn.pO(),
eN.pP(),
gf.gg = !1,
hm.click(g, k) && (c4.c5 = !0))
}
function p4(g) {
g.preventDefault();
e9.pD(e9.jV);
var k = Math.floor(pF * g.clientX)
, x = Math.floor(pF * g.clientY)
, l = g.deltaY;
1 === g.deltaMode && (l *= 20);
0 === fV ? aJ.pU(k, x, l) : eI.pU(k, x, l) || (eN.pI(k, x) ? eN.pU(l) && (c4.c5 = !0) : gf.pU(k, x, 2 * l) && (c4.c5 = !0))
}
function pV(g, k, x) {
g.fillStyle = cK;
g.fillRect(0, 0, k, 1);
g.fillRect(0, x - 1, k, 1);
g.fillRect(0, 0, 1, x);
g.fillRect(k - 1, 0, 1, x)
}
function jv() {
function g(C) {
var F = n[C].ll.width;
n[C].hp.clearRect(0, 0, F, A);
n[C].hp.fillStyle = 0 !== n[C].id ? "rgba(33,33,120,0.83)" : n[C].cM === b8 ? "rgba(88,88,88,0.83)" : n[C].cM < cq ? "rgba(100,70,33,0.83)" : "rgba(33,100,80,0.83)";
n[C].hp.fillRect(0, 0, F, A);
pV(n[C].hp, F, A);
F > z + 2 * A && (n[C].hp.fillRect(F - z - A, 0, 1, A),
n[C].hp.fillText(gE[n[C].cM], Math.floor((F - z) / 2), Math.floor(.57 * A)));
var E = 0 !== n[C].id ? 0 : A;
n[C].hp.fillText(eL.gF(n[C].cN), Math.floor(F - z / 2 - E), Math.floor(.57 * A));
n[C].hp.fillStyle = oV;
n[C].hp.fillRect(Math.floor(F - z - E), A - B, Math.floor(z * n[C].cN / n[C].pk), B);
0 === n[C].id ? (k(C, F),
n[C].hp.strokeStyle = oI,
n[C].hp.fillRect(A, 0, 1, A),
F -= A,
n[C].hp.beginPath(),
n[C].hp.moveTo(Math.floor(.3 * A + F), Math.floor(A / 2)),
n[C].hp.lineTo(Math.floor(A - .3 * A + F), Math.floor(A / 2)),
n[C].hp.stroke(),
n[C].hp.beginPath(),
n[C].hp.moveTo(Math.floor(A / 2 + F), Math.floor(.3 * A)),
n[C].hp.lineTo(Math.floor(A / 2 + F), Math.floor(A - .3 * A)),
n[C].hp.stroke()) : k(C, 2 * A)
}
function k(C, F) {
n[C].hp.strokeStyle = n[C].pl ? m6 : oQ;
n[C].hp.fillStyle = cK;
n[C].hp.fillRect(F - A, 0, 1, A);
var E = Math.floor(A / 12);
n[C].hp.lineWidth = 3 > E ? 3 : E;
n[C].hp.lineCap = "round";
F = A + 1;
n[C].hp.beginPath();
n[C].hp.moveTo(Math.floor(F - .35 * A), Math.floor(.35 * A));
n[C].hp.lineTo(Math.floor(F - A + .35 * A), Math.floor(A - .35 * A));
n[C].hp.stroke();
n[C].hp.beginPath();
n[C].hp.moveTo(Math.floor(F - A + .35 * A), Math.floor(.35 * A));
n[C].hp.lineTo(Math.floor(F - .35 * A), Math.floor(A - .35 * A));
n[C].hp.stroke()
}
function x(C) {
C.ll = document.createElement("canvas");
pc.font = y;
var F = z;
C.cM < b8 && 0 === C.id && (F += Math.floor(pc.measureText(gE[C.cM] + "000").width));
F += A;
0 === C.id && (F += A);
C.ll.width = F;
C.ll.height = A;
C.hp = C.ll.getContext("2d", {
alpha: !0
});
C.hp.font = y;
C.hp.textBaseline = cI;
C.hp.textAlign = cJ
}
function l(C) {
return eK.q6() ? gA - n[C].ll.width - m0 : eK.fF
}
function t(C) {
return Math.floor(2 * m0 + (eK.q6() ? e7.cw + m0 : 0) + eK.cw + 1.3 * C * A)
}
var n, z, y, A, B;
this.bp = function () {
n = [];
this.lq()
}
;
this.lq = function () {
y = e5.c0;
A = e5.by + 5;
A = Math.floor(1.25 * A);
q && (A = Math.floor(1.25 * A));
B = Math.floor(.15 * A);
pc.font = y;
z = Math.floor(pc.measureText("02 000 000 0000").width);
for (var C = n.length - 1; 0 <= C; C--)
x(n[C]),
g(C)
}
;
this.eX = function () {
for (var C = n.length - 1; 0 <= C; C--)
n[C].pf && (n[C].pf = !1,
g(C))
}
;
this.gF = function (C) {
if (1E3 > C)
return 0 > C ? "-" + this.gF(Math.abs(C)) : C.toString();
var F = Math.floor(Math.log(C + .5) / Math.log(10)) + 1
, E = Math.floor((F - 1) / 3);
C = C.toString();
for (var H = C.substring(F - 3, F), J = 1; J < E; J++)
H = C.substring(F - 3 * (J + 1), F - 3 * J) + " " + H;
return C.substring(0, F - 3 * E) + " " + H
}
;
this.c7 = function (C, F) {
if (2 === fV || 0 === fB[aw] || j0 || !hm.l9(aw))
return !1;
var E, H = q ? A : 0, J = q ? Math.floor(.15 * A) : 0;
for (E = n.length - 1; 0 <= E; E--) {
var K = l(E);
var D = t(E);
var L = n[E].ll.width;
if (F >= D - J && F <= D + A + J) {
if (C >= K - H && C <= K + A + H)
return n[E].pl || (n[E].pf = !0,
n[E].pl = !0,
0 === n[E].id ? dt ? eC.fJ(aw, n[E].cM) : ii.pz(n[E].cM === b8 ? aw : n[E].cM) : dt ? eC.fL(aw, n[E].id) : ii.q0(n[E].id)),
!0;
if (0 === n[E].id && C >= K + L - A - H && C <= K + L + H)
return dt ? fH(aw, n[E].cM, eN.lO()) : ii.lP(eN.lO(), n[E].cM === b8 ? aw : n[E].cM),
!0
}
}
return !1
}
;
this.dF = function () {
if (2 !== fV && 0 !== fB[aw] && !j0 && hm.l9(aw)) {
var C = ae.af(aw);
b: if (n.length !== C)
var F = !0;
else {
for (F = C - 1; 0 <= F; F--)
if (n[F].id !== ae.ag(aw, F) || n[F].cM !== ae.al(aw, F)) {
F = !0;
break b
}
F = !1
}
if (F) {
var E, H = [];
F = 0;
b: for (; F < C; F++) {
var J = ae.ag(aw, F);
var K = ae.al(aw, F);
for (E = 0; E < n.length; E++)
if (n[E].id === J && n[E].cM === K) {
H.push(n.splice(E, 1)[0]);
continue b
}
E = ae.am(aw, F);
J = {
cM: K,
cN: E,
pk: E,
id: J,
pf: !0,
pl: !1,
ll: null,
hp: null
};
x(J);
H.push(J)
}
n = H
}
for (--C; 0 <= C; C--)
F = ae.am(aw, C),
n[C].cN !== F && (n[C].cN = F,
n[C].pk = F > n[C].pk ? F : n[C].pk,
n[C].pf = !0)
}
}
;
this.cG = function () {
if (0 !== fB[aw] && hm.l9(aw) && !j0)
for (var C = n.length - 1; 0 <= C; C--)
cH.drawImage(n[C].ll, l(C), t(C))
}
}
function jw() {
function g() {
cH.drawImage(K, m0 + (dA ? m0 + eP.qK() : 0), qL + 2 * m0)
}
function k() {
K.width = l[0].width + H;
K.height = y + H;
D = K.getContext("2d", {
alpha: !0
});
D.clearRect(0, 0, l[0].width + H, y + H);
D.translate(Math.floor(H / 2), Math.floor(H / 2));
D.lineWidth = H;
D.fillStyle = 1 === l[0].qI ? oX : hq;
x();
D.fill();
D.strokeStyle = 1 === l[0].qI ? gD : cK;
x();
D.stroke();
D.textAlign = cJ;
D.textBaseline = cI;
D.fillStyle = 1 === l[0].qI ? gD : cK;
D.font = A[0];
D.fillText(F[l[0].qH], Math.floor(l[0].width / 2), Math.floor(.72 * C[0] * y));
D.font = A[1];
D.fillText(l[0].l, Math.floor(l[0].width / 2), Math.floor((C[0] + .48 * C[1]) * y))
}
function x() {
D.beginPath();
D.moveTo(J, 0);
D.lineTo(l[0].width - J, 0);
D.lineTo(l[0].width, J);
D.lineTo(l[0].width, y - J);
D.lineTo(l[0].width - J, y);
D.lineTo(J, y);
D.lineTo(0, y - J);
D.lineTo(0, J);
D.closePath()
}
var l, t, n, z, y, A, B, C, F, E, H, J, K, D, L, I;
this.bp = function () {
L = 0;
t = 4;
n = z = 0;
l = [];
A = Array(2);
B = Array(2);
C = Array(2);
F = ["YOU CONQUERED", "YOU WERE CONQUERED BY", "THE GAME WAS WON BY", "MAP:"];
C[0] = .3;
C[1] = .7;
E = Array(4);
K = document.createElement("canvas");
I = c4.gY + 2E3;
this.lq()
}
;
this.lq = function () {
var N;
y = Math.floor((q ? .0725 : .058) * bq);
B[0] = Math.floor(.85 * C[0] * y);
B[1] = Math.floor(.85 * C[1] * y);
A[0] = bt + B[0] + bu;
A[1] = bt + B[1] + bu;
for (N = E.length - 1; 0 <= N; N--)
E[N] = this.measureText(F[N] + "000", A[0]);
H = Math.floor(1 + .05 * y);
J = Math.floor(.2 * y);
if (0 < l.length) {
for (N = l.length - 1; 0 <= N; N--) {
var G = this.measureText(l[N].l + "00", A[1]);
l[N].width = G < E[N] ? E[N] : G
}
k()
}
}
;
this.dF = function () {
if (0 !== t)
if (4 === t)
c4.gY > I && (t = 0,
1 === fV && c2.mq(jf.n6(), 3, 1, 9));
else {
if (1 === t)
0 === n && (k(),
n = 1E-4),
n += .002 * (c4.gY - L),
1 <= n && (z = 0,
t = 2,
n = 1),
c4.c5 = !0;
else if (2 === t) {
if (z += (c4.gY - L) / 1E3,
z > l[0].gX || 1 < z && 1 < l.length)
t = 3
} else
3 === t && (n -= .002 * (c4.gY - L),
0 >= n && (n = 0,
l.shift(),
t = 0 < l.length ? 1 : 0),
c4.c5 = !0);
L = c4.gY
}
}
;
this.measureText = function (N, G) {
cH.font = G;
return Math.floor(cH.measureText(N).width)
}
;
this.cQ = function (N, G) {
this.mq(gE[N], G, 1, 0 === G ? 3 : 7)
}
;
this.mq = function (N, G, M, Q) {
var R = this.measureText(N + "00", A[1]);
R = R < E[G] ? E[G] : R;
l.push({
l: N,
width: R,
qH: G,
qI: M,
gX: Q
});
0 === t && (n = 0,
t = 1,
L = c4.gY)
}
;
this.cG = function () {
0 !== t && 0 !== n && (1 > n ? (cH.globalAlpha = n,
g(),
cH.globalAlpha = 1) : g())
}
}
function ka() {
function g() {
var D = eO.c1;
F = !1;
ho(n, D, l);
var L = Math.floor(D / 2);
1 === y ? (n.fillStyle = oE,
n.fillRect(L, 0, L, l)) : -1 === y && (n.fillStyle = oM,
n.fillRect(0, 0, L, l));
hr(n, D, l, 2);
L = Math.floor(.25 * l);
L = 2 > L ? 2 : L;
n.fillStyle = oY;
var I = Math.floor((l - 4) * A[1] / B[1]);
0 < I && n.fillRect(2, l - 2 - I, L, I);
I = Math.floor((l - 4) * A[0] / B[0]);
0 < I && n.fillRect(D - 2 - L, l - 2 - I, L, I);
L = Math.floor(l / 8);
L = 2 > L ? 2 : L;
ht(n, Math.floor(.4 * l), 0, l, L, .5, !1);
ht(n, Math.floor(D - 1.4 * l), 0, l, L, .5, !0);
n.drawImage(z, Math.floor((D - z.width) / 2), 3)
}
function k() {
F = !0;
E = 140;
y = 0;
C = [];
eO.l7 = !1;
A[0] = A[1] = 0
}
function x() {
return eN.mV(e5.mS()) ? eN.fG - l - m0 : s - l - (q ? 2 : 1) * m0
}
var l, t, n, z, y, A, B, C, F, E, H, J, K;
this.bp = function () {
J = K = 0;
F = this.l7 = !1;
E = 140;
y = 0;
A = [0, 0];
B = [1, 1];
C = [];
H = new Uint32Array(10);
this.lq()
}
;
this.lq = function () {
l = eN.cw;
this.c1 = 4 * l;
this.qW();
t = document.createElement("canvas");
t.width = this.c1;
t.height = l;
n = t.getContext("2d", {
alpha: !0
});
g()
}
;
this.eX = function () {
F && g()
}
;
this.qW = function () {
var D = l - 6;
D = 6 > D ? 6 : D;
if (void 0 === z || z.width !== D) {
z = document.createElement("canvas");
z.width = D;
z.height = D;
var L = z.getContext("2d", {
alpha: !0
});
L.clearRect(0, 0, D, D);
var I = Math.floor(D / 8);
I = 1 > I ? 1 : I;
L.lineWidth = I;
L.strokeStyle = cK;
var N = Math.floor(D / 2);
D = Math.floor((D - I) / 2);
L.beginPath();
L.arc(N, N, D, 0, 2 * Math.PI);
L.moveTo(N, N - D);
L.lineTo(N, N + D);
L.moveTo(N + Math.cos(.78 * Math.PI) * D, N + Math.cos(.28 * Math.PI) * D);
L.lineTo(N, N);
L.lineTo(N + Math.cos(.22 * Math.PI) * D, N + Math.cos(1.72 * Math.PI) * D);
L.stroke()
}
}
;
this.c7 = function (D, L) {
if (D < r - this.c1 - m0)
return !1;
var I = x();
if (L < I || L > I + l)
return !1;
I = D > r - m0 - this.c1 / 2;
dt ? this.fT(0, I) : hm.l9(aw) && 0 !== fB[aw] && ii.qZ(I);
return !0
}
;
this.dF = function () {
if (0 < K)
K--,
0 === K && k();
else if (this.l7) {
E--;
var D;
if (D = 270 === E && 2 <= J)
a: {
for (D = dY - 1; 0 <= D; D--)
if (hm.l9(dZ[D])) {
D = !1;
break a
}
D = !0
}
D && (F = !0,
A[0] += B[0]);
180 === E && 3 * A[0] < B[0] ? k() : A[0] >= B[0] ? fe.ff(-1) : A[1] >= B[1] ? K = 4 : 0 >= E && k()
} else {
for (D = 9; 0 <= D; D--)
12 < Math.abs(H[D] - bU[ei[D]]) && (E = 140),
H[D] = bU[ei[D]];
D = 0 >= --E ? !0 : !1;
if (D) {
this.l7 = !0;
E = 360;
var L = 0;
for (D = dY - 1; 0 <= D; D--)
hm.l9(dZ[D]) && (L += bU[dZ[D]]);
B[0] = mU(as(3 * L, 5), 1);
dA && 9 !== dr && (B[0] = qe(mU(as(L * (100 - as(100 * eP.qf(), j1)), 100), 1), B[0]));
B[1] = mU(L - B[0], 1);
J++
}
}
}
;
this.im = function () {
this.l7 && A[0] < B[0] && k()
}
;
this.fT = function (D, L) {
var I;
if (this.l7) {
for (I = C.length - 1; 0 <= I; I--)
if (C[I] === D)
return;
C.push(D);
F = !0;
I = dt ? B[0] : bU[D];
L ? A[0] += I : A[1] += I;
D === aw && (y = L ? 1 : -1)
}
}
;
this.cG = function () {
if (this.l7) {
var D = x();
cH.drawImage(t, r - this.c1 - m0, D)
}
}
}
function jx() {
function g() {
if (C < 1 / 3) {
var K = Math.floor(540 * C);
return "rgba(" + K + ",180,0,0.75)"
}
if (C < 2 / 3)
return K = Math.floor(540 * (C - 1 / 3)),
"rgba(180," + (180 - K) + ",0,0.75)";
K = Math.floor(540 * (C - 2 / 3));
return "rgba(180,0," + K + ",0.75)"
}
function k() {
A.clearRect(0, 0, t, eN.cw);
var K = Math.floor(C * (t - 2 * z));
A.fillStyle = hq;
A.fillRect(0, 0, z, eN.cw);
A.fillRect(z + K, 0, t - z - K, eN.cw);
A.fillStyle = g();
A.fillRect(z, 0, K, eN.cw);
A.fillStyle = cK;
A.fillRect(0, 0, t, 1);
A.fillRect(0, eN.cw - 1, t, 1);
A.fillRect(0, 0, 1, eN.cw);
A.fillRect(z, 0, 1, eN.cw);
A.fillRect(z + K, 0, 1, eN.cw);
A.fillRect(t - z, 0, 1, eN.cw);
A.fillRect(t - 1, 0, 1, eN.cw);
K = 1 + Math.floor(.0625 * eN.cw);
var D = 1 + Math.floor(.3 * eN.cw);
A.fillRect(Math.floor(.25 * eN.cw) + D, Math.floor((eN.cw - K) / 2), eN.cw - 2 * D, K);
A.fillRect(Math.floor(t - 1.25 * eN.cw) + D, Math.floor((eN.cw - K) / 2), eN.cw - 2 * D - D % 2, K);
A.fillRect(Math.floor(t - 1.25 * eN.cw) + Math.floor((eN.cw - K) / 2), D, K, eN.cw - 2 * D - D % 2);
F = Math.floor(ax[aw] * C);
A.fillText(eL.gF(F), Math.floor(t / 2), Math.floor(.55 * eN.cw))
}
function x(K) {
if (1 < K && 0 === C)
return C = .01,
k(),
!0;
if (1 < K && 1 === C || 0 === C)
return !1;
C *= K;
C = 1 < C ? 1 : 0 > C ? 0 : C;
k();
return !0
}
function l(K) {
var D = C;
C = (K - n - z) / (t - 2 * z);
C = 0 > C ? 0 : C;
C = 1 < C ? 1 : C;
return D !== C ? (k(),
!0) : !1
}
var t, n, z, y, A, B, C, F, E, H, J = 11 / 12;
this.bp = function () {
B = !fY;
H = !1;
C = .5;
F = 0;
this.pM = !1;
this.lq()
}
;
this.lq = function () {
q && r < .8 * s ? (this.cw = Math.floor(.0536 * bq),
t = r - 4 * m0 - this.cw) : (t = Math.floor((q ? .65 : .389) * bq),
t += 12 - t % 12,
this.cw = Math.floor(t / 12));
z = Math.floor(3 * this.cw / 2);
E = bt + Math.floor(.5 * this.cw) + bu;
y = document.createElement("canvas");
y.width = t;
y.height = this.cw;
A = y.getContext("2d", {
alpha: !0
});
A.font = E;
A.textBaseline = cI;
A.textAlign = cJ;
this.ql();
k()
}
;
this.ql = function () {
n = q && r < .8 * s ? this.cw + 3 * m0 : Math.floor((gA - t) / 2);
this.fG = cB - this.cw - (q ? 2 : 1) * m0
}
;
this.eX = function () {
H && (H = !1,
k())
}
;
this.l7 = function () {
return !(!B || fm.lp && n < Math.floor(m0 + 5.5 * this.cw))
}
;
this.mV = function (K) {
return this.l7() ? n + t > r - K - m0 : !1
}
;
this.cE = function () {
B = !0
}
;
this.qa = function () {
B = !1
}
;
this.lO = function () {
var K = Math.floor(1E3 * C);
return 0 >= K ? 1 : 1E3 < K ? 1E3 : K
}
;
this.pI = function (K, D) {
return this.l7() && K > n && K < n + t && D > this.fG
}
;
this.pJ = function (K, D) {
if (!this.l7())
return !1;
if (K > n && K < n + z && D > eN.fG)
return x(J);
if (K > n + t - z && K < n + t && D > eN.fG)
return x(1 / J);
this.pM = !0;
return l(K)
}
;
this.qw = function (K) {
0 !== fV && this.l7() && x(K) && (c4.c5 = !0)
}
;
this.pU = function (K) {
if (0 === K || !this.l7())
return !1;
0 < K ? (K = 400 / (400 + K),
K = K < J ? J : K) : (K = (400 - K) / 400,
K = K > 1 / J ? 1 / J : K);
return x(K)
}
;
this.lh = function (K, D) {
return this.pM ? l(K, D) : !1
}
;
this.pP = function () {
this.pM = !1
}
;
this.dF = function () {
this.l7() && Math.floor(ax[aw] * C) !== F && (H = !0)
}
;
this.cG = function () {
this.l7() && cH.drawImage(y, n, this.fG)
}
}
var g3, g8, g9;
function jy() {
var g, k, x, l, t, n, z;
this.bp = function () {
g = Array(2);
k = Array(2);
this.gg = !1;
z = n = g9 = g8 = 0;
g3 = 1;
this.lq()
}
;
this.lq = function () {
x = Math.floor((q ? .072 : .0502) * bq);
x = 8 > x ? 8 : x;
for (var y = 1; 0 <= y; y--)
g[y] = document.createElement("canvas"),
g[y].width = x,
g[y].height = x,
k[y] = g[y].getContext("2d", {
alpha: !0
});
this.ql();
y = Math.floor(1 + x / 20);
for (var A = 1; 0 <= A; A--)
k[A].clearRect(0, 0, x, x),
k[A].fillStyle = o6,
k[A].beginPath(),
k[A].arc(x / 2, x / 2, x / 2 - y, 0, 2 * Math.PI),
k[A].fill(),
k[A].lineWidth = y,
k[A].fillStyle = oA,
k[A].strokeStyle = oA,
k[A].beginPath(),
k[A].arc(x / 2, x / 2, x / 2 - y, 0, 2 * Math.PI),
k[A].stroke(),
ht(k[A], 0, 0, x, y, .3, 0 === A)
}
;
this.gB = function () {
return -g8 / g3
}
;
this.cF = function () {
return -g9 / g3
}
;
this.gs = function (y, A) {
g8 = g3 * y - A
}
;
this.gt = function (y, A) {
g9 = g3 * y - A
}
;
this.c7 = function (y, A) {
if (Math.pow(y - (l + x / 2), 2) + Math.pow(A - (t + x / 2), 2) < x * x / 4 || Math.pow(y - (l + x / 2), 2) + Math.pow(A - (t + 2 * x), 2) < x * x / 4)
return A < t + 1.25 * x ? this.pU(Math.floor(gA / 2), Math.floor(cB / 2), -200) : this.pU(Math.floor(gA / 2), Math.floor(cB / 2), 200);
eR.gw() && (this.gg = !0,
n = y,
z = A);
return !1
}
;
this.lh = function (y, A) {
if (!eR.gw())
return !0;
var B = g8
, C = g9
, F = n - y
, E = z - A;
g8 += F;
g9 += E;
e6.lh(F, E);
this.rB();
n = y;
z = A;
return B !== g8 || C !== g9
}
;
this.pU = function (y, A, B) {
if (!eR.gw())
return !0;
if (0 < B)
B = 450 / (450 + B),
B = .5 > B ? .5 : B;
else if (0 > B)
B = (450 - B) / 450,
B = 2 < B ? 2 : B;
else
return !1;
this.rC(y, A, B);
return !0
}
;
this.rC = function (y, A, B) {
B = 1024 < B * g3 ? 1024 / g3 : B;
B = .125 > B * g3 ? .125 / g3 : B;
e6.zoom(B, y, A);
g3 *= B;
g8 = (g8 + y) * B - y;
g9 = (g9 + A) * B - A;
gf.rB()
}
;
this.rB = function () {
var y = r / 16
, A = 0
, B = s / 16
, C = 0;
g8 < -r + y && (A = -r + y - g8);
g8 > g3 * aZ - y && (A = g3 * aZ - y - g8);
g9 < -s + B && (C = -s + B - g9);
g9 > g3 * aa - B && (C = g3 * aa - B - g9);
g8 += A;
g9 += C;
gu.gv();
e6.rJ(A, C)
}
;
this.ql = function () {
l = gA - x - m0;
t = Math.floor(cB / 2 - 1.25 * x)
}
;
this.cG = function () {
cH.drawImage(g[0], l, t);
cH.drawImage(g[1], l, Math.floor(t + 3 * x / 2))
}
}
function jz() {
function g() {
A = Math.floor(.2 * (q ? .07 : .035) * bq);
A = mU(q ? 3 : 1, A);
var P = r / (n.length + B);
A = P > A ? P : A;
G = Math.floor((1 - B) * A);
z = 0;
k()
}
function k() {
z = -20 > z ? -20 : z;
z = z > (n.length - 15) * A ? (n.length - 15) * A : z;
F = Math.floor(z / A);
E = F + Math.floor(gA / A);
E = E > n.length - 1 ? n.length - 1 : E;
F = E < F ? E : F;
F = 0 > F ? 0 : F;
var P = E;
C = y / n[P];
for (var U = E - 1; U >= F; U--)
n[U] > n[P] && (P = U,
C = y / Math.pow(n[U], N))
}
function x(P) {
P = Math.floor((z + gA - P - B * A) / A);
P = -1 > P ? -1 : -1 === P ? 0 : P > n.length - 1 ? -1 : P;
return P !== H ? (H = P,
-1 === M && 0 === H && I && (M = setInterval(t, 100)),
!0) : !1
}
function l(P) {
var U = Math.floor(C * Math.pow(n[P], N));
cH.fillRect(z + gA - (P + 1) * A, cB - U, G, U)
}
function t() {
8 === aJ.pR() && (H = -1);
if (0 !== H)
Q = (new Date).getTime(),
clearInterval(M),
M = -1;
else {
var P = n[1] / 864E3;
if (-1 !== Q) {
var U = (new Date).getTime();
P += (U - Q) * n[1] / 864E5;
Q = -1
}
0 < P && (n[0] += Math.floor(P),
c4.c5 = !0)
}
}
var n, z, y, A, B, C, F, E, H, J, K, D, L, I, N, G, M, Q, R;
this.bp = function () {
Q = M = -1;
I = !1;
N = 1;
H = -1;
this.rZ = !1;
L = 0;
D = new Date;
z = 0;
B = .3;
R = [];
R.push({
mm: "Plateau A",
b3: 0,
pC: 57
});
R.push({
mm: "Max A",
b3: 1,
pC: 1
});
R.push({
mm: "Black Friday",
b3: 15,
pC: 15
});
R.push({
mm: "Max B",
b3: 19,
pC: 19
});
R.push({
mm: "Max C",
b3: 44,
pC: 44
});
R.push({
mm: "First Android Version",
b3: 58,
pC: 58
});
R.push({
mm: "Max D",
b3: 67,
pC: 67
});
R.push({
mm: "The iFrame Explosion",
b3: 98,
pC: 99
});
R.push({
mm: "The 155-Day Uptrend",
b3: 58,
pC: 213
});
R.push({
mm: "Max E",
b3: 213,
pC: 213
});
R.push({
mm: "Plateau B",
b3: 214,
pC: 259
});
R.push({
mm: "Turbulent Times",
b3: 260,
pC: 344
});
R.push({
mm: "Max F",
b3: 262,
pC: 262
});
R.push({
mm: "Max G",
b3: 282,
pC: 282
});
R.push({
mm: "Max H",
b3: 333,
pC: 333
});
R.push({
mm: "The 19-Day Downtrend",
b3: 283,
pC: 301
});
R.push({
mm: "Plateau C",
b3: 345,
pC: 385
});
R.push({
mm: "The Alliance Ascent",
b3: 386,
pC: 395
});
R.push({
mm: "Max I",
b3: 395,
pC: 395
});
R.push({
mm: "First iOS Version",
b3: 411,
pC: 411
});
R.push({
mm: "Plateau D",
b3: 396,
pC: 453
});
R.push({
mm: "The TikTok Revolution",
b3: 454,
pC: 470
});
R.push({
mm: "Max J",
b3: 456,
pC: 456
});
R.push({
mm: "Max K",
b3: 472,
pC: 472
});
R.push({
mm: "Max L",
b3: 478,
pC: 478
});
R.push({
mm: "YT Drew",
b3: 471,
pC: 485
});
R.push({
mm: "Plateau E",
b3: 485,
pC: 600
});
R.push({
mm: "Uptrend A",
b3: 600,
pC: 613
});
R.push({
mm: "Max M",
b3: 613,
pC: 613
});
R.push({
mm: "Downtrend A",
b3: 614,
pC: 635
});
R.push({
mm: "Plateau F",
b3: 636,
pC: 737
});
R.push({
mm: "End of Record",
b3: 738,
pC: 738
});
2022-12-25 09:50:31 -08:00
R.push({
mm: "FX Client Beta",
b3: 883,
2022-12-26 11:11:02 -08:00
pC: 1000
});
R.push({
mm: "FX Client",
b3: 1000,
2022-12-25 09:50:31 -08:00
pC: 1500
2022-12-26 11:11:02 -08:00
});
2022-12-25 08:25:12 -08:00
n = [208644377, 208644377, 208644377, 206964709, 205156594, 250680803, 249089835, 234476552, 252346209, 263196406, 270821533, 291436400, 294907103, 288866179, 297960890, 310165928, 323215738, 326005712, 312078872, 282668674, 268883231, 261100885, 247870209, 240175828, 231697235, 240614202, 237647174, 230525212, 228239099, 226070733, 215992739, 216961676, 231079584, 235793502, 234032821, 228402462, 216942832, 211862670, 209792418, 220626495, 221020535, 228198633, 226910806, 227687295, 210969547, 197393506, 205629061, 215820135, 213694935, 209455870, 215822584, 215130299, 214034219, 229190414, 230055290, 225313791, 223398523, 231870169, 226224938, 218242706, 235891029, 210498444, 195329116, 187676007, 183432634, 175752106, 170096205, 173369342, 171454357, 185810310, 189616577, 190788861, 179291487, 179513980, 189122353, 188375572, 202060722, 203256609, 197948652, 191950448, 194693217, 196335490, 195911919, 202264283, 199251620, 193699336, 188441210, 183419345, 195919988, 198126823, 199780788, 197440550, 190144884, 179139362, 166469099, 178827877, 183801980, 197952484, 188875861, 185919783, 186237411, 182504952, 183532013, 174109004, 178159701, 161031347, 194622838, 205645645, 200496457, 194773327, 194546481, 207893217, 210920126, 213376144, 173859897, 154326886, 158943729, 166772975, 175066046, 177406405, 179018562, 185986119, 186747583, 200787939, 208959937, 161987576, 185512400, 185788899, 185957487, 194591063, 215634157, 230579314, 237637383, 240518707, 221398239, 225230795, 224891285, 211292916, 216944626, 219436299, 226523918, 232405568, 232166426, 216921782, 244767964, 257278946, 243548100, 237386943, 242802627, 229717622, 168149709, 259971896, 267057767, 257606635, 209857364, 126035568, 129833237, 151312703, 197006695, 73120657, 37551024, 39229432, 29517736, 29382631, 31512045, 42652097, 47363019, 49624906, 46687310, 33767120, 31230439, 34211643, 43094531, 53747053, 55380682, 49779117, 47748833, 21038802, 20406484, 24523793, 26566139, 25284142, 26825553, 23497443, 20291865, 17765022, 21291320, 21106123, 19050128, 18324426, 19044067, 19594721, 19347845, 23365124, 24186529, 19824881, 17952812, 17093838, 17328579, 17607296, 21284737, 22551012, 20471281, 19350848, 19654931, 18725460, 18641926, 23301269, 25178902, 21617041, 21433781, 21078957, 19526047, 18665064, 21394401, 21575049, 19286677, 18018450, 17550775, 17282428, 17055509, 19348704, 20177845, 19766211, 19088037, 18118802, 18269428, 18500614, 19130220, 19351798, 19205188, 19489961, 20233286, 20726811, 23245145, 26158741, 26096642, 24424181, 23690661, 22967492, 21098008, 20325973, 19431907, 17008295, 15583096, 14209752, 14307184, 13541498, 12822679, 13154311, 12161194, 12956543, 11435697, 13428928, 12262514, 12858519, 12405344, 12884309, 14410011, 15556681, 15260178, 14863807, 13861458, 15176144, 14089849, 13063987, 12378716, 13061867, 13118900, 13112653, 13137263, 13062253, 13126875, 14136833, 14711852, 14341250, 11888270, 13137006, 12830841, 12516937, 12783789, 13139393, 12931E3, 12857582, 13677329, 13892963, 13171528, 14135236, 14640750, 15677970, 16758399, 19125177, 17723446, 16469484, 17032884, 19792603, 21426397, 22032534, 20271251, 16190176, 16772813, 17675977, 18764026, 18346209, 19576834, 20989792, 21350839, 14696885, 14653075, 14677999, 14958759, 14210260, 15488352, 15623604, 14473144, 12823062, 14869909, 15142264, 15567014, 17896725, 20081347, 17765006, 12763925, 13523610, 13979983, 15080856, 17116394, 18483238, 18084320, 12100282, 12221529, 12441579, 12058220, 12441689, 12821546, 13401583, 13009895, 12271066, 12210094, 12355642, 13737115, 14257807, 14904897, 14072161, 15640387, 15721803, 16397970, 19254839, 21608906, 20527471, 16596206, 15550563, 14385591, 15547262, 13174302, 12462319, 13000669, 12832541, 12186376, 13150940, 14654379, 14299386, 14158528, 15185971, 12444117, 14253445, 15049053, 14123310, 16892853, 15963931, 11858727, 10012703, 9478191, 9193460, 8851082, 9298848, 9638204, 9442496, 8653593, 9093527, 8530977, 8809114, 9609612, 9906912, 9615756, 9477879, 9713075, 9126583, 8949378, 9577595, 10180186, 9858705, 9534213, 9184660, 8
this.lq();
e9.rb(0, 0)
}
;
this.lq = function () {
y = Math.floor(.15 * s);
J = Math.floor((q ? .018 : .0137) * bq);
J = 10 > J ? 10 : J;
K = bt + J + bu;
g()
}
;
this.rd = function () {
I || ii.re()
}
;
this.rf = function (P) {
var U;
I = !0;
for (U = 0; U < P.length; U++)
n.unshift(P[U]);
g();
c4.c5 = !0
}
;
this.rj = function () {
k()
}
;
this.lh = function (P, U) {
U > cB - .6 * y ? this.rZ ? P !== L && (z += P - L,
L = P,
k(),
x(P),
this.rZ = -1 !== H,
c4.c5 = !0) : x(P) && (c4.c5 = !0) : this.pN()
}
;
this.pN = function () {
-1 !== H && (this.rZ = !1,
H = -1,
c4.c5 = !0)
}
;
this.pU = function (P, U) {
-1 !== H && (z += Math.floor(U),
k(),
x(P),
c4.c5 = !0)
}
;
this.c7 = function (P, U) {
this.lh(P, U);
-1 !== H && (L = P,
this.rZ = !0)
}
;
this.pO = function () {
-1 !== H && (this.rZ = !1)
}
;
this.cG = function () {
cH.fillStyle = oW;
for (var P = E; P >= F; P--)
l(P);
I && 0 === F && (cH.fillStyle = oM,
l(0));
-1 !== H && (cH.fillStyle = oV,
l(H));
if (-1 !== H) {
cH.font = K;
cH.textBaseline = ob;
P = new Date;
P.setTime(D.getTime() - 864E5 * H);
var U = "month"
, W = "day";
"undefined" !== typeof Intl && (U = (new Intl.DateTimeFormat("en-US", {
month: "long"
})).format(P),
W = (new Intl.DateTimeFormat("en-US", {
weekday: "long"
})).format(P));
P = W + ", " + P.getUTCDate() + " " + U + " " + P.getFullYear();
var X = 1 === n[H] ? " second played" : " total seconds played";
X = eL.gF(n[H]) + X;
var V = Math.floor(cH.measureText(P).width)
, na = Math.floor(cH.measureText(X).width)
, ba = Math.floor(.5 * (V + J));
U = z + gA - (H + 1) * A;
U = U < ba ? ba : U > gA - ba ? gA - ba : U;
W = cB - Math.floor(C * Math.pow(n[H], N));
var ca = Math.floor(1.1 * J)
, pa = W > cB - ca ? cB - ca : W;
cH.fillStyle = hq;
cH.fillRect(gA - na - J, pa - ca, na + J, ca);
cH.fillRect(U - ba, cB - ca, V + J, ca);
cH.fillStyle = cK;
cH.textAlign = oc;
cH.fillText(X, Math.floor(gA - .5 * J), pa);
X = pa - 2 * ca;
V = -1;
na = n.length - H - 1;
for (ba = R.length - 1; 0 <= ba; ba--)
na >= R[ba].b3 && na <= R[ba].pC && (-1 === V || R[ba].pC - R[ba].b3 < R[V].pC - R[V].b3) && (V = ba);
-1 !== V && (na = Math.floor(cH.measureText(R[V].mm).width),
cH.fillStyle = hq,
cH.fillRect(gA - na - J, X, na + J, ca),
cH.fillStyle = cK,
cH.fillText(R[V].mm, Math.floor(gA - .5 * J), X + ca));
cH.textAlign = cJ;
cH.fillText(P, U, cB);
cH.strokeStyle = nQ;
cH.lineWidth = 1;
cH.beginPath();
cH.moveTo(0, W);
cH.lineTo(gA, W);
cH.closePath();
cH.stroke()
}
}
}
function k0() {
this.cw = this.fF = 0;
var g, k, x, l, t, n, z, y, A, B, C, F, E;
this.bp = function () {
t = hS;
C = "rgba(0,100,0,0.8)";
F = "rgba(150,0,0,0.8)";
B = !0;
y = !1;
A = ax[aw];
this.lq()
}
;
this.lq = function () {
k = Math.floor((q ? .305 : .24) * bq);
this.cw = Math.floor(.5 + .13 * k);
k = Math.floor(6 * this.cw);
g = bt + Math.floor(.8 * this.cw) + bu;
E = Math.floor(.5 * this.cw);
pc.font = g;
x = m0;
l = Math.floor(1 + .13 * this.cw);
n = document.createElement("canvas");
n.width = k;
n.height = this.cw;
z = n.getContext("2d", {
alpha: !0
});
z.font = g;
z.textBaseline = cI;
z.textAlign = cJ;
this.s4()
}
;
this.q6 = function () {
return q && r < 1.2 * s
}
;
this.ql = function () {
this.q6() ? this.fF = gA - k - m0 : this.fF = Math.floor(eI.s5() + (gA - eI.s5() - e7.c1 - k) / 2 - .5 * m0)
}
;
this.eX = function () {
y && (y = !1,
this.s4())
}
;
this.s4 = function () {
z.clearRect(0, 0, k, this.cw);
z.fillStyle = B ? C : F;
z.fillRect(0, 0, k, this.cw);
z.fillStyle = oV;
this.s6();
this.s7();
z.fillStyle = ax[aw] >= ay.dJ(aw) ? oQ : cK;
z.fillText(eL.gF(A), Math.floor(k / 2), E);
z.fillStyle = cK;
z.fillRect(0, 0, k, 1);
z.fillRect(0, 0, 1, this.cw);
z.fillRect(0, this.cw - 1, k, 1);
z.fillRect(k - 1, 0, 1, this.cw)
}
;
this.s6 = function () {
var H = Math.floor((ay.s8() - 1) * this.cw / 9);
H = qe(H, this.cw - l);
z.fillRect(0, H, l, this.cw - H);
z.fillRect(k - l, H, l, this.cw - H)
}
;
this.s7 = function () {
z.fillRect(l, this.cw - l, Math.floor((k - 2 * l) * ax[aw] / t), l)
}
;
this.dF = function () {
0 !== fB[aw] && 2 !== fP[aw] && A !== ax[aw] && (t = mU(ax[aw], t),
B = ax[aw] > A && 10 <= ax[aw],
A = ax[aw],
y = !0)
}
;
this.cG = function () {
0 === fB[aw] || fY || 2 === fP[aw] || cH.drawImage(n, this.fF, x)
}
}
var s9, qL, sA, sB, sC, ei, sD;
function k1() {
function g() {
var S;
B.clearRect(0, 0, s9, qL);
B.fillStyle = oL;
B.fillRect(0, 0, s9, J);
B.fillStyle = o8;
B.fillRect(0, J, s9, qL - J);
sD[aw] >= V && x(sD[aw] - V, oK);
0 !== sD[aw] && 0 === V && x(0, oJ);
-1 !== X && x(X, lt);
B.fillStyle = oA;
B.fillRect(0, J, s9, 1);
B.fillRect(0, 0, s9, oo);
B.fillRect(0, 0, oo, qL);
B.fillRect(s9 - oo, 0, oo, qL);
B.fillRect(0, qL - oo, s9, oo);
B.font = sA;
B.textBaseline = cI;
B.textAlign = cJ;
B.fillText(Q, Math.floor(s9 / 2), Math.floor(E + sC / 2));
var O = sD[aw] < V + y - 1 ? 1 : 2;
B.font = sB;
B.textAlign = mZ;
for (S = y - O; 0 <= S; S--)
k(ei[S + V]),
l(S, S + V, ei[S + V]);
B.textAlign = oc;
for (S = y - O; 0 <= S; S--)
k(ei[S + V]),
t(S, ei[S + V]);
2 === O && (k(aw),
B.textAlign = mZ,
l(y - 1, sD[aw], aw),
B.textAlign = oc,
t(y - 1, aw));
0 === V && (S = .7 * K / bw.bz(4).height,
B.setTransform(S, 0, 0, S, Math.floor(D + .58 * K + .5 * S * bw.bz(4).width), Math.floor(E + sC + .4 * K)),
B.imageSmoothingEnabled = !0,
B.drawImage(bw.bz(4), -Math.floor(bw.bz(4).width / 2), -Math.floor(bw.bz(4).height / 2)),
B.setTransform(1, 0, 0, 1, 0, 0))
}
function k(S) {
dA && (B.fillStyle = dW.sl[dW.id[dW.dX[S]]])
}
function x(S, O) {
B.fillStyle = O;
S = S > y - 1 ? y - 1 : S;
var T = Math.floor((S === y - 1 ? 2 : 0 === S ? 1.15 : 1) * K);
T = S === y - 2 ? Math.floor(J + 9.15 * K) - Math.floor(J + 8.15 * K) : T;
B.fillRect(0, Math.floor(J + (S + (0 === S ? 0 : .15)) * K), s9, T)
}
function l(S, O, T) {
B.fillText(R[O], D, Math.floor(E + sC + (S + .5) * K));
1 === fP[T] && (B.font = od + sB);
B.fillText(G[T] === T ? gE[T] : N[G[T] % b8], L, Math.floor(E + sC + (S + .5) * K));
0 !== fP[T] && (B.font = sB)
}
function t(S, O) {
B.fillText(bU[O], I, Math.floor(E + sC + (S + .5) * K))
}
function n(S) {
S -= m0 + J;
if (0 > S)
return Math.floor(S / K) - 1;
if (S < (y - 1) * K)
return Math.floor(S / K);
if (S < qL - J)
return y - 1;
S -= qL - J;
return y + Math.floor(S / K)
}
function z(S, O) {
return S >= m0 && S < m0 + s9 && O >= m0 && O < m0 + qL
}
var y, A, B, C, F, E, H, J, K, D, L, I, N, G, M, Q, R, P, U, W, X, V, na, ba, ca, pa;
this.bp = function () {
var S, O;
na = 0;
ba = !1;
pa = ca = 0;
Q = "LEADERBOARD";
X = -1;
y = q ? 6 : 10;
V = 0;
W = !1;
P = new Uint16Array(y + 1);
U = new Uint32Array(y + 1);
F = b8;
ei = new Uint16Array(F);
sD = new Uint16Array(F);
for (S = F - 1; 0 <= S; S--)
ei[S] = S,
sD[S] = S;
this.lq(!0);
N = [];
G = new Uint16Array(b8);
M = new Uint16Array(b8);
var T = Math.floor(s9 - L - D - C)
, Y = 0;
R = Array(b8);
B.font = sB;
for (S = b8 - 1; 0 <= S; S--)
if (R[S] = S + 1 + ".",
G[S] = S,
M[S] = Math.floor(B.measureText(gE[S]).width),
M[S] > T) {
var Z = gE[S];
for (O = gE[S].length - 1; 1 <= O && !(Z = Z.substring(0, O),
M[S] = Math.floor(B.measureText(Z + "...").width),
M[S] <= T); O--)
;
Z += "...";
N.push(Z);
G[S] = b8 + Y++
}
g()
}
;
this.lq = function (S) {
q ? (s9 = Math.floor(.335 * bq),
qL = Math.floor(y * s9 / 8)) : (s9 = Math.floor(.27 * bq),
qL = Math.floor(y * s9 / 10));
s9 = Math.floor(.97 * s9);
A = document.createElement("canvas");
A.width = s9;
A.height = qL;
B = A.getContext("2d", {
alpha: !0
});
E = .025 * s9;
sC = .16 * s9;
H = 0 * s9;
J = Math.floor(.45 * E + sC);
K = (qL - sC - 2 * E - H) / y;
sA = bt + Math.floor(.55 * sC) + bu;
sB = Math.floor(.6 * K) + bu;
B.font = sB;
D = Math.floor(B.measureText("555").width);
L = Math.floor(B.measureText("555600.00").width);
C = Math.floor(B.measureText("00920600").width);
B.font = sA;
I = s9 - D;
if (!S) {
B.font = sB;
for (S = b8 - 1; 0 <= S; S--)
M[S] = Math.floor(B.measureText(G[S] === S ? gE[S] : N[G[S] % b8]).width);
g()
}
}
;
this.s5 = function () {
return s9
}
;
this.eX = function (S) {
W && (S || 14 >= sf && 0 === c4.dU() % 6 || 14 < sf) && (W = !1,
g())
}
;
this.dF = function () {
for (var S = F - 1; 0 <= S; S--)
if (0 === fB[ei[S]]) {
var O = S
, T = ei[O];
for (F--; O < F; O++)
ei[O] = ei[O + 1],
sD[ei[O]] = O;
ei[F] = T;
sD[ei[F]] = F
}
T = F - 1;
for (O = 0; O < T; O++)
bU[ei[O]] < bU[ei[O + 1]] && (S = ei[O],
ei[O] = ei[O + 1],
ei[O + 1] = S,
sD[ei[O]] = O,
sD[ei[O + 1]] = O + 1);
a: {
S = W;
W = !0;
for (O = T = sD[aw] >= y - 1 ? y - 2 : y - 1; 0 <= O; O--)
if (P[O] !== ei[O] || U[O] !== bU[ei[O]])
break a;
if (T !== y - 2 || P[y] === sD[aw] && U[y] === bU[aw])
W = S
}
for (S = y - 1; 0 <= S; S--)
P[S] = ei[S],
U[S] = bU[ei[S]];
P[y] = sD[aw];
U[y] = bU[aw]
}
;
this.c7 = function (S, O) {
if (z(S, O)) {
na = c4.gY;
ba = !0;
ca = pa = n(O);
if (oq) {
var T = sy(-1, pa, y);
T = T === y ? -1 : T;
X !== T && (X = T,
g(),
c4.c5 = !0)
}
return !0
}
return !1
}
;
this.lh = function (S, O) {
var T = n(O);
if (ba) {
var Y = V;
V += ca - T;
V = sy(0, V, b8 - y);
V !== Y && (ca = T,
T = sy(-1, T, y),
X = T = T !== y && z(S, O) ? T : -1,
g(),
c4.c5 = !0);
return !0
}
T = sy(-1, T, y);
T = T === y || !z(S, O) || oq ? -1 : T;
return X !== T ? (X = T,
g(),
c4.c5 = !0) : !1
};
// mouseClick
2022-12-25 08:25:12 -08:00
this.pO = function (S, O) {
if (!ba)
return !1;
ba = !1;
var T = n(O);
oq && -1 !== X && (X = -1,
g(),
c4.c5 = !0);
if (350 > c4.gY - na && pa === T && (T = sy(-1, T, y),
T = T !== y && z(S, O) ? T : -1,
-1 !== T)) {
var Y = ei[T + V];
T === y - 1 && sD[aw] >= V + y - 1 && (Y = aw);
//0 !== fB[Y] && eR.gc(Y, 800, !1, 0)
2022-12-28 10:21:31 -08:00
// if the game is a team game, display donation history
if (dA) displayDonationsHistory(Y, gE);
2022-12-28 10:21:31 -08:00
eR.gc(Y, 800, !1, 0);
2022-12-25 08:25:12 -08:00
}
return !0
};
2022-12-25 08:25:12 -08:00
this.pU = function (S, O, T) {
return ba ? !1 : z(S, O) ? (S = n(O),
S = sy(-1, S, y),
S = S === y || oq ? -1 : S,
0 < T ? V < b8 - y && (V++,
X = S,
g(),
c4.c5 = !0) : 0 < V && (V--,
X = S,
g(),
c4.c5 = !0),
!0) : !1
};
2022-12-25 08:25:12 -08:00
this.cG = function () {
cH.drawImage(A, m0, m0)
}
}
function k2() {
function g() {
z.clearRect(0, 0, e7.c1, e7.cw);
z.fillStyle = hq;
z.fillRect(0, 0, e7.c1, e7.cw);
z.fillStyle = oE;
z.fillRect(0, e7.cw - B - 1, Math.floor((0 < G ? G : Math.sqrt(L[4] / L[3])) * e7.c1), B);
z.fillStyle = cK;
z.fillRect(0, 0, e7.c1, 1);
z.fillRect(0, 0, 1, e7.cw);
z.fillRect(e7.c1 - 1, 0, 1, e7.cw);
z.fillRect(0, e7.cw - 1, e7.c1, 1);
z.fillRect(0, e7.cw - B - 1, e7.c1, 1);
// render
for (var P = 0, U = 0; U < D.length; U++)
if (I[U]) {
z.textAlign = mZ;
var W = Math.floor((C - B + 2 * E) * (U - P + 1) / (D.length + 1) - .7 * E);
z.fillText(D[U], F, W);
z.textAlign = oc;
5 === U && 0 !== fB[aw] && ax[aw] >= ay.dJ(aw) ? (z.fillStyle = oZ,
z.fillText(k(U), e7.c1 - F, W),
z.fillStyle = cK) : z.fillText(k(U), e7.c1 - F, W)
} else P++
}
function k(P) {
return 3 > P ? L[P].toString() :
3 === P ? e7.n9(L[P] / 100, 2) :
4 === P ? e7.n9(L[P] / 100, 2) :
5 === P ? e7.n9(L[P] / 100, 2) :
P === 6 ? eL.gF(L[P]) :
P === 7 ? e7.s8(L[7]) :
2022-12-27 10:22:27 -08:00
P === 8 ? utils.getMaxTroops(bU, aw) : utils.getDensity(ax, bU, aw) // max amount of troops / current amount of troops
2022-12-25 08:25:12 -08:00
}
function x(P) {
P = as(1E4 * P, j1);
8 === dr && (0 === fB[0] ? fe.ff(1) : 0 === fB[1] && fe.ff(0));
P >= L[3] && (fe.ff(-1),
L[4] = -1);
L[4] !== P && (K++,
L[4] = P)
}
function l() {
for (var P = dY - 1; 0 <= P; P--)
if (0 < b4[dZ[P]].length)
return !1;
return !0
}
function t() {
// original line is bU[aw] !== L[6] && (L[6] = bU[aw], K++)
if (bU[aw] !== L[6]) {
L[6] = bU[aw];
K++;
}
}
var n, z, y, A, B, C, F, E, H, J, K, D, L, I, N, G, M, Q, R;
this.bp = function () {
G = M = 0;
D = Array(9);
D[0] = "Humans";
D[1] = dt ? "Players" : "Bots";
D[2] = "Spectators";
D[3] = "Threshold";
D[4] = "Occupation";
D[5] = "Interest";
D[6] = "Income";
2022-12-25 09:50:31 -08:00
D[7] = "Time Spent";
2022-12-25 08:25:12 -08:00
D[8] = "Maximum Troops";
D[9] = "Density"
R = j1 - as(j1, 100);
L = Array(D.length);
L[0] = dt ? 0 : cq;
L[1] = dt ? dY : dq;
L[2] = io;
L[3] = 10000;
L[4] = as(10000 * bU[0], j1);
L[5] = 700;
L[6] = 0;
t();
// the updating is on line 4420
L[7] = 0;
L[8] = 0;
L[9] = 0;
N = k(6);
I = Array(D.length);
for (var P = D.length - 1; 0 <= P; P--)
I[P] = !0;
Q = 0;
dt ? (I[0] = !1,
I[2] = !1,
I[3] = !1,
Q = 3) : (I[3] = !1,
Q = 1);
K = 0;
this.lq()
}
;
this.lq = function () {
this.c1 = Math.floor((q ? .1646 : .126) * bq);
this.cw = Math.floor(1.18 * this.c1);
B = Math.floor(.04 * this.c1);
F = Math.floor(.05 * this.c1);
E = .04 * this.c1;
C = this.cw;
this.cw -= Math.floor(Q * (this.cw - 2 * B) / D.length);
J = Math.floor(.55 * (C - B) / D.length);
H = bt + J + bu;
n = document.createElement("canvas");
n.width = this.c1;
n.height = this.cw;
z = n.getContext("2d", {
alpha: !0
});
z.font = H;
z.textBaseline = cI;
z.lineWidth = 1;
this.iu();
this.ql();
eK.ql();
g()
}
;
this.ql = function () {
y = gA - this.c1 - m0
}
;
this.tB = function () {
A = m0
}
;
this.iu = function () {
A = m0 + (eK.q6() && 0 !== fB[aw] && !fY ? eK.cw + m0 : 0)
}
;
this.eX = function (P) {
0 < K && (P || 12 > sf && 100 <= K || 12 <= sf) && (K = 0,
g())
}
;
this.lQ = function () {
return L[7]
}
;
this.s8 = function (P) {
var U = Math.floor(P / 1E3 / 60);
P = Math.floor((P - 6E4 * U) / 1E3);
return 10 > P ? U + ":0" + P : U + ":" + P
}
;
this.n9 = function (P, U) {
return P.toFixed(U) + "%"
}
;
this.dF = function () {
I[0] && ip - io !== L[0] && (L[0] = ip - io,
K++);
dY - L[0] !== L[1] && (L[1] = dY - L[0],
K++);
this.e8();
if (dA) {
var P = eP.qf();
P >= R && l() ? (fe.ff(-1),
x(eP.qf())) : x(P)
} else
P = bU[ei[0]],
P >= R && l() && fe.ff(-1),
x(P);
P = ay.tN(aw);
P !== L[5] && (L[5] = P,
K++);
t();
L[7] += c4.tO();
P = k(7);
N !== P && (N = P,
K += 100)
}
;
this.e8 = function () {
I[2] && io !== L[2] && (L[2] = io,
K++)
}
;
this.tP = function (P) {
if (P === j7)
return G = 0,
g(),
!1;
if (-1 === P && 0 === M)
return !1;
var U = G
, W = performance.now();
if (0 <= P) {
var X = W - 392 * P;
M = 0 === P || X < M ? X : M
}
G = (W - M) / (392 * j7);
G = 1 < G ? 1 : G;
g();
return G !== U
}
;
this.cG = function () {
cH.drawImage(n, y, A)
}
}
function k3() {
var g, k, x, l, t, n, z, y, A, B;
this.tU = -1;
this.bp = function () {
g = !1;
l = 0;
t = .61;
n = .07;
z = .09;
B = y = 0;
this.tU = -1
}
;
this.lq = function () {
if (g) {
x = q ? Math.floor(.69 * bq) : Math.floor(.5 * bq);
x = qe(x, mU(r - 2 * m0, 10));
x = qe(x, Math.floor(3.57 * mU(s - 2 * m0, 3)));
l = Math.floor(.28 * x);
A = document.createElement("canvas");
A.width = x;
A.height = l;
var C = A.getContext("2d", {
alpha: !0
})
, F = Math.floor(1 + l / 40);
C.clearRect(0, 0, x, l);
C.fillStyle = hq;
C.fillRect(F, F, x - 2 * F, l - 2 * F);
C.lineJoin = "bevel";
C.lineWidth = 2 * F;
C.strokeStyle = cK;
C.strokeRect(F, F, x - 2 * F, l - 2 * F);
C.imageSmoothingEnabled = !0;
var E = bw.bz(k)
, H = E.height
, J = t * l / H;
C.setTransform(J, 0, 0, J, Math.floor((x - J * E.width) / 2), Math.floor((l - J * H) / 2));
C.drawImage(E, 0, 0);
C.setTransform(1, 0, 0, 1, Math.floor(x - z * l - n * l - F), Math.floor(F + n * l));
F = Math.floor(z * l);
C.lineWidth = Math.floor(1 + l / 80);
C.strokeStyle = cK;
C.beginPath();
C.moveTo(0, 0);
C.lineTo(F, F);
C.moveTo(0, F);
C.lineTo(F, 0);
C.stroke();
C.setTransform(1, 0, 0, 1, 0, 0)
}
}
;
this.show = function (C, F) {
g || (k = C ? 1 : 2,
g = !0,
this.lq(),
hm.li(),
eN.qa(),
B = c4.gY,
-1 === this.tU && (this.tU = c4.dU()),
y = F ? 1 : 0)
}
;
this.dF = function () {
!g || 1 <= y || (y += 5E-4 * (c4.gY - B),
y = 1 < y ? 1 : y,
B = c4.gY,
c4.c5 = !0)
}
;
this.c7 = function (C, F) {
if (!g || 0 >= y)
return !1;
C -= Math.floor((gA - x) / 2);
F -= cB - l - 2 * m0;
if (0 > C || 0 > F || C > x || F > l)
return !1;
C > x - l / 3 && F < l / 3 && (g = !1,
c4.c5 = !0);
return !0
}
;
this.cG = function () {
!g || 0 >= y || (cH.globalAlpha = y,
cH.drawImage(A, Math.floor((gA - x) / 2), cB - l - 2 * m0),
cH.globalAlpha = 1)
}
}
function kX() {
function g(n, z, y, A, B, C, F) {
0 !== fB[n] && 0 !== bU[n] && (y = gA * ((d0[n] + cz[n] + 1) / 2 - y) / (B - y) - .5 * z,
A = cB * ((d3[n] + d2[n] + 1) / 2 - A) / (C - A) - .5 * z,
y > gA || A > cB || y < -z || A < -z || (cH.setTransform(g3 * F, 0, 0, g3 * F, y, A),
cH.drawImage(x[dA ? dW.dX[n] : n < cq ? 1 : 0], 0, 0)))
}
var k, x, l, t;
this.bp = function () {
var n;
x = [];
k = !1;
if (fY)
if (t = 0,
l = 63,
k = !0,
dA)
for (n = 0; n <= j5; n++)
x.push(this.tb(dW.tc[dW.id[n]], l));
else
x.push(this.tb(dW.tc[0], l)),
x.push(this.tb(dW.tc[4], l))
}
;
this.dF = function () {
k && 349 === ++t && (x = [],
k = !1)
}
;
this.tb = function (n, z) {
var y = document.createElement("canvas");
y.width = z;
y.height = z;
var A = y.getContext("2d", {
alpha: !0
});
A.clearRect(0, 0, z, z);
var B = A.getImageData(0, 0, z, z), C = B.data, F, E, H = Math.floor(z / 2), J = 1 + H * H;
for (F = z - 1; 0 <= F; F--)
for (E = z - 1; 0 <= E; E--) {
var K = (F - H) * (F - H) + (E - H) * (E - H);
var D = 4 * (E * z + F);
C[D] = n[0];
C[D + 1] = n[1];
C[D + 2] = n[2];
K = Math.floor((J - K) * n[3] / J);
C[D + 3] = 0 < K ? K : 0
}
A.putImageData(B, 0, 0);
return y
}
;
this.cG = function () {
if (k) {
var n;
cH.imageSmoothingEnabled = !0;
cH.globalAlpha = 1 - (160 < t ? (t - 160) / 190 : 0);
var z = g8 / g3
, y = g9 / g3
, A = (gA + g8) / g3
, B = (cB + g9) / g3;
var C = .25;
var F = l * g3 * C;
for (n = b8 - 1; n >= cq; n--)
g(n, F, z, y, A, B, C);
C = .5;
F = l * g3 * C;
for (n = cq - 1; 0 <= n; n--)
g(n, F, z, y, A, B, C);
cH.globalAlpha = 1;
cH.imageSmoothingEnabled = 3 > g3;
cH.setTransform(g3, 0, 0, g3, 0, 0)
}
}
}
function fH(g, k, x) {
if (!(0 === fB[g] || 0 > x || 1E3 < x || 2 === fP[g])) {
var l = as(x * ax[g], 1E3);
10 === dr && k < cq && 2 !== fP[k] && (l = eB.tj(g, l));
if (dA && k < b8 && !ch(g, k))
da(g, k, l);
else {
k < b8 && 0 === fB[k] && (k = b8);
var t = as(3 * ax[g], 256);
l -= 500 <= x ? t : 0;
if (!(l <= at) && ae.dD(g)) {
var n = b4[g].length;
k === b8 ? cX(g) : cS(g, k);
if (0 !== n || 0 !== b4[g].length)
dA && (d7[g] = 1),
g === aw && (b0.b1[0] += 500 <= x ? x - 12 : x,
b0.b1[1]++,
b0.b1[12] += t,
b0.b1[13] += l),
cP(n, g),
ae.cQ(g, l, k),
ax[g] -= l + t,
au.cR(g, !1)
}
}
}
}
function eu(g, k, x, l) {
10 === dr && g < cq && (l = eB.tj(g, l));
if (l <= at || !ae.dD(g))
return !1;
k = eG.cR(g, k, x);
if (0 === k)
return !1;
x = as(3 * ax[g], 128);
l >= as(ax[g], 2) && (l -= x);
g === aw && (b0.b1[12] += x);
ae.tk(g, l, k);
ax[g] -= l + x;
return !0
}
function da(g, k, x) {
if (!(!dA || 0 === fB[g] || 0 === fB[k] || 0 > x || x > ax[g] || g === k || ch(g, k) || g < cq && k < cq && 7 > dr && 1071 > c4.dU())) {
var l = as(ax[g], 16);
x -= x >= as(ax[g], 2) ? l : 0;
var t = bU[k] * iz - ax[k];
0 >= t || (x = x > t ? t : x,
// if the donating player is us, show a message and add to statistics
g === aw && (e5.n1(x, k), b0.b1[12] += l, b0.b1[16] += x),
// if the receiving player is us, show message and add to statistics
k === aw && (e5.n3(x, g), b0.b1[10] += x),
// remove points (+tax) from donating player
2022-12-25 08:25:12 -08:00
ax[g] -= x + l,
// add points to receiving player
ax[k] += x,
// track donations
((!gE[g].startsWith("[Bot] ") || settings.showBotDonations) && donationsTracker.logDonation(g,k,x))
//donationsTracker.logDonation(g,k,x)
)
2022-12-25 08:25:12 -08:00
}
}
function tl() {
this.ix = this.h5 = this.tm = !1;
this.tn = [0, 0, 0, 0];
this.to = function () {
this.ix = this.ix || this.h5;
if (this.h5 || this.tm && this.ix) {
var g = gu.tp[0]
, k = gu.tp[1]
, x = gu.tp[2]
, l = gu.tp[3];
g = g < this.tn[0] ? this.tn[0] : g;
k = k < this.tn[1] ? this.tn[1] : k;
x = x > this.tn[2] ? this.tn[2] : x;
l = l > this.tn[3] ? this.tn[3] : l;
this.tm = this.h5 = !1;
g === this.tn[0] && k === this.tn[1] && x === this.tn[2] && l === this.tn[3] ? this.iy() : x >= g && l >= k && jP.putImageData(jQ, 0, 0, g, k, x - g + 1, l - k + 1)
}
}
;
this.iy = function () {
this.ix && this.tn[2] >= this.tn[0] && this.tn[3] >= this.tn[1] && jP.putImageData(jQ, 0, 0, this.tn[0], this.tn[1], this.tn[2] - this.tn[0] + 1, this.tn[3] - this.tn[1] + 1);
this.ix = !1
}
;
this.ir = function () {
this.tn[2] >= this.tn[0] && this.tn[3] >= this.tn[1] && jP.putImageData(jQ, 0, 0, this.tn[0], this.tn[1], this.tn[2] - this.tn[0] + 1, this.tn[3] - this.tn[1] + 1);
this.ix = !1
}
;
this.bp = function () {
var g;
this.ix = this.h5 = this.tm = !1;
this.tn[0] = aZ;
this.tn[1] = aa;
this.tn[2] = this.tn[3] = 0;
var k = 1;
a: for (; k < aZ - 1; k++)
for (g = aa - 2; 1 < g; g--)
if (1 === tq[b5.ex(k, g) + 2]) {
this.tn[0] = k;
break a
}
g = 1;
a: for (; g < aa - 1; g++)
for (k = aZ - 2; 1 < k; k--)
if (1 === tq[b5.ex(k, g) + 2]) {
this.tn[1] = g;
break a
}
k = aZ - 2;
a: for (; 0 < k; k--)
for (g = aa - 2; 1 < g; g--)
if (1 === tq[b5.ex(k, g) + 2]) {
this.tn[2] = k;
break a
}
g = aa - 2;
a: for (; 0 < g; g--)
for (k = aZ - 2; 1 < k; k--)
if (1 === tq[b5.ex(k, g) + 2]) {
this.tn[3] = g;
break a
}
}
}
function tr() {
this.l7 = !1;
this.m7 = null;
this.ts = 0;
this.cw = this.c1 = null;
this.tt = .013;
this.tu = .022;
this.tv = .025;
this.tx = 3;
this.ty = 1.2;
this.tz = .2;
this.u0 = .235;
this.u1 = .9;
this.u2 = .08;
var g = ["Top Players", "Top Clans", "Top Players So Far", "Top Clans So Far"], k, x = [-1E6, -1E6];
this.position = [0, 0];
this.u7 = [0, 0];
this.bp = function () {
this.m7 = [null, null];
this.l7 = !1;
this.ts = 0;
this.lq()
}
;
this.cE = function (l) {
this.ts = l;
this.l7 = !0;
this.bv();
jX.ta();
c4.c5 = !0
}
;
this.dF = function () {
this.l7 && this.bv()
}
;
this.bv = function () {
c4.gY - 12E4 >= x[this.ts] && (x[this.ts] = c4.gY,
this.u7 = [0, 0],
e9.rb(0, 1 + this.ts) && ii.u8(0, this.ts))
}
;
this.lq = function () {
var l;
this.c1 = this.u9(q ? .85 : .66, .75, r, s);
this.cw = Math.floor(this.c1 / .75);
for (l = 1; 0 <= l; l--)
this.m7[l] && (this.m7[l][4] = bt + Math.floor(this.m7[l][5] * this.cw / 10) + bu);
k = bt + Math.floor(.1 * this.cw) + bu
}
;
this.u9 = function (l, t, n, z) {
return n < t * z ? Math.floor(l * n) : Math.floor(t * l * z)
}
;
this.uA = function (l, t, n, z, y, A, B) {
this.position[l] = B;
var C = t.length
, F = bt + Math.floor(y * this.cw / 10) + bu;
this.uF(t, F, A * this.c1);
z = [[], C, -1, z, F, y, 10 * B];
for (y = 0; y < C; y++)
A = {
name: t[y].name,
value: t[y].i4 / n,
colorIndex: t[y].colorIndex
},
z[0].push(A);
this.m7[l] = z;
this.uG(l);
t = this.m7[l][0][0].name;
1 === l && (t = "[" + t + "]");
0 === B && uH.br(l, t);
c4.c5 = !0
}
;
this.uG = function (l) {
this.m7[l][0].sort(function (t, n) {
return n.value - t.value
})
}
;
this.uI = function (l, t, n, z) {
if (this.m7 && this.m7[l]) {
var y, A = !1, B = 383 / 384;
if (0 === l) {
for (y = 0; y < this.m7[l][0].length; y++)
if (t === this.m7[l][0][y].name && n > .99 * this.m7[l][0][y].value && n < 1.01 * this.m7[l][0][y].value) {
this.m7[l][0][y].value = z;
A = !0;
break
}
A || this.m7[l][0].push({
name: t,
value: z
})
} else {
for (y = 0; y < this.m7[l][0].length; y++)
if (t === this.m7[l][0][y].name) {
this.m7[l][0][y].value += 32 < this.m7[l][0][y].value ? (64 - this.m7[l][0][y].value) / 256 : .25;
this.m7[l][0][y].value *= 1 / B;
A = !0;
break
}
for (y = 0; y < this.m7[l][0].length; y++)
this.m7[l][0][y].value *= B;
A || this.m7[l][0].push({
name: t,
value: .25
})
}
this.uG(l)
}
}
;
this.uF = function (l, t, n) {
for (var z = l.length - 1; 0 <= z; z--)
for (; 3 < l[z].name.length && c2.measureText(l[z].name, t) > n;)
l[z].name = l[z].name.substring(0, l[z].name.length - 4) + "..."
}
;
this.c7 = function (l, t) {
if (!this.l7)
return !1;
l -= (gA - this.c1) / 2;
t -= (cB - this.cw) / 2;
if (0 > l || l > this.c1 || 0 > t || t > this.cw)
return this.l7 = !1,
0 === aJ.pR() && jd.cE(0, !0),
c4.c5 = !0;
if (t < .3 * this.cw)
var n = 1;
else
t < .85 * this.cw ? (n = (0 === this.ts ? 14.1 : 3) * (t - .3 * this.cw) / (.55 * this.cw),
n = Math.floor(1 + n * n)) : n = 0 === this.ts ? 200 : 10;
this.u7[this.ts] = l < this.c1 / 2 ? -n : n;
if (x[this.ts] + 50 > c4.gY)
return !0;
x[this.ts] = c4.gY;
e9.rb(0, 1 + this.ts) && ii.u8(0, this.ts);
return !0
}
;
this.cG = function () {
if (this.l7) {
var l = this.tt * this.c1
, t = this.tx * l
, n = this.tu * this.c1
, z = this.ty * n
, y = this.tv * this.c1
, A = Math.floor(.25 * this.cw);
cH.setTransform(1, 0, 0, 1, (gA - this.c1) / 2, (cB - this.cw) / 2);
cH.fillStyle = 0 === this.ts ? oT : oO;
cH.fillRect(0, 0, this.c1, A);
cH.fillStyle = o8;
cH.fillRect(0, A, this.c1, this.cw - A);
cH.fillStyle = cK;
cH.font = k;
cH.textBaseline = cI;
cH.textAlign = cJ;
cH.fillText(g[this.ts], Math.floor(this.c1 / 2), Math.floor(.135 * this.cw));
cH.font = bt + Math.floor(.025 * this.cw) + bu;
cH.fillText(g[this.ts + 2], Math.floor(this.c1 / 2), Math.floor(.2125 * this.cw));
cH.beginPath();
cH.moveTo(this.c1 / 4, 0);
cH.lineTo(this.c1 / 2 - l, 0);
cH.lineTo(this.c1 / 2, -t);
cH.lineTo(this.c1 / 2 + l, 0);
cH.lineTo(this.c1 - n, 0);
cH.lineTo(this.c1 + z, -z);
cH.lineTo(this.c1, n);
cH.lineTo(this.c1, this.cw / 2 - l);
cH.lineTo(this.c1 + t, this.cw / 2);
cH.lineTo(this.c1, this.cw / 2 + l);
cH.lineTo(this.c1, this.cw - n);
cH.lineTo(this.c1 + z, this.cw + z);
cH.lineTo(this.c1 - n, this.cw);
cH.lineTo(this.c1 / 2 + l, this.cw);
cH.lineTo(this.c1 / 2, this.cw + t);
cH.lineTo(this.c1 / 2 - l, this.cw);
cH.lineTo(n, this.cw);
cH.lineTo(-z, this.cw + z);
cH.lineTo(0, this.cw - n);
cH.lineTo(0, this.cw / 2 + l);
cH.lineTo(-t, this.cw / 2);
cH.lineTo(0, this.cw / 2 - l);
cH.lineTo(0, n);
cH.lineTo(-z, -z);
cH.lineTo(n, 0);
cH.lineTo(this.c1 / 4, 0);
cH.lineTo(this.c1 / 4, y);
cH.lineTo(y, y);
cH.lineTo(y, this.cw - y);
cH.lineTo(this.c1 - y, this.cw - y);
cH.lineTo(this.c1 - y, y);
cH.lineTo(this.c1 / 4, y);
cH.fill();
this.m7[this.ts] && this.uO(A);
this.uP(A);
cH.setTransform(1, 0, 0, 1, 0, 0)
}
}
;
this.uP = function (l) {
var t = mU(2, Math.floor(.06 * this.c1));
t -= t % 2;
var n = mU(2, Math.floor(.01 * this.c1));
n -= n % 2;
l = Math.floor(.82 * l);
cH.fillRect(t, l, t, n);
cH.fillRect(this.c1 - t - t, l, t, n);
cH.fillRect(Math.floor(this.c1 - t - t + (t - n) / 2), Math.floor(l - (t - n) / 2), n, t)
}
;
this.uO = function (l) {
cH.font = this.m7[this.ts][4];
for (var t, n = this.m7[this.ts][1] - 1; 0 <= n; n--)
cH.textAlign = oc,
t = Math.floor(this.u2 * this.cw + l + n * ((1 - 2 * this.u2) * this.cw - l) / 9),
cH.fillText(this.m7[this.ts][0][n].value.toFixed(this.m7[this.ts][3]), Math.floor(this.u1 * this.c1), t),
cH.fillText(n + 1 + this.m7[this.ts][6] + ".", Math.floor(this.tz * this.c1), t),
cH.textAlign = mZ,
cH.fillText(this.m7[this.ts][0][n].name, Math.floor(this.u0 * this.c1), t)
}
}
function uQ() {
var g, k, x, l, t, n, z, y, A, B, C, F, E;
this.l7 = !1;
this.bp = function (H, J) {
if (13 <= d)
J ? F = H : F === H && e.saveString(200, H);
else if (J) {
(cC.m7[1].iY.l7 || cC.m7[2].iY.l7) && cC.ua();
jX.ta();
F = H;
A = Math.floor((q ? r > s ? .6 : .45 : .4) * pB);
x = A / bw.bz(17).width;
t = Math.floor(x * bw.bz(17).height);
n = Math.floor(.4 * t);
z = Math.floor(.6 * t);
y = Math.floor(2.5 * z);
l = t + n + 3 * z;
var K = bt + Math.floor(n / pF) + bu;
B = Math.floor(pF * c2.measureText(F, K));
C = (B > A ? B : A) + 2 * y;
g = Math.floor((gA - C) / 2);
k = Math.floor((cB - l) / 2);
E = document.createElement("a");
E.appendChild(document.createTextNode(F));
E.title = F;
E.target = "blank";
E.href = F;
E.style.font = K;
E.style.textAlign = "center";
E.style.color = cK;
E.style.position = "absolute";
E.style.padding = "0px";
E.style.margin = "0px";
E.style.top = Math.floor((k + 2 * z + t) / pF) + "px";
E.style.left = Math.floor((g + (C - B) / 2) / pF) + "px";
document.body.appendChild(E);
this.l7 = !0;
c4.c5 = !0
}
}
;
this.lA = function () {
if (!this.l7)
return !1;
document.body.removeChild(E);
this.l7 = !1;
return !0
}
;
this.c7 = function (H, J) {
if (!this.l7)
return !1;
if (H < g || J < k || H > g + C || J > k + l)
c4.c5 = !0,
this.l7 = !1,
document.body.removeChild(E),
0 === aJ.pR() && jd.cE(0, !0);
return !0
}
;
this.cG = function () {
this.l7 && (cH.imageSmoothingEnabled = !0,
cH.setTransform(1, 0, 0, 1, g, k),
cH.fillStyle = hq,
cH.fillRect(0, 0, C, l),
cH.lineWidth = op,
cH.strokeStyle = cK,
cH.strokeRect(0, 0, C, l),
cH.setTransform(x, 0, 0, x, g + (C - A) / 2, k + z),
cH.drawImage(bw.bz(17), 0, 0),
cH.setTransform(1, 0, 0, 1, 0, 0))
}
}
function ub() {
var g = 0
, k = [0, 0, 0, 0, 0]
, x = [0, 0, 0, 0, 0]
, l = [1, 1, 1, 1, 1]
, t = [!0, !0, !0, !1, !0];
this.uc = [!0, !0, !0, !1, !0];
var n = null, z;
this.ud = function (y, A) {
n = y;
t = A;
z = [og, oh, oi, oj, ok];
this.bp()
}
;
this.bp = function () {
if (bw.bx()) {
var y = Math.floor((q ? .261 : .195) * bq);
var A = Math.floor(.9 * y)
, B = Math.floor(.17 * A);
g = q ? 2 * m0 : m0;
l[0] = y / n[0].width;
l[1] = A / n[1].width;
l[2] = B / n[2].height;
l[3] = B / n[3].height;
l[4] = B / n[4].height;
l[3] *= 1.07;
k[0] = g;
k[1] = g;
k[2] = g;
k[3] = g;
k[4] = Math.floor(2 * g + l[3] * n[3].width);
x[0] = g;
x[1] = x[0] + g + l[0] * n[0].height;
x[2] = x[1] + g + l[1] * n[1].height;
x[3] = x[2] + g + l[2] * n[2].height;
x[4] = x[3];
if (!t[0])
for (y = 0; 5 > y; y++)
x[y] -= l[0] * n[0].height + g;
if (!t[1])
for (y = 2; 5 > y; y++)
x[y] -= l[1] * n[1].height + g
}
}
;
this.l7 = function () {
return !(7 === aJ.pR() && q)
}
;
this.c7 = function (y, A, B) {
if (!n || !this.l7())
return !1;
var C;
for (C = t.length - 1; 0 <= C; C--)
if (t[C] && this.uc[C] && y > k[C] && A > x[C] && y < k[C] + l[C] * n[C].width && A < x[C] + l[C] * n[C].height)
return nN.bp(z[C], B),
!0;
return !1
}
;
this.cG = function () {
if (n && this.l7()) {
cH.imageSmoothingEnabled = !0;
var y;
for (y = 0; 5 > y; y++)
t[y] && this.uc[y] && (cH.setTransform(l[y], 0, 0, l[y], k[y], x[y]),
cH.drawImage(n[y], 0, 0));
cH.setTransform(1, 0, 0, 1, 0, 0)
}
}
}
function k4() {
function g(t) {
var n = ja.uh[t]
, z = n.fF
, y = n.fG
, A = n.c1
, B = n.cw;
cH.fillStyle = n.uk;
cH.fillRect(z, y, A, B);
t === k && (cH.fillStyle = l,
cH.fillRect(z, y, A, B));
cH.lineWidth = 3;
cH.strokeStyle = x;
cH.strokeRect(z, y, A, B);
t = n.fF;
z = n.fG;
y = n.c1;
A = n.cw;
cH.textAlign = cJ;
cH.textBaseline = cI;
cH.font = n.font;
cH.fillStyle = x;
cH.fillText(n.nR, Math.floor(t + y / 2), Math.floor(z + A / 2 + .1 * n.by))
}
var k, x, l;
this.f2 = this.fG = this.cw = this.c1 = 0;
this.bp = function () {
k = -1;
x = cK;
l = "rgba(255,255,255,0.16)";
this.uh = Array(7);
this.cw = Math.floor((q ? .123 : .093) * bq);
this.c1 = Math.floor((q ? 3.96 : 4.2) * this.cw);
this.f2 = Math.floor(.025 * this.c1);
var t = Math.floor(.26 * this.cw)
, n = bt + t + bu;
this.uh[0] = {
fF: 0,
fG: 0,
c1: Math.floor(.6 * this.c1 - this.f2 / 2),
cw: this.cw,
nR: "Multiplayer",
font: n,
uk: "rgba(22,88,22,0.8)",
by: t
};
t = Math.floor(.18 * this.cw);
n = bt + t + bu;
this.uh[1] = {
fF: 0,
fG: 0,
c1: this.c1 - this.uh[0].c1 - this.f2,
cw: this.cw,
nR: "Singleplayer",
font: n,
uk: "rgba(22,88,88,0.8)",
by: t
};
this.uh[2] = {
fF: 0,
fG: 0,
c1: this.c1,
cw: Math.floor(.3 * this.cw),
nR: "",
font: this.uh[1].font,
uk: "rgba(100,0,0,0.8)",
by: this.uh[1].by
};
this.uh[3] = {
fF: 0,
fG: 0,
c1: this.c1,
cw: this.cw,
nR: "Back",
font: this.uh[0].font,
uk: "rgba(0,0,0,0.8)",
by: this.uh[0].by
};
this.uh[4] = {
fF: 0,
fG: 0,
c1: this.c1,
cw: Math.floor(.3 * this.cw),
nR: "The game was updated!",
font: this.uh[1].font,
uk: "rgba(100,0,0,0.8)",
by: this.uh[1].by
};
this.uh[5] = {
fF: 0,
fG: 0,
c1: this.uh[0].c1,
cw: Math.floor(.8 * this.cw),
nR: "Reload",
font: this.uh[0].font,
uk: "rgba(0,100,0,0.8)",
by: this.uh[0].by
};
this.uh[6] = {
fF: 0,
fG: 0,
c1: this.uh[1].c1,
cw: this.uh[5].cw,
nR: "Back",
font: this.uh[0].font,
uk: "rgba(0,0,0,0.8)",
by: this.uh[0].by
};
this.rj()
}
;
this.rj = function () {
this.fG = Math.floor(.54 * cB);
this.uh[0].fF = Math.floor(.5 * gA - .5 * this.c1);
this.uh[1].fF = this.uh[0].fF + this.uh[0].c1 + this.f2;
this.uh[2].fF = this.uh[3].fF = this.uh[0].fF;
this.uh[4].fF = this.uh[5].fF = this.uh[0].fF;
this.uh[6].fF = this.uh[1].fF;
this.uh[0].fG = Math.floor(.54 * cB);
this.uh[1].fG = this.uh[0].fG;
this.uh[2].fG = Math.floor((cB - this.uh[2].cw - this.uh[3].cw - this.f2) / 2);
this.uh[3].fG = this.uh[2].fG + this.uh[2].cw + this.f2;
this.uh[4].fG = Math.floor((cB - this.uh[4].cw - this.uh[5].cw - this.f2) / 2);
this.uh[5].fG = this.uh[6].fG = this.uh[4].fG + this.uh[4].cw + this.f2
}
;
this.ul = function () {
g(0);
g(1)
}
;
this.un = function () {
g(2);
g(3)
}
;
this.uo = function () {
g(4);
g(5);
g(6)
}
;
this.lh = function (t, n, z) {
var y = -1;
0 === aJ.pR() ? y = this.pI(t, n, 0, 2) : 3 === aJ.pR() ? y = this.pI(t, n, 3, 1) : 5 === aJ.pR() && (y = this.pI(t, n, 5, 2));
k !== y && (k = y,
z && (c4.c5 = !0));
return -1 !== y ? (jZ.pN(),
!0) : !1
}
;
this.pI = function (t, n, z, y) {
for (var A = z; A < z + y; A++)
if (t >= this.uh[A].fF && n >= this.uh[A].fG && t <= this.uh[A].fF + this.uh[A].c1 && n <= this.uh[A].fG + this.uh[A].cw)
return A;
return -1
}
}
function ur() {
function g(k) {
return 0 > k ? 0 : 255 < k ? 255 : Math.floor(k)
}
this.cw = this.c1 = 0;
this.l7 = !1;
this.uv = this.uu = this.ut = this.nl = this.f2 = this.us = 0;
this.colors = null;
this.bp = function () {
r < 2 * s ? this.c1 = Math.floor((q ? .94 : .4) * r) : (this.cw = Math.floor((q ? .88 : .4) * s),
this.c1 = Math.floor(2 * this.cw));
this.cw = this.c1 / 2;
this.f2 = this.cw / 16;
this.l7 = !0;
this.us = 0;
this.ut = (this.cw - 3 * this.f2) / 2;
this.uu = this.c1 - 3 * this.f2 - this.ut;
this.uv = (this.cw - 4 * this.f2) / 3
}
;
this.uw = function () {
this.colors = [[0, 0, 0], [0, 0, 0]];
var k = v().split("");
if (6 !== k.length)
for (k = 2; 0 <= k; k--)
this.colors[0][k] = g(256 * Math.random());
else
for (var x = 2; 0 <= x; x--)
this.colors[0][x] = g(4 * (10 * parseInt(k[2 * x]) + parseInt(k[2 * x + 1])));
this.uy()
}
;
this.uz = function () {
return [as(this.colors[0][0], 4), as(this.colors[0][1], 4), as(this.colors[0][2], 4)]
}
;
this.c7 = function (k, x) {
this.us = 0;
var l = (cB - this.cw) / 2;
k -= (gA - this.c1) / 2;
x -= l;
if (0 > k || 0 > x || k >= this.c1 - 1 || x >= this.cw - 1)
return this.l7 = !1,
0 === aJ.pR() && jd.cE(0, !0),
c4.c5 = !0,
!1;
if (k < this.f2 || x < this.f2 || k >= this.c1 - this.f2 || x >= this.cw - this.f2)
return !0;
if (k < this.f2 + this.ut)
return x < this.f2 + this.ut && 0 !== this.nl && (this.nl = 0,
c4.c5 = !0),
!0;
if (k < 2 * this.f2 + this.ut)
return !0;
k -= 2 * this.f2 + this.ut;
if (x < this.f2 + this.uv)
return this.us = 1,
this.colors[this.nl][0] = g(256 * k / this.uu),
c4.c5 = !0;
if (x < 2 * this.f2 + this.uv)
return !0;
if (x < 2 * this.f2 + 2 * this.uv)
return this.us = 2,
this.colors[this.nl][1] = g(256 * k / this.uu),
c4.c5 = !0;
x >= 3 * this.f2 + 2 * this.uv && (this.us = 3,
this.colors[this.nl][2] = g(256 * k / this.uu),
c4.c5 = !0);
return !0
}
;
this.uy = function () {
for (var k = 2; 0 <= k; k--)
this.colors[0][k] = g(this.colors[0][k])
}
;
this.v0 = function () {
for (var k = "", x, l = 0; 3 > l; l++)
x = as(this.colors[0][l], 4),
10 > x && (k += "0"),
k += x.toString();
a8(k)
}
;
this.lh = function (k) {
0 !== this.us && (k -= 2 * this.f2 + this.ut + (gA - this.c1) / 2,
this.colors[this.nl][this.us - 1] = g(256 * k / this.uu),
c4.c5 = !0)
}
;
this.v1 = function () {
0 < this.us && (this.us = 0,
this.uy(),
this.v0(),
c4.c5 = !0)
}
;
this.cG = function () {
cH.setTransform(1, 0, 0, 1, (gA - this.c1) / 2, (cB - this.cw) / 2);
cH.fillStyle = hq;
cH.fillRect(0, 0, this.c1, this.cw);
cH.lineWidth = op;
cH.strokeStyle = cK;
cH.strokeRect(-1, -1, this.c1 + 2, this.cw + 2);
cH.font = bt + Math.floor(.8 * this.ut) + bu;
cH.textBaseline = cI;
cH.textAlign = cJ;
this.v2(0);
cH.lineWidth = op;
this.v3(0);
this.v3(1);
this.v3(2);
cH.setTransform(1, 0, 0, 1, 0, 0)
}
;
this.v2 = function (k) {
cH.fillStyle = "rgb(" + this.colors[k][0] + "," + this.colors[k][1] + "," + this.colors[k][2] + ")";
cH.fillRect(this.f2, this.f2, this.ut, 2 * this.ut + this.f2);
cH.lineWidth = 2 + op;
cH.strokeStyle = cK;
cH.strokeRect(this.f2, this.f2, this.ut, 2 * this.ut + this.f2)
}
;
this.v3 = function (k) {
cH.fillStyle = "rgb(" + (0 === k ? 200 : 2 === k ? 50 : 0) + "," + (1 === k ? 200 : 2 === k ? 50 : 0) + "," + (2 === k ? 255 : 0) + ")";
cH.fillRect(2 * this.f2 + this.ut, this.f2 + k * (this.f2 + this.uv), Math.floor(this.colors[this.nl][k] * this.uu / 255), this.uv);
cH.strokeStyle = cK;
cH.strokeRect(2 * this.f2 + this.ut, this.f2 + k * (this.f2 + this.uv), this.uu, this.uv)
}
}
function k5() {
function g() {
return 0 === D ? 0 : 1 + (D - 1 + L) % (e9.vF - 1)
}
function k() {
D++;
K = c4.gY;
e9.rb(g(), 4) && (I = !0,
ii.vG(g()))
}
function x() {
0 === D ? jc.vL(3249) : (D === e9.vF - 1 && (D = -1),
k())
}
function l(N, G, M) {
var Q = Math.floor((gA - y) / 2) + C
, R = Q + Math.floor(M * (y - 2 * C));
cH.lineWidth = G;
cH.beginPath();
cH.moveTo(Q, N);
cH.lineTo(R, N);
cH.lineTo(Math.floor(Q - C + M * y), N + z);
cH.lineTo(Q - C, N + z);
cH.closePath()
}
var t, n, z, y, A, B, C, F, E, H, J, K, D, L = 0, I;
this.bp = function () {
aJ.setState(6);
t = 0;
n = 1;
F = "rgba(0,220,120,0.4)";
E = "rgba(0,0,0,0.8)";
this.lq();
c4.c5 = !0;
D = 0;
I = !1;
k()
}
;
this.lq = function () {
y = Math.floor((q ? .5 : .25) * bq);
A = y + 12;
z = Math.floor(.125 * y);
C = 3 * z;
B = Math.floor(.225 * y);
J = Math.floor(.3 * z);
H = oe + J + bu
}
;
this.vD = function (N) {
L = N
}
;
this.vH = function (N) {
N === g() && (I = !1,
x())
}
;
this.rd = function (N) {
6 !== aJ.pR() || I || (K = c4.gY,
I = !0,
ii.vG(N))
}
;
this.c7 = function (N, G) {
var M = Math.floor((gA - A) / 2)
, Q = Math.floor(.5 * (cB - cA - z - B)) + z + cA;
return N > M && N < M + A && G > Q && G < Q + B ? (this.vM(),
ja.lh(N, G, !1),
!0) : !1
}
;
this.vM = function () {
e9.vN(3260);
jX.bp();
c4.c5 = !0
}
;
this.dF = function () {
6 === aJ.pR() && (I ? c4.gY > K + 2E4 && jc.vL(3250) : c4.gY > K + 2E4 && x(),
t += .07 * n * (16 > t ? 5 + t : 84 < t ? 105 - t : 17),
100 < t ? (t = 100,
n = -1) : 0 > t && (t = 0,
n = 1),
F = "rgba(0," + Math.floor(190 - 1.9 * t) + "," + Math.floor(120 - 1.2 * t) + "," + (.4 + .004 * t) + ")",
E = "rgba(0," + Math.floor(1.9 * t) + "," + Math.floor(1.2 * t) + "," + (.8 - .004 * t) + ")",
c4.c5 = !0)
}
;
this.cG = function () {
var N = Math.floor((gA - A) / 2)
, G = Math.floor(.5 * (cB - cA - z - B))
, M = t / 100;
cH.fillStyle = E;
l(G, 3, 1);
cH.fill();
cH.fillStyle = F;
l(G, 3, M);
cH.fill();
cH.strokeStyle = cK;
l(G, 3, 1);
cH.stroke();
cH.textAlign = cJ;
cH.textBaseline = cI;
cH.font = H;
cH.fillStyle = cK;
cH.fillText("Loading", Math.floor(.5 * gA), Math.floor(G + .58 * z));
G = G + z + cA;
M = A;
var Q = B;
cH.fillStyle = o7;
cH.fillRect(N, G, M, Q);
cH.lineWidth = 3;
cH.strokeStyle = cK;
cH.strokeRect(N, G, M, Q);
var R = Math.floor(.3 * Q);
cH.textAlign = cJ;
cH.textBaseline = cI;
cH.font = oe + R + bu;
cH.fillStyle = cK;
cH.fillText("Back", Math.floor(N + M / 2), Math.floor(G + Q / 2 + .1 * R))
}
}
function k6() {
var g;
this.bp = function () {
ja.bp();
jd.bp();
g = 0;
vV.bp();
jX.bp();
jp.bp()
}
;
this.setState = function (k) {
g = k
}
;
this.pR = function () {
return g
}
;
this.vX = function () {
this.setState(8);
jk.ta();
cC.ua();
cD.l7 = !1;
nN.c7(-1E3, -1E3)
}
;
this.ua = function (k) {
if (!vY)
return !1;
if (!(400 > c4.gY)) {
if ("Enter" === k.key || "Escape" === k.key) {
if (this.vZ())
return 0 === g && jd.cE(0, !0),
!0;
if ("Enter" === k.key) {
if (0 === g)
return jX.va(),
!0;
if (7 === g)
return !0
}
}
return !1
}
}
;
this.vZ = function () {
return nN.lA() || cC.ua() ? !0 : cD.l7 ? (cD.l7 = !1,
!0) : !1
}
;
this.aK = function () {
c4.c5 = !0;
8 === g ? ge ? ge = !ge : hn.l7 ? hn.lv() : fm.lv() : 7 === g ? jk.vb() : 6 === g ? jb.vM() : 3 === g ? jc.vc(0, 0) : 2 === g ? du.vc() : 0 === g && (this.vZ() || a9(11))
}
;
this.c7 = function (k, x) {
if (!vV.c7(k, x) && vY && !(nN.c7(k, x) || 6 === g && jb.c7(k, x) || 2 === g && du.c7(k, x) || jm.c7(k, x) || cD.c7(k, x) || vd.c7(k, x, !0) || cC.c7(k, x, !0))) {
jZ.c7(k, x);
if (0 === g)
jX.c7(k, x);
else if (3 === g)
jc.c7(k, x);
else if (5 === g)
je.c7(k, x);
else if (7 === g && jk.c7(k, x))
return;
uH.c7(k, x)
}
}
;
this.lh = function (k, x) {
jm.lh(k, x);
if (!jZ.rZ) {
if (vV.lh(k, x)) {
jZ.pN();
return
}
if (2 === g && du.lh(k, x)) {
jZ.pN();
return
}
if (0 <= cC.pI(k, x)) {
jZ.pN();
return
}
if (cC.lh(k, x)) {
jZ.pN();
return
}
if (ja.lh(k, x, !0))
return
}
jZ.lh(k, x)
}
;
this.click = function (k, x) {
jZ.pO();
cC.v1() || vd.c7(k, x, !1) || cC.c7(k, x, !1)
}
;
this.pU = function (k, x, l) {
cC.m7[1].iY.l7 || 0 === g && jZ.pU(k, l)
}
;
this.ve = function () {
ja.rj();
cC.rj();
0 === g ? (jd.rj(0),
jZ.rj()) : 7 === g && jk.lq();
c4.c5 = !0
}
;
this.cG = function () {
if (8 !== g && 10 !== g) {
cH.imageSmoothingEnabled = !0;
this.hj();
jZ.cG();
jY.cG();
2022-12-28 10:21:31 -08:00
// draw background territorial.io logo
2022-12-25 08:25:12 -08:00
var k = Math.floor(.3 * cB)
, x = bw.l4("territorial.io")
, l = 1.75 * cB / x.width;
l = l * x.width < .98 * gA ? .98 * gA / x.width : l;
cH.globalAlpha = .15;
var t = Math.floor(.5 * (gA - l * x.width));
t = Math.floor(t / l);
k = Math.floor(k - .5 * x.height * l);
k = Math.floor(k / l);
cH.setTransform(l, 0, 0, l, t, k);
cH.drawImage(x, t, k);
cH.setTransform(1, 0, 0, 1, 0, 0);
cH.globalAlpha = 1;
vd.cG();
uH.cG();
cC.cG();
jm.cG();
0 === g ? jX.cG() : 2 === g ? du.cG() : 3 === g ? jc.cG() : 5 === g ? je.cG() : 6 === g ? jb.cG() : 7 === g && jk.cG();
cC.vg();
vV.cG();
cD.cG();
nN.cG()
}
}
;
this.hj = function () {
if (vY) {
var k = r / aZ
, x = s / aa;
k = k > x ? k : x;
cH.setTransform(k, 0, 0, k, Math.floor((r - k * aZ) / 2), Math.floor((s - k * aa) / 2));
cH.drawImage(hk, 0, 0);
cH.setTransform(1, 0, 0, 1, 0, 0);
cH.fillStyle = o7
} else
cH.fillStyle = gD;
cH.fillRect(0, 0, r, s)
}
}
function vj() {
this.cw = this.c1 = 0;
this.l7 = !1;
this.na = 10;
this.bB = .12;
this.vl = this.vk = this.us = !1;
this.bp = function () {
this.c1 = r < 1 * s ? Math.floor((q ? .94 : .6) * r) : Math.floor((q ? .94 : .6) * s);
this.c1 -= this.c1 % this.na;
this.cw = 1 * this.c1;
this.l7 = !0;
this.us = !1
}
;
this.c7 = function (g, k, x) {
var l = (cB - this.cw) / 2;
g -= (gA - this.c1) / 2;
k -= l;
if (0 > g || 0 > k || g >= this.c1 - 1 || k >= this.cw - 1)
return 0 === x && (this.l7 = !1,
0 === aJ.pR() && jd.cE(0, !0),
c4.c5 = !0),
!1;
l = Math.floor(this.c1 / this.na);
g = as(g, l) + this.na * as(k, l);
g = 0 > g ? 0 : g >= a5.ne ? a5.ne - 1 : g;
if (0 === x || 1 === x && !a5.a7[g] || 2 === x && a5.a7[g])
this.vk = !a5.a7[g],
this.vl = this.us = !0,
a5.a7[g] = !a5.a7[g],
a5.nw(),
c4.c5 = !0;
return !0
}
;
this.lh = function (g, k) {
this.us && this.c7(g, k, this.vk ? 1 : 2)
}
;
this.v1 = function () {
this.vl && (a3(),
this.vl = !1);
this.us = this.vl = !1
}
;
this.cG = function () {
cH.imageSmoothingEnabled = !0;
var g = (gA - this.c1) / 2
, k = (cB - this.cw) / 2;
cH.setTransform(1, 0, 0, 1, g, k);
cH.fillStyle = hq;
cH.fillRect(0, 0, this.c1, this.cw);
cH.lineWidth = op;
cH.strokeStyle = cK;
cH.strokeRect(-1, -1, this.c1 + 2, this.cw + 2);
for (var x = Math.floor(this.c1 / this.na), l = (x - 2 * this.bB * x) / a5.c1, t = a5.ne - 1; 0 <= t; t--)
cH.setTransform(1, 0, 0, 1, Math.floor(g + t % this.na * x), Math.floor(k + as(t, this.na) * x)),
a5.a7[t] && (cH.fillStyle = oF,
cH.fillRect(0, 0, x, x)),
cH.setTransform(l, 0, 0, l, Math.floor(g + t % this.na * x + this.bB * x), Math.floor(k + as(t, this.na) * x + this.bB * x)),
cH.drawImage(a5.l0[t], 0, 0);
cH.setTransform(1, 0, 0, 1, 0, 0);
cH.imageSmoothingEnabled = !1
}
}
function k7() {
function g() {
var n = aJ.pR();
0 === n ? jX.ta() : 6 === n ? e9.vN(x) : 7 === n ? (jk.ta(),
e9.close(e9.vo, 3240)) : 8 === n && (jU(),
jX.ta());
aJ.setState(3);
ja.rj();
ja.uh[2].nR = k(x);
c4.c5 = !0
}
function k(n) {
var z;
for (z = l.length - 1; 0 <= z; z--)
if (n === l[z].code)
return l[z].l;
return t + n
}
var x, l, t;
this.jM = function () {
l = [];
l.push({
l: "No Server Response",
code: 1006
});
l.push({
l: "Account successfully saved!",
code: 3231
});
l.push({
l: "Account Error",
code: 3232
});
l.push({
l: "No Servers Found",
code: 3249
});
l.push({
l: "Thanks for the vote.",
code: 3252
});
l.push({
l: "Please accept Cookies",
code: 3265
});
l.push({
l: "Invalid Password Format",
code: 3266
});
l.push({
l: "Lobby Timeout",
code: 4207
});
l.push({
l: "Invalid Username",
code: 4214
});
l.push({
l: "User already exists.",
code: 4224
});
l.push({
l: "No Client Response Error",
code: 4229
});
t = "Error "
}
;
this.bp = function (n, z) {
x = z;
var y = aJ.pR();
if (6 === y) {
if (4211 === z) {
je.bp(0, 0);
return
}
if (4214 !== z) {
jb.vH(n);
return
}
} else if (7 === y) {
if (n !== e9.vo)
return
} else {
8 === y && (n !== e9.jV || dt || e5.mf(k(z)));
return
}
g()
}
;
this.vL = function (n) {
x = n;
8 === aJ.pR() ? e5.mf(k(n)) : g()
}
;
this.lq = function () {
ja.uh[2].nR = k(x)
}
;
this.c7 = function (n, z) {
3 === ja.pI(n, z, 3, 1) && this.vc(n, z)
}
;
this.vc = function (n, z) {
jX.bp();
ja.lh(n, z, !1);
c4.c5 = !0
}
;
this.cG = function () {
ja.un()
}
}
function k8() {
function g() {
k.push({
input: document.createElement("INPUT"),
l7: !1,
color: x
});
var t = k.length - 1;
k[t].input.setAttribute("type", "text");
k[t].input.setAttribute("id", "userna");
k[t].input.value = "";
k[t].input.style.textAlign = 0 === t ? "center" : "left";
k[t].input.style.backgroundColor = x;
k[t].input.style.border = "3px solid " + cK;
k[t].input.style.color = cK;
k[t].input.style.position = "absolute";
k[t].input.readOnly = 3 === t;
k[t].input.addEventListener("input", function () {
0 === t && jX.vv()
})
}
var k, x, l;
this.bp = function () {
x = "rgba(0,0,0,0.6)";
l = oM;
void 0 !== k && this.cE(0, !1);
k = [];
g();
this.lq()
}
;
this.lq = function () {
var t = Math.floor(.22 * ja.cw / pF);
k[0].input.style.font = bt + t + bu;
k[0].input.style.padding = Math.floor(.3 * t) + "px 5px";
k[0].input.style.width = Math.floor(ja.c1 / pF - 13) + "px"
}
;
this.bz = function (t) {
return k[t]
}
;
this.rj = function (t) {
k[t].input.style.left = Math.floor((gA / pF - (ja.c1 / pF - 3) - 7) / 2) + "px";
0 === t && (k[t].input.style.bottom = Math.floor((cB - ja.fG + ja.f2) / pF) + "px")
}
;
this.cE = function (t, n) {
k[t].l7 !== n && ((k[t].l7 = n) ? document.body.appendChild(k[t].input) : document.body.removeChild(k[t].input))
}
;
this.vw = function (t, n) {
n && k[t].color === x || !n && k[t].color === l || (k[t].color = n ? x : l,
k[t].input.style.backgroundColor = k[t].color)
}
}
function kb() {
this.vz = this.vy = 0;
var g, k, x, l;
this.bp = function (t) {
if (7 === aJ.pR()) {
g = t;
k = 0;
x = c4.gY + 4500;
l = ji.w4(g) ? 2 : 0;
aJ.setState(10);
cH.imageSmoothingEnabled = !0;
aJ.hj();
t = bw.l4("loading");
var n = (q ? .396 : .25) * bq / t.width;
cH.setTransform(n, 0, 0, n, Math.floor((r - n * t.width) / 2), Math.floor((s - n * t.height) / 2));
cH.drawImage(t, 0, 0);
cH.setTransform(1, 0, 0, 1, 0, 0)
}
}
;
this.eV = function () {
0 < l && c4.gY > x && (l--,
x += 4500,
0 === c4.w6 && 0 === c4.w7 && (0 === l && e9.jV < e9.w8 && (e9.jV += e9.w9),
e9.rb(e9.jV, 5)))
}
;
this.wA = function () {
10 === aJ.pR() && (k++,
2 <= k && (ji.wB(g),
g = null))
}
}
function kY() {
function g(P, U) {
var W = F[P].getContext("2d", {
alpha: !0
});
W.clearRect(0, 0, 48, 48);
var X = 48 / U.width
, V = 48 / U.height;
X = V < X ? V : X;
W.setTransform(X, 0, 0, X, Math.floor((48 - X * U.width) / 2), Math.floor((48 - X * U.height) / 2));
W.drawImage(U, 0, 0);
W.setTransform(1, 0, 0, 1, 0, 0)
}
function k(P, U, W, X) {
X.beginPath();
X.moveTo(P, P);
X.lineTo(P + Math.cos(W) * U, P + Math.cos(W + 1.5 * Math.PI) * U);
X.stroke()
}
function x() {
if (7 === aJ.pR()) {
for (var P = -1, U = E.length - 1; 0 <= U; U--)
if (null === E[U].ll) {
P = U;
break
}
if (-1 !== P) {
U = l(E[P].ws, E[P].seedMap);
if (null !== U)
E[P].ll = U;
else {
U = aZ;
var W = aa
, X = hk
, V = pc
, na = wy
, ba = wz
, ca = wo
, pa = wp;
x0(E[P].ws, E[P].seedMap);
x1.x2();
var S = document.createElement("canvas");
S.width = 128;
S.height = 128;
var O = S.getContext("2d", {
alpha: !1
})
, T = 128 / aZ
, Y = 128 / aa;
Y > T && (T = Y);
O.imageSmoothingEnabled = !0;
O.setTransform(T, 0, 0, T, (128 - T * aZ) / 2, (128 - T * aa) / 2);
O.drawImage(hk, 0, 0);
aZ = U;
aa = W;
hk = X;
pc = V;
wy = na;
wz = ba;
wo = ca;
wp = pa;
E[P].ll = S
}
c4.c5 = !0
}
}
}
function l(P, U) {
for (var W = E.length - 1; 0 <= W; W--)
if (null !== E[W].ll && E[W].ws === P && E[W].seedMap === U)
return E[W].ll;
return null
}
function t(P, U) {
var W, X;
if (0 === E.length)
return !1;
var V = 0;
var na = B;
for (X = 0; X < y[1]; X++) {
var ba = A;
for (W = 0; W < y[0]; W++) {
if (P > ba && P < ba + n && U > na && U < na + n)
return ii.x4(E[V].wq),
J = E[V].wq !== J ? E[V].wq : -1,
c4.c5 = !0;
V++;
if (V >= E.length)
return !1;
ba += n + cA
}
na += n + cA
}
return !1
}
var n, z, y, A, B, C, F, E, H, J, K, D, L = ["Joined", "Skipped", "Multiplayer", "Singleplayer"], I = [0, 0, 0, 0], N, G, M, Q, R;
this.bp = function () {
R = 0; A
J = -1;
aJ.setState(7);
E = [];
this.lq();
var P;
F = Array(11);
for (P = F.length; 0 <= P; P--)
F[P] = document.createElement("canvas"),
F[P].width = 48,
F[P].height = 48;
for (P = 0; 7 > P; P++) {
var U = P + 2
, W = F[U - 2].getContext("2d", {
alpha: !0
})
, X = 1.5 * Math.PI;
W.lineWidth = 2;
W.strokeStyle = cK;
W.clearRect(0, 0, 48, 48);
for (var V = 0; V < U; V++) {
var na = X + 2 * Math.PI / U;
var ba = X
, ca = na
, pa = W;
pa.fillStyle = dW.wg[V + 1];
pa.beginPath();
pa.arc(24, 24, 23, ba, ca);
pa.lineTo(24, 24);
pa.fill();
0 !== V && k(24, 23, X, W);
X = na
}
k(24, 23, 1.5 * Math.PI, W);
W.beginPath();
W.arc(24, 24, 23, 0, 2 * Math.PI);
W.stroke()
}
g(7, bw.bz(4));
g(8, a5.l0[27]);
g(9, a5.l0[46]);
g(10, a5.l0[36]);
c4.c5 = !0
}
;
this.vb = function () {
this.ta();
e9.vN(3240);
jX.bp();
c4.c5 = !0
}
;
this.ta = function () {
E = [];
F = []
}
;
this.lq = function () {
var P, U;
y = [0, 0];
H = [0, 0, 0, 0];
q ? (K = Math.floor(.8 * .4 * bq),
D = Math.floor(.56 * K),
H[0] = cA,
r < s ? (H[1] = D + 2 * cA,
H[2] = r - 3 * H[0],
H[3] = uH.cF() - 3 * cA - D,
G = Math.floor(.95 * D),
M = Math.floor((r - K - cA) / 2),
Q = Math.floor(cA + D / 2)) : (H[1] = cA,
H[2] = r - 3 * cA - K,
H[3] = uH.cF() - 2 * cA,
G = Math.floor(.8 * K),
H[3] - D < K && (G = Math.floor(.8 * (H[3] - D)),
G = mU(D, G)),
M = Math.floor(r - K / 2 - cA),
Q = Math.floor(cA + D + (H[3] - D) / 2),
Q = mU(Q, Math.floor(D + 2 * cA + G / 2)))) : (K = Math.floor(.2016 * bq),
D = Math.floor(.56 * K),
H[2] = Math.floor(.5 * r),
H[3] = Math.floor(.5 * s),
H[1] = Math.floor(.45 * (s - H[3])),
H[0] = Math.floor((r - H[2]) / 2),
G = Math.floor(.75 * D),
M = Math.floor(r / 2),
Q = Math.floor(H[1] + H[3] + (s - H[3] - H[1]) / 2));
N = bt + Math.floor(.65 * D / 4) + bu;
for (P = U = 1; P * U < E.length;)
H[2] / (P + 1) > H[3] / (U + 1) ? P++ : U++;
var W = (H[2] - (P - 1) * cA) / P;
var X = (H[3] - (U - 1) * cA) / U;
n = W < X ? W : X;
z = Math.floor(n);
C = bt + Math.floor(.5 * n / 5) + bu;
y[0] = P;
y[1] = U;
A = H[0] + Math.floor((H[2] - y[0] * n - (y[0] - 1) * cA) / 2);
B = H[1] + Math.floor((H[3] - y[1] * n - (y[1] - 1) * cA) / 2)
}
;
this.uI = function (P, U) {
var W, X = E.length;
I = P;
for (W = 0; W < U.length; W++) {
var V = l(U[W].wo, U[W].wp);
E.push({
wq: U[W].id,
jB: U[W].jB,
jC: U[W].wr,
ws: U[W].wo,
seedMap: U[W].wp,
joined: U[W].wt,
nW: U[W].vR,
wu: U[W].wu,
ll: V
})
}
for (W = X - 1; 0 <= W; W--)
E.shift();
if (-1 !== J)
for (V = J,
J = -1,
W = E.length - 1; 0 <= W; W--)
if (E[W].wq === V) {
J = V;
break
}
if (E.length > R || E.length < R)
R = E.length,
this.lq();
this.wv();
c4.c5 = !0
}
;
this.wv = function () {
for (var P = E.length - 1; 0 <= P; P--)
null === E[P].ll && setTimeout(x, 0)
}
;
this.c7 = function (P, U) {
return 4 * ((P - M) * (P - M) + (U - Q) * (U - Q)) <= G * G ? (this.vb(),
ja.lh(P, U, !1),
!0) : t(P, U)
}
;
this.cG = function () {
var P = 0
, U = B;
cH.imageSmoothingEnabled = !0;
cH.lineWidth = 3;
var W = Math.floor(.5 * G);
cH.fillStyle = o7;
cH.beginPath();
cH.arc(M, Q, W, 0, 2 * Math.PI);
cH.fill();
cH.strokeStyle = cK;
cH.beginPath();
cH.arc(M, Q, W, 0, 2 * Math.PI);
cH.stroke();
W = bw.bz(0).height;
var X = .6 * G / W;
cH.setTransform(X, 0, 0, X, Math.floor(M - .56 * X * bw.bz(0).width), Math.floor(Q - .5 * X * W));
cH.drawImage(bw.bz(0), 0, 0);
cH.setTransform(1, 0, 0, 1, 0, 0);
cH.fillStyle = o7;
cH.fillRect(r - K - cA, cA, K, D);
0 <= J ? (cH.fillStyle = oF,
cH.fillRect(r - K - cA, cA, K, Math.floor(.25 * D))) : (cH.fillStyle = oa,
cH.fillRect(r - K - cA, cA + Math.floor(.25 * D), K, Math.floor(.25 * D)));
cH.strokeStyle = cK;
cH.strokeRect(r - K - cA, cA, K, D);
cH.fillStyle = cK;
cH.font = N;
cH.textBaseline = cI;
W = Math.floor(.04 * K);
X = Math.floor(.08 * D);
for (var V = 3; 0 <= V; V--) {
var na = Math.floor(cA + (V + 1) * (D + 2 * X) / 5 - X);
cH.textAlign = mZ;
cH.fillText(L[V], r - K - cA + W, na);
cH.textAlign = oc;
cH.fillText(eL.gF(I[V]), r - cA - W, na)
}
if (0 !== E.length)
for (X = 0; X < y[1]; X++) {
na = A;
for (W = 0; W < y[0]; W++) {
V = P;
var ba = Math.floor(na)
, ca = Math.floor(U);
if (null === E[V].ll)
cH.fillStyle = o7,
cH.fillRect(ba, ca, z, z);
else {
var pa = z / 128;
cH.setTransform(pa, 0, 0, pa, ba, ca);
cH.drawImage(E[V].ll, 0, 0);
cH.setTransform(1, 0, 0, 1, 0, 0)
}
if (J === E[V].wq) {
pa = ba;
var S = ca
, O = Math.floor(.2 * z)
, T = Math.floor(.3 * O);
cH.fillStyle = oH;
cH.fillRect(pa + z - O, S, O, O);
cH.fillStyle = gD;
cH.fillRect(pa + z - O, S, 2, O);
cH.fillRect(pa + z - O, S + O - 2, O, 2);
fm.m4(pa + z - O + T, S + T, O - 2 * T);
cH.setTransform(1, 0, 0, 1, 0, 0);
cH.lineWidth = 3;
cH.fillStyle = oH
} else
cH.fillStyle = o6;
S = Math.floor(n / 4);
cH.fillRect(ba, Math.floor(ca + .8 * n), z, Math.floor(n / 5));
cH.fillRect(ba, ca, S, S);
cH.fillStyle = gD;
cH.fillRect(ba, Math.floor(ca + .8 * n), z, 2);
cH.fillRect(ba + S - 2, ca, 2, S);
cH.fillRect(ba, ca + S - 2, S, 2);
cH.font = C;
cH.textBaseline = cI;
cH.textAlign = mZ;
cH.fillStyle = oU;
cH.fillText(E[V].joined.toString(), Math.floor(ba + .07 * n), Math.floor(ca + .9 * n));
256 >= E[V].wu && (cH.textAlign = cJ,
cH.fillStyle = oD,
cH.fillText(E[V].wu.toString(), Math.floor(ba + .5 * n), Math.floor(ca + .9 * n)));
cH.textAlign = oc;
cH.fillStyle = oP;
cH.fillText(E[V].nW.toString(), Math.floor(ba + .93 * n), Math.floor(ca + .9 * n));
cH.strokeStyle = oV;
cH.strokeRect(ba, ca, z, z);
O = Math.floor(.16 * n);
pa = O / 48;
cH.setTransform(pa, 0, 0, pa, Math.floor(ba + (S - O) / 2), Math.floor(ca + (S - O) / 2));
F.length > E[V].jB && cH.drawImage(F[E[V].jB], 0, 0);
cH.setTransform(1, 0, 0, 1, 0, 0);
E[V].jC && (V = bw.bz(4),
pa = .5 * n / V.width,
cH.setTransform(pa, 0, 0, pa, Math.floor(ba + (n - pa * V.width) / 2), Math.floor(ca + (n - pa * V.height) / 2)),
cH.globalAlpha = .6,
cH.drawImage(V, 0, 0),
cH.globalAlpha = 1,
cH.setTransform(1, 0, 0, 1, 0, 0));
P++;
if (P >= E.length)
return;
na += n + cA
}
U += n + cA
}
}
}
function k9() {
this.bp = function (g, k) {
aJ.setState(5);
ja.lh(g, k, !1);
c4.c5 = !0
}
;
this.cG = function () {
ja.uo()
}
;
this.c7 = function (g, k) {
var x = ja.pI(g, k, 5, 2);
5 === x ? aC() : 6 === x && (jX.bp(),
ja.lh(g, k, !1),
c4.c5 = !0)
}
}
function kA() {
function g(x, l, t, n, z, y, A, B, C) {
cH.fillStyle = z;
cH.fillRect(x, l, t, n);
0 <= B && (cH.fillStyle = "rgba(" + 22 * B + "," + (110 - 22 * B) + ",0,0.75)",
cH.fillRect(x, l, (1 + B) * t / 6, n));
0 < C && (cH.fillStyle = "rgba(255,255,255,0.3)",
cH.fillRect(x, l, C * t / b8, n));
cH.strokeStyle = cK;
cH.strokeRect(x, l, t, n);
0 !== y && (cH.fillStyle = cK,
cH.font = bt + Math.floor(y * n) + bu,
cH.fillText(A, Math.floor(x + t / 2), Math.floor(l + .52 * n)))
}
var k = [0, 0, 0, 0];
this.dv = [{
bD: 0,
mm: 512
}];
this.bp = function () {
aJ.setState(2);
if (settings.customMapFileBtn) jp.cE(true); // custom map file select button, removed in 1.83.0
2022-12-25 08:25:12 -08:00
this.lq();
c4.c5 = !0
};
2022-12-25 08:25:12 -08:00
this.ta = function () {
if (settings.customMapFileBtn) jp.cE(false) // custom map file select button, removed in 1.83.0
};
2022-12-25 08:25:12 -08:00
this.lq = function () {
if (settings.customMapFileBtn) jp.lq(); // custom map file select button, removed in 1.83.0
2022-12-25 08:25:12 -08:00
k[2] = Math.floor((q ? .49 : .4) * bq);
k[1] = Math.floor((s - k[2] / 6 - this.dv.length * (cA + k[2] / 10)) / 2);
k[0] = Math.floor((r - k[2]) / 2);
jl.l7 && jl.lq()
};
2022-12-25 08:25:12 -08:00
this.xD = function (x) {
var l;
if (6 < x)
this.dv = [{
bD: 0,
mm: 512
}];
else {
this.dv = [];
for (l = 0; l < x + 2; l++)
this.dv.push({
bD: 0,
mm: 0
});
this.xE()
}
}
;
this.vc = function () {
c4.c5 = !0;
jl.l7 ? jl.l7 = !1 : (this.ta(),
jX.bp())
}
;
this.jF = function () {
for (var x = 0, l = this.dv.length - 1; 0 <= l; l--)
x += this.dv[l].mm;
return x
}
;
this.lh = function (x, l) {
return jl.l7 && jl.lh(x, l) ? !0 : -1 === this.pI(x, l) ? !1 : !0
}
;
this.xF = function () {
e9.jV = 0;
e9.rb(0, 3) && ii.xG(0);
aJ.vX();
if (!jD.jE) {
var x = this.dv.length - 2;
x = 0 > x ? 7 : x;
j8(Math.floor(16384 * Math.random()), 0, [{
name: jX.xH(),
id: 0,
xI: cC.m7[2].iY.uz(),
xJ: 0
}], x, !1)
}
}
;
this.click = function (x, l) {
return !1
}
;
this.c7 = function (x, l) {
if (cD.l7 || cC.m7[1].iY.l7 || cC.m7[2].iY.l7)
return !1;
if (jl.l7)
return jl.c7(x, l);
var t = this.pI(x, l);
if (-1 === t)
return !1;
if (100 === t)
return !0;
if (0 === t)
return this.vc(),
!0;
if (1 === t)
return jl.show(),
!0;
if (2 === t)
return this.ta(),
this.xF(),
!0;
if (27 === t)
return 8 > this.dv.length && (this.dv.push({
bD: 0,
mm: b8
}),
this.xE(),
this.lq(),
c4.c5 = !0),
!0;
var n = Math.floor((t - 3) / 3);
if (0 === t % 3)
return 1 < this.dv.length && (this.dv.splice(n, 1),
this.lq(),
c4.c5 = !0),
!0;
var z = (k[2] - k[2] / 10 - 2 * cA) / 2;
if (1 === t % 3) {
if (0 === n && 1 === this.dv[n].mm)
return !0;
x < k[0] + k[2] - 1.5 * z - cA ? this.dv[n].bD-- : this.dv[n].bD++;
0 > this.dv[n].bD ? this.dv[n].bD = 5 : 5 < this.dv[n].bD && (this.dv[n].bD = 0);
return c4.c5 = !0
}
c4.c5 = !0;
var y = (x - (k[0] + k[2] - z)) / z - .5;
y = Math.floor((0 > y ? -(y * y) : y * y) * b8);
y = 0 === y ? 1 : y;
z = b8;
for (t = this.dv.length - 1; 0 <= t; t--)
n !== t && (z -= this.dv[t].mm);
if (0 > y) {
if (1 === this.dv[n].mm)
return this.dv[n].mm = z,
!0
} else if (this.dv[n].mm === z)
return this.dv[n].mm = 1,
!0;
this.dv[n].mm += y;
1 > this.dv[n].mm ? this.dv[n].mm = 1 : this.dv[n].mm > z && (this.dv[n].mm = z);
return !0
}
;
this.xE = function () {
for (var x = Math.floor(b8 / this.dv.length), l = b8 % this.dv.length, t = this.dv.length - 1; 0 <= t; t--)
this.dv[t].mm = x;
this.dv[0].mm += l
}
;
this.pI = function (x, l) {
var t, n = (k[2] - 2 * cA) / 3, z = k[2] / 6;
if (x < k[0] || l < k[1] || x >= k[0] + k[2])
return -1;
if (l < k[1] + z)
return x < k[0] + n ? 0 : x < k[0] + n + cA ? -1 : x < k[0] + 2 * n + cA ? 1 : x < k[0] + 2 * n + 2 * cA ? -1 : 2;
var y = k[2] / 10;
n = (k[2] - y - 2 * cA) / 2;
for (t = 0; t < this.dv.length; t++) {
var A = k[1] + z + cA + t * (y + cA);
if (l < A)
return -1;
if (!(l > A + y))
return x < k[0] + y ? 3 + 3 * t : x < k[0] + y + cA ? -1 : x < k[0] + k[2] - n - cA ? 4 + 3 * t : x < k[0] + k[2] - n ? -1 : 5 + 3 * t
}
return 8 > this.dv.length ? (A = k[1] + z + cA + this.dv.length * (y + cA),
l < A || l > A + y || x > k[0] + y ? -1 : 27) : -1
}
;
this.cG = function () {
var x;
cH.lineWidth = 2;
cH.textAlign = cJ;
cH.textBaseline = cI;
var l = (k[2] - 2 * cA) / 3
, t = k[2] / 6;
g(k[0], k[1], l, t, "rgba(128,0,0,0.75)", .4, "Back", -1, -1);
g(k[0] + l + cA, k[1], l, t, "rgba(0,128,128,0.75)", .4, "Maps", -1, -1);
g(k[0] + k[2] - l, k[1], l, t, "rgba(0,128,0,0.75)", .4, "Start", -1, -1);
var n = k[2] / 10;
l = (k[2] - n - 2 * cA) / 2;
for (x = 0; x < this.dv.length; x++) {
var z = k[1] + t + cA + x * (n + cA);
g(k[0], z, n, n, "rgba(0,128,0,0.75)", 0, null, -1);
g(k[0] + n + cA, z, l, n, hq, .4, this.xL(x), this.dv[x].bD, -1);
g(k[0] + k[2] - l, z, l, n, hq, .4, this.xM(x), -1, this.dv[x].mm)
}
if (8 > this.dv.length) {
z = k[1] + t + cA + this.dv.length * (n + cA);
g(k[0], z, n, n, "rgba(128,128,20,0.75)", 0, null, -1, -1);
x = k[0];
cH.fillStyle = cK;
l = mU(2, Math.floor(.5 * n));
l -= l % 2;
t = mU(2, Math.floor(.1 * n));
t -= t % 2;
n = Math.floor((n - l) / 2);
var y = Math.floor(n + (l - t) / 2);
cH.fillRect(x + n, z + y, l, t);
cH.fillRect(x + y, z + n, t, l)
}
jl.l7 && jl.cG()
}
;
this.xL = function (x) {
return 0 === x && 1 === this.dv[x].mm ? "You" : dG.dl[this.dv[x].bD]
}
;
this.xM = function (x) {
return 1 === this.dv[x].mm ? "1 Player" : this.dv[x].mm + " Players"
}
}
function ow() {
this.c1 = this.b3 = 0;
this.m7 = null;
this.bp = function () {
this.m7 = [];
this.m7.push({
fF: 0,
fG: 0,
lw: q,
iY: null
});
this.m7.push({
fF: 0,
fG: 0,
lw: !1,
iY: new vj
});
this.m7.push({
fF: 0,
fG: 0,
lw: !1,
iY: new ur
});
this.m7[2].iY.uw();
this.b3 = this.m7.length;
this.c1 = 0
}
;
this.rj = function () {
this.c1 = Math.floor((q ? .063 : .04) * bq);
this.c1 += 4 - this.c1 % 4;
this.m7[0].fF = cA;
this.m7[0].fG = cB - this.c1 - cA;
for (var g = 1; g < this.b3; g++)
this.m7[g].fF = this.m7[g - 1].fF + Math.floor(q ? 1.5 * cA : 3.7 * cA) + this.c1,
this.m7[g].fG = this.m7[0].fG
}
;
this.pI = function (g, k) {
if (!bw.bx())
return -1;
for (var x = this.b3 - 1; 0 <= x; x--)
if (g >= this.m7[x].fF && k >= this.m7[x].fG && g < this.m7[x].fF + this.c1 && k < this.m7[x].fG + this.c1)
return x;
return -1
}
;
this.xP = function () {
for (var g = 2; 1 <= g; g--)
if (this.m7[g].iY.l7)
return !0;
return !1
}
;
this.ua = function () {
return this.m7[1].iY.l7 ? (this.m7[1].iY.c7(-5E3, -5E3, 0),
!0) : this.m7[2].iY.l7 ? (this.m7[2].iY.c7(-5E3, -5E3),
!0) : !1
}
;
this.c7 = function (g, k, x) {
if (x) {
if (this.m7[1].iY.l7)
return this.m7[1].iY.c7(g, k, 0),
!0;
if (this.m7[2].iY.l7)
return this.m7[2].iY.c7(g, k),
!0
}
g = this.pI(g, k);
if (x) {
if (0 === g)
return this.m7[g].lw = !this.m7[g].lw,
q = this.m7[g].lw,
jj.xQ(),
a1(this.m7[0].lw, !1),
!0;
if (1 <= g && 3 > g)
return this.m7[g].iY.bp(),
jX.ta(),
c4.c5 = !0
}
return !1
}
;
this.lh = function (g, k) {
return this.m7[1].iY.l7 ? (this.m7[1].iY.lh(g, k),
!0) : this.m7[2].iY.l7 ? (this.m7[2].iY.lh(g),
!0) : !1
}
;
this.v1 = function () {
for (var g = 2; 1 <= g; g--)
if (this.m7[g].iY.l7)
return this.m7[g].iY.v1(),
!0;
return !1
}
;
this.cG = function () {
if (bw.bx()) {
cH.imageSmoothingEnabled = !0;
for (var g = this.b3 - 1; 0 <= g; g--)
cH.fillStyle = this.m7[g].lw ? mR : hq,
cH.fillRect(this.m7[g].fF, this.m7[g].fG, this.c1, this.c1),
0 === g ? this.xR(g, bw.bz(15)) : 1 === g ? this.xS() : 2 === g && this.xT(),
cH.setTransform(1, 0, 0, 1, 0, 0),
cH.lineWidth = op,
cH.strokeStyle = cK,
cH.strokeRect(this.m7[g].fF, this.m7[g].fG, this.c1, this.c1);
cH.imageSmoothingEnabled = !1
}
}
;
this.xR = function (g, k) {
var x = .08 * this.c1
, l = (this.c1 - 2 * x) / k.width;
cH.setTransform(l, 0, 0, l, this.m7[g].fF + x, this.m7[g].fG + (this.c1 - l * k.height) / 2);
cH.drawImage(k, 0, 0)
}
;
this.xS = function () {
var g = .06 * this.c1
, k = (this.c1 - 2 * g) / a5.c1;
cH.setTransform(k, 0, 0, k, this.m7[1].fF + g, this.m7[1].fG + g);
cH.drawImage(a5.l0[4], 0, 0)
}
;
this.xT = function () {
cH.setTransform(1, 0, 0, 1, this.m7[2].fF, this.m7[2].fG);
for (var g = this.c1 / 4, k = 3; 0 <= k; k--)
for (var x = 3; 0 <= x; x--)
cH.fillStyle = "rgb(" + Math.floor(367 * (k + 1) * (x + 1) % 256) + "," + Math.floor(687 * (k + 1) * (x + 1) % 256) + "," + Math.floor(651 * (k + 1) * (x + 1) % 256) + ")",
cH.fillRect(k * g, x * g, g, g)
}
;
this.vg = function () {
for (var g = 2; 1 <= g; g--)
if (this.m7[g].iY.l7) {
this.m7[g].iY.cG();
break
}
}
}
function kB() {
function g() {
if (0 !== t.indexOf("vote "))
return !1;
var n = t.split(" ");
if (2 !== n.length)
return !1;
jX.xU = n[1];
k();
e9.rb(0, 7) && ii.xf(0);
jc.vL(3252);
return !0
}
function k() {
t = a();
jd.bz(0).input.value = t;
jd.vw(0, !0)
}
function x() {
if (0 !== t.indexOf("account "))
return !1;
var n = t.split(" ");
if (2 !== n.length)
return k(),
jc.vL(3266),
!0;
var z = Math.floor(Math.pow(2, 48));
n = parseInt(m.n(n[1]));
if (0 >= n || n >= z)
return k(),
jc.vL(3266),
!0;
if (o(n))
return k(),
jc.vL(3231),
!0;
k();
5 <= d ? jc.vL(3232) : (jc.vL(3265),
vV.l7 = !0,
vV.bs = -1);
return !0
}
function l() {
if (void 0 !== t && m.iF(t))
return jd.vw(0, !0),
!0;
jd.vw(0, !1);
return !1
}
var t;
this.xU = "";
this.xV = -7E3;
this.bp = function () {
aJ.setState(0);
ja.rj();
jd.cE(0, !0);
jd.rj(0);
jY.bp();
cC.rj();
void 0 === t && (t = a(),
jd.bz(0).input.value = t,
l())
}
;
this.ta = function () {
jd.cE(0, !1)
}
;
this.xX = function (n) {
return 0 === n ? ja.c1 : 1 === n ? Math.floor(.3 * ja.cw) : 2 === n ? jd.bz(0).input.style.font : t
}
;
this.vv = function () {
t = jd.bz(0).input.value.trim();
l();
if ("password" === t || "account" === t) {
var n = m.z(j().toString());
t = "account " + n;
jd.bz(0).input.value = t
}
}
;
this.c7 = function (n, z) {
c4.xY();
1 === ja.pI(n, z, 1, 1) ? x() || g() || (a9(10),
l() ? (this.ta(),
w(t),
du.bp()) : jc.vL(4214)) : 0 === ja.pI(n, z, 0, 1) && this.va()
}
;
this.va = function () {
x() || g() || (a9(10),
void 0 !== t && m.iF(t) && 40 === t.charCodeAt(0) && 41 === t.charCodeAt(2) ? jb.vD(Math.abs(t.charCodeAt(1)) + 7) : jb.vD(jm.xd - 1),
l() ? bw.bx() ? (this.ta(),
w(t),
jb.bp()) : jc.vL(3228) : jc.vL(4214))
}
;
this.xh = function () {
return !cC.xP() && !cD.l7 && !nN.l7
}
;
this.cG = function () {
if (this.xh()) {
2022-12-28 10:21:31 -08:00
// draw foreground territorial.io logo
2022-12-25 08:25:12 -08:00
cH.imageSmoothingEnabled = !0;
2022-12-28 10:21:31 -08:00
var n = bw.l4("territorial.io")
2022-12-25 08:25:12 -08:00
, z = 1.1 * ja.c1 / n.width;
cH.setTransform(z, 0, 0, z, Math.floor((gA - z * n.width) / 2), ja.fG - z * n.height - .72 * ja.cw);
cH.drawImage(n, 0, 0);
cH.setTransform(1, 0, 0, 1, 0, 0);
ja.ul()
}
}
;
this.xH = function () {
return t
}
}
function kC() {
function g(n, z, y, A) {
l[n] = z;
x[n] = new Image; 0
x[n].onload = function () {
if (0 < y) {
var B, C, F = document.createElement("canvas"), E = x[n].width, H = x[n].height;
F.width = E;
F.height = H;
var J = F.getContext("2d", {
alpha: !0
});
J.drawImage(x[n], 0, 0);
var K = J.getImageData(0, 0, E, H)
, D = K.data;
if (3 > y) {
var L = 2 === y ? 160 : 600;
for (B = E - 1; 0 <= B; B--)
for (C = H - 1; 0 <= C; C--) {
var I = 4 * (B + C * E);
D[I] + D[I + 1] + D[I + 2] < L && (D[I + 3] = Math.floor(255 * (D[I] + D[I + 1] + D[I + 2]) / L))
}
} else if (3 === y)
for (B = E - 1; 0 <= B; B--)
for (C = H - 1; 0 <= C; C--)
I = 4 * (B + C * E),
0 === D[I] && 200 < D[I + 1] && 0 === D[I + 2] && (D[I + 3] = 0);
else if (4 === y)
for (B = E - 1; 0 <= B; B--)
for (C = H - 1; 0 <= C; C--)
I = 4 * (B + C * E),
D[I + 1] > D[I] + 20 && D[I + 1] > D[I + 2] + 20 && 40 > D[I] + D[2] && (D[I + 3] = 255 - D[I + 1],
D[I] = D[I + 1] = D[I + 2] = D[I]);
else if (5 === y)
for (B = E - 1; 0 <= B; B--)
for (C = H - 1; 0 <= C; C--)
I = 4 * (B + C * E),
200 < D[I + 1] && D[I + 1] - 20 > D[I] && D[I + 1] - 20 > D[I + 2] ? 40 > D[I] + D[I + 2] ? D[I + 3] = 0 : (D[I + 3] = D[I],
D[I] = 255,
D[I + 1] = 255,
D[I + 2] = 255) : 50 > D[I] && 50 > D[I + 1] && 50 > D[I + 2] && (50 > D[I] + D[I + 1] + D[I + 2] ? (D[I + 1] = D[I + 1],
D[I + 3] = 180) : (D[I + 1] = D[I + 1],
D[I + 3] = 180 + Math.floor(75 * (D[I] + D[I + 1] + D[I + 2] - 50) / 100)));
else if (6 === y)
for (B = E - 1; 0 <= B; B--)
for (C = H - 1; 0 <= C; C--)
I = 4 * (B + C * E),
D[I + 3] = Math.floor(255 * (D[I] + D[I + 1] + D[I + 2]) / 765),
D[I] = D[I + 1] = D[I + 2] = 255;
else if (7 === y)
for (B = E - 1; 0 <= B; B--)
for (C = H - 1; 0 <= C; C--)
I = 4 * (B + C * E),
D[I + 1] > D[I + 2] + 10 && (D[I + 3] = D[I],
D[I + 1] = D[I + 2]);
J.putImageData(K, 0, 0);
x[n] = F
}
k--;
bw.bx() && (uH.bv(),
hm.kw(),
a5.bp(),
vd.ud([x[8], x[16], x[7], x[9], x[10]], [!b, 0 === d, !0, !1, !0]),
c4.c5 = !0,
x[7] = t,
x[8] = t,
x[9] = t,
x[10] = t)
}
;
x[n].src = A
}
var k, x, l, t;
this.bp = function () {
if (void 0 === x) {
k = 20;
x = Array(k);
l = Array(k);
t = document.createElement("canvas");
t.width = 1;
t.height = 1;
for (var n = k - 1; 0 <= n; n--)
x[n] = t;
g(0, "exit", 6, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAABGBAMAAACkrn5fAAAAHlBMVEUAAAAiJCI4OjdcXltoameIioejpqPExsPY29j///9xarZIAAAAyUlEQVRIx+3WQQqCQBTG8TdOB5DUI+S6nRcoPIFhu1bBHGGO4Any3TYxAkWTv1DSYr71D4b5mOE9kWmszkeC/ZptT6Ocl+xj5qgtbVR1iZn9VE2wU2uO2Jryhm2h2OaKbdZgu/NKrXVK7f6q1JpaqTWFYpvrUtqhPTTYpst0aBOv2Drltlxh392iu0U1t5I4biX13PZvF7+zvOFWihXWlNy+aqZ/M3LcivXcds1xK9kKK3GYAVtYe+8CZ/c/7Br9blSNcgn75O/tE26TasUvH0ImAAAAAElFTkSuQmCC");
g(1, "victory", 6, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUIAAABBBAMAAABWYLC1AAAAElBMVEUAAAA6PDlbXVqEhoO4urf///8hX3N2AAAEcklEQVRo3s2ZyZKcMAyGWdx3alLcSaW4k8lwZ9LjuwH3+79KlkljLb/czFJp+tYusD8k/ZItF/5y/a0F/dXb+KW472/cQCIbd8b4//+dDFu12/ByZ8Jkq0uHbRvuTFglwomOezx8j5/HxkrgTXEYqSxQyvcWCpVEhOG53p3QQTGfDiMUlppJxPXHEQrVxIT0092fEOaVw9Q8LpV5GysPJGUsWweojyCVCAgPIBQYc8nzwxEIvcYZjyQUmPv8kYQC68dhNoeWmOsD1Tyc/G5L+elvHLzs0tG3l7/PPn6KVJTfGxqpG0+9vXFW2w+ZGaoU0x3YrfwZP3dkrONijUK5ndBOLBAh2Wz8CwybMAESRPX4kDwZuGODMNkkjLoiwtLTyac8IXs2NpbJO2E0YVInhSH/c8LxolY1CVs+tFiEi2TqGW8lZqikTRlhLSYPGcIK2Ao/3gi/ilwiErQz4nIAJnx9xyJsga3w4xN3s6EbTVhowhJNbhCWyFaYcOVUvShpLZ+glfmREurZZ5MQ2wqOx/Q9k3YyeWNgJp0B4YgmNwh7aCv8eJp61U4mwT+xsJwA4Zarv37xm+ENQr89+/BCAwc93qXhRjmZpJeZ/Rs0YU1scU2MU1FkM/tKbT8kwt8+LB+8TtrT9dMCqHsrsyhYmdnfiYkEoaPBXRG/sPd8eunqZqfPmS1MHRGsfGLF5nX2Z4OwZWm6T15ihK3+/D7XBKFFcAErjzKVx3NTGIT8WZe+jRGSl0pdC7RUBqJW5D3P7O/iI9itDzx2Gla5oiAs6YwjKEBSKhOQMiDMnicGNmkUwc6V8sPTmHeyWAGpBELbgJWzx5c3Emqc0nIyya1Lqvax+BhhKfoE4/bdgHDR+6YOn6Zien0FK5fZpiInrITeRpWaL6qr5SwnUzGftJXTytUbCGszIzhjR8HcHKzTVNfqU9SHCGeRdAdjB1vgE4mWyuR1Q0QRLm8gDHsI9SErmg334HVD5EOE8w4vP2tnBrPxsICPeJ9SjDgESnkGpurMxkMEnUOVbT5Xy2cAEnN3U7rd8Kn5EGRscJOz5LqIunNoElbx+0eq3hev17IJRyNDwbpMGjwv3V5CsHOotRFtwhYWSmvn0BB9nfftbUq0txlV3rAJHTry6JVR+yG+f3/oVNDbhKiVYO+xWftkNQhPbLEW7bEr5WabsLClDM4p7Og/7zmnlPic4mVMZQj9xdzgkpUrmmTfctbr4VlvC/9hB2FvCoWtnM7A31SukJ1Qcl5+Audl2pMKOwidKRS2cm81WwHhmO85BOL8dQdhLZsxmNDhRSHhjb5NoF+xg7AwhcJX9nZ5lIRFvvcV6JZl2kHojZonVm7t4tMbG0ujfxio6+YdhD2MLbVyZZd9RVjhYo+6InEH4ck8q/KVezMt9daeA/exWc/h6oocoTP2Q/m7gKXIEZa5u4DAlp1uE5aWUHL3KbHIEvL7FFFsAouE+TYhlcqQIyR3UrG5QZi7kwoFCMT6k648n17v6n7uv9eL5/et9Asv0oTxJYkUxgAAAABJRU5ErkJggg==");
g(2, "defeat", 6, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAABABAMAAADL6o5mAAAAHlBMVEUAAAAlJyU7PTtUVlNsbmuJi4ijpaLCxMHX2db///+Cup+UAAACo0lEQVRo3s3ZsW7bMBAAUNqyZWUzsnT1VECbhy7ZvHTwlqmAN6PoUG0CggzairpIyi1Nk1b629awTPGOpHm0DyE1WYJEPlHk3UkW6w5t7eMXEWczKHvN52QoXfcjHUoUi4PSbdOhtItkKBEekZPSLdOh7NKhtOlQ3nwRnaC8pENp06F0t+lQvsWi/O/4+uPXiJNljcbgvUb5G5ci3mmWeVyKqGLNW5MyGyh1ZMo41hIyKaJRh573u9JY5HDo1LMsjBOfBLq9/oC0Rg4L5UYdeuWi5HqDAZShyT9clAKGBzJlBgMLB0UN9CKMksOEyEFpYOFBpkxBpywU1AmZkrFThpv7HUYZwcjPQEGzj04RsOpnoJRwnGNScFo7h7JS16HqcmbJDIUzW0hrWstQVfQWlMkhXg655BzKkoVyOPn7EMDjUa4Os0SidsIoCxbK5tBWhV7FCZSRJ8RtT1M6mE2PYb/tE1EdQsnoFNCpizLudwqYDCiUqScdhlLyfunkeslCo+TMlKJvPkNvNASKr14JpayPV0mtZKFRfFVcKKU5Cir4rYRAWXtq21CKetY31uVxiiI9FX8gZap+F7BrP2WC3oMupRSqZprBeeunlCiNXkopVesTrWShUDJpLS7sgd9GwYG/cn1B8lFGVWctuc7PQcao1hTK9YdP0hjgCykTo1579lLM7RcHxSg9VZYMoWw5KFfOL58BlHbOQdmYDa+CKeC1/2yKpbqvgyk1B2VsafgplNI6b6smVnH7wJq7h5tO2bFQCvdNkintkoVibX8RRtkJFkoDUmCpRwkqpZ3zUMDsgDObStkKFspUj9tqEr+EUO4EDwUt8Ez/ykKj3AkmSonGWGopn0J5WAkuSoX+KG60ksVL+Xm/8kXuAAoO1RvtOkT5B9F51EylDpRdAAAAAElFTkSuQmCC");
g(3, "orders", 6, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAABICAMAAACgJlDYAAAAGFBMVEUAAAAqLCpGSEVkZmOHiYanqabJzMj///+NZwUtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIyLTEyLTIzVDE1OjMxOjQxKzAzOjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0xMi0yM1QxNTo0MToxOCswMzozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0xMi0yM1QxNTo0MToxOCswMzozMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjIiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1w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
g(4, "crown", 4, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAADSCAIAAACw+wkVAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAF0WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIyLTEyLTIzVDE0OjA0OjQ3KzAzOjMwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIyLTEyLTIzVDE0OjA0OjQ3KzAzOjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0xMi0yM1QxNDowNDo0NyswMzozMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1ZmFkNDE3NC03OWNiLTUwNDgtYWIyMi04NThmMGExODUzZTEiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4ZDQ1NTIyYS02MDRlLWYxNDUtYWM3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
g(5, "arena", 6, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAABABAMAAAAHc7SNAAAAHlBMVEUAAAAjJSM7PTpUVlNqbWqHiYalp6S/wr7W2NX////RSpP4AAAD9klEQVRo3sWZvW+bQBiHiSGAt6hdki1Dh7Jl9eapkjdPrbxV6lCxeaw3okqpbqNuzMd/2yRw3PvJkQVYYhHgnvfer9/dBQG4WnftgwWuawBwXAIgBQB/lwDIAEC1BEAOAJolAAwAaB/mHz+C4y8RhQkCKOcHuEMAl/kBDgigWTgG2/Z+7vFDPH77fW6AmAAUSxbi1+t5boAdAajnBjgRgHbm8a/o+HNLgiEGfy0UhUMMfrU/zvMCbOy4HxeSBKehBJtlirGze9AlW1GqtM2fH0rp6HroCTWzNcnpTMmxa+f5HZcEORnnyQ9gewkFyJUcS1zsp1wSUID2tx/gKAMYJccy14MSLgkYQOeeUYCLCBBqOZY7LRhxScABzl6A3gcEINFyDIY+lwQcoPEDFBLAWhE8IQQ7MUnAAd58MA5wkQAOiuxOYBM+sGIsABy9AN0QBMAosnsNx7xjkkAAKP0ABQdYabL7IBpWjwD88wNUHCDWZLeBPditkm8wwMuvD1+Mez8VU/qE3IwBUkV2r5AKWTFJkIPymUwHKBhAV2VzJrtjPOmGRiEECKcDVAzg7X9NxmR3ih2TQ0dTgGg6wKsPMED3aspe2+F9iYyWKwjwmQWhDlAQgC66zjGyLmCZ4yakYQCffo6lYUUAKgLQmx4y2U2WQ3FLJMHUQkQBXt5HANb5hkiCa1L9Q1quppZiBlBgABv+OZEEvKCQvSoOUAeTAGoMYHq/bkjsZCpA9b52zADaLQSI7EMpkQS5CtC8T5AAgEt35xECJHbcmEgCowL0TXOqJAMAZfenhgBrO/MhLsaRPn4fhRSgvvED9H7dAYDDkGkGye5kBKCUAJ7uAz9An1qGlfiH4ZmjuDvVCntVGKDZBxMASDYMTa5xpbcUd6ekXQIyA80WAYiluAxu6Wdi2brRGOxLUw+w+obfHAeIvGWjkXenhL2qoRfsUHKMA0Af1NIejC288ShAgQBs0X6cAnBLAE6ydSOFeGiarhsaGBoegIgAKNYJM8Oi0AHshEqoAQCTa3Igg2T3aRSgxQAJZPcBpAggVay7Ek9JDBKmDmAF88AHEKGRMsW6WNyazJGfcjYZytqwRgDuK7XS8vboK6V4fnTGAHfiqwoAWuIYJcc24motRY7J+YQVUwBCcF9seWc0M3vx+KQhqtg4Li/A8PF6+OIRLYUqNDP38gHSFgMc3LLND5C6+2tspbHWXStnJEgSQIDUVTE/QOjuH8Tl5hbMdaWcn5TiyujVfX4A+2YNTEYbo0cgBp6VU8wLBrCFq54EkNr7K2Jlaq3LlR2DDLoGAWyGjjgBILT3Y7zadItsbc8khU0TASTD8xMAetfXrGr2sdf8B96/CJXN/8t1AAAAAElFTkSuQmCC");
g(6, "territorial.io", 6, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjIAAABBCAIAAABEh9lIAAAACXBIWXMAAFxGAABcRgEUlENBAAAJJWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0xMi0yM1QxMzoyNTo1OSswMzozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0xMi0yM1QxMzoyNjowNSswMzozMCIgeG1wOk1vZGlmeURhdGU9IjIwMjItMTItMjNUMTM6MjY6MDUrMDM6MzAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmY4ZGZmYjhkLWEyNDEtMTg0Mi1hNGYxLTk2ODMyZGFjYThjYSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmE4YTU4YWFiLWE4ODYtNWI0Ni04OTk1LTI3MTdiYWZmOWMzYSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjNhNTMxM2RiLWY0ZGItN2Q0Mi1hZDc1LTEyMTJiNGE0NThjZSIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6M2E1MzEzZGItZjRkYi03ZDQyLWFkNzUtMTIxMmI0YTQ1OGNlIiBzdEV2dDp3aGVuPSIyMDIyLTEyLTIzVDEzOjI1OjU5KzAzOjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjU4NjhhNzU5LWRjNDctNGM0My1iYzA1LTllM2ZjOGMwZjY0YSIgc3RFdnQ6d2hlbj0iMjAyMi0xMi0yM1QxMzoyNjowNSswMzozMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmOGRmZmI4ZC1hMjQxLTE4NDItYTRmMS05NjgzMmRhY2E4Y2EiIHN0RXZ0OndoZW49IjIwMjItMTItMjNUMTM6MjY6MDUrMDM6MzAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg2OGE3NTktZGM0Ny00YzQzLWJjMDUtOWUzZmM4YzBmNjRhIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNhNTMxM2RiLWY0ZGItN2Q0Mi1hZDc1LTEyMTJiNGE0NThjZSIgc3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjNhNTMxM2RiLWY0ZGItN2Q0Mi1hZDc1LTEyMTJiNGE0NThjZSIvPiA8cGhvdG9zaG9wOlRleHRMYXllcnM+IDxyZGY6QmFnPiA8cmRmOmxpIHBob3Rvc2hvcDpMYXllck5hbWU9IkZYY2xpZW50LmNmIiBwaG90b3Nob3A6TGF5ZXJUZXh0PSJGWGNsaWVudC5jZiIvPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOlRleHRMYXllcnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xlpeuAAABqhJREFUeNrtndtxq0AMQKmGQlKFe0gNlJAOUoErcAMuIAWkgPzn/15NPOPxwCJpH7Cwe87XvRnzFKODYFcMAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDCPxXOT5O8v79/fn5+f38vI/7x8cH5AYCzammapmdqk3+Q0U4hpKCN0BLAUXh7e/uXwc/PT9SqJCms7YmkA33Z39/fcRyPoyW53V7+/na7cVEdlmDI0BJAs1oSvr6+9N/f7/e1PTGX3Sjjp2lJkajkPq6rkzoJLQG0piUphsxFZItpuxFcsJaW5MCVqo7r6rzXOVoCaEpLnqInWExcr9cqpVKalsyTdrlcuLQOhVw/aAmgUy2ZBdNyEUEqjCqlUpqWzGNUXqHB/ozjaF5gaAmgWS15CqZpml5/L/+tVSpRLfWAhMN/SaMlgAa1ZI6pE29FaWy7Umng3VIHmBckWgJoXEt61p6ZxtwBZfBeRS0pFV7DI/ESrgS0BACH0JKZCJ652xy2u/V7GuYtoaXr9UoqAGhcS2bB9FxQfxc9e9x3KC09aqbnE8geujw0qaUdrjEAKKml5GLFLIOmP6oPaaMnXudaolQC6EVL5qjc2+12v9+r38aipc61RFcOgF60ZBZMv39Un/2DltASkQXoRUtR0xhrPfFHS2iJyAL0oqXB3R+z1DhdEeHyOzryF+Uo6mppmibZvZm8r9frdqMnlqdI7gCcm6uupYT4oiUAtDTPI2UH+CnojfUklwWPJU1L+TITIemDFcVVzoypN0N6rTuVBC3nJzht2ZzsvJuiYuNrTp5j3h
g(7, "youtube", 7, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKEAAAAkCAMAAADW8qrvAAAANlBMVEX+AgDxYgDjhgD/eXnQpAC7vAD/oaMA/wClzwCH4QAx/zdf/1ty/3Sf/6D/3d2+/77d/93///85QMf8AAACr0lEQVRYw8WYWbaDIAxAsdVqAzzi/jf7GBIGZxxO89GiUbgGEkJEH+Q7DF3bti8rjRPhxTftLavpuuH77X8gwv10BLQrTfsEpHECG4TwEhUy0ItKW1Gh7Zp6AwF0KRP16GSLsApQCLKidt1igE3NZZFjKZWEXR2gaMguaSwPa54jbCoJ2Yjo+lWxpR8jhFpA0dH6jlzbIzhCdOIf8606wm814atPq8+whXDXY+WS+Y4QDtWETdYxHlmGFwm7akLRZwsRaLrVc4TtAsL7vUkIWbxRRBrCngu9xArSinvS/cuccKYhQpletjrXl3ZasRQNP+Pfe9+ZZZhd4EnW5KmYHNxwVFIZ4UwTCP1U0GqhC3+5QjiOn11CPxQGj9EJ0Io8QchM6fMIcZVw/PvsEfpOAxkUMQ9PEObvZh87KtGsEY6rU81bs46zg4SLoNiI1YRaYvGECl2aLcI1Rib0Q2gM42HuN7qeUFOEtV8HZMvwv2ikTzLyZ4PQj2WK5U62NCc8Jd2ImcghwiUzRkI/wWHcOD7nPCcI2ZhxC/BPXiJUaXWrOwjxDOHmLLMXxlhzD6EpCbc9ZdOXadF5172dEJUK83Il2jBXCmE3Eka5ErF5EPMbwgO7Xp5e30+IJBcyh2cJzQ3ZV0GoniM8n8HeTziN2DZH1PrCKaAghCd2PZ/enT9JlYQ9D8dHQFNPqMYskUuEp0+jE0IaVxakCJQt54SswYIQZci+MGVfwZaitihSuHJGSMF7MQstCWea4tpM+tKiHy4sw7zcgMWoNIdOOyWcaRIOnSAAs5T7dGVpRpi61dmOOCqYEs403nQqf1dyXwjnq3NZXU5yMmbsFmA0ZJdGhmeAS3RJA1ET6nyg7c14GtW+L8UVzuEo4zMVzgM1WKoSU5m44TJxw0VirhLDL6rE/6vBvdrCmmWnAAAAAElFTkSuQmCC");
g(8, "googleplay", 3, "data:image/png;base64,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");
g(9, "discord", 7, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyBAMAAADVdiTZAAAAG1BMVEUA/wBI/0lu/26P/5Cl/6O8/73R/9Hn/+j///+iRuwXAAABJUlEQVQ4y83TvW7CMBQF4BsKdKVIpYxIRaJjVLUSI6JDGSNlCCOq1JC1f+CxFIL92D22E+di/ABciZB8seRj35joVZ3VN1FXBSqhRYgPJEIsSQXrAnmjL2uP5Usm81z83Bec5WM+J9T4vS8Yfzz1yFQ0v2ackKsrxr2G7d4ZPjK1O214z3no+Jdz1/EKTy1NI/w6jmcIID6JJirGe8cYdIdGIcQOwx3j/gEpI6X+qoRkGqrnd6OXFR/NRAcdOWFc6hDPera0Xk/Fozo1ck4bHsSVpg0jYJSlervGW9zWSdQXhhXozlbGek1uY9/s2hRWect7ucnsf5ld7DfosX+kcsv+AdwtDfvHdW877x/u0raB6Oa0qG35rKZhbokg41sKclQEmTr/f+SUPtWxuyYAAAAASUVORK5CYII=");
g(10, "insta", 3, "data:image/png;base64,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");
g(11, "emojis", 4, "data:image/png;base64,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
g(12, "flags", 3, "data:image/png;base64,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
g(13, "bestTeam", 5, "data:image/png;base64,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
g(14, "bestPlayer", 5, "data:image/png;base64,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
g(15, "zoom", 6, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuBAMAAACllzYEAAAAHlBMVEUAAAAhIyA3ODZTVVJrbWqEhoOkpqO8v7vX2tb///8goTJXAAABaElEQVQ4y32Tu1ODQBDGL8QAdlg5dml8dZTa2TijXQpnIh2TwoQOxwehi2PB0flKYP/b7HFv5nALBn5337d7ewshXZyuKX2PST8egUW76OE7EJFa+BhJ9bSsUWFaeTV3GKHbn8EvlB79bjSv4VO8jUr4VdiHNnK938MHPie0Yh+ZLqmGuNsJ7CNURgewI5qPoRE86GwkJyWIBIfcUfJrmMm0sclDyDnPWmLyADacl8jnRbEGKIoiJRP4EmU2LJmIDfLvAf7z/37mv6IUm08pzbV/rx5f1pPA1Fn/iX3eS3nekAslz7gcGw9bg3uqn6Rup5oH+uaTLpO4r0SmZVuUFE2lfTc+z1qr9+BVtGJqzq1RHNfQdAtnrEW75UwuXOFgvj3crpCyDu6UIpP9fPHZU5XkiYVXvsXIPcc+VwspzY2pPorE/NgCfYK+QJ5+QFA6fjQt2A4IWuIWODixe2ELcuIUNJGL+zQle92exY5pfDIaAAAAAElFTkSuQmCC");
g(16, "apple", 3, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAA8BAMAAAA9AI20AAAAG1BMVEUAAAAjJCJUVlOEhoOanZkA/wC8vrvW2dX7/fq38z8cAAAEbUlEQVRYw+2YzXOiSBTAGzW6x8ZY6pGYFMMxUct4JGbLcMwld9QpliNkLeUqUvT7s+e9BoUITpIpuWxtp0IJdP943/3B3t7eXtnF2xViGZIbf1+8mVcS3YQKmk3o16AKtLhCdAsqad4be3WrQcdX7BUqalesURXaZM2q0DZr/TfQQVVo8fTXb/LgzO9SiQpon/WPg0fjk5j3cuNnH74ZQPcztOBsegz6xnP7i+i99Tk6ZOwoadwH34LnR5jDBB6j9RjR4vkF4pEF6wmho1EQOyP83uwWuisX1uPgPNpmdciho/5efwiWoiZau86T5QX+ZACL+S0MpEKDVW9/PTMAljq0R026P4/WmJFHx30v2E/9+GFj7KzI8IIZ+K6AZdyCAXbowd3ewN9kkA4McYB+Hs078BG9gNgI/12trJ1L6BGEVjRoRwbZOsbrfipaqa1nUXvQOY+eB1kUIXpv+BAZ0VM8DI5od7id4auh7DBK0VOJ/rEtt7WYqXoAmxvlLn0f94Tp7qx3K24LFRL0IrCDOxiIzgZtLbqim6INQosevJSiTZwtr2ccr6lWsaJ2IFaRocM4Re/x0WIwhEV7hD2e1GmCjtUA0fB0Y5Shw9x8bCWPtlu6BIeswD95K7YiTT6xpWQJZG7ic7ovQ9/n0MZFa4jIkeuXLU/hpYXO0H4O7V4WbWfkWvZ6NT4zbp3F6HfQOVNzpXx8RDHalcX0c7SZobM5XpwzjqlMHA0/azf/FL1XeKlLBccKF6G7v4vObL2rm6WzciznC631NXTO1pl97ZZHKtxMl/wOdWiLG+UxQVO+btwFV7AMrDk99bvvbYhvFL2A9op5jnL1Q1KB38lgDxUz/a5gvYM8CsToUsUFr85rMqWnp+hdDt08mtSKGKI413/yOmaVMl8m+aQpE9nBbGzBV17WaHtPuXYipm+0xil6n0Mr7sGkgSAVUBxMqSAkWbVmmmBtqp9k63v8t2uotgs+dgwP9jyi4/xOJHVkqJBNEN2ieLBCikSvlqxWsJcu0YKCCHn0wqb6eojXrPLxIpp8aKJMvE/mnYZknJ1ySEfyCaFJL7SbVycFHMc5uCpDm0Vjmw3HMXGEDG5mkBJSk6Qt0T6IllLihdCaHD09RfvF0id7KglaFNBk9lN0nXZfBYNEhdInmIoNbwoGiZ1EqYJBWuWrJ+20PkX0CZQWeDN1I0LsuizuFAWmlBoSNwKhZXJugwLaP7VH4jGth8EXwELB4OtiPDRlOP3ACwazjY6+J2fXJdrHjlExQmRWfUh0WwY/ysbV6xkWrZDx8cMxZRwNlfDYLYqkk0cJHbGOo9VKljgLpky2K04SJROxfIXxynVOfg+VBcal/O47S9YUe/Sy0ORTQsswM0rQ4iepsnEO96pcaYdqwI31YCINOrtNtV2pqpxl1nNUd0hPo7lcJg0m39rLpEU7F3cX2yb9jz5paRJ8WNF9BV3hRrrC7X+FhxYVHrVUeEBU5bFWhYdxb6+Nf7YXbpv0CLGqg89fkK30UIXyeWIAAAAASUVORK5CYII=");
g(17, "open link", 7, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAPBAMAAADpFNeEAAAAGFBMVEUA/wBi/2N//4CX/5i//8DU/9Pq/+r///90hWfkAAAA6klEQVQoz5XSPQ+CMBAG4FME1i6GlUHjSuLA6uaqEyt+JF3VSt+/b99WhRQG7XCB0qdcrycia42rkomxgJ2edsP8AfYEKH8Gc+CYaLQ/g5Szm8mcpkGGZwgurwsDKqfrrgf6kaNKcMihCpwk5+YZOr+2DMCOQBuAtkoKgpTgvsQOd7cCOMSg82DJz/0fHKjewMQAW4KGxRyeAYqBTyNgCFy6gyq517MEYKAjUNsA2nAPc95DyMaHW4Pu0wNoCVIQPJjN96aHoIjBzINqD9X30vu8cKW6JTGQ2pc18x2x0pbdOgTSxCD1YAHzAmJBjxvc7JBGAAAAAElFTkSuQmCC");
g(18, "loading", 6, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZEAAABGBAMAAAD/Q7RHAAAAGFBMVEUAAAAnKSZKTElucG2Fh4SoqqfLzcr///+y5yZlAAAEnUlEQVRo3u3aS3PaMBAAYGNsuHoy0+TKTJv6SjNNfeWSciVNJlydF7qGl/n7JTGSd1e7wgaFaWfMKfFD1qeXV5KD8cb8kuC//rWSVtJKWkkraSWtpJW0klbSSlpJK2klraSV/KuSbw9qe8HsfnCyfHVuZu95Kmb3iUdJ+KAvKf7gM119vDoUb8Bv9gLsu2PD97+n4O/tr1/+OzHXXiqTRjHyJukqkLcndKqnDw94yTYfty7JoyD5jtIYeZJ0FEr2Fp670EcnkgScYiRrXkJLI/EjyUjOhtzduSwpBrJEJ4YloSJJPHqRRDRnK3DSPHIpS8w5TjLnJJlVGIkPydjKWdVsw+pZDokueE5SMJKunULuQcIky5a/S7KQJbtiQZLUTmHlQcIkW13YYyqKkRQOycKWKNcjD5dwyebMYJA7JLscspLCknAJgLHxUEnEJbtkmAuXZC5LysqEEq4V1OkoeySm/bxenf22ujd41NolWTskCyoxxfNydXajrL55qCSDXe4LeaNHdl8wkiLofP2NxwNeUhBJiKKJiBbUwRKFBtIxbrVlha3wCzMGGYzROMxLPhIDkhjn/aOtFa93x0o6uHJ1Cb3Bce1NoZYMJabN5w7JEkv6uLSibQT+w0PcFZGhQyFYmZ18CnVY0q0hKbAks6JrL1F9j4S6Gar50jVK0csLSTR97pC85x9IprW7+CESU0B9psCTHroGS8ZgwJAkSyRRqAF7k/TJyIFkWhCjesOSC5CAJNk+GEjqvwobSVIS9sRwVO3vzoXo2TEXGhZOSQ4knUazq/qSDMXe1QgAbp3rBpFzkl4dyQpIurBnqibhilsyJo2WeU6us7U8WLIZ2JLgkyUhkFSNKoN5x5K4liSvJNEnSaZE0gG5ic1dfThFaSTRQ9vpJbBOqsE3hp20kUS/r9JPl0itKzGjwbrqPXlzia5jdXIJ7I+qCsrhFKVRjyeLD6DHJ54lrlEYVIQC789mkliSDD1LUhIEgTdjJEzXm0nw7Bq840eeJY5opSesBrHv+LUoyQTJ5BgJM113RJCpMNnGknSfJKYSGEH6l3BR/dS+4c2WwBidlaDmxUX1oR+JMNNa8MtHK0vSgUZekhIJnWl5kpDZb7fKGLM2iebuBZqp5bIk3rBTepN1TxJT8gO00jJhO3x5FZSYDYuJLKGdgaxI6P9BwxuZgyt4cI8kYxrOR4770kphJTm7VmhZSZCk+H68ShRcbjxJ4MrdNWxFY2mlMJaanSSJyAClwCN/Pmx8SaJ9zc46wUkWLglISl5NPV4irXCH7B1F0xVuvMXnWOH2IBF2HWLcLUE81mjXgWzRTODI7VvSdfafBZmBjRruBKHXp667jKvt5GiJsDuXkXBfmXbXaHeuPHGOJVzfHAXHS/gdU0W2Naam9BvtmJIdwIn0jnsKPEj4XWy6KlVFio12sXE5aElX2GY8VkJ2xx9hRSV2kByLW8WypEcilHNuI+l4Cf7a45ldLzZ5GVrfN4yC/ZKQhu6/ECTxJQnCKoK/s6cdqDfl5AscuIMjS/S/7Bc4z3SlR5DU+5VfRRWvp/sqKiy/iqr/IdZfF1HJgRmsN+0AAAAASUVORK5CYII=");
g(19, "target", 7, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAIAAAC3LO29AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGRmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIyLTEyLTIzVDE0OjI3KzAzOjMwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIyLTEyLTIzVDE0OjI3KzAzOjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0xMi0yM1QxNDoyNyswMzozMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpjOTdjNzUxMC1iYzBlLTA5NDEtODhjYy1lYjE3N2E3Mjg0ZWYiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxOTBlNmI1Ni05NDlkLTZhNGUtYTIwYi1kMWNkMTVmMzM2ODEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowZWE2MmMyMS0wZDAzLTQ4NDgtYmY0OC02MjFkOGEzNjQxNDQiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowZWE2MmMyMS0wZDAzLTQ4NDgtYmY0OC02MjFkOGEzNjQxNDQiIHN0RXZ0OndoZW49IjIwMjItMTItMjNUMTQ6MjcrMDM6MzAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Yzk3Yzc1MTAtYmMwZS0wOTQxLTg4Y2MtZWIxNzdhNzI4NGVmIiBzdEV2dDp3aGVuPSIyMDIyLTEyLTIzVDE0OjI3KzAzOjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDxyZGY6QmFnPiA8cmRmOmxpPjlGRkJBMEI3M0YwQTI5NEFEODkxMzAzQTczRkQxQTQ1PC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+eYA81AAACklJREFUeF7tmntwVcUdx7+/356bd8iLPCGYF0TJkwQMHUasnanUacfR6VitqDO2Dq2vCpU6tSqWcRyZVit2HOtoQbGttXU6PioTra2P1nGCYqRYKkYIAQQChoQk3Oc5Z7d/XEju3XMf5waSTpj85vPH/f72t3vO7zx29+xegsK5bYbuOOfs3M8QUFPHhg3FQaBvDjmLJo8pvYcdByvSMMhls4Gjetmk2ZRmCCgFAKS7J9OmOMP/g81kOP1tJsPpbzMZTn+b0gz3VMmLICUpvWByzTHNOeuUHxWX7235w/qFIwVpNhveDHrtlppHnm1tGTwvM2Q4488yuj5L1A4U7Li82gZMUFAISWyDJPgUZNhEkjySPDYQELjyvwudjZwddH3GbL55lgWESJgGm8KjQBawd0np45sWd32rxII4XpqxfuvSP25YFDIQAvxMJsEmtiEGKwucDZ4puj4zdnTkn/QYEqTAXqC7ObPmYPpY6aYHL7CI9rWVjHmKhsS1n18YBBRIghWxBTx191xnyxNH1xPl42WzAx6WYAX0NOdn2RnOmLdvbZYQ+xeXOYugcG13kx+QYAUKALlWtjNmIuh6QgQAi4WC6G0pd5aOkTjDMKvfaDEJNthm2r6iwhmQMrpOnU9b8iXYFp5RQy/SePHehUkzhELJydzRNCiQRXzPKy3OgNTQdSqQhCUgQTZ4zolZzoAwbOPiQ/UvX1c4nGvYEAGDu5eXPvFgVYEZtwoUfAQFlsT3vnRmSeo6FSQgwRZir0oU+DIffX6ZF5AQCqyITcAmDgnD4nBvJCQQAi7aFuOlhcKqZ7ItEqF045OOYmepW3Ttmo1PLVJkmKD1f4pxjRf3FPgIQSGCgiXgLZ216TcdXd+ulqD+uvx7n6546/ZGG5BEQWEEQb/aWO9sBApBhs0UEsKQwlnqCl2745Wb59vEkkXj/jxn6e7l8yyDJfhYLmoPjXeJW+9slBAH2ksjgy/dXmwDAfJY4NVvNjlb86YjwOwTut8tunYBKQp4hIR44cd1WtG8/kwbZMOzt8ZgqT+9/7i9UcI42B6jv3348QVBwCbjnRW5WlG+lRMEbOKXvxvjaiZH1y7o/E6xAvtYTwAKR/IhQf44zW58suGzi+a+tzL2A9k4PC8ESOL3LsnSilZta5XENpBv6fknR9cuCJCQ4M1rZmv+/nxI0Oa7Jj4jyfOlB8lQoNVv6O+2H7AhTiQbkGKg62Rs2NIgQQNlOZr/ZJ5HAR8vSf0aR1PlK/MSTMEZtifS/5X+OougSOQF9DucBF0nwytYgW97pzXSmW1mhJhDBnvsJD3edR/E6Es0frF5oYLxwuo5mj8IVuBV70cdOjm6Tsg1H84PMinHAOgXMEm8+v1qZxWNNX93dX5+QIEu39sc6TxQkeglj4uuE+LzQIKGsqOcaZYwmQJpenBM7njLVYZtx2sU+ERGlLN5sFICNrEzPgGprWKkmVCgf11fBewbcy4aqJLo+2FXK/DReOiZWXdhrwIyTQ9gjjl7s45YgKFQMGoM5VoR4YnNkXQCLJCCp8YXNeXvL0bI8dzGw+U9hEJQkGnQsv75kc5dbbkKfOOONmd8XHQdn1x/eNGBsoLjiyskEQJs1+3c2Rn1aiXgoWeaJLjzmqix557ODgXuXFXjjI9HCk9ppg9QNoH8afaYM0/mejCqIsIS2+ttbvfVdhcdUpAd741GOncuCCig9q2Dkc7ENp5h1UBu/VAJqbhbXyVfsqQ9rNTF+6ozTA47L+jNNnnnkZrsb/SUKVL7Srw9ef3R9aJsV0mSDOePlNUdyZGsr
}
}
;
this.bz = function (n) {
return x[n]
}
;
this.l4 = function (n) {
for (var z = l.length - 1; 0 <= z; z--)
if (l[z] === n)
return x[z];
return t
}
;
this.bx = function () {
return 0 === k
}
}
function kD() {
function g(D, L) {
tq[D] = 0;
tq[D + 1] = 0;
tq[D + 2] = L;
tq[D + 3] = 0;
k(D)
}
function k(D) {
if (!h4.h5) {
var L = b5.gB(D);
D = b5.cF(D);
h4.h5 = L >= gu.tp[0] && L <= gu.tp[2] && D >= gu.tp[1] && D <= gu.tp[3]
}
}
var x = [224, 224, 224], l = [[172, 172, 172], [144, 0, 0], [0, 128, 0], [0, 0, 144], [128, 128, 0], [128, 0, 128], [0, 128, 128], [196, 196, 196], [0, 0, 0]], t = [[4, 4, 4, 20], [4, 0, 0, 27], [0, 4, 0, 31], [0, 0, 4, 27], [4, 4, 0, 31], [4, 0, 4, 31], [0, 4, 4, 31], [4, 4, 4, 14], [4, 4, 4, 13]], n, z, y, A, B, C, F, E, H, J, K;
this.bp = function (D) {
n = new Uint8Array(b8);
z = new Uint8Array(b8);
y = new Uint8Array(b8);
A = new Uint8Array(b8);
B = new Uint8Array(b8);
C = new Uint8Array(b8);
F = new Uint8Array(b8);
E = new Uint8Array(b8);
H = new Uint8Array(b8);
J = new Uint8Array(b8);
this.qo = new Uint8Array(b8);
K = new Int32Array(4);
K[0] = -4 * aZ;
K[1] = 4;
K[2] = -K[0];
K[3] = -K[1];
if (dA)
for (var L, I = b8 - 1; 0 <= I; I--)
L = dW.id[dW.dX[I]],
D = as((t[L][3] + 1) * ce.random(), ce.value(100)),
n[I] = l[L][0] + D * t[L][0],
z[I] = l[L][1] + D * t[L][1],
y[I] = l[L][2] + D * t[L][2];
else {
for (L = b8 - 1; L >= cq; L--)
n[L] = 4 * as(64 * ce.random(), ce.value(100)),
z[L] = 4 * as(64 * ce.random(), ce.value(100)),
y[L] = 4 * as(64 * ce.random(), ce.value(100));
for (L = cq - 1; 0 <= L; L--)
n[L] = 4 * D[L].xI[0],
z[L] = 4 * D[L].xI[1],
y[L] = 4 * D[L].xI[2]
}
for (D = b8 - 1; 0 <= D; D--)
L = as(n[D] + z[D] + y[D], 3),
n[D] += yM(L - n[D], 2),
z[D] += yM(L - z[D], 2),
y[D] += yM(L - y[D], 2),
n[D] -= n[D] % 4,
z[D] -= z[D] % 4,
y[D] -= y[D] % 4;
for (D = b8 - 1; 0 <= D; D--)
n[D] += as(D, 128),
z[D] += as(D % 128, 32),
y[D] += as(D % 32, 8),
A[D] = D % 8;
this.yJ();
for (D = b8 - 1; 0 <= D; D--)
B[D] = 32 > n[D] ? n[D] + 32 : n[D] - 32,
C[D] = 32 > z[D] ? z[D] + 32 : z[D] - 32,
F[D] = 32 > y[D] ? y[D] + 32 : y[D] - 32;
for (D = b8 - 1; 0 <= D; D--)
E[D] = 235 < n[D] ? n[D] - 20 : n[D] + 20,
H[D] = 235 < z[D] ? z[D] - 20 : z[D] + 20,
J[D] = 235 < y[D] ? y[D] - 20 : y[D] + 20
}
;
this.yJ = function () {
for (var D = b8 - 1; 0 <= D; D--)
this.qo[D] = 280 > n[D] + z[D] + y[D] ? 0 : 1
}
;
this.gB = function (D) {
return as(D, 4) % aZ
}
;
this.cF = function (D) {
return as(D, 4 * aZ)
}
;
this.ex = function (D, L) {
return Math.floor(4 * (L * aZ + D))
}
;
this.hY = function (D) {
return this.yN(D + K[0]) || this.yN(D + K[1]) || this.yN(D + K[2]) || this.yN(D + K[3])
}
;
this.hW = function (D, L) {
return this.yO(D + K[0], L) || this.yO(D + K[1], L) || this.yO(D + K[2], L) || this.yO(D + K[3], L)
}
;
this.bE = function (D) {
return 208 <= tq[D + 3]
}
;
this.he = function (D, L) {
return this.bE(L) && this.yP(D, L)
}
;
this.yP = function (D, L) {
return D === this.bF(L)
}
;
this.yQ = function (D) {
return 208 <= tq[D + 3] && 224 > tq[D + 3]
}
;
this.cU = function (D) {
return 224 <= tq[D + 3] && 248 > tq[D + 3]
}
;
this.hX = function (D) {
for (var L = 3; 0 <= L; L--)
if (this.yR(D + K[L]))
return !0;
return !1
}
;
this.yS = function (D) {
return 192 <= tq[D + 3] && 208 > tq[D + 3]
}
;
this.yT = function (D, L) {
return this.yS(D) && L === this.bF(D)
}
;
this.b6 = function (D) {
return this.bE(D) || this.bG(D)
}
;
this.yR = function (D) {
return 0 === tq[D + 3] && 2 === tq[D + 2] || this.yS(D)
}
;
this.bG = function (D) {
return 0 === tq[D + 3] && 1 === tq[D + 2]
}
;
this.yN = function (D) {
return 0 === tq[D + 3] && 3 === tq[D + 2]
}
;
this.yO = function (D, L) {
return this.bG(D) || this.bE(D) && L !== this.bF(D)
}
;
this.bF = function (D) {
return tq[D] % 4 * 128 + tq[D + 1] % 4 * 32 + tq[D + 2] % 4 * 8 + tq[D + 3] % 8
}
;
this.hf = function (D) {
g(D, 1)
}
;
this.yV = function (D) {
g(D, 2)
}
;
this.hV = function (D, L) {
tq[D] = n[L];
tq[D + 1] = z[L];
tq[D + 2] = y[L];
tq[D + 3] = 208 + A[L];
k(D)
}
;
this.b7 = function (D, L) {
tq[D] = B[L];
tq[D + 1] = C[L];
tq[D + 2] = F[L];
tq[D + 3] = 224 + A[L];
k(D)
}
;
this.cW = function (D, L) {
tq[D] = E[L];
tq[D + 1] = H[L];
tq[D + 2] = J[L];
tq[D + 3] = 248 + A[L];
k(D)
}
;
this.yY = function (D, L) {
tq[D] = x[0] + n[L] % 4;
tq[D + 1] = x[1] + z[L] % 4;
tq[D + 2] = x[2] + y[L] % 4;
tq[D + 3] = 192 + A[L];
k(D)
}
}
function kE() {
function g() {
for (var C = 0, F = 1; 5 > F; F++)
C += z[F] % 1024;
return C
}
function k() {
for (var C = 1; C < y - B; C++)
z[C] = parseInt(z[C])
}
function x() {
z[0] = "[FX] " + "Player " + Math.floor(1E3 * Math.random());
z[1] = r < s ? Math.floor(1 + Math.random() * (Math.pow(2, 30) - 1)) : 0;
z[2] = 1;
z[3] = 1;
z[4] = r < s ? 0 : 1;
z[5] = 0;
z[6] = "000";
z[7] = "0";
z[8] = "0";
z[9] = "0";
f.y()
}
function l() {
for (var C = y - B - 1; 0 <= C; C--)
z[C] = m.n(z[C]);
z[0] = m.iO(z[0])
}
function t(C, F, E) {
var H = new Date;
H.setTime(H.getTime() + Math.floor(31536E6 * E));
C = C + "=" + F + ";expires=" + H.toUTCString() + ";SameSite=Strict;Secure;path=/";
document.cookie = C
}
var n, z, y, A, B;
this.bp = function () {
if (!(5 <= d || b)) {
B = 4;
A = 0;
n = [];
y = 10;
for (var C = 0; C < y; C++)
n.push("u" + C);
z = Array(y);
for (var F, E = document.cookie.split(";"), H = E.length - 1; 0 <= H; H--) {
E[H] = E[H].trim();
for (C = 2; 0 <= C; C--)
E[H] = E[H].replace(" ", "");
3 < E[H].length && (C = n.indexOf(E[H].substring(0, 2)),
F = E[H].indexOf("="),
0 <= C && 2 === F ? z[C] = E[H].substring(F + 1, E[H].length) : 0 < F && t(E[H].substring(0, F), "0", 0))
}
z[9] || (z[9] = "0");
a: {
for (C = y - 1; 0 <= C; C--)
if (void 0 === z[C]) {
C = !1;
break a
}
C = !0
}
C ? (A = 2,
l(),
k(),
g() !== z[5] && x()) : x()
}
}
;
this.y = function () {
if (2 === A) {
z[1] = 0 === z[1] ? Math.floor(1 + Math.random() * (Math.pow(2, 30) - 1)) : z[1];
z[5] = g();
for (var C = 1; C < y - B; C++)
z[C] = z[C].toString();
z[0] = m.iN(z[0]);
for (C = y - B - 1; 0 <= C; C--)
z[C] = m.z(z[C]);
for (C = y - 1; 0 <= C; C--)
t(n[C], z[C], 1);
l();
k()
}
}
;
this.a0 = function () {
return A
}
;
this.nM = function (C) {
A = C;
this.y()
}
;
this.x = function (C, F) {
5 <= d || b || (z[C] = F)
}
;
this.g = function (C) {
return 5 <= d || b ? 0 : z[C]
}
}
function kd() {
function g(l) {
for (k -= 2; l < k; l += 2)
x[l] = x[l + 2],
x[l + 1] = x[l + 3]
}
var k = 0
, x = new Uint16Array(32);
this.bp = function () {
k = 0
}
;
this.dF = function () {
if (0 !== k)
if (0 === fB[aw] || ae.yq(aw) === ae.af(aw))
k = 0;
else {
var l;
for (l = k - 2; 0 <= l; l -= 2) {
var t = x[l];
if (t < b8 && 0 === fB[t])
g(l);
else {
var n = x[l + 1];
if (t >= b8 && la(aw) || t < b8 && lf(aw, t))
dt ? fH(aw, t, n) : ii.lP(n, t === b8 ? aw : t),
g(l)
}
}
}
}
;
this.lS = function (l, t) {
var n;
a: {
for (n = 0; n < k; n += 2)
if (x[n] === l) {
x[n + 1] += t;
x[n + 1] = qe(x[n + 1], 1E3);
n = !0;
break a
}
n = !1
}
n || 32 === k || (x[k] = l,
x[k + 1] = t,
k += 2)
}
}
function fi(g) {
yt(g);
yu(g);
yv(g);
au.av(g);
eG.fz(g);
ae.yw(g)
}
function yt(g) {
hm.l9(g) && io++;
var k = ae.yy(g);
0 === k.length ? g === aw && yz() : (z0(g, k),
z1(g, k))
}
function yz() {
b0.b1[17] += ax[aw] + ae.z2(aw);
eS.show(!1, !1);
e7.tB()
}
function z0(g, k) {
var x;
for (x = k.length - 1; 0 <= x; x--)
ae.z3(k[x], g)
}
function z4(g) {
var k, x = 0;
for (k = g.length - 1; 1 <= k; k--)
bU[g[k]] > bU[g[x]] && (x = k);
return x
}
function z1(g, k) {
var x, l = k[z4(k)];
9 === dr && 1 === dW.dX[g] && ce.dP(8) && dy.z6(l);
if (g === aw)
e5.fh(l, 1),
yz();
else {
for (x = k.length - 1; 0 <= x; x--)
if (k[x] === aw) {
e5.fh(g, 0);
return
}
g < cq && e5.mb(0, g, l)
}
}
function yv(g) {
fB[g] = ax[g] = 0;
b4[g] = null;
bM[g] = null;
bN[g] = null;
bQ[g] = null;
eE.fd(g)
}
function yu(g) {
var k, x;
for (k = cz[g]; k >= d0[g]; k--)
for (x = d2[g]; x >= d3[g]; x--) {
var l = 4 * (x * aZ + k);
b5.he(g, l) && (b5.hf(l),
bU[g]--)
}
}
function kk() {
this.z7 = null;
2022-12-26 05:12:01 -08:00
this.z9 = null;
2022-12-25 08:25:12 -08:00
this.bp = function () {
this.z7 = document.createElement("INPUT");
this.z7.setAttribute("type", "file");
this.z7.setAttribute("accept", ".gif,.jpg,.jpeg,.png,.json");
this.z7.setAttribute("id", "inputfilebtn");
2022-12-26 05:12:01 -08:00
2022-12-25 08:25:12 -08:00
this.z7.style.position = "absolute";
this.z7.style.color = this.me(255, 255, 255);
this.lq();
this.z7.addEventListener("change", function (g) {
jo.z8(g)
})
}
;
this.me = function (g, k, x) {
return "rgb(" + g + "," + k + "," + x + ")"
}
;
this.lq = function () {
var g = Math.floor(.22 * ja.cw / pF)
, k = Math.max(Math.floor(.5 * gA / pF - 4 * g), 0);
gA < cB && (k = Math.floor(cA / pF));
this.z7.style.font = bt + g + bu;
this.z7.style.left = k + "px";
this.z7.style.bottom = Math.floor(cA / pF) + "px"
}
;
this.cE = function (g) {
g ? document.body.appendChild(this.z7) : document.body.removeChild(this.z7)
}
}
function kj() {
function g(t) {
(t = t.target.files) && 0 < t.length && jo.zE(t[0])
}
function k(t) {
var n = new Image;
n.onload = x;
n.src = t.target.result
}
function x(t) {
var n = t.target;
t = n.width;
var z = n.height;
8192 < t || 8192 < z || 2 > t || 2 > z ? alert("Image w & h must be between 2 and 8192 pixels.") : (wo = 3,
wp = 16384,
aZ = t,
aa = z,
hk.width = aZ,
hk.height = aa,
pc.drawImage(n, 0, 0),
wz = pc.getImageData(0, 0, aZ, aa).data)
}
var l;
this.bp = function () {
l = document.createElement("input");
l.type = "file";
l.onchange = g
}
;
this.zC = function () {
l.click()
}
;
this.z8 = function (t) {
g(t)
}
;
this.zE = function (t) {
var n = t.name.split(".");
var z = n[n.length - 1].toLowerCase();
"json" === z || "gif" !== z && "jpg" !== z && "jpeg" !== z && "png" !== z || (jf.zI = n[0],
z = new FileReader,
z.onload = k,
z.readAsDataURL(t))
}
;
this.pS = function (t) {
if (0 === aJ.pR() || 2 === aJ.pR())
t.stopPropagation(),
t.preventDefault(),
t.dataTransfer.dropEffect = "copy"
}
;
this.pT = function (t) {
if (0 === aJ.pR() || 2 === aJ.pR())
t.stopPropagation(),
t.preventDefault(),
(t = t.dataTransfer.files) && 0 < t.length && jo.zE(t[0])
}
}
function kh() {
this.zN = null;
this.bp = function () {
this.zN = 10 !== dr ? null : new Uint32Array(b8)
}
;
this.dF = function () {
10 === dr && this.zO()
}
;
this.zO = function () {
var g, k = this.zN, x = dZ, l = ax;
for (g = dY - 1; 0 <= g; g--) {
var t = x[g];
if (!(t >= cq)) {
var n = Math.max(as(l[t], 4), 2048);
var z = Math.max(ay.tN(t), 100);
k[t] += as(z * n, 1E4);
k[t] > n && (k[t] = n)
}
}
}
;
this.tj = function (g, k) {
if (k > this.zN[g])
return k = this.zN[g],
this.zN[g] = 0,
k;
this.zN[g] -= k;
return k
}
}
function kl() {
function g(n) {
jD.zQ(JSON.parse(n.target.result));
jD.lC()
}
function k(n) {
if (22 >= n.length)
return !1;
jD.jE.map = 0;
jD.jE.seedMap = 0;
x0(0, 0);
"data:image/png;base64," !== n.substring(0, 22) && (n = "data:image/png;base64," + n);
var z = new Image;
z.onload = function () {
wo = 3;
wp = 16384;
aZ = z.width;
aa = z.height;
8192 < aZ || 8192 < aa || 2 > aZ || 2 > aa ? (x0(0, 0),
alert("Image w & h must be between 2 and 8192.")) : (hk.width = aZ,
hk.height = aa,
pc.drawImage(z, 0, 0),
wz = pc.getImageData(0, 0, aZ, aa).data)
}
;
z.src = n;
jD.jE.mapBase64 = "";
return !0
}
function x(n, z, y, A) {
return "string" !== typeof n || n.length < z ? A : n.length > y ? n.substring(0, y) : n
}
function l(n, z) {
return Math.min(Math.max(Math.floor(n), 0), z)
}
function t(n) {
return "number" === typeof n
}
this.jE = null;
this.zP = function (n) {
var z = new FileReader;
z.onload = g;
z.readAsText(n)
}
;
this.zQ = function (n) {
this.jE = {};
this.jE.map = t(n.map) ? l(n.map, 13) : 0;
this.jE.seedMap = t(n.seedMap) ? l(n.seedMap, 16383) : 0;
this.jE.seedSpawn = t(n.seedSpawn) ? l(n.seedSpawn, 16383) : 0;
this.jE.customSpawn = "boolean" === typeof n.customSpawn ? n.customSpawn : !1;
var z = this.jE;
var y = n.zU;
y = Array.isArray(y) && 3 === y.length ? y : null;
z.zU = y;
this.jE.numberPlayers = t(n.numberPlayers) ? l(n.numberPlayers, 512) : 512;
this.jE.playerX = Array.isArray(n.playerX) ? n.playerX : [];
this.jE.playerY = Array.isArray(n.playerY) ? n.playerY : [];
this.jE.playerName = Array.isArray(n.playerName) ? n.playerName : [];
this.jE.playerStrength = Array.isArray(n.playerStrength) ? n.playerStrength : [];
this.jE.playerTeam = Array.isArray(n.playerTeam) ? n.playerTeam : [];
this.jE.mapName = x(n.mapName, 1, 25, "Map");
this.jE.description = x(n.description, 0, 400, "");
this.jE.mapBase64 = "string" === typeof n.mapBase64 ? n.mapBase64 : "";
this.zX()
}
;
this.zX = function () {
var n, z = this.jE.playerName.length;
for (n = 0; n < z; n++)
this.jE.playerName[n] = x(this.jE.playerName[n], 3, 24, "Bot")
}
;
this.lC = function () {
k(this.jE.mapBase64) || x0(jD.jE.map, jD.jE.seedMap)
}
}
function kF() {
function g(y) {
return y < cq ? k * y : k * cq + x * (y - cq)
}
var k, x, l, t, n, z;
this.bp = function () {
k = 16 > cq ? 12 : 8;
x = 4;
var y = g(b8);
l = new Uint8Array(b8);
t = new Uint16Array(y);
n = new Uint32Array(y);
z = new Uint16Array(y)
}
;
this.yw = function (y) {
l[y] = 0
}
;
this.z3 = function (y, A) {
var B;
a: {
var C = g(y);
for (B = l[y] - 1; 0 <= B; B--)
if (0 === z[C + B] && t[C + B] === A)
break a;
B = l[y]
}
B !== l[y] && (C = n[g(y) + B],
this.b2(y, B),
this.cQ(y, C, b8))
}
;
this.co = function (y, A) {
var B, C = g(y);
for (B = l[y] - 1; 0 <= B; B--)
if (0 === z[C + B] && t[C + B] === A)
return !0;
return !1
}
;
this.dD = function (y) {
return y < cq ? l[y] < k : l[y] < x
}
;
this.af = function (y) {
return l[y]
}
;
this.al = function (y, A) {
return t[g(y) + A]
}
;
this.ag = function (y, A) {
return z[g(y) + A]
}
;
this.fR = function (y, A) {
var B, C = g(y);
for (B = l[y] - 1; 0 <= B; B--)
if (z[C + B] === A)
return B;
return -1
}
;
this.am = function (y, A) {
return n[g(y) + A]
}
;
this.bi = function (y, A) {
var B, C = g(y);
for (B = l[y] - 1; 0 <= B; B--)
if (0 === z[C + B] && t[C + B] === A)
return n[C + B];
return 0
}
;
this.z2 = function (y) {
var A = g(y)
, B = 0;
for (y = l[y] - 1; 0 <= y; y--)
B += n[A + y];
return B
}
;
this.zh = function (y) {
var A = g(y)
, B = 0;
for (y = l[y] - 1; 0 <= y; y--)
0 === z[A + y] && (B += n[A + y]);
return B
}
;
this.yq = function (y) {
var A = g(y)
, B = 0;
for (y = l[y] - 1; 0 <= y; y--)
0 < z[A + y] && B++;
return B
}
;
this.bh = function (y, A, B) {
var C = g(y);
for (y = l[y] - 1; 0 <= y; y--)
0 === z[C + y] && t[C + y] === A && (n[C + y] = B)
}
;
this.bT = function (y, A, B) {
n[g(y) + A] = B
}
;
this.cQ = function (y, A, B) {
var C, F = g(y);
B === aw && b0.b1[y < cq ? 6 : 5]++;
for (C = l[y] - 1; 0 <= C; C--)
if (0 === z[F + C] && t[F + C] === B) {
n[F + C] += A;
n[F + C] = n[F + C] > j2 ? j2 : n[F + C];
return
}
t[F + l[y]] = B;
n[F + l[y]] = A;
z[F + l[y]] = 0;
l[y]++;
y < cq && (B === aw ? e5.fh(y, 5) : y === aw && e6.md(B))
}
;
this.tk = function (y, A, B) {
var C = g(y);
fB[y] = 2;
t[C + l[y]] = 0;
n[C + l[y]] = A;
z[C + l[y]] = B;
l[y]++
}
;
this.b2 = function (y, A) {
var B;
if (0 !== l[y]) {
var C = g(y);
l[y]--;
for (B = A; B < l[y]; B++)
t[C + B] = t[C + B + 1],
n[C + B] = n[C + B + 1],
z[C + B] = z[C + B + 1]
}
}
;
this.yy = function (y) {
var A, B, C = [];
for (A = dY - 1; 0 <= A; A--) {
var F = g(dZ[A]);
for (B = l[dZ[A]] - 1; 0 <= B; B--)
if (0 === z[F + B] && t[F + B] === y) {
C.push(dZ[A]);
break
}
}
return C
}
}
function kG() {
var g, k, x, l, t, n;
this.bp = function () {
l = x = k = g = 10
}
;
this.zo = function () {
n = 512;
t = new Uint16Array(n);
for (var z = 0; z < n; z++)
t[z] = 100 + bl(as(25600 * z, n - 4), 9)
}
;
this.s8 = function () {
return l
}
;
this.dF = function () {
if (0 >= --x) {
x = g;
var z, y = ax[aw];
dt && !dA && 0 !== fB[0] && 0 === du.dv[0].bD && (ax[0] += as(bU[0], 6));
for (z = dY - 1; 0 <= z; z--) {
var A = as(ay.tN(dZ[z]) * ax[dZ[z]], 1E4);
ax[dZ[z]] += 1 > A ? 1 : A;
ay.az(dZ[z])
}
b0.b1[9] += ax[aw] - y;
if (0 >= --l) {
l = k;
z = ax[aw];
for (A = dY - 1; 0 <= A; A--)
ax[dZ[A]] += bU[dZ[A]],
ay.az(dZ[A]);
b0.b1[8] += ax[aw] - z
}
}
}
;
this.tN = function (z) {
var y = t[as((n - 1) * bU[z], j1)];
if (1920 > c4.dU()) {
var A = as(100 * (13440 - 6 * c4.dU()), 1920);
y = A > y ? A : y
}
A = this.dJ(z);
ax[z] > A && (y -= as(2 * y * (ax[z] - A), A));
return 0 > y ? 0 : 700 < y ? 700 : y
}
;
this.dJ = function (z) {
z = 100 * bU[z];
return z > j3 ? j3 : z
}
;
this.az = function (z) {
var y = bU[z] * iz;
ax[z] = ax[z] > j2 ? j2 : ax[z] > y ? y : ax[z]
}
}
function kH() {
function g() {
X.width = gA;
X.height = cB;
V = X.getContext("2d", {
alpha: !0
});
V.textAlign = cJ;
V.textBaseline = cI;
V.imageSmoothingEnabled = !0
}
function k() {
W = !1;
U = 1;
R = P = 0;
V.clearRect(0, 0, gA, cB);
for (var O = g8 / g3, T = g9 / g3, Y = (gA + g8) / g3, Z = (cB + g9) / g3, ha, ma, fa, ea, qa, ua = 0 !== fB[aw] && hm.l9(aw), za = dY - 1; 0 <= za; za--)
if (fa = dZ[za],
ea = Math.floor(Q * g3 * K[fa] * H[fa]),
!(ea < M || ea >= L) && F[fa] + H[fa] > O && F[fa] < Y && E[fa] + J[fa] > T && E[fa] < Z) {
ha = Math.floor(gA * (F[fa] + H[fa] / 2 - O) / (Y - O));
ma = Math.floor(cB * (E[fa] + J[fa] / 2 - T) / (Z - T) - .1 * ea);
V.font = of[fP[fa]] + ea + bu;
qa = V;
var ra = fa;
ra = ea >= I && ea < L ? dW.a0f[b5.qo[ra]] + t(ea).toFixed(3) + ")" : dW.a0g[b5.qo[ra]];
qa.fillStyle = ra;
V.fillText(8 === dr ? eL.gF(ax[fa]) : gE[fa], ha, ma);
W = !0;
if (0 < ca[fa]) {
qa = ha;
ra = ma;
var va = ea
, sa = fa;
if (0 === sD[sa])
if (a5.o4(ba[sa])) {
var Aa = qa
, ta = va
, ya = sa;
sa = ba[sa];
var wa = .9 * ta / a5.c1
, Ca = Math.floor(ra - .5 * wa * a5.c1 - .05 * ta);
V.globalAlpha = t(ta);
for (var Ba = Math.floor(Aa - .5 * ta / D[ya] - .4 * ta - wa * a5.c1), xa = 0; 2 > xa; xa++)
V.setTransform(wa, 0, 0, wa, Ba, Ca),
V.drawImage(a5.l0[sa], 0, 0),
Ba = Math.floor(Aa + .5 * ta / D[ya] + .4 * ta);
V.globalAlpha = 1;
V.setTransform(1, 0, 0, 1, 0, 0);
x(qa, ra, va, 0, 0)
} else
a5.o3(ba[sa]) ? (l(qa, ra, va, ba[sa], 0),
x(qa, ra, va, 0, 1)) : (l(qa, ra, va, ba[sa], 1),
x(qa, ra, va, 1, 0));
else
l(qa, ra, va, ba[sa], 0)
} else
0 === sD[fa] && x(ha, ma, ea, 0, 0);
if (ua && (0 < ca[fa + b8] || 0 < ca[fa + 2 * b8] || 0 < ca[fa + 3 * b8] || 0 < ca[fa + 4 * b8])) {
ra = ha;
va = ma;
Aa = ea;
ta = fa;
ya = -1;
for (qa = 4; 1 <= qa; qa--)
0 < ca[ta + qa * b8] && ya++;
for (qa = 1; 5 > qa; qa++)
0 < ca[ta + qa * b8] && (sa = Aa,
wa = qa,
Ca = ta,
Ba = ca[ta + qa * b8],
xa = .8 * sa / a5.c1,
V.setTransform(xa, 0, 0, xa, Math.floor(ra - .5 * xa * a5.c1 - .534 * ya * sa), Math.floor(va + 1.4 * xa * a5.c1)),
V.globalAlpha = t(sa),
V.drawImage(1 === wa ? a5.l0[ba[Ca + b8]] : 2 === wa && 255 > Ba ? hm.ky[2] : hm.kx[wa + 3], 0, 0),
V.globalAlpha = 1,
V.setTransform(1, 0, 0, 1, 0, 0),
ya -= 2)
}
qa = Math.floor(N * ea);
qa < M || (V.font = bt + qa + bu,
V.fillText(8 === dr ? gE[fa] : eL.gF(ax[fa]), ha, ma + Math.floor(.78 * ea)))
}
}
function x(O, T, Y, Z, ha) {
var ma = .95 * Y / S;
V.setTransform(ma, 0, 0, ma, Math.floor(O - .5 * ma * pa + .8 * Z * Y), Math.floor(T - 1.76 * ma * S - .82 * ha * Y));
V.globalAlpha = t(Y);
V.drawImage(bw.bz(4), 0, 0);
V.globalAlpha = 1;
V.setTransform(1, 0, 0, 1, 0, 0)
}
function l(O, T, Y, Z, ha) {
var ma = 1.2 * Y / a5.c1;
V.setTransform(ma, 0, 0, ma, Math.floor(O - .5 * ma * a5.c1 - .8 * ha * Y), Math.floor(T - 1.5 * ma * a5.c1));
V.globalAlpha = t(Y);
V.drawImage(a5.l0[Z], 0, 0);
V.globalAlpha = 1;
V.setTransform(1, 0, 0, 1, 0, 0)
}
function t(O) {
return O >= I && O < L ? 1 - (O - I) / (L - I) : 1
}
function n(O) {
var T, Y = F[O];
for (T = F[O] - d0[O] - 1; 0 <= T; T--)
if (Y--,
!y(O, Y, E[O], J[O])) {
Y++;
break
}
var Z = F[O];
for (T = cz[O] - F[O] - H[O]; 0 <= T; T--)
if (Z++,
!y(O, Z + H[O] - 1, E[O], J[O])) {
Z--;
break
}
Y = Math.floor((Y + Z) / 2);
Z = E[O];
for (T = E[O] - d3[O] - 1; 0 <= T; T--)
if (Z--,
!A(O, Y, Z, H[O])) {
Z++;
break
}
var ha = E[O];
for (T = d2[O] - E[O] - J[O]; 0 <= T; T--)
if (ha++,
!A(O, Y, ha + J[O] - 1, H[O])) {
ha--;
break
}
T = Math.floor((Z + ha) / 2);
z(O, Y, T, H[O], J[O]) && (F[O] = Y,
E[O] = T)
}
function z(O, T, Y, Z, ha) {
var ma;
for (ma = T + Z - 1; ma >= T; ma--)
if (!y(O, ma, Y, ha))
return !1;
var fa = Math.floor(.25 * ha);
fa = 1 > fa ? 1 : fa;
for (ma = Y + ha - 1 - fa; ma >= Y + fa; ma--)
if (!A(O, T, ma, Z))
return !1;
return !0
}
function y(O, T, Y, Z) {
return b5.he(O, 4 * (Y * aZ + T)) && b5.he(O, 4 * ((Y + Z - 1) * aZ + T))
}
function A(O, T, Y, Z) {
return b5.he(O, 4 * (Y * aZ + T)) && b5.he(O, 4 * (Y * aZ + T + Z - 1))
}
var B, C, F, E, H, J, K, D, L, I, N, G, M, Q, R, P, U, W, X, V, na, ba, ca, pa, S;
this.bp = function () {
W = !1;
Q = .88;
N = .5;
G = 1.8;
L = Math.floor(.5 * pB);
I = Math.floor(.2 * L);
M = 8 === dr ? jm.a0L ? 6 : 4 : jm.a0L ? 10 : 7;
C = B = 0;
F = new Uint16Array(b8);
E = new Uint16Array(b8);
H = new Uint16Array(b8);
J = new Uint16Array(b8);
K = new Float32Array(b8);
D = new Float32Array(b8);
ba = new Uint8Array(2 * b8);
ca = new Uint8Array(5 * b8);
X = X ? X : document.createElement("canvas");
g();
P = R = 0;
U = 1;
na = 0;
if (8 === dr) {
var O;
V.font = bt + 100 + bu;
var T = 100 / Math.floor(V.measureText("20 000 000").width);
for (O = b8 - 1; 0 <= O; O--)
D[O] = K[O] = T
} else
for (V.font = bt + Math.floor(100 * N) + bu,
T = 80 / Math.floor(V.measureText(eL.gF(j2)).width),
V.font = bt + 100 + bu,
O = b8 - 1; 0 <= O; O--)
D[O] = 100 / Math.floor(V.measureText(gE[O]).width),
K[O] = T < D[O] ? T : D[O];
for (O = b8 - 1; 0 <= O; O--)
12 > bU[O] ? (F[O] = d0[O] + 1,
E[O] = d3[O] + 1,
H[O] = 1,
J[O] = 1) : (F[O] = d0[O],
E[O] = d3[O] + 1,
H[O] = 4,
J[O] = 2);
if (fY)
for (O = 0; O < cq; O++)
H[O] = 0;
pa = bw.bz(4).width;
S = bw.bz(4).height
}
;
this.lq = function () {
g();
k()
}
;
this.iw = function () {
for (var O = na = 0; O < cq; O++)
3 !== cz[O] - d0[O] || 3 !== d2[O] - d3[O] ? (F[O] = d0[O] + (cz[O] !== d0[O] ? 1 : 0),
E[O] = d3[O],
H[O] = 1,
J[O] = 1) : (F[O] = d0[O],
E[O] = d3[O] + 1,
H[O] = 4,
J[O] = 2)
}
;
this.mv = function (O, T, Y) {
0 === fB[O] || 4 !== T && 2 === fP[O] || (O += T * b8,
0 === T ? ba[O] === Y && 0 < ca[O] ? ca[O] = 0 : (ba[O] = Y,
ca[O] = a5.o4(Y) ? 255 : 64) : 1 === T ? (ca[O] = 64,
ba[O] = Y) : ca[O] = Y)
}
;
this.cG = function () {
W && (1 !== U ? (cH.imageSmoothingEnabled = !0,
cH.setTransform(U, 0, 0, U, 0, 0),
cH.drawImage(X, -R / U, -P / U),
cH.setTransform(1, 0, 0, 1, 0, 0)) : (cH.imageSmoothingEnabled = !1,
cH.drawImage(X, -R, -P)))
}
;
this.rJ = function (O, T) {
R += O;
P += T
}
;
this.lh = function (O, T) {
e6.rJ(O, T)
}
;
this.zoom = function (O, T, Y) {
U *= O;
R = (R + T) * O - T;
P = (P + Y) * O - Y
}
;
this.eX = function () {
return 0 >= --na ? (na = 4 >= sf ? 10 : 12 > sf ? 5 : 2,
k(),
!0) : !1
}
;
this.gC = function (O) {
return K[O]
}
;
this.dF = function () {
if (4 <= ++C) {
var O, T;
C = 0;
for (T = 4; 1 <= T; T--)
for (O = dY - 1; 0 <= O; O--) {
var Y = dZ[O] + T * b8;
0 < ca[Y] && 255 > ca[Y] && ca[Y]--
}
if (2 !== fV)
for (O = dY - 1; 0 <= O; O--)
Y = dZ[O],
0 < ca[Y] && 255 > ca[Y] && ca[Y]--
}
O = Math.floor(.1 * dY);
O = 8 > O ? 8 : O;
O = O > dY ? dY : O;
for (Y = B + O - 1; Y >= B; Y--)
if (T = Y % dY,
T = dZ[T],
0 < H[T] && z(T, F[T], E[T], H[T], J[T])) {
for (var Z, ha, ma, fa, ea = T, qa = !1, ua = 0; 8 > ua; ua++) {
ha = H[ea] + 2;
Z = J[ea] + 2;
if (ha > cz[ea] - d0[ea] + 1 || Z > d2[ea] - d3[ea] + 1)
break;
fa = F[ea] - 1;
ma = E[ea] - 1;
if (z(ea, fa, ma, ha, Z))
F[ea] = fa,
E[ea] = ma,
H[ea] = ha,
J[ea] = Z,
qa = !0;
else
break
}
if (Z = !qa) {
ea = T;
qa = !1;
ua = H[ea];
for (var za = 1 + Math.floor(.02 * ua), ra = 1; 5 > ra; ra++) {
ha = ua + ra * za;
if (ha > cz[ea] - d0[ea] + 1)
break;
Z = 1 + Math.floor(G * K[ea] * ha);
if (Z > d2[ea] - d3[ea] + 1)
break;
fa = d0[ea] + Math.floor(Math.random() * (cz[ea] - d0[ea] + 2 - ha));
ma = d3[ea] + Math.floor(Math.random() * (d2[ea] - d3[ea] + 2 - Z));
z(ea, fa, ma, ha, Z) && (F[ea] = fa,
E[ea] = ma,
H[ea] = ha,
J[ea] = Z,
qa = !0)
}
Z = qa
}
Z && n(T)
} else {
a: {
ha = T;
ma = F[ha] + 1;
fa = E[ha] + 1;
for (ea = H[ha] - 2; ;) {
if (1 > ea) {
H[ha] = 0;
break
}
Z = 1 + Math.floor(G * K[ha] * ea);
if (z(ha, ma, fa, ea, Z)) {
F[ha] = ma;
E[ha] = fa;
H[ha] = ea;
J[ha] = Z;
Z = !0;
break a
}
ma++;
fa++;
ea -= 2
}
Z = !1
}
if (Z)
n(T);
else
for (Z = T,
ma = cz[Z] - d0[Z] + 1,
ha = Math.floor(.02 * ma),
ha = 1 > ha ? 1 : ha,
T = -6 * ha; ma >= T; ma -= ha)
if (ea = 0 < ma ? ma : 1,
fa = 1 + Math.floor(G * K[Z] * ea),
ua = d0[Z] + Math.floor(Math.random() * (cz[Z] - d0[Z] + 2 - ea)),
qa = d3[Z] + Math.floor(Math.random() * (d2[Z] - d3[Z] + 2 - fa)),
z(Z, ua, qa, ea, fa)) {
F[Z] = ua;
E[Z] = qa;
H[Z] = ea;
J[Z] = fa;
break
}
}
B += O;
B %= dY
}
;
this.md = function (O) {
var T = O + 2 * b8
, Y = ca[T];
return 0 < Y ? (e5.n0(50, O),
ca[T] = 0,
255 === Y) : !1
}
;
this.ld = function (O) {
return 255 === ca[O + 2 * b8]
}
}
function kI() {
function g() {
var l;
if (!jD.jE)
return !1;
var t = jD.jE.playerName.length;
if (1 > t)
return !1;
for (l = cq; l < b8; l++)
gE[l] = jD.jE.playerName[l % t];
return !0
}
var k, x;
this.bp = function () {
var l, t;
// k is name of bots on single player, x is name of bots in multipalyer
k = "Abbasid Caliphate;Aceh s;Achaemenid Z;Afsharid z;Aghlabid Emirate;Ahom z;Akkadian Z;Aksumite Z;Akwamu;Alaouite z;Almohad Caliphate;Almoravid z;Angevin Z;Aq Qoyunlu;Armenian Z;Assyria;Ashanti Z;Austrian Z;Austria-Hungary;Ayyubid z;Aztec Z;Aulikara Z;Babylonian Z;Balhae;Banten s;S Banjar;Bamana Z;Bengal s;Benin Z;Kadamba z;Bornu Z;E Brazil;Britannic Z;British Z;British Raj;Bruneian Z;Bukhara Z;Burgundian State;Buyid z;Byzantine Z;Caliphate of C\u00f3rdoba;Cao Wei;Carthaginian Z;Cebu Rajahnate;Chagatai Khanate;Chalukya z;Chauhan z;Chav\u00edn Z;Chenla;Chera z;Chola z;Comanche Z;Congo Free State;Crimean Khanate;Dacian Z;Delhi s;Demak s;Durrani Z;Dutch Z;Egyptian Z;Elamite Z;Exarchate of Africa;Abyssinia;Fatimid Caliphate;First French Z;Frankish Z;Funan;Gallic Z;Gaza Z;Republic of Genoa;German Z;Ghana Z;Ghaznavid z;Ghurid z;Goguryeo;Goryeo;Gorkha Z;G\u00f6kt\u00fcrk Khaganate;Golden Horde;S Gowa;Seljuq Z;Gupta Z;Hafsid Y;Han z;Hanseatic League;E Harsha;Hephthalite Z;Hittite Z;Holy Roman Z;Hotak z;Hoysala Z;Hunnic Z;Husainid z;Idrisid z;Ilkhanate;K Israel;K Judah;Inca Z;Italian Z;E Japan;Jin z;Johor Z;Jolof Z;Joseon;Kaabu Z;Kachari Y;Kalmar Union;Kanem Z;Kanva z;Kara-Khanid Khanate;Kazakh Khanate;Khazar Khaganate;Khmer Z;Khilji z;Khwarazmian z;Kievan Rus';Konbaung z;Kong Z;Korean Z;Kushan Z;K Kush;Lakota;Latin Z;Later L\u00ea z;Liao z;Lodi s;Khmer Z;Macedonian Z;Majapahit Z;Mali Z;Malacca Z;Mamluk s;Manchukuo;Maratha Z;Marinid z;Massina Z;Mataram s;Mauretania;Mauryan Z;Median Z;Mlechchha z;Ming z;Mitanni Z;Mongol Z;Mughal Z;Nanda Z;Nguy\u1ec5n z;North Sea Z;E Nicaea;Numidia;Omani Z;Ottoman Z;Oyo Z;Pagan Z;Pahlavi z;Pala Z;Palmyrene Z;Parthian Z;Pontic Z;Portuguese Z;K Prussia;Ptolemaic Z;Qajar z;Qara Qoyunlu;Qin z;Qing z;Ramnad Sethupathis;Rashidun Caliphate;Rashtrakuta z;Roman Z;Rouran Khaganate;Rozwi Z;Rustamid z;Russian Z;Tsardom of Russia;Saadi z;Safavid z;Saffarid z;Sassanid z;Satavahana z;Samanid Z;Soviet Union;Saudeleur z;Duchy of Savoy;Seleucid Z;Serbian Z;Shu Han;Shang z;Siam Z;Sikh Z;Singhasari;Sokoto Caliphate;Song z;Songhai Z;Spanish Z;Srivijaya Z;Sui z;K Mysore;Shunga Z;S Sulu;Sumer;Sur Z;Swedish Z;Tahirid z;Tang z;T\u00e2y S\u01a1n z;S Ternate;E Thessalonica;German Reich;Tibetan Z;Tondo z;S Tidore;Timurid Z;K Tlemcen;E Trebizond;Toltec Z;Toungoo z;Toucouleur Z;Tu'i Tonga Z;Turgesh Khaganate;Umayyad Caliphate;Uyunid Emirate;Uyghur Khaganate;Uzbek Khanate;Vandal Y;Vijayanagara Z;Republic of Venice;Wari Z;Wassoulou Z;Wattasids;Western Roman Z;Eastern Wu;Western Xia z;Xin z;Yuan z;Zand z;Zhou z;Zulu Z;Yugoslavia;Kosovo;Sikkim;Kanem\u2013Bornu Z;Wadai Z;Ethiopian Z;Rozvi Z;Sasanian Z;E Vietnam;Shilluk Y;K Aksum;Gwiriko Y;Toro Y;Malindi Y;K Loango;K Mapungubwe;Ryukyu Y;K Cyprus;K Jerusalem;Garhwal Y;K Nepal;K Cambodia;Champa Y;Hanthawaddy Y;Phayao Y;K Sardinia;K Sicily;K Gwynedd;K Scotland;K Desmond;K Poland;K Hungary;K Croatia;K Bohemia;Albanian Y;K Georgia;K Portugal;Khanate of Sibir;K Romania;Cossack Hetmanate;Duchy of Bouillon;K Ireland;Lordship of Ireland;K Italy;Republic of Pisa;Idrisid z;Almoravid z;Almohad Caliphate;Marinid z;Wattasid z;Saadian z;Republic of Sal\u00e9;Rif Republic;K Kush;Makuria;Alodia;Ayyubid z;Mamluk s;Egypt Eyalet;K Fazughli;S Sennar;S Darfur;Mahdist State;S Egypt;K Egypt;Emirate of Cyrenaica;K Libya;Republic of Egypt;Republic of the Sudan;United Arab Republic;Libyan Arab Republic;Zirid z;Hafsid z;K Kuku;Regency of Algiers;Gurunsi;Liptako;Tenkodogo;Wogodogo;Yatenga;Bilanga;Bilayanga;Bongandini;Con;Macakoali;Piela;Nungu;K Sine;K Saloum;K Baol;K Cayor;K Waalo;Bundu;Bonoman;Gyaaman;Denkyira;Mankessim Y;K Dahomey;Oyo Z;K Nri;Aro Confederacy;Kwararafa;Biafra;Buganda;Bunyoro;Ankole;Busoga;Tanganyika;Kuba Y;K Luba;K Lunda;Yeke Y;K Ndongo;Kasanje Y;K Matamba;Mbunda Y;Chokwe Y;Kazembe Y;K Butua;Ndebele Y;Mthethwa Z;Bophuthatswana;Ciskei;Transkei;Venda;Rhodesia;Kart z;Nogai Horde;Khanate of Bukhara;Khanate of Khiva;Khamag Mongol;Northern Fujiwara;Kamakura Shogunate;Ashikaga Shogunate;Jaxa;Republic of Ezo;Jiangxi Soviet;Hunan Soviet;Guangzhou Commune;Gojoseon;Alaiye;Beylik of Bafra;Ka
x = "Abbasid Caliphate;Aceh s;Achaemenid Z;Afsharid z;Aghlabid Emirate;Ahom z;Akkadian Z;Aksumite Z;Akwamu;Alaouite z;Almohad Caliphate;Almoravid z;Angevin Z;Aq Qoyunlu;Armenian Z;Assyria;Ashanti Z;Austrian Z;Austria-Hungary;Ayyubid z;Aztec Z;Aulikara Z;Babylonian Z;Balhae;Banten s;S Banjar;Bamana Z;Bengal s;Benin Z;Kadamba z;Bornu Z;E Brazil;Britannic Z;British Z;British Raj;Bruneian Z;Bukhara Z;Burgundian State;Buyid z;Byzantine Z;Caliphate of C\u00f3rdoba;Cao Wei;Carthaginian Z;Cebu Rajahnate;Chagatai Khanate;Chalukya z;Chauhan z;Chav\u00edn Z;Chenla;Chera z;Chola z;Comanche Z;Congo Free State;Crimean Khanate;Dacian Z;Delhi s;Demak s;Durrani Z;Dutch Z;Egyptian Z;Elamite Z;Exarchate of Africa;Abyssinia;Fatimid Caliphate;First French Z;Frankish Z;FX Empire;Kingdom of FX;Funan;Gallic Z;Gaza Z;Republic of Genoa;German Z;Ghana Z;Ghaznavid z;Ghurid z;Goguryeo;Goryeo;Gorkha Z;G\u00f6kt\u00fcrk Khaganate;Golden Horde;S Gowa;Seljuq Z;Gupta Z;Hafsid Y;Han z;Hanseatic League;E Harsha;Hephthalite Z;Hittite Z;Holy Roman Z;Hotak z;Hoysala Z;Hunnic Z;Husainid z;Idrisid z;Ilkhanate;K Israel;K Judah;Inca Z;Italian Z;E Japan;Jin z;Johor Z;Jolof Z;Joseon;Kaabu Z;Kachari Y;Kalmar Union;Kanem Z;Kanva z;Kara-Khanid Khanate;Kazakh Khanate;Khazar Khaganate;Khmer Z;Khilji z;Khwarazmian z;Kievan Rus';Konbaung z;Kong Z;Korean Z;Kushan Z;K Kush;Lakota;Latin Z;Later L\u00ea z;Liao z;Lodi s;Khmer Z;Macedonian Z;Majapahit Z;Mali Z;Malacca Z;Mamluk s;Manchukuo;Maratha Z;Marinid z;Massina Z;Mataram s;Mauretania;Mauryan Z;Median Z;Mlechchha z;Ming z;Mitanni Z;Mongol Z;Mughal Z;Nanda Z;Nguy\u1ec5n z;North Sea Z;E Nicaea;Numidia;Omani Z;Ottoman Z;Oyo Z;Pagan Z;Pahlavi z;Pala Z;Palmyrene Z;Parthian Z;Pontic Z;Portuguese Z;K Prussia;Ptolemaic Z;Qajar z;Qara Qoyunlu;Qin z;Qing z;Ramnad Sethupathis;Rashidun Caliphate;Rashtrakuta z;Roman Z;Rouran Khaganate;Rozwi Z;Rustamid z;Russian Z;Tsardom of Russia;Saadi z;Safavid z;Saffarid z;Sassanid z;Satavahana z;Samanid Z;Soviet Union;Saudeleur z;Duchy of Savoy;Seleucid Z;Serbian Z;Shu Han;Shang z;Siam Z;Sikh Z;Singhasari;Sokoto Caliphate;Song z;Songhai Z;Spanish Z;Srivijaya Z;Sui z;K Mysore;Shunga Z;S Sulu;Sumer;Sur Z;Swedish Z;Tahirid z;Tang z;T\u00e2y S\u01a1n z;S Ternate;E Thessalonica;German Reich;Tibetan Z;Tondo z;S Tidore;Timurid Z;K Tlemcen;E Trebizond;Toltec Z;Toungoo z;Toucouleur Z;Tu'i Tonga Z;Turgesh Khaganate;Umayyad Caliphate;Uyunid Emirate;Uyghur Khaganate;Uzbek Khanate;Vandal Y;Vijayanagara Z;Republic of Venice;Wari Z;Wassoulou Z;Wattasids;Western Roman Z;Eastern Wu;Western Xia z;Xin z;Yuan z;Zand z;Zhou z;Zulu Z;Yugoslavia;Kosovo;Sikkim;Kanem\u2013Bornu Z;Wadai Z;Ethiopian Z;Rozvi Z;Sasanian Z;E Vietnam;Shilluk Y;K Aksum;Gwiriko Y;Toro Y;Malindi Y;K Loango;K Mapungubwe;Ryukyu Y;K Cyprus;K Jerusalem;Garhwal Y;K Nepal;K Cambodia;Champa Y;Hanthawaddy Y;Phayao Y;K Sardinia;K Sicily;K Gwynedd;K Scotland;K Desmond;K Poland;K Hungary;K Croatia;K Bohemia;Albanian Y;K Georgia;K Portugal;Khanate of Sibir;K Romania;Cossack Hetmanate;Duchy of Bouillon;K Ireland;Lordship of Ireland;K Italy;Republic of Pisa;Idrisid z;Almoravid z;Almohad Caliphate;Marinid z;Wattasid z;Saadian z;Republic of Sal\u00e9;Rif Republic;K Kush;Makuria;Alodia;Ayyubid z;Mamluk s;Egypt Eyalet;K Fazughli;S Sennar;S Darfur;Mahdist State;S Egypt;K Egypt;Emirate of Cyrenaica;K Libya;Republic of Egypt;Republic of the Sudan;United Arab Republic;Libyan Arab Republic;Zirid z;Hafsid z;K Kuku;Regency of Algiers;Gurunsi;Liptako;Tenkodogo;Wogodogo;Yatenga;Bilanga;Bilayanga;Bongandini;Con;Macakoali;Piela;Nungu;K Sine;K Saloum;K Baol;K Cayor;K Waalo;Bundu;Bonoman;Gyaaman;Denkyira;Mankessim Y;K Dahomey;Oyo Z;K Nri;Aro Confederacy;Kwararafa;Biafra;Buganda;Bunyoro;Ankole;Busoga;Tanganyika;Kuba Y;K Luba;K Lunda;Yeke Y;K Ndongo;Kasanje Y;K Matamba;Mbunda Y;Chokwe Y;Kazembe Y;K Butua;Ndebele Y;Mthethwa Z;Bophuthatswana;Ciskei;Transkei;Venda;Rhodesia;Kart z;Nogai Horde;Khanate of Bukhara;Khanate of Khiva;Khamag Mongol;Northern Fujiwara;Kamakura Shogunate;Ashikaga Shogunate;Jaxa;Republic of Ezo;Jiangxi Soviet;Hunan Soviet;Guangzhou Commune;Gojoseon;A
2022-12-28 05:11:29 -08:00
// check if funny names is enabled
2022-12-28 10:21:31 -08:00
/*if (settings.funnyNames) {
2022-12-28 05:11:29 -08:00
k = "69 Empire;Ohio;FX;FX Client;Ohio Empire;Kingdom of Trump;Republic of New York;Florida Man;United States of Islamic Free Socialist Republics of Soviets;Stalin Empire;Adolf Hitler;420;69;14;420:69;New Union;Jesus;Gamer Girl;Dragoons;Hw;Helicopter; ;F;SX;FVE;ADC;ABC;Soviet Union;LookDS;Fortnite;Fortnite Battlepass;Warzone;Minecraft;Call of FX Client;Teryak;LOL;LOL Empire;Kingdom of LOL;D;XD;LMAO;BRB;DWS;CGT;343;4456;696969;LSX;RWS;Amazon;Google;Google Empire;Kermanshah;Iran;Russia;Ukraine;Mohsen;ELOL;ELO;CHESS;Cerix;SAE;TFC;World Cup;Qatar;United Mexican States;Spanish Dum;SAFF;USSR;Crap;Fuck Empire;VBucks;Free VBucks;Gems;Steven Hawking;Q-DMR;Cocaine;DMT;PS5;Xbox;Microsft;Kingdom of Evil;Bux;Box;Dum Dum;Amogus;Among You;EsS;DRT;Ezraeel;CBF;AXS;6732;345;65;6;57;6;75687;7867;8;78;67;7546;54;634;6456;567658;768;78578;78578;768;789;79;Gd;German Empire;Fx;FX Client;FX Mod;Moms;Your Mom;X;PornHub;Kid;Childrens;SXCC;TSX;XFGT;ZALE;F;SEX;SEX Empire;Crown of ESIOS;Fr*nch;Nazis;FR;ELITE;[DREW];Swiss Person;Drew Durnil;DE;Persian K;King of Zelda;MC;Bedrocks;Rock Bottom;AES;ARSHED;Crushed;Mash Potatos;Mamad;Mohammad;ISLAM;Jesuss;ESX;Easter Egg Empire;XSAARF;Darwin;Einstin;Stalin;XEAEQQL;Serbia;Kosovo is Albania;Sun;Earth;Moon;R;MNTE;Serbs;Chad;Gigachad;GigaChad Empire;Terra Chad;Linus Tech Tips;MrBeast;D;ABSD;USA;Space Race;C;Random;Sheeesh;Kdmork;Water;[FX];FX Bot;Ohio is strong;Pineapple on Pizza;Covid-19;British Empire;ZZZZ;Zombies;PewDiePie;Zanzibar Technology;Tapels;Naples;Rome never Falls;Nik;Nuuk;Nuke Us;North Korea;Kim Jung-Un;Seoul;Washington D.C.;NN;RFVDGTRG;Polish;Poles;Mars;Jupiter;SUUUN;Andromeda;Triangulum;NGC-6;Hollywood;Bollywood;Messi;Ronaldo Dynasty;SUIIII;Habsburgs;Moscua;Rasputin;Turkey;Turkey da best;Guten Tag Poland;Polish Lithuanian Commonwealth;British Raj;Hello Your Compter Has Virus;Youtube;Indian Tech Support;Zanzibar;Optfine Empire;Kingdom of Oil;Persian Gulf has oil;Land of Freedom;BOTSWANA;Zombia;COC;Supercell;GigaCell;Megabyte;Internet Connection;CTRL + W = Chat;CTRL + W;Ohioans;Ohioan;O hio;K-POP;BTS;6ix9ine;Charleys;Mom;Your Mom;Your Mom with Belt;A+;Your Father with Milk;No Father;Kiddo;xR;iPhone is best;This is elon musk;Elon Musk;Charley Cooper;Raeesi;PACIL;Despacito;Ohio for ever;Wakanda;Wakanda for ever;Basij for life;King;Queen;Rook;e4;Chess is da best;69696969696969696969696;VCD;Robolx;Robolox;Roblox;Rubux;Free Rubux;Free Discord Nitro;Pandas;T-34;Gay;Gayreece;DRP;Drop of water;Ohio Dynasty;OHIO;OHIO;OHIO;OHIO;OHIO;OHIO;ohio;ohio;Florida;Kingdom of Florida;Yes;Reddit;Mom I'm Famous;YESSS!;undefined;UNO Reverse Card;Get Rekt;Netflix;Dj Jesus;Dancing Polish Cow;Crimea is USA;Serbia is Gay;Qatar isn't gay;Australia is fake;Australia-Hungary;Nuclear Fusion;Nuclear Bombs;Mirex;Florida;Communist Texas;Capitalist USSR;Rome always falls;Papal States of da Pope;Cuba is Sigma;Chad is Chad;Republic of Macedonia, oh wait North Macedonia;Alexander the Great was Macedonian;Turkey is Turk;Mongols are Pro-Gamers;Funky;Creep-er;Wind;Earth;History is useless;Here It Comes;Poor Albanian;Homeless Albanian;Least Angry Russian;Palestine is;West Taiwan;East Ukraine;N-Word;Shakespere;Short Guy;Peter Dum Dum;Come to Brazil;We speak Brazilian here;Third Mexican Republic;OHIO💀;Dead Kingdom;Alt+F4 for chat;GERHGRTHSDFHRTSHDRTGHRT;Gamer girl bath water;Mr. Dickhead;Mr. Cocksex;Average FX Client User;Sheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeesh;123456789;Password;This game is written in html;".split(";");
var _test = "Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;Ohio;O
k = _test;
x = k;
2022-12-28 10:21:31 -08:00
}*/
2022-12-25 08:25:12 -08:00
var n = "K ; Y;E ; Z; z; s;S ".split(";")
, z = "Kingdom of ; Kingdom;Empire of ; Empire; Dynasty; Sultanate;Sultanate of ".split(";");
for (l = k.length - 1; 0 <= l; l--)
for (t = n.length - 1; 0 <= t; t--) {
k[l] = k[l].replace(n[t], z[t])
x[l] = x[l].replace(n[t], z[t])
2022-12-28 10:21:31 -08:00
};
if (settings.realisticNames) k = x = realisticNames;
2022-12-25 08:25:12 -08:00
}
;
this.jM = function () {
if (9 === dr) {
var l, t = ce.random(), n = x.length, z = cq + dy.dz;
for (l = z - 1; l >= cq; l--)
gE[l] = "[Bot] " + x[(l + t) % n];
for (l = z; l < b8; l++)
gE[l] = "[Zombie] " + x[(l + t) % n]
} else if (dt) {
if (!g())
for (t = ce.random(),
l = cq; l < b8; l++)
gE[l] = k[(l + t) % b8]
} else
for (t = x.length,
n = ce.random(),
l = cq; l < b8; l++)
gE[l] = "[Bot] " + x[(l + n) % t]
}
;
this.jN = function () {
var l;
if (jm.a10 && !dt) {
a11 = Array(cq);
var t = cq;
var n = x.length;
var z = ce.a12();
for (l = 0; l < t; l++)
a11[l] = gE[l],
gE[l] = x[(l + z) % n];
gE[aw] = a11[aw]
}
}
}
function ki() {
this.a16 = [];
this.a17 = [];
this.bp = function () {
this.a16 = [];
this.a17 = []
}
;
this.dF = function () {
0 <= this.a16.length && this.a18(this.a16);
0 <= this.a17.length && this.a18(this.a17)
}
;
this.a18 = function (g) {
var k, x = -1;
for (k = g.length - 1; 0 <= k; k--)
if (g[k].gY--,
0 >= g[k].gY) {
x = k;
break
}
for (k = x; 0 <= k; k--)
g.shift()
}
;
this.lJ = function (g, k, x) {
return this.a1A(this.a16, g, k, x)
}
;
this.a1B = function (g, k, x) {
return this.a1A(this.a17, g, k, x)
}
;
this.a1A = function (g, k, x, l) {
var t;
a: {
var n;
for (t = x.length - 1; 0 <= t; t--)
for (n = g.length - 1; 0 <= n; n--)
if (g[n].player === x[t] && k === g[n].id) {
t = !0;
break a
}
t = !1
}
if (t)
return !1;
if (l)
for (l = x.length - 1; 0 <= l; l--)
g.push({
player: x[l],
id: k,
gY: 384
});
return !0
}
}
var gE, a11, fB, d0, d3, cz, d2, bU, hR, ax, b4, bM, bN, bQ, fP;
function jH(g) {
a11 = gE = Array(b8);
fB = new Uint8Array(b8);
d0 = new Uint16Array(b8);
d3 = new Uint16Array(b8);
cz = new Uint16Array(b8);
d2 = new Uint16Array(b8);
bU = new Uint32Array(b8);
hR = new Uint32Array(b8);
ax = new Uint32Array(b8);
b4 = Array(b8);
bM = Array(b8);
bN = Array(b8);
bQ = Array(b8);
fP = new Uint8Array(b8);
for (var k = g.length - 1; 0 <= k; k--)
gE[k] = g[k].name,
fP[k] = g[k].xJ
}
function kg() {
this.nS = 0;
this.i0 = null;
this.bp = function () {
this.nS = 0;
this.i0 = []
}
;
this.fk = function (g) {
this.i0.push(g);
io++;
fP[g] = 2;
b5.qo[g] = (b5.qo[g] + 2) % 4;
g === aw && (eS.show(!1, !1),
e7.tB());
e6.md(g)
}
;
this.fd = function (g) {
var k;
if (2 !== fP[g]) {
var x = this.i0;
for (k = x.length - 1; 0 <= k; k--)
if (x[k] === g) {
x.splice(k, 1);
break
}
}
}
;
this.dF = function () {
dt || (30 === this.nS && this.a1E(),
this.nS = (this.nS + 1) % 60)
2022-12-25 08:25:12 -08:00
}
;
this.a1E = function () {
var g, k = this.i0;
for (g = k.length - 1; 0 <= g; g--) {
var x = k[g];
if (ae.dD(x)) {
var l = as(20 * ax[x], 100);
2022-12-25 08:25:12 -08:00
60 > l || (0 === bM[x].length ? !dE.dF(x, 2) && dA && dI(x, l, 0, 0) : dA ? dT(x, l) : db(x, l))
}
}
}
}
function kc() {
function g(l) {
return x[l].a1L && k[l].a1Q()
}
this.w8 = 5;
this.w9 = this.w8 - 1;
this.vF = this.w8 + this.w9;
var k;
this.a1H = null;
var x;
this.vo = this.jV = 0;
this.bp = function () {
var l;
this.a1H = Array(this.w8);
this.a1H[0] = "territorial.io";
this.a1H[this.w8 - 1] = "vampirr.io";
var t = ce.a12(0);
ce.jG(0);
for (l = 1; l < this.w8 - 1; l++)
this.a1H[l] = m.iR() + ".com";
ce.jG(t);
k = Array(this.vF);
x = Array(this.vF);
for (l = this.vF - 1; 0 <= l; l--)
x[l] = {
a1L: !1,
gY: 0,
a1M: !1
}
}
;
this.mt = function () {
return this.vo < this.w8 ? this.vo : this.vo - this.w9
}
;
this.dF = function () {
for (var l = this.vF - 1; 0 <= l; l--)
this.vB(l) && c4.gY > x[l].gY + 15E3 && ii.a1N(l, x[l].a1M)
}
;
this.rb = function (l, t) {
if (!x[l].a1L)
return this.a1P(l, t),
!1;
if (k[l].a1Q())
return k[l].a1R(t),
k[l].vB();
k[l].lA();
this.a1P(l, t);
return !1
}
;
this.a1P = function (l, t) {
x[l].a1L = !0;
x[l].gY = c4.gY;
x[l].a1M = !1;
k[l] = new a1T;
k[l].bp(l, t)
}
;
this.a1R = function (l, t) {
g(l) && k[l].a1R(t)
}
;
this.a1U = function (l, t) {
0 === t ? jZ.rd() : 3 > t ? ii.u8(l, t - 1) : 3 === t ? ii.xG(l) : 4 === t ? jb.rd(l) : 5 === t ? l === this.jV && ii.a1V() : 6 === t ? ii.a1W(l) : 7 === t && ii.xf(l)
}
;
this.vB = function (l) {
return x[l].a1L && k[l].vB()
}
;
this.send = function (l, t) {
x[l].gY = c4.gY;
x[l].a1M = !1;
k[l].send(t)
}
;
this.pD = function (l) {
x[l].a1M = !0
}
;
this.close = function (l, t) {
g(l) && k[l].close(t)
}
;
this.a1Y = function (l, t) {
jc.vL(t);
g(l) && k[l].close(t)
}
;
this.vN = function (l) {
for (var t = this.vF - 1; 0 <= t; t--)
this.close(t, l)
}
;
this.a1Z = function (l, t) {
for (var n = this.vF - 1; 0 <= n; n--)
n !== l && this.close(n, t)
}
;
this.a1a = function (l, t) {
k[l].lA();
jc.bp(l, t.code)
}
}
var dZ, dY;
function jO() {
var g;
dY = 0;
for (g = b8 - 1; 0 <= g; g--)
0 !== fB[g] && dY++;
dZ = new Uint16Array(dY);
var k = 0;
for (g = 0; g < b8; g++)
0 !== fB[g] && (dZ[k++] = g)
}
function eH() {
a1b();
fj()
}
function fj() {
for (var g = dY - 1; 0 <= g; g--)
0 === fB[dZ[g]] && a1c(g)
}
function a1c(g) {
for (dY--; g < dY; g++)
dZ[g] = dZ[g + 1]
}
function a1b() {
for (var g, k = dY - 1; 0 <= k; k--)
bU[dZ[k]] <= as(hR[dZ[k]], 4) ? 1E3 >= bU[dZ[k]] && (2 !== fB[dZ[k]] || 0 === bU[dZ[k]]) && fi(dZ[k]) : bU[dZ[k]] >= hR[dZ[k]] ? hR[dZ[k]] = bU[dZ[k]] : (g = as(hR[dZ[k]] - bU[dZ[k]], 1E3),
hR[dZ[k]] -= 1 > g ? 1 : g)
}
function ik() {
var g, k = 0;
for (g = dY - 1; 0 <= g; g--)
k += ax[dZ[g]];
return k % 4096
}
var oy, cH, a1d, a1e, r, s, pB, bq, gA, cB, pF, a1f, b, c, e, d, q, a1g = !1, a1h, a1i, i, gu, sf, h4, a5, b0, hn, vV, c4, dW, eP, cD, fe, vd, nN, uH, a1j, a1k, a1l = 0, a1m = "", a1n = !1;
function a1o() {
a1k = 2;
a1e = 2515;
2022-12-25 08:25:12 -08:00
a1d = ter_version + ter_update;
jq();
d8();
a1n = !0;
d = (e = "undefined" !== typeof Android ? Android : null) ? e.getVersion() : 0;
12 <= d && e.prepareAd("6685097465");
b = !1;
window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.iosCommandA && (b = !0,
// window.webkit.messageHandlers.iosCommandA.postMessage("prepare ad 5907904081"),
c = "undefined" !== typeof mwIOSdataX ? mwIOSdataX : {
username: "[FX] iOS User " + Math.floor(1E3 * Math.random()),
id: Math.floor(1 + Math.random() * (Math.pow(2, 30) - 1)),
zoom: !0,
sound: !0,
emojis: "0",
colors: "0",
password: "0",
freeSpawn: !1,
unlimitedTime: !1,
alliances: !1
});
a1j = (new Date).getTime() % 1024;
a1h = a1p();
jj.bp();
f.bp();
h();
p();
aD();
document.addEventListener ? document.addEventListener("contextmenu", function (g) {
g.preventDefault()
}, !1) : document.attachEvent("oncontextmenu", function () {
window.event.returnValue = !1
});
a1q();
document.addEventListener("keyup", a1r);
document.addEventListener("keydown", a1s);
document.addEventListener("visibilitychange", a1t);
window.addEventListener("error", a1u, !0);
sf = 10;
x1 = new a1v;
gu = new a1w;
h4 = new tl;
a5 = new nZ;
b0 = new a1x;
hn = new a1y;
vV = new nH;
c4 = new a1z;
c4.jW();
c4.bp();
dW = new a20;
eP = new a21;
uH = new bm;
uH.bp();
cD = new tr;
cD.bp();
fe = new iT;
vd = new ub;
nN = new uQ;
ou();
ce.bp();
ay.zo();
jf.bp();
jJ.bp();
aJ.bp();
jo.bp();
jm.bp();
e9.bp();
jZ.bp();
jL.bp();
ox();
bw.bp();
c4.c5 = !0;
setTimeout(function () {
x0(2, 14071)
}, 0)
}
function aI() {
a1n || a1o()
}
function a1p() {
try {
return window.self !== window.top
} catch (g) {
return !0
}
}
function a1u(g) {
a1g || (a1g = !0,
g.message ? (a1l = g.lineno,
a1m = g.message,
e9.rb(0, 6) && ii.a1W(0),
g = "[A_ERROR " + a1l + "][" + a1m + "]",
a22(g)) : (g = "[B_ERROR " + g.type + "][" + (g.srcElement || g.target) + "]",
console.log(g)))
}
function a22(g) {
e ? e.showToast(g) : alert(g)
}
function a1s(g) {
"ArrowLeft" === g.key ? gj.vw(3) : "ArrowUp" === g.key ? gj.vw(0) : "ArrowRight" === g.key ? gj.vw(1) : "ArrowDown" === g.key ? gj.vw(2) : "a" === g.key ? eN.qw(.96875) : "d" === g.key ? eN.qw(32 / 31) : "s" === g.key ? eN.qw(.875) : "w" === g.key ? eN.qw(8 / 7) : "1" === g.key ? eN.qw(5 / 6) : "2" === g.key && eN.qw(1.2)
}
function a1t() {
"hidden" === document.visibilityState ? c4.a23() : c4.xY()
}
function a1r(g) {
400 > c4.gY || (8 !== aJ.pR() && aJ.ua(g) ? c4.c5 = !0 : "Escape" === g.key ? aJ.aK() : "ArrowLeft" === g.key ? gj.a24(3) : "ArrowUp" === g.key ? gj.a24(0) : "ArrowRight" === g.key ? gj.a24(1) : "ArrowDown" === g.key ? gj.a24(2) : "h" === g.key && 1 <= fV && (ge = !ge,
c4.c5 = !0))
}
function a1q() {
a1f = window.location.hostname;
a1i = 0 <= a1f.toLowerCase().indexOf("territorial.io")
}
function kJ() {
var g;
this.bp = function () {
g = [];
9 === dr && this.a26()
}
;
this.a26 = function () {
var k = [8, 51, 68, 88, 138, 178, 313];
var x = [35, 330];
this.dz = 0;
this.e0 = [0, 0, 0, 0, 0, 0];
cq <= k[0] ? (this.dz = x[0] - cq,
this.e0[1] = x[1] - as(x[1] * cq, k[0]),
this.e0[0] = 512 - this.e0[1] - x[0]) : cq <= k[1] ? (this.dz = x[0] - k[0] - as((x[0] - k[0]) * (cq - k[0]), k[1] - k[0]),
this.e0[0] = 512 - this.dz - cq) : cq <= k[2] ? (this.e0[0] = 512 - k[1] - as((512 - k[1]) * (cq - k[1]), k[2] - k[1]),
this.e0[1] = 512 - cq - this.e0[0]) : cq <= k[3] ? (this.e0[1] = 512 - k[2] - as((512 - k[2]) * (cq - k[2]), k[3] - k[2]),
this.e0[2] = 512 - cq - this.e0[1]) : cq <= k[4] ? (this.e0[2] = 512 - k[3] - as((512 - k[3]) * (cq - k[3]), k[4] - k[3]),
this.e0[3] = 512 - cq - this.e0[2]) : cq <= k[5] ? (this.e0[3] = 512 - k[4] - as((512 - k[4]) * (cq - k[4]), k[5] - k[4]),
this.e0[4] = 512 - cq - this.e0[3]) : cq <= k[6] ? (this.e0[4] = 512 - k[5] - as((512 - k[5]) * (cq - k[5]), k[6] - k[5]),
this.e0[5] = 512 - cq - this.e0[4]) : this.e0[5] = 512 - cq;
x = this.dz;
for (k = 0; 6 > k; k++)
x += this.e0[k];
if (x > dq) {
for (k = this.dz = 0; 5 > k; k++)
this.e0[k] = 0;
this.e0[5] = dq
}
}
;
this.z6 = function (k) {
g.push({
player: k,
mm: 14 + ce.cf(20)
})
}
;
this.dF = function () {
if (9 === dr) {
var k;
for (k = g.length - 1; 0 <= k; k--)
0 >= --g[k].mm && (e6.mv(g[k].player, 0, 46),
g.splice(k))
}
}
}
var aZ, aa, hk, pc, wy, wz, wo, wp, vY, a2B = 14, x1;
function x0(g, k) {
g %= a2B;
if (g !== wo || a2D(wo) && k !== wp) {
var x = performance.now();
vY = !1;
x1.x2();
ce.jG(g);
wo = g;
wp = k;
a2D(g) && (jf.bz(g).a1K = k);
if (a2E(wo))
a2F(x);
else {
var l = jf.bz(wo);
aZ = l.c1;
aa = l.cw;
ce.jG(l.a1K);
jg.jM([aZ, aa, l.gK, l.gH]);
a2G();
jJ.a2H();
jg.a2I();
a2J(x)
}
}
}
function a2J(g) {
var k = performance.now();
sf = Math.floor(29 - (k - g) / (33 * jf.bz(wo).per));
sf = 0 > sf ? 0 : 20 < sf ? 20 : sf
}
function a2L() {
return a2B - 4
}
function a2E(g) {
return g >= a2L()
}
function a2D(g) {
return !(1 === g || g >= a2L())
}
function a2M(g) {
return 3 === g || 7 === g || 9 === g
}
function a2N(g) {
return 2 === g || 7 === g || 9 === g
}
function a1v() {
function g() {
x1.dF()
}
function k(l, t) {
0 < t && (wz[l] += t,
wz[l + 1] += t,
wz[l + 2] += t)
}
function x(l) {
return wz[l + 2] > wz[l] && wz[l + 2] > wz[l + 1]
}
this.rW = -1;
this.a2O = this.aA = 0;
this.a2P = 8;
this.a2Q = 32;
this.a2R = 8;
this.a2S = 32;
this.a2T = [0, 0];
this.qo = [0, 0, 0, 0];
this.a2U = null;
this.a2V = !0;
this.a2W = !1;
this.x2 = function () {
-1 !== this.rW && clearTimeout(this.rW);
this.rW = -1;
this.a2U = null;
jg.a2I()
}
;
this.bp = function () {
7 === aJ.pR() || this.a2W || (this.a2V = !0,
this.aA = 0,
this.a2O = 1,
this.a2T = [jf.bz(wo).a2X[0], jf.bz(wo).a2Y[0]],
this.qo = [jf.bz(wo).a2Z[3], jf.bz(wo).a2Z[4], jf.bz(wo).a2Z[5], jf.bz(wo).a2Z[6]],
this.a2P = jf.bz(wo).a2Z[7],
this.a2Q = jf.bz(wo).a2Z[8],
this.a2R = jf.bz(wo).a2Z[9],
this.a2S = jf.bz(wo).a2Z[10],
this.a2V ? this.rW = setTimeout(g, 16) : this.dF())
}
;
this.dF = function () {
if (8 === aJ.pR() && eR.gZ())
this.rW = setTimeout(g, 16);
else {
if (0 === this.aA) {
var l = ce.a12();
ce.jG(jf.bz(wo).a2Z[2]);
jg.jM([aZ, aa, jf.bz(wo).a2Z[0], jf.bz(wo).a2Z[1]]);
ce.jG(l);
this.a2U = jg.a2b();
this.aA++;
if (this.a2V) {
this.rW = setTimeout(g, 16);
return
}
}
l = this.a2V ? 10 : 1E6;
l = aa - this.a2O - 1 < l ? aa - this.a2O - 1 : l;
l = this.a2O + l;
for (var t, n, z = this.a2O; z < l; z++)
for (var y = 1; y < aZ - 1; y++)
if (n = y + z * aZ,
t = 4 * n,
x(t))
this.a2d(t, n, 1);
else {
this.a2d(t, n, 0);
n = y;
var A = z;
(1 < n && x(t - 4) || n < aZ - 2 && x(t + 4) || 1 < A && x(t - 4 * aZ) || A < aa - 2 && x(t + 4 * aZ)) && this.a2e(y, z)
}
this.a2O = l;
this.a2O >= aa - 1 ? (pc.putImageData(wy, 0, 0, 1, 1, aZ - 2, aa - 2),
c4.c5 = !0,
this.x2()) : this.a2V && (this.rW = setTimeout(g, 16))
}
}
;
this.a2d = function (l, t, n) {
k(l, Math.floor(this.a2T[n] + this.qo[n] * this.a2U[t] / 1E4) - wz[l])
}
;
this.a2i = function (l, t, n, z, y) {
k(l, Math.floor(this.a2T[z] + (1 - t / n) * y) - wz[l])
}
;
this.a2e = function (l, t) {
var n = l - this.a2Q;
var z = t - this.a2Q;
var y = l + this.a2Q
, A = t + this.a2Q;
n = 1 > n ? 1 : n;
y = y > aZ - 2 ? aZ - 2 : y;
A = A > aa - 2 ? aa - 2 : A;
for (var B = 1 > z ? 1 : z; B <= A; B++)
for (var C = n; C <= y; C++)
if (z = 4 * (C + B * aZ),
x(z)) {
var F = this.a2P + (this.a2Q - this.a2P) * this.a2U[C + aZ * B] / 1E4;
if (!(Math.abs(l - C) > F || Math.abs(t - B) > F)) {
var E = Math.sqrt((l - C) * (l - C) + (t - B) * (t - B));
E >= F || this.a2i(z, E, F, 1, this.qo[3])
}
} else
F = this.a2R + (this.a2S - this.a2R) * this.a2U[C + aZ * B] / 1E4,
Math.abs(l - C) > F || Math.abs(t - B) > F || (E = Math.sqrt((l - C) * (l - C) + (t - B) * (t - B)),
E >= F || this.a2i(z, E, F, 0, this.qo[2]))
}
}
function a2G() {
2 === wo ? a2k([256], [256], [0, 205, 256], [500, 500, 0], [0, 0, 0]) : 7 === wo ? a2k([512], [512], [0, 380, 512], [500, 500, 0], [0, 0, 0]) : 8 === wo ? a2k([410], [410], [0, 120, 210], [0, 80, 640], [0, 0, 0]) : 9 === wo && a2k([512], [512], [0, 70, 180, 200, 290, 420, 512], [500, 500, 0, 0, 500, 500, 0], [0, 0, 0, 0, 0, 0, 0])
}
function a2k(g, k, x, l, t) {
var n, z, y, A = g.length - 1, B = aZ + aa;
B *= B;
var C = x.length;
for (n = C - 1; 0 <= n; n--)
x[n] *= x[n];
var F = Array(C)
, E = Array(C)
, H = Array(C)
, J = jg.a2b();
if (void 0 === t)
for (t = Array(C),
n = C - 1; 0 <= n; n--)
t[n] = 0;
for (n = 1; n < C; n++)
F[n] = x[n] - x[n - 1],
E[n] = l[n] - l[n - 1],
H[n] = t[n] - t[n - 1];
for (z = aZ - 1; 0 <= z; z--)
for (y = aa - 1; 0 <= y; y--) {
var K = B;
for (n = A; 0 <= n; n--) {
var D = (z - g[n]) * (z - g[n]) + (y - k[n]) * (y - k[n]);
K = D < K ? D : K
}
D = l[C - 1];
var L = t[C - 1];
for (n = 1; n < C; n++)
if (K < x[n]) {
D = l[n - 1] + yM((K - x[n - 1]) * E[n], F[n]);
L = t[n - 1] + yM((K - x[n - 1]) * H[n], F[n]);
break
}
a2y(aZ * y + z, D, L, J)
}
}
function a2y(g, k, x, l) {
500 > k ? l[g] = as(l[g] * k * 2, 1E3) : 500 < k && (l[g] += as(2 * (1E4 - l[g]) * (k - 500), 1E3));
l[g] += as(x * (10 * k - l[g]), 1E3)
}
function kK() {
var g;
this.nC = this.nB = this.n8 = this.n7 = 0;
this.bp = function () {
g = Array(a2L());
g[0] = {
c1: [0, 5E3, 8E3, 1E4],
f7: [220, 250, 255, 220],
mx: [190, 220, 0, 0],
cm: [170, 200, 0, 0]
};
g[1] = {
c1: [0, 4E3, 5E3, 6E3, 1E4],
f7: [25, 0, 100, 0, 25],
mx: [25, 0, 0, 0, 25],
cm: [25, 0, 0, 0, 25]
};
g[2] = {
c1: [0, 500, 2500, 2999, 3E3, 3200, 4200, 5200, 5700, 8800, 1E4],
f7: [15, 15, 70, 40, 40, 40, 252, 40, 40, 20, 30],
mx: [80, 80, 190, 90, 40, 40, 248, 180, 180, 90, 140],
cm: [120, 120, 220, 110, 40, 40, 217, 10, 10, 10, 10]
};
g[3] = {
c1: [0, 400, 1800, 2E3, 3200, 4500, 6E3, 7700, 8500, 9500, 1E4],
f7: [10, 10, 20, 10, 30, 10, 16, 40, 55, 230, 230],
mx: [10, 10, 40, 50, 100, 40, 80, 120, 55, 230, 230],
cm: [80, 80, 200, 10, 60, 10, 16, 40, 55, 230, 230]
};
g[4] = {
c1: [0, 300, 1400, 1700, 3E3, 4E3, 1E4],
f7: [10, 10, 20, 10, 10, 170, 212],
mx: [20, 20, 60, 100, 100, 110, 170],
cm: [70, 70, 160, 30, 30, 60, 120]
};
g[5] = {
c1: [0, 1E3, 3E3, 3500, 4E3, 4500, 7E3, 7500, 8E3, 1E4],
f7: [10, 10, 20, 10, 5, 10, 20, 5, 20, 25],
mx: [30, 30, 50, 100, 30, 100, 140, 60, 140, 200],
cm: [80, 80, 200, 10, 5, 10, 20, 5, 20, 25]
};
g[6] = {
c1: [0, 700, 2650, 3200, 5E3, 8E3, 1E4],
f7: [10, 10, 60, 255, 255, 200, 200],
mx: [10, 10, 60, 255, 255, 200, 200],
cm: [80, 80, 255, 255, 255, 200, 200]
};
g[7] = {
c1: [0, 400, 1999, 2E3, 3200, 4E3, 4700, 5500, 6500, 9500, 1E4],
f7: [10, 10, 80, 255, 255, 55, 6, 70, 20, 155, 255],
mx: [10, 10, 90, 245, 245, 170, 80, 190, 20, 155, 255],
cm: [80, 80, 255, 235, 235, 55, 26, 10, 20, 155, 255]
};
g[8] = {
c1: [0, 700, 1300, 1900, 1901, 2500, 3400, 6E3, 1E4],
f7: [25, 30, 30, 30, 255, 255, 30, 40, 20],
mx: [25, 30, 150, 150, 245, 245, 80, 150, 70],
cm: [60, 170, 170, 170, 235, 235, 30, 40, 40]
};
g[9] = {
c1: [0, 400, 2009, 2010, 3300, 4E3, 5200, 6500, 8E3, 9500, 1E4],
f7: [10, 10, 80, 255, 255, 55, 23, 36, 20, 155, 255],
mx: [10, 10, 90, 245, 245, 170, 60, 160, 20, 155, 255],
cm: [80, 80, 255, 235, 235, 55, 9, 72, 20, 155, 255]
}
}
;
this.a2H = function () {
hk = document.createElement("canvas");
hk.width = aZ;
hk.height = aa;
pc = hk.getContext("2d", {
alpha: !1
});
var k = pc.getImageData(0, 0, aZ, aa);
wz = k.data;
var x = g[wo].c1, l = g[wo].f7, t = g[wo].mx, n = g[wo].cm, z, y, A = jg.a2b(), B = x.length - 2, C = Array(B + 1), F = Array(B + 1), E = Array(B + 1), H = Array(B + 1);
for (y = B; 0 <= y; y--)
C[y] = x[y + 1] - x[y],
F[y] = l[y + 1] - l[y],
E[y] = t[y + 1] - t[y],
H[y] = n[y + 1] - n[y];
for (z = aZ * aa - 1; 0 <= z; z--)
for (y = B; 0 <= y; y--)
if (A[z] >= x[y]) {
var J = A[z] - x[y];
wz[4 * z] = l[y] + yM(F[y] * J, C[y]);
wz[4 * z + 1] = t[y] + yM(E[y] * J, C[y]);
wz[4 * z + 2] = n[y] + yM(H[y] * J, C[y]);
wz[4 * z + 3] = 255;
break
}
pc.putImageData(k, 0, 0);
jf.a32() && bw.bx() && jf.a32() && (x = bw.l4("arena"),
pc.save(),
pc.globalAlpha = 1 === wo ? .1 : 1,
pc.imageSmoothingEnabled = !0,
k = 2.8,
pc.scale(k, k),
pc.drawImage(x, Math.floor((aZ / k - x.width) / 2), Math.floor(.5 * aa / k - x.height / 2)),
pc.restore(),
x = bw.l4("territorial.io"),
pc.save(),
pc.globalAlpha = 1 === wo ? .1 : 1,
pc.imageSmoothingEnabled = !0,
k = .87,
pc.scale(k, k),
pc.drawImage(x, Math.floor(.745 * (aZ / k - x.width)), Math.floor(.422 * aa / k - x.height / 2)),
pc.restore());
vY = !0;
c4.c5 = !0
}
;
this.jK = function () {
var k, x = 0;
var l = aa * aZ * 4;
var t = tq
, n = wz;
for (k = aZ - 1; 0 <= k; k--)
t[4 * k + 2] = 3,
t[l - 4 * k - 2] = 3;
l = 4 * aZ;
for (k = aa - 1; 0 <= k; k--)
t[k * l + 2] = 3,
t[k * l + l - 2] = 3;
for (k = aZ * aa - 1; 0 <= k; k--)
l = 4 * k,
3 !== t[l + 2] && (n[l + 2] > n[l + 1] && n[l + 2] > n[l] ? t[l + 2] = 2 : (t[l + 2] = 1,
x++));
this.n7 = (aZ - 2) * (aa - 2);
this.nC = 0;
if (a2M(wo)) {
n = 0;
l = tq;
var z = wz;
for (t = aZ * aa - 1; 0 <= t; t--)
k = 4 * t,
z[k] === z[k + 1] && z[k] === z[k + 2] && 3 !== l[k + 2] && (n++,
l[k + 2] = 3);
jJ.nC = n
}
this.n8 = j1 = x - this.nC;
this.nB = this.n7 - this.n8 - this.nC
}
}
function a2F(g) {
var k;
wo === a2L() ? k = "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
k = m.iP(k);
var x = jf.bz(wo).a2X
, l = jf.bz(wo).a2Y;
aZ = 1E3 * k[0] + k[1];
aa = 1E3 * k[2] + k[3];
hk = document.createElement("canvas");
hk.width = aZ;
hk.height = aa;
pc = hk.getContext("2d", {
alpha: !1
});
wy = pc.getImageData(0, 0, aZ, aa);
wz = wy.data;
for (var t = k.length, n = !0, z = 0, y = 4; y < t; y++)
if (n) {
for (; 0 < k[y]--;)
wz[z] = l[0],
wz[z + 1] = l[1],
wz[z + 2] = l[2],
wz[z + 3] = 255,
z += 4;
n = !1
} else {
for (; 0 < k[y]--;)
wz[z] = x[0],
wz[z + 1] = x[1],
wz[z + 2] = x[2],
wz[z + 3] = 255,
z += 4;
n = !0
}
pc.putImageData(wy, 0, 0);
vY = !0;
a2J(g);
x1.bp();
c4.c5 = !0
}
function kL() {
var g;
this.zI = "";
this.bp = function () {
g = Array(a2B);
g[0] = {
name: "White Arena",
c1: 230,
cw: 230,
gK: 1E3,
gH: 2E3,
a1K: 173,
per: 1
};
g[1] = {
name: "Black Arena",
c1: 800,
cw: 800,
gK: 100,
gH: 50,
a1K: 43,
per: 1
};
g[2] = {
name: "Island",
c1: 512,
cw: 512,
gK: 128,
gH: 32,
a1K: 0,
per: 1.5
};
g[3] = {
name: "Mountains",
c1: 960,
cw: 960,
gK: 60,
gH: 8,
a1K: 0,
per: 1.2
};
g[4] = {
name: "Desert",
c1: 900,
cw: 900,
gK: 100,
gH: 5,
a1K: 0,
per: 1.2
};
g[5] = {
name: "Swamp",
c1: 1E3,
cw: 1E3,
gK: 100,
gH: 40,
a1K: 0,
per: 1.2
};
g[6] = {
name: "Snow",
c1: 1E3,
cw: 1E3,
gK: 100,
gH: 20,
a1K: 0,
per: 1.2
};
g[7] = {
name: "Cliffs",
c1: 1024,
cw: 1024,
gK: 128,
gH: 32,
a1K: 0,
per: 1.5
};
g[8] = {
name: "Pond",
c1: 820,
cw: 820,
gK: 200,
gH: 100,
a1K: 0,
per: 1.2
};
g[9] = {
name: "Halo",
c1: 1024,
cw: 1024,
gK: 128,
gH: 32,
a1K: 0,
per: 1.5
};
g[10] = {
name: "Europe",
a2X: [140, 130, 120],
a2Y: [12, 12, 76],
a2Z: [240, 120, 4672, 30, 26, 30, 90, 8, 32, 3, 9],
per: 1
};
g[11] = {
name: "World",
a2X: [165, 145, 125],
a2Y: [15, 15, 69],
a2Z: [250, 100, 8, 25, 15, 25, 90, 8, 32, 3, 9],
per: 1
};
g[12] = {
name: "Caucasia",
a2X: [140, 130, 120],
a2Y: [20, 20, 84],
a2Z: [240, 120, 100, 30, 25, 30, 90, 8, 32, 3, 9],
per: 1
};
g[13] = {
name: "USA 48",
a2X: [120, 105, 92],
a2Y: [12, 12, 60],
a2Z: [300, 300, 9827, 26, 18, 36, 36, 8, 32, 3, 9],
per: 1
}
}
;
this.a32 = function () {
return 1 === wo
}
;
this.bz = function (k) {
return g[k]
}
;
this.n6 = function () {
return 16384 === wp ? this.zI : this.bz(wo).name
}
}
var hl, tq, jP, jQ;
function jI() {
void 0 === hl && (hl = document.createElement("canvas"));
hl.width = aZ;
hl.height = aa;
jP = hl.getContext("2d", {
alpha: !0
});
jQ = jP.getImageData(0, 0, aZ, aa);
tq = jQ.data
}
function kM() {
function g(I, N, G) {
C[0] = I;
for (I = 1; I < G; I++)
C[I] = C[I - 1] + N,
1E4 <= C[I] ? (C[I] = 9999,
N = -N) : 0 > C[I] ? (C[I] = 0,
N = -N) : (N += 16384 <= ce.random() ? B : -B,
N = N < -A ? -A : N > A ? A : N)
}
function k(I, N, G, M) {
if (G)
for (G = 0; G < M; G++)
t[N * n + I + G] = C[G];
else
for (G = 0; G < M; G++)
t[N * n + I + G * n] = C[G]
}
function x(I, N) {
var G = I - C[N - 1];
if (0 !== G) {
var M = 1 + as(Math.abs(G), N - 1);
M = 0 > G ? -M : M;
C[N - 1] = I;
var Q = N - 1 - as(Math.abs(G), Math.abs(M));
Q = 1 > Q ? 1 : Q > N - 2 ? N - 2 : Q;
for (var R = N - 2; R >= Q; R--)
C[R] += G - (N - 1 - R) * M;
if (0 > G)
for (G = N - 2; 1 <= G; G--)
0 > C[G] && (C[G] = -C[G] - 1);
else
for (G = N - 2; 1 <= G; G--)
1E4 <= C[G] && (C[G] = 2E4 - C[G] - 1)
}
}
function l(I) {
for (var N = 0; N < I.length - 1; N++)
I[N] = I[N + 1] - I[N];
I[I.length - 1] = I[I.length - 3]
}
var t, n, z, y, A, B, C, F, E, H, J, K, D, L;
this.jM = function (I) {
n = I[0];
z = I[1];
A = I[2];
B = I[3];
t = new Int16Array(n * z);
y = n > z ? n : z;
C = new Int16Array(y);
F = [];
E = [];
H = [];
J = Array(n);
K = Array(z);
for (I = n - 1; 0 <= I; I--)
J[I] = !1;
for (I = z - 1; 0 <= I; I--)
K[I] = !1;
D = new Int16Array(n);
L = new Int16Array(z);
I = y;
var N = ce.random() % 1E4
, G = ce.random() % (2 * A + 1) - A;
g(N, G, I);
I = L;
N = C;
G = z;
for (var M = 0; M < G; M++)
I[M] = N[M];
k(0, 0, !0, n);
I = t[0];
N = y;
G = ce.random() % (2 * A + 1) - A;
g(I, G, N);
I = D;
N = C;
G = n;
for (M = 0; M < G; M++)
I[M] = N[M];
k(0, 0, !1, z);
l(D);
l(L);
g(t[n - 1], D[n - 1], z);
k(n - 1, 0, !1, z);
g(t[n * (z - 1)], L[z - 1], n);
x(t[n * z - 1], n);
k(0, z - 1, !0, n);
J[n - 1] = J[0] = !0;
K[z - 1] = K[0] = !0;
I = n;
F.push(0);
E.push(I);
H.push(!0);
I = z;
F.push(0);
E.push(I);
H.push(!1);
a: for (; ;) {
I = F.length - 1;
for (N = I - 1; 0 <= N; N--)
E[N] > E[I] && (I = N);
if (5 > E[I])
break a;
N = F[I] + as(E[I], 2);
if (H[I]) {
G = void 0;
var Q;
M = N;
for (var R = 0, P = 0; P < z - 1;) {
for (Q = R + 1; Q < z; Q++)
if (K[Q]) {
P = Q;
break
}
Q = P - R + 1;
g(t[M + n * R], 0 === R ? D[M] : C[G - 1] - C[G - 2], Q);
x(t[P * n + M], Q);
k(M, R, !1, Q);
G = Q;
R = P
}
J[M] = !0
} else {
G = void 0;
M = N;
for (P = R = 0; P < n - 1;) {
for (Q = R + 1; Q < n; Q++)
if (J[Q]) {
P = Q;
break
}
Q = P - R + 1;
g(t[M * n + R], 0 === R ? L[M] : C[G - 1] - C[G - 2], Q);
x(t[M * n + P], Q);
k(R, M, !0, Q);
G = Q;
R = P
}
K[M] = !0
}
G = F[I] + E[I] - N;
M = H[I];
F.push(N);
E.push(G);
H.push(M);
E[I] = N - F[I] + 1
}
for (I = 0; I < n; I++)
if (!J[I])
for (N = 0; N < z; N++)
K[N] || (G = t[N * n + I - 1] + t[(N - 1) * n + I],
M = 2,
J[I + 1] && (M++,
G += t[N * n + I + 1]),
K[N + 1] && (M++,
G += t[(N + 1) * n + I]),
t[N * n + I] = as(G, M))
}
;
this.a2b = function () {
return t
}
;
this.a2I = function () {
t = null
}
}
function as(g, k) {
return Math.floor(g / k + 1 / (2 * k))
}
function yM(g, k) {
return 0 <= g ? as(g, k) : -as(-g, k)
}
function d5(g) {
return g * g
}
function mU(g, k) {
return g > k ? g : k
}
function qe(g, k) {
return g < k ? g : k
}
function sy(g, k, x) {
return k < g ? g : k > x ? x : k
}
function a3q(g, k) {
for (var x = as(g + 1, 2), l = 0; l < k; l++)
x = as(x + as(g, x), 2);
return x
}
function bl(g, k) {
return 1 > g ? 0 : a3q(g, k)
}
function a3r(g, k, x, l, t, n, z, y) {
return !(g + x <= t || k + l <= n || g >= t + z || k >= n + y)
}
function a3s(g, k, x, l, t, n, z, y) {
return g <= t && k <= n && g + x >= t + z && k + l >= n + y
}
function ke() {
function g() {
vd.uc[2] = vd.uc[3] = vd.uc[4] = !jm.a3t;
2022-12-27 10:22:27 -08:00
if (settings.hideAllLinks && (jm.a3t)) vd.uc[0] = vd.uc[1] = false;
else vd.uc[0] = vd.uc[1] = true;
2022-12-25 08:25:12 -08:00
var y = jm.a10 ? 1 : 0
, A = jm.a3t ? 1 : 0
, B = jm.a0L ? 1 : 0;
b ? (window.webkit.messageHandlers.iosCommandA.postMessage("freeSpawn " + y),
window.webkit.messageHandlers.iosCommandA.postMessage("unlimitedTime " + A)) : 5 <= d ? (e.saveNumber(25, y),
e.saveNumber(26, A)) : (f.x(6, 4 * B + 2 * A + y),
f.y())
}
function k(y, A, B, C) {
if (0 === C)
return y >= B.f3 && (0 === C || A >= B.f4) && A <= B.f4 + B.nI;
A -= C * (B.nI - 2);
return y >= B.f5 && (0 === C || A >= B.f4) && A <= B.f4 + B.nI
}
function x() {
var y = Math.floor((q ? .145 : .09) * bq)
, A = Math.floor(1.5 * y)
, B = Math.floor(.065 * (q ? .53 : .36) * bq);
return {
f3: r - y - B,
f4: cA,
hw: y,
nI: Math.floor(.35 * y),
f5: r - A - B,
hx: A
}
}
function l(y, A, B, C, F, E, H, J, K, D) {
D = Math.floor(D * C);
cH.font = bt + D + bu;
J && (F += 80,
E += 80,
H += 80);
cH.fillStyle = "rgba(" + F + "," + E + "," + H + ",0.6)";
cH.fillRect(y, A, B, C);
cH.fillStyle = cK;
cH.fillRect(y, A, B, 2);
cH.fillRect(y, A + C - 2, B, 2);
cH.fillRect(y, A, 2, C);
cH.fillRect(y + B - 2, A, 2, C);
cH.fillText(K, Math.floor(y + B / 2), Math.floor(A + C / 2 + .1 * D))
}
this.xd = 1;
this.a0L = this.a3t = this.a10 = !1;
var t = -1
, n = !1
, z = [];
this.bp = function () {
z = [];
z.push({
name: "More",
id: 0,
f7: 140,
mx: 120,
cm: 0
});
z.push({
name: "Lobby 1",
id: 1,
f7: 0,
mx: 0,
cm: 0
});
z.push({
name: "Hide Usernames",
id: 2,
f7: 0,
mx: 0,
cm: 0
});
z.push({
name: "Hide Links",
id: 3,
f7: 0,
mx: 0,
cm: 0
});
!b && 5 > d && z.push({
name: "High Resolution",
id: 4,
f7: 0,
mx: 0,
cm: 0
});
z.push({
name: "Tutorial",
id: 5,
f7: 0,
mx: 0,
cm: 0
});
z.push({
name: "Player List",
id: 6,
f7: 0,
mx: 0,
cm: 0
});
z.push({
name: "Clan List",
id: 7,
f7: 0,
mx: 0,
cm: 0
});
z.push({
name: "Privacy Policy",
id: 8,
f7: 0,
mx: 0,
cm: 0
});
!b && 5 > d && z.push({
name: "Cookie Policy",
id: 9,
f7: 0,
mx: 0,
cm: 0
});
z.push({
name: ter_version + ' ' + ter_update,
id: 10,
f7: 90,
mx: 0,
cm: 0
});
z.push({
name: 'FX Client v' + fx_version + ' ' + fx_update,
id: 16,
f7: 0,
mx: 0,
cm: 70
});
if (b)
this.a10 = c.freeSpawn,
this.a3t = c.unlimitedTime,
this.a0L = !1;
else if (5 <= d)
this.a10 = 1 === e.loadNumber(25),
this.a3t = 1 === e.loadNumber(26),
this.a0L = !1;
else {
var y = f.g(6);
this.a10 = 1 === (y & 1);
this.a3t = 2 === (y & 2);
this.a0L = 4 === (y & 4)
}
z[2].mx = this.a10 ? 130 : 0;
z[3].mx = this.a3t ? 130 : 0;
!b && 5 > d && (z[4].mx = this.a0L ? 130 : 0);
2022-12-27 10:22:27 -08:00
this.a3t && (vd.uc[2] = vd.uc[3] = vd.uc[4] = false);
this.a3t && settings.hideAllLinks && (vd.uc[0] = vd.uc[1] = false);
(!settings.hideAllLinks) && (vd.uc[0] = vd.uc[1] = true);
2022-12-25 08:25:12 -08:00
};
// mouseDown
this.c7 = function (y, A) {
var B;
if (!(7 <= aJ.pR())) {
var C = x();
if (n) {
for (B = 1; B < z.length; B++)
if (k(y, A, C, B))
return 1 === z[B].id ? (jm.xd = 1 === jm.xd ? 2 : 2 === jm.xd ? 5 : 1,
z[1].name = "Lobby " + (5 === jm.xd ? "1B" : jm.xd),
2022-12-25 08:25:12 -08:00
c4.c5 = !0) : 2 === z[B].id ? (jm.a10 = !jm.a10,
z[B].mx = jm.a10 ? 130 : 0,
g(),
c4.c5 = !0) : 3 === z[B].id ? (jm.a3t = !jm.a3t,
z[B].mx = jm.a3t ? 130 : 0,
g(),
c4.c5 = !0) : 4 === z[B].id ? (jm.a0L = !jm.a0L,
z[B].mx = jm.a0L ? 130 : 0,
g(),
jj.xQ(),
c4.c5 = !0) : 5 === z[B].id ? (nN.bp(om, !0),
nN.bp(om, !1)) : 6 === z[B].id ? (nN.bp(on[0], !0),
nN.bp(on[0], !1)) : 7 === z[B].id ? (nN.bp(on[1], !0),
nN.bp(on[1], !1)) : 8 === z[B].id ? (nN.bp(ol, !0),
nN.bp(ol, !1)) : 9 === z[B].id && (nN.bp(nO, !0),
nN.bp(nO, !1)), !0;
//cH.drawImage(settingsGearIcon,A.f3-A.hw/2,A.f4,A.nI,A.nI);
if (y > (C.f3-C.hw/2) && y < ((C.f3-C.hw/2)+C.nI) && A > C.f4 && A < (C.f4 + C.nI)) WindowManager.openWindow("settings");
2022-12-25 08:25:12 -08:00
n = false;
c4.c5 = true;
return false
}
if (y > (C.f3-C.hw/2) && y < ((C.f3-C.hw/2)+C.nI) && A > C.f4 && A < (C.f4 + C.nI)) WindowManager.openWindow("settings");
2022-12-25 08:25:12 -08:00
return k(y, A, C, 0) ? (n = true, c4.c5 = true) : false
}
};
// mouseMove
this.lh = function (y, A) {
var B;
// menu page
if (!(7 <= aJ.pR())) {
var C = x();
var F = t;
// how many items to check (different depending on if the menu is open)
var E = n ? z.length - 2 : 1;
t = -1;
for (B = 0; B < E; B++)
if (k(y, A, C, B)) {
t = B;
break
}
F !== t && (c4.c5 = !0)
}
};
// render "More" menu
this.cG = function () {
var y;
if (!(7 <= aJ.pR())) {
var A = x();
cH.textAlign = cJ;
cH.textBaseline = cI;
// Render "More" button
l(A.f3, A.f4, A.hw, A.nI, z[0].f7, z[0].mx, z[0].cm, 0 === t, z[0].name, .6);
// render settings gear icon
//cH.fillStyle = "rgba(" + F + "," + E + "," + H + ",0.6)";
//cH.fillRect(y, A, B, C);
cH.fillStyle = "#FFFFFF";
cH.imageSmoothingEnabled = true;
cH.drawImage(settingsGearIcon,A.f3-A.hw/2,A.f4,A.nI,A.nI);
cH.imageSmoothingEnabled = false;
// render win count
//l(A.f3, A.f4, A.hw, A.nI, z[0].f7, z[0].mx, z[0].cm, 0 === t, "test", .6);
//cH.fillText(K, Math.floor(y + B / 2), Math.floor(A + C / 2 + .1 * D))
//function l(y, A, B, C, F, E, H, J, K, D) {
//cH.fillText("test", Math.floor(A.f3 + A.f4 / 2), Math.floor(A.f4 + A.nI / 2 + .1 * .6));
//cH.textAlign = "right";
cH.font = bt + Math.floor(A.nI * 0.4) + bu;
if (!n) cH.fillText("Win count: " + wins_counter, Math.floor(A.f3 + A.hw / 2), Math.floor((A.f4 + A.nI / 2) * 2.1));
//cH.textAlign = cJ;
// If menu is open render the buttons inside
if (n) {
var B = z.length;
for (y = 1; y < B; y++)
l(A.f5, A.f4 + y * A.nI - 2 * y, A.hx, A.nI, z[y].f7, z[y].mx, z[y].cm, t === y, z[y].name, (y === B - 1 || y === B - 2) ? .32 : .45)
}
}
}
}
function kN() {
function g() {
x = !0;
l = -1;
t = Array(4);
for (var y = 3; 0 <= y; y--)
t[y] = !1;
y = Math.floor(1 + .02 * pB);
n = Array(4);
z = Array(4);
z[1] = z[3] = n[0] = n[2] = 0;
z[0] = n[3] = -y;
n[1] = z[2] = y
}
function k() {
if (-1 !== l)
if (0 !== fV && eR.gw()) {
for (var y = !1, A = 3; 0 <= A; A--)
t[A] && (y = !0,
g8 += n[A],
g9 += z[A],
e6.lh(n[A], z[A]),
gf.rB());
y ? c4.c5 = !0 : gj.gk()
} else
gj.gk()
}
var x = !1, l, t, n, z;
this.vw = function (y) {
0 !== fV && eR.gw() && (x || g(),
t[y] = !0,
-1 === l && (l = setInterval(k, 20),
k()))
}
;
this.a24 = function (y) {
if (0 !== fV && (x || g(),
t[y] = !1,
-1 !== l)) {
y = !1;
for (var A = 3; 0 <= A; A--)
y = y || t[A];
y || this.gk()
}
}
;
this.gk = function () {
if (x && -1 !== l) {
for (var y = 3; 0 <= y; y--)
t[y] = !1;
clearInterval(l);
l = -1
}
}
}
function kO() {
var g;
this.ew = function () {
return g
}
;
this.co = function (k, x) {
var l;
if (0 === bN[k].length || !b5.b6(x) || !b5.bG(x) && b5.bF(x) === k)
return !1;
for (l = 21; 0 <= l; l--) {
if (21 === l) {
var t = bN[k]
, n = x
, z = b5.gB(n);
n = b5.cF(n);
var y = 0;
var A = b5.gB(t[0]);
var B = b5.cF(t[0]);
A = Math.abs(A - z) + Math.abs(B - n);
for (B = t.length - 1; 1 <= B; B--) {
var C = b5.gB(t[B]);
var F = b5.cF(t[B]);
C = Math.abs(C - z) + Math.abs(F - n);
C < A && (A = C,
y = B)
}
g = t[y]
} else
g = bN[k][as(l * bN[k].length, 21)];
a: {
B = g;
y = x;
t = b5.gB(B);
z = b5.cF(B);
n = b5.gB(y);
y = b5.cF(y);
A = Math.abs(n - t) + Math.abs(y - z);
if (!(2 > A))
for (C = B,
B = 0; B < A; B++)
if (C = Math.abs(n - b5.gB(C)) >= Math.abs(y - b5.cF(C)) ? C + aV[n > t ? 1 : 3] : C + aV[y > z ? 2 : 0],
!b5.yR(C)) {
if (b5.b6(C)) {
if (0 === B || B + 20 < A)
break;
t = !0;
break a
}
break
}
t = !1
}
if (t)
return !0
}
return !1
}
}
function a21() {
function g() {
var B, C = 0, F = 0, E = Math.floor(t / 2), H = Math.floor(n / 2), J = 1.5 * Math.PI;
for (B = j5; 0 <= B; B--)
F += A[B],
0 === A[B] && C++;
x = !1;
y.clearRect(0, 0, t, t);
y.fillStyle = hq;
y.fillRect(0, 0, t, t);
y.fillStyle = oA;
y.fillRect(0, 0, t, 2);
y.fillRect(0, 0, 2, t);
y.fillRect(t - 2, 0, 2, t);
y.fillRect(0, t - 2, t, 2);
if (0 < F)
if (C === j5)
for (B = j5; 0 <= B; B--) {
if (0 < A[B]) {
F = E;
J = H;
y.fillStyle = dW.wg[dW.id[B]];
y.beginPath();
y.arc(F, F, J, 0, 2 * Math.PI);
y.fill();
break
}
}
else {
for (B = 0; B <= j5; B++)
if (0 < A[B]) {
C = J + 2 * Math.PI * A[B] / F;
var K = E
, D = H
, L = J
, I = C;
y.fillStyle = dW.wg[dW.id[B]];
y.beginPath();
y.arc(K, K, D, L, I);
y.lineTo(K, K);
y.fill();
0 !== B && k(E, H, J);
J = C
}
k(E, H, 1.5 * Math.PI)
}
y.beginPath();
y.arc(E, E, H, 0, 2 * Math.PI);
y.stroke()
}
function k(B, C, F) {
y.beginPath();
y.moveTo(B, B);
y.lineTo(B + Math.cos(F) * C, B + Math.cos(F + 1.5 * Math.PI) * C);
y.stroke()
}
var x = !1
, l = 0
, t = 0
, n = 0
, z = null
, y = null
, A = null;
this.bp = function () {
if (dA) {
l = 16;
A = new Uint32Array(j5 + 1);
for (var B = j5; 0 < B; B--)
A[B] = 1;
this.lq()
} else
A = y = z = null
}
;
this.qK = function () {
return t
}
;
this.lq = function () {
dA && (t = Math.floor(.18 * pB),
t += t % 2,
n = Math.floor(7 * t / 8),
z = z ? z : document.createElement("canvas"),
z.width = t,
z.height = t,
y = z.getContext("2d", {
alpha: !0
}),
y.lineWidth = 2,
y.strokeStyle = cK,
g())
}
;
this.qf = function () {
return A[this.mp()]
}
;
this.ib = function () {
l = 31;
this.dF();
return this.mp()
}
;
this.mp = function () {
for (var B = 0, C = j5; 0 < C; C--)
A[C] > A[B] && (B = C);
return B
}
;
this.dF = function () {
if (dA && 32 <= ++l) {
l = 0;
var B;
for (B = j5; 0 <= B; B--)
A[B] = 0;
for (B = dY - 1; 0 <= B; B--)
A[dW.dX[dZ[B]]] += bU[dZ[B]];
x = !0
}
}
;
this.bv = function () {
dA && x && g()
}
;
this.cG = function () {
dA && cH.drawImage(z, m0, qL + 2 * m0)
}
}
function kP() {
var g, k;
this.bp = function () {
k = Array(101);
for (var x = k.length - 1; 0 <= x; x--)
k[x] = as(32768 * x, 100);
this.jG(0)
}
;
this.value = function (x) {
return k[x]
}
;
this.a12 = function () {
return as(g - 1, 2)
}
;
this.jG = function (x) {
g = 2 * x % 32768 + 1
}
;
this.random = function () {
return g = 167 * g % 32768
}
;
this.cf = function (x) {
return as(x * this.random(), 32768)
}
;
this.dP = function (x) {
return 0 !== x && this.random() < this.value(x)
}
}
function kW() {
function g() {
(500 <= z || 5 < n) && k()
}
function k() {
n = 0;
z += 700 > z ? 200 : 0;
bw.bx() && (l() || t) && (t = !1,
ov(),
uH.bp(),
ja.bp(),
jd.lq(),
vd.bp(),
jb.lq(),
jZ.lq(),
jY.lq(),
vV.lq(),
cD.lq(),
a5.bp(),
1 <= fV ? (eI.lq(!1),
eK.lq(),
e7.lq(),
gf.lq(),
eN.lq(),
e5.lq(),
fm.lq(),
eO.lq(),
eL.lq(),
c2.lq(),
hm.kw(),
hn.lq(),
e6.lq(),
eS.lq(),
eP.lq(),
gf.rB()) : (0 === aJ.pR() ? jd.cE(0, !0) : 2 === aJ.pR() ? du.lq() : 3 === aJ.pR() && jc.lq(),
aJ.vZ(),
aJ.ve()),
c4.c5 = !0)
}
function x(y) {
return y && 128 < y ? Math.floor(y) : 128
}
function l() {
if (5 <= d) {
var y = x(document.documentElement.clientWidth);
var A = x(document.documentElement.clientHeight);
pF = 1;
if (y !== gA || A !== cB) {
gA = y;
cB = A;
r = gA;
s = cB;
pB = qe(r, s);
bq = as(s + r, 2);
if (5 <= d) {
var B = e.loadNumber(23);
var C = e.loadNumber(24);
y > B && (B = y,
e.saveNumber(23, B));
A > C && (C = A,
e.saveNumber(24, C))
} else
B = y,
C = A;
y = oy.width;
A = oy.height;
B > y && (y = B,
oy.width = B);
C > A && (A = C,
oy.height = C);
oy.style.width = y + "px";
oy.style.height = A + "px";
B = !0
} else
B = !1;
return B
}
jm.a0L ? (pF = window.devicePixelRatio) || (pF = 1) : pF = 1;
B = x(document.documentElement.clientWidth);
C = x(document.documentElement.clientHeight);
y = Math.floor(.5 + pF * B);
A = Math.floor(.5 + pF * C);
if (y === gA && A === cB)
return !1;
gA = r = y;
cB = s = A;
pB = qe(r, s);
bq = as(s + r, 2);
oy.width = y;
oy.height = A;
oy.style.width = B + "px";
oy.style.height = C + "px";
return !0
}
var t = !1, n, z;
this.bp = function () {
n = 1;
z = 100;
r = s = pB = gA = cB = bq = 0;
pF = 1;
oy = document.getElementById("canvasA");
cH = oy.getContext("2d", {
alpha: !1
});
cH.imageSmoothingEnabled = !1;
l();
window.addEventListener("resize", g)
}
;
this.dF = function () {
jn.dF();
++n >= z && k()
}
;
this.xQ = function () {
t = !0;
500 <= z && k()
}
}
function kQ() {
function g(H) {
eG.av(x, E);
ae.b2(x, F);
H && (ax[x] += l)
}
function k() {
b5.yT(t, x) && b5.yV(t)
}
var x, l, t, n, z, y, A, B, C, F, E;
this.dF = function (H, J, K, D, L) {
C = H;
E = J;
x = K;
z = b5.gB(D);
y = b5.cF(D);
A = b5.gB(L);
B = b5.cF(L);
n = t = b5.ex(z, y);
F = ae.fR(x, E);
-1 === F ? (k(),
eG.av(x, E),
H = !1) : (l = ae.am(x, F),
H = !0);
if (H && (k(),
H = as(l, 128),
H = 1 > H ? 1 : H,
l -= H,
x === aw && (b0.b1[15] += H),
l <= at ? (x === aw && (b0.b1[15] += l),
g(!1),
H = !1) : (ae.bT(x, F, l),
H = !0),
H))
if (H = b5.ex(z, y),
t = Math.abs(A - z) >= Math.abs(B - y) ? H + aV[A > z ? 1 : 3] : H + aV[B > y ? 2 : 0],
z = b5.gB(t),
y = b5.cF(t),
eG.fw(C, t),
H = b5.b6(t) ? !1 : !0,
H)
b5.yR(t) && b5.yY(t, x);
else
a: {
if (b5.bG(t))
H = b8;
else {
H = b5.bF(t);
if (H === x) {
g(!0);
break a
}
if (!ch(x, H)) {
J = bU[H] * iz - ax[H];
0 >= J || (J = l > J ? J : l,
l -= J,
x === aw && (e5.n1(J, H),
b0.b1[16] += J),
H === aw && (e5.n3(J, x),
b0.b1[10] += J),
ax[H] += J);
g(!0);
break a
}
}
x === aw && (b0.b1[13] += l);
eG.av(x, E);
ae.b2(x, F);
b4[x].push(n);
ae.cQ(x, l, H);
au.cR(x, !0)
}
}
;
this.g0 = function (H, J) {
x = H;
t = b5.ex(b5.gB(J), b5.cF(J));
k()
}
}
function kR() {
var g, k, x, l;
this.bp = function () {
var t, n, z;
x = !0;
l = "rgb(" + wz[0] + "," + wz[1] + "," + wz[2] + ")";
var y = a2N(wo) ? !0 : x = !1;
if (y)
k = null;
else {
g = as(96, 4);
if (1 === wo) {
var A = 0;
var B = 160
} else
A = 128,
B = 32;
l = "rgb(" + A + "," + A + "," + A + ")";
k = Array(4);
for (y = 3; 0 <= y; y--) {
k[y] = document.createElement("canvas");
var C = 0 === y % 2 ? aZ : g;
var F = 0 === y % 2 ? g : aa + 2 * g;
k[y].width = C;
k[y].height = F;
var E = k[y].getContext("2d", {
alpha: !1
});
var H = E.getImageData(0, 0, C, F);
var J = H.data;
if (0 === y % 2)
for (n = g - 1; 0 <= n; n--) {
var K = B + Math.floor((n + 1) * (A - B) / (g + 1));
for (t = C - 1; 0 <= t; t--) {
var D = 4 * ((0 === y ? g - n - 1 : n) * C + t);
J[D] = K;
J[D + 1] = K;
J[D + 2] = K;
J[D + 3] = 255
}
}
else {
for (t = g - 1; 0 <= t; t--)
for (K = B + Math.floor((t + 1) * (A - B) / (g + 1)),
n = F - 1 - g; n >= g; n--)
D = 4 * (n * C + (3 === y ? g - t - 1 : t)),
J[D] = K,
J[D + 1] = K,
J[D + 2] = K,
J[D + 3] = 255;
for (z = 1; 0 <= z; z--)
for (t = g - 1; 0 <= t; t--)
for (n = g - 1; 0 <= n; n--)
K = (Math.pow(t * t + n * n, .5) + 1) / (g + 1),
K = 1 < K ? 1 : K,
K = B + Math.floor(K * (A - B)),
D = 4 * ((0 === z ? g - n - 1 : n + z * (F - g)) * C + (1 === y ? t : g - t - 1)),
J[D] = K,
J[D + 1] = K,
J[D + 2] = K,
J[D + 3] = 255
}
E.putImageData(H, 0, 0)
}
pc.fillStyle = "rgb(" + B + "," + B + "," + B + ")";
pc.fillRect(0, 0, aZ, 1);
pc.fillRect(0, aa - 1, aZ, 1);
pc.fillRect(0, 0, 1, aa);
pc.fillRect(aZ - 1, 0, 1, aa)
}
}
;
this.hj = function () {
var t = x ? 0 : -g;
a3s(t, t, aZ - 2 * t, aa - 2 * t, gu.a4n, gu.a4o, gu.a4p, gu.a4q) || (cH.fillStyle = l,
cH.fillRect(0, 0, gA, cB))
}
;
this.cG = function () {
x || (a3r(0, -g, aZ, g, gu.a4n, gu.a4o, gu.a4p, gu.a4q) && cH.drawImage(k[0], gu.a4r, gu.a4s - g),
a3r(aZ, -g, g, aa + 2 * g, gu.a4n, gu.a4o, gu.a4p, gu.a4q) && cH.drawImage(k[1], gu.a4r + aZ, gu.a4s - g),
a3r(0, aa, aZ, g, gu.a4n, gu.a4o, gu.a4p, gu.a4q) && cH.drawImage(k[2], gu.a4r, gu.a4s + aa),
a3r(-g, -g, g, aa + 2 * g, gu.a4n, gu.a4o, gu.a4p, gu.a4q) && cH.drawImage(k[3], gu.a4r - g, gu.a4s - g))
}
}
function a1T() {
function g() { }
function k() {
e9.a1U(z, y)
}
function x(E) {
A++;
1 === A ? C.readAsArrayBuffer(E.data) : B.push(E.data)
}
function l() {
A--;
ji.a52(z, new Uint8Array(C.result));
0 < A && (C.readAsArrayBuffer(B[0]),
B.shift())
}
function t() { }
function n(E) {
e9.a1a(z, E)
}
var z, y, A, B, C, F;
this.bp = function (E, H) {
z = E;
y = H;
A = 0;
B = [];
C = new FileReader;
C.addEventListener("loadend", l);
var J = ot[0];
J = z < e9.w8 ? J + (e9.a1H[z] + ot[1 + a1k]) : J + (e9.a1H[0] + "/i" + (1 + a1k) + (z - e9.w9) + "/");
F = new WebSocket(J);
F.onopen = k;
F.onmessage = x;
F.onclose = n;
F.onerror = t
}
;
this.a4x = function () {
return F.readyState === F.CONNECTING
}
;
this.vB = function () {
return F.readyState === F.OPEN
}
;
this.a1Q = function () {
return this.a4x() || this.vB()
}
;
this.a1R = function (E) {
y = E
}
;
this.send = function (E) {
this.vB() && F.send(E)
}
;
this.close = function (E) {
this.a1Q() && (F.close(E),
this.lA())
}
;
this.lA = function () {
F.onopen = g;
F.onmessage = g;
F.onclose = g;
F.onerror = g;
C.removeEventListener("loadend", l)
}
}
function a1x() {
this.cV = 501;
this.a53 = new Uint32Array(this.cV);
this.rz = new Uint32Array(this.cV);
this.tM = new Uint16Array(this.cV);
this.lz = 0;
this.a54 = 1;
this.dV = 0;
this.max = [0, 0, 0];
this.b1 = 0;
this.a55 = "Avg. Attack Strength;Number Attacks;Ships sent;Bots conquered;Humans conquered;Attacked by Bots;Attacked by Humans;Territorial Loss;Territorial Income;Interest Income;Received Support;Overall Income;Commanding Costs;Attack Losses;Defense Losses;Shipping Losses;Transmitted Support;Overall Expenses".split(";");
this.bp = function () {
this.lz = 0;
this.a54 = 1;
this.dV = 0;
this.a56();
this.a57()
}
;
this.dF = function () {
0 < this.dV-- || this.a58()
}
;
this.a58 = function () {
0 !== fB[aw] && (this.a53[this.lz] = bU[aw],
this.rz[this.lz] = ax[aw],
this.tM[this.lz] = ay.tN(aw),
this.a59(this.lz),
this.lz++,
this.lz === this.cV && this.a5A(),
this.dV = this.a54 - 1,
hn.bv())
}
;
this.a5A = function () {
this.a56();
this.a59(0);
this.lz = 1 + as(this.cV, 2);
for (var g = 1; g < this.lz; g++)
this.a53[g] = this.a53[2 * g],
this.rz[g] = this.rz[2 * g],
this.tM[g] = this.tM[2 * g],
this.a59(g);
this.a54 *= 2
}
;
this.a56 = function () {
this.max[0] = this.max[1] = this.max[2] = 0
}
;
this.a57 = function () {
this.b1 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}
;
this.a59 = function (g) {
this.max[0] = this.a53[g] > this.max[0] ? this.a53[g] : this.max[0];
this.max[1] = this.rz[g] > this.max[1] ? this.rz[g] : this.max[1];
this.max[2] = this.tM[g] > this.max[2] ? this.tM[g] : this.max[2]
}
}
function a1y() {
this.bs = this.qB = this.a5C = this.a5B = this.xB = this.nJ = this.nI = this.uM = this.uL = this.hx = this.hw = this.cw = this.c1 = 0;
this.lm = ["Territory", "Balance", "Interest", "Numbers"];
this.l7 = !1;
this.a5D = -1;
this.a5E = !1;
this.bp = function () {
this.l7 = !1;
this.a5D = -1;
this.a5E = !1;
this.lq()
}
;
this.lq = function () {
this.c1 = r < 1.618 * s ? r : 1.618 * s;
this.c1 = Math.floor((q && r < s ? 1 : q ? .8 : r < s ? .65 : .5) * this.c1);
this.qB = Math.floor(1 + .006 * this.c1);
this.c1 -= q && r < s ? 2 * m0 + this.qB : 0;
this.cw = Math.floor(this.c1 / 1.618);
this.hw = Math.floor(1 + .02 * this.c1);
this.nI = this.hx = Math.floor(1 + .04 * this.c1);
this.nJ = Math.floor(1 + .075 * this.c1);
this.a5B = Math.floor(this.c1 * (q ? .028 : .02));
this.a5B = 6 > this.a5B ? 6 : this.a5B;
this.a5C = Math.floor(.028 * this.c1);
this.a5C = 6 > this.a5C ? 6 : this.a5C;
this.xB = this.cw - 2 * this.nI - this.nJ;
this.l7 && this.a5F()
}
;
this.c7 = function (g, k) {
if (!this.l7)
return !1;
var x = g
, l = k;
g -= as(gA - this.c1, 2);
k -= as(cB - this.cw, 2);
if (0 > g || 0 > k || g >= this.c1 || k >= this.cw) {
if (1 < fm.c7(x, l))
return !0;
this.lA();
return !0
}
if (k < this.cw - this.nJ)
return this.a5E = !0,
this.a5D = (g - 2 * this.hw - this.uL) / this.uM,
!0;
x = Math.floor(g / (this.c1 / this.lm.length));
x = 0 > x ? 0 : x >= this.lm.length ? this.lm.length - 1 : x;
x !== this.bs && (this.bs = x,
this.a5F(),
c4.c5 = !0);
return !0
}
;
this.lh = function (g) {
if (this.l7 && this.a5E) {
g -= as(gA - this.c1, 2);
var k = this.a5D;
this.a5D = (g - 2 * this.hw - this.uL) / this.uM;
if (0 <= this.a5D && 1 >= this.a5D || 0 <= k && 1 >= k)
c4.c5 = !0;
return !0
}
return !1
}
;
this.pO = function () {
this.a5E && (this.a5E = !1)
}
;
this.lv = function () {
this.l7 ? this.lA() : this.show()
}
;
this.show = function () {
2 > b0.lz || (this.l7 = !0,
this.a5F())
}
;
this.lA = function () {
this.l7 = !1;
this.a5D = -1
}
;
this.a5F = function () {
2 > this.bs ? this.uL = c2.measureText(eL.gF(b0.max[this.bs]), bt + this.a5B + bu) : 2 === this.bs && (this.uL = c2.measureText(e7.n9(6, 2), bt + this.a5B + bu));
this.uM = this.c1 - 2 * this.hw - this.uL - this.hx
}
;
this.bv = function () {
this.l7 && this.a5F()
}
;
this.cG = function () {
this.l7 && this.nP()
}
;
this.nP = function () {
var g = as(gA - this.c1, 2)
, k = as(cB - this.cw, 2);
cH.setTransform(1, 0, 0, 1, g, k);
cH.fillStyle = hq;
cH.fillRect(0, 0, this.c1, this.cw);
this.a5G();
cH.strokeRect(0, 0, this.c1, this.cw);
cH.textAlign = oc;
cH.font = bt + this.a5B + bu;
0 === this.bs ? this.a5H(b0.a53, g, k) : 1 === this.bs ? this.a5H(b0.rz, g, k) : 2 === this.bs ? this.a5I(g, k) : 3 === this.bs && (this.a5J(g, k),
this.a5K(g, k));
cH.setTransform(1, 0, 0, 1, 0, 0)
}
;
this.a5G = function () {
cH.lineWidth = this.qB;
cH.textBaseline = cI;
cH.textAlign = cJ;
cH.strokeStyle = cK;
cH.font = bt + this.a5C + bu;
var g = this.c1 / this.lm.length;
cH.fillStyle = oG;
cH.fillRect(this.bs * g, this.cw - this.nJ, g, this.nJ);
cH.fillStyle = cK;
for (var k = this.lm.length - 1; 0 <= k; k--)
cH.strokeRect(k * g, this.cw - this.nJ, g, this.nJ),
cH.fillText(this.lm[k], (k + .5) * g, this.cw - .46 * this.nJ)
}
;
this.a5H = function (g, k, x) {
var l = b0.max[this.bs];
cH.setTransform(1, 0, 0, 1, k + 2 * this.hw + this.uL, x + this.nI);
cH.lineWidth = 2;
k = this.xB / Math.sqrt(l);
cH.beginPath();
cH.moveTo(this.uM, this.xB - k * Math.sqrt(g[b0.lz - 1]));
for (x = b0.lz - 2; 0 <= x; x--)
cH.lineTo(x * this.uM / (b0.lz - 1), this.xB - k * Math.sqrt(g[x]));
cH.stroke();
g = this.m4(g, k, .5);
.95 > g && cH.fillText(eL.gF(l), -this.hw, 0);
.05 < Math.abs(g - .5) && cH.fillText(eL.gF(Math.floor(l / 4)), -this.hw, Math.floor(this.xB / 2));
.05 < g && cH.fillText("0", -this.hw, this.xB)
}
;
this.a5I = function (g, k) {
cH.setTransform(1, 0, 0, 1, g + 2 * this.hw + this.uL, k + this.nI);
cH.lineWidth = 2;
var x = this.xB / b0.max[this.bs];
cH.beginPath();
cH.moveTo(this.uM, this.xB - x * b0.tM[b0.lz - 1]);
for (var l = b0.lz - 2; 0 <= l; l--)
cH.lineTo(l * this.uM / (b0.lz - 1), this.xB - x * b0.tM[l]);
cH.stroke();
x = this.m4(b0.tM, x, 1);
l = b0.max[this.bs] / 100;
.95 > x && cH.fillText(e7.n9(l, 2), -this.hw, 0);
.05 < Math.abs(x - .5) && cH.fillText(e7.n9(l / 2, 2), -this.hw, Math.floor(this.xB / 2));
.05 < x && cH.fillText(e7.n9(0, 2), -this.hw, this.xB)
}
;
this.a5J = function (g, k) {
var x;
cH.setTransform(1, 0, 0, 1, g + .34 * this.c1, k + 2 * this.nI);
cH.textAlign = oc;
var l = this.cw - 4 * this.nI - this.nJ;
for (x = 7; 0 <= x; x--)
cH.fillText(b0.a55[x], 0, x * l / 7);
cH.setTransform(1, 0, 0, 1, g + .39 * this.c1, k + 2 * this.nI);
cH.textAlign = mZ;
x = b0.b1[1];
cH.fillText(e7.n9(b0.b1[0] / (10 * (1 > x ? 1 : x)), 1), 0, 0);
for (x = 6; 1 <= x; x--)
cH.fillText(b0.b1[x].toString(), 0, x * l / 7);
cH.fillText(e7.n9(100 * (1 - bU[aw] / b0.b1[7]), 0), 0, l)
}
;
this.a5K = function (g, k) {
var x;
cH.setTransform(1, 0, 0, 1, g + .74 * this.c1, k + 2 * this.nI);
cH.textAlign = oc;
var l = this.cw - 4 * this.nI - this.nJ;
cH.fillStyle = oC;
for (x = 2; 0 <= x; x--)
cH.fillText(b0.a55[x + 8], 0, x * l / 9);
cH.fillStyle = oB;
cH.fillText(b0.a55[11], 0, 3 * l / 9);
cH.fillStyle = oS;
for (x = 8; 4 <= x; x--)
cH.fillText(b0.a55[x + 8], 0, x * l / 9);
cH.fillStyle = oR;
cH.fillText(b0.a55[17], 0, 9 * l / 9);
cH.fillStyle = oC;
x = eL.gF(b0.b1[8] + b0.b1[9] + b0.b1[10] + b0.b1[11]);
var t = cH.measureText(x).width;
cH.setTransform(1, 0, 0, 1, g + .79 * this.c1 + t, k + 2 * this.nI);
cH.fillText(eL.gF(b0.b1[8]), 0, 0);
cH.fillText(eL.gF(b0.b1[9]), 0, 1 * l / 9);
cH.fillText(eL.gF(b0.b1[10]), 0, 2 * l / 9);
cH.fillStyle = oB;
cH.fillText(x, 0, 3 * l / 9);
cH.fillStyle = oS;
x = b0.b1[13] - ae.zh(aw);
cH.fillText(eL.gF(b0.b1[12]), 0, 4 * l / 9);
cH.fillText(eL.gF(x), 0, 5 * l / 9);
cH.fillText(eL.gF(b0.b1[14]), 0, 6 * l / 9);
cH.fillText(eL.gF(b0.b1[15]), 0, 7 * l / 9);
cH.fillText(eL.gF(b0.b1[16]), 0, 8 * l / 9);
x = b0.b1[12] + x + b0.b1[14] + b0.b1[15] + b0.b1[16] + b0.b1[17];
cH.fillStyle = oR;
cH.fillText(eL.gF(x), 0, l);
cH.fillStyle = cK
}
;
this.m4 = function (g, k, x) {
if (0 > this.a5D || 1 < this.a5D)
return .25;
var l = this.a5D * (b0.lz - 1)
, t = Math.floor(l)
, n = g[t];
n += (l - t) * (g[t < b0.lz - 1 ? t + 1 : t] - n);
cH.strokeStyle = oW;
.04 < this.a5D && this.a5Q(0, this.xB - k * Math.pow(n, x), l * this.uM / (b0.lz - 1), this.xB - k * Math.pow(n, x));
.04 < n / b0.max[this.bs] && this.a5Q(l * this.uM / (b0.lz - 1), this.xB, l * this.uM / (b0.lz - 1), this.xB - k * Math.pow(n, x));
cH.fillStyle = oN;
cH.beginPath();
cH.arc(l * this.uM / (b0.lz - 1), this.xB - k * Math.pow(n, x), 4, 0, 2 * Math.PI);
cH.fill();
g = this.a5D * c4.tO();
g = 0 === fB[aw] ? Math.floor(g * eS.tU) : Math.floor(g * c4.dU());
cH.fillStyle = cK;
cH.fillText(1 === x ? e7.n9(n / 100, 2) : eL.gF(Math.floor(n)), -this.hw, this.xB - k * Math.pow(n, x));
cH.textAlign = cJ;
cH.fillText(e7.s8(g), l * this.uM / (b0.lz - 1), this.xB + this.a5B - (q ? 2 : 0));
cH.textAlign = oc;
return k * Math.pow(n, x) / this.xB
}
;
this.a5Q = function (g, k, x, l) {
cH.beginPath();
cH.moveTo(g, k);
cH.lineTo(x, l);
cH.stroke()
}
}
function a20() {
this.wg = "rgba(130,130,130,0.88) rgba(130,12,12,0.88) rgba(12,130,12,0.88) rgba(12,12,130,0.88) rgba(130,130,12,0.88) rgba(130,12,130,0.88) rgba(12,130,130,0.88) rgba(130,130,130,0.88) rgba(0,0,0,0.88)".split(" ");
this.sl = [cK, "rgb(255,120,120)", "rgb(0,230,0)", "rgb(150,150,255)", "rgb(240,240,25)", "rgb(240,25,240)", "rgb(25,240,240)", cK, "rgb(170,170,170)"];
this.a5R = [cK, "rgb(255,0,0)", "rgb(0,255,0)", "rgb(0,0,255)", "rgb(255,255,0)", "rgb(255,0,255)", "rgb(0,255,255)", cK, gD];
this.a5S = [gD, cK, cK, cK, gD, gD, gD, gD, cK];
this.a0f = ["rgba(255,255,255,", "rgba(0,0,0,", "rgba(170,170,170,", "rgba(85,85,85,"];
this.a0g = ["rgb(255,255,255)", "rgb(0,0,0)", "rgb(170,170,170)", "rgb(85,85,85)"];
this.bo = "White Red Green Blue Yellow Magenta Cyan White Black".split(" ");
this.tc = [[255, 255, 255, 180], [255, 0, 0, 180], [0, 255, 0, 180], [50, 50, 255, 180], [255, 255, 0, 180], [255, 0, 255, 180], [0, 255, 255, 180], [255, 255, 255, 180], [0, 0, 0, 180]];
var g = [[255, 255, 255], [255, 0, 0], [0, 255, 0], [0, 0, 255], [255, 255, 0], [255, 0, 255], [0, 255, 255], [255, 255, 255], [0, 0, 0]];
this.id = [0, 1, 2, 3, 4, 5, 6, 7, 8];
var k, x;
this.bp = function (l) {
this.dX = new Uint8Array(b8);
this.a5Y();
dA && (9 === dr ? this.a5Z() : this.dF(l))
}
;
this.a5Y = function () {
for (var l = this.id.length - 1; 0 <= l; l--)
this.id[l] = l;
k = [];
x = []
}
;
this.a5Z = function () {
var l;
for (l = cq + dy.dz - 1; 0 <= l; l--)
this.dX[l] = 1;
for (l = cq + dy.dz; l < b8; l++)
this.dX[l] = 2;
this.id[1] = 7;
this.id[2] = 8
}
;
this.dF = function (l) {
var t = new Uint8Array(cq)
, n = new Uint8Array(cq)
, z = new Uint16Array(8)
, y = new Uint16Array(this.id.length);
this.a5d(l, t, n, z);
this.yE(z);
dt || this.a5e(y, t, n);
this.a5f(t, n, y);
dt ? this.a5g() : this.a5h()
}
;
this.a5d = function (l, t, n, z) {
var y, A, B = this.id.length - 1, C = new Uint16Array(B);
for (y = cq - 1; 0 <= y; y--) {
for (A = B; 1 <= A; A--)
C[A - 1] = Math.abs(4 * l[y].xI[0] - g[A][0]) + Math.abs(4 * l[y].xI[1] - g[A][1]) + Math.abs(4 * l[y].xI[2] - g[A][2]);
var F = 768;
for (A = B - 1; 0 <= A; A--) {
var E = (A + y) % B;
C[E] < F && (F = C[E],
t[y] = E)
}
z[t[y]] += 4;
F = 768;
for (A = B - 1; 0 <= A; A--)
E = (A + y) % B,
C[E] < F && E !== t[y] && (F = C[E],
n[y] = E);
z[n[y]]++
}
}
;
this.yE = function (l) {
var t, n, z = this.id.length - 1;
for (t = z; 0 <= t; t--)
this.id[t] = t;
for (t = z - 1; 0 <= t; t--)
l[t]++;
for (t = 1; t <= z; t++) {
var y = 0;
for (n = 1; n < z; n++)
l[n] > l[y] && (y = n);
l[y] = 0;
this.id[t] = y + 1
}
}
;
this.a5e = function (l, t, n) {
var z = this.id.length - 1
, y = new Uint16Array(z)
, A = [];
var B = cq - 1;
a: for (; 0 <= B; B--) {
var C = B;
var F = a11[C].indexOf("[");
if (0 > F)
F = null;
else {
var E = a11[C].indexOf("]");
F = 1 < E - F && 8 >= E - F ? a11[C].substring(F + 1, E).toUpperCase().trim() : null
}
if (null !== F) {
for (E = k.length - 1; 0 <= E; E--)
if (F === k[E]) {
x[E].push(B);
continue a
}
k.push(F);
A.push(!1);
x.push([]);
x[k.length - 1].push(B)
}
}
for (E = k.length - 1; 0 <= E; E--) {
C = -1;
for (F = k.length - 1; 0 <= F; F--)
!A[F] && (-1 === C || x[F].length > x[C].length) && (C = F);
for (F = z - 1; 0 <= F; F--)
y[F] = 1;
for (F = x[C].length - 1; 0 <= F; F--)
y[t[x[C][F]]] += 3,
y[n[x[C][F]]]++;
for (B = z - 1; 0 <= B; B--) {
var H = C % z;
for (F = z - 1; 0 <= F; F--)
y[F] > y[H] && (H = F);
var J = -1;
for (F = j5; 0 < F; F--)
if (this.id[F] === H + 1) {
J = F;
break
}
y[H] = 0;
if (-1 !== J) {
H = 0;
for (F = j5; 0 < F; F--)
l[J] > l[F] && H++;
if (H !== j5 - 1) {
for (F = x[C].length - 1; 0 <= F; F--)
l[J]++,
this.dX[x[C][F]] = J;
break
}
}
}
A[C] = !0
}
}
;
this.a5f = function (l, t, n) {
var z;
var y = this.id.length - 1;
var A = as(cq, j5);
0 < cq % j5 && A++;
var B = new Uint8Array(y + 1);
for (z = y; 1 <= z; z--)
B[this.id[z]] = z;
for (y = 0; y < cq; y++)
z = B[l[y] + 1],
0 === this.dX[y] && z <= j5 && n[z] < A && (n[z]++,
this.dX[y] = z);
for (y = 0; y < cq; y++)
z = B[t[y] + 1],
0 === this.dX[y] && z <= j5 && n[z] < A && (n[z]++,
this.dX[y] = z);
for (z = j5; 1 <= z; z--)
for (y = cq - 1; 0 <= y && !(n[z] >= A); y--)
0 === this.dX[y] && (n[z]++,
this.dX[y] = z)
}
;
this.a5g = function () {
var l, t = new Uint16Array(j5);
t[j5 - 1] = b8;
for (l = j5 - 2; 0 <= l; l--)
t[l] = du.dv[l].mm;
t[0]--;
var n = 0 === t[0] ? 1 : 0;
for (l = cq; l < b8; l++)
this.dX[l] = n + 1,
t[n]--,
0 >= t[n] && n++
}
;
this.a5h = function () {
for (var l = cq; l < b8; l++)
this.dX[l] = 1 + l % j5
}
;
this.ic = function (l) {
if (dt)
return [512, ""];
var t, n, z = -1, y = -1;
for (n = k.length - 1; 0 <= n; n--)
for (t = x[n].length - 1; 0 <= t && this.id[this.dX[x[n][t]]] === l; t--)
if (-1 === z || sD[x[n][t]] < sD[z])
z = x[n][t],
y = n;
return -1 === z || 0 === fB[z] ? [512, ""] : [z, k[y]]
}
}
function bV() {
for (var g, k, x = aQ - 1; 0 <= x; x--)
g = as(aS[x], 4) % aZ,
k = as(aS[x], 4 * aZ),
d0[aM] = d0[aM] > g ? g : d0[aM],
d3[aM] = d3[aM] > k ? k : d3[aM],
cz[aM] = cz[aM] < g ? g : cz[aM],
d2[aM] = d2[aM] < k ? k : d2[aM]
}
function aj() {
var g = b4[aM].length, k;
var x = g - 1;
a: for (; 0 <= x; x--) {
for (k = 3; 0 <= k; k--) {
var l = b4[aM][x] + aV[k];
if (b5.bG(l) || b5.bE(l) && b5.bF(l) !== aM) {
b5.cW(b4[aM][x], aM);
continue a
}
}
b4[aM][x] = b4[aM][g - 1];
b4[aM].pop();
g--
}
}
function ak() {
var g = bM[aM].length, k, x, l = g - 1;
a: for (; 0 <= l; l--) {
var t = x = !1;
for (k = 3; 0 <= k; k--) {
var n = bM[aM][l] + aV[k];
if (b5.yO(n, aM))
continue a;
t = t || b5.yR(n);
x = x || b5.yN(n)
}
t ? bN[aM].push(bM[aM][l]) : x ? bQ[aM].push(bM[aM][l]) : b5.hV(bM[aM][l], aM);
bM[aM][l] = bM[aM][g - 1];
bM[aM].pop();
g--
}
}
function bK() {
bU[aP] -= aQ
}
function bL(g) {
for (var k = g.length, x = k - 1; 0 <= x; x--)
b5.he(aP, g[x]) || (g[x] = g[k - 1],
g.pop(),
k--)
}
function bO(g) {
for (var k = g.length, x = k - 1; 0 <= x; x--)
!b5.he(aP, g[x]) && b5.b6(g[x]) && (g[x] = g[k - 1],
g.pop(),
k--)
}
function bP(g) {
for (var k = g.length, x, l, t = k - 1; 0 <= t; t--)
for (x = 3; 0 <= x; x--)
if (l = g[t] + aV[x],
b5.yO(l, aP)) {
bM[aP].push(g[t]);
g[t] = g[k - 1];
g.pop();
k--;
break
}
}
function bR() {
for (var g, k, x = aQ - 1; 0 <= x; x--)
for (g = 3; 0 <= g; g--)
k = aS[x] + aV[g],
b5.yP(aP, k) && b5.yQ(k) && (bM[aP].push(k),
b5.b7(k, aP))
}
function bS() {
var g;
a: for (; d3[aP] < d2[aP];) {
for (g = cz[aP]; g >= d0[aP]; g--)
if (b5.he(aP, 4 * (d3[aP] * aZ + g)))
break a;
d3[aP]++
}
a: for (; d3[aP] < d2[aP];) {
for (g = cz[aP]; g >= d0[aP]; g--)
if (b5.he(aP, 4 * (d2[aP] * aZ + g)))
break a;
d2[aP]--
}
a: for (; d0[aP] < cz[aP];) {
for (g = d2[aP]; g >= d3[aP]; g--)
if (b5.he(aP, 4 * (g * aZ + d0[aP])))
break a;
d0[aP]++
}
a: for (; d0[aP] < cz[aP];) {
for (g = d2[aP]; g >= d3[aP]; g--)
if (b5.he(aP, 4 * (g * aZ + cz[aP])))
break a;
cz[aP]--
}
}
function ch(g, k) {
return 0 === dW.dX[g] || dW.dX[g] !== dW.dX[k]
}
function lb(g, k) {
var x, l = ae.af(g);
for (x = 0; x < l; x++)
if (0 === ae.ag(g, x)) {
var t = ae.al(g, x);
if (t === b8) {
if (k === b8)
break;
if (la(k))
return !0
} else if (k === b8) {
if (la(t))
return !0
} else if (lf(k, t))
return !0
}
return !1
}
function la(g) {
var k, x, l = bM[g].length;
for (k = 3; 0 <= k; k--) {
var t = aV[k];
for (x = 0; x < l; x++)
if (b5.bG(bM[g][x] + t))
return !0
}
return !1
}
function lf(g, k) {
var x;
var l = bM[g].length;
var t = bM[k].length;
t < l && (l = g,
g = k,
k = l,
l = t);
for (x = 3; 0 <= x; x--) {
var n = aV[x];
for (t = 0; t < l; t++) {
var z = bM[g][t] + n;
if (b5.bE(z) && b5.bF(z) === k)
return !0
}
}
return !1
}
function a1z() {
function g() {
c4.gY = performance.now();
c4.a61();
window.requestAnimationFrame(g)
}
function k() {
var x = performance.now();
c4.gY + 1500 < x && (c4.gY = x,
c4.a61())
}
this.c5 = !1;
this.a63 = this.a62 = this.a61 = null;
this.gY = 0;
this.a64 = -1;
this.bp = function () {
window.requestAnimationFrame(g);
this.gY = performance.now()
}
;
this.a23 = function () {
1 !== fV || !dt || fm.lp || fY || fm.lv();
-1 === this.a64 && (this.a64 = setInterval(k, 2E3))
}
;
this.xY = function () {
this.c5 = !0;
-1 !== this.a64 && (clearInterval(this.a64),
this.a64 = -1)
}
;
this.jW = function () {
this.a61 = this.a67;
this.a62 = null;
this.c5 = !0
}
;
this.jS = function () {
this.a62 = new a68;
this.a61 = this.a69
}
;
this.jT = function () {
this.a63 = new a6A;
this.a63.bp();
this.a61 = this.a6B
}
;
this.a67 = function () {
jY.dF();
jb.dF();
jj.dF();
e9.dF();
eU.wA();
cD.dF();
this.c5 && (this.c5 = !1,
aJ.cG())
}
;
this.a69 = function () {
this.a62.dF()
}
;
this.a6B = function () {
this.a63.dF()
}
;
this.dU = function () {
return dt ? this.a62.w7 : this.a63.w7
}
;
this.tO = function () {
return 56
}
}
function a68() {
this.gY = c4.gY;
this.a54 = 56;
this.w7 = this.bs = 0;
this.a6C = !1;
this.dF = function () {
jj.dF();
fY ? eY() : 0 === this.bs ? c4.gY >= this.gY && (this.gY += this.a54 * Math.floor(1 + (c4.gY - this.gY) / this.a54),
2 === fV || fm.lp ? e4() : (eA(),
this.w7++,
h4.to()),
this.bs++) : (fm.lp ? eY() : (c4.c5 = !0,
eW()),
this.bs = 0);
eQ();
c4.c5 && (c4.c5 = !1,
hh())
}
}
function a6A() {
this.gY = c4.gY;
this.a54 = 56;
this.w6 = this.w7 = this.bs = 0;
this.a6D = null;
this.a0F = 7;
var g;
this.bp = function () {
this.w6 = 0;
this.a6D = [];
g = this.w7 = this.bs = 0
}
;
this.a6E = function (k) {
if (fY)
this.tP(k);
else if (this.a6D.push(k),
2 === fV) {
for (k = 0; k < this.a6D.length; k++)
ji.a6F(this.a6D[k], g),
g = (g + 1) % 8;
this.a6D = []
}
}
;
this.tP = function (k) {
ji.a6F(k, g);
g = (g + 1) % 8;
e7.tP(this.w6);
this.w6 === j7 ? (fZ.dF(),
this.w7 = this.bs = this.w6 = 0,
this.gY = c4.gY) : (this.w6++,
e6.iw(),
e6.eX(),
h4.to())
}
;
this.dF = function () {
jj.dF();
fY ? (c4.c5 = e7.tP(-1) || c4.c5,
eY()) : 0 === this.bs ? c4.gY >= this.gY && (this.gY += this.a54 * Math.floor(1 + (c4.gY - this.gY) / this.a54),
2 === fV ? e4() : this.a6G(),
this.bs++) : (c4.c5 = !0,
eW(),
this.bs = 0);
eQ();
c4.c5 && (c4.c5 = !1,
hh())
}
;
this.a6G = function () {
if (this.w7 !== 7 * this.w6)
eA(),
this.w7++,
h4.to();
else {
for (var k = !1; this.a6I();)
if (k = !0,
eA(),
this.w7++,
0 < this.a6D.length)
for (var x = this.a0F - 2; 0 <= x; x--)
eA(),
this.w7++;
else
break;
k ? h4.to() : (e4(),
h4.iy())
}
}
;
this.a6I = function () {
return 0 < this.a6D.length ? (this.w6++,
ji.a6F(this.a6D[0], g),
g = (g + 1) % 8,
this.a6D.shift(),
!0) : !1
}
}
function kf() {
function g(k, x) {
8 !== aJ.pR() || 0 !== x && x !== dr || dt || e5.mr(k)
}
this.gS = 0;
this.a6J = !0;
this.dF = function () {
c4.gY > this.gS && (this.gS = c4.gY + 2500,
this.a6K())
}
;
this.a6K = function () {
var k = new Date;
var x = k.getUTCSeconds();
this.a6J ? 55 > x || -1 !== c4.a64 || (this.a6J = !1,
x = k.getUTCMinutes(),
4 === x % 5 ? (k = k.getUTCHours(),
59 === x && 15 <= k && 21 >= k ? g("Upcoming Game of the Day", 0) : 14 === x % 30 ? g("Upcoming Alliance Contest", 0) : 29 === x % 30 ? g("Upcoming Battle Royale Contest", 0) : g("Upcoming One-vs-One Game", 8)) : 2 === x % 5 && g("Upcoming Zombie Game", 9)) : 55 > x && (this.a6J = !0)
}
}
function kS() {
function g() {
return Math.pow(Math.pow(t - x, 2) + Math.pow(n - l, 2), .5)
}
function k(z) {
x = pF * z.touches[0].clientX;
l = pF * z.touches[0].clientY;
t = pF * z.touches[1].clientX;
n = pF * z.touches[1].clientY
}
var x, l, t, n;
this.pG = function (z) {
return 1 < z.touches.length ? (k(z),
hm.lA(),
!0) : !1
}
;
this.pL = function (z) {
if (0 === fV)
return !1;
if (1 < z.touches.length) {
if (!eR.gw())
return !0;
var y = g();
k(z);
z = g();
gf.rC(Math.floor((x + t) / 2), Math.floor((l + n) / 2), z / y);
return c4.c5 = !0
}
return !1
}
}
function kT() {
function g(t, n) {
for (var z = Array(t), y = 0; y < t; y++)
z[y] = k(n, 10);
return m.iM(z)
}
function k(t, n) {
for (var z = 0, y, A, B = l; B < l + n; B++)
y = as(B, 8),
A = 7 - B % 8,
z |= (t[y] >> A & 1) << l + n - B - 1;
l += n;
return z
}
var x, l;
this.a52 = function (t, n) {
l = 0;
x = n.length;
if (0 === x)
e9.a1Y(t, 3205);
else {
var z = k(n, 1);
if (0 === z)
if (z = k(n, 2),
0 === z)
if (0 === k(n, 1)) {
if (0 === t && 8 !== aJ.pR() && !(4 > x)) {
uH.br(0, g(k(n, 5), n));
uH.br(1, "[" + g(k(n, 3), n) + "]");
var y = k(n, 12)
, A = k(n, 6)
, B = Array(y);
for (z = 0; z < y; z++)
B[z] = k(n, A);
jZ.rf(B)
}
} else {
if (8 !== aJ.pR())
if (3 > x)
e9.a1Y(t, 3208);
else {
y = k(n, 1);
A = k(n, 16);
B = k(n, 4);
var C = [];
for (z = 0; z < B; z++) {
var F = k(n, 14);
var E = k(n, 5);
E = g(E, n);
C.push({
name: E,
i4: F
})
}
0 === y ? cD.uA(0, C, 10, 1, .36, .55, A) : cD.uA(1, C, 100, 2, .47, .5, A)
}
}
else if (1 === z)
if (t !== e9.vo)
e9.close(t, 3239);
else if (6 === aJ.pR() && jk.bp(),
7 !== aJ.pR())
e9.close(t, 3251);
else {
y = [0, 0, 0, 0];
A = k(n, 6);
for (z = 0; 4 > z; z++)
y[z] = k(n, A);
B = k(n, 4);
C = [];
for (z = 0; z < B; z++)
C.push({
id: k(n, 5),
jB: k(n, 4),
wr: 1 === k(n, 1),
wo: k(n, 6),
wp: k(n, 14),
wt: k(n, A),
wu: k(n, 9) + 1,
vR: k(n, 10)
});
jk.uI(y, C)
}
else
2 !== z && 3 !== z || eU.bp(n);
else
1 === z && (z = aJ.pR(),
8 !== z ? 10 === z && e9.a1Y(t, 3243) : t !== e9.jV ? e9.a1Y(t, 3244) : 0 === k(n, 1) ? c4.a63.a6E(n) : (z = k(n, 2),
0 === z ? 3 !== x ? e9.a1Y(e9.jV, 3230) : (z = k(n, 9),
y = k(n, 7),
0 !== fB[z] && 0 !== fB[aw] && (y %= a5.a6,
e5.mi(z, aw, y),
e6.mv(z, 1, y))) : 1 === z ? 2 !== x ? e9.a1Y(e9.jV, 3235) : (z = k(n, 9),
0 !== fB[z] && 0 !== fB[aw] && eM.a1B(0, [z], !0) && e5.lT(z, 1)) : 3 !== x ? e9.a1Y(e9.jV, 3236) : (z = k(n, 9),
y = k(n, 9),
0 !== fB[z] && 0 !== fB[y] && 0 !== fB[aw] && eM.a1B(1, [z], !0) && (e6.mv(z, 3, 96),
e6.mv(y, 4, 96),
e5.my(z, y)))))
}
}
;
this.wB = function (t) {
l = 1;
x = t.length;
if (2 === k(t, 2)) {
l += 20;
for (var n = k(t, 9), z = k(t, 14), y = k(t, 4), A = 1 === k(t, 1), B = k(t, 6), C = k(t, 14), F = k(t, 9) + 1, E = [], H, J, K, D = 0; D < F; D++)
H = k(t, 1),
J = [k(t, 6), k(t, 6), k(t, 6)],
K = g(k(t, 5), t),
E.push({
name: K,
xI: J,
xJ: H
});
aJ.vX();
x0(B, C);
1 === E.length && du.xD(y);
j8(z, n, E, y, A)
} else {
l += 20;
n = k(t, 1);
z = k(t, 14);
y = k(t, 4);
A = 1 === k(t, 1);
B = k(t, 6);
C = k(t, 14);
F = [];
for (D = 0; 2 > D; D++)
E = k(t, 1),
H = [k(t, 6), k(t, 6), k(t, 6)],
J = k(t, 14),
K = g(k(t, 5), t),
F.push({
name: K,
xI: H,
i4: J,
xJ: E
});
aJ.vX();
x0(B, C);
j8(z, n, F, y, A)
}
}
;
this.w4 = function (t) {
l = 1;
x = t.length;
var n = k(t, 2)
, z = k(t, 10);
e9.vo > e9.w9 && (z += e9.w9);
if (e9.vo === z)
return e9.jV = z,
!1;
e9.close(e9.vo, 3247);
e9.jV = z;
eU.vy = k(t, 10);
eU.vz = k(t, 2 === n ? 9 : 1);
e9.rb(z, 5) && ii.a1V();
return !0
}
;
this.a6F = function (t, n) {
l = 2;
var z = 8 * t.length;
if (k(t, 3) !== n)
e9.a1Y(e9.jV, 3248);
else
for (; l + 8 <= z;) {
var y = k(t, 3);
var A = k(t, 9);
if (0 === y) {
y = k(t, 10);
var B = k(t, 9);
B = B === A ? b8 : B;
eC.fU(A, y, B)
} else if (1 === y) {
y = k(t, 10);
B = k(t, 11);
var C = k(t, 11);
eC.fX(A, y, B, C)
} else
2 === y ? (B = k(t, 9),
B = B === A ? b8 : B,
eC.fa(A, B)) : 3 === y ? eC.fd(A) : 4 === y ? (y = k(t, 7),
e6.mv(A, 0, y)) : 5 === y ? eC.fl(A) : 6 === y ? eC.fc(A, k(t, 1)) : 7 === y && eC.fb(A, 1 + k(t, 11))
}
}
}
function a1w() {
this.a4q = this.a4p = this.a4o = this.a4n = this.a4s = this.a4r = 0;
this.tp = [0, 0, 0, 0];
this.gv = function () {
this.a4r = gf.gB();
this.a4s = gf.cF();
this.a4n = -this.a4r;
this.a4o = -this.a4s;
this.a4p = gA / g3;
this.a4q = cB / g3;
this.tp[0] = Math.floor(this.a4n);
this.tp[1] = Math.floor(this.a4o);
this.tp[2] = Math.floor(this.tp[0] + this.a4p + 1);
this.tp[3] = Math.floor(this.tp[1] + this.a4q + 1);
h4.tm = !0
}
}
function kU() {
var g, k;
this.bp = function () {
g = 1;
k = 0
}
;
this.dF = function () {
0 < g && (k = 0 === k ? c4.gY + 16 : k,
g -= .001 * (c4.gY - k),
g = 0 > g ? 0 : g,
k = c4.gY,
c4.c5 = !0)
}
;
this.cG = function () {
0 < g && (cH.fillStyle = "rgba(0,0,0," + g + ")",
cH.fillRect(0, 0, gA, cB))
}
}
function kZ() {
this.l7 = !1;
this.xC = [0, 0, 0, 0];
this.show = function () {
this.l7 = !0;
this.lq();
c4.c5 = !0
}
;
this.lq = function () {
var g = s - 7 * cA;
this.xC[2] = q ? Math.floor(.75 * pB) : Math.floor(.5 * pB);
this.xC[3] = Math.floor(1.2 * this.xC[2]);
this.xC[3] > g && (this.xC[3] = g,
this.xC[2] = Math.floor(g / 1.2));
this.xC[0] = Math.floor((r - this.xC[2]) / 2);
this.xC[1] = Math.floor((s - this.xC[3]) / 2)
}
;
this.lh = function (g, k) {
return g < this.xC[0] || k < this.xC[1] || g > this.xC[0] + this.xC[2] || k > this.xC[1] + this.xC[3] ? !1 : !0
}
;
this.c7 = function (g, k) {
c4.c5 = !0;
if (g < this.xC[0] || k < this.xC[1] || g > this.xC[0] + this.xC[2] || k > this.xC[1] + this.xC[3])
return this.l7 = !1,
!0;
var x = Math.floor(.13 * this.xC[3]);
if (k < this.xC[1] + x)
return g > this.xC[0] + this.xC[2] - 1.2 * x && (this.l7 = !1),
!0;
x = Math.floor(7 * (k - this.xC[1] - x) / (this.xC[3] - x));
x = 0 > x ? 0 : 6 < x ? 6 : x;
g > this.xC[0] + this.xC[2] / 2 && (x += 7);
x0(x, Math.floor(16384 * Math.random()));
return !0
}
;
this.cG = function () {
var g, k = Math.floor(.13 * this.xC[3]), x = (this.xC[3] - k - 8 * cA) / 7, l = Math.floor((this.xC[2] - 3 * cA) / 2);
cH.lineWidth = 2;
cH.textAlign = cJ;
cH.textBaseline = cI;
cH.font = bt + Math.floor(.48 * x) + bu;
cH.fillStyle = hq;
cH.fillRect(this.xC[0], this.xC[1], this.xC[2], this.xC[3]);
cH.fillStyle = o9;
cH.fillRect(this.xC[0], this.xC[1], this.xC[2], k);
cH.strokeStyle = cK;
cH.strokeRect(this.xC[0], this.xC[1], this.xC[2], this.xC[3]);
cH.fillStyle = cK;
for (g = 6; 0 <= g; g--) {
var t = Math.floor(this.xC[1] + k + cA + g * (x + cA));
wo === g ? (cH.fillStyle = o9,
cH.fillRect(this.xC[0] + cA, t, l, x),
cH.fillStyle = cK) : wo === g + 7 && (cH.fillStyle = o9,
cH.fillRect(this.xC[0] + l + 2 * cA, t, l, x),
cH.fillStyle = cK);
cH.strokeRect(this.xC[0] + cA, t, l, x);
cH.strokeRect(this.xC[0] + l + 2 * cA, t, l, x);
cH.fillText(jf.bz(g).name, Math.floor(this.xC[0] + cA + l / 2), Math.floor(t + .5 * x));
cH.fillText(jf.bz(g + 7).name, Math.floor(this.xC[0] + this.xC[2] - cA - l / 2), Math.floor(t + .5 * x))
}
fm.m4(Math.floor(this.xC[0] + this.xC[2] - .8 * k), Math.floor(this.xC[1] + .25 * k), Math.floor(.5 * k));
cH.setTransform(1, 0, 0, 1, 0, 0)
}
}
function kV() {
function g(n) {
var z = j()
, y = Math.floor(z / 16777216);
l(n, 24, y);
l(n, 24, z - 16777216 * y)
}
function k(n) {
l(n, 14, a1e);
l(n, 4, b ? 2 : 12 <= d ? 1 : 0 < d ? 3 : 0);
l(n, 1, a1i ? 1 : 0);
l(n, 1, a1h ? 1 : 0);
l(n, 5, (new Date).getHours() % 24)
}
function x(n) {
return as(n, 8) + (0 < n % 8 ? 1 : 0)
}
function l(n, z, y) {
for (var A, B, C = t; C < t + z; C++)
A = as(C, 8),
B = 7 - C % 8,
n[A] |= (y >> z - (C - t + 1) & 1) << B;
t += z
}
var t;
this.re = function () {
var n = new Uint8Array(3);
t = 0;
l(n, 1, 0);
l(n, 3, 0);
l(n, 14, a1e);
e9.send(0, n)
}
;
this.vG = function (n) {
var z = m.iL(jX.xH())
, y = z.length
, A = new Uint8Array(x(105 + 10 * y));
t = 0;
l(A, 1, 0);
l(A, 3, 1);
l(A, 10, a1j);
var B = cC.m7[2].iY.uz();
l(A, 6, B[0]);
l(A, 6, B[1]);
l(A, 6, B[2]);
g(A);
k(A);
for (B = 0; B < y; B++)
l(A, 10, z[B]);
e9.vo = n;
e9.send(n, A)
}
;
this.u8 = function (n, z) {
var y = new Uint8Array(5);
t = 0;
l(y, 1, 0);
l(y, 3, 7);
l(y, 3, 0);
l(y, 14, a1e);
l(y, 1, z);
l(y, 16, Math.abs(4096 + cD.position[z] + cD.u7[z]) % 65536);
e9.send(n, y)
}
;
this.a1W = function (n) {
var z, y = new Uint8Array(100);
t = 0;
l(y, 1, 0);
l(y, 3, 7);
l(y, 3, 1);
l(y, 14, a1l);
var A = m.iL(a1m)
, B = qe(A.length, 77);
l(y, 7, B);
for (z = 0; z < B; z++)
l(y, 10, A[z]);
e9.send(n, y)
}
;
this.xf = function (n) {
var z;
if (!(jX.xV + 7E3 > c4.gY)) {
jX.xV = c4.gY;
var y = new Uint8Array(17);
t = 0;
l(y, 1, 0);
l(y, 3, 7);
l(y, 3, 2);
g(y);
var A = mU(jX.xU.length - 20, 0);
for (z = jX.xU.length - 1; z >= A; z--)
l(y, 4, Math.abs(jX.xU.charCodeAt(z) - 48) % 10);
e9.send(n, y)
}
}
;
this.a1N = function (n, z) {
var y = new Uint8Array(1);
t = 0;
l(y, 1, 0);
l(y, 3, 5);
l(y, 1, z ? 1 : 0);
e9.send(n, y)
}
;
this.x4 = function (n) {
var z = new Uint8Array(1);
t = 0;
l(z, 1, 0);
l(z, 3, 2);
l(z, 4, n);
e9.send(e9.vo, z)
}
;
this.a1V = function () {
var n = new Uint8Array(7);
t = 0;
l(n, 1, 0);
l(n, 3, 6);
l(n, 8, e9.mt());
l(n, 10, eU.vy);
l(n, 9, eU.vz);
l(n, 10, a1j);
l(n, 14, a1e);
e9.send(e9.jV, n)
}
;
this.lP = function (n, z) {
var y = new Uint8Array(3);
t = 0;
l(y, 1, 1);
l(y, 3, 0);
l(y, 10, n);
l(y, 9, z);
e9.send(e9.jV, y)
}
;
this.lR = function (n, z, y) {
var A = new Uint8Array(5);
t = 0;
l(A, 1, 1);
l(A, 3, 1);
l(A, 10, n);
l(A, 11, z);
l(A, 11, y);
e9.send(e9.jV, A)
}
;
this.pz = function (n) {
var z = new Uint8Array(2);
t = 0;
l(z, 1, 1);
l(z, 3, 2);
l(z, 1, 0);
l(z, 9, n);
e9.send(e9.jV, z)
}
;
this.q0 = function (n) {
var z = new Uint8Array(2);
t = 0;
l(z, 1, 1);
l(z, 3, 2);
l(z, 1, 1);
l(z, 11, n - 1);
e9.send(e9.jV, z)
}
;
this.ij = function (n, z) {
var y = new Uint8Array(4);
t = 0;
l(y, 1, 1);
l(y, 3, 3);
l(y, 12, n);
l(y, 10, z);
e9.send(e9.jV, y)
}
;
this.ly = function () {
var n = new Uint8Array(1);
t = 0;
l(n, 1, 1);
l(n, 3, 4);
e9.send(e9.jV, n)
}
;
this.o1 = function (n) {
var z = new Uint8Array(2);
t = 0;
l(z, 1, 1);
l(z, 3, 5);
l(z, 7, n);
e9.send(e9.jV, z)
}
;
this.o2 = function (n, z) {
e5.mi(aw, z, n);
var y = new Uint8Array(3);
t = 0;
l(y, 1, 1);
l(y, 3, 6);
l(y, 2, 0);
l(y, 9, z);
l(y, 7, n);
e9.send(e9.jV, y)
}
;
this.lU = function (n) {
var z = new Uint8Array(2);
t = 0;
l(z, 1, 1);
l(z, 3, 6);
l(z, 2, 1);
l(z, 9, n);
e9.send(e9.jV, z)
}
;
this.lL = function (n, z) {
var y, A = n.length, B = new Uint8Array(x(15 + 9 * A));
t = 0;
l(B, 1, 1);
l(B, 3, 6);
l(B, 2, 2);
l(B, 9, z);
for (y = 0; y < A; y++)
l(B, 9, n[y]);
e9.send(e9.jV, B)
}
;
this.qZ = function (n) {
var z = new Uint8Array(1);
t = 0;
l(z, 1, 1);
l(z, 3, 7);
l(z, 1, n ? 1 : 0);
e9.send(e9.jV, z)
}
;
this.xG = function (n) {
var z = new Uint8Array(4);
t = 0;
l(z, 1, 0);
l(z, 3, 3);
k(z);
e9.send(n, z)
}
}
setTimeout(aI, 1E4);
}
)();
if (localStorage.getItem("settings") !== null) {
settings = {...settings, ...JSON.parse(localStorage.getItem("settings"))};
2022-12-25 08:25:12 -08:00
}
settingsManager.applySettings();
2022-12-25 08:25:12 -08:00
console.log('Successfully loaded FX Client');