@gemx-dev/clarity-js 0.8.88 → 0.8.90
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/build/clarity.extended.js +1 -1
- package/build/clarity.insight.js +1 -1
- package/build/clarity.js +82 -57
- package/build/clarity.min.js +1 -1
- package/build/clarity.module.js +82 -57
- package/build/clarity.performance.js +1 -1
- package/package.json +1 -1
- package/src/clarity.ts +1 -1
- package/src/core/version.ts +1 -1
- package/src/data/gemx-upload.ts +1 -1
- package/src/data/gemx.ts +6 -0
- package/src/data/upload.ts +25 -23
- package/src/interaction/index.ts +2 -2
- package/src/interaction/unload.ts +1 -1
- package/src/layout/{gemx-discover.ts → gemx-snapshot.ts} +29 -10
- package/src/layout/index.ts +3 -3
- package/src/layout/mutation.ts +5 -1
- package/types/data.d.ts +3 -1
- package/types/global.d.ts +1 -0
package/build/clarity.module.js
CHANGED
|
@@ -35,8 +35,7 @@ var upload$1 = /*#__PURE__*/Object.freeze({
|
|
|
35
35
|
get queue () { return queue; },
|
|
36
36
|
get start () { return start$i; },
|
|
37
37
|
get stop () { return stop$g; },
|
|
38
|
-
get track () { return track$1; }
|
|
39
|
-
get uploadNow () { return uploadNow; }
|
|
38
|
+
get track () { return track$1; }
|
|
40
39
|
});
|
|
41
40
|
var upgrade$1 = /*#__PURE__*/Object.freeze({
|
|
42
41
|
__proto__: null,
|
|
@@ -223,7 +222,7 @@ function stop$O() {
|
|
|
223
222
|
startTime = 0;
|
|
224
223
|
}
|
|
225
224
|
|
|
226
|
-
var version$1 = "0.8.
|
|
225
|
+
var version$1 = "0.8.90";
|
|
227
226
|
|
|
228
227
|
// tslint:disable: no-bitwise
|
|
229
228
|
function hash (input, precision) {
|
|
@@ -1316,17 +1315,19 @@ var cookie = /*#__PURE__*/Object.freeze({
|
|
|
1316
1315
|
});
|
|
1317
1316
|
|
|
1318
1317
|
var defaultConfig = {
|
|
1318
|
+
debug: false,
|
|
1319
1319
|
excludeClassNames: [],
|
|
1320
1320
|
ignoreMutationClassNames: [],
|
|
1321
1321
|
discoverTrigger: null,
|
|
1322
1322
|
};
|
|
1323
1323
|
var _config = __assign({}, defaultConfig);
|
|
1324
1324
|
function start$J() {
|
|
1325
|
-
var _a, _b, _c, _d, _e, _f;
|
|
1325
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1326
1326
|
_config = {
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1327
|
+
debug: new URLSearchParams(window.location.search).has("gemx_debug") || ((_b = (_a = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _a === void 0 ? void 0 : _a.debug) !== null && _b !== void 0 ? _b : false),
|
|
1328
|
+
excludeClassNames: ((_d = (_c = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _c === void 0 ? void 0 : _c.excludeClassNames) !== null && _d !== void 0 ? _d : []),
|
|
1329
|
+
ignoreMutationClassNames: ((_f = (_e = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _e === void 0 ? void 0 : _e.ignoreMutationClassNames) !== null && _f !== void 0 ? _f : []),
|
|
1330
|
+
discoverTrigger: ((_h = (_g = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _g === void 0 ? void 0 : _g.discoverTrigger) !== null && _h !== void 0 ? _h : null),
|
|
1330
1331
|
};
|
|
1331
1332
|
}
|
|
1332
1333
|
function stop$G() {
|
|
@@ -1338,10 +1339,14 @@ function set(config) {
|
|
|
1338
1339
|
function get$2() {
|
|
1339
1340
|
return _config;
|
|
1340
1341
|
}
|
|
1342
|
+
function isDebug() {
|
|
1343
|
+
return _config.debug;
|
|
1344
|
+
}
|
|
1341
1345
|
|
|
1342
1346
|
var gemx = /*#__PURE__*/Object.freeze({
|
|
1343
1347
|
__proto__: null,
|
|
1344
1348
|
get: get$2,
|
|
1349
|
+
isDebug: isDebug,
|
|
1345
1350
|
set: set,
|
|
1346
1351
|
start: start$J,
|
|
1347
1352
|
stop: stop$G
|
|
@@ -1349,7 +1354,7 @@ var gemx = /*#__PURE__*/Object.freeze({
|
|
|
1349
1354
|
|
|
1350
1355
|
// Deferred upload buffer for GemX mode.
|
|
1351
1356
|
// Buffers ALL playback events until discoverTrigger conditions are met.
|
|
1352
|
-
// Scheduling and trigger logic lives in layout/gemx-
|
|
1357
|
+
// Scheduling and trigger logic lives in layout/gemx-snapshot.ts.
|
|
1353
1358
|
var buffer = [];
|
|
1354
1359
|
var bufferBytes = 0;
|
|
1355
1360
|
var active$4 = false;
|
|
@@ -2315,7 +2320,7 @@ function start$w() {
|
|
|
2315
2320
|
bind(window, "beforeunload", beforeUnload);
|
|
2316
2321
|
}
|
|
2317
2322
|
function beforeUnload() {
|
|
2318
|
-
flush$1();
|
|
2323
|
+
flush$1('gemx-unload');
|
|
2319
2324
|
}
|
|
2320
2325
|
function recompute$1(evt) {
|
|
2321
2326
|
data$c = { name: evt.type, persisted: evt.persisted ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */ };
|
|
@@ -2451,14 +2456,14 @@ var GEMX_OBSERVE = { allRoots: [scroll], documentOnly: [click] };
|
|
|
2451
2456
|
var ALL_OBSERVE = { allRoots: [scroll], documentOnly: [click, clipboard, pointer, input, selection, change, submit] };
|
|
2452
2457
|
var modules$2 = ALL$1;
|
|
2453
2458
|
function start$s() {
|
|
2454
|
-
modules$2 = config$3.mode === "gemx" ? GEMX$1 : ALL$1;
|
|
2459
|
+
modules$2 = (config$3 === null || config$3 === void 0 ? void 0 : config$3.mode) === "gemx" ? GEMX$1 : ALL$1;
|
|
2455
2460
|
modules$2.forEach(function (m) { return m.start(); });
|
|
2456
2461
|
}
|
|
2457
2462
|
function stop$q() {
|
|
2458
2463
|
modules$2.forEach(function (m) { return m.stop(); });
|
|
2459
2464
|
}
|
|
2460
2465
|
function observe$4(root) {
|
|
2461
|
-
var observeModules = config$3.mode === "gemx" ? GEMX_OBSERVE : ALL_OBSERVE;
|
|
2466
|
+
var observeModules = (config$3 === null || config$3 === void 0 ? void 0 : config$3.mode) === "gemx" ? GEMX_OBSERVE : ALL_OBSERVE;
|
|
2462
2467
|
observeModules.allRoots.forEach(function (m) { return m.observe(root); });
|
|
2463
2468
|
if (root.nodeType === Node.DOCUMENT_NODE) {
|
|
2464
2469
|
observeModules.documentOnly.forEach(function (m) { return m.observe(root); });
|
|
@@ -3153,7 +3158,7 @@ function handle$1(m) {
|
|
|
3153
3158
|
}
|
|
3154
3159
|
function processMutation(timer, mutation, instance, timestamp) {
|
|
3155
3160
|
return __awaiter(this, void 0, void 0, function () {
|
|
3156
|
-
var state$1, target, ignoredClasses, el_1, type;
|
|
3161
|
+
var state$1, target, ignoredClasses, isSnapshotProcessed, el_1, type;
|
|
3157
3162
|
return __generator(this, function (_a) {
|
|
3158
3163
|
switch (_a.label) {
|
|
3159
3164
|
case 0:
|
|
@@ -3169,7 +3174,8 @@ function processMutation(timer, mutation, instance, timestamp) {
|
|
|
3169
3174
|
}
|
|
3170
3175
|
target = mutation.target;
|
|
3171
3176
|
ignoredClasses = get$2().ignoreMutationClassNames;
|
|
3172
|
-
|
|
3177
|
+
isSnapshotProcessed = isActive();
|
|
3178
|
+
if (!isSnapshotProcessed && ignoredClasses.length > 0 && target instanceof Element) {
|
|
3173
3179
|
el_1 = target;
|
|
3174
3180
|
if (ignoredClasses.some(function (cls) { return el_1.classList.contains(cls); })) {
|
|
3175
3181
|
return [2 /*return*/];
|
|
@@ -5051,14 +5057,12 @@ var transit;
|
|
|
5051
5057
|
var active$1;
|
|
5052
5058
|
var queuedTime = 0;
|
|
5053
5059
|
var leanLimit = false;
|
|
5054
|
-
var hasGemxPayload = false;
|
|
5055
5060
|
var track$1;
|
|
5056
5061
|
function start$i() {
|
|
5057
5062
|
active$1 = true;
|
|
5058
5063
|
discoverBytes = 0;
|
|
5059
5064
|
playbackBytes = 0;
|
|
5060
5065
|
leanLimit = false;
|
|
5061
|
-
hasGemxPayload = false;
|
|
5062
5066
|
queuedTime = 0;
|
|
5063
5067
|
playback = [];
|
|
5064
5068
|
analysis = [];
|
|
@@ -5132,29 +5136,18 @@ function queue(tokens, transmit) {
|
|
|
5132
5136
|
check$2(playbackBytes);
|
|
5133
5137
|
}
|
|
5134
5138
|
}
|
|
5135
|
-
function flush$1() {
|
|
5139
|
+
function flush$1(type) {
|
|
5136
5140
|
if (!active$1) {
|
|
5137
5141
|
return;
|
|
5138
5142
|
}
|
|
5139
5143
|
clearTimeout$1(timeout);
|
|
5140
5144
|
timeout = null;
|
|
5141
|
-
upload(
|
|
5142
|
-
}
|
|
5143
|
-
// Trigger an immediate non-beacon upload (used by gemx-discover after inject).
|
|
5144
|
-
// Unlike flush(), this does NOT set final=true, so playback data is never stripped.
|
|
5145
|
-
function uploadNow() {
|
|
5146
|
-
if (!active$1) {
|
|
5147
|
-
return;
|
|
5148
|
-
}
|
|
5149
|
-
clearTimeout$1(timeout);
|
|
5150
|
-
timeout = null;
|
|
5151
|
-
upload(false);
|
|
5145
|
+
upload(false, type);
|
|
5152
5146
|
}
|
|
5153
5147
|
// Inject pre-buffered tokens directly into playback as discover events.
|
|
5154
|
-
// Used by gemx-
|
|
5148
|
+
// Used by gemx-snapshot when trigger fires: all buffered Discover tokens are
|
|
5155
5149
|
// counted towards discoverBytes so upload uses MinUploadDelay (fast path).
|
|
5156
5150
|
function inject(buffered) {
|
|
5157
|
-
hasGemxPayload = true;
|
|
5158
5151
|
for (var _i = 0, buffered_1 = buffered; _i < buffered_1.length; _i++) {
|
|
5159
5152
|
var tokens = buffered_1[_i];
|
|
5160
5153
|
var e = JSON.stringify(tokens);
|
|
@@ -5176,18 +5169,19 @@ function stop$g() {
|
|
|
5176
5169
|
track$1 = null;
|
|
5177
5170
|
active$1 = false;
|
|
5178
5171
|
}
|
|
5179
|
-
function upload(final) {
|
|
5172
|
+
function upload(final, type) {
|
|
5180
5173
|
if (final === void 0) { final = false; }
|
|
5181
5174
|
return __awaiter(this, void 0, void 0, function () {
|
|
5182
|
-
var sendPlaybackBytes, last, e, a, p, encoded, payload, zipped,
|
|
5183
|
-
return __generator(this, function (
|
|
5184
|
-
switch (
|
|
5175
|
+
var isGemxSnapshot, sendPlaybackBytes, last, isDebug$1, trackedEvents, eventSet, labels, _i, trackedEvents_1, _a, eventType, label, e, a, p, encoded, payload, zipped, _b;
|
|
5176
|
+
return __generator(this, function (_c) {
|
|
5177
|
+
switch (_c.label) {
|
|
5185
5178
|
case 0:
|
|
5186
5179
|
if (!active$1) {
|
|
5187
5180
|
return [2 /*return*/];
|
|
5188
5181
|
}
|
|
5189
5182
|
timeout = null;
|
|
5190
|
-
|
|
5183
|
+
isGemxSnapshot = type === "gemx-snapshot";
|
|
5184
|
+
sendPlaybackBytes = (isGemxSnapshot || config$3.lean === false) && playbackBytes > 0 && (playbackBytes < 1048576 /* Setting.MaxFirstPayloadBytes */ || data$1.sequence > 0);
|
|
5191
5185
|
if (sendPlaybackBytes) {
|
|
5192
5186
|
max(1 /* Metric.Playback */, 1 /* BooleanFlag.True */);
|
|
5193
5187
|
}
|
|
@@ -5201,6 +5195,21 @@ function upload(final) {
|
|
|
5201
5195
|
// In some cases envelope has null data because it's part of the shutdown process while there's one upload call queued which might introduce runtime error
|
|
5202
5196
|
if (!data$1)
|
|
5203
5197
|
return [2 /*return*/];
|
|
5198
|
+
isDebug$1 = isDebug();
|
|
5199
|
+
if (!type && isDebug$1) {
|
|
5200
|
+
trackedEvents = [
|
|
5201
|
+
[9 /* Event.Click */, "click"],
|
|
5202
|
+
[10 /* Event.Scroll */, "scroll"],
|
|
5203
|
+
];
|
|
5204
|
+
eventSet = new Set(analysis.map(function (item) { return JSON.parse(item)[1]; }));
|
|
5205
|
+
labels = [];
|
|
5206
|
+
for (_i = 0, trackedEvents_1 = trackedEvents; _i < trackedEvents_1.length; _i++) {
|
|
5207
|
+
_a = trackedEvents_1[_i], eventType = _a[0], label = _a[1];
|
|
5208
|
+
if (eventSet.has(eventType))
|
|
5209
|
+
labels.push(label);
|
|
5210
|
+
}
|
|
5211
|
+
type = labels.length > 0 ? labels.join("-") : undefined;
|
|
5212
|
+
}
|
|
5204
5213
|
e = JSON.stringify(envelope(last));
|
|
5205
5214
|
a = "[".concat(analysis.join(), "]");
|
|
5206
5215
|
p = sendPlaybackBytes ? "[".concat(playback.join(), "]") : "" /* Constant.Empty */;
|
|
@@ -5211,16 +5220,16 @@ function upload(final) {
|
|
|
5211
5220
|
encoded = { e: e, a: a, p: p };
|
|
5212
5221
|
payload = stringify(encoded);
|
|
5213
5222
|
if (!last) return [3 /*break*/, 1];
|
|
5214
|
-
|
|
5223
|
+
_b = null;
|
|
5215
5224
|
return [3 /*break*/, 3];
|
|
5216
5225
|
case 1: return [4 /*yield*/, compress(payload)];
|
|
5217
5226
|
case 2:
|
|
5218
|
-
|
|
5219
|
-
|
|
5227
|
+
_b = _c.sent();
|
|
5228
|
+
_c.label = 3;
|
|
5220
5229
|
case 3:
|
|
5221
|
-
zipped =
|
|
5230
|
+
zipped = _b;
|
|
5222
5231
|
sum(2 /* Metric.TotalBytes */, zipped ? zipped.length : payload.length);
|
|
5223
|
-
send(payload, zipped, data$1.sequence, last);
|
|
5232
|
+
send(payload, zipped, data$1.sequence, last, type);
|
|
5224
5233
|
// Clear out events now that payload has been dispatched
|
|
5225
5234
|
analysis = [];
|
|
5226
5235
|
if (sendPlaybackBytes) {
|
|
@@ -5228,7 +5237,6 @@ function upload(final) {
|
|
|
5228
5237
|
playbackBytes = 0;
|
|
5229
5238
|
discoverBytes = 0;
|
|
5230
5239
|
leanLimit = false;
|
|
5231
|
-
hasGemxPayload = false;
|
|
5232
5240
|
}
|
|
5233
5241
|
return [2 /*return*/];
|
|
5234
5242
|
}
|
|
@@ -5238,7 +5246,7 @@ function upload(final) {
|
|
|
5238
5246
|
function stringify(encoded) {
|
|
5239
5247
|
return encoded.p.length > 0 ? "{\"e\":".concat(encoded.e, ",\"a\":").concat(encoded.a, ",\"p\":").concat(encoded.p, "}") : "{\"e\":".concat(encoded.e, ",\"a\":").concat(encoded.a, "}");
|
|
5240
5248
|
}
|
|
5241
|
-
function send(payload, zipped, sequence, beacon) {
|
|
5249
|
+
function send(payload, zipped, sequence, beacon, type) {
|
|
5242
5250
|
if (beacon === void 0) { beacon = false; }
|
|
5243
5251
|
// Upload data if a valid URL is defined in the config
|
|
5244
5252
|
if (typeof config$3.upload === "string" /* Constant.String */) {
|
|
@@ -5295,8 +5303,7 @@ function send(payload, zipped, sequence, beacon) {
|
|
|
5295
5303
|
}
|
|
5296
5304
|
else if (config$3.upload) {
|
|
5297
5305
|
var callback = config$3.upload;
|
|
5298
|
-
|
|
5299
|
-
callback(payload, uploadType);
|
|
5306
|
+
callback(payload, type);
|
|
5300
5307
|
done(sequence);
|
|
5301
5308
|
}
|
|
5302
5309
|
}
|
|
@@ -6703,32 +6710,50 @@ function fire() {
|
|
|
6703
6710
|
}
|
|
6704
6711
|
function schedule(trigger) {
|
|
6705
6712
|
triggered = false;
|
|
6706
|
-
var
|
|
6713
|
+
var windowExpired = false;
|
|
6714
|
+
var delayScheduled = false;
|
|
6715
|
+
var scheduleDelayedFire = function (type) {
|
|
6716
|
+
var _a;
|
|
6717
|
+
if (delayScheduled || windowExpired)
|
|
6718
|
+
return;
|
|
6719
|
+
delayScheduled = true;
|
|
6720
|
+
console.log("[GemX Snapshot] ".concat(type, " triggered:"));
|
|
6721
|
+
setTimeout(fire, (_a = trigger.delayMs) !== null && _a !== void 0 ? _a : 0);
|
|
6722
|
+
};
|
|
6723
|
+
if (trigger.activeTimeMs) {
|
|
6724
|
+
setTimeout(function () {
|
|
6725
|
+
windowExpired = true;
|
|
6726
|
+
onTrustedScroll(null);
|
|
6727
|
+
onTrustedClick(null);
|
|
6728
|
+
}, trigger.activeTimeMs);
|
|
6729
|
+
}
|
|
6707
6730
|
if (trigger.scrollDepthPercent) {
|
|
6708
6731
|
onTrustedScroll(function () {
|
|
6709
|
-
var
|
|
6710
|
-
var
|
|
6711
|
-
|
|
6712
|
-
|
|
6732
|
+
var docH = document.documentElement.scrollHeight;
|
|
6733
|
+
var vpH = window.innerHeight;
|
|
6734
|
+
var maxScrollY = docH - vpH;
|
|
6735
|
+
if (maxScrollY <= 0)
|
|
6736
|
+
return;
|
|
6737
|
+
var scrollY = "pageYOffset" in window ? Math.round(window.pageYOffset) : Math.round(document.documentElement.scrollTop);
|
|
6738
|
+
var pct = Math.min(100, Math.round(scrollY / maxScrollY * 100));
|
|
6739
|
+
if (pct >= trigger.scrollDepthPercent) {
|
|
6740
|
+
scheduleDelayedFire('scroll');
|
|
6713
6741
|
}
|
|
6714
6742
|
});
|
|
6715
6743
|
}
|
|
6716
6744
|
if (trigger.clickCount) {
|
|
6745
|
+
var clickCount_1 = 0;
|
|
6717
6746
|
onTrustedClick(function () {
|
|
6718
|
-
|
|
6719
|
-
if (
|
|
6720
|
-
|
|
6747
|
+
clickCount_1++;
|
|
6748
|
+
if (clickCount_1 >= trigger.clickCount) {
|
|
6749
|
+
scheduleDelayedFire('click');
|
|
6721
6750
|
}
|
|
6722
6751
|
});
|
|
6723
6752
|
}
|
|
6724
|
-
if (trigger.activeTimeMs) {
|
|
6725
|
-
setTimeout(fire, trigger.activeTimeMs);
|
|
6726
|
-
}
|
|
6727
|
-
// maxPlaybackBytes trigger is handled via gemxUpload.start() callback above
|
|
6728
6753
|
}
|
|
6729
6754
|
function flush() {
|
|
6730
6755
|
inject(drain());
|
|
6731
|
-
|
|
6756
|
+
flush$1('gemx-snapshot');
|
|
6732
6757
|
}
|
|
6733
6758
|
|
|
6734
6759
|
function start$3() {
|
|
@@ -7061,7 +7086,7 @@ var ALL = [diagnostic, layout, interaction, performance$1, dynamic];
|
|
|
7061
7086
|
var modules = ALL;
|
|
7062
7087
|
function start(config$1) {
|
|
7063
7088
|
if (config$1 === void 0) { config$1 = null; }
|
|
7064
|
-
modules = config$1.mode === "gemx" ? GEMX : ALL;
|
|
7089
|
+
modules = (config$1 === null || config$1 === void 0 ? void 0 : config$1.mode) === "gemx" ? GEMX : ALL;
|
|
7065
7090
|
// Check that browser supports required APIs and we do not attempt to start Clarity multiple times
|
|
7066
7091
|
if (check()) {
|
|
7067
7092
|
config(config$1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";var t=Object.freeze({__proto__:null,get flush(){return oe},get inject(){return ue},get queue(){return ae},get start(){return re},get stop(){return ce},get track(){return Zt},get uploadNow(){return ie}}),e=Object.freeze({__proto__:null,get check(){return ge},get compute(){return me},get data(){return Ft},get start(){return he},get stop(){return ye},get trigger(){return ve}}),n=Object.freeze({__proto__:null,get compute(){return Ee},get data(){return we},get log(){return Ie},get reset(){return Oe},get start(){return Se},get stop(){return ke},get updates(){return be}}),r=Object.freeze({__proto__:null,get compute(){return qe},get config(){return je},get consent(){return ze},get data(){return Te},get start(){return Me},get stop(){return Ce},get trackConsentv2(){return Ae}}),a=Object.freeze({__proto__:null,get callback(){return $e},get callbacks(){return Re},get clear(){return Qe},get consent(){return Je},get consentv2(){return Ze},get data(){return De},get electron(){return Xe},get id(){return We},get metadata(){return Ye},get save(){return tn},get shortid(){return nn},get start(){return Ge},get stop(){return Ve}}),o=Object.freeze({__proto__:null,get data(){return un},get envelope(){return ln},get start(){return cn},get stop(){return sn}}),i={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0,modules:[],diagnostics:!1,externalSession:!1,userId:null,sessionId:null,mode:"gemx"};function u(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var c=0;function s(){return performance.now()+performance.timeOrigin}function l(t){void 0===t&&(t=null);var e=0===c?s():c,n=t&&t.timeStamp>0?t.timeStamp:performance.now(),r=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(n+r-e),0)}var d="0.8.88";var f=/\S/gi,p=255,h=!0,g=null,v=null,m=null;function y(t,e,n,r,a){if(void 0===r&&(r=!1),t){if("input"==e&&("checkbox"===a||"radio"===a))return t;switch(n){case 0:return t;case 1:switch(e){case"*T":case"value":case"placeholder":case"click":return function(t){var e=-1,n=0,r=!1,a=!1,o=!1,i=null;I();for(var u=0;u<t.length;u++){var c=t.charCodeAt(u);if(r=r||c>=48&&c<=57,a=a||64===c,o=9===c||10===c||13===c||32===c,0===u||u===t.length-1||o){if(r||a){null===i&&(i=t.split(""));var s=t.substring(e+1,o?u:u+1);s=h&&null!==m?s.match(m)?s:S(s,"▪","▫"):_(s),i.splice(e+1-n,s.length,s),n+=s.length-1}o&&(r=!1,a=!1,e=u)}}return i?i.join(""):t}(t);case"input":case"change":return k(t)}return t;case 2:case 3:switch(e){case"*T":case"data-":return r?b(t):_(t);case"src":case"srcset":case"title":case"alt":case"href":case"xlink:href":return 3===n?(null==t?void 0:t.startsWith("blob:"))?"blob:":"":t;case"value":case"click":case"input":case"change":return k(t);case"placeholder":return _(t)}break;case 4:switch(e){case"*T":case"data-":return r?b(t):_(t);case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":return""}break;case 5:switch(e){case"*T":case"data-":return S(t,"▪","▫");case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":case"src":case"srcset":case"alt":case"title":return""}}}return t}function w(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!1);var r=t;if(e)r="".concat("https://").concat("Electron");else{var a=i.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var o=t.split("?"),u=o[0],c=o[1];r=u+"?"+c.split("&").map((function(t){return a.some((function(e){return 0===t.indexOf("".concat(e,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}}return n&&(r=r.substring(0,p)),r}function b(t){var e=t.trim();if(e.length>0){var n=e[0],r=t.indexOf(n),a=t.substr(0,r),o=t.substr(r+e.length);return"".concat(a).concat(e.length.toString(36)).concat(o)}return t}function _(t){return t.replace(f,"•")}function S(t,e,n){return I(),t?t.replace(v,e).replace(g,n):t}function k(t){for(var e=5*(Math.floor(t.length/5)+1),n="",r=0;r<e;r++)n+=r>0&&r%5==0?" ":"•";return n}function I(){if(h&&null===g)try{g=new RegExp("\\p{N}","gu"),v=new RegExp("\\p{L}","gu"),m=new RegExp("\\p{Sc}","gu")}catch(t){h=!1}}var E=[],O=null;function T(){}var x=[];function M(){}function C(){}function N(){}function j(){}function z(){}var P=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:O,event:j,hashText:M,keys:x,log:T,observe:function(){},register:z,reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:E,stop:function(){},track:N,trigger:C}),A=null;function q(t,e){Pn()&&t&&"string"==typeof t&&t.length<255&&(A=e&&"string"==typeof e&&e.length<255?{key:t,value:e}:{value:t},pe(24))}var D,R=null,X=null;function H(t){t in R||(R[t]=0),t in X||(X[t]=0),R[t]++,X[t]++}function L(t,e){null!==e&&(t in R||(R[t]=0),t in X||(X[t]=0),R[t]+=e,X[t]+=e)}function U(t,e){null!==e&&!1===isNaN(e)&&(t in R||(R[t]=0),(e>R[t]||0===R[t])&&(X[t]=e,R[t]=e))}function G(t,e,n){return window.setTimeout(pn(t),e,n)}function B(t){return window.clearTimeout(t)}var V=0,Y=0,W=null;function J(){W&&B(W),W=G(Z,Y),V=l()}function Z(){var t=l();D={gap:t-V},pe(25),D.gap<3e5?W=G(Z,Y):Nn&&(q("clarityGemX","suspend"),or(),["mousemove","touchstart"].forEach((function(t){return gn(document,t,An)})),["resize","scroll","pageshow"].forEach((function(t){return gn(window,t,An)})))}var F=Object.freeze({__proto__:null,get data(){return D},reset:J,start:function(){Y=6e4,V=0},stop:function(){B(W),V=0,Y=0}}),K=null;function Q(t){Pn()&&i.lean&&(i.lean=!1,K={key:t},$e(),tn(),i.upgrade&&i.upgrade(t),pe(3),i.lite)}var $=Object.freeze({__proto__:null,get data(){return K},start:function(){!i.lean&&i.upgrade&&i.upgrade("Config"),K=null},stop:function(){K=null},upgrade:Q}),tt=function(){return tt=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var a in e=arguments[n])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},tt.apply(this,arguments)};function et(t,e,n,r){return new(n||(n=Promise))((function(a,o){function i(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?a(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,u)}c((r=r.apply(t,e||[])).next())}))}function nt(t,e){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(i=0)),i;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){i.label=u[1];break}if(6===u[0]&&i.label<a[1]){i.label=a[1],a=u;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(u);break}a[2]&&i.ops.pop(),i.trys.pop();continue}u=e.call(t,i)}catch(t){u=[6,t],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var rt=null;function at(t,e){it(t,"string"==typeof e?[e]:e)}function ot(t,e,n,r){return void 0===e&&(e=null),void 0===n&&(n=null),void 0===r&&(r=null),et(this,void 0,void 0,(function(){var a,o;return nt(this,(function(i){switch(i.label){case 0:return o={},[4,st(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(S(u.substring(2),"*","*")):S(u,"*","*")),it("userId",[(a=o).userId]),it("userHint",[a.userHint]),it("userType",[lt(t)]),e&&(it("sessionId",[e]),a.sessionId=e),n&&(it("pageId",[n]),a.pageId=n),[2,a]}var u}))}))}function it(t,e){if(Pn()&&t&&e&&"string"==typeof t&&t.length<255){for(var n=(t in rt?rt[t]:[]),r=0;r<e.length;r++)"string"==typeof e[r]&&e[r].length<255&&n.push(e[r]);rt[t]=n}}function ut(){pe(34)}function ct(){rt={}}function st(t){return et(this,void 0,void 0,(function(){var e;return nt(this,(function(n){switch(n.label){case 0:return n.trys.push([0,4,,5]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return e=n.sent(),[2,Array.prototype.map.call(new Uint8Array(e),(function(t){return("00"+t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return[3,5];case 4:return n.sent(),[2,""];case 5:return[2]}}))}))}function lt(t){return t&&t.indexOf("@")>0?"email":"string"}var dt=Object.freeze({__proto__:null,compute:ut,get data(){return rt},identify:ot,reset:ct,set:at,start:function(){ct()},stop:function(){ct()}}),ft="CompressionStream"in window;function pt(t){return et(this,void 0,void 0,(function(){var e,n;return nt(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),ft?(e=new ReadableStream({start:function(e){return et(this,void 0,void 0,(function(){return nt(this,(function(n){return e.enqueue(t),e.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),n=Uint8Array.bind,[4,ht(e)]):[3,2];case 1:return[2,new(n.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function ht(t){return et(this,void 0,void 0,(function(){var e,n,r,a,o;return nt(this,(function(i){switch(i.label){case 0:e=t.getReader(),n=[],r=!1,a=[],i.label=1;case 1:return r?[3,3]:[4,e.read()];case 2:return o=i.sent(),r=o.done,a=o.value,r?[2,n]:(n.push.apply(n,a),[3,1]);case 3:return[2,n]}}))}))}function gt(t,e){try{return!!t[e]}catch(t){return!1}}function vt(t){try{var e=decodeURIComponent(t);return[e!=t,e]}catch(t){}return[!1,t]}var mt=null,yt="^";function wt(t,e){var n;if(void 0===e&&(e=!1),gt(document,"cookie")){var r=document.cookie.split(";");if(r)for(var a=0;a<r.length;a++){var o=r[a].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var i=vt(o[1]),u=i[0],c=i[1];u;)u=(n=vt(c))[0],c=n[1];return e?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function bt(t,e,n){if((i.track||""==e)&&(navigator&&navigator.cookieEnabled||gt(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(e),a=new Date;a.setDate(a.getDate()+n);var o=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(o).concat(";path=/");try{if(null===mt){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(mt=".".concat(c[s]).concat(mt||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(mt),wt(t)===e))return;mt=""}}catch(t){mt=""}document.cookie=mt?"".concat(u).concat(";").concat("domain=").concat(mt):u}}var _t=Object.freeze({__proto__:null,COOKIE_SEP:yt,getCookie:wt,setCookie:bt,start:function(){mt=null},stop:function(){mt=null}}),St={excludeClassNames:[],ignoreMutationClassNames:[],discoverTrigger:null},kt=tt({},St);var It=Object.freeze({__proto__:null,get:function(){return kt},set:function(t){kt=tt(tt({},kt),t)},start:function(){var t,e,n,r,a,o;kt={excludeClassNames:null!==(e=null===(t=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===t?void 0:t.excludeClassNames)&&void 0!==e?e:[],ignoreMutationClassNames:null!==(r=null===(n=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===n?void 0:n.ignoreMutationClassNames)&&void 0!==r?r:[],discoverTrigger:null!==(o=null===(a=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===a?void 0:a.discoverTrigger)&&void 0!==o?o:null}},stop:function(){kt=tt({},St)}}),Et=[],Ot=0,Tt=!1,xt=0,Mt=null;function Ct(){return Tt}function Nt(t,e){Et.push(t),Ot+=e,xt>0&&Ot>=xt&&Mt&&Mt()}var jt=null;function zt(t){try{if(!jt)return;var e=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);e.forEach((function(t){jt(t)}))}catch(t){}}var Pt=[It,Object.freeze({__proto__:null,config:function(t,e){return xt=null!=t?t:0,Mt=null!=e?e:null,!0},drain:function(){Tt=!1;var t=Et;return Et=[],Ot=0,t},getBytes:function(){return Ot},hold:Nt,isActive:Ct,start:function(){Et=[],Ot=0,Tt=!0},stop:function(){Et=[],Ot=0,Tt=!1,xt=0,Mt=null}}),P,n,dt,e,P,_t,r,a,o,t,F,$,P];function At(){R={},X={},H(5),Pt.forEach((function(t){return pn(t.start)()}))}function qt(){Pt.slice().reverse().forEach((function(t){return pn(t.stop)()})),R={},X={}}function Dt(){me(),qe(),"gemx"!==i.mode&&(ut(),Ee(),pe(0))}function Rt(t,e,n,r){return"href"===t&&"LINK"===r?"".concat(t,"=").concat(e):"".concat(t,"=").concat(y(e,0===t.indexOf("data-")?"data-":t,n))}var Xt=[],Ht=1,Lt=null;function Ut(){Xt=[],function(t){var e=[t];for(;e.length>0;){for(var n=null,r=null,a=null,o=e.shift(),i=o.firstChild,u=o.parentElement?o.parentElement:o.parentNode?o.parentNode:null;i;)e.push(i),i=i.nextSibling;switch(o.nodeType){case Node.DOCUMENT_TYPE_NODE:var c=o;r="*D",n={name:c.name,publicId:c.publicId,systemId:c.systemId};break;case Node.TEXT_NODE:a=o.nodeValue,r=Lt.get(u)?"*T":r;break;case Node.ELEMENT_NODE:var s=o;n=Gt(s),r=["NOSCRIPT","SCRIPT","STYLE"].indexOf(s.tagName)<0?s.tagName:r}Bt(o,u,{tag:r,attributes:n,value:a})}}(document),function(t){et(this,void 0,void 0,(function(){var e,n,r,a,o,i,u,c,s,d,f,p,h;return nt(this,(function(g){switch(e=l(),n=[e,t],t){case 8:r=O,n.push(r.width),n.push(r.height),r.width,r.height,ae(n);break;case 43:if((a=Xt).length>0){for(o=0,i=a;o<i.length;o++)for(u=i[o],c=u.metadata.privacy,s=u.data,d=0,f=["tag","attributes","value"];d<f.length;d++)if(s[p=f[d]])switch(p){case"tag":n.push(u.id),u.parent&&n.push(u.parent),u.previous&&n.push(u.previous),n.push(s[p]);break;case"attributes":for(h in s[p])void 0!==s[p][h]&&n.push(Rt(h,s[p][h],c,s.tag));break;case"value":n.push(y(s[p],s.tag,c))}ae(function(t){for(var e=[],n={},r=0,a=null,o=0;o<t.length;o++)if("string"==typeof t[o]){var i=t[o],u=n[i]||-1;u>=0?a?a.push(u):(a=[u],e.push(a),r++):(a=null,e.push(i),n[i]=r++)}else a=null,e.push(t[o]),r++;return e}(n),!0)}}return[2]}))}))}(43)}function Gt(t){var e={},n=t.attributes;if(n&&n.length>0)for(var r=0;r<n.length;r++)e[n[r].name]=n[r].value;return e}function Bt(t,e,n){if(t&&n&&n.tag){var r=function(t){return null===t?null:Lt.has(t)?Lt.get(t):(Lt.set(t,Ht),Ht++)}(t),a=e?Lt.get(e):null,o=t.previousSibling?Lt.get(t.previousSibling):null;Xt.push({id:r,parent:a,previous:o,children:[],data:n,selector:null,hash:null,region:null,metadata:{active:!0,suspend:!1,privacy:5,position:null,fraud:null,size:null}})}}var Vt,Yt,Wt,Jt,Zt,Ft,Kt=0,Qt=0,$t=null,te=0,ee=!1,ne=!1;function re(){Jt=!0,Kt=0,Qt=0,ee=!1,ne=!1,te=0,Vt=[],Yt=[],Wt={},Zt=null}function ae(t,e){if(void 0===e&&(e=!0),Jt){var n=l(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(i.lean?!ee&&Qt+a.length>10485760&&(ee=!0):ee=!1,r){case 5:if(ee)break;if(Ct()){Nt(t,a.length);break}Kt+=a.length;case 37:case 6:case 43:case 45:case 46:case 44:case 51:if(ee)break;Ct()&&Nt(t,a.length),Qt+=a.length,Vt.push(a);break;default:Yt.push(a)}H(25);var o=function(){var t=!1===i.lean&&Kt>0?100:un.sequence*i.delay;return"string"==typeof i.upload?Math.max(Math.min(t,3e4),100):i.delay}();n-te>2*o&&(B($t),$t=null),e&&null===$t&&(25!==r&&J(),$t=G(se,o),te=n,ge(Qt))}}function oe(){Jt&&(B($t),$t=null,se(!0))}function ie(){Jt&&(B($t),$t=null,se(!1))}function ue(t){ne=!0;for(var e=0,n=t;e<n.length;e++){var r=n[e],a=JSON.stringify(r);Kt+=a.length,Qt+=a.length,Vt.push(a)}}function ce(){B($t),se(!0),Kt=0,Qt=0,ee=!1,te=0,Vt=[],Yt=[],Wt={},Zt=null,Jt=!1}function se(t){return void 0===t&&(t=!1),et(this,void 0,void 0,(function(){var e,n,r,a,o,u,c,s;return nt(this,(function(l){switch(l.label){case 0:return Jt?($t=null,(e=(ne||!1===i.lean)&&Qt>0&&(Qt<1048576||un.sequence>0))&&U(1,1),Dt(),n=!0===t,un?(r=JSON.stringify(ln(n)),a="[".concat(Yt.join(),"]"),o=e?"[".concat(Vt.join(),"]"):"",n&&o.length>0&&r.length+a.length+o.length>65536&&(o=""),u=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:r,a:a,p:o}),n?(s=null,[3,3]):[3,1]):[2]):[2];case 1:return[4,pt(u)];case 2:s=l.sent(),l.label=3;case 3:return L(2,(c=s)?c.length:u.length),le(u,c,un.sequence,n),Yt=[],e&&(Vt=[],Qt=0,Kt=0,ee=!1,ne=!1),[2]}}))}))}function le(t,e,n,r){if(void 0===r&&(r=!1),"string"==typeof i.upload){var a=i.upload,o=!1;if(r&&navigator&&navigator.sendBeacon)try{(o=navigator.sendBeacon.bind(navigator)(a,t))&&fe(n)}catch(t){}if(!1===o){n in Wt?Wt[n].attempts++:Wt[n]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",a,!0),u.timeout=15e3,u.ontimeout=function(){fn(new Error("".concat("Timeout"," : ").concat(a)))},null!==n&&(u.onreadystatechange=function(){pn(de)(u,n)}),u.withCredentials=!0,e?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(e)):u.send(t)}}else if(i.upload){(0,i.upload)(t,ne?"gemx-discover":void 0),fe(n)}}function de(t,e){var n=Wt[e];t&&4===t.readyState&&n&&((t.status<200||t.status>208)&&n.attempts<=1?t.status>=400&&t.status<500?ve(6):(0===t.status&&(i.upload=i.fallback?i.fallback:i.upload),Zt={sequence:e,attempts:n.attempts,status:t.status},pe(2),le(n.data,null,e)):(Zt={sequence:e,attempts:n.attempts,status:t.status},n.attempts>1&&pe(2),200===t.status&&t.responseText&&function(t){for(var e=t&&t.length>0?t.split("\n"):[],n=0,r=e;n<r.length;n++){var a=r[n],o=a&&a.length>0?a.split(/ (.*)/):[""];switch(o[0]){case"END":ve(6);break;case"UPGRADE":Q("Auto");break;case"ACTION":i.action&&o.length>1&&i.action(o[1]);break;case"EXTRACT":case"MODULE":o.length>1&&o[1];break;case"SIGNAL":o.length>1&&zt(o[1]);break;case"SNAPSHOT":i.lean=!1,Ut()}}}(t.responseText),0===t.status&&(le(n.data,null,e,!0),ve(3)),t.status>=200&&t.status<=208&&fe(e),delete Wt[e]))}function fe(t){1===t&&(tn(),$e())}function pe(t){var e=[l(),t];switch(t){case 4:var n=E;n&&n.data&&((e=[n.time,n.event]).push(n.data.visible),e.push(n.data.docWidth),e.push(n.data.docHeight),e.push(n.data.screenWidth),e.push(n.data.screenHeight),e.push(n.data.scrollX),e.push(n.data.scrollY),e.push(n.data.pointerX),e.push(n.data.pointerY),e.push(n.data.activityTime),e.push(n.data.scrollTime),e.push(n.data.pointerTime),e.push(n.data.moveX),e.push(n.data.moveY),e.push(n.data.moveTime),e.push(n.data.downX),e.push(n.data.downY),e.push(n.data.downTime),e.push(n.data.upX),e.push(n.data.upY),e.push(n.data.upTime),e.push(n.data.pointerPrevX),e.push(n.data.pointerPrevY),e.push(n.data.pointerPrevTime),e.push(n.data.modules),ae(e,!1));break;case 25:e.push(D.gap),ae(e);break;case 35:e.push(Ft.check),ae(e,!1);break;case 3:e.push(K.key),ae(e);break;case 2:e.push(Zt.sequence),e.push(Zt.attempts),e.push(Zt.status),ae(e,!1);break;case 24:A.key&&e.push(A.key),e.push(A.value),ae(e);break;case 34:var r=Object.keys(rt);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var i=o[a];e.push(i),e.push(rt[i])}ct(),ae(e,!1)}break;case 0:var u=Object.keys(X);if(u.length>0){for(var c=0,s=u;c<s.length;c++){var d=s[c],f=parseInt(d,10);e.push(f),e.push(Math.round(X[d]))}X={},ae(e,!1)}break;case 1:var p=Object.keys(be);if(p.length>0){for(var h=0,g=p;h<g.length;h++){var v=g[h];f=parseInt(v,10);e.push(f),e.push(be[v])}Oe(),ae(e,!1)}break;case 36:var m=Object.keys(O);if(m.length>0){for(var y=0,w=m;y<w.length;y++){var b=w[y];f=parseInt(b,10);e.push(f),e.push([].concat.apply([],O[b]))}ae(e,!1)}break;case 40:x.forEach((function(t){e.push(t);var n=[];for(var r in O[t]){var a=parseInt(r,10);n.push(a),n.push(O[t][r])}e.push(n)})),ae(e,!1);break;case 47:e.push(Te.source),e.push(Te.ad_Storage),e.push(Te.analytics_Storage),ae(e,!1)}}function he(){Ft={check:0}}function ge(t){if(0===Ft.check){var e=Ft.check;e=un.sequence>=128?1:e,e=un.pageNum>=128?7:e,e=l()>72e5?2:e,(e=t>10485760?2:e)!==Ft.check&&ve(e)}}function ve(t){Ft.check=t,5!==t&&(Qe(),or())}function me(){0!==Ft.check&&pe(35)}function ye(){Ft=null}var we=null,be=null,_e=!1;function Se(){we={},be={},_e=!1}function ke(){we={},be={},_e=!1}function Ie(t,e){if(e&&(e="".concat(e),t in we||(we[t]=[]),we[t].indexOf(e)<0)){if(we[t].length>128)return void(_e||(_e=!0,ve(5)));we[t].push(e),t in be||(be[t]=[]),be[t].push(e)}}function Ee(){pe(1)}function Oe(){be={},_e=!1}var Te=null,xe=!0;function Me(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;xe=!0,(null==e?void 0:e.addListener)&&e.addListener(["ad_storage","analytics_storage"],Ne)}function Ce(){xe=!0}function Ne(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;if(null==e?void 0:e.getConsentState)try{var n=e.getConsentState("analytics_storage");Ze(function(t){var e={source:2,ad_Storage:1===t.ad_Storage?"granted":"denied",analytics_Storage:1===t.analytics_Storage?"granted":"denied"};return e}({ad_Storage:e.getConsentState("ad_storage"),analytics_Storage:n}))}catch(t){return}}function je(t){Pe(t.analytics_Storage?1:0),Te=t}function ze(){Pe(2)}function Pe(t){Ie(36,t.toString())}function Ae(t){Te=t,pe(47)}function qe(){var t;if(xe&&(pe(47),xe=!1,!i.track)){var e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;(null==e?void 0:e.usedUpdate)&&Ne()}}var De=null,Re=[],Xe=0,He=null,Le=!1,Ue={source:7,ad_Storage:"denied",analytics_Storage:"denied"};function Ge(){var t,e,n,r=navigator&&"userAgent"in navigator?navigator.userAgent:"",a=null!==(n="undefined"!=typeof Intl&&(null===(e=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===e?void 0:e.timeZone))&&void 0!==n?n:"",o=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";Xe=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:nn(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},e=wt("_clsk",!i.includeSubdomains);if(e){var n=e.includes("^")?e.split("^"):e.split("|");n.length>=5&&t.ts-rn(n[1])<18e5&&(t.session=n[0],t.count=rn(n[2])+1,t.upgrade=rn(n[3]),t.upload=n.length>=6?"".concat("https://").concat(n[5],"/").concat(n[4]):"".concat("https://").concat(n[4]))}return t}(),l=an(),d=i.projectId||function(t,e){void 0===e&&(e=null);for(var n,r=5381,a=r,o=0;o<t.length;o+=2)r=(r<<5)+r^t.charCodeAt(o),o+1<t.length&&(a=(a<<5)+a^t.charCodeAt(o+1));return n=Math.abs(r+11579*a),(e?n%Math.pow(2,e):n).toString(36)}(location.host),f=i.externalSession&&i.userId?i.userId:l.id,p=i.externalSession&&i.sessionId?i.sessionId:s.session;De={projectId:d,userId:f,sessionId:p,pageNum:s.count},i.lean=i.track&&null!==s.upgrade?0===s.upgrade:i.lean,i.upload=i.track&&"string"==typeof i.upload&&s.upload&&s.upload.length>"https://".length?s.upload:i.upload,Ie(0,r),Ie(3,c),Ie(1,w(location.href,!!Xe)),Ie(2,document.referrer),Ie(15,function(){var t=nn();if(i.track&>(window,"sessionStorage")){var e=sessionStorage.getItem("_cltk");t=e||t,sessionStorage.setItem("_cltk",t)}return t}()),Ie(16,document.documentElement.lang),Ie(17,document.dir),Ie(26,"".concat(window.devicePixelRatio)),Ie(28,l.dob.toString()),Ie(29,l.version.toString()),Ie(33,u),Ie(34,a),Ie(35,o),U(0,s.ts),U(1,0),U(35,Xe);var h,g=null===window||void 0===window?void 0:window.Zone;g&&"__symbol__"in g&&U(39,1),navigator&&(Ie(9,navigator.language),U(33,navigator.hardwareConcurrency),U(32,navigator.maxTouchPoints),U(34,Math.round(navigator.deviceMemory)),(h=navigator.userAgentData)&&h.getHighEntropyValues?h.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var e;Ie(22,t.platform),Ie(23,t.platformVersion),null===(e=t.brands)||void 0===e||e.forEach((function(t){Ie(24,t.name+"~"+t.version)})),Ie(25,t.model),U(27,t.mobile?1:0)})):Ie(22,navigator.platform)),screen&&(U(14,Math.round(screen.width)),U(15,Math.round(screen.height)),U(16,Math.round(screen.colorDepth))),null===He&&(He={source:l.consent?6:0,ad_Storage:i.track?"granted":"denied",analytics_Storage:i.track?"granted":"denied"}),Be(),je(Fe(He)),i.externalSession||en(l)}function Be(){if(!Le&&"granted"===(null==He?void 0:He.analytics_Storage)&&"granted"===(null==He?void 0:He.ad_Storage)){for(var t=0,e=i.cookies;t<e.length;t++){var n=e[t],r=wt(n);r&&at(n,r)}Le=!0}}function Ve(){De=null,Le=!1,Re.forEach((function(t){t.called=!1}))}function Ye(t,e,n,r){void 0===e&&(e=!0),void 0===n&&(n=!1),void 0===r&&(r=!1);var a=i.lean?0:1,o=!1;De&&(a||!1===e)&&(t(De,!i.lean,r?He:void 0),o=!0),!n&&o||Re.push({callback:t,wait:e,recall:n,called:o,consentInfo:r})}function We(){return De?[De.userId,De.sessionId,De.pageNum].join("."):""}function Je(t){void 0===t&&(t=!0),Ze(t?{source:4,ad_Storage:"granted",analytics_Storage:"granted"}:{source:4,ad_Storage:"denied",analytics_Storage:"denied"})}function Ze(t,e){var n;if(void 0===t&&(t=Ue),void 0===e&&(e=5),Pn()){var r={source:null!==(n=t.source)&&void 0!==n?n:e,ad_Storage:Ke(t.ad_Storage,null==He?void 0:He.ad_Storage),analytics_Storage:Ke(t.analytics_Storage,null==He?void 0:He.analytics_Storage)};if(He&&r.ad_Storage===He.ad_Storage&&r.analytics_Storage===He.analytics_Storage)return He.source=r.source,Ae(Fe(He)),void ze();He=r,$e(!0);var a=Fe(He);if(!a.analytics_Storage&&i.track)return i.track=!1,Qe(!0),or(),void window.setTimeout(ar,250);Pn()&&a.analytics_Storage&&(i.track=!0,en(an(),1),tn()),Be(),Ae(a),ze()}}function Fe(t){var e;return{source:null!==(e=t.source)&&void 0!==e?e:255,ad_Storage:"granted"===t.ad_Storage?1:0,analytics_Storage:"granted"===t.analytics_Storage?1:0}}function Ke(t,e){return void 0===e&&(e="denied"),"string"==typeof t?t.toLowerCase():e}function Qe(t){void 0===t&&(t=!1),bt("_clsk","",0),t&&bt("_clck","",0)}function $e(t){void 0===t&&(t=!1),function(t,e){void 0===e&&(e=!1);if(Re.length>0)for(var n=0;n<Re.length;n++){var r=Re[n];r.callback&&(!r.called&&!e||r.consentInfo&&e)&&(!r.wait||t)&&(r.callback(De,!i.lean,r.consentInfo?He:void 0),r.called=!0,r.recall||(Re.splice(n,1),n--))}}(i.lean?0:1,t)}function tn(){if(De&&i.track&&!i.externalSession){var t=Math.round(Date.now()),e=i.upload&&"string"==typeof i.upload?i.upload.replace("https://",""):"",n=i.lean?0:1;bt("_clsk",[De.sessionId,t,De.pageNum,n,e].join(yt),1)}}function en(t,e){void 0===e&&(e=null),e=null===e?t.consent:e;var n=Math.ceil((Date.now()+31536e6)/864e5),r=0===t.dob?null===i.dob?0:i.dob:t.dob;(null===t.expiry||Math.abs(n-t.expiry)>=1||t.consent!==e||t.dob!==r)&&bt("_clck",[De.userId,2,n.toString(36),e,r].join(yt),365)}function nn(){var t=Math.floor(Math.random()*Math.pow(2,32));return window&&window.crypto&&window.crypto.getRandomValues&&Uint32Array&&(t=window.crypto.getRandomValues(new Uint32Array(1))[0]),t.toString(36)}function rn(t,e){return void 0===e&&(e=10),parseInt(t,e)}function an(){var t={id:nn(),version:0,expiry:null,consent:0,dob:0},e=wt("_clck",!i.includeSubdomains);if(e&&e.length>0){var n=e.includes("^")?e.split("^"):e.split("|");n.length>1&&(t.version=rn(n[1])),n.length>2&&(t.expiry=rn(n[2],36)),n.length>3&&1===rn(n[3])&&(t.consent=1),n.length>4&&rn(n[1])>1&&(t.dob=rn(n[4])),i.track=i.track||1===t.consent,t.id=i.track?n[0]:t.id}return t}var on,un=null;function cn(){var t=De;un={version:d,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function sn(){un=null}function ln(t){return un.start=un.start+un.duration,un.duration=l()-un.start,un.sequence++,un.upload=t&&"sendBeacon"in navigator?1:0,un.end=t?1:0,un.applicationPlatform=0,un.url=w(location.href,!1,!0),[un.version,un.sequence,un.start,un.duration,un.projectId,un.userId,un.sessionId,un.pageNum,un.upload,un.end,un.applicationPlatform,un.url]}function dn(){on=[]}function fn(t){if(on&&-1===on.indexOf(t.message)){var e=i.report;if(e&&e.length>0&&un){var n={v:un.version,p:un.projectId,u:un.userId,s:un.sessionId,n:un.pageNum};t.message&&(n.m=t.message),t.stack&&(n.e=t.stack);var r=new XMLHttpRequest;r.open("POST",e,!0),r.send(JSON.stringify(n)),on.push(t.message)}}return t}function pn(t){return function(){var e=performance.now();try{t.apply(this,arguments)}catch(t){throw fn(t)}var n=performance.now()-e;L(4,n),n>30&&(H(7),U(6,n),t.dn&&"".concat(t.dn,"-").concat(n))}}var hn=new Map;function gn(t,e,n,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),n=pn(n);try{t[u("addEventListener")](e,n,{capture:r,passive:a}),function(t){return hn.has(t)}(t)||hn.set(t,[]),hn.get(t).push({event:e,listener:n,options:{capture:r,passive:a}})}catch(t){}}function vn(){hn.forEach((function(t,e){!function(t,e){t.forEach((function(t){try{e[u("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),hn.delete(e)}(t,e)})),hn=new Map}var mn=null,yn=null,wn=null,bn=0;function _n(){return!(bn++>20)}function Sn(){bn=0,wn!==In()&&(or(),window.setTimeout(kn,250))}function kn(){ar(),U(29,1)}function In(){return location.href?location.href.replace(location.hash,""):location.href}var En=[],On=null,Tn=null,xn=null;function Mn(){En=[],On=null,Tn=null}function Cn(){var t=En.shift();t&&(On=t,t.task().then((function(){t.id===We()&&(t.resolve(),On=null,Cn())})).catch((function(e){t.id===We()&&(e&&(e.name,e.message,e.stack),On=null,Cn())})))}var Nn=!1;function jn(){Nn=!0,c=s(),Mn(),vn(),dn(),function(){if(wn=In(),bn=0,gn(window,"popstate",Sn),null===mn)try{mn=history.pushState,history.pushState=function(){mn.apply(this,arguments),Pn()&&_n()&&Sn()}}catch(t){mn=null}if(null===yn)try{yn=history.replaceState,history.replaceState=function(){yn.apply(this,arguments),Pn()&&_n()&&Sn()}}catch(t){yn=null}}()}function zn(){wn=null,bn=0,dn(),vn(),Mn(),c=0,Nn=!1}function Pn(){return Nn}function An(){ar(),q("clarityGemX","restart")}var qn=null;function Dn(){qn=null}function Rn(t){qn={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){et(this,void 0,void 0,(function(){var e,n;return nt(this,(function(r){return e=l(),n=[e,t],29===t&&(n.push(qn.fetchStart),n.push(qn.connectStart),n.push(qn.connectEnd),n.push(qn.requestStart),n.push(qn.responseStart),n.push(qn.responseEnd),n.push(qn.domInteractive),n.push(qn.domComplete),n.push(qn.loadEventStart),n.push(qn.loadEventEnd),n.push(qn.redirectCount),n.push(qn.size),n.push(qn.type),n.push(qn.protocol),n.push(qn.encodedSize),n.push(qn.decodedSize),Dn(),ae(n)),[2]}))}))}(29)}var Xn,Hn=0,Ln=1/0,Un=0,Gn=0,Bn=[],Vn=new Map,Yn=function(){return Hn||0},Wn=function(){if(!Bn.length)return-1;var t=Math.min(Bn.length-1,Math.floor((Yn()-Gn)/50));return Bn[t].latency},Jn=function(){Gn=Yn(),Bn.length=0,Vn.clear()},Zn=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?Hn=performance.interactionCount:t.interactionId&&(Ln=Math.min(Ln,t.interactionId),Un=Math.max(Un,t.interactionId),Hn=Un?(Un-Ln)/7+1:0)}(t);var e=Bn[Bn.length-1],n=Vn.get(t.interactionId);if(n||Bn.length<10||t.duration>(null==e?void 0:e.latency)){if(n)t.duration>n.latency&&(n.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};Vn.set(r.id,r),Bn.push(r)}Bn.sort((function(t,e){return e.latency-t.latency})),Bn.length>10&&Bn.splice(10).forEach((function(t){return Vn.delete(t.id)}))}}},Fn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function Kn(){try{Xn&&Xn.disconnect(),Xn=new PerformanceObserver(pn(Qn));for(var t=0,e=Fn;t<e.length;t++){var n=e[t];PerformanceObserver.supportedEntryTypes.indexOf(n)>=0&&("layout-shift"===n&&L(9,0),Xn.observe({type:n,buffered:!0}))}}catch(t){}}function Qn(t){!function(t){for(var e=(!("visibilityState"in document)||"visible"===document.visibilityState),n=0;n<t.length;n++){var r=t[n];switch(r.entryType){case"navigation":Rn(r);break;case"resource":var a=r.name;Ie(4,tr(a)),a!==i.upload&&a!==i.fallback||U(28,r.duration);break;case"longtask":H(7);break;case"first-input":e&&U(10,r.processingStart-r.startTime);break;case"event":e&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(Zn(r),Ie(37,Wn().toString()));break;case"layout-shift":e&&!r.hadRecentInput&&L(9,1e3*r.value);break;case"largest-contentful-paint":e&&U(8,r.startTime)}}}(t.getEntries())}var $n=null;function tr(t){return $n||($n=document.createElement("a")),$n.href=t,$n.host}var er=[P,P,P],nr=[P,P,P,Object.freeze({__proto__:null,start:function(){Dn(),function(){navigator&&navigator.connection&&Ie(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?gn(window,"load",G.bind(this,Kn,0)):Kn())}()},stop:function(){Xn&&Xn.disconnect(),Xn=null,Jn(),$n=null,Dn()}}),P],rr=nr;function ar(t){void 0===t&&(t=null),rr="gemx"===t.mode?er:nr,function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===Nn&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(!function(t){if(null===t||Nn)return!1;for(var e in t)e in i&&(i[e]=t[e])}(t),jn(),At(),rr.forEach((function(t){return pn(t.start)()})),null===t&&sr())}function or(){Pn()&&(rr.slice().reverse().forEach((function(t){return pn(t.stop)()})),qt(),zn(),void 0!==ur&&(ur[cr]=function(){(ur[cr].q=ur[cr].q||[]).push(arguments),"start"===arguments[0]&&ur[cr].q.unshift(ur[cr].q.pop())&&sr()}))}var ir=Object.freeze({__proto__:null,consent:Je,consentv2:Ze,dlog:Ie,event:q,hashText:M,identify:ot,maxMetric:U,measure:pn,metadata:Ye,pause:function(){Pn()&&(q("clarityGemX","pause"),null===Tn&&(Tn=new Promise((function(t){xn=t}))))},queue:ae,register:z,resume:function(){Pn()&&(Tn&&(xn(),Tn=null,null===On&&Cn()),q("clarityGemX","resume"))},schedule:function(t,e){return void 0===e&&(e=0),et(this,void 0,void 0,(function(){var n,r,a;return nt(this,(function(o){for(n=0,r=En;n<r.length;n++)if(r[n].task===t)return[2];return a=new Promise((function(n){En[1===e?"unshift":"push"]({task:t,resolve:n,id:We()})})),null===On&&null===Tn&&Cn(),[2,a]}))}))},set:at,signal:function(t){jt=t},start:ar,stop:or,time:l,upgrade:Q,version:d}),ur=window,cr="clarityGemX";function sr(){if(void 0!==ur){if(ur[cr]&&ur[cr].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=ur[cr]&&ur[cr].q||[];for(ur[cr]=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return ir[t].apply(ir,e)},ur[cr].v=d;t.length>0;)ur[cr].apply(ur,t.shift())}}sr()}();
|
|
1
|
+
!function(){"use strict";var t=Object.freeze({__proto__:null,get flush(){return oe},get inject(){return ie},get queue(){return ae},get start(){return re},get stop(){return ue},get track(){return Ft}}),e=Object.freeze({__proto__:null,get check(){return he},get compute(){return ve},get data(){return Kt},get start(){return pe},get stop(){return me},get trigger(){return ge}}),n=Object.freeze({__proto__:null,get compute(){return Ie},get data(){return ye},get log(){return ke},get reset(){return Ee},get start(){return _e},get stop(){return Se},get updates(){return we}}),r=Object.freeze({__proto__:null,get compute(){return Ae},get config(){return Ne},get consent(){return je},get data(){return Oe},get start(){return xe},get stop(){return Me},get trackConsentv2(){return Pe}}),a=Object.freeze({__proto__:null,get callback(){return Qe},get callbacks(){return De},get clear(){return Ke},get consent(){return Je},get consentv2(){return We},get data(){return qe},get electron(){return Re},get id(){return Ye},get metadata(){return Ve},get save(){return $e},get shortid(){return en},get start(){return Ue},get stop(){return Be}}),o=Object.freeze({__proto__:null,get data(){return on},get envelope(){return sn},get start(){return un},get stop(){return cn}}),i={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0,modules:[],diagnostics:!1,externalSession:!1,userId:null,sessionId:null,mode:"gemx"};function u(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var c=0;function s(){return performance.now()+performance.timeOrigin}function l(t){void 0===t&&(t=null);var e=0===c?s():c,n=t&&t.timeStamp>0?t.timeStamp:performance.now(),r=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(n+r-e),0)}var d="0.8.90";var f=/\S/gi,p=255,h=!0,g=null,v=null,m=null;function y(t,e,n,r,a){if(void 0===r&&(r=!1),t){if("input"==e&&("checkbox"===a||"radio"===a))return t;switch(n){case 0:return t;case 1:switch(e){case"*T":case"value":case"placeholder":case"click":return function(t){var e=-1,n=0,r=!1,a=!1,o=!1,i=null;I();for(var u=0;u<t.length;u++){var c=t.charCodeAt(u);if(r=r||c>=48&&c<=57,a=a||64===c,o=9===c||10===c||13===c||32===c,0===u||u===t.length-1||o){if(r||a){null===i&&(i=t.split(""));var s=t.substring(e+1,o?u:u+1);s=h&&null!==m?s.match(m)?s:S(s,"▪","▫"):_(s),i.splice(e+1-n,s.length,s),n+=s.length-1}o&&(r=!1,a=!1,e=u)}}return i?i.join(""):t}(t);case"input":case"change":return k(t)}return t;case 2:case 3:switch(e){case"*T":case"data-":return r?b(t):_(t);case"src":case"srcset":case"title":case"alt":case"href":case"xlink:href":return 3===n?(null==t?void 0:t.startsWith("blob:"))?"blob:":"":t;case"value":case"click":case"input":case"change":return k(t);case"placeholder":return _(t)}break;case 4:switch(e){case"*T":case"data-":return r?b(t):_(t);case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":return""}break;case 5:switch(e){case"*T":case"data-":return S(t,"▪","▫");case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":case"src":case"srcset":case"alt":case"title":return""}}}return t}function w(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!1);var r=t;if(e)r="".concat("https://").concat("Electron");else{var a=i.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var o=t.split("?"),u=o[0],c=o[1];r=u+"?"+c.split("&").map((function(t){return a.some((function(e){return 0===t.indexOf("".concat(e,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}}return n&&(r=r.substring(0,p)),r}function b(t){var e=t.trim();if(e.length>0){var n=e[0],r=t.indexOf(n),a=t.substr(0,r),o=t.substr(r+e.length);return"".concat(a).concat(e.length.toString(36)).concat(o)}return t}function _(t){return t.replace(f,"•")}function S(t,e,n){return I(),t?t.replace(v,e).replace(g,n):t}function k(t){for(var e=5*(Math.floor(t.length/5)+1),n="",r=0;r<e;r++)n+=r>0&&r%5==0?" ":"•";return n}function I(){if(h&&null===g)try{g=new RegExp("\\p{N}","gu"),v=new RegExp("\\p{L}","gu"),m=new RegExp("\\p{Sc}","gu")}catch(t){h=!1}}var E=[],O=null;function T(){}var x=[];function M(){}function C(){}function N(){}function j(){}function z(){}var P=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:O,event:j,hashText:M,keys:x,log:T,observe:function(){},register:z,reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:E,stop:function(){},track:N,trigger:C}),A=null;function q(t,e){zn()&&t&&"string"==typeof t&&t.length<255&&(A=e&&"string"==typeof e&&e.length<255?{key:t,value:e}:{value:t},fe(24))}var D,R=null,X=null;function H(t){t in R||(R[t]=0),t in X||(X[t]=0),R[t]++,X[t]++}function L(t,e){null!==e&&(t in R||(R[t]=0),t in X||(X[t]=0),R[t]+=e,X[t]+=e)}function U(t,e){null!==e&&!1===isNaN(e)&&(t in R||(R[t]=0),(e>R[t]||0===R[t])&&(X[t]=e,R[t]=e))}function G(t,e,n){return window.setTimeout(fn(t),e,n)}function B(t){return window.clearTimeout(t)}var V=0,Y=0,J=null;function W(){J&&B(J),J=G(Z,Y),V=l()}function Z(){var t=l();D={gap:t-V},fe(25),D.gap<3e5?J=G(Z,Y):Cn&&(q("clarityGemX","suspend"),ar(),["mousemove","touchstart"].forEach((function(t){return hn(document,t,Pn)})),["resize","scroll","pageshow"].forEach((function(t){return hn(window,t,Pn)})))}var F=Object.freeze({__proto__:null,get data(){return D},reset:W,start:function(){Y=6e4,V=0},stop:function(){B(J),V=0,Y=0}}),K=null;function Q(t){zn()&&i.lean&&(i.lean=!1,K={key:t},Qe(),$e(),i.upgrade&&i.upgrade(t),fe(3),i.lite)}var $=Object.freeze({__proto__:null,get data(){return K},start:function(){!i.lean&&i.upgrade&&i.upgrade("Config"),K=null},stop:function(){K=null},upgrade:Q}),tt=function(){return tt=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var a in e=arguments[n])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},tt.apply(this,arguments)};function et(t,e,n,r){return new(n||(n=Promise))((function(a,o){function i(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?a(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,u)}c((r=r.apply(t,e||[])).next())}))}function nt(t,e){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(i=0)),i;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){i.label=u[1];break}if(6===u[0]&&i.label<a[1]){i.label=a[1],a=u;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(u);break}a[2]&&i.ops.pop(),i.trys.pop();continue}u=e.call(t,i)}catch(t){u=[6,t],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var rt=null;function at(t,e){it(t,"string"==typeof e?[e]:e)}function ot(t,e,n,r){return void 0===e&&(e=null),void 0===n&&(n=null),void 0===r&&(r=null),et(this,void 0,void 0,(function(){var a,o;return nt(this,(function(i){switch(i.label){case 0:return o={},[4,st(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(S(u.substring(2),"*","*")):S(u,"*","*")),it("userId",[(a=o).userId]),it("userHint",[a.userHint]),it("userType",[lt(t)]),e&&(it("sessionId",[e]),a.sessionId=e),n&&(it("pageId",[n]),a.pageId=n),[2,a]}var u}))}))}function it(t,e){if(zn()&&t&&e&&"string"==typeof t&&t.length<255){for(var n=(t in rt?rt[t]:[]),r=0;r<e.length;r++)"string"==typeof e[r]&&e[r].length<255&&n.push(e[r]);rt[t]=n}}function ut(){fe(34)}function ct(){rt={}}function st(t){return et(this,void 0,void 0,(function(){var e;return nt(this,(function(n){switch(n.label){case 0:return n.trys.push([0,4,,5]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return e=n.sent(),[2,Array.prototype.map.call(new Uint8Array(e),(function(t){return("00"+t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return[3,5];case 4:return n.sent(),[2,""];case 5:return[2]}}))}))}function lt(t){return t&&t.indexOf("@")>0?"email":"string"}var dt=Object.freeze({__proto__:null,compute:ut,get data(){return rt},identify:ot,reset:ct,set:at,start:function(){ct()},stop:function(){ct()}}),ft="CompressionStream"in window;function pt(t){return et(this,void 0,void 0,(function(){var e,n;return nt(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),ft?(e=new ReadableStream({start:function(e){return et(this,void 0,void 0,(function(){return nt(this,(function(n){return e.enqueue(t),e.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),n=Uint8Array.bind,[4,ht(e)]):[3,2];case 1:return[2,new(n.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function ht(t){return et(this,void 0,void 0,(function(){var e,n,r,a,o;return nt(this,(function(i){switch(i.label){case 0:e=t.getReader(),n=[],r=!1,a=[],i.label=1;case 1:return r?[3,3]:[4,e.read()];case 2:return o=i.sent(),r=o.done,a=o.value,r?[2,n]:(n.push.apply(n,a),[3,1]);case 3:return[2,n]}}))}))}function gt(t,e){try{return!!t[e]}catch(t){return!1}}function vt(t){try{var e=decodeURIComponent(t);return[e!=t,e]}catch(t){}return[!1,t]}var mt=null,yt="^";function wt(t,e){var n;if(void 0===e&&(e=!1),gt(document,"cookie")){var r=document.cookie.split(";");if(r)for(var a=0;a<r.length;a++){var o=r[a].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var i=vt(o[1]),u=i[0],c=i[1];u;)u=(n=vt(c))[0],c=n[1];return e?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function bt(t,e,n){if((i.track||""==e)&&(navigator&&navigator.cookieEnabled||gt(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(e),a=new Date;a.setDate(a.getDate()+n);var o=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(o).concat(";path=/");try{if(null===mt){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(mt=".".concat(c[s]).concat(mt||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(mt),wt(t)===e))return;mt=""}}catch(t){mt=""}document.cookie=mt?"".concat(u).concat(";").concat("domain=").concat(mt):u}}var _t=Object.freeze({__proto__:null,COOKIE_SEP:yt,getCookie:wt,setCookie:bt,start:function(){mt=null},stop:function(){mt=null}}),St={debug:!1,excludeClassNames:[],ignoreMutationClassNames:[],discoverTrigger:null},kt=tt({},St);function It(){return kt.debug}var Et=Object.freeze({__proto__:null,get:function(){return kt},isDebug:It,set:function(t){kt=tt(tt({},kt),t)},start:function(){var t,e,n,r,a,o,i,u;kt={debug:new URLSearchParams(window.location.search).has("gemx_debug")||null!==(e=null===(t=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===t?void 0:t.debug)&&void 0!==e&&e,excludeClassNames:null!==(r=null===(n=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===n?void 0:n.excludeClassNames)&&void 0!==r?r:[],ignoreMutationClassNames:null!==(o=null===(a=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===a?void 0:a.ignoreMutationClassNames)&&void 0!==o?o:[],discoverTrigger:null!==(u=null===(i=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===i?void 0:i.discoverTrigger)&&void 0!==u?u:null}},stop:function(){kt=tt({},St)}}),Ot=[],Tt=0,xt=!1,Mt=0,Ct=null;function Nt(){return xt}function jt(t,e){Ot.push(t),Tt+=e,Mt>0&&Tt>=Mt&&Ct&&Ct()}var zt=null;function Pt(t){try{if(!zt)return;var e=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);e.forEach((function(t){zt(t)}))}catch(t){}}var At=[Et,Object.freeze({__proto__:null,config:function(t,e){return Mt=null!=t?t:0,Ct=null!=e?e:null,!0},drain:function(){xt=!1;var t=Ot;return Ot=[],Tt=0,t},getBytes:function(){return Tt},hold:jt,isActive:Nt,start:function(){Ot=[],Tt=0,xt=!0},stop:function(){Ot=[],Tt=0,xt=!1,Mt=0,Ct=null}}),P,n,dt,e,P,_t,r,a,o,t,F,$,P];function qt(){R={},X={},H(5),At.forEach((function(t){return fn(t.start)()}))}function Dt(){At.slice().reverse().forEach((function(t){return fn(t.stop)()})),R={},X={}}function Rt(){ve(),Ae(),"gemx"!==i.mode&&(ut(),Ie(),fe(0))}function Xt(t,e,n,r){return"href"===t&&"LINK"===r?"".concat(t,"=").concat(e):"".concat(t,"=").concat(y(e,0===t.indexOf("data-")?"data-":t,n))}var Ht=[],Lt=1,Ut=null;function Gt(){Ht=[],function(t){var e=[t];for(;e.length>0;){for(var n=null,r=null,a=null,o=e.shift(),i=o.firstChild,u=o.parentElement?o.parentElement:o.parentNode?o.parentNode:null;i;)e.push(i),i=i.nextSibling;switch(o.nodeType){case Node.DOCUMENT_TYPE_NODE:var c=o;r="*D",n={name:c.name,publicId:c.publicId,systemId:c.systemId};break;case Node.TEXT_NODE:a=o.nodeValue,r=Ut.get(u)?"*T":r;break;case Node.ELEMENT_NODE:var s=o;n=Bt(s),r=["NOSCRIPT","SCRIPT","STYLE"].indexOf(s.tagName)<0?s.tagName:r}Vt(o,u,{tag:r,attributes:n,value:a})}}(document),function(t){et(this,void 0,void 0,(function(){var e,n,r,a,o,i,u,c,s,d,f,p,h;return nt(this,(function(g){switch(e=l(),n=[e,t],t){case 8:r=O,n.push(r.width),n.push(r.height),r.width,r.height,ae(n);break;case 43:if((a=Ht).length>0){for(o=0,i=a;o<i.length;o++)for(u=i[o],c=u.metadata.privacy,s=u.data,d=0,f=["tag","attributes","value"];d<f.length;d++)if(s[p=f[d]])switch(p){case"tag":n.push(u.id),u.parent&&n.push(u.parent),u.previous&&n.push(u.previous),n.push(s[p]);break;case"attributes":for(h in s[p])void 0!==s[p][h]&&n.push(Xt(h,s[p][h],c,s.tag));break;case"value":n.push(y(s[p],s.tag,c))}ae(function(t){for(var e=[],n={},r=0,a=null,o=0;o<t.length;o++)if("string"==typeof t[o]){var i=t[o],u=n[i]||-1;u>=0?a?a.push(u):(a=[u],e.push(a),r++):(a=null,e.push(i),n[i]=r++)}else a=null,e.push(t[o]),r++;return e}(n),!0)}}return[2]}))}))}(43)}function Bt(t){var e={},n=t.attributes;if(n&&n.length>0)for(var r=0;r<n.length;r++)e[n[r].name]=n[r].value;return e}function Vt(t,e,n){if(t&&n&&n.tag){var r=function(t){return null===t?null:Ut.has(t)?Ut.get(t):(Ut.set(t,Lt),Lt++)}(t),a=e?Ut.get(e):null,o=t.previousSibling?Ut.get(t.previousSibling):null;Ht.push({id:r,parent:a,previous:o,children:[],data:n,selector:null,hash:null,region:null,metadata:{active:!0,suspend:!1,privacy:5,position:null,fraud:null,size:null}})}}var Yt,Jt,Wt,Zt,Ft,Kt,Qt=0,$t=0,te=null,ee=0,ne=!1;function re(){Zt=!0,Qt=0,$t=0,ne=!1,ee=0,Yt=[],Jt=[],Wt={},Ft=null}function ae(t,e){if(void 0===e&&(e=!0),Zt){var n=l(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(i.lean?!ne&&$t+a.length>10485760&&(ne=!0):ne=!1,r){case 5:if(ne)break;if(Nt()){jt(t,a.length);break}Qt+=a.length;case 37:case 6:case 43:case 45:case 46:case 44:case 51:if(ne)break;Nt()&&jt(t,a.length),$t+=a.length,Yt.push(a);break;default:Jt.push(a)}H(25);var o=function(){var t=!1===i.lean&&Qt>0?100:on.sequence*i.delay;return"string"==typeof i.upload?Math.max(Math.min(t,3e4),100):i.delay}();n-ee>2*o&&(B(te),te=null),e&&null===te&&(25!==r&&W(),te=G(ce,o),ee=n,he($t))}}function oe(t){Zt&&(B(te),te=null,ce(!1,t))}function ie(t){for(var e=0,n=t;e<n.length;e++){var r=n[e],a=JSON.stringify(r);Qt+=a.length,$t+=a.length,Yt.push(a)}}function ue(){B(te),ce(!0),Qt=0,$t=0,ne=!1,ee=0,Yt=[],Jt=[],Wt={},Ft=null,Zt=!1}function ce(t,e){return void 0===t&&(t=!1),et(this,void 0,void 0,(function(){var n,r,a,o,u,c,s,l,d,f,p,h,g,v,m,y,w;return nt(this,(function(b){switch(b.label){case 0:if(!Zt)return[2];if(te=null,(n=("gemx-snapshot"===e||!1===i.lean)&&$t>0&&($t<1048576||on.sequence>0))&&U(1,1),Rt(),r=!0===t,!on)return[2];if(a=It(),!e&&a){for(o=[[9,"click"],[10,"scroll"]],u=new Set(Jt.map((function(t){return JSON.parse(t)[1]}))),c=[],s=0,l=o;s<l.length;s++)f=(d=l[s])[0],p=d[1],u.has(f)&&c.push(p);e=c.length>0?c.join("-"):void 0}return h=JSON.stringify(sn(r)),g="[".concat(Jt.join(),"]"),v=n?"[".concat(Yt.join(),"]"):"",r&&v.length>0&&h.length+g.length+v.length>65536&&(v=""),m=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:h,a:g,p:v}),r?(w=null,[3,3]):[3,1];case 1:return[4,pt(m)];case 2:w=b.sent(),b.label=3;case 3:return L(2,(y=w)?y.length:m.length),se(m,y,on.sequence,r,e),Jt=[],n&&(Yt=[],$t=0,Qt=0,ne=!1),[2]}}))}))}function se(t,e,n,r,a){if(void 0===r&&(r=!1),"string"==typeof i.upload){var o=i.upload,u=!1;if(r&&navigator&&navigator.sendBeacon)try{(u=navigator.sendBeacon.bind(navigator)(o,t))&&de(n)}catch(t){}if(!1===u){n in Wt?Wt[n].attempts++:Wt[n]={data:t,attempts:1};var c=new XMLHttpRequest;c.open("POST",o,!0),c.timeout=15e3,c.ontimeout=function(){dn(new Error("".concat("Timeout"," : ").concat(o)))},null!==n&&(c.onreadystatechange=function(){fn(le)(c,n)}),c.withCredentials=!0,e?(c.setRequestHeader("Accept","application/x-clarity-gzip"),c.send(e)):c.send(t)}}else if(i.upload){(0,i.upload)(t,a),de(n)}}function le(t,e){var n=Wt[e];t&&4===t.readyState&&n&&((t.status<200||t.status>208)&&n.attempts<=1?t.status>=400&&t.status<500?ge(6):(0===t.status&&(i.upload=i.fallback?i.fallback:i.upload),Ft={sequence:e,attempts:n.attempts,status:t.status},fe(2),se(n.data,null,e)):(Ft={sequence:e,attempts:n.attempts,status:t.status},n.attempts>1&&fe(2),200===t.status&&t.responseText&&function(t){for(var e=t&&t.length>0?t.split("\n"):[],n=0,r=e;n<r.length;n++){var a=r[n],o=a&&a.length>0?a.split(/ (.*)/):[""];switch(o[0]){case"END":ge(6);break;case"UPGRADE":Q("Auto");break;case"ACTION":i.action&&o.length>1&&i.action(o[1]);break;case"EXTRACT":case"MODULE":o.length>1&&o[1];break;case"SIGNAL":o.length>1&&Pt(o[1]);break;case"SNAPSHOT":i.lean=!1,Gt()}}}(t.responseText),0===t.status&&(se(n.data,null,e,!0),ge(3)),t.status>=200&&t.status<=208&&de(e),delete Wt[e]))}function de(t){1===t&&($e(),Qe())}function fe(t){var e=[l(),t];switch(t){case 4:var n=E;n&&n.data&&((e=[n.time,n.event]).push(n.data.visible),e.push(n.data.docWidth),e.push(n.data.docHeight),e.push(n.data.screenWidth),e.push(n.data.screenHeight),e.push(n.data.scrollX),e.push(n.data.scrollY),e.push(n.data.pointerX),e.push(n.data.pointerY),e.push(n.data.activityTime),e.push(n.data.scrollTime),e.push(n.data.pointerTime),e.push(n.data.moveX),e.push(n.data.moveY),e.push(n.data.moveTime),e.push(n.data.downX),e.push(n.data.downY),e.push(n.data.downTime),e.push(n.data.upX),e.push(n.data.upY),e.push(n.data.upTime),e.push(n.data.pointerPrevX),e.push(n.data.pointerPrevY),e.push(n.data.pointerPrevTime),e.push(n.data.modules),ae(e,!1));break;case 25:e.push(D.gap),ae(e);break;case 35:e.push(Kt.check),ae(e,!1);break;case 3:e.push(K.key),ae(e);break;case 2:e.push(Ft.sequence),e.push(Ft.attempts),e.push(Ft.status),ae(e,!1);break;case 24:A.key&&e.push(A.key),e.push(A.value),ae(e);break;case 34:var r=Object.keys(rt);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var i=o[a];e.push(i),e.push(rt[i])}ct(),ae(e,!1)}break;case 0:var u=Object.keys(X);if(u.length>0){for(var c=0,s=u;c<s.length;c++){var d=s[c],f=parseInt(d,10);e.push(f),e.push(Math.round(X[d]))}X={},ae(e,!1)}break;case 1:var p=Object.keys(we);if(p.length>0){for(var h=0,g=p;h<g.length;h++){var v=g[h];f=parseInt(v,10);e.push(f),e.push(we[v])}Ee(),ae(e,!1)}break;case 36:var m=Object.keys(O);if(m.length>0){for(var y=0,w=m;y<w.length;y++){var b=w[y];f=parseInt(b,10);e.push(f),e.push([].concat.apply([],O[b]))}ae(e,!1)}break;case 40:x.forEach((function(t){e.push(t);var n=[];for(var r in O[t]){var a=parseInt(r,10);n.push(a),n.push(O[t][r])}e.push(n)})),ae(e,!1);break;case 47:e.push(Oe.source),e.push(Oe.ad_Storage),e.push(Oe.analytics_Storage),ae(e,!1)}}function pe(){Kt={check:0}}function he(t){if(0===Kt.check){var e=Kt.check;e=on.sequence>=128?1:e,e=on.pageNum>=128?7:e,e=l()>72e5?2:e,(e=t>10485760?2:e)!==Kt.check&&ge(e)}}function ge(t){Kt.check=t,5!==t&&(Ke(),ar())}function ve(){0!==Kt.check&&fe(35)}function me(){Kt=null}var ye=null,we=null,be=!1;function _e(){ye={},we={},be=!1}function Se(){ye={},we={},be=!1}function ke(t,e){if(e&&(e="".concat(e),t in ye||(ye[t]=[]),ye[t].indexOf(e)<0)){if(ye[t].length>128)return void(be||(be=!0,ge(5)));ye[t].push(e),t in we||(we[t]=[]),we[t].push(e)}}function Ie(){fe(1)}function Ee(){we={},be=!1}var Oe=null,Te=!0;function xe(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;Te=!0,(null==e?void 0:e.addListener)&&e.addListener(["ad_storage","analytics_storage"],Ce)}function Me(){Te=!0}function Ce(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;if(null==e?void 0:e.getConsentState)try{var n=e.getConsentState("analytics_storage");We(function(t){var e={source:2,ad_Storage:1===t.ad_Storage?"granted":"denied",analytics_Storage:1===t.analytics_Storage?"granted":"denied"};return e}({ad_Storage:e.getConsentState("ad_storage"),analytics_Storage:n}))}catch(t){return}}function Ne(t){ze(t.analytics_Storage?1:0),Oe=t}function je(){ze(2)}function ze(t){ke(36,t.toString())}function Pe(t){Oe=t,fe(47)}function Ae(){var t;if(Te&&(fe(47),Te=!1,!i.track)){var e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;(null==e?void 0:e.usedUpdate)&&Ce()}}var qe=null,De=[],Re=0,Xe=null,He=!1,Le={source:7,ad_Storage:"denied",analytics_Storage:"denied"};function Ue(){var t,e,n,r=navigator&&"userAgent"in navigator?navigator.userAgent:"",a=null!==(n="undefined"!=typeof Intl&&(null===(e=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===e?void 0:e.timeZone))&&void 0!==n?n:"",o=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";Re=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:en(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},e=wt("_clsk",!i.includeSubdomains);if(e){var n=e.includes("^")?e.split("^"):e.split("|");n.length>=5&&t.ts-nn(n[1])<18e5&&(t.session=n[0],t.count=nn(n[2])+1,t.upgrade=nn(n[3]),t.upload=n.length>=6?"".concat("https://").concat(n[5],"/").concat(n[4]):"".concat("https://").concat(n[4]))}return t}(),l=rn(),d=i.projectId||function(t,e){void 0===e&&(e=null);for(var n,r=5381,a=r,o=0;o<t.length;o+=2)r=(r<<5)+r^t.charCodeAt(o),o+1<t.length&&(a=(a<<5)+a^t.charCodeAt(o+1));return n=Math.abs(r+11579*a),(e?n%Math.pow(2,e):n).toString(36)}(location.host),f=i.externalSession&&i.userId?i.userId:l.id,p=i.externalSession&&i.sessionId?i.sessionId:s.session;qe={projectId:d,userId:f,sessionId:p,pageNum:s.count},i.lean=i.track&&null!==s.upgrade?0===s.upgrade:i.lean,i.upload=i.track&&"string"==typeof i.upload&&s.upload&&s.upload.length>"https://".length?s.upload:i.upload,ke(0,r),ke(3,c),ke(1,w(location.href,!!Re)),ke(2,document.referrer),ke(15,function(){var t=en();if(i.track&>(window,"sessionStorage")){var e=sessionStorage.getItem("_cltk");t=e||t,sessionStorage.setItem("_cltk",t)}return t}()),ke(16,document.documentElement.lang),ke(17,document.dir),ke(26,"".concat(window.devicePixelRatio)),ke(28,l.dob.toString()),ke(29,l.version.toString()),ke(33,u),ke(34,a),ke(35,o),U(0,s.ts),U(1,0),U(35,Re);var h,g=null===window||void 0===window?void 0:window.Zone;g&&"__symbol__"in g&&U(39,1),navigator&&(ke(9,navigator.language),U(33,navigator.hardwareConcurrency),U(32,navigator.maxTouchPoints),U(34,Math.round(navigator.deviceMemory)),(h=navigator.userAgentData)&&h.getHighEntropyValues?h.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var e;ke(22,t.platform),ke(23,t.platformVersion),null===(e=t.brands)||void 0===e||e.forEach((function(t){ke(24,t.name+"~"+t.version)})),ke(25,t.model),U(27,t.mobile?1:0)})):ke(22,navigator.platform)),screen&&(U(14,Math.round(screen.width)),U(15,Math.round(screen.height)),U(16,Math.round(screen.colorDepth))),null===Xe&&(Xe={source:l.consent?6:0,ad_Storage:i.track?"granted":"denied",analytics_Storage:i.track?"granted":"denied"}),Ge(),Ne(Ze(Xe)),i.externalSession||tn(l)}function Ge(){if(!He&&"granted"===(null==Xe?void 0:Xe.analytics_Storage)&&"granted"===(null==Xe?void 0:Xe.ad_Storage)){for(var t=0,e=i.cookies;t<e.length;t++){var n=e[t],r=wt(n);r&&at(n,r)}He=!0}}function Be(){qe=null,He=!1,De.forEach((function(t){t.called=!1}))}function Ve(t,e,n,r){void 0===e&&(e=!0),void 0===n&&(n=!1),void 0===r&&(r=!1);var a=i.lean?0:1,o=!1;qe&&(a||!1===e)&&(t(qe,!i.lean,r?Xe:void 0),o=!0),!n&&o||De.push({callback:t,wait:e,recall:n,called:o,consentInfo:r})}function Ye(){return qe?[qe.userId,qe.sessionId,qe.pageNum].join("."):""}function Je(t){void 0===t&&(t=!0),We(t?{source:4,ad_Storage:"granted",analytics_Storage:"granted"}:{source:4,ad_Storage:"denied",analytics_Storage:"denied"})}function We(t,e){var n;if(void 0===t&&(t=Le),void 0===e&&(e=5),zn()){var r={source:null!==(n=t.source)&&void 0!==n?n:e,ad_Storage:Fe(t.ad_Storage,null==Xe?void 0:Xe.ad_Storage),analytics_Storage:Fe(t.analytics_Storage,null==Xe?void 0:Xe.analytics_Storage)};if(Xe&&r.ad_Storage===Xe.ad_Storage&&r.analytics_Storage===Xe.analytics_Storage)return Xe.source=r.source,Pe(Ze(Xe)),void je();Xe=r,Qe(!0);var a=Ze(Xe);if(!a.analytics_Storage&&i.track)return i.track=!1,Ke(!0),ar(),void window.setTimeout(rr,250);zn()&&a.analytics_Storage&&(i.track=!0,tn(rn(),1),$e()),Ge(),Pe(a),je()}}function Ze(t){var e;return{source:null!==(e=t.source)&&void 0!==e?e:255,ad_Storage:"granted"===t.ad_Storage?1:0,analytics_Storage:"granted"===t.analytics_Storage?1:0}}function Fe(t,e){return void 0===e&&(e="denied"),"string"==typeof t?t.toLowerCase():e}function Ke(t){void 0===t&&(t=!1),bt("_clsk","",0),t&&bt("_clck","",0)}function Qe(t){void 0===t&&(t=!1),function(t,e){void 0===e&&(e=!1);if(De.length>0)for(var n=0;n<De.length;n++){var r=De[n];r.callback&&(!r.called&&!e||r.consentInfo&&e)&&(!r.wait||t)&&(r.callback(qe,!i.lean,r.consentInfo?Xe:void 0),r.called=!0,r.recall||(De.splice(n,1),n--))}}(i.lean?0:1,t)}function $e(){if(qe&&i.track&&!i.externalSession){var t=Math.round(Date.now()),e=i.upload&&"string"==typeof i.upload?i.upload.replace("https://",""):"",n=i.lean?0:1;bt("_clsk",[qe.sessionId,t,qe.pageNum,n,e].join(yt),1)}}function tn(t,e){void 0===e&&(e=null),e=null===e?t.consent:e;var n=Math.ceil((Date.now()+31536e6)/864e5),r=0===t.dob?null===i.dob?0:i.dob:t.dob;(null===t.expiry||Math.abs(n-t.expiry)>=1||t.consent!==e||t.dob!==r)&&bt("_clck",[qe.userId,2,n.toString(36),e,r].join(yt),365)}function en(){var t=Math.floor(Math.random()*Math.pow(2,32));return window&&window.crypto&&window.crypto.getRandomValues&&Uint32Array&&(t=window.crypto.getRandomValues(new Uint32Array(1))[0]),t.toString(36)}function nn(t,e){return void 0===e&&(e=10),parseInt(t,e)}function rn(){var t={id:en(),version:0,expiry:null,consent:0,dob:0},e=wt("_clck",!i.includeSubdomains);if(e&&e.length>0){var n=e.includes("^")?e.split("^"):e.split("|");n.length>1&&(t.version=nn(n[1])),n.length>2&&(t.expiry=nn(n[2],36)),n.length>3&&1===nn(n[3])&&(t.consent=1),n.length>4&&nn(n[1])>1&&(t.dob=nn(n[4])),i.track=i.track||1===t.consent,t.id=i.track?n[0]:t.id}return t}var an,on=null;function un(){var t=qe;on={version:d,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function cn(){on=null}function sn(t){return on.start=on.start+on.duration,on.duration=l()-on.start,on.sequence++,on.upload=t&&"sendBeacon"in navigator?1:0,on.end=t?1:0,on.applicationPlatform=0,on.url=w(location.href,!1,!0),[on.version,on.sequence,on.start,on.duration,on.projectId,on.userId,on.sessionId,on.pageNum,on.upload,on.end,on.applicationPlatform,on.url]}function ln(){an=[]}function dn(t){if(an&&-1===an.indexOf(t.message)){var e=i.report;if(e&&e.length>0&&on){var n={v:on.version,p:on.projectId,u:on.userId,s:on.sessionId,n:on.pageNum};t.message&&(n.m=t.message),t.stack&&(n.e=t.stack);var r=new XMLHttpRequest;r.open("POST",e,!0),r.send(JSON.stringify(n)),an.push(t.message)}}return t}function fn(t){return function(){var e=performance.now();try{t.apply(this,arguments)}catch(t){throw dn(t)}var n=performance.now()-e;L(4,n),n>30&&(H(7),U(6,n),t.dn&&"".concat(t.dn,"-").concat(n))}}var pn=new Map;function hn(t,e,n,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),n=fn(n);try{t[u("addEventListener")](e,n,{capture:r,passive:a}),function(t){return pn.has(t)}(t)||pn.set(t,[]),pn.get(t).push({event:e,listener:n,options:{capture:r,passive:a}})}catch(t){}}function gn(){pn.forEach((function(t,e){!function(t,e){t.forEach((function(t){try{e[u("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),pn.delete(e)}(t,e)})),pn=new Map}var vn=null,mn=null,yn=null,wn=0;function bn(){return!(wn++>20)}function _n(){wn=0,yn!==kn()&&(ar(),window.setTimeout(Sn,250))}function Sn(){rr(),U(29,1)}function kn(){return location.href?location.href.replace(location.hash,""):location.href}var In=[],En=null,On=null,Tn=null;function xn(){In=[],En=null,On=null}function Mn(){var t=In.shift();t&&(En=t,t.task().then((function(){t.id===Ye()&&(t.resolve(),En=null,Mn())})).catch((function(e){t.id===Ye()&&(e&&(e.name,e.message,e.stack),En=null,Mn())})))}var Cn=!1;function Nn(){Cn=!0,c=s(),xn(),gn(),ln(),function(){if(yn=kn(),wn=0,hn(window,"popstate",_n),null===vn)try{vn=history.pushState,history.pushState=function(){vn.apply(this,arguments),zn()&&bn()&&_n()}}catch(t){vn=null}if(null===mn)try{mn=history.replaceState,history.replaceState=function(){mn.apply(this,arguments),zn()&&bn()&&_n()}}catch(t){mn=null}}()}function jn(){yn=null,wn=0,ln(),gn(),xn(),c=0,Cn=!1}function zn(){return Cn}function Pn(){rr(),q("clarityGemX","restart")}var An=null;function qn(){An=null}function Dn(t){An={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){et(this,void 0,void 0,(function(){var e,n;return nt(this,(function(r){return e=l(),n=[e,t],29===t&&(n.push(An.fetchStart),n.push(An.connectStart),n.push(An.connectEnd),n.push(An.requestStart),n.push(An.responseStart),n.push(An.responseEnd),n.push(An.domInteractive),n.push(An.domComplete),n.push(An.loadEventStart),n.push(An.loadEventEnd),n.push(An.redirectCount),n.push(An.size),n.push(An.type),n.push(An.protocol),n.push(An.encodedSize),n.push(An.decodedSize),qn(),ae(n)),[2]}))}))}(29)}var Rn,Xn=0,Hn=1/0,Ln=0,Un=0,Gn=[],Bn=new Map,Vn=function(){return Xn||0},Yn=function(){if(!Gn.length)return-1;var t=Math.min(Gn.length-1,Math.floor((Vn()-Un)/50));return Gn[t].latency},Jn=function(){Un=Vn(),Gn.length=0,Bn.clear()},Wn=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?Xn=performance.interactionCount:t.interactionId&&(Hn=Math.min(Hn,t.interactionId),Ln=Math.max(Ln,t.interactionId),Xn=Ln?(Ln-Hn)/7+1:0)}(t);var e=Gn[Gn.length-1],n=Bn.get(t.interactionId);if(n||Gn.length<10||t.duration>(null==e?void 0:e.latency)){if(n)t.duration>n.latency&&(n.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};Bn.set(r.id,r),Gn.push(r)}Gn.sort((function(t,e){return e.latency-t.latency})),Gn.length>10&&Gn.splice(10).forEach((function(t){return Bn.delete(t.id)}))}}},Zn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function Fn(){try{Rn&&Rn.disconnect(),Rn=new PerformanceObserver(fn(Kn));for(var t=0,e=Zn;t<e.length;t++){var n=e[t];PerformanceObserver.supportedEntryTypes.indexOf(n)>=0&&("layout-shift"===n&&L(9,0),Rn.observe({type:n,buffered:!0}))}}catch(t){}}function Kn(t){!function(t){for(var e=(!("visibilityState"in document)||"visible"===document.visibilityState),n=0;n<t.length;n++){var r=t[n];switch(r.entryType){case"navigation":Dn(r);break;case"resource":var a=r.name;ke(4,$n(a)),a!==i.upload&&a!==i.fallback||U(28,r.duration);break;case"longtask":H(7);break;case"first-input":e&&U(10,r.processingStart-r.startTime);break;case"event":e&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(Wn(r),ke(37,Yn().toString()));break;case"layout-shift":e&&!r.hadRecentInput&&L(9,1e3*r.value);break;case"largest-contentful-paint":e&&U(8,r.startTime)}}}(t.getEntries())}var Qn=null;function $n(t){return Qn||(Qn=document.createElement("a")),Qn.href=t,Qn.host}var tr=[P,P,P],er=[P,P,P,Object.freeze({__proto__:null,start:function(){qn(),function(){navigator&&navigator.connection&&ke(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?hn(window,"load",G.bind(this,Fn,0)):Fn())}()},stop:function(){Rn&&Rn.disconnect(),Rn=null,Jn(),Qn=null,qn()}}),P],nr=er;function rr(t){void 0===t&&(t=null),nr="gemx"===(null==t?void 0:t.mode)?tr:er,function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===Cn&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(!function(t){if(null===t||Cn)return!1;for(var e in t)e in i&&(i[e]=t[e])}(t),Nn(),qt(),nr.forEach((function(t){return fn(t.start)()})),null===t&&cr())}function ar(){zn()&&(nr.slice().reverse().forEach((function(t){return fn(t.stop)()})),Dt(),jn(),void 0!==ir&&(ir[ur]=function(){(ir[ur].q=ir[ur].q||[]).push(arguments),"start"===arguments[0]&&ir[ur].q.unshift(ir[ur].q.pop())&&cr()}))}var or=Object.freeze({__proto__:null,consent:Je,consentv2:We,dlog:ke,event:q,hashText:M,identify:ot,maxMetric:U,measure:fn,metadata:Ve,pause:function(){zn()&&(q("clarityGemX","pause"),null===On&&(On=new Promise((function(t){Tn=t}))))},queue:ae,register:z,resume:function(){zn()&&(On&&(Tn(),On=null,null===En&&Mn()),q("clarityGemX","resume"))},schedule:function(t,e){return void 0===e&&(e=0),et(this,void 0,void 0,(function(){var n,r,a;return nt(this,(function(o){for(n=0,r=In;n<r.length;n++)if(r[n].task===t)return[2];return a=new Promise((function(n){In[1===e?"unshift":"push"]({task:t,resolve:n,id:Ye()})})),null===En&&null===On&&Mn(),[2,a]}))}))},set:at,signal:function(t){zt=t},start:rr,stop:ar,time:l,upgrade:Q,version:d}),ir=window,ur="clarityGemX";function cr(){if(void 0!==ir){if(ir[ur]&&ir[ur].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=ir[ur]&&ir[ur].q||[];for(ir[ur]=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return or[t].apply(or,e)},ir[ur].v=d;t.length>0;)ir[ur].apply(ir,t.shift())}}cr()}();
|
package/package.json
CHANGED
package/src/clarity.ts
CHANGED
|
@@ -26,7 +26,7 @@ const ALL: Module[] = [diagnostic, layout, interaction, performance, dynamic];
|
|
|
26
26
|
let modules: Module[] = ALL;
|
|
27
27
|
|
|
28
28
|
export function start(config: Config = null): void {
|
|
29
|
-
modules = config
|
|
29
|
+
modules = config?.mode === "gemx" ? GEMX : ALL;
|
|
30
30
|
// Check that browser supports required APIs and we do not attempt to start Clarity multiple times
|
|
31
31
|
if (core.check()) {
|
|
32
32
|
core.config(config);
|
package/src/core/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
let version = "0.8.
|
|
1
|
+
let version = "0.8.90";
|
|
2
2
|
export default version;
|
package/src/data/gemx-upload.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Token } from "@clarity-types/data";
|
|
|
2
2
|
|
|
3
3
|
// Deferred upload buffer for GemX mode.
|
|
4
4
|
// Buffers ALL playback events until discoverTrigger conditions are met.
|
|
5
|
-
// Scheduling and trigger logic lives in layout/gemx-
|
|
5
|
+
// Scheduling and trigger logic lives in layout/gemx-snapshot.ts.
|
|
6
6
|
let buffer: Token[][] = [];
|
|
7
7
|
let bufferBytes = 0;
|
|
8
8
|
let active = false;
|
package/src/data/gemx.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { GemXConfig } from "@clarity-types/data";
|
|
2
2
|
|
|
3
3
|
const defaultConfig: GemXConfig = {
|
|
4
|
+
debug: false,
|
|
4
5
|
excludeClassNames: [],
|
|
5
6
|
ignoreMutationClassNames: [],
|
|
6
7
|
discoverTrigger: null,
|
|
@@ -10,6 +11,7 @@ let _config: GemXConfig = { ...defaultConfig };
|
|
|
10
11
|
|
|
11
12
|
export function start(): void {
|
|
12
13
|
_config = {
|
|
14
|
+
debug: new URLSearchParams(window.location.search).has("gemx_debug") || (window?.GemXHeatmap?.debug ?? false),
|
|
13
15
|
excludeClassNames: (window?.GemXHeatmap?.excludeClassNames ?? []),
|
|
14
16
|
ignoreMutationClassNames: (window?.GemXHeatmap?.ignoreMutationClassNames ?? []),
|
|
15
17
|
discoverTrigger: (window?.GemXHeatmap?.discoverTrigger ?? null),
|
|
@@ -27,3 +29,7 @@ export function set(config: Partial<GemXConfig>): void {
|
|
|
27
29
|
export function get(): GemXConfig {
|
|
28
30
|
return _config;
|
|
29
31
|
}
|
|
32
|
+
|
|
33
|
+
export function isDebug(): boolean {
|
|
34
|
+
return _config.debug;
|
|
35
|
+
}
|