@pipeline-builder/pipeline-manager 4.1.15 → 4.1.16
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/config.yml +16 -37
- package/dist/boilerplate.js +10 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +97 -79
- package/dist/commands/audit-stacks.js +3 -3
- package/dist/commands/create-pat.d.ts +2 -3
- package/dist/commands/create-pat.d.ts.map +1 -1
- package/dist/commands/create-pat.js +3 -4
- package/dist/commands/create-pipeline.d.ts.map +1 -1
- package/dist/commands/create-pipeline.js +198 -190
- package/dist/commands/list-pipelines.js +2 -2
- package/dist/commands/list-plugins.js +2 -2
- package/dist/commands/login.d.ts +2 -2
- package/dist/commands/login.js +3 -3
- package/dist/commands/new-plugin.d.ts +48 -5
- package/dist/commands/new-plugin.d.ts.map +1 -1
- package/dist/commands/new-plugin.js +261 -95
- package/dist/commands/plugin-lifecycle.d.ts +29 -0
- package/dist/commands/plugin-lifecycle.d.ts.map +1 -0
- package/dist/commands/plugin-lifecycle.js +147 -0
- package/dist/commands/provision.d.ts +42 -2
- package/dist/commands/provision.d.ts.map +1 -1
- package/dist/commands/provision.js +184 -147
- package/dist/commands/publish-plugin.d.ts +62 -0
- package/dist/commands/publish-plugin.d.ts.map +1 -0
- package/dist/commands/publish-plugin.js +224 -0
- package/dist/commands/redrive-events.d.ts +1 -1
- package/dist/commands/redrive-events.js +2 -2
- package/dist/commands/store-token.d.ts +46 -1
- package/dist/commands/store-token.d.ts.map +1 -1
- package/dist/commands/store-token.js +127 -102
- package/dist/commands/test-plugin.d.ts +72 -0
- package/dist/commands/test-plugin.d.ts.map +1 -0
- package/dist/commands/test-plugin.js +285 -0
- package/dist/commands/upload-plugin.d.ts +6 -7
- package/dist/commands/upload-plugin.d.ts.map +1 -1
- package/dist/commands/upload-plugin.js +127 -189
- package/dist/commands/validate-plugin.d.ts +37 -4
- package/dist/commands/validate-plugin.d.ts.map +1 -1
- package/dist/commands/validate-plugin.js +129 -144
- package/dist/commands/validate-templates.d.ts.map +1 -1
- package/dist/commands/validate-templates.js +8 -9
- package/dist/config/plugin-catalog-assets.d.ts +13 -0
- package/dist/config/plugin-catalog-assets.d.ts.map +1 -0
- package/dist/config/plugin-catalog-assets.js +21 -0
- package/dist/config.yml +16 -37
- package/dist/lambda/token-renew-handler.d.ts.map +1 -1
- package/dist/lambda/token-renew-handler.js +109 -154
- package/dist/types/config.d.ts +2 -6
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +1 -1
- package/dist/types/plugin.d.ts +21 -0
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/plugin.js +1 -1
- package/dist/utils/aws-env.d.ts +1 -2
- package/dist/utils/aws-env.d.ts.map +1 -1
- package/dist/utils/aws-env.js +2 -3
- package/dist/utils/catalog-prompt.d.ts +26 -0
- package/dist/utils/catalog-prompt.d.ts.map +1 -0
- package/dist/utils/catalog-prompt.js +113 -0
- package/dist/utils/command-utils.d.ts.map +1 -1
- package/dist/utils/command-utils.js +14 -3
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +4 -6
- package/dist/utils/credential-store.d.ts +16 -0
- package/dist/utils/credential-store.d.ts.map +1 -1
- package/dist/utils/credential-store.js +57 -2
- package/dist/utils/deploy-runner.d.ts.map +1 -1
- package/dist/utils/deploy-runner.js +7 -2
- package/dist/utils/pipeline-config.d.ts +1 -2
- package/dist/utils/pipeline-config.d.ts.map +1 -1
- package/dist/utils/pipeline-config.js +1 -1
- package/dist/utils/plugin-docker.d.ts +44 -0
- package/dist/utils/plugin-docker.d.ts.map +1 -0
- package/dist/utils/plugin-docker.js +71 -0
- package/dist/utils/plugin-package.d.ts +40 -0
- package/dist/utils/plugin-package.d.ts.map +1 -0
- package/dist/utils/plugin-package.js +159 -0
- package/dist/utils/plugin-resolver.d.ts.map +1 -1
- package/dist/utils/plugin-resolver.js +43 -29
- package/dist/utils/plugin-scan.d.ts +22 -0
- package/dist/utils/plugin-scan.d.ts.map +1 -0
- package/dist/utils/plugin-scan.js +52 -0
- package/dist/utils/plugin-zip.d.ts +15 -0
- package/dist/utils/plugin-zip.d.ts.map +1 -0
- package/dist/utils/plugin-zip.js +96 -0
- package/dist/utils/registry.d.ts +15 -0
- package/dist/utils/registry.d.ts.map +1 -1
- package/dist/utils/registry.js +17 -2
- package/dist/utils/service-account.d.ts.map +1 -1
- package/dist/utils/service-account.js +9 -10
- package/package.json +45 -8
|
@@ -57,8 +57,8 @@ export function auditStacks(program) {
|
|
|
57
57
|
?? [];
|
|
58
58
|
// Fetch stacks from CloudFormation. DescribeStacks (no StackName) returns every
|
|
59
59
|
// active stack WITH its tags in one paginated sweep — avoiding the N+1
|
|
60
|
-
// DescribeStacks-per-stack
|
|
61
|
-
// and the API throttling
|
|
60
|
+
// DescribeStacks-per-stack a ListStacks path needs (ListStacks omits tags)
|
|
61
|
+
// and the API throttling that causes on accounts with many stacks.
|
|
62
62
|
if (!options.json)
|
|
63
63
|
printInfo('Listing CloudFormation stacks', { region });
|
|
64
64
|
const cfn = new CloudFormationClient({ region });
|
|
@@ -179,4 +179,4 @@ export function auditStacks(program) {
|
|
|
179
179
|
}
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtc3RhY2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2F1ZGl0LXN0YWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckssT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBMkIzRyxNQUFNLGVBQWUsR0FBRztJQUN0QixpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSwwQkFBMEI7SUFDaEUsaUJBQWlCLEVBQUUsMEJBQTBCO0NBQzlDLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWdCO0lBQzFDLGNBQWMsQ0FDWixpQkFBaUIsQ0FDZixnQkFBZ0IsQ0FBQyxPQUFPO1NBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDakIsV0FBVyxDQUFDLDZGQUE2RixDQUFDLENBQUMsQ0FDL0c7U0FDRSxNQUFNLENBQUMsZUFBZSxFQUFFLHFEQUFxRCxDQUFDO1NBQzlFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQ3JEO1NB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QUMsQ0FBQzt3QkFDM0YsQ0FBQztvQkFDSCxDQUFDO29CQUNELFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLGlCQUFpQixRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLGtDQUFrQyxDQUFDLENBQUM7Z0JBQ3BILENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUMzQixJQUFJLEVBQUUsS0FBSztnQkFDWCxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRTthQUNsRCxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQsIERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGFwcGx5QXdzUHJvZmlsZSwgcmVzb2x2ZUF3c1JlZ2lvbiB9IGZyb20gJy4uL3V0aWxzL2F3cy1lbnYuanMnO1xuaW1wb3J0IHsgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudEFzeW5jLCBwcmludENvbW1hbmRIZWFkZXIsIHByaW50U3NsV2FybmluZywgd2l0aFByb2ZpbGVPcHRpb24sIHdpdGhSZWdpb25PcHRpb24sIHdpdGhTc2xPcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbmludGVyZmFjZSBSZWdpc3RyeUVudHJ5IHtcbiAgcGlwZWxpbmVJZDogc3RyaW5nO1xuICBwaXBlbGluZUFybjogc3RyaW5nO1xuICBwaXBlbGluZU5hbWU6IHN0cmluZztcbiAgc3RhY2tOYW1lPzogc3RyaW5nO1xuICByZWdpb24/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTdGFja0luZm8ge1xuICBzdGFja05hbWU6IHN0cmluZztcbiAgc3RhY2tTdGF0dXM6IHN0cmluZztcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIHBpcGVsaW5lQnVpbGRlclRhZz86IHN0cmluZztcbiAgb3JnSWRUYWc/OiBzdHJpbmc7XG4gIGNyZWF0aW9uVGltZT86IERhdGU7XG59XG5cbmludGVyZmFjZSBBdWRpdEZpbmRpbmcge1xuICB0eXBlOiAnb3JwaGFuZWQtc3RhY2snIHwgJ21pc3Npbmctc3RhY2snO1xuICBzdGFja05hbWU/OiBzdHJpbmc7XG4gIHBpcGVsaW5lSWQ/OiBzdHJpbmc7XG4gIHBpcGVsaW5lTmFtZT86IHN0cmluZztcbiAgZGV0YWlsOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFDVElWRV9TVEFUVVNFUyA9IFtcbiAgJ0NSRUFURV9DT01QTEVURScsICdVUERBVEVfQ09NUExFVEUnLCAnVVBEQVRFX1JPTExCQUNLX0NPTVBMRVRFJyxcbiAgJ0lNUE9SVF9DT01QTEVURScsICdJTVBPUlRfUk9MTEJBQ0tfQ09NUExFVEUnLFxuXTtcblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGBhdWRpdC1zdGFja3NgIGNvbW1hbmQgd2l0aCB0aGUgQ0xJIHByb2dyYW0uXG4gKlxuICogRGlmZnMgQ2xvdWRGb3JtYXRpb24gc3RhY2tzIChmaWx0ZXJlZCB0byB0aG9zZSB0YWdnZWQgd2l0aCBgcGlwZWxpbmUtYnVpbGRlcmApXG4gKiBhZ2FpbnN0IHRoZSBwbGF0Zm9ybSdzIGBwaXBlbGluZV9yZWdpc3RyeWAgdGFibGUuIFN1cmZhY2VzOlxuICogICAtICoqT3JwaGFuZWQgc3RhY2tzKio6IHRhZ2dlZCBzdGFja3Mgd2l0aCBubyBEQiByZWNvcmQgKGxpa2VseSBsZWZ0b3ZlcnMgYWZ0ZXJcbiAqICAgICBhIHBpcGVsaW5lIHdhcyBkZWxldGVkIGZyb20gdGhlIGRhc2hib2FyZCBidXQgdGhlIENESyBzdGFjayBzdGF5ZWQgaW4gQVdTKS5cbiAqICAgLSAqKk1pc3Npbmcgc3RhY2tzKio6IHJlZ2lzdHJ5IGVudHJpZXMgcG9pbnRpbmcgdG8gc3RhY2tzIHRoYXQgbm8gbG9uZ2VyIGV4aXN0XG4gKiAgICAgaW4gQ2xvdWRGb3JtYXRpb24gKGxpa2VseSBhZnRlciBhIG1hbnVhbCBgYXdzIGNsb3VkZm9ybWF0aW9uIGRlbGV0ZS1zdGFja2ApLlxuICpcbiAqIERlc2lnbmVkIGZvciBjcm9uIHVzZTpcbiAqICAgLSBFeGl0cyAwIHdoZW4gdGhlcmUgYXJlIG5vIGZpbmRpbmdzLlxuICogICAtIEV4aXRzIDEgd2hlbiBhdCBsZWFzdCBvbmUgb3JwaGFuZWQgb3IgbWlzc2luZyBzdGFjayBpcyBmb3VuZC5cbiAqICAgLSBFeGl0cyAyIG9uIEFXUyBlcnJvcnMgLyBzY2FuIGZhaWx1cmVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGF1ZGl0IHN0YWNrcyAtLXJlZ2lvbiB1cy1lYXN0LTFcbiAqIHBpcGVsaW5lLW1hbmFnZXIgYXVkaXQgc3RhY2tzIC0tb3JnIGFjbWUgLS1qc29uXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0U3RhY2tzKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgd2l0aFNzbE9wdGlvbnMoXG4gICAgd2l0aFByb2ZpbGVPcHRpb24oXG4gICAgICB3aXRoUmVnaW9uT3B0aW9uKHByb2dyYW1cbiAgICAgICAgLmNvbW1hbmQoJ3N0YWNrcycpXG4gICAgICAgIC5kZXNjcmlwdGlvbignRGlmZiBDbG91ZEZvcm1hdGlvbiBzdGFja3MgdnMgcGlwZWxpbmVfcmVnaXN0cnkgdG8gZmluZCBvcnBoYW5lZCBvciBtaXNzaW5nIENESyBkZXBsb3ltZW50cycpKSxcbiAgICApXG4gICAgICAub3B0aW9uKCctLW9yZyA8b3JnSWQ+JywgJ0ZpbHRlciBib3RoIHJlZ2lzdHJ5IGFuZCBzdGFjayBzY2FuIHRvIGEgc2luZ2xlIG9yZycpXG4gICAgICAub3B0aW9uKCctLWpzb24nLCAnT3V0cHV0IHJlc3VsdHMgYXMgSlNPTicsIGZhbHNlKSxcbiAgKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdBdWRpdCBTdGFja3MnLCB1bmRlZmluZWQsIHsgcXVpZXQ6IG9wdGlvbnMuanNvbiB9KTtcbiAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG5cbiAgICAgIGNvbnN0IHJlZ2lvbiA9IHJlc29sdmVBd3NSZWdpb24ob3B0aW9ucy5yZWdpb24pO1xuICAgICAgLy8gSG9ub3IgLS1wcm9maWxlIGZvciB0aGUgU0RLIENsb3VkRm9ybWF0aW9uIGNsaWVudCBiZWxvdyAod2l0aG91dCB0aGlzLCB0aGVcbiAgICAgIC8vIHNjYW4gYWx3YXlzIGhpdCB0aGUgZGVmYXVsdCBhY2NvdW50IGFuZCBjb3VsZCBkaWZmIHRoZSByZWdpc3RyeSBhZ2FpbnN0XG4gICAgICAvLyB0aGUgV1JPTkcgYWNjb3VudCdzIHN0YWNrcyDihpIgYm9ndXMgb3JwaGFuZWQvbWlzc2luZyBmaW5kaW5ncykuXG4gICAgICBhcHBseUF3c1Byb2ZpbGUob3B0aW9ucy5wcm9maWxlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gRmV0Y2ggdGhlIHBsYXRmb3JtJ3MgdmlldyBvZiByZWdpc3RlcmVkIHBpcGVsaW5lcy5cbiAgICAgICAgLy8gUHJvZ3Jlc3MgZ29lcyB0byBzdGRvdXQsIHNvIHN1cHByZXNzIGl0IGluIC0tanNvbiBtb2RlIHRvIGtlZXAgdGhlIEpTT04gcGF5bG9hZCBjbGVhbiBmb3IgcGlwaW5nLlxuICAgICAgICBpZiAoIW9wdGlvbnMuanNvbikgcHJpbnRJbmZvKCdGZXRjaGluZyBwaXBlbGluZSByZWdpc3RyeSBmcm9tIHBsYXRmb3JtJywgeyBvcmc6IG9wdGlvbnMub3JnID8/ICcoYWxsKScgfSk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGF3YWl0IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnRBc3luYyhvcHRpb25zKTtcbiAgICAgICAgY29uc3QgcmVnaXN0cnlSZXMgPSBhd2FpdCBjbGllbnQuZ2V0PHsgZW50cmllczogUmVnaXN0cnlFbnRyeVtdIH0+KFxuICAgICAgICAgIGAvYXBpL3BpcGVsaW5lcy9yZWdpc3RyeSR7b3B0aW9ucy5vcmcgPyBgP29yZ0lkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMub3JnKX1gIDogJyd9YCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZW50cmllczogUmVnaXN0cnlFbnRyeVtdID0gKHJlZ2lzdHJ5UmVzIGFzIHsgZW50cmllcz86IFJlZ2lzdHJ5RW50cnlbXSB9KT8uZW50cmllc1xuICAgICAgICAgID8/IChyZWdpc3RyeVJlcyBhcyB7IGRhdGE/OiB7IGVudHJpZXM/OiBSZWdpc3RyeUVudHJ5W10gfSB9KT8uZGF0YT8uZW50cmllc1xuICAgICAgICAgID8/IFtdO1xuXG4gICAgICAgIC8vIEZldGNoIHN0YWNrcyBmcm9tIENsb3VkRm9ybWF0aW9uLiBEZXNjcmliZVN0YWNrcyAobm8gU3RhY2tOYW1lKSByZXR1cm5zIGV2ZXJ5XG4gICAgICAgIC8vIGFjdGl2ZSBzdGFjayBXSVRIIGl0cyB0YWdzIGluIG9uZSBwYWdpbmF0ZWQgc3dlZXAg4oCUIGF2b2lkaW5nIHRoZSBOKzFcbiAgICAgICAgLy8gRGVzY3JpYmVTdGFja3MtcGVyLXN0YWNrIHRoZSBvbGQgTGlzdFN0YWNrcyBwYXRoIG5lZWRlZCAoTGlzdFN0YWNrcyBvbWl0cyB0YWdzKVxuICAgICAgICAvLyBhbmQgdGhlIEFQSSB0aHJvdHRsaW5nIGl0IGNhdXNlZCBvbiBhY2NvdW50cyB3aXRoIG1hbnkgc3RhY2tzLlxuICAgICAgICBpZiAoIW9wdGlvbnMuanNvbikgcHJpbnRJbmZvKCdMaXN0aW5nIENsb3VkRm9ybWF0aW9uIHN0YWNrcycsIHsgcmVnaW9uIH0pO1xuICAgICAgICBjb25zdCBjZm4gPSBuZXcgQ2xvdWRGb3JtYXRpb25DbGllbnQoeyByZWdpb24gfSk7XG4gICAgICAgIGNvbnN0IHN0YWNrczogU3RhY2tJbmZvW10gPSBbXTtcbiAgICAgICAgY29uc3QgYWN0aXZlU3RhdHVzZXMgPSBuZXcgU2V0KEFDVElWRV9TVEFUVVNFUyk7XG4gICAgICAgIGxldCBuZXh0VG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IHBhZ2VzID0gMDtcbiAgICAgICAgLy8gQmFja3N0b3Agb25seSAofjIwayBzdGFja3MgYXQgfjEwMC9wYWdlKSwgbm90IGFuIGV4cGVjdGVkIGxpbWl0LiBBIEZVTEwgc2NhblxuICAgICAgICAvLyBtYXR0ZXJzOiB0cnVuY2F0aW5nIHdvdWxkIGRpZmYgdGhlIHJlZ2lzdHJ5IGFnYWluc3QgYW4gaW5jb21wbGV0ZSBzdGFjayBzZXQgYW5kXG4gICAgICAgIC8vIHJlcG9ydCBsaXZlIHN0YWNrcyBhcyBgbWlzc2luZy1zdGFja2AuIFNvIGlmIHRoaXMgaXMgZXZlciBoaXQsIHdhcm4gTE9VRExZIHJhdGhlclxuICAgICAgICAvLyB0aGFuIHNpbGVudGx5IHVuZGVyLXJlcG9ydGluZyAodGhlIHByZXZpb3VzIGNvZGUgY2FwcGVkIGF0IDIwIHBhZ2VzIHNpbGVudGx5KS5cbiAgICAgICAgY29uc3QgTUFYX1BBR0VTID0gMjAwO1xuICAgICAgICBsZXQgdHJ1bmNhdGVkID0gZmFsc2U7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgY2ZuLnNlbmQobmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7IE5leHRUb2tlbjogbmV4dFRva2VuIH0pKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHN0YWNrIG9mIHJlc3AuU3RhY2tzID8/IFtdKSB7XG4gICAgICAgICAgICBpZiAoIXN0YWNrLlN0YWNrTmFtZSkgY29udGludWU7XG4gICAgICAgICAgICBpZiAoIWFjdGl2ZVN0YXR1c2VzLmhhcyhzdGFjay5TdGFja1N0YXR1cyA/PyAnJykpIGNvbnRpbnVlOyAvLyBza2lwIGluLXByb2dyZXNzL3JvbGxlZC1iYWNrL2RlbGV0ZWRcbiAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSBzdGFjay5UYWdzID8/IFtdO1xuICAgICAgICAgICAgY29uc3QgcGJUYWcgPSB0YWdzLmZpbmQoKHQpID0+IHQuS2V5ID09PSAncGlwZWxpbmUtYnVpbGRlcicpPy5WYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IG9yZ1RhZyA9IHRhZ3MuZmluZCgodCkgPT4gdC5LZXkgPT09ICdPcmdJZCcgfHwgdC5LZXkgPT09ICdvcmdJZCcpPy5WYWx1ZTtcbiAgICAgICAgICAgIGlmICghcGJUYWcpIGNvbnRpbnVlOyAvLyBOb3QgYSBwaXBlbGluZS1idWlsZGVyIHN0YWNrLlxuICAgICAgICAgICAgaWYgKG9wdGlvbnMub3JnICYmIG9yZ1RhZyAmJiBvcmdUYWcgIT09IG9wdGlvbnMub3JnKSBjb250aW51ZTsgLy8gV3Jvbmcgb3JnIGZpbHRlci5cbiAgICAgICAgICAgIHN0YWNrcy5wdXNoKHtcbiAgICAgICAgICAgICAgc3RhY2tOYW1lOiBzdGFjay5TdGFja05hbWUsXG4gICAgICAgICAgICAgIHN0YWNrU3RhdHVzOiBzdGFjay5TdGFja1N0YXR1cyA/PyAnVU5LTk9XTicsXG4gICAgICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICAgICAgcGlwZWxpbmVCdWlsZGVyVGFnOiBwYlRhZyxcbiAgICAgICAgICAgICAgb3JnSWRUYWc6IG9yZ1RhZyxcbiAgICAgICAgICAgICAgY3JlYXRpb25UaW1lOiBzdGFjay5DcmVhdGlvblRpbWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbmV4dFRva2VuID0gcmVzcC5OZXh0VG9rZW47XG4gICAgICAgICAgcGFnZXMrKztcbiAgICAgICAgICBpZiAobmV4dFRva2VuICYmIHBhZ2VzID49IE1BWF9QQUdFUykgeyB0cnVuY2F0ZWQgPSB0cnVlOyBicmVhazsgfVxuICAgICAgICB9IHdoaWxlIChuZXh0VG9rZW4pO1xuICAgICAgICBpZiAodHJ1bmNhdGVkKSB7XG4gICAgICAgICAgcHJpbnRXYXJuaW5nKGBTdGFjayBzY2FuIGhpdCB0aGUgJHtNQVhfUEFHRVN9LXBhZ2Ugc2FmZXR5IGNhcCDigJQgcmVzdWx0cyBtYXkgYmUgSU5DT01QTEVURSBhbmQgJ21pc3Npbmctc3RhY2snIGZpbmRpbmdzIGNvdWxkIGJlIGZhbHNlLiBOYXJyb3cgYnkgLS1yZWdpb24vLS1vcmcsIG9yIHJhaXNlIE1BWF9QQUdFUy5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpZmYuXG4gICAgICAgIGNvbnN0IHJlZ2lzdHJ5U3RhY2tOYW1lcyA9IG5ldyBTZXQoZW50cmllcy5tYXAoKGUpID0+IGUuc3RhY2tOYW1lKS5maWx0ZXIoKG4pOiBuIGlzIHN0cmluZyA9PiAhIW4pKTtcbiAgICAgICAgY29uc3QgY2ZuU3RhY2tOYW1lcyA9IG5ldyBTZXQoc3RhY2tzLm1hcCgocykgPT4gcy5zdGFja05hbWUpKTtcblxuICAgICAgICBjb25zdCBmaW5kaW5nczogQXVkaXRGaW5kaW5nW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBzdGFjayBvZiBzdGFja3MpIHtcbiAgICAgICAgICBpZiAoIXJlZ2lzdHJ5U3RhY2tOYW1lcy5oYXMoc3RhY2suc3RhY2tOYW1lKSkge1xuICAgICAgICAgICAgZmluZGluZ3MucHVzaCh7XG4gICAgICAgICAgICAgIHR5cGU6ICdvcnBoYW5lZC1zdGFjaycsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogc3RhY2suc3RhY2tOYW1lLFxuICAgICAgICAgICAgICBkZXRhaWw6IGBDbG91ZEZvcm1hdGlvbiBzdGFjayB0YWdnZWQgcGlwZWxpbmUtYnVpbGRlcj0ke3N0YWNrLnBpcGVsaW5lQnVpbGRlclRhZyA/PyAnKHVuc2V0KSd9IGhhcyBubyBtYXRjaGluZyBwaXBlbGluZV9yZWdpc3RyeSBlbnRyeWAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgaWYgKGVudHJ5LnN0YWNrTmFtZSAmJiAhY2ZuU3RhY2tOYW1lcy5oYXMoZW50cnkuc3RhY2tOYW1lKSkge1xuICAgICAgICAgICAgZmluZGluZ3MucHVzaCh7XG4gICAgICAgICAgICAgIHR5cGU6ICdtaXNzaW5nLXN0YWNrJyxcbiAgICAgICAgICAgICAgc3RhY2tOYW1lOiBlbnRyeS5zdGFja05hbWUsXG4gICAgICAgICAgICAgIHBpcGVsaW5lSWQ6IGVudHJ5LnBpcGVsaW5lSWQsXG4gICAgICAgICAgICAgIHBpcGVsaW5lTmFtZTogZW50cnkucGlwZWxpbmVOYW1lLFxuICAgICAgICAgICAgICBkZXRhaWw6IGBSZWdpc3RyeSBlbnRyeSByZWZlcmVuY2VzIHN0YWNrICR7ZW50cnkuc3RhY2tOYW1lfSBidXQgbm8gc3VjaCBzdGFjayBleGlzdHMgaW4gQ2xvdWRGb3JtYXRpb25gLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQSB0cnVuY2F0ZWQgKGluY29tcGxldGUpIHNjYW4gaXMgYSBmaW5kaW5nIGluIGl0c2VsZjogaXQgY2FuIGJvdGggbWlzc1xuICAgICAgICAvLyByZWFsIGRyaWZ0IEFORCBlbWl0IGZhbHNlIG1pc3Npbmctc3RhY2sgZmluZGluZ3MsIHNvIGl0IG11c3QgZXhpdFxuICAgICAgICAvLyBub24temVybyBhbmQgYmUgdmlzaWJsZSBpbiB0aGUgSlNPTiAobWlycm9ycyBhdWRpdC10b2tlbnMpLlxuICAgICAgICBjb25zdCBleGl0Q29kZSA9IChmaW5kaW5ncy5sZW5ndGggPiAwIHx8IHRydW5jYXRlZCkgPyAxIDogMDtcblxuICAgICAgICBpZiAob3B0aW9ucy5qc29uKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgc2Nhbm5lZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICBvcmdGaWx0ZXI6IG9wdGlvbnMub3JnLFxuICAgICAgICAgICAgcmVnaXN0cnlFbnRyaWVzOiBlbnRyaWVzLmxlbmd0aCxcbiAgICAgICAgICAgIGNmblN0YWNrczogc3RhY2tzLmxlbmd0aCxcbiAgICAgICAgICAgIHRydW5jYXRlZCxcbiAgICAgICAgICAgIGZpbmRpbmdzLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgICAgfSwgbnVsbCwgMikpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByaW50U2VjdGlvbignQXVkaXQgUmVzdWx0cycpO1xuICAgICAgICAgIHByaW50SW5mbygnQ291bnRzJywge1xuICAgICAgICAgICAgcmVnaXN0cnlFbnRyaWVzOiBTdHJpbmcoZW50cmllcy5sZW5ndGgpLFxuICAgICAgICAgICAgY2ZuU3RhY2tzOiBTdHJpbmcoc3RhY2tzLmxlbmd0aCksXG4gICAgICAgICAgICBmaW5kaW5nczogU3RyaW5nKGZpbmRpbmdzLmxlbmd0aCksXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKGZpbmRpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcHJpbnRTdWNjZXNzKCdObyBkcmlmdCBiZXR3ZWVuIHBpcGVsaW5lX3JlZ2lzdHJ5IGFuZCBDbG91ZEZvcm1hdGlvbicpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGYgb2YgZmluZGluZ3MpIHtcbiAgICAgICAgICAgICAgaWYgKGYudHlwZSA9PT0gJ29ycGhhbmVkLXN0YWNrJykge1xuICAgICAgICAgICAgICAgIHByaW50V2FybmluZyhgT1JQSEFORUQgICR7Zi5zdGFja05hbWV9IOKAlCAke2YuZGV0YWlsfWApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHByaW50V2FybmluZyhgTUlTU0lORyAgICR7Zi5zdGFja05hbWV9IChwaXBlbGluZSAke2YucGlwZWxpbmVJZCA/PyAnPyd9KSDigJQgJHtmLmRldGFpbH1gKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJpbnRFcnJvcihgJHtmaW5kaW5ncy5sZW5ndGh9IGRyaWZ0IGZpbmRpbmcke2ZpbmRpbmdzLmxlbmd0aCA9PT0gMSA/ICcnIDogJ3MnfS4gUmV2aWV3IGFuZCByZWNvbmNpbGUgbWFudWFsbHkuYCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb2Nlc3MuZXhpdChleGl0Q29kZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogZmFsc2UsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAnYXVkaXQtc3RhY2tzJywgZXhlY3V0aW9uSWQgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgyKTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtc3RhY2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2F1ZGl0LXN0YWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckssT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBMkIzRyxNQUFNLGVBQWUsR0FBRztJQUN0QixpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSwwQkFBMEI7SUFDaEUsaUJBQWlCLEVBQUUsMEJBQTBCO0NBQzlDLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWdCO0lBQzFDLGNBQWMsQ0FDWixpQkFBaUIsQ0FDZixnQkFBZ0IsQ0FBQyxPQUFPO1NBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDakIsV0FBVyxDQUFDLDZGQUE2RixDQUFDLENBQUMsQ0FDL0c7U0FDRSxNQUFNLENBQUMsZUFBZSxFQUFFLHFEQUFxRCxDQUFDO1NBQzlFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQ3JEO1NB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QUMsQ0FBQzt3QkFDM0YsQ0FBQztvQkFDSCxDQUFDO29CQUNELFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLGlCQUFpQixRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLGtDQUFrQyxDQUFDLENBQUM7Z0JBQ3BILENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUMzQixJQUFJLEVBQUUsS0FBSztnQkFDWCxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRTthQUNsRCxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQsIERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGFwcGx5QXdzUHJvZmlsZSwgcmVzb2x2ZUF3c1JlZ2lvbiB9IGZyb20gJy4uL3V0aWxzL2F3cy1lbnYuanMnO1xuaW1wb3J0IHsgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudEFzeW5jLCBwcmludENvbW1hbmRIZWFkZXIsIHByaW50U3NsV2FybmluZywgd2l0aFByb2ZpbGVPcHRpb24sIHdpdGhSZWdpb25PcHRpb24sIHdpdGhTc2xPcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbmludGVyZmFjZSBSZWdpc3RyeUVudHJ5IHtcbiAgcGlwZWxpbmVJZDogc3RyaW5nO1xuICBwaXBlbGluZUFybjogc3RyaW5nO1xuICBwaXBlbGluZU5hbWU6IHN0cmluZztcbiAgc3RhY2tOYW1lPzogc3RyaW5nO1xuICByZWdpb24/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTdGFja0luZm8ge1xuICBzdGFja05hbWU6IHN0cmluZztcbiAgc3RhY2tTdGF0dXM6IHN0cmluZztcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIHBpcGVsaW5lQnVpbGRlclRhZz86IHN0cmluZztcbiAgb3JnSWRUYWc/OiBzdHJpbmc7XG4gIGNyZWF0aW9uVGltZT86IERhdGU7XG59XG5cbmludGVyZmFjZSBBdWRpdEZpbmRpbmcge1xuICB0eXBlOiAnb3JwaGFuZWQtc3RhY2snIHwgJ21pc3Npbmctc3RhY2snO1xuICBzdGFja05hbWU/OiBzdHJpbmc7XG4gIHBpcGVsaW5lSWQ/OiBzdHJpbmc7XG4gIHBpcGVsaW5lTmFtZT86IHN0cmluZztcbiAgZGV0YWlsOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFDVElWRV9TVEFUVVNFUyA9IFtcbiAgJ0NSRUFURV9DT01QTEVURScsICdVUERBVEVfQ09NUExFVEUnLCAnVVBEQVRFX1JPTExCQUNLX0NPTVBMRVRFJyxcbiAgJ0lNUE9SVF9DT01QTEVURScsICdJTVBPUlRfUk9MTEJBQ0tfQ09NUExFVEUnLFxuXTtcblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGBhdWRpdC1zdGFja3NgIGNvbW1hbmQgd2l0aCB0aGUgQ0xJIHByb2dyYW0uXG4gKlxuICogRGlmZnMgQ2xvdWRGb3JtYXRpb24gc3RhY2tzIChmaWx0ZXJlZCB0byB0aG9zZSB0YWdnZWQgd2l0aCBgcGlwZWxpbmUtYnVpbGRlcmApXG4gKiBhZ2FpbnN0IHRoZSBwbGF0Zm9ybSdzIGBwaXBlbGluZV9yZWdpc3RyeWAgdGFibGUuIFN1cmZhY2VzOlxuICogICAtICoqT3JwaGFuZWQgc3RhY2tzKio6IHRhZ2dlZCBzdGFja3Mgd2l0aCBubyBEQiByZWNvcmQgKGxpa2VseSBsZWZ0b3ZlcnMgYWZ0ZXJcbiAqICAgICBhIHBpcGVsaW5lIHdhcyBkZWxldGVkIGZyb20gdGhlIGRhc2hib2FyZCBidXQgdGhlIENESyBzdGFjayBzdGF5ZWQgaW4gQVdTKS5cbiAqICAgLSAqKk1pc3Npbmcgc3RhY2tzKio6IHJlZ2lzdHJ5IGVudHJpZXMgcG9pbnRpbmcgdG8gc3RhY2tzIHRoYXQgbm8gbG9uZ2VyIGV4aXN0XG4gKiAgICAgaW4gQ2xvdWRGb3JtYXRpb24gKGxpa2VseSBhZnRlciBhIG1hbnVhbCBgYXdzIGNsb3VkZm9ybWF0aW9uIGRlbGV0ZS1zdGFja2ApLlxuICpcbiAqIERlc2lnbmVkIGZvciBjcm9uIHVzZTpcbiAqICAgLSBFeGl0cyAwIHdoZW4gdGhlcmUgYXJlIG5vIGZpbmRpbmdzLlxuICogICAtIEV4aXRzIDEgd2hlbiBhdCBsZWFzdCBvbmUgb3JwaGFuZWQgb3IgbWlzc2luZyBzdGFjayBpcyBmb3VuZC5cbiAqICAgLSBFeGl0cyAyIG9uIEFXUyBlcnJvcnMgLyBzY2FuIGZhaWx1cmVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGF1ZGl0IHN0YWNrcyAtLXJlZ2lvbiB1cy1lYXN0LTFcbiAqIHBpcGVsaW5lLW1hbmFnZXIgYXVkaXQgc3RhY2tzIC0tb3JnIGFjbWUgLS1qc29uXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0U3RhY2tzKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgd2l0aFNzbE9wdGlvbnMoXG4gICAgd2l0aFByb2ZpbGVPcHRpb24oXG4gICAgICB3aXRoUmVnaW9uT3B0aW9uKHByb2dyYW1cbiAgICAgICAgLmNvbW1hbmQoJ3N0YWNrcycpXG4gICAgICAgIC5kZXNjcmlwdGlvbignRGlmZiBDbG91ZEZvcm1hdGlvbiBzdGFja3MgdnMgcGlwZWxpbmVfcmVnaXN0cnkgdG8gZmluZCBvcnBoYW5lZCBvciBtaXNzaW5nIENESyBkZXBsb3ltZW50cycpKSxcbiAgICApXG4gICAgICAub3B0aW9uKCctLW9yZyA8b3JnSWQ+JywgJ0ZpbHRlciBib3RoIHJlZ2lzdHJ5IGFuZCBzdGFjayBzY2FuIHRvIGEgc2luZ2xlIG9yZycpXG4gICAgICAub3B0aW9uKCctLWpzb24nLCAnT3V0cHV0IHJlc3VsdHMgYXMgSlNPTicsIGZhbHNlKSxcbiAgKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdBdWRpdCBTdGFja3MnLCB1bmRlZmluZWQsIHsgcXVpZXQ6IG9wdGlvbnMuanNvbiB9KTtcbiAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG5cbiAgICAgIGNvbnN0IHJlZ2lvbiA9IHJlc29sdmVBd3NSZWdpb24ob3B0aW9ucy5yZWdpb24pO1xuICAgICAgLy8gSG9ub3IgLS1wcm9maWxlIGZvciB0aGUgU0RLIENsb3VkRm9ybWF0aW9uIGNsaWVudCBiZWxvdyAod2l0aG91dCB0aGlzLCB0aGVcbiAgICAgIC8vIHNjYW4gYWx3YXlzIGhpdCB0aGUgZGVmYXVsdCBhY2NvdW50IGFuZCBjb3VsZCBkaWZmIHRoZSByZWdpc3RyeSBhZ2FpbnN0XG4gICAgICAvLyB0aGUgV1JPTkcgYWNjb3VudCdzIHN0YWNrcyDihpIgYm9ndXMgb3JwaGFuZWQvbWlzc2luZyBmaW5kaW5ncykuXG4gICAgICBhcHBseUF3c1Byb2ZpbGUob3B0aW9ucy5wcm9maWxlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gRmV0Y2ggdGhlIHBsYXRmb3JtJ3MgdmlldyBvZiByZWdpc3RlcmVkIHBpcGVsaW5lcy5cbiAgICAgICAgLy8gUHJvZ3Jlc3MgZ29lcyB0byBzdGRvdXQsIHNvIHN1cHByZXNzIGl0IGluIC0tanNvbiBtb2RlIHRvIGtlZXAgdGhlIEpTT04gcGF5bG9hZCBjbGVhbiBmb3IgcGlwaW5nLlxuICAgICAgICBpZiAoIW9wdGlvbnMuanNvbikgcHJpbnRJbmZvKCdGZXRjaGluZyBwaXBlbGluZSByZWdpc3RyeSBmcm9tIHBsYXRmb3JtJywgeyBvcmc6IG9wdGlvbnMub3JnID8/ICcoYWxsKScgfSk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGF3YWl0IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnRBc3luYyhvcHRpb25zKTtcbiAgICAgICAgY29uc3QgcmVnaXN0cnlSZXMgPSBhd2FpdCBjbGllbnQuZ2V0PHsgZW50cmllczogUmVnaXN0cnlFbnRyeVtdIH0+KFxuICAgICAgICAgIGAvYXBpL3BpcGVsaW5lcy9yZWdpc3RyeSR7b3B0aW9ucy5vcmcgPyBgP29yZ0lkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMub3JnKX1gIDogJyd9YCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZW50cmllczogUmVnaXN0cnlFbnRyeVtdID0gKHJlZ2lzdHJ5UmVzIGFzIHsgZW50cmllcz86IFJlZ2lzdHJ5RW50cnlbXSB9KT8uZW50cmllc1xuICAgICAgICAgID8/IChyZWdpc3RyeVJlcyBhcyB7IGRhdGE/OiB7IGVudHJpZXM/OiBSZWdpc3RyeUVudHJ5W10gfSB9KT8uZGF0YT8uZW50cmllc1xuICAgICAgICAgID8/IFtdO1xuXG4gICAgICAgIC8vIEZldGNoIHN0YWNrcyBmcm9tIENsb3VkRm9ybWF0aW9uLiBEZXNjcmliZVN0YWNrcyAobm8gU3RhY2tOYW1lKSByZXR1cm5zIGV2ZXJ5XG4gICAgICAgIC8vIGFjdGl2ZSBzdGFjayBXSVRIIGl0cyB0YWdzIGluIG9uZSBwYWdpbmF0ZWQgc3dlZXAg4oCUIGF2b2lkaW5nIHRoZSBOKzFcbiAgICAgICAgLy8gRGVzY3JpYmVTdGFja3MtcGVyLXN0YWNrIGEgTGlzdFN0YWNrcyBwYXRoIG5lZWRzIChMaXN0U3RhY2tzIG9taXRzIHRhZ3MpXG4gICAgICAgIC8vIGFuZCB0aGUgQVBJIHRocm90dGxpbmcgdGhhdCBjYXVzZXMgb24gYWNjb3VudHMgd2l0aCBtYW55IHN0YWNrcy5cbiAgICAgICAgaWYgKCFvcHRpb25zLmpzb24pIHByaW50SW5mbygnTGlzdGluZyBDbG91ZEZvcm1hdGlvbiBzdGFja3MnLCB7IHJlZ2lvbiB9KTtcbiAgICAgICAgY29uc3QgY2ZuID0gbmV3IENsb3VkRm9ybWF0aW9uQ2xpZW50KHsgcmVnaW9uIH0pO1xuICAgICAgICBjb25zdCBzdGFja3M6IFN0YWNrSW5mb1tdID0gW107XG4gICAgICAgIGNvbnN0IGFjdGl2ZVN0YXR1c2VzID0gbmV3IFNldChBQ1RJVkVfU1RBVFVTRVMpO1xuICAgICAgICBsZXQgbmV4dFRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBwYWdlcyA9IDA7XG4gICAgICAgIC8vIEJhY2tzdG9wIG9ubHkgKH4yMGsgc3RhY2tzIGF0IH4xMDAvcGFnZSksIG5vdCBhbiBleHBlY3RlZCBsaW1pdC4gQSBGVUxMIHNjYW5cbiAgICAgICAgLy8gbWF0dGVyczogdHJ1bmNhdGluZyB3b3VsZCBkaWZmIHRoZSByZWdpc3RyeSBhZ2FpbnN0IGFuIGluY29tcGxldGUgc3RhY2sgc2V0IGFuZFxuICAgICAgICAvLyByZXBvcnQgbGl2ZSBzdGFja3MgYXMgYG1pc3Npbmctc3RhY2tgLiBTbyBpZiB0aGlzIGlzIGV2ZXIgaGl0LCB3YXJuIExPVURMWSByYXRoZXJcbiAgICAgICAgLy8gdGhhbiBzaWxlbnRseSB1bmRlci1yZXBvcnRpbmcgKHRoZSBwcmV2aW91cyBjb2RlIGNhcHBlZCBhdCAyMCBwYWdlcyBzaWxlbnRseSkuXG4gICAgICAgIGNvbnN0IE1BWF9QQUdFUyA9IDIwMDtcbiAgICAgICAgbGV0IHRydW5jYXRlZCA9IGZhbHNlO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGNmbi5zZW5kKG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoeyBOZXh0VG9rZW46IG5leHRUb2tlbiB9KSk7XG4gICAgICAgICAgZm9yIChjb25zdCBzdGFjayBvZiByZXNwLlN0YWNrcyA/PyBbXSkge1xuICAgICAgICAgICAgaWYgKCFzdGFjay5TdGFja05hbWUpIGNvbnRpbnVlO1xuICAgICAgICAgICAgaWYgKCFhY3RpdmVTdGF0dXNlcy5oYXMoc3RhY2suU3RhY2tTdGF0dXMgPz8gJycpKSBjb250aW51ZTsgLy8gc2tpcCBpbi1wcm9ncmVzcy9yb2xsZWQtYmFjay9kZWxldGVkXG4gICAgICAgICAgICBjb25zdCB0YWdzID0gc3RhY2suVGFncyA/PyBbXTtcbiAgICAgICAgICAgIGNvbnN0IHBiVGFnID0gdGFncy5maW5kKCh0KSA9PiB0LktleSA9PT0gJ3BpcGVsaW5lLWJ1aWxkZXInKT8uVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBvcmdUYWcgPSB0YWdzLmZpbmQoKHQpID0+IHQuS2V5ID09PSAnT3JnSWQnIHx8IHQuS2V5ID09PSAnb3JnSWQnKT8uVmFsdWU7XG4gICAgICAgICAgICBpZiAoIXBiVGFnKSBjb250aW51ZTsgLy8gTm90IGEgcGlwZWxpbmUtYnVpbGRlciBzdGFjay5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLm9yZyAmJiBvcmdUYWcgJiYgb3JnVGFnICE9PSBvcHRpb25zLm9yZykgY29udGludWU7IC8vIFdyb25nIG9yZyBmaWx0ZXIuXG4gICAgICAgICAgICBzdGFja3MucHVzaCh7XG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogc3RhY2suU3RhY2tOYW1lLFxuICAgICAgICAgICAgICBzdGFja1N0YXR1czogc3RhY2suU3RhY2tTdGF0dXMgPz8gJ1VOS05PV04nLFxuICAgICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICAgIHBpcGVsaW5lQnVpbGRlclRhZzogcGJUYWcsXG4gICAgICAgICAgICAgIG9yZ0lkVGFnOiBvcmdUYWcsXG4gICAgICAgICAgICAgIGNyZWF0aW9uVGltZTogc3RhY2suQ3JlYXRpb25UaW1lLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIG5leHRUb2tlbiA9IHJlc3AuTmV4dFRva2VuO1xuICAgICAgICAgIHBhZ2VzKys7XG4gICAgICAgICAgaWYgKG5leHRUb2tlbiAmJiBwYWdlcyA+PSBNQVhfUEFHRVMpIHsgdHJ1bmNhdGVkID0gdHJ1ZTsgYnJlYWs7IH1cbiAgICAgICAgfSB3aGlsZSAobmV4dFRva2VuKTtcbiAgICAgICAgaWYgKHRydW5jYXRlZCkge1xuICAgICAgICAgIHByaW50V2FybmluZyhgU3RhY2sgc2NhbiBoaXQgdGhlICR7TUFYX1BBR0VTfS1wYWdlIHNhZmV0eSBjYXAg4oCUIHJlc3VsdHMgbWF5IGJlIElOQ09NUExFVEUgYW5kICdtaXNzaW5nLXN0YWNrJyBmaW5kaW5ncyBjb3VsZCBiZSBmYWxzZS4gTmFycm93IGJ5IC0tcmVnaW9uLy0tb3JnLCBvciByYWlzZSBNQVhfUEFHRVMuYCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaWZmLlxuICAgICAgICBjb25zdCByZWdpc3RyeVN0YWNrTmFtZXMgPSBuZXcgU2V0KGVudHJpZXMubWFwKChlKSA9PiBlLnN0YWNrTmFtZSkuZmlsdGVyKChuKTogbiBpcyBzdHJpbmcgPT4gISFuKSk7XG4gICAgICAgIGNvbnN0IGNmblN0YWNrTmFtZXMgPSBuZXcgU2V0KHN0YWNrcy5tYXAoKHMpID0+IHMuc3RhY2tOYW1lKSk7XG5cbiAgICAgICAgY29uc3QgZmluZGluZ3M6IEF1ZGl0RmluZGluZ1tdID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgc3RhY2sgb2Ygc3RhY2tzKSB7XG4gICAgICAgICAgaWYgKCFyZWdpc3RyeVN0YWNrTmFtZXMuaGFzKHN0YWNrLnN0YWNrTmFtZSkpIHtcbiAgICAgICAgICAgIGZpbmRpbmdzLnB1c2goe1xuICAgICAgICAgICAgICB0eXBlOiAnb3JwaGFuZWQtc3RhY2snLFxuICAgICAgICAgICAgICBzdGFja05hbWU6IHN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgICAgICAgZGV0YWlsOiBgQ2xvdWRGb3JtYXRpb24gc3RhY2sgdGFnZ2VkIHBpcGVsaW5lLWJ1aWxkZXI9JHtzdGFjay5waXBlbGluZUJ1aWxkZXJUYWcgPz8gJyh1bnNldCknfSBoYXMgbm8gbWF0Y2hpbmcgcGlwZWxpbmVfcmVnaXN0cnkgZW50cnlgLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgIGlmIChlbnRyeS5zdGFja05hbWUgJiYgIWNmblN0YWNrTmFtZXMuaGFzKGVudHJ5LnN0YWNrTmFtZSkpIHtcbiAgICAgICAgICAgIGZpbmRpbmdzLnB1c2goe1xuICAgICAgICAgICAgICB0eXBlOiAnbWlzc2luZy1zdGFjaycsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogZW50cnkuc3RhY2tOYW1lLFxuICAgICAgICAgICAgICBwaXBlbGluZUlkOiBlbnRyeS5waXBlbGluZUlkLFxuICAgICAgICAgICAgICBwaXBlbGluZU5hbWU6IGVudHJ5LnBpcGVsaW5lTmFtZSxcbiAgICAgICAgICAgICAgZGV0YWlsOiBgUmVnaXN0cnkgZW50cnkgcmVmZXJlbmNlcyBzdGFjayAke2VudHJ5LnN0YWNrTmFtZX0gYnV0IG5vIHN1Y2ggc3RhY2sgZXhpc3RzIGluIENsb3VkRm9ybWF0aW9uYCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEEgdHJ1bmNhdGVkIChpbmNvbXBsZXRlKSBzY2FuIGlzIGEgZmluZGluZyBpbiBpdHNlbGY6IGl0IGNhbiBib3RoIG1pc3NcbiAgICAgICAgLy8gcmVhbCBkcmlmdCBBTkQgZW1pdCBmYWxzZSBtaXNzaW5nLXN0YWNrIGZpbmRpbmdzLCBzbyBpdCBtdXN0IGV4aXRcbiAgICAgICAgLy8gbm9uLXplcm8gYW5kIGJlIHZpc2libGUgaW4gdGhlIEpTT04gKG1pcnJvcnMgYXVkaXQtdG9rZW5zKS5cbiAgICAgICAgY29uc3QgZXhpdENvZGUgPSAoZmluZGluZ3MubGVuZ3RoID4gMCB8fCB0cnVuY2F0ZWQpID8gMSA6IDA7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuanNvbikge1xuICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHNjYW5uZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgICAgb3JnRmlsdGVyOiBvcHRpb25zLm9yZyxcbiAgICAgICAgICAgIHJlZ2lzdHJ5RW50cmllczogZW50cmllcy5sZW5ndGgsXG4gICAgICAgICAgICBjZm5TdGFja3M6IHN0YWNrcy5sZW5ndGgsXG4gICAgICAgICAgICB0cnVuY2F0ZWQsXG4gICAgICAgICAgICBmaW5kaW5ncyxcbiAgICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICAgIH0sIG51bGwsIDIpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmludFNlY3Rpb24oJ0F1ZGl0IFJlc3VsdHMnKTtcbiAgICAgICAgICBwcmludEluZm8oJ0NvdW50cycsIHtcbiAgICAgICAgICAgIHJlZ2lzdHJ5RW50cmllczogU3RyaW5nKGVudHJpZXMubGVuZ3RoKSxcbiAgICAgICAgICAgIGNmblN0YWNrczogU3RyaW5nKHN0YWNrcy5sZW5ndGgpLFxuICAgICAgICAgICAgZmluZGluZ3M6IFN0cmluZyhmaW5kaW5ncy5sZW5ndGgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChmaW5kaW5ncy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHByaW50U3VjY2VzcygnTm8gZHJpZnQgYmV0d2VlbiBwaXBlbGluZV9yZWdpc3RyeSBhbmQgQ2xvdWRGb3JtYXRpb24nKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmIG9mIGZpbmRpbmdzKSB7XG4gICAgICAgICAgICAgIGlmIChmLnR5cGUgPT09ICdvcnBoYW5lZC1zdGFjaycpIHtcbiAgICAgICAgICAgICAgICBwcmludFdhcm5pbmcoYE9SUEhBTkVEICAke2Yuc3RhY2tOYW1lfSDigJQgJHtmLmRldGFpbH1gKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwcmludFdhcm5pbmcoYE1JU1NJTkcgICAke2Yuc3RhY2tOYW1lfSAocGlwZWxpbmUgJHtmLnBpcGVsaW5lSWQgPz8gJz8nfSkg4oCUICR7Zi5kZXRhaWx9YCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByaW50RXJyb3IoYCR7ZmluZGluZ3MubGVuZ3RofSBkcmlmdCBmaW5kaW5nJHtmaW5kaW5ncy5sZW5ndGggPT09IDEgPyAnJyA6ICdzJ30uIFJldmlldyBhbmQgcmVjb25jaWxlIG1hbnVhbGx5LmApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwcm9jZXNzLmV4aXQoZXhpdENvZGUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IGZhbHNlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ2F1ZGl0LXN0YWNrcycsIGV4ZWN1dGlvbklkIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBwcm9jZXNzLmV4aXQoMik7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -10,9 +10,8 @@ import { Command } from 'commander';
|
|
|
10
10
|
* platform's /auth/token/exchange for a 5-minute token, so revoking it takes
|
|
11
11
|
* effect everywhere within five minutes.
|
|
12
12
|
*
|
|
13
|
-
* Creating one is step-up gated server-side,
|
|
14
|
-
*
|
|
15
|
-
* has one: the device flow asks for the step-up IN THE BROWSER, where the
|
|
13
|
+
* Creating one is step-up gated server-side, yet the CLI holds no password: the
|
|
14
|
+
* device flow asks for the step-up IN THE BROWSER, where the
|
|
16
15
|
* account's real factors live, and the approved poll returns both the session
|
|
17
16
|
* and a short-lived step-up token. The key binds to the user's active org; pass
|
|
18
17
|
* `--org` to switch first (which persists as the active org).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-pat.d.ts","sourceRoot":"","sources":["../../src/commands/create-pat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC
|
|
1
|
+
{"version":3,"file":"create-pat.d.ts","sourceRoot":"","sources":["../../src/commands/create-pat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2JhD"}
|
|
@@ -22,9 +22,8 @@ const MAX_EXPIRES_DAYS = 365;
|
|
|
22
22
|
* platform's /auth/token/exchange for a 5-minute token, so revoking it takes
|
|
23
23
|
* effect everywhere within five minutes.
|
|
24
24
|
*
|
|
25
|
-
* Creating one is step-up gated server-side,
|
|
26
|
-
*
|
|
27
|
-
* has one: the device flow asks for the step-up IN THE BROWSER, where the
|
|
25
|
+
* Creating one is step-up gated server-side, yet the CLI holds no password: the
|
|
26
|
+
* device flow asks for the step-up IN THE BROWSER, where the
|
|
28
27
|
* account's real factors live, and the approved poll returns both the session
|
|
29
28
|
* and a short-lived step-up token. The key binds to the user's active org; pass
|
|
30
29
|
* `--org` to switch first (which persists as the active org).
|
|
@@ -186,4 +185,4 @@ export function createPat(program) {
|
|
|
186
185
|
}
|
|
187
186
|
});
|
|
188
187
|
}
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9jcmVhdGUtcGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUcsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFZaEQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFFN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBZ0I7SUFDeEMsY0FBYyxDQUFDLE9BQU87U0FDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQztTQUNkLFdBQVcsQ0FBQywwRUFBMEUsQ0FBQztTQUN2RixjQUFj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RSxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTthQUNsRSxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCBwaWNvIGZyb20gJ3BpY29jb2xvcnMnO1xuaW1wb3J0IHsgVElNRU9VVFMgfSBmcm9tICcuLi9jb25maWcvY2xpLmNvbnN0YW50cy5qcyc7XG5pbXBvcnQgeyBhc3NlcnRDcmVkZW50aWFsVGxzQWxsb3dlZCwgY3JlZGVudGlhbEh0dHBzQWdlbnQsIHN3aXRjaE9yZ2FuaXphdGlvbiB9IGZyb20gJy4uL3V0aWxzL2F1dGgtdXRpbHMuanMnO1xuaW1wb3J0IHsgcHJpbnRDb21tYW5kSGVhZGVyLCB3aXRoU3NsT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgRGV2aWNlQXV0aEVycm9yLCBvcGVuSW5Ccm93c2VyLCBwb2xsRm9yRGV2aWNlVG9rZW4sIHJlcXVlc3REZXZpY2VDb2RlIH0gZnJvbSAnLi4vdXRpbHMvZGV2aWNlLWF1dGguanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBwcmludERlYnVnLCBwcmludEVycm9yLCBwcmludEluZm8sIHByaW50S2V5VmFsdWUsIHByaW50U3VjY2VzcyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbmNvbnN0IHsgYm9sZCwgY3lhbiwgZGltLCBncmVlbiwgeWVsbG93IH0gPSBwaWNvO1xuXG4vKiogQ3JlYXRlLWtleSByZXNwb25zZSDigJQgdGhlIHJhdyBrZXkgaXMgcmV0dXJuZWQgZXhhY3RseSBvbmNlLiAqL1xuaW50ZXJmYWNlIENyZWF0ZUFjY2Vzc0tleVJlc3BvbnNlIHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgZGF0YToge1xuICAgIC8qKiBUaGUgb3BhcXVlIGtleSAoYHBiX3BhdF/igKZgKS4gT25seSBpdHMgaGFzaCBpcyBzdG9yZWQgc2VydmVyLXNpZGUuICovXG4gICAga2V5OiBzdHJpbmc7XG4gICAgYWNjZXNzS2V5OiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgZGlzcGxheTogc3RyaW5nOyBleHBpcmVzQXQ6IHN0cmluZzsgc2NvcGU/OiBzdHJpbmcgfCBudWxsIH07XG4gIH07XG59XG5cbmNvbnN0IE1BWF9FWFBJUkVTX0RBWVMgPSAzNjU7XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBgcGF0YCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIE1pbnRzIGEgbmFtZWQgQUNDRVNTIEtFWSAoYHBiX3BhdF/igKZgKSDigJQgYSBkdXJhYmxlLCBpbmRpdmlkdWFsbHktcmV2b2NhYmxlIEFQSVxuICogY3JlZGVudGlhbCDigJQgZm9yIENJL2F1dG9tYXRpb24uIFVubGlrZSBhIHNlc3Npb24sIGEga2V5IGlzIHRoZSByaWdodFxuICogbG9uZy1saXZlZCBjcmVkZW50aWFsIGZvciBzY3JpcHRzLlxuICpcbiAqIFRoZSBrZXkgaXMgT1BBUVVFOiBpdCBjYXJyaWVzIG5vIGNsYWltcywgYW5kIGVhY2ggc2VydmljZSB0cmFkZXMgaXQgYXRcbiAqIHBsYXRmb3JtJ3MgL2F1dGgvdG9rZW4vZXhjaGFuZ2UgZm9yIGEgNS1taW51dGUgdG9rZW4sIHNvIHJldm9raW5nIGl0IHRha2VzXG4gKiBlZmZlY3QgZXZlcnl3aGVyZSB3aXRoaW4gZml2ZSBtaW51dGVzLlxuICpcbiAqIENyZWF0aW5nIG9uZSBpcyBzdGVwLXVwIGdhdGVkIHNlcnZlci1zaWRlLCB3aGljaCB1c2VkIHRvIG1lYW4gdGhlIENMSSBoYWQgdG9cbiAqIGhvbGQgYSBwYXNzd29yZCAoaXQgUE9TVGVkIGl0IHR3aWNlIOKAlCBzaWduLWluLCB0aGVuIHN0ZXAtdXApLiBJdCBubyBsb25nZXJcbiAqIGhhcyBvbmU6IHRoZSBkZXZpY2UgZmxvdyBhc2tzIGZvciB0aGUgc3RlcC11cCBJTiBUSEUgQlJPV1NFUiwgd2hlcmUgdGhlXG4gKiBhY2NvdW50J3MgcmVhbCBmYWN0b3JzIGxpdmUsIGFuZCB0aGUgYXBwcm92ZWQgcG9sbCByZXR1cm5zIGJvdGggdGhlIHNlc3Npb25cbiAqIGFuZCBhIHNob3J0LWxpdmVkIHN0ZXAtdXAgdG9rZW4uIFRoZSBrZXkgYmluZHMgdG8gdGhlIHVzZXIncyBhY3RpdmUgb3JnOyBwYXNzXG4gKiBgLS1vcmdgIHRvIHN3aXRjaCBmaXJzdCAod2hpY2ggcGVyc2lzdHMgYXMgdGhlIGFjdGl2ZSBvcmcpLlxuICpcbiAqIFRoZSByYXcga2V5IGlzIHByaW50ZWQgT05DRSDigJQgb25seSBpdHMgaGFzaCBpcyBzdG9yZWQsIHNvIGl0IGNhbiBuZXZlciBiZSByZWFkXG4gKiBiYWNrLiBgLS1xdWlldGAgcHJpbnRzIG9ubHkgYGV4cG9ydCBQTEFURk9STV9UT0tFTj3igKZgIHNvIGl0IGNhbiBiZSBgZXZhbGAnZDtcbiAqIHRoZSBrZXkgaXMgaXRzZWxmIGEgdmFsaWQgQmVhcmVyIGNyZWRlbnRpYWwuXG4gKlxuICogQHBhcmFtIHByb2dyYW0gLSBUaGUgcm9vdCBDb21tYW5kZXIgcHJvZ3JhbSBpbnN0YW5jZSB0byBhdHRhY2ggdGhlIGNvbW1hbmQgdG8uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGJhc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgYXV0aCBwYXQgLS1uYW1lIGNpLWRlcGxveVxuICogcGlwZWxpbmUtbWFuYWdlciBhdXRoIHBhdCAtLW5hbWUgY2kgLS1leHBpcmVzLWRheXMgMzAgLS1vcmcgPG9yZ0lkPlxuICogZXZhbCAkKHBpcGVsaW5lLW1hbmFnZXIgYXV0aCBwYXQgLS1uYW1lIGNpIC0tcXVpZXQpXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBhdChwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHdpdGhTc2xPcHRpb25zKHByb2dyYW1cbiAgICAuY29tbWFuZCgncGF0JylcbiAgICAuZGVzY3JpcHRpb24oJ0NyZWF0ZSBhIG5hbWVkIGFjY2VzcyBrZXkgKGxvbmctbGl2ZWQsIG9wYXF1ZSBDTEkvYXV0b21hdGlvbiBjcmVkZW50aWFsKScpXG4gICAgLnJlcXVpcmVkT3B0aW9uKCctLW5hbWUgPG5hbWU+JywgJ0h1bWFuLXJlYWRhYmxlIGtleSBuYW1lIChlLmcuIGNpLWRlcGxveSknKVxuICAgIC5vcHRpb24oJy0tZXhwaXJlcy1kYXlzIDxkYXlzPicsIGBLZXkgbGlmZXRpbWUgaW4gZGF5cyAoMS0ke01BWF9FWFBJUkVTX0RBWVN9KWAsICc5MCcpXG4gICAgLm9wdGlvbignLS1zY29wZSA8c2NvcGU+JywgJ09wdGlvbmFsIGNhcGFiaWxpdHkgc2NvcGUgKGxlYXN0LXByaXZpbGVnZSBrZXkpJylcbiAgICAub3B0aW9uKCctLW9yZyA8b3JnSWQ+JywgJ0JpbmQgdGhlIGtleSB0byBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiAoc3dpdGNoZXMgYWN0aXZlIG9yZyknKVxuICAgIC5vcHRpb24oJy0tbm8tYnJvd3NlcicsICdOZXZlciBvcGVuIGEgYnJvd3NlciDigJQgcHJpbnQgdGhlIHZlcmlmaWNhdGlvbiBVUkwgaW5zdGVhZCcpXG4gICAgLm9wdGlvbignLS11cmwgPHVybD4nLCAnUGxhdGZvcm0gYmFzZSBVUkwnLCBwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCB8fCAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycpKVxuICAgIC5vcHRpb24oJy0tcXVpZXQnLCAnT25seSBwcmludCB0aGUgZXhwb3J0IHN0YXRlbWVudCAodXNlZnVsIGZvciBldmFsKScpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgLy8gU0VDVVJJVFk6IHRoZSBwb2xsIHJldHVybnMgYSBzZXNzaW9uIEFORCBhIHN0ZXAtdXAgdG9rZW4sIGFuZCB0aGUgcmVzcG9uc2VcbiAgICAgIC8vIGJlbG93IGNhcnJpZXMgdGhlIHJhdyBrZXkuIE5vbmUgb2YgdGhhdCBtYXkgY3Jvc3MgYW4gdW52ZXJpZmllZCBjb25uZWN0aW9uXG4gICAgICAvLyBpbiBwcm9kdWN0aW9uLiBNaXJyb3JzIHRoZSBndWFyZCBpbiBgbG9naW5gLlxuICAgICAgYXNzZXJ0Q3JlZGVudGlhbFRsc0FsbG93ZWQob3B0aW9ucy52ZXJpZnlTc2wpO1xuXG4gICAgICBjb25zdCBxdWlldCA9IG9wdGlvbnMucXVpZXQgPz8gZmFsc2U7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignQ3JlYXRlIEFjY2VzcyBLZXknLCAnQ3JlYXRlIEFjY2VzcyBLZXknLCB7IHF1aWV0IH0pO1xuXG4gICAgICB0cnkge1xuICAgICAgICAvLyBWYWxpZGF0ZSBuYW1lLlxuICAgICAgICBjb25zdCBuYW1lID0gdHlwZW9mIG9wdGlvbnMubmFtZSA9PT0gJ3N0cmluZycgPyBvcHRpb25zLm5hbWUudHJpbSgpIDogJyc7XG4gICAgICAgIGlmICghbmFtZSkge1xuICAgICAgICAgIHByaW50RXJyb3IoJ0tleSBuYW1lIGlzIHJlcXVpcmVkICgtLW5hbWUpJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KEVSUk9SX0NPREVTLlZBTElEQVRJT04pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuYW1lLmxlbmd0aCA+IDEwMCkge1xuICAgICAgICAgIHByaW50RXJyb3IoJ0tleSBuYW1lIG11c3QgYmUgMTAwIGNoYXJhY3RlcnMgb3IgZmV3ZXInKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuVkFMSURBVElPTik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZGF0ZSBleHBpcnkg4oaSIHNlY29uZHMuXG4gICAgICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKE51bWJlcihvcHRpb25zLmV4cGlyZXNEYXlzKSk7XG4gICAgICAgIGlmICghTnVtYmVyLmlzRmluaXRlKGRheXMpIHx8IGRheXMgPCAxIHx8IGRheXMgPiBNQVhfRVhQSVJFU19EQVlTKSB7XG4gICAgICAgICAgcHJpbnRFcnJvcihgLS1leHBpcmVzLWRheXMgbXVzdCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMSBhbmQgJHtNQVhfRVhQSVJFU19EQVlTfWApO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5WQUxJREFUSU9OKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBleHBpcmVzSW4gPSBkYXlzICogODY0MDA7XG5cbiAgICAgICAgY29uc3QgaHR0cHNBZ2VudCA9IGNyZWRlbnRpYWxIdHRwc0FnZW50KG9wdGlvbnMudmVyaWZ5U3NsKTtcbiAgICAgICAgY29uc3QgdGltZW91dCA9IFRJTUVPVVRTLkhUVFBfUkVRVUVTVDtcbiAgICAgICAgY29uc3QgdHJhbnNwb3J0ID0geyB1cmw6IG9wdGlvbnMudXJsLCBodHRwc0FnZW50LCB0aW1lb3V0IH07XG5cbiAgICAgICAgLy8gMSkgRGV2aWNlIHNpZ24taW4sIGFza2luZyBmb3IgdGhlIHN0ZXAtdXAgdGhlIGNyZWF0ZSBjYWxsIG5lZWRzLlxuICAgICAgICBpZiAoIXF1aWV0KSBwcmludEluZm8oJ1N0YXJ0aW5nIGJyb3dzZXIgc2lnbi1pbicsIHsgdXJsOiBvcHRpb25zLnVybCwgdmVyaWZ5U3NsOiBvcHRpb25zLnZlcmlmeVNzbCB9KTtcbiAgICAgICAgY29uc3QgY29kZSA9IGF3YWl0IHJlcXVlc3REZXZpY2VDb2RlKHRyYW5zcG9ydCwgeyBzdGVwVXA6IHRydWUgfSk7XG4gICAgICAgIGNvbnN0IGFwcHJvdmFsVXJsID0gY29kZS52ZXJpZmljYXRpb25fdXJpX2NvbXBsZXRlIHx8IGNvZGUudmVyaWZpY2F0aW9uX3VyaTtcbiAgICAgICAgY29uc3Qgb3BlbmVkID0gb3B0aW9ucy5icm93c2VyICE9PSBmYWxzZSAmJiBvcGVuSW5Ccm93c2VyKGFwcHJvdmFsVXJsKTtcblxuICAgICAgICAvLyBUaGUgcHJvbXB0IGdvZXMgdG8gU1RERVJSIHVuZGVyIGAtLXF1aWV0YDogc3Rkb3V0IGlzIGNhcHR1cmVkIGJ5XG4gICAgICAgIC8vIGBldmFsICQo4oCmKWAsIHNvIHByaW50aW5nIHRoZSBjb2RlIHRoZXJlIHdvdWxkIHN3YWxsb3cgdGhlIG9uZSB0aGluZ1xuICAgICAgICAvLyB0aGUgdXNlciBoYXMgdG8gcmVhZCBiZWZvcmUgYW55dGhpbmcgY2FuIHByb2NlZWQuXG4gICAgICAgIGNvbnN0IHNheSA9IHF1aWV0ID8gY29uc29sZS5lcnJvciA6IGNvbnNvbGUubG9nO1xuICAgICAgICBzYXkoJycpO1xuICAgICAgICBzYXkoYCAgWW91ciBjb2RlOiAgJHtib2xkKGN5YW4oY29kZS51c2VyX2NvZGUpKX1gKTtcbiAgICAgICAgc2F5KGAgIEFwcHJvdmUgYXQ6ICR7Z3JlZW4oYXBwcm92YWxVcmwpfWApO1xuICAgICAgICBzYXkoJycpO1xuICAgICAgICBzYXkoZGltKG9wZW5lZFxuICAgICAgICAgID8gJyAgT3BlbmluZyB5b3VyIGJyb3dzZXLigKYgYXBwcm92ZSB0aGUgY29kZSB0aGVyZSwgdGhlbiBjb21lIGJhY2suJ1xuICAgICAgICAgIDogJyAgT3BlbiB0aGF0IFVSTCBpbiBhIGJyb3dzZXIsIGNoZWNrIHRoZSBjb2RlIG1hdGNoZXMsIGFuZCBhcHByb3ZlLicpKTtcbiAgICAgICAgaWYgKCFxdWlldCkgcHJpbnRJbmZvKCdXYWl0aW5nIGZvciBhcHByb3ZhbOKApicpO1xuXG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCBwb2xsRm9yRGV2aWNlVG9rZW4odHJhbnNwb3J0LCBjb2RlKTtcbiAgICAgICAgbGV0IGFjY2Vzc1Rva2VuID0gc2Vzc2lvbi5hY2Nlc3NfdG9rZW47XG4gICAgICAgIGNvbnN0IHN0ZXBVcFRva2VuID0gc2Vzc2lvbi5zdGVwX3VwX3Rva2VuO1xuICAgICAgICBpZiAoIXN0ZXBVcFRva2VuKSB7XG4gICAgICAgICAgcHJpbnRFcnJvcignVGhlIGFwcHJvdmFsIGRpZCBub3QgcmV0dXJuIGEgc3RlcC11cCBjb25maXJtYXRpb24g4oCUIGFwcHJvdmUgdGhlIGNvZGUgcHJvbXB0bHkgYW5kIHRyeSBhZ2Fpbi4nKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMikgT3B0aW9uYWxseSBiaW5kIHRvIGEgc3BlY2lmaWMgb3JnIChwZXJzaXN0cyBhcyB0aGUgYWN0aXZlIG9yZywgd2hpY2hcbiAgICAgICAgLy8gICAgdGhlIGtleSBpbmhlcml0cykuIFJvdGF0ZXMgdGhlIHNlc3Npb24sIGJ1dCB0aGUgc3RlcC11cCB0b2tlbiBpc1xuICAgICAgICAvLyAgICBib3VuZCB0byB0aGUgdXNlciwgbm90IHRoZSBzZXNzaW9uLCBzbyBpdCBzdXJ2aXZlcyB0aGUgc3dpdGNoLlxuICAgICAgICBpZiAob3B0aW9ucy5vcmcpIHtcbiAgICAgICAgICBpZiAoIXF1aWV0KSBwcmludEluZm8oJ1N3aXRjaGluZyB0byBvcmdhbml6YXRpb24nLCB7IG9yZ0lkOiBvcHRpb25zLm9yZyB9KTtcbiAgICAgICAgICBhY2Nlc3NUb2tlbiA9IChhd2FpdCBzd2l0Y2hPcmdhbml6YXRpb24oe1xuICAgICAgICAgICAgdXJsOiBvcHRpb25zLnVybCxcbiAgICAgICAgICAgIG9yZ0lkOiBvcHRpb25zLm9yZyxcbiAgICAgICAgICAgIGFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgaHR0cHNBZ2VudCxcbiAgICAgICAgICAgIHRpbWVvdXQsXG4gICAgICAgICAgICBxdWlldCxcbiAgICAgICAgICB9KSkuYWNjZXNzVG9rZW47XG4gICAgICAgIH1cblxuICAgICAgICAvLyAzKSBDcmVhdGUgdGhlIGFjY2VzcyBrZXkuIFRoZSBzdGVwLXVwIHRva2VuIGlzIHNob3J0LWxpdmVkICh+NjBzKSBhbmRcbiAgICAgICAgLy8gICAgc2luZ2xlLXVzZSwgc28gaXQgaXMgc3BlbnQgaW1tZWRpYXRlbHkuXG4gICAgICAgIGNvbnN0IGtleVVybCA9IGAke29wdGlvbnMudXJsfS9hcGkvdXNlci9rZXlzYDtcbiAgICAgICAgcHJpbnREZWJ1ZygnUE9TVCcsIHsgdXJsOiBrZXlVcmwgfSk7XG4gICAgICAgIGNvbnN0IGtleVJlcyA9IGF3YWl0IGF4aW9zLnBvc3Q8Q3JlYXRlQWNjZXNzS2V5UmVzcG9uc2U+KFxuICAgICAgICAgIGtleVVybCxcbiAgICAgICAgICB7IG5hbWUsIGV4cGlyZXNJbiwgLi4uKG9wdGlvbnMuc2NvcGUgPyB7IHNjb3BlOiBvcHRpb25zLnNjb3BlIH0gOiB7fSkgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYEJlYXJlciAke2FjY2Vzc1Rva2VufWAsXG4gICAgICAgICAgICAgICdYLVN0ZXAtVXAtVG9rZW4nOiBzdGVwVXBUb2tlbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBodHRwc0FnZW50LFxuICAgICAgICAgICAgdGltZW91dCxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGtleSA9IGtleVJlcy5kYXRhPy5kYXRhPy5rZXk7XG4gICAgICAgIGNvbnN0IG1ldGEgPSBrZXlSZXMuZGF0YT8uZGF0YT8uYWNjZXNzS2V5O1xuICAgICAgICBpZiAoIWtleSkge1xuICAgICAgICAgIHByaW50RXJyb3IoJ0NyZWF0ZSBrZXkgZmFpbGVkOiBubyBrZXkgaW4gcmVzcG9uc2UnKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUXVpZXQgbW9kZTogZW1pdCBvbmx5IHRoZSBleHBvcnQgbGluZSAodGhlIGtleSBpcyBhIHZhbGlkIEJlYXJlciBjcmVkZW50aWFsKS5cbiAgICAgICAgaWYgKHF1aWV0KSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYGV4cG9ydCBQTEFURk9STV9UT0tFTj0ke2tleX1gKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U3VjY2VzcygnQWNjZXNzIGtleSBjcmVhdGVkJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgJ05hbWUnOiBtZXRhPy5uYW1lID8/IG5hbWUsXG4gICAgICAgICAgJ0tleSBJRCc6IG1ldGE/LmlkID8/ICcodW5rbm93biknLFxuICAgICAgICAgICdLZXknOiBtZXRhPy5kaXNwbGF5ID8/ICcodW5rbm93biknLFxuICAgICAgICAgICdFeHBpcmVzJzogbWV0YT8uZXhwaXJlc0F0ID8/IGAke2RheXN9IGRheShzKWAsXG4gICAgICAgICAgLi4uKG1ldGE/LnNjb3BlID8geyBTY29wZTogbWV0YS5zY29wZSB9IDoge30pLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBjb25zb2xlLmxvZyh5ZWxsb3coYm9sZCgnQ29weSB5b3VyIGtleSBub3cg4oCUIG9ubHkgaXRzIGhhc2ggaXMgc3RvcmVkLCBzbyBpdCB3aWxsIG5vdCBiZSBzaG93biBhZ2FpbjonKSkpO1xuICAgICAgICBjb25zb2xlLmxvZyhncmVlbihrZXkpKTtcbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludEluZm8oJ1RpcDogdXNlIGl0IGFzIFBMQVRGT1JNX1RPS0VOIGZvciBzdWJzZXF1ZW50IGNvbW1hbmRzOicpO1xuICAgICAgICBjb25zb2xlLmxvZyhncmVlbignICBleHBvcnQgUExBVEZPUk1fVE9LRU49PHRva2VuPicpKTtcbiAgICAgICAgY29uc29sZS5sb2coZ3JlZW4oYCAgIyBvcjogIGV2YWwgJChwaXBlbGluZS1tYW5hZ2VyIGF1dGggcGF0IC0tbmFtZSAke25hbWV9IC0tcXVpZXQpYCkpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRGV2aWNlQXV0aEVycm9yKSB7XG4gICAgICAgICAgcHJpbnRFcnJvcihgQ3JlYXRlIGtleSBmYWlsZWQ6ICR7ZXJyb3IubWVzc2FnZX1gLCB7IHJlYXNvbjogZXJyb3IuY29kZSB9KTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChheGlvcy5pc0F4aW9zRXJyb3IoZXJyb3IpKSB7XG4gICAgICAgICAgY29uc3Qgc3RhdHVzID0gZXJyb3IucmVzcG9uc2U/LnN0YXR1cztcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gKGVycm9yLnJlc3BvbnNlPy5kYXRhIGFzIHsgbWVzc2FnZT86IHN0cmluZyB9KT8ubWVzc2FnZTtcbiAgICAgICAgICBwcmludEVycm9yKCdDcmVhdGUga2V5IGZhaWxlZCcsIHtcbiAgICAgICAgICAgIHN0YXR1czogc3RhdHVzID8/ICdubyByZXNwb25zZScsXG4gICAgICAgICAgICAuLi4obWVzc2FnZSA/IHsgbWVzc2FnZSB9IDoge30pLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgIH1cbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAnY3JlYXRlLXBhdCcsIGV4ZWN1dGlvbklkLCB1cmw6IG9wdGlvbnMudXJsIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9jcmVhdGUtcGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUcsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFZaEQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFFN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxPQUFnQjtJQUN4QyxjQUFjLENBQUMsT0FBTztTQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2QsV0FBVyxDQUFDLDBFQUEwRSxDQUFDO1NBQ3ZGLGNBQWMs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LEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO2FBQ2xFLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgeyBUSU1FT1VUUyB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IGFzc2VydENyZWRlbnRpYWxUbHNBbGxvd2VkLCBjcmVkZW50aWFsSHR0cHNBZ2VudCwgc3dpdGNoT3JnYW5pemF0aW9uIH0gZnJvbSAnLi4vdXRpbHMvYXV0aC11dGlscy5qcyc7XG5pbXBvcnQgeyBwcmludENvbW1hbmRIZWFkZXIsIHdpdGhTc2xPcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBEZXZpY2VBdXRoRXJyb3IsIG9wZW5JbkJyb3dzZXIsIHBvbGxGb3JEZXZpY2VUb2tlbiwgcmVxdWVzdERldmljZUNvZGUgfSBmcm9tICcuLi91dGlscy9kZXZpY2UtYXV0aC5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50RGVidWcsIHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTdWNjZXNzIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcblxuY29uc3QgeyBib2xkLCBjeWFuLCBkaW0sIGdyZWVuLCB5ZWxsb3cgfSA9IHBpY287XG5cbi8qKiBDcmVhdGUta2V5IHJlc3BvbnNlIOKAlCB0aGUgcmF3IGtleSBpcyByZXR1cm5lZCBleGFjdGx5IG9uY2UuICovXG5pbnRlcmZhY2UgQ3JlYXRlQWNjZXNzS2V5UmVzcG9uc2Uge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBkYXRhOiB7XG4gICAgLyoqIFRoZSBvcGFxdWUga2V5IChgcGJfcGF0X+KApmApLiBPbmx5IGl0cyBoYXNoIGlzIHN0b3JlZCBzZXJ2ZXItc2lkZS4gKi9cbiAgICBrZXk6IHN0cmluZztcbiAgICBhY2Nlc3NLZXk6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBkaXNwbGF5OiBzdHJpbmc7IGV4cGlyZXNBdDogc3RyaW5nOyBzY29wZT86IHN0cmluZyB8IG51bGwgfTtcbiAgfTtcbn1cblxuY29uc3QgTUFYX0VYUElSRVNfREFZUyA9IDM2NTtcblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGBwYXRgIGNvbW1hbmQgd2l0aCB0aGUgQ0xJIHByb2dyYW0uXG4gKlxuICogTWludHMgYSBuYW1lZCBBQ0NFU1MgS0VZIChgcGJfcGF0X+KApmApIOKAlCBhIGR1cmFibGUsIGluZGl2aWR1YWxseS1yZXZvY2FibGUgQVBJXG4gKiBjcmVkZW50aWFsIOKAlCBmb3IgQ0kvYXV0b21hdGlvbi4gVW5saWtlIGEgc2Vzc2lvbiwgYSBrZXkgaXMgdGhlIHJpZ2h0XG4gKiBsb25nLWxpdmVkIGNyZWRlbnRpYWwgZm9yIHNjcmlwdHMuXG4gKlxuICogVGhlIGtleSBpcyBPUEFRVUU6IGl0IGNhcnJpZXMgbm8gY2xhaW1zLCBhbmQgZWFjaCBzZXJ2aWNlIHRyYWRlcyBpdCBhdFxuICogcGxhdGZvcm0ncyAvYXV0aC90b2tlbi9leGNoYW5nZSBmb3IgYSA1LW1pbnV0ZSB0b2tlbiwgc28gcmV2b2tpbmcgaXQgdGFrZXNcbiAqIGVmZmVjdCBldmVyeXdoZXJlIHdpdGhpbiBmaXZlIG1pbnV0ZXMuXG4gKlxuICogQ3JlYXRpbmcgb25lIGlzIHN0ZXAtdXAgZ2F0ZWQgc2VydmVyLXNpZGUsIHlldCB0aGUgQ0xJIGhvbGRzIG5vIHBhc3N3b3JkOiB0aGVcbiAqIGRldmljZSBmbG93IGFza3MgZm9yIHRoZSBzdGVwLXVwIElOIFRIRSBCUk9XU0VSLCB3aGVyZSB0aGVcbiAqIGFjY291bnQncyByZWFsIGZhY3RvcnMgbGl2ZSwgYW5kIHRoZSBhcHByb3ZlZCBwb2xsIHJldHVybnMgYm90aCB0aGUgc2Vzc2lvblxuICogYW5kIGEgc2hvcnQtbGl2ZWQgc3RlcC11cCB0b2tlbi4gVGhlIGtleSBiaW5kcyB0byB0aGUgdXNlcidzIGFjdGl2ZSBvcmc7IHBhc3NcbiAqIGAtLW9yZ2AgdG8gc3dpdGNoIGZpcnN0ICh3aGljaCBwZXJzaXN0cyBhcyB0aGUgYWN0aXZlIG9yZykuXG4gKlxuICogVGhlIHJhdyBrZXkgaXMgcHJpbnRlZCBPTkNFIOKAlCBvbmx5IGl0cyBoYXNoIGlzIHN0b3JlZCwgc28gaXQgY2FuIG5ldmVyIGJlIHJlYWRcbiAqIGJhY2suIGAtLXF1aWV0YCBwcmludHMgb25seSBgZXhwb3J0IFBMQVRGT1JNX1RPS0VOPeKApmAgc28gaXQgY2FuIGJlIGBldmFsYCdkO1xuICogdGhlIGtleSBpcyBpdHNlbGYgYSB2YWxpZCBCZWFyZXIgY3JlZGVudGlhbC5cbiAqXG4gKiBAcGFyYW0gcHJvZ3JhbSAtIFRoZSByb290IENvbW1hbmRlciBwcm9ncmFtIGluc3RhbmNlIHRvIGF0dGFjaCB0aGUgY29tbWFuZCB0by5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgYmFzaFxuICogcGlwZWxpbmUtbWFuYWdlciBhdXRoIHBhdCAtLW5hbWUgY2ktZGVwbG95XG4gKiBwaXBlbGluZS1tYW5hZ2VyIGF1dGggcGF0IC0tbmFtZSBjaSAtLWV4cGlyZXMtZGF5cyAzMCAtLW9yZyA8b3JnSWQ+XG4gKiBldmFsICQocGlwZWxpbmUtbWFuYWdlciBhdXRoIHBhdCAtLW5hbWUgY2kgLS1xdWlldClcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGF0KHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgd2l0aFNzbE9wdGlvbnMocHJvZ3JhbVxuICAgIC5jb21tYW5kKCdwYXQnKVxuICAgIC5kZXNjcmlwdGlvbignQ3JlYXRlIGEgbmFtZWQgYWNjZXNzIGtleSAobG9uZy1saXZlZCwgb3BhcXVlIENMSS9hdXRvbWF0aW9uIGNyZWRlbnRpYWwpJylcbiAgICAucmVxdWlyZWRPcHRpb24oJy0tbmFtZSA8bmFtZT4nLCAnSHVtYW4tcmVhZGFibGUga2V5IG5hbWUgKGUuZy4gY2ktZGVwbG95KScpXG4gICAgLm9wdGlvbignLS1leHBpcmVzLWRheXMgPGRheXM+JywgYEtleSBsaWZldGltZSBpbiBkYXlzICgxLSR7TUFYX0VYUElSRVNfREFZU30pYCwgJzkwJylcbiAgICAub3B0aW9uKCctLXNjb3BlIDxzY29wZT4nLCAnT3B0aW9uYWwgY2FwYWJpbGl0eSBzY29wZSAobGVhc3QtcHJpdmlsZWdlIGtleSknKVxuICAgIC5vcHRpb24oJy0tb3JnIDxvcmdJZD4nLCAnQmluZCB0aGUga2V5IHRvIGEgc3BlY2lmaWMgb3JnYW5pemF0aW9uIChzd2l0Y2hlcyBhY3RpdmUgb3JnKScpXG4gICAgLm9wdGlvbignLS1uby1icm93c2VyJywgJ05ldmVyIG9wZW4gYSBicm93c2VyIOKAlCBwcmludCB0aGUgdmVyaWZpY2F0aW9uIFVSTCBpbnN0ZWFkJylcbiAgICAub3B0aW9uKCctLXVybCA8dXJsPicsICdQbGF0Zm9ybSBiYXNlIFVSTCcsIHByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMIHx8ICdodHRwczovL2xvY2FsaG9zdDo4NDQzJykpXG4gICAgLm9wdGlvbignLS1xdWlldCcsICdPbmx5IHByaW50IHRoZSBleHBvcnQgc3RhdGVtZW50ICh1c2VmdWwgZm9yIGV2YWwpJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAvLyBTRUNVUklUWTogdGhlIHBvbGwgcmV0dXJucyBhIHNlc3Npb24gQU5EIGEgc3RlcC11cCB0b2tlbiwgYW5kIHRoZSByZXNwb25zZVxuICAgICAgLy8gYmVsb3cgY2FycmllcyB0aGUgcmF3IGtleS4gTm9uZSBvZiB0aGF0IG1heSBjcm9zcyBhbiB1bnZlcmlmaWVkIGNvbm5lY3Rpb25cbiAgICAgIC8vIGluIHByb2R1Y3Rpb24uIE1pcnJvcnMgdGhlIGd1YXJkIGluIGBsb2dpbmAuXG4gICAgICBhc3NlcnRDcmVkZW50aWFsVGxzQWxsb3dlZChvcHRpb25zLnZlcmlmeVNzbCk7XG5cbiAgICAgIGNvbnN0IHF1aWV0ID0gb3B0aW9ucy5xdWlldCA/PyBmYWxzZTtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdDcmVhdGUgQWNjZXNzIEtleScsICdDcmVhdGUgQWNjZXNzIEtleScsIHsgcXVpZXQgfSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIG5hbWUuXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0eXBlb2Ygb3B0aW9ucy5uYW1lID09PSAnc3RyaW5nJyA/IG9wdGlvbnMubmFtZS50cmltKCkgOiAnJztcbiAgICAgICAgaWYgKCFuYW1lKSB7XG4gICAgICAgICAgcHJpbnRFcnJvcignS2V5IG5hbWUgaXMgcmVxdWlyZWQgKC0tbmFtZSknKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuVkFMSURBVElPTik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5hbWUubGVuZ3RoID4gMTAwKSB7XG4gICAgICAgICAgcHJpbnRFcnJvcignS2V5IG5hbWUgbXVzdCBiZSAxMDAgY2hhcmFjdGVycyBvciBmZXdlcicpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5WQUxJREFUSU9OKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZhbGlkYXRlIGV4cGlyeSDihpIgc2Vjb25kcy5cbiAgICAgICAgY29uc3QgZGF5cyA9IE1hdGguZmxvb3IoTnVtYmVyKG9wdGlvbnMuZXhwaXJlc0RheXMpKTtcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoZGF5cykgfHwgZGF5cyA8IDEgfHwgZGF5cyA+IE1BWF9FWFBJUkVTX0RBWVMpIHtcbiAgICAgICAgICBwcmludEVycm9yKGAtLWV4cGlyZXMtZGF5cyBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAxIGFuZCAke01BWF9FWFBJUkVTX0RBWVN9YCk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KEVSUk9SX0NPREVTLlZBTElEQVRJT04pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV4cGlyZXNJbiA9IGRheXMgKiA4NjQwMDtcblxuICAgICAgICBjb25zdCBodHRwc0FnZW50ID0gY3JlZGVudGlhbEh0dHBzQWdlbnQob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCB0aW1lb3V0ID0gVElNRU9VVFMuSFRUUF9SRVFVRVNUO1xuICAgICAgICBjb25zdCB0cmFuc3BvcnQgPSB7IHVybDogb3B0aW9ucy51cmwsIGh0dHBzQWdlbnQsIHRpbWVvdXQgfTtcblxuICAgICAgICAvLyAxKSBEZXZpY2Ugc2lnbi1pbiwgYXNraW5nIGZvciB0aGUgc3RlcC11cCB0aGUgY3JlYXRlIGNhbGwgbmVlZHMuXG4gICAgICAgIGlmICghcXVpZXQpIHByaW50SW5mbygnU3RhcnRpbmcgYnJvd3NlciBzaWduLWluJywgeyB1cmw6IG9wdGlvbnMudXJsLCB2ZXJpZnlTc2w6IG9wdGlvbnMudmVyaWZ5U3NsIH0pO1xuICAgICAgICBjb25zdCBjb2RlID0gYXdhaXQgcmVxdWVzdERldmljZUNvZGUodHJhbnNwb3J0LCB7IHN0ZXBVcDogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgYXBwcm92YWxVcmwgPSBjb2RlLnZlcmlmaWNhdGlvbl91cmlfY29tcGxldGUgfHwgY29kZS52ZXJpZmljYXRpb25fdXJpO1xuICAgICAgICBjb25zdCBvcGVuZWQgPSBvcHRpb25zLmJyb3dzZXIgIT09IGZhbHNlICYmIG9wZW5JbkJyb3dzZXIoYXBwcm92YWxVcmwpO1xuXG4gICAgICAgIC8vIFRoZSBwcm9tcHQgZ29lcyB0byBTVERFUlIgdW5kZXIgYC0tcXVpZXRgOiBzdGRvdXQgaXMgY2FwdHVyZWQgYnlcbiAgICAgICAgLy8gYGV2YWwgJCjigKYpYCwgc28gcHJpbnRpbmcgdGhlIGNvZGUgdGhlcmUgd291bGQgc3dhbGxvdyB0aGUgb25lIHRoaW5nXG4gICAgICAgIC8vIHRoZSB1c2VyIGhhcyB0byByZWFkIGJlZm9yZSBhbnl0aGluZyBjYW4gcHJvY2VlZC5cbiAgICAgICAgY29uc3Qgc2F5ID0gcXVpZXQgPyBjb25zb2xlLmVycm9yIDogY29uc29sZS5sb2c7XG4gICAgICAgIHNheSgnJyk7XG4gICAgICAgIHNheShgICBZb3VyIGNvZGU6ICAke2JvbGQoY3lhbihjb2RlLnVzZXJfY29kZSkpfWApO1xuICAgICAgICBzYXkoYCAgQXBwcm92ZSBhdDogJHtncmVlbihhcHByb3ZhbFVybCl9YCk7XG4gICAgICAgIHNheSgnJyk7XG4gICAgICAgIHNheShkaW0ob3BlbmVkXG4gICAgICAgICAgPyAnICBPcGVuaW5nIHlvdXIgYnJvd3NlcuKApiBhcHByb3ZlIHRoZSBjb2RlIHRoZXJlLCB0aGVuIGNvbWUgYmFjay4nXG4gICAgICAgICAgOiAnICBPcGVuIHRoYXQgVVJMIGluIGEgYnJvd3NlciwgY2hlY2sgdGhlIGNvZGUgbWF0Y2hlcywgYW5kIGFwcHJvdmUuJykpO1xuICAgICAgICBpZiAoIXF1aWV0KSBwcmludEluZm8oJ1dhaXRpbmcgZm9yIGFwcHJvdmFs4oCmJyk7XG5cbiAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IHBvbGxGb3JEZXZpY2VUb2tlbih0cmFuc3BvcnQsIGNvZGUpO1xuICAgICAgICBsZXQgYWNjZXNzVG9rZW4gPSBzZXNzaW9uLmFjY2Vzc190b2tlbjtcbiAgICAgICAgY29uc3Qgc3RlcFVwVG9rZW4gPSBzZXNzaW9uLnN0ZXBfdXBfdG9rZW47XG4gICAgICAgIGlmICghc3RlcFVwVG9rZW4pIHtcbiAgICAgICAgICBwcmludEVycm9yKCdUaGUgYXBwcm92YWwgZGlkIG5vdCByZXR1cm4gYSBzdGVwLXVwIGNvbmZpcm1hdGlvbiDigJQgYXBwcm92ZSB0aGUgY29kZSBwcm9tcHRseSBhbmQgdHJ5IGFnYWluLicpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAyKSBPcHRpb25hbGx5IGJpbmQgdG8gYSBzcGVjaWZpYyBvcmcgKHBlcnNpc3RzIGFzIHRoZSBhY3RpdmUgb3JnLCB3aGljaFxuICAgICAgICAvLyAgICB0aGUga2V5IGluaGVyaXRzKS4gUm90YXRlcyB0aGUgc2Vzc2lvbiwgYnV0IHRoZSBzdGVwLXVwIHRva2VuIGlzXG4gICAgICAgIC8vICAgIGJvdW5kIHRvIHRoZSB1c2VyLCBub3QgdGhlIHNlc3Npb24sIHNvIGl0IHN1cnZpdmVzIHRoZSBzd2l0Y2guXG4gICAgICAgIGlmIChvcHRpb25zLm9yZykge1xuICAgICAgICAgIGlmICghcXVpZXQpIHByaW50SW5mbygnU3dpdGNoaW5nIHRvIG9yZ2FuaXphdGlvbicsIHsgb3JnSWQ6IG9wdGlvbnMub3JnIH0pO1xuICAgICAgICAgIGFjY2Vzc1Rva2VuID0gKGF3YWl0IHN3aXRjaE9yZ2FuaXphdGlvbih7XG4gICAgICAgICAgICB1cmw6IG9wdGlvbnMudXJsLFxuICAgICAgICAgICAgb3JnSWQ6IG9wdGlvbnMub3JnLFxuICAgICAgICAgICAgYWNjZXNzVG9rZW4sXG4gICAgICAgICAgICBodHRwc0FnZW50LFxuICAgICAgICAgICAgdGltZW91dCxcbiAgICAgICAgICAgIHF1aWV0LFxuICAgICAgICAgIH0pKS5hY2Nlc3NUb2tlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMpIENyZWF0ZSB0aGUgYWNjZXNzIGtleS4gVGhlIHN0ZXAtdXAgdG9rZW4gaXMgc2hvcnQtbGl2ZWQgKH42MHMpIGFuZFxuICAgICAgICAvLyAgICBzaW5nbGUtdXNlLCBzbyBpdCBpcyBzcGVudCBpbW1lZGlhdGVseS5cbiAgICAgICAgY29uc3Qga2V5VXJsID0gYCR7b3B0aW9ucy51cmx9L2FwaS91c2VyL2tleXNgO1xuICAgICAgICBwcmludERlYnVnKCdQT1NUJywgeyB1cmw6IGtleVVybCB9KTtcbiAgICAgICAgY29uc3Qga2V5UmVzID0gYXdhaXQgYXhpb3MucG9zdDxDcmVhdGVBY2Nlc3NLZXlSZXNwb25zZT4oXG4gICAgICAgICAga2V5VXJsLFxuICAgICAgICAgIHsgbmFtZSwgZXhwaXJlc0luLCAuLi4ob3B0aW9ucy5zY29wZSA/IHsgc2NvcGU6IG9wdGlvbnMuc2NvcGUgfSA6IHt9KSB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7YWNjZXNzVG9rZW59YCxcbiAgICAgICAgICAgICAgJ1gtU3RlcC1VcC1Ub2tlbic6IHN0ZXBVcFRva2VuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGh0dHBzQWdlbnQsXG4gICAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qga2V5ID0ga2V5UmVzLmRhdGE/LmRhdGE/LmtleTtcbiAgICAgICAgY29uc3QgbWV0YSA9IGtleVJlcy5kYXRhPy5kYXRhPy5hY2Nlc3NLZXk7XG4gICAgICAgIGlmICgha2V5KSB7XG4gICAgICAgICAgcHJpbnRFcnJvcignQ3JlYXRlIGtleSBmYWlsZWQ6IG5vIGtleSBpbiByZXNwb25zZScpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBRdWlldCBtb2RlOiBlbWl0IG9ubHkgdGhlIGV4cG9ydCBsaW5lICh0aGUga2V5IGlzIGEgdmFsaWQgQmVhcmVyIGNyZWRlbnRpYWwpLlxuICAgICAgICBpZiAocXVpZXQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgZXhwb3J0IFBMQVRGT1JNX1RPS0VOPSR7a2V5fWApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTdWNjZXNzKCdBY2Nlc3Mga2V5IGNyZWF0ZWQnKTtcbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnTmFtZSc6IG1ldGE/Lm5hbWUgPz8gbmFtZSxcbiAgICAgICAgICAnS2V5IElEJzogbWV0YT8uaWQgPz8gJyh1bmtub3duKScsXG4gICAgICAgICAgJ0tleSc6IG1ldGE/LmRpc3BsYXkgPz8gJyh1bmtub3duKScsXG4gICAgICAgICAgJ0V4cGlyZXMnOiBtZXRhPy5leHBpcmVzQXQgPz8gYCR7ZGF5c30gZGF5KHMpYCxcbiAgICAgICAgICAuLi4obWV0YT8uc2NvcGUgPyB7IFNjb3BlOiBtZXRhLnNjb3BlIH0gOiB7fSksXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKHllbGxvdyhib2xkKCdDb3B5IHlvdXIga2V5IG5vdyDigJQgb25seSBpdHMgaGFzaCBpcyBzdG9yZWQsIHNvIGl0IHdpbGwgbm90IGJlIHNob3duIGFnYWluOicpKSk7XG4gICAgICAgIGNvbnNvbGUubG9nKGdyZWVuKGtleSkpO1xuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50SW5mbygnVGlwOiB1c2UgaXQgYXMgUExBVEZPUk1fVE9LRU4gZm9yIHN1YnNlcXVlbnQgY29tbWFuZHM6Jyk7XG4gICAgICAgIGNvbnNvbGUubG9nKGdyZWVuKCcgIGV4cG9ydCBQTEFURk9STV9UT0tFTj08dG9rZW4+JykpO1xuICAgICAgICBjb25zb2xlLmxvZyhncmVlbihgICAjIG9yOiAgZXZhbCAkKHBpcGVsaW5lLW1hbmFnZXIgYXV0aCBwYXQgLS1uYW1lICR7bmFtZX0gLS1xdWlldClgKSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBEZXZpY2VBdXRoRXJyb3IpIHtcbiAgICAgICAgICBwcmludEVycm9yKGBDcmVhdGUga2V5IGZhaWxlZDogJHtlcnJvci5tZXNzYWdlfWAsIHsgcmVhc29uOiBlcnJvci5jb2RlIH0pO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnJvcikpIHtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSBlcnJvci5yZXNwb25zZT8uc3RhdHVzO1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoZXJyb3IucmVzcG9uc2U/LmRhdGEgYXMgeyBtZXNzYWdlPzogc3RyaW5nIH0pPy5tZXNzYWdlO1xuICAgICAgICAgIHByaW50RXJyb3IoJ0NyZWF0ZSBrZXkgZmFpbGVkJywge1xuICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMgPz8gJ25vIHJlc3BvbnNlJyxcbiAgICAgICAgICAgIC4uLihtZXNzYWdlID8geyBtZXNzYWdlIH0gOiB7fSksXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OKTtcbiAgICAgICAgfVxuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdjcmVhdGUtcGF0JywgZXhlY3V0aW9uSWQsIHVybDogb3B0aW9ucy51cmwgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-pipeline.d.ts","sourceRoot":"","sources":["../../src/commands/create-pipeline.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"create-pipeline.d.ts","sourceRoot":"","sources":["../../src/commands/create-pipeline.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsPpC;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0HrD"}
|