geni-bioinfo 0.1.10 → 0.1.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/dist/auth.d.ts +1 -0
- package/dist/auth.js +11 -1
- package/dist/commands/auth.js +9 -2
- package/dist/commands/setup/create.js +10 -1
- package/dist/commands/submission.js +10 -2
- package/dist/commands/task.js +2 -2
- package/dist/format.d.ts +2 -0
- package/dist/format.js +76 -48
- package/package.json +1 -1
package/dist/auth.d.ts
CHANGED
package/dist/auth.js
CHANGED
|
@@ -8,6 +8,7 @@ exports.getAuthHeaders = getAuthHeaders;
|
|
|
8
8
|
exports.fetchJson = fetchJson;
|
|
9
9
|
exports.readJsonResponse = readJsonResponse;
|
|
10
10
|
exports.saveCredentials = saveCredentials;
|
|
11
|
+
exports.clearCredentials = clearCredentials;
|
|
11
12
|
const fs_1 = __importDefault(require("fs"));
|
|
12
13
|
const path_1 = __importDefault(require("path"));
|
|
13
14
|
const os_1 = __importDefault(require("os"));
|
|
@@ -73,4 +74,13 @@ function saveCredentials(token) {
|
|
|
73
74
|
fs_1.default.chmodSync(dir, 0o700);
|
|
74
75
|
fs_1.default.writeFileSync(CREDENTIALS_FILE, JSON.stringify({ token }, null, 2), { mode: 0o600 });
|
|
75
76
|
}
|
|
76
|
-
|
|
77
|
+
function clearCredentials() {
|
|
78
|
+
try {
|
|
79
|
+
fs_1.default.unlinkSync(CREDENTIALS_FILE);
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
if (err.code !== 'ENOENT')
|
|
83
|
+
throw err;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBT0Esd0JBR0M7QUFFRCx3Q0FpQkM7QUFFRCw4QkFRQztBQUVELDRDQWdCQztBQVdELDBDQU1DO0FBRUQsNENBTUM7QUFsRkQsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4Qiw0Q0FBb0I7QUFDcEIscUNBQTRDO0FBRTVDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxZQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFFOUUsU0FBZ0IsTUFBTSxDQUFDLE9BQWU7SUFDcEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksMkNBQTJDLENBQUM7SUFDckYsT0FBTyxHQUFHLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQztBQUM3QixDQUFDO0FBRUQsU0FBZ0IsY0FBYztJQUM1Qix3Q0FBd0M7SUFDeEMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsbURBQW1EO0lBQ25ELElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBRSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1Asd0JBQXdCO0lBQzFCLENBQUM7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFTSxLQUFLLFVBQVUsU0FBUyxDQUFDLEdBQVcsRUFBRSxJQUFrQjtJQUM3RCxNQUFNLE9BQU8sR0FBMkI7UUFDdEMsR0FBRyxjQUFjLEVBQUU7UUFDbkIsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFpQyxJQUFJLEVBQUUsQ0FBQztLQUNuRCxDQUFDO0lBRUYsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxPQUFPLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRU0sS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxHQUFhLEVBQ2IsT0FBMkM7SUFFM0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDWixNQUFNLElBQUkseUJBQWdCLENBQUM7WUFDekIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO1lBQ2xCLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUs7WUFDaEMsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUc7WUFDNUIsSUFBSTtZQUNKLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLElBQVk7SUFDakMsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN2QixJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFnQixlQUFlLENBQUMsS0FBYTtJQUMzQyxNQUFNLEdBQUcsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDM0MsWUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELDZEQUE2RDtJQUM3RCxZQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QixZQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUMxRixDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCO0lBQzlCLElBQUksQ0FBQztRQUNILFlBQUUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQUMsT0FBTyxHQUFZLEVBQUUsQ0FBQztRQUN0QixJQUFLLEdBQTZCLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFBRSxNQUFNLEdBQUcsQ0FBQztJQUNsRSxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdEVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG5jb25zdCBDUkVERU5USUFMU19GSUxFID0gcGF0aC5qb2luKG9zLmhvbWVkaXIoKSwgJy5nZW5pJywgJ2NyZWRlbnRpYWxzLmpzb24nKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFwaVVybChhcGlQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBiYXNlID0gcHJvY2Vzcy5lbnYuR0VOSV9BUElfVVJMID8/ICdodHRwczovL3dvcmtmbG93cy1hcGkuZ2VuaS1iaW9pbmZvLmNvbS5icic7XG4gIHJldHVybiBgJHtiYXNlfSR7YXBpUGF0aH1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0aEhlYWRlcnMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gIC8vIDEuIEFQSSB0b2tlbiBmcm9tIGVudiB2YXIg4oaSIFgtQVBJLUtleVxuICBpZiAocHJvY2Vzcy5lbnYuR0VOSV9BUElfVE9LRU4pIHtcbiAgICByZXR1cm4geyAnWC1BUEktS2V5JzogcHJvY2Vzcy5lbnYuR0VOSV9BUElfVE9LRU4gfTtcbiAgfVxuXG4gIC8vIDIuIFN0b3JlZCBKV1QgZnJvbSBsb2dpbiDihpIgQXV0aG9yaXphdGlvbjogQmVhcmVyXG4gIHRyeSB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKENSRURFTlRJQUxTX0ZJTEUsICd1dGYtOCcpKTtcbiAgICBpZiAoZGF0YS50b2tlbikge1xuICAgICAgcmV0dXJuIHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2RhdGEudG9rZW59YCB9O1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgLy8gTm8gc3RvcmVkIGNyZWRlbnRpYWxzXG4gIH1cblxuICByZXR1cm4ge307XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEpzb24odXJsOiBzdHJpbmcsIGluaXQ/OiBSZXF1ZXN0SW5pdCk6IFByb21pc2U8dW5rbm93bj4ge1xuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIC4uLmdldEF1dGhIZWFkZXJzKCksXG4gICAgLi4uKGluaXQ/LmhlYWRlcnMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPiA/PyB7fSksXG4gIH07XG5cbiAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7IC4uLmluaXQsIGhlYWRlcnMgfSk7XG4gIHJldHVybiByZWFkSnNvblJlc3BvbnNlKHJlcywgeyBtZXRob2Q6IChpbml0Py5tZXRob2QgPz8gJ0dFVCcpLnRvVXBwZXJDYXNlKCksIHVybCB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRKc29uUmVzcG9uc2UoXG4gIHJlczogUmVzcG9uc2UsXG4gIGNvbnRleHQ/OiB7IG1ldGhvZD86IHN0cmluZzsgdXJsPzogc3RyaW5nIH0sXG4pOiBQcm9taXNlPHVua25vd24+IHtcbiAgY29uc3QgYm9keSA9IGF3YWl0IHJlcy50ZXh0KCk7XG4gIGNvbnN0IHBhcnNlZEJvZHkgPSBwYXJzZUpzb25Cb2R5KGJvZHkpO1xuICBpZiAoIXJlcy5vaykge1xuICAgIHRocm93IG5ldyBIdHRwUmVxdWVzdEVycm9yKHtcbiAgICAgIHN0YXR1czogcmVzLnN0YXR1cyxcbiAgICAgIG1ldGhvZDogY29udGV4dD8ubWV0aG9kID8/ICdHRVQnLFxuICAgICAgdXJsOiBjb250ZXh0Py51cmwgPz8gcmVzLnVybCxcbiAgICAgIGJvZHksXG4gICAgICBwYXJzZWRCb2R5LFxuICAgIH0pO1xuICB9XG4gIHJldHVybiBwYXJzZWRCb2R5O1xufVxuXG5mdW5jdGlvbiBwYXJzZUpzb25Cb2R5KGJvZHk6IHN0cmluZyk6IHVua25vd24ge1xuICBpZiAoIWJvZHkpIHJldHVybiBudWxsO1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGJvZHkpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gYm9keTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUNyZWRlbnRpYWxzKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgZGlyID0gcGF0aC5kaXJuYW1lKENSRURFTlRJQUxTX0ZJTEUpO1xuICBmcy5ta2RpclN5bmMoZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgbW9kZTogMG83MDAgfSk7XG4gIC8vIEVuc3VyZSBleGlzdGluZyBkaXJlY3RvcnkgYWxzbyBoYXMgcmVzdHJpY3RpdmUgcGVybWlzc2lvbnNcbiAgZnMuY2htb2RTeW5jKGRpciwgMG83MDApO1xuICBmcy53cml0ZUZpbGVTeW5jKENSRURFTlRJQUxTX0ZJTEUsIEpTT04uc3RyaW5naWZ5KHsgdG9rZW4gfSwgbnVsbCwgMiksIHsgbW9kZTogMG82MDAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckNyZWRlbnRpYWxzKCk6IHZvaWQge1xuICB0cnkge1xuICAgIGZzLnVubGlua1N5bmMoQ1JFREVOVElBTFNfRklMRSk7XG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIGlmICgoZXJyIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSAhPT0gJ0VOT0VOVCcpIHRocm93IGVycjtcbiAgfVxufVxuIl19
|
package/dist/commands/auth.js
CHANGED
|
@@ -49,9 +49,16 @@ const resetSubCommand = new commander_1.Command('reset')
|
|
|
49
49
|
await (0, auth_1.readJsonResponse)(res, { method: 'POST', url: (0, auth_1.apiUrl)('/auth/reset') });
|
|
50
50
|
console.log('Password reset email sent.');
|
|
51
51
|
});
|
|
52
|
+
const logoutSubCommand = new commander_1.Command('logout')
|
|
53
|
+
.description('Remove stored credentials')
|
|
54
|
+
.action(() => {
|
|
55
|
+
(0, auth_1.clearCredentials)();
|
|
56
|
+
console.log('Logged out. Credentials removed from ~/.geni/credentials.json');
|
|
57
|
+
});
|
|
52
58
|
exports.authCommand = new commander_1.Command('auth')
|
|
53
59
|
.description('Authentication commands')
|
|
54
60
|
.addCommand(loginSubCommand)
|
|
55
61
|
.addCommand(activateSubCommand)
|
|
56
|
-
.addCommand(resetSubCommand)
|
|
57
|
-
|
|
62
|
+
.addCommand(resetSubCommand)
|
|
63
|
+
.addCommand(logoutSubCommand);
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFvQztBQUNwQyxrQ0FBc0Y7QUFDdEYsc0NBQTJDO0FBRTNDLE1BQU0sZUFBZSxHQUFHLElBQUksbUJBQU8sQ0FBQyxPQUFPLENBQUM7S0FDekMsV0FBVyxDQUFDLGlEQUFpRCxDQUFDO0tBQzlELE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLENBQUM7S0FDdkMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUF3QixFQUFFLEVBQUU7SUFDekMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsdUJBQWMsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUNwRCxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFBLGFBQU0sRUFBQyxhQUFhLENBQUMsRUFBRTtRQUM3QyxNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRTtRQUMvQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztLQUMxQyxDQUFDLENBQUM7SUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsdUJBQWdCLEVBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBQSxhQUFNLEVBQUMsYUFBYSxDQUFDLEVBQUUsQ0FFdEYsQ0FBQztJQUNGLElBQUEsc0JBQWUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQyxDQUFDO0FBRUwsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLG1CQUFPLENBQUMsVUFBVSxDQUFDO0tBQy9DLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQztLQUN6QyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsc0NBQXNDLENBQUM7S0FDekUsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUF1QixFQUFFLEVBQUU7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHVCQUFjLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN4RCxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFBLGFBQU0sRUFBQyxnQkFBZ0IsQ0FBQyxFQUFFO1FBQ2hELE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO1FBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7S0FDdEQsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLHVCQUFnQixFQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUEsYUFBTSxFQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FFekYsQ0FBQztJQUNGLElBQUEsc0JBQWUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO0FBQ2xGLENBQUMsQ0FBQyxDQUFDO0FBRUwsTUFBTSxlQUFlLEdBQUcsSUFBSSxtQkFBTyxDQUFDLE9BQU8sQ0FBQztLQUN6QyxXQUFXLENBQUMsZ0NBQWdDLENBQUM7S0FDN0MsY0FBYyxDQUFDLGlCQUFpQixFQUFFLDhCQUE4QixDQUFDO0tBQ2pFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBdUIsRUFBRSxFQUFFO0lBQ3hDLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLElBQUEsYUFBTSxFQUFDLHVCQUF1QixDQUFDLEVBQUU7UUFDdkQsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7UUFDL0MsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQzVDLENBQUMsQ0FBQztJQUNILE1BQU0sSUFBQSx1QkFBZ0IsRUFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFBLGFBQU0sRUFBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDO0FBRUwsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLG1CQUFPLENBQUMsUUFBUSxDQUFDO0tBQzNDLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQztLQUN4QyxNQUFNLENBQUMsR0FBRyxFQUFFO0lBQ1gsSUFBQSx1QkFBZ0IsR0FBRSxDQUFDO0lBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUMsQ0FBQztBQUVRLFFBQUEsV0FBVyxHQUFHLElBQUksbUJBQU8sQ0FBQyxNQUFNLENBQUM7S0FDM0MsV0FBVyxDQUFDLHlCQUF5QixDQUFDO0tBQ3RDLFVBQVUsQ0FBQyxlQUFlLENBQUM7S0FDM0IsVUFBVSxDQUFDLGtCQUFrQixDQUFDO0tBQzlCLFVBQVUsQ0FBQyxlQUFlLENBQUM7S0FDM0IsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGFwaVVybCwgY2xlYXJDcmVkZW50aWFscywgcmVhZEpzb25SZXNwb25zZSwgc2F2ZUNyZWRlbnRpYWxzIH0gZnJvbSAnLi4vYXV0aCc7XG5pbXBvcnQgeyBwcm9tcHRQYXNzd29yZCB9IGZyb20gJy4uL3Byb21wdCc7XG5cbmNvbnN0IGxvZ2luU3ViQ29tbWFuZCA9IG5ldyBDb21tYW5kKCdsb2dpbicpXG4gIC5kZXNjcmlwdGlvbignTG9naW4gaW50byBHRU5JIFdvcmtmbG93cyBhbmQgc3RvcmUgY3JlZGVudGlhbHMnKVxuICAub3B0aW9uKCctLWVtYWlsIDxlbWFpbD4nLCAnVXNlciBlbWFpbCcpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdHM6IHsgZW1haWw/OiBzdHJpbmcgfSkgPT4ge1xuICAgIGxldCBlbWFpbCA9IG9wdHMuZW1haWw7XG4gICAgaWYgKCFlbWFpbCkge1xuICAgICAgbG9naW5TdWJDb21tYW5kLmhlbHAoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGFzc3dvcmQgPSBhd2FpdCBwcm9tcHRQYXNzd29yZCgnUGFzc3dvcmQ6ICcpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGFwaVVybCgnL2F1dGgvbG9naW4nKSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgZW1haWwsIHBhc3N3b3JkIH0pLFxuICAgIH0pO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZWFkSnNvblJlc3BvbnNlKHJlcywgeyBtZXRob2Q6ICdQT1NUJywgdXJsOiBhcGlVcmwoJy9hdXRoL2xvZ2luJykgfSkgYXMge1xuICAgICAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgICB9O1xuICAgIHNhdmVDcmVkZW50aWFscyhkYXRhLmFjY2Vzc1Rva2VuKTtcbiAgICBjb25zb2xlLmxvZygnTG9nZ2VkIGluLiBDcmVkZW50aWFscyBzYXZlZCB0byB+Ly5nZW5pL2NyZWRlbnRpYWxzLmpzb24nKTtcbiAgfSk7XG5cbmNvbnN0IGFjdGl2YXRlU3ViQ29tbWFuZCA9IG5ldyBDb21tYW5kKCdhY3RpdmF0ZScpXG4gIC5kZXNjcmlwdGlvbignQWN0aXZhdGUgeW91ciB1c2VyIGFjY291bnQnKVxuICAucmVxdWlyZWRPcHRpb24oJy0tdG9rZW4gPHRva2VuPicsICdBY3RpdmF0aW9uIHRva2VuIGZyb20gdGhlIGVtYWlsIGxpbmsnKVxuICAuYWN0aW9uKGFzeW5jIChvcHRzOiB7IHRva2VuOiBzdHJpbmcgfSkgPT4ge1xuICAgIGNvbnN0IHBhc3N3b3JkID0gYXdhaXQgcHJvbXB0UGFzc3dvcmQoJ05ldyBwYXNzd29yZDogJyk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYXBpVXJsKCcvYXV0aC9hY3RpdmF0ZScpLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyB0b2tlbjogb3B0cy50b2tlbiwgcGFzc3dvcmQgfSksXG4gICAgfSk7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmw6IGFwaVVybCgnL2F1dGgvYWN0aXZhdGUnKSB9KSBhcyB7XG4gICAgICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICAgIH07XG4gICAgc2F2ZUNyZWRlbnRpYWxzKGRhdGEuYWNjZXNzVG9rZW4pO1xuICAgIGNvbnNvbGUubG9nKCdBY2NvdW50IGFjdGl2YXRlZC4gQ3JlZGVudGlhbHMgc2F2ZWQgdG8gfi8uZ2VuaS9jcmVkZW50aWFscy5qc29uJyk7XG4gIH0pO1xuXG5jb25zdCByZXNldFN1YkNvbW1hbmQgPSBuZXcgQ29tbWFuZCgncmVzZXQnKVxuICAuZGVzY3JpcHRpb24oJ1JlcXVlc3QgYSBwYXNzd29yZCByZXNldCBlbWFpbCcpXG4gIC5yZXF1aXJlZE9wdGlvbignLS1lbWFpbCA8ZW1haWw+JywgJ0VtYWlsIGFkZHJlc3Mgb2YgdGhlIGFjY291bnQnKVxuICAuYWN0aW9uKGFzeW5jIChvcHRzOiB7IGVtYWlsOiBzdHJpbmcgfSkgPT4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGFwaVVybCgnL2F1dGgvZm9yZ290LXBhc3N3b3JkJyksIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGVtYWlsOiBvcHRzLmVtYWlsIH0pLFxuICAgIH0pO1xuICAgIGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmw6IGFwaVVybCgnL2F1dGgvcmVzZXQnKSB9KTtcbiAgICBjb25zb2xlLmxvZygnUGFzc3dvcmQgcmVzZXQgZW1haWwgc2VudC4nKTtcbiAgfSk7XG5cbmNvbnN0IGxvZ291dFN1YkNvbW1hbmQgPSBuZXcgQ29tbWFuZCgnbG9nb3V0JylcbiAgLmRlc2NyaXB0aW9uKCdSZW1vdmUgc3RvcmVkIGNyZWRlbnRpYWxzJylcbiAgLmFjdGlvbigoKSA9PiB7XG4gICAgY2xlYXJDcmVkZW50aWFscygpO1xuICAgIGNvbnNvbGUubG9nKCdMb2dnZWQgb3V0LiBDcmVkZW50aWFscyByZW1vdmVkIGZyb20gfi8uZ2VuaS9jcmVkZW50aWFscy5qc29uJyk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgYXV0aENvbW1hbmQgPSBuZXcgQ29tbWFuZCgnYXV0aCcpXG4gIC5kZXNjcmlwdGlvbignQXV0aGVudGljYXRpb24gY29tbWFuZHMnKVxuICAuYWRkQ29tbWFuZChsb2dpblN1YkNvbW1hbmQpXG4gIC5hZGRDb21tYW5kKGFjdGl2YXRlU3ViQ29tbWFuZClcbiAgLmFkZENvbW1hbmQocmVzZXRTdWJDb21tYW5kKVxuICAuYWRkQ29tbWFuZChsb2dvdXRTdWJDb21tYW5kKTtcbiJdfQ==
|
|
@@ -125,6 +125,15 @@ exports.createCommand = new commander_1.Command('create')
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
else {
|
|
128
|
+
const errName = err.name;
|
|
129
|
+
const errMessage = err instanceof Error ? err.message : '';
|
|
130
|
+
// Only treat ValidationError("Stack with id geni-setup does not exist") as
|
|
131
|
+
// "stack not in this region" — everything else (AccessDenied, etc.) should fail.
|
|
132
|
+
const isStackNotFound = errName === 'ValidationError' &&
|
|
133
|
+
errMessage.includes('does not exist');
|
|
134
|
+
if (!isStackNotFound) {
|
|
135
|
+
throw err;
|
|
136
|
+
}
|
|
128
137
|
// Stack does not exist in this region. IAM roles are global — if they already
|
|
129
138
|
// exist they were created via a stack in another region; skip silently.
|
|
130
139
|
const iamRolesExist = await checkIAMRolesExist(iam);
|
|
@@ -255,4 +264,4 @@ function printRoleArns(outputs) {
|
|
|
255
264
|
}
|
|
256
265
|
}
|
|
257
266
|
}
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3NldHVwL2NyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBa0M7QUFDbEMsK0JBQTRCO0FBQzVCLHlDQUFvQztBQUNwQywwRUFJd0M7QUFDeEMsb0RBQXFEO0FBQ3JELGtEQUk0QjtBQUM1QiwrQ0FBa0Y7QUFDbEYseUNBQXdDO0FBRXhDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztBQWVoQyxTQUFTLGVBQWUsQ0FBQyxLQUFjO0lBQ25DLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDdEIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FDdEIsTUFBYyxFQUNkLElBQW9CLEVBQ3BCLE9BQWU7SUFFZixNQUFNLFNBQVMsR0FBRztRQUNkLFlBQVksRUFBRTtZQUNWLHNCQUFzQixFQUFFLE9BQU87U0FDbEM7UUFDRCxVQUFVLEVBQUU7WUFDUiwyQkFBMkIsRUFBRTtnQkFDekIsZUFBZTtnQkFDZixjQUFjO2FBQ2pCO1NBQ0o7S0FDSixDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQWEsRUFBRSxDQUFDO0lBRWhDLElBQUksSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDaEQsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNaLEdBQUcsRUFBRSxnQkFBZ0I7WUFDckIsTUFBTSxFQUFFLE9BQU87WUFDZixTQUFTLEVBQUUsR0FBRztZQUNkLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFFBQVEsRUFBRSxnQkFBZ0IsTUFBTSxFQUFFO1lBQ2xDLFNBQVMsRUFB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QWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsU0FBUywyQkFBMkIsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsZUFBZSxDQUMxQixHQUFrRSxFQUNsRSxTQUFpQjtJQUVqQixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksNkNBQXFCLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsT0FBc0I7SUFDekMsTUFBTSxRQUFRLEdBQUc7UUFDYixFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUU7UUFDN0QsRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO0tBQzVELENBQUM7SUFFRixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RCxJQUFJLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssT0FBTyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7XG4gICAgQ3JlYXRlU3RhY2tDb21tYW5kLFxuICAgIFVwZGF0ZVN0YWNrQ29tbWFuZCxcbiAgICBEZXNjcmliZVN0YWNrc0NvbW1hbmQsXG59IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBHZXRSb2xlQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1pYW0nO1xuaW1wb3J0IHtcbiAgICBHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgICBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgICBQdXRCdWNrZXRQb2xpY3lDb21tYW5kLFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtczMnO1xuaW1wb3J0IHsgY3JlYXRlQ2xpZW50cywgZ2V0Q2FsbGVySWRlbnRpdHksIHBhcnNlQXdzVXJpIH0gZnJvbSAnLi4vLi4vYXdzL2NsaWVudHMnO1xuaW1wb3J0IHsgQ2xpRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuXG5jb25zdCBTVEFDS19OQU1FID0gJ2dlbmktc2V0dXAnO1xuXG50eXBlIFBlcm1pc3Npb25Nb2RlID0gJ3JlYWQtd3JpdGUnIHwgJ3JlYWQtb25seScgfCAnd3JpdGUtb25seSc7XG5cbmludGVyZmFjZSBDcmVhdGVPcHRpb25zIHtcbiAgICBnZW5pQWNjb3VudDogc3RyaW5nO1xuICAgIHRydXN0Pzogc3RyaW5nO1xuICAgIHJlYWRXcml0ZUJ1Y2tldHM/OiBzdHJpbmc7XG4gICAgcmVhZE9ubHlCdWNrZXRzPzogc3RyaW5nO1xuICAgIHdyaXRlT25seUJ1Y2tldHM/OiBzdHJpbmc7XG4gICAgcHJvZmlsZT86IHN0cmluZztcbn1cblxudHlwZSBTdGFja091dHB1dCA9IHsgT3V0cHV0S2V5Pzogc3RyaW5nOyBPdXRwdXRWYWx1ZT86IHN0cmluZyB9O1xuXG5mdW5jdGlvbiBwYXJzZUJ1Y2tldExpc3QodmFsdWU/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIFtdO1xuICAgIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpLm1hcChiID0+IGIudHJpbSgpKS5maWx0ZXIoQm9vbGVhbik7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQnVja2V0UG9saWN5KFxuICAgIGJ1Y2tldDogc3RyaW5nLFxuICAgIG1vZGU6IFBlcm1pc3Npb25Nb2RlLFxuICAgIGFjY291bnQ6IHN0cmluZyxcbik6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZGl0aW9uID0ge1xuICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgICdhd3M6UHJpbmNpcGFsQWNjb3VudCc6IGFjY291bnQsXG4gICAgICAgIH0sXG4gICAgICAgIFN0cmluZ0xpa2U6IHtcbiAgICAgICAgICAgICdhd3M6UHJpbmNpcGFsVGFnL0dlbmlOYW1lJzogW1xuICAgICAgICAgICAgICAgICdnZW5pLWVuZ2luZS0qJyxcbiAgICAgICAgICAgICAgICAnZ2VuaS1iYXRjaC0qJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXRlbWVudHM6IG9iamVjdFtdID0gW107XG5cbiAgICBpZiAobW9kZSA9PT0gJ3JlYWQtd3JpdGUnIHx8IG1vZGUgPT09ICdyZWFkLW9ubHknKSB7XG4gICAgICAgIHN0YXRlbWVudHMucHVzaCh7XG4gICAgICAgICAgICBTaWQ6ICdHZW5pTGlzdEJ1Y2tldCcsXG4gICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICBQcmluY2lwYWw6ICcqJyxcbiAgICAgICAgICAgIEFjdGlvbjogJ3MzOkxpc3RCdWNrZXQnLFxuICAgICAgICAgICAgUmVzb3VyY2U6IGBhcm46YXdzOnMzOjo6JHtidWNrZXR9YCxcbiAgICAgICAgICAgIENvbmRpdGlvbjogY29uZGl0aW9uLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBhY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChtb2RlID09PSAncmVhZC13cml0ZScpIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKCdzMzpHZXRPYmplY3QnLCAnczM6UHV0T2JqZWN0JywgJ3MzOkRlbGV0ZU9iamVjdCcpO1xuICAgIH0gZWxzZSBpZiAobW9kZSA9PT0gJ3JlYWQtb25seScpIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKCdzMzpHZXRPYmplY3QnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBhY3Rpb25zLnB1c2goJ3MzOlB1dE9iamVjdCcsICdzMzpEZWxldGVPYmplY3QnKTtcbiAgICB9XG5cbiAgICBzdGF0ZW1lbnRzLnB1c2goe1xuICAgICAgICBTaWQ6ICdHZW5pT2JqZWN0QWNjZXNzJyxcbiAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICBQcmluY2lwYWw6ICcqJyxcbiAgICAgICAgQWN0aW9uOiBhY3Rpb25zLFxuICAgICAgICBSZXNvdXJjZTogYGFybjphd3M6czM6Ojoke2J1Y2tldH0vKmAsXG4gICAgICAgIENvbmRpdGlvbjogY29uZGl0aW9uLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHsgVmVyc2lvbjogJzIwMTItMTAtMTcnLCBTdGF0ZW1lbnQ6IHN0YXRlbWVudHMgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb21tYW5kID0gbmV3IENvbW1hbmQoJ2NyZWF0ZScpXG4gICAgLmFsaWFzKCdhY3RpdmF0ZScpXG4gICAgLmRlc2NyaXB0aW9uKCdDcmVhdGUgSUFNIHJvbGVzIGFuZCBwb2xpY2llcyBmb3IgR2VuaSBjcm9zcy1hY2NvdW50IGFjY2VzcycpXG4gICAgLmFyZ3VtZW50KCc8dXJpPicsICdUYXJnZXQgQVdTIGFjY291bnQgVVJJIChhd3M6Ly88YWNjb3VudD4vPHJlZ2lvbj4pJylcbiAgICAub3B0aW9uKCctLWdlbmktYWNjb3VudCA8YWNjb3VudD4nLCAnR2VuaSBBV1MgYWNjb3VudCBJRCB0byB0cnVzdCcsICc4ODA0MjAwMzg0NjAnKVxuICAgIC5vcHRpb24oJy0tdHJ1c3QgPGFjY291bnQ+JywgJ0FsaWFzIGZvciAtLWdlbmktYWNjb3VudCcpXG4gICAgLm9wdGlvbignLS1yZWFkLXdyaXRlLWJ1Y2tldHMgPGJ1Y2tldHM+JywgJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGV4aXN0aW5nIFMzIGJ1Y2tldHMgdG8gZ3JhbnQgcmVhZC13cml0ZSBhY2Nlc3MnKVxuICAgIC5vcHRpb24oJy0tcmVhZC1vbmx5LWJ1Y2tldHMgPGJ1Y2tldHM+JywgJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGV4aXN0aW5nIFMzIGJ1Y2tldHMgdG8gZ3JhbnQgcmVhZC1vbmx5IGFjY2VzcycpXG4gICAgLm9wdGlvbignLS13cml0ZS1vbmx5LWJ1Y2tldHMgPGJ1Y2tldHM+JywgJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGV4aXN0aW5nIFMzIGJ1Y2tldHMgdG8gZ3JhbnQgd3JpdGUtb25seSBhY2Nlc3MnKVxuICAgIC5vcHRpb24oJy0tcHJvZmlsZSA8cHJvZmlsZT4nLCAnQVdTIHByb2ZpbGUgdG8gdXNlIGZvciBjcmVkZW50aWFscycpXG4gICAgLmFjdGlvbihhc3luYyAodXJpOiBzdHJpbmcsIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3QgeyBhY2NvdW50LCByZWdpb246IHBhcnNlZFJlZ2lvbiB9ID0gcGFyc2VBd3NVcmkodXJpKTtcbiAgICAgICAgY29uc3QgcmVnaW9uID0gJ3VzLWVhc3QtMSc7XG4gICAgICAgIGlmIChwYXJzZWRSZWdpb24gIT09ICd1cy1lYXN0LTEnKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYE5vdGU6IGdlbmkgc2V0dXAgYWx3YXlzIGRlcGxveXMgdG8gdXMtZWFzdC0xIChDVVIgcmVxdWlyZXMgaXQpLiBJZ25vcmluZyByZWdpb24gXCIke3BhcnNlZFJlZ2lvbn1cIiBmcm9tIFVSSS5gKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGNmbiwgaWFtLCBzMywgc3RzIH0gPSBjcmVhdGVDbGllbnRzKHJlZ2lvbiwgb3B0aW9ucy5wcm9maWxlKTtcbiAgICAgICAgY29uc3QgaWRlbnRpdHkgPSBhd2FpdCBnZXRDYWxsZXJJZGVudGl0eShzdHMpO1xuICAgICAgICBjb25zb2xlLmxvZyhgQXV0aGVudGljYXRlZCBhcyAke2lkZW50aXR5LmFybn0gKGFjY291bnQgJHtpZGVudGl0eS5hY2NvdW50fSlgKTtcblxuICAgICAgICBpZiAoaWRlbnRpdHkuYWNjb3VudCAhPT0gYWNjb3VudCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgIGBXYXJuaW5nOiBDdXJyZW50IGFjY291bnQgKCR7aWRlbnRpdHkuYWNjb3VudH0pIGRvZXMgbm90IG1hdGNoIHRhcmdldCAoJHthY2NvdW50fSkuIGAgK1xuICAgICAgICAgICAgICAgIGBFbnN1cmUgeW91IGhhdmUgY3JlZGVudGlhbHMgZm9yIHRoZSB0YXJnZXQgYWNjb3VudC5gXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGVtcGxhdGVCb2R5ID0gcmVhZEZpbGVTeW5jKGpvaW4oX19kaXJuYW1lLCAnLi4vLi4vdGVtcGxhdGVzL3NldHVwLnlhbWwnKSwgJ3V0Zi04Jyk7XG4gICAgICAgIGNvbnN0IHRydXN0ZWRBY2NvdW50ID0gb3B0aW9ucy50cnVzdCA/PyBvcHRpb25zLmdlbmlBY2NvdW50O1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0gW1xuICAgICAgICAgICAgeyBQYXJhbWV0ZXJLZXk6ICdHZW5pQWNjb3VudCcsIFBhcmFtZXRlclZhbHVlOiB0cnVzdGVkQWNjb3VudCB9LFxuICAgICAgICBdO1xuICAgICAgICBjb25zdCB0YWdzID0gW3sgS2V5OiAnQ3JlYXRlZEJ5JywgVmFsdWU6ICdHRU5JJyB9XTtcblxuICAgICAgICBsZXQgbmVlZHNQb2xsOiAnQ1JFQVRFJyB8ICdVUERBVEUnIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGxldCBzdGFja0FscmVhZHlVcFRvRGF0ZSA9IGZhbHNlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgY2ZuLnNlbmQobmV3IENyZWF0ZVN0YWNrQ29tbWFuZCh7XG4gICAgICAgICAgICAgICAgU3RhY2tOYW1lOiBTVEFDS19OQU1FLFxuICAgICAgICAgICAgICAgIFRlbXBsYXRlQm9keTogdGVtcGxhdGVCb2R5LFxuICAgICAgICAgICAgICAgIENhcGFiaWxpdGllczogWydDQVBBQklMSVRZX05BTUVEX0lBTSddLFxuICAgICAgICAgICAgICAgIFBhcmFtZXRlcnM6IHBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgVGFnczogdGFncyxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDcmVhdGluZyBzdGFjayAke1NUQUNLX05BTUV9Li4uYCk7XG4gICAgICAgICAgICBuZWVkc1BvbGwgPSAnQ1JFQVRFJztcbiAgICAgICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICAgICAgICBpZiAoKGVyciBhcyB7IG5hbWU/OiBzdHJpbmcgfSkubmFtZSA9PT0gJ0FscmVhZHlFeGlzdHNFeGNlcHRpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2ZuLnNlbmQobmV3IFVwZGF0ZVN0YWNrQ29tbWFuZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBTdGFja05hbWU6IFNUQUNLX05BTUUsXG4gICAgICAgICAgICAgICAgICAgICAgICBUZW1wbGF0ZUJvZHk6IHRlbXBsYXRlQm9keSxcbiAgICAgICAgICAgICAgICAgICAgICAgIENhcGFiaWxpdGllczogWydDQVBBQklMSVRZX05BTUVEX0lBTSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW1ldGVyczogcGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhZ3M6IHRhZ3MsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFVwZGF0aW5nIHN0YWNrICR7U1RBQ0tfTkFNRX0uLi5gKTtcbiAgICAgICAgICAgICAgICAgICAgbmVlZHNQb2xsID0gJ1VQREFURSc7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAodXBkYXRlRXJyOiB1bmtub3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB1cGRhdGVFcnIgaW5zdGFuY2VvZiBFcnJvciA/IHVwZGF0ZUVyci5tZXNzYWdlIDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlLmluY2x1ZGVzKCdObyB1cGRhdGVzIGFyZSB0byBiZSBwZXJmb3JtZWQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFN0YWNrICR7U1RBQ0tfTkFNRX0gaXMgYWxyZWFkeSB1cCB0byBkYXRlLmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tBbHJlYWR5VXBUb0RhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgdXBkYXRlRXJyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTdGFjayBkb2VzIG5vdCBleGlzdCBpbiB0aGlzIHJlZ2lvbi4gSUFNIHJvbGVzIGFyZSBnbG9iYWwg4oCUIGlmIHRoZXkgYWxyZWFkeVxuICAgICAgICAgICAgICAgIC8vIGV4aXN0IHRoZXkgd2VyZSBjcmVhdGVkIHZpYSBhIHN0YWNrIGluIGFub3RoZXIgcmVnaW9uOyBza2lwIHNpbGVudGx5LlxuICAgICAgICAgICAgICAgIGNvbnN0IGlhbVJvbGVzRXhpc3QgPSBhd2FpdCBjaGVja0lBTVJvbGVzRXhpc3QoaWFtKTtcbiAgICAgICAgICAgICAgICBpZiAoaWFtUm9sZXNFeGlzdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICAgICAgICAgICdcXG5JQU0gcm9sZXMgYWxyZWFkeSBleGlzdCBpbiB0aGlzIGFjY291bnQgKEdlbmlDcm9zc0FjY291bnRSb2xlLCBHZW5pQ2ZuU2VydmljZVJvbGUpLlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NraXBwaW5nIENsb3VkRm9ybWF0aW9uIHN0YWNrIOKAlCBJQU0gcm9sZXMgYXJlIGdsb2JhbCBhbmQgc2hhcmVkIGFjcm9zcyBhbGwgcmVnaW9ucy5cXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdUbyB1cGRhdGUgcm9sZSBwZXJtaXNzaW9ucywgcnVuIHRoaXMgY29tbWFuZCBhZ2FpbnN0IHRoZSByZWdpb24gd2hlcmUgdGhlIHN0YWNrIHdhcyBmaXJzdCBjcmVhdGVkLidcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFxcbiAgR2VuaUNyb3NzQWNjb3VudFJvbGU6IGFybjphd3M6aWFtOjoke2FjY291bnR9OnJvbGUvR2VuaUNyb3NzQWNjb3VudFJvbGVgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYCAgR2VuaUNmblNlcnZpY2VSb2xlOiAgIGFybjphd3M6aWFtOjoke2FjY291bnR9OnJvbGUvR2VuaUNmblNlcnZpY2VSb2xlYCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZWVkc1BvbGwpIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dHMgPSBhd2FpdCBwb2xsU3RhY2soY2ZuLCBTVEFDS19OQU1FLCBuZWVkc1BvbGwpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1xcblNldHVwIGNvbXBsZXRlOicpO1xuICAgICAgICAgICAgcHJpbnRSb2xlQXJucyhvdXRwdXRzKTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIG91dHB1dHMpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgICAke291dHB1dC5PdXRwdXRLZXl9OiAke291dHB1dC5PdXRwdXRWYWx1ZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChzdGFja0FscmVhZHlVcFRvRGF0ZSkge1xuICAgICAgICAgICAgY29uc3Qgb3V0cHV0cyA9IGF3YWl0IGdldFN0YWNrT3V0cHV0cyhjZm4sIFNUQUNLX05BTUUpO1xuICAgICAgICAgICAgaWYgKG91dHB1dHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdcXG5FeGlzdGluZyByb2xlIEFSTnM6Jyk7XG4gICAgICAgICAgICAgICAgcHJpbnRSb2xlQXJucyhvdXRwdXRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJ1Y2tldENvbmZpZ3M6IEFycmF5PHsgYnVja2V0OiBzdHJpbmc7IG1vZGU6IFBlcm1pc3Npb25Nb2RlIH0+ID0gW1xuICAgICAgICAgICAgLi4ucGFyc2VCdWNrZXRMaXN0KG9wdGlvbnMucmVhZFdyaXRlQnVja2V0cykubWFwKGIgPT4gKHsgYnVja2V0OiBiLCBtb2RlOiAncmVhZC13cml0ZScgYXMgY29uc3QgfSkpLFxuICAgICAgICAgICAgLi4ucGFyc2VCdWNrZXRMaXN0KG9wdGlvbnMucmVhZE9ubHlCdWNrZXRzKS5tYXAoYiA9PiAoeyBidWNrZXQ6IGIsIG1vZGU6ICdyZWFkLW9ubHknIGFzIGNvbnN0IH0pKSxcbiAgICAgICAgICAgIC4uLnBhcnNlQnVja2V0TGlzdChvcHRpb25zLndyaXRlT25seUJ1Y2tldHMpLm1hcChiID0+ICh7IGJ1Y2tldDogYiwgbW9kZTogJ3dyaXRlLW9ubHknIGFzIGNvbnN0IH0pKSxcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAoYnVja2V0Q29uZmlncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnXFxuQ29uZmlndXJpbmcgYnVja2V0IHBlcm1pc3Npb25zLi4uJyk7XG4gICAgICAgICAgICBjb25zdCBidWNrZXRGYWlsdXJlczogQXJyYXk8eyBidWNrZXQ6IHN0cmluZzsgbW9kZTogUGVybWlzc2lvbk1vZGU7IG1lc3NhZ2U6IHN0cmluZyB9PiA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHsgYnVja2V0LCBtb2RlIH0gb2YgYnVja2V0Q29uZmlncykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBleGlzdGluZ1RhZ3M6IEFycmF5PHsgS2V5Pzogc3RyaW5nOyBWYWx1ZT86IHN0cmluZyB9PiA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnZ2luZyA9IGF3YWl0IHMzLnNlbmQobmV3IEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kKHsgQnVja2V0OiBidWNrZXQgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmdUYWdzID0gdGFnZ2luZy5UYWdTZXQgPz8gW107XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChlcnIgYXMgeyBuYW1lPzogc3RyaW5nIH0pLm5hbWUgIT09ICdOb1N1Y2hUYWdTZXQnKSB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZFRhZ3MgPSBleGlzdGluZ1RhZ3MuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgdCA9PiB0LktleSAhPT0gJ0NyZWF0ZWRCeScgJiYgdC5LZXkgIT09ICdHZW5pUGVybWlzc2lvbicsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkVGFncy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBLZXk6ICdDcmVhdGVkQnknLCBWYWx1ZTogJ0dFTkknIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IEtleTogJ0dlbmlQZXJtaXNzaW9uJywgVmFsdWU6IG1vZGUgfSxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzMy5zZW5kKG5ldyBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBCdWNrZXQ6IGJ1Y2tldCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhZ2dpbmc6IHsgVGFnU2V0OiBmaWx0ZXJlZFRhZ3MgYXMgQXJyYXk8eyBLZXk6IHN0cmluZzsgVmFsdWU6IHN0cmluZyB9PiB9LFxuICAgICAgICAgICAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9saWN5ID0gYnVpbGRCdWNrZXRQb2xpY3koYnVja2V0LCBtb2RlLCBhY2NvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgczMuc2VuZChuZXcgUHV0QnVja2V0UG9saWN5Q29tbWFuZCh7IEJ1Y2tldDogYnVja2V0LCBQb2xpY3k6IHBvbGljeSB9KSk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYCAgJHtidWNrZXR9OiAke21vZGV9YCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYCAgJHtidWNrZXR9OiBGQUlMRUQgLSAke21lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgICAgIGJ1Y2tldEZhaWx1cmVzLnB1c2goeyBidWNrZXQsIG1vZGUsIG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYnVja2V0RmFpbHVyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBDbGlFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6ICdVUFNUUkVBTScsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBGYWlsZWQgdG8gY29uZmlndXJlICR7YnVja2V0RmFpbHVyZXMubGVuZ3RofSBidWNrZXQgcGVybWlzc2lvbiB1cGRhdGUocykuYCxcbiAgICAgICAgICAgICAgICAgICAgaGludDogJ0ZpeCBmYWlsZWQgYnVja2V0IHBlcm1pc3Npb25zIGFuZCByZXJ1biBgZ2VuaSBzZXR1cCBjcmVhdGVgLicsXG4gICAgICAgICAgICAgICAgICAgIGV4aXRDb2RlOiA1LFxuICAgICAgICAgICAgICAgICAgICBkZXRhaWxzOiB7IGZhaWx1cmVzOiBidWNrZXRGYWlsdXJlcyB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrSUFNUm9sZXNFeGlzdChcbiAgICBpYW06IGltcG9ydCgnQGF3cy1zZGsvY2xpZW50LWlhbScpLklBTUNsaWVudCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGlhbS5zZW5kKG5ldyBHZXRSb2xlQ29tbWFuZCh7IFJvbGVOYW1lOiAnR2VuaUNyb3NzQWNjb3VudFJvbGUnIH0pKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICAgIGlmICgoZXJyIGFzIHsgbmFtZT86IHN0cmluZyB9KS5uYW1lID09PSAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBvbGxTdGFjayhcbiAgICBjZm46IGltcG9ydCgnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJykuQ2xvdWRGb3JtYXRpb25DbGllbnQsXG4gICAgc3RhY2tOYW1lOiBzdHJpbmcsXG4gICAgb3BlcmF0aW9uOiAnQ1JFQVRFJyB8ICdVUERBVEUnLFxuKTogUHJvbWlzZTxTdGFja091dHB1dFtdPiB7XG4gICAgY29uc3Qgc3VjY2Vzc1N0YXRlID0gYCR7b3BlcmF0aW9ufV9DT01QTEVURWA7XG4gICAgY29uc3QgZmFpbHVyZVN0YXRlcyA9IFtcbiAgICAgICAgYCR7b3BlcmF0aW9ufV9GQUlMRURgLFxuICAgICAgICAnUk9MTEJBQ0tfQ09NUExFVEUnLFxuICAgICAgICAnUk9MTEJBQ0tfRkFJTEVEJyxcbiAgICAgICAgJ1VQREFURV9ST0xMQkFDS19DT01QTEVURScsXG4gICAgICAgICdVUERBVEVfUk9MTEJBQ0tfRkFJTEVEJyxcbiAgICBdO1xuXG4gICAgZm9yICg7IDspIHtcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTAwMCkpO1xuXG4gICAgICAgIGNvbnN0IHsgU3RhY2tzIH0gPSBhd2FpdCBjZm4uc2VuZChuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHsgU3RhY2tOYW1lOiBzdGFja05hbWUgfSkpO1xuICAgICAgICBjb25zdCBzdGFjayA9IFN0YWNrcz8uWzBdO1xuICAgICAgICBpZiAoIXN0YWNrKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0YWNrICR7c3RhY2tOYW1lfSBub3QgZm91bmRgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IHN0YWNrLlN0YWNrU3RhdHVzID8/ICcnO1xuICAgICAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShgICBTdGF0dXM6ICR7c3RhdHVzfVxcbmApO1xuXG4gICAgICAgIGlmIChzdGF0dXMgPT09IHN1Y2Nlc3NTdGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YWNrLk91dHB1dHMgPz8gW107XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmFpbHVyZVN0YXRlcy5pbmNsdWRlcyhzdGF0dXMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0YWNrICR7c3RhY2tOYW1lfSByZWFjaGVkIGZhaWx1cmUgc3RhdGU6ICR7c3RhdHVzfWApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRTdGFja091dHB1dHMoXG4gICAgY2ZuOiBpbXBvcnQoJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbicpLkNsb3VkRm9ybWF0aW9uQ2xpZW50LFxuICAgIHN0YWNrTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxTdGFja091dHB1dFtdPiB7XG4gICAgY29uc3QgeyBTdGFja3MgfSA9IGF3YWl0IGNmbi5zZW5kKG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoeyBTdGFja05hbWU6IHN0YWNrTmFtZSB9KSk7XG4gICAgcmV0dXJuIFN0YWNrcz8uWzBdPy5PdXRwdXRzID8/IFtdO1xufVxuXG5mdW5jdGlvbiBwcmludFJvbGVBcm5zKG91dHB1dHM6IFN0YWNrT3V0cHV0W10pOiB2b2lkIHtcbiAgICBjb25zdCByb2xlQXJucyA9IFtcbiAgICAgICAgeyBrZXk6ICdDcm9zc0FjY291bnRSb2xlQXJuJywgbGFiZWw6ICdHZW5pQ3Jvc3NBY2NvdW50Um9sZScgfSxcbiAgICAgICAgeyBrZXk6ICdDZm5TZXJ2aWNlUm9sZUFybicsIGxhYmVsOiAnR2VuaUNmblNlcnZpY2VSb2xlJyB9LFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IHJvbGVBcm4gb2Ygcm9sZUFybnMpIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0cy5maW5kKG8gPT4gby5PdXRwdXRLZXkgPT09IHJvbGVBcm4ua2V5KTtcbiAgICAgICAgaWYgKG91dHB1dD8uT3V0cHV0VmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGAgICR7cm9sZUFybi5sYWJlbH06ICR7b3V0cHV0Lk91dHB1dFZhbHVlfWApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3NldHVwL2NyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBa0M7QUFDbEMsK0JBQTRCO0FBQzVCLHlDQUFvQztBQUNwQywwRUFJd0M7QUFDeEMsb0RBQXFEO0FBQ3JELGtEQUk0QjtBQUM1QiwrQ0FBa0Y7QUFDbEYseUNBQXdDO0FBRXhDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztBQWVoQyxTQUFTLGVBQWUsQ0FBQyxLQUFjO0lBQ25DLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDdEIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FDdEIsTUFBYyxFQUNkLElBQW9CLEVBQ3BCLE9BQWU7SUFFZixNQUFNLFNBQVMsR0FBRztRQUNkLFlBQVksRUFBRTtZQUNWLHNCQUFzQixFQUFFLE9BQU87U0FDbEM7UUFDRCxVQUFVLEVBQUU7WUFDUiwyQkFBMkIsRUFBRTtnQkFDekIsZUFBZTtnQkFDZixjQUFjO2FBQ2pCO1NBQ0o7S0FDSixDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQWEsRUFBRSxDQUFDO0lBRWhDLElBQUksSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDaEQsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNaLEdBQUcsRUFBRSxnQkFBZ0I7WUFDckIsTUFBTSxFQUFFLE9BQU87WUFDZixTQUFTLEVBQUUsR0FBRztZQUNkLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFFBQVEsRUFBRSxnQkFBZ0IsTUFBTSxFQUFFO1lBQ2xDLFNBQVMsRUFB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QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RCxJQUFJLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssT0FBTyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7XG4gICAgQ3JlYXRlU3RhY2tDb21tYW5kLFxuICAgIFVwZGF0ZVN0YWNrQ29tbWFuZCxcbiAgICBEZXNjcmliZVN0YWNrc0NvbW1hbmQsXG59IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBHZXRSb2xlQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1pYW0nO1xuaW1wb3J0IHtcbiAgICBHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgICBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgICBQdXRCdWNrZXRQb2xpY3lDb21tYW5kLFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtczMnO1xuaW1wb3J0IHsgY3JlYXRlQ2xpZW50cywgZ2V0Q2FsbGVySWRlbnRpdHksIHBhcnNlQXdzVXJpIH0gZnJvbSAnLi4vLi4vYXdzL2NsaWVudHMnO1xuaW1wb3J0IHsgQ2xpRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuXG5jb25zdCBTVEFDS19OQU1FID0gJ2dlbmktc2V0dXAnO1xuXG50eXBlIFBlcm1pc3Npb25Nb2RlID0gJ3JlYWQtd3JpdGUnIHwgJ3JlYWQtb25seScgfCAnd3JpdGUtb25seSc7XG5cbmludGVyZmFjZSBDcmVhdGVPcHRpb25zIHtcbiAgICBnZW5pQWNjb3VudDogc3RyaW5nO1xuICAgIHRydXN0Pzogc3RyaW5nO1xuICAgIHJlYWRXcml0ZUJ1Y2tldHM/OiBzdHJpbmc7XG4gICAgcmVhZE9ubHlCdWNrZXRzPzogc3RyaW5nO1xuICAgIHdyaXRlT25seUJ1Y2tldHM/OiBzdHJpbmc7XG4gICAgcHJvZmlsZT86IHN0cmluZztcbn1cblxudHlwZSBTdGFja091dHB1dCA9IHsgT3V0cHV0S2V5Pzogc3RyaW5nOyBPdXRwdXRWYWx1ZT86IHN0cmluZyB9O1xuXG5mdW5jdGlvbiBwYXJzZUJ1Y2tldExpc3QodmFsdWU/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIFtdO1xuICAgIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpLm1hcChiID0+IGIudHJpbSgpKS5maWx0ZXIoQm9vbGVhbik7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQnVja2V0UG9saWN5KFxuICAgIGJ1Y2tldDogc3RyaW5nLFxuICAgIG1vZGU6IFBlcm1pc3Npb25Nb2RlLFxuICAgIGFjY291bnQ6IHN0cmluZyxcbik6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZGl0aW9uID0ge1xuICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgICdhd3M6UHJpbmNpcGFsQWNjb3VudCc6IGFjY291bnQsXG4gICAgICAgIH0sXG4gICAgICAgIFN0cmluZ0xpa2U6IHtcbiAgICAgICAgICAgICdhd3M6UHJpbmNpcGFsVGFnL0dlbmlOYW1lJzogW1xuICAgICAgICAgICAgICAgICdnZW5pLWVuZ2luZS0qJyxcbiAgICAgICAgICAgICAgICAnZ2VuaS1iYXRjaC0qJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXRlbWVudHM6IG9iamVjdFtdID0gW107XG5cbiAgICBpZiAobW9kZSA9PT0gJ3JlYWQtd3JpdGUnIHx8IG1vZGUgPT09ICdyZWFkLW9ubHknKSB7XG4gICAgICAgIHN0YXRlbWVudHMucHVzaCh7XG4gICAgICAgICAgICBTaWQ6ICdHZW5pTGlzdEJ1Y2tldCcsXG4gICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICBQcmluY2lwYWw6ICcqJyxcbiAgICAgICAgICAgIEFjdGlvbjogJ3MzOkxpc3RCdWNrZXQnLFxuICAgICAgICAgICAgUmVzb3VyY2U6IGBhcm46YXdzOnMzOjo6JHtidWNrZXR9YCxcbiAgICAgICAgICAgIENvbmRpdGlvbjogY29uZGl0aW9uLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBhY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChtb2RlID09PSAncmVhZC13cml0ZScpIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKCdzMzpHZXRPYmplY3QnLCAnczM6UHV0T2JqZWN0JywgJ3MzOkRlbGV0ZU9iamVjdCcpO1xuICAgIH0gZWxzZSBpZiAobW9kZSA9PT0gJ3JlYWQtb25seScpIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKCdzMzpHZXRPYmplY3QnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBhY3Rpb25zLnB1c2goJ3MzOlB1dE9iamVjdCcsICdzMzpEZWxldGVPYmplY3QnKTtcbiAgICB9XG5cbiAgICBzdGF0ZW1lbnRzLnB1c2goe1xuICAgICAgICBTaWQ6ICdHZW5pT2JqZWN0QWNjZXNzJyxcbiAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICBQcmluY2lwYWw6ICcqJyxcbiAgICAgICAgQWN0aW9uOiBhY3Rpb25zLFxuICAgICAgICBSZXNvdXJjZTogYGFybjphd3M6czM6Ojoke2J1Y2tldH0vKmAsXG4gICAgICAgIENvbmRpdGlvbjogY29uZGl0aW9uLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHsgVmVyc2lvbjogJzIwMTItMTAtMTcnLCBTdGF0ZW1lbnQ6IHN0YXRlbWVudHMgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb21tYW5kID0gbmV3IENvbW1hbmQoJ2NyZWF0ZScpXG4gICAgLmFsaWFzKCdhY3RpdmF0ZScpXG4gICAgLmRlc2NyaXB0aW9uKCdDcmVhdGUgSUFNIHJvbGVzIGFuZCBwb2xpY2llcyBmb3IgR2VuaSBjcm9zcy1hY2NvdW50IGFjY2VzcycpXG4gICAgLmFyZ3VtZW50KCc8dXJpPicsICdUYXJnZXQgQVdTIGFjY291bnQgVVJJIChhd3M6Ly88YWNjb3VudD4vPHJlZ2lvbj4pJylcbiAgICAub3B0aW9uKCctLWdlbmktYWNjb3VudCA8YWNjb3VudD4nLCAnR2VuaSBBV1MgYWNjb3VudCBJRCB0byB0cnVzdCcsICc4ODA0MjAwMzg0NjAnKVxuICAgIC5vcHRpb24oJy0tdHJ1c3QgPGFjY291bnQ+JywgJ0FsaWFzIGZvciAtLWdlbmktYWNjb3VudCcpXG4gICAgLm9wdGlvbignLS1yZWFkLXdyaXRlLWJ1Y2tldHMgPGJ1Y2tldHM+JywgJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGV4aXN0aW5nIFMzIGJ1Y2tldHMgdG8gZ3JhbnQgcmVhZC13cml0ZSBhY2Nlc3MnKVxuICAgIC5vcHRpb24oJy0tcmVhZC1vbmx5LWJ1Y2tldHMgPGJ1Y2tldHM+JywgJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGV4aXN0aW5nIFMzIGJ1Y2tldHMgdG8gZ3JhbnQgcmVhZC1vbmx5IGFjY2VzcycpXG4gICAgLm9wdGlvbignLS13cml0ZS1vbmx5LWJ1Y2tldHMgPGJ1Y2tldHM+JywgJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGV4aXN0aW5nIFMzIGJ1Y2tldHMgdG8gZ3JhbnQgd3JpdGUtb25seSBhY2Nlc3MnKVxuICAgIC5vcHRpb24oJy0tcHJvZmlsZSA8cHJvZmlsZT4nLCAnQVdTIHByb2ZpbGUgdG8gdXNlIGZvciBjcmVkZW50aWFscycpXG4gICAgLmFjdGlvbihhc3luYyAodXJpOiBzdHJpbmcsIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3QgeyBhY2NvdW50LCByZWdpb246IHBhcnNlZFJlZ2lvbiB9ID0gcGFyc2VBd3NVcmkodXJpKTtcbiAgICAgICAgY29uc3QgcmVnaW9uID0gJ3VzLWVhc3QtMSc7XG4gICAgICAgIGlmIChwYXJzZWRSZWdpb24gIT09ICd1cy1lYXN0LTEnKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYE5vdGU6IGdlbmkgc2V0dXAgYWx3YXlzIGRlcGxveXMgdG8gdXMtZWFzdC0xIChDVVIgcmVxdWlyZXMgaXQpLiBJZ25vcmluZyByZWdpb24gXCIke3BhcnNlZFJlZ2lvbn1cIiBmcm9tIFVSSS5gKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGNmbiwgaWFtLCBzMywgc3RzIH0gPSBjcmVhdGVDbGllbnRzKHJlZ2lvbiwgb3B0aW9ucy5wcm9maWxlKTtcbiAgICAgICAgY29uc3QgaWRlbnRpdHkgPSBhd2FpdCBnZXRDYWxsZXJJZGVudGl0eShzdHMpO1xuICAgICAgICBjb25zb2xlLmxvZyhgQXV0aGVudGljYXRlZCBhcyAke2lkZW50aXR5LmFybn0gKGFjY291bnQgJHtpZGVudGl0eS5hY2NvdW50fSlgKTtcblxuICAgICAgICBpZiAoaWRlbnRpdHkuYWNjb3VudCAhPT0gYWNjb3VudCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgIGBXYXJuaW5nOiBDdXJyZW50IGFjY291bnQgKCR7aWRlbnRpdHkuYWNjb3VudH0pIGRvZXMgbm90IG1hdGNoIHRhcmdldCAoJHthY2NvdW50fSkuIGAgK1xuICAgICAgICAgICAgICAgIGBFbnN1cmUgeW91IGhhdmUgY3JlZGVudGlhbHMgZm9yIHRoZSB0YXJnZXQgYWNjb3VudC5gXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGVtcGxhdGVCb2R5ID0gcmVhZEZpbGVTeW5jKGpvaW4oX19kaXJuYW1lLCAnLi4vLi4vdGVtcGxhdGVzL3NldHVwLnlhbWwnKSwgJ3V0Zi04Jyk7XG4gICAgICAgIGNvbnN0IHRydXN0ZWRBY2NvdW50ID0gb3B0aW9ucy50cnVzdCA/PyBvcHRpb25zLmdlbmlBY2NvdW50O1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0gW1xuICAgICAgICAgICAgeyBQYXJhbWV0ZXJLZXk6ICdHZW5pQWNjb3VudCcsIFBhcmFtZXRlclZhbHVlOiB0cnVzdGVkQWNjb3VudCB9LFxuICAgICAgICBdO1xuICAgICAgICBjb25zdCB0YWdzID0gW3sgS2V5OiAnQ3JlYXRlZEJ5JywgVmFsdWU6ICdHRU5JJyB9XTtcblxuICAgICAgICBsZXQgbmVlZHNQb2xsOiAnQ1JFQVRFJyB8ICdVUERBVEUnIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGxldCBzdGFja0FscmVhZHlVcFRvRGF0ZSA9IGZhbHNlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgY2ZuLnNlbmQobmV3IENyZWF0ZVN0YWNrQ29tbWFuZCh7XG4gICAgICAgICAgICAgICAgU3RhY2tOYW1lOiBTVEFDS19OQU1FLFxuICAgICAgICAgICAgICAgIFRlbXBsYXRlQm9keTogdGVtcGxhdGVCb2R5LFxuICAgICAgICAgICAgICAgIENhcGFiaWxpdGllczogWydDQVBBQklMSVRZX05BTUVEX0lBTSddLFxuICAgICAgICAgICAgICAgIFBhcmFtZXRlcnM6IHBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgVGFnczogdGFncyxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDcmVhdGluZyBzdGFjayAke1NUQUNLX05BTUV9Li4uYCk7XG4gICAgICAgICAgICBuZWVkc1BvbGwgPSAnQ1JFQVRFJztcbiAgICAgICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICAgICAgICBpZiAoKGVyciBhcyB7IG5hbWU/OiBzdHJpbmcgfSkubmFtZSA9PT0gJ0FscmVhZHlFeGlzdHNFeGNlcHRpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2ZuLnNlbmQobmV3IFVwZGF0ZVN0YWNrQ29tbWFuZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBTdGFja05hbWU6IFNUQUNLX05BTUUsXG4gICAgICAgICAgICAgICAgICAgICAgICBUZW1wbGF0ZUJvZHk6IHRlbXBsYXRlQm9keSxcbiAgICAgICAgICAgICAgICAgICAgICAgIENhcGFiaWxpdGllczogWydDQVBBQklMSVRZX05BTUVEX0lBTSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW1ldGVyczogcGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhZ3M6IHRhZ3MsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFVwZGF0aW5nIHN0YWNrICR7U1RBQ0tfTkFNRX0uLi5gKTtcbiAgICAgICAgICAgICAgICAgICAgbmVlZHNQb2xsID0gJ1VQREFURSc7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAodXBkYXRlRXJyOiB1bmtub3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB1cGRhdGVFcnIgaW5zdGFuY2VvZiBFcnJvciA/IHVwZGF0ZUVyci5tZXNzYWdlIDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlLmluY2x1ZGVzKCdObyB1cGRhdGVzIGFyZSB0byBiZSBwZXJmb3JtZWQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFN0YWNrICR7U1RBQ0tfTkFNRX0gaXMgYWxyZWFkeSB1cCB0byBkYXRlLmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tBbHJlYWR5VXBUb0RhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgdXBkYXRlRXJyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJOYW1lID0gKGVyciBhcyB7IG5hbWU/OiBzdHJpbmcgfSkubmFtZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJNZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICcnO1xuICAgICAgICAgICAgICAgIC8vIE9ubHkgdHJlYXQgVmFsaWRhdGlvbkVycm9yKFwiU3RhY2sgd2l0aCBpZCBnZW5pLXNldHVwIGRvZXMgbm90IGV4aXN0XCIpIGFzXG4gICAgICAgICAgICAgICAgLy8gXCJzdGFjayBub3QgaW4gdGhpcyByZWdpb25cIiDigJQgZXZlcnl0aGluZyBlbHNlIChBY2Nlc3NEZW5pZWQsIGV0Yy4pIHNob3VsZCBmYWlsLlxuICAgICAgICAgICAgICAgIGNvbnN0IGlzU3RhY2tOb3RGb3VuZCA9IGVyck5hbWUgPT09ICdWYWxpZGF0aW9uRXJyb3InICYmXG4gICAgICAgICAgICAgICAgICAgIGVyck1lc3NhZ2UuaW5jbHVkZXMoJ2RvZXMgbm90IGV4aXN0Jyk7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1N0YWNrTm90Rm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBTdGFjayBkb2VzIG5vdCBleGlzdCBpbiB0aGlzIHJlZ2lvbi4gSUFNIHJvbGVzIGFyZSBnbG9iYWwg4oCUIGlmIHRoZXkgYWxyZWFkeVxuICAgICAgICAgICAgICAgIC8vIGV4aXN0IHRoZXkgd2VyZSBjcmVhdGVkIHZpYSBhIHN0YWNrIGluIGFub3RoZXIgcmVnaW9uOyBza2lwIHNpbGVudGx5LlxuICAgICAgICAgICAgICAgIGNvbnN0IGlhbVJvbGVzRXhpc3QgPSBhd2FpdCBjaGVja0lBTVJvbGVzRXhpc3QoaWFtKTtcbiAgICAgICAgICAgICAgICBpZiAoaWFtUm9sZXNFeGlzdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICAgICAgICAgICdcXG5JQU0gcm9sZXMgYWxyZWFkeSBleGlzdCBpbiB0aGlzIGFjY291bnQgKEdlbmlDcm9zc0FjY291bnRSb2xlLCBHZW5pQ2ZuU2VydmljZVJvbGUpLlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NraXBwaW5nIENsb3VkRm9ybWF0aW9uIHN0YWNrIOKAlCBJQU0gcm9sZXMgYXJlIGdsb2JhbCBhbmQgc2hhcmVkIGFjcm9zcyBhbGwgcmVnaW9ucy5cXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdUbyB1cGRhdGUgcm9sZSBwZXJtaXNzaW9ucywgcnVuIHRoaXMgY29tbWFuZCBhZ2FpbnN0IHRoZSByZWdpb24gd2hlcmUgdGhlIHN0YWNrIHdhcyBmaXJzdCBjcmVhdGVkLidcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFxcbiAgR2VuaUNyb3NzQWNjb3VudFJvbGU6IGFybjphd3M6aWFtOjoke2FjY291bnR9OnJvbGUvR2VuaUNyb3NzQWNjb3VudFJvbGVgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYCAgR2VuaUNmblNlcnZpY2VSb2xlOiAgIGFybjphd3M6aWFtOjoke2FjY291bnR9OnJvbGUvR2VuaUNmblNlcnZpY2VSb2xlYCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZWVkc1BvbGwpIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dHMgPSBhd2FpdCBwb2xsU3RhY2soY2ZuLCBTVEFDS19OQU1FLCBuZWVkc1BvbGwpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1xcblNldHVwIGNvbXBsZXRlOicpO1xuICAgICAgICAgICAgcHJpbnRSb2xlQXJucyhvdXRwdXRzKTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIG91dHB1dHMpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgICAke291dHB1dC5PdXRwdXRLZXl9OiAke291dHB1dC5PdXRwdXRWYWx1ZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChzdGFja0FscmVhZHlVcFRvRGF0ZSkge1xuICAgICAgICAgICAgY29uc3Qgb3V0cHV0cyA9IGF3YWl0IGdldFN0YWNrT3V0cHV0cyhjZm4sIFNUQUNLX05BTUUpO1xuICAgICAgICAgICAgaWYgKG91dHB1dHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdcXG5FeGlzdGluZyByb2xlIEFSTnM6Jyk7XG4gICAgICAgICAgICAgICAgcHJpbnRSb2xlQXJucyhvdXRwdXRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJ1Y2tldENvbmZpZ3M6IEFycmF5PHsgYnVja2V0OiBzdHJpbmc7IG1vZGU6IFBlcm1pc3Npb25Nb2RlIH0+ID0gW1xuICAgICAgICAgICAgLi4ucGFyc2VCdWNrZXRMaXN0KG9wdGlvbnMucmVhZFdyaXRlQnVja2V0cykubWFwKGIgPT4gKHsgYnVja2V0OiBiLCBtb2RlOiAncmVhZC13cml0ZScgYXMgY29uc3QgfSkpLFxuICAgICAgICAgICAgLi4ucGFyc2VCdWNrZXRMaXN0KG9wdGlvbnMucmVhZE9ubHlCdWNrZXRzKS5tYXAoYiA9PiAoeyBidWNrZXQ6IGIsIG1vZGU6ICdyZWFkLW9ubHknIGFzIGNvbnN0IH0pKSxcbiAgICAgICAgICAgIC4uLnBhcnNlQnVja2V0TGlzdChvcHRpb25zLndyaXRlT25seUJ1Y2tldHMpLm1hcChiID0+ICh7IGJ1Y2tldDogYiwgbW9kZTogJ3dyaXRlLW9ubHknIGFzIGNvbnN0IH0pKSxcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAoYnVja2V0Q29uZmlncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnXFxuQ29uZmlndXJpbmcgYnVja2V0IHBlcm1pc3Npb25zLi4uJyk7XG4gICAgICAgICAgICBjb25zdCBidWNrZXRGYWlsdXJlczogQXJyYXk8eyBidWNrZXQ6IHN0cmluZzsgbW9kZTogUGVybWlzc2lvbk1vZGU7IG1lc3NhZ2U6IHN0cmluZyB9PiA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHsgYnVja2V0LCBtb2RlIH0gb2YgYnVja2V0Q29uZmlncykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBleGlzdGluZ1RhZ3M6IEFycmF5PHsgS2V5Pzogc3RyaW5nOyBWYWx1ZT86IHN0cmluZyB9PiA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnZ2luZyA9IGF3YWl0IHMzLnNlbmQobmV3IEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kKHsgQnVja2V0OiBidWNrZXQgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmdUYWdzID0gdGFnZ2luZy5UYWdTZXQgPz8gW107XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChlcnIgYXMgeyBuYW1lPzogc3RyaW5nIH0pLm5hbWUgIT09ICdOb1N1Y2hUYWdTZXQnKSB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZFRhZ3MgPSBleGlzdGluZ1RhZ3MuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgdCA9PiB0LktleSAhPT0gJ0NyZWF0ZWRCeScgJiYgdC5LZXkgIT09ICdHZW5pUGVybWlzc2lvbicsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkVGFncy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBLZXk6ICdDcmVhdGVkQnknLCBWYWx1ZTogJ0dFTkknIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IEtleTogJ0dlbmlQZXJtaXNzaW9uJywgVmFsdWU6IG1vZGUgfSxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzMy5zZW5kKG5ldyBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBCdWNrZXQ6IGJ1Y2tldCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhZ2dpbmc6IHsgVGFnU2V0OiBmaWx0ZXJlZFRhZ3MgYXMgQXJyYXk8eyBLZXk6IHN0cmluZzsgVmFsdWU6IHN0cmluZyB9PiB9LFxuICAgICAgICAgICAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9saWN5ID0gYnVpbGRCdWNrZXRQb2xpY3koYnVja2V0LCBtb2RlLCBhY2NvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgczMuc2VuZChuZXcgUHV0QnVja2V0UG9saWN5Q29tbWFuZCh7IEJ1Y2tldDogYnVja2V0LCBQb2xpY3k6IHBvbGljeSB9KSk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYCAgJHtidWNrZXR9OiAke21vZGV9YCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYCAgJHtidWNrZXR9OiBGQUlMRUQgLSAke21lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgICAgIGJ1Y2tldEZhaWx1cmVzLnB1c2goeyBidWNrZXQsIG1vZGUsIG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYnVja2V0RmFpbHVyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBDbGlFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6ICdVUFNUUkVBTScsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBGYWlsZWQgdG8gY29uZmlndXJlICR7YnVja2V0RmFpbHVyZXMubGVuZ3RofSBidWNrZXQgcGVybWlzc2lvbiB1cGRhdGUocykuYCxcbiAgICAgICAgICAgICAgICAgICAgaGludDogJ0ZpeCBmYWlsZWQgYnVja2V0IHBlcm1pc3Npb25zIGFuZCByZXJ1biBgZ2VuaSBzZXR1cCBjcmVhdGVgLicsXG4gICAgICAgICAgICAgICAgICAgIGV4aXRDb2RlOiA1LFxuICAgICAgICAgICAgICAgICAgICBkZXRhaWxzOiB7IGZhaWx1cmVzOiBidWNrZXRGYWlsdXJlcyB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrSUFNUm9sZXNFeGlzdChcbiAgICBpYW06IGltcG9ydCgnQGF3cy1zZGsvY2xpZW50LWlhbScpLklBTUNsaWVudCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGlhbS5zZW5kKG5ldyBHZXRSb2xlQ29tbWFuZCh7IFJvbGVOYW1lOiAnR2VuaUNyb3NzQWNjb3VudFJvbGUnIH0pKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICAgIGlmICgoZXJyIGFzIHsgbmFtZT86IHN0cmluZyB9KS5uYW1lID09PSAnTm9TdWNoRW50aXR5RXhjZXB0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBvbGxTdGFjayhcbiAgICBjZm46IGltcG9ydCgnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJykuQ2xvdWRGb3JtYXRpb25DbGllbnQsXG4gICAgc3RhY2tOYW1lOiBzdHJpbmcsXG4gICAgb3BlcmF0aW9uOiAnQ1JFQVRFJyB8ICdVUERBVEUnLFxuKTogUHJvbWlzZTxTdGFja091dHB1dFtdPiB7XG4gICAgY29uc3Qgc3VjY2Vzc1N0YXRlID0gYCR7b3BlcmF0aW9ufV9DT01QTEVURWA7XG4gICAgY29uc3QgZmFpbHVyZVN0YXRlcyA9IFtcbiAgICAgICAgYCR7b3BlcmF0aW9ufV9GQUlMRURgLFxuICAgICAgICAnUk9MTEJBQ0tfQ09NUExFVEUnLFxuICAgICAgICAnUk9MTEJBQ0tfRkFJTEVEJyxcbiAgICAgICAgJ1VQREFURV9ST0xMQkFDS19DT01QTEVURScsXG4gICAgICAgICdVUERBVEVfUk9MTEJBQ0tfRkFJTEVEJyxcbiAgICBdO1xuXG4gICAgZm9yICg7IDspIHtcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTAwMCkpO1xuXG4gICAgICAgIGNvbnN0IHsgU3RhY2tzIH0gPSBhd2FpdCBjZm4uc2VuZChuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHsgU3RhY2tOYW1lOiBzdGFja05hbWUgfSkpO1xuICAgICAgICBjb25zdCBzdGFjayA9IFN0YWNrcz8uWzBdO1xuICAgICAgICBpZiAoIXN0YWNrKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0YWNrICR7c3RhY2tOYW1lfSBub3QgZm91bmRgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IHN0YWNrLlN0YWNrU3RhdHVzID8/ICcnO1xuICAgICAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShgICBTdGF0dXM6ICR7c3RhdHVzfVxcbmApO1xuXG4gICAgICAgIGlmIChzdGF0dXMgPT09IHN1Y2Nlc3NTdGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YWNrLk91dHB1dHMgPz8gW107XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmFpbHVyZVN0YXRlcy5pbmNsdWRlcyhzdGF0dXMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0YWNrICR7c3RhY2tOYW1lfSByZWFjaGVkIGZhaWx1cmUgc3RhdGU6ICR7c3RhdHVzfWApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRTdGFja091dHB1dHMoXG4gICAgY2ZuOiBpbXBvcnQoJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbicpLkNsb3VkRm9ybWF0aW9uQ2xpZW50LFxuICAgIHN0YWNrTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxTdGFja091dHB1dFtdPiB7XG4gICAgY29uc3QgeyBTdGFja3MgfSA9IGF3YWl0IGNmbi5zZW5kKG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoeyBTdGFja05hbWU6IHN0YWNrTmFtZSB9KSk7XG4gICAgcmV0dXJuIFN0YWNrcz8uWzBdPy5PdXRwdXRzID8/IFtdO1xufVxuXG5mdW5jdGlvbiBwcmludFJvbGVBcm5zKG91dHB1dHM6IFN0YWNrT3V0cHV0W10pOiB2b2lkIHtcbiAgICBjb25zdCByb2xlQXJucyA9IFtcbiAgICAgICAgeyBrZXk6ICdDcm9zc0FjY291bnRSb2xlQXJuJywgbGFiZWw6ICdHZW5pQ3Jvc3NBY2NvdW50Um9sZScgfSxcbiAgICAgICAgeyBrZXk6ICdDZm5TZXJ2aWNlUm9sZUFybicsIGxhYmVsOiAnR2VuaUNmblNlcnZpY2VSb2xlJyB9LFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IHJvbGVBcm4gb2Ygcm9sZUFybnMpIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0cy5maW5kKG8gPT4gby5PdXRwdXRLZXkgPT09IHJvbGVBcm4ua2V5KTtcbiAgICAgICAgaWYgKG91dHB1dD8uT3V0cHV0VmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGAgICR7cm9sZUFybi5sYWJlbH06ICR7b3V0cHV0Lk91dHB1dFZhbHVlfWApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -54,6 +54,14 @@ exports.submissionCommand
|
|
|
54
54
|
.addOption(new commander_1.Option('--sort-order <order>', 'Sort order').choices(['asc', 'desc']).default('desc'))
|
|
55
55
|
.addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))
|
|
56
56
|
.action(async (opts) => {
|
|
57
|
+
if (opts.showTag.length > 0) {
|
|
58
|
+
const tagsData = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)('/tags'));
|
|
59
|
+
const knownTags = new Set(tagsData.items.map(t => t.name));
|
|
60
|
+
for (const key of opts.showTag) {
|
|
61
|
+
if (!knownTags.has(key))
|
|
62
|
+
throw (0, errors_1.invalidArgument)(`Tag "${key}" does not exist`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
57
65
|
const params = new URLSearchParams();
|
|
58
66
|
if (opts.status)
|
|
59
67
|
params.set('status', opts.status);
|
|
@@ -71,7 +79,7 @@ exports.submissionCommand
|
|
|
71
79
|
.addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))
|
|
72
80
|
.action(async (id, opts) => {
|
|
73
81
|
const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/submissions/${id}`));
|
|
74
|
-
(0, format_js_1.formatDetail)(data, opts.format, format_js_1.
|
|
82
|
+
(0, format_js_1.formatDetail)(data, opts.format, format_js_1.submissionDetailColumns);
|
|
75
83
|
});
|
|
76
84
|
exports.submissionCommand
|
|
77
85
|
.command('create')
|
|
@@ -168,4 +176,4 @@ exports.submissionCommand
|
|
|
168
176
|
await (0, auth_1.readJsonResponse)(res, { method: 'PATCH', url });
|
|
169
177
|
});
|
|
170
178
|
exports.submissionCommand.addCommand(log_js_1.logsSubcommand);
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWlzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9zdWJtaXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUEyQztBQUMzQyw0Q0FBbUI7QUFDbkIsZ0RBQXVCO0FBQ3ZCLGtDQUE2RTtBQUM3RSxzQ0FBMkM7QUFDM0MsNENBQTBIO0FBQzFILHFDQUF5QztBQUV6QyxNQUFNLFNBQVMsR0FBRyx5QkFBeUIsQ0FBQTtBQUUzQyxTQUFTLGVBQWUsQ0FBQyxHQUFXLEVBQUUsSUFBMkM7SUFDL0UsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QixJQUFJLEtBQUssR0FBRyxDQUFDO1FBQUUsTUFBTSxJQUFBLHdCQUFlLEVBQUMsUUFBUSxHQUFHLCtCQUErQixDQUFDLENBQUE7SUFDaEYsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDL0IsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQUUsTUFBTSxJQUFBLHdCQUFlLEVBQUMsWUFBWSxHQUFHLCtCQUErQixDQUFDLENBQUE7SUFDL0YsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQUUsTUFBTSxJQUFBLHdCQUFlLEVBQUMsY0FBYyxLQUFLLDJDQUEyQyxDQUFDLENBQUE7SUFDM0gsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEdBQVcsRUFBRSxJQUFjO0lBQzdDLE1BQU0sR0FBRyxHQUFH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QUFFO0lBQ3pKLE1BQU0sR0FBRyxHQUFHLElBQUEsYUFBTSxFQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3hDLE1BQU0sSUFBSSxHQUE0QixFQUFFLENBQUE7SUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07UUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDbEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07UUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07UUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUE7SUFDM0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQzNCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsT0FBTyxFQUFFLEVBQUUsR0FBRyxJQUFBLHFCQUFjLEdBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7UUFDcEUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0tBQzNCLENBQUMsQ0FBQTtJQUNGLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFDdEMsT0FBTTtJQUNSLENBQUM7SUFDRCxNQUFNLElBQUEsdUJBQWdCLEVBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3ZELENBQUMsQ0FBQyxDQUFBO0FBRUoseUJBQWlCLENBQUMsVUFBVSxDQUFDLHVCQUFjLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmQsIE9wdGlvbiB9IGZyb20gJ2NvbW1hbmRlcidcbmltcG9ydCBmcyBmcm9tICdmcydcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBhcGlVcmwsIGZldGNoSnNvbiwgZ2V0QXV0aEhlYWRlcnMsIHJlYWRKc29uUmVzcG9uc2UgfSBmcm9tICcuLi9hdXRoJ1xuaW1wb3J0IHsgaW52YWxpZEFyZ3VtZW50IH0gZnJvbSAnLi4vZXJyb3JzJ1xuaW1wb3J0IHsgZm9ybWF0RGV0YWlsLCBmb3JtYXRPdXRwdXQsIHN1Ym1pc3Npb25Db2x1bW5zLCBzdWJtaXNzaW9uQ29sdW1uc1dpdGhUYWdzLCB0eXBlIE91dHB1dEZvcm1hdCB9IGZyb20gJy4uL2Zvcm1hdC5qcydcbmltcG9ydCB7IGxvZ3NTdWJjb21tYW5kIH0gZnJvbSAnLi9sb2cuanMnXG5cbmNvbnN0IFRBR19SRUdFWCA9IC9eW2EtejAtOV1bYS16MC05Ll8tXSokL2lcblxuZnVuY3Rpb24gY29sbGVjdEtleVZhbHVlKHJhdzogc3RyaW5nLCBwcmV2OiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KTogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PiB7XG4gIGNvbnN0IGVxSWR4ID0gcmF3LmluZGV4T2YoJz0nKVxuICBpZiAoZXFJZHggPCAxKSB0aHJvdyBpbnZhbGlkQXJndW1lbnQoYFRhZyBcIiR7cmF3fVwiIG11c3QgYmUgaW4ga2V5PXZhbHVlIGZvcm1hdGApXG4gIGNvbnN0IGtleSA9IHJhdy5zbGljZSgwLCBlcUlkeClcbiAgY29uc3QgdmFsdWUgPSByYXcuc2xpY2UoZXFJZHggKyAxKVxuICBpZiAoIVRBR19SRUdFWC50ZXN0KGtleSkpIHRocm93IGludmFsaWRBcmd1bWVudChgVGFnIGtleSBcIiR7a2V5fVwiIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyc2ApXG4gIGlmICghdmFsdWUgfHwgIVRBR19SRUdFWC50ZXN0KHZhbHVlKSkgdGhyb3cgaW52YWxpZEFyZ3VtZW50KGBUYWcgdmFsdWUgXCIke3ZhbHVlfVwiIGlzIGVtcHR5IG9yIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyc2ApXG4gIHJldHVybiBbLi4ucHJldiwgeyBrZXksIHZhbHVlIH1dXG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RLZXkocmF3OiBzdHJpbmcsIHByZXY6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICBjb25zdCBrZXkgPSByYXcuc3BsaXQoJz0nKVswXVxuICBpZiAoIVRBR19SRUdFWC50ZXN0KGtleSkpIHRocm93IGludmFsaWRBcmd1bWVudChgVGFnIGtleSBcIiR7a2V5fVwiIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyc2ApXG4gIHJldHVybiBbLi4ucHJldiwga2V5XVxufVxuXG5mdW5jdGlvbiBjb2xsZWN0U3RyKHZhbDogc3RyaW5nLCBwcmV2OiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIFsuLi5wcmV2LCB2YWxdXG59XG5cbmZ1bmN0aW9uIHBhcnNlVGltZVRvU2Vjb25kcyh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgcGFydHMgPSB2YWx1ZS5zcGxpdCgnOicpLm1hcChOdW1iZXIpXG4gIGlmIChwYXJ0cy5sZW5ndGggIT09IDMgfHwgcGFydHMuc29tZShpc05hTikpIHtcbiAgICB0aHJvdyBpbnZhbGlkQXJndW1lbnQoXG4gICAgICAnVGltZSBtdXN0IGJlIGluIEREOkhIOk1NIGZvcm1hdCAoZGF5czpob3VyczptaW51dGVzKS4nLFxuICAgICAgJ0V4YW1wbGU6IDAwOjEyOjMwJyxcbiAgICApXG4gIH1cbiAgY29uc3QgW2RheXMsIGhvdXJzLCBtaW51dGVzXSA9IHBhcnRzXG4gIHJldHVybiAoZGF5cyAqIDg2NDAwKSArIChob3VycyAqIDM2MDApICsgKG1pbnV0ZXMgKiA2MClcbn1cblxuXG5leHBvcnQgY29uc3Qgc3VibWlzc2lvbkNvbW1hbmQgPSBuZXcgQ29tbWFuZCgnc3VibWlzc2lvbicpXG4gIC5kZXNjcmlwdGlvbignTWFuYWdlIHdvcmtmbG93IHN1Ym1pc3Npb25zJylcblxuc3VibWlzc2lvbkNvbW1hbmRcbiAgLmNvbW1hbmQoJ2xpc3QnKVxuICAuZGVzY3JpcHRpb24oJ0xpc3Qgc3VibWlzc2lvbnMnKVxuICAub3B0aW9uKCctLXN0YXR1cyA8c3RhdHVzPicsICdGaWx0ZXIgYnkgc3RhdHVzIChTVUJNSVRURUQsIFNVQ0NFRURFRCwgRkFJTEVEKScpXG4gIC5vcHRpb24oJy0tbGltaXQgPG4+JywgJ01heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgdG8gcmV0dXJuJywgJzEwJylcbiAgLm9wdGlvbignLS10YWcgPGtleT12YWx1ZT4nLCAnRmlsdGVyIGJ5IHRhZyAocmVwZWF0YWJsZSknLCBjb2xsZWN0S2V5VmFsdWUsIFtdIGFzIEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4pXG4gIC5vcHRpb24oJy0tc2hvdy10YWcgPGtleT4nLCAnU2hvdyB0YWcgYXMgYSBjb2x1bW4gKHJlcGVhdGFibGUpJywgY29sbGVjdFN0ciwgW10gYXMgc3RyaW5nW10pXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1zb3J0IDxmaWVsZD4nLCAnU29ydCBmaWVsZCcpLmNob2ljZXMoWydzdGFydGVkJywgJ3N0b3BwZWQnLCAndXBkYXRlZCddKS5kZWZhdWx0KCd1cGRhdGVkJykpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1zb3J0LW9yZGVyIDxvcmRlcj4nLCAnU29ydCBvcmRlcicpLmNob2ljZXMoWydhc2MnLCAnZGVzYyddKS5kZWZhdWx0KCdkZXNjJykpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuICAuYWN0aW9uKGFzeW5jIChvcHRzOiB7IHN0YXR1cz86IHN0cmluZzsgbGltaXQ6IHN0cmluZzsgdGFnOiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+OyBzaG93VGFnOiBzdHJpbmdbXTsgc29ydDogc3RyaW5nOyBzb3J0T3JkZXI6IHN0cmluZzsgZm9ybWF0OiBPdXRwdXRGb3JtYXQgfSkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgIGlmIChvcHRzLnN0YXR1cykgcGFyYW1zLnNldCgnc3RhdHVzJywgb3B0cy5zdGF0dXMpXG4gICAgcGFyYW1zLnNldCgnbGltaXQnLCBvcHRzLmxpbWl0KVxuICAgIHBhcmFtcy5zZXQoJ3NvcnQnLCBvcHRzLnNvcnQpXG4gICAgcGFyYW1zLnNldCgnc29ydE9yZGVyJywgb3B0cy5zb3J0T3JkZXIpXG4gICAgb3B0cy50YWcuZm9yRWFjaCh0ID0+IHBhcmFtcy5hcHBlbmQoJ3RhZycsIGAke3Qua2V5fT0ke3QudmFsdWV9YCkpXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoYC9zdWJtaXNzaW9ucz8ke3BhcmFtc31gKSkgYXMgeyBpdGVtczogdW5rbm93bltdIH1cbiAgICBjb25zdCBjb2x1bW5zID0gc3VibWlzc2lvbkNvbHVtbnNXaXRoVGFncyhvcHRzLnNob3dUYWcpXG4gICAgZm9ybWF0T3V0cHV0KG9wdHMuZm9ybWF0ID09PSAnanNvbicgPyBkYXRhIDogZGF0YS5pdGVtcywgb3B0cy5mb3JtYXQsIGNvbHVtbnMpXG4gIH0pXG5cbnN1Ym1pc3Npb25Db21tYW5kXG4gIC5jb21tYW5kKCdnZXQgPGlkPicpXG4gIC5kZXNjcmlwdGlvbignR2V0IGEgc3VibWlzc2lvbiBieSBJRCcpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuICAuYWN0aW9uKGFzeW5jIChpZDogc3RyaW5nLCBvcHRzOiB7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uKGFwaVVybChgL3N1Ym1pc3Npb25zLyR7aWR9YCkpXG4gICAgZm9ybWF0RGV0YWlsKGRhdGEsIG9wdHMuZm9ybWF0LCBzdWJtaXNzaW9uQ29sdW1ucylcbiAgfSlcblxuc3VibWlzc2lvbkNvbW1hbmRcbiAgLmNvbW1hbmQoJ2NyZWF0ZScpXG4gIC5kZXNjcmlwdGlvbignU3VibWl0IGEgd29ya2Zsb3cgcnVuJylcbiAgLnJlcXVpcmVkT3B0aW9uKCctLXdvcmtmbG93LW5hbWUgPG5hbWU+JywgJ1dvcmtmbG93IG5hbWUnKVxuICAub3B0aW9uKCctLXdvcmtmbG93LXZlcnNpb24gPHZlcnNpb24+JywgJ1dvcmtmbG93IHZlcnNpb24nKVxuICAucmVxdWlyZWRPcHRpb24oJy0tcGFyYW1zLWZpbGUgPGZpbGU+JywgJ1BhdGggdG8gcGFyYW1zIGZpbGUgKC5qc29uLy55YW1sLy55bWwpJylcbiAgLnJlcXVpcmVkT3B0aW9uKCctLWVuZ2luZS1pZCA8aWQ+JywgJ0VuZ2luZSBJRCcpXG4gIC5yZXF1aXJlZE9wdGlvbignLS1xdWV1ZS1pZCA8aWQ+JywgJ1F1ZXVlIElEJylcbiAgLnJlcXVpcmVkT3B0aW9uKCctLW91dHB1dC1mb2xkZXIgPHMzLXVyaT4nLCAnUzMgVVJJIHByZWZpeCBmb3Igd29ya2Zsb3cgb3V0cHV0IGZpbGVzIChlLmcuIHMzOi8vbXktYnVja2V0L291dHB1dHMvKScpXG4gIC5vcHRpb24oJy0tYWxlcnQtdGltZSA8REQ6SEg6TU0+JywgJ0FsZXJ0IHRpbWUgb3ZlcnJpZGUgKEREOkhIOk1NKScpXG4gIC5vcHRpb24oJy0tY2FuY2VsLXRpbWUgPEREOkhIOk1NPicsICdDYW5jZWwgdGltZSBvdmVycmlkZSAoREQ6SEg6TU0pJylcbiAgLm9wdGlvbignLS10YWcgPGtleT12YWx1ZT4nLCAnVGFnIHRvIGF0dGFjaCAocmVwZWF0YWJsZSwgZS5nLiAtLXRhZyBjbGllbnQ9aGlhZSknLCBjb2xsZWN0S2V5VmFsdWUsIFtdIGFzIEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4pXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuICAuYWN0aW9uKGFzeW5jIChvcHRzOiB7XG4gICAgd29ya2Zsb3dOYW1lOiBzdHJpbmdcbiAgICB3b3JrZmxvd1ZlcnNpb24/OiBzdHJpbmdcbiAgICBwYXJhbXNGaWxlOiBzdHJpbmdcbiAgICBlbmdpbmVJZDogc3RyaW5nXG4gICAgcXVldWVJZDogc3RyaW5nXG4gICAgb3V0cHV0Rm9sZGVyOiBzdHJpbmdcbiAgICBhbGVydFRpbWU/OiBzdHJpbmdcbiAgICBjYW5jZWxUaW1lPzogc3RyaW5nXG4gICAgdGFnOiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgZm9ybWF0OiBPdXRwdXRGb3JtYXRcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGZvcm0gPSBuZXcgRm9ybURhdGEoKVxuICAgIGZvcm0uYXBwZW5kKCd3b3JrZmxvd05hbWUnLCBvcHRzLndvcmtmbG93TmFtZSlcbiAgICBpZiAob3B0cy53b3JrZmxvd1ZlcnNpb24pIGZvcm0uYXBwZW5kKCd3b3JrZmxvd1ZlcnNpb24nLCBvcHRzLndvcmtmbG93VmVyc2lvbilcbiAgICBmb3JtLmFwcGVuZCgnZW5naW5lSWQnLCBvcHRzLmVuZ2luZUlkKVxuICAgIGZvcm0uYXBwZW5kKCdxdWV1ZUlkJywgb3B0cy5xdWV1ZUlkKVxuICAgIGZvcm0uYXBwZW5kKCdvdXRwdXQnLCBvcHRzLm91dHB1dEZvbGRlcilcbiAgICBpZiAob3B0cy5hbGVydFRpbWUpIGZvcm0uYXBwZW5kKCdhbGVydFRpbWVTZWNvbmRzJywgU3RyaW5nKHBhcnNlVGltZVRvU2Vjb25kcyhvcHRzLmFsZXJ0VGltZSkpKVxuICAgIGlmIChvcHRzLmNhbmNlbFRpbWUpIGZvcm0uYXBwZW5kKCdjYW5jZWxUaW1lU2Vjb25kcycsIFN0cmluZyhwYXJzZVRpbWVUb1NlY29uZHMob3B0cy5jYW5jZWxUaW1lKSkpXG4gICAgb3B0cy50YWcuZm9yRWFjaCh0ID0+IGZvcm0uYXBwZW5kKCd0YWcnLCBgJHt0LmtleX09JHt0LnZhbHVlfWApKVxuICAgIGNvbnN0IHBhcmFtc0J1ZmZlciA9IGF3YWl0IGZzLnByb21pc2VzLnJlYWRGaWxlKG9wdHMucGFyYW1zRmlsZSlcbiAgICBmb3JtLmFwcGVuZCgncGFyYW1zJywgbmV3IEJsb2IoW3BhcmFtc0J1ZmZlcl0pLCBwYXRoLmJhc2VuYW1lKG9wdHMucGFyYW1zRmlsZSkpXG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChhcGlVcmwoJy9zdWJtaXNzaW9ucycpLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IGdldEF1dGhIZWFkZXJzKCksXG4gICAgICBib2R5OiBmb3JtLFxuICAgIH0pXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmw6IGFwaVVybCgnL3N1Ym1pc3Npb25zJykgfSlcbiAgICBmb3JtYXRPdXRwdXQoZGF0YSwgb3B0cy5mb3JtYXQsIHN1Ym1pc3Npb25Db2x1bW5zKVxuICB9KVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgnY2FuY2VsIDxpZD4nKVxuICAuZGVzY3JpcHRpb24oJ0NhbmNlbCBhIHJ1bm5pbmcgc3VibWlzc2lvbicpXG4gIC5hY3Rpb24oYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB1cmwgPSBhcGlVcmwoYC9zdWJtaXNzaW9ucy8ke2lkfS9jYW5jZWxgKVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiBnZXRBdXRoSGVhZGVycygpLFxuICAgIH0pXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmwgfSkgYXMgeyBzdWJtaXNzaW9uSWQ6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICBjb25zb2xlLmxvZyhgJHtkYXRhLm1lc3NhZ2V9ICgke2RhdGEuc3VibWlzc2lvbklkfSlgKVxuICB9KVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgncmV0cnkgPGlkPicpXG4gIC5kZXNjcmlwdGlvbignUmV0cnkgYSBmYWlsZWQgc3VibWlzc2lvbicpXG4gIC5vcHRpb24oJy0tZW5naW5lLWlkIDxpZD4nLCAnVXNlIGEgZGlmZmVyZW50IGVuZ2luZScpXG4gIC5vcHRpb24oJy0tcXVldWUtaWQgPGlkPicsICdVc2UgYSBkaWZmZXJlbnQgcXVldWUnKVxuICAuYWN0aW9uKGFzeW5jIChpZDogc3RyaW5nLCBvcHRzOiB7IGVuZ2luZUlkPzogc3RyaW5nOyBxdWV1ZUlkPzogc3RyaW5nIH0pID0+IHtcbiAgICBjb25zdCB1cmwgPSBhcGlVcmwoYC9zdWJtaXNzaW9ucy8ke2lkfS9yZXRyeWApXG4gICAgY29uc3QgYm9keTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9XG4gICAgaWYgKG9wdHMuZW5naW5lSWQpIGJvZHkuZW5naW5lSWQgPSBvcHRzLmVuZ2luZUlkXG4gICAgaWYgKG9wdHMucXVldWVJZCkgYm9keS5xdWV1ZUlkID0gb3B0cy5xdWV1ZUlkXG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHsgLi4uZ2V0QXV0aEhlYWRlcnMoKSwgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgfSlcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVhZEpzb25SZXNwb25zZShyZXMsIHsgbWV0aG9kOiAnUE9TVCcsIHVybCB9KSBhcyB7IHN1Ym1pc3Npb25JZDogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVxuICAgIGNvbnNvbGUubG9nKGAke2RhdGEubWVzc2FnZX0gKCR7ZGF0YS5zdWJtaXNzaW9uSWR9KWApXG4gIH0pXG5cbnN1Ym1pc3Npb25Db21tYW5kXG4gIC5jb21tYW5kKCd1cGRhdGUgPGlkPicpXG4gIC5kZXNjcmlwdGlvbignVXBkYXRlIHRhZ3Mgb24gYW4gZXhpc3Rpbmcgc3VibWlzc2lvbicpXG4gIC5vcHRpb24oJy0tYWRkLXRhZyA8a2V5PXZhbHVlPicsICdBZGQgYSB0YWcgKHJlcGVhdGFibGUpJywgY29sbGVjdEtleVZhbHVlLCBbXSBhcyBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KVxuICAub3B0aW9uKCctLWVkaXQtdGFnIDxrZXk9dmFsdWU+JywgJ0NoYW5nZSBhIHRhZyB2YWx1ZSAocmVwZWF0YWJsZSknLCBjb2xsZWN0S2V5VmFsdWUsIFtdIGFzIEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4pXG4gIC5vcHRpb24oJy0tcmVtb3ZlLXRhZyA8a2V5PicsICdSZW1vdmUgYSB0YWcgYnkga2V5IChyZXBlYXRhYmxlKScsIGNvbGxlY3RLZXksIFtdIGFzIHN0cmluZ1tdKVxuICAuYWN0aW9uKGFzeW5jIChpZDogc3RyaW5nLCBvcHRzOiB7IGFkZFRhZzogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PjsgZWRpdFRhZzogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PjsgcmVtb3ZlVGFnOiBzdHJpbmdbXSB9KSA9PiB7XG4gICAgY29uc3QgdXJsID0gYXBpVXJsKGAvc3VibWlzc2lvbnMvJHtpZH1gKVxuICAgIGNvbnN0IGJvZHk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge31cbiAgICBpZiAob3B0cy5hZGRUYWcubGVuZ3RoKSBib2R5LmFkZFRhZ3MgPSBvcHRzLmFkZFRhZ1xuICAgIGlmIChvcHRzLmVkaXRUYWcubGVuZ3RoKSBib2R5LmVkaXRUYWdzID0gb3B0cy5lZGl0VGFnXG4gICAgaWYgKG9wdHMucmVtb3ZlVGFnLmxlbmd0aCkgYm9keS5yZW1vdmVUYWdzID0gb3B0cy5yZW1vdmVUYWdcbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIGhlYWRlcnM6IHsgLi4uZ2V0QXV0aEhlYWRlcnMoKSwgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgfSlcbiAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICBjb25zb2xlLmxvZygnU3VibWlzc2lvbiB0YWdzIHVwZGF0ZWQnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BBVENIJywgdXJsIH0pXG4gIH0pXG5cbnN1Ym1pc3Npb25Db21tYW5kLmFkZENvbW1hbmQobG9nc1N1YmNvbW1hbmQpXG4iXX0=
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWlzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9zdWJtaXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUEyQztBQUMzQyw0Q0FBbUI7QUFDbkIsZ0RBQXVCO0FBQ3ZCLGtDQUE2RTtBQUM3RSxzQ0FBMkM7QUFDM0MsNENBQW1KO0FBQ25KLHFDQUF5QztBQUV6QyxNQUFNLFNBQVMsR0FBRyx5QkFBeUIsQ0FBQTtBQUUzQyxTQUFTLGVBQWUsQ0FBQyxHQUFXLEVBQUUsSUFBMkM7SUFDL0UsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QixJQUFJLEtBQUssR0FBRyxDQUFDO1FBQUUsTUFBTSxJQUFBLHdCQUFlLEVBQUMsUUFBUSxHQUFHLCtCQUErQixDQUFDLENBQUE7SUFDaEYsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDL0IsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQUUsTUFBTSxJQUFBLHdCQUFlLEVBQUMsWUFBWSxHQUFHLCtCQUErQixDQUFDLENBQUE7SUFDL0YsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQUUsTUFBTSxJQUFBLHdCQUFlLEVBQUMsY0FBYyxLQUFLLDJDQUEyQyxDQUFDLENBQUE7SUFDM0gsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEdBQVcsRUFBRSxJQUFjO0lBQzdDLE1BQU0sR0FBRyxHQUFH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Q3BFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztLQUMzQixDQUFDLENBQUE7SUFDRixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO1FBQ3RDLE9BQU07SUFDUixDQUFDO0lBQ0QsTUFBTSxJQUFBLHVCQUFnQixFQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUN2RCxDQUFDLENBQUMsQ0FBQTtBQUVKLHlCQUFpQixDQUFDLFVBQVUsQ0FBQyx1QkFBYyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kLCBPcHRpb24gfSBmcm9tICdjb21tYW5kZXInXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IHsgYXBpVXJsLCBmZXRjaEpzb24sIGdldEF1dGhIZWFkZXJzLCByZWFkSnNvblJlc3BvbnNlIH0gZnJvbSAnLi4vYXV0aCdcbmltcG9ydCB7IGludmFsaWRBcmd1bWVudCB9IGZyb20gJy4uL2Vycm9ycydcbmltcG9ydCB7IGZvcm1hdERldGFpbCwgZm9ybWF0T3V0cHV0LCBzdWJtaXNzaW9uQ29sdW1ucywgc3VibWlzc2lvbkRldGFpbENvbHVtbnMsIHN1Ym1pc3Npb25Db2x1bW5zV2l0aFRhZ3MsIHR5cGUgT3V0cHV0Rm9ybWF0IH0gZnJvbSAnLi4vZm9ybWF0LmpzJ1xuaW1wb3J0IHsgbG9nc1N1YmNvbW1hbmQgfSBmcm9tICcuL2xvZy5qcydcblxuY29uc3QgVEFHX1JFR0VYID0gL15bYS16MC05XVthLXowLTkuXy1dKiQvaVxuXG5mdW5jdGlvbiBjb2xsZWN0S2V5VmFsdWUocmF3OiBzdHJpbmcsIHByZXY6IEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4pOiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+IHtcbiAgY29uc3QgZXFJZHggPSByYXcuaW5kZXhPZignPScpXG4gIGlmIChlcUlkeCA8IDEpIHRocm93IGludmFsaWRBcmd1bWVudChgVGFnIFwiJHtyYXd9XCIgbXVzdCBiZSBpbiBrZXk9dmFsdWUgZm9ybWF0YClcbiAgY29uc3Qga2V5ID0gcmF3LnNsaWNlKDAsIGVxSWR4KVxuICBjb25zdCB2YWx1ZSA9IHJhdy5zbGljZShlcUlkeCArIDEpXG4gIGlmICghVEFHX1JFR0VYLnRlc3Qoa2V5KSkgdGhyb3cgaW52YWxpZEFyZ3VtZW50KGBUYWcga2V5IFwiJHtrZXl9XCIgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzYClcbiAgaWYgKCF2YWx1ZSB8fCAhVEFHX1JFR0VYLnRlc3QodmFsdWUpKSB0aHJvdyBpbnZhbGlkQXJndW1lbnQoYFRhZyB2YWx1ZSBcIiR7dmFsdWV9XCIgaXMgZW1wdHkgb3IgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzYClcbiAgcmV0dXJuIFsuLi5wcmV2LCB7IGtleSwgdmFsdWUgfV1cbn1cblxuZnVuY3Rpb24gY29sbGVjdEtleShyYXc6IHN0cmluZywgcHJldjogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGtleSA9IHJhdy5zcGxpdCgnPScpWzBdXG4gIGlmICghVEFHX1JFR0VYLnRlc3Qoa2V5KSkgdGhyb3cgaW52YWxpZEFyZ3VtZW50KGBUYWcga2V5IFwiJHtrZXl9XCIgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzYClcbiAgcmV0dXJuIFsuLi5wcmV2LCBrZXldXG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RTdHIodmFsOiBzdHJpbmcsIHByZXY6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICByZXR1cm4gWy4uLnByZXYsIHZhbF1cbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lVG9TZWNvbmRzKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCBwYXJ0cyA9IHZhbHVlLnNwbGl0KCc6JykubWFwKE51bWJlcilcbiAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMyB8fCBwYXJ0cy5zb21lKGlzTmFOKSkge1xuICAgIHRocm93IGludmFsaWRBcmd1bWVudChcbiAgICAgICdUaW1lIG11c3QgYmUgaW4gREQ6SEg6TU0gZm9ybWF0IChkYXlzOmhvdXJzOm1pbnV0ZXMpLicsXG4gICAgICAnRXhhbXBsZTogMDA6MTI6MzAnLFxuICAgIClcbiAgfVxuICBjb25zdCBbZGF5cywgaG91cnMsIG1pbnV0ZXNdID0gcGFydHNcbiAgcmV0dXJuIChkYXlzICogODY0MDApICsgKGhvdXJzICogMzYwMCkgKyAobWludXRlcyAqIDYwKVxufVxuXG5cbmV4cG9ydCBjb25zdCBzdWJtaXNzaW9uQ29tbWFuZCA9IG5ldyBDb21tYW5kKCdzdWJtaXNzaW9uJylcbiAgLmRlc2NyaXB0aW9uKCdNYW5hZ2Ugd29ya2Zsb3cgc3VibWlzc2lvbnMnKVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgnbGlzdCcpXG4gIC5kZXNjcmlwdGlvbignTGlzdCBzdWJtaXNzaW9ucycpXG4gIC5vcHRpb24oJy0tc3RhdHVzIDxzdGF0dXM+JywgJ0ZpbHRlciBieSBzdGF0dXMgKFNVQk1JVFRFRCwgU1VDQ0VFREVELCBGQUlMRUQpJylcbiAgLm9wdGlvbignLS1saW1pdCA8bj4nLCAnTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byByZXR1cm4nLCAnMTAnKVxuICAub3B0aW9uKCctLXRhZyA8a2V5PXZhbHVlPicsICdGaWx0ZXIgYnkgdGFnIChyZXBlYXRhYmxlKScsIGNvbGxlY3RLZXlWYWx1ZSwgW10gYXMgQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PilcbiAgLm9wdGlvbignLS1zaG93LXRhZyA8a2V5PicsICdTaG93IHRhZyBhcyBhIGNvbHVtbiAocmVwZWF0YWJsZSknLCBjb2xsZWN0U3RyLCBbXSBhcyBzdHJpbmdbXSlcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXNvcnQgPGZpZWxkPicsICdTb3J0IGZpZWxkJykuY2hvaWNlcyhbJ3N0YXJ0ZWQnLCAnc3RvcHBlZCcsICd1cGRhdGVkJ10pLmRlZmF1bHQoJ3VwZGF0ZWQnKSlcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXNvcnQtb3JkZXIgPG9yZGVyPicsICdTb3J0IG9yZGVyJykuY2hvaWNlcyhbJ2FzYycsICdkZXNjJ10pLmRlZmF1bHQoJ2Rlc2MnKSlcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWZvcm1hdCA8Zm9ybWF0PicsICdPdXRwdXQgZm9ybWF0JykuY2hvaWNlcyhbJ3RhYmxlJywgJ2pzb24nLCAnY3N2J10pLmRlZmF1bHQoJ3RhYmxlJykpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdHM6IHsgc3RhdHVzPzogc3RyaW5nOyBsaW1pdDogc3RyaW5nOyB0YWc6IEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT47IHNob3dUYWc6IHN0cmluZ1tdOyBzb3J0OiBzdHJpbmc7IHNvcnRPcmRlcjogc3RyaW5nOyBmb3JtYXQ6IE91dHB1dEZvcm1hdCB9KSA9PiB7XG4gICAgaWYgKG9wdHMuc2hvd1RhZy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB0YWdzRGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoJy90YWdzJykpIGFzIHsgaXRlbXM6IEFycmF5PHsgbmFtZTogc3RyaW5nIH0+IH1cbiAgICAgIGNvbnN0IGtub3duVGFncyA9IG5ldyBTZXQodGFnc0RhdGEuaXRlbXMubWFwKHQgPT4gdC5uYW1lKSlcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIG9wdHMuc2hvd1RhZykge1xuICAgICAgICBpZiAoIWtub3duVGFncy5oYXMoa2V5KSkgdGhyb3cgaW52YWxpZEFyZ3VtZW50KGBUYWcgXCIke2tleX1cIiBkb2VzIG5vdCBleGlzdGApXG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgIGlmIChvcHRzLnN0YXR1cykgcGFyYW1zLnNldCgnc3RhdHVzJywgb3B0cy5zdGF0dXMpXG4gICAgcGFyYW1zLnNldCgnbGltaXQnLCBvcHRzLmxpbWl0KVxuICAgIHBhcmFtcy5zZXQoJ3NvcnQnLCBvcHRzLnNvcnQpXG4gICAgcGFyYW1zLnNldCgnc29ydE9yZGVyJywgb3B0cy5zb3J0T3JkZXIpXG4gICAgb3B0cy50YWcuZm9yRWFjaCh0ID0+IHBhcmFtcy5hcHBlbmQoJ3RhZycsIGAke3Qua2V5fT0ke3QudmFsdWV9YCkpXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoYC9zdWJtaXNzaW9ucz8ke3BhcmFtc31gKSkgYXMgeyBpdGVtczogdW5rbm93bltdIH1cbiAgICBjb25zdCBjb2x1bW5zID0gc3VibWlzc2lvbkNvbHVtbnNXaXRoVGFncyhvcHRzLnNob3dUYWcpXG4gICAgZm9ybWF0T3V0cHV0KG9wdHMuZm9ybWF0ID09PSAnanNvbicgPyBkYXRhIDogZGF0YS5pdGVtcywgb3B0cy5mb3JtYXQsIGNvbHVtbnMpXG4gIH0pXG5cbnN1Ym1pc3Npb25Db21tYW5kXG4gIC5jb21tYW5kKCdnZXQgPGlkPicpXG4gIC5kZXNjcmlwdGlvbignR2V0IGEgc3VibWlzc2lvbiBieSBJRCcpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuICAuYWN0aW9uKGFzeW5jIChpZDogc3RyaW5nLCBvcHRzOiB7IGZvcm1hdDogT3V0cHV0Rm9ybWF0IH0pID0+IHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uKGFwaVVybChgL3N1Ym1pc3Npb25zLyR7aWR9YCkpXG4gICAgZm9ybWF0RGV0YWlsKGRhdGEsIG9wdHMuZm9ybWF0LCBzdWJtaXNzaW9uRGV0YWlsQ29sdW1ucylcbiAgfSlcblxuc3VibWlzc2lvbkNvbW1hbmRcbiAgLmNvbW1hbmQoJ2NyZWF0ZScpXG4gIC5kZXNjcmlwdGlvbignU3VibWl0IGEgd29ya2Zsb3cgcnVuJylcbiAgLnJlcXVpcmVkT3B0aW9uKCctLXdvcmtmbG93LW5hbWUgPG5hbWU+JywgJ1dvcmtmbG93IG5hbWUnKVxuICAub3B0aW9uKCctLXdvcmtmbG93LXZlcnNpb24gPHZlcnNpb24+JywgJ1dvcmtmbG93IHZlcnNpb24nKVxuICAucmVxdWlyZWRPcHRpb24oJy0tcGFyYW1zLWZpbGUgPGZpbGU+JywgJ1BhdGggdG8gcGFyYW1zIGZpbGUgKC5qc29uLy55YW1sLy55bWwpJylcbiAgLnJlcXVpcmVkT3B0aW9uKCctLWVuZ2luZS1pZCA8aWQ+JywgJ0VuZ2luZSBJRCcpXG4gIC5yZXF1aXJlZE9wdGlvbignLS1xdWV1ZS1pZCA8aWQ+JywgJ1F1ZXVlIElEJylcbiAgLnJlcXVpcmVkT3B0aW9uKCctLW91dHB1dC1mb2xkZXIgPHMzLXVyaT4nLCAnUzMgVVJJIHByZWZpeCBmb3Igd29ya2Zsb3cgb3V0cHV0IGZpbGVzIChlLmcuIHMzOi8vbXktYnVja2V0L291dHB1dHMvKScpXG4gIC5vcHRpb24oJy0tYWxlcnQtdGltZSA8REQ6SEg6TU0+JywgJ0FsZXJ0IHRpbWUgb3ZlcnJpZGUgKEREOkhIOk1NKScpXG4gIC5vcHRpb24oJy0tY2FuY2VsLXRpbWUgPEREOkhIOk1NPicsICdDYW5jZWwgdGltZSBvdmVycmlkZSAoREQ6SEg6TU0pJylcbiAgLm9wdGlvbignLS10YWcgPGtleT12YWx1ZT4nLCAnVGFnIHRvIGF0dGFjaCAocmVwZWF0YWJsZSwgZS5nLiAtLXRhZyBjbGllbnQ9aGlhZSknLCBjb2xsZWN0S2V5VmFsdWUsIFtdIGFzIEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4pXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCcpLmNob2ljZXMoWyd0YWJsZScsICdqc29uJywgJ2NzdiddKS5kZWZhdWx0KCd0YWJsZScpKVxuICAuYWN0aW9uKGFzeW5jIChvcHRzOiB7XG4gICAgd29ya2Zsb3dOYW1lOiBzdHJpbmdcbiAgICB3b3JrZmxvd1ZlcnNpb24/OiBzdHJpbmdcbiAgICBwYXJhbXNGaWxlOiBzdHJpbmdcbiAgICBlbmdpbmVJZDogc3RyaW5nXG4gICAgcXVldWVJZDogc3RyaW5nXG4gICAgb3V0cHV0Rm9sZGVyOiBzdHJpbmdcbiAgICBhbGVydFRpbWU/OiBzdHJpbmdcbiAgICBjYW5jZWxUaW1lPzogc3RyaW5nXG4gICAgdGFnOiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+XG4gICAgZm9ybWF0OiBPdXRwdXRGb3JtYXRcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGZvcm0gPSBuZXcgRm9ybURhdGEoKVxuICAgIGZvcm0uYXBwZW5kKCd3b3JrZmxvd05hbWUnLCBvcHRzLndvcmtmbG93TmFtZSlcbiAgICBpZiAob3B0cy53b3JrZmxvd1ZlcnNpb24pIGZvcm0uYXBwZW5kKCd3b3JrZmxvd1ZlcnNpb24nLCBvcHRzLndvcmtmbG93VmVyc2lvbilcbiAgICBmb3JtLmFwcGVuZCgnZW5naW5lSWQnLCBvcHRzLmVuZ2luZUlkKVxuICAgIGZvcm0uYXBwZW5kKCdxdWV1ZUlkJywgb3B0cy5xdWV1ZUlkKVxuICAgIGZvcm0uYXBwZW5kKCdvdXRwdXQnLCBvcHRzLm91dHB1dEZvbGRlcilcbiAgICBpZiAob3B0cy5hbGVydFRpbWUpIGZvcm0uYXBwZW5kKCdhbGVydFRpbWVTZWNvbmRzJywgU3RyaW5nKHBhcnNlVGltZVRvU2Vjb25kcyhvcHRzLmFsZXJ0VGltZSkpKVxuICAgIGlmIChvcHRzLmNhbmNlbFRpbWUpIGZvcm0uYXBwZW5kKCdjYW5jZWxUaW1lU2Vjb25kcycsIFN0cmluZyhwYXJzZVRpbWVUb1NlY29uZHMob3B0cy5jYW5jZWxUaW1lKSkpXG4gICAgb3B0cy50YWcuZm9yRWFjaCh0ID0+IGZvcm0uYXBwZW5kKCd0YWcnLCBgJHt0LmtleX09JHt0LnZhbHVlfWApKVxuICAgIGNvbnN0IHBhcmFtc0J1ZmZlciA9IGF3YWl0IGZzLnByb21pc2VzLnJlYWRGaWxlKG9wdHMucGFyYW1zRmlsZSlcbiAgICBmb3JtLmFwcGVuZCgncGFyYW1zJywgbmV3IEJsb2IoW3BhcmFtc0J1ZmZlcl0pLCBwYXRoLmJhc2VuYW1lKG9wdHMucGFyYW1zRmlsZSkpXG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChhcGlVcmwoJy9zdWJtaXNzaW9ucycpLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IGdldEF1dGhIZWFkZXJzKCksXG4gICAgICBib2R5OiBmb3JtLFxuICAgIH0pXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmw6IGFwaVVybCgnL3N1Ym1pc3Npb25zJykgfSlcbiAgICBmb3JtYXRPdXRwdXQoZGF0YSwgb3B0cy5mb3JtYXQsIHN1Ym1pc3Npb25Db2x1bW5zKVxuICB9KVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgnY2FuY2VsIDxpZD4nKVxuICAuZGVzY3JpcHRpb24oJ0NhbmNlbCBhIHJ1bm5pbmcgc3VibWlzc2lvbicpXG4gIC5hY3Rpb24oYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB1cmwgPSBhcGlVcmwoYC9zdWJtaXNzaW9ucy8ke2lkfS9jYW5jZWxgKVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiBnZXRBdXRoSGVhZGVycygpLFxuICAgIH0pXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BPU1QnLCB1cmwgfSkgYXMgeyBzdWJtaXNzaW9uSWQ6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICBjb25zb2xlLmxvZyhgJHtkYXRhLm1lc3NhZ2V9ICgke2RhdGEuc3VibWlzc2lvbklkfSlgKVxuICB9KVxuXG5zdWJtaXNzaW9uQ29tbWFuZFxuICAuY29tbWFuZCgncmV0cnkgPGlkPicpXG4gIC5kZXNjcmlwdGlvbignUmV0cnkgYSBmYWlsZWQgc3VibWlzc2lvbicpXG4gIC5vcHRpb24oJy0tZW5naW5lLWlkIDxpZD4nLCAnVXNlIGEgZGlmZmVyZW50IGVuZ2luZScpXG4gIC5vcHRpb24oJy0tcXVldWUtaWQgPGlkPicsICdVc2UgYSBkaWZmZXJlbnQgcXVldWUnKVxuICAuYWN0aW9uKGFzeW5jIChpZDogc3RyaW5nLCBvcHRzOiB7IGVuZ2luZUlkPzogc3RyaW5nOyBxdWV1ZUlkPzogc3RyaW5nIH0pID0+IHtcbiAgICBjb25zdCB1cmwgPSBhcGlVcmwoYC9zdWJtaXNzaW9ucy8ke2lkfS9yZXRyeWApXG4gICAgY29uc3QgYm9keTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9XG4gICAgaWYgKG9wdHMuZW5naW5lSWQpIGJvZHkuZW5naW5lSWQgPSBvcHRzLmVuZ2luZUlkXG4gICAgaWYgKG9wdHMucXVldWVJZCkgYm9keS5xdWV1ZUlkID0gb3B0cy5xdWV1ZUlkXG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHsgLi4uZ2V0QXV0aEhlYWRlcnMoKSwgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgfSlcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVhZEpzb25SZXNwb25zZShyZXMsIHsgbWV0aG9kOiAnUE9TVCcsIHVybCB9KSBhcyB7IHN1Ym1pc3Npb25JZDogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVxuICAgIGNvbnNvbGUubG9nKGAke2RhdGEubWVzc2FnZX0gKCR7ZGF0YS5zdWJtaXNzaW9uSWR9KWApXG4gIH0pXG5cbnN1Ym1pc3Npb25Db21tYW5kXG4gIC5jb21tYW5kKCd1cGRhdGUgPGlkPicpXG4gIC5kZXNjcmlwdGlvbignVXBkYXRlIHRhZ3Mgb24gYW4gZXhpc3Rpbmcgc3VibWlzc2lvbicpXG4gIC5vcHRpb24oJy0tYWRkLXRhZyA8a2V5PXZhbHVlPicsICdBZGQgYSB0YWcgKHJlcGVhdGFibGUpJywgY29sbGVjdEtleVZhbHVlLCBbXSBhcyBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KVxuICAub3B0aW9uKCctLWVkaXQtdGFnIDxrZXk9dmFsdWU+JywgJ0NoYW5nZSBhIHRhZyB2YWx1ZSAocmVwZWF0YWJsZSknLCBjb2xsZWN0S2V5VmFsdWUsIFtdIGFzIEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4pXG4gIC5vcHRpb24oJy0tcmVtb3ZlLXRhZyA8a2V5PicsICdSZW1vdmUgYSB0YWcgYnkga2V5IChyZXBlYXRhYmxlKScsIGNvbGxlY3RLZXksIFtdIGFzIHN0cmluZ1tdKVxuICAuYWN0aW9uKGFzeW5jIChpZDogc3RyaW5nLCBvcHRzOiB7IGFkZFRhZzogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PjsgZWRpdFRhZzogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PjsgcmVtb3ZlVGFnOiBzdHJpbmdbXSB9KSA9PiB7XG4gICAgY29uc3QgdXJsID0gYXBpVXJsKGAvc3VibWlzc2lvbnMvJHtpZH1gKVxuICAgIGNvbnN0IGJvZHk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge31cbiAgICBpZiAob3B0cy5hZGRUYWcubGVuZ3RoKSBib2R5LmFkZFRhZ3MgPSBvcHRzLmFkZFRhZ1xuICAgIGlmIChvcHRzLmVkaXRUYWcubGVuZ3RoKSBib2R5LmVkaXRUYWdzID0gb3B0cy5lZGl0VGFnXG4gICAgaWYgKG9wdHMucmVtb3ZlVGFnLmxlbmd0aCkgYm9keS5yZW1vdmVUYWdzID0gb3B0cy5yZW1vdmVUYWdcbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIGhlYWRlcnM6IHsgLi4uZ2V0QXV0aEhlYWRlcnMoKSwgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgfSlcbiAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICBjb25zb2xlLmxvZygnU3VibWlzc2lvbiB0YWdzIHVwZGF0ZWQnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGF3YWl0IHJlYWRKc29uUmVzcG9uc2UocmVzLCB7IG1ldGhvZDogJ1BBVENIJywgdXJsIH0pXG4gIH0pXG5cbnN1Ym1pc3Npb25Db21tYW5kLmFkZENvbW1hbmQobG9nc1N1YmNvbW1hbmQpXG4iXX0=
|
package/dist/commands/task.js
CHANGED
|
@@ -34,7 +34,7 @@ exports.taskCommand
|
|
|
34
34
|
.addOption(new commander_1.Option('--format <format>', 'Output format').choices(['table', 'json', 'csv']).default('table'))
|
|
35
35
|
.action(async (id, opts) => {
|
|
36
36
|
const data = await (0, auth_1.fetchJson)((0, auth_1.apiUrl)(`/tasks/${id}`));
|
|
37
|
-
(0, format_js_1.formatDetail)(data, opts.format, format_js_1.
|
|
37
|
+
(0, format_js_1.formatDetail)(data, opts.format, format_js_1.taskDetailColumns);
|
|
38
38
|
});
|
|
39
39
|
exports.taskCommand.addCommand(log_js_1.taskLogsSubcommand);
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy90YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUEyQztBQUMzQyxrQ0FBMkM7QUFDM0MsNENBQTRHO0FBQzVHLHFDQUE2QztBQUVoQyxRQUFBLFdBQVcsR0FBRyxJQUFJLG1CQUFPLENBQUMsTUFBTSxDQUFDO0tBQzNDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUU5QixtQkFBVztLQUNSLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDZixXQUFXLENBQUMsWUFBWSxDQUFDO0tBQ3pCLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSx5QkFBeUIsQ0FBQztLQUN6RCxNQUFNLENBQUMsbUJBQW1CLEVBQUUscUVBQXFFLENBQUM7S0FDbEcsTUFBTSxDQUFDLGFBQWEsRUFBRSxxQ0FBcUMsRUFBRSxJQUFJLENBQUM7S0FDbEUsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ25ILFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsc0JBQXNCLEVBQUUsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3BHLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM5RyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQXNILEVBQUUsRUFBRTtJQUN2SSxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFBO0lBQ3BDLElBQUksSUFBSSxDQUFDLFlBQVk7UUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDcEUsSUFBSSxJQUFJLENBQUMsTUFBTTtRQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNoRSxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDL0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN2QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsZ0JBQVMsRUFBQyxJQUFBLGFBQU0sRUFBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQXlCLENBQUE7SUFDaEYsSUFBQSx3QkFBWSxFQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSx1QkFBVyxDQUFDLENBQUE7QUFDcEYsQ0FBQyxDQUFDLENBQUE7QUFFSixtQkFBVztLQUNSLE9BQU8sQ0FBQyxVQUFVLENBQUM7S0FDbkIsV0FBVyxDQUFDLGtCQUFrQixDQUFDO0tBQy9CLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM5RyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQVUsRUFBRSxJQUE4QixFQUFFLEVBQUU7SUFDM0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLGdCQUFTLEVBQUMsSUFBQSxhQUFNLEVBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEQsSUFBQSx3QkFBWSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLDZCQUFpQixDQUFDLENBQUE7QUFDcEQsQ0FBQyxDQUFDLENBQUE7QUFFSixtQkFBVyxDQUFDLFVBQVUsQ0FBQywyQkFBa0IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCwgT3B0aW9uIH0gZnJvbSAnY29tbWFuZGVyJ1xuaW1wb3J0IHsgYXBpVXJsLCBmZXRjaEpzb24gfSBmcm9tICcuLi9hdXRoJ1xuaW1wb3J0IHsgZm9ybWF0RGV0YWlsLCBmb3JtYXRPdXRwdXQsIHRhc2tDb2x1bW5zLCB0YXNrRGV0YWlsQ29sdW1ucywgdHlwZSBPdXRwdXRGb3JtYXQgfSBmcm9tICcuLi9mb3JtYXQuanMnXG5pbXBvcnQgeyB0YXNrTG9nc1N1YmNvbW1hbmQgfSBmcm9tICcuL2xvZy5qcydcblxuZXhwb3J0IGNvbnN0IHRhc2tDb21tYW5kID0gbmV3IENvbW1hbmQoJ3Rhc2snKVxuICAuZGVzY3JpcHRpb24oJ01hbmFnZSB0YXNrcycpXG5cbnRhc2tDb21tYW5kXG4gIC5jb21tYW5kKCdsaXN0JylcbiAgLmRlc2NyaXB0aW9uKCdMaXN0IHRhc2tzJylcbiAgLm9wdGlvbignLS1zdWJtaXNzaW9uLWlkIDxpZD4nLCAnRmlsdGVyIGJ5IHN1Ym1pc3Npb24gSUQnKVxuICAub3B0aW9uKCctLXN0YXR1cyA8c3RhdHVzPicsICdGaWx0ZXIgYnkgc3RhdHVzIChTVUJNSVRURUQsIFJVTk5JTkcsIFNVQ0NFRURFRCwgRkFJTEVELCBDQU5DRUxMRUQpJylcbiAgLm9wdGlvbignLS1saW1pdCA8bj4nLCAnTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byByZXR1cm4nLCAnMTAnKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tc29ydCA8ZmllbGQ+JywgJ1NvcnQgZmllbGQnKS5jaG9pY2VzKFsnc3RhcnRlZCcsICdzdG9wcGVkJywgJ3VwZGF0ZWQnXSkuZGVmYXVsdCgndXBkYXRlZCcpKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tc29ydC1vcmRlciA8b3JkZXI+JywgJ1NvcnQgb3JkZXInKS5jaG9pY2VzKFsnYXNjJywgJ2Rlc2MnXSkuZGVmYXVsdCgnZGVzYycpKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAob3B0czogeyBzdWJtaXNzaW9uSWQ/OiBzdHJpbmc7IHN0YXR1cz86IHN0cmluZzsgbGltaXQ6IHN0cmluZzsgc29ydDogc3RyaW5nOyBzb3J0T3JkZXI6IHN0cmluZzsgZm9ybWF0OiBPdXRwdXRGb3JtYXQgfSkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgIGlmIChvcHRzLnN1Ym1pc3Npb25JZCkgcGFyYW1zLnNldCgnc3VibWlzc2lvbklkJywgb3B0cy5zdWJtaXNzaW9uSWQpXG4gICAgaWYgKG9wdHMuc3RhdHVzKSBwYXJhbXMuc2V0KCdzdGF0dXMnLCBvcHRzLnN0YXR1cy50b1VwcGVyQ2FzZSgpKVxuICAgIHBhcmFtcy5zZXQoJ2xpbWl0Jywgb3B0cy5saW1pdClcbiAgICBwYXJhbXMuc2V0KCdzb3J0Jywgb3B0cy5zb3J0KVxuICAgIHBhcmFtcy5zZXQoJ3NvcnRPcmRlcicsIG9wdHMuc29ydE9yZGVyKVxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaEpzb24oYXBpVXJsKGAvdGFza3M/JHtwYXJhbXN9YCkpIGFzIHsgaXRlbXM6IHVua25vd25bXSB9XG4gICAgZm9ybWF0T3V0cHV0KG9wdHMuZm9ybWF0ID09PSAnanNvbicgPyBkYXRhIDogZGF0YS5pdGVtcywgb3B0cy5mb3JtYXQsIHRhc2tDb2x1bW5zKVxuICB9KVxuXG50YXNrQ29tbWFuZFxuICAuY29tbWFuZCgnZ2V0IDxpZD4nKVxuICAuZGVzY3JpcHRpb24oJ0dldCBhIHRhc2sgYnkgSUQnKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgJ091dHB1dCBmb3JtYXQnKS5jaG9pY2VzKFsndGFibGUnLCAnanNvbicsICdjc3YnXSkuZGVmYXVsdCgndGFibGUnKSlcbiAgLmFjdGlvbihhc3luYyAoaWQ6IHN0cmluZywgb3B0czogeyBmb3JtYXQ6IE91dHB1dEZvcm1hdCB9KSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoSnNvbihhcGlVcmwoYC90YXNrcy8ke2lkfWApKVxuICAgIGZvcm1hdERldGFpbChkYXRhLCBvcHRzLmZvcm1hdCwgdGFza0RldGFpbENvbHVtbnMpXG4gIH0pXG5cbnRhc2tDb21tYW5kLmFkZENvbW1hbmQodGFza0xvZ3NTdWJjb21tYW5kKVxuIl19
|
package/dist/format.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare function formatOutput(data: unknown, format: OutputFormat, column
|
|
|
10
10
|
export declare const workflowColumns: ColumnDef[];
|
|
11
11
|
export declare const workflowVersionColumns: ColumnDef[];
|
|
12
12
|
export declare const submissionColumns: ColumnDef[];
|
|
13
|
+
export declare const submissionDetailColumns: ColumnDef[];
|
|
13
14
|
export declare function submissionColumnsWithTags(showTags: string[]): ColumnDef[];
|
|
14
15
|
export declare const tagColumns: ColumnDef[];
|
|
15
16
|
export declare const costsByTagColumns: ColumnDef[];
|
|
@@ -18,6 +19,7 @@ export declare const queueColumns: ColumnDef[];
|
|
|
18
19
|
export declare const engineColumns: ColumnDef[];
|
|
19
20
|
export declare const storageColumns: ColumnDef[];
|
|
20
21
|
export declare const taskColumns: ColumnDef[];
|
|
22
|
+
export declare const taskDetailColumns: ColumnDef[];
|
|
21
23
|
export declare const submissionLogColumns: ColumnDef[];
|
|
22
24
|
export declare const taskLogColumns: ColumnDef[];
|
|
23
25
|
export declare const registryColumns: ColumnDef[];
|
package/dist/format.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.costsByInstanceColumns = exports.costsByTaskColumns = exports.costsByExecutionModeColumns = exports.costsByEngineColumns = exports.analyticsOverTimeColumns = exports.analyticsByInstanceTypeColumns = exports.analyticsByQueueColumns = exports.analyticsByEnvironmentColumns = exports.analyticsBySubmissionColumns = exports.analyticsSummaryColumns = exports.tenantColumns = exports.pluginColumns = exports.imageColumns = exports.activityLogColumns = exports.instanceColumns = exports.registryColumns = exports.taskLogColumns = exports.submissionLogColumns = exports.taskColumns = exports.storageColumns = exports.engineColumns = exports.queueColumns = exports.environmentColumns = exports.costsByTagColumns = exports.tagColumns = exports.submissionColumns = exports.workflowVersionColumns = exports.workflowColumns = void 0;
|
|
6
|
+
exports.costsByInstanceColumns = exports.costsByTaskColumns = exports.costsByExecutionModeColumns = exports.costsByEngineColumns = exports.analyticsOverTimeColumns = exports.analyticsByInstanceTypeColumns = exports.analyticsByQueueColumns = exports.analyticsByEnvironmentColumns = exports.analyticsBySubmissionColumns = exports.analyticsSummaryColumns = exports.tenantColumns = exports.pluginColumns = exports.imageColumns = exports.activityLogColumns = exports.instanceColumns = exports.registryColumns = exports.taskLogColumns = exports.submissionLogColumns = exports.taskDetailColumns = exports.taskColumns = exports.storageColumns = exports.engineColumns = exports.queueColumns = exports.environmentColumns = exports.costsByTagColumns = exports.tagColumns = exports.submissionDetailColumns = exports.submissionColumns = exports.workflowVersionColumns = exports.workflowColumns = void 0;
|
|
7
7
|
exports.formatDateTime = formatDateTime;
|
|
8
8
|
exports.formatDetail = formatDetail;
|
|
9
9
|
exports.formatOutput = formatOutput;
|
|
@@ -26,9 +26,14 @@ function formatCurrency(value) {
|
|
|
26
26
|
return String(value);
|
|
27
27
|
return n.toFixed(2);
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function wordWrap(value, width = 30) {
|
|
30
30
|
const s = value === null || value === undefined ? '' : String(value);
|
|
31
|
-
|
|
31
|
+
if (s.length <= width)
|
|
32
|
+
return s;
|
|
33
|
+
const lines = [];
|
|
34
|
+
for (let i = 0; i < s.length; i += width)
|
|
35
|
+
lines.push(s.slice(i, i + width));
|
|
36
|
+
return lines.join('\n');
|
|
32
37
|
}
|
|
33
38
|
function formatDuration(ms) {
|
|
34
39
|
if (ms === null || ms === undefined || ms === '')
|
|
@@ -98,19 +103,22 @@ exports.submissionColumns = [
|
|
|
98
103
|
{ header: 'Environment', value: r => r.environment?.name ?? r.environmentId },
|
|
99
104
|
{ header: 'Engine', value: r => r.engine?.name ?? r.engineId },
|
|
100
105
|
{ header: 'Queue', value: r => r.queue?.name ?? r.queueId },
|
|
106
|
+
{ header: 'Started At', value: r => formatDateTime(r.startedAt) },
|
|
107
|
+
{ header: 'Duration', value: r => formatDuration(r.durationMs) },
|
|
108
|
+
];
|
|
109
|
+
exports.submissionDetailColumns = [
|
|
110
|
+
{ header: 'ID', value: r => r.submissionId },
|
|
111
|
+
{ header: 'Job ID', value: r => r.jobId },
|
|
112
|
+
{ header: 'Status', value: r => r.status },
|
|
113
|
+
{ header: 'Workflow', value: r => r.workflowName },
|
|
114
|
+
{ header: 'Version', value: r => r.workflowVersion },
|
|
115
|
+
{ header: 'Environment', value: r => r.environment?.name ?? r.environmentId },
|
|
116
|
+
{ header: 'Engine', value: r => r.engine?.name ?? r.engineId },
|
|
117
|
+
{ header: 'Queue', value: r => r.queue?.name ?? r.queueId },
|
|
101
118
|
{ header: 'Created At', value: r => formatDateTime(r.createdAt) },
|
|
119
|
+
{ header: 'Started At', value: r => formatDateTime(r.startedAt) },
|
|
120
|
+
{ header: 'Stopped At', value: r => formatDateTime(r.stoppedAt) },
|
|
102
121
|
{ header: 'Duration', value: r => formatDuration(r.durationMs) },
|
|
103
|
-
{
|
|
104
|
-
header: 'Tags',
|
|
105
|
-
value: r => {
|
|
106
|
-
const tags = r.tags;
|
|
107
|
-
return tags?.length ? tags.map(t => `${t.key}=${t.value}`).join(', ') : '';
|
|
108
|
-
},
|
|
109
|
-
tableValue: r => {
|
|
110
|
-
const tags = r.tags;
|
|
111
|
-
return tags?.length ? tags.map(t => `${t.key}=${t.value}`).join('\n') : '';
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
122
|
];
|
|
115
123
|
function submissionColumnsWithTags(showTags) {
|
|
116
124
|
if (showTags.length === 0)
|
|
@@ -174,12 +182,36 @@ exports.storageColumns = [
|
|
|
174
182
|
];
|
|
175
183
|
exports.taskColumns = [
|
|
176
184
|
{ header: 'ID', value: r => r.id },
|
|
177
|
-
{ header: 'Task Name', value: r => r.jobName, tableValue: r =>
|
|
185
|
+
{ header: 'Task Name', value: r => r.jobName, tableValue: r => wordWrap(r.jobName) },
|
|
186
|
+
{ header: 'Status', value: r => r.status },
|
|
187
|
+
{ header: 'Environment', value: r => r.environment?.name ?? r.environmentId },
|
|
188
|
+
{ header: 'Engine', value: r => r.engine?.name },
|
|
189
|
+
{ header: 'Queue', value: r => r.queue?.name },
|
|
190
|
+
{ header: 'Started At', value: r => formatDateTime(r.startedAt) },
|
|
191
|
+
{ header: 'Duration', value: r => formatDuration(r.durationMs) },
|
|
192
|
+
];
|
|
193
|
+
exports.taskDetailColumns = [
|
|
194
|
+
{ header: 'ID', value: r => r.id },
|
|
195
|
+
{ header: 'Submission ID', value: r => r.submissionId },
|
|
196
|
+
{ header: 'Job ID', value: r => r.jobId },
|
|
197
|
+
{ header: 'Task Name', value: r => r.jobName },
|
|
178
198
|
{ header: 'Status', value: r => r.status },
|
|
199
|
+
{ header: 'Status Reason', value: r => r.statusReason },
|
|
200
|
+
{ header: 'Exit Code', value: r => r.exitCode },
|
|
201
|
+
{ header: 'Provider', value: r => r.provider },
|
|
202
|
+
{ header: 'vCPUs', value: r => r.vcpus },
|
|
203
|
+
{ header: 'Memory (MB)', value: r => r.memory },
|
|
179
204
|
{ header: 'Environment', value: r => r.environment?.name ?? r.environmentId },
|
|
180
205
|
{ header: 'Engine', value: r => r.engine?.name },
|
|
181
206
|
{ header: 'Queue', value: r => r.queue?.name },
|
|
207
|
+
{ header: 'Instance ID', value: r => r.instance?.id ?? r.instanceId },
|
|
208
|
+
{ header: 'Instance Type', value: r => r.instance?.instanceType },
|
|
209
|
+
{ header: 'Created At', value: r => formatDateTime(r.createdAt) },
|
|
182
210
|
{ header: 'Started At', value: r => formatDateTime(r.startedAt) },
|
|
211
|
+
{ header: 'Stopped At', value: r => formatDateTime(r.stoppedAt) },
|
|
212
|
+
{ header: 'Updated At', value: r => formatDateTime(r.updatedAt) },
|
|
213
|
+
{ header: 'Runnable Duration', value: r => formatDuration(r.runnableDurationMs) },
|
|
214
|
+
{ header: 'Execution Duration', value: r => formatDuration(r.executionDurationMs) },
|
|
183
215
|
{ header: 'Duration', value: r => formatDuration(r.durationMs) },
|
|
184
216
|
];
|
|
185
217
|
exports.submissionLogColumns = [
|
|
@@ -206,12 +238,10 @@ exports.instanceColumns = [
|
|
|
206
238
|
{ header: 'Market', value: r => r.marketType },
|
|
207
239
|
{ header: 'Status', value: r => r.status },
|
|
208
240
|
{ header: 'Duration', value: r => formatDuration(r.durationMs) },
|
|
209
|
-
{ header: '
|
|
210
|
-
{ header: '
|
|
211
|
-
{ header: '
|
|
212
|
-
{ header: '
|
|
213
|
-
{ header: 'Actual Volume ($)', value: r => formatCurrency(r.cost?.actualVolumeCost) },
|
|
214
|
-
{ header: 'Actual Total ($)', value: r => formatCurrency(r.cost?.actualTotalCost) },
|
|
241
|
+
{ header: 'EC2 ($)', value: r => formatCurrency(r.cost?.ec2Cost) },
|
|
242
|
+
{ header: 'Volume ($)', value: r => formatCurrency(r.cost?.volumeCost) },
|
|
243
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.cost?.totalCost) },
|
|
244
|
+
{ header: 'Estimated', value: r => r.cost?.estimated != null ? String(r.cost.estimated) : '' },
|
|
215
245
|
{ header: 'Launch Time', value: r => formatDateTime(r.launchTime) },
|
|
216
246
|
{ header: 'Environment ID', value: r => r.environmentId },
|
|
217
247
|
];
|
|
@@ -249,71 +279,69 @@ exports.tenantColumns = [
|
|
|
249
279
|
{ header: 'Created At', value: r => formatDateTime(r.createdAt) },
|
|
250
280
|
];
|
|
251
281
|
exports.analyticsSummaryColumns = [
|
|
252
|
-
{ header: '
|
|
253
|
-
{ header: '
|
|
254
|
-
{ header: '
|
|
255
|
-
{ header: '
|
|
256
|
-
{ header: '
|
|
282
|
+
{ header: 'Instance ($)', value: r => formatCurrency(r.totalInstanceCost) },
|
|
283
|
+
{ header: 'EBS ($)', value: r => formatCurrency(r.totalEbsCost) },
|
|
284
|
+
{ header: 'ECS ($)', value: r => formatCurrency(r.totalEcsCost) },
|
|
285
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.totalCost) },
|
|
286
|
+
{ header: 'Estimated', value: r => r.anyEstimated ? (r.fullyEstimated ? 'yes' : 'partial') : 'no' },
|
|
257
287
|
{ header: 'Instances', value: r => r.instanceCount },
|
|
258
288
|
{ header: 'Submissions', value: r => r.submissionCount },
|
|
259
289
|
];
|
|
260
290
|
exports.analyticsBySubmissionColumns = [
|
|
261
291
|
{ header: 'Submission ID', value: r => r.submissionId },
|
|
262
292
|
{ header: 'Status', value: r => r.submissionStatus },
|
|
263
|
-
{ header: '
|
|
264
|
-
{ header: '
|
|
265
|
-
{ header: '
|
|
266
|
-
{ header: 'Act. Total ($)', value: r => formatCurrency(r.actualTotalCost) },
|
|
293
|
+
{ header: 'Task ($)', value: r => formatCurrency(r.taskCost) },
|
|
294
|
+
{ header: 'ECS ($)', value: r => formatCurrency(r.ecsCost) },
|
|
295
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.totalCost) },
|
|
267
296
|
];
|
|
268
297
|
exports.analyticsByEnvironmentColumns = [
|
|
269
298
|
{ header: 'Environment ID', value: r => r.environmentId },
|
|
270
299
|
{ header: 'Name', value: r => r.environmentName },
|
|
271
|
-
{ header: '
|
|
272
|
-
{ header: '
|
|
300
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.totalCost) },
|
|
301
|
+
{ header: 'Estimated', value: r => r.anyEstimated ? (r.fullyEstimated ? 'yes' : 'partial') : 'no' },
|
|
273
302
|
{ header: 'Instances', value: r => r.instanceCount },
|
|
274
303
|
];
|
|
275
304
|
exports.analyticsByQueueColumns = [
|
|
276
305
|
{ header: 'Queue ID', value: r => r.queueId },
|
|
277
306
|
{ header: 'Name', value: r => r.queueName },
|
|
278
|
-
{ header: '
|
|
279
|
-
{ header: '
|
|
307
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.totalCost) },
|
|
308
|
+
{ header: 'Estimated', value: r => r.anyEstimated ? (r.fullyEstimated ? 'yes' : 'partial') : 'no' },
|
|
280
309
|
{ header: 'Instances', value: r => r.instanceCount },
|
|
281
310
|
];
|
|
282
311
|
exports.analyticsByInstanceTypeColumns = [
|
|
283
312
|
{ header: 'Instance Type', value: r => r.instanceType },
|
|
284
313
|
{ header: 'Market', value: r => r.marketType },
|
|
285
|
-
{ header: '
|
|
286
|
-
{ header: '
|
|
314
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.totalCost) },
|
|
315
|
+
{ header: 'Estimated', value: r => r.anyEstimated ? (r.fullyEstimated ? 'yes' : 'partial') : 'no' },
|
|
287
316
|
{ header: 'Instances', value: r => r.instanceCount },
|
|
288
317
|
];
|
|
289
318
|
exports.analyticsOverTimeColumns = [
|
|
290
319
|
{ header: 'Period', value: r => r.period },
|
|
291
|
-
{ header: '
|
|
292
|
-
{ header: '
|
|
320
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.totalCost) },
|
|
321
|
+
{ header: 'Estimated', value: r => r.anyEstimated ? (r.fullyEstimated ? 'yes' : 'partial') : 'no' },
|
|
293
322
|
{ header: 'Instances', value: r => r.instanceCount },
|
|
294
323
|
];
|
|
295
324
|
exports.costsByEngineColumns = [
|
|
296
325
|
{ header: 'Engine ID', value: r => r.engineId },
|
|
297
326
|
{ header: 'Name', value: r => r.engineName },
|
|
298
|
-
{ header: '
|
|
299
|
-
{ header: '
|
|
327
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.totalCost) },
|
|
328
|
+
{ header: 'Estimated', value: r => r.anyEstimated ? (r.fullyEstimated ? 'yes' : 'partial') : 'no' },
|
|
300
329
|
{ header: 'Instances', value: r => r.instanceCount },
|
|
301
330
|
];
|
|
302
331
|
exports.costsByExecutionModeColumns = [
|
|
303
332
|
{ header: 'Execution Mode', value: r => r.executionMode },
|
|
304
|
-
{ header: '
|
|
305
|
-
{ header: '
|
|
333
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.totalCost) },
|
|
334
|
+
{ header: 'Estimated', value: r => r.anyEstimated ? (r.fullyEstimated ? 'yes' : 'partial') : 'no' },
|
|
306
335
|
{ header: 'Instances', value: r => r.instanceCount },
|
|
307
336
|
];
|
|
308
337
|
exports.costsByTaskColumns = [
|
|
309
338
|
{ header: 'Task ID', value: r => r.taskId },
|
|
310
|
-
{ header: 'Job Name', value: r => r.jobName, tableValue: r =>
|
|
339
|
+
{ header: 'Job Name', value: r => r.jobName, tableValue: r => wordWrap(r.jobName) },
|
|
311
340
|
{ header: 'Submission ID', value: r => r.submissionId },
|
|
312
341
|
{ header: 'Status', value: r => r.status },
|
|
313
342
|
{ header: 'vCPUs', value: r => r.vcpus },
|
|
314
343
|
{ header: 'Duration', value: r => formatDuration(r.durationMs) },
|
|
315
|
-
{ header: '
|
|
316
|
-
{ header: 'Actual Cost ($)', value: r => formatCurrency(r.actualCost) },
|
|
344
|
+
{ header: 'Cost ($)', value: r => formatCurrency(r.cost) },
|
|
317
345
|
];
|
|
318
346
|
exports.costsByInstanceColumns = [
|
|
319
347
|
{ header: 'Instance ID', value: r => r.instanceId },
|
|
@@ -321,8 +349,8 @@ exports.costsByInstanceColumns = [
|
|
|
321
349
|
{ header: 'Market', value: r => r.marketType },
|
|
322
350
|
{ header: 'Environment', value: r => r.environmentName },
|
|
323
351
|
{ header: 'Queue', value: r => r.queueName },
|
|
324
|
-
{ header: '
|
|
325
|
-
{ header: '
|
|
352
|
+
{ header: 'Total ($)', value: r => formatCurrency(r.totalCost) },
|
|
353
|
+
{ header: 'Estimated', value: r => r.estimated != null ? String(r.estimated) : '' },
|
|
326
354
|
{ header: 'Terminated At', value: r => formatDateTime(r.terminationTime) },
|
|
327
355
|
];
|
|
328
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSx3Q0FNQztBQStCRCxvQ0FZQztBQUVELG9DQTBCQztBQXlDRCw4REFZQztBQXBJRCw0REFBOEI7QUFFOUIsU0FBZ0IsY0FBYyxDQUFDLEtBQWM7SUFDM0MsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNyRSxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsT0FBTyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzlJLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxLQUFjO0lBQ3BDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFO1FBQUUsT0FB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QyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsWUFBWSxHQUFnQjtJQUN2QyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNsQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtJQUN0QyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBQyxDQUFDLFdBQThDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDakgsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDckQsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsYUFBYSxHQUFnQjtJQUN4QyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNsQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FB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SUFDbEMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFHLENBQUMsQ0FBQyxTQUFxQyxFQUFFLElBQWdDLEVBQUUsS0FBSyxJQUFLLENBQUMsQ0FBQyxTQUFxQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFO0lBQ25MLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ25ELEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQy9DLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0NBQ2xFLENBQUE7QUFFWSxRQUFBLFlBQVksR0FBZ0I7SUFDdkMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUU7SUFDcEMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7SUFDbkQsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUU7Q0FDaEUsQ0FBQTtBQUVZLFFBQUEsYUFBYSxHQUFnQjtJQUN4QyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNsQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtJQUN0QyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtJQUN0QyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBQyxDQUFDLFdBQThDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDakgsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUU7SUFDbkQsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsYUFBYSxHQUFnQjtJQUN4QyxFQUFFLE1BQU0s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QUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ3hELEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFO0lBQzdELEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBYSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQ3ZELEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRTtJQUNoRixFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFO0lBQzdFLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFO0NBQzdFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVGFibGUgZnJvbSAnY2xpLXRhYmxlMydcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdERhdGVUaW1lKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnKSByZXR1cm4gJyc7XG4gIGNvbnN0IGQgPSBuZXcgRGF0ZShTdHJpbmcodmFsdWUpKTtcbiAgaWYgKGlzTmFOKGQuZ2V0VGltZSgpKSkgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIGNvbnN0IHBhZCA9IChuOiBudW1iZXIpID0+IFN0cmluZyhuKS5wYWRTdGFydCgyLCAnMCcpO1xuICByZXR1cm4gYCR7ZC5nZXRGdWxsWWVhcigpfS0ke3BhZChkLmdldE1vbnRoKCkgKyAxKX0tJHtwYWQoZC5nZXREYXRlKCkpfSAke3BhZChkLmdldEhvdXJzKCkpfToke3BhZChkLmdldE1pbnV0ZXMoKSl9OiR7cGFkKGQuZ2V0U2Vjb25kcygpKX1gO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRDdXJyZW5jeSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykgcmV0dXJuICcnO1xuICBjb25zdCBuID0gTnVtYmVyKHZhbHVlKTtcbiAgaWYgKGlzTmFOKG4pKSByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgcmV0dXJuIG4udG9GaXhlZCgyKTtcbn1cblxuZnVuY3Rpb24gdHJ1bmNhdGUodmFsdWU6IHVua25vd24sIG1heCA9IDMwKTogc3RyaW5nIHtcbiAgY29uc3QgcyA9IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgPyAnJyA6IFN0cmluZyh2YWx1ZSlcbiAgcmV0dXJuIHMubGVuZ3RoIDw9IG1heCA/IHMgOiBgJHtzLnNsaWNlKDAsIG1heCAtIDMpfS4uLmBcbn1cblxuZnVuY3Rpb24gZm9ybWF0RHVyYXRpb24obXM6IHVua25vd24pOiBzdHJpbmcge1xuICBpZiAobXMgPT09IG51bGwgfHwgbXMgPT09IHVuZGVmaW5lZCB8fCBtcyA9PT0gJycpIHJldHVybiAnJztcbiAgY29uc3QgdG90YWxTZWMgPSBNYXRoLmZsb29yKE51bWJlcihtcykgLyAxMDAwKTtcbiAgY29uc3QgaCA9IE1hdGguZmxvb3IodG90YWxTZWMgLyAzNjAwKTtcbiAgY29uc3QgbSA9IE1hdGguZmxvb3IoKHRvdGFsU2VjICUgMzYwMCkgLyA2MCk7XG4gIGNvbnN0IHMgPSB0b3RhbFNlYyAlIDYwO1xuICByZXR1cm4gYCR7U3RyaW5nKGgpLnBhZFN0YXJ0KDIsICcwJyl9OiR7U3RyaW5nKG0pLnBhZFN0YXJ0KDIsICcwJyl9OiR7U3RyaW5nKHMpLnBhZFN0YXJ0KDIsICcwJyl9YDtcbn1cblxuZXhwb3J0IHR5cGUgT3V0cHV0Rm9ybWF0ID0gJ3RhYmxlJyB8ICdqc29uJyB8ICdjc3YnXG5cbmludGVyZmFjZSBDb2x1bW5EZWYge1xuICBoZWFkZXI6IHN0cmluZ1xuICB2YWx1ZTogKGl0ZW06IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB1bmtub3duXG4gIHRhYmxlVmFsdWU/OiAoaXRlbTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHVua25vd25cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdERldGFpbChkYXRhOiB1bmtub3duLCBmb3JtYXQ6IE91dHB1dEZvcm1hdCwgY29sdW1uczogQ29sdW1uRGVmW10pOiB2b2lkIHtcbiAgaWYgKGZvcm1hdCAhPT0gJ3RhYmxlJykge1xuICAgIGZvcm1hdE91dHB1dChkYXRhLCBmb3JtYXQsIGNvbHVtbnMpXG4gICAgcmV0dXJuXG4gIH1cbiAgY29uc3QgaXRlbSA9IChBcnJheS5pc0FycmF5KGRhdGEpID8gZGF0YVswXSA6IGRhdGEpIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGNvbnN0IHRhYmxlID0gbmV3IFRhYmxlKClcbiAgY29sdW1ucy5mb3JFYWNoKGMgPT4ge1xuICAgIGNvbnN0IHZhbCA9IChjLnRhYmxlVmFsdWUgPz8gYy52YWx1ZSkoaXRlbSlcbiAgICB0YWJsZS5wdXNoKHsgW2MuaGVhZGVyXTogdmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkID8gJycgOiBTdHJpbmcodmFsKSB9KVxuICB9KVxuICBjb25zb2xlLmxvZyh0YWJsZS50b1N0cmluZygpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0T3V0cHV0KGRhdGE6IHVua25vd24sIGZvcm1hdDogT3V0cHV0Rm9ybWF0LCBjb2x1bW5zOiBDb2x1bW5EZWZbXSk6IHZvaWQge1xuICBjb25zdCBpdGVtcyA9IEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW2RhdGFdXG4gIGNvbnN0IGhlYWRlcnMgPSBjb2x1bW5zLm1hcChjID0+IGMuaGVhZGVyKVxuICBjb25zdCByb3dzID0gaXRlbXMubWFwKGl0ZW0gPT5cbiAgICBjb2x1bW5zLm1hcChjID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IGMudmFsdWUoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICAgIHJldHVybiB2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQgPyAnJyA6IFN0cmluZyh2YWwpXG4gICAgfSlcbiAgKVxuXG4gIGlmIChmb3JtYXQgPT09ICdqc29uJykge1xuICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpKVxuICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gJ2NzdicpIHtcbiAgICBjb25zb2xlLmxvZyhoZWFkZXJzLmpvaW4oJywnKSlcbiAgICByb3dzLmZvckVhY2gocm93ID0+IGNvbnNvbGUubG9nKHJvdy5tYXAodiA9PiBgXCIke3YucmVwbGFjZSgvXCIvZywgJ1wiXCInKX1cImApLmpvaW4oJywnKSkpXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdGFibGVSb3dzID0gaXRlbXMubWFwKGl0ZW0gPT5cbiAgICAgIGNvbHVtbnMubWFwKGMgPT4ge1xuICAgICAgICBjb25zdCB2YWwgPSAoYy50YWJsZVZhbHVlID8/IGMudmFsdWUpKGl0ZW0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pXG4gICAgICAgIHJldHVybiB2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQgPyAnJyA6IFN0cmluZyh2YWwpXG4gICAgICB9KVxuICAgIClcbiAgICBjb25zdCB0YWJsZSA9IG5ldyBUYWJsZSh7IGhlYWQ6IGhlYWRlcnMgfSlcbiAgICB0YWJsZVJvd3MuZm9yRWFjaChyb3cgPT4gdGFibGUucHVzaChyb3cpKVxuICAgIGNvbnNvbGUubG9nKHRhYmxlLnRvU3RyaW5nKCkpXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHdvcmtmbG93Q29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIubmFtZSB9LFxuICB7IGhlYWRlcjogJ1ZlcnNpb24nLCB2YWx1ZTogciA9PiByLnZlcnNpb24gfSxcbiAgeyBoZWFkZXI6ICdFbmdpbmUnLCB2YWx1ZTogciA9PiByLmVuZ2luZSB9LFxuICB7IGhlYWRlcjogJ0ZpbGUgVHlwZScsIHZhbHVlOiByID0+IHIuZmlsZVR5cGUgfSxcbiAgeyBoZWFkZXI6ICdMYXRlc3QnLCB2YWx1ZTogciA9PiByLmxhdGVzdCB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHdvcmtmbG93VmVyc2lvbkNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ1ZlcnNpb24nLCB2YWx1ZTogciA9PiByLnZlcnNpb24gfSxcbiAgeyBoZWFkZXI6ICdGaWxlIFR5cGUnLCB2YWx1ZTogciA9PiByLmZpbGVUeXBlIH0sXG4gIHsgaGVhZGVyOiAnTGF0ZXN0JywgdmFsdWU6IHIgPT4gci5sYXRlc3QgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBzdWJtaXNzaW9uQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLnN1Ym1pc3Npb25JZCB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnV29ya2Zsb3cnLCB2YWx1ZTogciA9PiByLndvcmtmbG93TmFtZSB9LFxuICB7IGhlYWRlcjogJ1ZlcnNpb24nLCB2YWx1ZTogciA9PiByLndvcmtmbG93VmVyc2lvbiB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50JywgdmFsdWU6IHIgPT4gKHIuZW52aXJvbm1lbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdFbmdpbmUnLCB2YWx1ZTogciA9PiAoci5lbmdpbmUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLmVuZ2luZUlkIH0sXG4gIHsgaGVhZGVyOiAnUXVldWUnLCB2YWx1ZTogciA9PiAoci5xdWV1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIucXVldWVJZCB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbiAgeyBoZWFkZXI6ICdEdXJhdGlvbicsIHZhbHVlOiByID0+IGZvcm1hdER1cmF0aW9uKHIuZHVyYXRpb25NcykgfSxcbiAge1xuICAgIGhlYWRlcjogJ1RhZ3MnLFxuICAgIHZhbHVlOiByID0+IHtcbiAgICAgIGNvbnN0IHRhZ3MgPSByLnRhZ3MgYXMgQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PiB8IHVuZGVmaW5lZFxuICAgICAgcmV0dXJuIHRhZ3M/Lmxlbmd0aCA/IHRhZ3MubWFwKHQgPT4gYCR7dC5rZXl9PSR7dC52YWx1ZX1gKS5qb2luKCcsICcpIDogJydcbiAgICB9LFxuICAgIHRhYmxlVmFsdWU6IHIgPT4ge1xuICAgICAgY29uc3QgdGFncyA9IHIudGFncyBhcyBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+IHwgdW5kZWZpbmVkXG4gICAgICByZXR1cm4gdGFncz8ubGVuZ3RoID8gdGFncy5tYXAodCA9PiBgJHt0LmtleX09JHt0LnZhbHVlfWApLmpvaW4oJ1xcbicpIDogJydcbiAgICB9LFxuICB9LFxuXVxuXG5leHBvcnQgZnVuY3Rpb24gc3VibWlzc2lvbkNvbHVtbnNXaXRoVGFncyhzaG93VGFnczogc3RyaW5nW10pOiBDb2x1bW5EZWZbXSB7XG4gIGlmIChzaG93VGFncy5sZW5ndGggPT09IDApIHJldHVybiBzdWJtaXNzaW9uQ29sdW1uc1xuICByZXR1cm4gW1xuICAgIC4uLnN1Ym1pc3Npb25Db2x1bW5zLFxuICAgIC4uLnNob3dUYWdzLm1hcChrZXkgPT4gKHtcbiAgICAgIGhlYWRlcjoga2V5LFxuICAgICAgdmFsdWU6IChyOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4ge1xuICAgICAgICBjb25zdCB0YWdzID0gci50YWdzIGFzIEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4gfCB1bmRlZmluZWRcbiAgICAgICAgcmV0dXJuIHRhZ3M/LmZpbmQodCA9PiB0LmtleSA9PT0ga2V5LnRvTG93ZXJDYXNlKCkpPy52YWx1ZSA/PyAnJ1xuICAgICAgfSxcbiAgICB9KSksXG4gIF1cbn1cblxuZXhwb3J0IGNvbnN0IHRhZ0NvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBjb3N0c0J5VGFnQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnVmFsdWUnLCB2YWx1ZTogciA9PiByLnRhZ1ZhbHVlIH0sXG4gIHsgaGVhZGVyOiAnU3VibWlzc2lvbnMnLCB2YWx1ZTogciA9PiByLnN1Ym1pc3Npb25Db3VudCB9LFxuICB7IGhlYWRlcjogJ0VzdC4gVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbEVzdGltYXRlZENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxBY3R1YWxDb3N0KSB9LFxuXVxuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnQ2xvdWQgSUQnLCB2YWx1ZTogciA9PiByLmNsb3VkSWQgfSxcbiAgeyBoZWFkZXI6ICdSZWdpb24nLCB2YWx1ZTogciA9PiByLmNsb3VkUmVnaW9uIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBxdWV1ZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdFbnZpcm9ubWVudCcsIHZhbHVlOiByID0+IChyLmVudmlyb25tZW50IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5lbnZpcm9ubWVudElkIH0sXG4gIHsgaGVhZGVyOiAnTW9kZScsIHZhbHVlOiByID0+IHIuZXhlY3V0aW9uTW9kZSB9LFxuICB7IGhlYWRlcjogJ01heCB2Q1BVcycsIHZhbHVlOiByID0+IHIubWF4dkNwdXMgfSxcbiAgeyBoZWFkZXI6ICdTdG9yYWdlIEdCJywgdmFsdWU6IHIgPT4gci5zdG9yYWdlU2l6ZUdiIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBlbmdpbmVDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQnLCB2YWx1ZTogciA9PiAoci5lbnZpcm9ubWVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW52aXJvbm1lbnRJZCB9LFxuICB7IGhlYWRlcjogJ0VuZ2luZScsIHZhbHVlOiByID0+IHIuZW5naW5lIH0sXG4gIHsgaGVhZGVyOiAnRW5naW5lIFZlcnNpb24nLCB2YWx1ZTogciA9PiByLmVuZ2luZVZlcnNpb24gfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHN0b3JhZ2VDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQnLCB2YWx1ZTogciA9PiAoci5lbnZpcm9ubWVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW52aXJvbm1lbnRJZCB9LFxuICB7IGhlYWRlcjogJ1Blcm1pc3Npb24gTW9kZScsIHZhbHVlOiByID0+IHIucGVybWlzc2lvbk1vZGUgfSxcbiAgeyBoZWFkZXI6ICdCdWNrZXQgTmFtZScsIHZhbHVlOiByID0+IHIuYnVja2V0TmFtZSB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3QgdGFza0NvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ1Rhc2sgTmFtZScsIHZhbHVlOiByID0+IHIuam9iTmFtZSwgdGFibGVWYWx1ZTogciA9PiB0cnVuY2F0ZShyLmpvYk5hbWUpIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdFbnZpcm9ubWVudCcsIHZhbHVlOiByID0+IChyLmVudmlyb25tZW50IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5lbnZpcm9ubWVudElkIH0sXG4gIHsgaGVhZGVyOiAnRW5naW5lJywgdmFsdWU6IHIgPT4gKHIuZW5naW5lIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdRdWV1ZScsIHZhbHVlOiByID0+IChyLnF1ZXVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdTdGFydGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5zdGFydGVkQXQpIH0sXG4gIHsgaGVhZGVyOiAnRHVyYXRpb24nLCB2YWx1ZTogciA9PiBmb3JtYXREdXJhdGlvbihyLmR1cmF0aW9uTXMpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBzdWJtaXNzaW9uTG9nQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnVGltZXN0YW1wJywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci50aW1lc3RhbXApIH0sXG4gIHsgaGVhZGVyOiAnTWVzc2FnZScsIHZhbHVlOiByID0+IHIubWVzc2FnZSB9LFxuXVxuXG5leHBvcnQgY29uc3QgdGFza0xvZ0NvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0pvYiBOYW1lJywgdmFsdWU6IHIgPT4gci5qb2JOYW1lIH0sXG4gIHsgaGVhZGVyOiAnVGltZXN0YW1wJywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci50aW1lc3RhbXApIH0sXG4gIHsgaGVhZGVyOiAnTWVzc2FnZScsIHZhbHVlOiByID0+IHIubWVzc2FnZSB9LFxuXVxuXG5leHBvcnQgY29uc3QgcmVnaXN0cnlDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnTXV0YWJpbGl0eScsIHZhbHVlOiByID0+IHIuaW1hZ2VUYWdNdXRhYmlsaXR5IH0sXG4gIHsgaGVhZGVyOiAnUmVwb3NpdG9yeSBVUkknLCB2YWx1ZTogciA9PiByLnJlcG9zaXRvcnlVcmkgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGluc3RhbmNlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnRUMyIEluc3RhbmNlJywgdmFsdWU6IHIgPT4gci5lYzJJbnN0YW5jZUlkIH0sXG4gIHsgaGVhZGVyOiAnVHlwZScsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VUeXBlIH0sXG4gIHsgaGVhZGVyOiAnTWFya2V0JywgdmFsdWU6IHIgPT4gci5tYXJrZXRUeXBlIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdEdXJhdGlvbicsIHZhbHVlOiByID0+IGZvcm1hdER1cmF0aW9uKHIuZHVyYXRpb25NcykgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIEVDMiAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeSgoci5jb3N0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/LmVzdGltYXRlZEVjMkNvc3QpIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBWb2x1bWUgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koKHIuY29zdCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5lc3RpbWF0ZWRWb2x1bWVDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koKHIuY29zdCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5lc3RpbWF0ZWRUb3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIEVDMiAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeSgoci5jb3N0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/LmFjdHVhbEVjMkNvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFZvbHVtZSAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeSgoci5jb3N0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/LmFjdHVhbFZvbHVtZUNvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KChyLmNvc3QgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8uYWN0dWFsVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0xhdW5jaCBUaW1lJywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5sYXVuY2hUaW1lKSB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50IElEJywgdmFsdWU6IHIgPT4gci5lbnZpcm9ubWVudElkIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhY3Rpdml0eUxvZ0NvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ1VzZXInLCB2YWx1ZTogciA9PiAoKHIucHJpbmNpcGFsIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8udXNlciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmVtYWlsID8/IChyLnByaW5jaXBhbCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmlkID8/IHIucHJpbmNpcGFsSWQgfSxcbiAgeyBoZWFkZXI6ICdBY3Rpb24nLCB2YWx1ZTogciA9PiByLmFjdGlvbiB9LFxuICB7IGhlYWRlcjogJ0VudGl0eSBUeXBlJywgdmFsdWU6IHIgPT4gci5lbnRpdHlUeXBlIH0sXG4gIHsgaGVhZGVyOiAnRW50aXR5IElEJywgdmFsdWU6IHIgPT4gci5lbnRpdHlJZCB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGltYWdlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnVGFnJywgdmFsdWU6IHIgPT4gci50YWcgfSxcbiAgeyBoZWFkZXI6ICdEaWdlc3QnLCB2YWx1ZTogciA9PiByLmRpZ2VzdCB9LFxuICB7IGhlYWRlcjogJ1NpemUgKGJ5dGVzKScsIHZhbHVlOiByID0+IHIuc2l6ZUJ5dGVzIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdJbWFnZSBVUkknLCB2YWx1ZTogciA9PiByLmltYWdlVXJpIH0sXG4gIHsgaGVhZGVyOiAnUHVzaGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5wdXNoZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHBsdWdpbkNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdUeXBlJywgdmFsdWU6IHIgPT4gci50eXBlIH0sXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQnLCB2YWx1ZTogciA9PiAoci5lbnZpcm9ubWVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW52aXJvbm1lbnRJZCB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnTEIgRE5TJywgdmFsdWU6IHIgPT4gci5sb2FkQmFsYW5jZXJEbnMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCB0ZW5hbnRDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnQ29udGFjdCBFbWFpbCcsIHZhbHVlOiByID0+IHIuY29udGFjdEVtYWlsIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhbmFseXRpY3NTdW1tYXJ5Q29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnRXN0LiBJbnN0YW5jZSAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLnRvdGFsRXN0aW1hdGVkSW5zdGFuY2VDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gRUJTICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxFc3RpbWF0ZWRFYnNDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gRUNTICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxFc3RpbWF0ZWRFY3NDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbEVzdGltYXRlZENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxBY3R1YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuICB7IGhlYWRlcjogJ1N1Ym1pc3Npb25zJywgdmFsdWU6IHIgPT4gci5zdWJtaXNzaW9uQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGFuYWx5dGljc0J5U3VibWlzc2lvbkNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ1N1Ym1pc3Npb24gSUQnLCB2YWx1ZTogciA9PiByLnN1Ym1pc3Npb25JZCB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3VibWlzc2lvblN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0VzdC4gVGFzayAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmVzdGltYXRlZFRhc2tDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gRUNTICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuZXN0aW1hdGVkRWNzQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuZXN0aW1hdGVkVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0FjdC4gVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5hY3R1YWxUb3RhbENvc3QpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhbmFseXRpY3NCeUVudmlyb25tZW50Q29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQgSUQnLCB2YWx1ZTogciA9PiByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5lbnZpcm9ubWVudE5hbWUgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuZXN0aW1hdGVkVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmFjdHVhbFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZXMnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGFuYWx5dGljc0J5UXVldWVDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdRdWV1ZSBJRCcsIHZhbHVlOiByID0+IHIucXVldWVJZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLnF1ZXVlTmFtZSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5lc3RpbWF0ZWRUb3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuYWN0dWFsVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzQnlJbnN0YW5jZVR5cGVDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZSBUeXBlJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZVR5cGUgfSxcbiAgeyBoZWFkZXI6ICdNYXJrZXQnLCB2YWx1ZTogciA9PiByLm1hcmtldFR5cGUgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuZXN0aW1hdGVkVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmFjdHVhbFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZXMnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGFuYWx5dGljc092ZXJUaW1lQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnUGVyaW9kJywgdmFsdWU6IHIgPT4gci5wZXJpb2QgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuZXN0aW1hdGVkVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0FjdHVhbCBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmFjdHVhbFRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZXMnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGNvc3RzQnlFbmdpbmVDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdFbmdpbmUgSUQnLCB2YWx1ZTogciA9PiByLmVuZ2luZUlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIuZW5naW5lTmFtZSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5lc3RpbWF0ZWRUb3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuYWN0dWFsVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgY29zdHNCeUV4ZWN1dGlvbk1vZGVDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdFeGVjdXRpb24gTW9kZScsIHZhbHVlOiByID0+IHIuZXhlY3V0aW9uTW9kZSB9LFxuICB7IGhlYWRlcjogJ0VzdC4gVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5lc3RpbWF0ZWRUb3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuYWN0dWFsVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgY29zdHNCeVRhc2tDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdUYXNrIElEJywgICAgICAgIHZhbHVlOiByID0+IHIudGFza0lkIH0sXG4gIHsgaGVhZGVyOiAnSm9iIE5hbWUnLCAgICAgICB2YWx1ZTogciA9PiByLmpvYk5hbWUsIHRhYmxlVmFsdWU6IHIgPT4gdHJ1bmNhdGUoci5qb2JOYW1lKSB9LFxuICB7IGhlYWRlcjogJ1N1Ym1pc3Npb24gSUQnLCAgdmFsdWU6IHIgPT4gci5zdWJtaXNzaW9uSWQgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCAgICAgICAgIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAndkNQVXMnLCAgICAgICAgICB2YWx1ZTogciA9PiByLnZjcHVzIH0sXG4gIHsgaGVhZGVyOiAnRHVyYXRpb24nLCAgICAgICB2YWx1ZTogciA9PiBmb3JtYXREdXJhdGlvbihyLmR1cmF0aW9uTXMpIH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBDb3N0ICgkKScsICB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmVzdGltYXRlZENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIENvc3QgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5hY3R1YWxDb3N0KSB9LFxuXVxuXG5leHBvcnQgY29uc3QgY29zdHNCeUluc3RhbmNlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2UgSUQnLCAgICAgIHZhbHVlOiByID0+IHIuaW5zdGFuY2VJZCB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlIFR5cGUnLCAgICB2YWx1ZTogciA9PiByLmluc3RhbmNlVHlwZSB9LFxuICB7IGhlYWRlcjogJ01hcmtldCcsICAgICAgICAgICB2YWx1ZTogciA9PiByLm1hcmtldFR5cGUgfSxcbiAgeyBoZWFkZXI6ICdFbnZpcm9ubWVudCcsICAgICAgdmFsdWU6IHIgPT4gci5lbnZpcm9ubWVudE5hbWUgfSxcbiAgeyBoZWFkZXI6ICdRdWV1ZScsICAgICAgICAgICAgdmFsdWU6IHIgPT4gci5xdWV1ZU5hbWUgfSxcbiAgeyBoZWFkZXI6ICdFc3QuIFRvdGFsICgkKScsICAgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci5lc3RpbWF0ZWRUb3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnQWN0dWFsIFRvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuYWN0dWFsVG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ1Rlcm1pbmF0ZWQgQXQnLCAgIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIudGVybWluYXRpb25UaW1lKSB9LFxuXVxuIl19
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSx3Q0FNQztBQWtDRCxvQ0FZQztBQUVELG9DQTBCQztBQTZDRCw4REFZQztBQTNJRCw0REFBOEI7QUFFOUIsU0FBZ0IsY0FBYyxDQUFDLEtBQWM7SUFDM0MsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNyRSxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsT0FBTyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzlJLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxLQUFjO0lBQ3BDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFO1FBQUUsT0FB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QyxDQUFDLE1BQU0sRUFBRTtJQUMxQyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtDQUNsRSxDQUFBO0FBRVksUUFBQSxXQUFXLEdBQWdCO0lBQ3RDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUU7SUFDcEYsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxXQUE4QyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFO0lBQ2pILEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsTUFBeUMsRUFBRSxJQUFJLEVBQUU7SUFDcEYsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxLQUF3QyxFQUFFLElBQUksRUFBRTtJQUNsRixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtJQUNqRSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRTtDQUNqRSxDQUFBO0FBRVksUUFBQSxpQkFBaUIsR0FBZ0I7SUFDNUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUU7SUFDdkQsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7SUFDekMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDOUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUU7SUFDdkQsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDOUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7SUFDeEMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDL0MsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxXQUE4QyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFO0lBQ2pILEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsTUFBeUMsRUFBRSxJQUFJLEVBQUU7SUFDcEYsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxLQUF3QyxFQUFFLElBQUksRUFBRTtJQUNsRixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBQyxDQUFDLFFBQTJDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDekcsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxRQUEyQyxFQUFFLFlBQVksRUFBRTtJQUNyRyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtJQUNqRSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtJQUNqRSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtJQUNqRSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtJQUNqRSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7SUFDakYsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO0lBQ25GLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0NBQ2pFLENBQUE7QUFFWSxRQUFBLG9CQUFvQixHQUFnQjtJQUMvQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtJQUNoRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtDQUM3QyxDQUFBO0FBRVksUUFBQSxjQUFjLEdBQWdCO0lBQ3pDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQzdDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0lBQ2hFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO0NBQzdDLENBQUE7QUFFWSxRQUFBLGVBQWUsR0FBZ0I7SUFDMUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7SUFDdEMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRTtJQUMxRCxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFO0lBQ3pELEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0NBQ2xFLENBQUE7QUFFWSxRQUFBLGVBQWUsR0FBZ0I7SUFDMUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUU7SUFDdkQsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUU7SUFDOUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDOUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDaEUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQUMsSUFBdUMsRUFBRSxPQUFPLENBQUMsRUFBRTtJQUN0RyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFFLENBQUMsQ0FBQyxJQUF1QyxFQUFFLFVBQVUsQ0FBQyxFQUFFO0lBQzVHLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFDLElBQXVDLEVBQUUsU0FBUyxDQUFDLEVBQUU7SUFDMUcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxJQUF1QyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUMsSUFBZ0MsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQy9KLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0lBQ25FLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUU7Q0FDMUQsQ0FBQTtBQUVZLFFBQUEsa0JBQWtCLEdBQWdCO0lBQzdDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBRyxDQUFDLENBQUMsU0FBcUMsRUFBRSxJQUFnQyxFQUFFLEtBQUssSUFBSyxDQUFDLENBQUMsU0FBcUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUNuTCxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtJQUNuRCxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMvQyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtDQUNsRSxDQUFBO0FBRVksUUFBQSxZQUFZLEdBQWdCO0lBQ3ZDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2xDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFO0lBQ3BDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQ25ELEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQy9DLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO0NBQ2hFLENBQUE7QUFFWSxRQUFBLGFBQWEsR0FBZ0I7SUFDeEMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7SUFDdEMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7SUFDdEMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxXQUE4QyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFO0lBQ2pILEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFO0lBQ25ELEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0NBQ2xFLENBQUE7QUFFWSxRQUFBLGFBQWEsR0FBZ0I7SUFDeEMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7SUFDdEMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUU7SUFDdkQsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7Q0FDbEUsQ0FBQTtBQUVZLFFBQUEsdUJBQXVCLEdBQWdCO0lBQ2xELEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7SUFDM0UsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUU7SUFDakUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUU7SUFDakUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7SUFDaEUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxT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cnQgZnVuY3Rpb24gZm9ybWF0RGF0ZVRpbWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiAnJztcbiAgY29uc3QgZCA9IG5ldyBEYXRlKFN0cmluZyh2YWx1ZSkpO1xuICBpZiAoaXNOYU4oZC5nZXRUaW1lKCkpKSByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgY29uc3QgcGFkID0gKG46IG51bWJlcikgPT4gU3RyaW5nKG4pLnBhZFN0YXJ0KDIsICcwJyk7XG4gIHJldHVybiBgJHtkLmdldEZ1bGxZZWFyKCl9LSR7cGFkKGQuZ2V0TW9udGgoKSArIDEpfS0ke3BhZChkLmdldERhdGUoKSl9ICR7cGFkKGQuZ2V0SG91cnMoKSl9OiR7cGFkKGQuZ2V0TWludXRlcygpKX06JHtwYWQoZC5nZXRTZWNvbmRzKCkpfWA7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEN1cnJlbmN5KHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnKSByZXR1cm4gJyc7XG4gIGNvbnN0IG4gPSBOdW1iZXIodmFsdWUpO1xuICBpZiAoaXNOYU4obikpIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICByZXR1cm4gbi50b0ZpeGVkKDIpO1xufVxuXG5mdW5jdGlvbiB3b3JkV3JhcCh2YWx1ZTogdW5rbm93biwgd2lkdGggPSAzMCk6IHN0cmluZyB7XG4gIGNvbnN0IHMgPSB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gJycgOiBTdHJpbmcodmFsdWUpXG4gIGlmIChzLmxlbmd0aCA8PSB3aWR0aCkgcmV0dXJuIHNcbiAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW11cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzLmxlbmd0aDsgaSArPSB3aWR0aCkgbGluZXMucHVzaChzLnNsaWNlKGksIGkgKyB3aWR0aCkpXG4gIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKVxufVxuXG5mdW5jdGlvbiBmb3JtYXREdXJhdGlvbihtczogdW5rbm93bik6IHN0cmluZyB7XG4gIGlmIChtcyA9PT0gbnVsbCB8fCBtcyA9PT0gdW5kZWZpbmVkIHx8IG1zID09PSAnJykgcmV0dXJuICcnO1xuICBjb25zdCB0b3RhbFNlYyA9IE1hdGguZmxvb3IoTnVtYmVyKG1zKSAvIDEwMDApO1xuICBjb25zdCBoID0gTWF0aC5mbG9vcih0b3RhbFNlYyAvIDM2MDApO1xuICBjb25zdCBtID0gTWF0aC5mbG9vcigodG90YWxTZWMgJSAzNjAwKSAvIDYwKTtcbiAgY29uc3QgcyA9IHRvdGFsU2VjICUgNjA7XG4gIHJldHVybiBgJHtTdHJpbmcoaCkucGFkU3RhcnQoMiwgJzAnKX06JHtTdHJpbmcobSkucGFkU3RhcnQoMiwgJzAnKX06JHtTdHJpbmcocykucGFkU3RhcnQoMiwgJzAnKX1gO1xufVxuXG5leHBvcnQgdHlwZSBPdXRwdXRGb3JtYXQgPSAndGFibGUnIHwgJ2pzb24nIHwgJ2NzdidcblxuaW50ZXJmYWNlIENvbHVtbkRlZiB7XG4gIGhlYWRlcjogc3RyaW5nXG4gIHZhbHVlOiAoaXRlbTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHVua25vd25cbiAgdGFibGVWYWx1ZT86IChpdGVtOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gdW5rbm93blxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGV0YWlsKGRhdGE6IHVua25vd24sIGZvcm1hdDogT3V0cHV0Rm9ybWF0LCBjb2x1bW5zOiBDb2x1bW5EZWZbXSk6IHZvaWQge1xuICBpZiAoZm9ybWF0ICE9PSAndGFibGUnKSB7XG4gICAgZm9ybWF0T3V0cHV0KGRhdGEsIGZvcm1hdCwgY29sdW1ucylcbiAgICByZXR1cm5cbiAgfVxuICBjb25zdCBpdGVtID0gKEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhWzBdIDogZGF0YSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgY29uc3QgdGFibGUgPSBuZXcgVGFibGUoKVxuICBjb2x1bW5zLmZvckVhY2goYyA9PiB7XG4gICAgY29uc3QgdmFsID0gKGMudGFibGVWYWx1ZSA/PyBjLnZhbHVlKShpdGVtKVxuICAgIHRhYmxlLnB1c2goeyBbYy5oZWFkZXJdOiB2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQgPyAnJyA6IFN0cmluZyh2YWwpIH0pXG4gIH0pXG4gIGNvbnNvbGUubG9nKHRhYmxlLnRvU3RyaW5nKCkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRPdXRwdXQoZGF0YTogdW5rbm93biwgZm9ybWF0OiBPdXRwdXRGb3JtYXQsIGNvbHVtbnM6IENvbHVtbkRlZltdKTogdm9pZCB7XG4gIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEgOiBbZGF0YV1cbiAgY29uc3QgaGVhZGVycyA9IGNvbHVtbnMubWFwKGMgPT4gYy5oZWFkZXIpXG4gIGNvbnN0IHJvd3MgPSBpdGVtcy5tYXAoaXRlbSA9PlxuICAgIGNvbHVtbnMubWFwKGMgPT4ge1xuICAgICAgY29uc3QgdmFsID0gYy52YWx1ZShpdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVxuICAgICAgcmV0dXJuIHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCA/ICcnIDogU3RyaW5nKHZhbClcbiAgICB9KVxuICApXG5cbiAgaWYgKGZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMikpXG4gIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnY3N2Jykge1xuICAgIGNvbnNvbGUubG9nKGhlYWRlcnMuam9pbignLCcpKVxuICAgIHJvd3MuZm9yRWFjaChyb3cgPT4gY29uc29sZS5sb2cocm93Lm1hcCh2ID0+IGBcIiR7di5yZXBsYWNlKC9cIi9nLCAnXCJcIicpfVwiYCkuam9pbignLCcpKSlcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0YWJsZVJvd3MgPSBpdGVtcy5tYXAoaXRlbSA9PlxuICAgICAgY29sdW1ucy5tYXAoYyA9PiB7XG4gICAgICAgIGNvbnN0IHZhbCA9IChjLnRhYmxlVmFsdWUgPz8gYy52YWx1ZSkoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICAgICAgcmV0dXJuIHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCA/ICcnIDogU3RyaW5nKHZhbClcbiAgICAgIH0pXG4gICAgKVxuICAgIGNvbnN0IHRhYmxlID0gbmV3IFRhYmxlKHsgaGVhZDogaGVhZGVycyB9KVxuICAgIHRhYmxlUm93cy5mb3JFYWNoKHJvdyA9PiB0YWJsZS5wdXNoKHJvdykpXG4gICAgY29uc29sZS5sb2codGFibGUudG9TdHJpbmcoKSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3Qgd29ya2Zsb3dDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnVmVyc2lvbicsIHZhbHVlOiByID0+IHIudmVyc2lvbiB9LFxuICB7IGhlYWRlcjogJ0VuZ2luZScsIHZhbHVlOiByID0+IHIuZW5naW5lIH0sXG4gIHsgaGVhZGVyOiAnRmlsZSBUeXBlJywgdmFsdWU6IHIgPT4gci5maWxlVHlwZSB9LFxuICB7IGhlYWRlcjogJ0xhdGVzdCcsIHZhbHVlOiByID0+IHIubGF0ZXN0IH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3Qgd29ya2Zsb3dWZXJzaW9uQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnVmVyc2lvbicsIHZhbHVlOiByID0+IHIudmVyc2lvbiB9LFxuICB7IGhlYWRlcjogJ0ZpbGUgVHlwZScsIHZhbHVlOiByID0+IHIuZmlsZVR5cGUgfSxcbiAgeyBoZWFkZXI6ICdMYXRlc3QnLCB2YWx1ZTogciA9PiByLmxhdGVzdCB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHN1Ym1pc3Npb25Db2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuc3VibWlzc2lvbklkIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdXb3JrZmxvdycsIHZhbHVlOiByID0+IHIud29ya2Zsb3dOYW1lIH0sXG4gIHsgaGVhZGVyOiAnVmVyc2lvbicsIHZhbHVlOiByID0+IHIud29ya2Zsb3dWZXJzaW9uIH0sXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQnLCB2YWx1ZTogciA9PiAoci5lbnZpcm9ubWVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW52aXJvbm1lbnRJZCB9LFxuICB7IGhlYWRlcjogJ0VuZ2luZScsIHZhbHVlOiByID0+IChyLmVuZ2luZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW5naW5lSWQgfSxcbiAgeyBoZWFkZXI6ICdRdWV1ZScsIHZhbHVlOiByID0+IChyLnF1ZXVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5xdWV1ZUlkIH0sXG4gIHsgaGVhZGVyOiAnU3RhcnRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuc3RhcnRlZEF0KSB9LFxuICB7IGhlYWRlcjogJ0R1cmF0aW9uJywgdmFsdWU6IHIgPT4gZm9ybWF0RHVyYXRpb24oci5kdXJhdGlvbk1zKSB9LFxuXVxuXG5leHBvcnQgY29uc3Qgc3VibWlzc2lvbkRldGFpbENvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5zdWJtaXNzaW9uSWQgfSxcbiAgeyBoZWFkZXI6ICdKb2IgSUQnLCB2YWx1ZTogciA9PiByLmpvYklkIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdXb3JrZmxvdycsIHZhbHVlOiByID0+IHIud29ya2Zsb3dOYW1lIH0sXG4gIHsgaGVhZGVyOiAnVmVyc2lvbicsIHZhbHVlOiByID0+IHIud29ya2Zsb3dWZXJzaW9uIH0sXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQnLCB2YWx1ZTogciA9PiAoci5lbnZpcm9ubWVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW52aXJvbm1lbnRJZCB9LFxuICB7IGhlYWRlcjogJ0VuZ2luZScsIHZhbHVlOiByID0+IChyLmVuZ2luZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW5naW5lSWQgfSxcbiAgeyBoZWFkZXI6ICdRdWV1ZScsIHZhbHVlOiByID0+IChyLnF1ZXVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5xdWV1ZUlkIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuICB7IGhlYWRlcjogJ1N0YXJ0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLnN0YXJ0ZWRBdCkgfSxcbiAgeyBoZWFkZXI6ICdTdG9wcGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5zdG9wcGVkQXQpIH0sXG4gIHsgaGVhZGVyOiAnRHVyYXRpb24nLCB2YWx1ZTogciA9PiBmb3JtYXREdXJhdGlvbihyLmR1cmF0aW9uTXMpIH0sXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJtaXNzaW9uQ29sdW1uc1dpdGhUYWdzKHNob3dUYWdzOiBzdHJpbmdbXSk6IENvbHVtbkRlZltdIHtcbiAgaWYgKHNob3dUYWdzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHN1Ym1pc3Npb25Db2x1bW5zXG4gIHJldHVybiBbXG4gICAgLi4uc3VibWlzc2lvbkNvbHVtbnMsXG4gICAgLi4uc2hvd1RhZ3MubWFwKGtleSA9PiAoe1xuICAgICAgaGVhZGVyOiBrZXksXG4gICAgICB2YWx1ZTogKHI6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgICAgIGNvbnN0IHRhZ3MgPSByLnRhZ3MgYXMgQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PiB8IHVuZGVmaW5lZFxuICAgICAgICByZXR1cm4gdGFncz8uZmluZCh0ID0+IHQua2V5ID09PSBrZXkudG9Mb3dlckNhc2UoKSk/LnZhbHVlID8/ICcnXG4gICAgICB9LFxuICAgIH0pKSxcbiAgXVxufVxuXG5leHBvcnQgY29uc3QgdGFnQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIubmFtZSB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGNvc3RzQnlUYWdDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdWYWx1ZScsIHZhbHVlOiByID0+IHIudGFnVmFsdWUgfSxcbiAgeyBoZWFkZXI6ICdTdWJtaXNzaW9ucycsIHZhbHVlOiByID0+IHIuc3VibWlzc2lvbkNvdW50IH0sXG4gIHsgaGVhZGVyOiAnRXN0LiBUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLnRvdGFsRXN0aW1hdGVkQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdBY3R1YWwgVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbEFjdHVhbENvc3QpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudENvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdDbG91ZCBJRCcsIHZhbHVlOiByID0+IHIuY2xvdWRJZCB9LFxuICB7IGhlYWRlcjogJ1JlZ2lvbicsIHZhbHVlOiByID0+IHIuY2xvdWRSZWdpb24gfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHF1ZXVlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIubmFtZSB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50JywgdmFsdWU6IHIgPT4gKHIuZW52aXJvbm1lbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdNb2RlJywgdmFsdWU6IHIgPT4gci5leGVjdXRpb25Nb2RlIH0sXG4gIHsgaGVhZGVyOiAnTWF4IHZDUFVzJywgdmFsdWU6IHIgPT4gci5tYXh2Q3B1cyB9LFxuICB7IGhlYWRlcjogJ1N0b3JhZ2UgR0InLCB2YWx1ZTogciA9PiByLnN0b3JhZ2VTaXplR2IgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGVuZ2luZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdFbnZpcm9ubWVudCcsIHZhbHVlOiByID0+IChyLmVudmlyb25tZW50IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5lbnZpcm9ubWVudElkIH0sXG4gIHsgaGVhZGVyOiAnRW5naW5lJywgdmFsdWU6IHIgPT4gci5lbmdpbmUgfSxcbiAgeyBoZWFkZXI6ICdFbmdpbmUgVmVyc2lvbicsIHZhbHVlOiByID0+IHIuZW5naW5lVmVyc2lvbiB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3Qgc3RvcmFnZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdFbnZpcm9ubWVudCcsIHZhbHVlOiByID0+IChyLmVudmlyb25tZW50IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lm5hbWUgPz8gci5lbnZpcm9ubWVudElkIH0sXG4gIHsgaGVhZGVyOiAnUGVybWlzc2lvbiBNb2RlJywgdmFsdWU6IHIgPT4gci5wZXJtaXNzaW9uTW9kZSB9LFxuICB7IGhlYWRlcjogJ0J1Y2tldCBOYW1lJywgdmFsdWU6IHIgPT4gci5idWNrZXROYW1lIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCB0YXNrQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnVGFzayBOYW1lJywgdmFsdWU6IHIgPT4gci5qb2JOYW1lLCB0YWJsZVZhbHVlOiByID0+IHdvcmRXcmFwKHIuam9iTmFtZSkgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50JywgdmFsdWU6IHIgPT4gKHIuZW52aXJvbm1lbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdFbmdpbmUnLCB2YWx1ZTogciA9PiAoci5lbmdpbmUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSB9LFxuICB7IGhlYWRlcjogJ1F1ZXVlJywgdmFsdWU6IHIgPT4gKHIucXVldWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSB9LFxuICB7IGhlYWRlcjogJ1N0YXJ0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLnN0YXJ0ZWRBdCkgfSxcbiAgeyBoZWFkZXI6ICdEdXJhdGlvbicsIHZhbHVlOiByID0+IGZvcm1hdER1cmF0aW9uKHIuZHVyYXRpb25NcykgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHRhc2tEZXRhaWxDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdTdWJtaXNzaW9uIElEJywgdmFsdWU6IHIgPT4gci5zdWJtaXNzaW9uSWQgfSxcbiAgeyBoZWFkZXI6ICdKb2IgSUQnLCB2YWx1ZTogciA9PiByLmpvYklkIH0sXG4gIHsgaGVhZGVyOiAnVGFzayBOYW1lJywgdmFsdWU6IHIgPT4gci5qb2JOYW1lIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMgUmVhc29uJywgdmFsdWU6IHIgPT4gci5zdGF0dXNSZWFzb24gfSxcbiAgeyBoZWFkZXI6ICdFeGl0IENvZGUnLCB2YWx1ZTogciA9PiByLmV4aXRDb2RlIH0sXG4gIHsgaGVhZGVyOiAnUHJvdmlkZXInLCB2YWx1ZTogciA9PiByLnByb3ZpZGVyIH0sXG4gIHsgaGVhZGVyOiAndkNQVXMnLCB2YWx1ZTogciA9PiByLnZjcHVzIH0sXG4gIHsgaGVhZGVyOiAnTWVtb3J5IChNQiknLCB2YWx1ZTogciA9PiByLm1lbW9yeSB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50JywgdmFsdWU6IHIgPT4gKHIuZW52aXJvbm1lbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSA/PyByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdFbmdpbmUnLCB2YWx1ZTogciA9PiAoci5lbmdpbmUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSB9LFxuICB7IGhlYWRlcjogJ1F1ZXVlJywgdmFsdWU6IHIgPT4gKHIucXVldWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8ubmFtZSB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlIElEJywgdmFsdWU6IHIgPT4gKHIuaW5zdGFuY2UgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8uaWQgPz8gci5pbnN0YW5jZUlkIH0sXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2UgVHlwZScsIHZhbHVlOiByID0+IChyLmluc3RhbmNlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/Lmluc3RhbmNlVHlwZSB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbiAgeyBoZWFkZXI6ICdTdGFydGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5zdGFydGVkQXQpIH0sXG4gIHsgaGVhZGVyOiAnU3RvcHBlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuc3RvcHBlZEF0KSB9LFxuICB7IGhlYWRlcjogJ1VwZGF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLnVwZGF0ZWRBdCkgfSxcbiAgeyBoZWFkZXI6ICdSdW5uYWJsZSBEdXJhdGlvbicsIHZhbHVlOiByID0+IGZvcm1hdER1cmF0aW9uKHIucnVubmFibGVEdXJhdGlvbk1zKSB9LFxuICB7IGhlYWRlcjogJ0V4ZWN1dGlvbiBEdXJhdGlvbicsIHZhbHVlOiByID0+IGZvcm1hdER1cmF0aW9uKHIuZXhlY3V0aW9uRHVyYXRpb25NcykgfSxcbiAgeyBoZWFkZXI6ICdEdXJhdGlvbicsIHZhbHVlOiByID0+IGZvcm1hdER1cmF0aW9uKHIuZHVyYXRpb25NcykgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHN1Ym1pc3Npb25Mb2dDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdUaW1lc3RhbXAnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLnRpbWVzdGFtcCkgfSxcbiAgeyBoZWFkZXI6ICdNZXNzYWdlJywgdmFsdWU6IHIgPT4gci5tZXNzYWdlIH0sXG5dXG5cbmV4cG9ydCBjb25zdCB0YXNrTG9nQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSm9iIE5hbWUnLCB2YWx1ZTogciA9PiByLmpvYk5hbWUgfSxcbiAgeyBoZWFkZXI6ICdUaW1lc3RhbXAnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLnRpbWVzdGFtcCkgfSxcbiAgeyBoZWFkZXI6ICdNZXNzYWdlJywgdmFsdWU6IHIgPT4gci5tZXNzYWdlIH0sXG5dXG5cbmV4cG9ydCBjb25zdCByZWdpc3RyeUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdNdXRhYmlsaXR5JywgdmFsdWU6IHIgPT4gci5pbWFnZVRhZ011dGFiaWxpdHkgfSxcbiAgeyBoZWFkZXI6ICdSZXBvc2l0b3J5IFVSSScsIHZhbHVlOiByID0+IHIucmVwb3NpdG9yeVVyaSB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnQ3JlYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIuY3JlYXRlZEF0KSB9LFxuXVxuXG5leHBvcnQgY29uc3QgaW5zdGFuY2VDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdFQzIgSW5zdGFuY2UnLCB2YWx1ZTogciA9PiByLmVjMkluc3RhbmNlSWQgfSxcbiAgeyBoZWFkZXI6ICdUeXBlJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZVR5cGUgfSxcbiAgeyBoZWFkZXI6ICdNYXJrZXQnLCB2YWx1ZTogciA9PiByLm1hcmtldFR5cGUgfSxcbiAgeyBoZWFkZXI6ICdTdGF0dXMnLCB2YWx1ZTogciA9PiByLnN0YXR1cyB9LFxuICB7IGhlYWRlcjogJ0R1cmF0aW9uJywgdmFsdWU6IHIgPT4gZm9ybWF0RHVyYXRpb24oci5kdXJhdGlvbk1zKSB9LFxuICB7IGhlYWRlcjogJ0VDMiAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeSgoci5jb3N0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/LmVjMkNvc3QpIH0sXG4gIHsgaGVhZGVyOiAnVm9sdW1lICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KChyLmNvc3QgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsKT8udm9sdW1lQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeSgoci5jb3N0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/LnRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdFc3RpbWF0ZWQnLCB2YWx1ZTogciA9PiAoci5jb3N0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCk/LmVzdGltYXRlZCAhPSBudWxsID8gU3RyaW5nKChyLmNvc3QgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLmVzdGltYXRlZCkgOiAnJyB9LFxuICB7IGhlYWRlcjogJ0xhdW5jaCBUaW1lJywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5sYXVuY2hUaW1lKSB9LFxuICB7IGhlYWRlcjogJ0Vudmlyb25tZW50IElEJywgdmFsdWU6IHIgPT4gci5lbnZpcm9ubWVudElkIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhY3Rpdml0eUxvZ0NvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ1VzZXInLCB2YWx1ZTogciA9PiAoKHIucHJpbmNpcGFsIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8udXNlciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmVtYWlsID8/IChyLnByaW5jaXBhbCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmlkID8/IHIucHJpbmNpcGFsSWQgfSxcbiAgeyBoZWFkZXI6ICdBY3Rpb24nLCB2YWx1ZTogciA9PiByLmFjdGlvbiB9LFxuICB7IGhlYWRlcjogJ0VudGl0eSBUeXBlJywgdmFsdWU6IHIgPT4gci5lbnRpdHlUeXBlIH0sXG4gIHsgaGVhZGVyOiAnRW50aXR5IElEJywgdmFsdWU6IHIgPT4gci5lbnRpdHlJZCB9LFxuICB7IGhlYWRlcjogJ0NyZWF0ZWQgQXQnLCB2YWx1ZTogciA9PiBmb3JtYXREYXRlVGltZShyLmNyZWF0ZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGltYWdlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSUQnLCB2YWx1ZTogciA9PiByLmlkIH0sXG4gIHsgaGVhZGVyOiAnVGFnJywgdmFsdWU6IHIgPT4gci50YWcgfSxcbiAgeyBoZWFkZXI6ICdEaWdlc3QnLCB2YWx1ZTogciA9PiByLmRpZ2VzdCB9LFxuICB7IGhlYWRlcjogJ1NpemUgKGJ5dGVzKScsIHZhbHVlOiByID0+IHIuc2l6ZUJ5dGVzIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdJbWFnZSBVUkknLCB2YWx1ZTogciA9PiByLmltYWdlVXJpIH0sXG4gIHsgaGVhZGVyOiAnUHVzaGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5wdXNoZWRBdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IHBsdWdpbkNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0lEJywgdmFsdWU6IHIgPT4gci5pZCB9LFxuICB7IGhlYWRlcjogJ05hbWUnLCB2YWx1ZTogciA9PiByLm5hbWUgfSxcbiAgeyBoZWFkZXI6ICdUeXBlJywgdmFsdWU6IHIgPT4gci50eXBlIH0sXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQnLCB2YWx1ZTogciA9PiAoci5lbnZpcm9ubWVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGwpPy5uYW1lID8/IHIuZW52aXJvbm1lbnRJZCB9LFxuICB7IGhlYWRlcjogJ1N0YXR1cycsIHZhbHVlOiByID0+IHIuc3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnTEIgRE5TJywgdmFsdWU6IHIgPT4gci5sb2FkQmFsYW5jZXJEbnMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCB0ZW5hbnRDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdJRCcsIHZhbHVlOiByID0+IHIuaWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5uYW1lIH0sXG4gIHsgaGVhZGVyOiAnQ29udGFjdCBFbWFpbCcsIHZhbHVlOiByID0+IHIuY29udGFjdEVtYWlsIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICdDcmVhdGVkIEF0JywgdmFsdWU6IHIgPT4gZm9ybWF0RGF0ZVRpbWUoci5jcmVhdGVkQXQpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhbmFseXRpY3NTdW1tYXJ5Q29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2UgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbEluc3RhbmNlQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdFQlMgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbEVic0Nvc3QpIH0sXG4gIHsgaGVhZGVyOiAnRUNTICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxFY3NDb3N0KSB9LFxuICB7IGhlYWRlcjogJ1RvdGFsICgkKScsIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdGltYXRlZCcsIHZhbHVlOiByID0+IHIuYW55RXN0aW1hdGVkID8gKHIuZnVsbHlFc3RpbWF0ZWQgPyAneWVzJyA6ICdwYXJ0aWFsJykgOiAnbm8nIH0sXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2VzJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZUNvdW50IH0sXG4gIHsgaGVhZGVyOiAnU3VibWlzc2lvbnMnLCB2YWx1ZTogciA9PiByLnN1Ym1pc3Npb25Db3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzQnlTdWJtaXNzaW9uQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnU3VibWlzc2lvbiBJRCcsIHZhbHVlOiByID0+IHIuc3VibWlzc2lvbklkIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgdmFsdWU6IHIgPT4gci5zdWJtaXNzaW9uU3RhdHVzIH0sXG4gIHsgaGVhZGVyOiAnVGFzayAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLnRhc2tDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VDUyAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLmVjc0Nvc3QpIH0sXG4gIHsgaGVhZGVyOiAnVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbENvc3QpIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBhbmFseXRpY3NCeUVudmlyb25tZW50Q29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQgSUQnLCB2YWx1ZTogciA9PiByLmVudmlyb25tZW50SWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5lbnZpcm9ubWVudE5hbWUgfSxcbiAgeyBoZWFkZXI6ICdUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLnRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdFc3RpbWF0ZWQnLCB2YWx1ZTogciA9PiByLmFueUVzdGltYXRlZCA/IChyLmZ1bGx5RXN0aW1hdGVkID8gJ3llcycgOiAncGFydGlhbCcpIDogJ25vJyB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzQnlRdWV1ZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ1F1ZXVlIElEJywgdmFsdWU6IHIgPT4gci5xdWV1ZUlkIH0sXG4gIHsgaGVhZGVyOiAnTmFtZScsIHZhbHVlOiByID0+IHIucXVldWVOYW1lIH0sXG4gIHsgaGVhZGVyOiAnVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnRXN0aW1hdGVkJywgdmFsdWU6IHIgPT4gci5hbnlFc3RpbWF0ZWQgPyAoci5mdWxseUVzdGltYXRlZCA/ICd5ZXMnIDogJ3BhcnRpYWwnKSA6ICdubycgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZXMnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGFuYWx5dGljc0J5SW5zdGFuY2VUeXBlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnSW5zdGFuY2UgVHlwZScsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VUeXBlIH0sXG4gIHsgaGVhZGVyOiAnTWFya2V0JywgdmFsdWU6IHIgPT4gci5tYXJrZXRUeXBlIH0sXG4gIHsgaGVhZGVyOiAnVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnRXN0aW1hdGVkJywgdmFsdWU6IHIgPT4gci5hbnlFc3RpbWF0ZWQgPyAoci5mdWxseUVzdGltYXRlZCA/ICd5ZXMnIDogJ3BhcnRpYWwnKSA6ICdubycgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZXMnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGFuYWx5dGljc092ZXJUaW1lQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnUGVyaW9kJywgdmFsdWU6IHIgPT4gci5wZXJpb2QgfSxcbiAgeyBoZWFkZXI6ICdUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLnRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdFc3RpbWF0ZWQnLCB2YWx1ZTogciA9PiByLmFueUVzdGltYXRlZCA/IChyLmZ1bGx5RXN0aW1hdGVkID8gJ3llcycgOiAncGFydGlhbCcpIDogJ25vJyB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgY29zdHNCeUVuZ2luZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0VuZ2luZSBJRCcsIHZhbHVlOiByID0+IHIuZW5naW5lSWQgfSxcbiAgeyBoZWFkZXI6ICdOYW1lJywgdmFsdWU6IHIgPT4gci5lbmdpbmVOYW1lIH0sXG4gIHsgaGVhZGVyOiAnVG90YWwgKCQpJywgdmFsdWU6IHIgPT4gZm9ybWF0Q3VycmVuY3koci50b3RhbENvc3QpIH0sXG4gIHsgaGVhZGVyOiAnRXN0aW1hdGVkJywgdmFsdWU6IHIgPT4gci5hbnlFc3RpbWF0ZWQgPyAoci5mdWxseUVzdGltYXRlZCA/ICd5ZXMnIDogJ3BhcnRpYWwnKSA6ICdubycgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZXMnLCB2YWx1ZTogciA9PiByLmluc3RhbmNlQ291bnQgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGNvc3RzQnlFeGVjdXRpb25Nb2RlQ29sdW1uczogQ29sdW1uRGVmW10gPSBbXG4gIHsgaGVhZGVyOiAnRXhlY3V0aW9uIE1vZGUnLCB2YWx1ZTogciA9PiByLmV4ZWN1dGlvbk1vZGUgfSxcbiAgeyBoZWFkZXI6ICdUb3RhbCAoJCknLCB2YWx1ZTogciA9PiBmb3JtYXRDdXJyZW5jeShyLnRvdGFsQ29zdCkgfSxcbiAgeyBoZWFkZXI6ICdFc3RpbWF0ZWQnLCB2YWx1ZTogciA9PiByLmFueUVzdGltYXRlZCA/IChyLmZ1bGx5RXN0aW1hdGVkID8gJ3llcycgOiAncGFydGlhbCcpIDogJ25vJyB9LFxuICB7IGhlYWRlcjogJ0luc3RhbmNlcycsIHZhbHVlOiByID0+IHIuaW5zdGFuY2VDb3VudCB9LFxuXVxuXG5leHBvcnQgY29uc3QgY29zdHNCeVRhc2tDb2x1bW5zOiBDb2x1bW5EZWZbXSA9IFtcbiAgeyBoZWFkZXI6ICdUYXNrIElEJywgICAgICB2YWx1ZTogciA9PiByLnRhc2tJZCB9LFxuICB7IGhlYWRlcjogJ0pvYiBOYW1lJywgICAgIHZhbHVlOiByID0+IHIuam9iTmFtZSwgdGFibGVWYWx1ZTogciA9PiB3b3JkV3JhcChyLmpvYk5hbWUpIH0sXG4gIHsgaGVhZGVyOiAnU3VibWlzc2lvbiBJRCcsIHZhbHVlOiByID0+IHIuc3VibWlzc2lvbklkIH0sXG4gIHsgaGVhZGVyOiAnU3RhdHVzJywgICAgICAgdmFsdWU6IHIgPT4gci5zdGF0dXMgfSxcbiAgeyBoZWFkZXI6ICd2Q1BVcycsICAgICAgICB2YWx1ZTogciA9PiByLnZjcHVzIH0sXG4gIHsgaGVhZGVyOiAnRHVyYXRpb24nLCAgICAgdmFsdWU6IHIgPT4gZm9ybWF0RHVyYXRpb24oci5kdXJhdGlvbk1zKSB9LFxuICB7IGhlYWRlcjogJ0Nvc3QgKCQpJywgICAgIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIuY29zdCkgfSxcbl1cblxuZXhwb3J0IGNvbnN0IGNvc3RzQnlJbnN0YW5jZUNvbHVtbnM6IENvbHVtbkRlZltdID0gW1xuICB7IGhlYWRlcjogJ0luc3RhbmNlIElEJywgICB2YWx1ZTogciA9PiByLmluc3RhbmNlSWQgfSxcbiAgeyBoZWFkZXI6ICdJbnN0YW5jZSBUeXBlJywgdmFsdWU6IHIgPT4gci5pbnN0YW5jZVR5cGUgfSxcbiAgeyBoZWFkZXI6ICdNYXJrZXQnLCAgICAgICAgdmFsdWU6IHIgPT4gci5tYXJrZXRUeXBlIH0sXG4gIHsgaGVhZGVyOiAnRW52aXJvbm1lbnQnLCAgIHZhbHVlOiByID0+IHIuZW52aXJvbm1lbnROYW1lIH0sXG4gIHsgaGVhZGVyOiAnUXVldWUnLCAgICAgICAgIHZhbHVlOiByID0+IHIucXVldWVOYW1lIH0sXG4gIHsgaGVhZGVyOiAnVG90YWwgKCQpJywgICAgIHZhbHVlOiByID0+IGZvcm1hdEN1cnJlbmN5KHIudG90YWxDb3N0KSB9LFxuICB7IGhlYWRlcjogJ0VzdGltYXRlZCcsICAgICB2YWx1ZTogciA9PiByLmVzdGltYXRlZCAhPSBudWxsID8gU3RyaW5nKHIuZXN0aW1hdGVkKSA6ICcnIH0sXG4gIHsgaGVhZGVyOiAnVGVybWluYXRlZCBBdCcsIHZhbHVlOiByID0+IGZvcm1hdERhdGVUaW1lKHIudGVybWluYXRpb25UaW1lKSB9LFxuXVxuIl19
|