@aws-cdk-testing/cli-integ 3.15.0 → 3.15.1

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/package.json CHANGED
@@ -39,9 +39,9 @@
39
39
  "organization": true
40
40
  },
41
41
  "devDependencies": {
42
- "@aws-cdk/toolkit-lib": "1.4.1",
42
+ "@aws-cdk/toolkit-lib": "1.6.0",
43
43
  "@aws-cdk/yarn-cling": "0.0.0",
44
- "@cdklabs/eslint-plugin": "^1.3.2",
44
+ "@cdklabs/eslint-plugin": "^1.3.3",
45
45
  "@stylistic/eslint-plugin": "^3",
46
46
  "@types/fs-extra": "^9",
47
47
  "@types/jest": "^29.5.14",
@@ -58,7 +58,7 @@
58
58
  "eslint-plugin-import": "^2.32.0",
59
59
  "eslint-plugin-jest": "^28.14.0",
60
60
  "eslint-plugin-jsdoc": "^50.8.0",
61
- "eslint-plugin-prettier": "^5.5.3",
61
+ "eslint-plugin-prettier": "^5.5.4",
62
62
  "jest": "^29.7.0",
63
63
  "jest-junit": "^16",
64
64
  "license-checker": "^25.0.1",
@@ -67,23 +67,23 @@
67
67
  "typescript": "5.8"
68
68
  },
69
69
  "dependencies": {
70
- "@aws-sdk/client-cloudformation": "^3.859.0",
71
- "@aws-sdk/client-codeartifact": "^3.859.0",
72
- "@aws-sdk/client-ecr": "^3.859.0",
73
- "@aws-sdk/client-ecr-public": "^3.859.0",
74
- "@aws-sdk/client-ecs": "^3.859.0",
75
- "@aws-sdk/client-iam": "^3.859.0",
76
- "@aws-sdk/client-lambda": "^3.859.0",
77
- "@aws-sdk/client-s3": "^3.859.0",
78
- "@aws-sdk/client-secrets-manager": "^3.859.0",
79
- "@aws-sdk/client-sns": "^3.859.0",
80
- "@aws-sdk/client-sso": "^3.858.0",
81
- "@aws-sdk/client-sts": "^3.859.0",
82
- "@aws-sdk/credential-providers": "^3.859.0",
83
- "@cdklabs/cdk-atmosphere-client": "^0.0.59",
70
+ "@aws-sdk/client-cloudformation": "^3.864.0",
71
+ "@aws-sdk/client-codeartifact": "^3.864.0",
72
+ "@aws-sdk/client-ecr": "^3.864.0",
73
+ "@aws-sdk/client-ecr-public": "^3.864.0",
74
+ "@aws-sdk/client-ecs": "^3.864.0",
75
+ "@aws-sdk/client-iam": "^3.864.0",
76
+ "@aws-sdk/client-lambda": "^3.865.0",
77
+ "@aws-sdk/client-s3": "^3.864.0",
78
+ "@aws-sdk/client-secrets-manager": "^3.864.0",
79
+ "@aws-sdk/client-sns": "^3.864.0",
80
+ "@aws-sdk/client-sso": "^3.864.0",
81
+ "@aws-sdk/client-sts": "^3.864.0",
82
+ "@aws-sdk/credential-providers": "^3.864.0",
83
+ "@cdklabs/cdk-atmosphere-client": "^0.0.61",
84
84
  "@octokit/rest": "^20",
85
- "@smithy/types": "^4.3.1",
86
- "@smithy/util-retry": "^4.0.6",
85
+ "@smithy/types": "^4.3.2",
86
+ "@smithy/util-retry": "^4.0.7",
87
87
  "axios": "^1",
88
88
  "chalk": "^4",
89
89
  "fs-extra": "^9",
@@ -116,7 +116,7 @@
116
116
  "publishConfig": {
117
117
  "access": "public"
118
118
  },
119
- "version": "3.15.0",
119
+ "version": "3.15.1",
120
120
  "types": "lib/index.d.ts",
121
121
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
122
122
  }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const client_sts_1 = require("@aws-sdk/client-sts");
