@cdktn/commons 0.23.0-pre.46 → 0.23.0-pre.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/checkpoint.js +3 -3
- package/build/debug.d.ts.map +1 -1
- package/build/debug.js +2 -2
- package/package.json +2 -2
package/build/checkpoint.js
CHANGED
|
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.ReportRequest = exports.getUserId = exports.getProjectId = exports.sendTelemetry = void 0;
|
|
30
30
|
// Copyright (c) HashiCorp, Inc
|
|
31
31
|
// SPDX-License-Identifier: MPL-2.0
|
|
32
|
-
const https = require("https");
|
|
32
|
+
const https = __importStar(require("https"));
|
|
33
33
|
const url_1 = require("url");
|
|
34
34
|
const uuid_1 = require("uuid");
|
|
35
35
|
const os = __importStar(require("os"));
|
|
@@ -97,7 +97,7 @@ function getId(filePath, key, forceCreation = false, explanatoryComment) {
|
|
|
97
97
|
const _uuid = (0, uuid_1.v4)(); // create a new UUID in case we don't find one
|
|
98
98
|
let jsonFile;
|
|
99
99
|
try {
|
|
100
|
-
jsonFile =
|
|
100
|
+
jsonFile = JSON.parse(fs.readFileSync(filePath, "utf-8")); // we found the file
|
|
101
101
|
}
|
|
102
102
|
catch (_a) {
|
|
103
103
|
// we found no file, create one if we're forcing a creation
|
|
@@ -173,4 +173,4 @@ async function ReportRequest(reportParams) {
|
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
exports.ReportRequest = ReportRequest;
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGVja3BvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywrQkFBZ0M7QUFDaEMsNkJBQTZCO0FBQzdCLCtCQUFvQztBQUNwQyx1Q0FBeUI7QUFDekIsc0RBQTZCO0FBQzdCLHVDQUF1RDtBQUN2RCwyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLHVDQUE0QztBQUU1QyxNQUFNLFFBQVEsR0FBRywwQ0FBMEMsQ0FBQztBQUU1RCxNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXRDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDO0FBRW5DLFNBQVMsT0FBTzs7SUFDZCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtRQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDUCxDQUFDLE1BQUEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sbUNBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxFQUNyRCxRQUFRLENBQ1QsQ0FBQztBQUNSLENBQUM7QUFpQkQsS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFXLEVBQUUsSUFBWTtJQUMzQyxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQ3ZCLElBQUEsWUFBTSxFQUFDLEdBQUcsQ0FBQyxFQUNYO1lBQ0UsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzFCLGdCQUFn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RSxDQUFDO1FBQzVDLGdCQUFNLENBQUMsSUFBSSxDQUNULDBEQUEwRCxRQUFRLENBQUMsTUFBTSx3QkFBd0IscUJBQXFCLFFBQVEsQ0FDL0gsQ0FBQztRQUNGLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsR0FBRyxRQUFRLGFBQWEsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLG1DQUFtQztRQUNuQyxJQUFBLDRCQUFrQixFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0FBQ0gsQ0FBQztBQWpERCxzQ0FpREMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IGh0dHBzID0gcmVxdWlyZShcImh0dHBzXCIpO1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSBcInVybFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSBcInV1aWRcIjtcbmltcG9ydCAqIGFzIG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0IGNpSW5mbyBmcm9tIFwiY2ktaW5mb1wiO1xuaW1wb3J0IHsgbG9nZ2VyLCBwcm9jZXNzTG9nZ2VyRXJyb3IgfSBmcm9tIFwiLi9sb2dnaW5nXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IERJU1BMQVlfVkVSU0lPTiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcblxuY29uc3QgQkFTRV9VUkwgPSBgaHR0cHM6Ly9jaGVja3BvaW50LWFwaS5oYXNoaWNvcnAuY29tL3YxL2A7XG5cbmNvbnN0IFZBTElEX1NUQVRVU19DT0RFUyA9IFsyMDAsIDIwMV07XG5cbmNvbnN0IE1BWF9SRVFVRVNUX0JPRFlfU0laRSA9IDgxOTI7XG5cbmZ1bmN0aW9uIGhvbWVEaXIoKSB7XG4gIHJldHVybiBwcm9jZXNzLmVudi5DREtURl9IT01FXG4gICAgPyBwYXRoLnJlc29sdmUocHJvY2Vzcy5lbnYuQ0RLVEZfSE9NRSlcbiAgICA6IHBhdGguam9pbihcbiAgICAgICAgKG9zLnVzZXJJbmZvKCkuaG9tZWRpciA/PyBvcy5ob21lZGlyKCkpLnRyaW0oKSB8fCBcIi9cIixcbiAgICAgICAgXCIuY2RrdGZcIixcbiAgICAgICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3J0UGFyYW1zIHtcbiAgZGF0ZVRpbWU/OiBEYXRlO1xuICBhcmNoPzogc3RyaW5nO1xuICBvcz86IHN0cmluZztcbiAgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgcHJvZHVjdDogc3RyaW5nO1xuICBydW5JRD86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgY29tbWFuZD86IHN0cmluZztcbiAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgY2k/OiBzdHJpbmc7XG4gIHByb2plY3RJZD86IHN0cmluZztcbn1cblxuYXN5bmMgZnVuY3Rpb24gcG9zdCh1cmw6IHN0cmluZywgZGF0YTogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcmVxID0gaHR0cHMucmVxdWVzdChcbiAgICAgIGZvcm1hdCh1cmwpLFxuICAgICAge1xuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICBcIkNvbnRlbnQtTGVuZ3RoXCI6IGRhdGEubGVuZ3RoLFxuICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIk9wZW5Db25zdHJ1Y3RzL2Nka3RuLWNsaVwiLFxuICAgICAgICB9LFxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgfSxcbiAgICAgIChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcy5zdGF0dXNDb2RlKSB7XG4gICAgICAgICAgY29uc3Qgc3RhdHVzQ29kZSA9IHJlcy5zdGF0dXNDb2RlO1xuICAgICAgICAgIGlmICghVkFMSURfU1RBVFVTX0NPREVTLmluY2x1ZGVzKHN0YXR1c0NvZGUpKSB7XG4gICAgICAgICAgICByZXR1cm4ga28obmV3IEVycm9yKHJlcy5zdGF0dXNNZXNzYWdlKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgQXJyYXk8QnVmZmVyPigpO1xuICAgICAgICByZXMub24oXCJkYXRhXCIsIChjaHVuaykgPT4gZGF0YS5wdXNoKGNodW5rKSk7XG4gICAgICAgIHJlcy5vbihcImVycm9yXCIsIChlcnIpID0+IGtvKGVycikpO1xuICAgICAgICByZXMub24oXCJlbmRcIiwgKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBvaygpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJlcS5zZXRUaW1lb3V0KDEwMDAsICgpID0+IGtvKG5ldyBFcnJvcihcInJlcXVlc3QgdGltZW91dFwiKSkpO1xuICAgIHJlcS53cml0ZShkYXRhKTtcbiAgICByZXEuZW5kKCk7XG4gICAgcmVxLm9uKFwiZXJyb3JcIiwgKGVycikgPT4ga28oZXJyKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VuZFRlbGVtZXRyeShcbiAgY29tbWFuZDogc3RyaW5nLFxuICBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuKSB7XG4gIGNvbnN0IHJlcG9ydFBhcmFtczogUmVwb3J0UGFyYW1zID0ge1xuICAgIGNvbW1hbmQsXG4gICAgcHJvZHVjdDogXCJjZGt0blwiLFxuICAgIHZlcnNpb246IGAke0RJU1BMQVlfVkVSU0lPTn1gLFxuICAgIGRhdGVUaW1lOiBuZXcgRGF0ZSgpLFxuICAgIGxhbmd1YWdlOiBwYXlsb2FkLmxhbmd1YWdlLFxuICAgIHBheWxvYWQsXG4gIH07XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBSZXBvcnRSZXF1ZXN0KHJlcG9ydFBhcmFtcyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5lcnJvcihgQ291bGQgbm90IHNlbmQgdGVsZW1ldHJ5IGRhdGE6ICR7ZXJyfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldElkKFxuICBmaWxlUGF0aDogc3RyaW5nLFxuICBrZXk6IHN0cmluZyxcbiAgZm9yY2VDcmVhdGlvbiA9IGZhbHNlLFxuICBleHBsYW5hdG9yeUNvbW1lbnQ/OiBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICBjb25zdCBfdXVpZCA9IHV1aWR2NCgpOyAvLyBjcmVhdGUgYSBuZXcgVVVJRCBpbiBjYXNlIHdlIGRvbid0IGZpbmQgb25lXG5cbiAgbGV0IGpzb25GaWxlO1xuICB0cnkge1xuICAgIGpzb25GaWxlID0gcmVxdWlyZShmaWxlUGF0aCk7IC8vIHdlIGZvdW5kIHRoZSBmaWxlXG4gIH0gY2F0Y2gge1xuICAgIC8vIHdlIGZvdW5kIG5vIGZpbGUsIGNyZWF0ZSBvbmUgaWYgd2UncmUgZm9yY2luZyBhIGNyZWF0aW9uXG4gICAgaWYgKGZvcmNlQ3JlYXRpb24pIHtcbiAgICAgIGNvbnN0IF9pZEZpbGUgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+OyAvLyBjb21wb3NlIEpTT04gaWQgZmlsZSBpbiBjYXNlIHdlIGRvbid0IGZpbmQgb25lXG4gICAgICBpZiAoZXhwbGFuYXRvcnlDb21tZW50KSB7XG4gICAgICAgIF9pZEZpbGVbXCIvL1wiXSA9IGV4cGxhbmF0b3J5Q29tbWVudC5yZXBsYWNlKC9cXG4vZywgXCIgXCIpO1xuICAgICAgfVxuICAgICAgX2lkRmlsZVtrZXldID0gX3V1aWQ7XG4gICAgICBmcy5lbnN1cmVEaXJTeW5jKHBhdGguZGlybmFtZShmaWxlUGF0aCkpO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoX2lkRmlsZSwgbnVsbCwgMikpO1xuICAgIH1cbiAgICByZXR1cm4gX3V1aWQ7XG4gIH1cblxuICBpZiAoanNvbkZpbGVba2V5XSkge1xuICAgIHJldHVybiBqc29uRmlsZVtrZXldOyAvLyB3ZSBmb3VuZCBhbiBpZFxuICB9IGVsc2Uge1xuICAgIC8vIHdlIGZvdW5kIG5vIGlkLCB3ZSBhZGQgaXQgdG8gdGhlIGZpbGUgZm9yIGZ1dHVyZSB1c2VcbiAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgZmlsZVBhdGgsXG4gICAgICBKU09OLnN0cmluZ2lmeSh7IC4uLmpzb25GaWxlLCBba2V5XTogX3V1aWQgfSwgbnVsbCwgMiksXG4gICAgKTtcbiAgICByZXR1cm4gX3V1aWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2plY3RJZChwcm9qZWN0UGF0aCA9IHByb2Nlc3MuY3dkKCkpOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0SWQocGF0aC5yZXNvbHZlKHByb2plY3RQYXRoLCBcImNka3RmLmpzb25cIiksIFwicHJvamVjdElkXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXNlcklkKCk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRJZChcbiAgICBwYXRoLnJlc29sdmUoaG9tZURpcigpLCBcImNvbmZpZy5qc29uXCIpLFxuICAgIFwidXNlcklkXCIsXG4gICAgdHJ1ZSxcbiAgICBgVGhpcyBzaWduYXR1cmUgaXMgYSByYW5kb21seSBnZW5lcmF0ZWQgVVVJRCB1c2VkIHRvIGFub255bW91c2x5IGRpZmZlcmVudGlhdGUgdXNlcnMgaW4gdGVsZW1ldHJ5IGRhdGEgb3JkZXIgdG8gaW5mb3JtIHByb2R1Y3QgZGlyZWN0aW9uLlxuVGhpcyBzaWduYXR1cmUgaXMgcmFuZG9tLCBpdCBpcyBub3QgYmFzZWQgb24gYW55IHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uLlxuVG8gY3JlYXRlIGEgbmV3IHNpZ25hdHVyZSwgeW91IGNhbiBzaW1wbHkgZGVsZXRlIHRoaXMgZmlsZSBhdCBhbnkgdGltZS5cblNlZSBodHRwczovL2Nkay50Zi90ZWxlbWV0cnkgZm9yIG1vcmVcbmluZm9ybWF0aW9uIG9uIGhvdyB0byBkaXNhYmxlIGl0LmAsXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBSZXBvcnRSZXF1ZXN0KHJlcG9ydFBhcmFtczogUmVwb3J0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIHdlIHdvbid0IHJlcG9ydCB3aGVuIGNoZWNrcG9pbnQgaXMgZGlzYWJsZWQuXG4gIC8vIENoZWNrIGF0IHJ1bnRpbWUgKG5vdCBpbXBvcnQgdGltZSkgdG8gYWxsb3cgdGVzdHMgdG8gbW9kaWZ5IHRoZSBlbnYgdmFyXG4gIGlmIChwcm9jZXNzLmVudi5DSEVDS1BPSU5UX0RJU0FCTEUpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIXJlcG9ydFBhcmFtcy5ydW5JRCkge1xuICAgIHJlcG9ydFBhcmFtcy5ydW5JRCA9IHV1aWR2NCgpO1xuICB9XG5cbiAgaWYgKCFyZXBvcnRQYXJhbXMuZGF0ZVRpbWUpIHtcbiAgICByZXBvcnRQYXJhbXMuZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xuICB9XG5cbiAgaWYgKCFyZXBvcnRQYXJhbXMuYXJjaCkge1xuICAgIHJlcG9ydFBhcmFtcy5hcmNoID0gb3MuYXJjaCgpO1xuICB9XG5cbiAgaWYgKCFyZXBvcnRQYXJhbXMub3MpIHtcbiAgICByZXBvcnRQYXJhbXMub3MgPSBvcy5wbGF0Zm9ybSgpO1xuICB9XG5cbiAgY29uc3QgY2k6IHN0cmluZyB8IGZhbHNlID0gY2lJbmZvLmlzQ0kgPyBjaUluZm8ubmFtZSB8fCBcInVua25vd25cIiA6IGZhbHNlO1xuICBpZiAoIXJlcG9ydFBhcmFtcy51c2VySWQgJiYgIWNpKSB7XG4gICAgcmVwb3J0UGFyYW1zLnVzZXJJZCA9IGdldFVzZXJJZCgpO1xuICB9XG5cbiAgaWYgKGNpKSB7XG4gICAgcmVwb3J0UGFyYW1zLmNpID0gY2k7XG4gIH1cblxuICByZXBvcnRQYXJhbXMucHJvamVjdElkID0gcmVwb3J0UGFyYW1zLnByb2plY3RJZCB8fCBnZXRQcm9qZWN0SWQoKTtcblxuICBjb25zdCBwb3N0RGF0YSA9IEpTT04uc3RyaW5naWZ5KHJlcG9ydFBhcmFtcyk7XG5cbiAgaWYgKHBvc3REYXRhLmxlbmd0aCA+IE1BWF9SRVFVRVNUX0JPRFlfU0laRSkge1xuICAgIGxvZ2dlci53YXJuKFxuICAgICAgYFNraXBwZWQgc2VuZGluZyB0ZWxlbWV0cnkgYXMgdGhlIHJlcXVlc3QgYm9keSBzaXplIHdhcyAke3Bvc3REYXRhLmxlbmd0aH0gYnl0ZXMuIFRoZSBsaW1pdCBpcyAke01BWF9SRVFVRVNUX0JPRFlfU0laRX0gYnl0ZXNgLFxuICAgICk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBwb3N0KGAke0JBU0VfVVJMfXRlbGVtZXRyeS8ke3JlcG9ydFBhcmFtcy5wcm9kdWN0fWAsIHBvc3REYXRhKTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgLy8gTG9nIGVycm9ycyB3cml0aW5nIHRvIGNoZWNrcG9pbnRcbiAgICBwcm9jZXNzTG9nZ2VyRXJyb3IoZS5tZXNzYWdlKTtcbiAgfVxufVxuIl19
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGVja3BvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyw2Q0FBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLCtCQUFvQztBQUNwQyx1Q0FBeUI7QUFDekIsc0RBQTZCO0FBQzdCLHVDQUF1RDtBQUN2RCwyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLHVDQUE0QztBQUU1QyxNQUFNLFFBQVEsR0FBRywwQ0FBMEMsQ0FBQztBQUU1RCxNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXRDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDO0FBRW5DLFNBQVMsT0FBTzs7SUFDZCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtRQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDUCxDQUFDLE1BQUEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sbUNBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxFQUNyRCxRQUFRLENBQ1QsQ0FBQztBQUNSLENBQUM7QUFpQkQsS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFXLEVBQUUsSUFBWTtJQUMzQyxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQ3ZCLElBQUEsWUFBTSxFQUFDLEdBQUcsQ0FBQyxFQUNYO1lBQ0UsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzFCLGdCQUFn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QUFDO0lBRTlDLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxxQkFBcUIsRUFBRSxDQUFDO1FBQzVDLGdCQUFNLENBQUMsSUFBSSxDQUNULDBEQUEwRCxRQUFRLENBQUMsTUFBTSx3QkFBd0IscUJBQXFCLFFBQVEsQ0FDL0gsQ0FBQztRQUNGLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsR0FBRyxRQUFRLGFBQWEsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLG1DQUFtQztRQUNuQyxJQUFBLDRCQUFrQixFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0FBQ0gsQ0FBQztBQWpERCxzQ0FpREMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgaHR0cHMgZnJvbSBcImh0dHBzXCI7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tIFwidXJsXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgY2lJbmZvIGZyb20gXCJjaS1pbmZvXCI7XG5pbXBvcnQgeyBsb2dnZXIsIHByb2Nlc3NMb2dnZXJFcnJvciB9IGZyb20gXCIuL2xvZ2dpbmdcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgRElTUExBWV9WRVJTSU9OIH0gZnJvbSBcIi4vdmVyc2lvblwiO1xuXG5jb25zdCBCQVNFX1VSTCA9IGBodHRwczovL2NoZWNrcG9pbnQtYXBpLmhhc2hpY29ycC5jb20vdjEvYDtcblxuY29uc3QgVkFMSURfU1RBVFVTX0NPREVTID0gWzIwMCwgMjAxXTtcblxuY29uc3QgTUFYX1JFUVVFU1RfQk9EWV9TSVpFID0gODE5MjtcblxuZnVuY3Rpb24gaG9tZURpcigpIHtcbiAgcmV0dXJuIHByb2Nlc3MuZW52LkNES1RGX0hPTUVcbiAgICA/IHBhdGgucmVzb2x2ZShwcm9jZXNzLmVudi5DREtURl9IT01FKVxuICAgIDogcGF0aC5qb2luKFxuICAgICAgICAob3MudXNlckluZm8oKS5ob21lZGlyID8/IG9zLmhvbWVkaXIoKSkudHJpbSgpIHx8IFwiL1wiLFxuICAgICAgICBcIi5jZGt0ZlwiLFxuICAgICAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXBvcnRQYXJhbXMge1xuICBkYXRlVGltZT86IERhdGU7XG4gIGFyY2g/OiBzdHJpbmc7XG4gIG9zPzogc3RyaW5nO1xuICBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBwcm9kdWN0OiBzdHJpbmc7XG4gIHJ1bklEPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBjb21tYW5kPzogc3RyaW5nO1xuICBsYW5ndWFnZT86IHN0cmluZztcbiAgdXNlcklkPzogc3RyaW5nO1xuICBjaT86IHN0cmluZztcbiAgcHJvamVjdElkPzogc3RyaW5nO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwb3N0KHVybDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChvaywga28pID0+IHtcbiAgICBjb25zdCByZXEgPSBodHRwcy5yZXF1ZXN0KFxuICAgICAgZm9ybWF0KHVybCksXG4gICAgICB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgIFwiQ29udGVudC1MZW5ndGhcIjogZGF0YS5sZW5ndGgsXG4gICAgICAgICAgXCJVc2VyLUFnZW50XCI6IFwiT3BlbkNvbnN0cnVjdHMvY2RrdG4tY2xpXCIsXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICB9LFxuICAgICAgKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLnN0YXR1c0NvZGUpIHtcbiAgICAgICAgICBjb25zdCBzdGF0dXNDb2RlID0gcmVzLnN0YXR1c0NvZGU7XG4gICAgICAgICAgaWYgKCFWQUxJRF9TVEFUVVNfQ09ERVMuaW5jbHVkZXMoc3RhdHVzQ29kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IocmVzLnN0YXR1c01lc3NhZ2UpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBBcnJheTxCdWZmZXI+KCk7XG4gICAgICAgIHJlcy5vbihcImRhdGFcIiwgKGNodW5rKSA9PiBkYXRhLnB1c2goY2h1bmspKTtcbiAgICAgICAgcmVzLm9uKFwiZXJyb3JcIiwgKGVycikgPT4ga28oZXJyKSk7XG4gICAgICAgIHJlcy5vbihcImVuZFwiLCAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9rKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmVxLnNldFRpbWVvdXQoMTAwMCwgKCkgPT4ga28obmV3IEVycm9yKFwicmVxdWVzdCB0aW1lb3V0XCIpKSk7XG4gICAgcmVxLndyaXRlKGRhdGEpO1xuICAgIHJlcS5lbmQoKTtcbiAgICByZXEub24oXCJlcnJvclwiLCAoZXJyKSA9PiBrbyhlcnIpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZW5kVGVsZW1ldHJ5KFxuICBjb21tYW5kOiBzdHJpbmcsXG4gIHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4pIHtcbiAgY29uc3QgcmVwb3J0UGFyYW1zOiBSZXBvcnRQYXJhbXMgPSB7XG4gICAgY29tbWFuZCxcbiAgICBwcm9kdWN0OiBcImNka3RuXCIsXG4gICAgdmVyc2lvbjogYCR7RElTUExBWV9WRVJTSU9OfWAsXG4gICAgZGF0ZVRpbWU6IG5ldyBEYXRlKCksXG4gICAgbGFuZ3VhZ2U6IHBheWxvYWQubGFuZ3VhZ2UsXG4gICAgcGF5bG9hZCxcbiAgfTtcblxuICB0cnkge1xuICAgIGF3YWl0IFJlcG9ydFJlcXVlc3QocmVwb3J0UGFyYW1zKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBDb3VsZCBub3Qgc2VuZCB0ZWxlbWV0cnkgZGF0YTogJHtlcnJ9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SWQoXG4gIGZpbGVQYXRoOiBzdHJpbmcsXG4gIGtleTogc3RyaW5nLFxuICBmb3JjZUNyZWF0aW9uID0gZmFsc2UsXG4gIGV4cGxhbmF0b3J5Q29tbWVudD86IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IF91dWlkID0gdXVpZHY0KCk7IC8vIGNyZWF0ZSBhIG5ldyBVVUlEIGluIGNhc2Ugd2UgZG9uJ3QgZmluZCBvbmVcblxuICBsZXQganNvbkZpbGU7XG4gIHRyeSB7XG4gICAganNvbkZpbGUgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgXCJ1dGYtOFwiKSk7IC8vIHdlIGZvdW5kIHRoZSBmaWxlXG4gIH0gY2F0Y2gge1xuICAgIC8vIHdlIGZvdW5kIG5vIGZpbGUsIGNyZWF0ZSBvbmUgaWYgd2UncmUgZm9yY2luZyBhIGNyZWF0aW9uXG4gICAgaWYgKGZvcmNlQ3JlYXRpb24pIHtcbiAgICAgIGNvbnN0IF9pZEZpbGUgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+OyAvLyBjb21wb3NlIEpTT04gaWQgZmlsZSBpbiBjYXNlIHdlIGRvbid0IGZpbmQgb25lXG4gICAgICBpZiAoZXhwbGFuYXRvcnlDb21tZW50KSB7XG4gICAgICAgIF9pZEZpbGVbXCIvL1wiXSA9IGV4cGxhbmF0b3J5Q29tbWVudC5yZXBsYWNlKC9cXG4vZywgXCIgXCIpO1xuICAgICAgfVxuICAgICAgX2lkRmlsZVtrZXldID0gX3V1aWQ7XG4gICAgICBmcy5lbnN1cmVEaXJTeW5jKHBhdGguZGlybmFtZShmaWxlUGF0aCkpO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoX2lkRmlsZSwgbnVsbCwgMikpO1xuICAgIH1cbiAgICByZXR1cm4gX3V1aWQ7XG4gIH1cblxuICBpZiAoanNvbkZpbGVba2V5XSkge1xuICAgIHJldHVybiBqc29uRmlsZVtrZXldOyAvLyB3ZSBmb3VuZCBhbiBpZFxuICB9IGVsc2Uge1xuICAgIC8vIHdlIGZvdW5kIG5vIGlkLCB3ZSBhZGQgaXQgdG8gdGhlIGZpbGUgZm9yIGZ1dHVyZSB1c2VcbiAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgZmlsZVBhdGgsXG4gICAgICBKU09OLnN0cmluZ2lmeSh7IC4uLmpzb25GaWxlLCBba2V5XTogX3V1aWQgfSwgbnVsbCwgMiksXG4gICAgKTtcbiAgICByZXR1cm4gX3V1aWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2plY3RJZChwcm9qZWN0UGF0aCA9IHByb2Nlc3MuY3dkKCkpOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0SWQocGF0aC5yZXNvbHZlKHByb2plY3RQYXRoLCBcImNka3RmLmpzb25cIiksIFwicHJvamVjdElkXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXNlcklkKCk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRJZChcbiAgICBwYXRoLnJlc29sdmUoaG9tZURpcigpLCBcImNvbmZpZy5qc29uXCIpLFxuICAgIFwidXNlcklkXCIsXG4gICAgdHJ1ZSxcbiAgICBgVGhpcyBzaWduYXR1cmUgaXMgYSByYW5kb21seSBnZW5lcmF0ZWQgVVVJRCB1c2VkIHRvIGFub255bW91c2x5IGRpZmZlcmVudGlhdGUgdXNlcnMgaW4gdGVsZW1ldHJ5IGRhdGEgb3JkZXIgdG8gaW5mb3JtIHByb2R1Y3QgZGlyZWN0aW9uLlxuVGhpcyBzaWduYXR1cmUgaXMgcmFuZG9tLCBpdCBpcyBub3QgYmFzZWQgb24gYW55IHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uLlxuVG8gY3JlYXRlIGEgbmV3IHNpZ25hdHVyZSwgeW91IGNhbiBzaW1wbHkgZGVsZXRlIHRoaXMgZmlsZSBhdCBhbnkgdGltZS5cblNlZSBodHRwczovL2Nkay50Zi90ZWxlbWV0cnkgZm9yIG1vcmVcbmluZm9ybWF0aW9uIG9uIGhvdyB0byBkaXNhYmxlIGl0LmAsXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBSZXBvcnRSZXF1ZXN0KHJlcG9ydFBhcmFtczogUmVwb3J0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIHdlIHdvbid0IHJlcG9ydCB3aGVuIGNoZWNrcG9pbnQgaXMgZGlzYWJsZWQuXG4gIC8vIENoZWNrIGF0IHJ1bnRpbWUgKG5vdCBpbXBvcnQgdGltZSkgdG8gYWxsb3cgdGVzdHMgdG8gbW9kaWZ5IHRoZSBlbnYgdmFyXG4gIGlmIChwcm9jZXNzLmVudi5DSEVDS1BPSU5UX0RJU0FCTEUpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIXJlcG9ydFBhcmFtcy5ydW5JRCkge1xuICAgIHJlcG9ydFBhcmFtcy5ydW5JRCA9IHV1aWR2NCgpO1xuICB9XG5cbiAgaWYgKCFyZXBvcnRQYXJhbXMuZGF0ZVRpbWUpIHtcbiAgICByZXBvcnRQYXJhbXMuZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xuICB9XG5cbiAgaWYgKCFyZXBvcnRQYXJhbXMuYXJjaCkge1xuICAgIHJlcG9ydFBhcmFtcy5hcmNoID0gb3MuYXJjaCgpO1xuICB9XG5cbiAgaWYgKCFyZXBvcnRQYXJhbXMub3MpIHtcbiAgICByZXBvcnRQYXJhbXMub3MgPSBvcy5wbGF0Zm9ybSgpO1xuICB9XG5cbiAgY29uc3QgY2k6IHN0cmluZyB8IGZhbHNlID0gY2lJbmZvLmlzQ0kgPyBjaUluZm8ubmFtZSB8fCBcInVua25vd25cIiA6IGZhbHNlO1xuICBpZiAoIXJlcG9ydFBhcmFtcy51c2VySWQgJiYgIWNpKSB7XG4gICAgcmVwb3J0UGFyYW1zLnVzZXJJZCA9IGdldFVzZXJJZCgpO1xuICB9XG5cbiAgaWYgKGNpKSB7XG4gICAgcmVwb3J0UGFyYW1zLmNpID0gY2k7XG4gIH1cblxuICByZXBvcnRQYXJhbXMucHJvamVjdElkID0gcmVwb3J0UGFyYW1zLnByb2plY3RJZCB8fCBnZXRQcm9qZWN0SWQoKTtcblxuICBjb25zdCBwb3N0RGF0YSA9IEpTT04uc3RyaW5naWZ5KHJlcG9ydFBhcmFtcyk7XG5cbiAgaWYgKHBvc3REYXRhLmxlbmd0aCA+IE1BWF9SRVFVRVNUX0JPRFlfU0laRSkge1xuICAgIGxvZ2dlci53YXJuKFxuICAgICAgYFNraXBwZWQgc2VuZGluZyB0ZWxlbWV0cnkgYXMgdGhlIHJlcXVlc3QgYm9keSBzaXplIHdhcyAke3Bvc3REYXRhLmxlbmd0aH0gYnl0ZXMuIFRoZSBsaW1pdCBpcyAke01BWF9SRVFVRVNUX0JPRFlfU0laRX0gYnl0ZXNgLFxuICAgICk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBwb3N0KGAke0JBU0VfVVJMfXRlbGVtZXRyeS8ke3JlcG9ydFBhcmFtcy5wcm9kdWN0fWAsIHBvc3REYXRhKTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgLy8gTG9nIGVycm9ycyB3cml0aW5nIHRvIGNoZWNrcG9pbnRcbiAgICBwcm9jZXNzTG9nZ2VyRXJyb3IoZS5tZXNzYWdlKTtcbiAgfVxufVxuIl19
|
package/build/debug.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAWA,wBAAgB,WAAW,CAAC,WAAW,SAAgB,GAAG,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAWA,wBAAgB,WAAW,CAAC,WAAW,SAAgB,GAAG,MAAM,GAAG,SAAS,CAW3E;AAsBD,wBAAgB,gBAAgB,gCAE/B;AAED,wBAAgB,cAAc,gCAE7B;AACD,wBAAgB,eAAe,gCAE9B;AAED,wBAAgB,gBAAgB,gCAE/B;AAED,wBAAsB,gBAAgB,gCAKrC;AACD,wBAAgB,aAAa,gCAE5B;AACD,wBAAgB,gBAAgB,gCAE/B;AAED,wBAAgB,YAAY,gCAE3B;AAED,wBAAgB,cAAc,gCAE7B;AA0RD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB7B;AAED,wBAAsB,uBAAuB,2CAsD5C"}
|
package/build/debug.js
CHANGED
|
@@ -36,7 +36,7 @@ const fs_extra_1 = require("fs-extra");
|
|
|
36
36
|
const gradle_1 = require("./gradle");
|
|
37
37
|
function getLanguage(projectPath = process.cwd()) {
|
|
38
38
|
try {
|
|
39
|
-
const cdktfJson =
|
|
39
|
+
const cdktfJson = JSON.parse((0, fs_extra_1.readFileSync)(path.resolve(projectPath, "cdktf.json"), "utf-8"));
|
|
40
40
|
return cdktfJson.language;
|
|
41
41
|
}
|
|
42
42
|
catch (_a) {
|
|
@@ -376,4 +376,4 @@ async function collectDebugInformation() {
|
|
|
376
376
|
return debugOutput;
|
|
377
377
|
}
|
|
378
378
|
exports.collectDebugInformation = collectDebugInformation;
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDJDQUE2QjtBQUM3Qix1Q0FBeUI7QUFDekIsdUNBQW1DO0FBQ25DLGlDQUE4QjtBQUM5QiwyQ0FBK0M7QUFDL0MsdUNBQTRDO0FBQzVDLHVDQUFzQztBQUN0QyxxQ0FBb0U7QUFFcEUsU0FBZ0IsV0FBVyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO0lBQ3JELElBQUksQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBQUMsV0FBTSxDQUFDO1FBQ1AsaUNBQWlDO1FBQ2pDLGdCQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBVEQsa0NBU0M7QUFFRCxLQUFLLFVBQVUsZ0JBQWdCLENBQzdCLE1BQWMsRUFDZCxjQUFzQjtJQUV0QixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDdEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLFdBQUksRUFDdkIsTUFBTSxFQUNOLENBQUMsY0FBYyxDQUFDLEVBQ2hCLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUM3RCxJQUFJLEVBQ0osSUFBSSxDQUNMLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxJQUFJLEVB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Z0JBQ2hDLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixFQUFFLENBQUM7Z0JBQ2xDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxJQUFJLENBQUMsbUNBQUksSUFBSSxDQUFDO2dCQUMzQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBQSxDQUFDLE1BQU0sS0FBSyxDQUFDLG1DQUFJLElBQUksQ0FBQztnQkFDN0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxtQ0FBSSxJQUFJLENBQUM7WUFDakQsQ0FBQztZQUNELE1BQU07UUFDUixLQUFLLFFBQVE7WUFDWCxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBQSxDQUFDLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQyxtQ0FBSSxJQUFJLENBQUM7WUFDM0QsTUFBTTtRQUNSLEtBQUssSUFBSTtZQUNQLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxZQUFZLEVBQUUsQ0FBQyxtQ0FBSSxJQUFJLENBQUM7WUFDbkQsTUFBTTtJQUNWLENBQUM7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBdERELDBEQXNEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBvcyBmcm9tIFwib3NcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWMgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyB0ZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4vdGVycmFmb3JtXCI7XG5pbXBvcnQgeyBESVNQTEFZX1ZFUlNJT04gfSBmcm9tIFwiLi92ZXJzaW9uXCI7XG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBnZXRHcmFkbGVQYWNrYWdlVmVyc2lvbiwgaXNHcmFkbGVQcm9qZWN0IH0gZnJvbSBcIi4vZ3JhZGxlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMYW5ndWFnZShwcm9qZWN0UGF0aCA9IHByb2Nlc3MuY3dkKCkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICB0cnkge1xuICAgIGNvbnN0IGNka3RmSnNvbiA9IHJlcXVpcmUocGF0aC5yZXNvbHZlKHByb2plY3RQYXRoLCBcImNka3RmLmpzb25cIikpO1xuICAgIHJldHVybiBjZGt0Zkpzb24ubGFuZ3VhZ2U7XG4gIH0gY2F0Y2gge1xuICAgIC8vIFdlIGNhbiBub3QgZGV0ZWN0IHRoZSBsYW5ndWFnZVxuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIGRldGVjdCBsYW5ndWFnZSBpbiAke3Byb2plY3RQYXRofWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QmluYXJ5VmVyc2lvbihcbiAgYmluYXJ5OiBzdHJpbmcsXG4gIHZlcnNpb25Db21tYW5kOiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBub09wID0gKCkgPT4ge307XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXhlYyhcbiAgICAgIGJpbmFyeSxcbiAgICAgIFt2ZXJzaW9uQ29tbWFuZF0sXG4gICAgICB7IGVudjogcHJvY2Vzcy5lbnYsIHN0ZGlvOiBbdW5kZWZpbmVkLCB1bmRlZmluZWQsIFwiaWdub3JlXCJdIH0sXG4gICAgICBub09wLFxuICAgICAgbm9PcCxcbiAgICApO1xuICAgIHJldHVybiByZXN1bHQudHJpbSgpLnJlcGxhY2UoL1xccj9cXG58XFxyL2csIFwiXCIpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gcnVuICR7YmluYXJ5fSAke3ZlcnNpb25Db21tYW5kfTogJHtlfWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERvdG5ldFZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiZG90bmV0XCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SmF2YVZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiamF2YVwiLCBcIi12ZXJzaW9uXCIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdmVuVmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJtdm5cIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHcmFkbGVWZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcImdyYWRsZVwiLCBcIi0tdmVyc2lvblwiKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFB5dGhvblZlcnNpb24oKSB7XG4gIHJldHVybiAoXG4gICAgKGF3YWl0IGdldEJpbmFyeVZlcnNpb24oXCJweXRob24zXCIsIFwiLS12ZXJzaW9uXCIpKSB8fFxuICAgIChhd2FpdCBnZXRCaW5hcnlWZXJzaW9uKFwicHl0aG9uXCIsIFwiLS12ZXJzaW9uXCIpKVxuICApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBpcFZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwicGlwXCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBpcGVudlZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwicGlwZW52XCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R29WZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcImdvXCIsIFwidmVyc2lvblwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGVWZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcIm5vZGVcIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE5vZGVNb2R1bGVWZXJzaW9uKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgLy8gVXNlIHRoZSBwcmVzZW5jZSBvZiB0aGUgcG5wbSBsb2NrIGZpbGUgYXMgYSBzaWduYWwgdGhhdFxuICAvLyB3ZSBzaG91bGQgaW50ZXJyb2dhdGUgcGFja2FnZXMgdmlhIHBucG0gaW5zdGVhZCBvZiBucG0uXG4gIGNvbnN0IHVzaW5nUG5wbSA9IGF3YWl0IHBhdGhFeGlzdHMoXCJwbnBtLWxvY2sueWFtbFwiKTtcblxuICByZXR1cm4gdXNpbmdQbnBtXG4gICAgPyBnZXRQbnBtTm9kZU1vZHVsZVZlcnNpb24ocGFja2FnZU5hbWUpXG4gICAgOiBnZXROcG1Ob2RlTW9kdWxlVmVyc2lvbihwYWNrYWdlTmFtZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFBucG1Ob2RlTW9kdWxlVmVyc2lvbihcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGxldCBvdXRwdXQ7XG5cbiAgdHJ5IHtcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicG5wbVwiLCBbXCJsaXN0XCIsIHBhY2thZ2VOYW1lLCBcIi0tanNvblwiXSwge1xuICAgICAgZW52OiB7IC4uLnByb2Nlc3MuZW52IH0sXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ3BucG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBqc29uO1xuICB0cnkge1xuICAgIGpzb24gPSBKU09OLnBhcnNlKG91dHB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIHBhcnNlIG91dHB1dCBvZiAncG5wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7ZX1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChcbiAgICAhanNvbiB8fFxuICAgICFBcnJheS5pc0FycmF5KGpzb24pIHx8XG4gICAganNvbi5sZW5ndGggPT09IDAgfHxcbiAgICAhanNvblswXT8uZGVwZW5kZW5jaWVzPy5bcGFja2FnZU5hbWVdPy52ZXJzaW9uXG4gICkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCAnJHtwYWNrYWdlTmFtZX0nIGluICdwbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ganNvblswXS5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb247XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE5wbU5vZGVNb2R1bGVWZXJzaW9uKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IG91dHB1dDtcblxuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJucG1cIiwgW1wibGlzdFwiLCBwYWNrYWdlTmFtZSwgXCItLWpzb25cIl0sIHtcbiAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiB9LFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICducG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBqc29uO1xuICB0cnkge1xuICAgIGpzb24gPSBKU09OLnBhcnNlKG91dHB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIHBhcnNlIG91dHB1dCBvZiAnbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKFxuICAgICFqc29uLmRlcGVuZGVuY2llcyB8fFxuICAgICFqc29uLmRlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gfHxcbiAgICAhanNvbi5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb25cbiAgKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kICcke3BhY2thZ2VOYW1lfScgaW4gJ25wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIGpzb24uZGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXS52ZXJzaW9uO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRQeXRob25QYWNrYWdlVmVyc2lvbihcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGxldCBvdXRwdXQ7XG4gIHRyeSB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcInBpcGVudlwiLCBbXCJydW5cIiwgXCJwaXBcIiwgXCJzaG93XCIsIFwiLXFxXCIsIHBhY2thZ2VOYW1lXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcblxuICAgIC8vIFJ1bm5pbmcgd2l0aCBgLXFxYCBzdXBwcmVzc2VzIGJvdGggbWlzc2luZyBwYWNrYWdlcyBhbmQgYWN0dWFsIHBhY2thZ2VcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwZW52XCIsIFtcInJ1blwiLCBcInBpcFwiLCBcInNob3dcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICdwaXBlbnYgcnVuIHBpcCBzaG93ICR7cGFja2FnZU5hbWV9JzogJHtlfWApO1xuICB9XG5cbiAgLy8gSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBvdXRwdXQgdXNpbmcgcGlwZW52LCB0cnkgdG8gZ2V0IGl0IHVzaW5nIHBpcCBkaXJlY3RseVxuICBpZiAoIW91dHB1dCkge1xuICAgIHRyeSB7XG4gICAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwXCIsIFtcInNob3dcIiwgXCItcXFcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICB9KTtcblxuICAgICAgLy8gUnVubmluZyB3aXRoIGAtcXFgIHN1cHByZXNzZXMgYm90aCBtaXNzaW5nIHBhY2thZ2VzIGFuZCBhY3R1YWwgcGFja2FnZVxuICAgICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcInBpcFwiLCBbXCJzaG93XCIsIHBhY2thZ2VOYW1lXSwge1xuICAgICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICdwaXAgc2hvdyAke3BhY2thZ2VOYW1lfSc6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIW91dHB1dCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCB2ZXJzaW9uSW5mbyA9IG91dHB1dFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLnN0YXJ0c1dpdGgoXCJWZXJzaW9uOlwiKSk7XG5cbiAgaWYgKCF2ZXJzaW9uSW5mbykge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCB2ZXJzaW9uIGluIG91dHB1dCBvZiAncGlwZW52IHJ1biBwaXAgc2hvdyAke3BhY2thZ2VOYW1lfScgLyAncGlwIHNob3cgJHtwYWNrYWdlTmFtZX0nOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHZlcnNpb24gPSB2ZXJzaW9uSW5mby5zcGxpdChcIjpcIilbMV0udHJpbSgpO1xuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuLy8gT25jZSBodHRwczovL2dpdGh1Yi5jb20vTnVHZXQvSG9tZS9pc3N1ZXMvNzc1MiBnZXRzIHJlc29sdmVkIHdlIGNhbiBhbHNvIHRyeSB3aXRoIC0tanNvblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q1NoYXJwUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBjb25zdCB0cmFuc2xhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBqc2lpOiBcIkFtYXpvbi5KU0lJLlJ1bnRpbWVcIixcbiAgICBjb25zdHJ1Y3RzOiBcIkNvbnN0cnVjdHNcIixcbiAgICBjZGt0ZjogXCJIYXNoaUNvcnAuQ2RrdGZcIixcbiAgICBjZGt0bjogXCJJby5DZGt0blwiLFxuICB9O1xuICBjb25zdCBjU2hhcnBQYWNrYWdlTmFtZSA9IHRyYW5zbGF0aW9uTWFwW3BhY2thZ2VOYW1lXSB8fCBwYWNrYWdlTmFtZTtcblxuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJkb3RuZXRcIiwgW1wibGlzdFwiLCBcInBhY2thZ2VcIiwgXCItLWluY2x1ZGUtdHJhbnNpdGl2ZVwiXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gcnVuICdkb3RuZXQgbGlzdCBwYWNrYWdlIC0taW5jbHVkZS10cmFuc2l0aXZlJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvbkxpbmUgPSBvdXRwdXRcbiAgICAuc3BsaXQoL1xcclxcbnxcXHJ8XFxuLylcbiAgICAuZmluZCgobGluZSkgPT4gbGluZS5pbmNsdWRlcyhgPiAke2NTaGFycFBhY2thZ2VOYW1lfWApKTtcblxuICBpZiAoIXZlcnNpb25MaW5lKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHZlcnNpb24gZm9yICcke2NTaGFycFBhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdkb3RuZXQgbGlzdCBwYWNrYWdlIC0taW5jbHVkZS10cmFuc2l0aXZlJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBBIGxpbmUgbWlnaHQgbG9vayBsaWtlIHRoaXM6XG4gIC8vICAgVHJhbnNpdGl2ZSBQYWNrYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc29sdmVkXG4gIC8vICAgPiBBbWF6b24uSlNJSS5SdW50aW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMTcuMVxuICAvLyBUaGVyZWZvcmUgd2UgcmV2ZXJzZSBzcGxpdCBieSB3aGl0ZXNwYWNlIGFuZCByZXZlcnNlXG4gIC8vIHNvIHRoYXQgdGhlIGZpcnN0IHRoaW5nIHdlIGZpbmQgaXMgdGhlIHZlcnNpb24gbnVtYmVyXG4gIHJldHVybiB2ZXJzaW9uTGluZVxuICAgIC5zcGxpdChcIiBcIilcbiAgICAucmV2ZXJzZSgpXG4gICAgLmZpbmQoKHBhcnQpID0+IHBhcnQgIT09IFwiXCIpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRHb1BhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgdHJhbnNsYXRpb25NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAganNpaTogXCJqc2lpLXJ1bnRpbWUtZ29cIixcbiAgICBjZGt0ZjogXCJnaXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tY2RrLWdvXCIsXG4gICAgY2RrdG46IFwiZ2l0aHViLmNvbS9vcGVuLWNvbnN0cnVjdHMvY2RrLXRlcnJhaW4tZ29cIixcbiAgfTtcbiAgY29uc3QgZ29QYWNrYWdlTmFtZSA9IHRyYW5zbGF0aW9uTWFwW3BhY2thZ2VOYW1lXSB8fCBwYWNrYWdlTmFtZTtcblxuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJnb1wiLCBbXCJsaXN0XCIsIFwiLW1cIiwgXCJhbGxcIl0sIHtcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ2dvIGxpc3QgLW0gYWxsJzogJHtlfWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBsZXQgdmVyc2lvbkxpbmUgPSBvdXRwdXRcbiAgICAuc3BsaXQoL1xcclxcbnxcXHJ8XFxuLylcbiAgICAuZmluZCgobGluZSkgPT4gbGluZS5pbmNsdWRlcyhnb1BhY2thZ2VOYW1lKSk7XG5cbiAgaWYgKCF2ZXJzaW9uTGluZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCB2ZXJzaW9uIGZvciAnJHtnb1BhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdnbyBsaXN0IC1tIGFsbCc6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gV2UgYXJlIGRlYWxpbmcgd2l0aCBhIGxvY2FsIHZlcnNpb25cbiAgaWYgKHZlcnNpb25MaW5lLmluY2x1ZGVzKFwiPT5cIikpIHtcbiAgICBsb2dnZXIuZGVidWcoYEZvdW5kIGxvY2FsIHZlcnNpb24gZm9yICcke2dvUGFja2FnZU5hbWV9JzogJHt2ZXJzaW9uTGluZX1gKTtcbiAgICB2ZXJzaW9uTGluZSA9IHZlcnNpb25MaW5lLnNwbGl0KFwiPT5cIilbMF0udHJpbSgpO1xuICB9XG5cbiAgcmV0dXJuIHZlcnNpb25MaW5lLnNwbGl0KFwiIFwiKS5wb3AoKT8ucmVwbGFjZShcInZcIiwgXCJcIik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE1hdmVuUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBjb25zdCB0cmFuc2xhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBqc2lpOiBcImpzaWktcnVudGltZVwiLFxuICB9O1xuICBjb25zdCBqYXZhUGFja2FnZU5hbWUgPSB0cmFuc2xhdGlvbk1hcFtwYWNrYWdlTmFtZV0gfHwgcGFja2FnZU5hbWU7XG5cbiAgbGV0IG91dHB1dDtcbiAgdHJ5IHtcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwibXZuXCIsIFtcImRlcGVuZGVuY3k6bGlzdFwiXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIHJ1biAnbXZuIGRlcGVuZGVuY3k6bGlzdCc6ICR7ZX1gKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcmVzb2x1dGlvblBhcnQgPSBvdXRwdXQuc3BsaXQoXG4gICAgXCJUaGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgYmVlbiByZXNvbHZlZFwiLFxuICApWzFdO1xuICBpZiAoIXJlc29sdXRpb25QYXJ0KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHJlc29sdXRpb24gcGFzc2FnZSBpbiBvdXRwdXQgb2YgJ212biBkZXBlbmRlbmN5Omxpc3QnOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIFdlIG5lZWQgdG8gc2VhcmNoIGZvciB0aGUgcGFja2FnZSBuYW1lIEFORCBhIGNvbG9uIHRvIG5vdCBtYXRjaCBhIGxpbmUgbGlrZVxuICAvLyBbSU5GT10gICAgY29tLmhhc2hpY29ycDpjZGt0Zi1wcm92aWRlci1hd3M6amFyOjkuMC45OmNvbXBpbGVcbiAgLy8gd2hlbiBsb29raW5nIGZvciB0aGUgY2RrdGYgcGFja2FnZSAoc2VlIEdpdGh1YiBpc3N1ZSAjMTk5NClcbiAgY29uc3QgdmVyc2lvbkxpbmUgPSByZXNvbHV0aW9uUGFydFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmluY2x1ZGVzKGAke2phdmFQYWNrYWdlTmFtZX06YCkpO1xuXG4gIGlmICghdmVyc2lvbkxpbmUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgdmVyc2lvbiBmb3IgJyR7amF2YVBhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdtdm4gZGVwZW5kZW5jeTpsaXN0JzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBFeGFtcGxlIGxpbmU6IFtJTkZPXSAgICBjb20uaGFzaGljb3JwOmNka3RmOmphcjowLjAuMDpjb21waWxlXG4gIGNvbnN0IHZlcnNpb25TdGFydERlbGltaXRlciA9IGAke2phdmFQYWNrYWdlTmFtZX06amFyOmA7XG4gIGNvbnN0IHZlcnNpb25TdGFydCA9XG4gICAgdmVyc2lvbkxpbmUuaW5kZXhPZih2ZXJzaW9uU3RhcnREZWxpbWl0ZXIpICsgdmVyc2lvblN0YXJ0RGVsaW1pdGVyLmxlbmd0aDtcbiAgY29uc3QgdmVyc2lvbkVuZERlbGVtaXRlciA9IFwiOmNvbXBpbGVcIjtcbiAgY29uc3QgdmVyc2lvbkVuZCA9IHZlcnNpb25MaW5lLmluZGV4T2YodmVyc2lvbkVuZERlbGVtaXRlcik7XG4gIHJldHVybiB2ZXJzaW9uTGluZS5zdWJzdHJpbmcodmVyc2lvblN0YXJ0LCB2ZXJzaW9uRW5kKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0SmF2YVBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzR3JhZGxlUHJvamVjdChcIi4vXCIpKSB7XG4gICAgcmV0dXJuIGdldEdyYWRsZVBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbiAgfVxuXG4gIHJldHVybiBnZXRNYXZlblBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFBhY2thZ2VWZXJzaW9uKFxuICBsYW5ndWFnZTogc3RyaW5nLFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgY29uc3Qgbm9PcCA9IGFzeW5jICgpID0+IHVuZGVmaW5lZDtcbiAgY29uc3QgZ2V0TGlicmFyeVZlcnNpb25NYXA6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgKG5hbWU6IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+XG4gID4gPSB7XG4gICAgdHlwZXNjcmlwdDogZ2V0Tm9kZU1vZHVsZVZlcnNpb24sXG4gICAgcHl0aG9uOiBnZXRQeXRob25QYWNrYWdlVmVyc2lvbixcbiAgICBnbzogZ2V0R29QYWNrYWdlVmVyc2lvbixcbiAgICBjc2hhcnA6IGdldENTaGFycFBhY2thZ2VWZXJzaW9uLFxuICAgIGphdmE6IGdldEphdmFQYWNrYWdlVmVyc2lvbixcbiAgfTtcblxuICBjb25zdCBsaWJWZXJzaW9uID0gYXdhaXQgKGdldExpYnJhcnlWZXJzaW9uTWFwW2xhbmd1YWdlXSB8fCBub09wKShcbiAgICBwYWNrYWdlTmFtZSxcbiAgKTtcbiAgcmV0dXJuIGxpYlZlcnNpb24gPz8gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29sbGVjdERlYnVnSW5mb3JtYXRpb24oKSB7XG4gIGNvbnN0IGRlYnVnT3V0cHV0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPiA9IHt9O1xuICBjb25zdCBsYW5ndWFnZSA9IGdldExhbmd1YWdlKCk7XG4gIGRlYnVnT3V0cHV0W1wibGFuZ3VhZ2VcIl0gPSBsYW5ndWFnZSA/PyBudWxsO1xuICBkZWJ1Z091dHB1dFtcImNka3RuLWNsaVwiXSA9IERJU1BMQVlfVkVSU0lPTjtcblxuICBjb25zdCBub2RlID0gZ2V0Tm9kZVZlcnNpb24oKTtcblxuICBkZWJ1Z091dHB1dFtcIm5vZGVcIl0gPSAoYXdhaXQgbm9kZSkgPz8gbnVsbDtcbiAgaWYgKGxhbmd1YWdlKSB7XG4gICAgY29uc3QgY2RrdG4gPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJjZGt0blwiKTtcbiAgICBjb25zdCBjZGt0ZiA9IGdldFBhY2thZ2VWZXJzaW9uKGxhbmd1YWdlLCBcImNka3RmXCIpO1xuICAgIGNvbnN0IGNvbnN0cnVjdHMgPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJjb25zdHJ1Y3RzXCIpO1xuICAgIGNvbnN0IGpzaWkgPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJqc2lpXCIpO1xuXG4gICAgZGVidWdPdXRwdXRbXCJjZGt0blwiXSA9IChhd2FpdCBjZGt0bikgPz8gbnVsbDtcbiAgICBkZWJ1Z091dHB1dFtcImNka3RmXCJdID0gKGF3YWl0IGNka3RmKSA/PyBudWxsO1xuICAgIGRlYnVnT3V0cHV0W1wiY29uc3RydWN0c1wiXSA9IChhd2FpdCBjb25zdHJ1Y3RzKSA/PyBudWxsO1xuICAgIGRlYnVnT3V0cHV0W1wianNpaVwiXSA9IChhd2FpdCBqc2lpKSA/PyBudWxsO1xuICB9XG4gIGRlYnVnT3V0cHV0W1widGVycmFmb3JtXCJdID0gYXdhaXQgdGVycmFmb3JtVmVyc2lvbjtcbiAgZGVidWdPdXRwdXRbXCJhcmNoXCJdID0gb3MuYXJjaCgpO1xuICBkZWJ1Z091dHB1dFtcIm9zXCJdID0gYCR7b3MucGxhdGZvcm0oKX0gJHtvcy5yZWxlYXNlKCl9YDtcblxuICBzd2l0Y2ggKGxhbmd1YWdlKSB7XG4gICAgY2FzZSBcInB5dGhvblwiOlxuICAgICAge1xuICAgICAgICBjb25zdCBweXRob24gPSBnZXRQeXRob25WZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IHBpcCA9IGdldFBpcFZlcnNpb24oKTtcbiAgICAgICAgY29uc3QgcGlwZW52ID0gZ2V0UGlwZW52VmVyc2lvbigpO1xuICAgICAgICBkZWJ1Z091dHB1dFtcInB5dGhvblwiXSA9IChhd2FpdCBweXRob24pID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wicGlwXCJdID0gKGF3YWl0IHBpcCkgPz8gbnVsbDtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJwaXBlbnZcIl0gPSAoYXdhaXQgcGlwZW52KSA/PyBudWxsO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImphdmFcIjpcbiAgICAgIHtcbiAgICAgICAgY29uc3QgamF2YSA9IGdldEphdmFWZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IG1hdmVuID0gZ2V0TWF2ZW5WZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IGdyYWRsZSA9IGdldEdyYWRsZVZlcnNpb24oKTtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJqYXZhXCJdID0gKGF3YWl0IGphdmEpID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wibWF2ZW5cIl0gPSAoYXdhaXQgbWF2ZW4pID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wiZ3JhZGxlXCJdID0gKGF3YWl0IGdyYWRsZSkgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJjc2hhcnBcIjpcbiAgICAgIGRlYnVnT3V0cHV0W1wiZG90bmV0XCJdID0gKGF3YWl0IGdldERvdG5ldFZlcnNpb24oKSkgPz8gbnVsbDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJnb1wiOlxuICAgICAgZGVidWdPdXRwdXRbXCJnb1wiXSA9IChhd2FpdCBnZXRHb1ZlcnNpb24oKSkgPz8gbnVsbDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnT3V0cHV0O1xufVxuIl19
|
|
379
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDJDQUE2QjtBQUM3Qix1Q0FBeUI7QUFDekIsdUNBQW1DO0FBQ25DLGlDQUE4QjtBQUM5QiwyQ0FBK0M7QUFDL0MsdUNBQTRDO0FBQzVDLHVDQUFvRDtBQUNwRCxxQ0FBb0U7QUFFcEUsU0FBZ0IsV0FBVyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO0lBQ3JELElBQUksQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQzFCLElBQUEsdUJBQVksRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDL0QsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBQUMsV0FBTSxDQUFDO1FBQ1AsaUNBQWlDO1FBQ2pDLGdCQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBWEQsa0NBV0M7QUFFRCxLQUFLLFVBQVUsZ0JBQWdCLENBQzdCLE1BQWMsRUFDZCxjQUFzQjtJQUV0QixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDdEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLFdBQUksRUFDdkIsTUFBTSxFQUNOLENBQUMsY0FBYyxDQUFDLEVBQ2hCLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUM3RCxJQUFJLEVBQ0os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Q0FBQztnQkFDOUIsTUFBTSxLQUFLLEdBQUcsZUFBZSxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixFQUFFLENBQUM7Z0JBQ2xDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxJQUFJLENBQUMsbUNBQUksSUFBSSxDQUFDO2dCQUMzQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBQSxDQUFDLE1BQU0sS0FBSyxDQUFDLG1DQUFJLElBQUksQ0FBQztnQkFDN0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxtQ0FBSSxJQUFJLENBQUM7WUFDakQsQ0FBQztZQUNELE1BQU07UUFDUixLQUFLLFFBQVE7WUFDWCxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBQSxDQUFDLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQyxtQ0FBSSxJQUFJLENBQUM7WUFDM0QsTUFBTTtRQUNSLEtBQUssSUFBSTtZQUNQLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxZQUFZLEVBQUUsQ0FBQyxtQ0FBSSxJQUFJLENBQUM7WUFDbkQsTUFBTTtJQUNWLENBQUM7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBdERELDBEQXNEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBvcyBmcm9tIFwib3NcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWMgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyB0ZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4vdGVycmFmb3JtXCI7XG5pbXBvcnQgeyBESVNQTEFZX1ZFUlNJT04gfSBmcm9tIFwiLi92ZXJzaW9uXCI7XG5pbXBvcnQgeyBwYXRoRXhpc3RzLCByZWFkRmlsZVN5bmMgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IGdldEdyYWRsZVBhY2thZ2VWZXJzaW9uLCBpc0dyYWRsZVByb2plY3QgfSBmcm9tIFwiLi9ncmFkbGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhbmd1YWdlKHByb2plY3RQYXRoID0gcHJvY2Vzcy5jd2QoKSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgY29uc3QgY2RrdGZKc29uID0gSlNPTi5wYXJzZShcbiAgICAgIHJlYWRGaWxlU3luYyhwYXRoLnJlc29sdmUocHJvamVjdFBhdGgsIFwiY2RrdGYuanNvblwiKSwgXCJ1dGYtOFwiKSxcbiAgICApO1xuICAgIHJldHVybiBjZGt0Zkpzb24ubGFuZ3VhZ2U7XG4gIH0gY2F0Y2gge1xuICAgIC8vIFdlIGNhbiBub3QgZGV0ZWN0IHRoZSBsYW5ndWFnZVxuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIGRldGVjdCBsYW5ndWFnZSBpbiAke3Byb2plY3RQYXRofWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0QmluYXJ5VmVyc2lvbihcbiAgYmluYXJ5OiBzdHJpbmcsXG4gIHZlcnNpb25Db21tYW5kOiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBub09wID0gKCkgPT4ge307XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXhlYyhcbiAgICAgIGJpbmFyeSxcbiAgICAgIFt2ZXJzaW9uQ29tbWFuZF0sXG4gICAgICB7IGVudjogcHJvY2Vzcy5lbnYsIHN0ZGlvOiBbdW5kZWZpbmVkLCB1bmRlZmluZWQsIFwiaWdub3JlXCJdIH0sXG4gICAgICBub09wLFxuICAgICAgbm9PcCxcbiAgICApO1xuICAgIHJldHVybiByZXN1bHQudHJpbSgpLnJlcGxhY2UoL1xccj9cXG58XFxyL2csIFwiXCIpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gcnVuICR7YmluYXJ5fSAke3ZlcnNpb25Db21tYW5kfTogJHtlfWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERvdG5ldFZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiZG90bmV0XCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SmF2YVZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiamF2YVwiLCBcIi12ZXJzaW9uXCIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdmVuVmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJtdm5cIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHcmFkbGVWZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcImdyYWRsZVwiLCBcIi0tdmVyc2lvblwiKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFB5dGhvblZlcnNpb24oKSB7XG4gIHJldHVybiAoXG4gICAgKGF3YWl0IGdldEJpbmFyeVZlcnNpb24oXCJweXRob24zXCIsIFwiLS12ZXJzaW9uXCIpKSB8fFxuICAgIChhd2FpdCBnZXRCaW5hcnlWZXJzaW9uKFwicHl0aG9uXCIsIFwiLS12ZXJzaW9uXCIpKVxuICApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBpcFZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwicGlwXCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBpcGVudlZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwicGlwZW52XCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R29WZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcImdvXCIsIFwidmVyc2lvblwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGVWZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcIm5vZGVcIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE5vZGVNb2R1bGVWZXJzaW9uKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgLy8gVXNlIHRoZSBwcmVzZW5jZSBvZiB0aGUgcG5wbSBsb2NrIGZpbGUgYXMgYSBzaWduYWwgdGhhdFxuICAvLyB3ZSBzaG91bGQgaW50ZXJyb2dhdGUgcGFja2FnZXMgdmlhIHBucG0gaW5zdGVhZCBvZiBucG0uXG4gIGNvbnN0IHVzaW5nUG5wbSA9IGF3YWl0IHBhdGhFeGlzdHMoXCJwbnBtLWxvY2sueWFtbFwiKTtcblxuICByZXR1cm4gdXNpbmdQbnBtXG4gICAgPyBnZXRQbnBtTm9kZU1vZHVsZVZlcnNpb24ocGFja2FnZU5hbWUpXG4gICAgOiBnZXROcG1Ob2RlTW9kdWxlVmVyc2lvbihwYWNrYWdlTmFtZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFBucG1Ob2RlTW9kdWxlVmVyc2lvbihcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGxldCBvdXRwdXQ7XG5cbiAgdHJ5IHtcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicG5wbVwiLCBbXCJsaXN0XCIsIHBhY2thZ2VOYW1lLCBcIi0tanNvblwiXSwge1xuICAgICAgZW52OiB7IC4uLnByb2Nlc3MuZW52IH0sXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ3BucG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBqc29uO1xuICB0cnkge1xuICAgIGpzb24gPSBKU09OLnBhcnNlKG91dHB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIHBhcnNlIG91dHB1dCBvZiAncG5wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7ZX1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChcbiAgICAhanNvbiB8fFxuICAgICFBcnJheS5pc0FycmF5KGpzb24pIHx8XG4gICAganNvbi5sZW5ndGggPT09IDAgfHxcbiAgICAhanNvblswXT8uZGVwZW5kZW5jaWVzPy5bcGFja2FnZU5hbWVdPy52ZXJzaW9uXG4gICkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCAnJHtwYWNrYWdlTmFtZX0nIGluICdwbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ganNvblswXS5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb247XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE5wbU5vZGVNb2R1bGVWZXJzaW9uKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IG91dHB1dDtcblxuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJucG1cIiwgW1wibGlzdFwiLCBwYWNrYWdlTmFtZSwgXCItLWpzb25cIl0sIHtcbiAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiB9LFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICducG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBqc29uO1xuICB0cnkge1xuICAgIGpzb24gPSBKU09OLnBhcnNlKG91dHB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIHBhcnNlIG91dHB1dCBvZiAnbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKFxuICAgICFqc29uLmRlcGVuZGVuY2llcyB8fFxuICAgICFqc29uLmRlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gfHxcbiAgICAhanNvbi5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb25cbiAgKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kICcke3BhY2thZ2VOYW1lfScgaW4gJ25wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIGpzb24uZGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXS52ZXJzaW9uO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRQeXRob25QYWNrYWdlVmVyc2lvbihcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGxldCBvdXRwdXQ7XG4gIHRyeSB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcInBpcGVudlwiLCBbXCJydW5cIiwgXCJwaXBcIiwgXCJzaG93XCIsIFwiLXFxXCIsIHBhY2thZ2VOYW1lXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcblxuICAgIC8vIFJ1bm5pbmcgd2l0aCBgLXFxYCBzdXBwcmVzc2VzIGJvdGggbWlzc2luZyBwYWNrYWdlcyBhbmQgYWN0dWFsIHBhY2thZ2VcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwZW52XCIsIFtcInJ1blwiLCBcInBpcFwiLCBcInNob3dcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICdwaXBlbnYgcnVuIHBpcCBzaG93ICR7cGFja2FnZU5hbWV9JzogJHtlfWApO1xuICB9XG5cbiAgLy8gSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBvdXRwdXQgdXNpbmcgcGlwZW52LCB0cnkgdG8gZ2V0IGl0IHVzaW5nIHBpcCBkaXJlY3RseVxuICBpZiAoIW91dHB1dCkge1xuICAgIHRyeSB7XG4gICAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwXCIsIFtcInNob3dcIiwgXCItcXFcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICB9KTtcblxuICAgICAgLy8gUnVubmluZyB3aXRoIGAtcXFgIHN1cHByZXNzZXMgYm90aCBtaXNzaW5nIHBhY2thZ2VzIGFuZCBhY3R1YWwgcGFja2FnZVxuICAgICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcInBpcFwiLCBbXCJzaG93XCIsIHBhY2thZ2VOYW1lXSwge1xuICAgICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICdwaXAgc2hvdyAke3BhY2thZ2VOYW1lfSc6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIW91dHB1dCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCB2ZXJzaW9uSW5mbyA9IG91dHB1dFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLnN0YXJ0c1dpdGgoXCJWZXJzaW9uOlwiKSk7XG5cbiAgaWYgKCF2ZXJzaW9uSW5mbykge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCB2ZXJzaW9uIGluIG91dHB1dCBvZiAncGlwZW52IHJ1biBwaXAgc2hvdyAke3BhY2thZ2VOYW1lfScgLyAncGlwIHNob3cgJHtwYWNrYWdlTmFtZX0nOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHZlcnNpb24gPSB2ZXJzaW9uSW5mby5zcGxpdChcIjpcIilbMV0udHJpbSgpO1xuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuLy8gT25jZSBodHRwczovL2dpdGh1Yi5jb20vTnVHZXQvSG9tZS9pc3N1ZXMvNzc1MiBnZXRzIHJlc29sdmVkIHdlIGNhbiBhbHNvIHRyeSB3aXRoIC0tanNvblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q1NoYXJwUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBjb25zdCB0cmFuc2xhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBqc2lpOiBcIkFtYXpvbi5KU0lJLlJ1bnRpbWVcIixcbiAgICBjb25zdHJ1Y3RzOiBcIkNvbnN0cnVjdHNcIixcbiAgICBjZGt0ZjogXCJIYXNoaUNvcnAuQ2RrdGZcIixcbiAgICBjZGt0bjogXCJJby5DZGt0blwiLFxuICB9O1xuICBjb25zdCBjU2hhcnBQYWNrYWdlTmFtZSA9IHRyYW5zbGF0aW9uTWFwW3BhY2thZ2VOYW1lXSB8fCBwYWNrYWdlTmFtZTtcblxuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJkb3RuZXRcIiwgW1wibGlzdFwiLCBcInBhY2thZ2VcIiwgXCItLWluY2x1ZGUtdHJhbnNpdGl2ZVwiXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gcnVuICdkb3RuZXQgbGlzdCBwYWNrYWdlIC0taW5jbHVkZS10cmFuc2l0aXZlJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvbkxpbmUgPSBvdXRwdXRcbiAgICAuc3BsaXQoL1xcclxcbnxcXHJ8XFxuLylcbiAgICAuZmluZCgobGluZSkgPT4gbGluZS5pbmNsdWRlcyhgPiAke2NTaGFycFBhY2thZ2VOYW1lfWApKTtcblxuICBpZiAoIXZlcnNpb25MaW5lKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHZlcnNpb24gZm9yICcke2NTaGFycFBhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdkb3RuZXQgbGlzdCBwYWNrYWdlIC0taW5jbHVkZS10cmFuc2l0aXZlJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBBIGxpbmUgbWlnaHQgbG9vayBsaWtlIHRoaXM6XG4gIC8vICAgVHJhbnNpdGl2ZSBQYWNrYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc29sdmVkXG4gIC8vICAgPiBBbWF6b24uSlNJSS5SdW50aW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMTcuMVxuICAvLyBUaGVyZWZvcmUgd2UgcmV2ZXJzZSBzcGxpdCBieSB3aGl0ZXNwYWNlIGFuZCByZXZlcnNlXG4gIC8vIHNvIHRoYXQgdGhlIGZpcnN0IHRoaW5nIHdlIGZpbmQgaXMgdGhlIHZlcnNpb24gbnVtYmVyXG4gIHJldHVybiB2ZXJzaW9uTGluZVxuICAgIC5zcGxpdChcIiBcIilcbiAgICAucmV2ZXJzZSgpXG4gICAgLmZpbmQoKHBhcnQpID0+IHBhcnQgIT09IFwiXCIpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRHb1BhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgdHJhbnNsYXRpb25NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAganNpaTogXCJqc2lpLXJ1bnRpbWUtZ29cIixcbiAgICBjZGt0ZjogXCJnaXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tY2RrLWdvXCIsXG4gICAgY2RrdG46IFwiZ2l0aHViLmNvbS9vcGVuLWNvbnN0cnVjdHMvY2RrLXRlcnJhaW4tZ29cIixcbiAgfTtcbiAgY29uc3QgZ29QYWNrYWdlTmFtZSA9IHRyYW5zbGF0aW9uTWFwW3BhY2thZ2VOYW1lXSB8fCBwYWNrYWdlTmFtZTtcblxuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJnb1wiLCBbXCJsaXN0XCIsIFwiLW1cIiwgXCJhbGxcIl0sIHtcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ2dvIGxpc3QgLW0gYWxsJzogJHtlfWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBsZXQgdmVyc2lvbkxpbmUgPSBvdXRwdXRcbiAgICAuc3BsaXQoL1xcclxcbnxcXHJ8XFxuLylcbiAgICAuZmluZCgobGluZSkgPT4gbGluZS5pbmNsdWRlcyhnb1BhY2thZ2VOYW1lKSk7XG5cbiAgaWYgKCF2ZXJzaW9uTGluZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCB2ZXJzaW9uIGZvciAnJHtnb1BhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdnbyBsaXN0IC1tIGFsbCc6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gV2UgYXJlIGRlYWxpbmcgd2l0aCBhIGxvY2FsIHZlcnNpb25cbiAgaWYgKHZlcnNpb25MaW5lLmluY2x1ZGVzKFwiPT5cIikpIHtcbiAgICBsb2dnZXIuZGVidWcoYEZvdW5kIGxvY2FsIHZlcnNpb24gZm9yICcke2dvUGFja2FnZU5hbWV9JzogJHt2ZXJzaW9uTGluZX1gKTtcbiAgICB2ZXJzaW9uTGluZSA9IHZlcnNpb25MaW5lLnNwbGl0KFwiPT5cIilbMF0udHJpbSgpO1xuICB9XG5cbiAgcmV0dXJuIHZlcnNpb25MaW5lLnNwbGl0KFwiIFwiKS5wb3AoKT8ucmVwbGFjZShcInZcIiwgXCJcIik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE1hdmVuUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBjb25zdCB0cmFuc2xhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBqc2lpOiBcImpzaWktcnVudGltZVwiLFxuICB9O1xuICBjb25zdCBqYXZhUGFja2FnZU5hbWUgPSB0cmFuc2xhdGlvbk1hcFtwYWNrYWdlTmFtZV0gfHwgcGFja2FnZU5hbWU7XG5cbiAgbGV0IG91dHB1dDtcbiAgdHJ5IHtcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwibXZuXCIsIFtcImRlcGVuZGVuY3k6bGlzdFwiXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIHJ1biAnbXZuIGRlcGVuZGVuY3k6bGlzdCc6ICR7ZX1gKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcmVzb2x1dGlvblBhcnQgPSBvdXRwdXQuc3BsaXQoXG4gICAgXCJUaGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgYmVlbiByZXNvbHZlZFwiLFxuICApWzFdO1xuICBpZiAoIXJlc29sdXRpb25QYXJ0KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHJlc29sdXRpb24gcGFzc2FnZSBpbiBvdXRwdXQgb2YgJ212biBkZXBlbmRlbmN5Omxpc3QnOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIFdlIG5lZWQgdG8gc2VhcmNoIGZvciB0aGUgcGFja2FnZSBuYW1lIEFORCBhIGNvbG9uIHRvIG5vdCBtYXRjaCBhIGxpbmUgbGlrZVxuICAvLyBbSU5GT10gICAgY29tLmhhc2hpY29ycDpjZGt0Zi1wcm92aWRlci1hd3M6amFyOjkuMC45OmNvbXBpbGVcbiAgLy8gd2hlbiBsb29raW5nIGZvciB0aGUgY2RrdGYgcGFja2FnZSAoc2VlIEdpdGh1YiBpc3N1ZSAjMTk5NClcbiAgY29uc3QgdmVyc2lvbkxpbmUgPSByZXNvbHV0aW9uUGFydFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmluY2x1ZGVzKGAke2phdmFQYWNrYWdlTmFtZX06YCkpO1xuXG4gIGlmICghdmVyc2lvbkxpbmUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgdmVyc2lvbiBmb3IgJyR7amF2YVBhY2thZ2VOYW1lfScgaW4gb3V0cHV0IG9mICdtdm4gZGVwZW5kZW5jeTpsaXN0JzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBFeGFtcGxlIGxpbmU6IFtJTkZPXSAgICBjb20uaGFzaGljb3JwOmNka3RmOmphcjowLjAuMDpjb21waWxlXG4gIGNvbnN0IHZlcnNpb25TdGFydERlbGltaXRlciA9IGAke2phdmFQYWNrYWdlTmFtZX06amFyOmA7XG4gIGNvbnN0IHZlcnNpb25TdGFydCA9XG4gICAgdmVyc2lvbkxpbmUuaW5kZXhPZih2ZXJzaW9uU3RhcnREZWxpbWl0ZXIpICsgdmVyc2lvblN0YXJ0RGVsaW1pdGVyLmxlbmd0aDtcbiAgY29uc3QgdmVyc2lvbkVuZERlbGVtaXRlciA9IFwiOmNvbXBpbGVcIjtcbiAgY29uc3QgdmVyc2lvbkVuZCA9IHZlcnNpb25MaW5lLmluZGV4T2YodmVyc2lvbkVuZERlbGVtaXRlcik7XG4gIHJldHVybiB2ZXJzaW9uTGluZS5zdWJzdHJpbmcodmVyc2lvblN0YXJ0LCB2ZXJzaW9uRW5kKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0SmF2YVBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzR3JhZGxlUHJvamVjdChcIi4vXCIpKSB7XG4gICAgcmV0dXJuIGdldEdyYWRsZVBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbiAgfVxuXG4gIHJldHVybiBnZXRNYXZlblBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFBhY2thZ2VWZXJzaW9uKFxuICBsYW5ndWFnZTogc3RyaW5nLFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgY29uc3Qgbm9PcCA9IGFzeW5jICgpID0+IHVuZGVmaW5lZDtcbiAgY29uc3QgZ2V0TGlicmFyeVZlcnNpb25NYXA6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgKG5hbWU6IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+XG4gID4gPSB7XG4gICAgdHlwZXNjcmlwdDogZ2V0Tm9kZU1vZHVsZVZlcnNpb24sXG4gICAgcHl0aG9uOiBnZXRQeXRob25QYWNrYWdlVmVyc2lvbixcbiAgICBnbzogZ2V0R29QYWNrYWdlVmVyc2lvbixcbiAgICBjc2hhcnA6IGdldENTaGFycFBhY2thZ2VWZXJzaW9uLFxuICAgIGphdmE6IGdldEphdmFQYWNrYWdlVmVyc2lvbixcbiAgfTtcblxuICBjb25zdCBsaWJWZXJzaW9uID0gYXdhaXQgKGdldExpYnJhcnlWZXJzaW9uTWFwW2xhbmd1YWdlXSB8fCBub09wKShcbiAgICBwYWNrYWdlTmFtZSxcbiAgKTtcbiAgcmV0dXJuIGxpYlZlcnNpb24gPz8gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29sbGVjdERlYnVnSW5mb3JtYXRpb24oKSB7XG4gIGNvbnN0IGRlYnVnT3V0cHV0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPiA9IHt9O1xuICBjb25zdCBsYW5ndWFnZSA9IGdldExhbmd1YWdlKCk7XG4gIGRlYnVnT3V0cHV0W1wibGFuZ3VhZ2VcIl0gPSBsYW5ndWFnZSA/PyBudWxsO1xuICBkZWJ1Z091dHB1dFtcImNka3RuLWNsaVwiXSA9IERJU1BMQVlfVkVSU0lPTjtcblxuICBjb25zdCBub2RlID0gZ2V0Tm9kZVZlcnNpb24oKTtcblxuICBkZWJ1Z091dHB1dFtcIm5vZGVcIl0gPSAoYXdhaXQgbm9kZSkgPz8gbnVsbDtcbiAgaWYgKGxhbmd1YWdlKSB7XG4gICAgY29uc3QgY2RrdG4gPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJjZGt0blwiKTtcbiAgICBjb25zdCBjZGt0ZiA9IGdldFBhY2thZ2VWZXJzaW9uKGxhbmd1YWdlLCBcImNka3RmXCIpO1xuICAgIGNvbnN0IGNvbnN0cnVjdHMgPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJjb25zdHJ1Y3RzXCIpO1xuICAgIGNvbnN0IGpzaWkgPSBnZXRQYWNrYWdlVmVyc2lvbihsYW5ndWFnZSwgXCJqc2lpXCIpO1xuXG4gICAgZGVidWdPdXRwdXRbXCJjZGt0blwiXSA9IChhd2FpdCBjZGt0bikgPz8gbnVsbDtcbiAgICBkZWJ1Z091dHB1dFtcImNka3RmXCJdID0gKGF3YWl0IGNka3RmKSA/PyBudWxsO1xuICAgIGRlYnVnT3V0cHV0W1wiY29uc3RydWN0c1wiXSA9IChhd2FpdCBjb25zdHJ1Y3RzKSA/PyBudWxsO1xuICAgIGRlYnVnT3V0cHV0W1wianNpaVwiXSA9IChhd2FpdCBqc2lpKSA/PyBudWxsO1xuICB9XG4gIGRlYnVnT3V0cHV0W1widGVycmFmb3JtXCJdID0gYXdhaXQgdGVycmFmb3JtVmVyc2lvbjtcbiAgZGVidWdPdXRwdXRbXCJhcmNoXCJdID0gb3MuYXJjaCgpO1xuICBkZWJ1Z091dHB1dFtcIm9zXCJdID0gYCR7b3MucGxhdGZvcm0oKX0gJHtvcy5yZWxlYXNlKCl9YDtcblxuICBzd2l0Y2ggKGxhbmd1YWdlKSB7XG4gICAgY2FzZSBcInB5dGhvblwiOlxuICAgICAge1xuICAgICAgICBjb25zdCBweXRob24gPSBnZXRQeXRob25WZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IHBpcCA9IGdldFBpcFZlcnNpb24oKTtcbiAgICAgICAgY29uc3QgcGlwZW52ID0gZ2V0UGlwZW52VmVyc2lvbigpO1xuICAgICAgICBkZWJ1Z091dHB1dFtcInB5dGhvblwiXSA9IChhd2FpdCBweXRob24pID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wicGlwXCJdID0gKGF3YWl0IHBpcCkgPz8gbnVsbDtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJwaXBlbnZcIl0gPSAoYXdhaXQgcGlwZW52KSA/PyBudWxsO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImphdmFcIjpcbiAgICAgIHtcbiAgICAgICAgY29uc3QgamF2YSA9IGdldEphdmFWZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IG1hdmVuID0gZ2V0TWF2ZW5WZXJzaW9uKCk7XG4gICAgICAgIGNvbnN0IGdyYWRsZSA9IGdldEdyYWRsZVZlcnNpb24oKTtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJqYXZhXCJdID0gKGF3YWl0IGphdmEpID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wibWF2ZW5cIl0gPSAoYXdhaXQgbWF2ZW4pID8/IG51bGw7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wiZ3JhZGxlXCJdID0gKGF3YWl0IGdyYWRsZSkgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJjc2hhcnBcIjpcbiAgICAgIGRlYnVnT3V0cHV0W1wiZG90bmV0XCJdID0gKGF3YWl0IGdldERvdG5ldFZlcnNpb24oKSkgPz8gbnVsbDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJnb1wiOlxuICAgICAgZGVidWdPdXRwdXRbXCJnb1wiXSA9IChhd2FpdCBnZXRHb1ZlcnNpb24oKSkgPz8gbnVsbDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnT3V0cHV0O1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdktn/commons",
|
|
3
|
-
"version": "0.23.0-pre.
|
|
3
|
+
"version": "0.23.0-pre.49",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"license": "MPL-2.0",
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@sentry/node": "7.120.4",
|
|
44
|
-
"cdktn": "0.23.0-pre.
|
|
44
|
+
"cdktn": "0.23.0-pre.49",
|
|
45
45
|
"ci-info": "3.9.0",
|
|
46
46
|
"codemaker": "1.128.0",
|
|
47
47
|
"cross-spawn": "7.0.6",
|