@jjrawlins/cdk-diff-pr-github-action 1.3.11 → 1.3.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -5393,6 +5393,6 @@
5393
5393
  "symbolId": "src/CdkDiffIamTemplateStackSet:StackSetRoleSelection"
5394
5394
  }
5395
5395
  },
5396
- "version": "1.3.11",
5397
- "fingerprint": "jWYympJ5Z0AtkkQOHlf7h/Gs6T56Agsa67WlHnPndKY="
5396
+ "version": "1.3.12",
5397
+ "fingerprint": "/w/o8ouXFUK/doJf5GQvu6FMpC6yiBb914tgbdj9dMs="
5398
5398
  }
@@ -394,7 +394,7 @@ class CdkDiffIamTemplateGenerator {
394
394
  }
395
395
  exports.CdkDiffIamTemplateGenerator = CdkDiffIamTemplateGenerator;
396
396
  _a = JSII_RTTI_SYMBOL_1;
397
- CdkDiffIamTemplateGenerator[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator", version: "1.3.11" };
397
+ CdkDiffIamTemplateGenerator[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator", version: "1.3.12" };
398
398
  /**
399
399
  * Projen construct that emits a CloudFormation template with minimal IAM permissions
400
400
  * for the CDK Diff Stack Workflow.
@@ -417,5 +417,5 @@ class CdkDiffIamTemplate {
417
417
  }
418
418
  exports.CdkDiffIamTemplate = CdkDiffIamTemplate;
419
419
  _b = JSII_RTTI_SYMBOL_1;
420
- CdkDiffIamTemplate[_b] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplate", version: "1.3.11" };
420
+ CdkDiffIamTemplate[_b] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplate", version: "1.3.12" };
421
421
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRGlmZklhbVRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Nka0RpZmZJYW1UZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFrQztBQW1EbEM7OztHQUdHO0FBQ0gsTUFBYSwyQkFBMkI7SUFDdEM7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBdUM7UUFDN0QsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUM7UUFFckQsaUJBQWlCO1FBQ2pCLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1lBQ3RGLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztZQUMxRSxDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLG9DQUFvQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsZUFBdUIscUNBQXFDO1FBQ3ZGLE9BQU8sNkNBQTZDLFlBQVksOEVBQThFLENBQUM7SUFDakosQ0FBQztJQUVEOztPQUVHO0lBQ0ss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UUFFN0Usd0NBQXdDO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLDJCQUEyQixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JFLElBQUksaUJBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6RSxrQkFBa0I7UUFDbEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsNkJBQTZCLEVBQUU7WUFDbkQsV0FBVyxFQUNULDRIQUE0SDtZQUM5SCxXQUFXLEVBQUUsSUFBSTtZQUNqQixJQUFJLEVBQUUsMkJBQTJCLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1NBQ3BFLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBZkgsZ0RBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgR2l0SHViT2lkY0NvbmZpZyB9IGZyb20gJy4vQ2RrRGlmZklhbVRlbXBsYXRlU3RhY2tTZXQnO1xuXG4vKipcbiAqIFByb3BzIGZvciBnZW5lcmF0aW5nIENESyBEaWZmIElBTSB0ZW1wbGF0ZXMgKG5vIFByb2plbiBkZXBlbmRlbmN5KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENka0RpZmZJYW1UZW1wbGF0ZUdlbmVyYXRvclByb3BzIHtcbiAgLyoqIE5hbWUgZm9yIHRoZSBjaGFuZ2VzZXQgSUFNIHJvbGUgKi9cbiAgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQVJOIG9mIHRoZSBleGlzdGluZyBHaXRIdWIgT0lEQyByb2xlIHRoYXQgY2FuIGFzc3VtZSB0aGlzIGNoYW5nZXNldCByb2xlLlxuICAgKiBSZXF1aXJlZCB3aGVuIGNyZWF0ZU9pZGNSb2xlIGlzIGZhbHNlIG9yIHVuZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNSb2xlQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZWdpb24gZm9yIHRoZSBPSURDIHRydXN0IGNvbmRpdGlvbi5cbiAgICogT25seSB1c2VkIHdoZW4gb2lkY1JvbGVBcm4gaXMgcHJvdmlkZWQgKGV4dGVybmFsIE9JREMgcm9sZSkuXG4gICAqL1xuICByZWFkb25seSBvaWRjUmVnaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBHaXRIdWIgT0lEQyByb2xlIHdpdGhpbiB0aGlzIHRlbXBsYXRlIGluc3RlYWQgb2YgdXNpbmcgYW4gZXhpc3Rpbmcgb25lLlxuICAgKiBXaGVuIHRydWUsIGdpdGh1Yk9pZGMgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCBhbmQgb2lkY1JvbGVBcm4gaXMgaWdub3JlZC5cbiAgICogRGVmYXVsdDogZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZU9pZGNSb2xlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgR2l0SHViIE9JREMgcm9sZSB0byBjcmVhdGUuXG4gICAqIE9ubHkgdXNlZCB3aGVuIGNyZWF0ZU9pZGNSb2xlIGlzIHRydWUuXG4gICAqIERlZmF1bHQ6ICdHaXRIdWJPSURDUm9sZSdcbiAgICovXG4gIHJlYWRvbmx5IG9pZGNSb2xlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogR2l0SHViIE9JREMgY29uZmlndXJhdGlvbiBmb3IgcmVwby9icmFuY2ggcmVzdHJpY3Rpb25zLlxuICAgKiBSZXF1aXJlZCB3aGVuIGNyZWF0ZU9pZGNSb2xlIGlzIHRydWUuXG4gICAqL1xuICByZWFkb25seSBnaXRodWJPaWRjPzogR2l0SHViT2lkY0NvbmZpZztcblxuICAvKipcbiAgICogU2tpcCBjcmVhdGluZyB0aGUgT0lEQyBwcm92aWRlciAodXNlIGV4aXN0aW5nIG9uZSkuXG4gICAqIFNldCB0byB0cnVlIGlmIHRoZSBhY2NvdW50IGFscmVhZHkgaGFzIGEgR2l0SHViIE9JREMgcHJvdmlkZXIuXG4gICAqIE9ubHkgdXNlZCB3aGVuIGNyZWF0ZU9pZGNSb2xlIGlzIHRydWUuXG4gICAqIERlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBza2lwT2lkY1Byb3ZpZGVyQ3JlYXRpb24/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFB1cmUgZ2VuZXJhdG9yIGNsYXNzIGZvciBDREsgRGlmZiBJQU0gdGVtcGxhdGVzLlxuICogTm8gUHJvamVuIGRlcGVuZGVuY3kgLSBjYW4gYmUgdXNlZCBpbiBhbnkgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RpZmZJYW1UZW1wbGF0ZUdlbmVyYXRvciB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0aGUgQ2xvdWRGb3JtYXRpb24gSUFNIHRlbXBsYXRlIGFzIGEgWUFNTCBzdHJpbmcuXG4gICAqL1xuICBzdGF0aWMgZ2VuZXJhdGVUZW1wbGF0ZShwcm9wczogQ2RrRGlmZklhbVRlbXBsYXRlR2VuZXJhdG9yUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNyZWF0ZU9pZGNSb2xlID0gcHJvcHMuY3JlYXRlT2lkY1JvbGUgPz8gZmFsc2U7XG5cbiAgICAvLyBWYWxpZGF0ZSBwcm9wc1xuICAgIGlmIChjcmVhdGVPaWRjUm9sZSkge1xuICAgICAgaWYgKCFwcm9wcy5naXRodWJPaWRjKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignZ2l0aHViT2lkYyBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIHdoZW4gY3JlYXRlT2lkY1JvbGUgaXMgdHJ1ZScpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXByb3BzLm9pZGNSb2xlQXJuKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignb2lkY1JvbGVBcm4gaXMgcmVxdWlyZWQgd2hlbiBjcmVhdGVPaWRjUm9sZSBpcyBmYWxzZScpO1xuICAgICAgfVxuICAgICAgaWYgKCFwcm9wcy5vaWRjUmVnaW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignb2lkY1JlZ2lvbiBpcyByZXF1aXJlZCB3aGVuIGNyZWF0ZU9pZGNSb2xlIGlzIGZhbHNlJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNyZWF0ZU9pZGNSb2xlKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZVRlbXBsYXRlV2l0aE9pZGNSb2xlKHByb3BzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVUZW1wbGF0ZVdpdGhFeHRlcm5hbE9pZGNSb2xlKHByb3BzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgdGhlIEFXUyBDTEkgZGVwbG95IGNvbW1hbmQgZm9yIHRoZSBJQU0gdGVtcGxhdGUuXG4gICAqL1xuICBzdGF0aWMgZ2VuZXJhdGVEZXBsb3lDb21tYW5kKHRlbXBsYXRlUGF0aDogc3RyaW5nID0gJ2Nkay1kaWZmLXdvcmtmbG93LWlhbS10ZW1wbGF0ZS55YW1sJyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBhd3MgY2xvdWRmb3JtYXRpb24gZGVwbG95IC0tdGVtcGxhdGUtZmlsZSAke3RlbXBsYXRlUGF0aH0gLS1zdGFjay1uYW1lIGNkay1kaWZmLXdvcmtmbG93LWlhbS1yb2xlIC0tY2FwYWJpbGl0aWVzIENBUEFCSUxJVFlfTkFNRURfSUFNYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0ZW1wbGF0ZSB0aGF0IGNyZWF0ZXMgT0lEQyBwcm92aWRlciBhbmQgcm9sZSAoc2VsZi1jb250YWluZWQpXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZVRlbXBsYXRlV2l0aE9pZGNSb2xlKHByb3BzOiBDZGtEaWZmSWFtVGVtcGxhdGVHZW5lcmF0b3JQcm9wcyk6IHN0cmluZyB7XG4gICAgY29uc3Qgb2lkY1JvbGVOYW1lID0gcHJvcHMub2lkY1JvbGVOYW1lID8/ICdHaXRIdWJPSURDUm9sZSc7XG4gICAgY29uc3Qgc2tpcE9pZGNQcm92aWRlciA9IHByb3BzLnNraXBPaWRjUHJvdmlkZXJDcmVhdGlvbiA/PyBmYWxzZTtcbiAgICBjb25zdCBnaXRodWJPaWRjID0gcHJvcHMuZ2l0aHViT2lkYyE7XG5cbiAgICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbXG4gICAgICBcIkFXU1RlbXBsYXRlRm9ybWF0VmVyc2lvbjogJzIwMTAtMDktMDknXCIsXG4gICAgICBcIkRlc2NyaXB0aW9uOiAnR2l0SHViIE9JREMgYW5kIElBTSByb2xlcyBmb3IgQ0RLIERpZmYgU3RhY2sgV29ya2Zsb3cgY29uc3RydWN0J1wiLFxuICAgICAgJycsXG4gICAgICAnUmVzb3VyY2VzOicsXG4gICAgXTtcblxuICAgIC8vIE9JREMgUHJvdmlkZXIgKG9ubHkgaWYgbm90IHNraXBwaW5nKVxuICAgIGlmICghc2tpcE9pZGNQcm92aWRlcikge1xuICAgICAgbGluZXMucHVzaCguLi50aGlzLmdlbmVyYXRlT2lkY1Byb3ZpZGVyTGluZXMoKSk7XG4gICAgfVxuXG4gICAgLy8gT0lEQyBSb2xlIChuZWVkcyBwZXJtaXNzaW9uIHRvIGFzc3VtZSB0aGUgY2hhbmdlc2V0IHJvbGUpXG4gICAgbGluZXMucHVzaCguLi50aGlzLmdlbmVyYXRlT2lkY1JvbGVMaW5lcyhvaWRjUm9sZU5hbWUsIGdpdGh1Yk9pZGMsIHNraXBPaWRjUHJvdmlkZXIsIHByb3BzLnJvbGVOYW1lKSk7XG5cbiAgICAvLyBDaGFuZ2VzZXQgUm9sZSAodHJ1c3RzIHRoZSBjcmVhdGVkIE9JREMgcm9sZSlcbiAgICBsaW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVDaGFuZ2VzZXRSb2xlV2l0aE9pZGNSZWYocHJvcHMucm9sZU5hbWUpKTtcblxuICAgIC8vIE91dHB1dHNcbiAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICBsaW5lcy5wdXNoKCdPdXRwdXRzOicpO1xuXG4gICAgaWYgKCFza2lwT2lkY1Byb3ZpZGVyKSB7XG4gICAgICBsaW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVPaWRjUHJvdmlkZXJPdXRwdXRMaW5lcygpKTtcbiAgICB9XG5cbiAgICBsaW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVPaWRjUm9sZU91dHB1dExpbmVzKCkpO1xuICAgIGxpbmVzLnB1c2goLi4udGhpcy5nZW5lcmF0ZUNoYW5nZXNldE91dHB1dExpbmVzKCkpO1xuXG4gICAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRlbXBsYXRlIHRoYXQgdXNlcyBhbiBleHRlcm5hbCBPSURDIHJvbGUgKG9yaWdpbmFsIGJlaGF2aW9yKVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2VuZXJhdGVUZW1wbGF0ZVdpdGhFeHRlcm5hbE9pZGNSb2xlKHByb3BzOiBDZGtEaWZmSWFtVGVtcGxhdGVHZW5lcmF0b3JQcm9wcyk6IHN0cmluZyB7XG4gICAgY29uc3QgbGluZXMgPSBbXG4gICAgICBcIkFXU1RlbXBsYXRlRm9ybWF0VmVyc2lvbjogJzIwMTAtMDktMDknXCIsXG4gICAgICBcIkRlc2NyaXB0aW9uOiAnSUFNIHJvbGUgZm9yIENESyBEaWZmIFN0YWNrIFdvcmtmbG93IGNvbnN0cnVjdCdcIixcbiAgICAgICcnLFxuICAgICAgJ1BhcmFtZXRlcnM6JyxcbiAgICAgICcgIEdpdEh1Yk9JRENSb2xlQXJuOicsXG4gICAgICAnICAgIFR5cGU6IFN0cmluZycsXG4gICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ0FSTiBvZiB0aGUgZXhpc3RpbmcgR2l0SHViIE9JREMgcm9sZSB0aGF0IGNhbiBhc3N1bWUgdGhpcyBjaGFuZ2VzZXQgcm9sZSdcIixcbiAgICAgIGAgICAgRGVmYXVsdDogJyR7cHJvcHMub2lkY1JvbGVBcm59J2AsXG4gICAgICAnJyxcbiAgICAgICdSZXNvdXJjZXM6JyxcbiAgICAgICcgICMgQ2xvdWRGb3JtYXRpb24gQ2hhbmdlU2V0IFJvbGUgLSBtaW5pbWFsIHBlcm1pc3Npb25zIGZvciBjaGFuZ2VzZXQgb3BlcmF0aW9ucycsXG4gICAgICAnICBDZGtDaGFuZ2VzZXRSb2xlOicsXG4gICAgICAnICAgIFR5cGU6IEFXUzo6SUFNOjpSb2xlJyxcbiAgICAgICcgICAgUHJvcGVydGllczonLFxuICAgICAgXCIgICAgICBSb2xlTmFtZTogJ1wiICsgcHJvcHMucm9sZU5hbWUgKyBcIidcIixcbiAgICAgICcgICAgICBBc3N1bWVSb2xlUG9saWN5RG9jdW1lbnQ6JyxcbiAgICAgIFwiICAgICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNydcIixcbiAgICAgICcgICAgICAgIFN0YXRlbWVudDonLFxuICAgICAgJyAgICAgICAgICAtIEVmZmVjdDogQWxsb3cnLFxuICAgICAgJyAgICAgICAgICAgIFByaW5jaXBhbDonLFxuICAgICAgJyAgICAgICAgICAgICAgQVdTOiAhUmVmIEdpdEh1Yk9JRENSb2xlQXJuJyxcbiAgICAgICcgICAgICAgICAgICBBY3Rpb246IHN0czpBc3N1bWVSb2xlJyxcbiAgICAgICcgICAgICAgICAgICBDb25kaXRpb246JyxcbiAgICAgICcgICAgICAgICAgICAgIFN0cmluZ0VxdWFsczonLFxuICAgICAgXCIgICAgICAgICAgICAgICAgYXdzOlJlcXVlc3RlZFJlZ2lvbjogJ1wiICsgcHJvcHMub2lkY1JlZ2lvbiArIFwiJ1wiLFxuICAgICAgJyAgICAgIFBvbGljaWVzOicsXG4gICAgICAnICAgICAgICAtIFBvbGljeU5hbWU6IENsb3VkRm9ybWF0aW9uQ2hhbmdlU2V0QWNjZXNzJyxcbiAgICAgICcgICAgICAgICAgUG9saWN5RG9jdW1lbnQ6JyxcbiAgICAgIFwiICAgICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnXCIsXG4gICAgICAnICAgICAgICAgICAgU3RhdGVtZW50OicsXG4gICAgICAnICAgICAgICAgICAgICAjIENsb3VkRm9ybWF0aW9uIGNoYW5nZXNldCBvcGVyYXRpb25zJyxcbiAgICAgICcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAnICAgICAgICAgICAgICAgIEFjdGlvbjonLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246Q3JlYXRlQ2hhbmdlU2V0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkRlc2NyaWJlQ2hhbmdlU2V0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkRlbGV0ZUNoYW5nZVNldCcsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpMaXN0Q2hhbmdlU2V0cycsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrcycsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpHZXRUZW1wbGF0ZScsXG4gICAgICBcIiAgICAgICAgICAgICAgICBSZXNvdXJjZTogJyonXCIsXG4gICAgICAnICAgICAgICAgICAgICAjIENESyBib290c3RyYXAgYnVja2V0IGFjY2VzcyAoZm9yIGNoYW5nZXNldCBjcmVhdGlvbiknLFxuICAgICAgJyAgICAgICAgICAgICAgLSBFZmZlY3Q6IEFsbG93JyxcbiAgICAgICcgICAgICAgICAgICAgICAgQWN0aW9uOicsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBzMzpHZXRPYmplY3QnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gczM6UHV0T2JqZWN0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIHMzOkRlbGV0ZU9iamVjdCcsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBzMzpMaXN0QnVja2V0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgUmVzb3VyY2U6JyxcbiAgICAgIFwiICAgICAgICAgICAgICAgICAgLSAhU3ViICdhcm46YXdzOnMzOjo6Y2RrLSR7QVdTOjpBY2NvdW50SWR9LSR7QVdTOjpSZWdpb259LSonXCIsXG4gICAgICBcIiAgICAgICAgICAgICAgICAgIC0gIVN1YiAnYXJuOmF3czpzMzo6OmNkay0ke0FXUzo6QWNjb3VudElkfS0ke0FXUzo6UmVnaW9ufS0qLyonXCIsXG4gICAgICAnICAgICAgICAgICAgICAjIENESyBib290c3RyYXAgcGFyYW1ldGVyIGFjY2VzcycsXG4gICAgICAnICAgICAgICAgICAgICAtIEVmZmVjdDogQWxsb3cnLFxuICAgICAgJyAgICAgICAgICAgICAgICBBY3Rpb246JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIHNzbTpHZXRQYXJhbWV0ZXInLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gc3NtOkdldFBhcmFtZXRlcnMnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gc3NtOkdldFBhcmFtZXRlcnNCeVBhdGgnLFxuICAgICAgXCIgICAgICAgICAgICAgICAgUmVzb3VyY2U6ICFTdWIgJ2Fybjphd3M6c3NtOiR7QVdTOjpSZWdpb259OiR7QVdTOjpBY2NvdW50SWR9OnBhcmFtZXRlci9jZGstYm9vdHN0cmFwLyonXCIsXG4gICAgICAnICAgICAgICAgICAgICAjIElBTSBQYXNzUm9sZSBmb3IgQ0RLIG9wZXJhdGlvbnMnLFxuICAgICAgJyAgICAgICAgICAgICAgLSBFZmZlY3Q6IEFsbG93JyxcbiAgICAgICcgICAgICAgICAgICAgICAgQWN0aW9uOicsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBpYW06UGFzc1JvbGUnLFxuICAgICAgXCIgICAgICAgICAgICAgICAgUmVzb3VyY2U6ICcqJ1wiLFxuICAgICAgJyAgICAgICAgICAgICAgICBDb25kaXRpb246JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICBTdHJpbmdFcXVhbHM6JyxcbiAgICAgIFwiICAgICAgICAgICAgICAgICAgICAnaWFtOlBhc3NlZFRvU2VydmljZSc6ICdjbG91ZGZvcm1hdGlvbi5hbWF6b25hd3MuY29tJ1wiLFxuICAgICAgJycsXG4gICAgICAnT3V0cHV0czonLFxuICAgICAgJyAgQ2RrQ2hhbmdlc2V0Um9sZUFybjonLFxuICAgICAgXCIgICAgRGVzY3JpcHRpb246ICdBUk4gb2YgdGhlIENESyBjaGFuZ2VzZXQgcm9sZSdcIixcbiAgICAgICcgICAgVmFsdWU6ICFHZXRBdHQgQ2RrQ2hhbmdlc2V0Um9sZS5Bcm4nLFxuICAgICAgJyAgICBFeHBvcnQ6JyxcbiAgICAgIFwiICAgICAgTmFtZTogIVN1YiAnJHtBV1M6OlN0YWNrTmFtZX0tQ2RrQ2hhbmdlc2V0Um9sZUFybidcIixcbiAgICAgICcnLFxuICAgICAgJyAgQ2RrQ2hhbmdlc2V0Um9sZU5hbWU6JyxcbiAgICAgIFwiICAgIERlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgQ0RLIGNoYW5nZXNldCByb2xlJ1wiLFxuICAgICAgJyAgICBWYWx1ZTogIVJlZiBDZGtDaGFuZ2VzZXRSb2xlJyxcbiAgICAgICcgICAgRXhwb3J0OicsXG4gICAgICBcIiAgICAgIE5hbWU6ICFTdWIgJyR7QVdTOjpTdGFja05hbWV9LUNka0NoYW5nZXNldFJvbGVOYW1lJ1wiLFxuICAgIF07XG5cbiAgICByZXR1cm4gbGluZXMuam9pbignXFxuJyk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZU9pZGNQcm92aWRlckxpbmVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJyAgIyBHaXRIdWIgT0lEQyBQcm92aWRlcicsXG4gICAgICAnICBHaXRIdWJPSURDUHJvdmlkZXI6JyxcbiAgICAgICcgICAgVHlwZTogQVdTOjpJQU06Ok9JRENQcm92aWRlcicsXG4gICAgICAnICAgIFByb3BlcnRpZXM6JyxcbiAgICAgICcgICAgICBVcmw6IGh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20nLFxuICAgICAgJyAgICAgIENsaWVudElkTGlzdDonLFxuICAgICAgJyAgICAgICAgLSBzdHMuYW1hem9uYXdzLmNvbScsXG4gICAgICAnICAgICAgVGh1bWJwcmludExpc3Q6JyxcbiAgICAgICcgICAgICAgIC0gNjkzOGZkNGQ5OGJhYjAzZmFhZGI5N2IzNDM5NjgzMWUzNzgwYWVhMScsXG4gICAgICAnICAgICAgICAtIDFjNThhM2E4NTE4ZTg3NTliZjA3NWI3NmI3NTBkNGYyZGYyNjRmY2QnLFxuICAgICAgJycsXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlT2lkY1JvbGVMaW5lcyhcbiAgICByb2xlTmFtZTogc3RyaW5nLFxuICAgIGdpdGh1Yk9pZGM6IEdpdEh1Yk9pZGNDb25maWcsXG4gICAgc2tpcE9pZGNQcm92aWRlcjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGNoYW5nZXNldFJvbGVOYW1lPzogc3RyaW5nLFxuICApOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc3ViamVjdENsYWltcyA9IHRoaXMuYnVpbGRTdWJqZWN0Q2xhaW1zKGdpdGh1Yk9pZGMpO1xuXG4gICAgY29uc3QgbGluZXMgPSBbXG4gICAgICAnICAjIEdpdEh1YiBPSURDIFJvbGUgLSBhdXRoZW50aWNhdGVzIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93cycsXG4gICAgICAnICBHaXRIdWJPSURDUm9sZTonLFxuICAgICAgJyAgICBUeXBlOiBBV1M6OklBTTo6Um9sZScsXG4gICAgXTtcblxuICAgIC8vIE9ubHkgYWRkIERlcGVuZHNPbiBpZiB3ZSdyZSBjcmVhdGluZyB0aGUgcHJvdmlkZXJcbiAgICBpZiAoIXNraXBPaWRjUHJvdmlkZXIpIHtcbiAgICAgIGxpbmVzLnB1c2goJyAgICBEZXBlbmRzT246IEdpdEh1Yk9JRENQcm92aWRlcicpO1xuICAgIH1cblxuICAgIGxpbmVzLnB1c2goXG4gICAgICAnICAgIFByb3BlcnRpZXM6JyxcbiAgICAgIFwiICAgICAgUm9sZU5hbWU6ICdcIiArIHJvbGVOYW1lICsgXCInXCIsXG4gICAgICAnICAgICAgQXNzdW1lUm9sZVBvbGljeURvY3VtZW50OicsXG4gICAgICBcIiAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnXCIsXG4gICAgICAnICAgICAgICBTdGF0ZW1lbnQ6JyxcbiAgICAgICcgICAgICAgICAgLSBFZmZlY3Q6IEFsbG93JyxcbiAgICAgICcgICAgICAgICAgICBQcmluY2lwYWw6JyxcbiAgICAgIFwiICAgICAgICAgICAgICBGZWRlcmF0ZWQ6ICFTdWIgJ2Fybjphd3M6aWFtOjoke0FXUzo6QWNjb3VudElkfTpvaWRjLXByb3ZpZGVyL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tJ1wiLFxuICAgICAgJyAgICAgICAgICAgIEFjdGlvbjogc3RzOkFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHknLFxuICAgICAgJyAgICAgICAgICAgIENvbmRpdGlvbjonLFxuICAgICAgJyAgICAgICAgICAgICAgU3RyaW5nRXF1YWxzOicsXG4gICAgICBcIiAgICAgICAgICAgICAgICAndG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb206YXVkJzogJ3N0cy5hbWF6b25hd3MuY29tJ1wiLFxuICAgICAgJyAgICAgICAgICAgICAgU3RyaW5nTGlrZTonLFxuICAgICAgXCIgICAgICAgICAgICAgICAgJ3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tOnN1Yic6XCIsXG4gICAgKTtcblxuICAgIC8vIEFkZCBzdWJqZWN0IGNsYWltc1xuICAgIGZvciAoY29uc3QgY2xhaW0gb2Ygc3ViamVjdENsYWltcykge1xuICAgICAgbGluZXMucHVzaChgICAgICAgICAgICAgICAgICAgLSAnJHtjbGFpbX0nYCk7XG4gICAgfVxuXG4gICAgLy8gQWRkIHBvbGljaWVzIGZvciBhc3N1bWluZyBjaGFuZ2VzZXQgcm9sZSBhbmQgQ0RLIGJvb3RzdHJhcCByb2xlcywgcGx1cyBDREsgZGlmZiBwZXJtaXNzaW9uc1xuICAgIGxpbmVzLnB1c2goJyAgICAgIFBvbGljaWVzOicpO1xuXG4gICAgLy8gUG9saWN5IDE6IEFzc3VtZUNoYW5nZXNldFJvbGUgLSBhbGxvd3MgYXNzdW1pbmcgY2hhbmdlc2V0IHJvbGUgYW5kIENESyBib290c3RyYXAgcm9sZXNcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgIC0gUG9saWN5TmFtZTogQXNzdW1lQ2hhbmdlc2V0Um9sZScpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICBQb2xpY3lEb2N1bWVudDonKTtcbiAgICBsaW5lcy5wdXNoKFwiICAgICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnXCIpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgIFN0YXRlbWVudDonKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICBBY3Rpb246IHN0czpBc3N1bWVSb2xlJyk7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAgIFJlc291cmNlOicpO1xuICAgIGlmIChjaGFuZ2VzZXRSb2xlTmFtZSkge1xuICAgICAgbGluZXMucHVzaChgICAgICAgICAgICAgICAgICAgLSAhU3ViICdhcm46YXdzOmlhbTo6XFwke0FXUzo6QWNjb3VudElkfTpyb2xlLyR7Y2hhbmdlc2V0Um9sZU5hbWV9J2ApO1xuICAgIH1cbiAgICAvLyBDREsgYm9vdHN0cmFwIHJvbGVzXG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAgICAgIyBDREsgYm9vdHN0cmFwIHJvbGVzJyk7XG4gICAgbGluZXMucHVzaChcIiAgICAgICAgICAgICAgICAgIC0gIVN1YiAnYXJuOmF3czppYW06OiR7QVdTOjpBY2NvdW50SWR9OnJvbGUvY2RrLWhuYjY1OWZkcy1kZXBsb3ktcm9sZS0ke0FXUzo6QWNjb3VudElkfS0ke0FXUzo6UmVnaW9ufSdcIik7XG4gICAgbGluZXMucHVzaChcIiAgICAgICAgICAgICAgICAgIC0gIVN1YiAnYXJuOmF3czppYW06OiR7QVdTOjpBY2NvdW50SWR9OnJvbGUvY2RrLWhuYjY1OWZkcy1maWxlLXB1Ymxpc2hpbmctcm9sZS0ke0FXUzo6QWNjb3VudElkfS0ke0FXUzo6UmVnaW9ufSdcIik7XG4gICAgbGluZXMucHVzaChcIiAgICAgICAgICAgICAgICAgIC0gIVN1YiAnYXJuOmF3czppYW06OiR7QVdTOjpBY2NvdW50SWR9OnJvbGUvY2RrLWhuYjY1OWZkcy1pbWFnZS1wdWJsaXNoaW5nLXJvbGUtJHtBV1M6OkFjY291bnRJZH0tJHtBV1M6OlJlZ2lvbn0nXCIpO1xuICAgIGxpbmVzLnB1c2goXCIgICAgICAgICAgICAgICAgICAtICFTdWIgJ2Fybjphd3M6aWFtOjoke0FXUzo6QWNjb3VudElkfTpyb2xlL2Nkay1obmI2NTlmZHMtbG9va3VwLXJvbGUtJHtBV1M6OkFjY291bnRJZH0tJHtBV1M6OlJlZ2lvbn0nXCIpO1xuXG4gICAgLy8gUG9saWN5IDI6IENka0RpZmZQZXJtaXNzaW9ucyAtIGRpcmVjdCBwZXJtaXNzaW9ucyBmb3IgQ0RLIGRpZmYgb3BlcmF0aW9uc1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgLSBQb2xpY3lOYW1lOiBDZGtEaWZmUGVybWlzc2lvbnMnKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgUG9saWN5RG9jdW1lbnQ6Jyk7XG4gICAgbGluZXMucHVzaChcIiAgICAgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3J1wiKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICBTdGF0ZW1lbnQ6Jyk7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAjIENESyBib290c3RyYXAgcGFyYW1ldGVyIGFjY2VzcyAobmVlZGVkIGZvciBjZGsgZGVwbG95L2RpZmYpJyk7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAtIEVmZmVjdDogQWxsb3cnKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgICAgQWN0aW9uOicpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICAgIC0gc3NtOkdldFBhcmFtZXRlcicpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICAgIC0gc3NtOkdldFBhcmFtZXRlcnMnKTtcbiAgICBsaW5lcy5wdXNoKFwiICAgICAgICAgICAgICAgIFJlc291cmNlOiAhU3ViICdhcm46YXdzOnNzbToke0FXUzo6UmVnaW9ufToke0FXUzo6QWNjb3VudElkfTpwYXJhbWV0ZXIvY2RrLWJvb3RzdHJhcC8qJ1wiKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgICMgQ2xvdWRGb3JtYXRpb24gb3BlcmF0aW9ucyBmb3IgY2hhbmdlc2V0IGNyZWF0aW9uJyk7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAtIEVmZmVjdDogQWxsb3cnKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgICAgQWN0aW9uOicpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246Q3JlYXRlQ2hhbmdlU2V0Jyk7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXNjcmliZUNoYW5nZVNldCcpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246RGVsZXRlQ2hhbmdlU2V0Jyk7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpMaXN0Q2hhbmdlU2V0cycpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246RGVzY3JpYmVTdGFja3MnKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkdldFRlbXBsYXRlJyk7XG4gICAgbGluZXMucHVzaChcIiAgICAgICAgICAgICAgICBSZXNvdXJjZTogJyonXCIpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgIyBDREsgYm9vdHN0cmFwIGJ1Y2tldCBhY2Nlc3MnKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICBBY3Rpb246Jyk7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAgICAgLSBzMzpHZXRPYmplY3QnKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgICAgICAtIHMzOlB1dE9iamVjdCcpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICAgIC0gczM6TGlzdEJ1Y2tldCcpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICAgIC0gczM6R2V0QnVja2V0TG9jYXRpb24nKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgICAgUmVzb3VyY2U6Jyk7XG4gICAgbGluZXMucHVzaChcIiAgICAgICAgICAgICAgICAgIC0gIVN1YiAnYXJuOmF3czpzMzo6OmNkay1obmI2NTlmZHMtYXNzZXRzLSR7QVdTOjpBY2NvdW50SWR9LSR7QVdTOjpSZWdpb259J1wiKTtcbiAgICBsaW5lcy5wdXNoKFwiICAgICAgICAgICAgICAgICAgLSAhU3ViICdhcm46YXdzOnMzOjo6Y2RrLWhuYjY1OWZkcy1hc3NldHMtJHtBV1M6OkFjY291bnRJZH0tJHtBV1M6OlJlZ2lvbn0vKidcIik7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAjIElBTSBQYXNzUm9sZSBmb3IgQ0RLIG9wZXJhdGlvbnMnKTtcbiAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICBBY3Rpb246Jyk7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAgICAgLSBpYW06UGFzc1JvbGUnKTtcbiAgICBsaW5lcy5wdXNoKFwiICAgICAgICAgICAgICAgIFJlc291cmNlOiAhU3ViICdhcm46YXdzOmlhbTo6JHtBV1M6OkFjY291bnRJZH06cm9sZS9jZGstaG5iNjU5ZmRzLSonXCIpO1xuICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICBDb25kaXRpb246Jyk7XG4gICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAgICAgU3RyaW5nRXF1YWxzOicpO1xuICAgIGxpbmVzLnB1c2goXCIgICAgICAgICAgICAgICAgICAgICdpYW06UGFzc2VkVG9TZXJ2aWNlJzogJ2Nsb3VkZm9ybWF0aW9uLmFtYXpvbmF3cy5jb20nXCIpO1xuXG4gICAgbGluZXMucHVzaCgnJyk7XG4gICAgcmV0dXJuIGxpbmVzO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYnVpbGRTdWJqZWN0Q2xhaW1zKGdpdGh1Yk9pZGM6IEdpdEh1Yk9pZGNDb25maWcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhaW1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGJyYW5jaGVzID0gZ2l0aHViT2lkYy5icmFuY2hlcyA/PyBbJyonXTtcblxuICAgIGZvciAoY29uc3QgcmVwbyBvZiBnaXRodWJPaWRjLnJlcG9zaXRvcmllcykge1xuICAgICAgaWYgKHJlcG8gPT09ICcqJykge1xuICAgICAgICAvLyBXaWxkY2FyZCByZXBvIC0gYWxsb3cgYWxsIHJlcG9zIHdpdGggYnJhbmNoIHJlc3RyaWN0aW9uc1xuICAgICAgICBmb3IgKGNvbnN0IGJyYW5jaCBvZiBicmFuY2hlcykge1xuICAgICAgICAgIGlmIChicmFuY2ggPT09ICcqJykge1xuICAgICAgICAgICAgY2xhaW1zLnB1c2goYHJlcG86JHtnaXRodWJPaWRjLm93bmVyfS8qYCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNsYWltcy5wdXNoKGByZXBvOiR7Z2l0aHViT2lkYy5vd25lcn0vKjpyZWY6cmVmcy9oZWFkcy8ke2JyYW5jaH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNwZWNpZmljIHJlcG9cbiAgICAgICAgZm9yIChjb25zdCBicmFuY2ggb2YgYnJhbmNoZXMpIHtcbiAgICAgICAgICBpZiAoYnJhbmNoID09PSAnKicpIHtcbiAgICAgICAgICAgIGNsYWltcy5wdXNoKGByZXBvOiR7Z2l0aHViT2lkYy5vd25lcn0vJHtyZXBvfToqYCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNsYWltcy5wdXNoKGByZXBvOiR7Z2l0aHViT2lkYy5vd25lcn0vJHtyZXBvfTpyZWY6cmVmcy9oZWFkcy8ke2JyYW5jaH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgYW55IGFkZGl0aW9uYWwgY2xhaW1zXG4gICAgaWYgKGdpdGh1Yk9pZGMuYWRkaXRpb25hbENsYWltcykge1xuICAgICAgZm9yIChjb25zdCBjbGFpbSBvZiBnaXRodWJPaWRjLmFkZGl0aW9uYWxDbGFpbXMpIHtcbiAgICAgICAgZm9yIChjb25zdCByZXBvIG9mIGdpdGh1Yk9pZGMucmVwb3NpdG9yaWVzKSB7XG4gICAgICAgICAgaWYgKHJlcG8gPT09ICcqJykge1xuICAgICAgICAgICAgY2xhaW1zLnB1c2goYHJlcG86JHtnaXRodWJPaWRjLm93bmVyfS8qOiR7Y2xhaW19YCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNsYWltcy5wdXNoKGByZXBvOiR7Z2l0aHViT2lkYy5vd25lcn0vJHtyZXBvfToke2NsYWltfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbGFpbXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZUNoYW5nZXNldFJvbGVXaXRoT2lkY1JlZihyb2xlTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAnICAjIENsb3VkRm9ybWF0aW9uIENoYW5nZVNldCBSb2xlIC0gbWluaW1hbCBwZXJtaXNzaW9ucyBmb3IgY2hhbmdlc2V0IG9wZXJhdGlvbnMnLFxuICAgICAgJyAgQ2RrQ2hhbmdlc2V0Um9sZTonLFxuICAgICAgJyAgICBUeXBlOiBBV1M6OklBTTo6Um9sZScsXG4gICAgICAnICAgIERlcGVuZHNPbjogR2l0SHViT0lEQ1JvbGUnLFxuICAgICAgJyAgICBQcm9wZXJ0aWVzOicsXG4gICAgICBcIiAgICAgIFJvbGVOYW1lOiAnXCIgKyByb2xlTmFtZSArIFwiJ1wiLFxuICAgICAgJyAgICAgIEFzc3VtZVJvbGVQb2xpY3lEb2N1bWVudDonLFxuICAgICAgXCIgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3J1wiLFxuICAgICAgJyAgICAgICAgU3RhdGVtZW50OicsXG4gICAgICAnICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAnICAgICAgICAgICAgUHJpbmNpcGFsOicsXG4gICAgICAnICAgICAgICAgICAgICBBV1M6ICFHZXRBdHQgR2l0SHViT0lEQ1JvbGUuQXJuJyxcbiAgICAgICcgICAgICAgICAgICBBY3Rpb246IHN0czpBc3N1bWVSb2xlJyxcbiAgICAgICcgICAgICBQb2xpY2llczonLFxuICAgICAgJyAgICAgICAgLSBQb2xpY3lOYW1lOiBDbG91ZEZvcm1hdGlvbkNoYW5nZVNldEFjY2VzcycsXG4gICAgICAnICAgICAgICAgIFBvbGljeURvY3VtZW50OicsXG4gICAgICBcIiAgICAgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3J1wiLFxuICAgICAgJyAgICAgICAgICAgIFN0YXRlbWVudDonLFxuICAgICAgJyAgICAgICAgICAgICAgIyBDbG91ZEZvcm1hdGlvbiBjaGFuZ2VzZXQgb3BlcmF0aW9ucycsXG4gICAgICAnICAgICAgICAgICAgICAtIEVmZmVjdDogQWxsb3cnLFxuICAgICAgJyAgICAgICAgICAgICAgICBBY3Rpb246JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkNyZWF0ZUNoYW5nZVNldCcsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXNjcmliZUNoYW5nZVNldCcsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZWxldGVDaGFuZ2VTZXQnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246TGlzdENoYW5nZVNldHMnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246RGVzY3JpYmVTdGFja3MnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246R2V0VGVtcGxhdGUnLFxuICAgICAgXCIgICAgICAgICAgICAgICAgUmVzb3VyY2U6ICcqJ1wiLFxuICAgICAgJyAgICAgICAgICAgICAgIyBDREsgYm9vdHN0cmFwIGJ1Y2tldCBhY2Nlc3MgKGZvciBjaGFuZ2VzZXQgY3JlYXRpb24pJyxcbiAgICAgICcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAnICAgICAgICAgICAgICAgIEFjdGlvbjonLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gczM6R2V0T2JqZWN0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIHMzOlB1dE9iamVjdCcsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBzMzpEZWxldGVPYmplY3QnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gczM6TGlzdEJ1Y2tldCcsXG4gICAgICAnICAgICAgICAgICAgICAgIFJlc291cmNlOicsXG4gICAgICBcIiAgICAgICAgICAgICAgICAgIC0gIVN1YiAnYXJuOmF3czpzMzo6OmNkay0ke0FXUzo6QWNjb3VudElkfS0ke0FXUzo6UmVnaW9ufS0qJ1wiLFxuICAgICAgXCIgICAgICAgICAgICAgICAgICAtICFTdWIgJ2Fybjphd3M6czM6OjpjZGstJHtBV1M6OkFjY291bnRJZH0tJHtBV1M6OlJlZ2lvbn0tKi8qJ1wiLFxuICAgICAgJyAgICAgICAgICAgICAgIyBDREsgYm9vdHN0cmFwIHBhcmFtZXRlciBhY2Nlc3MnLFxuICAgICAgJyAgICAgICAgICAgICAgLSBFZmZlY3Q6IEFsbG93JyxcbiAgICAgICcgICAgICAgICAgICAgICAgQWN0aW9uOicsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBzc206R2V0UGFyYW1ldGVyJyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIHNzbTpHZXRQYXJhbWV0ZXJzJyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIHNzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoJyxcbiAgICAgIFwiICAgICAgICAgICAgICAgIFJlc291cmNlOiAhU3ViICdhcm46YXdzOnNzbToke0FXUzo6UmVnaW9ufToke0FXUzo6QWNjb3VudElkfTpwYXJhbWV0ZXIvY2RrLWJvb3RzdHJhcC8qJ1wiLFxuICAgICAgJyAgICAgICAgICAgICAgIyBJQU0gUGFzc1JvbGUgZm9yIENESyBvcGVyYXRpb25zJyxcbiAgICAgICcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAnICAgICAgICAgICAgICAgIEFjdGlvbjonLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gaWFtOlBhc3NSb2xlJyxcbiAgICAgIFwiICAgICAgICAgICAgICAgIFJlc291cmNlOiAnKidcIixcbiAgICAgICcgICAgICAgICAgICAgICAgQ29uZGl0aW9uOicsXG4gICAgICAnICAgICAgICAgICAgICAgICAgU3RyaW5nRXF1YWxzOicsXG4gICAgICBcIiAgICAgICAgICAgICAgICAgICAgJ2lhbTpQYXNzZWRUb1NlcnZpY2UnOiAnY2xvdWRmb3JtYXRpb24uYW1hem9uYXdzLmNvbSdcIixcbiAgICAgICcnLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZU9pZGNQcm92aWRlck91dHB1dExpbmVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJyAgR2l0SHViT0lEQ1Byb3ZpZGVyQXJuOicsXG4gICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ0FSTiBvZiB0aGUgR2l0SHViIE9JREMgcHJvdmlkZXInXCIsXG4gICAgICAnICAgIFZhbHVlOiAhR2V0QXR0IEdpdEh1Yk9JRENQcm92aWRlci5Bcm4nLFxuICAgICAgJyAgICBFeHBvcnQ6JyxcbiAgICAgIFwiICAgICAgTmFtZTogIVN1YiAnJHtBV1M6OlN0YWNrTmFtZX0tR2l0SHViT0lEQ1Byb3ZpZGVyQXJuJ1wiLFxuICAgICAgJycsXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlT2lkY1JvbGVPdXRwdXRMaW5lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICcgIEdpdEh1Yk9JRENSb2xlQXJuOicsXG4gICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ0FSTiBvZiB0aGUgR2l0SHViIE9JREMgcm9sZSdcIixcbiAgICAgICcgICAgVmFsdWU6ICFHZXRBdHQgR2l0SHViT0lEQ1JvbGUuQXJuJyxcbiAgICAgICcgICAgRXhwb3J0OicsXG4gICAgICBcIiAgICAgIE5hbWU6ICFTdWIgJyR7QVdTOjpTdGFja05hbWV9LUdpdEh1Yk9JRENSb2xlQXJuJ1wiLFxuICAgICAgJycsXG4gICAgICAnICBHaXRIdWJPSURDUm9sZU5hbWU6JyxcbiAgICAgIFwiICAgIERlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgR2l0SHViIE9JREMgcm9sZSdcIixcbiAgICAgICcgICAgVmFsdWU6ICFSZWYgR2l0SHViT0lEQ1JvbGUnLFxuICAgICAgJyAgICBFeHBvcnQ6JyxcbiAgICAgIFwiICAgICAgTmFtZTogIVN1YiAnJHtBV1M6OlN0YWNrTmFtZX0tR2l0SHViT0lEQ1JvbGVOYW1lJ1wiLFxuICAgICAgJycsXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlQ2hhbmdlc2V0T3V0cHV0TGluZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAnICBDZGtDaGFuZ2VzZXRSb2xlQXJuOicsXG4gICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ0FSTiBvZiB0aGUgQ0RLIGNoYW5nZXNldCByb2xlJ1wiLFxuICAgICAgJyAgICBWYWx1ZTogIUdldEF0dCBDZGtDaGFuZ2VzZXRSb2xlLkFybicsXG4gICAgICAnICAgIEV4cG9ydDonLFxuICAgICAgXCIgICAgICBOYW1lOiAhU3ViICcke0FXUzo6U3RhY2tOYW1lfS1DZGtDaGFuZ2VzZXRSb2xlQXJuJ1wiLFxuICAgICAgJycsXG4gICAgICAnICBDZGtDaGFuZ2VzZXRSb2xlTmFtZTonLFxuICAgICAgXCIgICAgRGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBDREsgY2hhbmdlc2V0IHJvbGUnXCIsXG4gICAgICAnICAgIFZhbHVlOiAhUmVmIENka0NoYW5nZXNldFJvbGUnLFxuICAgICAgJyAgICBFeHBvcnQ6JyxcbiAgICAgIFwiICAgICAgTmFtZTogIVN1YiAnJHtBV1M6OlN0YWNrTmFtZX0tQ2RrQ2hhbmdlc2V0Um9sZU5hbWUnXCIsXG4gICAgXTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgUHJvamVuLWludGVncmF0ZWQgQ0RLIERpZmYgSUFNIHRlbXBsYXRlIGNvbnN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENka0RpZmZJYW1UZW1wbGF0ZVByb3BzIGV4dGVuZHMgQ2RrRGlmZklhbVRlbXBsYXRlR2VuZXJhdG9yUHJvcHMge1xuICAvKiogUHJvamVuIHByb2plY3QgaW5zdGFuY2UgKi9cbiAgcmVhZG9ubHkgcHJvamVjdDogYW55O1xuICAvKiogT3V0cHV0IHBhdGggZm9yIHRoZSB0ZW1wbGF0ZSBmaWxlIChkZWZhdWx0OiAnY2RrLWRpZmYtd29ya2Zsb3ctaWFtLXRlbXBsYXRlLnlhbWwnKSAqL1xuICByZWFkb25seSBvdXRwdXRQYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb2plbiBjb25zdHJ1Y3QgdGhhdCBlbWl0cyBhIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIHdpdGggbWluaW1hbCBJQU0gcGVybWlzc2lvbnNcbiAqIGZvciB0aGUgQ0RLIERpZmYgU3RhY2sgV29ya2Zsb3cuXG4gKlxuICogRm9yIG5vbi1Qcm9qZW4gcHJvamVjdHMsIHVzZSBgQ2RrRGlmZklhbVRlbXBsYXRlR2VuZXJhdG9yYCBkaXJlY3RseS5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RpZmZJYW1UZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDZGtEaWZmSWFtVGVtcGxhdGVQcm9wcykge1xuICAgIGNvbnN0IG91dHB1dFBhdGggPSBwcm9wcy5vdXRwdXRQYXRoID8/ICdjZGstZGlmZi13b3JrZmxvdy1pYW0tdGVtcGxhdGUueWFtbCc7XG5cbiAgICAvLyBHZW5lcmF0ZSB0ZW1wbGF0ZSB1c2luZyB0aGUgZ2VuZXJhdG9yXG4gICAgY29uc3QgdGVtcGxhdGUgPSBDZGtEaWZmSWFtVGVtcGxhdGVHZW5lcmF0b3IuZ2VuZXJhdGVUZW1wbGF0ZShwcm9wcyk7XG4gICAgbmV3IFRleHRGaWxlKHByb3BzLnByb2plY3QsIG91dHB1dFBhdGgsIHsgbGluZXM6IHRlbXBsYXRlLnNwbGl0KCdcXG4nKSB9KTtcblxuICAgIC8vIEFkZCBkZXBsb3kgdGFza1xuICAgIHByb3BzLnByb2plY3QuYWRkVGFzaygnZGVwbG95LWNka2RpZmYtaWFtLXRlbXBsYXRlJywge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdEZXBsb3kgdGhlIENESyBEaWZmIElBTSB0ZW1wbGF0ZSB2aWEgQ2xvdWRGb3JtYXRpb24gKGFjY2VwdHMgZXh0cmEgQVdTIENMSSBhcmdzLCBlLmcuLCAtLXBhcmFtZXRlci1vdmVycmlkZXMgS2V5PVZhbHVlLi4uKScsXG4gICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICAgIGV4ZWM6IENka0RpZmZJYW1UZW1wbGF0ZUdlbmVyYXRvci5nZW5lcmF0ZURlcGxveUNvbW1hbmQob3V0cHV0UGF0aCksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -343,7 +343,7 @@ class CdkDiffIamTemplateStackSetGenerator {
343
343
  }
344
344
  exports.CdkDiffIamTemplateStackSetGenerator = CdkDiffIamTemplateStackSetGenerator;
345
345
  _a = JSII_RTTI_SYMBOL_1;
346
- CdkDiffIamTemplateStackSetGenerator[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator", version: "1.3.11" };
346
+ CdkDiffIamTemplateStackSetGenerator[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator", version: "1.3.12" };
347
347
  /**
348
348
  * Projen construct that creates a CloudFormation StackSet template for org-wide deployment of
349
349
  * GitHub OIDC provider, OIDC role, and CDK Diff/Drift IAM roles.
@@ -388,5 +388,5 @@ class CdkDiffIamTemplateStackSet {
388
388
  }
389
389
  exports.CdkDiffIamTemplateStackSet = CdkDiffIamTemplateStackSet;
390
390
  _b = JSII_RTTI_SYMBOL_1;
391
- CdkDiffIamTemplateStackSet[_b] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSet", version: "1.3.11" };
391
+ CdkDiffIamTemplateStackSet[_b] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSet", version: "1.3.12" };
392
392
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRGlmZklhbVRlbXBsYXRlU3RhY2tTZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ2RrRGlmZklhbVRlbXBsYXRlU3RhY2tTZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxJQUFZLHFCQU9YO0FBUEQsV0FBWSxxQkFBcUI7SUFDL0IseURBQXlEO0lBQ3pELDBEQUFpQyxDQUFBO0lBQ2pDLGlEQUFpRDtJQUNqRCxrREFBeUIsQ0FBQTtJQUN6QixtQ0FBbUM7SUFDbkMsc0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFQVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQU9oQztBQWtHRDs7O0dBR0c7QUFDSCxNQUFhLG1DQUFtQztJQUM5Qzs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUErQztRQUNyRSxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDO1FBQzVELE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixJQUFJLGtCQUFrQixDQUFDO1FBQ3hFLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksY0FBYyxDQUFDO1FBQzVELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDO1FBQ3hFLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLHdCQUF3QixJQUFJLEtBQUssQ0FBQztRQUVqRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQ3RDLEtBQUssQ0FBQyxVQUFVLEVBQ2hCLFlBQVksRUFDWixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLGFBQWEsRUFDYixLQUFLLENBQUMsV0FBVyxFQUNqQixnQkFBZ0IsQ0FDakIsQ0FBQztRQUVGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7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QUFFLDhCQUE4QjtZQUNqRCwyQkFBMkIsRUFDekIseUhBQXlIO1lBQzNILDJCQUEyQixFQUFFLG9EQUFvRDtZQUNqRixpQkFBaUIsRUFBRSxrRUFBa0U7WUFDckYsbUJBQW1CLEVBQUUsZ0RBQWdEO1lBQ3JFLHlCQUF5QixFQUFFLDZDQUE2QztTQUN6RSxDQUFDO1FBRUYsS0FBSyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQzlCLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZDLFdBQVcsRUFBRSxRQUFRLEtBQUssaUJBQWlCO2dCQUMzQyxJQUFJLEVBQUUsT0FBTzthQUNkLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQXJDSCxnRUFzQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0RmlsZSB9IGZyb20gJ3Byb2plbic7XG5cbi8qKlxuICogV2hpY2ggcm9sZXMgdG8gaW5jbHVkZSBpbiB0aGUgU3RhY2tTZXRcbiAqL1xuZXhwb3J0IGVudW0gU3RhY2tTZXRSb2xlU2VsZWN0aW9uIHtcbiAgLyoqIEluY2x1ZGUgb25seSB0aGUgY2hhbmdlc2V0IHJvbGUgKENka0NoYW5nZXNldFJvbGUpICovXG4gIENIQU5HRVNFVF9PTkxZID0gJ0NIQU5HRVNFVF9PTkxZJyxcbiAgLyoqIEluY2x1ZGUgb25seSB0aGUgZHJpZnQgcm9sZSAoQ2RrRHJpZnRSb2xlKSAqL1xuICBEUklGVF9PTkxZID0gJ0RSSUZUX09OTFknLFxuICAvKiogSW5jbHVkZSBib3RoIHJvbGVzIChkZWZhdWx0KSAqL1xuICBCT1RIID0gJ0JPVEgnLFxufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIFN0YWNrU2V0IGF1dG8tZGVwbG95bWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrU2V0QXV0b0RlcGxveW1lbnQge1xuICAvKiogRW5hYmxlIGF1dG8tZGVwbG95bWVudCB0byBuZXcgYWNjb3VudHMgaW4gdGFyZ2V0IE9VcyAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBSZXRhaW4gc3RhY2tzIHdoZW4gYWNjb3VudCBsZWF2ZXMgT1UgKGRlZmF1bHQ6IGZhbHNlKSAqL1xuICByZWFkb25seSByZXRhaW5TdGFja3NPbkFjY291bnRSZW1vdmFsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHaXRIdWIgcmVwb3NpdG9yeSByZXN0cmljdGlvbnMgZm9yIE9JREMgYXV0aGVudGljYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRIdWJPaWRjQ29uZmlnIHtcbiAgLyoqXG4gICAqIEdpdEh1YiBvcmdhbml6YXRpb24gb3IgdXNlcm5hbWUgKGUuZy4sICdteS1vcmcnIG9yICdteS11c2VybmFtZScpXG4gICAqL1xuICByZWFkb25seSBvd25lcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXBvc2l0b3J5IG5hbWVzIGFsbG93ZWQgdG8gYXNzdW1lIHRoZSByb2xlIChlLmcuLCBbJ3JlcG8xJywgJ3JlcG8yJ10pXG4gICAqIFVzZSBbJyonXSB0byBhbGxvdyBhbGwgcmVwb3MgaW4gdGhlIG9yZ2FuaXphdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yaWVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQnJhbmNoIHBhdHRlcm5zIGFsbG93ZWQgKGUuZy4sIFsnbWFpbicsICdyZWxlYXNlLyonXSlcbiAgICogRGVmYXVsdDogWycqJ10gKGFsbCBicmFuY2hlcylcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaGVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgc3ViamVjdCBjbGFpbXMgZm9yIGZpbmUtZ3JhaW5lZCBhY2Nlc3NcbiAgICogZS5nLiwgWydwdWxsX3JlcXVlc3QnLCAnZW52aXJvbm1lbnQ6cHJvZHVjdGlvbiddXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsQ2xhaW1zPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUHJvcHMgZm9yIGdlbmVyYXRpbmcgU3RhY2tTZXQgdGVtcGxhdGVzIChubyBQcm9qZW4gZGVwZW5kZW5jeSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtEaWZmSWFtVGVtcGxhdGVTdGFja1NldEdlbmVyYXRvclByb3BzIHtcbiAgLyoqIEdpdEh1YiBPSURDIGNvbmZpZ3VyYXRpb24gZm9yIHJlcG8vYnJhbmNoIHJlc3RyaWN0aW9ucyAqL1xuICByZWFkb25seSBnaXRodWJPaWRjOiBHaXRIdWJPaWRjQ29uZmlnO1xuXG4gIC8qKiBOYW1lIG9mIHRoZSBHaXRIdWIgT0lEQyByb2xlIChkZWZhdWx0OiAnR2l0SHViT0lEQ1JvbGUnKSAqL1xuICByZWFkb25seSBvaWRjUm9sZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIE5hbWUgb2YgdGhlIENka0NoYW5nZXNldFJvbGUgKGRlZmF1bHQ6ICdDZGtDaGFuZ2VzZXRSb2xlJykgKi9cbiAgcmVhZG9ubHkgY2hhbmdlc2V0Um9sZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIE5hbWUgb2YgdGhlIENka0RyaWZ0Um9sZSAoZGVmYXVsdDogJ0Nka0RyaWZ0Um9sZScpICovXG4gIHJlYWRvbmx5IGRyaWZ0Um9sZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIFdoaWNoIHJvbGVzIHRvIGluY2x1ZGUgKGRlZmF1bHQ6IEJPVEgpICovXG4gIHJlYWRvbmx5IHJvbGVTZWxlY3Rpb24/OiBTdGFja1NldFJvbGVTZWxlY3Rpb247XG5cbiAgLyoqIERlc2NyaXB0aW9uIGZvciB0aGUgU3RhY2tTZXQgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNraXAgY3JlYXRpbmcgdGhlIE9JREMgcHJvdmlkZXIgKHVzZSBleGlzdGluZyBvbmUpLlxuICAgKiBTZXQgdG8gdHJ1ZSBpZiBhY2NvdW50cyBhbHJlYWR5IGhhdmUgYSBHaXRIdWIgT0lEQyBwcm92aWRlci5cbiAgICogVGhlIHRlbXBsYXRlIHdpbGwgcmVmZXJlbmNlIHRoZSBleGlzdGluZyBwcm92aWRlciBieSBBUk4uXG4gICAqIERlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBza2lwT2lkY1Byb3ZpZGVyQ3JlYXRpb24/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3BzIGZvciBnZW5lcmF0aW5nIFN0YWNrU2V0IENMSSBjb21tYW5kcyAobm8gUHJvamVuIGRlcGVuZGVuY3kpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrRGlmZklhbVRlbXBsYXRlU3RhY2tTZXRDb21tYW5kc1Byb3BzIHtcbiAgLyoqIE5hbWUgb2YgdGhlIFN0YWNrU2V0IChkZWZhdWx0OiAnY2RrLWRpZmYtd29ya2Zsb3ctaWFtLXN0YWNrc2V0JykgKi9cbiAgcmVhZG9ubHkgc3RhY2tTZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKiBQYXRoIHRvIHRoZSB0ZW1wbGF0ZSBmaWxlIChkZWZhdWx0OiAnY2RrLWRpZmYtd29ya2Zsb3ctc3RhY2tzZXQtdGVtcGxhdGUueWFtbCcpICovXG4gIHJlYWRvbmx5IHRlbXBsYXRlUGF0aD86IHN0cmluZztcblxuICAvKiogVGFyZ2V0IE9VcyBmb3IgZGVwbG95bWVudCAoZS5nLiwgWydvdS14eHh4LXh4eHh4eHh4JywgJ3IteHh4eCddKSAqL1xuICByZWFkb25seSB0YXJnZXRPcmdhbml6YXRpb25hbFVuaXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKiogVGFyZ2V0IHJlZ2lvbnMgZm9yIGRlcGxveW1lbnQgKGUuZy4sIFsndXMtZWFzdC0xJywgJ2V1LXdlc3QtMSddKSAqL1xuICByZWFkb25seSByZWdpb25zPzogc3RyaW5nW107XG5cbiAgLyoqIEF1dG8tZGVwbG95bWVudCBjb25maWd1cmF0aW9uICovXG4gIHJlYWRvbmx5IGF1dG9EZXBsb3ltZW50PzogU3RhY2tTZXRBdXRvRGVwbG95bWVudDtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgZGVsZWdhdGVkIGFkbWluIG1vZGUgZm9yIFN0YWNrU2V0IG9wZXJhdGlvbnMuXG4gICAqIElmIHRydWUsIGFkZHMgLS1jYWxsLWFzIERFTEVHQVRFRF9BRE1JTiB0byBjb21tYW5kcy5cbiAgICogRGVmYXVsdDogdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZWdhdGVkQWRtaW4/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFB1cmUgZ2VuZXJhdG9yIGNsYXNzIGZvciBTdGFja1NldCB0ZW1wbGF0ZXMgYW5kIGNvbW1hbmRzLlxuICogTm8gUHJvamVuIGRlcGVuZGVuY3kgLSBjYW4gYmUgdXNlZCBpbiBhbnkgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RpZmZJYW1UZW1wbGF0ZVN0YWNrU2V0R2VuZXJhdG9yIHtcbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRoZSBDbG91ZEZvcm1hdGlvbiBTdGFja1NldCB0ZW1wbGF0ZSBhcyBhIFlBTUwgc3RyaW5nLlxuICAgKi9cbiAgc3RhdGljIGdlbmVyYXRlVGVtcGxhdGUocHJvcHM6IENka0RpZmZJYW1UZW1wbGF0ZVN0YWNrU2V0R2VuZXJhdG9yUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IG9pZGNSb2xlTmFtZSA9IHByb3BzLm9pZGNSb2xlTmFtZSA/PyAnR2l0SHViT0lEQ1JvbGUnO1xuICAgIGNvbnN0IGNoYW5nZXNldFJvbGVOYW1lID0gcHJvcHMuY2hhbmdlc2V0Um9sZU5hbWUgPz8gJ0Nka0NoYW5nZXNldFJvbGUnO1xuICAgIGNvbnN0IGRyaWZ0Um9sZU5hbWUgPSBwcm9wcy5kcmlmdFJvbGVOYW1lID8/ICdDZGtEcmlmdFJvbGUnO1xuICAgIGNvbnN0IHJvbGVTZWxlY3Rpb24gPSBwcm9wcy5yb2xlU2VsZWN0aW9uID8/IFN0YWNrU2V0Um9sZVNlbGVjdGlvbi5CT1RIO1xuICAgIGNvbnN0IHNraXBPaWRjUHJvdmlkZXIgPSBwcm9wcy5za2lwT2lkY1Byb3ZpZGVyQ3JlYXRpb24gPz8gZmFsc2U7XG5cbiAgICBjb25zdCBsaW5lcyA9IHRoaXMuZ2VuZXJhdGVUZW1wbGF0ZUxpbmVzKFxuICAgICAgcHJvcHMuZ2l0aHViT2lkYyxcbiAgICAgIG9pZGNSb2xlTmFtZSxcbiAgICAgIGNoYW5nZXNldFJvbGVOYW1lLFxuICAgICAgZHJpZnRSb2xlTmFtZSxcbiAgICAgIHJvbGVTZWxlY3Rpb24sXG4gICAgICBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHNraXBPaWRjUHJvdmlkZXIsXG4gICAgKTtcblxuICAgIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBBV1MgQ0xJIGNvbW1hbmRzIGZvciBTdGFja1NldCBvcGVyYXRpb25zLlxuICAgKiBSZXR1cm5zIGEgbWFwIG9mIGNvbW1hbmQgbmFtZXMgdG8gc2hlbGwgY29tbWFuZHMuXG4gICAqL1xuICBzdGF0aWMgZ2VuZXJhdGVDb21tYW5kcyhwcm9wczogQ2RrRGlmZklhbVRlbXBsYXRlU3RhY2tTZXRDb21tYW5kc1Byb3BzID0ge30pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCBzdGFja1NldE5hbWUgPSBwcm9wcy5zdGFja1NldE5hbWUgPz8gJ2Nkay1kaWZmLXdvcmtmbG93LWlhbS1zdGFja3NldCc7XG4gICAgY29uc3QgdGVtcGxhdGVQYXRoID0gcHJvcHMudGVtcGxhdGVQYXRoID8/ICdjZGstZGlmZi13b3JrZmxvdy1zdGFja3NldC10ZW1wbGF0ZS55YW1sJztcbiAgICBjb25zdCByZWdpb25zID0gcHJvcHMucmVnaW9ucyA/PyBbJ3VzLWVhc3QtMSddO1xuICAgIGNvbnN0IHRhcmdldE9VcyA9IHByb3BzLnRhcmdldE9yZ2FuaXphdGlvbmFsVW5pdElkcyA/PyBbXTtcbiAgICBjb25zdCBhdXRvRGVwbG95RW5hYmxlZCA9IHByb3BzLmF1dG9EZXBsb3ltZW50Py5lbmFibGVkID8/IHRydWU7XG4gICAgY29uc3QgcmV0YWluU3RhY2tzID0gcHJvcHMuYXV0b0RlcGxveW1lbnQ/LnJldGFpblN0YWNrc09uQWNjb3VudFJlbW92YWwgPz8gZmFsc2U7XG4gICAgY29uc3QgZGVsZWdhdGVkQWRtaW4gPSBwcm9wcy5kZWxlZ2F0ZWRBZG1pbiA/PyB0cnVlO1xuICAgIGNvbnN0IGNhbGxBcyA9IGRlbGVnYXRlZEFkbWluID8gJyAtLWNhbGwtYXMgREVMRUdBVEVEX0FETUlOJyA6ICcnO1xuXG4gICAgY29uc3Qgb3VMaXN0ID0gdGFyZ2V0T1VzLmxlbmd0aCA+IDAgPyB0YXJnZXRPVXMuam9pbignLCcpIDogJzxPVV9JRFM+JztcbiAgICBjb25zdCByZWdpb25MaXN0ID0gcmVnaW9ucy5qb2luKCcgJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ3N0YWNrc2V0LWNyZWF0ZSc6IGBhd3MgY2xvdWRmb3JtYXRpb24gY3JlYXRlLXN0YWNrLXNldCAtLXN0YWNrLXNldC1uYW1lICR7c3RhY2tTZXROYW1lfSAtLXRlbXBsYXRlLWJvZHkgZmlsZTovLyR7dGVtcGxhdGVQYXRofSAtLWNhcGFiaWxpdGllcyBDQVBBQklMSVRZX05BTUVEX0lBTSAtLXBlcm1pc3Npb24tbW9kZWwgU0VSVklDRV9NQU5BR0VEIC0tYXV0by1kZXBsb3ltZW50IEVuYWJsZWQ9JHthdXRvRGVwbG95RW5hYmxlZH0sUmV0YWluU3RhY2tzT25BY2NvdW50UmVtb3ZhbD0ke3JldGFpblN0YWNrc30ke2NhbGxBc31gLFxuICAgICAgJ3N0YWNrc2V0LXVwZGF0ZSc6IGBhd3MgY2xvdWRmb3JtYXRpb24gdXBkYXRlLXN0YWNrLXNldCAtLXN0YWNrLXNldC1uYW1lICR7c3RhY2tTZXROYW1lfSAtLXRlbXBsYXRlLWJvZHkgZmlsZTovLyR7dGVtcGxhdGVQYXRofSAtLWNhcGFiaWxpdGllcyBDQVBBQklMSVRZX05BTUVEX0lBTSR7Y2FsbEFzfWAsXG4gICAgICAnc3RhY2tzZXQtZGVwbG95LWluc3RhbmNlcyc6IGBhd3MgY2xvdWRmb3JtYXRpb24gY3JlYXRlLXN0YWNrLWluc3RhbmNlcyAtLXN0YWNrLXNldC1uYW1lICR7c3RhY2tTZXROYW1lfSAtLWRlcGxveW1lbnQtdGFyZ2V0cyBPcmdhbml6YXRpb25hbFVuaXRJZHM9JHtvdUxpc3R9IC0tcmVnaW9ucyAke3JlZ2lvbkxpc3R9JHtjYWxsQXN9YCxcbiAgICAgICdzdGFja3NldC1kZWxldGUtaW5zdGFuY2VzJzogYGF3cyBjbG91ZGZvcm1hdGlvbiBkZWxldGUtc3RhY2staW5zdGFuY2VzIC0tc3RhY2stc2V0LW5hbWUgJHtzdGFja1NldE5hbWV9IC0tZGVwbG95bWVudC10YXJnZXRzIE9yZ2FuaXphdGlvbmFsVW5pdElkcz0ke291TGlzdH0gLS1yZWdpb25zICR7cmVnaW9uTGlzdH0gLS1uby1yZXRhaW4tc3RhY2tzJHtjYWxsQXN9YCxcbiAgICAgICdzdGFja3NldC1kZWxldGUnOiBgYXdzIGNsb3VkZm9ybWF0aW9uIGRlbGV0ZS1zdGFjay1zZXQgLS1zdGFjay1zZXQtbmFtZSAke3N0YWNrU2V0TmFtZX0ke2NhbGxBc31gLFxuICAgICAgJ3N0YWNrc2V0LWRlc2NyaWJlJzogYGF3cyBjbG91ZGZvcm1hdGlvbiBkZXNjcmliZS1zdGFjay1zZXQgLS1zdGFjay1zZXQtbmFtZSAke3N0YWNrU2V0TmFtZX0ke2NhbGxBc31gLFxuICAgICAgJ3N0YWNrc2V0LWxpc3QtaW5zdGFuY2VzJzogYGF3cyBjbG91ZGZvcm1hdGlvbiBsaXN0LXN0YWNrLWluc3RhbmNlcyAtLXN0YWNrLXNldC1uYW1lICR7c3RhY2tTZXROYW1lfSR7Y2FsbEFzfWAsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlVGVtcGxhdGVMaW5lcyhcbiAgICBnaXRodWJPaWRjOiBHaXRIdWJPaWRjQ29uZmlnLFxuICAgIG9pZGNSb2xlTmFtZTogc3RyaW5nLFxuICAgIGNoYW5nZXNldFJvbGVOYW1lOiBzdHJpbmcsXG4gICAgZHJpZnRSb2xlTmFtZTogc3RyaW5nLFxuICAgIHJvbGVTZWxlY3Rpb246IFN0YWNrU2V0Um9sZVNlbGVjdGlvbixcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZyxcbiAgICBza2lwT2lkY1Byb3ZpZGVyOiBib29sZWFuID0gZmFsc2UsXG4gICk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBkZXNjID0gZGVzY3JpcHRpb24gPz8gJ0dpdEh1YiBPSURDIGFuZCBJQU0gcm9sZXMgZm9yIENESyBEaWZmL0RyaWZ0IHdvcmtmbG93cyAoU3RhY2tTZXQgZGVwbG95bWVudCknO1xuXG4gICAgY29uc3QgaW5jbHVkZUNoYW5nZXNldCA9XG4gICAgICByb2xlU2VsZWN0aW9uID09PSBTdGFja1NldFJvbGVTZWxlY3Rpb24uQk9USCB8fCByb2xlU2VsZWN0aW9uID09PSBTdGFja1NldFJvbGVTZWxlY3Rpb24uQ0hBTkdFU0VUX09OTFk7XG4gICAgY29uc3QgaW5jbHVkZURyaWZ0ID1cbiAgICAgIHJvbGVTZWxlY3Rpb24gPT09IFN0YWNrU2V0Um9sZVNlbGVjdGlvbi5CT1RIIHx8IHJvbGVTZWxlY3Rpb24gPT09IFN0YWNrU2V0Um9sZVNlbGVjdGlvbi5EUklGVF9PTkxZO1xuXG4gICAgLy8gSGVhZGVyXG4gICAgbGluZXMucHVzaChcIkFXU1RlbXBsYXRlRm9ybWF0VmVyc2lvbjogJzIwMTAtMDktMDknXCIpO1xuICAgIGxpbmVzLnB1c2goYERlc2NyaXB0aW9uOiAnJHtkZXNjfSdgKTtcbiAgICBsaW5lcy5wdXNoKCcnKTtcblxuICAgIC8vIFJlc291cmNlc1xuICAgIGxpbmVzLnB1c2goJ1Jlc291cmNlczonKTtcblxuICAgIC8vIE9JREMgUHJvdmlkZXIgKG9ubHkgaWYgbm90IHNraXBwaW5nKVxuICAgIGlmICghc2tpcE9pZGNQcm92aWRlcikge1xuICAgICAgbGluZXMucHVzaCguLi50aGlzLmdlbmVyYXRlT2lkY1Byb3ZpZGVyTGluZXMoKSk7XG4gICAgfVxuXG4gICAgLy8gT0lEQyBSb2xlIChuZWVkcyBwZXJtaXNzaW9ucyB0byBhc3N1bWUgY2hhbmdlc2V0L2RyaWZ0IHJvbGVzKVxuICAgIGNvbnN0IHRhcmdldFJvbGVOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAoaW5jbHVkZUNoYW5nZXNldCkgdGFyZ2V0Um9sZU5hbWVzLnB1c2goY2hhbmdlc2V0Um9sZU5hbWUpO1xuICAgIGlmIChpbmNsdWRlRHJpZnQpIHRhcmdldFJvbGVOYW1lcy5wdXNoKGRyaWZ0Um9sZU5hbWUpO1xuICAgIGxpbmVzLnB1c2goLi4udGhpcy5nZW5lcmF0ZU9pZGNSb2xlTGluZXMob2lkY1JvbGVOYW1lLCBnaXRodWJPaWRjLCBza2lwT2lkY1Byb3ZpZGVyLCB0YXJnZXRSb2xlTmFtZXMpKTtcblxuICAgIC8vIENoYW5nZXNldC9EcmlmdCByb2xlc1xuICAgIGlmIChpbmNsdWRlQ2hhbmdlc2V0KSB7XG4gICAgICBsaW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVDaGFuZ2VzZXRSb2xlTGluZXMoY2hhbmdlc2V0Um9sZU5hbWUpKTtcbiAgICB9XG5cbiAgICBpZiAoaW5jbHVkZURyaWZ0KSB7XG4gICAgICBsaW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVEcmlmdFJvbGVMaW5lcyhkcmlmdFJvbGVOYW1lKSk7XG4gICAgfVxuXG4gICAgLy8gT3V0cHV0c1xuICAgIGxpbmVzLnB1c2goJycpO1xuICAgIGxpbmVzLnB1c2goJ091dHB1dHM6Jyk7XG4gICAgaWYgKCFza2lwT2lkY1Byb3ZpZGVyKSB7XG4gICAgICBsaW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVPaWRjT3V0cHV0TGluZXMoKSk7XG4gICAgfVxuXG4gICAgLy8gQWx3YXlzIG91dHB1dCB0aGUgT0lEQyByb2xlIEFSTlxuICAgIGxpbmVzLnB1c2goLi4udGhpcy5nZW5lcmF0ZU9pZGNSb2xlT3V0cHV0TGluZXMoKSk7XG5cbiAgICBpZiAoaW5jbHVkZUNoYW5nZXNldCkge1xuICAgICAgbGluZXMucHVzaCguLi50aGlzLmdlbmVyYXRlQ2hhbmdlc2V0T3V0cHV0TGluZXMoKSk7XG4gICAgfVxuXG4gICAgaWYgKGluY2x1ZGVEcmlmdCkge1xuICAgICAgbGluZXMucHVzaCguLi50aGlzLmdlbmVyYXRlRHJpZnRPdXRwdXRMaW5lcygpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGluZXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZU9pZGNQcm92aWRlckxpbmVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJyAgIyBHaXRIdWIgT0lEQyBQcm92aWRlcicsXG4gICAgICAnICBHaXRIdWJPSURDUHJvdmlkZXI6JyxcbiAgICAgICcgICAgVHlwZTogQVdTOjpJQU06Ok9JRENQcm92aWRlcicsXG4gICAgICAnICAgIFByb3BlcnRpZXM6JyxcbiAgICAgICcgICAgICBVcmw6IGh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20nLFxuICAgICAgJyAgICAgIENsaWVudElkTGlzdDonLFxuICAgICAgJyAgICAgICAgLSBzdHMuYW1hem9uYXdzLmNvbScsXG4gICAgICAnICAgICAgVGh1bWJwcmludExpc3Q6JyxcbiAgICAgICcgICAgICAgIC0gNjkzOGZkNGQ5OGJhYjAzZmFhZGI5N2IzNDM5NjgzMWUzNzgwYWVhMScsXG4gICAgICAnICAgICAgICAtIDFjNThhM2E4NTE4ZTg3NTliZjA3NWI3NmI3NTBkNGYyZGYyNjRmY2QnLFxuICAgICAgJycsXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlT2lkY1JvbGVMaW5lcyhcbiAgICByb2xlTmFtZTogc3RyaW5nLFxuICAgIGdpdGh1Yk9pZGM6IEdpdEh1Yk9pZGNDb25maWcsXG4gICAgc2tpcE9pZGNQcm92aWRlcjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHRhcmdldFJvbGVOYW1lczogc3RyaW5nW10gPSBbXSxcbiAgKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHN1YmplY3RDbGFpbXMgPSB0aGlzLmJ1aWxkU3ViamVjdENsYWltcyhnaXRodWJPaWRjKTtcblxuICAgIGNvbnN0IGxpbmVzID0gW1xuICAgICAgJyAgIyBHaXRIdWIgT0lEQyBSb2xlIC0gYXV0aGVudGljYXRlcyBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvd3MnLFxuICAgICAgJyAgR2l0SHViT0lEQ1JvbGU6JyxcbiAgICAgICcgICAgVHlwZTogQVdTOjpJQU06OlJvbGUnLFxuICAgIF07XG5cbiAgICAvLyBPbmx5IGFkZCBEZXBlbmRzT24gaWYgd2UncmUgY3JlYXRpbmcgdGhlIHByb3ZpZGVyXG4gICAgaWYgKCFza2lwT2lkY1Byb3ZpZGVyKSB7XG4gICAgICBsaW5lcy5wdXNoKCcgICAgRGVwZW5kc09uOiBHaXRIdWJPSURDUHJvdmlkZXInKTtcbiAgICB9XG5cbiAgICBsaW5lcy5wdXNoKFxuICAgICAgJyAgICBQcm9wZXJ0aWVzOicsXG4gICAgICBcIiAgICAgIFJvbGVOYW1lOiAnXCIgKyByb2xlTmFtZSArIFwiJ1wiLFxuICAgICAgJyAgICAgIEFzc3VtZVJvbGVQb2xpY3lEb2N1bWVudDonLFxuICAgICAgXCIgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3J1wiLFxuICAgICAgJyAgICAgICAgU3RhdGVtZW50OicsXG4gICAgICAnICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAnICAgICAgICAgICAgUHJpbmNpcGFsOicsXG4gICAgICBcIiAgICAgICAgICAgICAgRmVkZXJhdGVkOiAhU3ViICdhcm46YXdzOmlhbTo6JHtBV1M6OkFjY291bnRJZH06b2lkYy1wcm92aWRlci90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbSdcIixcbiAgICAgICcgICAgICAgICAgICBBY3Rpb246IHN0czpBc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5JyxcbiAgICAgICcgICAgICAgICAgICBDb25kaXRpb246JyxcbiAgICAgICcgICAgICAgICAgICAgIFN0cmluZ0VxdWFsczonLFxuICAgICAgXCIgICAgICAgICAgICAgICAgJ3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tOmF1ZCc6ICdzdHMuYW1hem9uYXdzLmNvbSdcIixcbiAgICAgICcgICAgICAgICAgICAgIFN0cmluZ0xpa2U6JyxcbiAgICAgIFwiICAgICAgICAgICAgICAgICd0b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTpzdWInOlwiLFxuICAgICk7XG5cbiAgICAvLyBBZGQgc3ViamVjdCBjbGFpbXNcbiAgICBmb3IgKGNvbnN0IGNsYWltIG9mIHN1YmplY3RDbGFpbXMpIHtcbiAgICAgIGxpbmVzLnB1c2goYCAgICAgICAgICAgICAgICAgIC0gJyR7Y2xhaW19J2ApO1xuICAgIH1cblxuICAgIC8vIEFkZCBwb2xpY3kgdG8gYWxsb3cgYXNzdW1pbmcgdGhlIHRhcmdldCByb2xlcyAoY2hhbmdlc2V0L2RyaWZ0KVxuICAgIGlmICh0YXJnZXRSb2xlTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgbGluZXMucHVzaCgnICAgICAgUG9saWNpZXM6Jyk7XG4gICAgICBsaW5lcy5wdXNoKCcgICAgICAgIC0gUG9saWN5TmFtZTogQXNzdW1lVGFyZ2V0Um9sZXMnKTtcbiAgICAgIGxpbmVzLnB1c2goJyAgICAgICAgICBQb2xpY3lEb2N1bWVudDonKTtcbiAgICAgIGxpbmVzLnB1c2goXCIgICAgICAgICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNydcIik7XG4gICAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICBTdGF0ZW1lbnQ6Jyk7XG4gICAgICBsaW5lcy5wdXNoKCcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycpO1xuICAgICAgbGluZXMucHVzaCgnICAgICAgICAgICAgICAgIEFjdGlvbjogc3RzOkFzc3VtZVJvbGUnKTtcbiAgICAgIGxpbmVzLnB1c2goJyAgICAgICAgICAgICAgICBSZXNvdXJjZTonKTtcbiAgICAgIGZvciAoY29uc3QgdGFyZ2V0Um9sZU5hbWUgb2YgdGFyZ2V0Um9sZU5hbWVzKSB7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICAgICAgICAgICAgICAgIC0gIVN1YiAnYXJuOmF3czppYW06OlxcJHtBV1M6OkFjY291bnRJZH06cm9sZS8ke3RhcmdldFJvbGVOYW1lfSdgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICByZXR1cm4gbGluZXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBidWlsZFN1YmplY3RDbGFpbXMoZ2l0aHViT2lkYzogR2l0SHViT2lkY0NvbmZpZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjbGFpbXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgYnJhbmNoZXMgPSBnaXRodWJPaWRjLmJyYW5jaGVzID8/IFsnKiddO1xuXG4gICAgZm9yIChjb25zdCByZXBvIG9mIGdpdGh1Yk9pZGMucmVwb3NpdG9yaWVzKSB7XG4gICAgICBpZiAocmVwbyA9PT0gJyonKSB7XG4gICAgICAgIC8vIFdpbGRjYXJkIHJlcG8gLSBhbGxvdyBhbGwgcmVwb3Mgd2l0aCBicmFuY2ggcmVzdHJpY3Rpb25zXG4gICAgICAgIGZvciAoY29uc3QgYnJhbmNoIG9mIGJyYW5jaGVzKSB7XG4gICAgICAgICAgaWYgKGJyYW5jaCA9PT0gJyonKSB7XG4gICAgICAgICAgICBjbGFpbXMucHVzaChgcmVwbzoke2dpdGh1Yk9pZGMub3duZXJ9LypgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xhaW1zLnB1c2goYHJlcG86JHtnaXRodWJPaWRjLm93bmVyfS8qOnJlZjpyZWZzL2hlYWRzLyR7YnJhbmNofWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU3BlY2lmaWMgcmVwb1xuICAgICAgICBmb3IgKGNvbnN0IGJyYW5jaCBvZiBicmFuY2hlcykge1xuICAgICAgICAgIGlmIChicmFuY2ggPT09ICcqJykge1xuICAgICAgICAgICAgY2xhaW1zLnB1c2goYHJlcG86JHtnaXRodWJPaWRjLm93bmVyfS8ke3JlcG99OipgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xhaW1zLnB1c2goYHJlcG86JHtnaXRodWJPaWRjLm93bmVyfS8ke3JlcG99OnJlZjpyZWZzL2hlYWRzLyR7YnJhbmNofWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBhbnkgYWRkaXRpb25hbCBjbGFpbXNcbiAgICBpZiAoZ2l0aHViT2lkYy5hZGRpdGlvbmFsQ2xhaW1zKSB7XG4gICAgICBmb3IgKGNvbnN0IGNsYWltIG9mIGdpdGh1Yk9pZGMuYWRkaXRpb25hbENsYWltcykge1xuICAgICAgICBmb3IgKGNvbnN0IHJlcG8gb2YgZ2l0aHViT2lkYy5yZXBvc2l0b3JpZXMpIHtcbiAgICAgICAgICBpZiAocmVwbyA9PT0gJyonKSB7XG4gICAgICAgICAgICBjbGFpbXMucHVzaChgcmVwbzoke2dpdGh1Yk9pZGMub3duZXJ9Lyo6JHtjbGFpbX1gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xhaW1zLnB1c2goYHJlcG86JHtnaXRodWJPaWRjLm93bmVyfS8ke3JlcG99OiR7Y2xhaW19YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYWltcztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlQ2hhbmdlc2V0Um9sZUxpbmVzKHJvbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICcgICMgQ2xvdWRGb3JtYXRpb24gQ2hhbmdlU2V0IFJvbGUgLSBtaW5pbWFsIHBlcm1pc3Npb25zIGZvciBjaGFuZ2VzZXQgb3BlcmF0aW9ucycsXG4gICAgICAnICBDZGtDaGFuZ2VzZXRSb2xlOicsXG4gICAgICAnICAgIFR5cGU6IEFXUzo6SUFNOjpSb2xlJyxcbiAgICAgICcgICAgRGVwZW5kc09uOiBHaXRIdWJPSURDUm9sZScsXG4gICAgICAnICAgIFByb3BlcnRpZXM6JyxcbiAgICAgIFwiICAgICAgUm9sZU5hbWU6ICdcIiArIHJvbGVOYW1lICsgXCInXCIsXG4gICAgICAnICAgICAgQXNzdW1lUm9sZVBvbGljeURvY3VtZW50OicsXG4gICAgICBcIiAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnXCIsXG4gICAgICAnICAgICAgICBTdGF0ZW1lbnQ6JyxcbiAgICAgICcgICAgICAgICAgLSBFZmZlY3Q6IEFsbG93JyxcbiAgICAgICcgICAgICAgICAgICBQcmluY2lwYWw6JyxcbiAgICAgICcgICAgICAgICAgICAgIEFXUzogIUdldEF0dCBHaXRIdWJPSURDUm9sZS5Bcm4nLFxuICAgICAgJyAgICAgICAgICAgIEFjdGlvbjogc3RzOkFzc3VtZVJvbGUnLFxuICAgICAgJyAgICAgIFBvbGljaWVzOicsXG4gICAgICAnICAgICAgICAtIFBvbGljeU5hbWU6IENsb3VkRm9ybWF0aW9uQ2hhbmdlU2V0QWNjZXNzJyxcbiAgICAgICcgICAgICAgICAgUG9saWN5RG9jdW1lbnQ6JyxcbiAgICAgIFwiICAgICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnXCIsXG4gICAgICAnICAgICAgICAgICAgU3RhdGVtZW50OicsXG4gICAgICAnICAgICAgICAgICAgICAjIENsb3VkRm9ybWF0aW9uIGNoYW5nZXNldCBvcGVyYXRpb25zJyxcbiAgICAgICcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAnICAgICAgICAgICAgICAgIEFjdGlvbjonLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246Q3JlYXRlQ2hhbmdlU2V0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkRlc2NyaWJlQ2hhbmdlU2V0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkRlbGV0ZUNoYW5nZVNldCcsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpMaXN0Q2hhbmdlU2V0cycsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrcycsXG4gICAgICBcIiAgICAgICAgICAgICAgICBSZXNvdXJjZTogJyonXCIsXG4gICAgICAnICAgICAgICAgICAgICAjIENESyBib290c3RyYXAgYnVja2V0IGFjY2VzcyAoZm9yIGNoYW5nZXNldCBjcmVhdGlvbiknLFxuICAgICAgJyAgICAgICAgICAgICAgLSBFZmZlY3Q6IEFsbG93JyxcbiAgICAgICcgICAgICAgICAgICAgICAgQWN0aW9uOicsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBzMzpHZXRPYmplY3QnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gczM6UHV0T2JqZWN0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIHMzOkRlbGV0ZU9iamVjdCcsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBzMzpMaXN0QnVja2V0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgUmVzb3VyY2U6JyxcbiAgICAgIFwiICAgICAgICAgICAgICAgICAgLSAhU3ViICdhcm46YXdzOnMzOjo6Y2RrLSR7QVdTOjpBY2NvdW50SWR9LSR7QVdTOjpSZWdpb259LSonXCIsXG4gICAgICBcIiAgICAgICAgICAgICAgICAgIC0gIVN1YiAnYXJuOmF3czpzMzo6OmNkay0ke0FXUzo6QWNjb3VudElkfS0ke0FXUzo6UmVnaW9ufS0qLyonXCIsXG4gICAgICAnICAgICAgICAgICAgICAjIENESyBib290c3RyYXAgcGFyYW1ldGVyIGFjY2VzcycsXG4gICAgICAnICAgICAgICAgICAgICAtIEVmZmVjdDogQWxsb3cnLFxuICAgICAgJyAgICAgICAgICAgICAgICBBY3Rpb246JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIHNzbTpHZXRQYXJhbWV0ZXInLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gc3NtOkdldFBhcmFtZXRlcnMnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gc3NtOkdldFBhcmFtZXRlcnNCeVBhdGgnLFxuICAgICAgXCIgICAgICAgICAgICAgICAgUmVzb3VyY2U6ICFTdWIgJ2Fybjphd3M6c3NtOiR7QVdTOjpSZWdpb259OiR7QVdTOjpBY2NvdW50SWR9OnBhcmFtZXRlci9jZGstYm9vdHN0cmFwLyonXCIsXG4gICAgICAnICAgICAgICAgICAgICAjIElBTSBQYXNzUm9sZSBmb3IgQ0RLIG9wZXJhdGlvbnMnLFxuICAgICAgJyAgICAgICAgICAgICAgLSBFZmZlY3Q6IEFsbG93JyxcbiAgICAgICcgICAgICAgICAgICAgICAgQWN0aW9uOicsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBpYW06UGFzc1JvbGUnLFxuICAgICAgXCIgICAgICAgICAgICAgICAgUmVzb3VyY2U6ICcqJ1wiLFxuICAgICAgJyAgICAgICAgICAgICAgICBDb25kaXRpb246JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICBTdHJpbmdFcXVhbHM6JyxcbiAgICAgIFwiICAgICAgICAgICAgICAgICAgICAnaWFtOlBhc3NlZFRvU2VydmljZSc6ICdjbG91ZGZvcm1hdGlvbi5hbWF6b25hd3MuY29tJ1wiLFxuICAgICAgJycsXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlRHJpZnRSb2xlTGluZXMocm9sZU5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJyAgIyBDbG91ZEZvcm1hdGlvbiBEcmlmdCBEZXRlY3Rpb24gUm9sZSAtIG1pbmltYWwgcGVybWlzc2lvbnMgZm9yIGRyaWZ0IGRldGVjdGlvbiBvcGVyYXRpb25zJyxcbiAgICAgICcgIENka0RyaWZ0Um9sZTonLFxuICAgICAgJyAgICBUeXBlOiBBV1M6OklBTTo6Um9sZScsXG4gICAgICAnICAgIERlcGVuZHNPbjogR2l0SHViT0lEQ1JvbGUnLFxuICAgICAgJyAgICBQcm9wZXJ0aWVzOicsXG4gICAgICBcIiAgICAgIFJvbGVOYW1lOiAnXCIgKyByb2xlTmFtZSArIFwiJ1wiLFxuICAgICAgJyAgICAgIEFzc3VtZVJvbGVQb2xpY3lEb2N1bWVudDonLFxuICAgICAgXCIgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3J1wiLFxuICAgICAgJyAgICAgICAgU3RhdGVtZW50OicsXG4gICAgICAnICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAnICAgICAgICAgICAgUHJpbmNpcGFsOicsXG4gICAgICAnICAgICAgICAgICAgICBBV1M6ICFHZXRBdHQgR2l0SHViT0lEQ1JvbGUuQXJuJyxcbiAgICAgICcgICAgICAgICAgICBBY3Rpb246IHN0czpBc3N1bWVSb2xlJyxcbiAgICAgICcgICAgICBQb2xpY2llczonLFxuICAgICAgJyAgICAgICAgLSBQb2xpY3lOYW1lOiBDbG91ZEZvcm1hdGlvbkRyaWZ0QWNjZXNzJyxcbiAgICAgICcgICAgICAgICAgUG9saWN5RG9jdW1lbnQ6JyxcbiAgICAgIFwiICAgICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnXCIsXG4gICAgICAnICAgICAgICAgICAgU3RhdGVtZW50OicsXG4gICAgICAnICAgICAgICAgICAgICAjIENsb3VkRm9ybWF0aW9uIGRyaWZ0IGRldGVjdGlvbiBvcGVyYXRpb25zJyxcbiAgICAgICcgICAgICAgICAgICAgIC0gRWZmZWN0OiBBbGxvdycsXG4gICAgICAnICAgICAgICAgICAgICAgIEFjdGlvbjonLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246RGV0ZWN0U3RhY2tEcmlmdCcsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrRHJpZnREZXRlY3Rpb25TdGF0dXMnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246RGVzY3JpYmVTdGFja1Jlc291cmNlRHJpZnRzJyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tzJyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkxpc3RTdGFja1Jlc291cmNlcycsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXRlY3RTdGFja1Jlc291cmNlRHJpZnQnLFxuICAgICAgXCIgICAgICAgICAgICAgICAgUmVzb3VyY2U6ICcqJ1wiLFxuICAgICAgJycsXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlT2lkY091dHB1dExpbmVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJyAgR2l0SHViT0lEQ1Byb3ZpZGVyQXJuOicsXG4gICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ0FSTiBvZiB0aGUgR2l0SHViIE9JREMgcHJvdmlkZXInXCIsXG4gICAgICAnICAgIFZhbHVlOiAhR2V0QXR0IEdpdEh1Yk9JRENQcm92aWRlci5Bcm4nLFxuICAgICAgJyAgICBFeHBvcnQ6JyxcbiAgICAgIFwiICAgICAgTmFtZTogIVN1YiAnJHtBV1M6OlN0YWNrTmFtZX0tR2l0SHViT0lEQ1Byb3ZpZGVyQXJuJ1wiLFxuICAgICAgJycsXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlT2lkY1JvbGVPdXRwdXRMaW5lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICcgIEdpdEh1Yk9JRENSb2xlQXJuOicsXG4gICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ0FSTiBvZiB0aGUgR2l0SHViIE9JREMgcm9sZSdcIixcbiAgICAgICcgICAgVmFsdWU6ICFHZXRBdHQgR2l0SHViT0lEQ1JvbGUuQXJuJyxcbiAgICAgICcgICAgRXhwb3J0OicsXG4gICAgICBcIiAgICAgIE5hbWU6ICFTdWIgJyR7QVdTOjpTdGFja05hbWV9LUdpdEh1Yk9JRENSb2xlQXJuJ1wiLFxuICAgICAgJycsXG4gICAgICAnICBHaXRIdWJPSURDUm9sZU5hbWU6JyxcbiAgICAgIFwiICAgIERlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgR2l0SHViIE9JREMgcm9sZSdcIixcbiAgICAgICcgICAgVmFsdWU6ICFSZWYgR2l0SHViT0lEQ1JvbGUnLFxuICAgICAgJyAgICBFeHBvcnQ6JyxcbiAgICAgIFwiICAgICAgTmFtZTogIVN1YiAnJHtBV1M6OlN0YWNrTmFtZX0tR2l0SHViT0lEQ1JvbGVOYW1lJ1wiLFxuICAgICAgJycsXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdlbmVyYXRlQ2hhbmdlc2V0T3V0cHV0TGluZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAnICBDZGtDaGFuZ2VzZXRSb2xlQXJuOicsXG4gICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ0FSTiBvZiB0aGUgQ0RLIGNoYW5nZXNldCByb2xlJ1wiLFxuICAgICAgJyAgICBWYWx1ZTogIUdldEF0dCBDZGtDaGFuZ2VzZXRSb2xlLkFybicsXG4gICAgICAnICAgIEV4cG9ydDonLFxuICAgICAgXCIgICAgICBOYW1lOiAhU3ViICcke0FXUzo6U3RhY2tOYW1lfS1DZGtDaGFuZ2VzZXRSb2xlQXJuJ1wiLFxuICAgICAgJycsXG4gICAgICAnICBDZGtDaGFuZ2VzZXRSb2xlTmFtZTonLFxuICAgICAgXCIgICAgRGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBDREsgY2hhbmdlc2V0IHJvbGUnXCIsXG4gICAgICAnICAgIFZhbHVlOiAhUmVmIENka0NoYW5nZXNldFJvbGUnLFxuICAgICAgJyAgICBFeHBvcnQ6JyxcbiAgICAgIFwiICAgICAgTmFtZTogIVN1YiAnJHtBV1M6OlN0YWNrTmFtZX0tQ2RrQ2hhbmdlc2V0Um9sZU5hbWUnXCIsXG4gICAgICAnJyxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2VuZXJhdGVEcmlmdE91dHB1dExpbmVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJyAgQ2RrRHJpZnRSb2xlQXJuOicsXG4gICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ0FSTiBvZiB0aGUgQ0RLIGRyaWZ0IGRldGVjdGlvbiByb2xlJ1wiLFxuICAgICAgJyAgICBWYWx1ZTogIUdldEF0dCBDZGtEcmlmdFJvbGUuQXJuJyxcbiAgICAgICcgICAgRXhwb3J0OicsXG4gICAgICBcIiAgICAgIE5hbWU6ICFTdWIgJyR7QVdTOjpTdGFja05hbWV9LUNka0RyaWZ0Um9sZUFybidcIixcbiAgICAgICcnLFxuICAgICAgJyAgQ2RrRHJpZnRSb2xlTmFtZTonLFxuICAgICAgXCIgICAgRGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBDREsgZHJpZnQgZGV0ZWN0aW9uIHJvbGUnXCIsXG4gICAgICAnICAgIFZhbHVlOiAhUmVmIENka0RyaWZ0Um9sZScsXG4gICAgICAnICAgIEV4cG9ydDonLFxuICAgICAgXCIgICAgICBOYW1lOiAhU3ViICcke0FXUzo6U3RhY2tOYW1lfS1DZGtEcmlmdFJvbGVOYW1lJ1wiLFxuICAgIF07XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIFByb2plbi1pbnRlZ3JhdGVkIFN0YWNrU2V0IGNvbnN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENka0RpZmZJYW1UZW1wbGF0ZVN0YWNrU2V0UHJvcHMgZXh0ZW5kcyBDZGtEaWZmSWFtVGVtcGxhdGVTdGFja1NldEdlbmVyYXRvclByb3BzIHtcbiAgLyoqIFByb2plbiBwcm9qZWN0IGluc3RhbmNlICovXG4gIHJlYWRvbmx5IHByb2plY3Q6IGFueTtcblxuICAvKiogTmFtZSBvZiB0aGUgU3RhY2tTZXQgKGRlZmF1bHQ6ICdjZGstZGlmZi13b3JrZmxvdy1pYW0tc3RhY2tzZXQnKSAqL1xuICByZWFkb25seSBzdGFja1NldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIE91dHB1dCBwYXRoIGZvciB0aGUgdGVtcGxhdGUgZmlsZSAoZGVmYXVsdDogJ2Nkay1kaWZmLXdvcmtmbG93LXN0YWNrc2V0LXRlbXBsYXRlLnlhbWwnKSAqL1xuICByZWFkb25seSBvdXRwdXRQYXRoPzogc3RyaW5nO1xuXG4gIC8qKiBUYXJnZXQgT1VzIGZvciBkZXBsb3ltZW50IChlLmcuLCBbJ291LXh4eHgteHh4eHh4eHgnLCAnci14eHh4J10pICovXG4gIHJlYWRvbmx5IHRhcmdldE9yZ2FuaXphdGlvbmFsVW5pdElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKiBUYXJnZXQgcmVnaW9ucyBmb3IgZGVwbG95bWVudCAoZS5nLiwgWyd1cy1lYXN0LTEnLCAnZXUtd2VzdC0xJ10pICovXG4gIHJlYWRvbmx5IHJlZ2lvbnM/OiBzdHJpbmdbXTtcblxuICAvKiogQXV0by1kZXBsb3ltZW50IGNvbmZpZ3VyYXRpb24gKi9cbiAgcmVhZG9ubHkgYXV0b0RlcGxveW1lbnQ/OiBTdGFja1NldEF1dG9EZXBsb3ltZW50O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSBkZWxlZ2F0ZWQgYWRtaW4gbW9kZSBmb3IgU3RhY2tTZXQgb3BlcmF0aW9ucy5cbiAgICogSWYgdHJ1ZSwgYWRkcyAtLWNhbGwtYXMgREVMRUdBVEVEX0FETUlOIHRvIGNvbW1hbmRzLlxuICAgKiBJZiBmYWxzZSwgYXNzdW1lcyBydW5uaW5nIGZyb20gdGhlIG1hbmFnZW1lbnQgYWNjb3VudC5cbiAgICogRGVmYXVsdDogdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZWdhdGVkQWRtaW4/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb2plbiBjb25zdHJ1Y3QgdGhhdCBjcmVhdGVzIGEgQ2xvdWRGb3JtYXRpb24gU3RhY2tTZXQgdGVtcGxhdGUgZm9yIG9yZy13aWRlIGRlcGxveW1lbnQgb2ZcbiAqIEdpdEh1YiBPSURDIHByb3ZpZGVyLCBPSURDIHJvbGUsIGFuZCBDREsgRGlmZi9EcmlmdCBJQU0gcm9sZXMuXG4gKlxuICogVGhpcyBwcm92aWRlcyBhIHNlbGYtY29udGFpbmVkIHBlci1hY2NvdW50IGRlcGxveW1lbnQgd2l0aCBubyByb2xlIGNoYWluaW5nIHJlcXVpcmVkLlxuICpcbiAqIEZvciBub24tUHJvamVuIHByb2plY3RzLCB1c2UgYENka0RpZmZJYW1UZW1wbGF0ZVN0YWNrU2V0R2VuZXJhdG9yYCBkaXJlY3RseS5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RpZmZJYW1UZW1wbGF0ZVN0YWNrU2V0IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IENka0RpZmZJYW1UZW1wbGF0ZVN0YWNrU2V0UHJvcHMpIHtcbiAgICBjb25zdCBvdXRwdXRQYXRoID0gcHJvcHMub3V0cHV0UGF0aCA/PyAnY2RrLWRpZmYtd29ya2Zsb3ctc3RhY2tzZXQtdGVtcGxhdGUueWFtbCc7XG4gICAgY29uc3Qgc3RhY2tTZXROYW1lID0gcHJvcHMuc3RhY2tTZXROYW1lID8/ICdjZGstZGlmZi13b3JrZmxvdy1pYW0tc3RhY2tzZXQnO1xuXG4gICAgLy8gR2VuZXJhdGUgdGVtcGxhdGUgdXNpbmcgdGhlIGdlbmVyYXRvclxuICAgIGNvbnN0IHRlbXBsYXRlID0gQ2RrRGlmZklhbVRlbXBsYXRlU3RhY2tTZXRHZW5lcmF0b3IuZ2VuZXJhdGVUZW1wbGF0ZShwcm9wcyk7XG4gICAgbmV3IFRleHRGaWxlKHByb3BzLnByb2plY3QsIG91dHB1dFBhdGgsIHsgbGluZXM6IHRlbXBsYXRlLnNwbGl0KCdcXG4nKSB9KTtcblxuICAgIC8vIEdlbmVyYXRlIGNvbW1hbmRzIGFuZCBhZGQgYXMgUHJvamVuIHRhc2tzXG4gICAgY29uc3QgY29tbWFuZHMgPSBDZGtEaWZmSWFtVGVtcGxhdGVTdGFja1NldEdlbmVyYXRvci5nZW5lcmF0ZUNvbW1hbmRzKHtcbiAgICAgIHN0YWNrU2V0TmFtZSxcbiAgICAgIHRlbXBsYXRlUGF0aDogb3V0cHV0UGF0aCxcbiAgICAgIHRhcmdldE9yZ2FuaXphdGlvbmFsVW5pdElkczogcHJvcHMudGFyZ2V0T3JnYW5pemF0aW9uYWxVbml0SWRzLFxuICAgICAgcmVnaW9uczogcHJvcHMucmVnaW9ucyxcbiAgICAgIGF1dG9EZXBsb3ltZW50OiBwcm9wcy5hdXRvRGVwbG95bWVudCxcbiAgICAgIGRlbGVnYXRlZEFkbWluOiBwcm9wcy5kZWxlZ2F0ZWRBZG1pbixcbiAgICB9KTtcblxuICAgIGNvbnN0IHRhc2tEZXNjcmlwdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAnc3RhY2tzZXQtY3JlYXRlJzogJ0NyZWF0ZSB0aGUgU3RhY2tTZXQgZm9yIG9yZy13aWRlIElBTSByb2xlIGRlcGxveW1lbnQnLFxuICAgICAgJ3N0YWNrc2V0LXVwZGF0ZSc6ICdVcGRhdGUgdGhlIFN0YWNrU2V0IHRlbXBsYXRlJyxcbiAgICAgICdzdGFja3NldC1kZXBsb3ktaW5zdGFuY2VzJzpcbiAgICAgICAgJ0RlcGxveSBzdGFjayBpbnN0YW5jZXMgdG8gdGFyZ2V0IE9VcyBhbmQgcmVnaW9ucyAocGFzcyAtLWRlcGxveW1lbnQtdGFyZ2V0cyBPcmdhbml6YXRpb25hbFVuaXRJZHM9PG91LWlkcz4gdG8gb3ZlcnJpZGUpJyxcbiAgICAgICdzdGFja3NldC1kZWxldGUtaW5zdGFuY2VzJzogJ0RlbGV0ZSBzdGFjayBpbnN0YW5jZXMgZnJvbSB0YXJnZXQgT1VzIGFuZCByZWdpb25zJyxcbiAgICAgICdzdGFja3NldC1kZWxldGUnOiAnRGVsZXRlIHRoZSBTdGFja1NldCAocmVxdWlyZXMgYWxsIGluc3RhbmNlcyB0byBiZSBkZWxldGVkIGZpcnN0KScsXG4gICAgICAnc3RhY2tzZXQtZGVzY3JpYmUnOiAnRGVzY3JpYmUgdGhlIFN0YWNrU2V0IHN0YXR1cyBhbmQgY29uZmlndXJhdGlvbicsXG4gICAgICAnc3RhY2tzZXQtbGlzdC1pbnN0YW5jZXMnOiAnTGlzdCBhbGwgc3RhY2sgaW5zdGFuY2VzIGFuZCB0aGVpciBzdGF0dXNlcycsXG4gICAgfTtcblxuICAgIGZvciAoY29uc3QgW3Rhc2tOYW1lLCBjb21tYW5kXSBvZiBPYmplY3QuZW50cmllcyhjb21tYW5kcykpIHtcbiAgICAgIHByb3BzLnByb2plY3QuYWRkVGFzayh0YXNrTmFtZSwge1xuICAgICAgICBkZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9uc1t0YXNrTmFtZV0sXG4gICAgICAgIHJlY2VpdmVBcmdzOiB0YXNrTmFtZSAhPT0gJ3N0YWNrc2V0LWRlbGV0ZScsXG4gICAgICAgIGV4ZWM6IGNvbW1hbmQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -87,7 +87,16 @@ class CdkDiffStackWorkflow {
87
87
  },
88
88
  },
89
89
  {
90
- run: 'yarn install --frozen-lockfile',
90
+ name: 'Install dependencies',
91
+ run: [
92
+ 'if [ -f yarn.lock ]; then',
93
+ ' yarn install --frozen-lockfile',
94
+ 'elif [ -f package-lock.json ]; then',
95
+ ' npm ci',
96
+ 'else',
97
+ ' echo "No lock file found (yarn.lock or package-lock.json)" && exit 1',
98
+ 'fi',
99
+ ].join('\n'),
91
100
  env: {
92
101
  NODE_AUTH_TOKEN: '${{ secrets.GITHUB_TOKEN }}',
93
102
  },
@@ -168,7 +177,7 @@ class CdkDiffStackWorkflow {
168
177
  }
169
178
  exports.CdkDiffStackWorkflow = CdkDiffStackWorkflow;
170
179
  _a = JSII_RTTI_SYMBOL_1;
171
- CdkDiffStackWorkflow[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflow", version: "1.3.11" };
180
+ CdkDiffStackWorkflow[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflow", version: "1.3.12" };
172
181
  CdkDiffStackWorkflow.scriptCreated = false;
173
182
  function sanitizeForFileName(name) {
174
183
  return name.replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-+|-+$/g, '').toLowerCase();
@@ -204,4 +213,4 @@ function buildWorkflowName(prefix, sanitizedName, maxLength = MAX_WORKFLOW_FILEN
204
213
  // Truncate from the beginning to keep the stack name (end) intact
205
214
  return `${prefix}${sanitizedName.slice(-available).replace(/^-+/, '')}`;
206
215
  }
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRGlmZlN0YWNrV29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ2RrRGlmZlN0YWNrV29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQTBNQSxrREFFQztBQUlELDhEQWdCQzs7QUFoT0QsOENBQTJEO0FBQzNELHVFQUFrRTtBQUNsRSxxRUFBZ0U7QUFFaEUsTUFBTSxrQ0FBa0MsR0FBRyxJQUFJLENBQUM7QUFDaEQsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLENBQUM7QUFDMUMsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLENBQUM7QUFFM0MsTUFBTSw0QkFBNEIsR0FBRyxHQUFHLENBQUM7QUFtQnpDLE1BQWEsb0JBQW9CO0lBRy9CLFlBQVksS0FBZ0M7UUFDMUMsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUM7UUFDckQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLElBQUkscURBQXFELENBQUM7UUFFekcsOEJBQThCO1FBQzlCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0Qyw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLElBQUkseUNBQWtCLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsVUFBVSxFQUFFLGdCQUFnQjthQUM3QixDQUFDLENBQUM7WUFDSCxvQkFBb0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVDLENBQUM7UUFFRCw0Q0FBNEM7UUFDNUMsS0FBSyxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakMsTUFBTSxrQkFBa0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENB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QUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLFNBQVMsR0FBRyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ3pELElBQUksU0FBUyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsbUVBQW1FLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUNELGtFQUFrRTtJQUNsRSxPQUFPLEdBQUcsTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdpdEh1YiwgR2l0aHViV29ya2Zsb3cgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yic7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsJztcbmltcG9ydCB7IENka0NoYW5nZXNldFNjcmlwdCB9IGZyb20gJy4vYmluL2Nkay1jaGFuZ2VzZXQtc2NyaXB0JztcblxuY29uc3QgZ2l0aHViQWN0aW9uc0F3c0NyZWRlbnRpYWxzVmVyc2lvbiA9ICd2NCc7XG5jb25zdCBnaXRodWJBY3Rpb25zQ2hlY2tvdXRWZXJzaW9uID0gJ3Y0JztcbmNvbnN0IGdpdGh1YkFjdGlvbnNTZXR1cE5vZGVWZXJzaW9uID0gJ3Y0JztcblxuY29uc3QgTUFYX1dPUktGTE9XX0ZJTEVOQU1FX0xFTkdUSCA9IDI1NTtcblxuZXhwb3J0IGludGVyZmFjZSBDZGtEaWZmU3RhY2sge1xuICByZWFkb25seSBzdGFja05hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY2hhbmdlc2V0Um9sZVRvQXNzdW1lQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNoYW5nZXNldFJvbGVUb0Fzc3VtZVJlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBvaWRjUm9sZUFybj86IHN0cmluZzsgLy8gT3B0aW9uYWwgb3ZlcnJpZGUgZm9yIE9JREMgcm9sZVxuICByZWFkb25seSBvaWRjUmVnaW9uPzogc3RyaW5nOyAvLyBPcHRpb25hbCBvdmVycmlkZSBmb3IgT0lEQyByZWdpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZGtEaWZmU3RhY2tXb3JrZmxvd1Byb3BzIHtcbiAgcmVhZG9ubHkgcHJvamVjdDogYW55OyAvLyBhdm9pZCBleHBvcnRpbmcgcHJvamVuIHR5cGVzIGluIHB1YmxpYyBBUElcbiAgcmVhZG9ubHkgc3RhY2tzOiBDZGtEaWZmU3RhY2tbXTtcbiAgcmVhZG9ubHkgb2lkY1JvbGVBcm4/OiBzdHJpbmc7IC8vIERlZmF1bHQgT0lEQyByb2xlIEFSTiBmb3IgYWxsIHN0YWNrcyAob3IgZWFjaCBzdGFjayBtdXN0IGhhdmUgaXRzIG93bilcbiAgcmVhZG9ubHkgb2lkY1JlZ2lvbj86IHN0cmluZzsgLy8gRGVmYXVsdCBPSURDIHJlZ2lvbiBmb3IgYWxsIHN0YWNrcyAob3IgZWFjaCBzdGFjayBtdXN0IGhhdmUgaXRzIG93bilcbiAgcmVhZG9ubHkgbm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNka1lhcm5Db21tYW5kPzogc3RyaW5nO1xuICByZWFkb25seSBzY3JpcHRPdXRwdXRQYXRoPzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIENka0RpZmZTdGFja1dvcmtmbG93IHtcbiAgcHJpdmF0ZSBzdGF0aWMgc2NyaXB0Q3JlYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDZGtEaWZmU3RhY2tXb3JrZmxvd1Byb3BzKSB7XG4gICAgY29uc3QgY2RrWWFybkNvbW1hbmQgPSBwcm9wcy5jZGtZYXJuQ29tbWFuZCA/PyAnY2RrJztcbiAgICBjb25zdCBub2RlVmVyc2lvbiA9IHByb3BzLm5vZGVWZXJzaW9uID8/ICcyNC54JztcbiAgICBjb25zdCBzY3JpcHRPdXRwdXRQYXRoID0gcHJvcHMuc2NyaXB0T3V0cHV0UGF0aCA/PyAnLmdpdGh1Yi93b3JrZmxvd3Mvc2NyaXB0cy9kZXNjcmliZS1jZm4tY2hhbmdlc2V0LnRzJztcblxuICAgIC8vIFZhbGlkYXRlIE9JREMgY29uZmlndXJhdGlvblxuICAgIHRoaXMudmFsaWRhdGVPaWRjQ29uZmlndXJhdGlvbihwcm9wcyk7XG5cbiAgICAvLyBPbmx5IGNyZWF0ZSB0aGUgY2hhbmdlc2V0IHNjcmlwdCBvbmNlIHRvIGF2b2lkIGNvbGxpc2lvbnNcbiAgICBpZiAoIUNka0RpZmZTdGFja1dvcmtmbG93LnNjcmlwdENyZWF0ZWQpIHtcbiAgICAgIG5ldyBDZGtDaGFuZ2VzZXRTY3JpcHQoe1xuICAgICAgICBwcm9qZWN0OiBwcm9wcy5wcm9qZWN0LFxuICAgICAgICBvdXRwdXRQYXRoOiBzY3JpcHRPdXRwdXRQYXRoLFxuICAgICAgfSk7XG4gICAgICBDZGtEaWZmU3RhY2tXb3JrZmxvdy5zY3JpcHRDcmVhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBzZXBhcmF0ZSB3b3JrZmxvdyBmb3IgZWFjaCBzdGFja1xuICAgIGZvciAoY29uc3Qgc3RhY2sgb2YgcHJvcHMuc3RhY2tzKSB7XG4gICAgICBjb25zdCBzYW5pdGl6ZWRTdGFja05hbWUgPSBzYW5pdGl6ZUZvckZpbGVOYW1lKHN0YWNrLnN0YWNrTmFtZSk7XG4gICAgICBjb25zdCB3b3JrZmxvd05hbWUgPSBidWlsZFdvcmtmbG93TmFtZSgnZGlmZi0nLCBzYW5pdGl6ZWRTdGFja05hbWUpO1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSBgJHt3b3JrZmxvd05hbWV9LnltbGA7XG4gICAgICBjb25zdCBnaCA9IChwcm9wcyBhcyBhbnkpLnByb2plY3QuZ2l0aHViID8/IG5ldyBHaXRIdWIoKHByb3BzIGFzIGFueSkucHJvamVjdCk7XG4gICAgICBjb25zdCBkaWZmRGVwbG95V29ya2Zsb3cgPSBuZXcgR2l0aHViV29ya2Zsb3coZ2gsIHdvcmtmbG93TmFtZSwgeyBmaWxlTmFtZSB9KTtcblxuICAgICAgdGhpcy5jcmVhdGVXb3JrZmxvd0ZvclN0YWNrKGRpZmZEZXBsb3lXb3JrZmxvdywgc3RhY2ssIGNka1lhcm5Db21tYW5kLCBub2RlVmVyc2lvbiwgc2NyaXB0T3V0cHV0UGF0aCwgcHJvcHMub2lkY1JvbGVBcm4sIHByb3BzLm9pZGNSZWdpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVPaWRjQ29uZmlndXJhdGlvbihwcm9wczogQ2RrRGlmZlN0YWNrV29ya2Zsb3dQcm9wcyk6IHZvaWQge1xuICAgIGNvbnN0IGhhc0RlZmF1bHRPaWRjUm9sZSA9ICEhcHJvcHMub2lkY1JvbGVBcm47XG4gICAgY29uc3QgaGFzRGVmYXVsdE9pZGNSZWdpb24gPSAhIXByb3BzLm9pZGNSZWdpb247XG5cbiAgICAvLyBDaGVjayBpZiBhbGwgc3RhY2tzIGhhdmUgdGhlaXIgb3duIE9JREMgY29uZmlndXJhdGlvblxuICAgIGNvbnN0IGFsbFN0YWNrc0hhdmVPaWRjUm9sZSA9IHByb3BzLnN0YWNrcy5ldmVyeShzdGFjayA9PiAhIXN0YWNrLm9pZGNSb2xlQXJuKTtcbiAgICBjb25zdCBhbGxTdGFja3NIYXZlT2lkY1JlZ2lvbiA9IHByb3BzLnN0YWNrcy5ldmVyeShzdGFjayA9PiAhIXN0YWNrLm9pZGNSZWdpb24pO1xuXG4gICAgLy8gRWl0aGVyIGRlZmF1bHRzIG11c3QgYmUgcHJvdmlkZWQgT1IgYWxsIHN0YWNrcyBtdXN0IGhhdmUgdGhlaXIgb3duIE9JREMgY29uZmlnXG4gICAgaWYgKCFoYXNEZWZhdWx0T2lkY1JvbGUgJiYgIWFsbFN0YWNrc0hhdmVPaWRjUm9sZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFaXRoZXIgcHJvdmlkZSBkZWZhdWx0IG9pZGNSb2xlQXJuIG9yIHNwZWNpZnkgb2lkY1JvbGVBcm4gZm9yIGVhY2ggc3RhY2snKTtcbiAgICB9XG5cbiAgICBpZiAoIWhhc0RlZmF1bHRPaWRjUmVnaW9uICYmICFhbGxTdGFja3NIYXZlT2lkY1JlZ2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFaXRoZXIgcHJvdmlkZSBkZWZhdWx0IG9pZGNSZWdpb24gb3Igc3BlY2lmeSBvaWRjUmVnaW9uIGZvciBlYWNoIHN0YWNrJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVXb3JrZmxvd0ZvclN0YWNrKFxuICAgIHdvcmtmbG93OiBHaXRodWJXb3JrZmxvdyxcbiAgICBzdGFjazogQ2RrRGlmZlN0YWNrLFxuICAgIGNka1lhcm5Db21tYW5kOiBzdHJpbmcsXG4gICAgbm9kZVZlcnNpb246IHN0cmluZyxcbiAgICBzY3JpcHRPdXRwdXRQYXRoOiBzdHJpbmcsXG4gICAgZGVmYXVsdE9pZGNSb2xlQXJuPzogc3RyaW5nLFxuICAgIGRlZmF1bHRPaWRjUmVnaW9uPzogc3RyaW5nLFxuICApIHtcbiAgICAvLyBTYW5pdGl6ZSBzdGFjayBuYW1lIGZvciBDbG91ZEZvcm1hdGlvbiBBUEkgY2FsbHMgKG11c3QgbWF0Y2ggW2EtekEtWl1bLWEtekEtWjAtOV0qLCBtYXggMTI4IGNoYXJzKVxuICAgIC8vIE9yaWdpbmFsIHN0YWNrLnN0YWNrTmFtZSBpcyBwcmVzZXJ2ZWQgb25seSBmb3IgdGhlIENESyBkZXBsb3kgdGFyZ2V0IGFuZCBzdGVwIGRpc3BsYXkgbmFtZXNcbiAgICBjb25zdCBzYW5pdGl6ZWRTdGFja05hbWUgPSBzYW5pdGl6ZUZvckNsb3VkRm9ybWF0aW9uKHN0YWNrLnN0YWNrTmFtZSk7XG5cbiAgICB3b3JrZmxvdy5vbih7XG4gICAgICBwdWxsUmVxdWVzdDoge1xuICAgICAgICB0eXBlczogWydvcGVuZWQnLCAnc3luY2hyb25pemUnLCAncmVvcGVuZWQnXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgd29ya2Zsb3cuYWRkSm9icyh7XG4gICAgICBkaWZmOiB7XG4gICAgICAgIHJ1bnNPbjogWyd1YnVudHUtbGF0ZXN0J10sXG4gICAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgICAgaWRUb2tlbjogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAgIGlzc3VlczogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgICBwdWxsUmVxdWVzdHM6IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgICAgcGFja2FnZXM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgfSxcbiAgICAgICAgZW52OiB7XG4gICAgICAgICAgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyxcbiAgICAgICAgfSxcbiAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1c2VzOiBgYWN0aW9ucy9jaGVja291dEAke2dpdGh1YkFjdGlvbnNDaGVja291dFZlcnNpb259YCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHVzZXM6IGBhY3Rpb25zL3NldHVwLW5vZGVAJHtnaXRodWJBY3Rpb25zU2V0dXBOb2RlVmVyc2lvbn1gLFxuICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICAnbm9kZS12ZXJzaW9uJzogbm9kZVZlcnNpb24sXG4gICAgICAgICAgICAgICdyZWdpc3RyeS11cmwnOiAnaHR0cHM6Ly9ucG0ucGtnLmdpdGh1Yi5jb20nLFxuICAgICAgICAgICAgICAnc2NvcGUnOiAnQCR7eyBnaXRodWIucmVwb3NpdG9yeV9vd25lciB9fScsXG4gICAgICAgICAgICAgICd0b2tlbic6ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bjogJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZScsXG4gICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgTk9ERV9BVVRIX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1c2VzOiBgYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0Ake2dpdGh1YkFjdGlvbnNBd3NDcmVkZW50aWFsc1ZlcnNpb259YCxcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogc3RhY2sub2lkY1JvbGVBcm4gPz8gZGVmYXVsdE9pZGNSb2xlQXJuLFxuICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IHN0YWNrLm9pZGNSZWdpb24gPz8gZGVmYXVsdE9pZGNSZWdpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYENyZWF0ZSBDaGFuZ2VzZXQgZm9yICR7c3RhY2suc3RhY2tOYW1lfWAsXG4gICAgICAgICAgICBpZDogJ2NyZWF0ZS1jaGFuZ2VzZXQnLFxuICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICdzZXQgLW8gcGlwZWZhaWwnLFxuICAgICAgICAgICAgICBgeWFybiAke2Nka1lhcm5Db21tYW5kfSBkZXBsb3kgJHtzdGFjay5zdGFja05hbWV9IC0tbm8tZXhlY3V0ZSAtLWNoYW5nZS1zZXQtbmFtZSAke3Nhbml0aXplZFN0YWNrTmFtZX0gLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyYCxcbiAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICcjIExvb2sgdXAgcmVhbCBDRiBzdGFjayBuYW1lIGZyb20gY2RrLm91dCBtYW5pZmVzdCAoYXV0aG9yaXRhdGl2ZSBzb3VyY2UpJyxcbiAgICAgICAgICAgICAgJ0NGX1NUQUNLX05BTUU9XCJcIicsXG4gICAgICAgICAgICAgICdmb3IgbWFuaWZlc3QgaW4gY2RrLm91dC8qL21hbmlmZXN0Lmpzb24gY2RrLm91dC9tYW5pZmVzdC5qc29uOyBkbycsXG4gICAgICAgICAgICAgICcgIFsgLWYgXCIkbWFuaWZlc3RcIiBdIHx8IGNvbnRpbnVlJyxcbiAgICAgICAgICAgICAgYCAgbmFtZT0kKGpxIC1yIC0tYXJnIGRwIFwiJHtzdGFjay5zdGFja05hbWV9XCIgXFxcXGAsXG4gICAgICAgICAgICAgICcgICAgXFwnLmFydGlmYWN0cyB8IHRvX2VudHJpZXNbXSB8IHNlbGVjdCgudmFsdWUudHlwZSA9PSBcImF3czpjbG91ZGZvcm1hdGlvbjpzdGFja1wiIGFuZCAudmFsdWUuZGlzcGxheU5hbWUgPT0gJGRwKSB8ICgudmFsdWUucHJvcGVydGllcy5zdGFja05hbWUgLy8gLmtleSlcXCcgXFxcXCcsXG4gICAgICAgICAgICAgICcgICAgXCIkbWFuaWZlc3RcIiknLFxuICAgICAgICAgICAgICAnICBpZiBbIC1uIFwiJG5hbWVcIiBdICYmIFsgXCIkbmFtZVwiICE9IFwibnVsbFwiIF07IHRoZW4nLFxuICAgICAgICAgICAgICAnICAgIENGX1NUQUNLX05BTUU9XCIkbmFtZVwiJyxcbiAgICAgICAgICAgICAgJyAgICBicmVhaycsXG4gICAgICAgICAgICAgICcgIGZpJyxcbiAgICAgICAgICAgICAgJ2RvbmUnLFxuICAgICAgICAgICAgICAnaWYgWyAteiBcIiRDRl9TVEFDS19OQU1FXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICcgIGVjaG8gXCJXYXJuaW5nOiBDb3VsZCBub3QgcmVzb2x2ZSBDRiBzdGFjayBuYW1lIGZyb20gY2RrLm91dCwgZmFsbGluZyBiYWNrIHRvIHNhbml0aXplZCBuYW1lXCInLFxuICAgICAgICAgICAgICBgICBDRl9TVEFDS19OQU1FPVwiJHtzYW5pdGl6ZWRTdGFja05hbWV9XCJgLFxuICAgICAgICAgICAgICAnZmknLFxuICAgICAgICAgICAgICAnZWNobyBcImNmLXN0YWNrLW5hbWU9JHtDRl9TVEFDS19OQU1FfVwiID4+IFwiJEdJVEhVQl9PVVRQVVRcIicsXG4gICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdjcmVkcycsXG4gICAgICAgICAgICB1c2VzOiBgYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0Ake2dpdGh1YkFjdGlvbnNBd3NDcmVkZW50aWFsc1ZlcnNpb259YCxcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogc3RhY2sub2lkY1JvbGVBcm4gPz8gZGVmYXVsdE9pZGNSb2xlQXJuLFxuICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IHN0YWNrLm9pZGNSZWdpb24gPz8gZGVmYXVsdE9pZGNSZWdpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0Fzc3VtZSBDbG91ZEZvcm1hdGlvbiBDaGFuZ2VzZXQgUm9sZScsXG4gICAgICAgICAgICBpZDogJ2NoYW5nZXNldC1yb2xlJyxcbiAgICAgICAgICAgIHVzZXM6IGBhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQCR7Z2l0aHViQWN0aW9uc0F3c0NyZWRlbnRpYWxzVmVyc2lvbn1gLFxuICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiBzdGFjay5jaGFuZ2VzZXRSb2xlVG9Bc3N1bWVBcm4sXG4gICAgICAgICAgICAgICdyb2xlLWNoYWluaW5nJzogdHJ1ZSxcbiAgICAgICAgICAgICAgJ3JvbGUtc2tpcC1zZXNzaW9uLXRhZ2dpbmcnOiB0cnVlLFxuICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IHN0YWNrLmNoYW5nZXNldFJvbGVUb0Fzc3VtZVJlZ2lvbixcbiAgICAgICAgICAgICAgJ2F3cy1hY2Nlc3Mta2V5LWlkJzogJyR7eyBzdGVwcy5jcmVkcy5vdXRwdXRzLmF3cy1hY2Nlc3Mta2V5LWlkIH19JyxcbiAgICAgICAgICAgICAgJ2F3cy1zZWNyZXQtYWNjZXNzLWtleSc6ICcke3sgc3RlcHMuY3JlZHMub3V0cHV0cy5hd3Mtc2VjcmV0LWFjY2Vzcy1rZXkgfX0nLFxuICAgICAgICAgICAgICAnYXdzLXNlc3Npb24tdG9rZW4nOiAnJHt7IHN0ZXBzLmNyZWRzLm91dHB1dHMuYXdzLXNlc3Npb24tdG9rZW4gfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGBEZXNjcmliZSBjaGFuZ2Ugc2V0IGZvciAke3N0YWNrLnN0YWNrTmFtZX1gLFxuICAgICAgICAgICAgcnVuOiBgbnB4IHRzLW5vZGUgJHtzY3JpcHRPdXRwdXRQYXRofWAsXG4gICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgU1RBQ0tfTkFNRTogJyR7eyBzdGVwcy5jcmVhdGUtY2hhbmdlc2V0Lm91dHB1dHMuY2Ytc3RhY2stbmFtZSB9fScsXG4gICAgICAgICAgICAgIENIQU5HRV9TRVRfTkFNRTogc2FuaXRpemVkU3RhY2tOYW1lLFxuICAgICAgICAgICAgICBHSVRIVUJfQ09NTUVOVF9VUkw6ICcke3sgZ2l0aHViLmV2ZW50LnB1bGxfcmVxdWVzdC5jb21tZW50c191cmwgfX0nLFxuICAgICAgICAgICAgICBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGBEZWxldGUgY2hhbmdlc2V0IGZvciAke3N0YWNrLnN0YWNrTmFtZX1gLFxuICAgICAgICAgICAgcnVuOiBgYXdzIGNsb3VkZm9ybWF0aW9uIGRlbGV0ZS1jaGFuZ2Utc2V0IC0tY2hhbmdlLXNldC1uYW1lICR7c2FuaXRpemVkU3RhY2tOYW1lfSAtLXN0YWNrLW5hbWUgXCJcXCR7eyBzdGVwcy5jcmVhdGUtY2hhbmdlc2V0Lm91dHB1dHMuY2Ytc3RhY2stbmFtZSB9fVwiIC0tcmVnaW9uICR7c3RhY2suY2hhbmdlc2V0Um9sZVRvQXNzdW1lUmVnaW9ufWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplRm9yRmlsZU5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5hbWUucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCAnLScpLnJlcGxhY2UoL14tK3wtKyQvZywgJycpLnRvTG93ZXJDYXNlKCk7XG59XG5cbmV4cG9ydCBjb25zdCBNQVhfQ0ZfSURFTlRJRklFUl9MRU5HVEggPSAxMjg7XG5cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZUZvckNsb3VkRm9ybWF0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIENsb3VkRm9ybWF0aW9uIHN0YWNrL2NoYW5nZXNldCBuYW1lczogW2EtekEtWl1bLWEtekEtWjAtOV0qLCBtYXggMTI4IGNoYXJzXG4gIGxldCBzYW5pdGl6ZWQgPSBuYW1lLnJlcGxhY2UoL1teYS16QS1aMC05XSsvZywgJy0nKS5yZXBsYWNlKC9eLSt8LSskL2csICcnKTtcbiAgLy8gRW5zdXJlIGl0IHN0YXJ0cyB3aXRoIGEgbGV0dGVyXG4gIGlmICghc2FuaXRpemVkIHx8ICEvXlthLXpBLVpdLy50ZXN0KHNhbml0aXplZCkpIHtcbiAgICBzYW5pdGl6ZWQgPSBgY3MtJHtzYW5pdGl6ZWR9YDtcbiAgfVxuICAvLyBUcnVuY2F0ZSBmcm9tIHRoZSBiZWdpbm5pbmcgdG8ga2VlcCB0aGUgc3RhY2sgbmFtZSAoZW5kKSBpbnRhY3RcbiAgaWYgKHNhbml0aXplZC5sZW5ndGggPiBNQVhfQ0ZfSURFTlRJRklFUl9MRU5HVEgpIHtcbiAgICBzYW5pdGl6ZWQgPSBzYW5pdGl6ZWQuc2xpY2UoLU1BWF9DRl9JREVOVElGSUVSX0xFTkdUSCkucmVwbGFjZSgvXi0rLywgJycpO1xuICAgIC8vIFJlLWNoZWNrIHN0YXJ0cyB3aXRoIGEgbGV0dGVyIGFmdGVyIHRydW5jYXRpb25cbiAgICBpZiAoIS9eW2EtekEtWl0vLnRlc3Qoc2FuaXRpemVkKSkge1xuICAgICAgc2FuaXRpemVkID0gYGNzLSR7c2FuaXRpemVkLnNsaWNlKDAsIE1BWF9DRl9JREVOVElGSUVSX0xFTkdUSCAtIDMpfWA7XG4gICAgfVxuICB9XG4gIHJldHVybiBzYW5pdGl6ZWQ7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkV29ya2Zsb3dOYW1lKHByZWZpeDogc3RyaW5nLCBzYW5pdGl6ZWROYW1lOiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyID0gTUFYX1dPUktGTE9XX0ZJTEVOQU1FX0xFTkdUSCk6IHN0cmluZyB7XG4gIGNvbnN0IGV4dCA9ICcueW1sJztcbiAgY29uc3QgZnVsbCA9IGAke3ByZWZpeH0ke3Nhbml0aXplZE5hbWV9JHtleHR9YDtcbiAgaWYgKGZ1bGwubGVuZ3RoIDw9IG1heExlbmd0aCkge1xuICAgIHJldHVybiBgJHtwcmVmaXh9JHtzYW5pdGl6ZWROYW1lfWA7XG4gIH1cbiAgY29uc3QgYXZhaWxhYmxlID0gbWF4TGVuZ3RoIC0gcHJlZml4Lmxlbmd0aCAtIGV4dC5sZW5ndGg7XG4gIGlmIChhdmFpbGFibGUgPD0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgV29ya2Zsb3cgcHJlZml4IGFuZCBleHRlbnNpb24gZXhjZWVkIG1heGltdW0gZmlsZW5hbWUgbGVuZ3RoIG9mICR7bWF4TGVuZ3RofWApO1xuICB9XG4gIC8vIFRydW5jYXRlIGZyb20gdGhlIGJlZ2lubmluZyB0byBrZWVwIHRoZSBzdGFjayBuYW1lIChlbmQpIGludGFjdFxuICByZXR1cm4gYCR7cHJlZml4fSR7c2FuaXRpemVkTmFtZS5zbGljZSgtYXZhaWxhYmxlKS5yZXBsYWNlKC9eLSsvLCAnJyl9YDtcbn1cbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRGlmZlN0YWNrV29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ2RrRGlmZlN0YWNrV29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQW1OQSxrREFFQztBQUlELDhEQWdCQzs7QUF6T0QsOENBQTJEO0FBQzNELHVFQUFrRTtBQUNsRSxxRUFBZ0U7QUFFaEUsTUFBTSxrQ0FBa0MsR0FBRyxJQUFJLENBQUM7QUFDaEQsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLENBQUM7QUFDMUMsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLENBQUM7QUFFM0MsTUFBTSw0QkFBNEIsR0FBRyxHQUFHLENBQUM7QUFtQnpDLE1BQWEsb0JBQW9CO0lBRy9CLFlBQVksS0FBZ0M7UUFDMUMsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUM7UUFDckQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLElBQUkscURBQXFELENBQUM7UUFFekcsOEJBQThCO1FBQzlCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0Qyw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLElBQUkseUNBQWtCLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsVUFBVSxFQUFFLGdCQUFnQjthQUM3QixDQUFDLENBQUM7WUFDSCxvQkFBb0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVDLENBQUM7UUFFRCw0Q0FBNEM7UUFDNUMsS0FBSyxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakMsTUFBTSxrQkFBa0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENB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QU0sSUFBSSxHQUFHLEdBQUcsTUFBTSxHQUFHLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUMvQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLENBQUM7UUFDN0IsT0FBTyxHQUFHLE1BQU0sR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUN6RCxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLG1FQUFtRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFDRCxrRUFBa0U7SUFDbEUsT0FBTyxHQUFHLE1BQU0sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHaXRIdWIsIEdpdGh1YldvcmtmbG93IH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBDZGtDaGFuZ2VzZXRTY3JpcHQgfSBmcm9tICcuL2Jpbi9jZGstY2hhbmdlc2V0LXNjcmlwdCc7XG5cbmNvbnN0IGdpdGh1YkFjdGlvbnNBd3NDcmVkZW50aWFsc1ZlcnNpb24gPSAndjQnO1xuY29uc3QgZ2l0aHViQWN0aW9uc0NoZWNrb3V0VmVyc2lvbiA9ICd2NCc7XG5jb25zdCBnaXRodWJBY3Rpb25zU2V0dXBOb2RlVmVyc2lvbiA9ICd2NCc7XG5cbmNvbnN0IE1BWF9XT1JLRkxPV19GSUxFTkFNRV9MRU5HVEggPSAyNTU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrRGlmZlN0YWNrIHtcbiAgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNoYW5nZXNldFJvbGVUb0Fzc3VtZUFybjogc3RyaW5nO1xuICByZWFkb25seSBjaGFuZ2VzZXRSb2xlVG9Bc3N1bWVSZWdpb246IHN0cmluZztcbiAgcmVhZG9ubHkgb2lkY1JvbGVBcm4/OiBzdHJpbmc7IC8vIE9wdGlvbmFsIG92ZXJyaWRlIGZvciBPSURDIHJvbGVcbiAgcmVhZG9ubHkgb2lkY1JlZ2lvbj86IHN0cmluZzsgLy8gT3B0aW9uYWwgb3ZlcnJpZGUgZm9yIE9JREMgcmVnaW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrRGlmZlN0YWNrV29ya2Zsb3dQcm9wcyB7XG4gIHJlYWRvbmx5IHByb2plY3Q6IGFueTsgLy8gYXZvaWQgZXhwb3J0aW5nIHByb2plbiB0eXBlcyBpbiBwdWJsaWMgQVBJXG4gIHJlYWRvbmx5IHN0YWNrczogQ2RrRGlmZlN0YWNrW107XG4gIHJlYWRvbmx5IG9pZGNSb2xlQXJuPzogc3RyaW5nOyAvLyBEZWZhdWx0IE9JREMgcm9sZSBBUk4gZm9yIGFsbCBzdGFja3MgKG9yIGVhY2ggc3RhY2sgbXVzdCBoYXZlIGl0cyBvd24pXG4gIHJlYWRvbmx5IG9pZGNSZWdpb24/OiBzdHJpbmc7IC8vIERlZmF1bHQgT0lEQyByZWdpb24gZm9yIGFsbCBzdGFja3MgKG9yIGVhY2ggc3RhY2sgbXVzdCBoYXZlIGl0cyBvd24pXG4gIHJlYWRvbmx5IG5vZGVWZXJzaW9uPzogc3RyaW5nO1xuICByZWFkb25seSBjZGtZYXJuQ29tbWFuZD86IHN0cmluZztcbiAgcmVhZG9ubHkgc2NyaXB0T3V0cHV0UGF0aD86IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBDZGtEaWZmU3RhY2tXb3JrZmxvdyB7XG4gIHByaXZhdGUgc3RhdGljIHNjcmlwdENyZWF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQ2RrRGlmZlN0YWNrV29ya2Zsb3dQcm9wcykge1xuICAgIGNvbnN0IGNka1lhcm5Db21tYW5kID0gcHJvcHMuY2RrWWFybkNvbW1hbmQgPz8gJ2Nkayc7XG4gICAgY29uc3Qgbm9kZVZlcnNpb24gPSBwcm9wcy5ub2RlVmVyc2lvbiA/PyAnMjQueCc7XG4gICAgY29uc3Qgc2NyaXB0T3V0cHV0UGF0aCA9IHByb3BzLnNjcmlwdE91dHB1dFBhdGggPz8gJy5naXRodWIvd29ya2Zsb3dzL3NjcmlwdHMvZGVzY3JpYmUtY2ZuLWNoYW5nZXNldC50cyc7XG5cbiAgICAvLyBWYWxpZGF0ZSBPSURDIGNvbmZpZ3VyYXRpb25cbiAgICB0aGlzLnZhbGlkYXRlT2lkY0NvbmZpZ3VyYXRpb24ocHJvcHMpO1xuXG4gICAgLy8gT25seSBjcmVhdGUgdGhlIGNoYW5nZXNldCBzY3JpcHQgb25jZSB0byBhdm9pZCBjb2xsaXNpb25zXG4gICAgaWYgKCFDZGtEaWZmU3RhY2tXb3JrZmxvdy5zY3JpcHRDcmVhdGVkKSB7XG4gICAgICBuZXcgQ2RrQ2hhbmdlc2V0U2NyaXB0KHtcbiAgICAgICAgcHJvamVjdDogcHJvcHMucHJvamVjdCxcbiAgICAgICAgb3V0cHV0UGF0aDogc2NyaXB0T3V0cHV0UGF0aCxcbiAgICAgIH0pO1xuICAgICAgQ2RrRGlmZlN0YWNrV29ya2Zsb3cuc2NyaXB0Q3JlYXRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGEgc2VwYXJhdGUgd29ya2Zsb3cgZm9yIGVhY2ggc3RhY2tcbiAgICBmb3IgKGNvbnN0IHN0YWNrIG9mIHByb3BzLnN0YWNrcykge1xuICAgICAgY29uc3Qgc2FuaXRpemVkU3RhY2tOYW1lID0gc2FuaXRpemVGb3JGaWxlTmFtZShzdGFjay5zdGFja05hbWUpO1xuICAgICAgY29uc3Qgd29ya2Zsb3dOYW1lID0gYnVpbGRXb3JrZmxvd05hbWUoJ2RpZmYtJywgc2FuaXRpemVkU3RhY2tOYW1lKTtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7d29ya2Zsb3dOYW1lfS55bWxgO1xuICAgICAgY29uc3QgZ2ggPSAocHJvcHMgYXMgYW55KS5wcm9qZWN0LmdpdGh1YiA/PyBuZXcgR2l0SHViKChwcm9wcyBhcyBhbnkpLnByb2plY3QpO1xuICAgICAgY29uc3QgZGlmZkRlcGxveVdvcmtmbG93ID0gbmV3IEdpdGh1YldvcmtmbG93KGdoLCB3b3JrZmxvd05hbWUsIHsgZmlsZU5hbWUgfSk7XG5cbiAgICAgIHRoaXMuY3JlYXRlV29ya2Zsb3dGb3JTdGFjayhkaWZmRGVwbG95V29ya2Zsb3csIHN0YWNrLCBjZGtZYXJuQ29tbWFuZCwgbm9kZVZlcnNpb24sIHNjcmlwdE91dHB1dFBhdGgsIHByb3BzLm9pZGNSb2xlQXJuLCBwcm9wcy5vaWRjUmVnaW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlT2lkY0NvbmZpZ3VyYXRpb24ocHJvcHM6IENka0RpZmZTdGFja1dvcmtmbG93UHJvcHMpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNEZWZhdWx0T2lkY1JvbGUgPSAhIXByb3BzLm9pZGNSb2xlQXJuO1xuICAgIGNvbnN0IGhhc0RlZmF1bHRPaWRjUmVnaW9uID0gISFwcm9wcy5vaWRjUmVnaW9uO1xuXG4gICAgLy8gQ2hlY2sgaWYgYWxsIHN0YWNrcyBoYXZlIHRoZWlyIG93biBPSURDIGNvbmZpZ3VyYXRpb25cbiAgICBjb25zdCBhbGxTdGFja3NIYXZlT2lkY1JvbGUgPSBwcm9wcy5zdGFja3MuZXZlcnkoc3RhY2sgPT4gISFzdGFjay5vaWRjUm9sZUFybik7XG4gICAgY29uc3QgYWxsU3RhY2tzSGF2ZU9pZGNSZWdpb24gPSBwcm9wcy5zdGFja3MuZXZlcnkoc3RhY2sgPT4gISFzdGFjay5vaWRjUmVnaW9uKTtcblxuICAgIC8vIEVpdGhlciBkZWZhdWx0cyBtdXN0IGJlIHByb3ZpZGVkIE9SIGFsbCBzdGFja3MgbXVzdCBoYXZlIHRoZWlyIG93biBPSURDIGNvbmZpZ1xuICAgIGlmICghaGFzRGVmYXVsdE9pZGNSb2xlICYmICFhbGxTdGFja3NIYXZlT2lkY1JvbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRWl0aGVyIHByb3ZpZGUgZGVmYXVsdCBvaWRjUm9sZUFybiBvciBzcGVjaWZ5IG9pZGNSb2xlQXJuIGZvciBlYWNoIHN0YWNrJyk7XG4gICAgfVxuXG4gICAgaWYgKCFoYXNEZWZhdWx0T2lkY1JlZ2lvbiAmJiAhYWxsU3RhY2tzSGF2ZU9pZGNSZWdpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRWl0aGVyIHByb3ZpZGUgZGVmYXVsdCBvaWRjUmVnaW9uIG9yIHNwZWNpZnkgb2lkY1JlZ2lvbiBmb3IgZWFjaCBzdGFjaycpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlV29ya2Zsb3dGb3JTdGFjayhcbiAgICB3b3JrZmxvdzogR2l0aHViV29ya2Zsb3csXG4gICAgc3RhY2s6IENka0RpZmZTdGFjayxcbiAgICBjZGtZYXJuQ29tbWFuZDogc3RyaW5nLFxuICAgIG5vZGVWZXJzaW9uOiBzdHJpbmcsXG4gICAgc2NyaXB0T3V0cHV0UGF0aDogc3RyaW5nLFxuICAgIGRlZmF1bHRPaWRjUm9sZUFybj86IHN0cmluZyxcbiAgICBkZWZhdWx0T2lkY1JlZ2lvbj86IHN0cmluZyxcbiAgKSB7XG4gICAgLy8gU2FuaXRpemUgc3RhY2sgbmFtZSBmb3IgQ2xvdWRGb3JtYXRpb24gQVBJIGNhbGxzIChtdXN0IG1hdGNoIFthLXpBLVpdWy1hLXpBLVowLTldKiwgbWF4IDEyOCBjaGFycylcbiAgICAvLyBPcmlnaW5hbCBzdGFjay5zdGFja05hbWUgaXMgcHJlc2VydmVkIG9ubHkgZm9yIHRoZSBDREsgZGVwbG95IHRhcmdldCBhbmQgc3RlcCBkaXNwbGF5IG5hbWVzXG4gICAgY29uc3Qgc2FuaXRpemVkU3RhY2tOYW1lID0gc2FuaXRpemVGb3JDbG91ZEZvcm1hdGlvbihzdGFjay5zdGFja05hbWUpO1xuXG4gICAgd29ya2Zsb3cub24oe1xuICAgICAgcHVsbFJlcXVlc3Q6IHtcbiAgICAgICAgdHlwZXM6IFsnb3BlbmVkJywgJ3N5bmNocm9uaXplJywgJ3Jlb3BlbmVkJ10sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHdvcmtmbG93LmFkZEpvYnMoe1xuICAgICAgZGlmZjoge1xuICAgICAgICBydW5zT246IFsndWJ1bnR1LWxhdGVzdCddLFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgICBpc3N1ZXM6IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgICAgcHVsbFJlcXVlc3RzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICAgIHBhY2thZ2VzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgIH0sXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIEdJVEhVQl9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScsXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXBzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdXNlczogYGFjdGlvbnMvY2hlY2tvdXRAJHtnaXRodWJBY3Rpb25zQ2hlY2tvdXRWZXJzaW9ufWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1c2VzOiBgYWN0aW9ucy9zZXR1cC1ub2RlQCR7Z2l0aHViQWN0aW9uc1NldHVwTm9kZVZlcnNpb259YCxcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgJ25vZGUtdmVyc2lvbic6IG5vZGVWZXJzaW9uLFxuICAgICAgICAgICAgICAncmVnaXN0cnktdXJsJzogJ2h0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tJyxcbiAgICAgICAgICAgICAgJ3Njb3BlJzogJ0Ake3sgZ2l0aHViLnJlcG9zaXRvcnlfb3duZXIgfX0nLFxuICAgICAgICAgICAgICAndG9rZW4nOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnSW5zdGFsbCBkZXBlbmRlbmNpZXMnLFxuICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICdpZiBbIC1mIHlhcm4ubG9jayBdOyB0aGVuJyxcbiAgICAgICAgICAgICAgJyAgeWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlJyxcbiAgICAgICAgICAgICAgJ2VsaWYgWyAtZiBwYWNrYWdlLWxvY2suanNvbiBdOyB0aGVuJyxcbiAgICAgICAgICAgICAgJyAgbnBtIGNpJyxcbiAgICAgICAgICAgICAgJ2Vsc2UnLFxuICAgICAgICAgICAgICAnICBlY2hvIFwiTm8gbG9jayBmaWxlIGZvdW5kICh5YXJuLmxvY2sgb3IgcGFja2FnZS1sb2NrLmpzb24pXCIgJiYgZXhpdCAxJyxcbiAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgTk9ERV9BVVRIX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1c2VzOiBgYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0Ake2dpdGh1YkFjdGlvbnNBd3NDcmVkZW50aWFsc1ZlcnNpb259YCxcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogc3RhY2sub2lkY1JvbGVBcm4gPz8gZGVmYXVsdE9pZGNSb2xlQXJuLFxuICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IHN0YWNrLm9pZGNSZWdpb24gPz8gZGVmYXVsdE9pZGNSZWdpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYENyZWF0ZSBDaGFuZ2VzZXQgZm9yICR7c3RhY2suc3RhY2tOYW1lfWAsXG4gICAgICAgICAgICBpZDogJ2NyZWF0ZS1jaGFuZ2VzZXQnLFxuICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICdzZXQgLW8gcGlwZWZhaWwnLFxuICAgICAgICAgICAgICBgeWFybiAke2Nka1lhcm5Db21tYW5kfSBkZXBsb3kgJHtzdGFjay5zdGFja05hbWV9IC0tbm8tZXhlY3V0ZSAtLWNoYW5nZS1zZXQtbmFtZSAke3Nhbml0aXplZFN0YWNrTmFtZX0gLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyYCxcbiAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICcjIExvb2sgdXAgcmVhbCBDRiBzdGFjayBuYW1lIGZyb20gY2RrLm91dCBtYW5pZmVzdCAoYXV0aG9yaXRhdGl2ZSBzb3VyY2UpJyxcbiAgICAgICAgICAgICAgJ0NGX1NUQUNLX05BTUU9XCJcIicsXG4gICAgICAgICAgICAgICdmb3IgbWFuaWZlc3QgaW4gY2RrLm91dC8qL21hbmlmZXN0Lmpzb24gY2RrLm91dC9tYW5pZmVzdC5qc29uOyBkbycsXG4gICAgICAgICAgICAgICcgIFsgLWYgXCIkbWFuaWZlc3RcIiBdIHx8IGNvbnRpbnVlJyxcbiAgICAgICAgICAgICAgYCAgbmFtZT0kKGpxIC1yIC0tYXJnIGRwIFwiJHtzdGFjay5zdGFja05hbWV9XCIgXFxcXGAsXG4gICAgICAgICAgICAgICcgICAgXFwnLmFydGlmYWN0cyB8IHRvX2VudHJpZXNbXSB8IHNlbGVjdCgudmFsdWUudHlwZSA9PSBcImF3czpjbG91ZGZvcm1hdGlvbjpzdGFja1wiIGFuZCAudmFsdWUuZGlzcGxheU5hbWUgPT0gJGRwKSB8ICgudmFsdWUucHJvcGVydGllcy5zdGFja05hbWUgLy8gLmtleSlcXCcgXFxcXCcsXG4gICAgICAgICAgICAgICcgICAgXCIkbWFuaWZlc3RcIiknLFxuICAgICAgICAgICAgICAnICBpZiBbIC1uIFwiJG5hbWVcIiBdICYmIFsgXCIkbmFtZVwiICE9IFwibnVsbFwiIF07IHRoZW4nLFxuICAgICAgICAgICAgICAnICAgIENGX1NUQUNLX05BTUU9XCIkbmFtZVwiJyxcbiAgICAgICAgICAgICAgJyAgICBicmVhaycsXG4gICAgICAgICAgICAgICcgIGZpJyxcbiAgICAgICAgICAgICAgJ2RvbmUnLFxuICAgICAgICAgICAgICAnaWYgWyAteiBcIiRDRl9TVEFDS19OQU1FXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICcgIGVjaG8gXCJXYXJuaW5nOiBDb3VsZCBub3QgcmVzb2x2ZSBDRiBzdGFjayBuYW1lIGZyb20gY2RrLm91dCwgZmFsbGluZyBiYWNrIHRvIHNhbml0aXplZCBuYW1lXCInLFxuICAgICAgICAgICAgICBgICBDRl9TVEFDS19OQU1FPVwiJHtzYW5pdGl6ZWRTdGFja05hbWV9XCJgLFxuICAgICAgICAgICAgICAnZmknLFxuICAgICAgICAgICAgICAnZWNobyBcImNmLXN0YWNrLW5hbWU9JHtDRl9TVEFDS19OQU1FfVwiID4+IFwiJEdJVEhVQl9PVVRQVVRcIicsXG4gICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdjcmVkcycsXG4gICAgICAgICAgICB1c2VzOiBgYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0Ake2dpdGh1YkFjdGlvbnNBd3NDcmVkZW50aWFsc1ZlcnNpb259YCxcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogc3RhY2sub2lkY1JvbGVBcm4gPz8gZGVmYXVsdE9pZGNSb2xlQXJuLFxuICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IHN0YWNrLm9pZGNSZWdpb24gPz8gZGVmYXVsdE9pZGNSZWdpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0Fzc3VtZSBDbG91ZEZvcm1hdGlvbiBDaGFuZ2VzZXQgUm9sZScsXG4gICAgICAgICAgICBpZDogJ2NoYW5nZXNldC1yb2xlJyxcbiAgICAgICAgICAgIHVzZXM6IGBhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQCR7Z2l0aHViQWN0aW9uc0F3c0NyZWRlbnRpYWxzVmVyc2lvbn1gLFxuICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiBzdGFjay5jaGFuZ2VzZXRSb2xlVG9Bc3N1bWVBcm4sXG4gICAgICAgICAgICAgICdyb2xlLWNoYWluaW5nJzogdHJ1ZSxcbiAgICAgICAgICAgICAgJ3JvbGUtc2tpcC1zZXNzaW9uLXRhZ2dpbmcnOiB0cnVlLFxuICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IHN0YWNrLmNoYW5nZXNldFJvbGVUb0Fzc3VtZVJlZ2lvbixcbiAgICAgICAgICAgICAgJ2F3cy1hY2Nlc3Mta2V5LWlkJzogJyR7eyBzdGVwcy5jcmVkcy5vdXRwdXRzLmF3cy1hY2Nlc3Mta2V5LWlkIH19JyxcbiAgICAgICAgICAgICAgJ2F3cy1zZWNyZXQtYWNjZXNzLWtleSc6ICcke3sgc3RlcHMuY3JlZHMub3V0cHV0cy5hd3Mtc2VjcmV0LWFjY2Vzcy1rZXkgfX0nLFxuICAgICAgICAgICAgICAnYXdzLXNlc3Npb24tdG9rZW4nOiAnJHt7IHN0ZXBzLmNyZWRzLm91dHB1dHMuYXdzLXNlc3Npb24tdG9rZW4gfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGBEZXNjcmliZSBjaGFuZ2Ugc2V0IGZvciAke3N0YWNrLnN0YWNrTmFtZX1gLFxuICAgICAgICAgICAgcnVuOiBgbnB4IHRzLW5vZGUgJHtzY3JpcHRPdXRwdXRQYXRofWAsXG4gICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgU1RBQ0tfTkFNRTogJyR7eyBzdGVwcy5jcmVhdGUtY2hhbmdlc2V0Lm91dHB1dHMuY2Ytc3RhY2stbmFtZSB9fScsXG4gICAgICAgICAgICAgIENIQU5HRV9TRVRfTkFNRTogc2FuaXRpemVkU3RhY2tOYW1lLFxuICAgICAgICAgICAgICBHSVRIVUJfQ09NTUVOVF9VUkw6ICcke3sgZ2l0aHViLmV2ZW50LnB1bGxfcmVxdWVzdC5jb21tZW50c191cmwgfX0nLFxuICAgICAgICAgICAgICBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGBEZWxldGUgY2hhbmdlc2V0IGZvciAke3N0YWNrLnN0YWNrTmFtZX1gLFxuICAgICAgICAgICAgcnVuOiBgYXdzIGNsb3VkZm9ybWF0aW9uIGRlbGV0ZS1jaGFuZ2Utc2V0IC0tY2hhbmdlLXNldC1uYW1lICR7c2FuaXRpemVkU3RhY2tOYW1lfSAtLXN0YWNrLW5hbWUgXCJcXCR7eyBzdGVwcy5jcmVhdGUtY2hhbmdlc2V0Lm91dHB1dHMuY2Ytc3RhY2stbmFtZSB9fVwiIC0tcmVnaW9uICR7c3RhY2suY2hhbmdlc2V0Um9sZVRvQXNzdW1lUmVnaW9ufWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplRm9yRmlsZU5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5hbWUucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCAnLScpLnJlcGxhY2UoL14tK3wtKyQvZywgJycpLnRvTG93ZXJDYXNlKCk7XG59XG5cbmV4cG9ydCBjb25zdCBNQVhfQ0ZfSURFTlRJRklFUl9MRU5HVEggPSAxMjg7XG5cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZUZvckNsb3VkRm9ybWF0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIENsb3VkRm9ybWF0aW9uIHN0YWNrL2NoYW5nZXNldCBuYW1lczogW2EtekEtWl1bLWEtekEtWjAtOV0qLCBtYXggMTI4IGNoYXJzXG4gIGxldCBzYW5pdGl6ZWQgPSBuYW1lLnJlcGxhY2UoL1teYS16QS1aMC05XSsvZywgJy0nKS5yZXBsYWNlKC9eLSt8LSskL2csICcnKTtcbiAgLy8gRW5zdXJlIGl0IHN0YXJ0cyB3aXRoIGEgbGV0dGVyXG4gIGlmICghc2FuaXRpemVkIHx8ICEvXlthLXpBLVpdLy50ZXN0KHNhbml0aXplZCkpIHtcbiAgICBzYW5pdGl6ZWQgPSBgY3MtJHtzYW5pdGl6ZWR9YDtcbiAgfVxuICAvLyBUcnVuY2F0ZSBmcm9tIHRoZSBiZWdpbm5pbmcgdG8ga2VlcCB0aGUgc3RhY2sgbmFtZSAoZW5kKSBpbnRhY3RcbiAgaWYgKHNhbml0aXplZC5sZW5ndGggPiBNQVhfQ0ZfSURFTlRJRklFUl9MRU5HVEgpIHtcbiAgICBzYW5pdGl6ZWQgPSBzYW5pdGl6ZWQuc2xpY2UoLU1BWF9DRl9JREVOVElGSUVSX0xFTkdUSCkucmVwbGFjZSgvXi0rLywgJycpO1xuICAgIC8vIFJlLWNoZWNrIHN0YXJ0cyB3aXRoIGEgbGV0dGVyIGFmdGVyIHRydW5jYXRpb25cbiAgICBpZiAoIS9eW2EtekEtWl0vLnRlc3Qoc2FuaXRpemVkKSkge1xuICAgICAgc2FuaXRpemVkID0gYGNzLSR7c2FuaXRpemVkLnNsaWNlKDAsIE1BWF9DRl9JREVOVElGSUVSX0xFTkdUSCAtIDMpfWA7XG4gICAgfVxuICB9XG4gIHJldHVybiBzYW5pdGl6ZWQ7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkV29ya2Zsb3dOYW1lKHByZWZpeDogc3RyaW5nLCBzYW5pdGl6ZWROYW1lOiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyID0gTUFYX1dPUktGTE9XX0ZJTEVOQU1FX0xFTkdUSCk6IHN0cmluZyB7XG4gIGNvbnN0IGV4dCA9ICcueW1sJztcbiAgY29uc3QgZnVsbCA9IGAke3ByZWZpeH0ke3Nhbml0aXplZE5hbWV9JHtleHR9YDtcbiAgaWYgKGZ1bGwubGVuZ3RoIDw9IG1heExlbmd0aCkge1xuICAgIHJldHVybiBgJHtwcmVmaXh9JHtzYW5pdGl6ZWROYW1lfWA7XG4gIH1cbiAgY29uc3QgYXZhaWxhYmxlID0gbWF4TGVuZ3RoIC0gcHJlZml4Lmxlbmd0aCAtIGV4dC5sZW5ndGg7XG4gIGlmIChhdmFpbGFibGUgPD0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgV29ya2Zsb3cgcHJlZml4IGFuZCBleHRlbnNpb24gZXhjZWVkIG1heGltdW0gZmlsZW5hbWUgbGVuZ3RoIG9mICR7bWF4TGVuZ3RofWApO1xuICB9XG4gIC8vIFRydW5jYXRlIGZyb20gdGhlIGJlZ2lubmluZyB0byBrZWVwIHRoZSBzdGFjayBuYW1lIChlbmQpIGludGFjdFxuICByZXR1cm4gYCR7cHJlZml4fSR7c2FuaXRpemVkTmFtZS5zbGljZSgtYXZhaWxhYmxlKS5yZXBsYWNlKC9eLSsvLCAnJyl9YDtcbn1cbiJdfQ==
@@ -193,7 +193,7 @@ class CdkDriftDetectionWorkflow {
193
193
  }
194
194
  exports.CdkDriftDetectionWorkflow = CdkDriftDetectionWorkflow;
195
195
  _a = JSII_RTTI_SYMBOL_1;
196
- CdkDriftDetectionWorkflow[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflow", version: "1.3.11" };
196
+ CdkDriftDetectionWorkflow[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflow", version: "1.3.12" };
197
197
  CdkDriftDetectionWorkflow.scriptCreated = false;
198
198
  function issueScript(stack, region, resultsFile) {
199
199
  // Construct a plain JS script string (no template string nesting mishaps)
@@ -79,7 +79,7 @@ class CdkDriftIamTemplateGenerator {
79
79
  }
80
80
  exports.CdkDriftIamTemplateGenerator = CdkDriftIamTemplateGenerator;
81
81
  _a = JSII_RTTI_SYMBOL_1;
82
- CdkDriftIamTemplateGenerator[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator", version: "1.3.11" };
82
+ CdkDriftIamTemplateGenerator[_a] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator", version: "1.3.12" };
83
83
  /**
84
84
  * Projen construct that emits a CloudFormation template with minimal IAM permissions
85
85
  * for the CDK Drift Detection Workflow.
@@ -102,5 +102,5 @@ class CdkDriftIamTemplate {
102
102
  }
103
103
  exports.CdkDriftIamTemplate = CdkDriftIamTemplate;
104
104
  _b = JSII_RTTI_SYMBOL_1;
105
- CdkDriftIamTemplate[_b] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplate", version: "1.3.11" };
105
+ CdkDriftIamTemplate[_b] = { fqn: "@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplate", version: "1.3.12" };
106
106
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrRHJpZnRJYW1UZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9DZGtEcmlmdElhbVRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQWtDO0FBY2xDOzs7R0FHRztBQUNILE1BQWEsNEJBQTRCO0lBQ3ZDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQXdDO1FBQzlELE1BQU0sS0FBSyxHQUFHO1lBQ1osd0NBQXdDO1lBQ3hDLDBEQUEwRDtZQUMxRCxFQUFFO1lBQ0YsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixrQkFBa0I7WUFDbEIseUZBQXlGO1lBQ3pGLGlCQUFpQixLQUFLLENBQUMsV0FBVyxHQUFHO1lBQ3JDLEVBQUU7WUFDRixZQUFZO1lBQ1osOEZBQThGO1lBQzlGLGlCQUFpQjtZQUNqQiwwQkFBMEI7WUFDMUIsaUJBQWlCO1lBQ2pCLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxRQUFRLEdBQUcsR0FBRztZQUMxQyxpQ0FBaUM7WUFDakMsK0JBQStCO1lBQy9CLG9CQUFvQjtZQUNwQiwyQkFBMkI7WUFDM0Isd0JBQXdCO1lBQ3hCLDJDQUEyQztZQUMzQyxvQ0FBb0M7WUFDcEMsd0JBQXdCO1lBQ3hCLDZCQUE2QjtZQUM3Qix3Q0FBd0MsR0FBRyxLQUFLLENBQUMsVUFBVSxHQUFHLEdBQUc7WUFDakUsaUJBQWlCO1lBQ2pCLGlEQUFpRDtZQUNqRCwyQkFBMkI7WUFDM0IsbUNBQW1DO1lBQ25DLHdCQUF3QjtZQUN4QiwyREFBMkQ7WUFDM0QsK0JBQStCO1lBQy9CLHlCQUF5QjtZQUN6QixxREFBcUQ7WUFDckQsc0VBQXNFO1lBQ3RFLGdFQUFnRTtZQUNoRSxtREFBbUQ7WUFDbkQsdURBQXVEO1lBQ3ZELDZEQUE2RDtZQUM3RCwrQkFBK0I7WUFDL0IsRUFBRTtZQUNGLFVBQVU7WUFDVixvQkFBb0I7WUFDcEIsd0RBQXdEO1lBQ3hELHFDQUFxQztZQUNyQyxhQUFhO1lBQ2Isc0RBQXNEO1lBQ3RELEVBQUU7WUFDRixxQkFBcUI7WUFDckIseURBQXlEO1lBQ3pELDhCQUE4QjtZQUM5QixhQUFhO1lBQ2IsdURBQXVEO1NBQ3hELENBQUM7UUFFRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLGVBQXVCLHNDQUFzQztRQUN4RixPQUFPLDZDQUE2QyxZQUFZLCtFQUErRSxDQUFDO0lBQ2xKLENBQUM7O0FBckVILG9FQXNFQzs7O0FBWUQ7Ozs7O0dBS0c7QUFDSCxNQUFhLG1CQUFtQjtJQUM5QixZQUFZLEtBQStCO1FBQ3pDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksc0NBQXNDLENBQUM7UUFFOUUsd0NBQXdDO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLElBQUksaUJBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6RSxrQkFBa0I7UUFDbEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsOEJBQThCLEVBQUU7WUFDcEQsV0FBVyxFQUNULHVJQUF1STtZQUN6SSxXQUFXLEVBQUUsSUFBSTtZQUNqQixJQUFJLEVBQUUsNEJBQTRCLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1NBQ3JFLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBZkgsa0RBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuXG4vKipcbiAqIFByb3BzIGZvciBnZW5lcmF0aW5nIENESyBEcmlmdCBJQU0gdGVtcGxhdGVzIChubyBQcm9qZW4gZGVwZW5kZW5jeSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtEcmlmdElhbVRlbXBsYXRlR2VuZXJhdG9yUHJvcHMge1xuICAvKiogTmFtZSBmb3IgdGhlIElBTSByb2xlICovXG4gIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmc7XG4gIC8qKiBBUk4gb2YgdGhlIGV4aXN0aW5nIEdpdEh1YiBPSURDIHJvbGUgdGhhdCBjYW4gYXNzdW1lIHRoaXMgZHJpZnQgcm9sZSAqL1xuICByZWFkb25seSBvaWRjUm9sZUFybjogc3RyaW5nO1xuICAvKiogUmVnaW9uIGZvciB0aGUgT0lEQyB0cnVzdCBjb25kaXRpb24gKi9cbiAgcmVhZG9ubHkgb2lkY1JlZ2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFB1cmUgZ2VuZXJhdG9yIGNsYXNzIGZvciBDREsgRHJpZnQgSUFNIHRlbXBsYXRlcy5cbiAqIE5vIFByb2plbiBkZXBlbmRlbmN5IC0gY2FuIGJlIHVzZWQgaW4gYW55IHByb2plY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtEcmlmdElhbVRlbXBsYXRlR2VuZXJhdG9yIHtcbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRoZSBDbG91ZEZvcm1hdGlvbiBJQU0gdGVtcGxhdGUgYXMgYSBZQU1MIHN0cmluZy5cbiAgICovXG4gIHN0YXRpYyBnZW5lcmF0ZVRlbXBsYXRlKHByb3BzOiBDZGtEcmlmdElhbVRlbXBsYXRlR2VuZXJhdG9yUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxpbmVzID0gW1xuICAgICAgXCJBV1NUZW1wbGF0ZUZvcm1hdFZlcnNpb246ICcyMDEwLTA5LTA5J1wiLFxuICAgICAgXCJEZXNjcmlwdGlvbjogJ0lBTSByb2xlIGZvciBDREsgRHJpZnQgRGV0ZWN0aW9uIFdvcmtmbG93J1wiLFxuICAgICAgJycsXG4gICAgICAnUGFyYW1ldGVyczonLFxuICAgICAgJyAgR2l0SHViT0lEQ1JvbGVBcm46JyxcbiAgICAgICcgICAgVHlwZTogU3RyaW5nJyxcbiAgICAgIFwiICAgIERlc2NyaXB0aW9uOiAnQVJOIG9mIHRoZSBleGlzdGluZyBHaXRIdWIgT0lEQyByb2xlIHRoYXQgY2FuIGFzc3VtZSB0aGlzIGRyaWZ0IHJvbGUnXCIsXG4gICAgICBgICAgIERlZmF1bHQ6ICcke3Byb3BzLm9pZGNSb2xlQXJufSdgLFxuICAgICAgJycsXG4gICAgICAnUmVzb3VyY2VzOicsXG4gICAgICAnICAjIENsb3VkRm9ybWF0aW9uIERyaWZ0IERldGVjdGlvbiBSb2xlIC0gbWluaW1hbCBwZXJtaXNzaW9ucyBmb3IgZHJpZnQgZGV0ZWN0aW9uIG9wZXJhdGlvbnMnLFxuICAgICAgJyAgQ2RrRHJpZnRSb2xlOicsXG4gICAgICAnICAgIFR5cGU6IEFXUzo6SUFNOjpSb2xlJyxcbiAgICAgICcgICAgUHJvcGVydGllczonLFxuICAgICAgXCIgICAgICBSb2xlTmFtZTogJ1wiICsgcHJvcHMucm9sZU5hbWUgKyBcIidcIixcbiAgICAgICcgICAgICBBc3N1bWVSb2xlUG9saWN5RG9jdW1lbnQ6JyxcbiAgICAgIFwiICAgICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNydcIixcbiAgICAgICcgICAgICAgIFN0YXRlbWVudDonLFxuICAgICAgJyAgICAgICAgICAtIEVmZmVjdDogQWxsb3cnLFxuICAgICAgJyAgICAgICAgICAgIFByaW5jaXBhbDonLFxuICAgICAgJyAgICAgICAgICAgICAgQVdTOiAhUmVmIEdpdEh1Yk9JRENSb2xlQXJuJyxcbiAgICAgICcgICAgICAgICAgICBBY3Rpb246IHN0czpBc3N1bWVSb2xlJyxcbiAgICAgICcgICAgICAgICAgICBDb25kaXRpb246JyxcbiAgICAgICcgICAgICAgICAgICAgIFN0cmluZ0VxdWFsczonLFxuICAgICAgXCIgICAgICAgICAgICAgICAgYXdzOlJlcXVlc3RlZFJlZ2lvbjogJ1wiICsgcHJvcHMub2lkY1JlZ2lvbiArIFwiJ1wiLFxuICAgICAgJyAgICAgIFBvbGljaWVzOicsXG4gICAgICAnICAgICAgICAtIFBvbGljeU5hbWU6IENsb3VkRm9ybWF0aW9uRHJpZnRBY2Nlc3MnLFxuICAgICAgJyAgICAgICAgICBQb2xpY3lEb2N1bWVudDonLFxuICAgICAgXCIgICAgICAgICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNydcIixcbiAgICAgICcgICAgICAgICAgICBTdGF0ZW1lbnQ6JyxcbiAgICAgICcgICAgICAgICAgICAgICMgQ2xvdWRGb3JtYXRpb24gZHJpZnQgZGV0ZWN0aW9uIG9wZXJhdGlvbnMnLFxuICAgICAgJyAgICAgICAgICAgICAgLSBFZmZlY3Q6IEFsbG93JyxcbiAgICAgICcgICAgICAgICAgICAgICAgQWN0aW9uOicsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXRlY3RTdGFja0RyaWZ0JyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tEcmlmdERldGVjdGlvblN0YXR1cycsXG4gICAgICAnICAgICAgICAgICAgICAgICAgLSBjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrUmVzb3VyY2VEcmlmdHMnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246RGVzY3JpYmVTdGFja3MnLFxuICAgICAgJyAgICAgICAgICAgICAgICAgIC0gY2xvdWRmb3JtYXRpb246TGlzdFN0YWNrUmVzb3VyY2VzJyxcbiAgICAgICcgICAgICAgICAgICAgICAgICAtIGNsb3VkZm9ybWF0aW9uOkRldGVjdFN0YWNrUmVzb3VyY2VEcmlmdCcsXG4gICAgICBcIiAgICAgICAgICAgICAgICBSZXNvdXJjZTogJyonXCIsXG4gICAgICAnJyxcbiAgICAgICdPdXRwdXRzOicsXG4gICAgICAnICBDZGtEcmlmdFJvbGVBcm46JyxcbiAgICAgIFwiICAgIERlc2NyaXB0aW9uOiAnQVJOIG9mIHRoZSBDREsgZHJpZnQgZGV0ZWN0aW9uIHJvbGUnXCIsXG4gICAgICAnICAgIFZhbHVlOiAhR2V0QXR0IENka0RyaWZ0Um9sZS5Bcm4nLFxuICAgICAgJyAgICBFeHBvcnQ6JyxcbiAgICAgIFwiICAgICAgTmFtZTogIVN1YiAnJHtBV1M6OlN0YWNrTmFtZX0tQ2RrRHJpZnRSb2xlQXJuJ1wiLFxuICAgICAgJycsXG4gICAgICAnICBDZGtEcmlmdFJvbGVOYW1lOicsXG4gICAgICBcIiAgICBEZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIENESyBkcmlmdCBkZXRlY3Rpb24gcm9sZSdcIixcbiAgICAgICcgICAgVmFsdWU6ICFSZWYgQ2RrRHJpZnRSb2xlJyxcbiAgICAgICcgICAgRXhwb3J0OicsXG4gICAgICBcIiAgICAgIE5hbWU6ICFTdWIgJyR7QVdTOjpTdGFja05hbWV9LUNka0RyaWZ0Um9sZU5hbWUnXCIsXG4gICAgXTtcblxuICAgIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0aGUgQVdTIENMSSBkZXBsb3kgY29tbWFuZCBmb3IgdGhlIElBTSB0ZW1wbGF0ZS5cbiAgICovXG4gIHN0YXRpYyBnZW5lcmF0ZURlcGxveUNvbW1hbmQodGVtcGxhdGVQYXRoOiBzdHJpbmcgPSAnY2RrLWRyaWZ0LXdvcmtmbG93LWlhbS10ZW1wbGF0ZS55YW1sJyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBhd3MgY2xvdWRmb3JtYXRpb24gZGVwbG95IC0tdGVtcGxhdGUtZmlsZSAke3RlbXBsYXRlUGF0aH0gLS1zdGFjay1uYW1lIGNkay1kcmlmdC13b3JrZmxvdy1pYW0tcm9sZSAtLWNhcGFiaWxpdGllcyBDQVBBQklMSVRZX05BTUVEX0lBTWA7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIFByb2plbi1pbnRlZ3JhdGVkIENESyBEcmlmdCBJQU0gdGVtcGxhdGUgY29uc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrRHJpZnRJYW1UZW1wbGF0ZVByb3BzIGV4dGVuZHMgQ2RrRHJpZnRJYW1UZW1wbGF0ZUdlbmVyYXRvclByb3BzIHtcbiAgLyoqIFByb2plbiBwcm9qZWN0IGluc3RhbmNlICovXG4gIHJlYWRvbmx5IHByb2plY3Q6IGFueTtcbiAgLyoqIE91dHB1dCBwYXRoIGZvciB0aGUgdGVtcGxhdGUgZmlsZSAoZGVmYXVsdDogJ2Nkay1kcmlmdC13b3JrZmxvdy1pYW0tdGVtcGxhdGUueWFtbCcpICovXG4gIHJlYWRvbmx5IG91dHB1dFBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvamVuIGNvbnN0cnVjdCB0aGF0IGVtaXRzIGEgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgd2l0aCBtaW5pbWFsIElBTSBwZXJtaXNzaW9uc1xuICogZm9yIHRoZSBDREsgRHJpZnQgRGV0ZWN0aW9uIFdvcmtmbG93LlxuICpcbiAqIEZvciBub24tUHJvamVuIHByb2plY3RzLCB1c2UgYENka0RyaWZ0SWFtVGVtcGxhdGVHZW5lcmF0b3JgIGRpcmVjdGx5LlxuICovXG5leHBvcnQgY2xhc3MgQ2RrRHJpZnRJYW1UZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDZGtEcmlmdElhbVRlbXBsYXRlUHJvcHMpIHtcbiAgICBjb25zdCBvdXRwdXRQYXRoID0gcHJvcHMub3V0cHV0UGF0aCA/PyAnY2RrLWRyaWZ0LXdvcmtmbG93LWlhbS10ZW1wbGF0ZS55YW1sJztcblxuICAgIC8vIEdlbmVyYXRlIHRlbXBsYXRlIHVzaW5nIHRoZSBnZW5lcmF0b3JcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IENka0RyaWZ0SWFtVGVtcGxhdGVHZW5lcmF0b3IuZ2VuZXJhdGVUZW1wbGF0ZShwcm9wcyk7XG4gICAgbmV3IFRleHRGaWxlKHByb3BzLnByb2plY3QsIG91dHB1dFBhdGgsIHsgbGluZXM6IHRlbXBsYXRlLnNwbGl0KCdcXG4nKSB9KTtcblxuICAgIC8vIEFkZCBkZXBsb3kgdGFza1xuICAgIHByb3BzLnByb2plY3QuYWRkVGFzaygnZGVwbG95LWNka2RyaWZ0LWlhbS10ZW1wbGF0ZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnRGVwbG95IHRoZSBDREsgRHJpZnQgRGV0ZWN0aW9uIElBTSB0ZW1wbGF0ZSB2aWEgQ2xvdWRGb3JtYXRpb24gKGFjY2VwdHMgZXh0cmEgQVdTIENMSSBhcmdzLCBlLmcuLCAtLXBhcmFtZXRlci1vdmVycmlkZXMgS2V5PVZhbHVlLi4uKScsXG4gICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICAgIGV4ZWM6IENka0RyaWZ0SWFtVGVtcGxhdGVHZW5lcmF0b3IuZ2VuZXJhdGVEZXBsb3lDb21tYW5kKG91dHB1dFBhdGgpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -108,7 +108,7 @@
108
108
  "publishConfig": {
109
109
  "access": "public"
110
110
  },
111
- "version": "1.3.11",
111
+ "version": "1.3.12",
112
112
  "jest": {
113
113
  "coverageProvider": "v8",
114
114
  "testMatch": [