@pendo/agent 2.273.0 → 2.274.0
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/dist/dom.esm.js +9613 -0
- package/dist/pendo.module.js +304 -71
- package/dist/pendo.module.min.js +1 -1
- package/package.json +1 -1
package/dist/pendo.module.js
CHANGED
|
@@ -3888,8 +3888,8 @@ var SERVER = '';
|
|
|
3888
3888
|
var ASSET_HOST = '';
|
|
3889
3889
|
var ASSET_PATH = '';
|
|
3890
3890
|
var DESIGNER_ENV = '';
|
|
3891
|
-
var VERSION = '2.
|
|
3892
|
-
var PACKAGE_VERSION = '2.
|
|
3891
|
+
var VERSION = '2.274.0_';
|
|
3892
|
+
var PACKAGE_VERSION = '2.274.0';
|
|
3893
3893
|
var LOADER = 'xhr';
|
|
3894
3894
|
/* eslint-enable agent-eslint-rules/no-gulp-env-references */
|
|
3895
3895
|
/**
|
|
@@ -9097,20 +9097,7 @@ var ajax = (function () {
|
|
|
9097
9097
|
else {
|
|
9098
9098
|
request.send();
|
|
9099
9099
|
}
|
|
9100
|
-
return
|
|
9101
|
-
}
|
|
9102
|
-
function aliasFailToCatch(promise) {
|
|
9103
|
-
// Custom code written by pro services uses fail, so we need to support that.
|
|
9104
|
-
var wrappedThen = promise.then;
|
|
9105
|
-
var wrappedCatch = promise['catch'];
|
|
9106
|
-
promise.then = function () {
|
|
9107
|
-
return aliasFailToCatch(wrappedThen.apply(this, arguments));
|
|
9108
|
-
};
|
|
9109
|
-
promise['catch'] = function () {
|
|
9110
|
-
return aliasFailToCatch(wrappedCatch.apply(this, arguments));
|
|
9111
|
-
};
|
|
9112
|
-
promise.fail = promise['catch'];
|
|
9113
|
-
return promise;
|
|
9100
|
+
return deferred.promise;
|
|
9114
9101
|
}
|
|
9115
9102
|
function get(url, headers) {
|
|
9116
9103
|
return ajax({
|
|
@@ -22306,7 +22293,7 @@ var DesignerV2 = (function () {
|
|
|
22306
22293
|
if (style) {
|
|
22307
22294
|
setStyle(iframe, style);
|
|
22308
22295
|
}
|
|
22309
|
-
iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin allow-top-navigation allow-forms allow-pointer-lock allow-popups');
|
|
22296
|
+
iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin allow-top-navigation allow-forms allow-pointer-lock allow-popups allow-storage-access-by-user-activation');
|
|
22310
22297
|
iframe.src = src;
|
|
22311
22298
|
return iframe;
|
|
22312
22299
|
}
|
|
@@ -23304,16 +23291,19 @@ function createCrossFrameChannel(store) {
|
|
|
23304
23291
|
}
|
|
23305
23292
|
|
|
23306
23293
|
function onTurbolinksPageLoad(document, onPageLoad) {
|
|
23307
|
-
|
|
23308
|
-
|
|
23309
|
-
|
|
23310
|
-
|
|
23311
|
-
|
|
23312
|
-
|
|
23313
|
-
return attachEventInternal(document, turboLinksPageLoad, onPageLoad);
|
|
23314
|
-
}
|
|
23294
|
+
var Turbolinks = window.Turbolinks, Turbo = window.Turbo;
|
|
23295
|
+
var turboLinksPageLoad;
|
|
23296
|
+
// Special case guide reloading for troublesome Rails component:
|
|
23297
|
+
// https://github.com/rails/turbolinks
|
|
23298
|
+
if (Turbolinks) {
|
|
23299
|
+
turboLinksPageLoad = Turbolinks.EVENTS && Turbolinks.EVENTS.LOAD;
|
|
23315
23300
|
}
|
|
23316
|
-
|
|
23301
|
+
// Updated version of Turbo library
|
|
23302
|
+
// https://turbo.hotwired.dev/reference/events
|
|
23303
|
+
if (Turbo && Turbo.visit) {
|
|
23304
|
+
turboLinksPageLoad = 'turbo:load';
|
|
23305
|
+
}
|
|
23306
|
+
return turboLinksPageLoad ? attachEventInternal(document, turboLinksPageLoad, onPageLoad) : function () { };
|
|
23317
23307
|
}
|
|
23318
23308
|
|
|
23319
23309
|
var EMPTY_ARRAY_JZB = 'eJwFwIEIAAAAwDDQd3-N1QABFQC5';
|
|
@@ -35973,7 +35963,7 @@ var FrustrationEvent = (function () {
|
|
|
35973
35963
|
*/
|
|
35974
35964
|
function addFrustrationType(event, type) {
|
|
35975
35965
|
var _a = event.frustrationTypes, frustrationTypes = _a === void 0 ? [] : _a;
|
|
35976
|
-
if (!
|
|
35966
|
+
if (!_.contains(frustrationTypes, type)) {
|
|
35977
35967
|
frustrationTypes.push(type);
|
|
35978
35968
|
event.frustrationTypes = frustrationTypes;
|
|
35979
35969
|
}
|
|
@@ -36018,7 +36008,7 @@ var FrustrationEvent = (function () {
|
|
|
36018
36008
|
}
|
|
36019
36009
|
function handleClickEvent(eventData, browserEvent) {
|
|
36020
36010
|
var isHyperlinked = browserEvent.target && browserEvent.target.tagName === 'A' && browserEvent.target.hasAttribute('href');
|
|
36021
|
-
var isDeadClickEligibleTag = browserEvent.target && !
|
|
36011
|
+
var isDeadClickEligibleTag = browserEvent.target && !_.contains(deadClickIneligibleTags, browserEvent.target.tagName);
|
|
36022
36012
|
if (canQueueDeadClicks && !hasHighlightedText && isDeadClickEligibleTag && !isHyperlinked) {
|
|
36023
36013
|
queueDeadClick(eventData);
|
|
36024
36014
|
}
|
|
@@ -36170,7 +36160,7 @@ var FrustrationEvent = (function () {
|
|
|
36170
36160
|
if (eventData.type === 'submit' || eventData.type === 'change') {
|
|
36171
36161
|
suspendDeadClickQueue();
|
|
36172
36162
|
}
|
|
36173
|
-
var isDeadClickIneligibleTag = _.has(browserEvent, 'target') &&
|
|
36163
|
+
var isDeadClickIneligibleTag = _.has(browserEvent, 'target') && _.contains(deadClickIneligibleTags, browserEvent.target.tagName);
|
|
36174
36164
|
if (eventData.type === 'focus' && isDeadClickIneligibleTag) {
|
|
36175
36165
|
suspendDeadClickQueue();
|
|
36176
36166
|
}
|
|
@@ -36931,6 +36921,9 @@ var WebAnalytics = /** @class */ (function () {
|
|
|
36931
36921
|
if (referrer && this.api.ConfigReader.get(CAPTURE_REFERRER_CONFIG_KEY)) {
|
|
36932
36922
|
utm.referrer = referrer;
|
|
36933
36923
|
}
|
|
36924
|
+
else if (referrerValue !== 'direct') {
|
|
36925
|
+
utm.referrer = referrerValue;
|
|
36926
|
+
}
|
|
36934
36927
|
return utm;
|
|
36935
36928
|
}
|
|
36936
36929
|
}
|
|
@@ -43836,14 +43829,20 @@ const testableMethods$1 = {
|
|
|
43836
43829
|
MutationObserver: ["constructor"]
|
|
43837
43830
|
};
|
|
43838
43831
|
const untaintedBasePrototype$1 = {};
|
|
43839
|
-
|
|
43840
|
-
|
|
43841
|
-
|
|
43832
|
+
function angularZoneUnpatchedAlternative$1(key) {
|
|
43833
|
+
var _a2, _b;
|
|
43834
|
+
const angularUnpatchedVersionSymbol = (_b = (_a2 = globalThis == null ? void 0 : globalThis.Zone) == null ? void 0 : _a2.__symbol__) == null ? void 0 : _b.call(_a2, key);
|
|
43835
|
+
if (angularUnpatchedVersionSymbol && globalThis[angularUnpatchedVersionSymbol]) {
|
|
43836
|
+
return globalThis[angularUnpatchedVersionSymbol];
|
|
43837
|
+
} else {
|
|
43838
|
+
return void 0;
|
|
43839
|
+
}
|
|
43840
|
+
}
|
|
43842
43841
|
function getUntaintedPrototype$1(key) {
|
|
43843
43842
|
if (untaintedBasePrototype$1[key])
|
|
43844
43843
|
return untaintedBasePrototype$1[key];
|
|
43845
|
-
const
|
|
43846
|
-
const defaultPrototype =
|
|
43844
|
+
const candidate = angularZoneUnpatchedAlternative$1(key) || globalThis[key];
|
|
43845
|
+
const defaultPrototype = candidate.prototype;
|
|
43847
43846
|
const accessorNames = key in testableAccessors$1 ? testableAccessors$1[key] : void 0;
|
|
43848
43847
|
const isUntaintedAccessors = Boolean(
|
|
43849
43848
|
accessorNames && // @ts-expect-error 2345
|
|
@@ -43866,15 +43865,15 @@ function getUntaintedPrototype$1(key) {
|
|
|
43866
43865
|
}
|
|
43867
43866
|
)
|
|
43868
43867
|
);
|
|
43869
|
-
if (isUntaintedAccessors && isUntaintedMethods
|
|
43870
|
-
untaintedBasePrototype$1[key] =
|
|
43871
|
-
return
|
|
43868
|
+
if (isUntaintedAccessors && isUntaintedMethods) {
|
|
43869
|
+
untaintedBasePrototype$1[key] = candidate.prototype;
|
|
43870
|
+
return candidate.prototype;
|
|
43872
43871
|
}
|
|
43873
43872
|
try {
|
|
43874
43873
|
const iframeEl = document.createElement("iframe");
|
|
43875
43874
|
document.body.appendChild(iframeEl);
|
|
43876
43875
|
const win = iframeEl.contentWindow;
|
|
43877
|
-
if (!win) return
|
|
43876
|
+
if (!win) return candidate.prototype;
|
|
43878
43877
|
const untaintedObject = win[key].prototype;
|
|
43879
43878
|
document.body.removeChild(iframeEl);
|
|
43880
43879
|
if (!untaintedObject) return defaultPrototype;
|
|
@@ -44040,6 +44039,7 @@ function stringifyStylesheet(s2) {
|
|
|
44040
44039
|
}
|
|
44041
44040
|
}
|
|
44042
44041
|
function stringifyRule(rule, sheetHref) {
|
|
44042
|
+
var _a2;
|
|
44043
44043
|
if (isCSSImportRule(rule)) {
|
|
44044
44044
|
let importStringified;
|
|
44045
44045
|
try {
|
|
@@ -44050,7 +44050,7 @@ function stringifyRule(rule, sheetHref) {
|
|
|
44050
44050
|
} catch (error) {
|
|
44051
44051
|
importStringified = rule.cssText;
|
|
44052
44052
|
}
|
|
44053
|
-
if (rule.styleSheet.href) {
|
|
44053
|
+
if ((_a2 = rule == null ? void 0 : rule.styleSheet) == null ? void 0 : _a2.href) {
|
|
44054
44054
|
return absolutifyURLs(importStringified, rule.styleSheet.href);
|
|
44055
44055
|
}
|
|
44056
44056
|
return importStringified;
|
|
@@ -45256,14 +45256,20 @@ const testableMethods = {
|
|
|
45256
45256
|
MutationObserver: ["constructor"]
|
|
45257
45257
|
};
|
|
45258
45258
|
const untaintedBasePrototype = {};
|
|
45259
|
-
|
|
45260
|
-
|
|
45261
|
-
|
|
45259
|
+
function angularZoneUnpatchedAlternative(key) {
|
|
45260
|
+
var _a2, _b;
|
|
45261
|
+
const angularUnpatchedVersionSymbol = (_b = (_a2 = globalThis == null ? void 0 : globalThis.Zone) == null ? void 0 : _a2.__symbol__) == null ? void 0 : _b.call(_a2, key);
|
|
45262
|
+
if (angularUnpatchedVersionSymbol && globalThis[angularUnpatchedVersionSymbol]) {
|
|
45263
|
+
return globalThis[angularUnpatchedVersionSymbol];
|
|
45264
|
+
} else {
|
|
45265
|
+
return void 0;
|
|
45266
|
+
}
|
|
45267
|
+
}
|
|
45262
45268
|
function getUntaintedPrototype(key) {
|
|
45263
45269
|
if (untaintedBasePrototype[key])
|
|
45264
45270
|
return untaintedBasePrototype[key];
|
|
45265
|
-
const
|
|
45266
|
-
const defaultPrototype =
|
|
45271
|
+
const candidate = angularZoneUnpatchedAlternative(key) || globalThis[key];
|
|
45272
|
+
const defaultPrototype = candidate.prototype;
|
|
45267
45273
|
const accessorNames = key in testableAccessors ? testableAccessors[key] : void 0;
|
|
45268
45274
|
const isUntaintedAccessors = Boolean(
|
|
45269
45275
|
accessorNames && // @ts-expect-error 2345
|
|
@@ -45286,15 +45292,15 @@ function getUntaintedPrototype(key) {
|
|
|
45286
45292
|
}
|
|
45287
45293
|
)
|
|
45288
45294
|
);
|
|
45289
|
-
if (isUntaintedAccessors && isUntaintedMethods
|
|
45290
|
-
untaintedBasePrototype[key] =
|
|
45291
|
-
return
|
|
45295
|
+
if (isUntaintedAccessors && isUntaintedMethods) {
|
|
45296
|
+
untaintedBasePrototype[key] = candidate.prototype;
|
|
45297
|
+
return candidate.prototype;
|
|
45292
45298
|
}
|
|
45293
45299
|
try {
|
|
45294
45300
|
const iframeEl = document.createElement("iframe");
|
|
45295
45301
|
document.body.appendChild(iframeEl);
|
|
45296
45302
|
const win = iframeEl.contentWindow;
|
|
45297
|
-
if (!win) return
|
|
45303
|
+
if (!win) return candidate.prototype;
|
|
45298
45304
|
const untaintedObject = win[key].prototype;
|
|
45299
45305
|
document.body.removeChild(iframeEl);
|
|
45300
45306
|
if (!untaintedObject) return defaultPrototype;
|
|
@@ -46164,7 +46170,7 @@ class MutationBuffer {
|
|
|
46164
46170
|
}
|
|
46165
46171
|
const old = this.unattachedDoc.createElement("span");
|
|
46166
46172
|
if (m.oldValue) {
|
|
46167
|
-
old.
|
|
46173
|
+
old.style.cssText = m.oldValue;
|
|
46168
46174
|
}
|
|
46169
46175
|
for (const pname of Array.from(target.style)) {
|
|
46170
46176
|
const newValue = target.style.getPropertyValue(pname);
|
|
@@ -48118,8 +48124,8 @@ function initCanvasWebGLMutationObserver(cb, win, blockClass, blockSelector) {
|
|
|
48118
48124
|
};
|
|
48119
48125
|
}
|
|
48120
48126
|
const encodedJs = "KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=";
|
|
48121
|
-
const decodeBase64
|
|
48122
|
-
const blob = typeof window !== "undefined" && window.Blob && new Blob([decodeBase64
|
|
48127
|
+
const decodeBase64 = (base64) => Uint8Array.from(atob(base64), (c2) => c2.charCodeAt(0));
|
|
48128
|
+
const blob = typeof window !== "undefined" && window.Blob && new Blob([decodeBase64(encodedJs)], { type: "text/javascript;charset=utf-8" });
|
|
48123
48129
|
function WorkerWrapper(options) {
|
|
48124
48130
|
let objURL;
|
|
48125
48131
|
try {
|
|
@@ -50124,38 +50130,265 @@ function errorLogger(recorder) {
|
|
|
50124
50130
|
return recorder;
|
|
50125
50131
|
}
|
|
50126
50132
|
|
|
50127
|
-
function
|
|
50128
|
-
var
|
|
50129
|
-
|
|
50130
|
-
|
|
50131
|
-
|
|
50132
|
-
|
|
50133
|
-
|
|
50134
|
-
|
|
50135
|
-
|
|
50133
|
+
function funcToSource(fn, sourcemapArg) {
|
|
50134
|
+
var sourcemap = sourcemapArg === undefined ? null : sourcemapArg;
|
|
50135
|
+
var regex = /(['"])__worker_loader_strict__(['"])/g;
|
|
50136
|
+
var lines = [];
|
|
50137
|
+
|
|
50138
|
+
// instead of extracting the function source code, just return the function as if it's being evaluated
|
|
50139
|
+
// by the caller.
|
|
50140
|
+
var source = fn.toString();
|
|
50141
|
+
source = source.replace(regex, '$1use strict$2');
|
|
50142
|
+
lines.push('(' + source + ')()');
|
|
50143
|
+
if (sourcemap) {
|
|
50144
|
+
lines.push('\/\/# sourceMappingURL=' + sourcemap + '\n');
|
|
50136
50145
|
}
|
|
50137
|
-
return
|
|
50146
|
+
return lines;
|
|
50138
50147
|
}
|
|
50139
50148
|
|
|
50140
|
-
function createURL(
|
|
50141
|
-
var
|
|
50142
|
-
var
|
|
50143
|
-
var source = decodeBase64(base64, enableUnicode);
|
|
50144
|
-
var start = source.indexOf('\n', 10) + 1;
|
|
50145
|
-
var body = source.substring(start) + (sourcemap ? '\/\/# sourceMappingURL=' + sourcemap : '');
|
|
50146
|
-
var blob = new Blob([body], { type: 'application/javascript' });
|
|
50149
|
+
function createURL(fn, sourcemapArg) {
|
|
50150
|
+
var lines = funcToSource(fn, sourcemapArg);
|
|
50151
|
+
var blob = new Blob(lines, { type: 'application/javascript' });
|
|
50147
50152
|
return URL.createObjectURL(blob);
|
|
50148
50153
|
}
|
|
50149
50154
|
|
|
50150
|
-
function
|
|
50155
|
+
function createInlineWorkerFactory(fn, sourcemapArg) {
|
|
50151
50156
|
var url;
|
|
50152
50157
|
return function WorkerFactory(options) {
|
|
50153
|
-
url = url || createURL(
|
|
50158
|
+
url = url || createURL(fn, sourcemapArg);
|
|
50154
50159
|
return new Worker(url, options);
|
|
50155
50160
|
};
|
|
50156
50161
|
}
|
|
50157
50162
|
|
|
50158
|
-
var WorkerFactory = /*#__PURE__*/createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwp2YXIgd29ya2VyX2NvZGUgPSAoZnVuY3Rpb24gKGV4cG9ydHMpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgYjY0ID0gKGZ1bmN0aW9uKCkgewoKICAgICAgICB2YXIgbG9va3VwID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8nLnNwbGl0KCcnKTsKCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgJ3VpbnQ4VG9CYXNlNjQnOiB1aW50OFRvQmFzZTY0CiAgICAgICAgfTsKCiAgICAgICAgZnVuY3Rpb24gdWludDhUb0Jhc2U2NCh1aW50OCkgewogICAgICAgICAgICB2YXIgaSwKICAgICAgICAgICAgICAgIGV4dHJhQnl0ZXMgPSB1aW50OC5sZW5ndGggJSAzLCAvLyBpZiB3ZSBoYXZlIDEgYnl0ZSBsZWZ0LCBwYWQgMiBieXRlcwogICAgICAgICAgICAgICAgb3V0cHV0ID0gJycsCiAgICAgICAgICAgICAgICB0ZW1wLCBsZW5ndGg7CgogICAgICAgICAgICBmdW5jdGlvbiB0cmlwbGV0VG9CYXNlNjQobnVtKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbG9va3VwW251bSA+PiAxOCAmIDB4M0ZdICsgbG9va3VwW251bSA+PiAxMiAmIDB4M0ZdICsgbG9va3VwW251bSA+PiA2ICYgMHgzRl0gKyBsb29rdXBbbnVtICYgMHgzRl07CiAgICAgICAgICAgIH0KCiAgICAJCS8vIGdvIHRocm91Z2ggdGhlIGFycmF5IGV2ZXJ5IHRocmVlIGJ5dGVzLCB3ZSdsbCBkZWFsIHdpdGggdHJhaWxpbmcgc3R1ZmYgbGF0ZXIKICAgICAgICAgICAgZm9yIChpID0gMCwgbGVuZ3RoID0gdWludDgubGVuZ3RoIC0gZXh0cmFCeXRlczsgaSA8IGxlbmd0aDsgaSArPSAzKSB7CiAgICAgICAgICAgICAgICB0ZW1wID0gKHVpbnQ4W2ldIDw8IDE2KSArICh1aW50OFtpICsgMV0gPDwgOCkgKyAodWludDhbaSArIDJdKTsKICAgICAgICAgICAgICAgIG91dHB1dCArPSB0cmlwbGV0VG9CYXNlNjQodGVtcCk7CiAgICAgICAgICAgIH0KCiAgICAJCS8vIHBhZCB0aGUgZW5kIHdpdGggemVyb3MsIGJ1dCBtYWtlIHN1cmUgdG8gbm90IGZvcmdldCB0aGUgZXh0cmEgYnl0ZXMKICAgICAgICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVmYXVsdC1jYXNlCiAgICAgICAgICAgIHN3aXRjaCAoZXh0cmFCeXRlcykgewogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICB0ZW1wID0gdWludDhbdWludDgubGVuZ3RoIC0gMV07CiAgICAgICAgICAgICAgICBvdXRwdXQgKz0gbG9va3VwW3RlbXAgPj4gMl07CiAgICAgICAgICAgICAgICBvdXRwdXQgKz0gbG9va3VwWyh0ZW1wIDw8IDQpICYgMHgzRl07CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgdGVtcCA9ICh1aW50OFt1aW50OC5sZW5ndGggLSAyXSA8PCA4KSArICh1aW50OFt1aW50OC5sZW5ndGggLSAxXSk7CiAgICAgICAgICAgICAgICBvdXRwdXQgKz0gbG9va3VwW3RlbXAgPj4gMTBdOwogICAgICAgICAgICAgICAgb3V0cHV0ICs9IGxvb2t1cFsodGVtcCA+PiA0KSAmIDB4M0ZdOwogICAgICAgICAgICAgICAgb3V0cHV0ICs9IGxvb2t1cFsodGVtcCA8PCAyKSAmIDB4M0ZdOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBvdXRwdXQ7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBnZXREZWZhdWx0RXhwb3J0RnJvbUNqcyAoeCkgewogICAgCXJldHVybiB4ICYmIHguX19lc01vZHVsZSAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoeCwgJ2RlZmF1bHQnKSA/IHhbJ2RlZmF1bHQnXSA6IHg7CiAgICB9CgogICAgdmFyIGRlZmxhdGVfbWluID0ge2V4cG9ydHM6IHt9fTsKCiAgICAvKgogICAgICogQGxpY2Vuc2UgemxpYi5qcyAyMDEyIC0gaW1heWEgWyBodHRwczovL2dpdGh1Yi5jb20vaW1heWEvemxpYi5qcyBdIFRoZSBNSVQgTGljZW5zZQogICAgICovCgogICAgKGZ1bmN0aW9uIChtb2R1bGUpIHsKICAgIAkoZnVuY3Rpb24oKSB7dmFyIG49dm9pZCAwLHc9ITAsYWE9dGhpcztmdW5jdGlvbiBiYShmLGQpe3ZhciBjPWYuc3BsaXQoIi4iKSxlPWFhOyEoY1swXWluIGUpJiZlLmV4ZWNTY3JpcHQmJmUuZXhlY1NjcmlwdCgidmFyICIrY1swXSk7Zm9yKHZhciBiO2MubGVuZ3RoJiYoYj1jLnNoaWZ0KCkpOykhYy5sZW5ndGgmJmQhPT1uP2VbYl09ZDplPWVbYl0/ZVtiXTplW2JdPXt9O312YXIgQz0idW5kZWZpbmVkIiE9PXR5cGVvZiBVaW50OEFycmF5JiYidW5kZWZpbmVkIiE9PXR5cGVvZiBVaW50MTZBcnJheSYmInVuZGVmaW5lZCIhPT10eXBlb2YgVWludDMyQXJyYXk7ZnVuY3Rpb24gSyhmLGQpe3RoaXMuaW5kZXg9Im51bWJlciI9PT10eXBlb2YgZD9kOjA7dGhpcy5lPTA7dGhpcy5idWZmZXI9ZiBpbnN0YW5jZW9mKEM/VWludDhBcnJheTpBcnJheSk/ZjpuZXcgKEM/VWludDhBcnJheTpBcnJheSkoMzI3NjgpO2lmKDIqdGhpcy5idWZmZXIubGVuZ3RoPD10aGlzLmluZGV4KXRocm93IEVycm9yKCJpbnZhbGlkIGluZGV4Iik7dGhpcy5idWZmZXIubGVuZ3RoPD10aGlzLmluZGV4JiZjYSh0aGlzKTt9ZnVuY3Rpb24gY2EoZil7dmFyIGQ9Zi5idWZmZXIsYyxlPWQubGVuZ3RoLGI9bmV3IChDP1VpbnQ4QXJyYXk6QXJyYXkpKGU8PDEpO2lmKEMpYi5zZXQoZCk7ZWxzZSBmb3IoYz0wO2M8ZTsrK2MpYltjXT1kW2NdO3JldHVybiBmLmJ1ZmZlcj1ifQogICAgCUsucHJvdG90eXBlLmI9ZnVuY3Rpb24oZixkLGMpe3ZhciBlPXRoaXMuYnVmZmVyLGI9dGhpcy5pbmRleCxhPXRoaXMuZSxnPWVbYl0sbTtjJiYxPGQmJihmPTg8ZD8oTFtmJjI1NV08PDI0fExbZj4+PjgmMjU1XTw8MTZ8TFtmPj4+MTYmMjU1XTw8OHxMW2Y+Pj4yNCYyNTVdKT4+MzItZDpMW2ZdPj44LWQpO2lmKDg+ZCthKWc9Zzw8ZHxmLGErPWQ7ZWxzZSBmb3IobT0wO208ZDsrK20pZz1nPDwxfGY+PmQtbS0xJjEsOD09PSsrYSYmKGE9MCxlW2IrK109TFtnXSxnPTAsYj09PWUubGVuZ3RoJiYoZT1jYSh0aGlzKSkpO2VbYl09Zzt0aGlzLmJ1ZmZlcj1lO3RoaXMuZT1hO3RoaXMuaW5kZXg9Yjt9O0sucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3ZhciBmPXRoaXMuYnVmZmVyLGQ9dGhpcy5pbmRleCxjOzA8dGhpcy5lJiYoZltkXTw8PTgtdGhpcy5lLGZbZF09TFtmW2RdXSxkKyspO0M/Yz1mLnN1YmFycmF5KDAsZCk6KGYubGVuZ3RoPWQsYz1mKTtyZXR1cm4gY307CiAgICAJdmFyIGRhPW5ldyAoQz9VaW50OEFycmF5OkFycmF5KSgyNTYpLE07Zm9yKE09MDsyNTY+TTsrK00pe2Zvcih2YXIgTj1NLFM9TixlYT03LE49Tj4+PjE7TjtOPj4+PTEpUzw8PTEsU3w9TiYxLC0tZWE7ZGFbTV09KFM8PGVhJjI1NSk+Pj4wO312YXIgTD1kYTtmdW5jdGlvbiBpYShmKXt0aGlzLmJ1ZmZlcj1uZXcgKEM/VWludDE2QXJyYXk6QXJyYXkpKDIqZik7dGhpcy5sZW5ndGg9MDt9aWEucHJvdG90eXBlLmdldFBhcmVudD1mdW5jdGlvbihmKXtyZXR1cm4gMiooKGYtMikvNHwwKX07aWEucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZixkKXt2YXIgYyxlLGI9dGhpcy5idWZmZXIsYTtjPXRoaXMubGVuZ3RoO2JbdGhpcy5sZW5ndGgrK109ZDtmb3IoYlt0aGlzLmxlbmd0aCsrXT1mOzA8YzspaWYoZT10aGlzLmdldFBhcmVudChjKSxiW2NdPmJbZV0pYT1iW2NdLGJbY109YltlXSxiW2VdPWEsYT1iW2MrMV0sYltjKzFdPWJbZSsxXSxiW2UrMV09YSxjPWU7ZWxzZSBicmVhaztyZXR1cm4gdGhpcy5sZW5ndGh9OwogICAgCWlhLnByb3RvdHlwZS5wb3A9ZnVuY3Rpb24oKXt2YXIgZixkLGM9dGhpcy5idWZmZXIsZSxiLGE7ZD1jWzBdO2Y9Y1sxXTt0aGlzLmxlbmd0aC09MjtjWzBdPWNbdGhpcy5sZW5ndGhdO2NbMV09Y1t0aGlzLmxlbmd0aCsxXTtmb3IoYT0wOzspe2I9MiphKzI7aWYoYj49dGhpcy5sZW5ndGgpYnJlYWs7YisyPHRoaXMubGVuZ3RoJiZjW2IrMl0+Y1tiXSYmKGIrPTIpO2lmKGNbYl0+Y1thXSllPWNbYV0sY1thXT1jW2JdLGNbYl09ZSxlPWNbYSsxXSxjW2ErMV09Y1tiKzFdLGNbYisxXT1lO2Vsc2UgYnJlYWs7YT1iO31yZXR1cm4ge2luZGV4OmYsdmFsdWU6ZCxsZW5ndGg6dGhpcy5sZW5ndGh9fTtmdW5jdGlvbiBrYShmLGQpe3RoaXMuZD1sYTt0aGlzLmk9MDt0aGlzLmlucHV0PUMmJmYgaW5zdGFuY2VvZiBBcnJheT9uZXcgVWludDhBcnJheShmKTpmO3RoaXMuYz0wO2QmJihkLmxhenkmJih0aGlzLmk9ZC5sYXp5KSwibnVtYmVyIj09PXR5cGVvZiBkLmNvbXByZXNzaW9uVHlwZSYmKHRoaXMuZD1kLmNvbXByZXNzaW9uVHlwZSksZC5vdXRwdXRCdWZmZXImJih0aGlzLmE9QyYmZC5vdXRwdXRCdWZmZXIgaW5zdGFuY2VvZiBBcnJheT9uZXcgVWludDhBcnJheShkLm91dHB1dEJ1ZmZlcik6ZC5vdXRwdXRCdWZmZXIpLCJudW1iZXIiPT09dHlwZW9mIGQub3V0cHV0SW5kZXgmJih0aGlzLmM9ZC5vdXRwdXRJbmRleCkpO3RoaXMuYXx8KHRoaXMuYT1uZXcgKEM/VWludDhBcnJheTpBcnJheSkoMzI3NjgpKTt9dmFyIGxhPTIsbmE9e05PTkU6MCxoOjEsZzpsYSxuOjN9LFQ9W10sVTsKICAgIAlmb3IoVT0wOzI4OD5VO1UrKylzd2l0Y2godyl7Y2FzZSAxNDM+PVU6VC5wdXNoKFtVKzQ4LDhdKTticmVhaztjYXNlIDI1NT49VTpULnB1c2goW1UtMTQ0KzQwMCw5XSk7YnJlYWs7Y2FzZSAyNzk+PVU6VC5wdXNoKFtVLTI1NiswLDddKTticmVhaztjYXNlIDI4Nz49VTpULnB1c2goW1UtMjgwKzE5Miw4XSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyAiaW52YWxpZCBsaXRlcmFsOiAiK1U7fQogICAgCWthLnByb3RvdHlwZS5mPWZ1bmN0aW9uKCl7dmFyIGYsZCxjLGUsYj10aGlzLmlucHV0O3N3aXRjaCh0aGlzLmQpe2Nhc2UgMDpjPTA7Zm9yKGU9Yi5sZW5ndGg7YzxlOyl7ZD1DP2Iuc3ViYXJyYXkoYyxjKzY1NTM1KTpiLnNsaWNlKGMsYys2NTUzNSk7Yys9ZC5sZW5ndGg7dmFyIGE9ZCxnPWM9PT1lLG09bixrPW4scD1uLHQ9bix1PW4sbD10aGlzLmEsaD10aGlzLmM7aWYoQyl7Zm9yKGw9bmV3IFVpbnQ4QXJyYXkodGhpcy5hLmJ1ZmZlcik7bC5sZW5ndGg8PWgrYS5sZW5ndGgrNTspbD1uZXcgVWludDhBcnJheShsLmxlbmd0aDw8MSk7bC5zZXQodGhpcy5hKTt9bT1nPzE6MDtsW2grK109bXwwO2s9YS5sZW5ndGg7cD1+ays2NTUzNiY2NTUzNTtsW2grK109ayYyNTU7bFtoKytdPWs+Pj44JjI1NTtsW2grK109cCYyNTU7bFtoKytdPXA+Pj44JjI1NTtpZihDKWwuc2V0KGEsaCksaCs9YS5sZW5ndGgsbD1sLnN1YmFycmF5KDAsaCk7ZWxzZSB7dD0wO2Zvcih1PWEubGVuZ3RoO3Q8dTsrK3QpbFtoKytdPQogICAgCWFbdF07bC5sZW5ndGg9aDt9dGhpcy5jPWg7dGhpcy5hPWw7fWJyZWFrO2Nhc2UgMTp2YXIgcT1uZXcgSyhDP25ldyBVaW50OEFycmF5KHRoaXMuYS5idWZmZXIpOnRoaXMuYSx0aGlzLmMpO3EuYigxLDEsdyk7cS5iKDEsMix3KTt2YXIgcz1vYSh0aGlzLGIpLHgsZmEsejt4PTA7Zm9yKGZhPXMubGVuZ3RoO3g8ZmE7eCsrKWlmKHo9c1t4XSxLLnByb3RvdHlwZS5iLmFwcGx5KHEsVFt6XSksMjU2PHopcS5iKHNbKyt4XSxzWysreF0sdykscS5iKHNbKyt4XSw1KSxxLmIoc1srK3hdLHNbKyt4XSx3KTtlbHNlIGlmKDI1Nj09PXopYnJlYWs7dGhpcy5hPXEuZmluaXNoKCk7dGhpcy5jPXRoaXMuYS5sZW5ndGg7YnJlYWs7Y2FzZSBsYTp2YXIgQj1uZXcgSyhDP25ldyBVaW50OEFycmF5KHRoaXMuYS5idWZmZXIpOnRoaXMuYSx0aGlzLmMpLHRhLEosTyxQLFEsTGE9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLFgsdWEsWSx2YSxnYSxqYT1BcnJheSgxOSksCiAgICAJd2EsUixoYSx5LHhhO3RhPWxhO0IuYigxLDEsdyk7Qi5iKHRhLDIsdyk7Sj1vYSh0aGlzLGIpO1g9cGEodGhpcy5tLDE1KTt1YT1xYShYKTtZPXBhKHRoaXMubCw3KTt2YT1xYShZKTtmb3IoTz0yODY7MjU3PE8mJjA9PT1YW08tMV07Ty0tKTtmb3IoUD0zMDsxPFAmJjA9PT1ZW1AtMV07UC0tKTt2YXIgeWE9Tyx6YT1QLEY9bmV3IChDP1VpbnQzMkFycmF5OkFycmF5KSh5YSt6YSkscixHLHYsWixFPW5ldyAoQz9VaW50MzJBcnJheTpBcnJheSkoMzE2KSxELEEsSD1uZXcgKEM/VWludDhBcnJheTpBcnJheSkoMTkpO2ZvcihyPUc9MDtyPHlhO3IrKylGW0crK109WFtyXTtmb3Iocj0wO3I8emE7cisrKUZbRysrXT1ZW3JdO2lmKCFDKXtyPTA7Zm9yKFo9SC5sZW5ndGg7cjxaOysrcilIW3JdPTA7fXI9RD0wO2ZvcihaPUYubGVuZ3RoO3I8WjtyKz1HKXtmb3IoRz0xO3IrRzxaJiZGW3IrR109PT1GW3JdOysrRyk7dj1HO2lmKDA9PT1GW3JdKWlmKDM+dilmb3IoOzA8di0tOylFW0QrK109MCwKICAgIAlIWzBdKys7ZWxzZSBmb3IoOzA8djspQT0xMzg+dj92OjEzOCxBPnYtMyYmQTx2JiYoQT12LTMpLDEwPj1BPyhFW0QrK109MTcsRVtEKytdPUEtMyxIWzE3XSsrKTooRVtEKytdPTE4LEVbRCsrXT1BLTExLEhbMThdKyspLHYtPUE7ZWxzZSBpZihFW0QrK109RltyXSxIW0Zbcl1dKyssdi0tLDM+dilmb3IoOzA8di0tOylFW0QrK109RltyXSxIW0Zbcl1dKys7ZWxzZSBmb3IoOzA8djspQT02PnY/djo2LEE+di0zJiZBPHYmJihBPXYtMyksRVtEKytdPTE2LEVbRCsrXT1BLTMsSFsxNl0rKyx2LT1BO31mPUM/RS5zdWJhcnJheSgwLEQpOkUuc2xpY2UoMCxEKTtnYT1wYShILDcpO2Zvcih5PTA7MTk+eTt5KyspamFbeV09Z2FbTGFbeV1dO2ZvcihRPTE5OzQ8USYmMD09PWphW1EtMV07US0tKTt3YT1xYShnYSk7Qi5iKE8tMjU3LDUsdyk7Qi5iKFAtMSw1LHcpO0IuYihRLTQsNCx3KTtmb3IoeT0wO3k8UTt5KyspQi5iKGphW3ldLDMsdyk7eT0wO2Zvcih4YT1mLmxlbmd0aDt5PHhhO3krKylpZihSPQogICAgCWZbeV0sQi5iKHdhW1JdLGdhW1JdLHcpLDE2PD1SKXt5Kys7c3dpdGNoKFIpe2Nhc2UgMTY6aGE9MjticmVhaztjYXNlIDE3OmhhPTM7YnJlYWs7Y2FzZSAxODpoYT03O2JyZWFrO2RlZmF1bHQ6dGhyb3cgImludmFsaWQgY29kZTogIitSO31CLmIoZlt5XSxoYSx3KTt9dmFyIEFhPVt1YSxYXSxCYT1bdmEsWV0sSSxDYSwkLG1hLERhLEVhLEZhLEdhO0RhPUFhWzBdO0VhPUFhWzFdO0ZhPUJhWzBdO0dhPUJhWzFdO0k9MDtmb3IoQ2E9Si5sZW5ndGg7STxDYTsrK0kpaWYoJD1KW0ldLEIuYihEYVskXSxFYVskXSx3KSwyNTY8JClCLmIoSlsrK0ldLEpbKytJXSx3KSxtYT1KWysrSV0sQi5iKEZhW21hXSxHYVttYV0sdyksQi5iKEpbKytJXSxKWysrSV0sdyk7ZWxzZSBpZigyNTY9PT0kKWJyZWFrO3RoaXMuYT1CLmZpbmlzaCgpO3RoaXMuYz10aGlzLmEubGVuZ3RoO2JyZWFrO2RlZmF1bHQ6dGhyb3cgImludmFsaWQgY29tcHJlc3Npb24gdHlwZSI7fXJldHVybiB0aGlzLmF9OwogICAgCWZ1bmN0aW9uIHJhKGYsZCl7dGhpcy5sZW5ndGg9Zjt0aGlzLms9ZDt9CiAgICAJdmFyIHNhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZihiKXtzd2l0Y2godyl7Y2FzZSAzPT09YjpyZXR1cm4gWzI1NyxiLTMsMF07Y2FzZSA0PT09YjpyZXR1cm4gWzI1OCxiLTQsMF07Y2FzZSA1PT09YjpyZXR1cm4gWzI1OSxiLTUsMF07Y2FzZSA2PT09YjpyZXR1cm4gWzI2MCxiLTYsMF07Y2FzZSA3PT09YjpyZXR1cm4gWzI2MSxiLTcsMF07Y2FzZSA4PT09YjpyZXR1cm4gWzI2MixiLTgsMF07Y2FzZSA5PT09YjpyZXR1cm4gWzI2MyxiLTksMF07Y2FzZSAxMD09PWI6cmV0dXJuIFsyNjQsYi0xMCwwXTtjYXNlIDEyPj1iOnJldHVybiBbMjY1LGItMTEsMV07Y2FzZSAxND49YjpyZXR1cm4gWzI2NixiLTEzLDFdO2Nhc2UgMTY+PWI6cmV0dXJuIFsyNjcsYi0xNSwxXTtjYXNlIDE4Pj1iOnJldHVybiBbMjY4LGItMTcsMV07Y2FzZSAyMj49YjpyZXR1cm4gWzI2OSxiLTE5LDJdO2Nhc2UgMjY+PWI6cmV0dXJuIFsyNzAsYi0yMywyXTtjYXNlIDMwPj1iOnJldHVybiBbMjcxLGItMjcsMl07Y2FzZSAzND49YjpyZXR1cm4gWzI3MiwKICAgIAliLTMxLDJdO2Nhc2UgNDI+PWI6cmV0dXJuIFsyNzMsYi0zNSwzXTtjYXNlIDUwPj1iOnJldHVybiBbMjc0LGItNDMsM107Y2FzZSA1OD49YjpyZXR1cm4gWzI3NSxiLTUxLDNdO2Nhc2UgNjY+PWI6cmV0dXJuIFsyNzYsYi01OSwzXTtjYXNlIDgyPj1iOnJldHVybiBbMjc3LGItNjcsNF07Y2FzZSA5OD49YjpyZXR1cm4gWzI3OCxiLTgzLDRdO2Nhc2UgMTE0Pj1iOnJldHVybiBbMjc5LGItOTksNF07Y2FzZSAxMzA+PWI6cmV0dXJuIFsyODAsYi0xMTUsNF07Y2FzZSAxNjI+PWI6cmV0dXJuIFsyODEsYi0xMzEsNV07Y2FzZSAxOTQ+PWI6cmV0dXJuIFsyODIsYi0xNjMsNV07Y2FzZSAyMjY+PWI6cmV0dXJuIFsyODMsYi0xOTUsNV07Y2FzZSAyNTc+PWI6cmV0dXJuIFsyODQsYi0yMjcsNV07Y2FzZSAyNTg9PT1iOnJldHVybiBbMjg1LGItMjU4LDBdO2RlZmF1bHQ6dGhyb3cgImludmFsaWQgbGVuZ3RoOiAiK2I7fX12YXIgZD1bXSxjLGU7Zm9yKGM9MzsyNTg+PWM7YysrKWU9ZihjKSxkW2NdPWVbMl08PDI0fAogICAgCWVbMV08PDE2fGVbMF07cmV0dXJuIGR9KCksSGE9Qz9uZXcgVWludDMyQXJyYXkoc2EpOnNhOwogICAgCWZ1bmN0aW9uIG9hKGYsZCl7ZnVuY3Rpb24gYyhiLGMpe3ZhciBhPWIuayxkPVtdLGU9MCxmO2Y9SGFbYi5sZW5ndGhdO2RbZSsrXT1mJjY1NTM1O2RbZSsrXT1mPj4xNiYyNTU7ZFtlKytdPWY+PjI0O3ZhciBnO3N3aXRjaCh3KXtjYXNlIDE9PT1hOmc9WzAsYS0xLDBdO2JyZWFrO2Nhc2UgMj09PWE6Zz1bMSxhLTIsMF07YnJlYWs7Y2FzZSAzPT09YTpnPVsyLGEtMywwXTticmVhaztjYXNlIDQ9PT1hOmc9WzMsYS00LDBdO2JyZWFrO2Nhc2UgNj49YTpnPVs0LGEtNSwxXTticmVhaztjYXNlIDg+PWE6Zz1bNSxhLTcsMV07YnJlYWs7Y2FzZSAxMj49YTpnPVs2LGEtOSwyXTticmVhaztjYXNlIDE2Pj1hOmc9WzcsYS0xMywyXTticmVhaztjYXNlIDI0Pj1hOmc9WzgsYS0xNywzXTticmVhaztjYXNlIDMyPj1hOmc9WzksYS0yNSwzXTticmVhaztjYXNlIDQ4Pj1hOmc9WzEwLGEtMzMsNF07YnJlYWs7Y2FzZSA2ND49YTpnPVsxMSxhLTQ5LDRdO2JyZWFrO2Nhc2UgOTY+PWE6Zz1bMTIsYS0KICAgIAk2NSw1XTticmVhaztjYXNlIDEyOD49YTpnPVsxMyxhLTk3LDVdO2JyZWFrO2Nhc2UgMTkyPj1hOmc9WzE0LGEtMTI5LDZdO2JyZWFrO2Nhc2UgMjU2Pj1hOmc9WzE1LGEtMTkzLDZdO2JyZWFrO2Nhc2UgMzg0Pj1hOmc9WzE2LGEtMjU3LDddO2JyZWFrO2Nhc2UgNTEyPj1hOmc9WzE3LGEtMzg1LDddO2JyZWFrO2Nhc2UgNzY4Pj1hOmc9WzE4LGEtNTEzLDhdO2JyZWFrO2Nhc2UgMTAyND49YTpnPVsxOSxhLTc2OSw4XTticmVhaztjYXNlIDE1MzY+PWE6Zz1bMjAsYS0xMDI1LDldO2JyZWFrO2Nhc2UgMjA0OD49YTpnPVsyMSxhLTE1MzcsOV07YnJlYWs7Y2FzZSAzMDcyPj1hOmc9WzIyLGEtMjA0OSwxMF07YnJlYWs7Y2FzZSA0MDk2Pj1hOmc9WzIzLGEtMzA3MywxMF07YnJlYWs7Y2FzZSA2MTQ0Pj1hOmc9WzI0LGEtNDA5NywxMV07YnJlYWs7Y2FzZSA4MTkyPj1hOmc9WzI1LGEtNjE0NSwxMV07YnJlYWs7Y2FzZSAxMjI4OD49YTpnPVsyNixhLTgxOTMsMTJdO2JyZWFrO2Nhc2UgMTYzODQ+PQogICAgCWE6Zz1bMjcsYS0xMjI4OSwxMl07YnJlYWs7Y2FzZSAyNDU3Nj49YTpnPVsyOCxhLTE2Mzg1LDEzXTticmVhaztjYXNlIDMyNzY4Pj1hOmc9WzI5LGEtMjQ1NzcsMTNdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgImludmFsaWQgZGlzdGFuY2UiO31mPWc7ZFtlKytdPWZbMF07ZFtlKytdPWZbMV07ZFtlKytdPWZbMl07dmFyIGssbTtrPTA7Zm9yKG09ZC5sZW5ndGg7azxtOysraylsW2grK109ZFtrXTtzW2RbMF1dKys7eFtkWzNdXSsrO3E9Yi5sZW5ndGgrYy0xO3U9bnVsbDt9dmFyIGUsYixhLGcsbSxrPXt9LHAsdCx1LGw9Qz9uZXcgVWludDE2QXJyYXkoMipkLmxlbmd0aCk6W10saD0wLHE9MCxzPW5ldyAoQz9VaW50MzJBcnJheTpBcnJheSkoMjg2KSx4PW5ldyAoQz9VaW50MzJBcnJheTpBcnJheSkoMzApLGZhPWYuaSx6O2lmKCFDKXtmb3IoYT0wOzI4NT49YTspc1thKytdPTA7Zm9yKGE9MDsyOT49YTspeFthKytdPTA7fXNbMjU2XT0xO2U9MDtmb3IoYj1kLmxlbmd0aDtlPGI7KytlKXthPQogICAgCW09MDtmb3IoZz0zO2E8ZyYmZSthIT09YjsrK2EpbT1tPDw4fGRbZSthXTtrW21dPT09biYmKGtbbV09W10pO3A9a1ttXTtpZighKDA8cS0tKSl7Zm9yKDswPHAubGVuZ3RoJiYzMjc2ODxlLXBbMF07KXAuc2hpZnQoKTtpZihlKzM+PWIpe3UmJmModSwtMSk7YT0wO2ZvcihnPWItZTthPGc7KythKXo9ZFtlK2FdLGxbaCsrXT16LCsrc1t6XTticmVha30wPHAubGVuZ3RoPyh0PUlhKGQsZSxwKSx1P3UubGVuZ3RoPHQubGVuZ3RoPyh6PWRbZS0xXSxsW2grK109eiwrK3Nbel0sYyh0LDApKTpjKHUsLTEpOnQubGVuZ3RoPGZhP3U9dDpjKHQsMCkpOnU/Yyh1LC0xKTooej1kW2VdLGxbaCsrXT16LCsrc1t6XSk7fXAucHVzaChlKTt9bFtoKytdPTI1NjtzWzI1Nl0rKztmLm09cztmLmw9eDtyZXR1cm4gQz9sLnN1YmFycmF5KDAsaCk6bH0KICAgIAlmdW5jdGlvbiBJYShmLGQsYyl7dmFyIGUsYixhPTAsZyxtLGsscCx0PWYubGVuZ3RoO209MDtwPWMubGVuZ3RoO2E6Zm9yKDttPHA7bSsrKXtlPWNbcC1tLTFdO2c9MztpZigzPGEpe2ZvcihrPWE7MzxrO2stLSlpZihmW2Uray0xXSE9PWZbZCtrLTFdKWNvbnRpbnVlIGE7Zz1hO31mb3IoOzI1OD5nJiZkK2c8dCYmZltlK2ddPT09ZltkK2ddOykrK2c7Zz5hJiYoYj1lLGE9Zyk7aWYoMjU4PT09ZylicmVha31yZXR1cm4gbmV3IHJhKGEsZC1iKX0KICAgIAlmdW5jdGlvbiBwYShmLGQpe3ZhciBjPWYubGVuZ3RoLGU9bmV3IGlhKDU3MiksYj1uZXcgKEM/VWludDhBcnJheTpBcnJheSkoYyksYSxnLG0sayxwO2lmKCFDKWZvcihrPTA7azxjO2srKyliW2tdPTA7Zm9yKGs9MDtrPGM7KytrKTA8ZltrXSYmZS5wdXNoKGssZltrXSk7YT1BcnJheShlLmxlbmd0aC8yKTtnPW5ldyAoQz9VaW50MzJBcnJheTpBcnJheSkoZS5sZW5ndGgvMik7aWYoMT09PWEubGVuZ3RoKXJldHVybiBiW2UucG9wKCkuaW5kZXhdPTEsYjtrPTA7Zm9yKHA9ZS5sZW5ndGgvMjtrPHA7KytrKWFba109ZS5wb3AoKSxnW2tdPWFba10udmFsdWU7bT1KYShnLGcubGVuZ3RoLGQpO2s9MDtmb3IocD1hLmxlbmd0aDtrPHA7KytrKWJbYVtrXS5pbmRleF09bVtrXTtyZXR1cm4gYn0KICAgIAlmdW5jdGlvbiBKYShmLGQsYyl7ZnVuY3Rpb24gZShhKXt2YXIgYj1rW2FdW3BbYV1dO2I9PT1kPyhlKGErMSksZShhKzEpKTotLWdbYl07KytwW2FdO312YXIgYj1uZXcgKEM/VWludDE2QXJyYXk6QXJyYXkpKGMpLGE9bmV3IChDP1VpbnQ4QXJyYXk6QXJyYXkpKGMpLGc9bmV3IChDP1VpbnQ4QXJyYXk6QXJyYXkpKGQpLG09QXJyYXkoYyksaz1BcnJheShjKSxwPUFycmF5KGMpLHQ9KDE8PGMpLWQsdT0xPDxjLTEsbCxoLHEscyx4O2JbYy0xXT1kO2ZvcihoPTA7aDxjOysraCl0PHU/YVtoXT0wOihhW2hdPTEsdC09dSksdDw8PTEsYltjLTItaF09KGJbYy0xLWhdLzJ8MCkrZDtiWzBdPWFbMF07bVswXT1BcnJheShiWzBdKTtrWzBdPUFycmF5KGJbMF0pO2ZvcihoPTE7aDxjOysraCliW2hdPjIqYltoLTFdK2FbaF0mJihiW2hdPTIqYltoLTFdK2FbaF0pLG1baF09QXJyYXkoYltoXSksa1toXT1BcnJheShiW2hdKTtmb3IobD0wO2w8ZDsrK2wpZ1tsXT1jO2ZvcihxPTA7cTxiW2MtMV07KytxKW1bYy0KICAgIAkxXVtxXT1mW3FdLGtbYy0xXVtxXT1xO2ZvcihsPTA7bDxjOysrbClwW2xdPTA7MT09PWFbYy0xXSYmKC0tZ1swXSwrK3BbYy0xXSk7Zm9yKGg9Yy0yOzA8PWg7LS1oKXtzPWw9MDt4PXBbaCsxXTtmb3IocT0wO3E8YltoXTtxKyspcz1tW2grMV1beF0rbVtoKzFdW3grMV0scz5mW2xdPyhtW2hdW3FdPXMsa1toXVtxXT1kLHgrPTIpOihtW2hdW3FdPWZbbF0sa1toXVtxXT1sLCsrbCk7cFtoXT0wOzE9PT1hW2hdJiZlKGgpO31yZXR1cm4gZ30KICAgIAlmdW5jdGlvbiBxYShmKXt2YXIgZD1uZXcgKEM/VWludDE2QXJyYXk6QXJyYXkpKGYubGVuZ3RoKSxjPVtdLGU9W10sYj0wLGEsZyxtLGs7YT0wO2ZvcihnPWYubGVuZ3RoO2E8ZzthKyspY1tmW2FdXT0oY1tmW2FdXXwwKSsxO2E9MTtmb3IoZz0xNjthPD1nO2ErKyllW2FdPWIsYis9Y1thXXwwLGI8PD0xO2E9MDtmb3IoZz1mLmxlbmd0aDthPGc7YSsrKXtiPWVbZlthXV07ZVtmW2FdXSs9MTttPWRbYV09MDtmb3Ioaz1mW2FdO208azttKyspZFthXT1kW2FdPDwxfGImMSxiPj4+PTE7fXJldHVybiBkfWZ1bmN0aW9uIEthKGYsZCl7dGhpcy5pbnB1dD1mO3RoaXMuYT1uZXcgKEM/VWludDhBcnJheTpBcnJheSkoMzI3NjgpO3RoaXMuZD1WLmc7dmFyIGM9e30sZTtpZigoZHx8IShkPXt9KSkmJiJudW1iZXIiPT09dHlwZW9mIGQuY29tcHJlc3Npb25UeXBlKXRoaXMuZD1kLmNvbXByZXNzaW9uVHlwZTtmb3IoZSBpbiBkKWNbZV09ZFtlXTtjLm91dHB1dEJ1ZmZlcj10aGlzLmE7dGhpcy5qPW5ldyBrYSh0aGlzLmlucHV0LGMpO312YXIgVj1uYTsKICAgIAlLYS5wcm90b3R5cGUuZj1mdW5jdGlvbigpe3ZhciBmLGQsYyxlLGIsYSxnPTA7YT10aGlzLmE7c3dpdGNoKDgpe2Nhc2UgODpmPU1hdGguTE9HMkUqTWF0aC5sb2coMzI3NjgpLTg7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiaW52YWxpZCBjb21wcmVzc2lvbiBtZXRob2QiKTt9ZD1mPDw0fDg7YVtnKytdPWQ7c3dpdGNoKDgpe2Nhc2UgODpzd2l0Y2godGhpcy5kKXtjYXNlIFYuTk9ORTplPTA7YnJlYWs7Y2FzZSBWLmg6ZT0xO2JyZWFrO2Nhc2UgVi5nOmU9MjticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJ1bnN1cHBvcnRlZCBjb21wcmVzc2lvbiB0eXBlIik7fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImludmFsaWQgY29tcHJlc3Npb24gbWV0aG9kIik7fWM9ZTw8NnwwO2FbZysrXT1jfDMxLSgyNTYqZCtjKSUzMTt2YXIgbT10aGlzLmlucHV0O2lmKCJzdHJpbmciPT09dHlwZW9mIG0pe3ZhciBrPW0uc3BsaXQoIiIpLHAsdDtwPTA7Zm9yKHQ9ay5sZW5ndGg7cDx0O3ArKylrW3BdPQogICAgCShrW3BdLmNoYXJDb2RlQXQoMCkmMjU1KT4+PjA7bT1rO31mb3IodmFyIHU9MSxsPTAsaD1tLmxlbmd0aCxxLHM9MDswPGg7KXtxPTEwMjQ8aD8xMDI0Omg7aC09cTtkbyB1Kz1tW3MrK10sbCs9dTt3aGlsZSgtLXEpO3UlPTY1NTIxO2wlPTY1NTIxO31iPShsPDwxNnx1KT4+PjA7dGhpcy5qLmM9ZzthPXRoaXMuai5mKCk7Zz1hLmxlbmd0aDtDJiYoYT1uZXcgVWludDhBcnJheShhLmJ1ZmZlciksYS5sZW5ndGg8PWcrNCYmKHRoaXMuYT1uZXcgVWludDhBcnJheShhLmxlbmd0aCs0KSx0aGlzLmEuc2V0KGEpLGE9dGhpcy5hKSxhPWEuc3ViYXJyYXkoMCxnKzQpKTthW2crK109Yj4+MjQmMjU1O2FbZysrXT1iPj4xNiYyNTU7YVtnKytdPWI+PjgmMjU1O2FbZysrXT1iJjI1NTtyZXR1cm4gYX07YmEoIlpsaWIuRGVmbGF0ZSIsS2EpO2JhKCJabGliLkRlZmxhdGUuY29tcHJlc3MiLGZ1bmN0aW9uKGYsZCl7cmV0dXJuIChuZXcgS2EoZixkKSkuZigpfSk7YmEoIlpsaWIuRGVmbGF0ZS5wcm90b3R5cGUuY29tcHJlc3MiLEthLnByb3RvdHlwZS5mKTt2YXIgTWE9e05PTkU6Vi5OT05FLEZJWEVEOlYuaCxEWU5BTUlDOlYuZ30sTmEsT2EsVyxQYTtpZihPYmplY3Qua2V5cylOYT1PYmplY3Qua2V5cyhNYSk7ZWxzZSBmb3IoT2EgaW4gTmE9W10sVz0wLE1hKU5hW1crK109T2E7Vz0wO2ZvcihQYT1OYS5sZW5ndGg7VzxQYTsrK1cpT2E9TmFbV10sYmEoIlpsaWIuRGVmbGF0ZS5Db21wcmVzc2lvblR5cGUuIitPYSxNYVtPYV0pO30pLmNhbGwobW9kdWxlLmV4cG9ydHMpOyAKICAgIH0gKGRlZmxhdGVfbWluKSk7CgogICAgdmFyIGRlZmxhdGVfbWluRXhwb3J0cyA9IGRlZmxhdGVfbWluLmV4cG9ydHM7CiAgICB2YXIgWkxpYkRlZmxhdGUgPSAvKkBfX1BVUkVfXyovZ2V0RGVmYXVsdEV4cG9ydEZyb21DanMoZGVmbGF0ZV9taW5FeHBvcnRzKTsKCiAgICBmdW5jdGlvbiB0b1VURjhBcnJheShzdHIpIHsKICAgICAgICB2YXIgdXRmOCA9IFtdOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHZhciBjaGFyY29kZSA9IHN0ci5jaGFyQ29kZUF0KGkpOwogICAgICAgICAgICBpZiAoY2hhcmNvZGUgPCAweDgwKQogICAgICAgICAgICAgICAgdXRmOC5wdXNoKGNoYXJjb2RlKTsKICAgICAgICAgICAgZWxzZSBpZiAoY2hhcmNvZGUgPCAweDgwMCkgewogICAgICAgICAgICAgICAgdXRmOC5wdXNoKDB4YzAgfCAoY2hhcmNvZGUgPj4gNiksIDB4ODAgfCAoY2hhcmNvZGUgJiAweDNmKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAoY2hhcmNvZGUgPCAweGQ4MDAgfHwgY2hhcmNvZGUgPj0gMHhlMDAwKSB7CiAgICAgICAgICAgICAgICB1dGY4LnB1c2goMHhlMCB8IChjaGFyY29kZSA+PiAxMiksIDB4ODAgfCAoKGNoYXJjb2RlID4+IDYpICYgMHgzZiksIDB4ODAgfCAoY2hhcmNvZGUgJiAweDNmKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBzdXJyb2dhdGUgcGFpcgogICAgICAgICAgICAgICAgaSsrOwogICAgICAgICAgICAgICAgLy8gVVRGLTE2IGVuY29kZXMgMHgxMDAwMC0weDEwRkZGRiBieQogICAgICAgICAgICAgICAgLy8gc3VidHJhY3RpbmcgMHgxMDAwMCBhbmQgc3BsaXR0aW5nIHRoZQogICAgICAgICAgICAgICAgLy8gMjAgYml0cyBvZiAweDAtMHhGRkZGRiBpbnRvIHR3byBoYWx2ZXMKICAgICAgICAgICAgICAgIGNoYXJjb2RlID0gMHgxMDAwMCArICgoKGNoYXJjb2RlICYgMHgzZmYpIDw8IDEwKSB8CiAgICAgICAgICAgICAgICAgICAgKHN0ci5jaGFyQ29kZUF0KGkpICYgMHgzZmYpKTsKICAgICAgICAgICAgICAgIHV0ZjgucHVzaCgweGYwIHwgKGNoYXJjb2RlID4+IDE4KSwgMHg4MCB8ICgoY2hhcmNvZGUgPj4gMTIpICYgMHgzZiksIDB4ODAgfCAoKGNoYXJjb2RlID4+IDYpICYgMHgzZiksIDB4ODAgfCAoY2hhcmNvZGUgJiAweDNmKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHV0Zjg7CiAgICB9CgogICAgdmFyIFpsaWIgPSB7CiAgICAgICAgJ0RlZmxhdGUnOiBaTGliRGVmbGF0ZS5abGliLkRlZmxhdGUKICAgIH07CiAgICB2YXIgRW5jb2RpbmcgPSB7CiAgICAgICAgJ2Jhc2U2NFVybCc6ICdiYXNlNjR1cmwnLAogICAgICAgICdiaW5hcnknOiAnYmluYXJ5JwogICAgfTsKICAgIGZ1bmN0aW9uIGNvbXByZXNzKGpzb25fb2JqLCBlbmNvZGluZykgewogICAgICAgIGlmICghZW5jb2RpbmcpIHsKICAgICAgICAgICAgZW5jb2RpbmcgPSBFbmNvZGluZy5iYXNlNjRVcmw7CiAgICAgICAgfQogICAgICAgIC8qIC0tIFRoaXMgaXMgWkxJQiAqLwogICAgICAgIHZhciBjb21wcmVzc0RhdGEgPSB0b1VURjhBcnJheSh0eXBlb2YganNvbl9vYmogPT09ICdzdHJpbmcnID8ganNvbl9vYmogOiBKU09OLnN0cmluZ2lmeShqc29uX29iaikpOwogICAgICAgIHZhciBkZWZsYXRlID0gbmV3IFpsaWIuRGVmbGF0ZShjb21wcmVzc0RhdGEpOwogICAgICAgIHZhciBjb21wcmVzc2VkQnl0ZXMgPSBkZWZsYXRlLmNvbXByZXNzKCk7CiAgICAgICAgaWYgKGVuY29kaW5nID09PSBFbmNvZGluZy5iYXNlNjRVcmwpIHsKICAgICAgICAgICAgcmV0dXJuIGI2NC51aW50OFRvQmFzZTY0KGNvbXByZXNzZWRCeXRlcyk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICByZXR1cm4gY29tcHJlc3NlZEJ5dGVzOwogICAgICAgIH0KICAgIH0KCiAgICB2YXIgT05FX0hVTkRSRURfTUJfSU5fQllURVMgPSAxMDAgKiAxMDI0ICogMTAyNDsKICAgIGZ1bmN0aW9uIG1hdGNoSG9zdGVkUmVzb3VyY2VzKHJlY29yZGluZ0V2ZW50LCBzdHJpbmdpZmllZFJlY29yZGluZ1BheWxvYWQpIHsKICAgICAgICB2YXIgZm9udFVSTFJlZ2V4ID0gL2h0dHBzOlwvXC9bXlxzXSs/XC4od29mZnx3b2ZmMnx0dGZ8b3RmfGVvdClcYi9nOwogICAgICAgIHZhciBob3N0ZWRSZXNvdXJjZXMgPSBzdHJpbmdpZmllZFJlY29yZGluZ1BheWxvYWQubWF0Y2goZm9udFVSTFJlZ2V4KTsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICAndHlwZSc6ICdyZWNvcmRpbmcnLAogICAgICAgICAgICAndmlzaXRvcklkJzogcmVjb3JkaW5nRXZlbnQudmlzaXRvcklkLAogICAgICAgICAgICAnYWNjb3VudElkJzogcmVjb3JkaW5nRXZlbnQuYWNjb3VudElkLAogICAgICAgICAgICAna2V5RnJhbWUnOiBmYWxzZSwKICAgICAgICAgICAgJ2xhc3RLZXlGcmFtZSc6IHJlY29yZGluZ0V2ZW50Lmxhc3RLZXlGcmFtZSwKICAgICAgICAgICAgJ3JlY29yZGluZ0lkJzogcmVjb3JkaW5nRXZlbnQucmVjb3JkaW5nSWQsCiAgICAgICAgICAgICdyZWNvcmRpbmdTZXNzaW9uSWQnOiByZWNvcmRpbmdFdmVudC5yZWNvcmRpbmdTZXNzaW9uSWQsCiAgICAgICAgICAgICd1cmwnOiByZWNvcmRpbmdFdmVudC51cmwsCiAgICAgICAgICAgICdzdWJUeXBlJzogJ2hvc3RlZFJlc291cmNlcycsCiAgICAgICAgICAgICdyZWNvcmRpbmdQYXlsb2FkJzogW10sCiAgICAgICAgICAgICdyZWNvcmRpbmdQYXlsb2FkTWV0YWRhdGEnOiBbXSwKICAgICAgICAgICAgJ3NlcXVlbmNlJzogMCwKICAgICAgICAgICAgJ3JlY29yZGluZ1BheWxvYWRDb3VudCc6IDAsCiAgICAgICAgICAgICdob3N0ZWRSZXNvdXJjZXMnOiBob3N0ZWRSZXNvdXJjZXMgfHwgW10KICAgICAgICB9OwogICAgfQogICAgLy8ga2VlcCBpbiBtaW5kIGNoYW5nZXMgaGVyZSBtYXkgbmVlZCBhZGRyZXNzaW5nIGluIHRoZSBleHRlbnNpb24gd29ya2VyIHByb3h5IGFzIHdlbGwKICAgIHNlbGYub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAoZS5kYXRhLnVybCAmJiBlLmRhdGEucGF5bG9hZCkgewogICAgICAgICAgICAgICAgdmFyIF9hID0gZS5kYXRhLCB1cmwgPSBfYS51cmwsIHBheWxvYWQgPSBfYS5wYXlsb2FkLCBzaG91bGRDYWNoZVJlc291cmNlcyA9IF9hLnNob3VsZENhY2hlUmVzb3VyY2VzOwogICAgICAgICAgICAgICAgdmFyIHNlcXVlbmNlXzEgPSBwYXlsb2FkLnNlcXVlbmNlOwogICAgICAgICAgICAgICAgdmFyIHN0cmluZ2lmaWVkUmVjb3JkaW5nUGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KHBheWxvYWQucmVjb3JkaW5nUGF5bG9hZCk7CiAgICAgICAgICAgICAgICAvLyBjYWxjdWxhdGUgYW5kIHBvc3QgYmFjayB0aGUgcmVjb3JkaW5nIHBheWxvYWQgc2l6ZSBiZWZvcmUgdGhlIHBheWxvYWQgaXMgY29tcHJlc3NlZAogICAgICAgICAgICAgICAgdmFyIHJlY29yZGluZ1BheWxvYWRTaXplID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHN0cmluZ2lmaWVkUmVjb3JkaW5nUGF5bG9hZCkubGVuZ3RoOwogICAgICAgICAgICAgICAgdmFyIGV4Y2VlZHNQYXlsb2FkU2l6ZUxpbWl0ID0gcmVjb3JkaW5nUGF5bG9hZFNpemUgPj0gT05FX0hVTkRSRURfTUJfSU5fQllURVM7CiAgICAgICAgICAgICAgICBwb3N0TWVzc2FnZSh7CiAgICAgICAgICAgICAgICAgICAgJ3R5cGUnOiAncmVjb3JkaW5nUGF5bG9hZFNpemUnLAogICAgICAgICAgICAgICAgICAgICdyZWNvcmRpbmdQYXlsb2FkU2l6ZSc6IHJlY29yZGluZ1BheWxvYWRTaXplLAogICAgICAgICAgICAgICAgICAgICdleGNlZWRzUGF5bG9hZFNpemVMaW1pdCc6IGV4Y2VlZHNQYXlsb2FkU2l6ZUxpbWl0CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIC8vIGRvbid0IGF0dGVtcHQgdG8gc2VuZCB0aGUgcGF5bG9hZCBpZiBpdCBleGNlZWRzIHRoZSBhbGxvd2VkIGxpbWl0CiAgICAgICAgICAgICAgICBpZiAoZXhjZWVkc1BheWxvYWRTaXplTGltaXQpCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgaWYgKHNob3VsZENhY2hlUmVzb3VyY2VzKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGhvc3RlZFJlc291cmNlc0V2ZW50ID0gbWF0Y2hIb3N0ZWRSZXNvdXJjZXMocGF5bG9hZCwgc3RyaW5naWZpZWRSZWNvcmRpbmdQYXlsb2FkKTsKICAgICAgICAgICAgICAgICAgICBpZiAoaG9zdGVkUmVzb3VyY2VzRXZlbnQuaG9zdGVkUmVzb3VyY2VzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICBwb3N0TWVzc2FnZSh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZSc6ICdob3N0ZWRSZXNvdXJjZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hvc3RlZFJlc291cmNlc0V2ZW50JzogaG9zdGVkUmVzb3VyY2VzRXZlbnQKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcGF5bG9hZC5yZWNvcmRpbmdTaXplID0gcmVjb3JkaW5nUGF5bG9hZFNpemU7CiAgICAgICAgICAgICAgICB2YXIgYm9keSA9IGNvbXByZXNzKHBheWxvYWQsICdiaW5hcnknKTsKICAgICAgICAgICAgICAgIC8vIHdlIHdhbnQgdG8gY2FsY3VsYXRlIGN0IChjdXJyZW50IHRpbWUpIGFzIGNsb3NlIGFzIHdlIGNhbiB0byB0aGUgYWN0dWFsIFBPU1QgcmVxdWVzdAogICAgICAgICAgICAgICAgLy8gc28gdGhhdCBpdCdzIGFzIGFjY3VyYXRlIGFzIHBvc3NpYmxlCiAgICAgICAgICAgICAgICB1cmwgPSAiIi5jb25jYXQodXJsLCAiJmN0PSIpLmNvbmNhdChuZXcgRGF0ZSgpLmdldFRpbWUoKSk7CiAgICAgICAgICAgICAgICBmZXRjaCh1cmwsIHsKICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJzogJ1BPU1QnLAogICAgICAgICAgICAgICAgICAgICdib2R5JzogYm9keQogICAgICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzIDwgMjAwIHx8IHJlc3BvbnNlLnN0YXR1cyA+PSAzMDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgcG9zdE1lc3NhZ2UoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9yJzogbmV3IEVycm9yKCJyZWNlaXZlZCBzdGF0dXMgY29kZSAiLmNvbmNhdChyZXNwb25zZS5zdGF0dXMsICI6ICIpLmNvbmNhdChyZXNwb25zZS5zdGF0dXNUZXh0KSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhdHVzJzogcmVzcG9uc2Uuc3RhdHVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2U6IHNlcXVlbmNlXzEKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBwb3N0TWVzc2FnZSh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZTogc2VxdWVuY2VfMQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KVsnY2F0Y2gnXShmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgIHBvc3RNZXNzYWdlKHsKICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9yJzogZSwKICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2U6IHNlcXVlbmNlXzEKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIChlKSB7CiAgICAgICAgICAgIHBvc3RNZXNzYWdlKHsKICAgICAgICAgICAgICAgICdlcnJvcic6IGUKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgfTsKCiAgICBleHBvcnRzLm1hdGNoSG9zdGVkUmVzb3VyY2VzID0gbWF0Y2hIb3N0ZWRSZXNvdXJjZXM7CgogICAgcmV0dXJuIGV4cG9ydHM7Cgp9KSh7fSk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPXdvcmtlci5qcy5tYXAKCg==', null, false);
|
|
50163
|
+
var WorkerFactory = /*#__PURE__*/createInlineWorkerFactory(/* rollup-plugin-web-worker-loader */function () {
|
|
50164
|
+
((function (exports) {
|
|
50165
|
+
'__worker_loader_strict__';
|
|
50166
|
+
|
|
50167
|
+
var b64 = (function() {
|
|
50168
|
+
|
|
50169
|
+
var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'.split('');
|
|
50170
|
+
|
|
50171
|
+
return {
|
|
50172
|
+
'uint8ToBase64': uint8ToBase64
|
|
50173
|
+
};
|
|
50174
|
+
|
|
50175
|
+
function uint8ToBase64(uint8) {
|
|
50176
|
+
var i,
|
|
50177
|
+
extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
|
|
50178
|
+
output = '',
|
|
50179
|
+
temp, length;
|
|
50180
|
+
|
|
50181
|
+
function tripletToBase64(num) {
|
|
50182
|
+
return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];
|
|
50183
|
+
}
|
|
50184
|
+
|
|
50185
|
+
// go through the array every three bytes, we'll deal with trailing stuff later
|
|
50186
|
+
for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
|
|
50187
|
+
temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]);
|
|
50188
|
+
output += tripletToBase64(temp);
|
|
50189
|
+
}
|
|
50190
|
+
|
|
50191
|
+
// pad the end with zeros, but make sure to not forget the extra bytes
|
|
50192
|
+
//eslint-disable-next-line default-case
|
|
50193
|
+
switch (extraBytes) {
|
|
50194
|
+
case 1:
|
|
50195
|
+
temp = uint8[uint8.length - 1];
|
|
50196
|
+
output += lookup[temp >> 2];
|
|
50197
|
+
output += lookup[(temp << 4) & 0x3F];
|
|
50198
|
+
break;
|
|
50199
|
+
case 2:
|
|
50200
|
+
temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1]);
|
|
50201
|
+
output += lookup[temp >> 10];
|
|
50202
|
+
output += lookup[(temp >> 4) & 0x3F];
|
|
50203
|
+
output += lookup[(temp << 2) & 0x3F];
|
|
50204
|
+
break;
|
|
50205
|
+
}
|
|
50206
|
+
|
|
50207
|
+
return output;
|
|
50208
|
+
}
|
|
50209
|
+
})();
|
|
50210
|
+
|
|
50211
|
+
function getDefaultExportFromCjs (x) {
|
|
50212
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
50213
|
+
}
|
|
50214
|
+
|
|
50215
|
+
var deflate_min = {exports: {}};
|
|
50216
|
+
|
|
50217
|
+
/*
|
|
50218
|
+
* @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License
|
|
50219
|
+
*/
|
|
50220
|
+
|
|
50221
|
+
(function (module) {
|
|
50222
|
+
(function() {var n=void 0,w=!0,aa=this;function ba(f,d){var c=f.split("."),e=aa;!(c[0]in e)&&e.execScript&&e.execScript("var "+c[0]);for(var b;c.length&&(b=c.shift());)!c.length&&d!==n?e[b]=d:e=e[b]?e[b]:e[b]={};}var C="undefined"!==typeof Uint8Array&&"undefined"!==typeof Uint16Array&&"undefined"!==typeof Uint32Array;function K(f,d){this.index="number"===typeof d?d:0;this.e=0;this.buffer=f instanceof(C?Uint8Array:Array)?f:new (C?Uint8Array:Array)(32768);if(2*this.buffer.length<=this.index)throw Error("invalid index");this.buffer.length<=this.index&&ca(this);}function ca(f){var d=f.buffer,c,e=d.length,b=new (C?Uint8Array:Array)(e<<1);if(C)b.set(d);else for(c=0;c<e;++c)b[c]=d[c];return f.buffer=b}
|
|
50223
|
+
K.prototype.b=function(f,d,c){var e=this.buffer,b=this.index,a=this.e,g=e[b],m;c&&1<d&&(f=8<d?(L[f&255]<<24|L[f>>>8&255]<<16|L[f>>>16&255]<<8|L[f>>>24&255])>>32-d:L[f]>>8-d);if(8>d+a)g=g<<d|f,a+=d;else for(m=0;m<d;++m)g=g<<1|f>>d-m-1&1,8===++a&&(a=0,e[b++]=L[g],g=0,b===e.length&&(e=ca(this)));e[b]=g;this.buffer=e;this.e=a;this.index=b;};K.prototype.finish=function(){var f=this.buffer,d=this.index,c;0<this.e&&(f[d]<<=8-this.e,f[d]=L[f[d]],d++);C?c=f.subarray(0,d):(f.length=d,c=f);return c};
|
|
50224
|
+
var da=new (C?Uint8Array:Array)(256),M;for(M=0;256>M;++M){for(var N=M,S=N,ea=7,N=N>>>1;N;N>>>=1)S<<=1,S|=N&1,--ea;da[M]=(S<<ea&255)>>>0;}var L=da;function ia(f){this.buffer=new (C?Uint16Array:Array)(2*f);this.length=0;}ia.prototype.getParent=function(f){return 2*((f-2)/4|0)};ia.prototype.push=function(f,d){var c,e,b=this.buffer,a;c=this.length;b[this.length++]=d;for(b[this.length++]=f;0<c;)if(e=this.getParent(c),b[c]>b[e])a=b[c],b[c]=b[e],b[e]=a,a=b[c+1],b[c+1]=b[e+1],b[e+1]=a,c=e;else break;return this.length};
|
|
50225
|
+
ia.prototype.pop=function(){var f,d,c=this.buffer,e,b,a;d=c[0];f=c[1];this.length-=2;c[0]=c[this.length];c[1]=c[this.length+1];for(a=0;;){b=2*a+2;if(b>=this.length)break;b+2<this.length&&c[b+2]>c[b]&&(b+=2);if(c[b]>c[a])e=c[a],c[a]=c[b],c[b]=e,e=c[a+1],c[a+1]=c[b+1],c[b+1]=e;else break;a=b;}return {index:f,value:d,length:this.length}};function ka(f,d){this.d=la;this.i=0;this.input=C&&f instanceof Array?new Uint8Array(f):f;this.c=0;d&&(d.lazy&&(this.i=d.lazy),"number"===typeof d.compressionType&&(this.d=d.compressionType),d.outputBuffer&&(this.a=C&&d.outputBuffer instanceof Array?new Uint8Array(d.outputBuffer):d.outputBuffer),"number"===typeof d.outputIndex&&(this.c=d.outputIndex));this.a||(this.a=new (C?Uint8Array:Array)(32768));}var la=2,na={NONE:0,h:1,g:la,n:3},T=[],U;
|
|
50226
|
+
for(U=0;288>U;U++)switch(w){case 143>=U:T.push([U+48,8]);break;case 255>=U:T.push([U-144+400,9]);break;case 279>=U:T.push([U-256+0,7]);break;case 287>=U:T.push([U-280+192,8]);break;default:throw "invalid literal: "+U;}
|
|
50227
|
+
ka.prototype.f=function(){var f,d,c,e,b=this.input;switch(this.d){case 0:c=0;for(e=b.length;c<e;){d=C?b.subarray(c,c+65535):b.slice(c,c+65535);c+=d.length;var a=d,g=c===e,m=n,k=n,p=n,t=n,u=n,l=this.a,h=this.c;if(C){for(l=new Uint8Array(this.a.buffer);l.length<=h+a.length+5;)l=new Uint8Array(l.length<<1);l.set(this.a);}m=g?1:0;l[h++]=m|0;k=a.length;p=~k+65536&65535;l[h++]=k&255;l[h++]=k>>>8&255;l[h++]=p&255;l[h++]=p>>>8&255;if(C)l.set(a,h),h+=a.length,l=l.subarray(0,h);else {t=0;for(u=a.length;t<u;++t)l[h++]=
|
|
50228
|
+
a[t];l.length=h;}this.c=h;this.a=l;}break;case 1:var q=new K(C?new Uint8Array(this.a.buffer):this.a,this.c);q.b(1,1,w);q.b(1,2,w);var s=oa(this,b),x,fa,z;x=0;for(fa=s.length;x<fa;x++)if(z=s[x],K.prototype.b.apply(q,T[z]),256<z)q.b(s[++x],s[++x],w),q.b(s[++x],5),q.b(s[++x],s[++x],w);else if(256===z)break;this.a=q.finish();this.c=this.a.length;break;case la:var B=new K(C?new Uint8Array(this.a.buffer):this.a,this.c),ta,J,O,P,Q,La=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],X,ua,Y,va,ga,ja=Array(19),
|
|
50229
|
+
wa,R,ha,y,xa;ta=la;B.b(1,1,w);B.b(ta,2,w);J=oa(this,b);X=pa(this.m,15);ua=qa(X);Y=pa(this.l,7);va=qa(Y);for(O=286;257<O&&0===X[O-1];O--);for(P=30;1<P&&0===Y[P-1];P--);var ya=O,za=P,F=new (C?Uint32Array:Array)(ya+za),r,G,v,Z,E=new (C?Uint32Array:Array)(316),D,A,H=new (C?Uint8Array:Array)(19);for(r=G=0;r<ya;r++)F[G++]=X[r];for(r=0;r<za;r++)F[G++]=Y[r];if(!C){r=0;for(Z=H.length;r<Z;++r)H[r]=0;}r=D=0;for(Z=F.length;r<Z;r+=G){for(G=1;r+G<Z&&F[r+G]===F[r];++G);v=G;if(0===F[r])if(3>v)for(;0<v--;)E[D++]=0,
|
|
50230
|
+
H[0]++;else for(;0<v;)A=138>v?v:138,A>v-3&&A<v&&(A=v-3),10>=A?(E[D++]=17,E[D++]=A-3,H[17]++):(E[D++]=18,E[D++]=A-11,H[18]++),v-=A;else if(E[D++]=F[r],H[F[r]]++,v--,3>v)for(;0<v--;)E[D++]=F[r],H[F[r]]++;else for(;0<v;)A=6>v?v:6,A>v-3&&A<v&&(A=v-3),E[D++]=16,E[D++]=A-3,H[16]++,v-=A;}f=C?E.subarray(0,D):E.slice(0,D);ga=pa(H,7);for(y=0;19>y;y++)ja[y]=ga[La[y]];for(Q=19;4<Q&&0===ja[Q-1];Q--);wa=qa(ga);B.b(O-257,5,w);B.b(P-1,5,w);B.b(Q-4,4,w);for(y=0;y<Q;y++)B.b(ja[y],3,w);y=0;for(xa=f.length;y<xa;y++)if(R=
|
|
50231
|
+
f[y],B.b(wa[R],ga[R],w),16<=R){y++;switch(R){case 16:ha=2;break;case 17:ha=3;break;case 18:ha=7;break;default:throw "invalid code: "+R;}B.b(f[y],ha,w);}var Aa=[ua,X],Ba=[va,Y],I,Ca,$,ma,Da,Ea,Fa,Ga;Da=Aa[0];Ea=Aa[1];Fa=Ba[0];Ga=Ba[1];I=0;for(Ca=J.length;I<Ca;++I)if($=J[I],B.b(Da[$],Ea[$],w),256<$)B.b(J[++I],J[++I],w),ma=J[++I],B.b(Fa[ma],Ga[ma],w),B.b(J[++I],J[++I],w);else if(256===$)break;this.a=B.finish();this.c=this.a.length;break;default:throw "invalid compression type";}return this.a};
|
|
50232
|
+
function ra(f,d){this.length=f;this.k=d;}
|
|
50233
|
+
var sa=function(){function f(b){switch(w){case 3===b:return [257,b-3,0];case 4===b:return [258,b-4,0];case 5===b:return [259,b-5,0];case 6===b:return [260,b-6,0];case 7===b:return [261,b-7,0];case 8===b:return [262,b-8,0];case 9===b:return [263,b-9,0];case 10===b:return [264,b-10,0];case 12>=b:return [265,b-11,1];case 14>=b:return [266,b-13,1];case 16>=b:return [267,b-15,1];case 18>=b:return [268,b-17,1];case 22>=b:return [269,b-19,2];case 26>=b:return [270,b-23,2];case 30>=b:return [271,b-27,2];case 34>=b:return [272,
|
|
50234
|
+
b-31,2];case 42>=b:return [273,b-35,3];case 50>=b:return [274,b-43,3];case 58>=b:return [275,b-51,3];case 66>=b:return [276,b-59,3];case 82>=b:return [277,b-67,4];case 98>=b:return [278,b-83,4];case 114>=b:return [279,b-99,4];case 130>=b:return [280,b-115,4];case 162>=b:return [281,b-131,5];case 194>=b:return [282,b-163,5];case 226>=b:return [283,b-195,5];case 257>=b:return [284,b-227,5];case 258===b:return [285,b-258,0];default:throw "invalid length: "+b;}}var d=[],c,e;for(c=3;258>=c;c++)e=f(c),d[c]=e[2]<<24|
|
|
50235
|
+
e[1]<<16|e[0];return d}(),Ha=C?new Uint32Array(sa):sa;
|
|
50236
|
+
function oa(f,d){function c(b,c){var a=b.k,d=[],e=0,f;f=Ha[b.length];d[e++]=f&65535;d[e++]=f>>16&255;d[e++]=f>>24;var g;switch(w){case 1===a:g=[0,a-1,0];break;case 2===a:g=[1,a-2,0];break;case 3===a:g=[2,a-3,0];break;case 4===a:g=[3,a-4,0];break;case 6>=a:g=[4,a-5,1];break;case 8>=a:g=[5,a-7,1];break;case 12>=a:g=[6,a-9,2];break;case 16>=a:g=[7,a-13,2];break;case 24>=a:g=[8,a-17,3];break;case 32>=a:g=[9,a-25,3];break;case 48>=a:g=[10,a-33,4];break;case 64>=a:g=[11,a-49,4];break;case 96>=a:g=[12,a-
|
|
50237
|
+
65,5];break;case 128>=a:g=[13,a-97,5];break;case 192>=a:g=[14,a-129,6];break;case 256>=a:g=[15,a-193,6];break;case 384>=a:g=[16,a-257,7];break;case 512>=a:g=[17,a-385,7];break;case 768>=a:g=[18,a-513,8];break;case 1024>=a:g=[19,a-769,8];break;case 1536>=a:g=[20,a-1025,9];break;case 2048>=a:g=[21,a-1537,9];break;case 3072>=a:g=[22,a-2049,10];break;case 4096>=a:g=[23,a-3073,10];break;case 6144>=a:g=[24,a-4097,11];break;case 8192>=a:g=[25,a-6145,11];break;case 12288>=a:g=[26,a-8193,12];break;case 16384>=
|
|
50238
|
+
a:g=[27,a-12289,12];break;case 24576>=a:g=[28,a-16385,13];break;case 32768>=a:g=[29,a-24577,13];break;default:throw "invalid distance";}f=g;d[e++]=f[0];d[e++]=f[1];d[e++]=f[2];var k,m;k=0;for(m=d.length;k<m;++k)l[h++]=d[k];s[d[0]]++;x[d[3]]++;q=b.length+c-1;u=null;}var e,b,a,g,m,k={},p,t,u,l=C?new Uint16Array(2*d.length):[],h=0,q=0,s=new (C?Uint32Array:Array)(286),x=new (C?Uint32Array:Array)(30),fa=f.i,z;if(!C){for(a=0;285>=a;)s[a++]=0;for(a=0;29>=a;)x[a++]=0;}s[256]=1;e=0;for(b=d.length;e<b;++e){a=
|
|
50239
|
+
m=0;for(g=3;a<g&&e+a!==b;++a)m=m<<8|d[e+a];k[m]===n&&(k[m]=[]);p=k[m];if(!(0<q--)){for(;0<p.length&&32768<e-p[0];)p.shift();if(e+3>=b){u&&c(u,-1);a=0;for(g=b-e;a<g;++a)z=d[e+a],l[h++]=z,++s[z];break}0<p.length?(t=Ia(d,e,p),u?u.length<t.length?(z=d[e-1],l[h++]=z,++s[z],c(t,0)):c(u,-1):t.length<fa?u=t:c(t,0)):u?c(u,-1):(z=d[e],l[h++]=z,++s[z]);}p.push(e);}l[h++]=256;s[256]++;f.m=s;f.l=x;return C?l.subarray(0,h):l}
|
|
50240
|
+
function Ia(f,d,c){var e,b,a=0,g,m,k,p,t=f.length;m=0;p=c.length;a:for(;m<p;m++){e=c[p-m-1];g=3;if(3<a){for(k=a;3<k;k--)if(f[e+k-1]!==f[d+k-1])continue a;g=a;}for(;258>g&&d+g<t&&f[e+g]===f[d+g];)++g;g>a&&(b=e,a=g);if(258===g)break}return new ra(a,d-b)}
|
|
50241
|
+
function pa(f,d){var c=f.length,e=new ia(572),b=new (C?Uint8Array:Array)(c),a,g,m,k,p;if(!C)for(k=0;k<c;k++)b[k]=0;for(k=0;k<c;++k)0<f[k]&&e.push(k,f[k]);a=Array(e.length/2);g=new (C?Uint32Array:Array)(e.length/2);if(1===a.length)return b[e.pop().index]=1,b;k=0;for(p=e.length/2;k<p;++k)a[k]=e.pop(),g[k]=a[k].value;m=Ja(g,g.length,d);k=0;for(p=a.length;k<p;++k)b[a[k].index]=m[k];return b}
|
|
50242
|
+
function Ja(f,d,c){function e(a){var b=k[a][p[a]];b===d?(e(a+1),e(a+1)):--g[b];++p[a];}var b=new (C?Uint16Array:Array)(c),a=new (C?Uint8Array:Array)(c),g=new (C?Uint8Array:Array)(d),m=Array(c),k=Array(c),p=Array(c),t=(1<<c)-d,u=1<<c-1,l,h,q,s,x;b[c-1]=d;for(h=0;h<c;++h)t<u?a[h]=0:(a[h]=1,t-=u),t<<=1,b[c-2-h]=(b[c-1-h]/2|0)+d;b[0]=a[0];m[0]=Array(b[0]);k[0]=Array(b[0]);for(h=1;h<c;++h)b[h]>2*b[h-1]+a[h]&&(b[h]=2*b[h-1]+a[h]),m[h]=Array(b[h]),k[h]=Array(b[h]);for(l=0;l<d;++l)g[l]=c;for(q=0;q<b[c-1];++q)m[c-
|
|
50243
|
+
1][q]=f[q],k[c-1][q]=q;for(l=0;l<c;++l)p[l]=0;1===a[c-1]&&(--g[0],++p[c-1]);for(h=c-2;0<=h;--h){s=l=0;x=p[h+1];for(q=0;q<b[h];q++)s=m[h+1][x]+m[h+1][x+1],s>f[l]?(m[h][q]=s,k[h][q]=d,x+=2):(m[h][q]=f[l],k[h][q]=l,++l);p[h]=0;1===a[h]&&e(h);}return g}
|
|
50244
|
+
function qa(f){var d=new (C?Uint16Array:Array)(f.length),c=[],e=[],b=0,a,g,m,k;a=0;for(g=f.length;a<g;a++)c[f[a]]=(c[f[a]]|0)+1;a=1;for(g=16;a<=g;a++)e[a]=b,b+=c[a]|0,b<<=1;a=0;for(g=f.length;a<g;a++){b=e[f[a]];e[f[a]]+=1;m=d[a]=0;for(k=f[a];m<k;m++)d[a]=d[a]<<1|b&1,b>>>=1;}return d}function Ka(f,d){this.input=f;this.a=new (C?Uint8Array:Array)(32768);this.d=V.g;var c={},e;if((d||!(d={}))&&"number"===typeof d.compressionType)this.d=d.compressionType;for(e in d)c[e]=d[e];c.outputBuffer=this.a;this.j=new ka(this.input,c);}var V=na;
|
|
50245
|
+
Ka.prototype.f=function(){var f,d,c,e,b,a,g=0;a=this.a;switch(8){case 8:f=Math.LOG2E*Math.log(32768)-8;break;default:throw Error("invalid compression method");}d=f<<4|8;a[g++]=d;switch(8){case 8:switch(this.d){case V.NONE:e=0;break;case V.h:e=1;break;case V.g:e=2;break;default:throw Error("unsupported compression type");}break;default:throw Error("invalid compression method");}c=e<<6|0;a[g++]=c|31-(256*d+c)%31;var m=this.input;if("string"===typeof m){var k=m.split(""),p,t;p=0;for(t=k.length;p<t;p++)k[p]=
|
|
50246
|
+
(k[p].charCodeAt(0)&255)>>>0;m=k;}for(var u=1,l=0,h=m.length,q,s=0;0<h;){q=1024<h?1024:h;h-=q;do u+=m[s++],l+=u;while(--q);u%=65521;l%=65521;}b=(l<<16|u)>>>0;this.j.c=g;a=this.j.f();g=a.length;C&&(a=new Uint8Array(a.buffer),a.length<=g+4&&(this.a=new Uint8Array(a.length+4),this.a.set(a),a=this.a),a=a.subarray(0,g+4));a[g++]=b>>24&255;a[g++]=b>>16&255;a[g++]=b>>8&255;a[g++]=b&255;return a};ba("Zlib.Deflate",Ka);ba("Zlib.Deflate.compress",function(f,d){return (new Ka(f,d)).f()});ba("Zlib.Deflate.prototype.compress",Ka.prototype.f);var Ma={NONE:V.NONE,FIXED:V.h,DYNAMIC:V.g},Na,Oa,W,Pa;if(Object.keys)Na=Object.keys(Ma);else for(Oa in Na=[],W=0,Ma)Na[W++]=Oa;W=0;for(Pa=Na.length;W<Pa;++W)Oa=Na[W],ba("Zlib.Deflate.CompressionType."+Oa,Ma[Oa]);}).call(module.exports);
|
|
50247
|
+
} (deflate_min));
|
|
50248
|
+
|
|
50249
|
+
var deflate_minExports = deflate_min.exports;
|
|
50250
|
+
var ZLibDeflate = /*@__PURE__*/getDefaultExportFromCjs(deflate_minExports);
|
|
50251
|
+
|
|
50252
|
+
function toUTF8Array(str) {
|
|
50253
|
+
var utf8 = [];
|
|
50254
|
+
for (var i = 0; i < str.length; i++) {
|
|
50255
|
+
var charcode = str.charCodeAt(i);
|
|
50256
|
+
if (charcode < 0x80)
|
|
50257
|
+
utf8.push(charcode);
|
|
50258
|
+
else if (charcode < 0x800) {
|
|
50259
|
+
utf8.push(0xc0 | (charcode >> 6), 0x80 | (charcode & 0x3f));
|
|
50260
|
+
}
|
|
50261
|
+
else if (charcode < 0xd800 || charcode >= 0xe000) {
|
|
50262
|
+
utf8.push(0xe0 | (charcode >> 12), 0x80 | ((charcode >> 6) & 0x3f), 0x80 | (charcode & 0x3f));
|
|
50263
|
+
}
|
|
50264
|
+
else {
|
|
50265
|
+
// surrogate pair
|
|
50266
|
+
i++;
|
|
50267
|
+
// UTF-16 encodes 0x10000-0x10FFFF by
|
|
50268
|
+
// subtracting 0x10000 and splitting the
|
|
50269
|
+
// 20 bits of 0x0-0xFFFFF into two halves
|
|
50270
|
+
charcode = 0x10000 + (((charcode & 0x3ff) << 10) |
|
|
50271
|
+
(str.charCodeAt(i) & 0x3ff));
|
|
50272
|
+
utf8.push(0xf0 | (charcode >> 18), 0x80 | ((charcode >> 12) & 0x3f), 0x80 | ((charcode >> 6) & 0x3f), 0x80 | (charcode & 0x3f));
|
|
50273
|
+
}
|
|
50274
|
+
}
|
|
50275
|
+
return utf8;
|
|
50276
|
+
}
|
|
50277
|
+
|
|
50278
|
+
var Zlib = {
|
|
50279
|
+
'Deflate': ZLibDeflate.Zlib.Deflate
|
|
50280
|
+
};
|
|
50281
|
+
var Encoding = {
|
|
50282
|
+
'base64Url': 'base64url',
|
|
50283
|
+
'binary': 'binary'
|
|
50284
|
+
};
|
|
50285
|
+
function compress(json_obj, encoding) {
|
|
50286
|
+
if (!encoding) {
|
|
50287
|
+
encoding = Encoding.base64Url;
|
|
50288
|
+
}
|
|
50289
|
+
/* -- This is ZLIB */
|
|
50290
|
+
var compressData = toUTF8Array(typeof json_obj === 'string' ? json_obj : JSON.stringify(json_obj));
|
|
50291
|
+
var deflate = new Zlib.Deflate(compressData);
|
|
50292
|
+
var compressedBytes = deflate.compress();
|
|
50293
|
+
if (encoding === Encoding.base64Url) {
|
|
50294
|
+
return b64.uint8ToBase64(compressedBytes);
|
|
50295
|
+
}
|
|
50296
|
+
else {
|
|
50297
|
+
return compressedBytes;
|
|
50298
|
+
}
|
|
50299
|
+
}
|
|
50300
|
+
|
|
50301
|
+
var ONE_HUNDRED_MB_IN_BYTES = 100 * 1024 * 1024;
|
|
50302
|
+
function matchHostedResources(recordingEvent, stringifiedRecordingPayload) {
|
|
50303
|
+
var fontURLRegex = /https:\/\/[^\s]+?\.(woff|woff2|ttf|otf|eot)\b/g;
|
|
50304
|
+
var hostedResources = stringifiedRecordingPayload.match(fontURLRegex);
|
|
50305
|
+
return {
|
|
50306
|
+
'type': 'recording',
|
|
50307
|
+
'visitorId': recordingEvent.visitorId,
|
|
50308
|
+
'accountId': recordingEvent.accountId,
|
|
50309
|
+
'keyFrame': false,
|
|
50310
|
+
'lastKeyFrame': recordingEvent.lastKeyFrame,
|
|
50311
|
+
'recordingId': recordingEvent.recordingId,
|
|
50312
|
+
'recordingSessionId': recordingEvent.recordingSessionId,
|
|
50313
|
+
'url': recordingEvent.url,
|
|
50314
|
+
'subType': 'hostedResources',
|
|
50315
|
+
'recordingPayload': [],
|
|
50316
|
+
'recordingPayloadMetadata': [],
|
|
50317
|
+
'sequence': 0,
|
|
50318
|
+
'recordingPayloadCount': 0,
|
|
50319
|
+
'hostedResources': hostedResources || []
|
|
50320
|
+
};
|
|
50321
|
+
}
|
|
50322
|
+
// keep in mind changes here may need addressing in the extension worker proxy as well
|
|
50323
|
+
self.onmessage = function (e) {
|
|
50324
|
+
try {
|
|
50325
|
+
if (e.data.url && e.data.payload) {
|
|
50326
|
+
var _a = e.data, url = _a.url, payload = _a.payload, shouldCacheResources = _a.shouldCacheResources;
|
|
50327
|
+
var sequence_1 = payload.sequence;
|
|
50328
|
+
var stringifiedRecordingPayload = JSON.stringify(payload.recordingPayload);
|
|
50329
|
+
// calculate and post back the recording payload size before the payload is compressed
|
|
50330
|
+
var recordingPayloadSize = new TextEncoder().encode(stringifiedRecordingPayload).length;
|
|
50331
|
+
var exceedsPayloadSizeLimit = recordingPayloadSize >= ONE_HUNDRED_MB_IN_BYTES;
|
|
50332
|
+
postMessage({
|
|
50333
|
+
'type': 'recordingPayloadSize',
|
|
50334
|
+
'recordingPayloadSize': recordingPayloadSize,
|
|
50335
|
+
'exceedsPayloadSizeLimit': exceedsPayloadSizeLimit
|
|
50336
|
+
});
|
|
50337
|
+
// don't attempt to send the payload if it exceeds the allowed limit
|
|
50338
|
+
if (exceedsPayloadSizeLimit)
|
|
50339
|
+
return;
|
|
50340
|
+
if (shouldCacheResources) {
|
|
50341
|
+
var hostedResourcesEvent = matchHostedResources(payload, stringifiedRecordingPayload);
|
|
50342
|
+
if (hostedResourcesEvent.hostedResources.length) {
|
|
50343
|
+
postMessage({
|
|
50344
|
+
'type': 'hostedResources',
|
|
50345
|
+
'hostedResourcesEvent': hostedResourcesEvent
|
|
50346
|
+
});
|
|
50347
|
+
}
|
|
50348
|
+
}
|
|
50349
|
+
payload.recordingSize = recordingPayloadSize;
|
|
50350
|
+
var body = compress(payload, 'binary');
|
|
50351
|
+
// we want to calculate ct (current time) as close as we can to the actual POST request
|
|
50352
|
+
// so that it's as accurate as possible
|
|
50353
|
+
url = "".concat(url, "&ct=").concat(new Date().getTime());
|
|
50354
|
+
fetch(url, {
|
|
50355
|
+
'method': 'POST',
|
|
50356
|
+
'body': body
|
|
50357
|
+
}).then(function (response) {
|
|
50358
|
+
if (response.status < 200 || response.status >= 300) {
|
|
50359
|
+
postMessage({
|
|
50360
|
+
'error': new Error("received status code ".concat(response.status, ": ").concat(response.statusText)),
|
|
50361
|
+
'status': response.status,
|
|
50362
|
+
sequence: sequence_1
|
|
50363
|
+
});
|
|
50364
|
+
}
|
|
50365
|
+
else {
|
|
50366
|
+
postMessage({
|
|
50367
|
+
sequence: sequence_1
|
|
50368
|
+
});
|
|
50369
|
+
}
|
|
50370
|
+
})['catch'](function (e) {
|
|
50371
|
+
postMessage({
|
|
50372
|
+
'error': e,
|
|
50373
|
+
sequence: sequence_1
|
|
50374
|
+
});
|
|
50375
|
+
});
|
|
50376
|
+
}
|
|
50377
|
+
}
|
|
50378
|
+
catch (e) {
|
|
50379
|
+
postMessage({
|
|
50380
|
+
'error': e
|
|
50381
|
+
});
|
|
50382
|
+
}
|
|
50383
|
+
};
|
|
50384
|
+
|
|
50385
|
+
exports.matchHostedResources = matchHostedResources;
|
|
50386
|
+
|
|
50387
|
+
return exports;
|
|
50388
|
+
|
|
50389
|
+
}))({});
|
|
50390
|
+
|
|
50391
|
+
}, null);
|
|
50159
50392
|
/* eslint-enable */
|
|
50160
50393
|
|
|
50161
50394
|
function createReplayPlugin() {
|