@aws-cdk/service-spec-types 0.0.235 → 0.0.237

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/.yarnrc.yml ADDED
@@ -0,0 +1,3 @@
1
+ # ~~ Generated by projen. To modify, edit .projenrc.js and run "yarn projen".
2
+
3
+ {}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RichSpecDatabase = exports.loadDatabase = exports.emptyDatabase = void 0;
3
+ exports.RichSpecDatabase = void 0;
4
+ exports.emptyDatabase = emptyDatabase;
5
+ exports.loadDatabase = loadDatabase;
4
6
  const fs_1 = require("fs");
5
7
  const zlib_1 = require("zlib");
6
8
  const tskb_1 = require("@cdklabs/tskb");
@@ -46,7 +48,6 @@ function emptyDatabase() {
46
48
  eventUsesType: r.relationship('event', 'eventTypeDefinition'),
47
49
  }));
48
50
  }
49
- exports.emptyDatabase = emptyDatabase;
50
51
  async function loadDatabase(pathToDb) {
51
52
  const db = emptyDatabase();
52
53
  const contents = await fs_1.promises.readFile(pathToDb);
@@ -54,7 +55,6 @@ async function loadDatabase(pathToDb) {
54
55
  db.load(JSON.parse(json));
55
56
  return db;
56
57
  }
57
- exports.loadDatabase = loadDatabase;
58
58
  /**
59
59
  * Helpers for working with a SpecDatabase
60
60
  */
@@ -87,4 +87,4 @@ class RichSpecDatabase {
87
87
  }
88
88
  }
89
89
  exports.RichSpecDatabase = RichSpecDatabase;
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkJBQW9DO0FBQ3BDLCtCQUFrQztBQUNsQyx3Q0FBa0Y7QUF3QmxGLFNBQWdCLGFBQWE7SUFDM0IsT0FBTyxJQUFJLGVBQVEsQ0FDakI7UUFDRSxRQUFRLEVBQUUsSUFBQSx1QkFBZ0IsR0FBWSxDQUFDLEtBQUssQ0FBQztZQUMzQyxrQkFBa0IsRUFBRSxJQUFBLGlCQUFVLEVBQUMsb0JBQW9CLEVBQUUsZ0JBQVMsQ0FBQztTQUNoRSxDQUFDO1FBQ0YsTUFBTSxFQUFFLElBQUEsdUJBQWdCLEdBQVUsQ0FBQyxLQUFLLENBQUM7WUFDdkMsSUFBSSxFQUFFLElBQUEsaUJBQVUsRUFBQyxNQUFNLEVBQUUsZ0JBQVMsQ0FBQztTQUNwQyxDQUFDO1FBQ0YsT0FBTyxFQUFFLElBQUEsdUJBQWdCLEdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDekMsSUFBSSxFQUFFLElBQUEsaUJBQVUsRUFBQyxNQUFNLEVBQUUsZ0JBQVMsQ0FBQztZQUNuQyx1QkFBdUIsRUFBRSxJQUFBLGlCQUFVLEVBQUMseUJBQXlCLEVBQUUsZ0JBQVMsQ0FBQztTQUMxRSxDQUFDO1FBQ0YsbUJBQW1CLEVBQUUsSUFBQSx1QkFBZ0IsR0FBdUI7UUFDNUQsY0FBYyxFQUFFLElBQUEsdUJBQWdCLEdBQWtCO1FBQ2xELGFBQWEsRUFBRSxJQUFBLHVCQUFnQixHQUF3QjtRQUN2RCxNQUFNLEVBQUUsSUFBQSx1QkFBZ0IsR0FBVSxDQUFDLEtBQUssQ0FBQztZQUN2QyxJQUFJLEVBQUUsSUFBQSxpQkFBVSxFQUFDLE1BQU0sRUFBRSxnQkFBUyxDQUFDO1lBQ25DLFNBQVMsRUFBRSxJQUFBLGlCQUFVLEVBQUMsV0FBVyxFQUFFLGdCQUFTLENBQUM7WUFDN0MsUUFBUSxFQUFFLElBQUEsaUJBQVUsRUFBQyxVQUFVLEVBQUUsZ0JBQVMs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QixPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO1FBQ0QsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCLENBQUMsT0FBZTtRQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVGLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxJQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDOUYsQ0FBQztDQUNGO0FBNUJELDRDQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgZ3VuemlwU3luYyB9IGZyb20gJ3psaWInO1xuaW1wb3J0IHsgRGF0YWJhc2UsIGVudGl0eUNvbGxlY3Rpb24sIGZpZWxkSW5kZXgsIHN0cmluZ0NtcCB9IGZyb20gJ0BjZGtsYWJzL3Rza2InO1xuaW1wb3J0IHsgSXNBdWdtZW50ZWRSZXNvdXJjZSwgUmVzb3VyY2VBdWdtZW50YXRpb24gfSBmcm9tICcuL2F1Z21lbnRhdGlvbnMnO1xuaW1wb3J0IHsgUmVzb3VyY2VIYXNFdmVudCwgRXZlbnQsIEV2ZW50VXNlc1R5cGUsIEV2ZW50VHlwZURlZmluaXRpb24sIHNlcnZpY2VIYXNFdmVudCB9IGZyb20gJy4vZXZlbnQnO1xuaW1wb3J0IHtcbiAgRGltZW5zaW9uU2V0LFxuICBNZXRyaWMsXG4gIFJlc291cmNlSGFzRGltZW5zaW9uU2V0LFxuICBTZXJ2aWNlSGFzRGltZW5zaW9uU2V0LFxuICBVc2VzRGltZW5zaW9uU2V0LFxuICBSZXNvdXJjZUhhc01ldHJpYyxcbiAgU2VydmljZUhhc01ldHJpYyxcbn0gZnJvbSAnLi9tZXRyaWNzJztcbmltcG9ydCB7XG4gIFJlc291cmNlLFxuICBTZXJ2aWNlLFxuICBUeXBlRGVmaW5pdGlvbixcbiAgUHJvcGVydHlUeXBlLFxuICBSZWdpb24sXG4gIEhhc1Jlc291cmNlLFxuICBSZWdpb25IYXNSZXNvdXJjZSxcbiAgUmVnaW9uSGFzU2VydmljZSxcbiAgVXNlc1R5cGUsXG59IGZyb20gJy4vcmVzb3VyY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW1wdHlEYXRhYmFzZSgpIHtcbiAgcmV0dXJuIG5ldyBEYXRhYmFzZShcbiAgICB7XG4gICAgICByZXNvdXJjZTogZW50aXR5Q29sbGVjdGlvbjxSZXNvdXJjZT4oKS5pbmRleCh7XG4gICAgICAgIGNsb3VkRm9ybWF0aW9uVHlwZTogZmllbGRJbmRleCgnY2xvdWRGb3JtYXRpb25UeXBlJywgc3RyaW5nQ21wKSxcbiAgICAgIH0pLFxuICAgICAgcmVnaW9uOiBlbnRpdHlDb2xsZWN0aW9uPFJlZ2lvbj4oKS5pbmRleCh7XG4gICAgICAgIG5hbWU6IGZpZWxkSW5kZXgoJ25hbWUnLCBzdHJpbmdDbXApLFxuICAgICAgfSksXG4gICAgICBzZXJ2aWNlOiBlbnRpdHlDb2xsZWN0aW9uPFNlcnZpY2U+KCkuaW5kZXgoe1xuICAgICAgICBuYW1lOiBmaWVsZEluZGV4KCduYW1lJywgc3RyaW5nQ21wKSxcbiAgICAgICAgY2xvdWRGb3JtYXRpb25OYW1lc3BhY2U6IGZpZWxkSW5kZXgoJ2Nsb3VkRm9ybWF0aW9uTmFtZXNwYWNlJywgc3RyaW5nQ21wKSxcbiAgICAgIH0pLFxuICAgICAgZXZlbnRUeXBlRGVmaW5pdGlvbjogZW50aXR5Q29sbGVjdGlvbjxFdmVudFR5cGVEZWZpbml0aW9uPigpLFxuICAgICAgdHlwZURlZmluaXRpb246IGVudGl0eUNvbGxlY3Rpb248VHlwZURlZmluaXRpb24+KCksXG4gICAgICBhdWdtZW50YXRpb25zOiBlbnRpdHlDb2xsZWN0aW9uPFJlc291cmNlQXVnbWVudGF0aW9uPigpLFxuICAgICAgbWV0cmljOiBlbnRpdHlDb2xsZWN0aW9uPE1ldHJpYz4oKS5pbmRleCh7XG4gICAgICAgIG5hbWU6IGZpZWxkSW5kZXgoJ25hbWUnLCBzdHJpbmdDbXApLFxuICAgICAgICBuYW1lc3BhY2U6IGZpZWxkSW5kZXgoJ25hbWVzcGFjZScsIHN0cmluZ0NtcCksXG4gICAgICAgIGRlZHVwS2V5OiBmaWVsZEluZGV4KCdkZWR1cEtleScsIHN0cmluZ0NtcCksXG4gICAgICB9KSxcbiAgICAgIGRpbWVuc2lvblNldDogZW50aXR5Q29sbGVjdGlvbjxEaW1lbnNpb25TZXQ+KCkuaW5kZXgoe1xuICAgICAgICBkZWR1cEtleTogZmllbGRJbmRleCgnZGVkdXBLZXknLCBzdHJpbmdDbXApLFxuICAgICAgfSksXG4gICAgICBldmVudDogZW50aXR5Q29sbGVjdGlvbjxFdmVudD4oKS5pbmRleCh7XG4gICAgICAgIG5hbWU6IGZpZWxkSW5kZXgoJ25hbWUnLCBzdHJpbmdDbXApLFxuICAgICAgfSksXG4gICAgfSxcbiAgICAocikgPT4gKHtcbiAgICAgIGhhc1Jlc291cmNlOiByLnJlbGF0aW9uc2hpcDxIYXNSZXNvdXJjZT4oJ3NlcnZpY2UnLCAncmVzb3VyY2UnKSxcbiAgICAgIHJlZ2lvbkhhc1Jlc291cmNlOiByLnJlbGF0aW9uc2hpcDxSZWdpb25IYXNSZXNvdXJjZT4oJ3JlZ2lvbicsICdyZXNvdXJjZScpLFxuICAgICAgcmVnaW9uSGFzU2VydmljZTogci5yZWxhdGlvbnNoaXA8UmVnaW9uSGFzU2VydmljZT4oJ3JlZ2lvbicsICdzZXJ2aWNlJyksXG4gICAgICB1c2VzVHlwZTogci5yZWxhdGlvbnNoaXA8VXNlc1R5cGU+KCdyZXNvdXJjZScsICd0eXBlRGVmaW5pdGlvbicpLFxuICAgICAgaXNBdWdtZW50ZWQ6IHIucmVsYXRpb25zaGlwPElzQXVnbWVudGVkUmVzb3VyY2U+KCdyZXNvdXJjZScsICdhdWdtZW50YXRpb25zJyksXG4gICAgICB1c2VzRGltZW5zaW9uU2V0OiByLnJlbGF0aW9uc2hpcDxVc2VzRGltZW5zaW9uU2V0PignbWV0cmljJywgJ2RpbWVuc2lvblNldCcpLFxuICAgICAgcmVzb3VyY2VIYXNNZXRyaWM6IHIucmVsYXRpb25zaGlwPFJlc291cmNlSGFzTWV0cmljPigncmVzb3VyY2UnLCAnbWV0cmljJyksXG4gICAgICBzZXJ2aWNlSGFzTWV0cmljOiByLnJlbGF0aW9uc2hpcDxTZXJ2aWNlSGFzTWV0cmljPignc2VydmljZScsICdtZXRyaWMnKSxcbiAgICAgIHJlc291cmNlSGFzRGltZW5zaW9uU2V0OiByLnJlbGF0aW9uc2hpcDxSZXNvdXJjZUhhc0RpbWVuc2lvblNldD4oJ3Jlc291cmNlJywgJ2RpbWVuc2lvblNldCcpLFxuICAgICAgc2VydmljZUhhc0RpbWVuc2lvblNldDogci5yZWxhdGlvbnNoaXA8U2VydmljZUhhc0RpbWVuc2lvblNldD4oJ3NlcnZpY2UnLCAnZGltZW5zaW9uU2V0JyksXG4gICAgICByZXNvdXJjZUhhc0V2ZW50OiByLnJlbGF0aW9uc2hpcDxSZXNvdXJjZUhhc0V2ZW50PigncmVzb3VyY2UnLCAnZXZlbnQnKSxcbiAgICAgIHNlcnZpY2VIYXNFdmVudDogci5yZWxhdGlvbnNoaXA8c2VydmljZUhhc0V2ZW50Pignc2VydmljZScsICdldmVudCcpLFxuICAgICAgZXZlbnRVc2VzVHlwZTogci5yZWxhdGlvbnNoaXA8RXZlbnRVc2VzVHlwZT4oJ2V2ZW50JywgJ2V2ZW50VHlwZURlZmluaXRpb24nKSxcbiAgICB9KSxcbiAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWREYXRhYmFzZShwYXRoVG9EYjogc3RyaW5nKSB7XG4gIGNvbnN0IGRiID0gZW1wdHlEYXRhYmFzZSgpO1xuICBjb25zdCBjb250ZW50cyA9IGF3YWl0IGZzLnJlYWRGaWxlKHBhdGhUb0RiKTtcbiAgY29uc3QganNvbiA9IHBhdGhUb0RiLmVuZHNXaXRoKCcuZ3onKSA/IGd1bnppcFN5bmMoY29udGVudHMpLnRvU3RyaW5nKCd1dGYtOCcpIDogY29udGVudHMudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gIGRiLmxvYWQoSlNPTi5wYXJzZShqc29uKSk7XG4gIHJldHVybiBkYjtcbn1cblxuZXhwb3J0IHR5cGUgU3BlY0RhdGFiYXNlID0gUmV0dXJuVHlwZTx0eXBlb2YgZW1wdHlEYXRhYmFzZT47XG5cbi8qKlxuICogSGVscGVycyBmb3Igd29ya2luZyB3aXRoIGEgU3BlY0RhdGFiYXNlXG4gKi9cbmV4cG9ydCBjbGFzcyBSaWNoU3BlY0RhdGFiYXNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkYjogU3BlY0RhdGFiYXNlKSB7fVxuXG4gIC8qKlxuICAgKiBGaW5kIGFsbCByZXNvdXJjZXMgb2YgYSBnaXZlbiB0eXBlXG4gICAqL1xuICBwdWJsaWMgcmVzb3VyY2VCeVR5cGUoY2ZuVHlwZTogc3RyaW5nLCBvcGVyYXRpb24gPSAncmVzb3VyY2VCeVR5cGUnKTogUmVzb3VyY2Uge1xuICAgIGNvbnN0IHJlcyA9IHRoaXMuZGIubG9va3VwKCdyZXNvdXJjZScsICdjbG91ZEZvcm1hdGlvblR5cGUnLCAnZXF1YWxzJywgY2ZuVHlwZSk7XG4gICAgaWYgKHJlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtvcGVyYXRpb259OiBubyBzdWNoIHJlc291cmNlOiAke2NmblR5cGV9YCk7XG4gICAgfVxuICAgIHJldHVybiByZXNbMF07XG4gIH1cblxuICAvKipcbiAgICogQWxsIHR5cGUgZGVmaW5pdGlvbnMgdXNlZCBieSBhIGNlcnRhaW4gcmVzb3VyY2VcbiAgICovXG4gIHB1YmxpYyByZXNvdXJjZVR5cGVEZWZzKGNmblR5cGU6IHN0cmluZyk6IHJlYWRvbmx5IFR5cGVEZWZpbml0aW9uW10ge1xuICAgIGNvbnN0IHJlc291cmNlID0gdGhpcy5kYi5sb29rdXAoJ3Jlc291cmNlJywgJ2Nsb3VkRm9ybWF0aW9uVHlwZScsICdlcXVhbHMnLCBjZm5UeXBlKS5vbmx5KCk7XG4gICAgcmV0dXJuIHRoaXMuZGIuZm9sbG93KCd1c2VzVHlwZScsIHJlc291cmNlKS5tYXAoKHgpID0+IHguZW50aXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGEgdHlwZSBkZWZpbml0aW9uIGZyb20gYSBnaXZlbiBwcm9wZXJ0eSB0eXBlXG4gICAqL1xuICBwdWJsaWMgdHJ5RmluZERlZih0eXBlOiBQcm9wZXJ0eVR5cGUpOiBUeXBlRGVmaW5pdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHR5cGUudHlwZSA9PT0gJ3JlZicgPyB0aGlzLmRiLmdldCgndHlwZURlZmluaXRpb24nLCB0eXBlLnJlZmVyZW5jZS4kcmVmKSA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMEJBLHNDQTRDQztBQUVELG9DQU1DO0FBOUVELDJCQUFvQztBQUNwQywrQkFBa0M7QUFDbEMsd0NBQWtGO0FBd0JsRixTQUFnQixhQUFhO0lBQzNCLE9BQU8sSUFBSSxlQUFRLENBQ2pCO1FBQ0UsUUFBUSxFQUFFLElBQUEsdUJBQWdCLEdBQVksQ0FBQyxLQUFLLENBQUM7WUFDM0Msa0JBQWtCLEVBQUUsSUFBQSxpQkFBVSxFQUFDLG9CQUFvQixFQUFFLGdCQUFTLENBQUM7U0FDaEUsQ0FBQztRQUNGLE1BQU0sRUFBRSxJQUFBLHVCQUFnQixHQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3ZDLElBQUksRUFBRSxJQUFBLGlCQUFVLEVBQUMsTUFBTSxFQUFFLGdCQUFTLENBQUM7U0FDcEMsQ0FBQztRQUNGLE9BQU8sRUFBRSxJQUFBLHVCQUFnQixHQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3pDLElBQUksRUFBRSxJQUFBLGlCQUFVLEVBQUMsTUFBTSxFQUFFLGdCQUFTLENBQUM7WUFDbkMsdUJBQXVCLEVBQUUsSUFBQSxpQkFBVSxFQUFDLHlCQUF5QixFQUFFLGdCQUFTLENBQUM7U0FDMUUsQ0FBQztRQUNGLG1CQUFtQixFQUFFLElBQUEsdUJBQWdCLEdBQXVCO1FBQzVELGNBQWMsRUFBRSxJQUFBLHVCQUFnQixHQUFrQjtRQUNsRCxhQUFhLEVBQUUsSUFBQSx1QkFBZ0IsR0FBd0I7UUFDdkQsTUFBTSxFQUFFLElBQUEsdUJBQWdCLEdBQVUsQ0FBQyxLQUFLLENBQUM7WUFDdkMsSUFBSSxFQUFFLElBQUEsaUJBQVUsRUFBQyxNQUFNLEVBQUUsZ0JBQVMsQ0FBQztZQUNuQyxTQUFTLEVBQUUsSUFBQSxpQkFBVSxFQUFDLFdBQVcsRUFBRSxnQkFBUyxDQUFDO1lBQzdDLFFBQVEsRUFBRSxJQUFBLGlC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LHVCQUF1QixPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0IsQ0FBQyxPQUFlO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUYsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLElBQWtCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RixDQUFDO0NBQ0Y7QUE1QkQsNENBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBndW56aXBTeW5jIH0gZnJvbSAnemxpYic7XG5pbXBvcnQgeyBEYXRhYmFzZSwgZW50aXR5Q29sbGVjdGlvbiwgZmllbGRJbmRleCwgc3RyaW5nQ21wIH0gZnJvbSAnQGNka2xhYnMvdHNrYic7XG5pbXBvcnQgeyBJc0F1Z21lbnRlZFJlc291cmNlLCBSZXNvdXJjZUF1Z21lbnRhdGlvbiB9IGZyb20gJy4vYXVnbWVudGF0aW9ucyc7XG5pbXBvcnQgeyBSZXNvdXJjZUhhc0V2ZW50LCBFdmVudCwgRXZlbnRVc2VzVHlwZSwgRXZlbnRUeXBlRGVmaW5pdGlvbiwgc2VydmljZUhhc0V2ZW50IH0gZnJvbSAnLi9ldmVudCc7XG5pbXBvcnQge1xuICBEaW1lbnNpb25TZXQsXG4gIE1ldHJpYyxcbiAgUmVzb3VyY2VIYXNEaW1lbnNpb25TZXQsXG4gIFNlcnZpY2VIYXNEaW1lbnNpb25TZXQsXG4gIFVzZXNEaW1lbnNpb25TZXQsXG4gIFJlc291cmNlSGFzTWV0cmljLFxuICBTZXJ2aWNlSGFzTWV0cmljLFxufSBmcm9tICcuL21ldHJpY3MnO1xuaW1wb3J0IHtcbiAgUmVzb3VyY2UsXG4gIFNlcnZpY2UsXG4gIFR5cGVEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFJlZ2lvbixcbiAgSGFzUmVzb3VyY2UsXG4gIFJlZ2lvbkhhc1Jlc291cmNlLFxuICBSZWdpb25IYXNTZXJ2aWNlLFxuICBVc2VzVHlwZSxcbn0gZnJvbSAnLi9yZXNvdXJjZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbXB0eURhdGFiYXNlKCkge1xuICByZXR1cm4gbmV3IERhdGFiYXNlKFxuICAgIHtcbiAgICAgIHJlc291cmNlOiBlbnRpdHlDb2xsZWN0aW9uPFJlc291cmNlPigpLmluZGV4KHtcbiAgICAgICAgY2xvdWRGb3JtYXRpb25UeXBlOiBmaWVsZEluZGV4KCdjbG91ZEZvcm1hdGlvblR5cGUnLCBzdHJpbmdDbXApLFxuICAgICAgfSksXG4gICAgICByZWdpb246IGVudGl0eUNvbGxlY3Rpb248UmVnaW9uPigpLmluZGV4KHtcbiAgICAgICAgbmFtZTogZmllbGRJbmRleCgnbmFtZScsIHN0cmluZ0NtcCksXG4gICAgICB9KSxcbiAgICAgIHNlcnZpY2U6IGVudGl0eUNvbGxlY3Rpb248U2VydmljZT4oKS5pbmRleCh7XG4gICAgICAgIG5hbWU6IGZpZWxkSW5kZXgoJ25hbWUnLCBzdHJpbmdDbXApLFxuICAgICAgICBjbG91ZEZvcm1hdGlvbk5hbWVzcGFjZTogZmllbGRJbmRleCgnY2xvdWRGb3JtYXRpb25OYW1lc3BhY2UnLCBzdHJpbmdDbXApLFxuICAgICAgfSksXG4gICAgICBldmVudFR5cGVEZWZpbml0aW9uOiBlbnRpdHlDb2xsZWN0aW9uPEV2ZW50VHlwZURlZmluaXRpb24+KCksXG4gICAgICB0eXBlRGVmaW5pdGlvbjogZW50aXR5Q29sbGVjdGlvbjxUeXBlRGVmaW5pdGlvbj4oKSxcbiAgICAgIGF1Z21lbnRhdGlvbnM6IGVudGl0eUNvbGxlY3Rpb248UmVzb3VyY2VBdWdtZW50YXRpb24+KCksXG4gICAgICBtZXRyaWM6IGVudGl0eUNvbGxlY3Rpb248TWV0cmljPigpLmluZGV4KHtcbiAgICAgICAgbmFtZTogZmllbGRJbmRleCgnbmFtZScsIHN0cmluZ0NtcCksXG4gICAgICAgIG5hbWVzcGFjZTogZmllbGRJbmRleCgnbmFtZXNwYWNlJywgc3RyaW5nQ21wKSxcbiAgICAgICAgZGVkdXBLZXk6IGZpZWxkSW5kZXgoJ2RlZHVwS2V5Jywgc3RyaW5nQ21wKSxcbiAgICAgIH0pLFxuICAgICAgZGltZW5zaW9uU2V0OiBlbnRpdHlDb2xsZWN0aW9uPERpbWVuc2lvblNldD4oKS5pbmRleCh7XG4gICAgICAgIGRlZHVwS2V5OiBmaWVsZEluZGV4KCdkZWR1cEtleScsIHN0cmluZ0NtcCksXG4gICAgICB9KSxcbiAgICAgIGV2ZW50OiBlbnRpdHlDb2xsZWN0aW9uPEV2ZW50PigpLmluZGV4KHtcbiAgICAgICAgbmFtZTogZmllbGRJbmRleCgnbmFtZScsIHN0cmluZ0NtcCksXG4gICAgICB9KSxcbiAgICB9LFxuICAgIChyKSA9PiAoe1xuICAgICAgaGFzUmVzb3VyY2U6IHIucmVsYXRpb25zaGlwPEhhc1Jlc291cmNlPignc2VydmljZScsICdyZXNvdXJjZScpLFxuICAgICAgcmVnaW9uSGFzUmVzb3VyY2U6IHIucmVsYXRpb25zaGlwPFJlZ2lvbkhhc1Jlc291cmNlPigncmVnaW9uJywgJ3Jlc291cmNlJyksXG4gICAgICByZWdpb25IYXNTZXJ2aWNlOiByLnJlbGF0aW9uc2hpcDxSZWdpb25IYXNTZXJ2aWNlPigncmVnaW9uJywgJ3NlcnZpY2UnKSxcbiAgICAgIHVzZXNUeXBlOiByLnJlbGF0aW9uc2hpcDxVc2VzVHlwZT4oJ3Jlc291cmNlJywgJ3R5cGVEZWZpbml0aW9uJyksXG4gICAgICBpc0F1Z21lbnRlZDogci5yZWxhdGlvbnNoaXA8SXNBdWdtZW50ZWRSZXNvdXJjZT4oJ3Jlc291cmNlJywgJ2F1Z21lbnRhdGlvbnMnKSxcbiAgICAgIHVzZXNEaW1lbnNpb25TZXQ6IHIucmVsYXRpb25zaGlwPFVzZXNEaW1lbnNpb25TZXQ+KCdtZXRyaWMnLCAnZGltZW5zaW9uU2V0JyksXG4gICAgICByZXNvdXJjZUhhc01ldHJpYzogci5yZWxhdGlvbnNoaXA8UmVzb3VyY2VIYXNNZXRyaWM+KCdyZXNvdXJjZScsICdtZXRyaWMnKSxcbiAgICAgIHNlcnZpY2VIYXNNZXRyaWM6IHIucmVsYXRpb25zaGlwPFNlcnZpY2VIYXNNZXRyaWM+KCdzZXJ2aWNlJywgJ21ldHJpYycpLFxuICAgICAgcmVzb3VyY2VIYXNEaW1lbnNpb25TZXQ6IHIucmVsYXRpb25zaGlwPFJlc291cmNlSGFzRGltZW5zaW9uU2V0PigncmVzb3VyY2UnLCAnZGltZW5zaW9uU2V0JyksXG4gICAgICBzZXJ2aWNlSGFzRGltZW5zaW9uU2V0OiByLnJlbGF0aW9uc2hpcDxTZXJ2aWNlSGFzRGltZW5zaW9uU2V0Pignc2VydmljZScsICdkaW1lbnNpb25TZXQnKSxcbiAgICAgIHJlc291cmNlSGFzRXZlbnQ6IHIucmVsYXRpb25zaGlwPFJlc291cmNlSGFzRXZlbnQ+KCdyZXNvdXJjZScsICdldmVudCcpLFxuICAgICAgc2VydmljZUhhc0V2ZW50OiByLnJlbGF0aW9uc2hpcDxzZXJ2aWNlSGFzRXZlbnQ+KCdzZXJ2aWNlJywgJ2V2ZW50JyksXG4gICAgICBldmVudFVzZXNUeXBlOiByLnJlbGF0aW9uc2hpcDxFdmVudFVzZXNUeXBlPignZXZlbnQnLCAnZXZlbnRUeXBlRGVmaW5pdGlvbicpLFxuICAgIH0pLFxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZERhdGFiYXNlKHBhdGhUb0RiOiBzdHJpbmcpIHtcbiAgY29uc3QgZGIgPSBlbXB0eURhdGFiYXNlKCk7XG4gIGNvbnN0IGNvbnRlbnRzID0gYXdhaXQgZnMucmVhZEZpbGUocGF0aFRvRGIpO1xuICBjb25zdCBqc29uID0gcGF0aFRvRGIuZW5kc1dpdGgoJy5neicpID8gZ3VuemlwU3luYyhjb250ZW50cykudG9TdHJpbmcoJ3V0Zi04JykgOiBjb250ZW50cy50b1N0cmluZygndXRmLTgnKTtcbiAgZGIubG9hZChKU09OLnBhcnNlKGpzb24pKTtcbiAgcmV0dXJuIGRiO1xufVxuXG5leHBvcnQgdHlwZSBTcGVjRGF0YWJhc2UgPSBSZXR1cm5UeXBlPHR5cGVvZiBlbXB0eURhdGFiYXNlPjtcblxuLyoqXG4gKiBIZWxwZXJzIGZvciB3b3JraW5nIHdpdGggYSBTcGVjRGF0YWJhc2VcbiAqL1xuZXhwb3J0IGNsYXNzIFJpY2hTcGVjRGF0YWJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRiOiBTcGVjRGF0YWJhc2UpIHt9XG5cbiAgLyoqXG4gICAqIEZpbmQgYWxsIHJlc291cmNlcyBvZiBhIGdpdmVuIHR5cGVcbiAgICovXG4gIHB1YmxpYyByZXNvdXJjZUJ5VHlwZShjZm5UeXBlOiBzdHJpbmcsIG9wZXJhdGlvbiA9ICdyZXNvdXJjZUJ5VHlwZScpOiBSZXNvdXJjZSB7XG4gICAgY29uc3QgcmVzID0gdGhpcy5kYi5sb29rdXAoJ3Jlc291cmNlJywgJ2Nsb3VkRm9ybWF0aW9uVHlwZScsICdlcXVhbHMnLCBjZm5UeXBlKTtcbiAgICBpZiAocmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke29wZXJhdGlvbn06IG5vIHN1Y2ggcmVzb3VyY2U6ICR7Y2ZuVHlwZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc1swXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGwgdHlwZSBkZWZpbml0aW9ucyB1c2VkIGJ5IGEgY2VydGFpbiByZXNvdXJjZVxuICAgKi9cbiAgcHVibGljIHJlc291cmNlVHlwZURlZnMoY2ZuVHlwZTogc3RyaW5nKTogcmVhZG9ubHkgVHlwZURlZmluaXRpb25bXSB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSB0aGlzLmRiLmxvb2t1cCgncmVzb3VyY2UnLCAnY2xvdWRGb3JtYXRpb25UeXBlJywgJ2VxdWFscycsIGNmblR5cGUpLm9ubHkoKTtcbiAgICByZXR1cm4gdGhpcy5kYi5mb2xsb3coJ3VzZXNUeXBlJywgcmVzb3VyY2UpLm1hcCgoeCkgPT4geC5lbnRpdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYSB0eXBlIGRlZmluaXRpb24gZnJvbSBhIGdpdmVuIHByb3BlcnR5IHR5cGVcbiAgICovXG4gIHB1YmxpYyB0cnlGaW5kRGVmKHR5cGU6IFByb3BlcnR5VHlwZSk6IFR5cGVEZWZpbml0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdHlwZS50eXBlID09PSAncmVmJyA/IHRoaXMuZGIuZ2V0KCd0eXBlRGVmaW5pdGlvbicsIHR5cGUucmVmZXJlbmNlLiRyZWYpIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RichPropertyType = exports.PropertyScrutinyType = exports.ResourceScrutinyType = exports.isCollectionType = exports.Deprecation = exports.RichAttribute = exports.RichProperty = exports.RichTypedField = void 0;
3
+ exports.RichPropertyType = exports.PropertyScrutinyType = exports.ResourceScrutinyType = exports.Deprecation = exports.RichAttribute = exports.RichProperty = exports.RichTypedField = void 0;
4
+ exports.isCollectionType = isCollectionType;
4
5
  const sorting_1 = require("../util/sorting");
5
6
  class RichTypedField {
6
7
  constructor(field) {
@@ -89,11 +90,10 @@ var Deprecation;
89
90
  * (Handle properties that were incorrectly added to the spec)
90
91
  */
91
92
  Deprecation["IGNORE"] = "IGNORE";
92
- })(Deprecation = exports.Deprecation || (exports.Deprecation = {}));
93
+ })(Deprecation || (exports.Deprecation = Deprecation = {}));
93
94
  function isCollectionType(x) {
94
95
  return x.type === 'array' || x.type === 'map';
95
96
  }
96
- exports.isCollectionType = isCollectionType;
97
97
  /**
98
98
  * Mark a resource as a resource that needs additional scrutiy when added, removed or changed
99
99
  *
@@ -147,7 +147,7 @@ var ResourceScrutinyType;
147
147
  * IAM Identity Center (formerly known as SSO)
148
148
  */
149
149
  ResourceScrutinyType["SsoPermissionSet"] = "SsoPermissionSet";
150
- })(ResourceScrutinyType = exports.ResourceScrutinyType || (exports.ResourceScrutinyType = {}));
150
+ })(ResourceScrutinyType || (exports.ResourceScrutinyType = ResourceScrutinyType = {}));
151
151
  /**
152
152
  * Mark a property as a property that needs additional scrutiny when it changes
153
153
  *
@@ -179,7 +179,7 @@ var PropertyScrutinyType;
179
179
  * A set of egress rules (on a security group)
180
180
  */
181
181
  PropertyScrutinyType["EgressRules"] = "EgressRules";
182
- })(PropertyScrutinyType = exports.PropertyScrutinyType || (exports.PropertyScrutinyType = {}));
182
+ })(PropertyScrutinyType || (exports.PropertyScrutinyType = PropertyScrutinyType = {}));
183
183
  class RichPropertyType {
184
184
  constructor(type) {
185
185
  this.type = type;
@@ -325,4 +325,4 @@ class RichPropertyType {
325
325
  }
326
326
  }
327
327
  exports.RichPropertyType = RichPropertyType;
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsNkNBQW9EO0FBa01wRCxNQUFhLGNBQWM7SUFDekIsWUFBNkIsS0FBK0M7UUFBL0MsVUFBSyxHQUFMLEtBQUssQ0FBMEM7UUFDMUUsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFTSxLQUFLO1FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxVQUFVLENBQUMsSUFBa0I7UUFDbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1Qyw2R0FBNkc7UUFDN0csd0dBQXdHO1FBQ3hHLDhHQUE4RztRQUM5RyxxQ0FBcUM7UUFDckMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEQsMkNBQTJDO1lBQzNDLDJFQUEyRTtZQUMzRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUM3RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQVksQ0FBQyxhQUFh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RUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztDQUNGO0FBeEpELDRDQXdKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eSwgUmVsYXRpb25zaGlwIH0gZnJvbSAnQGNka2xhYnMvdHNrYic7XG5pbXBvcnQgeyBBcnJheVR5cGUsIE1hcFR5cGUsIEdlbmVyaWNQcm9wZXJ0eVR5cGUsIEdlbmVyaWNEZWZpbml0aW9uUmVmZXJlbmNlIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgU3BlY0RhdGFiYXNlIH0gZnJvbSAnLi9kYXRhYmFzZSc7XG5pbXBvcnQgeyBzb3J0S2V5Q29tcGFyYXRvciB9IGZyb20gJy4uL3V0aWwvc29ydGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGl0aW9uIGV4dGVuZHMgRW50aXR5IHtcbiAgcmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEhhc1JlZ2lvbiA9IFJlbGF0aW9uc2hpcDxQYXJ0aXRpb24sIFJlZ2lvbiwgeyBpc1ByaW1hcnk/OiBib29sZWFuIH0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2UgZXh0ZW5kcyBFbnRpdHkge1xuICAvKipcbiAgICogVGhlIGZ1bGwgbmFtZSBvZiB0aGUgc2VydmljZSBpbmNsdWRpbmcgdGhlIGdyb3VwIHByZWZpeCwgbG93ZXJjYXNlZCBhbmQgaHlwaGVuYXRlZC5cbiAgICpcbiAgICogRS5nLiBgQVdTOjpEeW5hbW9EQmAgLT4gYGF3cy1keW5hbW9kYmBcbiAgICpcbiAgICogQGV4YW1wbGUgYXdzLWR5bmFtb2RiXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPbmx5IHRoZSBzZXJ2aWNlIHBhcnQgb2YgdGhlIG5hbWUsIGxvd2VyY2FzZWQuXG4gICAqXG4gICAqIEUuZy4gYEFXUzo6RHluYW1vREJgIC0+IGBkeW5hbW9kYmBcbiAgICpcbiAgICogQGV4YW1wbGUgZHluYW1vZGJcbiAgICovXG4gIHJlYWRvbmx5IHNob3J0TmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHNob3J0bmFtZSBvZiB0aGUgc2VydmljZSBpbiBjYXBpdGFsaXplZCBmb3JtXG4gICAqXG4gICAqIEUuZy4gYEFXUzo6RHluYW1vREJgIC0+IGBEeW5hbW9EQmBcbiAgICpcbiAgICogQGV4YW1wbGUgZHluYW1vZGJcbiAgICovXG4gIHJlYWRvbmx5IGNhcGl0YWxpemVkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY29tcGxldGUgY2xvdWRmb3JtYXRpb24gc3R5bGUgbmFtZXNwYWNlIG9mIHRoZSBzZXJ2aWNlXG4gICAqXG4gICAqIEUuZy4gYEFXUzo6RHluYW1vREJgXG4gICAqXG4gICAqIEBleGFtcGxlIGR5bmFtb2RiXG4gICAqL1xuICByZWFkb25seSBjbG91ZEZvcm1hdGlvbk5hbWVzcGFjZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lvbiBleHRlbmRzIEVudGl0eSB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRhdGlvbiBleHRlbmRzIEVudGl0eSB7XG4gIHJlYWRvbmx5IG1hcmtkb3duOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2UgZXh0ZW5kcyBFbnRpdHkge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNsb3VkRm9ybWF0aW9uVHlwZTogc3RyaW5nO1xuICAvKipcbiAgICogSWYgc2V0LCB0aGlzIENsb3VkRm9ybWF0aW9uIFRyYW5zZm9ybSBpcyByZXF1aXJlZCBieSB0aGUgcmVzb3VyY2VcbiAgICovXG4gIGNsb3VkRm9ybWF0aW9uVHJhbnNmb3JtPzogc3RyaW5nO1xuICBkb2N1bWVudGF0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpbWFyeSBpZGVudGlmaWVyLCBvciBpZGVudGlmaWVycywgaW4gQ2xvdWQgQ29udHJvbCBBUElcbiAgICpcbiAgICogVW5pcXVlbHkgaWRlbnRpZmllcyBhIHJlc291cmNlIGluIGFuIGFjY291bnQuXG4gICAqXG4gICAqIFRoaXMgaXMgcmVhZCBmcm9tIHRoZSBzY2hlbWEsIHdoaWNoIGFsd2F5cyBwZXJ0YWlucyB0byB0aGUgQ0NBUEkgaWRlbnRpZmllci5cbiAgICogVHlwaWNhbGx5IHRoZSBzYW1lIGFzIHRoZSBDbG91ZEZvcm1hdGlvbiBpZGVudGlmaWVyLCBidXQgbm90IG5lY2Vzc2FyaWx5LlxuICAgKi9cbiAgcHJpbWFyeUlkZW50aWZpZXI/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHByaW1hcnkgaWRlbnRpZmllciwgb3IgaWRlbnRpZmllcnMsIGluIENsb3VkRm9ybWF0aW9uXG4gICAqXG4gICAqIFdoYXRldmVyIGdldHMgcmV0dXJuZWQgd2hlbiB5b3UgY2FsbCBgeyBSZWYgfWAgYSByZXNvdXJjZS4gVHlwaWNhbGx5IHRoZVxuICAgKiB2YWx1ZSB0aGF0IG90aGVyIHJlc291cmNlcyBpbiB0aGUgc2FtZSBzZXJ2aWNlIGV4cGVjdCB0byBzZWUgYXMgdGhlIHdheSB0b1xuICAgKiByZWZlcmVuY2UgdGhpcyByZXNvdXJjZSAobmFtZSBvciBBUk4gb3IgSWQpLlxuICAgKlxuICAgKiBJZiBtaXNzaW5nLCB0aGUgYGNmblJlZklkZW50aWZpZXJgIGlzIHRoZSBzYW1lIGFzIHRoZSAoQ0MtQVBJKSBgcHJpbWFyeUlkZW50aWZpZXJgLlxuICAgKi9cbiAgY2ZuUmVmSWRlbnRpZmllcj86IHN0cmluZ1tdO1xuXG4gIHJlYWRvbmx5IHByb3BlcnRpZXM6IFJlc291cmNlUHJvcGVydGllcztcbiAgcmVhZG9ubHkgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgQXR0cmlidXRlPjtcbiAgcmVhZG9ubHkgdmFsaWRhdGlvbnM/OiB1bmtub3duO1xuICBhcm5UZW1wbGF0ZT86IHN0cmluZztcbiAgaXNTdGF0ZWZ1bD86IGJvb2xlYW47XG4gIHZlbmRlZExvZ3M/OiBWZW5kZWRMb2dzW107XG5cbiAgLyoqXG4gICAqIEluZm9ybWF0aW9uIGFib3V0IHRoZSB0YWdnYWJpbGl0eSBvZiB0aGlzIHJlc291cmNlXG4gICAqXG4gICAqIFVuZGVmaW5lZCBpZiB0aGUgcmVzb3VyY2UgaXMgbm90IHRhZ2dhYmxlLlxuICAgKi9cbiAgdGFnSW5mb3JtYXRpb24/OiBUYWdJbmZvcm1hdGlvbjtcblxuICAvKipcbiAgICogV2hldGhlciBjaGFuZ2VzIHRvIHRoaXMgcmVzb3VyY2UgbmVlZCB0byBiZSBzY3J1dGluaXplZFxuICAgKlxuICAgKiBAZGVmYXVsdCBSZXNvdXJjZVNjcnV0aW55VHlwZS5OT05FXG4gICAqL1xuICBzY3J1dGluaXphYmxlPzogUmVzb3VyY2VTY3J1dGlueVR5cGU7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgcGF0aHMgdG8gcHJvcGVydGllcyB0aGF0IGFsc28gY2F1c2UgcmVwbGFjZW1lbnQuXG4gICAqXG4gICAqIFRoaXMgaXMgdG8gaW5kaWNhdGUgdGhhdCBjZXJ0YWluIHByb3BlcnR5IHBhdGhzIGludG8gdGhpcyByZXNvdXJjZVxuICAgKiB3aWxsIGNhdXNlIHJlcGxhY2VtZW50OyBvbmx5IHJlcGxhY2VtZW50cyB0aGF0IGNhbm5vdCBiZSByZXByZXNlbnRlZFxuICAgKiBieSB0YWdnaW5nIHRoZSBwcm9wZXJ0eSBpbiBhIHR5cGUgZGVmaW5pdGlvbiB3aWxsIGJlIGluY2x1ZGVkIGhlcmVcbiAgICogKGZvciBleGFtcGxlLCBiZWNhdXNlIHRoZSB0YWdnZWQgcHJvcGVydHkgd291bGQgYmUgaW4gYSBwcmVkZWZpbmVkXG4gICAqIHR5cGUgbGlrZSBgdGFnYCkuXG4gICAqXG4gICAqIEFsbCBwcm9wZXJ0aWVzIGluIHRoaXMgbGlzdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBgY2F1c2VzUmVwbGFjZW1lbnQ6ICd5ZXMnYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLVxuICAgKi9cbiAgYWRkaXRpb25hbFJlcGxhY2VtZW50UHJvcGVydGllcz86IHN0cmluZ1tdW107XG59XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlUHJvcGVydGllcyA9IFJlY29yZDxzdHJpbmcsIFByb3BlcnR5PjtcblxuZXhwb3J0IGludGVyZmFjZSBUeXBlRGVmaW5pdGlvbiBleHRlbmRzIEVudGl0eSB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgZG9jdW1lbnRhdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgcHJvcGVydGllczogUmVzb3VyY2VQcm9wZXJ0aWVzO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCByZW5kZXIgdGhpcyB0eXBlIGV2ZW4gaWYgaXQgaXMgdW51c2VkLlxuICAgKi9cbiAgbXVzdFJlbmRlckZvckJ3Q29tcGF0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9wZXJ0eSB7XG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBvZiB0aGUgcHJvcGVydHlcbiAgICovXG4gIGRvY3VtZW50YXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElzIHRoaXMgcHJvcGVydHkgcmVxdWlyZWRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdHlwZSBvZiB0aGlzIHByb3BlcnR5XG4gICAqL1xuICB0eXBlOiBQcm9wZXJ0eVR5cGU7XG5cbiAgLyoqXG4gICAqIEFuIG9yZGVyZWQgbGlzdCBvZiBwcmV2aW91cyB0eXBlcyBvZiB0aGlzIHByb3BlcnR5IGluIGFzY2VuZGluZyBvcmRlclxuICAgKlxuICAgKiBEb2VzIG5vdCBpbmNsdWRlIHRoZSBjdXJyZW50IHR5cGUsIHVzZSBgdHlwZWAgZm9yIHRoaXMuXG4gICAqL1xuICBwcmV2aW91c1R5cGVzPzogUHJvcGVydHlUeXBlW107XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoaXMgcHJvcGVydHlcbiAgICpcbiAgICogVGhpcyB2YWx1ZSBpcyBub3QgZGlyZWN0bHkgZnVuY3Rpb25hbDsgaXQgZGVzY3JpYmVzIGhvdyB0aGUgdW5kZXJseWluZyByZXNvdXJjZVxuICAgKiB3aWxsIGJlaGF2ZSBpZiB0aGUgdmFsdWUgaXMgbm90IHNwZWNpZmllZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHVua25vd25cbiAgICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb3QgZGVwcmVjYXRlZFxuICAgKi9cbiAgZGVwcmVjYXRlZD86IERlcHJlY2F0aW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGNoYW5nZXMgdG8gdGhpcyBwcm9wZXJ0eSBuZWVkcyB0byBiZSBzY3J1dGluaXplZCBzcGVjaWFsbHlcbiAgICpcbiAgICogQGRlZmF1bHQgUHJvcGVydHlTY3J1dGlueVR5cGUuTk9ORVxuICAgKi9cbiAgc2NydXRpbml6YWJsZT86IFByb3BlcnR5U2NydXRpbnlUeXBlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb250YWluaW5nIHJlc291cmNlIHdpbGwgYmUgcmVwbGFjZWQgaWYgdGhpcyBwcm9wZXJ0eSBpcyBjaGFuZ2VkXG4gICAqXG4gICAqIEBkZWZhdWx0ICdubydcbiAgICovXG4gIGNhdXNlc1JlcGxhY2VtZW50PzogJ3llcycgfCAnbm8nIHwgJ21heWJlJztcblxuICAvKipcbiAgICogUmVsYXRpb25zaGlwIHJlZmVyZW5jZXMgdG8gb3RoZXIgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2VzXG4gICAqL1xuICByZWxhdGlvbnNoaXBSZWZzPzogUmVsYXRpb25zaGlwUmVmW107XG59XG5cbmV4cG9ydCBjbGFzcyBSaWNoVHlwZWRGaWVsZCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmllbGQ6IFBpY2s8UHJvcGVydHksICd0eXBlJyB8ICdwcmV2aW91c1R5cGVzJz4pIHtcbiAgICBpZiAoZmllbGQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWVsZCBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHlwZXMoKTogUHJvcGVydHlUeXBlW10ge1xuICAgIHJldHVybiBbLi4uKHRoaXMuZmllbGQucHJldmlvdXNUeXBlcyA/PyBbXSksIHRoaXMuZmllbGQudHlwZV07XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSB0eXBlIG9mIHRoaXMgcHJvcGVydHkgd2l0aCBhIG5ldyB0eXBlXG4gICAqXG4gICAqIE9ubHkgaWYgaXQncyBub3QgaW4gdGhlIHNldCBvZiB0eXBlcyBhbHJlYWR5LlxuICAgKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHR5cGUgd2FzIHVwZGF0ZWQuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlVHlwZSh0eXBlOiBQcm9wZXJ0eVR5cGUpOiBib29sZWFuIHtcbiAgICBjb25zdCByaWNoVHlwZSA9IG5ldyBSaWNoUHJvcGVydHlUeXBlKHR5cGUpO1xuXG4gICAgLy8gT25seSBhZGQgdGhpcyB0eXBlIGlmIHdlIGRvbid0IGFscmVhZHkgaGF2ZSBpdC4gV2UgYXJlIG9ubHkgZG9pbmcgY29tcGFyaXNvbnMgd2hlcmUgJ2ludGVnZXInIGFuZCAnbnVtYmVyJ1xuICAgIC8vIGFyZSB0cmVhdGVkIHRoZSBzYW1lLCBmb3IgYWxsIG90aGVyIHR5cGVzIHdlIG5lZWQgc3RyaWN0IGVxdWFsaXR5LiBXZSB1c2VkIHRvIHVzZSAnYXNzaWduYWJsZVRvJyBhcyBhXG4gICAgLy8gY29uZGl0aW9uLCBidXQgdGhlc2UgdHlwZXMgd2lsbCBiZSByZW5kZXJlZCBpbiBib3RoIGNvLSBhbmQgY29udHJhdmFyaWFudCBwb3NpdGlvbnMsIGFuZCBzbyB3ZSByZWFsbHkgY2FuJ3RcbiAgICAvLyBkbyBtdWNoIGJldHRlciB0aGFuIGZ1bGwgZXF1YWxpdHkuXG4gICAgaWYgKHRoaXMudHlwZXMoKS5zb21lKCh0KSA9PiByaWNoVHlwZS5lcXVhbHModCkpKSB7XG4gICAgICAvLyBOb3RoaW5nIHRvIGRvLCB0eXBlIGlzIGFscmVhZHkgaW4gdGhlcmUuXG4gICAgICAvLyBCdXQgaWYgdGhlIG5ldyB0eXBlIGhhcyBhbGxvd2VkVmFsdWVzLCBtZXJnZSB0aGVtIGludG8gdGhlIGN1cnJlbnQgdHlwZS5cbiAgICAgIGlmICgodHlwZS50eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlLnR5cGUgPT09ICdpbnRlZ2VyJykgJiYgdHlwZS5hbGxvd2VkVmFsdWVzKSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnR5cGUudHlwZSA9PT0gdHlwZS50eXBlKSB7XG4gICAgICAgICAgKHRoaXMuZmllbGQudHlwZSBhcyBhbnkpLmFsbG93ZWRWYWx1ZXMgPSB0eXBlLmFsbG93ZWRWYWx1ZXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIGNhc2U6IGlmIHRoZSBuZXcgdHlwZSBpcyBgc3RyaW5nYCBhbmQgdGhlIG9sZCB0eXBlIGlzIGBkYXRlLXRpbWVgLCB3ZSBhc3N1bWUgdGhpcyBpc1xuICAgIC8vIHRoZSBzYW1lIHR5cGUgYnV0IHdlIGRyb3BwZWQgc29tZSBmb3JtYXR0aW5nIGluZm9ybWF0aW9uLiBObyBuZWVkIHRvIG1ha2UgdGhpcyBhIHNlcGFyYXRlIHR5cGUuXG4gICAgaWYgKHR5cGUudHlwZSA9PT0gJ3N0cmluZycgJiYgdGhpcy50eXBlcygpLnNvbWUoKHQpID0+IHQudHlwZSA9PT0gJ2RhdGUtdGltZScpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBjYXNlOiBpZiB0aGUgbmV3IHR5cGUgaXMgYHN0cmluZ2AgYW5kIHRoZSBvbGQgdHlwZSBpcyBganNvbmAsIHdlIGFzc3VtZSB0aGlzIGlzIGEgY29ycmVjdGlvblxuICAgIC8vIG9mIGEgYnVnOyB0aGUgb2xkIHR5cGUgd2FzIGluY29ycmVjdGx5IHR5cGVkIGFzIEpzb24sIGFuZCB3ZSdyZSBub3cgY29ycmVjdGluZyB0aGlzLiBTaW5jZSB0aGlzIHdhcyBhXG4gICAgLy8gYnVnLCB3ZSBkb24ndCBuZWVkIHRvIGtlZXAgdGhlIG9sZCB0eXBlOiBpdCB3YXMgbmV2ZXIgYWNjdXJhdGUuXG4gICAgLy9cbiAgICAvLyBXZSBjb3VsZCBiZSBtb3JlIGJyb2FkLCBhbmQgb25seSBtYWludGFpbiB0eXBlIGhpc3RvcnkgaWYgd2UgZ28gZnJvbVxuICAgIC8vIGBqc29uYCAtPiBgbmFtZWQgdHlwZWAsIG9yIGBuYW1lZCB0eXBlYCAtPiBgbmFtZWQgdHlwZWAuICBGb3Igbm93IEknbVxuICAgIC8vIHdhcnkgb2YgZGVzdHJveWluZyB0b28gbXVjaCBpbmZvcm1hdGlvbjsgd2UnbGwganVzdCBkbyB0aGUgZml4IHNwZWNpZmljYWxseVxuICAgIC8vIGZvciBganNvbmAgLT4gYHN0cmluZ2AuXG4gICAgaWYgKHR5cGUudHlwZSA9PT0gJ3N0cmluZycgJiYgdGhpcy5maWVsZC50eXBlLnR5cGUgPT09ICdqc29uJykge1xuICAgICAgdGhpcy5maWVsZC50eXBlID0gdHlwZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5maWVsZC5wcmV2aW91c1R5cGVzKSB7XG4gICAgICB0aGlzLmZpZWxkLnByZXZpb3VzVHlwZXMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5maWVsZC5wcmV2aW91c1R5cGVzLnB1c2godGhpcy5maWVsZC50eXBlKTtcbiAgICB0aGlzLmZpZWxkLnR5cGUgPSB0eXBlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSaWNoUHJvcGVydHkgZXh0ZW5kcyBSaWNoVHlwZWRGaWVsZCB7XG4gIGNvbnN0cnVjdG9yKHByb3BlcnR5OiBQcm9wZXJ0eSkge1xuICAgIHN1cGVyKHByb3BlcnR5KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmljaEF0dHJpYnV0ZSBleHRlbmRzIFJpY2hUeXBlZEZpZWxkIHtcbiAgY29uc3RydWN0b3IoYXR0cjogQXR0cmlidXRlKSB7XG4gICAgc3VwZXIoYXR0cik7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGUge1xuICBkb2N1bWVudGF0aW9uPzogc3RyaW5nO1xuICB0eXBlOiBQcm9wZXJ0eVR5cGU7XG4gIC8qKlxuICAgKiBBbiBvcmRlcmVkIGxpc3Qgb2YgcHJldmlvdXMgdHlwZXMgb2YgdGhpcyBwcm9wZXJ0eSBpbiBhc2NlbmRpbmcgb3JkZXJcbiAgICpcbiAgICogRG9lcyBub3QgaW5jbHVkZSB0aGUgY3VycmVudCB0eXBlLCB1c2UgYHR5cGVgIGZvciB0aGlzLlxuICAgKi9cbiAgcHJldmlvdXNUeXBlcz86IFByb3BlcnR5VHlwZVtdO1xufVxuXG5leHBvcnQgZW51bSBEZXByZWNhdGlvbiB7XG4gIC8qKlxuICAgKiBOb3QgZGVwcmVjYXRlZFxuICAgKi9cbiAgTk9ORSA9ICdOT05FJyxcblxuICAvKipcbiAgICogV2FybiBhYm91dCB1c2VcbiAgICovXG4gIFdBUk4gPSAnV0FSTicsXG5cbiAgLyoqXG4gICAqIERvIG5vdCBlbWl0IHRoZSB2YWx1ZSBhdCBhbGxcbiAgICpcbiAgICogKEhhbmRsZSBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBpbmNvcnJlY3RseSBhZGRlZCB0byB0aGUgc3BlYylcbiAgICovXG4gIElHTk9SRSA9ICdJR05PUkUnLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb2xsZWN0aW9uVHlwZSh4OiBQcm9wZXJ0eVR5cGUpOiB4IGlzIEFycmF5VHlwZTxhbnk+IHwgTWFwVHlwZTxhbnk+IHtcbiAgcmV0dXJuIHgudHlwZSA9PT0gJ2FycmF5JyB8fCB4LnR5cGUgPT09ICdtYXAnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhZ0luZm9ybWF0aW9uIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHByb3BlcnR5IHRoYXQgaG9sZHMgdGhlIHRhZ3NcbiAgICovXG4gIHJlYWRvbmx5IHRhZ1Byb3BlcnR5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGluc3RydWN0IGNkay5UYWdNYW5hZ2VyIGhvdyB0byBoYW5kbGUgdGFnc1xuICAgKi9cbiAgcmVhZG9ubHkgdmFyaWFudDogVGFnVmFyaWFudDtcbn1cblxuZXhwb3J0IHR5cGUgVGFnVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYXNnJyB8ICdtYXAnO1xuXG5leHBvcnQgdHlwZSBIYXNSZXNvdXJjZSA9IFJlbGF0aW9uc2hpcDxTZXJ2aWNlLCBSZXNvdXJjZT47XG5leHBvcnQgdHlwZSBSZWdpb25IYXNSZXNvdXJjZSA9IFJlbGF0aW9uc2hpcDxSZWdpb24sIFJlc291cmNlPjtcbmV4cG9ydCB0eXBlIFJlZ2lvbkhhc1NlcnZpY2UgPSBSZWxhdGlvbnNoaXA8UmVnaW9uLCBTZXJ2aWNlPjtcbmV4cG9ydCB0eXBlIFJlc291cmNlRG9jID0gUmVsYXRpb25zaGlwPFJlc291cmNlLCBEb2N1bWVudGF0aW9uPjtcblxuZXhwb3J0IHR5cGUgU2VydmljZUluUmVnaW9uID0gUmVsYXRpb25zaGlwPFJlZ2lvbiwgU2VydmljZT47XG5leHBvcnQgdHlwZSBSZXNvdXJjZUluUmVnaW9uID0gUmVsYXRpb25zaGlwPFJlZ2lvbiwgUmVzb3VyY2U+O1xuXG5leHBvcnQgdHlwZSBVc2VzVHlwZSA9IFJlbGF0aW9uc2hpcDxSZXNvdXJjZSwgVHlwZURlZmluaXRpb24+O1xuXG4vKipcbiAqIE1hcmsgYSByZXNvdXJjZSBhcyBhIHJlc291cmNlIHRoYXQgbmVlZHMgYWRkaXRpb25hbCBzY3J1dGl5IHdoZW4gYWRkZWQsIHJlbW92ZWQgb3IgY2hhbmdlZFxuICpcbiAqIFVzZWQgdG8gbWFyayByZXNvdXJjZXMgdGhhdCByZXByZXNlbnQgc2VjdXJpdHkgcG9saWNpZXMuXG4gKi9cbmV4cG9ydCBlbnVtIFJlc291cmNlU2NydXRpbnlUeXBlIHtcbiAgLyoqXG4gICAqIE5vIGFkZGl0aW9uYWwgc2NydXRpbnlcbiAgICovXG4gIE5vbmUgPSAnTm9uZScsXG5cbiAgLyoqXG4gICAqIEFuIGV4dGVybmFsbHkgYXR0YWNoZWQgcG9saWN5IGRvY3VtZW50IHRvIGEgcmVzb3VyY2VcbiAgICpcbiAgICogKENvbW1vbiBmb3IgU1FTLCBTTlMsIFMzLCAuLi4pXG4gICAqL1xuICBSZXNvdXJjZVBvbGljeVJlc291cmNlID0gJ1Jlc291cmNlUG9saWN5UmVzb3VyY2UnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIGFuIElBTSBwb2xpY3kgb24gYW4gaWRlbnRpdHkgcmVzb3VyY2VcbiAgICpcbiAgICogKEJhc2ljYWxseSBzYXlpbmc6IHRoaXMgaXMgQVdTOjpJQU06OlBvbGljeSlcbiAgICovXG4gIElkZW50aXR5UG9saWN5UmVzb3VyY2UgPSAnSWRlbnRpdHlQb2xpY3lSZXNvdXJjZScsXG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgYSBMYW1iZGEgUGVybWlzc2lvbiBwb2xpY3lcbiAgICovXG4gIExhbWJkYVBlcm1pc3Npb24gPSAnTGFtYmRhUGVybWlzc2lvbicsXG5cbiAgLyoqXG4gICAqIEFuIGluZ3Jlc3MgcnVsZSBvYmplY3RcbiAgICovXG4gIEluZ3Jlc3NSdWxlUmVzb3VyY2UgPSAnSW5ncmVzc1J1bGVSZXNvdXJjZScsXG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIGVncmVzcyBydWxlc1xuICAgKi9cbiAgRWdyZXNzUnVsZVJlc291cmNlID0gJ0VncmVzc1J1bGVSZXNvdXJjZScsXG5cbiAgLyoqXG4gICAqIEFXUzo6U1NPOjpBc3NpZ25tZW50XG4gICAqXG4gICAqIElBTSBJZGVudGl0eSBDZW50ZXIgKGZvcm1lcmx5IGtub3duIGFzIFNTTylcbiAgICovXG4gIFNzb0Fzc2lnbm1lbnRSZXNvdXJjZSA9ICdTc29Bc3NpZ25tZW50UmVzb3VyY2UnLFxuXG4gIC8qKlxuICAgKiBBV1M6OlNTTzo6SW5zdGFuY2VBY2Nlc3NDb250cm9sQXR0cmlidXRlQ29uZmlndXJhdGlvblxuICAgKlxuICAgKiBJQU0gSWRlbnRpdHkgQ2VudGVyIChmb3JtZXJseSBrbm93biBhcyBTU08pXG4gICAqL1xuICBTc29JbnN0YW5jZUFDQUNvbmZpZ1Jlc291cmNlID0gJ1Nzb0luc3RhbmNlQUNBQ29uZmlnUmVzb3VyY2UnLFxuXG4gIC8qKlxuICAgKiBBV1M6OlNTTzo6UGVybWlzc2lvblNldFxuICAgKlxuICAgKiBJQU0gSWRlbnRpdHkgQ2VudGVyIChmb3JtZXJseSBrbm93biBhcyBTU08pXG4gICAqL1xuICBTc29QZXJtaXNzaW9uU2V0ID0gJ1Nzb1Blcm1pc3Npb25TZXQnLFxufVxuXG4vKipcbiAqIE1hcmsgYSBwcm9wZXJ0eSBhcyBhIHByb3BlcnR5IHRoYXQgbmVlZHMgYWRkaXRpb25hbCBzY3J1dGlueSB3aGVuIGl0IGNoYW5nZXNcbiAqXG4gKiBVc2VkIHRvIG1hcmsgc2Vuc2l0aXZlIHByb3BlcnRpZXMgdGhhdCBoYXZlIHNlY3VyaXR5LXJlbGF0ZWQgaW1wbGljYXRpb25zLlxuICovXG5leHBvcnQgZW51bSBQcm9wZXJ0eVNjcnV0aW55VHlwZSB7XG4gIC8qKlxuICAgKiBObyBhZGRpdGlvbmFsIHNjcnV0aW55XG4gICAqL1xuICBOb25lID0gJ05vbmUnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIGFuIElBTSBwb2xpY3kgZGlyZWN0bHkgb24gYSByZXNvdXJjZVxuICAgKi9cbiAgSW5saW5lUmVzb3VyY2VQb2xpY3kgPSAnSW5saW5lUmVzb3VyY2VQb2xpY3knLFxuXG4gIC8qKlxuICAgKiBFaXRoZXIgYW4gQXNzdW1lUm9sZVBvbGljeURvY3VtZW50IG9yIGEgZGljdGlvbmFyeSBvZiBwb2xpY3kgZG9jdW1lbnRzXG4gICAqL1xuICBJbmxpbmVJZGVudGl0eVBvbGljaWVzID0gJ0lubGluZUlkZW50aXR5UG9saWNpZXMnLFxuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgbWFuYWdlZCBwb2xpY2llcyAob24gYW4gaWRlbnRpdHkgcmVzb3VyY2UpXG4gICAqL1xuICBNYW5hZ2VkUG9saWNpZXMgPSAnTWFuYWdlZFBvbGljaWVzJyxcblxuICAvKipcbiAgICogQSBzZXQgb2YgaW5ncmVzcyBydWxlcyAob24gYSBzZWN1cml0eSBncm91cClcbiAgICovXG4gIEluZ3Jlc3NSdWxlcyA9ICdJbmdyZXNzUnVsZXMnLFxuXG4gIC8qKlxuICAgKiBBIHNldCBvZiBlZ3Jlc3MgcnVsZXMgKG9uIGEgc2VjdXJpdHkgZ3JvdXApXG4gICAqL1xuICBFZ3Jlc3NSdWxlcyA9ICdFZ3Jlc3NSdWxlcycsXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHJlbGF0aW9uc2hpcCByZWZlcmVuY2UgdG8gYW5vdGhlciBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbGF0aW9uc2hpcFJlZiB7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZSB0aGlzIHByb3BlcnR5IHJlZmVyZW5jZXNcbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkRm9ybWF0aW9uVHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvcGVydHkgbmFtZSB3aXRoaW4gdGhlIHJlZmVyZW5jZWQgcmVzb3VyY2UgKGUuZy4sIFwiSWRcIilcbiAgICovXG4gIHJlYWRvbmx5IHByb3BlcnR5TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBkZWxpdmVyeSBkZXN0aW5hdGlvbiB0aGF0IGEgQ2xvdWRmb3JtYXRpb24gcmVzb3VyY2UgY2FuIHNlbmQgbG9ncyB0b1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERlbGl2ZXJ5RGVzdGluYXRpb24ge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygc2VydmljZSB0aGF0IGlzIGluZ2VzdGluZyB0aGUgbG9ncywgY2FuIGJlIFMzIHwgRkggfCBDV0wgfCBYUkFZXG4gICAqL1xuICByZWFkb25seSBkZXN0aW5hdGlvblR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGZvcm1hdCBvZiBsb2dzIHNlbnQgdG8gdGhpcyBkZWxpdmVyeSBkZXN0aW5hdGlvbiwgY2FuIGJlIGpzb24gfCBwYXJxdWV0IHwgdzNjIHwgcGxhaW4gfCByYXcgfCB1bmRlZmluZWRcbiAgICogV2hhdCBmb3JtYXRzIGFyZSBhdmFsaWJsZSB2YXJ5IGJhc2VkIG9uIGRlc3RpbmF0aW9uVHlwZVxuICAgKiBTMyBkZXN0aW5hdGlvbiB0eXBlcyBjYW4gYWNjZXB0IGpzb24sIHBsYWluLCB3M2MsIG9yIHBhcnF1ZXRcbiAgICogQ2xvdWR3YXRjaCBkZXN0aW5hdGlvbiB0eXBlcyBjYW4gYWNjZXB0IHBsYWluIG9yIGpzb25cbiAgICogRmlyZWhvc2UgZGVzdGluYXRpb24gdHlwZXMgY2FuIGFjY2VwdCBqc29uLCByYXcsIG9yIHBhcnF1ZXRcbiAgICogWFJheSBkZXN0aW5hdGlvbiB0eXBlcyBkbyBub3QgdXNlIG91dHB1dCBmb3JtYXRzXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRGb3JtYXRzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHR5cGUgb2YgbG9nIHRoYXQgYSBDbG91ZGZvcm1hdGlvbiBSZXNvdXJjZSBjYW4gcHJvZHVjZSBhbmQgd2hhdCBkZXN0aW5hdGlvbnMgY2FuIGNvbnN1bWUgdGhlbVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlbmRlZExvZ3Mge1xuICAvKipcbiAgICogV2hhdCB2ZXJzaW9uIG9mIHBlcm1pc3Npb25zIHRoZSBkZXN0aW5hdGlvbiBzdXBwb3J0cyBWMSB8IFYyXG4gICAqL1xuICByZWFkb25seSBwZXJtaXNzaW9uc1ZlcnNpb246IHN0cmluZztcbiAgLyoqXG4gICAqIFR5cGUgb2YgbG9nIGEgQ2xvdWRmb3JtYXRpb24gcmVzb3VyY2UgY2FuIHByb2R1Y2VcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1R5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIExpc3Qgb2YgdGhlIGRlc3RpbmF0aW9ucyB0aGUgY2FuIGNvbnN1bWUgdGhvc2UgbG9nc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb25zOiBEZWxpdmVyeURlc3RpbmF0aW9uW107XG4gIC8qKlxuICAgKiBSZWNvcmQgZmllbGRzIHRoYXQgYXJlIG1hbmRhdG9yeSB0byBiZSBkZWxpdmVyZWRcbiAgICovXG4gIG1hbmRhdG9yeUZpZWxkcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogUmVjb3JkIGZpZWxkcyB0aGF0IGNhbiBiZSBvcHRpb25hbGx5IGRlbGl2ZXJlZFxuICAgKi9cbiAgb3B0aW9uYWxGaWVsZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFJpY2hQcm9wZXJ0eVR5cGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHR5cGU6IFByb3BlcnR5VHlwZSkge31cblxuICBwdWJsaWMgZXF1YWxzKHJoczogUHJvcGVydHlUeXBlKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUudHlwZSkge1xuICAgICAgY2FzZSAnaW50ZWdlcic6XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIGNhc2UgJ2RhdGUtdGltZSc6XG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgIGNhc2UgJ251bGwnOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBjYXNlICd0YWcnOlxuICAgICAgICByZXR1cm4gcmhzLnR5cGUgPT09IHRoaXMudHlwZS50eXBlO1xuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgY2FzZSAnbWFwJzpcbiAgICAgICAgcmV0dXJuIHJocy50eXBlID09PSB0aGlzLnR5cGUudHlwZSAmJiBuZXcgUmljaFByb3BlcnR5VHlwZSh0aGlzLnR5cGUuZWxlbWVudCkuZXF1YWxzKHJocy5lbGVtZW50KTtcbiAgICAgIGNhc2UgJ3JlZic6XG4gICAgICAgIHJldHVybiByaHMudHlwZSA9PT0gJ3JlZicgJiYgdGhpcy50eXBlLnJlZmVyZW5jZS4kcmVmID09PSByaHMucmVmZXJlbmNlLiRyZWY7XG4gICAgICBjYXNlICd1bmlvbic6XG4gICAgICAgIGNvbnN0IGxoc0tleSA9IHRoaXMuc29ydEtleSgpO1xuICAgICAgICBjb25zdCByaHNLZXkgPSBuZXcgUmljaFByb3BlcnR5VHlwZShyaHMpLnNvcnRLZXkoKTtcbiAgICAgICAgcmV0dXJuIGxoc0tleS5sZW5ndGggPT09IHJoc0tleS5sZW5ndGggJiYgbGhzS2V5LmV2ZXJ5KChsLCBpKSA9PiBsID09PSByaHNLZXlbaV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjdXJyZW50IHR5cGUgaXMgSmF2YVNjcmlwdC1lcXVhbCB0byB0aGUgUkhTIHR5cGVcbiAgICpcbiAgICogU2FtZSBhcyBub3JtYWwgZXF1YWxpdHksIGJ1dCBjb25zaWRlciBgaW50ZWdlcmAgYW5kIGBudW1iZXJgIHRoZSBzYW1lIHR5cGVzLlxuICAgKi9cbiAgcHVibGljIGphdmFzY3JpcHRFcXVhbHMocmhzOiBQcm9wZXJ0eVR5cGUpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZS50eXBlKSB7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgY2FzZSAnaW50ZWdlcic6XG4gICAgICAgIC8vIFdpZGVuaW5nXG4gICAgICAgIHJldHVybiByaHMudHlwZSA9PT0gJ2ludGVnZXInIHx8IHJocy50eXBlID09PSAnbnVtYmVyJztcblxuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgY2FzZSAnbWFwJzpcbiAgICAgICAgcmV0dXJuIHJocy50eXBlID09PSB0aGlzLnR5cGUudHlwZSAmJiBuZXcgUmljaFByb3BlcnR5VHlwZSh0aGlzLnR5cGUuZWxlbWVudCkuamF2YXNjcmlwdEVxdWFscyhyaHMuZWxlbWVudCk7XG5cbiAgICAgIGNhc2UgJ3VuaW9uJzpcbiAgICAgICAgaWYgKHJocy50eXBlICE9PSAndW5pb24nKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIEV2ZXJ5IHR5cGUgaW4gdGhpcyB1bmlvbiBuZWVkcyB0byBiZSBlcXVhbCBvbmUgdHlwZSBpbiBSSFNcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZS50eXBlcy5ldmVyeSgodDEpID0+IHJocy50eXBlcy5zb21lKCh0MikgPT4gbmV3IFJpY2hQcm9wZXJ0eVR5cGUodDEpLmphdmFzY3JpcHRFcXVhbHModDIpKSk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIEZvciBhbnl0aGluZyBlbHNlLCBuZWVkIHN0cmljdCBlcXVhbGl0eVxuICAgICAgICByZXR1cm4gdGhpcy5lcXVhbHMocmhzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY3VycmVudCB0eXBlIGlzIGFzc2lnbmFibGUgdG8gdGhlIFJIUyB0eXBlLlxuICAgKlxuICAgKiBUaGlzIGlzIG1lYW5zIGV2ZXJ5IHR5cGUgbWVtYmVyIG9mIHRoZSBMSFMgbXVzdCBiZSBwcmVzZW50IGluIHRoZSBSSFMgdHlwZVxuICAgKi9cbiAgcHVibGljIGFzc2lnbmFibGVUbyhyaHM6IFByb3BlcnR5VHlwZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGV4dHJhY3RNZW1iZXJzID0gKHR5cGU6IFByb3BlcnR5VHlwZSk6IFByb3BlcnR5VHlwZVtdID0+ICh0eXBlLnR5cGUgPT0gJ3VuaW9uJyA/IHR5cGUudHlwZXMgOiBbdHlwZV0pO1xuICAgIGNvbnN0IGFzUmljaFR5cGUgPSAodHlwZTogUHJvcGVydHlUeXBlKTogUmljaFByb3BlcnR5VHlwZSA9PiBuZXcgUmljaFByb3BlcnR5VHlwZSh0eXBlKTtcblxuICAgIGNvbnN0IHJoc01lbWJlcnMgPSBleHRyYWN0TWVtYmVycyhyaHMpO1xuICAgIGZvciAoY29uc3QgbGhzTWVtYmVyIG9mIGV4dHJhY3RNZW1iZXJzKHRoaXMudHlwZSkubWFwKGFzUmljaFR5cGUpKSB7XG4gICAgICBpZiAoIXJoc01lbWJlcnMuc29tZSgodHlwZSkgPT4gbGhzTWVtYmVyLmVxdWFscyh0eXBlKSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHZlcnNpb24gb2YgdGhpcyB0eXBlLCBidXQgd2l0aCBhbGwgdHlwZSB1bmlvbnMgaW4gYSByZWd1bGFyaXplZCBvcmRlclxuICAgKi9cbiAgcHVibGljIG5vcm1hbGl6ZShkYjogU3BlY0RhdGFiYXNlKTogUmljaFByb3BlcnR5VHlwZSB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUudHlwZSkge1xuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgY2FzZSAnbWFwJzpcbiAgICAgICAgcmV0dXJuIG5ldyBSaWNoUHJvcGVydHlUeXBlKHtcbiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUudHlwZSxcbiAgICAgICAgICBlbGVtZW50OiBuZXcgUmljaFByb3BlcnR5VHlwZSh0aGlzLnR5cGUuZWxlbWVudCkubm9ybWFsaXplKGRiKS50eXBlLFxuICAgICAgICB9KTtcbiAgICAgIGNhc2UgJ3VuaW9uJzpcbiAgICAgICAgY29uc3QgdHlwZXMgPSB0aGlzLnR5cGUudHlwZXNcbiAgICAgICAgICAubWFwKCh0KSA9PiBuZXcgUmljaFByb3BlcnR5VHlwZSh0KS5ub3JtYWxpemUoZGIpKVxuICAgICAgICAgIC5tYXAoKHQpID0+IFt0LCB0LnNvcnRLZXkoZGIpXSBhcyBjb25zdCk7XG4gICAgICAgIHR5cGVzLnNvcnQoc29ydEtleUNvbXBhcmF0b3IoKFtfLCBzb3J0S2V5XSkgPT4gc29ydEtleSkpO1xuICAgICAgICByZXR1cm4gbmV3IFJpY2hQcm9wZXJ0eVR5cGUoe1xuICAgICAgICAgIHR5cGU6ICd1bmlvbicsXG4gICAgICAgICAgdHlwZXM6IHR5cGVzLm1hcCgoW3QsIF9dKSA9PiB0LnR5cGUpLFxuICAgICAgICB9KTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdHJpbmdpZnkoZGI6IFNwZWNEYXRhYmFzZSwgd2l0aElkID0gdHJ1ZSk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUudHlwZSkge1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZS5hbGxvd2VkVmFsdWVzID8gYHN0cmluZzwke3RoaXMudHlwZS5hbGxvd2VkVmFsdWVzLmpvaW4oJ3wnKX0+YCA6ICdzdHJpbmcnO1xuICAgICAgY2FzZSAnaW50ZWdlcic6XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUuYWxsb3dlZFZhbHVlcyA/IGBpbnRlZ2VyPCR7dGhpcy50eXBlLmFsbG93ZWRWYWx1ZXMuam9pbignfCcpfT5gIDogJ2ludGVnZXInO1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICBjYXNlICdkYXRlLXRpbWUnOlxuICAgICAgY2FzZSAnanNvbic6XG4gICAgICBjYXNlICdudWxsJzpcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICBjYXNlICd0YWcnOlxuICAgICAgICByZXR1cm4gdGhpcy50eXBlLnR5cGU7XG4gICAgICBjYXNlICdhcnJheSc6XG4gICAgICAgIHJldHVybiBgQXJyYXk8JHtuZXcgUmljaFByb3BlcnR5VHlwZSh0aGlzLnR5cGUuZWxlbWVudCkuc3RyaW5naWZ5KGRiLCB3aXRoSWQpfT5gO1xuICAgICAgY2FzZSAnbWFwJzpcbiAgICAgICAgcmV0dXJuIGBNYXA8c3RyaW5nLCAke25ldyBSaWNoUHJvcGVydHlUeXBlKHRoaXMudHlwZS5lbGVtZW50KS5zdHJpbmdpZnkoZGIsIHdpdGhJZCl9PmA7XG4gICAgICBjYXNlICdyZWYnOlxuICAgICAgICBjb25zdCB0eXBlID0gZGIuZ2V0KCd0eXBlRGVmaW5pdGlvbicsIHRoaXMudHlwZS5yZWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gd2l0aElkID8gYCR7dHlwZS5uYW1lfSgke3RoaXMudHlwZS5yZWZlcmVuY2UuJHJlZn0pYCA6IHR5cGUubmFtZTtcbiAgICAgIGNhc2UgJ3VuaW9uJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZS50eXBlcy5tYXAoKHQpID0+IG5ldyBSaWNoUHJvcGVydHlUeXBlKHQpLnN0cmluZ2lmeShkYiwgd2l0aElkKSkuam9pbignIHwgJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHNvcnRhYmxlIGtleSBiYXNlZCBvbiB0aGlzIHR5cGVcbiAgICpcbiAgICogSWYgYSBkYXRhYmFzZSBpcyBnaXZlbiwgdHlwZSBkZWZpbml0aW9ucyB3aWxsIGJlIHNvcnRlZCBiYXNlZCBvbiB0eXBlIG5hbWUsXG4gICAqIG90aGVyd2lzZSBvbiBpZGVudGlmaWVyXG4gICAqL1xuICBwdWJsaWMgc29ydEtleShkYj86IFNwZWNEYXRhYmFzZSk6IHN0cmluZ1tdIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZS50eXBlKSB7XG4gICAgICBjYXNlICdpbnRlZ2VyJzpcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgY2FzZSAnZGF0ZS10aW1lJzpcbiAgICAgIGNhc2UgJ2pzb24nOlxuICAgICAgY2FzZSAnbnVsbCc6XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGNhc2UgJ3RhZyc6XG4gICAgICAgIHJldHVybiBbJzAnLCB0aGlzLnR5cGUudHlwZV07XG4gICAgICBjYXNlICdhcnJheSc6XG4gICAgICBjYXNlICdtYXAnOlxuICAgICAgICByZXR1cm4gWycxJywgdGhpcy50eXBlLnR5cGUsIC4uLm5ldyBSaWNoUHJvcGVydHlUeXBlKHRoaXMudHlwZS5lbGVtZW50KS5zb3J0S2V5KGRiKV07XG4gICAgICBjYXNlICdyZWYnOlxuICAgICAgICByZXR1cm4gWycyJywgdGhpcy50eXBlLnR5cGUsIGRiPy5nZXQoJ3R5cGVEZWZpbml0aW9uJywgdGhpcy50eXBlLnJlZmVyZW5jZSk/Lm5hbWUgPz8gdGhpcy50eXBlLnJlZmVyZW5jZS4kcmVmXTtcbiAgICAgIGNhc2UgJ3VuaW9uJzpcbiAgICAgICAgY29uc3QgdHlwZUtleXMgPSB0aGlzLnR5cGUudHlwZXMubWFwKCh0KSA9PiBuZXcgUmljaFByb3BlcnR5VHlwZSh0KS5zb3J0S2V5KGRiKSk7XG4gICAgICAgIHR5cGVLZXlzLnNvcnQoc29ydEtleUNvbXBhcmF0b3IoKHgpID0+IHgpKTtcbiAgICAgICAgcmV0dXJuIFsnMycsIHRoaXMudHlwZS50eXBlLCAuLi50eXBlS2V5cy5mbGF0TWFwKCh4KSA9PiB4KV07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB0eXBlIFByb3BlcnR5VHlwZSA9IEdlbmVyaWNQcm9wZXJ0eVR5cGU8VHlwZURlZmluaXRpb24+O1xuZXhwb3J0IHR5cGUgRGVmaW5pdGlvblJlZmVyZW5jZSA9IEdlbmVyaWNEZWZpbml0aW9uUmVmZXJlbmNlPFR5cGVEZWZpbml0aW9uPjtcbiJdfQ==
328
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBK1NBLDRDQUVDO0FBOVNELDZDQUFvRDtBQWtNcEQsTUFBYSxjQUFjO0lBQ3pCLFlBQTZCLEtBQStDO1FBQS9DLFVBQUssR0FBTCxLQUFLLENBQTBDO1FBQzFFLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUs7UUFDVixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFVBQVUsQ0FBQyxJQUFrQjtRQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVDLDZHQUE2RztRQUM3Ryx3R0FBd0c7UUFDeEcsOEdBQThHO1FBQzlHLHFDQUFxQztRQUNyQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pELDJDQUEyQztZQUMzQywyRUFBMkU7WUFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUM5RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7b0JB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QWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pGLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBQSwyQkFBaUIsRUFBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXhKRCw0Q0F3SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHksIFJlbGF0aW9uc2hpcCB9IGZyb20gJ0BjZGtsYWJzL3Rza2InO1xuaW1wb3J0IHsgQXJyYXlUeXBlLCBNYXBUeXBlLCBHZW5lcmljUHJvcGVydHlUeXBlLCBHZW5lcmljRGVmaW5pdGlvblJlZmVyZW5jZSB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IFNwZWNEYXRhYmFzZSB9IGZyb20gJy4vZGF0YWJhc2UnO1xuaW1wb3J0IHsgc29ydEtleUNvbXBhcmF0b3IgfSBmcm9tICcuLi91dGlsL3NvcnRpbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpdGlvbiBleHRlbmRzIEVudGl0eSB7XG4gIHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBIYXNSZWdpb24gPSBSZWxhdGlvbnNoaXA8UGFydGl0aW9uLCBSZWdpb24sIHsgaXNQcmltYXJ5PzogYm9vbGVhbiB9PjtcblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlIGV4dGVuZHMgRW50aXR5IHtcbiAgLyoqXG4gICAqIFRoZSBmdWxsIG5hbWUgb2YgdGhlIHNlcnZpY2UgaW5jbHVkaW5nIHRoZSBncm91cCBwcmVmaXgsIGxvd2VyY2FzZWQgYW5kIGh5cGhlbmF0ZWQuXG4gICAqXG4gICAqIEUuZy4gYEFXUzo6RHluYW1vREJgIC0+IGBhd3MtZHluYW1vZGJgXG4gICAqXG4gICAqIEBleGFtcGxlIGF3cy1keW5hbW9kYlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogT25seSB0aGUgc2VydmljZSBwYXJ0IG9mIHRoZSBuYW1lLCBsb3dlcmNhc2VkLlxuICAgKlxuICAgKiBFLmcuIGBBV1M6OkR5bmFtb0RCYCAtPiBgZHluYW1vZGJgXG4gICAqXG4gICAqIEBleGFtcGxlIGR5bmFtb2RiXG4gICAqL1xuICByZWFkb25seSBzaG9ydE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBzaG9ydG5hbWUgb2YgdGhlIHNlcnZpY2UgaW4gY2FwaXRhbGl6ZWQgZm9ybVxuICAgKlxuICAgKiBFLmcuIGBBV1M6OkR5bmFtb0RCYCAtPiBgRHluYW1vREJgXG4gICAqXG4gICAqIEBleGFtcGxlIGR5bmFtb2RiXG4gICAqL1xuICByZWFkb25seSBjYXBpdGFsaXplZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNvbXBsZXRlIGNsb3VkZm9ybWF0aW9uIHN0eWxlIG5hbWVzcGFjZSBvZiB0aGUgc2VydmljZVxuICAgKlxuICAgKiBFLmcuIGBBV1M6OkR5bmFtb0RCYFxuICAgKlxuICAgKiBAZXhhbXBsZSBkeW5hbW9kYlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGb3JtYXRpb25OYW1lc3BhY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpb24gZXh0ZW5kcyBFbnRpdHkge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50YXRpb24gZXh0ZW5kcyBFbnRpdHkge1xuICByZWFkb25seSBtYXJrZG93bjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlIGV4dGVuZHMgRW50aXR5IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbG91ZEZvcm1hdGlvblR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIElmIHNldCwgdGhpcyBDbG91ZEZvcm1hdGlvbiBUcmFuc2Zvcm0gaXMgcmVxdWlyZWQgYnkgdGhlIHJlc291cmNlXG4gICAqL1xuICBjbG91ZEZvcm1hdGlvblRyYW5zZm9ybT86IHN0cmluZztcbiAgZG9jdW1lbnRhdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByaW1hcnkgaWRlbnRpZmllciwgb3IgaWRlbnRpZmllcnMsIGluIENsb3VkIENvbnRyb2wgQVBJXG4gICAqXG4gICAqIFVuaXF1ZWx5IGlkZW50aWZpZXMgYSByZXNvdXJjZSBpbiBhbiBhY2NvdW50LlxuICAgKlxuICAgKiBUaGlzIGlzIHJlYWQgZnJvbSB0aGUgc2NoZW1hLCB3aGljaCBhbHdheXMgcGVydGFpbnMgdG8gdGhlIENDQVBJIGlkZW50aWZpZXIuXG4gICAqIFR5cGljYWxseSB0aGUgc2FtZSBhcyB0aGUgQ2xvdWRGb3JtYXRpb24gaWRlbnRpZmllciwgYnV0IG5vdCBuZWNlc3NhcmlseS5cbiAgICovXG4gIHByaW1hcnlJZGVudGlmaWVyPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwcmltYXJ5IGlkZW50aWZpZXIsIG9yIGlkZW50aWZpZXJzLCBpbiBDbG91ZEZvcm1hdGlvblxuICAgKlxuICAgKiBXaGF0ZXZlciBnZXRzIHJldHVybmVkIHdoZW4geW91IGNhbGwgYHsgUmVmIH1gIGEgcmVzb3VyY2UuIFR5cGljYWxseSB0aGVcbiAgICogdmFsdWUgdGhhdCBvdGhlciByZXNvdXJjZXMgaW4gdGhlIHNhbWUgc2VydmljZSBleHBlY3QgdG8gc2VlIGFzIHRoZSB3YXkgdG9cbiAgICogcmVmZXJlbmNlIHRoaXMgcmVzb3VyY2UgKG5hbWUgb3IgQVJOIG9yIElkKS5cbiAgICpcbiAgICogSWYgbWlzc2luZywgdGhlIGBjZm5SZWZJZGVudGlmaWVyYCBpcyB0aGUgc2FtZSBhcyB0aGUgKENDLUFQSSkgYHByaW1hcnlJZGVudGlmaWVyYC5cbiAgICovXG4gIGNmblJlZklkZW50aWZpZXI/OiBzdHJpbmdbXTtcblxuICByZWFkb25seSBwcm9wZXJ0aWVzOiBSZXNvdXJjZVByb3BlcnRpZXM7XG4gIHJlYWRvbmx5IGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIEF0dHJpYnV0ZT47XG4gIHJlYWRvbmx5IHZhbGlkYXRpb25zPzogdW5rbm93bjtcbiAgYXJuVGVtcGxhdGU/OiBzdHJpbmc7XG4gIGlzU3RhdGVmdWw/OiBib29sZWFuO1xuICB2ZW5kZWRMb2dzPzogVmVuZGVkTG9nc1tdO1xuXG4gIC8qKlxuICAgKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFnZ2FiaWxpdHkgb2YgdGhpcyByZXNvdXJjZVxuICAgKlxuICAgKiBVbmRlZmluZWQgaWYgdGhlIHJlc291cmNlIGlzIG5vdCB0YWdnYWJsZS5cbiAgICovXG4gIHRhZ0luZm9ybWF0aW9uPzogVGFnSW5mb3JtYXRpb247XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgY2hhbmdlcyB0byB0aGlzIHJlc291cmNlIG5lZWQgdG8gYmUgc2NydXRpbml6ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgUmVzb3VyY2VTY3J1dGlueVR5cGUuTk9ORVxuICAgKi9cbiAgc2NydXRpbml6YWJsZT86IFJlc291cmNlU2NydXRpbnlUeXBlO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHBhdGhzIHRvIHByb3BlcnRpZXMgdGhhdCBhbHNvIGNhdXNlIHJlcGxhY2VtZW50LlxuICAgKlxuICAgKiBUaGlzIGlzIHRvIGluZGljYXRlIHRoYXQgY2VydGFpbiBwcm9wZXJ0eSBwYXRocyBpbnRvIHRoaXMgcmVzb3VyY2VcbiAgICogd2lsbCBjYXVzZSByZXBsYWNlbWVudDsgb25seSByZXBsYWNlbWVudHMgdGhhdCBjYW5ub3QgYmUgcmVwcmVzZW50ZWRcbiAgICogYnkgdGFnZ2luZyB0aGUgcHJvcGVydHkgaW4gYSB0eXBlIGRlZmluaXRpb24gd2lsbCBiZSBpbmNsdWRlZCBoZXJlXG4gICAqIChmb3IgZXhhbXBsZSwgYmVjYXVzZSB0aGUgdGFnZ2VkIHByb3BlcnR5IHdvdWxkIGJlIGluIGEgcHJlZGVmaW5lZFxuICAgKiB0eXBlIGxpa2UgYHRhZ2ApLlxuICAgKlxuICAgKiBBbGwgcHJvcGVydGllcyBpbiB0aGlzIGxpc3Qgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYGNhdXNlc1JlcGxhY2VtZW50OiAneWVzJ2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IC1cbiAgICovXG4gIGFkZGl0aW9uYWxSZXBsYWNlbWVudFByb3BlcnRpZXM/OiBzdHJpbmdbXVtdO1xufVxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVByb3BlcnRpZXMgPSBSZWNvcmQ8c3RyaW5nLCBQcm9wZXJ0eT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURlZmluaXRpb24gZXh0ZW5kcyBFbnRpdHkge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIGRvY3VtZW50YXRpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb3BlcnRpZXM6IFJlc291cmNlUHJvcGVydGllcztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgcmVuZGVyIHRoaXMgdHlwZSBldmVuIGlmIGl0IGlzIHVudXNlZC5cbiAgICovXG4gIG11c3RSZW5kZXJGb3JCd0NvbXBhdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcGVydHkge1xuICAvKipcbiAgICogRGVzY3JpcHRpb24gb2YgdGhlIHByb3BlcnR5XG4gICAqL1xuICBkb2N1bWVudGF0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJcyB0aGlzIHByb3BlcnR5IHJlcXVpcmVkXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHR5cGUgb2YgdGhpcyBwcm9wZXJ0eVxuICAgKi9cbiAgdHlwZTogUHJvcGVydHlUeXBlO1xuXG4gIC8qKlxuICAgKiBBbiBvcmRlcmVkIGxpc3Qgb2YgcHJldmlvdXMgdHlwZXMgb2YgdGhpcyBwcm9wZXJ0eSBpbiBhc2NlbmRpbmcgb3JkZXJcbiAgICpcbiAgICogRG9lcyBub3QgaW5jbHVkZSB0aGUgY3VycmVudCB0eXBlLCB1c2UgYHR5cGVgIGZvciB0aGlzLlxuICAgKi9cbiAgcHJldmlvdXNUeXBlcz86IFByb3BlcnR5VHlwZVtdO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRhdGlvbiB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5XG4gICAqXG4gICAqIFRoaXMgdmFsdWUgaXMgbm90IGRpcmVjdGx5IGZ1bmN0aW9uYWw7IGl0IGRlc2NyaWJlcyBob3cgdGhlIHVuZGVybHlpbmcgcmVzb3VyY2VcbiAgICogd2lsbCBiZWhhdmUgaWYgdGhlIHZhbHVlIGlzIG5vdCBzcGVjaWZpZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCB1bmtub3duXG4gICAqL1xuICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm90IGRlcHJlY2F0ZWRcbiAgICovXG4gIGRlcHJlY2F0ZWQ/OiBEZXByZWNhdGlvbjtcblxuICAvKipcbiAgICogV2hldGhlciBjaGFuZ2VzIHRvIHRoaXMgcHJvcGVydHkgbmVlZHMgdG8gYmUgc2NydXRpbml6ZWQgc3BlY2lhbGx5XG4gICAqXG4gICAqIEBkZWZhdWx0IFByb3BlcnR5U2NydXRpbnlUeXBlLk5PTkVcbiAgICovXG4gIHNjcnV0aW5pemFibGU/OiBQcm9wZXJ0eVNjcnV0aW55VHlwZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY29udGFpbmluZyByZXNvdXJjZSB3aWxsIGJlIHJlcGxhY2VkIGlmIHRoaXMgcHJvcGVydHkgaXMgY2hhbmdlZFxuICAgKlxuICAgKiBAZGVmYXVsdCAnbm8nXG4gICAqL1xuICBjYXVzZXNSZXBsYWNlbWVudD86ICd5ZXMnIHwgJ25vJyB8ICdtYXliZSc7XG5cbiAgLyoqXG4gICAqIFJlbGF0aW9uc2hpcCByZWZlcmVuY2VzIHRvIG90aGVyIENsb3VkRm9ybWF0aW9uIHJlc291cmNlc1xuICAgKi9cbiAgcmVsYXRpb25zaGlwUmVmcz86IFJlbGF0aW9uc2hpcFJlZltdO1xufVxuXG5leHBvcnQgY2xhc3MgUmljaFR5cGVkRmllbGQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpZWxkOiBQaWNrPFByb3BlcnR5LCAndHlwZScgfCAncHJldmlvdXNUeXBlcyc+KSB7XG4gICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmllbGQgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHR5cGVzKCk6IFByb3BlcnR5VHlwZVtdIHtcbiAgICByZXR1cm4gWy4uLih0aGlzLmZpZWxkLnByZXZpb3VzVHlwZXMgPz8gW10pLCB0aGlzLmZpZWxkLnR5cGVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgdHlwZSBvZiB0aGlzIHByb3BlcnR5IHdpdGggYSBuZXcgdHlwZVxuICAgKlxuICAgKiBPbmx5IGlmIGl0J3Mgbm90IGluIHRoZSBzZXQgb2YgdHlwZXMgYWxyZWFkeS5cbiAgICpcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB0eXBlIHdhcyB1cGRhdGVkLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVR5cGUodHlwZTogUHJvcGVydHlUeXBlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmljaFR5cGUgPSBuZXcgUmljaFByb3BlcnR5VHlwZSh0eXBlKTtcblxuICAgIC8vIE9ubHkgYWRkIHRoaXMgdHlwZSBpZiB3ZSBkb24ndCBhbHJlYWR5IGhhdmUgaXQuIFdlIGFyZSBvbmx5IGRvaW5nIGNvbXBhcmlzb25zIHdoZXJlICdpbnRlZ2VyJyBhbmQgJ251bWJlcidcbiAgICAvLyBhcmUgdHJlYXRlZCB0aGUgc2FtZSwgZm9yIGFsbCBvdGhlciB0eXBlcyB3ZSBuZWVkIHN0cmljdCBlcXVhbGl0eS4gV2UgdXNlZCB0byB1c2UgJ2Fzc2lnbmFibGVUbycgYXMgYVxuICAgIC8vIGNvbmRpdGlvbiwgYnV0IHRoZXNlIHR5cGVzIHdpbGwgYmUgcmVuZGVyZWQgaW4gYm90aCBjby0gYW5kIGNvbnRyYXZhcmlhbnQgcG9zaXRpb25zLCBhbmQgc28gd2UgcmVhbGx5IGNhbid0XG4gICAgLy8gZG8gbXVjaCBiZXR0ZXIgdGhhbiBmdWxsIGVxdWFsaXR5LlxuICAgIGlmICh0aGlzLnR5cGVzKCkuc29tZSgodCkgPT4gcmljaFR5cGUuZXF1YWxzKHQpKSkge1xuICAgICAgLy8gTm90aGluZyB0byBkbywgdHlwZSBpcyBhbHJlYWR5IGluIHRoZXJlLlxuICAgICAgLy8gQnV0IGlmIHRoZSBuZXcgdHlwZSBoYXMgYWxsb3dlZFZhbHVlcywgbWVyZ2UgdGhlbSBpbnRvIHRoZSBjdXJyZW50IHR5cGUuXG4gICAgICBpZiAoKHR5cGUudHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZS50eXBlID09PSAnaW50ZWdlcicpICYmIHR5cGUuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICBpZiAodGhpcy5maWVsZC50eXBlLnR5cGUgPT09IHR5cGUudHlwZSkge1xuICAgICAgICAgICh0aGlzLmZpZWxkLnR5cGUgYXMgYW55KS5hbGxvd2VkVmFsdWVzID0gdHlwZS5hbGxvd2VkVmFsdWVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBjYXNlOiBpZiB0aGUgbmV3IHR5cGUgaXMgYHN0cmluZ2AgYW5kIHRoZSBvbGQgdHlwZSBpcyBgZGF0ZS10aW1lYCwgd2UgYXNzdW1lIHRoaXMgaXNcbiAgICAvLyB0aGUgc2FtZSB0eXBlIGJ1dCB3ZSBkcm9wcGVkIHNvbWUgZm9ybWF0dGluZyBpbmZvcm1hdGlvbi4gTm8gbmVlZCB0byBtYWtlIHRoaXMgYSBzZXBhcmF0ZSB0eXBlLlxuICAgIGlmICh0eXBlLnR5cGUgPT09ICdzdHJpbmcnICYmIHRoaXMudHlwZXMoKS5zb21lKCh0KSA9PiB0LnR5cGUgPT09ICdkYXRlLXRpbWUnKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgY2FzZTogaWYgdGhlIG5ldyB0eXBlIGlzIGBzdHJpbmdgIGFuZCB0aGUgb2xkIHR5cGUgaXMgYGpzb25gLCB3ZSBhc3N1bWUgdGhpcyBpcyBhIGNvcnJlY3Rpb25cbiAgICAvLyBvZiBhIGJ1ZzsgdGhlIG9sZCB0eXBlIHdhcyBpbmNvcnJlY3RseSB0eXBlZCBhcyBKc29uLCBhbmQgd2UncmUgbm93IGNvcnJlY3RpbmcgdGhpcy4gU2luY2UgdGhpcyB3YXMgYVxuICAgIC8vIGJ1Zywgd2UgZG9uJ3QgbmVlZCB0byBrZWVwIHRoZSBvbGQgdHlwZTogaXQgd2FzIG5ldmVyIGFjY3VyYXRlLlxuICAgIC8vXG4gICAgLy8gV2UgY291bGQgYmUgbW9yZSBicm9hZCwgYW5kIG9ubHkgbWFpbnRhaW4gdHlwZSBoaXN0b3J5IGlmIHdlIGdvIGZyb21cbiAgICAvLyBganNvbmAgLT4gYG5hbWVkIHR5cGVgLCBvciBgbmFtZWQgdHlwZWAgLT4gYG5hbWVkIHR5cGVgLiAgRm9yIG5vdyBJJ21cbiAgICAvLyB3YXJ5IG9mIGRlc3Ryb3lpbmcgdG9vIG11Y2ggaW5mb3JtYXRpb247IHdlJ2xsIGp1c3QgZG8gdGhlIGZpeCBzcGVjaWZpY2FsbHlcbiAgICAvLyBmb3IgYGpzb25gIC0+IGBzdHJpbmdgLlxuICAgIGlmICh0eXBlLnR5cGUgPT09ICdzdHJpbmcnICYmIHRoaXMuZmllbGQudHlwZS50eXBlID09PSAnanNvbicpIHtcbiAgICAgIHRoaXMuZmllbGQudHlwZSA9IHR5cGU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZmllbGQucHJldmlvdXNUeXBlcykge1xuICAgICAgdGhpcy5maWVsZC5wcmV2aW91c1R5cGVzID0gW107XG4gICAgfVxuICAgIHRoaXMuZmllbGQucHJldmlvdXNUeXBlcy5wdXNoKHRoaXMuZmllbGQudHlwZSk7XG4gICAgdGhpcy5maWVsZC50eXBlID0gdHlwZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmljaFByb3BlcnR5IGV4dGVuZHMgUmljaFR5cGVkRmllbGQge1xuICBjb25zdHJ1Y3Rvcihwcm9wZXJ0eTogUHJvcGVydHkpIHtcbiAgICBzdXBlcihwcm9wZXJ0eSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJpY2hBdHRyaWJ1dGUgZXh0ZW5kcyBSaWNoVHlwZWRGaWVsZCB7XG4gIGNvbnN0cnVjdG9yKGF0dHI6IEF0dHJpYnV0ZSkge1xuICAgIHN1cGVyKGF0dHIpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlIHtcbiAgZG9jdW1lbnRhdGlvbj86IHN0cmluZztcbiAgdHlwZTogUHJvcGVydHlUeXBlO1xuICAvKipcbiAgICogQW4gb3JkZXJlZCBsaXN0IG9mIHByZXZpb3VzIHR5cGVzIG9mIHRoaXMgcHJvcGVydHkgaW4gYXNjZW5kaW5nIG9yZGVyXG4gICAqXG4gICAqIERvZXMgbm90IGluY2x1ZGUgdGhlIGN1cnJlbnQgdHlwZSwgdXNlIGB0eXBlYCBmb3IgdGhpcy5cbiAgICovXG4gIHByZXZpb3VzVHlwZXM/OiBQcm9wZXJ0eVR5cGVbXTtcbn1cblxuZXhwb3J0IGVudW0gRGVwcmVjYXRpb24ge1xuICAvKipcbiAgICogTm90IGRlcHJlY2F0ZWRcbiAgICovXG4gIE5PTkUgPSAnTk9ORScsXG5cbiAgLyoqXG4gICAqIFdhcm4gYWJvdXQgdXNlXG4gICAqL1xuICBXQVJOID0gJ1dBUk4nLFxuXG4gIC8qKlxuICAgKiBEbyBub3QgZW1pdCB0aGUgdmFsdWUgYXQgYWxsXG4gICAqXG4gICAqIChIYW5kbGUgcHJvcGVydGllcyB0aGF0IHdlcmUgaW5jb3JyZWN0bHkgYWRkZWQgdG8gdGhlIHNwZWMpXG4gICAqL1xuICBJR05PUkUgPSAnSUdOT1JFJyxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29sbGVjdGlvblR5cGUoeDogUHJvcGVydHlUeXBlKTogeCBpcyBBcnJheVR5cGU8YW55PiB8IE1hcFR5cGU8YW55PiB7XG4gIHJldHVybiB4LnR5cGUgPT09ICdhcnJheScgfHwgeC50eXBlID09PSAnbWFwJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWdJbmZvcm1hdGlvbiB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBwcm9wZXJ0eSB0aGF0IGhvbGRzIHRoZSB0YWdzXG4gICAqL1xuICByZWFkb25seSB0YWdQcm9wZXJ0eU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVXNlZCB0byBpbnN0cnVjdCBjZGsuVGFnTWFuYWdlciBob3cgdG8gaGFuZGxlIHRhZ3NcbiAgICovXG4gIHJlYWRvbmx5IHZhcmlhbnQ6IFRhZ1ZhcmlhbnQ7XG59XG5cbmV4cG9ydCB0eXBlIFRhZ1ZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FzZycgfCAnbWFwJztcblxuZXhwb3J0IHR5cGUgSGFzUmVzb3VyY2UgPSBSZWxhdGlvbnNoaXA8U2VydmljZSwgUmVzb3VyY2U+O1xuZXhwb3J0IHR5cGUgUmVnaW9uSGFzUmVzb3VyY2UgPSBSZWxhdGlvbnNoaXA8UmVnaW9uLCBSZXNvdXJjZT47XG5leHBvcnQgdHlwZSBSZWdpb25IYXNTZXJ2aWNlID0gUmVsYXRpb25zaGlwPFJlZ2lvbiwgU2VydmljZT47XG5leHBvcnQgdHlwZSBSZXNvdXJjZURvYyA9IFJlbGF0aW9uc2hpcDxSZXNvdXJjZSwgRG9jdW1lbnRhdGlvbj47XG5cbmV4cG9ydCB0eXBlIFNlcnZpY2VJblJlZ2lvbiA9IFJlbGF0aW9uc2hpcDxSZWdpb24sIFNlcnZpY2U+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VJblJlZ2lvbiA9IFJlbGF0aW9uc2hpcDxSZWdpb24sIFJlc291cmNlPjtcblxuZXhwb3J0IHR5cGUgVXNlc1R5cGUgPSBSZWxhdGlvbnNoaXA8UmVzb3VyY2UsIFR5cGVEZWZpbml0aW9uPjtcblxuLyoqXG4gKiBNYXJrIGEgcmVzb3VyY2UgYXMgYSByZXNvdXJjZSB0aGF0IG5lZWRzIGFkZGl0aW9uYWwgc2NydXRpeSB3aGVuIGFkZGVkLCByZW1vdmVkIG9yIGNoYW5nZWRcbiAqXG4gKiBVc2VkIHRvIG1hcmsgcmVzb3VyY2VzIHRoYXQgcmVwcmVzZW50IHNlY3VyaXR5IHBvbGljaWVzLlxuICovXG5leHBvcnQgZW51bSBSZXNvdXJjZVNjcnV0aW55VHlwZSB7XG4gIC8qKlxuICAgKiBObyBhZGRpdGlvbmFsIHNjcnV0aW55XG4gICAqL1xuICBOb25lID0gJ05vbmUnLFxuXG4gIC8qKlxuICAgKiBBbiBleHRlcm5hbGx5IGF0dGFjaGVkIHBvbGljeSBkb2N1bWVudCB0byBhIHJlc291cmNlXG4gICAqXG4gICAqIChDb21tb24gZm9yIFNRUywgU05TLCBTMywgLi4uKVxuICAgKi9cbiAgUmVzb3VyY2VQb2xpY3lSZXNvdXJjZSA9ICdSZXNvdXJjZVBvbGljeVJlc291cmNlJyxcblxuICAvKipcbiAgICogVGhpcyBpcyBhbiBJQU0gcG9saWN5IG9uIGFuIGlkZW50aXR5IHJlc291cmNlXG4gICAqXG4gICAqIChCYXNpY2FsbHkgc2F5aW5nOiB0aGlzIGlzIEFXUzo6SUFNOjpQb2xpY3kpXG4gICAqL1xuICBJZGVudGl0eVBvbGljeVJlc291cmNlID0gJ0lkZW50aXR5UG9saWN5UmVzb3VyY2UnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIGEgTGFtYmRhIFBlcm1pc3Npb24gcG9saWN5XG4gICAqL1xuICBMYW1iZGFQZXJtaXNzaW9uID0gJ0xhbWJkYVBlcm1pc3Npb24nLFxuXG4gIC8qKlxuICAgKiBBbiBpbmdyZXNzIHJ1bGUgb2JqZWN0XG4gICAqL1xuICBJbmdyZXNzUnVsZVJlc291cmNlID0gJ0luZ3Jlc3NSdWxlUmVzb3VyY2UnLFxuXG4gIC8qKlxuICAgKiBBIHNldCBvZiBlZ3Jlc3MgcnVsZXNcbiAgICovXG4gIEVncmVzc1J1bGVSZXNvdXJjZSA9ICdFZ3Jlc3NSdWxlUmVzb3VyY2UnLFxuXG4gIC8qKlxuICAgKiBBV1M6OlNTTzo6QXNzaWdubWVudFxuICAgKlxuICAgKiBJQU0gSWRlbnRpdHkgQ2VudGVyIChmb3JtZXJseSBrbm93biBhcyBTU08pXG4gICAqL1xuICBTc29Bc3NpZ25tZW50UmVzb3VyY2UgPSAnU3NvQXNzaWdubWVudFJlc291cmNlJyxcblxuICAvKipcbiAgICogQVdTOjpTU086Okluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogSUFNIElkZW50aXR5IENlbnRlciAoZm9ybWVybHkga25vd24gYXMgU1NPKVxuICAgKi9cbiAgU3NvSW5zdGFuY2VBQ0FDb25maWdSZXNvdXJjZSA9ICdTc29JbnN0YW5jZUFDQUNvbmZpZ1Jlc291cmNlJyxcblxuICAvKipcbiAgICogQVdTOjpTU086OlBlcm1pc3Npb25TZXRcbiAgICpcbiAgICogSUFNIElkZW50aXR5IENlbnRlciAoZm9ybWVybHkga25vd24gYXMgU1NPKVxuICAgKi9cbiAgU3NvUGVybWlzc2lvblNldCA9ICdTc29QZXJtaXNzaW9uU2V0Jyxcbn1cblxuLyoqXG4gKiBNYXJrIGEgcHJvcGVydHkgYXMgYSBwcm9wZXJ0eSB0aGF0IG5lZWRzIGFkZGl0aW9uYWwgc2NydXRpbnkgd2hlbiBpdCBjaGFuZ2VzXG4gKlxuICogVXNlZCB0byBtYXJrIHNlbnNpdGl2ZSBwcm9wZXJ0aWVzIHRoYXQgaGF2ZSBzZWN1cml0eS1yZWxhdGVkIGltcGxpY2F0aW9ucy5cbiAqL1xuZXhwb3J0IGVudW0gUHJvcGVydHlTY3J1dGlueVR5cGUge1xuICAvKipcbiAgICogTm8gYWRkaXRpb25hbCBzY3J1dGlueVxuICAgKi9cbiAgTm9uZSA9ICdOb25lJyxcblxuICAvKipcbiAgICogVGhpcyBpcyBhbiBJQU0gcG9saWN5IGRpcmVjdGx5IG9uIGEgcmVzb3VyY2VcbiAgICovXG4gIElubGluZVJlc291cmNlUG9saWN5ID0gJ0lubGluZVJlc291cmNlUG9saWN5JyxcblxuICAvKipcbiAgICogRWl0aGVyIGFuIEFzc3VtZVJvbGVQb2xpY3lEb2N1bWVudCBvciBhIGRpY3Rpb25hcnkgb2YgcG9saWN5IGRvY3VtZW50c1xuICAgKi9cbiAgSW5saW5lSWRlbnRpdHlQb2xpY2llcyA9ICdJbmxpbmVJZGVudGl0eVBvbGljaWVzJyxcblxuICAvKipcbiAgICogQSBsaXN0IG9mIG1hbmFnZWQgcG9saWNpZXMgKG9uIGFuIGlkZW50aXR5IHJlc291cmNlKVxuICAgKi9cbiAgTWFuYWdlZFBvbGljaWVzID0gJ01hbmFnZWRQb2xpY2llcycsXG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIGluZ3Jlc3MgcnVsZXMgKG9uIGEgc2VjdXJpdHkgZ3JvdXApXG4gICAqL1xuICBJbmdyZXNzUnVsZXMgPSAnSW5ncmVzc1J1bGVzJyxcblxuICAvKipcbiAgICogQSBzZXQgb2YgZWdyZXNzIHJ1bGVzIChvbiBhIHNlY3VyaXR5IGdyb3VwKVxuICAgKi9cbiAgRWdyZXNzUnVsZXMgPSAnRWdyZXNzUnVsZXMnLFxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSByZWxhdGlvbnNoaXAgcmVmZXJlbmNlIHRvIGFub3RoZXIgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWxhdGlvbnNoaXBSZWYge1xuICAvKipcbiAgICogVGhlIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGUgdGhpcyBwcm9wZXJ0eSByZWZlcmVuY2VzXG4gICAqL1xuICByZWFkb25seSBjbG91ZEZvcm1hdGlvblR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb3BlcnR5IG5hbWUgd2l0aGluIHRoZSByZWZlcmVuY2VkIHJlc291cmNlIChlLmcuLCBcIklkXCIpXG4gICAqL1xuICByZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZGVsaXZlcnkgZGVzdGluYXRpb24gdGhhdCBhIENsb3VkZm9ybWF0aW9uIHJlc291cmNlIGNhbiBzZW5kIGxvZ3MgdG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWxpdmVyeURlc3RpbmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHNlcnZpY2UgdGhhdCBpcyBpbmdlc3RpbmcgdGhlIGxvZ3MsIGNhbiBiZSBTMyB8IEZIIHwgQ1dMIHwgWFJBWVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb25UeXBlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBmb3JtYXQgb2YgbG9ncyBzZW50IHRvIHRoaXMgZGVsaXZlcnkgZGVzdGluYXRpb24sIGNhbiBiZSBqc29uIHwgcGFycXVldCB8IHczYyB8IHBsYWluIHwgcmF3IHwgdW5kZWZpbmVkXG4gICAqIFdoYXQgZm9ybWF0cyBhcmUgYXZhbGlibGUgdmFyeSBiYXNlZCBvbiBkZXN0aW5hdGlvblR5cGVcbiAgICogUzMgZGVzdGluYXRpb24gdHlwZXMgY2FuIGFjY2VwdCBqc29uLCBwbGFpbiwgdzNjLCBvciBwYXJxdWV0XG4gICAqIENsb3Vkd2F0Y2ggZGVzdGluYXRpb24gdHlwZXMgY2FuIGFjY2VwdCBwbGFpbiBvciBqc29uXG4gICAqIEZpcmVob3NlIGRlc3RpbmF0aW9uIHR5cGVzIGNhbiBhY2NlcHQganNvbiwgcmF3LCBvciBwYXJxdWV0XG4gICAqIFhSYXkgZGVzdGluYXRpb24gdHlwZXMgZG8gbm90IHVzZSBvdXRwdXQgZm9ybWF0c1xuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0Rm9ybWF0cz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0eXBlIG9mIGxvZyB0aGF0IGEgQ2xvdWRmb3JtYXRpb24gUmVzb3VyY2UgY2FuIHByb2R1Y2UgYW5kIHdoYXQgZGVzdGluYXRpb25zIGNhbiBjb25zdW1lIHRoZW1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZW5kZWRMb2dzIHtcbiAgLyoqXG4gICAqIFdoYXQgdmVyc2lvbiBvZiBwZXJtaXNzaW9ucyB0aGUgZGVzdGluYXRpb24gc3VwcG9ydHMgVjEgfCBWMlxuICAgKi9cbiAgcmVhZG9ubHkgcGVybWlzc2lvbnNWZXJzaW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUeXBlIG9mIGxvZyBhIENsb3VkZm9ybWF0aW9uIHJlc291cmNlIGNhbiBwcm9kdWNlXG4gICAqL1xuICByZWFkb25seSBsb2dUeXBlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaXN0IG9mIHRoZSBkZXN0aW5hdGlvbnMgdGhlIGNhbiBjb25zdW1lIHRob3NlIGxvZ3NcbiAgICovXG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uczogRGVsaXZlcnlEZXN0aW5hdGlvbltdO1xuICAvKipcbiAgICogUmVjb3JkIGZpZWxkcyB0aGF0IGFyZSBtYW5kYXRvcnkgdG8gYmUgZGVsaXZlcmVkXG4gICAqL1xuICBtYW5kYXRvcnlGaWVsZHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFJlY29yZCBmaWVsZHMgdGhhdCBjYW4gYmUgb3B0aW9uYWxseSBkZWxpdmVyZWRcbiAgICovXG4gIG9wdGlvbmFsRmllbGRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBSaWNoUHJvcGVydHlUeXBlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0eXBlOiBQcm9wZXJ0eVR5cGUpIHt9XG5cbiAgcHVibGljIGVxdWFscyhyaHM6IFByb3BlcnR5VHlwZSk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAodGhpcy50eXBlLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2ludGVnZXInOlxuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICBjYXNlICdkYXRlLXRpbWUnOlxuICAgICAgY2FzZSAnanNvbic6XG4gICAgICBjYXNlICdudWxsJzpcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgY2FzZSAndGFnJzpcbiAgICAgICAgcmV0dXJuIHJocy50eXBlID09PSB0aGlzLnR5cGUudHlwZTtcbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgIGNhc2UgJ21hcCc6XG4gICAgICAgIHJldHVybiByaHMudHlwZSA9PT0gdGhpcy50eXBlLnR5cGUgJiYgbmV3IFJpY2hQcm9wZXJ0eVR5cGUodGhpcy50eXBlLmVsZW1lbnQpLmVxdWFscyhyaHMuZWxlbWVudCk7XG4gICAgICBjYXNlICdyZWYnOlxuICAgICAgICByZXR1cm4gcmhzLnR5cGUgPT09ICdyZWYnICYmIHRoaXMudHlwZS5yZWZlcmVuY2UuJHJlZiA9PT0gcmhzLnJlZmVyZW5jZS4kcmVmO1xuICAgICAgY2FzZSAndW5pb24nOlxuICAgICAgICBjb25zdCBsaHNLZXkgPSB0aGlzLnNvcnRLZXkoKTtcbiAgICAgICAgY29uc3QgcmhzS2V5ID0gbmV3IFJpY2hQcm9wZXJ0eVR5cGUocmhzKS5zb3J0S2V5KCk7XG4gICAgICAgIHJldHVybiBsaHNLZXkubGVuZ3RoID09PSByaHNLZXkubGVuZ3RoICYmIGxoc0tleS5ldmVyeSgobCwgaSkgPT4gbCA9PT0gcmhzS2V5W2ldKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY3VycmVudCB0eXBlIGlzIEphdmFTY3JpcHQtZXF1YWwgdG8gdGhlIFJIUyB0eXBlXG4gICAqXG4gICAqIFNhbWUgYXMgbm9ybWFsIGVxdWFsaXR5LCBidXQgY29uc2lkZXIgYGludGVnZXJgIGFuZCBgbnVtYmVyYCB0aGUgc2FtZSB0eXBlcy5cbiAgICovXG4gIHB1YmxpYyBqYXZhc2NyaXB0RXF1YWxzKHJoczogUHJvcGVydHlUeXBlKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUudHlwZSkge1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgIGNhc2UgJ2ludGVnZXInOlxuICAgICAgICAvLyBXaWRlbmluZ1xuICAgICAgICByZXR1cm4gcmhzLnR5cGUgPT09ICdpbnRlZ2VyJyB8fCByaHMudHlwZSA9PT0gJ251bWJlcic7XG5cbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgIGNhc2UgJ21hcCc6XG4gICAgICAgIHJldHVybiByaHMudHlwZSA9PT0gdGhpcy50eXBlLnR5cGUgJiYgbmV3IFJpY2hQcm9wZXJ0eVR5cGUodGhpcy50eXBlLmVsZW1lbnQpLmphdmFzY3JpcHRFcXVhbHMocmhzLmVsZW1lbnQpO1xuXG4gICAgICBjYXNlICd1bmlvbic6XG4gICAgICAgIGlmIChyaHMudHlwZSAhPT0gJ3VuaW9uJykge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBFdmVyeSB0eXBlIGluIHRoaXMgdW5pb24gbmVlZHMgdG8gYmUgZXF1YWwgb25lIHR5cGUgaW4gUkhTXG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUudHlwZXMuZXZlcnkoKHQxKSA9PiByaHMudHlwZXMuc29tZSgodDIpID0+IG5ldyBSaWNoUHJvcGVydHlUeXBlKHQxKS5qYXZhc2NyaXB0RXF1YWxzKHQyKSkpO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvLyBGb3IgYW55dGhpbmcgZWxzZSwgbmVlZCBzdHJpY3QgZXF1YWxpdHlcbiAgICAgICAgcmV0dXJuIHRoaXMuZXF1YWxzKHJocyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGN1cnJlbnQgdHlwZSBpcyBhc3NpZ25hYmxlIHRvIHRoZSBSSFMgdHlwZS5cbiAgICpcbiAgICogVGhpcyBpcyBtZWFucyBldmVyeSB0eXBlIG1lbWJlciBvZiB0aGUgTEhTIG11c3QgYmUgcHJlc2VudCBpbiB0aGUgUkhTIHR5cGVcbiAgICovXG4gIHB1YmxpYyBhc3NpZ25hYmxlVG8ocmhzOiBQcm9wZXJ0eVR5cGUpOiBib29sZWFuIHtcbiAgICBjb25zdCBleHRyYWN0TWVtYmVycyA9ICh0eXBlOiBQcm9wZXJ0eVR5cGUpOiBQcm9wZXJ0eVR5cGVbXSA9PiAodHlwZS50eXBlID09ICd1bmlvbicgPyB0eXBlLnR5cGVzIDogW3R5cGVdKTtcbiAgICBjb25zdCBhc1JpY2hUeXBlID0gKHR5cGU6IFByb3BlcnR5VHlwZSk6IFJpY2hQcm9wZXJ0eVR5cGUgPT4gbmV3IFJpY2hQcm9wZXJ0eVR5cGUodHlwZSk7XG5cbiAgICBjb25zdCByaHNNZW1iZXJzID0gZXh0cmFjdE1lbWJlcnMocmhzKTtcbiAgICBmb3IgKGNvbnN0IGxoc01lbWJlciBvZiBleHRyYWN0TWVtYmVycyh0aGlzLnR5cGUpLm1hcChhc1JpY2hUeXBlKSkge1xuICAgICAgaWYgKCFyaHNNZW1iZXJzLnNvbWUoKHR5cGUpID0+IGxoc01lbWJlci5lcXVhbHModHlwZSkpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSB2ZXJzaW9uIG9mIHRoaXMgdHlwZSwgYnV0IHdpdGggYWxsIHR5cGUgdW5pb25zIGluIGEgcmVndWxhcml6ZWQgb3JkZXJcbiAgICovXG4gIHB1YmxpYyBub3JtYWxpemUoZGI6IFNwZWNEYXRhYmFzZSk6IFJpY2hQcm9wZXJ0eVR5cGUge1xuICAgIHN3aXRjaCAodGhpcy50eXBlLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgIGNhc2UgJ21hcCc6XG4gICAgICAgIHJldHVybiBuZXcgUmljaFByb3BlcnR5VHlwZSh7XG4gICAgICAgICAgdHlwZTogdGhpcy50eXBlLnR5cGUsXG4gICAgICAgICAgZWxlbWVudDogbmV3IFJpY2hQcm9wZXJ0eVR5cGUodGhpcy50eXBlLmVsZW1lbnQpLm5vcm1hbGl6ZShkYikudHlwZSxcbiAgICAgICAgfSk7XG4gICAgICBjYXNlICd1bmlvbic6XG4gICAgICAgIGNvbnN0IHR5cGVzID0gdGhpcy50eXBlLnR5cGVzXG4gICAgICAgICAgLm1hcCgodCkgPT4gbmV3IFJpY2hQcm9wZXJ0eVR5cGUodCkubm9ybWFsaXplKGRiKSlcbiAgICAgICAgICAubWFwKCh0KSA9PiBbdCwgdC5zb3J0S2V5KGRiKV0gYXMgY29uc3QpO1xuICAgICAgICB0eXBlcy5zb3J0KHNvcnRLZXlDb21wYXJhdG9yKChbXywgc29ydEtleV0pID0+IHNvcnRLZXkpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBSaWNoUHJvcGVydHlUeXBlKHtcbiAgICAgICAgICB0eXBlOiAndW5pb24nLFxuICAgICAgICAgIHR5cGVzOiB0eXBlcy5tYXAoKFt0LCBfXSkgPT4gdC50eXBlKSxcbiAgICAgICAgfSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RyaW5naWZ5KGRiOiBTcGVjRGF0YWJhc2UsIHdpdGhJZCA9IHRydWUpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy50eXBlLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUuYWxsb3dlZFZhbHVlcyA/IGBzdHJpbmc8JHt0aGlzLnR5cGUuYWxsb3dlZFZhbHVlcy5qb2luKCd8Jyl9PmAgOiAnc3RyaW5nJztcbiAgICAgIGNhc2UgJ2ludGVnZXInOlxuICAgICAgICByZXR1cm4gdGhpcy50eXBlLmFsbG93ZWRWYWx1ZXMgPyBgaW50ZWdlcjwke3RoaXMudHlwZS5hbGxvd2VkVmFsdWVzLmpvaW4oJ3wnKX0+YCA6ICdpbnRlZ2VyJztcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgY2FzZSAnZGF0ZS10aW1lJzpcbiAgICAgIGNhc2UgJ2pzb24nOlxuICAgICAgY2FzZSAnbnVsbCc6XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgY2FzZSAndGFnJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZS50eXBlO1xuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgICByZXR1cm4gYEFycmF5PCR7bmV3IFJpY2hQcm9wZXJ0eVR5cGUodGhpcy50eXBlLmVsZW1lbnQpLnN0cmluZ2lmeShkYiwgd2l0aElkKX0+YDtcbiAgICAgIGNhc2UgJ21hcCc6XG4gICAgICAgIHJldHVybiBgTWFwPHN0cmluZywgJHtuZXcgUmljaFByb3BlcnR5VHlwZSh0aGlzLnR5cGUuZWxlbWVudCkuc3RyaW5naWZ5KGRiLCB3aXRoSWQpfT5gO1xuICAgICAgY2FzZSAncmVmJzpcbiAgICAgICAgY29uc3QgdHlwZSA9IGRiLmdldCgndHlwZURlZmluaXRpb24nLCB0aGlzLnR5cGUucmVmZXJlbmNlKTtcbiAgICAgICAgcmV0dXJuIHdpdGhJZCA/IGAke3R5cGUubmFtZX0oJHt0aGlzLnR5cGUucmVmZXJlbmNlLiRyZWZ9KWAgOiB0eXBlLm5hbWU7XG4gICAgICBjYXNlICd1bmlvbic6XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUudHlwZXMubWFwKCh0KSA9PiBuZXcgUmljaFByb3BlcnR5VHlwZSh0KS5zdHJpbmdpZnkoZGIsIHdpdGhJZCkpLmpvaW4oJyB8ICcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBzb3J0YWJsZSBrZXkgYmFzZWQgb24gdGhpcyB0eXBlXG4gICAqXG4gICAqIElmIGEgZGF0YWJhc2UgaXMgZ2l2ZW4sIHR5cGUgZGVmaW5pdGlvbnMgd2lsbCBiZSBzb3J0ZWQgYmFzZWQgb24gdHlwZSBuYW1lLFxuICAgKiBvdGhlcndpc2Ugb24gaWRlbnRpZmllclxuICAgKi9cbiAgcHVibGljIHNvcnRLZXkoZGI/OiBTcGVjRGF0YWJhc2UpOiBzdHJpbmdbXSB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUudHlwZSkge1xuICAgICAgY2FzZSAnaW50ZWdlcic6XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIGNhc2UgJ2RhdGUtdGltZSc6XG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgIGNhc2UgJ251bGwnOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBjYXNlICd0YWcnOlxuICAgICAgICByZXR1cm4gWycwJywgdGhpcy50eXBlLnR5cGVdO1xuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgY2FzZSAnbWFwJzpcbiAgICAgICAgcmV0dXJuIFsnMScsIHRoaXMudHlwZS50eXBlLCAuLi5uZXcgUmljaFByb3BlcnR5VHlwZSh0aGlzLnR5cGUuZWxlbWVudCkuc29ydEtleShkYildO1xuICAgICAgY2FzZSAncmVmJzpcbiAgICAgICAgcmV0dXJuIFsnMicsIHRoaXMudHlwZS50eXBlLCBkYj8uZ2V0KCd0eXBlRGVmaW5pdGlvbicsIHRoaXMudHlwZS5yZWZlcmVuY2UpPy5uYW1lID8/IHRoaXMudHlwZS5yZWZlcmVuY2UuJHJlZl07XG4gICAgICBjYXNlICd1bmlvbic6XG4gICAgICAgIGNvbnN0IHR5cGVLZXlzID0gdGhpcy50eXBlLnR5cGVzLm1hcCgodCkgPT4gbmV3IFJpY2hQcm9wZXJ0eVR5cGUodCkuc29ydEtleShkYikpO1xuICAgICAgICB0eXBlS2V5cy5zb3J0KHNvcnRLZXlDb21wYXJhdG9yKCh4KSA9PiB4KSk7XG4gICAgICAgIHJldHVybiBbJzMnLCB0aGlzLnR5cGUudHlwZSwgLi4udHlwZUtleXMuZmxhdE1hcCgoeCkgPT4geCldO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBQcm9wZXJ0eVR5cGUgPSBHZW5lcmljUHJvcGVydHlUeXBlPFR5cGVEZWZpbml0aW9uPjtcbmV4cG9ydCB0eXBlIERlZmluaXRpb25SZWZlcmVuY2UgPSBHZW5lcmljRGVmaW5pdGlvblJlZmVyZW5jZTxUeXBlRGVmaW5pdGlvbj47XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sortKeyComparator = void 0;
3
+ exports.sortKeyComparator = sortKeyComparator;
4
4
  /**
5
5
  * Make a sorting comparator that will sort by a given sort key
6
6
  */
@@ -25,5 +25,4 @@ function sortKeyComparator(keyFn) {
25
25
  return bk.length - ak.length;
26
26
  };
27
27
  }
28
- exports.sortKeyComparator = sortKeyComparator;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3NvcnRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBSSxLQUF1QztJQUMxRSxPQUFPLENBQUMsQ0FBSSxFQUFFLENBQUksRUFBVSxFQUFFO1FBQzVCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVqQixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7WUFDYixJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUU7Z0JBQ3BELElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO2FBQ2hCO2lCQUFNLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRTtnQkFDM0QsSUFBSSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDN0I7WUFFRCxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ2QsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBRUQsT0FBTyxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQXZCRCw4Q0F1QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1ha2UgYSBzb3J0aW5nIGNvbXBhcmF0b3IgdGhhdCB3aWxsIHNvcnQgYnkgYSBnaXZlbiBzb3J0IGtleVxuICovXG5leHBvcnQgZnVuY3Rpb24gc29ydEtleUNvbXBhcmF0b3I8QT4oa2V5Rm46ICh4OiBBKSA9PiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KSB7XG4gIHJldHVybiAoYTogQSwgYjogQSk6IG51bWJlciA9PiB7XG4gICAgY29uc3QgYWsgPSBrZXlGbihhKTtcbiAgICBjb25zdCBiayA9IGtleUZuKGIpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhay5sZW5ndGggJiYgaSA8IGJrLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBhdiA9IGFrW2ldO1xuICAgICAgY29uc3QgYnYgPSBia1tpXTtcblxuICAgICAgbGV0IGRpZmYgPSAwO1xuICAgICAgaWYgKHR5cGVvZiBhdiA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGJ2ID09PSAnbnVtYmVyJykge1xuICAgICAgICBkaWZmID0gYXYgLSBidjtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGF2ID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgYnYgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGRpZmYgPSBhdi5sb2NhbGVDb21wYXJlKGJ2KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGRpZmYgIT09IDApIHtcbiAgICAgICAgcmV0dXJuIGRpZmY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGJrLmxlbmd0aCAtIGFrLmxlbmd0aDtcbiAgfTtcbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3NvcnRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSw4Q0F1QkM7QUExQkQ7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBSSxLQUF1QztJQUMxRSxPQUFPLENBQUMsQ0FBSSxFQUFFLENBQUksRUFBVSxFQUFFO1FBQzVCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWpCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNiLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNqQixDQUFDO2lCQUFNLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM1RCxJQUFJLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QixDQUFDO1lBRUQsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1ha2UgYSBzb3J0aW5nIGNvbXBhcmF0b3IgdGhhdCB3aWxsIHNvcnQgYnkgYSBnaXZlbiBzb3J0IGtleVxuICovXG5leHBvcnQgZnVuY3Rpb24gc29ydEtleUNvbXBhcmF0b3I8QT4oa2V5Rm46ICh4OiBBKSA9PiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KSB7XG4gIHJldHVybiAoYTogQSwgYjogQSk6IG51bWJlciA9PiB7XG4gICAgY29uc3QgYWsgPSBrZXlGbihhKTtcbiAgICBjb25zdCBiayA9IGtleUZuKGIpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhay5sZW5ndGggJiYgaSA8IGJrLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBhdiA9IGFrW2ldO1xuICAgICAgY29uc3QgYnYgPSBia1tpXTtcblxuICAgICAgbGV0IGRpZmYgPSAwO1xuICAgICAgaWYgKHR5cGVvZiBhdiA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGJ2ID09PSAnbnVtYmVyJykge1xuICAgICAgICBkaWZmID0gYXYgLSBidjtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGF2ID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgYnYgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGRpZmYgPSBhdi5sb2NhbGVDb21wYXJlKGJ2KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGRpZmYgIT09IDApIHtcbiAgICAgICAgcmV0dXJuIGRpZmY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGJrLmxlbmd0aCAtIGFrLmxlbmd0aDtcbiAgfTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -7,22 +7,22 @@
7
7
  "directory": "packages/@aws-cdk/service-spec-types"
