Advertisement
Guest User

HAX

a guest
Jun 22nd, 2019
4,521
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 291.27 KB | None | 0 0
  1. (function(kc) {
  2. function bc() {}
  3.  
  4. function q() {}
  5.  
  6. function r(a) {
  7. this.Na = a;
  8. Error.captureStackTrace && Error.captureStackTrace(this, r)
  9. }
  10.  
  11. function Ua(a) {
  12. this.f = t.za(Ua.H);
  13. t.ya(this.f).get("features").textContent = a.join(", ")
  14. }
  15.  
  16. function Va() {
  17. this.Ck = new Jb;
  18. this.f = t.za(Va.H);
  19. var a = t.ya(this.f);
  20. this.Uf = a.get("ping");
  21. this.Fo = a.get("max-ping");
  22. this.Fn = a.get("fps");
  23. t.fe(a.get("graph"), this.Ck.f)
  24. }
  25.  
  26. function T(a, b, c) {
  27. var d = this;
  28. this.f = t.za(T.H);
  29. var e = t.ya(this.f);
  30. e.get("ok");
  31. e.get("cancel");
  32. this.re = e.get("content");
  33. for (var f =
  34. e.get("title"), e = e.get("buttons"), g = 0, n = 0; n < c.length;) {
  35. var k = c[n++],
  36. J = window.document.createElement("button");
  37. J.textContent = k;
  38. J.onclick = function(a) {
  39. return function() {
  40. x.i(d.Za, a[0])
  41. }
  42. }([g++]);
  43. e.appendChild(J)
  44. }
  45. this.re.textContent = b;
  46. f.textContent = a
  47. }
  48.  
  49. function ba(a) {
  50. function b(a) {
  51. var b = window.document.createElement("div");
  52. b.className = "inputrow";
  53. var c = window.document.createElement("div");
  54. c.textContent = a;
  55. b.appendChild(c);
  56. for (var c = W.Nn(a), d = 0; d < c.length;) {
  57. var e = [c[d]];
  58. ++d;
  59. var f = [window.document.createElement("div")],
  60. g = e[0];
  61. H.startsWith(e[0], "Key") && (g = B.substr(e[0], 3, null));
  62. f[0].textContent = g;
  63. b.appendChild(f[0]);
  64. g = window.document.createElement("i");
  65. g.className = "icon-cancel";
  66. g.onclick = function(a, b) {
  67. return function() {
  68. W.Wp(b[0]);
  69. m.s.Wf.Ra(W);
  70. a[0].remove()
  71. }
  72. }(f, e);
  73. f[0].appendChild(g)
  74. }
  75. c = window.document.createElement("i");
  76. c.className = "icon-plus";
  77. b.appendChild(c);
  78. c.onclick = function() {
  79. p.classList.toggle("show", !0);
  80. p.focus();
  81. p.onkeydown = function(b) {
  82. p.classList.toggle("show", !1);
  83. b.stopPropagation();
  84. b = b.code;
  85. null == W.I(b) &&
  86. (W.Ga(b, a), m.s.Wf.Ra(W), r())
  87. }
  88. };
  89. return b
  90. }
  91.  
  92. function c(a, b, c) {
  93. a = k.get(a);
  94. if (null == c) a.hidden = !0;
  95. else {
  96. a.innerHTML = b + ": <div class='flagico'></div> <span></span>";
  97. b = a.querySelector(".flagico");
  98. a = a.querySelector("span");
  99. try {
  100. b.classList.add("f-" + c.rb)
  101. } catch (pc) {}
  102. a.textContent = c.rb.toUpperCase()
  103. }
  104. }
  105.  
  106. function d(a, b, c, d) {
  107. var e = k.get(a);
  108. e.selectedIndex = d(b.I());
  109. e.onchange = function() {
  110. var a = c(e.selectedIndex);
  111. b.Ra(a)
  112. }
  113. }
  114.  
  115. function e(a, b, c) {
  116. function d(a) {
  117. e.classList.toggle("icon-ok", a);
  118. e.classList.toggle("icon-cancel",
  119. !a)
  120. }
  121. a = k.get(a);
  122. a.classList.add("toggle");
  123. var e = window.document.createElement("i");
  124. e.classList.add("icon-ok");
  125. a.insertBefore(e, a.firstChild);
  126. a.onclick = function() {
  127. var a = !b.I();
  128. b.Ra(a);
  129. d(a);
  130. null != c && c(a)
  131. };
  132. d(b.I())
  133. }
  134.  
  135. function f(a) {
  136. var b = {
  137. Ul: k.get(a + "btn"),
  138. Eg: k.get(a + "sec")
  139. };
  140. J.push(b);
  141. b.Ul.onclick = function() {
  142. g(b)
  143. }
  144. }
  145.  
  146. function g(a) {
  147. for (var b = 0, c = 0; c < J.length;) {
  148. var d = J[c];
  149. ++c;
  150. var e = d == a;
  151. e && (ba.ml = b);
  152. d.Eg.classList.toggle("selected", e);
  153. d.Ul.classList.toggle("selected", e);
  154. ++b
  155. }
  156. }
  157. null == a && (a = !1);
  158. var n = this;
  159. this.f =
  160. t.za(ba.H);
  161. var k = t.ya(this.f);
  162. this.Zc = k.get("close");
  163. var J = [];
  164. f("sound");
  165. f("video");
  166. f("misc");
  167. f("input");
  168. g(J[ba.ml]);
  169. e("tsound-main", m.s.zl, function(a) {
  170. m.Xa.tl(a ? 1 : 0)
  171. });
  172. e("tsound-chat", m.s.wl);
  173. e("tsound-highlight", m.s.yl);
  174. e("tsound-crowd", m.s.xl);
  175. d("viewmode", m.s.Nb, function(a) {
  176. return a - 1
  177. }, function(a) {
  178. return a + 1
  179. });
  180. d("fps", m.s.hh, function(a) {
  181. return a
  182. }, function(a) {
  183. return a
  184. });
  185. var h = [1, .75, .5, .25];
  186. d("resscale", m.s.fl, function(a) {
  187. return h[a]
  188. }, function(a) {
  189. for (var b = 0, c = h.length - 1; b < c && !(h[b] <= a);) ++b;
  190. return b
  191. });
  192. e("tvideo-teamcol", m.s.Hl);
  193. e("tvideo-showindicators", m.s.Qj);
  194. var l = null,
  195. l = function() {
  196. var b = m.s.we.I();
  197. c("loc", "Detected location", m.s.ve.I());
  198. c("loc-ovr", "Location override", b);
  199. var d = k.get("loc-ovr-btn");
  200. d.disabled = !a;
  201. null == b ? (d.textContent = "Override location", d.onclick = function() {
  202. y.i(n.No)
  203. }) : (d.textContent = "Remove override", d.onclick = function() {
  204. m.s.we.Ra(null);
  205. l()
  206. })
  207. };
  208. l();
  209. var W = m.s.Wf.I(),
  210. p = k.get("presskey"),
  211. r, q = k.get("inputsec");
  212. r = function() {
  213. t.gf(q);
  214. var a = b("Up");
  215. q.appendChild(a);
  216. a = b("Down");
  217. q.appendChild(a);
  218. a = b("Left");
  219. q.appendChild(a);
  220. a = b("Right");
  221. q.appendChild(a);
  222. a = b("Kick");
  223. q.appendChild(a)
  224. };
  225. r();
  226. this.Zc.onclick = function() {
  227. y.i(n.mb)
  228. }
  229. }
  230.  
  231. function Wa(a) {
  232. this.xj = !1;
  233. this.Al = new za(p.Ea);
  234. this.dj = new za(p.ta);
  235. this.Wk = new za(p.ba);
  236. var b = this;
  237. this.f = t.za(Wa.H);
  238. var c = t.ya(this.f);
  239. this.$b = c.get("room-name");
  240. this.Dl = c.get("start-btn");
  241. this.Fl = c.get("stop-btn");
  242. this.Lh = c.get("pause-btn");
  243. this.Im = c.get("auto-btn");
  244. this.bk = c.get("lock-btn");
  245. this.el = c.get("reset-all-btn");
  246. this.Uk = c.get("rec-btn");
  247. var d = c.get("link-btn"),
  248. e = c.get("leave-btn"),
  249. f = c.get("rand-btn");
  250. this.$e = c.get("time-limit-sel");
  251. this.Ue = c.get("score-limit-sel");
  252. this.Bl = c.get("stadium-name");
  253. this.Cl = c.get("stadium-pick");
  254. this.Cl.onclick = function() {
  255. y.i(b.gp)
  256. };
  257. this.vh(c.get("red-list"), this.Wk, p.ba, a);
  258. this.vh(c.get("blue-list"), this.dj, p.ta, a);
  259. this.vh(c.get("spec-list"), this.Al, p.Ea, a);
  260. this.hk(this.$e, this.gk(15));
  261. this.hk(this.Ue, this.gk(15));
  262. this.$e.onchange = function() {
  263. x.i(b.kp, b.$e.selectedIndex)
  264. };
  265. this.Ue.onchange = function() {
  266. x.i(b.bp, b.Ue.selectedIndex)
  267. };
  268. this.Dl.onclick = function() {
  269. y.i(b.hp)
  270. };
  271. this.Fl.onclick = function() {
  272. y.i(b.ip)
  273. };
  274. this.Lh.onclick = function() {
  275. y.i(b.Vo)
  276. };
  277. this.Im.onclick = function() {
  278. y.i(b.Mo)
  279. };
  280. this.bk.onclick = function() {
  281. x.i(b.jp, !b.Ah)
  282. };
  283. this.el.onclick = function() {
  284. null != b.Ld && (b.Ld(p.ta), b.Ld(p.ba))
  285. };
  286. this.Uk.onclick = function() {
  287. y.i(b.Zo)
  288. };
  289. d.onclick = function() {
  290. y.i(b.fp)
  291. };
  292. e.onclick = function() {
  293. y.i(b.Kd)
  294. };
  295. f.onclick = function() {
  296. y.i(b.Yo)
  297. };
  298. this.Ui(!1);
  299. this.Vi(!1)
  300. }
  301.  
  302. function Xa() {
  303. var a = this;
  304. this.f = t.za(Xa.H);
  305. var b = t.ya(this.f);
  306. this.yb = b.get("input");
  307. this.Ie = b.get("ok");
  308. b.get("cancel").onclick = function() {
  309. null != a.Za && a.Za(null)
  310. };
  311. this.yb.maxLength = 30;
  312. this.yb.oninput = function() {
  313. a.v()
  314. };
  315. this.yb.onkeydown = function(b) {
  316. 13 == b.keyCode && a.wc() && null != a.Za && a.Za(a.yb.value)
  317. };
  318. this.Ie.onclick = function() {
  319. a.wc() && null != a.Za && a.Za(a.yb.value)
  320. };
  321. this.v()
  322. }
  323.  
  324. function Ya(a) {
  325. this.kk = a.get("notice");
  326. this.mn = a.get("notice-contents");
  327. this.Zc = a.get("notice-close");
  328. this.Xk()
  329. }
  330.  
  331. function Aa(a) {
  332. function b(a) {
  333. function b() {
  334. e.className = f.Na ? "icon-ok" : "icon-cancel"
  335. }
  336. a = d.get(a);
  337. var e =
  338. a.querySelector("i"),
  339. f = {
  340. Na: !0
  341. };
  342. b();
  343. a.onclick = function() {
  344. f.Na = !f.Na;
  345. b();
  346. c.mm(c.Ai)
  347. };
  348. return f
  349. }
  350. this.Ai = [];
  351. var c = this;
  352. this.tr = a;
  353. this.Ba = t.za(Aa.Oi);
  354. var d = t.ya(this.Ba),
  355. e = new Ya(d);
  356. this.Ki = d.get("refresh");
  357. this.dm = d.get("join");
  358. a = d.get("create");
  359. this.pr = d.get("count");
  360. a.onclick = function() {
  361. y.i(c.Ir)
  362. };
  363. d.get("changenick").onclick = function() {
  364. y.i(c.Hr)
  365. };
  366. d.get("settings").onclick = function() {
  367. y.i(c.Kr)
  368. };
  369. var f = d.get("replayfile");
  370. f.onchange = function() {
  371. var a = f.files;
  372. if (!(1 > a.length)) {
  373. var a = a.item(0),
  374. b = new FileReader;
  375. b.onload = function() {
  376. x.i(c.Jr, b.result)
  377. };
  378. b.readAsArrayBuffer(a)
  379. }
  380. };
  381. this.sr = b("fil-full");
  382. this.Lr = b("fil-pass");
  383. this.zr = d.get("listscroll");
  384. this.Nr = Ba.Hf(this.zr);
  385. this.Di = d.get("list");
  386. this.Ki.onclick = function() {
  387. e.Xk();
  388. c.$l()
  389. };
  390. this.dm.onclick = function() {
  391. null != c.yd && x.i(c.im, c.yd.Rr)
  392. };
  393. this.$l()
  394. }
  395.  
  396. function Za(a) {
  397. this.Ba = t.za(Za.Oi, "tbody");
  398. var b = t.ya(this.Ba),
  399. c = b.get("name"),
  400. d = b.get("players"),
  401. e = b.get("distance"),
  402. f = b.get("pass"),
  403. b = b.get("flag");
  404. this.Rr = a;
  405. var g = a.gd;
  406. c.textContent = g.o;
  407. d.textContent = "" + g.F +
  408. "/" + g.Ee;
  409. f.textContent = g.Bb ? "Yes" : "No";
  410. e.textContent = "" + (a.ue | 0) + "km";
  411. try {
  412. b.classList.add("f-" + g.rb.toLowerCase())
  413. } catch (n) {}
  414. 8 > a.gd.sd && this.Ba.classList.add("old")
  415. }
  416.  
  417. function $a() {
  418. this.yj = null;
  419. var a = this;
  420. this.f = t.za($a.H);
  421. var b = t.ya(this.f);
  422. this.Ff = b.get("link");
  423. var c = b.get("copy"),
  424. b = b.get("close");
  425. this.Ff.onfocus = function() {
  426. a.Ff.select()
  427. };
  428. c.onclick = function() {
  429. a.Ff.select();
  430. return window.document.execCommand("Copy")
  431. };
  432. b.onclick = function() {
  433. y.i(a.mb)
  434. }
  435. }
  436.  
  437. function ga(a) {
  438. function b() {
  439. var b = g[f];
  440. a.Ek = e ? b : 0;
  441. d.get("spd").textContent = b + "x"
  442. }
  443. this.Cf = !1;
  444. var c = this;
  445. this.f = t.za(ga.H);
  446. var d = t.ya(this.f);
  447. this.Vh = a;
  448. d.get("reset").onclick = function() {
  449. a.Wh();
  450. c.sk()
  451. };
  452. var e = !0,
  453. f = 2,
  454. g = [.5, .75, 1, 2, 3];
  455. b();
  456. var n = d.get("playicon");
  457. n.classList.add("icon-pause");
  458. d.get("play").onclick = function() {
  459. e = !e;
  460. var a = n.classList;
  461. a.toggle("icon-play", !e);
  462. a.toggle("icon-pause", e);
  463. b()
  464. };
  465. d.get("spdup").onclick = function() {
  466. f += 1;
  467. var a = g.length - 1;
  468. f > a && (f = a);
  469. b()
  470. };
  471. d.get("spddn").onclick = function() {
  472. --f;
  473. 0 > f && (f = 0);
  474. b()
  475. };
  476. this.Qq = d.get("time");
  477. var k =
  478. d.get("timebar");
  479. this.Kp = d.get("progbar");
  480. for (var J = d.get("timetooltip"), h = 0, l = a.ik; h < l.length;) {
  481. var m = l[h];
  482. ++h;
  483. var p = window.document.createElement("div");
  484. p.className = "marker";
  485. p.classList.add("k" + m.kind);
  486. p.style.left = 100 * m.Ji + "%";
  487. k.appendChild(p)
  488. }
  489. k.onclick = function(b) {
  490. a.rq((b.pageX - k.offsetLeft) / k.clientWidth * a.Ng * a.Te);
  491. c.Cf || (c.Cf = !0, c.ep(), c.sk())
  492. };
  493. k.onmousemove = function(b) {
  494. b = (b.pageX - k.offsetLeft) / k.clientWidth;
  495. J.textContent = ga.jk(a.Te * a.Ng * b);
  496. return J.style.left = "calc(" + 100 * b + "% - 30px)"
  497. };
  498. this.po =
  499. d.get("leave");
  500. this.po.onclick = function() {
  501. y.i(c.Kd)
  502. }
  503. }
  504.  
  505. function O(a) {
  506. var b = this,
  507. c = new T("Only humans", "", []);
  508. this.f = c.f;
  509. c.re.style.minHeight = "78px";
  510. Ja.qo().then(function(d) {
  511. null == O.$f && (O.$f = window.document.createElement("div"), c.re.appendChild(O.$f), O.Pp = d.render(O.$f, {
  512. sitekey: a,
  513. callback: function(a) {
  514. x.i(O.Vk, a)
  515. },
  516. theme: "dark"
  517. }));
  518. d.reset(O.Pp);
  519. O.Vk = function(a) {
  520. window.setTimeout(function() {
  521. x.i(b.Za, a)
  522. }, 1E3);
  523. O.Vk = null
  524. };
  525. c.re.appendChild(O.$f)
  526. })
  527. }
  528.  
  529. function za(a) {
  530. this.jd = new Map;
  531. var b = this;
  532. this.f = t.za(za.H);
  533. this.f.className += " " + a.tn;
  534. var c = t.ya(this.f);
  535. this.Ya = c.get("list");
  536. this.xh = c.get("join-btn");
  537. this.Xh = c.get("reset-btn");
  538. a == p.Ea && this.Xh.remove();
  539. this.xh.textContent = "" + a.o;
  540. this.f.ondragover = this.f.bs = function(a) {
  541. -1 != a.dataTransfer.types.indexOf("player") && a.preventDefault()
  542. };
  543. this.f.ondrop = function(c) {
  544. c.preventDefault();
  545. c = c.dataTransfer.getData("player");
  546. null != c && (c = K.parseInt(c), null != c && ha.i(b.Qf, c, a))
  547. };
  548. this.xh.onclick = function() {
  549. x.i(b.To, a)
  550. };
  551. this.Xh.onclick = function() {
  552. x.i(b.Ld, a)
  553. }
  554. }
  555.  
  556. function ab(a) {
  557. var b =
  558. this;
  559. this.o = a.o;
  560. this.vb = a.vb;
  561. this.U = a.S;
  562. this.f = t.za(ab.H);
  563. var c = t.ya(this.f);
  564. this.Ge = c.get("name");
  565. this.Uf = c.get("ping");
  566. try {
  567. c.get("flag").classList.add("f-" + a.ud)
  568. } catch (d) {}
  569. this.Ge.textContent = this.o;
  570. this.Uf.textContent = "" + this.vb;
  571. this.f.ondragstart = function(a) {
  572. a.dataTransfer.setData("player", K.ge(b.U))
  573. };
  574. this.f.oncontextmenu = function(a) {
  575. a.preventDefault();
  576. x.i(b.Ne, b.U)
  577. };
  578. this.pl(a.ra)
  579. }
  580.  
  581. function bb(a, b) {
  582. var c = this;
  583. this.f = t.za(bb.H);
  584. var d = t.ya(this.f);
  585. this.Ge = d.get("name");
  586. this.mf = d.get("admin");
  587. this.ze =
  588. d.get("kick");
  589. this.Zc = d.get("close");
  590. this.mf.onclick = function() {
  591. ha.i(c.Lo, c.Hb, !c.Fk)
  592. };
  593. this.ze.onclick = function() {
  594. x.i(c.Jh, c.Hb)
  595. };
  596. this.Zc.onclick = function() {
  597. y.i(c.mb)
  598. };
  599. this.Hb = a.S;
  600. this.Xi(a.o);
  601. this.Wi(a.ra);
  602. this.mf.disabled = !b || 0 == this.Hb;
  603. this.ze.disabled = !b || 0 == this.Hb
  604. }
  605.  
  606. function Jb() {
  607. this.bh = 0;
  608. this.Eo = 400;
  609. this.Pj = 64;
  610. this.vi = 32;
  611. this.ja = window.document.createElement("canvas");
  612. this.wf = window.document.createElement("canvas");
  613. this.f = window.document.createElement("div");
  614. this.wf.width = this.ja.width = this.vi;
  615. this.wf.height = this.ja.height = this.Pj;
  616. this.gh = this.wf.getContext("2d", null);
  617. this.c = this.ja.getContext("2d", null);
  618. this.c.fillStyle = "green";
  619. for (var a = [], b = 0, c = this.vi; b < c;) ++b, a.push(0);
  620. this.op = a;
  621. this.f.appendChild(this.wf);
  622. this.f.className = "graph"
  623. }
  624.  
  625. function cb() {
  626. this.gb = null;
  627. var a = this;
  628. this.f = t.za(cb.H);
  629. var b = t.ya(this.f);
  630. b.get("cancel").onclick = function() {
  631. y.i(a.Hh)
  632. };
  633. this.Mh = b.get("pick");
  634. this.tj = b.get("delete");
  635. this.Ij = b.get("export");
  636. var c = b.get("list"),
  637. d = b.get("file");
  638. this.og();
  639. this.Mh.onclick = function() {
  640. null !=
  641. a.gb && a.gb.zd().then(function(b) {
  642. x.i(a.Sf, b)
  643. })
  644. };
  645. this.tj.onclick = function() {
  646. if (null != a.gb) {
  647. var b = a.gb.Xl;
  648. null != b && (a.gb.Ba.remove(), a.gb = null, b(), a.og())
  649. }
  650. };
  651. this.Ij.onclick = function() {
  652. null != a.gb && a.gb.zd().then(function(a) {
  653. Ca.oq(a.$d(), a.o + ".hbs")
  654. })
  655. };
  656. this.Ph(c);
  657. this.Yf = Ba.Hf(c);
  658. window.setTimeout(function() {
  659. a.Yf.update()
  660. }, 0);
  661. d.onchange = function() {
  662. var b = d.files;
  663. if (!(1 > b.length)) {
  664. var b = b.item(0),
  665. c = new FileReader;
  666. c.onload = function() {
  667. try {
  668. var b = c.result,
  669. d = new h;
  670. d.$j(b);
  671. x.i(a.Sf, d)
  672. } catch (k) {
  673. b = k instanceof
  674. r ? k.Na : k, b instanceof SyntaxError ? x.i(a.Kh, "SyntaxError in line: " + K.ge(b.lineNumber)) : b instanceof ub ? x.i(a.Kh, b.Go) : x.i(a.Kh, "Error loading stadium file.")
  675. }
  676. };
  677. c.readAsText(b)
  678. }
  679. }
  680. }
  681.  
  682. function db() {
  683. var a = this;
  684. this.f = t.za(db.H);
  685. var b = t.ya(this.f);
  686. b.get("cancel").onclick = function() {
  687. x.i(a.mb, !1)
  688. };
  689. b.get("leave").onclick = function() {
  690. x.i(a.mb, !0)
  691. }
  692. }
  693.  
  694. function eb(a) {
  695. var b = this;
  696. this.f = t.za(eb.H);
  697. var c = t.ya(this.f);
  698. this.Ge = c.get("title");
  699. this.Rh = c.get("reason");
  700. this.Jm = c.get("ban-btn");
  701. this.Lm = c.get("ban-text");
  702. this.ze =
  703. c.get("kick");
  704. this.Zc = c.get("close");
  705. this.Jm.onclick = function() {
  706. b.Ti(!b.bj)
  707. };
  708. this.Zc.onclick = function() {
  709. y.i(b.mb)
  710. };
  711. this.ze.onclick = function() {
  712. vb.i(b.Jh, b.Hb, b.Rh.value, b.bj)
  713. };
  714. this.Rh.onkeydown = function(a) {
  715. return a.stopPropagation()
  716. };
  717. this.Rh.maxLength = 100;
  718. this.Hb = a.S;
  719. this.Ge.textContent = "Kick " + a.o;
  720. this.Ti(!1)
  721. }
  722.  
  723. function ia(a) {
  724. this.Ab = new fb;
  725. this.rd = !1;
  726. this.Wd = new Va;
  727. this.Ua = new Da;
  728. var b = this;
  729. this.Qa = new Wa(a);
  730. this.Ab.Hb = a;
  731. this.f = t.za(ia.H);
  732. a = t.ya(this.f);
  733. this.lh = a.get("gameplay-section");
  734. this.Pe = a.get("popups");
  735. this.Pe.style.display = "none";
  736. t.fe(a.get("chatbox"), this.Ua.f);
  737. t.fe(a.get("stats"), this.Wd.f);
  738. this.Gh = a.get("menu");
  739. this.Gh.onclick = function() {
  740. b.Ud(!b.rd);
  741. b.Gh.blur()
  742. };
  743. a.get("settings").onclick = function() {
  744. var a = new ba;
  745. a.mb = function() {
  746. b.$a(null)
  747. };
  748. b.$a(a.f)
  749. };
  750. this.lh.appendChild(this.Ab.f);
  751. this.Qa.Kd = function() {
  752. var a = new db;
  753. a.mb = function(a) {
  754. b.$a(null);
  755. a && y.i(b.Kd)
  756. };
  757. b.$a(a.f)
  758. };
  759. this.Qa.gp = function() {
  760. var a = new cb;
  761. a.Hh = function() {
  762. b.$a(null)
  763. };
  764. a.Sf = function(a) {
  765. x.i(b.Sf, a);
  766. b.$a(null)
  767. };
  768. a.Kh = function(a) {
  769. a = new T("Error loading stadium",
  770. a, ["Ok"]);
  771. a.Za = function() {
  772. b.$a(null)
  773. };
  774. b.$a(a.f)
  775. };
  776. b.$a(a.f)
  777. }
  778. }
  779.  
  780. function Kb() {
  781. this.xa = 0;
  782. this.zj = this.Aj = !1;
  783. this.te = 0;
  784. this.f = window.document.createElement("div");
  785. this.f.className = "game-timer-view";
  786. this.f.appendChild(this.lp = this.Ed("OVERTIME!", "overtime"));
  787. this.f.appendChild(this.Io = this.Ed("0", "digit"));
  788. this.f.appendChild(this.Ho = this.Ed("0", "digit"));
  789. this.f.appendChild(this.Ed(":", null));
  790. this.f.appendChild(this.qq = this.Ed("0", "digit"));
  791. this.f.appendChild(this.pq = this.Ed("0", "digit"))
  792. }
  793.  
  794. function fb() {
  795. this.Hb = -1;
  796. this.zb = new N;
  797. this.pc = new Kb;
  798. this.f = t.za(fb.H);
  799. var a = t.ya(this.f);
  800. this.Jb = new wb(a.get("red-score"), 0);
  801. this.Db = new wb(a.get("blue-score"), 0);
  802. t.fe(a.get("timer"), this.pc.f);
  803. t.fe(a.get("canvas"), this.zb.ja)
  804. }
  805.  
  806. function gb(a, b) {
  807. var c = this;
  808. this.f = t.za(gb.H);
  809. var d = t.ya(this.f);
  810. this.Ko = d.get("ok");
  811. this.Ko.onclick = function() {
  812. y.i(c.Za)
  813. };
  814. this.bl = d.get("replay");
  815. var e = null != b;
  816. this.bl.hidden = !e;
  817. e && (this.bl.onclick = function() {
  818. ca.kl(b)
  819. });
  820. d.get("reason").textContent = a
  821. }
  822.  
  823. function hb(a) {
  824. var b = this;
  825. this.f = t.za(hb.H);
  826. var c = t.ya(this.f);
  827. this.Wg = c.get("cancel");
  828. this.nj = c.get("create");
  829. this.He = c.get("name");
  830. this.zk = c.get("pass");
  831. this.Fh = c.get("max-pl");
  832. this.Ol = c.get("unlisted");
  833. this.He.maxLength = 40;
  834. this.He.value = a;
  835. this.He.oninput = function() {
  836. b.v()
  837. };
  838. this.zk.maxLength = 30;
  839. this.Ol.onclick = function() {
  840. b.Yi(!b.Pl)
  841. };
  842. this.Wg.onclick = function() {
  843. y.i(b.Hh)
  844. };
  845. this.nj.onclick = function() {
  846. if (b.wc()) {
  847. var a = b.zk.value;
  848. "" == a && (a = null);
  849. x.i(b.So, {
  850. name: b.He.value,
  851. password: a,
  852. Cr: b.Fh.selectedIndex + 2,
  853. Wr: b.Pl
  854. })
  855. }
  856. };
  857. for (a = 2; 21 > a;) c = window.document.createElement("option"),
  858. c.textContent = "" + a++, this.Fh.appendChild(c);
  859. this.Fh.selectedIndex = 10;
  860. this.Yi(!1);
  861. this.v()
  862. }
  863.  
  864. function ib() {
  865. this.f = t.za(ib.H);
  866. var a = t.ya(this.f);
  867. this.Vb = a.get("log");
  868. this.Wg = a.get("cancel")
  869. }
  870.  
  871. function jb(a) {
  872. function b() {
  873. c.wc() && null != c.qk && c.qk(c.yb.value)
  874. }
  875. var c = this;
  876. this.f = t.za(jb.H);
  877. var d = t.ya(this.f);
  878. this.yb = d.get("input");
  879. this.Ie = d.get("ok");
  880. this.yb.maxLength = 25;
  881. this.yb.value = a;
  882. this.yb.oninput = function() {
  883. c.v()
  884. };
  885. this.yb.onkeydown = function(a) {
  886. 13 == a.keyCode && b()
  887. };
  888. this.Ie.onclick = b;
  889. this.v()
  890. }
  891.  
  892. function kb(a,
  893. b) {
  894. this.$i = [];
  895. this.Vp = /[#@][^\s@#]*$/;
  896. this.Eb = a;
  897. this.$o = b;
  898. a.hidden = !0
  899. }
  900.  
  901. function Da() {
  902. function a() {
  903. null != b.tk && "" != b.cb.value && b.tk(b.cb.value);
  904. b.cb.value = "";
  905. b.cb.blur()
  906. }
  907. var b = this;
  908. this.f = t.za(Da.H);
  909. var c = t.ya(this.f);
  910. this.Vb = c.get("log");
  911. this.Yf = Ba.Hf(this.Vb);
  912. this.cb = c.get("input");
  913. this.cb.maxLength = 140;
  914. c.get("send").onclick = a;
  915. this.uc = new kb(c.get("autocompletebox"), function(a, c) {
  916. b.cb.value = a;
  917. b.cb.setSelectionRange(c, c)
  918. });
  919. this.cb.onkeydown = function(c) {
  920. switch (c.keyCode) {
  921. case 9:
  922. b.uc.Eb.hidden || (b.uc.zn(),
  923. c.preventDefault());
  924. break;
  925. case 13:
  926. a();
  927. break;
  928. case 27:
  929. b.uc.Eb.hidden ? (b.cb.value = "", b.cb.blur()) : b.uc.sh();
  930. break;
  931. case 38:
  932. b.uc.ij(-1);
  933. break;
  934. case 40:
  935. b.uc.ij(1)
  936. }
  937. c.stopPropagation()
  938. };
  939. this.cb.onfocus = function() {
  940. null != b.Mf && b.Mf(!0)
  941. };
  942. this.cb.onblur = function() {
  943. null != b.Mf && b.Mf(!1);
  944. b.uc.sh()
  945. };
  946. this.cb.oninput = function() {
  947. b.uc.Sm(b.cb.value, b.cb.selectionStart)
  948. }
  949. }
  950.  
  951. function lb() {
  952. this.Ve = null;
  953. var a = this;
  954. this.f = t.za(lb.H);
  955. var b = t.ya(this.f);
  956. b.get("cancel").onclick = function() {
  957. y.i(a.mb)
  958. };
  959. this.Xg = b.get("change");
  960. this.Xg.disabled = !0;
  961. this.Xg.onclick = function() {
  962. null != a.Ve && a.ll(a.Ve.index)
  963. };
  964. b = b.get("list");
  965. this.Ph(b);
  966. var c = Ba.Hf(b);
  967. window.setTimeout(function() {
  968. c.update()
  969. }, 0)
  970. }
  971.  
  972. function Ea() {
  973. this.Df = !1;
  974. this.o = "";
  975. this.Vg = 0;
  976. this.qf = "";
  977. this.hb = new ja;
  978. var a = window.document.createElement("canvas");
  979. a.width = 64;
  980. a.height = 64;
  981. this.nb = a.getContext("2d", null);
  982. this.aj = this.nb.createPattern(this.nb.canvas, "no-repeat");
  983. this.rn()
  984. }
  985.  
  986. function Lb() {
  987. this.pc = 0;
  988. this.Ya = [];
  989. this.Mq = new P(["Time is", "Up!"], 16777215);
  990. this.Tp = new P(["Red is", "Victorious!"],
  991. 15035990);
  992. this.Sp = new P(["Red", "Scores!"], 15035990);
  993. this.Nm = new P(["Blue is", "Victorious!"], 625603);
  994. this.Mm = new P(["Blue", "Scores!"], 625603);
  995. this.np = new P(["Game", "Paused"], 16777215)
  996. }
  997.  
  998. function P(a, b) {
  999. for (var c = [], d = 0; d < a.length;) c.push(this.Bo(a[d++], b));
  1000. this.De = c
  1001. }
  1002.  
  1003. function N() {
  1004. this.Mc = window.performance.now();
  1005. this.mg = new Map;
  1006. this.Sc = new Map;
  1007. this.cg = 1;
  1008. this.af = 35;
  1009. this.Qe = 0;
  1010. this.Re = 1.5;
  1011. this.ab = new L(0, 0);
  1012. this.Tj = !1;
  1013. this.ed = new Lb;
  1014. this.ja = window.document.createElement("canvas");
  1015. this.ja.mozOpaque = !0;
  1016. this.c =
  1017. this.ja.getContext("2d", {
  1018. alpha: !1
  1019. });
  1020. this.Un = this.c.createPattern(m.Tn, null);
  1021. this.hn = this.c.createPattern(m.gn, null);
  1022. this.fn = this.c.createPattern(m.en, null)
  1023. }
  1024.  
  1025. function z() {
  1026. this.fd = 0;
  1027. this.B = 32;
  1028. this.h = -1;
  1029. this.l = 1;
  1030. this.a = new L(0, 0)
  1031. }
  1032.  
  1033. function C() {
  1034. this.kg = this.lg = this.sa = null;
  1035. this.pj = 0;
  1036. this.V = this.P = this.Fd = null;
  1037. this.vc = 0;
  1038. this.l = 1;
  1039. this.h = -1;
  1040. this.B = 32;
  1041. this.sb = 1 / 0;
  1042. this.Va = !0;
  1043. this.X = 0
  1044. }
  1045.  
  1046. function I() {
  1047. this.B = 32;
  1048. this.h = -1;
  1049. this.l = 1;
  1050. this.Oa = 0;
  1051. this.sa = new L(0, 0)
  1052. }
  1053.  
  1054. function Fa() {
  1055. this.Yb = -1;
  1056. this.Xb = null;
  1057. this.J = []
  1058. }
  1059.  
  1060. function X() {
  1061. this.Yb = -1;
  1062. this.Xb = null;
  1063. this.yk = 0;
  1064. this.h = this.B = -1;
  1065. this.ej = 0;
  1066. this.X = 16777215;
  1067. this.Aa = .99;
  1068. this.pa = 1;
  1069. this.l = .5;
  1070. this.la = 10;
  1071. this.M = new L(0, 0);
  1072. this.a = new L(0, 0)
  1073. }
  1074.  
  1075. function ka() {
  1076. this.ia = 0
  1077. }
  1078.  
  1079. function Ka() {
  1080. this.ia = 0
  1081. }
  1082.  
  1083. function La() {
  1084. this.ia = 0
  1085. }
  1086.  
  1087. function Y() {
  1088. this.tg = !1;
  1089. this.ia = 0
  1090. }
  1091.  
  1092. function dc() {}
  1093.  
  1094. function la() {
  1095. this.ia = 0
  1096. }
  1097.  
  1098. function Ga() {
  1099. this.ia = 0
  1100. }
  1101.  
  1102. function Ma() {
  1103. this.ia = 0
  1104. }
  1105.  
  1106. function Na() {
  1107. this.ia = 0
  1108. }
  1109.  
  1110. function ma() {
  1111. this.ia = 0
  1112. }
  1113.  
  1114. function na() {
  1115. this.ia = 0
  1116. }
  1117.  
  1118. function Oa() {
  1119. this.ia = 0
  1120. }
  1121.  
  1122. function oa() {
  1123. this.ia = 0
  1124. }
  1125.  
  1126. function Q() {
  1127. this.ia = 0
  1128. }
  1129.  
  1130. function pa() {
  1131. this.ia =
  1132. 0
  1133. }
  1134.  
  1135. function qa() {
  1136. this.ia = 0
  1137. }
  1138.  
  1139. function da() {
  1140. this.ia = 0
  1141. }
  1142.  
  1143. function Pa() {
  1144. this.ia = 0
  1145. }
  1146.  
  1147. function ra() {
  1148. this.ia = 0
  1149. }
  1150.  
  1151. function ea() {
  1152. this.sc = -1;
  1153. this.km = null;
  1154. this.$ = p.Ea;
  1155. this.D = null;
  1156. this.bc = !1;
  1157. this.lb = this.S = 0;
  1158. this.o = "Player";
  1159. this.xg = this.vb = 0;
  1160. this.ud = null;
  1161. this.vd = !1;
  1162. this.jb = null;
  1163. this.Cb = 0;
  1164. this.ra = !1
  1165. }
  1166.  
  1167. function fa() {
  1168. this.Yb = -1;
  1169. this.T = this.Xb = null;
  1170. this.fb = this.xa = 3;
  1171. this.Fc = !1;
  1172. this.G = null;
  1173. this.F = [];
  1174. this.$b = "";
  1175. this.T = h.mh()[0];
  1176. this.hb = [null, new ja, new ja];
  1177. this.hb[1].bb.push(p.ba.X);
  1178. this.hb[2].bb.push(p.ta.X)
  1179. }
  1180.  
  1181. function p(a, b,
  1182. c, d, e, f, g, n) {
  1183. this.Tf = null;
  1184. this.U = a;
  1185. this.X = b;
  1186. this.eh = c;
  1187. this.no = d;
  1188. this.o = e;
  1189. this.tn = f;
  1190. this.B = n;
  1191. this.Gl = new ja;
  1192. this.Gl.bb.push(b)
  1193. }
  1194.  
  1195. function ja() {
  1196. this.Tc = 16777215;
  1197. this.bb = []
  1198. }
  1199.  
  1200. function h() {
  1201. this.C = [];
  1202. this.O = [];
  1203. this.ha = [];
  1204. this.kc = [];
  1205. this.J = [];
  1206. this.Od = new xb;
  1207. this.me = this.Dh();
  1208. this.dh = 255;
  1209. this.oe = this.Fe = 0;
  1210. this.sf = !0
  1211. }
  1212.  
  1213. function ub(a) {
  1214. this.Go = a
  1215. }
  1216.  
  1217. function xb() {
  1218. this.pa = this.l = .5;
  1219. this.Aa = .96;
  1220. this.ke = .1;
  1221. this.Ae = .07;
  1222. this.Be = .96;
  1223. this.Id = 5
  1224. }
  1225.  
  1226. function mb() {
  1227. this.Xd = p.Ea;
  1228. this.V = new L(0, 0);
  1229. this.P = new L(0, 0)
  1230. }
  1231.  
  1232. function sa() {
  1233. this.Yb = -1;
  1234. this.Xb = null;
  1235. this.Jb = this.Db = this.zc = this.Fa = 0;
  1236. this.kd = new L(0, 0);
  1237. this.Hd = p.ba;
  1238. this.ec = this.nc = this.xb = 0;
  1239. this.wa = new Fa;
  1240. this.xa = 0;
  1241. this.fb = 5;
  1242. this.T = null
  1243. }
  1244.  
  1245. function ta() {
  1246. this.h = this.B = -1;
  1247. this.X = 16777215;
  1248. this.Aa = .99;
  1249. this.pa = 1;
  1250. this.l = .5;
  1251. this.la = 10;
  1252. this.M = new L(0, 0);
  1253. this.a = new L(0, 0)
  1254. }
  1255.  
  1256. function Mb(a, b) {
  1257. this.Ig = null;
  1258. this.Vr = .025;
  1259. this.ce = this.Fg = this.jf = 0;
  1260. this.wg = b.createGain();
  1261. this.wg.gain.value = 0;
  1262. var c = b.createBufferSource();
  1263. c.buffer = a;
  1264. c.connect(this.wg);
  1265. c.loop = !0;
  1266. c.start()
  1267. }
  1268.  
  1269. function Nb(a) {
  1270. function b(b) {
  1271. return new Promise(function(d,
  1272. f) {
  1273. var e = a.file(b).asArrayBuffer();
  1274. return c.c.decodeAudioData(e, d, f)
  1275. })
  1276. }
  1277. var c = this;
  1278. this.c = new AudioContext;
  1279. this.Gf = this.c.createGain();
  1280. this.tl(m.s.zl.I() ? 1 : 0);
  1281. this.Gf.connect(this.c.destination);
  1282. this.An = Promise.all([b("sounds/chat.ogg").then(function(a) {
  1283. return c.Um = a
  1284. }), b("sounds/highlight.wav").then(function(a) {
  1285. return c.eo = a
  1286. }), b("sounds/kick.ogg").then(function(a) {
  1287. return c.mo = a
  1288. }), b("sounds/goal.ogg").then(function(a) {
  1289. return c.Rn = a
  1290. }), b("sounds/join.ogg").then(function(a) {
  1291. return c.lo = a
  1292. }), b("sounds/leave.ogg").then(function(a) {
  1293. return c.oo =
  1294. a
  1295. }), b("sounds/crowd.ogg").then(function(a) {
  1296. c.sn = a;
  1297. c.oj = new Mb(c.sn, c.c);
  1298. c.oj.connect(c.Gf)
  1299. })])
  1300. }
  1301.  
  1302. function Z() {}
  1303.  
  1304. function ua() {}
  1305.  
  1306. function yb() {}
  1307.  
  1308. function Ob(a) {
  1309. this.Mc = window.performance.now();
  1310. this.dd = this.le = 0;
  1311. var b = this;
  1312. this.va = a;
  1313. this.j = new ia(a.lc);
  1314. var c = new zb(this.j);
  1315. c.Th(a.L);
  1316. window.document.addEventListener("keydown", F(this, this.nd));
  1317. window.document.addEventListener("keyup", F(this, this.od));
  1318. window.requestAnimationFrame(F(this, this.Je));
  1319. this.ih = window.setInterval(function() {
  1320. b.j.Wd.sl(b.dd);
  1321. b.dd = 0
  1322. },
  1323. 1E3);
  1324. this.Ye(m.s.Nb.I());
  1325. this.j.f.classList.add("replayer");
  1326. this.Rd = new ga(a);
  1327. this.Rd.ep = function() {
  1328. c.Xq(a.L)
  1329. };
  1330. this.Rd.cp = function() {
  1331. b.j.Ud(null == a.L.G);
  1332. c.Th(a.L)
  1333. };
  1334. this.Rd.sk = function() {
  1335. b.j.Ab.zb.jq()
  1336. };
  1337. this.j.f.appendChild(this.Rd.f)
  1338. }
  1339.  
  1340. function w() {}
  1341.  
  1342. function v() {}
  1343.  
  1344. function Pb() {}
  1345.  
  1346. function m() {}
  1347.  
  1348. function U() {
  1349. this.Lc = new Map
  1350. }
  1351.  
  1352. function va(a, b, c, d) {
  1353. this.o = a;
  1354. this.gr = d;
  1355. this.Bh = b;
  1356. d = null;
  1357. null != b && (d = b.getItem(a));
  1358. this.Rl = c(d)
  1359. }
  1360.  
  1361. function Qb() {}
  1362.  
  1363. function Rb() {
  1364. function a(a) {
  1365. return new va(a, e, function(a) {
  1366. if (null == a) return null;
  1367. try {
  1368. return R.jh(a)
  1369. } catch (n) {
  1370. return null
  1371. }
  1372. }, function(a) {
  1373. if (null == a) return null;
  1374. try {
  1375. return a.$d()
  1376. } catch (n) {
  1377. return null
  1378. }
  1379. })
  1380. }
  1381.  
  1382. function b(a) {
  1383. return new va(a, e, function(a) {
  1384. return null != a ? "0" != a : !0
  1385. }, function(a) {
  1386. return a ? "1" : "0"
  1387. })
  1388. }
  1389.  
  1390. function c(a, b) {
  1391. return new va(a, e, function(a) {
  1392. var c = b;
  1393. try {
  1394. null != a && (c = K.parseInt(a))
  1395. } catch (J) {}
  1396. return c
  1397. }, function(a) {
  1398. return "" + a
  1399. })
  1400. }
  1401.  
  1402. function d(a, b, c) {
  1403. return new va(a, e, function(a) {
  1404. return null == a ? b : aa.td(a, c)
  1405. }, function(a) {
  1406. return a
  1407. })
  1408. }
  1409. var e = Qb.am();
  1410. this.Nd = d("player_name", "", 25);
  1411. this.Nb =
  1412. c("view_mode", -1);
  1413. this.hh = c("fps_limit", 0);
  1414. this.Tg = d("avatar", null, 2);
  1415. this.Mp = d("rctoken", null, 1024);
  1416. this.Hl = b("team_colors");
  1417. this.Qj = b("show_indicators");
  1418. this.zl = b("sound_main");
  1419. this.wl = b("sound_chat");
  1420. this.yl = b("sound_highlight");
  1421. this.xl = b("sound_crowd");
  1422. this.Zi = d("player_auth_key", null, 1024);
  1423. this.cd = c("extrapolation", 0);
  1424. this.fl = function(a, b) {
  1425. return new va(a, e, function(a) {
  1426. var c = b;
  1427. try {
  1428. null != a && (c = parseFloat(a))
  1429. } catch (J) {}
  1430. return c
  1431. }, function(a) {
  1432. return "" + a
  1433. })
  1434. }("resolution_scale", 1);
  1435. this.ve = a("geo");
  1436. this.we = a("geo_override");
  1437. this.Wf = function() {
  1438. return new va("player_keys", e, function(a) {
  1439. if (null == a) return U.rj();
  1440. try {
  1441. return U.jh(a)
  1442. } catch (g) {
  1443. return U.rj()
  1444. }
  1445. }, function(a) {
  1446. try {
  1447. return a.$d()
  1448. } catch (g) {
  1449. return null
  1450. }
  1451. })
  1452. }()
  1453. }
  1454.  
  1455. function R() {
  1456. this.rb = "";
  1457. this.xc = this.yc = 0
  1458. }
  1459.  
  1460. function Qa() {
  1461. this.Gd = this.Ef = 0;
  1462. window.document.addEventListener("focusout", F(this, this.nk))
  1463. }
  1464.  
  1465. function zb(a, b) {
  1466. this.th = null;
  1467. this.j = a;
  1468. null != b && (this.th = "@" + H.replace(b, " ", "_"))
  1469. }
  1470.  
  1471. function ca(a) {
  1472. this.uf = null;
  1473. this.Xj = this.ah = !1;
  1474. this.Mc = window.performance.now();
  1475. this.pd = null;
  1476. this.le = 0;
  1477. this.Vm = new nb(3, 1E3);
  1478. this.lb = new Qa;
  1479. this.eg = "Waiting for link";
  1480. this.Zh = this.nl = !1;
  1481. this.dd = 0;
  1482. var b = this;
  1483. this.Yg = new ob(a, function(a) {
  1484. b.j.Ua.Gb(a)
  1485. });
  1486. this.va = a;
  1487. a.L.vn = function(c) {
  1488. b.nl != c && (b.nl = c, c = ra.na(c), a.ma(c))
  1489. };
  1490. this.j = new ia(a.lc);
  1491. this.kh = new zb(this.j, a.L.ka(a.lc).o);
  1492. this.kh.Th(a.L);
  1493. this.j.Ua.tk = F(this, this.Po);
  1494. this.j.Ua.Mf = F(this, this.Oo);
  1495. window.document.addEventListener("keydown", F(this, this.nd));
  1496. window.document.addEventListener("keyup", F(this, this.od));
  1497. window.onbeforeunload =
  1498. function() {
  1499. return "Are you sure you want to leave the room?"
  1500. };
  1501. this.lb.Rf = function(b) {
  1502. a.ma(b)
  1503. };
  1504. this.j.Qa.kp = function(b) {
  1505. b = da.na(1, b);
  1506. a.ma(b)
  1507. };
  1508. this.j.Qa.bp = function(b) {
  1509. b = da.na(0, b);
  1510. a.ma(b)
  1511. };
  1512. this.j.Sf = function(b) {
  1513. b = oa.na(b);
  1514. a.ma(b)
  1515. };
  1516. this.j.Qa.hp = function() {
  1517. a.ma(new La)
  1518. };
  1519. this.j.Qa.ip = function() {
  1520. a.ma(new Ka)
  1521. };
  1522. this.j.Qa.Vo = function() {
  1523. b.Ll()
  1524. };
  1525. this.j.Qa.Qf = function(b, c) {
  1526. var d = Q.na(b, c);
  1527. a.ma(d)
  1528. };
  1529. this.j.Qa.Ld = F(this, this.iq);
  1530. this.j.Qa.Mo = function() {
  1531. a.ma(new Pa)
  1532. };
  1533. this.j.Qa.Yo = function() {
  1534. ca.Lp(a)
  1535. };
  1536. this.j.Qa.jp =
  1537. function(b) {
  1538. b = na.na(b);
  1539. a.ma(b)
  1540. };
  1541. this.j.Qa.Ne = function(c) {
  1542. var d = a.L.ka(c);
  1543. if (null != d) {
  1544. var e = new bb(d, b.Zh);
  1545. e.mb = function() {
  1546. b.j.$a(null)
  1547. };
  1548. e.Lo = function(b, c) {
  1549. var d = qa.na(b, c);
  1550. a.ma(d)
  1551. };
  1552. e.Jh = function() {
  1553. b.Hq(d)
  1554. };
  1555. b.j.$a(e.f, function() {
  1556. e.v(a.L, b.Zh)
  1557. })
  1558. }
  1559. };
  1560. this.j.Qa.fp = function() {
  1561. var a = new $a;
  1562. a.mb = function() {
  1563. b.j.$a(null)
  1564. };
  1565. b.j.$a(a.f, function() {
  1566. a.zq(b.eg)
  1567. })
  1568. };
  1569. this.j.Qa.Zo = function() {
  1570. if (null == b.pd) b.Lq();
  1571. else {
  1572. var a = b.pd.stop();
  1573. b.pd = null;
  1574. ca.kl(a)
  1575. }
  1576. b.j.Qa.Dq(null != b.pd)
  1577. };
  1578. window.requestAnimationFrame(F(this, this.Je));
  1579. this.ih = window.setInterval(function() {
  1580. b.j.Wd.sl(b.dd);
  1581. b.dd = 0
  1582. }, 1E3);
  1583. this.br = window.setInterval(function() {
  1584. a.v()
  1585. }, 50);
  1586. this.Ye();
  1587. var c = m.s.cd.I();
  1588. if (0 != c) {
  1589. var d = m.s.cd.I();
  1590. a.rl(d);
  1591. this.j.Ua.Gb("Extrapolation set to " + c + " msec")
  1592. }
  1593. }
  1594.  
  1595. function Ha() {}
  1596.  
  1597. function ob(a, b) {
  1598. this.va = a;
  1599. this.fa = b
  1600. }
  1601.  
  1602. function Ab() {}
  1603.  
  1604. function nb(a, b) {
  1605. this.fj = a;
  1606. this.si = b;
  1607. this.dc = a;
  1608. this.Ce = window.performance.now()
  1609. }
  1610.  
  1611. function Sb() {}
  1612.  
  1613. function vb() {}
  1614.  
  1615. function ha() {}
  1616.  
  1617. function x() {}
  1618.  
  1619. function y() {}
  1620.  
  1621. function M() {}
  1622.  
  1623. function L(a, b) {
  1624. this.x = a;
  1625. this.y = b
  1626. }
  1627.  
  1628. function Bb(a) {
  1629. this.Qb =
  1630. a.slice()
  1631. }
  1632.  
  1633. function Cb(a, b, c) {
  1634. this.ik = [];
  1635. this.Ek = 5;
  1636. this.qd = -1;
  1637. this.Lf = this.Kb = this.yh = this.Jj = 0;
  1638. S.call(this, b);
  1639. a = new D(new DataView(a.buffer), !1);
  1640. if (1212305970 != a.eb()) throw new r("");
  1641. b = a.eb();
  1642. if (c != b) throw new r(new Db(b));
  1643. this.Te = a.eb();
  1644. c = pako.inflateRaw(a.ob());
  1645. this.Bc = new D(new DataView(c.buffer, c.byteOffset, c.byteLength));
  1646. this.Op(this.Bc);
  1647. c = this.Bc.ob();
  1648. this.Bc = new D(new DataView(c.buffer, c.byteOffset, c.byteLength), !1);
  1649. this.Wh();
  1650. this.yh = window.performance.now();
  1651. this.lc = -1
  1652. }
  1653.  
  1654. function Db(a) {
  1655. this.sd =
  1656. a
  1657. }
  1658.  
  1659. function Tb() {}
  1660.  
  1661. function Ub(a) {
  1662. this.Qi = new Map;
  1663. this.Qn = new nb(100, 16);
  1664. this.ag = !1;
  1665. this.vb = 0;
  1666. this.ga = a;
  1667. a = u.ca(8);
  1668. a.w(Math.random());
  1669. this.pe = a.Mb()
  1670. }
  1671.  
  1672. function Eb(a) {
  1673. this.cj = new Map;
  1674. this.Bb = null;
  1675. this.Jf = 32;
  1676. this.qe = new Map;
  1677. this.Sb = [];
  1678. this.Yh = 4;
  1679. this.Ym = 600;
  1680. var b = this;
  1681. S.call(this, a.state);
  1682. this.Co = a.Fi;
  1683. this.dr = a.version;
  1684. this.Do = 1;
  1685. this.Yj = this.lc = 0;
  1686. this.ki = window.performance.now();
  1687. this.Pc = new Ra(this.Co, a.iceServers, Tb.Wl, a.pm);
  1688. this.Pc.mj = F(this, this.Xn);
  1689. this.Pc.pk = function(a) {
  1690. b.Uo(a)
  1691. };
  1692. this.Pc.Of = function(a) {
  1693. x.i(b.Of,
  1694. a)
  1695. };
  1696. this.Pc.Me = function(a, d) {
  1697. null != b.Me && b.Me(a, d)
  1698. }
  1699. }
  1700.  
  1701. function wa(a, b) {
  1702. this.ei = [];
  1703. this.Sh = [];
  1704. this.Xf = new Ia;
  1705. this.Jo = 1;
  1706. this.ad = this.Jl = 0;
  1707. this.pi = new Fb(50);
  1708. this.Vf = new Fb(50);
  1709. this.ym = 1E3;
  1710. this.wj = "";
  1711. var c = this;
  1712. S.call(this, b.state);
  1713. this.wh = b.Yr;
  1714. this.se = b.qr;
  1715. var d = null,
  1716. d = function(e) {
  1717. c.Xe(0);
  1718. var f = u.ca();
  1719. f.qc(b.version);
  1720. f.Pb(b.password);
  1721. c.gc = new pb(b.Fi, b.iceServers, a, Tb.Wl, f, b.pm);
  1722. c.gc.Sg = e;
  1723. c.gc.ld = function(a) {
  1724. c.gc = null;
  1725. c.ga = a;
  1726. a.Pf = function(a) {
  1727. a = new D(new DataView(a));
  1728. c.Ep(a)
  1729. };
  1730. a.Ke = function() {
  1731. 3 != c.ad &&
  1732. x.i(c.Le, Gb.Kg("Connection closed"));
  1733. c.da()
  1734. };
  1735. a = window.setTimeout(function() {
  1736. x.i(c.Le, Gb.Kg("Game state timeout"));
  1737. c.da()
  1738. }, 1E4);
  1739. c.Yd = a;
  1740. c.Xe(2)
  1741. };
  1742. c.gc.uk = function() {
  1743. c.Xe(1)
  1744. };
  1745. var g = !1;
  1746. c.gc.lk = function() {
  1747. return g = !0
  1748. };
  1749. c.gc.Qc = function(a) {
  1750. if (!e && 1 == c.ad && g) y.i(c.ap), d(!0);
  1751. else {
  1752. var b = pb.Mn(a);
  1753. switch (a.ub) {
  1754. case 1:
  1755. a = Gb.Mg(a.code);
  1756. break;
  1757. case 2:
  1758. a = Gb.Jg;
  1759. break;
  1760. default:
  1761. a = Gb.Kg(b)
  1762. }
  1763. x.i(c.Le, a);
  1764. c.da(b)
  1765. }
  1766. }
  1767. };
  1768. d(null != b.nm && b.nm)
  1769. }
  1770.  
  1771. function S(a) {
  1772. this.ri = new Ia;
  1773. this.ae = this.Ub = 0;
  1774. this.Td = new Ia;
  1775. this.lc = this.Tb = this.cd = 0;
  1776. this.tc =
  1777. .06;
  1778. this.Ng = 16.666666666666668;
  1779. this.kf = 120;
  1780. qb.call(this, a)
  1781. }
  1782.  
  1783. function xa() {}
  1784.  
  1785. function rb() {}
  1786.  
  1787. function Vb(a, b) {
  1788. this.hm = 0;
  1789. this.version = 1;
  1790. this.Dg = 0;
  1791. this.xd = u.ca(1E3);
  1792. this.hf = u.ca(16384);
  1793. var c = this;
  1794. this.version = b;
  1795. var d = this.Dg = a.R;
  1796. this.Ei = a;
  1797. a.L.aa(this.hf);
  1798. a.Wb = function(b) {
  1799. var e = a.R;
  1800. c.hf.ib(e - d);
  1801. d = e;
  1802. c.hf.qc(b.oa);
  1803. l.Ii(b, c.hf)
  1804. };
  1805. this.xd.qc(0);
  1806. var e = this.Dg;
  1807. a.L.ul(function(b) {
  1808. var d = a.R;
  1809. c.xd.ib(d - e);
  1810. c.xd.u(b);
  1811. c.hm++;
  1812. e = d
  1813. })
  1814. }
  1815.  
  1816. function Wb() {}
  1817.  
  1818. function Fb(a) {
  1819. this.Dr = a;
  1820. this.Wa = []
  1821. }
  1822.  
  1823. function Xb() {}
  1824.  
  1825. function Sa() {
  1826. this.ia =
  1827. 0
  1828. }
  1829.  
  1830. function qb(a) {
  1831. this.R = 0;
  1832. this.L = a
  1833. }
  1834.  
  1835. function Ia() {
  1836. this.list = []
  1837. }
  1838.  
  1839. function l() {
  1840. this.ia = 0
  1841. }
  1842.  
  1843. function ec() {}
  1844.  
  1845. function sb() {}
  1846.  
  1847. function t() {}
  1848.  
  1849. function wb(a, b) {
  1850. this.Ba = a;
  1851. this.value = b;
  1852. a.textContent = "" + b
  1853. }
  1854.  
  1855. function Ca() {}
  1856.  
  1857. function fc() {}
  1858.  
  1859. function Ba() {}
  1860.  
  1861. function Ja() {}
  1862.  
  1863. function G() {}
  1864.  
  1865. function u(a, b) {
  1866. null == b && (b = !1);
  1867. this.m = a;
  1868. this.Ia = b;
  1869. this.a = 0
  1870. }
  1871.  
  1872. function D(a, b) {
  1873. null == b && (b = !1);
  1874. this.m = a;
  1875. this.Ia = b;
  1876. this.a = 0
  1877. }
  1878.  
  1879. function Hb(a) {
  1880. this.Vc = null;
  1881. this.Rp = 1E4;
  1882. this.hd = !0;
  1883. var b = this;
  1884. a.kj();
  1885. this.Ha = a.Ha;
  1886. this.Ic = a.Ic;
  1887. this.Vd = a.Vd;
  1888. this.Vc = a.Vc;
  1889. this.Il = window.performance.now();
  1890. var c = null,
  1891. c = function() {
  1892. var a = b.Rp - b.Nq();
  1893. 0 >= a ? b.da() : (window.clearTimeout(b.Kl), a = window.setTimeout(c, a + 1E3), b.Kl = a)
  1894. };
  1895. c();
  1896. this.Ha.oniceconnectionstatechange = function() {
  1897. var a = b.Ha.iceConnectionState;
  1898. "closed" != a && "failed" != a || b.da()
  1899. };
  1900. a = 0;
  1901. for (var d = this.Ic; a < d.length;) {
  1902. var e = d[a];
  1903. ++a;
  1904. e.onmessage = function(a) {
  1905. b.hd && (b.Il = window.performance.now(), null != b.Pf && b.Pf(a.data))
  1906. };
  1907. e.onclose = function() {
  1908. b.da()
  1909. }
  1910. }
  1911. }
  1912.  
  1913. function gc() {}
  1914.  
  1915. function Ra(a, b, c, d) {
  1916. this.Ug = new Set;
  1917. this.pf = new Set;
  1918. this.dg = !1;
  1919. this.Cc = null;
  1920. this.U = "";
  1921. this.mq = 5E4;
  1922. this.lq = 1E4;
  1923. this.$c = new Map;
  1924. this.Jq = a;
  1925. this.Bf = b;
  1926. this.Tm = c;
  1927. this.gg = d;
  1928. null == this.gg && (this.gg = "");
  1929. this.ii()
  1930. }
  1931.  
  1932. function Ta(a, b, c) {
  1933. this.Vc = this.Yd = null;
  1934. this.Vd = [];
  1935. this.sj = 0;
  1936. this.wk = !1;
  1937. this.Af = [];
  1938. this.Ic = [];
  1939. var d = this;
  1940. this.Ha = new RTCPeerConnection({
  1941. iceServers: b
  1942. }, Ta.kn);
  1943. this.uh = new Promise(function(a) {
  1944. d.fo = a
  1945. });
  1946. this.Ha.onicecandidate = function(a) {
  1947. null == a.candidate ? d.fo(d.Af) : (a = a.candidate, null != d.Nf && d.Nf(a), d.Af.push(a))
  1948. };
  1949. for (b = 0; b < c.length;) this.pn(c[b++]);
  1950. this.U =
  1951. a
  1952. }
  1953.  
  1954. function pb(a, b, c, d, e, f) {
  1955. this.Sg = this.$g = !1;
  1956. var g = this;
  1957. this.ga = new Ta(0, b, d);
  1958. this.ga.Qc = function() {
  1959. g.xe(Ib.sm)
  1960. };
  1961. this.ga.ld = function() {
  1962. null != g.ld && g.ld(new Hb(g.ga));
  1963. g.ga = null;
  1964. g.lj()
  1965. };
  1966. this.ga.Ih = function(b) {
  1967. g.wq = b;
  1968. g.Y = new WebSocket(a + "client?id=" + c + (null == f ? "" : "&token=" + f));
  1969. g.Y.binaryType = "arraybuffer";
  1970. g.Y.onclose = function(a) {
  1971. g.$g || g.xe(Ib.Mg(a.code))
  1972. };
  1973. g.Y.onerror = function() {
  1974. g.$g || g.xe(Ib.Error)
  1975. };
  1976. g.Y.onmessage = F(g, g.rh);
  1977. g.Y.onopen = function() {
  1978. null != g.uk && g.uk();
  1979. g.ga.li();
  1980. g.ci(g.wq, g.ga.Af, e);
  1981. g.ga.Nf =
  1982. F(g, g.$h);
  1983. g.ga.uh.then(function() {
  1984. g.Dc(0, null)
  1985. })
  1986. }
  1987. };
  1988. this.ga.qn()
  1989. }
  1990.  
  1991. function Yb() {
  1992. this.hash = 0
  1993. }
  1994.  
  1995. function aa() {}
  1996.  
  1997. function H() {}
  1998.  
  1999. function K() {}
  2000.  
  2001. function Zb() {}
  2002.  
  2003. function B() {}
  2004.  
  2005. function $b(a, b) {
  2006. this.r = new RegExp(a, b.split("u").join(""))
  2007. }
  2008.  
  2009. function ya() {
  2010. return q.je(this, "")
  2011. }
  2012.  
  2013. function E(a, b) {
  2014. var c = Object.create(a),
  2015. d;
  2016. for (d in b) c[d] = b[d];
  2017. b.toString !== Object.prototype.toString && (c.toString = b.toString);
  2018. return c
  2019. }
  2020.  
  2021. function F(a, b) {
  2022. if (null == b) return null;
  2023. null == b.Pg && (b.Pg = lc++);
  2024. var c;
  2025. null == a.Bi ? a.Bi = {} : c = a.Bi[b.Pg];
  2026. null == c &&
  2027. (c = b.bind(a), a.Bi[b.Pg] = c);
  2028. return c
  2029. }
  2030. var tb = tb || {},
  2031. V;
  2032. $b.b = !0;
  2033. $b.prototype = {
  2034. match: function(a) {
  2035. this.r.global && (this.r.lastIndex = 0);
  2036. this.r.cc = this.r.exec(a);
  2037. this.r.Eg = a;
  2038. return null != this.r.cc
  2039. },
  2040. gm: function(a) {
  2041. if (null != this.r.cc && 0 <= a && a < this.r.cc.length) return this.r.cc[a];
  2042. throw new r("EReg::matched");
  2043. },
  2044. Br: function() {
  2045. if (null == this.r.cc) throw new r("No string matched");
  2046. return {
  2047. Ji: this.r.cc.index,
  2048. yr: this.r.cc[0].length
  2049. }
  2050. },
  2051. Ar: function(a, b, c) {
  2052. null == c && (c = -1);
  2053. if (this.r.global) {
  2054. this.r.lastIndex = b;
  2055. this.r.cc = this.r.exec(0 >
  2056. c ? a : B.substr(a, 0, b + c));
  2057. if (b = null != this.r.cc) this.r.Eg = a;
  2058. return b
  2059. }
  2060. if (c = this.match(0 > c ? B.substr(a, b, null) : B.substr(a, b, c))) this.r.Eg = a, this.r.cc.index += b;
  2061. return c
  2062. },
  2063. g: $b
  2064. };
  2065. B.b = !0;
  2066. B.yi = function(a, b) {
  2067. var c = a.charCodeAt(b);
  2068. if (c == c) return c
  2069. };
  2070. B.substr = function(a, b, c) {
  2071. if (null == c) c = a.length;
  2072. else if (0 > c)
  2073. if (0 == b) c = a.length + c;
  2074. else return "";
  2075. return a.substr(b, c)
  2076. };
  2077. B.remove = function(a, b) {
  2078. var c = a.indexOf(b);
  2079. if (-1 == c) return !1;
  2080. a.splice(c, 1);
  2081. return !0
  2082. };
  2083. Math.b = !0;
  2084. Zb.b = !0;
  2085. Zb.Yl = function(a) {
  2086. var b = [];
  2087. if (null != a) {
  2088. var c = Object.prototype.hasOwnProperty,
  2089. d;
  2090. for (d in a) "__id__" != d && "hx__closures__" != d && c.call(a, d) && b.push(d)
  2091. }
  2092. return b
  2093. };
  2094. K.b = !0;
  2095. K.ge = function(a) {
  2096. return q.je(a, "")
  2097. };
  2098. K.parseInt = function(a) {
  2099. a = parseInt(a, !a || "0" != a[0] || "x" != a[1] && "X" != a[1] ? 10 : 16);
  2100. return isNaN(a) ? null : a
  2101. };
  2102. H.b = !0;
  2103. H.startsWith = function(a, b) {
  2104. return a.length >= b.length ? B.substr(a, 0, b.length) == b : !1
  2105. };
  2106. H.xr = function(a, b) {
  2107. var c = B.yi(a, b);
  2108. return 8 < c && 14 > c ? !0 : 32 == c
  2109. };
  2110. H.Sr = function(a) {
  2111. for (var b = a.length, c = 0; c < b && H.xr(a, b - c - 1);) ++c;
  2112. return 0 < c ? B.substr(a, 0, b - c) : a
  2113. };
  2114. H.df = function(a) {
  2115. var b, c = "";
  2116. for (b = 2 - a.length; c.length < b;) c += "0";
  2117. return c + (null == a ? "null" : "" + a)
  2118. };
  2119. H.replace = function(a, b, c) {
  2120. return a.split(b).join(c)
  2121. };
  2122. H.yg = function(a, b) {
  2123. for (var c = ""; c = "0123456789ABCDEF".charAt(a & 15) + c, a >>>= 4, 0 < a;);
  2124. if (null != b)
  2125. for (; c.length < b;) c = "0" + c;
  2126. return c
  2127. };
  2128. aa.b = !0;
  2129. aa.td = function(a, b) {
  2130. return a.length <= b ? a : B.substr(a, 0, b)
  2131. };
  2132. aa.lr = function(a) {
  2133. for (var b = "", c = 0, d = a.byteLength; c < d;) b += H.yg(a[c++], 2);
  2134. return b
  2135. };
  2136. Yb.b = !0;
  2137. Yb.prototype = {
  2138. kr: function(a) {
  2139. for (var b = 0, c = a.length; b < c;) this.hash += a[b++], this.hash += this.hash <<
  2140. 10, this.hash ^= this.hash >>> 6
  2141. },
  2142. g: Yb
  2143. };
  2144. var Ib = tb["bas.basnet.FailReason"] = {
  2145. lf: !0,
  2146. Og: ["PeerFailed", "Rejected", "Cancelled", "Error"],
  2147. sm: {
  2148. ub: 0,
  2149. qb: "bas.basnet.FailReason",
  2150. toString: ya
  2151. },
  2152. Mg: (V = function(a) {
  2153. return {
  2154. ub: 1,
  2155. code: a,
  2156. qb: "bas.basnet.FailReason",
  2157. toString: ya
  2158. }
  2159. }, V.ie = ["code"], V),
  2160. Jg: {
  2161. ub: 2,
  2162. qb: "bas.basnet.FailReason",
  2163. toString: ya
  2164. },
  2165. Error: {
  2166. ub: 3,
  2167. qb: "bas.basnet.FailReason",
  2168. toString: ya
  2169. }
  2170. };
  2171. pb.b = !0;
  2172. pb.Mn = function(a) {
  2173. switch (a.ub) {
  2174. case 0:
  2175. return "Failed";
  2176. case 1:
  2177. return jc.description(a.code);
  2178. case 2:
  2179. return "";
  2180. case 3:
  2181. return "Master connection error"
  2182. }
  2183. };
  2184. pb.prototype = {
  2185. Rm: function() {
  2186. this.xe(Ib.Jg)
  2187. },
  2188. lj: function() {
  2189. null != this.Y && (this.Y.onclose = null, this.Y.onmessage = null, this.Y.onerror = null, this.Y.onopen = null, this.Y.close(), this.Y = null);
  2190. null != this.ga && (this.ga.da(), this.ga = null)
  2191. },
  2192. xe: function(a) {
  2193. null != this.Qc && this.Qc(a);
  2194. this.lj()
  2195. },
  2196. rh: function(a) {
  2197. a = new D(new DataView(a.data));
  2198. var b = a.K();
  2199. 0 < a.m.byteLength - a.a && (a = new D(new DataView(pako.inflateRaw(a.ob()).buffer), !1));
  2200. switch (b) {
  2201. case 1:
  2202. for (var b = a.mc(), c = a.Zf(), d = [], e = 0; e < c.length;) d.push(new RTCIceCandidate(c[e++]));
  2203. this.qh(b, d, a);
  2204. break;
  2205. case 4:
  2206. this.ph(new RTCIceCandidate(a.Zf()))
  2207. }
  2208. },
  2209. qh: function(a, b) {
  2210. var c = this;
  2211. this.ga.li(this.Sg ? 1E4 : 4E3);
  2212. this.$g = !0;
  2213. null != this.lk && this.lk();
  2214. this.ga.Ha.setRemoteDescription(new RTCSessionDescription({
  2215. sdp: a,
  2216. type: "answer"
  2217. }), function() {
  2218. for (var a = 0; a < b.length;) c.ga.Ha.addIceCandidate(b[a++])
  2219. }, function() {
  2220. c.xe(Ib.Error)
  2221. })
  2222. },
  2223. ph: function(a) {
  2224. this.ga.Ha.addIceCandidate(a)
  2225. },
  2226. Dc: function(a, b) {
  2227. if (null != this.Y) {
  2228. var c = u.ca(32, !1);
  2229. c.u(a);
  2230. null != b && c.Ob(pako.deflateRaw(b.Mb()));
  2231. this.Y.send(c.Zd())
  2232. }
  2233. },
  2234. ci: function(a, b, c) {
  2235. var d = u.ca(32, !1);
  2236. d.u(this.Sg ? 1 : 0);
  2237. d.rc(a.sdp);
  2238. d.qg(b);
  2239. null != c && d.Ob(c.Mb());
  2240. this.Dc(1, d)
  2241. },
  2242. $h: function(a) {
  2243. var b = u.ca(32, !1);
  2244. b.qg(a);
  2245. this.Dc(4, b)
  2246. },
  2247. g: pb
  2248. };
  2249. Ta.b = !0;
  2250. Ta.prototype = {
  2251. li: function(a) {
  2252. null == a && (a = 1E4);
  2253. window.clearTimeout(this.Yd);
  2254. this.Yd = window.setTimeout(F(this, this.bo), a)
  2255. },
  2256. on: function(a, b) {
  2257. var c = this;
  2258. this.uj(this.Ha.setRemoteDescription(a).then(function() {
  2259. return c.Ha.createAnswer()
  2260. }), b, 500)
  2261. },
  2262. qn: function() {
  2263. this.uj(this.Ha.createOffer(), [], 1E3)
  2264. },
  2265. uj: function(a, b, c) {
  2266. var d = this;
  2267. a.then(function(a) {
  2268. return d.Ha.setLocalDescription(a).then(function() {
  2269. return a
  2270. })
  2271. }).then(function(a) {
  2272. function e() {
  2273. return a
  2274. }
  2275. for (var g = 0; g < b.length;) d.Ri(b[g++]);
  2276. return ec.Pq(d.uh, c).then(e, e)
  2277. }).then(function(a) {
  2278. d.Ih(a)
  2279. })["catch"](function() {
  2280. d.zf()
  2281. })
  2282. },
  2283. pn: function(a) {
  2284. var b = this,
  2285. c = {
  2286. id: this.Ic.length,
  2287. negotiated: !0,
  2288. ordered: a.Hi
  2289. };
  2290. a.reliable || (c.maxRetransmits = 0);
  2291. a = this.Ha.createDataChannel(a.name, c);
  2292. a.binaryType = "arraybuffer";
  2293. a.onopen = function() {
  2294. for (var a = 0, c = b.Ic; a < c.length;)
  2295. if ("open" != c[a++].readyState) return;
  2296. null != b.ld && b.ld()
  2297. };
  2298. a.onclose = function() {
  2299. b.zf()
  2300. };
  2301. a.onmessage = function() {
  2302. b.zf()
  2303. };
  2304. this.Ic.push(a)
  2305. },
  2306. Ri: function(a) {
  2307. var b = this;
  2308. window.setTimeout(function() {
  2309. return b.Ha.addIceCandidate(a)
  2310. }, this.sj)
  2311. },
  2312. bo: function() {
  2313. this.zf()
  2314. },
  2315. zf: function() {
  2316. null != this.Qc && this.Qc();
  2317. this.da()
  2318. },
  2319. da: function() {
  2320. this.kj();
  2321. this.Ha.close()
  2322. },
  2323. kj: function() {
  2324. window.clearTimeout(this.Yd);
  2325. this.Ih = this.ld = this.Nf = this.Qc = null;
  2326. this.Ha.onicecandidate = null;
  2327. this.Ha.ondatachannel = null;
  2328. this.Ha.onsignalingstatechange = null;
  2329. this.Ha.oniceconnectionstatechange =
  2330. null;
  2331. for (var a = 0, b = this.Ic; a < b.length;) {
  2332. var c = b[a];
  2333. ++a;
  2334. c.onopen = null;
  2335. c.onclose = null;
  2336. c.onmessage = null
  2337. }
  2338. },
  2339. g: Ta
  2340. };
  2341. var ac = tb["bas.basnet.ConnectionRequestResponse"] = {
  2342. lf: !0,
  2343. Og: ["Accept", "Reject"],
  2344. rm: {
  2345. ub: 0,
  2346. qb: "bas.basnet.ConnectionRequestResponse",
  2347. toString: ya
  2348. },
  2349. Lg: (V = function(a) {
  2350. return {
  2351. ub: 1,
  2352. reason: a,
  2353. qb: "bas.basnet.ConnectionRequestResponse",
  2354. toString: ya
  2355. }
  2356. }, V.ie = ["reason"], V)
  2357. };
  2358. Ra.b = !0;
  2359. Ra.Mj = function(a) {
  2360. try {
  2361. var b = gc.Oe(a.candidate);
  2362. if ("srflx" == b.Vq) return b.io
  2363. } catch (c) {}
  2364. return null
  2365. };
  2366. Ra.prototype = {
  2367. da: function() {
  2368. window.clearTimeout(this.hl);
  2369. window.clearTimeout(this.Sd);
  2370. this.Sd = null;
  2371. window.clearInterval(this.Dk);
  2372. this.Y.onmessage = null;
  2373. this.Y.onerror = null;
  2374. this.Y.onclose = null;
  2375. this.Y.onopen = null;
  2376. this.Y.close();
  2377. this.Y = null;
  2378. this.Hj()
  2379. },
  2380. fi: function(a) {
  2381. var b = this;
  2382. if (null != this.Cc || null != a) {
  2383. if (null != this.Cc && null != a && this.Cc.byteLength == a.byteLength) {
  2384. for (var c = new Uint8Array(this.Cc), d = new Uint8Array(a), e = !1, f = 0, g = this.Cc.byteLength; f < g;) {
  2385. var n = f++;
  2386. if (c[n] != d[n]) {
  2387. e = !0;
  2388. break
  2389. }
  2390. }
  2391. if (!e) return
  2392. }
  2393. this.Cc = a.slice(0);
  2394. this.dg = !0;
  2395. null != this.Y && 1 == this.Y.readyState &&
  2396. null == this.Sd && (this.bi(), this.Sd = window.setTimeout(function() {
  2397. b.Sd = null;
  2398. 1 == b.Y.readyState && b.dg && b.bi()
  2399. }, 1E4))
  2400. }
  2401. },
  2402. ii: function(a) {
  2403. function b(a) {
  2404. a = a.sitekey;
  2405. if (null == a) throw new r(null);
  2406. null != d.Me && d.Me(a, function(a) {
  2407. d.ii(a)
  2408. })
  2409. }
  2410.  
  2411. function c(a) {
  2412. var b = a.url;
  2413. if (null == b) throw new r(null);
  2414. a = a.token;
  2415. if (null == a) throw new r(null);
  2416. d.Y = new WebSocket(b + "?token=" + a);
  2417. d.Y.binaryType = "arraybuffer";
  2418. d.Y.onopen = function() {
  2419. d.ao()
  2420. };
  2421. d.Y.onclose = function(a) {
  2422. d.oh(4001 != a.code)
  2423. };
  2424. d.Y.onerror = function() {
  2425. d.oh(!0)
  2426. };
  2427. d.Y.onmessage =
  2428. F(d, d.rh)
  2429. }
  2430. null == a && (a = "");
  2431. var d = this;
  2432. M.wp(this.Jq, "token=" + this.gg + "&rcr=" + a, M.vm).then(function(a) {
  2433. switch (a.action) {
  2434. case "connect":
  2435. c(a);
  2436. break;
  2437. case "recaptcha":
  2438. b(a)
  2439. }
  2440. })["catch"](function() {
  2441. d.oh(!0)
  2442. })
  2443. },
  2444. ao: function() {
  2445. var a = this;
  2446. null != this.Cc && this.bi();
  2447. this.Dk = window.setInterval(function() {
  2448. a.ai()
  2449. }, 4E4)
  2450. },
  2451. rh: function(a) {
  2452. a = new D(new DataView(a.data), !1);
  2453. switch (a.K()) {
  2454. case 1:
  2455. this.qh(a);
  2456. break;
  2457. case 4:
  2458. this.ph(a);
  2459. break;
  2460. case 5:
  2461. this.Wn(a);
  2462. break;
  2463. case 6:
  2464. this.Zn(a)
  2465. }
  2466. },
  2467. qh: function(a) {
  2468. var b = a.eb(),
  2469. c = aa.lr(a.ob(a.K())),
  2470. d, e, f;
  2471. try {
  2472. a = new D(new DataView(pako.inflateRaw(a.ob()).buffer), !1);
  2473. d = 0 != a.K();
  2474. e = a.mc();
  2475. for (var g = a.Zf(), n = [], k = 0; k < g.length;) n.push(new RTCIceCandidate(g[k++]));
  2476. f = n
  2477. } catch (J) {
  2478. this.We(b, 0);
  2479. return
  2480. }
  2481. this.$n(b, c, e, f, a, d)
  2482. },
  2483. $n: function(a, b, c, d, e, f) {
  2484. var g = this;
  2485. if (16 <= this.$c.size) this.We(a, 4104);
  2486. else if (this.Ug.has(b)) this.We(a, 4102);
  2487. else {
  2488. for (var n = [], k = 0; k < d.length;) {
  2489. var J = Ra.Mj(d[k++]);
  2490. if (null != J) {
  2491. if (this.pf.has(J)) {
  2492. this.We(a, 4102);
  2493. return
  2494. }
  2495. n.push(J)
  2496. }
  2497. }
  2498. if (null != this.mj && (k = new D(e.m), k.a = e.a, e = this.mj(b, k),
  2499. 1 == e.ub)) {
  2500. this.We(a, e.reason);
  2501. return
  2502. }
  2503. var h = new Ta(a, this.Bf, this.Tm);
  2504. f && (h.sj = 2500);
  2505. h.Vd = n;
  2506. h.Vc = b;
  2507. this.$c.set(a, h);
  2508. h.Qc = function() {
  2509. g.Dc(0, h, null);
  2510. g.$c["delete"](h.U)
  2511. };
  2512. h.ld = function() {
  2513. g.$c["delete"](h.U);
  2514. g.Dc(0, h, null);
  2515. null != g.pk && g.pk(new Hb(h))
  2516. };
  2517. h.Ih = function(a) {
  2518. g.ci(h, a, h.Af, null);
  2519. h.uh.then(function() {
  2520. g.Dc(0, h, null)
  2521. });
  2522. h.Nf = function(a) {
  2523. g.$h(h, a)
  2524. }
  2525. };
  2526. h.li();
  2527. h.on(new RTCSessionDescription({
  2528. sdp: c,
  2529. type: "offer"
  2530. }), d)
  2531. }
  2532. },
  2533. ph: function(a) {
  2534. var b = a.eb(),
  2535. c;
  2536. try {
  2537. a = new D(new DataView(pako.inflateRaw(a.ob()).buffer),
  2538. !1), c = new RTCIceCandidate(a.Zf())
  2539. } catch (d) {
  2540. return
  2541. }
  2542. this.Vn(b, c)
  2543. },
  2544. Vn: function(a, b) {
  2545. var c = this.$c.get(a);
  2546. if (null != c) {
  2547. var d = Ra.Mj(b);
  2548. if (null != d && (c.Vd.push(d), this.pf.has(d))) return;
  2549. c.Ri(b)
  2550. }
  2551. },
  2552. Wn: function(a) {
  2553. this.U = a.Qd(a.K());
  2554. null != this.Of && this.Of(this.U)
  2555. },
  2556. Zn: function(a) {
  2557. this.gg = a.Qd(a.m.byteLength - a.a)
  2558. },
  2559. Dc: function(a, b, c) {
  2560. if (!b.wk) {
  2561. 0 == a && (b.wk = !0);
  2562. b = b.U;
  2563. var d = u.ca(32, !1);
  2564. d.u(a);
  2565. d.pb(b);
  2566. null != c && d.Ob(pako.deflateRaw(c.Mb()));
  2567. this.Y.send(d.Zd())
  2568. }
  2569. },
  2570. We: function(a, b) {
  2571. var c = u.ca(16, !1);
  2572. c.u(0);
  2573. c.pb(a);
  2574. c.qc(b);
  2575. this.Y.send(c.Zd())
  2576. },
  2577. ai: function() {
  2578. var a = u.ca(1, !1);
  2579. a.u(8);
  2580. this.Y.send(a.Zd())
  2581. },
  2582. bi: function() {
  2583. this.dg = !1;
  2584. var a = u.ca(256, !1);
  2585. a.u(7);
  2586. null != this.Cc && a.pg(this.Cc);
  2587. this.Y.send(a.Zd())
  2588. },
  2589. ci: function(a, b, c, d) {
  2590. var e = u.ca(32, !1);
  2591. e.rc(b.sdp);
  2592. e.qg(c);
  2593. null != d && e.Ob(d.Mb());
  2594. this.Dc(1, a, e)
  2595. },
  2596. $h: function(a, b) {
  2597. var c = u.ca(32, !1);
  2598. c.qg(b);
  2599. this.Dc(4, a, c)
  2600. },
  2601. Hj: function() {
  2602. for (var a = this.$c.values(), b = a.next(); !b.done;) {
  2603. var c = b.value,
  2604. b = a.next();
  2605. c.da()
  2606. }
  2607. this.$c.clear()
  2608. },
  2609. oh: function(a) {
  2610. var b = this;
  2611. this.Hj();
  2612. window.clearTimeout(this.Sd);
  2613. this.Sd = null;
  2614. this.dg = !1;
  2615. window.clearInterval(this.Dk);
  2616. window.clearTimeout(this.hl);
  2617. a && (this.hl = window.setTimeout(function() {
  2618. b.ii()
  2619. }, this.lq + Math.random() * this.mq | 0))
  2620. },
  2621. Km: function(a) {
  2622. for (var b = 0, c = a.Vd; b < c.length;) this.pf.add(c[b++]);
  2623. null != a.Vc && this.Ug.add(a.Vc);
  2624. return {
  2625. cs: a.Vd,
  2626. as: a.Vc
  2627. }
  2628. },
  2629. Dd: function() {
  2630. this.pf.clear();
  2631. this.Ug.clear()
  2632. },
  2633. g: Ra
  2634. };
  2635. gc.b = !0;
  2636. gc.Oe = function(a) {
  2637. a = a.split(" ");
  2638. if ("typ" != a[6]) throw new r(null);
  2639. return {
  2640. Vq: a[7],
  2641. io: a[4]
  2642. }
  2643. };
  2644. Hb.b = !0;
  2645. Hb.prototype = {
  2646. Nq: function() {
  2647. return window.performance.now() -
  2648. this.Il
  2649. },
  2650. Lb: function(a, b) {
  2651. if (this.hd) {
  2652. var c = this.Ic[a];
  2653. if ("open" == c.readyState) {
  2654. var d = b.ng();
  2655. try {
  2656. c.send(d)
  2657. } catch (e) {
  2658. window.console.log(e instanceof r ? e.Na : e)
  2659. }
  2660. }
  2661. }
  2662. },
  2663. da: function() {
  2664. window.clearTimeout(this.Kl);
  2665. this.hd && (this.hd = !1, this.Ha.close(), null != this.Ke && this.Ke())
  2666. },
  2667. g: Hb
  2668. };
  2669. var jc = {
  2670. b: !0,
  2671. description: function(a) {
  2672. switch (a) {
  2673. case 4100:
  2674. return "The room is full.";
  2675. case 4101:
  2676. return "Wrong password.";
  2677. case 4102:
  2678. return "You are banned from this room.";
  2679. case 4103:
  2680. return "Incompatible game version.";
  2681. default:
  2682. return "Connection closed (" +
  2683. a + ")"
  2684. }
  2685. }
  2686. };
  2687. D.b = !0;
  2688. D.un = function(a, b) {
  2689. var c = a.getUint8(b),
  2690. d, e, f, g, n, k = b;
  2691. if (0 == (c & 128)) ++b;
  2692. else if (192 == (c & 224)) d = a.getUint8(b + 1), c = (c & 31) << 6 | d & 63, b += 2;
  2693. else if (224 == (c & 240)) d = a.getUint8(b + 1), e = a.getUint8(b + 2), c = (c & 15) << 12 | (d & 63) << 6 | e & 63, b += 3;
  2694. else if (240 == (c & 248)) d = a.getUint8(b + 1), e = a.getUint8(b + 2), f = a.getUint8(b + 3), c = (c & 7) << 18 | (d & 63) << 12 | (e & 63) << 6 | f & 63, b += 4;
  2695. else if (248 == (c & 252)) d = a.getUint8(b + 1), e = a.getUint8(b + 2), f = a.getUint8(b + 3), g = a.getUint8(b + 4), c = (c & 3) << 24 | (d & 63) << 18 | (e & 63) << 12 | (f & 63) << 6 | g & 63, b +=
  2696. 5;
  2697. else if (252 == (c & 254)) d = a.getUint8(b + 1), e = a.getUint8(b + 2), f = a.getUint8(b + 3), g = a.getUint8(b + 4), n = a.getUint8(b + 5), c = (c & 1) << 30 | (d & 63) << 24 | (e & 63) << 18 | (f & 63) << 12 | (g & 63) << 6 | n & 63, b += 6;
  2698. else throw new r("Cannot decode UTF8 character at offset " + b + ": charCode (" + c + ") is invalid");
  2699. return {
  2700. "char": c,
  2701. length: b - k
  2702. }
  2703. };
  2704. D.prototype = {
  2705. ob: function(a) {
  2706. null == a && (a = this.m.byteLength - this.a);
  2707. if (this.a + a > this.m.byteLength) throw new r("Read too much");
  2708. var b = new Uint8Array(this.m.buffer, this.m.byteOffset + this.a, a);
  2709. this.a += a;
  2710. return b
  2711. },
  2712. Qk: function(a) {
  2713. var b = this.ob(a);
  2714. a = new ArrayBuffer(a);
  2715. (new Uint8Array(a)).set(b);
  2716. return a
  2717. },
  2718. Se: function() {
  2719. return this.m.getInt8(this.a++)
  2720. },
  2721. K: function() {
  2722. return this.m.getUint8(this.a++)
  2723. },
  2724. Np: function() {
  2725. var a = this.m.getInt16(this.a, this.Ia);
  2726. this.a += 2;
  2727. return a
  2728. },
  2729. Zb: function() {
  2730. var a = this.m.getUint16(this.a, this.Ia);
  2731. this.a += 2;
  2732. return a
  2733. },
  2734. W: function() {
  2735. var a = this.m.getInt32(this.a, this.Ia);
  2736. this.a += 4;
  2737. return a
  2738. },
  2739. eb: function() {
  2740. var a = this.m.getUint32(this.a, this.Ia);
  2741. this.a += 4;
  2742. return a
  2743. },
  2744. Rk: function() {
  2745. var a = this.m.getFloat32(this.a,
  2746. this.Ia);
  2747. this.a += 4;
  2748. return a
  2749. },
  2750. A: function() {
  2751. var a = this.m.getFloat64(this.a, this.Ia);
  2752. this.a += 8;
  2753. return a
  2754. },
  2755. wb: function() {
  2756. for (var a = this.a, b = 0, c, d = 0; c = this.m.getUint8(a + b), 5 > b && (d |= (c & 127) << 7 * b >>> 0), ++b, 0 != (c & 128););
  2757. this.a += b;
  2758. return d | 0
  2759. },
  2760. Qd: function(a) {
  2761. var b = this.a,
  2762. c, d = "";
  2763. for (a = b + a; b < a;) c = D.un(this.m, b), b += c.length, d += String.fromCodePoint(c["char"]);
  2764. if (b != a) throw new r("Actual string length differs from the specified: " + (b - a) + " bytes");
  2765. this.a = b;
  2766. return d
  2767. },
  2768. Ib: function() {
  2769. var a = this.wb();
  2770. return 0 >= a ? null : this.Qd(a -
  2771. 1)
  2772. },
  2773. mc: function() {
  2774. return this.Qd(this.wb())
  2775. },
  2776. Tk: function() {
  2777. return this.Qd(this.K())
  2778. },
  2779. Zf: function() {
  2780. var a = this.mc();
  2781. return JSON.parse(a)
  2782. },
  2783. g: D
  2784. };
  2785. u.b = !0;
  2786. u.ca = function(a, b) {
  2787. null == b && (b = !1);
  2788. null == a && (a = 16);
  2789. return new u(new DataView(new ArrayBuffer(a)), b)
  2790. };
  2791. u.Dn = function(a, b, c) {
  2792. var d = c;
  2793. if (0 > a) throw new r("Cannot encode UTF8 character: charCode (" + a + ") is negative");
  2794. if (128 > a) b.setUint8(c, a & 127), ++c;
  2795. else if (2048 > a) b.setUint8(c, a >> 6 & 31 | 192), b.setUint8(c + 1, a & 63 | 128), c += 2;
  2796. else if (65536 > a) b.setUint8(c, a >> 12 & 15 |
  2797. 224), b.setUint8(c + 1, a >> 6 & 63 | 128), b.setUint8(c + 2, a & 63 | 128), c += 3;
  2798. else if (2097152 > a) b.setUint8(c, a >> 18 & 7 | 240), b.setUint8(c + 1, a >> 12 & 63 | 128), b.setUint8(c + 2, a >> 6 & 63 | 128), b.setUint8(c + 3, a & 63 | 128), c += 4;
  2799. else if (67108864 > a) b.setUint8(c, a >> 24 & 3 | 248), b.setUint8(c + 1, a >> 18 & 63 | 128), b.setUint8(c + 2, a >> 12 & 63 | 128), b.setUint8(c + 3, a >> 6 & 63 | 128), b.setUint8(c + 4, a & 63 | 128), c += 5;
  2800. else if (-2147483648 > a) b.setUint8(c, a >> 30 & 1 | 252), b.setUint8(c + 1, a >> 24 & 63 | 128), b.setUint8(c + 2, a >> 18 & 63 | 128), b.setUint8(c + 3, a >> 12 & 63 | 128), b.setUint8(c +
  2801. 4, a >> 6 & 63 | 128), b.setUint8(c + 5, a & 63 | 128), c += 6;
  2802. else throw new r("Cannot encode UTF8 character: charCode (" + a + ") is too large (>= 0x80000000)");
  2803. return c - d
  2804. };
  2805. u.Pm = function(a) {
  2806. if (0 > a) throw new r("Cannot calculate length of UTF8 character: charCode (" + a + ") is negative");
  2807. if (128 > a) return 1;
  2808. if (2048 > a) return 2;
  2809. if (65536 > a) return 3;
  2810. if (2097152 > a) return 4;
  2811. if (67108864 > a) return 5;
  2812. if (-2147483648 > a) return 6;
  2813. throw new r("Cannot calculate length of UTF8 character: charCode (" + a + ") is too large (>= 0x80000000)");
  2814. };
  2815. u.rf =
  2816. function(a) {
  2817. for (var b = 0, c = a.length, d = 0; d < c;) b += u.Pm(B.yi(a, d++));
  2818. return b
  2819. };
  2820. u.Qm = function(a) {
  2821. a >>>= 0;
  2822. return 128 > a ? 1 : 16384 > a ? 2 : 2097152 > a ? 3 : 268435456 > a ? 4 : 5
  2823. };
  2824. u.prototype = {
  2825. ng: function() {
  2826. var a = new ArrayBuffer(this.a),
  2827. b = new Uint8Array(this.m.buffer, this.m.byteOffset, this.a);
  2828. (new Uint8Array(a)).set(b);
  2829. return a
  2830. },
  2831. Mb: function() {
  2832. return new Uint8Array(this.m.buffer, this.m.byteOffset, this.a)
  2833. },
  2834. Zd: function() {
  2835. return new DataView(this.m.buffer, this.m.byteOffset, this.a)
  2836. },
  2837. Sq: function() {
  2838. return new D(this.Zd(), this.Ia)
  2839. },
  2840. ic: function(a) {
  2841. this.m.byteLength < a && this.kq(2 * this.m.byteLength >= a ? 2 * this.m.byteLength : a)
  2842. },
  2843. kq: function(a) {
  2844. if (1 > a) throw new r("Can't resize buffer to a capacity lower than 1");
  2845. if (this.m.byteLength < a) {
  2846. var b = new Uint8Array(this.m.buffer);
  2847. a = new ArrayBuffer(a);
  2848. (new Uint8Array(a)).set(b);
  2849. this.m = new DataView(a)
  2850. }
  2851. },
  2852. u: function(a) {
  2853. var b = this.a++;
  2854. this.ic(this.a);
  2855. this.m.setUint8(b, a)
  2856. },
  2857. fr: function(a) {
  2858. var b = this.a;
  2859. this.a += 2;
  2860. this.ic(this.a);
  2861. this.m.setInt16(b, a, this.Ia)
  2862. },
  2863. qc: function(a) {
  2864. var b = this.a;
  2865. this.a += 2;
  2866. this.ic(this.a);
  2867. this.m.setUint16(b, a, this.Ia)
  2868. },
  2869. Z: function(a) {
  2870. var b = this.a;
  2871. this.a += 4;
  2872. this.ic(this.a);
  2873. this.m.setInt32(b, a, this.Ia)
  2874. },
  2875. pb: function(a) {
  2876. var b = this.a;
  2877. this.a += 4;
  2878. this.ic(this.a);
  2879. this.m.setUint32(b, a, this.Ia)
  2880. },
  2881. Sl: function(a) {
  2882. var b = this.a;
  2883. this.a += 4;
  2884. this.ic(this.a);
  2885. this.m.setFloat32(b, a, this.Ia)
  2886. },
  2887. w: function(a) {
  2888. var b = this.a;
  2889. this.a += 8;
  2890. this.ic(this.a);
  2891. this.m.setFloat64(b, a, this.Ia)
  2892. },
  2893. Ob: function(a) {
  2894. var b = this.a;
  2895. this.a += a.byteLength;
  2896. this.ic(this.a);
  2897. (new Uint8Array(this.m.buffer, this.m.byteOffset, this.m.byteLength)).set(a,
  2898. b)
  2899. },
  2900. pg: function(a) {
  2901. this.Ob(new Uint8Array(a))
  2902. },
  2903. rc: function(a) {
  2904. this.ib(u.rf(a));
  2905. this.rg(a)
  2906. },
  2907. Pb: function(a) {
  2908. null == a ? this.ib(0) : (this.ib(u.rf(a) + 1), this.rg(a))
  2909. },
  2910. Tl: function(a) {
  2911. var b = u.rf(a);
  2912. if (255 < b) throw new r(null);
  2913. this.u(b);
  2914. this.rg(a)
  2915. },
  2916. qg: function(a) {
  2917. this.rc(JSON.stringify(a))
  2918. },
  2919. rg: function(a) {
  2920. var b = this.a;
  2921. this.ic(b + u.rf(a));
  2922. for (var c = a.length, d = 0; d < c;) b += u.Dn(B.yi(a, d++), this.m, b);
  2923. this.a = b
  2924. },
  2925. ib: function(a) {
  2926. var b = this.a;
  2927. a >>>= 0;
  2928. this.ic(b + u.Qm(a));
  2929. this.m.setUint8(b, a | 128);
  2930. 128 <= a ? (this.m.setUint8(b + 1,
  2931. a >> 7 | 128), 16384 <= a ? (this.m.setUint8(b + 2, a >> 14 | 128), 2097152 <= a ? (this.m.setUint8(b + 3, a >> 21 | 128), 268435456 <= a ? (this.m.setUint8(b + 4, a >> 28 & 127), a = 5) : (this.m.setUint8(b + 3, this.m.getUint8(b + 3) & 127), a = 4)) : (this.m.setUint8(b + 2, this.m.getUint8(b + 2) & 127), a = 3)) : (this.m.setUint8(b + 1, this.m.getUint8(b + 1) & 127), a = 2)) : (this.m.setUint8(b, this.m.getUint8(b) & 127), a = 1);
  2932. this.a += a
  2933. },
  2934. g: u
  2935. };
  2936. G.b = !0;
  2937. G.Hn = function() {
  2938. try {
  2939. return window.crypto.subtle.generateKey(G.Rg, !0, ["sign", "verify"]).then(function(a) {
  2940. var b = a.privateKey;
  2941. return window.crypto.subtle.exportKey("jwk",
  2942. b).then(function(a) {
  2943. var c = a.y,
  2944. e = a.d,
  2945. f = new G;
  2946. f.wi = a.x;
  2947. f.xi = c;
  2948. f.qj = e;
  2949. f.Ok = b;
  2950. return f
  2951. })
  2952. })
  2953. } catch (a) {
  2954. return Promise.reject(a instanceof r ? a.Na : a)
  2955. }
  2956. };
  2957. G.Gn = function(a) {
  2958. a = a.split(".");
  2959. if (4 != a.length || "idkey" != a[0]) return Promise.reject("Invalid id format");
  2960. var b = a[1],
  2961. c = a[2],
  2962. d = a[3];
  2963. return G.jr(b, c, d).then(function(a) {
  2964. var e = new G;
  2965. e.wi = b;
  2966. e.xi = c;
  2967. e.qj = d;
  2968. e.Ok = a;
  2969. return e
  2970. })
  2971. };
  2972. G.cr = function(a, b) {
  2973. try {
  2974. var c = new D(new DataView(a.buffer, a.byteOffset, a.byteLength), !1);
  2975. c.K();
  2976. var d = c.ob(c.Zb()),
  2977. e = c.ob(),
  2978. f = new D(new DataView(d.buffer,
  2979. d.byteOffset, d.byteLength), !1),
  2980. g = f.mc(),
  2981. n = f.mc(),
  2982. k = f.ob();
  2983. if (k.byteLength != b.byteLength) return Promise.reject(null);
  2984. for (var c = 0, h = k.byteLength; c < h;) {
  2985. var l = c++;
  2986. if (k[l] != b[l]) return Promise.reject(null)
  2987. }
  2988. return G.ir(g, n).then(function(a) {
  2989. return window.crypto.subtle.verify(G.vl, a, e, d)
  2990. }).then(function(a) {
  2991. if (!a) throw new r(null);
  2992. return g
  2993. })
  2994. } catch (cc) {
  2995. return Promise.reject(cc instanceof r ? cc.Na : cc)
  2996. }
  2997. };
  2998. G.jr = function(a, b, c) {
  2999. try {
  3000. return window.crypto.subtle.importKey("jwk", {
  3001. crv: "P-256",
  3002. ext: !0,
  3003. key_ops: ["sign"],
  3004. kty: "EC",
  3005. d: c,
  3006. x: a,
  3007. y: b
  3008. }, G.Rg, !0, ["sign"])
  3009. } catch (d) {
  3010. return Promise.reject(d instanceof r ? d.Na : d)
  3011. }
  3012. };
  3013. G.ir = function(a, b) {
  3014. try {
  3015. return window.crypto.subtle.importKey("jwk", {
  3016. crv: "P-256",
  3017. ext: !0,
  3018. key_ops: ["verify"],
  3019. kty: "EC",
  3020. x: a,
  3021. y: b
  3022. }, G.Rg, !0, ["verify"])
  3023. } catch (c) {
  3024. return Promise.reject(c instanceof r ? c.Na : c)
  3025. }
  3026. };
  3027. G.prototype = {
  3028. Uq: function() {
  3029. return "idkey." + this.wi + "." + this.xi + "." + this.qj
  3030. },
  3031. Iq: function(a) {
  3032. try {
  3033. var b = u.ca(1024);
  3034. b.u(1);
  3035. var c = b.a;
  3036. b.qc(0);
  3037. var d = b.a;
  3038. b.rc(this.wi);
  3039. b.rc(this.xi);
  3040. b.Ob(a);
  3041. var e = b.a - d;
  3042. b.m.setUint16(c,
  3043. e, b.Ia);
  3044. var f = new Uint8Array(b.m.buffer, b.m.byteOffset + d, e);
  3045. return window.crypto.subtle.sign(G.vl, this.Ok, f).then(function(a) {
  3046. b.pg(a);
  3047. return b.Mb()
  3048. })
  3049. } catch (g) {
  3050. return Promise.reject(g instanceof r ? g.Na : g)
  3051. }
  3052. },
  3053. g: G
  3054. };
  3055. Ja.b = !0;
  3056. Ja.qo = function() {
  3057. if (null != Ja.Qh) return Ja.Qh;
  3058. Ja.Qh = new Promise(function(a, b) {
  3059. var c = window.grecaptcha;
  3060. null != c ? a(c) : (c = window.document.createElement("script"), c.src = "https://www.google.com/recaptcha/api.js?onload=___recaptchaload&render=explicit", window.document.head.appendChild(c), window.___recaptchaload =
  3061. function() {
  3062. a(window.grecaptcha)
  3063. }, c.onerror = function() {
  3064. b(null)
  3065. })
  3066. });
  3067. return Ja.Qh
  3068. };
  3069. Ba.b = !0;
  3070. Ba.Hf = function(a) {
  3071. return new PerfectScrollbar(a, {
  3072. handlers: Ba.co
  3073. })
  3074. };
  3075. fc.b = !0;
  3076. fc.Fr = function() {
  3077. var a = window;
  3078. a.RTCPeerConnection = a.webkitRTCPeerConnection || a.mozRTCPeerConnection || a.RTCPeerConnection;
  3079. a.RTCIceCandidate = a.webkitRTCIceCandidate || a.mozRTCIceCandidate || a.RTCIceCandidate;
  3080. a.RTCSessionDescription = a.webkitRTCSessionDescription || a.mozRTCSessionDescription || a.RTCSessionDescription;
  3081. var b = new RTCPeerConnection({
  3082. iceServers: []
  3083. });
  3084. try {
  3085. b.createAnswer()["catch"](function() {})
  3086. } catch (e) {
  3087. var a = a.RTCPeerConnection.prototype,
  3088. c = a.createOffer,
  3089. d = a.createAnswer;
  3090. a.createOffer = function(a) {
  3091. var b = this;
  3092. return new Promise(function(d, e) {
  3093. c.call(b, d, e, a)
  3094. })
  3095. };
  3096. a.createAnswer = function(a) {
  3097. var b = this;
  3098. return new Promise(function(c, e) {
  3099. d.call(b, c, e, a)
  3100. })
  3101. }
  3102. }
  3103. };
  3104. Ca.b = !0;
  3105. Ca.nq = function(a, b) {
  3106. Ca.jl(new Blob([a], {
  3107. type: "octet/stream"
  3108. }), b)
  3109. };
  3110. Ca.oq = function(a, b) {
  3111. Ca.jl(new Blob([a], {
  3112. type: "text/plain"
  3113. }), b)
  3114. };
  3115. Ca.jl = function(a, b) {
  3116. var c = window.document.createElement("a");
  3117. c.style.display = "display: none";
  3118. window.document.body.appendChild(c);
  3119. var d = URL.createObjectURL(a);
  3120. c.href = d;
  3121. c.download = b;
  3122. c.click();
  3123. URL.revokeObjectURL(d);
  3124. c.remove()
  3125. };
  3126. wb.b = !0;
  3127. wb.prototype = {
  3128. set: function(a) {
  3129. this.value != a && (this.value = a, this.Ba.textContent = "" + this.value)
  3130. },
  3131. g: wb
  3132. };
  3133. t.b = !0;
  3134. t.ya = function(a) {
  3135. var b = new Map,
  3136. c = 0;
  3137. for (a = a.querySelectorAll("[data-hook]"); c < a.length;) {
  3138. var d = a[c++];
  3139. b.set(d.getAttribute("data-hook"), d)
  3140. }
  3141. return b
  3142. };
  3143. t.za = function(a, b) {
  3144. null == b && (b = "div");
  3145. var c = window.document.createElement(b);
  3146. c.innerHTML = a;
  3147. return c.firstElementChild
  3148. };
  3149. t.fe = function(a, b) {
  3150. a.parentElement.replaceChild(b, a)
  3151. };
  3152. t.gf = function(a) {
  3153. for (var b = a.firstChild; null != b;) a.removeChild(b), b = a.firstChild
  3154. };
  3155. sb.b = !0;
  3156. sb.Gg = function(a) {
  3157. return new Promise(function(b, c) {
  3158. a.onsuccess = function() {
  3159. b(a.result)
  3160. };
  3161. a.onerror = c
  3162. })
  3163. };
  3164. ec.b = !0;
  3165. ec.Pq = function(a, b) {
  3166. return new Promise(function(c, d) {
  3167. var e = window.setTimeout(function() {
  3168. d("Timed out")
  3169. }, b);
  3170. a.then(function(a) {
  3171. window.clearTimeout(e);
  3172. c(a)
  3173. }, function(a) {
  3174. window.clearTimeout(e);
  3175. d(a)
  3176. })
  3177. })
  3178. };
  3179. l.b = !0;
  3180. l.Sa = function(a) {
  3181. null == a.Ka && (a.Ka = !0);
  3182. null == a.La && (a.La = !0);
  3183. return a
  3184. };
  3185. l.Ta = function(a) {
  3186. a.zm = l.bf;
  3187. if (null == a.Ja) throw new r("Class doesn't have a config");
  3188. a.prototype.cf = a.Ja;
  3189. l.bm.set(l.bf, a);
  3190. l.bf++
  3191. };
  3192. l.Ii = function(a, b) {
  3193. var c = (null == a ? null : q.Zl(a)).zm;
  3194. if (null == c) throw new r("Tried to pack unregistered action");
  3195. b.u(c);
  3196. a.Ca(b)
  3197. };
  3198. l.Hg = function(a) {
  3199. var b = a.K(),
  3200. b = Object.create(l.bm.get(b).prototype);
  3201. b.ia = 0;
  3202. b.kb = 0;
  3203. b.Da(a);
  3204. return b
  3205. };
  3206. l.prototype = {
  3207. jm: function() {
  3208. return !0
  3209. },
  3210. apply: function() {
  3211. throw new r("missing implementation");
  3212. },
  3213. Da: function() {
  3214. throw new r("missing implementation");
  3215. },
  3216. Ca: function() {
  3217. throw new r("missing implementation");
  3218. },
  3219. g: l
  3220. };
  3221. Ia.b = !0;
  3222. Ia.Er = function(a, b, c) {
  3223. if (0 == a.length)
  3224. for (a = 0; a < b.length;) c.push(b[a++]);
  3225. else if (0 == b.length)
  3226. for (b = 0; b < a.length;) c.push(a[b++]);
  3227. else
  3228. for (var d = 0, e = a.length, f = 0, g = b.length;;) {
  3229. var n = a[d],
  3230. k = b[f];
  3231. if (n.kb <= k.kb) {
  3232. if (c.push(n), ++d, d >= e) {
  3233. for (; f < g;) c.push(b[f++]);
  3234. break
  3235. }
  3236. } else if (c.push(k), ++f, f >= g) {
  3237. for (; d < e;) c.push(a[d++]);
  3238. break
  3239. }
  3240. }
  3241. };
  3242. Ia.prototype = {
  3243. cm: function(a) {
  3244. for (var b = 0, c = a.kb, d = a.ia,
  3245. e = 0, f = this.list; e < f.length;) {
  3246. var g = f[e];
  3247. ++e;
  3248. var n = g.kb;
  3249. if (n > c) break;
  3250. if (n == c) {
  3251. g = g.ia;
  3252. if (g > d) break;
  3253. g == d && ++d
  3254. }++b
  3255. }
  3256. a.ia = d;
  3257. this.list.splice(b, 0, a)
  3258. },
  3259. Or: function(a) {
  3260. for (var b = 0, c = 0, d = this.list; c < d.length && !(d[c++].kb >= a);) ++b;
  3261. this.list.splice(0, b)
  3262. },
  3263. nr: function(a, b) {
  3264. for (var c = this.list; 0 < c.length;) c.pop();
  3265. Ia.Er(a.list, b.list, this.list)
  3266. },
  3267. Pr: function(a) {
  3268. for (var b = 0, c = this.list, d = 0, e = c.length; d < e;) {
  3269. var f = c[d++];
  3270. f.be != a && (c[b] = f, ++b)
  3271. }
  3272. for (; c.length > b;) c.pop()
  3273. },
  3274. or: function(a) {
  3275. for (var b = 0, c = 0, d = this.list; c < d.length &&
  3276. !(d[c++].kb >= a);) ++b;
  3277. return b
  3278. },
  3279. g: Ia
  3280. };
  3281. qb.b = !0;
  3282. qb.prototype = {
  3283. g: qb
  3284. };
  3285. Sa.b = !0;
  3286. Sa.ua = l;
  3287. Sa.prototype = E(l.prototype, {
  3288. apply: function(a) {
  3289. a.dn(this.ug)
  3290. },
  3291. Ca: function(a) {
  3292. a.ib(this.ug.byteLength);
  3293. a.pg(this.ug)
  3294. },
  3295. Da: function(a) {
  3296. this.ug = a.Qk(a.wb())
  3297. },
  3298. g: Sa
  3299. });
  3300. Xb.b = !0;
  3301. Xb.prototype = {
  3302. g: Xb
  3303. };
  3304. Fb.b = !0;
  3305. Fb.prototype = {
  3306. add: function(a) {
  3307. for (var b = this.Wa.length, c = 0, d = this.Ad = 0; d < b;) {
  3308. var e = d++,
  3309. f = this.Wa[e];
  3310. f.index++;
  3311. f.weight *= .97;
  3312. this.Wa[c].index < f.index && (c = e);
  3313. this.Ad += f.weight
  3314. }
  3315. b >= this.Dr ? (b = this.Wa[c], this.Ad -= b.weight, this.Wa.splice(c,
  3316. 1)) : b = new Wb;
  3317. b.value = a;
  3318. b.weight = 1;
  3319. b.index = 0;
  3320. this.Ad += b.weight;
  3321. for (a = 0; a < this.Wa.length && this.Wa[a].value <= b.value;) ++a;
  3322. this.Wa.splice(a, 0, b)
  3323. },
  3324. Cg: function(a) {
  3325. if (0 == this.Wa.length) return 0;
  3326. if (1 == this.Wa.length) return this.Wa[0].value;
  3327. a *= this.Ad;
  3328. for (var b = this.Wa[0].weight, c = 0; c < this.Wa.length - 1 && !(b >= a);) ++c, b += this.Wa[c].weight;
  3329. return this.Wa[c].value
  3330. },
  3331. max: function() {
  3332. return 0 == this.Wa.length ? 0 : this.Wa[this.Wa.length - 1].value
  3333. },
  3334. g: Fb
  3335. };
  3336. Wb.b = !0;
  3337. Wb.prototype = {
  3338. g: Wb
  3339. };
  3340. Vb.b = !0;
  3341. Vb.prototype = {
  3342. stop: function() {
  3343. this.Ei.Wb =
  3344. null;
  3345. this.Ei.L.ul(null);
  3346. this.xd.m.setUint16(0, this.hm, this.xd.Ia);
  3347. this.xd.Ob(this.hf.Mb());
  3348. var a = pako.deflateRaw(this.xd.Mb()),
  3349. b = u.ca(a.byteLength + 32);
  3350. b.rg("HBR2");
  3351. b.pb(this.version);
  3352. b.pb(this.Ei.R - this.Dg);
  3353. b.Ob(a);
  3354. return b.Mb()
  3355. },
  3356. g: Vb
  3357. };
  3358. rb.b = !0;
  3359. xa.b = !0;
  3360. S.b = !0;
  3361. S.ua = qb;
  3362. S.prototype = E(qb.prototype, {
  3363. ma: function() {
  3364. throw new r("missing implementation");
  3365. },
  3366. yf: function() {
  3367. throw new r("missing implementation");
  3368. },
  3369. v: function() {
  3370. throw new r("missing implementation");
  3371. },
  3372. Si: function(a) {
  3373. for (var b = this.Td.list, c = 0, d = b.length,
  3374. e = 0; e < a;) {
  3375. for (++e; c < d;) {
  3376. var f = b[c];
  3377. if (f.kb != this.R) break;
  3378. f.apply(this.L);
  3379. null != this.Wb && this.Wb(f);
  3380. this.Ub++;
  3381. ++c
  3382. }
  3383. this.L.v(1);
  3384. this.ae += this.Ub;
  3385. this.Ub = 0;
  3386. this.R++
  3387. }
  3388. for (; c < d;) {
  3389. a = b[c];
  3390. if (a.kb != this.R || a.ia != this.Ub) break;
  3391. a.apply(this.L);
  3392. null != this.Wb && this.Wb(a);
  3393. this.Ub++;
  3394. ++c
  3395. }
  3396. b.splice(0, c)
  3397. },
  3398. fg: function(a) {
  3399. a.kb == this.R && a.ia <= this.Ub ? (a.ia = this.Ub++, a.apply(this.L), null != this.Wb && this.Wb(a)) : this.Td.cm(a)
  3400. },
  3401. Nj: function(a, b) {
  3402. if (0 >= a) return this.L;
  3403. a > this.kf && (a = this.kf);
  3404. xa.sc++;
  3405. var c = this.L.jc(),
  3406. d;
  3407. null != b ?
  3408. (this.ri.nr(this.Td, b), d = this.ri) : d = this.Td;
  3409. d = d.list;
  3410. for (var e = 0, f = d.length, g = this.R, n = a | 0, k = g + n; g <= k;) {
  3411. for (; e < f;) {
  3412. var h = d[e];
  3413. if (h.kb > g) break;
  3414. h.cf.La && h.apply(c);
  3415. ++e
  3416. }
  3417. c.v(g != k ? 1 : a - n);
  3418. ++g
  3419. }
  3420. for (d = this.ri.list; 0 < d.length;) d.pop();
  3421. return c
  3422. },
  3423. xq: function(a) {
  3424. 300 < a && (a = 300);
  3425. 0 > a && (a = 0);
  3426. this.Tb = this.tc * a | 0
  3427. },
  3428. rl: function(a) {
  3429. this.cd = this.tc * (-200 > a ? -200 : 200 < a ? 200 : a)
  3430. },
  3431. g: S
  3432. });
  3433. var Gb = tb["bas.marf.net.ConnFailReason"] = {
  3434. lf: !0,
  3435. Og: ["Cancelled", "Rejected", "Other"],
  3436. Jg: {
  3437. ub: 0,
  3438. qb: "bas.marf.net.ConnFailReason",
  3439. toString: ya
  3440. },
  3441. Mg: (V =
  3442. function(a) {
  3443. return {
  3444. ub: 1,
  3445. reason: a,
  3446. qb: "bas.marf.net.ConnFailReason",
  3447. toString: ya
  3448. }
  3449. }, V.ie = ["reason"], V),
  3450. Kg: (V = function(a) {
  3451. return {
  3452. ub: 2,
  3453. description: a,
  3454. qb: "bas.marf.net.ConnFailReason",
  3455. toString: ya
  3456. }
  3457. }, V.ie = ["description"], V)
  3458. };
  3459. wa.b = !0;
  3460. wa.Zg = function(a) {
  3461. switch (a.ub) {
  3462. case 0:
  3463. return "Cancelled";
  3464. case 1:
  3465. return jc.description(a.reason);
  3466. case 2:
  3467. return a.description
  3468. }
  3469. };
  3470. wa.ua = S;
  3471. wa.prototype = E(S.prototype, {
  3472. da: function(a) {
  3473. null != this.gc && (this.gc.Qc = null, this.gc.Rm(), this.gc = null);
  3474. window.clearTimeout(this.Yd);
  3475. null != this.ga &&
  3476. (this.ga.Ke = null, this.ga.da(), this.ga = null);
  3477. this.wj = null == a ? "Connection closed" : a;
  3478. this.Xe(4)
  3479. },
  3480. Xe: function(a) {
  3481. this.ad != a && (this.ad = a, null != this.md && this.md(a))
  3482. },
  3483. hd: function() {
  3484. return 3 == this.ad
  3485. },
  3486. v: function() {
  3487. this.hd() && window.performance.now() - this.Jl > this.ym && this.ai();
  3488. this.Kc = window.performance.now() * this.tc + this.pi.Cg(.5) - this.R;
  3489. this.gj()
  3490. },
  3491. yf: function() {
  3492. return this.hd() ? (0 > this.Tb && (this.Tb = 0), this.Nj(window.performance.now() * this.tc + this.pi.Cg(.5) - this.R + this.Tb + this.cd, this.Xf)) : this.L
  3493. },
  3494. gj: function() {
  3495. 0 >
  3496. this.Kc && (this.Kc = 0);
  3497. this.Kc > this.kf && (this.Kc = this.kf)
  3498. },
  3499. Ep: function(a) {
  3500. switch (a.K()) {
  3501. case 0:
  3502. this.Bp(a);
  3503. break;
  3504. case 1:
  3505. this.Ap(a);
  3506. break;
  3507. case 2:
  3508. this.xp(a);
  3509. break;
  3510. case 3:
  3511. this.Gp(a);
  3512. break;
  3513. case 4:
  3514. this.Dp(a);
  3515. break;
  3516. case 5:
  3517. this.zp(a);
  3518. break;
  3519. case 6:
  3520. this.Fp(a)
  3521. }
  3522. },
  3523. Bp: function(a) {
  3524. var b = this;
  3525. a = a.ob(a.wb());
  3526. var c = Promise.resolve(null);
  3527. null != this.se && (c = this.se.Iq(a));
  3528. c["catch"](function() {
  3529. return null
  3530. }).then(function(a) {
  3531. b.vq(a)
  3532. })
  3533. },
  3534. Ap: function(a) {
  3535. a = pako.inflateRaw(a.ob());
  3536. a = new D(new DataView(a.buffer, a.byteOffset, a.byteLength));
  3537. this.lc = a.Zb();
  3538. this.R = a.eb();
  3539. this.ae = a.eb();
  3540. this.Ub = a.wb();
  3541. this.Kc = 10;
  3542. for (this.L.ea(a); 0 < a.m.byteLength - a.a;) this.fg(this.Ql(a));
  3543. window.clearTimeout(this.Yd);
  3544. this.Xe(3)
  3545. },
  3546. vq: function(a) {
  3547. var b = u.ca();
  3548. b.u(0);
  3549. null != a ? (b.ib(a.byteLength), b.Ob(a)) : b.ib(0);
  3550. b.ib(this.wh.byteLength);
  3551. b.pg(this.wh);
  3552. this.Lb(b);
  3553. this.wh = null
  3554. },
  3555. Lb: function(a, b) {
  3556. null == b && (b = 0);
  3557. this.ga.Lb(b, a)
  3558. },
  3559. Ql: function(a) {
  3560. var b = a.eb(),
  3561. c = a.wb(),
  3562. d = a.Zb(),
  3563. e = a.eb();
  3564. a = l.Hg(a);
  3565. a.oa = d;
  3566. a.be = e;
  3567. a.kb = b;
  3568. a.ia = c;
  3569. return a
  3570. },
  3571. xp: function(a) {
  3572. a = this.Ql(a);
  3573. this.fg(a);
  3574. a.oa == this.lc && this.Xf.Pr(a.be);
  3575. this.Pk()
  3576. },
  3577. Fp: function(a) {
  3578. a = l.Hg(a);
  3579. a.oa = 0;
  3580. a.be = 0;
  3581. a.apply(this.L);
  3582. null != this.Wb && this.Wb(a)
  3583. },
  3584. Gp: function(a) {
  3585. var b = a.eb();
  3586. a = a.eb();
  3587. this.Sh.push({
  3588. frame: b,
  3589. bf: a
  3590. });
  3591. this.Pk()
  3592. },
  3593. Pk: function() {
  3594. if (3 == this.ad) {
  3595. for (var a = 0, b = this.Sh; a < b.length;) {
  3596. var c = b[a];
  3597. ++a;
  3598. c.frame <= this.R || c.bf == this.ae + this.Ub + this.Td.or(c.frame) && this.Gm(c.frame - this.R)
  3599. }
  3600. for (var a = 0, b = this.Sh, c = 0, d = b.length; c < d;) {
  3601. var e = b[c++];
  3602. e.frame > this.R && (b[a] = e, ++a)
  3603. }
  3604. for (; b.length > a;) b.pop();
  3605. this.Xf.Or(this.R)
  3606. }
  3607. },
  3608. zp: function(a) {
  3609. var b =
  3610. 0 != a.K(),
  3611. c = a.mc(),
  3612. d = "";
  3613. 0 < a.m.byteLength - a.a && (d = a.mc());
  3614. a = b ? "You were banned" : "You were kicked";
  3615. "" != d && (a += " by " + d);
  3616. "" != c && (a += " (" + c + ")");
  3617. this.da(a)
  3618. },
  3619. Dp: function(a) {
  3620. var b = a.A();
  3621. a = a.A();
  3622. var c = window.performance.now() - a;
  3623. this.pi.add(b - a * this.tc);
  3624. this.Vf.add(c);
  3625. for (var d = b = 0, e = this.ei; d < e.length;) {
  3626. var f = e[d];
  3627. ++d;
  3628. if (f > a) break;
  3629. f < a ? x.i(this.rk, -1) : x.i(this.rk, c);
  3630. ++b
  3631. }
  3632. this.ei.splice(0, b)
  3633. },
  3634. ai: function() {
  3635. var a = window.performance.now();
  3636. this.Jl = a;
  3637. this.ei.push(a);
  3638. var b = this.Vf.Cg(.5) | 0,
  3639. c = u.ca();
  3640. c.u(2);
  3641. c.w(a);
  3642. c.ib(b);
  3643. this.Lb(c, 2)
  3644. },
  3645. Gm: function(a) {
  3646. this.Si(a);
  3647. this.Kc -= a;
  3648. this.gj()
  3649. },
  3650. ma: function(a) {
  3651. if (3 == this.ad) {
  3652. var b = this.Jo++,
  3653. c = 0;
  3654. 0 > this.Tb && (this.Tb = 0);
  3655. a.cf.Ka && (c = this.R + (this.Kc | 0) + this.Tb);
  3656. var d = u.ca();
  3657. d.u(1);
  3658. d.pb(c);
  3659. d.pb(b);
  3660. l.Ii(a, d);
  3661. this.Lb(d);
  3662. a.cf.La && (a.be = b, a.oa = this.lc, a.kb = c, this.Xf.cm(a))
  3663. }
  3664. },
  3665. g: wa
  3666. });
  3667. Eb.b = !0;
  3668. Eb.ua = S;
  3669. Eb.prototype = E(S.prototype, {
  3670. da: function() {
  3671. this.Pc.da();
  3672. for (var a = 0, b = this.Sb; a < b.length;) {
  3673. var c = b[a++].ga;
  3674. c.Ke = null;
  3675. c.Pf = null;
  3676. c.da()
  3677. }
  3678. },
  3679. Cn: function(a, b, c, d) {
  3680. var e = this.qe.get(a);
  3681. if (null !=
  3682. e) {
  3683. if (d) {
  3684. var f = this.Pc.Km(e.ga);
  3685. this.cj.set(a, f)
  3686. }
  3687. a = u.ca();
  3688. a.u(5);
  3689. a.u(d ? 1 : 0);
  3690. a.rc(b);
  3691. null == c && (c = "");
  3692. a.rc(c);
  3693. e.Lb(a);
  3694. e.ga.da()
  3695. }
  3696. },
  3697. Dd: function() {
  3698. this.Pc.Dd();
  3699. this.cj.clear()
  3700. },
  3701. fi: function(a) {
  3702. this.Pc.fi(a)
  3703. },
  3704. ma: function(a) {
  3705. a.oa = 0;
  3706. var b = this.R + this.Yh + this.Tb;
  3707. a.cf.Ka || (b = this.R);
  3708. a.kb = b;
  3709. this.fg(a);
  3710. this.di();
  3711. 0 < this.Sb.length && this.hg(this.Ch(a), 1)
  3712. },
  3713. v: function() {
  3714. var a = ((window.performance.now() - this.ki) * this.tc | 0) - this.R;
  3715. 0 < a && this.Si(a);
  3716. 7 <= this.R - this.Zj && this.di();
  3717. this.R - this.Yj >= this.Ym && (this.di(), this.tq())
  3718. },
  3719. yf: function() {
  3720. 0 > this.Tb && (this.Tb = 0);
  3721. return this.Nj((window.performance.now() - this.ki) * this.tc - this.R + this.Yh + this.Tb + this.cd)
  3722. },
  3723. Xn: function(a, b) {
  3724. if (this.Sb.length >= this.Jf) return ac.Lg(4100);
  3725. try {
  3726. if (b.Zb() != this.dr) throw new r(null);
  3727. } catch (d) {
  3728. return ac.Lg(4103)
  3729. }
  3730. try {
  3731. var c = b.Ib();
  3732. if (null != this.Bb && c != this.Bb) throw new r(null);
  3733. } catch (d) {
  3734. return ac.Lg(4101)
  3735. }
  3736. return ac.rm
  3737. },
  3738. Uo: function(a) {
  3739. var b = this;
  3740. if (this.Sb.length >= this.Jf) a.da();
  3741. else {
  3742. var c = new Ub(a);
  3743. this.Sb.push(c);
  3744. a.Pf = function(a) {
  3745. a = new D(new DataView(a));
  3746. b.yp(a, c)
  3747. };
  3748. a.Ke = function() {
  3749. B.remove(b.Sb, c);
  3750. b.qe["delete"](c.U);
  3751. x.i(b.Ro, c.U)
  3752. };
  3753. a = u.ca(1 + c.pe.byteLength);
  3754. a.u(0);
  3755. a.ib(c.pe.byteLength);
  3756. a.Ob(c.pe);
  3757. c.Lb(a)
  3758. }
  3759. },
  3760. Ch: function(a) {
  3761. var b = u.ca();
  3762. b.u(2);
  3763. this.xk(a, b);
  3764. return b
  3765. },
  3766. xk: function(a, b) {
  3767. b.pb(a.kb);
  3768. b.ib(a.ia);
  3769. b.qc(a.oa);
  3770. b.pb(a.be);
  3771. l.Ii(a, b)
  3772. },
  3773. di: function() {
  3774. if (!(0 >= this.R - this.Zj) && 0 != this.Sb.length) {
  3775. var a = u.ca();
  3776. a.u(3);
  3777. a.pb(this.R);
  3778. a.pb(this.ae);
  3779. this.hg(a, 2);
  3780. this.Zj = this.R
  3781. }
  3782. },
  3783. hg: function(a, b) {
  3784. null == b && (b = 0);
  3785. for (var c = 0, d = this.Sb; c < d.length;) {
  3786. var e = d[c];
  3787. ++c;
  3788. e.ag && e.Lb(a, b)
  3789. }
  3790. },
  3791. uq: function(a) {
  3792. var b = u.ca();
  3793. b.u(1);
  3794. var c = u.ca();
  3795. c.qc(a.U);
  3796. c.pb(this.R);
  3797. c.pb(this.ae);
  3798. c.ib(this.Ub);
  3799. this.L.aa(c);
  3800. for (var d = this.Td.list, e = 0, f = d.length; e < f;) this.xk(d[e++], c);
  3801. b.Ob(pako.deflateRaw(c.Mb()));
  3802. a.Lb(b)
  3803. },
  3804. tq: function() {
  3805. this.Yj = this.R;
  3806. if (0 != this.Sb.length) {
  3807. var a = new Sa;
  3808. a.kb = this.R;
  3809. a.ia = this.Ub++;
  3810. a.oa = 0;
  3811. a.ug = this.L.Jn();
  3812. this.hg(this.Ch(a))
  3813. }
  3814. },
  3815. Ip: function(a, b) {
  3816. var c = this,
  3817. d = a.ob(a.wb()),
  3818. e = a.ob(a.wb()),
  3819. f = b.pe;
  3820. b.pe = null;
  3821. G.cr(d, f)["catch"](function() {
  3822. return null
  3823. }).then(function(a) {
  3824. try {
  3825. if (-1 !=
  3826. c.Sb.indexOf(b)) {
  3827. b.Zr = a;
  3828. var d = c.Do++;
  3829. b.U = d;
  3830. c.qe.set(d, b);
  3831. ha.i(c.Qo, d, new D(new DataView(e.buffer, e.byteOffset, e.byteLength), !1));
  3832. b.ag = !0;
  3833. c.uq(b)
  3834. }
  3835. } catch (k) {
  3836. c.Oj(b, k instanceof r ? k.Na : k)
  3837. }
  3838. })
  3839. },
  3840. yp: function(a, b) {
  3841. this.v();
  3842. try {
  3843. if (!b.Qn.Ml()) throw new r(1);
  3844. var c = a.K();
  3845. if (b.ag) switch (c) {
  3846. case 1:
  3847. this.Jp(a, b);
  3848. break;
  3849. case 2:
  3850. this.Cp(a, b);
  3851. break;
  3852. default:
  3853. throw new r(0);
  3854. } else if (0 == c) this.Ip(a, b);
  3855. else throw new r(0);
  3856. if (0 < a.m.byteLength - a.a) throw new r(2);
  3857. } catch (d) {
  3858. this.Oj(b, d instanceof r ? d.Na : d)
  3859. }
  3860. },
  3861. Oj: function(a, b) {
  3862. window.console.log(b);
  3863. this.qe["delete"](a.U);
  3864. B.remove(this.Sb, a);
  3865. a.ag && null != this.mk && this.mk(a.U);
  3866. a.ga.da()
  3867. },
  3868. Cp: function(a, b) {
  3869. var c = a.A();
  3870. b.vb = a.wb();
  3871. var d = u.ca();
  3872. d.u(4);
  3873. d.w((window.performance.now() - this.ki) * this.tc + this.Yh);
  3874. d.w(c);
  3875. b.Lb(d, 2)
  3876. },
  3877. Jp: function(a, b) {
  3878. var c = a.eb(),
  3879. d = a.eb(),
  3880. e = l.Hg(a),
  3881. f = e.cf.lm;
  3882. if (null != f) {
  3883. var g = b.Qi.get(f);
  3884. null == g && (g = new nb(f.Vl, f.qm), b.Qi.set(f, g));
  3885. if (!g.Ml()) throw new r(3);
  3886. }
  3887. f = this.R;
  3888. g = this.R + 120;
  3889. e.be = d;
  3890. e.oa = b.U;
  3891. e.kb = c < f ? f : c > g ? g : c;
  3892. e.jm(this.L) && (this.fg(e), this.hg(this.Ch(e), 1))
  3893. },
  3894. g: Eb
  3895. });
  3896. Ub.b = !0;
  3897. Ub.prototype = {
  3898. Lb: function(a, b) {
  3899. null == b && (b = 0);
  3900. this.ga.Lb(b, a)
  3901. },
  3902. g: Ub
  3903. };
  3904. Tb.b = !0;
  3905. Db.b = !0;
  3906. Db.prototype = {
  3907. g: Db
  3908. };
  3909. Cb.b = !0;
  3910. Cb.ua = S;
  3911. Cb.prototype = E(S.prototype, {
  3912. Op: function(a) {
  3913. for (var b = a.Zb(), c = 0, d = 0; d < b;) {
  3914. ++d;
  3915. var c = c + a.wb(),
  3916. e = a.K();
  3917. this.ik.push({
  3918. Ji: c / this.Te,
  3919. kind: e
  3920. })
  3921. }
  3922. },
  3923. Sk: function() {
  3924. var a = this.Bc;
  3925. 0 < a.m.byteLength - a.a ? (a = this.Bc.wb(), this.Lf += a, a = this.Bc.Zb(), this.Kf = l.Hg(this.Bc), this.Kf.oa = a) : this.Kf = null
  3926. },
  3927. Pn: function() {
  3928. return this.R / this.Te
  3929. },
  3930. ma: function() {},
  3931. yf: function() {
  3932. this.v();
  3933. xa.sc++;
  3934. var a = this.L.jc();
  3935. a.v(this.Jj);
  3936. return a
  3937. },
  3938. v: function() {
  3939. var a = window.performance.now(),
  3940. b = a - this.yh;
  3941. this.yh = a;
  3942. 0 < this.qd ? (this.Kb += 1E4, this.Kb > this.qd && (this.Kb = this.qd, this.qd = -1)) : this.Kb += b * this.Ek;
  3943. a = this.Te * this.Ng;
  3944. this.Kb > a && (this.Kb = a);
  3945. b = this.Kb * this.tc;
  3946. a = b | 0;
  3947. for (this.Jj = b - a; this.R < a;) {
  3948. for (; null != this.Kf && this.Lf == this.R;) b = this.Kf, b.apply(this.L), null != this.Wb && this.Wb(b), this.Sk();
  3949. this.R++;
  3950. this.L.v(1)
  3951. }
  3952. },
  3953. rq: function(a) {
  3954. this.qd = a;
  3955. a < this.Kb && this.Wh()
  3956. },
  3957. Wh: function() {
  3958. this.Lf = 0;
  3959. this.Kb = this.R = this.Bc.a = 0;
  3960. this.L.ea(this.Bc);
  3961. this.Sk()
  3962. },
  3963. g: Cb
  3964. });
  3965. Bb.b = !0;
  3966. Bb.prototype = {
  3967. eval: function(a) {
  3968. var b = this.Qb.length - 1;
  3969. if (a <= this.Qb[0]) return this.Qb[1];
  3970. if (a >= this.Qb[b]) return this.Qb[b - 2];
  3971. for (var c = 0, b = b / 5 | 0;;) {
  3972. var d = b + c >>> 1;
  3973. a > this.Qb[5 * d] ? c = d + 1 : b = d - 1;
  3974. if (!(c <= b)) break
  3975. }
  3976. c = 5 * b;
  3977. b = this.Qb[c];
  3978. a = (a - b) / (this.Qb[c + 5] - b);
  3979. b = a * a;
  3980. d = b * a;
  3981. return (2 * d - 3 * b + 1) * this.Qb[c + 1] + (d - 2 * b + a) * this.Qb[c + 2] + (-2 * d + 3 * b) * this.Qb[c + 3] + (d - b) * this.Qb[c + 4]
  3982. },
  3983. g: Bb
  3984. };
  3985. L.b = !0;
  3986. L.prototype = {
  3987. g: L
  3988. };
  3989. M.b = !0;
  3990. M.dl = function(a, b, c, d, e) {
  3991. return new Promise(function(f, g) {
  3992. var n = new XMLHttpRequest;
  3993. n.open(b, a);
  3994. n.responseType = c;
  3995. n.onload = function() {
  3996. 200 <= n.status && 300 > n.status ? null != n.response ? f(n.response) : g(null) : g("status: " + n.status)
  3997. };
  3998. n.onerror = function(a) {
  3999. g(a)
  4000. };
  4001. null != e && n.setRequestHeader("Content-type", e);
  4002. n.send(d)
  4003. })
  4004. };
  4005. M.I = function(a, b) {
  4006. return M.dl(a, "GET", b, null)
  4007. };
  4008. M.Kj = function(a) {
  4009. return M.I(a, "json").then(function(a) {
  4010. var b = a.error;
  4011. if (null != b) throw new r(b);
  4012. return a.data
  4013. })
  4014. };
  4015. M.vp = function(a, b, c) {
  4016. return M.dl(a, "POST", "json", b, c)
  4017. };
  4018. M.wp = function(a, b, c) {
  4019. return M.vp(a, b, c).then(function(a) {
  4020. var b =
  4021. a.error;
  4022. if (null != b) throw new r(b);
  4023. return a.data
  4024. })
  4025. };
  4026. y.b = !0;
  4027. y.i = function(a) {
  4028. null != a && a()
  4029. };
  4030. x.b = !0;
  4031. x.i = function(a, b) {
  4032. null != a && a(b)
  4033. };
  4034. ha.b = !0;
  4035. ha.i = function(a, b, c) {
  4036. null != a && a(b, c)
  4037. };
  4038. vb.b = !0;
  4039. vb.i = function(a, b, c, d) {
  4040. null != a && a(b, c, d)
  4041. };
  4042. Sb.b = !0;
  4043. Sb.i = function(a, b, c, d, e) {
  4044. null != a && a(b, c, d, e)
  4045. };
  4046. nb.b = !0;
  4047. nb.prototype = {
  4048. Ml: function(a) {
  4049. null == a && (a = 1);
  4050. this.v();
  4051. return a <= this.dc ? (this.dc -= a, !0) : !1
  4052. },
  4053. Oq: function(a) {
  4054. this.v();
  4055. a -= this.dc;
  4056. return 0 >= a ? 0 : this.Ce + a * this.si - window.performance.now()
  4057. },
  4058. ln: function(a, b) {
  4059. var c = this.Oq(a);
  4060. this.dc -= a;
  4061. window.setTimeout(b, c | 0)
  4062. },
  4063. v: function() {
  4064. var a = window.performance.now(),
  4065. b = Math.floor((a - this.Ce) / this.si);
  4066. this.Ce += b * this.si;
  4067. this.dc += b;
  4068. this.dc >= this.fj && (this.dc = this.fj, this.Ce = a)
  4069. },
  4070. g: nb
  4071. };
  4072. Ab.b = !0;
  4073. Ab.Oe = function(a) {
  4074. var b = new $b("([^&=]+)=?([^&]*)", "g");
  4075. a = a.substring(1);
  4076. for (var c = 0, d = new Map; b.Ar(a, c);) {
  4077. var c = b.gm(1),
  4078. c = decodeURIComponent(c.split("+").join(" ")),
  4079. e = b.gm(2);
  4080. d.set(c, decodeURIComponent(e.split("+").join(" ")));
  4081. c = b.Br();
  4082. c = c.Ji + c.yr
  4083. }
  4084. return d
  4085. };
  4086. Ab.I = function() {
  4087. return Ab.Oe(window.top.location.search)
  4088. };
  4089. ob.b = !0;
  4090. ob.mp = function(a) {
  4091. if (3 > a.length) throw new r("Not enough arguments");
  4092. if (7 < a.length) throw new r("Too many arguments");
  4093. var b = new Oa,
  4094. c = new ja;
  4095. b.vg = c;
  4096. switch (a[1]) {
  4097. case "blue":
  4098. c.bb = [p.ta.X];
  4099. b.$ = p.ta;
  4100. break;
  4101. case "red":
  4102. c.bb = [p.ba.X];
  4103. b.$ = p.ba;
  4104. break;
  4105. default:
  4106. throw new r('First argument must be either "red" or "blue"');
  4107. }
  4108. if ("clear" == a[2]) return b;
  4109. c.Wc = 256 * K.parseInt(a[2]) / 360 | 0;
  4110. c.Tc = K.parseInt("0x" + a[3]);
  4111. if (4 < a.length) {
  4112. c.bb = [];
  4113. for (var d = 4, e = a.length; d < e;) c.bb.push(K.parseInt("0x" + a[d++]))
  4114. }
  4115. return b
  4116. };
  4117. ob.prototype = {
  4118. Oe: function(a) {
  4119. var b = this;
  4120. if ("/" != a.charAt(0)) return !1;
  4121. if (1 == a.length) return !0;
  4122. a = H.Sr(B.substr(a, 1, null)).split(" ");
  4123. var c = a[0];
  4124. switch (c) {
  4125. case "avatar":
  4126. 2 == a.length && (this.ql(a[1]), this.fa("Avatar set"));
  4127. break;
  4128. case "checksum":
  4129. a = this.va.L.T;
  4130. var d = a.o;
  4131. a.ye() ? this.fa('Current stadium is original: "' + d + '"') : (a = H.yg(a.jj(), 8), this.fa('Stadium: "' + d + '" (checksum: ' + a + ")"));
  4132. break;
  4133. case "clear_avatar":
  4134. this.ql(null);
  4135. this.fa("Avatar cleared");
  4136. break;
  4137. case "clear_bans":
  4138. null == this.Dd ? this.fa("Only the host can clear bans") :
  4139. (this.Dd(), this.fa("All bans have been cleared"));
  4140. break;
  4141. case "clear_password":
  4142. null == this.ig ? this.fa("Only the host can change the password") : (this.ig(null), this.fa("Password cleared"));
  4143. break;
  4144. case "colors":
  4145. try {
  4146. d = ob.mp(a), this.va.ma(d)
  4147. } catch (f) {
  4148. d = f instanceof r ? f.Na : f, "string" == typeof d && this.fa(d)
  4149. }
  4150. break;
  4151. case "extrapolation":
  4152. 2 == a.length ? (d = K.parseInt(a[1]), null != d && -200 <= d && 200 >= d ? (m.s.cd.Ra(d), this.va.rl(d), this.fa("Extrapolation set to " + d + " msec")) : this.fa("Extrapolation must be a value between -200 and 200 milliseconds")) :
  4153. this.fa("Extrapolation requires a value in milliseconds.");
  4154. break;
  4155. case "handicap":
  4156. 2 == a.length ? (d = K.parseInt(a[1]), null != d && 0 <= d && 300 >= d ? (this.va.xq(d), this.fa("Ping handicap set to " + d + " msec")) : this.fa("Ping handicap must be a value between 0 and 300 milliseconds")) : this.fa("Ping handicap requires a value in milliseconds.");
  4157. break;
  4158. case "set_password":
  4159. 2 == a.length && (null == this.ig ? this.fa("Only the host can change the password") : (this.ig(a[1]), this.fa("Password set")));
  4160. break;
  4161. case "store":
  4162. var e = this.va.L.T;
  4163. e.ye() ? this.fa("Can't store default stadium.") : Z.Qr().then(function() {
  4164. return Z.add(e)
  4165. }).then(function() {
  4166. b.fa("Stadium stored")
  4167. }, function() {
  4168. b.fa("Couldn't store stadium")
  4169. });
  4170. break;
  4171. default:
  4172. this.fa('Unrecognized command: "' + c + '"')
  4173. }
  4174. return !0
  4175. },
  4176. ql: function(a) {
  4177. null != a && (a = aa.td(a, 2));
  4178. m.s.Tg.Ra(a);
  4179. this.va.ma(pa.na(a))
  4180. },
  4181. g: ob
  4182. };
  4183. Ha.b = !0;
  4184. ca.b = !0;
  4185. ca.kl = function(a) {
  4186. var b = new Date;
  4187. Ca.nq(a, "HBReplay-" + b.getFullYear() + "-" + H.df("" + (b.getMonth() + 1)) + "-" + H.df("" + b.getDate()) + "-" + H.df("" + b.getHours()) + "h" + H.df("" + b.getMinutes()) +
  4188. "m.hbr2")
  4189. };
  4190. ca.Lp = function(a) {
  4191. for (var b = a.L.F, c = [], d = 0, e = 0, f = 0; f < b.length;) {
  4192. var g = b[f];
  4193. ++f;
  4194. g.$ == p.Ea && c.push(g.S);
  4195. g.$ == p.ba ? ++d : g.$ == p.ta && ++e
  4196. }
  4197. f = c.length;
  4198. 0 != f && (b = function() {
  4199. return c.splice(Math.random() * c.length | 0, 1)[0]
  4200. }, e == d ? 2 > f || (a.ma(Q.na(b(), p.ba)), a.ma(Q.na(b(), p.ta))) : (d = e > d ? p.ba : p.ta, a.ma(Q.na(b(), d))))
  4201. };
  4202. ca.prototype = {
  4203. Lq: function() {
  4204. this.pd = new Vb(this.va, 2)
  4205. },
  4206. Hq: function(a) {
  4207. var b = this;
  4208. a = new eb(a);
  4209. a.mb = function() {
  4210. b.j.$a(null)
  4211. };
  4212. a.Jh = function(a, d, e) {
  4213. b.va.ma(Y.na(a, d, e));
  4214. b.j.$a(null)
  4215. };
  4216. this.j.$a(a.f)
  4217. },
  4218. da: function() {
  4219. window.document.removeEventListener("keydown", F(this, this.nd));
  4220. window.document.removeEventListener("keyup", F(this, this.od));
  4221. window.onbeforeunload = null;
  4222. window.cancelAnimationFrame(this.le);
  4223. this.lb.da();
  4224. window.clearInterval(this.ih);
  4225. window.clearInterval(this.br);
  4226. window.clearTimeout(this.uf)
  4227. },
  4228. iq: function(a) {
  4229. for (var b = [], c = 0, d = this.va.L.F; c < d.length;) {
  4230. var e = d[c];
  4231. ++c;
  4232. e.$ == a && b.push(Q.na(e.S, p.Ea))
  4233. }
  4234. for (a = 0; a < b.length;) this.va.ma(b[a++])
  4235. },
  4236. Je: function() {
  4237. this.le = window.requestAnimationFrame(F(this,
  4238. this.Je));
  4239. this.lb.v();
  4240. this.va.v();
  4241. this.Ac()
  4242. },
  4243. Ac: function() {
  4244. var a = window.performance.now();
  4245. 1 == m.s.hh.I() && 28.333333333333336 > a - this.Mc || (this.Mc = a, this.dd++, this.Ye(), a = this.va.L.ka(this.va.lc), null != a && (this.Zh = a.ra), this.j.v(this.va))
  4246. },
  4247. Po: function(a) {
  4248. var b = this;
  4249. this.Yg.Oe(a) || this.Vm.ln(1, function() {
  4250. var c = new Ma;
  4251. c.ef = a;
  4252. b.va.ma(c)
  4253. })
  4254. },
  4255. Oo: function(a) {
  4256. var b = this;
  4257. this.ah = a;
  4258. null == this.uf && (this.uf = window.setTimeout(function() {
  4259. b.uf = null;
  4260. b.ol(b.ah)
  4261. }, 1E3), this.ol(this.ah))
  4262. },
  4263. ol: function(a) {
  4264. a != this.Xj && (this.va.ma(la.na(a ?
  4265. 0 : 1)), this.Xj = a)
  4266. },
  4267. Ll: function() {
  4268. if (null != this.va.L.G) {
  4269. var a = new Na;
  4270. a.ff = 120 != this.va.L.G.Fa;
  4271. this.va.ma(a)
  4272. }
  4273. },
  4274. nd: function(a) {
  4275. switch (a.keyCode) {
  4276. case 9:
  4277. case 13:
  4278. this.j.Ua.cb.focus();
  4279. a.preventDefault();
  4280. break;
  4281. case 27:
  4282. if (this.j.ko()) this.j.$a(null);
  4283. else {
  4284. var b = this.j;
  4285. b.Ud(!b.rd)
  4286. }
  4287. a.preventDefault();
  4288. break;
  4289. case 49:
  4290. m.s.Nb.Ra(1);
  4291. break;
  4292. case 50:
  4293. m.s.Nb.Ra(2);
  4294. break;
  4295. case 51:
  4296. m.s.Nb.Ra(3);
  4297. break;
  4298. case 52:
  4299. m.s.Nb.Ra(0);
  4300. break;
  4301. case 80:
  4302. this.Ll();
  4303. break;
  4304. default:
  4305. this.lb.nd(a.code)
  4306. }
  4307. },
  4308. Ye: function() {
  4309. var a = m.s.Nb.I(),
  4310. b = this.j.Ab,
  4311. c =
  4312. b.zb;
  4313. c.cg = m.s.fl.I();
  4314. 0 == a ? (b.jg(!0), c.Re = 1, c.Qe = 0, c.af = 0) : (b.jg(!1), c.af = 35, -1 == a ? c.Qe = 450 : (c.Qe = 0, c.Re = 1 + .25 * (a - 1)))
  4315. },
  4316. od: function(a) {
  4317. this.lb.od(a.code)
  4318. },
  4319. g: ca
  4320. };
  4321. zb.b = !0;
  4322. zb.prototype = {
  4323. ti: function(a) {
  4324. var b = this.j.Ua.uc,
  4325. c = [],
  4326. d = 0;
  4327. for (a = a.F; d < a.length;) {
  4328. var e = a[d];
  4329. ++d;
  4330. c.push({
  4331. o: e.o,
  4332. U: e.S
  4333. })
  4334. }
  4335. b.$i = c
  4336. },
  4337. Th: function(a) {
  4338. var b = this;
  4339. this.ti(a);
  4340. a.Ik = function(c) {
  4341. b.j.Ua.Gb("" + c.o + " has joined");
  4342. m.Xa.Md(m.Xa.lo);
  4343. b.ti(a)
  4344. };
  4345. a.Jk = function(c, d, e, f) {
  4346. x.i(b.Xo, c.S);
  4347. null == d ? c = "" + c.o + " has left" : (f = f.o, Sb.i(b.Wo, c.S, d, f, e), c =
  4348. "" + c.o + " was " + (e ? "banned" : "kicked") + " by " + f + " " + ("" != d ? " (" + d + ")" : ""));
  4349. b.j.Ua.Gb(c);
  4350. m.Xa.Md(m.Xa.oo);
  4351. b.ti(a)
  4352. };
  4353. a.Gk = function(a, d) {
  4354. var c = null != b.th && -1 != d.indexOf(b.th);
  4355. b.j.Ua.fa("" + a.o + ": " + d, c ? "highlight" : null);
  4356. m.s.yl.I() && c ? m.Xa.Md(m.Xa.eo) : m.s.wl.I() && m.Xa.Md(m.Xa.Um)
  4357. };
  4358. a.Oh = function() {
  4359. m.Xa.Md(m.Xa.mo)
  4360. };
  4361. a.mi = function(a) {
  4362. m.Xa.Md(m.Xa.Rn);
  4363. var c = b.j.Ab.zb.ed;
  4364. c.Ga(a == p.ba ? c.Sp : c.Mm)
  4365. };
  4366. a.ni = function(a) {
  4367. var c = b.j.Ab.zb.ed;
  4368. c.Ga(a == p.ba ? c.Tp : c.Nm);
  4369. b.j.Ua.Gb("" + a.o + " team won the match")
  4370. };
  4371. a.Bk = function(a,
  4372. d, e) {
  4373. d && !e && b.j.Ua.Gb("Game paused by " + a.o)
  4374. };
  4375. a.oi = function() {
  4376. var a = b.j.Ab.zb.ed;
  4377. a.Ga(a.Mq)
  4378. };
  4379. a.ji = function(a) {
  4380. b.j.Ud(!1);
  4381. b.j.Ab.zb.ed.Zm();
  4382. b.j.Ua.Gb("Game started by " + a.o)
  4383. };
  4384. a.Ze = function(a) {
  4385. null != a && b.j.Ua.Gb("Game stopped by " + a.o)
  4386. };
  4387. a.hi = function(a, d) {
  4388. if (!d.ye()) {
  4389. var c = H.yg(d.jj(), 8);
  4390. b.j.Ua.Gb("" + a.o + ' loaded "' + d.o + '" (' + c + ")")
  4391. }
  4392. };
  4393. a.Hk = function(a) {
  4394. b.j.Ua.Gb("" + a.o + " " + (a.vd ? "has desynchronized" : "is back in sync"))
  4395. };
  4396. a.Mk = function(c, d, e) {
  4397. null != a.G && b.j.Ua.Gb("" + d.o + " was moved to " + e.o + " by " + c.o)
  4398. };
  4399. a.Nh = function(a, d) {
  4400. var c = d.o,
  4401. f = a.o;
  4402. b.j.Ua.Gb(d.ra ? "" + c + " was given admin rights by " + f : "" + c + "'s admin rights were taken away by " + f)
  4403. };
  4404. a.Lk = function(a, d) {
  4405. b.j.Ab.zb.Yn(a, d)
  4406. }
  4407. },
  4408. Xq: function(a) {
  4409. a.Ik = null;
  4410. a.Jk = null;
  4411. a.Gk = null;
  4412. a.Oh = null;
  4413. a.mi = null;
  4414. a.ni = null;
  4415. a.Bk = null;
  4416. a.oi = null;
  4417. a.ji = null;
  4418. a.Ze = null;
  4419. a.hi = null;
  4420. a.Hk = null;
  4421. a.Mk = null;
  4422. a.Nh = null;
  4423. a.Lk = null
  4424. },
  4425. g: zb
  4426. };
  4427. Qa.b = !0;
  4428. Qa.Vj = function(a) {
  4429. switch (m.s.Wf.I().I(a)) {
  4430. case "Down":
  4431. return 2;
  4432. case "Kick":
  4433. return 16;
  4434. case "Left":
  4435. return 4;
  4436. case "Right":
  4437. return 8;
  4438. case "Up":
  4439. return 1;
  4440. default:
  4441. return 0
  4442. }
  4443. };
  4444. Qa.prototype = {
  4445. da: function() {
  4446. window.document.removeEventListener("focusout", F(this, this.nk))
  4447. },
  4448. v: function() {
  4449. var a = this.Gd;
  4450. if (null != this.Rf && a != this.Ef) {
  4451. this.Ef = a;
  4452. var b = new Ga;
  4453. b.input = a;
  4454. this.Rf(b)
  4455. }
  4456. },
  4457. nd: function(a) {
  4458. this.Gd |= Qa.Vj(a)
  4459. },
  4460. od: function(a) {
  4461. this.Gd &= ~Qa.Vj(a)
  4462. },
  4463. nk: function() {
  4464. if (null != this.Rf && 0 != this.Ef) {
  4465. this.Ef = this.Gd = 0;
  4466. var a = new Ga;
  4467. a.input = 0;
  4468. this.Rf(a)
  4469. }
  4470. },
  4471. g: Qa
  4472. };
  4473. R.b = !0;
  4474. R.jh = function(a) {
  4475. return R.xf(JSON.parse(a))
  4476. };
  4477. R.xf = function(a) {
  4478. var b = new R;
  4479. b.xc = a.lat;
  4480. b.yc = a.lon;
  4481. b.rb = a.code.toLowerCase();
  4482. return b
  4483. };
  4484. R.On = function() {
  4485. return M.Kj(m.nf + "api/geo").then(function(a) {
  4486. return R.xf(a)
  4487. })
  4488. };
  4489. R.prototype = {
  4490. $d: function() {
  4491. return JSON.stringify({
  4492. lat: this.xc,
  4493. lon: this.yc,
  4494. code: this.rb
  4495. })
  4496. },
  4497. g: R
  4498. };
  4499. Rb.b = !0;
  4500. Rb.prototype = {
  4501. nh: function() {
  4502. return null != this.we.I() ? this.we.I() : null != this.ve.I() ? this.ve.I() : new R
  4503. },
  4504. g: Rb
  4505. };
  4506. Qb.b = !0;
  4507. Qb.am = function() {
  4508. try {
  4509. var a = window.localStorage;
  4510. a.getItem("");
  4511. if (0 == a.length) {
  4512. var b = "_hx_" + Math.random();
  4513. a.setItem(b, b);
  4514. a.removeItem(b)
  4515. }
  4516. return a
  4517. } catch (c) {
  4518. return null
  4519. }
  4520. };
  4521. va.b = !0;
  4522. va.prototype = {
  4523. I: function() {
  4524. return this.Rl
  4525. },
  4526. Ra: function(a) {
  4527. this.Rl = a;
  4528. if (null != this.Bh) try {
  4529. var b = this.gr(a);
  4530. null == b ? this.Bh.removeItem(this.o) : this.Bh.setItem(this.o, b)
  4531. } catch (c) {}
  4532. },
  4533. g: va
  4534. };
  4535. U.b = !0;
  4536. U.xf = function(a) {
  4537. for (var b = new U, c = Zb.Yl(a), d = 0; d < c.length;) {
  4538. var e = c[d];
  4539. ++d;
  4540. b.Lc.set(e, a[e])
  4541. }
  4542. return b
  4543. };
  4544. U.jh = function(a) {
  4545. return U.xf(JSON.parse(a))
  4546. };
  4547. U.rj = function() {
  4548. var a = new U;
  4549. a.Ga("ArrowUp", "Up");
  4550. a.Ga("KeyW", "Up");
  4551. a.Ga("ArrowDown", "Down");
  4552. a.Ga("KeyS", "Down");
  4553. a.Ga("ArrowLeft", "Left");
  4554. a.Ga("KeyA", "Left");
  4555. a.Ga("ArrowRight", "Right");
  4556. a.Ga("KeyD", "Right");
  4557. a.Ga("KeyX", "Kick");
  4558. a.Ga("Space", "Kick");
  4559. a.Ga("ControlLeft", "Kick");
  4560. a.Ga("ControlRight", "Kick");
  4561. a.Ga("ShiftLeft", "Kick");
  4562. a.Ga("ShiftRight", "Kick");
  4563. a.Ga("Numpad0", "Kick");
  4564. return a
  4565. };
  4566. U.prototype = {
  4567. Ga: function(a, b) {
  4568. this.Lc.set(a, b)
  4569. },
  4570. I: function(a) {
  4571. return this.Lc.get(a)
  4572. },
  4573. Wp: function(a) {
  4574. this.Lc["delete"](a)
  4575. },
  4576. Nn: function(a) {
  4577. for (var b = [], c = this.Lc.keys(), d = c.next(); !d.done;) {
  4578. var e = d.value,
  4579. d = c.next();
  4580. this.Lc.get(e) == a && b.push(e)
  4581. }
  4582. return b
  4583. },
  4584. $d: function() {
  4585. for (var a = {}, b = this.Lc.keys(), c = b.next(); !c.done;) {
  4586. var d =
  4587. c.value,
  4588. c = b.next();
  4589. a[d] = this.Lc.get(d)
  4590. }
  4591. return JSON.stringify(a)
  4592. },
  4593. g: U
  4594. };
  4595. m.b = !0;
  4596. Pb.b = !0;
  4597. Pb.prototype = {
  4598. g: Pb
  4599. };
  4600. v.b = !0;
  4601. v.yo = function() {
  4602. fc.Fr();
  4603. w.Ci(function() {
  4604. v.Bj(v.Hp)
  4605. });
  4606. v.ro()
  4607. };
  4608. v.ro = function() {
  4609. var a = m.s.Zi.I();
  4610. if (null == a) G.Hn().then(function(a) {
  4611. v.se = a;
  4612. m.s.Zi.Ra(a.Uq())
  4613. })["catch"](function() {
  4614. return {}
  4615. });
  4616. else G.Gn(a).then(function(a) {
  4617. return v.se = a
  4618. })["catch"](function() {
  4619. return {}
  4620. })
  4621. };
  4622. v.Kn = function() {
  4623. var a = Qb.am();
  4624. return null != a ? null != a.getItem("crappy_router") : !1
  4625. };
  4626. v.Bj = function(a) {
  4627. var b = new jb(m.s.Nd.I());
  4628. b.qk = function(b) {
  4629. m.s.Nd.Ra(b);
  4630. m.Xa.gl();
  4631. a()
  4632. };
  4633. w.Ma(b.f);
  4634. b.yb.focus()
  4635. };
  4636. v.Cj = function(a, b) {
  4637. var c = new O(a);
  4638. c.Za = b;
  4639. w.Ma(c.f)
  4640. };
  4641. v.Hp = function() {
  4642. var a = Ab.I(),
  4643. b = a.get("c"),
  4644. c = a.get("p");
  4645. a.get("v");
  4646. null != b ? null != c ? v.fh(b) : v.vf(b) : v.Fb()
  4647. };
  4648. v.Fb = function() {
  4649. var a = new Aa(m.s.nh());
  4650. w.Ma(a.Ba);
  4651. a.im = function(b) {
  4652. if (8 != b.gd.sd) {
  4653. var c;
  4654. 8 > b.gd.sd ? (b = "Old version room", c = "The room is running an older version, an update must have happened recently.") : (b = "New version", c = "The room is running a new version of haxball, refresh the site to update.");
  4655. var d = new T(b, c, ["Ok"]);
  4656. w.Ma(d.f);
  4657. d.Za = function() {
  4658. w.Ma(a.Ba);
  4659. return d.Za = null
  4660. }
  4661. } else b.gd.Bb ? v.fh(b.U) : v.vf(b.U)
  4662. };
  4663. a.Ir = function() {
  4664. v.xn()
  4665. };
  4666. a.Hr = function() {
  4667. v.Bj(v.Fb)
  4668. };
  4669. a.Kr = function() {
  4670. v.Ej()
  4671. };
  4672. a.Jr = function(a) {
  4673. v.yn(a)
  4674. }
  4675. };
  4676. v.Ej = function() {
  4677. var a = new ba(!0),
  4678. b = window.document.createElement("div");
  4679. b.className = "view-wrapper";
  4680. b.appendChild(a.f);
  4681. w.Ma(b);
  4682. a.mb = function() {
  4683. v.Fb()
  4684. };
  4685. a.No = function() {
  4686. var a = new lb,
  4687. b = window.document.createElement("div");
  4688. b.className = "view-wrapper";
  4689. b.appendChild(a.f);
  4690. w.Ma(b);
  4691. return a.mb = function() {
  4692. v.Ej()
  4693. }
  4694. }
  4695. };
  4696. v.Eh = function(a, b) {
  4697. return "" + window.location.origin + "/play?c=" + a + (b ? "&p=1" : "")
  4698. };
  4699. v.xn = function() {
  4700. var a = m.s.Nd.I(),
  4701. b = new hb("" + a + "'s room");
  4702. w.Ma(b.f);
  4703. b.Hh = function() {
  4704. v.Fb()
  4705. };
  4706. b.So = function(b) {
  4707. function c() {
  4708. if (!b.Wr) {
  4709. var a = new yb;
  4710. a.sd = 8;
  4711. a.o = g.$b;
  4712. a.F = g.F.length;
  4713. a.Ee = k.Jf + 1;
  4714. a.rb = f.rb;
  4715. a.Bb = null != k.Bb;
  4716. a.xc = f.xc;
  4717. a.yc = f.yc;
  4718. var c = u.ca(16);
  4719. a.aa(c);
  4720. a = c.ng();
  4721. k.fi(a)
  4722. }
  4723. }
  4724. w.Ma((new T("Creating room", "Connecting...", [])).f);
  4725. var e = null,
  4726. f = m.s.nh(),
  4727. g = new fa;
  4728. g.$b = b.name;
  4729. var n = new ea;
  4730. n.o = a;
  4731. n.ra = !0;
  4732. n.ud = f.rb;
  4733. n.jb = m.s.Tg.I();
  4734. g.F.push(n);
  4735. var k = new Eb({
  4736. iceServers: m.Bf,
  4737. Fi: m.nf + "api/host",
  4738. state: g,
  4739. version: 8
  4740. });
  4741. k.Jf = b.Cr - 1;
  4742. k.Bb = b.password;
  4743. c();
  4744. var h = new ca(k),
  4745. l = !1;
  4746. k.Me = function(a, b) {
  4747. v.Cj(a, function(a) {
  4748. b(a);
  4749. w.Ma(h.j.f);
  4750. return l = !0
  4751. })
  4752. };
  4753. var p = window.setInterval(function() {
  4754. var a = ka.na(k);
  4755. k.ma(a)
  4756. }, 3E3);
  4757. k.mk = function(a) {
  4758. null != g.ka(a) && (a = Y.na(a, "Bad actor", !1), k.ma(a))
  4759. };
  4760. k.Qo = function(a, b) {
  4761. var d = b.mc();
  4762. if (25 < d.length) throw new r("name too long");
  4763. var e = b.mc();
  4764. if (3 < e.length) throw new r("country too long");
  4765. var f = b.Ib();
  4766. if (null != f && 2 < f.length) throw new r("avatar too long");
  4767. d = ma.na(a, d, e, f);
  4768. k.ma(d);
  4769. c()
  4770. };
  4771. k.Ro = function(a) {
  4772. null != g.ka(a) && (a = Y.na(a, null, !1), k.ma(a))
  4773. };
  4774. k.Of = function(a) {
  4775. e = a;
  4776. h.eg = v.Eh(a, null != k.Bb);
  4777. l || (l = !0, w.Ma(h.j.f))
  4778. };
  4779. h.kh.Wo = function(a, b, c, d) {
  4780. k.Cn(a, b, c, d)
  4781. };
  4782. h.kh.Xo = function() {
  4783. c()
  4784. };
  4785. h.j.Kd = function() {
  4786. k.da();
  4787. h.da();
  4788. v.Fb();
  4789. window.clearInterval(p)
  4790. };
  4791. h.Yg.ig = function(a) {
  4792. k.Bb = a;
  4793. c();
  4794. null != e && (h.eg = v.Eh(e, null != k.Bb))
  4795. };
  4796. h.Yg.Dd = F(k, k.Dd)
  4797. }
  4798. };
  4799. v.fh = function(a) {
  4800. var b = new Xa;
  4801. w.Ma(b.f);
  4802. b.Za = function(b) {
  4803. null == b ? v.Fb() : v.vf(a, b)
  4804. }
  4805. };
  4806. v.yn = function(a) {
  4807. try {
  4808. var b = new Ob(new Cb(new Uint8Array(a),
  4809. new fa, 2));
  4810. b.Rd.Kd = function() {
  4811. b.da();
  4812. v.Fb()
  4813. };
  4814. w.Ma(b.j.f)
  4815. } catch (e) {
  4816. var c = e instanceof r ? e.Na : e;
  4817. if (c instanceof Db) a = new T("Incompatible replay version", "The replay file is of a different version", ["Open player", "Cancel"]), w.Ma(a.f), a.Za = function(a) {
  4818. 0 == a ? (a = window.top.location, window.top.open(a.protocol + "//" + a.hostname + (null != a.port ? ":" + a.port : "") + "/replay?v=" + c.sd, "_self")) : v.Fb()
  4819. };
  4820. else {
  4821. var d = new T("Replay error", "Couldn't load the file.", ["Ok"]);
  4822. w.Ma(d.f);
  4823. d.Za = function() {
  4824. d.Za = null;
  4825. v.Fb()
  4826. }
  4827. }
  4828. }
  4829. };
  4830. v.vf =
  4831. function(a, b) {
  4832. try {
  4833. var c = v.Kn(),
  4834. d = new fa,
  4835. e = u.ca();
  4836. e.rc(m.s.Nd.I());
  4837. e.rc(m.s.nh().rb);
  4838. e.Pb(m.s.Tg.I());
  4839. var f = m.Bf,
  4840. g = m.hr,
  4841. n = e.ng(),
  4842. k = new wa(a, {
  4843. iceServers: f,
  4844. Fi: g,
  4845. state: d,
  4846. version: 8,
  4847. Yr: n,
  4848. password: b,
  4849. nm: c,
  4850. pm: m.s.Mp.I(),
  4851. qr: v.se
  4852. }),
  4853. h = new ib;
  4854. h.fa("Connecting to master...");
  4855. h.Wg.onclick = function() {
  4856. k.md = null;
  4857. k.Le = null;
  4858. k.da();
  4859. v.Fb()
  4860. };
  4861. w.Ma(h.f);
  4862. var l = function(a, b) {
  4863. var c = new gb(a, b);
  4864. c.Za = function() {
  4865. v.Fb()
  4866. };
  4867. w.Ma(c.f)
  4868. },
  4869. p = function() {
  4870. var b = new ca(k);
  4871. k.rk = function(a) {
  4872. b.j.Wd.Cq((10 * k.Vf.Cg(.5) | 0) / 10);
  4873. b.j.Wd.Aq((10 * k.Vf.max() |
  4874. 0) / 10);
  4875. b.j.Wd.Ck.Em(a)
  4876. };
  4877. b.eg = v.Eh(a, !1);
  4878. w.Ma(b.j.f);
  4879. b.j.Kd = function() {
  4880. k.md = null;
  4881. k.da();
  4882. b.da();
  4883. v.Fb()
  4884. };
  4885. k.md = function() {
  4886. k.md = null;
  4887. b.da();
  4888. var a = null == b.pd ? null : b.pd.stop();
  4889. l(k.wj, a)
  4890. }
  4891. };
  4892. k.Le = function(c) {
  4893. k.Le = null;
  4894. k.md = null;
  4895. if (1 == c.ub) switch (c.reason) {
  4896. case 4002:
  4897. v.Cj(m.Qp, function() {
  4898. v.vf(a, b)
  4899. });
  4900. break;
  4901. case 4101:
  4902. null == b ? v.fh(a) : l(wa.Zg(c), null);
  4903. break;
  4904. default:
  4905. l(wa.Zg(c), null)
  4906. } else l(wa.Zg(c), null)
  4907. };
  4908. k.md = function(a) {
  4909. switch (a) {
  4910. case 1:
  4911. h.fa("Connecting to peer...");
  4912. break;
  4913. case 2:
  4914. h.fa("Awaiting state...");
  4915. break;
  4916. case 3:
  4917. p()
  4918. }
  4919. };
  4920. k.ap = function() {
  4921. h.fa("Trying reverse connection...")
  4922. }
  4923. } catch (W) {
  4924. window.console.log(W instanceof r ? W.Na : W), c = new T("Unexpected Error", "", []), c.re.innerHTML = "An error ocurred while attempting to join the room.<br><br>This might be caused by a browser extension, try disabling all extensions and refreshing the site.<br><br>The error has been printed to the inspector console.", w.Ma(c.f)
  4925. }
  4926. };
  4927. w.b = !0;
  4928. w.wr = function() {
  4929. try {
  4930. return window.self != window.top
  4931. } catch (a) {
  4932. return !0
  4933. }
  4934. };
  4935. w.zg = function(a) {
  4936. return new Promise(function(b,
  4937. c) {
  4938. var d = window.document.createElement("img");
  4939. d.onload = function() {
  4940. URL.revokeObjectURL(d.src);
  4941. d.onload = null;
  4942. b(d)
  4943. };
  4944. d.onerror = function() {
  4945. URL.revokeObjectURL(d.src);
  4946. c(null)
  4947. };
  4948. return d.src = URL.createObjectURL(new Blob([a], {
  4949. type: "image/png"
  4950. }))
  4951. })
  4952. };
  4953. w.Ci = function(a) {
  4954. w.wr() && w.rr(function() {
  4955. dc.Ci();
  4956. var b;
  4957. null == m.s.ve.I() ? R.On().then(function(a) {
  4958. m.s.ve.Ra(a)
  4959. }, function() {
  4960. return {}
  4961. }) : b = Promise.resolve(null);
  4962. return Promise.all([M.I("res.dat", "arraybuffer").then(function(a) {
  4963. a = new JSZip(a);
  4964. m.Xa = new Nb(a);
  4965. return Promise.all([m.Xa.An,
  4966. w.zg(a.file("images/grass.png").asArrayBuffer()).then(function(a) {
  4967. return m.Tn = a
  4968. }), w.zg(a.file("images/concrete.png").asArrayBuffer()).then(function(a) {
  4969. return m.gn = a
  4970. }), w.zg(a.file("images/concrete2.png").asArrayBuffer()).then(function(a) {
  4971. return m.en = a
  4972. }), w.zg(a.file("images/typing.png").asArrayBuffer()).then(function(a) {
  4973. return m.Nl = a
  4974. })
  4975. ])
  4976. }), b]).then(function() {
  4977. w.Gr(a)
  4978. })
  4979. })
  4980. };
  4981. w.rr = function(a) {
  4982. for (var b = Modernizr, c = "canvas datachannel dataview es6collections peerconnection promises websockets".split(" "),
  4983. d = [], e = 0; e < c.length;) {
  4984. var f = c[e];
  4985. ++e;
  4986. b[f] || d.push(f)
  4987. }
  4988. 0 != d.length ? (window.document.body.innerHTML = "", w.sg = window.document.createElement("div"), window.document.body.appendChild(w.sg), a = new Ua(d), w.Ma(a.f)) : a()
  4989. };
  4990. w.Gr = function(a) {
  4991. window.document.body.innerHTML = "";
  4992. w.sg = window.document.createElement("div");
  4993. window.document.body.appendChild(w.sg);
  4994. var b = null,
  4995. b = function() {
  4996. m.Xa.gl();
  4997. window.document.removeEventListener("click", b, !0)
  4998. };
  4999. window.document.addEventListener("click", b, !0);
  5000. a()
  5001. };
  5002. w.Ma = function(a) {
  5003. null !=
  5004. w.fm && w.fm.remove();
  5005. null != a && (w.sg.appendChild(a), w.fm = a)
  5006. };
  5007. Ob.b = !0;
  5008. Ob.prototype = {
  5009. da: function() {
  5010. window.document.removeEventListener("keydown", F(this, this.nd));
  5011. window.document.removeEventListener("keyup", F(this, this.od));
  5012. window.onbeforeunload = null;
  5013. window.cancelAnimationFrame(this.le);
  5014. window.clearInterval(this.ih)
  5015. },
  5016. Je: function() {
  5017. this.le = window.requestAnimationFrame(F(this, this.Je));
  5018. this.va.v();
  5019. this.Ac()
  5020. },
  5021. Ac: function() {
  5022. this.Rd.v();
  5023. var a = window.performance.now();
  5024. 1 == m.s.hh.I() && 28.333333333333336 > a - this.Mc ||
  5025. (this.Mc = a, this.dd++, this.Ye(m.s.Nb.I()), 0 < this.va.qd || this.j.v(this.va))
  5026. },
  5027. nd: function(a) {
  5028. switch (a.keyCode) {
  5029. case 27:
  5030. var b = this.j;
  5031. b.Ud(!b.rd);
  5032. a.preventDefault();
  5033. break;
  5034. case 49:
  5035. m.s.Nb.Ra(1);
  5036. break;
  5037. case 50:
  5038. m.s.Nb.Ra(2);
  5039. break;
  5040. case 51:
  5041. m.s.Nb.Ra(3);
  5042. break;
  5043. case 52:
  5044. m.s.Nb.Ra(0)
  5045. }
  5046. },
  5047. Ye: function(a) {
  5048. var b = this.j.Ab;
  5049. 0 >= a ? (b.jg(!0), b.zb.Re = 1, b.zb.af = 0) : (b.jg(!1), b.zb.af = 35, b.zb.Re = 1 + .25 * (a - 1))
  5050. },
  5051. od: function() {},
  5052. g: Ob
  5053. };
  5054. yb.b = !0;
  5055. yb.prototype = {
  5056. hj: function() {
  5057. this.o = aa.td(this.o, 40);
  5058. this.rb = aa.td(this.rb, 3)
  5059. },
  5060. aa: function(a) {
  5061. this.hj();
  5062. a.Ia = !0;
  5063. a.qc(this.sd);
  5064. a.Tl(this.o);
  5065. a.Tl(this.rb);
  5066. a.Sl(this.xc);
  5067. a.Sl(this.yc);
  5068. a.u(this.Bb ? 1 : 0);
  5069. a.u(this.Ee);
  5070. a.u(this.F);
  5071. a.Ia = !1
  5072. },
  5073. ea: function(a) {
  5074. a.Ia = !0;
  5075. this.sd = a.Zb();
  5076. this.o = a.Tk();
  5077. this.rb = a.Tk();
  5078. this.xc = a.Rk();
  5079. this.yc = a.Rk();
  5080. this.Bb = 0 != a.K();
  5081. this.Ee = a.K();
  5082. this.F = a.K();
  5083. a.Ia = !1;
  5084. if (30 < this.F || 30 < this.Ee) throw new r(null);
  5085. this.hj()
  5086. },
  5087. g: yb
  5088. };
  5089. ua.b = !0;
  5090. ua.parse = function(a) {
  5091. a.K();
  5092. for (var b = []; 0 != a.m.byteLength - a.a;) {
  5093. var c = a.Qd(a.Zb()),
  5094. d = a.Qk(a.Zb());
  5095. try {
  5096. var e = new yb;
  5097. e.ea(new D(new DataView(d), !1));
  5098. var f = new Pb;
  5099. f.gd = e;
  5100. f.U = c;
  5101. b.push(f)
  5102. } catch (g) {}
  5103. }
  5104. return b
  5105. };
  5106. ua.vr = function(a, b, c, d) {
  5107. return Math.acos(Math.sin(a) * Math.sin(c) + Math.cos(a) * Math.cos(c) * Math.cos(b - d))
  5108. };
  5109. ua.Tr = function(a, b) {
  5110. for (var c = a.xc, d = a.yc, e = 0; e < b.length;) {
  5111. var f = b[e];
  5112. ++e;
  5113. var g = f.gd;
  5114. f.ue = 6378 * ua.vr(.017453292519943295 * g.xc, .017453292519943295 * g.yc, .017453292519943295 * c, .017453292519943295 * d);
  5115. isFinite(f.ue) || (f.ue = 22E3)
  5116. }
  5117. };
  5118. ua.get = function() {
  5119. return M.I(m.nf + "api/list", "arraybuffer").then(function(a) {
  5120. return ua.parse(new D(new DataView(a), !1))
  5121. })
  5122. };
  5123. Z.b = !0;
  5124. Z["delete"] = function(a) {
  5125. return null == window.indexedDB ? Promise.reject("IndexedDB not supported by browser.") : new Promise(function(b, c) {
  5126. var d = window.indexedDB.open("stadiums", 1);
  5127. d.onblocked = d.onerror = c;
  5128. d.onupgradeneeded = function(a) {
  5129. var b = d.result;
  5130. b.onerror = c;
  5131. 1 > a.oldVersion && (b.createObjectStore("files", {
  5132. autoIncrement: !0
  5133. }), b.createObjectStore("meta", {
  5134. keyPath: "id"
  5135. }))
  5136. };
  5137. d.onsuccess = function() {
  5138. var e = d.result;
  5139. e.onerror = c;
  5140. var f = e.transaction(["meta", "files"], "readwrite");
  5141. f.onerror = f.onabort = function(a) {
  5142. c(a);
  5143. e.close()
  5144. };
  5145. f.oncomplete = function() {
  5146. b(0);
  5147. e.close()
  5148. };
  5149. f.objectStore("files")["delete"](a);
  5150. f.objectStore("meta")["delete"](a)
  5151. }
  5152. })
  5153. };
  5154. Z.get = function(a) {
  5155. return null == window.indexedDB ? Promise.reject("IndexedDB not supported by browser.") : new Promise(function(b, c) {
  5156. var d = window.indexedDB.open("stadiums", 1);
  5157. d.onblocked = d.onerror = c;
  5158. d.onupgradeneeded = function(a) {
  5159. var b = d.result;
  5160. b.onerror = c;
  5161. 1 > a.oldVersion && (b.createObjectStore("files", {
  5162. autoIncrement: !0
  5163. }), b.createObjectStore("meta", {
  5164. keyPath: "id"
  5165. }))
  5166. };
  5167. d.onsuccess = function() {
  5168. var e =
  5169. d.result;
  5170. e.onerror = c;
  5171. var f = e.transaction(["files"]);
  5172. f.onerror = f.onabort = function(a) {
  5173. c(a);
  5174. e.close()
  5175. };
  5176. f.oncomplete = function() {
  5177. e.close()
  5178. };
  5179. sb.Gg(f.objectStore("files").get(a)).then(function(a) {
  5180. try {
  5181. var d = new h;
  5182. d.$j(a);
  5183. b(d)
  5184. } catch (k) {
  5185. c(k instanceof r ? k.Na : k)
  5186. }
  5187. }, c)
  5188. }
  5189. })
  5190. };
  5191. Z.getAll = function() {
  5192. return null == window.indexedDB ? Promise.reject("IndexedDB not supported by browser.") : new Promise(function(a, b) {
  5193. var c = window.indexedDB.open("stadiums", 1);
  5194. c.onblocked = c.onerror = b;
  5195. c.onupgradeneeded = function(a) {
  5196. var d = c.result;
  5197. d.onerror = b;
  5198. 1 > a.oldVersion && (d.createObjectStore("files", {
  5199. autoIncrement: !0
  5200. }), d.createObjectStore("meta", {
  5201. keyPath: "id"
  5202. }))
  5203. };
  5204. c.onsuccess = function() {
  5205. var d = c.result;
  5206. d.onerror = b;
  5207. var e = d.transaction(["meta"]);
  5208. e.onerror = e.onabort = function(a) {
  5209. b(a);
  5210. d.close()
  5211. };
  5212. e.oncomplete = function() {
  5213. d.close()
  5214. };
  5215. sb.Gg(e.objectStore("meta").getAll()).then(a, b)
  5216. }
  5217. })
  5218. };
  5219. Z.Qr = function() {
  5220. var a = window.navigator.storage;
  5221. if (null == a || null == a.persist) return Promise.resolve(!1);
  5222. try {
  5223. return a.persisted().then(function(b) {
  5224. return b ? !0 : a.persist()
  5225. })["catch"](function() {
  5226. return !1
  5227. })
  5228. } catch (b) {
  5229. return Promise.resolve(!1)
  5230. }
  5231. };
  5232. Z.add = function(a) {
  5233. return null == window.indexedDB ? Promise.reject("IndexedDB not supported by browser.") : new Promise(function(b, c) {
  5234. var d = window.indexedDB.open("stadiums", 1);
  5235. d.onblocked = d.onerror = c;
  5236. d.onupgradeneeded = function(a) {
  5237. var b = d.result;
  5238. b.onerror = c;
  5239. 1 > a.oldVersion && (b.createObjectStore("files", {
  5240. autoIncrement: !0
  5241. }), b.createObjectStore("meta", {
  5242. keyPath: "id"
  5243. }))
  5244. };
  5245. d.onsuccess = function() {
  5246. var e = d.result;
  5247. e.onerror = c;
  5248. var f = e.transaction(["files", "meta"], "readwrite");
  5249. f.onerror = f.onabort = function(a) {
  5250. c(a);
  5251. e.close()
  5252. };
  5253. f.oncomplete = function() {
  5254. b(0);
  5255. e.close()
  5256. };
  5257. try {
  5258. sb.Gg(f.objectStore("files").add(a.$d())).then(function(b) {
  5259. b = {
  5260. name: a.o,
  5261. id: b
  5262. };
  5263. return sb.Gg(f.objectStore("meta").add(b))
  5264. })["catch"](c)
  5265. } catch (g) {
  5266. c(0)
  5267. }
  5268. }
  5269. })
  5270. };
  5271. Nb.b = !0;
  5272. Nb.prototype = {
  5273. gl: function() {
  5274. this.c.resume()
  5275. },
  5276. Md: function(a) {
  5277. var b = this.c.createBufferSource();
  5278. b.buffer = a;
  5279. b.connect(this.Gf);
  5280. b.start()
  5281. },
  5282. tl: function(a) {
  5283. this.Gf.gain.value = a
  5284. },
  5285. g: Nb
  5286. };
  5287. Mb.b = !0;
  5288. Mb.prototype = {
  5289. update: function() {
  5290. var a = window.performance.now(),
  5291. b = a - this.em;
  5292. this.em = a;
  5293. this.ce += (this.Fg - this.ce) *
  5294. this.Vr;
  5295. this.jf -= b;
  5296. 0 >= this.jf && (this.jf = this.Fg = 0);
  5297. 0 >= this.Fg && .05 > this.ce && (window.clearInterval(this.Ig), this.Ig = null, this.ce = 0);
  5298. this.wg.gain.value = m.s.xl.I() ? this.ce : 0
  5299. },
  5300. Li: function(a) {
  5301. var b = this;
  5302. this.Fg = a;
  5303. this.jf = 166.66666666666666;
  5304. null == this.Ig && (this.Ig = window.setInterval(function() {
  5305. b.update()
  5306. }, 17), this.em = window.performance.now())
  5307. },
  5308. connect: function(a) {
  5309. this.wg.connect(a)
  5310. },
  5311. Xr: function(a) {
  5312. var b = a.G;
  5313. if (null != b)
  5314. if (2 == b.xb) 0 >= b.Fa && this.Li(1);
  5315. else if (1 == b.xb) {
  5316. var c = b.wa.J[b.ec],
  5317. d = null,
  5318. e = null,
  5319. f = null,
  5320. g = 0,
  5321. n = null,
  5322. k = null,
  5323. h = null,
  5324. l = 0,
  5325. m = p.ba.eh,
  5326. r = 0;
  5327. for (a = a.F; r < a.length;) {
  5328. var q = a[r];
  5329. ++r;
  5330. if (null != q.D) {
  5331. var t = q.D.a,
  5332. v = c.a,
  5333. u = t.x - v.x,
  5334. t = t.y - v.y,
  5335. u = u * u + t * t;
  5336. if (q.$ == p.ba) {
  5337. if (null == d || d.a.x * m < q.D.a.x * m) d = q.D;
  5338. if (null == e || e.a.x * m > q.D.a.x * m) e = q.D;
  5339. if (null == f || u < g) f = q.D, g = u
  5340. } else if (q.$ == p.ta) {
  5341. if (null == n || n.a.x * m < q.D.a.x * m) n = q.D;
  5342. if (null == k || k.a.x * m > q.D.a.x * m) k = q.D;
  5343. if (null == h || u < l) h = q.D, l = u
  5344. }
  5345. }
  5346. }
  5347. null != k && null != e && 0 >= b.Fa && (f.a.x > k.a.x && c.a.x > k.a.x && 20 < c.a.x && this.Li(.3), h.a.x < e.a.x && c.a.x < e.a.x && -20 > c.a.x && this.Li(.3))
  5348. }
  5349. },
  5350. g: Mb
  5351. };
  5352. ta.b = !0;
  5353. ta.prototype = {
  5354. aa: function(a) {
  5355. var b = this.a;
  5356. a.w(b.x);
  5357. a.w(b.y);
  5358. b = this.M;
  5359. a.w(b.x);
  5360. a.w(b.y);
  5361. a.w(this.la);
  5362. a.w(this.l);
  5363. a.w(this.pa);
  5364. a.w(this.Aa);
  5365. a.pb(this.X);
  5366. a.Z(this.h);
  5367. a.Z(this.B)
  5368. },
  5369. ea: function(a) {
  5370. var b = this.a;
  5371. b.x = a.A();
  5372. b.y = a.A();
  5373. b = this.M;
  5374. b.x = a.A();
  5375. b.y = a.A();
  5376. this.la = a.A();
  5377. this.l = a.A();
  5378. this.pa = a.A();
  5379. this.Aa = a.A();
  5380. this.X = a.eb();
  5381. this.h = a.W();
  5382. this.B = a.W()
  5383. },
  5384. Ao: function() {
  5385. var a = new X;
  5386. this.Rj(a);
  5387. return a
  5388. },
  5389. Rj: function(a) {
  5390. var b = a.a,
  5391. c = this.a;
  5392. b.x = c.x;
  5393. b.y = c.y;
  5394. b = a.M;
  5395. c = this.M;
  5396. b.x = c.x;
  5397. b.y = c.y;
  5398. a.la = this.la;
  5399. a.l = this.l;
  5400. a.pa = this.pa;
  5401. a.Aa = this.Aa;
  5402. a.X = this.X;
  5403. a.h = this.h;
  5404. a.B = this.B
  5405. },
  5406. g: ta
  5407. };
  5408. sa.b = !0;
  5409. sa.he = [rb];
  5410. sa.bd = function(a, b) {
  5411. a.Pa = b.Pa.jc();
  5412. a.fb = b.fb;
  5413. a.xa = b.xa;
  5414. a.wa = b.wa.jc();
  5415. a.ec = b.ec;
  5416. a.nc = b.nc;
  5417. a.xb = b.xb;
  5418. a.Jb = b.Jb;
  5419. a.Db = b.Db;
  5420. a.zc = b.zc;
  5421. a.Fa = b.Fa;
  5422. a.T = b.T;
  5423. a.Hd = b.Hd;
  5424. var c = a.kd,
  5425. d = b.kd;
  5426. c.x = d.x;
  5427. c.y = d.y
  5428. };
  5429. sa.prototype = {
  5430. ho: function(a) {
  5431. this.Pa = a;
  5432. this.zo();
  5433. this.fb = a.fb;
  5434. this.xa = a.xa;
  5435. this.T = a.T;
  5436. this.wa.C = this.T.C;
  5437. this.wa.ha = this.T.ha;
  5438. this.wa.O = this.T.O;
  5439. a = 0;
  5440. for (var b = this.T.J; a < b.length;) this.wa.J.push(b[a++].Ao());
  5441. this.Wj()
  5442. },
  5443. zo: function() {
  5444. var a = new X;
  5445. this.ec = this.wa.J.length;
  5446. this.wa.J.push(a)
  5447. },
  5448. Sj: function(a) {
  5449. if (a.$ == p.Ea) a.D = null;
  5450. else {
  5451. a.lb = 0;
  5452. var b = a.D;
  5453. null == b && (b = new X, a.D = b, this.wa.J.push(b));
  5454. var c = this.T.Od;
  5455. b.X = 0;
  5456. b.la = 15;
  5457. b.pa = c.pa;
  5458. b.Aa = c.Aa;
  5459. b.l = c.l;
  5460. b.h = 39;
  5461. b.B = a.$.B;
  5462. b.a.x = a.$.eh * this.T.Rb;
  5463. b.a.y = 0;
  5464. a = b.M;
  5465. a.x = 0;
  5466. a.y = 0
  5467. }
  5468. },
  5469. v: function(a) {
  5470. if (0 < this.Fa) 120 > this.Fa && this.Fa--;
  5471. else {
  5472. var b = this.Pa.$r;
  5473. null != b && b();
  5474. for (var c = this.Pa.F, b = this.wa.J[this.ec], d = 0; d < c.length;) {
  5475. var e = c[d];
  5476. ++d;
  5477. if (null != e.D) {
  5478. var f = b.a,
  5479. g = e.D.a,
  5480. n = f.x - g.x,
  5481. g = f.y -
  5482. g.y,
  5483. k = Math.sqrt(n * n + g * g) - b.la - e.D.la;
  5484. 0 == (e.lb & 16) && (e.bc = !1);
  5485. f = this.T.Od;
  5486. if (e.bc && 4 > k) {
  5487. if (0 != f.Id) {
  5488. var k = Math.sqrt(n * n + g * g),
  5489. h = f.Id,
  5490. l = b.M,
  5491. m = b.M,
  5492. q = b.pa;
  5493. l.x = m.x + n / k * h * q;
  5494. l.y = m.y + g / k * h * q;
  5495. null != this.Pa.Oh && this.Pa.Oh(e)
  5496. }
  5497. e.bc = !1
  5498. }
  5499. k = e.lb;
  5500. g = n = 0;
  5501. 0 != (k & 1) && --g;
  5502. 0 != (k & 2) && ++g;
  5503. 0 != (k & 4) && --n;
  5504. 0 != (k & 8) && ++n;
  5505. 0 != n && 0 != g && (k = Math.sqrt(n * n + g * g), n /= k, g /= k);
  5506. k = e.D.M;
  5507. h = e.bc ? f.Ae : f.ke;
  5508. k.x += n * h;
  5509. k.y += g * h;
  5510. e.D.Aa = e.bc ? f.Be : f.Aa
  5511. }
  5512. }
  5513. this.wa.v(a);
  5514. if (0 == this.xb) {
  5515. for (a = 0; a < c.length;) d = c[a], ++a, null != d.D && (d.D.h = 39 | this.Hd.no);
  5516. c = b.M;
  5517. 0 <
  5518. c.x * c.x + c.y * c.y && (this.xb = 1, c = this.kd, b = b.a, c.x = b.x, c.y = b.y)
  5519. } else if (1 == this.xb) {
  5520. this.zc += .016666666666666666;
  5521. for (a = 0; a < c.length;) d = c[a], ++a, null != d.D && (d.D.h = 39);
  5522. c = this.T.Wm(b.a, this.kd);
  5523. c != p.Ea ? (this.xb = 2, this.nc = 150, this.Hd = c, c == p.ba ? this.Db++ : this.Jb++, null != this.Pa.mi && this.Pa.mi(c.Tf), null != this.Pa.cl && this.Pa.cl(c.U)) : 0 < this.xa && this.zc >= 60 * this.xa && this.Jb != this.Db && (null != this.Pa.oi && this.Pa.oi(), this.El());
  5524. c = this.kd;
  5525. b = b.a;
  5526. c.x = b.x;
  5527. c.y = b.y
  5528. } else if (2 == this.xb) this.nc--, 0 >= this.nc && (0 < this.fb &&
  5529. (this.Jb >= this.fb || this.Db >= this.fb) || 0 < this.xa && this.zc >= 60 * this.xa && this.Jb != this.Db ? this.El() : (this.Wj(), null != this.Pa.up && this.Pa.up()));
  5530. else if (3 == this.xb && (this.nc--, 0 >= this.nc && (b = this.Pa, null != b.G))) {
  5531. b.G = null;
  5532. c = 0;
  5533. for (a = b.F; c < a.length;) d = a[c], ++c, d.D = null, d.Cb = 0;
  5534. null != b.Ze && b.Ze(null)
  5535. }
  5536. }
  5537. },
  5538. El: function() {
  5539. this.nc = 300;
  5540. this.xb = 3;
  5541. null != this.Pa.ni && this.Pa.ni(this.Jb > this.Db ? p.ba : p.ta)
  5542. },
  5543. Wj: function() {
  5544. var a = this.Pa.F;
  5545. this.xb = 0;
  5546. this.T.me.Rj(this.wa.J[this.ec]);
  5547. for (var b = [0, 0, 0], c = 0; c < a.length;) {
  5548. var d =
  5549. a[c];
  5550. ++c;
  5551. this.Sj(d);
  5552. var e = d.$;
  5553. if (e != p.Ea) {
  5554. var f = d.D.a,
  5555. g = b[e.U],
  5556. n = g + 1 >> 1;
  5557. 0 == (g & 1) && (n = -n);
  5558. f.x = this.T.ac * e.eh;
  5559. f.y = 55 * n;
  5560. b[e.U]++;
  5561. d.Cb = b[e.U]
  5562. }
  5563. }
  5564. },
  5565. aa: function(a) {
  5566. this.wa.aa(a);
  5567. a.Z(this.ec);
  5568. a.Z(this.nc);
  5569. a.Z(this.xb);
  5570. var b = this.kd;
  5571. a.w(b.x);
  5572. a.w(b.y);
  5573. a.Z(this.Jb);
  5574. a.Z(this.Db);
  5575. a.w(this.zc);
  5576. a.Z(this.Fa);
  5577. a.u(this.Hd.U)
  5578. },
  5579. ea: function(a, b) {
  5580. this.wa.ea(a);
  5581. this.ec = a.W();
  5582. this.nc = a.W();
  5583. this.xb = a.W();
  5584. var c = this.kd;
  5585. c.x = a.A();
  5586. c.y = a.A();
  5587. this.Jb = a.W();
  5588. this.Db = a.W();
  5589. this.zc = a.A();
  5590. this.Fa = a.W();
  5591. c = a.Se();
  5592. this.Hd = 1 == c ? p.ba : 2 ==
  5593. c ? p.ta : p.Ea;
  5594. this.Pa = b;
  5595. this.fb = b.fb;
  5596. this.xa = b.xa;
  5597. this.T = b.T;
  5598. this.wa.C = this.T.C;
  5599. this.wa.O = this.T.O;
  5600. this.wa.ha = this.T.ha
  5601. },
  5602. jc: function() {
  5603. var a = xa.sc,
  5604. b = this.Xb;
  5605. this.Yb != a && (null == b && (this.Xb = b = new sa), this.Yb = a, sa.bd(b, this));
  5606. return b
  5607. },
  5608. g: sa
  5609. };
  5610. mb.b = !0;
  5611. mb.prototype = {
  5612. aa: function(a) {
  5613. var b = this.P;
  5614. a.w(b.x);
  5615. a.w(b.y);
  5616. b = this.V;
  5617. a.w(b.x);
  5618. a.w(b.y);
  5619. a.u(this.Xd.U)
  5620. },
  5621. ea: function(a) {
  5622. var b = this.P;
  5623. b.x = a.A();
  5624. b.y = a.A();
  5625. b = this.V;
  5626. b.x = a.A();
  5627. b.y = a.A();
  5628. a = a.Se();
  5629. this.Xd = 1 == a ? p.ba : 2 == a ? p.ta : p.Ea
  5630. },
  5631. g: mb
  5632. };
  5633. xb.b = !0;
  5634. xb.prototype = {
  5635. aa: function(a) {
  5636. a.w(this.l);
  5637. a.w(this.pa);
  5638. a.w(this.Aa);
  5639. a.w(this.ke);
  5640. a.w(this.Ae);
  5641. a.w(this.Be);
  5642. a.w(this.Id)
  5643. },
  5644. ea: function(a) {
  5645. this.l = a.A();
  5646. this.pa = a.A();
  5647. this.Aa = a.A();
  5648. this.ke = a.A();
  5649. this.Ae = a.A();
  5650. this.Be = a.A();
  5651. this.Id = a.A()
  5652. },
  5653. g: xb
  5654. };
  5655. ub.b = !0;
  5656. ub.prototype = {
  5657. g: ub
  5658. };
  5659. h.b = !0;
  5660. h.ea = function(a) {
  5661. var b = a.K();
  5662. return 255 == b ? (b = new h, b.Wq(a), b) : h.mh()[b]
  5663. };
  5664. h.mh = function() {
  5665. if (null == h.tb) {
  5666. h.tb = [];
  5667. var a = new h;
  5668. a.Oc("Classic", 420, 200, 370, 170, 64, 75);
  5669. h.tb.push(a);
  5670. a = new h;
  5671. a.Oc("Easy", 420, 200, 370, 170, 90, 75);
  5672. h.tb.push(a);
  5673. a = new h;
  5674. a.Oc("Small", 420, 200, 320, 130,
  5675. 55, 70);
  5676. h.tb.push(a);
  5677. a = new h;
  5678. a.Oc("Big", 600, 270, 550, 240, 80, 80);
  5679. h.tb.push(a);
  5680. a = new h;
  5681. a.Oc("Rounded", 420, 200, 370, 170, 64, 75, 75);
  5682. h.tb.push(a);
  5683. a = new h;
  5684. a.dk("Hockey", 420, 204, 398, 182, 68, 120, 75, 100);
  5685. h.tb.push(a);
  5686. a = new h;
  5687. a.dk("Big Hockey", 600, 270, 550, 240, 90, 160, 75, 150);
  5688. h.tb.push(a);
  5689. a = new h;
  5690. a.Oc("Big Easy", 600, 270, 550, 240, 95, 80);
  5691. h.tb.push(a);
  5692. a = new h;
  5693. a.Oc("Big Rounded", 600, 270, 550, 240, 80, 75, 100);
  5694. h.tb.push(a);
  5695. a = new h;
  5696. a.Oc("Huge", 750, 350, 700, 320, 100, 80);
  5697. h.tb.push(a);
  5698. for (var a = 0, b = h.tb.length; a < b;) {
  5699. var c = a++;
  5700. h.tb[c].dh =
  5701. c
  5702. }
  5703. }
  5704. return h.tb
  5705. };
  5706. h.Hm = function(a, b) {
  5707. if (null != a.trait) {
  5708. var c = b[q.N(a.trait, String)];
  5709. if (null != c)
  5710. for (var d = 0, e = Zb.Yl(c); d < e.length;) {
  5711. var f = e[d];
  5712. ++d;
  5713. null == a[f] && (a[f] = c[f])
  5714. }
  5715. }
  5716. };
  5717. h.Om = function(a) {
  5718. if (-1 == a) return ["all"];
  5719. var b = [];
  5720. 0 != (a & 2) && b.push("red");
  5721. 0 != (a & 4) && b.push("blue");
  5722. 0 != (a & 1) && b.push("ball");
  5723. 0 != (a & 8) && b.push("redKO");
  5724. 0 != (a & 16) && b.push("blueKO");
  5725. 0 != (a & 32) && b.push("wall");
  5726. return b
  5727. };
  5728. h.Nc = function(a) {
  5729. a = q.N(a, Array);
  5730. for (var b = 0, c = 0; c < a.length;) switch (a[c++]) {
  5731. case "all":
  5732. b = -1;
  5733. break;
  5734. case "ball":
  5735. b |= 1;
  5736. break;
  5737. case "blue":
  5738. b |= 4;
  5739. break;
  5740. case "blueKO":
  5741. b |= 16;
  5742. break;
  5743. case "red":
  5744. b |= 2;
  5745. break;
  5746. case "redKO":
  5747. b |= 8;
  5748. break;
  5749. case "wall":
  5750. b |= 32
  5751. }
  5752. return b
  5753. };
  5754. h.Rc = function(a, b, c, d) {
  5755. c != d && (a[b] = h.Om(c))
  5756. };
  5757. h.vk = function(a, b, c) {
  5758. b != c && (a.color = h.cn(b))
  5759. };
  5760. h.cn = function(a) {
  5761. return H.yg(a)
  5762. };
  5763. h.zh = function(a) {
  5764. if ("string" == typeof a) return K.parseInt("0x" + K.ge(a));
  5765. if (a instanceof Array && null == a.qb) return ((a[0] | 0) << 16) + ((a[1] | 0) << 8) + (a[2] | 0);
  5766. throw new r("Bad color");
  5767. };
  5768. h.er = function(a) {
  5769. var b = {
  5770. x: a.a.x,
  5771. y: a.a.y
  5772. };
  5773. h.qa(b, "bCoef", a.l, 1);
  5774. h.Rc(b, "cMask",
  5775. a.h, -1);
  5776. h.Rc(b, "cGroup", a.B, 32);
  5777. return b
  5778. };
  5779. h.wo = function(a) {
  5780. var b = new z;
  5781. b.a.x = q.N(a.x, A);
  5782. b.a.y = q.N(a.y, A);
  5783. var c = a.bCoef;
  5784. null != c && (b.l = q.N(c, A));
  5785. c = a.cMask;
  5786. null != c && (b.h = h.Nc(c));
  5787. a = a.cGroup;
  5788. null != a && (b.B = h.Nc(a));
  5789. return b
  5790. };
  5791. h.sq = function(a, b) {
  5792. var c = {
  5793. v0: a.P.fd,
  5794. v1: a.V.fd
  5795. };
  5796. h.qa(c, "bias", a.vc, b.vc);
  5797. h.qa(c, "bCoef", a.l, b.l);
  5798. var d = a.Ln();
  5799. h.qa(c, "curve", d, 0);
  5800. 0 != d && (c.curveF = a.sb);
  5801. h.qa(c, "vis", a.Va, b.Va);
  5802. h.Rc(c, "cMask", a.h, b.h);
  5803. h.Rc(c, "cGroup", a.B, b.B);
  5804. h.vk(c, a.X, b.X);
  5805. return c
  5806. };
  5807. h.vo = function(a, b) {
  5808. var c = new C,
  5809. d = q.N(a.v1, hc);
  5810. c.P = b[q.N(a.v0, hc)];
  5811. c.V = b[d];
  5812. var d = a.bias,
  5813. e = a.bCoef,
  5814. f = a.curve,
  5815. g = a.curveF,
  5816. n = a.vis,
  5817. k = a.cMask,
  5818. l = a.cGroup,
  5819. m = a.color;
  5820. null != d && (c.vc = q.N(d, A));
  5821. null != e && (c.l = q.N(e, A));
  5822. null != g ? c.sb = q.N(g, A) : null != f && c.Ec(q.N(f, A));
  5823. null != n && (c.Va = q.N(n, ic));
  5824. null != k && (c.h = h.Nc(k));
  5825. null != l && (c.B = h.Nc(l));
  5826. null != m && (c.X = h.zh(m));
  5827. return c
  5828. };
  5829. h.pp = function(a) {
  5830. var b = {
  5831. normal: [a.sa.x, a.sa.y],
  5832. dist: a.Oa
  5833. };
  5834. h.qa(b, "bCoef", a.l, 1);
  5835. h.Rc(b, "cMask", a.h, -1);
  5836. h.Rc(b, "cGroup", a.B, 32);
  5837. return b
  5838. };
  5839. h.to = function(a) {
  5840. var b = new I,
  5841. c = q.N(a.normal,
  5842. Array),
  5843. d = q.N(c[0], A),
  5844. c = q.N(c[1], A),
  5845. e = b.sa,
  5846. f = Math.sqrt(d * d + c * c);
  5847. e.x = d / f;
  5848. e.y = c / f;
  5849. b.Oa = q.N(a.dist, A);
  5850. d = a.bCoef;
  5851. c = a.cMask;
  5852. a = a.cGroup;
  5853. null != d && (b.l = q.N(d, A));
  5854. null != c && (b.h = h.Nc(c));
  5855. null != a && (b.B = h.Nc(a));
  5856. return b
  5857. };
  5858. h.Sn = function(a) {
  5859. return {
  5860. p0: [a.P.x, a.P.y],
  5861. p1: [a.V.x, a.V.y],
  5862. team: a.Xd == p.ba ? "red" : "blue"
  5863. }
  5864. };
  5865. h.so = function(a) {
  5866. var b = new mb,
  5867. c = q.N(a.p0, Array),
  5868. d = q.N(a.p1, Array),
  5869. e = b.P;
  5870. e.x = c[0];
  5871. e.y = c[1];
  5872. c = b.V;
  5873. c.x = d[0];
  5874. c.y = d[1];
  5875. switch (a.team) {
  5876. case "blue":
  5877. a = p.ta;
  5878. break;
  5879. case "red":
  5880. a = p.ba;
  5881. break;
  5882. default:
  5883. throw new r("Bad team value");
  5884. }
  5885. b.Xd = a;
  5886. return b
  5887. };
  5888. h.sp = function(a) {
  5889. var b = {};
  5890. h.qa(b, "bCoef", a.l, .5);
  5891. h.qa(b, "invMass", a.pa, .5);
  5892. h.qa(b, "damping", a.Aa, .96);
  5893. h.qa(b, "acceleration", a.ke, .1);
  5894. h.qa(b, "kickingAcceleration", a.Ae, .07);
  5895. h.qa(b, "kickingDamping", a.Be, .96);
  5896. h.qa(b, "kickStrength", a.Id, 5);
  5897. return b
  5898. };
  5899. h.uo = function(a) {
  5900. var b = new xb,
  5901. c = a.bCoef,
  5902. d = a.invMass,
  5903. e = a.damping,
  5904. f = a.acceleration,
  5905. g = a.kickingAcceleration,
  5906. n = a.kickingDamping;
  5907. a = a.kickStrength;
  5908. null != c && (b.l = q.N(c, A));
  5909. null != d && (b.pa = q.N(d, A));
  5910. null != e && (b.Aa = q.N(e, A));
  5911. null != f && (b.ke = q.N(f, A));
  5912. null != g && (b.Ae = q.N(g, A));
  5913. null != n && (b.Be = q.N(n, A));
  5914. null != a && (b.Id = q.N(a, A));
  5915. return b
  5916. };
  5917. h.vj = function(a, b) {
  5918. var c = {};
  5919. if (a.a.x != b.a.x || a.a.y != b.a.y) c.pos = [a.a.x, a.a.y];
  5920. if (a.M.x != b.M.x || a.M.y != b.M.y) c.speed = [a.M.x, a.M.y];
  5921. h.qa(c, "radius", a.la, b.la);
  5922. h.qa(c, "bCoef", a.l, b.l);
  5923. h.qa(c, "invMass", a.pa, b.pa);
  5924. h.qa(c, "damping", a.Aa, b.Aa);
  5925. h.vk(c, a.X, b.X);
  5926. h.Rc(c, "cMask", a.h, b.h);
  5927. h.Rc(c, "cGroup", a.B, b.B);
  5928. return c
  5929. };
  5930. h.ak = function(a, b) {
  5931. var c = a.pos,
  5932. d = a.speed,
  5933. e = a.radius,
  5934. f = a.bCoef,
  5935. g = a.invMass,
  5936. n = a.damping,
  5937. k = a.color,
  5938. l = a.cMask,
  5939. m = a.cGroup;
  5940. if (null != c) {
  5941. var p = b.a;
  5942. p.x = c[0];
  5943. p.y = c[1]
  5944. }
  5945. null != d && (c = b.M, c.x = d[0], c.y = d[1]);
  5946. null != e && (b.la = q.N(e, A));
  5947. null != f && (b.l = q.N(f, A));
  5948. null != g && (b.pa = q.N(g, A));
  5949. null != n && (b.Aa = q.N(n, A));
  5950. null != k && (b.X = h.zh(k));
  5951. null != l && (b.h = h.Nc(l));
  5952. null != m && (b.B = h.Nc(m));
  5953. return b
  5954. };
  5955. h.qa = function(a, b, c, d) {
  5956. c != d && (a[b] = c)
  5957. };
  5958. h.prototype = {
  5959. Dh: function() {
  5960. var a = new ta;
  5961. a.X = 16777215;
  5962. a.h = -1;
  5963. a.B = 1;
  5964. a.la = 10;
  5965. a.Aa = .99;
  5966. a.pa = 1;
  5967. a.l = .5;
  5968. return a
  5969. },
  5970. aa: function(a) {
  5971. a.u(this.dh);
  5972. if (!this.ye()) {
  5973. a.Pb(this.o);
  5974. a.Z(this.Yc);
  5975. a.w(this.Cd);
  5976. a.w(this.Bd);
  5977. a.w(this.Xc);
  5978. a.w(this.Hc);
  5979. a.w(this.ne);
  5980. a.Z(this.fc);
  5981. a.w(this.Rb);
  5982. a.w(this.hc);
  5983. a.w(this.ac);
  5984. this.Od.aa(a);
  5985. this.me.aa(a);
  5986. a.qc(this.Fe);
  5987. a.u(this.oe);
  5988. a.u(this.C.length);
  5989. for (var b = 0, c = this.C.length; b < c;) {
  5990. var d = b++,
  5991. e = this.C[d];
  5992. e.fd = d;
  5993. e.aa(a)
  5994. }
  5995. a.u(this.O.length);
  5996. b = 0;
  5997. for (c = this.O; b < c.length;) c[b++].aa(a);
  5998. a.u(this.ha.length);
  5999. b = 0;
  6000. for (c = this.ha; b < c.length;) c[b++].aa(a);
  6001. a.u(this.kc.length);
  6002. b = 0;
  6003. for (c = this.kc; b < c.length;) c[b++].aa(a);
  6004. a.u(this.J.length);
  6005. b = 0;
  6006. for (c = this.J; b < c.length;) c[b++].aa(a)
  6007. }
  6008. },
  6009. Wq: function(a) {
  6010. this.o =
  6011. a.Ib();
  6012. this.Yc = a.W();
  6013. this.Cd = a.A();
  6014. this.Bd = a.A();
  6015. this.Xc = a.A();
  6016. this.Hc = a.A();
  6017. this.ne = a.A();
  6018. this.fc = a.W();
  6019. this.Rb = a.A();
  6020. this.hc = a.A();
  6021. this.ac = a.A();
  6022. this.Od.ea(a);
  6023. this.me.ea(a);
  6024. this.Fe = a.Zb();
  6025. this.oe = a.K();
  6026. this.sf = 704643072 != (this.fc & -16777216);
  6027. this.C = [];
  6028. for (var b = a.K(), c = 0; c < b;) {
  6029. var d = new z;
  6030. d.ea(a);
  6031. d.fd = c++;
  6032. this.C.push(d)
  6033. }
  6034. this.O = [];
  6035. b = a.K();
  6036. for (c = 0; c < b;) ++c, d = new C, d.ea(a, this.C), this.O.push(d);
  6037. this.ha = [];
  6038. b = a.K();
  6039. for (c = 0; c < b;) ++c, d = new I, d.ea(a), this.ha.push(d);
  6040. this.kc = [];
  6041. b = a.K();
  6042. for (c = 0; c < b;) ++c, d =
  6043. new mb, d.ea(a), this.kc.push(d);
  6044. this.J = [];
  6045. b = a.K();
  6046. for (c = 0; c < b;) ++c, d = new ta, d.ea(a), this.J.push(d);
  6047. this.Pd()
  6048. },
  6049. Pd: function() {
  6050. for (var a = 0, b = this.O; a < b.length;) b[a++].Pd()
  6051. },
  6052. ye: function() {
  6053. return 255 != this.dh
  6054. },
  6055. Jd: function(a, b, c) {
  6056. a = a[b];
  6057. return null != a ? q.N(a, A) : c
  6058. },
  6059. xo: function(a, b, c) {
  6060. a = a[b];
  6061. return null != a ? q.N(a, ic) : c
  6062. },
  6063. $d: function() {
  6064. return JSON.stringify(this.Tq())
  6065. },
  6066. Tq: function() {
  6067. if (!this.sf) throw new r(0);
  6068. for (var a = {}, b = 0, c = [], d = 0, e = this.C; d < e.length;) {
  6069. var f = e[d];
  6070. ++d;
  6071. f.fd = b++;
  6072. c.push(h.er(f))
  6073. }
  6074. d = new C;
  6075. b = [];
  6076. e = 0;
  6077. for (f = this.O; e < f.length;) b.push(h.sq(f[e++], d));
  6078. d = [];
  6079. e = 0;
  6080. for (f = this.ha; e < f.length;) d.push(h.pp(f[e++]));
  6081. for (var e = [], f = 0, g = this.kc; f < g.length;) e.push(h.Sn(g[f++]));
  6082. for (var f = h.sp(this.Od), n = new ta, g = [], k = 0, l = this.J; k < l.length;) g.push(h.vj(l[k++], n));
  6083. n = h.vj(this.me, this.Dh());
  6084. c = {
  6085. name: this.o,
  6086. width: this.Rb,
  6087. height: this.hc,
  6088. bg: a,
  6089. vertexes: c,
  6090. segments: b,
  6091. planes: d,
  6092. goals: e,
  6093. discs: g,
  6094. playerPhysics: f,
  6095. ballPhysics: n
  6096. };
  6097. h.qa(c, "maxViewWidth", this.Fe, 0);
  6098. h.qa(c, "cameraFollow", 1 == this.oe ? "player" : "", "");
  6099. h.qa(c, "spawnDistance",
  6100. this.ac, 200);
  6101. switch (this.Yc) {
  6102. case 1:
  6103. b = "grass";
  6104. break;
  6105. case 2:
  6106. b = "hockey";
  6107. break;
  6108. default:
  6109. b = "none"
  6110. }
  6111. h.qa(a, "type", b, "none");
  6112. h.qa(a, "width", this.Cd, 0);
  6113. h.qa(a, "height", this.Bd, 0);
  6114. h.qa(a, "kickOffRadius", this.Xc, 0);
  6115. h.qa(a, "cornerRadius", this.Hc, 0);
  6116. h.qa(a, "color", this.fc, 7441498);
  6117. h.qa(a, "goalLine", this.ne, 0);
  6118. return c
  6119. },
  6120. $j: function(a) {
  6121. function b(a, b, c) {
  6122. var e = q.N(d[b], Array);
  6123. if (null != e)
  6124. for (var g = 0; g < e.length;) {
  6125. var k = e[g];
  6126. ++g;
  6127. try {
  6128. h.Hm(k, f), a.push(c(k))
  6129. } catch (W) {
  6130. throw new r(new ub('Error in "' + b + '" index: ' + a.length));
  6131. }
  6132. }
  6133. }
  6134. var c = this,
  6135. d = JSON5.parse(a);
  6136. this.C = [];
  6137. this.O = [];
  6138. this.ha = [];
  6139. this.kc = [];
  6140. this.J = [];
  6141. this.o = q.N(d.name, String);
  6142. this.Rb = q.N(d.width, A);
  6143. this.hc = q.N(d.height, A);
  6144. this.Fe = this.Jd(d, "maxViewWidth", 0) | 0;
  6145. "player" == d.cameraFollow && (this.oe = 1);
  6146. this.ac = 200;
  6147. a = d.spawnDistance;
  6148. null != a && (this.ac = q.N(a, A));
  6149. a = d.bg;
  6150. var e;
  6151. switch (a.type) {
  6152. case "grass":
  6153. e = 1;
  6154. break;
  6155. case "hockey":
  6156. e = 2;
  6157. break;
  6158. default:
  6159. e = 0
  6160. }
  6161. this.Yc = e;
  6162. this.Cd = this.Jd(a, "width", 0);
  6163. this.Bd = this.Jd(a, "height", 0);
  6164. this.Xc = this.Jd(a, "kickOffRadius", 0);
  6165. this.Hc = this.Jd(a,
  6166. "cornerRadius", 0);
  6167. this.fc = 7441498;
  6168. null != a.color && (this.fc = h.zh(a.color));
  6169. this.ne = this.Jd(a, "goalLine", 0);
  6170. this.sf = this.xo(d, "canBeStored", !0);
  6171. this.fc = this.fc & 16777215 | (this.sf ? 0 : 42) << 24;
  6172. var f = d.traits;
  6173. b(this.C, "vertexes", h.wo);
  6174. b(this.O, "segments", function(a) {
  6175. return h.vo(a, c.C)
  6176. });
  6177. b(this.kc, "goals", h.so);
  6178. b(this.J, "discs", function(a) {
  6179. return h.ak(a, new ta)
  6180. });
  6181. b(this.ha, "planes", h.to);
  6182. a = d.playerPhysics;
  6183. null != a && (this.Od = h.uo(a));
  6184. a = d.ballPhysics;
  6185. null != a && (this.me = h.ak(a, this.Dh()));
  6186. if (255 < this.C.length ||
  6187. 255 < this.O.length || 255 < this.ha.length || 255 < this.kc.length || 255 < this.J.length) throw new r("Error");
  6188. this.Pd()
  6189. },
  6190. jj: function() {
  6191. var a = h.Rq;
  6192. a.a = 0;
  6193. this.aa(a);
  6194. var b = new Yb;
  6195. b.kr(a.Mb());
  6196. b.hash = (b.hash += b.hash << 3) ^ b.hash >>> 11;
  6197. b.hash += b.hash << 15;
  6198. return b.hash | 0
  6199. },
  6200. Wm: function(a, b) {
  6201. for (var c = 0, d = this.kc; c < d.length;) {
  6202. var e = d[c];
  6203. ++c;
  6204. var f = e.P,
  6205. g = e.V,
  6206. n = b.x - a.x,
  6207. k = b.y - a.y;
  6208. 0 < -(f.y - a.y) * n + (f.x - a.x) * k == 0 < -(g.y - a.y) * n + (g.x - a.x) * k ? f = !1 : (n = g.x - f.x, g = g.y - f.y, f = 0 < -(a.y - f.y) * n + (a.x - f.x) * g == 0 < -(b.y - f.y) * n + (b.x - f.x) * g ? !1 : !0);
  6209. if (f) return e.Xd
  6210. }
  6211. return p.Ea
  6212. },
  6213. Oc: function(a, b, c, d, e, f, g, n) {
  6214. null == n && (n = 0);
  6215. this.o = a;
  6216. this.Rb = b;
  6217. this.hc = c;
  6218. this.Yc = 1;
  6219. this.fc = 7441498;
  6220. this.Cd = d;
  6221. this.Bd = e;
  6222. this.Xc = g;
  6223. this.Hc = n;
  6224. this.ac = .75 * d;
  6225. 400 < this.ac && (this.ac = 400);
  6226. a = new I;
  6227. var k = a.sa;
  6228. k.x = 0;
  6229. k.y = 1;
  6230. a.Oa = -c;
  6231. a.l = 0;
  6232. this.ha.push(a);
  6233. a = new I;
  6234. k = a.sa;
  6235. k.x = 0;
  6236. k.y = -1;
  6237. a.Oa = -c;
  6238. a.l = 0;
  6239. this.ha.push(a);
  6240. a = new I;
  6241. k = a.sa;
  6242. k.x = 1;
  6243. k.y = 0;
  6244. a.Oa = -b;
  6245. a.l = 0;
  6246. this.ha.push(a);
  6247. a = new I;
  6248. k = a.sa;
  6249. k.x = -1;
  6250. k.y = 0;
  6251. a.Oa = -b;
  6252. a.l = 0;
  6253. this.ha.push(a);
  6254. this.If(d, 1, f, 13421823, p.ta);
  6255. this.If(-d, -1, f, 16764108, p.ba);
  6256. this.ek(g, c);
  6257. b = new I;
  6258. c = b.sa;
  6259. c.x = 0;
  6260. c.y = 1;
  6261. b.Oa = -e;
  6262. b.h = 1;
  6263. this.ha.push(b);
  6264. b = new I;
  6265. c = b.sa;
  6266. c.x = 0;
  6267. c.y = -1;
  6268. b.Oa = -e;
  6269. b.h = 1;
  6270. this.ha.push(b);
  6271. b = new z;
  6272. c = b.a;
  6273. c.x = -d;
  6274. c.y = -e;
  6275. b.h = 0;
  6276. c = new z;
  6277. g = c.a;
  6278. g.x = d;
  6279. g.y = -e;
  6280. c.h = 0;
  6281. g = new z;
  6282. a = g.a;
  6283. a.x = d;
  6284. a.y = -f;
  6285. g.h = 0;
  6286. a = new z;
  6287. k = a.a;
  6288. k.x = d;
  6289. k.y = f;
  6290. a.h = 0;
  6291. var k = new z,
  6292. h = k.a;
  6293. h.x = d;
  6294. h.y = e;
  6295. k.h = 0;
  6296. var h = new z,
  6297. l = h.a;
  6298. l.x = -d;
  6299. l.y = e;
  6300. h.h = 0;
  6301. var l = new z,
  6302. m = l.a;
  6303. m.x = -d;
  6304. m.y = f;
  6305. l.h = 0;
  6306. var m = new z,
  6307. q = m.a;
  6308. q.x = -d;
  6309. q.y = -f;
  6310. m.h = 0;
  6311. f = new C;
  6312. f.P = c;
  6313. f.V = g;
  6314. f.h = 1;
  6315. f.Va = !1;
  6316. q = new C;
  6317. q.P = a;
  6318. q.V = k;
  6319. q.h = 1;
  6320. q.Va = !1;
  6321. var r = new C;
  6322. r.P = h;
  6323. r.V = l;
  6324. r.h = 1;
  6325. r.Va = !1;
  6326. var t = new C;
  6327. t.P =
  6328. m;
  6329. t.V = b;
  6330. t.h = 1;
  6331. t.Va = !1;
  6332. this.C.push(b);
  6333. this.C.push(c);
  6334. this.C.push(g);
  6335. this.C.push(a);
  6336. this.C.push(k);
  6337. this.C.push(h);
  6338. this.C.push(l);
  6339. this.C.push(m);
  6340. this.O.push(f);
  6341. this.O.push(q);
  6342. this.O.push(r);
  6343. this.O.push(t);
  6344. this.ck(d, e, n);
  6345. this.Pd()
  6346. },
  6347. dk: function(a, b, c, d, e, f, g, n, k) {
  6348. this.o = a;
  6349. this.Rb = b;
  6350. this.hc = c;
  6351. this.Yc = 2;
  6352. this.Cd = d;
  6353. this.Bd = e;
  6354. this.Xc = n;
  6355. this.Hc = k;
  6356. this.ne = g;
  6357. this.ac = .75 * (d - g);
  6358. 400 < this.ac && (this.ac = 400);
  6359. a = new I;
  6360. var h = a.sa;
  6361. h.x = 0;
  6362. h.y = 1;
  6363. a.Oa = -c;
  6364. a.l = 0;
  6365. this.ha.push(a);
  6366. a = new I;
  6367. h = a.sa;
  6368. h.x = 0;
  6369. h.y = -1;
  6370. a.Oa = -c;
  6371. a.l = 0;
  6372. this.ha.push(a);
  6373. a = new I;
  6374. h = a.sa;
  6375. h.x = 1;
  6376. h.y = 0;
  6377. a.Oa = -b;
  6378. a.l = 0;
  6379. this.ha.push(a);
  6380. a = new I;
  6381. h = a.sa;
  6382. h.x = -1;
  6383. h.y = 0;
  6384. a.Oa = -b;
  6385. a.l = 0;
  6386. this.ha.push(a);
  6387. this.If(d - g, 1, f, 13421823, p.ta, -1);
  6388. this.If(-d + g, -1, f, 16764108, p.ba, -1);
  6389. this.ek(n, c);
  6390. b = new I;
  6391. c = b.sa;
  6392. c.x = 0;
  6393. c.y = 1;
  6394. b.Oa = -e;
  6395. b.h = 1;
  6396. this.ha.push(b);
  6397. b = new I;
  6398. c = b.sa;
  6399. c.x = 0;
  6400. c.y = -1;
  6401. b.Oa = -e;
  6402. b.h = 1;
  6403. this.ha.push(b);
  6404. b = new I;
  6405. c = b.sa;
  6406. c.x = 1;
  6407. c.y = 0;
  6408. b.Oa = -d;
  6409. b.h = 1;
  6410. this.ha.push(b);
  6411. b = new I;
  6412. c = b.sa;
  6413. c.x = -1;
  6414. c.y = 0;
  6415. b.Oa = -d;
  6416. b.h = 1;
  6417. this.ha.push(b);
  6418. this.ck(d, e, k);
  6419. this.Pd()
  6420. },
  6421. If: function(a, b, c, d, e, f, g) {
  6422. null == g && (g = 32);
  6423. null ==
  6424. f && (f = 1);
  6425. var n = new z,
  6426. k = n.a;
  6427. k.x = a + 8 * b;
  6428. k.y = -c;
  6429. var k = new z,
  6430. h = k.a;
  6431. h.x = a + 8 * b;
  6432. h.y = c;
  6433. var l = new z,
  6434. h = l.a;
  6435. h.x = n.a.x + 22 * b;
  6436. h.y = n.a.y + 22;
  6437. var m = new z,
  6438. h = m.a;
  6439. h.x = k.a.x + 22 * b;
  6440. h.y = k.a.y - 22;
  6441. h = new C;
  6442. h.P = n;
  6443. h.V = l;
  6444. h.Ec(90 * b);
  6445. var p = new C;
  6446. p.P = m;
  6447. p.V = l;
  6448. var q = new C;
  6449. q.P = m;
  6450. q.V = k;
  6451. q.Ec(90 * b);
  6452. b = this.C.length;
  6453. this.C.push(n);
  6454. this.C.push(k);
  6455. this.C.push(l);
  6456. this.C.push(m);
  6457. n = b;
  6458. for (b = this.C.length; n < b;) k = n++, this.C[k].h = f, this.C[k].B = g, this.C[k].l = .1;
  6459. b = this.O.length;
  6460. this.O.push(h);
  6461. this.O.push(p);
  6462. this.O.push(q);
  6463. n = b;
  6464. for (b = this.O.length; n <
  6465. b;) k = n++, this.O[k].h = f, this.O[k].B = g, this.O[k].l = .1;
  6466. f = new ta;
  6467. g = f.a;
  6468. g.x = a;
  6469. g.y = -c;
  6470. f.pa = 0;
  6471. f.la = 8;
  6472. f.X = d;
  6473. this.J.push(f);
  6474. f = new ta;
  6475. g = f.a;
  6476. g.x = a;
  6477. g.y = c;
  6478. f.pa = 0;
  6479. f.la = 8;
  6480. f.X = d;
  6481. this.J.push(f);
  6482. d = new mb;
  6483. f = d.P;
  6484. f.x = a;
  6485. f.y = -c;
  6486. f = d.V;
  6487. f.x = a;
  6488. f.y = c;
  6489. d.Xd = e;
  6490. this.kc.push(d)
  6491. },
  6492. ek: function(a, b) {
  6493. var c = new z,
  6494. d = c.a;
  6495. d.x = 0;
  6496. d.y = -b;
  6497. c.l = .1;
  6498. c.B = 24;
  6499. c.h = 6;
  6500. var d = new z,
  6501. e = d.a;
  6502. e.x = 0;
  6503. e.y = -a;
  6504. d.l = .1;
  6505. d.B = 24;
  6506. d.h = 6;
  6507. var e = new z,
  6508. f = e.a;
  6509. f.x = 0;
  6510. f.y = a;
  6511. e.l = .1;
  6512. e.B = 24;
  6513. e.h = 6;
  6514. var f = new z,
  6515. g = f.a;
  6516. g.x = 0;
  6517. g.y = b;
  6518. f.l = .1;
  6519. f.B = 24;
  6520. f.h = 6;
  6521. g = new C;
  6522. g.P = c;
  6523. g.V = d;
  6524. g.B = 24;
  6525. g.h = 6;
  6526. g.Va = !1;
  6527. g.l = .1;
  6528. var n = new C;
  6529. n.P = e;
  6530. n.V = f;
  6531. n.B = 24;
  6532. n.h = 6;
  6533. n.Va = !1;
  6534. n.l = .1;
  6535. var k = new C;
  6536. k.P = d;
  6537. k.V = e;
  6538. k.B = 8;
  6539. k.h = 6;
  6540. k.Va = !1;
  6541. k.Ec(180);
  6542. k.l = .1;
  6543. var h = new C;
  6544. h.P = e;
  6545. h.V = d;
  6546. h.B = 16;
  6547. h.h = 6;
  6548. h.Va = !1;
  6549. h.Ec(180);
  6550. h.l = .1;
  6551. this.C.push(c);
  6552. this.C.push(d);
  6553. this.C.push(e);
  6554. this.C.push(f);
  6555. this.O.push(g);
  6556. this.O.push(n);
  6557. this.O.push(k);
  6558. this.O.push(h)
  6559. },
  6560. ck: function(a, b, c) {
  6561. if (!(0 >= c)) {
  6562. var d = new z,
  6563. e = d.a;
  6564. e.x = -a + c;
  6565. e.y = -b;
  6566. d.h = 0;
  6567. var e = new z,
  6568. f = e.a;
  6569. f.x = -a;
  6570. f.y = -b + c;
  6571. e.h = 0;
  6572. var f = new z,
  6573. g = f.a;
  6574. g.x = -a + c;
  6575. g.y = b;
  6576. f.h = 0;
  6577. var g = new z,
  6578. h = g.a;
  6579. h.x = -a;
  6580. h.y = b - c;
  6581. g.h = 0;
  6582. var h =
  6583. new z,
  6584. k = h.a;
  6585. k.x = a - c;
  6586. k.y = b;
  6587. h.h = 0;
  6588. var k = new z,
  6589. l = k.a;
  6590. l.x = a;
  6591. l.y = b - c;
  6592. k.h = 0;
  6593. var l = new z,
  6594. m = l.a;
  6595. m.x = a - c;
  6596. m.y = -b;
  6597. l.h = 0;
  6598. var m = new z,
  6599. p = m.a;
  6600. p.x = a;
  6601. p.y = -b + c;
  6602. m.h = 0;
  6603. a = new C;
  6604. a.P = d;
  6605. a.V = e;
  6606. a.h = 1;
  6607. a.Va = !1;
  6608. a.l = 1;
  6609. a.Ec(-90);
  6610. b = new C;
  6611. b.P = f;
  6612. b.V = g;
  6613. b.h = 1;
  6614. b.Va = !1;
  6615. b.l = 1;
  6616. b.Ec(90);
  6617. c = new C;
  6618. c.P = h;
  6619. c.V = k;
  6620. c.h = 1;
  6621. c.Va = !1;
  6622. c.l = 1;
  6623. c.Ec(-90);
  6624. p = new C;
  6625. p.P = l;
  6626. p.V = m;
  6627. p.h = 1;
  6628. p.Va = !1;
  6629. p.l = 1;
  6630. p.Ec(90);
  6631. this.C.push(d);
  6632. this.C.push(e);
  6633. this.C.push(f);
  6634. this.C.push(g);
  6635. this.C.push(h);
  6636. this.C.push(k);
  6637. this.C.push(l);
  6638. this.C.push(m);
  6639. this.O.push(a);
  6640. this.O.push(b);
  6641. this.O.push(c);
  6642. this.O.push(p)
  6643. }
  6644. },
  6645. g: h
  6646. };
  6647. ja.b = !0;
  6648. ja.prototype = {
  6649. aa: function(a) {
  6650. a.u(this.Wc);
  6651. a.Z(this.Tc);
  6652. a.u(this.bb.length);
  6653. for (var b = 0, c = this.bb; b < c.length;) a.Z(c[b++])
  6654. },
  6655. ea: function(a) {
  6656. this.Wc = a.K();
  6657. this.Tc = a.W();
  6658. var b = a.K();
  6659. if (3 < b) throw new r("too many");
  6660. this.bb = [];
  6661. for (var c = 0; c < b;) ++c, this.bb.push(a.W())
  6662. },
  6663. g: ja
  6664. };
  6665. p.b = !0;
  6666. p.prototype = {
  6667. g: p
  6668. };
  6669. fa.b = !0;
  6670. fa.he = [rb, Xb];
  6671. fa.bd = function(a, b) {
  6672. a.$b = b.$b;
  6673. if (null == b.F) a.F = null;
  6674. else {
  6675. null == a.F && (a.F = []);
  6676. for (var c = a.F, d = b.F, e = d.length; c.length > e;) c.pop();
  6677. for (var e = 0, f = d.length; e < f;) {
  6678. var g =
  6679. e++;
  6680. c[g] = d[g].ur()
  6681. }
  6682. }
  6683. a.G = null == b.G ? null : b.G.jc();
  6684. a.Fc = b.Fc;
  6685. a.fb = b.fb;
  6686. a.xa = b.xa;
  6687. a.T = b.T;
  6688. a.hb = b.hb
  6689. };
  6690. fa.prototype = {
  6691. Kq: function(a) {
  6692. if (null == this.G) {
  6693. this.G = new sa;
  6694. for (var b = 0, c = this.F; b < c.length;) {
  6695. var d = c[b];
  6696. ++b;
  6697. d.D = null;
  6698. d.Cb = 0
  6699. }
  6700. this.G.ho(this);
  6701. null != this.ji && this.ji(a)
  6702. }
  6703. },
  6704. tf: function(a, b, c) {
  6705. if (b.$ != c) {
  6706. b.$ = c;
  6707. B.remove(this.F, b);
  6708. this.F.push(b);
  6709. if (null != this.G) {
  6710. null != b.D && (B.remove(this.G.wa.J, b.D), b.D = null);
  6711. this.G.Sj(b);
  6712. for (var d = 0, e = !1; !e;) {
  6713. ++d;
  6714. for (var e = !0, f = 0, g = this.F; f < g.length;) {
  6715. var h = g[f];
  6716. ++f;
  6717. if (h != b &&
  6718. h.$ == b.$ && h.Cb == d) {
  6719. e = !1;
  6720. break
  6721. }
  6722. }
  6723. }
  6724. b.Cb = d
  6725. }
  6726. vb.i(this.Mk, a, b, c)
  6727. }
  6728. },
  6729. ka: function(a) {
  6730. for (var b = 0, c = this.F; b < c.length;) {
  6731. var d = c[b];
  6732. ++b;
  6733. if (d.S == a) return d
  6734. }
  6735. return null
  6736. },
  6737. v: function(a) {
  6738. null != this.G && this.G.v(a)
  6739. },
  6740. aa: function(a) {
  6741. a.Pb(this.$b);
  6742. a.u(this.Fc ? 1 : 0);
  6743. a.Z(this.fb);
  6744. a.Z(this.xa);
  6745. this.T.aa(a);
  6746. a.u(null != this.G ? 1 : 0);
  6747. null != this.G && this.G.aa(a);
  6748. a.u(this.F.length);
  6749. for (var b = 0, c = this.F; b < c.length;) c[b++].Ca(a);
  6750. this.hb[1].aa(a);
  6751. this.hb[2].aa(a)
  6752. },
  6753. ea: function(a) {
  6754. this.$b = a.Ib();
  6755. this.Fc = 0 != a.K();
  6756. this.fb = a.W();
  6757. this.xa =
  6758. a.W();
  6759. this.T = h.ea(a);
  6760. var b = 0 != a.K();
  6761. this.G = null;
  6762. b && (this.G = new sa, this.G.ea(a, this));
  6763. for (var b = null == this.G ? null : this.G.wa.J, c = a.K(), d = this.F; d.length > c;) d.pop();
  6764. for (d = 0; d < c;) {
  6765. var e = new ea;
  6766. e.Da(a, b);
  6767. this.F[d++] = e
  6768. }
  6769. this.hb[1].ea(a);
  6770. this.hb[2].ea(a)
  6771. },
  6772. Lj: function() {
  6773. var a = 0,
  6774. b = u.ca();
  6775. this.aa(b);
  6776. for (b = b.Sq(); 4 <= b.m.byteLength - b.a;) a ^= b.W();
  6777. return a
  6778. },
  6779. Jn: function() {
  6780. var a = u.ca(4);
  6781. a.Z(this.Lj());
  6782. return a.ng()
  6783. },
  6784. dn: function(a) {
  6785. a = (new D(new DataView(a))).W();
  6786. x.i(this.vn, this.Lj() != a)
  6787. },
  6788. ul: function(a) {
  6789. this.cl = a
  6790. },
  6791. jc: function() {
  6792. var a = xa.sc,
  6793. b = this.Xb;
  6794. this.Yb != a && (null == b && (this.Xb = b = new fa), this.Yb = a, fa.bd(b, this));
  6795. return b
  6796. },
  6797. g: fa
  6798. };
  6799. ea.b = !0;
  6800. ea.he = [rb];
  6801. ea.mr = function(a, b) {
  6802. a.ra = b.ra;
  6803. a.Cb = b.Cb;
  6804. a.jb = b.jb;
  6805. a.vd = b.vd;
  6806. a.ud = b.ud;
  6807. a.xg = b.xg;
  6808. a.vb = b.vb;
  6809. a.o = b.o;
  6810. a.lb = b.lb;
  6811. a.S = b.S;
  6812. a.bc = b.bc;
  6813. a.D = null == b.D ? null : b.D.jc();
  6814. a.$ = b.$
  6815. };
  6816. ea.prototype = {
  6817. Ca: function(a) {
  6818. a.u(this.ra ? 1 : 0);
  6819. a.Z(this.Cb);
  6820. a.Pb(this.jb);
  6821. a.u(this.vd ? 1 : 0);
  6822. a.Pb(this.ud);
  6823. a.Z(this.xg);
  6824. a.Pb(this.o);
  6825. a.Z(this.lb);
  6826. a.ib(this.S);
  6827. a.u(this.bc ? 1 : 0);
  6828. a.u(this.$.U);
  6829. a.fr(null == this.D ?
  6830. -1 : this.D.yk)
  6831. },
  6832. Da: function(a, b) {
  6833. this.ra = 0 != a.K();
  6834. this.Cb = a.W();
  6835. this.jb = a.Ib();
  6836. this.vd = 0 != a.K();
  6837. this.ud = a.Ib();
  6838. this.xg = a.W();
  6839. this.o = a.Ib();
  6840. this.lb = a.W();
  6841. this.S = a.wb();
  6842. this.bc = 0 != a.K();
  6843. var c = a.Se();
  6844. this.$ = 1 == c ? p.ba : 2 == c ? p.ta : p.Ea;
  6845. c = a.Np();
  6846. this.D = 0 > c ? null : b[c]
  6847. },
  6848. ur: function() {
  6849. var a = xa.sc,
  6850. b = this.km;
  6851. this.sc != a && (null == b && (this.km = b = new ea), this.sc = a, ea.mr(b, this));
  6852. return b
  6853. },
  6854. g: ea
  6855. };
  6856. ra.b = !0;
  6857. ra.na = function(a) {
  6858. var b = new ra;
  6859. b.Bg = a;
  6860. return b
  6861. };
  6862. ra.ua = l;
  6863. ra.prototype = E(l.prototype, {
  6864. apply: function(a) {
  6865. var b = a.ka(this.oa);
  6866. null != b && this.Bg != b.vd && (b.vd = this.Bg, x.i(a.Hk, b))
  6867. },
  6868. Ca: function(a) {
  6869. a.u(this.Bg ? 1 : 0)
  6870. },
  6871. Da: function(a) {
  6872. this.Bg = 0 != a.K()
  6873. },
  6874. g: ra
  6875. });
  6876. Pa.b = !0;
  6877. Pa.ua = l;
  6878. Pa.prototype = E(l.prototype, {
  6879. apply: function(a) {
  6880. var b = a.ka(this.oa);
  6881. if (null != b && b.ra) {
  6882. for (var c = a.F, d = [], e = 0, f = 0, g = 0; g < c.length;) {
  6883. var h = c[g];
  6884. ++g;
  6885. h.$ == p.Ea && d.push(h);
  6886. h.$ == p.ba ? ++e : h.$ == p.ta && ++f
  6887. }
  6888. c = d.length;
  6889. 0 != c && (f == e ? 2 > c || (a.tf(b, d[0], p.ba), a.tf(b, d[1], p.ta)) : a.tf(b, d[0], f > e ? p.ba : p.ta))
  6890. }
  6891. },
  6892. Ca: function() {},
  6893. Da: function() {},
  6894. g: Pa
  6895. });
  6896. da.b = !0;
  6897. da.na = function(a, b) {
  6898. var c =
  6899. new da;
  6900. c.Mi = a;
  6901. c.newValue = b;
  6902. return c
  6903. };
  6904. da.ua = l;
  6905. da.prototype = E(l.prototype, {
  6906. apply: function(a) {
  6907. var b = a.ka(this.oa);
  6908. if (null != b && b.ra && null == a.G) switch (this.Mi) {
  6909. case 0:
  6910. b = this.newValue;
  6911. a.fb = 0 > b ? 0 : 99 < b ? 99 : b;
  6912. break;
  6913. case 1:
  6914. b = this.newValue, a.xa = 0 > b ? 0 : 99 < b ? 99 : b
  6915. }
  6916. },
  6917. Ca: function(a) {
  6918. a.Z(this.Mi);
  6919. a.Z(this.newValue)
  6920. },
  6921. Da: function(a) {
  6922. this.Mi = a.W();
  6923. this.newValue = a.W()
  6924. },
  6925. g: da
  6926. });
  6927. qa.b = !0;
  6928. qa.na = function(a, b) {
  6929. var c = new qa;
  6930. c.wd = a;
  6931. c.Ag = b;
  6932. return c
  6933. };
  6934. qa.ua = l;
  6935. qa.prototype = E(l.prototype, {
  6936. apply: function(a) {
  6937. var b = a.ka(this.oa);
  6938. if (null !=
  6939. b && b.ra) {
  6940. var c = a.ka(this.wd);
  6941. null != c && 0 != c.S && c.ra != this.Ag && (c.ra = this.Ag, null != a.Nh && a.Nh(b, c))
  6942. }
  6943. },
  6944. Ca: function(a) {
  6945. a.Z(this.wd);
  6946. a.u(this.Ag ? 1 : 0)
  6947. },
  6948. Da: function(a) {
  6949. this.wd = a.W();
  6950. this.Ag = 0 != a.K()
  6951. },
  6952. g: qa
  6953. });
  6954. pa.b = !0;
  6955. pa.na = function(a) {
  6956. var b = new pa;
  6957. b.de = a;
  6958. return b
  6959. };
  6960. pa.ua = l;
  6961. pa.prototype = E(l.prototype, {
  6962. apply: function(a) {
  6963. a = a.ka(this.oa);
  6964. null != a && (a.jb = this.de)
  6965. },
  6966. Ca: function(a) {
  6967. a.Pb(this.de)
  6968. },
  6969. Da: function(a) {
  6970. this.de = a.Ib();
  6971. null != this.de && (this.de = aa.td(this.de, 2))
  6972. },
  6973. g: pa
  6974. });
  6975. Q.b = !0;
  6976. Q.na = function(a, b) {
  6977. var c = new Q;
  6978. c.wd =
  6979. a;
  6980. c.Gi = b;
  6981. return c
  6982. };
  6983. Q.ua = l;
  6984. Q.prototype = E(l.prototype, {
  6985. apply: function(a) {
  6986. var b = a.ka(this.oa),
  6987. c = a.ka(this.wd);
  6988. if (null != b && null != c) {
  6989. var d = b.ra;
  6990. (d = d || c == b && !a.Fc && null == a.G) && a.tf(b, c, this.Gi)
  6991. }
  6992. },
  6993. Ca: function(a) {
  6994. a.Z(this.wd);
  6995. a.u(this.Gi.U)
  6996. },
  6997. Da: function(a) {
  6998. this.wd = a.W();
  6999. a = a.Se();
  7000. this.Gi = 1 == a ? p.ba : 2 == a ? p.ta : p.Ea
  7001. },
  7002. g: Q
  7003. });
  7004. oa.b = !0;
  7005. oa.na = function(a) {
  7006. var b = new oa;
  7007. b.zd = a;
  7008. return b
  7009. };
  7010. oa.ua = l;
  7011. oa.prototype = E(l.prototype, {
  7012. apply: function(a) {
  7013. var b = a.ka(this.oa);
  7014. null != b && b.ra && null == a.G && (a.T = this.zd, null != a.hi && a.hi(b, this.zd))
  7015. },
  7016. Ca: function(a) {
  7017. var b = u.ca();
  7018. this.zd.aa(b);
  7019. b = pako.deflateRaw(b.Mb());
  7020. a.qc(b.byteLength);
  7021. a.Ob(b)
  7022. },
  7023. Da: function(a) {
  7024. a = pako.inflateRaw(a.ob(a.Zb()));
  7025. this.zd = h.ea(new D(new DataView(a.buffer, a.byteOffset, a.byteLength)))
  7026. },
  7027. g: oa
  7028. });
  7029. Oa.b = !0;
  7030. Oa.ua = l;
  7031. Oa.prototype = E(l.prototype, {
  7032. apply: function(a) {
  7033. var b = a.ka(this.oa);
  7034. null != b && b.ra && this.$ != p.Ea && (a.hb[this.$.U] = this.vg)
  7035. },
  7036. Ca: function(a) {
  7037. a.u(this.$.U);
  7038. this.vg.aa(a)
  7039. },
  7040. Da: function(a) {
  7041. var b = a.Se();
  7042. this.$ = 1 == b ? p.ba : 2 == b ? p.ta : p.Ea;
  7043. this.vg = new ja;
  7044. this.vg.ea(a)
  7045. },
  7046. g: Oa
  7047. });
  7048. na.b = !0;
  7049. na.na = function(a) {
  7050. var b = new na;
  7051. b.newValue = a;
  7052. return b
  7053. };
  7054. na.ua = l;
  7055. na.prototype = E(l.prototype, {
  7056. apply: function(a) {
  7057. var b = a.ka(this.oa);
  7058. null != b && b.ra && (a.Fc = this.newValue)
  7059. },
  7060. Ca: function(a) {
  7061. a.u(this.newValue ? 1 : 0)
  7062. },
  7063. Da: function(a) {
  7064. this.newValue = 0 != a.K()
  7065. },
  7066. g: na
  7067. });
  7068. ma.b = !0;
  7069. ma.na = function(a, b, c, d) {
  7070. var e = new ma;
  7071. e.S = a;
  7072. e.name = b;
  7073. e.zi = c;
  7074. e.jb = d;
  7075. return e
  7076. };
  7077. ma.ua = l;
  7078. ma.prototype = E(l.prototype, {
  7079. apply: function(a) {
  7080. if (0 == this.oa) {
  7081. var b = new ea;
  7082. b.S = this.S;
  7083. b.o = this.name;
  7084. b.ud = this.zi;
  7085. b.jb = this.jb;
  7086. a.F.push(b);
  7087. a = a.Ik;
  7088. null != a && a(b)
  7089. }
  7090. },
  7091. Ca: function(a) {
  7092. a.Z(this.S);
  7093. a.Pb(this.name);
  7094. a.Pb(this.zi);
  7095. a.Pb(this.jb)
  7096. },
  7097. Da: function(a) {
  7098. this.S = a.W();
  7099. this.name = a.Ib();
  7100. this.zi = a.Ib();
  7101. this.jb = a.Ib()
  7102. },
  7103. g: ma
  7104. });
  7105. Na.b = !0;
  7106. Na.ua = l;
  7107. Na.prototype = E(l.prototype, {
  7108. apply: function(a) {
  7109. var b = a.G;
  7110. if (null != b) {
  7111. var c = a.ka(this.oa);
  7112. if (null != c && c.ra) {
  7113. var d = 120 == b.Fa,
  7114. e = 0 < b.Fa;
  7115. this.ff ? b.Fa = 120 : 120 == b.Fa && (b.Fa = 119);
  7116. d != this.ff && vb.i(a.Bk, c, this.ff, e)
  7117. }
  7118. }
  7119. },
  7120. Ca: function(a) {
  7121. a.u(this.ff ? 1 : 0)
  7122. },
  7123. Da: function(a) {
  7124. this.ff = 0 != a.K()
  7125. },
  7126. g: Na
  7127. });
  7128. Ma.b = !0;
  7129. Ma.ua = l;
  7130. Ma.prototype = E(l.prototype, {
  7131. jm: function(a) {
  7132. if (null !=
  7133. a.qp) {
  7134. var b = a.ka(this.oa);
  7135. return null == b ? !1 : a.qp(b, this.ef)
  7136. }
  7137. return !0
  7138. },
  7139. apply: function(a) {
  7140. var b = a.ka(this.oa);
  7141. null != b && ha.i(a.Gk, b, this.ef)
  7142. },
  7143. Ca: function(a) {
  7144. a.rc(aa.td(this.ef, 140))
  7145. },
  7146. Da: function(a) {
  7147. this.ef = a.mc();
  7148. if (140 < this.ef.length) throw new r("message too long");
  7149. },
  7150. g: Ma
  7151. });
  7152. Ga.b = !0;
  7153. Ga.ua = l;
  7154. Ga.prototype = E(l.prototype, {
  7155. apply: function(a) {
  7156. var b = a.ka(this.oa);
  7157. if (null != b) {
  7158. var c = this.input;
  7159. 0 == (b.lb & 16) && 0 != (c & 16) && (b.bc = !0);
  7160. b.lb = c;
  7161. null != a.rp && a.rp(b)
  7162. }
  7163. },
  7164. Ca: function(a) {
  7165. a.pb(this.input)
  7166. },
  7167. Da: function(a) {
  7168. this.input =
  7169. a.eb()
  7170. },
  7171. g: Ga
  7172. });
  7173. la.b = !0;
  7174. la.na = function(a) {
  7175. var b = new la;
  7176. b.Ni = a;
  7177. return b
  7178. };
  7179. la.ua = l;
  7180. la.prototype = E(l.prototype, {
  7181. apply: function(a) {
  7182. var b = a.ka(this.oa);
  7183. null != b && ha.i(a.Lk, b, this.Ni)
  7184. },
  7185. Ca: function(a) {
  7186. a.u(this.Ni)
  7187. },
  7188. Da: function(a) {
  7189. this.Ni = a.K()
  7190. },
  7191. g: la
  7192. });
  7193. dc.b = !0;
  7194. dc.Ci = function() {
  7195. l.Ta(la);
  7196. l.Ta(Sa);
  7197. l.Ta(Ga);
  7198. l.Ta(Ma);
  7199. l.Ta(ma);
  7200. l.Ta(Y);
  7201. l.Ta(La);
  7202. l.Ta(Ka);
  7203. l.Ta(Na);
  7204. l.Ta(da);
  7205. l.Ta(oa);
  7206. l.Ta(Q);
  7207. l.Ta(na);
  7208. l.Ta(qa);
  7209. l.Ta(Pa);
  7210. l.Ta(ra);
  7211. l.Ta(ka);
  7212. l.Ta(pa);
  7213. l.Ta(Oa)
  7214. };
  7215. Y.b = !0;
  7216. Y.na = function(a, b, c) {
  7217. var d = new Y;
  7218. d.S = a;
  7219. d.Uc = b;
  7220. d.tg = c;
  7221. return d
  7222. };
  7223. Y.ua = l;
  7224. Y.prototype = E(l.prototype, {
  7225. apply: function(a) {
  7226. if (0 != this.S) {
  7227. var b = a.ka(this.oa);
  7228. if (null != b && b.ra) {
  7229. var c = a.ka(this.S);
  7230. null != c && (B.remove(a.F, c), null != a.G && B.remove(a.G.wa.J, c.D), Sb.i(a.Jk, c, this.Uc, this.tg, b))
  7231. }
  7232. }
  7233. },
  7234. Ca: function(a) {
  7235. null != this.Uc && (this.Uc = aa.td(this.Uc, 100));
  7236. a.Z(this.S);
  7237. a.Pb(this.Uc);
  7238. a.u(this.tg ? 1 : 0)
  7239. },
  7240. Da: function(a) {
  7241. this.S = a.W();
  7242. this.Uc = a.Ib();
  7243. this.tg = 0 != a.K();
  7244. if (null != this.Uc && 100 < this.Uc.length) throw new r("string too long");
  7245. },
  7246. g: Y
  7247. });
  7248. La.b = !0;
  7249. La.ua = l;
  7250. La.prototype = E(l.prototype, {
  7251. apply: function(a) {
  7252. var b =
  7253. a.ka(this.oa);
  7254. null != b && b.ra && a.Kq(b, 0)
  7255. },
  7256. Ca: function() {},
  7257. Da: function() {},
  7258. g: La
  7259. });
  7260. Ka.b = !0;
  7261. Ka.ua = l;
  7262. Ka.prototype = E(l.prototype, {
  7263. apply: function(a) {
  7264. var b = a.ka(this.oa);
  7265. if (null != b && b.ra && null != a.G) {
  7266. a.G = null;
  7267. for (var c = 0, d = a.F; c < d.length;) {
  7268. var e = d[c];
  7269. ++c;
  7270. e.D = null;
  7271. e.Cb = 0
  7272. }
  7273. null != a.Ze && a.Ze(b)
  7274. }
  7275. },
  7276. Ca: function() {},
  7277. Da: function() {},
  7278. g: Ka
  7279. });
  7280. ka.b = !0;
  7281. ka.na = function(a) {
  7282. for (var b = new ka, c = a.L.F, d = [], e = 0; e < c.length;) {
  7283. var f = a.qe.get(c[e++].S);
  7284. d.push(null == f ? 0 : f.vb)
  7285. }
  7286. b.ee = d;
  7287. return b
  7288. };
  7289. ka.ua = l;
  7290. ka.prototype = E(l.prototype, {
  7291. apply: function(a) {
  7292. if (0 ==
  7293. this.oa) {
  7294. a = a.F;
  7295. for (var b = 0, c = a.length; b < c;) {
  7296. var d = b++;
  7297. if (d >= this.ee.length) break;
  7298. a[d].vb = this.ee[d]
  7299. }
  7300. }
  7301. },
  7302. Ca: function(a) {
  7303. a.ib(this.ee.length);
  7304. for (var b = 0, c = this.ee; b < c.length;) a.ib(c[b++])
  7305. },
  7306. Da: function(a) {
  7307. this.ee = [];
  7308. for (var b = a.wb(), c = 0; c < b;) ++c, this.ee.push(a.wb())
  7309. },
  7310. g: ka
  7311. });
  7312. X.b = !0;
  7313. X.he = [rb];
  7314. X.bd = function(a, b) {
  7315. a.la = b.la;
  7316. a.l = b.l;
  7317. a.pa = b.pa;
  7318. a.Aa = b.Aa;
  7319. a.X = b.X;
  7320. a.ej = b.ej;
  7321. a.h = b.h;
  7322. a.B = b.B;
  7323. var c = a.a,
  7324. d = b.a;
  7325. c.x = d.x;
  7326. c.y = d.y;
  7327. c = a.M;
  7328. d = b.M;
  7329. c.x = d.x;
  7330. c.y = d.y
  7331. };
  7332. X.prototype = {
  7333. aa: function(a) {
  7334. var b = this.a;
  7335. a.w(b.x);
  7336. a.w(b.y);
  7337. b =
  7338. this.M;
  7339. a.w(b.x);
  7340. a.w(b.y);
  7341. a.w(this.la);
  7342. a.w(this.l);
  7343. a.w(this.pa);
  7344. a.w(this.Aa);
  7345. a.pb(this.X);
  7346. a.Z(this.h);
  7347. a.Z(this.B)
  7348. },
  7349. ea: function(a) {
  7350. var b = this.a;
  7351. b.x = a.A();
  7352. b.y = a.A();
  7353. b = this.M;
  7354. b.x = a.A();
  7355. b.y = a.A();
  7356. this.la = a.A();
  7357. this.l = a.A();
  7358. this.pa = a.A();
  7359. this.Aa = a.A();
  7360. this.X = a.eb();
  7361. this.h = a.W();
  7362. this.B = a.W()
  7363. },
  7364. an: function(a) {
  7365. var b = this.a,
  7366. c = a.a,
  7367. d = b.x - c.x,
  7368. b = b.y - c.y,
  7369. e = a.la + this.la,
  7370. f = d * d + b * b;
  7371. if (0 < f && f <= e * e) {
  7372. var f = Math.sqrt(f),
  7373. d = d / f,
  7374. b = b / f,
  7375. c = this.pa / (this.pa + a.pa),
  7376. e = e - f,
  7377. f = e * c,
  7378. g = this.a,
  7379. h = this.a;
  7380. g.x = h.x + d * f;
  7381. g.y = h.y + b * f;
  7382. h = g = a.a;
  7383. e -=
  7384. f;
  7385. g.x = h.x - d * e;
  7386. g.y = h.y - b * e;
  7387. e = this.M;
  7388. f = a.M;
  7389. e = d * (e.x - f.x) + b * (e.y - f.y);
  7390. 0 > e && (e *= this.l * a.l + 1, c *= e, g = f = this.M, f.x = g.x - d * c, f.y = g.y - b * c, a = f = a.M, c = e - c, f.x = a.x + d * c, f.y = a.y + b * c)
  7391. }
  7392. },
  7393. bn: function(a) {
  7394. var b, c, d;
  7395. if (0 != 0 * a.sb) {
  7396. b = a.P.a;
  7397. var e = a.V.a;
  7398. c = e.x - b.x;
  7399. var f = e.y - b.y,
  7400. g = this.a;
  7401. d = g.x - e.x;
  7402. e = g.y - e.y;
  7403. g = this.a;
  7404. if (0 >= (g.x - b.x) * c + (g.y - b.y) * f || 0 <= d * c + e * f) return;
  7405. c = a.sa;
  7406. b = c.x;
  7407. c = c.y;
  7408. d = b * d + c * e
  7409. } else {
  7410. c = a.Fd;
  7411. d = this.a;
  7412. b = d.x - c.x;
  7413. c = d.y - c.y;
  7414. d = a.kg;
  7415. e = a.lg;
  7416. if ((0 < d.x * b + d.y * c && 0 < e.x * b + e.y * c) == 0 >= a.sb) return;
  7417. e = Math.sqrt(b * b + c * c);
  7418. if (0 ==
  7419. e) return;
  7420. d = e - a.pj;
  7421. b /= e;
  7422. c /= e
  7423. }
  7424. e = a.vc;
  7425. if (0 == e) 0 > d && (d = -d, b = -b, c = -c);
  7426. else if (0 > e && (e = -e, d = -d, b = -b, c = -c), d < -e) return;
  7427. d >= this.la || (d = this.la - d, f = e = this.a, e.x = f.x + b * d, e.y = f.y + c * d, d = this.M, d = b * d.x + c * d.y, 0 > d && (d *= this.l * a.l + 1, e = a = this.M, a.x = e.x - b * d, a.y = e.y - c * d))
  7428. },
  7429. jc: function() {
  7430. var a = xa.sc,
  7431. b = this.Xb;
  7432. this.Yb != a && (null == b && (this.Xb = b = new X), this.Yb = a, X.bd(b, this));
  7433. return b
  7434. },
  7435. g: X
  7436. };
  7437. Fa.b = !0;
  7438. Fa.he = [rb];
  7439. Fa.bd = function(a, b) {
  7440. if (null == b.J) a.J = null;
  7441. else {
  7442. null == a.J && (a.J = []);
  7443. for (var c = a.J, d = b.J, e = d.length; c.length > e;) c.pop();
  7444. for (var e = 0, f = d.length; e < f;) {
  7445. var g = e++;
  7446. c[g] = d[g].jc()
  7447. }
  7448. }
  7449. a.C = b.C;
  7450. a.O = b.O;
  7451. a.ha = b.ha
  7452. };
  7453. Fa.prototype = {
  7454. aa: function(a) {
  7455. a.u(this.J.length);
  7456. for (var b = 0, c = this.J.length; b < c;) {
  7457. var d = b++,
  7458. e = this.J[d];
  7459. e.yk = d;
  7460. e.aa(a)
  7461. }
  7462. },
  7463. ea: function(a) {
  7464. this.J = [];
  7465. for (var b = a.K(), c = 0; c < b;) {
  7466. ++c;
  7467. var d = new X;
  7468. d.ea(a);
  7469. this.J.push(d)
  7470. }
  7471. },
  7472. v: function(a) {
  7473. for (var b = 0, c = this.J; b < c.length;) {
  7474. var d = c[b];
  7475. ++b;
  7476. var e = d.a,
  7477. f = d.a,
  7478. g = d.M;
  7479. e.x = f.x + g.x * a;
  7480. e.y = f.y + g.y * a;
  7481. f = e = d.M;
  7482. d = d.Aa;
  7483. e.x = f.x * d;
  7484. e.y = f.y * d
  7485. }
  7486. a = 0;
  7487. for (b = this.J.length; a < b;) {
  7488. d = a++;
  7489. c = this.J[d];
  7490. d += 1;
  7491. for (e =
  7492. this.J.length; d < e;) f = this.J[d++], 0 != (f.h & c.B) && 0 != (f.B & c.h) && c.an(f);
  7493. if (0 != c.pa) {
  7494. d = 0;
  7495. for (e = this.ha; d < e.length;)
  7496. if (f = e[d], ++d, 0 != (f.h & c.B) && 0 != (f.B & c.h)) {
  7497. var g = f.sa,
  7498. h = c.a,
  7499. g = f.Oa - (g.x * h.x + g.y * h.y) + c.la;
  7500. if (0 < g) {
  7501. var k = h = c.a,
  7502. l = f.sa;
  7503. h.x = k.x + l.x * g;
  7504. h.y = k.y + l.y * g;
  7505. g = c.M;
  7506. h = f.sa;
  7507. g = g.x * h.x + g.y * h.y;
  7508. 0 > g && (g *= c.l * f.l + 1, k = h = c.M, f = f.sa, h.x = k.x - f.x * g, h.y = k.y - f.y * g)
  7509. }
  7510. } d = 0;
  7511. for (e = this.O; d < e.length;) f = e[d], ++d, 0 != (f.h & c.B) && 0 != (f.B & c.h) && c.bn(f);
  7512. d = 0;
  7513. for (e = this.C; d < e.length;)
  7514. if (f = e[d], ++d, 0 != (f.h & c.B) && 0 != (f.B & c.h) && (h = c.a,
  7515. k = f.a, g = h.x - k.x, h = h.y - k.y, k = g * g + h * h, 0 < k && k <= c.la * c.la)) {
  7516. var k = Math.sqrt(k),
  7517. g = g / k,
  7518. h = h / k,
  7519. k = c.la - k,
  7520. m = l = c.a;
  7521. l.x = m.x + g * k;
  7522. l.y = m.y + h * k;
  7523. k = c.M;
  7524. k = g * k.x + h * k.y;
  7525. 0 > k && (k *= c.l * f.l + 1, l = f = c.M, f.x = l.x - g * k, f.y = l.y - h * k)
  7526. }
  7527. }
  7528. }
  7529. },
  7530. jc: function() {
  7531. var a = xa.sc,
  7532. b = this.Xb;
  7533. this.Yb != a && (null == b && (this.Xb = b = new Fa), this.Yb = a, Fa.bd(b, this));
  7534. return b
  7535. },
  7536. g: Fa
  7537. };
  7538. I.b = !0;
  7539. I.prototype = {
  7540. aa: function(a) {
  7541. var b = this.sa;
  7542. a.w(b.x);
  7543. a.w(b.y);
  7544. a.w(this.Oa);
  7545. a.w(this.l);
  7546. a.Z(this.h);
  7547. a.Z(this.B)
  7548. },
  7549. ea: function(a) {
  7550. var b = this.sa;
  7551. b.x = a.A();
  7552. b.y = a.A();
  7553. this.Oa = a.A();
  7554. this.l = a.A();
  7555. this.h = a.W();
  7556. this.B = a.W()
  7557. },
  7558. g: I
  7559. };
  7560. C.b = !0;
  7561. C.prototype = {
  7562. aa: function(a) {
  7563. var b = 0,
  7564. c = a.a;
  7565. a.u(0);
  7566. a.u(this.P.fd);
  7567. a.u(this.V.fd);
  7568. 0 != this.vc && (b = 1, a.w(this.vc));
  7569. this.sb != 1 / 0 && (b |= 2, a.w(this.sb));
  7570. 0 != this.X && (b |= 4, a.Z(this.X));
  7571. this.Va && (b |= 8);
  7572. a.m.setUint8(c, b);
  7573. a.w(this.l);
  7574. a.Z(this.h);
  7575. a.Z(this.B)
  7576. },
  7577. ea: function(a, b) {
  7578. var c = a.K();
  7579. this.P = b[a.K()];
  7580. this.V = b[a.K()];
  7581. this.vc = 0 != (c & 1) ? a.A() : 0;
  7582. this.sb = 0 != (c & 2) ? a.A() : 1 / 0;
  7583. this.X = 0 != (c & 4) ? a.W() : 0;
  7584. this.Va = 0 != (c & 8);
  7585. this.l = a.A();
  7586. this.h = a.W();
  7587. this.B = a.W()
  7588. },
  7589. Ec: function(a) {
  7590. a *=
  7591. .017453292519943295;
  7592. if (0 > a) {
  7593. a = -a;
  7594. var b = this.P;
  7595. this.P = this.V;
  7596. this.V = b;
  7597. this.vc = -this.vc
  7598. }
  7599. a > C.xm && a < C.wm && (this.sb = 1 / Math.tan(a / 2))
  7600. },
  7601. Ln: function() {
  7602. return 0 != 0 * this.sb ? 0 : 114.59155902616465 * Math.atan(1 / this.sb)
  7603. },
  7604. Pd: function() {
  7605. if (0 == 0 * this.sb) {
  7606. var a = this.V.a,
  7607. b = this.P.a,
  7608. c = .5 * (a.x - b.x),
  7609. a = .5 * (a.y - b.y),
  7610. b = this.P.a,
  7611. d = this.sb;
  7612. this.Fd = new L(b.x + c + -a * d, b.y + a + c * d);
  7613. a = this.P.a;
  7614. b = this.Fd;
  7615. c = a.x - b.x;
  7616. a = a.y - b.y;
  7617. this.pj = Math.sqrt(c * c + a * a);
  7618. c = this.P.a;
  7619. a = this.Fd;
  7620. this.kg = new L(-(c.y - a.y), c.x - a.x);
  7621. c = this.Fd;
  7622. a = this.V.a;
  7623. this.lg =
  7624. new L(-(c.y - a.y), c.x - a.x);
  7625. 0 >= this.sb && (a = c = this.kg, c.x = -a.x, c.y = -a.y, a = c = this.lg, c.x = -a.x, c.y = -a.y)
  7626. } else a = this.P.a, b = this.V.a, c = a.x - b.x, a = -(a.y - b.y), b = Math.sqrt(a * a + c * c), this.sa = new L(a / b, c / b)
  7627. },
  7628. g: C
  7629. };
  7630. z.b = !0;
  7631. z.prototype = {
  7632. aa: function(a) {
  7633. var b = this.a;
  7634. a.w(b.x);
  7635. a.w(b.y);
  7636. a.w(this.l);
  7637. a.Z(this.h);
  7638. a.Z(this.B)
  7639. },
  7640. ea: function(a) {
  7641. var b = this.a;
  7642. b.x = a.A();
  7643. b.y = a.A();
  7644. this.l = a.A();
  7645. this.h = a.W();
  7646. this.B = a.W()
  7647. },
  7648. g: z
  7649. };
  7650. N.b = !0;
  7651. N.Gc = function(a) {
  7652. return "rgba(" + [(a & 16711680) >>> 16, (a & 65280) >>> 8, a & 255].join() + ",255)"
  7653. };
  7654. N.gi = function(a,
  7655. b) {
  7656. a.imageSmoothingEnabled = b;
  7657. a.mozImageSmoothingEnabled = b
  7658. };
  7659. N.prototype = {
  7660. Yn: function(a, b) {
  7661. var c = this.Sc.get(a.S);
  7662. if (null != c) switch (b) {
  7663. case 0:
  7664. c.Df = !0;
  7665. break;
  7666. case 1:
  7667. c.Df = !1
  7668. }
  7669. },
  7670. ar: function() {
  7671. if (null != this.ja.parentElement) {
  7672. var a = window.devicePixelRatio * this.cg,
  7673. b = this.ja.getBoundingClientRect(),
  7674. c = Math.round(b.width * a),
  7675. a = Math.round(b.height * a);
  7676. if (this.ja.width != c || this.ja.height != a) this.ja.width = c, this.ja.height = a
  7677. }
  7678. },
  7679. Ac: function(a, b) {
  7680. var c = window.performance.now(),
  7681. d = (c - this.Mc) / 1E3;
  7682. this.Mc = c;
  7683. this.mg.clear();
  7684. this.ar();
  7685. N.gi(this.c, !0);
  7686. this.c.resetTransform();
  7687. if (null != a.G) {
  7688. var c = a.G,
  7689. e = c.wa,
  7690. f = a.ka(b),
  7691. g = null != f ? f.D : null,
  7692. h = 0 != this.Qe ? this.ja.height / this.Qe : this.Re * window.devicePixelRatio * this.cg,
  7693. k = this.af * this.cg,
  7694. l = c.T.Fe,
  7695. m = this.ja.width / h;
  7696. 0 < l && m > l && (m = l, h = this.ja.width / l);
  7697. l = (this.ja.height - k) / h;
  7698. this.Yq(c, g, m, l);
  7699. for (var p = 0, q = a.F; p < q.length;) {
  7700. var r = q[p];
  7701. ++p;
  7702. if (null != r.D) {
  7703. var t = this.Sc.get(r.S);
  7704. null == t && (t = new Ea, this.Sc.set(r.S, t));
  7705. t.v(r, a);
  7706. this.mg.set(r.D, t)
  7707. }
  7708. }
  7709. this.c.translate(this.ja.width / 2, (this.ja.height +
  7710. k) / 2);
  7711. this.c.scale(h, h);
  7712. this.c.translate(-this.ab.x, -this.ab.y);
  7713. this.c.lineWidth = 3;
  7714. this.eq(c.T);
  7715. this.cq(c.T);
  7716. this.Yp(a, m, l);
  7717. this.Zp(a, f);
  7718. null != g && this.aq(g.a);
  7719. this.c.lineWidth = 2;
  7720. f = 0;
  7721. for (g = a.F; f < g.length;) h = g[f], ++f, k = h.D, null != k && this.$k(k, this.Sc.get(h.S));
  7722. f = 0;
  7723. for (e = e.J; f < e.length;) g = e[f], ++f, null == this.mg.get(g) && this.$k(g, null);
  7724. this.c.lineWidth = 3;
  7725. this.c.resetTransform();
  7726. this.c.translate(this.ja.width / 2, this.ja.height / 2);
  7727. this.$p(c);
  7728. 0 >= c.Fa && (this.ed.v(d), this.ed.Ac(this.c));
  7729. this.mg.clear();
  7730. this.Xp(a)
  7731. }
  7732. },
  7733. Xp: function(a) {
  7734. var b = new Set,
  7735. c = 0;
  7736. for (a = a.F; c < a.length;) b.add(a[c++].S);
  7737. c = this.Sc.keys();
  7738. for (a = c.next(); !a.done;) {
  7739. var d = a.value;
  7740. a = c.next();
  7741. if (!b.has(d)) this.Sc["delete"](d)
  7742. }
  7743. },
  7744. Yq: function(a, b, c, d) {
  7745. var e, f;
  7746. if (null != b && 1 == a.T.oe) f = b.a, e = f.x, f = f.y;
  7747. else if (f = a.wa.J[a.ec].a, e = f.x, f = f.y, null != b) {
  7748. var g = b.a;
  7749. e = .5 * (e + g.x);
  7750. f = .5 * (f + g.y);
  7751. var h = .5 * c,
  7752. k = .5 * d;
  7753. b = g.x - h + 50;
  7754. var l = g.y - k + 50,
  7755. h = g.x + h - 50,
  7756. g = g.y + k - 50;
  7757. e = e > h ? h : e < b ? b : e;
  7758. f = f > g ? g : f < l ? l : f
  7759. }
  7760. h = b = this.ab;
  7761. l = h.x;
  7762. h = h.y;
  7763. b.x = l + .04 * (e - l);
  7764. b.y = h + .04 * (f - h);
  7765. this.jn(c, d, a.T)
  7766. },
  7767. jn: function(a,
  7768. b, c) {
  7769. a > 2 * c.Rb ? this.ab.x = 0 : this.ab.x + .5 * a > c.Rb ? this.ab.x = c.Rb - .5 * a : this.ab.x - .5 * a < -c.Rb && (this.ab.x = -c.Rb + .5 * a);
  7770. b > 2 * c.hc ? this.ab.y = 0 : this.ab.y + .5 * b > c.hc ? this.ab.y = c.hc - .5 * b : this.ab.y - .5 * b < -c.hc && (this.ab.y = -c.hc + .5 * b)
  7771. },
  7772. aq: function(a) {
  7773. this.c.beginPath();
  7774. this.c.strokeStyle = "white";
  7775. this.c.globalAlpha = .3;
  7776. this.c.arc(a.x, a.y, 25, 0, 2 * Math.PI, !1);
  7777. this.c.stroke();
  7778. this.c.globalAlpha = 1
  7779. },
  7780. $p: function(a) {
  7781. var b = 0 < a.Fa;
  7782. this.yq(b);
  7783. b && (120 != a.Fa && (a = a.Fa / 120 * 200, this.c.fillStyle = "white", this.c.fillRect(.5 * -a, 100, a, 20)),
  7784. this.ed.np.fq(this.c))
  7785. },
  7786. yq: function(a) {
  7787. this.Tj != a && (this.ja.style.filter = a ? "grayscale(70%)" : "", this.Tj = a)
  7788. },
  7789. il: function(a, b, c, d, e, f) {
  7790. d = b + d;
  7791. e = c + e;
  7792. a.beginPath();
  7793. a.moveTo(d - f, c);
  7794. a.arcTo(d, c, d, c + f, f);
  7795. a.lineTo(d, e - f);
  7796. a.arcTo(d, e, d - f, e, f);
  7797. a.lineTo(b + f, e);
  7798. a.arcTo(b, e, b, e - f, f);
  7799. a.lineTo(b, c + f);
  7800. a.arcTo(b, c, b + f, c, f);
  7801. a.closePath()
  7802. },
  7803. eq: function(a) {
  7804. var b = this;
  7805. N.gi(this.c, !1);
  7806. var c = a.Cd,
  7807. d = a.Bd;
  7808. if (1 == a.Yc) this.c.save(), this.c.resetTransform(), this.c.fillStyle = N.Gc(a.fc), this.c.fillRect(0, 0, this.ja.width, this.ja.height),
  7809. this.c.restore(), this.c.strokeStyle = "#C7E6BD", this.c.fillStyle = this.Un, this.il(this.c, -c, -d, 2 * c, 2 * d, a.Hc), this.c.save(), this.c.scale(2, 2), this.c.fill(), this.c.restore(), this.c.moveTo(0, -d), this.c.lineTo(0, d), this.c.stroke(), this.c.beginPath(), this.c.arc(0, 0, a.Xc, 0, 2 * Math.PI), this.c.stroke();
  7810. else if (2 == a.Yc) {
  7811. this.c.strokeStyle = "#E9CC6E";
  7812. this.c.save();
  7813. this.il(this.c, -c, -d, 2 * c, 2 * d, a.Hc);
  7814. this.c.scale(2, 2);
  7815. this.c.fillStyle = this.fn;
  7816. this.c.fillRect(-1E4, -1E4, 2E4, 2E4);
  7817. this.c.fillStyle = this.hn;
  7818. this.c.fill();
  7819. this.c.restore();
  7820. this.c.stroke();
  7821. this.c.beginPath();
  7822. this.c.moveTo(0, -d);
  7823. this.c.setLineDash([15, 15]);
  7824. this.c.lineTo(0, d);
  7825. this.c.stroke();
  7826. this.c.setLineDash([]);
  7827. var e = a.ne,
  7828. c = c - e;
  7829. e < a.Hc && (c = 0);
  7830. e = function(c, e, h) {
  7831. b.c.beginPath();
  7832. b.c.strokeStyle = c;
  7833. b.c.arc(0, 0, a.Xc, -1.5707963267948966, 1.5707963267948966, h);
  7834. 0 != e && (b.c.moveTo(e, -d), b.c.lineTo(e, d));
  7835. b.c.stroke()
  7836. };
  7837. e("#85ACF3", c, !1);
  7838. e("#E18977", -c, !0)
  7839. } else this.c.save(), this.c.resetTransform(), this.c.fillStyle = N.Gc(a.fc), this.c.fillRect(0, 0, this.ja.width, this.ja.height),
  7840. this.c.restore();
  7841. N.gi(this.c, !0)
  7842. },
  7843. Zp: function(a, b) {
  7844. for (var c = m.s.Qj.I(), d = 0, e = a.F; d < e.length;) {
  7845. var f = e[d];
  7846. ++d;
  7847. var g = f.D;
  7848. if (null != g) {
  7849. var g = g.a,
  7850. h = this.Sc.get(f.S);
  7851. c && h.Df && this.c.drawImage(m.Nl, g.x - .5 * m.Nl.width, g.y - 35);
  7852. f != b && h.Bn(this.c, g.x, g.y + 50)
  7853. }
  7854. }
  7855. },
  7856. $k: function(a, b) {
  7857. this.c.beginPath();
  7858. null == b ? (this.c.fillStyle = N.Gc(a.X), this.c.strokeStyle = "black") : (this.c.fillStyle = b.aj, this.c.strokeStyle = b.wn);
  7859. this.c.beginPath();
  7860. this.c.arc(a.a.x, a.a.y, a.la, 0, 2 * Math.PI, !1);
  7861. if (null != b) {
  7862. this.c.save();
  7863. var c = a.la / 32;
  7864. this.c.translate(a.a.x, a.a.y);
  7865. this.c.scale(c, c);
  7866. this.c.translate(-32, -32);
  7867. this.c.fill();
  7868. this.c.restore()
  7869. } else 2147483647 >= a.X && this.c.fill();
  7870. this.c.stroke()
  7871. },
  7872. cq: function(a) {
  7873. if (null != a) {
  7874. var b = 0;
  7875. for (a = a.O; b < a.length;) this.bq(a[b++])
  7876. }
  7877. },
  7878. bq: function(a) {
  7879. if (a.Va) {
  7880. this.c.beginPath();
  7881. this.c.strokeStyle = N.Gc(a.X);
  7882. var b = a.P.a,
  7883. c = a.V.a;
  7884. if (0 != 0 * a.sb) this.c.moveTo(b.x, b.y), this.c.lineTo(c.x, c.y);
  7885. else {
  7886. a = a.Fd;
  7887. var d = b.x - a.x,
  7888. b = b.y - a.y;
  7889. this.c.arc(a.x, a.y, Math.sqrt(d * d + b * b), Math.atan2(b, d), Math.atan2(c.y - a.y, c.x - a.x))
  7890. }
  7891. this.c.stroke()
  7892. }
  7893. },
  7894. Yp: function(a, b, c) {
  7895. var d = a.G;
  7896. if (null != d)
  7897. for (d = d.wa.J[d.ec], this.Fj(d.a, d.X, b, c), d = 0, a = a.F; d < a.length;) {
  7898. var e = a[d];
  7899. ++d;
  7900. null != e.D && this.Fj(e.D.a, e.$.X, b, c)
  7901. }
  7902. },
  7903. Fj: function(a, b, c, d) {
  7904. c = .5 * c - 25;
  7905. d = .5 * d - 25;
  7906. var e = this.ab,
  7907. f = a.x - e.x,
  7908. e = a.y - e.y,
  7909. g = -c,
  7910. h = -d,
  7911. k = this.ab;
  7912. c = k.x + (f > c ? c : f < g ? g : f);
  7913. d = k.y + (e > d ? d : e < h ? h : e);
  7914. f = a.x - c;
  7915. a = a.y - d;
  7916. 900 < f * f + a * a && (this.c.fillStyle = "rgba(0,0,0,0.5)", this.Gj(c + 2, d + 2, Math.atan2(a, f)), this.c.fillStyle = N.Gc(b), this.Gj(c - 2, d - 2, Math.atan2(a, f)))
  7917. },
  7918. Gj: function(a, b, c) {
  7919. this.c.save();
  7920. this.c.translate(a,
  7921. b);
  7922. this.c.rotate(c);
  7923. this.c.beginPath();
  7924. this.c.moveTo(15, 0);
  7925. this.c.lineTo(0, 7);
  7926. this.c.lineTo(0, -7);
  7927. this.c.closePath();
  7928. this.c.fill();
  7929. this.c.restore()
  7930. },
  7931. jq: function() {
  7932. for (var a = this.Sc.values(), b = a.next(); !b.done;) {
  7933. var c = b.value,
  7934. b = a.next();
  7935. c.Df = !1
  7936. }
  7937. },
  7938. g: N
  7939. };
  7940. P.b = !0;
  7941. P.prototype = {
  7942. In: function() {
  7943. return 2.31 + .1155 * (this.De.length - 1)
  7944. },
  7945. Ac: function(a, b) {
  7946. var c = b / 2.31,
  7947. d = 0;
  7948. a.imageSmoothingEnabled = !0;
  7949. for (var e = 0, f = this.De; e < f.length;) {
  7950. var g = f[e];
  7951. ++e;
  7952. var h = c - .05 * d,
  7953. k = 180 * P.um.eval(h) * (0 != (d & 1) ? -1 : 1);
  7954. a.globalAlpha = P.tm.eval(h);
  7955. a.drawImage(g, k - .5 * g.width, 35 * -(this.De.length - 1) + 70 * d - .5 * g.height);
  7956. a.globalAlpha = 1;
  7957. ++d
  7958. }
  7959. a.imageSmoothingEnabled = !1
  7960. },
  7961. fq: function(a) {
  7962. var b = 0;
  7963. a.imageSmoothingEnabled = !0;
  7964. for (var c = 0, d = this.De; c < d.length;) {
  7965. var e = d[c];
  7966. ++c;
  7967. a.drawImage(e, .5 * -e.width, 35 * -(this.De.length - 1) + 70 * b - .5 * e.height);
  7968. ++b
  7969. }
  7970. a.imageSmoothingEnabled = !1
  7971. },
  7972. Gc: function(a) {
  7973. return "rgba(" + [(a & 16711680) >>> 16, (a & 65280) >>> 8, a & 255].join() + ",255)"
  7974. },
  7975. Bo: function(a, b) {
  7976. var c = window.document.createElement("canvas"),
  7977. d = c.getContext("2d", null);
  7978. d.font = "900 70px Arial Black,Arial Bold,Gadget,sans-serif";
  7979. c.width = Math.ceil(d.measureText(a).width) + 7;
  7980. c.height = 90;
  7981. d.font = "900 70px Arial Black,Arial Bold,Gadget,sans-serif";
  7982. d.textAlign = "left";
  7983. d.textBaseline = "middle";
  7984. d.fillStyle = "black";
  7985. d.fillText(a, 7, 52);
  7986. d.fillStyle = this.Gc(b);
  7987. d.fillText(a, 0, 45);
  7988. return c
  7989. },
  7990. g: P
  7991. };
  7992. Lb.b = !0;
  7993. Lb.prototype = {
  7994. Ga: function(a) {
  7995. this.Ya.push(a)
  7996. },
  7997. Zm: function() {
  7998. this.Ya = [];
  7999. this.pc = 0
  8000. },
  8001. v: function(a) {
  8002. 0 < this.Ya.length && (this.pc += a, this.pc > this.Ya[0].In() && (this.pc = 0, this.Ya.shift()))
  8003. },
  8004. Ac: function(a) {
  8005. 0 < this.Ya.length && this.Ya[0].Ac(a, this.pc)
  8006. },
  8007. g: Lb
  8008. };
  8009. Ea.b = !0;
  8010. Ea.Xm = function(a, b) {
  8011. if (a.Wc != b.Wc || a.Tc != b.Tc) return !1;
  8012. var c = a.bb,
  8013. d = b.bb;
  8014. if (c.length != d.length) return !1;
  8015. for (var e = 0, f = c.length; e < f;) {
  8016. var g = e++;
  8017. if (c[g] != d[g]) return !1
  8018. }
  8019. return !0
  8020. };
  8021. Ea.nn = function(a, b) {
  8022. a.Wc = b.Wc;
  8023. a.Tc = b.Tc;
  8024. a.bb = b.bb.slice(0)
  8025. };
  8026. Ea.prototype = {
  8027. rn: function() {
  8028. var a = window.document.createElement("canvas");
  8029. a.width = 160;
  8030. a.height = 34;
  8031. this.Kk = a.getContext("2d", null)
  8032. },
  8033. $q: function() {
  8034. var a = this.Kk;
  8035. a.resetTransform();
  8036. a.clearRect(0, 0, 160, 34);
  8037. a.font = "26px sans-serif";
  8038. a.fillStyle = "white";
  8039. 160 <
  8040. a.measureText(this.o).width ? (a.textAlign = "left", a.translate(2, 29)) : (a.textAlign = "center", a.translate(80, 29));
  8041. a.fillText(this.o, 0, 0)
  8042. },
  8043. Bn: function(a, b, c) {
  8044. a.drawImage(this.Kk.canvas, 0, 0, 160, 34, b - 40, c - 34, 80, 17)
  8045. },
  8046. v: function(a, b) {
  8047. if (null != a.D) {
  8048. var c = m.s.Hl.I() ? b.hb[a.$.U] : a.$.Gl;
  8049. if (!Ea.Xm(this.hb, c) || null == a.jb && a.Cb != this.Vg || null != a.jb && this.qf != a.jb) Ea.nn(this.hb, c), null == a.jb ? (this.qf = "" + a.Cb, this.Vg = a.Cb) : (this.qf = a.jb, this.Vg = -1), this.Up(this.qf)
  8050. }
  8051. this.wn = 0 >= b.G.Fa && a.bc ? "white" : "black";
  8052. a.o != this.o &&
  8053. (this.o = a.o, this.$q())
  8054. },
  8055. Up: function(a) {
  8056. var b = this.hb.bb;
  8057. if (!(1 > b.length)) {
  8058. this.nb.save();
  8059. this.nb.translate(32, 32);
  8060. this.nb.rotate(3.141592653589793 * this.hb.Wc / 128);
  8061. for (var c = -32, d = 64 / b.length, e = 0; e < b.length;) this.nb.fillStyle = N.Gc(b[e++]), this.nb.fillRect(c, -32, d + 4, 64), c += d;
  8062. this.nb.restore();
  8063. this.nb.fillStyle = N.Gc(this.hb.Tc);
  8064. this.nb.textAlign = "center";
  8065. this.nb.textBaseline = "alphabetic";
  8066. this.nb.font = "900 34px 'Arial Black','Arial Bold',Gadget,sans-serif";
  8067. this.nb.fillText(a, 32, 44);
  8068. this.aj = this.nb.createPattern(this.nb.canvas,
  8069. "no-repeat")
  8070. }
  8071. },
  8072. g: Ea
  8073. };
  8074. lb.b = !0;
  8075. lb.prototype = {
  8076. Ph: function(a) {
  8077. for (var b = this, c = 0, d = Ha.Ya.length >> 2; c < d;) {
  8078. var e = c++,
  8079. f = [e],
  8080. g = Ha.Ya[e << 2],
  8081. e = Ha.Ya[(e << 2) + 1].toLowerCase(),
  8082. h = [window.document.createElement("div")];
  8083. h[0].className = "elem";
  8084. h[0].innerHTML = '<div class="flagico f-' + e + '"></div> ' + g;
  8085. a.appendChild(h[0]);
  8086. h[0].onclick = function(a, c) {
  8087. return function() {
  8088. null != b.Ve && b.Ve.Ba.classList.remove("selected");
  8089. b.Xg.disabled = !1;
  8090. b.Ve = {
  8091. Ba: a[0],
  8092. index: c[0]
  8093. };
  8094. a[0].classList.add("selected")
  8095. }
  8096. }(h, f);
  8097. h[0].ondblclick = function(a) {
  8098. return function() {
  8099. b.ll(a[0])
  8100. }
  8101. }(f)
  8102. }
  8103. },
  8104. ll: function(a) {
  8105. var b = new R;
  8106. b.rb = Ha.Ya[(a << 2) + 1].toLowerCase();
  8107. b.xc = Ha.Ya[(a << 2) + 2];
  8108. b.yc = Ha.Ya[(a << 2) + 3];
  8109. m.s.we.Ra(b);
  8110. y.i(this.mb)
  8111. },
  8112. g: lb
  8113. };
  8114. Da.b = !0;
  8115. Da.jo = function(a) {
  8116. return a.parentElement.querySelector(":hover") == a
  8117. };
  8118. Da.prototype = {
  8119. fa: function(a, b) {
  8120. var c = window.document.createElement("p");
  8121. null != b && (c.className = b);
  8122. c.textContent = a;
  8123. var d = this.Vb.clientHeight,
  8124. d = this.Vb.scrollTop + d - this.Vb.scrollHeight >= .5 * -d || !Da.jo(this.Vb);
  8125. this.Vb.appendChild(c);
  8126. d && (this.Vb.scrollTop = c.offsetTop);
  8127. for (c = d ? 50 : 100; this.Vb.childElementCount >
  8128. c;) this.Vb.firstElementChild.remove();
  8129. this.Yf.update()
  8130. },
  8131. Gb: function(a) {
  8132. this.fa(a, "notice")
  8133. },
  8134. g: Da
  8135. };
  8136. kb.b = !0;
  8137. kb.En = function(a) {
  8138. return -1 != ".$^{[(|)*+?\\".indexOf(a) ? "\\" + a : a
  8139. };
  8140. kb.prototype = {
  8141. sh: function() {
  8142. this.ui(null)
  8143. },
  8144. Sm: function(a, b) {
  8145. var c = this.Vp.exec(B.substr(a, 0, b));
  8146. if (null != c) {
  8147. var d = c[0],
  8148. e = new RegExp(".*" + B.substr(d, 1, null).split("").map(kb.En).join(".*") + ".*", "i");
  8149. this.Uj = "#" == d.charAt(0);
  8150. this.Uh = c.index;
  8151. this.hq = d.length;
  8152. this.al = a;
  8153. this.ui(this.$i.filter(function(a) {
  8154. return e.test(a.o)
  8155. }))
  8156. } else this.ui(null)
  8157. },
  8158. Dj: function(a) {
  8159. a = this.Uj ? "#" + a.U : "@" + H.replace(a.o, " ", "_");
  8160. this.$o(B.substr(this.al, 0, this.Uh) + a + " " + B.substr(this.al, this.Uh + this.hq, null), this.Uh + a.length + 1)
  8161. },
  8162. ui: function(a) {
  8163. var b = this,
  8164. c = null != a && 0 != a.length;
  8165. this.Eb.hidden || t.gf(this.Eb);
  8166. this.Jc = null;
  8167. this.Eb.hidden = !c;
  8168. if (c) {
  8169. for (var c = [], d = 0; d < a.length;) {
  8170. var e = [a[d]];
  8171. ++d;
  8172. var f = window.document.createElement("div"),
  8173. g = e[0].o;
  8174. this.Uj && (g = "(" + e[0].U + ") " + g);
  8175. f.textContent = g;
  8176. this.Eb.appendChild(f);
  8177. f.onclick = function(a) {
  8178. return function() {
  8179. b.Dj(a[0])
  8180. }
  8181. }(e);
  8182. c.push({
  8183. item: e[0],
  8184. Ba: f
  8185. })
  8186. }
  8187. this.Jc = c;
  8188. this.Jc[0].Ba.classList.toggle("selected", !0);
  8189. this.oc = 0
  8190. }
  8191. },
  8192. ij: function(a) {
  8193. if (null != this.Jc) {
  8194. var b = this.oc;
  8195. this.oc += a;
  8196. a = this.Jc.length - 1;
  8197. 0 > this.oc ? this.oc = a : this.oc > a && (this.oc = 0);
  8198. a = this.Jc[this.oc];
  8199. b != this.oc && (a.Ba.classList.toggle("selected", !0), this.Jc[b].Ba.classList.toggle("selected", !1));
  8200. a = a.Ba;
  8201. b = a.offsetTop;
  8202. a = b + a.offsetHeight;
  8203. var c = this.Eb.scrollTop + this.Eb.clientHeight;
  8204. b < this.Eb.scrollTop ? this.Eb.scrollTop = b : a > c && (this.Eb.scrollTop = a - this.Eb.clientHeight)
  8205. }
  8206. },
  8207. zn: function() {
  8208. null != this.Jc && (this.Dj(this.Jc[this.oc].item), this.sh())
  8209. },
  8210. g: kb
  8211. };
  8212. jb.b = !0;
  8213. jb.prototype = {
  8214. wc: function() {
  8215. var a = this.yb.value;
  8216. return 25 >= a.length ? 0 < a.length : !1
  8217. },
  8218. v: function() {
  8219. this.Ie.disabled = !this.wc()
  8220. },
  8221. g: jb
  8222. };
  8223. ib.b = !0;
  8224. ib.prototype = {
  8225. fa: function(a) {
  8226. var b = window.document.createElement("p");
  8227. b.textContent = a;
  8228. this.Vb.appendChild(b)
  8229. },
  8230. g: ib
  8231. };
  8232. hb.b = !0;
  8233. hb.prototype = {
  8234. Yi: function(a) {
  8235. this.Pl = a;
  8236. this.Ol.textContent = "Show in room list: " + (a ? "No" : "Yes")
  8237. },
  8238. wc: function() {
  8239. var a = this.He.value;
  8240. return 40 >= a.length ?
  8241. 0 < a.length : !1
  8242. },
  8243. v: function() {
  8244. this.nj.disabled = !this.wc()
  8245. },
  8246. g: hb
  8247. };
  8248. gb.b = !0;
  8249. gb.prototype = {
  8250. g: gb
  8251. };
  8252. fb.b = !0;
  8253. fb.prototype = {
  8254. jg: function(a) {
  8255. this.f.classList.toggle("restricted", a)
  8256. },
  8257. v: function(a) {
  8258. var b = a.G;
  8259. null != b && (this.pc.Fq(60 * a.xa), this.pc.Eq(b.zc | 0), this.Db.set(b.Db), this.Jb.set(b.Jb), this.zb.Ac(a, this.Hb))
  8260. },
  8261. g: fb
  8262. };
  8263. Kb.b = !0;
  8264. Kb.prototype = {
  8265. Ed: function(a, b) {
  8266. var c = window.document.createElement("span");
  8267. c.textContent = a;
  8268. c.className = b;
  8269. return c
  8270. },
  8271. Eq: function(a) {
  8272. if (a != this.te) {
  8273. var b = a % 60,
  8274. c = a / 60 | 0;
  8275. this.pq.textContent =
  8276. "" + b % 10;
  8277. this.qq.textContent = "" + (b / 10 | 0) % 10;
  8278. this.Ho.textContent = "" + c % 10;
  8279. this.Io.textContent = "" + (c / 10 | 0) % 10;
  8280. this.te = a
  8281. }
  8282. this.Yk();
  8283. this.Zk()
  8284. },
  8285. Fq: function(a) {
  8286. this.xa = a;
  8287. this.Yk();
  8288. this.Zk()
  8289. },
  8290. Yk: function() {
  8291. this.Bq(0 != this.xa && this.te > this.xa)
  8292. },
  8293. Zk: function() {
  8294. this.Gq(this.te < this.xa && this.te > this.xa - 30)
  8295. },
  8296. Bq: function(a) {
  8297. a != this.zj && (this.lp.className = a ? "overtime on" : "overtime", this.zj = a)
  8298. },
  8299. Gq: function(a) {
  8300. a != this.Aj && (this.f.className = a ? "game-timer-view time-warn" : "game-timer-view", this.Aj = a)
  8301. },
  8302. g: Kb
  8303. };
  8304. ia.b = !0;
  8305. ia.prototype = {
  8306. v: function(a) {
  8307. null == a.L.G && this.Ud(!0);
  8308. y.i(this.Nk);
  8309. this.Gh.disabled = null == a.L.G;
  8310. this.rd ? this.Qa.v(a.L, a.L.ka(a.lc)) : (a = a.yf(), this.Ab.v(a), m.Xa.oj.Xr(a))
  8311. },
  8312. Ud: function(a) {
  8313. this.rd != a && ((this.rd = a) ? (this.lh.appendChild(this.Qa.f), this.Ab.f.remove()) : (this.lh.appendChild(this.Ab.f), this.Qa.f.remove()))
  8314. },
  8315. ko: function() {
  8316. return null != ia.tp
  8317. },
  8318. $a: function(a, b) {
  8319. t.gf(this.Pe);
  8320. ia.tp = a;
  8321. null != a ? (this.Pe.style.display = "flex", this.Pe.appendChild(a), this.Nk = b) : (this.Pe.style.display = "none", this.Nk = null)
  8322. },
  8323. g: ia
  8324. };
  8325. eb.b = !0;
  8326. eb.prototype = {
  8327. Ti: function(a) {
  8328. this.bj = a;
  8329. this.Lm.textContent = a ? "Yes" : "No"
  8330. },
  8331. g: eb
  8332. };
  8333. db.b = !0;
  8334. db.prototype = {
  8335. g: db
  8336. };
  8337. cb.b = !0;
  8338. cb.prototype = {
  8339. og: function() {
  8340. this.Mh.disabled = null == this.gb;
  8341. this.tj.disabled = null == this.gb || null == this.gb.Xl;
  8342. this.Ij.disabled = null == this.gb
  8343. },
  8344. fk: function(a, b, c) {
  8345. var d = this,
  8346. e = window.document.createElement("div");
  8347. e.textContent = a;
  8348. e.className = "elem";
  8349. null != c && e.classList.add("custom");
  8350. var f = {
  8351. Ba: e,
  8352. zd: b,
  8353. Xl: c
  8354. };
  8355. e.onclick = function() {
  8356. null != d.gb && d.gb.Ba.classList.remove("selected");
  8357. d.gb = f;
  8358. e.classList.add("selected");
  8359. d.og()
  8360. };
  8361. e.ondblclick = function() {
  8362. d.gb = f;
  8363. d.og();
  8364. return d.Mh.onclick()
  8365. };
  8366. return e
  8367. },
  8368. Ph: function(a) {
  8369. for (var b = this, c = h.mh(), d = 0; d < c.length;) {
  8370. var e = [c[d]];
  8371. ++d;
  8372. e = this.fk(e[0].o, function(a) {
  8373. return function() {
  8374. return Promise.resolve(a[0])
  8375. }
  8376. }(e), null);
  8377. a.appendChild(e)
  8378. }
  8379. Z.getAll().then(function(c) {
  8380. for (var d = 0; d < c.length;) {
  8381. var e = c[d];
  8382. ++d;
  8383. var f = [e.id],
  8384. e = b.fk(e.name, function(a) {
  8385. return function() {
  8386. return Z.get(a[0])
  8387. }
  8388. }(f), function(a) {
  8389. return function() {
  8390. return Z["delete"](a[0])
  8391. }
  8392. }(f));
  8393. a.appendChild(e)
  8394. }
  8395. b.Yf.update()
  8396. })
  8397. },
  8398. g: cb
  8399. };
  8400. Jb.b = !0;
  8401. Jb.prototype = {
  8402. Em: function(a) {
  8403. 0 > a ? (a = 150, this.c.fillStyle = "#c13535") : this.c.fillStyle = "green";
  8404. var b = this.vi,
  8405. c = this.Pj,
  8406. d = this.bh++;
  8407. this.bh >= b && (this.bh = 0);
  8408. this.op[d] = a;
  8409. this.c.clearRect(d, 0, 1, c);
  8410. a = a * c / this.Eo;
  8411. this.c.fillRect(d, c - a, 1, a);
  8412. this.gh.clearRect(0, 0, b, c);
  8413. this.gh.drawImage(this.ja, b - d - 1, 0);
  8414. this.gh.drawImage(this.ja, -d - 1, 0)
  8415. },
  8416. g: Jb
  8417. };
  8418. bb.b = !0;
  8419. bb.prototype = {
  8420. v: function(a, b) {
  8421. var c = a.ka(this.Hb);
  8422. null == c ? y.i(this.mb) : (this.Zq(c), this.mf.disabled = !b || 0 == this.Hb, this.ze.disabled = !b || 0 == this.Hb)
  8423. },
  8424. Zq: function(a) {
  8425. this.Nd != a.o && this.Xi(a.o);
  8426. this.Fk != a.ra && this.Wi(a.ra)
  8427. },
  8428. Xi: function(a) {
  8429. this.Nd = a;
  8430. this.Ge.textContent = a
  8431. },
  8432. Wi: function(a) {
  8433. this.Fk = a;
  8434. this.mf.textContent = a ? "Remove Admin" : "Give Admin"
  8435. },
  8436. g: bb
  8437. };
  8438. ab.b = !0;
  8439. ab.prototype = {
  8440. v: function(a, b) {
  8441. this.f.draggable = b;
  8442. this.vb != a.vb && (this.vb = a.vb, this.Uf.textContent = "" + this.vb);
  8443. this.Fm != a.ra && this.pl(a.ra)
  8444. },
  8445. pl: function(a) {
  8446. this.Fm = a;
  8447. this.f.className = "player-list-item" + (a ? " admin" : "")
  8448. },
  8449. g: ab
  8450. };
  8451. za.b = !0;
  8452. za.prototype = {
  8453. v: function(a, b, c, d) {
  8454. var e = this;
  8455. this.xh.disabled =
  8456. b || c;
  8457. this.Xh.disabled = c;
  8458. b = new Set;
  8459. c = this.jd.keys();
  8460. for (var f = c.next(); !f.done;) {
  8461. var g = f.value,
  8462. f = c.next();
  8463. b.add(g)
  8464. }
  8465. for (c = 0; c < a.length;) f = a[c], ++c, g = this.jd.get(f.S), null == g && (g = new ab(f), g.Ne = function(a) {
  8466. x.i(e.Ne, a)
  8467. }, this.jd.set(f.S, g), this.Ya.appendChild(g.f)), g.v(f, d), b["delete"](f.S);
  8468. d = b.values();
  8469. for (b = d.next(); !b.done;) c = b.value, b = d.next(), this.jd.get(c).f.remove(), this.jd["delete"](c);
  8470. d = 0;
  8471. for (b = a.length - 1; d < b;) f = d++, c = this.jd.get(a[f].S).f, f = this.jd.get(a[f + 1].S).f, c.nextSibling != f && this.Ya.insertBefore(c,
  8472. f)
  8473. },
  8474. g: za
  8475. };
  8476. O.b = !0;
  8477. O.prototype = {
  8478. g: O
  8479. };
  8480. ga.b = !0;
  8481. ga.jk = function(a) {
  8482. a = a / 1E3 | 0;
  8483. return (a / 60 | 0) + ":" + H.df(K.ge(a % 60))
  8484. };
  8485. ga.prototype = {
  8486. v: function() {
  8487. this.Qq.textContent = ga.jk(this.Vh.Kb);
  8488. this.Kp.style.width = 100 * this.Vh.Pn() + "%";
  8489. !this.Cf || 0 < this.Vh.qd || (this.Cf = !1, this.cp())
  8490. },
  8491. g: ga
  8492. };
  8493. $a.b = !0;
  8494. $a.prototype = {
  8495. zq: function(a) {
  8496. this.yj != a && (this.yj = a, this.Ff.value = a)
  8497. },
  8498. g: $a
  8499. };
  8500. Za.b = !0;
  8501. Za.prototype = {
  8502. g: Za
  8503. };
  8504. Aa.b = !0;
  8505. Aa.Mr = function(a) {
  8506. return Promise.race([new Promise(function(a, c) {
  8507. return window.setTimeout(function() {
  8508. c(null)
  8509. }, 5E3)
  8510. }),
  8511. a
  8512. ])
  8513. };
  8514. Aa.prototype = {
  8515. $l: function() {
  8516. function a() {
  8517. b.Ki.disabled = !1;
  8518. b.mm(c)
  8519. }
  8520. var b = this;
  8521. this.om(null);
  8522. this.Ki.disabled = !0;
  8523. t.gf(this.Di);
  8524. var c = [];
  8525. this.Ai = [];
  8526. Aa.Mr(ua.get().then(function(a) {
  8527. return c = a
  8528. }, function() {
  8529. return {}
  8530. })).then(a, a)
  8531. },
  8532. mm: function(a) {
  8533. var b = this;
  8534. this.Ai = a;
  8535. ua.Tr(this.tr, a);
  8536. a.sort(function(a, b) {
  8537. return a.ue - b.ue
  8538. });
  8539. t.gf(this.Di);
  8540. for (var c = 0, d = 0, e = !this.sr.Na, f = !this.Lr.Na, g = 0; g < a.length;) {
  8541. var h = [a[g]];
  8542. ++g;
  8543. var k = h[0].gd;
  8544. if (!(e && k.F >= k.Ee || f && k.Bb)) {
  8545. var l = [new Za(h[0])];
  8546. l[0].Ba.ondblclick = function(a) {
  8547. return function() {
  8548. x.i(b.im,
  8549. a[0])
  8550. }
  8551. }(h);
  8552. l[0].Ba.onclick = function(a) {
  8553. return function() {
  8554. b.om(a[0])
  8555. }
  8556. }(l);
  8557. this.Di.appendChild(l[0].Ba);
  8558. c += k.F;
  8559. ++d
  8560. }
  8561. }
  8562. this.pr.textContent = "" + c + " players in " + d + " rooms";
  8563. this.Nr.update()
  8564. },
  8565. om: function(a) {
  8566. null != this.yd && this.yd.Ba.classList.remove("selected");
  8567. this.yd = a;
  8568. null != this.yd && this.yd.Ba.classList.add("selected");
  8569. this.dm.disabled = null == this.yd
  8570. },
  8571. g: Aa
  8572. };
  8573. Ya.b = !0;
  8574. Ya.prototype = {
  8575. Xk: function() {
  8576. var a = this;
  8577. M.Kj(m.nf + "api/notice").then(function(b) {
  8578. var c = b.content;
  8579. null != c && "" != c && Ya.$m != c && (a.mn.innerHTML = c,
  8580. a.kk.hidden = !1, a.Zc.onclick = function() {
  8581. Ya.$m = c;
  8582. return a.kk.hidden = !0
  8583. })
  8584. })
  8585. },
  8586. g: Ya
  8587. };
  8588. Xa.b = !0;
  8589. Xa.prototype = {
  8590. wc: function() {
  8591. var a = this.yb.value;
  8592. return 30 >= a.length ? 0 < a.length : !1
  8593. },
  8594. v: function() {
  8595. this.Ie.disabled = !this.wc()
  8596. },
  8597. g: Xa
  8598. };
  8599. Wa.b = !0;
  8600. Wa.prototype = {
  8601. vh: function(a, b, c, d) {
  8602. var e = this;
  8603. t.fe(a, b.f);
  8604. b.Qf = function(a, b) {
  8605. ha.i(e.Qf, a, b)
  8606. };
  8607. b.Ld = function(a) {
  8608. x.i(e.Ld, a)
  8609. };
  8610. b.To = function(a) {
  8611. ha.i(e.Qf, d, a)
  8612. };
  8613. b.Ne = function(a) {
  8614. x.i(e.Ne, a)
  8615. }
  8616. },
  8617. gk: function(a) {
  8618. for (var b = [], c = 0; c < a;) {
  8619. var d = c++;
  8620. b.push(null == d ? "null" : "" + d)
  8621. }
  8622. return b
  8623. },
  8624. hk: function(a,
  8625. b) {
  8626. for (var c = 0; c < b.length;) {
  8627. var d = b[c++],
  8628. e = window.document.createElement("option");
  8629. e.textContent = d;
  8630. a.appendChild(e)
  8631. }
  8632. },
  8633. Dq: function(a) {
  8634. this.Uk.classList.toggle("active", a)
  8635. },
  8636. v: function(a, b) {
  8637. this.gq != a.$b && (this.gq = a.$b, this.$b.textContent = a.$b);
  8638. var c = null == b ? !1 : b.ra;
  8639. this.xj != c && (this.f.className = "room-view" + (c ? " admin" : ""), this.xj = c);
  8640. var d = !c || null != a.G;
  8641. this.$e.disabled = d;
  8642. this.Ue.disabled = d;
  8643. this.Cl.disabled = d;
  8644. d = null != a.G;
  8645. this.Dl.hidden = d;
  8646. this.Fl.hidden = !d;
  8647. this.Lh.hidden = !d;
  8648. this.$e.selectedIndex = a.xa;
  8649. this.Ue.selectedIndex = a.fb;
  8650. this.Bl.textContent = a.T.o;
  8651. this.Bl.classList.toggle("custom", !a.T.ye());
  8652. var e = a.Fc;
  8653. this.Wk.v(a.F.filter(function(a) {
  8654. return a.$ == p.ba
  8655. }), e, d, c);
  8656. this.dj.v(a.F.filter(function(a) {
  8657. return a.$ == p.ta
  8658. }), e, d, c);
  8659. this.Al.v(a.F.filter(function(a) {
  8660. return a.$ == p.Ea
  8661. }), e, d, c);
  8662. this.el.disabled = d;
  8663. this.Ah != a.Fc && this.Ui(a.Fc);
  8664. d && (c = 120 == a.G.Fa, this.Ak != c && this.Vi(c))
  8665. },
  8666. Ui: function(a) {
  8667. this.Ah = a;
  8668. this.bk.innerHTML = this.Ah ? "<i class='icon-lock'></i>Unlock" : "<i class='icon-lock-open'></i>Lock"
  8669. },
  8670. Vi: function(a) {
  8671. this.Ak =
  8672. a;
  8673. this.Lh.innerHTML = "<i class='icon-pause'></i>" + (this.Ak ? "Resume (P)" : "Pause (P)")
  8674. },
  8675. g: Wa
  8676. };
  8677. ba.b = !0;
  8678. ba.prototype = {
  8679. g: ba
  8680. };
  8681. T.b = !0;
  8682. T.prototype = {
  8683. g: T
  8684. };
  8685. Va.b = !0;
  8686. Va.prototype = {
  8687. Cq: function(a) {
  8688. this.Uf.textContent = null == a ? "null" : "" + a
  8689. },
  8690. Aq: function(a) {
  8691. this.Fo.textContent = "" + a
  8692. },
  8693. sl: function(a) {
  8694. this.Fn.textContent = null == a ? "null" : "" + a
  8695. },
  8696. g: Va
  8697. };
  8698. Ua.b = !0;
  8699. Ua.prototype = {
  8700. g: Ua
  8701. };
  8702. r.b = !0;
  8703. r.ua = Error;
  8704. r.prototype = E(Error.prototype, {
  8705. g: r
  8706. });
  8707. q.b = !0;
  8708. q.Zl = function(a) {
  8709. if (a instanceof Array && null == a.qb) return Array;
  8710. var b = a.g;
  8711. if (null != b) return b;
  8712. a = q.Pi(a);
  8713. return null != a ? q.Cm(a) : null
  8714. };
  8715. q.je = function(a, b) {
  8716. if (null == a) return "null";
  8717. if (5 <= b.length) return "<...>";
  8718. var c = typeof a;
  8719. "function" == c && (a.b || a.lf) && (c = "object");
  8720. switch (c) {
  8721. case "function":
  8722. return "<function>";
  8723. case "object":
  8724. if (a.qb) {
  8725. var d = tb[a.qb],
  8726. c = d.Og[a.ub],
  8727. e = d[c];
  8728. if (e.ie) {
  8729. b += "\t";
  8730. for (var c = c + "(", d = [], f = 0, e = e.ie; f < e.length;) {
  8731. var g = e[f];
  8732. ++f;
  8733. d.push(q.je(a[g], b))
  8734. }
  8735. return c + d.join(",") + ")"
  8736. }
  8737. return c
  8738. }
  8739. if (a instanceof Array) {
  8740. c = a.length;
  8741. d = "[";
  8742. b += "\t";
  8743. for (f = 0; f < c;) e = f++, d += (0 < e ? "," : "") + q.je(a[e], b);
  8744. return d +
  8745. "]"
  8746. }
  8747. try {
  8748. d = a.toString
  8749. } catch (n) {
  8750. return "???"
  8751. }
  8752. if (null != d && d != Object.toString && "function" == typeof d && (c = a.toString(), "[object Object]" != c)) return c;
  8753. c = null;
  8754. d = "{\n";
  8755. b += "\t";
  8756. f = null != a.hasOwnProperty;
  8757. for (c in a) f && !a.hasOwnProperty(c) || "prototype" == c || "__class__" == c || "__super__" == c || "__interfaces__" == c || "__properties__" == c || (2 != d.length && (d += ", \n"), d += b + c + " : " + q.je(a[c], b));
  8758. b = b.substring(1);
  8759. return d + ("\n" + b + "}");
  8760. case "string":
  8761. return a;
  8762. default:
  8763. return String(a)
  8764. }
  8765. };
  8766. q.Qg = function(a, b) {
  8767. if (null == a) return !1;
  8768. if (a ==
  8769. b) return !0;
  8770. var c = a.he;
  8771. if (null != c)
  8772. for (var d = 0, e = c.length; d < e;) {
  8773. var f = c[d++];
  8774. if (f == b || q.Qg(f, b)) return !0
  8775. }
  8776. return q.Qg(a.ua, b)
  8777. };
  8778. q.Am = function(a, b) {
  8779. if (null == b) return !1;
  8780. switch (b) {
  8781. case Array:
  8782. return a instanceof Array ? null == a.qb : !1;
  8783. case ic:
  8784. return "boolean" == typeof a;
  8785. case mc:
  8786. return !0;
  8787. case A:
  8788. return "number" == typeof a;
  8789. case hc:
  8790. return "number" == typeof a ? (a | 0) === a : !1;
  8791. case String:
  8792. return "string" == typeof a;
  8793. default:
  8794. if (null != a)
  8795. if ("function" == typeof b) {
  8796. if (a instanceof b || q.Qg(q.Zl(a), b)) return !0
  8797. } else {
  8798. if ("object" == typeof b &&
  8799. q.Bm(b) && a instanceof b) return !0
  8800. }
  8801. else return !1;
  8802. return b == nc && null != a.b || b == oc && null != a.lf ? !0 : tb[a.qb] == b
  8803. }
  8804. };
  8805. q.N = function(a, b) {
  8806. if (q.Am(a, b)) return a;
  8807. throw new r("Cannot cast " + K.ge(a) + " to " + K.ge(b));
  8808. };
  8809. q.Pi = function(a) {
  8810. a = q.Dm.call(a).slice(8, -1);
  8811. return "Object" == a || "Function" == a || "Math" == a || "JSON" == a ? null : a
  8812. };
  8813. q.Bm = function(a) {
  8814. return null != q.Pi(a)
  8815. };
  8816. q.Cm = function(a) {
  8817. return kc[a]
  8818. };
  8819. bc.b = !0;
  8820. bc.Ur = function(a, b) {
  8821. var c = new Uint8Array(this, a, null == b ? null : b - a),
  8822. d = new Uint8Array(c.byteLength);
  8823. d.set(c);
  8824. return d.buffer
  8825. };
  8826. var lc = 0;
  8827. null == String.fromCodePoint && (String.fromCodePoint = function(a) {
  8828. return 65536 > a ? String.fromCharCode(a) : String.fromCharCode((a >> 10) + 55232) + String.fromCharCode((a & 1023) + 56320)
  8829. });
  8830. String.prototype.g = String;
  8831. String.b = !0;
  8832. Array.b = !0;
  8833. Date.prototype.g = Date;
  8834. Date.b = "Date";
  8835. var hc = {},
  8836. mc = {},
  8837. A = Number,
  8838. ic = Boolean,
  8839. nc = {},
  8840. oc = {};
  8841. p.Ea = new p(0, 16777215, 0, -1, "Spectators", "t-spec", 0, 0);
  8842. p.ba = new p(1, 15035990, -1, 8, "Red", "t-red", 0, 2);
  8843. p.ta = new p(2, 5671397, 1, 16, "Blue", "t-blue", 0, 4);
  8844. p.Ea.Tf = p.Ea;
  8845. p.ba.Tf = p.ta;
  8846. p.ta.Tf = p.ba;
  8847. Object.defineProperty(r.prototype, "message", {
  8848. get: function() {
  8849. return String(this.Na)
  8850. }
  8851. });
  8852. null == ArrayBuffer.prototype.slice && (ArrayBuffer.prototype.slice = bc.Ur);
  8853. Ta.kn = {
  8854. mandatory: {
  8855. OfferToReceiveAudio: !1,
  8856. OfferToReceiveVideo: !1
  8857. }
  8858. };
  8859. G.Rg = {
  8860. name: "ECDSA",
  8861. namedCurve: "P-256"
  8862. };
  8863. G.vl = {
  8864. name: "ECDSA",
  8865. hash: {
  8866. name: "SHA-256"
  8867. }
  8868. };
  8869. Ba.co = ["click-rail", "drag-thumb", "wheel", "touch"];
  8870. l.bm = new Map;
  8871. l.bf = 0;
  8872. Sa.Ja = l.Sa({
  8873. La: !1,
  8874. Ka: !1
  8875. });
  8876. xa.sc = 0;
  8877. Tb.Wl = [{
  8878. name: "ro",
  8879. reliable: !0,
  8880. Hi: !0
  8881. }, {
  8882. name: "ru",
  8883. reliable: !0,
  8884. Hi: !1
  8885. }, {
  8886. name: "uu",
  8887. reliable: !1,
  8888. Hi: !1
  8889. }];
  8890. M.vm = "application/x-www-form-urlencoded";
  8891. Ha.Ya = ["Afghanistan", "AF", 33.3, 65.1, "Albania", "AL", 41.1, 20.1, "Algeria", "DZ", 28, 1.6, "American Samoa", "AS", -14.2, -170.1, "Andorra", "AD", 42.5, 1.6, "Angola", "AO", -11.2, 17.8, "Anguilla", "AI", 18.2, -63, "Antigua and Barbuda", "AG", 17, -61.7, "Argentina", "AR", -34.5, -58.4, "Armenia", "AM", 40, 45, "Aruba", "AW", 12.5, -69.9, "Australia", "AU", -25.2, 133.7, "Austria", "AT", 47.5, 14.5, "Azerbaijan", "AZ", 40.1, 47.5, "Bahamas", "BS", 25, -77.3, "Bahrain", "BH", 25.9, 50.6, "Bangladesh", "BD", 23.6, 90.3,
  8892. "Barbados", "BB", 13.1, -59.5, "Belarus", "BY", 53.7, 27.9, "Belgium", "BE", 50.5, 4.4, "Belize", "BZ", 17.1, -88.4, "Benin", "BJ", 9.3, 2.3, "Bermuda", "BM", 32.3, -64.7, "Bhutan", "BT", 27.5, 90.4, "Bolivia", "BO", -16.2, -63.5, "Bosnia and Herzegovina", "BA", 43.9, 17.6, "Botswana", "BW", -22.3, 24.6, "Bouvet Island", "BV", -54.4, 3.4, "Brazil", "BR", -14.2, -51.9, "British Indian Ocean Territory", "IO", -6.3, 71.8, "British Virgin Islands", "VG", 18.4, -64.6, "Brunei", "BN", 4.5, 114.7, "Bulgaria", "BG", 42.7, 25.4, "Burkina Faso", "BF", 12.2, -1.5, "Burundi",
  8893. "BI", -3.3, 29.9, "Cambodia", "KH", 12.5, 104.9, "Cameroon", "CM", 7.3, 12.3, "Canada", "CA", 56.1, -106.3, "Cape Verde", "CV", 16, -24, "Cayman Islands", "KY", 19.5, -80.5, "Central African Republic", "CF", 6.6, 20.9, "Chad", "TD", 15.4, 18.7, "Chile", "CL", -35.6, -71.5, "China", "CN", 35.8, 104.1, "Christmas Island", "CX", -10.4, 105.6, "Colombia", "CO", 4.5, -74.2, "Comoros", "KM", -11.8, 43.8, "Congo [DRC]", "CD", -4, 21.7, "Congo [Republic]", "CG", -.2, 15.8, "Cook Islands", "CK", -21.2, -159.7, "Costa Rica", "CR", 9.7, -83.7, "Croatia", "HR", 45.1, 15.2, "Cuba",
  8894. "CU", 21.5, -77.7, "Cyprus", "CY", 35.1, 33.4, "Czech Republic", "CZ", 49.8, 15.4, "C\u00f4te d'Ivoire", "CI", 7.5, -5.5, "Denmark", "DK", 56.2, 9.5, "Djibouti", "DJ", 11.8, 42.5, "Dominica", "DM", 15.4, -61.3, "Dominican Republic", "DO", 18.7, -70.1, "Ecuador", "EC", -1.8, -78.1, "Egypt", "EG", 26.8, 30.8, "El Salvador", "SV", 13.7, -88.8, "Equatorial Guinea", "GQ", 1.6, 10.2, "Eritrea", "ER", 15.1, 39.7, "Estonia", "EE", 58.5, 25, "Ethiopia", "ET", 9.1, 40.4, "Faroe Islands", "FO", 61.8, -6.9, "Fiji", "FJ", -16.5, 179.4, "Finland", "FI", 61.9, 25.7, "France", "FR",
  8895. 46.2, 2.2, "French Guiana", "GF", 3.9, -53.1, "French Polynesia", "PF", -17.6, -149.4, "Gabon", "GA", -.8, 11.6, "Gambia", "GM", 13.4, -15.3, "Georgia", "GE", 42.3, 43.3, "Germany", "DE", 51.1, 10.4, "Ghana", "GH", 7.9, -1, "Gibraltar", "GI", 36.1, -5.3, "Greece", "GR", 39, 21.8, "Greenland", "GL", 71.7, -42.6, "Grenada", "GD", 12.2, -61.6, "Guadeloupe", "GP", 16.9, -62, "Guam", "GU", 13.4, 144.7, "Guatemala", "GT", 15.7, -90.2, "Guinea", "GN", 9.9, -9.6, "Guinea-Bissau", "GW", 11.8, -15.1, "Guyana", "GY", 4.8, -58.9, "Haiti", "HT", 18.9, -72.2, "Honduras", "HN", 15.1, -86.2,
  8896. "Hong Kong", "HK", 22.3, 114.1, "Hungary", "HU", 47.1, 19.5, "Iceland", "IS", 64.9, -19, "India", "IN", 20.5, 78.9, "Indonesia", "ID", -.7, 113.9, "Iran", "IR", 32.4, 53.6, "Iraq", "IQ", 33.2, 43.6, "Ireland", "IE", 53.4, -8.2, "Israel", "IL", 31, 34.8, "Italy", "IT", 41.8, 12.5, "Jamaica", "JM", 18.1, -77.2, "Japan", "JP", 36.2, 138.2, "Jordan", "JO", 30.5, 36.2, "Kazakhstan", "KZ", 48, 66.9, "Kenya", "KE", -0, 37.9, "Kiribati", "KI", -3.3, -168.7, "Kosovo", "XK", 42.6, 20.9, "Kuwait", "KW", 29.3, 47.4, "Kyrgyzstan", "KG", 41.2, 74.7, "Laos", "LA", 19.8, 102.4, "Latvia", "LV",
  8897. 56.8, 24.6, "Lebanon", "LB", 33.8, 35.8, "Lesotho", "LS", -29.6, 28.2, "Liberia", "LR", 6.4, -9.4, "Libya", "LY", 26.3, 17.2, "Liechtenstein", "LI", 47.1, 9.5, "Lithuania", "LT", 55.1, 23.8, "Luxembourg", "LU", 49.8, 6.1, "Macau", "MO", 22.1, 113.5, "Macedonia [FYROM]", "MK", 41.6, 21.7, "Madagascar", "MG", -18.7, 46.8, "Malawi", "MW", -13.2, 34.3, "Malaysia", "MY", 4.2, 101.9, "Maldives", "MV", 3.2, 73.2, "Mali", "ML", 17.5, -3.9, "Malta", "MT", 35.9, 14.3, "Marshall Islands", "MH", 7.1, 171.1, "Martinique", "MQ", 14.6, -61, "Mauritania", "MR", 21, -10.9, "Mauritius",
  8898. "MU", -20.3, 57.5, "Mayotte", "YT", -12.8, 45.1, "Mexico", "MX", 23.6, -102.5, "Micronesia", "FM", 7.4, 150.5, "Moldova", "MD", 47.4, 28.3, "Monaco", "MC", 43.7, 7.4, "Mongolia", "MN", 46.8, 103.8, "Montenegro", "ME", 42.7, 19.3, "Montserrat", "MS", 16.7, -62.1, "Morocco", "MA", 31.7, -7, "Mozambique", "MZ", -18.6, 35.5, "Myanmar [Burma]", "MM", 21.9, 95.9, "Namibia", "NA", -22.9, 18.4, "Nauru", "NR", -.5, 166.9, "Nepal", "NP", 28.3, 84.1, "Netherlands", "NL", 52.1, 5.2, "Netherlands Antilles", "AN", 12.2, -69, "New Caledonia", "NC", -20.9, 165.6, "New Zealand", "NZ",
  8899. -40.9, 174.8, "Nicaragua", "NI", 12.8, -85.2, "Niger", "NE", 17.6, 8, "Nigeria", "NG", 9, 8.6, "Niue", "NU", -19, -169.8, "Norfolk Island", "NF", -29, 167.9, "North Korea", "KP", 40.3, 127.5, "Northern Mariana Islands", "MP", 17.3, 145.3, "Norway", "NO", 60.4, 8.4, "Oman", "OM", 21.5, 55.9, "Pakistan", "PK", 30.3, 69.3, "Palau", "PW", 7.5, 134.5, "Palestinian Territories", "PS", 31.9, 35.2, "Panama", "PA", 8.5, -80.7, "Papua New Guinea", "PG", -6.3, 143.9, "Paraguay", "PY", -23.4, -58.4, "Peru", "PE", -9.1, -75, "Philippines", "PH", 12.8, 121.7, "Pitcairn Islands",
  8900. "PN", -24.7, -127.4, "Poland", "PL", 51.9, 19.1, "Portugal", "PT", 39.3, -8.2, "Puerto Rico", "PR", 18.2, -66.5, "Qatar", "QA", 25.3, 51.1, "Romania", "RO", 45.9, 24.9, "Russia", "RU", 61.5, 105.3, "Rwanda", "RW", -1.9, 29.8, "R\u00e9union", "RE", -21.1, 55.5, "Saint Helena", "SH", -24.1, -10, "Saint Kitts", "KN", 17.3, -62.7, "Saint Lucia", "LC", 13.9, -60.9, "Saint Pierre", "PM", 46.9, -56.2, "Saint Vincent", "VC", 12.9, -61.2, "Samoa", "WS", -13.7, -172.1, "San Marino", "SM", 43.9, 12.4, "Saudi Arabia", "SA", 23.8, 45, "Senegal", "SN", 14.4, -14.4, "Serbia", "RS",
  8901. 44, 21, "Seychelles", "SC", -4.6, 55.4, "Sierra Leone", "SL", 8.4, -11.7, "Singapore", "SG", 1.3, 103.8, "Slovakia", "SK", 48.6, 19.6, "Slovenia", "SI", 46.1, 14.9, "Solomon Islands", "SB", -9.6, 160.1, "Somalia", "SO", 5.1, 46.1, "South Africa", "ZA", -30.5, 22.9, "South Georgia", "GS", -54.4, -36.5, "South Korea", "KR", 35.9, 127.7, "Spain", "ES", 40.4, -3.7, "Sri Lanka", "LK", 7.8, 80.7, "Sudan", "SD", 12.8, 30.2, "Suriname", "SR", 3.9, -56, "Svalbard and Jan Mayen", "SJ", 77.5, 23.6, "Swaziland", "SZ", -26.5, 31.4, "Sweden", "SE", 60.1, 18.6, "Switzerland", "CH",
  8902. 46.8, 8.2, "Syria", "SY", 34.8, 38.9, "S\u00e3o Tom\u00e9 and Pr\u00edncipe", "ST", .1, 6.6, "Taiwan", "TW", 23.6, 120.9, "Tajikistan", "TJ", 38.8, 71.2, "Tanzania", "TZ", -6.3, 34.8, "Thailand", "TH", 15.8, 100.9, "Timor-Leste", "TL", -8.8, 125.7, "Togo", "TG", 8.6, .8, "Tokelau", "TK", -8.9, -171.8, "Tonga", "TO", -21.1, -175.1, "Trinidad and Tobago", "TT", 10.6, -61.2, "Tunisia", "TN", 33.8, 9.5, "Turkey", "TR", 38.9, 35.2, "Turkmenistan", "TM", 38.9, 59.5, "Turks and Caicos Islands", "TC", 21.6, -71.7, "Tuvalu", "TV", -7.1, 177.6, "U.S. Minor Outlying Islands",
  8903. "UM", 0, 0, "U.S. Virgin Islands", "VI", 18.3, -64.8, "Uganda", "UG", 1.3, 32.2, "Ukraine", "UA", 48.3, 31.1, "United Arab Emirates", "AE", 23.4, 53.8, "United Kingdom", "GB", 55.3, -3.4, "United States", "US", 37, -95.7, "Uruguay", "UY", -32.5, -55.7, "Uzbekistan", "UZ", 41.3, 64.5, "Vanuatu", "VU", -15.3, 166.9, "Vatican City", "VA", 41.9, 12.4, "Venezuela", "VE", 6.4, -66.5, "Vietnam", "VN", 14, 108.2, "Wallis and Futuna", "WF", -13.7, -177.1, "Western Sahara", "EH", 24.2, -12.8, "Yemen", "YE", 15.5, 48.5, "Zambia", "ZM", -13.1, 27.8, "Zimbabwe", "ZW", -19, 29.1
  8904. ];
  8905. m.hr = "wss://p2p.haxball.com/";
  8906. m.nf = "https://www.haxball.com/rs/";
  8907. m.Bf = [{
  8908. urls: "stun:stun.l.google.com:19302"
  8909. }];
  8910. m.Qp = "6LfMLFIUAAAAAC54jquwTXtcGDc_dPbJm9WtRMSz";
  8911. m.s = new Rb;
  8912. h.Rq = u.ca(1024);
  8913. ra.Ja = l.Sa({
  8914. La: !1,
  8915. Ka: !1
  8916. });
  8917. Pa.Ja = l.Sa({
  8918. La: !1,
  8919. Ka: !1
  8920. });
  8921. da.Ja = l.Sa({
  8922. La: !1,
  8923. Ka: !1
  8924. });
  8925. qa.Ja = l.Sa({
  8926. La: !1,
  8927. Ka: !1
  8928. });
  8929. pa.Ja = l.Sa({
  8930. La: !1,
  8931. Ka: !1
  8932. });
  8933. Q.Ja = l.Sa({
  8934. La: !1,
  8935. Ka: !1
  8936. });
  8937. oa.Ja = l.Sa({
  8938. La: !1,
  8939. Ka: !1,
  8940. lm: {
  8941. Vl: 10,
  8942. qm: 2E3
  8943. }
  8944. });
  8945. Oa.Ja = l.Sa({
  8946. La: !1,
  8947. Ka: !1
  8948. });
  8949. na.Ja = l.Sa({
  8950. La: !1,
  8951. Ka: !1
  8952. });
  8953. ma.Ja = l.Sa({
  8954. La: !1,
  8955. Ka: !1
  8956. });
  8957. Na.Ja = l.Sa({});
  8958. Ma.Ja = l.Sa({
  8959. La: !1,
  8960. Ka: !1,
  8961. lm: {
  8962. Vl: 10,
  8963. qm: 900
  8964. }
  8965. });
  8966. Ga.Ja = l.Sa({});
  8967. la.Ja = l.Sa({
  8968. La: !1,
  8969. Ka: !1
  8970. });
  8971. Y.Ja = l.Sa({
  8972. La: !1,
  8973. Ka: !1
  8974. });
  8975. La.Ja = l.Sa({
  8976. La: !1,
  8977. Ka: !1
  8978. });
  8979. Ka.Ja = l.Sa({
  8980. La: !1,
  8981. Ka: !1
  8982. });
  8983. ka.Ja = l.Sa({
  8984. La: !1,
  8985. Ka: !1
  8986. });
  8987. C.xm = .17435839227423353;
  8988. C.wm = 5.934119456780721;
  8989. P.tm = new Bb([0, 0, 2, 1, 0, .35, 1, 0, 1, 0, .7, 1, 0, 0, 0, 1]);
  8990. P.um = new Bb([0, -1, 3, 0, 0, .35, 0, 0, 0, 0, .65, 0, 0, 1, 3, 1]);
  8991. lb.H = "<div class='dialog change-location-view'><h1>Change Location</h1><div class='splitter'><div class='list' data-hook='list'></div><div class='buttons'><button data-hook='change'>Change</button><button data-hook='cancel'>Cancel</button></div></div></div>";
  8992. Da.H = "<div class='chatbox-view'><div data-hook='log' class='log'><p>Controls:<br/>Move: WASD or Arrows<br/>Kick: X, Space, Ctrl, Shift, Numpad 0<br/>View: Numbers 1 to 4</p></div><div class='autocompletebox' data-hook='autocompletebox'></div><div class='input'><input data-hook='input' type='text' /><button data-hook='send'>Send</button></div></div>";
  8993. jb.H = "<div class='choose-nickname-view'><img src=\"images/haxball.png\" /><div class='dialog'><h1>Choose nickname</h1><div class='label-input'><label>Nick:</label><input data-hook='input' type='text' /></div><button data-hook='ok'>Ok</button></div></div>";
  8994. ib.H = "<div class='connecting-view'><div class='dialog'><h1>Connecting</h1><div class='connecting-view-log' data-hook='log'></div><button data-hook='cancel'>Cancel</button></div></div>";
  8995. hb.H = "<div class='create-room-view'><div class='dialog'><h1>Create room</h1><div class='label-input'><label>Room name:</label><input data-hook='name' required /></div><div class='label-input'><label>Password:</label><input data-hook='pass' /></div><div class='label-input'><label>Max players:</label><select data-hook='max-pl'></select></div><button data-hook='unlisted'></button><div class='row'><button data-hook='cancel'>Cancel</button><button data-hook='create'>Create</button></div></div></div>";
  8996. gb.H = "<div class='disconnected-view'><div class='dialog basic-dialog'><h1>Disconnected</h1><p data-hook='reason'></p><div class='buttons'><button data-hook='ok'>Ok</button><button data-hook='replay'>Save replay</button></div></div></div>";
  8997. fb.H = "<div class='game-state-view'><div class='bar-container'><div class='bar'><div class='scoreboard'><div class='teamicon red'></div><div class='score' data-hook='red-score'>0</div><div>-</div><div class='score' data-hook='blue-score'>0</div><div class='teamicon blue'></div></div><div data-hook='timer'></div></div></div><div class='canvas' data-hook='canvas'></div></div>";
  8998. ia.H = "<div class='game-view' tabindex='-1'><div class='top-section' data-hook='gameplay-section'></div><div class='bottom-section'><div data-hook='stats'></div><div data-hook='chatbox'></div><div class='buttons'><button data-hook='menu'><i class='icon-menu'></i>Menu<span class='tooltip'>Toggle room menu [Escape]</span></button><button data-hook='settings'><i class='icon-cog'></i>Settings</button></div></div><div data-hook='popups'></div></div>";
  8999. eb.H = "<div class='dialog kick-player-view'><h1 data-hook='title'></h1><div class=label-input><label>Reason: </label><input type='text' data-hook='reason' /></div><button data-hook='ban-btn'><i class='icon-block'></i>Ban from rejoining: <span data-hook='ban-text'></span></button><div class=\"row\"><button data-hook='close'>Cancel</button><button data-hook='kick'>Kick</button></div></div>";
  9000. db.H = "<div class='dialog basic-dialog leave-room-view'><h1>Leave room?</h1><p>Are you sure you want to leave the room?</p><div class='buttons'><button data-hook='cancel'>Cancel</button><button data-hook='leave'><i class='icon-logout'></i>Leave</button></div></div>";
  9001. cb.H = "<div class='dialog pick-stadium-view'><h1>Pick a stadium</h1><div class='splitter'><div class='list' data-hook='list'></div><div class='buttons'><button data-hook='pick'>Pick</button><button data-hook='delete'>Delete</button><div class='file-btn'><label for='stadfile'>Load</label><input id='stadfile' type='file' accept='.hbs' data-hook='file'/></div><button data-hook='export'>Export</button><div class='spacer'></div><button data-hook='cancel'>Cancel</button></div></div></div>";
  9002. bb.H = "<div class='dialog' style='min-width:200px'><h1 data-hook='name'></h1><button data-hook='admin'></button><button data-hook='kick'>Kick</button><button data-hook='close'>Close</button></div>";
  9003. ab.H = "<div class='player-list-item'><div data-hook='flag' class='flagico'></div><div data-hook='name'></div><div data-hook='ping'></div></div>";
  9004. za.H = "<div class='player-list-view'><div class='buttons'><button data-hook='join-btn'>Join</button><button data-hook='reset-btn' class='admin-only'></button></div><div class='list' data-hook='list'></div></div>";
  9005. ga.H = "<div class='replay-controls-view'><button data-hook='reset'><i class='icon-to-start'></i></button><button data-hook='play'><i data-hook='playicon'></i></button><div data-hook='spd'>1x</div><button data-hook='spddn'>-</button><button data-hook='spdup'>+</button><div data-hook='time'>00:00</div><div class='timebar' data-hook='timebar'><div class='barbg'><div class='bar' data-hook='progbar'></div></div><div class='timetooltip' data-hook='timetooltip'></div></div><button data-hook='leave'>Leave</button></div>";
  9006. $a.H = "<div class='dialog basic-dialog room-link-view'><h1>Room link</h1><p>Use this url to link others directly into this room.</p><input data-hook='link' readonly></input><div class='buttons'><button data-hook='close'>Close</button><button data-hook='copy'>Copy to clipboard</button></div></div>";
  9007. Za.Oi = "<tr><td><span data-hook='tag'></span><span data-hook='name'></span></td><td data-hook='players'></td><td data-hook='pass'></td><td><div data-hook='flag' class='flagico'></div><span data-hook='distance'></span></td></tr>";
  9008. Aa.Oi = "<div class='roomlist-view'><div class='notice' data-hook='notice' hidden><div data-hook='notice-contents'>Testing the notice.</div><div data-hook='notice-close'><i class='icon-cancel'></i></div></div><div class='dialog'><h1>Room list</h1><p>Tip: Join rooms near you to reduce lag.</p><div class='splitter'><div class='list'><table class='header'><colgroup><col><col><col><col></colgroup><thead><tr><td>Name</td><td>Players</td><td>Pass</td><td>Distance</td></tr></thead></table><div class='separator'></div><div class='content' data-hook='listscroll'><table><colgroup><col><col><col><col></colgroup><tbody data-hook='list'></tbody></table></div><div class='filters'><span class='bool' data-hook='fil-pass'>Show locked <i></i></span><span class='bool' data-hook='fil-full'>Show full <i></i></span></div></div><div class='buttons'><button data-hook='refresh'><i class='icon-cw'></i><div>Refresh</div></button><button data-hook='join'><i class='icon-login'></i><div>Join Room</div></button><button data-hook='create'><i class='icon-plus'></i><div>Create Room</div></button><div class='spacer'></div><div class='file-btn'><label for='replayfile'><i class='icon-play'></i><div>Replays</div></label><input id='replayfile' type='file' accept='.hbr2' data-hook='replayfile'/></div><button data-hook='settings'><i class='icon-cog'></i><div>Settings</div></button><button data-hook='changenick'><i class='icon-cw'></i><div>Change Nick</div></button></div></div><p data-hook='count'></p></div></div>";
  9009. Xa.H = "<div class='room-password-view'><div class='dialog'><h1>Password required</h1><div class='label-input'><label>Password:</label><input data-hook='input' /></div><div class='buttons'><button data-hook='cancel'>Cancel</button><button data-hook='ok'>Ok</button></div></div></div>";
  9010. Wa.H = "<div class='room-view'><div class='container'><h1 data-hook='room-name'></h1><div class='header-btns'><button data-hook='rec-btn'><i class='icon-circle'></i>Rec</button><button data-hook='link-btn'><i class='icon-link'></i>Link</button><button data-hook='leave-btn'><i class='icon-logout'></i>Leave</button></div><div class='teams'><div class='tools admin-only'><button data-hook='auto-btn'>Auto</button><button data-hook='rand-btn'>Rand</button><button data-hook='lock-btn'>Lock</button><button data-hook='reset-all-btn'>Reset</button></div><div data-hook='red-list'></div><div data-hook='spec-list'></div><div data-hook='blue-list'></div><div class='spacer admin-only'></div></div><div class='settings'><div><label class='lbl'>Time limit</label><select data-hook='time-limit-sel'></select></div><div><label class='lbl'>Score limit</label><select data-hook='score-limit-sel'></select></div><div><label class='lbl'>Stadium</label><label class='val' data-hook='stadium-name'>testing the stadium name</label><button class='admin-only' data-hook='stadium-pick'>Pick</button></div></div><div class='controls admin-only'><button data-hook='start-btn'><i class='icon-play'></i>Start game</button><button data-hook='stop-btn'><i class='icon-stop'></i>Stop game</button><button data-hook='pause-btn'><i class='icon-pause'></i>Pause</button></div></div></div>";
  9011. ba.H = "<div class='dialog settings-view'><h1>Settings</h1><button data-hook='close'>Close</button><div class='tabs'><button data-hook='soundbtn'>Sound</button><button data-hook='videobtn'>Video</button><button data-hook='inputbtn'>Input</button><button data-hook='miscbtn'>Misc</button></div><div data-hook='presskey' tabindex='-1'><div>Press a key</div></div><div class='tabcontents'><div class='section' data-hook='miscsec'><div class='loc' data-hook='loc'></div><div class='loc' data-hook='loc-ovr'></div><button data-hook='loc-ovr-btn'></button></div><div class='section' data-hook='soundsec'><div data-hook=\"tsound-main\">Sounds enabled</div><div data-hook=\"tsound-chat\">Chat sound enabled</div><div data-hook=\"tsound-highlight\">Nick highlight sound enabled</div><div data-hook=\"tsound-crowd\">Crowd sound enabled</div></div><div class='section' data-hook='inputsec'></div><div class='section' data-hook='videosec'><div>Viewport Mode:<select data-hook='viewmode'><option>Dynamic</option><option>Restricted 840x410</option><option>Full 1x Zoom</option><option>Full 1.25x Zoom</option><option>Full 1.5x Zoom</option><option>Full 1.75x Zoom</option><option>Full 2x Zoom</option><option>Full 2.25x Zoom</option><option>Full 2.5x Zoom</option></select></div><div>FPS Limit:<select data-hook='fps'><option>None (Recommended)</option><option>30</option></select></div><div>Resolution Scaling:<select data-hook='resscale'><option>100%</option><option>75%</option><option>50%</option><option>25%</option></select></div><div data-hook=\"tvideo-teamcol\">Custom team colors enabled</div><div data-hook=\"tvideo-showindicators\">Show chat indicators</div></div></div></div>";
  9012. ba.ml = 0;
  9013. T.H = "<div class='simple-dialog-view'><div class='dialog basic-dialog'><h1 data-hook='title'></h1><p data-hook='content'></p><div class='buttons' data-hook='buttons'></div></div></div>";
  9014. Va.H = "<div class='stats-view'><p>Ping: <span data-hook='ping'></span></p><p>Max Ping: <span data-hook='max-ping'></span></p><p>Fps: <span data-hook='fps'></span></p><div data-hook='graph'></div></div>";
  9015. Ua.H = '<div class=\'unsupported-browser-view\'><div class=\'dialog\'><h1>Unsupported Browser</h1><p>Sorry! Your browser doesn\'t yet implement some features which are required for HaxBall to work.</p><p>The missing features are: <span data-hook=\'features\'></span></p><h2>Recommended browsers:</h2><div><a href="https://www.mozilla.org/firefox/new/"><img src="images/firefox-icon.png"/>Firefox</a></div><div><a href="https://www.google.com/chrome/"><img src="images/chrome-icon.png"/>Chrome</a></div><div><a href="http://www.opera.com/"><img src="images/opera-icon.png"/>Opera</a></div></div></div>';
  9016. q.Dm = {}.toString;
  9017. v.yo()
  9018. })("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this);
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement