truemark-cdk-lib 1.2.4-alpha.2 → 1.2.4-alpha.21

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.
Files changed (69) hide show
  1. package/aws-apigatewayv2/lib/index.d.ts +2 -0
  2. package/aws-apigatewayv2/lib/index.js +3 -1
  3. package/aws-apigatewayv2/lib/standard-domain-name.d.ts +17 -13
  4. package/aws-apigatewayv2/lib/standard-domain-name.js +22 -22
  5. package/aws-apigatewayv2/lib/standard-http-api.d.ts +60 -0
  6. package/aws-apigatewayv2/lib/standard-http-api.js +50 -0
  7. package/aws-apigatewayv2/lib/standard-web-socket-api.d.ts +61 -0
  8. package/aws-apigatewayv2/lib/standard-web-socket-api.js +55 -0
  9. package/aws-cdk/lib/extended-app.d.ts +18 -0
  10. package/aws-cdk/lib/extended-app.js +27 -0
  11. package/aws-cdk/lib/extended-stack.d.ts +4 -6
  12. package/aws-cdk/lib/extended-stack.js +11 -9
  13. package/aws-cdk/lib/index.d.ts +2 -3
  14. package/aws-cdk/lib/index.js +3 -4
  15. package/aws-cdk/lib/single-env-app.d.ts +28 -0
  16. package/aws-cdk/lib/single-env-app.js +44 -0
  17. package/aws-cdk/lib/standard-tags.d.ts +37 -33
  18. package/aws-cdk/lib/standard-tags.js +93 -10
  19. package/aws-centergauge/lib/alerts-topic.d.ts +3 -1
  20. package/aws-centergauge/lib/alerts-topic.js +2 -8
  21. package/aws-codepipeline/lib/cdk-pipeline.d.ts +4 -0
  22. package/aws-codepipeline/lib/cdk-pipeline.js +3 -2
  23. package/aws-dynamodb/lib/standard-table.d.ts +3 -1
  24. package/aws-dynamodb/lib/standard-table.js +2 -8
  25. package/aws-ecs/lib/standard-fargate-cluster.d.ts +3 -1
  26. package/aws-ecs/lib/standard-fargate-cluster.js +2 -8
  27. package/aws-ecs/lib/standard-fargate-service.d.ts +3 -1
  28. package/aws-ecs/lib/standard-fargate-service.js +2 -8
  29. package/aws-route53/lib/domain-name.d.ts +7 -14
  30. package/aws-route53/lib/domain-name.js +27 -28
  31. package/aws-route53/lib/extended-record-target.d.ts +14 -0
  32. package/aws-route53/lib/extended-record-target.js +35 -0
  33. package/aws-route53/lib/index.d.ts +3 -3
  34. package/aws-route53/lib/index.js +2 -2
  35. package/aws-route53/lib/latency-a-record.d.ts +4 -0
  36. package/aws-route53/lib/latency-a-record.js +2 -1
  37. package/aws-route53/lib/weighted-a-record.d.ts +4 -0
  38. package/aws-route53/lib/weighted-a-record.js +2 -1
  39. package/aws-s3/lib/cloud-front-bucket.d.ts +14 -3
  40. package/aws-s3/lib/cloud-front-bucket.js +25 -3
  41. package/aws-s3/lib/extended-bucket.d.ts +1 -0
  42. package/aws-s3/lib/extended-bucket.js +3 -0
  43. package/aws-s3/lib/website-bucket.d.ts +2 -2
  44. package/aws-s3/lib/website-bucket.js +5 -7
  45. package/aws-sqs/lib/standard-queue.d.ts +3 -1
  46. package/aws-sqs/lib/standard-queue.js +2 -8
  47. package/aws-vpc/lib/network-parameters.d.ts +3 -1
  48. package/aws-vpc/lib/network-parameters.js +2 -8
  49. package/helpers/lib/index.d.ts +0 -1
  50. package/helpers/lib/index.js +1 -2
  51. package/package.json +2 -2
  52. package/test/aws-cdk/standard-tags.test.d.ts +1 -0
  53. package/test/aws-cdk/standard-tags.test.js +9 -0
  54. package/test/aws-route53/extended-record-target.test.d.ts +1 -0
  55. package/test/aws-route53/extended-record-target.test.js +52 -0
  56. package/test/test-helper.d.ts +4 -0
  57. package/test/test-helper.js +11 -3
  58. package/aws-cdk/lib/standard-app.d.ts +0 -19
  59. package/aws-cdk/lib/standard-app.js +0 -27
  60. package/aws-cdk/lib/standard-environment.d.ts +0 -10
  61. package/aws-cdk/lib/standard-environment.js +0 -3
  62. package/aws-cdk/lib/standard-stack.d.ts +0 -25
  63. package/aws-cdk/lib/standard-stack.js +0 -35
  64. package/aws-cdk/lib/standard-stage.d.ts +0 -20
  65. package/aws-cdk/lib/standard-stage.js +0 -21
  66. package/aws-route53/lib/weighted-latency-a-record.d.ts +0 -30
  67. package/aws-route53/lib/weighted-latency-a-record.js +0 -34
  68. package/helpers/lib/constants.d.ts +0 -3
  69. package/helpers/lib/constants.js +0 -7
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StandardTable = void 0;
4
4
  const extended_table_1 = require("./extended-table");
5
5
  const aws_dynamodb_1 = require("aws-cdk-lib/aws-dynamodb");
6
- const helpers_1 = require("../../helpers");
7
6
  const aws_cdk_1 = require("../../aws-cdk");
8
7
  /**
9
8
  * Standard DynamoDB table with a defined primary key, sort key and secondary index. This
@@ -22,6 +21,7 @@ class StandardTable extends extended_table_1.ExtendedTable {
22
21
  },
23
22
  ...props
24
23
  });
24
+ this.automationComponentTags = aws_cdk_1.InternalAutomationComponentTags;
25
25
  this.addGlobalSecondaryIndex({
26
26
  indexName: "Gs1",
27
27
  partitionKey: {
@@ -31,13 +31,7 @@ class StandardTable extends extended_table_1.ExtendedTable {
31
31
  name: "Gs1Sk", type: aws_dynamodb_1.AttributeType.STRING
32
32
  }
33
33
  });
34
- new aws_cdk_1.StandardTags(this, {
35
- suppress: props === null || props === void 0 ? void 0 : props.suppressTagging
36
- }).addAutomationComponentTags({
37
- url: helpers_1.CDK_NPMJS_URL,
38
- vendor: helpers_1.CDK_VENDOR
39
- });
40
34
  }
41
35
  }
42
36
  exports.StandardTable = StandardTable;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBK0M7QUFFL0MsMkRBQXdFO0FBSXhFLDJDQUF3RDtBQUN4RCwyQ0FBMkM7QUFzRjNDOzs7O0dBSUc7QUFDSCxNQUFhLGFBQWMsU0FBUSw4QkFBYTtJQUU5QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsbUJBQW1CLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG1CQUFtQjtZQUMvQyxZQUFZLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQ3ZDO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUN2QztZQUNELEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyx1QkFBdUIsQ0FBQztZQUMzQixTQUFTLEVBQUUsS0FBSztZQUNoQixZQUFZLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQzFDO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUMxQztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksc0JBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsUUFBUSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO1NBQ2pDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztZQUM1QixHQUFHLEVBQUUsdUJBQWE7WUFDbEIsTUFBTSxFQUFFLG9CQUFVO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTlCRCxzQ0E4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V4dGVuZGVkVGFibGV9IGZyb20gXCIuL2V4dGVuZGVkLXRhYmxlXCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7QXR0cmlidXRlVHlwZSwgVGFibGVFbmNyeXB0aW9ufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQge1JlbW92YWxQb2xpY3l9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtCaWxsaW5nTW9kZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0ICogYXMga21zIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1J9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBTdGFuZGFyZFRhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkVGFibGVQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFJlZ2lvbnMgd2hlcmUgcmVwbGljYSB0YWJsZXMgd2lsbCBiZSBjcmVhdGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVwbGljYSB0YWJsZXMgYXJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uUmVnaW9ucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVtb3ZhbCBwb2xpY3kgdG8gYXBwbHkgdG8gdGhlIER5bmFtb0RCIFRhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgcG9pbnQtaW4tdGltZSByZWNvdmVyeSBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHBvaW50LWluLXRpbWUgcmVjb3ZlcnkgaXMgZGlzYWJsZWRcbiAgICovXG4gIHJlYWRvbmx5IHBvaW50SW5UaW1lUmVjb3Zlcnk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVhZCBjYXBhY2l0eSBmb3IgdGhlIHRhYmxlLiBDYXJlZnVsIGlmIHlvdSBhZGQgR2xvYmFsIFNlY29uZGFyeSBJbmRleGVzLCBhc1xuICAgKiB0aG9zZSB3aWxsIHNoYXJlIHRoZSB0YWJsZSdzIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQuXG4gICAqXG4gICAqIENhbiBvbmx5IGJlIHByb3ZpZGVkIGlmIGJpbGxpbmdNb2RlIGlzIFByb3Zpc2lvbmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCA1XG4gICAqL1xuICByZWFkb25seSByZWFkQ2FwYWNpdHk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3cml0ZSBjYXBhY2l0eSBmb3IgdGhlIHRhYmxlLiBDYXJlZnVsIGlmIHlvdSBhZGQgR2xvYmFsIFNlY29uZGFyeSBJbmRleGVzLCBhc1xuICAgKiB0aG9zZSB3aWxsIHNoYXJlIHRoZSB0YWJsZSdzIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQuXG4gICAqXG4gICAqIENhbiBvbmx5IGJlIHByb3ZpZGVkIGlmIGJpbGxpbmdNb2RlIGlzIFByb3Zpc2lvbmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCA1XG4gICAqL1xuICByZWFkb25seSB3cml0ZUNhcGFjaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IGhvdyB5b3UgYXJlIGNoYXJnZWQgZm9yIHJlYWQgYW5kIHdyaXRlIHRocm91Z2hwdXQgYW5kIGhvdyB5b3UgbWFuYWdlIGNhcGFjaXR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBQUk9WSVNJT05FRCBpZiBgcmVwbGljYXRpb25SZWdpb25zYCBpcyBub3Qgc3BlY2lmaWVkLCBQQVlfUEVSX1JFUVVFU1Qgb3RoZXJ3aXNlXG4gICAqL1xuICByZWFkb25seSBiaWxsaW5nTW9kZT86IEJpbGxpbmdNb2RlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHNlcnZlci1zaWRlIGVuY3J5cHRpb24gd2l0aCBhbiBBV1MgbWFuYWdlZCBjdXN0b21lciBtYXN0ZXIga2V5IGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFRhYmxlRW5jcnlwdGlvbi5BV1NfTUFOQUdFRFxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbj86IFRhYmxlRW5jcnlwdGlvbjtcblxuICAvKipcbiAgICogRXh0ZXJuYWwgS01TIGtleSB0byB1c2UgZm9yIHRhYmxlIGVuY3J5cHRpb24uXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIG9ubHkgYmUgc2V0IGlmIGBlbmNyeXB0aW9uYCBpcyBzZXQgdG8gYFRhYmxlRW5jcnlwdGlvbi5DVVNUT01FUl9NQU5BR0VEYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBJZiBgZW5jcnlwdGlvbmAgaXMgc2V0IHRvIGBUYWJsZUVuY3J5cHRpb24uQ1VTVE9NRVJfTUFOQUdFRGAgYW5kIHRoaXNcbiAgICogcHJvcGVydHkgaXMgdW5kZWZpbmVkLCBhIG5ldyBLTVMga2V5IHdpbGwgYmUgY3JlYXRlZCBhbmQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGFibGUuXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLklLZXk7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBUVEwgYXR0cmlidXRlIG9uIHRoZSB0YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVUb0xpdmVBdHRyaWJ1dGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXNcbiAgICogY3JlYXRlZCBieSB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTdGFuZGFyZCBEeW5hbW9EQiB0YWJsZSB3aXRoIGEgZGVmaW5lZCBwcmltYXJ5IGtleSwgc29ydCBrZXkgYW5kIHNlY29uZGFyeSBpbmRleC4gVGhpc1xuICogY2xhc3MgaXMgaW50ZW5kZWQgdG8gZml0IG1vc3QgZGV2ZWxvcG1lbnQgdXNlIGNhc2VzLiBXaGVyZSB0aGlzIGNsYXNzIGRvZXMgbm90IG1lZXRcbiAqIHlvdXIgcmVxdWlyZW1lbnRzLCB1c2UgRXh0ZW5kZWRUYWJsZSBkaXJlY3RseS5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkVGFibGUgZXh0ZW5kcyBFeHRlbmRlZFRhYmxlIHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFN0YW5kYXJkVGFibGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgdGltZVRvTGl2ZUF0dHJpYnV0ZTogcHJvcHM/LnRpbWVUb0xpdmVBdHRyaWJ1dGUsXG4gICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgbmFtZTogXCJQa1wiLCB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgfSxcbiAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgbmFtZTogXCJTa1wiLCB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgfSxcbiAgICAgIC4uLnByb3BzXG4gICAgfSk7XG4gICAgdGhpcy5hZGRHbG9iYWxTZWNvbmRhcnlJbmRleCh7XG4gICAgICBpbmRleE5hbWU6IFwiR3MxXCIsXG4gICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgbmFtZTogXCJHczFQa1wiLCB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgfSxcbiAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgbmFtZTogXCJHczFTa1wiLCB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbmV3IFN0YW5kYXJkVGFncyh0aGlzLCB7XG4gICAgICBzdXBwcmVzczogcHJvcHM/LnN1cHByZXNzVGFnZ2luZ1xuICAgIH0pLmFkZEF1dG9tYXRpb25Db21wb25lbnRUYWdzKHtcbiAgICAgIHVybDogQ0RLX05QTUpTX1VSTCxcbiAgICAgIHZlbmRvcjogQ0RLX1ZFTkRPUlxuICAgIH0pO1xuICB9XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBK0M7QUFFL0MsMkRBQXdFO0FBSXhFLDJDQUd1QjtBQXNGdkI7Ozs7R0FJRztBQUNILE1BQWEsYUFBYyxTQUFRLDhCQUFhO0lBSTlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixtQkFBbUIsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsbUJBQW1CO1lBQy9DLFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07YUFDdkM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQ3ZDO1lBQ0QsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO1FBWkksNEJBQXVCLEdBQUcseUNBQStCLENBQUM7UUFhakUsSUFBSSxDQUFDLHVCQUF1QixDQUFDO1lBQzNCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07YUFDMUM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQzFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBekJELHNDQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXh0ZW5kZWRUYWJsZX0gZnJvbSBcIi4vZXh0ZW5kZWQtdGFibGVcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtBdHRyaWJ1dGVUeXBlLCBUYWJsZUVuY3J5cHRpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7UmVtb3ZhbFBvbGljeX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge0JpbGxpbmdNb2RlfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1rbXNcIjtcbmltcG9ydCB7XG4gIElBdXRvbWF0aW9uQ29tcG9uZW50LFxuICBJbnRlcm5hbEF1dG9tYXRpb25Db21wb25lbnRUYWdzLFxufSBmcm9tIFwiLi4vLi4vYXdzLWNka1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkVGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRUYWJsZVByb3BzIHtcblxuICAvKipcbiAgICogUmVnaW9ucyB3aGVyZSByZXBsaWNhIHRhYmxlcyB3aWxsIGJlIGNyZWF0ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXBsaWNhIHRhYmxlcyBhcmUgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25SZWdpb25zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSByZW1vdmFsIHBvbGljeSB0byBhcHBseSB0byB0aGUgRHluYW1vREIgVGFibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuUkVUQUlOXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICAvKipcbiAgICogV2hldGhlciBwb2ludC1pbi10aW1lIHJlY292ZXJ5IGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcG9pbnQtaW4tdGltZSByZWNvdmVyeSBpcyBkaXNhYmxlZFxuICAgKi9cbiAgcmVhZG9ubHkgcG9pbnRJblRpbWVSZWNvdmVyeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSByZWFkIGNhcGFjaXR5IGZvciB0aGUgdGFibGUuIENhcmVmdWwgaWYgeW91IGFkZCBHbG9iYWwgU2Vjb25kYXJ5IEluZGV4ZXMsIGFzXG4gICAqIHRob3NlIHdpbGwgc2hhcmUgdGhlIHRhYmxlJ3MgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dC5cbiAgICpcbiAgICogQ2FuIG9ubHkgYmUgcHJvdmlkZWQgaWYgYmlsbGluZ01vZGUgaXMgUHJvdmlzaW9uZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDVcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRDYXBhY2l0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHdyaXRlIGNhcGFjaXR5IGZvciB0aGUgdGFibGUuIENhcmVmdWwgaWYgeW91IGFkZCBHbG9iYWwgU2Vjb25kYXJ5IEluZGV4ZXMsIGFzXG4gICAqIHRob3NlIHdpbGwgc2hhcmUgdGhlIHRhYmxlJ3MgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dC5cbiAgICpcbiAgICogQ2FuIG9ubHkgYmUgcHJvdmlkZWQgaWYgYmlsbGluZ01vZGUgaXMgUHJvdmlzaW9uZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDVcbiAgICovXG4gIHJlYWRvbmx5IHdyaXRlQ2FwYWNpdHk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgaG93IHlvdSBhcmUgY2hhcmdlZCBmb3IgcmVhZCBhbmQgd3JpdGUgdGhyb3VnaHB1dCBhbmQgaG93IHlvdSBtYW5hZ2UgY2FwYWNpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFBST1ZJU0lPTkVEIGlmIGByZXBsaWNhdGlvblJlZ2lvbnNgIGlzIG5vdCBzcGVjaWZpZWQsIFBBWV9QRVJfUkVRVUVTVCBvdGhlcndpc2VcbiAgICovXG4gIHJlYWRvbmx5IGJpbGxpbmdNb2RlPzogQmlsbGluZ01vZGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiB3aXRoIGFuIEFXUyBtYW5hZ2VkIGN1c3RvbWVyIG1hc3RlciBrZXkgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgVGFibGVFbmNyeXB0aW9uLkFXU19NQU5BR0VEXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uPzogVGFibGVFbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBFeHRlcm5hbCBLTVMga2V5IHRvIHVzZSBmb3IgdGFibGUgZW5jcnlwdGlvbi5cbiAgICpcbiAgICogVGhpcyBwcm9wZXJ0eSBjYW4gb25seSBiZSBzZXQgaWYgYGVuY3J5cHRpb25gIGlzIHNldCB0byBgVGFibGVFbmNyeXB0aW9uLkNVU1RPTUVSX01BTkFHRURgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIElmIGBlbmNyeXB0aW9uYCBpcyBzZXQgdG8gYFRhYmxlRW5jcnlwdGlvbi5DVVNUT01FUl9NQU5BR0VEYCBhbmQgdGhpc1xuICAgKiBwcm9wZXJ0eSBpcyB1bmRlZmluZWQsIGEgbmV3IEtNUyBrZXkgd2lsbCBiZSBjcmVhdGVkIGFuZCBhc3NvY2lhdGVkIHdpdGggdGhpcyB0YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb25LZXk/OiBrbXMuSUtleTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIFRUTCBhdHRyaWJ1dGUgb24gdGhlIHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGltZVRvTGl2ZUF0dHJpYnV0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCB0YWdzIG9uIHJlc291cmNlc1xuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN0YW5kYXJkIER5bmFtb0RCIHRhYmxlIHdpdGggYSBkZWZpbmVkIHByaW1hcnkga2V5LCBzb3J0IGtleSBhbmQgc2Vjb25kYXJ5IGluZGV4LiBUaGlzXG4gKiBjbGFzcyBpcyBpbnRlbmRlZCB0byBmaXQgbW9zdCBkZXZlbG9wbWVudCB1c2UgY2FzZXMuIFdoZXJlIHRoaXMgY2xhc3MgZG9lcyBub3QgbWVldFxuICogeW91ciByZXF1aXJlbWVudHMsIHVzZSBFeHRlbmRlZFRhYmxlIGRpcmVjdGx5LlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUYWJsZSBleHRlbmRzIEV4dGVuZGVkVGFibGUgaW1wbGVtZW50cyBJQXV0b21hdGlvbkNvbXBvbmVudCB7XG5cbiAgcmVhZG9ubHkgYXV0b21hdGlvbkNvbXBvbmVudFRhZ3MgPSBJbnRlcm5hbEF1dG9tYXRpb25Db21wb25lbnRUYWdzO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogU3RhbmRhcmRUYWJsZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0aW1lVG9MaXZlQXR0cmlidXRlOiBwcm9wcz8udGltZVRvTGl2ZUF0dHJpYnV0ZSxcbiAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICBuYW1lOiBcIlBrXCIsIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICB9LFxuICAgICAgc29ydEtleToge1xuICAgICAgICBuYW1lOiBcIlNrXCIsIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICB9LFxuICAgICAgLi4ucHJvcHNcbiAgICB9KTtcbiAgICB0aGlzLmFkZEdsb2JhbFNlY29uZGFyeUluZGV4KHtcbiAgICAgIGluZGV4TmFtZTogXCJHczFcIixcbiAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICBuYW1lOiBcIkdzMVBrXCIsIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICB9LFxuICAgICAgc29ydEtleToge1xuICAgICAgICBuYW1lOiBcIkdzMVNrXCIsIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -7,6 +7,7 @@ import { LogGroup, RetentionDays } from "aws-cdk-lib/aws-logs";
7
7
  import { RemovalPolicy, ResourceEnvironment, Stack } from "aws-cdk-lib";
8
8
  import { INamespace } from "aws-cdk-lib/aws-servicediscovery";
9
9
  import { IAutoScalingGroup } from "aws-cdk-lib/aws-autoscaling";
10
+ import { IAutomationComponent } from "../../aws-cdk";
10
11
  export interface StandardFargateClusterProps {
11
12
  /**
12
13
  * The VPC where your ECS instances will be running.
@@ -78,7 +79,8 @@ export interface StandardFargateClusterProps {
78
79
  /**
79
80
  * Standard ECS Cluster that sets up Fargate providers and execute command logging.
80
81
  */
81
- export declare class StandardFargateCluster extends Construct implements ICluster {
82
+ export declare class StandardFargateCluster extends Construct implements ICluster, IAutomationComponent {
83
+ readonly automationComponentTags: import("../../aws-cdk").AutomationComponentTagsProps;
82
84
  readonly vpc: IVpc;
83
85
  readonly cluster: Cluster;
84
86
  readonly logGroup?: LogGroup;
@@ -6,7 +6,6 @@ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
6
6
  const aws_ecs_1 = require("aws-cdk-lib/aws-ecs");
7
7
  const aws_logs_1 = require("aws-cdk-lib/aws-logs");
8
8
  const aws_cdk_lib_1 = require("aws-cdk-lib");
9
- const helpers_1 = require("../../helpers");
10
9
  const aws_cdk_1 = require("../../aws-cdk");
11
10
  /**
12
11
  * Standard ECS Cluster that sets up Fargate providers and execute command logging.
@@ -15,6 +14,7 @@ class StandardFargateCluster extends constructs_1.Construct {
15
14
  constructor(scope, id, props) {
16
15
  var _a, _b;
17
16
  super(scope, id);
17
+ this.automationComponentTags = aws_cdk_1.InternalAutomationComponentTags;
18
18
  const vpc = this.resolveVpc(this, props);
19
19
  const logGroup = this.resolveLogGroup(this, props);
20
20
  const executeCommandConfiguration = this.resolveExecuteCommandConfiguration(this, logGroup, props);
@@ -38,12 +38,6 @@ class StandardFargateCluster extends constructs_1.Construct {
38
38
  this.executeCommandConfiguration = this.cluster.executeCommandConfiguration;
39
39
  this.stack = this.cluster.stack;
40
40
  this.env = this.cluster.env;
41
- new aws_cdk_1.StandardTags(this, {
42
- suppress: props === null || props === void 0 ? void 0 : props.suppressTagging
43
- }).addAutomationComponentTags({
44
- url: helpers_1.CDK_NPMJS_URL,
45
- vendor: helpers_1.CDK_VENDOR
46
- });
47
41
  }
48
42
  resolveVpc(scope, props) {
49
43
  if (props.vpc === undefined && props.vpcId === undefined && props.vpcName === undefined) {
@@ -89,4 +83,4 @@ class StandardFargateCluster extends constructs_1.Construct {
89
83
  }
90
84
  }
91
85
  exports.StandardFargateCluster = StandardFargateCluster;
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZmFyZ2F0ZS1jbHVzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtZmFyZ2F0ZS1jbHVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxpREFBMkQ7QUFDM0QsaURBQTBHO0FBRzFHLG1EQUE2RDtBQUM3RCw2Q0FBc0U7QUFHdEUsMkNBQXdEO0FBQ3hELDJDQUEyQztBQW9GM0M7O0dBRUc7QUFDSCxNQUFhLHNCQUF1QixTQUFRLHNCQUFTO0lBNERuRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtDOztRQUMxRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkcsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDM0MsR0FBRztZQUNILFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixpQkFBaUIsUUFBRSxLQUFLLENBQUMsaUJBQWlCLG1DQUFJLElBQUk7WUFDbEQsOEJBQThCLFFBQUUsS0FBSyxDQUFDLDhCQUE4QixtQ0FBSSxJQUFJO1lBQzVFLHdCQUF3QixFQUFFLEtBQUssQ0FBQyx3QkFBd0I7WUFDeEQsMkJBQTJCO1NBQzVCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFB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Q25CLENBQUM7SUFvQ0Qsa0JBQWtCLENBQUMsTUFBcUI7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFqR0Qsd0RBaUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0Nvbm5lY3Rpb25zLCBJVnBjLCBWcGN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQge0NsdXN0ZXIsIEV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbiwgRXhlY3V0ZUNvbW1hbmRMb2dnaW5nLCBJQ2x1c3Rlcn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7Q2xvdWRNYXBOYW1lc3BhY2VPcHRpb25zfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjcy9saWIvY2x1c3RlclwiO1xuaW1wb3J0IHtJS2V5fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHtMb2dHcm91cCwgUmV0ZW50aW9uRGF5c30gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQge1JlbW92YWxQb2xpY3ksIFJlc291cmNlRW52aXJvbm1lbnQsIFN0YWNrfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7SU5hbWVzcGFjZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZXJ2aWNlZGlzY292ZXJ5XCI7XG5pbXBvcnQge0lBdXRvU2NhbGluZ0dyb3VwfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWF1dG9zY2FsaW5nXCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1J9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZEZhcmdhdGVDbHVzdGVyUHJvcHMge1xuXG4gIC8vIFRPRE8gSSBkb24ndCBsaWtlIHdoYXQgSSBkaWQgaGVyZVxuICAvKipcbiAgICogVGhlIFZQQyB3aGVyZSB5b3VyIEVDUyBpbnN0YW5jZXMgd2lsbCBiZSBydW5uaW5nLlxuICAgKiBPbmUgb2YgdnBjLCB2cGNJZCBvciB2cGNOYW1lIGlzIHJlcXVpcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogSVZwYztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBWUEMgd2hlcmUgeW91ciBFQ1MgaW5zdGFuY2VzIHdpbGwgYmUgcnVubmluZy5cbiAgICogT25lIG9mIHZwYywgdnBjSWQgb3IgdnBjTmFtZSBpcyByZXF1aXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgVlBDIHdoZXJlIHlvdXIgRUNTIGluc3RhbmNlcyB3aWxsIGJlIHJ1bm5pbmcuXG4gICAqIE9uZSBvZiB2cGMsIHZwY0lkIG9yIHZwY05hbWUgaXMgcmVxdWlyZWQuXG4gICAqL1xuICByZWFkb25seSB2cGNOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBmb3IgdGhlIGNsdXN0ZXIuIEJlc3QgcHJhY3RpY2UgaXMgdG8gbm90IHNldCB0aGlzIHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2x1c3Rlck5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHRydWUgQ2xvdWRXYXRjaCBDb250YWluZXIgSW5zaWdodHMgd2lsbCBiZSBlbmFibGVkIGZvciB0aGUgY2x1c3RlclxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lckluc2lnaHRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgRmFyZ2F0ZSBDYXBhY2l0eSBQcm92aWRlcnNcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVGYXJnYXRlQ2FwYWNpdHlQcm92aWRlcnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VydmljZSBkaXNjb3ZlcnkgbmFtZXNwYWNlIGNyZWF0ZWQgaW4gdGhpcyBjbHVzdGVyXG4gICAqIGRlZmF1bHQgc2VydmljZSBkaXNjb3ZlcnkgbmFtZXNwYWNlIGxhdGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENsb3VkTWFwTmFtZXNwYWNlPzogQ2xvdWRNYXBOYW1lc3BhY2VPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBleGVjdXRlIGNvbW1hbmQgbG9nIGZvciB0aGUgY2x1c3Rlci5cbiAgICogVGhpcyBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgYW5kIGxvZ3MgdG8gYSBDbG91ZFdhdGNoIGxvZyBncm91cFxuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUV4ZWN1dGVDb21tYW5kTG9nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdG8gZW5jcnlwdCBkYXRhIGJldHdlZW4gdGhlIGxvY2FsIGNsaWVudCBhbmQgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkga21zS2V5PzogSUtleTtcblxuICAvKipcbiAgICogVGhlIHJldGVudGlvbiBwZXJpb2QgdG8gdXNlIGZvciBleGVjdXRlIGNvbW1hbmQgbG9ncy5cbiAgICpcbiAgICogQGRlZmF1bHQgUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEhcbiAgICovXG4gIHJlYWRvbmx5IGV4ZWN1dGVDb21tYW5kTG9nUmV0ZW50aW9uPzogUmV0ZW50aW9uRGF5cztcblxuICAvKipcbiAgICogQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgZXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uIHByb3ZpZGVkIGluXG4gICAqIHRoaXMgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgZXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uT3ZlcnJpZGU/OiBFeGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXNcbiAgICogY3JlYXRlZCBieSB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTdGFuZGFyZCBFQ1MgQ2x1c3RlciB0aGF0IHNldHMgdXAgRmFyZ2F0ZSBwcm92aWRlcnMgYW5kIGV4ZWN1dGUgY29tbWFuZCBsb2dnaW5nLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRGYXJnYXRlQ2x1c3RlciBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElDbHVzdGVyIHtcblxuICByZWFkb25seSB2cGM6IElWcGM7XG4gIHJlYWRvbmx5IGNsdXN0ZXI6IENsdXN0ZXI7XG4gIHJlYWRvbmx5IGxvZ0dyb3VwPzogTG9nR3JvdXA7XG5cbiAgLy8gQ2Fycnkgb3ZlciBmcm9tIElDbHVzdGVyXG4gIHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNsdXN0ZXJBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuICByZWFkb25seSBoYXNFYzJDYXBhY2l0eTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVmYXVsdENsb3VkTWFwTmFtZXNwYWNlPzogSU5hbWVzcGFjZTtcbiAgcmVhZG9ubHkgYXV0b3NjYWxpbmdHcm91cD86IElBdXRvU2NhbGluZ0dyb3VwO1xuICByZWFkb25seSBleGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb24/OiBFeGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb247XG4gIHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcbiAgcmVhZG9ubHkgZW52OiBSZXNvdXJjZUVudmlyb25tZW50O1xuXG4gIHByb3RlY3RlZCByZXNvbHZlVnBjKHNjb3BlOiBTdGFuZGFyZEZhcmdhdGVDbHVzdGVyLCBwcm9wczogU3RhbmRhcmRGYXJnYXRlQ2x1c3RlclByb3BzKTogSVZwYyB7XG4gICAgaWYgKHByb3BzLnZwYyA9PT0gdW5kZWZpbmVkICYmIHByb3BzLnZwY0lkID09PSB1bmRlZmluZWQgJiYgcHJvcHMudnBjTmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJPbmUgb2YgdnBjLCB2cGNJZCBvciB2cGNOYW1lIGlzIHJlcXVpcmVkXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcHMudnBjICE9PSB1bmRlZmluZWQgPyBwcm9wcy52cGMgOiBWcGMuZnJvbUxvb2t1cCh0aGlzLCBcIlZwY1wiLCB7XG4gICAgICB2cGNJZDogcHJvcHMudnBjSWQsXG4gICAgICB2cGNOYW1lOiBwcm9wcy52cGNOYW1lXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb2x2ZUxvZ0dyb3VwKHNjb3BlOiBTdGFuZGFyZEZhcmdhdGVDbHVzdGVyLCBwcm9wczogU3RhbmRhcmRGYXJnYXRlQ2x1c3RlclByb3BzKTogTG9nR3JvdXAgfCB1bmRlZmluZWQge1xuICAgIGlmICgocHJvcHMuZW5hYmxlRXhlY3V0ZUNvbW1hbmRMb2cgPz8gdHJ1ZSkgJiYgcHJvcHMuZXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uT3ZlcnJpZGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5ldyBMb2dHcm91cChzY29wZSwgXCJFeGVjdXRlQ29tbWFuZExvZ3NcIiwge1xuICAgICAgICBlbmNyeXB0aW9uS2V5OiBwcm9wcy5rbXNLZXksXG4gICAgICAgIHJldGVudGlvbjogUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb2x2ZUV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbihcbiAgICBzY29wZTogU3RhbmRhcmRGYXJnYXRlQ2x1c3RlcixcbiAgICBsb2dHcm91cDogTG9nR3JvdXAgfCB1bmRlZmluZWQsXG4gICAgcHJvcHM6IFN0YW5kYXJkRmFyZ2F0ZUNsdXN0ZXJQcm9wcyk6XG4gICAgRXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMuZW5hYmxlRXhlY3V0ZUNvbW1hbmRMb2cgPz8gdHJ1ZSkge1xuICAgICAgaWYgKHByb3BzLmV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbk92ZXJyaWRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHByb3BzLmV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbk92ZXJyaWRlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrbXNLZXk6IHByb3BzLmttc0tleSxcbiAgICAgICAgICBsb2dDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICBjbG91ZFdhdGNoRW5jcnlwdGlvbkVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBjbG91ZFdhdGNoTG9nR3JvdXA6IGxvZ0dyb3VwXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsb2dnaW5nOiBFeGVjdXRlQ29tbWFuZExvZ2dpbmcuT1ZFUlJJREVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YW5kYXJkRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3QgdnBjID0gdGhpcy5yZXNvbHZlVnBjKHRoaXMsIHByb3BzKTtcbiAgICBjb25zdCBsb2dHcm91cCA9IHRoaXMucmVzb2x2ZUxvZ0dyb3VwKHRoaXMsIHByb3BzKTtcbiAgICBjb25zdCBleGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb24gPSB0aGlzLnJlc29sdmVFeGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb24odGhpcywgbG9nR3JvdXAsIHByb3BzKTtcbiAgICBjb25zdCBjbHVzdGVyID0gbmV3IENsdXN0ZXIodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIHZwYyxcbiAgICAgIGNsdXN0ZXJOYW1lOiBwcm9wcy5jbHVzdGVyTmFtZSxcbiAgICAgIGNvbnRhaW5lckluc2lnaHRzOiBwcm9wcy5jb250YWluZXJJbnNpZ2h0cyA/PyB0cnVlLFxuICAgICAgZW5hYmxlRmFyZ2F0ZUNhcGFjaXR5UHJvdmlkZXJzOiBwcm9wcy5lbmFibGVGYXJnYXRlQ2FwYWNpdHlQcm92aWRlcnMgPz8gdHJ1ZSxcbiAgICAgIGRlZmF1bHRDbG91ZE1hcE5hbWVzcGFjZTogcHJvcHMuZGVmYXVsdENsb3VkTWFwTmFtZXNwYWNlLFxuICAgICAgZXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uXG4gICAgfSk7XG4gICAgdGhpcy52cGMgPSB2cGM7XG4gICAgdGhpcy5jbHVzdGVyID0gY2x1c3RlcjtcbiAgICB0aGlzLmxvZ0dyb3VwID0gbG9nR3JvdXA7XG4gICAgdGhpcy5jbHVzdGVyTmFtZSA9IHRoaXMuY2x1c3Rlci5jbHVzdGVyTmFtZTtcbiAgICB0aGlzLmNsdXN0ZXJBcm4gPSB0aGlzLmNsdXN0ZXIuY2x1c3RlckFybjtcbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5jbHVzdGVyLmNvbm5lY3Rpb25zO1xuICAgIHRoaXMuaGFzRWMyQ2FwYWNpdHkgPSB0aGlzLmNsdXN0ZXIuaGFzRWMyQ2FwYWNpdHk7XG4gICAgdGhpcy5kZWZhdWx0Q2xvdWRNYXBOYW1lc3BhY2UgPSB0aGlzLmNsdXN0ZXIuZGVmYXVsdENsb3VkTWFwTmFtZXNwYWNlO1xuICAgIHRoaXMuYXV0b3NjYWxpbmdHcm91cCA9IHRoaXMuY2x1c3Rlci5hdXRvc2NhbGluZ0dyb3VwO1xuICAgIHRoaXMuZXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uID0gdGhpcy5jbHVzdGVyLmV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbjtcbiAgICB0aGlzLnN0YWNrID0gdGhpcy5jbHVzdGVyLnN0YWNrO1xuICAgIHRoaXMuZW52ID0gdGhpcy5jbHVzdGVyLmVudjtcblxuICAgIG5ldyBTdGFuZGFyZFRhZ3ModGhpcywge1xuICAgICAgc3VwcHJlc3M6IHByb3BzPy5zdXBwcmVzc1RhZ2dpbmdcbiAgICB9KS5hZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyh7XG4gICAgICB1cmw6IENES19OUE1KU19VUkwsXG4gICAgICB2ZW5kb3I6IENES19WRU5ET1JcbiAgICB9KTtcbiAgfVxuXG4gIGFwcGx5UmVtb3ZhbFBvbGljeShwb2xpY3k6IFJlbW92YWxQb2xpY3kpIHtcbiAgICB0aGlzLmNsdXN0ZXIuYXBwbHlSZW1vdmFsUG9saWN5KHBvbGljeSk7XG4gIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZmFyZ2F0ZS1jbHVzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtZmFyZ2F0ZS1jbHVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxpREFBMkQ7QUFDM0QsaURBQTBHO0FBRzFHLG1EQUE2RDtBQUM3RCw2Q0FBc0U7QUFHdEUsMkNBQW9GO0FBb0ZwRjs7R0FFRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsc0JBQVM7SUE4RG5ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0M7O1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUE3RFYsNEJBQXVCLEdBQUcseUNBQStCLENBQUM7UUE4RGpFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkcsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDM0MsR0FBRztZQUNILFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixpQkFBaUIsUUFBRSxLQUFLLENBQUMsaUJBQWlCLG1DQUFJLElBQUk7WUFDbEQsOEJBQThCLFFBQUUsS0FBSyxDQUFDLDhCQUE4QixtQ0FBSSxJQUFJO1lBQzVFLHdCQUF3QixFQUFFLEtBQUssQ0FBQyx3QkFBd0I7WUFDeEQsMkJBQTJCO1NBQzVCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7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IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0Nvbm5lY3Rpb25zLCBJVnBjLCBWcGN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQge0NsdXN0ZXIsIEV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbiwgRXhlY3V0ZUNvbW1hbmRMb2dnaW5nLCBJQ2x1c3Rlcn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7Q2xvdWRNYXBOYW1lc3BhY2VPcHRpb25zfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjcy9saWIvY2x1c3RlclwiO1xuaW1wb3J0IHtJS2V5fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHtMb2dHcm91cCwgUmV0ZW50aW9uRGF5c30gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQge1JlbW92YWxQb2xpY3ksIFJlc291cmNlRW52aXJvbm1lbnQsIFN0YWNrfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7SU5hbWVzcGFjZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZXJ2aWNlZGlzY292ZXJ5XCI7XG5pbXBvcnQge0lBdXRvU2NhbGluZ0dyb3VwfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWF1dG9zY2FsaW5nXCI7XG5pbXBvcnQge0lBdXRvbWF0aW9uQ29tcG9uZW50LCBJbnRlcm5hbEF1dG9tYXRpb25Db21wb25lbnRUYWdzfSBmcm9tIFwiLi4vLi4vYXdzLWNka1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkRmFyZ2F0ZUNsdXN0ZXJQcm9wcyB7XG5cbiAgLy8gVE9ETyBJIGRvbid0IGxpa2Ugd2hhdCBJIGRpZCBoZXJlXG4gIC8qKlxuICAgKiBUaGUgVlBDIHdoZXJlIHlvdXIgRUNTIGluc3RhbmNlcyB3aWxsIGJlIHJ1bm5pbmcuXG4gICAqIE9uZSBvZiB2cGMsIHZwY0lkIG9yIHZwY05hbWUgaXMgcmVxdWlyZWQuXG4gICAqL1xuICByZWFkb25seSB2cGM/OiBJVnBjO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIFZQQyB3aGVyZSB5b3VyIEVDUyBpbnN0YW5jZXMgd2lsbCBiZSBydW5uaW5nLlxuICAgKiBPbmUgb2YgdnBjLCB2cGNJZCBvciB2cGNOYW1lIGlzIHJlcXVpcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBWUEMgd2hlcmUgeW91ciBFQ1MgaW5zdGFuY2VzIHdpbGwgYmUgcnVubmluZy5cbiAgICogT25lIG9mIHZwYywgdnBjSWQgb3IgdnBjTmFtZSBpcyByZXF1aXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwY05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIGZvciB0aGUgY2x1c3Rlci4gQmVzdCBwcmFjdGljZSBpcyB0byBub3Qgc2V0IHRoaXMgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdHJ1ZSBDbG91ZFdhdGNoIENvbnRhaW5lciBJbnNpZ2h0cyB3aWxsIGJlIGVuYWJsZWQgZm9yIHRoZSBjbHVzdGVyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVySW5zaWdodHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBGYXJnYXRlIENhcGFjaXR5IFByb3ZpZGVyc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUZhcmdhdGVDYXBhY2l0eVByb3ZpZGVycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlIGRpc2NvdmVyeSBuYW1lc3BhY2UgY3JlYXRlZCBpbiB0aGlzIGNsdXN0ZXJcbiAgICogZGVmYXVsdCBzZXJ2aWNlIGRpc2NvdmVyeSBuYW1lc3BhY2UgbGF0ZXIuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0Q2xvdWRNYXBOYW1lc3BhY2U/OiBDbG91ZE1hcE5hbWVzcGFjZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGV4ZWN1dGUgY29tbWFuZCBsb2cgZm9yIHRoZSBjbHVzdGVyLlxuICAgKiBUaGlzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBhbmQgbG9ncyB0byBhIENsb3VkV2F0Y2ggbG9nIGdyb3VwXG4gICAqIGNyZWF0ZWQgYnkgdGhpcyBjb25zdHJ1Y3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRXhlY3V0ZUNvbW1hbmRMb2c/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgS01TIGtleSB0byBlbmNyeXB0IGRhdGEgYmV0d2VlbiB0aGUgbG9jYWwgY2xpZW50IGFuZCBjb250YWluZXIuXG4gICAqL1xuICByZWFkb25seSBrbXNLZXk/OiBJS2V5O1xuXG4gIC8qKlxuICAgKiBUaGUgcmV0ZW50aW9uIHBlcmlvZCB0byB1c2UgZm9yIGV4ZWN1dGUgY29tbWFuZCBsb2dzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZXRlbnRpb25EYXlzLk9ORV9NT05USFxuICAgKi9cbiAgcmVhZG9ubHkgZXhlY3V0ZUNvbW1hbmRMb2dSZXRlbnRpb24/OiBSZXRlbnRpb25EYXlzO1xuXG4gIC8qKlxuICAgKiBBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCBleGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb24gcHJvdmlkZWQgaW5cbiAgICogdGhpcyBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBleGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb25PdmVycmlkZT86IEV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCB0YWdzIG9uIHJlc291cmNlc1xuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN0YW5kYXJkIEVDUyBDbHVzdGVyIHRoYXQgc2V0cyB1cCBGYXJnYXRlIHByb3ZpZGVycyBhbmQgZXhlY3V0ZSBjb21tYW5kIGxvZ2dpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZEZhcmdhdGVDbHVzdGVyIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNsdXN0ZXIsIElBdXRvbWF0aW9uQ29tcG9uZW50IHtcblxuICByZWFkb25seSBhdXRvbWF0aW9uQ29tcG9uZW50VGFncyA9IEludGVybmFsQXV0b21hdGlvbkNvbXBvbmVudFRhZ3M7XG5cbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xuICByZWFkb25seSBjbHVzdGVyOiBDbHVzdGVyO1xuICByZWFkb25seSBsb2dHcm91cD86IExvZ0dyb3VwO1xuXG4gIC8vIENhcnJ5IG92ZXIgZnJvbSBJQ2x1c3RlclxuICByZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbHVzdGVyQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcbiAgcmVhZG9ubHkgaGFzRWMyQ2FwYWNpdHk6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRlZmF1bHRDbG91ZE1hcE5hbWVzcGFjZT86IElOYW1lc3BhY2U7XG4gIHJlYWRvbmx5IGF1dG9zY2FsaW5nR3JvdXA/OiBJQXV0b1NjYWxpbmdHcm91cDtcbiAgcmVhZG9ubHkgZXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uPzogRXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uO1xuICByZWFkb25seSBzdGFjazogU3RhY2s7XG4gIHJlYWRvbmx5IGVudjogUmVzb3VyY2VFbnZpcm9ubWVudDtcblxuICBwcm90ZWN0ZWQgcmVzb2x2ZVZwYyhzY29wZTogU3RhbmRhcmRGYXJnYXRlQ2x1c3RlciwgcHJvcHM6IFN0YW5kYXJkRmFyZ2F0ZUNsdXN0ZXJQcm9wcyk6IElWcGMge1xuICAgIGlmIChwcm9wcy52cGMgPT09IHVuZGVmaW5lZCAmJiBwcm9wcy52cGNJZCA9PT0gdW5kZWZpbmVkICYmIHByb3BzLnZwY05hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiT25lIG9mIHZwYywgdnBjSWQgb3IgdnBjTmFtZSBpcyByZXF1aXJlZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHByb3BzLnZwYyAhPT0gdW5kZWZpbmVkID8gcHJvcHMudnBjIDogVnBjLmZyb21Mb29rdXAodGhpcywgXCJWcGNcIiwge1xuICAgICAgdnBjSWQ6IHByb3BzLnZwY0lkLFxuICAgICAgdnBjTmFtZTogcHJvcHMudnBjTmFtZVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVMb2dHcm91cChzY29wZTogU3RhbmRhcmRGYXJnYXRlQ2x1c3RlciwgcHJvcHM6IFN0YW5kYXJkRmFyZ2F0ZUNsdXN0ZXJQcm9wcyk6IExvZ0dyb3VwIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoKHByb3BzLmVuYWJsZUV4ZWN1dGVDb21tYW5kTG9nID8/IHRydWUpICYmIHByb3BzLmV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbk92ZXJyaWRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBuZXcgTG9nR3JvdXAoc2NvcGUsIFwiRXhlY3V0ZUNvbW1hbmRMb2dzXCIsIHtcbiAgICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMua21zS2V5LFxuICAgICAgICByZXRlbnRpb246IFJldGVudGlvbkRheXMuT05FX01PTlRILFxuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVFeGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb24oXG4gICAgc2NvcGU6IFN0YW5kYXJkRmFyZ2F0ZUNsdXN0ZXIsXG4gICAgbG9nR3JvdXA6IExvZ0dyb3VwIHwgdW5kZWZpbmVkLFxuICAgIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVDbHVzdGVyUHJvcHMpOlxuICAgIEV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByb3BzLmVuYWJsZUV4ZWN1dGVDb21tYW5kTG9nID8/IHRydWUpIHtcbiAgICAgIGlmIChwcm9wcy5leGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb25PdmVycmlkZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBwcm9wcy5leGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb25PdmVycmlkZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga21zS2V5OiBwcm9wcy5rbXNLZXksXG4gICAgICAgICAgbG9nQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgY2xvdWRXYXRjaEVuY3J5cHRpb25FbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgY2xvdWRXYXRjaExvZ0dyb3VwOiBsb2dHcm91cFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbG9nZ2luZzogRXhlY3V0ZUNvbW1hbmRMb2dnaW5nLk9WRVJSSURFXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVDbHVzdGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IHZwYyA9IHRoaXMucmVzb2x2ZVZwYyh0aGlzLCBwcm9wcyk7XG4gICAgY29uc3QgbG9nR3JvdXAgPSB0aGlzLnJlc29sdmVMb2dHcm91cCh0aGlzLCBwcm9wcyk7XG4gICAgY29uc3QgZXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uID0gdGhpcy5yZXNvbHZlRXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uKHRoaXMsIGxvZ0dyb3VwLCBwcm9wcyk7XG4gICAgY29uc3QgY2x1c3RlciA9IG5ldyBDbHVzdGVyKHRoaXMsIFwiRGVmYXVsdFwiLCB7XG4gICAgICB2cGMsXG4gICAgICBjbHVzdGVyTmFtZTogcHJvcHMuY2x1c3Rlck5hbWUsXG4gICAgICBjb250YWluZXJJbnNpZ2h0czogcHJvcHMuY29udGFpbmVySW5zaWdodHMgPz8gdHJ1ZSxcbiAgICAgIGVuYWJsZUZhcmdhdGVDYXBhY2l0eVByb3ZpZGVyczogcHJvcHMuZW5hYmxlRmFyZ2F0ZUNhcGFjaXR5UHJvdmlkZXJzID8/IHRydWUsXG4gICAgICBkZWZhdWx0Q2xvdWRNYXBOYW1lc3BhY2U6IHByb3BzLmRlZmF1bHRDbG91ZE1hcE5hbWVzcGFjZSxcbiAgICAgIGV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvblxuICAgIH0pO1xuICAgIHRoaXMudnBjID0gdnBjO1xuICAgIHRoaXMuY2x1c3RlciA9IGNsdXN0ZXI7XG4gICAgdGhpcy5sb2dHcm91cCA9IGxvZ0dyb3VwO1xuICAgIHRoaXMuY2x1c3Rlck5hbWUgPSB0aGlzLmNsdXN0ZXIuY2x1c3Rlck5hbWU7XG4gICAgdGhpcy5jbHVzdGVyQXJuID0gdGhpcy5jbHVzdGVyLmNsdXN0ZXJBcm47XG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuY2x1c3Rlci5jb25uZWN0aW9ucztcbiAgICB0aGlzLmhhc0VjMkNhcGFjaXR5ID0gdGhpcy5jbHVzdGVyLmhhc0VjMkNhcGFjaXR5O1xuICAgIHRoaXMuZGVmYXVsdENsb3VkTWFwTmFtZXNwYWNlID0gdGhpcy5jbHVzdGVyLmRlZmF1bHRDbG91ZE1hcE5hbWVzcGFjZTtcbiAgICB0aGlzLmF1dG9zY2FsaW5nR3JvdXAgPSB0aGlzLmNsdXN0ZXIuYXV0b3NjYWxpbmdHcm91cDtcbiAgICB0aGlzLmV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbiA9IHRoaXMuY2x1c3Rlci5leGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5zdGFjayA9IHRoaXMuY2x1c3Rlci5zdGFjaztcbiAgICB0aGlzLmVudiA9IHRoaXMuY2x1c3Rlci5lbnY7XG4gIH1cblxuICBhcHBseVJlbW92YWxQb2xpY3kocG9saWN5OiBSZW1vdmFsUG9saWN5KSB7XG4gICAgdGhpcy5jbHVzdGVyLmFwcGx5UmVtb3ZhbFBvbGljeShwb2xpY3kpO1xuICB9XG59XG4iXX0=
@@ -7,6 +7,7 @@ import { Duration } from "aws-cdk-lib";
7
7
  import { BasicStepScalingPolicyProps } from "aws-cdk-lib/aws-autoscaling";
8
8
  import { IMetric } from "aws-cdk-lib/aws-cloudwatch";
9
9
  import { ScalingSchedule } from "aws-cdk-lib/aws-applicationautoscaling";
10
+ import { IAutomationComponent } from "../../aws-cdk";
10
11
  /**
11
12
  * Properties for StandardFargateService.
12
13
  */
@@ -215,7 +216,8 @@ export interface StandardFargateServiceProps {
215
216
  * Standard class for creating a FargateService. It's recommended to use the StandardApplicationFargateService or
216
217
  * StandardNetworkFargateService instead of this class.
217
218
  */
218
- export declare class StandardFargateService extends Construct {
219
+ export declare class StandardFargateService extends Construct implements IAutomationComponent {
220
+ readonly automationComponentTags: import("../../aws-cdk").AutomationComponentTagsProps;
219
221
  readonly taskDefinition: FargateTaskDefinition;
220
222
  readonly logGroup?: LogGroup;
221
223
  readonly service: FargateService;
@@ -7,7 +7,6 @@ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
7
7
  const aws_logs_1 = require("aws-cdk-lib/aws-logs");
8
8
  const aws_cdk_lib_1 = require("aws-cdk-lib");
9
9
  const aws_iam_1 = require("aws-cdk-lib/aws-iam");
10
- const helpers_1 = require("../../helpers");
11
10
  const aws_cdk_1 = require("../../aws-cdk");
12
11
  /**
13
12
  * Standard class for creating a FargateService. It's recommended to use the StandardApplicationFargateService or
@@ -17,6 +16,7 @@ class StandardFargateService extends constructs_1.Construct {
17
16
  constructor(scope, id, props) {
18
17
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
19
18
  super(scope, id);
19
+ this.automationComponentTags = aws_cdk_1.InternalAutomationComponentTags;
20
20
  const taskDefinition = new aws_ecs_1.FargateTaskDefinition(this, "Resource", {
21
21
  cpu: (_a = props.cpu) !== null && _a !== void 0 ? _a : 2048,
22
22
  memoryLimitMiB: (_b = props.memoryLimitMiB) !== null && _b !== void 0 ? _b : 4096,
@@ -101,12 +101,6 @@ class StandardFargateService extends constructs_1.Construct {
101
101
  this.scaling = scaling;
102
102
  this.scaleInCooldown = scaleInCooldown;
103
103
  this.scaleOutCooldown = scaleOutCooldown;
104
- new aws_cdk_1.StandardTags(this, {
105
- suppress: props === null || props === void 0 ? void 0 : props.suppressTagging
106
- }).addAutomationComponentTags({
107
- url: helpers_1.CDK_NPMJS_URL,
108
- vendor: helpers_1.CDK_VENDOR
109
- });
110
104
  }
111
105
  resolveLogGroup(scope, props) {
112
106
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -191,4 +185,4 @@ class StandardFargateService extends constructs_1.Construct {
191
185
  }
192
186
  }
193
187
  exports.StandardFargateService = StandardFargateService;
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxpREFhNkI7QUFFN0IsaURBQWdFO0FBQ2hFLG1EQUE2RDtBQUM3RCw2Q0FBb0Q7QUFDcEQsaURBQW9EO0FBSXBELDJDQUF3RDtBQUN4RCwyQ0FBMkM7QUFtUDNDOzs7R0FHRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsc0JBQVM7SUE4RG5ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0M7O1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxjQUFjLEdBQUcsSUFBSSwrQkFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2pFLEdBQUcsUUFBRSxLQUFLLENBQUMsR0FBRyxtQ0FBSSxJQUFJO1lBQ3RCLGNBQWMsUUFBRSxLQUFLLENBQUMsY0FBYyxtQ0FBSSxJQUFJO1lBQzVDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsZUFBZSxFQUFFO2dCQUNmLHFCQUFxQixFQUFFLCtCQUFxQixDQUFDLEtBQUs7Z0JBQ2xELGVBQWUsUUFBRSxLQUFLLENBQUMsZUFBZSxtQ0FBSSx5QkFBZSxDQUFDLEtBQUs7YUFDaEU7U0FDRixDQUFDLENBQUM7UUFFSCxVQUFJLEtBQUssQ0FBQyxVQUFVLG1DQUFJLElBQUksRUFBRTtZQUM1QixjQUFjLENBQUMsbUJBQW1CLENBQ2hDLElBQUkseUJBQWUsQ0FBQztnQkFDbEIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2dCQUNoQixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzthQUN0QyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFD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QixFQUFFLGNBQWM7Z0JBQ2hDLElBQUksRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2dCQUM1QixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjthQUNqQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUE4R0Q7Ozs7OztPQU1HO0lBQ0gsd0JBQXdCLENBQUMsRUFBVSxFQUFFLE1BQWUsRUFBRyxXQUFtQjtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsRUFBRTtZQUN4QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxNQUFNO1lBQ04sV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxFQUFVLEVBQUUsS0FBa0M7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxFQUFVLEVBQUUsS0FBc0I7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQTdNRCx3REE2TUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIENhcGFjaXR5UHJvdmlkZXJTdHJhdGVneSxcbiAgQ29udGFpbmVySW1hZ2UsXG4gIENwdUFyY2hpdGVjdHVyZSxcbiAgRGVwbG95bWVudENvbnRyb2xsZXJUeXBlLFxuICBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLFxuICBGYXJnYXRlU2VydmljZSxcbiAgRmFyZ2F0ZVRhc2tEZWZpbml0aW9uLFxuICBJQ2x1c3RlcixcbiAgTG9nRHJpdmVyLFxuICBPcGVyYXRpbmdTeXN0ZW1GYW1pbHksXG4gIFByb3RvY29sLCBTY2FsYWJsZVRhc2tDb3VudCxcbiAgU2VjcmV0XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQge0xvZ0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2xvZy1jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQge1N1Ym5ldFNlbGVjdGlvbiwgU3VibmV0VHlwZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7TG9nR3JvdXAsIFJldGVudGlvbkRheXN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0IHtEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1BvbGljeVN0YXRlbWVudH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7QmFzaWNTdGVwU2NhbGluZ1BvbGljeVByb3BzfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWF1dG9zY2FsaW5nXCI7XG5pbXBvcnQge0lNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtTY2FsaW5nU2NoZWR1bGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBwbGljYXRpb25hdXRvc2NhbGluZ1wiO1xuaW1wb3J0IHtDREtfTlBNSlNfVVJMLCBDREtfVkVORE9SfSBmcm9tIFwiLi4vLi4vaGVscGVyc1wiO1xuaW1wb3J0IHtTdGFuZGFyZFRhZ3N9IGZyb20gXCIuLi8uLi9hd3MtY2RrXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgU3RhbmRhcmRGYXJnYXRlU2VydmljZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgQ1BVIGFsbG9jYXRlZCB0byB0aGUgdGFzay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyMDQ4XG4gICAqL1xuICByZWFkb25seSBjcHU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZW1vcnkgYWxsb2NhdGVkIHRvIHRoZSB0YXNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDQwOTZcbiAgICovXG4gIHJlYWRvbmx5IG1lbW9yeUxpbWl0TWlCPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBlcGhlbWVyYWwgc3RvcmFnZSBhbGxvY2F0ZWQgdG8gdGhlIHRhc2suXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMjBcbiAgICovXG4gIHJlYWRvbmx5IGVwaGVtZXJhbFN0b3JhZ2VHaUI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENQVSBhcmNoaXRlY3R1cmUgdG8gdXNlIGZvciB0aGUgdGFza1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIENwdUFyY2hpdGVjdHVyZS5BUk02NFxuICAgKi9cbiAgcmVhZG9ubHkgY3B1QXJjaGl0ZWN0dXJlPzogQ3B1QXJjaGl0ZWN0dXJlO1xuXG4gIC8qKlxuICAgKiBMb2cgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nQ29uZmlndXJhdGlvbj86IExvZ0NvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgWC1SYXkgZm9yIHRoaXMgc2VydmljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVYcmF5PzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBhYmlsaXR5IHRvIHB1c2ggY3VzdG9tIG1ldHJpY3MgdG8gQ2xvdWRXYXRjaCBmcm9tIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVB1Ymxpc2hNZXRyaWNzPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBUaGUgY2x1c3RlciB0byBwbGFjZSBzZXJ2aWNlcyBpbi5cbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI6IElDbHVzdGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGFpbmVyIHBvcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDgwODBcbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBvcnQgaXMgVENQIG9yIFVEUC5cbiAgICpcbiAgICogQGRlZmF1bHQgUHJvdG9jb2wuVENQXG4gICAqL1xuICByZWFkb25seSBwcm90b2NvbD86IFByb3RvY29sO1xuXG4gIC8qKlxuICAgKiBDb250YWluZXIgaW1hZ2UgdG8gZGVwbG95IGluIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGltYWdlOiBDb250YWluZXJJbWFnZTtcblxuICAvKipcbiAgICogU3VibmV0cyB0byBwdXQgdGhlIHNlcnZpY2UgaW4uIElmIHRoaXMgaXMgbGVmdCBlbXB0eSwgc3VibmV0IHR5cGUgUFJJVkFURV9XSVRIX0VHUkVTUyBpcyB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjU3VibmV0cz86IFN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHBhc3MgdG8gdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBBIGtleS92YWx1ZSBtYXAgb2YgbGFiZWxzIHRvIGFkZCB0byB0aGUgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyTGFiZWxzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIHNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0cz86IFJlY29yZDxzdHJpbmcsIFNlY3JldD47XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0YXNrcywgc3BlY2lmaWVkIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgQW1hem9uIEVDU1xuICAgKiBzZXJ2aWNlJ3MgRGVzaXJlZENvdW50IHZhbHVlLCB0aGF0IGNhbiBydW4gaW4gYSBzZXJ2aWNlIGR1cmluZyBhXG4gICAqIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMjAwXG4gICAqL1xuICByZWFkb25seSBtYXhIZWFsdGh5UGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIHRhc2tzLCBzcGVjaWZpZWQgYXMgYSBwZXJjZW50YWdlIG9mXG4gICAqIHRoZSBBbWF6b24gRUNTIHNlcnZpY2UncyBEZXNpcmVkQ291bnQgdmFsdWUsIHRoYXQgbXVzdFxuICAgKiBjb250aW51ZSB0byBydW4gYW5kIHJlbWFpbiBoZWFsdGh5IGR1cmluZyBhIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMTAwXG4gICAqL1xuICByZWFkb25seSBtaW5IZWFsdGh5UGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogRW5hYmxlIHJvbGxiYWNrIG9uIGRlcGxveW1lbnQgZmFpbHVyZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVJvbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoaWNoIGRlcGxveW1lbnQgY29udHJvbGxlciB0byB1c2UgZm9yIHRoZSBzZXJ2aWNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVwbG95bWVudENvbnRyb2xsZXJUeXBlLkVDU1xuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95bWVudENvbnRyb2xsZXJUeXBlPzogRGVwbG95bWVudENvbnRyb2xsZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSB0aGUgYWJpbGl0eSB0byBleGVjdXRlIGludG8gYSBjb250YWluZXJcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVFeGVjdXRlQ29tbWFuZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwbGF0Zm9ybSB2ZXJzaW9uIG9uIHdoaWNoIHRvIHJ1biB5b3VyIHNlcnZpY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRmFyZ2F0ZVBsYXRmb3JtVmVyc2lvbi5MQVRFU1RcbiAgICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtVmVyc2lvbj86IEZhcmdhdGVQbGF0Zm9ybVZlcnNpb247XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYXNzaWduIGEgcHVibGljIElQIGFkZHJlc3MgdG8gdGhlIGNvbnRhaW5lcnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFzc2lnblB1YmxpY0lwPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gZW5hYmxlIEFtYXpvbiBFQ1MgbWFuYWdlZCB0YWdzIGZvciB0aGUgdGFza3Mgd2l0aGluIHRoZSBzZXJ2aWNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRUNTTWFuYWdlZFRhZ3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyaW9kIG9mIHRpbWUsIGluIHNlY29uZHMsIHRoYXQgdGhlIEFtYXpvbiBFQ1Mgc2VydmljZSBzY2hlZHVsZXIgaWdub3JlcyB1bmhlYWx0aHkgRWxhc3RpYyBMb2FkIEJhbGFuY2luZyB0YXJnZXQgaGVhbHRoIGNoZWNrcyBhZnRlciBhIHRhc2sgaGFzIGZpcnN0IHN0YXJ0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uc2Vjb25kcygzMClcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogRGVzaXJlZCBjb3VudCBmb3IgdGhpcyBzZXJ2aWNlLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBtaW5DYXBhY2l0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBtaW5DYXBhY2l0eVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzaXJlZENvdW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIGNhcGFjaXR5IHRvIHNjYWxlIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDFcbiAgICovXG4gIHJlYWRvbmx5IG1pbkNhcGFjaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGNhcGFjaXR5IHRvIHNjYWxlIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDJcbiAgICovXG4gIHJlYWRvbmx5IG1heENhcGFjaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBQZXJpb2QgYWZ0ZXIgYSBzY2FsZSBpbiBhY3Rpdml0eSBjb21wbGV0ZXMgYmVmb3JlIGFub3RoZXIgc2NhbGUgaW4gYWN0aXZpdHkgY2FuIHN0YXJ0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIER1cmF0aW9uLnNlY29uZHMoMTApXG4gICAqL1xuICByZWFkb25seSBzY2FsZUluQ29vbGRvd24/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogUGVyaW9kIGFmdGVyIGEgc2NhbGUgb3V0IGFjdGl2aXR5IGNvbXBsZXRlcyBiZWZvcmUgYW5vdGhlciBzY2FsZSBvdXQgYWN0aXZpdHkgY2FuIHN0YXJ0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIER1cmF0aW9uLnNlY29uZHMoNjApXG4gICAqL1xuICByZWFkb25seSBzY2FsZU91dENvb2xkb3duPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgdmFsdWUgZm9yIENQVSB1dGlsaXphdGlvbiBhY3Jvc3MgYWxsIHRhc2tzIGluIHRoZSBzZXJ2aWNlLlxuICAgKiBTZXQgdGhpcyB0byAwIHRvIGRpc2FibGUgQ1BVIHNjYWxpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNjBcbiAgICovXG4gIHJlYWRvbmx5IHNjYWxlQ3B1VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZhbHVlIGZvciBtZW1vcnkgdXRpbGl6YXRpb24gYWNyb3NzIGFsbCB0YXNrcyBpbiB0aGUgc2VydmljZS5cbiAgICogRGlzYWJsZWQgYnkgZGVmYXVsdC5cbiAgICovXG4gIHJlYWRvbmx5IHNjYWxlTWVtb3J5VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDYXBhY2l0eSB3ZWlnaHQgZm9yIHRoZSBGQVJHQVRFIGNhcGFjaXR5IHByb3ZpZGVyLiBEZWZhdWx0IGlzIHRvIG5vdCB1c2UgY2FwYWNpdHkgcHJvdmlkZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FwYWNpdHlXZWlnaHQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiB0YXNrcyB0byBydW4gb24gdGhlIEZBUkdBVEUgY2FwYWNpdHkgcHJvdmlkZXIuIERlZmF1bHQgaXMgdG8gbm90IHVzZSBjYXBhY2l0eSBwcm92aWRlcnMuXG4gICAqL1xuICByZWFkb25seSBjYXBhY2l0eUJhc2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENhcGFjaXR5IHdlaWdodCBmb3IgdGhlIEZBUkdBVEVfU1BPVCBjYXBhY2l0eSBwcm92aWRlci4gRGVmYXVsdCBpcyB0byBub3QgdXNlIGNhcGFjaXR5IHByb3ZpZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IHNwb3RDYXBhY2l0eVdlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIHRhc2tzIHRvIHJ1biBvbiB0aGUgRkFSR0FURV9TUE9UIGNhcGFjaXR5IHByb3ZpZGVyLiBEZWZhdWx0IGlzIHRvIG5vdCB1c2UgY2FwYWNpdHkgcHJvdmlkZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3BvdENhcGFjaXR5QmFzZT86IG51bWJlcjtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCB0YWdzIG9uIHJlc291cmNlc1xuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN0YW5kYXJkIGNsYXNzIGZvciBjcmVhdGluZyBhIEZhcmdhdGVTZXJ2aWNlLiBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgU3RhbmRhcmRBcHBsaWNhdGlvbkZhcmdhdGVTZXJ2aWNlIG9yXG4gKiBTdGFuZGFyZE5ldHdvcmtGYXJnYXRlU2VydmljZSBpbnN0ZWFkIG9mIHRoaXMgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICByZWFkb25seSB0YXNrRGVmaW5pdGlvbjogRmFyZ2F0ZVRhc2tEZWZpbml0aW9uO1xuICByZWFkb25seSBsb2dHcm91cD86IExvZ0dyb3VwO1xuICByZWFkb25seSBzZXJ2aWNlOiBGYXJnYXRlU2VydmljZTtcbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICByZWFkb25seSBzY2FsaW5nOiBTY2FsYWJsZVRhc2tDb3VudDtcbiAgcmVhZG9ubHkgc2NhbGVJbkNvb2xkb3duOiBEdXJhdGlvbjtcbiAgcmVhZG9ubHkgc2NhbGVPdXRDb29sZG93bjogRHVyYXRpb247XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVMb2dHcm91cChzY29wZTogQ29uc3RydWN0LCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKTogTG9nR3JvdXAgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIHJldHVybiBuZXcgTG9nR3JvdXAoc2NvcGUsIFwiTG9nR3JvdXBcIiwge1xuICAgICAgICByZXRlbnRpb246IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LnJldGVudGlvbiA/PyBSZXRlbnRpb25EYXlzLkZJVkVfREFZUyxcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5sb2dHcm91cE5hbWUsXG4gICAgICAgIGVuY3J5cHRpb25LZXk6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LmVuY3J5cHRpb25LZXksXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LnJlbW92YWxQb2xpY3kgPz8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlTG9nRHJpdmVyKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMsIGxvZ0dyb3VwOiBMb2dHcm91cCB8IHVuZGVmaW5lZCk6XG4gICAgTG9nRHJpdmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMubG9nQ29uZmlndXJhdGlvbj8uZW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICByZXR1cm4gTG9nRHJpdmVyLmF3c0xvZ3Moe1xuICAgICAgICBzdHJlYW1QcmVmaXg6IHNjb3BlLm5vZGUuaWQsXG4gICAgICAgIGxvZ0dyb3VwXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlVnBjU3VibmV0cyhzY29wZTogQ29uc3RydWN0LCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKTogU3VibmV0U2VsZWN0aW9uIHtcbiAgICBpZiAocHJvcHMudnBjU3VibmV0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BzLnZwY1N1Ym5ldHNcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlZENhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzKHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpOlxuICAgIENhcGFjaXR5UHJvdmlkZXJTdHJhdGVneVtdIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgc3RyYXRlZ2llczogQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5W10gPSBbXTtcbiAgICBpZiAocHJvcHMuY2FwYWNpdHlXZWlnaHQgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5jYXBhY2l0eUJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgY2FwYWNpdHlQcm92aWRlcjogXCJGQVJHQVRFXCIsXG4gICAgICAgIGJhc2U6IHByb3BzLmNhcGFjaXR5QmFzZSxcbiAgICAgICAgd2VpZ2h0OiBwcm9wcy5jYXBhY2l0eVdlaWdodFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5zcG90Q2FwYWNpdHlXZWlnaHQgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5zcG90Q2FwYWNpdHlCYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIGNhcGFjaXR5UHJvdmlkZXI6IFwiRkFSR0FURV9TUE9UXCIsXG4gICAgICAgIGJhc2U6IHByb3BzLnNwb3RDYXBhY2l0eUJhc2UsXG4gICAgICAgIHdlaWdodDogcHJvcHMuc3BvdENhcGFjaXR5V2VpZ2h0XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHN0cmF0ZWdpZXMubGVuZ3RoID4gMCA/IHN0cmF0ZWdpZXMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHRhc2tEZWZpbml0aW9uID0gbmV3IEZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGNwdTogcHJvcHMuY3B1ID8/IDIwNDgsXG4gICAgICBtZW1vcnlMaW1pdE1pQjogcHJvcHMubWVtb3J5TGltaXRNaUIgPz8gNDA5NixcbiAgICAgIGVwaGVtZXJhbFN0b3JhZ2VHaUI6IHByb3BzLmVwaGVtZXJhbFN0b3JhZ2VHaUIsXG4gICAgICBydW50aW1lUGxhdGZvcm06IHtcbiAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiBPcGVyYXRpbmdTeXN0ZW1GYW1pbHkuTElOVVgsXG4gICAgICAgIGNwdUFyY2hpdGVjdHVyZTogcHJvcHMuY3B1QXJjaGl0ZWN0dXJlID8/IENwdUFyY2hpdGVjdHVyZS5BUk02NFxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmVuYWJsZVhyYXkgPz8gdHJ1ZSkge1xuICAgICAgdGFza0RlZmluaXRpb24uYWRkVG9UYXNrUm9sZVBvbGljeShcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICBhY3Rpb25zOiBbJ2Nsb3Vkd2F0Y2g6UHV0TWV0cmljRGF0YSddLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2dHcm91cCA9IHRoaXMucmVzb2x2ZUxvZ0dyb3VwKHRoaXMsIHByb3BzKTtcbiAgICBjb25zdCBsb2dnaW5nID0gdGhpcy5yZXNvbHZlTG9nRHJpdmVyKHRoaXMsIHByb3BzLCBsb2dHcm91cCk7XG4gICAgY29uc3QgcG9ydCA9IHByb3BzLnBvcnQgPz8gODA4MDtcbiAgICBjb25zdCBwcm90b2NvbCA9IHByb3BzLnByb3RvY29sID8/IFByb3RvY29sLlRDUDtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcihcIkNvbnRhaW5lclwiLCB7XG4gICAgICBpbWFnZTogcHJvcHMuaW1hZ2UsXG4gICAgICBwb3J0TWFwcGluZ3M6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbnRhaW5lclBvcnQ6IHBvcnQsXG4gICAgICAgICAgaG9zdFBvcnQ6IHBvcnQsXG4gICAgICAgICAgcHJvdG9jb2xcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIGxvZ2dpbmcsXG4gICAgICBlbnZpcm9ubWVudDogcHJvcHMuZW52aXJvbm1lbnQsXG4gICAgICBkb2NrZXJMYWJlbHM6IHByb3BzLmRvY2tlckxhYmVscyxcbiAgICAgIHNlY3JldHM6IHByb3BzLnNlY3JldHNcbiAgICB9KTtcblxuICAgIC8vIFRPRE8gT3RlbCBDb2xsZWN0b3JcblxuICAgIGNvbnN0IHZwY1N1Ym5ldHMgPSB0aGlzLnJlc29sdmVWcGNTdWJuZXRzKHRoaXMsIHByb3BzKTtcbiAgICBjb25zdCBkZXNpcmVkQ291bnQgPSBwcm9wcy5kZXNpcmVkQ291bnQgPz8gcHJvcHMubWluQ2FwYWNpdHkgPz8gMTtcbiAgICBjb25zdCBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llcyA9IHRoaXMucmVzb2x2ZWRDYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llcyhwcm9wcyk7XG5cbiAgICBjb25zdCBzZXJ2aWNlID0gbmV3IEZhcmdhdGVTZXJ2aWNlKHRoaXMsIFwiRGVmYXVsdFwiLCB7XG4gICAgICBjbHVzdGVyOiBwcm9wcy5jbHVzdGVyLFxuICAgICAgdGFza0RlZmluaXRpb24sXG4gICAgICBtYXhIZWFsdGh5UGVyY2VudDogcHJvcHMubWF4SGVhbHRoeVBlcmNlbnQgPz8gMjAwLFxuICAgICAgbWluSGVhbHRoeVBlcmNlbnQ6IHByb3BzLm1pbkhlYWx0aHlQZXJjZW50ID8/IDEwMCxcbiAgICAgIGRlc2lyZWRDb3VudCxcbiAgICAgIGNpcmN1aXRCcmVha2VyOiB7XG4gICAgICAgIHJvbGxiYWNrOiBwcm9wcy5lbmFibGVSb2xsYmFjayA/PyB0cnVlXG4gICAgICB9LFxuICAgICAgZGVwbG95bWVudENvbnRyb2xsZXI6IHtcbiAgICAgICAgdHlwZTogcHJvcHMuZGVwbG95bWVudENvbnRyb2xsZXJUeXBlID8/IERlcGxveW1lbnRDb250cm9sbGVyVHlwZS5FQ1NcbiAgICAgIH0sXG4gICAgICB2cGNTdWJuZXRzLFxuICAgICAgcGxhdGZvcm1WZXJzaW9uOiBwcm9wcy5wbGF0Zm9ybVZlcnNpb24gPz8gRmFyZ2F0ZVBsYXRmb3JtVmVyc2lvbi5MQVRFU1QsXG4gICAgICBlbmFibGVFeGVjdXRlQ29tbWFuZDogcHJvcHMuZW5hYmxlRXhlY3V0ZUNvbW1hbmQgPz8gdHJ1ZSxcbiAgICAgIGFzc2lnblB1YmxpY0lwOiBwcm9wcy5hc3NpZ25QdWJsaWNJcCA/PyBmYWxzZSxcbiAgICAgIGVuYWJsZUVDU01hbmFnZWRUYWdzOiBwcm9wcy5lbmFibGVFQ1NNYW5hZ2VkVGFncyA/PyB0cnVlLFxuICAgICAgaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZDogcHJvcHMuaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZCA/PyBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIGNhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzXG4gICAgfSk7XG5cbiAgICBjb25zdCBzY2FsaW5nID0gc2VydmljZS5hdXRvU2NhbGVUYXNrQ291bnQoe1xuICAgICAgbWluQ2FwYWNpdHk6IHByb3BzLm1pbkNhcGFjaXR5ID8/IDEsXG4gICAgICBtYXhDYXBhY2l0eTogcHJvcHMubWF4Q2FwYWNpdHkgPz8gMlxuICAgIH0pO1xuICAgIGNvbnN0IHNjYWxlSW5Db29sZG93biA9IHByb3BzLnNjYWxlSW5Db29sZG93biA/PyBEdXJhdGlvbi5zZWNvbmRzKDEwKTtcbiAgICBjb25zdCBzY2FsZU91dENvb2xkb3duID0gcHJvcHMuc2NhbGVPdXRDb29sZG93biA/PyBEdXJhdGlvbi5zZWNvbmRzKDYwKTtcblxuICAgIGlmIChwcm9wcy5zY2FsZUNwdVRhcmdldFV0aWxpemF0aW9uUGVyY2VudCAhPT0gMCkge1xuICAgICAgc2NhbGluZy5zY2FsZU9uQ3B1VXRpbGl6YXRpb24oXCJDcHVTY2FsaW5nXCIsIHtcbiAgICAgICAgc2NhbGVJbkNvb2xkb3duLFxuICAgICAgICBzY2FsZU91dENvb2xkb3duLFxuICAgICAgICB0YXJnZXRVdGlsaXphdGlvblBlcmNlbnQ6IHByb3BzLnNjYWxlQ3B1VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50ID8/IDYwLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNjYWxlTWVtb3J5VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHNjYWxpbmcuc2NhbGVPbk1lbW9yeVV0aWxpemF0aW9uKFwiTWVtb3J5U2NhbGluZ1wiLCB7XG4gICAgICAgIHNjYWxlSW5Db29sZG93bixcbiAgICAgICAgc2NhbGVPdXRDb29sZG93bixcbiAgICAgICAgdGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50OiBwcm9wcy5zY2FsZU1lbW9yeVRhcmdldFV0aWxpemF0aW9uUGVyY2VudFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICB0aGlzLnRhc2tEZWZpbml0aW9uID0gdGFza0RlZmluaXRpb247XG4gICAgdGhpcy5sb2dHcm91cCA9IGxvZ0dyb3VwO1xuICAgIHRoaXMuc2VydmljZSA9IHNlcnZpY2U7XG4gICAgdGhpcy5zY2FsaW5nID0gc2NhbGluZztcbiAgICB0aGlzLnNjYWxlSW5Db29sZG93biA9IHNjYWxlSW5Db29sZG93bjtcbiAgICB0aGlzLnNjYWxlT3V0Q29vbGRvd24gPSBzY2FsZU91dENvb2xkb3duO1xuXG4gICAgbmV3IFN0YW5kYXJkVGFncyh0aGlzLCB7XG4gICAgICBzdXBwcmVzczogcHJvcHM/LnN1cHByZXNzVGFnZ2luZ1xuICAgIH0pLmFkZEF1dG9tYXRpb25Db21wb25lbnRUYWdzKHtcbiAgICAgIHVybDogQ0RLX05QTUpTX1VSTCxcbiAgICAgIHZlbmRvcjogQ0RLX1ZFTkRPUlxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gY29uZHVjdCBzY2FsaW5nIGJhc2VkIG9uIHRyYWNraW5nIGN1c3RvbSBtZXRyaWNzLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIHRvIGdpdmUgdGhlIHNjYWxpbmdcbiAgICogQHBhcmFtIG1ldHJpYyB0aGUgbWV0cmljIHRvIHRyYWNrXG4gICAqIEBwYXJhbSB0YXJnZXRWYWx1ZSB0aGUgdGFyZ2V0IHZhbHVlXG4gICAqL1xuICBzY2FsZVRvVHJhY2tDdXN0b21NZXRyaWMoaWQ6IHN0cmluZywgbWV0cmljOiBJTWV0cmljLCAgdGFyZ2V0VmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuc2NhbGluZy5zY2FsZVRvVHJhY2tDdXN0b21NZXRyaWMoaWQsIHtcbiAgICAgIHNjYWxlSW5Db29sZG93bjogdGhpcy5zY2FsZUluQ29vbGRvd24sXG4gICAgICBzY2FsZU91dENvb2xkb3duOiB0aGlzLnNjYWxlT3V0Q29vbGRvd24sXG4gICAgICBtZXRyaWMsXG4gICAgICB0YXJnZXRWYWx1ZVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCB0byBzY2FsZSBiYXNlZCBvbiBhIG1ldHJpYy5cbiAgICpcbiAgICogQHBhcmFtIGlkIHRoZSBpZCB0byBnaXZlIHRoZSBzY2FsaW5nIHBvbGljeVxuICAgKiBAcGFyYW0gcHJvcHMgc2NhbGluZyBwcm9wZXJ0aWVzXG4gICAqL1xuICBzY2FsZU9uTWV0cmljKGlkOiBzdHJpbmcsIHByb3BzOiBCYXNpY1N0ZXBTY2FsaW5nUG9saWN5UHJvcHMpIHtcbiAgICB0aGlzLnNjYWxpbmcuc2NhbGVPbk1ldHJpYyhpZCwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCB0byBzY2FsZSBiYXNlZCBvbiBhIHNjaGVkdWxlLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIHRvIGdpdmUgdGhlIHNjYWxpbmcgcG9saWN5XG4gICAqIEBwYXJhbSBwcm9wcyBzY2FsaW5nIHByb3BlcnRpZXNcbiAgICovXG4gIHNjYWxlT25TY2hlZHVsZShpZDogc3RyaW5nLCBwcm9wczogU2NhbGluZ1NjaGVkdWxlKSB7XG4gICAgdGhpcy5zY2FsaW5nLnNjYWxlT25TY2hlZHVsZShpZCwgcHJvcHMpO1xuICB9XG59XG4iXX0=
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxpREFhNkI7QUFFN0IsaURBQWdFO0FBQ2hFLG1EQUE2RDtBQUM3RCw2Q0FBb0Q7QUFDcEQsaURBQW9EO0FBSXBELDJDQUFvRjtBQW1QcEY7OztHQUdHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQWdFbkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFrQzs7UUFDMUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQS9EViw0QkFBdUIsR0FBRyx5Q0FBK0IsQ0FBQztRQWlFakUsTUFBTSxjQUFjLEdBQUcsSUFBSSwrQkFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2pFLEdBQUcsUUFBRSxLQUFLLENBQUMsR0FBRyxtQ0FBSSxJQUFJO1lBQ3RCLGNBQWMsUUFBRSxLQUFLLENBQUMsY0FBYyxtQ0FBSSxJQUFJO1lBQzVDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsZUFBZSxFQUFFO2dCQUNmLHFCQUFxQixFQUFFLCtCQUFxQixDQUFDLEtBQUs7Z0JBQ2xELGVBQWUsUUFBRSxLQUFLLENBQUMsZUFBZSxtQ0FBSSx5QkFBZSxDQUFDLEtBQUs7YUFDaEU7U0FDRixDQUFDLENBQUM7UUFFSCxVQUFJLEtBQUssQ0FBQyxVQUFVLG1DQUFJLElBQUksRUFBRTtZQUM1QixjQUFjLENBQUMsbUJBQW1CLENBQ2hDLElBQUkseUJBQWUsQ0FBQztnQkFDbEIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2dCQUNoQixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzthQUN0QyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJ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QVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUF1R0Q7Ozs7OztPQU1HO0lBQ0gsd0JBQXdCLENBQUMsRUFBVSxFQUFFLE1BQWUsRUFBRyxXQUFtQjtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsRUFBRTtZQUN4QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxNQUFNO1lBQ04sV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxFQUFVLEVBQUUsS0FBa0M7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxFQUFVLEVBQUUsS0FBc0I7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQXhNRCx3REF3TUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIENhcGFjaXR5UHJvdmlkZXJTdHJhdGVneSxcbiAgQ29udGFpbmVySW1hZ2UsXG4gIENwdUFyY2hpdGVjdHVyZSxcbiAgRGVwbG95bWVudENvbnRyb2xsZXJUeXBlLFxuICBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLFxuICBGYXJnYXRlU2VydmljZSxcbiAgRmFyZ2F0ZVRhc2tEZWZpbml0aW9uLFxuICBJQ2x1c3RlcixcbiAgTG9nRHJpdmVyLFxuICBPcGVyYXRpbmdTeXN0ZW1GYW1pbHksXG4gIFByb3RvY29sLCBTY2FsYWJsZVRhc2tDb3VudCxcbiAgU2VjcmV0XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQge0xvZ0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2xvZy1jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQge1N1Ym5ldFNlbGVjdGlvbiwgU3VibmV0VHlwZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7TG9nR3JvdXAsIFJldGVudGlvbkRheXN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0IHtEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1BvbGljeVN0YXRlbWVudH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7QmFzaWNTdGVwU2NhbGluZ1BvbGljeVByb3BzfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWF1dG9zY2FsaW5nXCI7XG5pbXBvcnQge0lNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtTY2FsaW5nU2NoZWR1bGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBwbGljYXRpb25hdXRvc2NhbGluZ1wiO1xuaW1wb3J0IHtJQXV0b21hdGlvbkNvbXBvbmVudCwgSW50ZXJuYWxBdXRvbWF0aW9uQ29tcG9uZW50VGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkRmFyZ2F0ZVNlcnZpY2VQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBDUFUgYWxsb2NhdGVkIHRvIHRoZSB0YXNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwNDhcbiAgICovXG4gIHJlYWRvbmx5IGNwdT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gdGhlIHRhc2suXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNDA5NlxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXRNaUI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGVwaGVtZXJhbCBzdG9yYWdlIGFsbG9jYXRlZCB0byB0aGUgdGFzay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyMFxuICAgKi9cbiAgcmVhZG9ubHkgZXBoZW1lcmFsU3RvcmFnZUdpQj86IG51bWJlcjtcblxuICAvKipcbiAgICogQ1BVIGFyY2hpdGVjdHVyZSB0byB1c2UgZm9yIHRoZSB0YXNrXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ3B1QXJjaGl0ZWN0dXJlLkFSTTY0XG4gICAqL1xuICByZWFkb25seSBjcHVBcmNoaXRlY3R1cmU/OiBDcHVBcmNoaXRlY3R1cmU7XG5cbiAgLyoqXG4gICAqIExvZyBjb25maWd1cmF0aW9uIGZvciB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBsb2dDb25maWd1cmF0aW9uPzogTG9nQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogRW5hYmxlcyBYLVJheSBmb3IgdGhpcyBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVhyYXk/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgdGhlIGFiaWxpdHkgdG8gcHVzaCBjdXN0b20gbWV0cmljcyB0byBDbG91ZFdhdGNoIGZyb20gdGhlIHNlcnZpY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlUHVibGlzaE1ldHJpY3M/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIFRoZSBjbHVzdGVyIHRvIHBsYWNlIHNlcnZpY2VzIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgY2x1c3RlcjogSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250YWluZXIgcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgODA4MFxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9ydCBpcyBUQ1Agb3IgVURQLlxuICAgKlxuICAgKiBAZGVmYXVsdCBQcm90b2NvbC5UQ1BcbiAgICovXG4gIHJlYWRvbmx5IHByb3RvY29sPzogUHJvdG9jb2w7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5lciBpbWFnZSB0byBkZXBsb3kgaW4gdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2U6IENvbnRhaW5lckltYWdlO1xuXG4gIC8qKlxuICAgKiBTdWJuZXRzIHRvIHB1dCB0aGUgc2VydmljZSBpbi4gSWYgdGhpcyBpcyBsZWZ0IGVtcHR5LCBzdWJuZXQgdHlwZSBQUklWQVRFX1dJVEhfRUdSRVNTIGlzIHVzZWQuXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEEga2V5L3ZhbHVlIG1hcCBvZiBsYWJlbHMgdG8gYWRkIHRvIHRoZSBjb250YWluZXIuXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJMYWJlbHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBwYXNzIHRvIHRoZSBjb250YWluZXIuXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRzPzogUmVjb3JkPHN0cmluZywgU2VjcmV0PjtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRhc2tzLCBzcGVjaWZpZWQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBBbWF6b24gRUNTXG4gICAqIHNlcnZpY2UncyBEZXNpcmVkQ291bnQgdmFsdWUsIHRoYXQgY2FuIHJ1biBpbiBhIHNlcnZpY2UgZHVyaW5nIGFcbiAgICogZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyMDBcbiAgICovXG4gIHJlYWRvbmx5IG1heEhlYWx0aHlQZXJjZW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgdGFza3MsIHNwZWNpZmllZCBhcyBhIHBlcmNlbnRhZ2Ugb2ZcbiAgICogdGhlIEFtYXpvbiBFQ1Mgc2VydmljZSdzIERlc2lyZWRDb3VudCB2YWx1ZSwgdGhhdCBtdXN0XG4gICAqIGNvbnRpbnVlIHRvIHJ1biBhbmQgcmVtYWluIGhlYWx0aHkgZHVyaW5nIGEgZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxMDBcbiAgICovXG4gIHJlYWRvbmx5IG1pbkhlYWx0aHlQZXJjZW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgcm9sbGJhY2sgb24gZGVwbG95bWVudCBmYWlsdXJlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlUm9sbGJhY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hpY2ggZGVwbG95bWVudCBjb250cm9sbGVyIHRvIHVzZSBmb3IgdGhlIHNlcnZpY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZXBsb3ltZW50Q29udHJvbGxlclR5cGUuRUNTXG4gICAqL1xuICByZWFkb25seSBkZXBsb3ltZW50Q29udHJvbGxlclR5cGU/OiBEZXBsb3ltZW50Q29udHJvbGxlclR5cGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIHRoZSBhYmlsaXR5IHRvIGV4ZWN1dGUgaW50byBhIGNvbnRhaW5lclxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUV4ZWN1dGVDb21tYW5kPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBsYXRmb3JtIHZlcnNpb24gb24gd2hpY2ggdG8gcnVuIHlvdXIgc2VydmljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLkxBVEVTVFxuICAgKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm1WZXJzaW9uPzogRmFyZ2F0ZVBsYXRmb3JtVmVyc2lvbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhc3NpZ24gYSBwdWJsaWMgSVAgYWRkcmVzcyB0byB0aGUgY29udGFpbmVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzaWduUHVibGljSXA/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBlbmFibGUgQW1hem9uIEVDUyBtYW5hZ2VkIHRhZ3MgZm9yIHRoZSB0YXNrcyB3aXRoaW4gdGhlIHNlcnZpY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVFQ1NNYW5hZ2VkVGFncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJpb2Qgb2YgdGltZSwgaW4gc2Vjb25kcywgdGhhdCB0aGUgQW1hem9uIEVDUyBzZXJ2aWNlIHNjaGVkdWxlciBpZ25vcmVzIHVuaGVhbHRoeSBFbGFzdGljIExvYWQgQmFsYW5jaW5nIHRhcmdldCBoZWFsdGggY2hlY2tzIGFmdGVyIGEgdGFzayBoYXMgZmlyc3Qgc3RhcnRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEdXJhdGlvbi5zZWNvbmRzKDMwKVxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBEZXNpcmVkIGNvdW50IGZvciB0aGlzIHNlcnZpY2UuIElmIG5vdCBzZXQsIGRlZmF1bHRzIHRvIG1pbkNhcGFjaXR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG1pbkNhcGFjaXR5XG4gICAqL1xuICByZWFkb25seSBkZXNpcmVkQ291bnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gY2FwYWNpdHkgdG8gc2NhbGUgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMVxuICAgKi9cbiAgcmVhZG9ubHkgbWluQ2FwYWNpdHk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gY2FwYWNpdHkgdG8gc2NhbGUgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMlxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q2FwYWNpdHk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFBlcmlvZCBhZnRlciBhIHNjYWxlIGluIGFjdGl2aXR5IGNvbXBsZXRlcyBiZWZvcmUgYW5vdGhlciBzY2FsZSBpbiBhY3Rpdml0eSBjYW4gc3RhcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uc2Vjb25kcygxMClcbiAgICovXG4gIHJlYWRvbmx5IHNjYWxlSW5Db29sZG93bj86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBQZXJpb2QgYWZ0ZXIgYSBzY2FsZSBvdXQgYWN0aXZpdHkgY29tcGxldGVzIGJlZm9yZSBhbm90aGVyIHNjYWxlIG91dCBhY3Rpdml0eSBjYW4gc3RhcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uc2Vjb25kcyg2MClcbiAgICovXG4gIHJlYWRvbmx5IHNjYWxlT3V0Q29vbGRvd24/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCB2YWx1ZSBmb3IgQ1BVIHV0aWxpemF0aW9uIGFjcm9zcyBhbGwgdGFza3MgaW4gdGhlIHNlcnZpY2UuXG4gICAqIFNldCB0aGlzIHRvIDAgdG8gZGlzYWJsZSBDUFUgc2NhbGluZy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSA2MFxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVDcHVUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgdmFsdWUgZm9yIG1lbW9yeSB1dGlsaXphdGlvbiBhY3Jvc3MgYWxsIHRhc2tzIGluIHRoZSBzZXJ2aWNlLlxuICAgKiBEaXNhYmxlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVNZW1vcnlUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENhcGFjaXR5IHdlaWdodCBmb3IgdGhlIEZBUkdBVEUgY2FwYWNpdHkgcHJvdmlkZXIuIERlZmF1bHQgaXMgdG8gbm90IHVzZSBjYXBhY2l0eSBwcm92aWRlcnMuXG4gICAqL1xuICByZWFkb25seSBjYXBhY2l0eVdlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIHRhc2tzIHRvIHJ1biBvbiB0aGUgRkFSR0FURSBjYXBhY2l0eSBwcm92aWRlci4gRGVmYXVsdCBpcyB0byBub3QgdXNlIGNhcGFjaXR5IHByb3ZpZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGNhcGFjaXR5QmFzZT86IG51bWJlcjtcblxuICAvKipcbiAgICogQ2FwYWNpdHkgd2VpZ2h0IGZvciB0aGUgRkFSR0FURV9TUE9UIGNhcGFjaXR5IHByb3ZpZGVyLiBEZWZhdWx0IGlzIHRvIG5vdCB1c2UgY2FwYWNpdHkgcHJvdmlkZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3BvdENhcGFjaXR5V2VpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgdGFza3MgdG8gcnVuIG9uIHRoZSBGQVJHQVRFX1NQT1QgY2FwYWNpdHkgcHJvdmlkZXIuIERlZmF1bHQgaXMgdG8gbm90IHVzZSBjYXBhY2l0eSBwcm92aWRlcnMuXG4gICAqL1xuICByZWFkb25seSBzcG90Q2FwYWNpdHlCYXNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIHN1cHByZXNzIHRoZSBjcmVhdGlvbiBvZiBkZWZhdWx0IHRhZ3Mgb24gcmVzb3VyY2VzXG4gICAqIGNyZWF0ZWQgYnkgdGhpcyBjb25zdHJ1Y3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU3RhbmRhcmQgY2xhc3MgZm9yIGNyZWF0aW5nIGEgRmFyZ2F0ZVNlcnZpY2UuIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBTdGFuZGFyZEFwcGxpY2F0aW9uRmFyZ2F0ZVNlcnZpY2Ugb3JcbiAqIFN0YW5kYXJkTmV0d29ya0ZhcmdhdGVTZXJ2aWNlIGluc3RlYWQgb2YgdGhpcyBjbGFzcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkRmFyZ2F0ZVNlcnZpY2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQXV0b21hdGlvbkNvbXBvbmVudCB7XG5cbiAgcmVhZG9ubHkgYXV0b21hdGlvbkNvbXBvbmVudFRhZ3MgPSBJbnRlcm5hbEF1dG9tYXRpb25Db21wb25lbnRUYWdzO1xuXG4gIHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uOiBGYXJnYXRlVGFza0RlZmluaXRpb247XG4gIHJlYWRvbmx5IGxvZ0dyb3VwPzogTG9nR3JvdXA7XG4gIHJlYWRvbmx5IHNlcnZpY2U6IEZhcmdhdGVTZXJ2aWNlO1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gIHJlYWRvbmx5IHNjYWxpbmc6IFNjYWxhYmxlVGFza0NvdW50O1xuICByZWFkb25seSBzY2FsZUluQ29vbGRvd246IER1cmF0aW9uO1xuICByZWFkb25seSBzY2FsZU91dENvb2xkb3duOiBEdXJhdGlvbjtcblxuICBwcm90ZWN0ZWQgcmVzb2x2ZUxvZ0dyb3VwKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpOiBMb2dHcm91cCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LmVuYWJsZWQgPz8gdHJ1ZSkge1xuICAgICAgcmV0dXJuIG5ldyBMb2dHcm91cChzY29wZSwgXCJMb2dHcm91cFwiLCB7XG4gICAgICAgIHJldGVudGlvbjogcHJvcHMubG9nQ29uZmlndXJhdGlvbj8ucmV0ZW50aW9uID8/IFJldGVudGlvbkRheXMuRklWRV9EQVlTLFxuICAgICAgICBsb2dHcm91cE5hbWU6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LmxvZ0dyb3VwTmFtZSxcbiAgICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMubG9nQ29uZmlndXJhdGlvbj8uZW5jcnlwdGlvbktleSxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHMubG9nQ29uZmlndXJhdGlvbj8ucmVtb3ZhbFBvbGljeSA/PyBSZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVMb2dEcml2ZXIoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IFN0YW5kYXJkRmFyZ2F0ZVNlcnZpY2VQcm9wcywgbG9nR3JvdXA6IExvZ0dyb3VwIHwgdW5kZWZpbmVkKTpcbiAgICBMb2dEcml2ZXIgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIHJldHVybiBMb2dEcml2ZXIuYXdzTG9ncyh7XG4gICAgICAgIHN0cmVhbVByZWZpeDogc2NvcGUubm9kZS5pZCxcbiAgICAgICAgbG9nR3JvdXBcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVWcGNTdWJuZXRzKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpOiBTdWJuZXRTZWxlY3Rpb24ge1xuICAgIGlmIChwcm9wcy52cGNTdWJuZXRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcHJvcHMudnBjU3VibmV0c1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVkQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMocHJvcHM6IFN0YW5kYXJkRmFyZ2F0ZVNlcnZpY2VQcm9wcyk6XG4gICAgQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5W10gfCB1bmRlZmluZWQge1xuICAgIGxldCBzdHJhdGVnaWVzOiBDYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3lbXSA9IFtdO1xuICAgIGlmIChwcm9wcy5jYXBhY2l0eVdlaWdodCAhPT0gdW5kZWZpbmVkIHx8IHByb3BzLmNhcGFjaXR5QmFzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzdHJhdGVnaWVzLnB1c2goe1xuICAgICAgICBjYXBhY2l0eVByb3ZpZGVyOiBcIkZBUkdBVEVcIixcbiAgICAgICAgYmFzZTogcHJvcHMuY2FwYWNpdHlCYXNlLFxuICAgICAgICB3ZWlnaHQ6IHByb3BzLmNhcGFjaXR5V2VpZ2h0XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHByb3BzLnNwb3RDYXBhY2l0eVdlaWdodCAhPT0gdW5kZWZpbmVkIHx8IHByb3BzLnNwb3RDYXBhY2l0eUJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgY2FwYWNpdHlQcm92aWRlcjogXCJGQVJHQVRFX1NQT1RcIixcbiAgICAgICAgYmFzZTogcHJvcHMuc3BvdENhcGFjaXR5QmFzZSxcbiAgICAgICAgd2VpZ2h0OiBwcm9wcy5zcG90Q2FwYWNpdHlXZWlnaHRcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3RyYXRlZ2llcy5sZW5ndGggPiAwID8gc3RyYXRlZ2llcyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgdGFza0RlZmluaXRpb24gPSBuZXcgRmFyZ2F0ZVRhc2tEZWZpbml0aW9uKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgY3B1OiBwcm9wcy5jcHUgPz8gMjA0OCxcbiAgICAgIG1lbW9yeUxpbWl0TWlCOiBwcm9wcy5tZW1vcnlMaW1pdE1pQiA/PyA0MDk2LFxuICAgICAgZXBoZW1lcmFsU3RvcmFnZUdpQjogcHJvcHMuZXBoZW1lcmFsU3RvcmFnZUdpQixcbiAgICAgIHJ1bnRpbWVQbGF0Zm9ybToge1xuICAgICAgICBvcGVyYXRpbmdTeXN0ZW1GYW1pbHk6IE9wZXJhdGluZ1N5c3RlbUZhbWlseS5MSU5VWCxcbiAgICAgICAgY3B1QXJjaGl0ZWN0dXJlOiBwcm9wcy5jcHVBcmNoaXRlY3R1cmUgPz8gQ3B1QXJjaGl0ZWN0dXJlLkFSTTY0XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMuZW5hYmxlWHJheSA/PyB0cnVlKSB7XG4gICAgICB0YXNrRGVmaW5pdGlvbi5hZGRUb1Rhc2tSb2xlUG9saWN5KFxuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgIGFjdGlvbnM6IFsnY2xvdWR3YXRjaDpQdXRNZXRyaWNEYXRhJ10sXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvZ0dyb3VwID0gdGhpcy5yZXNvbHZlTG9nR3JvdXAodGhpcywgcHJvcHMpO1xuICAgIGNvbnN0IGxvZ2dpbmcgPSB0aGlzLnJlc29sdmVMb2dEcml2ZXIodGhpcywgcHJvcHMsIGxvZ0dyb3VwKTtcbiAgICBjb25zdCBwb3J0ID0gcHJvcHMucG9ydCA/PyA4MDgwO1xuICAgIGNvbnN0IHByb3RvY29sID0gcHJvcHMucHJvdG9jb2wgPz8gUHJvdG9jb2wuVENQO1xuXG4gICAgdGFza0RlZmluaXRpb24uYWRkQ29udGFpbmVyKFwiQ29udGFpbmVyXCIsIHtcbiAgICAgIGltYWdlOiBwcm9wcy5pbWFnZSxcbiAgICAgIHBvcnRNYXBwaW5nczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29udGFpbmVyUG9ydDogcG9ydCxcbiAgICAgICAgICBob3N0UG9ydDogcG9ydCxcbiAgICAgICAgICBwcm90b2NvbFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgbG9nZ2luZyxcbiAgICAgIGVudmlyb25tZW50OiBwcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgIGRvY2tlckxhYmVsczogcHJvcHMuZG9ja2VyTGFiZWxzLFxuICAgICAgc2VjcmV0czogcHJvcHMuc2VjcmV0c1xuICAgIH0pO1xuXG4gICAgLy8gVE9ETyBPdGVsIENvbGxlY3RvclxuXG4gICAgY29uc3QgdnBjU3VibmV0cyA9IHRoaXMucmVzb2x2ZVZwY1N1Ym5ldHModGhpcywgcHJvcHMpO1xuICAgIGNvbnN0IGRlc2lyZWRDb3VudCA9IHByb3BzLmRlc2lyZWRDb3VudCA/PyBwcm9wcy5taW5DYXBhY2l0eSA/PyAxO1xuICAgIGNvbnN0IGNhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzID0gdGhpcy5yZXNvbHZlZENhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzKHByb3BzKTtcblxuICAgIGNvbnN0IHNlcnZpY2UgPSBuZXcgRmFyZ2F0ZVNlcnZpY2UodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbixcbiAgICAgIG1heEhlYWx0aHlQZXJjZW50OiBwcm9wcy5tYXhIZWFsdGh5UGVyY2VudCA/PyAyMDAsXG4gICAgICBtaW5IZWFsdGh5UGVyY2VudDogcHJvcHMubWluSGVhbHRoeVBlcmNlbnQgPz8gMTAwLFxuICAgICAgZGVzaXJlZENvdW50LFxuICAgICAgY2lyY3VpdEJyZWFrZXI6IHtcbiAgICAgICAgcm9sbGJhY2s6IHByb3BzLmVuYWJsZVJvbGxiYWNrID8/IHRydWVcbiAgICAgIH0sXG4gICAgICBkZXBsb3ltZW50Q29udHJvbGxlcjoge1xuICAgICAgICB0eXBlOiBwcm9wcy5kZXBsb3ltZW50Q29udHJvbGxlclR5cGUgPz8gRGVwbG95bWVudENvbnRyb2xsZXJUeXBlLkVDU1xuICAgICAgfSxcbiAgICAgIHZwY1N1Ym5ldHMsXG4gICAgICBwbGF0Zm9ybVZlcnNpb246IHByb3BzLnBsYXRmb3JtVmVyc2lvbiA/PyBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLkxBVEVTVCxcbiAgICAgIGVuYWJsZUV4ZWN1dGVDb21tYW5kOiBwcm9wcy5lbmFibGVFeGVjdXRlQ29tbWFuZCA/PyB0cnVlLFxuICAgICAgYXNzaWduUHVibGljSXA6IHByb3BzLmFzc2lnblB1YmxpY0lwID8/IGZhbHNlLFxuICAgICAgZW5hYmxlRUNTTWFuYWdlZFRhZ3M6IHByb3BzLmVuYWJsZUVDU01hbmFnZWRUYWdzID8/IHRydWUsXG4gICAgICBoZWFsdGhDaGVja0dyYWNlUGVyaW9kOiBwcm9wcy5oZWFsdGhDaGVja0dyYWNlUGVyaW9kID8/IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgY2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXNcbiAgICB9KTtcblxuICAgIGNvbnN0IHNjYWxpbmcgPSBzZXJ2aWNlLmF1dG9TY2FsZVRhc2tDb3VudCh7XG4gICAgICBtaW5DYXBhY2l0eTogcHJvcHMubWluQ2FwYWNpdHkgPz8gMSxcbiAgICAgIG1heENhcGFjaXR5OiBwcm9wcy5tYXhDYXBhY2l0eSA/PyAyXG4gICAgfSk7XG4gICAgY29uc3Qgc2NhbGVJbkNvb2xkb3duID0gcHJvcHMuc2NhbGVJbkNvb2xkb3duID8/IER1cmF0aW9uLnNlY29uZHMoMTApO1xuICAgIGNvbnN0IHNjYWxlT3V0Q29vbGRvd24gPSBwcm9wcy5zY2FsZU91dENvb2xkb3duID8/IER1cmF0aW9uLnNlY29uZHMoNjApO1xuXG4gICAgaWYgKHByb3BzLnNjYWxlQ3B1VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50ICE9PSAwKSB7XG4gICAgICBzY2FsaW5nLnNjYWxlT25DcHVVdGlsaXphdGlvbihcIkNwdVNjYWxpbmdcIiwge1xuICAgICAgICBzY2FsZUluQ29vbGRvd24sXG4gICAgICAgIHNjYWxlT3V0Q29vbGRvd24sXG4gICAgICAgIHRhcmdldFV0aWxpemF0aW9uUGVyY2VudDogcHJvcHMuc2NhbGVDcHVUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQgPz8gNjAsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuc2NhbGVNZW1vcnlUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2NhbGluZy5zY2FsZU9uTWVtb3J5VXRpbGl6YXRpb24oXCJNZW1vcnlTY2FsaW5nXCIsIHtcbiAgICAgICAgc2NhbGVJbkNvb2xkb3duLFxuICAgICAgICBzY2FsZU91dENvb2xkb3duLFxuICAgICAgICB0YXJnZXRVdGlsaXphdGlvblBlcmNlbnQ6IHByb3BzLnNjYWxlTWVtb3J5VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgIHRoaXMudGFza0RlZmluaXRpb24gPSB0YXNrRGVmaW5pdGlvbjtcbiAgICB0aGlzLmxvZ0dyb3VwID0gbG9nR3JvdXA7XG4gICAgdGhpcy5zZXJ2aWNlID0gc2VydmljZTtcbiAgICB0aGlzLnNjYWxpbmcgPSBzY2FsaW5nO1xuICAgIHRoaXMuc2NhbGVJbkNvb2xkb3duID0gc2NhbGVJbkNvb2xkb3duO1xuICAgIHRoaXMuc2NhbGVPdXRDb29sZG93biA9IHNjYWxlT3V0Q29vbGRvd247XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBjb25kdWN0IHNjYWxpbmcgYmFzZWQgb24gdHJhY2tpbmcgY3VzdG9tIG1ldHJpY3MuXG4gICAqXG4gICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gZ2l2ZSB0aGUgc2NhbGluZ1xuICAgKiBAcGFyYW0gbWV0cmljIHRoZSBtZXRyaWMgdG8gdHJhY2tcbiAgICogQHBhcmFtIHRhcmdldFZhbHVlIHRoZSB0YXJnZXQgdmFsdWVcbiAgICovXG4gIHNjYWxlVG9UcmFja0N1c3RvbU1ldHJpYyhpZDogc3RyaW5nLCBtZXRyaWM6IElNZXRyaWMsICB0YXJnZXRWYWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zY2FsaW5nLnNjYWxlVG9UcmFja0N1c3RvbU1ldHJpYyhpZCwge1xuICAgICAgc2NhbGVJbkNvb2xkb3duOiB0aGlzLnNjYWxlSW5Db29sZG93bixcbiAgICAgIHNjYWxlT3V0Q29vbGRvd246IHRoaXMuc2NhbGVPdXRDb29sZG93bixcbiAgICAgIG1ldHJpYyxcbiAgICAgIHRhcmdldFZhbHVlXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIHRvIHNjYWxlIGJhc2VkIG9uIGEgbWV0cmljLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIHRvIGdpdmUgdGhlIHNjYWxpbmcgcG9saWN5XG4gICAqIEBwYXJhbSBwcm9wcyBzY2FsaW5nIHByb3BlcnRpZXNcbiAgICovXG4gIHNjYWxlT25NZXRyaWMoaWQ6IHN0cmluZywgcHJvcHM6IEJhc2ljU3RlcFNjYWxpbmdQb2xpY3lQcm9wcykge1xuICAgIHRoaXMuc2NhbGluZy5zY2FsZU9uTWV0cmljKGlkLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIHRvIHNjYWxlIGJhc2VkIG9uIGEgc2NoZWR1bGUuXG4gICAqXG4gICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gZ2l2ZSB0aGUgc2NhbGluZyBwb2xpY3lcbiAgICogQHBhcmFtIHByb3BzIHNjYWxpbmcgcHJvcGVydGllc1xuICAgKi9cbiAgc2NhbGVPblNjaGVkdWxlKGlkOiBzdHJpbmcsIHByb3BzOiBTY2FsaW5nU2NoZWR1bGUpIHtcbiAgICB0aGlzLnNjYWxpbmcuc2NhbGVPblNjaGVkdWxlKGlkLCBwcm9wcyk7XG4gIH1cbn1cbiJdfQ==
@@ -2,7 +2,6 @@ import { ARecord, IHostedZone, RecordTarget } from "aws-cdk-lib/aws-route53";
2
2
  import { Construct } from "constructs";
3
3
  import { WeightedARecord } from "./weighted-a-record";
4
4
  import { LatencyARecord } from "./latency-a-record";
5
- import { WeightedLatencyARecord } from "./weighted-latency-a-record";
6
5
  import { Certificate } from "aws-cdk-lib/aws-certificatemanager";
7
6
  import { Duration } from "aws-cdk-lib";
8
7
  /**
@@ -39,7 +38,7 @@ export interface CertificateOptions {
39
38
  /**
40
39
  * The identifier to use.
41
40
  *
42
- * @default ${this.toIdentifier()}-cert
41
+ * @default ${this.toIdentifier()}Certificate
43
42
  */
44
43
  readonly id?: string;
45
44
  /**
@@ -104,7 +103,7 @@ export declare class DomainName {
104
103
  */
105
104
  toString(): string;
106
105
  /**
107
- * Returns a friendly identifier for this domain name.
106
+ * Returns a friendly identifier for this domain name. This function replaces wildcards with _ and periods with -
108
107
  */
109
108
  toIdentifier(): string;
110
109
  /**
@@ -132,24 +131,18 @@ export declare class DomainName {
132
131
  *
133
132
  * @param scope the scope to create the record in
134
133
  * @param target the target of the record
135
- * @param weight the initial weight; defaults to 0
134
+ * @param weight the initial weight
135
+ * @param options additional options for creating the record
136
136
  */
137
- createWeightedARecord(scope: Construct, target: RecordTarget, weight?: number): WeightedARecord;
137
+ createWeightedARecord(scope: Construct, target: RecordTarget, weight: number, options?: ARecordOptions): WeightedARecord;
138
138
  /**
139
139
  * Creates a latency Route53 record for this domain name.
140
140
  *
141
141
  * @param scope the scope to create the record in
142
142
  * @param target the target of the record
143
+ * @param options additional options for creating the record
143
144
  */
144
- createLatencyARecord(scope: Construct, target: RecordTarget): LatencyARecord;
145
- /**
146
- * Creates a weighted latency Route53 record for this domain name.
147
- *
148
- * @param scope the scope to create the record in
149
- * @param target the target of the record
150
- * @param weight the initial weight; defaults to 0
151
- */
152
- createWeightedLatencyARecord(scope: Construct, target: RecordTarget, weight?: number): WeightedLatencyARecord;
145
+ createLatencyARecord(scope: Construct, target: RecordTarget, options?: ARecordOptions): LatencyARecord;
153
146
  /**
154
147
  * Creates an ACM certificate for the domain name.
155
148
  *
@@ -4,8 +4,8 @@ exports.DomainName = void 0;
4
4
  const aws_route53_1 = require("aws-cdk-lib/aws-route53");
5
5
  const weighted_a_record_1 = require("./weighted-a-record");
6
6
  const latency_a_record_1 = require("./latency-a-record");
7
- const weighted_latency_a_record_1 = require("./weighted-latency-a-record");
8
7
  const aws_certificatemanager_1 = require("aws-cdk-lib/aws-certificatemanager");
8
+ const helpers_1 = require("../../helpers");
9
9
  /**
10
10
  * Utility class for holding domain name information and
11
11
  * doing useful things with it.
@@ -67,10 +67,12 @@ class DomainName {
67
67
  return (this.prefix == "" ? "" : this.prefix + ".") + this.zone;
68
68
  }
69
69
  /**
70
- * Returns a friendly identifier for this domain name.
70
+ * Returns a friendly identifier for this domain name. This function replaces wildcards with _ and periods with -
71
71
  */
72
72
  toIdentifier() {
73
- return this.toString().replace(".", "-");
73
+ return helpers_1.StringHelper.toPascalCase(this.toString().toLowerCase()
74
+ .replace(/\*/g, "wildcard")
75
+ .replace(/\./g, "-"));
74
76
  }
75
77
  /**
76
78
  * Returns the zone associated with this domain name.
@@ -104,11 +106,13 @@ class DomainName {
104
106
  */
105
107
  createARecord(scope, target, options) {
106
108
  var _a;
107
- return new aws_route53_1.ARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}-arecord`, {
109
+ return new aws_route53_1.ARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}ARecord`, {
108
110
  zone: this.getHostedZone(scope),
109
111
  recordName: this.toString(),
112
+ target,
110
113
  ttl: options === null || options === void 0 ? void 0 : options.ttl,
111
- target
114
+ comment: options === null || options === void 0 ? void 0 : options.comment,
115
+ deleteExisting: options === null || options === void 0 ? void 0 : options.deleteExisting
112
116
  });
113
117
  }
114
118
  /**
@@ -116,14 +120,19 @@ class DomainName {
116
120
  *
117
121
  * @param scope the scope to create the record in
118
122
  * @param target the target of the record
119
- * @param weight the initial weight; defaults to 0
123
+ * @param weight the initial weight
124
+ * @param options additional options for creating the record
120
125
  */
121
- createWeightedARecord(scope, target, weight) {
122
- return new weighted_a_record_1.WeightedARecord(scope, `${this.toIdentifier()}-arecord`, {
126
+ createWeightedARecord(scope, target, weight, options) {
127
+ var _a;
128
+ return new weighted_a_record_1.WeightedARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}ARecord`, {
123
129
  zone: this.getHostedZone(scope),
124
130
  recordName: this.toString(),
125
131
  target,
126
- weight
132
+ weight,
133
+ ttl: options === null || options === void 0 ? void 0 : options.ttl,
134
+ comment: options === null || options === void 0 ? void 0 : options.comment,
135
+ deleteExisting: options === null || options === void 0 ? void 0 : options.deleteExisting
127
136
  });
128
137
  }
129
138
  /**
@@ -131,27 +140,17 @@ class DomainName {
131
140
  *
132
141
  * @param scope the scope to create the record in
133
142
  * @param target the target of the record
143
+ * @param options additional options for creating the record
134
144
  */
135
- createLatencyARecord(scope, target) {
136
- return new latency_a_record_1.LatencyARecord(scope, `${this.toIdentifier()}-arecord`, {
137
- zone: this.getHostedZone(scope),
138
- recordName: this.toString(),
139
- target
140
- });
141
- }
142
- /**
143
- * Creates a weighted latency Route53 record for this domain name.
144
- *
145
- * @param scope the scope to create the record in
146
- * @param target the target of the record
147
- * @param weight the initial weight; defaults to 0
148
- */
149
- createWeightedLatencyARecord(scope, target, weight) {
150
- return new weighted_latency_a_record_1.WeightedLatencyARecord(scope, `${this.toIdentifier()}-arecord`, {
145
+ createLatencyARecord(scope, target, options) {
146
+ var _a;
147
+ return new latency_a_record_1.LatencyARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}ARecord`, {
151
148
  zone: this.getHostedZone(scope),
152
149
  recordName: this.toString(),
153
150
  target,
154
- weight
151
+ ttl: options === null || options === void 0 ? void 0 : options.ttl,
152
+ comment: options === null || options === void 0 ? void 0 : options.comment,
153
+ deleteExisting: options === null || options === void 0 ? void 0 : options.deleteExisting
155
154
  });
156
155
  }
157
156
  /**
@@ -162,7 +161,7 @@ class DomainName {
162
161
  */
163
162
  createCertificate(scope, opts) {
164
163
  var _a;
165
- return new aws_certificatemanager_1.Certificate(scope, (_a = opts === null || opts === void 0 ? void 0 : opts.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}-cert`, {
164
+ return new aws_certificatemanager_1.Certificate(scope, (_a = opts === null || opts === void 0 ? void 0 : opts.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}Certificate`, {
166
165
  domainName: this.toString(),
167
166
  validation: aws_certificatemanager_1.CertificateValidation.fromDns(this.getHostedZone(scope)),
168
167
  subjectAlternativeNames: opts === null || opts === void 0 ? void 0 : opts.subjectAlternativeNames
@@ -267,4 +266,4 @@ class DomainName {
267
266
  }
268
267
  }
269
268
  exports.DomainName = DomainName;
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwyRUFBbUU7QUFDbkUsK0VBQXNGO0FBNEV0Rjs7O0dBR0c7QUFDSCxNQUFhLFVBQVU7SUFRckI7Ozs7T0FJRztJQUNILFlBQVksS0FBc0I7O1FBQ2hDLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCOztRQUMvQixJQUFJLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxL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RyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBZ0IsRUFBRSxlQUFrQztRQUM1RSxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFzQixFQUFFLFdBQTBCO1FBQ3RFLEtBQUssSUFBSSxVQUFVLElBQUksV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLEdBQUksRUFBRSxFQUFFO1lBQ3hDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsT0FBTyxVQUFVLENBQUM7YUFDbkI7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsV0FBeUI7UUFDOUUsT0FBTyxJQUFJLG9DQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNoQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNyQyx1QkFBdUIsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxRSxVQUFVLEVBQUUsOENBQXFCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDN0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBdFJELGdDQXNSQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QVJlY29yZCwgSG9zdGVkWm9uZSwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7V2VpZ2h0ZWRBUmVjb3JkfSBmcm9tIFwiLi93ZWlnaHRlZC1hLXJlY29yZFwiO1xuaW1wb3J0IHtMYXRlbmN5QVJlY29yZH0gZnJvbSBcIi4vbGF0ZW5jeS1hLXJlY29yZFwiO1xuaW1wb3J0IHtXZWlnaHRlZExhdGVuY3lBUmVjb3JkfSBmcm9tIFwiLi93ZWlnaHRlZC1sYXRlbmN5LWEtcmVjb3JkXCI7XG5pbXBvcnQge0NlcnRpZmljYXRlLCBDZXJ0aWZpY2F0ZVZhbGlkYXRpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBEb21haW5OYW1lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluTmFtZVByb3BzIHtcblxuICAvKipcbiAgICogRG9tYWluIG5hbWUgcHJlZml4LlxuICAgKlxuICAgKiBAZGVmYXVsdCBlbXB0eSBzdHJpbmdcbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogWm9uZSBmb3IgdGhlIGRvbWFpbiBuYW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgem9uZTogc3RyaW5nIHwgSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gbWFyayB6b25lIGFzIHByaXZhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZQQyB0aGUgem9uZSBiZWxvbmdzIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFDTSBjZXJ0aWZpY2F0ZSBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2VydGlmaWNhdGVPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgdG8gdXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAke3RoaXMudG9JZGVudGlmaWVyKCl9LWNlcnRcbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBkb21haW4gbmFtZXMgb24gdGhlIGNlcnRpZmljYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBUmVjb3JkT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIHRvIHVzZS4gT25lIGlzIGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlIHJlY29yZCBjYWNoZSB0aW1lIHRvIGxpdmUgKFRUTCkuXG4gICAqL1xuICByZWFkb25seSB0dGw/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogQSBjb21tZW50IHRvIGFkZCBvbiB0aGUgcmVjb3JkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWVudD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBkZWxldGUgdGhlIHNhbWUgcmVjb3JkIHNldCBpbiB0aGUgaG9zdGVkIHpvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG4gICAqL1xuICByZWFkb25seSBkZWxldGVFeGlzdGluZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVXRpbGl0eSBjbGFzcyBmb3IgaG9sZGluZyBkb21haW4gbmFtZSBpbmZvcm1hdGlvbiBhbmRcbiAqIGRvaW5nIHVzZWZ1bCB0aGluZ3Mgd2l0aCBpdC5cbiAqL1xuZXhwb3J0IGNsYXNzIERvbWFpbk5hbWUge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHpvbmU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGhvc3RlZFpvbmU/OiBJSG9zdGVkWm9uZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByaXZhdGVab25lOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgRG9tYWluTmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBkb21haW4gbmFtZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IERvbWFpbk5hbWVQcm9wcykge1xuICAgIHRoaXMucHJlZml4ID0gcHJvcHMucHJlZml4ID8/IFwiXCI7XG4gICAgaWYgKHR5cGVvZiBwcm9wcy56b25lID09PSBcInN0cmluZ1wiKSB7XG4gICAgICB0aGlzLnpvbmUgPSBwcm9wcy56b25lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvc3RlZFpvbmUgPSBwcm9wcy56b25lO1xuICAgICAgdGhpcy56b25lID0gdGhpcy5ob3N0ZWRab25lLnpvbmVOYW1lO1xuICAgIH1cbiAgICB0aGlzLnByaXZhdGVab25lID0gcHJvcHMucHJpdmF0ZVpvbmUgPz8gZmFsc2U7XG4gICAgdGhpcy52cGNJZCA9IHByb3BzLnZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHByZWZpeCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIGdldFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByZWZpeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHpvbmUgaXMgcHJpdmF0ZS4gRmFsc2UgaWYgb3RoZXJ3aXNlLlxuICAgKi9cbiAgaW5Qcml2YXRlWm9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcml2YXRlWm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2cGMgSUQgZm9yIHRoaXMgem9uZSBvciB1bmRlZmluZWQgaWYgb25lIGRvZXMgbm90IGV4aXN0XG4gICAqL1xuICBnZXRWcGNJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcHJvcHMgbWF0Y2ggdGhlIGRvbWFpbiBuYW1lLiBGYWxzZSBpZiBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcHMgdG8gY29tcGFyZVxuICAgKi9cbiAgcHJvcHNNYXRjaChwcm9wczogRG9tYWluTmFtZVByb3BzKTogYm9vbGVhbiB7XG4gICAgbGV0IHByb3Bab25lU3RyID0gdHlwZW9mIHByb3BzLnpvbmUgPT09IFwic3RyaW5nXCIgPyBwcm9wcy56b25lIDogcHJvcHMuem9uZS56b25lTmFtZTtcbiAgICByZXR1cm4gdGhpcy5wcmVmaXggPT09IChwcm9wcy5wcmVmaXggPz8gXCJcIilcbiAgICAgICYmIHRoaXMuem9uZSA9PT0gcHJvcFpvbmVTdHJcbiAgICAgICYmIHRoaXMucHJpdmF0ZVpvbmUgPT09IChwcm9wcy5wcml2YXRlWm9uZSA/PyBmYWxzZSlcbiAgICAgICYmIHRoaXMudnBjSWQgPT09IHByb3BzLnZwY0lkXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc3RyaW5nIHZlcnNpb24gb2YgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnByZWZpeCA9PSBcIlwiID8gXCJcIiA6IHRoaXMucHJlZml4ICsgXCIuXCIpICsgdGhpcy56b25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBmcmllbmRseSBpZGVudGlmaWVyIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgdG9JZGVudGlmaWVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoKS5yZXBsYWNlKFwiLlwiLCBcIi1cIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgem9uZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIGdldFpvbmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy56b25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJvdXRlNTMgaG9zdGVkIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHNhZmUgdG8gY2FsbCByZXBlYXRlZGx5LCB0aGUgbG9va3VwIHdpbGwgb25seSBiZSBkb25lIG9uY2UuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gdXNlIGlmIGEgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBpZCBhbiBvcHRpb25hbCBJRCBpZiBhIGxvb2t1cCBpcyByZXF1aXJlZDsgb25lIGlzIGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWRcbiAgICovXG4gIGdldEhvc3RlZFpvbmUoc2NvcGU6IENvbnN0cnVjdCwgaWQ/OiBzdHJpbmcpIDogSUhvc3RlZFpvbmUge1xuICAgIGlmICh0aGlzLmhvc3RlZFpvbmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gSG9zdGVkWm9uZS5mcm9tTG9va3VwKHNjb3BlLCBpZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS16b25lYCwge1xuICAgICAgICBkb21haW5OYW1lOiB0aGlzLnpvbmUsXG4gICAgICAgIHByaXZhdGVab25lOiB0aGlzLnByaXZhdGVab25lLFxuICAgICAgICB2cGNJZDogdGhpcy52cGNJZFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmhvc3RlZFpvbmU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFJvdXRlNTMgQVJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gb3B0aW9ucyBhZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoZSByZWNvcmRcbiAgICovXG4gIGNyZWF0ZUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgdGFyZ2V0OiBSZWNvcmRUYXJnZXQsIG9wdGlvbnM/OiBBUmVjb3JkT3B0aW9ucyk6IEFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgQVJlY29yZChzY29wZSwgb3B0aW9ucz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0dGw6IG9wdGlvbnM/LnR0bCxcbiAgICAgIHRhcmdldFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB3ZWlnaHRlZCBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gd2VpZ2h0IHRoZSBpbml0aWFsIHdlaWdodDsgZGVmYXVsdHMgdG8gMFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCB3ZWlnaHQ/OiBudW1iZXIpOiBXZWlnaHRlZEFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgV2VpZ2h0ZWRBUmVjb3JkKHNjb3BlLCBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1hcmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldCxcbiAgICAgIHdlaWdodFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBsYXRlbmN5IFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqL1xuICBjcmVhdGVMYXRlbmN5QVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCk6IExhdGVuY3lBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IExhdGVuY3lBUmVjb3JkKHNjb3BlLCBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1hcmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB3ZWlnaHRlZCBsYXRlbmN5IFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0OyBkZWZhdWx0cyB0byAwXG4gICAqL1xuICBjcmVhdGVXZWlnaHRlZExhdGVuY3lBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCB3ZWlnaHQ/OiBudW1iZXIpOiBXZWlnaHRlZExhdGVuY3lBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IFdlaWdodGVkTGF0ZW5jeUFSZWNvcmQoc2NvcGUsIGAke3RoaXMudG9JZGVudGlmaWVyKCl9LWFyZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgd2VpZ2h0XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBQ00gY2VydGlmaWNhdGUgZm9yIHRoZSBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gb3B0cyBhZGRpdGlvbmFsIG9wdGlvbnNcbiAgICovXG4gIGNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIG9wdHM/OiBDZXJ0aWZpY2F0ZU9wdGlvbnMpOiBDZXJ0aWZpY2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShzY29wZSwgb3B0cz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tY2VydGAsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSkpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IG9wdHM/LnN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZVByb3BzIHRvIERvbWFpbk5hbWUuIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZW1wdHkgYXJyYXlcbiAgICogaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVQcm9wcyB0aGUgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIGZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHM/OiBEb21haW5OYW1lUHJvcHNbXSkgOiBEb21haW5OYW1lW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogZG9tYWluTmFtZVByb3BzLm1hcChwID0+IG5ldyBEb21haW5OYW1lKHApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERvbWFpbk5hbWUgZnJvbSBhIGZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZSBhbmQgYSB6b25lLlxuICAgKlxuICAgKiBAcGFyYW0gZnFkbiB0aGUgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lXG4gICAqIEBwYXJhbSB6b25lIHRoZSB6b25lXG4gICAqL1xuICBzdGF0aWMgZnJvbUZxZG4oZnFkbjogc3RyaW5nLCB6b25lOiBJSG9zdGVkWm9uZSB8IHN0cmluZywgcHJpdmF0ZVpvbmU/OiBib29sZWFuLCB2cGNJZD86IHN0cmluZyk6IERvbWFpbk5hbWUge1xuICAgIGNvbnN0IHByZWZpeCA9IGZxZG4ucmVwbGFjZSh0eXBlb2Ygem9uZSA9PT0gXCJzdHJpbmdcIiA/IHpvbmUgOiB6b25lLnpvbmVOYW1lLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoL1xcLiQvLCBcIlwiKTtcbiAgICByZXR1cm4gbmV3IERvbWFpbk5hbWUoe1xuICAgICAgcHJlZml4LCB6b25lLCBwcml2YXRlWm9uZSwgdnBjSWRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy4gVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBhblxuICAgKiBlbXB0eSBhcnJheSBpZiBkb21haW5OYW1lcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgRG9tYWluTmFtZSBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3MoZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lcyA9PT0gdW5kZWZpbmVkID8gW10gOiBkb21haW5OYW1lcy5tYXAoZCA9PiBkLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyB0byBhbiBhcnJheSBvZiBzdHJpbmdzLiBUaGlzIGZ1bmN0aW9uIHdpbGxcbiAgICogcmV0dXJuIGFuIGVtcHR5IGFycmF5IGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3NGcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzPzogRG9tYWluTmFtZVByb3BzW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogRG9tYWluTmFtZS50b1N0cmluZ3MoRG9tYWluTmFtZS5mcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlIHZhbHVlXG4gICAqIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZXMgaXMgdW5kZWZpbmVkLiBUaGlzIGZ1bmN0aW9uXG4gICAqIGlzIHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgbGlrZSBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB1c2VkIGlmIGEgem9uZSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBEb21haW5OYW1lIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvWm9uZU1hcChzY29wZTogQ29uc3RydWN0LCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICBjb25zdCBtYXA6IHtba2V5OiBzdHJpbmddOiBJSG9zdGVkWm9uZX0gPSB7fVxuICAgIGlmIChkb21haW5OYW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb21haW5OYW1lcy5mb3JFYWNoKGQgPT4ge1xuICAgICAgICBtYXBbZC50b1N0cmluZygpXSA9IGQuZ2V0SG9zdGVkWm9uZShzY29wZSlcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlXG4gICAqIHZhbHVlIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC4gVGhpc1xuICAgKiBmdW5jdGlvbiBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZnVuY3Rpb25zIGxpa2UgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdXNlZCBpZiBhIHpvbmUgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1pvbmVNYXBGcm9tUHJvcHMoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZVByb3BzOiBEb21haW5OYW1lUHJvcHNbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICByZXR1cm4gRG9tYWluTmFtZS50b1pvbmVNYXAoc2NvcGUsIERvbWFpbk5hbWUuZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBkb21haW4gbmFtZSBtYXRjaGluZyB0aGUgZ2l2ZW4gcHJvcGVydGllcyBpbiBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyB0byBjb21wYXJlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHNlYXJjaFxuICAgKiBAcmV0dXJuIHRoZSBtYXRjaGluZyBkb21haW4gbmFtZSBvciB1bmRlZmluZWRcbiAgICovXG4gIHN0YXRpYyBmaW5kRG9tYWluTmFtZShwcm9wczogRG9tYWluTmFtZVByb3BzLCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSk6IERvbWFpbk5hbWUgfCB1bmRlZmluZWQge1xuICAgIGZvciAobGV0IGRvbWFpbk5hbWUgb2YgZG9tYWluTmFtZXMgPz8gW10pIHtcbiAgICAgIGlmIChkb21haW5OYW1lLnByb3BzTWF0Y2gocHJvcHMpKSB7XG4gICAgICAgIHJldHVybiBkb21haW5OYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNlcnRpZmljYXRlIGZyb20gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHVzZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkZW50aWZpZXIgdG8gdXNlIGluIHRoZSBzY29wZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHVzZSBpbiB0aGUgY2VydGlmaWNhdGVcbiAgICovXG4gIHN0YXRpYyBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkb21haW5OYW1lczogRG9tYWluTmFtZVtdKTogQ2VydGlmaWNhdGUge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIGlkLCB7XG4gICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lc1swXS50b1N0cmluZygpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IGRvbWFpbk5hbWVzLnNsaWNlKDEpLm1hcChuYW1lID0+IG5hbWUudG9TdHJpbmcoKSksXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZShEb21haW5OYW1lLnRvWm9uZU1hcChzY29wZSwgZG9tYWluTmFtZXMpKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwrRUFBc0Y7QUFFdEYsMkNBQTJDO0FBMkUzQzs7O0dBR0c7QUFDSCxNQUFhLFVBQVU7SUFRckI7Ozs7T0FJRztJQUNILFlBQVksS0FBc0I7O1FBQ2hDLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCOztRQUMvQixJQUFJLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwRixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssT0FBQyxLQUFLLENBQUMsTUFBTSxtQ0FBSSxFQUFFLENBQUM7ZUFDdEMsSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXO2VBQ3pCLElBQUksQ0FBQyxXQUFXLEtBQUssT0FBQyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7ZUFDakQsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFBO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixPQUFPLHNCQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUU7YUFDM0QsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUM7YUFDMUIsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGFBQWEsQ0FBQyxLQUFnQixFQUFFLEVBQVc7UUFDekMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLHdCQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLGFBQUYsRUFBRSxjQUFGLEVBQUUsR0FBSSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFO2dCQUNsRixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ2xCLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxhQUFhLENBQUMsS0FBZ0IsRUFBRSxNQUFvQixFQUFFLE9BQXdCOztRQUM1RSxPQUFPLElBQUkscUJBQU8sQ0FBQyxLQUFLLFFBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEVBQUUsbUNBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRTtZQUN4RSxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDL0IsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDM0IsTUFBTTtZQUNOLEdBQUcsRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsR0FBRztZQUNqQixPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87WUFDekIsY0FBYyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxjQUFjO1NBQ3hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gscUJBQXFCLENBQUMsS0FBZ0IsRUFBRSxNQUFvQixFQUFFLE1BQWMsRUFBRSxPQUF3Qjs7UUFDcEcsT0FBTyxJQUFJLG1DQUFlLENBQUMsS0FBSyxRQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxFQUFFLG1DQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUU7WUFDaEYsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzNCLE1BQU07WUFDTixNQUFNO1lBQ04sR0FBRyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxHQUFHO1lBQ2pCLE9BQU8sRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTztZQUN6QixjQUFjLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLGNBQWM7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILG9CQUFvQixDQUFDLEtBQWdCLEVBQUUsTUFBb0IsRUFBRSxPQUF3Qjs7UUFDbkYsT0FBTyxJQUFJLGlDQUFjLENBQUMsS0FBSyxRQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxFQUFFLG1DQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUU7WUFDL0UsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzNCLE1BQU07WUFDTixHQUFHLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEdBQUc7WUFDakIsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPO1lBQ3pCLGNBQWMsRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsY0FBYztTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FBQyxLQUFnQixFQUFFLElBQXlCOztRQUMzRCxPQUFPLElBQUksb0NBQVcsQ0FBQyxLQUFLLFFBQUUsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLEVBQUUsbUNBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRTtZQUM3RSxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMzQixVQUFVLEVBQUUsOENBQXFCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEUsdUJBQXVCLEVBQUUsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLHVCQUF1QjtTQUN2RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQW1DO1FBQ2xELE9BQU8sZUFBZSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVksRUFBRSxJQUEwQixFQUFFLFdBQXFCLEVBQUUsS0FBYztRQUM3RixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQzthQUM3RSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxVQUFVLENBQUM7WUFDcEIsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSztTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQTBCO1FBQ3pDLE9BQU8sV0FBVyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGVBQW1DO1FBQzNELE9BQU8sZUFBZSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBZ0IsRUFBRSxXQUEwQjtRQUMzRCxNQUFNLEdBQUcsR0FBaUMsRUFBRSxDQUFBO1FBQzVDLElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRTtZQUM3QixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM1QyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFnQixFQUFFLGVBQWtDO1FBQzVFLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXNCLEVBQUUsV0FBMEI7UUFDdEUsS0FBSyxJQUFJLFVBQVUsSUFBSSxXQUFXLGFBQVgsV0FBVyxjQUFYLFdBQVcsR0FBSSxFQUFFLEVBQUU7WUFDeEMsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxPQUFPLFVBQVUsQ0FBQzthQUNuQjtTQUNGO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxXQUF5QjtRQUM5RSxPQUFPLElBQUksb0NBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ3JDLHVCQUF1QixFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFFLFVBQVUsRUFBRSw4Q0FBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztTQUM3RixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFsUkQsZ0NBa1JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUmVjb3JkLCBIb3N0ZWRab25lLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtXZWlnaHRlZEFSZWNvcmR9IGZyb20gXCIuL3dlaWdodGVkLWEtcmVjb3JkXCI7XG5pbXBvcnQge0xhdGVuY3lBUmVjb3JkfSBmcm9tIFwiLi9sYXRlbmN5LWEtcmVjb3JkXCI7XG5pbXBvcnQge0NlcnRpZmljYXRlLCBDZXJ0aWZpY2F0ZVZhbGlkYXRpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7U3RyaW5nSGVscGVyfSBmcm9tIFwiLi4vLi4vaGVscGVyc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIERvbWFpbk5hbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb21haW5OYW1lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBwcmVmaXguXG4gICAqXG4gICAqIEBkZWZhdWx0IGVtcHR5IHN0cmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBab25lIGZvciB0aGUgZG9tYWluIG5hbmUuXG4gICAqL1xuICByZWFkb25seSB6b25lOiBzdHJpbmcgfCBJSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogRmxhZyB0byBtYXJrIHpvbmUgYXMgcHJpdmF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVab25lPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVlBDIHRoZSB6b25lIGJlbG9uZ3MgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQUNNIGNlcnRpZmljYXRlIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZXJ0aWZpY2F0ZU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciB0byB1c2UuXG4gICAqXG4gICAqIEBkZWZhdWx0ICR7dGhpcy50b0lkZW50aWZpZXIoKX1DZXJ0aWZpY2F0ZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIGRvbWFpbiBuYW1lcyBvbiB0aGUgY2VydGlmaWNhdGUuXG4gICAqL1xuICByZWFkb25seSBzdWJqZWN0QWx0ZXJuYXRpdmVOYW1lcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFSZWNvcmRPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgdG8gdXNlLiBPbmUgaXMgZ2VuZXJhdGVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgcmVjb3JkIGNhY2hlIHRpbWUgdG8gbGl2ZSAoVFRMKS5cbiAgICovXG4gIHJlYWRvbmx5IHR0bD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBIGNvbW1lbnQgdG8gYWRkIG9uIHRoZSByZWNvcmQuXG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRlbGV0ZSB0aGUgc2FtZSByZWNvcmQgc2V0IGluIHRoZSBob3N0ZWQgem9uZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUV4aXN0aW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzIGZvciBob2xkaW5nIGRvbWFpbiBuYW1lIGluZm9ybWF0aW9uIGFuZFxuICogZG9pbmcgdXNlZnVsIHRoaW5ncyB3aXRoIGl0LlxuICovXG5leHBvcnQgY2xhc3MgRG9tYWluTmFtZSB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgem9uZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgaG9zdGVkWm9uZT86IElIb3N0ZWRab25lO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJpdmF0ZVpvbmU6IGJvb2xlYW47XG4gIHByb3RlY3RlZCByZWFkb25seSB2cGNJZD86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBEb21haW5OYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGRvbWFpbiBuYW1lXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRG9tYWluTmFtZVByb3BzKSB7XG4gICAgdGhpcy5wcmVmaXggPSBwcm9wcy5wcmVmaXggPz8gXCJcIjtcbiAgICBpZiAodHlwZW9mIHByb3BzLnpvbmUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRoaXMuem9uZSA9IHByb3BzLnpvbmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZSA9IHByb3BzLnpvbmU7XG4gICAgICB0aGlzLnpvbmUgPSB0aGlzLmhvc3RlZFpvbmUuem9uZU5hbWU7XG4gICAgfVxuICAgIHRoaXMucHJpdmF0ZVpvbmUgPSBwcm9wcy5wcml2YXRlWm9uZSA/PyBmYWxzZTtcbiAgICB0aGlzLnZwY0lkID0gcHJvcHMudnBjSWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcHJlZml4IGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgZ2V0UHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJlZml4O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgem9uZSBpcyBwcml2YXRlLiBGYWxzZSBpZiBvdGhlcndpc2UuXG4gICAqL1xuICBpblByaXZhdGVab25lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByaXZhdGVab25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZwYyBJRCBmb3IgdGhpcyB6b25lIG9yIHVuZGVmaW5lZCBpZiBvbmUgZG9lcyBub3QgZXhpc3RcbiAgICovXG4gIGdldFZwY0lkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudnBjSWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wcyBtYXRjaCB0aGUgZG9tYWluIG5hbWUuIEZhbHNlIGlmIG90aGVyd2lzZS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wcyB0byBjb21wYXJlXG4gICAqL1xuICBwcm9wc01hdGNoKHByb3BzOiBEb21haW5OYW1lUHJvcHMpOiBib29sZWFuIHtcbiAgICBsZXQgcHJvcFpvbmVTdHIgPSB0eXBlb2YgcHJvcHMuem9uZSA9PT0gXCJzdHJpbmdcIiA/IHByb3BzLnpvbmUgOiBwcm9wcy56b25lLnpvbmVOYW1lO1xuICAgIHJldHVybiB0aGlzLnByZWZpeCA9PT0gKHByb3BzLnByZWZpeCA/PyBcIlwiKVxuICAgICAgJiYgdGhpcy56b25lID09PSBwcm9wWm9uZVN0clxuICAgICAgJiYgdGhpcy5wcml2YXRlWm9uZSA9PT0gKHByb3BzLnByaXZhdGVab25lID8/IGZhbHNlKVxuICAgICAgJiYgdGhpcy52cGNJZCA9PT0gcHJvcHMudnBjSWRcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzdHJpbmcgdmVyc2lvbiBvZiB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMucHJlZml4ID09IFwiXCIgPyBcIlwiIDogdGhpcy5wcmVmaXggKyBcIi5cIikgKyB0aGlzLnpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZyaWVuZGx5IGlkZW50aWZpZXIgZm9yIHRoaXMgZG9tYWluIG5hbWUuIFRoaXMgZnVuY3Rpb24gcmVwbGFjZXMgd2lsZGNhcmRzIHdpdGggXyBhbmQgcGVyaW9kcyB3aXRoIC1cbiAgICovXG4gIHRvSWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmdIZWxwZXIudG9QYXNjYWxDYXNlKHRoaXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG4gICAgICAucmVwbGFjZSgvXFwqL2csIFwid2lsZGNhcmRcIilcbiAgICAgIC5yZXBsYWNlKC9cXC4vZywgXCItXCIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB6b25lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgZ2V0Wm9uZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm91dGU1MyBob3N0ZWQgem9uZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBkb21haW4gbmFtZS5cbiAgICogVGhpcyBtZXRob2QgaXMgc2FmZSB0byBjYWxsIHJlcGVhdGVkbHksIHRoZSBsb29rdXAgd2lsbCBvbmx5IGJlIGRvbmUgb25jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byB1c2UgaWYgYSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGlkIGFuIG9wdGlvbmFsIElEIGlmIGEgbG9va3VwIGlzIHJlcXVpcmVkOyBvbmUgaXMgZ2VuZXJhdGVkIGlmIG5vdCBwcm92aWRlZFxuICAgKi9cbiAgZ2V0SG9zdGVkWm9uZShzY29wZTogQ29uc3RydWN0LCBpZD86IHN0cmluZykgOiBJSG9zdGVkWm9uZSB7XG4gICAgaWYgKHRoaXMuaG9zdGVkWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmhvc3RlZFpvbmUgPSBIb3N0ZWRab25lLmZyb21Mb29rdXAoc2NvcGUsIGlkID8/IGAke3RoaXMudG9JZGVudGlmaWVyKCl9LXpvbmVgLCB7XG4gICAgICAgIGRvbWFpbk5hbWU6IHRoaXMuem9uZSxcbiAgICAgICAgcHJpdmF0ZVpvbmU6IHRoaXMucHJpdmF0ZVpvbmUsXG4gICAgICAgIHZwY0lkOiB0aGlzLnZwY0lkXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaG9zdGVkWm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUm91dGU1MyBBUmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBBUmVjb3JkKHNjb3BlLCBvcHRpb25zPy5pZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfUFSZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdHRsOiBvcHRpb25zPy50dGwsXG4gICAgICBjb21tZW50OiBvcHRpb25zPy5jb21tZW50LFxuICAgICAgZGVsZXRlRXhpc3Rpbmc6IG9wdGlvbnM/LmRlbGV0ZUV4aXN0aW5nXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHdlaWdodGVkIFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0XG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCB3ZWlnaHQ6IG51bWJlciwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogV2VpZ2h0ZWRBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IFdlaWdodGVkQVJlY29yZChzY29wZSwgb3B0aW9ucz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX1BUmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldCxcbiAgICAgIHdlaWdodCxcbiAgICAgIHR0bDogb3B0aW9ucz8udHRsLFxuICAgICAgY29tbWVudDogb3B0aW9ucz8uY29tbWVudCxcbiAgICAgIGRlbGV0ZUV4aXN0aW5nOiBvcHRpb25zPy5kZWxldGVFeGlzdGluZ1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBsYXRlbmN5IFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlTGF0ZW5jeUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgdGFyZ2V0OiBSZWNvcmRUYXJnZXQsIG9wdGlvbnM/OiBBUmVjb3JkT3B0aW9ucyk6IExhdGVuY3lBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IExhdGVuY3lBUmVjb3JkKHNjb3BlLCBvcHRpb25zPy5pZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfUFSZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdHRsOiBvcHRpb25zPy50dGwsXG4gICAgICBjb21tZW50OiBvcHRpb25zPy5jb21tZW50LFxuICAgICAgZGVsZXRlRXhpc3Rpbmc6IG9wdGlvbnM/LmRlbGV0ZUV4aXN0aW5nXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBQ00gY2VydGlmaWNhdGUgZm9yIHRoZSBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gb3B0cyBhZGRpdGlvbmFsIG9wdGlvbnNcbiAgICovXG4gIGNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIG9wdHM/OiBDZXJ0aWZpY2F0ZU9wdGlvbnMpOiBDZXJ0aWZpY2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShzY29wZSwgb3B0cz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX1DZXJ0aWZpY2F0ZWAsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSkpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IG9wdHM/LnN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZVByb3BzIHRvIERvbWFpbk5hbWUuIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZW1wdHkgYXJyYXlcbiAgICogaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVQcm9wcyB0aGUgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIGZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHM/OiBEb21haW5OYW1lUHJvcHNbXSkgOiBEb21haW5OYW1lW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogZG9tYWluTmFtZVByb3BzLm1hcChwID0+IG5ldyBEb21haW5OYW1lKHApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERvbWFpbk5hbWUgZnJvbSBhIGZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZSBhbmQgYSB6b25lLlxuICAgKlxuICAgKiBAcGFyYW0gZnFkbiB0aGUgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lXG4gICAqIEBwYXJhbSB6b25lIHRoZSB6b25lXG4gICAqL1xuICBzdGF0aWMgZnJvbUZxZG4oZnFkbjogc3RyaW5nLCB6b25lOiBJSG9zdGVkWm9uZSB8IHN0cmluZywgcHJpdmF0ZVpvbmU/OiBib29sZWFuLCB2cGNJZD86IHN0cmluZyk6IERvbWFpbk5hbWUge1xuICAgIGNvbnN0IHByZWZpeCA9IGZxZG4ucmVwbGFjZSh0eXBlb2Ygem9uZSA9PT0gXCJzdHJpbmdcIiA/IHpvbmUgOiB6b25lLnpvbmVOYW1lLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoL1xcLiQvLCBcIlwiKTtcbiAgICByZXR1cm4gbmV3IERvbWFpbk5hbWUoe1xuICAgICAgcHJlZml4LCB6b25lLCBwcml2YXRlWm9uZSwgdnBjSWRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy4gVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBhblxuICAgKiBlbXB0eSBhcnJheSBpZiBkb21haW5OYW1lcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgRG9tYWluTmFtZSBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3MoZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lcyA9PT0gdW5kZWZpbmVkID8gW10gOiBkb21haW5OYW1lcy5tYXAoZCA9PiBkLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyB0byBhbiBhcnJheSBvZiBzdHJpbmdzLiBUaGlzIGZ1bmN0aW9uIHdpbGxcbiAgICogcmV0dXJuIGFuIGVtcHR5IGFycmF5IGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3NGcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzPzogRG9tYWluTmFtZVByb3BzW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogRG9tYWluTmFtZS50b1N0cmluZ3MoRG9tYWluTmFtZS5mcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlIHZhbHVlXG4gICAqIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZXMgaXMgdW5kZWZpbmVkLiBUaGlzIGZ1bmN0aW9uXG4gICAqIGlzIHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgbGlrZSBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB1c2VkIGlmIGEgem9uZSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBEb21haW5OYW1lIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvWm9uZU1hcChzY29wZTogQ29uc3RydWN0LCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICBjb25zdCBtYXA6IHtba2V5OiBzdHJpbmddOiBJSG9zdGVkWm9uZX0gPSB7fVxuICAgIGlmIChkb21haW5OYW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb21haW5OYW1lcy5mb3JFYWNoKGQgPT4ge1xuICAgICAgICBtYXBbZC50b1N0cmluZygpXSA9IGQuZ2V0SG9zdGVkWm9uZShzY29wZSlcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlXG4gICAqIHZhbHVlIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC4gVGhpc1xuICAgKiBmdW5jdGlvbiBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZnVuY3Rpb25zIGxpa2UgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdXNlZCBpZiBhIHpvbmUgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1pvbmVNYXBGcm9tUHJvcHMoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZVByb3BzOiBEb21haW5OYW1lUHJvcHNbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICByZXR1cm4gRG9tYWluTmFtZS50b1pvbmVNYXAoc2NvcGUsIERvbWFpbk5hbWUuZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBkb21haW4gbmFtZSBtYXRjaGluZyB0aGUgZ2l2ZW4gcHJvcGVydGllcyBpbiBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyB0byBjb21wYXJlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHNlYXJjaFxuICAgKiBAcmV0dXJuIHRoZSBtYXRjaGluZyBkb21haW4gbmFtZSBvciB1bmRlZmluZWRcbiAgICovXG4gIHN0YXRpYyBmaW5kRG9tYWluTmFtZShwcm9wczogRG9tYWluTmFtZVByb3BzLCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSk6IERvbWFpbk5hbWUgfCB1bmRlZmluZWQge1xuICAgIGZvciAobGV0IGRvbWFpbk5hbWUgb2YgZG9tYWluTmFtZXMgPz8gW10pIHtcbiAgICAgIGlmIChkb21haW5OYW1lLnByb3BzTWF0Y2gocHJvcHMpKSB7XG4gICAgICAgIHJldHVybiBkb21haW5OYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNlcnRpZmljYXRlIGZyb20gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHVzZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkZW50aWZpZXIgdG8gdXNlIGluIHRoZSBzY29wZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHVzZSBpbiB0aGUgY2VydGlmaWNhdGVcbiAgICovXG4gIHN0YXRpYyBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkb21haW5OYW1lczogRG9tYWluTmFtZVtdKTogQ2VydGlmaWNhdGUge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIGlkLCB7XG4gICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lc1swXS50b1N0cmluZygpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IGRvbWFpbk5hbWVzLnNsaWNlKDEpLm1hcChuYW1lID0+IG5hbWUudG9TdHJpbmcoKSksXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZShEb21haW5OYW1lLnRvWm9uZU1hcChzY29wZSwgZG9tYWluTmFtZXMpKVxuICAgIH0pO1xuICB9XG59XG4iXX0=