Socket
Socket
Sign inDemoInstall

@aws-cdk/cfnspec

Package Overview
Dependencies
Maintainers
5
Versions
476
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/cfnspec - npm Package Compare versions

Comparing version 1.24.0 to 1.25.0

.nyc_output/5a4a541d-df31-4367-a523-0b4ec3e0feca.json

2

.nyc_output/processinfo/index.json

@@ -1,1 +0,1 @@

{"processes":{"23c55ff1-46f2-47f2-8d33-12e02e109719":{"parent":null,"children":[]},"3efa5bef-d429-40dd-8269-2a389b1af77d":{"parent":null,"children":[]}},"files":{"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/lib/index.js":["23c55ff1-46f2-47f2-8d33-12e02e109719","3efa5bef-d429-40dd-8269-2a389b1af77d"],"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/lib/schema/index.js":["23c55ff1-46f2-47f2-8d33-12e02e109719","3efa5bef-d429-40dd-8269-2a389b1af77d"],"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/lib/schema/base-types.js":["23c55ff1-46f2-47f2-8d33-12e02e109719","3efa5bef-d429-40dd-8269-2a389b1af77d"],"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/lib/schema/property.js":["23c55ff1-46f2-47f2-8d33-12e02e109719","3efa5bef-d429-40dd-8269-2a389b1af77d"],"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/lib/schema/resource-type.js":["23c55ff1-46f2-47f2-8d33-12e02e109719","3efa5bef-d429-40dd-8269-2a389b1af77d"],"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/lib/schema/specification.js":["23c55ff1-46f2-47f2-8d33-12e02e109719","3efa5bef-d429-40dd-8269-2a389b1af77d"],"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/lib/schema/augmentation.js":["23c55ff1-46f2-47f2-8d33-12e02e109719","3efa5bef-d429-40dd-8269-2a389b1af77d"],"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/lib/schema/index.d.ts":["3efa5bef-d429-40dd-8269-2a389b1af77d"],"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/lib/schema/index.ts":["3efa5bef-d429-40dd-8269-2a389b1af77d"],"/codebuild/output/src514827133/src/packages/@aws-cdk/cfnspec/nyc.config.js":["3efa5bef-d429-40dd-8269-2a389b1af77d"]},"externalIds":{}}
{"processes":{"5a4a541d-df31-4367-a523-0b4ec3e0feca":{"parent":null,"children":[]},"a68210ba-a030-4f8e-84fb-4386cd21d4a5":{"parent":null,"children":[]}},"files":{"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/lib/index.js":["5a4a541d-df31-4367-a523-0b4ec3e0feca","a68210ba-a030-4f8e-84fb-4386cd21d4a5"],"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/lib/schema/augmentation.js":["5a4a541d-df31-4367-a523-0b4ec3e0feca","a68210ba-a030-4f8e-84fb-4386cd21d4a5"],"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/lib/schema/base-types.js":["5a4a541d-df31-4367-a523-0b4ec3e0feca","a68210ba-a030-4f8e-84fb-4386cd21d4a5"],"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/lib/schema/index.d.ts":["5a4a541d-df31-4367-a523-0b4ec3e0feca"],"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/lib/schema/index.js":["5a4a541d-df31-4367-a523-0b4ec3e0feca","a68210ba-a030-4f8e-84fb-4386cd21d4a5"],"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/lib/schema/index.ts":["5a4a541d-df31-4367-a523-0b4ec3e0feca"],"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/lib/schema/property.js":["5a4a541d-df31-4367-a523-0b4ec3e0feca","a68210ba-a030-4f8e-84fb-4386cd21d4a5"],"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/lib/schema/resource-type.js":["5a4a541d-df31-4367-a523-0b4ec3e0feca","a68210ba-a030-4f8e-84fb-4386cd21d4a5"],"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/lib/schema/specification.js":["5a4a541d-df31-4367-a523-0b4ec3e0feca","a68210ba-a030-4f8e-84fb-4386cd21d4a5"],"/codebuild/output/src402103226/src/packages/@aws-cdk/cfnspec/nyc.config.js":["5a4a541d-df31-4367-a523-0b4ec3e0feca"]},"externalIds":{}}

@@ -73,6 +73,3 @@ #!/usr/bin/env node

// python names
const pythonDistSubName = moduleFamily === 'AWS'
? lowcaseModuleName
: `${moduleFamily.toLocaleLowerCase()}.${lowcaseModuleName}`;
const pythonDistName = `aws-cdk.${pythonDistSubName}`;
const pythonDistName = `aws-cdk.${moduleName}`;
const pythonModuleName = pythonDistName.replace(/-/g, "_");

@@ -131,3 +128,3 @@ async function write(relativePath, contents) {

url: "https://github.com/aws/aws-cdk.git",
directory: `packages/@aws-cdk/${packageName}`,
directory: `packages/${packageName}`,
},

@@ -200,2 +197,3 @@ homepage: "https://github.com/aws/aws-cdk",

'*.snk',
'nyc.config.js'
]);