8
8
  },
9
9
  "scripts": {
10
- "build": "npx projen build",
11
- "bump": "npx projen bump",
12
- "check-for-updates": "npx projen check-for-updates",
13
- "compile": "npx projen compile",
14
- "default": "npx projen default",
15
- "eslint": "npx projen eslint",
16
- "gather-versions": "npx projen gather-versions",
17
- "nx": "npx projen nx",
18
- "package": "npx projen package",
19
- "post-compile": "npx projen post-compile",
20
- "pre-compile": "npx projen pre-compile",
21
- "test": "npx projen test",
22
- "test:watch": "npx projen test:watch",
23
- "unbump": "npx projen unbump",
24
- "watch": "npx projen watch",
25
- "projen": "npx projen"
10
+ "build": "projen build",
11
+ "bump": "projen bump",
12
+ "check-for-updates": "projen check-for-updates",
13
+ "compile": "projen compile",
14
+ "default": "projen default",
15
+ "eslint": "projen eslint",
16
+ "gather-versions": "projen gather-versions",
17
+ "nx": "projen nx",
18
+ "package": "projen package",
19
+ "post-compile": "projen post-compile",
20
+ "pre-compile": "projen pre-compile",
21
+ "test": "projen test",
22
+ "test:watch": "projen test:watch",
23
+ "unbump": "projen unbump",
24
+ "watch": "projen watch",
25
+ "projen": "projen"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/jest": "^29.5.14",
@@ -38,19 +38,28 @@
38
38
  "eslint-plugin-prettier": "^4.2.5",
39
39
  "jest": "^29.7.0",
40
40
  "jest-junit": "^16",
41
+ "nx": "^22.6.4",
41
42
  "prettier": "^2.8.8",
42
43
  "ts-jest": "^29.4.9",
43
- "typescript": "^4.9.5"
44
+ "typescript": "^5.9.3"
44
45
  },
45
46
  "dependencies": {
46
47
  "@cdklabs/tskb": "^0.0.4"
47
48
  },
49
+ "devEngines": {
50
+ "packageManager": {
51
+ "name": "yarn",
52
+ "version": ">=4",
53
+ "onFail": "ignore"
54
+ }
55
+ },
48
56
  "main": "lib/index.js",
49
57
  "license": "Apache-2.0",
50
58
  "publishConfig": {
51
59
  "access": "public"
52
60
  },
53
- "version": "0.0.235",
61
+ "version": "0.0.237",
62
+ "packageManager": "yarn@4.13.0",
54
63
  "jest": {
55
64
  "coverageProvider": "v8",
56
65
  "testMatch": [
@@ -95,5 +104,5 @@
95
104
  }
96
105
  },
97
106
  "types": "lib/index.d.ts",
98
- "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
107
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"yarn projen\"."
99
108
  }