construct-hub 0.4.301 → 0.4.302

Sign up to get free protection for your applications and to get access to all the features.
package/.jsii CHANGED
@@ -17238,6 +17238,6 @@
17238
17238
  "symbolId": "src/package-sources/npmjs:NpmJsProps"
17239
17239
  }
17240
17240
  },
17241
- "version": "0.4.301",
17242
- "fingerprint": "5iFUrRKVDHAS4U2RwqoBp9NC+YZBv4pib2Iab3ZEoiA="
17241
+ "version": "0.4.302",
17242
+ "fingerprint": "j0MGBoi3O0sJtEyaQCrhem/bnztzll/7WxyTR1Zjbg0="
17243
17243
  }
package/.projenrc.ts CHANGED
@@ -553,6 +553,13 @@ function newEcsTask(entrypoint: string) {
553
553
  const className = Case.pascal(basename(dir));
554
554
  const propsName = `${className}Props`;
555
555
 
556
+ const memoryLimit = ECS_TASK_MEMORY_LIMIT_DEFINITIONS[entrypoint];
557
+ if (!memoryLimit) {
558
+ throw new Error(
559
+ `Unable to find memory limit definition for entrypoint: ${entrypoint}`
560
+ );
561
+ }
562
+
556
563
  const ts = new SourceCode(project, infra);
557
564
  ts.line(`// ${ts.marker}`);
558
565
  ts.line("import * as path from 'path';");
@@ -561,6 +568,8 @@ function newEcsTask(entrypoint: string) {
561
568
  ts.line("import * as iam from 'aws-cdk-lib/aws-iam';");
562
569
  ts.line("import { Construct } from 'constructs';");
563
570
  ts.line();
571
+ ts.line(`export const MEMORY_LIMIT = ${memoryLimit}`);
572
+ ts.line();
564
573
  ts.open(
565
574
  `export interface ${propsName} extends Omit<ecs.ContainerDefinitionOptions, 'image'> {`
566
575
  );
@@ -738,7 +747,12 @@ function newEcsTask(entrypoint: string) {
738
747
  df.line('ENV GIT_SSH_COMMAND=ssh');
739
748
  // By default, no more than 10 lines of the stack trace are shown. Increase
740
749
  // this to help with debugging errors.
741
- df.line('ENV NODE_OPTIONS="--stack-trace-limit=100"');
750
+ df.line(
751
+ `ENV NODE_OPTIONS="--stack-trace-limit=100 --max-old-space-size=${
752
+ // don't use up the entire container memory
753
+ memoryLimit - 512
754
+ }"`
755
+ );
742
756
  df.line();
743
757
  df.line(`ENTRYPOINT ["/usr/bin/env", "node", "/bundle/${dockerEntry}"]`);
744
758
 
@@ -812,6 +826,10 @@ function discoverLambdas() {
812
826
  }
813
827
  }
814
828
 
829
+ const ECS_TASK_MEMORY_LIMIT_DEFINITIONS: { [key: string]: number } = {
830
+ 'backend/transliterator/transliterator.ecstask.ts': 8192,
831
+ };
832
+
815
833
  function discoverEcsTasks() {
816
834
  const entrypoints = new Array<string>();
817
835
 
@@ -59,7 +59,7 @@ class Transliterator extends constructs_1.Construct {
59
59
  }),
60
60
  taskDefinition: new aws_ecs_1.FargateTaskDefinition(this, 'TaskDefinition', {
61
61
  cpu: 4096,
62
- memoryLimitMiB: 8192,
62
+ memoryLimitMiB: transliterator_1.MEMORY_LIMIT,
63
63
  runtimePlatform: {
64
64
  cpuArchitecture: aws_ecs_1.CpuArchitecture.ARM64,
65
65
  operatingSystemFamily: aws_ecs_1.OperatingSystemFamily.LINUX,
@@ -187,4 +187,4 @@ class Transliterator extends constructs_1.Construct {
187
187
  }
188
188
  }
189
189
  exports.Transliterator = Transliterator;
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZC90cmFuc2xpdGVyYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNkQ7QUFPN0QsaURBUzZCO0FBQzdCLGlEQUE4RDtBQUM5RCxtREFBMEU7QUFFMUUscUVBSXVDO0FBQ3ZDLGlGQUc2QztBQUM3QywyQ0FBdUM7QUFDdkMscURBQStEO0FBRy9ELCtCQUErQjtBQUMvQixpREFBaUQ7QUFDakQsaURBQTJEO0FBb0UzRDs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLHNCQUFTO0lBSTNDLElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7SUFDakQsQ0FBQztJQUVELFlBQW1CLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQ2QsS0FBSyxDQUFDLFlBQVksRUFBRSxZQUFZLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxlQUFlO1lBQ3BFLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUNwQyxLQUFLLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFDbEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQ2hDO1lBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFFekIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFlBQVk7WUFDL0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzVELENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBRWpCLE1BQU0sV0FBVyxHQUEyQjtZQUMxQywrREFBK0Q7WUFDL0QsNEZBQTRGO1lBQzVGLFdB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Z0JBQWdCLENBQ3JCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixJQUEwQjtRQUUxQixPQUFPLElBQUksb0NBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQy9CLHlFQUF5RTtZQUN6RSxpRUFBaUU7WUFDakUsb0VBQW9FO1lBQ3BFLHVFQUF1RTtZQUN2RSxtREFBbUQ7WUFDbkQsU0FBUyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUM5QixHQUFHLElBQUk7WUFDUCxrQkFBa0IsRUFBRTtnQkFDbEI7b0JBQ0UsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtvQkFDN0MsT0FBTyxFQUFFLDRCQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztvQkFDN0IsV0FBVyxFQUFFO3dCQUNYLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSw0QkFBUSxDQUFDLFNBQVMsRUFBRTt3QkFDckQseUVBQXlFO3dCQUN6RSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO3FCQUM3QztpQkFDRjthQUNGO1lBQ0Qsa0JBQWtCLEVBQUUsc0NBQWtCLENBQUMsbUJBQW1CO1lBQzFELFlBQVksRUFBRSxJQUFJLGdEQUFzQixDQUFDO2dCQUN2QyxlQUFlLEVBQUUsZ0NBQXNCLENBQUMsVUFBVTthQUNuRCxDQUFDO1lBQ0YsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3hCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBOVJELHdDQThSQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFybkZvcm1hdCwgRHVyYXRpb24sIEZuLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIEdhdGV3YXlWcGNFbmRwb2ludCxcbiAgSW50ZXJmYWNlVnBjRW5kcG9pbnQsXG4gIFN1Ym5ldFNlbGVjdGlvbixcbiAgSVNlY3VyaXR5R3JvdXAsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHtcbiAgQ29udGFpbmVyRGVmaW5pdGlvbixcbiAgQ3B1QXJjaGl0ZWN0dXJlLFxuICBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLFxuICBGYXJnYXRlVGFza0RlZmluaXRpb24sXG4gIElDbHVzdGVyLFxuICBMb2dEcml2ZXJzLFxuICBPcGVyYXRpbmdTeXN0ZW1GYW1pbHksXG4gIFVsaW1pdE5hbWUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0IHsgRWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElMb2dHcm91cCwgTG9nR3JvdXAsIFJldGVudGlvbkRheXMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7XG4gIEludGVncmF0aW9uUGF0dGVybixcbiAgSnNvblBhdGgsXG4gIFRhc2tTdGF0ZUJhc2VQcm9wcyxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMnO1xuaW1wb3J0IHtcbiAgRWNzRmFyZ2F0ZUxhdW5jaFRhcmdldCxcbiAgRWNzUnVuVGFzayxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBUcmFuc2xpdGVyYXRvciBhcyBDb250YWluZXIgfSBmcm9tICcuL3RyYW5zbGl0ZXJhdG9yJztcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tICcuLi8uLi9jb2RlYXJ0aWZhY3QvcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBNb25pdG9yaW5nIH0gZnJvbSAnLi4vLi4vbW9uaXRvcmluZyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICcuLi8uLi9zMyc7XG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vc2hhcmVkL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEb2N1bWVudGF0aW9uTGFuZ3VhZ2UgfSBmcm9tICcuLi9zaGFyZWQvbGFuZ3VhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGl0ZXJhdG9yUHJvcHMge1xuICAvKipcbiAgICogVGhlIGJ1Y2tldCBpbiB3aGljaCB0byBzb3VyY2UgYXNzZW1ibGllcyB0byB0cmFuc2xpdGVyYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgQ29kZUFydGlmYWN0IHJlZ2lzdHJ5IHRvIHVzZSBmb3IgcmVndWxhciBvcGVyYXRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUFydGlmYWN0PzogUmVwb3NpdG9yeTtcblxuICAvKipcbiAgICogVGhlIG1vbml0b3JpbmcgaGFuZGxlciB0byByZWdpc3RlciBhbGFybXMgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3Jpbmc6IE1vbml0b3Jpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBlbmRwb2ludHMgdG8gdXNlIGZvciBpbnRlcmFjdGluZyB3aXRoIENvZGVBcnRpZmFjdCBhbmQgUzMuXG4gICAqL1xuICByZWFkb25seSB2cGNFbmRwb2ludHM/OiBUcmFuc2xpdGVyYXRvclZwY0VuZHBvaW50cztcblxuICAvKipcbiAgICogSG93IGxvbmcgc2hvdWxkIGV4ZWN1dGlvbiBsb2dzIGJlIHJldGFpbmVkP1xuICAgKlxuICAgKiBAZGVmYXVsdCBSZXRlbnRpb25EYXlzLlRFTl9ZRUFSU1xuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogUmV0ZW50aW9uRGF5cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xpdGVyYXRvclZwY0VuZHBvaW50cyB7XG4gIC8qKlxuICAgKiBUaGUgVlBDIGVuZHBvaW50IGZvciB0aGUgQ2xvdWRXYXRjaCBMb2dzIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkV2F0Y2hMb2dzOiBJbnRlcmZhY2VWcGNFbmRwb2ludDtcblxuICAvKipcbiAgICogVGhlIFZQQyBlbmRwb2ludCBmb3IgdGhlIENvZGVBcnRpZmFjdCBBUEkgKHNlcnZpY2U6ICdjb2RlYXJ0aWZhY3QuYXBpJylcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdEFwaT86IEludGVyZmFjZVZwY0VuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGVuZHBvaW50IGZvciB0aGUgQ29kZUFydGlmYWN0IHJlcG9zaXRvcmllcyAoc2VydmljZTogJ2NvZGVhcnRpZmFjdC5yZXBvc2l0b3JpZXMnKVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUFydGlmYWN0PzogSW50ZXJmYWNlVnBjRW5kcG9pbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgZW5kcG9pbnQgdG8gaW50ZXJhY3Qgd2l0aCBFQ1IuXG4gICAqL1xuICByZWFkb25seSBlY3JBcGk6IEludGVyZmFjZVZwY0VuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGVuZHBvaW50IHRvIGludGVyYWN0IHdpdGggRUNSLlxuICAgKi9cbiAgcmVhZG9ubHkgZWNyOiBJbnRlcmZhY2VWcGNFbmRwb2ludDtcblxuICAvKipcbiAgICogVGhlIFZQQyBlbmRwb2ludCBmb3IgdGhlIFMzXG4gICAqL1xuICByZWFkb25seSBzMzogR2F0ZXdheVZwY0VuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGVuZHBvaW50IGZvciBTdGVwRnVuY3Rpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RlcEZ1bmN0aW9uczogSW50ZXJmYWNlVnBjRW5kcG9pbnQ7XG59XG5cbi8qKlxuICogVHJhbnNsaXRlcmF0ZXMganNpaSBhc3NlbWJsaWVzIHRvIHZhcmlvdXMgb3RoZXIgbGFuZ3VhZ2VzLlxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNsaXRlcmF0b3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGFpbmVyRGVmaW5pdGlvbjogQ29udGFpbmVyRGVmaW5pdGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGxvZ0dyb3VwOiBJTG9nR3JvdXA7XG5cbiAgcHVibGljIGdldCB0YXNrRGVmaW5pdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJEZWZpbml0aW9uLnRhc2tEZWZpbml0aW9uO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2xpdGVyYXRvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHJlcG9zaXRvcnkgPVxuICAgICAgcHJvcHMudnBjRW5kcG9pbnRzPy5jb2RlQXJ0aWZhY3QgJiYgcHJvcHMudnBjRW5kcG9pbnRzLmNvZGVBcnRpZmFjdEFwaVxuICAgICAgICA/IHByb3BzLmNvZGVBcnRpZmFjdD8udGhyb3VnaFZwY0VuZHBvaW50KFxuICAgICAgICAgICAgcHJvcHMudnBjRW5kcG9pbnRzLmNvZGVBcnRpZmFjdEFwaSxcbiAgICAgICAgICAgIHByb3BzLnZwY0VuZHBvaW50cy5jb2RlQXJ0aWZhY3RcbiAgICAgICAgICApXG4gICAgICAgIDogcHJvcHMuY29kZUFydGlmYWN0O1xuXG4gICAgY29uc3QgYnVja2V0ID0gcHJvcHMudnBjRW5kcG9pbnRzXG4gICAgICA/IHMzLnRocm91Z2hWcGNFbmRwb2ludChwcm9wcy5idWNrZXQsIHByb3BzLnZwY0VuZHBvaW50cy5zMylcbiAgICAgIDogcHJvcHMuYnVja2V0O1xuXG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAvLyB0ZW1wb3JhdHkgaGFjayB0byBnZW5lcmF0ZSBjb25zdHJ1Y3QtaHViIGNvbXBsaWFudCBtYXJrZG93bi5cbiAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vY2RrbGFicy9qc2lpLWRvY2dlbi9ibG9iL21hc3Rlci9zcmMvZG9jZ2VuL3JlbmRlci9tYXJrZG93bi50cyNMMTcyXG4gICAgICBIRUFERVJfU1BBTjogJ3RydWUnLFxuICAgICAgLy8gU2V0IGVtYmVkZGVkIG1ldHJpY3MgZm9ybWF0IGVudmlyb25tZW50IHRvIFwiTG9jYWxcIiwgdG8gaGF2ZSBhIGNvbnNpc3RlbnQgZXhwZXJpZW5jZS5cbiAgICAgIEFXU19FTUZfRU5WSVJPTk1FTlQ6ICdMb2NhbCcsXG4gICAgfTtcbiAgICBpZiAocHJvcHMudnBjRW5kcG9pbnRzPy5jb2RlQXJ0aWZhY3RBcGkpIHtcbiAgICAgIC8vIFRob3NlIGFyZSByZXR1cm5lZCBhcyBhbiBhcnJheSBvZiBIT1NURURfWk9ORV9JRDpETlNfTkFNRS4uLiBXZSBjYXJlXG4gICAgICAvLyBvbmx5IGFib3V0IHRoZSBETlNfTkFNRSBvZiB0aGUgZmlyc3QgZW50cnkgaW4gdGhhdCBhcnJheSAod2hpY2ggaXNcbiAgICAgIC8vIHRoZSBBWi1hZ25vc3RpYyBETlMgbmFtZSkuXG4gICAgICBlbnZpcm9ubWVudC5DT0RFX0FSVElGQUNUX0FQSV9FTkRQT0lOVCA9IEZuLnNlbGVjdChcbiAgICAgICAgMSxcbiAgICAgICAgRm4uc3BsaXQoXG4gICAgICAgICAgJzonLFxuICAgICAgICAgIEZuLnNlbGVjdCgwLCBwcm9wcy52cGNFbmRwb2ludHMuY29kZUFydGlmYWN0QXBpLnZwY0VuZHBvaW50RG5zRW50cmllcylcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmNvZGVBcnRpZmFjdCkge1xuICAgICAgZW52aXJvbm1lbnQuQ09ERV9BUlRJRkFDVF9ET01BSU5fTkFNRSA9XG4gICAgICAgIHByb3BzLmNvZGVBcnRpZmFjdC5yZXBvc2l0b3J5RG9tYWluTmFtZTtcbiAgICAgIGVudmlyb25tZW50LkNPREVfQVJUSUZBQ1RfRE9NQUlOX09XTkVSID1cbiAgICAgICAgcHJvcHMuY29kZUFydGlmYWN0LnJlcG9zaXRvcnlEb21haW5Pd25lcjtcbiAgICAgIGVudmlyb25tZW50LkNPREVfQVJUSUZBQ1RfUkVQT1NJVE9SWV9FTkRQT0lOVCA9XG4gICAgICAgIHByb3BzLmNvZGVBcnRpZmFjdC5yZXBvc2l0b3J5TnBtRW5kcG9pbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dHcm91cCA9IG5ldyBMb2dHcm91cCh0aGlzLCAnTG9nR3JvdXAnLCB7XG4gICAgICByZXRlbnRpb246IHByb3BzLmxvZ1JldGVudGlvbixcbiAgICB9KTtcblxuICAgIHRoaXMuY29udGFpbmVyRGVmaW5pdGlvbiA9IG5ldyBDb250YWluZXIodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgZW52aXJvbm1lbnQsXG4gICAgICBsb2dnaW5nOiBMb2dEcml2ZXJzLmF3c0xvZ3Moe1xuICAgICAgICBsb2dHcm91cDogdGhpcy5sb2dHcm91cCxcbiAgICAgICAgc3RyZWFtUHJlZml4OiAndHJhbnNsaXRlcmF0b3InLFxuICAgICAgfSksXG4gICAgICB0YXNrRGVmaW5pdGlvbjogbmV3IEZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCAnVGFza0RlZmluaXRpb24nLCB7XG4gICAgICAgIGNwdTogNF8wOTYsXG4gICAgICAgIG1lbW9yeUxpbWl0TWlCOiA4XzE5MixcbiAgICAgICAgcnVudGltZVBsYXRmb3JtOiB7XG4gICAgICAgICAgY3B1QXJjaGl0ZWN0dXJlOiBDcHVBcmNoaXRlY3R1cmUuQVJNNjQsXG4gICAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiBPcGVyYXRpbmdTeXN0ZW1GYW1pbHkuTElOVVgsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICB9KTtcbiAgICAvLyBFbmNvdW50ZXJlZCBhbiBlcnJvciBvZiBcIkVNRklMRTogdG9vIG1hbnkgb3BlbiBmaWxlc1wiIGluIEVDUy5cbiAgICAvLyBEZWZhdWx0IG5vZmlsZSB1bGltaXQgaXMgMTAyNC80MDk2LlxuICAgIC8vXG4gICAgLy8gRm9yIEVDUyB1bGltaXQgZG9jdW1lbnRhdGlvbiBzZWU6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25FQ1MvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVWxpbWl0Lmh0bWxcbiAgICAvLyBGb3IgY29uc3RydWN0IGh1YiB0cmFja2luZyBpc3N1ZSBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9jZGtsYWJzL2NvbnN0cnVjdC1odWIvaXNzdWVzLzk4MlxuICAgIHRoaXMuY29udGFpbmVyRGVmaW5pdGlvbi5hZGRVbGltaXRzKHtcbiAgICAgIG5hbWU6IFVsaW1pdE5hbWUuTk9GSUxFLCAvLyBmaWxlIGRlc2NyaXB0b3JzXG4gICAgICBzb2Z0TGltaXQ6IDE2XzM4NCxcbiAgICAgIGhhcmRMaW1pdDogNjVfNTM1LFxuICAgIH0pO1xuXG4gICAgcmVwb3NpdG9yeT8uZ3JhbnRSZWFkRnJvbVJlcG9zaXRvcnkodGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSk7XG5cbiAgICAvLyBUaGUgdGFzayBoYW5kbGVyIHJlYWRzICYgd3JpdGVzIHRvIHRoaXMgYnVja2V0LlxuICAgIGJ1Y2tldC5ncmFudFJlYWQoXG4gICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgYCR7Y29uc3RhbnRzLlNUT1JBR0VfS0VZX1BSRUZJWH0qJHtjb25zdGFudHMuQVNTRU1CTFlfS0VZX1NVRkZJWH1gXG4gICAgKTtcbiAgICBidWNrZXQuZ3JhbnRSZWFkKFxuICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLlBBQ0tBR0VfS0VZX1NVRkZJWH1gXG4gICAgKTtcbiAgICBidWNrZXQuZ3JhbnRSZWFkKFxuICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLlVOSU5TVEFMTEFCTEVfUEFDS0FHRV9TVUZGSVh9YFxuICAgICk7XG4gICAgYnVja2V0LmdyYW50V3JpdGUoXG4gICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgYCR7Y29uc3RhbnRzLlNUT1JBR0VfS0VZX1BSRUZJWH0qJHtjb25zdGFudHMuVU5JTlNUQUxMQUJMRV9QQUNLQUdFX1NVRkZJWH1gXG4gICAgKTtcbiAgICBidWNrZXQuZ3JhbnREZWxldGUoXG4gICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgYCR7Y29uc3RhbnRzLlNUT1JBR0VfS0VZX1BSRUZJWH0qJHtjb25zdGFudHMuVU5JTlNUQUxMQUJMRV9QQUNLQUdFX1NVRkZJWH1gXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IGxhbmd1YWdlIG9mIERvY3VtZW50YXRpb25MYW5ndWFnZS5BTEwpIHtcbiAgICAgIGJ1Y2tldC5ncmFudFdyaXRlKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KGxhbmd1YWdlKX1gXG4gICAgICApO1xuICAgICAgYnVja2V0LmdyYW50V3JpdGUoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgoXG4gICAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgICAgJyonXG4gICAgICAgICl9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudFdyaXRlKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KGxhbmd1YWdlKX0ke1xuICAgICAgICAgIGNvbnN0YW50cy5OT1RfU1VQUE9SVEVEX1NVRkZJWFxuICAgICAgICB9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWQoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgobGFuZ3VhZ2UpfSR7XG4gICAgICAgICAgY29uc3RhbnRzLk5PVF9TVVBQT1JURURfU1VGRklYXG4gICAgICAgIH1gXG4gICAgICApO1xuICAgICAgYnVja2V0LmdyYW50V3JpdGUoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgoXG4gICAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgICAgJyonXG4gICAgICAgICl9JHtjb25zdGFudHMuTk9UX1NVUFBPUlRFRF9TVUZGSVh9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWQoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgoXG4gICAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgICAgJyonXG4gICAgICAgICl9JHtjb25zdGFudHMuTk9UX1NVUFBPUlRFRF9TVUZGSVh9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWQoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgobGFuZ3VhZ2UpfSR7XG4gICAgICAgICAgY29uc3RhbnRzLkNPUlJVUFRfQVNTRU1CTFlfU1VGRklYXG4gICAgICAgIH1gXG4gICAgICApO1xuICAgICAgYnVja2V0LmdyYW50V3JpdGUoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgobGFuZ3VhZ2UpfSR7XG4gICAgICAgICAgY29uc3RhbnRzLkNPUlJVUFRfQVNTRU1CTFlfU1VGRklYXG4gICAgICAgIH1gXG4gICAgICApO1xuICAgICAgYnVja2V0LmdyYW50UmVhZChcbiAgICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICAgICAgYCR7Y29uc3RhbnRzLlNUT1JBR0VfS0VZX1BSRUZJWH0qJHtjb25zdGFudHMuZG9jc0tleVN1ZmZpeChcbiAgICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgICAnKidcbiAgICAgICAgKX0ke2NvbnN0YW50cy5DT1JSVVBUX0FTU0VNQkxZX1NVRkZJWH1gXG4gICAgICApO1xuICAgICAgYnVja2V0LmdyYW50V3JpdGUoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgoXG4gICAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgICAgJyonXG4gICAgICAgICl9JHtjb25zdGFudHMuQ09SUlVQVF9BU1NFTUJMWV9TVUZGSVh9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudERlbGV0ZShcbiAgICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICAgICAgYCR7Y29uc3RhbnRzLlNUT1JBR0VfS0VZX1BSRUZJWH0qJHtjb25zdGFudHMuZG9jc0tleVN1ZmZpeChsYW5ndWFnZSl9JHtcbiAgICAgICAgICBjb25zdGFudHMuQ09SUlVQVF9BU1NFTUJMWV9TVUZGSVhcbiAgICAgICAgfWBcbiAgICAgICk7XG4gICAgICBidWNrZXQuZ3JhbnREZWxldGUoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgoXG4gICAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgICAgJyonXG4gICAgICAgICl9JHtjb25zdGFudHMuQ09SUlVQVF9BU1NFTUJMWV9TVUZGSVh9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGVjdXRpb25Sb2xlID0gdGhpcy50YXNrRGVmaW5pdGlvbi5vYnRhaW5FeGVjdXRpb25Sb2xlKCk7XG4gICAgcHJvcHMudnBjRW5kcG9pbnRzPy5lY3JBcGkuYWRkVG9Qb2xpY3koXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgIGFjdGlvbnM6IFsnZWNyOkdldEF1dGhvcml6YXRpb25Ub2tlbiddLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLCAvLyBBY3Rpb24gZG9lcyBub3Qgc3VwcG9ydCByZXNvdXJjZSBzY29waW5nXG4gICAgICAgIHByaW5jaXBhbHM6IFtleGVjdXRpb25Sb2xlXSxcbiAgICAgICAgc2lkOiAnQWxsb3ctRUNSLVJlYWRPbmx5JyxcbiAgICAgIH0pXG4gICAgKTtcbiAgICBwcm9wcy52cGNFbmRwb2ludHM/LmVjci5hZGRUb1BvbGljeShcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICdlY3I6QmF0Y2hDaGVja0xheWVyQXZhaWxhYmlsaXR5JyxcbiAgICAgICAgICAnZWNyOkdldERvd25sb2FkVXJsRm9yTGF5ZXInLFxuICAgICAgICAgICdlY3I6QmF0Y2hHZXRJbWFnZScsXG4gICAgICAgIF0sXG4gICAgICAgIC8vIFdlIGNhbm5vdCBnZXQgdGhlIEVDUiByZXBvc2l0b3J5IGluZm8gZnJvbSBhbiBhc3NldC4uLiBTbyBzY29waW5nIGRvd24gdG8gc2FtZS1hY2NvdW50IHJlcG9zaXRvcmllcyBpbnN0ZWFkLi4uXG4gICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgIFN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgICBzZXJ2aWNlOiAnZWNyJyxcbiAgICAgICAgICAgIHJlc291cmNlOiAncmVwb3NpdG9yeScsXG4gICAgICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiAnKicsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICAgIHByaW5jaXBhbHM6IFtleGVjdXRpb25Sb2xlXSxcbiAgICAgICAgc2lkOiAnQWxsb3ctRUNSLVJlYWRPbmx5JyxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHByb3BzLnZwY0VuZHBvaW50cz8uY2xvdWRXYXRjaExvZ3MuYWRkVG9Qb2xpY3koXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgIGFjdGlvbnM6IFsnbG9nczpDcmVhdGVMb2dTdHJlYW0nLCAnbG9nczpQdXRMb2dFdmVudHMnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICAgIHNlcnZpY2U6ICdsb2dzJyxcbiAgICAgICAgICAgIHJlc291cmNlOiAnbG9nLWdyb3VwJyxcbiAgICAgICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgICAgICAgICByZXNvdXJjZU5hbWU6IHRoaXMubG9nR3JvdXAubG9nR3JvdXBOYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIFN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgICBzZXJ2aWNlOiAnbG9ncycsXG4gICAgICAgICAgICByZXNvdXJjZTogJ2xvZy1ncm91cCcsXG4gICAgICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiBgJHt0aGlzLmxvZ0dyb3VwLmxvZ0dyb3VwTmFtZX06bG9nLXN0cmVhbToqYCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgcHJpbmNpcGFsczogW2V4ZWN1dGlvblJvbGVdLFxuICAgICAgICBzaWQ6ICdBbGxvdy1Mb2dnaW5nJyxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHByb3BzLnZwY0VuZHBvaW50cz8uc3RlcEZ1bmN0aW9ucy5hZGRUb1BvbGljeShcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICdzdGF0ZXM6U2VuZFRhc2tGYWlsdXJlJyxcbiAgICAgICAgICAnc3RhdGVzOlNlbmRUYXNrSGVhcnRiZWF0JyxcbiAgICAgICAgICAnc3RhdGVzOlNlbmRUYXNrU3VjY2VzcycsXG4gICAgICAgIF0sXG4gICAgICAgIHJlc291cmNlczogWycqJ10sIC8vIEFjdGlvbnMgZG9uJ3Qgc3VwcG9ydCByZXNvdXJjZSBzY29waW5nXG4gICAgICAgIHByaW5jaXBhbHM6IFt0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlXSxcbiAgICAgICAgc2lkOiAnQWxsb3ctU3RlcEZ1bmN0aW9ucy1DYWxsYmFja3MnLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUVjc1J1blRhc2soXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIG9wdHM6IENyZWF0ZUVjc1J1blRhc2tPcHRzXG4gICk6IEVjc1J1blRhc2sge1xuICAgIHJldHVybiBuZXcgRWNzUnVuVGFzayhzY29wZSwgaWQsIHtcbiAgICAgIC8vIFRoZSBjb250YWluZXIgc2VuZHMgaGVhcnRiZWF0cyBldmVyeSBtaW51dGUsIGJ1dCB3aGVuIHRoZSBydW5sb29wIHdpbGxcbiAgICAgIC8vIGFjdHVhbGx5IGdldCB0byBzdWJtaXR0aW5nIGl0IGlzIGZhaXJseSBkZXBlbmRlbnQgb24gdGhlIGFzeW5jXG4gICAgICAvLyB3b3JrbG9hZCdzIG5hdHVyZS4uLiBzbyB3ZSBkb24ndCByZWx5IG9uIGl0IGFsbCB0b28gc3Ryb25nbHksIGFuZFxuICAgICAgLy8gZGVmYXVsdCB0byBhIDUgbWludXRlcyB0aW1lb3V0IGhlcmUgYXMgYSBtaW5pbWFsIHByb3RlY3Rpb24uIE9wdGlvbnNcbiAgICAgIC8vIG1heSBvdmVycmlkZSB0aGlzIGxpYmVyYWxseSBpZiB0aGV5IGtub3cgYmV0dGVyLlxuICAgICAgaGVhcnRiZWF0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIGNvbnRhaW5lck92ZXJyaWRlczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29udGFpbmVyRGVmaW5pdGlvbjogdGhpcy5jb250YWluZXJEZWZpbml0aW9uLFxuICAgICAgICAgIGNvbW1hbmQ6IEpzb25QYXRoLmxpc3RBdCgnJCcpLFxuICAgICAgICAgIGVudmlyb25tZW50OiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdTRk5fVEFTS19UT0tFTicsIHZhbHVlOiBKc29uUGF0aC50YXNrVG9rZW4gfSxcbiAgICAgICAgICAgIC8vIFBMQUNFSE9MREVSOiBTZXQgdGhpcyB0byBzb21ldGhpbmcgbm9uLWVtcHR5IHRvIGVuYWJsZSBsc29mIHJ1bm5pbmcuLi5cbiAgICAgICAgICAgIHsgbmFtZTogJ1JVTl9MU09GX09OX0hFQVJUQkVBVCcsIHZhbHVlOiAnJyB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgaW50ZWdyYXRpb25QYXR0ZXJuOiBJbnRlZ3JhdGlvblBhdHRlcm4uV0FJVF9GT1JfVEFTS19UT0tFTixcbiAgICAgIGxhdW5jaFRhcmdldDogbmV3IEVjc0ZhcmdhdGVMYXVuY2hUYXJnZXQoe1xuICAgICAgICBwbGF0Zm9ybVZlcnNpb246IEZhcmdhdGVQbGF0Zm9ybVZlcnNpb24uVkVSU0lPTjFfNCxcbiAgICAgIH0pLFxuICAgICAgc3VibmV0czogb3B0cy52cGNTdWJuZXRzLFxuICAgICAgc2VjdXJpdHlHcm91cHM6IG9wdHMuc2VjdXJpdHlHcm91cHMsXG4gICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUVjc1J1blRhc2tPcHRzIGV4dGVuZHMgVGFza1N0YXRlQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBFQ1MgY2x1c3RlciB0byB1c2UgZm9yIHJ1bm5pbmcgdGhlIHRhc2sgKG11c3Qgc3VwcG9ydCBGYXJnYXRlKVxuICAgKi9cbiAgcmVhZG9ubHkgY2x1c3RlcjogSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBwYXRoIHRvIHRoZSB0cmFuc2xpdGVyYXRvciBpbnB1dCBvYmplY3QsIHByZXNlbnRlZCBhcyBhbiBhcnJheVxuICAgKiBjb250YWluaW5nIGEgc2luZ2xlIEpTT04tZW5jb2RlZCBvYmplY3QuXG4gICAqXG4gICAqIFRoaXMgaXMgZHVlIHRvIHRoZSBsYWNrIG9mIGFuIGFiaWxpdHkgdG8gXCJjbGVhbmx5XCIgbW9kZWwgYW4gQVBJIHdoZXJlIHRoZVxuICAgKiBgY3JlYXRlRWNzUnVuVGFza2AgbWV0aG9kIGNvdWxkIGRvIHRoZSBpbnB1dCBwcm9jZXNzaW5nIHByb3Blcmx5Li4uXG4gICAqL1xuICByZWFkb25seSBpbnB1dFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVlBDIFN1Ym5ldCBwbGFjZW1lbnQgb3B0aW9ucywgaWYgcmVsZXZhbnQuXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBFeGlzdGluZyBzZWN1cml0eSBncm91cHMgdG8gdXNlIGZvciB0aGUgdGFza3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQSBuZXcgc2VjdXJpdHkgZ3JvdXAgaXMgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM/OiBJU2VjdXJpdHlHcm91cFtdO1xufVxuIl19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZC90cmFuc2xpdGVyYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNkQ7QUFPN0QsaURBUzZCO0FBQzdCLGlEQUE4RDtBQUM5RCxtREFBMEU7QUFFMUUscUVBSXVDO0FBQ3ZDLGlGQUc2QztBQUM3QywyQ0FBdUM7QUFDdkMscURBQTZFO0FBRzdFLCtCQUErQjtBQUMvQixpREFBaUQ7QUFDakQsaURBQTJEO0FBb0UzRDs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLHNCQUFTO0lBSTNDLElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7SUFDakQsQ0FBQztJQUVELFlBQW1CLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQ2QsS0FBSyxDQUFDLFlBQVksRUFBRSxZQUFZLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxlQUFlO1lBQ3BFLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUNwQyxLQUFLLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFDbEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQ2hDO1lBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFFekIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFlBQVk7WUFDL0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzVELENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBRWpCLE1BQU0sV0FBVyxHQUEyQjtZQUMxQywrREFBK0Q7WUFDL0QsNEZBQTRGO1lBQzVGLFdB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LGdCQUFnQixDQUNyQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsSUFBMEI7UUFFMUIsT0FBTyxJQUFJLG9DQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUMvQix5RUFBeUU7WUFDekUsaUVBQWlFO1lBQ2pFLG9FQUFvRTtZQUNwRSx1RUFBdUU7WUFDdkUsbURBQW1EO1lBQ25ELFNBQVMsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDOUIsR0FBRyxJQUFJO1lBQ1Asa0JBQWtCLEVBQUU7Z0JBQ2xCO29CQUNFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7b0JBQzdDLE9BQU8sRUFBRSw0QkFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7b0JBQzdCLFdBQVcsRUFBRTt3QkFDWCxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsNEJBQVEsQ0FBQyxTQUFTLEVBQUU7d0JBQ3JELHlFQUF5RTt3QkFDekUsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtxQkFDN0M7aUJBQ0Y7YUFDRjtZQUNELGtCQUFrQixFQUFFLHNDQUFrQixDQUFDLG1CQUFtQjtZQUMxRCxZQUFZLEVBQUUsSUFBSSxnREFBc0IsQ0FBQztnQkFDdkMsZUFBZSxFQUFFLGdDQUFzQixDQUFDLFVBQVU7YUFDbkQsQ0FBQztZQUNGLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN4QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTlSRCx3Q0E4UkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcm5Gb3JtYXQsIER1cmF0aW9uLCBGbiwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBHYXRld2F5VnBjRW5kcG9pbnQsXG4gIEludGVyZmFjZVZwY0VuZHBvaW50LFxuICBTdWJuZXRTZWxlY3Rpb24sXG4gIElTZWN1cml0eUdyb3VwLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7XG4gIENvbnRhaW5lckRlZmluaXRpb24sXG4gIENwdUFyY2hpdGVjdHVyZSxcbiAgRmFyZ2F0ZVBsYXRmb3JtVmVyc2lvbixcbiAgRmFyZ2F0ZVRhc2tEZWZpbml0aW9uLFxuICBJQ2x1c3RlcixcbiAgTG9nRHJpdmVycyxcbiAgT3BlcmF0aW5nU3lzdGVtRmFtaWx5LFxuICBVbGltaXROYW1lLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCB7IEVmZmVjdCwgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBJTG9nR3JvdXAsIExvZ0dyb3VwLCBSZXRlbnRpb25EYXlzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQge1xuICBJbnRlZ3JhdGlvblBhdHRlcm4sXG4gIEpzb25QYXRoLFxuICBUYXNrU3RhdGVCYXNlUHJvcHMsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCB7XG4gIEVjc0ZhcmdhdGVMYXVuY2hUYXJnZXQsXG4gIEVjc1J1blRhc2ssXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVHJhbnNsaXRlcmF0b3IgYXMgQ29udGFpbmVyLCBNRU1PUllfTElNSVQgfSBmcm9tICcuL3RyYW5zbGl0ZXJhdG9yJztcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tICcuLi8uLi9jb2RlYXJ0aWZhY3QvcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBNb25pdG9yaW5nIH0gZnJvbSAnLi4vLi4vbW9uaXRvcmluZyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICcuLi8uLi9zMyc7XG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vc2hhcmVkL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEb2N1bWVudGF0aW9uTGFuZ3VhZ2UgfSBmcm9tICcuLi9zaGFyZWQvbGFuZ3VhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGl0ZXJhdG9yUHJvcHMge1xuICAvKipcbiAgICogVGhlIGJ1Y2tldCBpbiB3aGljaCB0byBzb3VyY2UgYXNzZW1ibGllcyB0byB0cmFuc2xpdGVyYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgQ29kZUFydGlmYWN0IHJlZ2lzdHJ5IHRvIHVzZSBmb3IgcmVndWxhciBvcGVyYXRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUFydGlmYWN0PzogUmVwb3NpdG9yeTtcblxuICAvKipcbiAgICogVGhlIG1vbml0b3JpbmcgaGFuZGxlciB0byByZWdpc3RlciBhbGFybXMgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3Jpbmc6IE1vbml0b3Jpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBlbmRwb2ludHMgdG8gdXNlIGZvciBpbnRlcmFjdGluZyB3aXRoIENvZGVBcnRpZmFjdCBhbmQgUzMuXG4gICAqL1xuICByZWFkb25seSB2cGNFbmRwb2ludHM/OiBUcmFuc2xpdGVyYXRvclZwY0VuZHBvaW50cztcblxuICAvKipcbiAgICogSG93IGxvbmcgc2hvdWxkIGV4ZWN1dGlvbiBsb2dzIGJlIHJldGFpbmVkP1xuICAgKlxuICAgKiBAZGVmYXVsdCBSZXRlbnRpb25EYXlzLlRFTl9ZRUFSU1xuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogUmV0ZW50aW9uRGF5cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xpdGVyYXRvclZwY0VuZHBvaW50cyB7XG4gIC8qKlxuICAgKiBUaGUgVlBDIGVuZHBvaW50IGZvciB0aGUgQ2xvdWRXYXRjaCBMb2dzIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkV2F0Y2hMb2dzOiBJbnRlcmZhY2VWcGNFbmRwb2ludDtcblxuICAvKipcbiAgICogVGhlIFZQQyBlbmRwb2ludCBmb3IgdGhlIENvZGVBcnRpZmFjdCBBUEkgKHNlcnZpY2U6ICdjb2RlYXJ0aWZhY3QuYXBpJylcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdEFwaT86IEludGVyZmFjZVZwY0VuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGVuZHBvaW50IGZvciB0aGUgQ29kZUFydGlmYWN0IHJlcG9zaXRvcmllcyAoc2VydmljZTogJ2NvZGVhcnRpZmFjdC5yZXBvc2l0b3JpZXMnKVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUFydGlmYWN0PzogSW50ZXJmYWNlVnBjRW5kcG9pbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgZW5kcG9pbnQgdG8gaW50ZXJhY3Qgd2l0aCBFQ1IuXG4gICAqL1xuICByZWFkb25seSBlY3JBcGk6IEludGVyZmFjZVZwY0VuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGVuZHBvaW50IHRvIGludGVyYWN0IHdpdGggRUNSLlxuICAgKi9cbiAgcmVhZG9ubHkgZWNyOiBJbnRlcmZhY2VWcGNFbmRwb2ludDtcblxuICAvKipcbiAgICogVGhlIFZQQyBlbmRwb2ludCBmb3IgdGhlIFMzXG4gICAqL1xuICByZWFkb25seSBzMzogR2F0ZXdheVZwY0VuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGVuZHBvaW50IGZvciBTdGVwRnVuY3Rpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RlcEZ1bmN0aW9uczogSW50ZXJmYWNlVnBjRW5kcG9pbnQ7XG59XG5cbi8qKlxuICogVHJhbnNsaXRlcmF0ZXMganNpaSBhc3NlbWJsaWVzIHRvIHZhcmlvdXMgb3RoZXIgbGFuZ3VhZ2VzLlxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNsaXRlcmF0b3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGFpbmVyRGVmaW5pdGlvbjogQ29udGFpbmVyRGVmaW5pdGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGxvZ0dyb3VwOiBJTG9nR3JvdXA7XG5cbiAgcHVibGljIGdldCB0YXNrRGVmaW5pdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJEZWZpbml0aW9uLnRhc2tEZWZpbml0aW9uO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2xpdGVyYXRvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHJlcG9zaXRvcnkgPVxuICAgICAgcHJvcHMudnBjRW5kcG9pbnRzPy5jb2RlQXJ0aWZhY3QgJiYgcHJvcHMudnBjRW5kcG9pbnRzLmNvZGVBcnRpZmFjdEFwaVxuICAgICAgICA/IHByb3BzLmNvZGVBcnRpZmFjdD8udGhyb3VnaFZwY0VuZHBvaW50KFxuICAgICAgICAgICAgcHJvcHMudnBjRW5kcG9pbnRzLmNvZGVBcnRpZmFjdEFwaSxcbiAgICAgICAgICAgIHByb3BzLnZwY0VuZHBvaW50cy5jb2RlQXJ0aWZhY3RcbiAgICAgICAgICApXG4gICAgICAgIDogcHJvcHMuY29kZUFydGlmYWN0O1xuXG4gICAgY29uc3QgYnVja2V0ID0gcHJvcHMudnBjRW5kcG9pbnRzXG4gICAgICA/IHMzLnRocm91Z2hWcGNFbmRwb2ludChwcm9wcy5idWNrZXQsIHByb3BzLnZwY0VuZHBvaW50cy5zMylcbiAgICAgIDogcHJvcHMuYnVja2V0O1xuXG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAvLyB0ZW1wb3JhdHkgaGFjayB0byBnZW5lcmF0ZSBjb25zdHJ1Y3QtaHViIGNvbXBsaWFudCBtYXJrZG93bi5cbiAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vY2RrbGFicy9qc2lpLWRvY2dlbi9ibG9iL21hc3Rlci9zcmMvZG9jZ2VuL3JlbmRlci9tYXJrZG93bi50cyNMMTcyXG4gICAgICBIRUFERVJfU1BBTjogJ3RydWUnLFxuICAgICAgLy8gU2V0IGVtYmVkZGVkIG1ldHJpY3MgZm9ybWF0IGVudmlyb25tZW50IHRvIFwiTG9jYWxcIiwgdG8gaGF2ZSBhIGNvbnNpc3RlbnQgZXhwZXJpZW5jZS5cbiAgICAgIEFXU19FTUZfRU5WSVJPTk1FTlQ6ICdMb2NhbCcsXG4gICAgfTtcbiAgICBpZiAocHJvcHMudnBjRW5kcG9pbnRzPy5jb2RlQXJ0aWZhY3RBcGkpIHtcbiAgICAgIC8vIFRob3NlIGFyZSByZXR1cm5lZCBhcyBhbiBhcnJheSBvZiBIT1NURURfWk9ORV9JRDpETlNfTkFNRS4uLiBXZSBjYXJlXG4gICAgICAvLyBvbmx5IGFib3V0IHRoZSBETlNfTkFNRSBvZiB0aGUgZmlyc3QgZW50cnkgaW4gdGhhdCBhcnJheSAod2hpY2ggaXNcbiAgICAgIC8vIHRoZSBBWi1hZ25vc3RpYyBETlMgbmFtZSkuXG4gICAgICBlbnZpcm9ubWVudC5DT0RFX0FSVElGQUNUX0FQSV9FTkRQT0lOVCA9IEZuLnNlbGVjdChcbiAgICAgICAgMSxcbiAgICAgICAgRm4uc3BsaXQoXG4gICAgICAgICAgJzonLFxuICAgICAgICAgIEZuLnNlbGVjdCgwLCBwcm9wcy52cGNFbmRwb2ludHMuY29kZUFydGlmYWN0QXBpLnZwY0VuZHBvaW50RG5zRW50cmllcylcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmNvZGVBcnRpZmFjdCkge1xuICAgICAgZW52aXJvbm1lbnQuQ09ERV9BUlRJRkFDVF9ET01BSU5fTkFNRSA9XG4gICAgICAgIHByb3BzLmNvZGVBcnRpZmFjdC5yZXBvc2l0b3J5RG9tYWluTmFtZTtcbiAgICAgIGVudmlyb25tZW50LkNPREVfQVJUSUZBQ1RfRE9NQUlOX09XTkVSID1cbiAgICAgICAgcHJvcHMuY29kZUFydGlmYWN0LnJlcG9zaXRvcnlEb21haW5Pd25lcjtcbiAgICAgIGVudmlyb25tZW50LkNPREVfQVJUSUZBQ1RfUkVQT1NJVE9SWV9FTkRQT0lOVCA9XG4gICAgICAgIHByb3BzLmNvZGVBcnRpZmFjdC5yZXBvc2l0b3J5TnBtRW5kcG9pbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dHcm91cCA9IG5ldyBMb2dHcm91cCh0aGlzLCAnTG9nR3JvdXAnLCB7XG4gICAgICByZXRlbnRpb246IHByb3BzLmxvZ1JldGVudGlvbixcbiAgICB9KTtcblxuICAgIHRoaXMuY29udGFpbmVyRGVmaW5pdGlvbiA9IG5ldyBDb250YWluZXIodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgZW52aXJvbm1lbnQsXG4gICAgICBsb2dnaW5nOiBMb2dEcml2ZXJzLmF3c0xvZ3Moe1xuICAgICAgICBsb2dHcm91cDogdGhpcy5sb2dHcm91cCxcbiAgICAgICAgc3RyZWFtUHJlZml4OiAndHJhbnNsaXRlcmF0b3InLFxuICAgICAgfSksXG4gICAgICB0YXNrRGVmaW5pdGlvbjogbmV3IEZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCAnVGFza0RlZmluaXRpb24nLCB7XG4gICAgICAgIGNwdTogNF8wOTYsXG4gICAgICAgIG1lbW9yeUxpbWl0TWlCOiBNRU1PUllfTElNSVQsXG4gICAgICAgIHJ1bnRpbWVQbGF0Zm9ybToge1xuICAgICAgICAgIGNwdUFyY2hpdGVjdHVyZTogQ3B1QXJjaGl0ZWN0dXJlLkFSTTY0LFxuICAgICAgICAgIG9wZXJhdGluZ1N5c3RlbUZhbWlseTogT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfSk7XG4gICAgLy8gRW5jb3VudGVyZWQgYW4gZXJyb3Igb2YgXCJFTUZJTEU6IHRvbyBtYW55IG9wZW4gZmlsZXNcIiBpbiBFQ1MuXG4gICAgLy8gRGVmYXVsdCBub2ZpbGUgdWxpbWl0IGlzIDEwMjQvNDA5Ni5cbiAgICAvL1xuICAgIC8vIEZvciBFQ1MgdWxpbWl0IGRvY3VtZW50YXRpb24gc2VlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VsaW1pdC5odG1sXG4gICAgLy8gRm9yIGNvbnN0cnVjdCBodWIgdHJhY2tpbmcgaXNzdWUgc2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2RrbGFicy9jb25zdHJ1Y3QtaHViL2lzc3Vlcy85ODJcbiAgICB0aGlzLmNvbnRhaW5lckRlZmluaXRpb24uYWRkVWxpbWl0cyh7XG4gICAgICBuYW1lOiBVbGltaXROYW1lLk5PRklMRSwgLy8gZmlsZSBkZXNjcmlwdG9yc1xuICAgICAgc29mdExpbWl0OiAxNl8zODQsXG4gICAgICBoYXJkTGltaXQ6IDY1XzUzNSxcbiAgICB9KTtcblxuICAgIHJlcG9zaXRvcnk/LmdyYW50UmVhZEZyb21SZXBvc2l0b3J5KHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUpO1xuXG4gICAgLy8gVGhlIHRhc2sgaGFuZGxlciByZWFkcyAmIHdyaXRlcyB0byB0aGlzIGJ1Y2tldC5cbiAgICBidWNrZXQuZ3JhbnRSZWFkKFxuICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLkFTU0VNQkxZX0tFWV9TVUZGSVh9YFxuICAgICk7XG4gICAgYnVja2V0LmdyYW50UmVhZChcbiAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5QQUNLQUdFX0tFWV9TVUZGSVh9YFxuICAgICk7XG4gICAgYnVja2V0LmdyYW50UmVhZChcbiAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5VTklOU1RBTExBQkxFX1BBQ0tBR0VfU1VGRklYfWBcbiAgICApO1xuICAgIGJ1Y2tldC5ncmFudFdyaXRlKFxuICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLlVOSU5TVEFMTEFCTEVfUEFDS0FHRV9TVUZGSVh9YFxuICAgICk7XG4gICAgYnVja2V0LmdyYW50RGVsZXRlKFxuICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLlVOSU5TVEFMTEFCTEVfUEFDS0FHRV9TVUZGSVh9YFxuICAgICk7XG4gICAgZm9yIChjb25zdCBsYW5ndWFnZSBvZiBEb2N1bWVudGF0aW9uTGFuZ3VhZ2UuQUxMKSB7XG4gICAgICBidWNrZXQuZ3JhbnRXcml0ZShcbiAgICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICAgICAgYCR7Y29uc3RhbnRzLlNUT1JBR0VfS0VZX1BSRUZJWH0qJHtjb25zdGFudHMuZG9jc0tleVN1ZmZpeChsYW5ndWFnZSl9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudFdyaXRlKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KFxuICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgICcqJ1xuICAgICAgICApfWBcbiAgICAgICk7XG4gICAgICBidWNrZXQuZ3JhbnRXcml0ZShcbiAgICAgICAgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICAgICAgYCR7Y29uc3RhbnRzLlNUT1JBR0VfS0VZX1BSRUZJWH0qJHtjb25zdGFudHMuZG9jc0tleVN1ZmZpeChsYW5ndWFnZSl9JHtcbiAgICAgICAgICBjb25zdGFudHMuTk9UX1NVUFBPUlRFRF9TVUZGSVhcbiAgICAgICAgfWBcbiAgICAgICk7XG4gICAgICBidWNrZXQuZ3JhbnRSZWFkKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KGxhbmd1YWdlKX0ke1xuICAgICAgICAgIGNvbnN0YW50cy5OT1RfU1VQUE9SVEVEX1NVRkZJWFxuICAgICAgICB9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudFdyaXRlKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KFxuICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgICcqJ1xuICAgICAgICApfSR7Y29uc3RhbnRzLk5PVF9TVVBQT1JURURfU1VGRklYfWBcbiAgICAgICk7XG4gICAgICBidWNrZXQuZ3JhbnRSZWFkKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KFxuICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgICcqJ1xuICAgICAgICApfSR7Y29uc3RhbnRzLk5PVF9TVVBQT1JURURfU1VGRklYfWBcbiAgICAgICk7XG4gICAgICBidWNrZXQuZ3JhbnRSZWFkKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KGxhbmd1YWdlKX0ke1xuICAgICAgICAgIGNvbnN0YW50cy5DT1JSVVBUX0FTU0VNQkxZX1NVRkZJWFxuICAgICAgICB9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudFdyaXRlKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KGxhbmd1YWdlKX0ke1xuICAgICAgICAgIGNvbnN0YW50cy5DT1JSVVBUX0FTU0VNQkxZX1NVRkZJWFxuICAgICAgICB9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWQoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgoXG4gICAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgICAgJyonXG4gICAgICAgICl9JHtjb25zdGFudHMuQ09SUlVQVF9BU1NFTUJMWV9TVUZGSVh9YFxuICAgICAgKTtcbiAgICAgIGJ1Y2tldC5ncmFudFdyaXRlKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KFxuICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgICcqJ1xuICAgICAgICApfSR7Y29uc3RhbnRzLkNPUlJVUFRfQVNTRU1CTFlfU1VGRklYfWBcbiAgICAgICk7XG4gICAgICBidWNrZXQuZ3JhbnREZWxldGUoXG4gICAgICAgIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUsXG4gICAgICAgIGAke2NvbnN0YW50cy5TVE9SQUdFX0tFWV9QUkVGSVh9KiR7Y29uc3RhbnRzLmRvY3NLZXlTdWZmaXgobGFuZ3VhZ2UpfSR7XG4gICAgICAgICAgY29uc3RhbnRzLkNPUlJVUFRfQVNTRU1CTFlfU1VGRklYXG4gICAgICAgIH1gXG4gICAgICApO1xuICAgICAgYnVja2V0LmdyYW50RGVsZXRlKFxuICAgICAgICB0aGlzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLFxuICAgICAgICBgJHtjb25zdGFudHMuU1RPUkFHRV9LRVlfUFJFRklYfSoke2NvbnN0YW50cy5kb2NzS2V5U3VmZml4KFxuICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgICcqJ1xuICAgICAgICApfSR7Y29uc3RhbnRzLkNPUlJVUFRfQVNTRU1CTFlfU1VGRklYfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZXhlY3V0aW9uUm9sZSA9IHRoaXMudGFza0RlZmluaXRpb24ub2J0YWluRXhlY3V0aW9uUm9sZSgpO1xuICAgIHByb3BzLnZwY0VuZHBvaW50cz8uZWNyQXBpLmFkZFRvUG9saWN5KFxuICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICBhY3Rpb25zOiBbJ2VjcjpHZXRBdXRob3JpemF0aW9uVG9rZW4nXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbJyonXSwgLy8gQWN0aW9uIGRvZXMgbm90IHN1cHBvcnQgcmVzb3VyY2Ugc2NvcGluZ1xuICAgICAgICBwcmluY2lwYWxzOiBbZXhlY3V0aW9uUm9sZV0sXG4gICAgICAgIHNpZDogJ0FsbG93LUVDUi1SZWFkT25seScsXG4gICAgICB9KVxuICAgICk7XG4gICAgcHJvcHMudnBjRW5kcG9pbnRzPy5lY3IuYWRkVG9Qb2xpY3koXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAnZWNyOkJhdGNoQ2hlY2tMYXllckF2YWlsYWJpbGl0eScsXG4gICAgICAgICAgJ2VjcjpHZXREb3dubG9hZFVybEZvckxheWVyJyxcbiAgICAgICAgICAnZWNyOkJhdGNoR2V0SW1hZ2UnLFxuICAgICAgICBdLFxuICAgICAgICAvLyBXZSBjYW5ub3QgZ2V0IHRoZSBFQ1IgcmVwb3NpdG9yeSBpbmZvIGZyb20gYW4gYXNzZXQuLi4gU28gc2NvcGluZyBkb3duIHRvIHNhbWUtYWNjb3VudCByZXBvc2l0b3JpZXMgaW5zdGVhZC4uLlxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICAgICAgc2VydmljZTogJ2VjcicsXG4gICAgICAgICAgICByZXNvdXJjZTogJ3JlcG9zaXRvcnknLFxuICAgICAgICAgICAgYXJuRm9ybWF0OiBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICAgICAgICAgIHJlc291cmNlTmFtZTogJyonLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgICBwcmluY2lwYWxzOiBbZXhlY3V0aW9uUm9sZV0sXG4gICAgICAgIHNpZDogJ0FsbG93LUVDUi1SZWFkT25seScsXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBwcm9wcy52cGNFbmRwb2ludHM/LmNsb3VkV2F0Y2hMb2dzLmFkZFRvUG9saWN5KFxuICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICBhY3Rpb25zOiBbJ2xvZ3M6Q3JlYXRlTG9nU3RyZWFtJywgJ2xvZ3M6UHV0TG9nRXZlbnRzJ10sXG4gICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgIFN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgICBzZXJ2aWNlOiAnbG9ncycsXG4gICAgICAgICAgICByZXNvdXJjZTogJ2xvZy1ncm91cCcsXG4gICAgICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLmxvZ0dyb3VwLmxvZ0dyb3VwTmFtZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICAgICAgc2VydmljZTogJ2xvZ3MnLFxuICAgICAgICAgICAgcmVzb3VyY2U6ICdsb2ctZ3JvdXAnLFxuICAgICAgICAgICAgYXJuRm9ybWF0OiBBcm5Gb3JtYXQuQ09MT05fUkVTT1VSQ0VfTkFNRSxcbiAgICAgICAgICAgIHJlc291cmNlTmFtZTogYCR7dGhpcy5sb2dHcm91cC5sb2dHcm91cE5hbWV9OmxvZy1zdHJlYW06KmAsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICAgIHByaW5jaXBhbHM6IFtleGVjdXRpb25Sb2xlXSxcbiAgICAgICAgc2lkOiAnQWxsb3ctTG9nZ2luZycsXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBwcm9wcy52cGNFbmRwb2ludHM/LnN0ZXBGdW5jdGlvbnMuYWRkVG9Qb2xpY3koXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAnc3RhdGVzOlNlbmRUYXNrRmFpbHVyZScsXG4gICAgICAgICAgJ3N0YXRlczpTZW5kVGFza0hlYXJ0YmVhdCcsXG4gICAgICAgICAgJ3N0YXRlczpTZW5kVGFza1N1Y2Nlc3MnLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLCAvLyBBY3Rpb25zIGRvbid0IHN1cHBvcnQgcmVzb3VyY2Ugc2NvcGluZ1xuICAgICAgICBwcmluY2lwYWxzOiBbdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZV0sXG4gICAgICAgIHNpZDogJ0FsbG93LVN0ZXBGdW5jdGlvbnMtQ2FsbGJhY2tzJyxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVFY3NSdW5UYXNrKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcHRzOiBDcmVhdGVFY3NSdW5UYXNrT3B0c1xuICApOiBFY3NSdW5UYXNrIHtcbiAgICByZXR1cm4gbmV3IEVjc1J1blRhc2soc2NvcGUsIGlkLCB7XG4gICAgICAvLyBUaGUgY29udGFpbmVyIHNlbmRzIGhlYXJ0YmVhdHMgZXZlcnkgbWludXRlLCBidXQgd2hlbiB0aGUgcnVubG9vcCB3aWxsXG4gICAgICAvLyBhY3R1YWxseSBnZXQgdG8gc3VibWl0dGluZyBpdCBpcyBmYWlybHkgZGVwZW5kZW50IG9uIHRoZSBhc3luY1xuICAgICAgLy8gd29ya2xvYWQncyBuYXR1cmUuLi4gc28gd2UgZG9uJ3QgcmVseSBvbiBpdCBhbGwgdG9vIHN0cm9uZ2x5LCBhbmRcbiAgICAgIC8vIGRlZmF1bHQgdG8gYSA1IG1pbnV0ZXMgdGltZW91dCBoZXJlIGFzIGEgbWluaW1hbCBwcm90ZWN0aW9uLiBPcHRpb25zXG4gICAgICAvLyBtYXkgb3ZlcnJpZGUgdGhpcyBsaWJlcmFsbHkgaWYgdGhleSBrbm93IGJldHRlci5cbiAgICAgIGhlYXJ0YmVhdDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBjb250YWluZXJPdmVycmlkZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbnRhaW5lckRlZmluaXRpb246IHRoaXMuY29udGFpbmVyRGVmaW5pdGlvbixcbiAgICAgICAgICBjb21tYW5kOiBKc29uUGF0aC5saXN0QXQoJyQnKSxcbiAgICAgICAgICBlbnZpcm9ubWVudDogW1xuICAgICAgICAgICAgeyBuYW1lOiAnU0ZOX1RBU0tfVE9LRU4nLCB2YWx1ZTogSnNvblBhdGgudGFza1Rva2VuIH0sXG4gICAgICAgICAgICAvLyBQTEFDRUhPTERFUjogU2V0IHRoaXMgdG8gc29tZXRoaW5nIG5vbi1lbXB0eSB0byBlbmFibGUgbHNvZiBydW5uaW5nLi4uXG4gICAgICAgICAgICB7IG5hbWU6ICdSVU5fTFNPRl9PTl9IRUFSVEJFQVQnLCB2YWx1ZTogJycgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGludGVncmF0aW9uUGF0dGVybjogSW50ZWdyYXRpb25QYXR0ZXJuLldBSVRfRk9SX1RBU0tfVE9LRU4sXG4gICAgICBsYXVuY2hUYXJnZXQ6IG5ldyBFY3NGYXJnYXRlTGF1bmNoVGFyZ2V0KHtcbiAgICAgICAgcGxhdGZvcm1WZXJzaW9uOiBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLlZFUlNJT04xXzQsXG4gICAgICB9KSxcbiAgICAgIHN1Ym5ldHM6IG9wdHMudnBjU3VibmV0cyxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBvcHRzLnNlY3VyaXR5R3JvdXBzLFxuICAgICAgdGFza0RlZmluaXRpb246IHRoaXMudGFza0RlZmluaXRpb24sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVFY3NSdW5UYXNrT3B0cyBleHRlbmRzIFRhc2tTdGF0ZUJhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgRUNTIGNsdXN0ZXIgdG8gdXNlIGZvciBydW5uaW5nIHRoZSB0YXNrIChtdXN0IHN1cHBvcnQgRmFyZ2F0ZSlcbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI6IElDbHVzdGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgcGF0aCB0byB0aGUgdHJhbnNsaXRlcmF0b3IgaW5wdXQgb2JqZWN0LCBwcmVzZW50ZWQgYXMgYW4gYXJyYXlcbiAgICogY29udGFpbmluZyBhIHNpbmdsZSBKU09OLWVuY29kZWQgb2JqZWN0LlxuICAgKlxuICAgKiBUaGlzIGlzIGR1ZSB0byB0aGUgbGFjayBvZiBhbiBhYmlsaXR5IHRvIFwiY2xlYW5seVwiIG1vZGVsIGFuIEFQSSB3aGVyZSB0aGVcbiAgICogYGNyZWF0ZUVjc1J1blRhc2tgIG1ldGhvZCBjb3VsZCBkbyB0aGUgaW5wdXQgcHJvY2Vzc2luZyBwcm9wZXJseS4uLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXRQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBTdWJuZXQgcGxhY2VtZW50IG9wdGlvbnMsIGlmIHJlbGV2YW50LlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjU3VibmV0cz86IFN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogRXhpc3Rpbmcgc2VjdXJpdHkgZ3JvdXBzIHRvIHVzZSBmb3IgdGhlIHRhc2tzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEEgbmV3IHNlY3VyaXR5IGdyb3VwIGlzIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzPzogSVNlY3VyaXR5R3JvdXBbXTtcbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import * as ecs from 'aws-cdk-lib/aws-ecs';
2
2
  import { Construct } from 'constructs';
3
+ export declare const MEMORY_LIMIT = 8192;
3
4
  export interface TransliteratorProps extends Omit<ecs.ContainerDefinitionOptions, 'image'> {
4
5
  readonly taskDefinition: ecs.FargateTaskDefinition;
5
6
  }
@@ -11,6 +11,6 @@ RUN curl -fsSL https://rpm.nodesource.com/setup_16.x | bash - \
11
11
  COPY . /bundle
12
12
 
13
13
  ENV GIT_SSH_COMMAND=ssh
14
- ENV NODE_OPTIONS="--stack-trace-limit=100"
14
+ ENV NODE_OPTIONS="--stack-trace-limit=100 --max-old-space-size=7680"
15
15
 
16
16
  ENTRYPOINT ["/usr/bin/env", "node", "/bundle/index.js"]
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Transliterator = void 0;
3
+ exports.Transliterator = exports.MEMORY_LIMIT = void 0;
4
4
  // ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
5
5
  const path = require("path");
6
6
  const ecrAssets = require("aws-cdk-lib/aws-ecr-assets");
7
7
  const ecs = require("aws-cdk-lib/aws-ecs");
8
8
  const iam = require("aws-cdk-lib/aws-iam");
9
+ exports.MEMORY_LIMIT = 8192;
9
10
  class Transliterator extends ecs.ContainerDefinition {
10
11
  constructor(scope, id, props) {
11
12
  super(scope, id, {
@@ -24,4 +25,4 @@ class Transliterator extends ecs.ContainerDefinition {
24
25
  }
25
26
  }
26
27
  exports.Transliterator = Transliterator;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsaXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZC90cmFuc2xpdGVyYXRvci90cmFuc2xpdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLHdEQUF3RDtBQUN4RCwyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBTzNDLE1BQWEsY0FBZSxTQUFRLEdBQUcsQ0FBQyxtQkFBbUI7SUFDekQsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLEtBQUs7WUFDUixLQUFLLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsc0NBQXNDLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2hKLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN6RSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3hCLE9BQU8sRUFBRTtnQkFDUCx3QkFBd0I7Z0JBQ3hCLDBCQUEwQjtnQkFDMUIsd0JBQXdCO2FBQ3pCO1lBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztDQUNGO0FBakJELHdDQWlCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBlY3JBc3NldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHMnO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNsaXRlcmF0b3JQcm9wcyBleHRlbmRzIE9taXQ8ZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zLCAnaW1hZ2UnPiB7XG4gIHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uOiBlY3MuRmFyZ2F0ZVRhc2tEZWZpbml0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNsaXRlcmF0b3IgZXh0ZW5kcyBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbiB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVHJhbnNsaXRlcmF0b3JQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBpbWFnZTogZWNzLkNvbnRhaW5lckltYWdlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAndHJhbnNsaXRlcmF0b3IuZWNzLWVudHJ5cG9pbnQuYnVuZGxlJyksIHsgcGxhdGZvcm06IGVjckFzc2V0cy5QbGF0Zm9ybS5MSU5VWF9BUk02NCB9KSxcbiAgICB9KTtcblxuICAgIHByb3BzLnRhc2tEZWZpbml0aW9uLnRhc2tSb2xlLmFkZFRvUHJpbmNpcGFsUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ3N0YXRlczpTZW5kVGFza0ZhaWx1cmUnLFxuICAgICAgICAnc3RhdGVzOlNlbmRUYXNrSGVhcnRiZWF0JyxcbiAgICAgICAgJ3N0YXRlczpTZW5kVGFza1N1Y2Nlc3MnLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgfSkpO1xuICB9XG59Il19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsaXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZC90cmFuc2xpdGVyYXRvci90cmFuc2xpdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLHdEQUF3RDtBQUN4RCwyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBRzlCLFFBQUEsWUFBWSxHQUFHLElBQUksQ0FBQTtBQU1oQyxNQUFhLGNBQWUsU0FBUSxHQUFHLENBQUMsbUJBQW1CO0lBQ3pELFlBQW1CLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLO1lBQ1IsS0FBSyxFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHNDQUFzQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNoSixDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDekUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztZQUN4QixPQUFPLEVBQUU7Z0JBQ1Asd0JBQXdCO2dCQUN4QiwwQkFBMEI7Z0JBQzFCLHdCQUF3QjthQUN6QjtZQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUNqQixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQWpCRCx3Q0FpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZWNyQXNzZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3ItYXNzZXRzJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgY29uc3QgTUVNT1JZX0xJTUlUID0gODE5MlxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGl0ZXJhdG9yUHJvcHMgZXh0ZW5kcyBPbWl0PGVjcy5Db250YWluZXJEZWZpbml0aW9uT3B0aW9ucywgJ2ltYWdlJz4ge1xuICByZWFkb25seSB0YXNrRGVmaW5pdGlvbjogZWNzLkZhcmdhdGVUYXNrRGVmaW5pdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zbGl0ZXJhdG9yIGV4dGVuZHMgZWNzLkNvbnRhaW5lckRlZmluaXRpb24ge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRyYW5zbGl0ZXJhdG9yUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgaW1hZ2U6IGVjcy5Db250YWluZXJJbWFnZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJ3RyYW5zbGl0ZXJhdG9yLmVjcy1lbnRyeXBvaW50LmJ1bmRsZScpLCB7IHBsYXRmb3JtOiBlY3JBc3NldHMuUGxhdGZvcm0uTElOVVhfQVJNNjQgfSksXG4gICAgfSk7XG5cbiAgICBwcm9wcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZS5hZGRUb1ByaW5jaXBhbFBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdzdGF0ZXM6U2VuZFRhc2tGYWlsdXJlJyxcbiAgICAgICAgJ3N0YXRlczpTZW5kVGFza0hlYXJ0YmVhdCcsXG4gICAgICAgICdzdGF0ZXM6U2VuZFRhc2tTdWNjZXNzJyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIH0pKTtcbiAgfVxufSJdfQ==
@@ -389,7 +389,7 @@ class ConstructHub extends constructs_1.Construct {
389
389
  }
390
390
  exports.ConstructHub = ConstructHub;
391
391
  _a = JSII_RTTI_SYMBOL_1;
392
- ConstructHub[_a] = { fqn: "construct-hub.ConstructHub", version: "0.4.301" };
392
+ ConstructHub[_a] = { fqn: "construct-hub.ConstructHub", version: "0.4.302" };
393
393
  /**
394
394
  * How possibly risky operations (such as doc-generation, which requires
395
395
  * installing the indexed packages in order to trans-literate sample code) are
@@ -278,5 +278,5 @@ class CodeArtifact {
278
278
  }
279
279
  exports.CodeArtifact = CodeArtifact;
280
280
  _a = JSII_RTTI_SYMBOL_1;
281
- CodeArtifact[_a] = { fqn: "construct-hub.sources.CodeArtifact", version: "0.4.301" };
281
+ CodeArtifact[_a] = { fqn: "construct-hub.sources.CodeArtifact", version: "0.4.302" };
282
282
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWNrYWdlLXNvdXJjZXMvY29kZS1hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE4RDtBQUM5RCwrREFRb0M7QUFFcEMsdURBQThDO0FBQzlDLHVFQUFnRTtBQUNoRSxpREFBOEQ7QUFDOUQsdURBQWlEO0FBQ2pELCtDQUFnRTtBQUNoRSxpREFBNkQ7QUFFN0Qsb0ZBQStFO0FBQy9FLG9GQU1nRDtBQUNoRCw0Q0FLc0I7QUFDdEIsa0RBQTZDO0FBTTdDLDJDQUFpRDtBQWNqRDs7O0dBR0c7QUFDSCxNQUFhLFlBQVk7SUFDdkIsWUFBb0MsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7SUFBRyxDQUFDO0lBRXpELElBQUksQ0FDVCxLQUFnQixFQUNoQixFQUNFLFFBQVEsRUFDUixTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsS0FBSyxHQUNvQjtRQUUzQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2pELE1BQU0sWUFBWSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUxSSxNQUFNLGNBQWMsR0FBRywwQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQ2pCLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsUUFBUSxnQkFBZ0IsRUFBRTtnQkFDM0QsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsU0FBUztnQkFDOUMsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLGNBQWMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDcEQsQ0FBQyxDQUFDO1FBQ0wsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1QixNQUFNLEdBQUcsR0FBRyxJQUFJLGVBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxRQUFRLE1BQU0sRUFBRTtZQUM5QyxVQUFVLEVBQUUseUJBQWUsQ0FBQyxXQUFXO1lBQ3ZDLGVBQWUsRUFBRSxzQkFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEMsaUJBQWlCLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ3hDLENBQUMsQ0FBQztRQUVILE1BQU0sU0FBUyxHQUFHLElBQUksK0NBQXFCLENBQ3pDLEtBQUssRUFDTCxHQUFHLFFBQVEsWUFBWSxFQUN2QjtZQUNFLGVBQWUsRUFBRSxHQUFHO1lBQ3BCLFdBQVcsRUFBRSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxpQkFBaUIsWUFBWSwwQ0FBMEM7WUFDdkcsV0FBVyxFQUFFO2dCQUNYLG1CQUFtQixFQUFFLE9BQU87Z0JBQzVCLFdBQVcsRUFBRSxNQUFNLENBQUMsVUFBVTtnQkFDOUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQzFCO1lBQ0QsVUFBVSxFQUFFLElBQUk7WUFDaEIsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsb0JBQU8sQ0FBQyxNQUFNO1NBQ3hCLENBQ0YsQ0FBQztRQUNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixXQUFXLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxTQUFTLENBQUMsZUFBZSxDQUN2QixJQUFJLHlCQUFlLENBQUM7WUFDbEIsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztZQUNwQixPQUFPLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztZQUNoRCxTQUFTLEVBQUU7Z0JBQ1QsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUN4QixPQUFPLEVBQUUsY0FBYztvQkFDdkIsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFNBQVMsRUFBRSx1QkFBUyxDQUFDLG1CQUFtQjtvQkFDeEMsWUFBWSxFQUFFO3dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWM7d0JBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVE7d0JBQzlCLEtBQUs7d0JBQ0wsR0FBRyxFQUFFLHlCQUF5QjtxQkFDL0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNaLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FDSCxDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsSUFBSSxpQkFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLFFBQVEsY0FBYyxFQUFFO1lBQ3RELFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxpQkFBaUIsWUFBWSxjQUFjO1lBQzFFLFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDNUIsVUFBVSxFQUFFLENBQUMsMkNBQTJDLENBQUM7Z0JBQ3pELE1BQU0sRUFBRTtvQkFDTixXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7b0JBQ3BELFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQztvQkFDbEQsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO29CQUNoRCxhQUFhLEVBQUUsQ0FBQyxLQUFLLENBQUM7aUJBQ3ZCO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLG1DQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxZQUFZLEdBQUcsU0FBUzthQUMzQixZQUFZLEVBQUU7YUFDZCxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsUUFBUSxxQkFBcUIsRUFBRTtZQUNwRCxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksaUJBQWlCLFlBQVksWUFBWTtZQUN0RSxnQkFBZ0IsRUFBRTtnQkFDaEIsaUNBQWlDLFlBQVksYUFBYTtnQkFDMUQsRUFBRTtnQkFDRixnQ0FBZ0MsSUFBQSw2QkFBaUIsRUFBQyxTQUFTLENBQUMsRUFBRTthQUMvRCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDWixrQkFBa0IsRUFDaEIsbUNBQWtCLENBQUMsa0NBQWtDO1lBQ3ZELGlCQUFpQixFQUFFLENBQUM7WUFDcEIsU0FBUyxFQUFFLENBQUM7WUFDWixnQkFBZ0IsRUFBRSxpQ0FBZ0IsQ0FBQyxPQUFPO1NBQzNDLENBQUMsQ0FBQztRQUNMLFVBQVUsQ0FBQyxvQkFBb0IsQ0FDN0IsZ0JBQWdCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsV0FBVyxFQUN6RCxZQUFZLENBQ2IsQ0FBQztRQUVGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSwrQkFBYyxDQUFDO1lBQzFDLFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsWUFBWSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxHQUFHLENBQUMsd0NBQXdDLENBQUM7b0JBQ3JELE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQzVCLENBQUM7Z0JBQ0YsT0FBTyxFQUFFLEdBQUcsQ0FBQywyQ0FBMkMsQ0FBQztvQkFDdkQsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDNUIsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxRQUFRLHdCQUF3QixFQUFFO1lBQ3pELFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxpQkFBaUIsWUFBWSxjQUFjO1lBQ3hFLGdCQUFnQixFQUFFO2dCQUNoQixpQ0FBaUMsWUFBWSxhQUFhO2dCQUMxRCxFQUFFO2dCQUNGLGdDQUFnQyxJQUFBLDZCQUFpQixFQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUM5RCxrQ0FBa0MsSUFBQSx1QkFBVyxFQUFDLEdBQUcsQ0FBQyxFQUFFO2FBQ3JELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNaLGtCQUFrQixFQUFFLG1DQUFrQixDQUFDLGtDQUFrQztZQUN6RSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLFNBQVMsRUFBRSxDQUFDO1lBQ1osZ0JBQWdCLEVBQUUsaUNBQWdCLENBQUMsYUFBYTtTQUNqRCxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsbUJBQW1CLENBQzVCLGdCQUFnQixZQUFZLGdCQUFnQixFQUM1QyxnQkFBZ0IsQ0FDakIsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhELGlCQUFpQixDQUFDLHVCQUF1QixDQUN2QyxnQkFBZ0IsWUFBWSxNQUFNLEVBQ2xDLEdBQUcsQ0FDSixDQUFDO1FBQ0YsaUJBQWlCLENBQUMsdUNBQXVDLENBQ3ZELFNBQVMsRUFDVCxHQUFHLFFBQVEsa0JBQWtCLENBQzlCLENBQUM7UUFFRixPQUFPO1lBQ0wsSUFBSSxFQUFFLGlCQUFpQixZQUFZLEVBQUU7WUFDckMsS0FBSyxFQUFFO2dCQUNMO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixHQUFHLEVBQUUsSUFBQSxxQ0FBeUIsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztvQkFDckQsT0FBTyxFQUFFLElBQUk7aUJBQ2Q7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLG9CQUFvQjtvQkFDMUIsR0FBRyxFQUFFLElBQUEsNkJBQWlCLEVBQUMsU0FBUyxDQUFDO2lCQUNsQztnQkFDRDtvQkFDRSxJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixHQUFHLEVBQUUsSUFBQSxtQ0FBdUIsRUFBQyxTQUFTLENBQUM7aUJBQ3hDO2dCQUNEO29CQUNFLElBQUksRUFBRSxLQUFLO29CQUNYLEdBQUcsRUFBRSxJQUFBLHVCQUFXLEVBQUMsR0FBRyxDQUFDO2lCQUN0QjthQUNGO1lBQ0QsZ0JBQWdCLEVBQUU7Z0JBQ2hCO29CQUNFLElBQUksNEJBQVcsQ0FBQzt3QkFDZCxNQUFNLEVBQUUsQ0FBQzt3QkFDVCxLQUFLLEVBQUUsRUFBRTt3QkFDVCxLQUFLLEVBQUUsaUJBQWlCO3dCQUN4QixJQUFJLEVBQUU7NEJBQ0osSUFBQSx5QkFBVSxFQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDOzRCQUNqRSxJQUFBLHlCQUFVLEVBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO3lCQUN4RDt3QkFDRCxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO3dCQUNyQixLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7d0JBQ3hELFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7d0JBQ3RCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7cUJBQzdCLENBQUM7b0JBQ0YsSUFBSSw0QkFBVyxDQUFDO3dCQUNkLE1BQU0sRUFBRSxDQUFDO3dCQUNULEtBQUssRUFBRSxFQUFFO3dCQUNULEtBQUssRUFBRSxtQkFBbUI7d0JBQzFCLElBQUksRUFBRTs0QkFDSixHQUFHLENBQUMsd0NBQXdDLENBQUM7Z0NBQzNDLEtBQUssRUFBRSxrQkFBa0I7Z0NBQ3pCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7NkJBQzVCLENBQUM7NEJBQ0YsR0FBRyxDQUFDLDJDQUEyQyxDQUFDO2dDQUM5QyxLQUFLLEVBQUUsaUJBQWlCO2dDQUN4QixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOzZCQUM1QixDQUFDO3lCQUNIO3dCQUNELFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7d0JBQ3JCLEtBQUssRUFBRTs0QkFDTCxHQUFHLENBQUMsbUNBQW1DLENBQUM7Z0NBQ3RDLEtBQUssRUFBRSxvQkFBb0I7Z0NBQzNCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7NkJBQzVCLENBQUM7eUJBQ0g7d0JBQ0QsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtxQkFDdkIsQ0FBQztpQkFDSDtnQkFDRDtvQkFDRSxJQUFJLDRCQUFXLENBQUM7d0JBQ2QsTUFBTSxFQUFFLENBQUM7d0JBQ1QsS0FBSyxFQUFFLEVBQUU7d0JBQ1QsS0FBSyxFQUFFLGlCQUFpQjt3QkFDeEIsSUFBSSxFQUFFOzRCQUNKLElBQUEseUJBQVUsRUFDUixJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxFQUMvRCxDQUFDLENBQ0Y7NEJBQ0QsSUFBQSx5QkFBVSxFQUNSLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxDQUFDLEVBQzdELENBQUMsQ0FDRjs0QkFDRCxJQUFBLHlCQUFVLEVBQ1IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQ3BELENBQUMsQ0FDRjs0QkFDRCxJQUFBLHlCQUFVLEVBQ1IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFDckQsQ0FBQyxDQUNGO3lCQUNGO3dCQUNELFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7cUJBQ3RCLENBQUM7aUJBQ0g7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBcUIsQ0FBQyxJQUFvQjtRQUMvQyxPQUFPLElBQUksdUJBQU0sQ0FBQztZQUNoQixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLFNBQVMsRUFBRSwwQkFBUyxDQUFDLEdBQUc7WUFDeEIsR0FBRyxJQUFJO1lBQ1AsYUFBYSxFQUFFO2dCQUNiLENBQUMsZ0RBQXNCLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlO2dCQUMvRCxDQUFDLCtDQUFxQixDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYztnQkFDN0QsQ0FBQyxtREFBeUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVE7YUFDNUQ7WUFDRCxVQUFVLHNEQUE4QjtZQUN4QyxTQUFTLEVBQUUsMkNBQWlCO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLHVCQUF1QixDQUFDLElBQW9CO1FBQ2pELE9BQU8sSUFBSSx1QkFBTSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0IsU0FBUyxFQUFFLDBCQUFTLENBQUMsR0FBRztZQUN4QixHQUFHLElBQUk7WUFDUCxhQUFhLEVBQUU7Z0JBQ2IsQ0FBQyxnREFBc0IsQ0FBQyxFQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlLElBQUksaUJBQUcsQ0FBQyxVQUFVO2dCQUN6RCxDQUFDLCtDQUFxQixDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYztnQkFDN0QsQ0FBQyxtREFBeUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVE7YUFDNUQ7WUFDRCxVQUFVLDhEQUErQjtZQUN6QyxTQUFTLEVBQUUsMkNBQWlCO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxrQkFBa0IsQ0FBQyxJQUFvQjtRQUM1QyxPQUFPLElBQUksdUJBQU0sQ0FBQztZQUNoQixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLFNBQVMsRUFBRSwwQkFBUyxDQUFDLEdBQUc7WUFDeEIsR0FBRyxJQUFJO1lBQ1AsYUFBYSxFQUFFO2dCQUNiLENBQUMsZ0RBQXNCLENBQUMsRUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLGlCQUFHLENBQUMsVUFBVTtnQkFDekQsQ0FBQywrQ0FBcUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWM7Z0JBQzdELENBQUMsbURBQXlCLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRO2FBQzVEO1lBQ0QsVUFBVSwrQ0FBMEI7WUFDcEMsU0FBUyxFQUFFLDJDQUFpQjtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSx5QkFBeUIsQ0FBQyxJQUFvQjtRQUNuRCxPQUFPLElBQUksdUJBQU0sQ0FBQztZQUNoQixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLFNBQVMsRUFBRSwwQkFBUyxDQUFDLEdBQUc7WUFDeEIsR0FBRyxJQUFJO1lBQ1AsYUFBYSxFQUFFO2dCQUNiLENBQUMsZ0RBQXNCLENBQUMsRUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLGlCQUFHLENBQUMsVUFBVTtnQkFDekQsQ0FBQywrQ0FBcUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWM7Z0JBQzdELENBQUMsbURBQXlCLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRO2FBQzVEO1lBQ0QsVUFBVSwrREFBbUM7WUFDN0MsU0FBUyxFQUFFLDJDQUFpQjtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXZUSCxvQ0F3VEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcm5Gb3JtYXQsIEF3cywgRHVyYXRpb24sIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtcbiAgQ29tcGFyaXNvbk9wZXJhdG9yLFxuICBHcmFwaFdpZGdldCxcbiAgTWF0aEV4cHJlc3Npb24sXG4gIE1ldHJpYyxcbiAgTWV0cmljT3B0aW9ucyxcbiAgU3RhdGlzdGljLFxuICBUcmVhdE1pc3NpbmdEYXRhLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBDZm5SZXBvc2l0b3J5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVhcnRpZmFjdCc7XG5pbXBvcnQgeyBSdWxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgeyBMYW1iZGFGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgVHJhY2luZyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQmxvY2tQdWJsaWNBY2Nlc3MsIElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgUXVldWUsIFF1ZXVlRW5jcnlwdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zcXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDb2RlQXJ0aWZhY3RGb3J3YXJkZXIgfSBmcm9tICcuL2NvZGVhcnRpZmFjdC9jb2RlLWFydGlmYWN0LWZvcndhcmRlcic7XG5pbXBvcnQge1xuICBNRVRSSUNTX05BTUVTUEFDRSxcbiAgTWV0cmljTmFtZSxcbiAgRE9NQUlOX05BTUVfRElNRU5TSU9OLFxuICBET01BSU5fT1dORVJfRElNRU5TSU9OLFxuICBSRVBPU0lUT1JZX05BTUVfRElNRU5TSU9OLFxufSBmcm9tICcuL2NvZGVhcnRpZmFjdC9jb25zdGFudHMubGFtYmRhLXNoYXJlZCc7XG5pbXBvcnQge1xuICBjb2RlQXJ0aWZhY3RSZXBvc2l0b3J5VXJsLFxuICBsYW1iZGFGdW5jdGlvblVybCxcbiAgbGFtYmRhU2VhcmNoTG9nR3JvdXBVcmwsXG4gIHNxc1F1ZXVlVXJsLFxufSBmcm9tICcuLi9kZWVwLWxpbmsnO1xuaW1wb3J0IHsgZmlsbE1ldHJpYyB9IGZyb20gJy4uL21ldHJpYy11dGlscyc7XG5pbXBvcnQgdHlwZSB7XG4gIElQYWNrYWdlU291cmNlLFxuICBQYWNrYWdlU291cmNlQmluZE9wdGlvbnMsXG4gIFBhY2thZ2VTb3VyY2VCaW5kUmVzdWx0LFxufSBmcm9tICcuLi9wYWNrYWdlLXNvdXJjZSc7XG5pbXBvcnQgeyBTM1N0b3JhZ2VGYWN0b3J5IH0gZnJvbSAnLi4vczMvc3RvcmFnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUFydGlmYWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIENvZGVBcnRpZmFjdCByZXBvc2l0b3J5IHdoZXJlIHBhY2thZ2VzIGFyZSBvYnRhaW5lZCBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeTogQ2ZuUmVwb3NpdG9yeTtcblxuICAvKipcbiAgICogVGhlIFMzIGJ1Y2tldCB3aGVyZSBwYWNrYWdlcyB3aWxsIGJlIHN0YWdlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldD86IElCdWNrZXQ7XG59XG5cbi8qKlxuICogQSBwYWNrYWdlIHNvdXJjZSB0aGF0IG9idGFpbnMgcGFja2FnZSBkYXRhIGZyb20gYW4gbnBtIENvZGVBcnRpZmFjdFxuICogcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVBcnRpZmFjdCBpbXBsZW1lbnRzIElQYWNrYWdlU291cmNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IENvZGVBcnRpZmFjdFByb3BzKSB7fVxuXG4gIHB1YmxpYyBiaW5kKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAge1xuICAgICAgZGVueUxpc3QsXG4gICAgICBpbmdlc3Rpb24sXG4gICAgICBsaWNlbnNlTGlzdCxcbiAgICAgIG1vbml0b3JpbmcsXG4gICAgICBvdmVydmlld0Rhc2hib2FyZCxcbiAgICAgIHF1ZXVlLFxuICAgIH06IFBhY2thZ2VTb3VyY2VCaW5kT3B0aW9uc1xuICApOiBQYWNrYWdlU291cmNlQmluZFJlc3VsdCB7XG4gICAgY29uc3QgaWRQcmVmaXggPSB0aGlzLnByb3BzLnJlcG9zaXRvcnkubm9kZS5wYXRoO1xuICAgIGNvbnN0IHJlcG9zaXRvcnlJZCA9IGAke3RoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyRG9tYWluT3duZXJ9OiR7dGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5OYW1lfS8ke3RoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyTmFtZX1gO1xuXG4gICAgY29uc3Qgc3RvcmFnZUZhY3RvcnkgPSBTM1N0b3JhZ2VGYWN0b3J5LmdldE9yQ3JlYXRlKHNjb3BlKTtcbiAgICBjb25zdCBidWNrZXQgPVxuICAgICAgdGhpcy5wcm9wcy5idWNrZXQgfHxcbiAgICAgIHN0b3JhZ2VGYWN0b3J5Lm5ld0J1Y2tldChzY29wZSwgYCR7aWRQcmVmaXh9L1N0YWdpbmdCdWNrZXRgLCB7XG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBCbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbeyBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDMwKSB9XSxcbiAgICAgIH0pO1xuICAgIGJ1Y2tldC5ncmFudFJlYWQoaW5nZXN0aW9uKTtcblxuICAgIGNvbnN0IGRscSA9IG5ldyBRdWV1ZShzY29wZSwgYCR7aWRQcmVmaXh9L0RMUWAsIHtcbiAgICAgIGVuY3J5cHRpb246IFF1ZXVlRW5jcnlwdGlvbi5LTVNfTUFOQUdFRCxcbiAgICAgIHJldGVudGlvblBlcmlvZDogRHVyYXRpb24uZGF5cygxNCksXG4gICAgICB2aXNpYmlsaXR5VGltZW91dDogRHVyYXRpb24ubWludXRlcygxNSksXG4gICAgfSk7XG5cbiAgICBjb25zdCBmb3J3YXJkZXIgPSBuZXcgQ29kZUFydGlmYWN0Rm9yd2FyZGVyKFxuICAgICAgc2NvcGUsXG4gICAgICBgJHtpZFByZWZpeH0vRm9yd2FyZGVyYCxcbiAgICAgIHtcbiAgICAgICAgZGVhZExldHRlclF1ZXVlOiBkbHEsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgWyR7c2NvcGUubm9kZS5wYXRofS9Db2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9XSBIYW5kbGUgQ29kZUFydGlmYWN0IEV2ZW50QnJpZGdlIGV2ZW50c2AsXG4gICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgQVdTX0VNRl9FTlZJUk9OTUVOVDogJ0xvY2FsJyxcbiAgICAgICAgICBCVUNLRVRfTkFNRTogYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgICAgUVVFVUVfVVJMOiBxdWV1ZS5xdWV1ZVVybCxcbiAgICAgICAgfSxcbiAgICAgICAgbWVtb3J5U2l6ZTogMTAyNCxcbiAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICAgIHRyYWNpbmc6IFRyYWNpbmcuQUNUSVZFLFxuICAgICAgfVxuICAgICk7XG4gICAgYnVja2V0LmdyYW50UmVhZFdyaXRlKGZvcndhcmRlcik7XG4gICAgZGVueUxpc3Q/LmdyYW50UmVhZChmb3J3YXJkZXIpO1xuICAgIGxpY2Vuc2VMaXN0LmdyYW50UmVhZChmb3J3YXJkZXIpO1xuICAgIHF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKGZvcndhcmRlcik7XG4gICAgZm9yd2FyZGVyLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogWydjb2RlYXJ0aWZhY3Q6R2V0UGFja2FnZVZlcnNpb25Bc3NldCddLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBTdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgICAgICAgIHNlcnZpY2U6ICdjb2RlYXJ0aWZhY3QnLFxuICAgICAgICAgICAgcmVzb3VyY2U6ICdwYWNrYWdlJyxcbiAgICAgICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgICAgICAgICByZXNvdXJjZU5hbWU6IFtcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5OYW1lLFxuICAgICAgICAgICAgICB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ck5hbWUsXG4gICAgICAgICAgICAgICducG0nLCAvLyBwYWNrYWdlIGZvcm1hdFxuICAgICAgICAgICAgICAnKicsIC8vIG5hbWVzcGFjZS9wYWNrYWdlLW5hbWVcbiAgICAgICAgICAgIF0uam9pbignLycpLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBSdWxlKHNjb3BlLCBgJHtpZFByZWZpeH0vRXZlbnRCcmlkZ2VgLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYCR7c2NvcGUubm9kZS5wYXRofS9Db2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9L0V2ZW50QnJpZGdlYCxcbiAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICBzb3VyY2U6IFsnYXdzLmNvZGVhcnRpZmFjdCddLFxuICAgICAgICBkZXRhaWxUeXBlOiBbJ0NvZGVBcnRpZmFjdCBQYWNrYWdlIFZlcnNpb24gU3RhdGUgQ2hhbmdlJ10sXG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGRvbWFpbk93bmVyOiBbdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5Pd25lcl0sXG4gICAgICAgICAgZG9tYWluTmFtZTogW3RoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyRG9tYWluTmFtZV0sXG4gICAgICAgICAgcmVwb3NpdG9yeU5hbWU6IFt0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ck5hbWVdLFxuICAgICAgICAgIHBhY2thZ2VGb3JtYXQ6IFsnbnBtJ10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW25ldyBMYW1iZGFGdW5jdGlvbihmb3J3YXJkZXIpXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGZhaWx1cmVBbGFybSA9IGZvcndhcmRlclxuICAgICAgLm1ldHJpY0Vycm9ycygpXG4gICAgICAuY3JlYXRlQWxhcm0oc2NvcGUsIGAke2lkUHJlZml4fS9Gb3J3YXJkZXIvRmFpbHVyZXNgLCB7XG4gICAgICAgIGFsYXJtTmFtZTogYCR7c2NvcGUubm9kZS5wYXRofS9Db2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9L0ZvcndhcmRlcmAsXG4gICAgICAgIGFsYXJtRGVzY3JpcHRpb246IFtcbiAgICAgICAgICBgVGhlIENvZGVBcnRpZmFjdCBmb3dhcmRlciBmb3IgJHtyZXBvc2l0b3J5SWR9IGlzIGZhaWxpbmdgLFxuICAgICAgICAgICcnLFxuICAgICAgICAgIGBMaW5rIHRvIHRoZSBsYW1iZGEgZnVuY3Rpb246ICR7bGFtYmRhRnVuY3Rpb25VcmwoZm9yd2FyZGVyKX1gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6XG4gICAgICAgICAgQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICB0aHJlc2hvbGQ6IDEsXG4gICAgICAgIHRyZWF0TWlzc2luZ0RhdGE6IFRyZWF0TWlzc2luZ0RhdGEuTUlTU0lORyxcbiAgICAgIH0pO1xuICAgIG1vbml0b3JpbmcuYWRkSGlnaFNldmVyaXR5QWxhcm0oXG4gICAgICBgQ29kZUFydGlmYWN0OiR7dGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJOYW1lfSBGYWlsdXJlc2AsXG4gICAgICBmYWlsdXJlQWxhcm1cbiAgICApO1xuXG4gICAgY29uc3QgZGxxTm90RW1wdHlBbGFybSA9IG5ldyBNYXRoRXhwcmVzc2lvbih7XG4gICAgICBleHByZXNzaW9uOiAnbVZpc2libGUgKyBtSGlkZGVuJyxcbiAgICAgIHVzaW5nTWV0cmljczoge1xuICAgICAgICBtVmlzaWJsZTogZGxxLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUoe1xuICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgfSksXG4gICAgICAgIG1IaWRkZW46IGRscS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlKHtcbiAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KS5jcmVhdGVBbGFybShzY29wZSwgYCR7aWRQcmVmaXh9L0ZvcndhcmRlci9ETFFOb3RFbXB0eWAsIHtcbiAgICAgIGFsYXJtTmFtZTogYCR7c2NvcGUubm9kZS5wYXRofS9Db2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9L0RMUU5vdEVtcHR5YCxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IFtcbiAgICAgICAgYFRoZSBDb2RlQXJ0aWZhY3QgZm93YXJkZXIgZm9yICR7cmVwb3NpdG9yeUlkfSBpcyBmYWlsaW5nYCxcbiAgICAgICAgJycsXG4gICAgICAgIGBMaW5rIHRvIHRoZSBsYW1iZGEgZnVuY3Rpb246ICR7bGFtYmRhRnVuY3Rpb25VcmwoZm9yd2FyZGVyKX1gLFxuICAgICAgICBgTGluayB0byB0aGUgZGVhZCBsZXR0ZXIgcXVldWU6ICR7c3FzUXVldWVVcmwoZGxxKX1gLFxuICAgICAgXS5qb2luKCcvbicpLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogVHJlYXRNaXNzaW5nRGF0YS5OT1RfQlJFQUNISU5HLFxuICAgIH0pO1xuICAgIG1vbml0b3JpbmcuYWRkTG93U2V2ZXJpdHlBbGFybShcbiAgICAgIGBDb2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9IERMUSBOb3QgRW1wdHlgLFxuICAgICAgZGxxTm90RW1wdHlBbGFybVxuICAgICk7XG5cbiAgICBydWxlLm5vZGUuYWRkRGVwZW5kZW5jeShmYWlsdXJlQWxhcm0sIGRscU5vdEVtcHR5QWxhcm0pO1xuXG4gICAgb3ZlcnZpZXdEYXNoYm9hcmQuYWRkRExRTWV0cmljVG9EYXNoYm9hcmQoXG4gICAgICBgQ29kZUFydGlmYWN0LyR7cmVwb3NpdG9yeUlkfSBETFFgLFxuICAgICAgZGxxXG4gICAgKTtcbiAgICBvdmVydmlld0Rhc2hib2FyZC5hZGRDb25jdXJyZW50RXhlY3V0aW9uTWV0cmljVG9EYXNoYm9hcmQoXG4gICAgICBmb3J3YXJkZXIsXG4gICAgICBgJHtpZFByZWZpeH0vRm9yd2FyZGVyTGFtYmRhYFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogYENvZGVBcnRpZmFjdDogJHtyZXBvc2l0b3J5SWR9YCxcbiAgICAgIGxpbmtzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQ29kZUFydGlmYWN0JyxcbiAgICAgICAgICB1cmw6IGNvZGVBcnRpZmFjdFJlcG9zaXRvcnlVcmwodGhpcy5wcm9wcy5yZXBvc2l0b3J5KSxcbiAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0ZvcndhcmRlciBGdW5jdGlvbicsXG4gICAgICAgICAgdXJsOiBsYW1iZGFGdW5jdGlvblVybChmb3J3YXJkZXIpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1NlYXJjaCBMb2cgZ3JvdXAnLFxuICAgICAgICAgIHVybDogbGFtYmRhU2VhcmNoTG9nR3JvdXBVcmwoZm9yd2FyZGVyKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdETFEnLFxuICAgICAgICAgIHVybDogc3FzUXVldWVVcmwoZGxxKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBkYXNoYm9hcmRXaWRnZXRzOiBbXG4gICAgICAgIFtcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgICAgdGl0bGU6ICdGdW5jdGlvbiBIZWFsdGgnLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICBmaWxsTWV0cmljKGZvcndhcmRlci5tZXRyaWNJbnZvY2F0aW9ucyh7IGxhYmVsOiAnSW52b2NhdGlvbnMnIH0pKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhmb3J3YXJkZXIubWV0cmljRXJyb3JzKHsgbGFiZWw6ICdFcnJvcnMnIH0pKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgICByaWdodDogW2ZvcndhcmRlci5tZXRyaWNEdXJhdGlvbih7IGxhYmVsOiAnRHVyYXRpb24nIH0pXSxcbiAgICAgICAgICAgIHJpZ2h0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMTUpLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ0RlYWQgTGV0dGVyIFF1ZXVlJyxcbiAgICAgICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAgICAgZGxxLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnVmlzaWJsZSBNZXNzYWdlcycsXG4gICAgICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZGxxLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc05vdFZpc2libGUoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnSGlkZGVuIE1lc3NhZ2VzJyxcbiAgICAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHJpZ2h0OiBbXG4gICAgICAgICAgICAgIGRscS5tZXRyaWNBcHByb3hpbWF0ZUFnZU9mT2xkZXN0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdPbGRlc3QgTWVzc2FnZSBBZ2UnLFxuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ1F1YWxpdHkgTWV0cmljcycsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgdGhpcy5tZXRyaWNOb3RKc2lpRW5hYmxlZENvdW50KHsgbGFiZWw6ICdOb3QgYSBqc2lpIHBhY2thZ2UnIH0pLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICB0aGlzLm1ldHJpY0luZWxpZ2libGVMaWNlbnNlKHsgbGFiZWw6ICdJbmVsaWdpYmxlIExpY2Vuc2UnIH0pLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICB0aGlzLm1ldHJpY0RlbnlMaXN0ZWRDb3VudCh7IGxhYmVsOiAnRGVueSBMaXN0ZWQnIH0pLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICB0aGlzLm1ldHJpY0RlbGV0ZWRDb3VudCh7IGxhYmVsOiAnRGVsZXRpb24gRXZlbnRzJyB9KSxcbiAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb3VudCBvZiBwYWNrYWdlIHZlcnNpb25zIHRoYXQgd2VyZSBpZ25vcmVkIGR1ZSB0byBiZWluZyBpbiB0aGUgZGVueSBsaXN0LlxuICAgKi9cbiAgcHVibGljIG1ldHJpY0RlbnlMaXN0ZWRDb3VudChvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuU1VNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgW0RPTUFJTl9PV05FUl9ESU1FTlNJT05dOiB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ckRvbWFpbk93bmVyLFxuICAgICAgICBbRE9NQUlOX05BTUVfRElNRU5TSU9OXTogdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5OYW1lLFxuICAgICAgICBbUkVQT1NJVE9SWV9OQU1FX0RJTUVOU0lPTl06IHRoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyTmFtZSxcbiAgICAgIH0sXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLkRFTllfTElTVEVEX0NPVU5ULFxuICAgICAgbmFtZXNwYWNlOiBNRVRSSUNTX05BTUVTUEFDRSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHBhY2thZ2UgdmVyc2lvbnMgdGhhdCB3ZXJlIGlnbm9yZWQgZHVlIHRvIHVzaW5nIGFuIGluZWxvaWdpYmxlIGxpY2Vuc2UuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljSW5lbGlnaWJsZUxpY2Vuc2Uob3B0cz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIHN0YXRpc3RpYzogU3RhdGlzdGljLlNVTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIFtET01BSU5fT1dORVJfRElNRU5TSU9OXTpcbiAgICAgICAgICB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ckRvbWFpbk93bmVyID8/IEF3cy5BQ0NPVU5UX0lELFxuICAgICAgICBbRE9NQUlOX05BTUVfRElNRU5TSU9OXTogdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5OYW1lLFxuICAgICAgICBbUkVQT1NJVE9SWV9OQU1FX0RJTUVOU0lPTl06IHRoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyTmFtZSxcbiAgICAgIH0sXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLklORUxJR0lCTEVfTElDRU5TRSxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBwYWNrYWdlIHZlcnNpb25zIHRoYXQgd2VyZSBkZWxldGVkIGZyb20gQ29kZUFydGlmYWN0ICh0aG9zZSBldmVudHMgYXJlIG5vdFxuICAgKiBoYW5kbGVkIGN1cnJlbnRseSkuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljRGVsZXRlZENvdW50KG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICBzdGF0aXN0aWM6IFN0YXRpc3RpYy5TVU0sXG4gICAgICAuLi5vcHRzLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBbRE9NQUlOX09XTkVSX0RJTUVOU0lPTl06XG4gICAgICAgICAgdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5Pd25lciA/PyBBd3MuQUNDT1VOVF9JRCxcbiAgICAgICAgW0RPTUFJTl9OQU1FX0RJTUVOU0lPTl06IHRoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyRG9tYWluTmFtZSxcbiAgICAgICAgW1JFUE9TSVRPUllfTkFNRV9ESU1FTlNJT05dOiB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ck5hbWUsXG4gICAgICB9LFxuICAgICAgbWV0cmljTmFtZTogTWV0cmljTmFtZS5ERUxFVEVEX0NPVU5ULFxuICAgICAgbmFtZXNwYWNlOiBNRVRSSUNTX05BTUVTUEFDRSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHBhY2thZ2UgdmVyc2lvbnMgdGhhdCBkbyBub3QgaGF2ZSBhIGpzaWkgYXNzZW1ibHkgaW4gdGhlIHBhY2thZ2UuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljTm90SnNpaUVuYWJsZWRDb3VudChvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuU1VNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgW0RPTUFJTl9PV05FUl9ESU1FTlNJT05dOlxuICAgICAgICAgIHRoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyRG9tYWluT3duZXIgPz8gQXdzLkFDQ09VTlRfSUQsXG4gICAgICAgIFtET01BSU5fTkFNRV9ESU1FTlNJT05dOiB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ckRvbWFpbk5hbWUsXG4gICAgICAgIFtSRVBPU0lUT1JZX05BTUVfRElNRU5TSU9OXTogdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJOYW1lLFxuICAgICAgfSxcbiAgICAgIG1ldHJpY05hbWU6IE1ldHJpY05hbWUuTk9UX0pTSUlfRU5BQkxFRF9DT1VOVCxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -534,7 +534,7 @@ class NpmJs {
534
534
  }
535
535
  exports.NpmJs = NpmJs;
536
536
  _a = JSII_RTTI_SYMBOL_1;
537
- NpmJs[_a] = { fqn: "construct-hub.sources.NpmJs", version: "0.4.301" };
537
+ NpmJs[_a] = { fqn: "construct-hub.sources.NpmJs", version: "0.4.302" };
538
538
  /**
539
539
  * How often 'rate' goes into 'duration' (rounded up)
540
540
  */
@@ -50,7 +50,7 @@ class TagCondition {
50
50
  }
51
51
  exports.TagCondition = TagCondition;
52
52
  _a = JSII_RTTI_SYMBOL_1;
53
- TagCondition[_a] = { fqn: "construct-hub.TagCondition", version: "0.4.301" };
53
+ TagCondition[_a] = { fqn: "construct-hub.TagCondition", version: "0.4.302" };
54
54
  /**
55
55
  * Logic operators for performing specific conditional logic.
56
56
  */
@@ -130,7 +130,7 @@ class TagConditionField {
130
130
  }
131
131
  exports.TagConditionField = TagConditionField;
132
132
  _b = JSII_RTTI_SYMBOL_1;
133
- TagConditionField[_b] = { fqn: "construct-hub.TagConditionField", version: "0.4.301" };
133
+ TagConditionField[_b] = { fqn: "construct-hub.TagConditionField", version: "0.4.302" };
134
134
  /**
135
135
  * Target the README of the package to dictate whether a tag is relevant.
136
136
  */
@@ -147,5 +147,5 @@ class TagConditionReadme {
147
147
  }
148
148
  exports.TagConditionReadme = TagConditionReadme;
149
149
  _c = JSII_RTTI_SYMBOL_1;
150
- TagConditionReadme[_c] = { fqn: "construct-hub.TagConditionReadme", version: "0.4.301" };
150
+ TagConditionReadme[_c] = { fqn: "construct-hub.TagConditionReadme", version: "0.4.302" };
151
151
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFja2FnZS10YWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE4RUEsSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLG1EQUE2QixDQUFBO0lBQzdCLHVDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQUc3QjtBQXNCRDs7R0FFRztBQUNILE1BQXNCLFlBQVk7SUFDaEM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQXFCO1FBQ2pDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFxQjtRQUNoQyxPQUFPLElBQUksaUJBQWlCLENBQUMscUJBQXFCLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFxQjtRQUNqQyxPQUFPLElBQUksaUJBQWlCLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFjO1FBQzVCLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTTtRQUNYLE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O0FBdkNILG9DQTBDQzs7O0FBRUQ7O0dBRUc7QUFDSCxJQUFZLHFCQU9YO0FBUEQsV0FBWSxxQkFBcUI7SUFDL0Isb0NBQVcsQ0FBQTtJQUNYLGtDQUFTLENB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b20gJy4uL3BhY2thZ2UtdGFnLWdyb3VwJztcblxuaW50ZXJmYWNlIFBhY2thZ2VUYWdQcmVzZW50YXRpb25CYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBmb3IgdGhlIHRhZyBiZWluZyBhcHBsaWVkXG4gICAqL1xuICByZWFkb25seSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaGV4IHZhbHVlIHN0cmluZyBmb3IgdGhlIGNvbG9yIG9mIHRoZSB0YWcgd2hlbiBkaXNwbGF5ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvbG9yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleXdvcmQgZXh0ZW5kcyBQYWNrYWdlVGFnUHJlc2VudGF0aW9uQmFzZSB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEhpZ2hsaWdodCBleHRlbmRzIFBhY2thZ2VUYWdQcmVzZW50YXRpb25CYXNlIHtcbiAgLyoqXG4gICAqIEljb24gZGlzcGxheWVkIG5leHQgdG8gaGlnaGxpZ2h0IG9uIHBhY2thZ2UgY2FyZFxuICAgKi9cbiAgcmVhZG9ubHkgaWNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hGaWx0ZXIge1xuICAvKipcbiAgICogRGlzcGxheSBuYW1lIGZvciBmaWx0ZXJcbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXk6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiBncm91cCB0byBpbmNsdWRlIGZpbHRlciBpblxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGdyb3VwYCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBncm91cEJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYWNrYWdlVGFnR3JvdXAgdG8gaW5jbHVkZSBmaWx0ZXIgaW5cbiAgICovXG4gIHJlYWRvbmx5IGdyb3VwPzogUGFja2FnZVRhZ0dyb3VwO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VUYWdCYXNlIHtcbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRhZywgdXNlZCBmb3Igc2VhcmNoLiBNdXN0IGJlIHVuaXF1ZSBhbW9uZ3N0IHRhZ3MuXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIGZvciBoaWdsaWdodGluZyB0YWcgb24gcGFja2FnZSBjYXJkXG4gICAqIEBkZWZhdWx0IGRvbid0IGhpZ2hsaWdodCB0YWdcbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hsaWdodD86IEhpZ2hsaWdodDtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3Igc2hvd2luZyB0YWcgYXMga2V5d29yZFxuICAgKiBAZGVmYXVsdCBkb24ndCBzaG93IHRhZyBpbiBrZXl3b3JkIGxpc3RcbiAgICovXG4gIHJlYWRvbmx5IGtleXdvcmQ/OiBLZXl3b3JkO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIGZvciBzaG93aW5nIHRhZyBhcyBzZWFyY2ggZmlsdGVyXG4gICAqIEBkZWZhdWx0IGRvbid0IHNob3cgdGFnIGluIHNlYXJjaCBmaWx0ZXJzXG4gICAqL1xuICByZWFkb25seSBzZWFyY2hGaWx0ZXI/OiBTZWFyY2hGaWx0ZXI7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYXBwbHlpbmcgY3VzdG9tIHRhZ3MgdG8gcmVsZXZhbnQgcGFja2FnZXMuIEN1c3RvbSB0YWdzIGFyZVxuICogZGlzcGxheWVkIG9uIHRoZSBwYWNrYWdlIGRldGFpbHMgcGFnZSwgYW5kIGNhbiBiZSB1c2VkIGZvciBzZWFyY2hpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFja2FnZVRhZyBleHRlbmRzIFBhY2thZ2VUYWdCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgbG9naWMgdGhhdCBkaWN0YXRlcyB3aGV0aGVyIHRoZVxuICAgKiBwYWNrYWdlIGhhcyB0aGUgdGFnIGFwcGxpZWQuXG4gICAqL1xuICByZWFkb25seSBjb25kaXRpb246IFRhZ0NvbmRpdGlvbjtcbn1cblxuZXhwb3J0IGVudW0gVGFnQ29uZGl0aW9uU291cmNlIHtcbiAgUEFDS0FHRV9KU09OID0gJ1BBQ0tBR0VfSlNPTicsXG4gIFJFQURNRSA9ICdSRUFETUUnLFxufVxuXG4vKipcbiAqIFNlcmlhbGl6ZWQgY29uZmlnIGZvciBhIHRhZyBjb25kaXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWdDb25kaXRpb25Db25maWcge1xuICByZWFkb25seSB0eXBlOiBUYWdDb25kaXRpb25Mb2dpY1R5cGU7XG4gIHJlYWRvbmx5IHNvdXJjZT86IFRhZ0NvbmRpdGlvblNvdXJjZTtcbiAgcmVhZG9ubHkga2V5Pzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nO1xuICByZWFkb25seSBvcHRpb25zPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgcmVhZG9ubHkgY2hpbGRyZW4/OiBUYWdDb25kaXRpb25Db25maWdbXTtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVkIHRhZyBkZWNsYXJhdGlvbiB0byBiZSBwYXNzZWQgdG8gbGFtYmRhcyB2aWEgZW52aXJvbm1lbnRcbiAqIHZhcmlhYmxlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlVGFnQ29uZmlnIGV4dGVuZHMgUGFja2FnZVRhZ0Jhc2Uge1xuICByZWFkb25seSBjb25kaXRpb246IFRhZ0NvbmRpdGlvbkNvbmZpZztcbn1cblxuLyoqXG4gKiBDb25kaXRpb24gZm9yIGFwcGx5aW5nIGEgY3VzdG9tIHRhZyB0byBhIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWdDb25kaXRpb24ge1xuICAvKipcbiAgICogQ3JlYXRlIGFuICYmIGNvbmRpdGlvbiB3aGljaCBhcHBsaWVzIG9ubHkgd2hlbiBhbGwgY29uZGl0aW9uIGFyZ3VtZW50cyBhcmVcbiAgICogdHJ1ZS5cbiAgICovXG4gIHN0YXRpYyBhbmQoLi4uY29uZHM6IFRhZ0NvbmRpdGlvbltdKTogVGFnQ29uZGl0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRhZ0NvbmRpdGlvbkxvZ2ljKFRhZ0NvbmRpdGlvbkxvZ2ljVHlwZS5BTkQsIGNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gfHwgY29uZGl0aW9uIHdoaWNoIGFwcGxpZXMgaWYgYW55IG9mIHRoZSBjb25kaXRpb24gYXJndW1lbnRzIGFyZVxuICAgKiB0cnVlLlxuICAgKi9cbiAgc3RhdGljIG9yKC4uLmNvbmRzOiBUYWdDb25kaXRpb25bXSk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25Mb2dpYyhUYWdDb25kaXRpb25Mb2dpY1R5cGUuT1IsIGNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSAhIGNvbmRpdGlvbiB3aGljaCBhcHBsaWVzIGlmIHRoZSBjb25kaXRpb24gYXJndW1lbnQgaXMgZmFsc2VcbiAgICovXG4gIHN0YXRpYyBub3QoLi4uY29uZHM6IFRhZ0NvbmRpdGlvbltdKTogVGFnQ29uZGl0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRhZ0NvbmRpdGlvbkxvZ2ljKFRhZ0NvbmRpdGlvbkxvZ2ljVHlwZS5OT1QsIGNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYXJnZXQgYSBmaWVsZCB3aXRoaW4gdGhlIGBwYWNrYWdlLmpzb25gIHRvIGFzc2VydCBhZ2FpbnN0LiBOZXN0ZWQgZmllbGRzXG4gICAqIGNhbiBiZSBhY2Nlc3NlZCBieSBwYXNzaW5nIG11bHRpcGxlIGtleXMuXG4gICAqIGBUYWdDb25kaXRpb24uZmllbGQoJ2tleTEnLCAna2V5MicpYCB3aWxsIGFjY2Vzc1xuICAgKiBgcGFja2FnZUpzb24/LmtleTE/LmtleTJgLlxuICAgKi9cbiAgc3RhdGljIGZpZWxkKC4uLmtleXM6IHN0cmluZ1tdKTogVGFnQ29uZGl0aW9uRmllbGQge1xuICAgIHJldHVybiBuZXcgVGFnQ29uZGl0aW9uRmllbGQoa2V5cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY29uZGl0aW9uIHdpdGggbG9naWMgdGFyZ2V0aW5nIHRoZSBSRUFETUUgb2YgdGhlIHBhY2thZ2UuXG4gICAqL1xuICBzdGF0aWMgcmVhZG1lKCk6IFRhZ0NvbmRpdGlvblJlYWRtZSB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25SZWFkbWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKCk6IFRhZ0NvbmRpdGlvbkNvbmZpZztcbn1cblxuLyoqXG4gKiBMb2dpYyBvcGVyYXRvcnMgZm9yIHBlcmZvcm1pbmcgc3BlY2lmaWMgY29uZGl0aW9uYWwgbG9naWMuXG4gKi9cbmV4cG9ydCBlbnVtIFRhZ0NvbmRpdGlvbkxvZ2ljVHlwZSB7XG4gIEFORCA9ICdBTkQnLFxuICBPUiA9ICdPUicsXG4gIE5PVCA9ICdOT1QnLFxuICBFUVVBTFMgPSAnRVFVQUxTJyxcbiAgSU5DTFVERVMgPSAnSU5DTFVERVMnLFxuICBTVEFSVFNfV0lUSCA9ICdTVEFSVFNfV0lUSCcsXG59XG5cbmNsYXNzIFRhZ0NvbmRpdGlvbkxvZ2ljIGV4dGVuZHMgVGFnQ29uZGl0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzTG9naWMgPSB0cnVlO1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlOiBUYWdDb25kaXRpb25Mb2dpY1R5cGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGlsZHJlbjogVGFnQ29uZGl0aW9uW11cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKCk6IFRhZ0NvbmRpdGlvbkNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGNoaWxkcmVuOiB0aGlzLmNoaWxkcmVuLm1hcCgoY29uZCkgPT4gY29uZC5iaW5kKCkpLFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgVGFnQ29uZGl0aW9uUHJlZGljYXRlIGV4dGVuZHMgVGFnQ29uZGl0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzUHJlZGljYXRlID0gdHJ1ZTtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHlwZTogVGFnQ29uZGl0aW9uTG9naWNUeXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc291cmNlPzogVGFnQ29uZGl0aW9uU291cmNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkga2V5Pzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZT86IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM/OiBUYWdDb25kaXRpb25JbmNsdWRlc09wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKCk6IFRhZ0NvbmRpdGlvbkNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFRhcmdldCBhIGZpZWxkIHRvIHVzZSBpbiBsb2dpYyB0byBkaWN0YXRlIHdoZXRoZXIgYSB0YWcgaXMgcmVsZXZhbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWdDb25kaXRpb25GaWVsZCB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpZWxkOiBzdHJpbmdbXSkge31cblxuICAvKipcbiAgICogQ3JlYXRlIGEgPT09IGNvbmRpdGlvbiB3aGljaCBhcHBsaWVzIGlmIHRoZSBzcGVjaWZpZWQgZmllbGQgd2l0aGluIHRoZVxuICAgKiBwYWNrYWdlJ3MgcGFja2FnZS5qc29uIGlzIGVxdWFsIHRvIHRoZSBwYXNzZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgZXEodmFsdWU6IGFueSk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25QcmVkaWNhdGUoXG4gICAgICBUYWdDb25kaXRpb25Mb2dpY1R5cGUuRVFVQUxTLFxuICAgICAgVGFnQ29uZGl0aW9uU291cmNlLlBBQ0tBR0VfSlNPTixcbiAgICAgIHRoaXMuZmllbGQsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYGZpZWxkLmluY2x1ZGVzKHZhbHVlKWAgY29uZGl0aW9uIHdoaWNoIGFwcGxpZXMgaWYgdGhlIHNwZWNpZmllZFxuICAgKiBmaWVsZCB3aXRoaW4gdGhlIHBhY2thZ2UncyBwYWNrYWdlLmpzb24gaW5jbHVkZXMgdGhlIHZhbHVlLiBUaGlzIHdvcmtzIGZvclxuICAgKiBhcnJheXMgb3Igc3RyaW5ncy5cbiAgICovXG4gIHB1YmxpYyBpbmNsdWRlcyhcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IFRhZ0NvbmRpdGlvbkluY2x1ZGVzT3B0aW9ucyA9IHt9XG4gICk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25QcmVkaWNhdGUoXG4gICAgICBUYWdDb25kaXRpb25Mb2dpY1R5cGUuSU5DTFVERVMsXG4gICAgICBUYWdDb25kaXRpb25Tb3VyY2UuUEFDS0FHRV9KU09OLFxuICAgICAgdGhpcy5maWVsZCxcbiAgICAgIHZhbHVlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYGZpZWxkLnN0YXJ0c1dpdGgodmFsdWUpYCBjb25kaXRpb24gd2hpY2ggYXBwbGllcyBpZiB0aGUgc3BlY2lmaWVkXG4gICAqIGZpZWxkIHdpdGhpbiB0aGUgcGFja2FnZSdzIHBhY2thZ2UuanNvbiBiZWdpbnMgd2l0aCB0aGUgdmFsdWUuIFRoaXMgd29ya3NcbiAgICogb25seSBmb3Igc3RyaW5nIHZhbHVlcy5cbiAgICovXG4gIHB1YmxpYyBzdGFydHNXaXRoKHZhbHVlOiBzdHJpbmcpOiBUYWdDb25kaXRpb24ge1xuICAgIHJldHVybiBuZXcgVGFnQ29uZGl0aW9uUHJlZGljYXRlKFxuICAgICAgVGFnQ29uZGl0aW9uTG9naWNUeXBlLlNUQVJUU19XSVRILFxuICAgICAgVGFnQ29uZGl0aW9uU291cmNlLlBBQ0tBR0VfSlNPTixcbiAgICAgIHRoaXMuZmllbGQsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBUYXJnZXQgdGhlIFJFQURNRSBvZiB0aGUgcGFja2FnZSB0byBkaWN0YXRlIHdoZXRoZXIgYSB0YWcgaXMgcmVsZXZhbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWdDb25kaXRpb25SZWFkbWUge1xuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBgcmVhZG1lLmluY2x1ZGVzKHZhbHVlKWAgY29uZGl0aW9uIHdoaWNoIGFwcGxpZXMgaWYgdGhlIFJFQURNRVxuICAgKiBpbmNsdWRlcyB0aGUgc3BlY2lmaWVkIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBpbmNsdWRlcyhcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFRhZ0NvbmRpdGlvbkluY2x1ZGVzT3B0aW9ucyA9IHt9XG4gICk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25QcmVkaWNhdGUoXG4gICAgICBUYWdDb25kaXRpb25Mb2dpY1R5cGUuSU5DTFVERVMsXG4gICAgICBUYWdDb25kaXRpb25Tb3VyY2UuUkVBRE1FLFxuICAgICAgdW5kZWZpbmVkLCAvLyBubyBrZXlcbiAgICAgIHZhbHVlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgaW5jbHVkZXNgIG9wZXJhdG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZ0NvbmRpdGlvbkluY2x1ZGVzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgbXVzdCBhcHBlYXIgYXQgbGVhc3QgdGhpcyBtYW55IHRpbWVzLlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBhdExlYXN0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTdHJpbmcgbWF0Y2hlcyBtdXN0IG1hdGNoIHRoZSBjYXNpbmcgb2YgdGhlIG9yaWdpbmFsIHN0cmluZy4gVGhpcyBvcHRpb25cbiAgICogaXMgaWdub3JlZCBpZiB0aGUgdmFsdWUgd2UgYXJlIGNoZWNraW5nIGlzIGFuIGFycmF5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XG59XG4iXX0=
@@ -13,7 +13,7 @@ class FilterType {
13
13
  }
14
14
  exports.FilterType = FilterType;
15
15
  _a = JSII_RTTI_SYMBOL_1;
16
- FilterType[_a] = { fqn: "construct-hub.FilterType", version: "0.4.301" };
16
+ FilterType[_a] = { fqn: "construct-hub.FilterType", version: "0.4.302" };
17
17
  class FilterTypeRadio extends FilterType {
18
18
  bind() {
19
19
  return { type: 'radio' };
@@ -45,5 +45,5 @@ class PackageTagGroup {
45
45
  }
46
46
  exports.PackageTagGroup = PackageTagGroup;
47
47
  _b = JSII_RTTI_SYMBOL_1;
48
- PackageTagGroup[_b] = { fqn: "construct-hub.PackageTagGroup", version: "0.4.301" };
48
+ PackageTagGroup[_b] = { fqn: "construct-hub.PackageTagGroup", version: "0.4.302" };
49
49
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFja2FnZS10YWctZ3JvdXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxNQUFzQixVQUFVO0lBQzlCLE1BQU0sQ0FBQyxRQUFRO1FBQ2IsT0FBTyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsT0FBTyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQy9CLENBQUM7O0FBUEgsZ0NBVUM7OztBQUVELE1BQU0sZUFBZ0IsU0FBUSxVQUFVO0lBQy9CLElBQUk7UUFDVCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQUVELE1BQU0sa0JBQW1CLFNBQVEsVUFBVTtJQUNsQyxJQUFJO1FBQ1QsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUF3QkQ7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFLMUIsWUFBNEIsRUFBVSxFQUFFLEtBQTRCO1FBQXhDLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVNLElBQUk7UUFDVCxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQztJQUNKLENBQUM7O0FBbEJILDBDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyVHlwZVZhbHVlIHtcbiAgcmVhZG9ubHkgdHlwZTogJ2NoZWNrYm94JyB8ICdyYWRpbyc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWx0ZXJUeXBlIHtcbiAgc3RhdGljIGNoZWNrYm94KCk6IEZpbHRlclR5cGUge1xuICAgIHJldHVybiBuZXcgRmlsdGVyVHlwZUNoZWNrYm94KCk7XG4gIH1cblxuICBzdGF0aWMgcmFkaW8oKTogRmlsdGVyVHlwZSB7XG4gICAgcmV0dXJuIG5ldyBGaWx0ZXJUeXBlUmFkaW8oKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKCk6IEZpbHRlclR5cGVWYWx1ZTtcbn1cblxuY2xhc3MgRmlsdGVyVHlwZVJhZGlvIGV4dGVuZHMgRmlsdGVyVHlwZSB7XG4gIHB1YmxpYyBiaW5kKCk6IEZpbHRlclR5cGVWYWx1ZSB7XG4gICAgcmV0dXJuIHsgdHlwZTogJ3JhZGlvJyB9O1xuICB9XG59XG5cbmNsYXNzIEZpbHRlclR5cGVDaGVja2JveCBleHRlbmRzIEZpbHRlclR5cGUge1xuICBwdWJsaWMgYmluZCgpOiBGaWx0ZXJUeXBlVmFsdWUge1xuICAgIHJldHVybiB7IHR5cGU6ICdjaGVja2JveCcgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VUYWdHcm91cFByb3BzIHtcbiAgLyoqXG4gICAqIEdyb3VwIGxhYmVsIHRvIGRpc3BsYXkuIEZhbGxzIGJhY2sgdG8gaWQgaWYgbm90IHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBsYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1lc3NhZ2UgdG8gc2hvdyB3aXRoaW4gYSB0b29sdGlwIG5leHQgdG8gdGhlIGZpbHRlciBsYWJlbFxuICAgKi9cbiAgcmVhZG9ubHkgdG9vbHRpcD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzcGVjaWZ5IHRoZSBncm91cCBmaWx0ZXIgdHlwZS4gRGVmYXVsdHMgdG8gY2hlY2tib3ggaWYgbm90IHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyVHlwZT86IEZpbHRlclR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFja2FnZVRhZ0dyb3VwQ29uZmlnIHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRvb2x0aXA/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZpbHRlclR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIGN1c3RvbSBwYWNrYWdlIHRhZyBncm91cFxuICovXG5leHBvcnQgY2xhc3MgUGFja2FnZVRhZ0dyb3VwIHtcbiAgcHVibGljIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9vbHRpcD86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlclR5cGU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcsIHByb3BzPzogUGFja2FnZVRhZ0dyb3VwUHJvcHMpIHtcbiAgICB0aGlzLmxhYmVsID0gcHJvcHM/LmxhYmVsO1xuICAgIHRoaXMudG9vbHRpcCA9IHByb3BzPy50b29sdGlwO1xuICAgIHRoaXMuZmlsdGVyVHlwZSA9IChwcm9wcz8uZmlsdGVyVHlwZSA/PyBGaWx0ZXJUeXBlLmNoZWNrYm94KCkpLmJpbmQoKS50eXBlO1xuICB9XG5cbiAgcHVibGljIGJpbmQoKTogUGFja2FnZVRhZ0dyb3VwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBsYWJlbDogdGhpcy5sYWJlbCxcbiAgICAgIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMuZmlsdGVyVHlwZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -31,5 +31,5 @@ class PreloadFile {
31
31
  }
32
32
  exports.PreloadFile = PreloadFile;
33
33
  _a = JSII_RTTI_SYMBOL_1;
34
- PreloadFile[_a] = { fqn: "construct-hub.PreloadFile", version: "0.4.301" };
34
+ PreloadFile[_a] = { fqn: "construct-hub.PreloadFile", version: "0.4.302" };
35
35
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJlbG9hZC1maWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQWtDO0FBRWxDOzs7R0FHRztBQUNILE1BQWEsV0FBVztJQUN0Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBWTtRQUMxQixNQUFNLElBQUksR0FBRyxJQUFBLGlCQUFZLEVBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVk7UUFDMUIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBNkIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFBRyxDQUFDO0lBRXRDLElBQUk7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7QUFwQkgsa0NBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBqYXZhc2NyaXB0IGZpbGUgdG8gbG9hZCBiZWZvcmUgdGhlIHdlYmFwcC5cbiAqIFRoaXMgY2FuIGFsbG93IG9wZXJhdG9ycyB0byBhZGQgdGhlaXIgb3duIGNsaWVudCBtb25pdG9ycyBvciBhbmFseXRpY3MgaWYgdGhleSB3aXNoXG4gKi9cbmV4cG9ydCBjbGFzcyBQcmVsb2FkRmlsZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUHJlbG9hZEZpbGUgaW5zdGFuY2UgZnJvbSBhIGZpbGVwYXRoIHRvIGxvYWRcbiAgICovXG4gIHN0YXRpYyBmcm9tRmlsZShwYXRoOiBzdHJpbmcpOiBQcmVsb2FkRmlsZSB7XG4gICAgY29uc3QgZGF0YSA9IHJlYWRGaWxlU3luYyhwYXRoLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pO1xuICAgIHJldHVybiBuZXcgUHJlbG9hZEZpbGUoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFByZWxvYWRGaWxlIGluc3RhbmNlIGRpcmVjdGx5IGZyb20gc291cmNlIGNvZGVcbiAgICovXG4gIHN0YXRpYyBmcm9tQ29kZShjb2RlOiBzdHJpbmcpOiBQcmVsb2FkRmlsZSB7XG4gICAgcmV0dXJuIG5ldyBQcmVsb2FkRmlsZShjb2RlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGF0YTogc3RyaW5nKSB7fVxuXG4gIHB1YmxpYyBiaW5kKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgfVxufVxuIl19
package/lib/s3/storage.js CHANGED
@@ -52,6 +52,6 @@ class S3StorageFactory extends constructs_1.Construct {
52
52
  }
53
53
  exports.S3StorageFactory = S3StorageFactory;
54
54
  _a = JSII_RTTI_SYMBOL_1;
55
- S3StorageFactory[_a] = { fqn: "construct-hub.S3StorageFactory", version: "0.4.301" };
55
+ S3StorageFactory[_a] = { fqn: "construct-hub.S3StorageFactory", version: "0.4.302" };
56
56
  S3StorageFactory.UID = 'S3StorageFactory';
57
57
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zMy9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXFEO0FBQ3JELHlDQUF5QztBQUN6QywyQ0FBdUM7QUFjdkM7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBQzdDOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUN2QixLQUFnQixFQUNoQixRQUErQixFQUFFO1FBRWpDLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNqRTtRQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFxQixDQUFDO0lBQ3hFLENBQUM7SUFNRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixRQUErQixFQUFFO1FBRWpDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFNBQVMsQ0FDZCxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBc0I7UUFFdEIsU0FBUyxXQUFXLENBQUMsTUFBaUI7WUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9ELGtCQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFM0MsSUFBSSx1QkFBUyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFDdEMsV0FBVyxFQUFFLFlBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQzNDLEtBQUssRUFBRSxvQkFBb0IsTUFBTSxDQUFDLFVBQVUsU0FBUyxTQUFTLENBQUMsVUFBVSxFQUFFO2FBQzVFLENBQUMsQ0FBQztZQUNILE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVoRCw2RUFBNkU7UUFDN0Usa0ZBQWtGO1FBQ2xGLHlCQUF5QjtRQUN6QixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNsRCxDQUFDOztBQTVESCw0Q0E2REM7OztBQTNDeUIsb0JBQUcsR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgU3RhY2ssIFRhZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYFMzU3RvcmFnZUZhY3RvcnlgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNTdG9yYWdlRmFjdG9yeVByb3BzIHtcbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgdGhlIGZhY3Rvcnkgd2lsbCByZXR1cm4gdGhlIGZhaWxvdmVyIGJ1Y2tldHMgaW5zdGVhZCBvZiB0aGUgcHJpbWFyeS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZhaWxvdmVyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgczMgc3RvcmFnZSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTM1N0b3JhZ2VGYWN0b3J5IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJldHJpZXZlIG9yIGNyZWF0ZSB0aGUgc3RvcmFnZSBmYWN0b3J5IGZvciB0aGUgY3VycmVudCBzY29wZS5cbiAgICpcbiAgICogVGhpcyBpcyBzdGFjayBzaW5nbGV0b24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldE9yQ3JlYXRlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgcHJvcHM6IFMzU3RvcmFnZUZhY3RvcnlQcm9wcyA9IHt9XG4gICk6IFMzU3RvcmFnZUZhY3Rvcnkge1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSBzdGFjay5ub2RlLnRyeUZpbmRDaGlsZChTM1N0b3JhZ2VGYWN0b3J5LlVJRCk7XG4gICAgaWYgKCFmYWN0b3J5KSB7XG4gICAgICByZXR1cm4gbmV3IFMzU3RvcmFnZUZhY3Rvcnkoc3RhY2ssIFMzU3RvcmFnZUZhY3RvcnkuVUlELCBwcm9wcyk7XG4gICAgfVxuICAgIHJldHVybiBzdGFjay5ub2RlLmZpbmRDaGlsZChTM1N0b3JhZ2VGYWN0b3J5LlVJRCkgYXMgUzNTdG9yYWdlRmFjdG9yeTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFVJRCA9ICdTM1N0b3JhZ2VGYWN0b3J5JztcblxuICBwcml2YXRlIGZhaWxvdmVyQWN0aXZlOiBib29sZWFuO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBTM1N0b3JhZ2VGYWN0b3J5UHJvcHMgPSB7fVxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuZmFpbG92ZXJBY3RpdmUgPSBwcm9wcy5mYWlsb3ZlciA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYnVja2V0IGluIGEgc3RvcmFnZSBjb25maWcgYXdhcmUgbWFubmVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBzMy5CdWNrZXRcbiAgICovXG4gIHB1YmxpYyBuZXdCdWNrZXQoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzPzogczMuQnVja2V0UHJvcHNcbiAgKTogczMuQnVja2V0IHtcbiAgICBmdW5jdGlvbiBmYWlsb3ZlckZvcihidWNrZXQ6IHMzLkJ1Y2tldCk6IHMzLkJ1Y2tldCB7XG4gICAgICBjb25zdCBfZmFpbG92ZXIgPSBuZXcgczMuQnVja2V0KHNjb3BlLCBgRmFpbG92ZXIke2lkfWAsIHByb3BzKTtcbiAgICAgIFRhZ3Mub2YoX2ZhaWxvdmVyKS5hZGQoJ2ZhaWxvdmVyJywgJ3RydWUnKTtcblxuICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgJ1NuYXBzaG90Q29tbWFuZCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246IGBTbmFwc2hvdCAke2J1Y2tldC5ub2RlLnBhdGh9YCxcbiAgICAgICAgdmFsdWU6IGBhd3MgczMgc3luYyBzMzovLyR7YnVja2V0LmJ1Y2tldE5hbWV9IHMzOi8vJHtfZmFpbG92ZXIuYnVja2V0TmFtZX1gLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gX2ZhaWxvdmVyO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1hcnkgPSBuZXcgczMuQnVja2V0KHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgLy8gbm90ZSB0aGF0IHdlIGNyZWF0ZSB0aGUgZmFpbG92ZXIgYnVja2V0IGV2ZW4gaWYgd2UgZG9uJ3QgY3VycmVudGx5IHVzZSBpdC5cbiAgICAvLyB0aGlzIGlzIGJlY2F1c2UgY29uZGl0aW9uaW5nIGJ1Y2tldCBjcmVhdGlvbiB3aWxsIGV2ZW50dWFsbHkgZmFpbCBzaW5jZSBidWNrZXRzXG4gICAgLy8gYXJlIG5vcm1hbGx5IHJldGFpbmVkLlxuICAgIGNvbnN0IGZhaWxvdmVyID0gZmFpbG92ZXJGb3IocHJpbWFyeSk7XG5cbiAgICByZXR1cm4gdGhpcy5mYWlsb3ZlckFjdGl2ZSA/IGZhaWxvdmVyIDogcHJpbWFyeTtcbiAgfVxufVxuIl19
@@ -245,7 +245,7 @@ class SpdxLicense {
245
245
  }
246
246
  exports.SpdxLicense = SpdxLicense;
247
247
  _a = JSII_RTTI_SYMBOL_1;
248
- SpdxLicense[_a] = { fqn: "construct-hub.SpdxLicense", version: "0.4.301" };
248
+ SpdxLicense[_a] = { fqn: "construct-hub.SpdxLicense", version: "0.4.302" };
249
249
  SpdxLicense._ALL = new Map();
250
250
  //#region Individual SPDX Licenses
251
251
  /**
package/package.json CHANGED
@@ -199,7 +199,7 @@
199
199
  "main": "lib/index.js",
200
200
  "license": "Apache-2.0",
201
201
  "homepage": "https://github.com/cdklabs",
202
- "version": "0.4.301",
202
+ "version": "0.4.302",
203
203
  "jest": {
204
204
  "maxConcurrency": 2,
205
205
  "moduleNameMapper": {