From c9676b9c1240fd2c78e5ec1d3e8bde6e5178389a Mon Sep 17 00:00:00 2001 From: wong2 Date: Mon, 10 Jul 2023 14:18:22 +0800 Subject: [PATCH 001/367] Generate arkose token on client --- .../api.js | 2443 +++++++++++++++++ .../bots/chatgpt-webapp/arkose/generator.js | 56 + src/app/bots/chatgpt-webapp/arkose/index.ts | 10 + .../{arkose.ts => arkose/server.ts} | 0 src/app/bots/chatgpt-webapp/index.ts | 4 +- 5 files changed, 2511 insertions(+), 2 deletions(-) create mode 100644 public/js/v2/35536E1E-65B4-4D96-9D97-6ADB7EFF8147/api.js create mode 100644 src/app/bots/chatgpt-webapp/arkose/generator.js create mode 100644 src/app/bots/chatgpt-webapp/arkose/index.ts rename src/app/bots/chatgpt-webapp/{arkose.ts => arkose/server.ts} (100%) diff --git a/public/js/v2/35536E1E-65B4-4D96-9D97-6ADB7EFF8147/api.js b/public/js/v2/35536E1E-65B4-4D96-9D97-6ADB7EFF8147/api.js new file mode 100644 index 00000000..eab5a313 --- /dev/null +++ b/public/js/v2/35536E1E-65B4-4D96-9D97-6ADB7EFF8147/api.js @@ -0,0 +1,2443 @@ +/* eslint-disable */ +var arkoseLabsClientApid975905a; +! function() { + var e = { + 6857: function(e, t) { + "use strict"; + t.N = void 0; + var n = /^([^\w]*)(javascript|data|vbscript)/im, + r = /&#(\w+)(^\w|;)?/g, + o = /&tab;/gi, + i = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim, + a = /^.+(:|:)/gim, + c = [".", "/"]; + t.N = function(e) { + var t, s = (t = e || "", (t = t.replace(o, " ")).replace(r, (function(e, t) { + return String.fromCharCode(t) + }))).replace(i, "").trim(); + if (!s) return "about:blank"; + if (function(e) { + return c.indexOf(e[0]) > -1 + }(s)) return s; + var u = s.match(a); + if (!u) return s; + var l = u[0]; + return n.test(l) ? "about:blank" : s + } + }, + 7064: function(e, t, n) { + var r; + + function o(e) { + return o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, o(e) + }! function() { + "use strict"; + var i = {}.hasOwnProperty; + + function a() { + for (var e = [], t = 0; t < arguments.length; t++) { + var n = arguments[t]; + if (n) { + var r = o(n); + if ("string" === r || "number" === r) e.push(n); + else if (Array.isArray(n)) { + if (n.length) { + var c = a.apply(null, n); + c && e.push(c) + } + } else if ("object" === r) + if (n.toString === Object.prototype.toString) + for (var s in n) i.call(n, s) && n[s] && e.push(s); + else e.push(n.toString()) + } + } + return e.join(" ") + } + e.exports ? (a.default = a, e.exports = a) : "object" === o(n.amdO) && n.amdO ? void 0 === (r = function() { + return a + }.apply(t, [])) || (e.exports = r) : window.classNames = a + }() + }, + 8814: function(e) { + "use strict"; + e.exports = function(e) { + var t = []; + return t.toString = function() { + return this.map((function(t) { + var n = "", + r = void 0 !== t[5]; + return t[4] && (n += "@supports (".concat(t[4], ") {")), t[2] && (n += "@media ".concat(t[2], " {")), r && (n += "@layer".concat(t[5].length > 0 ? " ".concat(t[5]) : "", " {")), n += e(t), r && (n += "}"), t[2] && (n += "}"), t[4] && (n += "}"), n + })).join("") + }, t.i = function(e, n, r, o, i) { + "string" == typeof e && (e = [ + [null, e, void 0] + ]); + var a = {}; + if (r) + for (var c = 0; c < this.length; c++) { + var s = this[c][0]; + null != s && (a[s] = !0) + } + for (var u = 0; u < e.length; u++) { + var l = [].concat(e[u]); + r && a[l[0]] || (void 0 !== i && (void 0 === l[5] || (l[1] = "@layer".concat(l[5].length > 0 ? " ".concat(l[5]) : "", " {").concat(l[1], "}")), l[5] = i), n && (l[2] ? (l[1] = "@media ".concat(l[2], " {").concat(l[1], "}"), l[2] = n) : l[2] = n), o && (l[4] ? (l[1] = "@supports (".concat(l[4], ") {").concat(l[1], "}"), l[4] = o) : l[4] = "".concat(o)), t.push(l)) + } + }, t + } + }, + 7009: function(e) { + "use strict"; + e.exports = function(e) { + return e[1] + } + }, + 8492: function(e, t, n) { + var r, o, i; + ! function(a, c) { + "use strict"; + o = [n(1855)], void 0 === (i = "function" == typeof(r = function(e) { + var t = /(^|@)\S+:\d+/, + n = /^\s*at .*(\S+:\d+|\(native\))/m, + r = /^(eval@)?(\[native code])?$/; + return { + parse: function(e) { + if (void 0 !== e.stacktrace || void 0 !== e["opera#sourceloc"]) return this.parseOpera(e); + if (e.stack && e.stack.match(n)) return this.parseV8OrIE(e); + if (e.stack) return this.parseFFOrSafari(e); + throw new Error("Cannot parse given Error object") + }, + extractLocation: function(e) { + if (-1 === e.indexOf(":")) return [e]; + var t = /(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g, "")); + return [t[1], t[2] || void 0, t[3] || void 0] + }, + parseV8OrIE: function(t) { + return t.stack.split("\n").filter((function(e) { + return !!e.match(n) + }), this).map((function(t) { + t.indexOf("(eval ") > -1 && (t = t.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, "")); + var n = t.replace(/^\s+/, "").replace(/\(eval code/g, "(").replace(/^.*?\s+/, ""), + r = n.match(/ (\(.+\)$)/); + n = r ? n.replace(r[0], "") : n; + var o = this.extractLocation(r ? r[1] : n), + i = r && n || void 0, + a = ["eval", ""].indexOf(o[0]) > -1 ? void 0 : o[0]; + return new e({ + functionName: i, + fileName: a, + lineNumber: o[1], + columnNumber: o[2], + source: t + }) + }), this) + }, + parseFFOrSafari: function(t) { + return t.stack.split("\n").filter((function(e) { + return !e.match(r) + }), this).map((function(t) { + if (t.indexOf(" > eval") > -1 && (t = t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1")), -1 === t.indexOf("@") && -1 === t.indexOf(":")) return new e({ + functionName: t + }); + var n = /((.*".+"[^@]*)?[^@]*)(?:@)/, + r = t.match(n), + o = r && r[1] ? r[1] : void 0, + i = this.extractLocation(t.replace(n, "")); + return new e({ + functionName: o, + fileName: i[0], + lineNumber: i[1], + columnNumber: i[2], + source: t + }) + }), this) + }, + parseOpera: function(e) { + return !e.stacktrace || e.message.indexOf("\n") > -1 && e.message.split("\n").length > e.stacktrace.split("\n").length ? this.parseOpera9(e) : e.stack ? this.parseOpera11(e) : this.parseOpera10(e) + }, + parseOpera9: function(t) { + for (var n = /Line (\d+).*script (?:in )?(\S+)/i, r = t.message.split("\n"), o = [], i = 2, a = r.length; i < a; i += 2) { + var c = n.exec(r[i]); + c && o.push(new e({ + fileName: c[2], + lineNumber: c[1], + source: r[i] + })) + } + return o + }, + parseOpera10: function(t) { + for (var n = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i, r = t.stacktrace.split("\n"), o = [], i = 0, a = r.length; i < a; i += 2) { + var c = n.exec(r[i]); + c && o.push(new e({ + functionName: c[3] || void 0, + fileName: c[2], + lineNumber: c[1], + source: r[i] + })) + } + return o + }, + parseOpera11: function(n) { + return n.stack.split("\n").filter((function(e) { + return !!e.match(t) && !e.match(/^Error created at/) + }), this).map((function(t) { + var n, r = t.split("@"), + o = this.extractLocation(r.pop()), + i = r.shift() || "", + a = i.replace(//, "$2").replace(/\([^)]*\)/g, "") || void 0; + i.match(/\(([^)]*)\)/) && (n = i.replace(/^[^(]+\(([^)]*)\)$/, "$1")); + var c = void 0 === n || "[arguments not available]" === n ? void 0 : n.split(","); + return new e({ + functionName: a, + args: c, + fileName: o[0], + lineNumber: o[1], + columnNumber: o[2], + source: t + }) + }), this) + } + } + }) ? r.apply(t, o) : r) || (e.exports = i) + }() + }, + 5990: function(e) { + "use strict"; + var t = Object.prototype.hasOwnProperty, + n = "~"; + + function r() {} + + function o(e, t, n) { + this.fn = e, this.context = t, this.once = n || !1 + } + + function i(e, t, r, i, a) { + if ("function" != typeof r) throw new TypeError("The listener must be a function"); + var c = new o(r, i || e, a), + s = n ? n + t : t; + return e._events[s] ? e._events[s].fn ? e._events[s] = [e._events[s], c] : e._events[s].push(c) : (e._events[s] = c, e._eventsCount++), e + } + + function a(e, t) { + 0 == --e._eventsCount ? e._events = new r : delete e._events[t] + } + + function c() { + this._events = new r, this._eventsCount = 0 + } + Object.create && (r.prototype = Object.create(null), (new r).__proto__ || (n = !1)), c.prototype.eventNames = function() { + var e, r, o = []; + if (0 === this._eventsCount) return o; + for (r in e = this._events) t.call(e, r) && o.push(n ? r.slice(1) : r); + return Object.getOwnPropertySymbols ? o.concat(Object.getOwnPropertySymbols(e)) : o + }, c.prototype.listeners = function(e) { + var t = n ? n + e : e, + r = this._events[t]; + if (!r) return []; + if (r.fn) return [r.fn]; + for (var o = 0, i = r.length, a = new Array(i); o < i; o++) a[o] = r[o].fn; + return a + }, c.prototype.listenerCount = function(e) { + var t = n ? n + e : e, + r = this._events[t]; + return r ? r.fn ? 1 : r.length : 0 + }, c.prototype.emit = function(e, t, r, o, i, a) { + var c = n ? n + e : e; + if (!this._events[c]) return !1; + var s, u, l = this._events[c], + f = arguments.length; + if (l.fn) { + switch (l.once && this.removeListener(e, l.fn, void 0, !0), f) { + case 1: + return l.fn.call(l.context), !0; + case 2: + return l.fn.call(l.context, t), !0; + case 3: + return l.fn.call(l.context, t, r), !0; + case 4: + return l.fn.call(l.context, t, r, o), !0; + case 5: + return l.fn.call(l.context, t, r, o, i), !0; + case 6: + return l.fn.call(l.context, t, r, o, i, a), !0 + } + for (u = 1, s = new Array(f - 1); u < f; u++) s[u - 1] = arguments[u]; + l.fn.apply(l.context, s) + } else { + var p, d = l.length; + for (u = 0; u < d; u++) switch (l[u].once && this.removeListener(e, l[u].fn, void 0, !0), f) { + case 1: + l[u].fn.call(l[u].context); + break; + case 2: + l[u].fn.call(l[u].context, t); + break; + case 3: + l[u].fn.call(l[u].context, t, r); + break; + case 4: + l[u].fn.call(l[u].context, t, r, o); + break; + default: + if (!s) + for (p = 1, s = new Array(f - 1); p < f; p++) s[p - 1] = arguments[p]; + l[u].fn.apply(l[u].context, s) + } + } + return !0 + }, c.prototype.on = function(e, t, n) { + return i(this, e, t, n, !1) + }, c.prototype.once = function(e, t, n) { + return i(this, e, t, n, !0) + }, c.prototype.removeListener = function(e, t, r, o) { + var i = n ? n + e : e; + if (!this._events[i]) return this; + if (!t) return a(this, i), this; + var c = this._events[i]; + if (c.fn) c.fn !== t || o && !c.once || r && c.context !== r || a(this, i); + else { + for (var s = 0, u = [], l = c.length; s < l; s++)(c[s].fn !== t || o && !c[s].once || r && c[s].context !== r) && u.push(c[s]); + u.length ? this._events[i] = 1 === u.length ? u[0] : u : a(this, i) + } + return this + }, c.prototype.removeAllListeners = function(e) { + var t; + return e ? (t = n ? n + e : e, this._events[t] && a(this, t)) : (this._events = new r, this._eventsCount = 0), this + }, c.prototype.off = c.prototype.removeListener, c.prototype.addListener = c.prototype.on, c.prefixed = n, c.EventEmitter = c, e.exports = c + }, + 2585: function(e, t, n) { + function r(e) { + return r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, r(e) + } + e = n.nmd(e); + var o = 200, + i = "__lodash_hash_undefined__", + a = 9007199254740991, + c = "[object Arguments]", + s = "[object Boolean]", + u = "[object Date]", + l = "[object Function]", + f = "[object GeneratorFunction]", + p = "[object Map]", + d = "[object Number]", + v = "[object Object]", + y = "[object Promise]", + h = "[object RegExp]", + m = "[object Set]", + b = "[object String]", + g = "[object Symbol]", + w = "[object WeakMap]", + O = "[object ArrayBuffer]", + S = "[object DataView]", + j = "[object Float32Array]", + x = "[object Float64Array]", + E = "[object Int8Array]", + _ = "[object Int16Array]", + k = "[object Int32Array]", + A = "[object Uint8Array]", + P = "[object Uint8ClampedArray]", + C = "[object Uint16Array]", + T = "[object Uint32Array]", + N = /\w*$/, + R = /^\[object .+?Constructor\]$/, + L = /^(?:0|[1-9]\d*)$/, + I = {}; + I[c] = I["[object Array]"] = I[O] = I[S] = I[s] = I[u] = I[j] = I[x] = I[E] = I[_] = I[k] = I[p] = I[d] = I[v] = I[h] = I[m] = I[b] = I[g] = I[A] = I[P] = I[C] = I[T] = !0, I["[object Error]"] = I[l] = I[w] = !1; + var K = "object" == (void 0 === n.g ? "undefined" : r(n.g)) && n.g && n.g.Object === Object && n.g, + D = "object" == ("undefined" == typeof self ? "undefined" : r(self)) && self && self.Object === Object && self, + F = K || D || Function("return this")(), + M = "object" == r(t) && t && !t.nodeType && t, + H = M && "object" == r(e) && e && !e.nodeType && e, + q = H && H.exports === M; + + function $(e, t) { + return e.set(t[0], t[1]), e + } + + function z(e, t) { + return e.add(t), e + } + + function V(e, t, n, r) { + var o = -1, + i = e ? e.length : 0; + for (r && i && (n = e[++o]); ++o < i;) n = t(n, e[o], o, e); + return n + } + + function W(e) { + var t = !1; + if (null != e && "function" != typeof e.toString) try { + t = !!(e + "") + } catch (e) {} + return t + } + + function U(e) { + var t = -1, + n = Array(e.size); + return e.forEach((function(e, r) { + n[++t] = [r, e] + })), n + } + + function G(e, t) { + return function(n) { + return e(t(n)) + } + } + + function X(e) { + var t = -1, + n = Array(e.size); + return e.forEach((function(e) { + n[++t] = e + })), n + } + var B, Z = Array.prototype, + J = Function.prototype, + Q = Object.prototype, + Y = F["__core-js_shared__"], + ee = (B = /[^.]+$/.exec(Y && Y.keys && Y.keys.IE_PROTO || "")) ? "Symbol(src)_1." + B : "", + te = J.toString, + ne = Q.hasOwnProperty, + re = Q.toString, + oe = RegExp("^" + te.call(ne).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"), + ie = q ? F.Buffer : void 0, + ae = F.Symbol, + ce = F.Uint8Array, + se = G(Object.getPrototypeOf, Object), + ue = Object.create, + le = Q.propertyIsEnumerable, + fe = Z.splice, + pe = Object.getOwnPropertySymbols, + de = ie ? ie.isBuffer : void 0, + ve = G(Object.keys, Object), + ye = He(F, "DataView"), + he = He(F, "Map"), + me = He(F, "Promise"), + be = He(F, "Set"), + ge = He(F, "WeakMap"), + we = He(Object, "create"), + Oe = We(ye), + Se = We(he), + je = We(me), + xe = We(be), + Ee = We(ge), + _e = ae ? ae.prototype : void 0, + ke = _e ? _e.valueOf : void 0; + + function Ae(e) { + var t = -1, + n = e ? e.length : 0; + for (this.clear(); ++t < n;) { + var r = e[t]; + this.set(r[0], r[1]) + } + } + + function Pe(e) { + var t = -1, + n = e ? e.length : 0; + for (this.clear(); ++t < n;) { + var r = e[t]; + this.set(r[0], r[1]) + } + } + + function Ce(e) { + var t = -1, + n = e ? e.length : 0; + for (this.clear(); ++t < n;) { + var r = e[t]; + this.set(r[0], r[1]) + } + } + + function Te(e) { + this.__data__ = new Pe(e) + } + + function Ne(e, t) { + var n = Ge(e) || function(e) { + return function(e) { + return function(e) { + return !!e && "object" == r(e) + }(e) && Xe(e) + }(e) && ne.call(e, "callee") && (!le.call(e, "callee") || re.call(e) == c) + }(e) ? function(e, t) { + for (var n = -1, r = Array(e); ++n < e;) r[n] = t(n); + return r + }(e.length, String) : [], + o = n.length, + i = !!o; + for (var a in e) !t && !ne.call(e, a) || i && ("length" == a || ze(a, o)) || n.push(a); + return n + } + + function Re(e, t, n) { + var r = e[t]; + ne.call(e, t) && Ue(r, n) && (void 0 !== n || t in e) || (e[t] = n) + } + + function Le(e, t) { + for (var n = e.length; n--;) + if (Ue(e[n][0], t)) return n; + return -1 + } + + function Ie(e, t, n, r, o, i, a) { + var y; + if (r && (y = i ? r(e, o, i, a) : r(e)), void 0 !== y) return y; + if (!Je(e)) return e; + var w = Ge(e); + if (w) { + if (y = function(e) { + var t = e.length, + n = e.constructor(t); + t && "string" == typeof e[0] && ne.call(e, "index") && (n.index = e.index, n.input = e.input); + return n + }(e), !t) return function(e, t) { + var n = -1, + r = e.length; + t || (t = Array(r)); + for (; ++n < r;) t[n] = e[n]; + return t + }(e, y) + } else { + var R = $e(e), + L = R == l || R == f; + if (Be(e)) return function(e, t) { + if (t) return e.slice(); + var n = new e.constructor(e.length); + return e.copy(n), n + }(e, t); + if (R == v || R == c || L && !i) { + if (W(e)) return i ? e : {}; + if (y = function(e) { + return "function" != typeof e.constructor || Ve(e) ? {} : (t = se(e), Je(t) ? ue(t) : {}); + var t + }(L ? {} : e), !t) return function(e, t) { + return Fe(e, qe(e), t) + }(e, function(e, t) { + return e && Fe(t, Qe(t), e) + }(y, e)) + } else { + if (!I[R]) return i ? e : {}; + y = function(e, t, n, r) { + var o = e.constructor; + switch (t) { + case O: + return De(e); + case s: + case u: + return new o(+e); + case S: + return function(e, t) { + var n = t ? De(e.buffer) : e.buffer; + return new e.constructor(n, e.byteOffset, e.byteLength) + }(e, r); + case j: + case x: + case E: + case _: + case k: + case A: + case P: + case C: + case T: + return function(e, t) { + var n = t ? De(e.buffer) : e.buffer; + return new e.constructor(n, e.byteOffset, e.length) + }(e, r); + case p: + return function(e, t, n) { + var r = t ? n(U(e), !0) : U(e); + return V(r, $, new e.constructor) + }(e, r, n); + case d: + case b: + return new o(e); + case h: + return function(e) { + var t = new e.constructor(e.source, N.exec(e)); + return t.lastIndex = e.lastIndex, t + }(e); + case m: + return function(e, t, n) { + var r = t ? n(X(e), !0) : X(e); + return V(r, z, new e.constructor) + }(e, r, n); + case g: + return i = e, ke ? Object(ke.call(i)) : {} + } + var i + }(e, R, Ie, t) + } + } + a || (a = new Te); + var K = a.get(e); + if (K) return K; + if (a.set(e, y), !w) var D = n ? function(e) { + return function(e, t, n) { + var r = t(e); + return Ge(e) ? r : function(e, t) { + for (var n = -1, r = t.length, o = e.length; ++n < r;) e[o + n] = t[n]; + return e + }(r, n(e)) + }(e, Qe, qe) + }(e) : Qe(e); + return function(e, t) { + for (var n = -1, r = e ? e.length : 0; ++n < r && !1 !== t(e[n], n, e);); + }(D || e, (function(o, i) { + D && (o = e[i = o]), Re(y, i, Ie(o, t, n, r, i, e, a)) + })), y + } + + function Ke(e) { + return !(!Je(e) || (t = e, ee && ee in t)) && (Ze(e) || W(e) ? oe : R).test(We(e)); + var t + } + + function De(e) { + var t = new e.constructor(e.byteLength); + return new ce(t).set(new ce(e)), t + } + + function Fe(e, t, n, r) { + n || (n = {}); + for (var o = -1, i = t.length; ++o < i;) { + var a = t[o], + c = r ? r(n[a], e[a], a, n, e) : void 0; + Re(n, a, void 0 === c ? e[a] : c) + } + return n + } + + function Me(e, t) { + var n, o, i = e.__data__; + return ("string" == (o = r(n = t)) || "number" == o || "symbol" == o || "boolean" == o ? "__proto__" !== n : null === n) ? i["string" == typeof t ? "string" : "hash"] : i.map + } + + function He(e, t) { + var n = function(e, t) { + return null == e ? void 0 : e[t] + }(e, t); + return Ke(n) ? n : void 0 + } + Ae.prototype.clear = function() { + this.__data__ = we ? we(null) : {} + }, Ae.prototype.delete = function(e) { + return this.has(e) && delete this.__data__[e] + }, Ae.prototype.get = function(e) { + var t = this.__data__; + if (we) { + var n = t[e]; + return n === i ? void 0 : n + } + return ne.call(t, e) ? t[e] : void 0 + }, Ae.prototype.has = function(e) { + var t = this.__data__; + return we ? void 0 !== t[e] : ne.call(t, e) + }, Ae.prototype.set = function(e, t) { + return this.__data__[e] = we && void 0 === t ? i : t, this + }, Pe.prototype.clear = function() { + this.__data__ = [] + }, Pe.prototype.delete = function(e) { + var t = this.__data__, + n = Le(t, e); + return !(n < 0) && (n == t.length - 1 ? t.pop() : fe.call(t, n, 1), !0) + }, Pe.prototype.get = function(e) { + var t = this.__data__, + n = Le(t, e); + return n < 0 ? void 0 : t[n][1] + }, Pe.prototype.has = function(e) { + return Le(this.__data__, e) > -1 + }, Pe.prototype.set = function(e, t) { + var n = this.__data__, + r = Le(n, e); + return r < 0 ? n.push([e, t]) : n[r][1] = t, this + }, Ce.prototype.clear = function() { + this.__data__ = { + hash: new Ae, + map: new(he || Pe), + string: new Ae + } + }, Ce.prototype.delete = function(e) { + return Me(this, e).delete(e) + }, Ce.prototype.get = function(e) { + return Me(this, e).get(e) + }, Ce.prototype.has = function(e) { + return Me(this, e).has(e) + }, Ce.prototype.set = function(e, t) { + return Me(this, e).set(e, t), this + }, Te.prototype.clear = function() { + this.__data__ = new Pe + }, Te.prototype.delete = function(e) { + return this.__data__.delete(e) + }, Te.prototype.get = function(e) { + return this.__data__.get(e) + }, Te.prototype.has = function(e) { + return this.__data__.has(e) + }, Te.prototype.set = function(e, t) { + var n = this.__data__; + if (n instanceof Pe) { + var r = n.__data__; + if (!he || r.length < o - 1) return r.push([e, t]), this; + n = this.__data__ = new Ce(r) + } + return n.set(e, t), this + }; + var qe = pe ? G(pe, Object) : function() { + return [] + }, + $e = function(e) { + return re.call(e) + }; + + function ze(e, t) { + return !!(t = null == t ? a : t) && ("number" == typeof e || L.test(e)) && e > -1 && e % 1 == 0 && e < t + } + + function Ve(e) { + var t = e && e.constructor; + return e === ("function" == typeof t && t.prototype || Q) + } + + function We(e) { + if (null != e) { + try { + return te.call(e) + } catch (e) {} + try { + return e + "" + } catch (e) {} + } + return "" + } + + function Ue(e, t) { + return e === t || e != e && t != t + }(ye && $e(new ye(new ArrayBuffer(1))) != S || he && $e(new he) != p || me && $e(me.resolve()) != y || be && $e(new be) != m || ge && $e(new ge) != w) && ($e = function(e) { + var t = re.call(e), + n = t == v ? e.constructor : void 0, + r = n ? We(n) : void 0; + if (r) switch (r) { + case Oe: + return S; + case Se: + return p; + case je: + return y; + case xe: + return m; + case Ee: + return w + } + return t + }); + var Ge = Array.isArray; + + function Xe(e) { + return null != e && function(e) { + return "number" == typeof e && e > -1 && e % 1 == 0 && e <= a + }(e.length) && !Ze(e) + } + var Be = de || function() { + return !1 + }; + + function Ze(e) { + var t = Je(e) ? re.call(e) : ""; + return t == l || t == f + } + + function Je(e) { + var t = r(e); + return !!e && ("object" == t || "function" == t) + } + + function Qe(e) { + return Xe(e) ? Ne(e) : function(e) { + if (!Ve(e)) return ve(e); + var t = []; + for (var n in Object(e)) ne.call(e, n) && "constructor" != n && t.push(n); + return t + }(e) + } + e.exports = function(e) { + return Ie(e, !0, !0) + } + }, + 1855: function(e, t) { + var n, r, o; + ! function(i, a) { + "use strict"; + r = [], void 0 === (o = "function" == typeof(n = function() { + function e(e) { + return !isNaN(parseFloat(e)) && isFinite(e) + } + + function t(e) { + return e.charAt(0).toUpperCase() + e.substring(1) + } + + function n(e) { + return function() { + return this[e] + } + } + var r = ["isConstructor", "isEval", "isNative", "isToplevel"], + o = ["columnNumber", "lineNumber"], + i = ["fileName", "functionName", "source"], + a = ["args"], + c = ["evalOrigin"], + s = r.concat(o, i, a, c); + + function u(e) { + if (e) + for (var n = 0; n < s.length; n++) void 0 !== e[s[n]] && this["set" + t(s[n])](e[s[n]]) + } + u.prototype = { + getArgs: function() { + return this.args + }, + setArgs: function(e) { + if ("[object Array]" !== Object.prototype.toString.call(e)) throw new TypeError("Args must be an Array"); + this.args = e + }, + getEvalOrigin: function() { + return this.evalOrigin + }, + setEvalOrigin: function(e) { + if (e instanceof u) this.evalOrigin = e; + else { + if (!(e instanceof Object)) throw new TypeError("Eval Origin must be an Object or StackFrame"); + this.evalOrigin = new u(e) + } + }, + toString: function() { + var e = this.getFileName() || "", + t = this.getLineNumber() || "", + n = this.getColumnNumber() || "", + r = this.getFunctionName() || ""; + return this.getIsEval() ? e ? "[eval] (" + e + ":" + t + ":" + n + ")" : "[eval]:" + t + ":" + n : r ? r + " (" + e + ":" + t + ":" + n + ")" : e + ":" + t + ":" + n + } + }, u.fromString = function(e) { + var t = e.indexOf("("), + n = e.lastIndexOf(")"), + r = e.substring(0, t), + o = e.substring(t + 1, n).split(","), + i = e.substring(n + 1); + if (0 === i.indexOf("@")) var a = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(i, ""), + c = a[1], + s = a[2], + l = a[3]; + return new u({ + functionName: r, + args: o || void 0, + fileName: c, + lineNumber: s || void 0, + columnNumber: l || void 0 + }) + }; + for (var l = 0; l < r.length; l++) u.prototype["get" + t(r[l])] = n(r[l]), u.prototype["set" + t(r[l])] = function(e) { + return function(t) { + this[e] = Boolean(t) + } + }(r[l]); + for (var f = 0; f < o.length; f++) u.prototype["get" + t(o[f])] = n(o[f]), u.prototype["set" + t(o[f])] = function(t) { + return function(n) { + if (!e(n)) throw new TypeError(t + " must be a Number"); + this[t] = Number(n) + } + }(o[f]); + for (var p = 0; p < i.length; p++) u.prototype["get" + t(i[p])] = n(i[p]), u.prototype["set" + t(i[p])] = function(e) { + return function(t) { + this[e] = String(t) + } + }(i[p]); + return u + }) ? n.apply(t, r) : n) || (e.exports = o) + }() + }, + 5941: function() { + Element.prototype.matches || (Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector), Element.prototype.closest || (Element.prototype.closest = function(e) { + var t = this; + do { + if (Element.prototype.matches.call(t, e)) return t; + t = t.parentElement || t.parentNode + } while (null !== t && 1 === t.nodeType); + return null + }) + }, + 3482: function(e, t, n) { + "use strict"; + var r = n(7009), + o = n.n(r), + i = n(8814), + a = n.n(i)()(o()); + a.push([e.id, ".r34K7X1zGgAi6DllVF3T{box-sizing:border-box;border:0;margin:0;padding:0;overflow:hidden;display:none;z-index:2147483647;pointer-events:none;visibility:hidden;opacity:0;transition:opacity 300ms linear;height:0;width:0}.r34K7X1zGgAi6DllVF3T.active{display:block;visibility:visible}.r34K7X1zGgAi6DllVF3T.active.show{opacity:1;pointer-events:inherit;position:inherit}.r34K7X1zGgAi6DllVF3T.active.show.in-situ{width:inherit;height:inherit}.r34K7X1zGgAi6DllVF3T.active.show.lightbox{position:fixed;width:100% !important;height:100% !important;top:0;right:0;bottom:0;left:0}@-moz-document url-prefix(''){.r34K7X1zGgAi6DllVF3T{visibility:visible;display:block}}\n", ""]), a.locals = { + container: "r34K7X1zGgAi6DllVF3T" + }, t.Z = a + }, + 3379: function(e) { + "use strict"; + var t = []; + + function n(e) { + for (var n = -1, r = 0; r < t.length; r++) + if (t[r].identifier === e) { + n = r; + break + } return n + } + + function r(e, r) { + for (var i = {}, a = [], c = 0; c < e.length; c++) { + var s = e[c], + u = r.base ? s[0] + r.base : s[0], + l = i[u] || 0, + f = "".concat(u, " ").concat(l); + i[u] = l + 1; + var p = n(f), + d = { + css: s[1], + media: s[2], + sourceMap: s[3], + supports: s[4], + layer: s[5] + }; + if (-1 !== p) t[p].references++, t[p].updater(d); + else { + var v = o(d, r); + r.byIndex = c, t.splice(c, 0, { + identifier: f, + updater: v, + references: 1 + }) + } + a.push(f) + } + return a + } + + function o(e, t) { + var n = t.domAPI(t); + n.update(e); + return function(t) { + if (t) { + if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap && t.supports === e.supports && t.layer === e.layer) return; + n.update(e = t) + } else n.remove() + } + } + e.exports = function(e, o) { + var i = r(e = e || [], o = o || {}); + return function(e) { + e = e || []; + for (var a = 0; a < i.length; a++) { + var c = n(i[a]); + t[c].references-- + } + for (var s = r(e, o), u = 0; u < i.length; u++) { + var l = n(i[u]); + 0 === t[l].references && (t[l].updater(), t.splice(l, 1)) + } + i = s + } + } + }, + 569: function(e) { + "use strict"; + var t = {}; + e.exports = function(e, n) { + var r = function(e) { + if (void 0 === t[e]) { + var n = document.querySelector(e); + if (window.HTMLIFrameElement && n instanceof window.HTMLIFrameElement) try { + n = n.contentDocument.head + } catch (e) { + n = null + } + t[e] = n + } + return t[e] + }(e); + if (!r) throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); + r.appendChild(n) + } + }, + 9216: function(e) { + "use strict"; + e.exports = function(e) { + var t = document.createElement("style"); + return e.setAttributes(t, e.attributes), e.insert(t, e.options), t + } + }, + 3565: function(e, t, n) { + "use strict"; + e.exports = function(e) { + var t = n.nc; + t && e.setAttribute("nonce", t) + } + }, + 7795: function(e) { + "use strict"; + e.exports = function(e) { + var t = e.insertStyleElement(e); + return { + update: function(n) { + ! function(e, t, n) { + var r = ""; + n.supports && (r += "@supports (".concat(n.supports, ") {")), n.media && (r += "@media ".concat(n.media, " {")); + var o = void 0 !== n.layer; + o && (r += "@layer".concat(n.layer.length > 0 ? " ".concat(n.layer) : "", " {")), r += n.css, o && (r += "}"), n.media && (r += "}"), n.supports && (r += "}"); + var i = n.sourceMap; + i && "undefined" != typeof btoa && (r += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))), " */")), t.styleTagTransform(r, e, t.options) + }(t, e, n) + }, + remove: function() { + ! function(e) { + if (null === e.parentNode) return !1; + e.parentNode.removeChild(e) + }(t) + } + } + } + }, + 4589: function(e) { + "use strict"; + e.exports = function(e, t) { + if (t.styleSheet) t.styleSheet.cssText = e; + else { + for (; t.firstChild;) t.removeChild(t.firstChild); + t.appendChild(document.createTextNode(e)) + } + } + } + }, + t = {}; + + function n(r) { + var o = t[r]; + if (void 0 !== o) return o.exports; + var i = t[r] = { + id: r, + loaded: !1, + exports: {} + }; + return e[r].call(i.exports, i, i.exports, n), i.loaded = !0, i.exports + } + n.amdO = {}, n.n = function(e) { + var t = e && e.__esModule ? function() { + return e.default + } : function() { + return e + }; + return n.d(t, { + a: t + }), t + }, n.d = function(e, t) { + for (var r in t) n.o(t, r) && !n.o(e, r) && Object.defineProperty(e, r, { + enumerable: !0, + get: t[r] + }) + }, n.g = function() { + if ("object" == typeof globalThis) return globalThis; + try { + return this || new Function("return this")() + } catch (e) { + if ("object" == typeof window) return window + } + }(), n.o = function(e, t) { + return Object.prototype.hasOwnProperty.call(e, t) + }, n.r = function(e) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { + value: "Module" + }), Object.defineProperty(e, "__esModule", { + value: !0 + }) + }, n.nmd = function(e) { + return e.paths = [], e.children || (e.children = []), e + }, n.nc = void 0; + var r = {}; + ! function() { + "use strict"; + n.r(r); + var e = n(2585), + t = n.n(e), + o = (n(5941), "arkose"), + i = "1.5.2", + a = "inline", + c = "Verification challenge", + s = ("data-".concat(o, "-challenge-api-url"), "data-".concat(o, "-event-blocked")), + u = "data-".concat(o, "-event-completed"), + l = "data-".concat(o, "-event-hide"), + f = "data-".concat(o, "-event-ready"), + p = "data-".concat(o, "-event-ready-inline"), + d = "data-".concat(o, "-event-reset"), + v = "data-".concat(o, "-event-show"), + y = "data-".concat(o, "-event-suppress"), + h = "data-".concat(o, "-event-shown"), + m = "data-".concat(o, "-event-error"), + b = "data-".concat(o, "-event-resize"), + g = "data-".concat(o, "-event-data-request"), + w = "show enforcement", + O = "enforcement resize", + S = "enforcement loaded", + j = "enforcement script loaded", + x = "challenge shown", + E = "challenge frame ready", + _ = "data_response", + k = "settings loaded", + A = "api", + P = "enforcement", + C = "CAPI_RELOAD_EC", + T = "js_ready", + N = "default", + R = "ark", + L = "onReady", + I = "onShown", + K = "onComplete", + D = "apiExecute", + F = "enforcementLoad", + M = n(8492), + H = n.n(M), + q = function(e) { + return 4 === (e.match(/-/g) || []).length + }, + $ = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "api", + t = function(e) { + if (document.currentScript) return document.currentScript; + var t = "enforcement" === e ? 'script[id="enforcementScript"]' : 'script[src*="v2"][src*="api.js"][data-callback]', + n = document.querySelectorAll(t); + if (n && 1 === n.length) return n[0]; + try { + throw new Error + } catch (e) { + try { + var r = H().parse(e)[0].fileName; + return document.querySelector('script[src="'.concat(r, '"]')) + } catch (e) { + return null + } + } + }(e); + if (!t) return null; + var n = t.src, + r = {}; + try { + r = function(e) { + if (!e) throw new Error("Empty URL"); + var t = e.toLowerCase().split("/v2/").filter((function(e) { + return "" !== e + })); + if (t.length < 2) throw new Error("Invalid Client-API URL"); + var n = t[0], + r = t[1].split("/").filter((function(e) { + return "" !== e + })); + return { + host: n, + key: q(r[0]) ? r[0].toUpperCase() : null, + extHost: n + } + }(n) + } catch (e) {} + if (e === P) { + var o = window.location.hash; + if (o.length > 0) { + var i = "#" === o.charAt(0) ? o.substring(1) : o; + r.key = q(i) ? i : r.key + } + } + return r + }(), + z = function(e, t) { + for (var n, r = 0; r < e.length; r += 1) { + var o = e[r], + i = String(o.getAttribute("src")); + if ((i.match(t) || i.match("v2/api.js")) && o.hasAttribute("data-callback")) { + n = o; + break + } + } + return n + }(document.querySelectorAll("script"), $.key || null); + if (z) { + var V = z.nonce, + W = z.getAttribute ? z.getAttribute("data-nonce") : null, + U = V || W; + U && (n.nc = U) + } + + function G(e) { + return G = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, G(e) + } + var X = function(e) { + return "function" == typeof e + }, + B = function(e, t, n) { + try { + var r = t.split("."), + o = e; + return r.forEach((function(e) { + o = o[e] + })), o || n + } catch (e) { + return n + } + }, + Z = function(e) { + var t = e, + n = G(e); + return ("string" !== n || "string" === n && -1 === e.indexOf("px") && -1 === e.indexOf("vw") && -1 === e.indexOf("vh")) && (t = "".concat(e, "px")), t + }; + + function J(e) { + return J = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, J(e) + } + + function Q(e, t, n) { + return (t = function(e) { + var t = function(e, t) { + if ("object" !== J(e) || null === e) return e; + var n = e[Symbol.toPrimitive]; + if (void 0 !== n) { + var r = n.call(e, t || "default"); + if ("object" !== J(r)) return r; + throw new TypeError("@@toPrimitive must return a primitive value.") + } + return ("string" === t ? String : Number)(e) + }(e, "string"); + return "symbol" === J(t) ? t : String(t) + }(t)) in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e + } + var Y = function(e, t) { + if (e[R]) e[R][t] || (e[R][t] = {}); + else { + var n = t ? Q({}, t, {}) : {}; + Object.defineProperty(e, R, { + value: n, + writable: !0 + }) + } + }, + ee = function(e, t, n, r) { + e[R] && e[R][t] || Y(e, t), e[R][t][n] = r + }, + te = ["logged"]; + + function ne(e) { + return ne = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, ne(e) + } + + function re(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && (r = r.filter((function(t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable + }))), n.push.apply(n, r) + } + return n + } + + function oe(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 ? re(Object(n), !0).forEach((function(t) { + ae(e, t, n[t]) + })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : re(Object(n)).forEach((function(t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) + })) + } + return e + } + + function ie(e, t) { + if (null == e) return {}; + var n, r, o = function(e, t) { + if (null == e) return {}; + var n, r, o = {}, + i = Object.keys(e); + for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (o[n] = e[n]); + return o + }(e, t); + if (Object.getOwnPropertySymbols) { + var i = Object.getOwnPropertySymbols(e); + for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n]) + } + return o + } + + function ae(e, t, n) { + return (t = function(e) { + var t = function(e, t) { + if ("object" !== ne(e) || null === e) return e; + var n = e[Symbol.toPrimitive]; + if (void 0 !== n) { + var r = n.call(e, t || "default"); + if ("object" !== ne(r)) return r; + throw new TypeError("@@toPrimitive must return a primitive value.") + } + return ("string" === t ? String : Number)(e) + }(e, "string"); + return "symbol" === ne(t) ? t : String(t) + }(t)) in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e + } + var ce = "sampled", + se = "error", + ue = { + onReady: 3e4, + onShown: 6e4 + }, + le = { + enabled: { + type: "boolean", + default: !1 + }, + onReadyThreshold: { + type: "integer", + default: ue.onReady + }, + onShownThreshold: { + type: "integer", + default: ue.onShown + }, + windowErrorEnabled: { + type: "boolean", + default: !0 + }, + samplePercentage: { + type: "float", + default: 1 + } + }, + fe = n(7064), + pe = n.n(fe), + de = n(5990), + ve = n.n(de), + ye = n(6857); + + function he(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && (r = r.filter((function(t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable + }))), n.push.apply(n, r) + } + return n + } + + function me(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 ? he(Object(n), !0).forEach((function(t) { + be(e, t, n[t]) + })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : he(Object(n)).forEach((function(t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) + })) + } + return e + } + + function be(e, t, n) { + return (t = function(e) { + var t = function(e, t) { + if ("object" !== ge(e) || null === e) return e; + var n = e[Symbol.toPrimitive]; + if (void 0 !== n) { + var r = n.call(e, t || "default"); + if ("object" !== ge(r)) return r; + throw new TypeError("@@toPrimitive must return a primitive value.") + } + return ("string" === t ? String : Number)(e) + }(e, "string"); + return "symbol" === ge(t) ? t : String(t) + }(t)) in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e + } + + function ge(e) { + return ge = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, ge(e) + } + var we = ["settings", "styling", "token"], + Oe = function e(t) { + return "object" === ge(t) && null !== t ? Object.keys(t).reduce((function(n, r) { + var o, i = t[r], + a = ge(i), + c = i; + return -1 === we.indexOf(r) && ("string" === a && (c = "" === (o = i) ? o : (0, ye.N)(o)), "object" === a && (c = e(i))), me(me({}, n), {}, be({}, r, c)) + }), {}) : t + }; + + function Se(e) { + return Se = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, Se(e) + } + + function je(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && (r = r.filter((function(t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable + }))), n.push.apply(n, r) + } + return n + } + + function xe(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 ? je(Object(n), !0).forEach((function(t) { + Ee(e, t, n[t]) + })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : je(Object(n)).forEach((function(t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) + })) + } + return e + } + + function Ee(e, t, n) { + return (t = ke(t)) in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e + } + + function _e(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, ke(r.key), r) + } + } + + function ke(e) { + var t = function(e, t) { + if ("object" !== Se(e) || null === e) return e; + var n = e[Symbol.toPrimitive]; + if (void 0 !== n) { + var r = n.call(e, t || "default"); + if ("object" !== Se(r)) return r; + throw new TypeError("@@toPrimitive must return a primitive value.") + } + return ("string" === t ? String : Number)(e) + }(e, "string"); + return "symbol" === Se(t) ? t : String(t) + } + var Ae = function() { + function e() { + var t = this; + ! function(e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") + }(this, e), this.config = { + context: null, + target: "*", + publicKey: null, + iframePosition: null + }, this.emitter = new(ve()), this.messageListener = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + try { + var n = function(e) { + return JSON.parse(e) + }(e.data), + r = n || {}, + o = r.data, + i = r.key, + a = r.message, + c = r.type, + s = Oe(o); + if (a && i === t.config.publicKey) return t.emitter.emit(a, s), "broadcast" === c && t.postMessageToParent({ + data: s, + key: i, + message: a + }), void("emit" === c && t.postMessageToChildren({ + data: s, + key: i, + message: a + })); + n && "FunCaptcha-action" === n.msg && t.postMessageToChildren({ + data: xe(xe({}, n), n.payload || {}) + }) + } catch (n) { + if (e.data === T) return void t.emitter.emit(T, {}); + if (e.data === C) return void t.emitter.emit(C, {}); + "string" == typeof e.data && -1 !== e.data.indexOf("key_pressed_") && t.config.iframePosition === P && window.parent && "function" == typeof window.parent.postMessage && window.parent.postMessage(e.data, "*") + } + } + } + var t, n, r; + return t = e, n = [{ + key: "context", + set: function(e) { + this.config.context = e + } + }, { + key: "publicKey", + set: function(e) { + this.config.publicKey = e + } + }, { + key: "setup", + value: function(e, t) { + var n, r, o; + this.config.publicKey !== e && (n = window, r = this.config.publicKey, (o = n[R]) && o[r] && (o[r].listener && window.removeEventListener("message", o[r].listener), o[r].error && window.removeEventListener("error", o[r].error), delete o[r])), this.config.publicKey = e, this.config.iframePosition = t, Y(window, this.config.publicKey); + var i = window[R][this.config.publicKey].listener; + i && window.removeEventListener("message", i), ee(window, this.config.publicKey, "listener", this.messageListener), window.addEventListener("message", window[R][this.config.publicKey].listener) + } + }, { + key: "postMessage", + value: function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = arguments.length > 1 ? arguments[1] : void 0, + n = t.data, + r = t.key, + o = t.message, + i = t.type; + if (X(e.postMessage)) { + var a = xe(xe({}, n), {}, { + data: n, + key: r, + message: o, + type: i + }); + e.postMessage(function(e) { + return JSON.stringify(e) + }(a), this.config.target) + } + } + }, { + key: "postMessageToChildren", + value: function(e) { + for (var t = e.data, n = e.key, r = e.message, o = document.querySelectorAll("iframe"), i = [], a = 0; a < o.length; a += 1) { + var c = o[a].contentWindow; + c && i.push(c) + } + for (var s = 0; s < i.length; s += 1) { + var u = i[s]; + this.postMessage(u, { + data: t, + key: n, + message: r, + type: "emit" + }, this.config.target) + } + } + }, { + key: "postMessageToParent", + value: function(e) { + var t = e.data, + n = e.key, + r = e.message; + window.parent !== window && this.postMessage(window.parent, { + data: t, + key: n, + message: r, + type: "broadcast" + }) + } + }, { + key: "emit", + value: function(e, t) { + this.emitter.emit(e, t), this.postMessageToParent({ + message: e, + data: t, + key: this.config.publicKey + }), this.postMessageToChildren({ + message: e, + data: t, + key: this.config.publicKey + }) + } + }, { + key: "off", + value: function() { + var e; + (e = this.emitter).removeListener.apply(e, arguments) + } + }, { + key: "on", + value: function() { + var e; + (e = this.emitter).on.apply(e, arguments) + } + }, { + key: "once", + value: function() { + var e; + (e = this.emitter).once.apply(e, arguments) + } + }], n && _e(t.prototype, n), r && _e(t, r), Object.defineProperty(t, "prototype", { + writable: !1 + }), e + }(), + Pe = new Ae, + Ce = ["lightbox", "ECResponsive"]; + + function Te(e, t) { + if (null == e) return {}; + var n, r, o = function(e, t) { + if (null == e) return {}; + var n, r, o = {}, + i = Object.keys(e); + for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (o[n] = e[n]); + return o + }(e, t); + if (Object.getOwnPropertySymbols) { + var i = Object.getOwnPropertySymbols(e); + for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n]) + } + return o + } + var Ne = { + lightbox: { + closeOnEsc: { + default: !0 + }, + hideCloseButton: { + default: !1 + } + }, + ECResponsive: { + enabled: { + default: !0 + }, + landscapeOffset: { + default: 70 + } + }, + observability: { + default: {} + }, + f: { + optional: !0 + } + }, + Re = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = e.theme, + n = void 0 === t ? null : t, + r = e.settings || e, + o = { + lightbox: {}, + ECResponsive: {} + }; + ["lightbox", "ECResponsive"].forEach((function(e) { + var t = r[e] || {}, + n = Ne[e]; + Object.keys(n).forEach((function(r) { + Object.prototype.hasOwnProperty.call(t, r) ? o[e][r] = t[r] : o[e][r] = n[r].default + })) + })), n && (o.theme = n); + var i = Te(Ne, Ce); + return Object.keys(i).forEach((function(e) { + Object.prototype.hasOwnProperty.call(r, e) ? o[e] = r[e] : !0 !== Ne[e].optional && (o[e] = Ne[e].default) + })), o + }, + Le = n(3379), + Ie = n.n(Le), + Ke = n(7795), + De = n.n(Ke), + Fe = n(569), + Me = n.n(Fe), + He = n(3565), + qe = n.n(He), + $e = n(9216), + ze = n.n($e), + Ve = n(4589), + We = n.n(Ve), + Ue = n(3482), + Ge = {}; + Ge.styleTagTransform = We(), Ge.setAttributes = qe(), Ge.insert = Me().bind(null, "head"), Ge.domAPI = De(), Ge.insertStyleElement = ze(); + Ie()(Ue.Z, Ge); + var Xe = Ue.Z && Ue.Z.locals ? Ue.Z.locals : void 0; + + function Be(e) { + return Be = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, Be(e) + } + + function Ze(e, t, n) { + return (t = function(e) { + var t = function(e, t) { + if ("object" !== Be(e) || null === e) return e; + var n = e[Symbol.toPrimitive]; + if (void 0 !== n) { + var r = n.call(e, t || "default"); + if ("object" !== Be(r)) return r; + throw new TypeError("@@toPrimitive must return a primitive value.") + } + return ("string" === t ? String : Number)(e) + }(e, "string"); + return "symbol" === Be(t) ? t : String(t) + }(t)) in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e + } + var Je = { + show: !1, + isActive: void 0, + element: void 0, + frame: void 0, + mode: void 0, + ECResponsive: !0 + }, + Qe = function(e, t) { + e.setAttribute("class", t) + }, + Ye = function() { + return pe()(Xe.container, Ze({ + show: !!Je.show, + active: !!Je.isActive + }, Je.mode, !0)) + }; + Pe.on("challenge iframe", (function(e) { + var t = e.width, + n = e.height, + r = e.minWidth, + o = e.minHeight, + i = e.maxWidth, + c = e.maxHeight; + if (Je.frame) { + Je.show = !0; + var s = Ye(); + Qe(Je.frame, s); + var u = n, + l = t; + if (Je.ECResponsive) { + var f = function(e) { + var t = e.width, + n = e.height, + r = e.minWidth, + o = e.maxWidth, + i = e.minHeight, + a = e.maxHeight, + c = e.landscapeOffset, + s = t, + u = n; + if (!r || !o) return { + height: u, + width: s + }; + if (window.screen && window.screen.width && window.screen.height) { + var l = window.screen.availHeight || window.screen.height, + f = window.screen.availWidth || window.screen.width, + p = l - (!window.orientation || 90 !== window.orientation && -90 !== window.orientation ? 0 : c); + s = f, u = i && a ? p : n, f >= parseInt(o, 10) && (s = o), f <= parseInt(r, 10) && (s = r), a && p >= parseInt(a, 10) && (u = a), i && p <= parseInt(i, 10) && (u = i) + } + return s = Z(s), { + height: u = Z(u), + width: s + } + }({ + width: t, + height: n, + minWidth: r, + maxWidth: i, + minHeight: o, + maxHeight: c, + landscapeOffset: Je.ECResponsive.landscapeOffset || 0 + }); + l = f.width, u = f.height + } + var p = !1; + t && t !== Je.frame.style.width && (Je.frame.style.width = t, p = !0), n && n !== Je.frame.style.height && (Je.frame.style.height = n, p = !0), Je.mode === a && (r && r !== Je.frame.style["min-width"] && (Je.frame.style["min-width"] = r, p = !0), o && o !== Je.frame.style["min-height"] && (Je.frame.style["min-height"] = o, p = !0), i && i !== Je.frame.style["max-width"] && (Je.frame.style["max-width"] = i, p = !0), c && c !== Je.frame.style["max-height"] && (Je.frame.style["max-height"] = c, p = !0)), p && Pe.emit(O, { + width: l, + height: u + }), document.activeElement !== Je.element && !1 === Je.mode && Je.frame.focus() + } + })); + var et, tt = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = {}, + n = ["publicKey", "data", "isSDK", "language", "mode", "onDataRequest", "onCompleted", "onHide", "onReady", "onReset", "onResize", "onShow", "onShown", "onSuppress", "onError", "onFailed", "onResize", "settings", "selector", "accessibilitySettings", "styleTheme", "uaTheme", "enableDirectionalInput"]; + return Object.keys(e).filter((function(e) { + return -1 !== n.indexOf(e) + })).forEach((function(n) { + t[n] = e[n] + })), t + }; + + function nt(e) { + return nt = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, nt(e) + } + + function rt(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && (r = r.filter((function(t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable + }))), n.push.apply(n, r) + } + return n + } + + function ot(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 ? rt(Object(n), !0).forEach((function(t) { + ct(e, t, n[t]) + })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : rt(Object(n)).forEach((function(t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) + })) + } + return e + } + + function it(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, st(r.key), r) + } + } + + function at(e, t, n) { + return t && it(e.prototype, t), n && it(e, n), Object.defineProperty(e, "prototype", { + writable: !1 + }), e + } + + function ct(e, t, n) { + return (t = st(t)) in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e + } + + function st(e) { + var t = function(e, t) { + if ("object" !== nt(e) || null === e) return e; + var n = e[Symbol.toPrimitive]; + if (void 0 !== n) { + var r = n.call(e, t || "default"); + if ("object" !== nt(r)) return r; + throw new TypeError("@@toPrimitive must return a primitive value.") + } + return ("string" === t ? String : Number)(e) + }(e, "string"); + return "symbol" === nt(t) ? t : String(t) + } + var ut = $.key, + lt = $.host, + ft = $.extHost, + pt = function(e, t, n) { + var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 5e3, + o = t, + i = n, + a = window && window.crypto && "function" == typeof window.crypto.getRandomValues ? ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (function(e) { + return (e ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> e / 4).toString(16) + })) : "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (function(e) { + var t = 16 * Math.random() | 0; + return ("x" == e ? t : 3 & t | 8).toString(16) + })), + c = function() { + var e = {}, + t = window.navigator; + if (e.platform = t.platform, e.language = t.language, t.connection) try { + e.connection = { + effectiveType: t.connection.effectiveType, + rtt: t.connection.rtt, + downlink: t.connection.downlink + } + } catch (e) {} + return e + }(), + s = {}, + u = {}, + l = e, + f = null, + p = {}, + d = null, + v = null, + y = { + timerCheckInterval: r + }, + h = !1, + m = !1, + b = !1, + g = !1, + w = !1, + O = function() { + var e; + if (g) { + for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r]; + "string" == typeof n[0] && (n[0] = "Observability - ".concat(n[0])), (e = console).log.apply(e, n) + } + }, + S = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = e.timerId, + n = e.type; + if (!0 === y.enabled) { + var r = t ? ae({}, t, s[t]) : s, + f = Object.keys(r).reduce((function(e, t) { + r[t].logged = !0; + var n = r[t], + o = (n.logged, ie(n, te)); + return oe(oe({}, e), {}, ae({}, t, o)) + }), {}), + h = { + id: a, + publicKey: l, + capiVersion: i, + mode: v, + suppressed: w, + device: c, + error: p, + windowError: u, + sessionId: d, + timers: f, + sampled: n === ce + }; + O("Logging Metrics:", h); + try { + var m = new XMLHttpRequest; + m.open("POST", o), m.send(JSON.stringify(h)) + } catch (e) {} + } + }, + j = function(e) { + return y && Object.prototype.hasOwnProperty.call(y, "".concat(e, "Threshold")) ? y["".concat(e, "Threshold")] : ue[e] + }, + x = function e() { + if (b) return !1; + var t = !1; + return h && (Object.keys(s).forEach((function(e) { + var n = j(e), + r = s[e], + o = r.diff, + i = r.logged, + a = r.end; + if (0 !== n && !0 !== i && (o && o > n && (t = !0, s[e].logged = !0), !o && !a)) { + var c = s[e].start, + u = Date.now(), + l = u - c; + l > n && (s[e].diff = l, s[e].end = u, s[e].logged = !0, t = !0) + } + })), t && S()), f = setTimeout(e, y.timerCheckInterval), !0 + }, + E = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + return oe(oe({}, { + start: null, + end: null, + diff: null, + threshold: null, + logged: !1, + metrics: {} + }), e) + }, + _ = function() { + return { + id: a, + publicKey: l, + sessionId: d, + mode: v, + settings: y, + device: c, + error: p, + windowError: u, + timers: s, + debugEnabled: g + } + }, + k = function() { + clearTimeout(f) + }; + f = setTimeout(x, y.timerCheckInterval); + try { + "true" === window.localStorage.getItem("capiDebug") && (g = !0, window.capiObserver = { + getValues: _ + }) + } catch (e) {} + return { + getValues: _, + timerStart: function(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Date.now(), + n = s[e] || {}; + if (!n.start) { + var r = j(e); + O("".concat(e, " started:"), t), s[e] = E(oe(oe({}, n), {}, { + start: t, + threshold: r + })) + } + }, + timerEnd: function(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Date.now(), + n = s[e]; + n && !n.end && (n.end = t, n.diff = n.end - n.start, O("".concat(e, " ended:"), t, n.diff), b && S({ + timerId: e, + type: ce + })) + }, + timerCheck: x, + subTimerStart: function(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Date.now(), + r = arguments.length > 3 ? arguments[3] : void 0, + o = s[e]; + o || (o = E()), o.end || (o.metrics[t] = oe({ + start: n, + end: null, + diff: null + }, r && { + info: r + }), s[e] = o, O("".concat(e, ".").concat(t, " started:"), n)) + }, + subTimerEnd: function(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Date.now(), + r = s[e]; + if (r && !r.end) { + var o = r.metrics[t]; + o && (o.end = n, o.diff = o.end - o.start, O("".concat(e, ".").concat(t, " ended:"), n, o.diff)) + } + }, + cancelIntervalTimer: k, + setup: function(e, t) { + h = !0, y = oe(oe({}, y), function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + return Object.keys(le).reduce((function(t, n) { + var r = e[n], + o = le[n]; + if ("boolean" === o.type) return oe(oe({}, t), {}, ae({}, n, "boolean" == typeof r ? r : o.default)); + var i = "float" === o.type ? parseFloat(r, 0) : parseInt(r, 10); + return oe(oe({}, t), {}, ae({}, n, isNaN(i) ? o.default : i)) + }), {}) + }(e)), v = t, Object.keys(s).forEach((function(e) { + var t = j(e); + s[e].threshold = t + })); + var n, r = y.samplePercentage; + n = r, (b = Math.random() <= n / 100) && k(), O("Session sampled:", b) + }, + setSession: function(e) { + d = e + }, + logError: function(e) { + m || (p = e, m = !0, S({ + type: se + })) + }, + logWindowError: function(e, t, n, r) { + y && !0 !== y.windowErrorEnabled || (u[e] = { + message: t, + filename: n, + stack: r + }) + }, + debugLog: O, + setSuppressed: function() { + w = !0 + }, + setPublicKey: function(e) { + l = e, m = !1, p = {}, ["onShown", "onComplete"].forEach((function(e) { + if (s[e]) { + var t = s[e].threshold || null; + s[e] = E({ + threshold: t + }) + } + })) + } + } + }(ut, "".concat(ft).concat("/metrics/ui"), i, 5e3); + pt.subTimerStart(L, D); + var dt = function(e) { + return "arkose-".concat(e, "-wrapper") + }, + vt = {}, + yt = "onCompleted", + ht = "onHide", + mt = "onReady", + bt = "onReset", + gt = "onShow", + wt = "onShown", + Ot = "onSuppress", + St = "onFailed", + jt = "onError", + xt = "onResize", + Et = "onDataRequest", + _t = (ct(et = {}, u, yt), ct(et, l, ht), ct(et, f, mt), ct(et, p, mt), ct(et, d, bt), ct(et, v, gt), ct(et, h, wt), ct(et, y, Ot), ct(et, s, St), ct(et, m, jt), ct(et, b, xt), ct(et, g, Et), et), + kt = at((function e() { + var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = t.completed, + r = t.token, + o = t.suppressed, + i = t.error, + a = t.width, + c = t.height, + s = t.requested; + ! function(e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") + }(this, e), this.completed = !!n, this.token = r || null, this.suppressed = !!o, this.error = i || null, this.width = a || 0, this.height = c || 0, this.requested = s || null + })), + At = function() { + var e = document.createElement("div"); + return e.setAttribute("aria-hidden", !0), e.setAttribute("class", dt(ut)), e + }, + Pt = function() { + var e, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + return ot(ot({ + element: At(), + inactiveElement: null, + bodyElement: document.querySelector("body"), + savedActiveElement: null, + modifiedSiblings: [], + challengeLoadedEvents: [], + container: null, + elements: function() { + return document.querySelectorAll(vt.config.selector) + }, + enforcementLoaded: !1, + enforcementReady: !1, + getPublicKeyTimeout: null, + isActive: !1, + isHidden: !1, + isReady: !1, + isConfigured: !1, + suppressed: !1, + isResettingChallenge: !1, + lastResetTimestamp: 0, + isCompleteReset: !1, + onReadyEventCheck: [], + width: 0, + height: 0, + token: null, + externalRequested: !1 + }, t), {}, { + config: ot({ + selector: (e = ut, "[data-".concat(o, '-public-key="').concat(e, '"]')), + styleTheme: t.config && t.config.styleTheme || N, + siteData: { + location: window.location + }, + settings: {}, + accessibilitySettings: { + lockFocusToModal: !0 + } + }, t.config), + events: ot({}, t.events) + }) + }, + Ct = function(e) { + var t = vt.events[_t[e]]; + if (X(t)) { + for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++) r[o - 1] = arguments[o]; + t.apply(void 0, r) + } + }, + Tt = function() { + ! function(e) { + var t = e.host, + n = e.publicKey, + r = e.element, + o = e.config, + i = e.isActive, + a = e.isReady, + s = e.capiObserver, + u = B(o, "mode"); + Je.mode = u, Je.element = r, Je.isActive = i, Je.show = a, Je.ECResponsive = B(Re(o.settings), "ECResponsive", {}), Je.accessibilitySettings = B(o, "accessibilitySettings"); + var l = Ye(); + if (B(Je.element, "children", []).length < 1) { + var f = function(e) { + var t = e.host, + n = e.publicKey, + r = e.file; + return "development" === e.environment ? "".concat(r, "#").concat(n) : "".concat(t, "/v2/").concat(r, "#").concat(n) + }({ + host: t, + publicKey: n, + file: "1.5.2/enforcement.64b3a4e29686f93d52816249ecbf9857.html", + environment: "production" + }), + p = document.createElement("iframe"); + p.setAttribute("src", "https://tcr9i.chat.openai.com/v2/1.5.2/enforcement.64b3a4e29686f93d52816249ecbf9857.html#35536E1E-65B4-4D96-9D97-6ADB7EFF8147"), p.setAttribute("class", l), p.setAttribute("title", c), p.setAttribute("aria-label", c), p.setAttribute("data-e2e", "enforcement-frame"), p.style.width = "0px", p.style.height = "0px", p.addEventListener("load", (function() { + s.subTimerEnd(L, F) + })), s.subTimerStart(L, F), Je.element.appendChild(p), Je.frame = p + } else Qe(Je.frame, l), Je.isActive || (Je.frame.style.width = 0, Je.frame.style.height = 0) + }({ + host: lt, + publicKey: vt.config.publicKey, + element: vt.element, + config: vt.config, + isActive: vt.isActive, + isReady: vt.isReady, + capiObserver: pt + }) + }, + Nt = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], + n = vt, + r = n.element, + o = n.bodyElement, + i = n.container, + a = n.events, + c = n.lastResetTimestamp, + s = Date.now(); + if (!(s - c < 100)) { + vt.lastResetTimestamp = s, vt.isActive = !1, vt.completed = !1, vt.token = null, vt.isReady = !1, vt.onReadyEventCheck = [], Tt(), o && a && (o.removeEventListener("click", a.bodyClicked), window.removeEventListener("keyup", a.escapePressed), vt.events.bodyClicked = null, vt.events.escapePressed = null); + var u = r; + vt.inactiveElement = u, vt.element = void 0, vt.element = At(), i && u && i.contains(u) && setTimeout((function() { + try { + i.removeChild(u) + } catch (e) {} + }), 5e3), vt = Pt(t()(vt)), e || Ct(d, new kt(vt)), Ft() + } + }, + Rt = function(e) { + vt.element.setAttribute("aria-hidden", e) + }, + Lt = function() { + vt.enforcementReady && !vt.isActive && (Pe.emit(w), vt.isHidden && (vt.isHidden = !1, vt.isReady && Pe.emit(x, { + token: vt.token + }))) + }, + It = function() { + var e = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).manual; + vt.isActive = !1, e && (vt.isHidden = !0), Ct(l, new kt(vt)), vt.savedActiveElement && (vt.savedActiveElement.focus(), vt.savedActiveElement = null), B(vt, "config.mode") !== a && function() { + for (var e = vt.modifiedSiblings, t = 0; t < e.length; t += 1) { + var n = e[t], + r = n.elem, + o = n.ariaHiddenState; + r !== vt.appEl && (null === o ? r.removeAttribute("aria-hidden") : r.setAttribute("aria-hidden", o)) + } + }(), Tt(), Rt(!0) + }, + Kt = function(e) { + e.target.closest(vt.config.selector) && Lt() + }, + Dt = function(e) { + return 27 !== B(e, "keyCode") ? null : It({ + manual: !0 + }) + }, + Ft = function() { + return B(vt, "config.mode") === a ? (vt.container = document.querySelector(B(vt, "config.selector", "")), void(vt.container && (vt.container.contains(vt.element) || (vt.container.appendChild(vt.element), Tt())))) : (vt.container = vt.bodyElement, vt.events.bodyClicked || (vt.events.bodyClicked = Kt, vt.bodyElement.addEventListener("click", vt.events.bodyClicked)), vt.events.escapePressed || (vt.events.escapePressed = Dt, window.addEventListener("keyup", vt.events.escapePressed)), void(vt.container && (vt.container.contains(vt.element) || (vt.container.appendChild(vt.element), Tt())))) + }, + Mt = function() { + var e; + pt.subTimerEnd(L, D), Y(window, ut), Pe.setup(ut, A), (e = window[R][ut].error) && window.removeEventListener("error", e), ee(window, ut, "error", (function(e) { + var t = e.message, + n = e.filename, + r = e.error; + if (n && "string" == typeof n && n.indexOf("api.js") >= 0 && n.indexOf(ut) >= 0) { + var o = r.stack; + pt.logWindowError("integration", t, n, o) + } + })), window.addEventListener("error", window[R][ut].error), vt = Pt() + }, + Ht = function() { + var e, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = function(e) { + return e === a ? a : "lightbox" + }(t.mode || B(vt, "config.mode")), + r = t.styleTheme || N, + o = vt.isConfigured && r !== vt.config.styleTheme; + vt.isConfigured = !0; + var i = ut || vt.config.publicKey || null, + c = !1; + t.publicKey && i !== t.publicKey && (! function(e) { + Pe.setup(e, A), pt.setPublicKey(e), vt.element && vt.element.getAttribute && (vt.element.getAttribute("class").match(e) || vt.element.setAttribute("class", dt(e))) + }(t.publicKey), i = t.publicKey, vt.config.publicKey && vt.config.publicKey !== t.publicKey && (c = !0)), vt.config = ot(ot(ot(ot({}, vt.config), t), { + mode: n + }), {}, { + styleTheme: r, + publicKey: i, + language: "" !== t.language ? t.language || vt.config.language : void 0 + }), vt.events = ot(ot({}, vt.events), {}, (ct(e = {}, yt, t[yt] || vt.events[yt]), ct(e, St, t[St] || vt.events[St]), ct(e, ht, t[ht] || vt.events[ht]), ct(e, mt, t[mt] || vt.events[mt]), ct(e, bt, t[bt] || vt.events[bt]), ct(e, gt, t[gt] || vt.events[gt]), ct(e, wt, t[wt] || vt.events[wt]), ct(e, Ot, t[Ot] || vt.events[Ot]), ct(e, jt, t[jt] || vt.events[jt]), ct(e, xt, t[xt] || vt.events[xt]), ct(e, Et, t[Et] || vt.events[Et]), e)), Pe.emit("config", vt.config), o || c ? Nt(!0) : Ft(), "lightbox" === n && (vt.element.setAttribute("aria-modal", !0), vt.element.setAttribute("role", "dialog")) + }, + qt = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = e.event, + n = e.observability; + if (vt.onReadyEventCheck.push(t), n) { + var r = n.timerId, + o = n.subTimerId, + i = n.time; + pt.subTimerEnd(r, o, i) + } + var a = [S, E, j, k]; + (function(e, t) { + var n, r, o = [], + i = e.length, + a = t.length; + for (n = 0; n < i; n += 1) + for (r = 0; r < a; r += 1) e[n] === t[r] && o.push(e[n]); + return o + })(a, vt.onReadyEventCheck).length === a.length && (vt.enforcementReady = !0, vt.onReadyEventCheck = [], vt.isCompleteReset || (pt.timerEnd(L), Ct(f, new kt(vt))), vt.isCompleteReset = !1) + }, + $t = { + setConfig: function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + pt.timerStart(L), Ht(tt(e)) + }, + getConfig: function() { + return t()(vt.config) + }, + dataResponse: function(e) { + if (vt.requested) { + var t = { + message: _, + data: e, + key: vt.config.publicKey, + type: "emit" + }; + Pe.emit(_, t), vt.requested = null + } + }, + reset: function() { + Nt() + }, + run: Lt, + version: i + }, + zt = z.getAttribute("data-callback"); + Pe.on(w, (function() { + vt.isReady || (pt.timerStart(I), pt.timerStart(K)), vt.isActive = !0, vt.savedActiveElement = document.activeElement, Ct(v, new kt(vt)), B(vt, "config.mode") !== a && function() { + var e = vt.bodyElement.children; + vt.modifiedSiblings = []; + for (var t = 0; t < e.length; t += 1) { + var n = e.item(t), + r = n.getAttribute("aria-hidden"); + n !== vt.appEl && "true" !== r && (vt.modifiedSiblings.push({ + elem: n, + ariaHiddenState: r + }), n.setAttribute("aria-hidden", !0)) + } + }(), Tt(), Rt(!1) + })), Pe.on(x, (function(e) { + var t = e.token; + vt.isReady = !0, vt.token = t, vt.isHidden || (vt.isActive = !0, Tt(), pt.timerEnd(I), Ct(h, new kt(vt))) + })), Pe.on("challenge completed", (function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + vt.completed = !0, vt.token = e.token, pt.timerEnd(K), Ct(u, new kt(vt)), B(vt, "config.mode") !== a && (vt.isCompleteReset = !0, Nt()) + })), Pe.on("hide enforcement", It), Pe.on(O, (function(e) { + var t = e.width, + n = e.height; + vt.width = t, vt.height = n, Ct(b, new kt(vt)) + })), Pe.on(S, (function(e) { + vt.enforcementLoaded = !0, Ht(e || vt.config), qt({ + event: S + }) + })), Pe.on("challenge suppressed", (function(e) { + var t = e.token; + vt.isActive = !1, vt.suppressed = !0, vt.token = t, pt.setSuppressed(), pt.timerEnd(I), Ct(y, new kt(vt)) + })), Pe.on(E, qt), Pe.on("challenge token", (function(e) { + var t = e.token; + if (t) { + vt.token = t; + var n = t.split("|"), + r = n.length ? n[0] : null; + pt.setSession(r) + } + })), Pe.on("challenge window error", (function(e) { + var t = e.message, + n = e.source, + r = e.stack; + pt.logWindowError("challenge", t, n, r) + })), Pe.on(j, qt), Pe.on(k, (function(e) { + var t = e.event, + n = void 0 === t ? {} : t, + r = e.settings, + o = void 0 === r ? {} : r, + i = e.observability; + vt.config.settings = o; + var a = function(e) { + return B(e, "observability", {}) + }(vt.config.settings); + pt.setup(a, vt.config.mode), qt({ + event: n, + observability: i + }), Tt() + })), Pe.on("challenge fail number limit reached", (function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + vt.isActive = !1, vt.isHidden = !0, vt.token = e.token, Ct(s, new kt(vt), e) + })), Pe.on("error", (function(e) { + var t = ot({ + source: null + }, e.error); + vt.error = t, pt.logError(t), Ct(m, new kt(vt)), It() + })), Pe.on("data_request", (function(e) { + e.sdk && (vt.requested = e, Ct(g, new kt(vt))) + })), Pe.on("observability timer", (function(e) { + var t = e.action, + n = e.timerId, + r = e.subTimerId, + o = e.time, + i = e.info, + a = "".concat(r ? "subTimer" : "timer").concat("end" === t ? "End" : "Start"), + c = r ? [n, r, o, i] : [n, o]; + pt[a].apply(pt, c) + })), zt ? function e() { + if (!X(window[zt])) return setTimeout(e, 1e3); + var t = document.querySelectorAll(".".concat(dt(ut))); + return t && t.length && Array.prototype.slice.call(t).forEach((function(e) { + try { + e.parentNode.removeChild(e) + } catch (e) {} + })), Mt(), window[zt]($t) + }() : Mt() + }(), arkoseLabsClientApid975905a = r +}(); \ No newline at end of file diff --git a/src/app/bots/chatgpt-webapp/arkose/generator.js b/src/app/bots/chatgpt-webapp/arkose/generator.js new file mode 100644 index 00000000..ab5db557 --- /dev/null +++ b/src/app/bots/chatgpt-webapp/arkose/generator.js @@ -0,0 +1,56 @@ +import Browser from 'webextension-polyfill' + +class ArkoseTokenGenerator { + constructor() { + this.enforcement = undefined + this.pendingPromises = [] + window.useArkoseSetupEnforcement = this.useArkoseSetupEnforcement.bind(this) + this.injectScript() + } + + useArkoseSetupEnforcement(enforcement) { + this.enforcement = enforcement + enforcement.setConfig({ + onCompleted: (r) => { + console.debug('enforcement.onCompleted', r) + this.pendingPromises.forEach((promise) => { + promise.resolve(r.token) + }) + this.pendingPromises = [] + }, + onReady: () => { + console.debug('enforcement.onReady') + }, + onError: (r) => { + console.debug('enforcement.onError', r) + }, + onFailed: (r) => { + console.debug('enforcement.onFailed', r) + this.pendingPromises.forEach((promise) => { + promise.reject(new Error('Failed to generate arkose token')) + }) + }, + }) + } + + injectScript() { + const script = document.createElement('script') + script.src = Browser.runtime.getURL('/js/v2/35536E1E-65B4-4D96-9D97-6ADB7EFF8147/api.js') + script.async = true + script.defer = true + script.setAttribute('data-callback', 'useArkoseSetupEnforcement') + document.body.appendChild(script) + } + + async generate() { + if (!this.enforcement) { + return + } + return new Promise((resolve, reject) => { + this.pendingPromises = [{ resolve, reject }] // store only one promise for now. + this.enforcement.run() + }) + } +} + +export const arkoseTokenGenerator = new ArkoseTokenGenerator() diff --git a/src/app/bots/chatgpt-webapp/arkose/index.ts b/src/app/bots/chatgpt-webapp/arkose/index.ts new file mode 100644 index 00000000..f84fa9c2 --- /dev/null +++ b/src/app/bots/chatgpt-webapp/arkose/index.ts @@ -0,0 +1,10 @@ +import { arkoseTokenGenerator } from './generator' +import { fetchArkoseToken } from './server' + +export async function getArkoseToken() { + const token = await arkoseTokenGenerator.generate() + if (token) { + return token + } + return fetchArkoseToken() +} diff --git a/src/app/bots/chatgpt-webapp/arkose.ts b/src/app/bots/chatgpt-webapp/arkose/server.ts similarity index 100% rename from src/app/bots/chatgpt-webapp/arkose.ts rename to src/app/bots/chatgpt-webapp/arkose/server.ts diff --git a/src/app/bots/chatgpt-webapp/index.ts b/src/app/bots/chatgpt-webapp/index.ts index d5e5a7ba..e1fe888f 100644 --- a/src/app/bots/chatgpt-webapp/index.ts +++ b/src/app/bots/chatgpt-webapp/index.ts @@ -3,7 +3,7 @@ import { ChatGPTWebModel } from '~services/user-config' import { ChatError, ErrorCode } from '~utils/errors' import { parseSSEResponse } from '~utils/sse' import { AbstractBot, SendMessageParams } from '../abstract-bot' -import { fetchArkoseToken } from './arkose' +import { getArkoseToken } from './arkose' import { chatGPTClient } from './client' import { ResponseContent } from './types' @@ -40,7 +40,7 @@ export class ChatGPTWebBot extends AbstractBot { let arkoseToken: string | undefined if (modelName.startsWith('gpt-4')) { - arkoseToken = await fetchArkoseToken() + arkoseToken = await getArkoseToken() } const resp = await chatGPTClient.fetch('https://chat.openai.com/backend-api/conversation', { From c4b506ce3ceeabe97de676f37933375bf6b9367c Mon Sep 17 00:00:00 2001 From: wong2 Date: Mon, 10 Jul 2023 14:53:59 +0800 Subject: [PATCH 002/367] Release v1.27.0 --- manifest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.config.ts b/manifest.config.ts index 90a70f09..ea225b86 100644 --- a/manifest.config.ts +++ b/manifest.config.ts @@ -6,7 +6,7 @@ export default defineManifest(async (env) => { name: '__MSG_appName__', description: '__MSG_appDesc__', default_locale: 'en', - version: '1.26.1', + version: '1.27.0', icons: { '16': 'src/assets/icon.png', '32': 'src/assets/icon.png', From b88a31370d58c8bce5a98256b2ff4fcf6604f4c8 Mon Sep 17 00:00:00 2001 From: wong2 Date: Tue, 11 Jul 2023 20:40:58 +0800 Subject: [PATCH 003/367] Add pi bot --- src/app/bots/index.ts | 4 ++++ src/app/bots/pi/index.ts | 35 +++++++++++++++++++++++++++++++++++ src/app/consts.ts | 5 +++++ src/assets/pi-logo.png | Bin 0 -> 5966 bytes 4 files changed, 44 insertions(+) create mode 100644 src/app/bots/pi/index.ts create mode 100644 src/assets/pi-logo.png diff --git a/src/app/bots/index.ts b/src/app/bots/index.ts index d9673aca..f9e82582 100644 --- a/src/app/bots/index.ts +++ b/src/app/bots/index.ts @@ -3,6 +3,7 @@ import { BingWebBot } from './bing' import { ChatGPTBot } from './chatgpt' import { ClaudeBot } from './claude' import { LMSYSBot } from './lmsys' +import { PiBot } from './pi' import { XunfeiBot } from './xunfei' export type BotId = @@ -20,6 +21,7 @@ export type BotId = | 'stablelm' | 'oasst' | 'rwkv' + | 'pi' export function createBotInstance(botId: BotId) { switch (botId) { @@ -51,6 +53,8 @@ export function createBotInstance(botId: BotId) { return new LMSYSBot('oasst-pythia-12b') case 'rwkv': return new LMSYSBot('RWKV-4-Raven-14B') + case 'pi': + return new PiBot() } } diff --git a/src/app/bots/pi/index.ts b/src/app/bots/pi/index.ts new file mode 100644 index 00000000..05c476ff --- /dev/null +++ b/src/app/bots/pi/index.ts @@ -0,0 +1,35 @@ +import { requestHostPermission } from '~app/utils/permissions' +import { ChatError, ErrorCode } from '~utils/errors' +import { parseSSEResponse } from '~utils/sse' +import { AbstractBot, SendMessageParams } from '../abstract-bot' + +export class PiBot extends AbstractBot { + async doSendMessage(params: SendMessageParams) { + if (!(await requestHostPermission('https://*.pi.ai/'))) { + throw new ChatError('Missing pi.ai permission', ErrorCode.MISSING_HOST_PERMISSION) + } + + const resp = await fetch('https://pi.ai/api/chat', { + method: 'POST', + signal: params.signal, + body: JSON.stringify({ text: params.prompt }), + headers: { + 'Content-Type': 'application/json', + }, + }) + + await parseSSEResponse(resp, (message) => { + console.debug('pi sse', message) + const data = JSON.parse(message) + if (data.text) { + params.onEvent({ type: 'UPDATE_ANSWER', data: { text: data.text } }) + } + }) + + params.onEvent({ type: 'DONE' }) + } + + resetConversation() { + // TODO + } +} diff --git a/src/app/consts.ts b/src/app/consts.ts index e54e2785..6699e474 100644 --- a/src/app/consts.ts +++ b/src/app/consts.ts @@ -12,6 +12,7 @@ import llamaLogo from '~/assets/llama-logo.png' import stablelmLogo from '~/assets/stablelm-logo.png' import oasstLogo from '~/assets/oasst-logo.svg' import rwkvLogo from '~/assets/rwkv-logo.png' +import piLogo from '~/assets/pi-logo.png' import { BotId } from './bots' import i18n from './i18n' @@ -40,6 +41,10 @@ export const CHATBOTS: Record = { name: 'ChatGLM', avatar: chatglmLogo, }, + pi: { + name: 'Pi', + avatar: piLogo, + }, alpaca: { name: 'Alpaca', avatar: alpacaLogo, diff --git a/src/assets/pi-logo.png b/src/assets/pi-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0b4809ea1d84284ce7a8e446d1a905063b153a98 GIT binary patch literal 5966 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 literal 0 HcmV?d00001 From defbda0109f57bacae125481a4226c53a4eeaeb4 Mon Sep 17 00:00:00 2001 From: wong2 Date: Tue, 11 Jul 2023 20:41:22 +0800 Subject: [PATCH 004/367] Release v1.28.0 --- manifest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.config.ts b/manifest.config.ts index ea225b86..4e80d18b 100644 --- a/manifest.config.ts +++ b/manifest.config.ts @@ -6,7 +6,7 @@ export default defineManifest(async (env) => { name: '__MSG_appName__', description: '__MSG_appDesc__', default_locale: 'en', - version: '1.27.0', + version: '1.28.0', icons: { '16': 'src/assets/icon.png', '32': 'src/assets/icon.png', From 7a0dbe94c2c9e99d128699c488705db4d90a6af8 Mon Sep 17 00:00:00 2001 From: wong2 Date: Wed, 12 Jul 2023 12:30:50 +0800 Subject: [PATCH 005/367] Add claude 2 via webapp --- src/app/bots/claude-web/api.ts | 27 ++++++++ src/app/bots/claude-web/index.ts | 68 +++++++++++++++++++ src/app/bots/claude/index.ts | 4 ++ src/app/components/Chat/ErrorAction.tsx | 7 ++ .../Settings/ClaudeWebappSettings.tsx | 24 +++++++ src/app/pages/SettingPage.tsx | 3 + src/services/user-config.ts | 1 + src/utils/errors.ts | 2 + 8 files changed, 136 insertions(+) create mode 100644 src/app/bots/claude-web/api.ts create mode 100644 src/app/bots/claude-web/index.ts create mode 100644 src/app/components/Settings/ClaudeWebappSettings.tsx diff --git a/src/app/bots/claude-web/api.ts b/src/app/bots/claude-web/api.ts new file mode 100644 index 00000000..a26a5814 --- /dev/null +++ b/src/app/bots/claude-web/api.ts @@ -0,0 +1,27 @@ +import { ofetch } from 'ofetch' +import { uuid } from '~utils' +import { ChatError, ErrorCode } from '~utils/errors' + +export async function fetchOrganizationId(): Promise { + let resp: Response + try { + resp = await fetch('https://claude.ai/api/organizations', { redirect: 'error', cache: 'no-cache' }) + } catch (err) { + console.error(err) + throw new ChatError('Claude webapp not avaiable in your country', ErrorCode.CLAUDE_WEB_UNAVAILABLE) + } + if (resp.status === 403) { + throw new ChatError('UNAUTHORIZED', ErrorCode.CLAUDE_WEB_UNAUTHORIZED) + } + const orgs = await resp.json() + return orgs[0].uuid +} + +export async function createConversation(organizationId: string): Promise { + const id = uuid() + await ofetch(`https://claude.ai/api/organizations/${organizationId}/chat_conversations`, { + method: 'POST', + body: { name: '', uuid: id }, + }) + return id +} diff --git a/src/app/bots/claude-web/index.ts b/src/app/bots/claude-web/index.ts new file mode 100644 index 00000000..7553f2d8 --- /dev/null +++ b/src/app/bots/claude-web/index.ts @@ -0,0 +1,68 @@ +import { parseSSEResponse } from '~utils/sse' +import { AbstractBot, SendMessageParams } from '../abstract-bot' +import { createConversation, fetchOrganizationId } from './api' +import { requestHostPermission } from '~app/utils/permissions' +import { ChatError, ErrorCode } from '~utils/errors' + +interface ConversationContext { + conversationId: string +} + +export class ClaudeWebBot extends AbstractBot { + private organizationId?: string + private conversationContext?: ConversationContext + + async doSendMessage(params: SendMessageParams) { + if (!(await requestHostPermission('https://*.claude.ai/'))) { + throw new ChatError('Missing claude.ai permission', ErrorCode.MISSING_HOST_PERMISSION) + } + + if (!this.organizationId) { + this.organizationId = await fetchOrganizationId() + } + + if (!this.conversationContext) { + const conversationId = await createConversation(this.organizationId) + this.conversationContext = { conversationId } + } + + const resp = await fetch('https://claude.ai/api/append_message', { + method: 'POST', + signal: params.signal, + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + organization_uuid: this.organizationId, + conversation_uuid: this.conversationContext.conversationId, + text: params.prompt, + completion: { + prompt: params.prompt, + model: 'claude-2', + }, + attachments: [], + }), + }) + + await parseSSEResponse(resp, (message) => { + console.debug('claude sse message', message) + const payload = JSON.parse(message) + if (payload.completion) { + params.onEvent({ + type: 'UPDATE_ANSWER', + data: { text: payload.completion.trimStart() }, + }) + } + }) + + params.onEvent({ type: 'DONE' }) + } + + resetConversation() { + this.conversationContext = undefined + } + + get name() { + return 'Claude (webapp/claude-2)' + } +} diff --git a/src/app/bots/claude/index.ts b/src/app/bots/claude/index.ts index d5406d50..1ccefe02 100644 --- a/src/app/bots/claude/index.ts +++ b/src/app/bots/claude/index.ts @@ -1,6 +1,7 @@ import { ClaudeMode, getUserConfig } from '~/services/user-config' import { AsyncAbstractBot } from '../abstract-bot' import { ClaudeApiBot } from '../claude-api' +import { ClaudeWebBot } from '../claude-web' import { PoeWebBot } from '../poe' export class ClaudeBot extends AsyncAbstractBot { @@ -15,6 +16,9 @@ export class ClaudeBot extends AsyncAbstractBot { claudeApiModel: config.claudeApiModel, }) } + if (claudeMode === ClaudeMode.Webapp) { + return new ClaudeWebBot() + } return new PoeWebBot(config.poeModel) } } diff --git a/src/app/components/Chat/ErrorAction.tsx b/src/app/components/Chat/ErrorAction.tsx index 533c2b5c..26889aa4 100644 --- a/src/app/components/Chat/ErrorAction.tsx +++ b/src/app/components/Chat/ErrorAction.tsx @@ -90,6 +90,13 @@ const ErrorAction: FC<{ error: ChatError }> = ({ error }) => { ) } + if (error.code === ErrorCode.CLAUDE_WEB_UNAUTHORIZED) { + return ( + +