sliftutils 1.8.10 → 1.8.12
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/misc/dist/strings.ts.cache +2 -2
- package/misc/https/dist/certs.ts.cache +2 -2
- package/misc/https/dist/cloudflareHelpers.ts.cache +2 -2
- package/misc/https/dist/dns.ts.cache +2 -2
- package/misc/https/dist/persistentLocalStorage.ts.cache +2 -2
- package/package.json +2 -2
- package/render-utils/dist/Anchor.tsx.cache +59 -0
- package/render-utils/dist/URLParam.ts.cache +105 -0
- package/render-utils/dist/mobxTyped.ts.cache +67 -0
- package/render-utils/dist/niceStringify.ts.cache +82 -0
- package/render-utils/dist/observer.tsx.cache +2 -2
- package/yarn.lock +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
3
3
|
//exports.ellipsize = void 0;
|
|
4
4
|
function ellipsize(text, maxLength) {
|
|
@@ -9,4 +9,4 @@ function ellipsize(text, maxLength) {
|
|
|
9
9
|
}
|
|
10
10
|
exports.ellipsize = ellipsize;
|
|
11
11
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IsU0FBUyxDQUFDLElBQVksRUFBRSxTQUFpQjtJQUNyRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUNoRCxDQUFDO0FBTEQsOEJBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZWxsaXBzaXplKHRleHQ6IHN0cmluZywgbWF4TGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh0ZXh0Lmxlbmd0aCA8PSBtYXhMZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0LnNsaWNlKDAsIG1heExlbmd0aCAtIDMpICsgXCIuLi5cIjtcbn1cbiJdfQ==
|
|
12
|
-
/* _JS_SOURCE_HASH = "
|
|
12
|
+
/* _JS_SOURCE_HASH = "42720f3fe753adb3976d4e2195d69f9ff6c408573751f8cdc6368d2988eac5c7"; */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
2
|
/// <reference path="./node-forge-ed25519.d.ts" />
|
|
3
3
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
4
|
if (k2 === undefined) k2 = k;
|
|
@@ -474,4 +474,4 @@ function getOwnNodeIdAllowUndefined() {
|
|
|
474
474
|
}
|
|
475
475
|
exports.getOwnNodeIdAllowUndefined = getOwnNodeIdAllowUndefined;
|
|
476
476
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZXJ0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsa0RBQWtEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRCwrbkJBQStuQjtBQUMvbkIsc0lBQXNJO0FBRXRJLGlEQUFpRDtBQUVqRCx1RUFBK0Q7QUFDL0Qsa0RBQW9DO0FBR3BDLHlEQUEwRDtBQUUxRCwwREFBK0I7QUFDL0IsNkRBQWlFO0FBQ2pFLG1FQUE4RjtBQUM5Riw2REFBa0g7QUFDbEgsbUVBQWdFO0FBQ2hFLDZEQUEwRTtBQUMxRSxxRUFBa0c7QUFDbEcsd0NBQXVDO0FBRXZDLElBQUEsc0JBQU8sRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNwRCxJQUFBLHNCQUFPLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBRXpCLFFBQUEsa0JBQWtCLEdBQUcsc0NBQXNDLENBQUM7QUFFNUQsUUFBQSxrQkFBa0IsR0FBRyxjQUFjLENBQUM7QUFHakQsU0FBUyxnQkFBZ0IsQ0FBQyxNQUFjO0lBQ3BDLE9BQU8sSUFBQSxvQ0FBVyxFQUFzQixNQUFNLEVBQUUsMEJBQWtCLENBQUMsQ0FBQztBQUN4RSxDQUFDO0FBRUQsaUdBQWlHO0FBQ2pHLG1GQUFtRjtBQUNuRixTQUFnQix1QkFBdUIsQ0FBQyxNQUFjO0lBQ2xELE9BQU8sSUFBQSw0Q0FBbUIsRUFBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLDBCQUFrQixFQUFFLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRkQsMERBRUM7QUFFRCxrR0FBa0c7QUFDbEcsU0FBZ0IsdUJBQXVCO0lBQ25DLE9BQU8sSUFBQSw2Q0FBb0IsRUFBQywwQkFB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QUFDLENBQUMsQ0FBQyxDQUFDO0FBRUosU0FBZ0IsWUFBWTtJQUN4QixJQUFJLE1BQU0sR0FBRywrQkFBYyxDQUFDLGFBQWEsQ0FBQztJQUMxQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFORCxvQ0FNQztBQUVELFNBQWdCLDBCQUEwQjtJQUN0QyxPQUFPLCtCQUFjLENBQUMsYUFBYSxDQUFDO0FBQ3hDLENBQUM7QUFGRCxnRUFFQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL25vZGUtZm9yZ2UtZWQyNTUxOS5kLnRzXCIgLz5cblxuLy8gTk9URTogV2UgY2FuJ3QgdXNlIGNyeXB0by5zdWJ0bGUgKG5vbi1leHRyYWN0YWJsZSBDcnlwdG9LZXlzKSBmb3Igb3VyIGtleXMsIGJlY2F1c2Ugc3VidGxlIGlzIGFzeW5jaHJvbm91cywgYW5kIGV2ZXJ5dGhpbmcgaGVyZSAoa2V5IGdlbmVyYXRpb24sIGNlcnQgY3JlYXRpb24sIHNpZ25pbmcpIG11c3QgYmUgYXZhaWxhYmxlIHN5bmNocm9ub3VzbHkuIFRoZSBvbmx5IHJlYWwgYmVuZWZpdCBvZiBzdWJ0bGUgaXMgdGhhdCBhIGNyb3NzLXNpdGUgc2NyaXB0aW5nIGF0dGFjayBjYW4ndCBleGZpbHRyYXRlIHRoZSBrZXkuIFdoaWNoLCB3aGlsZSBuaWNlLCBpcyBvZiBtaW5vciBiZW5lZml0LCBhcyB0aGUgY3Jvc3Mtc2l0ZSBzY3JpcHQgY2FuIGFscmVhZHkgZG8gcXVpdGUgYSBiaXQgb2YgZGFtYWdlIGFueXdheSB3aXRoIGFjY2Vzcy4gQW5kIGlmIHRoYXQgaGFwcGVucywgdGhlIGZpcnN0IHRoaW5nIHRoZSB1c2VyIGlzIHByb2JhYmx5IGdvaW5nIHRvIGRvIGlzIHJlc2V0IGFsbCB0aGVpciBjcmVkZW50aWFscywgd2hpY2ggc29sdmVzIHRoZSBjYXNlIG9mIHRoZSBrZXkgYmVpbmcgZXhmaWx0cmF0ZWQgYW55d2F5IChieSB0ZWxsaW5nIHRoZSBzZXJ2ZXIgdG8gc3RvcCB0cnVzdGluZyBhbGwgaWRlbnRpdGllcykuXG4vLyBOT1RFOiBXZSBhcmUganVzdCBub3QgZ29pbmcgdG8gc3VwcG9ydCBIVFRQUyBicm93c2VyIGNlcnRzLiBPdXIgY29kZSBpcyBwdXJlbHkgZm9yIGlkZW50aWZpY2F0aW9uLCBhbmQgc28gaXQgb25seSBzdXBwb3J0cyBFRDI1NTE5LlxuXG4vLyBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNTI4MCNwYWdlLTQyXG5cbmltcG9ydCB7IHNldEZsYWcgfSBmcm9tIFwic29ja2V0LWZ1bmN0aW9uL3JlcXVpcmUvY29tcGlsZUZsYWdzXCI7XG5pbXBvcnQgKiBhcyBmb3JnZSBmcm9tIFwibm9kZS1mb3JnZVwiO1xuaW1wb3J0IG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0IGZzU3luYyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGNhY2hlLCBsYXp5IH0gZnJvbSBcInNvY2tldC1mdW5jdGlvbi9zcmMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgaXNOb2RlIH0gZnJvbSBcInNvY2tldC1mdW5jdGlvbi9zcmMvbWlzY1wiO1xuaW1wb3J0IHNoYTI2NSBmcm9tIFwianMtc2hhMjU2XCI7XG5pbXBvcnQgeyB0cnVzdENlcnRpZmljYXRlIH0gZnJvbSBcInNvY2tldC1mdW5jdGlvbi9zcmMvY2VydFN0b3JlXCI7XG5pbXBvcnQgeyBtZWFzdXJlQmxvY2ssIG1lYXN1cmVGbmMsIG1lYXN1cmVXcmFwIH0gZnJvbSBcInNvY2tldC1mdW5jdGlvbi9zcmMvcHJvZmlsaW5nL21lYXN1cmVcIjtcbmltcG9ydCB7IGdldE5vZGVJZERvbWFpbiwgZ2V0Tm9kZUlkRG9tYWluTWF5YmVVbmRlZmluZWQsIGdldE5vZGVJZExvY2F0aW9uIH0gZnJvbSBcInNvY2tldC1mdW5jdGlvbi9zcmMvbm9kZUNhY2hlXCI7XG5pbXBvcnQgeyBTb2NrZXRGdW5jdGlvbiB9IGZyb20gXCJzb2NrZXQtZnVuY3Rpb24vU29ja2V0RnVuY3Rpb25cIjtcbmltcG9ydCB7IHJlc2V0QWxsTm9kZUNhbGxGYWN0b3JpZXMgfSBmcm9tIFwic29ja2V0LWZ1bmN0aW9uL3NyYy9ub2RlQ2FjaGVcIjtcbmltcG9ydCB7IGdldEtleVN0b3JlLCBERVZfZ2V0S2V5U3RvcmVQYXRoLCBERVZfbGlzdEtleVN0b3JlQXBwcyB9IGZyb20gXCIuL3BlcnNpc3RlbnRMb2NhbFN0b3JhZ2VcIjtcbmltcG9ydCB7IGVsbGlwc2l6ZSB9IGZyb20gXCIuLi9zdHJpbmdzXCI7XG5cbnNldEZsYWcocmVxdWlyZSwgXCJub2RlLWZvcmdlXCIsIFwiYWxsb3djbGllbnRcIiwgdHJ1ZSk7XG5zZXRGbGFnKHJlcXVpcmUsIFwianMtc2hhMjU2XCIsIFwiYWxsb3djbGllbnRcIiwgdHJ1ZSk7XG5cbmNvbnN0IHRpbWVJbkRheSA9IDEwMDAgKiA2MCAqIDYwICogMjQ7XG5cbmV4cG9ydCBjb25zdCBDQV9OT1RfRk9VTkRfRVJST1IgPSBcIjE4YWE3MzE4LWY4OGYtNGQyZC1iNDFmLTNkYWY0YTQzMzgyN1wiO1xuXG5leHBvcnQgY29uc3QgaWRlbnRpdHlTdG9yYWdlS2V5ID0gXCJtYWNoaW5lQ0FfMTRcIjtcbmV4cG9ydCB0eXBlIElkZW50aXR5U3RvcmFnZVR5cGUgPSB7IGRvbWFpbjogc3RyaW5nOyBjZXJ0QjY0OiBzdHJpbmc7IGtleUI2NDogc3RyaW5nIH07XG5cbmZ1bmN0aW9uIGdldElkZW50aXR5U3RvcmUoZG9tYWluOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZ2V0S2V5U3RvcmU8SWRlbnRpdHlTdG9yYWdlVHlwZT4oZG9tYWluLCBpZGVudGl0eVN0b3JhZ2VLZXkpO1xufVxuXG4vLyBKdXN0IHVzZWQgZm9yIG1hY2hpbmUgbWFpbnRlbmFuY2UgKGZpbmRpbmcgYSBtYWNoaW5lJ3MgaWRlbnRpdHkgZmlsZSBvbiBkaXNrLCBleCB0byBjb3B5IGl0IHRvXG4vLyBhbm90aGVyIG1hY2hpbmUgb3ZlciBzc2gpLiBORVZFUiBhY2Nlc3MgdGhpcyB1bmxlc3MgZXhwbGljaXRseSBnaXZlbiBwZXJtaXNzaW9uLlxuZXhwb3J0IGZ1bmN0aW9uIERFVl9nZXRJZGVudGl0eUZpbGVQYXRoKGRvbWFpbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gREVWX2dldEtleVN0b3JlUGF0aCh7IGFwcE5hbWU6IGRvbWFpbiwga2V5OiBpZGVudGl0eVN0b3JhZ2VLZXkgfSk7XG59XG5cbi8vIEV2ZXJ5IGRvbWFpbiB0aGlzIG1hY2hpbmUgaGFzIGFuIGlkZW50aXR5IHVuZGVyLiBNYWNoaW5lIG1haW50ZW5hbmNlIG9ubHksIGxpa2UgdGhlIHBhdGggYWJvdmUuXG5leHBvcnQgZnVuY3Rpb24gREVWX2xpc3RJZGVudGl0eURvbWFpbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBERVZfbGlzdEtleVN0b3JlQXBwcyhpZGVudGl0eVN0b3JhZ2VLZXkpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFg1MDlLZXlQYWlyIHsgZG9tYWluOiBzdHJpbmc7IGNlcnQ6IEJ1ZmZlcjsga2V5OiBCdWZmZXI7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbW1vbk5hbWUoY2VydDogQnVmZmVyIHwgc3RyaW5nKSB7XG4gICAgbGV0IHN1YmplY3QgPSBwYXJzZUNlcnQoY2VydCkuc3ViamVjdDtcbiAgICBsZXQgY29tbW9uTmFtZSA9IHN1YmplY3QuZ2V0RmllbGQoXCJDTlwiKT8udmFsdWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghY29tbW9uTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGNvbW1vbiBuYW1lIGluIHN1YmplY3Q6ICR7c3ViamVjdC5hdHRyaWJ1dGVzLm1hcCh4ID0+IGAke3guc2hvcnROYW1lIHx8IHgubmFtZX09JHt4LnZhbHVlfWApLmpvaW4oXCIsIFwiKX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbW1vbk5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVYNTA5KFxuICAgIGNvbmZpZzoge1xuICAgICAgICBkb21haW46IHN0cmluZztcbiAgICAgICAgaXNzdWVyOiBYNTA5S2V5UGFpciB8IFwic2VsZlwiO1xuICAgICAgICBsaWZlU3BhbjogbnVtYmVyO1xuICAgICAgICBrZXlQYWlyOiB7XG4gICAgICAgICAgICBwdWJsaWNLZXk6IGZvcmdlLkVkMjU1MTlQdWJsaWNLZXk7XG4gICAgICAgICAgICBwcml2YXRlS2V5OiBmb3JnZS5FZDI1NTE5UHJpdmF0ZUtleTtcbiAgICAgICAgfTtcbiAgICB9XG4pOiBYNTA5S2V5UGFpciB7XG4gICAgcmV0dXJuIG1lYXN1cmVCbG9jayhmdW5jdGlvbiBjcmVhdGVYNTA5KCkge1xuICAgICAgICBsZXQgeyBkb21haW4sIGlzc3VlciwgbGlmZVNwYW4sIGtleVBhaXIgfSA9IGNvbmZpZztcblxuICAgICAgICBsZXQgY2VydE9iaiA9IGZvcmdlLnBraS5jcmVhdGVDZXJ0aWZpY2F0ZSgpO1xuICAgICAgICBjZXJ0T2JqLnB1YmxpY0tleSA9IGtleVBhaXIucHVibGljS2V5IGFzIHVua25vd24gYXMgZm9yZ2UucGtpLlB1YmxpY0tleTtcbiAgICAgICAgY2VydE9iai5zZXJpYWxOdW1iZXIgPSBcIjAxXCI7XG4gICAgICAgIC8vIEdpdmUgaXQgNSBtaW51dGVzIGJlZm9yZSBub3cuIElmIHdlIGdpdmUgaXQgdG9vIG11Y2ggdGltZSwgaXQgY2FuIGxvb2sgbGlrZSB0aGUgY2VydCBpcyByZWFsbHkgb2xkLCB3aGljaCB3aWxsIHRyaWdnZXIgdmFyaW91cyBwcm9jZXNzZXMgdG8gdHJ5IHRvIGdldCBhIGZyZXNoZXIgb25lIChhcyBpZiBpdCBsYXN0cyBmb3IgMSBob3VyLCBidXQgd2Ugc2V0IG5vdEJlZm9yZSB0byAxIG1vbnRoIGFnbywgaXQgbG9va3MgMSBtb250aCBvbGQsIGFuZCBzbyBhbG1vc3QgZXhwaXJlZCwgd2hlbiBpdCBpc24ndC4uLilcbiAgICAgICAgY2VydE9iai52YWxpZGl0eS5ub3RCZWZvcmUgPSBuZXcgRGF0ZShEYXRlLm5vdygpIC0gMTAwMCAqIDYwICogNSk7XG4gICAgICAgIGNlcnRPYmoudmFsaWRpdHkubm90QWZ0ZXIgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgbGlmZVNwYW4pO1xuXG4gICAgICAgIGNvbnN0IGNvbW1vbk5hbWVBdHRycyA9IFt7IG5hbWU6IFwiY29tbW9uTmFtZVwiLCB2YWx1ZTogZG9tYWluIH1dO1xuICAgICAgICBjZXJ0T2JqLnNldFN1YmplY3QoY29tbW9uTmFtZUF0dHJzKTtcblxuICAgICAgICBpZiAoaXNzdWVyID09PSBcInNlbGZcIikge1xuICAgICAgICAgICAgY2VydE9iai5zZXRJc3N1ZXIoY29tbW9uTmFtZUF0dHJzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNlcnRPYmouc2V0SXNzdWVyKGZvcmdlLnBraS5jZXJ0aWZpY2F0ZUZyb21QZW0oaXNzdWVyLmNlcnQudG9TdHJpbmcoKSkuc3ViamVjdC5hdHRyaWJ1dGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBleHRlbnNpb25zID0gW107XG4gICAgICAgIGNvbnN0IGlzQ0EgPSBpc3N1ZXIgPT09IFwic2VsZlwiO1xuICAgICAgICBpZiAoaXNDQSkge1xuICAgICAgICAgICAgZXh0ZW5zaW9ucy5wdXNoKHsgbmFtZTogXCJiYXNpY0NvbnN0cmFpbnRzXCIsIGNBOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsSG9zdERvbWFpbiA9IFwiMTI3LTAtMC0xLlwiICsgZG9tYWluLnNwbGl0KFwiLlwiKS5zbGljZSgtMikuam9pbihcIi5cIik7XG5cbiAgICAgICAgZXh0ZW5zaW9ucy5wdXNoKC4uLltcbiAgICAgICAgICAgIHsgbmFtZTogXCJrZXlVc2FnZVwiLCBrZXlDZXJ0U2lnbjogaXNDQSwgZGlnaXRhbFNpZ25hdHVyZTogdHJ1ZSwgbm9uUmVwdWRpYXRpb246IHRydWUsIGtleUVuY2lwaGVybWVudDogdHJ1ZSwgZGF0YUVuY2lwaGVybWVudDogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBuYW1lOiBcInN1YmplY3RLZXlJZGVudGlmaWVyXCIgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInN1YmplY3RBbHROYW1lXCIsXG4gICAgICAgICAgICAgICAgYWx0TmFtZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAyLCB2YWx1ZTogZG9tYWluIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgdHlwZTogMiwgdmFsdWU6IFwiKi5cIiArIGRvbWFpbiB9LFxuICAgICAgICAgICAgICAgICAgICB7IHR5cGU6IDIsIHZhbHVlOiBsb2NhbEhvc3REb21haW4gfSxcbiAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogTm8gbG9uZ2VyIGFsbG93IDEyNy4wLjAuMSAoeyB0eXBlOiA3LCBpcDogXCIxMjcuMC4wLjFcIiB9KSwgdG8gbWFrZSB0aGlzIG1vcmUgc2VjdXJlLiBXZSBtaWdodCBlbmFibGUgdGhpcyBiZWhhdmlvciBiZWhpbmQgYSBmbGFnLCBmb3IgZGV2ZWxvcG1lbnQuXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIE5PVEU6IG5hbWVDb25zdHJhaW50cyByZXF1aXJlIG91ciBmb3JrZWQgbm9kZS1mb3JnZSAoXCJub2RlLWZvcmdlXCI6IFwiaHR0cHM6Ly9naXRodWIuY29tL3NsaWZ0aXN0L2ZvcmdlI2U2MTgxODFiNDY5YjA3YmRjNzBiOTY4YjAzOTFiZWI4ZWY1ZmVjZDZcIikuIENocm9tZSBpZ25vcmVzIHRoZW0gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTEwNzIwODMpLCBidXQgb3VyIG93biB2YWxpZGF0aW9uICh2YWxpZGF0ZUNBQ2VydC92YWxpZGF0ZUNlcnRpZmljYXRlKSBlbmZvcmNlcyB0aGVtLlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwibmFtZUNvbnN0cmFpbnRzXCIsXG4gICAgICAgICAgICAgICAgcGVybWl0dGVkU3VidHJlZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAyLCB2YWx1ZTogZm9yZ2UudXRpbC5lbmNvZGVVdGY4KGRvbWFpbikgfSxcbiAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAyLCB2YWx1ZTogZm9yZ2UudXRpbC5lbmNvZGVVdGY4KGxvY2FsSG9zdERvbWFpbikgfSxcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICBdKTtcbiAgICAgICAgY2VydE9iai5zZXRFeHRlbnNpb25zKGV4dGVuc2lvbnMpO1xuXG5cbiAgICAgICAgbWVhc3VyZUJsb2NrKGZ1bmN0aW9uIHNpZ24oKSB7XG4gICAgICAgICAgICBpZiAoaXNzdWVyID09PSBcInNlbGZcIikge1xuICAgICAgICAgICAgICAgIGNlcnRPYmouc2lnbihrZXlQYWlyLnByaXZhdGVLZXkgYXMgYW55KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2VydE9iai5zaWduKGZvcmdlLmVkMjU1MTkucHJpdmF0ZUtleUZyb21QZW0oaXNzdWVyLmtleS50b1N0cmluZygpKSBhcyBhbnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbWVhc3VyZUJsb2NrKGZ1bmN0aW9uIHRvUGVtcygpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZG9tYWluLFxuICAgICAgICAgICAgICAgIGNlcnQ6IEJ1ZmZlci5mcm9tKGZvcmdlLnBraS5jZXJ0aWZpY2F0ZVRvUGVtKGNlcnRPYmopKSxcbiAgICAgICAgICAgICAgICBrZXk6IEJ1ZmZlci5mcm9tKHByaXZhdGVLZXlUb1BlbShrZXlQYWlyLnByaXZhdGVLZXkpKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHByaXZhdGVLZXlUb1BlbShrZXk6IGZvcmdlLkVkMjU1MTlQcml2YXRlS2V5KSB7XG4gICAgcmV0dXJuIGZvcmdlLmVkMjU1MTkucHJpdmF0ZUtleVRvUGVtKGtleSk7XG59XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDZXJ0KFBFTW9yREVSOiBzdHJpbmcgfCBCdWZmZXIpIHtcbiAgICByZXR1cm4gZm9yZ2UucGtpLmNlcnRpZmljYXRlRnJvbVBlbShub3JtYWxpemVDZXJ0VG9QRU0oUEVNb3JERVIpKTtcbn1cblxuZnVuY3Rpb24gZ2V0RUQyNTUxOVB1YmxpY0tleShjZXJ0UGFyc2VkOiBmb3JnZS5wa2kuQ2VydGlmaWNhdGUpOiBmb3JnZS5FZDI1NTE5UHVibGljS2V5IHtcbiAgICBsZXQgcHVibGljS2V5ID0gY2VydFBhcnNlZC5wdWJsaWNLZXk7XG4gICAgaWYgKCEoXCJwdWJsaWNLZXlCeXRlc1wiIGluIHB1YmxpY0tleSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBPbmx5IEVEMjU1MTkgY2VydGlmaWNhdGVzIGFyZSBzdXBwb3J0ZWQsIHRoZSBjZXJ0aWZpY2F0ZSBwdWJsaWMga2V5IGlzIG5vdCBFRDI1NTE5IChzdWJqZWN0OiAke2NlcnRQYXJzZWQuc3ViamVjdC5nZXRGaWVsZChcIkNOXCIpPy52YWx1ZX0pYCk7XG4gICAgfVxuICAgIHJldHVybiBwdWJsaWNLZXkgYXMgdW5rbm93biBhcyBmb3JnZS5FZDI1NTE5UHVibGljS2V5O1xufVxuXG4vLyBHZXRzIGEgdW5pcXVlIHZhbHVlIHRvIHJlcHJlc2VudCB0aGUgcHVibGljIGtleVxuZXhwb3J0IGZ1bmN0aW9uIGdldFB1YmxpY0lkZW50aWZpZXIoUEVNb3JERVI6IHN0cmluZyB8IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGdldEVEMjU1MTlQdWJsaWNLZXkocGFyc2VDZXJ0KFBFTW9yREVSKSkucHVibGljS2V5Qnl0ZXMpO1xufVxuXG5leHBvcnQgY29uc3Qgc2lnbiA9IG1lYXN1cmVXcmFwKGZ1bmN0aW9uIHNpZ24oa2V5UGFpcjogeyBrZXk6IHN0cmluZyB8IEJ1ZmZlciB9LCBkYXRhOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBsZXQgZGF0YVN0ciA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuICAgIGxldCBwcml2YXRlS2V5ID0gZm9yZ2UuZWQyNTUxOS5wcml2YXRlS2V5RnJvbVBlbShrZXlQYWlyLmtleS50b1N0cmluZygpKTtcbiAgICByZXR1cm4gcHJpdmF0ZUtleS5zaWduKGRhdGFTdHIpO1xufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnkoY2VydDogc3RyaW5nLCBzaWduYXR1cmU6IHN0cmluZywgZGF0YTogdW5rbm93bikge1xuICAgIGxldCBjZXJ0T2JqID0gcGFyc2VDZXJ0KGNlcnQpO1xuICAgIGxldCBwdWJsaWNLZXkgPSBnZXRFRDI1NTE5UHVibGljS2V5KGNlcnRPYmopO1xuICAgIGxldCBkYXRhU3RyID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgaWYgKCFwdWJsaWNLZXkudmVyaWZ5KGRhdGFTdHIsIHNpZ25hdHVyZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTaWduYXR1cmUgdmVyaWZpY2F0aW9uIGZhaWxlZC4gU2lnbmF0dXJlOiAke0pTT04uc3RyaW5naWZ5KHNpZ25hdHVyZSl9IHwgRGF0YTogJHtlbGxpcHNpemUoZGF0YVN0ciwgMTAyNCl9YCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVDZXJ0VG9QRU0oUEVNb3JERVI6IHN0cmluZyB8IEJ1ZmZlcik6IHN0cmluZyB7XG4gICAgaWYgKFBFTW9yREVSLnRvU3RyaW5nKCkuc3RhcnRzV2l0aChcIi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLVwiKSkge1xuICAgICAgICByZXR1cm4gUEVNb3JERVIudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgUEVNb3JERVIgPSBQRU1vckRFUi50b1N0cmluZyhcImJhc2U2NFwiKTtcbiAgICByZXR1cm4gXCItLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cXG5cIiArIFBFTW9yREVSICsgXCJcXG4tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tXCI7XG59XG5cbi8vIEJhc2UzMiAoUkZDIDQ2NDgsIGxvd2VyY2FzZSwgdW5wYWRkZWQpLCBhcyBkb21haW4gbmFtZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUsIHdoaWNoIHJ1bGVzIG91dCBiYXNlNjQvaGV4LXdpdGgtY2FzZVxuY29uc3QgYmFzZTMyQWxwaGFiZXQgPSBcImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MjM0NTY3XCI7XG5mdW5jdGlvbiBlbmNvZGVCYXNlMzIoYnl0ZXM6IEJ1ZmZlcik6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XG4gICAgbGV0IGJpdENvdW50ID0gMDtcbiAgICBsZXQgdmFsdWUgPSAwO1xuICAgIGZvciAobGV0IGJ5dGUgb2YgYnl0ZXMpIHtcbiAgICAgICAgdmFsdWUgPSAodmFsdWUgPDwgOCkgfCBieXRlO1xuICAgICAgICBiaXRDb3VudCArPSA4O1xuICAgICAgICB3aGlsZSAoYml0Q291bnQgPj0gNSkge1xuICAgICAgICAgICAgcmVzdWx0ICs9IGJhc2UzMkFscGhhYmV0Wyh2YWx1ZSA+Pj4gKGJpdENvdW50IC0gNSkpICYgMzFdO1xuICAgICAgICAgICAgYml0Q291bnQgLT0gNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYml0Q291bnQgPiAwKSB7XG4gICAgICAgIHJlc3VsdCArPSBiYXNlMzJBbHBoYWJldFsodmFsdWUgPDwgKDUgLSBiaXRDb3VudCkpICYgMzFdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBnZXREb21haW5QYXJ0RnJvbVB1YmxpY0tleShwdWJsaWNLZXk6IHsgcHVibGljS2V5Qnl0ZXM6IEJ1ZmZlciB9IHwgQnVmZmVyKSB7XG4gICAgbGV0IGJ5dGVzOiBCdWZmZXI7XG4gICAgaWYgKFwicHVibGljS2V5Qnl0ZXNcIiBpbiBwdWJsaWNLZXkpIHtcbiAgICAgICAgYnl0ZXMgPSBwdWJsaWNLZXkucHVibGljS2V5Qnl0ZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYnl0ZXMgPSBwdWJsaWNLZXk7XG4gICAgfVxuICAgIHJldHVybiBcImJcIiArIGVuY29kZUJhc2UzMihCdWZmZXIuZnJvbShzaGEyNjUuc2hhMjU2LmFycmF5KEJ1ZmZlci5mcm9tKGJ5dGVzKSkpKS5zbGljZSgwLCAyMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNBQ2VydChkb21haW46IHN0cmluZywgY2VydDogc3RyaW5nIHwgQnVmZmVyKSB7XG4gICAgbGV0IGNlcnRQYXJzZWQgPSBwYXJzZUNlcnQoY2VydCk7XG5cbiAgICBsZXQgc3ViamVjdCA9IGNlcnRQYXJzZWQuc3ViamVjdC5nZXRGaWVsZChcIkNOXCIpLnZhbHVlIGFzIHN0cmluZztcbiAgICBsZXQgbG9jYWxob3N0RG9tYWluID0gXCIxMjctMC0wLTEuXCIgKyBzdWJqZWN0LnNwbGl0KFwiLlwiKS5zbGljZSgtMikuam9pbihcIi5cIik7XG5cbiAgICBsZXQgZG9tYWluUGFydHMgPSBzdWJqZWN0LnNwbGl0KFwiLlwiKS5yZXZlcnNlKCk7XG5cbiAgICBsZXQgcm9vdERvbWFpblBhcnNlZCA9IFtkb21haW5QYXJ0cy5zaGlmdCgpLCBkb21haW5QYXJ0cy5zaGlmdCgpXS5yZXZlcnNlKCkuam9pbihcIi5cIik7XG4gICAgaWYgKHJvb3REb21haW5QYXJzZWQgIT09IGRvbWFpbikge1xuICAgICAgICAvLyBUaGlzIGlzIGltcG9ydGFudCwgYXMgb3VyIHRydXN0IHN0b3JlIGNvbnRhaW5zIG1vcmUgdGhlbiBqdXN0IE9VUiBjZXJ0aWZpY2F0ZXMsIHNvIGlmIHdlIGFsbG93IGFueSBkb21haW5zIHRoZW4gcmVhbCBkb21haW5zIGNhbiBpbXBlcnNvbmF0ZSBhbnlvbmUhIEl0IGhhcyB0byBiZSBPVVIgZG9tYWluIHRvIGJlIHRydXN0ZWQhXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2VydGlmaWNhdGUgcm9vdCBkb21haW4gc2hvdWxkIGJlICR7ZG9tYWlufSwgYnV0IGlzICR7cm9vdERvbWFpblBhcnNlZH1gKTtcbiAgICB9XG4gICAgLy8gVE9ETzogTWF5YmUganVzdCBza2lwIGlmIGl0IGlzbid0IGEgaGFzaCBzdHJpbmc/XG4gICAgaWYgKGRvbWFpblBhcnRzWzBdID09PSBcIm5vcHJveHlcIikge1xuICAgICAgICBkb21haW5QYXJ0cy5zaGlmdCgpO1xuICAgIH1cblxuICAgIGxldCBjZXJ0RXhwZWN0ZWRQdWJsaWNLZXlQYXJ0ID0gKGRvbWFpblBhcnRzLnNoaWZ0KCkgfHwgXCJcIikuc3BsaXQoXCItXCIpLnNsaWNlKC0xKVswXTtcbiAgICBsZXQgY2VydEFjdHVhbFB1YmxpY0tleVBhcnQgPSBnZXREb21haW5QYXJ0RnJvbVB1YmxpY0tleShnZXRFRDI1NTE5UHVibGljS2V5KGNlcnRQYXJzZWQpKTtcbiAgICBpZiAoY2VydEV4cGVjdGVkUHVibGljS2V5UGFydCAhPT0gY2VydEFjdHVhbFB1YmxpY0tleVBhcnQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDZXJ0aWZpY2F0ZSBwdWJsaWMga2V5IGluIHRoZSB1cmwgaXMgJHtjZXJ0RXhwZWN0ZWRQdWJsaWNLZXlQYXJ0fSwgYnV0IGluIHRoZSBjZXJ0IGlzICR7Y2VydEFjdHVhbFB1YmxpY0tleVBhcnR9YCk7XG4gICAgfVxuXG4gICAgLy8gQUxTTywgcmVxdWlyZSBuYW1lIGNvbnN0cmFpbnRzIHRvIGJlIHByZXNlbnQsIGFuZCB0byByZXN0cmljdCB0byB0aGUgXCJDTlwiXG4gICAgbGV0IG5hbWVDb25zdHJhaW50cyA9IGNlcnRQYXJzZWQuZ2V0RXh0ZW5zaW9uKFwibmFtZUNvbnN0cmFpbnRzXCIpIGFzIGFueTtcbiAgICBpZiAoIW5hbWVDb25zdHJhaW50cykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENlcnRpZmljYXRlIG11c3QgaGF2ZSBuYW1lQ29uc3RyYWludHNgKTtcbiAgICB9XG4gICAgbGV0IHN1YnRyZWVzID0gbmFtZUNvbnN0cmFpbnRzLnBlcm1pdHRlZFN1YnRyZWVzO1xuICAgIGlmICghc3VidHJlZXMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDZXJ0aWZpY2F0ZSBtdXN0IGhhdmUgbmFtZUNvbnN0cmFpbnRzLnBlcm1pdHRlZFN1YnRyZWVzYCk7XG4gICAgfVxuICAgIGxldCBzdWJ0cmVlVmFsdWVzID0gc3VidHJlZXMubWFwKCh4OiBhbnkpID0+IHgudmFsdWUpO1xuICAgIC8vIElnbm9yZSBsb2NhbGhvc3REb21haW4sIGFzIGl0IGNhbiBhbHdheXMgc2FmZWx5IGJlIGFsbG93ZWQgKHRoZSBzYW1lIG1hY2hpbmUgaXMgYWx3YXlzIGFsbG93ZWQpLlxuICAgIHN1YnRyZWVWYWx1ZXMgPSBzdWJ0cmVlVmFsdWVzLmZpbHRlcigoeDogc3RyaW5nKSA9PiB4ICE9PSBsb2NhbGhvc3REb21haW4pO1xuICAgIGlmIChzdWJ0cmVlVmFsdWVzLmxlbmd0aCAhPT0gMSB8fCBzdWJ0cmVlVmFsdWVzWzBdICE9PSBzdWJqZWN0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2VydGlmaWNhdGUgbXVzdCBoYXZlIGEgc2luZ2xlIGNvbnN0cmFpbmVkIGRvbWFpbiAoaGFkICR7SlNPTi5zdHJpbmdpZnkoc3VidHJlZVZhbHVlcyl9KWApO1xuICAgIH1cblxuICAgIHZhbGlkYXRlQWx0TmFtZXMoY2VydFBhcnNlZCwgc3ViamVjdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNlcnRpZmljYXRlKGRvbWFpbjogc3RyaW5nLCBjZXJ0OiBCdWZmZXIgfCBzdHJpbmcsIGlzc3VlckNlcnQ6IEJ1ZmZlciB8IHN0cmluZykge1xuICAgIHZhbGlkYXRlQ0FDZXJ0KGRvbWFpbiwgaXNzdWVyQ2VydCk7XG5cbiAgICBsZXQgY2VydFBhcnNlZCA9IHBhcnNlQ2VydChjZXJ0KTtcbiAgICBsZXQgc3ViamVjdCA9IGNlcnRQYXJzZWQuc3ViamVjdC5nZXRGaWVsZChcIkNOXCIpLnZhbHVlIGFzIHN0cmluZztcbiAgICBsZXQgbG9jYWxob3N0RG9tYWluID0gXCIxMjctMC0wLTEuXCIgKyBzdWJqZWN0LnNwbGl0KFwiLlwiKS5zbGljZSgtMikuam9pbihcIi5cIik7XG5cbiAgICBsZXQgZG9tYWluUGFydHMgPSBzdWJqZWN0LnNwbGl0KFwiLlwiKS5yZXZlcnNlKCk7XG5cbiAgICBsZXQgcm9vdERvbWFpblBhcnNlZCA9IFtkb21haW5QYXJ0cy5zaGlmdCgpLCBkb21haW5QYXJ0cy5zaGlmdCgpXS5yZXZlcnNlKCkuam9pbihcIi5cIik7XG4gICAgaWYgKHJvb3REb21haW5QYXJzZWQgIT09IGRvbWFpbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENlcnRpZmljYXRlIHJvb3QgZG9tYWluIHNob3VsZCBiZSAke2RvbWFpbn0sIGJ1dCBpcyAke3Jvb3REb21haW5QYXJzZWR9YCk7XG4gICAgfVxuICAgIC8vIFRPRE86IE1heWJlIGp1c3Qgc2tpcCBpZiBpdCBpc24ndCBhIGhhc2ggc3RyaW5nP1xuICAgIGlmIChkb21haW5QYXJ0c1swXSA9PT0gXCJub3Byb3h5XCIpIHtcbiAgICAgICAgZG9tYWluUGFydHMuc2hpZnQoKTtcbiAgICB9XG5cbiAgICBsZXQgaXNzdWVyQ2VydFBhcnNlZCA9IHBhcnNlQ2VydChpc3N1ZXJDZXJ0KTtcblxuICAgIGxldCBpc3N1ZXJFeHBlY3RlZFB1YmxpY0tleVBhcnQgPSBkb21haW5QYXJ0cy5zaGlmdCgpIHx8IFwiXCI7XG4gICAgbGV0IGlzc3VlckFjdHVhbFB1YmxpY0tleVBhcnQgPSBnZXREb21haW5QYXJ0RnJvbVB1YmxpY0tleShnZXRFRDI1NTE5UHVibGljS2V5KGlzc3VlckNlcnRQYXJzZWQpKTtcbiAgICBpZiAoaXNzdWVyRXhwZWN0ZWRQdWJsaWNLZXlQYXJ0ICE9PSBpc3N1ZXJBY3R1YWxQdWJsaWNLZXlQYXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSXNzdWVyIHB1YmxpYyBrZXkgaW4gdGhlIHVybCBpcyAke2lzc3VlckV4cGVjdGVkUHVibGljS2V5UGFydH0sIGJ1dCBpbiB0aGUgY2VydCBpcyAke2lzc3VlckFjdHVhbFB1YmxpY0tleVBhcnR9YCk7XG4gICAgfVxuXG4gICAgLy8gVGFrZSB0aGUgbGFzdCBwYXJ0XG4gICAgbGV0IGNlcnRFeHBlY3RlZFB1YmxpY0tleVBhcnQgPSBkb21haW5QYXJ0cy5zaGlmdCgpIHx8IFwiXCI7XG4gICAgbGV0IGNlcnRBY3R1YWxQdWJsaWNLZXlQYXJ0ID0gZ2V0RG9tYWluUGFydEZyb21QdWJsaWNLZXkoZ2V0RUQyNTUxOVB1YmxpY0tleShjZXJ0UGFyc2VkKSk7XG4gICAgaWYgKGNlcnRFeHBlY3RlZFB1YmxpY0tleVBhcnQgIT09IGNlcnRBY3R1YWxQdWJsaWNLZXlQYXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2VydGlmaWNhdGUgcHVibGljIGtleSBpbiB0aGUgdXJsIGlzICR7Y2VydEV4cGVjdGVkUHVibGljS2V5UGFydH0sIGJ1dCBpbiB0aGUgY2VydCBpcyAke2NlcnRBY3R1YWxQdWJsaWNLZXlQYXJ0fWApO1xuICAgIH1cblxuXG4gICAgbGV0IG5hbWVDb25zdHJhaW50cyA9IGlzc3VlckNlcnRQYXJzZWQuZ2V0RXh0ZW5zaW9uKFwibmFtZUNvbnN0cmFpbnRzXCIpIGFzIGFueTtcbiAgICBpZiAoIW5hbWVDb25zdHJhaW50cykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENBIG11c3QgaGF2ZSBuYW1lQ29uc3RyYWludHNgKTtcbiAgICB9XG4gICAgbGV0IHN1YnRyZWVzID0gbmFtZUNvbnN0cmFpbnRzLnBlcm1pdHRlZFN1YnRyZWVzO1xuICAgIGlmICghc3VidHJlZXMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDQSBtdXN0IGhhdmUgbmFtZUNvbnN0cmFpbnRzLnBlcm1pdHRlZFN1YnRyZWVzYCk7XG4gICAgfVxuICAgIGxldCBzdWJ0cmVlVmFsdWVzID0gc3VidHJlZXMubWFwKCh4OiBhbnkpID0+IHgudmFsdWUpO1xuICAgIC8vIElnbm9yZSBsb2NhbGhvc3REb21haW4sIGFzIGl0IGNhbiBhbHdheXMgc2FmZWx5IGJlIGFsbG93ZWQgKHRoZSBzYW1lIG1hY2hpbmUgaXMgYWx3YXlzIGFsbG93ZWQpLlxuICAgIHN1YnRyZWVWYWx1ZXMgPSBzdWJ0cmVlVmFsdWVzLmZpbHRlcigoeDogc3RyaW5nKSA9PiB4ICE9PSBsb2NhbGhvc3REb21haW4pO1xuICAgIGlmIChzdWJ0cmVlVmFsdWVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENBIG11c3QgaGF2ZSBhIHNpbmdsZSBjb25zdHJhaW5lZCBkb21haW4gKGhhZCAke0pTT04uc3RyaW5naWZ5KHN1YnRyZWVWYWx1ZXMpfSlgKTtcbiAgICB9XG5cbiAgICBsZXQgc3VidHJlZSA9IHN1YnRyZWVWYWx1ZXNbMF07XG4gICAgaWYgKHN1YnRyZWUgIT09IHN1YmplY3QgJiYgIXN1YmplY3QuZW5kc1dpdGgoXCIuXCIgKyBzdWJ0cmVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENlcnRpZmljYXRlIG11c3QgYmUgYSBzdWJ0cmVlIG9mIHRoZSBDQSAoQ0E6ICR7c3VidHJlZX0sIGNlcnQ6ICR7c3ViamVjdH0pYCk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGVBbHROYW1lcyhjZXJ0UGFyc2VkLCBzdWJqZWN0KTtcblxuICAgIC8vIFZlcmlmeSBpc3N1ZXIgQUNUVUFMTFkgc2lnbmVkIGNlcnRQYXJzZWRcbiAgICBpZiAoIWlzc3VlckNlcnRQYXJzZWQudmVyaWZ5KGNlcnRQYXJzZWQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSXNzdWVyIGRpZCBub3Qgc2lnbiBjZXJ0aWZpY2F0ZWApO1xuICAgIH1cbn1cblxuLy8gUmVxdWlyZSBhbHQgbmFtZXMgdG8gYmUgZWl0aGVyIGVxdWFsIHRvIFwiQ05cIiwgb3IgYSBzdWJ0cmVlIG9mIFwiQ05cIlxuZnVuY3Rpb24gdmFsaWRhdGVBbHROYW1lcyhjZXJ0UGFyc2VkOiBmb3JnZS5wa2kuQ2VydGlmaWNhdGUsIHN1YmplY3Q6IHN0cmluZykge1xuICAgIGxldCBsb2NhbGhvc3REb21haW4gPSBcIjEyNy0wLTAtMS5cIiArIHN1YmplY3Quc3BsaXQoXCIuXCIpLnNsaWNlKC0yKS5qb2luKFwiLlwiKTtcblxuICAgIGxldCBhbHROYW1lc09iaiA9IGNlcnRQYXJzZWQuZ2V0RXh0ZW5zaW9uKFwic3ViamVjdEFsdE5hbWVcIikgYXMgYW55O1xuICAgIGxldCBhbHROYW1lcyA9IGFsdE5hbWVzT2JqPy5hbHROYW1lcy5tYXAoKHg6IGFueSkgPT4geC52YWx1ZSk7XG4gICAgLy8gQWxsb3cgbG9jYWxob3N0RG9tYWluLCBhcyBpdCBjYW4gYWx3YXlzIHNhZmVseSBiZSBhbGxvd2VkXG4gICAgYWx0TmFtZXMgPSBhbHROYW1lcy5maWx0ZXIoKHg6IHN0cmluZykgPT4geCAhPT0gbG9jYWxob3N0RG9tYWluKTtcbiAgICBpZiAoXG4gICAgICAgIGFsdE5hbWVzLnNvbWUoKHg6IHN0cmluZykgPT5cbiAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgeCA9PT0gc3ViamVjdFxuICAgICAgICAgICAgICAgIHx8IHguZW5kc1dpdGgoXCIuXCIgKyBzdWJqZWN0KVxuICAgICAgICAgICAgICAgIC8vIE5PVEU6IFdlIGRvbid0IGFsbG93IDEyNy4wLjAuMSAofHwgeCA9PT0gQnVmZmVyLmZyb20oWzEyNywgMCwgMCwgMV0pLnRvU3RyaW5nKCkpLCBiZWNhdXNlIGl0IGlzIHNvIGVhc3kgdG8gcHVibGlzaCBhIDEyNy4wLjAuMSBBIHJlY29yZCwgYW5kIGV2ZW4gdG8gZ2VuZXJhdGUgYSByZWFsIGNlcnQsIHNvIHdlIHNob3VsZCBqdXN0IGRvIHRoYXQsIGFuZCBrZWVwIGl0IHNlY3VyZS4gSWYgd2UgbmVlZCB0aGlzIGZvciBkZXZlbG9wbWVudCB3ZSBjYW4gcHV0IGl0IGJlaGluZCBhIGZsYWcsIHNvIG5vbi1kZXZlbG9wbWVudCBpbnN0YW5jZXMgYXJlIHN0aWxsIHNlY3VyZS5cbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWx0IG5hbWVzLiBNdXN0IGJlIHN1YnRyZWVzIG9mIHRoZSBzdWJqZWN0IChDTikgJHtKU09OLnN0cmluZ2lmeShzdWJqZWN0KX0sIHdhcyAke0pTT04uc3RyaW5naWZ5KGFsdE5hbWVzKX1gKTtcbiAgICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlS2V5UGFpcigpIHtcbiAgICByZXR1cm4gbWVhc3VyZUJsb2NrKGZ1bmN0aW9uIGdlbmVyYXRlS2V5UGFpcigpIHtcbiAgICAgICAgLy8gTk9URTogV2UgdXNlIEVEMjU1MTkgYmVjYXVzZSBpdCBjYW4gZ2VuZXJhdGUga2V5cyBhYm91dCAxMFggZmFzdGVyIHRoYW4gUlNBICh3aGljaCBpcyBzdGlsbCBzbG93LCB+Nm1zIG9uIG15IG1hY2hpbmUsIHNvIHdlIERFRklOSVRFTFkgZG9uJ3Qgd2FudCBpdCB0byBiZSAxMFggc2xvd2VyISkgLSBodHRwczovL3NlY3VyaXR5LnN0YWNrZXhjaGFuZ2UuY29tL2EvMjM2OTQzLzI4MjM2N1xuICAgICAgICByZXR1cm4gZm9yZ2UuZWQyNTUxOS5nZW5lcmF0ZUtleVBhaXIoKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ0EoZG9tYWluOiBzdHJpbmcpIHtcbiAgICBjb25zdCBrZXlQYWlyID0gZ2VuZXJhdGVLZXlQYWlyKCk7XG4gICAgbGV0IGNhUHVibGljS2V5UGFydCA9IGdldERvbWFpblBhcnRGcm9tUHVibGljS2V5KGtleVBhaXIucHVibGljS2V5KTtcbiAgICBsZXQgZnVsbERvbWFpbiA9IGAke2NhUHVibGljS2V5UGFydH0uJHtkb21haW59YDtcbiAgICByZXR1cm4gY3JlYXRlWDUwOSh7IGRvbWFpbjogZnVsbERvbWFpbiwgaXNzdWVyOiBcInNlbGZcIiwga2V5UGFpciwgbGlmZVNwYW46IHRpbWVJbkRheSAqIDM2NSAqIDIwIH0pO1xufVxuXG5sZXQgaWRlbnRpdHlDQSA9IGNhY2hlKChkb21haW46IHN0cmluZykgPT4gbGF6eSgoKTogWDUwOUtleVBhaXIgPT4ge1xuICAgIGxldCBpZGVudGl0eUNBQ2FjaGVkID0gZ2V0SWRlbnRpdHlTdG9yZShkb21haW4pO1xuICAgIGxldCBjYUNhY2hlZCA9IGlkZW50aXR5Q0FDYWNoZWQuZ2V0KCk7XG4gICAgaWYgKCFjYUNhY2hlZCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgR2VuZXJhdGluZyBuZXcgaWRlbnRpdHkgQ0FgKTtcbiAgICAgICAgbGV0IHZhbHVlID0gZ2VuZXJhdGVDQShkb21haW4pO1xuICAgICAgICBjYUNhY2hlZCA9IHtcbiAgICAgICAgICAgIGRvbWFpbjogdmFsdWUuZG9tYWluLFxuICAgICAgICAgICAgY2VydEI2NDogdmFsdWUuY2VydC50b1N0cmluZyhcImJhc2U2NFwiKSxcbiAgICAgICAgICAgIGtleUI2NDogdmFsdWUua2V5LnRvU3RyaW5nKFwiYmFzZTY0XCIpLFxuICAgICAgICB9O1xuICAgICAgICBpZGVudGl0eUNBQ2FjaGVkLnNldChjYUNhY2hlZCk7XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSB7XG4gICAgICAgIGRvbWFpbjogY2FDYWNoZWQuZG9tYWluLFxuICAgICAgICBjZXJ0OiBCdWZmZXIuZnJvbShjYUNhY2hlZC5jZXJ0QjY0LCBcImJhc2U2NFwiKSxcbiAgICAgICAga2V5OiBCdWZmZXIuZnJvbShjYUNhY2hlZC5rZXlCNjQsIFwiYmFzZTY0XCIpLFxuICAgIH07XG4gICAgdHJ1c3RDZXJ0aWZpY2F0ZShyZXN1bHQuY2VydC50b1N0cmluZygpKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufSkpO1xuXG4vLyBJTVBPUlRBTlQhIFdlIGRvIG5vdCBlbWJlZCBhbnkgZGVidWcgaW5mbyBpbiB0aGlzIGRvbWFpbi4gSWYgd2UgZGlkLCBpdCB3b3VsZCBiZSB1c2VmdWwsIGJ1dC4uLiBwb3RlbnRhbGx5IGEgc2VjdXJpdHkgdnVsbmVyYWJpbGl0eSwgYXMgaWYgdGhlIGRlYnVnIGluZm8gKHN1Y2ggYXMgYSBwcmVmaXgpIGlzIHVzZWQgdG8gaWRlbnRpZnkgd2hhdCBhIGNlcnRpZmljYXRlIGlzIGZvciwgaXQgd291bGQgYmUgZWFzeSBmb3IgYW4gYXR0YWNrIHRvIGZvcmdlIHRoaXMgKGFzIHRoZSBkZWJ1ZyBpbmZvIHdvbid0IGJlIHNlY3VyZWQpLiBTbyBpdCBpcyBtdWNoIGJldHRlciB0byBrZWVwIHRoZSBjZXJ0aWZpY2F0ZSBvcGFxdWUsIGFuZCB0aGVuIHJlcXVpcmUgYW55IG1ldGFkYXRhIHRvIGJlIGFjdHVhbGx5IHZldHRlZCAoYW5kIGhvcGVmdWxseSBzdG9yZWQgaW4gYSBVSSwgc2hvd2luZyBJUCwgdGltZSwgZXRjKS5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDZXJ0RnJvbUNBKGNvbmZpZzoge1xuICAgIENBS2V5UGFpcjogWDUwOUtleVBhaXI7XG59KTogWDUwOUtleVBhaXIge1xuICAgIHJldHVybiBtZWFzdXJlQmxvY2soZnVuY3Rpb24gY3JlYXRlQ2VydEZyb21DQSgpIHtcbiAgICAgICAgbGV0IHsgQ0FLZXlQYWlyIH0gPSBjb25maWc7XG4gICAgICAgIGNvbnN0IGtleVBhaXIgPSBnZW5lcmF0ZUtleVBhaXIoKTtcbiAgICAgICAgbGV0IGRvbWFpbktleVBhcnQgPSBnZXREb21haW5QYXJ0RnJvbVB1YmxpY0tleShrZXlQYWlyLnB1YmxpY0tleSk7XG4gICAgICAgIGxldCBmdWxsRG9tYWluID0gYCR7ZG9tYWluS2V5UGFydH0uJHtjb25maWcuQ0FLZXlQYWlyLmRvbWFpbn1gO1xuICAgICAgICByZXR1cm4gY3JlYXRlWDUwOSh7XG4gICAgICAgICAgICBkb21haW46IGZ1bGxEb21haW4sXG4gICAgICAgICAgICBpc3N1ZXI6IENBS2V5UGFpcixcbiAgICAgICAgICAgIGtleVBhaXIsXG4gICAgICAgICAgICBsaWZlU3BhbjogdGltZUluRGF5ICogMzY1ICogMTAsXG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFjaGluZUlkKGRvbWFpbk5hbWVPck5vZGVJZDogc3RyaW5nLCBkb21haW46IHN0cmluZykge1xuICAgIHJldHVybiBkZWNvZGVOb2RlSWRBc3NlcnQoZG9tYWluTmFtZU9yTm9kZUlkLCBkb21haW4sIFwiYWxsb3dNaXNzaW5nVGhyZWFkSWRcIikubWFjaGluZUlkO1xufVxuXG5leHBvcnQgdHlwZSBOb2RlSWRQYXJ0cyA9IHtcbiAgICB0aHJlYWRJZDogc3RyaW5nO1xuICAgIG1hY2hpbmVJZDogc3RyaW5nO1xuICAgIGRvbWFpbjogc3RyaW5nO1xuICAgIHBvcnQ6IG51bWJlcjtcbn07XG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlTm9kZUlkKG5vZGVJZDogc3RyaW5nLCBkb21haW46IHN0cmluZywgYWxsb3dNaXNzaW5nVGhyZWFkSWQ/OiBcImFsbG93TWlzc2luZ1RocmVhZElkXCIpOiBOb2RlSWRQYXJ0cyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGxvY2F0aW9uT2JqID0gZ2V0Tm9kZUlkTG9jYXRpb24obm9kZUlkKTtcbiAgICBpZiAoIWxvY2F0aW9uT2JqKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGxldCBwYXJ0cyA9IGxvY2F0aW9uT2JqLmFkZHJlc3Muc3BsaXQoXCIuXCIpO1xuICAgIC8vIE5PVEU6IFdlIGhhdmUgdG8gb25seSBhbGxvdyBsb2NhbGhvc3QgZG9tYWlucyBvbiBvdXIgb3duIGRvbWFpbiwgYXMgdGhlIHVuZGVybHlpbmcgZG9tYWluIGdldHMgc3RyaXBwZWQgd2hlbiB3ZSdyZSBsb29raW5nIGF0IHRoZSBtYWNoaW5lSWQuIFNvIGlmIHdlIGFsbG93ZWQgbG9jYWxob3N0IGRvbWFpbnMgb24gb3RoZXIgZG9tYWlucywgYSBzZXJ2ZXIgY291bGQgdHJpY2sgdXMgaW50byBjb25uZWN0aW5nIHRvIGl0LCBhbmQgdGhlbiBvbmNlIHRoZSBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkLCBpdCBjb3VsZCB0YWxrIGJhY2sgYW5kIHdlIHdvdWxkIHRoaW5rIGl0IGhhcyBhIGxvY2FsaG9zdCBtYWNoaW5lSWQsIHdoaWNoIGlzIGltcGxpY2l0bHkgdHJ1c3RlZCwgd2hpY2ggd291bGQgdGhlbiBnaXZlIGl0IGFjY2VzcyB0byBldmVyeXRoaW5nLlxuICAgIGlmIChsb2NhdGlvbk9iai5hZGRyZXNzID09PSBgMTI3LTAtMC0xLiR7ZG9tYWlufWAgJiYgbm9kZUlkLmluY2x1ZGVzKFwiOlwiKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGhyZWFkSWQ6IFwiXCIsXG4gICAgICAgICAgICBtYWNoaW5lSWQ6IHBhcnRzLmF0KC0zKSB8fCBcIlwiLFxuICAgICAgICAgICAgZG9tYWluOiBwYXJ0cy5zbGljZSgtMikuam9pbihcIi5cIiksXG4gICAgICAgICAgICBwb3J0OiBsb2NhdGlvbk9iai5wb3J0LFxuICAgICAgICB9O1xuICAgIH1cbiAgICBsZXQgaXNWYWxpZCA9IHBhcnRzLmxlbmd0aCA+PSA0IHx8IGFsbG93TWlzc2luZ1RocmVhZElkICYmIHBhcnRzLmxlbmd0aCA9PT0gMztcbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGhyZWFkSWQ6IHBhcnRzLmF0KC00KSB8fCBcIlwiLFxuICAgICAgICBtYWNoaW5lSWQ6IHBhcnRzLmF0KC0zKSB8fCBcIlwiLFxuICAgICAgICBkb21haW46IHBhcnRzLnNsaWNlKC0yKS5qb2luKFwiLlwiKSB8fCBcIlwiLFxuICAgICAgICBwb3J0OiBsb2NhdGlvbk9iai5wb3J0LFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlTm9kZUlkQXNzZXJ0KG5vZGVJZDogc3RyaW5nLCBkb21haW46IHN0cmluZywgYWxsb3dNaXNzaW5nVGhyZWFkSWQ/OiBcImFsbG93TWlzc2luZ1RocmVhZElkXCIpOiBOb2RlSWRQYXJ0cyB7XG4gICAgbGV0IHJlc3VsdCA9IGRlY29kZU5vZGVJZChub2RlSWQsIGRvbWFpbiwgYWxsb3dNaXNzaW5nVGhyZWFkSWQpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBub2RlSWQ6ICR7SlNPTi5zdHJpbmdpZnkobm9kZUlkKX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVOb2RlSWQocGFydHM6IE5vZGVJZFBhcnRzKSB7XG4gICAgcmV0dXJuIGAke3BhcnRzLnRocmVhZElkfS4ke3BhcnRzLm1hY2hpbmVJZH0uJHtwYXJ0cy5kb21haW59OiR7cGFydHMucG9ydH1gO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0SWRlbnRpdHlDQVJhdyhkb21haW46IHN0cmluZywganNvbjogc3RyaW5nKSB7XG4gICAgbGV0IGlkZW50aXR5Q0FDYWNoZWQgPSBnZXRJZGVudGl0eVN0b3JlKGRvbWFpbik7XG4gICAgbGV0IG9iaiA9IEpTT04ucGFyc2UoanNvbikgYXMge1xuICAgICAgICBkb21haW46IHN0cmluZztcbiAgICAgICAgY2VydEI2NDogc3RyaW5nO1xuICAgICAgICBrZXlCNjQ6IHN0cmluZztcbiAgICB9O1xuICAgIGxldCBjYSA9IHtcbiAgICAgICAgZG9tYWluOiBvYmouZG9tYWluLFxuICAgICAgICBjZXJ0OiBCdWZmZXIuZnJvbShvYmouY2VydEI2NCwgXCJiYXNlNjRcIiksXG4gICAgICAgIGtleTogQnVmZmVyLmZyb20ob2JqLmtleUI2NCwgXCJiYXNlNjRcIiksXG4gICAgfTtcbiAgICB0cnVzdENlcnRpZmljYXRlKGNhLmNlcnQudG9TdHJpbmcoKSk7XG4gICAgaWRlbnRpdHlDQShkb21haW4pLnNldChjYSk7XG4gICAgZ2V0VGhyZWFkS2V5Q2VydEJhc2UoZG9tYWluKS5yZXNldCgpO1xuICAgIGlkZW50aXR5Q0FDYWNoZWQuc2V0KG9iaik7XG4gICAgcmVzZXRBbGxOb2RlQ2FsbEZhY3RvcmllcygpO1xufVxuXG4vLyBOT1RFOiBUaGUgaWRlbnRpdHkgQ0EgaXMgYXZhaWxhYmxlIHN5bmNocm9ub3VzbHkgKHN0b3JhZ2UgaXMgZnMvbG9jYWxTdG9yYWdlLCBib3RoIHN5bmNocm9ub3VzKSwgc28gdGhpcyBvbmx5IGV4aXN0cyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCBzdGFydHVwIGNvZGUgdGhhdCBhd2FpdHMgaXQuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZElkZW50aXR5Q0EoZG9tYWluOiBzdHJpbmcpIHtcbiAgICBpZGVudGl0eUNBKGRvbWFpbikoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRJZGVudGl0eUNBKGRvbWFpbjogc3RyaW5nKTogWDUwOUtleVBhaXIge1xuICAgIHJldHVybiBpZGVudGl0eUNBKGRvbWFpbikoKTtcbn1cblxuLy8gVE9ETzogUmVwbGFjZSB0aGlzIHdpdGggYSBkYXRhYmFzZSwgc28gaXQgaXMgZWFzeSBmb3IgdXMgdG8gdHJ1c3QgQ0FzIGNyb3NzIG1hY2hpbmUsIGFuZCBldmVuIGhhdmUgbXVsdGlwbGUgdXNlcnMsIGV0YywgZXRjLlxuZXhwb3J0IGZ1bmN0aW9uIGdldElkZW50aXR5Q0FQcm9taXNlKGRvbWFpbjogc3RyaW5nKTogWDUwOUtleVBhaXIge1xuICAgIHJldHVybiBpZGVudGl0eUNBKGRvbWFpbikoKTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3duTWFjaGluZUlkKGRvbWFpbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGdldE1hY2hpbmVJZChnZXRJZGVudGl0eUNBKGRvbWFpbikuZG9tYWluLCBkb21haW4pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE93blRocmVhZElkKGRvbWFpbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGRlY29kZU5vZGVJZEFzc2VydChnZXRUaHJlYWRLZXlDZXJ0KGRvbWFpbikuZG9tYWluLCBkb21haW4pLnRocmVhZElkO1xufVxuXG4vKiogUGFydCBvZiB0aGUgbWFjaGluZUlkIGNvbWVzIGZyb20gdGhlIHB1YmxpY0tleSwgc28gd2UgY2FuIHVzZSBpdCB0byB2ZXJpZnkuXG5cbiAgICBGYWlybHkgd2VhazogaXQgb25seSBwcm92ZXMgdGhlIGlkIG5hbWVzIHRoaXMga2V5LCBub3QgdGhhdCB0aGUgY2FsbGVyIGhvbGRzIHRoZSBrZXkgLSB1c3VhbGx5IGFcbiAgICBiZXR0ZXIgd29ya2Zsb3cgc2hvdWxkIGJlIHVzZWQsIHdpdGggYSBiYWNrIGFuZCBmb3J0aCAoZXgsIHZhbGlkYXRlQ2VydGlmaWNhdGUgb3ZlciBhIHNpZ25lZFxuICAgIGV4Y2hhbmdlKS4gSW4gc29tZSBjYXNlcyBpdCBpcyBzdWZmaWNpZW50LCBzdWNoIGFzIGV4cG9zaW5nIHNvdXJjZSBtYXBzIHRvIHRoZSBjbGllbnQuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5TWFjaGluZUlkRm9yUHVibGljS2V5KGNvbmZpZzoge1xuICAgIG1hY2hpbmVJZDogc3RyaW5nO1xuICAgIHB1YmxpY0tleTogQnVmZmVyO1xufSk6IGJvb2xlYW4ge1xuICAgIGxldCB7IG1hY2hpbmVJZCwgcHVibGljS2V5IH0gPSBjb25maWc7XG4gICAgbGV0IGRvbWFpblBhcnQgPSBnZXREb21haW5QYXJ0RnJvbVB1YmxpY0tleShwdWJsaWNLZXkpO1xuICAgIC8vIG1hY2hpbmVJZCBpcyB0aGUgYmFyZSBrZXktaGFzaCBsYWJlbCwgYnV0IGFsc28gYWNjZXB0IGxlZ2FjeSBcImhhc2guZG9tYWluLnRsZFwiIGZvcm1zXG4gICAgcmV0dXJuIG1hY2hpbmVJZC5zcGxpdChcIi5cIilbMF0gPT09IGRvbWFpblBhcnQ7XG59XG5cbi8vIE5PVEU6IFdlIGRvbid0IGhhdmUgYSBjYWNoZSBwZXIgQ0EsIGFzLi4uIHRoZSBDQSBzaG91bGQgYmUgc2V0IGZpcnN0XG4vLyBUT0RPOiBNYXliZSB0aHJvdyBpZiB0aGV5IHRyeSB0byBjaGFuZ2UgdGhlIENBIGFmdGVyIHRoZXkgZ2VuZXJhdGUgYW55IGNlcnRpZmljYXRlcz9cbi8vIFRPRE86IFJlZ2VuZXJhdGUgY2VydGlmaWNhdGVzIGFmdGVyIGVub3VnaCB0aW1lIChhcyB0aHJlYWQgY2VydHMgc2hvdWxkIGJlIHJlbGF0aXZlbHkgc2hvcnQgbGl2ZWQsIHNvIGl0IGlzIHBsYXVzaWJsZSBmb3IgdGhlbSB0byBleHBpcmUpLiBXZSB3aWxsIGFsc28gbmVlZCB0byBwcm92aWRlIGEgY2FsbGJhY2sgc28gdGhhdCB1c2VycyBvZiB0aGUgY2VydCBjYW4gdXBkYXRlIHRoZSBjZXJ0IHRoZXkgYXJlIHVzaW5nIGFzIHdlbGwuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGhyZWFkS2V5Q2VydChkb21haW46IHN0cmluZykge1xuICAgIHJldHVybiBnZXRUaHJlYWRLZXlDZXJ0QmFzZShkb21haW4pKCk7XG59XG5jb25zdCBnZXRUaHJlYWRLZXlDZXJ0QmFzZSA9IGNhY2hlKChkb21haW46IHN0cmluZykgPT4gbGF6eSgoKSA9PiB7XG4gICAgbGV0IGNhID0gZ2V0SWRlbnRpdHlDQShkb21haW4pO1xuICAgIHJldHVybiBjcmVhdGVDZXJ0RnJvbUNBKHsgQ0FLZXlQYWlyOiBjYSB9KTtcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE93bk5vZGVJZCgpOiBzdHJpbmcge1xuICAgIGxldCBub2RlSWQgPSBTb2NrZXRGdW5jdGlvbi5tb3VudGVkTm9kZUlkO1xuICAgIGlmICghbm9kZUlkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm9kZSBtdXN0IGJlIG1vdW50ZWQgYmVmb3JlIG5vZGVJZCBpcyBhY2Nlc3NlZGApO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZUlkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3duTm9kZUlkQWxsb3dVbmRlZmluZWQoKSB7XG4gICAgcmV0dXJuIFNvY2tldEZ1bmN0aW9uLm1vdW50ZWROb2RlSWQ7XG59Il19
|
|
477
|
-
/* _JS_SOURCE_HASH = "
|
|
477
|
+
/* _JS_SOURCE_HASH = "24884b692575afc3e97913a5a6bc3b5a2ca5deb4010161f411d57e42da9d5c78"; */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
3
3
|
//exports.cloudflareCall = exports.cloudflarePOSTCall = exports.cloudflareGETCall = exports.getCloudflareCreds = void 0;
|
|
4
4
|
const caching_1 = require("socket-function/src/caching");
|
|
@@ -65,4 +65,4 @@ async function cloudflareCall(path, payload, method) {
|
|
|
65
65
|
}
|
|
66
66
|
exports.cloudflareCall = cloudflareCall;
|
|
67
67
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmbGFyZUhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZsYXJlSGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBbUQ7QUFDbkQscURBQXlEO0FBQ3pELDRDQUF5QztBQVE1QixRQUFBLGtCQUFrQixHQUFHLElBQUEsY0FBSSxFQUFDLEtBQUssSUFBOEIsRUFBRTtJQUN4RSxpR0FBaUc7SUFDakcsSUFBSSxDQUFDO1FBQ0QsSUFBSSxHQUFHLEdBQUcsTUFBTSxJQUFBLHFCQUFTLEVBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNqRCxJQUFJLEtBQUssR0FBRyxNQUFNLElBQUEscUJBQVMsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUFDLFdBQU0sQ0FBQyxDQUFDLENBQUM7SUFFWCxzSkFBc0o7SUFDdEosT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUEscUJBQVMsRUFBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7QUFDM0QsQ0FBQyxDQUFDLENBQUM7QUFFSCxTQUFTLGNBQWMsQ0FBQyxLQUFzQjtJQUMxQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNkLE9BQU87WUFDSCxjQUFjLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDM0IseUJBQXlCLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDcEMsWUFBWSxFQUFFLEtBQUssQ0FBQyxHQUFHO1NBQzFCLENBQUM7SUFDTixDQUFDO0lBQ0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO0FBQ3RELENBQUM7QUFFTSxLQUFLLFVBQVUsaUJBQWlCLENBQUksSUFBWSxFQUFFLE1BQWtDO0lBQ3ZGLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLHNDQUFzQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pFLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3BELEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFBLDBCQUFrQixHQUFFLENBQUM7SUFDdkMsSUFBSSxNQUFNLEdBQUcsTUFBTSxJQUFBLG9CQUFZLEVBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQ2xFLE9BQU8sRUFBRTtZQUNMLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO1NBQzNCO0tBQ0osQ0FBQyxDQUFDO0lBQ0gsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQXVGLENBQUM7SUFDbEksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFXLENBQUM7QUFDL0IsQ0FBQztBQWpCRCw4Q0FpQkM7QUFDTSxLQUFLLFVBQVUsa0JBQWtCLENBQUksSUFBWSxFQUFFLE1BQWtDO0lBQ3hGLE9BQU8sTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ25GLENBQUM7QUFGRCxnREFFQztBQUNNLEtBQUssVUFBVSxjQUFjLENBQUksSUFBWSxFQUFFLE9BQWUsRUFBRSxNQUFjO0lBQ2pGLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLHNDQUFzQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pFLElBQUksS0FBSyxHQUFHLE1BQU0sSUFBQSwwQkFBa0IsR0FBRSxDQUFDO0lBQ3ZDLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBQSxvQkFBWSxFQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtRQUN4RSxPQUFPLEVBQUU7WUFDTCxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztTQUMzQjtLQUNKLENBQUMsQ0FBQztJQUNILElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUF1RixDQUFDO0lBQ2xJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsTUFBVyxDQUFDO0FBQy9CLENBQUM7QUFkRCx3Q0FjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhenkgfSBmcm9tIFwic29ja2V0LWZ1bmN0aW9uL3NyYy9jYWNoaW5nXCI7XG5pbXBvcnQgeyBodHRwc1JlcXVlc3QgfSBmcm9tIFwic29ja2V0LWZ1bmN0aW9uL3NyYy9odHRwc1wiO1xuaW1wb3J0IHsgZ2V0U2VjcmV0IH0gZnJvbSBcIi4uL2dldFNlY3JldFwiO1xuXG5leHBvcnQgdHlwZSBDbG91ZGZsYXJlQ3JlZHMgPSB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgLyoqIFNldCBmb3IgbGVnYWN5IGdsb2JhbCBBUEkga2V5cywgd2hpY2ggYXV0aCB2aWEgWC1BdXRoLUVtYWlsL1gtQXV0aC1LZXkuIEFic2VudCBmb3IgQVBJIHRva2Vucywgd2hpY2ggYXV0aCB2aWEgQXV0aG9yaXphdGlvbjogQmVhcmVyLiAqL1xuICAgIGVtYWlsPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENsb3VkZmxhcmVDcmVkcyA9IGxhenkoYXN5bmMgKCk6IFByb21pc2U8Q2xvdWRmbGFyZUNyZWRzPiA9PiB7XG4gICAgLy8gTGVnYWN5IGdsb2JhbC1rZXkgYXV0aCBuZWVkcyBhbiBlbWFpbCBhbG9uZ3NpZGUgdGhlIGtleSwgc28gcHJlZmVyIGl0IHdoZW4gYm90aCBzZWNyZXRzIGV4aXN0LlxuICAgIHRyeSB7XG4gICAgICAgIGxldCBrZXkgPSBhd2FpdCBnZXRTZWNyZXQoXCJjbG91ZGZsYXJlLmpzb24ua2V5XCIpO1xuICAgICAgICBsZXQgZW1haWwgPSBhd2FpdCBnZXRTZWNyZXQoXCJjbG91ZGZsYXJlLmpzb24uZW1haWxcIik7XG4gICAgICAgIHJldHVybiB7IGtleSwgZW1haWwgfTtcbiAgICB9IGNhdGNoIHsgfVxuXG4gICAgLy8gQVBJIHRva2VuIGZvcm0uIERlbGliZXJhdGVseSBOT1QgY2F1Z2h0OiBpZiB0aGlzIGZhaWxzIHRvbywgZ2V0U2VjcmV0J3MgZXJyb3IgKHdoaWNoIG5hbWVzIGV2ZXJ5IHBsYWNlIGl0IGxvb2tlZCkgaXMgdGhlIG9uZSB0aGUgY2FsbGVyIHNob3VsZCBzZWUuXG4gICAgcmV0dXJuIHsga2V5OiBhd2FpdCBnZXRTZWNyZXQoXCJjbG91ZGZsYXJlLmpzb24ua2V5XCIpIH07XG59KTtcblxuZnVuY3Rpb24gZ2V0QXV0aEhlYWRlcnMoY3JlZHM6IENsb3VkZmxhcmVDcmVkcyk6IHsgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGlmIChjcmVkcy5lbWFpbCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgXCJYLUF1dGgtRW1haWxcIjogY3JlZHMuZW1haWwsXG4gICAgICAgICAgICBcIlgtQXV0aC1Vc2VyLVNlcnZpY2UtS2V5XCI6IGNyZWRzLmtleSxcbiAgICAgICAgICAgIFwiWC1BdXRoLUtleVwiOiBjcmVkcy5rZXksXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7IFwiQXV0aG9yaXphdGlvblwiOiBgQmVhcmVyICR7Y3JlZHMua2V5fWAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNsb3VkZmxhcmVHRVRDYWxsPFQ+KHBhdGg6IHN0cmluZywgcGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IFByb21pc2U8VD4ge1xuICAgIGxldCB1cmwgPSBuZXcgVVJMKGBodHRwczovL2FwaS5jbG91ZGZsYXJlLmNvbS9jbGllbnQvdjRgICsgcGF0aCk7XG4gICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcyB8fCB7fSkpIHtcbiAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICAgIGxldCBjcmVkcyA9IGF3YWl0IGdldENsb3VkZmxhcmVDcmVkcygpO1xuICAgIGxldCByZXN1bHQgPSBhd2FpdCBodHRwc1JlcXVlc3QodXJsLnRvU3RyaW5nKCksIFtdLCBcIkdFVFwiLCB1bmRlZmluZWQsIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAuLi5nZXRBdXRoSGVhZGVycyhjcmVkcyksXG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBsZXQgcmVzdWx0MiA9IEpTT04ucGFyc2UocmVzdWx0LnRvU3RyaW5nKCkpIGFzIHsgcmVzdWx0OiB1bmtub3duOyBzdWNjZXNzOiBib29sZWFuOyBlcnJvcnM6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfVtdIH07XG4gICAgaWYgKCFyZXN1bHQyLnN1Y2Nlc3MpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDbG91ZGZsYXJlIGNhbGwgZmFpbGVkOiAke3Jlc3VsdDIuZXJyb3JzLm1hcCh4ID0+IHgubWVzc2FnZSkuam9pbihcIiwgXCIpfWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0Mi5yZXN1bHQgYXMgVDtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbG91ZGZsYXJlUE9TVENhbGw8VD4ocGF0aDogc3RyaW5nLCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9KTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIGF3YWl0IGNsb3VkZmxhcmVDYWxsKHBhdGgsIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHBhcmFtcykpLCBcIlBPU1RcIik7XG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2xvdWRmbGFyZUNhbGw8VD4ocGF0aDogc3RyaW5nLCBwYXlsb2FkOiBCdWZmZXIsIG1ldGhvZDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gICAgbGV0IHVybCA9IG5ldyBVUkwoYGh0dHBzOi8vYXBpLmNsb3VkZmxhcmUuY29tL2NsaWVudC92NGAgKyBwYXRoKTtcbiAgICBsZXQgY3JlZHMgPSBhd2FpdCBnZXRDbG91ZGZsYXJlQ3JlZHMoKTtcbiAgICBsZXQgcmVzdWx0ID0gYXdhaXQgaHR0cHNSZXF1ZXN0KHVybC50b1N0cmluZygpLCBwYXlsb2FkLCBtZXRob2QsIHVuZGVmaW5lZCwge1xuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgIC4uLmdldEF1dGhIZWFkZXJzKGNyZWRzKSxcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGxldCByZXN1bHQyID0gSlNPTi5wYXJzZShyZXN1bHQudG9TdHJpbmcoKSkgYXMgeyByZXN1bHQ6IHVua25vd247IHN1Y2Nlc3M6IGJvb2xlYW47IGVycm9yczogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9W10gfTtcbiAgICBpZiAoIXJlc3VsdDIuc3VjY2Vzcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENsb3VkZmxhcmUgY2FsbCBmYWlsZWQ6ICR7cmVzdWx0Mi5lcnJvcnMubWFwKHggPT4geC5tZXNzYWdlKS5qb2luKFwiLCBcIil9YCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQyLnJlc3VsdCBhcyBUO1xufVxuIl19
|
|
68
|
-
/* _JS_SOURCE_HASH = "
|
|
68
|
+
/* _JS_SOURCE_HASH = "6d49ba115f1c398bd3914ce2dcad5bb9959e4ab49ad84b7200b0f6eac8f5fbb2"; */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
3
3
|
//exports.addRecord = exports.setRecord = exports.deleteRecord = exports.getRecords = exports.batchRecords = exports.getRecordsRaw = exports.getZoneId = exports.hasDNSWritePermissions = exports.freshnessTime = void 0;
|
|
4
4
|
const caching_1 = require("socket-function/src/caching");
|
|
@@ -166,4 +166,4 @@ async function addRecord(type, key, value, proxied, staleAfter = DNS_REFRESH_STA
|
|
|
166
166
|
}
|
|
167
167
|
exports.addRecord = addRecord;
|
|
168
168
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZG5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUEwRDtBQUMxRCwyREFBcUQ7QUFDckQsbUVBQWdFO0FBQ2hFLG1EQUE2RDtBQUM3RCx3RUFBbUU7QUFDbkUsMkRBQWdIO0FBRWhILE1BQU0sY0FBYyxHQUFHO0lBQ25CLEtBQUssRUFBRSxFQUFFO0lBQ1QsR0FBRyxFQUFFLEVBQUU7Q0FDVixDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBRyxnQkFBUyxDQUFDO0FBRTFDLHdGQUF3RjtBQUN4Riw4V0FBOFc7QUFDOVcsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUM7QUFFekMsMkZBQTJGO0FBQzNGLFNBQVMsY0FBYyxDQUFDLE9BQWdCO0lBQ3BDLElBQUksSUFBSSxHQUFHLENBQUMsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvRCxJQUFJLEtBQUssR0FBRyxZQUFZLElBQUksSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztJQUNqRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUM3QyxDQUFDO0FBQ0Qsc0ZBQXNGO0FBQ3RGLFNBQWdCLGFBQWEsQ0FBQyxPQUFnQjtJQUMxQyxJQUFJLEtBQUssR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFDckIsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMs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LENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3ZELEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEtBQUssU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO0tBQzdHLENBQUMsQ0FBQztJQUNILElBQUksUUFBUTtRQUFFLE9BQU87SUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsa0NBQWtDLENBQUMsQ0FBQztJQUM5RCxLQUFLLElBQUksT0FBTyxHQUFHLEdBQUcsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDN0MsTUFBTSxJQUFBLGdCQUFLLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sa0JBQWtCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUF0QkQsOEJBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FjaGUsIGxhenkgfSBmcm9tIFwic29ja2V0LWZ1bmN0aW9uL3NyYy9jYWNoaW5nXCI7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCJzb2NrZXQtZnVuY3Rpb24vc3JjL2JhdGNoaW5nXCI7XG5pbXBvcnQgeyBTb2NrZXRGdW5jdGlvbiB9IGZyb20gXCJzb2NrZXQtZnVuY3Rpb24vU29ja2V0RnVuY3Rpb25cIjtcbmltcG9ydCB7IGlzTm9kZSwgdGltZUluRGF5IH0gZnJvbSBcInNvY2tldC1mdW5jdGlvbi9zcmMvbWlzY1wiO1xuaW1wb3J0IHsgbWFnZW50YSB9IGZyb20gXCJzb2NrZXQtZnVuY3Rpb24vc3JjL2Zvcm1hdHRpbmcvbG9nQ29sb3JzXCI7XG5pbXBvcnQgeyBjbG91ZGZsYXJlQ2FsbCwgY2xvdWRmbGFyZUdFVENhbGwsIGNsb3VkZmxhcmVQT1NUQ2FsbCwgZ2V0Q2xvdWRmbGFyZUNyZWRzIH0gZnJvbSBcIi4vY2xvdWRmbGFyZUhlbHBlcnNcIjtcblxuY29uc3QgRE5TX1RUTFNlY29uZHMgPSB7XG4gICAgXCJUWFRcIjogNjAsXG4gICAgXCJBXCI6IDYwLFxufTtcblxuY29uc3QgRE5TX1JFRlJFU0hfU1RBTEVfQUZURVIgPSB0aW1lSW5EYXk7XG5cbi8vIFdlIHN0YW1wIG91ciBvd24gXCJsYXN0IGFzc2VydGVkXCIgdGltZSBpbnRvIHRoZSByZWNvcmQncyBjb21tZW50LCBiZWNhdXNlIENsb3VkZmxhcmUnc1xuLy8gIG1vZGlmaWVkX29uIGNhbiBvbmx5IGJlIG1vdmVkIGJ5IGFuIGFjdHVhbCBjb250ZW50IGNoYW5nZSAtIGFuZCByZS1hc3NlcnRpbmcgYW4gYWxyZWFkeSBjb3JyZWN0IHJlY29yZCBoYXMgbm8gY29udGVudCBjaGFuZ2UgdG8gbWFrZSAoYSBjcmVhdGUgZXJyb3JzIHdpdGggODEwNTgsIGEgbm8tb3AgZWRpdCBkb2Vzbid0IGJ1bXAgdGhlIHRpbWVzdGFtcCkuIFJlYWRpbmcgZnJlc2huZXNzIGZyb20gdGV4dCB3ZSBjb250cm9sIHNpZGVzdGVwcyB0aGF0IGVudGlyZWx5LCBhbmQgbGV0cyB1cyByZWZyZXNoIGEgc3RhbGUtYnV0LWNvcnJlY3QgcmVjb3JkIGluIHBsYWNlIGluc3RlYWQgb2YgZGVsZXRpbmcgYW5kIHJlY3JlYXRpbmcgaXQuXG5jb25zdCBGUkVTSE5FU1NfUkVHRVggPSAvPHNldCBvbjpbXj5dKj4vO1xuXG4vKiogU3RyaXBzIGFueSBwcmlvciBmcmVzaG5lc3MgdGFnIGFuZCBhcHBlbmRzIGEgbmV3IG9uZSwgcHJlc2VydmluZyBvdGhlciBjb21tZW50IHRleHQuICovXG5mdW5jdGlvbiBzdGFtcEZyZXNobmVzcyhjb21tZW50Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgYmFzZSA9IChjb21tZW50ID8/IFwiXCIpLnJlcGxhY2UoRlJFU0hORVNTX1JFR0VYLCBcIlwiKS50cmltKCk7XG4gICAgbGV0IHN0YW1wID0gYDxzZXQgb246ICR7bmV3IERhdGUoKS50b1N0cmluZygpfT5gO1xuICAgIHJldHVybiBiYXNlID8gYCR7YmFzZX0gJHtzdGFtcH1gIDogc3RhbXA7XG59XG4vKiogUGFyc2VzIG91ciB0YWcgYmFjayBvdXQ7IDAgKGkuZS4gYWx3YXlzIHN0YWxlKSB3aGVuIGl0J3MgYWJzZW50IG9yIHVucGFyc2VhYmxlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyZXNobmVzc1RpbWUoY29tbWVudD86IHN0cmluZyk6IG51bWJlciB7XG4gICAgbGV0IG1hdGNoID0gRlJFU0hORVNTX1JFR0VYLmV4ZWMoY29tbWVudCA/PyBcIlwiKTtcbiAgICBpZiAoIW1hdGNoKSByZXR1cm4gMDtcbiAgICByZXR1cm4gbmV3IERhdGUobWF0Y2hbMF0ucmVwbGFjZShcIjxzZXQgb246XCIsIFwiXCIpLnJlcGxhY2UoXCI+XCIsIFwiXCIpLnRyaW0oKSkuZ2V0VGltZSgpIHx8IDA7XG59XG5cbmV4cG9ydCBjb25zdCBoYXNETlNXcml0ZVBlcm1pc3Npb25zID0gbGF6eShhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc05vZGUoKSkgcmV0dXJuIGZhbHNlO1xuICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGdldENsb3VkZmxhcmVDcmVkcygpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0Wm9uZUlkID0gY2FjaGUoYXN5bmMgKHJvb3REb21haW46IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gICAgbGV0IHpvbmVzID0gYXdhaXQgY2xvdWRmbGFyZUdFVENhbGw8eyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfVtdPihcIi96b25lc1wiLCB7fSk7XG4gICAgbGV0IHNlbGVjdGVkID0gem9uZXMuZmluZCh4ID0+IHgubmFtZSA9PT0gcm9vdERvbWFpbik7XG4gICAgaWYgKCFzZWxlY3RlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIHpvbmUgZm9yICR7cm9vdERvbWFpbn0uIEZvdW5kICR7em9uZXMubWFwKHggPT4geC5uYW1lKS5qb2luKFwiLCBcIil9YCk7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RlZC5pZDtcbn0pO1xuXG5mdW5jdGlvbiBnZXRSb290RG9tYWluKGtleTogc3RyaW5nKSB7XG4gICAgaWYgKGtleS5lbmRzV2l0aChcIi5cIikpIHtcbiAgICAgICAga2V5ID0ga2V5LnNsaWNlKDAsIC0xKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleS5zcGxpdChcIi5cIikuc2xpY2UoLTIpLmpvaW4oXCIuXCIpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UmVjb3Jkc1Jhdyh0eXBlOiBzdHJpbmcsIGtleTogc3RyaW5nKSB7XG4gICAgaWYgKGtleS5lbmRzV2l0aChcIi5cIikpIGtleSA9IGtleS5zbGljZSgwLCAtMSk7XG4gICAgbGV0IHpvbmVJZCA9IGF3YWl0IGdldFpvbmVJZChnZXRSb290RG9tYWluKGtleSkpO1xuICAgIGxldCByZXN1bHRzID0gYXdhaXQgY2xvdWRmbGFyZUdFVENhbGw8e1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgY29udGVudDogc3RyaW5nO1xuICAgICAgICBwcm94aWVkOiBib29sZWFuO1xuICAgICAgICBtb2RpZmllZF9vbjogc3RyaW5nO1xuICAgICAgICAvLyBPbWl0dGVkIGJ5IENsb3VkZmxhcmUgd2hlbiB0aGUgcmVjb3JkIGhhcyBubyBjb21tZW50LlxuICAgICAgICBjb21tZW50Pzogc3RyaW5nO1xuICAgIH1bXT4oYC96b25lcy8ke3pvbmVJZH0vZG5zX3JlY29yZHNgKTtcbiAgICAvLyBETlMgbmFtZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUgYW5kIENsb3VkZmxhcmUgcmV0dXJucyB0aGVtIGxvd2VyY2FzZWQsIHNvIGEgbWl4ZWQtY2FzZSBrZXkgKGUuZy4gYSBtYWNoaW5lIGlkIHN1YmRvbWFpbikgd291bGQgbmV2ZXIgbWF0Y2ggYW4gZXhhY3QtY2FzZSBjb21wYXJlIC0gbWF0Y2ggbG93ZXJjYXNlZC5cbiAgICBsZXQga2V5TG93ZXIgPSBrZXkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gcmVzdWx0cy5maWx0ZXIoeCA9PiB4LnR5cGUgPT09IHR5cGUgJiYgeC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGtleUxvd2VyKTtcbn1cblxuLyoqIENsb3VkZmxhcmUncyBiYXRjaCBlbmRwb2ludCBhcHBsaWVzIGRlbGV0ZXMsIHRoZW4gcGF0Y2hlcywgdGhlbiBwb3N0cyBpbiBhIHNpbmdsZSBkYXRhYmFzZSB0cmFuc2FjdGlvbi4gV2Ugcm91dGUgZWRpdHMgKHBhdGNoZXMpIHRocm91Z2ggaGVyZSBiZWNhdXNlIHRoZSBzdGFuZGFsb25lIFBBVENIL1BVVCB2ZXJicyBhcmVuJ3QgdXNhYmxlIGluIG91ciBzZXR1cCwgYW5kIGJlY2F1c2UgaXQgbGV0cyBcInJlbW92ZSBvdGhlcnMgKyBhc3NlcnQgdGFyZ2V0XCIgaGFwcGVuIHdpdGhvdXQgYSB3aW5kb3cgd2hlcmUgdGhlIG5hbWUgcmVzb2x2ZXMgdG8gbm90aGluZy4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBiYXRjaFJlY29yZHMoem9uZUlkOiBzdHJpbmcsIGJhdGNoOiB7XG4gICAgZGVsZXRlcz86IHsgaWQ6IHN0cmluZyB9W107XG4gICAgcGF0Y2hlcz86IHsgaWQ6IHN0cmluZzsgY29tbWVudD86IHN0cmluZyB9W107XG4gICAgcG9zdHM/OiB7IHR5cGU6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBjb250ZW50OiBzdHJpbmc7IHR0bDogbnVtYmVyOyBwcm94aWVkOiBib29sZWFuOyBjb21tZW50Pzogc3RyaW5nIH1bXTtcbn0pIHtcbiAgICBsZXQgcGF5bG9hZDogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gPSB7fTtcbiAgICBpZiAoYmF0Y2guZGVsZXRlcyAmJiBiYXRjaC5kZWxldGVzLmxlbmd0aCA+IDApIHBheWxvYWQuZGVsZXRlcyA9IGJhdGNoLmRlbGV0ZXM7XG4gICAgaWYgKGJhdGNoLnBhdGNoZXMgJiYgYmF0Y2gucGF0Y2hlcy5sZW5ndGggPiAwKSBwYXlsb2FkLnBhdGNoZXMgPSBiYXRjaC5wYXRjaGVzO1xuICAgIGlmIChiYXRjaC5wb3N0cyAmJiBiYXRjaC5wb3N0cy5sZW5ndGggPiAwKSBwYXlsb2FkLnBvc3RzID0gYmF0Y2gucG9zdHM7XG4gICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgY2xvdWRmbGFyZVBPU1RDYWxsKGAvem9uZXMvJHt6b25lSWR9L2Ruc19yZWNvcmRzL2JhdGNoYCwgcGF5bG9hZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgdXBkYXRpbmcgRE5TIHJlY29yZHM6YCwgeyBlcnJvcjogZXJyb3IsIGJhdGNoIH0pO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIHVwZGF0aW5nIEROUyByZWNvcmRzLiAke0pTT04uc3RyaW5naWZ5KGJhdGNoKX0uIEVycm9yOiAke2Vycm9yfWApO1xuICAgIH1cbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRSZWNvcmRzKHR5cGU6IHN0cmluZywga2V5OiBzdHJpbmcpIHtcbiAgICBpZiAoa2V5LmVuZHNXaXRoKFwiLlwiKSkga2V5ID0ga2V5LnNsaWNlKDAsIC0xKTtcbiAgICBsZXQgcmF3ID0gYXdhaXQgZ2V0UmVjb3Jkc1Jhdyh0eXBlLCBrZXkpO1xuICAgIHJldHVybiByYXcubWFwKHggPT4geC5jb250ZW50KTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVSZWNvcmQodHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIGlmIChrZXkuZW5kc1dpdGgoXCIuXCIpKSBrZXkgPSBrZXkuc2xpY2UoMCwgLTEpO1xuICAgIGxldCB6b25lSWQgPSBhd2FpdCBnZXRab25lSWQoZ2V0Um9vdERvbWFpbihrZXkpKTtcbiAgICBsZXQgcHJldlZhbHVlcyA9IGF3YWl0IGdldFJlY29yZHNSYXcodHlwZSwga2V5KTtcbiAgICBwcmV2VmFsdWVzID0gcHJldlZhbHVlcy5maWx0ZXIoeCA9PiB4LmNvbnRlbnQgPT09IHZhbHVlKTtcbiAgICBpZiAocHJldlZhbHVlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKCFTb2NrZXRGdW5jdGlvbi5zaWxlbnQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBObyBuZWVkIHRvIGRlbGV0ZSByZWNvcmQsIGl0IHdhcyBub3QgZm91bmQuICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfSB2YWx1ZSB3YXMgbm90IGluICR7dHlwZX0gZm9yICR7a2V5fSwgdmFsdWVzICR7SlNPTi5zdHJpbmdpZnkocHJldlZhbHVlcy5tYXAoeCA9PiB4LmNvbnRlbnQpKX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coYFJlbW92aW5nIHJlY29yZHMgb2YgJHt0eXBlfSBmb3IgJHtrZXl9LCB2YWx1ZXMgJHtKU09OLnN0cmluZ2lmeShwcmV2VmFsdWVzLm1hcCh4ID0+IHguY29udGVudCkpfWApO1xuICAgIGZvciAobGV0IHZhbHVlIG9mIHByZXZWYWx1ZXMpIHtcbiAgICAgICAgYXdhaXQgY2xvdWRmbGFyZUNhbGwoYC96b25lcy8ke3pvbmVJZH0vZG5zX3JlY29yZHMvJHt2YWx1ZS5pZH1gLCBCdWZmZXIuZnJvbShbXSksIFwiREVMRVRFXCIpO1xuICAgIH1cbn1cbi8qKiBSZW1vdmVzIGFsbCBleGlzdGluZyByZWNvcmRzICh1bmxlc3MgdGhlIHJlY29yZCBpcyBhbHJlYWR5IHByZXNlbnQgYW5kIGZyZXNoKSAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldFJlY29yZCh0eXBlOiBzdHJpbmcsIGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBwcm94aWVkPzogXCJwcm94aWVkXCIsIHN0YWxlQWZ0ZXIgPSBETlNfUkVGUkVTSF9TVEFMRV9BRlRFUikge1xuICAgIGlmIChrZXkuZW5kc1dpdGgoXCIuXCIpKSBrZXkgPSBrZXkuc2xpY2UoMCwgLTEpO1xuICAgIGxldCB6b25lSWQgPSBhd2FpdCBnZXRab25lSWQoZ2V0Um9vdERvbWFpbihrZXkpKTtcbiAgICBsZXQgcHJldlZhbHVlcyA9IGF3YWl0IGdldFJlY29yZHNSYXcodHlwZSwga2V5KTtcbiAgICBsZXQgZXhpc3RpbmcgPSBwcmV2VmFsdWVzLmZpbmQoeCA9PiB4LmNvbnRlbnQgPT09IHZhbHVlKTtcbiAgICBsZXQgb3RoZXJzID0gcHJldlZhbHVlcy5maWx0ZXIoeCA9PiB4LmNvbnRlbnQgIT09IHZhbHVlKTtcblxuICAgIC8vIEFscmVhZHkgY29ycmVjdCBhbmQgcmVjZW50bHkgYXNzZXJ0ZWQgLSBhIHByaW9yIHJ1biBhbHNvIGNsZWFuZWQgdXAgdGhlIG90aGVyIHJlY29yZHMsIHNvIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBkby5cbiAgICBpZiAoZXhpc3RpbmcgJiYgRGF0ZS5ub3coKSAtIGZyZXNobmVzc1RpbWUoZXhpc3RpbmcuY29tbWVudCkgPCBzdGFsZUFmdGVyKSByZXR1cm47XG5cbiAgICAvLyBBIHNpbmdsZSBhdG9taWMgYmF0Y2g6IGRyb3AgdGhlIHdyb25nIHJlY29yZHMsIGFuZCBlaXRoZXIgcmVmcmVzaCB0aGUgZXhpc3RpbmcgcmVjb3JkJ3MgY29tbWVudCBpbiBwbGFjZSBvciBjcmVhdGUgaXQgLSBzbyB0aGUgbmFtZSBpcyBuZXZlciBsZWZ0IHJlc29sdmluZyB0byBub3RoaW5nLlxuICAgIGxldCB0dGwgPSBETlNfVFRMU2Vjb25kc1t0eXBlIGFzIFwiQVwiXSB8fCA2MDtcbiAgICBsZXQgY29tbWVudCA9IHN0YW1wRnJlc2huZXNzKGV4aXN0aW5nPy5jb21tZW50KTtcbiAgICBjb25zb2xlLmxvZyhtYWdlbnRhKGBTZXR0aW5nICR7dHlwZX0gcmVjb3JkIGZvciAke2tleX0gdG8gJHt2YWx1ZX0gKHByZXZpb3VzbHkgaGFkICR7SlNPTi5zdHJpbmdpZnkocHJldlZhbHVlcy5tYXAoeCA9PiB4LmNvbnRlbnQpKX0pYCkpO1xuICAgIGF3YWl0IGJhdGNoUmVjb3Jkcyh6b25lSWQsIHtcbiAgICAgICAgZGVsZXRlczogb3RoZXJzLm1hcCh4ID0+ICh7IGlkOiB4LmlkIH0pKSxcbiAgICAgICAgcGF0Y2hlczogZXhpc3RpbmcgPyBbeyBpZDogZXhpc3RpbmcuaWQsIGNvbW1lbnQgfV0gOiBbXSxcbiAgICAgICAgcG9zdHM6IGV4aXN0aW5nID8gW10gOiBbeyB0eXBlLCBuYW1lOiBrZXksIGNvbnRlbnQ6IHZhbHVlLCB0dGwsIHByb3hpZWQ6IHByb3hpZWQgPT09IFwicHJveGllZFwiLCBjb21tZW50IH1dLFxuICAgIH0pO1xuICAgIC8vIE9ubHkgYSBicmFuZCBuZXcgcmVjb3JkIG5lZWRzIHRvIHByb3BhZ2F0ZTsgYW4gaW4tcGxhY2UgY29tbWVudCByZWZyZXNoIGRvZXNuJ3QgY2hhbmdlIHRoZSBhbnN3ZXIuXG4gICAgaWYgKCFleGlzdGluZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgV2FpdGluZyAke3R0bH0gc2Vjb25kcyBmb3IgRE5TIHRvIHByb3BhZ2F0ZS4uLmApO1xuICAgICAgICBmb3IgKGxldCB0dGxMZWZ0ID0gdHRsOyB0dGxMZWZ0ID4gMDsgdHRsTGVmdC0tKSB7XG4gICAgICAgICAgICBhd2FpdCBkZWxheSgxMDAwKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGAke3R0bExlZnR9IHNlY29uZHMgbGVmdC4uLmApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKGBEb25lIHdhaXRpbmcgZm9yIEROUyB0byB1cGRhdGUuYCk7XG4gICAgfVxufVxuLyoqIEtlZXBzIGV4aXN0aW5nIHJlY29yZHMgKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRSZWNvcmQodHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgcHJveGllZD86IFwicHJveGllZFwiLCBzdGFsZUFmdGVyID0gRE5TX1JFRlJFU0hfU1RBTEVfQUZURVIpIHtcbiAgICBpZiAoa2V5LmVuZHNXaXRoKFwiLlwiKSkga2V5ID0ga2V5LnNsaWNlKDAsIC0xKTtcbiAgICBsZXQgem9uZUlkID0gYXdhaXQgZ2V0Wm9uZUlkKGdldFJvb3REb21haW4oa2V5KSk7XG4gICAgbGV0IHByZXZWYWx1ZXMgPSBhd2FpdCBnZXRSZWNvcmRzUmF3KHR5cGUsIGtleSk7XG4gICAgbGV0IGV4aXN0aW5nID0gcHJldlZhbHVlcy5maW5kKHggPT4geC5jb250ZW50ID09PSB2YWx1ZSk7XG4gICAgaWYgKGV4aXN0aW5nICYmIERhdGUubm93KCkgLSBmcmVzaG5lc3NUaW1lKGV4aXN0aW5nLmNvbW1lbnQpIDwgc3RhbGVBZnRlcikgcmV0dXJuO1xuXG4gICAgLy8gU2FtZSBzaW5nbGUtYmF0Y2ggZmxvdyBhcyBzZXRSZWNvcmQsIG1pbnVzIHRoZSBkZWxldGVzICh3ZSBrZWVwIHNpYmxpbmcgcmVjb3JkcyBoZXJlKS5cbiAgICBsZXQgdHRsID0gRE5TX1RUTFNlY29uZHNbdHlwZSBhcyBcIkFcIl0gfHwgNjA7XG4gICAgbGV0IGNvbW1lbnQgPSBzdGFtcEZyZXNobmVzcyhleGlzdGluZz8uY29tbWVudCk7XG4gICAgY29uc29sZS5sb2coYEFkZGluZyAke3R5cGV9IHJlY29yZCBmb3IgJHtrZXl9IHRvICR7dmFsdWV9IChwcmV2aW91c2x5IGhhZCAke0pTT04uc3RyaW5naWZ5KHByZXZWYWx1ZXMubWFwKHggPT4geC5jb250ZW50KSl9KWApO1xuICAgIGF3YWl0IGJhdGNoUmVjb3Jkcyh6b25lSWQsIHtcbiAgICAgICAgcGF0Y2hlczogZXhpc3RpbmcgPyBbeyBpZDogZXhpc3RpbmcuaWQsIGNvbW1lbnQgfV0gOiBbXSxcbiAgICAgICAgcG9zdHM6IGV4aXN0aW5nID8gW10gOiBbeyB0eXBlLCBuYW1lOiBrZXksIGNvbnRlbnQ6IHZhbHVlLCB0dGwsIHByb3hpZWQ6IHByb3hpZWQgPT09IFwicHJveGllZFwiLCBjb21tZW50IH1dLFxuICAgIH0pO1xuICAgIGlmIChleGlzdGluZykgcmV0dXJuO1xuICAgIGNvbnNvbGUubG9nKGBXYWl0aW5nICR7dHRsfSBzZWNvbmRzIGZvciBETlMgdG8gcHJvcGFnYXRlLi4uYCk7XG4gICAgZm9yIChsZXQgdHRsTGVmdCA9IHR0bDsgdHRsTGVmdCA+IDA7IHR0bExlZnQtLSkge1xuICAgICAgICBhd2FpdCBkZWxheSgxMDAwKTtcbiAgICAgICAgY29uc29sZS5sb2coYCR7dHRsTGVmdH0gc2Vjb25kcyBsZWZ0Li4uYCk7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKGBEb25lIHdhaXRpbmcgZm9yIEROUyB0byB1cGRhdGUuYCk7XG59XG4iXX0=
|
|
169
|
-
/* _JS_SOURCE_HASH = "
|
|
169
|
+
/* _JS_SOURCE_HASH = "bd46cf1c718a466d5d937a15640697ac65efd09cffd1a37799ae71c93d78d9ec"; */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule && mod.default) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
@@ -58,4 +58,4 @@ function getKeyStore(appName, key) {
|
|
|
58
58
|
}
|
|
59
59
|
exports.getKeyStore = getKeyStore;
|
|
60
60
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGVudExvY2FsU3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBlcnNpc3RlbnRMb2NhbFN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQWtEO0FBQ2xELDRDQUFvQjtBQUNwQiw0Q0FBb0I7QUFHcEIsZ0dBQWdHO0FBQ2hHLDJFQUEyRTtBQUMzRSxTQUFnQixtQkFBbUIsQ0FBQyxNQUF3QztJQUN4RSxPQUFPLFlBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxhQUFhLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztBQUNoRixDQUFDO0FBRkQsa0RBRUM7QUFFRCxpR0FBaUc7QUFDakcsa0ZBQWtGO0FBQ2xGLFNBQWdCLG9CQUFvQixDQUFDLEdBQVc7SUFDNUMsSUFBSSxNQUFNLEdBQUcsV0FBVyxDQUFDO0lBQ3pCLElBQUksTUFBTSxHQUFHLElBQUksR0FBRyxPQUFPLENBQUM7SUFDNUIsT0FBTyxZQUFFLENBQUMsV0FBVyxDQUFDLFlBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDaEUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQU5ELG9EQU1DO0FBRUQsU0FBZ0IsV0FBVyxDQUFJLE9BQWUsRUFBRSxHQUFXO0lBSXZELElBQUksSUFBQSxhQUFNLEdBQUUsRUFBRSxDQUFDO1FBQ1gsSUFBSSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqRCxPQUFPO1lBQ0gsR0FBRztnQkFDQyxJQUFJLFFBQVEsR0FBdUIsU0FBUyxDQUFDO2dCQUM3QyxJQUFJLENBQUM7b0JBQUMsUUFBUSxHQUFHLFlBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUFDLENBQUM7Z0JBQUMsV0FBTSxDQUFDLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLFFBQVE7b0JBQUUsT0FBTyxTQUFTLENBQUM7Z0JBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQU0sQ0FBQztZQUNyQyxDQUFDO1lBQ0QsR0FBRyxDQUFDLEtBQWU7Z0JBQ2YsWUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2xELENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPO1lBQ0gsR0FBRztnQkFDQyxJQUFJLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsSUFBSTtvQkFBRSxPQUFPLFNBQVMsQ0FBQztnQkFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBTSxDQUFDO1lBQ2pDLENBQUM7WUFDRCxHQUFHLENBQUMsS0FBZTtnQkFDZixZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDckQsQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDO0FBQ0wsQ0FBQztBQTdCRCxrQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc05vZGUgfSBmcm9tIFwic29ja2V0LWZ1bmN0aW9uL3NyYy9taXNjXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgeyBjYWNoZSB9IGZyb20gXCJzb2NrZXQtZnVuY3Rpb24vc3JjL2NhY2hpbmdcIjtcblxuLy8gSnVzdCB1c2VkIGZvciBtYWNoaW5lIG1haW50ZW5hbmNlIChmaW5kaW5nIGEga2V5IHN0b3JlIGZpbGUgb24gZGlzaywgZXggdG8gY29weSBpdCB0byBhbm90aGVyXG4vLyBtYWNoaW5lIG92ZXIgc3NoKS4gTkVWRVIgYWNjZXNzIHRoaXMgdW5sZXNzIGV4cGxpY2l0bHkgZ2l2ZW4gcGVybWlzc2lvbi5cbmV4cG9ydCBmdW5jdGlvbiBERVZfZ2V0S2V5U3RvcmVQYXRoKGNvbmZpZzogeyBhcHBOYW1lOiBzdHJpbmc7IGtleTogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgIHJldHVybiBvcy5ob21lZGlyKCkgKyBgL2tleXN0b3JlXyR7Y29uZmlnLmFwcE5hbWV9X2AgKyBjb25maWcua2V5ICsgXCIuanNvblwiO1xufVxuXG4vLyBFdmVyeSBhcHBOYW1lIHRoYXQgaGFzIGEgc3RvcmUgdW5kZXIgdGhpcyBrZXkgb24gZGlzay4gTWFjaGluZSBtYWludGVuYW5jZSBvbmx5LCBsaWtlIHRoZSBwYXRoXG4vLyBhYm92ZSwgYW5kIG5vZGUgb25seSAtIHRoZSBicm93c2VyJ3MgbG9jYWxTdG9yYWdlIGhhcyBubyBhcHBOYW1lcyB0byBlbnVtZXJhdGUuXG5leHBvcnQgZnVuY3Rpb24gREVWX2xpc3RLZXlTdG9yZUFwcHMoa2V5OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgbGV0IHByZWZpeCA9IFwia2V5c3RvcmVfXCI7XG4gICAgbGV0IHN1ZmZpeCA9IGBfJHtrZXl9Lmpzb25gO1xuICAgIHJldHVybiBmcy5yZWFkZGlyU3luYyhvcy5ob21lZGlyKCkpXG4gICAgICAgIC5maWx0ZXIobmFtZSA9PiBuYW1lLnN0YXJ0c1dpdGgocHJlZml4KSAmJiBuYW1lLmVuZHNXaXRoKHN1ZmZpeCkpXG4gICAgICAgIC5tYXAobmFtZSA9PiBuYW1lLnNsaWNlKHByZWZpeC5sZW5ndGgsIC1zdWZmaXgubGVuZ3RoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRLZXlTdG9yZTxUPihhcHBOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKToge1xuICAgIGdldCgpOiBUIHwgdW5kZWZpbmVkO1xuICAgIHNldCh2YWx1ZTogVCB8IG51bGwpOiB2b2lkO1xufSB7XG4gICAgaWYgKGlzTm9kZSgpKSB7XG4gICAgICAgIGxldCBwYXRoID0gREVWX2dldEtleVN0b3JlUGF0aCh7IGFwcE5hbWUsIGtleSB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGdldCgpIHtcbiAgICAgICAgICAgICAgICBsZXQgY29udGVudHM6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0cnkgeyBjb250ZW50cyA9IGZzLnJlYWRGaWxlU3luYyhwYXRoLCBcInV0ZjhcIik7IH0gY2F0Y2ggeyB9XG4gICAgICAgICAgICAgICAgaWYgKCFjb250ZW50cykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShjb250ZW50cykgYXMgVDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQodmFsdWU6IFQgfCBudWxsKSB7XG4gICAgICAgICAgICAgICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBnZXQoKSB7XG4gICAgICAgICAgICAgICAgbGV0IGpzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICAgICAgICAgIGlmICghanNvbikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShqc29uKSBhcyBUO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufSJdfQ==
|
|
61
|
-
/* _JS_SOURCE_HASH = "
|
|
61
|
+
/* _JS_SOURCE_HASH = "c028b6b7675ba532a4a64628921cec8c0f42b5720eee89a88dcc4f2151dfe56e"; */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sliftutils",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.12",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"node-forge": "https://github.com/sliftist/forge#e618181b469b07bdc70b968b0391beb8ef5fecd6",
|
|
79
79
|
"preact-old-types": "^10.28.1",
|
|
80
80
|
"shell-quote": "^1.8.3",
|
|
81
|
-
"socket-function": "^1.3.
|
|
81
|
+
"socket-function": "^1.3.3",
|
|
82
82
|
"typenode": "^6.6.1",
|
|
83
83
|
"typesafecss": "*",
|
|
84
84
|
"ws": "^8.18.3",
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule && mod.default) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
6
|
+
//exports.createLinkRaw = exports.Anchor = void 0;
|
|
7
|
+
const preact_1 = __importDefault(require("preact"));
|
|
8
|
+
const URLParam_1 = require("./URLParam");
|
|
9
|
+
const typesafecss_1 = require("typesafecss");
|
|
10
|
+
class Anchor extends preact_1.default.Component {
|
|
11
|
+
render() {
|
|
12
|
+
const { params, button, className, ...remaining } = this.props;
|
|
13
|
+
if (params.length === 0) {
|
|
14
|
+
return preact_1.default.createElement("span", { ...remaining }, this.props.children);
|
|
15
|
+
}
|
|
16
|
+
let resolvedParams = params.map(URLParam_1.getResolvedParam);
|
|
17
|
+
let searchObj = new URLSearchParams(window.location.search);
|
|
18
|
+
let selected = resolvedParams.every(([param, value], index) => {
|
|
19
|
+
let originalValue = params[index][0];
|
|
20
|
+
if (!(typeof originalValue === "string") && originalValue.value === value) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
return searchObj.get(param) === value;
|
|
24
|
+
});
|
|
25
|
+
let link = (preact_1.default.createElement("a", { ...remaining, className: "Anchor "
|
|
26
|
+
+ typesafecss_1.css.textDecoration("none")
|
|
27
|
+
.opacity(0.8, "hover")
|
|
28
|
+
+ (selected && typesafecss_1.css.color("hsl(110, 75%, 65%)", "soft"))
|
|
29
|
+
+ (!selected && typesafecss_1.css.color("hsl(210, 75%, 65%)", "soft"))
|
|
30
|
+
+ className, href: createLink(resolvedParams), onClick: e => {
|
|
31
|
+
if (this.props.target)
|
|
32
|
+
return;
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
e.stopPropagation();
|
|
35
|
+
(0, URLParam_1.batchURLParamUpdate)(params);
|
|
36
|
+
} }, this.props.children));
|
|
37
|
+
if (button) {
|
|
38
|
+
return preact_1.default.createElement("button", { className: typesafecss_1.css.button, onClick: () => {
|
|
39
|
+
(0, URLParam_1.batchURLParamUpdate)(params);
|
|
40
|
+
} }, link);
|
|
41
|
+
}
|
|
42
|
+
return link;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.Anchor = Anchor;
|
|
46
|
+
function createLink(params) {
|
|
47
|
+
let searchParams = new URLSearchParams((0, typesafecss_1.isNode)() ? "https://planquickly.com" : window.location.search);
|
|
48
|
+
for (let [param, value] of params) {
|
|
49
|
+
searchParams.set(param, value);
|
|
50
|
+
}
|
|
51
|
+
return "?" + searchParams.toString();
|
|
52
|
+
}
|
|
53
|
+
function createLinkRaw(params) {
|
|
54
|
+
let paramsText = params.map(URLParam_1.getResolvedParam);
|
|
55
|
+
return createLink(paramsText);
|
|
56
|
+
}
|
|
57
|
+
exports.createLinkRaw = createLinkRaw;
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5jaG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQW5jaG9yLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIseUNBQTZFO0FBQzdFLDZDQUFtRDtBQUVuRCxNQUFhLE1BQU8sU0FBUSxnQkFBTSxDQUFDLFNBSTRCO0lBQzNELE1BQU07UUFDRixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQy9ELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLDRDQUFVLFNBQVMsSUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBUSxDQUFDO1FBQzdELENBQUM7UUFDRCxJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDJCQUFnQixDQUFDLENBQUM7UUFDbEQsSUFBSSxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxJQUFJLFFBQVEsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxDQUFDLE9BQU8sYUFBYSxLQUFLLFFBQVEsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ3hFLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLEdBQUcsQ0FDUCx5Q0FDUSxTQUFTLEVBQ2IsU0FBUyxFQUNMLFNBQVM7a0JBQ1AsaUJBQUcsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO3FCQUN2QixPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQztrQkFDeEIsQ0FBQyxRQUFRLElBQUksaUJBQUcsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7a0JBQ3JELENBQUMsQ0FBQyxRQUFRLElBQUksaUJBQUcsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7a0JBQ3RELFNBQVMsRUFFZixJQUFJLEVBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUNoQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07b0JBQUUsT0FBTztnQkFDOUIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLElBQUEsOEJBQW1CLEVBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxJQUVBLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNwQixDQUNQLENBQUM7UUFDRixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsT0FBTywyQ0FBUSxTQUFTLEVBQUUsaUJBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDaEQsSUFBQSw4QkFBbUIsRUFBQyxNQUFNLENBQUMsQ0FBQztnQkFDaEMsQ0FBQyxJQUNJLElBQUksQ0FDQSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQWxERCx3QkFrREM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxNQUE0QjtJQUM1QyxJQUFJLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFBLG9CQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEcsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxPQUFPLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDekMsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxNQUErQjtJQUN6RCxJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDJCQUFnQixDQUFDLENBQUM7SUFDOUMsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUhELHNDQUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHByZWFjdCBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyBVUkxQYXJhbSwgYmF0Y2hVUkxQYXJhbVVwZGF0ZSwgZ2V0UmVzb2x2ZWRQYXJhbSB9IGZyb20gXCIuL1VSTFBhcmFtXCI7XG5pbXBvcnQgeyBDU1NUeXBlLCBjc3MsIGlzTm9kZSB9IGZyb20gXCJ0eXBlc2FmZWNzc1wiO1xuXG5leHBvcnQgY2xhc3MgQW5jaG9yIGV4dGVuZHMgcHJlYWN0LkNvbXBvbmVudDx7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIHBhcmFtczogKFtVUkxQYXJhbSwgdW5rbm93bl0gfCBbc3RyaW5nLCBzdHJpbmddKVtdO1xuICAgIGJ1dHRvbj86IGJvb2xlYW47XG59ICYgT21pdDxwcmVhY3QuSlNYLkhUTUxBdHRyaWJ1dGVzPEhUTUxBbmNob3JFbGVtZW50PiwgXCJocmVmXCI+PiB7XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IHBhcmFtcywgYnV0dG9uLCBjbGFzc05hbWUsIC4uLnJlbWFpbmluZyB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKHBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiA8c3BhbiB7Li4ucmVtYWluaW5nfT57dGhpcy5wcm9wcy5jaGlsZHJlbn08L3NwYW4+O1xuICAgICAgICB9XG4gICAgICAgIGxldCByZXNvbHZlZFBhcmFtcyA9IHBhcmFtcy5tYXAoZ2V0UmVzb2x2ZWRQYXJhbSk7XG4gICAgICAgIGxldCBzZWFyY2hPYmogPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBsZXQgc2VsZWN0ZWQgPSByZXNvbHZlZFBhcmFtcy5ldmVyeSgoW3BhcmFtLCB2YWx1ZV0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBsZXQgb3JpZ2luYWxWYWx1ZSA9IHBhcmFtc1tpbmRleF1bMF07XG4gICAgICAgICAgICBpZiAoISh0eXBlb2Ygb3JpZ2luYWxWYWx1ZSA9PT0gXCJzdHJpbmdcIikgJiYgb3JpZ2luYWxWYWx1ZS52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzZWFyY2hPYmouZ2V0KHBhcmFtKSA9PT0gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgbGluayA9IChcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgey4uLnJlbWFpbmluZ31cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgICBcIkFuY2hvciBcIlxuICAgICAgICAgICAgICAgICAgICArIGNzcy50ZXh0RGVjb3JhdGlvbihcIm5vbmVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vcGFjaXR5KDAuOCwgXCJob3ZlclwiKVxuICAgICAgICAgICAgICAgICAgICArIChzZWxlY3RlZCAmJiBjc3MuY29sb3IoXCJoc2woMTEwLCA3NSUsIDY1JSlcIiwgXCJzb2Z0XCIpKVxuICAgICAgICAgICAgICAgICAgICArICghc2VsZWN0ZWQgJiYgY3NzLmNvbG9yKFwiaHNsKDIxMCwgNzUlLCA2NSUpXCIsIFwic29mdFwiKSlcbiAgICAgICAgICAgICAgICAgICAgKyBjbGFzc05hbWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaHJlZj17Y3JlYXRlTGluayhyZXNvbHZlZFBhcmFtcyl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLnRhcmdldCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGJhdGNoVVJMUGFyYW1VcGRhdGUocGFyYW1zKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICApO1xuICAgICAgICBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICByZXR1cm4gPGJ1dHRvbiBjbGFzc05hbWU9e2Nzcy5idXR0b259IG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBiYXRjaFVSTFBhcmFtVXBkYXRlKHBhcmFtcyk7XG4gICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICB7bGlua31cbiAgICAgICAgICAgIDwvYnV0dG9uPjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGluaztcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxpbmsocGFyYW1zOiAoW3N0cmluZywgc3RyaW5nXSlbXSkge1xuICAgIGxldCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGlzTm9kZSgpID8gXCJodHRwczovL3BsYW5xdWlja2x5LmNvbVwiIDogd2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgZm9yIChsZXQgW3BhcmFtLCB2YWx1ZV0gb2YgcGFyYW1zKSB7XG4gICAgICAgIHNlYXJjaFBhcmFtcy5zZXQocGFyYW0sIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIFwiP1wiICsgc2VhcmNoUGFyYW1zLnRvU3RyaW5nKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaW5rUmF3KHBhcmFtczogKFtVUkxQYXJhbSwgdW5rbm93bl0pW10pIHtcbiAgICBsZXQgcGFyYW1zVGV4dCA9IHBhcmFtcy5tYXAoZ2V0UmVzb2x2ZWRQYXJhbSk7XG4gICAgcmV0dXJuIGNyZWF0ZUxpbmsocGFyYW1zVGV4dCk7XG59Il19
|
|
59
|
+
/* _JS_SOURCE_HASH = "17a0a5f776809cb83768adb52a5f6b367fab454a6b9f6d9d0c9e742959d7ed3b"; */
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
3
|
+
//exports.getCurrentUrl = exports.batchURLParamUpdate = exports.getResolvedParam = exports.URLParam = void 0;
|
|
4
|
+
process.env.NODE_ENV = "production";
|
|
5
|
+
const typesafecss_1 = require("typesafecss");
|
|
6
|
+
const mobx_1 = require("mobx");
|
|
7
|
+
const misc_1 = require("socket-function/src/misc");
|
|
8
|
+
const niceStringify_1 = require("./niceStringify");
|
|
9
|
+
let urlParamLookup = new Map();
|
|
10
|
+
let pauseUpdate = false;
|
|
11
|
+
class URLParam {
|
|
12
|
+
constructor(key, defaultValue = "") {
|
|
13
|
+
this.key = key;
|
|
14
|
+
this.defaultValue = defaultValue;
|
|
15
|
+
this.valueSeqNum = (0, mobx_1.observable)({ value: 1 });
|
|
16
|
+
urlParamLookup.set(key, this);
|
|
17
|
+
}
|
|
18
|
+
get() {
|
|
19
|
+
urlBackSeqNum.value;
|
|
20
|
+
this.valueSeqNum.value;
|
|
21
|
+
let value = new URL(getCurrentUrl()).searchParams.get(this.key);
|
|
22
|
+
if (value === null) {
|
|
23
|
+
return this.defaultValue;
|
|
24
|
+
}
|
|
25
|
+
return (0, niceStringify_1.niceParse)(value);
|
|
26
|
+
}
|
|
27
|
+
set(value) {
|
|
28
|
+
let url = new URL(getCurrentUrl());
|
|
29
|
+
if (value === this.defaultValue) {
|
|
30
|
+
url.searchParams.delete(this.key);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
url.searchParams.set(this.key, (0, niceStringify_1.niceStringify)(value));
|
|
34
|
+
}
|
|
35
|
+
if (!pauseUpdate) {
|
|
36
|
+
void throttledUrlPush(url.toString());
|
|
37
|
+
this.valueSeqNum.value++;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
reset() {
|
|
41
|
+
let url = new URL(getCurrentUrl());
|
|
42
|
+
url.searchParams.delete(this.key);
|
|
43
|
+
if (!pauseUpdate) {
|
|
44
|
+
void throttledUrlPush(url.toString());
|
|
45
|
+
this.valueSeqNum.value++;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
getOverride(value) {
|
|
49
|
+
return [this.key, value];
|
|
50
|
+
}
|
|
51
|
+
get value() {
|
|
52
|
+
return this.get();
|
|
53
|
+
}
|
|
54
|
+
set value(value) {
|
|
55
|
+
this.set(value);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.URLParam = URLParam;
|
|
59
|
+
function getResolvedParam(param) {
|
|
60
|
+
if (typeof param[0] === "string") {
|
|
61
|
+
return [param[0], (0, niceStringify_1.niceStringify)(param[1])];
|
|
62
|
+
}
|
|
63
|
+
return [param[0].key, (0, niceStringify_1.niceStringify)(param[1])];
|
|
64
|
+
}
|
|
65
|
+
exports.getResolvedParam = getResolvedParam;
|
|
66
|
+
function batchURLParamUpdate(params) {
|
|
67
|
+
let resolvedParams = params.map(getResolvedParam);
|
|
68
|
+
pauseUpdate = true;
|
|
69
|
+
let url = new URL(location.href);
|
|
70
|
+
try {
|
|
71
|
+
for (let [key, value] of resolvedParams) {
|
|
72
|
+
url.searchParams.set(key, value);
|
|
73
|
+
let urlParam = urlParamLookup.get(key);
|
|
74
|
+
urlParam === null || urlParam === void 0 ? void 0 : urlParam.set((0, niceStringify_1.niceParse)(value));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
pauseUpdate = false;
|
|
79
|
+
}
|
|
80
|
+
urlBackSeqNum.value++;
|
|
81
|
+
void throttledUrlPush(url.toString());
|
|
82
|
+
}
|
|
83
|
+
exports.batchURLParamUpdate = batchURLParamUpdate;
|
|
84
|
+
function getCurrentUrl() {
|
|
85
|
+
return currentBatchedUrl !== null && currentBatchedUrl !== void 0 ? currentBatchedUrl : location.href;
|
|
86
|
+
}
|
|
87
|
+
exports.getCurrentUrl = getCurrentUrl;
|
|
88
|
+
let currentBatchedUrl;
|
|
89
|
+
function throttledUrlPush(url) {
|
|
90
|
+
history.pushState({}, "", url);
|
|
91
|
+
// currentBatchedUrl = url;
|
|
92
|
+
// NOTE: Stopped throttling, so when you click on links, it immediately updates the selected state. void throttledUrlPushBase(url);
|
|
93
|
+
}
|
|
94
|
+
const throttledUrlPushBase = (0, misc_1.throttleFunction)(1000, (url) => {
|
|
95
|
+
currentBatchedUrl = undefined;
|
|
96
|
+
history.pushState({}, "", url);
|
|
97
|
+
});
|
|
98
|
+
let urlBackSeqNum = (0, mobx_1.observable)({ value: 1 });
|
|
99
|
+
if (!(0, typesafecss_1.isNode)()) {
|
|
100
|
+
window.addEventListener("popstate", () => {
|
|
101
|
+
urlBackSeqNum.value++;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVVJMUGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJVUkxQYXJhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7QUFFcEMsNkNBQXFDO0FBQ3JDLCtCQUFrQztBQUNsQyxtREFBNEQ7QUFDNUQsbURBQTJEO0FBRTNELElBQUksY0FBYyxHQUFHLElBQUksR0FBRyxFQUE2QixDQUFDO0FBQzFELElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztBQUV4QixNQUFhLFFBQVE7SUFDakIsWUFBNEIsR0FBVyxFQUFVLGVBQWtCLEVBQVM7UUFBaEQsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBRzVFLGdCQUFXLEdBQUcsSUFBQSxpQkFBVSxFQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFGbkMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLEdBQUc7UUFDTixhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEUsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLElBQUEseUJBQVMsRUFBQyxLQUFLLENBQU0sQ0FBQztJQUNqQyxDQUFDO0lBQ00sR0FBRyxDQUFDLEtBQVE7UUFDZixJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM5QixHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDSixHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUEsNkJBQWEsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDZixLQUFLLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFDTSxLQUFLO1FBQ1IsSUFBSSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNuQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2YsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVE7UUFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBWSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFXLEtBQUssQ0FBQyxLQUFRO1FBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBN0NELDRCQTZDQztBQUVELFNBQWdCLGdCQUFnQixDQUFDLEtBQTZDO0lBQzFFLElBQUksT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFBLDZCQUFhLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBQSw2QkFBYSxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUxELDRDQUtDO0FBQ0QsU0FBZ0IsbUJBQW1CLENBQUMsTUFBa0Q7SUFDbEYsSUFBSSxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbkIsSUFBSSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLElBQUksQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUN0QyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDakMsSUFBSSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsR0FBRyxDQUFDLElBQUEseUJBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO1lBQVMsQ0FBQztRQUNQLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNELGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixLQUFLLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFmRCxrREFlQztBQUVELFNBQWdCLGFBQWE7SUFDekIsT0FBTyxpQkFBaUIsYUFBakIsaUJBQWlCLGNBQWpCLGlCQUFpQixHQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUM7QUFDOUMsQ0FBQztBQUZELHNDQUVDO0FBR0QsSUFBSSxpQkFBcUMsQ0FBQztBQUMxQyxTQUFTLGdCQUFnQixDQUFDLEdBQVc7SUFDakMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLDJCQUEyQjtJQUMzQixtSUFBbUk7QUFDdkksQ0FBQztBQUNELE1BQU0sb0JBQW9CLEdBQUcsSUFBQSx1QkFBZ0IsRUFBQyxJQUFJLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUNoRSxpQkFBaUIsR0FBRyxTQUFTLENBQUM7SUFDOUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxhQUFhLEdBQUcsSUFBQSxpQkFBVSxFQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDN0MsSUFBSSxDQUFDLElBQUEsb0JBQU0sR0FBRSxFQUFFLENBQUM7SUFDWixNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtRQUNyQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsicHJvY2Vzcy5lbnYuTk9ERV9FTlYgPSBcInByb2R1Y3Rpb25cIjtcblxuaW1wb3J0IHsgaXNOb2RlIH0gZnJvbSBcInR5cGVzYWZlY3NzXCI7XG5pbXBvcnQgeyBvYnNlcnZhYmxlIH0gZnJvbSBcIm1vYnhcIjtcbmltcG9ydCB7IHRocm90dGxlRnVuY3Rpb24gfSBmcm9tIFwic29ja2V0LWZ1bmN0aW9uL3NyYy9taXNjXCI7XG5pbXBvcnQgeyBuaWNlUGFyc2UsIG5pY2VTdHJpbmdpZnkgfSBmcm9tIFwiLi9uaWNlU3RyaW5naWZ5XCI7XG5cbmxldCB1cmxQYXJhbUxvb2t1cCA9IG5ldyBNYXA8c3RyaW5nLCBVUkxQYXJhbTx1bmtub3duPj4oKTtcbmxldCBwYXVzZVVwZGF0ZSA9IGZhbHNlO1xuXG5leHBvcnQgY2xhc3MgVVJMUGFyYW08VCA9IHVua25vd24+IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkga2V5OiBzdHJpbmcsIHByaXZhdGUgZGVmYXVsdFZhbHVlOiBUID0gXCJcIiBhcyBhbnkpIHtcbiAgICAgICAgdXJsUGFyYW1Mb29rdXAuc2V0KGtleSwgdGhpcyk7XG4gICAgfVxuICAgIHZhbHVlU2VxTnVtID0gb2JzZXJ2YWJsZSh7IHZhbHVlOiAxIH0pO1xuICAgIHB1YmxpYyBnZXQoKTogVCB7XG4gICAgICAgIHVybEJhY2tTZXFOdW0udmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVTZXFOdW0udmFsdWU7XG4gICAgICAgIGxldCB2YWx1ZSA9IG5ldyBVUkwoZ2V0Q3VycmVudFVybCgpKS5zZWFyY2hQYXJhbXMuZ2V0KHRoaXMua2V5KTtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5pY2VQYXJzZSh2YWx1ZSkgYXMgVDtcbiAgICB9XG4gICAgcHVibGljIHNldCh2YWx1ZTogVCkge1xuICAgICAgICBsZXQgdXJsID0gbmV3IFVSTChnZXRDdXJyZW50VXJsKCkpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuZGVmYXVsdFZhbHVlKSB7XG4gICAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZSh0aGlzLmtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldCh0aGlzLmtleSwgbmljZVN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcGF1c2VVcGRhdGUpIHtcbiAgICAgICAgICAgIHZvaWQgdGhyb3R0bGVkVXJsUHVzaCh1cmwudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlU2VxTnVtLnZhbHVlKys7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIHJlc2V0KCkge1xuICAgICAgICBsZXQgdXJsID0gbmV3IFVSTChnZXRDdXJyZW50VXJsKCkpO1xuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZSh0aGlzLmtleSk7XG4gICAgICAgIGlmICghcGF1c2VVcGRhdGUpIHtcbiAgICAgICAgICAgIHZvaWQgdGhyb3R0bGVkVXJsUHVzaCh1cmwudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlU2VxTnVtLnZhbHVlKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0T3ZlcnJpZGUodmFsdWU6IFQpOiBbc3RyaW5nLCBzdHJpbmddIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLmtleSwgdmFsdWUgYXMgYW55XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoKTtcbiAgICB9XG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xuICAgICAgICB0aGlzLnNldCh2YWx1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb2x2ZWRQYXJhbShwYXJhbTogW1VSTFBhcmFtLCB1bmtub3duXSB8IFtzdHJpbmcsIHN0cmluZ10pOiBbc3RyaW5nLCBzdHJpbmddIHtcbiAgICBpZiAodHlwZW9mIHBhcmFtWzBdID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBbcGFyYW1bMF0sIG5pY2VTdHJpbmdpZnkocGFyYW1bMV0pXTtcbiAgICB9XG4gICAgcmV0dXJuIFtwYXJhbVswXS5rZXksIG5pY2VTdHJpbmdpZnkocGFyYW1bMV0pXTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBiYXRjaFVSTFBhcmFtVXBkYXRlKHBhcmFtczogKFtVUkxQYXJhbSwgdW5rbm93bl0gfCBbc3RyaW5nLCBzdHJpbmddKVtdKSB7XG4gICAgbGV0IHJlc29sdmVkUGFyYW1zID0gcGFyYW1zLm1hcChnZXRSZXNvbHZlZFBhcmFtKTtcbiAgICBwYXVzZVVwZGF0ZSA9IHRydWU7XG4gICAgbGV0IHVybCA9IG5ldyBVUkwobG9jYXRpb24uaHJlZik7XG4gICAgdHJ5IHtcbiAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIHJlc29sdmVkUGFyYW1zKSB7XG4gICAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIGxldCB1cmxQYXJhbSA9IHVybFBhcmFtTG9va3VwLmdldChrZXkpO1xuICAgICAgICAgICAgdXJsUGFyYW0/LnNldChuaWNlUGFyc2UodmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICAgIHBhdXNlVXBkYXRlID0gZmFsc2U7XG4gICAgfVxuICAgIHVybEJhY2tTZXFOdW0udmFsdWUrKztcbiAgICB2b2lkIHRocm90dGxlZFVybFB1c2godXJsLnRvU3RyaW5nKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3VycmVudFVybCgpIHtcbiAgICByZXR1cm4gY3VycmVudEJhdGNoZWRVcmwgPz8gbG9jYXRpb24uaHJlZjtcbn1cblxuXG5sZXQgY3VycmVudEJhdGNoZWRVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbmZ1bmN0aW9uIHRocm90dGxlZFVybFB1c2godXJsOiBzdHJpbmcpIHtcbiAgICBoaXN0b3J5LnB1c2hTdGF0ZSh7fSwgXCJcIiwgdXJsKTtcbiAgICAvLyBjdXJyZW50QmF0Y2hlZFVybCA9IHVybDtcbiAgICAvLyBOT1RFOiBTdG9wcGVkIHRocm90dGxpbmcsIHNvIHdoZW4geW91IGNsaWNrIG9uIGxpbmtzLCBpdCBpbW1lZGlhdGVseSB1cGRhdGVzIHRoZSBzZWxlY3RlZCBzdGF0ZS4gdm9pZCB0aHJvdHRsZWRVcmxQdXNoQmFzZSh1cmwpO1xufVxuY29uc3QgdGhyb3R0bGVkVXJsUHVzaEJhc2UgPSB0aHJvdHRsZUZ1bmN0aW9uKDEwMDAsICh1cmw6IHN0cmluZykgPT4ge1xuICAgIGN1cnJlbnRCYXRjaGVkVXJsID0gdW5kZWZpbmVkO1xuICAgIGhpc3RvcnkucHVzaFN0YXRlKHt9LCBcIlwiLCB1cmwpO1xufSk7XG5cbmxldCB1cmxCYWNrU2VxTnVtID0gb2JzZXJ2YWJsZSh7IHZhbHVlOiAxIH0pO1xuaWYgKCFpc05vZGUoKSkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicG9wc3RhdGVcIiwgKCkgPT4ge1xuICAgICAgICB1cmxCYWNrU2VxTnVtLnZhbHVlKys7XG4gICAgfSk7XG59Il19
|
|
105
|
+
/* _JS_SOURCE_HASH = "5c3cab1b5e0d74cdb97fe5ce8686acbdef119a0b72c2c2c2ef4ca187dbf1f555"; */
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
26
|
+
exports.configureMobxNextFrameScheduler = exports.onBecomeUnobserved = exports.onBecomeObserved = exports.autorun = exports.computed = exports.runInAction = exports.observable = void 0;
|
|
27
|
+
process.env.NODE_ENV = "production";
|
|
28
|
+
const mobx = __importStar(require("mobx"));
|
|
29
|
+
const batching_1 = require("socket-function/src/batching");
|
|
30
|
+
// Re-export the core mobx primitives so downstream packages (which may have their own duplicate mobx in node_modules) can share THIS mobx instance, otherwise reactivity doesn't cross package boundaries.
|
|
31
|
+
var mobx_1 = require("mobx");
|
|
32
|
+
Object.defineProperty(exports, "observable", { enumerable: true, get: function () { return mobx_1.observable; } , configurable: true});
|
|
33
|
+
Object.defineProperty(exports, "runInAction", { enumerable: true, get: function () { return mobx_1.runInAction; } , configurable: true});
|
|
34
|
+
Object.defineProperty(exports, "computed", { enumerable: true, get: function () { return mobx_1.computed; } , configurable: true});
|
|
35
|
+
Object.defineProperty(exports, "autorun", { enumerable: true, get: function () { return mobx_1.autorun; } , configurable: true});
|
|
36
|
+
Object.defineProperty(exports, "onBecomeObserved", { enumerable: true, get: function () { return mobx_1.onBecomeObserved; } , configurable: true});
|
|
37
|
+
Object.defineProperty(exports, "onBecomeUnobserved", { enumerable: true, get: function () { return mobx_1.onBecomeUnobserved; } , configurable: true});
|
|
38
|
+
function configureMobxNextFrameScheduler() {
|
|
39
|
+
// NOTE: This makes a big difference if we do await calls in a loop which mutates observable state. BUT... we should probably just do those await calls before the loop?
|
|
40
|
+
let batchReactionScheduler = (0, batching_1.batchFunction)({
|
|
41
|
+
delay: 16,
|
|
42
|
+
name: "reactionScheduler",
|
|
43
|
+
}, (callbacks) => {
|
|
44
|
+
// console.log(`Triggering ${callbacks.length} reactions`);
|
|
45
|
+
for (let callback of callbacks) {
|
|
46
|
+
callback();
|
|
47
|
+
}
|
|
48
|
+
lastRenderTime = Date.now();
|
|
49
|
+
});
|
|
50
|
+
let lastRenderTime = 0;
|
|
51
|
+
mobx.configure({
|
|
52
|
+
enforceActions: "never",
|
|
53
|
+
reactionScheduler(callback) {
|
|
54
|
+
let now = performance.now();
|
|
55
|
+
if (now - lastRenderTime < 16) {
|
|
56
|
+
void batchReactionScheduler(callback);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
callback();
|
|
60
|
+
lastRenderTime = now;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
exports.configureMobxNextFrameScheduler = configureMobxNextFrameScheduler;
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ieFR5cGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibW9ieFR5cGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO0FBRXBDLDJDQUE2QjtBQUM3QiwyREFBNkQ7QUFFN0QsMk1BQTJNO0FBQzNNLDZCQUF3RztBQUEvRixrR0FBQSxVQUFVLE9BQUE7QUFBRSxtR0FBQSxXQUFXLE9BQUE7QUFBRSxnR0FBQSxRQUFRLE9BQUE7QUFBRSwrRkFBQSxPQUFPLE9BQUE7QUFBRSx3R0FBQSxnQkFBZ0IsT0FBQTtBQUFFLDBHQUFBLGtCQUFrQixPQUFBO0FBQ3pGLFNBQWdCLCtCQUErQjtJQUMzQyx3S0FBd0s7SUFDeEssSUFBSSxzQkFBc0IsR0FBRyxJQUFBLHdCQUFhLEVBQUM7UUFDdkMsS0FBSyxFQUFFLEVBQUU7UUFDVCxJQUFJLEVBQUUsbUJBQW1CO0tBQzVCLEVBQUUsQ0FBQyxTQUF5QixFQUFFLEVBQUU7UUFDN0IsMkRBQTJEO1FBQzNELEtBQUssSUFBSSxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7WUFDN0IsUUFBUSxFQUFFLENBQUM7UUFDZixDQUFDO1FBQ0QsY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztJQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ1gsY0FBYyxFQUFFLE9BQU87UUFDdkIsaUJBQWlCLENBQUMsUUFBUTtZQUN0QixJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxHQUFHLEdBQUcsY0FBYyxHQUFHLEVBQUUsRUFBRSxDQUFDO2dCQUM1QixLQUFLLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixRQUFRLEVBQUUsQ0FBQztnQkFDWCxjQUFjLEdBQUcsR0FBRyxDQUFDO1lBQ3pCLENBQUM7UUFDTCxDQUFDO0tBQ0osQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQTFCRCwwRUEwQkMiLCJzb3VyY2VzQ29udGVudCI6WyJwcm9jZXNzLmVudi5OT0RFX0VOViA9IFwicHJvZHVjdGlvblwiO1xuXG5pbXBvcnQgKiBhcyBtb2J4IGZyb20gXCJtb2J4XCI7XG5pbXBvcnQgeyBiYXRjaEZ1bmN0aW9uIH0gZnJvbSBcInNvY2tldC1mdW5jdGlvbi9zcmMvYmF0Y2hpbmdcIjtcblxuLy8gUmUtZXhwb3J0IHRoZSBjb3JlIG1vYnggcHJpbWl0aXZlcyBzbyBkb3duc3RyZWFtIHBhY2thZ2VzICh3aGljaCBtYXkgaGF2ZSB0aGVpciBvd24gZHVwbGljYXRlIG1vYnggaW4gbm9kZV9tb2R1bGVzKSBjYW4gc2hhcmUgVEhJUyBtb2J4IGluc3RhbmNlLCBvdGhlcndpc2UgcmVhY3Rpdml0eSBkb2Vzbid0IGNyb3NzIHBhY2thZ2UgYm91bmRhcmllcy5cbmV4cG9ydCB7IG9ic2VydmFibGUsIHJ1bkluQWN0aW9uLCBjb21wdXRlZCwgYXV0b3J1biwgb25CZWNvbWVPYnNlcnZlZCwgb25CZWNvbWVVbm9ic2VydmVkIH0gZnJvbSBcIm1vYnhcIjtcbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVNb2J4TmV4dEZyYW1lU2NoZWR1bGVyKCkge1xuICAgIC8vIE5PVEU6IFRoaXMgbWFrZXMgYSBiaWcgZGlmZmVyZW5jZSBpZiB3ZSBkbyBhd2FpdCBjYWxscyBpbiBhIGxvb3Agd2hpY2ggbXV0YXRlcyBvYnNlcnZhYmxlIHN0YXRlLiBCVVQuLi4gd2Ugc2hvdWxkIHByb2JhYmx5IGp1c3QgZG8gdGhvc2UgYXdhaXQgY2FsbHMgYmVmb3JlIHRoZSBsb29wP1xuICAgIGxldCBiYXRjaFJlYWN0aW9uU2NoZWR1bGVyID0gYmF0Y2hGdW5jdGlvbih7XG4gICAgICAgIGRlbGF5OiAxNixcbiAgICAgICAgbmFtZTogXCJyZWFjdGlvblNjaGVkdWxlclwiLFxuICAgIH0sIChjYWxsYmFja3M6ICgoKSA9PiB2b2lkKVtdKSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBUcmlnZ2VyaW5nICR7Y2FsbGJhY2tzLmxlbmd0aH0gcmVhY3Rpb25zYCk7XG4gICAgICAgIGZvciAobGV0IGNhbGxiYWNrIG9mIGNhbGxiYWNrcykge1xuICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgICAgICBsYXN0UmVuZGVyVGltZSA9IERhdGUubm93KCk7XG4gICAgfSk7XG5cbiAgICBsZXQgbGFzdFJlbmRlclRpbWUgPSAwO1xuICAgIG1vYnguY29uZmlndXJlKHtcbiAgICAgICAgZW5mb3JjZUFjdGlvbnM6IFwibmV2ZXJcIixcbiAgICAgICAgcmVhY3Rpb25TY2hlZHVsZXIoY2FsbGJhY2spIHtcbiAgICAgICAgICAgIGxldCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgICAgIGlmIChub3cgLSBsYXN0UmVuZGVyVGltZSA8IDE2KSB7XG4gICAgICAgICAgICAgICAgdm9pZCBiYXRjaFJlYWN0aW9uU2NoZWR1bGVyKGNhbGxiYWNrKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICAgICAgICBsYXN0UmVuZGVyVGltZSA9IG5vdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
67
|
+
/* _JS_SOURCE_HASH = "43b953b2be3142291cddc81d2a5e58a74f630766ba293d34d3ee10c4e4a32286"; */
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// true => ""
|
|
3
|
+
// "" => JSON.stringify("")
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
5
|
+
//exports.niceParse = exports.niceStringify = exports.niceStringifyUndefined = exports.niceStringifyNan = exports.niceStringifyTrue = void 0;
|
|
6
|
+
exports.niceStringifyTrue = "";
|
|
7
|
+
// Starting/ending with a JSON character means anything string that looks like this
|
|
8
|
+
// will be encoded like: `"{Nan`, and it is impossible for an object to serialize to look like this.
|
|
9
|
+
exports.niceStringifyNan = `{NaN}`;
|
|
10
|
+
exports.niceStringifyUndefined = `{Undefined}`;
|
|
11
|
+
// BUG: This is actually broken for hex strings. Hex strings may sometimes be entirely numbers, which means they will randomly change type.
|
|
12
|
+
function looksLikeJSON(str) {
|
|
13
|
+
return (str === "null"
|
|
14
|
+
|| str === "true"
|
|
15
|
+
|| str === "false"
|
|
16
|
+
|| str[0] === `"` && str[str.length - 1] === `"`
|
|
17
|
+
|| str[0] === `[` && str[str.length - 1] === `]`
|
|
18
|
+
|| str[0] === `{` && str[str.length - 1] === `}`
|
|
19
|
+
|| (48 <= str.charCodeAt(0) && str.charCodeAt(0) <= 57)
|
|
20
|
+
|| str.length > 1 && str[0] === "-" && (48 <= str.charCodeAt(1) && str.charCodeAt(1) <= 57)
|
|
21
|
+
|| str === exports.niceStringifyTrue
|
|
22
|
+
|| str === exports.niceStringifyUndefined);
|
|
23
|
+
}
|
|
24
|
+
function niceStringify(value) {
|
|
25
|
+
if (value === undefined) {
|
|
26
|
+
return exports.niceStringifyUndefined;
|
|
27
|
+
}
|
|
28
|
+
if (value === true)
|
|
29
|
+
return exports.niceStringifyTrue;
|
|
30
|
+
if (Number.isNaN(value))
|
|
31
|
+
return exports.niceStringifyNan;
|
|
32
|
+
// Any strings that don't look like JSON, don't need to encoded as JSON, and can instead just be stored as strings.
|
|
33
|
+
if (typeof value === "string" && !looksLikeJSON(value)) {
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
let str = JSON.stringify(value);
|
|
37
|
+
if (typeof value !== "object") {
|
|
38
|
+
let testParse = niceParse(str);
|
|
39
|
+
if (testParse !== value) {
|
|
40
|
+
console.log(`niceStringify did not reverse correctly. Should have received ${JSON.stringify(value)}, did received ${JSON.stringify(testParse)}`);
|
|
41
|
+
debugger;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return str;
|
|
45
|
+
}
|
|
46
|
+
exports.niceStringify = niceStringify;
|
|
47
|
+
function niceParse(str, noSpecialTrue = false) {
|
|
48
|
+
if (str === undefined) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
if (str === exports.niceStringifyTrue && !noSpecialTrue)
|
|
52
|
+
return true;
|
|
53
|
+
if (str === exports.niceStringifyNan)
|
|
54
|
+
return Number.NaN;
|
|
55
|
+
if (str === exports.niceStringifyUndefined)
|
|
56
|
+
return undefined;
|
|
57
|
+
if (str === "")
|
|
58
|
+
return str;
|
|
59
|
+
if (looksLikeJSON(str)) {
|
|
60
|
+
try {
|
|
61
|
+
return JSON.parse(str);
|
|
62
|
+
}
|
|
63
|
+
catch (_a) { }
|
|
64
|
+
}
|
|
65
|
+
return str;
|
|
66
|
+
}
|
|
67
|
+
exports.niceParse = niceParse;
|
|
68
|
+
/*
|
|
69
|
+
|
|
70
|
+
function setFromUrlValue(key: string, valueJSON: string) {
|
|
71
|
+
if(isMaybeJSON(valueJSON)) {
|
|
72
|
+
try {
|
|
73
|
+
values[key] = JSON.parse(valueJSON);
|
|
74
|
+
return;
|
|
75
|
+
} catch { }
|
|
76
|
+
}
|
|
77
|
+
// Always set it, if it isn't JSON, just assume it is raw text.
|
|
78
|
+
values[key] = valueJSON;
|
|
79
|
+
}
|
|
80
|
+
*/
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZVN0cmluZ2lmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5pY2VTdHJpbmdpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGFBQWE7QUFDYiwyQkFBMkI7OztBQUVkLFFBQUEsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0FBQ3BDLG1GQUFtRjtBQUNuRixxR0FBcUc7QUFDeEYsUUFBQSxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7QUFDM0IsUUFBQSxzQkFBc0IsR0FBRyxhQUFhLENBQUM7QUFHcEQsMklBQTJJO0FBQzNJLFNBQVMsYUFBYSxDQUFDLEdBQVc7SUFDOUIsT0FBTyxDQUNILEdBQUcsS0FBSyxNQUFNO1dBQ1gsR0FBRyxLQUFLLE1BQU07V0FDZCxHQUFHLEtBQUssT0FBTztXQUNmLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRztXQUM3QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUc7V0FDN0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHO1dBQzdDLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7V0FDcEQsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1dBQ3hGLEdBQUcsS0FBSyx5QkFBaUI7V0FDekIsR0FBRyxLQUFLLDhCQUFzQixDQUNwQyxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxLQUFjO0lBQ3hDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sOEJBQXNCLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksS0FBSyxLQUFLLElBQUk7UUFBRSxPQUFPLHlCQUFpQixDQUFDO0lBQzdDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLHdCQUFnQixDQUFDO0lBRWpELG1IQUFtSDtJQUNuSCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFHRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUVBQWlFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGtCQUFrQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqSixRQUFRLENBQUM7UUFDYixDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQztBQXZCRCxzQ0F1QkM7QUFFRCxTQUFnQixTQUFTLENBQUMsR0FBdUIsRUFBRSxhQUFhLEdBQUcsS0FBSztJQUNwRSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNwQixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUsseUJBQWlCLElBQUksQ0FBQyxhQUFhO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDN0QsSUFBSSxHQUFHLEtBQUssd0JBQWdCO1FBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ2hELElBQUksR0FBRyxLQUFLLDhCQUFzQjtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3JELElBQUksR0FBRyxLQUFLLEVBQUU7UUFBRSxPQUFPLEdBQUcsQ0FBQztJQUUzQixJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQUMsV0FBTSxDQUFDLENBQUMsQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUM7QUFmRCw4QkFlQztBQUVEOzs7Ozs7Ozs7Ozs7RUFZRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRydWUgPT4gXCJcIlxuLy8gXCJcIiA9PiBKU09OLnN0cmluZ2lmeShcIlwiKVxuXG5leHBvcnQgY29uc3QgbmljZVN0cmluZ2lmeVRydWUgPSBcIlwiO1xuLy8gU3RhcnRpbmcvZW5kaW5nIHdpdGggYSBKU09OIGNoYXJhY3RlciBtZWFucyBhbnl0aGluZyBzdHJpbmcgdGhhdCBsb29rcyBsaWtlIHRoaXNcbi8vICB3aWxsIGJlIGVuY29kZWQgbGlrZTogYFwie05hbmAsIGFuZCBpdCBpcyBpbXBvc3NpYmxlIGZvciBhbiBvYmplY3QgdG8gc2VyaWFsaXplIHRvIGxvb2sgbGlrZSB0aGlzLlxuZXhwb3J0IGNvbnN0IG5pY2VTdHJpbmdpZnlOYW4gPSBge05hTn1gO1xuZXhwb3J0IGNvbnN0IG5pY2VTdHJpbmdpZnlVbmRlZmluZWQgPSBge1VuZGVmaW5lZH1gO1xuXG5cbi8vIEJVRzogVGhpcyBpcyBhY3R1YWxseSBicm9rZW4gZm9yIGhleCBzdHJpbmdzLiBIZXggc3RyaW5ncyBtYXkgc29tZXRpbWVzIGJlIGVudGlyZWx5IG51bWJlcnMsIHdoaWNoIG1lYW5zIHRoZXkgd2lsbCByYW5kb21seSBjaGFuZ2UgdHlwZS5cbmZ1bmN0aW9uIGxvb2tzTGlrZUpTT04oc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgICBzdHIgPT09IFwibnVsbFwiXG4gICAgICAgIHx8IHN0ciA9PT0gXCJ0cnVlXCJcbiAgICAgICAgfHwgc3RyID09PSBcImZhbHNlXCJcbiAgICAgICAgfHwgc3RyWzBdID09PSBgXCJgICYmIHN0cltzdHIubGVuZ3RoIC0gMV0gPT09IGBcImBcbiAgICAgICAgfHwgc3RyWzBdID09PSBgW2AgJiYgc3RyW3N0ci5sZW5ndGggLSAxXSA9PT0gYF1gXG4gICAgICAgIHx8IHN0clswXSA9PT0gYHtgICYmIHN0cltzdHIubGVuZ3RoIC0gMV0gPT09IGB9YFxuICAgICAgICB8fCAoNDggPD0gc3RyLmNoYXJDb2RlQXQoMCkgJiYgc3RyLmNoYXJDb2RlQXQoMCkgPD0gNTcpXG4gICAgICAgIHx8IHN0ci5sZW5ndGggPiAxICYmIHN0clswXSA9PT0gXCItXCIgJiYgKDQ4IDw9IHN0ci5jaGFyQ29kZUF0KDEpICYmIHN0ci5jaGFyQ29kZUF0KDEpIDw9IDU3KVxuICAgICAgICB8fCBzdHIgPT09IG5pY2VTdHJpbmdpZnlUcnVlXG4gICAgICAgIHx8IHN0ciA9PT0gbmljZVN0cmluZ2lmeVVuZGVmaW5lZFxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuaWNlU3RyaW5naWZ5KHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gbmljZVN0cmluZ2lmeVVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSB0cnVlKSByZXR1cm4gbmljZVN0cmluZ2lmeVRydWU7XG4gICAgaWYgKE51bWJlci5pc05hTih2YWx1ZSkpIHJldHVybiBuaWNlU3RyaW5naWZ5TmFuO1xuXG4gICAgLy8gQW55IHN0cmluZ3MgdGhhdCBkb24ndCBsb29rIGxpa2UgSlNPTiwgZG9uJ3QgbmVlZCB0byBlbmNvZGVkIGFzIEpTT04sIGFuZCBjYW4gaW5zdGVhZCBqdXN0IGJlIHN0b3JlZCBhcyBzdHJpbmdzLlxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgIWxvb2tzTGlrZUpTT04odmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cblxuICAgIGxldCBzdHIgPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICBsZXQgdGVzdFBhcnNlID0gbmljZVBhcnNlKHN0cik7XG4gICAgICAgIGlmICh0ZXN0UGFyc2UgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgbmljZVN0cmluZ2lmeSBkaWQgbm90IHJldmVyc2UgY29ycmVjdGx5LiBTaG91bGQgaGF2ZSByZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0sIGRpZCByZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KHRlc3RQYXJzZSl9YCk7XG4gICAgICAgICAgICBkZWJ1Z2dlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuaWNlUGFyc2Uoc3RyOiBzdHJpbmcgfCB1bmRlZmluZWQsIG5vU3BlY2lhbFRydWUgPSBmYWxzZSk6IHVua25vd24ge1xuICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoc3RyID09PSBuaWNlU3RyaW5naWZ5VHJ1ZSAmJiAhbm9TcGVjaWFsVHJ1ZSkgcmV0dXJuIHRydWU7XG4gICAgaWYgKHN0ciA9PT0gbmljZVN0cmluZ2lmeU5hbikgcmV0dXJuIE51bWJlci5OYU47XG4gICAgaWYgKHN0ciA9PT0gbmljZVN0cmluZ2lmeVVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBpZiAoc3RyID09PSBcIlwiKSByZXR1cm4gc3RyO1xuXG4gICAgaWYgKGxvb2tzTGlrZUpTT04oc3RyKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2Uoc3RyKTtcbiAgICAgICAgfSBjYXRjaCB7IH1cbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbn1cblxuLypcblxuZnVuY3Rpb24gc2V0RnJvbVVybFZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZUpTT046IHN0cmluZykge1xuICAgIGlmKGlzTWF5YmVKU09OKHZhbHVlSlNPTikpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhbHVlc1trZXldID0gSlNPTi5wYXJzZSh2YWx1ZUpTT04pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGNhdGNoIHsgfVxuICAgIH1cbiAgICAvLyBBbHdheXMgc2V0IGl0LCBpZiBpdCBpc24ndCBKU09OLCBqdXN0IGFzc3VtZSBpdCBpcyByYXcgdGV4dC5cbiAgICB2YWx1ZXNba2V5XSA9IHZhbHVlSlNPTjtcbn1cbiovIl19
|
|
82
|
+
/* _JS_SOURCE_HASH = "1ad48c4ab7de000d16800c8d955c49440bbb7a22b31dc7faa55ee48614bbb034"; */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
|
|
3
3
|
//exports.observer = void 0;
|
|
4
4
|
process.env.NODE_ENV = "production";
|
|
@@ -36,4 +36,4 @@ function observer(Constructor) {
|
|
|
36
36
|
}
|
|
37
37
|
exports.observer = observer;
|
|
38
38
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvYnNlcnZlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO0FBR3BDLCtCQUE0QztBQUM1Qyx1RUFBK0Q7QUFDL0QsSUFBQSxzQkFBTyxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlDLG1FQUFxRTtBQUVyRSxJQUFJLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQUM3QixTQUFnQixRQUFRLENBU3BCLFdBQWM7SUFFZCxJQUFJLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQzVCLE9BQU8sS0FBTSxTQUFRLFdBQVc7UUFBekI7O1lBR0gsYUFBUSxHQUFHLElBQUksZUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUU7Z0JBQ3JFLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztRQWNQLENBQUM7UUFsQkcsYUFBYTtRQUNiLE1BQU0sS0FBSyxJQUFJLEtBQUssT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUk5QyxvQkFBb0I7O1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEIsTUFBQSxLQUFLLENBQUMsb0JBQW9CLG9EQUFJLENBQUM7UUFDbkMsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLElBQVc7WUFDakIsSUFBSSxNQUE2QixDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtnQkFDckIsSUFBQSxzQkFBWSxFQUFDLEdBQUcsRUFBRTtvQkFDZCxNQUFNLEdBQUksS0FBSyxDQUFDLE1BQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUM1QyxDQUFDLEVBQUUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDO0FBaENELDRCQWdDQyIsInNvdXJjZXNDb250ZW50IjpbInByb2Nlc3MuZW52Lk5PREVfRU5WID0gXCJwcm9kdWN0aW9uXCI7XG5cbmltcG9ydCAqIGFzIHByZWFjdCBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyBvYnNlcnZhYmxlLCBSZWFjdGlvbiB9IGZyb20gXCJtb2J4XCI7XG5pbXBvcnQgeyBzZXRGbGFnIH0gZnJvbSBcInNvY2tldC1mdW5jdGlvbi9yZXF1aXJlL2NvbXBpbGVGbGFnc1wiO1xuc2V0RmxhZyhyZXF1aXJlLCBcIm1vYnhcIiwgXCJhbGxvd2NsaWVudFwiLCB0cnVlKTtcbmltcG9ydCB7IG1lYXN1cmVCbG9jayB9IGZyb20gXCJzb2NrZXQtZnVuY3Rpb24vc3JjL3Byb2ZpbGluZy9tZWFzdXJlXCI7XG5cbmxldCBnbG9iYWxDb25zdHJ1Y3RPcmRlciA9IDE7XG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZXI8XG4gICAgVCBleHRlbmRzIHtcbiAgICAgICAgbmV3KC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICAgICAgcmVuZGVyKCk6IHByZWFjdC5Db21wb25lbnRDaGlsZDtcbiAgICAgICAgICAgIGZvcmNlVXBkYXRlKGNhbGxiYWNrPzogKCkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgICAgICAgICBjb21wb25lbnRXaWxsVW5tb3VudD8oKTogdm9pZDtcbiAgICAgICAgfVxuICAgIH1cbj4oXG4gICAgQ29uc3RydWN0b3I6IFRcbikge1xuICAgIGxldCBuYW1lID0gQ29uc3RydWN0b3IubmFtZTtcbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBDb25zdHJ1Y3RvciB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgc3RhdGljIGdldCBuYW1lKCkgeyByZXR1cm4gQ29uc3RydWN0b3IubmFtZTsgfVxuICAgICAgICByZWFjdGlvbiA9IG5ldyBSZWFjdGlvbihgcmVuZGVyLiR7bmFtZX0uJHtnbG9iYWxDb25zdHJ1Y3RPcmRlcisrfWAsICgpID0+IHtcbiAgICAgICAgICAgIHN1cGVyLmZvcmNlVXBkYXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgICAgICAgIHRoaXMucmVhY3Rpb24uZGlzcG9zZSgpO1xuICAgICAgICAgICAgc3VwZXIuY29tcG9uZW50V2lsbFVubW91bnQ/LigpO1xuICAgICAgICB9XG4gICAgICAgIHJlbmRlciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICAgICAgbGV0IG91dHB1dDogcHJlYWN0LkNvbXBvbmVudENoaWxkO1xuICAgICAgICAgICAgdGhpcy5yZWFjdGlvbi50cmFjaygoKSA9PiB7XG4gICAgICAgICAgICAgICAgbWVhc3VyZUJsb2NrKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0ID0gKHN1cGVyLnJlbmRlciBhcyBhbnkpKC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgIH0sIGAke25hbWV9fHJlbmRlcmApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICB9XG4gICAgfTtcbn0iXX0=
|
|
39
|
-
/* _JS_SOURCE_HASH = "
|
|
39
|
+
/* _JS_SOURCE_HASH = "66bf117905c840638829362c0f5010e30300b34621cecc47d4fbc18f0fe6fe54"; */
|
package/yarn.lock
CHANGED
|
@@ -1937,10 +1937,10 @@ slash@^3.0.0:
|
|
|
1937
1937
|
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
|
|
1938
1938
|
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
|
|
1939
1939
|
|
|
1940
|
-
socket-function@^1.3.
|
|
1941
|
-
version "1.3.
|
|
1942
|
-
resolved "https://registry.yarnpkg.com/socket-function/-/socket-function-1.3.
|
|
1943
|
-
integrity sha512-
|
|
1940
|
+
socket-function@^1.3.3:
|
|
1941
|
+
version "1.3.3"
|
|
1942
|
+
resolved "https://registry.yarnpkg.com/socket-function/-/socket-function-1.3.3.tgz#da9ab9dd01c7aad248e86d42330b4a2ee01318e7"
|
|
1943
|
+
integrity sha512-RLU1T5mENV8AatoiGBgHSWhmQEpjeLlTIn/SjT74VZTE4ICx72a3TOXF2zfFC1lsyGd0Ikp5luEQ1LOreCvwhA==
|
|
1944
1944
|
dependencies:
|
|
1945
1945
|
"@types/pako" "^2.0.3"
|
|
1946
1946
|
"@types/ws" "^8.5.3"
|