4
+ const lib_1 = require("../../../lib");
5
+ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
6
+ (0, lib_1.integTest)('deploy role cannot be assumed with external id', (0, lib_1.withoutBootstrap)(async (fixture) => {
7
+ const bootstrapStackName = fixture.bootstrapStackName;
8
+ await fixture.cdkBootstrapModern({
9
+ toolkitStackName: bootstrapStackName,
10
+ cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
11
+ });
12
+ const account = await fixture.aws.account();
13
+ const deployRoleArn = `arn:aws:iam::${account}:role/cdk-${fixture.qualifier}-deploy-role-${account}-${fixture.aws.region}`;
14
+ // Attempt to assume the deploy role with an external ID should fail
15
+ await expect(fixture.aws.sts.send(new client_sts_1.AssumeRoleCommand({
16
+ RoleArn: deployRoleArn,
17
+ RoleSessionName: 'test-external-id-failure',
18
+ ExternalId: 'some-external-id',
19
+ }))).rejects.toThrow();
20
+ }));
21
+ (0, lib_1.integTest)('deploy role can be assumed with ExternalId if protection is switched off', (0, lib_1.withoutBootstrap)(async (fixture) => {
22
+ const bootstrapStackName = fixture.bootstrapStackName;
23
+ await fixture.cdkBootstrapModern({
24
+ toolkitStackName: bootstrapStackName,
25
+ cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
26
+ denyExternalId: false,
27
+ });
28
+ const account = await fixture.aws.account();
29
+ const deployRoleArn = `arn:aws:iam::${account}:role/cdk-${fixture.qualifier}-deploy-role-${account}-${fixture.aws.region}`;
30
+ // Attempt to assume the deploy role with an external ID should fail
31
+ await expect(fixture.aws.sts.send(new client_sts_1.AssumeRoleCommand({
32
+ RoleArn: deployRoleArn,
33
+ RoleSessionName: 'test-external-id-failure',
34
+ ExternalId: 'some-external-id',
35
+ }))).resolves.toBeTruthy();
36
+ }));
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWJvb3RzdHJhcC1kZXBsb3ktcm9sZS1jYW5ub3QtYmUtYXNzdW1lZC13aXRoLWV4dGVybmFsLWlkLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1ib290c3RyYXAtZGVwbG95LXJvbGUtY2Fubm90LWJlLWFzc3VtZWQtd2l0aC1leHRlcm5hbC1pZC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvREFBd0Q7QUFDeEQsc0NBQTJEO0FBRTNELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFBQyxnREFBZ0QsRUFBRSxJQUFBLHNCQUFnQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUM3RixNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztJQUV0RCxNQUFNLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUMvQixnQkFBZ0IsRUFBRSxrQkFBa0I7UUFDcEMsa0JBQWtCLEVBQUUsNkNBQTZDO0tBQ2xFLENBQUMsQ0FBQztJQUVILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1QyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsT0FBTyxhQUFhLE9BQU8sQ0FBQyxTQUFTLGdCQUFnQixPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUUzSCxvRUFBb0U7SUFDcEUsTUFBTSxNQUFNLENBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksOEJBQWlCLENBQUM7UUFDekMsT0FBTyxFQUFFLGFBQWE7UUFDdEIsZUFBZSxFQUFFLDBCQUEwQjtRQUMzQyxVQUFVLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxDQUNKLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFSixJQUFBLGVBQVMsRUFBQywwRUFBMEUsRUFBRSxJQUFBLHNCQUFnQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUN2SCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztJQUV0RCxNQUFNLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUMvQixnQkFBZ0IsRUFBRSxrQkFBa0I7UUFDcEMsa0JBQWtCLEVBQUUsNkNBQTZDO1FBQ2pFLGNBQWMsRUFBRSxLQUFLO0tBQ3RCLENBQUMsQ0FBQztJQUVILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1QyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsT0FBTyxhQUFhLE9BQU8sQ0FBQyxTQUFTLGdCQUFnQixPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUUzSCxvRUFBb0U7SUFDcEUsTUFBTSxNQUFNLENBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksOEJBQWlCLENBQUM7UUFDekMsT0FBTyxFQUFFLGFBQWE7UUFDdEIsZUFBZSxFQUFFLDBCQUEwQjtRQUMzQyxVQUFVLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxDQUNKLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3N1bWVSb2xlQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zdHMnO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRob3V0Qm9vdHN0cmFwIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KCdkZXBsb3kgcm9sZSBjYW5ub3QgYmUgYXNzdW1lZCB3aXRoIGV4dGVybmFsIGlkJywgd2l0aG91dEJvb3RzdHJhcChhc3luYyAoZml4dHVyZSkgPT4ge1xuICBjb25zdCBib290c3RyYXBTdGFja05hbWUgPSBmaXh0dXJlLmJvb3RzdHJhcFN0YWNrTmFtZTtcblxuICBhd2FpdCBmaXh0dXJlLmNka0Jvb3RzdHJhcE1vZGVybih7XG4gICAgdG9vbGtpdFN0YWNrTmFtZTogYm9vdHN0cmFwU3RhY2tOYW1lLFxuICAgIGNmbkV4ZWN1dGlvblBvbGljeTogJ2Fybjphd3M6aWFtOjphd3M6cG9saWN5L0FkbWluaXN0cmF0b3JBY2Nlc3MnLFxuICB9KTtcblxuICBjb25zdCBhY2NvdW50ID0gYXdhaXQgZml4dHVyZS5hd3MuYWNjb3VudCgpO1xuICBjb25zdCBkZXBsb3lSb2xlQXJuID0gYGFybjphd3M6aWFtOjoke2FjY291bnR9OnJvbGUvY2RrLSR7Zml4dHVyZS5xdWFsaWZpZXJ9LWRlcGxveS1yb2xlLSR7YWNjb3VudH0tJHtmaXh0dXJlLmF3cy5yZWdpb259YDtcblxuICAvLyBBdHRlbXB0IHRvIGFzc3VtZSB0aGUgZGVwbG95IHJvbGUgd2l0aCBhbiBleHRlcm5hbCBJRCBzaG91bGQgZmFpbFxuICBhd2FpdCBleHBlY3QoXG4gICAgZml4dHVyZS5hd3Muc3RzLnNlbmQobmV3IEFzc3VtZVJvbGVDb21tYW5kKHtcbiAgICAgIFJvbGVBcm46IGRlcGxveVJvbGVBcm4sXG4gICAgICBSb2xlU2Vzc2lvbk5hbWU6ICd0ZXN0LWV4dGVybmFsLWlkLWZhaWx1cmUnLFxuICAgICAgRXh0ZXJuYWxJZDogJ3NvbWUtZXh0ZXJuYWwtaWQnLFxuICAgIH0pKSxcbiAgKS5yZWplY3RzLnRvVGhyb3coKTtcbn0pKTtcblxuaW50ZWdUZXN0KCdkZXBsb3kgcm9sZSBjYW4gYmUgYXNzdW1lZCB3aXRoIEV4dGVybmFsSWQgaWYgcHJvdGVjdGlvbiBpcyBzd2l0Y2hlZCBvZmYnLCB3aXRob3V0Qm9vdHN0cmFwKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gIGNvbnN0IGJvb3RzdHJhcFN0YWNrTmFtZSA9IGZpeHR1cmUuYm9vdHN0cmFwU3RhY2tOYW1lO1xuXG4gIGF3YWl0IGZpeHR1cmUuY2RrQm9vdHN0cmFwTW9kZXJuKHtcbiAgICB0b29sa2l0U3RhY2tOYW1lOiBib290c3RyYXBTdGFja05hbWUsXG4gICAgY2ZuRXhlY3V0aW9uUG9saWN5OiAnYXJuOmF3czppYW06OmF3czpwb2xpY3kvQWRtaW5pc3RyYXRvckFjY2VzcycsXG4gICAgZGVueUV4dGVybmFsSWQ6IGZhbHNlLFxuICB9KTtcblxuICBjb25zdCBhY2NvdW50ID0gYXdhaXQgZml4dHVyZS5hd3MuYWNjb3VudCgpO1xuICBjb25zdCBkZXBsb3lSb2xlQXJuID0gYGFybjphd3M6aWFtOjoke2FjY291bnR9OnJvbGUvY2RrLSR7Zml4dHVyZS5xdWFsaWZpZXJ9LWRlcGxveS1yb2xlLSR7YWNjb3VudH0tJHtmaXh0dXJlLmF3cy5yZWdpb259YDtcblxuICAvLyBBdHRlbXB0IHRvIGFzc3VtZSB0aGUgZGVwbG95IHJvbGUgd2l0aCBhbiBleHRlcm5hbCBJRCBzaG91bGQgZmFpbFxuICBhd2FpdCBleHBlY3QoXG4gICAgZml4dHVyZS5hd3Muc3RzLnNlbmQobmV3IEFzc3VtZVJvbGVDb21tYW5kKHtcbiAgICAgIFJvbGVBcm46IGRlcGxveVJvbGVBcm4sXG4gICAgICBSb2xlU2Vzc2lvbk5hbWU6ICd0ZXN0LWV4dGVybmFsLWlkLWZhaWx1cmUnLFxuICAgICAgRXh0ZXJuYWxJZDogJ3NvbWUtZXh0ZXJuYWwtaWQnLFxuICAgIH0pKSxcbiAgKS5yZXNvbHZlcy50b0JlVHJ1dGh5KCk7XG59KSk7XG4iXX0=
@@ -69,13 +69,16 @@ async function testDockerCredential(fixture, credSource) {
69
69
  const input = path.join(fixture.integTestDir, 'input.txt');
70
70
  fs.writeFileSync(input, `${domain}\n`);
71
71
  await fixture.cdkAssets.makeCliAvailable();
72
- const output = await fixture.shell(['docker-credential-cdk-assets', 'get'], {
73
- modEnv: {
74
- ...fixture.cdkShellEnv(),
75
- CDK_DOCKER_CREDS_FILE: credsFilePath,
76
- },
77
- stdio: [fs.openSync(input, 'r')],
78
- captureStderr: false,
72
+ let output = '';
73
+ await (0, lib_1.retry)(process.stdout, 'Getting docker credentials', lib_1.retry.forSeconds(60), async () => {
74
+ output = await fixture.shell(['docker-credential-cdk-assets', 'get'], {
75
+ modEnv: {
76
+ ...fixture.cdkShellEnv(),
77
+ CDK_DOCKER_CREDS_FILE: credsFilePath,
78
+ },
79
+ stdio: [fs.openSync(input, 'r')],
80
+ captureStderr: false,
81
+ });
79
82
  });
80
83
  const response = JSON.parse(output);
81
84
  expect(response).toMatchObject({
@@ -83,4 +86,4 @@ async function testDockerCredential(fixture, credSource) {
83
86
  Secret: expect.anything(),
84
87
  });
85
88
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFzc2V0cy1kb2NrZXItY3JlZGVudGlhbC5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstYXNzZXRzLWRvY2tlci1jcmVkZW50aWFsLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsOEZBQThGO0FBQzlGLG9EQUErRDtBQUkvRCxzQ0FBd0U7QUFFeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLHdFQUF3RSxFQUN4RSxJQUFBLGVBQVMsRUFBQyxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLHFDQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFNUUsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUU7UUFDL0Q7WUFDRSxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUU7U0FDbkM7S0FDRixFQUFFO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsT0FBTztZQUNmLFFBQVEsRUFBRSxHQUFHO1lBQ2IsTUFBTSxFQUFFLENBQUMsMkJBQTJCLENBQUM7U0FDdEM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFN0MsTUFBTSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUU7UUFDbEMsYUFBYSxFQUFFLElBQUk7UUFDbkIsc0VBQXNFO1FBQ3RFLGFBQWEsRUFBRSxPQUFPO0tBQ3ZCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQ0osQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNEJFO0FBRUYsS0FBSyxVQUFVLG9CQUFvQixDQUFDLE9BQW9CLEVBQUUsVUFBd0M7SUFDaEcsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUM7SUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFFL0UsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM3QyxPQUFPLEVBQUUsS0FBSztRQUNkLGlCQUFpQixFQUFFO1lBQ2pCLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVTtTQUNyQjtLQUNGLENBQUMsQ0FBQyxDQUFDO0lBRUosTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNELEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUV2QyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMzQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUMxRSxNQUFNLEVBQUU7WUFDTixHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDeEIscUJBQXFCLEVBQUUsYUFBYTtTQUNyQztRQUNELEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLGFBQWEsRUFBRSxLQUFLO0tBQ3JCLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUM3QixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtLQUMxQixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbi8vIGltcG9ydCB7IENyZWF0ZVNlY3JldENvbW1hbmQsIERlbGV0ZVNlY3JldENvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJztcbmltcG9ydCB7IEdldENhbGxlcklkZW50aXR5Q29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zdHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1yZWxhdGl2ZS1wYWNrYWdlc1xuaW1wb3J0IHR5cGUgeyBEb2NrZXJEb21haW5DcmVkZW50aWFsU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQGF3cy1jZGsvY2RrLWFzc2V0cy1saWIvbGliL3ByaXZhdGUvZG9ja2VyLWNyZWRlbnRpYWxzJztcbmltcG9ydCB0eXBlIHsgVGVzdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUsIHdpdGhSZXRyeSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ2RvY2tlci1jcmVkZW50aWFsLWNkay1hc3NldHMgY2FuIGFzc3VtZSByb2xlIGFuZCBmZXRjaCBFQ1IgY3JlZGVudGlhbHMnLFxuICB3aXRoUmV0cnkod2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgY29uc3QgY2FsbGVyID0gYXdhaXQgZml4dHVyZS5hd3Muc3RzLnNlbmQobmV3IEdldENhbGxlcklkZW50aXR5Q29tbWFuZCh7fSkpO1xuXG4gICAgY29uc3Qgcm9sZUFybiA9IGF3YWl0IGZpeHR1cmUuYXdzLnRlbXBvcmFyeVJvbGUoJ2Vjci1yZXBvLXJvbGUnLCBbXG4gICAgICB7XG4gICAgICAgIEFjdGlvbjogJ3N0czpBc3N1bWVSb2xlJyxcbiAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICBQcmluY2lwYWw6IHsgQVdTOiBjYWxsZXIuQWNjb3VudCB9LFxuICAgICAgfSxcbiAgICBdLCBbXG4gICAgICB7XG4gICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgUmVzb3VyY2U6ICcqJyxcbiAgICAgICAgQWN0aW9uOiBbJ2VjcjpHZXRBdXRob3JpemF0aW9uVG9rZW4nXSxcbiAgICAgIH0sXG4gICAgXSk7XG5cbiAgICBhd2FpdCBmaXh0dXJlLmF3cy53YWl0Rm9yQXNzdW1lUm9sZShyb2xlQXJuKTtcblxuICAgIGF3YWl0IHRlc3REb2NrZXJDcmVkZW50aWFsKGZpeHR1cmUsIHtcbiAgICAgIGVjclJlcG9zaXRvcnk6IHRydWUsXG4gICAgICAvLyBUaGlzIHJvbGUgbXVzdCBoYXZlIHBlcm1pc3Npb25zIHRvIGNhbGwgYGVjcjpHZXRBdXRob3JpemF0aW9uVG9rZW5gXG4gICAgICBhc3N1bWVSb2xlQXJuOiByb2xlQXJuLFxuICAgIH0pO1xuICB9KSksXG4pO1xuXG4vKlxuXG4vLyBTS0lQUEVEIEZPUiBOT1dcbi8vIFJlcXVpcmVzIFNlY3JldHNNYW5hZ2VyIHBlcm1pc3Npb25zIG9uIHRoZSByb2xlIHRoYXQncyBleGVjdXRpbmcgdGhpcywgYW5kIHRoYXQnc1xuLy8gdG9vIG11Y2ggdG8gc2V0IHVwIHJpZ2h0IG5vdy5cblxuaW50ZWdUZXN0KFxuICAnZG9ja2VyLWNyZWRlbnRpYWwtY2RrLWFzc2V0cyByZWFkIGZyb20gU2VjcmV0c01hbmFnZXInLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBjb25zdCBzZWNyZXQgPSBhd2FpdCBmaXh0dXJlLmF3cy5zZWNyZXRzTWFuYWdlci5zZW5kKG5ldyBDcmVhdGVTZWNyZXRDb21tYW5kKHtcbiAgICAgIE5hbWU6IGBvdXItc2VjcmV0LSR7Zml4dHVyZS5yYW5kb21TdHJpbmd9YCxcbiAgICAgIFNlY3JldFN0cmluZzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICB1c2VybmFtZTogJ3Rlc3QtdXNlcicsXG4gICAgICAgIHBhc3N3b3JkOiAndGVzdC1wYXNzd29yZCcsXG4gICAgICB9KSxcbiAgICB9KSk7XG4gICAgZml4dHVyZS5hd3MuYWRkQ2xlYW51cCgoKSA9PiBmaXh0dXJlLmF3cy5zZWNyZXRzTWFuYWdlci5zZW5kKG5ldyBEZWxldGVTZWNyZXRDb21tYW5kKHtcbiAgICAgIFNlY3JldElkOiBzZWNyZXQuQVJOLFxuICAgIH0pKSk7XG5cbiAgICBhd2FpdCB0ZXN0RG9ja2VyQ3JlZGVudGlhbChmaXh0dXJlLCB7XG4gICAgICBzZWNyZXRzTWFuYWdlclNlY3JldElkOiBzZWNyZXQuQVJOLFxuICAgICAgc2VjcmV0c1VzZXJuYW1lRmllbGQ6ICd1c2VybmFtZScsXG4gICAgICBzZWNyZXRzUGFzc3dvcmRGaWVsZDogJ3Bhc3N3b3JkJyxcbiAgICB9KTtcbiAgfSksXG4pO1xuXG4qL1xuXG5hc3luYyBmdW5jdGlvbiB0ZXN0RG9ja2VyQ3JlZGVudGlhbChmaXh0dXJlOiBUZXN0Rml4dHVyZSwgY3JlZFNvdXJjZTogRG9ja2VyRG9tYWluQ3JlZGVudGlhbFNvdXJjZSkge1xuICBjb25zdCBkb21haW4gPSAnaW50ZWcudGVzdC5kb21haW4nO1xuICBjb25zdCBjcmVkc0ZpbGVQYXRoID0gcGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnY2RrLWRvY2tlci1jcmVkcy5qc29uJyk7XG5cbiAgZnMud3JpdGVGaWxlU3luYyhjcmVkc0ZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgdmVyc2lvbjogJzEuMCcsXG4gICAgZG9tYWluQ3JlZGVudGlhbHM6IHtcbiAgICAgIFtkb21haW5dOiBjcmVkU291cmNlLFxuICAgIH0sXG4gIH0pKTtcblxuICBjb25zdCBpbnB1dCA9IHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ2lucHV0LnR4dCcpO1xuICBmcy53cml0ZUZpbGVTeW5jKGlucHV0LCBgJHtkb21haW59XFxuYCk7XG5cbiAgYXdhaXQgZml4dHVyZS5jZGtBc3NldHMubWFrZUNsaUF2YWlsYWJsZSgpO1xuICBjb25zdCBvdXRwdXQgPSBhd2FpdCBmaXh0dXJlLnNoZWxsKFsnZG9ja2VyLWNyZWRlbnRpYWwtY2RrLWFzc2V0cycsICdnZXQnXSwge1xuICAgIG1vZEVudjoge1xuICAgICAgLi4uZml4dHVyZS5jZGtTaGVsbEVudigpLFxuICAgICAgQ0RLX0RPQ0tFUl9DUkVEU19GSUxFOiBjcmVkc0ZpbGVQYXRoLFxuICAgIH0sXG4gICAgc3RkaW86IFtmcy5vcGVuU3luYyhpbnB1dCwgJ3InKV0sXG4gICAgY2FwdHVyZVN0ZGVycjogZmFsc2UsXG4gIH0pO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZShvdXRwdXQpO1xuICBleHBlY3QocmVzcG9uc2UpLnRvTWF0Y2hPYmplY3Qoe1xuICAgIFVzZXJuYW1lOiBleHBlY3QuYW55dGhpbmcoKSxcbiAgICBTZWNyZXQ6IGV4cGVjdC5hbnl0aGluZygpLFxuICB9KTtcbn1cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFzc2V0cy1kb2NrZXItY3JlZGVudGlhbC5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstYXNzZXRzLWRvY2tlci1jcmVkZW50aWFsLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsOEZBQThGO0FBQzlGLG9EQUErRDtBQUkvRCxzQ0FBK0U7QUFFL0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLHdFQUF3RSxFQUN4RSxJQUFBLGVBQVMsRUFBQyxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLHFDQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFNUUsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUU7UUFDL0Q7WUFDRSxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUU7U0FDbkM7S0FDRixFQUFFO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsT0FBTztZQUNmLFFBQVEsRUFBRSxHQUFHO1lBQ2IsTUFBTSxFQUFFLENBQUMsMkJBQTJCLENBQUM7U0FDdEM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFN0MsTUFBTSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUU7UUFDbEMsYUFBYSxFQUFFLElBQUk7UUFDbkIsc0VBQXNFO1FBQ3RFLGFBQWEsRUFBRSxPQUFPO0tBQ3ZCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQ0osQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNEJFO0FBRUYsS0FBSyxVQUFVLG9CQUFvQixDQUFDLE9BQW9CLEVBQUUsVUFBd0M7SUFDaEcsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUM7SUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFFL0UsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM3QyxPQUFPLEVBQUUsS0FBSztRQUNkLGlCQUFpQixFQUFFO1lBQ2pCLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVTtTQUNyQjtLQUNGLENBQUMsQ0FBQyxDQUFDO0lBRUosTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNELEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUV2QyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMzQyxJQUFJLE1BQU0sR0FBVyxFQUFFLENBQUM7SUFFeEIsTUFBTSxJQUFBLFdBQUssRUFBQyxPQUFPLENBQUMsTUFBTSxFQUFFLDRCQUE0QixFQUFFLFdBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekYsTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ3BFLE1BQU0sRUFBRTtnQkFDTixHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUU7Z0JBQ3hCLHFCQUFxQixFQUFFLGFBQWE7YUFDckM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNoQyxhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUM3QixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtLQUMxQixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbi8vIGltcG9ydCB7IENyZWF0ZVNlY3JldENvbW1hbmQsIERlbGV0ZVNlY3JldENvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJztcbmltcG9ydCB7IEdldENhbGxlcklkZW50aXR5Q29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zdHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1yZWxhdGl2ZS1wYWNrYWdlc1xuaW1wb3J0IHR5cGUgeyBEb2NrZXJEb21haW5DcmVkZW50aWFsU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vQGF3cy1jZGsvY2RrLWFzc2V0cy1saWIvbGliL3ByaXZhdGUvZG9ja2VyLWNyZWRlbnRpYWxzJztcbmltcG9ydCB0eXBlIHsgVGVzdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUsIHdpdGhSZXRyeSwgcmV0cnkgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICdkb2NrZXItY3JlZGVudGlhbC1jZGstYXNzZXRzIGNhbiBhc3N1bWUgcm9sZSBhbmQgZmV0Y2ggRUNSIGNyZWRlbnRpYWxzJyxcbiAgd2l0aFJldHJ5KHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIGNvbnN0IGNhbGxlciA9IGF3YWl0IGZpeHR1cmUuYXdzLnN0cy5zZW5kKG5ldyBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQoe30pKTtcblxuICAgIGNvbnN0IHJvbGVBcm4gPSBhd2FpdCBmaXh0dXJlLmF3cy50ZW1wb3JhcnlSb2xlKCdlY3ItcmVwby1yb2xlJywgW1xuICAgICAge1xuICAgICAgICBBY3Rpb246ICdzdHM6QXNzdW1lUm9sZScsXG4gICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgUHJpbmNpcGFsOiB7IEFXUzogY2FsbGVyLkFjY291bnQgfSxcbiAgICAgIH0sXG4gICAgXSwgW1xuICAgICAge1xuICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgIFJlc291cmNlOiAnKicsXG4gICAgICAgIEFjdGlvbjogWydlY3I6R2V0QXV0aG9yaXphdGlvblRva2VuJ10sXG4gICAgICB9LFxuICAgIF0pO1xuXG4gICAgYXdhaXQgZml4dHVyZS5hd3Mud2FpdEZvckFzc3VtZVJvbGUocm9sZUFybik7XG5cbiAgICBhd2FpdCB0ZXN0RG9ja2VyQ3JlZGVudGlhbChmaXh0dXJlLCB7XG4gICAgICBlY3JSZXBvc2l0b3J5OiB0cnVlLFxuICAgICAgLy8gVGhpcyByb2xlIG11c3QgaGF2ZSBwZXJtaXNzaW9ucyB0byBjYWxsIGBlY3I6R2V0QXV0aG9yaXphdGlvblRva2VuYFxuICAgICAgYXNzdW1lUm9sZUFybjogcm9sZUFybixcbiAgICB9KTtcbiAgfSkpLFxuKTtcblxuLypcblxuLy8gU0tJUFBFRCBGT1IgTk9XXG4vLyBSZXF1aXJlcyBTZWNyZXRzTWFuYWdlciBwZXJtaXNzaW9ucyBvbiB0aGUgcm9sZSB0aGF0J3MgZXhlY3V0aW5nIHRoaXMsIGFuZCB0aGF0J3Ncbi8vIHRvbyBtdWNoIHRvIHNldCB1cCByaWdodCBub3cuXG5cbmludGVnVGVzdChcbiAgJ2RvY2tlci1jcmVkZW50aWFsLWNkay1hc3NldHMgcmVhZCBmcm9tIFNlY3JldHNNYW5hZ2VyJyxcbiAgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgZml4dHVyZS5hd3Muc2VjcmV0c01hbmFnZXIuc2VuZChuZXcgQ3JlYXRlU2VjcmV0Q29tbWFuZCh7XG4gICAgICBOYW1lOiBgb3VyLXNlY3JldC0ke2ZpeHR1cmUucmFuZG9tU3RyaW5nfWAsXG4gICAgICBTZWNyZXRTdHJpbmc6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgdXNlcm5hbWU6ICd0ZXN0LXVzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Rlc3QtcGFzc3dvcmQnLFxuICAgICAgfSksXG4gICAgfSkpO1xuICAgIGZpeHR1cmUuYXdzLmFkZENsZWFudXAoKCkgPT4gZml4dHVyZS5hd3Muc2VjcmV0c01hbmFnZXIuc2VuZChuZXcgRGVsZXRlU2VjcmV0Q29tbWFuZCh7XG4gICAgICBTZWNyZXRJZDogc2VjcmV0LkFSTixcbiAgICB9KSkpO1xuXG4gICAgYXdhaXQgdGVzdERvY2tlckNyZWRlbnRpYWwoZml4dHVyZSwge1xuICAgICAgc2VjcmV0c01hbmFnZXJTZWNyZXRJZDogc2VjcmV0LkFSTixcbiAgICAgIHNlY3JldHNVc2VybmFtZUZpZWxkOiAndXNlcm5hbWUnLFxuICAgICAgc2VjcmV0c1Bhc3N3b3JkRmllbGQ6ICdwYXNzd29yZCcsXG4gICAgfSk7XG4gIH0pLFxuKTtcblxuKi9cblxuYXN5bmMgZnVuY3Rpb24gdGVzdERvY2tlckNyZWRlbnRpYWwoZml4dHVyZTogVGVzdEZpeHR1cmUsIGNyZWRTb3VyY2U6IERvY2tlckRvbWFpbkNyZWRlbnRpYWxTb3VyY2UpIHtcbiAgY29uc3QgZG9tYWluID0gJ2ludGVnLnRlc3QuZG9tYWluJztcbiAgY29uc3QgY3JlZHNGaWxlUGF0aCA9IHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ2Nkay1kb2NrZXItY3JlZHMuanNvbicpO1xuXG4gIGZzLndyaXRlRmlsZVN5bmMoY3JlZHNGaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoe1xuICAgIHZlcnNpb246ICcxLjAnLFxuICAgIGRvbWFpbkNyZWRlbnRpYWxzOiB7XG4gICAgICBbZG9tYWluXTogY3JlZFNvdXJjZSxcbiAgICB9LFxuICB9KSk7XG5cbiAgY29uc3QgaW5wdXQgPSBwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsICdpbnB1dC50eHQnKTtcbiAgZnMud3JpdGVGaWxlU3luYyhpbnB1dCwgYCR7ZG9tYWlufVxcbmApO1xuXG4gIGF3YWl0IGZpeHR1cmUuY2RrQXNzZXRzLm1ha2VDbGlBdmFpbGFibGUoKTtcbiAgbGV0IG91dHB1dDogc3RyaW5nID0gJyc7XG5cbiAgYXdhaXQgcmV0cnkocHJvY2Vzcy5zdGRvdXQsICdHZXR0aW5nIGRvY2tlciBjcmVkZW50aWFscycsIHJldHJ5LmZvclNlY29uZHMoNjApLCBhc3luYyAoKSA9PiB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZml4dHVyZS5zaGVsbChbJ2RvY2tlci1jcmVkZW50aWFsLWNkay1hc3NldHMnLCAnZ2V0J10sIHtcbiAgICAgIG1vZEVudjoge1xuICAgICAgICAuLi5maXh0dXJlLmNka1NoZWxsRW52KCksXG4gICAgICAgIENES19ET0NLRVJfQ1JFRFNfRklMRTogY3JlZHNGaWxlUGF0aCxcbiAgICAgIH0sXG4gICAgICBzdGRpbzogW2ZzLm9wZW5TeW5jKGlucHV0LCAncicpXSxcbiAgICAgIGNhcHR1cmVTdGRlcnI6IGZhbHNlLFxuICAgIH0pO1xuICB9KTtcblxuICBjb25zdCByZXNwb25zZSA9IEpTT04ucGFyc2Uob3V0cHV0KTtcbiAgZXhwZWN0KHJlc3BvbnNlKS50b01hdGNoT2JqZWN0KHtcbiAgICBVc2VybmFtZTogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgU2VjcmV0OiBleHBlY3QuYW55dGhpbmcoKSxcbiAgfSk7XG59XG4iXX0=
@@ -4,7 +4,7 @@ const testcase_1 = require("./testcase");
4
4
  const lib_1 = require("../../../lib");
5
5
  const language = 'java';
6
6
  jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
7
- (0, lib_1.integTest)(`cdk migrate ${language} deploys successfully`, (0, lib_1.withCDKMigrateFixture)(language, async (fixture) => {
7
+ (0, lib_1.integTest)(`cdk migrate ${language} deploys successfully`, (0, lib_1.withRetry)((0, lib_1.withCDKMigrateFixture)(language, async (fixture) => {
8
8
  await (0, testcase_1.deploysSuccessfully)(fixture, language);
9
- }));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLW1pZ3JhdGUtZGVwbG95cy1zdWNjZXNzZnVsbHktamF2YS5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstbWlncmF0ZS1kZXBsb3lzLXN1Y2Nlc3NmdWxseS1qYXZhLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUFpRDtBQUNqRCxzQ0FBZ0U7QUFFaEUsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO0FBRXhCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCxlQUFlLFFBQVEsdUJBQXVCLEVBQzlDLElBQUEsMkJBQXFCLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNoRCxNQUFNLElBQUEsOEJBQW1CLEVBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXBsb3lzU3VjY2Vzc2Z1bGx5IH0gZnJvbSAnLi90ZXN0Y2FzZSc7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhDREtNaWdyYXRlRml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmNvbnN0IGxhbmd1YWdlID0gJ2phdmEnO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gIGBjZGsgbWlncmF0ZSAke2xhbmd1YWdlfSBkZXBsb3lzIHN1Y2Nlc3NmdWxseWAsXG4gIHdpdGhDREtNaWdyYXRlRml4dHVyZShsYW5ndWFnZSwgYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBhd2FpdCBkZXBsb3lzU3VjY2Vzc2Z1bGx5KGZpeHR1cmUsIGxhbmd1YWdlKTtcbiAgfSksXG4pO1xuIl19
9
+ })));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLW1pZ3JhdGUtZGVwbG95cy1zdWNjZXNzZnVsbHktamF2YS5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstbWlncmF0ZS1kZXBsb3lzLXN1Y2Nlc3NmdWxseS1qYXZhLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUFpRDtBQUNqRCxzQ0FBMkU7QUFFM0UsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO0FBRXhCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCxlQUFlLFFBQVEsdUJBQXVCLEVBQzlDLElBQUEsZUFBUyxFQUFDLElBQUEsMkJBQXFCLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMxRCxNQUFNLElBQUEsOEJBQW1CLEVBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlcGxveXNTdWNjZXNzZnVsbHkgfSBmcm9tICcuL3Rlc3RjYXNlJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aENES01pZ3JhdGVGaXh0dXJlLCB3aXRoUmV0cnkgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5jb25zdCBsYW5ndWFnZSA9ICdqYXZhJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KFxuICBgY2RrIG1pZ3JhdGUgJHtsYW5ndWFnZX0gZGVwbG95cyBzdWNjZXNzZnVsbHlgLFxuICB3aXRoUmV0cnkod2l0aENES01pZ3JhdGVGaXh0dXJlKGxhbmd1YWdlLCBhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIGF3YWl0IGRlcGxveXNTdWNjZXNzZnVsbHkoZml4dHVyZSwgbGFuZ3VhZ2UpO1xuICB9KSksXG4pO1xuIl19