@rebilly/risk-data-collector 4.21.4 → 4.21.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,5 @@
1
+ ## [4.21.5](https://github.com/Rebilly/rebilly/compare/risk-data-collector-v4.21.4...risk-data-collector-v4.21.5) (2024-04-08)
2
+
1
3
  ## [4.21.4](https://github.com/Rebilly/rebilly/compare/risk-data-collector-v4.21.3...risk-data-collector-v4.21.4) (2024-04-05)
2
4
 
3
5
  ## [4.21.3](https://github.com/Rebilly/rebilly/compare/risk-data-collector-v4.21.2...risk-data-collector-v4.21.3) (2024-04-04)
@@ -56,7 +56,7 @@ function Re(r, e) {
56
56
  }(r, e) ? r[e] : void 0;
57
57
  }
58
58
  var b = { default: "endpoint" }, j = { default: "tlsEndpoint" };
59
- function I(r) {
59
+ function m(r) {
60
60
  for (var e = "", t = 0; t < r.length; ++t)
61
61
  if (t > 0) {
62
62
  var n = r[t].toLowerCase();
@@ -65,7 +65,7 @@ function I(r) {
65
65
  e += r[t].toUpperCase();
66
66
  return e;
67
67
  }
68
- var F = "Client timeout", M = "Network connection error", x = "Network request aborted", B = "Response cannot be parsed", T = "Blocked by CSP", A = "The endpoint parameter is not a valid URL", V = /* @__PURE__ */ I("WrongRegion"), q = /* @__PURE__ */ I("SubscriptionNotActive"), G = /* @__PURE__ */ I("UnsupportedVersion"), $ = /* @__PURE__ */ I("InstallationMethodRestricted"), H = /* @__PURE__ */ I("HostnameRestricted"), W = /* @__PURE__ */ I("IntegrationFailed"), P = "API key required", D = "API key not found", C = "API key expired", J = "Request cannot be parsed", Y = "Request failed", X = "Request failed to process", Q = "Too many requests, rate limit exceeded", z = "Not available for this origin", Z = "Not available with restricted header", ee = P, te = D, ne = C, fe = "3.9.0", S = "Failed to load the JS script of the agent", L = "9319";
68
+ var F = "Client timeout", M = "Network connection error", x = "Network request aborted", B = "Response cannot be parsed", T = "Blocked by CSP", A = "The endpoint parameter is not a valid URL", V = /* @__PURE__ */ m("WrongRegion"), q = /* @__PURE__ */ m("SubscriptionNotActive"), G = /* @__PURE__ */ m("UnsupportedVersion"), $ = /* @__PURE__ */ m("InstallationMethodRestricted"), H = /* @__PURE__ */ m("HostnameRestricted"), W = /* @__PURE__ */ m("IntegrationFailed"), P = "API key required", D = "API key not found", C = "API key expired", J = "Request cannot be parsed", Y = "Request failed", X = "Request failed to process", Q = "Too many requests, rate limit exceeded", z = "Not available for this origin", Z = "Not available with restricted header", ee = P, te = D, ne = C, fe = "3.9.2", S = "Failed to load the JS script of the agent", L = "9319";
69
69
  function Ee(r, e) {
70
70
  var t, n, o, i, a, l, u = [], h = (t = function(R) {
71
71
  var d = he([], R, !0);
@@ -86,12 +86,12 @@ function Ee(r, e) {
86
86
  else if (p === L)
87
87
  t.exclude();
88
88
  else if (p === S) {
89
- var _ = Date.now() - R.getTime() < 50, g = t.current();
90
- g && _ && !o.has(g) && (o.add(g), f = 0), t.postpone();
89
+ var _ = Date.now() - R.getTime() < 50, v = t.current();
90
+ v && _ && !o.has(v) && (o.add(v), f = 0), t.postpone();
91
91
  } else
92
92
  t.postpone();
93
- var m = t.current();
94
- return m === void 0 ? void 0 : [m, f ?? R.getTime() + n() - Date.now()];
93
+ var I = t.current();
94
+ return I === void 0 ? void 0 : [I, f ?? R.getTime() + n() - Date.now()];
95
95
  }]), c = h[0], s = h[1];
96
96
  if (c === void 0)
97
97
  return Promise.reject(new TypeError("The list of script URL patterns is empty"));
@@ -104,12 +104,12 @@ function Ee(r, e) {
104
104
  }, f), p.catch(function(_) {
105
105
  if (u.length >= 5)
106
106
  throw _;
107
- var g = s(d, _);
108
- if (!g)
107
+ var v = s(d, _);
108
+ if (!v)
109
109
  throw _;
110
- var m, se = g[0], le = g[1];
111
- return (m = le, new Promise(function(ue) {
112
- return setTimeout(ue, m);
110
+ var I, se = v[0], le = v[1];
111
+ return (I = le, new Promise(function(ue) {
112
+ return setTimeout(ue, I);
113
113
  })).then(function() {
114
114
  return E(se);
115
115
  });
@@ -216,7 +216,7 @@ function _e() {
216
216
  return t;
217
217
  }
218
218
  var Oe = { load: oe, defaultScriptUrlPattern: K, ERROR_SCRIPT_LOAD_FAIL: S, ERROR_API_KEY_EXPIRED: C, ERROR_API_KEY_INVALID: D, ERROR_API_KEY_MISSING: P, ERROR_BAD_REQUEST_FORMAT: J, ERROR_BAD_RESPONSE_FORMAT: B, ERROR_CLIENT_TIMEOUT: F, ERROR_CSP_BLOCK: T, ERROR_FORBIDDEN_ENDPOINT: H, ERROR_FORBIDDEN_HEADER: Z, ERROR_FORBIDDEN_ORIGIN: z, ERROR_GENERAL_SERVER_FAILURE: Y, ERROR_INSTALLATION_METHOD_RESTRICTED: $, ERROR_INTEGRATION_FAILURE: W, ERROR_INVALID_ENDPOINT: A, ERROR_NETWORK_ABORT: x, ERROR_NETWORK_CONNECTION: M, ERROR_RATE_LIMIT: Q, ERROR_SERVER_TIMEOUT: X, ERROR_SUBSCRIPTION_NOT_ACTIVE: q, ERROR_TOKEN_EXPIRED: ne, ERROR_TOKEN_INVALID: te, ERROR_TOKEN_MISSING: ee, ERROR_UNSUPPORTED_VERSION: G, ERROR_WRONG_REGION: V, defaultEndpoint: b, defaultTlsEndpoint: j };
219
- const ve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
219
+ const ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
220
220
  __proto__: null,
221
221
  ERROR_API_KEY_EXPIRED: C,
222
222
  ERROR_API_KEY_INVALID: D,
@@ -248,8 +248,8 @@ const ve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
248
248
  defaultScriptUrlPattern: K,
249
249
  defaultTlsEndpoint: j,
250
250
  load: oe
251
- }, Symbol.toStringTag, { value: "Module" })), ie = "@fpjs@client@", ge = 60 * 60 * 24, ae = 60 * 60, ye = () => Date.now();
252
- class Ie {
251
+ }, Symbol.toStringTag, { value: "Module" })), ie = "@fpjs@client@", ve = 60 * 60 * 24, ae = 60 * 60, ye = () => Date.now();
252
+ class me {
253
253
  constructor(e) {
254
254
  var t;
255
255
  this.tag = e.tag || null, this.linkedId = e.linkedId || null, this.extendedResult = (t = e.extendedResult) !== null && t !== void 0 ? t : !1;
@@ -268,7 +268,7 @@ function y(r, e) {
268
268
  function ce(r, e) {
269
269
  return r.replace(`${e}__`, "");
270
270
  }
271
- class me {
271
+ class Ie {
272
272
  constructor(e = ie) {
273
273
  this.prefix = e;
274
274
  }
@@ -418,26 +418,26 @@ class Te {
418
418
  return [];
419
419
  }
420
420
  }
421
- var v;
421
+ var g;
422
422
  (function(r) {
423
423
  r.Memory = "memory", r.LocalStorage = "localstorage", r.SessionStorage = "sessionstorage", r.NoCache = "nocache";
424
- })(v || (v = {}));
425
- var Ae = "1.3.0";
424
+ })(g || (g = {}));
425
+ var Ae = "1.3.1";
426
426
  const Pe = {
427
- [v.Memory]: () => new Ne().enclosedCache,
428
- [v.LocalStorage]: (r) => new me(r),
429
- [v.SessionStorage]: (r) => new we(r),
430
- [v.NoCache]: () => new Te()
427
+ [g.Memory]: () => new Ne().enclosedCache,
428
+ [g.LocalStorage]: (r) => new Ie(r),
429
+ [g.SessionStorage]: (r) => new we(r),
430
+ [g.NoCache]: () => new Te()
431
431
  }, be = (r) => {
432
432
  switch (r) {
433
- case v.SessionStorage:
433
+ case g.SessionStorage:
434
434
  try {
435
435
  window.sessionStorage.getItem("item");
436
436
  } catch {
437
437
  return !1;
438
438
  }
439
439
  return !0;
440
- case v.LocalStorage:
440
+ case g.LocalStorage:
441
441
  try {
442
442
  window.localStorage.getItem("item");
443
443
  } catch {
@@ -460,11 +460,11 @@ class w {
460
460
  if (e != null && e.cache)
461
461
  n = e.cache;
462
462
  else {
463
- if (this.cacheLocation = (e == null ? void 0 : e.cacheLocation) || v.SessionStorage, !k(this.cacheLocation))
463
+ if (this.cacheLocation = (e == null ? void 0 : e.cacheLocation) || g.SessionStorage, !k(this.cacheLocation))
464
464
  throw new Error(`Invalid cache location "${this.cacheLocation}"`);
465
- be(this.cacheLocation) || (this.cacheLocation = v.Memory), n = k(this.cacheLocation)(e == null ? void 0 : e.cachePrefix);
465
+ be(this.cacheLocation) || (this.cacheLocation = g.Memory), n = k(this.cacheLocation)(e == null ? void 0 : e.cachePrefix);
466
466
  }
467
- if (e != null && e.cacheTimeInSeconds && e.cacheTimeInSeconds > ge)
467
+ if (e != null && e.cacheTimeInSeconds && e.cacheTimeInSeconds > ve)
468
468
  throw new Error("Cache time cannot exceed 86400 seconds (24 hours)");
469
469
  const o = (t = e == null ? void 0 : e.cacheTimeInSeconds) !== null && t !== void 0 ? t : ae;
470
470
  this.cacheManager = new Se(n, o);
@@ -476,8 +476,8 @@ class w {
476
476
  * @param passedLoadOptions Additional load options to be passed to the agent, they will be merged with load options provided in the constructor.
477
477
  */
478
478
  init(e) {
479
- var t, n;
480
479
  return O(this, void 0, void 0, function* () {
480
+ var t, n;
481
481
  if (!this.loadOptions && !e)
482
482
  throw new TypeError("No load options provided");
483
483
  const o = Object.assign(Object.assign(Object.assign({}, this.loadOptions), e), { integrationInfo: [
@@ -486,7 +486,7 @@ class w {
486
486
  `fingerprintjs-pro-spa/${Ae}`
487
487
  ] });
488
488
  if (!this.agentPromise) {
489
- const i = (n = this.customAgent) !== null && n !== void 0 ? n : ve;
489
+ const i = (n = this.customAgent) !== null && n !== void 0 ? n : ge;
490
490
  this.agentPromise = i.load(o).then((a) => (this.agent = a, a)).catch((a) => {
491
491
  throw this.agentPromise = null, a;
492
492
  });
@@ -501,8 +501,8 @@ class w {
501
501
  * @param options
502
502
  * @param ignoreCache if set to true a request to the API will be made even if the data is present in cache
503
503
  */
504
- getVisitorData(e = {}, t = !1) {
505
- return O(this, void 0, void 0, function* () {
504
+ getVisitorData() {
505
+ return O(this, arguments, void 0, function* (e = {}, t = !1) {
506
506
  const o = w.makeCacheKey(e).toKey();
507
507
  if (!this.inFlightRequests.has(o)) {
508
508
  const i = this._identify(e, t).finally(() => {
@@ -516,8 +516,8 @@ class w {
516
516
  /**
517
517
  * Returns cached visitor data based on the request options, or undefined if the data is not present in cache
518
518
  * */
519
- getVisitorDataFromCache(e = {}) {
520
- return O(this, void 0, void 0, function* () {
519
+ getVisitorDataFromCache() {
520
+ return O(this, arguments, void 0, function* (e = {}) {
521
521
  const t = w.makeCacheKey(e), n = yield this.cacheManager.get(t);
522
522
  return n ? Object.assign(Object.assign({}, n), { cacheHit: !0 }) : void 0;
523
523
  });
@@ -525,8 +525,8 @@ class w {
525
525
  /**
526
526
  * Checks if request matching given options is present in cache
527
527
  * */
528
- isInCache(e = {}) {
529
- return O(this, void 0, void 0, function* () {
528
+ isInCache() {
529
+ return O(this, arguments, void 0, function* (e = {}) {
530
530
  return !!(yield this.getVisitorDataFromCache(e));
531
531
  });
532
532
  }
@@ -542,18 +542,18 @@ class w {
542
542
  * Makes a CacheKey object from GetOptions
543
543
  */
544
544
  static makeCacheKey(e) {
545
- return new Ie(e);
546
- }
547
- _identify(e, t = !1) {
548
- return O(this, void 0, void 0, function* () {
549
- const n = w.makeCacheKey(e);
550
- if (!t) {
551
- const i = yield this.cacheManager.get(n);
552
- if (i)
553
- return Object.assign(Object.assign({}, i), { cacheHit: !0 });
545
+ return new me(e);
546
+ }
547
+ _identify(e) {
548
+ return O(this, arguments, void 0, function* (t, n = !1) {
549
+ const o = w.makeCacheKey(t);
550
+ if (!n) {
551
+ const a = yield this.cacheManager.get(o);
552
+ if (a)
553
+ return Object.assign(Object.assign({}, a), { cacheHit: !0 });
554
554
  }
555
- const o = yield this.agent.get(e);
556
- return yield this.cacheManager.set(n, o), Object.assign(Object.assign({}, o), { cacheHit: !1 });
555
+ const i = yield this.agent.get(t);
556
+ return yield this.cacheManager.set(o, i), Object.assign(Object.assign({}, i), { cacheHit: !1 });
557
557
  });
558
558
  }
559
559
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-collector.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/@fingerprintjs/fingerprintjs-pro/dist/fp.esm.min.js","../../../node_modules/@fingerprintjs/fingerprintjs-pro-spa/dist/fp-pro-spa.esm.js","../src/fingerprint.js","../src/kount.js","../src/adblock-detect.js","../src/data-collector.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/**\n * FingerprintJS Pro v3.9.0 - Copyright (c) FingerprintJS, Inc, 2024 (https://fingerprint.com)\n */\n\nimport{__spreadArray as e,__rest as t,__assign as n}from\"tslib\";function r(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}var o={default:\"endpoint\"},i={default:\"tlsEndpoint\"};function u(e){for(var t=\"\",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=\" \".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var a=\"Client timeout\",R=\"Network connection error\",c=\"Network request aborted\",s=\"Response cannot be parsed\",f=\"Blocked by CSP\",E=\"The endpoint parameter is not a valid URL\",l=/*#__PURE__*/u(\"WrongRegion\"),d=/*#__PURE__*/u(\"SubscriptionNotActive\"),p=/*#__PURE__*/u(\"UnsupportedVersion\"),_=/*#__PURE__*/u(\"InstallationMethodRestricted\"),v=/*#__PURE__*/u(\"HostnameRestricted\"),O=/*#__PURE__*/u(\"IntegrationFailed\"),h=\"API key required\",I=\"API key not found\",T=\"API key expired\",N=\"Request cannot be parsed\",m=\"Request failed\",w=\"Request failed to process\",A=\"Too many requests, rate limit exceeded\",P=\"Not available for this origin\",y=\"Not available with restricted header\",D=h,S=I,L=T,U=\"3.9.0\",g=\"Failed to load the JS script of the agent\",b=\"9319\";function C(t,n){var r,o,i,u,a,R,c=[],s=(r=function(t){var n=e([],t,!0);return{current:function(){return n[0]},postpone:function(){var e=n.shift();void 0!==e&&n.push(e)},exclude:function(){n.shift()}}}(t),u=100,a=3e3,R=0,o=function(){return Math.random()*Math.min(a,u*Math.pow(2,R++))},i=new Set,[r.current(),function(e,t){var n,u=t instanceof Error?t.message:\"\";if(u===f||u===E)r.exclude(),n=0;else if(u===b)r.exclude();else if(u===g){var a=Date.now()-e.getTime()<50,R=r.current();R&&a&&!i.has(R)&&(i.add(R),n=0),r.postpone()}else r.postpone();var c=r.current();return void 0===c?void 0:[c,null!=n?n:e.getTime()+o()-Date.now()]}]),l=s[0],d=s[1];if(void 0===l)return Promise.reject(new TypeError(\"The list of script URL patterns is empty\"));var p=function(e){var t=new Date,r=function(n){return c.push({url:e,startedAt:t,finishedAt:new Date,error:n})},o=n(e);return o.then((function(){return r()}),r),o.catch((function(e){if(c.length>=5)throw e;var n=d(t,e);if(!n)throw e;var r,o=n[0],i=n[1];return(r=i,new Promise((function(e){return setTimeout(e,r)}))).then((function(){return p(o)}))}))};return p(l).then((function(e){return[e,c]}))}var K=\"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js\",M=K;function B(e){var o;e.scriptUrlPattern;var i=e.token,u=e.apiKey,a=void 0===u?i:u,R=t(e,[\"scriptUrlPattern\",\"token\",\"apiKey\"]),c=null!==(o=r(e,\"scriptUrlPattern\"))&&void 0!==o?o:K,s=function(){var e=[],t=function(){e.push({time:new Date,state:document.visibilityState})},n=function(e,t,n,r){return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}(document,\"visibilitychange\",t);return t(),[e,n]}(),f=s[0],E=s[1];return Promise.resolve().then((function(){if(!a||\"string\"!=typeof a)throw new Error(h);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return\"<version>\"===e?\"3\":\"<apiKey>\"===e?n(t):\"<loaderVersion>\"===e?n(U):e}))}(String(e),t)}))}(c,a);return C(e,F)})).catch((function(e){throw E(),function(e){if(e instanceof Error&&e.message===b)return new Error(g);return e}(e)})).then((function(e){var t=e[0],r=e[1];return E(),t.load(n(n({},R),{ldi:{attempts:r,visibilityStates:f}}))}))}function F(e){return function(e,t,n,r){var o,i=document,u=\"securitypolicyviolation\",a=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,R())};i.addEventListener(u,a);var R=function(){return i.removeEventListener(u,a)};return null==r||r.then(R,R),Promise.resolve().then(t).then((function(e){return R(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(R(),o)return n(o);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(t){if(t instanceof Error&&\"TypeError\"===t.name)return!0;throw t}}(e))throw new Error(E);var r=document.createElement(\"script\"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName(\"head\")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(g))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)}),(function(){throw new Error(f)})).then(V)}function V(){var e=window,t=\"__fpjs_p_l_b\",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),\"function\"!=typeof(null==n?void 0:n.load))throw new Error(b);return n}var k={load:B,defaultScriptUrlPattern:M,ERROR_SCRIPT_LOAD_FAIL:g,ERROR_API_KEY_EXPIRED:T,ERROR_API_KEY_INVALID:I,ERROR_API_KEY_MISSING:h,ERROR_BAD_REQUEST_FORMAT:N,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:a,ERROR_CSP_BLOCK:f,ERROR_FORBIDDEN_ENDPOINT:v,ERROR_FORBIDDEN_HEADER:y,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:m,ERROR_INSTALLATION_METHOD_RESTRICTED:_,ERROR_INTEGRATION_FAILURE:O,ERROR_INVALID_ENDPOINT:E,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:w,ERROR_SUBSCRIPTION_NOT_ACTIVE:d,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:S,ERROR_TOKEN_MISSING:D,ERROR_UNSUPPORTED_VERSION:p,ERROR_WRONG_REGION:l,defaultEndpoint:o,defaultTlsEndpoint:i};export{T as ERROR_API_KEY_EXPIRED,I as ERROR_API_KEY_INVALID,h as ERROR_API_KEY_MISSING,N as ERROR_BAD_REQUEST_FORMAT,s as ERROR_BAD_RESPONSE_FORMAT,a as ERROR_CLIENT_TIMEOUT,f as ERROR_CSP_BLOCK,v as ERROR_FORBIDDEN_ENDPOINT,y as ERROR_FORBIDDEN_HEADER,P as ERROR_FORBIDDEN_ORIGIN,m as ERROR_GENERAL_SERVER_FAILURE,_ as ERROR_INSTALLATION_METHOD_RESTRICTED,O as ERROR_INTEGRATION_FAILURE,E as ERROR_INVALID_ENDPOINT,c as ERROR_NETWORK_ABORT,R as ERROR_NETWORK_CONNECTION,A as ERROR_RATE_LIMIT,g as ERROR_SCRIPT_LOAD_FAIL,w as ERROR_SERVER_TIMEOUT,d as ERROR_SUBSCRIPTION_NOT_ACTIVE,L as ERROR_TOKEN_EXPIRED,S as ERROR_TOKEN_INVALID,D as ERROR_TOKEN_MISSING,p as ERROR_UNSUPPORTED_VERSION,l as ERROR_WRONG_REGION,k as default,o as defaultEndpoint,M as defaultScriptUrlPattern,i as defaultTlsEndpoint,B as load};\n","/**\n * FingerprintJS Pro SPA v1.3.0 - Copyright (c) FingerprintJS, Inc, 2023 (https://fingerprint.com)\n * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.\n */\n\nimport { __awaiter } from 'tslib';\nimport * as FingerprintJSPro from '@fingerprintjs/fingerprintjs-pro';\nexport { FingerprintJSPro };\n\nconst CACHE_KEY_PREFIX = '@fpjs@client@';\nconst MAX_CACHE_LIFE = 60 * 60 * 24; // 24 hours\nconst DEFAULT_CACHE_LIFE = 60 * 60; // 1 hour\nconst DEFAULT_NOW_PROVIDER = () => Date.now();\nclass CacheKey {\n constructor(options) {\n var _a;\n this.tag = options.tag || null;\n this.linkedId = options.linkedId || null;\n this.extendedResult = (_a = options.extendedResult) !== null && _a !== void 0 ? _a : false;\n }\n /**\n * Converts this `CacheKey` instance into a string for use in a cache\n * @returns A string representation of the key\n */\n toKey() {\n return `${JSON.stringify(this.tag)}__${JSON.stringify(this.linkedId)}__${this.extendedResult}`;\n }\n}\nfunction getKeyWithPrefix(key, prefix) {\n return `${prefix}__${key}`;\n}\nfunction removePrefixFromKey(key, prefix) {\n return key.replace(`${prefix}__`, '');\n}\n\n/**\n * Implementation of caching that uses local storage\n * */\nclass LocalStorageCache {\n constructor(prefix = CACHE_KEY_PREFIX) {\n this.prefix = prefix;\n }\n set(key, entry) {\n window.localStorage.setItem(getKeyWithPrefix(key, this.prefix), JSON.stringify(entry));\n }\n get(key) {\n const json = window.localStorage.getItem(getKeyWithPrefix(key, this.prefix));\n if (!json) {\n return;\n }\n try {\n return JSON.parse(json);\n }\n catch (e) {\n return;\n }\n }\n remove(key) {\n window.localStorage.removeItem(getKeyWithPrefix(key, this.prefix));\n }\n allKeys() {\n return Object.keys(window.localStorage)\n .filter((key) => key.startsWith(this.prefix))\n .map((key) => removePrefixFromKey(key, this.prefix));\n }\n}\n\n/**\n * Implementation of caching that uses session storage\n * */\nclass SessionStorageCache {\n constructor(prefix = CACHE_KEY_PREFIX) {\n this.prefix = prefix;\n }\n /**\n * It takes a key and an entry, and sets the entry in the session storage with the key\n * @param {string} key - The key to store the entry under.\n * @param {Cacheable} entry - The value to be stored in the cache.\n */\n set(key, entry) {\n window.sessionStorage.setItem(getKeyWithPrefix(key, this.prefix), JSON.stringify(entry));\n }\n /**\n * It gets the value of the key from the session storage, parses it as JSON, and returns it\n * @param {string} key - The key to store the data under.\n * @returns The value of the key in the sessionStorage.\n */\n get(key) {\n const json = window.sessionStorage.getItem(getKeyWithPrefix(key, this.prefix));\n if (!json) {\n return;\n }\n try {\n return JSON.parse(json);\n }\n catch (e) {\n return;\n }\n }\n /**\n * It removes the item from session storage with the given key\n * @param {string} key - The key to store the value under.\n */\n remove(key) {\n window.sessionStorage.removeItem(getKeyWithPrefix(key, this.prefix));\n }\n /**\n * It returns an array of all the keys in the session storage that start with the prefix\n * @returns An array of all the keys in the sessionStorage that start with the prefix.\n */\n allKeys() {\n return Object.keys(window.sessionStorage)\n .filter((key) => key.startsWith(this.prefix))\n .map((key) => removePrefixFromKey(key, this.prefix));\n }\n}\n\n/**\n * Wraps a cache implementation and adds expiration logic\n * */\nclass CacheManager {\n constructor(cache, cacheTime = DEFAULT_CACHE_LIFE, nowProvider) {\n this.cache = cache;\n this.cacheTime = cacheTime;\n this.nowProvider = nowProvider || DEFAULT_NOW_PROVIDER;\n }\n /**\n * It gets a cache entry from the cache, and if it's expired, it removes it from the cache\n * @param cacheKey - CacheKey<TExtended>\n * @returns A promise that resolves to a cache entry or undefined.\n */\n get(cacheKey) {\n return __awaiter(this, void 0, void 0, function* () {\n const wrappedEntry = yield this.cache.get(cacheKey.toKey());\n if (!wrappedEntry) {\n return;\n }\n const now = yield this.nowProvider();\n const nowSeconds = Math.floor(now / 1000);\n if (wrappedEntry.expiresAt < nowSeconds) {\n yield this.cache.remove(cacheKey.toKey());\n return;\n }\n return wrappedEntry.body;\n });\n }\n /**\n * It takes a cache key and a cache entry, wraps the cache entry, and then sets the wrapped cache entry in the cache\n * @param cacheKey - CacheKey<TExtended>\n * @param {CacheEntry} entry - The cache entry to be stored.\n */\n set(cacheKey, entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const wrappedEntry = yield this.wrapCacheEntry(entry);\n yield this.cache.set(cacheKey.toKey(), wrappedEntry);\n });\n }\n /**\n * It gets all the keys in the cache, and then removes them all\n */\n clearCache() {\n return __awaiter(this, void 0, void 0, function* () {\n const keys = yield this.cache.allKeys();\n yield Promise.all(keys.map((key) => this.cache.remove(key)));\n });\n }\n wrapCacheEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const now = yield this.nowProvider();\n const expiresInTime = Math.floor(now / 1000) + this.cacheTime;\n return {\n body: entry,\n expiresAt: expiresInTime,\n };\n });\n }\n}\n\n/**\n * Implementation of caching that uses in-memory storage\n * */\nclass InMemoryCache {\n constructor() {\n this.enclosedCache = (function () {\n const cache = {};\n return {\n set(key, entry) {\n cache[key] = entry;\n },\n get(key) {\n const cacheEntry = cache[key];\n if (!cacheEntry) {\n return;\n }\n return cacheEntry;\n },\n remove(key) {\n delete cache[key];\n },\n allKeys() {\n return Object.keys(cache);\n },\n };\n })();\n }\n}\n\n/**\n * Implementation of stub cache that is used when cache is disabled by user\n * */\nclass CacheStub {\n set() { }\n get() {\n return undefined;\n }\n remove() { }\n allKeys() {\n return [];\n }\n}\n\nvar CacheLocation;\n(function (CacheLocation) {\n CacheLocation[\"Memory\"] = \"memory\";\n CacheLocation[\"LocalStorage\"] = \"localstorage\";\n CacheLocation[\"SessionStorage\"] = \"sessionstorage\";\n CacheLocation[\"NoCache\"] = \"nocache\";\n})(CacheLocation || (CacheLocation = {}));\n\nvar version = \"1.3.0\";\n\nconst cacheLocationBuilders = {\n [CacheLocation.Memory]: () => new InMemoryCache().enclosedCache,\n [CacheLocation.LocalStorage]: (prefix) => new LocalStorageCache(prefix),\n [CacheLocation.SessionStorage]: (prefix) => new SessionStorageCache(prefix),\n [CacheLocation.NoCache]: () => new CacheStub(),\n};\nconst doesBrowserSupportCacheLocation = (cacheLocation) => {\n switch (cacheLocation) {\n case CacheLocation.SessionStorage:\n try {\n window.sessionStorage.getItem('item');\n }\n catch (e) {\n return false;\n }\n return true;\n case CacheLocation.LocalStorage:\n try {\n window.localStorage.getItem('item');\n }\n catch (e) {\n return false;\n }\n return true;\n default:\n return true;\n }\n};\nconst cacheFactory = (location) => {\n return cacheLocationBuilders[location];\n};\n/**\n * FingerprintJS SDK for Single Page Applications\n */\nclass FpjsClient {\n constructor(options) {\n var _a;\n this.inFlightRequests = new Map();\n this.agentPromise = null;\n this.customAgent = options === null || options === void 0 ? void 0 : options.customAgent;\n this.agent = {\n get: () => {\n throw new Error(\"FPJSAgent hasn't loaded yet. Make sure to call the init() method first.\");\n },\n };\n this.loadOptions = options === null || options === void 0 ? void 0 : options.loadOptions;\n if ((options === null || options === void 0 ? void 0 : options.cache) && (options === null || options === void 0 ? void 0 : options.cacheLocation)) {\n console.warn('Both `cache` and `cacheLocation` options have been specified in the FpjsClient configuration; ignoring `cacheLocation` and using `cache`.');\n }\n let cache;\n if (options === null || options === void 0 ? void 0 : options.cache) {\n cache = options.cache;\n }\n else {\n this.cacheLocation = (options === null || options === void 0 ? void 0 : options.cacheLocation) || CacheLocation.SessionStorage;\n if (!cacheFactory(this.cacheLocation)) {\n throw new Error(`Invalid cache location \"${this.cacheLocation}\"`);\n }\n if (!doesBrowserSupportCacheLocation(this.cacheLocation)) {\n this.cacheLocation = CacheLocation.Memory;\n }\n cache = cacheFactory(this.cacheLocation)(options === null || options === void 0 ? void 0 : options.cachePrefix);\n }\n if ((options === null || options === void 0 ? void 0 : options.cacheTimeInSeconds) && options.cacheTimeInSeconds > MAX_CACHE_LIFE) {\n throw new Error(`Cache time cannot exceed 86400 seconds (24 hours)`);\n }\n const cacheTime = (_a = options === null || options === void 0 ? void 0 : options.cacheTimeInSeconds) !== null && _a !== void 0 ? _a : DEFAULT_CACHE_LIFE;\n this.cacheManager = new CacheManager(cache, cacheTime);\n }\n /**\n * Loads FPJS JS agent with certain settings and stores the instance in memory\n * [https://dev.fingerprint.com/docs/js-agent#agent-initialization]\n *\n * @param passedLoadOptions Additional load options to be passed to the agent, they will be merged with load options provided in the constructor.\n */\n init(passedLoadOptions) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.loadOptions && !passedLoadOptions) {\n throw new TypeError('No load options provided');\n }\n const loadOptions = Object.assign(Object.assign(Object.assign({}, this.loadOptions), passedLoadOptions), { integrationInfo: [\n ...(((_a = this.loadOptions) === null || _a === void 0 ? void 0 : _a.integrationInfo) || []),\n ...((passedLoadOptions === null || passedLoadOptions === void 0 ? void 0 : passedLoadOptions.integrationInfo) || []),\n `fingerprintjs-pro-spa/${version}`,\n ] });\n if (!this.agentPromise) {\n const agentLoader = (_b = this.customAgent) !== null && _b !== void 0 ? _b : FingerprintJSPro;\n this.agentPromise = agentLoader\n .load(loadOptions)\n .then((agent) => {\n this.agent = agent;\n return agent;\n })\n .catch((error) => {\n this.agentPromise = null;\n throw error;\n });\n }\n return this.agentPromise;\n });\n }\n /**\n * Returns visitor identification data based on the request options\n * [https://dev.fingerprint.com/docs/js-agent#visitor-identification]\n *\n * @param options\n * @param ignoreCache if set to true a request to the API will be made even if the data is present in cache\n */\n getVisitorData(options = {}, ignoreCache = false) {\n return __awaiter(this, void 0, void 0, function* () {\n const cacheKey = FpjsClient.makeCacheKey(options);\n const key = cacheKey.toKey();\n if (!this.inFlightRequests.has(key)) {\n const promise = this._identify(options, ignoreCache).finally(() => {\n this.inFlightRequests.delete(key);\n });\n this.inFlightRequests.set(key, promise);\n }\n return (yield this.inFlightRequests.get(key));\n });\n }\n /**\n * Returns cached visitor data based on the request options, or undefined if the data is not present in cache\n * */\n getVisitorDataFromCache(options = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const cacheKey = FpjsClient.makeCacheKey(options);\n const cacheResult = yield this.cacheManager.get(cacheKey);\n return cacheResult ? Object.assign(Object.assign({}, cacheResult), { cacheHit: true }) : undefined;\n });\n }\n /**\n * Checks if request matching given options is present in cache\n * */\n isInCache(options = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n return Boolean(yield this.getVisitorDataFromCache(options));\n });\n }\n /**\n * Clears visitor data from cache regardless of the cache implementation\n */\n clearCache() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.cacheManager.clearCache();\n });\n }\n /**\n * Makes a CacheKey object from GetOptions\n */\n static makeCacheKey(options) {\n return new CacheKey(options);\n }\n _identify(options, ignoreCache = false) {\n return __awaiter(this, void 0, void 0, function* () {\n const key = FpjsClient.makeCacheKey(options);\n if (!ignoreCache) {\n const cacheResult = yield this.cacheManager.get(key);\n if (cacheResult) {\n return Object.assign(Object.assign({}, cacheResult), { cacheHit: true });\n }\n }\n const agentResult = (yield this.agent.get(options));\n yield this.cacheManager.set(key, agentResult);\n return Object.assign(Object.assign({}, agentResult), { cacheHit: false });\n });\n }\n}\n\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultEndpoint` instead, this export will be removed in the next major version\n * */\nconst defaultEndpoint = FingerprintJSPro.defaultEndpoint;\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultTlsEndpoint` instead, this export will be removed in the next major version\n */\nconst defaultTlsEndpoint = FingerprintJSPro.defaultTlsEndpoint;\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultScriptUrlPattern` instead, this export will be removed in the next major version\n */\nconst defaultScriptUrlPattern = FingerprintJSPro.defaultScriptUrlPattern;\n\nexport { CacheLocation, CacheStub, FpjsClient, InMemoryCache, LocalStorageCache, SessionStorageCache, defaultEndpoint, defaultScriptUrlPattern, defaultTlsEndpoint };\n","import {\n FpjsClient,\n FingerprintJSPro,\n} from '@fingerprintjs/fingerprintjs-pro-spa';\n\n/**\n * generateFingerprint is implemented following guidelines\n * from the @fingerprintjs/fingerprintjs package documentation:\n * https://github.com/fingerprintjs/fingerprintjs/blob/master/docs/api.md\n */\nasync function generateFingerprint() {\n try {\n const isRunningByCypress = typeof Cypress === 'object';\n const inRunningInUnitTests =\n typeof process === 'object' && process.env.NODE_ENV === 'test';\n // Skip fingerprint generation when running Cypress tests or in unit tests\n if (isRunningByCypress || inRunningInUnitTests) return 'a-mock-visitor-id';\n\n const cloudfrontUrl = 'https://d2hwnq6cq5q3pi.cloudfront.net';\n const fpjsBehaviorPath = 'wyr92st0i7';\n const fpjsGetResultPath = 'ia1t65gn6i';\n const fpjsAgentDownloadPath = 'db4fuswrza';\n\n const fpjsClient = new FpjsClient({\n loadOptions: {\n apiKey: 'hpFVJecm7Ni7AjSfvBIW',\n endpoint: [\n `${cloudfrontUrl}/${fpjsBehaviorPath}/${fpjsGetResultPath}`,\n FingerprintJSPro.defaultEndpoint,\n ],\n scriptUrlPattern: [\n `${cloudfrontUrl}/${fpjsBehaviorPath}/${fpjsAgentDownloadPath}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,\n FingerprintJSPro.defaultScriptUrlPattern,\n ],\n },\n });\n await fpjsClient.init();\n const result = await fpjsClient.getVisitorData();\n\n return result.visitorId;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e);\n\n return '';\n }\n}\n\nexport default async function getFingerprint() {\n return new Promise((resolve) => {\n if (window.requestIdleCallback) {\n requestIdleCallback(async () => {\n const fingerprint = await generateFingerprint();\n resolve(fingerprint);\n });\n } else {\n setTimeout(async () => {\n const fingerprint = await generateFingerprint();\n resolve(fingerprint);\n }, 500);\n }\n });\n}\n","/* eslint-disable no-undef */\nconst sandboxDataCollectorUrl = 'https://tst.kaptcha.com';\nconst prodDataCollectorUrl = 'https://ssl.kaptcha.com';\n\nconst isProd = (env) => env === 'production';\n\nconst addKountScriptElement = ({ env, kountAccountId, kountSessionId }) => {\n const baseUrl = isProd(env) ? prodDataCollectorUrl : sandboxDataCollectorUrl;\n const kountScriptUrl = new URL(`${baseUrl}/collect/sdk`);\n kountScriptUrl.searchParams.append('m', kountAccountId);\n if (kountSessionId) {\n kountScriptUrl.searchParams.append('m', kountSessionId);\n }\n\n const kountScript = document.createElement('script');\n kountScript.setAttribute('class', 'kaxsdc');\n kountScript.setAttribute('data-event', 'load');\n kountScript.setAttribute('type', 'text/javascript');\n kountScript.setAttribute('src', kountScriptUrl.href);\n\n document.body.append(kountScript);\n\n return kountScript;\n};\n\nexport default async function getFraudSessionId({\n env,\n kountAccountId,\n kountSessionId,\n}) {\n return new Promise((resolve, reject) => {\n const kountScript = addKountScriptElement({\n env,\n kountAccountId,\n kountSessionId,\n });\n\n kountScript.onload = () => {\n const client = new ka.ClientSDK();\n client.setupCallback({\n 'collect-begin': (params) => {\n const { MercSessId } = params;\n resolve(MercSessId);\n },\n });\n client.autoLoadEvents();\n };\n kountScript.onerror = () => {\n reject(new Error('Error attempting to mount Kount script'));\n };\n });\n}\n","// Implementation as per https://www.detectadblock.com/\n// - We host a honeypot ad file with a suspcious name\n// - The ad file in /static/google-adsense.js is deployed to our S3 bucket\n// as part of the semantic release process.\n// - Try to load that file, which ads a div with a unique ID\n// - If that div is not present, then the adblocker is blocking it\nexport const getIsAdBlockEnabled = () => {\n const script = document.createElement('script');\n script.src =\n 'https://cdn.rebilly.com/risk-data-collector/@latest/google-adsense.js';\n\n return new Promise((resolve) => {\n script.onload = () => {\n resolve(document.getElementById('fj2xFkdsoQIQna') === null);\n };\n script.onerror = () => {\n return resolve(true);\n };\n document.head.appendChild(script);\n }).catch(() => {\n return true;\n });\n};\n","/* eslint-disable no-console */\nimport fingerprinter from './fingerprint';\nimport kount from './kount';\nimport { getIsAdBlockEnabled } from './adblock-detect';\n\nasync function collectDataHelper({\n env = null,\n screen,\n navigator,\n kountAccountId = null,\n kountSessionId = null,\n getFingerprint,\n getFraudSessionId,\n}) {\n const { colorDepth, height: screenHeight, width: screenWidth } = screen || {};\n const { javaEnabled, language } = navigator || {};\n let fingerprint;\n let kountFraudSessionId;\n let isAdBlockEnabled;\n\n try {\n [isAdBlockEnabled, fingerprint, kountFraudSessionId] = await Promise.all([\n getIsAdBlockEnabled(),\n getFingerprint?.(),\n kountAccountId\n ? getFraudSessionId({\n env,\n kountAccountId,\n kountSessionId,\n })\n : undefined,\n ]);\n } catch (e) {\n console.error(e);\n }\n\n const data = {\n riskMetadata: {\n fingerprint: fingerprint || null,\n extraData: {\n kountFraudSessionId: kountFraudSessionId || null,\n },\n browserData: {\n colorDepth: colorDepth || null,\n isJavaEnabled: javaEnabled ? javaEnabled.call(navigator) : null,\n language: language || null,\n screenHeight: screenHeight || null,\n screenWidth: screenWidth || null,\n timeZoneOffset: new Date().getTimezoneOffset(),\n isAdBlockEnabled,\n },\n },\n };\n\n return data;\n}\n\nasync function collectData({\n env = null,\n kountAccountId = null,\n kountSessionId = null,\n} = {}) {\n return collectDataHelper({\n env,\n screen,\n navigator,\n kountAccountId,\n kountSessionId,\n getFingerprint: fingerprinter,\n getFraudSessionId: kount,\n });\n}\n\nexport { collectData, collectDataHelper };\n"],"names":["__assign","t","s","i","n","p","__rest","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","__spreadArray","to","from","pack","l","ar","r","o","u","a","R","c","f","E","d","_","v","O","h","I","T","N","m","w","A","y","D","S","L","U","g","b","C","K","M","B","F","V","k","CACHE_KEY_PREFIX","MAX_CACHE_LIFE","DEFAULT_CACHE_LIFE","DEFAULT_NOW_PROVIDER","CacheKey","options","_a","getKeyWithPrefix","key","prefix","removePrefixFromKey","LocalStorageCache","entry","json","SessionStorageCache","CacheManager","cache","cacheTime","nowProvider","cacheKey","wrappedEntry","now","nowSeconds","keys","expiresInTime","InMemoryCache","cacheEntry","CacheStub","CacheLocation","version","cacheLocationBuilders","doesBrowserSupportCacheLocation","cacheLocation","cacheFactory","location","FpjsClient","passedLoadOptions","_b","loadOptions","agentLoader","FingerprintJSPro","agent","error","ignoreCache","promise","cacheResult","agentResult","generateFingerprint","isRunningByCypress","inRunningInUnitTests","cloudfrontUrl","fpjsBehaviorPath","fpjsGetResultPath","fpjsAgentDownloadPath","fpjsClient","FingerprintJSPro.defaultEndpoint","FingerprintJSPro.defaultScriptUrlPattern","getFingerprint","fingerprint","sandboxDataCollectorUrl","prodDataCollectorUrl","isProd","env","addKountScriptElement","kountAccountId","kountSessionId","baseUrl","kountScriptUrl","kountScript","getFraudSessionId","client","params","MercSessId","getIsAdBlockEnabled","script","collectDataHelper","screen","navigator","colorDepth","screenHeight","screenWidth","javaEnabled","language","kountFraudSessionId","isAdBlockEnabled","collectData","fingerprinter","kount"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"data-collector.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/@fingerprintjs/fingerprintjs-pro/dist/fp.esm.min.js","../../../node_modules/@fingerprintjs/fingerprintjs-pro-spa/dist/fp-pro-spa.esm.js","../src/fingerprint.js","../src/kount.js","../src/adblock-detect.js","../src/data-collector.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/**\n * FingerprintJS Pro v3.9.2 - Copyright (c) FingerprintJS, Inc, 2024 (https://fingerprint.com)\n */\n\nimport{__spreadArray as e,__rest as t,__assign as n}from\"tslib\";function r(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}var o={default:\"endpoint\"},i={default:\"tlsEndpoint\"};function u(e){for(var t=\"\",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=\" \".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var a=\"Client timeout\",R=\"Network connection error\",c=\"Network request aborted\",s=\"Response cannot be parsed\",f=\"Blocked by CSP\",E=\"The endpoint parameter is not a valid URL\",l=/*#__PURE__*/u(\"WrongRegion\"),d=/*#__PURE__*/u(\"SubscriptionNotActive\"),p=/*#__PURE__*/u(\"UnsupportedVersion\"),_=/*#__PURE__*/u(\"InstallationMethodRestricted\"),v=/*#__PURE__*/u(\"HostnameRestricted\"),O=/*#__PURE__*/u(\"IntegrationFailed\"),h=\"API key required\",I=\"API key not found\",T=\"API key expired\",N=\"Request cannot be parsed\",m=\"Request failed\",w=\"Request failed to process\",A=\"Too many requests, rate limit exceeded\",P=\"Not available for this origin\",y=\"Not available with restricted header\",D=h,S=I,L=T,U=\"3.9.2\",g=\"Failed to load the JS script of the agent\",b=\"9319\";function C(t,n){var r,o,i,u,a,R,c=[],s=(r=function(t){var n=e([],t,!0);return{current:function(){return n[0]},postpone:function(){var e=n.shift();void 0!==e&&n.push(e)},exclude:function(){n.shift()}}}(t),u=100,a=3e3,R=0,o=function(){return Math.random()*Math.min(a,u*Math.pow(2,R++))},i=new Set,[r.current(),function(e,t){var n,u=t instanceof Error?t.message:\"\";if(u===f||u===E)r.exclude(),n=0;else if(u===b)r.exclude();else if(u===g){var a=Date.now()-e.getTime()<50,R=r.current();R&&a&&!i.has(R)&&(i.add(R),n=0),r.postpone()}else r.postpone();var c=r.current();return void 0===c?void 0:[c,null!=n?n:e.getTime()+o()-Date.now()]}]),l=s[0],d=s[1];if(void 0===l)return Promise.reject(new TypeError(\"The list of script URL patterns is empty\"));var p=function(e){var t=new Date,r=function(n){return c.push({url:e,startedAt:t,finishedAt:new Date,error:n})},o=n(e);return o.then((function(){return r()}),r),o.catch((function(e){if(c.length>=5)throw e;var n=d(t,e);if(!n)throw e;var r,o=n[0],i=n[1];return(r=i,new Promise((function(e){return setTimeout(e,r)}))).then((function(){return p(o)}))}))};return p(l).then((function(e){return[e,c]}))}var K=\"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js\",M=K;function B(e){var o;e.scriptUrlPattern;var i=e.token,u=e.apiKey,a=void 0===u?i:u,R=t(e,[\"scriptUrlPattern\",\"token\",\"apiKey\"]),c=null!==(o=r(e,\"scriptUrlPattern\"))&&void 0!==o?o:K,s=function(){var e=[],t=function(){e.push({time:new Date,state:document.visibilityState})},n=function(e,t,n,r){return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}(document,\"visibilitychange\",t);return t(),[e,n]}(),f=s[0],E=s[1];return Promise.resolve().then((function(){if(!a||\"string\"!=typeof a)throw new Error(h);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return\"<version>\"===e?\"3\":\"<apiKey>\"===e?n(t):\"<loaderVersion>\"===e?n(U):e}))}(String(e),t)}))}(c,a);return C(e,F)})).catch((function(e){throw E(),function(e){if(e instanceof Error&&e.message===b)return new Error(g);return e}(e)})).then((function(e){var t=e[0],r=e[1];return E(),t.load(n(n({},R),{ldi:{attempts:r,visibilityStates:f}}))}))}function F(e){return function(e,t,n,r){var o,i=document,u=\"securitypolicyviolation\",a=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,R())};i.addEventListener(u,a);var R=function(){return i.removeEventListener(u,a)};return null==r||r.then(R,R),Promise.resolve().then(t).then((function(e){return R(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(R(),o)return n(o);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(t){if(t instanceof Error&&\"TypeError\"===t.name)return!0;throw t}}(e))throw new Error(E);var r=document.createElement(\"script\"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName(\"head\")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(g))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)}),(function(){throw new Error(f)})).then(V)}function V(){var e=window,t=\"__fpjs_p_l_b\",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),\"function\"!=typeof(null==n?void 0:n.load))throw new Error(b);return n}var k={load:B,defaultScriptUrlPattern:M,ERROR_SCRIPT_LOAD_FAIL:g,ERROR_API_KEY_EXPIRED:T,ERROR_API_KEY_INVALID:I,ERROR_API_KEY_MISSING:h,ERROR_BAD_REQUEST_FORMAT:N,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:a,ERROR_CSP_BLOCK:f,ERROR_FORBIDDEN_ENDPOINT:v,ERROR_FORBIDDEN_HEADER:y,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:m,ERROR_INSTALLATION_METHOD_RESTRICTED:_,ERROR_INTEGRATION_FAILURE:O,ERROR_INVALID_ENDPOINT:E,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:w,ERROR_SUBSCRIPTION_NOT_ACTIVE:d,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:S,ERROR_TOKEN_MISSING:D,ERROR_UNSUPPORTED_VERSION:p,ERROR_WRONG_REGION:l,defaultEndpoint:o,defaultTlsEndpoint:i};export{T as ERROR_API_KEY_EXPIRED,I as ERROR_API_KEY_INVALID,h as ERROR_API_KEY_MISSING,N as ERROR_BAD_REQUEST_FORMAT,s as ERROR_BAD_RESPONSE_FORMAT,a as ERROR_CLIENT_TIMEOUT,f as ERROR_CSP_BLOCK,v as ERROR_FORBIDDEN_ENDPOINT,y as ERROR_FORBIDDEN_HEADER,P as ERROR_FORBIDDEN_ORIGIN,m as ERROR_GENERAL_SERVER_FAILURE,_ as ERROR_INSTALLATION_METHOD_RESTRICTED,O as ERROR_INTEGRATION_FAILURE,E as ERROR_INVALID_ENDPOINT,c as ERROR_NETWORK_ABORT,R as ERROR_NETWORK_CONNECTION,A as ERROR_RATE_LIMIT,g as ERROR_SCRIPT_LOAD_FAIL,w as ERROR_SERVER_TIMEOUT,d as ERROR_SUBSCRIPTION_NOT_ACTIVE,L as ERROR_TOKEN_EXPIRED,S as ERROR_TOKEN_INVALID,D as ERROR_TOKEN_MISSING,p as ERROR_UNSUPPORTED_VERSION,l as ERROR_WRONG_REGION,k as default,o as defaultEndpoint,M as defaultScriptUrlPattern,i as defaultTlsEndpoint,B as load};\n","/**\n * FingerprintJS Pro SPA v1.3.1 - Copyright (c) FingerprintJS, Inc, 2024 (https://fingerprint.com)\n * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.\n */\n\nimport { __awaiter } from 'tslib';\nimport * as FingerprintJSPro from '@fingerprintjs/fingerprintjs-pro';\nexport { FingerprintJSPro };\n\nconst CACHE_KEY_PREFIX = '@fpjs@client@';\nconst MAX_CACHE_LIFE = 60 * 60 * 24; // 24 hours\nconst DEFAULT_CACHE_LIFE = 60 * 60; // 1 hour\nconst DEFAULT_NOW_PROVIDER = () => Date.now();\nclass CacheKey {\n constructor(options) {\n var _a;\n this.tag = options.tag || null;\n this.linkedId = options.linkedId || null;\n this.extendedResult = (_a = options.extendedResult) !== null && _a !== void 0 ? _a : false;\n }\n /**\n * Converts this `CacheKey` instance into a string for use in a cache\n * @returns A string representation of the key\n */\n toKey() {\n return `${JSON.stringify(this.tag)}__${JSON.stringify(this.linkedId)}__${this.extendedResult}`;\n }\n}\nfunction getKeyWithPrefix(key, prefix) {\n return `${prefix}__${key}`;\n}\nfunction removePrefixFromKey(key, prefix) {\n return key.replace(`${prefix}__`, '');\n}\n\n/**\n * Implementation of caching that uses local storage\n * */\nclass LocalStorageCache {\n constructor(prefix = CACHE_KEY_PREFIX) {\n this.prefix = prefix;\n }\n set(key, entry) {\n window.localStorage.setItem(getKeyWithPrefix(key, this.prefix), JSON.stringify(entry));\n }\n get(key) {\n const json = window.localStorage.getItem(getKeyWithPrefix(key, this.prefix));\n if (!json) {\n return;\n }\n try {\n return JSON.parse(json);\n }\n catch (e) {\n return;\n }\n }\n remove(key) {\n window.localStorage.removeItem(getKeyWithPrefix(key, this.prefix));\n }\n allKeys() {\n return Object.keys(window.localStorage)\n .filter((key) => key.startsWith(this.prefix))\n .map((key) => removePrefixFromKey(key, this.prefix));\n }\n}\n\n/**\n * Implementation of caching that uses session storage\n * */\nclass SessionStorageCache {\n constructor(prefix = CACHE_KEY_PREFIX) {\n this.prefix = prefix;\n }\n /**\n * It takes a key and an entry, and sets the entry in the session storage with the key\n * @param {string} key - The key to store the entry under.\n * @param {Cacheable} entry - The value to be stored in the cache.\n */\n set(key, entry) {\n window.sessionStorage.setItem(getKeyWithPrefix(key, this.prefix), JSON.stringify(entry));\n }\n /**\n * It gets the value of the key from the session storage, parses it as JSON, and returns it\n * @param {string} key - The key to store the data under.\n * @returns The value of the key in the sessionStorage.\n */\n get(key) {\n const json = window.sessionStorage.getItem(getKeyWithPrefix(key, this.prefix));\n if (!json) {\n return;\n }\n try {\n return JSON.parse(json);\n }\n catch (e) {\n return;\n }\n }\n /**\n * It removes the item from session storage with the given key\n * @param {string} key - The key to store the value under.\n */\n remove(key) {\n window.sessionStorage.removeItem(getKeyWithPrefix(key, this.prefix));\n }\n /**\n * It returns an array of all the keys in the session storage that start with the prefix\n * @returns An array of all the keys in the sessionStorage that start with the prefix.\n */\n allKeys() {\n return Object.keys(window.sessionStorage)\n .filter((key) => key.startsWith(this.prefix))\n .map((key) => removePrefixFromKey(key, this.prefix));\n }\n}\n\n/**\n * Wraps a cache implementation and adds expiration logic\n * */\nclass CacheManager {\n constructor(cache, cacheTime = DEFAULT_CACHE_LIFE, nowProvider) {\n this.cache = cache;\n this.cacheTime = cacheTime;\n this.nowProvider = nowProvider || DEFAULT_NOW_PROVIDER;\n }\n /**\n * It gets a cache entry from the cache, and if it's expired, it removes it from the cache\n * @param cacheKey - CacheKey<TExtended>\n * @returns A promise that resolves to a cache entry or undefined.\n */\n get(cacheKey) {\n return __awaiter(this, void 0, void 0, function* () {\n const wrappedEntry = yield this.cache.get(cacheKey.toKey());\n if (!wrappedEntry) {\n return;\n }\n const now = yield this.nowProvider();\n const nowSeconds = Math.floor(now / 1000);\n if (wrappedEntry.expiresAt < nowSeconds) {\n yield this.cache.remove(cacheKey.toKey());\n return;\n }\n return wrappedEntry.body;\n });\n }\n /**\n * It takes a cache key and a cache entry, wraps the cache entry, and then sets the wrapped cache entry in the cache\n * @param cacheKey - CacheKey<TExtended>\n * @param {CacheEntry} entry - The cache entry to be stored.\n */\n set(cacheKey, entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const wrappedEntry = yield this.wrapCacheEntry(entry);\n yield this.cache.set(cacheKey.toKey(), wrappedEntry);\n });\n }\n /**\n * It gets all the keys in the cache, and then removes them all\n */\n clearCache() {\n return __awaiter(this, void 0, void 0, function* () {\n const keys = yield this.cache.allKeys();\n yield Promise.all(keys.map((key) => this.cache.remove(key)));\n });\n }\n wrapCacheEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const now = yield this.nowProvider();\n const expiresInTime = Math.floor(now / 1000) + this.cacheTime;\n return {\n body: entry,\n expiresAt: expiresInTime,\n };\n });\n }\n}\n\n/**\n * Implementation of caching that uses in-memory storage\n * */\nclass InMemoryCache {\n constructor() {\n this.enclosedCache = (function () {\n const cache = {};\n return {\n set(key, entry) {\n cache[key] = entry;\n },\n get(key) {\n const cacheEntry = cache[key];\n if (!cacheEntry) {\n return;\n }\n return cacheEntry;\n },\n remove(key) {\n delete cache[key];\n },\n allKeys() {\n return Object.keys(cache);\n },\n };\n })();\n }\n}\n\n/**\n * Implementation of stub cache that is used when cache is disabled by user\n * */\nclass CacheStub {\n set() { }\n get() {\n return undefined;\n }\n remove() { }\n allKeys() {\n return [];\n }\n}\n\nvar CacheLocation;\n(function (CacheLocation) {\n CacheLocation[\"Memory\"] = \"memory\";\n CacheLocation[\"LocalStorage\"] = \"localstorage\";\n CacheLocation[\"SessionStorage\"] = \"sessionstorage\";\n CacheLocation[\"NoCache\"] = \"nocache\";\n})(CacheLocation || (CacheLocation = {}));\n\nvar version = \"1.3.1\";\n\nconst cacheLocationBuilders = {\n [CacheLocation.Memory]: () => new InMemoryCache().enclosedCache,\n [CacheLocation.LocalStorage]: (prefix) => new LocalStorageCache(prefix),\n [CacheLocation.SessionStorage]: (prefix) => new SessionStorageCache(prefix),\n [CacheLocation.NoCache]: () => new CacheStub(),\n};\nconst doesBrowserSupportCacheLocation = (cacheLocation) => {\n switch (cacheLocation) {\n case CacheLocation.SessionStorage:\n try {\n window.sessionStorage.getItem('item');\n }\n catch (e) {\n return false;\n }\n return true;\n case CacheLocation.LocalStorage:\n try {\n window.localStorage.getItem('item');\n }\n catch (e) {\n return false;\n }\n return true;\n default:\n return true;\n }\n};\nconst cacheFactory = (location) => {\n return cacheLocationBuilders[location];\n};\n/**\n * FingerprintJS SDK for Single Page Applications\n */\nclass FpjsClient {\n constructor(options) {\n var _a;\n this.inFlightRequests = new Map();\n this.agentPromise = null;\n this.customAgent = options === null || options === void 0 ? void 0 : options.customAgent;\n this.agent = {\n get: () => {\n throw new Error(\"FPJSAgent hasn't loaded yet. Make sure to call the init() method first.\");\n },\n };\n this.loadOptions = options === null || options === void 0 ? void 0 : options.loadOptions;\n if ((options === null || options === void 0 ? void 0 : options.cache) && (options === null || options === void 0 ? void 0 : options.cacheLocation)) {\n console.warn('Both `cache` and `cacheLocation` options have been specified in the FpjsClient configuration; ignoring `cacheLocation` and using `cache`.');\n }\n let cache;\n if (options === null || options === void 0 ? void 0 : options.cache) {\n cache = options.cache;\n }\n else {\n this.cacheLocation = (options === null || options === void 0 ? void 0 : options.cacheLocation) || CacheLocation.SessionStorage;\n if (!cacheFactory(this.cacheLocation)) {\n throw new Error(`Invalid cache location \"${this.cacheLocation}\"`);\n }\n if (!doesBrowserSupportCacheLocation(this.cacheLocation)) {\n this.cacheLocation = CacheLocation.Memory;\n }\n cache = cacheFactory(this.cacheLocation)(options === null || options === void 0 ? void 0 : options.cachePrefix);\n }\n if ((options === null || options === void 0 ? void 0 : options.cacheTimeInSeconds) && options.cacheTimeInSeconds > MAX_CACHE_LIFE) {\n throw new Error(`Cache time cannot exceed 86400 seconds (24 hours)`);\n }\n const cacheTime = (_a = options === null || options === void 0 ? void 0 : options.cacheTimeInSeconds) !== null && _a !== void 0 ? _a : DEFAULT_CACHE_LIFE;\n this.cacheManager = new CacheManager(cache, cacheTime);\n }\n /**\n * Loads FPJS JS agent with certain settings and stores the instance in memory\n * [https://dev.fingerprint.com/docs/js-agent#agent-initialization]\n *\n * @param passedLoadOptions Additional load options to be passed to the agent, they will be merged with load options provided in the constructor.\n */\n init(passedLoadOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n if (!this.loadOptions && !passedLoadOptions) {\n throw new TypeError('No load options provided');\n }\n const loadOptions = Object.assign(Object.assign(Object.assign({}, this.loadOptions), passedLoadOptions), { integrationInfo: [\n ...(((_a = this.loadOptions) === null || _a === void 0 ? void 0 : _a.integrationInfo) || []),\n ...((passedLoadOptions === null || passedLoadOptions === void 0 ? void 0 : passedLoadOptions.integrationInfo) || []),\n `fingerprintjs-pro-spa/${version}`,\n ] });\n if (!this.agentPromise) {\n const agentLoader = (_b = this.customAgent) !== null && _b !== void 0 ? _b : FingerprintJSPro;\n this.agentPromise = agentLoader\n .load(loadOptions)\n .then((agent) => {\n this.agent = agent;\n return agent;\n })\n .catch((error) => {\n this.agentPromise = null;\n throw error;\n });\n }\n return this.agentPromise;\n });\n }\n /**\n * Returns visitor identification data based on the request options\n * [https://dev.fingerprint.com/docs/js-agent#visitor-identification]\n *\n * @param options\n * @param ignoreCache if set to true a request to the API will be made even if the data is present in cache\n */\n getVisitorData() {\n return __awaiter(this, arguments, void 0, function* (options = {}, ignoreCache = false) {\n const cacheKey = FpjsClient.makeCacheKey(options);\n const key = cacheKey.toKey();\n if (!this.inFlightRequests.has(key)) {\n const promise = this._identify(options, ignoreCache).finally(() => {\n this.inFlightRequests.delete(key);\n });\n this.inFlightRequests.set(key, promise);\n }\n return (yield this.inFlightRequests.get(key));\n });\n }\n /**\n * Returns cached visitor data based on the request options, or undefined if the data is not present in cache\n * */\n getVisitorDataFromCache() {\n return __awaiter(this, arguments, void 0, function* (options = {}) {\n const cacheKey = FpjsClient.makeCacheKey(options);\n const cacheResult = yield this.cacheManager.get(cacheKey);\n return cacheResult ? Object.assign(Object.assign({}, cacheResult), { cacheHit: true }) : undefined;\n });\n }\n /**\n * Checks if request matching given options is present in cache\n * */\n isInCache() {\n return __awaiter(this, arguments, void 0, function* (options = {}) {\n return Boolean(yield this.getVisitorDataFromCache(options));\n });\n }\n /**\n * Clears visitor data from cache regardless of the cache implementation\n */\n clearCache() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.cacheManager.clearCache();\n });\n }\n /**\n * Makes a CacheKey object from GetOptions\n */\n static makeCacheKey(options) {\n return new CacheKey(options);\n }\n _identify(options_1) {\n return __awaiter(this, arguments, void 0, function* (options, ignoreCache = false) {\n const key = FpjsClient.makeCacheKey(options);\n if (!ignoreCache) {\n const cacheResult = yield this.cacheManager.get(key);\n if (cacheResult) {\n return Object.assign(Object.assign({}, cacheResult), { cacheHit: true });\n }\n }\n const agentResult = (yield this.agent.get(options));\n yield this.cacheManager.set(key, agentResult);\n return Object.assign(Object.assign({}, agentResult), { cacheHit: false });\n });\n }\n}\n\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultEndpoint` instead, this export will be removed in the next major version\n * */\nconst defaultEndpoint = FingerprintJSPro.defaultEndpoint;\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultTlsEndpoint` instead, this export will be removed in the next major version\n */\nconst defaultTlsEndpoint = FingerprintJSPro.defaultTlsEndpoint;\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultScriptUrlPattern` instead, this export will be removed in the next major version\n */\nconst defaultScriptUrlPattern = FingerprintJSPro.defaultScriptUrlPattern;\n\nexport { CacheLocation, CacheStub, FpjsClient, InMemoryCache, LocalStorageCache, SessionStorageCache, defaultEndpoint, defaultScriptUrlPattern, defaultTlsEndpoint };\n","import {\n FpjsClient,\n FingerprintJSPro,\n} from '@fingerprintjs/fingerprintjs-pro-spa';\n\n/**\n * generateFingerprint is implemented following guidelines\n * from the @fingerprintjs/fingerprintjs package documentation:\n * https://github.com/fingerprintjs/fingerprintjs/blob/master/docs/api.md\n */\nasync function generateFingerprint() {\n try {\n const isRunningByCypress = typeof Cypress === 'object';\n const inRunningInUnitTests =\n typeof process === 'object' && process.env.NODE_ENV === 'test';\n // Skip fingerprint generation when running Cypress tests or in unit tests\n if (isRunningByCypress || inRunningInUnitTests) return 'a-mock-visitor-id';\n\n const cloudfrontUrl = 'https://d2hwnq6cq5q3pi.cloudfront.net';\n const fpjsBehaviorPath = 'wyr92st0i7';\n const fpjsGetResultPath = 'ia1t65gn6i';\n const fpjsAgentDownloadPath = 'db4fuswrza';\n\n const fpjsClient = new FpjsClient({\n loadOptions: {\n apiKey: 'hpFVJecm7Ni7AjSfvBIW',\n endpoint: [\n `${cloudfrontUrl}/${fpjsBehaviorPath}/${fpjsGetResultPath}`,\n FingerprintJSPro.defaultEndpoint,\n ],\n scriptUrlPattern: [\n `${cloudfrontUrl}/${fpjsBehaviorPath}/${fpjsAgentDownloadPath}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,\n FingerprintJSPro.defaultScriptUrlPattern,\n ],\n },\n });\n await fpjsClient.init();\n const result = await fpjsClient.getVisitorData();\n\n return result.visitorId;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e);\n\n return '';\n }\n}\n\nexport default async function getFingerprint() {\n return new Promise((resolve) => {\n if (window.requestIdleCallback) {\n requestIdleCallback(async () => {\n const fingerprint = await generateFingerprint();\n resolve(fingerprint);\n });\n } else {\n setTimeout(async () => {\n const fingerprint = await generateFingerprint();\n resolve(fingerprint);\n }, 500);\n }\n });\n}\n","/* eslint-disable no-undef */\nconst sandboxDataCollectorUrl = 'https://tst.kaptcha.com';\nconst prodDataCollectorUrl = 'https://ssl.kaptcha.com';\n\nconst isProd = (env) => env === 'production';\n\nconst addKountScriptElement = ({ env, kountAccountId, kountSessionId }) => {\n const baseUrl = isProd(env) ? prodDataCollectorUrl : sandboxDataCollectorUrl;\n const kountScriptUrl = new URL(`${baseUrl}/collect/sdk`);\n kountScriptUrl.searchParams.append('m', kountAccountId);\n if (kountSessionId) {\n kountScriptUrl.searchParams.append('m', kountSessionId);\n }\n\n const kountScript = document.createElement('script');\n kountScript.setAttribute('class', 'kaxsdc');\n kountScript.setAttribute('data-event', 'load');\n kountScript.setAttribute('type', 'text/javascript');\n kountScript.setAttribute('src', kountScriptUrl.href);\n\n document.body.append(kountScript);\n\n return kountScript;\n};\n\nexport default async function getFraudSessionId({\n env,\n kountAccountId,\n kountSessionId,\n}) {\n return new Promise((resolve, reject) => {\n const kountScript = addKountScriptElement({\n env,\n kountAccountId,\n kountSessionId,\n });\n\n kountScript.onload = () => {\n const client = new ka.ClientSDK();\n client.setupCallback({\n 'collect-begin': (params) => {\n const { MercSessId } = params;\n resolve(MercSessId);\n },\n });\n client.autoLoadEvents();\n };\n kountScript.onerror = () => {\n reject(new Error('Error attempting to mount Kount script'));\n };\n });\n}\n","// Implementation as per https://www.detectadblock.com/\n// - We host a honeypot ad file with a suspcious name\n// - The ad file in /static/google-adsense.js is deployed to our S3 bucket\n// as part of the semantic release process.\n// - Try to load that file, which ads a div with a unique ID\n// - If that div is not present, then the adblocker is blocking it\nexport const getIsAdBlockEnabled = () => {\n const script = document.createElement('script');\n script.src =\n 'https://cdn.rebilly.com/risk-data-collector/@latest/google-adsense.js';\n\n return new Promise((resolve) => {\n script.onload = () => {\n resolve(document.getElementById('fj2xFkdsoQIQna') === null);\n };\n script.onerror = () => {\n return resolve(true);\n };\n document.head.appendChild(script);\n }).catch(() => {\n return true;\n });\n};\n","/* eslint-disable no-console */\nimport fingerprinter from './fingerprint';\nimport kount from './kount';\nimport { getIsAdBlockEnabled } from './adblock-detect';\n\nasync function collectDataHelper({\n env = null,\n screen,\n navigator,\n kountAccountId = null,\n kountSessionId = null,\n getFingerprint,\n getFraudSessionId,\n}) {\n const { colorDepth, height: screenHeight, width: screenWidth } = screen || {};\n const { javaEnabled, language } = navigator || {};\n let fingerprint;\n let kountFraudSessionId;\n let isAdBlockEnabled;\n\n try {\n [isAdBlockEnabled, fingerprint, kountFraudSessionId] = await Promise.all([\n getIsAdBlockEnabled(),\n getFingerprint?.(),\n kountAccountId\n ? getFraudSessionId({\n env,\n kountAccountId,\n kountSessionId,\n })\n : undefined,\n ]);\n } catch (e) {\n console.error(e);\n }\n\n const data = {\n riskMetadata: {\n fingerprint: fingerprint || null,\n extraData: {\n kountFraudSessionId: kountFraudSessionId || null,\n },\n browserData: {\n colorDepth: colorDepth || null,\n isJavaEnabled: javaEnabled ? javaEnabled.call(navigator) : null,\n language: language || null,\n screenHeight: screenHeight || null,\n screenWidth: screenWidth || null,\n timeZoneOffset: new Date().getTimezoneOffset(),\n isAdBlockEnabled,\n },\n },\n };\n\n return data;\n}\n\nasync function collectData({\n env = null,\n kountAccountId = null,\n kountSessionId = null,\n} = {}) {\n return collectDataHelper({\n env,\n screen,\n navigator,\n kountAccountId,\n kountSessionId,\n getFingerprint: fingerprinter,\n getFraudSessionId: kount,\n });\n}\n\nexport { collectData, collectDataHelper };\n"],"names":["__assign","t","s","i","n","p","__rest","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","__spreadArray","to","from","pack","l","ar","r","o","u","a","R","c","f","E","d","_","v","O","h","I","T","N","m","w","A","y","D","S","L","U","g","b","C","K","M","B","F","V","k","CACHE_KEY_PREFIX","MAX_CACHE_LIFE","DEFAULT_CACHE_LIFE","DEFAULT_NOW_PROVIDER","CacheKey","options","_a","getKeyWithPrefix","key","prefix","removePrefixFromKey","LocalStorageCache","entry","json","SessionStorageCache","CacheManager","cache","cacheTime","nowProvider","cacheKey","wrappedEntry","now","nowSeconds","keys","expiresInTime","InMemoryCache","cacheEntry","CacheStub","CacheLocation","version","cacheLocationBuilders","doesBrowserSupportCacheLocation","cacheLocation","cacheFactory","location","FpjsClient","passedLoadOptions","_b","loadOptions","agentLoader","FingerprintJSPro","agent","error","ignoreCache","promise","cacheResult","options_1","agentResult","generateFingerprint","isRunningByCypress","inRunningInUnitTests","cloudfrontUrl","fpjsBehaviorPath","fpjsGetResultPath","fpjsAgentDownloadPath","fpjsClient","FingerprintJSPro.defaultEndpoint","FingerprintJSPro.defaultScriptUrlPattern","getFingerprint","fingerprint","sandboxDataCollectorUrl","prodDataCollectorUrl","isProd","env","addKountScriptElement","kountAccountId","kountSessionId","baseUrl","kountScriptUrl","kountScript","getFraudSessionId","client","params","MercSessId","getIsAdBlockEnabled","script","collectDataHelper","screen","navigator","colorDepth","screenHeight","screenWidth","javaEnabled","language","kountFraudSessionId","isAdBlockEnabled","collectData","fingerprinter","kount"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,2 +1,2 @@
1
- var RiskDataCollector=function(T){"use strict";var N=function(){return N=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},N.apply(this,arguments)};function ue(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(r);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(r,n[o])&&(t[n[o]]=r[n[o]]);return t}function O(r,e,t,n){function o(i){return i instanceof t?i:new t(function(a){a(i)})}return new(t||(t=Promise))(function(i,a){function l(c){try{h(n.next(c))}catch(s){a(s)}}function u(c){try{h(n.throw(c))}catch(s){a(s)}}function h(c){c.done?i(c.value):o(c.value).then(l,u)}h((n=n.apply(r,e||[])).next())})}function de(r,e,t){if(t||arguments.length===2)for(var n=0,o=e.length,i;n<o;n++)(i||!(n in e))&&(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return r.concat(i||Array.prototype.slice.call(e))}typeof SuppressedError=="function"&&SuppressedError;function he(r,e){return function(t,n){return Object.prototype.hasOwnProperty.call(t,n)}(r,e)?r[e]:void 0}var b={default:"endpoint"},j={default:"tlsEndpoint"};function y(r){for(var e="",t=0;t<r.length;++t)if(t>0){var n=r[t].toLowerCase();n!==r[t]?e+=" ".concat(n):e+=r[t]}else e+=r[t].toUpperCase();return e}var U="Client timeout",M="Network connection error",F="Network request aborted",x="Response cannot be parsed",A="Blocked by CSP",P="The endpoint parameter is not a valid URL",B=y("WrongRegion"),V=y("SubscriptionNotActive"),q=y("UnsupportedVersion"),G=y("InstallationMethodRestricted"),H=y("HostnameRestricted"),$=y("IntegrationFailed"),D="API key required",C="API key not found",L="API key expired",W="Request cannot be parsed",J="Request failed",Y="Request failed to process",X="Too many requests, rate limit exceeded",Q="Not available for this origin",z="Not available with restricted header",Z=D,ee=C,te=L,Re="3.9.0",m="Failed to load the JS script of the agent",K="9319";function fe(r,e){var t,n,o,i,a,l,u=[],h=(t=function(R){var d=de([],R,!0);return{current:function(){return d[0]},postpone:function(){var f=d.shift();f!==void 0&&d.push(f)},exclude:function(){d.shift()}}}(r),i=100,a=3e3,l=0,n=function(){return Math.random()*Math.min(a,i*Math.pow(2,l++))},o=new Set,[t.current(),function(R,d){var f,_=d instanceof Error?d.message:"";if(_===A||_===P)t.exclude(),f=0;else if(_===K)t.exclude();else if(_===m){var p=Date.now()-R.getTime()<50,g=t.current();g&&p&&!o.has(g)&&(o.add(g),f=0),t.postpone()}else t.postpone();var S=t.current();return S===void 0?void 0:[S,f??R.getTime()+n()-Date.now()]}]),c=h[0],s=h[1];if(c===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var E=function(R){var d=new Date,f=function(p){return u.push({url:R,startedAt:d,finishedAt:new Date,error:p})},_=e(R);return _.then(function(){return f()},f),_.catch(function(p){if(u.length>=5)throw p;var g=s(d,p);if(!g)throw p;var S,Me=g[0],Fe=g[1];return(S=Fe,new Promise(function(xe){return setTimeout(xe,S)})).then(function(){return E(Me)})})};return E(c).then(function(R){return[R,u]})}var ne="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",k=ne;function re(r){var e;r.scriptUrlPattern;var t=r.token,n=r.apiKey,o=n===void 0?t:n,i=ue(r,["scriptUrlPattern","token","apiKey"]),a=(e=he(r,"scriptUrlPattern"))!==null&&e!==void 0?e:ne,l=function(){var c=[],s=function(){c.push({time:new Date,state:document.visibilityState})},E=function(R,d,f,_){return R.addEventListener(d,f,_),function(){return R.removeEventListener(d,f,_)}}(document,"visibilitychange",s);return s(),[c,E]}(),u=l[0],h=l[1];return Promise.resolve().then(function(){if(!o||typeof o!="string")throw new Error(D);var c=function(s,E){return(Array.isArray(s)?s:[s]).map(function(R){return function(d,f){var _=encodeURIComponent;return d.replace(/<[^<>]+>/g,function(p){return p==="<version>"?"3":p==="<apiKey>"?_(f):p==="<loaderVersion>"?_(Re):p})}(String(R),E)})}(a,o);return fe(c,Ee)}).catch(function(c){throw h(),function(s){return s instanceof Error&&s.message===K?new Error(m):s}(c)}).then(function(c){var s=c[0],E=c[1];return h(),s.load(N(N({},i),{ldi:{attempts:E,visibilityStates:u}}))})}function Ee(r){return function(e,t,n,o){var i,a=document,l="securitypolicyviolation",u=function(c){var s=new URL(e,location.href),E=c.blockedURI;E!==s.href&&E!==s.protocol.slice(0,-1)&&E!==s.origin||(i=c,h())};a.addEventListener(l,u);var h=function(){return a.removeEventListener(l,u)};return o==null||o.then(h,h),Promise.resolve().then(t).then(function(c){return h(),c},function(c){return new Promise(function(s){return setTimeout(s)}).then(function(){if(h(),i)return n(i);throw c})})}(r,function(){return function(e){return new Promise(function(t,n){if(function(l){if(URL.prototype)try{return new URL(l,location.href),!1}catch(u){if(u instanceof Error&&u.name==="TypeError")return!0;throw u}}(e))throw new Error(P);var o=document.createElement("script"),i=function(){var l;return(l=o.parentNode)===null||l===void 0?void 0:l.removeChild(o)},a=document.head||document.getElementsByTagName("head")[0];o.onload=function(){i(),t()},o.onerror=function(){i(),n(new Error(m))},o.async=!0,o.src=e,a.appendChild(o)})}(r)},function(){throw new Error(A)}).then(_e)}function _e(){var r=window,e="__fpjs_p_l_b",t=r[e];if(function(n,o){var i,a=(i=Object.getOwnPropertyDescriptor)===null||i===void 0?void 0:i.call(Object,n,o);a!=null&&a.configurable?delete n[o]:a&&!a.writable||(n[o]=void 0)}(r,e),typeof(t==null?void 0:t.load)!="function")throw new Error(K);return t}var pe={load:re,defaultScriptUrlPattern:k,ERROR_SCRIPT_LOAD_FAIL:m,ERROR_API_KEY_EXPIRED:L,ERROR_API_KEY_INVALID:C,ERROR_API_KEY_MISSING:D,ERROR_BAD_REQUEST_FORMAT:W,ERROR_BAD_RESPONSE_FORMAT:x,ERROR_CLIENT_TIMEOUT:U,ERROR_CSP_BLOCK:A,ERROR_FORBIDDEN_ENDPOINT:H,ERROR_FORBIDDEN_HEADER:z,ERROR_FORBIDDEN_ORIGIN:Q,ERROR_GENERAL_SERVER_FAILURE:J,ERROR_INSTALLATION_METHOD_RESTRICTED:G,ERROR_INTEGRATION_FAILURE:$,ERROR_INVALID_ENDPOINT:P,ERROR_NETWORK_ABORT:F,ERROR_NETWORK_CONNECTION:M,ERROR_RATE_LIMIT:X,ERROR_SERVER_TIMEOUT:Y,ERROR_SUBSCRIPTION_NOT_ACTIVE:V,ERROR_TOKEN_EXPIRED:te,ERROR_TOKEN_INVALID:ee,ERROR_TOKEN_MISSING:Z,ERROR_UNSUPPORTED_VERSION:q,ERROR_WRONG_REGION:B,defaultEndpoint:b,defaultTlsEndpoint:j};const Oe=Object.freeze(Object.defineProperty({__proto__:null,ERROR_API_KEY_EXPIRED:L,ERROR_API_KEY_INVALID:C,ERROR_API_KEY_MISSING:D,ERROR_BAD_REQUEST_FORMAT:W,ERROR_BAD_RESPONSE_FORMAT:x,ERROR_CLIENT_TIMEOUT:U,ERROR_CSP_BLOCK:A,ERROR_FORBIDDEN_ENDPOINT:H,ERROR_FORBIDDEN_HEADER:z,ERROR_FORBIDDEN_ORIGIN:Q,ERROR_GENERAL_SERVER_FAILURE:J,ERROR_INSTALLATION_METHOD_RESTRICTED:G,ERROR_INTEGRATION_FAILURE:$,ERROR_INVALID_ENDPOINT:P,ERROR_NETWORK_ABORT:F,ERROR_NETWORK_CONNECTION:M,ERROR_RATE_LIMIT:X,ERROR_SCRIPT_LOAD_FAIL:m,ERROR_SERVER_TIMEOUT:Y,ERROR_SUBSCRIPTION_NOT_ACTIVE:V,ERROR_TOKEN_EXPIRED:te,ERROR_TOKEN_INVALID:ee,ERROR_TOKEN_MISSING:Z,ERROR_UNSUPPORTED_VERSION:q,ERROR_WRONG_REGION:B,default:pe,defaultEndpoint:b,defaultScriptUrlPattern:k,defaultTlsEndpoint:j,load:re},Symbol.toStringTag,{value:"Module"})),oe="@fpjs@client@",ve=60*60*24,ie=60*60,ge=()=>Date.now();class ye{constructor(e){var t;this.tag=e.tag||null,this.linkedId=e.linkedId||null,this.extendedResult=(t=e.extendedResult)!==null&&t!==void 0?t:!1}toKey(){return`${JSON.stringify(this.tag)}__${JSON.stringify(this.linkedId)}__${this.extendedResult}`}}function I(r,e){return`${e}__${r}`}function ae(r,e){return r.replace(`${e}__`,"")}class Ie{constructor(e=oe){this.prefix=e}set(e,t){window.localStorage.setItem(I(e,this.prefix),JSON.stringify(t))}get(e){const t=window.localStorage.getItem(I(e,this.prefix));if(t)try{return JSON.parse(t)}catch{return}}remove(e){window.localStorage.removeItem(I(e,this.prefix))}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith(this.prefix)).map(e=>ae(e,this.prefix))}}class me{constructor(e=oe){this.prefix=e}set(e,t){window.sessionStorage.setItem(I(e,this.prefix),JSON.stringify(t))}get(e){const t=window.sessionStorage.getItem(I(e,this.prefix));if(t)try{return JSON.parse(t)}catch{return}}remove(e){window.sessionStorage.removeItem(I(e,this.prefix))}allKeys(){return Object.keys(window.sessionStorage).filter(e=>e.startsWith(this.prefix)).map(e=>ae(e,this.prefix))}}class we{constructor(e,t=ie,n){this.cache=e,this.cacheTime=t,this.nowProvider=n||ge}get(e){return O(this,void 0,void 0,function*(){const t=yield this.cache.get(e.toKey());if(!t)return;const n=yield this.nowProvider(),o=Math.floor(n/1e3);if(t.expiresAt<o){yield this.cache.remove(e.toKey());return}return t.body})}set(e,t){return O(this,void 0,void 0,function*(){const n=yield this.wrapCacheEntry(t);yield this.cache.set(e.toKey(),n)})}clearCache(){return O(this,void 0,void 0,function*(){const e=yield this.cache.allKeys();yield Promise.all(e.map(t=>this.cache.remove(t)))})}wrapCacheEntry(e){return O(this,void 0,void 0,function*(){const t=yield this.nowProvider(),n=Math.floor(t/1e3)+this.cacheTime;return{body:e,expiresAt:n}})}}class Se{constructor(){this.enclosedCache=function(){const e={};return{set(t,n){e[t]=n},get(t){const n=e[t];if(n)return n},remove(t){delete e[t]},allKeys(){return Object.keys(e)}}}()}}class Te{set(){}get(){}remove(){}allKeys(){return[]}}var v;(function(r){r.Memory="memory",r.LocalStorage="localstorage",r.SessionStorage="sessionstorage",r.NoCache="nocache"})(v||(v={}));var Ne="1.3.0";const Ae={[v.Memory]:()=>new Se().enclosedCache,[v.LocalStorage]:r=>new Ie(r),[v.SessionStorage]:r=>new me(r),[v.NoCache]:()=>new Te},Pe=r=>{switch(r){case v.SessionStorage:try{window.sessionStorage.getItem("item")}catch{return!1}return!0;case v.LocalStorage:try{window.localStorage.getItem("item")}catch{return!1}return!0;default:return!0}},ce=r=>Ae[r];class w{constructor(e){var t;this.inFlightRequests=new Map,this.agentPromise=null,this.customAgent=e==null?void 0:e.customAgent,this.agent={get:()=>{throw new Error("FPJSAgent hasn't loaded yet. Make sure to call the init() method first.")}},this.loadOptions=e==null?void 0:e.loadOptions,e!=null&&e.cache&&(e!=null&&e.cacheLocation)&&console.warn("Both `cache` and `cacheLocation` options have been specified in the FpjsClient configuration; ignoring `cacheLocation` and using `cache`.");let n;if(e!=null&&e.cache)n=e.cache;else{if(this.cacheLocation=(e==null?void 0:e.cacheLocation)||v.SessionStorage,!ce(this.cacheLocation))throw new Error(`Invalid cache location "${this.cacheLocation}"`);Pe(this.cacheLocation)||(this.cacheLocation=v.Memory),n=ce(this.cacheLocation)(e==null?void 0:e.cachePrefix)}if(e!=null&&e.cacheTimeInSeconds&&e.cacheTimeInSeconds>ve)throw new Error("Cache time cannot exceed 86400 seconds (24 hours)");const o=(t=e==null?void 0:e.cacheTimeInSeconds)!==null&&t!==void 0?t:ie;this.cacheManager=new we(n,o)}init(e){var t,n;return O(this,void 0,void 0,function*(){if(!this.loadOptions&&!e)throw new TypeError("No load options provided");const o=Object.assign(Object.assign(Object.assign({},this.loadOptions),e),{integrationInfo:[...((t=this.loadOptions)===null||t===void 0?void 0:t.integrationInfo)||[],...(e==null?void 0:e.integrationInfo)||[],`fingerprintjs-pro-spa/${Ne}`]});if(!this.agentPromise){const i=(n=this.customAgent)!==null&&n!==void 0?n:Oe;this.agentPromise=i.load(o).then(a=>(this.agent=a,a)).catch(a=>{throw this.agentPromise=null,a})}return this.agentPromise})}getVisitorData(e={},t=!1){return O(this,void 0,void 0,function*(){const o=w.makeCacheKey(e).toKey();if(!this.inFlightRequests.has(o)){const i=this._identify(e,t).finally(()=>{this.inFlightRequests.delete(o)});this.inFlightRequests.set(o,i)}return yield this.inFlightRequests.get(o)})}getVisitorDataFromCache(e={}){return O(this,void 0,void 0,function*(){const t=w.makeCacheKey(e),n=yield this.cacheManager.get(t);return n?Object.assign(Object.assign({},n),{cacheHit:!0}):void 0})}isInCache(e={}){return O(this,void 0,void 0,function*(){return!!(yield this.getVisitorDataFromCache(e))})}clearCache(){return O(this,void 0,void 0,function*(){yield this.cacheManager.clearCache()})}static makeCacheKey(e){return new ye(e)}_identify(e,t=!1){return O(this,void 0,void 0,function*(){const n=w.makeCacheKey(e);if(!t){const i=yield this.cacheManager.get(n);if(i)return Object.assign(Object.assign({},i),{cacheHit:!0})}const o=yield this.agent.get(e);return yield this.cacheManager.set(n,o),Object.assign(Object.assign({},o),{cacheHit:!1})})}}async function se(){try{const r=typeof Cypress=="object",e=typeof process=="object"&&process.env.NODE_ENV==="test";if(r||e)return"a-mock-visitor-id";const t="https://d2hwnq6cq5q3pi.cloudfront.net",n="wyr92st0i7",o="ia1t65gn6i",i="db4fuswrza",a=new w({loadOptions:{apiKey:"hpFVJecm7Ni7AjSfvBIW",endpoint:[`${t}/${n}/${o}`,b],scriptUrlPattern:[`${t}/${n}/${i}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,k]}});return await a.init(),(await a.getVisitorData()).visitorId}catch(r){return console.log(r),""}}async function De(){return new Promise(r=>{window.requestIdleCallback?requestIdleCallback(async()=>{const e=await se();r(e)}):setTimeout(async()=>{const e=await se();r(e)},500)})}const be="https://tst.kaptcha.com",Ce="https://ssl.kaptcha.com",Le=r=>r==="production",Ke=({env:r,kountAccountId:e,kountSessionId:t})=>{const n=Le(r)?Ce:be,o=new URL(`${n}/collect/sdk`);o.searchParams.append("m",e),t&&o.searchParams.append("m",t);const i=document.createElement("script");return i.setAttribute("class","kaxsdc"),i.setAttribute("data-event","load"),i.setAttribute("type","text/javascript"),i.setAttribute("src",o.href),document.body.append(i),i};async function ke({env:r,kountAccountId:e,kountSessionId:t}){return new Promise((n,o)=>{const i=Ke({env:r,kountAccountId:e,kountSessionId:t});i.onload=()=>{const a=new ka.ClientSDK;a.setupCallback({"collect-begin":l=>{const{MercSessId:u}=l;n(u)}}),a.autoLoadEvents()},i.onerror=()=>{o(new Error("Error attempting to mount Kount script"))}})}const je=()=>{const r=document.createElement("script");return r.src="https://cdn.rebilly.com/risk-data-collector/@latest/google-adsense.js",new Promise(e=>{r.onload=()=>{e(document.getElementById("fj2xFkdsoQIQna")===null)},r.onerror=()=>e(!0),document.head.appendChild(r)}).catch(()=>!0)};async function le({env:r=null,screen:e,navigator:t,kountAccountId:n=null,kountSessionId:o=null,getFingerprint:i,getFraudSessionId:a}){const{colorDepth:l,height:u,width:h}=e||{},{javaEnabled:c,language:s}=t||{};let E,R,d;try{[d,E,R]=await Promise.all([je(),i==null?void 0:i(),n?a({env:r,kountAccountId:n,kountSessionId:o}):void 0])}catch(_){console.error(_)}return{riskMetadata:{fingerprint:E||null,extraData:{kountFraudSessionId:R||null},browserData:{colorDepth:l||null,isJavaEnabled:c?c.call(t):null,language:s||null,screenHeight:u||null,screenWidth:h||null,timeZoneOffset:new Date().getTimezoneOffset(),isAdBlockEnabled:d}}}}async function Ue({env:r=null,kountAccountId:e=null,kountSessionId:t=null}={}){return le({env:r,screen,navigator,kountAccountId:e,kountSessionId:t,getFingerprint:De,getFraudSessionId:ke})}return T.collectData=Ue,T.collectDataHelper=le,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"}),T}({});
1
+ var RiskDataCollector=function(T){"use strict";var N=function(){return N=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},N.apply(this,arguments)};function ue(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(r);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(r,n[o])&&(t[n[o]]=r[n[o]]);return t}function O(r,e,t,n){function o(i){return i instanceof t?i:new t(function(a){a(i)})}return new(t||(t=Promise))(function(i,a){function l(c){try{h(n.next(c))}catch(s){a(s)}}function u(c){try{h(n.throw(c))}catch(s){a(s)}}function h(c){c.done?i(c.value):o(c.value).then(l,u)}h((n=n.apply(r,e||[])).next())})}function de(r,e,t){if(t||arguments.length===2)for(var n=0,o=e.length,i;n<o;n++)(i||!(n in e))&&(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return r.concat(i||Array.prototype.slice.call(e))}typeof SuppressedError=="function"&&SuppressedError;function he(r,e){return function(t,n){return Object.prototype.hasOwnProperty.call(t,n)}(r,e)?r[e]:void 0}var b={default:"endpoint"},j={default:"tlsEndpoint"};function y(r){for(var e="",t=0;t<r.length;++t)if(t>0){var n=r[t].toLowerCase();n!==r[t]?e+=" ".concat(n):e+=r[t]}else e+=r[t].toUpperCase();return e}var U="Client timeout",M="Network connection error",F="Network request aborted",x="Response cannot be parsed",A="Blocked by CSP",P="The endpoint parameter is not a valid URL",B=y("WrongRegion"),V=y("SubscriptionNotActive"),q=y("UnsupportedVersion"),G=y("InstallationMethodRestricted"),H=y("HostnameRestricted"),$=y("IntegrationFailed"),D="API key required",C="API key not found",L="API key expired",W="Request cannot be parsed",J="Request failed",Y="Request failed to process",X="Too many requests, rate limit exceeded",Q="Not available for this origin",z="Not available with restricted header",Z=D,ee=C,te=L,Re="3.9.2",I="Failed to load the JS script of the agent",K="9319";function fe(r,e){var t,n,o,i,a,l,u=[],h=(t=function(R){var d=de([],R,!0);return{current:function(){return d[0]},postpone:function(){var f=d.shift();f!==void 0&&d.push(f)},exclude:function(){d.shift()}}}(r),i=100,a=3e3,l=0,n=function(){return Math.random()*Math.min(a,i*Math.pow(2,l++))},o=new Set,[t.current(),function(R,d){var f,_=d instanceof Error?d.message:"";if(_===A||_===P)t.exclude(),f=0;else if(_===K)t.exclude();else if(_===I){var p=Date.now()-R.getTime()<50,v=t.current();v&&p&&!o.has(v)&&(o.add(v),f=0),t.postpone()}else t.postpone();var S=t.current();return S===void 0?void 0:[S,f??R.getTime()+n()-Date.now()]}]),c=h[0],s=h[1];if(c===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var E=function(R){var d=new Date,f=function(p){return u.push({url:R,startedAt:d,finishedAt:new Date,error:p})},_=e(R);return _.then(function(){return f()},f),_.catch(function(p){if(u.length>=5)throw p;var v=s(d,p);if(!v)throw p;var S,Me=v[0],Fe=v[1];return(S=Fe,new Promise(function(xe){return setTimeout(xe,S)})).then(function(){return E(Me)})})};return E(c).then(function(R){return[R,u]})}var ne="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",k=ne;function re(r){var e;r.scriptUrlPattern;var t=r.token,n=r.apiKey,o=n===void 0?t:n,i=ue(r,["scriptUrlPattern","token","apiKey"]),a=(e=he(r,"scriptUrlPattern"))!==null&&e!==void 0?e:ne,l=function(){var c=[],s=function(){c.push({time:new Date,state:document.visibilityState})},E=function(R,d,f,_){return R.addEventListener(d,f,_),function(){return R.removeEventListener(d,f,_)}}(document,"visibilitychange",s);return s(),[c,E]}(),u=l[0],h=l[1];return Promise.resolve().then(function(){if(!o||typeof o!="string")throw new Error(D);var c=function(s,E){return(Array.isArray(s)?s:[s]).map(function(R){return function(d,f){var _=encodeURIComponent;return d.replace(/<[^<>]+>/g,function(p){return p==="<version>"?"3":p==="<apiKey>"?_(f):p==="<loaderVersion>"?_(Re):p})}(String(R),E)})}(a,o);return fe(c,Ee)}).catch(function(c){throw h(),function(s){return s instanceof Error&&s.message===K?new Error(I):s}(c)}).then(function(c){var s=c[0],E=c[1];return h(),s.load(N(N({},i),{ldi:{attempts:E,visibilityStates:u}}))})}function Ee(r){return function(e,t,n,o){var i,a=document,l="securitypolicyviolation",u=function(c){var s=new URL(e,location.href),E=c.blockedURI;E!==s.href&&E!==s.protocol.slice(0,-1)&&E!==s.origin||(i=c,h())};a.addEventListener(l,u);var h=function(){return a.removeEventListener(l,u)};return o==null||o.then(h,h),Promise.resolve().then(t).then(function(c){return h(),c},function(c){return new Promise(function(s){return setTimeout(s)}).then(function(){if(h(),i)return n(i);throw c})})}(r,function(){return function(e){return new Promise(function(t,n){if(function(l){if(URL.prototype)try{return new URL(l,location.href),!1}catch(u){if(u instanceof Error&&u.name==="TypeError")return!0;throw u}}(e))throw new Error(P);var o=document.createElement("script"),i=function(){var l;return(l=o.parentNode)===null||l===void 0?void 0:l.removeChild(o)},a=document.head||document.getElementsByTagName("head")[0];o.onload=function(){i(),t()},o.onerror=function(){i(),n(new Error(I))},o.async=!0,o.src=e,a.appendChild(o)})}(r)},function(){throw new Error(A)}).then(_e)}function _e(){var r=window,e="__fpjs_p_l_b",t=r[e];if(function(n,o){var i,a=(i=Object.getOwnPropertyDescriptor)===null||i===void 0?void 0:i.call(Object,n,o);a!=null&&a.configurable?delete n[o]:a&&!a.writable||(n[o]=void 0)}(r,e),typeof(t==null?void 0:t.load)!="function")throw new Error(K);return t}var pe={load:re,defaultScriptUrlPattern:k,ERROR_SCRIPT_LOAD_FAIL:I,ERROR_API_KEY_EXPIRED:L,ERROR_API_KEY_INVALID:C,ERROR_API_KEY_MISSING:D,ERROR_BAD_REQUEST_FORMAT:W,ERROR_BAD_RESPONSE_FORMAT:x,ERROR_CLIENT_TIMEOUT:U,ERROR_CSP_BLOCK:A,ERROR_FORBIDDEN_ENDPOINT:H,ERROR_FORBIDDEN_HEADER:z,ERROR_FORBIDDEN_ORIGIN:Q,ERROR_GENERAL_SERVER_FAILURE:J,ERROR_INSTALLATION_METHOD_RESTRICTED:G,ERROR_INTEGRATION_FAILURE:$,ERROR_INVALID_ENDPOINT:P,ERROR_NETWORK_ABORT:F,ERROR_NETWORK_CONNECTION:M,ERROR_RATE_LIMIT:X,ERROR_SERVER_TIMEOUT:Y,ERROR_SUBSCRIPTION_NOT_ACTIVE:V,ERROR_TOKEN_EXPIRED:te,ERROR_TOKEN_INVALID:ee,ERROR_TOKEN_MISSING:Z,ERROR_UNSUPPORTED_VERSION:q,ERROR_WRONG_REGION:B,defaultEndpoint:b,defaultTlsEndpoint:j};const Oe=Object.freeze(Object.defineProperty({__proto__:null,ERROR_API_KEY_EXPIRED:L,ERROR_API_KEY_INVALID:C,ERROR_API_KEY_MISSING:D,ERROR_BAD_REQUEST_FORMAT:W,ERROR_BAD_RESPONSE_FORMAT:x,ERROR_CLIENT_TIMEOUT:U,ERROR_CSP_BLOCK:A,ERROR_FORBIDDEN_ENDPOINT:H,ERROR_FORBIDDEN_HEADER:z,ERROR_FORBIDDEN_ORIGIN:Q,ERROR_GENERAL_SERVER_FAILURE:J,ERROR_INSTALLATION_METHOD_RESTRICTED:G,ERROR_INTEGRATION_FAILURE:$,ERROR_INVALID_ENDPOINT:P,ERROR_NETWORK_ABORT:F,ERROR_NETWORK_CONNECTION:M,ERROR_RATE_LIMIT:X,ERROR_SCRIPT_LOAD_FAIL:I,ERROR_SERVER_TIMEOUT:Y,ERROR_SUBSCRIPTION_NOT_ACTIVE:V,ERROR_TOKEN_EXPIRED:te,ERROR_TOKEN_INVALID:ee,ERROR_TOKEN_MISSING:Z,ERROR_UNSUPPORTED_VERSION:q,ERROR_WRONG_REGION:B,default:pe,defaultEndpoint:b,defaultScriptUrlPattern:k,defaultTlsEndpoint:j,load:re},Symbol.toStringTag,{value:"Module"})),oe="@fpjs@client@",ge=60*60*24,ie=60*60,ve=()=>Date.now();class ye{constructor(e){var t;this.tag=e.tag||null,this.linkedId=e.linkedId||null,this.extendedResult=(t=e.extendedResult)!==null&&t!==void 0?t:!1}toKey(){return`${JSON.stringify(this.tag)}__${JSON.stringify(this.linkedId)}__${this.extendedResult}`}}function m(r,e){return`${e}__${r}`}function ae(r,e){return r.replace(`${e}__`,"")}class me{constructor(e=oe){this.prefix=e}set(e,t){window.localStorage.setItem(m(e,this.prefix),JSON.stringify(t))}get(e){const t=window.localStorage.getItem(m(e,this.prefix));if(t)try{return JSON.parse(t)}catch{return}}remove(e){window.localStorage.removeItem(m(e,this.prefix))}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith(this.prefix)).map(e=>ae(e,this.prefix))}}class Ie{constructor(e=oe){this.prefix=e}set(e,t){window.sessionStorage.setItem(m(e,this.prefix),JSON.stringify(t))}get(e){const t=window.sessionStorage.getItem(m(e,this.prefix));if(t)try{return JSON.parse(t)}catch{return}}remove(e){window.sessionStorage.removeItem(m(e,this.prefix))}allKeys(){return Object.keys(window.sessionStorage).filter(e=>e.startsWith(this.prefix)).map(e=>ae(e,this.prefix))}}class we{constructor(e,t=ie,n){this.cache=e,this.cacheTime=t,this.nowProvider=n||ve}get(e){return O(this,void 0,void 0,function*(){const t=yield this.cache.get(e.toKey());if(!t)return;const n=yield this.nowProvider(),o=Math.floor(n/1e3);if(t.expiresAt<o){yield this.cache.remove(e.toKey());return}return t.body})}set(e,t){return O(this,void 0,void 0,function*(){const n=yield this.wrapCacheEntry(t);yield this.cache.set(e.toKey(),n)})}clearCache(){return O(this,void 0,void 0,function*(){const e=yield this.cache.allKeys();yield Promise.all(e.map(t=>this.cache.remove(t)))})}wrapCacheEntry(e){return O(this,void 0,void 0,function*(){const t=yield this.nowProvider(),n=Math.floor(t/1e3)+this.cacheTime;return{body:e,expiresAt:n}})}}class Se{constructor(){this.enclosedCache=function(){const e={};return{set(t,n){e[t]=n},get(t){const n=e[t];if(n)return n},remove(t){delete e[t]},allKeys(){return Object.keys(e)}}}()}}class Te{set(){}get(){}remove(){}allKeys(){return[]}}var g;(function(r){r.Memory="memory",r.LocalStorage="localstorage",r.SessionStorage="sessionstorage",r.NoCache="nocache"})(g||(g={}));var Ne="1.3.1";const Ae={[g.Memory]:()=>new Se().enclosedCache,[g.LocalStorage]:r=>new me(r),[g.SessionStorage]:r=>new Ie(r),[g.NoCache]:()=>new Te},Pe=r=>{switch(r){case g.SessionStorage:try{window.sessionStorage.getItem("item")}catch{return!1}return!0;case g.LocalStorage:try{window.localStorage.getItem("item")}catch{return!1}return!0;default:return!0}},ce=r=>Ae[r];class w{constructor(e){var t;this.inFlightRequests=new Map,this.agentPromise=null,this.customAgent=e==null?void 0:e.customAgent,this.agent={get:()=>{throw new Error("FPJSAgent hasn't loaded yet. Make sure to call the init() method first.")}},this.loadOptions=e==null?void 0:e.loadOptions,e!=null&&e.cache&&(e!=null&&e.cacheLocation)&&console.warn("Both `cache` and `cacheLocation` options have been specified in the FpjsClient configuration; ignoring `cacheLocation` and using `cache`.");let n;if(e!=null&&e.cache)n=e.cache;else{if(this.cacheLocation=(e==null?void 0:e.cacheLocation)||g.SessionStorage,!ce(this.cacheLocation))throw new Error(`Invalid cache location "${this.cacheLocation}"`);Pe(this.cacheLocation)||(this.cacheLocation=g.Memory),n=ce(this.cacheLocation)(e==null?void 0:e.cachePrefix)}if(e!=null&&e.cacheTimeInSeconds&&e.cacheTimeInSeconds>ge)throw new Error("Cache time cannot exceed 86400 seconds (24 hours)");const o=(t=e==null?void 0:e.cacheTimeInSeconds)!==null&&t!==void 0?t:ie;this.cacheManager=new we(n,o)}init(e){return O(this,void 0,void 0,function*(){var t,n;if(!this.loadOptions&&!e)throw new TypeError("No load options provided");const o=Object.assign(Object.assign(Object.assign({},this.loadOptions),e),{integrationInfo:[...((t=this.loadOptions)===null||t===void 0?void 0:t.integrationInfo)||[],...(e==null?void 0:e.integrationInfo)||[],`fingerprintjs-pro-spa/${Ne}`]});if(!this.agentPromise){const i=(n=this.customAgent)!==null&&n!==void 0?n:Oe;this.agentPromise=i.load(o).then(a=>(this.agent=a,a)).catch(a=>{throw this.agentPromise=null,a})}return this.agentPromise})}getVisitorData(){return O(this,arguments,void 0,function*(e={},t=!1){const o=w.makeCacheKey(e).toKey();if(!this.inFlightRequests.has(o)){const i=this._identify(e,t).finally(()=>{this.inFlightRequests.delete(o)});this.inFlightRequests.set(o,i)}return yield this.inFlightRequests.get(o)})}getVisitorDataFromCache(){return O(this,arguments,void 0,function*(e={}){const t=w.makeCacheKey(e),n=yield this.cacheManager.get(t);return n?Object.assign(Object.assign({},n),{cacheHit:!0}):void 0})}isInCache(){return O(this,arguments,void 0,function*(e={}){return!!(yield this.getVisitorDataFromCache(e))})}clearCache(){return O(this,void 0,void 0,function*(){yield this.cacheManager.clearCache()})}static makeCacheKey(e){return new ye(e)}_identify(e){return O(this,arguments,void 0,function*(t,n=!1){const o=w.makeCacheKey(t);if(!n){const a=yield this.cacheManager.get(o);if(a)return Object.assign(Object.assign({},a),{cacheHit:!0})}const i=yield this.agent.get(t);return yield this.cacheManager.set(o,i),Object.assign(Object.assign({},i),{cacheHit:!1})})}}async function se(){try{const r=typeof Cypress=="object",e=typeof process=="object"&&process.env.NODE_ENV==="test";if(r||e)return"a-mock-visitor-id";const t="https://d2hwnq6cq5q3pi.cloudfront.net",n="wyr92st0i7",o="ia1t65gn6i",i="db4fuswrza",a=new w({loadOptions:{apiKey:"hpFVJecm7Ni7AjSfvBIW",endpoint:[`${t}/${n}/${o}`,b],scriptUrlPattern:[`${t}/${n}/${i}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,k]}});return await a.init(),(await a.getVisitorData()).visitorId}catch(r){return console.log(r),""}}async function De(){return new Promise(r=>{window.requestIdleCallback?requestIdleCallback(async()=>{const e=await se();r(e)}):setTimeout(async()=>{const e=await se();r(e)},500)})}const be="https://tst.kaptcha.com",Ce="https://ssl.kaptcha.com",Le=r=>r==="production",Ke=({env:r,kountAccountId:e,kountSessionId:t})=>{const n=Le(r)?Ce:be,o=new URL(`${n}/collect/sdk`);o.searchParams.append("m",e),t&&o.searchParams.append("m",t);const i=document.createElement("script");return i.setAttribute("class","kaxsdc"),i.setAttribute("data-event","load"),i.setAttribute("type","text/javascript"),i.setAttribute("src",o.href),document.body.append(i),i};async function ke({env:r,kountAccountId:e,kountSessionId:t}){return new Promise((n,o)=>{const i=Ke({env:r,kountAccountId:e,kountSessionId:t});i.onload=()=>{const a=new ka.ClientSDK;a.setupCallback({"collect-begin":l=>{const{MercSessId:u}=l;n(u)}}),a.autoLoadEvents()},i.onerror=()=>{o(new Error("Error attempting to mount Kount script"))}})}const je=()=>{const r=document.createElement("script");return r.src="https://cdn.rebilly.com/risk-data-collector/@latest/google-adsense.js",new Promise(e=>{r.onload=()=>{e(document.getElementById("fj2xFkdsoQIQna")===null)},r.onerror=()=>e(!0),document.head.appendChild(r)}).catch(()=>!0)};async function le({env:r=null,screen:e,navigator:t,kountAccountId:n=null,kountSessionId:o=null,getFingerprint:i,getFraudSessionId:a}){const{colorDepth:l,height:u,width:h}=e||{},{javaEnabled:c,language:s}=t||{};let E,R,d;try{[d,E,R]=await Promise.all([je(),i==null?void 0:i(),n?a({env:r,kountAccountId:n,kountSessionId:o}):void 0])}catch(_){console.error(_)}return{riskMetadata:{fingerprint:E||null,extraData:{kountFraudSessionId:R||null},browserData:{colorDepth:l||null,isJavaEnabled:c?c.call(t):null,language:s||null,screenHeight:u||null,screenWidth:h||null,timeZoneOffset:new Date().getTimezoneOffset(),isAdBlockEnabled:d}}}}async function Ue({env:r=null,kountAccountId:e=null,kountSessionId:t=null}={}){return le({env:r,screen,navigator,kountAccountId:e,kountSessionId:t,getFingerprint:De,getFraudSessionId:ke})}return T.collectData=Ue,T.collectDataHelper=le,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"}),T}({});
2
2
  //# sourceMappingURL=data-collector.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-collector.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/@fingerprintjs/fingerprintjs-pro/dist/fp.esm.min.js","../../../node_modules/@fingerprintjs/fingerprintjs-pro-spa/dist/fp-pro-spa.esm.js","../src/fingerprint.js","../src/kount.js","../src/adblock-detect.js","../src/data-collector.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/**\n * FingerprintJS Pro v3.9.0 - Copyright (c) FingerprintJS, Inc, 2024 (https://fingerprint.com)\n */\n\nimport{__spreadArray as e,__rest as t,__assign as n}from\"tslib\";function r(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}var o={default:\"endpoint\"},i={default:\"tlsEndpoint\"};function u(e){for(var t=\"\",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=\" \".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var a=\"Client timeout\",R=\"Network connection error\",c=\"Network request aborted\",s=\"Response cannot be parsed\",f=\"Blocked by CSP\",E=\"The endpoint parameter is not a valid URL\",l=/*#__PURE__*/u(\"WrongRegion\"),d=/*#__PURE__*/u(\"SubscriptionNotActive\"),p=/*#__PURE__*/u(\"UnsupportedVersion\"),_=/*#__PURE__*/u(\"InstallationMethodRestricted\"),v=/*#__PURE__*/u(\"HostnameRestricted\"),O=/*#__PURE__*/u(\"IntegrationFailed\"),h=\"API key required\",I=\"API key not found\",T=\"API key expired\",N=\"Request cannot be parsed\",m=\"Request failed\",w=\"Request failed to process\",A=\"Too many requests, rate limit exceeded\",P=\"Not available for this origin\",y=\"Not available with restricted header\",D=h,S=I,L=T,U=\"3.9.0\",g=\"Failed to load the JS script of the agent\",b=\"9319\";function C(t,n){var r,o,i,u,a,R,c=[],s=(r=function(t){var n=e([],t,!0);return{current:function(){return n[0]},postpone:function(){var e=n.shift();void 0!==e&&n.push(e)},exclude:function(){n.shift()}}}(t),u=100,a=3e3,R=0,o=function(){return Math.random()*Math.min(a,u*Math.pow(2,R++))},i=new Set,[r.current(),function(e,t){var n,u=t instanceof Error?t.message:\"\";if(u===f||u===E)r.exclude(),n=0;else if(u===b)r.exclude();else if(u===g){var a=Date.now()-e.getTime()<50,R=r.current();R&&a&&!i.has(R)&&(i.add(R),n=0),r.postpone()}else r.postpone();var c=r.current();return void 0===c?void 0:[c,null!=n?n:e.getTime()+o()-Date.now()]}]),l=s[0],d=s[1];if(void 0===l)return Promise.reject(new TypeError(\"The list of script URL patterns is empty\"));var p=function(e){var t=new Date,r=function(n){return c.push({url:e,startedAt:t,finishedAt:new Date,error:n})},o=n(e);return o.then((function(){return r()}),r),o.catch((function(e){if(c.length>=5)throw e;var n=d(t,e);if(!n)throw e;var r,o=n[0],i=n[1];return(r=i,new Promise((function(e){return setTimeout(e,r)}))).then((function(){return p(o)}))}))};return p(l).then((function(e){return[e,c]}))}var K=\"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js\",M=K;function B(e){var o;e.scriptUrlPattern;var i=e.token,u=e.apiKey,a=void 0===u?i:u,R=t(e,[\"scriptUrlPattern\",\"token\",\"apiKey\"]),c=null!==(o=r(e,\"scriptUrlPattern\"))&&void 0!==o?o:K,s=function(){var e=[],t=function(){e.push({time:new Date,state:document.visibilityState})},n=function(e,t,n,r){return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}(document,\"visibilitychange\",t);return t(),[e,n]}(),f=s[0],E=s[1];return Promise.resolve().then((function(){if(!a||\"string\"!=typeof a)throw new Error(h);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return\"<version>\"===e?\"3\":\"<apiKey>\"===e?n(t):\"<loaderVersion>\"===e?n(U):e}))}(String(e),t)}))}(c,a);return C(e,F)})).catch((function(e){throw E(),function(e){if(e instanceof Error&&e.message===b)return new Error(g);return e}(e)})).then((function(e){var t=e[0],r=e[1];return E(),t.load(n(n({},R),{ldi:{attempts:r,visibilityStates:f}}))}))}function F(e){return function(e,t,n,r){var o,i=document,u=\"securitypolicyviolation\",a=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,R())};i.addEventListener(u,a);var R=function(){return i.removeEventListener(u,a)};return null==r||r.then(R,R),Promise.resolve().then(t).then((function(e){return R(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(R(),o)return n(o);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(t){if(t instanceof Error&&\"TypeError\"===t.name)return!0;throw t}}(e))throw new Error(E);var r=document.createElement(\"script\"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName(\"head\")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(g))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)}),(function(){throw new Error(f)})).then(V)}function V(){var e=window,t=\"__fpjs_p_l_b\",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),\"function\"!=typeof(null==n?void 0:n.load))throw new Error(b);return n}var k={load:B,defaultScriptUrlPattern:M,ERROR_SCRIPT_LOAD_FAIL:g,ERROR_API_KEY_EXPIRED:T,ERROR_API_KEY_INVALID:I,ERROR_API_KEY_MISSING:h,ERROR_BAD_REQUEST_FORMAT:N,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:a,ERROR_CSP_BLOCK:f,ERROR_FORBIDDEN_ENDPOINT:v,ERROR_FORBIDDEN_HEADER:y,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:m,ERROR_INSTALLATION_METHOD_RESTRICTED:_,ERROR_INTEGRATION_FAILURE:O,ERROR_INVALID_ENDPOINT:E,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:w,ERROR_SUBSCRIPTION_NOT_ACTIVE:d,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:S,ERROR_TOKEN_MISSING:D,ERROR_UNSUPPORTED_VERSION:p,ERROR_WRONG_REGION:l,defaultEndpoint:o,defaultTlsEndpoint:i};export{T as ERROR_API_KEY_EXPIRED,I as ERROR_API_KEY_INVALID,h as ERROR_API_KEY_MISSING,N as ERROR_BAD_REQUEST_FORMAT,s as ERROR_BAD_RESPONSE_FORMAT,a as ERROR_CLIENT_TIMEOUT,f as ERROR_CSP_BLOCK,v as ERROR_FORBIDDEN_ENDPOINT,y as ERROR_FORBIDDEN_HEADER,P as ERROR_FORBIDDEN_ORIGIN,m as ERROR_GENERAL_SERVER_FAILURE,_ as ERROR_INSTALLATION_METHOD_RESTRICTED,O as ERROR_INTEGRATION_FAILURE,E as ERROR_INVALID_ENDPOINT,c as ERROR_NETWORK_ABORT,R as ERROR_NETWORK_CONNECTION,A as ERROR_RATE_LIMIT,g as ERROR_SCRIPT_LOAD_FAIL,w as ERROR_SERVER_TIMEOUT,d as ERROR_SUBSCRIPTION_NOT_ACTIVE,L as ERROR_TOKEN_EXPIRED,S as ERROR_TOKEN_INVALID,D as ERROR_TOKEN_MISSING,p as ERROR_UNSUPPORTED_VERSION,l as ERROR_WRONG_REGION,k as default,o as defaultEndpoint,M as defaultScriptUrlPattern,i as defaultTlsEndpoint,B as load};\n","/**\n * FingerprintJS Pro SPA v1.3.0 - Copyright (c) FingerprintJS, Inc, 2023 (https://fingerprint.com)\n * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.\n */\n\nimport { __awaiter } from 'tslib';\nimport * as FingerprintJSPro from '@fingerprintjs/fingerprintjs-pro';\nexport { FingerprintJSPro };\n\nconst CACHE_KEY_PREFIX = '@fpjs@client@';\nconst MAX_CACHE_LIFE = 60 * 60 * 24; // 24 hours\nconst DEFAULT_CACHE_LIFE = 60 * 60; // 1 hour\nconst DEFAULT_NOW_PROVIDER = () => Date.now();\nclass CacheKey {\n constructor(options) {\n var _a;\n this.tag = options.tag || null;\n this.linkedId = options.linkedId || null;\n this.extendedResult = (_a = options.extendedResult) !== null && _a !== void 0 ? _a : false;\n }\n /**\n * Converts this `CacheKey` instance into a string for use in a cache\n * @returns A string representation of the key\n */\n toKey() {\n return `${JSON.stringify(this.tag)}__${JSON.stringify(this.linkedId)}__${this.extendedResult}`;\n }\n}\nfunction getKeyWithPrefix(key, prefix) {\n return `${prefix}__${key}`;\n}\nfunction removePrefixFromKey(key, prefix) {\n return key.replace(`${prefix}__`, '');\n}\n\n/**\n * Implementation of caching that uses local storage\n * */\nclass LocalStorageCache {\n constructor(prefix = CACHE_KEY_PREFIX) {\n this.prefix = prefix;\n }\n set(key, entry) {\n window.localStorage.setItem(getKeyWithPrefix(key, this.prefix), JSON.stringify(entry));\n }\n get(key) {\n const json = window.localStorage.getItem(getKeyWithPrefix(key, this.prefix));\n if (!json) {\n return;\n }\n try {\n return JSON.parse(json);\n }\n catch (e) {\n return;\n }\n }\n remove(key) {\n window.localStorage.removeItem(getKeyWithPrefix(key, this.prefix));\n }\n allKeys() {\n return Object.keys(window.localStorage)\n .filter((key) => key.startsWith(this.prefix))\n .map((key) => removePrefixFromKey(key, this.prefix));\n }\n}\n\n/**\n * Implementation of caching that uses session storage\n * */\nclass SessionStorageCache {\n constructor(prefix = CACHE_KEY_PREFIX) {\n this.prefix = prefix;\n }\n /**\n * It takes a key and an entry, and sets the entry in the session storage with the key\n * @param {string} key - The key to store the entry under.\n * @param {Cacheable} entry - The value to be stored in the cache.\n */\n set(key, entry) {\n window.sessionStorage.setItem(getKeyWithPrefix(key, this.prefix), JSON.stringify(entry));\n }\n /**\n * It gets the value of the key from the session storage, parses it as JSON, and returns it\n * @param {string} key - The key to store the data under.\n * @returns The value of the key in the sessionStorage.\n */\n get(key) {\n const json = window.sessionStorage.getItem(getKeyWithPrefix(key, this.prefix));\n if (!json) {\n return;\n }\n try {\n return JSON.parse(json);\n }\n catch (e) {\n return;\n }\n }\n /**\n * It removes the item from session storage with the given key\n * @param {string} key - The key to store the value under.\n */\n remove(key) {\n window.sessionStorage.removeItem(getKeyWithPrefix(key, this.prefix));\n }\n /**\n * It returns an array of all the keys in the session storage that start with the prefix\n * @returns An array of all the keys in the sessionStorage that start with the prefix.\n */\n allKeys() {\n return Object.keys(window.sessionStorage)\n .filter((key) => key.startsWith(this.prefix))\n .map((key) => removePrefixFromKey(key, this.prefix));\n }\n}\n\n/**\n * Wraps a cache implementation and adds expiration logic\n * */\nclass CacheManager {\n constructor(cache, cacheTime = DEFAULT_CACHE_LIFE, nowProvider) {\n this.cache = cache;\n this.cacheTime = cacheTime;\n this.nowProvider = nowProvider || DEFAULT_NOW_PROVIDER;\n }\n /**\n * It gets a cache entry from the cache, and if it's expired, it removes it from the cache\n * @param cacheKey - CacheKey<TExtended>\n * @returns A promise that resolves to a cache entry or undefined.\n */\n get(cacheKey) {\n return __awaiter(this, void 0, void 0, function* () {\n const wrappedEntry = yield this.cache.get(cacheKey.toKey());\n if (!wrappedEntry) {\n return;\n }\n const now = yield this.nowProvider();\n const nowSeconds = Math.floor(now / 1000);\n if (wrappedEntry.expiresAt < nowSeconds) {\n yield this.cache.remove(cacheKey.toKey());\n return;\n }\n return wrappedEntry.body;\n });\n }\n /**\n * It takes a cache key and a cache entry, wraps the cache entry, and then sets the wrapped cache entry in the cache\n * @param cacheKey - CacheKey<TExtended>\n * @param {CacheEntry} entry - The cache entry to be stored.\n */\n set(cacheKey, entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const wrappedEntry = yield this.wrapCacheEntry(entry);\n yield this.cache.set(cacheKey.toKey(), wrappedEntry);\n });\n }\n /**\n * It gets all the keys in the cache, and then removes them all\n */\n clearCache() {\n return __awaiter(this, void 0, void 0, function* () {\n const keys = yield this.cache.allKeys();\n yield Promise.all(keys.map((key) => this.cache.remove(key)));\n });\n }\n wrapCacheEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const now = yield this.nowProvider();\n const expiresInTime = Math.floor(now / 1000) + this.cacheTime;\n return {\n body: entry,\n expiresAt: expiresInTime,\n };\n });\n }\n}\n\n/**\n * Implementation of caching that uses in-memory storage\n * */\nclass InMemoryCache {\n constructor() {\n this.enclosedCache = (function () {\n const cache = {};\n return {\n set(key, entry) {\n cache[key] = entry;\n },\n get(key) {\n const cacheEntry = cache[key];\n if (!cacheEntry) {\n return;\n }\n return cacheEntry;\n },\n remove(key) {\n delete cache[key];\n },\n allKeys() {\n return Object.keys(cache);\n },\n };\n })();\n }\n}\n\n/**\n * Implementation of stub cache that is used when cache is disabled by user\n * */\nclass CacheStub {\n set() { }\n get() {\n return undefined;\n }\n remove() { }\n allKeys() {\n return [];\n }\n}\n\nvar CacheLocation;\n(function (CacheLocation) {\n CacheLocation[\"Memory\"] = \"memory\";\n CacheLocation[\"LocalStorage\"] = \"localstorage\";\n CacheLocation[\"SessionStorage\"] = \"sessionstorage\";\n CacheLocation[\"NoCache\"] = \"nocache\";\n})(CacheLocation || (CacheLocation = {}));\n\nvar version = \"1.3.0\";\n\nconst cacheLocationBuilders = {\n [CacheLocation.Memory]: () => new InMemoryCache().enclosedCache,\n [CacheLocation.LocalStorage]: (prefix) => new LocalStorageCache(prefix),\n [CacheLocation.SessionStorage]: (prefix) => new SessionStorageCache(prefix),\n [CacheLocation.NoCache]: () => new CacheStub(),\n};\nconst doesBrowserSupportCacheLocation = (cacheLocation) => {\n switch (cacheLocation) {\n case CacheLocation.SessionStorage:\n try {\n window.sessionStorage.getItem('item');\n }\n catch (e) {\n return false;\n }\n return true;\n case CacheLocation.LocalStorage:\n try {\n window.localStorage.getItem('item');\n }\n catch (e) {\n return false;\n }\n return true;\n default:\n return true;\n }\n};\nconst cacheFactory = (location) => {\n return cacheLocationBuilders[location];\n};\n/**\n * FingerprintJS SDK for Single Page Applications\n */\nclass FpjsClient {\n constructor(options) {\n var _a;\n this.inFlightRequests = new Map();\n this.agentPromise = null;\n this.customAgent = options === null || options === void 0 ? void 0 : options.customAgent;\n this.agent = {\n get: () => {\n throw new Error(\"FPJSAgent hasn't loaded yet. Make sure to call the init() method first.\");\n },\n };\n this.loadOptions = options === null || options === void 0 ? void 0 : options.loadOptions;\n if ((options === null || options === void 0 ? void 0 : options.cache) && (options === null || options === void 0 ? void 0 : options.cacheLocation)) {\n console.warn('Both `cache` and `cacheLocation` options have been specified in the FpjsClient configuration; ignoring `cacheLocation` and using `cache`.');\n }\n let cache;\n if (options === null || options === void 0 ? void 0 : options.cache) {\n cache = options.cache;\n }\n else {\n this.cacheLocation = (options === null || options === void 0 ? void 0 : options.cacheLocation) || CacheLocation.SessionStorage;\n if (!cacheFactory(this.cacheLocation)) {\n throw new Error(`Invalid cache location \"${this.cacheLocation}\"`);\n }\n if (!doesBrowserSupportCacheLocation(this.cacheLocation)) {\n this.cacheLocation = CacheLocation.Memory;\n }\n cache = cacheFactory(this.cacheLocation)(options === null || options === void 0 ? void 0 : options.cachePrefix);\n }\n if ((options === null || options === void 0 ? void 0 : options.cacheTimeInSeconds) && options.cacheTimeInSeconds > MAX_CACHE_LIFE) {\n throw new Error(`Cache time cannot exceed 86400 seconds (24 hours)`);\n }\n const cacheTime = (_a = options === null || options === void 0 ? void 0 : options.cacheTimeInSeconds) !== null && _a !== void 0 ? _a : DEFAULT_CACHE_LIFE;\n this.cacheManager = new CacheManager(cache, cacheTime);\n }\n /**\n * Loads FPJS JS agent with certain settings and stores the instance in memory\n * [https://dev.fingerprint.com/docs/js-agent#agent-initialization]\n *\n * @param passedLoadOptions Additional load options to be passed to the agent, they will be merged with load options provided in the constructor.\n */\n init(passedLoadOptions) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.loadOptions && !passedLoadOptions) {\n throw new TypeError('No load options provided');\n }\n const loadOptions = Object.assign(Object.assign(Object.assign({}, this.loadOptions), passedLoadOptions), { integrationInfo: [\n ...(((_a = this.loadOptions) === null || _a === void 0 ? void 0 : _a.integrationInfo) || []),\n ...((passedLoadOptions === null || passedLoadOptions === void 0 ? void 0 : passedLoadOptions.integrationInfo) || []),\n `fingerprintjs-pro-spa/${version}`,\n ] });\n if (!this.agentPromise) {\n const agentLoader = (_b = this.customAgent) !== null && _b !== void 0 ? _b : FingerprintJSPro;\n this.agentPromise = agentLoader\n .load(loadOptions)\n .then((agent) => {\n this.agent = agent;\n return agent;\n })\n .catch((error) => {\n this.agentPromise = null;\n throw error;\n });\n }\n return this.agentPromise;\n });\n }\n /**\n * Returns visitor identification data based on the request options\n * [https://dev.fingerprint.com/docs/js-agent#visitor-identification]\n *\n * @param options\n * @param ignoreCache if set to true a request to the API will be made even if the data is present in cache\n */\n getVisitorData(options = {}, ignoreCache = false) {\n return __awaiter(this, void 0, void 0, function* () {\n const cacheKey = FpjsClient.makeCacheKey(options);\n const key = cacheKey.toKey();\n if (!this.inFlightRequests.has(key)) {\n const promise = this._identify(options, ignoreCache).finally(() => {\n this.inFlightRequests.delete(key);\n });\n this.inFlightRequests.set(key, promise);\n }\n return (yield this.inFlightRequests.get(key));\n });\n }\n /**\n * Returns cached visitor data based on the request options, or undefined if the data is not present in cache\n * */\n getVisitorDataFromCache(options = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const cacheKey = FpjsClient.makeCacheKey(options);\n const cacheResult = yield this.cacheManager.get(cacheKey);\n return cacheResult ? Object.assign(Object.assign({}, cacheResult), { cacheHit: true }) : undefined;\n });\n }\n /**\n * Checks if request matching given options is present in cache\n * */\n isInCache(options = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n return Boolean(yield this.getVisitorDataFromCache(options));\n });\n }\n /**\n * Clears visitor data from cache regardless of the cache implementation\n */\n clearCache() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.cacheManager.clearCache();\n });\n }\n /**\n * Makes a CacheKey object from GetOptions\n */\n static makeCacheKey(options) {\n return new CacheKey(options);\n }\n _identify(options, ignoreCache = false) {\n return __awaiter(this, void 0, void 0, function* () {\n const key = FpjsClient.makeCacheKey(options);\n if (!ignoreCache) {\n const cacheResult = yield this.cacheManager.get(key);\n if (cacheResult) {\n return Object.assign(Object.assign({}, cacheResult), { cacheHit: true });\n }\n }\n const agentResult = (yield this.agent.get(options));\n yield this.cacheManager.set(key, agentResult);\n return Object.assign(Object.assign({}, agentResult), { cacheHit: false });\n });\n }\n}\n\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultEndpoint` instead, this export will be removed in the next major version\n * */\nconst defaultEndpoint = FingerprintJSPro.defaultEndpoint;\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultTlsEndpoint` instead, this export will be removed in the next major version\n */\nconst defaultTlsEndpoint = FingerprintJSPro.defaultTlsEndpoint;\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultScriptUrlPattern` instead, this export will be removed in the next major version\n */\nconst defaultScriptUrlPattern = FingerprintJSPro.defaultScriptUrlPattern;\n\nexport { CacheLocation, CacheStub, FpjsClient, InMemoryCache, LocalStorageCache, SessionStorageCache, defaultEndpoint, defaultScriptUrlPattern, defaultTlsEndpoint };\n","import {\n FpjsClient,\n FingerprintJSPro,\n} from '@fingerprintjs/fingerprintjs-pro-spa';\n\n/**\n * generateFingerprint is implemented following guidelines\n * from the @fingerprintjs/fingerprintjs package documentation:\n * https://github.com/fingerprintjs/fingerprintjs/blob/master/docs/api.md\n */\nasync function generateFingerprint() {\n try {\n const isRunningByCypress = typeof Cypress === 'object';\n const inRunningInUnitTests =\n typeof process === 'object' && process.env.NODE_ENV === 'test';\n // Skip fingerprint generation when running Cypress tests or in unit tests\n if (isRunningByCypress || inRunningInUnitTests) return 'a-mock-visitor-id';\n\n const cloudfrontUrl = 'https://d2hwnq6cq5q3pi.cloudfront.net';\n const fpjsBehaviorPath = 'wyr92st0i7';\n const fpjsGetResultPath = 'ia1t65gn6i';\n const fpjsAgentDownloadPath = 'db4fuswrza';\n\n const fpjsClient = new FpjsClient({\n loadOptions: {\n apiKey: 'hpFVJecm7Ni7AjSfvBIW',\n endpoint: [\n `${cloudfrontUrl}/${fpjsBehaviorPath}/${fpjsGetResultPath}`,\n FingerprintJSPro.defaultEndpoint,\n ],\n scriptUrlPattern: [\n `${cloudfrontUrl}/${fpjsBehaviorPath}/${fpjsAgentDownloadPath}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,\n FingerprintJSPro.defaultScriptUrlPattern,\n ],\n },\n });\n await fpjsClient.init();\n const result = await fpjsClient.getVisitorData();\n\n return result.visitorId;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e);\n\n return '';\n }\n}\n\nexport default async function getFingerprint() {\n return new Promise((resolve) => {\n if (window.requestIdleCallback) {\n requestIdleCallback(async () => {\n const fingerprint = await generateFingerprint();\n resolve(fingerprint);\n });\n } else {\n setTimeout(async () => {\n const fingerprint = await generateFingerprint();\n resolve(fingerprint);\n }, 500);\n }\n });\n}\n","/* eslint-disable no-undef */\nconst sandboxDataCollectorUrl = 'https://tst.kaptcha.com';\nconst prodDataCollectorUrl = 'https://ssl.kaptcha.com';\n\nconst isProd = (env) => env === 'production';\n\nconst addKountScriptElement = ({ env, kountAccountId, kountSessionId }) => {\n const baseUrl = isProd(env) ? prodDataCollectorUrl : sandboxDataCollectorUrl;\n const kountScriptUrl = new URL(`${baseUrl}/collect/sdk`);\n kountScriptUrl.searchParams.append('m', kountAccountId);\n if (kountSessionId) {\n kountScriptUrl.searchParams.append('m', kountSessionId);\n }\n\n const kountScript = document.createElement('script');\n kountScript.setAttribute('class', 'kaxsdc');\n kountScript.setAttribute('data-event', 'load');\n kountScript.setAttribute('type', 'text/javascript');\n kountScript.setAttribute('src', kountScriptUrl.href);\n\n document.body.append(kountScript);\n\n return kountScript;\n};\n\nexport default async function getFraudSessionId({\n env,\n kountAccountId,\n kountSessionId,\n}) {\n return new Promise((resolve, reject) => {\n const kountScript = addKountScriptElement({\n env,\n kountAccountId,\n kountSessionId,\n });\n\n kountScript.onload = () => {\n const client = new ka.ClientSDK();\n client.setupCallback({\n 'collect-begin': (params) => {\n const { MercSessId } = params;\n resolve(MercSessId);\n },\n });\n client.autoLoadEvents();\n };\n kountScript.onerror = () => {\n reject(new Error('Error attempting to mount Kount script'));\n };\n });\n}\n","// Implementation as per https://www.detectadblock.com/\n// - We host a honeypot ad file with a suspcious name\n// - The ad file in /static/google-adsense.js is deployed to our S3 bucket\n// as part of the semantic release process.\n// - Try to load that file, which ads a div with a unique ID\n// - If that div is not present, then the adblocker is blocking it\nexport const getIsAdBlockEnabled = () => {\n const script = document.createElement('script');\n script.src =\n 'https://cdn.rebilly.com/risk-data-collector/@latest/google-adsense.js';\n\n return new Promise((resolve) => {\n script.onload = () => {\n resolve(document.getElementById('fj2xFkdsoQIQna') === null);\n };\n script.onerror = () => {\n return resolve(true);\n };\n document.head.appendChild(script);\n }).catch(() => {\n return true;\n });\n};\n","/* eslint-disable no-console */\nimport fingerprinter from './fingerprint';\nimport kount from './kount';\nimport { getIsAdBlockEnabled } from './adblock-detect';\n\nasync function collectDataHelper({\n env = null,\n screen,\n navigator,\n kountAccountId = null,\n kountSessionId = null,\n getFingerprint,\n getFraudSessionId,\n}) {\n const { colorDepth, height: screenHeight, width: screenWidth } = screen || {};\n const { javaEnabled, language } = navigator || {};\n let fingerprint;\n let kountFraudSessionId;\n let isAdBlockEnabled;\n\n try {\n [isAdBlockEnabled, fingerprint, kountFraudSessionId] = await Promise.all([\n getIsAdBlockEnabled(),\n getFingerprint?.(),\n kountAccountId\n ? getFraudSessionId({\n env,\n kountAccountId,\n kountSessionId,\n })\n : undefined,\n ]);\n } catch (e) {\n console.error(e);\n }\n\n const data = {\n riskMetadata: {\n fingerprint: fingerprint || null,\n extraData: {\n kountFraudSessionId: kountFraudSessionId || null,\n },\n browserData: {\n colorDepth: colorDepth || null,\n isJavaEnabled: javaEnabled ? javaEnabled.call(navigator) : null,\n language: language || null,\n screenHeight: screenHeight || null,\n screenWidth: screenWidth || null,\n timeZoneOffset: new Date().getTimezoneOffset(),\n isAdBlockEnabled,\n },\n },\n };\n\n return data;\n}\n\nasync function collectData({\n env = null,\n kountAccountId = null,\n kountSessionId = null,\n} = {}) {\n return collectDataHelper({\n env,\n screen,\n navigator,\n kountAccountId,\n kountSessionId,\n getFingerprint: fingerprinter,\n getFraudSessionId: kount,\n });\n}\n\nexport { collectData, collectDataHelper };\n"],"names":["__assign","t","s","i","n","p","__rest","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","__spreadArray","to","from","pack","l","ar","r","o","u","a","R","c","f","E","d","_","v","O","h","I","T","N","m","w","A","y","D","S","L","U","g","b","C","K","M","B","F","V","k","CACHE_KEY_PREFIX","MAX_CACHE_LIFE","DEFAULT_CACHE_LIFE","DEFAULT_NOW_PROVIDER","CacheKey","options","_a","getKeyWithPrefix","key","prefix","removePrefixFromKey","LocalStorageCache","entry","json","SessionStorageCache","CacheManager","cache","cacheTime","nowProvider","cacheKey","wrappedEntry","now","nowSeconds","keys","expiresInTime","InMemoryCache","cacheEntry","CacheStub","CacheLocation","version","cacheLocationBuilders","doesBrowserSupportCacheLocation","cacheLocation","cacheFactory","location","FpjsClient","passedLoadOptions","_b","loadOptions","agentLoader","FingerprintJSPro","agent","error","ignoreCache","promise","cacheResult","agentResult","generateFingerprint","isRunningByCypress","inRunningInUnitTests","cloudfrontUrl","fpjsBehaviorPath","fpjsGetResultPath","fpjsAgentDownloadPath","fpjsClient","FingerprintJSPro.defaultEndpoint","FingerprintJSPro.defaultScriptUrlPattern","getFingerprint","fingerprint","sandboxDataCollectorUrl","prodDataCollectorUrl","isProd","env","addKountScriptElement","kountAccountId","kountSessionId","baseUrl","kountScriptUrl","kountScript","getFraudSessionId","client","params","MercSessId","getIsAdBlockEnabled","script","collectDataHelper","screen","navigator","colorDepth","screenHeight","screenWidth","javaEnabled","language","kountFraudSessionId","isAdBlockEnabled","collectData","fingerprinter","kount"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"data-collector.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/@fingerprintjs/fingerprintjs-pro/dist/fp.esm.min.js","../../../node_modules/@fingerprintjs/fingerprintjs-pro-spa/dist/fp-pro-spa.esm.js","../src/fingerprint.js","../src/kount.js","../src/adblock-detect.js","../src/data-collector.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/**\n * FingerprintJS Pro v3.9.2 - Copyright (c) FingerprintJS, Inc, 2024 (https://fingerprint.com)\n */\n\nimport{__spreadArray as e,__rest as t,__assign as n}from\"tslib\";function r(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}var o={default:\"endpoint\"},i={default:\"tlsEndpoint\"};function u(e){for(var t=\"\",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=\" \".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var a=\"Client timeout\",R=\"Network connection error\",c=\"Network request aborted\",s=\"Response cannot be parsed\",f=\"Blocked by CSP\",E=\"The endpoint parameter is not a valid URL\",l=/*#__PURE__*/u(\"WrongRegion\"),d=/*#__PURE__*/u(\"SubscriptionNotActive\"),p=/*#__PURE__*/u(\"UnsupportedVersion\"),_=/*#__PURE__*/u(\"InstallationMethodRestricted\"),v=/*#__PURE__*/u(\"HostnameRestricted\"),O=/*#__PURE__*/u(\"IntegrationFailed\"),h=\"API key required\",I=\"API key not found\",T=\"API key expired\",N=\"Request cannot be parsed\",m=\"Request failed\",w=\"Request failed to process\",A=\"Too many requests, rate limit exceeded\",P=\"Not available for this origin\",y=\"Not available with restricted header\",D=h,S=I,L=T,U=\"3.9.2\",g=\"Failed to load the JS script of the agent\",b=\"9319\";function C(t,n){var r,o,i,u,a,R,c=[],s=(r=function(t){var n=e([],t,!0);return{current:function(){return n[0]},postpone:function(){var e=n.shift();void 0!==e&&n.push(e)},exclude:function(){n.shift()}}}(t),u=100,a=3e3,R=0,o=function(){return Math.random()*Math.min(a,u*Math.pow(2,R++))},i=new Set,[r.current(),function(e,t){var n,u=t instanceof Error?t.message:\"\";if(u===f||u===E)r.exclude(),n=0;else if(u===b)r.exclude();else if(u===g){var a=Date.now()-e.getTime()<50,R=r.current();R&&a&&!i.has(R)&&(i.add(R),n=0),r.postpone()}else r.postpone();var c=r.current();return void 0===c?void 0:[c,null!=n?n:e.getTime()+o()-Date.now()]}]),l=s[0],d=s[1];if(void 0===l)return Promise.reject(new TypeError(\"The list of script URL patterns is empty\"));var p=function(e){var t=new Date,r=function(n){return c.push({url:e,startedAt:t,finishedAt:new Date,error:n})},o=n(e);return o.then((function(){return r()}),r),o.catch((function(e){if(c.length>=5)throw e;var n=d(t,e);if(!n)throw e;var r,o=n[0],i=n[1];return(r=i,new Promise((function(e){return setTimeout(e,r)}))).then((function(){return p(o)}))}))};return p(l).then((function(e){return[e,c]}))}var K=\"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js\",M=K;function B(e){var o;e.scriptUrlPattern;var i=e.token,u=e.apiKey,a=void 0===u?i:u,R=t(e,[\"scriptUrlPattern\",\"token\",\"apiKey\"]),c=null!==(o=r(e,\"scriptUrlPattern\"))&&void 0!==o?o:K,s=function(){var e=[],t=function(){e.push({time:new Date,state:document.visibilityState})},n=function(e,t,n,r){return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}(document,\"visibilitychange\",t);return t(),[e,n]}(),f=s[0],E=s[1];return Promise.resolve().then((function(){if(!a||\"string\"!=typeof a)throw new Error(h);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return\"<version>\"===e?\"3\":\"<apiKey>\"===e?n(t):\"<loaderVersion>\"===e?n(U):e}))}(String(e),t)}))}(c,a);return C(e,F)})).catch((function(e){throw E(),function(e){if(e instanceof Error&&e.message===b)return new Error(g);return e}(e)})).then((function(e){var t=e[0],r=e[1];return E(),t.load(n(n({},R),{ldi:{attempts:r,visibilityStates:f}}))}))}function F(e){return function(e,t,n,r){var o,i=document,u=\"securitypolicyviolation\",a=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,R())};i.addEventListener(u,a);var R=function(){return i.removeEventListener(u,a)};return null==r||r.then(R,R),Promise.resolve().then(t).then((function(e){return R(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(R(),o)return n(o);throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(t){if(t instanceof Error&&\"TypeError\"===t.name)return!0;throw t}}(e))throw new Error(E);var r=document.createElement(\"script\"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName(\"head\")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(g))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)}),(function(){throw new Error(f)})).then(V)}function V(){var e=window,t=\"__fpjs_p_l_b\",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),\"function\"!=typeof(null==n?void 0:n.load))throw new Error(b);return n}var k={load:B,defaultScriptUrlPattern:M,ERROR_SCRIPT_LOAD_FAIL:g,ERROR_API_KEY_EXPIRED:T,ERROR_API_KEY_INVALID:I,ERROR_API_KEY_MISSING:h,ERROR_BAD_REQUEST_FORMAT:N,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:a,ERROR_CSP_BLOCK:f,ERROR_FORBIDDEN_ENDPOINT:v,ERROR_FORBIDDEN_HEADER:y,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:m,ERROR_INSTALLATION_METHOD_RESTRICTED:_,ERROR_INTEGRATION_FAILURE:O,ERROR_INVALID_ENDPOINT:E,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:w,ERROR_SUBSCRIPTION_NOT_ACTIVE:d,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:S,ERROR_TOKEN_MISSING:D,ERROR_UNSUPPORTED_VERSION:p,ERROR_WRONG_REGION:l,defaultEndpoint:o,defaultTlsEndpoint:i};export{T as ERROR_API_KEY_EXPIRED,I as ERROR_API_KEY_INVALID,h as ERROR_API_KEY_MISSING,N as ERROR_BAD_REQUEST_FORMAT,s as ERROR_BAD_RESPONSE_FORMAT,a as ERROR_CLIENT_TIMEOUT,f as ERROR_CSP_BLOCK,v as ERROR_FORBIDDEN_ENDPOINT,y as ERROR_FORBIDDEN_HEADER,P as ERROR_FORBIDDEN_ORIGIN,m as ERROR_GENERAL_SERVER_FAILURE,_ as ERROR_INSTALLATION_METHOD_RESTRICTED,O as ERROR_INTEGRATION_FAILURE,E as ERROR_INVALID_ENDPOINT,c as ERROR_NETWORK_ABORT,R as ERROR_NETWORK_CONNECTION,A as ERROR_RATE_LIMIT,g as ERROR_SCRIPT_LOAD_FAIL,w as ERROR_SERVER_TIMEOUT,d as ERROR_SUBSCRIPTION_NOT_ACTIVE,L as ERROR_TOKEN_EXPIRED,S as ERROR_TOKEN_INVALID,D as ERROR_TOKEN_MISSING,p as ERROR_UNSUPPORTED_VERSION,l as ERROR_WRONG_REGION,k as default,o as defaultEndpoint,M as defaultScriptUrlPattern,i as defaultTlsEndpoint,B as load};\n","/**\n * FingerprintJS Pro SPA v1.3.1 - Copyright (c) FingerprintJS, Inc, 2024 (https://fingerprint.com)\n * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.\n */\n\nimport { __awaiter } from 'tslib';\nimport * as FingerprintJSPro from '@fingerprintjs/fingerprintjs-pro';\nexport { FingerprintJSPro };\n\nconst CACHE_KEY_PREFIX = '@fpjs@client@';\nconst MAX_CACHE_LIFE = 60 * 60 * 24; // 24 hours\nconst DEFAULT_CACHE_LIFE = 60 * 60; // 1 hour\nconst DEFAULT_NOW_PROVIDER = () => Date.now();\nclass CacheKey {\n constructor(options) {\n var _a;\n this.tag = options.tag || null;\n this.linkedId = options.linkedId || null;\n this.extendedResult = (_a = options.extendedResult) !== null && _a !== void 0 ? _a : false;\n }\n /**\n * Converts this `CacheKey` instance into a string for use in a cache\n * @returns A string representation of the key\n */\n toKey() {\n return `${JSON.stringify(this.tag)}__${JSON.stringify(this.linkedId)}__${this.extendedResult}`;\n }\n}\nfunction getKeyWithPrefix(key, prefix) {\n return `${prefix}__${key}`;\n}\nfunction removePrefixFromKey(key, prefix) {\n return key.replace(`${prefix}__`, '');\n}\n\n/**\n * Implementation of caching that uses local storage\n * */\nclass LocalStorageCache {\n constructor(prefix = CACHE_KEY_PREFIX) {\n this.prefix = prefix;\n }\n set(key, entry) {\n window.localStorage.setItem(getKeyWithPrefix(key, this.prefix), JSON.stringify(entry));\n }\n get(key) {\n const json = window.localStorage.getItem(getKeyWithPrefix(key, this.prefix));\n if (!json) {\n return;\n }\n try {\n return JSON.parse(json);\n }\n catch (e) {\n return;\n }\n }\n remove(key) {\n window.localStorage.removeItem(getKeyWithPrefix(key, this.prefix));\n }\n allKeys() {\n return Object.keys(window.localStorage)\n .filter((key) => key.startsWith(this.prefix))\n .map((key) => removePrefixFromKey(key, this.prefix));\n }\n}\n\n/**\n * Implementation of caching that uses session storage\n * */\nclass SessionStorageCache {\n constructor(prefix = CACHE_KEY_PREFIX) {\n this.prefix = prefix;\n }\n /**\n * It takes a key and an entry, and sets the entry in the session storage with the key\n * @param {string} key - The key to store the entry under.\n * @param {Cacheable} entry - The value to be stored in the cache.\n */\n set(key, entry) {\n window.sessionStorage.setItem(getKeyWithPrefix(key, this.prefix), JSON.stringify(entry));\n }\n /**\n * It gets the value of the key from the session storage, parses it as JSON, and returns it\n * @param {string} key - The key to store the data under.\n * @returns The value of the key in the sessionStorage.\n */\n get(key) {\n const json = window.sessionStorage.getItem(getKeyWithPrefix(key, this.prefix));\n if (!json) {\n return;\n }\n try {\n return JSON.parse(json);\n }\n catch (e) {\n return;\n }\n }\n /**\n * It removes the item from session storage with the given key\n * @param {string} key - The key to store the value under.\n */\n remove(key) {\n window.sessionStorage.removeItem(getKeyWithPrefix(key, this.prefix));\n }\n /**\n * It returns an array of all the keys in the session storage that start with the prefix\n * @returns An array of all the keys in the sessionStorage that start with the prefix.\n */\n allKeys() {\n return Object.keys(window.sessionStorage)\n .filter((key) => key.startsWith(this.prefix))\n .map((key) => removePrefixFromKey(key, this.prefix));\n }\n}\n\n/**\n * Wraps a cache implementation and adds expiration logic\n * */\nclass CacheManager {\n constructor(cache, cacheTime = DEFAULT_CACHE_LIFE, nowProvider) {\n this.cache = cache;\n this.cacheTime = cacheTime;\n this.nowProvider = nowProvider || DEFAULT_NOW_PROVIDER;\n }\n /**\n * It gets a cache entry from the cache, and if it's expired, it removes it from the cache\n * @param cacheKey - CacheKey<TExtended>\n * @returns A promise that resolves to a cache entry or undefined.\n */\n get(cacheKey) {\n return __awaiter(this, void 0, void 0, function* () {\n const wrappedEntry = yield this.cache.get(cacheKey.toKey());\n if (!wrappedEntry) {\n return;\n }\n const now = yield this.nowProvider();\n const nowSeconds = Math.floor(now / 1000);\n if (wrappedEntry.expiresAt < nowSeconds) {\n yield this.cache.remove(cacheKey.toKey());\n return;\n }\n return wrappedEntry.body;\n });\n }\n /**\n * It takes a cache key and a cache entry, wraps the cache entry, and then sets the wrapped cache entry in the cache\n * @param cacheKey - CacheKey<TExtended>\n * @param {CacheEntry} entry - The cache entry to be stored.\n */\n set(cacheKey, entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const wrappedEntry = yield this.wrapCacheEntry(entry);\n yield this.cache.set(cacheKey.toKey(), wrappedEntry);\n });\n }\n /**\n * It gets all the keys in the cache, and then removes them all\n */\n clearCache() {\n return __awaiter(this, void 0, void 0, function* () {\n const keys = yield this.cache.allKeys();\n yield Promise.all(keys.map((key) => this.cache.remove(key)));\n });\n }\n wrapCacheEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n const now = yield this.nowProvider();\n const expiresInTime = Math.floor(now / 1000) + this.cacheTime;\n return {\n body: entry,\n expiresAt: expiresInTime,\n };\n });\n }\n}\n\n/**\n * Implementation of caching that uses in-memory storage\n * */\nclass InMemoryCache {\n constructor() {\n this.enclosedCache = (function () {\n const cache = {};\n return {\n set(key, entry) {\n cache[key] = entry;\n },\n get(key) {\n const cacheEntry = cache[key];\n if (!cacheEntry) {\n return;\n }\n return cacheEntry;\n },\n remove(key) {\n delete cache[key];\n },\n allKeys() {\n return Object.keys(cache);\n },\n };\n })();\n }\n}\n\n/**\n * Implementation of stub cache that is used when cache is disabled by user\n * */\nclass CacheStub {\n set() { }\n get() {\n return undefined;\n }\n remove() { }\n allKeys() {\n return [];\n }\n}\n\nvar CacheLocation;\n(function (CacheLocation) {\n CacheLocation[\"Memory\"] = \"memory\";\n CacheLocation[\"LocalStorage\"] = \"localstorage\";\n CacheLocation[\"SessionStorage\"] = \"sessionstorage\";\n CacheLocation[\"NoCache\"] = \"nocache\";\n})(CacheLocation || (CacheLocation = {}));\n\nvar version = \"1.3.1\";\n\nconst cacheLocationBuilders = {\n [CacheLocation.Memory]: () => new InMemoryCache().enclosedCache,\n [CacheLocation.LocalStorage]: (prefix) => new LocalStorageCache(prefix),\n [CacheLocation.SessionStorage]: (prefix) => new SessionStorageCache(prefix),\n [CacheLocation.NoCache]: () => new CacheStub(),\n};\nconst doesBrowserSupportCacheLocation = (cacheLocation) => {\n switch (cacheLocation) {\n case CacheLocation.SessionStorage:\n try {\n window.sessionStorage.getItem('item');\n }\n catch (e) {\n return false;\n }\n return true;\n case CacheLocation.LocalStorage:\n try {\n window.localStorage.getItem('item');\n }\n catch (e) {\n return false;\n }\n return true;\n default:\n return true;\n }\n};\nconst cacheFactory = (location) => {\n return cacheLocationBuilders[location];\n};\n/**\n * FingerprintJS SDK for Single Page Applications\n */\nclass FpjsClient {\n constructor(options) {\n var _a;\n this.inFlightRequests = new Map();\n this.agentPromise = null;\n this.customAgent = options === null || options === void 0 ? void 0 : options.customAgent;\n this.agent = {\n get: () => {\n throw new Error(\"FPJSAgent hasn't loaded yet. Make sure to call the init() method first.\");\n },\n };\n this.loadOptions = options === null || options === void 0 ? void 0 : options.loadOptions;\n if ((options === null || options === void 0 ? void 0 : options.cache) && (options === null || options === void 0 ? void 0 : options.cacheLocation)) {\n console.warn('Both `cache` and `cacheLocation` options have been specified in the FpjsClient configuration; ignoring `cacheLocation` and using `cache`.');\n }\n let cache;\n if (options === null || options === void 0 ? void 0 : options.cache) {\n cache = options.cache;\n }\n else {\n this.cacheLocation = (options === null || options === void 0 ? void 0 : options.cacheLocation) || CacheLocation.SessionStorage;\n if (!cacheFactory(this.cacheLocation)) {\n throw new Error(`Invalid cache location \"${this.cacheLocation}\"`);\n }\n if (!doesBrowserSupportCacheLocation(this.cacheLocation)) {\n this.cacheLocation = CacheLocation.Memory;\n }\n cache = cacheFactory(this.cacheLocation)(options === null || options === void 0 ? void 0 : options.cachePrefix);\n }\n if ((options === null || options === void 0 ? void 0 : options.cacheTimeInSeconds) && options.cacheTimeInSeconds > MAX_CACHE_LIFE) {\n throw new Error(`Cache time cannot exceed 86400 seconds (24 hours)`);\n }\n const cacheTime = (_a = options === null || options === void 0 ? void 0 : options.cacheTimeInSeconds) !== null && _a !== void 0 ? _a : DEFAULT_CACHE_LIFE;\n this.cacheManager = new CacheManager(cache, cacheTime);\n }\n /**\n * Loads FPJS JS agent with certain settings and stores the instance in memory\n * [https://dev.fingerprint.com/docs/js-agent#agent-initialization]\n *\n * @param passedLoadOptions Additional load options to be passed to the agent, they will be merged with load options provided in the constructor.\n */\n init(passedLoadOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n if (!this.loadOptions && !passedLoadOptions) {\n throw new TypeError('No load options provided');\n }\n const loadOptions = Object.assign(Object.assign(Object.assign({}, this.loadOptions), passedLoadOptions), { integrationInfo: [\n ...(((_a = this.loadOptions) === null || _a === void 0 ? void 0 : _a.integrationInfo) || []),\n ...((passedLoadOptions === null || passedLoadOptions === void 0 ? void 0 : passedLoadOptions.integrationInfo) || []),\n `fingerprintjs-pro-spa/${version}`,\n ] });\n if (!this.agentPromise) {\n const agentLoader = (_b = this.customAgent) !== null && _b !== void 0 ? _b : FingerprintJSPro;\n this.agentPromise = agentLoader\n .load(loadOptions)\n .then((agent) => {\n this.agent = agent;\n return agent;\n })\n .catch((error) => {\n this.agentPromise = null;\n throw error;\n });\n }\n return this.agentPromise;\n });\n }\n /**\n * Returns visitor identification data based on the request options\n * [https://dev.fingerprint.com/docs/js-agent#visitor-identification]\n *\n * @param options\n * @param ignoreCache if set to true a request to the API will be made even if the data is present in cache\n */\n getVisitorData() {\n return __awaiter(this, arguments, void 0, function* (options = {}, ignoreCache = false) {\n const cacheKey = FpjsClient.makeCacheKey(options);\n const key = cacheKey.toKey();\n if (!this.inFlightRequests.has(key)) {\n const promise = this._identify(options, ignoreCache).finally(() => {\n this.inFlightRequests.delete(key);\n });\n this.inFlightRequests.set(key, promise);\n }\n return (yield this.inFlightRequests.get(key));\n });\n }\n /**\n * Returns cached visitor data based on the request options, or undefined if the data is not present in cache\n * */\n getVisitorDataFromCache() {\n return __awaiter(this, arguments, void 0, function* (options = {}) {\n const cacheKey = FpjsClient.makeCacheKey(options);\n const cacheResult = yield this.cacheManager.get(cacheKey);\n return cacheResult ? Object.assign(Object.assign({}, cacheResult), { cacheHit: true }) : undefined;\n });\n }\n /**\n * Checks if request matching given options is present in cache\n * */\n isInCache() {\n return __awaiter(this, arguments, void 0, function* (options = {}) {\n return Boolean(yield this.getVisitorDataFromCache(options));\n });\n }\n /**\n * Clears visitor data from cache regardless of the cache implementation\n */\n clearCache() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.cacheManager.clearCache();\n });\n }\n /**\n * Makes a CacheKey object from GetOptions\n */\n static makeCacheKey(options) {\n return new CacheKey(options);\n }\n _identify(options_1) {\n return __awaiter(this, arguments, void 0, function* (options, ignoreCache = false) {\n const key = FpjsClient.makeCacheKey(options);\n if (!ignoreCache) {\n const cacheResult = yield this.cacheManager.get(key);\n if (cacheResult) {\n return Object.assign(Object.assign({}, cacheResult), { cacheHit: true });\n }\n }\n const agentResult = (yield this.agent.get(options));\n yield this.cacheManager.set(key, agentResult);\n return Object.assign(Object.assign({}, agentResult), { cacheHit: false });\n });\n }\n}\n\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultEndpoint` instead, this export will be removed in the next major version\n * */\nconst defaultEndpoint = FingerprintJSPro.defaultEndpoint;\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultTlsEndpoint` instead, this export will be removed in the next major version\n */\nconst defaultTlsEndpoint = FingerprintJSPro.defaultTlsEndpoint;\n/**\n * @deprecated\n *\n * Use `FingerprintJSPro.defaultScriptUrlPattern` instead, this export will be removed in the next major version\n */\nconst defaultScriptUrlPattern = FingerprintJSPro.defaultScriptUrlPattern;\n\nexport { CacheLocation, CacheStub, FpjsClient, InMemoryCache, LocalStorageCache, SessionStorageCache, defaultEndpoint, defaultScriptUrlPattern, defaultTlsEndpoint };\n","import {\n FpjsClient,\n FingerprintJSPro,\n} from '@fingerprintjs/fingerprintjs-pro-spa';\n\n/**\n * generateFingerprint is implemented following guidelines\n * from the @fingerprintjs/fingerprintjs package documentation:\n * https://github.com/fingerprintjs/fingerprintjs/blob/master/docs/api.md\n */\nasync function generateFingerprint() {\n try {\n const isRunningByCypress = typeof Cypress === 'object';\n const inRunningInUnitTests =\n typeof process === 'object' && process.env.NODE_ENV === 'test';\n // Skip fingerprint generation when running Cypress tests or in unit tests\n if (isRunningByCypress || inRunningInUnitTests) return 'a-mock-visitor-id';\n\n const cloudfrontUrl = 'https://d2hwnq6cq5q3pi.cloudfront.net';\n const fpjsBehaviorPath = 'wyr92st0i7';\n const fpjsGetResultPath = 'ia1t65gn6i';\n const fpjsAgentDownloadPath = 'db4fuswrza';\n\n const fpjsClient = new FpjsClient({\n loadOptions: {\n apiKey: 'hpFVJecm7Ni7AjSfvBIW',\n endpoint: [\n `${cloudfrontUrl}/${fpjsBehaviorPath}/${fpjsGetResultPath}`,\n FingerprintJSPro.defaultEndpoint,\n ],\n scriptUrlPattern: [\n `${cloudfrontUrl}/${fpjsBehaviorPath}/${fpjsAgentDownloadPath}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,\n FingerprintJSPro.defaultScriptUrlPattern,\n ],\n },\n });\n await fpjsClient.init();\n const result = await fpjsClient.getVisitorData();\n\n return result.visitorId;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e);\n\n return '';\n }\n}\n\nexport default async function getFingerprint() {\n return new Promise((resolve) => {\n if (window.requestIdleCallback) {\n requestIdleCallback(async () => {\n const fingerprint = await generateFingerprint();\n resolve(fingerprint);\n });\n } else {\n setTimeout(async () => {\n const fingerprint = await generateFingerprint();\n resolve(fingerprint);\n }, 500);\n }\n });\n}\n","/* eslint-disable no-undef */\nconst sandboxDataCollectorUrl = 'https://tst.kaptcha.com';\nconst prodDataCollectorUrl = 'https://ssl.kaptcha.com';\n\nconst isProd = (env) => env === 'production';\n\nconst addKountScriptElement = ({ env, kountAccountId, kountSessionId }) => {\n const baseUrl = isProd(env) ? prodDataCollectorUrl : sandboxDataCollectorUrl;\n const kountScriptUrl = new URL(`${baseUrl}/collect/sdk`);\n kountScriptUrl.searchParams.append('m', kountAccountId);\n if (kountSessionId) {\n kountScriptUrl.searchParams.append('m', kountSessionId);\n }\n\n const kountScript = document.createElement('script');\n kountScript.setAttribute('class', 'kaxsdc');\n kountScript.setAttribute('data-event', 'load');\n kountScript.setAttribute('type', 'text/javascript');\n kountScript.setAttribute('src', kountScriptUrl.href);\n\n document.body.append(kountScript);\n\n return kountScript;\n};\n\nexport default async function getFraudSessionId({\n env,\n kountAccountId,\n kountSessionId,\n}) {\n return new Promise((resolve, reject) => {\n const kountScript = addKountScriptElement({\n env,\n kountAccountId,\n kountSessionId,\n });\n\n kountScript.onload = () => {\n const client = new ka.ClientSDK();\n client.setupCallback({\n 'collect-begin': (params) => {\n const { MercSessId } = params;\n resolve(MercSessId);\n },\n });\n client.autoLoadEvents();\n };\n kountScript.onerror = () => {\n reject(new Error('Error attempting to mount Kount script'));\n };\n });\n}\n","// Implementation as per https://www.detectadblock.com/\n// - We host a honeypot ad file with a suspcious name\n// - The ad file in /static/google-adsense.js is deployed to our S3 bucket\n// as part of the semantic release process.\n// - Try to load that file, which ads a div with a unique ID\n// - If that div is not present, then the adblocker is blocking it\nexport const getIsAdBlockEnabled = () => {\n const script = document.createElement('script');\n script.src =\n 'https://cdn.rebilly.com/risk-data-collector/@latest/google-adsense.js';\n\n return new Promise((resolve) => {\n script.onload = () => {\n resolve(document.getElementById('fj2xFkdsoQIQna') === null);\n };\n script.onerror = () => {\n return resolve(true);\n };\n document.head.appendChild(script);\n }).catch(() => {\n return true;\n });\n};\n","/* eslint-disable no-console */\nimport fingerprinter from './fingerprint';\nimport kount from './kount';\nimport { getIsAdBlockEnabled } from './adblock-detect';\n\nasync function collectDataHelper({\n env = null,\n screen,\n navigator,\n kountAccountId = null,\n kountSessionId = null,\n getFingerprint,\n getFraudSessionId,\n}) {\n const { colorDepth, height: screenHeight, width: screenWidth } = screen || {};\n const { javaEnabled, language } = navigator || {};\n let fingerprint;\n let kountFraudSessionId;\n let isAdBlockEnabled;\n\n try {\n [isAdBlockEnabled, fingerprint, kountFraudSessionId] = await Promise.all([\n getIsAdBlockEnabled(),\n getFingerprint?.(),\n kountAccountId\n ? getFraudSessionId({\n env,\n kountAccountId,\n kountSessionId,\n })\n : undefined,\n ]);\n } catch (e) {\n console.error(e);\n }\n\n const data = {\n riskMetadata: {\n fingerprint: fingerprint || null,\n extraData: {\n kountFraudSessionId: kountFraudSessionId || null,\n },\n browserData: {\n colorDepth: colorDepth || null,\n isJavaEnabled: javaEnabled ? javaEnabled.call(navigator) : null,\n language: language || null,\n screenHeight: screenHeight || null,\n screenWidth: screenWidth || null,\n timeZoneOffset: new Date().getTimezoneOffset(),\n isAdBlockEnabled,\n },\n },\n };\n\n return data;\n}\n\nasync function collectData({\n env = null,\n kountAccountId = null,\n kountSessionId = null,\n} = {}) {\n return collectDataHelper({\n env,\n screen,\n navigator,\n kountAccountId,\n kountSessionId,\n getFingerprint: fingerprinter,\n getFraudSessionId: kount,\n });\n}\n\nexport { collectData, collectDataHelper };\n"],"names":["__assign","t","s","i","n","p","__rest","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","__spreadArray","to","from","pack","l","ar","r","o","u","a","R","c","f","E","d","_","v","O","h","I","T","N","m","w","A","y","D","S","L","U","g","b","C","K","M","B","F","V","k","CACHE_KEY_PREFIX","MAX_CACHE_LIFE","DEFAULT_CACHE_LIFE","DEFAULT_NOW_PROVIDER","CacheKey","options","_a","getKeyWithPrefix","key","prefix","removePrefixFromKey","LocalStorageCache","entry","json","SessionStorageCache","CacheManager","cache","cacheTime","nowProvider","cacheKey","wrappedEntry","now","nowSeconds","keys","expiresInTime","InMemoryCache","cacheEntry","CacheStub","CacheLocation","version","cacheLocationBuilders","doesBrowserSupportCacheLocation","cacheLocation","cacheFactory","location","FpjsClient","passedLoadOptions","_b","loadOptions","agentLoader","FingerprintJSPro","agent","error","ignoreCache","promise","cacheResult","options_1","agentResult","generateFingerprint","isRunningByCypress","inRunningInUnitTests","cloudfrontUrl","fpjsBehaviorPath","fpjsGetResultPath","fpjsAgentDownloadPath","fpjsClient","FingerprintJSPro.defaultEndpoint","FingerprintJSPro.defaultScriptUrlPattern","getFingerprint","fingerprint","sandboxDataCollectorUrl","prodDataCollectorUrl","isProd","env","addKountScriptElement","kountAccountId","kountSessionId","baseUrl","kountScriptUrl","kountScript","getFraudSessionId","client","params","MercSessId","getIsAdBlockEnabled","script","collectDataHelper","screen","navigator","colorDepth","screenHeight","screenWidth","javaEnabled","language","kountFraudSessionId","isAdBlockEnabled","collectData","fingerprinter","kount"],"mappings":"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","x_google_ignoreList":[0,1,2]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rebilly/risk-data-collector",
3
- "version": "4.21.4",
3
+ "version": "4.21.5",
4
4
  "description": "Microlibrary that collects browser data for risk assessment",
5
5
  "type": "module",
6
6
  "main": "dist/data-collector.js",
@@ -30,13 +30,13 @@
30
30
  "CHANGELOG.md"
31
31
  ],
32
32
  "dependencies": {
33
- "@fingerprintjs/fingerprintjs-pro-spa": "^1.3.0"
33
+ "@fingerprintjs/fingerprintjs-pro-spa": "^1.3.1"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@rebilly/eslint-config": "*",
37
37
  "cypress": "12.12.0",
38
38
  "express": "^4.19.2",
39
- "vite": "^5.2.7",
39
+ "vite": "^5.2.8",
40
40
  "vite-plugin-commonjs": "^0.10.1"
41
41
  }
42
42
  }