@@ -302,2 +300,2 @@ await write('.npmignore', [

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHOztBQUVILCtDQUErQztBQUMvQywrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLGtDQUFrQztBQUVsQyxvQkFBb0I7QUFDcEIsNEJBQTRCO0FBQzVCLDJDQUEyQztBQUUzQyxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLDREQUE0RCxDQUFDLENBQUM7S0FDeEg7SUFFRCxpRUFBaUU7SUFDakUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBRW5ELDZDQUE2QztJQUM3QyxLQUFLLE1BQU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM1QyxNQUFNLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsU0FBUyxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RyxNQUFNLFVBQVUsR0FBRyxHQUFHLFlBQVksSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEcsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFaEQsTUFB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T0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDO0FBRUgsS0FBSyxVQUFVLElBQUksQ0FBQyxPQUFlO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRTtRQUM3QyxLQUFLLEVBQUUsQ0FBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBRTtRQUN6QyxLQUFLLEVBQUUsSUFBSTtLQUNaLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUN4QixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLEVBQUUsQ0FBQzthQUNiO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDdkQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuLyoqXG4gKiBhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgYSBtb2R1bGUgZm9yIGFueSBDbG91ZEZvcm1hdGlvbiBuYW1lc3BhY2VzIHRoYXQgZG8gbm90XG4gKiBoYXZlIGFuIEFXUyBjb25zdHJ1Y3QgbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBjaGlsZF9wcm9jZXNzIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNmbnNwZWMgZnJvbSAnLi4vbGliJztcblxuLy8gZG9uJ3QgYmUgYSBwcnVkZTpcbi8vIHRzbGludDpkaXNhYmxlOm5vLWNvbnNvbGVcbi8vIHRzbGludDpkaXNhYmxlOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3Qgcm9vdCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICcuLicpO1xuICBpZiAocGF0aC5iYXNlbmFtZShyb290KSAhPT0gJ0Bhd3MtY2RrJykge1xuICAgIHRocm93IG5ldyBFcnJvcihgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFdlIGV4cGVjdGVkICR7cm9vdH0gdG8gYmUgdGhlIFwicGFja2FnZXMvQGF3cy1jZGtcIiBkaXJlY3RvcnkuIERpZCB5b3UgbW92ZSBtZT9gKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gIGNvbnN0IHZlcnNpb24gPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKS52ZXJzaW9uO1xuXG4gIC8vIGl0ZXJhdGUgb3ZlciBhbGwgY2xvdWRmb3JtYXRpb24gbmFtZXNwYWNlc1xuICBmb3IgKGNvbnN0IG5hbWVzcGFjZSBvZiBjZm5zcGVjLm5hbWVzcGFjZXMoKSkge1xuICAgIGNvbnN0IFttb2R1bGVGYW1pbHksIG1vZHVsZUJhc2VOYW1lXSA9IChuYW1lc3BhY2UgPT09ICdBV1M6OlNlcnZlcmxlc3MnID8gJ0FXUzo6U0FNJyA6IG5hbWVzcGFjZSkuc3BsaXQoJzo6Jyk7XG5cbiAgICBjb25zdCBtb2R1bGVOYW1lID0gYCR7bW9kdWxlRmFtaWx5fS0ke21vZHVsZUJhc2VOYW1lLnJlcGxhY2UoL1ZcXGQrJC8sICcnKX1gLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgcGFja2FnZVBhdGggPSBwYXRoLmpvaW4ocm9vdCwgbW9kdWxlTmFtZSk7XG5cbiAgICBjb25zdCBsb3djYXNlTW9kdWxlTmFtZSA9IG1vZHVsZUJhc2VOYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBgQGF3cy1jZGsvJHttb2R1bGVOYW1lfWA7XG5cbiAgICAvLyB3ZSBhbHJlYWR5IGhhdmUgYSBtb2R1bGUgZm9yIHRoaXMgbmFtZXNhcGNlLCBtb3ZlIG9uLlxuICAgIGlmIChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhY2thZ2VQYXRoKSkge1xuICAgICAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcGF0aC5qb2luKHBhY2thZ2VQYXRoLCAncGFja2FnZS5qc29uJyk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgICAgY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKHBhY2thZ2VKc29uUGF0aCk7XG4gICAgICBsZXQgc2NvcGVzOiBzdHJpbmcgfCBzdHJpbmdbXSA9IHBhY2thZ2VKc29uWydjZGstYnVpbGQnXS5jbG91ZGZvcm1hdGlvbjtcbiAgICAgIGlmICh0eXBlb2Ygc2NvcGVzID09PSAnc3RyaW5nJykgeyBzY29wZXMgPSBbc2NvcGVzXTsgfVxuICAgICAgaWYgKHNjb3Blcy5pbmRleE9mKG5hbWVzcGFjZSkgIT09IC0xKSB7XG4gICAgICAgIC8vIFYyLXN0eWxlIG1vZHVsZSBpcyBhbHJlYWR5IG1vZGVsZWQgaW4gdGhlIHJvb3QgcGFja2FnZSwgbm90aGluZyB0byBiZSBkb25lIVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSBpZiAoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4ocm9vdCwgYCR7bW9kdWxlRmFtaWx5fS0ke21vZHVsZUJhc2VOYW1lfWAudG9Mb2NhbGVMb3dlckNhc2UoKSkpKSB7XG4gICAgICAgIC8vIFYyLXN0eWxlIHBhY2thZ2UgYWxyZWFkeSBoYXMgaXQncyBvd24gcGFja2FnZSAobGVnYWN5IGJlaGF2aW9yKSwgbm90aGluZyB0byBiZSBkb25lIVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFYyLXN0eWxlIHBhY2thZ2UgbmVlZHMgdG8gYmUgYWRkZWQgdG8gaXQncyBcIlYxXCIgcGFja2FnZS4uLiBHZXQgZG93biB0byBidXNpbmVzcyFcbiAgICAgICAgY29uc29sZS5lcnJvcihgQWRkaW5nICR7bmFtZXNwYWNlfSB0byAke3BhY2thZ2VOYW1lfWApO1xuICAgICAgICBzY29wZXMucHVzaChuYW1lc3BhY2UpO1xuICAgICAgICBwYWNrYWdlSnNvblsnY2RrLWJ1aWxkJ10uY2xvdWRmb3JtYXRpb24gPSBzY29wZXM7XG4gICAgICAgIGF3YWl0IGZzLndyaXRlSnNvbihwYWNrYWdlSnNvblBhdGgsIHBhY2thZ2VKc29uLCB7IGVuY29kaW5nOiAndXRmLTgnLCBzcGFjZXM6IDIgfSk7XG4gICAgICAgIGNvbnN0IGluZGV4VHNQYXRoID0gcGF0aC5qb2luKHBhY2thZ2VQYXRoLCAnbGliJywgJ2luZGV4LnRzJyk7XG4gICAgICAgIGNvbnN0IGluZGV4VHMgPSBbXG4gICAgICAgICAgKGF3YWl0IGZzLnJlYWRGaWxlKGluZGV4VHNQYXRoLCB7IGVuY29kaW5nOiAndXRmOCcgfSkpLnRyaW1SaWdodCgpLFxuICAgICAgICAgIGAvLyAke25hbWVzcGFjZX0gQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2VzOmAsXG4gICAgICAgICAgYGV4cG9ydCAqIGZyb20gJy4vJHtsb3djYXNlTW9kdWxlTmFtZX0uZ2VuZXJhdGVkJztgXG4gICAgICAgIF0uam9pbignXFxuJyk7XG4gICAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShpbmRleFRzUGF0aCwgaW5kZXhUcywgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkb3RuZXQgbmFtZXNcbiAgICBjb25zdCBkb3RuZXRQYWNrYWdlID0gYEFtYXpvbi5DREsuJHttb2R1bGVGYW1pbHl9LiR7bW9kdWxlQmFzZU5hbWV9YDtcblxuICAgIC8vIGphdmEgbmFtZXNcbiAgICBjb25zdCBqYXZhR3JvdXBJZCA9ICdzb2Z0d2FyZS5hbWF6b24uYXdzY2RrJztcbiAgICBjb25zdCBqYXZhUGFja2FnZSA9IG1vZHVsZUZhbWlseSA9PT0gJ0FXUydcbiAgICAgID8gYHNlcnZpY2VzLiR7bG93Y2FzZU1vZHVsZU5hbWV9YFxuICAgICAgOiBgJHttb2R1bGVGYW1pbHkudG9Mb2NhbGVMb3dlckNhc2UoKX0uJHtsb3djYXNlTW9kdWxlTmFtZX1gO1xuICAgIGNvbnN0IGphdmFBcnRpZmFjdElkID0gbW9kdWxlRmFtaWx5ID09PSAnQVdTJ1xuICAgICAgPyBsb3djYXNlTW9kdWxlTmFtZVxuICAgICAgOiBgJHttb2R1bGVGYW1pbHkudG9Mb2NhbGVMb3dlckNhc2UoKX0tJHtsb3djYXNlTW9kdWxlTmFtZX1gO1xuXG4gICAgLy8gcHl0aG9uIG5hbWVzXG4gICAgY29uc3QgcHl0aG9uRGlzdFN1Yk5hbWUgPSBtb2R1bGVGYW1pbHkgPT09ICdBV1MnXG4gICAgICA/IGxvd2Nhc2VNb2R1bGVOYW1lXG4gICAgICA6IGAke21vZHVsZUZhbWlseS50b0xvY2FsZUxvd2VyQ2FzZSgpfS4ke2xvd2Nhc2VNb2R1bGVOYW1lfWA7XG4gICAgY29uc3QgcHl0aG9uRGlzdE5hbWUgPSBgYXdzLWNkay4ke3B5dGhvbkRpc3RTdWJOYW1lfWA7XG4gICAgY29uc3QgcHl0aG9uTW9kdWxlTmFtZSA9IHB5dGhvbkRpc3ROYW1lLnJlcGxhY2UoLy0vZywgXCJfXCIpO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gd3JpdGUocmVsYXRpdmVQYXRoOiBzdHJpbmcsIGNvbnRlbnRzOiBzdHJpbmdbXSB8IHN0cmluZyB8IG9iamVjdCkge1xuICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsIHJlbGF0aXZlUGF0aCk7XG4gICAgICBjb25zdCBkaXIgPSBwYXRoLmRpcm5hbWUoZnVsbFBhdGgpO1xuICAgICAgYXdhaXQgZnMubWtkaXJwKGRpcik7XG5cbiAgICAgIGxldCBkYXRhO1xuICAgICAgaWYgKHR5cGVvZiBjb250ZW50cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZGF0YSA9IGNvbnRlbnRzLnRyaW1MZWZ0KCk7IC8vIHRyaW0gZmlyc3QgbmV3bGluZVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNvbnRlbnRzKSkge1xuICAgICAgICBkYXRhID0gY29udGVudHMuam9pbignXFxuJyk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZW50cyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZGF0YSA9IEpTT04uc3RyaW5naWZ5KGNvbnRlbnRzLCB1bmRlZmluZWQsIDIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHR5cGUgb2YgY29udGVudHM6ICcgKyBjb250ZW50cyk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShmdWxsUGF0aCwgZGF0YSArICdcXG4nKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgZ2VuZXJhdGluZyBtb2R1bGUgZm9yICR7cGFja2FnZU5hbWV9Li4uYCk7XG5cbiAgICBhd2FpdCB3cml0ZSgncGFja2FnZS5qc29uJywge1xuICAgICAgbmFtZTogcGFja2FnZU5hbWUsXG4gICAgICB2ZXJzaW9uLFxuICAgICAgZGVzY3JpcHRpb246IGBUaGUgQ0RLIENvbnN0cnVjdCBMaWJyYXJ5IGZvciAke25hbWVzcGFjZX1gLFxuICAgICAgbWFpbjogJ2xpYi9pbmRleC5qcycsXG4gICAgICB0eXBlczogJ2xpYi9pbmRleC5kLnRzJyxcbiAgICAgIGpzaWk6IHtcbiAgICAgICAgb3V0ZGlyOiAnZGlzdCcsXG4gICAgICAgIHRhcmdldHM6IHtcbiAgICAgICAgICBkb3RuZXQ6IHtcbiAgICAgICAgICAgIG5hbWVzcGFjZTogZG90bmV0UGFja2FnZSxcbiAgICAgICAgICAgIHBhY2thZ2VJZDogZG90bmV0UGFja2FnZSxcbiAgICAgICAgICAgIHNpZ25Bc3NlbWJseTogdHJ1ZSxcbiAgICAgICAgICAgIGFzc2VtYmx5T3JpZ2luYXRvcktleUZpbGU6IFwiLi4vLi4va2V5LnNua1wiLFxuICAgICAgICAgICAgaWNvblVybDogXCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXdzL2F3cy1jZGsvbWFzdGVyL2xvZ28vZGVmYXVsdC0yNTYtZGFyay5wbmdcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgamF2YToge1xuICAgICAgICAgICAgcGFja2FnZTogYCR7amF2YUdyb3VwSWR9LiR7amF2YVBhY2thZ2V9YCxcbiAgICAgICAgICAgIG1hdmVuOiB7XG4gICAgICAgICAgICAgIGdyb3VwSWQ6IGphdmFHcm91cElkLFxuICAgICAgICAgICAgICBhcnRpZmFjdElkOiBqYXZhQXJ0aWZhY3RJZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcHl0aG9uOiB7XG4gICAgICAgICAgICBkaXN0TmFtZTogcHl0aG9uRGlzdE5hbWUsXG4gICAgICAgICAgICBtb2R1bGU6IHB5dGhvbk1vZHVsZU5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZXBvc2l0b3J5OiB7XG4gICAgICAgIHR5cGU6IFwiZ2l0XCIsXG4gICAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsuZ2l0XCIsXG4gICAgICAgIGRpcmVjdG9yeTogYHBhY2thZ2VzL0Bhd3MtY2RrLyR7cGFja2FnZU5hbWV9YCxcbiAgICAgIH0sXG4gICAgICBob21lcGFnZTogXCJodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGtcIixcbiAgICAgIHNjcmlwdHM6IHtcbiAgICAgICAgYnVpbGQ6IFwiY2RrLWJ1aWxkXCIsXG4gICAgICAgIHdhdGNoOiBcImNkay13YXRjaFwiLFxuICAgICAgICBsaW50OiBcImNkay1saW50XCIsXG4gICAgICAgIHRlc3Q6IFwiY2RrLXRlc3RcIixcbiAgICAgICAgaW50ZWc6IFwiY2RrLWludGVnXCIsXG4gICAgICAgIHBrZ2xpbnQ6IFwicGtnbGludCAtZlwiLFxuICAgICAgICBwYWNrYWdlOiBcImNkay1wYWNrYWdlXCIsXG4gICAgICAgIGF3c2xpbnQ6IFwiY2RrLWF3c2xpbnRcIixcbiAgICAgICAgY2ZuMnRzOiBcImNmbjJ0c1wiLFxuICAgICAgICAnYnVpbGQrdGVzdCtwYWNrYWdlJzogXCJucG0gcnVuIGJ1aWxkK3Rlc3QgJiYgbnBtIHJ1biBwYWNrYWdlXCIsXG4gICAgICAgICdidWlsZCt0ZXN0JzogXCJucG0gcnVuIGJ1aWxkICYmIG5wbSB0ZXN0XCIsXG4gICAgICAgIGNvbXBhdDogXCJjZGstY29tcGF0XCJcbiAgICAgIH0sXG4gICAgICAnY2RrLWJ1aWxkJzoge1xuICAgICAgICBjbG91ZGZvcm1hdGlvbjogbmFtZXNwYWNlXG4gICAgICB9LFxuICAgICAga2V5d29yZHM6IFtcbiAgICAgICAgXCJhd3NcIixcbiAgICAgICAgXCJjZGtcIixcbiAgICAgICAgXCJjb25zdHJ1Y3RzXCIsXG4gICAgICAgIG5hbWVzcGFjZSxcbiAgICAgICAgbW9kdWxlTmFtZVxuICAgICAgXSxcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICBuYW1lOiBcIkFtYXpvbiBXZWIgU2VydmljZXNcIixcbiAgICAgICAgdXJsOiBcImh0dHBzOi8vYXdzLmFtYXpvbi5jb21cIixcbiAgICAgICAgb3JnYW5pemF0aW9uOiB0cnVlXG4gICAgICB9LFxuICAgICAgamVzdDoge30sXG4gICAgICBsaWNlbnNlOiBcIkFwYWNoZS0yLjBcIixcbiAgICAgIGRldkRlcGVuZGVuY2llczoge1xuICAgICAgICBcIkBhd3MtY2RrL2Fzc2VydFwiOiB2ZXJzaW9uLFxuICAgICAgICBcImNkay1idWlsZC10b29sc1wiOiB2ZXJzaW9uLFxuICAgICAgICBcImNmbjJ0c1wiOiB2ZXJzaW9uLFxuICAgICAgICBcInBrZ2xpbnRcIjogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBkZXBlbmRlbmNpZXM6IHtcbiAgICAgICAgXCJAYXdzLWNkay9jb3JlXCI6IHZlcnNpb24sXG4gICAgICB9LFxuICAgICAgcGVlckRlcGVuZGVuY2llczoge1xuICAgICAgICBcIkBhd3MtY2RrL2NvcmVcIjogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBlbmdpbmVzOiB7XG4gICAgICAgIG5vZGU6ICc+PSAxMC4zLjAnXG4gICAgICB9LFxuICAgICAgc3RhYmlsaXR5OiBcImV4cGVyaW1lbnRhbFwiXG4gICAgfSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnLmdpdGlnbm9yZScsIFtcbiAgICAgICcqLmpzJyxcbiAgICAgICcqLmpzLm1hcCcsXG4gICAgICAnKi5kLnRzJyxcbiAgICAgICd0c2NvbmZpZy5qc29uJyxcbiAgICAgICd0c2xpbnQuanNvbicsXG4gICAgICAnbm9kZV9tb2R1bGVzJyxcbiAgICAgICcqLmdlbmVyYXRlZC50cycsXG4gICAgICAnZGlzdCcsXG4gICAgICAnLmpzaWknLFxuICAgICAgJycsXG4gICAgICAnLkxBU1RfQlVJTEQnLFxuICAgICAgJy5ueWNfb3V0cHV0JyxcbiAgICAgICdjb3ZlcmFnZScsXG4gICAgICAnLm55Y3JjJyxcbiAgICAgICcuTEFTVF9QQUNLQUdFJyxcbiAgICAgICcqLnNuaycsXG4gICAgXSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnLm5wbWlnbm9yZScsIFtcbiAgICAgICcjIERvblxcJ3QgaW5jbHVkZSBvcmlnaW5hbCAudHMgZmlsZXMgd2hlbiBkb2luZyBgbnBtIHBhY2tgJyxcbiAgICAgICcqLnRzJyxcbiAgICAgICchKi5kLnRzJyxcbiAgICAgICdjb3ZlcmFnZScsXG4gICAgICAnLm55Y19vdXRwdXQnLFxuICAgICAgJyoudGd6JyxcbiAgICAgICcnLFxuICAgICAgJ2Rpc3QnLFxuICAgICAgJy5MQVNUX1BBQ0tBR0UnLFxuICAgICAgJy5MQVNUX0JVSUxEJyxcbiAgICAgICchKi5qcycsXG4gICAgICAnJyxcbiAgICAgICcjIEluY2x1ZGUgLmpzaWknLFxuICAgICAgJyEuanNpaScsXG4gICAgICAnJyxcbiAgICAgICcqLnNuaycsXG4gICAgICAnJyxcbiAgICAgICcqLnRzYnVpbGRpbmZvJyxcbiAgICAgICcnLFxuICAgICAgJ3RzY29uZmlnLmpzb24nLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJ2xpYi9pbmRleC50cycsIFtcbiAgICAgIGAvLyAke25hbWVzcGFjZX0gQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2VzOmAsXG4gICAgICBgZXhwb3J0ICogZnJvbSAnLi8ke2xvd2Nhc2VNb2R1bGVOYW1lfS5nZW5lcmF0ZWQnO2BcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKGB0ZXN0LyR7bG93Y2FzZU1vZHVsZU5hbWV9LnRlc3QudHNgLCBbXG4gICAgICBcImltcG9ydCAnQGF3cy1jZGsvYXNzZXJ0L2plc3QnO1wiLFxuICAgICAgXCJpbXBvcnQge30gZnJvbSAnLi4vbGliJztcIixcbiAgICAgIFwiXCIsXG4gICAgICBcInRlc3QoJ05vIHRlc3RzIGFyZSBzcGVjaWZpZWQgZm9yIHRoaXMgcGFja2FnZScsICgpID0+IHtcIixcbiAgICAgIFwiICBleHBlY3QodHJ1ZSkudG9CZSh0cnVlKTtcIixcbiAgICAgIFwifSk7XCIsXG4gICAgXSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnUkVBRE1FLm1kJywgW1xuICAgICAgYCMjICR7bmFtZXNwYWNlfSBDb25zdHJ1Y3QgTGlicmFyeWAsXG4gICAgICAnPCEtLUJFR0lOIFNUQUJJTElUWSBCQU5ORVItLT4nLFxuICAgICAgJycsXG4gICAgICAnLS0tJyxcbiAgICAgICcnLFxuICAgICAgJyFbU3RhYmlsaXR5OiBFeHBlcmltZW50YWxdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2Uvc3RhYmlsaXR5LUV4cGVyaW1lbnRhbC1pbXBvcnRhbnQuc3ZnP3N0eWxlPWZvci10aGUtYmFkZ2UpJyxcbiAgICAgICcnLFxuICAgICAgJz4gKipUaGlzIGlzIGEgX2RldmVsb3BlciBwcmV2aWV3XyAocHVibGljIGJldGEpIG1vZHVsZS4gUmVsZWFzZXMgbWlnaHQgbGFjayBpbXBvcnRhbnQgZmVhdHVyZXMgYW5kIG1pZ2h0IGhhdmUnLFxuICAgICAgJz4gZnV0dXJlIGJyZWFraW5nIGNoYW5nZXMuKionLFxuICAgICAgJz4nLFxuICAgICAgJz4gVGhpcyBBUEkgaXMgc3RpbGwgdW5kZXIgYWN0aXZlIGRldmVsb3BtZW50IGFuZCBzdWJqZWN0IHRvIG5vbi1iYWNrd2FyZCcsXG4gICAgICAnPiBjb21wYXRpYmxlIGNoYW5nZXMgb3IgcmVtb3ZhbCBpbiBhbnkgZnV0dXJlIHZlcnNpb24uIFVzZSBvZiB0aGUgQVBJIGlzIG5vdCByZWNvbW1lbmRlZCBpbiBwcm9kdWN0aW9uJyxcbiAgICAgICc+IGVudmlyb25tZW50cy4gRXhwZXJpbWVudGFsIEFQSXMgYXJlIG5vdCBzdWJqZWN0IHRvIHRoZSBTZW1hbnRpYyBWZXJzaW9uaW5nIG1vZGVsLicsXG4gICAgICAnJyxcbiAgICAgICctLS0nLFxuICAgICAgJzwhLS1FTkQgU1RBQklMSVRZIEJBTk5FUi0tPicsXG4gICAgICAnJyxcbiAgICAgICdUaGlzIG1vZHVsZSBpcyBwYXJ0IG9mIHRoZSBbQVdTIENsb3VkIERldmVsb3BtZW50IEtpdF0oaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrKSBwcm9qZWN0LicsXG4gICAgICAnJyxcbiAgICAgICdgYGB0cycsXG4gICAgICBgaW1wb3J0ICR7bG93Y2FzZU1vZHVsZU5hbWV9ID0gcmVxdWlyZSgnJHtwYWNrYWdlTmFtZX0nKTtgLFxuICAgICAgJ2BgYCcsXG4gICAgXSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZURpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsICd0ZW1wbGF0ZScpO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBhd2FpdCBmcy5yZWFkZGlyKHRlbXBsYXRlRGlyKSkge1xuICAgICAgYXdhaXQgZnMuY29weShwYXRoLmpvaW4odGVtcGxhdGVEaXIsIGZpbGUpLCBwYXRoLmpvaW4ocGFja2FnZVBhdGgsIGZpbGUpKTtcbiAgICB9XG5cbiAgICAvLyBidWlsZCB0aGUgcGFja2FnZVxuICAgIGNvbnN0IGxlcm5hID0gcGF0aC5qb2luKHBhdGguZGlybmFtZShyZXF1aXJlLnJlc29sdmUoJ2xlcm5hL3BhY2thZ2UuanNvbicpKSwgJ2NsaS5qcycpO1xuICAgIGF3YWl0IGV4ZWMoYCR7bGVybmF9IHJ1biAtLXByb2dyZXNzIGJ1aWxkIC0tc2NvcGUgJHtwYWNrYWdlTmFtZX1gKTtcblxuICAgIC8vIHVwZGF0ZSBkZWNka1xuICAgIGNvbnN0IGRlY2RrUGtnSnNvblBhdGggPSBwYXRoLmpvaW4ocmVxdWlyZS5yZXNvbHZlKCdkZWNkaycpLCAnLi4nLCAnLi4nLCAncGFja2FnZS5qc29uJyk7XG4gICAgY29uc3QgZGVjZGtQa2cgPSBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKGRlY2RrUGtnSnNvblBhdGgsICd1dGY4JykpO1xuICAgIGNvbnN0IHVub3JkZXJlZERlcHMgPSB7XG4gICAgICAuLi5kZWNka1BrZy5kZXBlbmRlbmNpZXMsXG4gICAgICBbcGFja2FnZU5hbWVdOiB2ZXJzaW9uXG4gICAgfTtcbiAgICBkZWNka1BrZy5kZXBlbmRlbmNpZXMgPSB7fTtcbiAgICBPYmplY3Qua2V5cyh1bm9yZGVyZWREZXBzKS5zb3J0KCkuZm9yRWFjaChrID0+IHtcbiAgICAgIGRlY2RrUGtnLmRlcGVuZGVuY2llc1trXSA9IHVub3JkZXJlZERlcHNba107XG4gICAgfSk7XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKGRlY2RrUGtnSnNvblBhdGgsIEpTT04uc3RyaW5naWZ5KGRlY2RrUGtnLCBudWxsLCAyKSArICdcXG4nKTtcbiAgfVxufVxuXG5tYWluKCkuY2F0Y2goZSA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoZSk7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn0pO1xuXG5hc3luYyBmdW5jdGlvbiBleGVjKGNvbW1hbmQ6IHN0cmluZykge1xuICBjb25zdCBjaGlsZCA9IGNoaWxkX3Byb2Nlc3Muc3Bhd24oY29tbWFuZCwgW10sIHtcbiAgICBzdGRpbzogWyAnaWdub3JlJywgJ2luaGVyaXQnLCAnaW5oZXJpdCcgXSxcbiAgICBzaGVsbDogdHJ1ZVxuICB9KTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChvaywgZmFpbCkgPT4ge1xuICAgIGNoaWxkLm9uY2UoJ2Vycm9yJywgZSA9PiBmYWlsKGUpKTtcbiAgICBjaGlsZC5vbmNlKCdleGl0JywgY29kZSA9PiB7XG4gICAgICBpZiAoY29kZSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gb2soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWlsKG5ldyBFcnJvcignbm9uLXplcm8gZXhpdCBjb2RlOiAnICsgY29kZSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHOztBQUVILCtDQUErQztBQUMvQywrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLGtDQUFrQztBQUVsQyxvQkFBb0I7QUFDcEIsNEJBQTRCO0FBQzVCLDJDQUEyQztBQUUzQyxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLDREQUE0RCxDQUFDLENBQUM7S0FDeEg7SUFFRCxpRUFBaUU7SUFDakUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBRW5ELDZDQUE2QztJQUM3QyxLQUFLLE1BQU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM1QyxNQUFNLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsU0FBUyxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RyxNQUFNLFVBQVUsR0FBRyxHQUFHLFlBQVksSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEcsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFaEQsTUFB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QUMsT0FBZTtJQUNqQyxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUU7UUFDN0MsS0FBSyxFQUFFLENBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUU7UUFDekMsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFDLENBQUM7SUFDSCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO1FBQzlCLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxFQUFFLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbi8qKlxuICogYXV0b21hdGljYWxseSBjcmVhdGVzIGEgbW9kdWxlIGZvciBhbnkgQ2xvdWRGb3JtYXRpb24gbmFtZXNwYWNlcyB0aGF0IGRvIG5vdFxuICogaGF2ZSBhbiBBV1MgY29uc3RydWN0IGxpYnJhcnkuXG4gKi9cblxuaW1wb3J0ICogYXMgY2hpbGRfcHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjZm5zcGVjIGZyb20gJy4uL2xpYic7XG5cbi8vIGRvbid0IGJlIGEgcHJ1ZGU6XG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby1jb25zb2xlXG4vLyB0c2xpbnQ6ZGlzYWJsZTpvYmplY3QtbGl0ZXJhbC1rZXktcXVvdGVzXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IHJvb3QgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nKTtcbiAgaWYgKHBhdGguYmFzZW5hbWUocm9vdCkgIT09ICdAYXdzLWNkaycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNvbWV0aGluZyB3ZW50IHdyb25nLiBXZSBleHBlY3RlZCAke3Jvb3R9IHRvIGJlIHRoZSBcInBhY2thZ2VzL0Bhd3MtY2RrXCIgZGlyZWN0b3J5LiBEaWQgeW91IG1vdmUgbWU/YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCB2ZXJzaW9uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuICAvLyBpdGVyYXRlIG92ZXIgYWxsIGNsb3VkZm9ybWF0aW9uIG5hbWVzcGFjZXNcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgY2Zuc3BlYy5uYW1lc3BhY2VzKCkpIHtcbiAgICBjb25zdCBbbW9kdWxlRmFtaWx5LCBtb2R1bGVCYXNlTmFtZV0gPSAobmFtZXNwYWNlID09PSAnQVdTOjpTZXJ2ZXJsZXNzJyA/ICdBV1M6OlNBTScgOiBuYW1lc3BhY2UpLnNwbGl0KCc6OicpO1xuXG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IGAke21vZHVsZUZhbWlseX0tJHttb2R1bGVCYXNlTmFtZS5yZXBsYWNlKC9WXFxkKyQvLCAnJyl9YC50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHBhY2thZ2VQYXRoID0gcGF0aC5qb2luKHJvb3QsIG1vZHVsZU5hbWUpO1xuXG4gICAgY29uc3QgbG93Y2FzZU1vZHVsZU5hbWUgPSBtb2R1bGVCYXNlTmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gYEBhd3MtY2RrLyR7bW9kdWxlTmFtZX1gO1xuXG4gICAgLy8gd2UgYWxyZWFkeSBoYXZlIGEgbW9kdWxlIGZvciB0aGlzIG5hbWVzYXBjZSwgbW92ZSBvbi5cbiAgICBpZiAoYXdhaXQgZnMucGF0aEV4aXN0cyhwYWNrYWdlUGF0aCkpIHtcbiAgICAgIGNvbnN0IHBhY2thZ2VKc29uUGF0aCA9IHBhdGguam9pbihwYWNrYWdlUGF0aCwgJ3BhY2thZ2UuanNvbicpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICAgIGNvbnN0IHBhY2thZ2VKc29uID0gcmVxdWlyZShwYWNrYWdlSnNvblBhdGgpO1xuICAgICAgbGV0IHNjb3Blczogc3RyaW5nIHwgc3RyaW5nW10gPSBwYWNrYWdlSnNvblsnY2RrLWJ1aWxkJ10uY2xvdWRmb3JtYXRpb247XG4gICAgICBpZiAodHlwZW9mIHNjb3BlcyA9PT0gJ3N0cmluZycpIHsgc2NvcGVzID0gW3Njb3Blc107IH1cbiAgICAgIGlmIChzY29wZXMuaW5kZXhPZihuYW1lc3BhY2UpICE9PSAtMSkge1xuICAgICAgICAvLyBWMi1zdHlsZSBtb2R1bGUgaXMgYWxyZWFkeSBtb2RlbGVkIGluIHRoZSByb290IHBhY2thZ2UsIG5vdGhpbmcgdG8gYmUgZG9uZSFcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2UgaWYgKGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHJvb3QsIGAke21vZHVsZUZhbWlseX0tJHttb2R1bGVCYXNlTmFtZX1gLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSkge1xuICAgICAgICAvLyBWMi1zdHlsZSBwYWNrYWdlIGFscmVhZHkgaGFzIGl0J3Mgb3duIHBhY2thZ2UgKGxlZ2FjeSBiZWhhdmlvciksIG5vdGhpbmcgdG8gYmUgZG9uZSFcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBWMi1zdHlsZSBwYWNrYWdlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIGl0J3MgXCJWMVwiIHBhY2thZ2UuLi4gR2V0IGRvd24gdG8gYnVzaW5lc3MhXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEFkZGluZyAke25hbWVzcGFjZX0gdG8gJHtwYWNrYWdlTmFtZX1gKTtcbiAgICAgICAgc2NvcGVzLnB1c2gobmFtZXNwYWNlKTtcbiAgICAgICAgcGFja2FnZUpzb25bJ2Nkay1idWlsZCddLmNsb3VkZm9ybWF0aW9uID0gc2NvcGVzO1xuICAgICAgICBhd2FpdCBmcy53cml0ZUpzb24ocGFja2FnZUpzb25QYXRoLCBwYWNrYWdlSnNvbiwgeyBlbmNvZGluZzogJ3V0Zi04Jywgc3BhY2VzOiAyIH0pO1xuICAgICAgICBjb25zdCBpbmRleFRzUGF0aCA9IHBhdGguam9pbihwYWNrYWdlUGF0aCwgJ2xpYicsICdpbmRleC50cycpO1xuICAgICAgICBjb25zdCBpbmRleFRzID0gW1xuICAgICAgICAgIChhd2FpdCBmcy5yZWFkRmlsZShpbmRleFRzUGF0aCwgeyBlbmNvZGluZzogJ3V0ZjgnIH0pKS50cmltUmlnaHQoKSxcbiAgICAgICAgICBgLy8gJHtuYW1lc3BhY2V9IENsb3VkRm9ybWF0aW9uIFJlc291cmNlczpgLFxuICAgICAgICAgIGBleHBvcnQgKiBmcm9tICcuLyR7bG93Y2FzZU1vZHVsZU5hbWV9LmdlbmVyYXRlZCc7YFxuICAgICAgICBdLmpvaW4oJ1xcbicpO1xuICAgICAgICBhd2FpdCBmcy53cml0ZUZpbGUoaW5kZXhUc1BhdGgsIGluZGV4VHMsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZG90bmV0IG5hbWVzXG4gICAgY29uc3QgZG90bmV0UGFja2FnZSA9IGBBbWF6b24uQ0RLLiR7bW9kdWxlRmFtaWx5fS4ke21vZHVsZUJhc2VOYW1lfWA7XG5cbiAgICAvLyBqYXZhIG5hbWVzXG4gICAgY29uc3QgamF2YUdyb3VwSWQgPSAnc29mdHdhcmUuYW1hem9uLmF3c2Nkayc7XG4gICAgY29uc3QgamF2YVBhY2thZ2UgPSBtb2R1bGVGYW1pbHkgPT09ICdBV1MnXG4gICAgICA/IGBzZXJ2aWNlcy4ke2xvd2Nhc2VNb2R1bGVOYW1lfWBcbiAgICAgIDogYCR7bW9kdWxlRmFtaWx5LnRvTG9jYWxlTG93ZXJDYXNlKCl9LiR7bG93Y2FzZU1vZHVsZU5hbWV9YDtcbiAgICBjb25zdCBqYXZhQXJ0aWZhY3RJZCA9IG1vZHVsZUZhbWlseSA9PT0gJ0FXUydcbiAgICAgID8gbG93Y2FzZU1vZHVsZU5hbWVcbiAgICAgIDogYCR7bW9kdWxlRmFtaWx5LnRvTG9jYWxlTG93ZXJDYXNlKCl9LSR7bG93Y2FzZU1vZHVsZU5hbWV9YDtcblxuICAgIC8vIHB5dGhvbiBuYW1lc1xuICAgIGNvbnN0IHB5dGhvbkRpc3ROYW1lID0gYGF3cy1jZGsuJHttb2R1bGVOYW1lfWA7XG4gICAgY29uc3QgcHl0aG9uTW9kdWxlTmFtZSA9IHB5dGhvbkRpc3ROYW1lLnJlcGxhY2UoLy0vZywgXCJfXCIpO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gd3JpdGUocmVsYXRpdmVQYXRoOiBzdHJpbmcsIGNvbnRlbnRzOiBzdHJpbmdbXSB8IHN0cmluZyB8IG9iamVjdCkge1xuICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsIHJlbGF0aXZlUGF0aCk7XG4gICAgICBjb25zdCBkaXIgPSBwYXRoLmRpcm5hbWUoZnVsbFBhdGgpO1xuICAgICAgYXdhaXQgZnMubWtkaXJwKGRpcik7XG5cbiAgICAgIGxldCBkYXRhO1xuICAgICAgaWYgKHR5cGVvZiBjb250ZW50cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZGF0YSA9IGNvbnRlbnRzLnRyaW1MZWZ0KCk7IC8vIHRyaW0gZmlyc3QgbmV3bGluZVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNvbnRlbnRzKSkge1xuICAgICAgICBkYXRhID0gY29udGVudHMuam9pbignXFxuJyk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZW50cyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZGF0YSA9IEpTT04uc3RyaW5naWZ5KGNvbnRlbnRzLCB1bmRlZmluZWQsIDIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHR5cGUgb2YgY29udGVudHM6ICcgKyBjb250ZW50cyk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShmdWxsUGF0aCwgZGF0YSArICdcXG4nKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgZ2VuZXJhdGluZyBtb2R1bGUgZm9yICR7cGFja2FnZU5hbWV9Li4uYCk7XG5cbiAgICBhd2FpdCB3cml0ZSgncGFja2FnZS5qc29uJywge1xuICAgICAgbmFtZTogcGFja2FnZU5hbWUsXG4gICAgICB2ZXJzaW9uLFxuICAgICAgZGVzY3JpcHRpb246IGBUaGUgQ0RLIENvbnN0cnVjdCBMaWJyYXJ5IGZvciAke25hbWVzcGFjZX1gLFxuICAgICAgbWFpbjogJ2xpYi9pbmRleC5qcycsXG4gICAgICB0eXBlczogJ2xpYi9pbmRleC5kLnRzJyxcbiAgICAgIGpzaWk6IHtcbiAgICAgICAgb3V0ZGlyOiAnZGlzdCcsXG4gICAgICAgIHRhcmdldHM6IHtcbiAgICAgICAgICBkb3RuZXQ6IHtcbiAgICAgICAgICAgIG5hbWVzcGFjZTogZG90bmV0UGFja2FnZSxcbiAgICAgICAgICAgIHBhY2thZ2VJZDogZG90bmV0UGFja2FnZSxcbiAgICAgICAgICAgIHNpZ25Bc3NlbWJseTogdHJ1ZSxcbiAgICAgICAgICAgIGFzc2VtYmx5T3JpZ2luYXRvcktleUZpbGU6IFwiLi4vLi4va2V5LnNua1wiLFxuICAgICAgICAgICAgaWNvblVybDogXCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXdzL2F3cy1jZGsvbWFzdGVyL2xvZ28vZGVmYXVsdC0yNTYtZGFyay5wbmdcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgamF2YToge1xuICAgICAgICAgICAgcGFja2FnZTogYCR7amF2YUdyb3VwSWR9LiR7amF2YVBhY2thZ2V9YCxcbiAgICAgICAgICAgIG1hdmVuOiB7XG4gICAgICAgICAgICAgIGdyb3VwSWQ6IGphdmFHcm91cElkLFxuICAgICAgICAgICAgICBhcnRpZmFjdElkOiBqYXZhQXJ0aWZhY3RJZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcHl0aG9uOiB7XG4gICAgICAgICAgICBkaXN0TmFtZTogcHl0aG9uRGlzdE5hbWUsXG4gICAgICAgICAgICBtb2R1bGU6IHB5dGhvbk1vZHVsZU5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZXBvc2l0b3J5OiB7XG4gICAgICAgIHR5cGU6IFwiZ2l0XCIsXG4gICAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsuZ2l0XCIsXG4gICAgICAgIGRpcmVjdG9yeTogYHBhY2thZ2VzLyR7cGFja2FnZU5hbWV9YCxcbiAgICAgIH0sXG4gICAgICBob21lcGFnZTogXCJodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGtcIixcbiAgICAgIHNjcmlwdHM6IHtcbiAgICAgICAgYnVpbGQ6IFwiY2RrLWJ1aWxkXCIsXG4gICAgICAgIHdhdGNoOiBcImNkay13YXRjaFwiLFxuICAgICAgICBsaW50OiBcImNkay1saW50XCIsXG4gICAgICAgIHRlc3Q6IFwiY2RrLXRlc3RcIixcbiAgICAgICAgaW50ZWc6IFwiY2RrLWludGVnXCIsXG4gICAgICAgIHBrZ2xpbnQ6IFwicGtnbGludCAtZlwiLFxuICAgICAgICBwYWNrYWdlOiBcImNkay1wYWNrYWdlXCIsXG4gICAgICAgIGF3c2xpbnQ6IFwiY2RrLWF3c2xpbnRcIixcbiAgICAgICAgY2ZuMnRzOiBcImNmbjJ0c1wiLFxuICAgICAgICAnYnVpbGQrdGVzdCtwYWNrYWdlJzogXCJucG0gcnVuIGJ1aWxkK3Rlc3QgJiYgbnBtIHJ1biBwYWNrYWdlXCIsXG4gICAgICAgICdidWlsZCt0ZXN0JzogXCJucG0gcnVuIGJ1aWxkICYmIG5wbSB0ZXN0XCIsXG4gICAgICAgIGNvbXBhdDogXCJjZGstY29tcGF0XCJcbiAgICAgIH0sXG4gICAgICAnY2RrLWJ1aWxkJzoge1xuICAgICAgICBjbG91ZGZvcm1hdGlvbjogbmFtZXNwYWNlXG4gICAgICB9LFxuICAgICAga2V5d29yZHM6IFtcbiAgICAgICAgXCJhd3NcIixcbiAgICAgICAgXCJjZGtcIixcbiAgICAgICAgXCJjb25zdHJ1Y3RzXCIsXG4gICAgICAgIG5hbWVzcGFjZSxcbiAgICAgICAgbW9kdWxlTmFtZVxuICAgICAgXSxcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICBuYW1lOiBcIkFtYXpvbiBXZWIgU2VydmljZXNcIixcbiAgICAgICAgdXJsOiBcImh0dHBzOi8vYXdzLmFtYXpvbi5jb21cIixcbiAgICAgICAgb3JnYW5pemF0aW9uOiB0cnVlXG4gICAgICB9LFxuICAgICAgamVzdDoge30sXG4gICAgICBsaWNlbnNlOiBcIkFwYWNoZS0yLjBcIixcbiAgICAgIGRldkRlcGVuZGVuY2llczoge1xuICAgICAgICBcIkBhd3MtY2RrL2Fzc2VydFwiOiB2ZXJzaW9uLFxuICAgICAgICBcImNkay1idWlsZC10b29sc1wiOiB2ZXJzaW9uLFxuICAgICAgICBcImNmbjJ0c1wiOiB2ZXJzaW9uLFxuICAgICAgICBcInBrZ2xpbnRcIjogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBkZXBlbmRlbmNpZXM6IHtcbiAgICAgICAgXCJAYXdzLWNkay9jb3JlXCI6IHZlcnNpb24sXG4gICAgICB9LFxuICAgICAgcGVlckRlcGVuZGVuY2llczoge1xuICAgICAgICBcIkBhd3MtY2RrL2NvcmVcIjogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBlbmdpbmVzOiB7XG4gICAgICAgIG5vZGU6ICc+PSAxMC4zLjAnXG4gICAgICB9LFxuICAgICAgc3RhYmlsaXR5OiBcImV4cGVyaW1lbnRhbFwiXG4gICAgfSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnLmdpdGlnbm9yZScsIFtcbiAgICAgICcqLmpzJyxcbiAgICAgICcqLmpzLm1hcCcsXG4gICAgICAnKi5kLnRzJyxcbiAgICAgICd0c2NvbmZpZy5qc29uJyxcbiAgICAgICd0c2xpbnQuanNvbicsXG4gICAgICAnbm9kZV9tb2R1bGVzJyxcbiAgICAgICcqLmdlbmVyYXRlZC50cycsXG4gICAgICAnZGlzdCcsXG4gICAgICAnLmpzaWknLFxuICAgICAgJycsXG4gICAgICAnLkxBU1RfQlVJTEQnLFxuICAgICAgJy5ueWNfb3V0cHV0JyxcbiAgICAgICdjb3ZlcmFnZScsXG4gICAgICAnLm55Y3JjJyxcbiAgICAgICcuTEFTVF9QQUNLQUdFJyxcbiAgICAgICcqLnNuaycsXG4gICAgICAnbnljLmNvbmZpZy5qcydcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKCcubnBtaWdub3JlJywgW1xuICAgICAgJyMgRG9uXFwndCBpbmNsdWRlIG9yaWdpbmFsIC50cyBmaWxlcyB3aGVuIGRvaW5nIGBucG0gcGFja2AnLFxuICAgICAgJyoudHMnLFxuICAgICAgJyEqLmQudHMnLFxuICAgICAgJ2NvdmVyYWdlJyxcbiAgICAgICcubnljX291dHB1dCcsXG4gICAgICAnKi50Z3onLFxuICAgICAgJycsXG4gICAgICAnZGlzdCcsXG4gICAgICAnLkxBU1RfUEFDS0FHRScsXG4gICAgICAnLkxBU1RfQlVJTEQnLFxuICAgICAgJyEqLmpzJyxcbiAgICAgICcnLFxuICAgICAgJyMgSW5jbHVkZSAuanNpaScsXG4gICAgICAnIS5qc2lpJyxcbiAgICAgICcnLFxuICAgICAgJyouc25rJyxcbiAgICAgICcnLFxuICAgICAgJyoudHNidWlsZGluZm8nLFxuICAgICAgJycsXG4gICAgICAndHNjb25maWcuanNvbicsXG4gICAgXSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnbGliL2luZGV4LnRzJywgW1xuICAgICAgYC8vICR7bmFtZXNwYWNlfSBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZXM6YCxcbiAgICAgIGBleHBvcnQgKiBmcm9tICcuLyR7bG93Y2FzZU1vZHVsZU5hbWV9LmdlbmVyYXRlZCc7YFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoYHRlc3QvJHtsb3djYXNlTW9kdWxlTmFtZX0udGVzdC50c2AsIFtcbiAgICAgIFwiaW1wb3J0ICdAYXdzLWNkay9hc3NlcnQvamVzdCc7XCIsXG4gICAgICBcImltcG9ydCB7fSBmcm9tICcuLi9saWInO1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwidGVzdCgnTm8gdGVzdHMgYXJlIHNwZWNpZmllZCBmb3IgdGhpcyBwYWNrYWdlJywgKCkgPT4ge1wiLFxuICAgICAgXCIgIGV4cGVjdCh0cnVlKS50b0JlKHRydWUpO1wiLFxuICAgICAgXCJ9KTtcIixcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKCdSRUFETUUubWQnLCBbXG4gICAgICBgIyMgJHtuYW1lc3BhY2V9IENvbnN0cnVjdCBMaWJyYXJ5YCxcbiAgICAgICc8IS0tQkVHSU4gU1RBQklMSVRZIEJBTk5FUi0tPicsXG4gICAgICAnJyxcbiAgICAgICctLS0nLFxuICAgICAgJycsXG4gICAgICAnIVtTdGFiaWxpdHk6IEV4cGVyaW1lbnRhbF0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9zdGFiaWxpdHktRXhwZXJpbWVudGFsLWltcG9ydGFudC5zdmc/c3R5bGU9Zm9yLXRoZS1iYWRnZSknLFxuICAgICAgJycsXG4gICAgICAnPiAqKlRoaXMgaXMgYSBfZGV2ZWxvcGVyIHByZXZpZXdfIChwdWJsaWMgYmV0YSkgbW9kdWxlLiBSZWxlYXNlcyBtaWdodCBsYWNrIGltcG9ydGFudCBmZWF0dXJlcyBhbmQgbWlnaHQgaGF2ZScsXG4gICAgICAnPiBmdXR1cmUgYnJlYWtpbmcgY2hhbmdlcy4qKicsXG4gICAgICAnPicsXG4gICAgICAnPiBUaGlzIEFQSSBpcyBzdGlsbCB1bmRlciBhY3RpdmUgZGV2ZWxvcG1lbnQgYW5kIHN1YmplY3QgdG8gbm9uLWJhY2t3YXJkJyxcbiAgICAgICc+IGNvbXBhdGlibGUgY2hhbmdlcyBvciByZW1vdmFsIGluIGFueSBmdXR1cmUgdmVyc2lvbi4gVXNlIG9mIHRoZSBBUEkgaXMgbm90IHJlY29tbWVuZGVkIGluIHByb2R1Y3Rpb24nLFxuICAgICAgJz4gZW52aXJvbm1lbnRzLiBFeHBlcmltZW50YWwgQVBJcyBhcmUgbm90IHN1YmplY3QgdG8gdGhlIFNlbWFudGljIFZlcnNpb25pbmcgbW9kZWwuJyxcbiAgICAgICcnLFxuICAgICAgJy0tLScsXG4gICAgICAnPCEtLUVORCBTVEFCSUxJVFkgQkFOTkVSLS0+JyxcbiAgICAgICcnLFxuICAgICAgJ1RoaXMgbW9kdWxlIGlzIHBhcnQgb2YgdGhlIFtBV1MgQ2xvdWQgRGV2ZWxvcG1lbnQgS2l0XShodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGspIHByb2plY3QuJyxcbiAgICAgICcnLFxuICAgICAgJ2BgYHRzJyxcbiAgICAgIGBpbXBvcnQgJHtsb3djYXNlTW9kdWxlTmFtZX0gPSByZXF1aXJlKCcke3BhY2thZ2VOYW1lfScpO2AsXG4gICAgICAnYGBgJyxcbiAgICBdKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlRGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ3RlbXBsYXRlJyk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGF3YWl0IGZzLnJlYWRkaXIodGVtcGxhdGVEaXIpKSB7XG4gICAgICBhd2FpdCBmcy5jb3B5KHBhdGguam9pbih0ZW1wbGF0ZURpciwgZmlsZSksIHBhdGguam9pbihwYWNrYWdlUGF0aCwgZmlsZSkpO1xuICAgIH1cblxuICAgIC8vIGJ1aWxkIHRoZSBwYWNrYWdlXG4gICAgY29uc3QgbGVybmEgPSBwYXRoLmpvaW4ocGF0aC5kaXJuYW1lKHJlcXVpcmUucmVzb2x2ZSgnbGVybmEvcGFja2FnZS5qc29uJykpLCAnY2xpLmpzJyk7XG4gICAgYXdhaXQgZXhlYyhgJHtsZXJuYX0gcnVuIC0tcHJvZ3Jlc3MgYnVpbGQgLS1zY29wZSAke3BhY2thZ2VOYW1lfWApO1xuXG4gICAgLy8gdXBkYXRlIGRlY2RrXG4gICAgY29uc3QgZGVjZGtQa2dKc29uUGF0aCA9IHBhdGguam9pbihyZXF1aXJlLnJlc29sdmUoJ2RlY2RrJyksICcuLicsICcuLicsICdwYWNrYWdlLmpzb24nKTtcbiAgICBjb25zdCBkZWNka1BrZyA9IEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUoZGVjZGtQa2dKc29uUGF0aCwgJ3V0ZjgnKSk7XG4gICAgY29uc3QgdW5vcmRlcmVkRGVwcyA9IHtcbiAgICAgIC4uLmRlY2RrUGtnLmRlcGVuZGVuY2llcyxcbiAgICAgIFtwYWNrYWdlTmFtZV06IHZlcnNpb25cbiAgICB9O1xuICAgIGRlY2RrUGtnLmRlcGVuZGVuY2llcyA9IHt9O1xuICAgIE9iamVjdC5rZXlzKHVub3JkZXJlZERlcHMpLnNvcnQoKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgZGVjZGtQa2cuZGVwZW5kZW5jaWVzW2tdID0gdW5vcmRlcmVkRGVwc1trXTtcbiAgICB9KTtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUoZGVjZGtQa2dKc29uUGF0aCwgSlNPTi5zdHJpbmdpZnkoZGVjZGtQa2csIG51bGwsIDIpICsgJ1xcbicpO1xuICB9XG59XG5cbm1haW4oKS5jYXRjaChlID0+IHtcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG5cbmFzeW5jIGZ1bmN0aW9uIGV4ZWMoY29tbWFuZDogc3RyaW5nKSB7XG4gIGNvbnN0IGNoaWxkID0gY2hpbGRfcHJvY2Vzcy5zcGF3bihjb21tYW5kLCBbXSwge1xuICAgIHN0ZGlvOiBbICdpZ25vcmUnLCAnaW5oZXJpdCcsICdpbmhlcml0JyBdLFxuICAgIHNoZWxsOiB0cnVlXG4gIH0pO1xuICByZXR1cm4gbmV3IFByb21pc2UoKG9rLCBmYWlsKSA9PiB7XG4gICAgY2hpbGQub25jZSgnZXJyb3InLCBlID0+IGZhaWwoZSkpO1xuICAgIGNoaWxkLm9uY2UoJ2V4aXQnLCBjb2RlID0+IHtcbiAgICAgIGlmIChjb2RlID09PSAwKSB7XG4gICAgICAgIHJldHVybiBvaygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhaWwobmV3IEVycm9yKCdub24temVybyBleGl0IGNvZGU6ICcgKyBjb2RlKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
{
"name": "@aws-cdk/cfnspec",
"description": "The CloudFormation resource specification used by @aws-cdk packages",
"version": "1.24.0",
"version": "1.25.0",
"scripts": {

@@ -28,3 +28,3 @@ "update": "cdk-build && /bin/bash build-tools/update.sh",

"@types/nodeunit": "^0.0.30",
"cdk-build-tools": "1.24.0",
"cdk-build-tools": "1.25.0",
"fast-json-patch": "^2.2.1",

@@ -34,3 +34,3 @@ "fs-extra": "^8.1.0",

"nodeunit": "^0.11.3",
"pkglint": "1.24.0",
"pkglint": "1.25.0",
"sort-json": "^2.0.0"

@@ -37,0 +37,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc