aws-delivlib 14.4.32 → 14.4.33

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.
@@ -27,9 +27,7 @@ class EcrMirror extends constructs_1.Construct {
27
27
  this._project = new aws_cdk_lib_1.aws_codebuild.Project(this, 'EcrPushImages', {
28
28
  environment: {
29
29
  privileged: true,
30
- buildImage: aws_cdk_lib_1.aws_codebuild.LinuxBuildImage.fromDockerRegistry('public.ecr.aws/jsii/superchain:1-buster-slim-node18', {
31
- secretsManagerCredentials: props.dockerHubCredentials.secret,
32
- }),
30
+ buildImage: aws_cdk_lib_1.aws_codebuild.LinuxBuildImage.fromDockerRegistry('public.ecr.aws/jsii/superchain:1-buster-slim-node18'),
33
31
  },
34
32
  environmentVariables: {
35
33
  // DockerHub credentials to avoid throttling
@@ -63,6 +61,9 @@ class EcrMirror extends constructs_1.Construct {
63
61
  });
64
62
  // Ensure the runner has PULL access to ECR-Public.
65
63
  this._project.role.addManagedPolicy(aws_cdk_lib_1.aws_iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonElasticContainerRegistryPublicReadOnly'));
64
+ // Give the project access to the Docker Hub credentials
65
+ // Required for access to private images and to avoid throttling of unauthorized requests
66
+ props.dockerHubCredentials.secret.grantRead(this._project);
66
67
  for (const image of props.sources) {
67
68
  const result = image.bind({
68
69
  scope: this,
@@ -161,4 +162,4 @@ class EcrMirrorAspect {
161
162
  }
162
163
  }
163
164
  exports.EcrMirrorAspect = EcrMirrorAspect;
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNyLW1pcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVjci1taXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBVXFCO0FBQ3JCLDJDQUFtRDtBQStEbkQ7OztHQUdHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsc0JBQVM7SUFNdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBTEYsV0FBTSxHQUFnQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hELGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQU1qRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLFlBQVksbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQztRQUNqRyxNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQWtCLENBQUM7UUFFM0MsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUEwQixFQUFFLEVBQUU7O1lBQ3ZFLE9BQU8sR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLElBQUksTUFBQSxJQUFJLENBQUMsWUFBWSxtQ0FBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RyxDQUFDLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFHLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFMUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLDJCQUFTLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDM0QsV0FBVyxFQUFFO2dCQUNYLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixVQUFVLEVBQUUsMkJBQVMsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMscURBQXFELEVBQUU7b0JBQzlHLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNO2lCQUM3RCxDQUFDO2FBQ0g7WUFDRCxvQkFBb0IsRUFBRTtnQkFDcEIsNENBQTRDO2dCQUM1QyxrQkFBa0IsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLDJCQUFTLENBQUMsNEJBQTRCLENBQUMsZUFBZSxFQUFFO2dCQUNyRyxrQkFBa0IsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLDJCQUFTLENBQUMsNEJBQTRCLENBQUMsZUFBZSxFQUFFO2FBQ3RHO1lBQ0QsU0FBUyxFQUFFLDJCQUFTLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxrQkFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDWixPQUFPO3dCQUNMLE9BQU8sRUFBRSxLQUFLO3dCQUNkLE1BQU0sRUFBRTs0QkFDTixLQUFLLEVBQUU7Z0NBQ0wsUUFBUSxFQUFFO29DQUVSLDBCQUEwQjtvQ0FDMUIsa0hBQWtIO29DQUNsSCxnRUFBZ0U7b0NBRWhFLCtDQUErQztvQ0FDL0MsZ0VBQWdFO29DQUVoRSxvQ0FBb0M7b0NBQ3BDLDZFQUE2RSxXQUFXLEVBQUU7b0NBRTFGLHVFQUF1RTtvQ0FDdkUsb0hBQW9IO29DQUVwSCxHQUFHLFFBQVE7aUNBQ1o7NkJBQ0Y7eUJBQ0Y7cUJBQ0YsQ0FBQztnQkFDSixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gscUJBQXFCLEVBQUUsSUFBSTtTQUM1QixDQUFDLENBQUM7UUFFSCxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFLLENBQUMsZ0JBQWdCLENBQUMscUJBQUcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUFDO1FBRWpJLEtBQUssTUFBTSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNqQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUN4QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXO2dCQUNYLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTthQUN2QixDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRWxDLE1BQU0sT0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDekQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsTUFBTSxDQUFDLGNBQWMsY0FBYyxNQUFNLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO2FBQzFIO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUU3QyxNQUFNLFdBQVcsR0FBRyxHQUFHLFdBQVcsSUFBSSxNQUFNLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM1RSxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUU1QywyREFBMkQ7WUFDM0Qsa0NBQWtDO1lBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNuRDtRQUVELHNFQUFzRTtRQUN0RSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0QscUJBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUU5RCxpRUFBaUU7UUFDakUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFaEQsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksOEJBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQy9DLE1BQU0sRUFBRSw4QkFBRSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDMUYsUUFBUSxFQUFFO29CQUNSLE1BQU0sRUFBRSxZQUFZO29CQUNwQixPQUFPLEVBQUUsV0FBVztvQkFDcEIsVUFBVSxFQUFFO3dCQUNWLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7d0JBQ3RDLHNDQUFzQzt3QkFDdEMsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7cUJBQ2xDO29CQUNELGtCQUFrQixFQUFFLDhCQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUVwRSxvRkFBb0Y7b0JBQ3BGLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDMUI7YUFDRixDQUFDLENBQUM7U0FDSjtRQUVELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLHdCQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtnQkFDeEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUN4QixPQUFPLEVBQUUsQ0FBQyxJQUFJLGdDQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3ZELENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLGlCQUF5QjtRQUNoRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDdEMsT0FBTztTQUNSO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxxQkFBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxpQkFBaUIsRUFBRSxFQUFFO1lBQ3RFLGNBQWMsRUFBRSxpQkFBaUI7U0FDbEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxhQUFhLENBQUMsY0FBc0I7UUFDekMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0Y7QUFySkQsOEJBcUpDO0FBQUEsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQWEsZUFBZTtJQUMxQixZQUE2QixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQUcsQ0FBQztJQUUzQyxLQUFLLENBQUMsU0FBcUI7UUFDaEMsSUFBSSxTQUFTLFlBQVksMkJBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDMUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFvQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQy9DLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxXQUF1RCxDQUFDO2dCQUMvRSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLFdBQVcsRUFBRTtvQkFDZixVQUFVLENBQUMsV0FBVyxHQUFHO3dCQUN2QixHQUFHLEdBQUc7d0JBQ04sS0FBSyxFQUFFLDJCQUFTLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPO3FCQUM3RSxDQUFDO29CQUNGLFdBQVcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ2pDLHFCQUFHLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUM3QzthQUNGO1NBQ0Y7SUFDSCxDQUFDO0NBQ0Y7QUF0QkQsMENBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUFzcGVjdCwgTGF6eSwgU3RhY2ssIFRva2VuLFxuICBhd3NfZWNyIGFzIGVjcixcbiAgYXdzX2NvZGVidWlsZCBhcyBjb2RlYnVpbGQsXG4gIGF3c19ldmVudHMgYXMgZXZlbnRzLFxuICBhd3NfZXZlbnRzX3RhcmdldHMgYXMgdGFyZ2V0cyxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19zM19hc3NldHMgYXMgczNBc3NldHMsXG4gIGF3c19zZWNyZXRzbWFuYWdlciBhcyBzbSxcbiAgY3VzdG9tX3Jlc291cmNlcyBhcyBjcixcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBNaXJyb3JTb3VyY2UgfSBmcm9tICcuL21pcnJvci1zb3VyY2UnO1xuXG4vKipcbiAqIEF1dGhlbnRpY2F0aW9uIGRldGFpbHMgZm9yIERvY2tlckh1Yi5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYnVpbGQvbGF0ZXN0L3VzZXJndWlkZS9idWlsZC1zcGVjLXJlZi5odG1sI2J1aWxkLXNwZWMuZW52LnNlY3JldHMtbWFuYWdlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckh1YkNyZWRlbnRpYWxzIHtcblxuICAvKipcbiAgICogVGhlIHNlY3JldCB0aGF0IGNvbnRhaW5zIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZm9yIERvY2tlcmh1YlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0OiBzbS5JU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGtleSB0aGF0IGNvbnRhaW5zIHRoZSB1c2VybmFtZSBpbiB0aGUgc3BlY2lmaWVkIHNlY3JldC5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJuYW1lS2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWNyZXQga2V5IHRoYXQgY29udGFpbnMgdGhlIHBhc3N3b3JkIGluIHRoZSBzcGVjaWZpZWQgc2VjcmV0LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFzc3dvcmRLZXk6IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBzdGFnZSBvZiB0aGUgc2VjcmV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnQVdTQ1VSUkVOVCdcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25TdGFnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHRvIGluaXRpYWxpemUgRWNyUmVnaXN0cnlTeW5jXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWNyTWlycm9yUHJvcHMge1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgaW1hZ2VzIHRvIGtlZXAgc3luYydlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZXM6IE1pcnJvclNvdXJjZVtdO1xuXG4gIC8qKlxuICAgKiBDcmVkZW50aWFscyB0byBzaWduaW5nIGludG8gRG9ja2VyaHViLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VySHViQ3JlZGVudGlhbHM6IERvY2tlckh1YkNyZWRlbnRpYWxzO1xuXG4gIC8qKlxuICAgKiBTeW5jIGpvYiBydW5zIG9uIGEgc2NoZWR1bGUuXG4gICAqIFRocm93cyBhbiBlcnJvciBpZiBuZWl0aGVyIHRoaXMgbm9yIGBhdXRvU3RhcnRgIGFyZSBzcGVjaWZpZWQuXG4gICAqIEBkZWZhdWx0IC0gZG9lcyBub3QgcnVuIG9uIHNjaGVkdWxlXG4gICAqL1xuICByZWFkb25seSBzY2hlZHVsZT86IGV2ZW50cy5TY2hlZHVsZTtcblxuICAvKipcbiAgICogU3RhcnQgdGhlIHN5bmMgam9iIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBkZXBsb3ltZW50LlxuICAgKiBUaGlzIGluamVjdHMgYSBjdXN0b20gcmVzb3VyY2UgdGhhdCBpcyBleGVjdXRlZCBhcyBwYXJ0IG9mIHRoZSBkZXBsb3ltZW50LlxuICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgbmVpdGhlciB0aGlzIG5vciBgc2NoZWR1bGVgIGFyZSBzcGVjaWZpZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhdXRvU3RhcnQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN5bmNocm9uaXplIGltYWdlcyBmcm9tIERvY2tlckh1YiB0byBhbiBFQ1IgcmVnaXN0cnkgaW4gdGhlIEFXUyBhY2NvdW50LlxuICogVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIHRvIHdvcmthcm91bmQgRG9ja2VySHViJ3MgdGhyb3R0bGluZyBvbiBwdWxscyBhbmQgdXNlIEVDUiBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgRWNyTWlycm9yIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXBvczogTWFwPHN0cmluZywgZWNyLlJlcG9zaXRvcnk+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXBvVGFnc1NlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvamVjdDogY29kZWJ1aWxkLlByb2plY3Q7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjck1pcnJvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmICghcHJvcHMuc2NoZWR1bGUgJiYgIXByb3BzLmF1dG9TdGFydCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFaXRoZXIgc2NoZWR1bGUgb3IgYXV0b1N0YXJ0IG11c3QgYmUgcHJvdmlkZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBlY3JSZWdpc3RyeSA9IGAke1N0YWNrLm9mKHNjb3BlKS5hY2NvdW50fS5ka3IuZWNyLiR7U3RhY2sub2Yoc2NvcGUpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWA7XG4gICAgY29uc3QgY29tbWFuZHM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgYXNzZXRzID0gbmV3IEFycmF5PHMzQXNzZXRzLkFzc2V0PigpO1xuXG4gICAgY29uc3QgY29kZUJ1aWxkU2VjcmV0VmFsdWUgPSAoa2V5OiBzdHJpbmcsIGF1dGg6IERvY2tlckh1YkNyZWRlbnRpYWxzKSA9PiB7XG4gICAgICByZXR1cm4gYCR7cHJvcHMuZG9ja2VySHViQ3JlZGVudGlhbHMuc2VjcmV0LnNlY3JldE5hbWV9OiR7a2V5fToke2F1dGgudmVyc2lvblN0YWdlID8/ICdBV1NDVVJSRU5UJ31gO1xuICAgIH07XG5cbiAgICBjb25zdCB1c2VybmFtZSA9IGNvZGVCdWlsZFNlY3JldFZhbHVlKHByb3BzLmRvY2tlckh1YkNyZWRlbnRpYWxzLnVzZXJuYW1lS2V5LCBwcm9wcy5kb2NrZXJIdWJDcmVkZW50aWFscyk7XG4gICAgY29uc3QgcGFzc3dvcmQgPSBjb2RlQnVpbGRTZWNyZXRWYWx1ZShwcm9wcy5kb2NrZXJIdWJDcmVkZW50aWFscy5wYXNzd29yZEtleSwgcHJvcHMuZG9ja2VySHViQ3JlZGVudGlhbHMpO1xuXG4gICAgdGhpcy5fcHJvamVjdCA9IG5ldyBjb2RlYnVpbGQuUHJvamVjdCh0aGlzLCAnRWNyUHVzaEltYWdlcycsIHtcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIHByaXZpbGVnZWQ6IHRydWUsXG4gICAgICAgIGJ1aWxkSW1hZ2U6IGNvZGVidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KCdwdWJsaWMuZWNyLmF3cy9qc2lpL3N1cGVyY2hhaW46MS1idXN0ZXItc2xpbS1ub2RlMTgnLCB7XG4gICAgICAgICAgc2VjcmV0c01hbmFnZXJDcmVkZW50aWFsczogcHJvcHMuZG9ja2VySHViQ3JlZGVudGlhbHMuc2VjcmV0LFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICBlbnZpcm9ubWVudFZhcmlhYmxlczoge1xuICAgICAgICAvLyBEb2NrZXJIdWIgY3JlZGVudGlhbHMgdG8gYXZvaWQgdGhyb3R0bGluZ1xuICAgICAgICBET0NLRVJIVUJfVVNFUk5BTUU6IHsgdmFsdWU6IHVzZXJuYW1lLCB0eXBlOiBjb2RlYnVpbGQuQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZS5TRUNSRVRTX01BTkFHRVIgfSxcbiAgICAgICAgRE9DS0VSSFVCX1BBU1NXT1JEOiB7IHZhbHVlOiBwYXNzd29yZCwgdHlwZTogY29kZWJ1aWxkLkJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZVR5cGUuU0VDUkVUU19NQU5BR0VSIH0sXG4gICAgICB9LFxuICAgICAgYnVpbGRTcGVjOiBjb2RlYnVpbGQuQnVpbGRTcGVjLmZyb21PYmplY3QoTGF6eS5hbnkoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZlcnNpb246ICcwLjInLFxuICAgICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICAgIGJ1aWxkOiB7XG4gICAgICAgICAgICAgICAgY29tbWFuZHM6IFtcblxuICAgICAgICAgICAgICAgICAgLy8gc3RhcnQgdGhlIGRvY2tlciBkYWVtb25cbiAgICAgICAgICAgICAgICAgICdub2h1cCAvdXNyL2Jpbi9kb2NrZXJkIC0taG9zdD11bml4Oi8vL3Zhci9ydW4vZG9ja2VyLnNvY2sgLS1ob3N0PXRjcDovLzEyNy4wLjAuMToyMzc1IC0tc3RvcmFnZS1kcml2ZXI9b3ZlcmxheTImJyxcbiAgICAgICAgICAgICAgICAgICd0aW1lb3V0IDE1IHNoIC1jIFwidW50aWwgZG9ja2VyIGluZm87IGRvIGVjaG8gLjsgc2xlZXAgMTsgZG9uZVwiJyxcblxuICAgICAgICAgICAgICAgICAgLy8gbG9naW4gdG8gZG9ja2VyaHViIHNvIHdlIHdvbid0IGdldCB0aHJvdHRsZWRcbiAgICAgICAgICAgICAgICAgICdkb2NrZXIgbG9naW4gLXUgJHtET0NLRVJIVUJfVVNFUk5BTUV9IC1wICR7RE9DS0VSSFVCX1BBU1NXT1JEfScsXG5cbiAgICAgICAgICAgICAgICAgIC8vIGxvZ2luIHRvIGVjciBzbyB3ZSBjYW4gcHVzaCB0byBpdFxuICAgICAgICAgICAgICAgICAgYGF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIHwgZG9ja2VyIGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gJHtlY3JSZWdpc3RyeX1gLFxuXG4gICAgICAgICAgICAgICAgICAvLyBsb2dpbiB0byBlY3ItcHVibGljIHNvIHdlIGNhbiBwdWxsIGZyb20gaXQgd2l0aCBpbXByb3ZlZCByYXRlIGxpbWl0c1xuICAgICAgICAgICAgICAgICAgJ2F3cyBlY3ItcHVibGljIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiB1cy1lYXN0LTEgfCBkb2NrZXIgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiBwdWJsaWMuZWNyLmF3cycsXG5cbiAgICAgICAgICAgICAgICAgIC4uLmNvbW1hbmRzLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICB9KSksXG4gICAgICBzc21TZXNzaW9uUGVybWlzc2lvbnM6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBFbnN1cmUgdGhlIHJ1bm5lciBoYXMgUFVMTCBhY2Nlc3MgdG8gRUNSLVB1YmxpYy5cbiAgICB0aGlzLl9wcm9qZWN0LnJvbGUhLmFkZE1hbmFnZWRQb2xpY3koaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBbWF6b25FbGFzdGljQ29udGFpbmVyUmVnaXN0cnlQdWJsaWNSZWFkT25seScpKTtcblxuICAgIGZvciAoY29uc3QgaW1hZ2Ugb2YgcHJvcHMuc291cmNlcykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gaW1hZ2UuYmluZCh7XG4gICAgICAgIHNjb3BlOiB0aGlzLFxuICAgICAgICBlY3JSZWdpc3RyeSxcbiAgICAgICAgc3luY0pvYjogdGhpcy5fcHJvamVjdCxcbiAgICAgIH0pO1xuICAgICAgY29tbWFuZHMucHVzaCguLi5yZXN1bHQuY29tbWFuZHMpO1xuXG4gICAgICBjb25zdCByZXBvVGFnID0gYCR7cmVzdWx0LnJlcG9zaXRvcnlOYW1lfToke3Jlc3VsdC50YWd9YDtcbiAgICAgIGlmICh0aGlzLl9yZXBvVGFnc1NlZW4uaGFzKHJlcG9UYWcpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWlycm9yIHNvdXJjZSB3aXRoIHJlcG9zaXRvcnkgbmFtZSBbJHtyZXN1bHQucmVwb3NpdG9yeU5hbWV9XSBhbmQgdGFnIFske3Jlc3VsdC50YWd9XSBhbHJlYWR5IGV4aXN0cy5gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlcG9UYWdzU2Vlbi5hZGQocmVwb1RhZyk7XG5cbiAgICAgIHRoaXMuY3JlYXRlTWlycm9yUmVwbyhyZXN1bHQucmVwb3NpdG9yeU5hbWUpO1xuXG4gICAgICBjb25zdCBlY3JJbWFnZVVyaSA9IGAke2VjclJlZ2lzdHJ5fS8ke3Jlc3VsdC5yZXBvc2l0b3J5TmFtZX06JHtyZXN1bHQudGFnfWA7XG4gICAgICBjb21tYW5kcy5wdXNoKGBkb2NrZXIgcHVzaCAke2VjckltYWdlVXJpfWApO1xuXG4gICAgICAvLyBjbGVhbiBhZnRlciBlYWNoIHB1c2ggc28gdGhhdCB3ZSBkb24ndCBmaWxsdXAgZGlzayBzcGFjZVxuICAgICAgLy8gcG9zc2libHkgZmFpbGluZyB0aGUgbmV4dCBwdWxsLlxuICAgICAgY29tbWFuZHMucHVzaCgnZG9ja2VyIGltYWdlIHBydW5lIC0tYWxsIC0tZm9yY2UnKTtcbiAgICB9XG5cbiAgICAvLyBDb2RlQnVpbGQgbmVlZHMgdG8gcmVhZCB0aGUgc2VjcmV0IHRvIHJlc29sdmUgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAgcHJvcHMuZG9ja2VySHViQ3JlZGVudGlhbHMuc2VjcmV0LmdyYW50UmVhZCh0aGlzLl9wcm9qZWN0KTtcblxuICAgIGVjci5BdXRob3JpemF0aW9uVG9rZW4uZ3JhbnRSZWFkKHRoaXMuX3Byb2plY3QpO1xuICAgIHRoaXMuX3JlcG9zLmZvckVhY2goKHIsIF8pID0+IHIuZ3JhbnRQdWxsUHVzaCh0aGlzLl9wcm9qZWN0KSk7XG5cbiAgICAvLyB0aGlzIHByb2plY3QgbmVlZHMgdG8gZG93bmxvYWQgdGhlIGFzc2V0cyBzbyBpdCBjYW4gYnVpbGQgdGhlbVxuICAgIGFzc2V0cy5mb3JFYWNoKGEgPT4gYS5ncmFudFJlYWQodGhpcy5fcHJvamVjdCkpO1xuXG4gICAgaWYgKHByb3BzLmF1dG9TdGFydCkge1xuICAgICAgbmV3IGNyLkF3c0N1c3RvbVJlc291cmNlKHRoaXMsICdCdWlsZEV4ZWN1dGlvbicsIHtcbiAgICAgICAgcG9saWN5OiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoeyByZXNvdXJjZXM6IFt0aGlzLl9wcm9qZWN0LnByb2plY3RBcm5dIH0pLFxuICAgICAgICBvblVwZGF0ZToge1xuICAgICAgICAgIGFjdGlvbjogJ3N0YXJ0QnVpbGQnLFxuICAgICAgICAgIHNlcnZpY2U6ICdDb2RlQnVpbGQnLFxuICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgIHByb2plY3ROYW1lOiB0aGlzLl9wcm9qZWN0LnByb2plY3ROYW1lLFxuICAgICAgICAgICAgLy8gdG8gdGlnZ2VyIHRoZSBidWlsZCBvbiBldmVyeSB1cGRhdGVcbiAgICAgICAgICAgIGlkZW1wb3RlbmN5VG9rZW46IGAke0RhdGUubm93KCl9YCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogY3IuUGh5c2ljYWxSZXNvdXJjZUlkLm9mKCdFY3JSZWdpc3RyeUV4ZWN1dGlvbicpLFxuXG4gICAgICAgICAgLy8gbmVlZCBzaW5jZSB0aGUgZGVmYXVsdCByZXBvbnNlIGlmIGdyZWF0ZXIgdGhhbiB0aGUgNGsgbGltaXQgZm9yIGN1c3RvbSByZXNvdXJjZXMuXG4gICAgICAgICAgb3V0cHV0UGF0aHM6IFsnYnVpbGQuaWQnXSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zY2hlZHVsZSkge1xuICAgICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdTY2hlZHVsZWRUcmlnZ2VyJywge1xuICAgICAgICBzY2hlZHVsZTogcHJvcHMuc2NoZWR1bGUsXG4gICAgICAgIHRhcmdldHM6IFtuZXcgdGFyZ2V0cy5Db2RlQnVpbGRQcm9qZWN0KHRoaXMuX3Byb2plY3QpXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTWlycm9yUmVwbyhlY3JSZXBvc2l0b3J5TmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuX3JlcG9zLmdldChlY3JSZXBvc2l0b3J5TmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZXBvc2l0b3J5ID0gbmV3IGVjci5SZXBvc2l0b3J5KHRoaXMsIGBSZXBvJHtlY3JSZXBvc2l0b3J5TmFtZX1gLCB7XG4gICAgICByZXBvc2l0b3J5TmFtZTogZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgfSk7XG4gICAgdGhpcy5fcmVwb3Muc2V0KGVjclJlcG9zaXRvcnlOYW1lLCByZXBvc2l0b3J5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHRhcmdldCBFQ1IgcmVwb3NpdG9yeSBmb3IgdGhlIGdpdmVuIHJlcG9zaXRvcnkgbmFtZSBhbmQgdGFnLlxuICAgKiBAcGFyYW0gcmVwb3NpdG9yeU5hbWUgVGhlIEVDUiByZXBvc2l0b3J5IHdpdGggdGhpcyBuYW1lXG4gICAqIEBwYXJhbSB0YWcgdGhlIHRhZyBmb3IgdGhlIHJlcG9zaXRvcnksIGRlZmF1bHRzIHRvICdsYXRlc3QnXG4gICAqL1xuICBwdWJsaWMgZWNyUmVwb3NpdG9yeShyZXBvc2l0b3J5TmFtZTogc3RyaW5nKTogZWNyLklSZXBvc2l0b3J5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcmVwb3MuZ2V0KHJlcG9zaXRvcnlOYW1lKTtcbiAgfVxufTtcblxuLyoqXG4gKiBBbiBhc3BlY3QgdGhhdCB3YWxrcyB0aHJvdWdoIHRoZSBjb25zdHJ1Y3QgdHJlZSBhbmQgcmVwbGFjZXMgQ29kZUJ1aWxkIGpvYnMgd2l0aCBEb2NrZXIgaW1hZ2VzXG4gKiB3aXRoIEVDUiBlcXVpdmFsZW50cyBmb3VuZCBpbiB0aGUgRWNyTWlycm9yLlxuICovXG5leHBvcnQgY2xhc3MgRWNyTWlycm9yQXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWlycm9yOiBFY3JNaXJyb3IpIHt9XG5cbiAgcHVibGljIHZpc2l0KGNvbnN0cnVjdDogSUNvbnN0cnVjdCkge1xuICAgIGlmIChjb25zdHJ1Y3QgaW5zdGFuY2VvZiBjb2RlYnVpbGQuUHJvamVjdCkge1xuICAgICAgY29uc3QgY2ZucHJvamVjdCA9IGNvbnN0cnVjdC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBjb2RlYnVpbGQuQ2ZuUHJvamVjdDtcbiAgICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNmbnByb2plY3QuZW52aXJvbm1lbnQpKSB7XG4gICAgICAgIGNvbnN0IGVudiA9IGNmbnByb2plY3QuZW52aXJvbm1lbnQgYXMgY29kZWJ1aWxkLkNmblByb2plY3QuRW52aXJvbm1lbnRQcm9wZXJ0eTtcbiAgICAgICAgY29uc3QgaW1hZ2VOYW1lID0gZW52LmltYWdlLnNwbGl0KCc6JylbMF07XG4gICAgICAgIGNvbnN0IHRhZyA9IGVudi5pbWFnZS5zcGxpdCgnOicpWzFdO1xuICAgICAgICBjb25zdCByZXBsYWNlbWVudCA9IHRoaXMubWlycm9yLmVjclJlcG9zaXRvcnkoaW1hZ2VOYW1lKTtcbiAgICAgICAgaWYgKHJlcGxhY2VtZW50KSB7XG4gICAgICAgICAgY2ZucHJvamVjdC5lbnZpcm9ubWVudCA9IHtcbiAgICAgICAgICAgIC4uLmVudixcbiAgICAgICAgICAgIGltYWdlOiBjb2RlYnVpbGQuTGludXhCdWlsZEltYWdlLmZyb21FY3JSZXBvc2l0b3J5KHJlcGxhY2VtZW50LCB0YWcpLmltYWdlSWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXBsYWNlbWVudC5ncmFudFB1bGwoY29uc3RydWN0KTtcbiAgICAgICAgICBlY3IuQXV0aG9yaXphdGlvblRva2VuLmdyYW50UmVhZChjb25zdHJ1Y3QpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNyLW1pcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVjci1taXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBVXFCO0FBQ3JCLDJDQUFtRDtBQStEbkQ7OztHQUdHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsc0JBQVM7SUFNdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBTEYsV0FBTSxHQUFnQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hELGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQU1qRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLFlBQVksbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQztRQUNqRyxNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQWtCLENBQUM7UUFFM0MsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUEwQixFQUFFLEVBQUU7O1lBQ3ZFLE9BQU8sR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLElBQUksTUFBQSxJQUFJLENBQUMsWUFBWSxtQ0FBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RyxDQUFDLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFD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O1lBQ3ZFLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQy9DLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxXQUF1RCxDQUFDO2dCQUMvRSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLFdBQVcsRUFBRTtvQkFDZixVQUFVLENBQUMsV0FBVyxHQUFHO3dCQUN2QixHQUFHLEdBQUc7d0JBQ04sS0FBSyxFQUFFLDJCQUFTLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPO3FCQUM3RSxDQUFDO29CQUNGLFdBQVcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ2pDLHFCQUFHLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUM3QzthQUNGO1NBQ0Y7SUFDSCxDQUFDO0NBQ0Y7QUF0QkQsMENBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUFzcGVjdCwgTGF6eSwgU3RhY2ssIFRva2VuLFxuICBhd3NfZWNyIGFzIGVjcixcbiAgYXdzX2NvZGVidWlsZCBhcyBjb2RlYnVpbGQsXG4gIGF3c19ldmVudHMgYXMgZXZlbnRzLFxuICBhd3NfZXZlbnRzX3RhcmdldHMgYXMgdGFyZ2V0cyxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19zM19hc3NldHMgYXMgczNBc3NldHMsXG4gIGF3c19zZWNyZXRzbWFuYWdlciBhcyBzbSxcbiAgY3VzdG9tX3Jlc291cmNlcyBhcyBjcixcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBNaXJyb3JTb3VyY2UgfSBmcm9tICcuL21pcnJvci1zb3VyY2UnO1xuXG4vKipcbiAqIEF1dGhlbnRpY2F0aW9uIGRldGFpbHMgZm9yIERvY2tlckh1Yi5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYnVpbGQvbGF0ZXN0L3VzZXJndWlkZS9idWlsZC1zcGVjLXJlZi5odG1sI2J1aWxkLXNwZWMuZW52LnNlY3JldHMtbWFuYWdlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckh1YkNyZWRlbnRpYWxzIHtcblxuICAvKipcbiAgICogVGhlIHNlY3JldCB0aGF0IGNvbnRhaW5zIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZm9yIERvY2tlcmh1YlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0OiBzbS5JU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGtleSB0aGF0IGNvbnRhaW5zIHRoZSB1c2VybmFtZSBpbiB0aGUgc3BlY2lmaWVkIHNlY3JldC5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJuYW1lS2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWNyZXQga2V5IHRoYXQgY29udGFpbnMgdGhlIHBhc3N3b3JkIGluIHRoZSBzcGVjaWZpZWQgc2VjcmV0LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFzc3dvcmRLZXk6IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBzdGFnZSBvZiB0aGUgc2VjcmV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnQVdTQ1VSUkVOVCdcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25TdGFnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHRvIGluaXRpYWxpemUgRWNyUmVnaXN0cnlTeW5jXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWNyTWlycm9yUHJvcHMge1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgaW1hZ2VzIHRvIGtlZXAgc3luYydlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZXM6IE1pcnJvclNvdXJjZVtdO1xuXG4gIC8qKlxuICAgKiBDcmVkZW50aWFscyB0byBzaWduaW5nIGludG8gRG9ja2VyaHViLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VySHViQ3JlZGVudGlhbHM6IERvY2tlckh1YkNyZWRlbnRpYWxzO1xuXG4gIC8qKlxuICAgKiBTeW5jIGpvYiBydW5zIG9uIGEgc2NoZWR1bGUuXG4gICAqIFRocm93cyBhbiBlcnJvciBpZiBuZWl0aGVyIHRoaXMgbm9yIGBhdXRvU3RhcnRgIGFyZSBzcGVjaWZpZWQuXG4gICAqIEBkZWZhdWx0IC0gZG9lcyBub3QgcnVuIG9uIHNjaGVkdWxlXG4gICAqL1xuICByZWFkb25seSBzY2hlZHVsZT86IGV2ZW50cy5TY2hlZHVsZTtcblxuICAvKipcbiAgICogU3RhcnQgdGhlIHN5bmMgam9iIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBkZXBsb3ltZW50LlxuICAgKiBUaGlzIGluamVjdHMgYSBjdXN0b20gcmVzb3VyY2UgdGhhdCBpcyBleGVjdXRlZCBhcyBwYXJ0IG9mIHRoZSBkZXBsb3ltZW50LlxuICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgbmVpdGhlciB0aGlzIG5vciBgc2NoZWR1bGVgIGFyZSBzcGVjaWZpZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhdXRvU3RhcnQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN5bmNocm9uaXplIGltYWdlcyBmcm9tIERvY2tlckh1YiB0byBhbiBFQ1IgcmVnaXN0cnkgaW4gdGhlIEFXUyBhY2NvdW50LlxuICogVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIHRvIHdvcmthcm91bmQgRG9ja2VySHViJ3MgdGhyb3R0bGluZyBvbiBwdWxscyBhbmQgdXNlIEVDUiBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgRWNyTWlycm9yIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXBvczogTWFwPHN0cmluZywgZWNyLlJlcG9zaXRvcnk+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXBvVGFnc1NlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvamVjdDogY29kZWJ1aWxkLlByb2plY3Q7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjck1pcnJvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmICghcHJvcHMuc2NoZWR1bGUgJiYgIXByb3BzLmF1dG9TdGFydCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFaXRoZXIgc2NoZWR1bGUgb3IgYXV0b1N0YXJ0IG11c3QgYmUgcHJvdmlkZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBlY3JSZWdpc3RyeSA9IGAke1N0YWNrLm9mKHNjb3BlKS5hY2NvdW50fS5ka3IuZWNyLiR7U3RhY2sub2Yoc2NvcGUpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWA7XG4gICAgY29uc3QgY29tbWFuZHM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgYXNzZXRzID0gbmV3IEFycmF5PHMzQXNzZXRzLkFzc2V0PigpO1xuXG4gICAgY29uc3QgY29kZUJ1aWxkU2VjcmV0VmFsdWUgPSAoa2V5OiBzdHJpbmcsIGF1dGg6IERvY2tlckh1YkNyZWRlbnRpYWxzKSA9PiB7XG4gICAgICByZXR1cm4gYCR7cHJvcHMuZG9ja2VySHViQ3JlZGVudGlhbHMuc2VjcmV0LnNlY3JldE5hbWV9OiR7a2V5fToke2F1dGgudmVyc2lvblN0YWdlID8/ICdBV1NDVVJSRU5UJ31gO1xuICAgIH07XG5cbiAgICBjb25zdCB1c2VybmFtZSA9IGNvZGVCdWlsZFNlY3JldFZhbHVlKHByb3BzLmRvY2tlckh1YkNyZWRlbnRpYWxzLnVzZXJuYW1lS2V5LCBwcm9wcy5kb2NrZXJIdWJDcmVkZW50aWFscyk7XG4gICAgY29uc3QgcGFzc3dvcmQgPSBjb2RlQnVpbGRTZWNyZXRWYWx1ZShwcm9wcy5kb2NrZXJIdWJDcmVkZW50aWFscy5wYXNzd29yZEtleSwgcHJvcHMuZG9ja2VySHViQ3JlZGVudGlhbHMpO1xuXG4gICAgdGhpcy5fcHJvamVjdCA9IG5ldyBjb2RlYnVpbGQuUHJvamVjdCh0aGlzLCAnRWNyUHVzaEltYWdlcycsIHtcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIHByaXZpbGVnZWQ6IHRydWUsXG4gICAgICAgIGJ1aWxkSW1hZ2U6IGNvZGVidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KCdwdWJsaWMuZWNyLmF3cy9qc2lpL3N1cGVyY2hhaW46MS1idXN0ZXItc2xpbS1ub2RlMTgnKSxcbiAgICAgIH0sXG4gICAgICBlbnZpcm9ubWVudFZhcmlhYmxlczoge1xuICAgICAgICAvLyBEb2NrZXJIdWIgY3JlZGVudGlhbHMgdG8gYXZvaWQgdGhyb3R0bGluZ1xuICAgICAgICBET0NLRVJIVUJfVVNFUk5BTUU6IHsgdmFsdWU6IHVzZXJuYW1lLCB0eXBlOiBjb2RlYnVpbGQuQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZS5TRUNSRVRTX01BTkFHRVIgfSxcbiAgICAgICAgRE9DS0VSSFVCX1BBU1NXT1JEOiB7IHZhbHVlOiBwYXNzd29yZCwgdHlwZTogY29kZWJ1aWxkLkJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZVR5cGUuU0VDUkVUU19NQU5BR0VSIH0sXG4gICAgICB9LFxuICAgICAgYnVpbGRTcGVjOiBjb2RlYnVpbGQuQnVpbGRTcGVjLmZyb21PYmplY3QoTGF6eS5hbnkoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZlcnNpb246ICcwLjInLFxuICAgICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICAgIGJ1aWxkOiB7XG4gICAgICAgICAgICAgICAgY29tbWFuZHM6IFtcblxuICAgICAgICAgICAgICAgICAgLy8gc3RhcnQgdGhlIGRvY2tlciBkYWVtb25cbiAgICAgICAgICAgICAgICAgICdub2h1cCAvdXNyL2Jpbi9kb2NrZXJkIC0taG9zdD11bml4Oi8vL3Zhci9ydW4vZG9ja2VyLnNvY2sgLS1ob3N0PXRjcDovLzEyNy4wLjAuMToyMzc1IC0tc3RvcmFnZS1kcml2ZXI9b3ZlcmxheTImJyxcbiAgICAgICAgICAgICAgICAgICd0aW1lb3V0IDE1IHNoIC1jIFwidW50aWwgZG9ja2VyIGluZm87IGRvIGVjaG8gLjsgc2xlZXAgMTsgZG9uZVwiJyxcblxuICAgICAgICAgICAgICAgICAgLy8gbG9naW4gdG8gZG9ja2VyaHViIHNvIHdlIHdvbid0IGdldCB0aHJvdHRsZWRcbiAgICAgICAgICAgICAgICAgICdkb2NrZXIgbG9naW4gLXUgJHtET0NLRVJIVUJfVVNFUk5BTUV9IC1wICR7RE9DS0VSSFVCX1BBU1NXT1JEfScsXG5cbiAgICAgICAgICAgICAgICAgIC8vIGxvZ2luIHRvIGVjciBzbyB3ZSBjYW4gcHVzaCB0byBpdFxuICAgICAgICAgICAgICAgICAgYGF3cyBlY3IgZ2V0LWxvZ2luLXBhc3N3b3JkIHwgZG9ja2VyIGxvZ2luIC0tdXNlcm5hbWUgQVdTIC0tcGFzc3dvcmQtc3RkaW4gJHtlY3JSZWdpc3RyeX1gLFxuXG4gICAgICAgICAgICAgICAgICAvLyBsb2dpbiB0byBlY3ItcHVibGljIHNvIHdlIGNhbiBwdWxsIGZyb20gaXQgd2l0aCBpbXByb3ZlZCByYXRlIGxpbWl0c1xuICAgICAgICAgICAgICAgICAgJ2F3cyBlY3ItcHVibGljIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiB1cy1lYXN0LTEgfCBkb2NrZXIgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiBwdWJsaWMuZWNyLmF3cycsXG5cbiAgICAgICAgICAgICAgICAgIC4uLmNvbW1hbmRzLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICB9KSksXG4gICAgICBzc21TZXNzaW9uUGVybWlzc2lvbnM6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBFbnN1cmUgdGhlIHJ1bm5lciBoYXMgUFVMTCBhY2Nlc3MgdG8gRUNSLVB1YmxpYy5cbiAgICB0aGlzLl9wcm9qZWN0LnJvbGUhLmFkZE1hbmFnZWRQb2xpY3koaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBbWF6b25FbGFzdGljQ29udGFpbmVyUmVnaXN0cnlQdWJsaWNSZWFkT25seScpKTtcblxuICAgIC8vIEdpdmUgdGhlIHByb2plY3QgYWNjZXNzIHRvIHRoZSBEb2NrZXIgSHViIGNyZWRlbnRpYWxzXG4gICAgLy8gUmVxdWlyZWQgZm9yIGFjY2VzcyB0byBwcml2YXRlIGltYWdlcyBhbmQgdG8gYXZvaWQgdGhyb3R0bGluZyBvZiB1bmF1dGhvcml6ZWQgcmVxdWVzdHNcbiAgICBwcm9wcy5kb2NrZXJIdWJDcmVkZW50aWFscy5zZWNyZXQuZ3JhbnRSZWFkKHRoaXMuX3Byb2plY3QpO1xuXG4gICAgZm9yIChjb25zdCBpbWFnZSBvZiBwcm9wcy5zb3VyY2VzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBpbWFnZS5iaW5kKHtcbiAgICAgICAgc2NvcGU6IHRoaXMsXG4gICAgICAgIGVjclJlZ2lzdHJ5LFxuICAgICAgICBzeW5jSm9iOiB0aGlzLl9wcm9qZWN0LFxuICAgICAgfSk7XG4gICAgICBjb21tYW5kcy5wdXNoKC4uLnJlc3VsdC5jb21tYW5kcyk7XG5cbiAgICAgIGNvbnN0IHJlcG9UYWcgPSBgJHtyZXN1bHQucmVwb3NpdG9yeU5hbWV9OiR7cmVzdWx0LnRhZ31gO1xuICAgICAgaWYgKHRoaXMuX3JlcG9UYWdzU2Vlbi5oYXMocmVwb1RhZykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXJyb3Igc291cmNlIHdpdGggcmVwb3NpdG9yeSBuYW1lIFske3Jlc3VsdC5yZXBvc2l0b3J5TmFtZX1dIGFuZCB0YWcgWyR7cmVzdWx0LnRhZ31dIGFscmVhZHkgZXhpc3RzLmApO1xuICAgICAgfVxuICAgICAgdGhpcy5fcmVwb1RhZ3NTZWVuLmFkZChyZXBvVGFnKTtcblxuICAgICAgdGhpcy5jcmVhdGVNaXJyb3JSZXBvKHJlc3VsdC5yZXBvc2l0b3J5TmFtZSk7XG5cbiAgICAgIGNvbnN0IGVjckltYWdlVXJpID0gYCR7ZWNyUmVnaXN0cnl9LyR7cmVzdWx0LnJlcG9zaXRvcnlOYW1lfToke3Jlc3VsdC50YWd9YDtcbiAgICAgIGNvbW1hbmRzLnB1c2goYGRvY2tlciBwdXNoICR7ZWNySW1hZ2VVcml9YCk7XG5cbiAgICAgIC8vIGNsZWFuIGFmdGVyIGVhY2ggcHVzaCBzbyB0aGF0IHdlIGRvbid0IGZpbGx1cCBkaXNrIHNwYWNlXG4gICAgICAvLyBwb3NzaWJseSBmYWlsaW5nIHRoZSBuZXh0IHB1bGwuXG4gICAgICBjb21tYW5kcy5wdXNoKCdkb2NrZXIgaW1hZ2UgcHJ1bmUgLS1hbGwgLS1mb3JjZScpO1xuICAgIH1cblxuICAgIC8vIENvZGVCdWlsZCBuZWVkcyB0byByZWFkIHRoZSBzZWNyZXQgdG8gcmVzb2x2ZSBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiAgICBwcm9wcy5kb2NrZXJIdWJDcmVkZW50aWFscy5zZWNyZXQuZ3JhbnRSZWFkKHRoaXMuX3Byb2plY3QpO1xuXG4gICAgZWNyLkF1dGhvcml6YXRpb25Ub2tlbi5ncmFudFJlYWQodGhpcy5fcHJvamVjdCk7XG4gICAgdGhpcy5fcmVwb3MuZm9yRWFjaCgociwgXykgPT4gci5ncmFudFB1bGxQdXNoKHRoaXMuX3Byb2plY3QpKTtcblxuICAgIC8vIHRoaXMgcHJvamVjdCBuZWVkcyB0byBkb3dubG9hZCB0aGUgYXNzZXRzIHNvIGl0IGNhbiBidWlsZCB0aGVtXG4gICAgYXNzZXRzLmZvckVhY2goYSA9PiBhLmdyYW50UmVhZCh0aGlzLl9wcm9qZWN0KSk7XG5cbiAgICBpZiAocHJvcHMuYXV0b1N0YXJ0KSB7XG4gICAgICBuZXcgY3IuQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0J1aWxkRXhlY3V0aW9uJywge1xuICAgICAgICBwb2xpY3k6IGNyLkF3c0N1c3RvbVJlc291cmNlUG9saWN5LmZyb21TZGtDYWxscyh7IHJlc291cmNlczogW3RoaXMuX3Byb2plY3QucHJvamVjdEFybl0gfSksXG4gICAgICAgIG9uVXBkYXRlOiB7XG4gICAgICAgICAgYWN0aW9uOiAnc3RhcnRCdWlsZCcsXG4gICAgICAgICAgc2VydmljZTogJ0NvZGVCdWlsZCcsXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgcHJvamVjdE5hbWU6IHRoaXMuX3Byb2plY3QucHJvamVjdE5hbWUsXG4gICAgICAgICAgICAvLyB0byB0aWdnZXIgdGhlIGJ1aWxkIG9uIGV2ZXJ5IHVwZGF0ZVxuICAgICAgICAgICAgaWRlbXBvdGVuY3lUb2tlbjogYCR7RGF0ZS5ub3coKX1gLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQub2YoJ0VjclJlZ2lzdHJ5RXhlY3V0aW9uJyksXG5cbiAgICAgICAgICAvLyBuZWVkIHNpbmNlIHRoZSBkZWZhdWx0IHJlcG9uc2UgaWYgZ3JlYXRlciB0aGFuIHRoZSA0ayBsaW1pdCBmb3IgY3VzdG9tIHJlc291cmNlcy5cbiAgICAgICAgICBvdXRwdXRQYXRoczogWydidWlsZC5pZCddLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNjaGVkdWxlKSB7XG4gICAgICBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1NjaGVkdWxlZFRyaWdnZXInLCB7XG4gICAgICAgIHNjaGVkdWxlOiBwcm9wcy5zY2hlZHVsZSxcbiAgICAgICAgdGFyZ2V0czogW25ldyB0YXJnZXRzLkNvZGVCdWlsZFByb2plY3QodGhpcy5fcHJvamVjdCldLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVNaXJyb3JSZXBvKGVjclJlcG9zaXRvcnlOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5fcmVwb3MuZ2V0KGVjclJlcG9zaXRvcnlOYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBuZXcgZWNyLlJlcG9zaXRvcnkodGhpcywgYFJlcG8ke2VjclJlcG9zaXRvcnlOYW1lfWAsIHtcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiBlY3JSZXBvc2l0b3J5TmFtZSxcbiAgICB9KTtcbiAgICB0aGlzLl9yZXBvcy5zZXQoZWNyUmVwb3NpdG9yeU5hbWUsIHJlcG9zaXRvcnkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdGFyZ2V0IEVDUiByZXBvc2l0b3J5IGZvciB0aGUgZ2l2ZW4gcmVwb3NpdG9yeSBuYW1lIGFuZCB0YWcuXG4gICAqIEBwYXJhbSByZXBvc2l0b3J5TmFtZSBUaGUgRUNSIHJlcG9zaXRvcnkgd2l0aCB0aGlzIG5hbWVcbiAgICogQHBhcmFtIHRhZyB0aGUgdGFnIGZvciB0aGUgcmVwb3NpdG9yeSwgZGVmYXVsdHMgdG8gJ2xhdGVzdCdcbiAgICovXG4gIHB1YmxpYyBlY3JSZXBvc2l0b3J5KHJlcG9zaXRvcnlOYW1lOiBzdHJpbmcpOiBlY3IuSVJlcG9zaXRvcnkgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9yZXBvcy5nZXQocmVwb3NpdG9yeU5hbWUpO1xuICB9XG59O1xuXG4vKipcbiAqIEFuIGFzcGVjdCB0aGF0IHdhbGtzIHRocm91Z2ggdGhlIGNvbnN0cnVjdCB0cmVlIGFuZCByZXBsYWNlcyBDb2RlQnVpbGQgam9icyB3aXRoIERvY2tlciBpbWFnZXNcbiAqIHdpdGggRUNSIGVxdWl2YWxlbnRzIGZvdW5kIGluIHRoZSBFY3JNaXJyb3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBFY3JNaXJyb3JBc3BlY3QgaW1wbGVtZW50cyBJQXNwZWN0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtaXJyb3I6IEVjck1pcnJvcikge31cblxuICBwdWJsaWMgdmlzaXQoY29uc3RydWN0OiBJQ29uc3RydWN0KSB7XG4gICAgaWYgKGNvbnN0cnVjdCBpbnN0YW5jZW9mIGNvZGVidWlsZC5Qcm9qZWN0KSB7XG4gICAgICBjb25zdCBjZm5wcm9qZWN0ID0gY29uc3RydWN0Lm5vZGUuZGVmYXVsdENoaWxkIGFzIGNvZGVidWlsZC5DZm5Qcm9qZWN0O1xuICAgICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoY2ZucHJvamVjdC5lbnZpcm9ubWVudCkpIHtcbiAgICAgICAgY29uc3QgZW52ID0gY2ZucHJvamVjdC5lbnZpcm9ubWVudCBhcyBjb2RlYnVpbGQuQ2ZuUHJvamVjdC5FbnZpcm9ubWVudFByb3BlcnR5O1xuICAgICAgICBjb25zdCBpbWFnZU5hbWUgPSBlbnYuaW1hZ2Uuc3BsaXQoJzonKVswXTtcbiAgICAgICAgY29uc3QgdGFnID0gZW52LmltYWdlLnNwbGl0KCc6JylbMV07XG4gICAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gdGhpcy5taXJyb3IuZWNyUmVwb3NpdG9yeShpbWFnZU5hbWUpO1xuICAgICAgICBpZiAocmVwbGFjZW1lbnQpIHtcbiAgICAgICAgICBjZm5wcm9qZWN0LmVudmlyb25tZW50ID0ge1xuICAgICAgICAgICAgLi4uZW52LFxuICAgICAgICAgICAgaW1hZ2U6IGNvZGVidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbUVjclJlcG9zaXRvcnkocmVwbGFjZW1lbnQsIHRhZykuaW1hZ2VJZCxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJlcGxhY2VtZW50LmdyYW50UHVsbChjb25zdHJ1Y3QpO1xuICAgICAgICAgIGVjci5BdXRob3JpemF0aW9uVG9rZW4uZ3JhbnRSZWFkKGNvbnN0cnVjdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -92,7 +92,7 @@
92
92
  },
93
93
  "main": "lib/index.js",
94
94
  "license": "Apache-2.0",
95
- "version": "14.4.32",
95
+ "version": "14.4.33",
96
96
  "jest": {
97
97
  "testMatch": [
98
98
  "**/lib/__tests__/**/?(*.)+(spec|test).js?(x)"