@pipeline-builder/pipeline-manager 3.4.137 → 3.4.139
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/README.md +1 -1
- package/dist/agent/bootstrap.d.ts +0 -15
- package/dist/agent/bootstrap.d.ts.map +1 -1
- package/dist/agent/bootstrap.js +2 -5
- package/dist/agent/health.d.ts.map +1 -1
- package/dist/agent/health.js +1 -1
- package/dist/agent/targets.d.ts.map +1 -1
- package/dist/agent/targets.js +2 -6
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +5 -2
- package/dist/commands/setup-events.d.ts.map +1 -1
- package/dist/commands/setup-events.js +9 -2
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +11 -14
- package/dist/commands/store-token.d.ts.map +1 -1
- package/dist/commands/store-token.js +11 -3
- package/dist/config/cli.constants.d.ts +6 -0
- package/dist/config/cli.constants.d.ts.map +1 -1
- package/dist/config/cli.constants.js +9 -1
- package/dist/templates/events-stack.json +4 -1
- package/dist/utils/api-client.d.ts.map +1 -1
- package/dist/utils/api-client.js +2 -2
- package/dist/utils/cdk-utils.d.ts.map +1 -1
- package/dist/utils/cdk-utils.js +9 -7
- package/dist/utils/cron.js +2 -2
- package/dist/utils/pipeline-config.d.ts +1 -1
- package/dist/utils/pipeline-config.d.ts.map +1 -1
- package/dist/utils/pipeline-config.js +1 -1
- package/dist/utils/plugin-resolver.js +1 -1
- package/package.json +3 -3
|
@@ -39,6 +39,7 @@ export function setupEvents(program) {
|
|
|
39
39
|
.option('-p, --password <password>', 'Login password (used with --email)')
|
|
40
40
|
.option('--region <region>', 'AWS region (default: us-east-1, or AWS_REGION env)')
|
|
41
41
|
.option('--profile <profile>', 'AWS CLI profile', 'default')
|
|
42
|
+
.option('--scoped-ingest', 'Point the ingestion Lambda at the dedicated least-privilege reporting-ingest secret (provision it first: `store-token --scope reporting:ingest --schedule`, then set REPORTING_INGEST_ALLOW_LEGACY=false on the reporting service)')
|
|
42
43
|
.action(async (options) => {
|
|
43
44
|
const executionId = printCommandHeader('Setup Event Ingestion');
|
|
44
45
|
try {
|
|
@@ -52,7 +53,13 @@ export function setupEvents(program) {
|
|
|
52
53
|
// minted) when PLATFORM_SECRET_NAME isn't set — matching store-token, which
|
|
53
54
|
// WROTE the secret at the same derived path. Logs in with
|
|
54
55
|
// --email/--password or PLATFORM_IDENTIFIER/PLATFORM_PASSWORD if no token yet.
|
|
55
|
-
|
|
56
|
+
// With --scoped-ingest, point at the dedicated reporting-ingest secret
|
|
57
|
+
// (a least-privilege machine credential) instead of the shared platform
|
|
58
|
+
// token — provision it with `store-token --scope reporting:ingest`.
|
|
59
|
+
let secretName = await resolvePlatformSecretName(options);
|
|
60
|
+
if (options.scopedIngest) {
|
|
61
|
+
secretName = secretName.replace(/\/platform$/, '/reporting-ingest');
|
|
62
|
+
}
|
|
56
63
|
printInfo('Parameters', {
|
|
57
64
|
stack: STACK_NAME,
|
|
58
65
|
region,
|
|
@@ -150,4 +157,4 @@ export function setupEvents(program) {
|
|
|
150
157
|
}
|
|
151
158
|
});
|
|
152
159
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3NldHVwLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXhFLDBEQUEwRDtBQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFL0QsTUFBTSxVQUFVLEdBQUcseUJBQXlCLENBQUM7QUFDN0MscUZBQXFGO0FBQ3JGLE1BQU0sV0FBVyxHQUFHLGtDQUFrQyxDQUFDO0FB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QUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTthQUNyRSxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQsIERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBMYW1iZGFDbGllbnQsIFVwZGF0ZUZ1bmN0aW9uQ29kZUNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtbGFtYmRhJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgcHJpbnRDb21tYW5kSGVhZGVyIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBsYXRmb3JtU2VjcmV0TmFtZSB9IGZyb20gJy4uL3V0aWxzL3BsYXRmb3JtLXNlY3JldC5qcyc7XG5cbi8vIEVTTSBoYXMgbm8gX19kaXJuYW1lOyBkZXJpdmUgaXQgZnJvbSB0aGlzIG1vZHVsZSdzIFVSTC5cbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5jb25zdCBTVEFDS19OQU1FID0gJ3BpcGVsaW5lLWJ1aWxkZXItZXZlbnRzJztcbi8vIEV4aXN0aW5nIENGTi1tYW5hZ2VkIExhbWJkYSBmdW5jdGlvbiBuYW1lIOKAlCBkbyBOT1QgcmVuYW1lIHdpdGhvdXQgYSBtaWdyYXRpb24gcGxhblxuY29uc3QgTEFNQkRBX05BTUUgPSAncGlwZWxpbmUtYnVpbGRlci1ldmVudC1pbmdlc3Rpb24nO1xuY29uc3QgUEFDS0FHRV9OQU1FID0gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWV2ZW50cyc7XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBgc2V0dXAtZXZlbnRzYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIERlcGxveXMgRXZlbnRCcmlkZ2Ug4oaSIFNRUyDihpIgTGFtYmRhIGluZnJhc3RydWN0dXJlIGZvciBwaXBlbGluZSByZXBvcnRpbmcuXG4gKlxuICogMS4gRGVwbG95cyBDbG91ZEZvcm1hdGlvbiBzdGFjayAocnVsZSArIHF1ZXVlICsgTGFtYmRhIHNoZWxsICsgSUFNKVxuICogMi4gRG93bmxvYWRzIEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWV2ZW50cyBmcm9tIG5wbSByZWdpc3RyeVxuICogMy4gVXBsb2FkcyBoYW5kbGVyIGNvZGUgZGlyZWN0bHkgdG8gTGFtYmRhIChubyBTMyBuZWVkZWQpXG4gKlxuICogVXNlcyBQTEFURk9STV9CQVNFX1VSTCBmcm9tIGVudmlyb25tZW50IChzYW1lIGFzIGFsbCBvdGhlciBjb21tYW5kcykuXG4gKiBJZGVtcG90ZW50IOKAlCBydW5uaW5nIGFnYWluIHVwZGF0ZXMgdGhlIHN0YWNrIGFuZCBjb2RlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBFdmVudHMocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICBwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3NldHVwLWV2ZW50cycpXG4gICAgLmRlc2NyaXB0aW9uKCdEZXBsb3kgRXZlbnRCcmlkZ2UgZXZlbnQgaW5nZXN0aW9uIGluZnJhc3RydWN0dXJlIGZvciBwaXBlbGluZSByZXBvcnRpbmcnKVxuICAgIC5vcHRpb24oJy0tcGFja2FnZS12ZXJzaW9uIDx2ZXJzaW9uPicsICdwaXBlbGluZS1ldmVudHMgcGFja2FnZSB2ZXJzaW9uIChkZWZhdWx0OiBsYXRlc3QpJylcbiAgICAub3B0aW9uKCctZSwgLS1lbWFpbCA8ZW1haWw+JywgJ0xvZ2luIGVtYWlsIHRvIG1pbnQgYSB0b2tlbiB3aGVuIFBMQVRGT1JNX1RPS0VOIGlzIHVuc2V0IChmb3IgZGVyaXZpbmcgdGhlIHNlY3JldCBuYW1lKScpXG4gICAgLm9wdGlvbignLXAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdMb2dpbiBwYXNzd29yZCAodXNlZCB3aXRoIC0tZW1haWwpJylcbiAgICAub3B0aW9uKCctLXJlZ2lvbiA8cmVnaW9uPicsICdBV1MgcmVnaW9uIChkZWZhdWx0OiB1cy1lYXN0LTEsIG9yIEFXU19SRUdJT04gZW52KScpXG4gICAgLm9wdGlvbignLS1wcm9maWxlIDxwcm9maWxlPicsICdBV1MgQ0xJIHByb2ZpbGUnLCAnZGVmYXVsdCcpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1NldHVwIEV2ZW50IEluZ2VzdGlvbicpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZWdpb24gPSBvcHRpb25zLnJlZ2lvbiB8fCBwcm9jZXNzLmVudi5BV1NfUkVHSU9OIHx8IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTiB8fCAndXMtZWFzdC0xJztcblxuICAgICAgICBjb25zdCBwbGF0Zm9ybVVybCA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMO1xuICAgICAgICBpZiAoIXBsYXRmb3JtVXJsKSB7XG4gICAgICAgICAgcHJpbnRFcnJvcignUExBVEZPUk1fQkFTRV9VUkwgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgcmVxdWlyZWQnKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BMQVRGT1JNX0JBU0VfVVJMIG5vdCBzZXQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlcml2ZSB0aGUgc2VjcmV0IHBhdGggZnJvbSB0aGUgcGxhdGZvcm0gdG9rZW4gKHRoZSBvbmUgaW5pdC1wbGF0Zm9ybS5zaFxuICAgICAgICAvLyBtaW50ZWQpIHdoZW4gUExBVEZPUk1fU0VDUkVUX05BTUUgaXNuJ3Qgc2V0IOKAlCBtYXRjaGluZyBzdG9yZS10b2tlbiwgd2hpY2hcbiAgICAgICAgLy8gV1JPVEUgdGhlIHNlY3JldCBhdCB0aGUgc2FtZSBkZXJpdmVkIHBhdGguIExvZ3MgaW4gd2l0aFxuICAgICAgICAvLyAtLWVtYWlsLy0tcGFzc3dvcmQgb3IgUExBVEZPUk1fSURFTlRJRklFUi9QTEFURk9STV9QQVNTV09SRCBpZiBubyB0b2tlbiB5ZXQuXG4gICAgICAgIGNvbnN0IHNlY3JldE5hbWUgPSBhd2FpdCByZXNvbHZlUGxhdGZvcm1TZWNyZXROYW1lKG9wdGlvbnMpO1xuXG4gICAgICAgIHByaW50SW5mbygnUGFyYW1ldGVycycsIHtcbiAgICAgICAgICBzdGFjazogU1RBQ0tfTkFNRSxcbiAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgcGxhdGZvcm1VcmwsXG4gICAgICAgICAgc2VjcmV0TmFtZSxcbiAgICAgICAgICBwYWNrYWdlVmVyc2lvbjogb3B0aW9ucy5wYWNrYWdlVmVyc2lvbiB8fCAnbGF0ZXN0JyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3RlcCAxOiBEZXBsb3kgQ2xvdWRGb3JtYXRpb24gKGluZnJhIG9ubHkg4oCUIExhbWJkYSBnZXRzIHBsYWNlaG9sZGVyIGNvZGUpXG4gICAgICAgIHByaW50U2VjdGlvbignRGVwbG95IEluZnJhc3RydWN0dXJlJyk7XG5cbiAgICAgICAgY29uc3QgdGVtcGxhdGVQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL3RlbXBsYXRlcy9ldmVudHMtc3RhY2suanNvbicpO1xuXG4gICAgICAgIGNvbnN0IGNmbkFyZ3MgPSBbXG4gICAgICAgICAgJ2Nsb3VkZm9ybWF0aW9uJywgJ2RlcGxveScsXG4gICAgICAgICAgJy0tc3RhY2stbmFtZScsIFNUQUNLX05BTUUsXG4gICAgICAgICAgJy0tdGVtcGxhdGUtZmlsZScsIHRlbXBsYXRlUGF0aCxcbiAgICAgICAgICAnLS1wYXJhbWV0ZXItb3ZlcnJpZGVzJyxcbiAgICAgICAgICBgUGxhdGZvcm1CYXNlVXJsPSR7cGxhdGZvcm1Vcmx9YCxcbiAgICAgICAgICBgUGxhdGZvcm1TZWNyZXROYW1lPSR7c2VjcmV0TmFtZX1gLFxuICAgICAgICAgICctLWNhcGFiaWxpdGllcycsICdDQVBBQklMSVRZX05BTUVEX0lBTScsXG4gICAgICAgICAgJy0tbm8tZmFpbC1vbi1lbXB0eS1jaGFuZ2VzZXQnLFxuICAgICAgICAgICctLXJlZ2lvbicsIHJlZ2lvbixcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKG9wdGlvbnMucHJvZmlsZSkgY2ZuQXJncy5wdXNoKCctLXByb2ZpbGUnLCBvcHRpb25zLnByb2ZpbGUpO1xuXG4gICAgICAgIGV4ZWNGaWxlU3luYygnYXdzJywgY2ZuQXJncywgeyBzdGRpbzogJ2luaGVyaXQnIH0pO1xuXG4gICAgICAgIHByaW50U3VjY2VzcygnSW5mcmFzdHJ1Y3R1cmUgZGVwbG95ZWQnKTtcblxuICAgICAgICAvLyBTdGVwIDI6IERvd25sb2FkIGhhbmRsZXIgZnJvbSByZWdpc3RyeSBhbmQgdXBsb2FkIHRvIExhbWJkYVxuICAgICAgICBwcmludFNlY3Rpb24oJ0RlcGxveSBMYW1iZGEgQ29kZScpO1xuXG4gICAgICAgIGNvbnN0IHRtcERpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ2V2ZW50LWluZ2VzdGlvbi0nKSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB2ZXJzaW9uU3BlYyA9IG9wdGlvbnMucGFja2FnZVZlcnNpb24gPyBgJHtQQUNLQUdFX05BTUV9QCR7b3B0aW9ucy5wYWNrYWdlVmVyc2lvbn1gIDogUEFDS0FHRV9OQU1FO1xuICAgICAgICAgIHByaW50SW5mbygnSW5zdGFsbGluZyBmcm9tIHJlZ2lzdHJ5JywgeyBwYWNrYWdlOiB2ZXJzaW9uU3BlYyB9KTtcblxuICAgICAgICAgIC8vIElzb2xhdGUgdGhlIG5wbSBjYWNoZSBpbnNpZGUgdGhlIHRlbXAgZGlyIHNvIHRoZSBkZXBsb3kgbmV2ZXIgZGVwZW5kcyBvblxuICAgICAgICAgIC8vIChvciB0cmlwcyBvdmVyKSBhIG1pc2NvbmZpZ3VyZWQgc2hhcmVkIH4vLm5wbSBjYWNoZSDigJQgZS5nLiBFQUNDRVMvRUVYSVNUXG4gICAgICAgICAgLy8gbGVmdCBiZWhpbmQgYnkgYSBwcmlvciBgc3VkbyBucG1gIHJ1bi4gTWlycm9ycyB0aGUgdG9rZW4tcmVuZXcgaGFuZGxlci5cbiAgICAgICAgICBleGVjRmlsZVN5bmMoJ25wbScsIFsnaW5zdGFsbCcsICctLXByZWZpeCcsIHRtcERpciwgJy0tbm8tYXVkaXQnLCAnLS1uby1mdW5kJywgdmVyc2lvblNwZWNdLCB7XG4gICAgICAgICAgICBzdGRpbzogJ3BpcGUnLFxuICAgICAgICAgICAgZW52OiB7IC4uLnByb2Nlc3MuZW52LCBucG1fY29uZmlnX2NhY2hlOiBwYXRoLmpvaW4odG1wRGlyLCAnLm5wbS1jYWNoZScpIH0sXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjb25zdCBoYW5kbGVyU3JjID0gcGF0aC5qb2luKHRtcERpciwgJ25vZGVfbW9kdWxlcycsIFBBQ0tBR0VfTkFNRSwgJ2xpYicsICdpbmRleC5qcycpO1xuICAgICAgICAgIGlmICghZnMuZXhpc3RzU3luYyhoYW5kbGVyU3JjKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIYW5kbGVyIG5vdCBmb3VuZCBhdCAke2hhbmRsZXJTcmN9LiBFbnN1cmUgdGhlIHBhY2thZ2UgaXMgcHVibGlzaGVkLmApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEdldCB2ZXJzaW9uIGZyb20gaW5zdGFsbGVkIHBhY2thZ2VcbiAgICAgICAgICBjb25zdCBwa2dKc29uUGF0aCA9IHBhdGguam9pbih0bXBEaXIsICdub2RlX21vZHVsZXMnLCBQQUNLQUdFX05BTUUsICdwYWNrYWdlLmpzb24nKTtcbiAgICAgICAgICBjb25zdCBwa2dKc29uID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGtnSnNvblBhdGgsICd1dGYtOCcpKTtcbiAgICAgICAgICBjb25zdCB2ZXJzaW9uID0gcGtnSnNvbi52ZXJzaW9uIHx8ICd1bmtub3duJztcblxuICAgICAgICAgIC8vIHBpcGVsaW5lLWV2ZW50cyBpcyBFU00gKFwidHlwZVwiOlwibW9kdWxlXCIpLCBzbyB0aGUgTGFtYmRhIGVudHJ5IG11c3QgYmVcbiAgICAgICAgICAvLyBpbmRleC5tanMuIEEgcGxhaW4gaW5kZXguanMgd2l0aCBubyBwYWNrYWdlLmpzb24gaW4gdGhlIHppcCBpcyBsb2FkZWQgYXNcbiAgICAgICAgICAvLyBDb21tb25KUyBieSBub2RlanMyNC54IGFuZCBmYWlscyBhdCBpbml0IHdpdGggXCJDYW5ub3QgdXNlIGltcG9ydCBzdGF0ZW1lbnRcbiAgICAgICAgICAvLyBvdXRzaWRlIGEgbW9kdWxlXCIuIFRoZSAubWpzIGV4dGVuc2lvbiBmb3JjZXMgRVNNOyBIYW5kbGVyIHN0YXlzXG4gICAgICAgICAgLy8gaW5kZXguaGFuZGxlciAodGhlIHJ1bnRpbWUgcmVzb2x2ZXMgdGhlIC5tanMgZmlsZSkuIGxpYi9pbmRleC5qcyBpcyBhXG4gICAgICAgICAgLy8gc2VsZi1jb250YWluZWQgYnVuZGxlIChubyByZWxhdGl2ZSBpbXBvcnRzKSwgc28gdGhlIHNpbmdsZSBmaWxlIHN1ZmZpY2VzLlxuICAgICAgICAgIGNvbnN0IG1qc1BhdGggPSBwYXRoLmpvaW4odG1wRGlyLCAnaW5kZXgubWpzJyk7XG4gICAgICAgICAgZnMuY29weUZpbGVTeW5jKGhhbmRsZXJTcmMsIG1qc1BhdGgpO1xuICAgICAgICAgIGNvbnN0IHppcFBhdGggPSBwYXRoLmpvaW4odG1wRGlyLCAnaW5kZXguemlwJyk7XG4gICAgICAgICAgZXhlY0ZpbGVTeW5jKCd6aXAnLCBbJy1qJywgemlwUGF0aCwgJ2luZGV4Lm1qcyddLCB7IGN3ZDogdG1wRGlyLCBzdGRpbzogJ3BpcGUnIH0pO1xuXG4gICAgICAgICAgLy8gVXBsb2FkIGRpcmVjdGx5IHRvIExhbWJkYSB2aWEgU0RLIChubyBTMyBuZWVkZWQpXG4gICAgICAgICAgcHJpbnRJbmZvKCdVcGxvYWRpbmcgY29kZSB0byBMYW1iZGEnLCB7IGZ1bmN0aW9uOiBMQU1CREFfTkFNRSwgdmVyc2lvbiB9KTtcblxuICAgICAgICAgIGNvbnN0IGxhbWJkYUNsaWVudCA9IG5ldyBMYW1iZGFDbGllbnQoeyByZWdpb24gfSk7XG4gICAgICAgICAgYXdhaXQgbGFtYmRhQ2xpZW50LnNlbmQobmV3IFVwZGF0ZUZ1bmN0aW9uQ29kZUNvbW1hbmQoe1xuICAgICAgICAgICAgRnVuY3Rpb25OYW1lOiBMQU1CREFfTkFNRSxcbiAgICAgICAgICAgIFppcEZpbGU6IGZzLnJlYWRGaWxlU3luYyh6aXBQYXRoKSxcbiAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICBwcmludFN1Y2Nlc3MoYExhbWJkYSBjb2RlIGRlcGxveWVkICgke1BBQ0tBR0VfTkFNRX1AJHt2ZXJzaW9ufSlgKTtcblxuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIGZzLnJtU3luYyh0bXBEaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0ZXAgMzogU2hvdyBvdXRwdXRzIHZpYSBTREtcbiAgICAgICAgY29uc3QgY2ZuQ2xpZW50ID0gbmV3IENsb3VkRm9ybWF0aW9uQ2xpZW50KHsgcmVnaW9uIH0pO1xuICAgICAgICBjb25zdCBkZXNjcmliZVJlc3VsdCA9IGF3YWl0IGNmbkNsaWVudC5zZW5kKG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoeyBTdGFja05hbWU6IFNUQUNLX05BTUUgfSkpO1xuICAgICAgICBjb25zdCBvdXRwdXRzID0gZGVzY3JpYmVSZXN1bHQuU3RhY2tzPy5bMF0/Lk91dHB1dHMgPz8gW107XG4gICAgICAgIGNvbnN0IG91dHB1dE1hcCA9IE9iamVjdC5mcm9tRW50cmllcyhvdXRwdXRzLm1hcChvID0+IFtvLk91dHB1dEtleSA/PyAnJywgby5PdXRwdXRWYWx1ZSA/PyAnJ10pKTtcblxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbignRXZlbnQgSW5nZXN0aW9uIFJlYWR5Jyk7XG5cbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgJ1N0YWNrJzogU1RBQ0tfTkFNRSxcbiAgICAgICAgICAnUmVnaW9uJzogcmVnaW9uLFxuICAgICAgICAgICdQbGF0Zm9ybSBVUkwnOiBwbGF0Zm9ybVVybCxcbiAgICAgICAgICAnTGFtYmRhJzogb3V0cHV0TWFwLkxhbWJkYUZ1bmN0aW9uQXJuIHx8IExBTUJEQV9OQU1FLFxuICAgICAgICAgICdFdmVudCBRdWV1ZSc6IG91dHB1dE1hcC5FdmVudFF1ZXVlVXJsIHx8ICcoc2VlIEFXUyBjb25zb2xlKScsXG4gICAgICAgICAgJ0RlYWQgTGV0dGVyIFF1ZXVlJzogb3V0cHV0TWFwLkRlYWRMZXR0ZXJRdWV1ZVVybCB8fCAnKHNlZSBBV1MgY29uc29sZSknLFxuICAgICAgICAgICdFdmVudEJyaWRnZSBSdWxlJzogb3V0cHV0TWFwLkV2ZW50UnVsZU5hbWUgfHwgJyhzZWUgQVdTIGNvbnNvbGUpJyxcbiAgICAgICAgICAnU3RhdHVzJzogJ+KckyBEZXBsb3llZCcsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTdWNjZXNzKCdFdmVudEJyaWRnZSBldmVudCBpbmdlc3Rpb24gaXMgYWN0aXZlLicpO1xuXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdzZXR1cC1ldmVudHMnLCBleGVjdXRpb25JZCwgc3RhY2s6IFNUQUNLX05BTUUgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3NldHVwLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXhFLDBEQUEwRDtBQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFL0QsTUFBTSxVQUFVLEdBQUcseUJBQXlCLENBQUM7QUFDN0MscUZBQXFGO0FBQ3JGLE1BQU0sV0FBVyxHQUFHLGtDQUFrQyxDQUFDO0FB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WUFBWSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFFekQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTthQUNyRSxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQsIERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBMYW1iZGFDbGllbnQsIFVwZGF0ZUZ1bmN0aW9uQ29kZUNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtbGFtYmRhJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgcHJpbnRDb21tYW5kSGVhZGVyIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBsYXRmb3JtU2VjcmV0TmFtZSB9IGZyb20gJy4uL3V0aWxzL3BsYXRmb3JtLXNlY3JldC5qcyc7XG5cbi8vIEVTTSBoYXMgbm8gX19kaXJuYW1lOyBkZXJpdmUgaXQgZnJvbSB0aGlzIG1vZHVsZSdzIFVSTC5cbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5jb25zdCBTVEFDS19OQU1FID0gJ3BpcGVsaW5lLWJ1aWxkZXItZXZlbnRzJztcbi8vIEV4aXN0aW5nIENGTi1tYW5hZ2VkIExhbWJkYSBmdW5jdGlvbiBuYW1lIOKAlCBkbyBOT1QgcmVuYW1lIHdpdGhvdXQgYSBtaWdyYXRpb24gcGxhblxuY29uc3QgTEFNQkRBX05BTUUgPSAncGlwZWxpbmUtYnVpbGRlci1ldmVudC1pbmdlc3Rpb24nO1xuY29uc3QgUEFDS0FHRV9OQU1FID0gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWV2ZW50cyc7XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBgc2V0dXAtZXZlbnRzYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIERlcGxveXMgRXZlbnRCcmlkZ2Ug4oaSIFNRUyDihpIgTGFtYmRhIGluZnJhc3RydWN0dXJlIGZvciBwaXBlbGluZSByZXBvcnRpbmcuXG4gKlxuICogMS4gRGVwbG95cyBDbG91ZEZvcm1hdGlvbiBzdGFjayAocnVsZSArIHF1ZXVlICsgTGFtYmRhIHNoZWxsICsgSUFNKVxuICogMi4gRG93bmxvYWRzIEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWV2ZW50cyBmcm9tIG5wbSByZWdpc3RyeVxuICogMy4gVXBsb2FkcyBoYW5kbGVyIGNvZGUgZGlyZWN0bHkgdG8gTGFtYmRhIChubyBTMyBuZWVkZWQpXG4gKlxuICogVXNlcyBQTEFURk9STV9CQVNFX1VSTCBmcm9tIGVudmlyb25tZW50IChzYW1lIGFzIGFsbCBvdGhlciBjb21tYW5kcykuXG4gKiBJZGVtcG90ZW50IOKAlCBydW5uaW5nIGFnYWluIHVwZGF0ZXMgdGhlIHN0YWNrIGFuZCBjb2RlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBFdmVudHMocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICBwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3NldHVwLWV2ZW50cycpXG4gICAgLmRlc2NyaXB0aW9uKCdEZXBsb3kgRXZlbnRCcmlkZ2UgZXZlbnQgaW5nZXN0aW9uIGluZnJhc3RydWN0dXJlIGZvciBwaXBlbGluZSByZXBvcnRpbmcnKVxuICAgIC5vcHRpb24oJy0tcGFja2FnZS12ZXJzaW9uIDx2ZXJzaW9uPicsICdwaXBlbGluZS1ldmVudHMgcGFja2FnZSB2ZXJzaW9uIChkZWZhdWx0OiBsYXRlc3QpJylcbiAgICAub3B0aW9uKCctZSwgLS1lbWFpbCA8ZW1haWw+JywgJ0xvZ2luIGVtYWlsIHRvIG1pbnQgYSB0b2tlbiB3aGVuIFBMQVRGT1JNX1RPS0VOIGlzIHVuc2V0IChmb3IgZGVyaXZpbmcgdGhlIHNlY3JldCBuYW1lKScpXG4gICAgLm9wdGlvbignLXAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdMb2dpbiBwYXNzd29yZCAodXNlZCB3aXRoIC0tZW1haWwpJylcbiAgICAub3B0aW9uKCctLXJlZ2lvbiA8cmVnaW9uPicsICdBV1MgcmVnaW9uIChkZWZhdWx0OiB1cy1lYXN0LTEsIG9yIEFXU19SRUdJT04gZW52KScpXG4gICAgLm9wdGlvbignLS1wcm9maWxlIDxwcm9maWxlPicsICdBV1MgQ0xJIHByb2ZpbGUnLCAnZGVmYXVsdCcpXG4gICAgLm9wdGlvbignLS1zY29wZWQtaW5nZXN0JywgJ1BvaW50IHRoZSBpbmdlc3Rpb24gTGFtYmRhIGF0IHRoZSBkZWRpY2F0ZWQgbGVhc3QtcHJpdmlsZWdlIHJlcG9ydGluZy1pbmdlc3Qgc2VjcmV0IChwcm92aXNpb24gaXQgZmlyc3Q6IGBzdG9yZS10b2tlbiAtLXNjb3BlIHJlcG9ydGluZzppbmdlc3QgLS1zY2hlZHVsZWAsIHRoZW4gc2V0IFJFUE9SVElOR19JTkdFU1RfQUxMT1dfTEVHQUNZPWZhbHNlIG9uIHRoZSByZXBvcnRpbmcgc2VydmljZSknKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdTZXR1cCBFdmVudCBJbmdlc3Rpb24nKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVnaW9uID0gb3B0aW9ucy5yZWdpb24gfHwgcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT04gfHwgJ3VzLWVhc3QtMSc7XG5cbiAgICAgICAgY29uc3QgcGxhdGZvcm1VcmwgPSBwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTDtcbiAgICAgICAgaWYgKCFwbGF0Zm9ybVVybCkge1xuICAgICAgICAgIHByaW50RXJyb3IoJ1BMQVRGT1JNX0JBU0VfVVJMIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQTEFURk9STV9CQVNFX1VSTCBub3Qgc2V0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXJpdmUgdGhlIHNlY3JldCBwYXRoIGZyb20gdGhlIHBsYXRmb3JtIHRva2VuICh0aGUgb25lIGluaXQtcGxhdGZvcm0uc2hcbiAgICAgICAgLy8gbWludGVkKSB3aGVuIFBMQVRGT1JNX1NFQ1JFVF9OQU1FIGlzbid0IHNldCDigJQgbWF0Y2hpbmcgc3RvcmUtdG9rZW4sIHdoaWNoXG4gICAgICAgIC8vIFdST1RFIHRoZSBzZWNyZXQgYXQgdGhlIHNhbWUgZGVyaXZlZCBwYXRoLiBMb2dzIGluIHdpdGhcbiAgICAgICAgLy8gLS1lbWFpbC8tLXBhc3N3b3JkIG9yIFBMQVRGT1JNX0lERU5USUZJRVIvUExBVEZPUk1fUEFTU1dPUkQgaWYgbm8gdG9rZW4geWV0LlxuICAgICAgICAvLyBXaXRoIC0tc2NvcGVkLWluZ2VzdCwgcG9pbnQgYXQgdGhlIGRlZGljYXRlZCByZXBvcnRpbmctaW5nZXN0IHNlY3JldFxuICAgICAgICAvLyAoYSBsZWFzdC1wcml2aWxlZ2UgbWFjaGluZSBjcmVkZW50aWFsKSBpbnN0ZWFkIG9mIHRoZSBzaGFyZWQgcGxhdGZvcm1cbiAgICAgICAgLy8gdG9rZW4g4oCUIHByb3Zpc2lvbiBpdCB3aXRoIGBzdG9yZS10b2tlbiAtLXNjb3BlIHJlcG9ydGluZzppbmdlc3RgLlxuICAgICAgICBsZXQgc2VjcmV0TmFtZSA9IGF3YWl0IHJlc29sdmVQbGF0Zm9ybVNlY3JldE5hbWUob3B0aW9ucyk7XG4gICAgICAgIGlmIChvcHRpb25zLnNjb3BlZEluZ2VzdCkge1xuICAgICAgICAgIHNlY3JldE5hbWUgPSBzZWNyZXROYW1lLnJlcGxhY2UoL1xcL3BsYXRmb3JtJC8sICcvcmVwb3J0aW5nLWluZ2VzdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpbnRJbmZvKCdQYXJhbWV0ZXJzJywge1xuICAgICAgICAgIHN0YWNrOiBTVEFDS19OQU1FLFxuICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICBwbGF0Zm9ybVVybCxcbiAgICAgICAgICBzZWNyZXROYW1lLFxuICAgICAgICAgIHBhY2thZ2VWZXJzaW9uOiBvcHRpb25zLnBhY2thZ2VWZXJzaW9uIHx8ICdsYXRlc3QnLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTdGVwIDE6IERlcGxveSBDbG91ZEZvcm1hdGlvbiAoaW5mcmEgb25seSDigJQgTGFtYmRhIGdldHMgcGxhY2Vob2xkZXIgY29kZSlcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdEZXBsb3kgSW5mcmFzdHJ1Y3R1cmUnKTtcblxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vdGVtcGxhdGVzL2V2ZW50cy1zdGFjay5qc29uJyk7XG5cbiAgICAgICAgY29uc3QgY2ZuQXJncyA9IFtcbiAgICAgICAgICAnY2xvdWRmb3JtYXRpb24nLCAnZGVwbG95JyxcbiAgICAgICAgICAnLS1zdGFjay1uYW1lJywgU1RBQ0tfTkFNRSxcbiAgICAgICAgICAnLS10ZW1wbGF0ZS1maWxlJywgdGVtcGxhdGVQYXRoLFxuICAgICAgICAgICctLXBhcmFtZXRlci1vdmVycmlkZXMnLFxuICAgICAgICAgIGBQbGF0Zm9ybUJhc2VVcmw9JHtwbGF0Zm9ybVVybH1gLFxuICAgICAgICAgIGBQbGF0Zm9ybVNlY3JldE5hbWU9JHtzZWNyZXROYW1lfWAsXG4gICAgICAgICAgJy0tY2FwYWJpbGl0aWVzJywgJ0NBUEFCSUxJVFlfTkFNRURfSUFNJyxcbiAgICAgICAgICAnLS1uby1mYWlsLW9uLWVtcHR5LWNoYW5nZXNldCcsXG4gICAgICAgICAgJy0tcmVnaW9uJywgcmVnaW9uLFxuICAgICAgICBdO1xuICAgICAgICBpZiAob3B0aW9ucy5wcm9maWxlKSBjZm5BcmdzLnB1c2goJy0tcHJvZmlsZScsIG9wdGlvbnMucHJvZmlsZSk7XG5cbiAgICAgICAgZXhlY0ZpbGVTeW5jKCdhd3MnLCBjZm5BcmdzLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG5cbiAgICAgICAgcHJpbnRTdWNjZXNzKCdJbmZyYXN0cnVjdHVyZSBkZXBsb3llZCcpO1xuXG4gICAgICAgIC8vIFN0ZXAgMjogRG93bmxvYWQgaGFuZGxlciBmcm9tIHJlZ2lzdHJ5IGFuZCB1cGxvYWQgdG8gTGFtYmRhXG4gICAgICAgIHByaW50U2VjdGlvbignRGVwbG95IExhbWJkYSBDb2RlJyk7XG5cbiAgICAgICAgY29uc3QgdG1wRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnZXZlbnQtaW5nZXN0aW9uLScpKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHZlcnNpb25TcGVjID0gb3B0aW9ucy5wYWNrYWdlVmVyc2lvbiA/IGAke1BBQ0tBR0VfTkFNRX1AJHtvcHRpb25zLnBhY2thZ2VWZXJzaW9ufWAgOiBQQUNLQUdFX05BTUU7XG4gICAgICAgICAgcHJpbnRJbmZvKCdJbnN0YWxsaW5nIGZyb20gcmVnaXN0cnknLCB7IHBhY2thZ2U6IHZlcnNpb25TcGVjIH0pO1xuXG4gICAgICAgICAgLy8gSXNvbGF0ZSB0aGUgbnBtIGNhY2hlIGluc2lkZSB0aGUgdGVtcCBkaXIgc28gdGhlIGRlcGxveSBuZXZlciBkZXBlbmRzIG9uXG4gICAgICAgICAgLy8gKG9yIHRyaXBzIG92ZXIpIGEgbWlzY29uZmlndXJlZCBzaGFyZWQgfi8ubnBtIGNhY2hlIOKAlCBlLmcuIEVBQ0NFUy9FRVhJU1RcbiAgICAgICAgICAvLyBsZWZ0IGJlaGluZCBieSBhIHByaW9yIGBzdWRvIG5wbWAgcnVuLiBNaXJyb3JzIHRoZSB0b2tlbi1yZW5ldyBoYW5kbGVyLlxuICAgICAgICAgIGV4ZWNGaWxlU3luYygnbnBtJywgWydpbnN0YWxsJywgJy0tcHJlZml4JywgdG1wRGlyLCAnLS1uby1hdWRpdCcsICctLW5vLWZ1bmQnLCB2ZXJzaW9uU3BlY10sIHtcbiAgICAgICAgICAgIHN0ZGlvOiAncGlwZScsXG4gICAgICAgICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIG5wbV9jb25maWdfY2FjaGU6IHBhdGguam9pbih0bXBEaXIsICcubnBtLWNhY2hlJykgfSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IGhhbmRsZXJTcmMgPSBwYXRoLmpvaW4odG1wRGlyLCAnbm9kZV9tb2R1bGVzJywgUEFDS0FHRV9OQU1FLCAnbGliJywgJ2luZGV4LmpzJyk7XG4gICAgICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKGhhbmRsZXJTcmMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEhhbmRsZXIgbm90IGZvdW5kIGF0ICR7aGFuZGxlclNyY30uIEVuc3VyZSB0aGUgcGFja2FnZSBpcyBwdWJsaXNoZWQuYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gR2V0IHZlcnNpb24gZnJvbSBpbnN0YWxsZWQgcGFja2FnZVxuICAgICAgICAgIGNvbnN0IHBrZ0pzb25QYXRoID0gcGF0aC5qb2luKHRtcERpciwgJ25vZGVfbW9kdWxlcycsIFBBQ0tBR0VfTkFNRSwgJ3BhY2thZ2UuanNvbicpO1xuICAgICAgICAgIGNvbnN0IHBrZ0pzb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwa2dKc29uUGF0aCwgJ3V0Zi04JykpO1xuICAgICAgICAgIGNvbnN0IHZlcnNpb24gPSBwa2dKc29uLnZlcnNpb24gfHwgJ3Vua25vd24nO1xuXG4gICAgICAgICAgLy8gcGlwZWxpbmUtZXZlbnRzIGlzIEVTTSAoXCJ0eXBlXCI6XCJtb2R1bGVcIiksIHNvIHRoZSBMYW1iZGEgZW50cnkgbXVzdCBiZVxuICAgICAgICAgIC8vIGluZGV4Lm1qcy4gQSBwbGFpbiBpbmRleC5qcyB3aXRoIG5vIHBhY2thZ2UuanNvbiBpbiB0aGUgemlwIGlzIGxvYWRlZCBhc1xuICAgICAgICAgIC8vIENvbW1vbkpTIGJ5IG5vZGVqczI0LnggYW5kIGZhaWxzIGF0IGluaXQgd2l0aCBcIkNhbm5vdCB1c2UgaW1wb3J0IHN0YXRlbWVudFxuICAgICAgICAgIC8vIG91dHNpZGUgYSBtb2R1bGVcIi4gVGhlIC5tanMgZXh0ZW5zaW9uIGZvcmNlcyBFU007IEhhbmRsZXIgc3RheXNcbiAgICAgICAgICAvLyBpbmRleC5oYW5kbGVyICh0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgLm1qcyBmaWxlKS4gbGliL2luZGV4LmpzIGlzIGFcbiAgICAgICAgICAvLyBzZWxmLWNvbnRhaW5lZCBidW5kbGUgKG5vIHJlbGF0aXZlIGltcG9ydHMpLCBzbyB0aGUgc2luZ2xlIGZpbGUgc3VmZmljZXMuXG4gICAgICAgICAgY29uc3QgbWpzUGF0aCA9IHBhdGguam9pbih0bXBEaXIsICdpbmRleC5tanMnKTtcbiAgICAgICAgICBmcy5jb3B5RmlsZVN5bmMoaGFuZGxlclNyYywgbWpzUGF0aCk7XG4gICAgICAgICAgY29uc3QgemlwUGF0aCA9IHBhdGguam9pbih0bXBEaXIsICdpbmRleC56aXAnKTtcbiAgICAgICAgICBleGVjRmlsZVN5bmMoJ3ppcCcsIFsnLWonLCB6aXBQYXRoLCAnaW5kZXgubWpzJ10sIHsgY3dkOiB0bXBEaXIsIHN0ZGlvOiAncGlwZScgfSk7XG5cbiAgICAgICAgICAvLyBVcGxvYWQgZGlyZWN0bHkgdG8gTGFtYmRhIHZpYSBTREsgKG5vIFMzIG5lZWRlZClcbiAgICAgICAgICBwcmludEluZm8oJ1VwbG9hZGluZyBjb2RlIHRvIExhbWJkYScsIHsgZnVuY3Rpb246IExBTUJEQV9OQU1FLCB2ZXJzaW9uIH0pO1xuXG4gICAgICAgICAgY29uc3QgbGFtYmRhQ2xpZW50ID0gbmV3IExhbWJkYUNsaWVudCh7IHJlZ2lvbiB9KTtcbiAgICAgICAgICBhd2FpdCBsYW1iZGFDbGllbnQuc2VuZChuZXcgVXBkYXRlRnVuY3Rpb25Db2RlQ29tbWFuZCh7XG4gICAgICAgICAgICBGdW5jdGlvbk5hbWU6IExBTUJEQV9OQU1FLFxuICAgICAgICAgICAgWmlwRmlsZTogZnMucmVhZEZpbGVTeW5jKHppcFBhdGgpLFxuICAgICAgICAgIH0pKTtcblxuICAgICAgICAgIHByaW50U3VjY2VzcyhgTGFtYmRhIGNvZGUgZGVwbG95ZWQgKCR7UEFDS0FHRV9OQU1FfUAke3ZlcnNpb259KWApO1xuXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgZnMucm1TeW5jKHRtcERpciwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCAzOiBTaG93IG91dHB1dHMgdmlhIFNES1xuICAgICAgICBjb25zdCBjZm5DbGllbnQgPSBuZXcgQ2xvdWRGb3JtYXRpb25DbGllbnQoeyByZWdpb24gfSk7XG4gICAgICAgIGNvbnN0IGRlc2NyaWJlUmVzdWx0ID0gYXdhaXQgY2ZuQ2xpZW50LnNlbmQobmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7IFN0YWNrTmFtZTogU1RBQ0tfTkFNRSB9KSk7XG4gICAgICAgIGNvbnN0IG91dHB1dHMgPSBkZXNjcmliZVJlc3VsdC5TdGFja3M/LlswXT8uT3V0cHV0cyA/PyBbXTtcbiAgICAgICAgY29uc3Qgb3V0cHV0TWFwID0gT2JqZWN0LmZyb21FbnRyaWVzKG91dHB1dHMubWFwKG8gPT4gW28uT3V0cHV0S2V5ID8/ICcnLCBvLk91dHB1dFZhbHVlID8/ICcnXSkpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdFdmVudCBJbmdlc3Rpb24gUmVhZHknKTtcblxuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnU3RhY2snOiBTVEFDS19OQU1FLFxuICAgICAgICAgICdSZWdpb24nOiByZWdpb24sXG4gICAgICAgICAgJ1BsYXRmb3JtIFVSTCc6IHBsYXRmb3JtVXJsLFxuICAgICAgICAgICdMYW1iZGEnOiBvdXRwdXRNYXAuTGFtYmRhRnVuY3Rpb25Bcm4gfHwgTEFNQkRBX05BTUUsXG4gICAgICAgICAgJ0V2ZW50IFF1ZXVlJzogb3V0cHV0TWFwLkV2ZW50UXVldWVVcmwgfHwgJyhzZWUgQVdTIGNvbnNvbGUpJyxcbiAgICAgICAgICAnRGVhZCBMZXR0ZXIgUXVldWUnOiBvdXRwdXRNYXAuRGVhZExldHRlclF1ZXVlVXJsIHx8ICcoc2VlIEFXUyBjb25zb2xlKScsXG4gICAgICAgICAgJ0V2ZW50QnJpZGdlIFJ1bGUnOiBvdXRwdXRNYXAuRXZlbnRSdWxlTmFtZSB8fCAnKHNlZSBBV1MgY29uc29sZSknLFxuICAgICAgICAgICdTdGF0dXMnOiAn4pyTIERlcGxveWVkJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludFN1Y2Nlc3MoJ0V2ZW50QnJpZGdlIGV2ZW50IGluZ2VzdGlvbiBpcyBhY3RpdmUuJyk7XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3NldHVwLWV2ZW50cycsIGV4ZWN1dGlvbklkLCBzdGFjazogU1RBQ0tfTkFNRSB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiE7C"}
|
package/dist/commands/status.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import axios from 'axios';
|
|
4
4
|
import { Command } from 'commander';
|
|
5
5
|
import { ENV_VARS, TIMEOUTS } from '../config/cli.constants.js';
|
|
6
|
+
import { decodeTokenPayload } from '../utils/auth-guard.js';
|
|
6
7
|
import { checkCdkAvailable } from '../utils/cdk-utils.js';
|
|
7
8
|
import { printCommandHeader } from '../utils/command-utils.js';
|
|
8
9
|
import { ERROR_CODES, handleError } from '../utils/error-handler.js';
|
|
@@ -47,22 +48,18 @@ export function status(program) {
|
|
|
47
48
|
catch {
|
|
48
49
|
results['Platform Health'] = 'unreachable';
|
|
49
50
|
}
|
|
50
|
-
// 5. Decode token expiry
|
|
51
|
+
// 5. Decode token expiry (shared decoder — same base64url + exp logic
|
|
52
|
+
// used by audit-tokens / api-client).
|
|
51
53
|
if (token) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (parts.length === 3 && parts[1]) {
|
|
55
|
-
const payload = JSON.parse(Buffer.from(parts[1], 'base64url').toString('utf-8'));
|
|
56
|
-
if (typeof payload.exp === 'number') {
|
|
57
|
-
const expiresAt = new Date(payload.exp * 1000);
|
|
58
|
-
results['Token Expires'] = expiresAt.toISOString();
|
|
59
|
-
results['Token Expired'] = expiresAt.getTime() < Date.now() ? 'yes' : 'no';
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
54
|
+
const payload = decodeTokenPayload(token);
|
|
55
|
+
if (!payload) {
|
|
64
56
|
results['Token Expires'] = 'unable to decode';
|
|
65
57
|
}
|
|
58
|
+
else if (typeof payload.exp === 'number') {
|
|
59
|
+
const expiresAt = new Date(payload.exp * 1000);
|
|
60
|
+
results['Token Expires'] = expiresAt.toISOString();
|
|
61
|
+
results['Token Expired'] = expiresAt.getTime() < Date.now() ? 'yes' : 'no';
|
|
62
|
+
}
|
|
66
63
|
}
|
|
67
64
|
if (options.json) {
|
|
68
65
|
console.log(JSON.stringify({ success: true, executionId, ...results }, null, 2));
|
|
@@ -81,4 +78,4 @@ export function status(program) {
|
|
|
81
78
|
}
|
|
82
79
|
});
|
|
83
80
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3N0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5EOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFDLE9BQWdCO0lBQ3JDLE9BQU87U0FDSixPQUFPLENBQUMsUUFBUSxDQUFDO1NBQ2pCLFdBQVcsQ0FBQywwQ0FBMEMsQ0FBQztTQUN2RCxNQUFNLENBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFFLEtBQUssQ0FBQztTQUNoRCxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQztZQUNILE1BQU0sT0FBTyxHQUEyQixFQUFFLENBQUM7WUFFM0MsMEJBQTBCO1lBQzFCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMs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aHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgRU5WX1ZBUlMsIFRJTUVPVVRTIH0gZnJvbSAnLi4vY29uZmlnL2NsaS5jb25zdGFudHMuanMnO1xuaW1wb3J0IHsgZGVjb2RlVG9rZW5QYXlsb2FkIH0gZnJvbSAnLi4vdXRpbHMvYXV0aC1ndWFyZC5qcyc7XG5pbXBvcnQgeyBjaGVja0Nka0F2YWlsYWJsZSB9IGZyb20gJy4uL3V0aWxzL2Nkay11dGlscy5qcyc7XG5pbXBvcnQgeyBwcmludENvbW1hbmRIZWFkZXIgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IGh0dHBzQWdlbnRGb3JVcmwgfSBmcm9tICcuLi91dGlscy90bHMuanMnO1xuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYHN0YXR1c2AgY29tbWFuZCB3aXRoIHRoZSBDTEkgcHJvZ3JhbS5cbiAqXG4gKiBDaGVja3MgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBDREsgYXZhaWxhYmlsaXR5LCBwbGF0Zm9ybSBjb25uZWN0aXZpdHksXG4gKiBhbmQgdG9rZW4gZXhwaXJ5IHRvIGdpdmUgYSBxdWljayBvdmVydmlldyBvZiB0aGUgY3VycmVudCBzZXR1cC5cbiAqXG4gKiBAcGFyYW0gcHJvZ3JhbSAtIFRoZSByb290IENvbW1hbmRlciBwcm9ncmFtIGluc3RhbmNlIHRvIGF0dGFjaCB0aGUgY29tbWFuZCB0by5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YXR1cyhwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHByb2dyYW1cbiAgICAuY29tbWFuZCgnc3RhdHVzJylcbiAgICAuZGVzY3JpcHRpb24oJ1Nob3cgZW52aXJvbm1lbnQgYW5kIGNvbm5lY3Rpdml0eSBzdGF0dXMnKVxuICAgIC5vcHRpb24oJy0tanNvbicsICdPdXRwdXQgcmVzdWx0IGFzIEpTT04nLCBmYWxzZSlcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignU3RhdHVzJyk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgICAgICAvLyAxLiBDaGVjayBQTEFURk9STV9UT0tFTlxuICAgICAgICBjb25zdCB0b2tlbiA9IHByb2Nlc3MuZW52W0VOVl9WQVJTLlBMQVRGT1JNX1RPS0VOXTtcbiAgICAgICAgcmVzdWx0cy5QTEFURk9STV9UT0tFTiA9IHRva2VuID8gJ3NldCcgOiAnbm90IHNldCc7XG5cbiAgICAgICAgLy8gMi4gQ2hlY2sgUExBVEZPUk1fU0VDUkVUX05BTUVcbiAgICAgICAgY29uc3Qgc2VjcmV0TmFtZSA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1NFQ1JFVF9OQU1FO1xuICAgICAgICByZXN1bHRzLlBMQVRGT1JNX1NFQ1JFVF9OQU1FID0gc2VjcmV0TmFtZSB8fCAnbm90IHNldCc7XG5cbiAgICAgICAgLy8gMy4gQ2hlY2sgQ0RLIGF2YWlsYWJpbGl0eVxuICAgICAgICByZXN1bHRzWydDREsgQXZhaWxhYmxlJ10gPSBjaGVja0Nka0F2YWlsYWJsZSgpID8gJ3llcycgOiAnbm8nO1xuXG4gICAgICAgIC8vIDQuIENoZWNrIHBsYXRmb3JtIGhlYWx0aFxuICAgICAgICBjb25zdCBiYXNlVXJsID0gcHJvY2Vzcy5lbnZbRU5WX1ZBUlMuUExBVEZPUk1fQkFTRV9VUkxdIHx8ICdodHRwczovL2xvY2FsaG9zdDo4NDQzJztcbiAgICAgICAgcmVzdWx0cy5QTEFURk9STV9CQVNFX1VSTCA9IGJhc2VVcmw7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBTa2lwIGNlcnQgdmVyaWZpY2F0aW9uIG9ubHkgZm9yIGxvY2FsL3NlbGYtc2lnbmVkIGhvc3RzOyB2ZXJpZnkgcmVhbCBkb21haW5zLlxuICAgICAgICAgIGF3YWl0IGF4aW9zLmdldChgJHtiYXNlVXJsfS9oZWFsdGhgLCB7XG4gICAgICAgICAgICB0aW1lb3V0OiBUSU1FT1VUUy5IRUFMVEhfQ0hFQ0ssXG4gICAgICAgICAgICBodHRwc0FnZW50OiBodHRwc0FnZW50Rm9yVXJsKGJhc2VVcmwpLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJlc3VsdHNbJ1BsYXRmb3JtIEhlYWx0aCddID0gJ3JlYWNoYWJsZSc7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIHJlc3VsdHNbJ1BsYXRmb3JtIEhlYWx0aCddID0gJ3VucmVhY2hhYmxlJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDUuIERlY29kZSB0b2tlbiBleHBpcnkgKHNoYXJlZCBkZWNvZGVyIOKAlCBzYW1lIGJhc2U2NHVybCArIGV4cCBsb2dpY1xuICAgICAgICAvLyB1c2VkIGJ5IGF1ZGl0LXRva2VucyAvIGFwaS1jbGllbnQpLlxuICAgICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgICBjb25zdCBwYXlsb2FkID0gZGVjb2RlVG9rZW5QYXlsb2FkKHRva2VuKTtcbiAgICAgICAgICBpZiAoIXBheWxvYWQpIHtcbiAgICAgICAgICAgIHJlc3VsdHNbJ1Rva2VuIEV4cGlyZXMnXSA9ICd1bmFibGUgdG8gZGVjb2RlJztcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXlsb2FkLmV4cCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIGNvbnN0IGV4cGlyZXNBdCA9IG5ldyBEYXRlKHBheWxvYWQuZXhwICogMTAwMCk7XG4gICAgICAgICAgICByZXN1bHRzWydUb2tlbiBFeHBpcmVzJ10gPSBleHBpcmVzQXQudG9JU09TdHJpbmcoKTtcbiAgICAgICAgICAgIHJlc3VsdHNbJ1Rva2VuIEV4cGlyZWQnXSA9IGV4cGlyZXNBdC5nZXRUaW1lKCkgPCBEYXRlLm5vdygpID8gJ3llcycgOiAnbm8nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmpzb24pIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh7IHN1Y2Nlc3M6IHRydWUsIGV4ZWN1dGlvbklkLCAuLi5yZXN1bHRzIH0sIG51bGwsIDIpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmludFNlY3Rpb24oJ0Vudmlyb25tZW50IFN0YXR1cycpO1xuICAgICAgICAgIHByaW50S2V5VmFsdWUocmVzdWx0cyk7XG4gICAgICAgIH1cblxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkdFTkVSQUwsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdzdGF0dXMnLCBleGVjdXRpb25JZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-token.d.ts","sourceRoot":"","sources":["../../src/commands/store-token.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4FpC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"store-token.d.ts","sourceRoot":"","sources":["../../src/commands/store-token.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4FpC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsNjD"}
|
|
@@ -114,6 +114,7 @@ export function storeToken(program) {
|
|
|
114
114
|
.option('-e, --email <email>', 'Login email (skips PLATFORM_TOKEN requirement)')
|
|
115
115
|
.option('-p, --password <password>', 'Login password (used with --email)')
|
|
116
116
|
.option('--days <days>', 'Token lifetime in days', '30')
|
|
117
|
+
.option('--scope <scope>', 'Mint a narrow-scope machine token (e.g. "reporting:ingest") and store it at a scope-specific secret path instead of the shared platform secret')
|
|
117
118
|
.option('--dry-run', 'Show what would be stored without writing to Secrets Manager', false)
|
|
118
119
|
.option('--region <region>', 'AWS region (default: us-east-1, or AWS_REGION env)')
|
|
119
120
|
.option('--profile <profile>', 'AWS CLI profile', 'default')
|
|
@@ -141,7 +142,14 @@ export function storeToken(program) {
|
|
|
141
142
|
// Resolve secret name from the token's organizationId. An explicit
|
|
142
143
|
// PLATFORM_SECRET_NAME env wins (escape hatch for system/no-org tokens and
|
|
143
144
|
// the renewal Lambda); otherwise derive `{prefix}/{orgId}/platform`.
|
|
144
|
-
|
|
145
|
+
// A `--scope` token is a distinct machine credential — store it at a
|
|
146
|
+
// scope-specific path (`.../reporting-ingest`) so it never clobbers the
|
|
147
|
+
// full-privilege platform token used by synth/deploy callbacks.
|
|
148
|
+
const scope = options.scope;
|
|
149
|
+
const baseSecretName = process.env.PLATFORM_SECRET_NAME || resolveSecretName(process.env.PLATFORM_TOKEN);
|
|
150
|
+
const secretName = scope && !process.env.PLATFORM_SECRET_NAME
|
|
151
|
+
? baseSecretName.replace(/\/platform$/, `/${scope.replace(/[^a-z0-9]+/gi, '-')}`)
|
|
152
|
+
: baseSecretName;
|
|
145
153
|
auditLog('store-token', { executionId, secretName, days, dryRun: options.dryRun });
|
|
146
154
|
printInfo('Parameters', {
|
|
147
155
|
secretName,
|
|
@@ -151,7 +159,7 @@ export function storeToken(program) {
|
|
|
151
159
|
dryRun: options.dryRun,
|
|
152
160
|
});
|
|
153
161
|
printInfo('Requesting token', { expiresIn: `${expiresInSeconds}s (${days} days)` });
|
|
154
|
-
const tokenResponse = await client.post('/api/user/generate-token', { expiresIn: expiresInSeconds });
|
|
162
|
+
const tokenResponse = await client.post('/api/user/generate-token', { expiresIn: expiresInSeconds, ...(scope ? { scope } : {}) });
|
|
155
163
|
const tokenData = tokenResponse?.data ?? tokenResponse;
|
|
156
164
|
const accessToken = tokenData?.accessToken;
|
|
157
165
|
const refreshToken = tokenData?.refreshToken;
|
|
@@ -289,4 +297,4 @@ export function storeToken(program) {
|
|
|
289
297
|
}
|
|
290
298
|
});
|
|
291
299
|
}
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc3RvcmUtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJGLDBEQUEwRDtBQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFL0QsTUFBTSxnQkFBZ0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN4RCwrRUFBK0U7QUFDL0UsTUFBTSxpQkFBaUIsR0FBRyw4QkFBOEIsQ0FBQztBQUN6RCxnR0FBZ0c7QUFDaEcsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUM7QUFFdkM7Ozs7Ozs7R0FPRztBQUNILEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxJQU9sQztJQUNDLE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsMkJBQTJCO0lBRTdGLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsQ0FBQyxZQUFZLEVBQUU7UUFDdEIsS0FBSyxFQUFFLGdCQUFnQjtRQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWE7UUFDNUIsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUk7S0FDckIsQ0FBQyxDQUFDO0lBRUgsZ0VBQWdFO0lBQ2hFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHFDQUFxQyxDQUFDLENBQUM7SUFDakYsTUFBTSxPQUFPLEdBQUc7UUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1FBQzFCLGNBQWMsRUFBRSxnQkFBZ0I7UUFDaEMsaUJBQWlCLEVBQUUsWUFBWTtRQUMvQix1QkFBdUI7UUFDdkIsbUJBQW1CLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDckMsc0JBQXNCLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDdkMsYUFBYSxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ3hCLHNCQUFzQixrQkFBa0IsRUFBRTtRQUMxQyw0RUFBNEU7UUFDNUUsNENBQTRDO1FBQzVDLDBCQUEwQixXQUFXLEVBQUU7UUFDdkMsZ0JBQWdCLEVBQUUsc0JBQXNCO1FBQ3hDLDhCQUE4QjtRQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU07S0FDeEIsQ0FBQztJQUNGLElBQUksSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsWUFBWSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUVuRCxnRkFBZ0Y7SUFDaEYsMEVBQTBFO0lBQzFFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGtDQUFrQyxDQUFDLENBQUM7SUFDNUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxVQUFVLDJCQUEyQixDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLENBQUM7UUFDSCxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVsRixNQUFNLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvRCxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSx5QkFBeUIsQ0FBQztZQUNwRCxZQUFZLEVBQUUsaUJBQWlCO1lBQy9CLE9BQU8sRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztTQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7WUFBUyxDQUFDO1FBQ1QsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxZQUFZLENBQUMsc0JBQXNCLGtCQUFrQixHQUFHLENBQUMsQ0FBQztJQUMxRCxPQUFPLGtCQUFrQixDQUFDO0FBQzVCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsT0FBZ0I7SUFDekMsT0FBTztTQUNKLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDdEIsV0FBVyxDQUFDLHlFQUF5RSxDQUFDO1NBQ3RGLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxnREFBZ0QsQ0FBQztTQUMvRSxNQUFNLENBQUMsMkJBQTJCLEVBQUUsb0NBQW9DLENBQUM7U0FDekUsTUFBTSxDQUFDLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLENBQUM7U0FDdkQsTUFBTSxDQUFDLFdBQVcsRUFBRSw4REFBOEQsRUFBRSxLQUFLLENBQUM7U0FDMUYsTUFBTSxDQUFDLG1CQUFtQixFQUFFLG9EQUFvRCxDQUFDO1NBQ2pGLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLENBQUM7U0FDM0QsTUFBTSxDQUFDLFlBQVksRUFBRSx3RkFBd0YsRUFBRSxLQUFLLENBQUM7U0FDckgsTUFBTSxDQUFDLGVBQWUsRUFBRSxtSUFBbUksQ0FBQztTQUM1SixNQUFNLENBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFFLEtBQUssQ0FBQztTQUNoRCxNQUFNLENBQUMsY0FBYyxFQUFFLHFDQUFxQyxDQUFDO1NBQzdELE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxzQ0FBc0MsQ0FBQztTQUNqRSxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQztZQUNILGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFbkMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLFdBQVcsQ0FBQztZQUV6RyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBRTdDLDZFQUE2RTtZQUM3RSw0RUFBNEU7WUFDNUUsOEVBQThFO1lBQzlFLDBFQUEwRTtZQUMxRSxvREFBb0Q7WUFDcEQsTUFBTSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVuQyxxREFBcUQ7WUFDckQsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFL0IsTUFBTSxNQUFNLEdBQUcsTUFBTSw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU3RCxtRUFBbUU7WUFDbkUsMkVBQTJFO1lBQzNFLHFFQUFxRTtZQUNyRSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBZSxDQUFDLENBQUM7WUFFdEcsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUVuRixTQUFTLENBQUMsWUFBWSxFQUFFO2dCQUN0QixVQUFVO2dCQUNWLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixTQUFTLEVBQUUsR0FBRyxnQkFBZ0IsR0FBRztnQkFDakMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2FBQ3ZCLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLGdCQUFnQixNQUFNLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztZQUVwRixNQUFNLGFBQWEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQ3JDLDBCQUEwQixFQUMxQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUNoQyxDQUFDO1lBRUYsTUFBTSxTQUFTLEdBQUksYUFBeUMsRUFBRSxJQUFJLElBQUksYUFBYSxDQUFDO1lBQ3BGLE1BQU0sV0FBVyxHQUFJLFNBQXFDLEVBQUUsV0FBaUMsQ0FBQztZQUM5RixNQUFNLFlBQVksR0FBSSxTQUFxQyxFQUFFLFlBQWtDLENBQUM7WUFDaEcsTUFBTSxlQUFlLEdBQUssU0FBcUMsRUFBRSxTQUFvQixJQUFJLGdCQUFnQixDQUFDO1lBRTFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1lBQzNFLENBQUM7WUFFRCxZQUFZLENBQUMsK0JBQStCLGVBQWUsSUFBSSxDQUFDLENBQUM7WUFFakUsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLGVBQWUsR0FBRyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUU5RSwwREFBMEQ7WUFDMUQsNkVBQTZFO1lBQzdFLG9FQUFvRTtZQUNwRSxvRUFBb0U7WUFDcEUseUJBQXlCO1lBQ3pCLDJFQUEyRTtZQUMzRSwwRUFBMEU7WUFDMUUsNEVBQTRFO1lBQzVFLHlFQUF5RTtZQUN6RSx1RUFBdUU7WUFDdkUscUVBQXFFO1lBQ3JFLDBFQUEwRTtZQUMxRSx3QkFBd0I7WUFDeEIsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxhQUFhLENBQUM7WUFFL0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDakMsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLHNFQUFzRTtnQkFDdEUsd0VBQXdFO2dCQUN4RSx1RUFBdUU7Z0JBQ3ZFLG1FQUFtRTtnQkFDbkUsV0FBVztnQkFDWCxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7Z0JBQ3JDLFdBQVcsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFO2dCQUNoQyxTQUFTLEVBQUUsZUFBZTtnQkFDMUIsU0FBUztnQkFDVCxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7YUFDcEMsQ0FBQyxDQUFDO1lBRUgscUNBQXFDO1lBQ3JDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNuQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3dCQUN6QixPQUFPLEVBQUUsSUFBSTt3QkFDYixNQUFNLEVBQUUsSUFBSTt3QkFDWixVQUFVO3dCQUNWLE1BQU07d0JBQ04sYUFBYSxFQUFFLElBQUk7d0JBQ25CLFNBQVM7d0JBQ1QsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNO3dCQUMvQixlQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVk7cUJBQ2hDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2hCLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO29CQUMxQyxhQUFhLENBQUM7d0JBQ1osYUFBYSxFQUFFLFVBQVU7d0JBQ3pCLFFBQVEsRUFBRSxNQUFNO3dCQUNoQixZQUFZLEVBQUUsR0FBRyxJQUFJLE9BQU87d0JBQzVCLFVBQVUsRUFBRSxTQUFTO3dCQUNyQixjQUFjLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxRQUFRO3dCQUM3QyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtxQkFDakQsQ0FBQyxDQUFDO29CQUNILFlBQVksQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQseUNBQXlDO1lBQ3pDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUU1QixNQUFNLFdBQVcsR0FBRyxnQ0FBZ0MsU0FBUyxHQUFHLENBQUM7WUFDakUsTUFBTSxZQUFZLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBRS9GLE1BQU0sR0FBRyxHQUFHLE1BQU0sWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFakYsOEVBQThFO1lBQzlFLDRFQUE0RTtZQUM1RSxtREFBbUQ7WUFDbkQsSUFBSSxrQkFBc0MsQ0FBQztZQUMzQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLGtCQUFrQixDQUFDO2dCQUM3RixrQkFBa0IsR0FBRyxNQUFNLG1CQUFtQixDQUFDO29CQUM3QyxXQUFXLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRTtvQkFDaEMsVUFBVTtvQkFDVixJQUFJO29CQUNKLGFBQWE7b0JBQ2IsTUFBTTtvQkFDTixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87aUJBQ3pCLENBQUMsQ0FBQztZQUNMLENBQUM7WUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUN6QixPQUFPLEVBQUUsSUFBSTtvQkFDYixVQUFVO29CQUNWLFNBQVMsRUFBRSxHQUFHO29CQUNkLE1BQU07b0JBQ04sYUFBYSxFQUFFLElBQUk7b0JBQ25CLFNBQVM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQixJQUFJLElBQUk7aUJBQ3JDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEIsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUU3QixhQUFhLENBQUM7b0JBQ1osYUFBYSxFQUFFLFVBQVU7b0JBQ3pCLFlBQVksRUFBRSxHQUFHO29CQUNqQixRQUFRLEVBQUUsTUFBTTtvQkFDaEIsWUFBWSxFQUFFLEdBQUcsSUFBSSxPQUFPO29CQUM1QixVQUFVLEVBQUUsU0FBUztvQkFDckIsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLGlDQUFpQztvQkFDaEcsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUMsQ0FBQztnQkFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixZQUFZLENBQUMseUNBQXlDLENBQUMsQ0FBQztnQkFDeEQsU0FBUyxDQUFDLGlDQUFpQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxTQUFTLENBQUMsNERBQTRELENBQUMsQ0FBQztnQkFDeEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO29CQUN2QixTQUFTLENBQUMsMkJBQTJCLGtCQUFrQixrQ0FBa0MsU0FBUyxHQUFHLENBQUMsQ0FBQztnQkFDekcsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFNBQVMsQ0FBQyxnQkFBZ0IsU0FBUyw4Q0FBOEMsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDekYsU0FBUyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7Z0JBQzVFLENBQUM7WUFDSCxDQUFDO1FBRUgsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxhQUFhO29CQUN0QixXQUFXO29CQUNYLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLHNCQUFzQjtpQkFDdkU7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgTGFtYmRhQ2xpZW50LCBVcGRhdGVGdW5jdGlvbkNvZGVDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWxhbWJkYSc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IEFQUF9WRVJTSU9OLCB2YWxpZGF0ZU51bWJlciB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IGF1ZGl0TG9nIH0gZnJvbSAnLi4vdXRpbHMvYXVkaXQtbG9nLmpzJztcbmltcG9ydCB7IGRlY29kZVRva2VuUGF5bG9hZCB9IGZyb20gJy4uL3V0aWxzL2F1dGgtZ3VhcmQuanMnO1xuaW1wb3J0IHsgdXBzZXJ0U2VjcmV0LCBnZXRTZWNyZXRBcm4gfSBmcm9tICcuLi91dGlscy9hd3Mtc2VjcmV0cy5qcyc7XG5pbXBvcnQgeyBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50QXN5bmMsIHByaW50Q29tbWFuZEhlYWRlciwgcHJpbnRTc2xXYXJuaW5nIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyB0b0V2ZW50QnJpZGdlQ3JvbiB9IGZyb20gJy4uL3V0aWxzL2Nyb24uanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBwcmludEluZm8sIHByaW50S2V5VmFsdWUsIHByaW50U2VjdGlvbiwgcHJpbnRTdWNjZXNzIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IGVuc3VyZVBsYXRmb3JtVG9rZW4sIHJlc29sdmVTZWNyZXROYW1lIH0gZnJvbSAnLi4vdXRpbHMvcGxhdGZvcm0tc2VjcmV0LmpzJztcblxuLy8gRVNNIGhhcyBubyBfX2Rpcm5hbWU7IGRlcml2ZSBpdCBmcm9tIHRoaXMgbW9kdWxlJ3MgVVJMLlxuY29uc3QgX19kaXJuYW1lID0gcGF0aC5kaXJuYW1lKGZpbGVVUkxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKSk7XG5cbmNvbnN0IFJFTkVXX1NUQUNLX05BTUUgPSAncGlwZWxpbmUtYnVpbGRlci10b2tlbi1yZW5ldyc7XG4vLyBDRk4tbWFuYWdlZCBMYW1iZGEgZnVuY3Rpb24gbmFtZSDigJQga2VlcCBpbiBzeW5jIHdpdGggdG9rZW4tcmVuZXctc3RhY2suanNvbi5cbmNvbnN0IFJFTkVXX0xBTUJEQV9OQU1FID0gJ3BpcGVsaW5lLWJ1aWxkZXItdG9rZW4tcmVuZXcnO1xuLy8gRGVmYXVsdCA1LWZpZWxkIGNyb24gKGRhaWx5IGF0IG1pZG5pZ2h0KSB3aGVuIG5laXRoZXIgLS1jcm9uIG5vciBUT0tFTl9SRU5FV19TQ0hFRFVMRSBpcyBzZXQuXG5jb25zdCBERUZBVUxUX1JFTkVXX0NST04gPSAnMCAwICogKiAqJztcblxuLyoqXG4gKiBEZXBsb3kgKG9yIHVwZGF0ZSkgdGhlIG9uY2UtYS1kYXkgdG9rZW4tcmVuZXdhbCBzdGFjazogYSBzY2hlZHVsZWQgTGFtYmRhIHRoYXRcbiAqIHJlLW1pbnRzIHRoZSBwbGF0Zm9ybSBKV1QgaW4gdGhpcyBzYW1lIHNlY3JldCBiZWZvcmUgaXQgZXhwaXJlcy4gTWlycm9yc1xuICogc2V0dXAtZXZlbnRzIOKAlCBgYXdzIGNsb3VkZm9ybWF0aW9uIGRlcGxveWAgZm9yIHRoZSBpbmZyYSwgdGhlbiBhIGRpcmVjdFxuICogVXBkYXRlRnVuY3Rpb25Db2RlIHdpdGggdGhlIHRoaW4gb3JjaGVzdHJhdG9yIGhhbmRsZXIgY29tcGlsZWQgYWxvbmdzaWRlIHRoaXNcbiAqIENMSSAodGhlIGhhbmRsZXIgbnBtLWluc3RhbGxzIHBpcGVsaW5lLW1hbmFnZXIgYXQgcnVudGltZSBhbmQgcmUtcnVuc1xuICogc3RvcmUtdG9rZW47IHNlZSBzcmMvbGFtYmRhL3Rva2VuLXJlbmV3LWhhbmRsZXIudHMpLlxuICovXG5hc3luYyBmdW5jdGlvbiBkZXBsb3lSZW5ld1NjaGVkdWxlKG9wdHM6IHtcbiAgcGxhdGZvcm1Vcmw6IHN0cmluZztcbiAgc2VjcmV0TmFtZTogc3RyaW5nO1xuICBkYXlzOiBudW1iZXI7XG4gIGZpdmVGaWVsZENyb246IHN0cmluZztcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIHByb2ZpbGU/OiBzdHJpbmc7XG59KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3Qgc2NoZWR1bGVFeHByZXNzaW9uID0gdG9FdmVudEJyaWRnZUNyb24ob3B0cy5maXZlRmllbGRDcm9uKTsgLy8gdmFsaWRhdGVzICsgMTUtbWluIGd1YXJkXG5cbiAgcHJpbnRTZWN0aW9uKCdTY2hlZHVsZSBSZW5ld2FsJyk7XG4gIHByaW50SW5mbygnUGFyYW1ldGVycycsIHtcbiAgICBzdGFjazogUkVORVdfU1RBQ0tfTkFNRSxcbiAgICBzY2hlZHVsZTogb3B0cy5maXZlRmllbGRDcm9uLFxuICAgIGV2ZW50YnJpZGdlOiBzY2hlZHVsZUV4cHJlc3Npb24sXG4gICAgcmVuZXdEYXlzOiBvcHRzLmRheXMsXG4gIH0pO1xuXG4gIC8vIFN0ZXAgMTogaW5mcmEgKExhbWJkYSBnZXRzIHBsYWNlaG9sZGVyIGNvZGUgb24gZmlyc3QgY3JlYXRlKS5cbiAgY29uc3QgdGVtcGxhdGVQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL3RlbXBsYXRlcy90b2tlbi1yZW5ldy1zdGFjay5qc29uJyk7XG4gIGNvbnN0IGNmbkFyZ3MgPSBbXG4gICAgJ2Nsb3VkZm9ybWF0aW9uJywgJ2RlcGxveScsXG4gICAgJy0tc3RhY2stbmFtZScsIFJFTkVXX1NUQUNLX05BTUUsXG4gICAgJy0tdGVtcGxhdGUtZmlsZScsIHRlbXBsYXRlUGF0aCxcbiAgICAnLS1wYXJhbWV0ZXItb3ZlcnJpZGVzJyxcbiAgICBgUGxhdGZvcm1CYXNlVXJsPSR7b3B0cy5wbGF0Zm9ybVVybH1gLFxuICAgIGBQbGF0Zm9ybVNlY3JldE5hbWU9JHtvcHRzLnNlY3JldE5hbWV9YCxcbiAgICBgUmVuZXdEYXlzPSR7b3B0cy5kYXlzfWAsXG4gICAgYFNjaGVkdWxlRXhwcmVzc2lvbj0ke3NjaGVkdWxlRXhwcmVzc2lvbn1gLFxuICAgIC8vIFBpbiB0aGUgaGFuZGxlcidzIHJ1bnRpbWUgbnBtIGluc3RhbGwgdG8gVEhJUyBDTEkncyB2ZXJzaW9uIChyZXByb2R1Y2libGVcbiAgICAvLyByZW5ld2FscyBpbnN0ZWFkIG9mIGEgZmxvYXRpbmcgXCJsYXRlc3RcIikuXG4gICAgYFBpcGVsaW5lTWFuYWdlclZlcnNpb249JHtBUFBfVkVSU0lPTn1gLFxuICAgICctLWNhcGFiaWxpdGllcycsICdDQVBBQklMSVRZX05BTUVEX0lBTScsXG4gICAgJy0tbm8tZmFpbC1vbi1lbXB0eS1jaGFuZ2VzZXQnLFxuICAgICctLXJlZ2lvbicsIG9wdHMucmVnaW9uLFxuICBdO1xuICBpZiAob3B0cy5wcm9maWxlKSBjZm5BcmdzLnB1c2goJy0tcHJvZmlsZScsIG9wdHMucHJvZmlsZSk7XG4gIGV4ZWNGaWxlU3luYygnYXdzJywgY2ZuQXJncywgeyBzdGRpbzogJ2luaGVyaXQnIH0pO1xuXG4gIC8vIFN0ZXAgMjogdXBsb2FkIHRoZSByZWFsIGhhbmRsZXIuIEl0J3MgRVNNLCBzbyB0aGUgemlwIGVudHJ5IG11c3QgYmUgaW5kZXgubWpzXG4gIC8vIChIYW5kbGVyIHN0YXlzIGluZGV4LmhhbmRsZXIg4oCUIG5vZGVqczI0LnggcmVzb2x2ZXMgdGhlIC5tanMgZXh0ZW5zaW9uKS5cbiAgY29uc3QgaGFuZGxlclNyYyA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9sYW1iZGEvdG9rZW4tcmVuZXctaGFuZGxlci5qcycpO1xuICBpZiAoIWZzLmV4aXN0c1N5bmMoaGFuZGxlclNyYykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRva2VuLXJlbmV3IGhhbmRsZXIgbm90IGZvdW5kIGF0ICR7aGFuZGxlclNyY30g4oCUIHdhcyB0aGUgcGFja2FnZSBidWlsdD9gKTtcbiAgfVxuICBjb25zdCB0bXBEaXIgPSBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4ob3MudG1wZGlyKCksICd0b2tlbi1yZW5ldy0nKSk7XG4gIHRyeSB7XG4gICAgZnMuY29weUZpbGVTeW5jKGhhbmRsZXJTcmMsIHBhdGguam9pbih0bXBEaXIsICdpbmRleC5tanMnKSk7XG4gICAgY29uc3QgemlwUGF0aCA9IHBhdGguam9pbih0bXBEaXIsICdpbmRleC56aXAnKTtcbiAgICBleGVjRmlsZVN5bmMoJ3ppcCcsIFsnLWonLCB6aXBQYXRoLCAnaW5kZXgubWpzJ10sIHsgY3dkOiB0bXBEaXIsIHN0ZGlvOiAncGlwZScgfSk7XG5cbiAgICBjb25zdCBsYW1iZGFDbGllbnQgPSBuZXcgTGFtYmRhQ2xpZW50KHsgcmVnaW9uOiBvcHRzLnJlZ2lvbiB9KTtcbiAgICBhd2FpdCBsYW1iZGFDbGllbnQuc2VuZChuZXcgVXBkYXRlRnVuY3Rpb25Db2RlQ29tbWFuZCh7XG4gICAgICBGdW5jdGlvbk5hbWU6IFJFTkVXX0xBTUJEQV9OQU1FLFxuICAgICAgWmlwRmlsZTogZnMucmVhZEZpbGVTeW5jKHppcFBhdGgpLFxuICAgIH0pKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBmcy5ybVN5bmModG1wRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gIH1cblxuICBwcmludFN1Y2Nlc3MoYFJlbmV3YWwgc2NoZWR1bGVkICgke3NjaGVkdWxlRXhwcmVzc2lvbn0pYCk7XG4gIHJldHVybiBzY2hlZHVsZUV4cHJlc3Npb247XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBgc3RvcmUtdG9rZW5gIGNvbW1hbmQgd2l0aCB0aGUgQ0xJIHByb2dyYW0uXG4gKlxuICogR2VuZXJhdGVzIGEgbG9uZy1saXZlZCBKV1QgdG9rZW4gdmlhIHRoZSBwbGF0Zm9ybSBBUEkgYW5kIHN0b3JlcyBpdFxuICogaW4gQVdTIFNlY3JldHMgTWFuYWdlciBmb3IgdXNlIGJ5IHRoZSBzeW50aC9kZXBsb3kgLS1zdG9yZS10b2tlbnMgZmxhZy5cbiAqXG4gKiBSZXF1aXJlcyBQTEFURk9STV9UT0tFTiB0byBiZSBzZXQsIG9yIHVzZSAtLWVtYWlsLy0tcGFzc3dvcmQgdG8gbG9naW4gaW5saW5lLlxuICpcbiAqIEJ5IGRlZmF1bHQgaXQgT05MWSB3cml0ZXMgdGhlIHNlY3JldC4gUGFzcyAtLXNjaGVkdWxlIHRvIGFsc28gZGVwbG95IHRoZSBkYWlseVxuICogdG9rZW4tcmVuZXdhbCBzdGFjayAoYSBMYW1iZGEgdGhhdCBhdXRvLXJlbmV3cyB0aGlzIHRva2VuIGJlZm9yZSBpdCBleHBpcmVzKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgYmFzaFxuICogcGlwZWxpbmUtbWFuYWdlciBzdG9yZS10b2tlbiAtLXJlZ2lvbiB1cy1lYXN0LTFcbiAqIHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW4gLS1kYXlzIDkwIC0tcmVnaW9uIHVzLWVhc3QtMVxuICogcGlwZWxpbmUtbWFuYWdlciBzdG9yZS10b2tlbiAtLXNjaGVkdWxlIC0tcmVnaW9uIHVzLWVhc3QtMSAgICAgICAgICAjICsgZGFpbHkgYXV0by1yZW5ld2FsXG4gKiBwaXBlbGluZS1tYW5hZ2VyIHN0b3JlLXRva2VuIC0tc2NoZWR1bGUgLS1jcm9uICcwIDMgKiAqIConICAgICAgICAgICMgY3VzdG9tIHJlbmV3YWwgdGltZVxuICogcGlwZWxpbmUtbWFuYWdlciBzdG9yZS10b2tlbiAtLWRheXMgNyAtLW5vLXZlcmlmeS1zc2xcbiAqIFBMQVRGT1JNX1NFQ1JFVF9OQU1FPW15LWN1c3RvbS1zZWNyZXQgcGlwZWxpbmUtbWFuYWdlciBzdG9yZS10b2tlbiAgICMgb3ZlcnJpZGUgdGhlIGRlcml2ZWQgbmFtZVxuICogcGlwZWxpbmUtbWFuYWdlciBzdG9yZS10b2tlbiAtLWRyeS1ydW5cbiAqIHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW4gLWUgYWRtaW4gLXAgJyoqKicgLS1yZWdpb24gdXMtZWFzdC0xXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0b3JlVG9rZW4ocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICBwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3N0b3JlLXRva2VuJylcbiAgICAuZGVzY3JpcHRpb24oJ0dlbmVyYXRlIEpXVCB0b2tlbiBhbmQgc3RvcmUgaW4gQVdTIFNlY3JldHMgTWFuYWdlciBmb3IgQ0RLIGRlcGxveW1lbnRzJylcbiAgICAub3B0aW9uKCctZSwgLS1lbWFpbCA8ZW1haWw+JywgJ0xvZ2luIGVtYWlsIChza2lwcyBQTEFURk9STV9UT0tFTiByZXF1aXJlbWVudCknKVxuICAgIC5vcHRpb24oJy1wLCAtLXBhc3N3b3JkIDxwYXNzd29yZD4nLCAnTG9naW4gcGFzc3dvcmQgKHVzZWQgd2l0aCAtLWVtYWlsKScpXG4gICAgLm9wdGlvbignLS1kYXlzIDxkYXlzPicsICdUb2tlbiBsaWZldGltZSBpbiBkYXlzJywgJzMwJylcbiAgICAub3B0aW9uKCctLWRyeS1ydW4nLCAnU2hvdyB3aGF0IHdvdWxkIGJlIHN0b3JlZCB3aXRob3V0IHdyaXRpbmcgdG8gU2VjcmV0cyBNYW5hZ2VyJywgZmFsc2UpXG4gICAgLm9wdGlvbignLS1yZWdpb24gPHJlZ2lvbj4nLCAnQVdTIHJlZ2lvbiAoZGVmYXVsdDogdXMtZWFzdC0xLCBvciBBV1NfUkVHSU9OIGVudiknKVxuICAgIC5vcHRpb24oJy0tcHJvZmlsZSA8cHJvZmlsZT4nLCAnQVdTIENMSSBwcm9maWxlJywgJ2RlZmF1bHQnKVxuICAgIC5vcHRpb24oJy0tc2NoZWR1bGUnLCAnQWxzbyBkZXBsb3kgdGhlIGRhaWx5IHRva2VuLXJlbmV3YWwgc3RhY2sgdGhhdCBhdXRvLXJlbmV3cyB0aGlzIHRva2VuIChvZmYgYnkgZGVmYXVsdCknLCBmYWxzZSlcbiAgICAub3B0aW9uKCctLWNyb24gPGV4cHI+JywgJ1JlbmV3YWwgc2NoZWR1bGUgYXMgYSA1LWZpZWxkIGNyb24sIHVzZWQgd2l0aCAtLXNjaGVkdWxlIChkZWZhdWx0OiBUT0tFTl9SRU5FV19TQ0hFRFVMRSBlbnYgb3IgXCIwIDAgKiAqICpcIjsgbWluIGV2ZXJ5IDE1IG1pbnV0ZXMpJylcbiAgICAub3B0aW9uKCctLWpzb24nLCAnT3V0cHV0IHJlc3VsdCBhcyBKU09OJywgZmFsc2UpXG4gICAgLm9wdGlvbignLS12ZXJpZnktc3NsJywgJ0VuYWJsZSBTU0wgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uJylcbiAgICAub3B0aW9uKCctLW5vLXZlcmlmeS1zc2wnLCAnRGlzYWJsZSBTU0wgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignU3RvcmUgVG9rZW4nKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcHJpbnRTc2xXYXJuaW5nKG9wdGlvbnMudmVyaWZ5U3NsKTtcblxuICAgICAgICBjb25zdCByZWdpb24gPSBvcHRpb25zLnJlZ2lvbiB8fCBwcm9jZXNzLmVudi5BV1NfUkVHSU9OIHx8IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTiB8fCAndXMtZWFzdC0xJztcblxuICAgICAgICBjb25zdCBkYXlzID0gdmFsaWRhdGVOdW1iZXIob3B0aW9ucy5kYXlzLCAnZGF5cycsIDEsIDM2NSk7XG4gICAgICAgIGNvbnN0IGV4cGlyZXNJblNlY29uZHMgPSBkYXlzICogMjQgKiA2MCAqIDYwO1xuXG4gICAgICAgIC8vIFN0ZXAgMDogbG9nIGluIGZpcnN0IHdoZW4gY3JlZHMgYXJlIGF2YWlsYWJsZSBhbmQgbm8gUExBVEZPUk1fVE9LRU4gaXMgc2V0XG4gICAgICAgIC8vIChzaGFyZWQgd2l0aCBzZXR1cC1ldmVudHMpLiBDcmVkcyBjb21lIGZyb20gLS1lbWFpbC8tLXBhc3N3b3JkIE9SIHRoZSBlbnZcbiAgICAgICAgLy8gdmFycyBQTEFURk9STV9JREVOVElGSUVSL1BMQVRGT1JNX1BBU1NXT1JEIOKAlCB0aGUgZW52IHBhdGggbGV0cyBjYWxsZXJzIGxpa2VcbiAgICAgICAgLy8gYHByb3Zpc2lvbiAtLXdpdGgtZXZlbnRzYCBwYXNzIHRoZW0gd2l0aG91dCBwdXR0aW5nIHRoZSBwYXNzd29yZCBvbiB0aGVcbiAgICAgICAgLy8gY29tbWFuZCBsaW5lICh3aGVyZSBpdCB3b3VsZCBzaG93IGluIHBsYW5zL2xvZ3MpLlxuICAgICAgICBhd2FpdCBlbnN1cmVQbGF0Zm9ybVRva2VuKG9wdGlvbnMpO1xuXG4gICAgICAgIC8vIFN0ZXAgMTogQXV0aGVudGljYXRlIGFuZCBnZW5lcmF0ZSBsb25nLWxpdmVkIHRva2VuXG4gICAgICAgIHByaW50U2VjdGlvbignR2VuZXJhdGUgVG9rZW4nKTtcblxuICAgICAgICBjb25zdCBjbGllbnQgPSBhd2FpdCBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50QXN5bmMob3B0aW9ucyk7XG5cbiAgICAgICAgLy8gUmVzb2x2ZSBzZWNyZXQgbmFtZSBmcm9tIHRoZSB0b2tlbidzIG9yZ2FuaXphdGlvbklkLiBBbiBleHBsaWNpdFxuICAgICAgICAvLyBQTEFURk9STV9TRUNSRVRfTkFNRSBlbnYgd2lucyAoZXNjYXBlIGhhdGNoIGZvciBzeXN0ZW0vbm8tb3JnIHRva2VucyBhbmRcbiAgICAgICAgLy8gdGhlIHJlbmV3YWwgTGFtYmRhKTsgb3RoZXJ3aXNlIGRlcml2ZSBge3ByZWZpeH0ve29yZ0lkfS9wbGF0Zm9ybWAuXG4gICAgICAgIGNvbnN0IHNlY3JldE5hbWUgPSBwcm9jZXNzLmVudi5QTEFURk9STV9TRUNSRVRfTkFNRSB8fCByZXNvbHZlU2VjcmV0TmFtZShwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTiEpO1xuXG4gICAgICAgIGF1ZGl0TG9nKCdzdG9yZS10b2tlbicsIHsgZXhlY3V0aW9uSWQsIHNlY3JldE5hbWUsIGRheXMsIGRyeVJ1bjogb3B0aW9ucy5kcnlSdW4gfSk7XG5cbiAgICAgICAgcHJpbnRJbmZvKCdQYXJhbWV0ZXJzJywge1xuICAgICAgICAgIHNlY3JldE5hbWUsXG4gICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgIGRheXMsXG4gICAgICAgICAgZXhwaXJlc0luOiBgJHtleHBpcmVzSW5TZWNvbmRzfXNgLFxuICAgICAgICAgIGRyeVJ1bjogb3B0aW9ucy5kcnlSdW4sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHByaW50SW5mbygnUmVxdWVzdGluZyB0b2tlbicsIHsgZXhwaXJlc0luOiBgJHtleHBpcmVzSW5TZWNvbmRzfXMgKCR7ZGF5c30gZGF5cylgIH0pO1xuXG4gICAgICAgIGNvbnN0IHRva2VuUmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gICAgICAgICAgJy9hcGkvdXNlci9nZW5lcmF0ZS10b2tlbicsXG4gICAgICAgICAgeyBleHBpcmVzSW46IGV4cGlyZXNJblNlY29uZHMgfSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB0b2tlbkRhdGEgPSAodG9rZW5SZXNwb25zZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmRhdGEgPz8gdG9rZW5SZXNwb25zZTtcbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSAodG9rZW5EYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8uYWNjZXNzVG9rZW4gYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSAodG9rZW5EYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8ucmVmcmVzaFRva2VuIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYWN0dWFsRXhwaXJlc0luID0gKCh0b2tlbkRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5leHBpcmVzSW4gYXMgbnVtYmVyKSA/PyBleHBpcmVzSW5TZWNvbmRzO1xuXG4gICAgICAgIGlmICghYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rva2VuIGdlbmVyYXRpb24gZmFpbGVkIOKAlCBubyBhY2Nlc3MgdG9rZW4gaW4gcmVzcG9uc2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaW50U3VjY2VzcyhgVG9rZW4gZ2VuZXJhdGVkIChleHBpcmVzIGluICR7YWN0dWFsRXhwaXJlc0lufXMpYCk7XG5cbiAgICAgICAgY29uc3QgZXhwaXJlc0F0ID0gbmV3IERhdGUoRGF0ZS5ub3coKSArIGFjdHVhbEV4cGlyZXNJbiAqIDEwMDApLnRvSVNPU3RyaW5nKCk7XG5cbiAgICAgICAgLy8gU2NoZW1hOiB7IHVzZXJuYW1lOiBvcmdJZCwgcGFzc3dvcmQ6IEpXVCwgLi4ubWV0YWRhdGEgfVxuICAgICAgICAvLyAtIHVzZXJuYW1lL3Bhc3N3b3JkIGZpZWxkcyBzYXRpc2Z5IENvZGVCdWlsZCdzIGBzZWNyZXRzTWFuYWdlckNyZWRlbnRpYWxzYFxuICAgICAgICAvLyAgIChIVFRQIEJhc2ljLCBzZW50IHRvIHBpcGVsaW5lLWltYWdlLXJlZ2lzdHJ5J3MgL3Rva2VuIGVuZHBvaW50KVxuICAgICAgICAvLyAtIFRoZSBzYW1lIEpXVCBpcyBjb25zdW1lZCBieSB0aGUgcGx1Z2luLWxvb2t1cCBMYW1iZGEgYnkgcmVhZGluZ1xuICAgICAgICAvLyAgIHRoZSBgcGFzc3dvcmRgIGZpZWxkXG4gICAgICAgIC8vIC0gT25lIFNlY3JldCBwZXIgY3VzdG9tZXIgYWNjb3VudCByZXBsYWNlcyB0aGUgcHJldmlvdXMgdHdvLXNlY3JldCBtb2RlbFxuICAgICAgICAvLyBEZWNvZGUgSldUIGZvciBvcmdJZCDigJQgaXQncyBhIHN0YWJsZSBpZGVudGlmaWVyIGZvciB0aGUgdXNlcm5hbWUgZmllbGQ7XG4gICAgICAgIC8vIHRoZSBhY3R1YWwgYXV0aCB1c2VzIHRoZSBwYXNzd29yZCAoSldUKSB3aGljaCB0aGUgdG9rZW4gc2VydmljZSB2ZXJpZmllcy5cbiAgICAgICAgLy8gYHx8YCAobm90IGA/P2ApOiBhbiBFTVBUWS1zdHJpbmcgb3JnYW5pemF0aW9uSWQgbXVzdCBhbHNvIGZhbGwgYmFjay4gQVxuICAgICAgICAvLyBzeXNhZG1pbi9zeXN0ZW0gdG9rZW4gb2Z0ZW4gY2FycmllcyBvcmdhbml6YXRpb25JZD1cIlwiLCBhbmQgQ29kZUJ1aWxkXG4gICAgICAgIC8vIHJlamVjdHMgYSByZWdpc3RyeSBjcmVkZW50aWFsIHdob3NlIGB1c2VybmFtZWAgZmllbGQgaXMgZW1wdHkgd2l0aFxuICAgICAgICAvLyBcIkF1dGhvcml6YXRpb25EYXRhIGlzIG1hbGZvcm1lZCwgZW1wdHkgZmllbGRcIiDigJQgc28gdXNlcm5hbWUgbXVzdCBhbHdheXNcbiAgICAgICAgLy8gYmUgYSBub24tZW1wdHkgdmFsdWUuXG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSBkZWNvZGVUb2tlblBheWxvYWQoYWNjZXNzVG9rZW4pO1xuICAgICAgICBjb25zdCBvcmdJZCA9IHBheWxvYWQ/Lm9yZ2FuaXphdGlvbklkPy50cmltKCkgfHwgJ3Vua25vd24tb3JnJztcblxuICAgICAgICBjb25zdCBzZWNyZXRWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICB1c2VybmFtZTogb3JnSWQsXG4gICAgICAgICAgcGFzc3dvcmQ6IGFjY2Vzc1Rva2VuLFxuICAgICAgICAgIC8vIGBhY2Nlc3NUb2tlbmAgZHVwbGljYXRlcyB0aGUgSldUIHVuZGVyIHRoZSBuYW1lIHRoZSBldmVudC1pbmdlc3Rpb25cbiAgICAgICAgICAvLyBMYW1iZGEgcmVhZHMsIHNvIGFuIGFscmVhZHktZGVwbG95ZWQgZXZlbnRzIHN0YWNrIHdvcmtzIGFmdGVyIGEgcGxhaW5cbiAgICAgICAgICAvLyBzdG9yZS10b2tlbiByZS1ydW4gKG5vIHBpcGVsaW5lLWV2ZW50cyByZXB1Ymxpc2ggbmVlZGVkKS4gYHBhc3N3b3JkYFxuICAgICAgICAgIC8vIHJlbWFpbnMgY2Fub25pY2FsIChDb2RlQnVpbGQgY3JlZHMsIHBsdWdpbi1sb29rdXAsIHRva2VuLXJlbmV3KS5cbiAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAuLi4ocmVmcmVzaFRva2VuICYmIHsgcmVmcmVzaFRva2VuIH0pLFxuICAgICAgICAgIHBsYXRmb3JtVXJsOiBjbGllbnQuZ2V0QmFzZVVybCgpLFxuICAgICAgICAgIGV4cGlyZXNJbjogYWN0dWFsRXhwaXJlc0luLFxuICAgICAgICAgIGV4cGlyZXNBdCxcbiAgICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRHJ5LXJ1bjogc2hvdyB3aGF0IHdvdWxkIGJlIHN0b3JlZFxuICAgICAgICBpZiAob3B0aW9ucy5kcnlSdW4pIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy5qc29uKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgICAgIGRyeVJ1bjogdHJ1ZSxcbiAgICAgICAgICAgICAgc2VjcmV0TmFtZSxcbiAgICAgICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgICAgICBleHBpcmVzSW5EYXlzOiBkYXlzLFxuICAgICAgICAgICAgICBleHBpcmVzQXQsXG4gICAgICAgICAgICAgIHRva2VuTGVuZ3RoOiBhY2Nlc3NUb2tlbi5sZW5ndGgsXG4gICAgICAgICAgICAgIGhhc1JlZnJlc2hUb2tlbjogISFyZWZyZXNoVG9rZW4sXG4gICAgICAgICAgICB9LCBudWxsLCAyKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICAgIHByaW50U2VjdGlvbignRHJ5IFJ1biDigJQgTm8gQ2hhbmdlcyBNYWRlJyk7XG4gICAgICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAgICAgJ1NlY3JldCBOYW1lJzogc2VjcmV0TmFtZSxcbiAgICAgICAgICAgICAgJ1JlZ2lvbic6IHJlZ2lvbixcbiAgICAgICAgICAgICAgJ0V4cGlyZXMgSW4nOiBgJHtkYXlzfSBkYXlzYCxcbiAgICAgICAgICAgICAgJ1JlbmV3IEJ5JzogZXhwaXJlc0F0LFxuICAgICAgICAgICAgICAnVG9rZW4gTGVuZ3RoJzogYCR7YWNjZXNzVG9rZW4ubGVuZ3RofSBjaGFyc2AsXG4gICAgICAgICAgICAgICdIYXMgUmVmcmVzaCBUb2tlbic6IHJlZnJlc2hUb2tlbiA/ICdZZXMnIDogJ05vJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcHJpbnRTdWNjZXNzKCdEcnkgcnVuIGNvbXBsZXRlIOKAlCBubyBzZWNyZXQgd2FzIGNyZWF0ZWQgb3IgdXBkYXRlZCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGVwIDI6IFN0b3JlIHRva2VuIGluIFNlY3JldHMgTWFuYWdlclxuICAgICAgICBwcmludFNlY3Rpb24oJ1N0b3JlIFRva2VuJyk7XG5cbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBgUGxhdGZvcm0gSldUIHRva2VuIChyZW5ldyBieSAke2V4cGlyZXNBdH0pYDtcbiAgICAgICAgYXdhaXQgdXBzZXJ0U2VjcmV0KHNlY3JldE5hbWUsIHNlY3JldFZhbHVlLCBkZXNjcmlwdGlvbiwgeyByZWdpb24sIHByb2ZpbGU6IG9wdGlvbnMucHJvZmlsZSB9KTtcblxuICAgICAgICBjb25zdCBhcm4gPSBhd2FpdCBnZXRTZWNyZXRBcm4oc2VjcmV0TmFtZSwgeyByZWdpb24sIHByb2ZpbGU6IG9wdGlvbnMucHJvZmlsZSB9KTtcblxuICAgICAgICAvLyBPcHRpb25hbGx5IGluc3RhbGwgdGhlIG9uY2UtYS1kYXkgcmVuZXdhbCBzdGFjayBzbyB0aGlzIHRva2VuIG5ldmVyIGxhcHNlcy5cbiAgICAgICAgLy8gT2ZmIGJ5IGRlZmF1bHQg4oCUIG9wdCBpbiB3aXRoIC0tc2NoZWR1bGUgKGUuZy4gZm9yIHRoZSBBV1MgZXZlbnQtaW5nZXN0aW9uXG4gICAgICAgIC8vIGJ1bmRsZSB3aG9zZSBMYW1iZGEgbmVlZHMgYSBub24tZXhwaXJpbmcgdG9rZW4pLlxuICAgICAgICBsZXQgc2NoZWR1bGVFeHByZXNzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChvcHRpb25zLnNjaGVkdWxlKSB7XG4gICAgICAgICAgY29uc3QgZml2ZUZpZWxkQ3JvbiA9IG9wdGlvbnMuY3JvbiB8fCBwcm9jZXNzLmVudi5UT0tFTl9SRU5FV19TQ0hFRFVMRSB8fCBERUZBVUxUX1JFTkVXX0NST047XG4gICAgICAgICAgc2NoZWR1bGVFeHByZXNzaW9uID0gYXdhaXQgZGVwbG95UmVuZXdTY2hlZHVsZSh7XG4gICAgICAgICAgICBwbGF0Zm9ybVVybDogY2xpZW50LmdldEJhc2VVcmwoKSxcbiAgICAgICAgICAgIHNlY3JldE5hbWUsXG4gICAgICAgICAgICBkYXlzLFxuICAgICAgICAgICAgZml2ZUZpZWxkQ3JvbixcbiAgICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICAgIHByb2ZpbGU6IG9wdGlvbnMucHJvZmlsZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmpzb24pIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICAgICAgc2VjcmV0TmFtZSxcbiAgICAgICAgICAgIHNlY3JldEFybjogYXJuLFxuICAgICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgICAgZXhwaXJlc0luRGF5czogZGF5cyxcbiAgICAgICAgICAgIGV4cGlyZXNBdCxcbiAgICAgICAgICAgIHNjaGVkdWxlOiBzY2hlZHVsZUV4cHJlc3Npb24gPz8gbnVsbCxcbiAgICAgICAgICB9LCBudWxsLCAyKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIHByaW50U2VjdGlvbignVG9rZW4gU3RvcmVkJyk7XG5cbiAgICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAgICdTZWNyZXQgTmFtZSc6IHNlY3JldE5hbWUsXG4gICAgICAgICAgICAnU2VjcmV0IEFSTic6IGFybixcbiAgICAgICAgICAgICdSZWdpb24nOiByZWdpb24sXG4gICAgICAgICAgICAnRXhwaXJlcyBJbic6IGAke2RheXN9IGRheXNgLFxuICAgICAgICAgICAgJ1JlbmV3IEJ5JzogZXhwaXJlc0F0LFxuICAgICAgICAgICAgJ0F1dG8tUmVuZXcnOiBzY2hlZHVsZUV4cHJlc3Npb24gPyBg4pyTICR7c2NoZWR1bGVFeHByZXNzaW9ufWAgOiAnb2ZmIChwYXNzIC0tc2NoZWR1bGUgdG8gZW5hYmxlKScsXG4gICAgICAgICAgICAnU3RhdHVzJzogJ+KckyBTdG9yZWQnLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIHByaW50U3VjY2VzcygnVG9rZW4gc3RvcmVkLiBUbyB1c2Ugd2l0aCBzeW50aC9kZXBsb3k6Jyk7XG4gICAgICAgICAgcHJpbnRJbmZvKGAgIGV4cG9ydCBQTEFURk9STV9TRUNSRVRfTkFNRT0ke3NlY3JldE5hbWV9YCk7XG4gICAgICAgICAgcHJpbnRJbmZvKCcgIHBpcGVsaW5lLW1hbmFnZXIgc3ludGggLS1pZCA8cGlwZWxpbmUtaWQ+IC0tc3RvcmUtdG9rZW5zJyk7XG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIGlmIChzY2hlZHVsZUV4cHJlc3Npb24pIHtcbiAgICAgICAgICAgIHByaW50SW5mbyhgQXV0by1yZW5ld2FsIGlzIGFjdGl2ZSAoJHtzY2hlZHVsZUV4cHJlc3Npb259KTsgdGhlIHNlY3JldCByZWZyZXNoZXMgYmVmb3JlICR7ZXhwaXJlc0F0fS5gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJpbnRJbmZvKGBSZW5ldyBiZWZvcmUgJHtleHBpcmVzQXR9IHdpdGg6IHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW4gLS1kYXlzICR7ZGF5c31gKTtcbiAgICAgICAgICAgIHByaW50SW5mbygnICAob3IgcGFzcyAtLXNjaGVkdWxlIHRvIGluc3RhbGwgYSBkYWlseSBhdXRvLXJlbmV3YWwgc3RhY2spJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgIGNvbW1hbmQ6ICdzdG9yZS10b2tlbicsXG4gICAgICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgICAgICAgIHNlY3JldE5hbWU6IHByb2Nlc3MuZW52LlBMQVRGT1JNX1NFQ1JFVF9OQU1FIHx8ICcoZGVyaXZlZCBmcm9tIHRva2VuKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc3RvcmUtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFB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ZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBleGVjRmlsZVN5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICdub2RlOnVybCc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IExhbWJkYUNsaWVudCwgVXBkYXRlRnVuY3Rpb25Db2RlQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1sYW1iZGEnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgeyBBUFBfVkVSU0lPTiwgdmFsaWRhdGVOdW1iZXIgfSBmcm9tICcuLi9jb25maWcvY2xpLmNvbnN0YW50cy5qcyc7XG5pbXBvcnQgeyBhdWRpdExvZyB9IGZyb20gJy4uL3V0aWxzL2F1ZGl0LWxvZy5qcyc7XG5pbXBvcnQgeyBkZWNvZGVUb2tlblBheWxvYWQgfSBmcm9tICcuLi91dGlscy9hdXRoLWd1YXJkLmpzJztcbmltcG9ydCB7IHVwc2VydFNlY3JldCwgZ2V0U2VjcmV0QXJuIH0gZnJvbSAnLi4vdXRpbHMvYXdzLXNlY3JldHMuanMnO1xuaW1wb3J0IHsgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudEFzeW5jLCBwcmludENvbW1hbmRIZWFkZXIsIHByaW50U3NsV2FybmluZyB9IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgdG9FdmVudEJyaWRnZUNyb24gfSBmcm9tICcuLi91dGlscy9jcm9uLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnRJbmZvLCBwcmludEtleVZhbHVlLCBwcmludFNlY3Rpb24sIHByaW50U3VjY2VzcyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5pbXBvcnQgeyBlbnN1cmVQbGF0Zm9ybVRva2VuLCByZXNvbHZlU2VjcmV0TmFtZSB9IGZyb20gJy4uL3V0aWxzL3BsYXRmb3JtLXNlY3JldC5qcyc7XG5cbi8vIEVTTSBoYXMgbm8gX19kaXJuYW1lOyBkZXJpdmUgaXQgZnJvbSB0aGlzIG1vZHVsZSdzIFVSTC5cbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5jb25zdCBSRU5FV19TVEFDS19OQU1FID0gJ3BpcGVsaW5lLWJ1aWxkZXItdG9rZW4tcmVuZXcnO1xuLy8gQ0ZOLW1hbmFnZWQgTGFtYmRhIGZ1bmN0aW9uIG5hbWUg4oCUIGtlZXAgaW4gc3luYyB3aXRoIHRva2VuLXJlbmV3LXN0YWNrLmpzb24uXG5jb25zdCBSRU5FV19MQU1CREFfTkFNRSA9ICdwaXBlbGluZS1idWlsZGVyLXRva2VuLXJlbmV3Jztcbi8vIERlZmF1bHQgNS1maWVsZCBjcm9uIChkYWlseSBhdCBtaWRuaWdodCkgd2hlbiBuZWl0aGVyIC0tY3JvbiBub3IgVE9LRU5fUkVORVdfU0NIRURVTEUgaXMgc2V0LlxuY29uc3QgREVGQVVMVF9SRU5FV19DUk9OID0gJzAgMCAqICogKic7XG5cbi8qKlxuICogRGVwbG95IChvciB1cGRhdGUpIHRoZSBvbmNlLWEtZGF5IHRva2VuLXJlbmV3YWwgc3RhY2s6IGEgc2NoZWR1bGVkIExhbWJkYSB0aGF0XG4gKiByZS1taW50cyB0aGUgcGxhdGZvcm0gSldUIGluIHRoaXMgc2FtZSBzZWNyZXQgYmVmb3JlIGl0IGV4cGlyZXMuIE1pcnJvcnNcbiAqIHNldHVwLWV2ZW50cyDigJQgYGF3cyBjbG91ZGZvcm1hdGlvbiBkZXBsb3lgIGZvciB0aGUgaW5mcmEsIHRoZW4gYSBkaXJlY3RcbiAqIFVwZGF0ZUZ1bmN0aW9uQ29kZSB3aXRoIHRoZSB0aGluIG9yY2hlc3RyYXRvciBoYW5kbGVyIGNvbXBpbGVkIGFsb25nc2lkZSB0aGlzXG4gKiBDTEkgKHRoZSBoYW5kbGVyIG5wbS1pbnN0YWxscyBwaXBlbGluZS1tYW5hZ2VyIGF0IHJ1bnRpbWUgYW5kIHJlLXJ1bnNcbiAqIHN0b3JlLXRva2VuOyBzZWUgc3JjL2xhbWJkYS90b2tlbi1yZW5ldy1oYW5kbGVyLnRzKS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZGVwbG95UmVuZXdTY2hlZHVsZShvcHRzOiB7XG4gIHBsYXRmb3JtVXJsOiBzdHJpbmc7XG4gIHNlY3JldE5hbWU6IHN0cmluZztcbiAgZGF5czogbnVtYmVyO1xuICBmaXZlRmllbGRDcm9uOiBzdHJpbmc7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBwcm9maWxlPzogc3RyaW5nO1xufSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHNjaGVkdWxlRXhwcmVzc2lvbiA9IHRvRXZlbnRCcmlkZ2VDcm9uKG9wdHMuZml2ZUZpZWxkQ3Jvbik7IC8vIHZhbGlkYXRlcyArIDE1LW1pbiBndWFyZFxuXG4gIHByaW50U2VjdGlvbignU2NoZWR1bGUgUmVuZXdhbCcpO1xuICBwcmludEluZm8oJ1BhcmFtZXRlcnMnLCB7XG4gICAgc3RhY2s6IFJFTkVXX1NUQUNLX05BTUUsXG4gICAgc2NoZWR1bGU6IG9wdHMuZml2ZUZpZWxkQ3JvbixcbiAgICBldmVudGJyaWRnZTogc2NoZWR1bGVFeHByZXNzaW9uLFxuICAgIHJlbmV3RGF5czogb3B0cy5kYXlzLFxuICB9KTtcblxuICAvLyBTdGVwIDE6IGluZnJhIChMYW1iZGEgZ2V0cyBwbGFjZWhvbGRlciBjb2RlIG9uIGZpcnN0IGNyZWF0ZSkuXG4gIGNvbnN0IHRlbXBsYXRlUGF0aCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi90ZW1wbGF0ZXMvdG9rZW4tcmVuZXctc3RhY2suanNvbicpO1xuICBjb25zdCBjZm5BcmdzID0gW1xuICAgICdjbG91ZGZvcm1hdGlvbicsICdkZXBsb3knLFxuICAgICctLXN0YWNrLW5hbWUnLCBSRU5FV19TVEFDS19OQU1FLFxuICAgICctLXRlbXBsYXRlLWZpbGUnLCB0ZW1wbGF0ZVBhdGgsXG4gICAgJy0tcGFyYW1ldGVyLW92ZXJyaWRlcycsXG4gICAgYFBsYXRmb3JtQmFzZVVybD0ke29wdHMucGxhdGZvcm1Vcmx9YCxcbiAgICBgUGxhdGZvcm1TZWNyZXROYW1lPSR7b3B0cy5zZWNyZXROYW1lfWAsXG4gICAgYFJlbmV3RGF5cz0ke29wdHMuZGF5c31gLFxuICAgIGBTY2hlZHVsZUV4cHJlc3Npb249JHtzY2hlZHVsZUV4cHJlc3Npb259YCxcbiAgICAvLyBQaW4gdGhlIGhhbmRsZXIncyBydW50aW1lIG5wbSBpbnN0YWxsIHRvIFRISVMgQ0xJJ3MgdmVyc2lvbiAocmVwcm9kdWNpYmxlXG4gICAgLy8gcmVuZXdhbHMgaW5zdGVhZCBvZiBhIGZsb2F0aW5nIFwibGF0ZXN0XCIpLlxuICAgIGBQaXBlbGluZU1hbmFnZXJWZXJzaW9uPSR7QVBQX1ZFUlNJT059YCxcbiAgICAnLS1jYXBhYmlsaXRpZXMnLCAnQ0FQQUJJTElUWV9OQU1FRF9JQU0nLFxuICAgICctLW5vLWZhaWwtb24tZW1wdHktY2hhbmdlc2V0JyxcbiAgICAnLS1yZWdpb24nLCBvcHRzLnJlZ2lvbixcbiAgXTtcbiAgaWYgKG9wdHMucHJvZmlsZSkgY2ZuQXJncy5wdXNoKCctLXByb2ZpbGUnLCBvcHRzLnByb2ZpbGUpO1xuICBleGVjRmlsZVN5bmMoJ2F3cycsIGNmbkFyZ3MsIHsgc3RkaW86ICdpbmhlcml0JyB9KTtcblxuICAvLyBTdGVwIDI6IHVwbG9hZCB0aGUgcmVhbCBoYW5kbGVyLiBJdCdzIEVTTSwgc28gdGhlIHppcCBlbnRyeSBtdXN0IGJlIGluZGV4Lm1qc1xuICAvLyAoSGFuZGxlciBzdGF5cyBpbmRleC5oYW5kbGVyIOKAlCBub2RlanMyNC54IHJlc29sdmVzIHRoZSAubWpzIGV4dGVuc2lvbikuXG4gIGNvbnN0IGhhbmRsZXJTcmMgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vbGFtYmRhL3Rva2VuLXJlbmV3LWhhbmRsZXIuanMnKTtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGhhbmRsZXJTcmMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUb2tlbi1yZW5ldyBoYW5kbGVyIG5vdCBmb3VuZCBhdCAke2hhbmRsZXJTcmN9IOKAlCB3YXMgdGhlIHBhY2thZ2UgYnVpbHQ/YCk7XG4gIH1cbiAgY29uc3QgdG1wRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAndG9rZW4tcmVuZXctJykpO1xuICB0cnkge1xuICAgIGZzLmNvcHlGaWxlU3luYyhoYW5kbGVyU3JjLCBwYXRoLmpvaW4odG1wRGlyLCAnaW5kZXgubWpzJykpO1xuICAgIGNvbnN0IHppcFBhdGggPSBwYXRoLmpvaW4odG1wRGlyLCAnaW5kZXguemlwJyk7XG4gICAgZXhlY0ZpbGVTeW5jKCd6aXAnLCBbJy1qJywgemlwUGF0aCwgJ2luZGV4Lm1qcyddLCB7IGN3ZDogdG1wRGlyLCBzdGRpbzogJ3BpcGUnIH0pO1xuXG4gICAgY29uc3QgbGFtYmRhQ2xpZW50ID0gbmV3IExhbWJkYUNsaWVudCh7IHJlZ2lvbjogb3B0cy5yZWdpb24gfSk7XG4gICAgYXdhaXQgbGFtYmRhQ2xpZW50LnNlbmQobmV3IFVwZGF0ZUZ1bmN0aW9uQ29kZUNvbW1hbmQoe1xuICAgICAgRnVuY3Rpb25OYW1lOiBSRU5FV19MQU1CREFfTkFNRSxcbiAgICAgIFppcEZpbGU6IGZzLnJlYWRGaWxlU3luYyh6aXBQYXRoKSxcbiAgICB9KSk7XG4gIH0gZmluYWxseSB7XG4gICAgZnMucm1TeW5jKHRtcERpciwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpbnRTdWNjZXNzKGBSZW5ld2FsIHNjaGVkdWxlZCAoJHtzY2hlZHVsZUV4cHJlc3Npb259KWApO1xuICByZXR1cm4gc2NoZWR1bGVFeHByZXNzaW9uO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYHN0b3JlLXRva2VuYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIEdlbmVyYXRlcyBhIGxvbmctbGl2ZWQgSldUIHRva2VuIHZpYSB0aGUgcGxhdGZvcm0gQVBJIGFuZCBzdG9yZXMgaXRcbiAqIGluIEFXUyBTZWNyZXRzIE1hbmFnZXIgZm9yIHVzZSBieSB0aGUgc3ludGgvZGVwbG95IC0tc3RvcmUtdG9rZW5zIGZsYWcuXG4gKlxuICogUmVxdWlyZXMgUExBVEZPUk1fVE9LRU4gdG8gYmUgc2V0LCBvciB1c2UgLS1lbWFpbC8tLXBhc3N3b3JkIHRvIGxvZ2luIGlubGluZS5cbiAqXG4gKiBCeSBkZWZhdWx0IGl0IE9OTFkgd3JpdGVzIHRoZSBzZWNyZXQuIFBhc3MgLS1zY2hlZHVsZSB0byBhbHNvIGRlcGxveSB0aGUgZGFpbHlcbiAqIHRva2VuLXJlbmV3YWwgc3RhY2sgKGEgTGFtYmRhIHRoYXQgYXV0by1yZW5ld3MgdGhpcyB0b2tlbiBiZWZvcmUgaXQgZXhwaXJlcykuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGJhc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW4gLS1yZWdpb24gdXMtZWFzdC0xXG4gKiBwaXBlbGluZS1tYW5hZ2VyIHN0b3JlLXRva2VuIC0tZGF5cyA5MCAtLXJlZ2lvbiB1cy1lYXN0LTFcbiAqIHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW4gLS1zY2hlZHVsZSAtLXJlZ2lvbiB1cy1lYXN0LTEgICAgICAgICAgIyArIGRhaWx5IGF1dG8tcmVuZXdhbFxuICogcGlwZWxpbmUtbWFuYWdlciBzdG9yZS10b2tlbiAtLXNjaGVkdWxlIC0tY3JvbiAnMCAzICogKiAqJyAgICAgICAgICAjIGN1c3RvbSByZW5ld2FsIHRpbWVcbiAqIHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW4gLS1kYXlzIDcgLS1uby12ZXJpZnktc3NsXG4gKiBQTEFURk9STV9TRUNSRVRfTkFNRT1teS1jdXN0b20tc2VjcmV0IHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW4gICAjIG92ZXJyaWRlIHRoZSBkZXJpdmVkIG5hbWVcbiAqIHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW4gLS1kcnktcnVuXG4gKiBwaXBlbGluZS1tYW5hZ2VyIHN0b3JlLXRva2VuIC1lIGFkbWluIC1wICcqKionIC0tcmVnaW9uIHVzLWVhc3QtMVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdG9yZVRva2VuKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdzdG9yZS10b2tlbicpXG4gICAgLmRlc2NyaXB0aW9uKCdHZW5lcmF0ZSBKV1QgdG9rZW4gYW5kIHN0b3JlIGluIEFXUyBTZWNyZXRzIE1hbmFnZXIgZm9yIENESyBkZXBsb3ltZW50cycpXG4gICAgLm9wdGlvbignLWUsIC0tZW1haWwgPGVtYWlsPicsICdMb2dpbiBlbWFpbCAoc2tpcHMgUExBVEZPUk1fVE9LRU4gcmVxdWlyZW1lbnQpJylcbiAgICAub3B0aW9uKCctcCwgLS1wYXNzd29yZCA8cGFzc3dvcmQ+JywgJ0xvZ2luIHBhc3N3b3JkICh1c2VkIHdpdGggLS1lbWFpbCknKVxuICAgIC5vcHRpb24oJy0tZGF5cyA8ZGF5cz4nLCAnVG9rZW4gbGlmZXRpbWUgaW4gZGF5cycsICczMCcpXG4gICAgLm9wdGlvbignLS1zY29wZSA8c2NvcGU+JywgJ01pbnQgYSBuYXJyb3ctc2NvcGUgbWFjaGluZSB0b2tlbiAoZS5nLiBcInJlcG9ydGluZzppbmdlc3RcIikgYW5kIHN0b3JlIGl0IGF0IGEgc2NvcGUtc3BlY2lmaWMgc2VjcmV0IHBhdGggaW5zdGVhZCBvZiB0aGUgc2hhcmVkIHBsYXRmb3JtIHNlY3JldCcpXG4gICAgLm9wdGlvbignLS1kcnktcnVuJywgJ1Nob3cgd2hhdCB3b3VsZCBiZSBzdG9yZWQgd2l0aG91dCB3cml0aW5nIHRvIFNlY3JldHMgTWFuYWdlcicsIGZhbHNlKVxuICAgIC5vcHRpb24oJy0tcmVnaW9uIDxyZWdpb24+JywgJ0FXUyByZWdpb24gKGRlZmF1bHQ6IHVzLWVhc3QtMSwgb3IgQVdTX1JFR0lPTiBlbnYpJylcbiAgICAub3B0aW9uKCctLXByb2ZpbGUgPHByb2ZpbGU+JywgJ0FXUyBDTEkgcHJvZmlsZScsICdkZWZhdWx0JylcbiAgICAub3B0aW9uKCctLXNjaGVkdWxlJywgJ0Fsc28gZGVwbG95IHRoZSBkYWlseSB0b2tlbi1yZW5ld2FsIHN0YWNrIHRoYXQgYXV0by1yZW5ld3MgdGhpcyB0b2tlbiAob2ZmIGJ5IGRlZmF1bHQpJywgZmFsc2UpXG4gICAgLm9wdGlvbignLS1jcm9uIDxleHByPicsICdSZW5ld2FsIHNjaGVkdWxlIGFzIGEgNS1maWVsZCBjcm9uLCB1c2VkIHdpdGggLS1zY2hlZHVsZSAoZGVmYXVsdDogVE9LRU5fUkVORVdfU0NIRURVTEUgZW52IG9yIFwiMCAwICogKiAqXCI7IG1pbiBldmVyeSAxNSBtaW51dGVzKScpXG4gICAgLm9wdGlvbignLS1qc29uJywgJ091dHB1dCByZXN1bHQgYXMgSlNPTicsIGZhbHNlKVxuICAgIC5vcHRpb24oJy0tdmVyaWZ5LXNzbCcsICdFbmFibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG4gICAgLm9wdGlvbignLS1uby12ZXJpZnktc3NsJywgJ0Rpc2FibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1N0b3JlIFRva2VuJyk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG5cbiAgICAgICAgY29uc3QgcmVnaW9uID0gb3B0aW9ucy5yZWdpb24gfHwgcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT04gfHwgJ3VzLWVhc3QtMSc7XG5cbiAgICAgICAgY29uc3QgZGF5cyA9IHZhbGlkYXRlTnVtYmVyKG9wdGlvbnMuZGF5cywgJ2RheXMnLCAxLCAzNjUpO1xuICAgICAgICBjb25zdCBleHBpcmVzSW5TZWNvbmRzID0gZGF5cyAqIDI0ICogNjAgKiA2MDtcblxuICAgICAgICAvLyBTdGVwIDA6IGxvZyBpbiBmaXJzdCB3aGVuIGNyZWRzIGFyZSBhdmFpbGFibGUgYW5kIG5vIFBMQVRGT1JNX1RPS0VOIGlzIHNldFxuICAgICAgICAvLyAoc2hhcmVkIHdpdGggc2V0dXAtZXZlbnRzKS4gQ3JlZHMgY29tZSBmcm9tIC0tZW1haWwvLS1wYXNzd29yZCBPUiB0aGUgZW52XG4gICAgICAgIC8vIHZhcnMgUExBVEZPUk1fSURFTlRJRklFUi9QTEFURk9STV9QQVNTV09SRCDigJQgdGhlIGVudiBwYXRoIGxldHMgY2FsbGVycyBsaWtlXG4gICAgICAgIC8vIGBwcm92aXNpb24gLS13aXRoLWV2ZW50c2AgcGFzcyB0aGVtIHdpdGhvdXQgcHV0dGluZyB0aGUgcGFzc3dvcmQgb24gdGhlXG4gICAgICAgIC8vIGNvbW1hbmQgbGluZSAod2hlcmUgaXQgd291bGQgc2hvdyBpbiBwbGFucy9sb2dzKS5cbiAgICAgICAgYXdhaXQgZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zKTtcblxuICAgICAgICAvLyBTdGVwIDE6IEF1dGhlbnRpY2F0ZSBhbmQgZ2VuZXJhdGUgbG9uZy1saXZlZCB0b2tlblxuICAgICAgICBwcmludFNlY3Rpb24oJ0dlbmVyYXRlIFRva2VuJyk7XG5cbiAgICAgICAgY29uc3QgY2xpZW50ID0gYXdhaXQgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudEFzeW5jKG9wdGlvbnMpO1xuXG4gICAgICAgIC8vIFJlc29sdmUgc2VjcmV0IG5hbWUgZnJvbSB0aGUgdG9rZW4ncyBvcmdhbml6YXRpb25JZC4gQW4gZXhwbGljaXRcbiAgICAgICAgLy8gUExBVEZPUk1fU0VDUkVUX05BTUUgZW52IHdpbnMgKGVzY2FwZSBoYXRjaCBmb3Igc3lzdGVtL25vLW9yZyB0b2tlbnMgYW5kXG4gICAgICAgIC8vIHRoZSByZW5ld2FsIExhbWJkYSk7IG90aGVyd2lzZSBkZXJpdmUgYHtwcmVmaXh9L3tvcmdJZH0vcGxhdGZvcm1gLlxuICAgICAgICAvLyBBIGAtLXNjb3BlYCB0b2tlbiBpcyBhIGRpc3RpbmN0IG1hY2hpbmUgY3JlZGVudGlhbCDigJQgc3RvcmUgaXQgYXQgYVxuICAgICAgICAvLyBzY29wZS1zcGVjaWZpYyBwYXRoIChgLi4uL3JlcG9ydGluZy1pbmdlc3RgKSBzbyBpdCBuZXZlciBjbG9iYmVycyB0aGVcbiAgICAgICAgLy8gZnVsbC1wcml2aWxlZ2UgcGxhdGZvcm0gdG9rZW4gdXNlZCBieSBzeW50aC9kZXBsb3kgY2FsbGJhY2tzLlxuICAgICAgICBjb25zdCBzY29wZSA9IG9wdGlvbnMuc2NvcGUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBiYXNlU2VjcmV0TmFtZSA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1NFQ1JFVF9OQU1FIHx8IHJlc29sdmVTZWNyZXROYW1lKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOISk7XG4gICAgICAgIGNvbnN0IHNlY3JldE5hbWUgPSBzY29wZSAmJiAhcHJvY2Vzcy5lbnYuUExBVEZPUk1fU0VDUkVUX05BTUVcbiAgICAgICAgICA/IGJhc2VTZWNyZXROYW1lLnJlcGxhY2UoL1xcL3BsYXRmb3JtJC8sIGAvJHtzY29wZS5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCAnLScpfWApXG4gICAgICAgICAgOiBiYXNlU2VjcmV0TmFtZTtcblxuICAgICAgICBhdWRpdExvZygnc3RvcmUtdG9rZW4nLCB7IGV4ZWN1dGlvbklkLCBzZWNyZXROYW1lLCBkYXlzLCBkcnlSdW46IG9wdGlvbnMuZHJ5UnVuIH0pO1xuXG4gICAgICAgIHByaW50SW5mbygnUGFyYW1ldGVycycsIHtcbiAgICAgICAgICBzZWNyZXROYW1lLFxuICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICBkYXlzLFxuICAgICAgICAgIGV4cGlyZXNJbjogYCR7ZXhwaXJlc0luU2Vjb25kc31zYCxcbiAgICAgICAgICBkcnlSdW46IG9wdGlvbnMuZHJ5UnVuLFxuICAgICAgICB9KTtcblxuICAgICAgICBwcmludEluZm8oJ1JlcXVlc3RpbmcgdG9rZW4nLCB7IGV4cGlyZXNJbjogYCR7ZXhwaXJlc0luU2Vjb25kc31zICgke2RheXN9IGRheXMpYCB9KTtcblxuICAgICAgICBjb25zdCB0b2tlblJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3Q8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICAgICAgICAgICcvYXBpL3VzZXIvZ2VuZXJhdGUtdG9rZW4nLFxuICAgICAgICAgIHsgZXhwaXJlc0luOiBleHBpcmVzSW5TZWNvbmRzLCAuLi4oc2NvcGUgPyB7IHNjb3BlIH0gOiB7fSkgfSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB0b2tlbkRhdGEgPSAodG9rZW5SZXNwb25zZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmRhdGEgPz8gdG9rZW5SZXNwb25zZTtcbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSAodG9rZW5EYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8uYWNjZXNzVG9rZW4gYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSAodG9rZW5EYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8ucmVmcmVzaFRva2VuIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYWN0dWFsRXhwaXJlc0luID0gKCh0b2tlbkRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5leHBpcmVzSW4gYXMgbnVtYmVyKSA/PyBleHBpcmVzSW5TZWNvbmRzO1xuXG4gICAgICAgIGlmICghYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rva2VuIGdlbmVyYXRpb24gZmFpbGVkIOKAlCBubyBhY2Nlc3MgdG9rZW4gaW4gcmVzcG9uc2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaW50U3VjY2VzcyhgVG9rZW4gZ2VuZXJhdGVkIChleHBpcmVzIGluICR7YWN0dWFsRXhwaXJlc0lufXMpYCk7XG5cbiAgICAgICAgY29uc3QgZXhwaXJlc0F0ID0gbmV3IERhdGUoRGF0ZS5ub3coKSArIGFjdHVhbEV4cGlyZXNJbiAqIDEwMDApLnRvSVNPU3RyaW5nKCk7XG5cbiAgICAgICAgLy8gU2NoZW1hOiB7IHVzZXJuYW1lOiBvcmdJZCwgcGFzc3dvcmQ6IEpXVCwgLi4ubWV0YWRhdGEgfVxuICAgICAgICAvLyAtIHVzZXJuYW1lL3Bhc3N3b3JkIGZpZWxkcyBzYXRpc2Z5IENvZGVCdWlsZCdzIGBzZWNyZXRzTWFuYWdlckNyZWRlbnRpYWxzYFxuICAgICAgICAvLyAgIChIVFRQIEJhc2ljLCBzZW50IHRvIHBpcGVsaW5lLWltYWdlLXJlZ2lzdHJ5J3MgL3Rva2VuIGVuZHBvaW50KVxuICAgICAgICAvLyAtIFRoZSBzYW1lIEpXVCBpcyBjb25zdW1lZCBieSB0aGUgcGx1Z2luLWxvb2t1cCBMYW1iZGEgYnkgcmVhZGluZ1xuICAgICAgICAvLyAgIHRoZSBgcGFzc3dvcmRgIGZpZWxkXG4gICAgICAgIC8vIC0gT25lIFNlY3JldCBwZXIgY3VzdG9tZXIgYWNjb3VudCByZXBsYWNlcyB0aGUgcHJldmlvdXMgdHdvLXNlY3JldCBtb2RlbFxuICAgICAgICAvLyBEZWNvZGUgSldUIGZvciBvcmdJZCDigJQgaXQncyBhIHN0YWJsZSBpZGVudGlmaWVyIGZvciB0aGUgdXNlcm5hbWUgZmllbGQ7XG4gICAgICAgIC8vIHRoZSBhY3R1YWwgYXV0aCB1c2VzIHRoZSBwYXNzd29yZCAoSldUKSB3aGljaCB0aGUgdG9rZW4gc2VydmljZSB2ZXJpZmllcy5cbiAgICAgICAgLy8gYHx8YCAobm90IGA/P2ApOiBhbiBFTVBUWS1zdHJpbmcgb3JnYW5pemF0aW9uSWQgbXVzdCBhbHNvIGZhbGwgYmFjay4gQVxuICAgICAgICAvLyBzeXNhZG1pbi9zeXN0ZW0gdG9rZW4gb2Z0ZW4gY2FycmllcyBvcmdhbml6YXRpb25JZD1cIlwiLCBhbmQgQ29kZUJ1aWxkXG4gICAgICAgIC8vIHJlamVjdHMgYSByZWdpc3RyeSBjcmVkZW50aWFsIHdob3NlIGB1c2VybmFtZWAgZmllbGQgaXMgZW1wdHkgd2l0aFxuICAgICAgICAvLyBcIkF1dGhvcml6YXRpb25EYXRhIGlzIG1hbGZvcm1lZCwgZW1wdHkgZmllbGRcIiDigJQgc28gdXNlcm5hbWUgbXVzdCBhbHdheXNcbiAgICAgICAgLy8gYmUgYSBub24tZW1wdHkgdmFsdWUuXG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSBkZWNvZGVUb2tlblBheWxvYWQoYWNjZXNzVG9rZW4pO1xuICAgICAgICBjb25zdCBvcmdJZCA9IHBheWxvYWQ/Lm9yZ2FuaXphdGlvbklkPy50cmltKCkgfHwgJ3Vua25vd24tb3JnJztcblxuICAgICAgICBjb25zdCBzZWNyZXRWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICB1c2VybmFtZTogb3JnSWQsXG4gICAgICAgICAgcGFzc3dvcmQ6IGFjY2Vzc1Rva2VuLFxuICAgICAgICAgIC8vIGBhY2Nlc3NUb2tlbmAgZHVwbGljYXRlcyB0aGUgSldUIHVuZGVyIHRoZSBuYW1lIHRoZSBldmVudC1pbmdlc3Rpb25cbiAgICAgICAgICAvLyBMYW1iZGEgcmVhZHMsIHNvIGFuIGFscmVhZHktZGVwbG95ZWQgZXZlbnRzIHN0YWNrIHdvcmtzIGFmdGVyIGEgcGxhaW5cbiAgICAgICAgICAvLyBzdG9yZS10b2tlbiByZS1ydW4gKG5vIHBpcGVsaW5lLWV2ZW50cyByZXB1Ymxpc2ggbmVlZGVkKS4gYHBhc3N3b3JkYFxuICAgICAgICAgIC8vIHJlbWFpbnMgY2Fub25pY2FsIChDb2RlQnVpbGQgY3JlZHMsIHBsdWdpbi1sb29rdXAsIHRva2VuLXJlbmV3KS5cbiAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAuLi4ocmVmcmVzaFRva2VuICYmIHsgcmVmcmVzaFRva2VuIH0pLFxuICAgICAgICAgIHBsYXRmb3JtVXJsOiBjbGllbnQuZ2V0QmFzZVVybCgpLFxuICAgICAgICAgIGV4cGlyZXNJbjogYWN0dWFsRXhwaXJlc0luLFxuICAgICAgICAgIGV4cGlyZXNBdCxcbiAgICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRHJ5LXJ1bjogc2hvdyB3aGF0IHdvdWxkIGJlIHN0b3JlZFxuICAgICAgICBpZiAob3B0aW9ucy5kcnlSdW4pIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy5qc29uKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgICAgIGRyeVJ1bjogdHJ1ZSxcbiAgICAgICAgICAgICAgc2VjcmV0TmFtZSxcbiAgICAgICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgICAgICBleHBpcmVzSW5EYXlzOiBkYXlzLFxuICAgICAgICAgICAgICBleHBpcmVzQXQsXG4gICAgICAgICAgICAgIHRva2VuTGVuZ3RoOiBhY2Nlc3NUb2tlbi5sZW5ndGgsXG4gICAgICAgICAgICAgIGhhc1JlZnJlc2hUb2tlbjogISFyZWZyZXNoVG9rZW4sXG4gICAgICAgICAgICB9LCBudWxsLCAyKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICAgIHByaW50U2VjdGlvbignRHJ5IFJ1biDigJQgTm8gQ2hhbmdlcyBNYWRlJyk7XG4gICAgICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAgICAgJ1NlY3JldCBOYW1lJzogc2VjcmV0TmFtZSxcbiAgICAgICAgICAgICAgJ1JlZ2lvbic6IHJlZ2lvbixcbiAgICAgICAgICAgICAgJ0V4cGlyZXMgSW4nOiBgJHtkYXlzfSBkYXlzYCxcbiAgICAgICAgICAgICAgJ1JlbmV3IEJ5JzogZXhwaXJlc0F0LFxuICAgICAgICAgICAgICAnVG9rZW4gTGVuZ3RoJzogYCR7YWNjZXNzVG9rZW4ubGVuZ3RofSBjaGFyc2AsXG4gICAgICAgICAgICAgICdIYXMgUmVmcmVzaCBUb2tlbic6IHJlZnJlc2hUb2tlbiA/ICdZZXMnIDogJ05vJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcHJpbnRTdWNjZXNzKCdEcnkgcnVuIGNvbXBsZXRlIOKAlCBubyBzZWNyZXQgd2FzIGNyZWF0ZWQgb3IgdXBkYXRlZCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGVwIDI6IFN0b3JlIHRva2VuIGluIFNlY3JldHMgTWFuYWdlclxuICAgICAgICBwcmludFNlY3Rpb24oJ1N0b3JlIFRva2VuJyk7XG5cbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBgUGxhdGZvcm0gSldUIHRva2VuIChyZW5ldyBieSAke2V4cGlyZXNBdH0pYDtcbiAgICAgICAgYXdhaXQgdXBzZXJ0U2VjcmV0KHNlY3JldE5hbWUsIHNlY3JldFZhbHVlLCBkZXNjcmlwdGlvbiwgeyByZWdpb24sIHByb2ZpbGU6IG9wdGlvbnMucHJvZmlsZSB9KTtcblxuICAgICAgICBjb25zdCBhcm4gPSBhd2FpdCBnZXRTZWNyZXRBcm4oc2VjcmV0TmFtZSwgeyByZWdpb24sIHByb2ZpbGU6IG9wdGlvbnMucHJvZmlsZSB9KTtcblxuICAgICAgICAvLyBPcHRpb25hbGx5IGluc3RhbGwgdGhlIG9uY2UtYS1kYXkgcmVuZXdhbCBzdGFjayBzbyB0aGlzIHRva2VuIG5ldmVyIGxhcHNlcy5cbiAgICAgICAgLy8gT2ZmIGJ5IGRlZmF1bHQg4oCUIG9wdCBpbiB3aXRoIC0tc2NoZWR1bGUgKGUuZy4gZm9yIHRoZSBBV1MgZXZlbnQtaW5nZXN0aW9uXG4gICAgICAgIC8vIGJ1bmRsZSB3aG9zZSBMYW1iZGEgbmVlZHMgYSBub24tZXhwaXJpbmcgdG9rZW4pLlxuICAgICAgICBsZXQgc2NoZWR1bGVFeHByZXNzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChvcHRpb25zLnNjaGVkdWxlKSB7XG4gICAgICAgICAgY29uc3QgZml2ZUZpZWxkQ3JvbiA9IG9wdGlvbnMuY3JvbiB8fCBwcm9jZXNzLmVudi5UT0tFTl9SRU5FV19TQ0hFRFVMRSB8fCBERUZBVUxUX1JFTkVXX0NST047XG4gICAgICAgICAgc2NoZWR1bGVFeHByZXNzaW9uID0gYXdhaXQgZGVwbG95UmVuZXdTY2hlZHVsZSh7XG4gICAgICAgICAgICBwbGF0Zm9ybVVybDogY2xpZW50LmdldEJhc2VVcmwoKSxcbiAgICAgICAgICAgIHNlY3JldE5hbWUsXG4gICAgICAgICAgICBkYXlzLFxuICAgICAgICAgICAgZml2ZUZpZWxkQ3JvbixcbiAgICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICAgIHByb2ZpbGU6IG9wdGlvbnMucHJvZmlsZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmpzb24pIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICAgICAgc2VjcmV0TmFtZSxcbiAgICAgICAgICAgIHNlY3JldEFybjogYXJuLFxuICAgICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgICAgZXhwaXJlc0luRGF5czogZGF5cyxcbiAgICAgICAgICAgIGV4cGlyZXNBdCxcbiAgICAgICAgICAgIHNjaGVkdWxlOiBzY2hlZHVsZUV4cHJlc3Npb24gPz8gbnVsbCxcbiAgICAgICAgICB9LCBudWxsLCAyKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIHByaW50U2VjdGlvbignVG9rZW4gU3RvcmVkJyk7XG5cbiAgICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAgICdTZWNyZXQgTmFtZSc6IHNlY3JldE5hbWUsXG4gICAgICAgICAgICAnU2VjcmV0IEFSTic6IGFybixcbiAgICAgICAgICAgICdSZWdpb24nOiByZWdpb24sXG4gICAgICAgICAgICAnRXhwaXJlcyBJbic6IGAke2RheXN9IGRheXNgLFxuICAgICAgICAgICAgJ1JlbmV3IEJ5JzogZXhwaXJlc0F0LFxuICAgICAgICAgICAgJ0F1dG8tUmVuZXcnOiBzY2hlZHVsZUV4cHJlc3Npb24gPyBg4pyTICR7c2NoZWR1bGVFeHByZXNzaW9ufWAgOiAnb2ZmIChwYXNzIC0tc2NoZWR1bGUgdG8gZW5hYmxlKScsXG4gICAgICAgICAgICAnU3RhdHVzJzogJ+KckyBTdG9yZWQnLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIHByaW50U3VjY2VzcygnVG9rZW4gc3RvcmVkLiBUbyB1c2Ugd2l0aCBzeW50aC9kZXBsb3k6Jyk7XG4gICAgICAgICAgcHJpbnRJbmZvKGAgIGV4cG9ydCBQTEFURk9STV9TRUNSRVRfTkFNRT0ke3NlY3JldE5hbWV9YCk7XG4gICAgICAgICAgcHJpbnRJbmZvKCcgIHBpcGVsaW5lLW1hbmFnZXIgc3ludGggLS1pZCA8cGlwZWxpbmUtaWQ+IC0tc3RvcmUtdG9rZW5zJyk7XG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIGlmIChzY2hlZHVsZUV4cHJlc3Npb24pIHtcbiAgICAgICAgICAgIHByaW50SW5mbyhgQXV0by1yZW5ld2FsIGlzIGFjdGl2ZSAoJHtzY2hlZHVsZUV4cHJlc3Npb259KTsgdGhlIHNlY3JldCByZWZyZXNoZXMgYmVmb3JlICR7ZXhwaXJlc0F0fS5gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJpbnRJbmZvKGBSZW5ldyBiZWZvcmUgJHtleHBpcmVzQXR9IHdpdGg6IHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW4gLS1kYXlzICR7ZGF5c31gKTtcbiAgICAgICAgICAgIHByaW50SW5mbygnICAob3IgcGFzcyAtLXNjaGVkdWxlIHRvIGluc3RhbGwgYSBkYWlseSBhdXRvLXJlbmV3YWwgc3RhY2spJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgIGNvbW1hbmQ6ICdzdG9yZS10b2tlbicsXG4gICAgICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgICAgICAgIHNlY3JldE5hbWU6IHByb2Nlc3MuZW52LlBMQVRGT1JNX1NFQ1JFVF9OQU1FIHx8ICcoZGVyaXZlZCBmcm9tIHRva2VuKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -96,4 +96,10 @@ export declare function validateSort(value: string | undefined): string | undefi
|
|
|
96
96
|
export declare function assertShellSafe(value: string, fieldName: string, opts?: {
|
|
97
97
|
redactValue?: boolean;
|
|
98
98
|
}): void;
|
|
99
|
+
/**
|
|
100
|
+
* POSIX single-quote a value (escaping embedded single quotes) for safe shell
|
|
101
|
+
* interpolation. Single source of truth — drift in a shell-quoting helper is
|
|
102
|
+
* security-relevant, so both agent modules import this rather than re-declaring it.
|
|
103
|
+
*/
|
|
104
|
+
export declare function shellQuote(value: string): string;
|
|
99
105
|
//# sourceMappingURL=cli.constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.constants.d.ts","sourceRoot":"","sources":["../../src/config/cli.constants.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,eAAO,MAAM,QAAQ,qBAAqB,CAAC;AAC3C,eAAO,MAAM,WAAW,QAAU,CAAC;AACnC,eAAO,MAAM,eAAe,+CAA+C,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;CAKX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;CAQX,CAAC;AAEX;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAElE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;CAkBhB,CAAC;AAEX;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAKzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAiB5G;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM1E;AAQD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,IAAI,CAON"}
|
|
1
|
+
{"version":3,"file":"cli.constants.d.ts","sourceRoot":"","sources":["../../src/config/cli.constants.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,eAAO,MAAM,QAAQ,qBAAqB,CAAC;AAC3C,eAAO,MAAM,WAAW,QAAU,CAAC;AACnC,eAAO,MAAM,eAAe,+CAA+C,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;CAKX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;CAQX,CAAC;AAEX;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAElE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;CAkBhB,CAAC;AAEX;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAKzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAiB5G;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM1E;AAQD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
|
@@ -163,4 +163,12 @@ export function assertShellSafe(value, fieldName, opts = {}) {
|
|
|
163
163
|
throw new Error(`${fieldName} contains unsafe characters${detail}`);
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvY2xpLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV2QyxnRkFBZ0Y7QUFDaEYsaUZBQWlGO0FBQ2pGLDJFQUEyRTtBQUMzRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDNUIsWUFBWSxDQUFDLElBQUksR0FBRyxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQy9DLENBQUM7QUFFekI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsNENBQTRDLENBQUM7QUFFNUU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsSUFBSSxFQUFFLE1BQWU7SUFDckIsZ0JBQWdCLEVBQUUsUUFBaUI7SUFDbkMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7Q0FDcEMsQ0FBQztBQU9YOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLFlBQVksRUFBRSxLQUFLO0lBQ25CLFdBQVcsRUFBRSxDQUFDO0lBQ2QsWUFBWSxFQUFFLElBQUk7SUFDbEIsTUFBTSxFQUFFLE1BQU07Q0FDTixDQUFDO0FBRVg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5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Q0FBQyxDQUFDO0lBQ3RFLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuXG4vLyBFU00gaGFzIG5vIHN5bmNocm9ub3VzIG5hbWVkIEpTT04gaW1wb3J0IChOb2RlIG9ubHkgZXhwb3NlcyBhIGRlZmF1bHQgZXhwb3J0LFxuLy8gYW5kIGltcG9ydGluZyBgLi4vLi4vcGFja2FnZS5qc29uYCB3b3VsZCBhbHNvIGZhbGwgb3V0c2lkZSBgcm9vdERpcjogc3JjYCksIHNvXG4vLyByZWFkIHRoZSB2ZXJzaW9uIGZyb20gcGFja2FnZS5qc29uIGF0IGxvYWQgdGltZSByZWxhdGl2ZSB0byB0aGlzIG1vZHVsZS5cbmNvbnN0IHsgdmVyc2lvbiB9ID0gSlNPTi5wYXJzZShcbiAgcmVhZEZpbGVTeW5jKG5ldyBVUkwoJy4uLy4uL3BhY2thZ2UuanNvbicsIGltcG9ydC5tZXRhLnVybCksICd1dGYtOCcpLFxuKSBhcyB7IHZlcnNpb246IHN0cmluZyB9O1xuXG4vKipcbiAqIEFwcGxpY2F0aW9uIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBjb25zdCBBUFBfTkFNRSA9ICdwaXBlbGluZS1tYW5hZ2VyJztcbmV4cG9ydCBjb25zdCBBUFBfVkVSU0lPTiA9IHZlcnNpb247XG5leHBvcnQgY29uc3QgQVBQX0RFU0NSSVBUSU9OID0gJ0EgQ0xJIHRvb2wgdG8gbWFuYWdlIHBpcGVsaW5lcyBhbmQgcGx1Z2lucyc7XG5cbi8qKlxuICogQmFubmVyIGNvbmZpZ3VyYXRpb24gZm9yIENMSSBzdGFydHVwXG4gKi9cbmV4cG9ydCBjb25zdCBCQU5ORVJfT1BUSU9OUyA9IHtcbiAgZm9udDogJ0Rvb20nIGFzIGNvbnN0LFxuICBob3Jpem9udGFsTGF5b3V0OiAnZml0dGVkJyBhcyBjb25zdCxcbiAgZ2V0V2lkdGg6ICgpID0+IHByb2Nlc3Muc3Rkb3V0LmNvbHVtbnMgPz8gODAsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIE91dHB1dCBmb3JtYXQgdHlwZXNcbiAqL1xuZXhwb3J0IHR5cGUgT3V0cHV0Rm9ybWF0ID0gJ3RhYmxlJyB8ICdqc29uJyB8ICd5YW1sJyB8ICdjc3YnO1xuXG4vKipcbiAqIERlZmF1bHQgdGltZW91dHMgKGluIG1pbGxpc2Vjb25kcylcbiAqL1xuZXhwb3J0IGNvbnN0IFRJTUVPVVRTID0ge1xuICBIVFRQX1JFUVVFU1Q6IDMwMDAwLFxuICBDREtfQ09NTUFORDogMCxcbiAgSEVBTFRIX0NIRUNLOiA1MDAwLFxuICBVUExPQUQ6IDMwMDAwMCxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogRmlsZSBzaXplIGxpbWl0cyAoaW4gYnl0ZXMpXG4gKi9cbmV4cG9ydCBjb25zdCBGSUxFX1NJWkVfTElNSVRTID0ge1xuICBQTFVHSU46IDQgKiAxMDI0ICogMTAyNCAqIDEwMjQsIC8vIDRHQlxuICBQSVBFTElORV9QUk9QUzogMTAgKiAxMDI0ICogMTAyNCwgLy8gMTBNQlxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lc1xuICovXG5leHBvcnQgY29uc3QgRU5WX1ZBUlMgPSB7XG4gIFBMQVRGT1JNX1RPS0VOOiAnUExBVEZPUk1fVE9LRU4nLFxuICBQTEFURk9STV9CQVNFX1VSTDogJ1BMQVRGT1JNX0JBU0VfVVJMJyxcbiAgQ0xJX0NPTkZJR19QQVRIOiAnQ0xJX0NPTkZJR19QQVRIJyxcbiAgVExTX1JFSkVDVF9VTkFVVEhPUklaRUQ6ICdUTFNfUkVKRUNUX1VOQVVUSE9SSVpFRCcsXG4gIEFXU19QUk9GSUxFOiAnQVdTX1BST0ZJTEUnLFxuICBBV1NfUkVHSU9OOiAnQVdTX1JFR0lPTicsXG4gIERFQlVHOiAnREVCVUcnLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBDaGVjayBpZiBkZWJ1ZyBtb2RlIGlzIGVuYWJsZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGVidWdNb2RlKG9wdGlvbnM/OiB7IGRlYnVnPzogYm9vbGVhbiB9KTogYm9vbGVhbiB7XG4gIHJldHVybiBvcHRpb25zPy5kZWJ1ZyA/PyBwcm9jZXNzLmVudi5ERUJVRyA9PT0gJ3RydWUnO1xufVxuXG4vKipcbiAqIEZvcm1hdCBmaWxlIHNpemUgZm9yIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbGVTaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xuICBpZiAoYnl0ZXMgPT09IDApIHJldHVybiAnMCBCJztcbiAgY29uc3QgdW5pdHMgPSBbJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInXTtcbiAgY29uc3QgayA9IDEwMjQ7XG4gIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGspKTtcbiAgcmV0dXJuIGAkeyhieXRlcyAvIE1hdGgucG93KGssIGkpKS50b0ZpeGVkKDIpfSAke3VuaXRzW2ldfWA7XG59XG5cbi8qKlxuICogRm9ybWF0IGR1cmF0aW9uIGZvciBkaXNwbGF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREdXJhdGlvbihtczogbnVtYmVyKTogc3RyaW5nIHtcbiAgaWYgKG1zIDwgMTAwMCkgcmV0dXJuIGAke21zfW1zYDtcbiAgaWYgKG1zIDwgNjAwMDApIHJldHVybiBgJHsobXMgLyAxMDAwKS50b0ZpeGVkKDIpfXNgO1xuICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihtcyAvIDYwMDAwKTtcbiAgY29uc3QgcmVtYWluaW5nU2Vjb25kcyA9ICgobXMgJSA2MDAwMCkgLyAxMDAwKS50b0ZpeGVkKDApO1xuICByZXR1cm4gYCR7bWludXRlc31tICR7cmVtYWluaW5nU2Vjb25kc31zYDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBjcnlwdG9ncmFwaGljYWxseSByYW5kb20gZXhlY3V0aW9uIElEIGZvciByZXF1ZXN0IHRyYWNpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUV4ZWN1dGlvbklkKCk6IHN0cmluZyB7XG4gIHJldHVybiByYW5kb21CeXRlcyg0KS50b1N0cmluZygnaGV4JykudG9VcHBlckNhc2UoKTtcbn1cblxuLyoqXG4gKiBUYWJsZSBkaXNwbGF5IG9wdGlvbnMgKGJveC1kcmF3aW5nIGNoYXJhY3RlcnMpXG4gKi9cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT05TID0ge1xuICBib3JkZXI6IHtcbiAgICB0b3BCb2R5OiAn4pSAJyxcbiAgICB0b3BKb2luOiAn4pSsJyxcbiAgICB0b3BMZWZ0OiAn4pSMJyxcbiAgICB0b3BSaWdodDogJ+KUkCcsXG4gICAgYm90dG9tQm9keTogJ+KUgCcsXG4gICAgYm90dG9tSm9pbjogJ+KUtCcsXG4gICAgYm90dG9tTGVmdDogJ+KUlCcsXG4gICAgYm90dG9tUmlnaHQ6ICfilJgnLFxuICAgIGJvZHlMZWZ0OiAn4pSCJyxcbiAgICBib2R5UmlnaHQ6ICfilIInLFxuICAgIGJvZHlKb2luOiAn4pSCJyxcbiAgICBqb2luQm9keTogJ+KUgCcsXG4gICAgam9pbkxlZnQ6ICfilJwnLFxuICAgIGpvaW5SaWdodDogJ+KUpCcsXG4gICAgam9pbkpvaW46ICfilLwnLFxuICB9LFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBWYWxpZGF0ZSBib29sZWFuIHN0cmluZyBmcm9tIENMSSBpbnB1dFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVCb29sZWFuKHZhbHVlOiBzdHJpbmcsIGZpZWxkTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgaWYgKFsndHJ1ZScsICcxJywgJ3llcycsICd5J10uaW5jbHVkZXMobm9ybWFsaXplZCkpIHJldHVybiB0cnVlO1xuICBpZiAoWydmYWxzZScsICcwJywgJ25vJywgJ24nXS5pbmNsdWRlcyhub3JtYWxpemVkKSkgcmV0dXJuIGZhbHNlO1xuICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYm9vbGVhbiB2YWx1ZSBmb3IgJHtmaWVsZE5hbWV9OiBcIiR7dmFsdWV9XCIuIFVzZSB0cnVlL2ZhbHNlLCB5ZXMvbm8sIG9yIDEvMC5gKTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgcGFyc2UgYSBudW1lcmljIENMSSBwYXJhbWV0ZXIgd2l0aGluIG9wdGlvbmFsIGJvdW5kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIGZpZWxkTmFtZTogc3RyaW5nLCBtaW4/OiBudW1iZXIsIG1heD86IG51bWJlcik6IG51bWJlciB7XG4gIC8vIFJlamVjdCBwYXJ0aWFsIHBhcnNlcyAoXCIxMmFiY1wiIC0+IDEyKSBhbmQgbm9uLWludGVnZXJzIChcIjUuOVwiIC0+IDUpIHRoYXRcbiAgLy8gYHBhcnNlSW50YCB3b3VsZCBvdGhlcndpc2UgYWNjZXB0IHNpbGVudGx5LlxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhL14tP1xcZCskLy50ZXN0KHZhbHVlLnRyaW0oKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZE5hbWV9OiBtdXN0IGJlIGEgd2hvbGUgbnVtYmVyYCk7XG4gIH1cbiAgY29uc3QgbnVtID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlIDogcGFyc2VJbnQodmFsdWUudHJpbSgpLCAxMCk7XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcihudW0pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkICR7ZmllbGROYW1lfTogbXVzdCBiZSBhIHdob2xlIG51bWJlcmApO1xuICB9XG4gIGlmIChtaW4gIT09IHVuZGVmaW5lZCAmJiBudW0gPCBtaW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZE5hbWV9OiBtdXN0IGJlID49ICR7bWlufWApO1xuICB9XG4gIGlmIChtYXggIT09IHVuZGVmaW5lZCAmJiBudW0gPiBtYXgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZE5hbWV9OiBtdXN0IGJlIDw9ICR7bWF4fWApO1xuICB9XG4gIHJldHVybiBudW07XG59XG5cbi8qKlxuICogVmFsaWRhdGUgc29ydCBwYXJhbWV0ZXIgZm9ybWF0IChlLmcuLCBcImNyZWF0ZWRBdDpkZXNjXCIpLlxuICogUmV0dXJucyB0aGUgdmFsaWRhdGVkIHNvcnQgc3RyaW5nLCBvciB0aGUgZGVmYXVsdCBpZiBpbnZhbGlkLlxuICovXG5jb25zdCBTT1JUX1BBVFRFUk4gPSAvXlthLXpBLVpfXVthLXpBLVowLTlfXSo6KGFzY3xkZXNjKSQvO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoIXZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xuICBpZiAoIVNPUlRfUEFUVEVSTi50ZXN0KHZhbHVlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzb3J0IGZvcm1hdDogXCIke3ZhbHVlfVwiLiBFeHBlY3RlZCBcImZpZWxkOmFzY1wiIG9yIFwiZmllbGQ6ZGVzY1wiLmApO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBSZWplY3Qgc3RyaW5ncyBjb250YWluaW5nIHNoZWxsIG1ldGFjaGFyYWN0ZXJzLlxuICogVXNlZCB0byBzYW5pdGl6ZSBDTEkgaW5wdXRzIGJlZm9yZSBwYXNzaW5nIHRvIHNoZWxsIGNvbW1hbmRzLlxuICovXG5jb25zdCBTSEVMTF9VTlNBRkUgPSAvWzsmfGAkKCl7fVtcXF08PiEjfio/XFxcXFxcblxccl0vO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0U2hlbGxTYWZlKFxuICB2YWx1ZTogc3RyaW5nLFxuICBmaWVsZE5hbWU6IHN0cmluZyxcbiAgb3B0czogeyByZWRhY3RWYWx1ZT86IGJvb2xlYW4gfSA9IHt9LFxuKTogdm9pZCB7XG4gIGlmIChTSEVMTF9VTlNBRkUudGVzdCh2YWx1ZSkpIHtcbiAgICAvLyBgcmVkYWN0VmFsdWVgIGlzIGZvciBzZWNyZXRzICh0b2tlbnMsIHBhc3N3b3Jkcykg4oCUIG5ldmVyIGVjaG8gdGhlIG9mZmVuZGluZ1xuICAgIC8vIHZhbHVlIGludG8gYW4gZXJyb3IvbG9nIGxpbmUgd2hlbiB0aGUgZmllbGQgaXMgc2Vuc2l0aXZlLlxuICAgIGNvbnN0IGRldGFpbCA9IG9wdHMucmVkYWN0VmFsdWUgPyAnJyA6IGA6IFwiJHt2YWx1ZX1cImA7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke2ZpZWxkTmFtZX0gY29udGFpbnMgdW5zYWZlIGNoYXJhY3RlcnMke2RldGFpbH1gKTtcbiAgfVxufVxuIl19
|
|
166
|
+
/**
|
|
167
|
+
* POSIX single-quote a value (escaping embedded single quotes) for safe shell
|
|
168
|
+
* interpolation. Single source of truth — drift in a shell-quoting helper is
|
|
169
|
+
* security-relevant, so both agent modules import this rather than re-declaring it.
|
|
170
|
+
*/
|
|
171
|
+
export function shellQuote(value) {
|
|
172
|
+
return `'${value.replace(/'/g, "'\\''")}'`;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvY2xpLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV2QyxnRkFBZ0Y7QUFDaEYsaUZBQWlGO0FBQ2pGLDJFQUEyRTtBQUMzRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDNUIsWUFBWSxDQUFDLElBQUksR0FBRyxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQy9DLENBQUM7QUFFekI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsNENBQTRDLENBQUM7QUFFNUU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsSUFBSSxFQUFFLE1BQWU7SUFDckIsZ0JBQWdCLEVBQUUsUUFBaUI7SUFDbkMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7Q0FDcEMsQ0FBQztBQU9YOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLFlBQVksRUFBRSxLQUFLO0lBQ25CLFdBQVcsRUFBRSxDQUFDO0lBQ2QsWUFBWSxFQUFFLElBQUk7SUFDbEIsTUFBTSxFQUFFLE1BQU07Q0FDTixDQUFDO0FBRVg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5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Q0FBQyxDQUFDO0lBQ3RFLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBYTtJQUN0QyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuXG4vLyBFU00gaGFzIG5vIHN5bmNocm9ub3VzIG5hbWVkIEpTT04gaW1wb3J0IChOb2RlIG9ubHkgZXhwb3NlcyBhIGRlZmF1bHQgZXhwb3J0LFxuLy8gYW5kIGltcG9ydGluZyBgLi4vLi4vcGFja2FnZS5qc29uYCB3b3VsZCBhbHNvIGZhbGwgb3V0c2lkZSBgcm9vdERpcjogc3JjYCksIHNvXG4vLyByZWFkIHRoZSB2ZXJzaW9uIGZyb20gcGFja2FnZS5qc29uIGF0IGxvYWQgdGltZSByZWxhdGl2ZSB0byB0aGlzIG1vZHVsZS5cbmNvbnN0IHsgdmVyc2lvbiB9ID0gSlNPTi5wYXJzZShcbiAgcmVhZEZpbGVTeW5jKG5ldyBVUkwoJy4uLy4uL3BhY2thZ2UuanNvbicsIGltcG9ydC5tZXRhLnVybCksICd1dGYtOCcpLFxuKSBhcyB7IHZlcnNpb246IHN0cmluZyB9O1xuXG4vKipcbiAqIEFwcGxpY2F0aW9uIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBjb25zdCBBUFBfTkFNRSA9ICdwaXBlbGluZS1tYW5hZ2VyJztcbmV4cG9ydCBjb25zdCBBUFBfVkVSU0lPTiA9IHZlcnNpb247XG5leHBvcnQgY29uc3QgQVBQX0RFU0NSSVBUSU9OID0gJ0EgQ0xJIHRvb2wgdG8gbWFuYWdlIHBpcGVsaW5lcyBhbmQgcGx1Z2lucyc7XG5cbi8qKlxuICogQmFubmVyIGNvbmZpZ3VyYXRpb24gZm9yIENMSSBzdGFydHVwXG4gKi9cbmV4cG9ydCBjb25zdCBCQU5ORVJfT1BUSU9OUyA9IHtcbiAgZm9udDogJ0Rvb20nIGFzIGNvbnN0LFxuICBob3Jpem9udGFsTGF5b3V0OiAnZml0dGVkJyBhcyBjb25zdCxcbiAgZ2V0V2lkdGg6ICgpID0+IHByb2Nlc3Muc3Rkb3V0LmNvbHVtbnMgPz8gODAsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIE91dHB1dCBmb3JtYXQgdHlwZXNcbiAqL1xuZXhwb3J0IHR5cGUgT3V0cHV0Rm9ybWF0ID0gJ3RhYmxlJyB8ICdqc29uJyB8ICd5YW1sJyB8ICdjc3YnO1xuXG4vKipcbiAqIERlZmF1bHQgdGltZW91dHMgKGluIG1pbGxpc2Vjb25kcylcbiAqL1xuZXhwb3J0IGNvbnN0IFRJTUVPVVRTID0ge1xuICBIVFRQX1JFUVVFU1Q6IDMwMDAwLFxuICBDREtfQ09NTUFORDogMCxcbiAgSEVBTFRIX0NIRUNLOiA1MDAwLFxuICBVUExPQUQ6IDMwMDAwMCxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogRmlsZSBzaXplIGxpbWl0cyAoaW4gYnl0ZXMpXG4gKi9cbmV4cG9ydCBjb25zdCBGSUxFX1NJWkVfTElNSVRTID0ge1xuICBQTFVHSU46IDQgKiAxMDI0ICogMTAyNCAqIDEwMjQsIC8vIDRHQlxuICBQSVBFTElORV9QUk9QUzogMTAgKiAxMDI0ICogMTAyNCwgLy8gMTBNQlxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lc1xuICovXG5leHBvcnQgY29uc3QgRU5WX1ZBUlMgPSB7XG4gIFBMQVRGT1JNX1RPS0VOOiAnUExBVEZPUk1fVE9LRU4nLFxuICBQTEFURk9STV9CQVNFX1VSTDogJ1BMQVRGT1JNX0JBU0VfVVJMJyxcbiAgQ0xJX0NPTkZJR19QQVRIOiAnQ0xJX0NPTkZJR19QQVRIJyxcbiAgVExTX1JFSkVDVF9VTkFVVEhPUklaRUQ6ICdUTFNfUkVKRUNUX1VOQVVUSE9SSVpFRCcsXG4gIEFXU19QUk9GSUxFOiAnQVdTX1BST0ZJTEUnLFxuICBBV1NfUkVHSU9OOiAnQVdTX1JFR0lPTicsXG4gIERFQlVHOiAnREVCVUcnLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBDaGVjayBpZiBkZWJ1ZyBtb2RlIGlzIGVuYWJsZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGVidWdNb2RlKG9wdGlvbnM/OiB7IGRlYnVnPzogYm9vbGVhbiB9KTogYm9vbGVhbiB7XG4gIHJldHVybiBvcHRpb25zPy5kZWJ1ZyA/PyBwcm9jZXNzLmVudi5ERUJVRyA9PT0gJ3RydWUnO1xufVxuXG4vKipcbiAqIEZvcm1hdCBmaWxlIHNpemUgZm9yIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbGVTaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xuICBpZiAoYnl0ZXMgPT09IDApIHJldHVybiAnMCBCJztcbiAgY29uc3QgdW5pdHMgPSBbJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInXTtcbiAgY29uc3QgayA9IDEwMjQ7XG4gIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGspKTtcbiAgcmV0dXJuIGAkeyhieXRlcyAvIE1hdGgucG93KGssIGkpKS50b0ZpeGVkKDIpfSAke3VuaXRzW2ldfWA7XG59XG5cbi8qKlxuICogRm9ybWF0IGR1cmF0aW9uIGZvciBkaXNwbGF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREdXJhdGlvbihtczogbnVtYmVyKTogc3RyaW5nIHtcbiAgaWYgKG1zIDwgMTAwMCkgcmV0dXJuIGAke21zfW1zYDtcbiAgaWYgKG1zIDwgNjAwMDApIHJldHVybiBgJHsobXMgLyAxMDAwKS50b0ZpeGVkKDIpfXNgO1xuICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihtcyAvIDYwMDAwKTtcbiAgY29uc3QgcmVtYWluaW5nU2Vjb25kcyA9ICgobXMgJSA2MDAwMCkgLyAxMDAwKS50b0ZpeGVkKDApO1xuICByZXR1cm4gYCR7bWludXRlc31tICR7cmVtYWluaW5nU2Vjb25kc31zYDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBjcnlwdG9ncmFwaGljYWxseSByYW5kb20gZXhlY3V0aW9uIElEIGZvciByZXF1ZXN0IHRyYWNpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUV4ZWN1dGlvbklkKCk6IHN0cmluZyB7XG4gIHJldHVybiByYW5kb21CeXRlcyg0KS50b1N0cmluZygnaGV4JykudG9VcHBlckNhc2UoKTtcbn1cblxuLyoqXG4gKiBUYWJsZSBkaXNwbGF5IG9wdGlvbnMgKGJveC1kcmF3aW5nIGNoYXJhY3RlcnMpXG4gKi9cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT05TID0ge1xuICBib3JkZXI6IHtcbiAgICB0b3BCb2R5OiAn4pSAJyxcbiAgICB0b3BKb2luOiAn4pSsJyxcbiAgICB0b3BMZWZ0OiAn4pSMJyxcbiAgICB0b3BSaWdodDogJ+KUkCcsXG4gICAgYm90dG9tQm9keTogJ+KUgCcsXG4gICAgYm90dG9tSm9pbjogJ+KUtCcsXG4gICAgYm90dG9tTGVmdDogJ+KUlCcsXG4gICAgYm90dG9tUmlnaHQ6ICfilJgnLFxuICAgIGJvZHlMZWZ0OiAn4pSCJyxcbiAgICBib2R5UmlnaHQ6ICfilIInLFxuICAgIGJvZHlKb2luOiAn4pSCJyxcbiAgICBqb2luQm9keTogJ+KUgCcsXG4gICAgam9pbkxlZnQ6ICfilJwnLFxuICAgIGpvaW5SaWdodDogJ+KUpCcsXG4gICAgam9pbkpvaW46ICfilLwnLFxuICB9LFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBWYWxpZGF0ZSBib29sZWFuIHN0cmluZyBmcm9tIENMSSBpbnB1dFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVCb29sZWFuKHZhbHVlOiBzdHJpbmcsIGZpZWxkTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgaWYgKFsndHJ1ZScsICcxJywgJ3llcycsICd5J10uaW5jbHVkZXMobm9ybWFsaXplZCkpIHJldHVybiB0cnVlO1xuICBpZiAoWydmYWxzZScsICcwJywgJ25vJywgJ24nXS5pbmNsdWRlcyhub3JtYWxpemVkKSkgcmV0dXJuIGZhbHNlO1xuICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYm9vbGVhbiB2YWx1ZSBmb3IgJHtmaWVsZE5hbWV9OiBcIiR7dmFsdWV9XCIuIFVzZSB0cnVlL2ZhbHNlLCB5ZXMvbm8sIG9yIDEvMC5gKTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgcGFyc2UgYSBudW1lcmljIENMSSBwYXJhbWV0ZXIgd2l0aGluIG9wdGlvbmFsIGJvdW5kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIGZpZWxkTmFtZTogc3RyaW5nLCBtaW4/OiBudW1iZXIsIG1heD86IG51bWJlcik6IG51bWJlciB7XG4gIC8vIFJlamVjdCBwYXJ0aWFsIHBhcnNlcyAoXCIxMmFiY1wiIC0+IDEyKSBhbmQgbm9uLWludGVnZXJzIChcIjUuOVwiIC0+IDUpIHRoYXRcbiAgLy8gYHBhcnNlSW50YCB3b3VsZCBvdGhlcndpc2UgYWNjZXB0IHNpbGVudGx5LlxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhL14tP1xcZCskLy50ZXN0KHZhbHVlLnRyaW0oKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZE5hbWV9OiBtdXN0IGJlIGEgd2hvbGUgbnVtYmVyYCk7XG4gIH1cbiAgY29uc3QgbnVtID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlIDogcGFyc2VJbnQodmFsdWUudHJpbSgpLCAxMCk7XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcihudW0pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkICR7ZmllbGROYW1lfTogbXVzdCBiZSBhIHdob2xlIG51bWJlcmApO1xuICB9XG4gIGlmIChtaW4gIT09IHVuZGVmaW5lZCAmJiBudW0gPCBtaW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZE5hbWV9OiBtdXN0IGJlID49ICR7bWlufWApO1xuICB9XG4gIGlmIChtYXggIT09IHVuZGVmaW5lZCAmJiBudW0gPiBtYXgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZE5hbWV9OiBtdXN0IGJlIDw9ICR7bWF4fWApO1xuICB9XG4gIHJldHVybiBudW07XG59XG5cbi8qKlxuICogVmFsaWRhdGUgc29ydCBwYXJhbWV0ZXIgZm9ybWF0IChlLmcuLCBcImNyZWF0ZWRBdDpkZXNjXCIpLlxuICogUmV0dXJucyB0aGUgdmFsaWRhdGVkIHNvcnQgc3RyaW5nLCBvciB0aGUgZGVmYXVsdCBpZiBpbnZhbGlkLlxuICovXG5jb25zdCBTT1JUX1BBVFRFUk4gPSAvXlthLXpBLVpfXVthLXpBLVowLTlfXSo6KGFzY3xkZXNjKSQvO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoIXZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xuICBpZiAoIVNPUlRfUEFUVEVSTi50ZXN0KHZhbHVlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzb3J0IGZvcm1hdDogXCIke3ZhbHVlfVwiLiBFeHBlY3RlZCBcImZpZWxkOmFzY1wiIG9yIFwiZmllbGQ6ZGVzY1wiLmApO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBSZWplY3Qgc3RyaW5ncyBjb250YWluaW5nIHNoZWxsIG1ldGFjaGFyYWN0ZXJzLlxuICogVXNlZCB0byBzYW5pdGl6ZSBDTEkgaW5wdXRzIGJlZm9yZSBwYXNzaW5nIHRvIHNoZWxsIGNvbW1hbmRzLlxuICovXG5jb25zdCBTSEVMTF9VTlNBRkUgPSAvWzsmfGAkKCl7fVtcXF08PiEjfio/XFxcXFxcblxccl0vO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0U2hlbGxTYWZlKFxuICB2YWx1ZTogc3RyaW5nLFxuICBmaWVsZE5hbWU6IHN0cmluZyxcbiAgb3B0czogeyByZWRhY3RWYWx1ZT86IGJvb2xlYW4gfSA9IHt9LFxuKTogdm9pZCB7XG4gIGlmIChTSEVMTF9VTlNBRkUudGVzdCh2YWx1ZSkpIHtcbiAgICAvLyBgcmVkYWN0VmFsdWVgIGlzIGZvciBzZWNyZXRzICh0b2tlbnMsIHBhc3N3b3Jkcykg4oCUIG5ldmVyIGVjaG8gdGhlIG9mZmVuZGluZ1xuICAgIC8vIHZhbHVlIGludG8gYW4gZXJyb3IvbG9nIGxpbmUgd2hlbiB0aGUgZmllbGQgaXMgc2Vuc2l0aXZlLlxuICAgIGNvbnN0IGRldGFpbCA9IG9wdHMucmVkYWN0VmFsdWUgPyAnJyA6IGA6IFwiJHt2YWx1ZX1cImA7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke2ZpZWxkTmFtZX0gY29udGFpbnMgdW5zYWZlIGNoYXJhY3RlcnMke2RldGFpbH1gKTtcbiAgfVxufVxuXG4vKipcbiAqIFBPU0lYIHNpbmdsZS1xdW90ZSBhIHZhbHVlIChlc2NhcGluZyBlbWJlZGRlZCBzaW5nbGUgcXVvdGVzKSBmb3Igc2FmZSBzaGVsbFxuICogaW50ZXJwb2xhdGlvbi4gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCDigJQgZHJpZnQgaW4gYSBzaGVsbC1xdW90aW5nIGhlbHBlciBpc1xuICogc2VjdXJpdHktcmVsZXZhbnQsIHNvIGJvdGggYWdlbnQgbW9kdWxlcyBpbXBvcnQgdGhpcyByYXRoZXIgdGhhbiByZS1kZWNsYXJpbmcgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaGVsbFF1b3RlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCcke3ZhbHVlLnJlcGxhY2UoLycvZywgXCInXFxcXCcnXCIpfSdgO1xufVxuIl19
|
|
@@ -92,7 +92,10 @@
|
|
|
92
92
|
{
|
|
93
93
|
"Effect": "Allow",
|
|
94
94
|
"Action": "secretsmanager:GetSecretValue",
|
|
95
|
-
"Resource":
|
|
95
|
+
"Resource": [
|
|
96
|
+
{ "Fn::Sub": "arn:aws:secretsmanager:${AWS::Region}:${AWS::AccountId}:secret:pipeline-builder/*/platform-*" },
|
|
97
|
+
{ "Fn::Sub": "arn:aws:secretsmanager:${AWS::Region}:${AWS::AccountId}:secret:pipeline-builder/*/reporting-ingest-*" }
|
|
98
|
+
]
|
|
96
99
|
},
|
|
97
100
|
{
|
|
98
101
|
"Effect": "Allow",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAMjD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAwD1B,OAAO,CAAC,WAAW;IAkDb,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAK7G,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAK5F,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAWpG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAK3F,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAK9E,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKnG,SAAS,IAAI,MAAM;IACnB,UAAU,IAAI,MAAM;IACpB,eAAe,IAAI,OAAO;IAE1B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CASzB"}
|