Linux spg1.cloudpowerdns.com 5.14.0-611.34.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 18 05:51:10 EST 2026 x86_64
LiteSpeed
Server IP : 176.9.63.151 & Your IP : 216.73.217.60
Domains :
Cant Read [ /etc/named.conf ]
User : fastear1
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
fastear1 /
vinance copy /
assets /
global /
js /
Delete
Unzip
Name
Size
Permission
Date
Action
firebase
[ DIR ]
drwxrwxr-x
2024-05-30 15:49
bootstrap.bundle.min.js
78.54
KB
-rw-rw-r--
2024-05-22 12:36
broadcasting.js
2.69
KB
-rw-rw-r--
2024-06-01 16:29
card.js
57.46
KB
-rw-rw-r--
2024-05-22 12:36
form_actions.js
1.52
KB
-rw-rw-r--
2024-05-27 12:53
form_generator.js
9.92
KB
-rw-rw-r--
2024-05-27 14:27
iziToast.min.js
18.05
KB
-rw-rw-r--
2024-05-22 12:36
jquery-3.7.1.min.js
85.48
KB
-rw-rw-r--
2024-05-22 12:36
nicEdit.js
49.47
KB
-rw-rw-r--
2024-05-22 12:36
nicEditIcons-latest.gif
3.63
KB
-rw-rw-r--
2024-05-22 12:36
pusher.min.js
150.59
KB
-rw-rw-r--
2023-07-13 19:31
secure_password.js
2.23
KB
-rw-rw-r--
2024-05-22 12:36
select2.min.js
70.78
KB
-rw-rw-r--
2024-05-22 12:36
Save
Rename
/*! * Pusher JavaScript Library v7.0.6 * https://pusher.com/ * * Copyright 2020, Pusher * Released under the MIT licence. */ !(function (t, e) { "object" == typeof exports && "object" == typeof module ? (module.exports = e()) : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? (exports.Pusher = e()) : (t.Pusher = e()); })(window, function () { return (function (t) { var e = {}; function n(o) { if (e[o]) return e[o].exports; var r = (e[o] = { i: o, l: !1, exports: {} }); return t[o].call(r.exports, r, r.exports, n), (r.l = !0), r.exports; } return ( (n.m = t), (n.c = e), (n.d = function (t, e, o) { n.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: o }); }), (n.r = function (t) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }); }), (n.t = function (t, e) { if ((1 & e && (t = n(t)), 8 & e)) return t; if (4 & e && "object" == typeof t && t && t.__esModule) return t; var o = Object.create(null); if ((n.r(o), Object.defineProperty(o, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t)) for (var r in t) n.d( o, r, function (e) { return t[e]; }.bind(null, r) ); return o; }), (n.n = function (t) { var e = t && t.__esModule ? function () { return t.default; } : function () { return t; }; return n.d(e, "a", e), e; }), (n.o = function (t, e) { return Object.prototype.hasOwnProperty.call(t, e); }), (n.p = ""), n((n.s = 2)) ); })([ function (t, e, n) { "use strict"; var o, r = (this && this.__extends) || ((o = function (t, e) { return (o = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(t, e); }), function (t, e) { function n() { this.constructor = t; } o(t, e), (t.prototype = null === e ? Object.create(e) : ((n.prototype = e.prototype), new n())); }); Object.defineProperty(e, "__esModule", { value: !0 }); var i = (function () { function t(t) { void 0 === t && (t = "="), (this._paddingCharacter = t); } return ( (t.prototype.encodedLength = function (t) { return this._paddingCharacter ? (((t + 2) / 3) * 4) | 0 : ((8 * t + 5) / 6) | 0; }), (t.prototype.encode = function (t) { for (var e = "", n = 0; n < t.length - 2; n += 3) { var o = (t[n] << 16) | (t[n + 1] << 8) | t[n + 2]; (e += this._encodeByte((o >>> 18) & 63)), (e += this._encodeByte((o >>> 12) & 63)), (e += this._encodeByte((o >>> 6) & 63)), (e += this._encodeByte((o >>> 0) & 63)); } var r = t.length - n; if (r > 0) { o = (t[n] << 16) | (2 === r ? t[n + 1] << 8 : 0); (e += this._encodeByte((o >>> 18) & 63)), (e += this._encodeByte((o >>> 12) & 63)), (e += 2 === r ? this._encodeByte((o >>> 6) & 63) : this._paddingCharacter || ""), (e += this._paddingCharacter || ""); } return e; }), (t.prototype.maxDecodedLength = function (t) { return this._paddingCharacter ? ((t / 4) * 3) | 0 : ((6 * t + 7) / 8) | 0; }), (t.prototype.decodedLength = function (t) { return this.maxDecodedLength(t.length - this._getPaddingLength(t)); }), (t.prototype.decode = function (t) { if (0 === t.length) return new Uint8Array(0); for (var e = this._getPaddingLength(t), n = t.length - e, o = new Uint8Array(this.maxDecodedLength(n)), r = 0, i = 0, s = 0, c = 0, a = 0, u = 0, h = 0; i < n - 4; i += 4) (c = this._decodeChar(t.charCodeAt(i + 0))), (a = this._decodeChar(t.charCodeAt(i + 1))), (u = this._decodeChar(t.charCodeAt(i + 2))), (h = this._decodeChar(t.charCodeAt(i + 3))), (o[r++] = (c << 2) | (a >>> 4)), (o[r++] = (a << 4) | (u >>> 2)), (o[r++] = (u << 6) | h), (s |= 256 & c), (s |= 256 & a), (s |= 256 & u), (s |= 256 & h); if ( (i < n - 1 && ((c = this._decodeChar(t.charCodeAt(i))), (a = this._decodeChar(t.charCodeAt(i + 1))), (o[r++] = (c << 2) | (a >>> 4)), (s |= 256 & c), (s |= 256 & a)), i < n - 2 && ((u = this._decodeChar(t.charCodeAt(i + 2))), (o[r++] = (a << 4) | (u >>> 2)), (s |= 256 & u)), i < n - 3 && ((h = this._decodeChar(t.charCodeAt(i + 3))), (o[r++] = (u << 6) | h), (s |= 256 & h)), 0 !== s) ) throw new Error("Base64Coder: incorrect characters for decoding"); return o; }), (t.prototype._encodeByte = function (t) { var e = t; return (e += 65), (e += ((25 - t) >>> 8) & 6), (e += ((51 - t) >>> 8) & -75), (e += ((61 - t) >>> 8) & -15), (e += ((62 - t) >>> 8) & 3), String.fromCharCode(e); }), (t.prototype._decodeChar = function (t) { var e = 256; return ( (e += (((42 - t) & (t - 44)) >>> 8) & (-256 + t - 43 + 62)), (e += (((46 - t) & (t - 48)) >>> 8) & (-256 + t - 47 + 63)), (e += (((47 - t) & (t - 58)) >>> 8) & (-256 + t - 48 + 52)), (e += (((64 - t) & (t - 91)) >>> 8) & (-256 + t - 65 + 0)), (e += (((96 - t) & (t - 123)) >>> 8) & (-256 + t - 97 + 26)) ); }), (t.prototype._getPaddingLength = function (t) { var e = 0; if (this._paddingCharacter) { for (var n = t.length - 1; n >= 0 && t[n] === this._paddingCharacter; n--) e++; if (t.length < 4 || e > 2) throw new Error("Base64Coder: incorrect padding"); } return e; }), t ); })(); e.Coder = i; var s = new i(); (e.encode = function (t) { return s.encode(t); }), (e.decode = function (t) { return s.decode(t); }); var c = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return ( r(e, t), (e.prototype._encodeByte = function (t) { var e = t; return (e += 65), (e += ((25 - t) >>> 8) & 6), (e += ((51 - t) >>> 8) & -75), (e += ((61 - t) >>> 8) & -13), (e += ((62 - t) >>> 8) & 49), String.fromCharCode(e); }), (e.prototype._decodeChar = function (t) { var e = 256; return ( (e += (((44 - t) & (t - 46)) >>> 8) & (-256 + t - 45 + 62)), (e += (((94 - t) & (t - 96)) >>> 8) & (-256 + t - 95 + 63)), (e += (((47 - t) & (t - 58)) >>> 8) & (-256 + t - 48 + 52)), (e += (((64 - t) & (t - 91)) >>> 8) & (-256 + t - 65 + 0)), (e += (((96 - t) & (t - 123)) >>> 8) & (-256 + t - 97 + 26)) ); }), e ); })(i); e.URLSafeCoder = c; var a = new c(); (e.encodeURLSafe = function (t) { return a.encode(t); }), (e.decodeURLSafe = function (t) { return a.decode(t); }), (e.encodedLength = function (t) { return s.encodedLength(t); }), (e.maxDecodedLength = function (t) { return s.maxDecodedLength(t); }), (e.decodedLength = function (t) { return s.decodedLength(t); }); }, function (t, e, n) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }); var o = "utf8: invalid source encoding"; function r(t) { for (var e = 0, n = 0; n < t.length; n++) { var o = t.charCodeAt(n); if (o < 128) e += 1; else if (o < 2048) e += 2; else if (o < 55296) e += 3; else { if (!(o <= 57343)) throw new Error("utf8: invalid string"); if (n >= t.length - 1) throw new Error("utf8: invalid string"); n++, (e += 4); } } return e; } (e.encode = function (t) { for (var e = new Uint8Array(r(t)), n = 0, o = 0; o < t.length; o++) { var i = t.charCodeAt(o); i < 128 ? (e[n++] = i) : i < 2048 ? ((e[n++] = 192 | (i >> 6)), (e[n++] = 128 | (63 & i))) : i < 55296 ? ((e[n++] = 224 | (i >> 12)), (e[n++] = 128 | ((i >> 6) & 63)), (e[n++] = 128 | (63 & i))) : (o++, (i = (1023 & i) << 10), (i |= 1023 & t.charCodeAt(o)), (i += 65536), (e[n++] = 240 | (i >> 18)), (e[n++] = 128 | ((i >> 12) & 63)), (e[n++] = 128 | ((i >> 6) & 63)), (e[n++] = 128 | (63 & i))); } return e; }), (e.encodedLength = r), (e.decode = function (t) { for (var e = [], n = 0; n < t.length; n++) { var r = t[n]; if (128 & r) { var i = void 0; if (r < 224) { if (n >= t.length) throw new Error(o); if (128 != (192 & (s = t[++n]))) throw new Error(o); (r = ((31 & r) << 6) | (63 & s)), (i = 128); } else if (r < 240) { if (n >= t.length - 1) throw new Error(o); var s = t[++n], c = t[++n]; if (128 != (192 & s) || 128 != (192 & c)) throw new Error(o); (r = ((15 & r) << 12) | ((63 & s) << 6) | (63 & c)), (i = 2048); } else { if (!(r < 248)) throw new Error(o); if (n >= t.length - 2) throw new Error(o); (s = t[++n]), (c = t[++n]); var a = t[++n]; if (128 != (192 & s) || 128 != (192 & c) || 128 != (192 & a)) throw new Error(o); (r = ((15 & r) << 18) | ((63 & s) << 12) | ((63 & c) << 6) | (63 & a)), (i = 65536); } if (r < i || (r >= 55296 && r <= 57343)) throw new Error(o); if (r >= 65536) { if (r > 1114111) throw new Error(o); (r -= 65536), e.push(String.fromCharCode(55296 | (r >> 10))), (r = 56320 | (1023 & r)); } } e.push(String.fromCharCode(r)); } return e.join(""); }); }, function (t, e, n) { t.exports = n(3).default; }, function (t, e, n) { "use strict"; n.r(e); var o, r = (function () { function t(t, e) { (this.lastId = 0), (this.prefix = t), (this.name = e); } return ( (t.prototype.create = function (t) { this.lastId++; var e = this.lastId, n = this.prefix + e, o = this.name + "[" + e + "]", r = !1, i = function () { r || (t.apply(null, arguments), (r = !0)); }; return (this[e] = i), { number: e, id: n, name: o, callback: i }; }), (t.prototype.remove = function (t) { delete this[t.number]; }), t ); })(), i = new r("_pusher_script_", "Pusher.ScriptReceivers"), s = { VERSION: "7.0.6", PROTOCOL: 7, wsPort: 80, wssPort: 443, wsPath: "", httpHost: "sockjs.pusher.com", httpPort: 80, httpsPort: 443, httpPath: "/pusher", stats_host: "stats.pusher.com", authEndpoint: "/pusher/auth", authTransport: "ajax", activityTimeout: 12e4, pongTimeout: 3e4, unavailableTimeout: 1e4, cluster: "mt1", cdn_http: "http://js.pusher.com", cdn_https: "https://js.pusher.com", dependency_suffix: "", }, c = (function () { function t(t) { (this.options = t), (this.receivers = t.receivers || i), (this.loading = {}); } return ( (t.prototype.load = function (t, e, n) { var o = this; if (o.loading[t] && o.loading[t].length > 0) o.loading[t].push(n); else { o.loading[t] = [n]; var r = _e.createScriptRequest(o.getPath(t, e)), i = o.receivers.create(function (e) { if ((o.receivers.remove(i), o.loading[t])) { var n = o.loading[t]; delete o.loading[t]; for ( var s = function (t) { t || r.cleanup(); }, c = 0; c < n.length; c++ ) n[c](e, s); } }); r.send(i); } }), (t.prototype.getRoot = function (t) { var e = _e.getDocument().location.protocol; return ((t && t.useTLS) || "https:" === e ? this.options.cdn_https : this.options.cdn_http).replace(/\/*$/, "") + "/" + this.options.version; }), (t.prototype.getPath = function (t, e) { return this.getRoot(e) + "/" + t + this.options.suffix + ".js"; }), t ); })(), a = new r("_pusher_dependencies", "Pusher.DependenciesReceivers"), u = new c({ cdn_http: s.cdn_http, cdn_https: s.cdn_https, version: s.VERSION, suffix: s.dependency_suffix, receivers: a }), h = { baseUrl: "https://pusher.com", urls: { authenticationEndpoint: { path: "/docs/authenticating_users" }, javascriptQuickStart: { path: "/docs/javascript_quick_start" }, triggeringClientEvents: { path: "/docs/client_api_guide/client_events#trigger-events" }, encryptedChannelSupport: { fullUrl: "https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support" }, }, }, p = function (t) { var e, n = h.urls[t]; return n ? (n.fullUrl ? (e = n.fullUrl) : n.path && (e = h.baseUrl + n.path), e ? "See: " + e : "") : ""; }, l = ((o = function (t, e) { return (o = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(t, e); }), function (t, e) { function n() { this.constructor = t; } o(t, e), (t.prototype = null === e ? Object.create(e) : ((n.prototype = e.prototype), new n())); }), f = (function (t) { function e(e) { var n = this.constructor, o = t.call(this, e) || this; return Object.setPrototypeOf(o, n.prototype), o; } return l(e, t), e; })(Error), d = (function (t) { function e(e) { var n = this.constructor, o = t.call(this, e) || this; return Object.setPrototypeOf(o, n.prototype), o; } return l(e, t), e; })(Error), y = (function (t) { function e(e) { var n = this.constructor, o = t.call(this, e) || this; return Object.setPrototypeOf(o, n.prototype), o; } return l(e, t), e; })(Error), g = (function (t) { function e(e) { var n = this.constructor, o = t.call(this, e) || this; return Object.setPrototypeOf(o, n.prototype), o; } return l(e, t), e; })(Error), v = (function (t) { function e(e) { var n = this.constructor, o = t.call(this, e) || this; return Object.setPrototypeOf(o, n.prototype), o; } return l(e, t), e; })(Error), b = (function (t) { function e(e) { var n = this.constructor, o = t.call(this, e) || this; return Object.setPrototypeOf(o, n.prototype), o; } return l(e, t), e; })(Error), m = (function (t) { function e(e) { var n = this.constructor, o = t.call(this, e) || this; return Object.setPrototypeOf(o, n.prototype), o; } return l(e, t), e; })(Error), w = (function (t) { function e(e, n) { var o = this.constructor, r = t.call(this, n) || this; return (r.status = e), Object.setPrototypeOf(r, o.prototype), r; } return l(e, t), e; })(Error), _ = function (t, e, n) { var o, r = this; for (var i in ((o = _e.createXHR()).open("POST", r.options.authEndpoint, !0), o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), this.authOptions.headers)) o.setRequestHeader(i, this.authOptions.headers[i]); return ( (o.onreadystatechange = function () { if (4 === o.readyState) if (200 === o.status) { var t = void 0, e = !1; try { (t = JSON.parse(o.responseText)), (e = !0); } catch (t) { n(new w(200, "JSON returned from auth endpoint was invalid, yet status code was 200. Data was: " + o.responseText), { auth: "" }); } e && n(null, t); } else { var i = p("authenticationEndpoint"); n( new w( o.status, "Unable to retrieve auth string from auth endpoint - received status: " + o.status + " from " + r.options.authEndpoint + ". Clients must be authenticated to join private or presence channels. " + i ), { auth: "" } ); } }), o.send(this.composeQuery(e)), o ); }; for (var S = String.fromCharCode, k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", C = {}, T = 0, P = k.length; T < P; T++) C[k.charAt(T)] = T; var O = function (t) { var e = t.charCodeAt(0); return e < 128 ? t : e < 2048 ? S(192 | (e >>> 6)) + S(128 | (63 & e)) : S(224 | ((e >>> 12) & 15)) + S(128 | ((e >>> 6) & 63)) + S(128 | (63 & e)); }, E = function (t) { return t.replace(/[^\x00-\x7F]/g, O); }, L = function (t) { var e = [0, 2, 1][t.length % 3], n = (t.charCodeAt(0) << 16) | ((t.length > 1 ? t.charCodeAt(1) : 0) << 8) | (t.length > 2 ? t.charCodeAt(2) : 0); return [k.charAt(n >>> 18), k.charAt((n >>> 12) & 63), e >= 2 ? "=" : k.charAt((n >>> 6) & 63), e >= 1 ? "=" : k.charAt(63 & n)].join(""); }, x = window.btoa || function (t) { return t.replace(/[\s\S]{1,3}/g, L); }, A = (function () { function t(t, e, n, o) { var r = this; (this.clear = e), (this.timer = t(function () { r.timer && (r.timer = o(r.timer)); }, n)); } return ( (t.prototype.isRunning = function () { return null !== this.timer; }), (t.prototype.ensureAborted = function () { this.timer && (this.clear(this.timer), (this.timer = null)); }), t ); })(), R = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(); function j(t) { window.clearTimeout(t); } function D(t) { window.clearInterval(t); } var I = (function (t) { function e(e, n) { return ( t.call(this, setTimeout, j, e, function (t) { return n(), null; }) || this ); } return R(e, t), e; })(A), N = (function (t) { function e(e, n) { return ( t.call(this, setInterval, D, e, function (t) { return n(), t; }) || this ); } return R(e, t), e; })(A), M = { now: function () { return Date.now ? Date.now() : new Date().valueOf(); }, defer: function (t) { return new I(0, t); }, method: function (t) { for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; var o = Array.prototype.slice.call(arguments, 1); return function (e) { return e[t].apply(e, o.concat(arguments)); }; }, }; function H(t) { for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; for (var o = 0; o < e.length; o++) { var r = e[o]; for (var i in r) r[i] && r[i].constructor && r[i].constructor === Object ? (t[i] = H(t[i] || {}, r[i])) : (t[i] = r[i]); } return t; } function q() { for (var t = ["Pusher"], e = 0; e < arguments.length; e++) "string" == typeof arguments[e] ? t.push(arguments[e]) : t.push(Y(arguments[e])); return t.join(" : "); } function B(t, e) { var n = Array.prototype.indexOf; if (null === t) return -1; if (n && t.indexOf === n) return t.indexOf(e); for (var o = 0, r = t.length; o < r; o++) if (t[o] === e) return o; return -1; } function z(t, e) { for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e(t[n], n, t); } function U(t) { var e = []; return ( z(t, function (t, n) { e.push(n); }), e ); } function F(t, e, n) { for (var o = 0; o < t.length; o++) e.call(n || window, t[o], o, t); } function X(t, e) { for (var n = [], o = 0; o < t.length; o++) n.push(e(t[o], o, t, n)); return n; } function J(t, e) { e = e || function (t) { return !!t; }; for (var n = [], o = 0; o < t.length; o++) e(t[o], o, t, n) && n.push(t[o]); return n; } function W(t, e) { var n = {}; return ( z(t, function (o, r) { ((e && e(o, r, t, n)) || Boolean(o)) && (n[r] = o); }), n ); } function G(t, e) { for (var n = 0; n < t.length; n++) if (e(t[n], n, t)) return !0; return !1; } function Q(t) { return ( (e = function (t) { return "object" == typeof t && (t = Y(t)), encodeURIComponent(((e = t.toString()), x(E(e)))); var e; }), (n = {}), z(t, function (t, o) { n[o] = e(t); }), n ); var e, n; } function V(t) { var e, n, o = W(t, function (t) { return void 0 !== t; }); return X( ((e = Q(o)), (n = []), z(e, function (t, e) { n.push([e, t]); }), n), M.method("join", "=") ).join("&"); } function Y(t) { try { return JSON.stringify(t); } catch (o) { return JSON.stringify( ((e = []), (n = []), (function t(o, r) { var i, s, c; switch (typeof o) { case "object": if (!o) return null; for (i = 0; i < e.length; i += 1) if (e[i] === o) return { $ref: n[i] }; if ((e.push(o), n.push(r), "[object Array]" === Object.prototype.toString.apply(o))) for (c = [], i = 0; i < o.length; i += 1) c[i] = t(o[i], r + "[" + i + "]"); else for (s in ((c = {}), o)) Object.prototype.hasOwnProperty.call(o, s) && (c[s] = t(o[s], r + "[" + JSON.stringify(s) + "]")); return c; case "number": case "string": case "boolean": return o; } })(t, "$")) ); } var e, n; } var $ = new ((function () { function t() { this.globalLog = function (t) { window.console && window.console.log && window.console.log(t); }; } return ( (t.prototype.debug = function () { for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; this.log(this.globalLog, t); }), (t.prototype.warn = function () { for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; this.log(this.globalLogWarn, t); }), (t.prototype.error = function () { for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; this.log(this.globalLogError, t); }), (t.prototype.globalLogWarn = function (t) { window.console && window.console.warn ? window.console.warn(t) : this.globalLog(t); }), (t.prototype.globalLogError = function (t) { window.console && window.console.error ? window.console.error(t) : this.globalLogWarn(t); }), (t.prototype.log = function (t) { for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; var o = q.apply(this, arguments); if (Ie.log) Ie.log(o); else if (Ie.logToConsole) { var r = t.bind(this); r(o); } }), t ); })())(), K = function (t, e, n) { void 0 !== this.authOptions.headers && $.warn("To send headers with the auth request, you must use AJAX, rather than JSONP."); var o = t.nextAuthCallbackID.toString(); t.nextAuthCallbackID++; var r = t.getDocument(), i = r.createElement("script"); t.auth_callbacks[o] = function (t) { n(null, t); }; var s = "Pusher.auth_callbacks['" + o + "']"; i.src = this.options.authEndpoint + "?callback=" + encodeURIComponent(s) + "&" + this.composeQuery(e); var c = r.getElementsByTagName("head")[0] || r.documentElement; c.insertBefore(i, c.firstChild); }, Z = (function () { function t(t) { this.src = t; } return ( (t.prototype.send = function (t) { var e = this, n = "Error loading " + e.src; (e.script = document.createElement("script")), (e.script.id = t.id), (e.script.src = e.src), (e.script.type = "text/javascript"), (e.script.charset = "UTF-8"), e.script.addEventListener ? ((e.script.onerror = function () { t.callback(n); }), (e.script.onload = function () { t.callback(null); })) : (e.script.onreadystatechange = function () { ("loaded" !== e.script.readyState && "complete" !== e.script.readyState) || t.callback(null); }), void 0 === e.script.async && document.attachEvent && /opera/i.test(navigator.userAgent) ? ((e.errorScript = document.createElement("script")), (e.errorScript.id = t.id + "_error"), (e.errorScript.text = t.name + "('" + n + "');"), (e.script.async = e.errorScript.async = !1)) : (e.script.async = !0); var o = document.getElementsByTagName("head")[0]; o.insertBefore(e.script, o.firstChild), e.errorScript && o.insertBefore(e.errorScript, e.script.nextSibling); }), (t.prototype.cleanup = function () { this.script && ((this.script.onload = this.script.onerror = null), (this.script.onreadystatechange = null)), this.script && this.script.parentNode && this.script.parentNode.removeChild(this.script), this.errorScript && this.errorScript.parentNode && this.errorScript.parentNode.removeChild(this.errorScript), (this.script = null), (this.errorScript = null); }), t ); })(), tt = (function () { function t(t, e) { (this.url = t), (this.data = e); } return ( (t.prototype.send = function (t) { if (!this.request) { var e = V(this.data), n = this.url + "/" + t.number + "?" + e; (this.request = _e.createScriptRequest(n)), this.request.send(t); } }), (t.prototype.cleanup = function () { this.request && this.request.cleanup(); }), t ); })(), et = { name: "jsonp", getAgent: function (t, e) { return function (n, o) { var r = "http" + (e ? "s" : "") + "://" + (t.host || t.options.host) + t.options.path, s = _e.createJSONPRequest(r, n), c = _e.ScriptReceivers.create(function (e, n) { i.remove(c), s.cleanup(), n && n.host && (t.host = n.host), o && o(e, n); }); s.send(c); }; }, }; function nt(t, e, n) { return t + (e.useTLS ? "s" : "") + "://" + (e.useTLS ? e.hostTLS : e.hostNonTLS) + n; } function ot(t, e) { return "/app/" + t + ("?protocol=" + s.PROTOCOL + "&client=js&version=" + s.VERSION + (e ? "&" + e : "")); } var rt = { getInitial: function (t, e) { return nt("ws", e, (e.httpPath || "") + ot(t, "flash=false")); }, }, it = { getInitial: function (t, e) { return nt("http", e, (e.httpPath || "/pusher") + ot(t)); }, }, st = { getInitial: function (t, e) { return nt("http", e, e.httpPath || "/pusher"); }, getPath: function (t, e) { return ot(t); }, }, ct = (function () { function t() { this._callbacks = {}; } return ( (t.prototype.get = function (t) { return this._callbacks[at(t)]; }), (t.prototype.add = function (t, e, n) { var o = at(t); (this._callbacks[o] = this._callbacks[o] || []), this._callbacks[o].push({ fn: e, context: n }); }), (t.prototype.remove = function (t, e, n) { if (t || e || n) { var o = t ? [at(t)] : U(this._callbacks); e || n ? this.removeCallback(o, e, n) : this.removeAllCallbacks(o); } else this._callbacks = {}; }), (t.prototype.removeCallback = function (t, e, n) { F( t, function (t) { (this._callbacks[t] = J(this._callbacks[t] || [], function (t) { return (e && e !== t.fn) || (n && n !== t.context); })), 0 === this._callbacks[t].length && delete this._callbacks[t]; }, this ); }), (t.prototype.removeAllCallbacks = function (t) { F( t, function (t) { delete this._callbacks[t]; }, this ); }), t ); })(); function at(t) { return "_" + t; } var ut = (function () { function t(t) { (this.callbacks = new ct()), (this.global_callbacks = []), (this.failThrough = t); } return ( (t.prototype.bind = function (t, e, n) { return this.callbacks.add(t, e, n), this; }), (t.prototype.bind_global = function (t) { return this.global_callbacks.push(t), this; }), (t.prototype.unbind = function (t, e, n) { return this.callbacks.remove(t, e, n), this; }), (t.prototype.unbind_global = function (t) { return t ? ((this.global_callbacks = J(this.global_callbacks || [], function (e) { return e !== t; })), this) : ((this.global_callbacks = []), this); }), (t.prototype.unbind_all = function () { return this.unbind(), this.unbind_global(), this; }), (t.prototype.emit = function (t, e, n) { for (var o = 0; o < this.global_callbacks.length; o++) this.global_callbacks[o](t, e); var r = this.callbacks.get(t), i = []; if ((n ? i.push(e, n) : e && i.push(e), r && r.length > 0)) for (o = 0; o < r.length; o++) r[o].fn.apply(r[o].context || window, i); else this.failThrough && this.failThrough(t, e); return this; }), t ); })(), ht = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(), pt = (function (t) { function e(e, n, o, r, i) { var s = t.call(this) || this; return ( (s.initialize = _e.transportConnectionInitializer), (s.hooks = e), (s.name = n), (s.priority = o), (s.key = r), (s.options = i), (s.state = "new"), (s.timeline = i.timeline), (s.activityTimeout = i.activityTimeout), (s.id = s.timeline.generateUniqueID()), s ); } return ( ht(e, t), (e.prototype.handlesActivityChecks = function () { return Boolean(this.hooks.handlesActivityChecks); }), (e.prototype.supportsPing = function () { return Boolean(this.hooks.supportsPing); }), (e.prototype.connect = function () { var t = this; if (this.socket || "initialized" !== this.state) return !1; var e = this.hooks.urls.getInitial(this.key, this.options); try { this.socket = this.hooks.getSocket(e, this.options); } catch (e) { return ( M.defer(function () { t.onError(e), t.changeState("closed"); }), !1 ); } return this.bindListeners(), $.debug("Connecting", { transport: this.name, url: e }), this.changeState("connecting"), !0; }), (e.prototype.close = function () { return !!this.socket && (this.socket.close(), !0); }), (e.prototype.send = function (t) { var e = this; return ( "open" === this.state && (M.defer(function () { e.socket && e.socket.send(t); }), !0) ); }), (e.prototype.ping = function () { "open" === this.state && this.supportsPing() && this.socket.ping(); }), (e.prototype.onOpen = function () { this.hooks.beforeOpen && this.hooks.beforeOpen(this.socket, this.hooks.urls.getPath(this.key, this.options)), this.changeState("open"), (this.socket.onopen = void 0); }), (e.prototype.onError = function (t) { this.emit("error", { type: "WebSocketError", error: t }), this.timeline.error(this.buildTimelineMessage({ error: t.toString() })); }), (e.prototype.onClose = function (t) { t ? this.changeState("closed", { code: t.code, reason: t.reason, wasClean: t.wasClean }) : this.changeState("closed"), this.unbindListeners(), (this.socket = void 0); }), (e.prototype.onMessage = function (t) { this.emit("message", t); }), (e.prototype.onActivity = function () { this.emit("activity"); }), (e.prototype.bindListeners = function () { var t = this; (this.socket.onopen = function () { t.onOpen(); }), (this.socket.onerror = function (e) { t.onError(e); }), (this.socket.onclose = function (e) { t.onClose(e); }), (this.socket.onmessage = function (e) { t.onMessage(e); }), this.supportsPing() && (this.socket.onactivity = function () { t.onActivity(); }); }), (e.prototype.unbindListeners = function () { this.socket && ((this.socket.onopen = void 0), (this.socket.onerror = void 0), (this.socket.onclose = void 0), (this.socket.onmessage = void 0), this.supportsPing() && (this.socket.onactivity = void 0)); }), (e.prototype.changeState = function (t, e) { (this.state = t), this.timeline.info(this.buildTimelineMessage({ state: t, params: e })), this.emit(t, e); }), (e.prototype.buildTimelineMessage = function (t) { return H({ cid: this.id }, t); }), e ); })(ut), lt = (function () { function t(t) { this.hooks = t; } return ( (t.prototype.isSupported = function (t) { return this.hooks.isSupported(t); }), (t.prototype.createConnection = function (t, e, n, o) { return new pt(this.hooks, t, e, n, o); }), t ); })(), ft = new lt({ urls: rt, handlesActivityChecks: !1, supportsPing: !1, isInitialized: function () { return Boolean(_e.getWebSocketAPI()); }, isSupported: function () { return Boolean(_e.getWebSocketAPI()); }, getSocket: function (t) { return _e.createWebSocket(t); }, }), dt = { urls: it, handlesActivityChecks: !1, supportsPing: !0, isInitialized: function () { return !0; }, }, yt = H( { getSocket: function (t) { return _e.HTTPFactory.createStreamingSocket(t); }, }, dt ), gt = H( { getSocket: function (t) { return _e.HTTPFactory.createPollingSocket(t); }, }, dt ), vt = { isSupported: function () { return _e.isXHRSupported(); }, }, bt = { ws: ft, xhr_streaming: new lt(H({}, yt, vt)), xhr_polling: new lt(H({}, gt, vt)) }, mt = new lt({ file: "sockjs", urls: st, handlesActivityChecks: !0, supportsPing: !1, isSupported: function () { return !0; }, isInitialized: function () { return void 0 !== window.SockJS; }, getSocket: function (t, e) { return new window.SockJS(t, null, { js_path: u.getPath("sockjs", { useTLS: e.useTLS }), ignore_null_origin: e.ignoreNullOrigin }); }, beforeOpen: function (t, e) { t.send(JSON.stringify({ path: e })); }, }), wt = { isSupported: function (t) { return _e.isXDRSupported(t.useTLS); }, }, _t = new lt(H({}, yt, wt)), St = new lt(H({}, gt, wt)); (bt.xdr_streaming = _t), (bt.xdr_polling = St), (bt.sockjs = mt); var kt = bt, Ct = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(), Tt = new ((function (t) { function e() { var e = t.call(this) || this, n = e; return ( void 0 !== window.addEventListener && (window.addEventListener( "online", function () { n.emit("online"); }, !1 ), window.addEventListener( "offline", function () { n.emit("offline"); }, !1 )), e ); } return ( Ct(e, t), (e.prototype.isOnline = function () { return void 0 === window.navigator.onLine || window.navigator.onLine; }), e ); })(ut))(), Pt = (function () { function t(t, e, n) { (this.manager = t), (this.transport = e), (this.minPingDelay = n.minPingDelay), (this.maxPingDelay = n.maxPingDelay), (this.pingDelay = void 0); } return ( (t.prototype.createConnection = function (t, e, n, o) { var r = this; o = H({}, o, { activityTimeout: this.pingDelay }); var i = this.transport.createConnection(t, e, n, o), s = null, c = function () { i.unbind("open", c), i.bind("closed", a), (s = M.now()); }, a = function (t) { if ((i.unbind("closed", a), 1002 === t.code || 1003 === t.code)) r.manager.reportDeath(); else if (!t.wasClean && s) { var e = M.now() - s; e < 2 * r.maxPingDelay && (r.manager.reportDeath(), (r.pingDelay = Math.max(e / 2, r.minPingDelay))); } }; return i.bind("open", c), i; }), (t.prototype.isSupported = function (t) { return this.manager.isAlive() && this.transport.isSupported(t); }), t ); })(), Ot = { decodeMessage: function (t) { try { var e = JSON.parse(t.data), n = e.data; if ("string" == typeof n) try { n = JSON.parse(e.data); } catch (t) {} var o = { event: e.event, channel: e.channel, data: n }; return e.user_id && (o.user_id = e.user_id), o; } catch (e) { throw { type: "MessageParseError", error: e, data: t.data }; } }, encodeMessage: function (t) { return JSON.stringify(t); }, processHandshake: function (t) { var e = Ot.decodeMessage(t); if ("pusher:connection_established" === e.event) { if (!e.data.activity_timeout) throw "No activity timeout specified in handshake"; return { action: "connected", id: e.data.socket_id, activityTimeout: 1e3 * e.data.activity_timeout }; } if ("pusher:error" === e.event) return { action: this.getCloseAction(e.data), error: this.getCloseError(e.data) }; throw "Invalid handshake"; }, getCloseAction: function (t) { return t.code < 4e3 ? (t.code >= 1002 && t.code <= 1004 ? "backoff" : null) : 4e3 === t.code ? "tls_only" : t.code < 4100 ? "refused" : t.code < 4200 ? "backoff" : t.code < 4300 ? "retry" : "refused"; }, getCloseError: function (t) { return 1e3 !== t.code && 1001 !== t.code ? { type: "PusherError", data: { code: t.code, message: t.reason || t.message } } : null; }, }, Et = Ot, Lt = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(), xt = (function (t) { function e(e, n) { var o = t.call(this) || this; return (o.id = e), (o.transport = n), (o.activityTimeout = n.activityTimeout), o.bindListeners(), o; } return ( Lt(e, t), (e.prototype.handlesActivityChecks = function () { return this.transport.handlesActivityChecks(); }), (e.prototype.send = function (t) { return this.transport.send(t); }), (e.prototype.send_event = function (t, e, n) { var o = { event: t, data: e }; return n && (o.channel = n), $.debug("Event sent", o), this.send(Et.encodeMessage(o)); }), (e.prototype.ping = function () { this.transport.supportsPing() ? this.transport.ping() : this.send_event("pusher:ping", {}); }), (e.prototype.close = function () { this.transport.close(); }), (e.prototype.bindListeners = function () { var t = this, e = { message: function (e) { var n; try { n = Et.decodeMessage(e); } catch (n) { t.emit("error", { type: "MessageParseError", error: n, data: e.data }); } if (void 0 !== n) { switch (($.debug("Event recd", n), n.event)) { case "pusher:error": t.emit("error", { type: "PusherError", data: n.data }); break; case "pusher:ping": t.emit("ping"); break; case "pusher:pong": t.emit("pong"); } t.emit("message", n); } }, activity: function () { t.emit("activity"); }, error: function (e) { t.emit("error", e); }, closed: function (e) { n(), e && e.code && t.handleCloseEvent(e), (t.transport = null), t.emit("closed"); }, }, n = function () { z(e, function (e, n) { t.transport.unbind(n, e); }); }; z(e, function (e, n) { t.transport.bind(n, e); }); }), (e.prototype.handleCloseEvent = function (t) { var e = Et.getCloseAction(t), n = Et.getCloseError(t); n && this.emit("error", n), e && this.emit(e, { action: e, error: n }); }), e ); })(ut), At = (function () { function t(t, e) { (this.transport = t), (this.callback = e), this.bindListeners(); } return ( (t.prototype.close = function () { this.unbindListeners(), this.transport.close(); }), (t.prototype.bindListeners = function () { var t = this; (this.onMessage = function (e) { var n; t.unbindListeners(); try { n = Et.processHandshake(e); } catch (e) { return t.finish("error", { error: e }), void t.transport.close(); } "connected" === n.action ? t.finish("connected", { connection: new xt(n.id, t.transport), activityTimeout: n.activityTimeout }) : (t.finish(n.action, { error: n.error }), t.transport.close()); }), (this.onClosed = function (e) { t.unbindListeners(); var n = Et.getCloseAction(e) || "backoff", o = Et.getCloseError(e); t.finish(n, { error: o }); }), this.transport.bind("message", this.onMessage), this.transport.bind("closed", this.onClosed); }), (t.prototype.unbindListeners = function () { this.transport.unbind("message", this.onMessage), this.transport.unbind("closed", this.onClosed); }), (t.prototype.finish = function (t, e) { this.callback(H({ transport: this.transport, action: t }, e)); }), t ); })(), Rt = (function () { function t(t, e) { this.channel = t; var n = e.authTransport; if (void 0 === _e.getAuthorizers()[n]) throw "'" + n + "' is not a recognized auth transport"; (this.type = n), (this.options = e), (this.authOptions = e.auth || {}); } return ( (t.prototype.composeQuery = function (t) { var e = "socket_id=" + encodeURIComponent(t) + "&channel_name=" + encodeURIComponent(this.channel.name); for (var n in this.authOptions.params) e += "&" + encodeURIComponent(n) + "=" + encodeURIComponent(this.authOptions.params[n]); return e; }), (t.prototype.authorize = function (e, n) { (t.authorizers = t.authorizers || _e.getAuthorizers()), t.authorizers[this.type].call(this, _e, e, n); }), t ); })(), jt = (function () { function t(t, e) { (this.timeline = t), (this.options = e || {}); } return ( (t.prototype.send = function (t, e) { this.timeline.isEmpty() || this.timeline.send(_e.TimelineTransport.getAgent(this, t), e); }), t ); })(), Dt = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(), It = (function (t) { function e(e, n) { var o = t.call(this, function (t, n) { $.debug("No callbacks on " + e + " for " + t); }) || this; return (o.name = e), (o.pusher = n), (o.subscribed = !1), (o.subscriptionPending = !1), (o.subscriptionCancelled = !1), o; } return ( Dt(e, t), (e.prototype.authorize = function (t, e) { return e(null, { auth: "" }); }), (e.prototype.trigger = function (t, e) { if (0 !== t.indexOf("client-")) throw new f("Event '" + t + "' does not start with 'client-'"); if (!this.subscribed) { var n = p("triggeringClientEvents"); $.warn("Client event triggered before channel 'subscription_succeeded' event . " + n); } return this.pusher.send_event(t, e, this.name); }), (e.prototype.disconnect = function () { (this.subscribed = !1), (this.subscriptionPending = !1); }), (e.prototype.handleEvent = function (t) { var e = t.event, n = t.data; if ("pusher_internal:subscription_succeeded" === e) this.handleSubscriptionSucceededEvent(t); else if (0 !== e.indexOf("pusher_internal:")) { this.emit(e, n, {}); } }), (e.prototype.handleSubscriptionSucceededEvent = function (t) { (this.subscriptionPending = !1), (this.subscribed = !0), this.subscriptionCancelled ? this.pusher.unsubscribe(this.name) : this.emit("pusher:subscription_succeeded", t.data); }), (e.prototype.subscribe = function () { var t = this; this.subscribed || ((this.subscriptionPending = !0), (this.subscriptionCancelled = !1), this.authorize(this.pusher.connection.socket_id, function (e, n) { e ? ((t.subscriptionPending = !1), $.error(e.toString()), t.emit("pusher:subscription_error", Object.assign({}, { type: "AuthError", error: e.message }, e instanceof w ? { status: e.status } : {}))) : t.pusher.send_event("pusher:subscribe", { auth: n.auth, channel_data: n.channel_data, channel: t.name }); })); }), (e.prototype.unsubscribe = function () { (this.subscribed = !1), this.pusher.send_event("pusher:unsubscribe", { channel: this.name }); }), (e.prototype.cancelSubscription = function () { this.subscriptionCancelled = !0; }), (e.prototype.reinstateSubscription = function () { this.subscriptionCancelled = !1; }), e ); })(ut), Nt = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(), Mt = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return ( Nt(e, t), (e.prototype.authorize = function (t, e) { return Qt.createAuthorizer(this, this.pusher.config).authorize(t, e); }), e ); })(It), Ht = (function () { function t() { this.reset(); } return ( (t.prototype.get = function (t) { return Object.prototype.hasOwnProperty.call(this.members, t) ? { id: t, info: this.members[t] } : null; }), (t.prototype.each = function (t) { var e = this; z(this.members, function (n, o) { t(e.get(o)); }); }), (t.prototype.setMyID = function (t) { this.myID = t; }), (t.prototype.onSubscription = function (t) { (this.members = t.presence.hash), (this.count = t.presence.count), (this.me = this.get(this.myID)); }), (t.prototype.addMember = function (t) { return null === this.get(t.user_id) && this.count++, (this.members[t.user_id] = t.user_info), this.get(t.user_id); }), (t.prototype.removeMember = function (t) { var e = this.get(t.user_id); return e && (delete this.members[t.user_id], this.count--), e; }), (t.prototype.reset = function () { (this.members = {}), (this.count = 0), (this.myID = null), (this.me = null); }), t ); })(), qt = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(), Bt = (function (t) { function e(e, n) { var o = t.call(this, e, n) || this; return (o.members = new Ht()), o; } return ( qt(e, t), (e.prototype.authorize = function (e, n) { var o = this; t.prototype.authorize.call(this, e, function (t, e) { if (!t) { if (void 0 === (e = e).channel_data) { var r = p("authenticationEndpoint"); return $.error("Invalid auth response for channel '" + o.name + "',expected 'channel_data' field. " + r), void n("Invalid auth response"); } var i = JSON.parse(e.channel_data); o.members.setMyID(i.user_id); } n(t, e); }); }), (e.prototype.handleEvent = function (t) { var e = t.event; if (0 === e.indexOf("pusher_internal:")) this.handleInternalEvent(t); else { var n = t.data, o = {}; t.user_id && (o.user_id = t.user_id), this.emit(e, n, o); } }), (e.prototype.handleInternalEvent = function (t) { var e = t.event, n = t.data; switch (e) { case "pusher_internal:subscription_succeeded": this.handleSubscriptionSucceededEvent(t); break; case "pusher_internal:member_added": var o = this.members.addMember(n); this.emit("pusher:member_added", o); break; case "pusher_internal:member_removed": var r = this.members.removeMember(n); r && this.emit("pusher:member_removed", r); } }), (e.prototype.handleSubscriptionSucceededEvent = function (t) { (this.subscriptionPending = !1), (this.subscribed = !0), this.subscriptionCancelled ? this.pusher.unsubscribe(this.name) : (this.members.onSubscription(t.data), this.emit("pusher:subscription_succeeded", this.members)); }), (e.prototype.disconnect = function () { this.members.reset(), t.prototype.disconnect.call(this); }), e ); })(Mt), zt = n(1), Ut = n(0), Ft = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(), Xt = (function (t) { function e(e, n, o) { var r = t.call(this, e, n) || this; return (r.key = null), (r.nacl = o), r; } return ( Ft(e, t), (e.prototype.authorize = function (e, n) { var o = this; t.prototype.authorize.call(this, e, function (t, e) { if (t) n(t, e); else { var r = e.shared_secret; r ? ((o.key = Object(Ut.decode)(r)), delete e.shared_secret, n(null, e)) : n(new Error("No shared_secret key in auth payload for encrypted channel: " + o.name), null); } }); }), (e.prototype.trigger = function (t, e) { throw new v("Client events are not currently supported for encrypted channels"); }), (e.prototype.handleEvent = function (e) { var n = e.event, o = e.data; 0 !== n.indexOf("pusher_internal:") && 0 !== n.indexOf("pusher:") ? this.handleEncryptedEvent(n, o) : t.prototype.handleEvent.call(this, e); }), (e.prototype.handleEncryptedEvent = function (t, e) { var n = this; if (this.key) if (e.ciphertext && e.nonce) { var o = Object(Ut.decode)(e.ciphertext); if (o.length < this.nacl.secretbox.overheadLength) $.error("Expected encrypted event ciphertext length to be " + this.nacl.secretbox.overheadLength + ", got: " + o.length); else { var r = Object(Ut.decode)(e.nonce); if (r.length < this.nacl.secretbox.nonceLength) $.error("Expected encrypted event nonce length to be " + this.nacl.secretbox.nonceLength + ", got: " + r.length); else { var i = this.nacl.secretbox.open(o, r, this.key); if (null === i) return ( $.debug("Failed to decrypt an event, probably because it was encrypted with a different key. Fetching a new key from the authEndpoint..."), void this.authorize(this.pusher.connection.socket_id, function (e, s) { e ? $.error("Failed to make a request to the authEndpoint: " + s + ". Unable to fetch new key, so dropping encrypted event") : null !== (i = n.nacl.secretbox.open(o, r, n.key)) ? n.emit(t, n.getDataToEmit(i)) : $.error("Failed to decrypt event with new key. Dropping encrypted event"); }) ); this.emit(t, this.getDataToEmit(i)); } } } else $.error("Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: " + e); else $.debug("Received encrypted event before key has been retrieved from the authEndpoint"); }), (e.prototype.getDataToEmit = function (t) { var e = Object(zt.decode)(t); try { return JSON.parse(e); } catch (t) { return e; } }), e ); })(Mt), Jt = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(), Wt = (function (t) { function e(e, n) { var o = t.call(this) || this; (o.state = "initialized"), (o.connection = null), (o.key = e), (o.options = n), (o.timeline = o.options.timeline), (o.usingTLS = o.options.useTLS), (o.errorCallbacks = o.buildErrorCallbacks()), (o.connectionCallbacks = o.buildConnectionCallbacks(o.errorCallbacks)), (o.handshakeCallbacks = o.buildHandshakeCallbacks(o.errorCallbacks)); var r = _e.getNetwork(); return ( r.bind("online", function () { o.timeline.info({ netinfo: "online" }), ("connecting" !== o.state && "unavailable" !== o.state) || o.retryIn(0); }), r.bind("offline", function () { o.timeline.info({ netinfo: "offline" }), o.connection && o.sendActivityCheck(); }), o.updateStrategy(), o ); } return ( Jt(e, t), (e.prototype.connect = function () { this.connection || this.runner || (this.strategy.isSupported() ? (this.updateState("connecting"), this.startConnecting(), this.setUnavailableTimer()) : this.updateState("failed")); }), (e.prototype.send = function (t) { return !!this.connection && this.connection.send(t); }), (e.prototype.send_event = function (t, e, n) { return !!this.connection && this.connection.send_event(t, e, n); }), (e.prototype.disconnect = function () { this.disconnectInternally(), this.updateState("disconnected"); }), (e.prototype.isUsingTLS = function () { return this.usingTLS; }), (e.prototype.startConnecting = function () { var t = this, e = function (n, o) { n ? (t.runner = t.strategy.connect(0, e)) : "error" === o.action ? (t.emit("error", { type: "HandshakeError", error: o.error }), t.timeline.error({ handshakeError: o.error })) : (t.abortConnecting(), t.handshakeCallbacks[o.action](o)); }; this.runner = this.strategy.connect(0, e); }), (e.prototype.abortConnecting = function () { this.runner && (this.runner.abort(), (this.runner = null)); }), (e.prototype.disconnectInternally = function () { (this.abortConnecting(), this.clearRetryTimer(), this.clearUnavailableTimer(), this.connection) && this.abandonConnection().close(); }), (e.prototype.updateStrategy = function () { this.strategy = this.options.getStrategy({ key: this.key, timeline: this.timeline, useTLS: this.usingTLS }); }), (e.prototype.retryIn = function (t) { var e = this; this.timeline.info({ action: "retry", delay: t }), t > 0 && this.emit("connecting_in", Math.round(t / 1e3)), (this.retryTimer = new I(t || 0, function () { e.disconnectInternally(), e.connect(); })); }), (e.prototype.clearRetryTimer = function () { this.retryTimer && (this.retryTimer.ensureAborted(), (this.retryTimer = null)); }), (e.prototype.setUnavailableTimer = function () { var t = this; this.unavailableTimer = new I(this.options.unavailableTimeout, function () { t.updateState("unavailable"); }); }), (e.prototype.clearUnavailableTimer = function () { this.unavailableTimer && this.unavailableTimer.ensureAborted(); }), (e.prototype.sendActivityCheck = function () { var t = this; this.stopActivityCheck(), this.connection.ping(), (this.activityTimer = new I(this.options.pongTimeout, function () { t.timeline.error({ pong_timed_out: t.options.pongTimeout }), t.retryIn(0); })); }), (e.prototype.resetActivityCheck = function () { var t = this; this.stopActivityCheck(), this.connection && !this.connection.handlesActivityChecks() && (this.activityTimer = new I(this.activityTimeout, function () { t.sendActivityCheck(); })); }), (e.prototype.stopActivityCheck = function () { this.activityTimer && this.activityTimer.ensureAborted(); }), (e.prototype.buildConnectionCallbacks = function (t) { var e = this; return H({}, t, { message: function (t) { e.resetActivityCheck(), e.emit("message", t); }, ping: function () { e.send_event("pusher:pong", {}); }, activity: function () { e.resetActivityCheck(); }, error: function (t) { e.emit("error", t); }, closed: function () { e.abandonConnection(), e.shouldRetry() && e.retryIn(1e3); }, }); }), (e.prototype.buildHandshakeCallbacks = function (t) { var e = this; return H({}, t, { connected: function (t) { (e.activityTimeout = Math.min(e.options.activityTimeout, t.activityTimeout, t.connection.activityTimeout || 1 / 0)), e.clearUnavailableTimer(), e.setConnection(t.connection), (e.socket_id = e.connection.id), e.updateState("connected", { socket_id: e.socket_id }); }, }); }), (e.prototype.buildErrorCallbacks = function () { var t = this, e = function (e) { return function (n) { n.error && t.emit("error", { type: "WebSocketError", error: n.error }), e(n); }; }; return { tls_only: e(function () { (t.usingTLS = !0), t.updateStrategy(), t.retryIn(0); }), refused: e(function () { t.disconnect(); }), backoff: e(function () { t.retryIn(1e3); }), retry: e(function () { t.retryIn(0); }), }; }), (e.prototype.setConnection = function (t) { for (var e in ((this.connection = t), this.connectionCallbacks)) this.connection.bind(e, this.connectionCallbacks[e]); this.resetActivityCheck(); }), (e.prototype.abandonConnection = function () { if (this.connection) { for (var t in (this.stopActivityCheck(), this.connectionCallbacks)) this.connection.unbind(t, this.connectionCallbacks[t]); var e = this.connection; return (this.connection = null), e; } }), (e.prototype.updateState = function (t, e) { var n = this.state; if (((this.state = t), n !== t)) { var o = t; "connected" === o && (o += " with new socket ID " + e.socket_id), $.debug("State changed", n + " -> " + o), this.timeline.info({ state: t, params: e }), this.emit("state_change", { previous: n, current: t }), this.emit(t, e); } }), (e.prototype.shouldRetry = function () { return "connecting" === this.state || "connected" === this.state; }), e ); })(ut), Gt = (function () { function t() { this.channels = {}; } return ( (t.prototype.add = function (t, e) { return ( this.channels[t] || (this.channels[t] = (function (t, e) { if (0 === t.indexOf("private-encrypted-")) { if (e.config.nacl) return Qt.createEncryptedChannel(t, e, e.config.nacl); var n = p("encryptedChannelSupport"); throw new v("Tried to subscribe to a private-encrypted- channel but no nacl implementation available. " + n); } return 0 === t.indexOf("private-") ? Qt.createPrivateChannel(t, e) : 0 === t.indexOf("presence-") ? Qt.createPresenceChannel(t, e) : Qt.createChannel(t, e); })(t, e)), this.channels[t] ); }), (t.prototype.all = function () { return (function (t) { var e = []; return ( z(t, function (t) { e.push(t); }), e ); })(this.channels); }), (t.prototype.find = function (t) { return this.channels[t]; }), (t.prototype.remove = function (t) { var e = this.channels[t]; return delete this.channels[t], e; }), (t.prototype.disconnect = function () { z(this.channels, function (t) { t.disconnect(); }); }), t ); })(); var Qt = { createChannels: function () { return new Gt(); }, createConnectionManager: function (t, e) { return new Wt(t, e); }, createChannel: function (t, e) { return new It(t, e); }, createPrivateChannel: function (t, e) { return new Mt(t, e); }, createPresenceChannel: function (t, e) { return new Bt(t, e); }, createEncryptedChannel: function (t, e, n) { return new Xt(t, e, n); }, createTimelineSender: function (t, e) { return new jt(t, e); }, createAuthorizer: function (t, e) { return e.authorizer ? e.authorizer(t, e) : new Rt(t, e); }, createHandshake: function (t, e) { return new At(t, e); }, createAssistantToTheTransportManager: function (t, e, n) { return new Pt(t, e, n); }, }, Vt = (function () { function t(t) { (this.options = t || {}), (this.livesLeft = this.options.lives || 1 / 0); } return ( (t.prototype.getAssistant = function (t) { return Qt.createAssistantToTheTransportManager(this, t, { minPingDelay: this.options.minPingDelay, maxPingDelay: this.options.maxPingDelay }); }), (t.prototype.isAlive = function () { return this.livesLeft > 0; }), (t.prototype.reportDeath = function () { this.livesLeft -= 1; }), t ); })(), Yt = (function () { function t(t, e) { (this.strategies = t), (this.loop = Boolean(e.loop)), (this.failFast = Boolean(e.failFast)), (this.timeout = e.timeout), (this.timeoutLimit = e.timeoutLimit); } return ( (t.prototype.isSupported = function () { return G(this.strategies, M.method("isSupported")); }), (t.prototype.connect = function (t, e) { var n = this, o = this.strategies, r = 0, i = this.timeout, s = null, c = function (a, u) { u ? e(null, u) : ((r += 1), n.loop && (r %= o.length), r < o.length ? (i && ((i *= 2), n.timeoutLimit && (i = Math.min(i, n.timeoutLimit))), (s = n.tryStrategy(o[r], t, { timeout: i, failFast: n.failFast }, c))) : e(!0)); }; return ( (s = this.tryStrategy(o[r], t, { timeout: i, failFast: this.failFast }, c)), { abort: function () { s.abort(); }, forceMinPriority: function (e) { (t = e), s && s.forceMinPriority(e); }, } ); }), (t.prototype.tryStrategy = function (t, e, n, o) { var r = null, i = null; return ( n.timeout > 0 && (r = new I(n.timeout, function () { i.abort(), o(!0); })), (i = t.connect(e, function (t, e) { (t && r && r.isRunning() && !n.failFast) || (r && r.ensureAborted(), o(t, e)); })), { abort: function () { r && r.ensureAborted(), i.abort(); }, forceMinPriority: function (t) { i.forceMinPriority(t); }, } ); }), t ); })(), $t = (function () { function t(t) { this.strategies = t; } return ( (t.prototype.isSupported = function () { return G(this.strategies, M.method("isSupported")); }), (t.prototype.connect = function (t, e) { return (function (t, e, n) { var o = X(t, function (t, o, r, i) { return t.connect(e, n(o, i)); }); return { abort: function () { F(o, Kt); }, forceMinPriority: function (t) { F(o, function (e) { e.forceMinPriority(t); }); }, }; })(this.strategies, t, function (t, n) { return function (o, r) { (n[t].error = o), o ? (function (t) { return (function (t, e) { for (var n = 0; n < t.length; n++) if (!e(t[n], n, t)) return !1; return !0; })(t, function (t) { return Boolean(t.error); }); })(n) && e(!0) : (F(n, function (t) { t.forceMinPriority(r.transport.priority); }), e(null, r)); }; }); }), t ); })(); function Kt(t) { t.error || t.aborted || (t.abort(), (t.aborted = !0)); } var Zt = (function () { function t(t, e, n) { (this.strategy = t), (this.transports = e), (this.ttl = n.ttl || 18e5), (this.usingTLS = n.useTLS), (this.timeline = n.timeline); } return ( (t.prototype.isSupported = function () { return this.strategy.isSupported(); }), (t.prototype.connect = function (t, e) { var n = this.usingTLS, o = (function (t) { var e = _e.getLocalStorage(); if (e) try { var n = e[te(t)]; if (n) return JSON.parse(n); } catch (e) { ee(t); } return null; })(n), r = [this.strategy]; if (o && o.timestamp + this.ttl >= M.now()) { var i = this.transports[o.transport]; i && (this.timeline.info({ cached: !0, transport: o.transport, latency: o.latency }), r.push(new Yt([i], { timeout: 2 * o.latency + 1e3, failFast: !0 }))); } var s = M.now(), c = r.pop().connect(t, function o(i, a) { i ? (ee(n), r.length > 0 ? ((s = M.now()), (c = r.pop().connect(t, o))) : e(i)) : (!(function (t, e, n) { var o = _e.getLocalStorage(); if (o) try { o[te(t)] = Y({ timestamp: M.now(), transport: e, latency: n }); } catch (t) {} })(n, a.transport.name, M.now() - s), e(null, a)); }); return { abort: function () { c.abort(); }, forceMinPriority: function (e) { (t = e), c && c.forceMinPriority(e); }, }; }), t ); })(); function te(t) { return "pusherTransport" + (t ? "TLS" : "NonTLS"); } function ee(t) { var e = _e.getLocalStorage(); if (e) try { delete e[te(t)]; } catch (t) {} } var ne = (function () { function t(t, e) { var n = e.delay; (this.strategy = t), (this.options = { delay: n }); } return ( (t.prototype.isSupported = function () { return this.strategy.isSupported(); }), (t.prototype.connect = function (t, e) { var n, o = this.strategy, r = new I(this.options.delay, function () { n = o.connect(t, e); }); return { abort: function () { r.ensureAborted(), n && n.abort(); }, forceMinPriority: function (e) { (t = e), n && n.forceMinPriority(e); }, }; }), t ); })(), oe = (function () { function t(t, e, n) { (this.test = t), (this.trueBranch = e), (this.falseBranch = n); } return ( (t.prototype.isSupported = function () { return (this.test() ? this.trueBranch : this.falseBranch).isSupported(); }), (t.prototype.connect = function (t, e) { return (this.test() ? this.trueBranch : this.falseBranch).connect(t, e); }), t ); })(), re = (function () { function t(t) { this.strategy = t; } return ( (t.prototype.isSupported = function () { return this.strategy.isSupported(); }), (t.prototype.connect = function (t, e) { var n = this.strategy.connect(t, function (t, o) { o && n.abort(), e(t, o); }); return n; }), t ); })(); function ie(t) { return function () { return t.isSupported(); }; } var se, ce = function (t, e, n) { var o = {}; function r(e, r, i, s, c) { var a = n(t, e, r, i, s, c); return (o[e] = a), a; } var i, s = Object.assign({}, e, { hostNonTLS: t.wsHost + ":" + t.wsPort, hostTLS: t.wsHost + ":" + t.wssPort, httpPath: t.wsPath }), c = Object.assign({}, s, { useTLS: !0 }), a = Object.assign({}, e, { hostNonTLS: t.httpHost + ":" + t.httpPort, hostTLS: t.httpHost + ":" + t.httpsPort, httpPath: t.httpPath }), u = { loop: !0, timeout: 15e3, timeoutLimit: 6e4 }, h = new Vt({ lives: 2, minPingDelay: 1e4, maxPingDelay: t.activityTimeout }), p = new Vt({ lives: 2, minPingDelay: 1e4, maxPingDelay: t.activityTimeout }), l = r("ws", "ws", 3, s, h), f = r("wss", "ws", 3, c, h), d = r("sockjs", "sockjs", 1, a), y = r("xhr_streaming", "xhr_streaming", 1, a, p), g = r("xdr_streaming", "xdr_streaming", 1, a, p), v = r("xhr_polling", "xhr_polling", 1, a), b = r("xdr_polling", "xdr_polling", 1, a), m = new Yt([l], u), w = new Yt([f], u), _ = new Yt([d], u), S = new Yt([new oe(ie(y), y, g)], u), k = new Yt([new oe(ie(v), v, b)], u), C = new Yt([new oe(ie(S), new $t([S, new ne(k, { delay: 4e3 })]), k)], u), T = new oe(ie(C), C, _); return ( (i = e.useTLS ? new $t([m, new ne(T, { delay: 2e3 })]) : new $t([m, new ne(w, { delay: 2e3 }), new ne(T, { delay: 5e3 })])), new Zt(new re(new oe(ie(l), i, T)), o, { ttl: 18e5, timeline: e.timeline, useTLS: e.useTLS }) ); }, ae = { getRequest: function (t) { var e = new window.XDomainRequest(); return ( (e.ontimeout = function () { t.emit("error", new d()), t.close(); }), (e.onerror = function (e) { t.emit("error", e), t.close(); }), (e.onprogress = function () { e.responseText && e.responseText.length > 0 && t.onChunk(200, e.responseText); }), (e.onload = function () { e.responseText && e.responseText.length > 0 && t.onChunk(200, e.responseText), t.emit("finished", 200), t.close(); }), e ); }, abortRequest: function (t) { (t.ontimeout = t.onerror = t.onprogress = t.onload = null), t.abort(); }, }, ue = (function () { var t = function (e, n) { return (t = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(e, n); }; return function (e, n) { function o() { this.constructor = e; } t(e, n), (e.prototype = null === n ? Object.create(n) : ((o.prototype = n.prototype), new o())); }; })(), he = (function (t) { function e(e, n, o) { var r = t.call(this) || this; return (r.hooks = e), (r.method = n), (r.url = o), r; } return ( ue(e, t), (e.prototype.start = function (t) { var e = this; (this.position = 0), (this.xhr = this.hooks.getRequest(this)), (this.unloader = function () { e.close(); }), _e.addUnloadListener(this.unloader), this.xhr.open(this.method, this.url, !0), this.xhr.setRequestHeader && this.xhr.setRequestHeader("Content-Type", "application/json"), this.xhr.send(t); }), (e.prototype.close = function () { this.unloader && (_e.removeUnloadListener(this.unloader), (this.unloader = null)), this.xhr && (this.hooks.abortRequest(this.xhr), (this.xhr = null)); }), (e.prototype.onChunk = function (t, e) { for (;;) { var n = this.advanceBuffer(e); if (!n) break; this.emit("chunk", { status: t, data: n }); } this.isBufferTooLong(e) && this.emit("buffer_too_long"); }), (e.prototype.advanceBuffer = function (t) { var e = t.slice(this.position), n = e.indexOf("\n"); return -1 !== n ? ((this.position += n + 1), e.slice(0, n)) : null; }), (e.prototype.isBufferTooLong = function (t) { return this.position === t.length && t.length > 262144; }), e ); })(ut); !(function (t) { (t[(t.CONNECTING = 0)] = "CONNECTING"), (t[(t.OPEN = 1)] = "OPEN"), (t[(t.CLOSED = 3)] = "CLOSED"); })(se || (se = {})); var pe = se, le = 1; function fe(t) { var e = -1 === t.indexOf("?") ? "?" : "&"; return t + e + "t=" + +new Date() + "&n=" + le++; } function de(t) { return Math.floor(Math.random() * t); } var ye, ge = (function () { function t(t, e) { (this.hooks = t), (this.session = de(1e3) + "/" + (function (t) { for (var e = [], n = 0; n < t; n++) e.push(de(32).toString(32)); return e.join(""); })(8)), (this.location = (function (t) { var e = /([^\?]*)\/*(\??.*)/.exec(t); return { base: e[1], queryString: e[2] }; })(e)), (this.readyState = pe.CONNECTING), this.openStream(); } return ( (t.prototype.send = function (t) { return this.sendRaw(JSON.stringify([t])); }), (t.prototype.ping = function () { this.hooks.sendHeartbeat(this); }), (t.prototype.close = function (t, e) { this.onClose(t, e, !0); }), (t.prototype.sendRaw = function (t) { if (this.readyState !== pe.OPEN) return !1; try { return _e.createSocketRequest("POST", fe(((e = this.location), (n = this.session), e.base + "/" + n + "/xhr_send"))).start(t), !0; } catch (t) { return !1; } var e, n; }), (t.prototype.reconnect = function () { this.closeStream(), this.openStream(); }), (t.prototype.onClose = function (t, e, n) { this.closeStream(), (this.readyState = pe.CLOSED), this.onclose && this.onclose({ code: t, reason: e, wasClean: n }); }), (t.prototype.onChunk = function (t) { var e; if (200 === t.status) switch ((this.readyState === pe.OPEN && this.onActivity(), t.data.slice(0, 1))) { case "o": (e = JSON.parse(t.data.slice(1) || "{}")), this.onOpen(e); break; case "a": e = JSON.parse(t.data.slice(1) || "[]"); for (var n = 0; n < e.length; n++) this.onEvent(e[n]); break; case "m": (e = JSON.parse(t.data.slice(1) || "null")), this.onEvent(e); break; case "h": this.hooks.onHeartbeat(this); break; case "c": (e = JSON.parse(t.data.slice(1) || "[]")), this.onClose(e[0], e[1], !0); } }), (t.prototype.onOpen = function (t) { var e, n, o; this.readyState === pe.CONNECTING ? (t && t.hostname && (this.location.base = ((e = this.location.base), (n = t.hostname), (o = /(https?:\/\/)([^\/:]+)((\/|:)?.*)/.exec(e))[1] + n + o[3])), (this.readyState = pe.OPEN), this.onopen && this.onopen()) : this.onClose(1006, "Server lost session", !0); }), (t.prototype.onEvent = function (t) { this.readyState === pe.OPEN && this.onmessage && this.onmessage({ data: t }); }), (t.prototype.onActivity = function () { this.onactivity && this.onactivity(); }), (t.prototype.onError = function (t) { this.onerror && this.onerror(t); }), (t.prototype.openStream = function () { var t = this; (this.stream = _e.createSocketRequest("POST", fe(this.hooks.getReceiveURL(this.location, this.session)))), this.stream.bind("chunk", function (e) { t.onChunk(e); }), this.stream.bind("finished", function (e) { t.hooks.onFinished(t, e); }), this.stream.bind("buffer_too_long", function () { t.reconnect(); }); try { this.stream.start(); } catch (e) { M.defer(function () { t.onError(e), t.onClose(1006, "Could not start streaming", !1); }); } }), (t.prototype.closeStream = function () { this.stream && (this.stream.unbind_all(), this.stream.close(), (this.stream = null)); }), t ); })(), ve = { getReceiveURL: function (t, e) { return t.base + "/" + e + "/xhr_streaming" + t.queryString; }, onHeartbeat: function (t) { t.sendRaw("[]"); }, sendHeartbeat: function (t) { t.sendRaw("[]"); }, onFinished: function (t, e) { t.onClose(1006, "Connection interrupted (" + e + ")", !1); }, }, be = { getReceiveURL: function (t, e) { return t.base + "/" + e + "/xhr" + t.queryString; }, onHeartbeat: function () {}, sendHeartbeat: function (t) { t.sendRaw("[]"); }, onFinished: function (t, e) { 200 === e ? t.reconnect() : t.onClose(1006, "Connection interrupted (" + e + ")", !1); }, }, me = { getRequest: function (t) { var e = new (_e.getXHRAPI())(); return ( (e.onreadystatechange = e.onprogress = function () { switch (e.readyState) { case 3: e.responseText && e.responseText.length > 0 && t.onChunk(e.status, e.responseText); break; case 4: e.responseText && e.responseText.length > 0 && t.onChunk(e.status, e.responseText), t.emit("finished", e.status), t.close(); } }), e ); }, abortRequest: function (t) { (t.onreadystatechange = null), t.abort(); }, }, we = { createStreamingSocket: function (t) { return this.createSocket(ve, t); }, createPollingSocket: function (t) { return this.createSocket(be, t); }, createSocket: function (t, e) { return new ge(t, e); }, createXHR: function (t, e) { return this.createRequest(me, t, e); }, createRequest: function (t, e, n) { return new he(t, e, n); }, createXDR: function (t, e) { return this.createRequest(ae, t, e); }, }, _e = { nextAuthCallbackID: 1, auth_callbacks: {}, ScriptReceivers: i, DependenciesReceivers: a, getDefaultStrategy: ce, Transports: kt, transportConnectionInitializer: function () { var t = this; t.timeline.info(t.buildTimelineMessage({ transport: t.name + (t.options.useTLS ? "s" : "") })), t.hooks.isInitialized() ? t.changeState("initialized") : t.hooks.file ? (t.changeState("initializing"), u.load(t.hooks.file, { useTLS: t.options.useTLS }, function (e, n) { t.hooks.isInitialized() ? (t.changeState("initialized"), n(!0)) : (e && t.onError(e), t.onClose(), n(!1)); })) : t.onClose(); }, HTTPFactory: we, TimelineTransport: et, getXHRAPI: function () { return window.XMLHttpRequest; }, getWebSocketAPI: function () { return window.WebSocket || window.MozWebSocket; }, setup: function (t) { var e = this; window.Pusher = t; var n = function () { e.onDocumentBody(t.ready); }; window.JSON ? n() : u.load("json2", {}, n); }, getDocument: function () { return document; }, getProtocol: function () { return this.getDocument().location.protocol; }, getAuthorizers: function () { return { ajax: _, jsonp: K }; }, onDocumentBody: function (t) { var e = this; document.body ? t() : setTimeout(function () { e.onDocumentBody(t); }, 0); }, createJSONPRequest: function (t, e) { return new tt(t, e); }, createScriptRequest: function (t) { return new Z(t); }, getLocalStorage: function () { try { return window.localStorage; } catch (t) { return; } }, createXHR: function () { return this.getXHRAPI() ? this.createXMLHttpRequest() : this.createMicrosoftXHR(); }, createXMLHttpRequest: function () { return new (this.getXHRAPI())(); }, createMicrosoftXHR: function () { return new ActiveXObject("Microsoft.XMLHTTP"); }, getNetwork: function () { return Tt; }, createWebSocket: function (t) { return new (this.getWebSocketAPI())(t); }, createSocketRequest: function (t, e) { if (this.isXHRSupported()) return this.HTTPFactory.createXHR(t, e); if (this.isXDRSupported(0 === e.indexOf("https:"))) return this.HTTPFactory.createXDR(t, e); throw "Cross-origin HTTP requests are not supported"; }, isXHRSupported: function () { var t = this.getXHRAPI(); return Boolean(t) && void 0 !== new t().withCredentials; }, isXDRSupported: function (t) { var e = t ? "https:" : "http:", n = this.getProtocol(); return Boolean(window.XDomainRequest) && n === e; }, addUnloadListener: function (t) { void 0 !== window.addEventListener ? window.addEventListener("unload", t, !1) : void 0 !== window.attachEvent && window.attachEvent("onunload", t); }, removeUnloadListener: function (t) { void 0 !== window.addEventListener ? window.removeEventListener("unload", t, !1) : void 0 !== window.detachEvent && window.detachEvent("onunload", t); }, }; !(function (t) { (t[(t.ERROR = 3)] = "ERROR"), (t[(t.INFO = 6)] = "INFO"), (t[(t.DEBUG = 7)] = "DEBUG"); })(ye || (ye = {})); var Se = ye, ke = (function () { function t(t, e, n) { (this.key = t), (this.session = e), (this.events = []), (this.options = n || {}), (this.sent = 0), (this.uniqueID = 0); } return ( (t.prototype.log = function (t, e) { t <= this.options.level && (this.events.push(H({}, e, { timestamp: M.now() })), this.options.limit && this.events.length > this.options.limit && this.events.shift()); }), (t.prototype.error = function (t) { this.log(Se.ERROR, t); }), (t.prototype.info = function (t) { this.log(Se.INFO, t); }), (t.prototype.debug = function (t) { this.log(Se.DEBUG, t); }), (t.prototype.isEmpty = function () { return 0 === this.events.length; }), (t.prototype.send = function (t, e) { var n = this, o = H( { session: this.session, bundle: this.sent + 1, key: this.key, lib: "js", version: this.options.version, cluster: this.options.cluster, features: this.options.features, timeline: this.events }, this.options.params ); return ( (this.events = []), t(o, function (t, o) { t || n.sent++, e && e(t, o); }), !0 ); }), (t.prototype.generateUniqueID = function () { return this.uniqueID++, this.uniqueID; }), t ); })(), Ce = (function () { function t(t, e, n, o) { (this.name = t), (this.priority = e), (this.transport = n), (this.options = o || {}); } return ( (t.prototype.isSupported = function () { return this.transport.isSupported({ useTLS: this.options.useTLS }); }), (t.prototype.connect = function (t, e) { var n = this; if (!this.isSupported()) return Te(new m(), e); if (this.priority < t) return Te(new y(), e); var o = !1, r = this.transport.createConnection(this.name, this.priority, this.options.key, this.options), i = null, s = function () { r.unbind("initialized", s), r.connect(); }, c = function () { i = Qt.createHandshake(r, function (t) { (o = !0), h(), e(null, t); }); }, a = function (t) { h(), e(t); }, u = function () { var t; h(), (t = Y(r)), e(new g(t)); }, h = function () { r.unbind("initialized", s), r.unbind("open", c), r.unbind("error", a), r.unbind("closed", u); }; return ( r.bind("initialized", s), r.bind("open", c), r.bind("error", a), r.bind("closed", u), r.initialize(), { abort: function () { o || (h(), i ? i.close() : r.close()); }, forceMinPriority: function (t) { o || (n.priority < t && (i ? i.close() : r.close())); }, } ); }), t ); })(); function Te(t, e) { return ( M.defer(function () { e(t); }), { abort: function () {}, forceMinPriority: function () {} } ); } var Pe = _e.Transports, Oe = function (t, e, n, o, r, i) { var s, c = Pe[n]; if (!c) throw new b(n); return ( !((t.enabledTransports && -1 === B(t.enabledTransports, e)) || (t.disabledTransports && -1 !== B(t.disabledTransports, e))) ? ((r = Object.assign({ ignoreNullOrigin: t.ignoreNullOrigin }, r)), (s = new Ce(e, o, i ? i.getAssistant(c) : c, r))) : (s = Ee), s ); }, Ee = { isSupported: function () { return !1; }, connect: function (t, e) { var n = M.defer(function () { e(new m()); }); return { abort: function () { n.ensureAborted(); }, forceMinPriority: function () {}, }; }, }; function Le(t) { return t.httpHost ? t.httpHost : t.cluster ? "sockjs-" + t.cluster + ".pusher.com" : s.httpHost; } function xe(t) { return t.wsHost ? t.wsHost : t.cluster ? Ae(t.cluster) : Ae(s.cluster); } function Ae(t) { return "ws-" + t + ".pusher.com"; } function Re(t) { return "https:" === _e.getProtocol() || !1 !== t.forceTLS; } function je(t) { return "enableStats" in t ? t.enableStats : "disableStats" in t && !t.disableStats; } var De = (function () { function t(e, n) { var o, r, i = this; if ( ((function (t) { if (null == t) throw "You must pass your app key when you instantiate Pusher."; })(e), !(n = n || {}).cluster && !n.wsHost && !n.httpHost) ) { var c = p("javascriptQuickStart"); $.warn("You should always specify a cluster when connecting. " + c); } "disableStats" in n && $.warn("The disableStats option is deprecated in favor of enableStats"), (this.key = e), (this.config = ((r = { activityTimeout: (o = n).activityTimeout || s.activityTimeout, authEndpoint: o.authEndpoint || s.authEndpoint, authTransport: o.authTransport || s.authTransport, cluster: o.cluster || s.cluster, httpPath: o.httpPath || s.httpPath, httpPort: o.httpPort || s.httpPort, httpsPort: o.httpsPort || s.httpsPort, pongTimeout: o.pongTimeout || s.pongTimeout, statsHost: o.statsHost || s.stats_host, unavailableTimeout: o.unavailableTimeout || s.unavailableTimeout, wsPath: o.wsPath || s.wsPath, wsPort: o.wsPort || s.wsPort, wssPort: o.wssPort || s.wssPort, enableStats: je(o), httpHost: Le(o), useTLS: Re(o), wsHost: xe(o), }), "auth" in o && (r.auth = o.auth), "authorizer" in o && (r.authorizer = o.authorizer), "disabledTransports" in o && (r.disabledTransports = o.disabledTransports), "enabledTransports" in o && (r.enabledTransports = o.enabledTransports), "ignoreNullOrigin" in o && (r.ignoreNullOrigin = o.ignoreNullOrigin), "timelineParams" in o && (r.timelineParams = o.timelineParams), "nacl" in o && (r.nacl = o.nacl), r)), (this.channels = Qt.createChannels()), (this.global_emitter = new ut()), (this.sessionID = Math.floor(1e9 * Math.random())), (this.timeline = new ke(this.key, this.sessionID, { cluster: this.config.cluster, features: t.getClientFeatures(), params: this.config.timelineParams || {}, limit: 50, level: Se.INFO, version: s.VERSION })), this.config.enableStats && (this.timelineSender = Qt.createTimelineSender(this.timeline, { host: this.config.statsHost, path: "/timeline/v2/" + _e.TimelineTransport.name })); (this.connection = Qt.createConnectionManager(this.key, { getStrategy: function (t) { return _e.getDefaultStrategy(i.config, t, Oe); }, timeline: this.timeline, activityTimeout: this.config.activityTimeout, pongTimeout: this.config.pongTimeout, unavailableTimeout: this.config.unavailableTimeout, useTLS: Boolean(this.config.useTLS), })), this.connection.bind("connected", function () { i.subscribeAll(), i.timelineSender && i.timelineSender.send(i.connection.isUsingTLS()); }), this.connection.bind("message", function (t) { var e = 0 === t.event.indexOf("pusher_internal:"); if (t.channel) { var n = i.channel(t.channel); n && n.handleEvent(t); } e || i.global_emitter.emit(t.event, t.data); }), this.connection.bind("connecting", function () { i.channels.disconnect(); }), this.connection.bind("disconnected", function () { i.channels.disconnect(); }), this.connection.bind("error", function (t) { $.warn(t); }), t.instances.push(this), this.timeline.info({ instances: t.instances.length }), t.isReady && this.connect(); } return ( (t.ready = function () { t.isReady = !0; for (var e = 0, n = t.instances.length; e < n; e++) t.instances[e].connect(); }), (t.getClientFeatures = function () { return U( W({ ws: _e.Transports.ws }, function (t) { return t.isSupported({}); }) ); }), (t.prototype.channel = function (t) { return this.channels.find(t); }), (t.prototype.allChannels = function () { return this.channels.all(); }), (t.prototype.connect = function () { if ((this.connection.connect(), this.timelineSender && !this.timelineSenderTimer)) { var t = this.connection.isUsingTLS(), e = this.timelineSender; this.timelineSenderTimer = new N(6e4, function () { e.send(t); }); } }), (t.prototype.disconnect = function () { this.connection.disconnect(), this.timelineSenderTimer && (this.timelineSenderTimer.ensureAborted(), (this.timelineSenderTimer = null)); }), (t.prototype.bind = function (t, e, n) { return this.global_emitter.bind(t, e, n), this; }), (t.prototype.unbind = function (t, e, n) { return this.global_emitter.unbind(t, e, n), this; }), (t.prototype.bind_global = function (t) { return this.global_emitter.bind_global(t), this; }), (t.prototype.unbind_global = function (t) { return this.global_emitter.unbind_global(t), this; }), (t.prototype.unbind_all = function (t) { return this.global_emitter.unbind_all(), this; }), (t.prototype.subscribeAll = function () { var t; for (t in this.channels.channels) this.channels.channels.hasOwnProperty(t) && this.subscribe(t); }), (t.prototype.subscribe = function (t) { var e = this.channels.add(t, this); return e.subscriptionPending && e.subscriptionCancelled ? e.reinstateSubscription() : e.subscriptionPending || "connected" !== this.connection.state || e.subscribe(), e; }), (t.prototype.unsubscribe = function (t) { var e = this.channels.find(t); e && e.subscriptionPending ? e.cancelSubscription() : (e = this.channels.remove(t)) && e.subscribed && e.unsubscribe(); }), (t.prototype.send_event = function (t, e, n) { return this.connection.send_event(t, e, n); }), (t.prototype.shouldUseTLS = function () { return this.config.useTLS; }), (t.instances = []), (t.isReady = !1), (t.logToConsole = !1), (t.Runtime = _e), (t.ScriptReceivers = _e.ScriptReceivers), (t.DependenciesReceivers = _e.DependenciesReceivers), (t.auth_callbacks = _e.auth_callbacks), t ); })(), Ie = (e.default = De); _e.setup(De); }, ]); }); //# sourceMappingURL=pusher.min.js.map